Apparatus and methods
Patent Information
- Application Number
- GB2023012654
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2025-02-19
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTION Field of the invention This disclosure relates to apparatus and methods. Description of the Prior Art Data processing apparatus such as computer games machines can be controlled by user-operable control devices configured to provide user input to control or at least influence the execution of data processing operations such as computer game play and / or the execution of a computer game program. Computer games, whether executing in a “streaming” mode (where at least part of the game processing is performed remotely to the terminal at which the user operates user controls and at which video material is displayed to the user, for example at a server) or locally, often involves heavy processing and data handling requirements, particularly in the generation of video material. It is in this context that the present disclosure arises. SUMMARY OF THE INVENTION The present disclosure provides a method comprising: performing, using computer game processing circuitry, a computer game processing task of a computer game in response to a user action represented by operation of one or more user controls; and generating video material in response to the performing step; in which the generating step comprises: predicting one or more subsequent user actions; and selecting one or more video material generation parameters in response to the predicting step. The present disclosure also provides computer software which, when executed by one or more computers, causes the one or more computers to perform such a method. The present disclosure also provides a non-transitory machine-readable storage medium which stores such computer software. The present disclosure also provides a method comprising: training a machine learning model to predict subsequent user actions in response to user actions comprising progressing through a virtual environment of a computer game and which are represented by operation of one or more user controls; the training step being responsive to data defining one or more of: user-controlled progression through the respective virtual environments of multiple instances of execution of the computer game; a location in the virtual environment; a direction of progression within the virtual environment; a speed of progression within the virtual environment; and one or more remaining user actions which the computer game requires to be performed. The present disclosure also provides a machine learning model trained according to such a method. The present disclosure also provides a non-transitory machine-readable storage medium which stores data defining such a machine learning model. The present disclosure also provides apparatus comprising: one or more user controls; and computer game processing circuitry to perform a computer game data processing task of a computer game in response to a user action represented by operation of one or more user controls; a generator to generate video material in response to performance of the computer game data process task; in which the generator comprises: prediction circuitry to predict one or more subsequent user actions; selection circuitry to select one or more video material generation parameters in response to a prediction by the prediction circuitry. Various further aspects and features of the present disclosure are defined in the appended claims and within the text of the accompanying description. BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1a schematically illustrates an entertainment system; Figure 1b schematically illustrates an entertainment system in communication with one or more servers; Figure 1c schematically illustrates an entertainment system in communication with one or more other entertainment systems; Figures 2 to 4 are schematic flowcharts illustrating respective aspects of execution of computer game software; Figure 5 schematically illustrates an aspect of a selection process; Figure 6 schematically illustrates an example of streaming data; Figure 7 schematically illustrates another aspect of a selection process; Figures 8a and 8b schematically illustrate the training and use of a machine learning model; Figure 9 schematically illustrates the use of a deterministic selection process; Figure 10 schematically illustrates a server apparatus; and Figures 11 and 12 are schematic flowcharts illustrating respective methods. DESCRIPTION OF THE EMBODIMENTS Overview of apparatus Referring to Figure 1a, an example of an entertainment or computer game system 10 is a computer or console such as the Sony® PlayStation 5® (PS5) system. The entertainment system 10 comprises a central processor (CPU) 20. This may be a single or multi core processor, for example comprising eight cores as in the PS5. The entertainment system also comprises a graphical processing unit or GPU 30. The GPU can be physically separate to the CPU, or integrated with the CPU as a system on a chip (SoC) as in the PS5. The entertainment device also comprises random access memory (RAM) 40, and may either have separate RAM for each of the CPU and GPU, or shared RAM as in the PS5. The or each RAM can be physically separate, or integrated as part of an SoC as in the PS5. Further storage (for example, machine-readable non-volatile storage) is provided by a disk 50, either as an external or internal hard drive, or as an external solid state drive, or an internal solid state drive as in the PS5. The entertainment device may transmit or receive data via one or more data ports 60, such as a USB port, Ethernet® port, Wi-Fi® port, Bluetooth® port or similar, as appropriate. It may also optionally receive data via an optical drive 70. Audio / visual outputs from the entertainment device are typically provided through one or more A / V ports 90, or through one or more of the wired or wireless data ports 60. An example of a device for displaying images output by the entertainment system is a head mounted display ‘HMD’ 120, such as the PlayStation VR 2 ‘PSVR2’, worn by a user 1. The HMD may comprise one or more cameras 122 (within the HMD, directed towards the user’s eyes when the HMD is worn by the user) to provide detection of the user’s direction of gaze. Where components are not integrated, they may be connected as appropriate either by a dedicated data link or via a bus 100. Interaction with the system is typically provided using one or more handheld controllers (130, 130A), such as the DualSense® controller (130) in the case of the PS5, and / or one or more VR controllers (130A-L, R) in the case of the HMD. Figure 1b schematically illustrates an entertainment system 10 of the form described with respect to Figure 1a in data communication (for example via an Internet connection 150) with one or more servers 160. The server(s) 160 can be in data communication with multiple entertainment systems 10, though only one such entertainment system is illustrated in Figure 1b for clarity of the diagram. In this way, when required, the server(s) 160 can aggregate information from multiple entertainment systems 10, with example usage of such information being discussed below. Figure 1c schematically illustrate an entertainment system 10 of the type described with respect to Figure 1a in data communication with one or more other entertainment systems 170, for example via an Internet connection 180. Such a “peer-to-peer” interconnection arrangement can allow the sharing of information (examples being discussed below) between entertainment systems. Local and Streaming Implementations As mentioned above, the execution of a computer game program can be performed locally, for example at an apparatus of the type shown in Figure 1a which may for example be physically located close to the user of the apparatus, or remotely, for example using the arrangement of Figure 1b where the entertainment system 10 may be physically located close to the user who is operating the computer game program whereas at least a significant part of the processing associated with executing the computer game program can be performed at the server 160. In this second, remote, mode of operation, information may be “streamed” from the server 160 to the entertainment system 10 operating as a local terminal. Here, the term “streaming” can refer to the quasi-continuous transmission of video and / audio data from the server 160 to the entertainment system 10. It is noted that the data streamed from the server 160 does not necessarily have to represent video data which is directly ready for display at the entertainment system 10; in various examples, the streamed data could be such that much of the rendering processing has been performed already at the server 160 but a final rendering and / or formatting stage is performed at the entertainment system 10. It is also noted that the streamed data may be provided in a compressed form, for decompression at the entertainment system 10. An overview of local execution of computer game software is provided by the schematic flowchart of Figure 2, and an overview of remote execution of computer game software is provided by the schematic flowchart of Figure 3. Referring to Figure 2, a processor such as the CPU 20 of the entertainment system 10 executes computer game software code at a step 200. At a step 210, user inputs and / or actions are detected, for example user operation of the controls 130, 130A-L, 130A-R. In response, the entertainment system performs game actions such as progressing through a virtual environment at a step 215. At the step 220, future user actions are predicted. This operation will be described in more detail below. At a step 230, a virtual environment associated with the computer game code is rendered for display at a step 240. For example, this can involve generating video material to represent a location in the virtual environment. Figure 3 schematically represents a remote or streamed operation and provides a representation of steps performed at the server 160, to the left of a schematic vertical divider 370, and steps performed at a terminal such as the entertainment system 10 of Figure 1b to the right of the divider 370. It is noted that the division of tasks between the server and terminal may vary. One example is provided in Figure 3 but it is possible that other tasks or parts of operations may be devolved from the server 160 to the terminal. Referring to Figure 3, at a step 300, the server executes computer game code. At a step 310, the server receives control data from the terminal, being data generated in response to detected user control operations and / or actions at a step 320. At the step 330, the server performs game actions in the context of the virtual environment defined by the computer game in response to the control data representing detected user controls and / or actions. At the step 335, user actions are predicted in a similar manner to the step 220 of Figure 2, with this process being discussed in more detail below. At the step 340, the current virtual environment is at least partially rendered so that data representing the at least partially rendered environment can be streamed to the terminal at a step 350, for display at a step 360. As discussed above, it is possible that a final rendering and / or formatting stage may be performed as part of the step 360. Computer gameplay - example As mentioned above, often a computer games program may aim to steer the user to follow a sequence or storyboard such that only when the user has completed a given challenge can the user progress to the next challenge, and so on. In some examples, the computer games program may be arranged as a succession of “levels”, each level containing or involving one or more challenges or objectives (referred to in parts of this description as data processing tasks to be performed by processing circuitry in response to user operation of controls) which have to be met by the user, firstly in order to move on to a next such objective within that level and secondly to allow progression, once all of the objectives of a level have been met, to a next level and so on through to completion of the entire computer games program by the user. Examples of such objectives may include matters such as any one or more of (i) destroying or at least disabling a game adversary such as a non-playable character (NPC), (ii) constructing, navigating or progressing through or at least partially destroying a given item of game environment infrastructure (for example crossing a bridge within the game environment infrastructure), (iii) finding a given item within the computer game environment, or the like. Figure 4 provides a schematic flowchart relating to a computer game arrangement having one or more such levels as discussed above. The flowchart indicates steps performed by a user or player of the computer game software (drawn to the left of a schematic divider 400) and technical steps performed by the apparatus or circuitry such as the entertainment system of Figure 1a, shown to the right of the schematic divider 400. At a step 410 the gameplay by the user enters a given level of the computer game software, and at this stage the entertainment system initiates handling of that level at a step 420, for example by loading into memory various assets such as textures, videos, characters or the like required to represent that level to the user of the computer game software. At a step 422 the user performs actions such as operating user controls to move, navigate or otherwise progress within a virtual environment provided by the computer game software. At a step 424, the entertainment system detects aspects of such actions, for example detecting a current location and a (for example) a speed and direction (or velocity) of progression within the virtual environment. A possible use of such information will be discussed below. At a step 430 the user performs activities within the computer game environment provided by the current level, with the apparatus rendering that environment at a step 440. At a step 450 the apparatus under control of the computer game software defines one or more objectives, challenges or tasks to be performed by the user in order to achieve completion of the prevailing level. These objectives may be defined as a succession or sequence of objectives such that completion of a given objective is required, either before gameplay can proceed to the next objective in the sequence or before completion of the next objective in the sequence is counted towards completion of the level. In other words, if the sequence of objectives comprises objectives A, B and then C, in some examples the user may be constrained so that objective B cannot even be attempted until objective A has been completed, while in other examples, if the user completes objective B before having completed objective A, this will not be counted towards progression through the sequence and objective B will remain to be completed after objective A has been performed. In other examples, of course, a set of two or more objectives could be provided with no constraints upon the order of completion of the objectives. Accordingly, at step 460 the user completes the objectives associated with the current level, if required in the order defined by the sequence. At a step 470 the apparatus under the control of the computer game software detects completion of the set or sequence of objectives and (where multiple levels are provided and the user is not already at the last of the levels) allows and / or controls the progression at step 480 to a next level. Of course, if the current level represented a final level of the computer game software then the step 480 would refer to completion of the entire computer game. Selection of Rendering Process Parameters In some examples of the present disclosure, a selection process takes place in connection with the steps 220 / 230 of Figure 2 and / or the steps 335 / 340 of Figure 3. The selection process relates to selecting a rendering “quality” relating to the rendered image data to be provided for display (Figure 2) or streaming to the terminal (Figure 3). Ultimately, images are displayed to the user via a display (such as the HMD 120 of Figure 1a and / or a display screen not shown in the drawings) having a consistent display resolution. That is to say, the pixel resolution of the physical device used for display of images to the user does not change from image to image. However, the underlying resolution of the rendering process used to generate the images can change from image to image, for example by varying a rendering process used to generate the rendered image data and / or by rendering images using so-called texture data of different resolutions. This underlying resolution of the rendering process is what is referred to in this discussion as the rendering “quality”. This provides an example of a video material generation parameter comprising a resolution associated with at least part of the video material generation. For example, in situations where the generating of video material comprises applying texture data to a virtual environment model, the video material generation parameter comprises a texture data resolution. The selection process operates to select a rendering quality, for example from a set of discrete candidate rendering qualities or by selection within an available range of rendering quality, for images to be rendered ready for display and / or streaming as the case may be. Figure 5 schematically illustrates an example of such a process, and for clarity of the diagram and explanation, the selection in this particular example is made amongst a set of discrete candidates each representing a different rendering quality. In Figure 5, the candidate rendering qualities 500 each represent a different respective rendering quality, for example from a lower quality 510 through to a higher quality 520. A selection process 530 to be described in more detail with reference to Figure 7 operates to select one of the rendering qualities 500 in response to prevailing aspects 540 of gameplay such as a location in the virtual environment and the prediction performed at the step 220 or 335. The selected rendering quality is used to control the operation of the respective step 230 or 340. A filtering or smoothing operation can be performed so that (potentially subjectively disturbing) large step changes in rendering quality from image to image are avoided or inhibited, for example by applying an upper limit to the magnitude of change in rendering quality which is allowed between successive images and / or over a sample period such as two seconds. In the context of the streaming arrangement of Figure 3, a change in rendering quality can have various potentially useful effects. An example is illustrated schematically in Figure 6, in which an upper section of the drawing 600 represents the generation of at least partially rendered image data by the step 340, for streaming 610 to the terminal for display 620 to the user. In the drawing, three successive example frames or images are illustrated, with time being represented from left to right as drawn. The three sets of rendered data 630,632,634 are schematically represented by differently sized boxes as drawn, to provide a schematic representation of different respective rendering qualities leading to the generation of different respective quantities of data. In this regard, it is assumed that a higher rendering quality will lead to the generation of a larger quantity of data for streaming to the terminal and that a lower rendering quality will lead to the generation of a smaller quantity of data for streaming to the terminal. In this way, selectively reducing the rendering quality when it is appropriate to do so (discussed below with reference to Figure 7) can alleviate the data streaming bandwidth requirements needed to operate the remotely executed computer game. It is also assumed that in at least some examples, selectively reducing the rendering quality when it is appropriate to do so can alleviate the processing requirements at the server (Figure 3) or the entertainment system (Figure 2) in terms of potentially reduced requirements for processing calculations, potentially reduced requirements for accessing precursor data such as texture data and / or potentially reduced requirements for onward data transmission or formatting. In this way, the selection of a reduced rendering quality can lead to reduce processing requirements, heat generation and the like in the context of local execution (Figure 2) and in the case of remote execution can reduce the average load on a server presented by a given user so that, when averaged across multiple instances of the game, a given server can potentially handle more game instances. As discussed above, the images generated for display output to the user have a consistent pixel resolution corresponding to that of the display device in use, and for this reason in the schematic representation of Figure 6 the rendering of images for display as shown schematically by boxes of a consistent size. Examples of the selection process will now be discussed in more detail with reference to Figure 7. The present disclosure notes that in the course of gameplay and particularly in the context of performing activities within the virtual environment of the type discussed with reference to Figure 4, a typical user’s progression through the virtual environment can be somewhat sporadic. For example, in a situation (at or near a given location in the virtual environment) where a difficult activity has to be performed as part of the gameplay, the user may spend a considerable time at or near the given location. Conversely, there can be locations or regions within the virtual environment which a typical user might rush through, en route to the performance of a next game activity. A basic principle underlying the selection process described here is that a higher rendering quality may be used at virtual environment locations which users tend to remain at, whereas a lower rendering quality may be used at virtual environment locations which users tend to pass through quickly. Information allowing such locations to be identified during gameplay is acquired by analysis of multiple instances of the playing of the game, either being codified as look-up data for use by a deterministic selection process or being used as training data for a machine learning (ML) model which, when trained, implements the selection process. Information relating to the multiple instances of playing the game can be obtained from the server 160 (which can potentially provide remote execution of the game to multiple users or at least for multiple instances) or, in the case of local execution, by communication with other entertainment systems 170 in a peer-to-peer communication system. Referring to Figure 7, example inputs to the selection process 530 may include any one or more of: a current location in the virtual environment 700, a current gaze direction 710 in the case of a user wearing an HMD 120, a current direction and / or speed (the two together representing a velocity) in the virtual environment 720 and an identification 730 of any objectives or activities remaining to be completed within the current level of a multiple level game or within the game. Any one or more of these inputs can be averaged over a time period or otherwise smoothed. Using either a deterministic or an ML arrangement, the selection process refers to selection data 740 (for example, look-up information in the case of a deterministic arrangement or data such as a set of ML weights defining a trained ML model in the case of an ML system) to select a rendering option from data 750 defining available rendering options. This can involve predicting progression to a next location in the virtual environment, for example as represented by the step 220 or 335. In the case that the user is predicted (by the selection process) to stay at the same environment location, a higher rendering quality can be used. In the case that a user is predicted to progress quickly to a different location, a lower rendering quality for the current location can be used. As discussed above, the selection data 740 may be obtained by analysis of or learning from the activities of a cohort of users of the game. This is not a requirement, however, and the selection data 740 could be manually or otherwise generated. In general, it may be found that certain locations in the virtual environment (as defined by the input data 700) are such that typical users simply pass through those locations quickly and so a lower rendering quality can be used, particularly if the current gaze direction is towards an exit point from that region or location in the virtual environment and / or a current velocity in the environment is towards a different location or region (and for example a current speed is relatively high). Similarly, if an objective remains to be completed (as defined by the data 730) which requires the user to move to another regional location in the virtual environment, this can also indicate that the user may spend less time at the current location. Similarly, if a user’s gaze direction is towards a game feature not associated with the current environment location, the system may assume that a lower rendering quality can be used for rendering of the current environment location. In other words, the predicting step 220 / 335 representing an aspect of the selection process may be responsive to one of more of: a current location in the virtual environment; a current direction of progression within the virtual environment; a current speed of progression within the virtual environment; and one or more remaining user actions which the computer game requires to be performed. In examples in which images are displayed to the user using a head mountable display which can detect a user gaze direction with respect to the displayed images, the predicting step may be responsive to the detected user gaze direction. Machine learning and deterministic process examples A machine learning example will now be described with reference to Figures 8a and 8b. Figure 8a schematically represents an ML training process in which training or ground truth data 800 indicative of the actual behaviour of game players in respect of a set of instances of execution of the game is provided as training information to an ML model 810. The training data 800 may represent actual instances of the inputs 700... 730, associated with information indicating a rendering quality that would be suitable for a current environment location, for example being inversely related to length of time that the example users defined by the ground truth data spend at that environment location. The outcome of the training process is a set of trained ML parameters 820 such as a set of ML weights. In Figure 8b, the trained ML parameters 820 are provided to control operation of the ML model 810 to select a rendering quality 840 in response to current data inputs 830 (collectively representing the inputs 700... 730 discussed above). In example arrangements, the training process of Figure 8a does not have to be performed at the same data processing apparatus as the operational process of Figure 8b. For example, these processes could be performed at different servers, or the training process could be performed at a server where is the operational decision-making process of Figure 8b could be performed at a local entertainment system. In these examples, the predicting step 220 / 335 can therefore comprise providing data defining one or more aspects of the computer game processing tasks to a trained machine learning model, for example in which the machine learning model comprises a model trained according to computer game processing tasks indicative of user-controlled progression through the respective virtual environments of multiple instances of execution of the computer game. In another example, a deterministic selection process 900 could also make use of current data inputs 830 and deterministic selection data 910 to generate a selection 920 of rendering quality. This Server apparatus example Figure 10 schematically illustrates an example of the server apparatus 160, and illustrates: • a central processing unit (CPU) 1000; • machine-readable non-volatile storage 1010, such as a hard disk, optical disk, solid state drive or the like, which is useable to store one or both of (i) program code to cause the server apparatus to execute one or more of the methods described here, and (ii) data 820 defining a trained machine learning model; • RAM storage 1020; • one or more interfaces 1030 such as a network and / or internet interface; and • a bus structure 1040 providing data communication between the components discussed above. The server apparatus 160 can implement, for example, at least a part of the method of Figure 11 to be described below and / or at least a part of the method of Figure 12 to be described below. The ML model parameters 820 in association with the ML model 810 provide an example of a machine learning model trained according to the method of Figure 12. The storage 1010 provides an example of a non-transitory machine-readable storage medium which stores data defining such a machine learning model. Apparatus example Example arrangements can therefore provide apparatus (Figure 1a, Figure 10) comprising: one or more user controls 130, 130A-L, 130A-R; and computer game processing circuitry 20, 1000 to perform a computer game data processing task of a computer game in response to a user action represented by operation of one or more user controls; a generator 30, 1000 to generate video material in response to performance of the computer game data process task; in which the generator comprises: prediction circuitry to predict one or more subsequent user actions; selection circuitry to select one or more video material generation parameters in response to a prediction by the prediction circuitry. Method examples Figure 11 is a schematic flowchart illustrating a method comprising: performing (at a step 1100), using computer game processing circuitry, a computer game processing task of a computer game in response to a user action (such as, for example, progressing through a virtual environment) represented by operation of one or more user controls; and generating (at a step 1110) video material in response to the performing step; in which the generating step comprises: predicting (at a step 1120) one or more subsequent user actions; and selecting (at a step 1130) one or more video material generation parameters in response to the predicting step. Figure 12 is a schematic flowchart illustrating a method comprising: training (at a step 1200) a machine learning model to predict subsequent user actions in response to user actions comprising progressing through a virtual environment of a computer game and which are represented by operation of one or more user controls; the training step being responsive to data defining one or more of: user-controlled progression through the respective virtual environments of multiple instances of execution of the computer game; a location in the virtual environment; a direction of progression within the virtual environment; a speed of progression within the virtual environment; and one or more remaining user actions which the computer game requires to be performed. It is noted that the circuitry of Figure 1a provides one or more user controls 130, 130A-L, 130A-R; and processing circuitry 20, 30 to perform a data processing task in response to operation of the one or more user controls; the processing circuitry being configured to perform the above method under software control. In the case that such a method is performed by the apparatus of Figure 1a, the storage devices 50, 70 provide examples of a non-transitory machine-readable storage medium which stores appropriate program code to control the apparatus of Figure 1a to perform such a method. General matters In so far as embodiments of the disclosure have been described as being implemented, at least in part, by software-controlled data processing apparatus, it will be appreciated that a non-transitory machine-readable medium carrying such software, such as an optical disk, a magnetic disk, semiconductor memory or the like, is also considered to represent an embodiment of the present disclosure. Similarly, a data signal comprising coded data generated according to the methods discussed above (whether or not embodied on a non-transitory machine-readable medium) is also considered to represent an embodiment of the present disclosure. It will be apparent that numerous modifications and variations of the present disclosure are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended clauses, the technology may be practised otherwise than as specifically described herein.
Claims
1. A method comprising:performing, using computer game processing circuitry, a computer game processing task of a computer game in response to a user action represented by operation of one or more user controls; andgenerating video material in response to the performing step;in which the generating step comprises:predicting one or more subsequent user actions; andselecting one or more video material generation parameters in response to the predicting step.
2. The method of claim 1, in which the user actions comprise progressing through a virtual environment.
3. The method of claim 2, in which the generating step comprises generating video material to represent a location in the virtual environment.
4. The method of claim 2 or claim 3, in which the predicting step comprises predicting progression to a next location in the virtual environment.
5. The method of any one of the preceding claims, in which a video material generation parameter comprises a resolution associated with at least part of the video material generation.
6. The method of claim 5, in which:the generating step comprises applying texture data to a virtual environment model; and the video material generation parameter comprises a texture data resolution.
7. The method of any one of the preceding claims, in which at least respective parts of the performing step and the generating step are performed at a video game server, the method comprising:streaming data representing at least the generated video material from the video game server to a video game terminal; andproviding video material for display at the video game terminal.
8. The method of claim 7, comprising:performing at least part of the generating step at the video game terminal.
9. The method of claim 2, claim 3 or any one of claims 4 to 8 as dependent upon claim 2, in which the predicting step is responsive to one of more of:a current location in the virtual environment;a current direction of progression within the virtual environment;a current speed of progression within the virtual environment; andone or more remaining user actions which the computer game requires to be performed.
10. The method of claim 9, comprising:displaying images to the user using a head mountable display; and detecting a user gaze direction with respect to the displayed images;and in which the predicting step is responsive to the detected user gaze direction.
11. The method of claim 9 or claim 10, in which the predicting step comprises providing data defining one or more aspects of the computer game processing tasks to a trained machine learning model.
12. The method of claim 11, in which the machine learning model comprises a model trained according to computer game processing tasks indicative of user-controlled progression through the respective virtual environments of multiple instances of execution of the computer game.
13. Computer software which, when executed by one or more computers, causes the one or more computers to perform the method of any one of the preceding claims.
14. A non-transitory machine-readable storage medium which stores the computer software of claim 13.
15. A method comprising:training a machine learning model to predict subsequent user actions in response to user actions comprising progressing through a virtual environment of a computer game and which are represented by operation of one or more user controls;the training step being responsive to data defining one or more of:user-controlled progression through the respective virtual environments of multiple instances of execution of the computer game;a location in the virtual environment;a direction of progression within the virtual environment;a speed of progression within the virtual environment; andone or more remaining user actions which the computer game requires to be performed.
16. A machine learning model trained according to the method of claim 15.5 17. A non-transitory machine-readable storage medium which stores data defining themachine learning model of claim 16.
18. Apparatus comprising:one or more user controls; and10 computer game processing circuitry to perform a computer game data processing task ofa computer game in response to a user action represented by operation of one or more user controls;a generator to generate video material in response to performance of the computer game data process task;15 in which the generator comprises:prediction circuitry to predict one or more subsequent user actions;selection circuitry to select one or more video material generation parameters in response to a prediction by the prediction circuitry.16
Citation Information
Patent Citations
Systems and methods for predictively downloading volumetric data
US11659043B1
Predictive server-side rendering of scenes
US9756375B2