SYSTEMS AND METHODS FOR MANAGEMENT OF NON-FUNGABLE TOKENS AND CORRESPONDING DIGITAL ASSETS - Patent application
Patent Information
- Application Number
- JP2023572218
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-03
- Filing Date
- 2022-06-04
- Publication Date
- 2025-05-15
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001]
[0001] This application relates to managing digital assets. For example, aspects of this application relate to various techniques for creating, modifying, tracking, authenticating, transferring, and / or managing non-fungible tokens and / or digital assets, which may be associated with a device. [Background technology]
[0002]
[0002] Individuals often find fulfillment in owning, using, or trading unique or rare physical items related to respected celebrities, activities, or places. For example, individuals often seek to get clothing or music albums autographed by well-known musicians at concerts to commemorate their attendance at those concerts, making the signed clothing or music albums one-of-a-kind items. Similarly, individuals often seek to purchase equipment, props, animation stills, and other items used to create movies or television shows.
[0003]
[0003] Digital assets can include, for example, images, videos, audio clips, three-dimensional models, etc. Generally, digital assets are fungible, meaning that any one copy of a given digital asset can be exchanged for any other copy of the same digital asset.
[0004]
[0004] An extended reality (XR) device is a device that displays an environment to a user, for example, via a head-mounted display (HMD), glasses, a mobile handset, or other device. The environment is at least partially different from the real-world environment in which the user is located. The user can generally interactively change his or her view of the environment, for example, by tilting or moving the HMD or other device (e.g., by moving the user's head, etc.). Virtual reality (VR), augmented reality (AR), and mixed reality (MR) are examples of XR. Summary of the Invention
[0005] In some examples, systems and techniques are described for creating, modifying, tracking, authenticating, and / or transferring non-fungible digital assets associated with a device's position. A media device may include a sensor, such as an image sensor and / or a positioning sensor. The media device may use its sensor to capture sensor data. In some examples, a system receives media content based on sensor data captured by at least one sensor of the media device. The system determines a location of the media device (e.g., based on the sensor data). The system determines (e.g., based on the sensor data) that the location of the media device is within a geographic area. In response to determining that the location of the media device is within the geographic area, the system generates a token corresponding to the media content. A payload of at least one block of a distributed ledger identifies the token.
[0006]
[0006] In some examples, a system receives sensor data captured by at least one sensor of a media device. The system identifies an interaction between the media device and an anchor element associated with a token based on the sensor data. The system identifies the token in a payload of at least one block of a distributed ledger. The token corresponds to media content according to the distributed ledger. The system generates a representation of the media content corresponding to the token. In response to identifying the interaction between the media device and the anchor element, the system outputs the representation of the media content.
[0007]
[0007] In some examples, the system identifies a token corresponding to media content in a payload of at least one block of the distributed ledger. A parameter of the token in the distributed ledger indicates that the token is associated with a first user. The system identifies a device associated with the token and the media content. The device is also associated with the first user. The system identifies that the device has been relocated to an area associated with a second user. In response to identifying that the device has been relocated to the area, the system causes a parameter of the token in the distributed ledger to be modified from indicating that the token is associated with the first user to indicating that the token is associated with the second user.
[0008]
[0008] In some examples, systems and techniques for token generation are described. Systems, apparatus, methods, and computer-readable media for token generation are disclosed. According to at least one example, an apparatus for token generation is provided, including at least one memory and at least one processor coupled to the at least one memory. The at least one processor is configured to receive media content based on sensor data captured by at least one sensor of a media device, determine a location of the media device, determine that the location of the media device is within a geographic area, and generate a token corresponding to the media content in response to determining that the location of the media device is within the geographic area, where a payload of at least one block of a distributed ledger identifies the token.
[0009] In another example, a method for token generation is provided that includes receiving media content based on sensor data captured by at least one sensor of a media device, determining a location of the media device, determining that the location of the media device is within a geographic area, and in response to determining that the location of the media device is within the geographic area, generating a token corresponding to the media content, where a payload of at least one block of a distributed ledger identifies the token.
[0010]
[0010] In another example, a non-transitory computer-readable medium is provided having stored thereon instructions that, when executed by one or more processors, cause one or more processors to receive media content based on sensor data captured by at least one sensor of a media device, determine a location of the media device, determine that the location of the media device is within a geographic area, and in response to determining that the location of the media device is within the geographic area, generate a token corresponding to the media content, wherein a payload of at least one block of a distributed ledger identifies the token.
[0011] In another example, an apparatus for token generation is provided that includes means for receiving media content based on sensor data captured by at least one sensor of a media device, means for determining a location of the media device, means for determining that the location of the media device is within a geographic area, and means for generating a token corresponding to the media content in response to determining that the location of the media device is within the geographic area, where a payload of at least one block of a distributed ledger identifies the token.
[0012] In another example, an apparatus for contextual token-related media output is provided that includes at least one memory and at least one processor coupled to the at least one memory, wherein the at least one processor is configured to receive sensor data captured by at least one sensor of a media device, identify a relationship between the media device and an anchor element associated with the token based on the sensor data, identify the token in a payload of at least one block of a distributed ledger, generate a representation of media content corresponding to the token, where the token corresponds to the media content according to the distributed ledger, and output the representation of the media content in response to identifying the relationship between the media device and the anchor element.
[0013] In another example, a method for contextual token-related media output is provided, the method including receiving sensor data captured by at least one sensor of a media device, identifying a relationship between the media device and an anchor element associated with the token based on the sensor data, identifying the token in a payload of at least one block of a distributed ledger, generating a representation of media content corresponding to the token, where the token corresponds to the media content according to the distributed ledger, and outputting the representation of the media content in response to identifying the relationship between the media device and the anchor element.
[0014]
[0014] In another example, a non-transitory computer-readable medium is provided having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to: receive sensor data captured by at least one sensor of a media device; identify a relationship between the media device and an anchor element associated with a token based on the sensor data; identify the token within a payload of at least one block of a distributed ledger; generate a representation of media content corresponding to the token, where the token corresponds to the media content according to the distributed ledger; and output the representation of the media content in response to identifying the relationship between the media device and the anchor element.
[0015] In another example, an apparatus for contextual token-related media output is provided, the apparatus including at least one memory and at least one processor coupled to the at least one memory, the at least one processor configured to: receive sensor data captured by at least one sensor of a media device, identify a relationship between the media device and an anchor element associated with a token based on the sensor data, identify a token within a payload of at least one block of a distributed ledger, generate a representation of media content corresponding to the token, where the token corresponds to the media content according to the distributed ledger, and output the representation of the media content in response to identifying the relationship between the media device and the anchor element.
[0016]
[0016] In another example, an apparatus for token device transfer management is provided, including at least one memory and at least one processor coupled to the at least one memory. The at least one processor is configured to: identify a token corresponding to media content in a payload of at least one block of a distributed ledger; identify a device associated with the token and the media content, where parameters of the token in the distributed ledger indicate that the token is associated with a first user; identify that the device has been relocated to an area associated with a second user, where the device is associated with the first user; and, in response to identifying that the device has been relocated to an area associated with the second user, cause parameters of the token in the distributed ledger to be modified from indicating that the token is associated with the first user to indicating that the token is associated with the second user.
[0017]
[0017] In another example, a method for token device transfer management is provided. The method includes identifying a token corresponding to media content in a payload of at least one block of a distributed ledger, where a parameter of the token in the distributed ledger indicates that the token is associated with a first user, identifying a device associated with the token and the media content, where the device is associated with the first user, identifying that the device has been relocated to an area associated with a second user, and in response to identifying that the device has been relocated to the area, causing a parameter of the token in the distributed ledger to be modified from indicating that the token is associated with the first user to indicating that the token is associated with the second user.
[0018]
[0018] In another example, a non-transitory computer-readable medium is provided having stored thereon instructions that, when executed by one or more processors, cause one or more processors to: identify a token corresponding to media content within a payload of at least one block of the distributed ledger; identify a device associated with the token and the media content, where parameters of the token in the distributed ledger indicate that the token is associated with a first user; identify that the device has been relocated to an area associated with a second user, where the device is associated with the first user; and in response to identifying that the device has been relocated to the area, cause parameters of the token in the distributed ledger to be modified from indicating that the token is associated with the first user to indicating that the token is associated with the second user.
[0019]
[0019] In another example, an apparatus for token device transfer management is provided, the apparatus including: means for identifying a token corresponding to media content within a payload of at least one block of a distributed ledger; means for identifying a device associated with the token and the media content, where a parameter of the token in the distributed ledger indicates that the token is associated with a first user; means for identifying that the device has been relocated to an area associated with a second user, where the device is associated with the first user; and means for, in response to identifying that the device has been relocated to the area, modifying a parameter of the token in the distributed ledger from indicating that the token is associated with the first user to indicating that the token is associated with the second user.
[0020] In some aspects, the media content includes at least a portion of the sensor data. In some aspects, the media content includes a modified variant of the at least a portion of the sensor data.
[0021]
[0021] In some aspects, the sensor data includes at least one image captured by at least one image sensor of the at least one sensor of the media device, and the media content is based on at least one of the at least one image. In some aspects, one or more of the methods, apparatus, and computer readable media described above further comprise detecting at least a portion of an environment in the at least one image, and determining a portion of the media device based at least in part on the detection of the at least a portion of the environment in the at least one image. In some aspects, one or more of the methods, apparatus, and computer readable media described above further comprise detecting at least a portion of an environment in the at least one image, and determining that the at least a portion of the environment is located within a geographic area. In some aspects, one or more of the methods, apparatus, and computer readable media described above further comprise detecting at least a portion of an individual in the at least one image, determining an identity of the individual, and setting a parameter of the token to indicate that the token is associated with the identity.
[0022] In some aspects, the sensor data includes positioning data based on receipt of at least one wireless signal by the at least one sensor, and determining a location of the media device includes determining a location of the media device based at least in part on the positioning data. In some aspects, the at least one wireless signal includes a short-range wireless signal from a local device that is within a transmission range of the media device during at least receipt of the at least one wireless signal by the at least one sensor. In some aspects, the at least one wireless signal includes a GNSS signal from a global navigation satellite system (GNSS) satellite.
[0023] In some aspects, the media content includes a map of a geographic area.
[0024]
[0024] In some aspects, determining that the location of the media device is within the geographic area includes determining that the location of the media device is within the geographic area based on at least one communication between the media device and a local device associated with the geographic area.
[0025] In some aspects, the method is performed using an apparatus that includes a local device. In some aspects, the method is performed using an apparatus that includes a media device. In some aspects, the method is performed using an apparatus that is located within a geographic area.
[0026]
[0026] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise, in response to determining that the location of the media device is within the geographic area, generating at least one block and causing the at least one block to be appended to the distributed ledger. In some aspects, the at least one block includes a hash of at least a portion of a prior block of the distributed ledger. In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise, in response to determining that the location of the media device is within the geographic area, generating the distributed ledger. In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise, in response to determining that the location of the media device is within the geographic area, sending a request to a computing device to generate at least one block, receiving the at least one block, and appending the at least one block to the distributed ledger.
[0027]
[0027] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise setting a parameter of the token to indicate that the token is associated with a user, and the media device is associated with the user.
[0028]
[0028] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise determining that the geographic area includes at least a threshold amount of people, and in response to determining that the geographic area includes at least the threshold amount of people, generating a token corresponding to the media content is performed.
[0029] In some aspects, the sensor data includes image data captured by at least one image sensor of the at least one sensor of the media device, the anchor element includes an object, and identifying a relationship between the media device and the anchor element includes identifying that the image data depicts the object. In some aspects, the object includes an optical glyph, and the information indicative of the token is optically encoded based on the optical glyph. In some aspects, reference image data depicting the object is stored in a data store, and identifying that the image data depicts the object includes comparing the image data to the reference image data.
[0030] In some aspects, the sensor data includes location data indicative of a location of the media device, the anchor element includes an area, and identifying a relationship between the media device and the anchor element includes identifying that a location of the media device is within the area. In some aspects, the sensor data includes location data indicative of a location of the media device, the anchor element includes a location, and identifying a relationship between the media device and the anchor element includes identifying that a location of the media device is within a threshold range of the location.
[0031]
[0031] In some aspects, the sensor data includes audio data captured by at least one microphone of at least one sensor of the media device, and the anchor element includes audio, and identifying a relationship between the media device and the anchor element includes identifying that the audio data includes audio.
[0032]
[0032] In some aspects, outputting the representation of the media content includes causing a display to display at least a portion of the media content.
[0033]
[0033] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise identifying a media device pose of the media device based on the sensor data and determining a media content pose of the media content based on the media device pose of the media device, wherein outputting a representation of the media content includes outputting a representation of the media content posed in accordance with the media content pose.
[0034]
[0034] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise identifying, based on the distributed ledger, that parameters of the token indicate that the token is associated with the first user, determining a visual effect for the media content based on the parameters of the token indicating that the token is associated with the first user, and applying the visual effect to the media content, wherein outputting a representation of the media content includes outputting a representation of the media content with the visual effect applied.
[0035]
[0035] In some aspects, one or more of the methods, apparatus, and computer readable media described above further comprise determining, based on the data store, that the first user and the second user are associated according to a relationship type, where the media device is associated with the second user, and the visual effect for the media content corresponds to the relationship type. In some aspects, one or more of the methods, apparatus, and computer readable media described above further comprise determining, based on the data store, that the media device is associated with the first user, and the visual effect for the media content corresponds to the first user. In some aspects, one or more of the methods, apparatus, and computer readable media described above further comprise determining, based on the data store, that the first user is a celebrity, and the visual effect for the media content corresponds to the first user being a celebrity. In some aspects, one or more of the methods, apparatus, and computer readable media described above further comprise determining, based on the data store, a rating associated with the media content, and the visual effect for the media content corresponds to the rating.
[0036]
[0036] In some aspects, one or more of the methods, devices, and computer readable media described above further comprise determining that the token is identified in a data store, and wherein the visual effects for the media content correspond to the data store. In some aspects, one or more of the methods, devices, and computer readable media described above further comprise retrieving information about the token from the distributed ledger and outputting the information about the token. In some aspects, one or more of the methods, devices, and computer readable media described above further comprise outputting the information about the token includes causing a display to display at least a portion of the information.
[0037]
[0037] In some aspects, one or more of the methods, devices, and computer readable media described above further comprise identifying, based on the distributed ledger, that a parameter of the token indicates that the token is associated with a first user, where the information identifies the first user. In some aspects, the information identifies the distributed ledger. In some aspects, one or more of the methods, devices, and computer readable media described above further comprise identifying, based on the distributed ledger, that a parameter of the token indicates that the token is associated with a smart contract, where the information identifies the smart contract. In some aspects, one or more of the methods, devices, and computer readable media described above further comprise identifying, based on the distributed ledger, that the information identifies an instance amount of the token. In some aspects, one or more of the methods, devices, and computer readable media described above further comprise identifying a transfer platform configured for token transfer and outputting an interface element corresponding to the media content, where the interface element is configured to initiate a transfer of the token using the transfer platform upon interacting with the interface element.
[0038] In some aspects, the device is configured to present media content.
[0039]
[0039] In some aspects, an identifier for the device is stored in the distributed ledger and identifying the device is based on the identifier.
[0040] In some aspects, the device includes an interactive element representing the token, and identifying the token is based on an interaction with the interactive element. In some aspects, the interaction includes an optical glyph, and the identifier of the token is optically encoded based on the optical glyph.
[0041]
[0041] In some aspects, receiving image data, detecting that a device is represented in the image data, and identifying a token based on identifying that the device is represented in the image data.
[0042] In some aspects, identifying that the device has been relocated to an area associated with a second user includes identifying that the device has been relocated from a first area associated with a first user. In some aspects, identifying that the device has been relocated to an area associated with a second user includes identifying that one or more additional devices located in the area are associated with the second user. In some aspects, identifying that the device has been relocated to an area associated with a second user includes identifying that a wireless local area network (WLAN) in the area is associated with the second user. In some aspects, identifying that the device has been relocated to an area associated with a second user includes determining that location data from at least one location sensor of the device indicates that the device is located within the area, the area being a geographic area. In some aspects, identifying that the device has been relocated to an area associated with a second user includes determining that location data from at least one location sensor of the device indicates that the device is located within a range of a location of the second user, the area associated with the second user being within a range of a location of the second user.
[0043]
[0043] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise causing a parameter of the token in the distributed ledger to be modified includes causing a new block to be added to the distributed ledger, wherein the parameter of the token in the distributed ledger is modified based on the payload of the new block.
[0044]
[0044] In some aspects, causing a new block to be added to the distributed ledger includes generating the new block.
[0045] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise sending a request to a first user device associated with the first user for authorization to modify parameters of the token in the distributed ledger from indicating the token is associated with the first user to indicating the token is associated with the second user, and receiving authorization from the first user device. In some aspects, one or more of the methods, apparatus, and computer-readable media described above further comprise sending a request to a second user device associated with the second user for authorization to modify parameters of the token in the distributed ledger from indicating the token is associated with the first user to indicating the token is associated with the second user, and receiving authorization from the second user device.
[0046]
[0046] In some aspects, one or more of the methods, apparatus, and computer-readable media described above further include identifying, in the distributed ledger, a smart contract associated with the token, wherein the smart contract indicates that a parameter of the token should be modified in response to a condition, and causing the parameter of the token in the distributed ledger to be modified includes executing the smart contract in response to identifying the condition, and identifying the condition is based on identifying that the device has been relocated to an area associated with a second user.
[0047] In some aspects, the device includes a head mounted display. In some aspects, the device includes a mobile handset. In some aspects, the device includes a wireless communication device. In some aspects, the device includes a wearable device. In some aspects, the device includes a server. In some aspects, the device is within a geographic area.
[0048] In some aspects, the device is part of and / or includes a wearable device, an extended reality device (e.g., a virtual reality (VR) device, an augmented reality (AR) device, or a mixed reality (MR) device), a mobile device (e.g., a mobile phone or so-called "smartphone" or other mobile device), a camera, a personal computer, a laptop computer, a server computer, a vehicle or a computing device or component of a vehicle, or other device. In some aspects, the device includes one or more cameras for capturing one or more images. In some aspects, the device further includes a display for displaying one or more images, notifications, and / or other displayable data. In some aspects, the devices described above may include one or more sensors (e.g., one or more inertial measurement units (IMUs), such as one or more gyrometers, one or more accelerometers, any combination thereof, and / or other sensors).
[0049]
[0049] This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter, which subject matter should be understood by reference to the entire specification of this patent, any or all drawings, and appropriate portions of each claim.
[0050]
[0050] The above, together with other features and embodiments, will become more apparent with reference to the following specification, claims, and accompanying drawings.
[0051]
[0051] Exemplary embodiments of the present application are described in detail below with reference to the following drawings: [Brief description of the drawings]
[0052] [Figure 1]
[0052] Block diagram illustrating an exemplary architecture of an image capture and processing system, according to some examples. [Diagram 2]
[0053] 1 is a block diagram illustrating an example architecture of a digital asset tracking system that may be used to track digital assets associated with locations, according to some examples. [Figure 3A]
[0054] A perspective view showing a head mounted display (HMD) used as a media device that is part of a digital asset tracking system, according to some examples. [Figure 3B]
[0055] FIG. 3B is a perspective view illustrating the head mounted display (HMD) of FIG. 3A being worn by a user, according to some examples. [Figure 4A]
[0056] 1 is a perspective view showing the front side of a mobile handset that includes a front camera and can be used as a media device that is part of a digital asset tracking system, according to some examples. [Figure 4B]
[0057] 1 is a perspective view showing the back of a mobile handset that includes a rear camera and can be used as a media device that is part of a digital asset tracking system, according to some examples. [Diagram 5]
[0058] FIG. 1 is a block diagram illustrating three successive blocks of a blockchain ledger that may be used to track digital assets associated with locations within a geographic area, according to some examples. [Figure 6]
[0059] FIG. 1 is a block diagram illustrating an example token that can represent a digital asset that may be non-fungible and associated with a location within a geographic area tracked in a distributed ledger, according to some examples. [Figure 7]
[0060] FIG. 1 is a block diagram illustrating a directed acyclic graph (DAG) ledger configured to track digital assets associated with locations within a geographic area, according to some examples. [Figure 8A]
[0061] 1 is a perspective view showing a user using a media device to capture a digital asset (image) of a portrait in a museum, according to some examples. [Figure 8B]
[0062] A conceptual diagram illustrating information regarding a token associated with the digital asset of FIG. 8A, according to some examples. [Figure 9A]
[0063] 1 is a perspective view showing a user using a media device to capture digital assets (images) of several people, including an individual identified as Bob, according to some examples. [Figure 9B]
[0064] A conceptual diagram illustrating information regarding a token associated with the digital asset of FIG. 9A, according to some examples. [Figure 10A]
[0065] A perspective view showing a user using a media device to generate digital assets (images) that include virtual objects composited into real scenes, according to some examples. [Figure 10B]
[0066] A conceptual diagram illustrating information regarding a token associated with the digital asset of FIG. 10A, according to some examples. [Figure 11A]
[0067] 1 is a perspective view showing a user using a media device to generate a digital asset (map) of a hiking route, according to some examples. [Figure 11B]
[0068] A conceptual diagram illustrating information regarding a token associated with the digital asset of FIG. 11A, according to some examples. [Figure 12A]
[0069] 1 is a perspective view showing a user using an ownership device to purchase a digital asset (image) of a portrait in a museum, according to some examples. [Figure 12B]
[0070] A conceptual diagram illustrating information regarding a token associated with the digital asset of FIG. 12A, according to some examples. [Figure 13]
[0071] 1 is a conceptual diagram illustrating an anchor element associated with a token and detection of the anchor element by a media device that triggers display of a digital asset corresponding to the token on the media device, according to some examples. [Figure 14]
[0072] FIG. 1 is a conceptual diagram illustrating a token device associated with a token in a distributed ledger and the transfer of the token device from a first user to a second user, according to some examples. [Figure 15A]
[0073] FIG. 1 is a conceptual diagram illustrating the creation of a smart contract and entering the smart contract into a distributed ledger, according to some examples. [Figure 15B]
[0074] FIG. 1 is a conceptual diagram illustrating execution of a smart contract according to one aspect of the present disclosure, according to some examples. [Figure 16A]
[0075] 1 is a flow diagram illustrating operations for contextual token generation, according to some examples. [Figure 16B]
[0076] 1 is a flow diagram illustrating operations for tracking digital assets associated with locations, according to some examples. [Figure 17]
[0077] 1 is a flow diagram illustrating a process for situational token-associated media output, according to some examples. [Figure 18]
[0078] 1 is a flow diagram illustrating a process for token device transfer management, according to some examples. [Figure 19]
[0079] FIG. 1 illustrates an example of a computing system for implementing some aspects described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0053]
[0080] Some aspects and embodiments of the present disclosure are provided below. As will be apparent to those skilled in the art, some of these aspects and embodiments may be applied independently, and some of them may be applied in combination. In the following description, for the purpose of explanation, specific details are set forth in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent that various embodiments can be practiced without these specific details. The figures and descriptions are not limiting.
[0054]
[0081] The following description merely provides exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the present disclosure. Instead, the following description of exemplary embodiments provides those skilled in the art with an enabling description for implementing the exemplary embodiments. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the present application, as set forth in the appended claims.
[0055]
[0082] Individuals often find fulfillment in owning, using, or trading unique or rare physical items related to respected celebrities, activities, or places. For example, individuals often seek to obtain clothing or music albums signed by well-known musicians at concerts to commemorate their attendance at those concerts, making the signed clothing or music albums one-of-a-kind items. Similarly, individuals often seek to purchase equipment, props, animation stills, and other items used to create movies or television shows.
[0056]
[0083] A camera is a device that receives light using an image sensor and captures an image frame, such as a still image or a video frame. The terms "image," "image frame," and "frame" are used interchangeably herein. A camera may be configured with various image capture and image processing settings. Different settings result in images with different looks. Some camera settings, such as ISO, exposure time, aperture size, f / stop, shutter speed, focus, and gain, are determined and applied before or during the capture of one or more image frames. For example, settings or parameters may be applied to an image sensor for capturing one or more image frames. Other camera settings may configure post-processing of one or more image frames, such as changes to contrast, brightness, saturation, sharpness, levels, curves, or colors. For example, settings or parameters may be applied to a processor (e.g., an image signal processor or ISP) for processing one or more image frames captured by the image sensor.
[0057]
[0084] Digital assets can include, for example, images or videos captured by a camera, audio clips captured by a microphone, three-dimensional point clouds and / or three-dimensional models from a range sensor, etc. Generally, digital assets are fungible, meaning that any one copy of a given digital asset can be exchanged for any other copy of the same digital asset.
[0058]
[0085] In some examples, systems and techniques are described herein for creating, modifying, tracking, authenticating, and / or transferring non-fungible digital assets associated with the location of a device. A media device may include sensors such as image sensors, positioning sensors (e.g., accelerometers, gyroscopes, inertial measurement units (IMUs), global navigation satellite system (GNSS) receivers), range sensors (e.g., light detection and ranging (LIDAR) sensors, radio detection and ranging (RADAR) sensors, sound detection and ranging (SODAR) sensors, sonic detection and ranging (SONAR) sensors, time-of-flight (ToF) sensors, structured light sensors), microphones, other sensors described herein, or combinations thereof. The media device may use the sensors to capture sensor data. The media device may generate and / or obtain media data based on the sensor data. The media data may include the sensor data. In some examples, the media data may include processed and / or modified versions of the sensor data. For example, the media data may include virtual content (e.g., virtual objects) generated for an XR output. The media data may include a map generated based on positioning data from a positioning sensor. The media data may include a high dynamic range (HDR) image generated by merging multiple images.
[0059]
[0086] Positioning data indicative of a pose of the media device during the capture of the sensor data may be obtained from the media device, e.g., from a positioning sensor of the media device, and / or based on one or more short-range wireless communications between the media device and the local device. Positioning data indicative of a pose of the media device during the capture of the sensor data may be obtained from a local device that communicates with the media device using one or more short-range wireless communications. The media device may send the media data to the network device. Based on the positioning data, the network device may verify that the media device was within a predetermined geographic area during the capture of the sensor data. The geographic area may be, for example, a museum, a sports venue, a concert venue, etc. In some cases, the geographic area may be defined by a range of the short-range wireless communications of the local device, and the verification of the location of the media device may be based on verifying that communications transmitted between the media device and the local device were accurately received by the media device and / or the local device. In response to verifying that the media device was within the predetermined geographic area during the capture of the sensor data, the network device may generate a token for the media data. A network device can enter a token into a distributed ledger, such as a blockchain ledger, by generating a block with the token in its payload and appending the block to the distributed ledger, or by requesting that a block generating device generate a block with the token in its payload and append the block to the distributed ledger. The token may be associated with a smart contract stored in the distributed ledger that controls the transfer of the token associated with the media data. A network device may in some cases be part of a media device.
[0060]
[0087] In some examples, the media device may be an extended reality (XR) device. An XR device is a device that displays an environment to a user and may include, for example, a head mounted display (HMD), glasses (e.g., augmented reality (AR) glasses), a mobile handset, or other devices. The environment may be at least partially different from the real-world environment in which the user and device are located and may include, for example, virtual content. In some examples, the environment that the XR device displays to the user may be at least partially virtual. In some cases, the user may interactively change his or her view of the environment that the XR device displays, for example, by tilting the XR device and / or moving the XR device laterally. Tilting the XR device may include tilting or rotating along a pitch axis, a yaw axis, a roll axis, or a combination thereof. Lateral movement of the XR device may include lateral movement along a path depicted in a three-dimensional volume having three orthogonal axes, such as an X-axis, a Y-axis, and a Z-axis. An XR device that tracks only the rotation of the XR device may be referred to as an XR device having three degrees of freedom (3DoF). An XR device that tracks both tilt and lateral movement of the XR device may be referred to as an XR device with six degrees of freedom (6DoF).Extended reality (XR) may include virtual reality (VR), augmented reality (AR), mixed reality (MR), or a combination thereof.
[0061]
[0088] Generating a token corresponding to media data and entering the token into a distributed ledger can provide technical advantages over the normal transfer of images or other digital assets. The token transforms the media data from a fungible to a non-fungible state, allowing individual copies or instances of the media data to be tracked, owned, transferred, rented, licensed, etc. securely, efficiently, and automatically. Having the generation of the token based on verification that the location of the media device during the capture of the sensor data was within a geographic area can provide further security and verification of the authenticity of the representation of an object, environment, or individual in the media data.
[0062]
[0089] Various aspects of the present application are described with respect to the figures. FIG. 1 is a block diagram illustrating the architecture of an image capture and processing system 100. The image capture and processing system 100 includes various components used to capture and process an image of a scene (e.g., an image of a scene 110). The image capture and processing system 100 can capture a standalone image (or photograph) and / or can capture a video that includes multiple images (or video frames) in a particular sequence. A lens 115 of the system 100 faces the scene 110 and receives light from the scene 110. The lens 115 bends the light toward an image sensor 130. The light received by the lens 115 passes through an aperture controlled by one or more control mechanisms 120 and is received by the image sensor 130.
[0063]
[0090] The one or more controls 120 can control exposure, focus, and / or zoom based on information from the image sensor 130 and / or based on information from the image processor 150. The one or more controls 120 may include multiple mechanisms and components, for example, the control 120 may include one or more exposure controls 125A, one or more focus controls 125B, and / or one or more zoom controls 125C. The one or more controls 120 may also include additional controls beyond those shown, such as controls that control analog gain, flash, HDR, depth of field, and / or other image capture characteristics.
[0064]
[0091] The focus control mechanism 125B of the control mechanism 120 can obtain the focus setting. In some examples, the focus control mechanism 125B stores the focus setting in a memory register. Based on the focus setting, the focus control mechanism 125B can adjust the position of the lens 115 relative to the position of the image sensor 130. For example, based on the focus setting, the focus control mechanism 125B can move the lens 115 closer to or farther from the image sensor 130 by actuating a motor or servo, thereby adjusting the focus. In some cases, additional lenses, such as one or more microlenses on each photodiode of the image sensor 130, may be included in the system 100, which each bend the light received from the lens 115 toward a corresponding photodiode before the light reaches the photodiode. The focus setting may be determined via contrast detection autofocus (CDAF), phase detection autofocus (PDAF), or some combination thereof. The focus setting may be determined using the control mechanism 120, the image sensor 130, and / or the image processor 150. The focus settings may be referred to as image capture settings and / or image processing settings.
[0065]
[0092] The exposure control 125A of the control mechanism 120 can obtain the exposure setting. In some cases, the exposure control 125A stores the exposure setting in a memory register. Based on the exposure setting, the exposure control 125A can control the size of the aperture (e.g., aperture size or f / stop), the duration the aperture is open (e.g., exposure time or shutter speed), the sensitivity of the image sensor 130 (e.g., ISO speed or film speed), the analog gain applied by the image sensor 130, or any combination thereof. The exposure setting may be referred to as an image capture setting and / or an image processing setting.
[0066]
[0093] The zoom control 125C of the control mechanism 120 can obtain the zoom setting. In some examples, the zoom control 125C stores the zoom setting in a memory register. Based on the zoom setting, the zoom control 125C can control the focal length of an assembly of lens elements (lens assembly) including the lens 115 and one or more additional lenses. For example, the zoom control 125C can control the focal length of the lens assembly by actuating one or more motors or servos to move one or more of the lenses relative to each other. The zoom setting may be referred to as an image capture setting and / or an image processing setting. In some examples, the lens assembly may include a parfocal zoom lens or a variable focus zoom lens. In some examples, the lens assembly may include a focusing lens (which may be the lens 115 in some cases) that first receives light from the scene 110, and then the light passes through an afocal zoom system between the focusing lens (e.g., the lens 115) and the image sensor 130 before the light reaches the image sensor 130. An afocal zoom system may optionally include two positive (e.g., converging, convex) lenses of equal or similar focal lengths (e.g., within a threshold difference), with a negative (e.g., diverging, concave) lens between them. In some cases, the zoom control 125C moves one or more of the lenses in the afocal zoom system, such as one or both of the negative and positive lenses.
[0067]
[0094] The image sensor 130 includes one or more arrays of photodiodes or other light-sensitive elements. Each photodiode measures an amount of light that ultimately corresponds to a particular pixel in the image generated by the image sensor 130. In some cases, different photodiodes may be covered by different color filters, thus measuring light that matches the color of the filter covering the photodiode. For example, a Bayer color filter includes a red filter, a blue filter, and a green filter, and each pixel of the image is generated based on red light data from at least one photodiode covered with a red filter, blue light data from at least one photodiode covered with a blue filter, and green light data from at least one photodiode covered with a green filter. Other types of color filters may use yellow, magenta, and / or cyan (also called "emerald") color filters instead of or in addition to the red, blue, and / or green color filters. Some image sensors may lack color filters entirely and instead use different photodiodes throughout the (possibly vertically stacked) pixel array. Different photodiodes across a pixel array have different spectral sensitivity curves and can therefore respond to different wavelengths of light. Monochrome image sensors also lack color filters and therefore may lack color depth.
[0068]
[0095] In some cases, the image sensor 130 may alternatively or additionally include an opaque mask and / or a reflective mask that blocks light from reaching certain photodiodes, or portions of certain photodiodes, at certain times and / or from certain angles, which may be used for phase detection autofocus (PDAF). The image sensor 130 may also include an analog gain amplifier for amplifying an analog signal output by the photodiode, and / or an analog-to-digital converter (ADC) for converting the analog signal output of the photodiode (amplified by the analog gain amplifier) to a digital signal. In some cases, some components or functions described with respect to one or more of the control mechanisms 120 may instead or in addition be included in the image sensor 130. The image sensor 130 may be a charge-coupled device (CCD) sensor, an electron multiplying CCD (EMCCD) sensor, an active pixel sensor (APS), a complementary metal-oxide semiconductor (CMOS), an N-type metal-oxide semiconductor (NMOS), a hybrid CCD / CMOS sensor (e.g., sCMOS), or some other combination thereof.
[0069]
[0096] Image processor 150 may include one or more processors, such as one or more image signal processors (ISPs) (including ISP 154), one or more host processors (including host processor 152), and / or one or more of any other types of processors 1910 described with respect to computing system 1900. Host processor 152 may be a digital signal processor (DSP) and / or other types of processors. In some implementations, image processor 150 is a single integrated circuit or chip (e.g., referred to as a system-on-chip or SoC) that includes host processor 152 and ISP 154. In some cases, the chip may also include one or more input / output ports (e.g., input / output (I / O) ports 156), a central processing unit (CPU), a graphics processing unit (GPU), a broadband modem (e.g., 3G, 4G, or LTE, 5G, etc.), memory, connectivity components (e.g., Bluetooth, Global Positioning System (GPS), etc.), any combination thereof, and / or other components. The I / O ports 156 may include any suitable input / output ports or interfaces according to one or more protocols or specifications, such as an Inter Integrated Circuit 2 (I2C) interface, an Inter Integrated Circuit 3 (I3C) interface, a serial peripheral interface (SPI) interface, a serial general purpose input / output (GPIO) interface, a Mobile Industry Processor Interface (MIPI) (such as a MIPI CSI-2 physical (PHY) layer port or interface), an Advanced High Performance Bus (AHB) bus, any combination thereof, and / or other input / output ports. In one example, the host processor 152 may communicate with the image sensor 130 using an I2C port and the ISP 154 may communicate with the image sensor 130 using a MIPI port.
[0070]
[0097] Image processor 150 may perform several tasks such as demosaicing, color space conversion, image frame downsampling, pixel interpolation, automatic exposure (AE) control, automatic gain control (AGC), CDAF, PDAF, automatic white balance, merging image frames to form HDR images, image recognition, object recognition, feature recognition, receiving input, managing output, managing memory, or some combination thereof. Image processor 150 may store image frames and / or processed images in random access memory (RAM) 140 and / or 1925, read only memory (ROM) 145 and / or 1920, a cache, a memory unit, another storage device, or some combination thereof.
[0071]
[0098] Various input / output (I / O) devices 160 may be connected to image processor 150. I / O device 160 may include a display screen, a keyboard, a keypad, a touch screen, a track pad, a touch-sensitive surface, a printer, any other output device 1935, any other input device 1945, or some combination thereof. In some cases, captions may be entered into image processing device 105B via a physical keyboard or keypad of I / O device 160 or via a virtual keyboard or keypad of a touch screen of I / O device 160. I / O 160 may include one or more ports, jacks, or other connectors that enable a wired connection between system 100 and one or more peripheral devices, through which system 100 may receive data from and / or transmit data to one or more peripheral devices. I / O 160 may include one or more wireless transceivers that enable a wireless connection between system 100 and one or more peripheral devices, through which system 100 can receive data from and / or transmit data to one or more peripheral devices. The peripheral devices may include any of the types of I / O devices 160 previously described, and may themselves be considered I / O devices 160 when they are coupled to ports, jacks, wireless transceivers, or other wired and / or wireless connectors.
[0072]
[0099] In some cases, image capture and processing system 100 may be a single device. In some cases, image capture and processing system 100 may be two or more separate devices including image capture device 105A (e.g., a camera) and image processing device 105B (e.g., a computing device coupled to a camera). In some implementations, image capture device 105A and image processing device 105B may be coupled to each other, for example, via one or more wires, cables, or other electrical connectors and / or wirelessly via one or more wireless transceivers. In some implementations, image capture device 105A and image processing device 105B may be separate from each other.
[0073]
[0100] 1, a vertical dashed line divides the image capture and processing system 100 of FIG. 1 into two portions representing image capture device 105A and image processing device 105B, respectively. Image capture device 105A includes lens 115, control mechanism 120, and image sensor 130. Image processing device 105B includes image processor 150 (including ISP 154 and host processor 152), RAM 140, ROM 145, and I / O 160. In some cases, some of the components shown in image capture device 105A, such as ISP 154 and / or host processor 152, may be included in image capture device 105A.
[0074]
[0101] The image capture and processing system 100 may include electronic devices such as a mobile or fixed telephone handset (e.g., a smartphone, a mobile phone, etc.), a desktop computer, a laptop or notebook computer, a tablet computer, a set-top box, a television, a camera, a display device, a digital media player, a video gaming console, a video streaming device, an Internet Protocol (IP) camera, or any other suitable electronic device. In some examples, the image capture and processing system 100 may include one or more wireless transceivers for wireless communication, such as cellular network communication, 802.11 wi-fi communication, wireless local area network (WLAN) communication, or some combination thereof. In some implementations, the image capture device 105A and the image processing device 105B may be different devices. For example, the image capture device 105A may include a camera device, and the image processing device 105B may include a computing device, such as a mobile handset, a desktop computer, or other computing device.
[0075]
[0102] Although image capture and processing system 100 is shown to include several components, one skilled in the art will appreciate that image capture and processing system 100 can include many more components than those shown in FIG. 1. The components of image capture and processing system 100 can include software, hardware, or one or more combinations of software and hardware. For example, in some implementations, the components of image capture and processing system 100 can include one or more programmable electronic circuits (e.g., microprocessors, GPUs, DSPs, CPUs, and / or other suitable electronic circuits) and / or can include and / or be implemented using computer software, firmware, or any combination thereof, to perform various operations described herein. The software and / or firmware can include one or more instructions stored in a computer-readable storage medium and executable by one or more processors of an electronic device implementing image capture and processing system 100.
[0076]
[0103] 2 is a block diagram illustrating an example architecture of a digital asset tracking system 200 that may be used to track digital assets associated with a location, according to some examples. The digital asset tracking system 200 includes a media device 205. The media device 205 may be a computing system 1900. The media device 205 may be an image capture device 105A, an image processing device 105B, and / or an image capture and processing system 100. In some aspects, the media device 205 may be an extended reality (XR) device. In some examples, the media device 205 may be a mobile handset 410, a smartphone, a media player device, a camera, a head mounted display (HMD) 310, a fitness tracker device, a smart watch, a wearable device, or a combination thereof.
[0077]
[0104] The media device 205 includes one or more sensors 210. The sensors 210 may include, for example, one or more pose sensors 215 and one or more media sensors 220. The one or more pose sensors 215 may include, for example, one or more accelerometers, gyroscopes, inertial measurement units (IMUs), global navigation satellite system (GNSS) receivers, or combinations thereof. The one or more media sensors 220 may include, for example, one or more image sensors, range sensors, microphones, other sensors described herein, or combinations thereof. The range sensors may include light detection and ranging (LIDAR) sensors, radio detection and ranging (RADAR) sensors, acoustic detection and ranging (SODAR) sensors, sonic detection and ranging (SONAR) sensors, time-of-flight (ToF) sensors, structured light sensors, or combinations thereof. The media device 205 can use the sensors 210 to capture pose data 225 that identifies a pose of the media device 205. In some cases, the pose data 225 may be referred to as position data or positioning data. The pose data 225 of a media device may include the location of the media device 205 (e.g., latitude, longitude, and altitude, or another form of coordinates in 3D space), the orientation of the media device (e.g., pitch, yaw, and / or roll), or a combination thereof. In some examples, the media device 205 may capture the pose data 225 using data captured by the pose sensor 215 by identifying a movement of the media device 205, at least in part, based on an output of the pose sensor 215 indicative of a movement of the media device 205.In some examples, the media device 205 can capture pose data 225 and / or positioning data using data captured by the media sensor 220 (e.g., images captured by an image sensor) by identifying movement of the media device 205 at least in part based on a field of view (FOV) of the media sensor 220 (e.g., FOV of an environment depicted in data captured by the media sensor 220) changing or shifting in a manner indicative of movement of the media device 205. In some examples, the data captured by the media sensor 220 (e.g., camera data from an image sensor) can be and / or the basis of the pose data 225 and / or positioning data. In some examples, the media device 205 can identify 3D coordinates of features depicted in one or more images or other data captured by the media sensor 220, for example, via feature detection, feature extraction, feature tracking, feature mapping, stereo mapping, environmental mapping, visual localization, localization, or a combination thereof. In some examples, the media device 205 may generate a map of the environment based on one or more features detected, extracted, tracked, and / or mapped by the media device 205.
[0078]
[0105] The media device 205 can capture sensor data 230 using the sensor 210. In some examples, the sensor data 230 may include an image, a video, a depth map image, a depth map video, an audio clip, or a combination thereof captured by the media sensor 220. The sensor data 230 can optionally identify metadata identifying, for example, a timestamp of the capture and / or image capture settings such as aperture speed, aperture size, exposure time, ISO, focal length, focus, flash, zoom, analog gain, digital gain, auto white balance (AWB) settings, or a combination thereof. The media device 205 can capture pose data 225 simultaneously with the capture of the sensor data 230. The media device 205 can capture sensor data 230 simultaneously with the capture of the pose data 225. The media device 205 can capture pose data 225 at a time between the capture of the sensor data 230. The media device 205 can capture sensor data 230 at a time between the capture of the pose data 225.
[0079]
[0106] The media device 205 may include a media processor 235. Using the media processor 235, the sensor data 230, and / or the pose data 225, the media device 205 may generate and / or acquire media data 250. In some examples, the media data may be or include the sensor data 230, the pose data 225, or both. In such examples, the media device 205 may acquire the media data 250 directly from the sensor 210 and / or indirectly via the media processor 235, which may append additional data (e.g., headers), place the data 225-230 from the sensor 210 into one or more container files (e.g., ISO container format or ISO-based container format), merge the pose data 225 with the sensor data 230 and / or metadata (corresponding to the sensor data 230 and / or the pose data 225), or any combination thereof. In some examples, the media processor 235 may process the sensor data 230 and / or the pose data 225, for example, by performing any of the processing operations described with respect to the image processing device 105B or the image capture and processing system 100 generally. For example, the media processor 235 may perform demosaicing, noise reduction, sharpening, saturation adjustment, brightness adjustment, contrast adjustment, hue adjustment, tone adjustment, gain, other processing tasks described herein, or combinations thereof. In some examples, the media processor 235 may include the image processor 150, the ISP 154, the host processor 152, the processor 1910, or combinations thereof. In some examples, the media processor 235 may combine multiple sensor data 230, for example, by merging multiple images into a high dynamic range (HDR) image that is at least a portion of the media data 250. In some examples, the media processor 235 may apply one or more filters to the sensor data 230 as part of generating the media data 250.
[0080]
[0107] The media processor 235 may also include special elements related to extended reality (XR) operations, for example, if the media device 205 is an XR device. For example, the media processor 235 may include a virtual content generator 240 that can generate virtual content such as virtual objects, virtual characters, virtual environments, virtual equipment, virtual costumes, virtual items, virtual sports equipment, virtual weapons, etc. The virtual content may include virtual objects, characters, environments, equipment, costumes, items, sports equipment, weapons, and / or other content related to one or more video games or other XR experiences. An example of virtual content generated by the virtual content generator 240 includes the virtual object 1045 (virtual dog) of FIGS. 10A-10B. The media processor 235 may include an image compositor 245 that can generate the media data 250 by merging the virtual content generated by the virtual content generator 240 with the sensor data 230. For example, the image compositor 245 can overlay the virtual content generated by the virtual content generator 240 over a portion of the sensor data 230. In some examples, image compositor 245 can adjust the pose (e.g., location and / or orientation) of the virtual content to match the environment depicted in sensor data 230 and / or based on pose data 225 (e.g., so that the virtual content appears to be resting on a surface in the real environment depicted in sensor data 230). In some examples, image compositor 245 can adjust the lighting and / or coloring of the virtual content to match the environment depicted in sensor data 230 and / or based on pose data 225 (e.g., so that the lighting and / or coloring of the virtual objects matches the actual lighting of the real environment depicted in sensor data 230).In some examples, if the image compositor 245 determines that a real-world object depicted in the sensor data 230 is in front (from the FOV of the sensor 210 of the media device 205) of a location in the real environment depicted in the sensor data 230 where the virtual content was located by the image compositor 245, the image compositor 245 can at least partially occlude the virtual content with the real-world object depicted in the sensor data 230. For example, a person can appear to walk "in front of" the virtual content, and the image compositor 245 can realistically occlude the person's view of the virtual content in the media data 250. One example of media data 250 including virtual content includes the digital asset 1040 of FIGS. 10A-B, which depicts a virtual object 1045 (a virtual dog) superimposed over a real environment.
[0081]
[0108] The media processor 235 may also include a map generator 247 that may generate one or more maps based on the pose data 225 and / or the sensor data 230. Such a map may identify one or more routes along which the media device 205 has traveled over one or more time periods. In some examples, the map may indicate a route taken by a user carrying the media device 205, such as a hiking route, a walking route, a jogging route, a running route, a cycling route, a skateboarding route, a transit route, a driving route, a route traveled during a sporting activity, etc. The media data 250 generated by the media processor 235 may include a map. For example, the digital asset 1140 of FIGS. 11A-11B is an example of media data 250 including a map generated by the map generator 247.
[0082]
[0109] The media device 205 may include a communications interface 255, which may include one or more communications interfaces 1940. The communications interface 255 may include a short-range wireless transceiver 260. The short-range wireless transceiver 260 may receive and / or transmit communications 272 with a short-range wireless transceiver 275 of a local device 270 via one or more short-range communication signals according to a short-range communication protocol. Either or both of the short-range wireless transceivers 260 and 275 may include, for example, a Bluetooth transceiver, a Bluetooth Low Energy (BLE) transceiver, an iBeacon® transceiver, a Near Field Communication (NFC) transceiver, a Radio Frequency Identification (RFID) transceiver, a radio transceiver, a microwave transceiver, a visible light communication (VLC) transceiver, a Wi-Fi® transceiver, a personal area network (PAN) transceiver, a wireless local area network (WLAN) transceiver, a wide area network (WAN) transceiver, a cellular network transceiver, an ultrasonic transceiver, an infrasonic transceiver, a sonic transceiver, any of the types of transceivers identified with respect to the network transceivers 265 and 285, as well as other types of transceivers, or combinations thereof. In some examples, the media device 205 may receive and / or transmit one or more of the communications 272 with the local device 270 as part of capturing the pose data 225. For example, the local device 270 may have a verified location and may be a local device 270 set up and managed by a venue, such as a museum, a concert venue, a movie theater, a sports venue, etc. A media device 205 is in the vicinity of a local device 270 when the media device 205 and the local device 270 are within short-range wireless communication signal range of each other (e.g., within range to successfully send and receive one or more communications 272).
[0083]
[0110] The local device 270 may determine and / or store the communications 272 (block 277). For example, the local device 270 may determine the content of any of the communications 272 that the local device 270 sends to the media device 205 and may store the content. Similarly, the local device 270 may determine the content of any of the communications 272 that the local device 270 receives from the media device 205 and may store the content. The media device 205 may determine and / or store the communications 272 (block 278). For example, the media device 205 may determine the content of any of the communications 272 that the media device 205 sends to the local device 270 and may store the content. Similarly, the media device 205 may determine the content of any of the communications 272 that the media device 205 receives from the local device 270 and may store the content. Ensuring that the stored content of these communications 272 match those stored on the media device 205 and the local device 270 may be used to verify (block 290) that the pose of the media device 205 is within a geographic area associated with the local device 270. In some examples, the media device 205 may send communications 272 with multiple local devices 270. In some examples, the local device 270 may be a beacon device with a known location. In some examples, the local device 270 may be a wireless network access point (e.g., Wi-Fi, WLAN) with a known location. In some examples, the local device 270 may be a cellular network access point (e.g., cell tower) with a known location.
[0084]
[0111] The communication interface 255 of the media device 205 may include a network transceiver 265. The network transceiver 265 may receive and / or transmit communications 282 along a network between one or more network transceivers 285 of one or more network devices 280. Either or both of the network transceivers 265 and / or 285 may include one or more wired transceivers, one or more wireless transceivers, or a combination thereof. Either or both of the network transceivers 265 and / or 285 may include, for example, one or more Ethernet transceivers, Wi-Fi transceivers, wireless local area network (WLAN) transceivers, wide area network (WAN) transceivers, cellular network transceivers, any type of transceiver identified with respect to the short-range wireless transceivers 260 and 275, as well as other types of transceivers, or combinations thereof. The media device 205 may send the media data 250 and / or pause data 225 to the network device 280 via the communication 282. The network device 280 may verify that the pose of the media device 205 is within a geographic area (block 290). In some aspects, the geographic area may be associated with the local device 270. For example, the local device 270 may be located within or near the geographic area. At least a portion of the geographic area may include a transmission range and / or reception range of a short-range wireless signal of each of the one or more local devices 270. In some examples, verifying that the pose of the media device 205 is within a geographic area associated with the local device 270 (block 290) may include verifying that the content of the communication 272 matches what was stored on the local device 270 (block 277) and what was stored on the media device 205 (block 278).For example, the content of the communication 272 sent from the local device 270 to the media device 205 matches that stored on both devices (blocks 277 and 278) and / or the content of the communication 272 sent from the media device 205 to the local device 270 matches that stored on both devices (blocks 277 and 278). In some examples, the network device 280 can verify that the pose of the media device 205 is within the geographic area by verifying that the location of the media device 205, as indicated at least in part by the pose data 225, is within a predefined boundary or geofence of the geographic area (block 290). In some examples, the geographic area may correspond to the interior of one or more structures corresponding to a museum, movie theater, shopping mall, or another indoor venue. In some examples, the geographic area may correspond to the interior of an outdoor venue (e.g., outdoor concert venue, outdoor sports venue), for example, within a fence, wall, seating arrangement, or other boundary marker of the venue. In some examples, the geographic area may correspond to an outdoor area that includes one or more indoor areas, such as an outdoor food court area with multiple restaurants, or an outdoor theme park with multiple attractions, some of which may be indoor attractions.
[0085]
[0112] In some examples, the transmit and receive times of one or more of the communications 272 may be identified and / or stored (e.g., in the stored communications of block 277 and / or the stored communications of block 278). In some examples, the transmit and receive times of one or more of the communications 272 may be used to identify a location of the media device 205 (e.g., may be used as positioning data) and / or may be used to verify that the pose of the media device 205 is within a geographic area (block 290). For example, the transmit and receive times of one or more of the communications 272 may be subtracted to identify a duration that the communication 272 traveled, which may be used to determine a distance between the media device 205 and the local device 270.
[0086]
[0113] In some examples, the transmit and receive signal frequencies of one or more of the communications 272 may be identified and / or stored (in the stored communications of block 277 and / or in the stored communications of block 278). In some examples, the transmit and receive signal frequencies of one or more of the communications 272 may be used to identify a location of the media device 205 (e.g., may be used as positioning data) and / or may be used to verify that the pose of the media device 205 is within a geographic area (block 290). For example, the transmit and receive signal frequencies of one or more of the communications 272 may be subtracted to identify a difference in signal frequency as the communication 272 traveled, and the difference in signal frequency may be used to determine a distance between the media device 205 and the local device 270.
[0087]
[0114] The location of the media device 205 may be identified as being along a circle drawn around the local device 270 having a radius the length of the identified distance (e.g., based on transmission and reception times and / or based on transmission and reception signal frequencies). The location of the media device 205 may be more accurately identified the more local devices 270 are used based on the points where the resulting circles intersect. If more than two local devices 270 are used, the location of the media device 205 may be narrowed down to a single point, which may be called triangulation. Thus, triangulation based on signals from multiple local devices 270 may be used to identify the location of the media device 205 (e.g., may be used as positioning data) and / or may be used to verify that the pose of the media device 205 is within a geographic area (block 290).
[0088]
[0115] In response to verifying that the pose of the media device 205 is within the geographic area (block 290), the network device 280 may generate one or more tokens corresponding to the media data 250, may generate one or more blocks in the distributed ledger 295 to store the tokens therein, and / or may generate the distributed ledger 295 itself (block 292). Examples of tokens may include token 600, token 860, token 960, token 1060, token 1160, and token 1260. Examples of the distributed ledger 295 may include the blockchain ledger 500 and / or the distributed acyclic graph (DAG) ledger 700. The network device 280 may store a copy of the distributed ledger 295. In some examples, a distributed network of other devices (in addition to the network device 280), such as the media device 205, the local device 270, and / or the additional devices 297, may also store copies of the distributed ledger 295. In some examples, the other devices in the distributed network may also verify that the media device 205 poses within a geographic area (block 290), verify that the token is proper, verify that the block is proper (e.g., the Merkle root accurately reflects the payload, the hash accurately reflects the previous block), or some combination thereof. Generating a block and verifying that the block is proper may be followed by appending the block to the distributed ledger 295 and sending the block to other devices in the distributed network to append the block to all copies of the distributed ledger 295.
[0089]
[0116] In some examples, verifying that the pose of the media device 205 is within the geographic area (block 290) may also include receiving recorded audio information recorded by one or more microphones of the media device 205 and comparing the recorded audio information with reliable audio information known to be from the geographic area. In some examples, the reliable audio information may be recorded by one or more microphones of the local device 270. In some examples, the reliable audio information may be generated and / or output by one or more speakers of the local device 270. In one example, the media device 205 may capture images (one example of sensor data 230) at a concert venue during a concert and simultaneously record an audio clip of audio at the concert. The network device 280 may receive the recorded audio clip from the media device 205 along with the media data 250 that includes the images and / or is based on the images. The network device 280 may also receive a reliable audio clip from the local device 270 at the concert and / or at the concert venue. The reliable audio clip may include audio from the same time period as the recorded audio clip. The trusted audio clip is recorded by one or more microphones of the local device 270 at the concert venue. The trusted audio clip is output by a speaker coupled to the local device 270 at the concert venue. The network device 280 can compare the trusted audio clip from the local device 270 with the recorded audio clip from the media device 205 to perform a verification (block 290) that the pose of the media device 205 is within the geographic area.If at least a portion of the recorded audio clip matches at least a portion of the trusted audio clip (e.g., the same song is played in the concert in both audio clips), then the verification that the pause of the media device 205 is within the geographic area (block 290) is successful in that the pause of the media device 205 is verified to be within the geographic area. If no portion (or less than a threshold portion) of the recorded audio clip matches at least any portion of the trusted audio clip (e.g., the audio in the audio clips do not overlap), then the verification that the pause of the media device 205 is within the geographic area (block 290) is unsuccessful in that the pause of the media device 205 is not verified to be within the geographic area and / or in some cases, the pause of the media device 205 may be verified to not be within the geographic area.
[0090]
[0117] In some aspects, some devices depicted in the digital asset tracking system 200 as separate devices may be combined. In some examples, the local device 270 and the network device 280 may be combined. For example, some of the communications 272 may include some of the communications 282, and / or some of the communications 282 may include some of the communications 272. In some examples, the media device 205 and the network device 280 may be combined. For example, the communications 282 may be internal to the media device 205. The media device 205 may, by itself, verify that the pose of the media device 205 is within a geographic area (block 290). The media device 205 may, by itself, generate one or more tokens corresponding to the media data 250, generate one or more blocks in the distributed ledger 295 to store the tokens therein, and / or generate the distributed ledger 295 itself (block 292). In some examples, the media device 205 and the local device 270 may be combined. For example, the media device 205 may have a known location within and / or near the geographic area and / or may be a kiosk device with sensors that may be associated with the geographic area (e.g., owned or rented or used by a venue corresponding to the geographic area) and may be able to self-verify that its location is within the geographic area (block 290).
[0091]
[0118] In some aspects, some devices depicted in digital asset tracking system 200 as single devices may be separated into multiple devices. In some examples, these multiple devices may work together, for example, by sending data between each other. For example, media device 205 may include two or more devices. In one example, media device 205 may include a mobile handset (e.g., mobile handset 410), a head mounted display (HMD) (e.g., HMD 310), a smart watch, a pair of wireless headphones, a fitness tracker, another wearable device, or a combination thereof.
[0092]
[0119] In some examples, the digital asset tracking system 200 may include a token device (not shown as a separate element). The token device may be an example of the local device 270, the network device 280, the media device 205, one of the additional devices 297, the data store 298, the anchor element 299, the token device 1405, the computing system 1900, or a combination thereof. The token device may be associated with a token (e.g., the token 600) associated with a digital asset (e.g., the digital asset 605). The token device may include an output device, such as a display and / or a speaker. The token device may output the digital asset associated with the token, for example, by displaying the visual content (e.g., images, videos) of the digital asset using a display of the token device and / or by playing the audio content (e.g., voice, music) of the digital asset using a speaker of the token device. In some examples, the token device may be a physical representation of the token with which the token device is associated. An example of a token device includes the token device 1405 of FIG. 14.
[0093]
[0120] In some examples, the digital asset tracking system 200 may include a data store 298. The data store 298 may include any type of data structure, including, for example, data structure 650. In some examples, the data store 298 includes customizations, personalizations, and / or modifications to a digital asset (e.g., digital asset 605) associated with a token (e.g., token 600). For example, in some examples, the digital asset may be immutable, but customizations, personalizations, and / or modifications to the digital asset may be applied, removed, and / or modified. One example of a data store 298 used for customizations, personalizations, and / or modifications to a digital asset is illustrated with respect to data store 1370 of FIG. 13.
[0094]
[0121] In some examples, the digital asset tracking system 200 may include an anchor element 299. In some examples, the anchor element 299 may include an object in a real-world environment associated with a token. For example, detection of the anchor element 299 by the media device 205 using the sensor 210 may cause the media device 205 to output (e.g., display and / or play) a digital asset (e.g., digital asset 605) corresponding to a token (e.g., token 600) corresponding to the anchor element 299 detected by the media device 205. In some examples, the anchor element 299 includes an optical glyph, such as a Quick Response (QR) code, a barcode, an Aztec code, a dot code, a data matrix, a shot code, or a combination thereof. In some examples, the anchor element 299 may include a designated area, and detection by the media device 205 using the sensor 210 that the media device 205 is located within the designated area may cause the media device 205 to output a digital asset corresponding to the token corresponding to the anchor element 299. In some examples, the anchor element 299 may include a designated location, and detection by the media device 205 using the sensor 210 that the media device 205 is located within a threshold range of the designated location may cause the media device 205 to output a digital asset corresponding to a token that corresponds to the anchor element 299. In some examples, the token device may be the anchor element 299.
[0095]
[0122] FIG. 3A is a perspective view 300 illustrating a head mounted display (HMD) 310 used as a media device 205 that is part of the digital asset tracking system 200. The HMD 310 may be, for example, an augmented reality (AR) headset, a virtual reality (VR) headset, a mixed reality (MR) headset, an extended reality (XR) headset, or some combination thereof. The HMD 310 includes a first camera 330A and a second camera 330B along a front portion of the HMD 310. The first camera 330A and the second camera 330B (and / or their image sensors) may be examples of the media sensor 220 of the media device 205. In some examples, the HMD 310 may have only a single camera with a single image sensor. In some examples, the HMD 310 may include one or more additional cameras in addition to the first camera 330A and the second camera 330B. The one or more additional cameras (and / or their image sensors) may also be examples of media sensors 220 of the media device 205. In some examples, the HMD 310 may include one or more additional sensors in addition to the first camera 330A and the second camera 330B, which may include other types of media sensors 220, a pose sensor 215 of the media device 205, and / or other sensors of the media device 205 described herein.
[0096]
[0123] The HMD 310 may include one or more displays 340 visible to the user 320 wearing the HMD 310 on the user's 320 head. In some examples, the HMD 310 may include one display 340 and two viewfinders. The two viewfinders may include a left viewfinder for the left eye of the user 320 and a right viewfinder for the right eye of the user 320. The left viewfinder may be oriented so that the left eye of the user 320 sees the left side of the display. The right viewfinder may be oriented so that the right eye of the user 320 sees the right side of the display. In some examples, the HMD 310 may include two displays 340 including a left display that displays content to the left eye of the user 320 and a right display that displays content to the right eye of the user 320.
[0097]
[0124] The HMD 310 may include one or more earphones 335, which may function as speakers and / or headphones to output audio to one or more ears of a user of the HMD 310. Although one earphone 335 is shown in FIGS. 3A and 3B, it should be understood that the HMD 310 may include two earphones, one for each ear (left and right) of the user. In some examples, the HMD 310 may also include one or more microphones (not shown). In some examples, audio output output by the HMD 310 to the user via the one or more earphones 335 may include or be based on audio recorded using one or more microphones.
[0098]
[0125] FIG. 3B is a perspective view 350 showing the head mounted display (HMD) of FIG. 3A being worn by a user 320. The user 320 wears the HMD 310 on the user's 320 head above the user's 320 eyes. The HMD 310 can capture images using a first camera 330A and a second camera 330B. In some examples, the HMD 310 displays one or more output images toward the user's 320 eyes. The output images may include, for example, the sensor data 230, the media data 250, or both. The output images may be based on the images captured by the first camera 330A and the second camera 330B. The output images may provide a stereoscopic view of the environment, possibly with overlaid information and / or other modifications. For example, the HMD 310 can display a first display image to the right eye of the user 320, the first display image being based on the image captured by the first camera 330A. The HMD 310 can display a second display image to the left eye of the user 320, where the second display image is based on the image captured by the second camera 330B. For example, the HMD 310 can provide information superimposed in the display image that is superimposed on the images captured by the first camera 330A and the second camera 330B. An earphone 335 of the HMD 310 is shown in the ear of the user 320. The HMD 310 may be outputting audio to the user 320 through the earphone 335 and / or through another earphone (not shown) of the HMD 310 in the other ear (not shown) of the user 320.
[0099]
[0126] 4A is a perspective view 400 showing the front of a mobile handset 410 that includes a front camera and may be used as a media device 205 that is part of digital asset tracking system 200. Mobile handset 410 may be an example of a media device 205. Mobile handset 410 may be, for example, a mobile phone, a satellite phone, a portable gaming console, a music player, a health tracking device, a wearable device, a wireless communication device, a laptop, a mobile device, any other type of computing device or computing system described herein, or a combination thereof.
[0100]
[0127] The front face 420 of the mobile handset 410 includes a display 440. In some examples, the display 440 can display the sensor data 230, the media data 250, or both. The front face 420 of the mobile handset 410 includes a first camera 430A and a second camera 430B. The first camera 430A and the second camera 430B (and / or their image sensors) can be examples of the media sensors 220 of the media device 205. The first camera 430A and the second camera 430B are shown within a bezel around the display 440 on the front face 420 of the mobile handset 410. In some examples, the first camera 430A and the second camera 430B can be positioned within a notch or cutout cut out of the display 440 on the front face 420 of the mobile handset 410. In some examples, the first camera 430A and the second camera 430B may be under-display cameras disposed between the display 440 and the rest of the mobile handset 410, such that light passes through a portion of the display 440 before reaching the first camera 430A and the second camera 430B. The first camera 430A and the second camera 430B in the perspective view 400 are forward-facing cameras. The first camera 430A and the second camera 430B face in a direction perpendicular to the planar surface of the front surface 420 of the mobile handset 410. The first camera 430A and the second camera 430B may be two of one or more cameras of the mobile handset 410. The first camera 430A and the second camera 430B may be an example of a media sensor 220 of the media device 205. In some examples, the front surface 420 of the mobile handset 410 may only have a single camera. In some examples, the mobile handset 410 may include one or more additional cameras in addition to the first camera 430A and the second camera 430B. The one or more additional cameras (and / or their image sensors) may also be examples of media sensors 220 of the media device 205. In some examples, the mobile handset 410 may include one or more additional sensors in addition to the first camera 430A and the second camera 430B.The one or more additional sensors may also be examples of other types of media sensors 220 and / or the pause sensor 215 of the media device 205. The front face 420 of the mobile handset 410 also includes a display 440. In some cases, the front face 420 of the mobile handset 410 includes more than one display 440.
[0101]
[0128] The mobile handset 410 may include one or more speakers 435A and / or other audio output devices (e.g., earphones or headphones or connectors thereto) that can output audio to one or more ears of a user of the mobile handset 410. While one speaker 435A is shown in FIG. 4A, it should be understood that the mobile handset 410 can include more than one speaker and / or other audio devices. In some examples, the mobile handset 410 may also include one or more microphones (not shown). In some examples, audio output output by the mobile handset 410 to a user via the one or more speakers 435A and / or other audio output devices may include or be based on audio recorded using one or more microphones.
[0102]
[0129] 4B is a perspective view 450 showing a back 460 of a mobile handset that includes a rear camera and may be used as a media device 205 that is part of the digital asset tracking system 200. The mobile handset 410 includes a third camera 430C and a fourth camera 430D on the back 460 of the mobile handset 410. The third camera 430C and the fourth camera 430D in the perspective view 450 are rear-facing. The third camera 430C and the fourth camera 430D (and / or their image sensors) may be examples of the media sensor 220 of the media device 205. The third camera 430C and the fourth camera 430D face orthogonally to the flat surface of the back 460 of the mobile handset 410. Although the back 460 of the mobile handset 410 does not have a display 440 as shown in the perspective view 450, in some examples the back 460 of the mobile handset 410 may include one or more rear displays. In some examples, the one or more rear displays may display the sensor data 230, the media data 250, or both. If the back 460 of the mobile handset 410 includes one or more rear displays, any positioning layout of the third camera 430C and the fourth camera 430D relative to the one or more rear displays may be used as described with respect to the first camera 430A and the second camera 430B relative to the display 440 of the front 420 of the mobile handset 410.
[0103]
[0130] The third camera 430C and the fourth camera 430D may be two of the one or more cameras of the mobile handset 410. In some examples, the back surface 460 of the mobile handset 410 may have only a single camera. In some examples, the mobile handset 410 may include one or more additional cameras in addition to the first camera 430A, the second camera 430B, the third camera 430C, and the fourth camera 430D. The one or more additional cameras (and / or their image sensors) may also be examples of media sensors 220 of the media device 205. In some examples, the mobile handset 410 may include one or more additional sensors in addition to the first camera 430A, the second camera 430B, the third camera 430C, and the fourth camera 430D. The one or more additional sensors may also be examples of other types of media sensors 220 and / or pose sensors 215 of the media device 205.
[0104]
[0131] The mobile handset 410 may include one or more speakers 435B and / or other audio output devices (e.g., earphones or headphones or connectors thereto) that can output audio to one or more ears of a user of the mobile handset 410. While one speaker 435B is shown in FIG. 4B, it should be understood that the mobile handset 410 can include more than one speaker and / or other audio devices. In some examples, the mobile handset 410 may also include one or more microphones (not shown). In some examples, audio output output by the mobile handset 410 to a user via the one or more speakers 435B and / or other audio output devices may include or be based on audio recorded using one or more microphones.
[0105]
[0132] 5 is a block diagram illustrating three successive blocks of a blockchain ledger 500 that may be used to track digital assets associated with locations within a geographic area, according to one aspect of the disclosure. Three blocks of the blockchain ledger 500 are shown in FIG. 5, including block A 505, block B 535, and block C 565.
[0106]
[0133] Each block includes a block header 510 / 540 / 570 and a list of one or more payloads 530 / 560 / 590. In some examples, the block header 510 / 540 / 570 includes a hash 515 / 545 / 575 of a previous block and / or a hash 510 / 540 / 570 of the block header of the previous block. For example, the header 570 of block C 565 includes a hash 575 of the header 540 of block B 535. The header 540 of block B 535 similarly includes a hash 545 of the header 510 of block A 505. The header 510 of block A 505 similarly includes a hash 515 of the header of a previous block (not shown) that precedes block A 505 in the blockchain ledger 500 (not shown). The inclusion of the hash of the previous block's header secures the blockchain ledger 500 by preventing any modification of the blockchain ledger 500 after the block is entered into the blockchain ledger 500, since any change to a particular block will render the hash 515 / 545 / 575 of the block header in the next block incorrect. Furthermore, modifying the hash of that block header in the next block will render the hash 515 / 545 / 575 of the next block's header in the block after the next block incorrect, and so on. A verification device can verify that a block has not been modified by computing the hash of the block and / or the block header and then comparing the computed hash to the stored hash 515 / 545 / 575 of the next block. In some distributed ledgers, the block header 510 / 540 / 570 can include hashes of multiple previous blocks and / or hashes of the block headers of multiple previous blocks, such as in the distributed acyclic graph (DAG) ledger 700 of FIG. 7.
[0107]
[0134] The block header 510 / 540 / 570 of each block may include a Merkle root 520 / 550 / 580. The Merkle root 520 / 550 / 580 may be generated based on a hash of each of the tokens, transactions, smart contracts, and / or other elements identified in the payload 530 / 560 / 590 for that block. Any attempt to modify the payload after the block is entered will change the Merkle root. A verification device can verify that the payload 530 / 560 / 590 has not been modified by calculating the Merkle root and then comparing the calculated Merkle root to the Merkle root 520 / 550 / 580 stored in the block header 510 / 540 / 570. Changes to the payload 530 / 560 / 590 and / or Merkle root 520 / 550 / 580 will also change the hash for the block and / or block header, whose value is stored in the next block as the hash 515 / 545 / 575. Each payload of each block may contain one or more tokens, one or more transactions, one or more smart contracts, other content, or a combination thereof.
[0108]
[0135] The block header 510 / 540 / 570 of each block may also include various elements of metadata, such as a version number of the blockchain ledger platform, a version number of the block itself, a timestamp of the validation of each payload, a timestamp of the creation of the block, a timestamp of the entry of the block into the blockchain ledger 500, a timestamp of the request to create the block, a difficulty target value (e.g., adjusting the difficulty of the search), one or more randomized nonce values, a counter identifying how many nonce values have been attempted, the title of the blockchain ledger 500, an identifier for what the blockchain ledger 500 is tracking (e.g., a history of digital assets 605 associated with the location of a device within a geographic area), or a combination thereof. Each individual element added can further serve as information that can be verified by a validating device to identify whether the block and the payload therein are accurate and authorized. The one or more randomized nonce values can serve to further complicate the hash and improve security.
[0109]
[0136] Each block 505 / 535 / 565 of the blockchain ledger 500 also includes a payload 530 / 560 / 590. The payload 530 / 560 / 590 for each block 505 / 535 / 565 may include one or more tokens, one or more transactions, one or more smart contracts, one or more other elements, metadata regarding any of the elements previously enumerated, or a combination thereof. The tokens may be, for example, non-fungible tokens. The token 600 may be an example of a token stored in the payload 530 / 560 / 590 for a block 505 / 535 / 565. As described with respect to the token 600, some portions of the token 600 may be stored within the payload 530 / 560 / 590 of the blockchain ledger 500 and thus stored "on-chain." As described with respect to the token 600, some portions of the token 600 include on-chain pointers that point to data outside the blockchain ledger 500, such that such data is stored “off-chain”. The payload 530 / 560 / 590 of the blockchain ledger 500 can store a hash of the off-chain data, such that a verification device can calculate a hash of the off-chain data and compare the calculated hash to the hash stored on-chain to verify that the off-chain data is accurate. In some examples, the payload 530 / 560 / 590 includes one or more smart contracts. A block may include code for a smart contract stored within the payload 530 / 560 / 590 of the blockchain ledger 500, thus storing the code on-chain. If the payload 530 / 560 / 590 includes a smart contract, the block may include a hash of the code for the smart contract and / or a pointer to an off-chain data structure that stores the code for the smart contract, thus storing the code off-chain. In some examples, some of the code of a smart contract may be stored on-chain, while some of the code of a smart contract may be stored off-chain.In some examples, smart contracts may be used to create, modify, transfer, or otherwise manage tokens. In some examples, the payload 530 / 560 / 590 includes a transaction. In some examples, the transaction may include a transfer of tokens from one account to another. In some examples, the transaction may include a change to some characteristic of the token or associated digital asset, such as a change to ownership, attribution, copyright, use license, rental, or a combination thereof.
[0110]
[0137] While FIG. 5 shows only three blocks 505 / 535 / 565 of the blockchain ledger 500, it should be understood that any blockchain ledger or distributed ledger described herein may be longer or shorter and may have more or less than three blocks.
[0111]
[0138] In one example, a first computing device can store a blockchain ledger including multiple blocks. Each of the multiple computing devices (e.g., in a distributed architecture) also stores a copy of the blockchain ledger. The first computing device can receive a message identifying a payload element of interest (e.g., a token and / or a transaction and / or a smart contract). For example, the payload element of interest can be a token related to a digital asset (e.g., media data 250) associated with a location described herein. The first computing device can verify that the payload element of interest is valid. In some blockchain ledger 500 implementations, the first computing device can verify that sufficient funds have been allocated to pay for an execution fee claim for the payload element of interest, for example, in the form of gas on the Ethereum blockchain ledger. In the case of a transaction such as a transfer of tokens, the first computing device can verify whether the transferor has a sufficient amount of assets for the transaction to take place (e.g., whether the transferor owns the tokens to be transferred). In the case of a smart contract, the first computing device can verify that the smart contract points to a valid account that contains a sufficient amount of assets (e.g., tokens) to execute the smart contract (e.g., to transfer tokens), verify that the code of the smart contract can be executed (e.g., does not contain syntax or other errors), verify that all parties included in the smart contract have submitted agreement to the terms of the smart contract, or a combination thereof. In the case of a token, the first computing device can verify that the token points to a valid digital asset, e.g., a valid type of digital asset with a URI or other pointer that validly points to the digital asset.
[0112]
[0139] The first computing device may generate a hash of the latest block or block header of the blockchain ledger 500. The first computing device may generate a new block header for the new block. The new block header may include at least a hash of the latest block or block header of the blockchain ledger 500. The first computing device may generate a new block, the new block including a new block header and a payload having one or more payload elements. The one or more payload elements include at least the intended payload elements (e.g., tokens, smart contracts, transactions) described above. The first computing device may generate a Merkle root based on the payload elements and include the Merkle root in the new block header. The first computing device may generate metadata and a nonce value based on the payload elements and include the metadata and the nonce value in the new block header. The first computing device may append the new block to a plurality of blocks of the blockchain ledger 500 in response to verifying the intended payload element. The first computing device may transmit the new block to a plurality of computing devices each storing the blockchain ledger 500 in response to verifying the intended payload element. Each of the multiple computing devices also appends the new block to their respective copies of the blockchain ledger 500.
[0113]
[0140] In another example, a first computing device can store a blockchain ledger 500 including a plurality of blocks. Each of a plurality of computing devices (e.g., in a distributed architecture) also stores a copy of the blockchain ledger 500. The first computing device can receive a UI input identifying a payload element of interest (e.g., a transaction and / or a smart contract). The first computing device can generate a message identifying the payload element of interest. The first computing device can retrieve a private key associated with an account corresponding to the first computing device. The first computing device can modify the message by encrypting at least a portion of the message with the private key. The first computing device can send the message to a plurality of computing devices other than the first computing device. A second computing device of the plurality of computing devices verifies that the payload element of interest is valid, e.g., as described in the previous paragraph. The first computing device receives a new block from the second computing device. The new block identifies and / or contains (e.g., in its payload) the payload element of interest. The first computing device appends a new block to a number of blocks in a blockchain ledger 500 on the first computing device.
[0114]
[0141] 6 is a block diagram illustrating an example token 600 that may be non-fungible and may represent a digital asset 605 associated with a location in a geographic area tracked in a distributed ledger. In some examples, the token 600 is a non-fungible token (NFT). In some examples, the token 600 is an ERC721 token, an ERC1155 token, an ERC-20 token, or a combination thereof. In some examples, the token 600 is tracked in a blockchain ledger 500. In some examples, the token 600 is tracked in an Ethereum-based blockchain ledger 500. In some examples, the token 600 is tracked in a directed acyclic graph (DAG) ledger 700.
[0115]
[0142] The digital asset 605 that the token 600 represents may be an example of media data 250 from a media device 205 of the digital asset tracking system 200 of Figure 2. As described with respect to the digital asset tracking system 200 of Figure 2, the media data 250 and thus the digital asset 605 may include one or more images, videos, audio clips, 3D point clouds, 3D models, sensor data 230, pose data 225, metadata associated with the sensor data 230, metadata associated with the pose data 225, virtual content generated by the virtual content generator 240, images or videos with virtual content incorporated via the image compositor 245, maps generated by the map generator 247, or combinations thereof. The 3D models may include 3D reconstructions based on the 3D point clouds, such as, for example, 3D reconstructions of a portion of a forest, a portion of a celebrity's home, a historic site, a national park, etc.
[0116]
[0143] One or more token smart contracts 645 may be associated with the token 600. For example, the one or more token smart contracts 645 govern the creation (or “minting”) of the token 600. The one or more token smart contracts 645 may pay a minter device that creates (“mints”) the token 600 or a batch of tokens for the computational time and resources taken to mint the token 600. The one or more token smart contracts 645 may include conditions that must be met before the token 600 can be successfully created (minted). For example, one such condition may require that verification that the media device 205 was within a geographic area contemporaneous with and / or during the capture of the sensor data 230 corresponding to the media data 250 of the digital asset 605 (e.g., block 290 of FIG. 2) must be successfully executed by one or more verification devices (e.g., a threshold number of verification devices, such as a quorum in FIGS. 15A-15B) to allow the creation (minting) of the token 600. The one or more token smart contracts 645 can control how ownership of the tokens 600 is determined and / or transferred. For example, the one or more token smart contracts 645 can indicate the initial owner of the tokens 600 and / or identify the conditions under which ownership automatically transfers, e.g., an offer that meets or exceeds an owner changeable threshold amount. The one or more token smart contracts 645 can indicate the conditions under which the tokens 600 can be rented or licensed for temporary use or ownership by licensee users, e.g., an offer that meets or exceeds an owner changeable threshold amount. The one or more token smart contracts 645 can control the conditions under which the tokens 600 can be burned (e.g., irreversibly destroyed and / or taken off the books).The elements identified as part of the token 600 in FIG. 6, including the token identifier 610, token quantity 615, token ownership 620, on-chain immutable metadata 625, on-chain mutable metadata 630, on-chain pointer to off-chain media 635, on-chain pointer to off-chain metadata 640, may be stored as part of the token 600, may be part of the token smart contract 645, or both. In some examples, the code of the token smart contract 645 is stored at least partially on-chain. In some examples, the code of the token smart contract 645 is stored at least partially off-chain in an off-chain location, such as a data structure 650 having an off-chain location identified by an on-chain pointer to the off-chain location.
[0117]
[0144] The token 600 includes a token identifier 610, which may be referred to as a token ID. The token identifier 610 may be a unique identifier for the token 600 and / or the digital asset 605. The token identifier 610 may be used to distinguish the particular instance of the digital asset 605 to which the token 600 corresponds from any other instances of the digital asset 605. In some examples, the token identifier may be created by a computing system that creates (or "mints") the token 600 by sequentially incrementing it compared to the token identifiers of previously created tokens to ensure that each token identifier is unique.
[0118]
[0145] The token 600 may include a token unit amount 615. The token unit amount 615 may identify an amount of the token 600 that has been minted or set to be minted. In some examples, the token unit amount 615 is 1, in which case there is a single token 600 for a given digital asset 605. In some examples, the token unit amount 615 is greater than 1. For example, if the token unit amount 615 is 5, there are effectively five copies of this token 600 that represent this unique digital asset 605 that may be owned and / or transferred separately. In some examples, those five copies may each correspond to a separate token. In some examples, all five copies may be represented by a single token. In some examples, those five copies may be fungible among one another or indistinguishable from one another. However, those five copies are still non-fungible, unique, separate, and / or distinguishable from any other instance or version or variant of the digital asset 605. In some examples, the five copies are still distinguishable from one another, e.g., the corresponding token 600 for each copy includes an identifier (on-chain or off-chain) indicating which of the five copies it is (e.g., first, second, third, fourth, or fifth). The token unit amount 615 can control how rare the token 600, and in turn the digital asset 605, is. If the token unit amount 615 is one, the token 600 and corresponding digital asset 605 are unique. If the token unit amount 615 is greater than one but less than a rarity threshold, the token 600 and corresponding digital asset 605 are rare. If the token unit amount 615 is greater than one but more than a rarity threshold, the token 600 and corresponding digital asset 605 are common. In some examples, there may be any number of rarity ranges in addition to or instead of unique, rare, and common, such as legendary, very rare, slightly rare, uncommon, and other categories of rarity.In some cases, the token unit amount 615 may be determined as part of the minting process and / or may be identified in one of the token smart contracts 645 that govern the minting process.
[0119]
[0146] The token 600 can identify token ownership 620, which in turn can identify a person who owns the token 600 and, in turn, the corresponding digital asset 605. In some examples, the token ownership 620 may be initially assigned to an account associated with the creator of the digital asset 605, such as a user associated with the media device 205 that captured, acquired, or generated the media data 250 of the digital asset 605. The user associated with the media device 205 may be a user who owns the media device 205. The user associated with the media device 205 may be a user who was using the media device 205 when the media device 205 captured the sensor data 230 and / or pose data 225 associated with the digital asset 605, when the media device 205 captured, acquired, or generated the media data 250 of the digital asset 605, or a combination thereof. In some examples, the token ownership 620 may be initially assigned to an account associated with an individual depicted or represented in the media data 250 of the digital asset 605, such as user Bob 945 of FIGS. 9A-9B. The token smart contract 645 can control the rules for the transfer of token ownership 620. Token ownership 620 can be transferred as transactions recorded as payload elements within the payload of a block of a blockchain ledger or other distributed ledger.
[0120]
[0147] The token 600 may include on-chain immutable metadata 625. The on-chain immutable metadata 625 may include, for example, a description of the token 600, a description of the digital asset 605 that the token 600 represents, some immutable attributes or characteristics of the digital asset 605 and / or the token 600, or some combination thereof. The on-chain immutable metadata 625 may use properties of the distributed ledger and / or the token smart contract 645 to ensure that the on-chain immutable metadata 625 remains unchanged. In some examples, the on-chain immutable metadata 625 may identify the media device 205 that captured, acquired, or generated the media data 250 of the digital asset 605. In some examples, the on-chain immutable metadata 625 may identify the category of media (e.g., images, videos, audio clips, 3D point clouds, 3D models, maps, etc.) that the digital asset 605 contains. In some examples, the on-chain immutable metadata 625 may identify a location or pose of the media device 205 contemporaneous with and / or during the capture of the sensor data 230 associated with the digital asset 605. In some examples, the on-chain immutable metadata 625 may identify a geographic area.
[0121]
[0148] The token 600 may include on-chain mutable metadata 630. The on-chain mutable metadata 630 may include, for example, a description of the token 600, a description of the digital asset 605 that the token 600 represents, some mutable attributes or characteristics of the digital asset 605 and / or the token 600, or some combination thereof. The on-chain mutable metadata 630 may be mutable or changeable. In some examples, changes to the on-chain mutable metadata 630 may be recorded as transactions recorded as payload elements within the payload of a block of a blockchain ledger or other distributed ledger. In some examples, the on-chain immutable metadata 625 may identify how many times the digital asset 605 has been viewed, played, accessed, or used in a specified manner.
[0122]
[0149] The token 600 may include an on-chain pointer to the off-chain media 635. The off-chain media may include the digital asset 605 and / or one or more representations of the digital asset 605. For example, the off-chain media may include one or more images, 3D point clouds, 3D models, video clips, audio clips, maps, or combinations thereof. These types of media may require a lot of storage space to store and therefore may be expensive to store on-chain in terms of execution fee billing (such as gas on the Ethereum blockchain ledger). Therefore, it may be more efficient to store this media off-chain in one or more off-chain locations, such as the data structure 650. The on-chain pointer may include a uniform resource identifier (URI), such as a uniform resource locator (URL), that points to one or more network locations of the one or more off-chain locations. In some examples, a hash of the off-chain media may be stored, such that a verification device may calculate a hash of the off-chain media and compare the calculated hash to the hash stored on-chain to verify that the off-chain media is accurate. In some examples, the off-chain media may be immutable. In some examples, the off-chain media may be mutable. In some examples, the pointers may be immutable. In some examples, the pointers may be mutable.
[0123]
[0150] The token 600 may include an on-chain pointer to off-chain metadata 640. The off-chain metadata 630 may include, for example, a description of the token 600, a description of the digital asset 605 that the token 600 represents, some immutable attributes or characteristics of the digital asset 605 and / or the token 600, or some combination thereof. Some digital assets 605 and / or tokens 600 may require a significant amount of metadata, which may require a lot of storage space to store and thus may be expensive to store on-chain in terms of execution fee billing (such as gas on the Ethereum blockchain ledger). Therefore, it may be more efficient to store this metadata off-chain in one or more off-chain locations, such as the data structure 650. The on-chain pointer may include a uniform resource identifier (URI), such as a uniform resource locator (URL), that points to one or more network locations of the one or more off-chain locations. In some examples, a hash of the off-chain metadata may be stored, such that a verification device may calculate a hash of the off-chain metadata and compare the calculated hash to the hash stored on-chain to verify that the off-chain metadata is accurate. In some examples, the off-chain metadata may be immutable. In some examples, the off-chain metadata may be mutable. In some examples, the pointers may be immutable. In some examples, the pointers may be mutable.
[0124]
[0151] FIG. 7 is a block diagram illustrating a directed acyclic graph (DAG) ledger 700 configured to track digital assets associated with locations within a geographic area, according to one aspect of the disclosure. While FIG. 5 illustrates the use of a blockchain ledger 500, it should be understood that a non-linear ledger structure, such as the directed acyclic graph (DAG) ledger structure of FIG. 7, may be used instead of or in addition to the blockchain ledger 500 described herein. The term "distributed ledger" as used herein should be understood to refer to at least one of a blockchain ledger 500 (as in FIG. 5), a DAG ledger 700 (as in FIG. 7), or a combination thereof. In a DAG ledger, each block header is not a hash of a single previous block in the blockchain, but rather includes hashes of blocks or block headers of a predetermined number of other "parent" blocks in the DAG ledger, selected either randomly or in some other non-linear manner. If each block header includes multiple hashes corresponding to different parent blocks or their headers, these hashes may be combined together (e.g., using a Merkle root).
[0125]
[0152] For example, in the DAG ledger of FIG. 7, the predetermined number is two after at least the first two blocks have been generated. In the web DAG ledger of FIG. 7, parent blocks are indicated using arrows. Block 710 contains a hash of the block headers of parent blocks 720 and 750. Block 720 contains a hash of the block headers of parent blocks 740 and 760. Block 730 contains a hash of the block headers of parent blocks 720 and 760. Block 740 contains a hash of the block headers of parent blocks 710 and 730. Block 750 contains a hash of the block headers of parent blocks 710 and 720. Block 760 contains a hash of the block headers of parent blocks 710 and 750. The resulting structure is a directed acyclic graph (DAG) of blocks, where each vertex block contains a hash of its parent vertex block, rather than a linear stream of blocks as in a blockchain. DAG ledgers are sometimes referred to as "webs," "tangles," or "hash graphs."
[0126]
[0153] In some examples, the number of parent blocks of a given block in the DAG ledger is not predetermined, and there may be a predetermined minimum number of parent blocks, such as a 2-parent minimum or a 1-parent minimum, meaning that each block has at least a predetermined minimum number of parent blocks. In some cases, each block in the DAG ledger may only identify a single payload element (e.g., token 600) rather than multiple payload elements, and thus may precede and / or replace the payload element's Merkle root 520 / 550 / 580 with a hash of the single payload element. In other implementations, each block may identify multiple payload elements associated with a predetermined period of time, and / or may include the payload element's Merkle root 520 / 550 / 580. In some examples, the DAG ledger 700 may provide advantages compared to the blockchain ledger 500 by providing parallelized validation that may provide higher throughput.
[0127]
[0154] 8A is a perspective view 800 showing a user 805 using a media device 810 to capture a digital asset 840 (image) of a portrait in a museum. The media device 810 captures the digital asset 840 using an image sensor 815 of the media device 810, where a portrait (the Mona Lisa) in a museum (the Louvre) is within a field of view (FOV) 825 of the image sensor 815 of the media device 810. The media device 810 may be an example of a media device 205. The image sensor 815 of the media device 810 may be an example of a media sensor 220 of the media device 205. The media device 810 may generate positioning data using its positioning sensor 820 simultaneously with or during the capture of an image corresponding to the digital asset 840 by the image sensor 815. The positioning sensor 820 may be an example of a pose sensor 215. The positioning data may be an example of pose data 225. Media device 810 can communicate with local devices 830 within a geographic area (e.g., within a museum) or in the vicinity of a geographic area (e.g., near a museum). Media device 810 can send and receive one or more communications 835 to and from local device 830. Local device 830 may be an example of local device 270. Communication 835 may be an example of communication 272. In some examples, local device 830 may be a beacon.
[0128]
[0155] 8A is shown as a mobile handset 410, in some examples the media device 810 may be a media device 810 that has a geographic area and / or is geographically locked to a geographic area. For example, the media device 810 may be a kiosk device geographically locked to the Louvre Museum that a user 805 may use to access and capture digital assets 840. In this case, such a media device 810 may self-verify that it is located within the geographic area, for example, because the media device 810 is geographically locked to the geographic area.
[0129]
[0156] FIG. 8B is a conceptual diagram 850 illustrating information 855 about a token 860 associated with the digital asset 840 of FIG. 8A. The token 860 may be an example of a token 600. The information 855 may be partially identified within the token 860 itself (e.g., as the token identifier 610, the on-chain immutable metadata 625, the on-chain mutable metadata 630, the off-chain media 635, the off-chain metadata 640, the rules of one or more smart contracts 645, or a combination thereof). The information 855 about the token 860 includes a title 865 shown as "Look at the Mona Lisa!". The information 855 about the token 860 includes a copy of the digital asset 840 (e.g., retrieved using an on-chain pointer from the token 860 to the off-chain media 635). The information 855 about the token 860 identifies a digital asset type 870 of the digital asset 840 as being an image. Information 855 about token 860 includes metadata 875 associated with the capture of digital asset 840, which is a paper clip icon (indicating that the metadata 875 is viewable when the paper clip icon is clicked).
[0130]
[0157] Information 855 about token 860 includes history 880. In some examples, each element of history 880 is identified as a payload element in a block of a distributed ledger that stores token 860. History 880 indicates that at 2:03:36 PM on May 24, 2021, digital asset 840 was captured by user 805 using media device 810, positioning sensor 920 of media device 810 indicates that media device 810 is posed facing north and within the Louvre, and that media device 810 and local device 830 at the Louvre are within communication range (based on communication 835). History 880 shows that at 6:40:01 AM on May 26, 2021, upon verifying that media device 810 was at the Louvre during capture (e.g., via object recognition and / or by verifying that positioning sensor 820 data matches a known geographic area of the Louvre and / or by verifying communication in communication 835), server 885 mints token 860 based on digital asset 840 whose ownership was set to user 805. Server 885 may be an example of network device 280. History 880 shows that at 1:22:54 PM on May 28, 2021, ownership of token 860 was transferred from user 805 to user 890 following a purchase of token 860 by user 890 from user 805.
[0131]
[0158] In some examples, a venue may allow attendees to capture a limited amount of digital assets for which the network device 280 associated with the venue can mint tokens 600. For example, an attendee may purchase a token "pass" from the venue indicating that the network device 280 associated with the venue will generate one or more tokens for a certain number of images (or other digital assets) captured by a user in the venue (e.g., a token to be generated by 5 of the user's images in the venue). Generating tokens for such images may use the reputation of the token minter (the venue and the network device 280 associated with the venue) to help prove that the user was actually at the venue at a given date and time, e.g., allowing the user to prove that the user was at a particular concert, sports game, movie showing, etc. Generating tokens for such images may use the reputation of the token minter (the venue and the network device 280 associated with the venue) to help prove that the user was in a particular section of the venue (e.g., a particular seat). In some cases, verifying that the media device 205 was within a geographic area (e.g., within a venue) contemporaneously with and / or during the capture of the sensor data 230 associated with the media data 250 of the digital asset may include cross-referencing the identity of the ticket-bearing user with the venue and / or a particular section of the venue (e.g., a particular seat or seating section). In some examples, a token for an image (or other media) captured from a particular seat or location within the venue (e.g., a front row seat) may be more valuable than a token for an image (or other media) captured from another seat or location within the venue (e.g., a far seat or a "top" seat). In some examples, the geographic area may be a particular portion of the venue, such as a particular seat or seating section.
[0132]
[0159] 9A is a perspective view 900 showing a user 905 using a media device 910 to capture a digital asset 940 (images) of several people, including an individual identified as Bob 945. The media device 910 captures the digital asset 940 using an image sensor 915 of the media device 910, and the people, including Bob 945, are within a field of view (FOV) 925 of the image sensor 915 of the media device 910. The media device 910 may be an example of a media device 205. The image sensor 915 of the media device 910 may be an example of a media sensor 220 of the media device 205. The media device 910 may generate positioning data using its positioning sensor 920 concurrently with and / or during the capture of an image corresponding to the digital asset 940 by the image sensor 915. The positioning sensor 920 may be an example of a pose sensor 215. The positioning data may be an example of pose data 225. The media device 910 may communicate with local devices 930 within or near a geographic area. The local device 930 may be, for example, Bob's device. In the context of FIGS. 9A-9B, the geographic area may be a vicinity of people depicted in the digital asset 940, including Bob 945. Verifying that the media device 910 is within the geographic area may help verify that the people depicted in the digital asset 940 are, in fact, Bob 945 and the other depicted people. The media device 910 may send and receive one or more communications 935 to and from the local device 930. The local device 930 may be an example of a local device 270. The communication 935 may be an example of a communication 272.
[0133]
[0160] FIG. 9B is a conceptual diagram 950 illustrating information 955 about a token 960 associated with the digital asset 940 of FIG. 9A. The token 960 may be an example of a token 600. The information 955 may be partially identified within the token 960 itself (e.g., as the token identifier 610, the on-chain immutable metadata 625, the on-chain mutable metadata 630, the off-chain media 635, the off-chain metadata 640, the rules of one or more smart contracts 645, or a combination thereof). The information 955 about the token 960 includes a title 965 shown as “They’re Here!”. The information 955 about the token 960 includes a copy of the digital asset 940 (e.g., retrieved using an on-chain pointer from the token 960 to the off-chain media 635). The information 955 about the token 960 identifies a digital asset type 970 of the digital asset 940 as being an image. The information 955 about the token 960 includes metadata 975 associated with the capture of the digital asset 940. The metadata 975 is shown as a paper clip icon (indicating that the metadata 975 is viewable by clicking on the paper clip icon).
[0134]
[0161] Information 955 about token 960 includes history 980. In some examples, each element of history 980 is identified as a payload element in a block of a distributed ledger that stores token 960. History 980 indicates that at 2:03:36 PM on May 24, 2021, digital asset 940 was captured by user 905 using media device 910, a positioning sensor 920 of media device 910 indicates a pose of media device 910 near Bob's device 930, and that media device 910 and Bob's device 930 are within communication range (communication 935). History 980 shows that at 6:40:01 AM on May 26, 2021, upon verifying that Bob 945 is depicted in the digital asset 940 (e.g., via facial recognition and / or by verifying data from a positioning sensor 920 near Bob's device 930 and / or by verifying communication 935), server 985 mints a token 960 based on the digital asset 940 with ownership set to Bob 945. Server 985 may be an example of network device 280. History 980 shows that at 1:22:54 PM on May 28, 2021, ownership of token 960 was transferred from Bob 945 to user 990 following a purchase of token 960 by user 990 from Bob 945.
[0135]
[0162] In some examples, one or more tokens 960 may be minted by server 985 corresponding to digital asset 940. For example, server 985 can mint one or more tokens 960 such that user 905 who captured digital asset 940 can own one of the tokens 960, and such that each of the people identified in digital asset 940 (including Bob 945 identified in information 955) can own one of the tokens 960.
[0136]
[0163] 10A is a perspective view 1000 showing a user 1005 using a media device 1010 to generate a digital asset 1040 (image) including a virtual object 1045 composited into a real scene. The media device 1010 captures the digital asset 1040 using an image sensor 1015 of the media device 1010, and a virtual object 1045 (virtual dog) in a geographic area (a park) is within a field of view (FOV) 1025 of the image sensor 1015 of the media device 1010. In some examples, the virtual object 1045 may be associated with a geographic area, e.g., part of a video game in which different virtual objects appear in different geographic areas, such that the user 1005 may roam to different geographic areas to "catch," encounter, or otherwise encounter different virtual objects 1045 (e.g., different virtual pets). The media device 1010 may be an example of a media device 205. The image sensor 1015 of the media device 1010 may be an example of the media sensor 220 of the media device 205. The media device 1010 may generate positioning data using the positioning sensor 1020 simultaneously with or during the capture of an image of the park corresponding to the digital asset 1040 by the image sensor 1015. A virtual object 1045 may be generated (e.g., via the virtual content generator 240) and added (e.g., via the image compositor 245) to the image of the park. The positioning sensor 1020 may be an example of the pose sensor 215. The positioning data may be an example of the pose data 225. The media device 1010 may communicate with a local device 1030 within the geographic area (e.g., within a museum) or in the vicinity of the geographic area (e.g., near the museum). The media device 1010 may send and receive one or more communications 1035 to and from the local device 1030. The local device 1030 may be an example of a local device 270. The communication 1035 may be an example of a communication 272.
[0137]
[0164] FIG. 10B is a conceptual diagram 1050 illustrating information 1055 about a token 1060 associated with the digital asset 1040 of FIG. 10A. The token 1060 may be an example of a token 600. The information 1055 may be partially identified within the token 1060 itself (e.g., as the token identifier 610, the on-chain immutable metadata 625, the on-chain mutable metadata 630, the off-chain media 635, the off-chain metadata 640, the rules of one or more smart contracts 645, or a combination thereof). The information 1055 about the token 1060 includes a title 1065 shown as "Just Met My Virtual Pet, Sparky!". The information 1055 about the token 1060 includes a copy of the digital asset 1040 (e.g., retrieved using an on-chain pointer to the off-chain media 635 of the token 1060). The information 1055 about the token 1060 identifies the digital asset type 1070 of the digital asset 1040 as being an image. The information 1055 about the token 1060 includes metadata 1075 associated with the capture of the digital asset 1040, which is a paper clip icon (indicating that the metadata 1075 is viewable when the paper clip icon is clicked).
[0138]
[0165] The information 1055 about the token 1060 includes a history 1080. In some examples, each element of the history 1080 is identified as a payload element in a block of a distributed ledger that stores the token 1060. The history 1080 indicates that the digital asset 1040 was captured and / or generated by the user 1005 using the media device 1010 at 2:03:36 PM on May 24, 2021, and that the positioning sensor 1020 of the media device 1010 indicates that the pose of the media device 1010 is facing north and is in a park, and that the media device 1010 and the local device 1030 in the park are within communication range (communication 1035). As illustrated, the park includes actual objects 1047 (e.g., trees and / or other objects). The history 1080 shows that at 6:40:01 AM on May 26, 2021, upon verifying that the media device 1010 was in the geographic area where the virtual object 1045 appeared during capture (e.g., by verifying that the positioning sensor 1020 data matches the geographic area and / or by verifying the communication 1035), the server 1085 mints the token 1060 based on the digital asset 1040 whose ownership was set to the user 1005. The server 1085 may be an example of a network device 280. The history 1080 shows that at 1:22:54 PM on May 28, 2021, ownership of the token 1060 was transferred from the user 1005 to the user 1090 following a purchase of the token 1060 by the user 1005 from the user 1090.
[0139]
[0166] In some examples, the generation of virtual objects 1045 and / or their associated tokens 1060 may be part of a video game and may be driven by a scarcity function that takes into account factors such as user volume (number of users of the video game), user location (geographic distribution of users of the video game), market transaction history (recent transfers of virtual objects 1045 and / or their associated tokens 1060 (indicating interest in the user base)), user engagement (hours of video game time per user), or a combination thereof.
[0140]
[0167] 11A is a perspective view 1100 showing a user 1105 using a media device 1110 to generate a digital asset 1140 (map) of a hiking route. The media device 1110 captures sensor data using its positioning sensor 1120. The sensor data may be an example of pose data 225 and / or sensor data 230. The positioning sensor 1120 may be an example of pose sensor 215 and / or media sensor 220. The media device 1110 can generate the digital asset 1140 (map) of the hiking route using a map generator 247. At least some of the sensor data may be captured by the positioning sensor 1120, and the media device 1110 is within a geographic area (e.g., a park with a hiking trail in it).
[0141]
[0168] The media device 1110 can communicate with local devices 1130 within the geographic area (e.g., in a museum) or in the vicinity of the geographic area (e.g., near the museum). The media device 1110 can send and receive one or more communications 1135 to and from the local devices 1130. The local device 1130 may be an example of a local device 270. The communication 1135 may be an example of a communication 272.
[0142]
[0169] FIG. 11B is a conceptual diagram 1150 illustrating information 1155 about a token 1160 associated with the digital asset 1140 of FIG. 11A. The token 1160 may be an example of a token 600. The information 1155 may be partially identified within the token 1160 itself (e.g., as a token identifier 610, on-chain immutable metadata 625, on-chain mutable metadata 630, off-chain media 635, off-chain metadata 640, rules of one or more smart contracts 645, or a combination thereof). The information 1155 about the token 1160 includes a title 1165 shown as “My Yosemite Hike Path.” The information 1155 about the token 1160 includes a copy of the digital asset 1140 (e.g., retrieved using an on-chain pointer to the off-chain media 635 of the token 1160). The information 1155 about the token 1160 identifies a digital asset type 1170 of the digital asset 1140 as being an image. The information 1155 about the token 1160 includes metadata 1175 associated with the capture of the digital asset 1140, which is a paper clip icon (indicating that the metadata 1175 is viewable when the paper clip icon is clicked).
[0143]
[0170] The information 1155 about the token 1160 includes a history 1180. In some examples, each element of the history 1180 is identified as a payload element in a block of a distributed ledger that stores the token 1160. The history 1180 indicates that at 2:03:36 PM on May 24, 2021, the digital asset 1140 was captured / created by the user 1105 using the media device 1110, the positioning sensor 1120 of the media device 1110 indicates that the media device 1110 is posing facing west and is in a park, and that the media device 1110 and a local device 1130 (e.g., a beacon) in the park are within communication range (communication 1135). The history 1180 shows that at 6:40:01 AM on May 26, 2021, upon verifying that the media device 1110 was in the park during capture (e.g., by verifying that the positioning sensor 1120 data matches the park and / or by verifying the communication 1135), the server 1185 mints the token 1160 based on the digital asset 1140 whose ownership was set to the user 1105. The server 1185 may be an example of a network device 280. The history 1180 shows that at 1:22:54 PM on May 28, 2021, ownership of the token 1160 was transferred from the user 1105 to the user 1190 following a purchase of the token 1160 by the user 1105 from the user 1105.
[0144]
[0171] In some examples, additional information may be required (e.g., by one or more smart contracts 645) to be verified (e.g., by the network device 280) before the network device 280 can mint tokens corresponding to a particular digital asset. For example, in addition to verifying that the media device was within a geographic area, additional information that may be required to be verified may include fitness or activity achievements (step counts, calories burned, first runner on a new trail, etc.), achievement difficulty levels (e.g., steps up a steep mountain vs. steps on a flat surface), personal records, local records, world records, or combinations thereof. This information may be based on pose data 225, positioning data, fitness app data, health app data, fitness tracker data, wearable device data, etc.
[0145]
[0172] FIG. 12A is a perspective view 1200 showing a user 1205 using an ownership device 1210 to purchase a digital asset 1240 (image) of a portrait in a museum. The ownership device 1210 displays a purchase user interface with a “Buy” button 1245. Pressing the Buy button 1245 allows the ownership device 1210 to either purchase an existing token 1260 for the digital asset 1240 or to request the creation (minting) of a new token 1260 for the digital asset 1240. The digital asset 1240 may be captured by one or more sensors of a media device (e.g., as in media device 205). In some examples, the ownership device 1210 may be the media device that captures the digital asset 1240. In some examples, the ownership device 1210 may be separate from the media device that captures the digital asset 1240. For example, the media device that captures the digital asset 1240 may be the media device 810 of FIG. 8A. The ownership device 1210 may include a positioning sensor 1220. The ownership device 1210 may generate positioning data using its positioning sensor 1220. The positioning sensor 1220 may be an example of a pose sensor 215. The positioning data may be an example of pose data 225. The ownership device 1210 may communicate with a local device 1230 within the geographic area (e.g., within a museum) or in the vicinity of the geographic area (e.g., near a museum). The ownership device 1210 may send and receive one or more communications 1235 to and from the local device 1230. The local device 1230 may be an example of a local device 270. The communication 1235 may be an example of a communication 272. In some examples, the ownership device 1210 may only be offered to purchase ownership of (and / or create / mint) tokens 1260 if the ownership device 1210 is verified to be within the geographic area (e.g., within the Louvre).In some examples, the ownership device 1210 may only be able to become the owner of (and / or cause to be created / minted) a token 1260 if the ownership device 1210 is verified to be within a geographic area (e.g., within the Louvre).
[0146]
[0173] FIG. 12B is a conceptual diagram 1250 illustrating information 1255 about a token 1260 associated with the digital asset 1240 of FIG. 12A. The token 1260 may be an example of a token 600. The information 1255 may be partially identified within the token 1260 itself (e.g., as a token identifier 610, on-chain immutable metadata 625, on-chain mutable metadata 630, off-chain media 635, off-chain metadata 640, rules of one or more smart contracts 645, or a combination thereof). The information 1255 about the token 1260 includes a title 1265 shown as “Louvre Official Digital Mona Lisa.” The information 1255 about the token 1260 includes a copy of the digital asset 1240 (e.g., retrieved using an on-chain pointer to the off-chain media 635 of the token 1260). The information 1255 about the token 1260 identifies a digital asset type 1270 of the digital asset 1240 as being an image. The information 1255 about the token 1260 includes metadata 1275 associated with the capture of the digital asset 1240. The metadata 1275 is depicted as a paper clip icon (indicating that the metadata 1275 is viewable when the paper clip icon is clicked).
[0147]
[0174] Information 1255 about token 1260 includes history 1280. In some examples, each element of history 1280 is identified as a payload element in a block of a distributed ledger that stores token 1260. History 1280 indicates that at 2:03:36 PM on May 24, 2021, digital asset 1240 was captured by a media device, a positioning sensor on the media device indicated the media device was posing facing north and within the Louvre, and the media device and local device 1230 at the Louvre were within communication range. History 1280 shows that on 5 / 26 / 2021 @ 6:40:01 AM, upon verifying that ownership device 1210 was at the Louvre during the request for digital asset 1240 (e.g., by verifying that positioning sensor 1220 data matches the Louvre and / or by verifying communication 1235) and / or verifying that the media device was at the Louvre during the capture of digital asset 1240, server 1285 mints token 1260 based on digital asset 1240 with ownership set to user 1205. Server 1285 may be an example of network device 280. History 1280 shows that on 5 / 28 / 2021 @ 1:22:54 PM, ownership of token 1260 was transferred from user 1205 to user 1290 following a purchase of token 1260 by user 1205 from user 1205.
[0148]
[0175] In some examples, a user interface (having a purchase button 1245) for the ownership device 1210 can filter which digital assets 1240 and / or their associated tokens 1260 are available for use for the same based on factors such as, for example, eligibility (using a particular app to find particular content based on scene information or designating NFT content for viewing or purchase by selected users), user selection, user filtering, crowdsourced feedback (number of views, likes, comments, requests, etc.), and / or learned user behavior (e.g., behavioral learning using machine learning algorithms).
[0149]
[0176] In some examples, the tracked history of tokens, such as tokens 880, 980, 1080, 1180, and 1280, may track the chain of custody of tokens corresponding to digital assets, such as token 860 corresponding to digital asset 840, token 960 corresponding to digital asset 940, token 1060 corresponding to digital asset 1040, token 1160 corresponding to digital asset 1140, or token 1260 corresponding to digital asset 1240. In some examples, a user may view the history and / or chain of custody of several tokens. For example, a visitor to an art museum (e.g., the Louvre) may be interested in viewing the history and / or chain of custody of an official token for a digital copy of a particular work of art in the museum (e.g., an official digital copy of the Mona Lisa portrait produced by museum staff).
[0150]
[0177] FIG. 13 is a conceptual diagram 1300 illustrating an anchor element 1350 associated with a token 1360 and detection of the anchor element 1350 by a media device 1310 triggering display of a digital asset 1340 corresponding to the token on the media device 1310. The anchor element 1350 may be an example of the anchor element 299 of FIG. 2. The anchor element 1350 is shown as an optical glyph, specifically a QR code. In some examples, the optical glyph of the anchor element 1350 may include a QR code, a bar code, an Aztec code, a dot code, a data matrix, a shot code, or a combination thereof. Other real objects 1347 (e.g., a tree) are also shown. In some examples, the optical glyph may optically encode information that identifies the token 1360, information about the token 1360, information indicative of the token 1360, or a combination thereof. The media device 1310 detects the optical glyph of the anchor element 1350 using an image sensor 1315 of the media device 1310. In some examples, the media device 1310 scans the optical glyph of the anchor element 1350 using the image sensor 1315 of the media device 1310 to decode information optically encoded within the optical glyph of the anchor element 1350. Based on the information, the media device 1310 determines that the anchor element 1350 is associated with a token 1360 (e.g., token 600) stored in a distributed ledger 1365 (e.g., blockchain ledger 500 and / or DAG ledger 700).
[0151]
[0178] The media device 1310 determines that the token 1360 is associated with the digital asset 1340 based on information the media device 1310 decoded regarding the token 1360 from the anchor element 1350 and / or based on information the media device 1310 read regarding the token 1360 in the distributed ledger 1365. In the example shown in FIG. 13, the digital asset 1340 is a virtual object 1345, depicted as a virtual dog, similar to the virtual object 1045 of FIG. 10A. The media device 1310 displays the digital asset 1340 (e.g., the virtual object 1345) on a display of the media device 1310. The media device 1310 may also display information 1355 regarding the token 1360 associated with the digital asset 1340. For example, information 1355 may include information regarding the ownership of token 1360 (e.g., the name of the owner of token 1360 or some other identifier of the owner), the identifier and / or type of distributed ledger 1365 on which token 1360 was minted (e.g., Ethereum®, Cardano®, distributed ledger 295, blockchain ledger 500, DAG ledger 700, distributed ledger 1365, distributed ledger 1415, etc.), information regarding the smart contract associated with token 1360 when token 1360 was generated and / or minted (e.g., when token 1360 was minted, when the smart contract was initiated, when the smart contract was initiated, etc.), and / or information regarding the type of smart contract associated with token 1360 when token 1360 was minted (e.g., when token 1360 was minted, when the smart contract was initiated, when the smart contract was initiated, etc.). The token smart contract 645 may include any information regarding the token 1360, such as a third-party security audit of the contract, when the smart contract is updated, when the smart contract's conditions are met, a token identifier 610, a token unit amount 615 (e.g., how many instances of the token 1360 exist, which instance is this unique token 1360), token ownership 620, any on-chain immutable metadata 625, on-chain mutable metadata 630, off-chain media 635, on-chain media, off-chain metadata 640, the token smart contract 645, any information regarding any other parameters of the token 1360, or any combination thereof.In some examples, the information 1355 may include an interface element (e.g., a button, a link, a URL, a pointer) to a transfer platform that can enable the token 1360 to be transferred (e.g., bought, sold, rented, licensed, or some combination thereof). If the user 1305 is the current owner of the token 1360, the interface element can instruct the media device 1310 to sell the token 1360 using the transfer platform. If the user 1305 is not the current owner of the token 1360, the interface element can instruct the media device 1310 to purchase the token 1360 using the transfer platform.
[0152]
[0179] The media device 1310 can also communicate with a data store 1370 to obtain information regarding the token 1360, the digital asset 1340, and / or any modifications, customizations, and / or personalizations. The data store 1370 can be an example of the data store 298 and / or the data structure 650. In some examples, some of the information 1355 may be obtained by the media device 1310 from the data store 1370. In some examples, the data store 1370 can store modifications, customizations, and / or personalizations to the digital asset 1340 (e.g., to the virtual object 1345). For example, in FIG. 13, one such customization 1357 stored in the data store 1370 is shown as a hat (e.g., a party hat) for the virtual object 1345 (e.g., a virtual dog). The modifications, customizations, and / or personalizations to the digital asset 1340 may be added by the owner of the token 1360 in some examples. Modifications, customizations, and / or personalizations to the digital asset 1340 may, in some examples, be added by a previous owner of the token 1360. Modifications, customizations, and / or personalizations to the digital asset 1340 may, in some examples, be added by a viewer of the digital asset 1340 that corresponds to the token 1360. Different users and / or owners of the token 1360 may set different settings that identify who can and cannot add modifications, customizations, and / or personalizations to the digital asset 1340.
[0153]
[0180] In some examples, some modifications, customizations, and / or personalizations to the digital asset 1340 may be automatically applied to the digital asset 1340 to help the user 1305 know certain information about the digital asset 1340 and / or the associated token 1360. For example, if the user 1305 owns the token 1360, a first effect (e.g., one or more modifications, customizations, and / or personalizations) may be applied to the digital asset 1340 when displayed by the media device 1310. If someone the user 1305 knows (e.g., a friend, family member, coworker, acquaintance, or acquaintance of another relationship type) owns the token 1360, a second effect (e.g., one or more modifications, customizations, and / or personalizations) may be applied to the digital asset 1340 as displayed by the media device 1310. If a celebrity (e.g., a public figure) owns the token 1360, a third effect (e.g., one or more modifications, customizations, and / or personalizations) may be applied to the digital asset 1340 as displayed by the media device 1310. In some examples, different relationship types (e.g., friends vs. family vs. colleagues) may be associated with different effects (e.g., one or more modifications, customizations, and / or personalizations). In some examples, different types of celebrities (e.g., politicians, sports stars, musicians, movie stars, TV stars, famous scientists, etc.) may be associated with different effects (e.g., one or more modifications, customizations, and / or personalizations).
[0154]
[0181] While the media device 1310 is initially shown displaying a representation of the anchor element 1350 on its display, it should be understood that this is intended to indicate that the image sensor 1315 of the media device 1310 has captured an image of the anchor element 1350. In some examples, the anchor element 1350 itself is displayed by the media device 1310, for example, in an image preview window corresponding to the image sensor 1315. In some examples, the anchor element 1350 itself is never displayed by the media device 1310, and the media device 1310 instead displays a virtual object 1345 (e.g., with information 1355 and / or customization 1357) in its place.
[0155]
[0182] In some examples, the anchor element 1350 may be a different type of anchor element than an optical glyph. For example, in some examples, the anchor element 1350 may be an object having a reference image of the object stored in the data store 1370 and / or the distributed ledger 1365 (e.g., using an on-chain pointer to an off-chain reference image). The media device 1310 may detect and recognize an object in an image captured using the image sensor 1315 by comparing the image captured using the image sensor 1315 to the reference image of the object. The data store 1370 may identify a token 1360 along with the reference image of the object, allowing the media device 1310 to determine the token 1360 upon detecting and / or recognizing the object, after which the media device 1310 proceeds as described above and outputs the digital asset 1340 (e.g., having the information 1355 and / or customization 1357).
[0156]
[0183] In some examples, the anchor element 1350 may include a designated area identified in the data store 1370 and / or distributed ledger 1365 associated with the token 1360. Detection by the media device 1310 using the positioning sensor 1320 and / or image sensor 1315 that the media device 1310 is located within the designated area (e.g., by recognizing an image of the environment within the designated area) may cause the media device 1310 to output a digital asset 1340 (e.g., having information 1355 and / or customization 1357) corresponding to the token 1360 that corresponds to the anchor element 1350. In some examples, the anchor element 1350 may include a designated location identified in the data store 1370 and / or distributed ledger 1365 associated with the token 1360. Detection by the media device 1310 using the positioning sensor 1320 and / or image sensor 1315 that the media device 1310 is located within a threshold range of a specified location (e.g., by recognizing an image of the environment within the specified area) can cause the media device 1310 to output a digital asset 1340 (e.g., having information 1355 and / or customization 1357) corresponding to a token 1360 corresponding to the anchor element 1350.
[0157]
[0184] 14 is a conceptual diagram illustrating a token device 1405 associated with a token 1420 in a distributed ledger 1415 and the transfer of the token device 1405 from a first user 1410 to a second user 1430. The token device 1405 may be an example of a local device 270, a network device 280, a media device 205, one of the additional devices 297, a data store 298, an anchor element 299, an anchor element 1350, a computing system 1900, or a combination thereof. The token device 1405 is associated with a token 1420 that may be associated with a digital asset 1425. The digital asset 1425 is shown in FIG. 14 as including an image of a dog and a tree. The token device 1405 may include an output device such as a display and / or a speaker. The token device 1405 can output a digital asset 1425 associated with the token 1420, for example, by displaying the visual content (e.g., images, videos) of the digital asset 1425 using a display of the token device and / or by playing the audio content (e.g., voice, music) of the digital asset 1425 using a speaker of the token device. In FIG. 14, the token device 1405 is shown as including a display that displays images of a dog and a tree that are part of the digital asset 1425. In some examples, the digital asset 1425 may include a video or animated image, and the token device 1405 can play the video or animated image, for example, on a loop. In some examples, the token device 1405 can be a physical representation of the token 1420 with which the token device 1405 is associated.
[0158]
[0185] As shown in the top scenario 1400A of FIG. 14, the distributed ledger 1415 (e.g., blockchain ledger 500 and / or DAG ledger 700) associated with the token 1420 indicates that the token 1420 is owned by the first user 1410. In the middle scenario 1400B and bottom scenario 1400C of FIG. 14, the first user 1410 is shown transferring the token device 1405 to the second user 1430. In the middle scenario 1400B, the distributed ledger 1415 is not updated, leading to a split ownership scenario in which the first user 1410 still owns the token 1420 according to the distributed ledger 1415, but the second user 1430 owns the token device 1405. This scenario can cause confusion as the token device 1405 can be considered a physical representation of the token 1420. For example, a first user 1410 may offer to sell a token 1420 to a second user 1430, but may instead sell only the token device 1405 to the second user 1430. If the second user 1430 is not familiar with the token 1420 and token device 1405, this may have the negative consequence that the second user 1430 believes that he has purchased the token 1420 and token device 1405, but in fact has only purchased the token device 1405 without the token 1420.
[0159]
[0186] In the bottom scenario 1400C, the forwarding system (e.g., the token device 1405, the media device 205, the network device 280, the local device 270, the additional device 297, the computing system 1900) detects that the token device 1405 has been relocated (e.g., from another area associated with the first user 1410) to an area associated with the second user 1430. The forwarding system can detect that the token device 1405 is within an area associated with the second user 1430 based on the token device 1405 coming within communication range with one or more devices associated with the second user 1430, such as the local device 1435, a wireless local area network (WLAN), another token device owned by the second user 1430 and associated with a token owned by the second user 1430, or a combination thereof. The forwarding system can detect that the token device 1405 is within an area associated with the second user 1430 based on a positioning sensor of the token device 1405 indicating that the token device 1405 is within a previously specified geographic area (e.g., in the distributed ledger 1415 and / or data store 298) associated with the second user 1430. The forwarding system can detect that the token device 1405 is within an area associated with the second user 1430 based on a positioning sensor of the token device 1405 indicating that the token device 1405 is within a threshold range of the location of the second user 1430 (e.g., the location of the media device 205 of the second user 1430).
[0160]
[0187] In some examples, the distributed ledger 1415 can store a smart contract associated with the token 1420. The smart contract may have been previously agreed upon by the first user 1410. The smart contract can indicate that the token 1420 should be transferred to another user (e.g., the second user 1430) if the token device 1405 is relocated to an area associated with the other user (e.g., the second user 1430). In some examples, upon detecting that the token device 1405 has been relocated to an area associated with the second user 1430, the transfer system can query the media device 205 associated with the first user 1410 to agree to transfer the token 1420 to the second user 1430, and upon receiving confirmation of agreement from the media device 205 associated with the first user 1410, can proceed to initiate the transfer of the token 1420 from the first user 1410 to the second user 1430 (e.g., by causing the transfer of the token 1420 from the first user 1410 to be recorded in the distributed ledger 1415, e.g., by generating and / or appending a new block having a payload recording the transfer). In some examples, upon detecting that the token device 1405 has been relocated to an area associated with the second user 1430, the transfer system can query the media device 205 associated with the second user 1430 to agree to transfer the token 1420 to the second user 1430, and upon receiving confirmation of agreement from the media device 205 associated with the second user 1430, can proceed to initiate the transfer of the token 1420 from the first user 1410 to the second user 1430 (e.g., by causing the transfer of the token 1420 from the first user 1410 to the second user 1430 to be recorded in the distributed ledger 1415, e.g., by generating and / or appending a new block having a payload recording the transfer).
[0161]
[0188] 15A is a conceptual diagram 1500 illustrating the generation of a smart contract and its entry into a distributed ledger according to one embodiment of the present disclosure. The distributed computing architecture includes multiple computing systems (referred to herein as computers), which may be computing systems 1900 that store and modify the distributed ledger. A first computer sends a request 1505 requesting the entry of a smart contract with a particular rule into the distributed ledger. A second computer sends a response 1510 indicating that the second computer has generated a new block with the requested smart contract for entry into the distributed ledger. The third, fourth, and fifth computers send validations 1520A-1520C indicating that they have verified that the block correctly implements the smart contract, that the code of the smart contract can be executed (e.g., contains no syntax or other errors), that all parties involved in the smart contract have sent agreement to the terms of the smart contract, that the on-chain pointer correctly points to valid off-chain smart contract code, and / or that sufficient funds have been allocated to pay execution fee claims for the intended payload elements. The second computer sends and enters confirmations indicating successful entry of the new block having the requested smart contract into the distributed ledger in response to a quorum of devices validating.
[0162]
[0189] To enter a token, a process similar to that shown in Figure 15A may be used, with corresponding validations 1520A-1520C validating, for example, that the token points to a valid type of digital asset, that the on-chain pointer correctly points to valid off-chain media or metadata, and / or that sufficient funds have been allocated to pay for the execution fee claims for the intended payload element. To enter a transaction, a process similar to that shown in Figure 15A may be used, with corresponding validations 1520A-1520C validating, for example, that the transferor has a sufficient amount of assets (e.g., regardless of whether the transferor owns the token to be transferred) for the transaction to be made, and / or that sufficient funds have been allocated to pay for the execution fee claims for the intended payload element.
[0163]
[0190] FIG. 15B is a conceptual diagram 1550 illustrating execution of a smart contract, according to one embodiment of the disclosure. A first computer sends an identification 1555 that the first computer executed the smart contract code, identified that a condition in the smart contract was satisfied, and identified an action to be taken. A second, third, and fourth computer sends a verification 1560A-1560C that identifies that the second, third, and fourth computers executed the smart contract code, verified that a condition in the smart contract was satisfied, and verified an action to be taken. A fifth computer indicates an error 1565 that there is no verification. A third computer shows an action 1570 indicating that the third computer performed an action in response to a quorum of devices executing and verifying (e.g., verifications 1560A-1560C) the smart contract code.
[0164]
[0191] 16A is a flow diagram illustrating an example of a process 1600 for contextual token generation, according to some examples. The process 1600 may be performed by a digital asset management system. In some examples, the digital asset management system may include the digital asset tracking system 200 of FIG. 2 or a portion thereof. In some examples, the imaging system may include, for example, an image capture and processing system 100, an image capture device 105A, an image processing device 105B, an image processor 150, an ISP 154, a host processor 152, a digital asset tracking system 200, a media device 205, a network device 280, a local device 270, an additional device 297, a data store 298, an anchor element 299, an HMD 310, a mobile handset 410, a media device 810, a local device 830, a media device 910, a local device 930, a media device 1010, a local device 1030, a media The data store 1370, the token device 1405, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, a digital asset tracking system performing process 1650, a digital asset management system performing process 1700, a digital asset management system performing process 1800, a computing system 1900, a processor 1910, or combinations thereof.
[0165]
[0192] At operation 1605, the digital asset management system is configured to receive and can receive media content based on sensor data captured by at least one sensor of a media device. Examples of media devices can include image capture and processing system 100, image capture device 105A, image processing device 105B, media device 205, HMD 310, mobile handset 410, media device 810, media device 910, media device 1010, media device 1110, ownership device 1210, media device 1310, distributed ledger 1365, data store 1370, token device 1405, the computing system of Figures 15A-15B, computing system 1900, or combinations thereof. Examples of the at least one sensor include image sensor 130, one or more sensors 210, one or more pose sensors 215, one or more media sensors 220, first camera 330A, second camera 330B, first camera 430A, second camera 430B, third camera 430C, fourth camera 430D, image sensor 815, image sensor 915, image sensor 1015, image sensor 1315, positioning sensor 820, positioning sensor 920, positioning sensor 1020, positioning sensor 1120, positioning sensor 1220, positioning sensor 1320, or combinations thereof. Examples of sensor data can include sensor data 230, pose data 225, images captured by image sensor 130, images processed by ISP 154, images processed by host processor 152, images processed by image processor 150, stored communications of block 278, or combinations thereof.Examples of media data may include media data 250, sensor data 230, pose data 225, images captured by image sensor 130, images processed by ISP 154, images processed by host processor 152, images processed by image processor 150, stored communications of block 278, digital asset 605, digital asset 840, digital asset 940, digital asset 1040, digital asset 1140, digital asset 1240, digital asset 1340, virtual object 1345, digital asset 1425, or combinations thereof.
[0166]
[0193] In some examples, the digital asset tracking system includes one or more sensor connectors coupled to the one or more sensors. Media data may be received using the one or more sensor connectors. Sensor data captured by the one or more sensors may be received using the one or more sensor connectors. The one or more sensor connectors may include one or more of a port, a jack, a wire, an input / output (IO) pin, a conductive trace on a printed circuit board (PCB), any other type of connector described herein, or some combination thereof. In some examples, the digital asset tracking system includes one or more sensors.
[0167]
[0194] In some examples, the media content includes at least a portion of the sensor data. For example, the media device 205 can acquire the media data 250 by receiving the sensor data 230 and / or the pose data 225. The digital asset 840 is an example of media data that may be sensor data captured by the image sensor 815 of the media device 810. The digital asset 940 is an example of media data that may be sensor data captured by the image sensor 915 of the media device 910.
[0168]
[0195] In some examples, the media content includes a modified version of at least a portion of the sensor data. Modifying the sensor data can include, for example, processing the sensor data as described with respect to the image processing device 105B and / or the media processor 235. In some aspects, the media device generates the media data at least in part by modifying the sensor data to add virtual content to the sensor data. The virtual content may be generated by the virtual content generator 240. The virtual content may be added to (e.g., merged with) the sensor data using the image compositor 245. Examples of virtual content include a virtual object 1045 (virtual dog) that appears in the digital asset 1040 (an example of media data) despite not appearing in the sensor data captured by the image sensor 1015, a virtual object 1345 (virtual dog) that appears in the digital asset 1340 (an example of media data) despite not appearing in the sensor data captured by the image sensor 1315, or a combination thereof. The digital asset 1140 may also be an example of media content that includes a modified version of at least a portion of the sensor data, and the map of the digital asset 1140 is a processed and / or modified form of the location data (e.g., collected using the positioning sensor 1120 and / or based on communication between the media device 1110 and the local device 1130).
[0169]
[0196] The digital asset management system is configured to and can determine the location of the media device at operation 1610. In some examples, the digital asset management system can determine the location of the media device based on the sensor data. Examples of the location of the media device include pose data 225, sensor data 230, positioning information determined based on one or more communications 272 (e.g., by the media device 205, and / or the local device 270, and / or a digital asset tracking system), the stored communications of block 277, the stored communications of block 278, positioning information determined using an image sensor 815 and / or a positioning sensor 820, positioning information determined based on one or more communications 835 (e.g., by the media device 810, and / or the local device 830, and / or a digital asset tracking system), positioning information determined using an image sensor 915 and / or a positioning sensor 920, positioning information determined based on one or more communications 935 (e.g., by the media device 910, and / or the local device 930, and / or a digital asset tracking system), image sensor 1015, and / or a digital asset tracking system. The positioning information may include positioning information determined using the image sensor 1315 and / or the positioning sensor 1320, positioning information determined based on one or more communications 1035 (e.g., by the media device 1010, and / or the local device 1030, and / or a digital asset tracking system), positioning information determined using the positioning sensor 1120, positioning information determined based on one or more communications 1135 (e.g., by the media device 1110, and / or the local device 1130, and / or a digital asset tracking system), positioning information determined using the positioning sensor 1220, positioning information determined based on one or more communications 1235 (e.g., by the ownership device 1210, and / or the local device 1230, and / or a digital asset tracking system), positioning information determined using the image sensor 1315 and / or the positioning sensor 1320, the location of the token device 1405, or a combination thereof.
[0170]
[0197] In some examples, the sensor data includes positioning data based on reception of the at least one wireless signal by the at least one sensor. Determining a location of the media device can be based at least in part on the positioning data. In some examples, the at least one wireless signal includes a Global Navigation Satellite System (GNSS) signal (e.g., a GPS signal) from a GNSS satellite (e.g., a GPS satellite), for example, received using a positioning receiver. In some examples, the at least one wireless signal includes a short-range wireless signal (e.g., Bluetooth, Wi-Fi, cellular, WLAN) from a local device that is within transmission range of the media device at least during reception of the at least one wireless signal by the at least one sensor. Examples of local devices include image capture and processing system 100, image capture device 105A, image processing device 105B, local device 270, local device 830, local device 930, local device 1030, local device 1130, local device 1230, local device 1435, the computing system of Figures 15A-15B, computing system 1900, or a combination thereof. Examples of positioning receivers may include one or more short-range wireless transceivers 275, positioning sensors 820, 920, 1020, 1120, 1220, 1320, or combinations thereof. Examples of the at least one wireless signal may include a signal carrying communication 272 between the media device 205 and the local device 270, a signal carrying communication 835 between the media device 810 and the local device 830, a signal carrying communication 935 between the media device 910 and the local device 930, a signal carrying communication 1035 between the media device 1010 and the local device 1030, a signal carrying communication 1135 between the media device 1110 and the local device 1130, a signal carrying communication 1235 between the ownership device 1210 and the local device 1230, or combinations thereof.
[0171]
[0198] The digital asset management system is configured to and can determine that the location of the media device is within the geographic area at operation 1615. In some examples, the digital asset management system can determine that the location of the media device is within the geographic area based on the sensor data. Examples of geographic areas include a museum (e.g., as in Figures 8A-8B and 12A-12B), an office (e.g., as in Figures 9A-9B), a park (e.g., as in Figures 10A-10B and 13), a trail (e.g., as in Figures 11A-11B), an area associated with a first user 1410, an area associated with a second user 1430, an indoor area, an outdoor area, a sports venue, a concert venue, a movie theater, a shopping mall, a transmission range of one or more short-range wireless transceivers 275 of one or more local devices 270, a reception range of one or more short-range wireless transceivers 275 of one or more local devices 270 (for receiving signals transmitted using one or more short-range wireless transceivers 260 of a media device), or a combination thereof. An example of determining that a location of a media device is within a geographic area includes block 290 of the digital asset tracking system 200 of FIG. 2, which may be performed by the network device 280, the media device 205, the local device 270, or a combination thereof.
[0172]
[0199] In some examples, the sensor data includes at least one image captured by at least one image sensor of the at least one sensor of the media device. The media content can be based on the at least one image. Examples of image sensors can include image sensor 130, media sensor 220, one or more media sensors 220, image sensor of first camera 330A, image sensor of second camera 330B, image sensor of first camera 430A, image sensor of second camera 430B, image sensor of third camera 430C, image sensor of fourth camera 430D, image sensor 815, image sensor 915, image sensor 1015, or combinations thereof. Examples of media data that is, includes, or is based on one or more images include digital asset 840, digital asset 940, digital asset 1040, digital asset 1240, digital asset 1340, digital asset 1425, or combinations thereof.
[0173]
[0200] In some examples, determining the location of the media device includes detecting at least a portion of an environment in at least one image and determining a portion of the media device based at least in part on the detecting at least a portion of the environment in the at least one image. In some examples, determining that the location of the media device is within the geographic area includes detecting at least a portion of an environment in at least one image and determining that at least a portion of the environment is located within the geographic area. For example, in the context of FIG. 8A, the digital asset tracking system can verify that the digital asset 840 depicts an object (Mona Lisa) that is within the geographic area (Louvre), and therefore can verify that the media device 810 is within the geographic area (Louvre). In the context of FIG. 9A, the digital asset tracking system can verify that the digital asset 940 depicts an object (Bob 945) that is within the geographic area (park), and therefore can verify that the media device 910 is within the geographic area (park). In the context of FIG. 10A, the digital asset tracking system can verify that the digital asset 1040 depicts objects (virtual objects 1045 and real objects 1047) that are within a geographic area (the park), and therefore can verify that the media device 1010 is within the geographic area (the park). In the context of FIG. 11A, the digital asset tracking system can verify that the digital asset 1140 depicts objects (hiking trails) that are within a geographic area (Yosemite), and therefore can verify that the media device 1110 is within the geographic area (Yosemite). In the context of FIG. 13, the digital asset tracking system can verify that the digital asset 1340 depicts objects (virtual objects 1345 and real objects 1347) that are within a geographic area (the park), and therefore can verify that the media device 1310 is within the geographic area (the park).
[0174]
[0201] In some examples, the digital asset tracking system is configured and can detect at least a portion of an individual in at least one image, determine an identity of the individual, and set parameters of the token (e.g., token ownership 620, token smart contract 645) to indicate that the token is associated with the identity. In the context of FIG. 9A, the digital asset tracking system can identify that the image captured by the image sensor 915 (and corresponding to the digital asset 940) includes a depiction of an individual with a recognized identity (Bob 945). In some aspects, the digital asset tracking system is configured and can set ownership of the token to an account associated with the individual with the recognized identity. In the context of FIGS. 9A-9B, the digital asset tracking system can set ownership of the token 960 to Bob 945.
[0175]
[0202] In some examples, the media content includes a map of a geographic area, such as in a map in digital asset 1140.
[0176]
[0203] In some examples, determining that the location of the media device is within the geographic area is based on at least one communication between the media device and a local device associated with the geographic area (e.g., communication 272, communication 835, communication 935, communication 1035, communication 1135, communication 1235, etc.). Examples of local devices may include image capture and processing system 100, image capture device 105A, image processing device 105B, local device 270, local device 830, local device 930, local device 1030, local device 1130, local device 1230, local device 1435, the computing system of Figures 15A-15B, computing system 1900, or combinations thereof.
[0177]
[0204] At operation 1620, in response to determining that the location of the media device is within the geographic area at operation 1615, the digital asset management system is configured to generate and may generate a token corresponding to the media content. A payload of at least one block of the distributed ledger identifies the token. Examples of tokens may include token 600, token 860, token 960, token 1060, token 1160, token 1260, token 1360, token 1420, or combinations thereof. Examples of distributed ledgers include distributed ledger 295, blockchain ledger 500, DAG ledger 700, distributed ledger 1365, distributed ledger 1415, distributed ledgers corresponding to the smart contracts of Figures 15A-15B, or combinations thereof. Examples of blocks include block A 505, block B 535, block C 565, block 710, block 720, block 730, block 740, block 750, block 760, or combinations thereof. Examples of payloads include block A payload 530, block B payload 560, and block C payload 590. The tokens may be non-fungible tokens (NFTs).
[0178]
[0205] In some examples, the digital asset management system is configured and capable of generating at least one block and causing the at least one block to be appended to the distributed ledger in response to determining that the location of the media device is within the geographic area. In some examples, the at least one block includes a hash (e.g., hash 515 / 545 / 575, Merkle root 520 / 550 / 580) of at least a portion of a previous block of the distributed ledger. In some examples, the digital asset management system is configured and capable of generating the distributed ledger in response to determining that the location of the media device is within the geographic area.
[0179]
[0206] In some examples, the digital asset management system is configured to and can, in response to determining that the location of the media device is within the geographic area, transmit a request to the computing device to generate at least one block and append the at least one block to the distributed ledger.
[0180]
[0207] In some examples, the digital asset management system is configured and can set parameters of the token (e.g., token ownership 620, token smart contract 645) to indicate that the token is associated with a user. A media device can be associated with a user. For example, in the context of FIGS. 8A-8B, the digital asset tracking system can set parameters of the token 860 to indicate that the token is associated with the user 805. In the context of FIGS. 9A-9B, the digital asset tracking system can set parameters of the token 960 to indicate that the token is associated with the user 905. In the context of FIGS. 10A-10B, the digital asset tracking system can set parameters of the token 1060 to indicate that the token is associated with the user 1005. In the context of FIGS. 11A-11B, the digital asset tracking system can set parameters of the token 1160 to indicate that the token is associated with the user 1105. In the context of FIGS. 12A-12B, the digital asset tracking system can set parameters of the token 1260 to indicate that the token is associated with the user 1205. In the context of FIG. 13, the digital asset tracking system may set parameters of the token 1360 to indicate that the token is associated with the user 1305. In the context of FIG. 14, the digital asset tracking system may set parameters of the token 1420 to indicate that the token is associated with the first user 1410 and / or the second user 1430. In some examples, the parameters of the token may be stored on-chain, e.g., in token ownership 620, in on-chain immutable metadata 625, and / or in on-chain mutable metadata 630. In some examples, the parameters of the token may be stored off-chain, e.g., in off-chain metadata 640.
[0181]
[0208] In some examples, the digital asset management system is configured and capable of determining that a geographic area includes at least a threshold amount of people. Generating a token corresponding to the media content can be performed in response to determining that the geographic area includes at least a threshold amount of people.
[0182]
[0209] In some examples, the digital asset management system that performs process 1600 may include a media device, a local device, or a combination thereof. In some examples, the digital asset management system that performs process 1600 is located within a geographic area.
[0183]
[0210] In some examples, the digital asset management system performing process 1600 may include at least one of a head mounted display (HMD) (e.g., HMD 310), a mobile handset (e.g., mobile handset 410), a wireless communication device, or a combination thereof.
[0184]
[0211] In some examples, a digital asset management system includes means for receiving media content based on sensor data captured by at least one sensor of a media device, means for determining a location of the media device, means for determining that the location of the media device is within a geographic area, and means for generating a token corresponding to the media content in response to determining that the location of the media device is within the geographic area, wherein a payload of at least one block of the distributed ledger identifies the token.
[0185]
[0212] In some examples, the means for receiving media content may include the image capture and processing system 100, the image sensor 130, the digital asset tracking system 200, the one or more sensors 210, the one or more pose sensors 215, the one or more media sensors 220, the first camera 330A, the second camera 330B, the first camera 430A, the second camera 430B, the third camera 430C, the fourth camera 430D, the image sensor 815, the image sensor 915, the image sensor 1015, the image sensor 1315, the positioning sensor 820, the positioning sensor 920, the positioning sensor 1020, the positioning sensor 1120, the positioning sensor 1220, the positioning sensor 1320, the media device 205, the network device 280, the local device 270, the image sensor 330A, the image sensor 330B, the first camera 430A, the second camera 430B, the third camera 430C, the fourth camera 430D, the image sensor 815, the image sensor 915, the image sensor 1015, the image sensor 1315, the positioning sensor 820, the positioning sensor 920, the positioning sensor 1020, the positioning sensor 1120, the positioning sensor 1220, the positioning sensor 1320, the media device 205, the network device 280, the local device 270, the image sensor 330B, the image sensor 330B, the image sensor 330C, the image sensor 330D, the image sensor 330A, the image sensor 330B, the image sensor 330B, the image sensor 330B, the image sensor 330C, the image sensor 330D, the image sensor 330 , additional device 297, data store 298, anchor element 299, HMD 310, mobile handset 410, media device 810, local device 830, media device 910, local device 930, media device 1010, local device 1030, media device 1110, local device 1130, ownership device 1210, local device 1230, media device 1310, distributed ledger 1365, data store 1370, token device 1405, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, computing system 1900, input device 1945, or a combination thereof.
[0186]
[0213] In some examples, the means for determining the location of the media device and / or the means for determining that the location of the media device is within a geographic area may include image capture and processing system 100, image sensor 130, digital asset tracking system 200, one or more sensors 210, one or more pose sensors 215, one or more media sensors 220, first camera 330A, second camera 330B, first camera 430A, second camera 430B, third camera 430C, fourth camera 430D, image sensor 815, image sensor 915, image sensor 1015, image sensor 1315, positioning sensor 820, positioning sensor 920, positioning sensor 1020, positioning sensor 1120, positioning sensor 1220, positioning sensor 1320, media device 205, network device 205, network device 206, network device 208, network device 210, network device 220, network device 230, network device 240, network device 250, network device 260, network device 270, network device 280, network device 290, network device 300, network device 310, network device 320, network device 330, network device 340, network device 350, network device 360, network device 370, network device 380, network device 390, network device 400, network device 400, network device 410, network device 420, network device 430, network device 440, network device 450, network device 460, network device 470, network device 480, network device 490, network device 500, network device 510, network device 520, network device 530, network device 540, network device 550, network device 560, network device 80, local device 270, additional device 297, data store 298, anchor element 299, HMD 310, mobile handset 410, media device 810, local device 830, media device 910, local device 930, media device 1010, local device 1030, media device 1110, local device 1130, ownership device 1210, local device 1230, media device 1310, distributed ledger 1365, data store 1370, token device 1405, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, computing system 1900, communication interface 1940, input device 1945, or combinations thereof.
[0187]
[0214] In some examples, the means for generating tokens may include a digital asset tracking system 200, a media device 205, a network device 280, a local device 270, a distributed ledger 295, an additional device 297, a data store 298, an anchor element 299, an HMD 310, a mobile handset 410, a blockchain ledger 500, a token 600, a data structure 650, a DAG ledger 700, a media device 810, a local device 830, a media device 910, a local device 930, a media device 1010, a blockchain ledger 500, a token 600, a data structure 650, a DAG ledger 700, a media device 810, a local device 830, a media device 910, a local device 930, a media device 1010, a blockchain ledger 500, a blockchain ... blockchain 15A, one or more of the computing systems of FIG. 15B, computing system 1900, output device 1935, communication interface 1940, or a combination thereof.
[0188]
[0215] 16B is a flow diagram illustrating an example of a process 1650 for tracking digital assets associated with a location, according to some examples. The process 1650 may be performed by a digital asset tracking system. In some examples, the digital asset tracking system may include the digital asset tracking system 200 of FIG. 2 or a portion thereof. In some examples, the imaging system may include, for example, image capture and processing system 100, image capture device 105A, image processing device 105B, image processor 150, ISP 154, host processor 152, digital asset tracking system 200, media device 205, network device 280, local device 270, additional device 297, HMD 310, mobile handset 410, media device 810, local device 830, media device 910, local device 930, media device 1010, local device 1030, media device 1110, local device 1130, ownership device 1210, local device 1230, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, computing system 1900, processor 1910, or combinations thereof.
[0189]
[0216] At operation 1655, the digital asset tracking system is configured to receive, and can receive, from a media device, media data based on sensor data captured by one or more sensors of the media device. Examples of media devices can include image capture and processing system 100, image capture device 105A, image processing device 105B, media device 205, HMD 310, mobile handset 410, media device 810, media device 910, media device 1010, media device 1110, ownership device 1210, media device 1310, distributed ledger 1365, data store 1370, token device 1405, the computing system of Figures 15A-15B, computing system 1900, or combinations thereof. Examples of the one or more sensors include image sensor 130, one or more sensors 210, one or more pose sensors 215, one or more media sensors 220, first camera 330A, second camera 330B, first camera 430A, second camera 430B, third camera 430C, fourth camera 430D, image sensor 815, image sensor 915, image sensor 1015, image sensor 1315, positioning sensor 820, positioning sensor 920, positioning sensor 1020, positioning sensor 1120, positioning sensor 1220, positioning sensor 1320, or combinations thereof. Examples of sensor data can include sensor data 230, pose data 225, images captured by image sensor 130, images processed by ISP 154, images processed by host processor 152, images processed by image processor 150, stored communications of block 278, or combinations thereof.Examples of media data may include media data 250, sensor data 230, pose data 225, images captured by image sensor 130, images processed by ISP 154, images processed by host processor 152, images processed by image processor 150, stored communications of block 278, digital asset 605, digital asset 840, digital asset 940, digital asset 1040, digital asset 1140, digital asset 1240, digital asset 1340, virtual object 1345, digital asset 1425, or combinations thereof.
[0190]
[0217] In some examples, the digital asset tracking system includes one or more sensor connectors coupled to the one or more sensors. Media data may be received using the one or more sensor connectors. Sensor data captured by the one or more sensors may be received using the one or more sensor connectors. The one or more sensor connectors may include one or more of a port, a jack, a wire, an input / output (IO) pin, a conductive trace on a printed circuit board (PCB), any other type of connector described herein, or some combination thereof. In some examples, the digital asset tracking system includes one or more sensors.
[0191]
[0218] The media data may be sensor data. The media data may include sensor data. For example, the media device 205 may acquire the media data 250 by receiving the sensor data 230 and / or the pose data 225. The digital asset 840 is an example of media data that may be sensor data captured by the image sensor 815 of the media device 810. The digital asset 940 is an example of media data that may be sensor data captured by the image sensor 915 of the media device 910.
[0192]
[0219] The media device generates the media data at least in part by modifying the sensor data. Modifying the sensor data may include, for example, processing the sensor data as described with respect to the image processing device 105B and / or the media processor 235. In some aspects, the media device generates the media data at least in part by modifying the sensor data to add virtual content to the sensor data. The virtual content may be generated by the virtual content generator 240. The virtual content may be added to (e.g., merged with) the sensor data using the image compositor 245. An example of virtual content includes a virtual object 1045 (a virtual dog) that appears in the digital asset 1040 (an example of media data) despite not appearing in the sensor data captured by the image sensor 1015.
[0193]
[0220] The sensor data may include one or more images captured by one or more image sensors of the one or more sensors of the media device. The media data may be based on at least one of the one or more images. Examples of image sensors may include image sensor 130, media sensor 220, one or more media sensors 220, image sensor of first camera 330A, image sensor of second camera 330B, image sensor of first camera 430A, image sensor of second camera 430B, image sensor of third camera 430C, image sensor of fourth camera 430D, image sensor 815, image sensor 915, image sensor 1015, or combinations thereof. Examples of media data that is, includes, or is based on one or more images include digital asset 840, digital asset 940, digital asset 1040, digital asset 1240, digital asset 1340, digital asset 1425, or combinations thereof.
[0194]
[0221] At operation 1660, the digital asset tracking system is configured to receive and can receive positioning data indicative of the location of the media device contemporaneously with the capture of sensor data by one or more sensors of the media device. Examples of positioning data include pose data 225, sensor data 230, positioning information determined based on one or more communications 272 (e.g., by media device 205, and / or local device 270, and / or a digital asset tracking system), the stored communications of block 277, the stored communications of block 278, positioning information determined using image sensor 815 and / or positioning sensor 820, positioning information determined based on one or more communications 835 (e.g., by media device 810, and / or local device 830, and / or a digital asset tracking system), positioning information determined using image sensor 915 and / or positioning sensor 920, positioning information determined based on one or more communications 935 (e.g., by media device 910, and / or local device 930, and / or a digital asset tracking system), image sensor 1015 and / or The positioning information may include positioning information determined using the positioning sensor 1020, positioning information determined based on one or more communications 1035 (e.g., by the media device 1010, and / or the local device 1030, and / or a digital asset tracking system), positioning information determined using the positioning sensor 1120, positioning information determined based on one or more communications 1135 (e.g., by the media device 1110, and / or the local device 1130, and / or a digital asset tracking system), positioning information determined using the positioning sensor 1220, positioning information determined based on one or more communications 1235 (e.g., by the ownership device 1210, and / or the local device 1230, and / or a digital asset tracking system), positioning information determined using the image sensor 1315 and / or the positioning sensor 1320, the location of the token device 1405, or a combination thereof.
[0195]
[0222] The sensor data can include positioning data, where the positioning data is determined based on receipt of one or more positioning signals by a positioning receiver of one or more sensors of the media device. For example, at least some of the positioning data can include pose data 225 from one or more pose sensors 215 and / or positioning information that the media device 205 determines based on the communication 272. The media data can include a map generated by the media device based on the positioning data. The media device can generate the media data by generating a map based at least in part on the positioning data and / or the sensor data. One example of such a map includes a map in the digital asset 1140 that the media device 1110 generates based on positioning sensor data from the positioning sensor 1120.
[0196]
[0223] The sensor data may include secondary positioning data determined based on receipt of one or more positioning signals by a positioning receiver of one or more sensors of the media device. An example of the one or more positioning signals may include a GNSS signal, such as a GPS signal. An example of a positioning receiver may include a GNSS receiver, such as a GPS receiver. An example of the one or more positioning signals may include a signal carrying communication 272 between the media device 205 and the local device 270, a signal carrying communication 835 between the media device 810 and the local device 830, a signal carrying communication 935 between the media device 910 and the local device 930, a signal carrying communication 1035 between the media device 1010 and the local device 1030, a signal carrying communication 1135 between the media device 1110 and the local device 1130, a signal carrying communication 1235 between the ownership device 1210 and the local device 1230, or a combination thereof. The media data may include a map generated by the media device based on the positioning data. A media device can generate media data by generating a map based at least in part on the positioning data and / or sensor data. An example of such a map includes a map in a digital asset 1140 that a media device 1110 generates based on positioning sensor data from a positioning sensor 1120. An example of a positioning receiver can include a short-range wireless transceiver 260, a short-range wireless transceiver 275, or a combination thereof.
[0197]
[0224] To receive the positioning data, the digital asset tracking system can receive the positioning data from the media device. The positioning data can be based on receipt of one or more positioning signals by a positioning receiver of one or more sensors of the media device. For example, at least some of the positioning data can include pose data 225 from one or more pose sensors 215 and / or positioning information that the media device 205 determines based on the communication 272. An example of a positioning receiver can include a GNSS receiver, such as a GPS receiver. An example of the one or more positioning signals can include a GNSS signal, such as a GPS signal. An example of a positioning receiver can include a positioning sensor 820, a positioning sensor 920, a positioning sensor 1020, a positioning sensor 1120, a positioning sensor 1220, or a combination thereof. Examples of positioning receivers may include one or more short-range wireless transceivers 260, positioning sensors 820, 920, 1020, 1120, 1220, 1320, or combinations thereof. Examples of one or more positioning signals may include signals carrying communications 272 between the media device 205 and the local device 270, signals carrying communications 835 between the media device 810 and the local device 830, signals carrying communications 935 between the media device 910 and the local device 930, signals carrying communications 1035 between the media device 1010 and the local device 1030, signals carrying communications 1135 between the media device 1110 and the local device 1130, signals carrying communications 1235 between the ownership device 1210 and the local device 1230, or combinations thereof.
[0198]
[0225] To receive the positioning data, the digital asset tracking system can receive the positioning data from a local device separate from the media device. The positioning data can be based on receiving one or more positioning signals by a positioning receiver of the local device. Examples of local devices can include the image capture and processing system 100, the image capture device 105A, the image processing device 105B, the local device 270, the local device 830, the local device 930, the local device 1030, the local device 1130, the local device 1230, the local device 1435, the computing system of Figures 15A-15B, the computing system 1900, or combinations thereof. Examples of positioning receivers can include one or more short-range wireless transceivers 275. Examples of the one or more positioning signals may include a signal carrying communications 272 between the media device 205 and the local device 270, a signal carrying communications 835 between the media device 810 and the local device 830, a signal carrying communications 935 between the media device 910 and the local device 930, a signal carrying communications 1035 between the media device 1010 and the local device 1030, a signal carrying communications 1135 between the media device 1110 and the local device 1130, a signal carrying communications 1235 between the ownership device 1210 and the local device 1230, or a combination thereof.
[0199]
[0226] The positioning receiver may be a short-range wireless communication receiver configured to receive one or more short-range wireless communication signals. Examples of the short-range wireless communication receiver include one or more short-range wireless transceivers 260. The one or more short-range wireless communication signals may be transmitted by a local device in the geographic area. Examples of the local device may include the image capture and processing system 100, the image capture device 105A, the image processing device 105B, the local device 270, the local device 830, the local device 930, the local device 1030, the local device 1130, the local device 1230, the computing system of Figures 15A-15B, the computing system 1900, or a combination thereof. Examples of the one or more short-range wireless communication signals may include a signal carrying a communication 272 between the media device 205 and the local device 270, a signal carrying a communication 835 between the media device 810 and the local device 830, a signal carrying a communication 935 between the media device 910 and the local device 930, a signal carrying a communication 1035 between the media device 1010 and the local device 1030, a signal carrying a communication 1135 between the media device 1110 and the local device 1130, a signal carrying a communication 1235 between the ownership device 1210 and the local device 1230, or a combination thereof. The geographic area may correspond to a transmission range of the one or more short-range wireless communication signals by the local device. In some examples, the positioning receiver may be a GNSS receiver configured to receive one or more Global Navigation Satellite System (GNSS) signals from one or more satellites.
[0200]
[0227] In some aspects, the digital asset tracking system includes a local device. In some aspects, the digital asset tracking system includes a media device.
[0201]
[0228] In operation 1665, the digital asset tracking system is configured to and can verify, based on the positioning data, that the location of the media device is within the geographic area concurrently with the capture of the sensor data. An example of verifying that the location of the media device is within the geographic area concurrently with the capture of the sensor data includes block 290 of the digital asset tracking system 200 of FIG. 2, which may be performed by the network device 280, the media device 205, the local device 270, or a combination thereof. Examples of geographic areas include a museum, a sports venue, a concert venue, a movie theater, a shopping mall, a transmission range of one or more short-range wireless transceivers 275 of one or more local devices 270, a reception range of one or more short-range wireless transceivers 275 of one or more local devices 270 (for receiving signals transmitted using the one or more short-range wireless transceivers 260 of the media device), or a combination thereof.
[0202]
[0229] To verify that the location of the media device is within the geographic area concurrently with the capture of the sensor data, the digital asset tracking system can verify the content of one or more communications between the media device and a local device associated with the geographic area. To verify that the location of the media device is within the geographic area concurrently with the capture of the sensor data, the digital asset tracking system can verify the timing of the transmission and / or reception of one or more communications between the media device and a local device associated with the geographic area. To verify that the location of the media device is within the geographic area concurrently with the capture of the sensor data, the digital asset tracking system can verify the frequency of transmission and / or frequency of reception of one or more communications between the media device and a local device associated with the geographic area. Examples of local devices can include image capture and processing system 100, image capture device 105A, image processing device 105B, local device 270, local device 830, local device 930, local device 1030, local device 1130, local device 1230, the computing system of Figures 15A-15B, computing system 1900, or combinations thereof. One or more characteristics of the communication, such as content, transmission timing, reception timing, transmission frequency, and / or reception frequency, may be stored on the local device in a stored communication at block 277 and / or on the media device 205 in a stored communication at block 278.Examples of the one or more communications may include a signal carrying communication 272 between the media device 205 and the local device 270, a signal carrying communication 835 between the media device 810 and the local device 830, a signal carrying communication 935 between the media device 910 and the local device 930, a signal carrying communication 1035 between the media device 1010 and the local device 1030, a signal carrying communication 1135 between the media device 1110 and the local device 1130, a signal carrying communication 1235 between the ownership device 1210 and the local device 1230, or a combination thereof.
[0203]
[0230] To verify that the location of the media device is within a geographic area concurrent with the capture of the sensor data, the digital asset tracking system can verify that the sensor data (and / or media data) depict an object viewable within the geographic area. For example, in the context of FIG. 8A, the digital asset tracking system can verify that the digital asset 840 depicts an object (the Mona Lisa) that is within the geographic area (the Louvre), and therefore verify that the media device 810 is within the geographic area (the Louvre). In the context of FIG. 9A, the digital asset tracking system can verify that the digital asset 940 depicts an object (Bob 945) that is within the geographic area (the park), and therefore verify that the media device 910 is within the geographic area (the park). In the context of FIG. 10A, the digital asset tracking system can verify that the digital asset 1040 depicts objects (the virtual object 1045 and the real object 1047) that are within the geographic area (the park), and therefore verify that the media device 1010 is within the geographic area (the park). 11A, the digital asset tracking system can verify that the digital asset 1140 depicts objects (hiking trails) that are within a geographic area (Yosemite), and therefore can verify that the media device 1110 is within the geographic area (Yosemite). In the context of FIG. 13, the digital asset tracking system can verify that the digital asset 1340 depicts objects (virtual objects 1345 and real objects 1347) that are within a geographic area (a park), and therefore can verify that the media device 1310 is within the geographic area (a park).
[0204]
[0231] At operation 1670, the digital asset tracking system may be configured to automatically generate, in response to verifying that the location of the media device is within the geographic area, a token corresponding to the media data, the token being identified within the payload of a block of the distributed ledger. Examples of tokens may include token 600, token 860, token 960, token 1060, token 1160, token 1260, token 1360, token 1420, or combinations thereof. Examples of distributed ledgers include distributed ledger 295, blockchain ledger 500, DAG ledger 700, distributed ledger 1365, distributed ledger 1415, distributed ledgers corresponding to the smart contracts of Figures 15A-15B, or combinations thereof. Examples of blocks include block A 505, block B 535, block C 565, block 710, block 720, block 730, block 740, block 750, block 760, or combinations thereof. Examples of payloads include a block A payload 530, a block B payload 560, and a block C payload 590. The tokens may be non-fungible tokens (NFTs).
[0205]
[0232] In some aspects, the digital asset tracking system is configured to and can generate blocks for the distributed ledger automatically in response to verifying that the location of the media device is within the geographic area. In some aspects, the digital asset tracking system is configured to and can append blocks to a plurality of blocks of the distributed ledger. In some aspects, the digital asset tracking system is configured to and can transmit blocks to a plurality of computing devices such that the plurality of computing devices can append blocks to their respective copies of the distributed ledger. Examples of a plurality of computing devices can include the additional device 297, the computing system of FIGS. 15A-15B, computing system 1900, or a combination thereof.
[0206]
[0233] In some aspects, the digital asset tracking system may be configured to and may automatically transmit a request to the block generating computing device to generate a block for the distributed ledger in response to verifying that the location of the media device is within the geographic area. In some aspects, the digital asset tracking system may be configured to and may receive a block from the block generating computing device. In some aspects, the digital asset tracking system may be configured to and may append a block to a plurality of blocks of the distributed ledger. Examples of the block generating computing device may include one of the appending devices 297, one of the computing systems of Figures 15A-15B, computing system 1900, or a combination thereof.
[0207]
[0234] A block may include a hash of at least a portion of a previous block of the distributed ledger. Examples of hashes include hash 515, hash 545, and hash 575. A block may include a Merkle root of multiple elements of the payload of the block. Examples of Merkle roots include Merkle root 520, Merkle root 550, and Merkle root 580. A token may correspond to at least one of the multiple elements of the payload of the block. In some aspects, the digital asset tracking system is configured to and may generate the distributed ledger automatically in response to verifying that the location of the media device is within a geographic area.
[0208]
[0235] In some aspects, the digital asset tracking system is configured and capable of setting ownership of the token to an account associated with a user associated with the media device. For example, in the context of FIGS. 8A-8B, the digital asset tracking system can set ownership of the token 860 to the user 805. In the context of FIGS. 9A-9B, the digital asset tracking system can set ownership of the token 960 to the user 905. In the context of FIGS. 10A-10B, the digital asset tracking system can set ownership of the token 1060 to the user 1005. In the context of FIGS. 11A-11B, the digital asset tracking system can set ownership of the token 1160 to the user 1105. In the context of FIGS. 12A-12B, the digital asset tracking system can set ownership of the token 1260 to the user 1205. In the context of FIG. 13, the digital asset tracking system can set ownership of the token 1360 to the user 1305. 14, the digital asset tracking system may establish ownership of the token 1420 to a first user 1410 and / or a second user 1430. In some examples, token ownership may be stored on-chain, e.g., in token ownership 620, in on-chain immutable metadata 625, and / or in on-chain mutable metadata 630. In some examples, token ownership may be stored off-chain, e.g., in off-chain metadata 640.
[0209]
[0236] In some aspects, the digital asset tracking system is configured and capable of identifying that the sensor data includes a representation of an individual with a recognized identity. In the context of FIG. 9A, the digital asset tracking system can identify that the image captured by the image sensor 915 (and corresponding to the digital asset 940) includes a depiction of an individual with a recognized identity (Bob 945). In some aspects, the digital asset tracking system is configured and capable of setting ownership of the token to an account associated with the individual with the recognized identity. In the context of FIGS. 9A-9B, the digital asset tracking system can set ownership of the token 960 to Bob 945.
[0210]
[0237] In some aspects, the media device includes a head mounted display, such as HMD 310. In some aspects, the media device includes a mobile handset, such as mobile handset 410, media device 810, media device 910, media device 1010, media device 1110, ownership device 1210, or a combination thereof. In some aspects, the media device includes a wearable device. In some aspects, the media device is within a geographic area.
[0211]
[0238] In some aspects, the digital asset tracking system includes a head mounted display, such as HMD 310. In some aspects, the digital asset tracking system includes a mobile handset, such as mobile handset 410, media device 810, media device 910, media device 1010, media device 1110, ownership device 1210, or a combination thereof. In some aspects, the digital asset tracking system includes a wearable device. In some aspects, the digital asset tracking system includes a server. In some aspects, the digital asset tracking system is within a geographic area.
[0212]
[0239] In some aspects, the digital asset tracking system may include means for receiving media data based on sensor data captured by one or more sensors of the media device. In some aspects, the digital asset tracking system may include means for receiving positioning data indicative of a location of the media device contemporaneous with capture of the sensor data by one or more sensors of the media device. In some aspects, the digital asset tracking system may include means for verifying, based on the positioning data, that a location of the media device is within a geographic area contemporaneous with capture of the sensor data. In some aspects, the digital asset tracking system may include means for automatically generating a token corresponding to the media data in response to verifying that a location of the media device is within the geographic area, the token being identified in a payload of a block of the distributed ledger.
[0213]
[0240] In some examples, the means for receiving media data includes the network device 280. In some examples, the means for receiving media data includes the media device 205, the media device 810, the media device 910, the media device 1010, the media device 1110, the ownership device 1210, or a combination thereof. In some examples, the means for receiving media data includes the local device 270, the local device 830, the local device 930, the local device 1030, the local device 1130, the local device 1230, or a combination thereof. In some examples, the means for receiving media data includes the HMD 310. In some examples, the means for receiving media data includes the media processor 235. In some examples, the means for receiving media data includes the mobile handset 410. In some examples, the means for receiving media data includes the image sensor 130. In some examples, the means for receiving media data includes the image capture device 105A, the image processing device 105B, the image capture and processing system 100, or a combination thereof. In some examples, the means for receiving media data includes receiving the media data at a network transceiver (such as network device 285) from a network transceiver (such as network transceiver 265) of the media device 205 via communication 282. In some examples, the means for receiving media data includes capturing sensor data (such as pose data 225 and / or sensor data 230) by one or more sensors 210 of the media device 205. In some examples, the means for receiving media data includes generating and / or acquiring media data 250 at the media device 205. In some examples, the means for receiving media data includes capturing sensor data (such as pose data 225 and / or sensor data 230) by one or more sensors 210 of the media device 205.In some examples, the means for receiving media data includes generating and / or acquiring media data 250 at media device 205. In some examples, the means for receiving media data includes digital asset 605. In some examples, the means for receiving media data includes digital asset 840, digital asset 940, digital asset 1040, digital asset 1140, digital asset 1240, or a combination thereof. In some examples, the means for receiving media data includes image sensor 815, image sensor 915, image sensor 1015, or a combination thereof. In some examples, the means for receiving media data includes a digital asset tracking system that performs process 1600. In some examples, the means for receiving media data includes first camera 330A and / or second camera 330B. In some examples, the means for receiving media data includes first camera 430A, second camera 430B, third camera 430C, fourth camera 430D, or a combination thereof.
[0214]
[0241] In some examples, the means for receiving the positioning data includes the network device 280. In some examples, the means for receiving the positioning data includes the media device 205, the media device 810, the media device 910, the media device 1010, the media device 1110, the ownership device 1210, or a combination thereof. In some examples, the means for receiving the positioning data includes the local device 270, the local device 830, the local device 930, the local device 1030, the local device 1130, the local device 1230, or a combination thereof. In some examples, the means for receiving the positioning data includes the HMD 310. In some examples, the means for receiving the positioning data includes the mobile handset 410. In some examples, the means for receiving the positioning data includes receiving the pose data at a network transceiver (such as network device 285) from a network transceiver (such as network transceiver 265) of the media device 205 via communication 282 (e.g., as pose data 225 and / or as part of the media data 250 and / or as part of the information related to the communication 272). In some examples, the means for receiving the positioning data includes capturing the pose data 225 and / or the sensor data 230 by one or more sensors 210 of the media device 205. In some examples, the means for receiving the positioning data includes receiving a stored copy of the communication 272 (e.g., the stored communication of block 277 and / or the stored communication of block 278). In some examples, the means for receiving the positioning data includes generating and / or obtaining the media data 250 at the media device 205 (e.g., where the media data is based at least in part on and / or includes the pose data 225). In some examples, the means for receiving the positioning data includes receiving the positioning data at a network transceiver (such as network transceiver 285) from a network transceiver (such as network transceiver 265) of the media device 205 via communication 282.In some examples, the means for receiving positioning data includes a positioning sensor 820, a positioning sensor 920, a positioning sensor 1020, a positioning sensor 1120, a positioning sensor 1220, or a combination thereof. In some examples, the means for receiving positioning data includes a digital asset tracking system performing process 1650. In some examples, the means for receiving positioning data includes receiving data regarding the communication 272 from the media device 205 and / or the local device 270, receiving data regarding the communication 835 from the media device 810 and / or the local device 830, receiving data regarding the communication 935 from the media device 910 and / or the local device 930, receiving data regarding the communication 1035 from the media device 1010 and / or the local device 1030, receiving data regarding the communication 1135 from the media device 1110 and / or the local device 1130, receiving data regarding the communication 1235 from the ownership device 1210 and / or the local device 1230, or a combination thereof. In some examples, the means for receiving positioning data includes the first camera 330A and / or the second camera 330B. In some examples, the means for receiving positioning data includes the first camera 430A, the second camera 430B, the third camera 430C, the fourth camera 430D, or a combination thereof.
[0215]
[0242] In some examples, the means for verifying the location of the media device includes the network device 280. In some examples, the means for verifying the location of the media device includes the media device 205, the media device 810, the media device 910, the media device 1010, the media device 1110, the ownership device 1210, or a combination thereof. In some examples, the means for verifying the location of the media device includes the local device 270, the local device 830, the local device 930, the local device 1030, the local device 1130, the local device 1230, or a combination thereof. In some examples, the means for verifying the location of the media device includes the HMD 310. In some examples, the means for verifying the location of the media device includes the mobile handset 410. In some examples, the means for verifying the location of the media device includes the media device 205. In some examples, the means for verifying the location of the media device includes the local device 270. In some examples, the means for verifying the location of the media device includes verifying (block 290) that a pose of the media device 205 is within a geographic area associated with the local device 270. In some examples, the means for verifying the location of the media device includes receiving positioning data at a network transceiver (such as network device 285) from a network transceiver (such as network transceiver 265) of the media device 205 via communication 282 and comparing the positioning data to a geographic area. In some examples, the means for verifying the location of the media device includes a token smart contract 645. In some examples, the means for verifying the location of the media device includes the smart contract of Figures 15A-15B. In some examples, the means for verifying the location of the media device includes a digital asset tracking system that performs process 1650.
[0216]
[0243] In some examples, the means for generating a token corresponding to the media data includes the network device 280. In some examples, the means for generating a token corresponding to the media data includes the media device 205, the media device 810, the media device 910, the media device 1010, the media device 1110, the ownership device 1210, or a combination thereof. In some examples, the means for generating a token corresponding to the media data includes the local device 270, the local device 830, the local device 930, the local device 1030, the local device 1130, the local device 1230, or a combination thereof. In some examples, the means for generating a token corresponding to the media data includes the HMD 310. In some examples, the means for generating a token corresponding to the media data includes the mobile handset 410. In some examples, the means for generating a token corresponding to the media data includes the distributed ledger 295, the blockchain ledger 500, the DAG ledger 700, a distributed ledger corresponding to the smart contract of Figures 15A-15B, or a combination thereof. In some examples, the means for generating a token corresponding to the media data includes TOKEN 600. In some examples, the means for generating a token corresponding to the media data includes TOKEN 860, TOKEN 960, TOKEN 1060, TOKEN 1160, TOKEN 1260, or a combination thereof. In some examples, the means for generating a token corresponding to the media data includes TOKEN smart contract 645. In some examples, the means for generating a token corresponding to the media data includes the smart contract of FIGS. 15A-15B. In some examples, the means for generating a token corresponding to the media data includes the computing system of FIGS. 15A-15B. In some examples, the means for generating a token corresponding to the media data includes computing system 1900. In some examples, the means for generating a token corresponding to the media data includes a digital asset tracking system that performs process 1650.
[0217]
[0244] 17 is a flow diagram illustrating a process 1700 for contextual token related media output. The process 1700 may be performed by a digital asset management system. In some examples, the digital asset management system may include the digital asset tracking system 200 of FIG. 2 or a portion thereof. In some examples, the imaging system may include, for example, the image capture and processing system 100, the image capture device 105A, the image processing device 105B, the image processor 150, the ISP 154, the host processor 152, the digital asset tracking system 200, the media device 205, the network device 280, the local device 270, the additional device 297, the data store 298, the anchor element 299, the HMD 310, the mobile handset 410, the media device 810, the local device 830, the media device 910, the local device 930, the media device 1010, the local device 1030, the media The data store 1370, the token device 1405, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, a digital asset management system that performs process 1600, a digital asset tracking system that performs process 1650, a digital asset management system that performs process 1800, a computing system 1900, a processor 1910, or combinations thereof.
[0218]
[0245] At operation 1705, the digital asset management system is configured to receive and can receive sensor data captured by at least one sensor of a media device. Examples of media devices can include image capture and processing system 100, image capture device 105A, image processing device 105B, media device 205, HMD 310, mobile handset 410, media device 810, media device 910, media device 1010, media device 1110, ownership device 1210, media device 1310, distributed ledger 1365, data store 1370, token device 1405, the computing system of Figures 15A-15B, computing system 1900, or combinations thereof. Examples of the at least one sensor include image sensor 130, one or more sensors 210, one or more pose sensors 215, one or more media sensors 220, first camera 330A, second camera 330B, first camera 430A, second camera 430B, third camera 430C, fourth camera 430D, image sensor 815, image sensor 915, image sensor 1015, image sensor 1315, positioning sensor 820, positioning sensor 920, positioning sensor 1020, positioning sensor 1120, positioning sensor 1220, positioning sensor 1320, or combinations thereof. Examples of sensor data can include sensor data 230, pose data 225, images captured by image sensor 130, images processed by ISP 154, images processed by host processor 152, images processed by image processor 150, stored communications of block 278, or combinations thereof.
[0219]
[0246] In some examples, the digital asset tracking system includes one or more sensor connectors coupled to the one or more sensors. Media data may be received using the one or more sensor connectors. Sensor data captured by the one or more sensors may be received using the one or more sensor connectors. The one or more sensor connectors may include one or more of a port, a jack, a wire, an input / output (IO) pin, a conductive trace on a printed circuit board (PCB), any other type of connector described herein, or some combination thereof. In some examples, the digital asset tracking system includes one or more sensors.
[0220]
[0247] In operation 1710, the digital asset management system is configured to and can identify a relationship between the media device and an anchor element associated with the token based on the sensor data. In some examples, the relationship between the media device and the anchor element can include an interaction between the media device and the anchor element. Examples of anchor elements include anchor element 299, anchor element 1350, optical glyphs, designated areas, designated locations, designated sounds, etc.
[0221]
[0248] In some examples, the sensor data includes image data captured by at least one image sensor of the at least one sensor of the media device. The anchor element can include an object. Identifying the relationship between the media device and the anchor element can include identifying that the image data depicts the object. For example, in some examples, the object includes an optical glyph, and the information indicative of the token is optically encoded based on the optical glyph, as shown in the anchor element 1350. Examples of optical glyphs include a Quick Response (QR) code, a bar code, an Aztec code, a dot code, a data matrix, a shot code, or combinations thereof. In some examples, reference image data depicting the object is stored in a data store (e.g., data store 298, data structure 650, data store 1370), and identifying that the image data depicts the object includes comparing the image data to the reference image data.
[0222]
[0249] In some examples, the sensor data includes location data indicating a location of the media device. Examples of location data include pose data 225, sensor data 230, positioning information determined based on one or more communications 272 (e.g., by media device 205, and / or local device 270, and / or a digital asset tracking system), the stored communications of block 277, the stored communications of block 278, positioning information determined using image sensor 815 and / or positioning sensor 820, positioning information determined based on one or more communications 835 (e.g., by media device 810, and / or local device 830, and / or a digital asset tracking system), positioning information determined using image sensor 915 and / or positioning sensor 920, positioning information determined based on one or more communications 935 (e.g., by media device 910, and / or local device 930, and / or a digital asset tracking system), image sensor 1015 and / or The positioning information may include positioning information determined using the positioning sensor 1020, positioning information determined based on one or more communications 1035 (e.g., by the media device 1010, and / or the local device 1030, and / or a digital asset tracking system), positioning information determined using the positioning sensor 1120, positioning information determined based on one or more communications 1135 (e.g., by the media device 1110, and / or the local device 1130, and / or a digital asset tracking system), positioning information determined using the positioning sensor 1220, positioning information determined based on one or more communications 1235 (e.g., by the ownership device 1210, and / or the local device 1230, and / or a digital asset tracking system), positioning information determined using the image sensor 1315 and / or the positioning sensor 1320, the location of the token device 1405, or a combination thereof.
[0223]
[0250] In some examples, the anchor element includes an area, and identifying the relationship between the media device and the anchor element includes identifying that the location of the media device is within the area. In some examples, the anchor element includes a location, and identifying the relationship between the media device and the anchor element includes identifying that the location of the media device is within a threshold range of the location. In some examples, the area and / or the threshold range of the location includes an area within a communication range of the local device. Examples of local devices include image capture and processing system 100, image capture device 105A, image processing device 105B, local device 270, local device 830, local device 930, local device 1030, local device 1130, local device 1230, local device 1435, the computing system of Figures 15A-15B, computing system 1900, or combinations thereof.
[0224]
[0251] In some examples, the sensor data includes audio data captured by at least one microphone of at least one sensor of the media device (e.g., sensor 210). In some examples, the anchor element includes audio, and identifying a relationship between the media device and the anchor element includes identifying that the audio data includes audio. For example, if a particular song or other audio is playing in an area, the relationship between the media device and the anchor element may be identified by detecting the audio from a microphone recording by the media device.
[0225]
[0252] At operation 1715, the digital asset management system may be configured to identify a token within a payload of at least one block of the distributed ledger, where the token corresponds to media content according to the distributed ledger. For example, in the context of FIG. 13, in response to identifying a relationship between the media device 1310 and the anchor element 1350 (e.g., that the media device 1310 scans the QR code of the anchor element 1350), the digital asset management system may identify a token 1360 within the distributed ledger 1365, where the token 1360 may correspond to a digital asset 1340 (e.g., media content).
[0226]
[0253] Examples of tokens may include token 600, token 860, token 960, token 1060, token 1160, token 1260, token 1360, token 1420, or combinations thereof. Examples of distributed ledgers include distributed ledger 295, blockchain ledger 500, DAG ledger 700, distributed ledger 1365, distributed ledger 1415, distributed ledgers corresponding to the smart contracts of Figures 15A-15B, or combinations thereof. Examples of blocks include block A 505, block B 535, block C 565, block 710, block 720, block 730, block 740, block 750, block 760, or combinations thereof. Examples of payloads include block A payload 530, block B payload 560, and block C payload 590. Tokens may be non-fungible tokens (NFTs).
[0227]
[0254] At operation 1720, the digital asset management system is configured to and may generate a representation of the media content corresponding to the token. At operation 1725, in response to identifying a relationship between the media device and the anchor element at operation 1720, the digital asset management system is configured to and may output a representation of the media content. For example, in the context of FIG. 13, the representation of the media content corresponding to the token may include the digital asset 1340, the virtual object 1345, information 1355 about the token 1360 associated with the digital asset 1340, one or more customizations 1357, or a combination thereof.
[0228]
[0255] In some examples, outputting the representation of the media content includes causing a display (e.g., output device(s) 1935) to display at least a portion of the media content. In some examples, outputting the representation of the media content includes transmitting the representation of the media content to a receiving device (e.g., using communication interface 1940). Examples of receiving devices may include any of the examples of media devices enumerated herein.
[0229]
[0256] In some examples, the digital asset management system is configured to and can identify a media device pose of the media device based on the sensor data. The digital asset management system can determine a media content pose for the media content based on the media device pose of the media device. In some examples, outputting a representation of the media content includes outputting a representation of the media content posed according to the media content pose. Examples of media content pose include customization 1357 and / or any other modification, customization, and / or personalization to the digital asset 1340.
[0230]
[0257] In some examples, the digital asset management system is configured to and can identify that parameters of the token (e.g., token ownership 620, token smart contract 645) indicate that the token is associated with the first user based on the distributed ledger. The digital asset management system can determine a visual effect for the media content based on the parameters of the token indicating that the token is associated with the first user. The digital asset management system can apply a visual effect to the media content. In some examples, outputting a representation of the media content includes outputting a representation of the media content with the visual effect applied. Examples of visual effects include customizations 1357 and / or any other modifications, customizations, and / or personalizations to the digital asset 1340.
[0231]
[0258] In some examples, the digital asset management system may be configured to determine, based on the data store, that the first user and the second user are associated according to a relationship type. The media device is associated with the second user. A visual effect for the media content may correspond to the relationship type. For example, the visual effect may indicate whether the first user and the second user are family, friends, spouses, significant others, coworkers, acquaintances, acquaintances, employers / employees, order takers / order takers, mentors / students, girlfriends / boyfriends, partners, or another relationship type.
[0232]
[0259] In some examples, the digital asset management system is configured and can determine that the media device is associated with a first user, and visual effects for the media content correspond to the first user, for example, the visual effects can indicate to the first user that the media content is the first user's own media content and / or is associated with the first user's own token.
[0233]
[0260] In some examples, the digital asset management system may be configured to determine, based on the data store, that the first user is a celebrity. Visual effects for the media content correspond to the first user being a celebrity. In some examples, different categories of celebrities may have different visual effects to distinguish, for example, politicians, sports stars, musicians, movie stars, TV stars, famous scientists, etc.
[0234]
[0261] In some examples, the digital asset management system is configured to and can determine a rating associated with the media content based on the data store. A visual effect for the media content can correspond to the rating. The rating can be a selected number relative to a maximum possible number. For example, the rating can be 3 out of 5, or 9 out of 10, or some other rating. Different ratings can have different visual effects. In some examples, the maximum rating (e.g., 5 out of 5, 10 out of 10, etc.) can have a specified visual effect.
[0235]
[0262] In some examples, the digital asset management system is configured and can determine that the token is identified in a data store. The visual effects for the media content correspond to the data store. For example, the data store can include a record for the token and / or the media content. The record can identify and / or store the visual effects. Examples of data stores include data store 298, data structure 650, and / or data store 1370.
[0236]
[0263] In some examples, the digital asset management system is configured and can retrieve information about the token from the distributed ledger and output information about the token. Examples of information about the token include information 1355 about the token 1360. In some examples, outputting information about the token includes causing a display to display at least a portion of the information, for example, as shown in FIG. 13 where the information 1355 is displayed on the media device 1310 along with the digital asset 1340. In some examples, the information identifies the distributed ledger. In some examples, the digital asset management system is configured and can identify that parameters of the token (e.g., token ownership 620, token smart contract 645) indicate that the token is associated with a first user based on the distributed ledger. The information can identify the first user.
[0237]
[0264] For example, in the context of FIGS. 8A-8B, the digital asset tracking system may set a parameter of token 860 to indicate that the token is associated with user 805. In the context of FIGS. 9A-9B, the digital asset tracking system may set a parameter of token 960 to indicate that the token is associated with user 905. In the context of FIGS. 10A-10B, the digital asset tracking system may set a parameter of token 1060 to indicate that the token is associated with user 1005. In the context of FIGS. 11A-11B, the digital asset tracking system may set a parameter of token 1160 to indicate that the token is associated with user 1105. In the context of FIGS. 12A-12B, the digital asset tracking system may set a parameter of token 1260 to indicate that the token is associated with user 1205. In the context of FIG. 13, the digital asset tracking system may set a parameter of token 1360 to indicate that the token is associated with user 1305. 14, the digital asset tracking system may set parameters of the token 1420 to indicate that the token is associated with a first user 1410 and / or a second user 1430. In some examples, the parameters of the token may be stored on-chain, e.g., in token ownership 620, in on-chain immutable metadata 625, and / or in on-chain mutable metadata 630. In some examples, the parameters of the token may be stored off-chain, e.g., in off-chain metadata 640.
[0238]
[0265] In some examples, the digital asset management system is configured to and can identify, based on the distributed ledger, that a parameter of the token (e.g., the token smart contract 645) indicates that the token is associated with a smart contract. The information can identify the smart contract. In some examples, the digital asset management system is configured to and can identify, based on the distributed ledger, that a parameter of the token (e.g., the token unit amount 615) indicates a quantity of an instance of the token, and the information identifies the quantity of the instance of the token.
[0239]
[0266] In some examples, the digital asset management system is configured and can identify a transfer platform configured for token transfer (e.g., configured for buying, selling, renting, licensing tokens, or some combination thereof). The digital asset management system can output an interface element (e.g., a button, a menu, or another user interface element) that corresponds to the media content. The interface element can be configured to initiate a transfer of the token with the transfer platform (e.g., sell the token, buy the token, rent the token, lease the token, and / or license the token) upon interaction with the interface element (e.g., by a user of the digital asset management system via input device 1945).
[0240]
[0267] In some examples, the digital asset management system performing process 1700 may include at least one of a head mounted display (HMD) (e.g., HMD 310), a mobile handset (e.g., mobile handset 410), a wireless communication device, or a combination thereof.
[0241]
[0268] In some examples, a digital asset management system includes means for receiving sensor data captured by at least one sensor of a media device, means for identifying a relationship between the media device and an anchor element associated with the token based on the sensor data, means for identifying the token in a payload of at least one block of the distributed ledger, where the token corresponds to the media content according to the distributed ledger, means for generating a representation of the media content corresponding to the token, where the token corresponds to the media content according to the distributed ledger, and means for outputting the representation of the media content in response to identifying the relationship between the media device and the anchor element.
[0242]
[0269] In some examples, the means for receiving sensor data may include the image capture and processing system 100, the image sensor 130, the digital asset tracking system 200, the one or more sensors 210, the one or more pose sensors 215, the one or more media sensors 220, the first camera 330A, the second camera 330B, the first camera 430A, the second camera 430B, the third camera 430C, the fourth camera 430D, the image sensor 815, the image sensor 915, the image sensor 1015, the image sensor 1315, the positioning sensor 820, the positioning sensor 920, the positioning sensor 1020, the positioning sensor 1120, the positioning sensor 1220, the positioning sensor 1320, the media device 205, the network device 280, the local device 270, Additional device 297, data store 298, anchor element 299, HMD 310, mobile handset 410, media device 810, local device 830, media device 910, local device 930, media device 1010, local device 1030, media device 1110, local device 1130, ownership device 1210, local device 1230, media device 1310, distributed ledger 1365, data store 1370, token device 1405, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, computing system 1900, input device 1945, or combinations thereof.
[0243]
[0270] In some examples, the means for identifying relationships and / or identifying tokens may include a digital asset tracking system 200, a media device 205, a network device 280, a local device 270, an additional device 297, a data store 298, an anchor element 299, an HMD 310, a mobile handset 410, a blockchain ledger 500, a token 600, a data structure 650, a DAG ledger 700, a media device 810, a local device 830, a media device 910, a local device 930, a media device 1010, a blockchain ledger 500, a token 600, a data structure 650, a DAG ledger 700, a media device 810, a local device 830, a media device 910, a local device 930, a media device 1010, a blockchain ledger 500, a blockchain ... 15A, one or more of the computing systems of FIG. 15B, computing system 1900, or a combination thereof.
[0244]
[0271] In some examples, the means for generating a representation of the media content and / or outputting a representation of the media content may include the digital asset tracking system 200, the media device 205, the media processor 235, the network device 280, the local device 270, the additional device 297, the data store 298, the anchor element 299, the HMD 310, the display 340, the mobile handset 410, the display 440, the media device 810, the local device 830, the media device 910, the local device 930, the media device 840, the media processor 235, the network device 280, the local device 270, the additional device 297, the data store 298, the anchor element 299, the HMD 310, the display 340, the mobile handset 410, the display 440, the media device 810, the local device 830, the media device 910, the local device 930, the media device 850, the media device 860, the media device 870, the media device 880, the media device 890, the media device 910, the local device 920, the media device 930, the media device 940, the media device 950, the media device 960, the media device 970, the media device 980, the media device 990, the media device 910, the media device 920, the media device 940, the media device 950, the media device 960, the media device 970, the media device 980, the media device 9 ... 15A , one or more of the computing systems of FIG. 15B , a computing system 1900, an output device 1935, a communication interface 1940, or a combination thereof.
[0245]
[0272] 18 is a flow diagram illustrating a process 1800 for token device transfer management. The process 1800 may be performed by a digital asset management system. In some examples, the digital asset management system may include the digital asset tracking system 200 of FIG. 2 or a portion thereof. In some examples, the imaging system may include, for example, the image capture and processing system 100, the image capture device 105A, the image processing device 105B, the image processor 150, the ISP 154, the host processor 152, the digital asset tracking system 200, the media device 205, the network device 280, the local device 270, the additional device 297, the data store 298, the anchor element 299, the HMD 310, the mobile handset 410, the media device 810, the local device 830, the media device 910, the local device 930, the media device 1010, the local device 1030, the media The data store 1370, the token device 1405, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, a digital asset management system that performs process 1600, a digital asset tracking system that performs process 1650, a digital asset management system that performs process 1700, a computing system 1900, a processor 1910, or combinations thereof.
[0246]
[0273] In operation 1805, the digital asset management system may be configured to identify, and may identify, within a payload of at least one block of the distributed ledger, a token corresponding to the media content. A parameter of the token in the distributed ledger indicates that the token is associated with the first user. Examples of tokens may include token 600, token 860, token 960, token 1060, token 1160, token 1260, token 1360, token 1420, or combinations thereof. Examples of distributed ledgers include distributed ledger 295, blockchain ledger 500, DAG ledger 700, distributed ledger 1365, distributed ledger 1415, distributed ledgers corresponding to the smart contracts of Figures 15A-15B, or combinations thereof. Examples of blocks include block A 505, block B 535, block C 565, block 710, block 720, block 730, block 740, block 750, block 760, or combinations thereof. Examples of payloads include a block A payload 530, a block B payload 560, and a block C payload 590. The tokens may be non-fungible tokens (NFTs).
[0247]
[0274] In operation 1810, the digital asset management system is configured and capable of identifying a device associated with the token and the media content. The device is associated with a first user. Examples of devices include image capture and processing system 100, image capture device 105A, image processing device 105B, media device 205, HMD 310, mobile handset 410, media device 810, media device 910, media device 1010, media device 1110, ownership device 1210, media device 1310, distributed ledger 1365, data store 1370, token device 1405, computing system of Figures 15A-15B, computing system 1900, or combinations thereof. Examples of first users include user 320, user 805, user 905, user 1005, user 1105, user 1205, user 1305, user 1410, and / or second user 1430.
[0248]
[0275] In some examples, the device is configured to present media content, for example, the device may be configured to display media content, such as shown with respect to the token device 1405 displaying the digital asset 1425 corresponding to the token 1420.
[0249]
[0276] In some examples, an identifier for the device is stored in a distributed ledger (e.g., distributed ledger 295, blockchain ledger 500, DAG ledger 700, distributed ledger 1365, distributed ledger 1415, a distributed ledger corresponding to a smart contract of FIGS. 15A-15B, or a combination thereof) and / or a data store (e.g., data store 298, data structure 650, and / or data store 1370), and identifying the device is based on the identifier. For example,
[0277] In some examples, the device includes an interactive element indicative of the token, and identifying the token in act 1805 is based on an interaction with the interactive element. In some examples, the interaction includes an optical glyph, and an identifier of the token is optically encoded based on the optical glyph. In some examples, the optical glyph includes one or more QR codes, bar codes, Aztec codes, dot codes, data matrices, shot codes, or combinations thereof. Interaction with an interactive element including an optical glyph can include scanning the optical glyph to decode information optically encoded therein (e.g., a uniform resource locator (URL) and / or a uniform resource identifier (URI)). The interactive element can include a short-range wireless communication transceiver, such as a transceiver for near field communication (NFC), radio frequency identification (RFID), Bluetooth, WLAN, PAN, or any combination thereof. Interaction with an interactive element including a short-range wireless communication transceiver can include communication with the short-range wireless communication transceiver (e.g., sending and receiving one or more wireless signals to and from the short-range wireless communication transceiver).
[0250]
[0278] In some examples, the digital asset management system is configured and capable of receiving the image data and detecting that a device is represented in the image data. In some examples, the digital asset management system may identify the token in operation 1805 based on detecting that the device is represented in the image data. For example, in some examples, the digital asset management system may detect and / or recognize a device in the image data based on a comparison to reference image data depicting the device and / or media content. In some examples, the digital asset management system may detect and / or recognize elements on the device, such as optical glyphs, by scanning the optical glyphs to decode information optically encoded therein (e.g., uniform resource locators (URLs) and / or uniform resource identifiers (URIs)).
[0251]
[0279] In operation 1815, the digital asset management system is configured and capable of identifying that the device has been relocated to an area associated with a second user. Examples of the second user include user 320, user 805, user 905, user 1005, user 1105, user 1205, user 1305, user 1410, and / or second user 1430. In one example, the first user of operation 1810 is the first user 1410 of FIG. 14 and the second user of operation 1815 is the second user 1430 of FIG. 14. In another example, the first user of operation 1810 is the second user 1430 of FIG. 14 and the second user of operation 1815 is the first user 1410 of FIG. 14.
[0252]
[0280] In some examples, identifying that the device has been relocated to an area associated with the second user includes identifying that one or more additional devices located in the area are associated with the second user. For example, other devices (e.g., other token devices, media devices, and / or computing systems) in the area associated with the second user may include information indicating that these devices belong to and / or are associated with the second user. The device may communicate with these one or more additional devices to obtain this information, and the digital asset management system may identify the relocation based on these communications.
[0253]
[0281] In some examples, identifying that the device has been relocated to an area associated with the second user includes identifying that a wireless local area network (WLAN) in the area is associated with the second user. For example, the device may include a wireless network transceiver that may be capable of searching for and / or connecting to a WLAN network and locating and / or connecting to a WLAN associated with the second user in an area associated with the second user, and the digital asset management system may identify the relocation based on the device detecting and / or connecting to this WLAN.
[0254]
[0282] In some examples, identifying that the device has been relocated to an area associated with the second user includes determining that location data from at least one location sensor of the device indicates that the device is located within that area, where the area is a geographic area.
[0255]
[0283] In some examples, identifying that the device has been relocated to an area associated with the second user includes determining that location data from at least one location sensor of the device indicates that the device is located within a range of a location of the second user, and the area associated with the second user is within the range of the location of the second user. For example, the device may include a location sensor (e.g., positioning sensor 820, positioning sensor 920, positioning sensor 1020, positioning sensor 1120, positioning sensor 1220, positioning sensor 1320, or a combination thereof), such as a GNSS positioning receiver. The device's location sensor can identify a location of the device, and the digital asset management system can identify the relocation based on whether the location of the device is within a predetermined geographic area associated with the second user.
[0256]
[0284] In some examples, identifying that the device has been relocated to an area associated with a second user includes identifying that the device has been relocated from a first area associated with a first user. For example, when the token device 1405 is relocated to an area associated with a second user 1430, the token device 1405 is also relocated from an area associated with a first user 1410. Detecting that the device has been relocated from a first area associated with a first user can be based on any of the types of detections enumerated above with respect to detecting that the device has been relocated to an area associated with a second user. For example, the digital asset management system can identify the relocation from the first area based on the device no longer being able to communicate with other devices associated with the first user in the first area, based on the device no longer being able to detect and / or connect to a WLAN associated with the first user and / or in the first area, based on the user's location sensor indicating a location that is no longer within a predetermined geographic area associated with the first user, or a combination thereof.
[0257]
[0285] At operation 1820, in response to identifying that the device has been relocated to the area at operation 1815, the digital asset management system is configured and can cause parameters of the token in the distributed ledger (e.g., token ownership 620, token smart contract 645) to be amended from indicating that the token is associated with a first user to indicating that the token is associated with a second user. For example, the digital asset management system can amend the parameters from indicating that the token is associated with the first user 1410 to indicating that the token is associated with the second user 1430.
[0258]
[0286] In some examples, causing a parameter of the token in the distributed ledger to be modified includes causing a new block to be added to the distributed ledger. The parameter of the token in the distributed ledger may be modified based on a payload of the new block. In some examples, causing a new block to be added to the distributed ledger includes generating the new block.
[0259]
[0287] In some examples, the digital asset management system is configured to and can send a request to a first user device associated with the first user for authorization to modify a parameter of the token in the distributed ledger from indicating the token is associated with the first user to indicating the token is associated with a second user. The digital asset management system can receive the authorization from the first user device. In some examples, the digital asset management system causes the parameter to be changed in operation 1820 in response to receiving the authorization from the first user device.
[0260]
[0288] In some examples, the digital asset management system is configured to and can send a request to a second user device associated with a second user for authorization to modify a parameter of the token in the distributed ledger from indicating the token is associated with the first user to indicating the token is associated with the second user. The digital asset management system can receive the authorization from the second user device. In some examples, the digital asset management system causes the parameter to be changed in operation 1820 in response to receiving the authorization from the second user device.
[0261]
[0289] In some examples, the digital asset management system may be configured to identify, and may identify, in the distributed ledger, a smart contract associated with the token. The smart contract indicates that a parameter of the token should be modified in response to a condition. Causing the parameter of the token in the distributed ledger to be modified as in operation 1820 may include executing the smart contract in response to identifying the condition. Identifying the condition is based on identifying that the device has been relocated to an area associated with the second user. Examples of smart contracts include the token smart contract 645, the smart contracts of Figures 15A-15B, or combinations thereof. The smart contract may be indicated in the distributed ledger. Examples of the condition include the condition of Figure 15B.
[0262]
[0290] In some examples, the digital asset management system performing process 1800 may include one of a head mounted display (HMD) (e.g., HMD 310), a mobile handset (e.g., mobile handset 410), a wireless communication device, or a combination thereof.
[0263]
[0291] In some examples, a digital asset management system includes means for identifying a token corresponding to media content within a payload of at least one block of the distributed ledger, means for identifying a device associated with the token and the media content, where parameters of the token in the distributed ledger indicate that the token is associated with a first user, means for identifying that the device has been relocated to an area associated with a second user, where the device is associated with the first user, and means for, in response to identifying that the device has been relocated to the area, causing parameters of the token in the distributed ledger to be modified from indicating that the token is associated with the first user to indicating that the token is associated with the second user.
[0264]
[0292] In some examples, the means for identifying the token and / or causing the parameters of the token to be modified may include the digital asset tracking system 200, the media device 205, the network device 280, the local device 270, the additional device 297, the data store 298, the anchor element 299, the HMD 310, the mobile handset 410, the blockchain ledger 500, the token 600, the data structure 650, the DAG ledger 700, the media device 810, the local device 830, the media device 910, the local device 930, the media device 15A, one or more of the computing systems of FIG. 15B, computing system 1900, or a combination thereof.
[0265]
[0293] In some examples, the means for identifying the device and / or identifying that the device has been relocated to an area associated with a second user may include the digital asset tracking system 200, the media device 205, the network device 280, the local device 270, the additional device 297, the data store 298, the anchor element 299, the HMD 310, the mobile handset 410, the blockchain ledger 500, the token 600, the data structure 650, the DAG ledger 700, the media device 810, the local device 830, the media device 910, the local device 930, Including media device 1010, local device 1030, media device 1110, local device 1130, ownership device 1210, local device 1230, media device 1310, anchor element 1350, distributed ledger 1365, data store 1370, token device 1405, distributed ledger 1415, token 1420, local device 1435, one or more of the computing systems of FIG. 15A, one or more of the computing systems of FIG. 15B, computing system 1900, or a combination thereof.
[0266]
[0294] In some examples, the processes described herein (e.g., process 1650 and / or other processes described herein) may be performed by a computing device or apparatus. In some examples, process 1650 may be performed by digital asset tracking system 200 of FIG. 2. In some examples, process 1650 may be performed by media device 205, network device 280, local device 270, or a combination thereof. In another example, process 1650 may be performed by a computing device having computing system 1900 shown in FIG. 19.
[0267]
[0295] The computing device may include any suitable device, such as a mobile device (e.g., a mobile phone), a desktop computing device, a tablet computing device, a wearable device (e.g., a VR headset, an AR headset, AR glasses, a network-connected watch or smart watch, or other wearable device), a server computer, an autonomous vehicle or a computing device of an autonomous vehicle, a robotic device, a television, and / or any other computing device having resource capabilities to perform the processes described herein, including process 1600. In some cases, a computing device or apparatus may include various components, such as one or more input devices, one or more output devices, one or more processors, one or more microprocessors, one or more microcomputers, one or more cameras, one or more sensors, and / or other components configured to perform steps of the processes described herein. In some examples, the computing device may include a display, a network interface configured to communicate and / or receive data, any combination thereof, and / or other components. The network interface may be configured to communicate and / or receive Internet Protocol (IP)-based data or other types of data.
[0268]
[0296] Components of a computing device may be implemented in circuitry. For example, components may include and / or be implemented using one or more programmable electronic circuits (e.g., a microprocessor, a graphics processing unit (GPU), a digital signal processor (DSP), a central processing unit (CPU), and / or other suitable electronic circuitry) and / or may include and / or be implemented using computer software, firmware, or any combination thereof, to perform various operations described herein.
[0269]
[0297] Process 1650 is illustrated as a logical flow diagram, whose operations represent sequences of operations that may be implemented in hardware, computer instructions, or a combination thereof. In the context of computer instructions, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform particular functions or implement particular data types. The order in which the operations are described is not to be construed as a limitation, and any number of the described operations may be combined in any order and / or in parallel to implement a process.
[0270]
[0298] Additionally, process 1650 and / or other processes described herein may be executed under the control of one or more computer systems configured with executable instructions, and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) that collectively execute on one or more processors, by hardware, or a combination thereof. As discussed above, the code may be stored in a computer-readable or machine-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors. The computer-readable or machine-readable storage medium may be non-transitory.
[0271]
[0299] 19 is a diagram illustrating an example of a system for implementing some aspects of the present technology. In particular, FIG. 19 illustrates an example of a computing system 1900, which may be, for example, an internal computing system, a remote computing system, a camera, or any computing device in which components of the system communicate with each other using a connection 1905. The connection 1905 may be a physical connection using a bus, or a direct connection to a processor 1910, such as in a chipset architecture. The connection 1905 may also be a virtual connection, a networked connection, or a logical connection.
[0272]
[0300] In some embodiments, computing system 1900 is a distributed system in which the functionality described in this disclosure may be distributed among a data center, multiple data centers, a peer network, etc. In some embodiments, one or more of the described system components represent many such components, each performing some or all of the functionality for which the component is described. In some embodiments, the components may be physical or virtual devices.
[0273]
[0301] The exemplary system 1900 includes at least one processing unit (CPU or processor) 1910 and connections 1905 coupling various system components to the processor 1910, including system memory 1915, such as read only memory (ROM) 1920 and random access memory (RAM) 1925. The computing system 1900 may include a cache 1912 of high-speed memory directly connected to the processor 1910, in close proximity to the processor 1910, or integrated as part of the processor 1910.
[0274]
[0302] The processor 1910 may include any general purpose processor and hardware or software services, such as services 1932, 1934, and 1936 stored in a storage device 1930, configured to control the processor 1910 as well as special purpose processors, with the software instructions being incorporated into the actual processor design. The processor 1910 may essentially be a fully self-contained computing system, including multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetric or asymmetric.
[0275]
[0303] To enable user interaction, the computing system 1900 includes an input device 1945, which may represent any number of input mechanisms, such as a microphone for voice, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, speech, etc. The computing system 1900 may also include an output device 1935, which may be one or more of several output mechanisms. In some instances, a multimodal system may allow a user to provide multiple types of input and output for communicating with the computing system 1900. The computing system 1900 may include a communication interface 1940, which may generally govern and manage user input and system output.The communications interface may be an audio jack / plug, a microphone jack / plug, a universal serial bus (USB) port / plug, an Apple® Lightning® port / plug, an Ethernet port / plug, a fiber optic port / plug, a proprietary wired port / plug, BLUETOOTH® wireless signal transmission, BLUETOOTH Low Energy (BLE) wireless signal transmission, IBEACON® wireless signal transmission, radio frequency identification (RFID) wireless signal transmission, near field communication (NFC) wireless signal transmission, dedicated short range communication (DSRC) wireless signal transmission, 802.11 Wi-Fi wireless signal transmission, and wireless local area network (WLAN) signal transmission. , visible light communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX®), infrared (IR) communication wireless signal transmission, public switched telephone network (PSTN) signal transmission, integrated services digital network (ISDN) signal transmission, 3G / 4G / 5G / LTE cellular data network wireless signal transmission, ad-hoc network signal transmission, radio wave signal transmission, microwave signal transmission, infrared signal transmission, visible light signal transmission, ultraviolet light signal transmission, wireless signal transmission along the electromagnetic spectrum, or any combination thereof. The communication interface 1940 may also include one or more GNSS receivers or GNSS transceivers used to determine a location of the computing system 1900 based on reception of one or more signals from one or more satellites associated with one or more Global Navigation Satellite System (GNSS) systems. GNSS systems include, but are not limited to, the US-based Global Positioning System (GPS), the Russian-based Global Navigation Satellite System (GLONASS), the Chinese-based Beidou Navigation Satellite System (BDS), and the European-based Galileo GNSS.There is no restriction to operating on any particular hardware configuration, and therefore the basic features herein can be readily substituted for improved hardware or firmware configurations as they are developed.
[0276]
[0304] The storage device 1930 may be a non-volatile and / or non-transitory and / or computer readable memory device, and may be a magnetic cassette, a flash memory card, a solid state memory device, a digital versatile disk, a cartridge, a floppy disk, a flexible disk, a hard disk, a magnetic tape, a magnetic strip / stripe, any other magnetic storage medium, a flash memory, a memristor memory, any other solid state memory, a compact disk read only memory (CD-ROM) optical disk, a rewritable compact disk (CD) optical disk, a digital video disk (DVD) optical disk, a Blu-ray disk (BDD) optical disk, a holographic optical disk, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a memory The memory may be a hard disk or other type of computer readable medium capable of storing data accessible by a computer, such as a Stick card, a smart card chip, an EMV chip, a Subscriber Identity Module (SIM) card, a mini / micro / nano / pico SIM card, another integrated circuit (IC) chip / card, a random access memory (RAM), a static RAM (SRAM), a dynamic RAM (DRAM), a read only memory (ROM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a flash EPROM (FLASHEPROM), a cache memory (L1 / L2 / L3 / L4 / L5 / L#), a resistive random access memory (RRAM / ReRAM), a phase change memory (PCM), a spin transfer torque RAM (STT-RAM), another memory chip or cartridge, and / or a combination thereof.
[0277]
[0305] The storage devices 1930 may include software services, servers, services, etc., where code defining such software, when executed by the processor 1910, causes the system to perform a function. In some embodiments, a hardware service that performs a particular function may include software components stored in a computer-readable medium along with the necessary hardware components, such as the processor 1910, connections 1905, output devices 1935, etc., to perform that function.
[0278]
[0306] The term "computer-readable medium" as used herein includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other media capable of storing, containing, or transporting instructions and / or data. Computer-readable media may include non-transitory media on which data may be stored and does not include carrier waves and / or transitory electronic signals propagating wirelessly or via wired connections. Examples of non-transitory media may include, but are not limited to, magnetic disks or tapes, optical storage media such as compact disks (CDs) or digital versatile disks (DVDs), flash memory, memory, or memory devices. A computer-readable medium may have code and / or machine-executable instructions stored thereon, which may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted using any suitable means including memory sharing, message passing, token passing, network transmission, etc.
[0279]
[0307] In some embodiments, computer-readable storage devices, media, and memories may include cables or wireless signals containing bit streams, etc. However, when stated, non-transitory computer-readable storage media specifically excludes media such as energy, carrier signals, electromagnetic waves, and the signals themselves.
[0280]
[0308] Specific details are provided in the above description to provide a thorough understanding of the embodiments and examples provided herein. However, it will be understood by those skilled in the art that the embodiments may be practiced without these specific details. For clarity of explanation, in some cases, the technology may be presented as including individual functional blocks, including devices, device components, steps or routines in a method embodied in software, or functional blocks comprising a combination of hardware and software. Additional components may be used other than those shown in the figures and / or described herein. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form so as not to obscure the embodiments with unnecessary detail. In other cases, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail so as to avoid obscuring the embodiments.
[0281]
[0309] Particular embodiments may be described above as a process or method depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although the flowcharts may describe operations as a sequential process, many of the operations may be performed in parallel or simultaneously. In addition, the order of operations may be rearranged. A process terminates when an operation of a process is completed, but may have additional steps not included in the diagram. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
[0282]
[0310] The processes and methods according to the examples described above may be implemented using computer-executable instructions stored or otherwise available from a computer-readable medium. Such instructions may include, for example, instructions and data that cause or otherwise configure a general purpose computer, a special purpose computer, or a processing device to perform a certain function or group of functions. Portions of the computer resources used may be accessible over a network. The computer-executable instructions may be, for example, binaries, instructions in an intermediate format such as assembly language, firmware, source code, etc. Examples of computer-readable media that may be used to store instructions, information used, and / or information created during the methods according to the described examples include magnetic or optical disks, flash memory, USB devices with non-volatile memory, networked storage devices, etc.
[0283]
[0311] Devices implementing the processes and methods according to these disclosures may include hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and may take any of a variety of form factors. When implemented in software, firmware, middleware, or microcode, program code or code segments (e.g., computer program products) to perform the necessary tasks may be stored in a computer-readable or machine-readable medium. A processor may perform the necessary tasks. Common examples of form factors include laptops, smartphones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rack-mounted devices, standalone devices, and the like. The functions described herein may also be embodied in peripheral devices or add-in cards. Such functions may also be implemented on a circuit board in different chips or different processes executing in a single device, as further examples.
[0284]
[0312] The instructions, media for carrying such instructions, computing resources for executing them, and other structures for supporting such computing resources are exemplary means for providing the functionality described in this disclosure.
[0285]
[0313] In the above description, aspects of the present application are described with reference to specific embodiments thereof, but those skilled in the art will recognize that the present application is not limited thereto. Thus, while exemplary embodiments of the present application have been described in detail herein, it should be understood that the inventive concepts may in some cases be embodied and employed in various ways, and the appended claims are intended to be construed to include such variations, except as limited by the prior art. Various features and aspects of the applications described above may be used individually or together. Moreover, the embodiments may be utilized in any number of environments and applications other than those described herein without departing from the broader spirit and scope of the present specification. Thus, the present specification and drawings should be regarded as illustrative and not restrictive. For purposes of illustration, the methods have been described in a particular order. It should be appreciated that in alternative embodiments, the methods may be performed in an order different from that described.
[0286]
[0314] Those skilled in the art will appreciate that the less than ("<") and greater than (">") symbols or terms used herein may be replaced with the less than or equal to ("≦") and greater than or equal to ("≧") symbols, respectively, without departing from the scope of the present specification.
[0287]
[0315] When a component is described as being "configured to" perform a particular operation, such configuration may be achieved, for example, by designing electronic circuitry or other hardware to perform that operation, by programming a programmable electronic circuitry (e.g., a microprocessor or other suitable electronic circuitry) to perform that operation, or any combination thereof.
[0288]
[0316] The phrase "coupled to" refers to any component that is physically connected, either directly or indirectly, to another component, and / or any component that is in communication, either directly or indirectly, with another component (e.g., connected to the other component via a wired or wireless connection and / or other suitable communication interface).
[0289]
[0317] Claim language or other language reciting "at least one of" a set and / or "one or more" of a set indicates that one member of the set or more than one member of the set (in any combination) satisfies the claim. For example, claim language reciting "at least one of A and B" means A, B, or A and B. In another example, claim language reciting "at least one of A, B, and C" means A, B, C, or A and B, or A and C, or B and C, or A and B and C. The language "at least one of" a set and / or "one or more" of a set does not limit the set to the items recited in the set. For example, claim language reciting "at least one of A and B" can mean A, B, or A and B, and can further include items not recited in the set of A and B.
[0290]
[0318] The various exemplary logic blocks, modules, circuits, and algorithm steps described with respect to the embodiments disclosed herein may be implemented as electronic hardware, computer software, firmware, or a combination thereof. To clearly illustrate this interchangeability of hardware and software, the various exemplary components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
[0291]
[0319] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices, such as a general purpose computer, a wireless communication device handset, or an integrated circuit device having multiple uses, including applications in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device, or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, perform one or more of the methods described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may comprise a memory or data storage medium, such as a random access memory (RAM), such as a synchronous dynamic random access memory (SDRAM), a read-only memory (ROM), a non-volatile random access memory (NVRAM), an electrically erasable programmable read-only memory (EEPROM), a FLASH memory, a magnetic or optical data storage medium, or the like. The techniques may additionally or alternatively be realized at least in part by a computer-readable communications medium, such as a propagating signal or wave, that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and / or executed by a computer.
[0292]
[0320] The program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Such a processor may be configured to perform any of the techniques described in this disclosure. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Thus, the term "processor" as used herein may refer to any of the above structures, any combination of the above structures, or any other structure or apparatus suitable for implementing the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided within dedicated software or hardware modules configured for encoding and decoding, or incorporated into a combined video encoder / decoder (CODEC).
[0293]
[0321] Exemplary aspects of the present disclosure include the following.
[0294]
[0322] Aspect 1A. An apparatus for token generation, the apparatus comprising: at least one memory; and at least one processor coupled to the at least one memory, the at least one processor configured to receive media content based on sensor data captured by at least one sensor of a media device; determine a location of the media device; determine that the location of the media device is within a geographic area; and in response to determining that the location of the media device is within the geographic area, generate a token corresponding to the media content, wherein a payload of at least one block of a distributed ledger identifies the token.
[0295]
[0323] Aspect 2A. The apparatus of aspect 1A, wherein the media content includes at least a portion of the sensor data.
[0296]
[0324]
[0023] Aspect 3A. The apparatus of any of aspects 1A-2A, wherein the media content includes a modified version of at least a portion of the sensor data.
[0297]
[0325] Aspect 4A. The apparatus of any of aspects 1A to 3A, wherein the sensor data includes at least one image captured by at least one image sensor of the at least one sensor of the media device, and the media content is based on at least one of the at least one image.
[0298]
[0326] Aspect 5A. The apparatus of any of aspects 1A to 4A, wherein to determine a location of the media device, at least one processor is configured to detect at least a portion of an environment in at least one image and determine a location of the media device based at least in part on the detection of the at least a portion of the environment in the at least one image.
[0299]
[0327] Aspect 6A. The apparatus of any of aspects 1A to 5A, wherein to determine that the location of the media device is within the geographic area, at least one processor is configured to detect at least a portion of an environment in at least one image and determine that at least a portion of the environment is located within the geographic area.
[0300]
[0328] Embodiment 7A. The apparatus of any of embodiments 1A to 6A, wherein at least one processor is configured to detect at least a portion of an individual in at least one image, determine an identity of the individual, and set parameters of the token to indicate that the token is associated with the identity.
[0301]
[0329] Example 8A. The apparatus of any of Examples 1A to 7A...
Claims
1. 1. An apparatus for generating tokens, comprising: At least one memory; at least one processor coupled to said at least one memory; wherein the at least one processor: receiving media content based on sensor data captured by at least one sensor of the media device; determining a location of the media device; determining that the location of the media device is within a geographic area; in response to determining that the location of the media device is within the geographic area, generating a token corresponding to the media content, where a payload of at least one block of a distributed ledger identifies the token. configured to: Device.
2. The media content: and / or The apparatus of claim 1 , further comprising a modified version of at least a portion of the sensor data.
3. The apparatus of claim 1 , wherein the sensor data includes at least one image captured by at least one image sensor of the at least one sensor of the media device, and the media content is based on the at least one image.
4. To determine the location of the media device, the at least one processor: Detecting at least a portion of an environment in the at least one image; determining the location of the media device based at least in part on detecting at least the portion of the environment in the at least one image; The apparatus of claim 3 , configured to:
5. To determine that the location of the media device is within the geographic area, the at least one processor: Detecting at least a portion of an environment in the at least one image; determining that at least the portion of the environment is within the geographic area; The apparatus of claim 3 , configured to:
6. The at least one processor: Detecting at least a portion of an individual in the at least one image; determining an identity of said individual; Setting a parameter of the token to indicate that the token is associated with the identity. The apparatus of claim 3 , configured to:
7. The sensor data includes positioning data based on reception of at least one wireless signal by the at least one sensor, and to determine the location of the media device, the at least one processor is configured to determine the location of the media device based at least in part on the positioning data, and optionally the at least one wireless signal is: and / or comprising a short-range wireless signal from a local device that is within transmission range of the media device during at least reception of the at least one wireless signal by the at least one sensor. The apparatus of claim 1 , comprising a Global Navigation Satellite System (GNSS) signal from a GNSS satellite.
8. The device of claim 1 , wherein the media content includes a map of the geographic area.
9. 2. The apparatus of claim 1 , wherein to determine that the location of the media device is within the geographic area, the at least one processor is configured to determine that the location of the media device is within the geographic area based on at least one communication between the media device and a local device associated with the geographic area, and optionally, the apparatus includes the local device.
10. The apparatus, the media device, and / or located within said geographic area; The apparatus of claim 1 , wherein the apparatus is at least one of a head mounted display (HMD), a mobile handset, or a wireless communication device.
11. The at least one processor: generating the at least one block and / or the distributed ledger in response to determining that the location of the media device is within the geographic area; causing said at least one block to be added to said distributed ledger. The apparatus of claim 1 configured to:
12. The at least one processor: In response to determining that the location of the media device is within the geographic area, sending a request to a computing device to generate the at least one block; receiving the at least one block; Appending said at least one block to said distributed ledger. The apparatus of claim 1 configured to:
13. The at least one processor: setting a parameter of the token to indicate that the token is associated with a user, where the media device is associated with the user; The apparatus of claim 1 configured to:
14. The at least one processor: configured to determine that the geographic area includes at least a threshold amount of people, and wherein the at least one processor is configured to generate the token corresponding to the media content in response to determining that the geographic area includes at least the threshold amount of people.
2. The apparatus of claim 1.
15. 1. A method of token generation, comprising: receiving media content based on sensor data captured by at least one sensor of the media device; determining a location of the media device; determining that the location of the media device is within a geographic area; in response to determining that the location of the media device is within the geographic area, generating a token corresponding to the media content, wherein a payload of at least one block of a distributed ledger identifies the token. A method comprising: