EP-4480558-B1 - GAME ENGINE AND ARTIFICIAL INTELLIGENCE ENGINE ON A CHIP
Inventors
- YERLI, CEVAT
Dates
- Publication Date
- 20260513
- Application Date
- 20190315
Claims (14)
- An electronic chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) comprising: a memory (106, 808) configured to store input data; a plurality of processing cores; and at least one hardware interface (112, 512) coupled to the plurality of processing cores; wherein one processing core (114, 602) of the plurality of processing cores implements both, a game engine (102) and an artificial intelligence engine (104, 604) as hardwired electronic circuits, wherein the game engine (102) is coupled to the artificial intelligence engine (104, 604); and wherein the game engine (102) is configured to process the input data in real-time, thereby generating data sets for the artificial intelligence engine (104, 604); and wherein the memory (106, 808) is configured to store the data sets generated by the game engine (102); wherein the artificial intelligence engine (104, 604) is configured to retrieve the data sets from the memory (106,808) and to perform training of the artificial intelligence engine (104, 604) or inference operations based on the data sets.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 1, wherein the input data comprises data input by a user via a programming interface, sensory data captured by sensing mechanisms, or combinations thereof.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 1 or 2, wherein the data sets comprise a first data set comprising contextual data that relate to the environment of a user employing a computing device comprising the chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c), and a second data set comprising target data that are data relate to the user or other entities that are prone to be identified through machine learning algorithms by the artificial intelligence engine (104, 604).
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 3, wherein the contextual data comprise one or more of the following data types: 3D image data, 3D geometries, 3D entities, 3D sensory data, 3D dynamic objects, video data, audio data, textual data, time data, position and orientation data, and lighting data of the environment surrounding a user device; and wherein the target data comprise one or more of the following data types: 3D image data including 3D geometries, video data, audio data, position and orientation data and textual data related to a target to be recognized by machine learning algorithms.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to one of claims 1 to 4, wherein the artificial intelligence engine (104, 604) is configured to perform machine learning algorithms on the data sets, the algorithms comprising Naive Bayes Classifiers Algorithms, Nearest Neighbours Algorithms, K Means Clustering Algorithms, Support Vectors Algorithms, Apriori Algorithms, Linear Regression Algorithms, Logistic Regression Algorithms, Neural Network Algorithms, Random Forest Algorithms, and Decision Tree Algorithms.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to one of claims 1 to 5, wherein the artificial intelligence engine (104, 604) comprises dedicated electronic circuitry for performing operations optimally for tensor operations for machine learning.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to one of claims 1 to 6, wherein the game engine (102) is further separated into individual components comprising a 3D structures processor (116), a physics processor (118) or simulation processor (124), and a communications unit (120).
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 7, wherein the individual components further comprise a rendering engine (122).
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 7 or 8, further comprising a position engine (126) configured to receive radio signals from global navigation satellite systems, GNSS, and to compute position and orientation of corresponding client devices by performing one or more hardware-based algorithms based on data obtained from satellite tracking systems, antenna triangulation, sensory data from one or more sensory mechanisms connected to the chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c), 3D structures, or combinations thereof.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 7 or 8, wherein the communications unit (120) is further configured to enable tracking of a host system through time of arrival, TOA, and angle of arrival, AOA.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 7 or 8, wherein the communications unit (120) is further configured to implement, in hardware, a distributed ledger-based communications pipeline between users of host devices.
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to one of claims 1 to 10, wherein at least one of the processing cores implements a central processing unit (204, 402a, 402b).
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to one of claims 1 to 12, wherein at least one of the processing cores implements a graphics processing unit (202).
- The chip (100b, 100d, 100e, 200b, 300b, 400b, 600, 600b, 600c) according to claim 13, wherein the graphics processing unit (202) includes a video memory (106), and wherein the game engine (102) is configured to provide data to the graphics processing unit (202) via the video memory (106).
Description
BACKGROUND Game engines and simulation engines play an increasingly important role in graphics applications. One major task of such engines is to provide the most realistic and highest quality of graphics possible at a real-time performance comprising other features such as simulation capabilities. A software engine is typically provided as computer-executable code that is executed on a CPU. For example, the engine may typically run on a processor or microprocessor of a computing device, such as a CPU of a personal computer, a console, a mobile phone or a tablet. Hence, performance of the CPU may determine the performance of a software engine. The software engine may also access a graphics processing unit GPU. For example, the GPU can render lists of individual objects with a very high performance to graphics memory or video memory. A computer graphics scene may include a large number of objects with characteristics related to their 3D position and 3D orientation, behavior, material properties and the like. In order to achieve highly realistic scenes, the engine needs to consider the whole scene, which may often contain millions of objects that are to be rendered to the screen. For example, the engine may consider the behavior and interaction of light with individual objects and between the objects of the scene. These engines offer an environment created specially to execute the functionalities that are specific to 3D video games and real-time simulations. Thus, engines enable functionality such as the management of an animated model, the collisions between objects, and the interaction between the player and the game. Many recent games, simulations and serious games use engines that go beyond visual and interaction aspects. For example, programmers can rely on a software physics engine to simulate physical laws within the virtual environment, a software audio engine to add music and complex acoustical effects, and a software artificial intelligence (AI) engine to program non-human players' behaviors. Properties expected for a 3D interface are very close to the ones for 3D video games. Thus, game engines may be used in any type of application that requires rendering of 3D graphics at a real-time performance, including applications in Virtual Reality (VR), Augmented Reality (AR), Mixed Reality (MR), or combinations thereof. Specific developments in AI that are used in gaming and non-gaming applications have been enabled by an increase in computing power and availability of large data sets which may be used for machine learning. In one possible application of machine learning, known as supervised learning, a programmer gives a computer a set of sample data and a desired outcome, and the computer generates its own model on the basis of those data that it can apply to any future data. Other machine learning approaches include unsupervised learning and reinforcement learning. Within these broad approaches, many techniques can be applied including feature learning, anomaly detection, decision trees, artificial neural networks, Bayesian networks, and genetic algorithms. Artificial intelligence functionality for gaming and non-gaming applications has been executed in computing devices by processing units such as CPUs and GPUs. However, as CPUs are all-purpose processors, performing artificial intelligence tasks has been inefficient. In contrast, some GPUs are good candidates for implementing AI applications, since they typically contain many more processing cores and can execute more software threads simultaneously. Thus, GPUs have expanded outside the graphics and video areas and into the domain of deep learning, where GPUs capabilities provide superior performance over CPUs. Further research has led to the development of Intelligence Processing Units (IPUs), e.g., Google's Tensor Processing Unit (TPU), which are computing units dedicated to performing artificial intelligence tasks. IPUs have been mainly used in servers located in data centers, which may be effective in some circumstances, but the back-and-forth data transmissions required for updating applications and gathering feedback that constitute part of the machine learning data sets required for training is time-consuming and resource-wasteful. On top of this, IPUs solely implemented in servers do not provide a high level of privacy protection for users, as companies have to store user application data on their servers. Other techniques involve placing a dedicated AI processor on user devices, or combining the capabilities of local AI processing with server-based AI processing to achieve desired levels of security and performance. However, there still is a need for enhancing AI and graphics processing speeds. Hence, improvements in the field of AI processors that can process large data sets required for machine learning while maintaining a high level of security and which can process the data at high speeds are required. US 2011/063285 A1 discloses a circu