Visualization method and device of time sequence signal, equipment and storage medium

By introducing a two-dimensional circular memory buffer and a local column update mechanism into the visualization of time-series signals, the problems of memory overflow and rendering latency for high-throughput time-series signals are solved, achieving efficient and smooth waveform display under limited resources, which is suitable for real-time data processing in fields such as medical monitoring and industrial control.

CN121879696APending Publication Date: 2026-04-17JIANGSU NAOYI TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
JIANGSU NAOYI TECHNOLOGY CO LTD
Filing Date
2025-11-25
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing time-series signal visualization technologies are prone to memory overflow and interface lag when dealing with high-throughput, multi-channel, and high-sampling-rate data. They cannot achieve smooth real-time interaction and dynamic scaling, and frequent cache switching causes rendering delays and data gaps, affecting user experience.

Method used

It adopts a two-dimensional circular memory buffer and a local column update mechanism. By pre-allocating a circular memory buffer for multi-channel timing signals, a mapping relationship between the time axis and the display canvas is established. The pointer marks the column to be refreshed and performs local updates along the time axis after receiving data, thus achieving infinite loop coverage and zero-copy rendering.

Benefits of technology

Real-time display of high-throughput timing signals was achieved on devices with limited computing resources, reducing memory usage and rendering latency, improving user experience, and ensuring the continuity and real-time response capability of waveform display.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121879696A_ABST
    Figure CN121879696A_ABST
Patent Text Reader

Abstract

The invention discloses a time sequence signal visualization method and device, equipment and a storage medium. Comprising the steps that a two-dimensional annular memory buffer area is pre-allocated for a to-be-displayed multi-channel time sequence signal, the first dimension corresponds to the number of channels, and the second dimension corresponds to a time axis; establishing a mapping relation between the time axis and a transverse pixel column of the display canvas, and marking a current to-be-refreshed column with a pointer; after to-be-refreshed data is received, the pointer advances by one or more pixel columns along a time axis, and waveform data of a single-column pixel pointed by the current pointer is updated each time; whether the pointer reaches the tail end of the display canvas or not is judged, and if yes, the pointer is rewound to a starting point; and if not, keeping the current pointer position, and waiting for the next refresh signal. The method provided by the embodiment of the invention is used for displaying the time sequence signal in real time on a device or a display screen with limited computing resources in a high-throughput and low-memory-occupancy manner, and the rendering refresh rate can meet the dynamic display requirement of a high-sampling-rate signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of signal visualization technology, and more specifically, to a method, apparatus, device, and storage medium for visualizing time-series signals. Background Technology

[0002] With the continuous improvement of sensor acquisition accuracy and sampling frequency, modern signal processing systems face the demand for real-time visualization and analysis of massive amounts of time-series data. In the fields of bioelectrical signal analysis such as electroencephalography (EEG), electromyography (EMG), and electrocardiography (ECG), as well as in scenarios such as industrial inspection, communication monitoring, and intelligent manufacturing, a single acquisition task often involves hundreds to thousands of channels, with each channel containing millions of data points. Such high-throughput data places extremely high demands on the real-time rendering performance and memory management of visualization systems.

[0003] Existing time-series signal visualization techniques typically rely on two approaches: one loads the complete data into memory and renders it uniformly; the other uses window sliding or pagination to limit the display length and reduce computational burden. However, the former is prone to memory overflow and UI lag when dealing with large volumes of multi-channel, high-sampling-rate data. While the latter reduces system load to some extent, it cannot achieve smooth real-time interaction and dynamic scaling, and frequent cache switching causes rendering latency and data gaps, severely impacting user experience. Summary of the Invention

[0004] This application provides a method, apparatus, device, and storage medium for visualizing timing signals, used to display timing signals in real time on devices or displays with limited computing resources in a high-throughput, low-memory-occupancy manner.

[0005] According to one aspect of the embodiments of this application, a method for visualizing time-series signals is provided, comprising: A two-dimensional circular memory buffer is pre-allocated for the multi-channel timing signals to be displayed, wherein the first dimension corresponds to the number of channels and the second dimension corresponds to the time axis; Establish a mapping relationship between the timeline and the horizontal pixel columns of the display canvas, and mark the column to be refreshed with a pointer; After receiving the data to be refreshed, the pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column of pixels pointed to by the current pointer each time; Determine whether the pointer has reached the end of the display canvas. If yes, wrap the pointer back to the starting point; otherwise, maintain the current pointer position and wait for the next refresh signal.

