Game environment tracking optimization

By generating and optimizing image sets to meet the input requirements of the neural network model, the problems of image quality and transmission speed in the game tracking system are solved, fast and accurate object recognition and classification are achieved, and the game efficiency and player experience of the game field are improved.

CN115885324BActive Publication Date: 2025-09-23LNW GAMING INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180007679.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-30
Filing Date
2021-03-30
Publication Date
2025-09-23
Estimated Expiration
2041-03-30

AI Technical Summary

Technical Problem

Existing game tracking systems have challenges in image quality and network transmission, causing the game system to run slowly, affecting the gaming efficiency and revenue of the gaming venue, and distracting players' gaming experience.

Method used

By generating image sets, iteratively modifying image properties to meet the input requirements of the neural network model, and transferring the optimized image sets as units to the neural network model for analysis, including automatically selecting image capture settings, cropping parts of image data frames and generating image sets, and scaling image resolution and aspect ratio to meet target input requirements.

Benefits of technology

Improved the speed and accuracy of the neural network model's analysis of gaming area images, allowing more gaming actions to be performed in a given time, increasing gaming venue revenue and improving the player experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115885324B_ABST
    Figure CN115885324B_ABST
Patent Text Reader

Abstract

A gaming system receives a frame of image data captured by a camera at a gaming table, generates an image set based on portions of the image data frame, and determines whether the image set satisfies input requirements of a neural network model. If the image set does not satisfy the input requirements, the gaming system incrementally modifies image attributes of a subset of the image set until the image set satisfies the input requirements. When the image set satisfies the input requirements, the gaming system transmits the image set as a unit (e.g., as a composite of the image sets) to the neural network model for parallel analysis.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 001,941, filed on March 30, 2020, which is incorporated herein by reference in its entirety.

[0003] Limited Copyright Exceptions

[0004] A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. Technical Field

[0005] The present invention relates generally to gaming systems, devices, and methods, and more particularly to graphical optimization and tracking of gaming environments. Background Art

[0006] The playground game environment is a dynamic environment, in which people such as players, playground customers, playground employees make actions that affect the state of the game environment, the state of the player, etc. For example, a player can use one or more physical game coins to place a game. In another example, the player can make a gesture to perform game actions and / or convey instructions during the game, such as making a gesture to call, stop, discard, etc. In another example, the player can move entity playing cards, game props, etc. Many other changes may occur at any given time. In order to effectively manage this dynamic environment, the playground operator can adopt one or more tracking systems or technologies to monitor the various aspects of the playground game environment, such as player account information, player movement, game play events, etc. The tracking system can generate the historical records of these monitored aspects so that the playground operator can promote, for example, safe game environment, enhanced game features, and / or enhanced player features (for example, to the reward and welfare of the known player with player account).

[0007] However, some tracking systems encounter challenges. For example, automated tracking systems need to be able to track various objects in a gaming environment within an acceptable amount of time to perform certain game-related operations. For example, a gaming system may be configured to identify gaming tokens used during a betting period, identify gaming elements (e.g., cards or dice) used during gameplay, recognize interactive player gestures, and so on. To analyze images, a gaming system may utilize one or more neural network models. Neural network models require images to have a sufficient level of quality to be able to identify or classify objects depicted in the images with a certain degree of confidence. However, while images need to have a certain level of quality, the image quality cannot be too high. For example, in order to perform image recognition quickly, a neural network model may need to impose a maximum resolution limit on any image it accepts for analysis (e.g., the image must have a certain level of resolution, but not too high, otherwise the neural network model will not accept the image for analysis). However, this maximum resolution limit is relatively small (e.g., 512 x 512) compared to the larger resolutions (e.g., 3840 x 2160) used when capturing images with modern cameras. Therefore, a neural network model with such a small input limit would be unable to accept the large image files captured from modern cameras. However, simply downscaling the entire 3840 x 2160 image to a 512 x 512 image will result in the pixel size of objects depicted within the downsized image being too small to be recognized by the neural network model.

[0008] Adding to the challenge, some neural network models may require different image quality levels to achieve sufficient confidence for different game actions. However, in the game environment where images are captured, the camera can only take pictures at one image quality level at a time. Therefore, the input requirements of the neural network model do not match the native image quality settings of the camera.

[0009] This challenge is further compounded by the fact that some gaming systems require access to neural network models at remote or distant locations, such as those stored and / or executed by processors accessible only via a communications network. However, transmitting many images over a communications network can take a significant amount of time.

[0010] These and other challenges can slow down gaming at the casino, leading to less gaming activity at any given time period and reduced casino revenue. Additionally, slow gaming can distract game players from enjoying the game.

[0011] Therefore, a new gaming system is needed that overcomes these and other challenges. Summary of the Invention

[0012] In some embodiments, a method of operating a projected gaming system (having a gaming table and a camera) includes: generating an image set based at least in part on a gaming state of a projected gaming according to portions of image data frames captured by a camera at the gaming table; in response to determining that the image set does not satisfy target input requirements of a neural network model corresponding to the gaming state, iteratively modifying image properties of a subset of images from the image set until the image set satisfies the target input requirements; and in response to the iterative modification, providing the image set to the neural network model.

[0013] In some embodiments, generating the image set includes automatically selecting one or more image capture settings associated with the camera based at least in part on the game state; and capturing the image data frames using the one or more image capture settings.

[0014] In some embodiments, the image capture settings include one or more of an image resolution setting, an aspect ratio setting, a shutter speed setting, an aperture size setting, or a zoom setting.

[0015] In some embodiments, generating the image set includes: automatically superimposing a set of rectangles on a portion of the image data frame, wherein the set of rectangles represents the locations that need to be analyzed by the neural network model; copying the portion of the image data frame corresponding to the set of rectangles; and storing the copied portion as the image set, wherein each of the copied portions has a corresponding image width and image height set according to the image resolution of the camera.

[0016] In some embodiments, the method further comprises associating a unique identifier of each rectangle from the set of rectangles with a corresponding one of the image sets; and storing a position of the corresponding one of the image sets on a spritesheet using the unique identifier.

[0017] In some embodiments, the method further includes: receiving one or more data objects associated with characteristics of the physical object identified by the neural network model in response to the analysis performed by the neural network model; and updating the set of rectangles using the one or more data objects.

[0018] In some embodiments, the iterative modification includes: iteratively performing the following operations until the image set meets the target input requirement: selecting one or more images from the image set as an image subset whose image resolution width is the largest among all members of the image set; scaling the image resolution width of each of the one or more images in the subset by one pixel; scaling the image resolution height of each of the one or more images in the subset by one pixel divided by the aspect ratio when the image data frame was captured; and in response to scaling the image resolution width and image resolution height of the one or more images, determining whether the image set as a whole fits into a rectangle representing the maximum resolution limit of the neural network model.

[0019] In some embodiments, determining whether the set of images all fits into the rectangle comprises running a packing algorithm on the set of images.

[0020] In some embodiments, determining whether the entire set of images fits into the rectangle includes: multiplying the image resolution width by itself and by the total number of members of the image set; and determining whether the product of the multiplications is less than or equal to the area of ​​the rectangle, wherein the area of ​​the rectangle is the product of the resolution height limit of the neural network model multiplied by the resolution width limit of the neural network model.

[0021] In some embodiments, providing the set of images to the neural network model includes: forming the set of images into a file; and transmitting the file to the neural network model for parallel analysis of the synthesized set of images.

[0022] In some embodiments, a gaming system includes: a network communication interface; and a processor configured to perform one or more operations to: generate an image set from one or more portions of image data frames captured by a camera at a gaming table based at least in part on a gaming state of a wagered game; in response to determining that the image set does not satisfy a target input requirement of a neural network model corresponding to the gaming state, incrementally modify image properties of a subset of images from the image set until the image set satisfies the target input requirement; and in response to determining that the image set satisfies the target input requirement, provide the image set to the neural network model.

[0023] In some embodiments, the processor configured to generate the image set is configured to perform one or more operations to: automatically select one or more image capture settings associated with the camera based at least in part on the game state; and capture the image data frame based on the one or more image capture settings, wherein the image capture settings include one or more of an image resolution setting, an aspect ratio setting, a shutter speed setting, an aperture size setting, or a zoom setting.

[0024] In some embodiments, the processor configured to generate the image set is configured to perform one or more operations to: automatically superimpose a set of rectangles on a portion of the image data frame, wherein the set of rectangles represents locations that need to be analyzed by the neural network model; crop the portion of the image data frame corresponding to the set of rectangles; and store the cropped portion as the image set, wherein each image in the image set has a corresponding image width and image height set according to the image resolution of the camera.

[0025] In some embodiments, the processor configured to provide the set of images to the neural network model is configured to perform one or more operations to: combine the set of images into a single image; and transmit the single image via the network communication interface to a device having one or more additional processors that operate the neural network model.

[0026] In some embodiments, the processor configured to group the set of images into the single image is configured to perform one or more operations to associate a unique identifier for each rectangle from the set of rectangles with a corresponding one of the set of images.

[0027] In some embodiments, the single image comprises at least one of a sprite sheet or a texture atlas.

[0028] In some embodiments, the processor configured to modify the image properties of the image subset is configured to perform one or more operations to: iteratively perform the following operations until the image set meets the target input requirement: select one or more images from the image set whose image resolution width is the largest among all members of the image set as the image subset; scale the image resolution width of each of the one or more images in the subset by one pixel; scale the image resolution height of each of the one or more images in the subset by one pixel divided by the aspect ratio when the image data frame was captured; and determine whether the image set as a whole fits into a rectangle representing the maximum resolution limit of the neural network model.

[0029] In some embodiments, the processor configured to determine whether the set of images all fit into the rectangle is configured to perform one or more operations to run a packing algorithm on the set of images.

[0030] In some embodiments, the processor configured to determine whether the image set as a whole fits into the rectangle is configured to perform one or more operations to: multiply the image resolution width by itself and by the total number of members of the image set; and determine whether the product of the multiplication is less than or equal to the area of ​​the rectangle, wherein the area of ​​the rectangle is the product of the resolution height limit of the neural network model multiplied by the resolution width limit of the neural network model.

[0031] In some embodiments, one or more non-transitory computer-readable storage media have instructions stored thereon that, when executed by a set of one or more processors of a gaming system, cause the set of one or more processors to perform operations comprising: generating an image set from a portion of a frame of image data captured by a camera at a gaming table based at least in part on a gaming state of a placed game; determining that the image set cannot all fit within an area of ​​a rectangle representing a maximum resolution limit of a neural network model corresponding to the gaming state; and in response to determining that the image set cannot all fit within the rectangle, iteratively performing the following operations until the image set meets the target input requirement, selecting an image from the image set having a resolution width within the range of the target input requirement. The method comprises the steps of: selecting one or more images of the largest size among all members of the image set as an image subset, scaling the image resolution width of each of the one or more images in the subset by one pixel, scaling the image resolution height of each of the one or more images in the subset by one pixel divided by the aspect ratio when the image data frame was captured, and running a packing algorithm to determine whether the image set as a whole fits into a rectangle representing the maximum resolution limit of the neural network model; in response to determining that the image set as a whole fits into the rectangle, combining the image set into a single image file; and transmitting the single image file to the neural network model via a communication network to perform parallel analysis on the image set contained in the single image file. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Embodiments of the invention are illustrated in the drawings in which:

[0033] Figure 1 An example gaming system according to some embodiments is shown;

[0034] Figure 2 is a diagram of an example gaming system according to some embodiments;

[0035] Figure 3 is a flow chart of an example method for gaming environment graphics and tracking optimization according to some embodiments;

[0036] Figure 4 and Figure 5 According to some embodiments Figure 3 Figure associated with the data flow shown in ;

[0037] Figure 6 is a perspective view of a gaming table configured for implementing a slot game according to some embodiments;

[0038] Figure 7 is a perspective view of a single electronic gaming device configured for implementing slotted gaming according to some embodiments;

[0039] Figure 8 is a top view of a table configured for conducting a slot game according to some embodiments;

[0040] Figure 9 is a perspective view of another embodiment of a table configured for implementing a slot game, wherein the implementation includes a virtual dealer, according to some embodiments;

[0041] Figure 10 is a schematic block diagram of a gaming system for implementing slot gaming according to some embodiments;

[0042] Figure 11 is a schematic block diagram of a gaming system for implementing a slot game including a real-time dealer feed, according to some embodiments;

[0043] Figure 12 is a block diagram of a computer used as a gaming system for implementing slot games according to some embodiments; and

[0044] Figure 13 An embodiment of data flow between various applications / services to support the disclosed games, features, or utilities for mobile / interactive gaming is shown in accordance with some embodiments.

[0045] While the present invention is susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. On the contrary, the invention encompasses all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. DETAILED DESCRIPTION

[0046] While the present invention is susceptible of embodiments in many different forms, preferred embodiments of the invention are shown in the drawings and will be described in detail herein, with the understanding that the present disclosure is to be considered as illustrative of the principles of the invention and is not intended to limit the broad aspects of the invention to the embodiments shown. For the purposes of this detailed description, the singular encompasses the plural and vice versa (unless specifically denied); the words "and" and "or" shall be conjunctions and disjunctions; the word "all" means "any and all"; the word "any" means "any and all"; and the word "including" means "including but not limited to."

[0047] Slot games may be considered social or casual games, such as those typically available on social networking sites, other websites, applications across computer networks, or on mobile devices (e.g., phones, tablets, etc.). When offered as a social or casual game, a slot game may be very similar to a traditional casino game, or it may take another form that is more similar to other types of social / casual games.

[0048] The systems and methods described herein optimize images, image capture, image processing, image transmission, and the like to facilitate improved analysis by a neural network model. For example, some embodiments determine whether an image set meets the input requirements of a neural network model. If the image set does not meet the input requirements, the gaming system incrementally modifies image attributes of a subset of the image set until the image set meets the input requirements. When the image set meets the input requirements, the gaming system transmits the image set as a unit (e.g., as a composite of the image set) to the neural network model for analysis. The optimization, for example, increases the speed at which the neural network model receives and / or analyzes captured images of the gaming area. This increased speed allows for rapid and accurate object recognition and / or classification, thereby enabling the automation of a wide variety of gaming operations related to various events, game states, and the like. Improving the speed and accuracy of the game tracking system allows more games to be played (by casino patrons) in any given period, which results in higher revenue for the casino and an improved gaming experience for game participants.

