Collaborative simulation image generation system and method
By designing a collaborative simulation image generation system, the coordinated work of the controller, simulation image generator and cache unit is used to solve the problem of space-time and space-time inconsistency between image generation and transmission in multi-entity collaborative detection scenarios, and the development of multi-entity collaborative simulation technology and equipment preparation development are realized.
Patent Information
- Application Number
- CN202411693410.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-03-18
AI Technical Summary
In the simulation of multi-entity collaborative detection scenarios, the image generation and transmission have problems such as uncontrolled update rates and large fluctuations in time and time consumption, resulting in inconsistent time and space between feature elements of multiple detection devices sharing target scenes.
A collaborative simulation image generation system is designed, including a controller, multiple simulation image generators and cache units. Through a collaborative controller, multiple simulation image generators are scheduled to generate multiple scene images at the same time, and synchronous output is realized through the cache unit to ensure that the image generation is controllable and stable in real time.
Real-time controllable and stable time interval transmission of digital images in multi-entity collaborative detection scenarios is realized, the problem of synchronous configuration of multi-entity collaborative detection scenario simulation is solved, and the development of multi-entity collaborative simulation technology and equipment combat preparation development is promoted.
Smart Images

Figure CN119648826A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of semi-physical simulation, and more specifically, to a collaborative simulation image generation system and method. Background Art
[0002] At present, scene digital image generation is a key link in the semi-physical simulation system of optical guidance control. The data image generation and transmission mechanism based on commercial GPU has the problem that the update rate is not controlled by the exposure signal of the seeker, and the image generation and transmission time is fluctuating. In the simulation verification of complex combat scenarios such as multi-entity collaborative detection, it will lead to time and space inconsistency of the characteristic elements of the target scene shared by multiple detection devices. Therefore, it is necessary to carry out research on parallel real-time synchronous image generation based on FPGA, image data generation and transmission integration, and collaborative digital image synchronous generation and transmission methods, so as to realize real-time controllable digital image generation and stable time interval transmission, solve the problem of synchronous construction of multi-entity collaborative detection scene simulation, meet the needs of digital image generation for multi-entity collaborative detection scene simulation, effectively accelerate the development of multi-entity collaborative simulation technology, and support the development of multi-entity collaborative equipment combat readiness. Summary of the invention
[0003] An object of the present invention is to provide a collaborative simulation image generation system and method to solve at least one of the problems existing in the prior art.
[0004] In order to achieve the above object, the present invention adopts the following technical solutions:
[0005] A first aspect of the present invention provides a collaborative simulation image generation system, comprising:
[0006] A controller, a plurality of simulation image generators, and a cache unit;
[0007] The controller is used to generate a scene image generation instruction according to a user instruction;
[0008] The simulation image generator is used to generate a scene image according to the scene image generation instruction;
[0009] The cache unit includes a plurality of cache frames; the cache frames are used to cache the scene image.
[0010] Optionally, the system further comprises a collaborative controller, wherein the collaborative controller is configured to obtain a plurality of scene image generation instructions according to the scene image collaborative generation instructions issued by the controller, and schedule a plurality of simulation image generators to simultaneously generate a plurality of scene graphics.
[0011] Optionally, the scene image generation instruction includes a drawing instruction and a background generation instruction;
[0012] The simulation image generator includes a graphics generation unit, a background generation unit, and a superposition output unit; wherein,
[0013] The graphics generation unit is used to generate dynamic graphics according to the drawing instructions;
[0014] The background generation unit is used to generate a static background according to the background generation instruction;
[0015] The superposition output unit is used to fuse and superimpose the dynamic graphics and the static background to generate a scene image;
[0016] The cache unit is also used to cache dynamic graphics and static backgrounds.
[0017] Optionally, the graphics generation unit includes
[0018] A graphics drawing module, used for drawing dynamic graphics according to the drawing instructions;
[0019] The graphic transformation module is used to move, scale, rotate, mirror or adjust the brightness of the dynamic graphic.
[0020] Optionally, the graphics drawing module includes
[0021] The graphics scan conversion submodule includes at least one graphics generation component.
[0022] The graphics generation component is used to calculate the coordinates and color data of each pixel point of the graphics to be drawn through an anti-aliasing algorithm according to the drawing instructions; and to draw dynamic graphics through point scanning according to the coordinates and color data of each pixel point;
[0023] The reconstruction control submodule is used to dynamically allocate the graphics generation components in the graphics scan conversion submodule according to user needs.
[0024] Optionally, the background generation unit includes
[0025] A scene drawing module, used for generating a static background according to the background generation instruction;
[0026] The scene transformation module is used to perform scaling and rotation operations on the static background.
[0027] Optionally, the superposition output unit includes
[0028] An adjustment module, used for adjusting the brightness or contrast of the dynamic graphics according to the brightness or contrast of the static background;
[0029] A graphics and background fusion calculation module is used to obtain the grayscale value and interpolation coefficient of the dynamic graphics and the grayscale value of the static background, and select the background fusion calculation formula to calculate according to the highest bit of the interpolation coefficient corresponding to the pixel points where the static background and the dynamic graphics overlap, so as to obtain a scene image;
[0030] The superposition judgment module is used to judge whether the dynamic graphics and the static background can be superimposed and outputted. If they cannot be superimposed and outputted, the static background and the dynamic graphics are outputted to the cache unit respectively.
[0031] Optionally, the graphics drawing module further includes a parallel graphics generation scheduling submodule,
[0032] The parallel graphics generation scheduling submodule is used to enable multiple dynamic graphics components in the graphics scan conversion submodule to simultaneously generate multiple dynamic graphics according to the drawing instructions; the dynamic graphics include points, straight lines, circles, arcs, multi-line width triangles, filled triangles, filled rectangles, filled circles and filled primitives.
[0033] Optionally, the cache unit further includes
[0034] Direct result buffer, used to store data not related to the static background;
[0035] Interpolation result buffer, used to cache scene images;
[0036] The fill result buffer is used to cache fill graphics and primitives in dynamic graphics.
[0037] A second aspect of the present invention provides a collaborative simulation image generation method using a collaborative simulation image generation system based on FPGA, characterized in that it includes:
[0038] In response to a user instruction, the controller generates a scene image generation instruction;
[0039] In response to the scene image generation instruction, the simulation image generator generates dynamic graphics and static background according to the scene image generation instruction, and fuses and superimposes the dynamic graphics and the static background to generate a scene image; the cache unit caches the scene image.
[0040] The beneficial effects of the present invention are as follows:
[0041] The present invention designs a graphics generation unit including a reconstruction control submodule, which improves the efficiency of dynamic graphics generation and the fusion of dynamic graphics and static background; in the graphics generation process, a basic two-dimensional graphics anti-aliasing processing method is designed to achieve fast generation of straight lines, circles, polygon filling, primitives, etc., and store them in the cache of FPGA through a cache unit. After the static background generation is scaled and the video is rotated, it is overall superimposed with the dynamic graphics to generate a scene image. The present invention realizes the real-time generation of multi-channel synchronous scene images through the collaboration of multiple simulation image generators, which promotes or supports the development of multi-entity equipment. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] The specific implementation modes of the present invention are further described in detail below in conjunction with the accompanying drawings.
[0043] Figure 1 A schematic diagram of a collaborative simulation image generation system of the present invention is shown.
[0044] Figure 2 A schematic diagram of a graphics generation unit in one embodiment of the present invention is shown.
[0045] Figure 3 A schematic diagram of a graphics drawing module in one embodiment of the present invention is shown.
[0046] Figure 4 A block diagram showing synchronous generation of scene images in one embodiment of the present invention. DETAILED DESCRIPTION
[0047] In order to explain the present invention more clearly, the present invention is further described below in conjunction with embodiments and drawings. Similar components in the drawings are represented by the same reference numerals. It should be understood by those skilled in the art that the content specifically described below is illustrative rather than restrictive, and the protection scope of the present invention should not be limited thereto.
[0048] like Figure 1 As shown, a collaborative simulation image generation system includes:
[0049] A controller, a plurality of simulation image generators, and a cache unit;
[0050] A controller, used for generating a scene image generation instruction according to a user instruction;
[0051] A simulation image generator, used for generating a scene image according to a scene image generation instruction;
[0052] The cache unit includes a plurality of cache frames; the cache frames are used to cache the scene images.
[0053] The scene image generation instructions include drawing instructions and background generation instructions;
[0054] The simulation image generator includes a graphics generation unit, a background generation unit, and a superposition output unit; wherein,
[0055] A graphics generation unit, used for generating dynamic graphics according to drawing instructions;
[0056] A background generation unit, used for generating a static background according to a background generation instruction;
[0057] A superposition output unit, used for fusing and superimposing dynamic graphics and static background to generate a scene image;
[0058] The cache unit is also used to cache dynamic graphics and static backgrounds.
[0059] Specifically, the graphics generation unit generates dynamic graphics such as straight lines, circles, polygon filling, and primitives according to the video data and drawing instructions given by the controller, while considering the anti-aliasing processing of two-dimensional graphics, and finally stores them through the cache unit. The background generation unit generates a static background according to the background generation instructions given by the controller; it can also perform operations such as scaling and rotating the scene image. The overlay output unit fuses the dynamic graphics and the static background to generate a complete scene image. The cache unit includes N cache frames, such as Figure 1 The cache frames shown are cache frame 1, cache frame 2, cache frame 3, ... cache frame N; the cache frames are used to cache the scene images output by the overlay output unit in the simulation image generator.
[0060] In one embodiment, the background generation unit includes
[0061] A scene drawing module, used for generating a static background according to the background generation instruction;
[0062] The scene transformation module is used to perform scaling and rotation operations on the static background.
[0063] In one embodiment, the superposition output unit includes
[0064] An adjustment module, used for adjusting the brightness or contrast of the dynamic graphics according to the brightness or contrast of the static background;
[0065] A graphics and background fusion calculation module is used to obtain the grayscale value and interpolation coefficient of the dynamic graphics and the grayscale value of the static background, and select the background fusion calculation formula to calculate according to the highest bit of the interpolation coefficient corresponding to the pixel points where the static background and the dynamic graphics overlap, so as to obtain a scene image;
[0066] The superposition judgment module is used to judge whether the dynamic graphics and the static background can be superimposed and outputted. If they cannot be superimposed and outputted, the static background and the dynamic graphics are outputted to the cache unit respectively.
[0067] In one embodiment, Figure 2As shown, the graphics generation unit includes
[0068] A graphics drawing module, used for drawing dynamic graphics according to the drawing instructions;
[0069] The graphic transformation module is used to move, scale, rotate, mirror or adjust the brightness of the dynamic graphic.
[0070] Specific, for example Figure 2 As shown, after the graphics are drawn successfully, the graphics are rotated in the graphics transformation module. After the primitives are drawn successfully, the graphics are rotated in the graphics transformation module. After the primitives and graphics are rotated, the occluded area is displayed in the window, small-angle rotation is performed, translation, inversion, mirroring, special angle rotation and brightness adjustment are performed in sequence. After the dynamic graphics are generated and subjected to graphics operations such as moving, scaling, rotating or mirroring, the initial brightness of the graphics is pre-adjusted to make it easier to integrate with the background; then the grayscale value and interpolation coefficient of the dynamic graphics and the grayscale value of the static background are obtained, and the background fusion calculation formula is selected according to the highest bit of the interpolation coefficient corresponding to the pixel points where the static background and the dynamic graphics overlap to obtain the scene image.
[0071] In one embodiment, Figure 3 As shown, the graphics drawing module includes
[0072] The graphics scan conversion submodule includes at least one graphics generation component.
[0073] The graphics generation component is used to calculate the coordinates and color data of each pixel point of the graphics to be drawn through an anti-aliasing algorithm according to the drawing instructions; and to draw dynamic graphics through point scanning according to the coordinates and color data of each pixel point;
[0074] The reconstruction control submodule is used to dynamically allocate the graphics generation components in the graphics scan conversion submodule according to user needs.
[0075] The graphics drawing module also includes a parallel graphics generation scheduling submodule.
[0076] The parallel graphics generation scheduling submodule is used to enable the graphics scanning conversion submodule to simultaneously generate multiple dynamic graphics according to the drawing instructions; the dynamic graphics include points, straight lines, circles, arcs, multi-line width triangles, filled triangles, filled rectangles, filled circles and filled primitives.
[0077] Specifically, the graphics drawing module includes three parts: graphics scan conversion, cache and reconfigurable control. First, according to the graphics drawing information parsed from the drawing instructions issued by the controller, the corresponding graphics generation components in the graphics scan conversion submodule are called to draw the required dynamic graphics; the coordinates and color data of each point of the graphics are calculated through the anti-aliasing algorithm, and then stored in the intermediate cache submodule waiting to be written to the third-generation DDR (Double Data Rate SDRAM, double-speed synchronous dynamic random access memory), referred to as DDR3. Taking the drawing of a hollow circle as an example, the instruction gives the information of the circle's center, radius, line width, color, and whether it is anti-aliased, and then calls the graphics scan conversion submodule to calculate the coordinates and color values of each pixel on the circle, and stores them in the corresponding BRAM cache, and finally writes to DDR3. The reconfigurable control part constructs the graphics scan conversion area into a partially reconfigurable area, and replaces or deploys graphics generation components of different sizes according to scene requirements, so that the adaptability and extensibility of the graphics drawing module are significantly enhanced, such as Figure 3 As shown, the graphics generation components include point generation components, line generation components, circle generation components, arc generation components, multi-line width triangle generation components, filled triangle generation components, filled rectangle generation components, filled circle generation components and filled primitive generation components. Specifically, when the graphics to be drawn are all circles, components for drawing circles are generated, which has high parallelism and high speed; when the graphics to be drawn have circles and squares, components for drawing half circles and half squares are generated. Resources are limited, and different configurations have different efficiencies.
[0078] In one embodiment, Figure 3 As shown, the cache unit also includes
[0079] Direct result buffer, used to store data not related to the static background;
[0080] Interpolation result buffer, used to cache scene image data;
[0081] The fill result buffer is used to cache fill graphics and primitives in dynamic graphics.
[0082] Specifically, the direct result buffer caches data that is directly output to DDR3 and has nothing to do with the background. Including: points, oblique lines, circles without anti-aliasing; middle points of anti-aliased oblique lines, vertical lines, etc.; the direct result buffer is implemented by the FIFO inside the FPGA. The interpolation result buffer caches data that uses a static background for interpolation correction, including the drawing of anti-aliased graphics such as straight lines, circles and arcs, and the calculation results of background fusion; the direct result buffer is implemented by the DDR3 controlled by the FPGA. Filling result buffer: used to fill the cache of graphics and special graphics. Such graphics can be pre-generated and stored for subsequent calls, so the FPGA internal SRAM storage unit and the DDR3 controlled by the FPGA are used to implement it together. The data types of the present invention are divided into a direct result buffer, an interpolation result buffer, and a filling result buffer; wherein the interpolation result buffer uses a three-frame rotation method to cache data; the first frame storage is used for display, the second frame storage is used for writing a new picture, and the third frame storage is specifically used for blanking. This structure completely eliminates the time consumption caused by blanking and eliminates the mutual influence between image generation and image display.
[0083] In one embodiment, Figure 4 As shown, a collaborative simulation image generation system also includes a collaborative controller, which is used to obtain multiple scene image generation instructions based on the scene image collaborative generation instructions issued by the controller, and schedule multiple simulation image generators to simultaneously generate multiple scene images; the multiple scene images are respectively cached in the cache frames of the cache unit, and the cache unit synchronously outputs the scene images.
[0084] In one embodiment, a collaborative simulation image generation method using a collaborative simulation image generation system includes:
[0085] In response to a user instruction, the controller generates a scene image generation instruction;
[0086] In response to the scene image generation instruction, the simulation image generator generates a scene image according to the scene image generation instruction; and the cache unit caches the scene image.
[0087] In one embodiment, a collaborative simulation image generation system is a collaborative simulation image real-time generation hardware architecture with FPGA as the core. The architecture is deployed on a graphics generation and transmission integrated single board with FPGA as the core, including a graphics generation unit, a scene generation unit, an overlay output unit and a cache unit; the FPGA parallel computing processing capability is used to realize image generation task allocation and scheduling, and dynamic loading of the graphics generation unit and the graphics transformation module set is used to provide support for multiple simulation image scenes, thereby realizing high-efficiency collaborative image generation.
[0088] In one embodiment, the graphics generation and video processing display system technology includes graphics generation, scene processing and superposition output. Among them, the graphics generation unit calculates the coordinates of the pixel points that need to be drawn by anti-aliasing algorithm, draws by point scanning, and obtains dynamic graphics; for example, the generation and anti-aliasing of arcs, fills, etc. are realized; the scene drawing module generates a static background according to the background generation instruction; the scene transformation module performs scaling and rotation operations on the static background. The superposition output unit superimposes the static background and the dynamic graphics as a whole and outputs the scene image.
[0089] The present invention designs a hardware architecture for real-time generation of collaborative simulation images with FPGA as the core. The architecture is deployed on a graphics generation and transmission integrated single board with FPGA as the core, and is composed of modules such as graphics generation, background generation, and cache management. While studying the anti-aliasing processing of basic two-dimensional graphics, the graphics generation module realizes the rapid generation of straight lines, circles, polygon fillings, primitives, etc., and stores them in DDR3 through a cache unit. After the scene generation is scaled and the video is rotated, the scene image (video frame) is generated after being superimposed with the overall graphics generation unit. DDR3 storage management is used to achieve high-speed reading and writing of videos and graphics, and can solve data storage conflicts. This module can generate multiple scene images at the same time, and multi-channel synchronous scene image generation can be achieved through synchronous collaboration. The present invention effectively solves the problems of multi-channel digital image generation, poor update synchronization performance, and large fluctuations in image generation and transmission time consumption in traditional GPU-based scene digital image generation methods, and provides technical support for high-performance, task-oriented, scalable and effective collaborative image generation platforms for multi-entity collaborative image generation.
[0090] In the description of the present invention, it should be noted that the terms "upper", "lower", etc. indicate positions or positional relationships based on the positions or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific position, be constructed and operated in a specific position, and therefore cannot be understood as a limitation on the present invention. Unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances.
[0091] It should also be noted that, in the description of the present invention, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
[0092] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not limitations on the embodiments of the present invention. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is impossible to list all the embodiments here. All obvious changes or modifications derived from the technical solution of the present invention are still within the protection scope of the present invention.
Claims
1. A collaborative simulation image generation system, characterized in that: include: A controller, a plurality of simulation image generators, and a cache unit; The controller is used to generate a scene image generation instruction according to a user instruction; The simulation image generator is used to generate a scene image according to the scene image generation instruction; The cache unit includes a plurality of cache frames; The cache frame is used to cache the scene image.
2. The system according to claim 1, characterized in that The system also includes a collaborative controller, which is used to obtain multiple scene image generation instructions according to the scene image collaborative generation instructions issued by the controller, and schedule multiple simulation image generators to simultaneously generate multiple scene graphics.
3. The system according to claim 1, characterized in that The scene image generation instructions include drawing instructions and background generation instructions; The simulation image generator includes a graphics generation unit, a background generation unit, and a superposition output unit; wherein, The graphics generation unit is used to generate dynamic graphics according to the drawing instructions; The background generation unit is used to generate a static background according to the background generation instruction; The superposition output unit is used to fuse and superimpose the dynamic graphics and the static background to generate a scene image; The cache unit is also used to cache dynamic graphics and static backgrounds.
4. The system according to claim 3, characterized in that The graphics generation unit includes A graphics drawing module, used for drawing dynamic graphics according to the drawing instructions; The graphic transformation module is used to move, scale, rotate, mirror or adjust the brightness of the dynamic graphic.
5. The system according to claim 4, characterized in that The graphics drawing module includes The graphics scan conversion submodule includes at least one graphics generation component. The graphics generation component is used to calculate the coordinates and color data of each pixel point of the graphics to be drawn through an anti-aliasing algorithm according to the drawing instructions; and to draw dynamic graphics through point scanning according to the coordinates and color data of each pixel point; The reconstruction control submodule is used to dynamically allocate the graphics generation components in the graphics scan conversion submodule according to user needs.
6. The system according to claim 3, characterized in that The background generation unit includes A scene drawing module, used for generating a static background according to the background generation instruction; The scene transformation module is used to perform scaling and rotation operations on the static background.
7. The system according to claim 4, characterized in that The superposition output unit includes An adjustment module, used for adjusting the brightness or contrast of the dynamic graphics according to the brightness or contrast of the static background; A graphics and background fusion calculation module is used to obtain the grayscale value and interpolation coefficient of the dynamic graphics and the grayscale value of the static background, and select the background fusion calculation formula to calculate according to the highest bit of the interpolation coefficient corresponding to the pixel points where the static background and the dynamic graphics overlap, so as to obtain a scene image; The superposition judgment module is used to judge whether the dynamic graphics and the static background can be superimposed and outputted. If they cannot be superimposed and outputted, the static background and the dynamic graphics are outputted to the cache unit respectively.
8. The system according to claim 7, characterized in that The graphics drawing module also includes a parallel graphics generation scheduling submodule, The parallel graphics generation scheduling submodule is used to enable multiple dynamic graphics components in the graphics scan conversion submodule to simultaneously generate multiple dynamic graphics according to the drawing instructions; the dynamic graphics include points, straight lines, circles, arcs, multi-line width triangles, filled triangles, filled rectangles, filled circles and filled primitives.
9. The system according to claim 8, characterized in that The cache unit also includes Direct result buffer, used to store data not related to the static background; Interpolation result buffer, used to cache scene images; The fill result buffer is used to cache fill graphics and primitives in dynamic graphics.
10. A method for using the FPGA-based collaborative simulation image generation system according to any one of claims 1 to 9, characterized in that: include: In response to a user instruction, the controller generates a scene image generation instruction; In response to the scene image generation instruction, the simulation image generator generates dynamic graphics and static background according to the scene image generation instruction, and fuses and superimposes the dynamic graphics and the static background to generate a scene image; the cache unit caches the scene image.