[0006] In one implementation, a two-dimensional circular memory buffer is pre-allocated for the multi-channel timing signals to be displayed, including: Get the pixel width of the display canvas; Obtain the number of channels of the timing signal; The size of the two-dimensional circular memory buffer is determined based on the number of channels and the pixel width. The coordinate position of the timing signal of each signal channel on each pixel column is calculated and stored in the two-dimensional circular memory buffer, which is used cyclically.

[0007] In one implementation, establishing the mapping relationship between the time axis and the horizontal pixel column of the display canvas includes: The time axis is discretized and mapped to the horizontal pixel index of the canvas. Based on the fact that each time unit corresponds to a pixel column on the display canvas, the mapping relationship between the time axis and the horizontal pixel column of the display canvas is obtained.

[0008] In one implementation, after receiving data to be refreshed, the pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column of pixels currently pointed to by the pointer each time, including: The data acquisition thread or external device callback thread acts as the signal sender, and immediately transmits a signal after receiving the data to be refreshed; The visualization thread acts as the slot receiver. After receiving the transmission signal from the signal transmitter, the pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column pixel pointed to by the current pointer each time.

[0009] In one implementation, the pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column of pixels currently pointed to by the pointer each time, including: The pointer moves forward along the time axis by one or more pixel columns, updating the pixel column pointed to by the pointer each time and clearing the original image pixels in the pixel column pointed to by the pointer. Map the data from each channel in the newly sampled data to the corresponding vertical position on the display canvas; Linearly connect the mapping position of each channel in the current column with the mapping position stored in the previous column to form a continuous waveform.

[0010] In one implementation, it further includes: Based on the total height of the display canvas and the number of channels of the timing signal, a fixed display strip height is allocated to each channel; Each channel is arranged vertically at equal intervals on the display canvas.

[0011] In one implementation, the mapping position of each channel in the current column is linearly connected to the mapping position stored in the previous column to form a continuous waveform, including: The visualization module reads the pixel column coordinates of the two-dimensional circular memory buffer to determine the start and end points of the lines; Call the drawing interface to directly fill the corresponding pixels with color in the image buffer mapped to video memory to complete the line drawing.

[0012] According to another aspect of the embodiments of this application, a visualization device for timing signals is provided, comprising: The circular memory buffer management module is used to pre-allocate a two-dimensional circular memory buffer for the multi-channel timing signals to be displayed, wherein the first dimension corresponds to the number of channels and the second dimension corresponds to the time axis. The mapping module is used to establish the mapping relationship between the time axis and the horizontal pixel column of the display canvas, and to mark the column to be refreshed with a pointer; The local update module is used to advance the pointer along the time axis by one or more pixel columns after receiving the data to be updated, and update the waveform data of the single column of pixels pointed to by the current pointer each time. The pointer control module is used to determine whether the pointer has reached the end of the display canvas. If so, the pointer is wrapped back to the starting point; otherwise, the current pointer position is maintained and the system waits for the next refresh signal.

[0013] According to another aspect of the embodiments of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the above-described method for visualizing timing signals through the computer program.

[0014] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, and the computer program is configured to execute the above-described visualization method for timing signals when running.

[0015] The technical solutions provided in this application embodiment may include the following beneficial effects: The high-throughput time-series signal visualization technology based on a circular buffer proposed in this application brings revolutionary performance improvements to embedded or mobile devices with limited computing resources compared to traditional unified rendering or sliding window methods. First, by introducing a fixed-size circular memory buffer bound to the pixel width of the display canvas, the system transforms memory usage from linearly increasing over time to a constant value, fundamentally solving the risk of memory overflow in high-throughput data scenarios, making it particularly suitable for long-term continuous operation.

[0016] Secondly, the core "local column update" mechanism eliminates the redundant calculation of overall redrawing, and only updates the single pixel column corresponding to the current time pointer, reducing the computational load of graphics rendering by several orders of magnitude, so that smooth waveform scrolling can still be maintained under high channel number and high sampling rate.

[0017] Finally, instead of traditional timed polling, this application can display the received data in real time, with the pointer automatically wrapping around. Visually, the waveform scrolls continuously from left to right, achieving an "infinite" display length. This improves the user experience, eliminating CPU waste and display latency caused by polling, and ensuring the continuity and real-time responsiveness of the waveform display. It provides key technical support for real-time data processing in fields such as medical monitoring and industrial control. Attached Figure Description

