Information processing system, information processing method, and information processing program

The information processing system optimizes spatial and temporal variability to address the limitations of the CFL condition in MPM, enabling real-time high-resolution video processing by balancing processing time and resolution.

WO2026004691A1PCT designated stage Publication Date: 2026-01-02SONY GROUP CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/021741
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-06-17
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing physical simulation methods, such as the Material Point Method (MPM), face challenges in performing real-time processing at high resolution due to the Courant-Friedrichs-Lewy (CFL) condition, which limits the maximum time step and requires multiple processes for the same simulation time, extending processing time.

Method used

An information processing system that determines optimized resolution and processing count using spatiotemporal variability to balance processing time and resolution, optimizing the relationship between spatial and temporal variability to maximize spatial resolution within a processing budget.

Benefits of technology

Enables real-time processing at high resolution by optimizing spatial and temporal variability, allowing for efficient video generation with improved processing speed and quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025021741_02012026_PF_FP_ABST
    Figure JP2025021741_02012026_PF_FP_ABST
Patent Text Reader

Abstract

This information processing system receives setting information relating to a physical simulation of video, acquires object information relating to an object included in the video, determines an optimization resolution as a resolution obtained by optimizing a relationship with a processing time of one frame in each block including the object on the basis of the setting information and the object information, and determines an optimization processing frequency as the number of instances of processing performed on one frame in each block on the basis of the optimization resolution.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing system, information processing method, and information processing program

[0001] The present invention relates to an information processing system, an information processing method, and an information processing program.

[0002] In games and movies, physical simulations are used to express the smooth movement of water, clothes, snow, etc. For example, a physical simulation method called MPM (Material Point Method) is known. MPM is a method of expressing water, clothes, snow, etc. as a collection of particles, converting the space in which the particles exist into voxels, and calculating the transmission of force, etc.

[0003] US Patent Application Publication No. 2016 / 0210384

[0004] However, it is difficult to perform real-time processing at high resolution in physical simulations of video. For example, in MPM, there is a relationship between the maximum time step and the spatial voxel size, known as the Courant-Friedrichs-Lewy (CFL) condition, which limits the maximum time step that can be theoretically calculated for voxelization. Therefore, in MPM, for example, if the resolution at which physical simulations are performed is increased, the maximum time step becomes smaller, and multiple processes must be performed to process the same simulation time, thereby extending the processing time.

[0005] The present invention has been made in view of the above, and makes it possible to execute real-time processing at high resolution in physical simulation of video.

[0006] An information processing system according to one embodiment of the present disclosure includes a receiving unit that receives setting information related to a physical simulation of an image, an acquiring unit that acquires target information related to a target included in the image, a first determining unit that determines an optimized resolution as a resolution that optimizes the relationship with the processing time of one frame in each unit area that includes the target based on the setting information and the target information, and a second determining unit that determines an optimized processing count as the number of times one frame is processed in each unit area based on the optimized resolution.

[0007] 1 is a diagram illustrating a configuration example and a processing example of an information processing system according to an embodiment. FIG. 2 is a diagram illustrating a specific example of an optimization resolution determination process of the information processing system according to an embodiment. FIG. 3 is a block diagram illustrating a configuration example of each device of the information processing system according to an embodiment. FIG. 4 is a diagram illustrating an example of a setting information storage unit of an engineer terminal according to an embodiment. FIG. 5 is a diagram illustrating an example of a target information storage unit of an engineer terminal according to an embodiment. FIG. 6 is a diagram illustrating an example of a first determination result storage unit of an engineer terminal according to an embodiment. FIG. 7 is a diagram illustrating an example of a second determination result storage unit of an engineer terminal according to an embodiment. FIG. 8 is a diagram illustrating an example of a simulation result storage unit of an engineer terminal according to an embodiment. FIG. 9 is a diagram illustrating an example of a generation result storage unit of an engineer terminal according to an embodiment. FIG. 10 is a diagram illustrating a specific example 1 of an optimization execution process of an information processing system according to an embodiment. FIG. 11 is a diagram illustrating a specific example 2 of an optimization execution process of an information processing system according to an embodiment. FIG. 12 is a diagram illustrating a specific example 1 of a setting information input screen of an information processing system according to an embodiment. FIG. 13 is a diagram illustrating a specific example 2 of a setting information input screen of an information processing system according to an embodiment. FIG. 14 is a diagram illustrating a specific example 3 of a setting information input screen of an information processing system according to an embodiment. FIG. 15 is a diagram illustrating a specific example 4 of a setting information input screen of an information processing system according to an embodiment. FIG. 16 is a diagram illustrating a specific example 5 of a setting information input screen of an information processing system according to an embodiment. A flowchart illustrating an example of a flow of an information processing system according to an embodiment. FIG. 17 is a diagram illustrating a configuration example and a processing example of an information processing system according to a first modified example of an embodiment. Fig. 10 is a diagram illustrating an example of a configuration and a processing example of an information processing system according to a third modified example of an embodiment. Fig. 11 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of an engineer terminal.

[0008] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the following embodiments, the same components are designated by the same reference numerals, and redundant description will be omitted.

[0009] The present disclosure will be described in the following order: 1. Embodiment 1-1. Configuration and processing of an information processing system according to an embodiment 1-2. Configuration and processing of each device in an information processing system according to an embodiment 1-3. Specific examples of each process in an information processing system according to an embodiment 1-4. Processing flow of an information processing system according to an embodiment 1-5. Modifications and application examples of an embodiment 2. Effects of an embodiment 3. Hardware configuration

[0010] 1, 2, and mathematical expressions, the configuration and processing of the information processing system 100 according to the embodiment will be described. Below, an example of the overall configuration of the information processing system 100, an example of the processing of the information processing system 100, and a specific example of the optimization resolution determination processing of the information processing system 100 will be described.

[0011] (Example of Overall Configuration of Information Processing System 100) An example of the overall configuration of the information processing system 100 will be described using Fig. 1. Fig. 1 is a diagram showing an example of the configuration and processing of the information processing system 100 according to an embodiment. The information processing system 100 is configured with an engineer terminal 10. Here, the engineer terminal 10 is connected to be able to communicate via a predetermined communication network (not shown) by wire or wirelessly. Note that the predetermined communication network can be various communication networks such as the Internet or a dedicated line.

[0012] (Engineer Terminal 10) The engineer terminal 10 is an information processing device used by engineer E, and executes physical simulation of video. Note that the information processing system 100 shown in Fig. 1 may include multiple engineer terminals 10. Also, in the example of Fig. 1, the engineer terminal 10 is implemented as a desktop PC (Personal Computer), but it may also be implemented as a notebook PC, a smartphone, a server device, a cloud system, etc.

[0013] (Outline of Processing Example of Information Processing System 100) A processing example of the information processing system 100 will be described below. Below, a description will be given of a setting information reception process (step S1), a target information acquisition process (step S2), an optimization resolution determination process (step S3), an optimization process count determination process (step S4), an MPM execution process (step S5), and a video data generation process (step S6). Note that the processes of steps S1 to S6 below can also be executed in a different order. Furthermore, some of the processes of steps S1 to S6 below may be omitted.

[0014] (Setting Information Receiving Process) First, the engineer terminal 10 receives setting information from the engineer E (step S1). For example, the engineer terminal 10 receives setting information related to the physical simulation of the video, such as the number of resolution layers, an f-function definition, an h-function definition, a real-time definition, user experience, minimum quality guarantee conditions, and robustness guarantee conditions, from the engineer E via a setting information input screen.

[0015] (Target Information Acquisition Process) Second, the engineer terminal 10 acquires target information (step S2). For example, the engineer terminal 10 acquires particle information, distance information, etc. of an object for which a physical simulation is to be performed as target information relating to a target included in the video.

[0016] (Optimization Resolution Determination Process) Thirdly, the engineer terminal 10 determines the optimization resolution X OP For example, the engineer terminal 10 solves an optimization problem using an f function for evaluating resolution and an h function for evaluating processing time, and determines an optimized resolution X as a resolution that optimizes the relationship with the processing time for one frame for each block, which is a unit area of ​​the physical simulation. OP Determine.

[0017] (Optimization Process Number Determination Process) Fourth, the engineer terminal 10 determines the number of optimization processes T OP For example, the engineer terminal 10 determines the optimized resolution X OP, and the CFL conditions are used to optimize the number of processing times T OP Determine.

[0018] (MPM Execution Process) Fifth, the engineer terminal 10 executes the MPM (step S5). For example, the engineer terminal 10 executes the MPM at the determined optimized resolution X OP and the number of optimization processes T OP MPM is executed as a physical simulation using

[0019] (Video Data Generation Process) Sixth, the engineer terminal 10 generates video data (step S6). For example, the engineer terminal 10 performs two-dimensional rendering using the simulation results of the MPM to generate video data.

[0020] (Details of Processing Example of Information Processing System 100) A detailed description will be given of a processing example of the information processing system 100. Below, the basic principle of the physical simulation according to the reference technology will be explained, and then the basic principle of the information processing system 100 according to the embodiment, a specific example of the optimization resolution determination process, a specific example of the optimization process count determination process, and a specific example of the MPM execution process will be explained.

[0021] (Basic Principles of Physics Simulation) The basic principles of physics simulation related to the reference technology will be described. Physics simulation is widely used in games and movies to express the smooth movement of water, clothes, snow, etc. Here, techniques such as MPM, which uses both particles and grids used in movies, etc., are considered to be heavy processes for enabling real-time processing compared to other physics simulation techniques. To improve the speed of the above-mentioned MPM, techniques that make spatial resolution variable (spatial variability processing) and techniques that make the processing time step variable as needed (temporal variability processing) are known. However, in the physics simulation related to the reference technology, the combined use of spatial variability processing and temporal variability processing has not been thoroughly considered.