[0049] Figure 11 illustrates an example gaming system according to one or more embodiments of the present disclosure. Gaming system 100 includes a gaming table 140, a camera 130, and a projector 132. Camera 130 captures one or more images of a gaming area (e.g., camera 130 is a webcam that generates a video feed of the captured images of the gaming area). The gaming area encompasses gaming table 140 and the environment surrounding gaming table 140. Projector 132 is configured to project images of game content. Projector 132 projects the images of the game content onto the tabletop of gaming table 140 relative to objects (in the gaming area) depicted within the one or more images. Some examples of objects include printed betting circles (e.g., primary betting circle 101A and secondary betting circle 102A), gaming coins (e.g., coin piles 101B and coin piles 102B), game participants (not shown), etc. Camera 130 is positioned above the gaming table 140. Camera 130 has a first perspective (e.g., field of view or viewing angle) of the gaming area. In this disclosure, the first perspective may be more concisely referred to as a camera perspective or observation perspective. For example, camera 130 has a lens that is directed toward gaming table 140 in such a manner as to view the portion of the gaming table 140 surface relevant to game play. The lens also views objects within the gaming area, such as game participants (e.g., players, dealers, backstage patrons, etc.) located around gaming table 140. Projector 132 is also located above gaming table 140, near camera 130. The projector has a second perspective (e.g., projection direction, projection angle, projection field of view, or projection cone) of the gaming area. This second perspective may be more succinctly referred to in this disclosure as a projection perspective. For example, the projector has a lens that is directed toward gaming table 140 in such a manner as to project (or project) an image of the gaming content onto a substantially similar portion of the gaming area viewed by camera 130. Because the lenses of camera 130 and projector 132 are not co-located, the camera perspective differs from the projection perspective. However, gaming system 100 can translate or map between the camera perspective and the projection perspective so that they substantially and accurately overlap.

[0050] As mentioned, some examples of objects in the gaming area include printed betting circles (e.g., the primary betting circle 101A and the secondary betting circle 102A) and gaming coins (e.g., the coin pile 101B and the coin pile 102B). The primary betting circle 101A and the secondary betting circle 102A are associated with the first of the six different player stations of the gaming table 140. In other words, a first player (not shown) can be located at the first player station (near the outer edge 141 of the gaming table) and can use the primary betting circle 101A to place bets on the primary betting game presented at the gaming table 140. The first player can use the secondary betting circle 102A to place bets on secondary betting game features (e.g., bonus games or rounds) provided at the gaming table 140. For example, during a betting round of the primary betting game, the first player places the coin pile 101B into the primary betting circle 101A as a bet for the primary betting game. In addition, the first player places a stack of game coins 102B in the secondary betting circle 102A as a bet for the secondary betting game feature. In some cases, the secondary betting feature is optional. As used herein, the term "stack" refers to one or more game coins that are physically grouped together.

[0051] Similarly, other players on other player stations can place their placement in respective main placement circle and secondary placement circle.For example, a second player (not shown) is positioned at the second player station of game table 140, and main placement circle 103A and secondary placement circle 104A are associated with said second player station.In the placement round of the main placement game, the second player places game coin pile 103B in the main placement circle 103A as the main placement. In addition, the second player places game coin pile 104B in the secondary placement circle 104A as the secondary placement.Similarly, the third, fourth, fifth and sixth players are positioned at game table 140 and are in the corresponding third, fourth, fifth and sixth player stations. They place their primary bets and secondary bets respectively at the gaming table 140 (e.g., the third player places coin pile 105B in the primary bet circle 105A and coin pile 106B in the secondary bet circle 106A, the fourth player places coin pile 107B in the primary bet circle 107A and coin pile 108B in the secondary bet circle 108A, the fifth player places coin pile 109B in the primary bet circle 109A and coin pile 110B in the secondary bet circle 110A, and the sixth player places coin pile 111B in the primary bet circle 111A and coin pile 112B in the secondary bet circle 112A). Bets are placed during a specific game state (e.g., when the bet game is in "bet mode").

[0052] During placement mode (after all placements are physically placed at the gaming table 140), the camera 130 captures frames of image data 120 of the gaming area using image capture settings associated with the camera 130. In some embodiments, the gaming system 100 may dynamically select and / or change the image capture settings of the camera 130 based on the state of the game (e.g., see FIG. Figure 5 for more details).

[0053] exist Figure 1 In the example shown, the gaming system 100 selects a portion of the image data frame 120, for example, by selecting graphical rectangles 150-161 (i.e., rectangles 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, and 161). The gaming system 100 selects (e.g., creates using a click-and-drag operation) rectangles 150-161 at specific locations within the image data frame 120 that correspond to printed betting circles. The locations of rectangles 150-161 can be determined before game play begins (e.g., during the configuration process of the gaming table 140). The locations can be determined manually or automatically. Furthermore, rectangles 150-161 can be created (e.g., selected) on a transparent graphics layer using a graphical image annotation tool. In one example, the transparent graphics layer can be positioned above the video feed from the camera 130 and sized to fit within the boundaries of the image data frame 120.

[0054] For example, rectangle 150 covers the primary betting circle 101A and an area slightly above the primary betting circle 101A, thereby including the portion of the image data frame 120 that encompasses the primary betting circle 101A and a stack of gaming coins (e.g., stack 101B) that may be located within the primary betting circle 101A. Similarly, rectangle 151 covers the secondary betting circle 102A and an area slightly above the secondary betting circle 102A, thereby including the portion of the image data frame 120 that encompasses the secondary betting circle 102A and a stack of gaming coins (e.g., stack 102B) that may be located within the secondary betting circle 102A. Similarly, rectangle 152 covers the main placement circle 103A and the game coin pile 103B; rectangle 153 covers the secondary placement circle 104A and the game coin pile 104B; rectangle 154 covers the main placement circle 105A and the game coin pile 105B; rectangle 155 covers the secondary placement circle 106A and the game coin pile 106B; rectangle 156 covers the main placement circle 107A and the game coin pile 107B; rectangle 157 covers the secondary placement circle 108A and the game coin pile 108B; rectangle 158 covers the main placement circle 109A and the game coin pile 109B; rectangle 159 covers the secondary placement circle 110A and the game coin pile 110B; rectangle 160 covers the main placement circle 111A and the game coin pile 111B; and rectangle 161 covers the secondary placement circle 112A and the game coin pile 112B.

[0055] After the gaming system 100 selects a portion of the image data frame 120 (e.g., by overlaying rectangles 150-161), the gaming system 100 copies the portion from the image data frame 120 to generate a set of images, each of which has some common image characteristics based on the image capture settings of the camera 130. For example, although each image is significantly smaller than the entire size of the image data frame 120, the image data frame 120 is captured at the same image resolution, the same aspect ratio, using the same exposure and light settings (e.g., the same aperture setting, the same shutter speed setting, the same ISO setting), etc. Therefore, each of the copied portions has some common image characteristics (e.g., the same image resolution).

[0056] The gaming system 100 then processes the image set for optimal transmission and analysis by the neural network model 196. For example, before attempting to transmit the image set, the gaming system 100 determines the input requirements 195 of the neural network model 196 and, based on the input requirements 195, determines whether to modify one or more images in the image set to meet the input requirements 195. For example, the gaming system 100 determines whether to make some images sharper, whether to change the color balance of some images, whether to change the contrast of some images, whether to change the resolution of some images, etc. These changes optimize the images for analysis by the neural network model.

[0057] In one example, the gaming system 100 may iteratively (e.g., in a loop) scale a subset of only the largest images from a set of images and check (e.g., after each iterative scaling of the subset) whether the set of images as a whole fits within a target rectangle (e.g., Figure 4 ), the target rectangle represents the maximum resolution limit for any given image that the neural network model (e.g., neural network model 196) needs to analyze. The maximum resolution limit ensures that neural network model 196 can perform its analysis of the input image within a specific amount of time. However, the maximum resolution limit also limits the size of the image it will receive. Therefore, any processing that can be performed on any one of the images in the image set before sending it to the neural network model is preferred.