[0018] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 This is a flowchart of a method for visualizing timing signals according to an embodiment of this application; Figure 2 This is a schematic diagram of a timing signal visualization system according to an embodiment of this application; Figure 3 This is a schematic diagram illustrating the visualization effect of a multi-channel timing signal according to an embodiment of this application; Figure 4 This is a schematic diagram comparing image refresh delays according to an embodiment of this application; Figure 5 This is a schematic diagram of a timing signal visualization device according to an embodiment of this application; Figure 6 This is a schematic diagram of the structure of an optional electronic device according to an embodiment of this application. Detailed Implementation

[0019] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0020] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0021] Currently, existing technologies for handling multi-channel concurrent displays mostly employ channel-by-channel rendering or independent thread rendering. These methods lead to thread contention and synchronization overhead when the number of channels is large, resulting in excessively high CPU / GPU resource utilization. Furthermore, data often requires repetitive format conversions, array copying, and data normalization before rendering, further increasing memory consumption and computational latency. For systems requiring real-time feedback, such as neural signal monitoring, brain-computer interface training, and online industrial monitoring, existing solutions struggle to balance high refresh rates, low latency, and scalability with limited hardware resources.

[0022] In summary, existing visualization technologies for high-throughput time-series signals generally suffer from the following drawbacks: high memory consumption and low resource utilization efficiency, with significant memory waste caused by full loading and repeated copying; insufficient real-time performance, with rendering refresh rates failing to meet the dynamic display requirements of high sampling rate signals; poor multi-channel concurrency performance, with parallel rendering or multi-threading mechanisms causing synchronization bottlenecks; and limited scalability, unable to flexibly adapt to different data structures, sampling rates, and channel sizes.

[0023] Based on this, this application provides a high-throughput time-series signal visualization method that achieves high-performance real-time visualization and dynamic memory optimization in high-sampling-rate, multi-channel signal environments, balancing system stability, scalability, and resource efficiency. Compared with traditional unified rendering and window-sliding or paginated display methods, its memory usage and rendering latency are significantly reduced, achieving performance levels in high-throughput scenarios that the aforementioned two methods cannot reach.

[0024] The visualization method for timing signals according to embodiments of this application will be described in detail below with reference to the accompanying drawings. Figure 1 As shown, the method mainly includes the following steps: S101 is a pre-allocated two-dimensional circular memory buffer for the multi-channel timing signals to be displayed, wherein the first dimension corresponds to the number of channels and the second dimension corresponds to the time axis.

[0025] In one implementation, a fixed-size two-dimensional memory buffer is pre-allocated during system initialization, with the first dimension corresponding to the number of channels and the second dimension corresponding to the time axis.

[0026] Specifically, the pixel width of the display canvas is obtained; the number of channels of the timing signal is obtained; and the size of the two-dimensional circular memory buffer is determined based on the number of channels and the pixel width.

[0027] The core of this application is that "one pixel column represents one time unit." Therefore, in order to cyclically cover the entire screen, the circular buffer only needs to have slots in the horizontal direction equal to the width of the screen pixels. Each slot is used to store the vertical position of all channels that need to be drawn on that pixel column at a certain moment. Therefore, the size of the horizontal time axis can be determined based on the pixel width of the display canvas.

[0028] Furthermore, each channel needs to independently store its waveform data in each column; therefore, the circular buffer needs enough rows to store the data for each channel separately. Thus, the size of the vertical direction can be determined based on the number of channels.

[0029] Calculate the coordinate position of the timing signal of each signal channel on each pixel column and store it in a two-dimensional circular memory buffer. The two-dimensional circular memory buffer is used cyclically.

[0030] This application provides a two-dimensional circular memory buffer that stores not the original physical sample values, such as voltage values, but rather the final coordinate values ​​prepared for drawing after mapping. The entire buffer is used cyclically, and the memory does not grow over time. This design changes memory usage from being proportional to the length of time to being proportional to the physical pixel size of the screen. Traditional schemes that store all timing signals result in an infinite increase in timing signal data in the storage unit over time. This application enables a fixed-size buffer to support continuous visualization of data with an infinite duration through a circular overlay mechanism. It eliminates the infinite growth of memory and minimizes the computational overhead of the rendering stage through data preprocessing, thereby achieving real-time and stable display of high-throughput signals in resource-constrained environments.