[0022] The spatially variable processing described above uses variability in spatial resolution to improve speed, reducing the amount of spatial information to be processed and thereby improving processing capacity. Furthermore, the temporally variable processing described above differs from the method of processing physical simulations using fine time steps in the time direction in that it calculates the time step required for each spatial location and varies the time step for each location, thereby improving processing speed.

[0023] In the physical simulation according to the reference technology, the spatial variability process and the temporal variability process can be used together, but the processes are not independent but interfere with each other. In this case, the spatial variability and the temporal variability are related to the CFL condition, so that changing one of them changes the other condition.

[0024] Here, the CFL condition is a condition that the information transmission speed in a physical simulation must be greater than the transmission speed of an actual phenomenon or the wave speed. For example, in a physical simulation using a discrete grid such as MPM, the CFL condition is a condition that the value of the time step dt used to find a numerical solution to the equation of motion must be smaller than the time it takes for an actual wave to propagate to an adjacent grid, and is expressed as the following equation (1):

[0025]

[0026] In the above formula (1), dt is the time step of each physical simulation, dx is the size of one side of the grid used, and determines the resolution of the physical simulation by MPM. Also, in the above formula (1), c is the information transmission speed within the object, such as the P-wave speed (speed of sound within the object). As shown in the above formula (1), under CFL conditions, changes in spatial resolution are directly linked to changes in dx, and changes in dx affect dt at which information can be transmitted.

[0027] Spatial resolution varies greatly near the collision surface with other objects where the information is highly discrete, and is variable depending on the vicinity of the surface of the continuum observable by the user, the importance of the object, the user's viewpoint, etc. On the other hand, as shown in the above formula (1), temporal variability can be determined by the information transmission speed, which changes depending on the spatial resolution and the physical properties of the object on which the physical simulation is performed.

[0028] (Basic Principles of Information Processing System 100) The following describes the basic principles of the information processing system 100. The information processing system 100 utilizes the relationship shown in the above formula (1) to, first, determine spatial variability that is not influenced by one of the information determinations, and second, determine temporal variability that is influenced by the variability, thereby improving the overall processing speed.

[0029] Furthermore, in the information processing system 100, when a temporal condition is imposed, the required dx can be calculated for each location in space according to the physical properties (i.e., c) of the object in that space using the above formula (1). Therefore, in the information processing system 100, it is possible to set a processing budget required for real-time processing, maximize spatial resolution as much as possible within that constraint, and find a balance between conflicting spatiotemporal variability so that the overall processing fits within the set processing budget.

[0030] Furthermore, the information processing system 100 treats the balance between the two opposing variables of processing time and resolution as an optimization problem, and maximizes the spatial resolution or the resolution observable by the user, subject to the expected processing time. That is, the information processing system 100 utilizes spatiotemporal variability to reduce overall processing and obtains the maximum resolution within the available processing budget.

[0031] (Specific example of optimization resolution determination process of information processing system 100) A specific example of optimization resolution determination process of the information processing system 100 will be described using Fig. 2 and mathematical expressions. Fig. 2 is a diagram showing a specific example of optimization resolution determination process of the information processing system 100 according to the embodiment. The required resolution calculation process, the f function, the h function, and the optimization execution process will be described below.

