How to link physical items and virtual content through sign encoding

The system encodes virtual content identifiers on physical items using visual indicators, addressing the limitations of existing methods by providing interactive and aesthetically enhanced experiences through augmented reality.

JP2026502457APending Publication Date: 2026-01-23フローズン モーメンツ インコーポレイテッド
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025538890
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-30
Filing Date
2023-12-29
Publication Date
2026-01-23

AI Technical Summary

Technical Problem

Existing methods for linking physical items to virtual content, such as QR codes and NFTs, occupy significant space and lack interactivity and aesthetic appeal, limiting their value and interactivity.

Method used

A system that encodes virtual content identifiers using visual indicators like emojis, filters, or borders on physical items, allowing users to link physical items to virtual content like NFTs or media files, enhancing the physical item's visual appeal and providing interactive experiences.

Benefits of technology

Enables users to access virtual content seamlessly by scanning encoded physical items, enhancing the viewer's experience with augmented reality and interactive features without sacrificing space or aesthetic appeal.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026502457000001_ABST
    Figure 2026502457000001_ABST
Patent Text Reader

Abstract

A physical object is printed with an image augmented by an arrangement of visual markers. Characteristics of the visual markers, such as size, shape, color, orientation, and size, encode identifiers for complementary virtual content. When the physical object is scanned by a device's camera, the encoded identifiers for the supplemental content are extracted from the visual markers and used to retrieve the supplemental content. The supplemental content is presented by the device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention generally relates to mapping virtual content to physical items using information encoded in indicia applied to the physical items. [Background technology]

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 478,053, filed December 30, 2022, and is incorporated herein by reference.

[0003] Marketing companies use QR codes to connect users to websites when the code is scanned with a device's camera. Video games use physical cards to unlock in-game elements. Separately, baseball card companies create NFTs that represent physical baseball cards. These examples are limited in their interactivity, visual appeal, and overall value provided to content creators and consumers. Specifically, QR codes occupy a significant amount of space on the physical item to which they are applied that cannot be used to provide other information or aesthetic appeal to the viewer. Summary of the Invention

[0004] Described embodiments include methods and systems for identifying and connecting physical items, such as holiday cards, baseball cards, printed artwork, or JPEG-style file photographs, to virtual content that augments the physical item. The virtual content may be hosted at an online media address and may include NFT artwork, social media videos / soundbites, augmented reality (AR) content, or any other virtual content that can be used to enhance a viewer's experience of the physical item. The connection may be made via a smartphone or other user device's camera, which reads an identifier for the virtual content (e.g., an identifier for a database entry containing the web address where the virtual content is stored) encoded in a visual indicator on the physical item. In some embodiments, the physical item includes a photograph or other image. The visual indicator can visually enhance the photograph or other image without subtracting from the artwork. Exemplary visual indicators include emojis placed within the image at specific locations, patterns placed on the image border, filters applied to the image, etc. In some embodiments, the indicator may not be easily perceived by humans.

[0005] In one embodiment, a user may connect a physical artwork modified through the system to an online NFT or other unique online media using a system that converts the address of the NFT or other online media into a unique code. The unique code is represented by a set of visual indicators that are overlaid on a still image frame of the online media. The set of visual indicators can be applied to the physical artwork as a filter, border, or other overlay, such that when a user points the camera of a smartphone or other web-enabled device at the physical artwork, the NFT or other online media can be accessed by the device decoding its address from the set of visual indicators.

[0006] The system may generate a unique encoding for each NFT or online media address and register it with the code generation system. This technique can be used by users who want to link or promote their media via still image frames or images on types of materials such as cards, stationery, t-shirts, artwork, or promotional materials. Additionally, other users can submit links to short video files, audio files, or files that the system converts into subsequent NFTs that are simultaneously registered with the code generation system, creating associated filters or backgrounds associated with the subsequent NFTs or online media codes.

[0007] In one embodiment, the user device displays visual indicators on the frozen image as a graphical representation that uniquely encodes the mapping to the virtual content. Exemplary visual indicators include (1) an image filter displayed on a still image frame that enhances the image frame representing online media and can be printed on a device or physical object, (2) a still image frame border printed flat or in 3D around the frozen image of an NFT that can be perceived similarly to a piece of traditional 2D or 3D art displayed in a gallery, (3) a background object such as a watermark on a physical print of a collectible NFT such as a sports card or fandom trading card, or (4) individual characters, such as emojis, selected by the end user and distributed around a single image frame in a configuration that is recognized as a unique encoding and mapped to the virtual content.

[0008] In another embodiment, a user can upload a media file of a specific length (e.g., 3 seconds or 8 seconds), such as a video file, a clip from a video game, a saved audio file, current dynamic human-driven generative art, coding art, generative design, or use a mobile device to record a quick video, audio recording, or any other media file clipping that is immediately uploaded, recorded, and associated tracking generated. A user can also start the process with a longer media file and then identify which section of the specified length to use for associated tracking, while maintaining the original media file for any presentation. At that point, the user uses the presentation's original date and time to identify the recording that will be recorded and named within the system if the clip will not be displayed until a specific later date.

[0009] In a further embodiment, each graphical representation is converted into a unique code generated by the system through the use of graphical objects transformed with code sequences along different encoding grids, such as 12-bit or 36-bit binary code representations mapped onto horizontal and vertical regions of the print object found along the image boundary of the image frame, within the watermarked background, or in areas along the depth of the 3D frame boundary.

[0010] A binary code may be created when converting a media file into an NFT or when linking an NFT or online digital media address to the system. The binary code may be hard-linked and registered within a system or application, along with other demographic and / or ownership verification details, as requested by the end user or as required for the type of media file to confirm originality and authenticity.

[0011] In some embodiments, the fixed frame database can use multiple public or licensed databases, including but not limited to Microsoft SQL Database, Snowflake, Google BitQuery, and the unique encodings are translated based on filter, frame boundary, watermark, or 3D print controls and variations mapped to associated online media in a translation table. Such online media addresses may be hosted through the application's servers, dedicated photo hosting pages, or social media pages via third parties (e.g., Google Photos, Shutterfly), or may be connected to the customer's personal social media accounts, etc.

[0012] One or more graphical inputs can be designated as controls within the system, and upon scanning an image frame printed on a physical object, the system recognizes it as an enhanced image created from the system. This can occur by identifying the outer frame boundary of the item, the 3D surface of the object, or a combination of graphical micro-images appearing within the image. Once detected, the system can rapidly process the still image frame for corresponding types of uniquely coded graphical features, such as filters, text, background objects, 3D prints, or some combination thereof.

[0013] In one embodiment, a physical item (e.g., a printed holiday card) can contain one or more links to virtual content. The system retrieves one of a quick set of basic emojis to serve as controls and two other emojis, each associated with a theme related to the corresponding virtual content. The emojis may be rotated and placed into one of a set of possible grid positions (e.g., a 14x9 grid), each grid position combined with the emoji selection and rotation of the emoji to create a large number of permutations into which the bit characters can be encoded. The encoded bit carriers can then be converted to locations in a data store (e.g., a database table) that holds the online addresses of the virtual content. [Brief explanation of the drawings]

