Ultra-high-speed real-time image storage method, system and computer equipment

By introducing ultra-cache queues and multiple concurrency mechanisms in the image storage system, the problem that existing storage products cannot store the original image data of high-speed cameras is solved, and high-speed and lossless image data storage and flexible expansion capabilities are realized.

CN113065998BActive Publication Date: 2025-02-11MICROVIEW SCI & TECH +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110380632.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-08
Publication Date
2025-02-11
Estimated Expiration
2041-04-08

AI Technical Summary

Technical Problem

Existing industrial-grade storage products cannot effectively store the original image data of high-speed cameras, and the storage speed is not enough to meet the needs of high-end industrial and scientific research fields.

Method used

Adopt an ultra-high-speed real-time image storage system, which includes an image acquisition module, a data processing module, a data buffering module and a disk array. The image data is split and stored through the ultra-high-speed cache queue and multiple concurrency mechanism to achieve high-speed and lossless images Data storage.

Benefits of technology

It realizes high-speed and lossless storage of high-speed camera raw data, supports multiple concurrent storage, can dynamically expand storage bandwidth and capacity, adapt to different needs, and supports multiple export formats.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113065998B_ABST
    Figure CN113065998B_ABST
Patent Text Reader

Abstract

The present invention discloses an ultra-high-speed real-time image storage method, system and computer equipment, the system comprising: an image acquisition module, used to collect ultra-high-speed real-time image data; a data processing module, connected to the image acquisition module, used to split the ultra-high-speed real-time image data based on the ultra-high-speed buffer queue, send it to the data buffer module, and send the buffer queue data out according to a preset multi-channel concurrent mechanism; a data buffer module, connected to the data processing module, used to cache the ultra-high-speed buffer queue data; a disk array, connected to the data processing module, used to store the ultra-high-speed buffer queue data. The system can store the received ultra-high-speed real-time image data simultaneously through multiple channels, without the need for image compression, and can realize high-speed and lossless storage of ultra-high-speed real-time image data, and can store the original data of the high-speed camera.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data storage, and in particular to an ultra-high-speed real-time image storage method, system and computer equipment. Background Art

[0002] Currently, high-end industry and scientific research fields are extremely lacking in suitable high-speed storage software and hardware architectures. Existing consumer-grade storage products on the market are difficult to meet the storage speed requirements of high-end industry, scientific research and other fields. Existing industrial-grade storage products, because the original image data of current high-speed cameras is too large, and the storage speed of industrial-grade storage products is limited, so the stored data is very small and cannot store the original image data. Summary of the invention

[0003] In view of this, in order to overcome the defect that industrial-grade storage products in the prior art cannot store the original image data of high-speed cameras, the embodiments of the present invention provide an ultra-high-speed real-time image storage method, system and computer device.

[0004] According to a first aspect, an embodiment of the present invention provides an ultra-high-speed real-time image storage system, comprising: an image acquisition module, used to collect ultra-high-speed real-time image data; a data processing module, connected to the image acquisition module, used to split the ultra-high-speed real-time image data based on an ultra-high-speed cache queue, send it to a data buffer module, and send the buffer queue data out according to a preset multi-channel concurrent mechanism; a data buffer module, connected to the data processing module, used to cache the ultra-high-speed cache queue data; a disk array, connected to the data processing module, used to store the ultra-high-speed cache queue data.

[0005] Optionally, the ultra-high-speed real-time image storage system also includes: multiple image processing modules, each image processing module includes multiple graphics processors, each graphics processor is respectively connected to the image acquisition module, and the multiple image processing modules are used to process the ultra-high-speed real-time image data in parallel; a display module, which is respectively connected to the multiple graphics processors and is used to display the processed ultra-high-speed real-time image data in real time.

[0006] Optionally, the ultra-high-speed real-time image storage system also includes: a data playback module, which is connected to the disk array and multiple image processing modules respectively, for receiving playback instructions of ultra-high-speed real-time image data, reading the ultra-high-speed real-time image data in the disk array according to the instructions, and sending it to multiple image processing modules.

[0007] Optionally, the ultra-high-speed real-time image storage system further includes: a data export module connected to the disk array, configured to receive an export instruction for ultra-high-speed real-time image data, and export the ultra-high-speed real-time image data in the disk array according to the instruction.

[0008] Optionally, the disk array includes: mechanical hardware or a solid state hard disk.