[0032] (Required Resolution Calculation Process) The engineer terminal 10 calculates the required resolution y (y 0 , ..., y n For example, the engineer terminal 10 calculates the required resolution y based on the distance to the surface of the object represented by particles, the distance to the boundary of the colliding object, etc. The engineer terminal 10 can also calculate the required resolution y using the deviation of information on the grid based on the importance of the particles set by the engineer E, the results of past physical simulations, etc.

[0033] (f Function) The engineer terminal 10 sets the f function from the required resolution y. For example, the engineer terminal 10 uses the resolution x and the required resolution y of each block to calculate the loss function of the resolution difference f(x 0 , ..., x n , y 0 , ..., y n Here, the engineer terminal 10 may set a loss function based on a simple resolution difference as the f function, or may further set a loss function based on the distance from the camera, the distance from the surface, the variance of the velocity within the block, etc.

[0034] (h Function) The engineer terminal 10 sets the h function based on the resolution x of each block. For example, the engineer terminal 10 sets h(x), which is an evaluation function of the time required for processing each block. 0 , ..., x n Here, the engineer terminal 10 sets, as the h function, an evaluation function based on the number of times each block is processed in the MPM loop, for example.

[0035] (Optimization execution process) The engineer terminal 10 calculates the optimization resolution X from the f function and the h function.OP For example, the engineer terminal 10 determines the optimized resolution X of each block by solving an optimization problem using the f function and the h function as shown in the following equation (2): OP As x 0 , ..., x n Determine.

[0036]

[0037] In the above formula (2), Δt rt is a guideline for the processing time of one frame to be executed in real time. That is, the engineer terminal 10 solves an optimization problem using the f function and the h function to obtain an optimized resolution X OP Determine.

[0038] (Other) The engineer terminal 10 sets the importance of resolution change for each block, reduces the resolution one by one in order of decreasing importance among the blocks, and determines whether the expected processing speed is reached, thereby determining the optimized resolution X OP may be determined.

[0039] (Specific Example of Optimization Processing Number Decision Process of Information Processing System 100) A specific example of optimization processing number decision process of the information processing system 100 will be described. The engineer terminal 10 determines the optimization resolution X determined for each block. OP and the CFL condition is used to determine the minimum time step Δt required in processing each block. min and the number of optimization processes for one frame T OP At this time, the engineer terminal 10 quantizes the number of times of processing in one frame to enable actual processing, and determines the minimum time step Δt min The engineer terminal 10 then selects the blocks to be processed when processing each block, and executes MPM on the selected blocks to reduce the processing time. Note that in the above processing, the engineer terminal 10 may execute MPM in a state where some data is duplicated.

[0040] (Specific Example of MPM Execution Process of Information Processing System 100) A specific example of the optimization process count determination process of the information processing system 100 will be described. The engineer terminal 10 determines the number of optimization processes X determined in the optimization resolution determination process. OP , and T determined in the optimization process count determination process. OP The engineer terminal 10 executes MPM based on the above. For example, the engineer terminal 10 executes the following processes as MPM, which is a physical simulation method. First, the engineer terminal 10 executes "particle to grid" processing, which projects particle information onto a grid. Second, the engineer terminal 10 executes "grid update" processing, which updates grid information and adapts external pressure. Third, the engineer terminal 10 executes "grid to particle" processing, which re-adapts grid information to particles. Fourth, the engineer terminal 10 executes "particle update" processing, which updates information including particle positions based on the above information.

[0041] In the MPM execution process, structures such as SPGrid, DCGrid, OpenVDB, and Nvidia's NanoVDB are used, and space is roughly divided into unit areas called blocks. At this time, each block is divided into hierarchies such as Octree and KdTree to achieve multi-level resolution, and leaf nodes without branches have voxel data structures with a resolution corresponding to that hierarchical level. In the above Octree, if the next lower hierarchical level within a block is selected, the number of voxels on one side doubles. Furthermore, in the MPM execution process, the physics simulation itself is a multi-level resolution physics simulation using a grid structure and particles, such as AGIMP.

[0042] 1-2. Configuration and Processing of Each Device in Information Processing System 100 The configuration and processing of each device included in the information processing system 100 shown in FIG. 1 will be described using FIG. 3. FIG. 3 is a block diagram showing an example configuration of each device in the information processing system 100 according to the embodiment. Below, an example configuration of the entire information processing system 100 according to the embodiment, as well as an example configuration and processing of the engineer terminal 10 will be described.

[0043] (Example of the overall configuration of the information processing system 100) An example of the overall configuration of the information processing system 100 will be described. As shown in Fig. 3, the information processing system 100 is configured with an engineer terminal 10, which is an information processing device. The engineer terminal 10 is also communicatively connected via a communication network N, which is realized by the Internet, a dedicated line, or the like.

[0044] (Configuration Example and Processing Example of Engineer Terminal 10) A description will be given of a configuration example and processing example of the engineer terminal 10. The engineer terminal 10 has an input unit 11, an output unit 12, a communication unit 13, a storage unit 14, and a control unit 15.

[0045] (Input Unit 11) The input unit 11 controls input of various information to the engineer terminal 10. For example, the input unit 11 is realized by a mouse, a keyboard, etc., and accepts input of various information to the engineer terminal 10.

[0046] (Output Unit 12) The output unit 12 controls the output of various information from the engineer terminal 10. For example, the output unit 12 is realized by a display or the like, and displays various information stored in the engineer terminal 10.

[0047] (Communication Unit 13) The communication unit 13 controls data communication with other devices. For example, the communication unit 13 performs data communication with each communication device via a router or the like. The communication unit 13 can also perform data communication with a terminal (not shown).

[0048] (Storage Unit 14) The storage unit 14 stores various information referenced by the control unit 15 when it operates and various information acquired when the control unit 15 operates. The storage unit 14 includes a setting information storage unit 14a, a target information storage unit 14b, a first determination result storage unit 14c, a second determination result storage unit 14d, a simulation result storage unit 14e, and a generation result storage unit 14f. Here, the storage unit 14 may be realized, for example, by a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. Note that, in the example of FIG. 3, the storage unit 14 is installed inside the engineer terminal 10; however, it may also be installed outside the engineer terminal 10, or multiple storage units may be installed.

[0049] (Setting information storage unit 14a) The setting information storage unit 14a stores setting information. For example, the setting information storage unit 14a stores setting information received by a receiving unit 15a of the control unit 15, which will be described later. Here, an example of data stored in the setting information storage unit 14a will be described with reference to FIG. 4. FIG. 4 is a diagram showing an example of the setting information storage unit 14a of the engineer terminal 10 according to the embodiment. In the example of FIG. 4, the setting information storage unit 14a has items such as "user," "physical simulation," and "setting information."

[0050] "User" indicates identification information for identifying the user who executes the physical simulation, such as the identification number or identification symbol of Engineer E. "Physical Simulation" indicates identification information for the physical simulation executed by the user, such as the identification number or identification symbol of the physical simulation executed by Engineer E. "Setting Information" is various information related to the physical simulation of the video, such as the number of resolution layers, f-function definition, h-function definition, real-time definition, user experience, minimum quality guarantee conditions, robustness guarantee conditions, and the like, received from Engineer E via the setting information input screen.

[0051] Here, the number of resolution layers is, for example, the number of layers of resolution for which a physical simulation is to be performed, set by Engineer E. The f-function definition is, for example, definition information of the f-function, which is a first function set by Engineer E for evaluating the resolution in each unit area. The h-function definition is, for example, definition information of the h-function, which is a second function set by Engineer E for evaluating the processing time in each unit area. The real-time definition is, for example, definition information of the minimum time step Δt, such as FPS (frames per second) and the number of steps per frame, set by Engineer E. min The user experience is information relating to the user's experience, such as the distance from the camera to the user's viewpoint, the presence or absence of obstructions, the speed of particles or the camera, and the speed difference. The minimum quality guarantee condition is information indicating the minimum value of the quality level required for the video, set by, for example, Engineer E. The robustness guarantee condition is information indicating the stability of the video data, set by, for example, Engineer E.

[0052] That is, Figure 4 shows an example in which, for a user identified by "User #1" and a physical simulation identified by "Physical Simulation #1", the setting information stored in the setting information storage unit 14a includes data such as "Number of Resolution Hierarchies #1", "f Function Definition #1", "h Function Definition #1", "Real Time Definition #1", "User Experience #1", "Minimum Quality Guarantee Condition #1", "Robustness Guarantee Condition #1", etc.

[0053] (Target information storage unit 14b) The target information storage unit 14b stores target information. For example, the target information storage unit 14b stores target information acquired by an acquisition unit 15b of the control unit 15, which will be described later. Here, an example of data stored in the target information storage unit 14b will be described with reference to FIG. 5. FIG. 5 is a diagram showing an example of the target information storage unit 14b of the engineer terminal 10 according to the embodiment. In the example of FIG. 5, the target information storage unit 14b has items such as "user," "physical simulation," and "target information."

[0054] "User" indicates identification information for identifying the user who performs the physical simulation, such as the identification number or identification symbol of Engineer E. "Physical simulation" indicates identification information for the physical simulation performed by the user, such as the identification number or identification symbol of the physical simulation performed by Engineer E. "Target information" is various information related to the target included in the video, such as particle information and distance information of the object (e.g., water, clothing, snow) performing the physical simulation.

[0055] Here, particle information indicates the physical properties of the object included in the image, for example, information indicating the complexity of the surface particles of the object being processed, and distance information indicates the distance to the boundary surface of the object included in the image, for example, information indicating the surface of the object being processed or the distance to another object.

[0056] That is, FIG. 5 shows an example in which, for a user identified by "User #1" and a physical simulation identified by "Physical Simulation #1," the following data is stored in the target information storage unit 14b as target information: {Processing target: "Processing target #1," particle information: "Particle information #1," distance information: "Distance information #1," ...}, {Processing target: "Processing target #2," particle information: "Particle information #2," distance information: "Distance information #2," ...}, {Processing target: "Processing target #3," particle information: "Particle information #3," distance information: "Distance information #3," ...}, ...

[0057] (First decision result storage unit 14c) The first decision result storage unit 14c stores the first decision result. For example, the first decision result storage unit 14c stores the first decision result output by a first decision unit 15c of the control unit 15, which will be described later. Here, an example of data stored in the first decision result storage unit 14c will be described with reference to FIG. 6. FIG. 6 is a diagram showing an example of the first decision result storage unit 14c of the engineer terminal 10 according to the embodiment. In the example of FIG. 6, the first decision result storage unit 14c has items such as "User," "Physical Simulation," and "First Decision Result."

[0058] "User" indicates identification information for identifying the user who executes the physical simulation, for example, the identification number or identification symbol of Engineer E. "Physical Simulation" indicates identification information for the physical simulation executed by the user, for example, the identification number or identification symbol of the physical simulation executed by Engineer E. "First Determination Result" is a resolution that optimizes the relationship with the processing time for one frame in each unit area of ​​the image, for example, the optimized resolution X of each block including the object for executing the physical simulation. OP is.

[0059] That is, Figure 6 shows an example in which, for a user identified by "User #1" and a physical simulation identified by "Physical Simulation #1," the following data is stored in the first determination result memory unit 14c as the first determination result: {unit area: "Block #1", optimized resolution: "Resolution #1", ...}, {unit area: "Block #2", optimized resolution: "Resolution #2", ...}, {unit area: "Block #3", optimized resolution: "Resolution #3", ...}, ...

[0060] (Second decision result storage unit 14d) The second decision result storage unit 14d stores the second decision result. For example, the second decision result storage unit 14d stores the second decision result output by a second decision unit 15d of the control unit 15, which will be described later. Here, an example of data stored in the second decision result storage unit 14d will be described with reference to FIG. 7. FIG. 7 is a diagram showing an example of the second decision result storage unit 14d of the engineer terminal 10 according to the embodiment. In the example of FIG. 7, the second decision result storage unit 14d has items such as "User," "Physical Simulation," and "Second Decision Result."

[0061] "User" indicates identification information for identifying the user who executes the physical simulation, for example, the identification number or identification symbol of Engineer E. "Physical Simulation" indicates identification information of the physical simulation executed by the user, for example, the identification number or identification symbol of the physical simulation executed by Engineer E. "Second determination result" is the number of times of processing corresponding to the optimized resolution of one frame in each unit area of ​​the video, for example, the optimized number of times of processing T for each block including the object for which the physical simulation is executed. OP is.

[0062] That is, Figure 7 shows an example in which, for a user identified by "User #1" and a physical simulation identified by "Physical Simulation #1", the following data is stored in the second determination result storage unit 14d as the second determination result: {unit area: "Block #1", number of optimization processes: "number of processes #1", ...}, {unit area: "Block #2", number of optimization processes: "number of processes #2", ...}, {unit area: "Block #3", number of optimization processes: "number of processes #3", ...}, ...

[0063] (Simulation result storage unit 14e) The simulation result storage unit 14e stores the simulation results. For example, the simulation result storage unit 14e stores the simulation results output by the execution unit 15e of the control unit 15, which will be described later. Here, an example of data stored in the simulation result storage unit 14e will be described with reference to FIG. 8. FIG. 8 is a diagram showing an example of the simulation result storage unit 14e of the engineer terminal 10 according to the embodiment. In the example of FIG. 8, the simulation result storage unit 14e has items such as "User," "Physical Simulation," and "Simulation Result."

[0064] "User" indicates identification information for identifying the user who executes the physics simulation, such as the identification number or identification symbol of Engineer E. "Physics simulation" indicates identification information for the physics simulation executed by the user, such as the identification number or identification symbol of the physics simulation executed by Engineer E. "Simulation result" is the execution result of a physics simulation of video, such as the MPM execution result (e.g., object position, time, change, etc.) when an MPM is executed as a physics simulation.

[0065] That is, FIG. 8 shows an example in which, for a user identified by "User #1," the following data is stored in the simulation result storage unit 14e as simulation results: {Physics simulation: "Physics simulation #1", simulation result: "MPM execution result #1"}, {Physics simulation: "Physics simulation #2", simulation result: "MPM execution result #2"}, {Physics simulation: "Physics simulation #3", simulation result: "MPM execution result #3"}, etc.

[0066] (Generation result storage unit 14f) The generation result storage unit 14f stores the generation result. For example, the generation result storage unit 14f stores the generation result output by a generation unit 15f of the control unit 15, which will be described later. Here, an example of data stored in the generation result storage unit 14f will be described with reference to FIG. 9. FIG. 9 is a diagram showing an example of the generation result storage unit 14f of the engineer terminal 10 according to the embodiment. In the example of FIG. 9, the generation result storage unit 14f has items such as "user" and "generation result."

[0067] "User" refers to identification information for identifying the user who executes the physical simulation, such as the identification number or symbol of Engineer E. "Generation result" refers to data generated based on the execution results of the physical simulation of the video, such as video data for a game, movie, or the like generated by two-dimensional rendering.

[0068] That is, Figure 9 shows an example in which, for a user identified by "User #1," data such as "Video Data #1," "Video Data #2," "Video Data #3," etc. are stored in the generation result storage unit 14f as generation results.

[0069] (Control Unit 15) The control unit 15 is responsible for overall control of the engineer terminal 10. The control unit 15 is configured with a reception unit 15a, an acquisition unit 15b, a first determination unit 15c, a second determination unit 15d, an execution unit 15e, and a generation unit 15f. Here, the control unit 15 can be realized by, for example, an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

[0070] (Reception Unit 15a) The reception unit 15a receives various types of information. The reception unit 15a may store the received various types of information in the storage unit 14. The setting information input screen display process and the setting information reception process will be described below.

[0071] (Setting Information Input Screen Display Process) The receiving unit 15a executes an input screen display process. For example, the receiving unit 15a displays an input screen that receives, from a user, setting information indicating at least one of the number of resolution hierarchies (number of resolution hierarchies), a maximum grid size, a definition of real-time processing (real-time definition), a definition of a first function that evaluates the resolution in each unit area (f-function definition), a definition of a second function that evaluates the processing time in each unit area (h-function definition), and a user's sensitivity to the video (user sensitivity).

[0072] The accepting unit 15a displays a graph and a computation flow corresponding to multiple input values ​​as an input screen for accepting setting information indicating at least one of an f function definition and an h function definition from a user. The accepting unit 15a also displays an input screen for accepting setting information indicating at least one of an f function definition and an h function definition from a user, allowing the user to specify an element to prioritize as an output value. The accepting unit 15a also displays an input screen for accepting setting information indicating at least one of an f function definition and an h function definition from a user, allowing the user to specify whether or not to set multiple input values. The accepting unit 15a also displays an input screen for accepting setting information indicating at least one of an f function definition and an h function definition from a user, allowing the user to input a function definition formula. Specific examples of the setting information input screen will be described later.

[0073] (Setting Information Reception Process) The reception unit 15a executes the setting information reception process. For example, the reception unit 15a receives setting information related to a physical simulation of a video. At this time, the reception unit 15a receives setting information indicating the number of resolution hierarchies (number of resolution hierarchies) from the user. The reception unit 15a also receives setting information indicating a definition of real-time processing of the video (real-time definition) from the user. The reception unit 15a also receives setting information indicating a definition of an optimization method (f-function definition, h-function definition) from the user. The first determination unit 15c also receives setting information indicating the user's perception of the video (user perception). The first determination unit 15c also receives setting information indicating the minimum value of the quality level required for the video (minimum quality guarantee condition) from the user. The first determination unit 15c also receives setting information indicating the stability of the video data (robustness guarantee condition) from the user.

[0074] To explain a specific example of the setting information reception process, the reception unit 15a receives the setting information input by engineer E through the setting information input screen by operating the engineer terminal 10, such as ``Number of resolution hierarchies #1,'' ``f function definition #1,'' ``h function definition #1,'' ``real-time definition #1,'' ``user experience #1,'' ``minimum quality guarantee condition #1,'' and ``robustness guarantee condition #1,'' and stores it in the setting information storage unit 14a.

[0075] (Acquisition Unit 15b) The acquisition unit 15b acquires various types of information. The acquisition unit 15b may store the acquired various types of information in the storage unit 14. The target information acquisition process will be described below.

[0076] (Target Information Acquisition Process) The acquisition unit 15b executes the target information acquisition process. For example, the acquisition unit 15b acquires target information related to a target included in the video. At this time, the acquisition unit 15b acquires target information indicating the physical properties (particle information) of the target. The acquisition unit 15b also acquires target information indicating the distance to the boundary surface of the target (distance information). The acquisition unit 15b also acquires target information based on a physical simulation performed in the past.

[0077] To explain a specific example of the target information acquisition process, the acquisition unit 15b acquires {processing target: "processing target #1", particle information: "particle information #1", distance information: "distance information #1"}, {processing target: "processing target #2", particle information: "particle information #2", distance information: "distance information #2"}, {processing target: "processing target #3", particle information: "particle information #3", distance information: "distance information #3"} from the target data of the physical simulation input by engineer E by operating the engineer terminal 10, and stores them in the target information storage unit 14b.

[0078] (First Determination Unit 15c) The first determination unit 15c outputs a first determination result. The first determination unit 15c may store the output first determination result in the storage unit 14. The optimized resolution determination process will be described below.

[0079] (Optimization Resolution Determination Process) The first determination unit 15c executes the optimization resolution determination process. For example, the first determination unit 15c determines an optimization resolution X as a resolution that optimizes the relationship with the processing time for one frame in each unit area including the target, based on the setting information and the target information. OP At this time, the first determination unit 15c determines the optimized resolution X using a first function (f function) that evaluates the resolution in each unit area and a second function (h function) that evaluates the processing time in each unit area. OPFurthermore, the first determination unit 15c determines an optimized resolution X that indicates the maximum resolution at which real-time video processing is possible, based on an optimization problem using the f function and the h function. OP Determine.

[0080] To explain a specific example of the optimization resolution determination process, first, the first determination unit 15c refers to "number of resolution hierarchies #1," "f-function definition #1," "h-function definition #1," "real-time definition #1," "user experience #1," "minimum quality guarantee condition #1," and "robustness guarantee condition #1" as setting information stored in the setting information storage unit 14a. Second, the first determination unit 15c refers to {processing target: "processing target #1," particle information: "particle information #1," distance information: "distance information #1"}, {processing target: "processing target #2," particle information: "particle information #2," distance information: "distance information #2"}, and {processing target: "processing target #3," particle information: "particle information #3," distance information: "distance information #3"} as target information stored in the target information storage unit 14b. Third, the first determination unit 15c solves an optimization problem using the f function and the h function, outputs {unit area: "block #1", optimized resolution: "resolution #1"}, {unit area: "block #2", optimized resolution: "resolution #2"}, {unit area: "block #3", optimized resolution: "resolution #3"}, and stores them in the first determination result memory unit 14c.

[0081] (Second determination unit 15d) The second determination unit 15d outputs a second determination result. The second determination unit 15d may store the output second determination result in the storage unit 14. The optimization process count determination process will be described below.

[0082] (Optimization Process Number Determination Process) The second determination unit 15d executes the optimization process number determination process. For example, the second determination unit 15d determines the number of optimization processes to be performed when the optimization resolution X OP Based on this, the number of processing times for one frame in each unit area including the target is determined as the optimized number of processing times T OP The second determination unit 15d determines the CFL conditions and the optimized resolution X OP Using the minimum time step Δt in each unit area min By calculating OPDetermine.

[0083] To explain a specific example of the optimization processing count determination process, first, the second determination unit 15d refers to {unit area: "block #1", optimization resolution: "resolution #1"}, {unit area: "block #2", optimization resolution: "resolution #2"}, and {unit area: "block #3", optimization resolution: "resolution #3"} as the first determination results stored in the first determination result storage unit 14c. Second, the second determination unit 15d uses the referred first determination results and the CFL conditions to output {unit area: "block #1", optimization processing count: "processing count #1"}, {unit area: "block #2", optimization processing count: "processing count #2"}, and {unit area: "block #3", optimization processing count: "processing count #3"}, and stores them in the second determination result storage unit 14d.

[0084] (Execution Unit 15e) The execution unit 15e executes various processes. The execution unit 15e may store execution results of the various processes in the storage unit 14. The MPM execution process will be described below.

[0085] (MPM Execution Process) The execution unit 15e executes the MPM execution process. For example, the execution unit 15e executes the MPM execution process. OP and the number of optimization processes T OP MPM is executed as a physical simulation using

[0086] To describe a specific example of the MPM execution process, first, the execution unit 15e references {unit area: "Block #1", optimization resolution: "Resolution #1"}, {unit area: "Block #2", optimization resolution: "Resolution #2"}, and {unit area: "Block #3", optimization resolution: "Resolution #3"} as the first determination results stored in the first determination result storage unit 14c. Second, the execution unit 15e references {unit area: "Block #1", optimization process count: "Processing count #1"}, {unit area: "Block #2", optimization process count: "Processing count #2"}, and {unit area: "Block #3", optimization process count: "Processing count #3"} as the second determination results stored in the second determination result storage unit 14d. Third, the execution unit 15e executes MPM using the referenced first determination result and second determination result, and outputs {physics simulation: "physics simulation #1", simulation result: "MPM execution result #1"}, and stores it in the simulation result storage unit 14e.

[0087] (Generation Unit 15f) The generation unit 15f generates various types of information. The generation unit 15f may store the results of generating the various types of information in the storage unit 14. The video data generation process will be described below.

[0088] (Video Data Generation Process) The generation unit 15f executes the video data generation process. For example, the generation unit 15f generates video data by two-dimensional rendering using the simulation results of the MPM.

[0089] To explain a specific example of the MPM execution process, first, the generation unit 15f references {physics simulation: "physics simulation #1", simulation result: "MPM execution result #1"} as the simulation results stored in the simulation result storage unit 14e. Second, the generation unit 15f performs two-dimensional rendering using the referenced simulation results, outputs "video data #1", and stores it in the generation result storage unit 14f.

[0090] 10 to 16, specific examples of each process of the information processing system 100 according to the embodiment will be described. Below, specific examples 1 and 2 of the optimization execution process of the information processing system 100 and a specific example of a setting information input screen will be described.

[0091] (Specific Example 1 of Optimization Execution Processing) Specific example 1 of each process of the information processing system 100 will be described using Fig. 10. Fig. 10 is a diagram showing specific example 1 of the optimization execution processing of the information processing system 100 according to the embodiment. Below, as specific example 1 of the optimization execution processing of the information processing system 100, the relationship between processing time and resolution in MPM and a specific example of MPM according to the reference technology will be described, and then a specific example of spatiotemporal variability of the information processing system 100 will be described.

[0092] (Relationship between processing time and resolution in MPM) In MPM, the required processing time varies depending on the CFL conditions, which are influenced by the material characteristics (i.e., physical properties) of the particles and the state of the physical simulation. Furthermore, in MPM, the required time and resolution of each block vary depending on the particles contained in each block. Note that in the examples of Figures 10(1) to (5), blocks requiring a long time (i.e., coarse processing granularity) are indicated by shading, and blocks requiring a short time (i.e., fine processing) are indicated by diagonal lines. Also, in the examples of Figures 10(1) to (5), the horizontal axis represents the spatial axis of processing, and the vertical axis represents the time axis of processing.

[0093] (Normal MPM according to the reference technology) The normal MPM according to the reference technology will be described using Fig. 10(1). As shown in the example of Fig. 10(1), the normal MPM, which has neither temporal variability nor spatial variability, determines the total number of processing times in accordance with detailed required times and processes the entire space at a uniform time step. In the example of Fig. 10(1), the two blocks requiring the longest time are both processed five times, and the two blocks requiring the shortest time are both processed five times, for a total number of processing times of 20.

[0094] (Temporal Variable MPM According to the Reference Technology) A temporal variable MPM according to the reference technology will be described using Fig. 10(2). As shown in the example of Fig. 10(2), a temporal variable MPM that has only temporal variability reduces the overall processing by reducing the number of times of processing in blocks that require a long time. In the example of Fig. 10(2), the number of times of processing for both of the two blocks that require a long time is reduced to three, and the overall processing is reduced to 16.

[0095] (Spatially variable MPM according to the reference technology) A spatially variable MPM according to the reference technology will be described using Fig. 10(3). As shown in the example of Fig. 10(3), a spatially variable MPM that has only spatial variability reduces the overall processing by lowering the resolution of blocks. In the example of Fig. 10(3), by lowering the resolution of two blocks that require a long time, the total number of processing times for the blocks that require a long time is reduced to five, and the overall processing time is reduced to 15.

[0096] (Spatiotemporally variable MPM of information processing system 100: Application example 1) Application example 1 of the spatiotemporally variable MPM of the information processing system 100 will be described using Fig. 10(4). As shown in the example of Fig. 10(4), the spatiotemporally variable MPM, which has both temporal and spatial variability, reduces the number of processes for blocks requiring a long time and lowers the resolution, thereby reducing the overall processing. In the example of Fig. 10(4), the number of processes for blocks requiring a long time is reduced to two, and by lowering the resolution of the two blocks requiring a long time, the total number of processes for blocks requiring a long time is reduced to two, and the overall processing is reduced to 12.

[0097] (Spatiotemporally variable MPM of information processing system 100: Application example 2) Using Fig. 10(5), application example 2 of the spatiotemporally variable MPM of the information processing system 100 will be described. As shown in the example of Fig. 10(5), in a spatiotemporally variable MPM that has both temporal and spatial variability, the total number of processes is reduced by reducing the number of processes for blocks with long required times and for blocks with short required times, and by lowering the resolution. In the example of Fig. 10(5), the number of processes for the two blocks with long required times is reduced to three, and the number of processes for the block with short required times is also reduced to three, and by lowering the resolution of the two blocks with short required times, the total number of processes for the blocks with short required times is reduced to three, and the total number of processes is reduced to nine.

[0098] (Specific example 2 of optimization execution processing) Specific example 2 of each process of the information processing system 100 will be described using Fig. 11. Fig. 11 is a diagram showing specific example 2 of optimization execution processing of the information processing system 100 according to the embodiment. Below, as specific example 2 of optimization execution processing of the information processing system 100, the relationship between the physical properties and resolution in MPM will be described, and then a specific example of spatiotemporal variability of the information processing system 100 will be described.

[0099] (Relationship between Physical Properties and Resolution in MPM) The optimization execution process using the spatiotemporal variable MPM does not have a simple relationship that depends solely on resolution. For example, temporal variability also depends on the physical properties of the object being physically simulated (e.g., whether the object is hard, like stone, or soft, like rubber). Furthermore, when physically simulating a scene with multiple different physical properties, objects with specific physical properties may require higher resolution. In such cases, even when the temporal variable MPM is executed, processing for the object with that physical property may account for the majority of the overall processing, so randomly lowering the overall resolution to improve processing is inappropriate. In such cases, by selectively lowering the resolution of only those areas that do not affect the visibility of the physical property in the optimization execution process using the spatiotemporal variable MPM, overall processing can be reduced without changing the resolution of objects with other physical properties. Note that in the examples of Figures 11(1A) and (2A), objects with complex shapes are represented by shading. In the examples of Figures 11(1B) and (2B), objects with simple shapes are represented by diagonal lines. 11(1C) and (2C), blocks containing objects with complex shapes are shaded, and blocks containing objects with simple shapes are shaded. Also, in the examples of Figures 11(1C) and (2C), the horizontal axis represents the spatial axis of processing, and the vertical axis represents the time axis of processing.

[0100] (Spatiotemporally variable MPM of information processing system 100: Application example 3) Using FIG. 11 , application example 3 of the spatiotemporally variable MPM of the information processing system 100 will be described. As shown in the example of FIG. 11 (1), even if the objects shown in FIGS. 11 (1A) and (1B) have similar resolutions, differences in physical properties result in differences in processing time. Here, because the shape of the object in FIG. 11 (1B) is simple, it is thought that physical simulation at high resolution does not contribute significantly to visibility. Therefore, as shown in the example of FIG. 11 (2B), reducing the resolution does not pose a significant problem, and a significant reduction in processing time can be expected. In the example of FIG. 11 (2C), by lowering the resolution of blocks containing objects with simple shapes, the total number of processing operations is reduced from 16 to 9 compared to FIG. 11 (1C).

[0101] On the other hand, in optimization execution processing using the spatiotemporally variable MPM, it is possible to reduce the overall processing by lowering the resolution of an object with a complex shape (e.g., when prioritizing real-time performance even at the expense of resolution). Therefore, in the spatiotemporally variable MPM of the information processing system 100, it is possible to verify whether or not a reduction in resolution is acceptable by solving the relationship between temporal variability and spatial variability as an optimization problem.

[0102] 12 to 16, a specific example 3 of each process of the information processing system 100 will be described. Below, specific examples of an overall setting screen and a function setting screen will be described as specific examples of the setting information input screen of the information processing system 100.

[0103] (Setting Information Input Screen: Overall Setting Screen) A specific example of an overall setting screen will be described with reference to Fig. 12 as a specific example of a setting information input screen of the information processing system 100. Fig. 12 is a diagram showing specific example 1 of a setting information input screen of the information processing system 100 according to the embodiment.

[0104] As shown in Fig. 12(1), Engineer E can set the number of resolution layers via the overall setting screen. In the example of Fig. 12(1), Engineer E enters "3" in the text box as the "Number of hierarchies," which is the number of resolution layers.

[0105] As shown in Fig. 12(2), Engineer E can set the maximum grid size via the overall setting screen. In the example of Fig. 12(2), Engineer E enters "0.01" in the text box as the "Finest dx" which is the maximum grid size.

[0106] As shown in Fig. 12(3), Engineer E can set the real-time definition via the overall setting screen. In the example of Fig. 12(3), Engineer E enters "30" in the text box as the real-time definition "Target FPS."

[0107] As shown in Fig. 12(4), Engineer E can set the f function definition via the overall setting screen. In the example of Fig. 12(4), Engineer E selects "User defined graph" from the drop-down list as the f function definition "Resolution quality function," and enters "Func_A" in the text box as the "Function name," which is the name of the f function.

[0108] As shown in Fig. 12(5), Engineer E can set the h function definition via the general setting screen. In the example of Fig. 12(5), Engineer E selects "User defined graph," "From measurements," and "Simple per block count" from the drop-down list as the h function definition "Time function."

[0109] (Setting Information Input Screen: Function Setting Screen) Using Figs. 13 to 16, specific examples of function setting screens will be described as specific examples of setting information input screens for the information processing system 100. Fig. 13 is a diagram showing a specific example 2 of a setting information input screen for the information processing system 100 according to the embodiment. Fig. 14 is a diagram showing a specific example 3 of a setting information input screen for the information processing system 100 according to the embodiment. Fig. 15 is a diagram showing a specific example 4 of a setting information input screen for the information processing system 100 according to the embodiment. Fig. 16 is a diagram showing a specific example 5 of a setting information input screen for the information processing system 100 according to the embodiment. The f function definition "Resolution quality function" will be described below.

[0110] As shown in Fig. 13(1), Engineer E can set an f-function definition using the grid size that can be calculated from the distance to the surface as an input value via the function setting screen. In the example of Fig. 13(1), Engineer E sets "DX from Distance from surface," which is the grid size that can be calculated from the distance to the surface, and the corresponding graph "Correction curve" as a Bezier curve.

[0111] As shown in Fig. 13(2), Engineer E can set an f-function definition using the grid size calculable from the surface curve as an input value via the function setting screen. In the example of Fig. 13(2), Engineer E sets "DX from surface curve," which is the grid size calculable from the surface curve, and the corresponding graph "Correction curve" as a Bezier curve.

[0112] As shown in Fig. 13(3), Engineer E can set an f-function definition using the grid size calculable from the airflow velocity as an input value via the function setting screen. In the example of Fig. 13(3), Engineer E sets "DX from Velocity turbulence," which is the grid size calculable from the airflow velocity, and the corresponding graph "Correction curve" as a Bezier curve.

[0113] As shown in Figures 13(1) to 13(3), Engineer E can set the f-function definition for the output value via the function setting screen. In the example of Figures 13(1) to 13(3), Engineer E calculates the average value of the output value of Figure 13(2) and the output value of Figure 13(3), and sets "Func_A" to output the maximum value of the calculated average value and the output value of Figure 13(1).

[0114] As shown in Fig. 14, Engineer E can set an f-function definition that specifies a priority element via the function setting screen. In the example of Fig. 14, Engineer E can select "Default" from a drop-down list as the f-function definition "Resolution quality function," and can select one of the priority elements "Real-timeness," "Visual fineness," and "balance" from a drop-down list.

[0115] As shown in Fig. 15, Engineer E can set an f-function definition that simplifies the graph settings on the function setting screen of Fig. 13 via the function setting screen. In the example of Fig. 15, Engineer E selects "Simple function" from the drop-down list as the f-function definition "Resolution quality function." Engineer E also checks the checkbox for "Distance from surface," which is the grid size that can be calculated from the distance to the surface, and enters "50" as input item 1 "Decay center" and "1" as input item 2 "Decay width" in the text boxes. Engineer E also checks the checkbox for "curvature," which is the grid size that can be calculated from the surface curve, and enters "50" into the text box for "Decay center," which is input item 1, and "1" into the text box for "Decay width," which is input item 2. Engineer E also checks the checkbox for "Consider view frustum," which is an f-function definition that simplifies the graph settings.

[0116] As shown in Fig. 16, Engineer E can set a directly input f function definition via the function setting screen. In the example of Fig. 16, Engineer E selects "equation" from the drop-down list as the "Resolution quality function," which is the f function definition, and inputs "$MAX(d_max, $AVG($surface_dist, $turbulence))" into the text box as the "equation," which is the formula for the f function.

[0117] 1-4. Flow of Each Process in the Information Processing System 100 The flow of processes in the information processing system 100 according to the embodiment will be described with reference to FIG. 17. FIG. 17 is a flowchart showing an example of the flow of the information processing system 100 according to the embodiment. Note that the processes in steps S101 to S107 below can be executed in a different order. Also, some of the processes in steps S101 to S107 below may be omitted.

[0118] (Setting Information Receiving Process) First, the engineer terminal 10 executes setting information receiving process (step S101). For example, the engineer terminal 10 receives setting information including the number of resolution layers, an f-function definition, an h-function definition, a real-time definition, user experience, minimum quality guarantee conditions, robustness guarantee conditions, etc. from the engineer E via a setting information input screen.

[0119] (Target Information Acquisition Process) Second, the engineer terminal 10 executes target information acquisition process (step S102). For example, the engineer terminal 10 acquires target information including particle information, distance information, etc. of an object for which a physical simulation is to be performed.

[0120] (Optimization Resolution Determination Process) Third, the engineer terminal 10 executes the optimization resolution determination process (step S103). For example, the engineer terminal 10 determines the optimization resolution X for each block of the physical simulation by solving an optimization problem using the f function and the h function. OP Determine.

[0121] (Optimization Process Number Determination Process) Fourth, the engineer terminal 10 executes optimization process number determination process (step S104). For example, the engineer terminal 10 determines the number of optimization processes to be performed when the optimization resolution X OP and the CFL conditions are used to calculate the number of optimization processes T for each block of the physical simulation. OP Determine.

[0122] (MPM Execution Process) Fifth, the engineer terminal 10 executes the MPM execution process (step S105). For example, the engineer terminal 10 executes the MPM execution process at the optimized resolution X OP and the number of optimization processes T OP MPM is executed as a physical simulation using

[0123] If the physical simulation is to be continued (step S106: Yes), the process returns to step S101. On the other hand, if the physical simulation is not to be continued (step S106: No), the process proceeds to step S107.

[0124] (Video Data Generation Process) Sixth, the engineer terminal 10 executes video data generation process (step S107), and terminates the processing of the information processing system 100. For example, the engineer terminal 10 executes two-dimensional rendering using the simulation results by the MPM, and generates video data.

[0125] 1-5. Modifications and Applications of the Embodiment Modifications and applications of the embodiment will be described with reference to Figures 18 to 20. Below, modifications 1 to 3 and applications 1 to 16 of the embodiment will be described.

[0126] (First Modification of the Embodiment) The configuration and processing of an information processing system 100M-1 according to a first modification of the embodiment will be described with reference to Fig. 18. Fig. 18 is a diagram showing an example of the configuration and processing of an information processing system 100M-1 according to a first modification of the embodiment. Note that a description of the configuration and processing common to the embodiment will be omitted.

[0127] (Configuration Example of Information Processing System 100M-1) The information processing system 100M-1 is configured with an engineer terminal 10 and a server device 20. Here, the engineer terminal 10 and the server device 20 are connected to each other via a predetermined communication network (not shown) so that they can communicate with each other via wired or wireless communication. Note that the predetermined communication network can be various communication networks such as the Internet or a dedicated line. Furthermore, the information processing system 100M-1 shown in FIG. 18 may include multiple server devices 20.

[0128] (Processing Example of Information Processing System 100M-1) The information processing system 100M-1 executes the following processing. First, the engineer terminal 10 receives setting information from the engineer E (step S11). Second, the engineer terminal 10 transmits the setting information to the server device 20 (step S12). Third, the server device 20 acquires target information (step S13). Fourth, the server device 20 acquires the optimized resolution X OP (Step S14). Fifth, the server device 20 determines the number of optimization processes T OP(Step S15). Sixth, the server device 20 executes the MPM (Step S16). Seventh, the server device 20 transmits the simulation results to the engineer terminal 10 (Step S17). Seventh, the engineer terminal 10 generates video data (Step S18).

[0129] (Effects of information processing system 100M-1) In the information processing system 100M-1 according to the first variant of the embodiment, the server device 20 can reduce resources of the engineer terminal 10 by executing an optimization resolution determination process, an optimization process count determination process, and an MPM execution process.

[0130] (Modification 2 of the embodiment) The configuration and processing of an information processing system 100M-2 according to Modification 2 of the embodiment will be described with reference to Fig. 19. Fig. 19 is a diagram showing an example of the configuration and processing of an information processing system 100M-2 according to Modification 2 of the embodiment. Note that a description of the configuration and processing common to the embodiment will be omitted.

[0131] (Configuration Example of Information Processing System 100M-2) The information processing system 100M-2 is configured with an engineer terminal 10 and a server device 20. Here, the engineer terminal 10 and the server device 20 are connected to each other via a predetermined communication network (not shown) so that they can communicate with each other via wired or wireless communication. Note that the predetermined communication network can be various communication networks such as the Internet or a dedicated line. Furthermore, the information processing system 100M-2 shown in FIG. 19 may include multiple server devices 20.

[0132] (Processing Example of Information Processing System 100M-2) The information processing system 100M-2 executes the following processing. First, the engineer terminal 10 receives setting information from the engineer E (step S21). Second, the engineer terminal 10 transmits the setting information to the server device 20 (step S22). Third, the server device 20 acquires target information (step S23). Fourth, the server device 20 acquires the optimized resolution X OP (Step S24). Fifth, the server device 20 determines the number of optimization processes T OP(Step S25). Sixth, the server device 20 transmits the optimization result (optimized resolution X OP , optimization processing times T OP ) (Step S26). Seventh, the engineer terminal 10 executes the MPM (Step S27). Seventh, the engineer terminal 10 generates video data (Step S28).

[0133] (Effects of Information Processing System 100M-2) In the information processing system 100M-2 according to the second modification of the embodiment, the server device 20 executes the optimization resolution determination process and the optimization process count determination process, thereby reducing the resources of the engineer terminal 10.

[0134] (Modification 3 of the embodiment) The configuration and processing of an information processing system 100M-3 according to Modification 3 of the embodiment will be described with reference to Fig. 20. Fig. 20 is a diagram showing an example of the configuration and processing of an information processing system 100M-3 according to Modification 3 of the embodiment. Note that a description of the configuration and processing common to the embodiment will be omitted.

[0135] (Configuration Example of Information Processing System 100M-3) The information processing system 100M-3 is composed of an engineer terminal 10 and a server device 20. Here, the engineer terminal 10 and the server device 20 are connected to each other via a predetermined communication network (not shown) so that they can communicate with each other via wired or wireless communication. Note that the predetermined communication network can be various communication networks such as the Internet or a dedicated line. Furthermore, the information processing system 100M-3 shown in FIG. 20 may include multiple server devices 20.

[0136] (Processing Example of Information Processing System 100M-3) The information processing system 100M-3 executes the following processes. First, the engineer terminal 10 receives setting information from the engineer E (step S31). Second, the engineer terminal 10 transmits the setting information to the server device 20 (step S32). Third, the engineer terminal 10 acquires target information (step S33). Fourth, the engineer terminal 10 executes a physical simulation (optimization resolution determination process, optimization process count determination process, and MPM execution process) (step S34). Fifth, the server device 20 acquires the target information (step S35). Sixth, the server device 20 executes a physical simulation (optimization resolution determination process, optimization process count determination process, and MPM execution process) (step S36). Seventh, the server device 20 transmits the simulation results to the engineer terminal 10 (step S37). Eighth, the engineer terminal 10 generates video data (step S38).

[0137] (Effects of information processing system 100M-3) In the information processing system 100M-3 according to the third variant of the embodiment, the engineer terminal 10 and the server device 20 share the responsibility of executing the physical simulation, thereby enabling the execution of more complex physical simulations.

[0138] (Application Examples of the Embodiments) Application examples of the embodiments will be described below. Application examples 1 to 16 of the embodiments will be described below. Note that application examples 1 to 16 of the embodiments can be applied not only to the embodiments but also to the above-described modified examples 1 to 3 of the embodiments.

[0139] (Application Example 1) As an application example 1 of the embodiment, for the optimization execution process, expect ) 2 +β(h-Δt rt ) 2}, it is possible to solve the optimization problem by setting the f function and the h function to square functions of assumed values.