[0014] The drawings and the following description describe specific embodiments for purposes of illustration only. Those skilled in the art will readily recognize from the following description that alternative embodiments of structure and methods may be employed without departing from the principles described. Wherever possible, like or similar reference numbers have been used in the figures to indicate similar or similar functionality. When elements share a common digit followed by another letter, this indicates that the elements are similar or identical. Unless the context dictates otherwise, reference to a digit alone generally refers to any one or any combination of such elements. [Figure 1] FIG. 1 is a block diagram of a networked computing environment capable of providing virtual content in response to scanning an encoded identifier, according to one embodiment. [Figure 2A] FIG. 2A is a diagram illustrating an encoding grid, according to one embodiment. [Figure 2B] 2B illustrates a print object encoded with reference to virtual content, according to one embodiment. [Figure 2C]2C illustrates an exemplary encoding using emoji selection, position, and orientation relative to image content, according to one embodiment. [Figure 2D] 2D illustrates an exemplary encoding using emoji selection, position, and orientation relative to image content, according to one embodiment. [Figure 2E] 2E illustrates an exemplary encoding using emoji selection, position, and orientation relative to image content, according to one embodiment. [Figure 2F] 2F illustrates an exemplary encoding using a filter applied to an image, according to one embodiment. [Figure 2G] 2G illustrates an exemplary encoding using a filter applied to an image, according to one embodiment. [Figure 2H] 2H is a diagram illustrating an exemplary encoding using a filter applied to an image, according to one embodiment. [Figure 2I] 2I illustrates another exemplary encoding using a filter applied to an image, according to one embodiment. [Figure 3] FIG. 3 is a flowchart of a method for enhancing content using printed encoding, according to one embodiment. [Figure 4] FIG. 4 is a flowchart of a generation process, according to an embodiment. [Figure 5] FIG. 5 is a flowchart of the binding process, according to one embodiment. [Figure 6] FIG. 6 is a flowchart of a printing process, according to one embodiment. [Figure 7] FIG. 7 is a flow chart of a scanning process according to one embodiment. [Figure 8] FIG. 8 is a flowchart of a process for providing and managing extensions to third parties for combination with a base image, according to one embodiment. [Figure 9]FIG. 9 is a flowchart of a process for enhancing content provided by a third party, according to one embodiment. [Figure 10] FIG. 10 is a block diagram illustrating an example computer suitable for use in the networked computing environment of FIG. 1, according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0015] 1 is a block diagram of one embodiment of a networked computing environment 100 capable of providing virtual content in response to scanning an encoded identifier. In the embodiment shown, networked computing environment 100 includes a user device 101, a server 110, a printer 120, and a third-party system 140, all connected via a network 130. In other embodiments, networked computing environment 100 includes different or additional elements. Furthermore, functionality may be distributed among the elements in ways different from those described.

[0016] The user device 101 is a computing device that enables user interaction with the server 110. In various embodiments, the user device 101 may be a device with computer capabilities, such as a personal digital assistant (PDA), a mobile phone, a smartphone, a wearable device (e.g., an augmented reality headset), or another suitable device. The user device 101 may include a camera for scanning physical objects 123 and a display for displaying images within the camera view to the user. The user device 101 may include other input / output devices, such as a microphone and a speaker. In one embodiment, the user device 101 runs an application that allows a user of the user device 101 to interact with the server 110. The user device 101 may interact with the server 110 through an application programming interface (API) running on the user device's 101's native operating system, such as IOS® or Android™.

[0017] The server 110 is configured to process instructions for executing a method for augmenting content using printed encodings, including generating, combining, printing, and recognizing images and associated unique encodings to provide supplemental virtual content, such as augmented reality content, video, artwork, music, etc. The server 110 may coordinate processes involving the user device 101 and the printer 120 according to instructions stored in memory. The instructions may be stored as modules of code, including a generating module 111, a combining module 112, a printing module 113, and a scanning / recognition module 114. The server 110 may contain or be communicatively coupled to a storage area that includes one or more databases. The one or more databases may include an encoding database 138 and an augmented reality (AR) effects database 132. The AR effects database 132 stores data related to one or more augmented reality effects displayed by the user device 101. The encoding database 138 stores a mapping of unique encodings to file locations (e.g., in the file storage locations 134), augmented reality effects (e.g., stored in the AR effects database 132), or NFTs (e.g., stored in the distributed ledger 136). In some embodiments, the server 110 may also have access to or retrieve files from the file storage locations 134.

[0018] Server 110 may also be configured to perform other operations on distributed ledger 136. Distributed ledger 136 may be a blockchain, and server computer 110 may be configured to record interactions with the blockchain, scan and read records in the blockchain, verify signatures, public keys, and certificates on the blockchain, store a local copy of the blockchain, perform other blockchain interactions, or some combination thereof.

[0019] The generation module 111 stores instructions for generating a unique encoding. The instructions of the generation module 111 may include instructions for executing the process 400 of FIG. 4 , which is described in more detail below. In an embodiment, the instructions may include receiving an image for an augmented reality effect, applying one or more graphical elements to the image, and generating a unique encoding based on applying the one or more graphical elements to the image. For example, a user may use the user device 101 to select, upload, or provide the location / address of an image to the server computer 110. The server computer may receive or retrieve the image and associate it with an augmented reality (AR) effect from the AR effect database 132. In one embodiment, the image may be an image frame from a video file. In one embodiment, the AR effect may be generated / created by a user and stored in the AR effect database 132 by the server computer 110. The server computer 110 may provide one or more graphical elements to overlay on the image.

[0020] The graphical elements may include an image border, an image shader, an image filter, one or more emojis, other visual indicators, or some combination thereof. For example, an image border may include a patterned design, such as a series of raised circular protrusions like the beads of a classic frame or a black and white diagonal line across the edge of a modern frame. In another example, an image shader may include a swirling visual presentation in a specific area resembling flowing water, a burst of saturated color that transitions to grayscale and back, a rippling distortion resembling grass swaying in a breeze, or the addition of film grain, comic outlines, color banding, artificial backgrounds, and / or scrolling effects. In another example, an image filter may include a sports ball, dancer, microphone, emoji, religious symbol, shell, or abstract color-blended overlay visual dancing throughout the presentation, opening and closing curtains, introducing color bars, and a countdown from an old film reel, a cheering crowd, or a standing ovation overlay.

[0021] The combiner module 112 stores instructions for linking the unique encoding to the image, where the unique encoding points to a storage location where one or more files containing virtual content associated with the image are stored. The unique encoding may also identify a time when the virtual content is viewable or a time range during which the virtual content is viewable. Alternatively, the time or time range during which the virtual content is viewable may be stored along with the virtual content at a location indicated by the unique encoding. The instructions of the combiner module 112 may include instructions for performing process 500 of FIG. 5, which is described in more detail below.