[0058] In one embodiment, the gaming system 100 intelligently processes the image set by determining which image(s) in the image set has the highest image quality value in the set (e.g., determining which image(s) in the image set is the largest during each iteration), and then scaling these image(s) by a certain incremental amount (e.g., scaling the width of the largest image in the image set by 1 pixel and scaling the height proportionally based on the camera's aspect ratio). The smallest image in the image set is not scaled. Once the subset is sufficiently scaled so that all images in the image set fit into a rectangle without overlapping each other, the entire image set is packaged into a unit (e.g., a sprite sheet 190) and transmitted as a unit (e.g., as a single image file) to the neural network model 196 for parallel evaluation. This ensures that the smaller images from the image set retain their original quality as captured from the image data frame 120. Thus, the gaming system can provide the neural network model with a single image that meets its input requirements, and each image in the image set (from the modified / scaled larger image to the unscaled smaller image) has sufficient image quality to be analyzed and confidently identified and classified by the neural network model. Furthermore, because only one image file (e.g., sprite sheet 190) is transmitted (e.g., via communication network 122) rather than transmitting each image in a set individually, the total amount of data that needs to be transmitted is reduced (through scaling), thereby reducing network transmission time, and the gaming system can therefore quickly and accurately obtain analytical data from the neural network model.

[0059] Figure 2 is a block diagram of an example gaming system 200 for tracking various aspects of a placed game in a gaming area 201. In an example embodiment, gaming system 200 includes a game controller 202, a tracking controller 204, a sensor system 206, and a tracking database system 208. In other embodiments, gaming system 200 may include more, fewer, or alternative components, including those described elsewhere herein.

[0060] The gaming area 201 is an environment that provides one or more casino game placements. In an exemplary embodiment, the gaming area 201 is a casino game table and the area surrounding the table (e.g., Figure 1 In other embodiments, other suitable gaming areas 201 may be monitored by the gaming system 200. For example, the gaming area 201 may include one or more floor-standing electronic gaming machines. In another example, multiple gaming tables may be monitored by the gaming system 200. Although the description herein may refer to a gaming area (e.g., gaming area 201) as a single gaming table and the area surrounding the gaming table, it should be understood that other gaming areas 201 may be used with the gaming system 200 by employing the same, similar, and / or modified details as described herein.

[0061] Game controller 202 is configured to facilitate, monitor, manage, and / or control the play of one or more games at gaming area 201. More specifically, game controller 202 is communicatively coupled to at least one or more of tracking controller 204, sensor system 206, tracking database system 208, gaming device 210, external interface 212, and / or server system 214 to receive, generate, and transmit data related to games, players, and / or gaming area 201. Game controller 202 may include one or more processors, memory devices, and communication devices to perform the functions described herein. More specifically, the memory devices store computer-readable instructions that, when executed by the processors, cause game controller 202 to function as described herein, including communicating with devices of gaming system 200 via the communication devices.

[0062] The game controller 202 may be physically located at Figure 2 The game controller 202 may be located at or away from the game area 201 as shown. In some embodiments, the game controller 202 may be a distributed computing system. That is, several devices may operate together to provide the functionality of the game controller 202. In such embodiments, Figure 2 At least some of the devices (or their functionality) described in may be incorporated into the distributed game controller 202.

[0063] The game device 210 is configured to promote one or more aspects of the game. For example, for a game based on playing cards, the game device 210 can be a card shuffler, a card dealing box, or other card handling device. The external interface 212 is a device that presents information to a player, a dealer, or other user, and can accept user input to be provided to the game controller 202. In some embodiments, the external interface 212 can be a remote computing device that communicates with the game controller 202, such as a player's mobile device. In other instances, the game device 210 and / or the external interface 212 include one or more projectors. The server system 214 is configured to provide one or more back-end services and / or game playing services to the game controller 202. For example, the server system 214 can include accounting services for monitoring the placement, reward, and cumulative placement of the game area 201. In another instance, the server system 214 is configured to control the game playing by sending a game playing instruction or result to the game controller 202. It should be understood that the devices described above as communicating with the game controller 202 are for exemplary purposes only, and that additional, fewer, or alternative devices may be in communication with the game controller 202, including those described elsewhere herein.

[0064] In an example embodiment, tracking controller 204 communicates with game controller 202. In other embodiments, tracking controller 204 is integrated with game controller 202 such that game controller 202 provides the functionality of tracking controller 204 as described herein. Similar to game controller 202, tracking controller 204 can be a single device or a distributed computing system. In one example, tracking controller 204 can be located at least partially remote from play area 201. That is, tracking controller 204 can receive data from one or more devices (e.g., game controller 202 and / or sensor system 206) located in play area 201, analyze the received data, and / or transmit data back based on the analysis.

[0065] In an example embodiment, the tracking controller 204 includes, similar to the example game controller 202, one or more processors, a memory device, and at least one communication device. The memory device is configured to store computer-executable instructions that, when executed by the processor, cause the tracking controller 204 to perform the functions of the tracking controller 204 described herein. The communication device is configured to communicate with external devices and systems using any suitable communication protocol to enable the tracking controller 204 to interact with the external devices and integrate the functions of the tracking controller 204 with the functions of the external devices. The tracking controller 204 may include several communication devices to facilitate communication with various external devices using different communication protocols.

[0066] Tracking controller 204 is configured to monitor at least one or more aspects of gaming area 201. In an exemplary embodiment, tracking controller 204 is configured to monitor physical objects within gaming area 201 and determine relationships between one or more objects. Some of the objects may include gaming coins. A gaming coin may be any physical object (or group of physical objects) for placement. As used herein, the term "stack" refers to one or more gaming coins that are physically grouped together. For round gaming coins (e.g., gaming coins) typically found in casino gaming environments, these gaming coins may be grouped together in a vertical stack.

[0067] In an example embodiment, tracking controller 204 is communicatively coupled to sensor system 206 to monitor gaming area 201. More specifically, sensor system 206 includes one or more sensors configured to collect sensor data associated with gaming area 201, and tracking system 204 receives and analyzes the collected sensor data to detect and monitor physical objects. Sensor system 206 may include any suitable number, type, and / or configuration of sensors to provide sensor data to gaming controller 202, tracking controller 204, and / or another device that may benefit from the sensor data.

[0068] In an example embodiment, sensor system 206 includes at least one image sensor oriented to capture image data of physical objects in play area 201. In one example, sensor system 206 may include a single image sensor that monitors play area 201. In another example, sensor system 206 includes multiple image sensors that monitor subdivisions of play area 201. The image sensor may be part of a camera unit or a three-dimensional (3D) camera unit of sensor system 206, wherein the image sensor, in combination with other image sensors and / or other types of sensors, can collect depth data related to the image data, which can be used to distinguish objects within the image data. The image data is transmitted to tracking controller 204 for analysis as described herein. In some embodiments, the image sensor is configured to transmit image data that has undergone limited image processing or analysis, such that tracking controller 204 and / or another device receiving the image data performs the image processing and analysis. In other embodiments, the image sensor may perform at least some preliminary image processing and / or analysis before transmitting the image data. In such embodiments, the image sensor can be considered an extension of tracking controller 204, and thus, the functions described herein relating to image processing and analysis performed by tracking controller 204 can be performed by the image sensor (or a dedicated computing device for the image sensor). In certain embodiments, sensor system 206 can include one or more sensors configured to detect objects, such as a time-of-flight sensor, a radar sensor (e.g., LIDAR), a thermal imaging sensor, etc., in addition to or in lieu of an image sensor.

[0069] The tracking controller 204 is configured to establish data structures related to various physical objects detected in the image data from the image sensor. For example, the tracking controller 204 applies one or more image neural network models during image analysis, which are trained to detect various aspects of the physical objects. The neural network model is an analysis tool that classifies unclassified input data without requiring user input. The unclassified input data can be "raw" data captured by the image sensor, modified data, or any combination thereof. The neural network model can be used to convert patterns within the image data into data object representations, such as game coins, faces, hands, etc., thereby facilitating data storage and analysis of objects detected in the image data as described herein.

[0070] At a simplified level, a neural network model is a set of node functions with corresponding weights applied to each function. The node functions and corresponding weights are configured to receive some form of input data (e.g., image data), establish patterns within the input data, and generate outputs based on the established patterns. Weights are applied to the node functions to facilitate model optimization, thereby recognizing certain patterns (i.e., assigning increased weights to node functions that produce correct outputs), and / or adapting to new patterns. For example, a neural network model can be configured to receive input data, detect patterns in image data representing human body parts, perform image segmentation, and generate output that classifies one or more portions of the image data as segments representing a player's body parts (e.g., a box with coordinates relative to the image data that encloses a head, arm, hand, etc. and classifies the enclosed area as "person," "face," "arm," "hand," etc.).

[0071] For example, to train a neural network to identify the most relevant guesses for recognizing human parts, a predetermined dataset comprising image data of human parts and raw image data with known outputs is provided to the neural network. When each node function is applied to the raw input with known outputs, an error correction analysis is performed such that node functions that produce outputs close to or matching the known outputs are assigned increased weights, while node functions with significant errors are assigned reduced weights. In the example of recognizing a person's face, node functions that consistently recognize image patterns of facial features (e.g., nose, eyes, mouth, etc.) can be assigned additional weights. Similarly, in the example of recognizing a person's hand, node functions that consistently recognize image patterns of hand features (e.g., wrist, fingers, palm, etc.) can be assigned additional weights. The outputs of the node functions (including their corresponding weights) are then combined and evaluated to provide an output, for example, a data structure representing a person's face. Training can be repeated to further refine the model's pattern recognition, and the model can still be optimized during deployment (i.e., with raw input without known data outputs).

[0072] At least some of the neural network models applied by tracking controller 204 can be deep neural network (DNN) models. DNN models include at least three layers of node functions linked together to break down the complexity of image analysis into a series of steps that are increasingly extracted from the raw image data. For example, for a DNN model trained to detect the face of a person from an image, a first layer can be trained to identify groups of pixels that represent boundaries of facial features, a second layer can be trained to identify facial features as a whole based on the identified boundaries, and a third layer can be trained to determine whether the identified facial features form a face and distinguish this face from other faces. The multi-layer nature of the DNN model can facilitate more targeted weights, a reduced number of node functions, and / or pipeline processing of image data (e.g., for a three-layer DNN model, each stage of the model can process three frames of image data in parallel).

[0073] In at least some embodiments, each model applied by tracking controller 204 can be configured to recognize specific aspects of the image data and provide different outputs, allowing tracking controller 204 to aggregate the outputs of the neural network models to recognize physical objects as described herein. For example, one model can be trained to recognize a person's face, while another model can be trained to recognize a player's body. In this example, tracking controller 204 can link the player's face to the player's body by analyzing the outputs of both models. In other embodiments, a single DNN model can be applied to perform the functions of several models.

[0074] Tracking controller 204 can generate a data object for each physical object identified within the image data captured by the DNN model. A data object is a data structure generated to link together data associated with corresponding physical objects. For example, the outputs of several DNN models associated with a player can be linked together as part of a player data object.

[0075] It should be understood that the underlying data storage of a data object may vary depending on the computing environment of the memory device or devices storing the data object. That is, factors such as the programming language and file system may change the location and / or manner in which the data object is stored (e.g., via a single block allocation for data storage, via distributed storage with pointers linking data together, etc.). In addition, some data objects may be stored on several different memory devices or databases.

[0076] In some embodiments, player data objects include a player identifier, and data objects for other physical objects include other identifiers. The identifier uniquely identifies the physical object, allowing data stored in the data object to be tied to the physical object. In some embodiments, the identifier can be incorporated into other systems or subsystems. For example, a player account system can store a player identifier as part of a player account, which can be used to provide benefits, rewards, etc. to the player. In some embodiments, the identifier can be provided to the tracking controller 204 by another system that may have generated the identifier.

[0077] In at least some embodiments, data objects and identifiers may be stored by a tracking database system 208. The tracking database system 208 includes one or more data storage devices (e.g., one or more databases) that store data from at least the tracking controller 204 in a structured, addressable manner. That is, the tracking database system 208 stores data according to one or more linked metadata fields that identify the type of data being stored and can be used to group stored data together across several metadata fields. The stored data is addressable so that the data stored within the tracking database system 208 can be tracked after initial storage for retrieval, deletion, and / or subsequent data manipulation (e.g., editing or moving the data). The tracking database system 208 can be formatted according to one or more suitable file system structures (e.g., FAT, exFAT, ext4, NTFS, etc.).

[0078] Tracking database system 208 can be a distributed system (i.e., data storage is distributed across multiple computing devices) or a single device system. In some embodiments, tracking database system 208 can be integrated with one or more computing devices configured to provide other functionality to gaming system 200 and / or other gaming systems. For example, tracking database system 208 can be integrated with tracking controller 204 or server system 214.

[0079] In an example embodiment, tracking database system 208 is configured to facilitate a search function for the tracking controller's stored data. The search function compares input data provided by tracking controller 204 with data stored within tracking database system 208 to identify any "matching" data. It should be understood that a "match" within the context of the search function may mean that the input data is identical, substantially similar, or linked to data stored in tracking database system 208. For example, if the input data is an image of a player's face, a search function may be performed to compare the input data with a set of stored images of historical players to determine whether the player captured in the input data is a returning player. In this instance, one or more image comparison techniques may be used to identify any "matching" images stored by tracking database system 208. For example, key visual markers that distinguish a player may be extracted from the input data and compared to similar key visual markers in the stored data. If identical or substantially similar visual markers are found within tracking database system 208, a matching stored image may be retrieved. In addition to or in lieu of matching images, other data linked to the matching stored image, such as a player account number, the player's name, etc., may be retrieved during the search function. In at least some embodiments, the tracking database system 208 includes at least one computing device configured to perform the lookup function. In other embodiments, the lookup function is performed by a device in communication with the tracking database system 208 (e.g., the tracking controller 204) or a device in which the tracking database system 208 is integrated.

[0080] In some embodiments, one or more image neural network models are implemented to analyze the captured image. In some instances, several neural network models can be implemented together by the tracking controller 204 to extract different features from the image data. That is, the neural network models can be trained to recognize specific characteristics of physical objects. For example, one neural network model can be trained to recognize human faces, while another neural network model can be trained to recognize human torsos, while yet another neural network model can be trained to recognize human hands. While the output of the image neural network model can vary depending on the specific functionality of each model, the output generally includes one or more data elements that represent physical features or characteristics of a person or object in the image data in a format that can be recognized and processed by the tracking controller and / or other computing devices. For example, an example neural network model can be used to detect a player's hand in the image data and output a map of data elements representing "key" physical features of the detected hand (e.g., the position of knuckles or knuckles relative to each other, palm prints, finger size, etc.). The map can indicate the relative position of each hand feature within the space defined by the image data (in the case of a single two-dimensional image, the space can be a corresponding two-dimensional plane) and group several hand features together to distinguish the detected hand. The output graph is a data abstraction of the underlying raw image data with a known structure and format, which may be beneficial for use in other devices and / or software modules. In an example embodiment, applying an image neural network model to the image data causes the tracking controller to generate one or more key data elements as an output of the image processing (including the model). The key data elements may include any suitable amount and / or type of data based at least in part on the corresponding neural network model. At least some of the key data elements include position data indicating the relative position of the represented physical features within a space defined at least in part by the extent of the image data. Key data elements may include, but are not limited to, bounding boxes, key feature points, vectors, wireframes, outlines, pose models, and the like. A bounding box is a visual boundary that encloses an object in an image and classifies the enclosed object according to a plurality of predefined categories (e.g., categories may include "human," "hand," "coin," "coin stack," etc.). A bounding box may be associated with a single category or several categories (e.g., a player may be classified as both "human" and "male"). Similar to a bounding box, a key feature point classifies features of an object in the image data, rather than assigning a single location to a categorized feature.

[0081] In some embodiments, the tracking controller 204 is configured to organize the key data elements (after they are generated) to identify each corresponding physical object. That is, the tracking controller 204 can be configured to assign the output of the neural network model to a specific object based at least in part on the physical properties represented by the key data elements and their physical proximity to each other. In some embodiments, the tracking controller 204 is configured to generate a player data object associated with a player based at least in part on key player data elements. A player data object is a structured allocation of data storage (i.e., multiple predefined data elements and corresponding metadata) attributed to a single player, allowing the tracking controller 204 to store player-associated data from various sources (e.g., different neural network models) together as a player data object. In some embodiments, the key player data elements are stored within the player data object. In other embodiments, the tracking controller 204 can generate data based on the key player data elements to be stored within the player data object (e.g., an aggregated gesture model representing a combination of the key player data elements). In some examples, the player data object is linked to a player identifier uniquely associated with the player. The player identifier can be generated by the tracking controller 204 or retrieved from another system or device that stores the player identifier.

[0082] For example, the player identifier may be stored by a player account system as part of a player account associated with the player. In this instance, to retrieve the player identifier, the tracking controller 204 may transmit a request to the player tracking system, the request including biometric data that can be used to identify the player, such as an image of the player's face and / or key player data elements. If a match is found, the player tracking system may transmit the player identifier back to the tracking controller 204. If no matching player account is found, the tracking controller 204 may generate a player identifier.

[0083] In another example, historical player data objects may be stored in a database (e.g., tracking database system 208). For example, tracking database system 208 may store historical player data generated and / or collected by tracking controller 204. Historical player data may include, but is not limited to, historical key data elements, historical player data objects, and / or historical player identifiers. Tracking controller 204 may be configured to compare data from a player data object with historical player data objects stored in tracking database system 208 to determine whether the player data object (and associated player) matches a previously generated player data object. If a match is found, the player identifier and / or other appropriate historical data may be retrieved from tracking database system 208 to be included in the player data object. If no match is found, a player identifier may be generated by tracking controller 204 to be included in the player data object. In other embodiments, a player data object may not be generated before being compared with historical player data stored by tracking database system 208. In other words, key player data elements may be compared with player data stored in tracking database system 208 to determine whether a player data object associated with the player has been previously generated. If a matching player data object is found, the matching player data object can be retrieved and updated using the key player data element. If no match is found, a player data object is created.

[0084] In some embodiments, the gaming system 200 can facilitate anonymized player tracking through image tracking, thereby enabling players who do not wish to provide their names or other personally identifiable information to potentially obtain at least some of the benefits of a player account while improving management of the gaming environment through enhanced game tracking. That is, if a player does not have a player account, biometric data extracted from image data can still be used to track the player, and the player can obtain the benefits of the tracked game, such as rewards based on the player's historical performance and / or engagement. Biometric data is data that distinguishes a player from others through one or more detected physical characteristics of the player. Biometric data can include, but is not limited to, key player data elements and / or data derived from key player data elements.

[0085] In an embodiment with anonymized player tracking, the tracking controller 204 may determine that an existing player account is not associated with the player and then generate a player identifier or retrieve the player identifier from historical player data within the tracking database system 208. The anonymized player identifier may be temporarily associated with the player until a predetermined time period or a predetermined period of inactivity (i.e., the player is not detected or does not participate in the game for a certain period of time) expires. Upon expiration, the player data object and / or player identifier may be deleted from the storage device and the player identifier may be reintroduced into the pool of available player identifiers to be assigned to other players.

[0086] In some embodiments, the tracking controller 204 is configured to generate other identifiers based on the key coin data elements, such as a coin identifier for a coin pile. Like a player identifier, a coin identifier uniquely identifies a coin pile. The coin identifier can be used to link a coin pile to a player. The tracking controller 204 can generate other data based on the key coin data elements and / or other suitable data elements from an external system and / or sensor system. Coin identifiers can be temporarily assigned to coin piles. That is, coin piles can change over time (e.g., coins are added or removed, a pile is divided into smaller sets, etc.), and therefore, the characteristics that distinguish coin piles indicated by the key coin data elements may not remain fixed. Unlike anonymized player identifiers, which can expire after a relatively extended period (e.g., two weeks to a month), coin identifiers can "expire" within a relatively short period (e.g., one day) to ensure that the pool of coin identifiers is available for newly detected coin piles or sets. In some embodiments, coin identifiers can be reset in response to a game event in a game played at the gaming table. For example, the end of a game round and / or payout process can cause at least one or more coin identifiers to be reset. In some embodiments, the tracking controller 204 is configured to link the coin set and the player together in response to determining that the player is the owner or initiator of the coin set. More specifically, the tracking controller 204 detects the physical proximity between the physical characteristics represented by the key player data element and the key coin data element, and then links the coin identifier to the player data object. Physical proximity can indicate, for example, that the player is holding the coin set in his or her hand. In one example, physical proximity is determined by comparing the position data of the key coin data element with the position data of one or more player data objects associated with the player present in the image data. For example, linking is performed by storing the coin identifier with the player data object or within the player data object. The player data object can be configured to store one or more coin identifiers at a given time so that multiple coin sets can be associated with the player. However, in some embodiments, each coin identifier can be linked to a single player data object at a given time to prevent the coin set from being mistakenly attributed to an intermediate player. As used herein, an "intermediate player" is a player who can handle or own a coin set between a player and the placement area. For example, a backstage player may pass their tokens to an active player to reach a betting area on the gaming table. In this instance, the active player has not yet acquired ownership of the tokens, but is merely acting as a middleman to facilitate the betting of the backstage player. Even if the tracking controller 204 can detect the physical relationship or proximity between the token collection and the intermediary player, the prior linking of the original player and the token collection may prevent the tracking controller 204 from attributing the token collection to the intermediary player.

[0087] Linking the game coin set to a specific player can have some advantages.For example, the distribution reward process can be improved by providing the improved information of at least some identifiable information of the winning player of about (i) who has placed and (ii) for locating a reward to the dealer.For example, game controller 202 and / or tracking controller 204 can monitor the playing of games at the gaming table, determine the game result, and determine which (if any) placement is associated with the winning result that produces a reward.Tracking controller 204 can transfer a reward message to game controller 102 and / or dealer interface (not shown), thereby visually indicating one or more players associated with the winning result placement to the dealer.The reward message can include the indication of the winning player, such as but not limited to player's facial image, player's name, alias etc.In certain embodiments, tracking controller 204 can include display, loudspeaker and / or other audio-visual device to present the information from the reward message.

[0088] In at least some embodiments, tracking controller 204 is configured to generate one or more tracking messages for transmission to one or more external devices or systems. More specifically, the functionality of other systems communicating with tracking controller 204 can be enhanced and / or rely on data from tracking controller 204. In some embodiments, the tracking messages are transmitted to server system 214. The tracking messages are data structures having a predetermined format that allows tracking controller 204 and recipients of the tracking messages to distinguish between the data elements of the tracking messages. The content of the tracking messages can be customized for the intended recipients of the tracking messages, and tracking messages transmitted to different recipients can differ in the structure and / or content of the tracking messages.

[0089] In one example, a player account system in communication with the tracking controller 204 may receive tracking messages to identify any players for whom a player account exists within the gaming environment monitored by the tracking controller 204. In this example, the tracking messages may include location data indicating the location of the player. The location data may indicate the area monitored by the tracking controller 204, or the location data may include additional details of the player's location, such as the approximate location of the player within the area monitored by the tracking controller 204 based at least in part on the location of the player's key player data elements. In another example, the tracking messages may be transmitted to the gaming controller and / or accounting system to monitor bets, prizes, and the players associated with each bet and prize.

[0090] In some embodiments, the gaming system 200 analyzes multiple images over time. For example, for a first frame of image data (captured at a first time), the gaming system 200 may generate a bounding box for the physical object, and then use this bounding box for a second frame of image data (captured at a second time after the first time). The bounding box may be a visual or graphical representation of one or more underlying key game chip data elements. For example, but not limited to, a key game chip data element may specify the coordinates of each corner of the bounding box within the frame, the center coordinates of the bounding box, and / or the vector coordinates of the sides of the bounding box. Other key game chip data elements may be associated with the bounding box that do not specify the coordinates of the bounding box within the frame, such as, but not limited to, classification data (i.e., classifying an object in the frame as a "game chip set") and / or value data (e.g., identifying the value of the game chip set). For example, the position of the bounding box is updated for each frame analyzed by the tracking controller 204, so that a specific game chip set can be tracked over time. In at least some embodiments, the tracking controller 204 compares the key game coin data elements generated for a particular frame with the key game coin data elements of previously analyzed frames to determine whether a game coin set has been previously detected. The previously analyzed frames may include immediately preceding frames within a certain time period (e.g., ten seconds, one minute, or since the start of the game) and / or specific frames extracted from a set of analyzed frames to reduce the amount of data stored and the data processing required to perform the comparison of the key game coin data elements. For example, the tracking controller 204 may be configured to detect three aspects of a player in the captured image data: (i) face, (ii) hands, and (iii) posture. As used herein, "posture" or "posture model" may refer to a physical characteristic that links other physical characteristics of a player together. For example, a player's posture may include features from the player's face, torso, and / or arms to link the player's face and hands together. The tracking controller 204 may generate various bounding boxes for the identified physical characteristics, such as a left-hand bounding box, a right-hand bounding box, a posture model, a face or head bounding box, and facial feature points. In some embodiments, the bounding box is the output of one or more neural network models applied by the tracking controller 204. The gesture model can be used to link together the outputs from multiple neural network models to associate the outputs with a single player. That is, when generating key player data elements, the key player data elements generated by the tracking controller 204 may not be immediately associated with a player. Instead, the key player data elements are spliced ​​or linked together to form a player data object as described herein. The key player data elements that form the gesture model can be used to find links between different outputs associated with a particular player. In some instances, the gesture model includes gesture feature points and connectors. The gesture feature points represent key features of a player, which can be used to distinguish the player from other players and / or identify the player's movements or actions.For example, a player's eyes, ears, nose, corners of the mouth, shoulder joints, elbow joints, and wrists can be represented by corresponding gesture feature points. The gesture feature points may include coordinates relative to the captured image data to facilitate positional analysis of different feature points and / or other key player data elements. The gesture feature points may also include classification data indicating which feature is represented by the corresponding gesture feature point. Connectors visually link the player's gesture feature points together. Connectors can be extrapolated between certain gesture feature points (e.g., extrapolating connectors between gesture feature points representing a player's wrist and elbow joints). In some embodiments, gesture feature points can be combined by one or more corresponding neural network models applied by the tracking controller 204 to the captured image data (e.g., via connectors and / or by linking feature points to the same player). In other embodiments, the tracking controller 204 may perform one or more processes to associate gesture feature points with a specific player. For example, the tracking controller 204 may compare the coordinate data of the gesture feature points to identify relationships between the physical characteristics represented (e.g., eyes are physically close to the nose, so it is determined that the eyes and nose are part of the same player).

[0091] At least some of the pose feature points can be used to link other key player data elements to the pose model (and, by extension, to the player). More specifically, at least some of the pose feature points can represent the same or nearby physical features or characteristics as other key player data elements, and based on the positional relationship between the pose feature point and another key player data element, a physical relationship can be identified. In one example, the pose feature points include a wrist feature point that represents a wrist detected by the tracking controller 204 in the captured image data. The wrist feature point can be compared to multiple hand bounding boxes (or vice versa, such that the hand bounding box is compared to multiple wrist feature points) to identify a positional relationship with one of the hand bounding boxes, and therefore identify a physical relationship between the wrist and the hand.

[0092] In at least some embodiments, the tracking controller 204 is configured to generate annotated image data. The annotated image data can be image data to which at least a graphical and / or metadata representation of the data generated by the tracking controller 204 has been added. For example, if the tracking controller 204 generates a bounding box enclosing a hand, the graphics of the bounding box can be applied to the image data to represent the generated bounding box. The annotated image data can be an image filter selectively applied to the image data, or an entirely new data file that aggregates the image data with data from the tracking controller 204. The annotated image data can be stored as a single image and / or video file. The annotated image data can be stored in a database (e.g., the tracking database system 208) as part of the historical object data.

[0093] In other examples, other suitable image processing techniques and tools can be implemented by tracking controller 204 instead of or in combination with the neural network model. For example, a 3D camera (e.g., of sensor system 206) can generate a depth map that provides depth information related to the image data so that objects can be distinguished and / or classified from each other based on depth. Some key data elements can be generated based on the depth map. In another example, a LIDAR sensor (e.g., of sensor system 206) can be configured to detect objects to generate key data elements.

[0094] Figure 3 is a flow chart of an example method for gaming environment graphics and tracking optimization according to one or more embodiments of the present disclosure. Figure 4 and Figure 5 According to one or more embodiments of the present disclosure Figure 3 The data flow shown in the diagram is associated with Figure 3 The description will refer to Figure 4 and Figure 5 .

[0095] exist Figure 3 In the example, process 300 begins at processing block 302 by receiving a frame of image data captured by a camera at a gaming table. Figure 1 As shown in FIG, camera 130 captures image data frame 120 using image capture settings of camera 130. In another example, a video stream of image data is captured by the camera and sent to a tracking controller (e.g., Figure 2 ) to perform image processing and / or analysis to identify physical objects in the game area.

[0096] In some embodiments, the image capture settings may include, but are not limited to, one or more of the following:

[0097] The image resolution setting for capturing image data. In some cases, the level of image resolution depends on the level of detail required for the neural network model to recognize physical objects within the region of interest based on the game state.

[0098] Aspect ratio settings.

[0099] Shutter Speed ​​Settings. Some shutter speeds are optimal for physical objects that may move quickly. For example, during certain game states, the game system tracks the player's hands. Because hands can move quickly, taking pictures of hands at higher shutter speeds reduces or eliminates blur that may appear in the image data frames due to rapid hand movement. Certain shutter speeds may be optimal based on ambient light settings. For example, some game states that require precise tracking of object features or require detailed identification of an object's physical characteristics may include settings that allow for longer exposure times so that more detailed information can be captured in the source image.

[0100] Aperture size setting.

[0101] Zoom settings. For example, some game states may only be relevant to certain portions of the game area. Therefore, some image capture settings can be set to zoom in or out on specific areas of the image feed from the camera.

[0102] Reference is made to a set of template names for a set of overlay rectangles that may be positioned over one or more specific areas on a frame of image data captured from a camera at a gaming table (e.g., see Figure 1 ). In some cases, this setting specifies the name of a template from the Image Capture Settings library. For example, Figure 5A sample library 501 is shown, which a gaming system can utilize to automatically and dynamically select image capture settings at a gaming table based, at least in part, on a particular gaming state (or combination of gaming states or other gaming conditions). For example, the gaming system may detect that a first gaming state 503 (e.g., betting mode) is occurring at the gaming table. Accordingly, the gaming system selects a template 505 from library 501 that corresponds to the first gaming state 503. Rectangles of different types and locations may exist for different regions of the image data frame. For example, for a second gaming state 510 (e.g., main gaming mode), the gaming system may select a template 512 having rectangles associated with the region where gaming activity (e.g., dealing cards) occurs. In another example, for a third gaming state 520 (e.g., bonus game or "gesturing" mode), the gaming system may select a template 522 that covers an area located in the lower third of the image data frame, where the gaming system may need to detect the execution of certain gestures or track gameplay elements, such as cards, a roulette wheel, dice, etc. For a fourth gaming state 530 (e.g., service mode), the gaming system may select a template 533 that covers substantially all of the image data frame. In addition, the library 501 also specifies camera settings that are optimal for capturing images of specific types of activities and / or for tracking specific types of objects for the purpose of specific game states. Some camera settings may require higher resolution and longer exposure times (e.g., to track gaming coins during a slot mode), while other camera settings may require lower resolution and shorter exposure times (e.g., to track hands during a gesturing mode).

[0103] Return Reference Figure 3 , process 300 continues at processing block 304 by generating an image set based on the portion of the image data frame. In one example, the gaming system generates the image set by automatically selecting and using one or more overlay rectangles from a template library as previously described. For example, the gaming system determines that the gaming state is a betting mode and therefore selects overlay template 505 from library 501. Figure 4 As shown in , the gaming system automatically overlays rectangles 150-161 stored in overlay template 505. The gaming system then copies portions of the image data corresponding to a set of regions associated with rectangles 150-161 (e.g., copies / crops portions of the image data within the region of the frame on which the boundaries of rectangles 150-161 are overlaid). The gaming system then stores the copied portions as image set 490 (e.g., in a memory buffer, array, database, etc.). Each of the multiple copies has a corresponding image width and image height based on the image resolution of image data frame 120.

[0104] In some examples, the gaming system can assign a unique identifier from each of rectangles 150-161 to each corresponding image in images 450-461 contained within image set 490. The identifiers can be used to identify the positions of images 450-461 relative to each other and relative to the boundaries of image data frame 120. The identifiers can also be used to identify each of images 450-461 if modified, or to keep track of images 450-461 when they are organized into units (e.g., into texture atlases or sprite sheets).

[0105] Return Reference Figure 3 , the process 300 continues at processing block 306 to determine whether the image set meets the input requirements of the neural network model. If the image set does not meet the input requirements, the process 300 continues at processing block 308 to modify the image attributes of a subset of the image set by an incremental amount. For example, referring to Figure 4 , the gaming system determines whether the image set 490 fits into the area of ​​the rectangle 495, as they would have been generated when copied from the image data frame 120. The gaming system can determine whether the image set 190 will fit by running a packing algorithm on the image set 490 to determine whether all of the images 450-461 (at their given sizes based on the resolution of the image data frame 120) will fit into the rectangle 495. The area of ​​the rectangle 495 is equal to the product of the target height 470 (e.g., 512 pixels) multiplied by the target width 472 (e.g., 512 pixels), resulting in a maximum input area (e.g., 262,144 pixels).

[0106] An example of source code for a packing algorithm according to some embodiments includes Ville Koskela's Rectangle Packer Demo, available at: https: / / github.com / villekoskelaorg / RectanglePacking / blob / master / src / org / villekoskela / RectanglePackerDemo.as, which is incorporated herein by reference in its entirety.

[0107] In some embodiments, the gaming system can determine whether the image set 490 meets the input requirements by determining the exact size of all images 450-461 and then running a packing algorithm using the exact size values. However, in another example, as a time-saving measure, the gaming system can perform a quick check to determine whether the image set 490 as a whole meets the input requirements. For example, the gaming system can multiply the value of the largest side of the largest rectangle in the image set 490 (e.g., width 492) by itself and by the total number of members of the image set 490. The product is the maximum possible area of ​​all image sets 490. For example, if the width 492 of image 451 (the largest image) is two hundred (200) pixels, the gaming system can multiply this value by itself (e.g., the product of 200 pixels x 200 pixels = 40,000 pixels). Next, the gaming system multiplies the value of this product (e.g., 40,000 pixels) by the number twelve (i.e., the number of images in the image set 490 is twelve). Therefore, the maximum possible area of ​​all image sets 490 is 40,000 pixels x 12 = 480,000 pixels. Because this number (480,000 pixels) is greater than the maximum target input value (greater than 262,144 pixels), the game system determines that the image sets 490 will not fit into rectangle 495 without overlapping each other. At this point, the game system can then run a more accurate packing algorithm using the exact values ​​for the height and width of each of the image sets 490.

[0108] Still refer to Figure 4 In some embodiments, the gaming system modifies the image set 490 locally (e.g., by a first processor located at the gaming table, rather than a second processor located at a second device (e.g., a server) at a remote location from the neural network model).

[0109] In some cases, the gaming system selects one or more of images 450-461 in image set 490 that have the highest image quality value, e.g., by determining which of images 450-461 has the largest image resolution width. For example, the gaming system measures the width of each of images 450-461 and determines that image 451 has the largest width 492. Consequently, image 451 is placed in subset 491.

[0110] In other cases, the gaming system selects as a subset only those images from the image set 490 that are most in need of modification (e.g., images that need to be scaled, images that need contrast changes, images that need sharpening, etc.) or that are most tolerant to modification (e.g., larger images can have their resolution reduced and still be recognized by the image neural network model 496 with an acceptable level of confidence, with at least the same (or greater) probability as smaller images). By iteratively selecting and modifying only those images that are most in need of modification or most tolerant to modification, and not modifying other images (e.g., not modifying images that do not need modification or are least tolerant to modification), it is ensured that the quality of other lower-quality images in the image set 490 (e.g., smaller images, blurrier images, etc.) remains as close to the same image quality as the original image data captured (e.g., according to the image capture settings selected for a given game state). Thus, the gaming system can provide the neural network with the best image quality for each image in the set, thereby improving the probability that the neural network will recognize and appropriately classify objects depicted in the image set 490, thereby improving the accuracy with which the gaming system recognizes and classifies physical objects in the game area associated with the game state.

[0111] Still refer to Figure 4 , the gaming system scales each image in the subset by a specific amount. For example, the gaming system scales the width of each of the one or more images in the subset 491 by a pixel width reduction value. In one example, for example, Figure 4 In some embodiments, the gaming system scales the image 451 so that the resolution of the image decreases by one pixel in width for each iteration, while in other embodiments, the gaming system scales the image so that the resolution of the image decreases by a specific number of pixels in width that is greater than one pixel. The specific number can vary based on one or more factors, such as (i) the level / degree to which the image set 490 needs to be scaled to meet the input requirements (e.g., if a large amount of scaling is required, the gaming system can initially set the pixel width reduction value to a larger number of pixels (e.g., 10 pixels), and as the resolution of subset 491 is iteratively reduced, the pixel width reduction value can dynamically decrease as the resolution size of subset 491 decreases and begins to approach the desired collective resolution required to fit the image set 490 into the target rectangle 495), (ii) the amount of time the neural network model 496 requires the image set 490 to be able to complete an electronic analysis of the image set 490 or to complete one or more operations for placing a game for the game state, (iii) the total number of rectangles 450-461, (iv) the game state, and the like.

[0112] The gaming system may also scale the height of each image in subset 491 by a pixel height reduction value, where the pixel height reduction value comprises the pixel width reduction value divided by the aspect ratio indicated in the image capture settings (to maintain the same aspect ratio as the width to height aspect ratio specified in the webcam settings).

[0113] In some embodiments, the gaming system does not scale at least one of the images in the set. For example, the gaming system scales the largest image 451, but does not scale the smaller images 450, 452, 453, 454, 455, 456, 457, 458, 459, 460, and 461. After scaling each image in subset 491 by a specific amount, the gaming system again determines whether the entire set of images 490 fits within the target rectangle 495. With each repeated iteration, the gaming system incrementally reduces the largest image (e.g., one or more of the images in subset 491) and then runs a packing algorithm to determine whether the set of images 490 fits within the target rectangle 495.

[0114] In some cases, for each iteration, the game system evaluates which image(s) in image set 490 is largest and includes that image(s) in subset 491 for image scaling. For example, after one or more iterations of incrementally decreasing resolution, the game system scales image 451 to the point where width 492 becomes equal to (or smaller than) the width of image 450. Thus, for that iteration and for any possible subsequent iterations, the game system includes image 450 in subset 491 in addition to image 451.

[0115] Return Reference Figure 3 , the process 300 continues at processing block 310, when the image set meets the input requirements, the image set is transmitted as a unit to the neural network model. Figure 4 , after determining that image set 490 fits within rectangle 495, the gaming system packages image set 490 into a single image file (e.g., a sprite sheet or texture atlas). The gaming system then transmits the file to neural network model 495 to analyze image set 490 in parallel in a single image. This improves network bandwidth resources because the gaming system only submits one file over the network instead of twelve different files. In addition, this increases the speed at which the neural network model can analyze image set 490 because all images are evaluated at approximately the same time. Further, this improves the average confidence score because it only leaves behind the lowest quality images (e.g., the lowest quality images are kept at their original quality).

[0116] Figure 1 – Figure 5Some example embodiments are shown. Additional examples can include the game system transmitting an image set to one or more neural network models based on the game state. In some examples, the game system can determine to send different image sets (based on different types of rectangles within the images) to different neural network models and / or to send subsets of image sets to one or more different neural network models.

[0117] In another example, the gaming system uses one or more data objects to update the set of rectangles. For example, the neural network model may analyze one of the images from the image set and determine that the height of the pile of gaming coins is greater than the height of the labeled rectangle. The neural network model detects that the pile of gaming coins is greater than the height of the labeled rectangle and provides data regarding the actual size as one or more data objects linked to the rectangle via an identifier. Upon receiving the data, the gaming system updates the size of the labeled rectangle for subsequent image use and capture.

[0118] In yet other examples, the gaming system utilizes a camera (e.g., a webcam) that captures visual and audio data. Before processing or transmitting the images, the gaming system performs MJPEG compression. MJPEG compression removes any audio data, thereby reducing the file size of any one of the image sets. In some embodiments, the gaming system can train a neural network using images that appear to have MJPEG compression (e.g., have compression artifacts, such as noise from a webcam image).

[0119] In some instances, the gaming system determines, based on the game state, whether to send the packaged file to a local neural network model (e.g., stored on hardware at the gaming table) rather than to a neural network on a remote neural network model (e.g., stored on hardware on a remote server accessible via the internet). In some embodiments, the gaming system can train the neural network model with blurred images of hands, thereby producing better classification results.

[0120] In yet other examples, the gaming system can train a neural network model to identify a stack of coins only when the bottom coin in the stack is within the betting circle. For example, one image in the image set may depict a coin behind the betting circle, yet the coin is still within the area depicted in the image. Therefore, if the neural network model is trained to recognize only a certain type of object (e.g., a coin-shaped object), it may identify stray coins as being included in the betting. However, to prevent this from happening, the neural network model is trained so that, as a condition for recognition, the bottom coin in the stack must be within the betting circle. Therefore, stray coins are not considered part of the betting.

[0121] Figure 6 is a gaming table 1200 (which may be configured as) for implementing a slot game according to the present disclosure. Figure 1The game table 1200 is a perspective view of an embodiment of a game table 140 (see FIG. 140). The game table 1200 can be a physical item of furniture around which players of a cast game can stand or sit, and on which physical objects used to manage or otherwise participate in the cast game can be supported, positioned, moved, transferred, and otherwise manipulated. For example, the game table 1200 can include a game surface 1202 (e.g., a tabletop) on which physical objects used to manage the cast game can be located. The game surface 1202 can be, for example, a felt fabric covering the hard surface of the table, and a design specific to the game being managed, commonly referred to as a "layout," can be physically printed on the game surface 1202. As another example, the game surface 1202 can be a surface of a transparent or translucent material (e.g., glass or Plexiglas), onto which a projector 1203, which can be located, for example, above or below the game surface 1202, can project a layout specific to the cast game being managed. In this example, the specific layout projected onto the gaming table 1202 can be changeable, enabling the gaming table 1200 to be used to manage different variations of slot games or other slot games within the scope of the present disclosure. In any example, the gaming table 1202 can include, for example, designated areas for player positions; areas where one or more of player cards, dealer cards, or community cards can be dealt; areas where bets can be accepted; areas where bets can be grouped into pots; and areas where rules, payout tables, and other instructions related to the slot game can be displayed. As specific, non-limiting examples, the gaming table 1202 can be configured as any of the table surfaces described herein.

[0122] In some embodiments, the gaming table 1200 may include a display 1210 separate from the gaming surface 1202. The display 1210 may be configured to face players, potential players, and spectators and may display, for example, information randomly selected by the shuffling device and also displayed on the shuffling device's display; rules; payout table; real-time game status, such as accepted bets and dealt cards; historical game information, such as the number of bets, percentage of winning hands, and number of significant hands achieved; commercial game titles, casino names, advertisements, and other instructions and information related to the bet game. In some embodiments, the display 1210 may be a physically fixed display, such as an edge-lit sign. In other embodiments, the display 1210 may automatically change in response to a stimulus (e.g., it may be an electronic video monitor).

[0123] The gaming table 1200 may include specific machines and equipment configured to facilitate the management of wagered gaming. For example, the gaming table 1200 may include one or more card handling devices 1204A, 1204B. The card handling device 1204A may be, for example, a card shoe, from which physical playing cards 1206 from one or more mixed playing card decks may be removed at a time. Such a card handling device 1204A may include, for example, a housing in which the playing cards 1206 are located, an opening from which the playing cards 1206 are removed, and a card presentation mechanism (e.g., a movable weight on a ramp configured to push a stack of playing cards down the ramp) configured to continuously present new playing cards 1206 for removal from the shoe.

[0124] In some embodiments utilizing a card handling device 1204A, in addition to or instead of including such features in a shuffling device, the card handling device 1204A may include a random number generator and a display. In addition to the card handling device 1204A, a card handling device 1204B may also be included. The card handling device 1204B may be, for example, a card shuffler configured to select information (using a random number generator) for display on a display of the shuffler, reorder (random or pseudo-random) physical playing cards 1206 from one or more decks of playing cards, and present the randomized playing cards 1206 for use in a wagering game. Such a card handling device 1204B may include, for example, a housing, a shuffling mechanism configured to shuffle cards, and a card input and output (e.g., a tray). The shuffler may include card recognition capabilities that may create a randomly ordered set of playing cards within the shuffler. The card handling device 1204 may also be a combination shuffler and shoe, for example, where the output of the shuffler is a shoe.

[0125] In some embodiments, a card handling device (e.g., card handling device 1204A or card handling device 1204B) can be configured and programmed to manage at least a portion of a slot game performed using the card handling device. For example, the card handling device can be programmed and configured to randomize a set of cards and individually deliver the cards for use according to the rules of the game and the player and / or dealer's game play selections. More specifically, the card handling device can be programmed and configured to, for example, randomize a set of six complete decks of cards, including one or more standard 52-card playing cards, and optionally any specialty cards (e.g., cut cards, bonus cards, wild cards, or other specialty cards). In some embodiments, the card handling device can present a single card, one at a time, for removal from the card handling device. In other embodiments, the card handling device can present an entire shuffled card block that is manually or automatically transferred to the card distribution shoe 1204. In some such embodiments, the card handling device may accept dealer input, such as the number of replacement cards for discarding cards, the number of cuts to be added, or the number of partial hands to be completed. In other embodiments, the device may accept dealer input indicating a game selection from a game options menu, which may select programming to cause the card handling device to deliver the necessary number of cards to the game according to the rules of the game, player decisions, and dealer decisions. In yet other embodiments, the card handling device may present a complete set of random cards that are manually or automatically removed from a shuffler and then inserted into a card distribution shoe. As a specific non-limiting example, the card handling device may present a complete set of cards to be manually or automatically transferred into a card distribution shoe, or may provide a continuous supply of individual cards.

[0126] In another embodiment, the card handling device may be a batch shuffler that randomizes a set of cards, for example by using a grip, lift, and insert sequence.

[0127] In some embodiments, a card handling device may employ a random number generator to determine a card sequence, such as a final card sequence or the order in which cards are inserted into compartments configured to form a pack of cards. The compartments may be sequentially numbered, and each compartment number may be assigned a random number before the first card is delivered. In other embodiments, the random number generator may select a location within a card pile to divide the pile into two sub-piles, thereby creating an insertion point at a random location within the pile. The next card may be inserted into the insertion point. In still other embodiments, the random number generator may randomly select a location within the pile to randomly remove a card by activating an ejector.

[0128] Regardless of whether the random number generator is hardware or software, it can be used to implement the specific game management methods of the present disclosure.

[0129] In some embodiments, the card handling device may simply be supported on the gaming table 1202. In other embodiments, the card handling device may be mounted to the gaming table 1202 such that the card handling device cannot be manually removed from the gaming table 1202 without the use of tools. In some embodiments, the one or more decks of playing cards used may be one or more standard 52-card decks. In other embodiments, the one or more decks used may include playing cards such as playing cards, wild cards, bonus cards, etc. The shuffler may also be configured to handle and dispense security cards, such as cut cards.

[0130] In some embodiments, the card handling device may include an electronic display 1207 for displaying information related to the betting game being administered. The electronic display 1207 may display a game options menu, the name of the selected game, the number of cards to be dealt per hand, the number of other bets that may be accepted (e.g., minimum and maximum values), the number of cards to be dealt to a recipient, the position of a specific recipient for a specific card, winning and losing bets, a payout table, the number of winning hands, and the number of losing hands. In other embodiments, information related to the betting game may be displayed on another electronic display, such as the previously described display 1210.

[0131] The type of card handling device for managing the disclosed embodiment of the game of placing, and the type and number of the deck of cards used can be specific to the game to be implemented. The cards used in the game of the present invention can be, for example, standard game cards from one or more decks of cards, each of which has four suits (clubs, hearts, diamonds and spades) and A, K, J and ten to two cards arranged in descending order. As a more specific example, six, seven or eight such standard cards can be mixed. Typically, six or eight 52 standard game cards can be mixed and formed into one group. After shuffling, the random groups can all be transferred to another part of the card handling device B or another card handling device, such as in a mechanized card box that can read the size of the card and the suit.

[0132] Game table 1200 may include one or more coin racks 1208, which are configured to promote acceptance of placement, transfer lost placement to the gaming field, and change game elements 1212 (e.g., coin). For example, coin rack 1208 may include a series of coin support rows, and each coin support row may support the coin of different types (e.g., color and denomination). In certain embodiments, coin rack 1208 may be configured to automatically present the coin of a selected number using coin cutting and delivery mechanism. In certain embodiments, game table 1200 may include drop-in box 1214. Drop-in box 1214 may be, for example, a safety container (e.g., a safe or a lock box), which has a one-way opening and a safe lockable opening. This type of drop-in box 1214 is known in the art, and may be directly incorporated into game table 1200, and in certain embodiments, may have a removable container.

[0133] As part of the method for managing the game, the dealer 1216 can accept one or more initial bets from the player, which can be reflected by the dealer 1216, thereby allowing the player to place one or more game elements 1212 or other game coins in a designated area on the game table 1202 associated with each bet of the bet game. In some embodiments, once the initial bets are accepted, the dealer 1216 can remove physical playing cards 1206 (e.g., a single card, a card package, or a complete set of playing cards) from the card handling device. In other embodiments, the physical playing cards 1206 can be manually thrown (i.e., the dealer 1216 can optionally shuffle the playing cards 1206 to randomize the group of playing cards, and can manually deal playing cards 1206 from the randomized group of playing cards). The dealer 1216 can position the playing cards 1206 in a designated area on the game table 1202, and it can designate the playing cards 1206 as being used as single player cards, community cards, or dealer cards according to the rules of the game. The house rules may require the dealer to accept both the primary and secondary bets before dealing the cards. The house rules may alternatively allow the player to place only one bet (i.e., the second bet) during the split and after the initial bet has been placed, or after the cards are dealt but before all cards available for play are revealed.

[0134] In some embodiments, after dealing the cards 1206 and during the game, any additional bets (e.g., game bets) may be accepted according to the rules of the game, which may be reflected by the dealer 1216, thereby allowing the player to place one or more game elements 1212 in a designated area on the game table 1202 associated with the game bet of the bet game. The dealer 1216 may perform any additional dealing according to the rules of the game. Finally, the dealer 1216 may resolve the bets, awarding the won bets to the player, which may be achieved by providing the game elements 1212 from the coin rack 1208 to the player, and transferring the lost bets to the gaming field, which may be achieved by moving the game elements 1212 from the designated player bet area to the coin rack 1208.

[0135] Figure 7 1 is a perspective view of a single electronic gaming device 1300 (e.g., an electronic gaming machine (EGM)) configured to implement a bet game according to the present disclosure. The single electronic gaming device 1300 may include a single player location 1314, which includes a player input area 1332 configured to enable a player to interact with the single electronic gaming device 1300 through various input devices (e.g., buttons, levers, touch screen). The player input area 1332 may also include a ticket input receiver, through which a player may feed a ticket into the single electronic gaming device 1300, which may then communicate with game logic within the single electronic gaming device 1300 to detect the physical item (ticket). In other embodiments, the single electronic gaming device 1300 detects a signal indicating that an electronic bet has been placed. The bet may then be received when the player uses the player input area 1332 or elsewhere on the machine (e.g., via a touch screen). A single electronic gaming device 1300 may also include a ticket output printer or cash dispenser in a single player location 1312, which may dispense an award of the player's point balance via the ticket output printer or cash dispenser upon receipt of an instruction entered by the player using the player input area 1332.

[0136] The single electronic gaming device 1300 may include a game screen 1374 configured to display indicia for interacting with the single electronic gaming device 1300, such as by processing one or more programs stored in the game logic memory 1340 to implement the rules of game play at the single electronic gaming device 1300. Thus, in some embodiments, game play can be adapted without the involvement of physical game cards, tokens, or other gaming elements, or on-site personnel. This action can instead be simulated by a control processor 1350, which is operatively coupled to the memory 1340 and interacts with and controls the single electronic gaming device 1300. For example, the processor can cause the display 1374 to display playing cards, including virtual player and dealer cards, for playing the game of the present disclosure.

[0137] Although the single electronic gaming device 1300 (as shown) has the profile of a traditional gaming cabinet, the single electronic gaming device 1300 can be implemented in other ways, such as on a bar-top gaming terminal using client software downloaded to a portable device (e.g., a smartphone, tablet, or laptop). The single electronic gaming device 1300 can also be a non-portable personal computer (e.g., a desktop computer or stand-alone computer) or other computing device. In some embodiments, the client software is not downloaded but is native to the device or delivered with the device at the time of distribution.

[0138] A communication device 1360 may be included and operably coupled to the processor 1350 so that information related to the operation of the single electronic gaming device 1300, information related to game play, or a combination thereof may be transmitted between the single electronic gaming device 1300 and other devices, such as a server, via a suitable communication medium (e.g., a wired network, a Wi-Fi network, and a cellular communication network).

[0139] The game screen 1374 may be carried by a generally vertically extending cabinet 1376 of the individual electronic game device 1300. The individual electronic game device 1300 may also include banners for conveying game rules, instructions, game suggestions or tips, etc., such as along a top portion 1378 of the cabinet 1376 of the individual electronic game device 1300. The individual electronic game device 1300 may also include additional decorative lights (not shown) and speakers (not shown) for transmitting and optionally receiving sound during game play.

[0140] Some embodiments can be implemented at the position comprising a plurality of player stations. Such player stations can comprise electronic display screens, which are used to display game information (such as, playing cards, placement and game instructions) and are used to accept placement. Such player stations can optionally be integrated in a table format, can be distributed in whole game fields or other game websites, or can comprise grouped and distributed player stations.

[0141] Figure 8 14. It is a top view of a suitable table 1400 configured for implementing a slot game according to the present disclosure. Table 1400 may include a gaming table 1404. Table 1400 may include an electronic player station 1412. Each player station 1412 may include a player interface 1416, which may be used to display gaming information (e.g., graphics illustrating player layout, gaming instructions, input options, slot information, gaming results, etc.) and to accept player selections. In some embodiments, player interface 1416 may be a display screen in the form of a touch screen, which may be at least substantially flush with gaming table 1404. Each player interface 1416 may be operated by its own local gaming processor 1414 (shown in dotted lines), but in some embodiments, a central gaming processor 1428 (shown in dotted lines) may be used, and it may directly communicate with player interface 1416. In some embodiments, a combination of a single local gaming processor 1414 and a central gaming processor 1428 may be employed. Each of the processors 1414 , 1428 may be operably coupled to a memory that includes one or more programs related to the rules of game play at the table 1400 .

[0142] A communication device 1460 may be included and may be operably coupled to one or more of the local game processor 1414, the central game processor 1428, or a combination thereof, such that information related to the operation of the table 1400, information related to game play, or a combination thereof, may be transmitted between the table 1400 and the other devices via a suitable communication medium (e.g., a wired network, a Wi-Fi network, and a cellular communication network).

[0143] The table 1400 may also include additional features, such as a dealer coin tray 1420, and bets and balance adjustments during game play may be performed using, for example, virtual coins (e.g., images or text representing bets). For embodiments using physical playing cards 1406a and 1406b, the table 1400 may also include a card handling device 1422, such as a card shoe configured to read and deliver randomized playing cards. For embodiments using virtual playing cards, the virtual playing cards may be displayed at the individual player interface 1416. Physical playing cards designated as "community cards" may be displayed in the community card area.

[0144] The table 1400 may also include a dealer interface 1418, which, like the player interface 1416, may include touch screen controls for receiving dealer input and assisting the dealer in managing the betting game. The table 1400 may also include an upright display 1430 configured to display images depicting game information, a pay table, a manual tally, a player's historical win / loss information, and a wide variety of other information useful to the player. The upright display 1430 may be double-sided to provide such information to the player as well as to casino personnel.

[0145] Although the described embodiments show individual discrete player stations, in some embodiments, the entire gaming table 1404 can be an electronic display that is logically partitioned to allow game play from multiple players, for receiving input from players, dealers, or both, and for displaying game information to players, dealers, or both.

[0146] Figure 9 1 is a perspective view of another embodiment of a suitable electronic multi-player table 1500 configured to implement a slot game according to the present disclosure using a virtual dealer. The table 1500 may include player positions 1514 arranged in a row around an arcuate edge 1520 of a video device 1558, which may include a card screen 1564 and a virtual dealer screen 1560. The dealer screen 1560 may display a video simulation of a dealer (i.e., a virtual dealer) interacting with the video device 1558, for example by processing one or more stored programs stored in a memory 1595 to implement the rules of playing the game at the video device 1558. The dealer screen 1560 may be carried by a generally vertically extending cabinet 1562 of the video device 1558. A substantially horizontal card screen 1564 may be configured to display at least one or more of the dealer's cards, any community cards, and each player's cards dealt by the virtual dealer on the dealer screen 1560.

[0147] Each of the player positions 1514 may include a player interface area 1532 that is configured to interact with the video device 1558 and the virtual dealer to play the game. Therefore, it is possible to adapt to playing games without involving physical game cards, poker tokens, and on-site personnel. This action can instead be simulated by a control processor 1597 that interacts with the video device 1558 and controls the video device. The control processor 1597 can be programmed to implement the rules of playing games at the video device 1558 by known techniques. Therefore, the control processor 1597 can interact and communicate with the data item input of each player interface area 1532 of the display / input interface and the video device 1558. Other embodiments of the table and gaming device may include a control processor that can be similarly adapted to the specific configuration of its associated device.

[0148] A communication device 1599 may be included and may be operably coupled to the control processor 1597 so that information relating to the operation of the table 1500, information relating to game play, or a combination thereof may be transmitted between the table 1500 and other devices, such as a central server, via a suitable communication medium (e.g., a wired network, a Wi-Fi network, and a cellular communication network).

[0149] The video device 1558 may also include banners conveying game rules, etc., which may be located along one or more walls 1570 of the cabinet 1562. The video device 1558 may also include additional decorative lights and speakers, which may be located, for example, on an underside surface 1566 of a generally horizontally extending top 1568 of the cabinet 1562 of the video device 1558, which extends generally toward the player positions 1514.

[0150] Although the described embodiments show individual discrete player stations, in some embodiments, the entire gaming table (e.g., player interface area 1532, card screen 1564, etc.) can be a unitary electronic display that is logically partitioned to allow game play from multiple players, for receiving input from players, dealer, or both, and for displaying game information to players, dealer, or both.

[0151] In some embodiments, a gaming system employing a client-server architecture (e.g., via the Internet, a local area network, etc.) may be used to manage slot games according to the present disclosure. Figure 10 1 is a schematic block diagram of an exemplary gaming system 1600 for implementing slot games according to the present disclosure. Gaming system 1600 can enable end users to remotely access game content. Such game content may include, but is not limited to, various types of slot games, such as card games, dice games, roulette games, scratch-off games ("scratch-offs"), and any other slot game where the outcome is determined in whole or in part by one or more random events. The slot games supported by gaming system 1600 can be operated using virtual points or other virtual (e.g., electronic) value tokens. A virtual point option can be used with slot games, where points (or other symbols) can be issued to players for betting. Players can earn points in any permitted manner, including, but not limited to: being awarded points as part of a tournament or this or another game (including non-slot games); being awarded points as a reward for using a product, casino, or other enterprise, for time spent playing a game session, or for the games played; or it may be as simple as earning virtual points for logging in at specific times or with a specific frequency, etc. In one example, points earned (eg, purchased or awarded) for entertainment gaming may be limited to non-monetary redeemable items, rewards, or points that may be used in the future or for another game or gaming session.

[0152] Another variation includes a web-based website with both entertainment games and slot games that includes issuing free (non-monetary) points that can be used to play the entertainment games. This feature can attract players to the website and games before they participate in the games. In some embodiments, a limited number of free or promotional points can be issued to entice players to play the games. Another method of issuing points includes issuing free points in exchange for identifying friends who may want to play the game.

[0153] The gaming system 1600 may include a gaming platform that provides a portal for end users to access playable games hosted by one or more gaming servers 1610 over a network 1630. In some embodiments, the games are accessed through a user interaction service 1612. The gaming system 1600 enables players to interact with a user device 1620 via a user input device 1624 and a display 1622, and communicates with one or more gaming servers 1610 using a network 1630 (e.g., the Internet). Typically, the user device is remote from the gaming server 1610, and the network is the World Wide Web (i.e., the Internet).

[0154] In some embodiments, the game server 1610 can be configured as a single server to manage the bet game in combination with the user device 1620. In other embodiments, the game server 1610 can be configured as a separate server to perform separate dedicated functions associated with managing the bet game. Therefore, the following description also discusses "services", and it is understood that various services can be performed by different servers or combinations of servers in different embodiments. Figure 9 , game servers 1610 may include user interaction services 1612, game services 1616, and asset services 1614. In some embodiments, one or more game servers 1610 may communicate with an account server 1632 that executes an account service 1632. As explained more fully below, for some game types, account service 1632 may be independent and operated by a different entity than game servers 1610; however, in some embodiments, account service 1632 may also be operated by one or more game servers 1610.

[0155] User devices 1620 can communicate with user interaction services 1612 via network 1630. User interaction services 1612 can communicate with game services 1616 and provide game information to user devices 1620. In some embodiments, game services 1616 may also include a game engine. The game engine can, for example, access, interpret, and apply game rules. In some embodiments, a single user device 1620 communicates with a game provided by game services 1616, while other embodiments may include multiple user devices 1620 configured to communicate with the same game provided by game services 1616 and provide end users with access to the same game. In addition, multiple end users may be allowed to access a single user interaction service 1612 or multiple user interaction services 1612 to access game services 1616. User interaction services 1612 enable users to create and access user accounts and interact with game services 1616. User interaction services 1612 enable users to initiate new games, join existing games, and communicate with games that users are playing.

[0156] The user interaction service 1612 may also provide a client for executing on the user device 1620 to access the game server 1610. The client provided by the game server 1610 for executing on the user device 1620 may be any of a variety of implementations depending on the user device 1620 and the method of communication with the game server 1610. In one embodiment, the user device 1620 may connect to the game server 1610 using a web browser, and the client may execute within a browser window or frame of the web browser. In another embodiment, the client may be a standalone executable file on the user device 1620.

[0157] For example, a client may include a relatively small number of scripts (e.g., ), also known as a "script driver," includes a scripting language that controls the client interface. The script driver may include simple function calls that request information from the game server 1610. In other words, the script driver stored in the client may only include calls to functions defined externally by and executed by the game server 1610. Therefore, the client can be characterized as a "thin client." The client may only send requests to the game server 1610 without executing the logic itself. The client may receive player input, and the player input may be passed to the game server 1610 for processing and executing the cast game. In some embodiments, this may involve providing specific graphical display information and game results to the display 1622.

[0158] As another example, the client can include an executable file rather than a script. The client can perform more local processing than a script driver, such as calculating what game symbols to display and where when receiving game results from the game service 1616 via the user interaction service 1612. In some embodiments, portions of the asset service 1614 can be loaded onto the client and used by the client to process and update graphical displays. When data is transmitted over the network 1630, some form of data protection, such as end-to-end encryption, can be used. The network 1630 can be any network, such as the Internet or a local area network.

[0159] Game server 1610 may include an asset service 1614, which hosts various media assets (e.g., text, audio, video, and image files) for delivery to user devices 1620 for use in presenting various casted games to end users. In other words, the assets presented to end users may be stored separately from user devices 1620. For example, user device 1620 may request assets appropriate for a game the user is playing; as another example, particularly with thin clients, game server 1610 may only deliver those assets required for a particular display event, including a single asset. User device 1620 may invoke functions defined in user interaction service 1612 or asset service 1614, which determine which assets to deliver to user device 1620 and how it should present them to the end user. Different assets may correspond to various user devices 1620 and their clients, which may access game service 1616 and different casted game variations.

[0160] The game server 1610 may include a game service 1616 that can be programmed to manage the slot games and determine the game play outcomes to provide to the user interaction service 1612 for transmission to the user device 1620. For example, the game service 1616 may include game rules for one or more slot games, such that the game service 1616 controls some or all of the game flow and the determined game outcomes for the selected slot games. The game service 1616 may include a payout table and other game logic. The game service 1616 may perform random number generation to determine random game elements for the slot games. In one embodiment, the game service 1616 may be separated from the user interaction service 1612 by a firewall or other method that prevents unauthorized access to the game service 1612 by ordinary members of the network 1630.

[0161] The user device 1620 can present the game interface to the player and transmit user interactions with the user input device 1624 to the game server 1610. The user device 1620 can be any electronic system capable of displaying game information, receiving user input, and transmitting the user input to the game server 1610. For example, the user device 1620 can be a desktop computer, a laptop computer, a tablet computer, a set-top box, a mobile device (e.g., a smartphone), an information kiosk, a terminal, or another computing device. As a specific non-limiting example, the user device 1620 operating the client can be the interactive electronic game system 1300. The client can be a dedicated application or can be executed within a general-purpose application capable of interpreting instructions from the interactive game system, such as a web browser.

[0162] The client may interface with the end user via a web page or application running on a device including, but not limited to, a smartphone, tablet, or general-purpose computer, or the client may be any other computer program configurable to access the game server 1610. The client may be shown within a casino web page (or other interface) indicating that the client is embedded within a web page supported by a web browser executing on the user device 1620.

[0163] In some embodiments, the components of the gaming system 1600 may be operated by different entities. For example, a user device 1620 may be operated by a third party (e.g., a gaming venue or an individual) linked to a gaming server 1610, which may be operated, for example, by a gaming service provider. Therefore, in some embodiments, the user device 1620 and the client may be operated by an administrator different from the operator of the gaming service 1616. In other words, the user device 1620 may be part of a third-party system that does not manage or otherwise control the gaming server 1610 or gaming service 1616. In other embodiments, the user interaction service 1612 and the asset service 1614 may be operated by a third-party system. For example, a gaming entity (e.g., a gaming venue) may operate the user interaction service 1612, the user device 1620, or a combination thereof to provide its customers with access to gaming content managed by different entities, which may control the gaming service 1616 and other functions. In yet other embodiments, all functions may be operated by the same administrator. For example, a gaming entity (e.g., a casino) may choose to perform each of these functions internally, such as providing access to user devices 1620, delivering the actual gaming content, and managing the gaming system 1600.

[0164] The game server 1610 may optionally communicate with one or more external account servers 1632 (also referred to herein as account services 1632) through another firewall. For example, the game server 1610 may not directly accept bets or issue rewards. In other words, the game server 1610 may facilitate online casino games but may not be part of the self-contained online casino itself. Another entity (e.g., a casino) may operate and maintain its external account services 1632 to accept bets and distribute rewards. The game server 1610 may communicate with the account services 1632. As another example, the game server 1610 may directly accept bets and issue rewards, such as when the administrator of the game server 1610 operates as the casino.

[0165] Additional features may be supported by the game server 1610, such as hacking and cheating detection, data storage and archiving, metric generation, message generation, output formatting for different end-user devices, and other features and operations.

[0166] Figure 1116 is a schematic block diagram of a table 1682 for implementing a slot game including a real-time dealer video feed. Except as further described, the features of the gaming system 1600 (previously described) can be used in conjunction with this embodiment. Instead of having the playing cards determined by a computerized random process, physical playing cards (e.g., from a standard 52-card deck of playing cards) can be dealt by a live dealer 1680 at the table 1682 from a card handling system 1684 located in a studio or on the casino floor. A table manager 1686 can assist the dealer 1680 in facilitating the game by transmitting a real-time video feed of the dealer's actions to the user device 1620 and transmitting remote player selections to the dealer 1680. As described above, the table manager 1686 can function as or communicate with the gaming system 1600 (e.g., as the gaming system 1600 itself or as an intermediary client interposed between and operably connected to the user devices 1620 and the gaming system 1600) to provide games to users of the gaming system 1600 at tables 1682. Thus, the table manager 1686 can communicate with the user devices 1620 via the network 1630 and can be part of a larger online gaming venue, or it can operate as a separate system that facilitates game play. In various embodiments, each table 1682 can be managed by a single table manager 1686 comprising a gaming device that can receive and process information related to that table. For simplicity of description, these functions are described as being performed by the table manager 1686, but certain functions can be performed by an intermediary gaming system. In some embodiments, the gaming system 1600 can match remotely located players with tables 1682 and facilitate the transmission of information, such as bet amounts and player option selections, between the user devices 1620 and the tables 1682, without managing game play at individual tables. In other embodiments, the functionality of the table manager 1686 may be incorporated into the gaming system 1600 .

[0167] The table 1682 includes a camera 1670 and optionally a microphone 1672 to capture video and audio feeds related to the table 1682. The camera 1670 can be trained for the live dealer 1680, the gaming area 1687, and the card handling system 1684. When the game is being managed by the live dealer 1680, the video feed captured by the camera 1670 can be remotely displayed to the player using the user device 1620, and any audio captured by the microphone 1672 can be remotely played to the player using the user device 1620. In some embodiments, the user device 1620 may also include a camera, a microphone, or both, which can also capture feeds to be shared with the dealer 1680 and other players. In some embodiments, the camera 1670 can be trained to capture images of the cards, tokens, and token stacks on the surface of the gaming table. Card counts and card rank and suit information can be obtained from the card images using known image extraction techniques.

[0168] In some embodiments, the table manager 1686 may use the card data and placement data to determine the outcome of the game. Data extracted from the camera 1670 may be used to confirm the card data obtained from the card handling system 1684, determine the position of the player receiving the card, and for general security monitoring purposes, such as detecting player or dealer card switching. Examples of card data include, for example, the suit and rank information of the cards, the suit and rank information of each card in a hand, the rank information of the cards in a hand, and the rank information of each hand in a round of play.

[0169] The real-time video feed allows the dealer to display the cards dealt by the card handling system 1684 and play the game as if the player were playing at a table with other players in a live casino. In addition, the dealer can prompt the user by announcing that the player's selection will be executed. In embodiments that include a microphone 1672, the dealer 1680 can verbally announce the action or request the player to make a selection. In some embodiments, the user device 1620 also includes a camera or microphone that also captures the feed to be shared with the dealer 1680 and other players.

[0170] The card handling system 1684 may be as previously shown and described. The game area 1686 depicts a player layout for playing the game. As determined by the rules of the game, the player at the user device 1620 may be presented with options for using the client to proceed with events in the game.

[0171] The player selections may be transmitted to the table manager 1686, which may display the player selections to the dealer 1680 using the dealer display 1688 and player action indicators 1690 on the table 1682. For example, the dealer display 1688 may display information about where the next card is dealt or which player position is responsible for the next action.

[0172] In some embodiments, the table manager 1686 can receive playing card information from the playing card handling system 1684 to identify the cards dealt by the playing card handling system 1684. For example, the playing card handling system 1684 can include a playing card reader to determine playing card information from the playing cards. The playing card information can include the rank and suit of each dealt card and information about the hand of poker.

[0173] The table manager 1686 can apply the game rules to the card information along with acceptable player decisions to determine game play events and betting outcomes. Alternatively, the betting outcomes can be determined by the dealer 1680 and input to the table manager 1686, which can be used to automatically confirm the outcomes determined by the gaming system.

[0174] In some embodiments, the card data and placement data may be used by the table manager 1686 to determine the outcome of the game. Data extracted from the camera 1670 may be used to confirm the card data obtained from the card handling system 1684, to determine the position of the player receiving the card, and for general security monitoring purposes, such as detecting player or dealer card switching.

[0175] The real-time video feed allows the dealer to display the cards dealt by the card handling system 1684 and play the game as if the player were in a live casino. In addition, the dealer can prompt the user by announcing that the player's selection will be executed. In embodiments that include a microphone 1672, the dealer 1680 can verbally announce the action or request the player to make a selection. In some embodiments, the user device 1620 also includes a camera or microphone that also captures the feed to be shared with the dealer 1680 and other players.

[0176] Figure 12 16 is a simplified block diagram illustrating elements of a computing device that may be used with the systems and apparatus of the present disclosure. Computing system 1640 may be a user-friendly computer, a file server, a computer server, a laptop computer, a tablet computer, a handheld device, a mobile device, or other similar computer system for executing software. Computing system 1640 may be configured to execute software programs containing computing instructions and may include one or more processors 1642, a memory 1646, one or more displays 1658, one or more user interface elements 1644, one or more communication elements 1656, and one or more storage devices 1648 (also referred to herein as storage devices 1648).

[0177] Processor 1642 may be configured to execute various operating systems and applications, including computing instructions for managing the gaming of the present disclosure.

[0178] The processor 1642 may be configured as a general-purpose processor, such as a microprocessor, but in the alternative, the general-purpose processor may be any processor, controller, microcontroller, or state machine suitable for executing the processes of the present disclosure. The processor 1642 may also be implemented as a combination of computing devices (e.g., 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.

[0179] A general-purpose processor can be a part of a general-purpose computer. However, when configured to execute instructions (e.g., software codes) for executing embodiments of the present disclosure, a general-purpose computer should be considered a special-purpose computer. In addition, when configured according to embodiments of the present disclosure, such special-purpose computers improve the functionality of general-purpose computers because, without the present disclosure, general-purpose computers will not be able to execute the processes of the present disclosure. When executed by a special-purpose computer, the processes of the present disclosure are processes that people cannot execute within a reasonable time due to the complexity of the data processing, decision-making, communication, interactive properties, or combinations thereof of the present disclosure. The present disclosure also provides meaningful limitations in one or more specific technical environments beyond abstract concepts. For example, embodiments of the present disclosure provide improvements in the technical field relevant to the present disclosure.

[0180] Memory 1646 may be used to store computing instructions, data, and other information used to perform various tasks, including managing the bet games of the present disclosure. By way of example and not limitation, memory 1646 may include synchronous random access memory (SRAM), dynamic RAM (DRAM), read-only memory (ROM), flash memory, and the like.

[0181] The display 1658 may be any of various displays, such as a light emitting diode display, a liquid crystal display, a cathode ray tube, etc. In addition, the display 1658 may be configured with a touch screen feature for accepting user input as the user interface element 1644 .

[0182] As non-limiting examples, user interface elements 1644 may include elements such as a display, keyboard, buttons, mouse, joystick, haptic device, microphone, speaker, camera, and touch screen.

[0183] As non-limiting examples, the communication elements 1656 may be configured to communicate with other devices or communication networks. As non-limiting examples, the communication elements 1656 may include elements for communicating over wired and wireless communication media, such as, for example, a serial port, a parallel port, an Ethernet connection, a Universal Serial Bus (USB) connection, an IEEE 1394 ("FireWire") connection, a THUNDERBOLT™ connection, a Wireless networks, ZigBee wireless networks, 802.11 type wireless networks, cellular telephone / data networks, fiber optic networks, and other suitable communication interfaces and protocols.

[0184] Storage devices 1648 can be used to store relatively large amounts of non-volatile information for use in computing system 1640 and can be configured as one or more storage devices. By way of example and not limitation, these storage devices may include computer-readable media (CRMs). The CRMs may include, but are not limited to, magnetic and optical storage devices such as disk drives, magnetic tapes, CDs (compact disks), DVDs (digital versatile disks or digital video disks), and semiconductor devices such as RAM, DRAM, ROM, EPROM, internal memory, and other equivalent storage devices.

[0185] Those skilled in the art will recognize that computing system 1640 can be configured in many different ways, with different types of interconnecting buses between various components. Furthermore, various components can be subdivided physically, functionally, or a combination thereof. As a non-limiting example, memory 1646 can be divided into cache memory, graphics memory, and main memory. Each of these memories can communicate directly or indirectly with one or more processors 1642 over a separate bus, a partially combined bus, or a common bus.

[0186] As specific, non-limiting examples, the various methods and features of the present disclosure may be implemented in a mobile, remote, or mobile and remote environment via one or more of the Internet, cellular communications (e.g., broadband), near field communications networks, and other communications networks collectively referred to herein as an iGaming environment. The iGaming environment may be implemented, for example, via DragonPlay Ltd., acquired by Bally Technologies, provides access to social media environments such as and The platform provides an instance of the platform that games to user devices (eg, cell phones and other devices).

[0187] Figure 13 An exemplary embodiment of information flow in an iGaming environment is shown. At the player level, a player or user accesses a website hosting an activity, such as website 1700. Website 1700 may functionally provide a web game client 1702. Web game client 1702 may be represented, for example, by a game client 1708 downloadable at information flow 1710, which may process an applet transmitted from a game server 1714 at information flow 1711 to render and process the game on the player's remote device. In some embodiments, web game client 1702 may access a local storage store to drive a graphics display on the player's device. In other embodiments, all or a portion of the game graphics may be streamed to the player's device using web game client 1702, thereby enabling player interaction and display of game features and outcomes on the player's device.

[0188] The website 1700 can access a player-centric iGaming platform-level account module 1704 at information flow 1706 so that players can establish and confirm credentials for gaming and, where permitted, access accounts for betting (e.g., eWallet). The account module 1704 can include or access data related to the player profile (e.g., player-centric information that needs to be retained and tracked by the host), the player's electronic account, registration and authentication information (e.g., username and password, name and address information, date of birth), a copy of a government-issued identification document (e.g., driver's license or passport), and biometric identification standards (e.g., fingerprint or facial recognition data). The account module 1704 can also include and enforce geographic restrictions, such as the geographic area in which players can play P2P games, user device IP address confirmation, etc.

[0189] The account module 1704 communicates with the game module 1716 at information flow 1705 to complete login, registration, and other activities. The game module 1716 can also store or access the player's game history, such as player tracking and loyalty club account information. The game module 1716 can provide static web pages from the game module 1716 to the player's device via information flow 1718, while real-time game content can be provided from the game server 1714 to the network game client via information flow 1711 as described above.

[0190] Game server 1714 can be configured to provide interaction between the game and the player, such as receiving bet information, game selections, player selections within a game or selections to play to completion, and random selection of game outcomes and graphics packages. Such interaction, alone or in combination with downloadable game client 1708 / web game client 1702 and game module 1716, provides for display of game graphics and a player interaction interface. At information flow 1718, player account and login information can be provided from account module 1704 to game server 1714 to enable game play. Information flow 1720 provides bet / point information between account module 1704 and game server 1714 for game play and can display points and eWallet availability. Information flow 1722 can provide player tracking information to game server 1714 for tracking player game play. Tracking game play can be used to provide player loyalty rewards, determine preferences, and the like.

[0191] Figure 13 All or part of the features of may be supported by servers and databases located remotely from the player's mobile device and may be hosted or sponsored by a regulated gaming entity for P2P gaming, or where P2P is not permitted, for entertainment-only gaming.

[0192] In some embodiments, a bet game may be managed at least partially in a player pooled format, where winnings from pooled bets are paid out to players from a pot, and losing bets are collected into a pot and ultimately distributed to one or more players. Such player pooled embodiments may include player pooled progressive embodiments, where the pot is ultimately distributed upon the processing of a predetermined progressive winning hand combination or composition. Player pooled embodiments may also include dividend payout embodiments, where at least a portion of the pot is ultimately distributed in the form of a payout, such as a proportionate share of the pot contributions to the players.

[0193] It should be noted that the method described herein can be played with 52 standard playing cards (e.g., 1 to 10 pairs) of any number of pairs. A standard deck of playing cards is a set of playing cards, including A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, each with four suits (including spades, diamonds, clubs, hearts), totaling 52 playing cards. The playing cards can be shuffled or a continuous shuffling machine (CSM) can be used. A standard deck of 52 playing cards can be used, as well as several pairs of playing cards of other types, such as several pairs of Spanish cards, several pairs of wild cards, etc. The operations described herein can be performed in any reasonable order. In addition, many different variations of game rules can be applied.

[0194] Note that in embodiments where the game is played using a computer (processor / processing unit), a "virtual deck" of cards is used instead of a physical deck of cards. A virtual deck is an electronic data structure that represents a physical deck of cards, using an electronic representation for each corresponding card in the deck. In some embodiments, the virtual cards are presented (e.g., using computer graphics displayed on an electronic output device, projected onto a physical table surface using a video projector, etc.) and are presented to mimic the real-life images of the cards.

[0195] The methods described herein can also be played on a physical table using physical playing cards and physical tokens for placing bets. When a player loses (and the dealer wins) a player's bet, the dealer removes (collects) the bet from the player and typically places the tokens in the dealer's bet holder. Before the game begins, all rules, embodiments, features, etc. of the game being played can be communicated to the player (e.g., verbally or on a written rule card).

[0196] The bets can be placed in the form of electronic points.

[0197] Any component of any embodiment described herein may comprise hardware, software, or any combination thereof.

[0198] In addition, the operations described herein can be performed in any reasonable order. Any operation not required for normal operation can be optional. In addition, all methods described herein can also be stored as instructions on a computer-readable storage medium, and the instructions can be operated by a computer processor. All variations and features described herein can be combined with any other features described herein without restriction. All features in all documents incorporated by reference herein can be combined with any feature described herein, and can also be combined with all other features in all other documents incorporated by reference without restriction.

[0199] The features of the various embodiments of the subject matter described herein, no matter how important to the example embodiments incorporated therein, do not limit the subject matter as a whole, and any reference to the invention, its elements, operations, and applications is not intended to limit the invention as a whole, but only to these example embodiments. Therefore, this detailed description does not limit the embodiments, which are defined solely by the appended claims. Furthermore, since many modifications and changes will readily occur to those skilled in the art, it is not desired to limit the subject matter to the exact construction and operations shown and described, and therefore all suitable modifications and equivalents may be resorted to within the scope of the subject matter.

Claims

1. A method of operating a projection gaming system comprising a gaming table and a camera, the method comprising: detecting, by an electronic processor in response to electronic communication with the wagered gaming system, a gaming state from a plurality of gaming states associated with a wagered game presented at the gaming table; dynamically generating, by the electronic processor, a set of digital images from portions of frames of image data captured by a camera at the gaming table based at least in part on the detected gaming state; in response to the electronic processor determining, through electronic analysis of the digital image set, that the digital image set does not satisfy a maximum resolution target input requirement of a neural network model corresponding to the game state, iteratively modifying, by the electronic processor, image resolution properties of a subset of images from the digital image set until the iterative modification causes the entire digital image set to satisfy the maximum resolution target input requirement, wherein the iterative modification comprises: iteratively performing the following operations until the digital image set satisfies the maximum resolution target input requirement: selecting one or more images from the digital image set as the image subset having an image resolution width that is the largest among all members of the digital image set, scaling the image resolution width of each of the one or more images by one pixel, and scaling the image resolution height of each of the one or more images by one pixel divided by the aspect ratio at which the image data frame was captured, and wherein, in response to each iteration of scaling the image resolution width and image resolution height of the one or more images, determining, by the electronic processor, through a rectangle packing algorithm, whether the entire digital image set fits within a rectangle representing the maximum resolution constraint of the neural network model; and In response to detecting that the iterative modifications cause the set of digital images to collectively satisfy the maximum resolution target input requirement, the electronic processor provides the set of digital images to the neural network model.

2. The method according to claim 1, wherein the generating comprises: automatically selecting one or more image capture settings associated with the camera based at least in part on the game state; as well as The frame of image data is captured using the one or more image capture settings. 3 . The method of claim 2 , wherein the image capture settings include one or more of an image resolution setting, an aspect ratio setting, a shutter speed setting, an aperture size setting, or a zoom setting.

4. The method of claim 1 , wherein said generating comprises: automatically superimposing a set of rectangles on a portion of the frame of image data, wherein the set of rectangles represents locations that need to be analyzed by the neural network model; copying a portion of the image data frame corresponding to the set of rectangles; as well as The copied portions are stored as the digital image set, wherein each of the copied portions has a corresponding image width and image height set according to an image resolution of the camera.

5. The method according to claim 4, further comprising: associating a unique identifier for each rectangle from the set of rectangles with a corresponding one of the set of digital images; as well as The location of a corresponding one of the set of digital images is stored on a sprite sheet using the unique identifier.

6. The method according to claim 4, further comprising: responsive to analysis performed by the neural network model, receiving one or more data objects associated with characteristics of a physical object identified by the neural network model; as well as The set of rectangles is updated using the one or more data objects.

7. The method of claim 1 , wherein determining whether the set of digital images all fits within the rectangle comprises: multiplying the image resolution width by itself and by the total number of members of the digital image set; as well as Determine whether the multiplied product is less than or equal to an area of ​​the rectangle, wherein the area of ​​the rectangle is a product of a resolution height limit of the neural network model multiplied by a resolution width limit of the neural network model.

8. The method of claim 1 , wherein providing the set of digital images to the neural network model comprises: Gathering the digital images into a file; as well as The files are transferred as units to the neural network model to analyze the synthesized image sets in parallel.

9. A gaming system comprising Network communication interface; and A processor configured to perform one or more operations to generating a set of digital images from one or more portions of a frame of image data captured by a camera at the gaming table based at least in part on a gaming state of the wagered game, In response to determining that the set of digital images does not satisfy a maximum resolution target input requirement of a neural network model corresponding to the game state, incrementally modifying image properties of a subset of images from the set of digital images until the entire set of digital images satisfies the maximum resolution target input requirement, wherein a processor configured to incrementally modify image properties of the subset of images configured to perform one or more operations to: iteratively perform the following operations until the set of digital images meets the target input requirement: select one or more images from the set of digital images as the subset of images having an image resolution width that is the largest among all members of the set of digital images, scale the image resolution width of each of the one or more images by one pixel, scale the image resolution height of each of the one or more images by one pixel divided by an aspect ratio at which the frame of image data was captured, and determine whether the set of digital images as a whole fits within a rectangle representing a maximum resolution limit of the neural network model, and In response to determining that the set of digital images collectively satisfy the maximum resolution target input requirement, the set of images is provided to the neural network model.

10. The gaming system of claim 9, wherein the processor configured to generate the set of digital images is configured to perform one or more operations to: automatically selecting one or more image capture settings associated with the camera based at least in part on the game state; and The image data frames are captured based on the one or more image capture settings, wherein the image capture settings include one or more of an image resolution setting, an aspect ratio setting, a shutter speed setting, an aperture size setting, or a zoom setting.

11. The gaming system of claim 9, wherein the processor configured to generate the set of digital images is configured to perform one or more operations to: automatically superimposing a set of rectangles on a portion of the frame of image data, wherein the set of rectangles represents locations that need to be analyzed by the neural network model; cropping a portion of the frame of image data corresponding to the set of rectangles; and The cropped portion is stored as the digital image set, wherein each of the digital image sets has a corresponding image width and image height set according to the image resolution of the camera.

12. The gaming system of claim 9, wherein the processor configured to provide the set of digital images to the neural network model is configured to perform one or more operations to: combining the digital images into a single image; and The single image is transmitted via the network communication interface to a device having one or more additional processors that operate the neural network model.

13. The gaming system of claim 12, wherein the processor configured to group the digital images into the single image is configured to perform one or more operations to associate a unique identifier for each rectangle from a set of rectangles with a corresponding one of the set of digital images.

14. The gaming system of claim 12, wherein the single image comprises at least one of a sprite sheet or a texture atlas.

15. The gaming system of claim 9, wherein the processor configured to determine whether the set of digital images all fit into the rectangle is configured to perform one or more operations to: multiplying the image resolution width by itself and by the total number of members of the digital image set; and Determine whether the multiplied product is less than or equal to an area of ​​the rectangle, wherein the area of ​​the rectangle is a product of a resolution height limit of the neural network model multiplied by a resolution width limit of the neural network model.

16. One or more non-transitory computer-readable storage media having stored thereon instructions that, when executed by a set of one or more processors of a gaming system, cause the set of one or more processors to perform operations comprising: generating an image set from portions of a frame of image data captured by a camera at the gaming table based at least in part on a gaming state of the wagered game; determining that the set of images cannot all fit within a region of a rectangle representing a maximum resolution limit of a neural network model corresponding to the game state; In response to determining that the set of images cannot all fit into the rectangle, The following operations are performed iteratively until the image set meets the target input requirements, Selecting one or more images with the largest image resolution width among all members of the image set from the image set as an image subset, scaling the image resolution width of each of the one or more images in the subset by one pixel, scaling the image resolution height of each of the one or more images in the subset by one pixel divided by the aspect ratio at which the frame of image data was captured, and running a packing algorithm to determine whether the set of images all fits within a rectangle representing a maximum resolution limit of the neural network model; In response to determining that the set of images all fits within the rectangle, grouping the set of images into a single image file; as well as The single image file is transmitted to the neural network model via a communication network to perform parallel analysis on the set of images contained in the single image file.

Citation Information

Patent Citations

  • Image processing method and device

    WO2019037676A1

  • System and method for machine learning-driven object detection

    WO2019068141A1