[0140] (Application Example 2) As an application example 2 of the embodiment, it is possible to divide the optimization execution process by performing several iterations and then performing several iterations again if the situation changes.

[0141] (Application Example 3) As an application example 3 of the embodiment, the optimization execution process can be executed using a probabilistic model such as the "multi-armed bandit problem."

[0142] (Application Example 4) As an application example 4 of the embodiment, it is possible to use, as target information, a velocity field, deviation in velocity between particles (turbulence), deviation in velocity of an object (turbulent velocity), and the like.

[0143] (Application Example 5) As an application example 5 of the embodiment, it is possible to use a function that calculates the maximum value of various elements, a sum of Gaussian functions, or the like for the f function.

[0144] (Application Example 6) As an application example 6 of the embodiment, it is possible to use a learning model that has learned the visibility of users for the f function.

[0145] (Application Example 7) As an application example 7 of the embodiment, it is possible to evaluate the effect obtained depending on the resolution for the f function and use an evaluation function of the resolution for the purpose of conditional maximization in determining the resolution.

[0146] (Application Example 8) As an application example 8 of the embodiment, it is possible to use an evaluation function based on a predictable actual processing time for the h function.

[0147] (Application Example 9) As an application example 9 of the embodiment, it is possible to use an evaluation function based on the time required for an actual physical simulation for the h function.