[0022] In some embodiments, the instructions for linking the unique encoding to the image may include recording a blockchain transaction on the distributed ledger 136. In one such embodiment, the system itself is not tied to a single platform for NFTs; rather, it can connect to well-established platforms in addition to or instead of proprietary platforms that follow the ERC 721 or ERC 1155 protocols. The user provides the system with the current location of the NFT via a crypto address. If a non-curated NFT platform is selected, a media file (e.g., JPG, GIF, MOV) is uploaded along with details about these cryptocurrency wallets so that a contract for ownership of the item can be created. When the system issues an NFT, the system then allows the user to select a wallet to use for their NFT, and the system issues the NFT token using a contract written in the user's blockchain currency of choice, such as Ethereum or Solana. The NFT itself is directly recorded as a unique, personal exhibit of a frozen moment, with additional features verified.

[0023] Printing module 113 stores instructions for directing a printer to print an image and one or more graphical elements as a physical object 123. The instructions of printing module 113 may include instructions for performing process 600 of FIG. 6, which is described in more detail below. The instructions may be received by printer 120 and processed by print engine 121 to print a physical object 123 according to the received instructions. Printer 120 is configured to perform printing and execute the printing instructions. The printing instructions may cause the printer to create a physical object including image content overlaid with visual indicators, the nature and position of which relative to the image content encodes one or more identifiers of virtual content that complement the physical object 123. Printer 120 may be, for example, an inkjet printer, a 3D printer, a carving machine, a lathe, a loom, a painting machine, or some combination thereof. The physical object 123 may be one or more of a playing card, a holiday card, a limited edition trading card, a greeting card, a canvas print, a postcard, a lottery scratcher, a notebook cover, a promotional flyer, a frame, or a work of art, or the like.

[0024] The scan / recognition module 114 stores instructions for recognizing unique encodings in images scanned by the user device 101. The instructions of the scan / recognition module 115 may include instructions for executing process 700 of FIG. 7, described in more detail below. In some embodiments, recognizing a unique encoding on a physical object 123 in a camera view modifies the display of the user device 101 to display corresponding virtual content. The server 110 may search the storage location of one or more media files associated with the unique encoding and perform playback of the media files by the user device 101. For example, an AR effect may be displayed in conjunction with the physical object on the display of the user device 101, or the user device 101 may display an image, play a movie clip, or play an audio clip.

[0025] In one embodiment, the scanned image may be an image frame from a video file, and the augmented reality effect may include playing the entire video file or a portion thereof. For example, the playback of the video file may be performed within a window (e.g., within the borders of a card or a fixed frame) fixed to the placement of the image frame on the physical object, appearing to bring a still-frame image (i.e., a fixed frame) to life. In other embodiments, the augmented reality effect may include effects such as a baseball being launched from a physical object into the surrounding physical space, a mirror ball and light show engulfing the surrounding environment, a three-dimensional hologram of a person in the media, a rainstorm, or a scene / environment replacing the room around the physical object.

[0026] Third-party system 140, in some embodiments, includes one or more computing devices capable of performing some of the steps of generating physical object 123 with visual indicia that encodes an identifier for the virtual content. For example, server 110 may generate a set of encodings and provide them to third-party system 140, which combines the encodings with content managed by the third party. As another example, third-party server 140 may provide frozen images and corresponding virtual content, and server 110 may add visual indicia to the frozen images that encode an identifier for the corresponding virtual content.

[0027] In one embodiment, a third party may request one or more extensions (e.g., frames) for inclusion in its digital content. The third party may provide the intended content at the time of initial creation or may receive a token and encoding pair that can later be bound to the digital content (including NFTs, videos, holographic recordings, etc.) by referencing the token. The time the moment occurred and the moment's future unlock time may also be bound to the digital content as described above. The augmented image may be provided as a transparent graphic (e.g., a PNG or SVG file) that the third party can apply to a digital or printed image. The combined image and extension may then be provided to the user, allowing the user to access any video, holographic, or other supplemental virtual content that the third party intended to reference / display when the user scans the augmented image. When the user scans the augmented image using an application, the user may be presented with the intended video, audio, or holographic content. If the virtual content is not yet available (e.g., because the virtual content is stored with an indication of the future time when the virtual content will be available), the user may instead be presented with a countdown or other indication of when the virtual content will be unlocked. For example, a physical object 123 (e.g., an event-specific card or poker chip, etc.) may be created before an event (e.g., a concert, sporting event, etc.) and may include visual indicia that encodes an identifier for an audio, video, or holographic recording that will be generated after the event ends and made available for a certain period of time (e.g., to allow the event to be reviewed, edited, and uploaded). If a user scans the physical object 123 before the time the recording will be available, a countdown to that time may be displayed, and users who scan the physical object 123 after the specified time will be presented with the recording.

[0028] Various examples of servers 110 that interact with third-party systems 140 to provide functionality are described in more detail below with reference to FIGS.

[0029] The various elements of network computing environment 100 are configured to communicate via network 130, which may include any combination of local-area and / or wide-area networks using both wired and / or wireless communication systems. In one embodiment, network 130 uses standard communication technologies and / or protocols. For example, network 130 may include communication links using technologies such as Ethernet, 802.11, Worldwide Interoperability for Microwave Access (WiMAX), 3G, 4G, 5G, Code Division Multiple Access (CDMA), Digital Subscriber Line (DSL), etc. Examples of network protocols used to communicate over network 130 include Multiprotocol Label Switching (MPLS), Transmission Control Protocol / Internet Protocol (TCP / IP), Hypertext Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), and File Transfer Protocol (FTP). Data exchanged over network 130 may be represented using any suitable format, such as Hypertext Markup Language (HTML) or Extensible Markup Language (XML). In some embodiments, some or all of the communication links of network 130 may be encrypted using any suitable technique. Encoding Examples 2A illustrates how the location of visual markers within a grid overlaid on an image can encode identifiers for virtual content. Typically, the grid is not used within the image, but is projected onto the image both when determining where to place the visual markers and when analyzing the image to identify and decode the visual markers. However, in some embodiments, grid alignment indicators (e.g., small checkmarks around the perimeter of the image) can be used to aid in accurate analysis. The grid shown is a 5x4 grid with a total of 20 cells, but grids of any size can be used, with more cells allowing for more encoding (smaller cells require increasingly accurate analysis).

[0030] When analyzing the image, each cell can be analyzed by a machine vision algorithm to determine whether any visual markers are present. If so, the detected visual markers can be analyzed to extract one or more characteristics, such as shape, color, size, and orientation (i.e., rotation angle). The extracted characteristics form a unique encoding that can be mapped to an identifier for the virtual content (e.g., an identifier for a cell in a database containing a URL where the virtual content is stored). In the example shown in FIG. 2A, four of the cells contain visual markers. A first set of visual markers 201 is in the top row, fourth column; a second set of visual markers 202 is in the second row, fifth column; a third set of visual markers 203 is in the third row, second column; and a fourth set of visual markers 204 is in the fourth row, first column.