[0009] According to the second aspect, an embodiment of the present invention provides an ultra-high-speed real-time image storage method, including: acquiring ultra-high-speed real-time image data; splitting the ultra-high-speed real-time image data to form ultra-high-speed buffer queue data; and sending the buffer queue data to a preset storage address according to a preset multi-channel concurrent mechanism.

[0010] Optionally, the ultra-high-speed real-time image storage method further includes: obtaining a data playback instruction; obtaining the ultra-high-speed real-time image data in a preset storage address according to the data playback instruction, and sending the ultra-high-speed real-time image data to multiple image processing modules.

[0011] Optionally, the ultra-high-speed real-time image storage method further includes: obtaining a data export instruction; and exporting the ultra-high-speed real-time image data in a preset storage address according to the data export instruction.

[0012] According to the third aspect, an embodiment of the present invention provides a computer device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by a processor, and the instructions are executed by the at least one processor so that the at least one processor executes the ultra-high-speed real-time image storage method as in the second aspect or any embodiment of the second aspect.

[0013] According to a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to execute the ultra-high-speed real-time image storage method in the second aspect or any embodiment of the second aspect.

[0014] The ultra-high-speed real-time image storage method, system and computer device provided by the embodiment of the present invention, because the data processing module can split the ultra-high-speed real-time image data based on the ultra-high-speed buffer queue, send it to the data buffer module, and send the buffer queue data out according to the preset multi-channel concurrent mechanism, the disk array is connected to the data processing module, and is used to store the ultra-high-speed buffer queue data, so that the received ultra-high-speed real-time image data can be stored simultaneously through multiple channels, and the image does not need to be compressed, so as to realize the high-speed and lossless storage of ultra-high-speed real-time image data, and can store the original data of the high-speed camera; and the ultra-high-speed real-time image storage system can access the ultra-high-speed bandwidth, can easily expand the storage bandwidth and capacity of the disk array, can dynamically configure the system architecture of software and hardware without changing the software, and the disk array can be migrated as a whole to other computers for data query and export, and supports a variety of general export formats, which is a loosely coupled software and hardware architecture system, and is convenient for replacing and upgrading software and hardware components. After testing, the ultra-high-speed real-time image storage system has a measured storage speed of up to 10GB / s (single PCIE channel), and can be connected to all specifications of high-speed cameras on the market through expansion. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0016] Figure 1 A structural block diagram of an ultra-high-speed real-time image storage system according to an embodiment of the present invention is shown;

[0017] Figure 2 A structural block diagram of another ultra-high-speed real-time image storage system according to an embodiment of the present invention is shown;

[0018] Figure 3 A data flow diagram of ultra-high-speed real-time image data according to an embodiment of the present invention is shown;

[0019] Figure 4 A structural diagram showing another ultra-high-speed real-time image storage system according to an embodiment of the present invention;

[0020] Figure 5 A schematic diagram showing a process flow of an ultra-high-speed real-time image storage method according to an embodiment of the present invention;

[0021] Figure 6 A structural block diagram of a computer device according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0022] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0023] The embodiment of the present invention provides an ultra-high-speed real-time image storage system, such as Figure 1 As shown, it includes: an image acquisition module 11, which is used to collect ultra-high-speed real-time image data; a data processing module 12, which is connected to the image acquisition module, and is used to split the ultra-high-speed real-time image data based on the ultra-high-speed buffer queue, send it to the data buffer module 13, and send the buffer queue data out according to a preset multi-channel concurrent mechanism; the data buffer module 13, which is connected to the data processing module 12, and is used to cache the ultra-high-speed buffer queue data; the disk array 14, which is connected to the data processing module 12, and is used to store the ultra-high-speed buffer queue data.

[0024] Specifically, the ultra-high-speed real-time image storage system adopts a software-hardware combination architecture to build a storage system. Under the conditions allowed by the ultra-high-speed real-time image storage system architecture, the storage bandwidth and capacity can be theoretically expanded infinitely. The core component of the software uses a memory-based ultra-high-speed buffer queue to buffer ultra-high-speed real-time image data to cope with sudden disk array speed drops and maintain a steady-state continuous write speed. The size of the buffer queue and the concurrency mechanism can be modified by the user through the configuration file to adapt to the memory (data buffer module 13) size of the current ultra-high-speed real-time image storage system and the performance of the data processing module 12. The core component of the hardware is a disk array 14 configured with concurrency.