[0148] (Application Example 10) As an application example 10 of the embodiment, it is possible to use a method that combines the Finite Element Analysis Program for Liquefaction Process (FLIP) and the Finite Element Method (FEM) for physical simulation.

[0149] (Application Example 11) As an application example 11 of the embodiment, it is possible to use a unit area that is not a square block, but a more freely shaped grid unit area.

[0150] (Application Example 12) As an application example 12 of the embodiment, it is possible to execute particle resampling processing after the MPM execution processing or the optimization resolution determination processing.

[0151] (Application Example 13) As an application example 13 of the embodiment, the present invention can be used in applications that require real-time processing, such as AR (Augmented Reality) and VR (Virtual Reality).

[0152] (Application Example 14) As an application example 14 of the embodiment, the present invention can be used for action planning of robots and drones.

[0153] (Application Example 15) As an application example 15 of the embodiment, it is possible to use it in fields that require accurate physical simulations, such as weather forecasts and tsunami warnings.

[0154] (Application Example 16) As an application example 16 of the embodiment, it is possible to use it in fields that require accurate physical simulations, such as civil engineering work and construction.

[0155] 2. Effects of the embodiment Finally, effects of the embodiment will be described below. Effects corresponding to the processing according to the embodiment will be described below.

[0156] In the process according to the embodiment described above, the engineer terminal 10 receives setting information related to the physical simulation of the video, acquires object information related to the object included in the video, and determines an optimized resolution X as a resolution that optimizes the relationship with the processing time for one frame in each block including the object based on the setting information and the object information. OP Determine the optimal resolution X OP Based on this, the number of times of processing one frame in each block is optimized as the number of times of processing T OP Therefore, in this process, it is possible to perform real-time processing at high resolution in the physical simulation of video.