[0031] The visual indicators are shown as XXX, indicating that a wide range of symbols and shapes may be used. In one embodiment, each X represents an emoji, with each set defined as a thematic grouping. The user device 101 can recognize the emoji grouping as a graphical encoding of binary code that defines the system's binary space. As the encoding is created, the location of each emoji can be recorded in a master database along with the associated URL or wallet address of the NFT asset or other related media linked to the image. Depending on the presence of a set of emojis within that portion of the grid space along with the specific emoji selected, the system can register the photo as binary code that can be connected to a search system. A pre-loaded set of emojis could be, for example, a guitar, microphone, keyboard, or a tree, globe, and wave—several groupings of three seemingly matching graphic elements based on a theme defined in the database. Each theme is transformed into a set of three graphical elements in a specific, yet seemingly random, order that, when intersecting with a position in the grid, connects them to a set of Binary Code. In some embodiments, two positions in the grid are used for a redundancy factor to account for printing discrepancies. For example, sets of visual indicators 201 and 202 may be two pre-configured sets of three emojis that match a theme identified by a user when uploading a media clip to the system or connecting a pre-published NFT wallet address, etc., and sets of visual indicators 203 and 204 may be backup copies of visual indicator sets 201 and 202.

[0032] FIG. 2B is a diagram of a printed object including visual indicators, according to one embodiment. The illustration is of a physical object embodied as a holiday card. Graphical objects 205, 206, 207, and 208 are applied to an underlying image according to grid locations 201, 202, 203, and 204, respectively. This version of the holiday card essentially has large overlapping grids for individual photos. In this case, the large grids are mapped to four sets of positions within the system: the bottom-left image at grid location 208 has a set of themed emojis 209; the top-right image at grid location 205 also has a set of themed emojis 210. While the two sets of emojis 209 and 210 are shown as identical, in reality, each set of emojis would likely be different.

[0033] In this embodiment, it is easy to determine the location of the set of emojis 209 and 210 relative to the underlying image content (i.e., the grid cell in which the set of emojis 209 and 210 is located) depending on the size of the cell. The combination of location and the specific emoji used can be converted into a set of binary codes in a binary set and mapped within the system to a URL, NFT wallet, or other location of the virtual content. Thus, by pointing the camera of the user device 101, a still image frame can be directly connected to an associated online media clip or augmented image defined within the system.

[0034] Figures 2C-E illustrate an exemplary encoding using emoji selection, position, and orientation relative to image content. In this exemplary embodiment, a 6x10 grid is overlaid on the underlying image, providing 60 possible positions for one or more sets of emojis. In Figure 2C, the emojis are placed in six positions within the grid without rotation. Figure 2D shows the same set of emojis in the same positions, but with a first set of rotations. Meanwhile, Figure 2E shows this set of emojis and positions with a second set of rotations. In one embodiment, each emoji may be rotated into eight possible orientations, each 45 degrees apart. During analysis, the rotation of each emoji may be determined relative to the edges of the image, other emojis overlaid on the image, or a combination of both. Even when a relatively small selection of emoji types is used (e.g., using only a few emojis that are easily distinguished from one another automatically using machine vision), it is easy to see that the combination of eight possible rotations and 60 possible positions for the emojis results in a vast number of possible combinations.

[0035] In one embodiment, each symbol (e.g., emoji) may be stored with its position and rotation within a grid, along with the other symbols (and corresponding position and orientation data) included in each encoding. The combination of all symbols, positions, and rotations within an encoding creates a unique set. This set may be stored in a database. For efficient lookup, each potential symbol in every possible position and rotation may be represented as an entry in a master table with a unique key. A particular encoding is then represented as the combination (e.g., concatenation) of those keys. An excerpt of such a master table (with many entries omitted) is shown below:

[0036] [Table 1]

[0037] Using this master table, the encoding shown in Figure 2C would be represented by the set {51e18806, f63fac22, 5c5fafc9...}, the encoding shown in Figure 2D would be represented by the set {51e18806, 5b3c7a0e, B98d1a23...}, etc.

[0038] Alternatively, each space on the grid can have a unique position within the complete binary encoding, with each symbol available for encoding represented by a single binary code and each rotation represented by a different one. For example, position <0,0> begins with bit 0, position <1,0> begins with bit 8, position <2,0> begins with bit 16, and position <1,0> begins with bit 48. Thus, using the 6x10 grid shown in Figures 2C-E, each encoding would be represented by a 480-bit code. As an example of how this would be encoded, if the laptop symbol is represented by 000 for no rotation and 110 for a 270-degree rotation, then a laptop at position <2,3> would be represented by bits 120 through 1001110 in Figure 2C (no rotation) and 1001000 in Figure 2D (270-degree rotation). Thus, each encoding has a unique binary code. In this case, the encoding of the position and orientation uses only 7 of the 8 bits available for position. The remaining bits (or bits if fewer than 7 bits are used to encode the symbol and orientation) can be ignored padding or can be used to store other information. The code may include CRC or other error correction information to account for scanning errors. In this way, it is possible to start with a unique 480-bit code containing corrections and then generate a representative visual encoding from the code. It should be understood that a wide range of encoding schemes are possible that map the characteristics of visual signs at various positions (and possibly various orientations) to a string of bits that can be used to look up the identity of virtual content in a database.

[0039] 2F-H illustrate exemplary encodings in which visual indicators are generated by applying a filter to an image, according to one embodiment. FIG. 2F illustrates an exemplary image to which a filter may be applied. In FIG. 2G, a filter has been applied and a static representation of waves crossing from one side of the image to the other has been added. Symbols may be added at one or more predetermined locations within the image to register the filter (i.e., identify which filter has been applied). For example, in FIG. 2G, whale emojis are located in the lower left and upper right corners to indicate that a water wave filter has been applied. This may facilitate determining that an encoding identifying supplemental content has been applied during analysis. Alternatively, the use of a filter may be detected by a machine learning algorithm, such as a machine learning classifier, that directly detects the applied waves (or other visual indicators that make up the encoding).

[0040] Figure 2H shows how this wave encodes a unique identifier. A grid overlaid on the image can again be used to define the set of locations where waves are added to the image. In one embodiment, a single cell in each row of the grid is selected to be most completely filled by the wave. Alternatively, cells passing through a high-contrast boundary between two portions of the graphic added by the filter (in this case, the line dividing the white and blue portions of the wave) can be identified. In the specific example of Figure 2H, this gives the unique identifier {8, 7, 7, 7, 6, 5, 5, 6, 7, 7, 6, 5, 5, 5, 6, 8, 8, 7, 7, 8} from top to bottom. In some embodiments, the supplemental content identified by the unique identifier provided by scanning the static image can be a version of the image with a filter dynamically applied (e.g., one in which the wave starts on one side of the image and crosses it). Additionally or alternatively, the supplemental content can include other virtual content that complements the static image, such as music, a video clip of the static image captured (with or without the filter applied), or AR content that complements the static image.

[0041] FIG. 2I illustrates another exemplary encoding using a filter applied to an image, according to one embodiment. In the illustrated example, a pair of explosion symbols is used for registration, and electrical pathways along the edge of the image are used for encoding. In one embodiment, a collection of previously designed electrical stamps is placed along the edge. Each side has a predetermined number of distinct regions (e.g., eight regions) for potential stamps with spaces between them for easy differentiation. The electrical pattern entry and exit points from the stamps are stored with the stamps, and upon creation, the gaps between stamps are filled to connect each stamp with the one above and below it to create a contiguous image. Specific combinations of stamps and corresponding locations generate a large number of possible encodings. For example, with 14 different recognizable stamps that can be placed in eight locations, there are approximately 1.5 billion possible combinations.