[0025] The data processing module 12 can be a central processing unit (CPU). If the data processing module 12 supports it and the expansion slot allows it, it can be copied and expanded to form multiple sets of disk arrays 14, or the original storage device can be expanded and upgraded to a higher performance replacement without changing the software source code. Only corresponding modifications need to be made to the configuration file or user area parameters need to be switched.

[0026] The system does not limit the hardware material of the disk array 14 and is compatible with all storage devices of various specifications on the market. The storage performance that the disk array 14 can achieve can be evaluated through speed test software. The disk array is composed of replaceable single disk components, which are easy to replace in terms of physical composition. The interface of the disk array can be a PCI-E standard interface, so that it can be disassembled as a whole to another computer for data query, playback, etc.

[0027] In the case of ultra-high-speed camera acquisition bandwidth, when a single disk array 14 cannot meet the storage bandwidth requirement, multiple disk arrays of the same type can be expanded to achieve multi-channel concurrent split storage, thereby achieving secondary expansion of storage bandwidth and capacity.

[0028] The ultra-high-speed real-time image storage system provided by the embodiment of the present invention can split the ultra-high-speed real-time image data based on the ultra-high-speed buffer queue, send it to the data buffer module, and send the buffer queue data out according to the preset multi-channel concurrent mechanism. The disk array is connected to the data processing module and is used to store the ultra-high-speed buffer queue data, so that the received ultra-high-speed real-time image data can be stored simultaneously through multiple channels, and the image does not need to be compressed, so as to realize the high-speed and lossless storage of ultra-high-speed real-time image data, and the original data of the high-speed camera can be stored; and the ultra-high-speed real-time image storage system can access the ultra-high-speed bandwidth, can easily expand the storage bandwidth and capacity of the disk array, can dynamically configure the system architecture of software and hardware without changing the software, and the disk array can be migrated to other computers as a whole for data query and export, and supports a variety of general export formats. It is a loosely coupled software and hardware architecture system, which is convenient for replacing and upgrading software and hardware components. After testing, the ultra-high-speed real-time image storage system has a measured storage speed of up to 10GB / s (single high-speed serial computer expansion bus standard (PCIE) channel), and can access all specifications of high-speed cameras on the market through expansion.

[0029] In an optional embodiment, if Figure 2 As shown, the ultra-high-speed real-time image storage system also includes: multiple image processing modules 15, each image processing module 15 includes multiple graphics processors 151, each graphics processor 151 is respectively connected to the image acquisition module 11, and the multiple image processing modules 15 are used to process the ultra-high-speed real-time image data in parallel; a display module 16, which is respectively connected to the multiple graphics processors 151 and is used to display the processed ultra-high-speed real-time image data in real time.

[0030] Specifically, most mature image processing algorithms on computers generally consume a large amount of central processing unit (CPU) resources to achieve high image processing quality. Although the use of parallel acceleration methods on the CPU can reduce the algorithm running time, it is also achieved at the expense of the priority of other threads / processes and the preemption of CPU resources. High-speed and high-quality image processing on the CPU side will inevitably impact and interfere with the high-speed image storage thread, leading to derivative problems such as storage frame loss and display freeze.

[0031] In the embodiment of the present invention, the graphics processor may be a GPU, and the above-mentioned contradictions may be avoided by using a GPU architecture to perform image parallel processing.

[0032] The image data format of high-speed cameras is a two-dimensional pixel array, which is naturally suitable for parallel image acceleration processing. Figure 3 As shown, on the GPU side, the multi-concurrency + kernel function method can be used to concurrently perform the same process operation on each pixel point. For example, image processing module 0 can be configured to perform flat field correction on ultra-high-speed real-time image data, and image processing module 1 can be configured to remove bad pixels on ultra-high-speed real-time image data, etc. In each image processing module, multiple GPUs can be used for parallel processing. Therefore, the execution time of image processing on the GPU side ≈ the execution time of image processing on the CPU side / the number of concurrent threads; and the GPU code runs independently of the CPU, and will not occupy CPU resources to affect the storage of high-speed images. The entire system can ensure extremely high stability and ultra-low latency real-time image playback. In addition, when the image processing performance of a single GPU is insufficient, multiple GPU cards can be expanded to expand performance. There is no need to change the software source code, only the configuration file needs to be modified accordingly.