[0157] In the process according to the embodiment described above, the engineer terminal 10 calculates the optimized resolution X using the f function for evaluating the resolution of each block and the h function for evaluating the processing time of each block. OP Therefore, in this process, by determining the resolution in consideration of the processing time in the physical simulation of the video, it is possible to execute real-time processing at high resolution.

[0158] In the process according to the embodiment described above, the engineer terminal 10 solves an optimization problem using the f function and the h function to obtain an optimized resolution X , which indicates the maximum resolution at which real-time processing of video is possible. OP Therefore, in this process, in the physical simulation of the video, by determining the resolution taking into consideration the processing time through an optimization problem, it is possible to execute real-time processing at high resolution.

[0159] In the process according to the embodiment described above, the engineer terminal 10 receives setting information indicating the number of resolution layers from the engineer E. Therefore, in this process, by utilizing the settings related to multi-level resolution in the physical simulation of the video, it is possible to execute real-time processing at high resolution.

[0160] In the process according to the embodiment described above, the engineer terminal 10 receives setting information indicating a definition of real-time processing of video from the engineer E. Therefore, in this process, by utilizing the setting related to real-time properties in the physical simulation of video, it is possible to execute real-time processing at high resolution.

[0161] In the process according to the embodiment described above, the engineer terminal 10 receives setting information indicating a definition of an optimization method from the engineer E. Therefore, in this process, by utilizing settings related to the optimization of resolution and the number of processing times in the physical simulation of video, it is possible to execute real-time processing at high resolution.