[0042] In some embodiments, as shown in Figure 2I, facial recognition may be used to locate eyes (or any other predetermined feature) in an image and draw a series of electrical lines pointing outward from the eyes. Depending on the number and location of these lines, more combinations can be added to the possible encodings, or the number of stamps / locations along the edge can be reduced while retaining the same number of potential encodings. It should be understood that other types of filters made up of combinations of recognizable stamps placed in specific locations may be used.

[0043] The embodiments described above with reference to FIGS. 2A-I generally applied rule-based analysis to determine the location of visual markers within an image that encode unique identifiers for one or more portions of associated virtual content. However, in some embodiments, a machine learning classifier may be applied that takes an image (including visual markers) as input and outputs a corresponding unique identifier. Such a classifier may be trained by providing a set of labeled examples of images overlaid with visual markers corresponding to each unique identifier used, splitting the set into training and validation data, and applying any suitable training technique. Using a machine learning classifier may be more robust to imperfections in images captured by a user device at runtime, such as scenarios where the lighting of a physical object is poor or the user device's camera is of low quality. Example Process The steps of the various processes described below are presented in terms of the various components of the network computing environment 100 that perform the processes. However, some or all of the steps may be performed by other entities or components. Additionally, some embodiments may perform steps in parallel, perform steps in a different order, or perform different steps.

[0044] FIG. 3 is a flowchart of a process 300 for enhancing content using printed encodings, according to one embodiment. In the illustrated embodiment, process 300 begins with server 110 receiving 301 an image to be supplemented with virtual content. Server 110 applies 302 one or more visual indicators to the image. Server 110 generates 303 a unique encoding based on the application of the one or more visual indicators to the image. Server 110 may link 304 the unique encoding to the supplemental content, for example, by storing the unique encoding generated from the visual indicators in a database along with a storage location where one or more files for providing the supplemental content are stored. For example, the one or more files may include one or more media files linked to a non-fungible token (NFT), AR content, a video file, a sound file, etc. Server 110 instructs a printer to print 305 the image overlaid with the one or more visual indicators as a physical object. In an embodiment, if the camera view includes one or more visual markers, they may be analyzed to obtain a unique encoding, and the user device 101 may provide some or all of the supplemental content in conjunction with or in place of the camera view including the physical object.

[0045] FIG. 4 is a flowchart of a generation process 400, according to an embodiment. Process 400 may begin with server 110 receiving an image. For example, a user may upload an image to the system or provide a repository or web address where the image is saved / hosted. As another example, a user may upload a video and identify a segment of the video from which an image frame may be selected by the system. After receiving the image, in step 401, server 110 determines whether the image is existing or new art. For example, a prompt may be provided to the user asking whether the image is new or existing. In another embodiment, server 110 checks the image against a library of images to determine whether the image is new or existing art. In another embodiment, server 110 may recognize the art as already being enhanced by these systems. In yet another embodiment, a user may begin by identifying an existing online resource by URL or by using a share feature on device 101 (e.g., from a social media post).

[0046] In step 402, if it is determined that the image is existing art, the server computer receives an indication that the user is a new user or that the art exists in a blockchain account not already associated with this user. The user may then link an existing wallet via step 403.

[0047] In step 403, the user selects a blockchain. This may be done by providing a visual representation of supported blockchains and prompting the user to select a blockchain. For example, depending on the particular implementation, Ethereum, Solana, Polygon, Tezos, Avalanche, etc. may be supported.

[0048] In step 404, the user selects a connection mechanism that allows the server 110 to verify ownership of the existing NFT / blockchain resource. In one embodiment, the user selects a trusted third party (such as MetaMask) as their wallet provider, which launches the third-party authentication page. Here, the user enters their MetaMask credentials and authorizes MetaMask to provide the user's blockchain wallet details to the server computer. In another embodiment, the user selects a standard cryptographic challenge-response link. The server computer generates a cryptographic challenge and provides it to the user (often as a QR code). The user responds to the challenge and forwards it to their blockchain wallet, which signs the challenge (often by reading a QR code with the device's camera). The user then provides the signed response back to the server computer (another QR code), and ownership is verified. In another embodiment, the user identifies a supported application on their device 101 as their wallet provider. The server 110 may provide a cryptographic challenge, and the user's device 101 may internally forward the challenge to a supported application and return a signed response to the server 110.

[0049] In step 405, the server 110 discovers available NFTs owned by the user. In one example, the server computer can connect to a third-party API (e.g., OpenSea) and query the third party for a list of NFTs owned by the user. In another embodiment, the server may directly read a cached copy of the blockchain, updating it as needed, to search for NFTs owned by the user's provided wallet address. The server then filters NFTs that are already bound to the system.

[0050] In step 402A, the server 110 utilizes a list of owned NFTs already associated with known users and updates the list as necessary.

[0051] In step 406, device 101 presents a list of available NFTs that are "issued" within the system. In one embodiment, a list of NFTs and service names is presented for selection. In another embodiment, a scrolling view of media associated with each NFT is presented.

[0052] If, in step 410, it is determined that the image contains new art, the user selects source art from the user's device. This may be captured directly via a camera or from a list of media files stored on the device. In another embodiment, the user selects a media hosting service and selects from their available media within those services.

[0053] In step 411, a canonical version of the media of a predetermined length (e.g., 8 seconds) is selected or generated. In one embodiment, a longer video is trimmed to a clip of the predetermined length. In another method, a still image is extended to a clip of the predetermined length by applying one or more visual effects, such as pan and scan. In yet another embodiment, the generation algorithm scrubs forward in time until a suitable moment is displayed and a predetermined amount of content on either side of the selected moment (e.g., 4 seconds from each side of the selected moment) combines to form a clip.

[0054] In step 412, the user is presented with various filters, shaders, and so forth (as described above) from which to select to enhance the media clip. In one embodiment, the user is presented with a set of categories (e.g., frames, distortions, filters, color variations). In another embodiment, the user is presented with a rotating display of potential options, allowing them to select a particular filter. In another embodiment, the user is presented with a permanently scrolling list of possibilities, one of which can be selected or dragged to the side to reveal further customization options related to the selected presentation.

[0055] In step 413, the user selects and customizes their filter. In one embodiment, a frame is selected and a style is chosen to surround the media. In another embodiment, several emoji stickers are selected to be placed on the image. In another embodiment, splashing water and beach decorations are selected to filter the image.

[0056] In step 414A, the server 110 generates a unique identifier (UID) for this creation, verifies that it is unused and distinguishable from other UIDs, and provides the identifier to the user's device 101. In one embodiment, a 32-character hexadecimal string is selected and provided. In another embodiment, three to six regions of a grid are selected, and a corresponding graphic code is selected for each selected region. This may mean that codes 0, 4, and 12 are selected for regions that correspond to a smiley face, microphone, and star in one filter, while corresponding to a soccer ball, goal, and grass in another filter. In another embodiment, three choices of 64-bit UIDs are provided for selection by the user.