[0033] In the embodiment of the present invention, a GPU is used to perform color correction and other processing on ultra-high-speed real-time image data, which reduces the resource occupation and impact on the CPU, can avoid the impact on real-time high-speed data storage to the greatest extent and ensure ultra-low latency real-time image display. The image processing part is designed with a modular structure, and the configuration function is simple and easy to operate. Various modular functions can be switched on and off through a configuration file without recompiling the source code and replacing the running program or dynamic library.

[0034] In an optional embodiment, if Figure 4 As shown, the ultra-high-speed real-time image storage system also includes: a data playback module 17, which is connected to the disk array 14 and multiple image processing modules 15 respectively, and is used to receive playback instructions for ultra-high-speed real-time image data, read the ultra-high-speed real-time image data in the disk array 14 according to the instructions, and send it to multiple image processing modules 15.

[0035] Specifically, the ultra-high-speed real-time image data is stored in the disk array 14 in a lossless manner. The ultra-high-speed real-time image data can be read from the disk array 14 and sent to multiple image processing modules 15 for processing, and the ultra-high-speed real-time image data for playback can be displayed on the display. The display processing part of the ultra-high-speed real-time image and playback image can enable and disable specific image processing function modules through the configuration file. The entire disk array 14 can be disassembled from the current system as a whole. Since the interface is a standard PCI-E interface, it can be easily installed on other computers for playback, and the data does not need to be configured or converted again.

[0036] In an optional embodiment, if Figure 4As shown, the ultra-high-speed real-time image storage system also includes: a data export module 18, which is connected to the disk array 14 and is used to receive an export instruction for ultra-high-speed real-time image data and export the ultra-high-speed real-time image data in the disk array 14 according to the instruction.

[0037] Specifically, the system stores completely lossless original data, and all data can be exported through the data export module 18. The exportable format supports multiple common video and image formats such as MP4 / JPG / BMP.

[0038] In an optional embodiment, the disk array 14 is preferably mechanical hardware or a solid state hard disk.

[0039] The embodiment of the present invention also provides an ultra-high-speed real-time image storage method, such as Figure 5 As shown, including:

[0040] S101. Acquire ultra-high-speed real-time image data.

[0041] S102. Split the ultra-high-speed real-time image data to form ultra-high-speed buffer queue data; specifically, using the ultra-high-speed buffer queue to buffer the ultra-high-speed real-time image data can cope with sudden disk array speed drops and maintain a steady continuous write speed. The size of the buffer queue can be modified by the user through the configuration file to adapt to the memory size of the current ultra-high-speed real-time image storage system and the performance of the data processing module.

[0042] S103. Send the buffer queue data to the preset storage address according to the preset multi-channel concurrent mechanism. Specifically, the multi-channel concurrent mechanism can be adapted to the memory size and data processing module performance of the current ultra-high-speed real-time image storage system through user modification of the configuration file.

[0043] The ultra-high-speed real-time image storage method provided by the embodiment of the present invention splits the ultra-high-speed real-time image data based on the ultra-high-speed buffer queue, and sends the buffer queue data to the preset storage address according to the preset multi-channel concurrent mechanism. Therefore, the received ultra-high-speed real-time image data can be stored simultaneously through multiple channels without image compression, thereby realizing high-speed and lossless storage of ultra-high-speed real-time image data, and can store the original data of the high-speed camera.

[0044] In an optional embodiment, the ultra-high-speed real-time image storage method further includes: obtaining a data playback instruction; obtaining the ultra-high-speed real-time image data in a preset storage address according to the data playback instruction, and sending the ultra-high-speed real-time image data to multiple image processing modules.

[0045] Specifically, the ultra-high-speed real-time image data is stored in a disk array in a lossless manner, and the ultra-high-speed real-time image data can be read from the disk array and sent to multiple image processing modules for processing, and then the ultra-high-speed real-time image data for playback can be displayed. The display processing part of the ultra-high-speed real-time image and playback image can enable and disable specific image processing function modules through configuration files.

[0046] In an optional embodiment, the ultra-high-speed real-time image storage method further includes: obtaining a data export instruction; and exporting the ultra-high-speed real-time image data in a preset storage address according to the data export instruction.

[0047] Specifically, the disk array stores completely lossless original data, and all data can be exported. The exportable format supports multiple common video and image formats such as MP4 / JPG / BMP.

[0048] The embodiment of the present invention also provides a computer device, such as Figure 6 As shown, it includes: a processor 31 and a memory 32, wherein the processor 31 and the memory 32 can be connected via a bus or other means. Figure 6 The example of connecting through bus is taken in the following.

[0049] The processor 31 may be a central processing unit (CPU). The processor 31 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination of the above chips.

[0050] The memory 32 is a non-transitory computer-readable storage medium that can be used to store non-transitory software programs, non-transitory computer executable programs and modules, such as program instructions / modules corresponding to the ultra-high-speed real-time image storage method in the embodiment of the present invention. The processor 31 executes various functional applications and data processing of the processor by running the non-transitory software programs, instructions and modules stored in the memory 32, that is, the ultra-high-speed real-time image storage method in the above method embodiment is implemented.

[0051] The memory 32 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and applications required for at least one function; the data storage area may store data created by the processor 31, etc. In addition, the memory 32 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage devices. In some embodiments, the memory 32 may optionally include a memory remotely arranged relative to the processor 31, and these remote memories may be connected to the processor 31 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0052] The above one or more modules are stored in the memory 32, and when executed by the processor 31, the following is performed: Figure 5 The ultra-high-speed real-time image storage method in the illustrated embodiment.

[0053] For details of the above computer equipment, please refer to Figure 5 The corresponding related descriptions and effects in the illustrated embodiments can be understood and will not be repeated here.

[0054] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the storage medium can be a disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD), etc.; the storage medium can also include a combination of the above-mentioned types of memory.

[0055] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. An ultra-high-speed real-time image storage system, characterized in that: include: Image acquisition module, used to collect ultra-high-speed real-time image data; A data processing module, connected to the image acquisition module, for splitting the ultra-high-speed real-time image data based on the ultra-high-speed buffer queue, sending the data to the data buffer module, and sending the buffer queue data out according to a preset multi-channel concurrent mechanism; A data buffer module, connected to the data processing module, for caching ultra-high-speed buffer queue data; A disk array, connected to the data processing module, for storing the ultra-high-speed cache queue data; A plurality of image processing modules, each of which includes a plurality of graphics processors, each of which is connected to the image acquisition module, and the plurality of image processing modules are used to process the ultra-high-speed real-time image data in parallel; The graphics processor is a GPU, which uses a GPU architecture to perform image parallel processing; The system further comprises: A display module, connected to the plurality of graphics processors respectively, for displaying the processed ultra-high-speed real-time image data in real time; The data playback module is connected to the disk array and the multiple image processing modules respectively, and is used to receive playback instructions for ultra-high-speed real-time image data, read the ultra-high-speed real-time image data in the disk array according to the instructions, and send it to the multiple image processing modules, so that the image processing modules process the ultra-high-speed real-time image data and display the played back ultra-high-speed real-time image data on the display.

2. The ultra-high-speed real-time image storage system according to claim 1, characterized in that: Also includes: The data export module is connected to the disk array and is used to receive an export instruction of ultra-high-speed real-time image data and export the ultra-high-speed real-time image data in the disk array according to the instruction.

3. The ultra-high-speed real-time image storage system according to claim 1, characterized in that: The disk array includes: mechanical hardware or solid state hard disk.

4. An ultra-high-speed real-time image storage method, characterized in that: Applied to a GPU, the GPU processes data images in parallel, and the method comprises: Acquire ultra-high-speed real-time image data; Splitting the ultra-high-speed real-time image data to form ultra-high-speed buffer queue data; Sending the buffer queue data to a preset storage address according to a preset multi-channel concurrent mechanism; The method further comprises: Get data playback instructions; The ultra-high-speed real-time image data in the preset storage address is obtained according to the data playback instruction, and the ultra-high-speed real-time image data is sent to multiple image processing modules so that the image processing modules process the ultra-high-speed real-time image data and display the replayed ultra-high-speed real-time image data on the display.

5. The ultra-high-speed real-time image storage method according to claim 4, characterized in that: Also includes: Get data export instructions; The ultra-high-speed real-time image data in the preset storage address is exported according to the data export instruction.

6. A computer device, characterized in that: include: at least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the one processor, and the instructions are executed by the at least one processor so that the at least one processor executes the ultra-high-speed real-time image storage method as described in claim 4 or 5.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the ultra-high-speed real-time image storage method according to claim 4 or 5.

Citation Information

Patent Citations

  • High-speed image collection and real-time storage system

    CN103516987A

  • Memory Cache Management for Graphics Processing

    CN110554976A