[0162] In the process according to the embodiment described above, the engineer terminal 10 receives setting information indicating the user's perception from the engineer E. Therefore, in this process, by utilizing the settings related to the user's visibility in the physical simulation of the video, it is possible to execute real-time processing at high resolution.

[0163] In the process according to the embodiment described above, the engineer terminal 10 acquires object information indicating the physical properties of the object, and therefore, in the physical simulation of the video, the process can execute high-resolution real-time processing by utilizing information indicating the complexity of the surface particles of the object.

[0164] In the process according to the embodiment described above, the engineer terminal 10 acquires object information indicating the distance to the boundary surface of the object. Therefore, in this process, by utilizing information indicating the surface of the object and the distance to other objects in the physical simulation of the video, it is possible to perform real-time processing at high resolution.

[0165] In the process according to the embodiment described above, the engineer terminal 10 acquires target information predicted from previously executed physical simulations, and thus, in this process, by utilizing historical information of repeated physical simulations in the physical simulation of video, it is possible to perform real-time processing at high resolution.

[0166] In the process according to the embodiment described above, the engineer terminal 10 determines the CFL conditions and the optimized resolution X OP The minimum time step Δt in each block is min By calculating OP Therefore, in the present process, a spatially variable process is performed after a temporally variable process in the physical simulation of the video, thereby enabling real-time processing at high resolution.

[0167] In the process according to the embodiment described above, the engineer terminal 10 sets the optimized resolution X OP and the number of optimization processes T OPTherefore, in this process, by using MPM in the physical simulation of video, it is possible to perform real-time processing at high resolution.

[0168] In the process according to the embodiment described above, the engineer terminal 10 displays a setting information input screen that receives setting information indicating at least one of the number of resolution layers, maximum grid size, real-time definition, f-function definition, h-function definition, and user perception of the video from the engineer E. Therefore, in this process, in the physical simulation of the video, by easily receiving all the setting information from the engineer E, it is possible to execute real-time processing at high resolution.

[0169] In the process according to the embodiment described above, the engineer terminal 10 displays a graph and a calculation flow corresponding to a plurality of input values ​​as a setting information input screen for receiving setting information indicating at least one of an f function definition and an h definition from the engineer E. Therefore, in this process, in a physical simulation of a video, by easily receiving setting information of a function from the engineer E using a graph or a calculation flow, it is possible to execute real-time processing at high resolution.

[0170] In the process according to the embodiment described above, the engineer terminal 10 displays a setting information input screen that accepts setting information indicating at least one of the f-function definition and the h-definition from the engineer E, allowing the user to specify an element to be prioritized as an output value. Therefore, in this process, in the physical simulation of video, high-resolution real-time processing can be performed by easily accepting from the engineer E the output value to be prioritized in the function.

[0171] In the process according to the embodiment described above, the engineer terminal 10 displays a setting information input screen that accepts setting information indicating at least one of an f function definition and an h definition from the engineer E, allowing the engineer E to specify whether or not to set a plurality of input values. Therefore, in this process, in the physical simulation of video, by easily accepting from the engineer E whether or not to set each input value in the function, it is possible to execute high-resolution real-time processing.

[0172] In the process according to the embodiment described above, the engineer terminal 10 displays a setting information input screen that allows input of a function definition formula, and that receives setting information indicating at least one of an f-function definition and an h-definition from the engineer E. Therefore, in this process, in the physical simulation of the video, by directly receiving the function definition formula from the engineer E, it is possible to execute high-resolution real-time processing.

[0173] 3. Hardware Configuration An information processing device such as the engineer terminal 10 according to the embodiment described above is realized by a computer 1000 having a configuration such as that shown in FIG. 21 . The following description will be given using the engineer terminal 10 according to the embodiment as an example. FIG. 21 is a hardware configuration diagram showing an example of the computer 1000 that realizes the functions of the engineer terminal 10. The computer 1000 has a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, a HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600. The components of the computer 1000 are connected by a bus 1050.

[0174] The CPU 1100 operates and controls each component based on programs stored in the ROM 1300 or the HDD 1400. For example, the CPU 1100 loads the programs stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to the various programs.

[0175] The ROM 1300 stores boot programs such as a Basic Input Output System (BIOS) that is executed by the CPU 1100 when the computer 1000 is started, and programs that depend on the hardware of the computer 1000 .

[0176] HDD 1400 is a computer-readable recording medium that non-temporarily records programs executed by CPU 1100 and data used by such programs. Specifically, HDD 1400 is a recording medium that records an information processing program according to the present disclosure, which is an example of program data 1450.

[0177] The communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (e.g., the Internet). For example, the CPU 1100 receives data from other devices and transmits data generated by the CPU 1100 to other devices via the communication interface 1500.

[0178] The input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000. For example, the CPU 1100 receives data from input devices such as a touch panel, keyboard, mouse, microphone, and camera via the input / output interface 1600. The CPU 1100 also transmits data to output devices such as a display, speaker, and printer via the input / output interface 1600. The input / output interface 1600 may also function as a media interface for reading programs and the like recorded on a predetermined recording medium. Examples of media include optical recording media such as DVDs (Digital Versatile Discs) and PDs (Phase Change Rewritable Discs), magneto-optical recording media such as MOs (Magneto-Optical Disks), tape media, magnetic recording media, and semiconductor memories.

[0179] For example, when the computer 1000 functions as the engineer terminal 10 according to the embodiment, the CPU 1100 of the computer 1000 executes an information processing program loaded onto the RAM 1200 to realize functions such as the control unit 15. The information processing program according to the present disclosure and data in the storage unit 14 are stored in the HDD 1400. The CPU 1100 reads and executes program data 1450 from the HDD 1400, but as another example, the CPU 1100 may obtain these programs from another device via an external network 1550.

[0180] The present technology can also be configured as follows. (1) An information processing system comprising: a receiving unit that receives setting information related to a physical simulation of a video; an acquiring unit that acquires object information related to an object included in the video; a first determining unit that determines an optimized resolution as a resolution that optimizes a relationship with a processing time for one frame in each unit area including the object based on the setting information and the object information; and a second determining unit that determines an optimized number of processes as a number of times one frame is processed in each unit area based on the optimized resolution. (2) The information processing system described in (1), wherein the first determining unit determines the optimized resolution using a first function that evaluates the resolution in each unit area and a second function that evaluates the processing time in each unit area. (3) The information processing system described in (2), wherein the first determining unit determines the optimized resolution that indicates the maximum resolution at which real-time processing of the video is possible based on an optimization problem using the first function and the second function. (4) The information processing system according to any one of (1) to (3), wherein the reception unit receives the setting information indicating the number of resolution hierarchies from a user. (5) The information processing system according to any one of (1) to (4), wherein the reception unit receives the setting information indicating a definition of real-time processing of the video from a user. (6) The information processing system according to any one of (1) to (5), wherein the reception unit receives the setting information indicating a definition of an optimization method from a user. (7) The information processing system according to any one of (1) to (6), wherein the reception unit receives the setting information indicating a user's perception of the video from a user. (8) The information processing system according to any one of (1) to (7), wherein the acquisition unit acquires the object information indicating physical properties of the object. (9) The information processing system according to any one of (1) to (8), wherein the acquisition unit acquires the object information indicating a distance to a boundary surface of the object.(10) The information processing system according to any one of (1) to (9), wherein the acquisition unit acquires the target information based on the physical simulations executed in the past. (11) The information processing system according to any one of (1) to (10), wherein the second determination unit determines the number of optimization processes by calculating a minimum time step in each unit region using a Courant-Friedrichs-Lewy (CFL) condition and the optimization resolution. (12) The information processing system according to any one of (1) to (11), further including an execution unit that executes a Material Point Method (MPM) as the physical simulation using the optimization resolution and the optimization processing count. (13) The information processing system according to any one of (1) to (12), wherein the reception unit displays an input screen for receiving from a user the setting information indicating at least one of the number of resolution hierarchies, a maximum grid size, a definition of real-time processing, a definition of a first function for evaluating the resolution in each unit area, a definition of a second function for evaluating the processing time in each unit area, and a sensory perception of the video. (14) The information processing system according to (13), wherein the reception unit displays a graph and a calculation flow corresponding to a plurality of input values ​​as the input screen for receiving from the user the setting information indicating at least one of the definition of the first function and the definition of the second function. (15) The information processing system according to (13) or (14), wherein the reception unit displays, as the input screen for receiving from the user the setting information indicating at least one of the definition of the first function and the definition of the second function, an element to be prioritized as an output value that can be specified. (16) The information processing system according to any one of (13) to (15), wherein the reception unit displays the setting information indicating at least one of the definition of the first function and the definition of the second function from the user as the input screen, allowing the user to specify whether or not to set multiple input values.(17) The information processing system according to any one of (13) to (16), wherein the receiving unit displays a definition formula of a function as the input screen that receives the setting information indicating at least one of the definition of the first function and the definition of the second function from the user so that a definition formula of the function can be input. (18) An information processing method executed by an information processing system, the information processing method including: a receiving step of receiving setting information related to a physical simulation of an image, an acquiring step of acquiring object information related to an object included in the image, a first determination step of determining an optimized resolution as a resolution that optimizes a relationship with a processing time for one frame in each unit area including the object, based on the setting information and the object information, and a second determination step of determining an optimized processing count as the number of times one frame is processed in each unit area, based on the optimized resolution. (19) An information processing program that causes an information processing system to execute the following steps: a receiving step for receiving setting information related to a physical simulation of an image; an acquiring step for acquiring object information related to an object included in the image; a first determining step for determining an optimized resolution as a resolution that optimizes the relationship with the processing time of one frame in each unit area including the object based on the setting information and the object information; and a second determining step for determining an optimized processing count as the number of times one frame is processed in each unit area based on the optimized resolution.

[0181] 10 Engineer terminal 11 Input unit 12 Output unit 13 Communication unit 14 Storage unit 14a Setting information storage unit 14b Target information storage unit 14c First decision result storage unit 14d Second decision result storage unit 14e Simulation result storage unit 14f Generation result storage unit 15 Control unit 15a Reception unit 15b Acquisition unit 15c First decision unit 15d Second decision unit 15e Execution unit 15f Generation unit 20 Server device 100, 100M-1, 100M-2, 100M-3 Information processing system

Claims

1. An information processing system comprising: a receiving unit that receives setting information related to a physical simulation of an image; an acquiring unit that acquires object information related to an object included in the image; a first determining unit that determines an optimized resolution as a resolution that optimizes the relationship with the processing time of one frame in each unit area including the object based on the setting information and the object information; and a second determining unit that determines an optimized processing count as the number of times one frame is processed in each unit area based on the optimized resolution.

2. The information processing system of claim 1, wherein the first determination unit determines the optimized resolution using a first function that evaluates the resolution in each unit area and a second function that evaluates the processing time in each unit area.

3. The information processing system of claim 2, wherein the first determination unit determines the optimized resolution, which indicates the maximum resolution at which real-time processing of the video is possible, based on an optimization problem using the first function and the second function.

4. The information processing system according to claim 1, wherein the reception unit receives the setting information indicating the number of layers of resolution from a user.

5. The information processing system according to claim 1, wherein the reception unit receives the setting information indicating a definition of real-time processing of the video from a user.

6. The information processing system according to claim 1, wherein the reception unit receives the setting information indicating a definition of an optimization method from a user.

7. The information processing system according to claim 1, wherein the reception unit receives the setting information indicating the user's sensitivity to the video from the user.

8. The information processing system according to claim 1, wherein the acquisition unit acquires the object information indicating the physical properties of the object.

9. The information processing system according to claim 1, wherein the acquisition unit acquires the object information indicating a distance to a boundary surface of the object.

10. The information processing system according to claim 1, wherein the acquisition unit acquires the target information based on the physical simulations executed in the past.

11. The information processing system according to claim 1, wherein the second determination unit determines the number of optimization processes by calculating the minimum time step in each unit region using the CFL (Courant-Friedrichs-Lewy) condition and the optimization resolution.

12. The information processing system according to claim 1, further comprising an execution unit that executes MPM (Material Point Method) as the physical simulation using the optimized resolution and the number of optimization processes.

13. The information processing system of claim 1, wherein the reception unit displays an input screen that receives from a user the setting information indicating at least one of the number of resolution hierarchies, maximum grid size, definition of real-time processing, definition of a first function that evaluates the resolution in each unit area, definition of a second function that evaluates the processing time in each unit area, and the sensory perception of the video.

14. The information processing system of claim 13, wherein the reception unit displays a graph and a calculation flow corresponding to a plurality of input values ​​as the input screen for receiving the setting information indicating at least one of the definition of the first function and the definition of the second function from the user.

15. The information processing system of claim 13, wherein the reception unit displays the setting information indicating at least one of the definition of the first function and the definition of the second function from the user as the input screen, allowing the user to specify an element to be prioritized as an output value.

16. The information processing system of claim 13, wherein the reception unit displays the setting information indicating at least one of the definition of the first function and the definition of the second function from the user as the input screen, allowing the user to specify whether or not to set multiple input values.

17. The information processing system of claim 13, wherein the reception unit displays a function definition formula as the input screen that receives the setting information indicating at least one of the definition of the first function and the definition of the second function from the user, so that the definition formula of the function can be input.

18. An information processing method executed by an information processing system, comprising: a receiving step of receiving setting information related to a physical simulation of an image; an acquisition step of acquiring object information related to an object included in the image; a first determination step of determining an optimized resolution as a resolution that optimizes the relationship with the processing time for one frame in each unit area including the object based on the setting information and the object information; and a second determination step of determining an optimized processing count as the number of times one frame is processed in each unit area based on the optimized resolution.

19. An information processing program that causes an information processing system to execute the following steps: a receiving step for receiving setting information related to a physical simulation of an image; an acquisition step for acquiring object information related to an object included in the image; a first determination step for determining an optimized resolution as a resolution that optimizes the relationship with the processing time for one frame in each unit area including the object based on the setting information and the object information; and a second determination step for determining an optimized processing count as the number of times one frame is processed in each unit area based on the optimized resolution.

Citation Information

Patent Citations

  • Simulation device, simulation method, and program

    JP2020095400A

  • Adaptive material point method

    US20160210384A1

  • Real-time simulation using material point method on graphics processing units

    US20230281748A1

  • Information processing device, information processing method, and information processing program

    WO2024241832A1