[0057] In step 414, the user's device collects a unique identifier (UID) and combines it with the selected filter encoding to create the enhanced video. In one embodiment, the binary encoding of the UID is converted into a pattern of ascending and descending beads around the frame, with each bead representing a 1 for ascending and a 0 for descending. In another embodiment, the UID determines the placement and number of a series of white and black lines across the outer frame. In another embodiment, the water swirl pattern is positioned and sized based on different blocks within the UID and timed according to other blocks within it. In another embodiment, shaped regions of the video (e.g., rectangles, stars, or triangles) are converted to grayscale, and shapes move, appear, rotate, and disappear according to data blocks within the UID. In another embodiment, emoji stickers are placed in different groupings of grids and set according to instructions provided by a server computer. Error correction techniques can be used to increase the size of the UID to something that includes the original unique key and error correction code to provide redundancy within the filter key. In one embodiment, a set of parity bits is generated between the first and second halves of the UID to increase the size of the filter key by half and provide the filter key to the user's device.

[0058] In step 415, the UID / filter key encoding filter and video combination is displayed to the user. The user may be given several final possibilities or the outcome of one of their selections. The user may choose to approve and "publish" the enhanced presentation (or one of the possible presentations) in step 412, or to cancel the filter selection and return to the filter selection. In one embodiment, some virtual currency may be required to complete the publishing process. In another embodiment, the user may need to approve a payment of fiat or blockchain currency toward publishing. In another embodiment, the user has a subscription that allows a certain number of publications per month.

[0059] In step 416, the user's device 101 and the server 110 agree to complete the publishing process. The original art, enhanced video, and frozen moments have all been agreed upon between the user's device and the server. The proper encoding of the UID is verified by the server 110, and the user's device 101 locks the final presentation.

[0060] In step 417, the server 110 registers the UID and visual representation with the recognition engine and stores them in an associated database. In one embodiment, the UID is stored in a version table along with other UIDs encoded using the same version of the recognition engine. In another embodiment, the position and rotation of the emoji sticker are registered and stored with the recognition engine. In another embodiment, the final encoded frame is used as a single image target in a database of image targets for the selected frame type. In another embodiment, the binary code and frame type are registered with the recognition engine so that the recognition engine can read the binary code pattern directly from the frame.

[0061] Figure 5 is a flowchart of a combining process 500 according to an embodiment. In step 501, a user selects a generated artwork previously created in various embodiments via the generation process described in Figure 4. This art may or may not already be associated with an NFT on the blockchain.

[0062] In step 502, the server 110 determines whether the art has an associated NFT. This is recognized either by previously binding the artwork to a blockchain item within the application, or by the server 110 scanning the blockchain to find a reference to an existing artwork. If no blockchain reference is found, the user is given the option to publish the original image and / or an augmented image (including UID tracing information) generated by the application. Other options may be selected by repeating this process, or both options may be satisfied simultaneously, depending on the implementation.

[0063] In step 504, the user selects between various blockchains on which the user may issue the NFT, which may be a visual representation of the supported blockchains, such as Ethereum, Solana, Polygon, Tezos, Avalanche, etc., for the user to choose from.

[0064] In step 505, if this process a) is not complete or b) the user needs to connect additional wallets, the user connects the wallet to the application. In step 505A, server 110 inspects the selected blockchain to determine an estimate of the cost associated with writing / issuing the NFT on the given blockchain. Such fees may include gas fees, transfer costs, the cost of bytes of data on the chain, any additional contracts that need to be written on the chain, and fees associated with our servers. After the cost of the on-chain coin is determined, an exchange is queried to determine the exchange rate between the on-chain currency and the user's local fiat currency (examples of fiat currency include USD, GBP, JPY, etc.).