[0031] S102 establishes a mapping relationship between the timeline and the horizontal pixel column of the display canvas, and marks the column to be refreshed with a pointer.

[0032] In one implementation, the time axis is discretized and mapped to the horizontal pixel index of the canvas. Based on each time unit corresponding to a pixel column on the display canvas, the mapping relationship between the time axis and the horizontal pixel column of the display canvas is obtained.

[0033] The system first establishes a quantized correspondence between the time stream and the display space, discretizing the continuous time axis into independent time units at fixed intervals, and uniquely mapping each time unit to a specific vertical pixel column on the display canvas. The column index corresponding to the current sampling point is represented by a pointer.

[0034] Each refresh advances the pointer along the X-axis by one or more pixel columns, returning to the starting point after reaching the rightmost position, thus achieving cyclic coverage. This cyclical pointer movement enables unbounded continuous display of time series data, fundamentally avoiding the problem of linear expansion of the display buffer with data volume in traditional solutions.

[0035] After receiving the data to be refreshed, S103 moves the pointer forward along the time axis by one or more pixel columns, updating the waveform data of the single column pixel pointed to by the current pointer each time.

[0036] This application adopts a data-driven signal-slot refresh mechanism. The data acquisition thread or external device callback thread acts as the signal sender. After receiving the data to be refreshed, it immediately transmits a signal. The visualization thread acts as the slot receiver. After receiving the transmitted signal from the signal sender, the pointer moves forward one or more pixel columns along the time axis. Each time, the waveform data of the single column pixel pointed to by the current pointer is updated, and a local column update operation is performed to achieve refresh as soon as the data arrives.

[0037] By replacing traditional timed polling with a signal and slot mechanism, high-precision synchronization and event-triggered refresh are achieved.

[0038] In one implementation, this application employs a local column update mechanism, which updates only the canvas column corresponding to the current time pointer each time.

[0039] Specifically, the pointer advances one or more pixel columns along the time axis, updating the pixel column currently pointed to by the pointer each time, clearing the original image pixels in the pixel column pointed to by the pointer, and mapping the channel data in the newly sampled data to the corresponding vertical position on the display canvas.

[0040] Furthermore, the mapping positions of each channel in the current column are linearly connected with the mapping positions stored in the previous column to form a continuous waveform.

[0041] Understandably, the system first precisely locates and clears all existing image pixels in the pixel column pointed to by the current pointer, preparing a blank area for waveform redrawing; then, it quickly maps the newly arrived sample data to the specific pixel position within its corresponding vertical band range; finally, it linearly connects the calculated new coordinate points with the corresponding channel coordinate points read from the previous column of the circular buffer and draws them. Through this incremental line segment splicing method, while ensuring optimal rendering efficiency, it perfectly constructs a visually continuous and smooth multi-channel time-series waveform.

[0042] The visualization module uses an image buffer structure and drawing interface to perform pixel-level updates directly in the shared cache.

[0043] When drawing waveforms, the visualization module reads the pixel column coordinates of the two-dimensional circular memory buffer; calls the drawing interface to directly fill the corresponding pixels with color in the image buffer to complete the line drawing; and performs pixel-level write operations in the image buffer mapped to the video memory.

[0044] The visualization module first examines a two-dimensional circular memory buffer. This buffer does not store the final image; it only precisely records the coordinates of each channel's waveform on each pixel column. The system reads the points in the current and previous columns from this buffer to determine which line segment to draw.

[0045] Then, the visualization module works directly on the image buffer, which is the "digital canvas" corresponding to the screen. Based on the determined line path, it uses the underlying drawing interface to directly write the color values ​​of the relevant pixels, clears the pixels of the old lines, and then draws the pixels of the new lines to obtain the drawn waveform data.

[0046] By bypassing the high-level graphics interface, pixel-level write operations are performed directly in the image buffer mapped to video memory, achieving the shortest path transformation from coordinate data to screen pixels and maximizing rendering efficiency. There are no additional copying steps from intermediate buffers to the frame buffer during the entire drawing process, thus achieving zero-copy local updates.

[0047] In one embodiment, the method further includes: allocating a fixed display strip height to each channel based on the total height of the display canvas and the number of timing signal channels; and arranging the channels vertically at equal intervals on the display canvas.

[0048] First, the system calculates proportionally based on the total pixel height of the display canvas and the total number of timing signal channels to be displayed, allocating a fixed display band height to each channel to ensure that all channels occupy the vertical space of the canvas evenly. Then, the channels are arranged vertically on the canvas in a specified order with equal spacing, each channel strictly confined within its own display band, forming independent display areas that are side-by-side and do not overlap. Under this architecture, the signal amplitude mapping process for each channel is completely independent.

[0049] Each channel occupies a fixed pixel width, and they do not interfere with each other, which is conducive to high-density display.

[0050] S104 determines whether the pointer has reached the end of the display canvas. If so, the pointer is wrapped back to the starting point; otherwise, the current pointer position is maintained, and the system waits for the next refresh signal.

[0051] Understandably, after each update of the current pixel column, the system will immediately perform a boundary check on the pointer position pointing to the next column. The calculation logic checks whether the next position of the pointer has exceeded the rightmost boundary of the display canvas. If the check is true, the pointer will be reset to zero, causing it to wrap around to the starting position at the leftmost end of the canvas, thus seamlessly starting a new round of loop overlay drawing.

[0052] If the determination is negative, the pointer is simply incremented to the next column position, and the system enters a waiting state. The update operation continues once the next data arrives and triggers a signal. This mechanism ensures that the visualization process can achieve continuous, scrolling display of an infinite time series within a limited pixel space, while maintaining constant memory usage and sustainable data updates.

[0053] This application features automatic wraparound overwrite and zero-copy update. When the pointer returns to the beginning, new data is redrawn from the left end of the canvas without moving or copying historical data, thus achieving continuity in the time dimension.

[0054] The visualization scheme for high-throughput time-series signals of this application will be further described below with reference to system embodiments.

[0055] Visualization systems for time-series signals, such as Figure 2 As shown, it includes a data acquisition layer and a visualization layer.

[0056] The data acquisition layer includes: 101 a circular buffer memory management module, responsible for fixed-capacity data buffering and circular reuse; 102 a pointer control module, used for write and read position management; and 103 a data acquisition and signal transmission module, used to send newly sampled data to the visualization rendering layer via signals.

[0057] The visualization layer includes: 104 Local update and drawing module, used to clear and draw the current pointer column; 105 Multi-channel signal display module, used to draw waveforms independently by channel and perform vertical layering; and a signal-slot real-time drive layer, used by 106 Signal trigger and refresh control module to achieve data refresh upon arrival and ensure real-time performance.

[0058] Its high-throughput time-series signal visualization effect is as follows: Figure 3 As shown, waveform data from multiple channels can be displayed in real time.

[0059] In terms of image refresh latency performance, for example Figure 4As shown, a bar chart compares the "frame computation time" under different methods or conditions. The first bar chart represents the latency of the unified rendering mechanism, the second bar chart represents the latency based on the window paging mechanism, and the third bar chart represents the circular memory and local column update method of this application. The latency of this application is significantly lower than the other two traditional methods. It visually confirms that in high-throughput time-series signal visualization tasks, the circular memory and local update strategy adopted in this application can significantly shorten the frame computation time compared to traditional redrawing or paging methods.

[0060] The following is a time complexity analysis: The traditional unified redraw or sliding window method requires full processing of all data columns within the window. Its computational cost is proportional to the number of channels C and the window width W, and is on the order of O(CW).

[0061] This application modifies only a small number of columns (HOP columns) of the current pointer per frame, with an order of magnitude of O(CHOP). This makes the theoretical speedup per frame approximately equal to "the total number of columns in the window ÷ the number of incremental columns per frame". If the additional overhead of data movement and resampling in traditional methods is taken into account, the actual performance advantage will be further expanded, especially in high-channel-count and large-window scenarios, where it can bring significantly higher real-time performance gains.

[0062] At the same refresh rate (same number of columns advanced per second (PPS)), the total computation per second of this invention is decoupled from W; the traditional scheme is proportional to W, so the wider the window, the greater the advantage.

[0063] In an exemplary scenario, under the same unit of time and the same number of columns advancing per second: ; in, This represents the plotting constant for each channel and each column. This represents the shift / resampling constant; therefore, under the same channel size C, compared with the unified redraw and window sliding / paging methods, this application reduces the refresh complexity per frame from O(CW) to O(CHOP). Its theoretical speedup is approximately... Considering the overhead of relocation and resampling in traditional methods, the actual improvement is approximately: (Common values ​​are 1.5–2). For example, with a window width W=1000 and HOP=2, the improvement is conservatively estimated at about 500×, and the improvement can reach about 750× after considering the constant. When HOP is smaller or W is larger, the improvement factor increases linearly.

[0064] This application fundamentally optimizes memory usage by introducing a circular memory buffer and a pointer loop mechanism. The fixed-size buffer design ensures that memory consumption is only related to the display canvas size, completely eliminating the storage burden that grows linearly with the amount of data in traditional solutions. Based on this, combined with a real-time signal-driven mechanism that triggers upon data arrival, the system can achieve high-precision synchronous refresh without periodic polling. Its core contribution lies in the local column update strategy. By accurately locating the column corresponding to the current pointer and performing incremental drawing of "erase-map-connect," the computational load for each frame of rendering is compressed to a constant level, thus breaking through the bottlenecks of rendering latency and refresh rate in high-throughput scenarios. Ultimately, these technologies work together to achieve smooth, lag-free scrolling display of multi-channel timing signals with limited resources, ensuring the visual continuity of waveform display and providing a reliable real-time visualization solution for highly constrained environments such as embedded devices.

[0065] According to another aspect of the embodiments of this application, a timing signal visualization apparatus for implementing the above-described timing signal visualization method is also provided. For example... Figure 5 As shown, the device includes: The circular memory buffer management module 501 is used to pre-allocate a two-dimensional circular memory buffer for the multi-channel timing signals to be displayed, wherein the first dimension corresponds to the number of channels and the second dimension corresponds to the time axis. The mapping module 502 is used to establish the mapping relationship between the time axis and the horizontal pixel column of the display canvas, and to mark the column to be refreshed with a pointer; The local update module 503 is used to advance the pointer along the time axis by one or more pixel columns after receiving the data to be updated, and update the waveform data of the single column pixel pointed to by the current pointer each time. The pointer control module 504 is used to determine whether the pointer has reached the end of the display canvas. If so, the pointer is wrapped back to the starting point; otherwise, the current pointer position is maintained and the system waits for the next refresh signal.

[0066] It should be noted that the timing signal visualization device provided in the above embodiments is only illustrated by the division of the above functional modules when executing the timing signal visualization method. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the timing signal visualization device and the timing signal visualization method embodiments provided in the above embodiments belong to the same concept, and the implementation process is detailed in the method embodiments, which will not be repeated here.

[0067] According to another aspect of the present application, an electronic device corresponding to the timing signal visualization method provided in the foregoing embodiments is also provided, for executing the timing signal visualization method described above.

[0068] Please refer to Figure 6 This illustrates a schematic diagram of an electronic device provided by some embodiments of this application. For example... Figure 6 As shown, the electronic device includes: a processor 600, a memory 601, a bus 602, and a communication interface 603. The processor 600, the communication interface 603, and the memory 601 are connected via the bus 602. The memory 601 stores a computer program that can run on the processor 600. When the processor 600 runs the computer program, it executes the timing signal visualization method provided in any of the foregoing embodiments of this application.

[0069] The memory 601 may include high-speed random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Communication between this system network element and at least one other network element is achieved through at least one communication interface 603 (which can be wired or wireless), such as the Internet, wide area network, local area network, or metropolitan area network.

[0070] Bus 602 can be an ISA bus, PCI bus, or EISA bus, etc. Buses can be divided into address buses, data buses, control buses, etc. Memory 601 is used to store programs. After receiving execution instructions, processor 600 executes the program. The timing signal visualization method disclosed in any of the aforementioned embodiments of this application can be applied to processor 600, or implemented by processor 600.

[0071] The processor 600 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of the processor 600 or by instructions in software form. The processor 600 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 601. Processor 600 reads the information in memory 601 and, in conjunction with its hardware, completes the steps of the above method.

[0072] The electronic device provided in this application embodiment and the timing signal visualization method provided in this application embodiment are based on the same inventive concept and have the same beneficial effects as the methods they adopt, operate or implement.

[0073] According to another aspect of the present application, a computer-readable storage medium corresponding to the timing signal visualization method provided in the foregoing embodiments is also provided, wherein a computer program (i.e., a program product) is stored thereon, and the computer program, when run by a processor, executes the timing signal visualization method provided in any of the foregoing embodiments.

[0074] It should be noted that examples of computer-readable storage media may also include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical and magnetic storage media, which will not be elaborated here.

[0075] The computer-readable storage medium provided in the above embodiments of this application and the timing signal visualization method provided in the embodiments of this application are based on the same inventive concept and have the same beneficial effects as the methods adopted, run or implemented by the applications stored therein.

[0076] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0077] The above embodiments merely illustrate several implementation methods of the present invention, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the present invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these all fall within the protection scope of the present invention. Therefore, the protection scope of this patent should be determined by the appended claims.

Claims

1. A method for visualizing time-series signals, characterized in that, include: A two-dimensional circular memory buffer is pre-allocated for the multi-channel timing signals to be displayed, wherein the first dimension corresponds to the number of channels and the second dimension corresponds to the time axis; Establish a mapping relationship between the timeline and the horizontal pixel columns of the display canvas, and mark the column to be refreshed with a pointer; After receiving the data to be refreshed, the pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column of pixels pointed to by the current pointer each time; Determine whether the pointer has reached the end of the display canvas. If yes, wrap the pointer back to the starting point; otherwise, maintain the current pointer position and wait for the next refresh signal.

2. The method according to claim 1, characterized in that, A two-dimensional circular memory buffer is pre-allocated for the multi-channel timing signals to be displayed, including: Get the pixel width of the display canvas; Obtain the number of channels of the timing signal; The size of the two-dimensional circular memory buffer is determined based on the number of channels and the pixel width. The coordinate position of the timing signal of each signal channel on each pixel column is calculated and stored in the two-dimensional circular memory buffer, which is used cyclically.

3. The method according to claim 1, characterized in that, Establishing the mapping relationship between the timeline and the horizontal pixel column of the display canvas includes: The time axis is discretized and mapped to the horizontal pixel index of the canvas. Based on the fact that each time unit corresponds to a pixel column on the display canvas, the mapping relationship between the time axis and the horizontal pixel column of the display canvas is obtained.

4. The method according to claim 1, characterized in that, After receiving the data to be refreshed, the pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column pixel pointed to by the current pointer each time, including: The data acquisition thread or external device callback thread acts as the signal sender, and immediately transmits a signal after receiving the data to be refreshed; The visualization thread acts as the slot receiver. After receiving the transmission signal from the signal transmitter, the pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column pixel pointed to by the current pointer each time.

5. The method according to claim 1 or 4, characterized in that, The pointer advances one or more pixel columns along the time axis, updating the waveform data of the single column of pixels currently pointed to by the pointer each time, including: The pointer moves forward along the time axis by one or more pixel columns, updating the pixel column pointed to by the pointer each time and clearing the original image pixels in the pixel column pointed to by the pointer. Map the data from each channel in the newly sampled data to the corresponding vertical position on the display canvas; Linearly connect the mapping position of each channel in the current column with the mapping position stored in the previous column to form a continuous waveform.

6. The method according to claim 5, characterized in that, Also includes: Based on the total height of the display canvas and the number of channels of the timing signal, a fixed display strip height is allocated to each channel; Each channel is arranged vertically at equal intervals on the display canvas.

7. The method according to claim 5, characterized in that, Linearly connect the mapping position of each channel in the current column with the mapping position stored in the previous column to form a continuous waveform, including: The visualization module reads the pixel column coordinates of the two-dimensional circular memory buffer to determine the start and end points of the lines; Call the drawing interface to directly fill the corresponding pixels with color in the image buffer mapped to video memory to complete the line drawing.

8. A visualization device for timing signals, characterized in that, include: The circular memory buffer management module is used to pre-allocate a two-dimensional circular memory buffer for the multi-channel timing signals to be displayed, wherein the first dimension corresponds to the number of channels and the second dimension corresponds to the time axis. The mapping module is used to establish the mapping relationship between the time axis and the horizontal pixel column of the display canvas, and to mark the column to be refreshed with a pointer; The local update module is used to advance the pointer along the time axis by one or more pixel columns after receiving the data to be updated, and update the waveform data of the single column of pixels pointed to by the current pointer each time. The pointer control module is used to determine whether the pointer has reached the end of the display canvas. If so, the pointer is wrapped back to the starting point; otherwise, the current pointer position is maintained and the system waits for the next refresh signal.

9. An electronic device, characterized in that, It includes a processor and a memory storing program instructions, the processor being configured to, when executing the program instructions, perform a method for visualizing timing signals as described in any one of claims 1 to 7.

10. A computer-readable medium, characterized in that, It stores computer-readable instructions that are executed by a processor to implement a method for visualizing timing signals as described in any one of claims 1 to 7.