[0065] In step 506, the user is presented with the option to use on-chain coins (if available in the user's wallet) or use the calculated cost in local fiat currency. If fiat currency is selected, the fiat funds can be transferred using a payment provider. If on-chain currency is selected, the transfer must be initiated via authorization from the user's supported wallet or using a target address generated and given to the user to provide the currency separately. In the latter case, the transaction may be stored and held within server 110 until the currency is received.

[0066] In step 507, once the funds are verified as provided by the user, the NFT and any associated contracts / transfers / etc. are written to the blockchain in a transaction that appears on that chain's public ledger, thus "issuing" the generated art (original or augmented) as a public-record NFT.

[0067] In step 510, the user is presented with a selection of available frozen moments and collector's items. For example, a user account may give the user eight frozen moments and one of the special "T' collector's items" for any given item of content, and may present an indication of which of these are still available to combine into physical art. Some of these may have already been previously used to produce physical goods. It is not necessary to combine all available slots at once.

[0068] In step 511A, the user selects to use a standard frozen instantaneous piece of generated art as the intention to bind to physical media, which is the art that has been enhanced in the process described above.

[0069] In step 512, the user selects the edition size for this particular frozen moment, which can range from 1 or 2 to as large as 1000 or more. This step may provide the user with hints about the types of items that can be generated depending on the edition size.

[0070] In step 513, the user selects from available treatments for the edition count, which may include, for example, printed playable / collectible cards, tote bags, t-shirts, event tickets, gaming chips, posters, bracelets, book covers, etc.

[0071] In step 514, if the edition is small enough and on a supported medium, the user may choose to make the physical item transferable with blockchain ownership via the physical medium itself. In this case, the user must pay the associated fee (upfront) with a primed number of transfers encoded on the physical medium. An example of this is a trading card with four "scratchers" on the back of the card. Each "scratcher" section has a printed visual code obscured by scratch-off foil printing to obscure the code. Thus, the physical item indicates that there are transfers available (unrevealed scratch-off sections). In this case, the item is published on-chain indicating that it may be transferred up to four times, requiring only the approval of the relevant server / wallet. The user creating this edition pays upfront to cover the cost of four future transfers for each physical item generated (e.g., eight items, eight publications, and 32 potential transfers).

[0072] Step 515 involves the user making an affirmative choice to encode the transfer information into the edition, which returns them to the flow started in step 504 to select a blockchain and secure funding for the process.

[0073] In step 511B, the user selects their intention to combine their "T of 1" with physical media, a single physical artifact representing an original, unadorned NFT / frozen moment in time as a personal exhibit.

[0074] In step 520, the user is presented with a variety of available printing and framing options. Such options may include printing the image onto a metal backing, canvas media, a poster, a multi-piece mural, etc., or leaving out an art print for the user to supply themselves.

[0075] In step 521, the user selects a unique frame from a variety of options and processes. Potential variations and frame encodings were described above. Here, the user is shown a sample frame with art to get a sense of the final look once received. In step 522, the user confirms their intent to "publish" the art to a physical medium, and is informed that this is a one-time process that is complete and final once selected. In step 523, the user secures payment for the cost of the frozen moment or "one of a kind" physical item they chose to create.

[0076] In step 524, the selected physical goods are printed or otherwise created and provided to the user. In one embodiment, the specifications for the physical goods are automatically provided to a printer (e.g., printer 120) that will print the goods, which are then issued to the user (e.g., at an address associated with the user profile or provided during the ordering process). Alternatively, instructions (e.g., a graphics file) may be provided to the user for the user to use to print the physical item themselves. Various options for step 524 according to various embodiments are in FIG. 6.

[0077] Figure 6 is a flowchart of a printing process according to an embodiment. In step 601, the printing system 120 receives a request for physical production of either an augmented base image (602) or a generated frame (610). In step 602, the system receives a recognizable image, processing information (foil processing, gamification, item type, etc.), and quantity to produce. In step 603, a substrate is selected, which may be cotton material for T-shirt or canvas prints, card stock for trading cards, transfer paper, poster board, metal board, etc. In step 604, the image is potentially collated and printed (e.g., on 64 card sheets), recording layout information and any other tracking information.

[0078] In step 605, the finished product is placed in front of a camera similar in quality to cell phone technology. A computer attached to that camera reads an image or series of images from the finished product's video feed and verifies legibility / recognizability against a database of recognizable images (e.g., by performing process 700 described below with reference to FIG. 7).

[0079] In step 607, any finishing is performed on the specified item. In one case, cards are cut from a larger sheet, cornered, collated, and grouped into order. In another case, canvas is stretched over a frame. In yet another case, T-shirts are washed and bagged. It should be understood that a wide range of finishing tasks may be performed based on the specific nature of the physical product and the user's requirements.

[0080] In step 608, the selected number of items in the edition are counted, packed, and prepared for shipping. In step 609, any overruns (items created beyond the desired number) may be destroyed. In step 610, the system receives a request to create a frame and (possibly) its corresponding art. This may include, for example, the desired frame size and shape, frame style, material, and any customizable parts. In step 611, the unique art may be printed at the desired dimensions on a support / desired material with any desired treatment.

[0081] In step 612, a UID is received from a service capable of generating / obtaining unique identifiers with the desired bit length (step 621). The given UID is then applied to the three-dimensional frame model, and the final form is sent to a 3D printer. In step 613, the globally unique frame is 3D printed at the desired size with any specific customizations or processing required. In step 614, the art printed in step 611 may be placed within the printed frame. In step 615, the art and frame are scanned by a camera. A computer runs a recognition algorithm (e.g., as described below with reference to FIG. 7) to verify the legibility of the frame and record the combination of the art and frame to server 110. If the art and frame are not properly registered with the recognition system, the process may return to step 612 and try again. After a specified number of attempts, a failure condition may be triggered, and human intervention may be initiated to evaluate the problem.

[0082] 7 is a flowchart of a scanning process, according to an embodiment. In step 701, a camera captures an image potentially containing a representation of a frozen moment, for example, on user device 101. In step 702, a special version of the image is detected within the image frame via target image recognition. In step 703, the system recognizes one or more visual indicators (e.g., stickers or emojis) used in the generation within the image frame.

[0083] In step 704, the system uses the version image, visual indicators within the image, or both to determine the algorithm version currently being used. In step 705, the system uses the version information along with the recognized image size and shape to calculate the complete image size and orientation. The image is then stretched, warped, and gain is applied to form a canonical shape and size reconstruction of the frozen instant detected in the image sensor.

[0084] In step 706, the system scans the canonically transformed version for all potential visual indicators (e.g., stickers or emojis) expected in the original print. Finer detection across a wider range of ornaments is used in this step to identify the presence of relevant visual indicators. In step 707, the system transforms all recognized visual indicator and version information combinations to form encodings (e.g., binary or hexadecimal encodings).

[0085] In step 708, the system sends the encoding and version string to the server 110. In step 709, the server 110 retrieves a matching target set from its database store of potential UIDs in the version set. In step 710, the system scans the target set to find the closest binary encoding within the set. In step 711, the system determines whether the closest binary encoding is within a predetermined difference threshold of versions to prevent unauthorized reads from potentially finding random or unintended UIDs. In step 712, if the closest binary encoding is not within the threshold, the system returns an error code and waits for new data from the device 101. The device 101 receives this request in step 721 and initiates a new scan to find frozen moments.

[0086] In step 713, the matching UID is determined to be a valid error correction and is used to obtain more information about the frozen moment. In step 714, the system retrieves the original source art and all extended information for the recognized frozen moment created in the generation process. In step 715, the system sends any / all presentation information to the user's device 101 for presentation along with the scanned physical object.

[0087] 8 shows an exemplary process for providing and managing extensions to a third party for combination with a base image, according to one embodiment. In the illustrated embodiment, third-party system 140 requests 801 a specified number of extensions from server 110. The request may identify the theme and type of extension. In response, server 110 generates 802 the requested number of encodings along with the corresponding visual extensions. Server 110 also generates 803 an update token for each requested extension and stores the resulting encoding token relationship. Server 110 provides 804 the visual extensions and corresponding tokens to third-party system 140. The visual extensions may be in a transparent format, such as a PNG or SVG file.

[0088] The third-party system 140 receives 805 the augmentation and the corresponding token and combines 806 the augmentation with the base image. In some embodiments, the third-party system 140 may write 807 an NFT to the distributed ledger 136. The NFT may include a reference to the augmented image. The third-party system 140 provides 808 the augmented image along with the associated token and any associated video, hologram, timestamp, etc. to the server 110. When the NFT is created, the third-party system 140 may also provide 808 the address of the NFT on the distributed ledger 136 to the server 110.

[0089] The server 110 validates 809 the received token (e.g., to ensure that the third party is authorized to use the system). Assuming the token is successfully validated, the server 110 writes 810 the image, video, hologram, etc., along with any associated timestamp to its database. The encoding is thus bound to the associated content. The server 110 may also include NFT information in its database when an NFT is created to bind the NFT to the content and encoding as well.

[0090] 9 shows an exemplary process for augmenting content provided by a third party, according to one embodiment. In the embodiment shown, a third-party system creates content, such as an image, video, or hologram, along with any associated timestamps, to be combined with an extension 901. The third-party system 140 requests the extension from the server 110 902. The request may identify the theme and type of the extension and may include information describing the content to be augmented or the content itself.

[0091] The server 110 generates 903 the encoding and corresponding visual enhancements. The server 110 also creates 904 an encoding token for reference by the third party in future queries for encodings and visual enhancements associated with the content. The third party system 140 receives 905 the encoding token from the server 110, which the server 110 can store for later use.

[0092] The server 110 combines 906 the augmented image with the base image. In some embodiments, the server 110 writes 907 the NFT to the distributed ledger 136. The NFT includes a reference to the augmented image. The server 110 also writes 908 the image, video, hologram, timestamp, etc. to a database to bind the encoding to the content. If the NFT was created, an identifier for the NFT is also added to the database. The third-party system 140 receives 909 the encoding token, the augmented image, and the NFT address / identifier (if the NFT was created) from the server 110.

[0093] At a later time, third-party system 140 can request information about the particular encoding token from server 110. In response, server 110 uses the token to query its database and provide 911 an augmented image, video, or hologram, etc., along with associated timestamp and encoding information. Third-party system 140 can receive 912 this augmented content from server 110 and present it to the user in an appropriate manner. Computing System Architecture 10 is a block diagram of an exemplary computer 1000 suitable for use in the network computing environment 100 of FIG. 1. The exemplary computer 1000 includes at least one processor 1002 coupled to a chipset 1004. The chipset 1004 includes a memory controller hub 1020 and an input / output (I / O) controller hub 1022. A memory 1006 and a graphics adapter 1012 are coupled to the memory controller hub 1020, and a display 1018 is coupled to the graphics adapter 1012. A storage device 1008, a keyboard 1010, a pointing device 1014, and a network adapter 1016 are coupled to the I / O controller hub 1022. Other embodiments of the computer 1000 have different architectures.

[0094] 10, storage device 1008 is a non-transitory computer-readable storage medium such as a hard drive, compact disc read-only memory (CD-ROM), DVD, or solid-state memory device. Memory 1006 holds instructions and data used by processor 1002. Pointing device 1014 is a mouse, trackball, touchscreen, or other type of pointing device and can be used in combination with keyboard 1010 (which may be an on-screen keyboard) to input data into computer system 1000. Graphics adapter 1012 displays images and other information on display 1018. Network adapter 1016 couples computer system 1000 to one or more computer networks, such as network 130.

[0095] 1 may vary depending on the implementation and processing power required by the entities. For example, server 110 may include multiple blade servers working together to provide the described functionality, while user device 101 may be a smartphone. Additionally, the computer may lack some of the components described above, such as keyboard 1010, graphics adapter 1012, and display 1018. Additional Considerations The above-described embodiments may provide several technical advantages. By generating an encoding based on graphical elements applied to an image, the encoding can be printed on the underlying image in an unobtrusive and visually appealing manner. By mapping the encoding to an augmented reality effect and the location of a media file linked to the NFT, the authenticity of the print can be visually verified in an interactive manner. Furthermore, the systems and methods described herein enable content creators to mine additional value from user-generated content in an efficient, low-friction process.

[0096] Some portions of the above description describe embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and representations are commonly used by those skilled in the computing arts to effectively convey the substance of their work to others skilled in the art. While these operations are described functionally, computationally, or logically, they will be understood to be implemented by computer programs including instructions for execution by a processor or equivalent electrical circuits, microcode, or the like. Further, it has proven convenient at times to refer to these arrangements of functional operations as modules, without loss of generality.

[0097] A reference to "one embodiment" or "an embodiment" means that a particular element, feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in the specification do not necessarily all refer to the same embodiment. Similarly, the use of "a" or "an" before an element or component is done merely for convenience. This description should be understood to mean that one or more of the element or component are present, unless it is clear that something else is meant.

[0114] When values ​​are described as "about" or "substantially" (or derivatives thereof), such values ​​should be construed as being exact + / - 10%, unless otherwise clear from the context. From the example, "about 10" should be understood to mean "within the range of 9 to 11."

[0098] The words "comprise," "comprising," "include," "including," "having," "having," or any other variations thereof, are intended to include a non-exclusive inclusion. For example, a process, method, article, or apparatus that includes a list of elements is not necessarily limited to only those elements, but may include other elements not expressly listed or inherent in such process, method, article, or apparatus. Further, unless expressly stated otherwise, "or" refers to an inclusive "or," not an exclusive "or." For example, condition A or B can be satisfied by any one of the following: A is true (or present) and B is false (or absent), A is false (or absent) and B is true (or present), and both A and B are true (or present).

[0099] Upon reading this disclosure, those skilled in the art will recognize still additional structural and functional design alternatives. Thus, while specific embodiments and applications have been illustrated and described, it should be understood that the described subject matter is not limited to the precise structures and components disclosed. The scope of protection is to be limited only by the following claims.

Claims

1. receiving, by a processor, an input image; applying, by the processor, the visual indicators to the input image to create a composite image including the image content from the input image overlaid on the visual indicators at a position relative to the image content; generating, by the processor, an encoding based on the position of the visual indicia relative to the image content; linking, by the processor, the encoding to supplemental virtual content associated with the input image; instructing, by the processor, a printer to print the composite image as a physical object, wherein recognizing the encoding based on the position of the visual indicia relative to the image content on the physical object in a camera view of a device causes the device to present the supplemental virtual content; 11. A computer-implemented method comprising:

2. The computer-implemented method of claim 1 , wherein the visual indication comprises an arrangement of markings on a boundary of the composite image.

3. 3. The computer-implemented method of claim 2, wherein the markings include one or more first marks representing ones and one or more second marks representing zeros, and the encoding is a binary code obtained by reading the markings in an order defined by the positions of the markings on the image boundary.

4. The computer-implemented method of claim 1 , wherein the visual indicia includes an image filter, and the encoding is determined from a position of an element of the image filter within a grid that is overlaid on the image content.

5. 2. The computer-implemented method of claim 1, wherein the visual indicia includes a set of glyphs, and the encoding is determined from which glyphs are included in the set and the position of the glyphs within a grid that is overlaid on the image content.

6. The computer-implemented method of claim 5 , wherein the encoding is further determined by an orientation of the emoji relative to the image content.

7. The computer-implemented method of claim 1 , wherein the supplemental virtual content is linked to a non-fungible token (NFT).

8. The computer-implemented method of claim 1 , wherein the supplemental virtual content is a video and the input image is a frame of the video.

9. The computer-implemented method of claim 8 , wherein at least a portion of the video file is played by displaying the composite image overlaid on the physical object in the camera view.

10. The computer-implemented method of claim 1 , wherein the physical object is one or more of a playing card, a holiday card, a work of art, or a limited edition trading card.

11. receiving an image depicting a physical object, the physical object including image content and visual indicia representing an encoding that identifies supplemental virtual content; determining the encoding based on a position of the visual indicator relative to the image content; obtaining the supplemental virtual content using the encoding; presenting the supplemental virtual content in association with the physical object; 11. A computer-implemented method comprising:

12. The computer-implemented method of claim 11 , wherein the visual indicators comprise an arrangement of boundary markings added to the image content.

13. 13. The computer-implemented method of claim 12, wherein the markings include one or more first marks representing ones and one or more second marks representing zeros, and the encoding is a binary code obtained by reading the markings in an order defined by the positions of the markings on the image boundary.

14. The computer-implemented method of claim 11 , wherein the visual indicia includes an image filter, and the encoding is determined from a position of an element of the image filter within a grid that is overlaid on the image content.

15. 12. The computer-implemented method of claim 11, wherein the visual indicia includes a set of glyphs, and the encoding is determined from which glyphs are included in the set and the position of the glyphs within a grid that is displayed overlaid on the image content.

16. The computer-implemented method of claim 15 , wherein the encoding is further determined by an orientation of the emoji relative to the image content.

17. 12. The computer-implemented method of claim 11, wherein the supplemental virtual content is linked to a non-fungible token (NFT).

18. 12. The computer-implemented method of claim 11, wherein the supplemental virtual content is a video, the input images are frames of the video, and presenting the supplemental virtual content includes playing at least a portion of the video file overlaid with a view of the physical object in a camera view.

19. The computer-implemented method of claim 1 , wherein the physical object is one or more of a playing card, a holiday card, a work of art, or a limited edition trading card.

20. 1. A non-transitory computer-readable storage medium containing stored instructions that, when executed by a computing system, cause the computing system to perform operations, the operations including: receiving an image depicting a physical object, the physical object including image content and visual indicia representing an encoding that identifies supplemental virtual content; determining an encoding based on a position of the visual indicia relative to the image content; obtaining the supplemental virtual content using the encoding; presenting the supplemental virtual content in association with the physical object; 1. A non-transitory computer-readable storage medium comprising: