Pattern data transmission method and device, electronic equipment and storage medium

By calculating the difference between the total exposure period and transmission time of the pattern data, the minimum waiting time is determined, and the time interval of the transmission pattern data is preset, the problem of slow pattern data transmission speed under long exposure is solved, and the long exposure and high response speed of pattern data is achieved.

CN119893060APending Publication Date: 2025-04-25SENWAYLIGHT TECH (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411816783.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In industrial projection scenarios, long exposure time leads to slow transmission speed of externally input high frame rate pattern data, and the exposure integrity of each frame pattern data cannot be guaranteed.

Method used

By calculating the difference between the total exposure period of the pattern data and the transmission time of each frame of pattern data, the minimum waiting time is obtained, and when transmitting the pattern data of each frame, the transmission of the pattern data of the next frame is started after the preset time interval, ensuring that the display controller has sufficient exposure time.

Benefits of technology

Without directly reducing the frame rate of pattern data transmission, long exposure of pattern data is achieved, ensuring the exposure integrity of pattern data per frame, and improving the response speed of pattern data per frame.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119893060A_ABST
    Figure CN119893060A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a pattern data transmission method and device, electronic equipment and a computer readable storage medium. The response speed of each frame of pattern data can be increased under the condition of long exposure of the pattern data. The method comprises the following steps: acquiring video data to be transmitted, wherein the video data to be transmitted comprises at least one frame of pattern data; determining the frequency of a pixel clock according to the maximum frame rate supported by the display controller and the resolution of the to-be-transmitted video data; the difference between the total exposure period of the pattern data and the transmission time of each frame of pattern data is obtained, the minimum waiting time is obtained, and the transmission time is determined according to the maximum frame rate; according to the frequency, the resolution ratio and the minimum waiting time of the pixel clock, each frame of pattern data is transmitted to a display controller, after transmission of one frame of pattern data is started, transmission of the next frame of pattern data is started after a preset time interval, and the preset time is larger than or equal to the minimum waiting time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of industrial projection technology, and in particular relates to a pattern data transmission method, device, electronic device and computer-readable storage medium. Background Art

[0002] With the continuous development of machine vision, the application areas of industrial projection are becoming more and more extensive.

[0003] At present, some industrial projection scenarios need to support the display of external video patterns. Specifically, the display controller receives the pattern data input from the outside, and exposes each frame of pattern data according to the configuration information such as exposure time to display the corresponding pattern. For example, 3D printing can use the external video stream mode to output the printed model.

[0004] In the related art, the display controller uses a longer exposure time to expose each frame of pattern data to ensure the quality of pattern display. When using a longer exposure time for exposure, if the frame rate of the externally input pattern data is high, a new frame of pattern data will arrive before the exposure of a frame of pattern data is completed, forcibly interrupting the exposure of the previous frame of pattern data. In order to ensure the complete exposure of each frame of pattern data, the frame rate of the externally input pattern data needs to be reduced accordingly. However, by directly reducing the transmission frame rate of the pattern data to match the long exposure method, the response time of each frame of pattern data will be increased, resulting in a slower response speed of each frame of pattern data. Summary of the invention

[0005] The embodiments of the present application provide a pattern data transmission method, device, electronic device and computer-readable storage medium, which can improve the response speed of each frame of pattern data under long exposure conditions.

[0006] In a first aspect, an embodiment of the present application provides a method for transmitting pattern data, the method comprising:

[0007] Acquire video data to be transmitted, where the video data to be transmitted includes at least one frame of pattern data;

[0008] Determine the frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted;

[0009] The minimum waiting time is obtained by subtracting the total exposure period of the pattern data from the transmission time of each frame of the pattern data. The transmission time is determined according to the maximum frame rate.

[0010] Each frame of pattern data is transmitted to the display controller according to the frequency, resolution and minimum waiting time of the pixel clock, wherein after starting the transmission of one frame of pattern data, the transmission of the next frame of pattern data is started after a preset time interval, and the preset time is greater than or equal to the minimum waiting time.

[0011] It can be seen from the above technical solution that by subtracting the total exposure period of the pattern data from the transmission time of each frame of pattern data to obtain the minimum waiting time, when transmitting each frame of pattern data, after starting the transmission of one frame of pattern data, the transmission of the next frame of pattern data is performed after a preset time interval. The preset time is less than or equal to the minimum waiting time, so that the display controller has enough exposure time to expose one frame of pattern data, and the exposure of the pattern data will not be terminated in advance by the arrival of the next frame of pattern data, thereby meeting the demand for long exposure; in addition, by configuring the frequency of the pixel clock according to the maximum frame rate supported by the display controller, the pixel clock can transmit image data according to the configured frequency and the maximum frame rate. In this way, while meeting the long exposure demand, the transmission frame rate of the pattern data can be reduced without directly reducing the transmission frame rate, thereby shortening the transmission time of each frame of pattern data and improving the response speed of each frame of pattern data.

[0012] That is to say, the embodiment of the present application can realize long exposure of pattern data without directly reducing the frame rate of pattern data transmission, and thus can improve the response speed of each frame of pattern data under the condition of long exposure of pattern data. Among them, due to the waiting caused by long exposure, the average transmission frame rate may be reduced in general.

[0013] In a possible implementation manner of the first aspect, subtracting a total exposure period of the pattern data from a transmission time of each frame of pattern data to obtain a minimum waiting time includes:

[0014] Determine the total exposure period of the pattern data according to the number of sub-patterns exposed in each frame of pattern data and the exposure period of each sub-pattern;

[0015] The minimum waiting time is obtained by subtracting the total exposure period from the transmission time of each frame of pattern data.

[0016] In a possible implementation manner of the first aspect, determining the frequency of the pixel clock according to a maximum frame rate supported by the display controller and a resolution of the video data to be transmitted includes:

[0017] The frequency of the pixel clock is obtained by multiplying the maximum frame rate and the target resolution, which is obtained based on the resolution and blanking area of ​​the video data to be transmitted.

[0018] In a possible implementation manner of the first aspect, obtaining video data to be transmitted includes:

[0019] Loading the video data to be transmitted from the persistent storage medium into the cache;

[0020] Get the video data to be transmitted from the cache.

[0021] In this implementation, by preheating the cache of the video data to be transmitted, the pattern data to be transmitted can be quickly acquired, further improving the response speed.

[0022] In a possible implementation manner of the first aspect, after subtracting the total exposure period of the pattern data from the transmission time of each frame of pattern data to obtain the minimum waiting time, the method further includes:

[0023] Synchronizes the number of sub-patterns, exposure period, and exposure channels to the display controller.

[0024] In a possible implementation manner of the first aspect, transmitting each frame of pattern data to a display controller according to a frequency, a resolution, and a minimum waiting time of a pixel clock includes:

[0025] Obtain at least one start signal, where the start signal is a trigger start signal or a timing start signal, and a preset time interval is provided between two adjacent start signals;

[0026] In response to the start signal, the transmission of one frame of pattern data is started, and one frame of pattern data is transmitted to the display controller according to the frequency and resolution of the pixel clock.

[0027] In this implementation, not only can long exposure of pattern data be performed without directly reducing the transmission frame rate, but also a trigger mode can be supported.

[0028] In a second aspect, an embodiment of the present application provides a pattern transmission device, comprising:

[0029] A pattern data acquisition module, used to acquire video data to be transmitted, where the video data to be transmitted includes at least one frame of pattern data;

[0030] A pixel clock configuration module, used to determine the frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted;

[0031] A determination module, used for obtaining a minimum waiting time by subtracting a total exposure period of the pattern data from a transmission time of each frame of the pattern data, wherein the transmission time is determined according to a maximum frame rate;

[0032] The interval transmission module is used to transmit each frame of pattern data to the display controller according to the frequency, resolution and minimum waiting time of the pixel clock. After starting the transmission of a frame of pattern data, the transmission of the next frame of pattern data is started after a preset interval, and the preset time is greater than or equal to the minimum waiting time.

[0033] In a possible implementation manner of the second aspect, the determining module is specifically configured to:

[0034] Determine the total exposure period of the pattern data according to the number of sub-patterns exposed in each frame of pattern data and the exposure period of each sub-pattern;

[0035] The minimum waiting time is obtained by subtracting the total exposure period from the transmission time of each frame of pattern data.

[0036] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements any method of the first aspect when executing the computer program.

[0037] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method of any one of the above-mentioned first aspects is implemented.

[0038] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on an electronic device, the electronic device executes any one of the methods described in the first aspect.

[0039] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0041] Figure 1 A schematic block diagram of a pattern data transmission system provided in an embodiment of the present application;

[0042] Figure 2 A schematic flow chart of a pattern data transmission method provided in an embodiment of the present application;

[0043] Figure 3 A block diagram of a pattern timing control system provided in an embodiment of the present application;

[0044] Figure 4 A timing reference diagram provided for an embodiment of the present application;

[0045] Figure 5 A schematic block diagram of the structure of a pattern data transmission device provided in an embodiment of the present application;

[0046] Figure 6A schematic block diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0048] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0049] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0050] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0051] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0052] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0053] See also Figure 1 , which is a schematic block diagram of a pattern data transmission system provided in an embodiment of the present application. The system may include a pattern controller 11, a display controller 12 and a display unit 13.

[0054] The pattern controller 11 is used to transmit pattern data to the display controller 12. The display controller 12 is used to expose each frame of pattern data according to exposure configurations such as exposure time and exposure channel, so as to project the pattern through the display unit 13 to realize pattern display.

[0055] Relative to the display controller 12, the pattern controller 11 is an external device that can input external video pattern data to the display controller 12. In specific applications, the pattern controller 11 can be implemented using a field programmable gate array (FPGA); of course, other devices (such as GPU or ASIC chip, etc.) can also be used, which is not limited here.

[0056] The display controller 12 may be a part of a digital light processing (DLP) system, and the DLP may support an external mode; or it may be a controller in a display system such as LCOS, which is not limited here.

[0057] After receiving the pattern data input by the pattern controller, the display controller 12 can drive the switch of each pixel unit and the switch of the LED lamp to realize pattern display of different gray levels through the display unit 13 .

[0058] In the related art, the pattern controller 11 continuously and uniformly outputs each frame of pattern data to the display controller 12 according to a configured fixed frame rate (e.g., 30 Hz, 60 Hz, etc.). If the pattern controller 11 uses a higher fixed frame rate to output pattern data, the transmission time of each frame of pattern data will be shorter, and the response speed of each frame of pattern data will be faster. If a lower fixed frame rate is used to output pattern data frames, the transmission time of each frame of pattern data will be longer, and the response speed of each frame of pattern data will be slower. For example, when the frame rate is 120 Hz, the transmission time of one frame of pattern data is approximately 8.3 ms; when the frame rate is 60 Hz, the transmission time of one frame of pattern data is approximately 16.6 ms.

[0059] In addition, in order to ensure the quality of pattern display, the display controller 12 has a long exposure requirement, that is, a longer exposure time is required to expose the pattern data.

[0060] In the case of long exposure, if the transmission frame rate of the pattern data is high, since the exposure time of one frame of pattern data is long and the transmission time of each frame of pattern data is short, the exposure of one frame of pattern data will not be completed, and a new frame of pattern data will arrive and forcibly interrupt the exposure of the previous frame of pattern data, resulting in incomplete exposure of each frame of pattern data and frame loss.

[0061] In order to meet the needs of long exposure at a high frame rate, the same pattern data frame can be repeatedly output and repeatedly exposed to indirectly increase the exposure time and meet the needs of long exposure. However, repeated exposure requires repeated transmission of the same pattern data, which greatly increases the amount of data transmitted and does not support trigger control mode.

[0062] In order to maintain the integrity of each frame of pattern data exposure under long exposure, the transmission frame rate of the pattern data can be reduced accordingly. That is, the long exposure can be matched by directly reducing the transmission frame rate. However, the reduction of the transmission frame rate of the pattern data will increase the transmission time of each frame of pattern data, thereby reducing the response speed of each frame of pattern data.

[0063] In response to the above-mentioned related issues, the embodiment of the present application provides a pattern data transmission scheme, in which the pattern controller determines the minimum waiting time according to the exposure configuration of the display controller and the maximum frame rate supported. In the process of transmitting each frame of pattern data, after starting the transmission of a frame of pattern data, the transmission of the next frame of pattern data is started after at least the minimum waiting time. The existence of the minimum waiting time allows the display controller to have sufficient time to expose a frame of pattern data, ensuring the complete exposure of each frame of pattern data and meeting the requirements of long exposure; in addition, the pattern controller also outputs each frame of pattern data according to the maximum frame rate supported by the display controller, thereby matching the requirements of long exposure without directly reducing the transmission frame rate, and improving the response speed of each frame of pattern data.

[0064] See also Figure 2 , is a schematic flow chart of a method for pattern data transmission provided in an embodiment of the present application, and the method may include the following steps:

[0065] Step S201: The pattern controller obtains video data to be transmitted, where the video data to be transmitted includes at least one frame of pattern data.

[0066] The video data to be transmitted is external video pattern data input to the display controller, which generally includes multiple frames of pattern data.

[0067] In some embodiments, the video data to be transmitted is stored in a persistent storage medium. The persistent storage medium may be, for example, a memory such as FLASH and an SD card. At this time, in order to ensure that the pattern data is output as quickly as possible when it is needed, the pattern controller may first load the video data to be transmitted from the persistent storage medium into the cache to preheat the cache; when the pattern data needs to be output, the corresponding data may be obtained from the preheated data in the cache. In this way, by preheating the cache of the video data to be transmitted, the pattern data to be transmitted may be quickly obtained, further improving the response speed.

[0068] Of course, in other embodiments, the pattern controller may not need to preheat the cache, but directly obtain the pattern data to be output from a memory such as FLASH and an SD card.

[0069] Step S202: The pattern controller determines the frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted.

[0070] In some embodiments, the maximum frame rate and the target resolution can be multiplied to obtain the frequency of the pixel clock, and the target resolution is obtained according to the resolution of the video data to be transmitted and the blanking area. In other words, frame rate = frequency of the pixel clock / resolution. If the resolution and the maximum frame rate are determined, the maximum frequency of the pixel clock can be calculated. Similarly, if the resolution and the maximum frequency of the pixel clock are determined, the maximum frame rate can also be calculated.

[0071] For example, the display controller supports a maximum pixel clock of 150MHz, that is, the maximum frequency of the RGB pixel clock of the display controller is 150MHz. At this time, the input source (that is, the video data to be transmitted) is 720P resolution, and the image resolution is 1280*720. Due to the existence of some blanking areas, it is actually equivalent to transmitting data with a resolution of 1650*750, that is, the target resolution is 1650*750. Based on this, it can be calculated that the maximum frame rate supported by the display controller = maximum frequency of the pixel clock / resolution = 150MHz / (1650*750) = 121Hz. During the actual transmission process, the pattern controller can output each frame of pattern data to the display controller at a frame rate of 120Hz. Similarly, if the input source is a 1080P resolution, the frame rate output by the pattern controller can be calculated to be 60Hz.

[0072] It is worth pointing out that configuring the frequency of the pixel clock of the pattern controller according to the maximum frame rate supported by the display controller can ensure that the transmission time of each frame of pattern data is the shortest, thereby making the response speed of each frame of pattern data faster.

[0073] For example, the maximum frequency of the RGB pixel clock of the pattern controller is 150MHz. When the transmission frame rate is 120Hz and the pattern data has a resolution of 720P, the transmission delay of one frame of pattern data is about 8.3ms. If, in order to match the requirements of long exposure, the frequency of the RGB pixel clock is reduced from 150MHz to 75MHz, and the output frame rate of the pattern controller is reduced from 120Hz to 60Hz, the transmission delay of each frame of pattern data is extended from 8.3ms to 16.6ms. This shows that directly lowering the frame rate to match the requirements of long exposure will cause the response speed of each frame of pattern data to slow down. The embodiment of the present application configures the frequency of the pixel clock according to the maximum frame rate supported by the display controller, which can ensure a faster response speed for each frame of pattern data.

[0074] After determining the frequency of the pixel clock, the pixel clock can be configured accordingly. After the pixel clock is configured, the pattern controller can output the pattern data according to the configured frequency and resolution during the process of transmitting each frame of pattern data. The frequency of the pixel clock determines the frame rate of the pattern data output.

[0075] When configuring the pixel clock, in addition to configuring the frequency of the pixel clock, you can also configure the field front and back extensions, effective height, line front and back edges, and effective width of the corresponding resolution, so that the pixel clock can output pattern data of the corresponding resolution.

[0076] For example, when it is determined that the frequency of the pixel clock is 150MHz and the image resolution is 1280*720, the frequency of the pixel clock is configured to be 150MHz, and the field front and back extension, effective height, line front and back edges, and effective width under the resolution of 1280*720 are configured. In this way, the configured pixel clock can output pattern data of the corresponding frame rate and corresponding resolution.

[0077] Step S203: The pattern controller subtracts the total exposure period of the pattern data from the transmission time of each frame of pattern data to obtain a minimum waiting time, where the transmission time is determined according to the maximum frame rate.

[0078] It should be noted that the display controller exposes each frame of pattern data according to the exposure configuration, which includes the exposure mode, the number of sub-patterns exposed in each frame of pattern data in the exposure mode, and the exposure period (ie, exposure time) of each sub-pattern.

[0079] The exposure mode may include but is not limited to: 1BIT mode and 8BIT mode. For example, when exposing a frame of pattern data, the display controller may expose 24 sub-patterns in 1BIT mode, or expose one pattern in 1 8BIT mode, or expose 3 sub-patterns in 8BIT mode. The exposure period of each sub-pattern is N.

[0080] At this time, the total exposure period of a frame of pattern data can be obtained by multiplying the number of sub-patterns and the exposure period of each sub-pattern. For example, if 24 sub-patterns are exposed in 1BIT mode, the total exposure period is N * 24; if one pattern is exposed in 1 8BIT mode, the total exposure period is N (it can be regarded as only one sub-pattern); if three sub-patterns are exposed in 8BIT mode, the total exposure period is N * 3.

[0081] The transmission time of each frame of pattern data can be determined by the frame rate. For example, if the pattern data output frame rate of the pattern controller is 120 Hz, the transmission time of each frame of pattern data is 8.3 ms.

[0082] After the transmission time of each frame of pattern data and the total exposure period of each frame of pattern data are determined, the total exposure period and the transmission time of each frame of pattern data may be subtracted to obtain the minimum waiting time.

[0083] For example, if the total exposure period is N * 24. Minimum waiting time W = N * 24-T. T is the transmission time. If the total exposure period is N * 3. Minimum waiting time W = N * 3-T; if the total exposure period is N, the minimum waiting time W=NT.

[0084] It should be pointed out that in the process of the pattern controller transmitting each frame of pattern data to the display controller, after starting the transmission of one frame of pattern data, the transmission of the next frame of pattern data can be started after at least a minimum waiting time, so that the display controller can have sufficient time to expose one frame of pattern data, and the exposure of the previous frame of pattern data will not be interrupted by the newly arrived frame of pattern data, thereby ensuring the integrity of the exposure of each frame of pattern data and meeting the requirements of long exposure.

[0085] In some embodiments, the pattern controller can synchronize exposure configuration information such as the number of sub-patterns, exposure cycle, and exposure channels to the display controller, so that the display controller can expose each frame of pattern data according to the synchronized exposure cycle, exposure mode, number of sub-patterns, exposure channels and other information.

[0086] Of course, in other embodiments, the display controller may pre-configure information such as the exposure cycle, exposure mode, number of sub-patterns, exposure channels, etc., and the pattern controller may obtain the exposure configuration information from the display controller or other places, and calculate the minimum waiting time according to the exposure configuration information.

[0087] The minimum waiting time is calculated according to the exposure configuration of the display controller, so that when the pattern controller outputs each frame of pattern data according to the minimum waiting time interval, the long exposure requirement of the display controller can be met.

[0088] Step S204, the pattern controller transmits each frame of pattern data to the display controller according to the frequency, resolution and minimum waiting time of the pixel clock, wherein after starting the transmission of one frame of pattern data, the transmission of the next frame of pattern data is started after a preset time interval, and the preset time is greater than or equal to the minimum waiting time.

[0089] Specifically, after the projection exposure task is started, the pixel clock is started; the pixel clock enables the transmission of a frame of pattern data according to the configured frequency and resolution, that is, the pixel clock transmits the pattern data according to the configured resolution and frame rate; after a preset time interval, the pixel clock starts the transmission of the next frame of pattern data. And so on, the transmission of the next frame of pattern data is started after each preset time interval until all pattern data frames are transmitted. It can be seen that the embodiment of the present application does not output each frame of pattern data continuously at a uniform speed, but outputs each frame of pattern data intermittently or by trigger control, and the minimum interval between two adjacent frames of pattern data is a preset time. This process is different from the process of continuously and uniformly outputting each frame of pattern data in the related art.

[0090] The minimum waiting time is the difference between the total exposure period of each frame of pattern data (i.e., the total time consumed to expose one frame of pattern data) and the transmission time of each frame of pattern data. Therefore, the minimum waiting time can ensure that when the display controller exposes one frame of pattern data, there is sufficient exposure time to complete the exposure of one frame of pattern data, and the exposure will not be terminated prematurely by the newly arrived pattern data, thereby ensuring the exposure display effect.

[0091] There is a preset time interval between two adjacent frames of pattern data, and the preset time is greater than or equal to the minimum waiting time. Therefore, by starting the transmission of the next frame of pattern data after the preset time interval, it can be ensured that the display controller has enough exposure time to complete the exposure of one frame of pattern data, meeting the demand for long exposure.

[0092] While meeting the long exposure requirements, each frame of pattern data is transmitted according to the maximum frame rate supported by the display controller (i.e., the frame rate is not reduced), which can ensure the fastest response speed of each frame of pattern data, thereby achieving an increase in the response speed of pattern data in the case of long exposure.

[0093] In a specific application, the pattern controller may transmit pattern data to the display controller via a video transmission interface, which may be, but is not limited to, an RGB888 interface or a High Definition Multimedia Interface (HDMI) interface.

[0094] In some embodiments, the pattern controller may start the transmission of a frame of pattern data after obtaining a start signal. The start signal may be a timing start signal or a trigger start signal. And the interval between two adjacent start signals is a preset time, so that after transmitting a frame of pattern data, the transmission of the next frame of pattern data is started after a preset time interval.

[0095] At this time, after acquiring at least one start signal, the pattern controller responds to the start signal to start the transmission of a frame of pattern data, and transmits a frame of pattern data to the display controller according to the frequency and resolution of the pixel clock. After responding to a start signal to start the transmission of a frame of pattern data, the next start signal is received after a preset time interval, and the next start signal is responded to to start the transmission of the next frame of pattern data.

[0096] The timing start signal may be a start signal for a timer to continuously cycle. In this case, the pattern controller may control the continuous cycle projection of all patterns, or control the cycle projection of a single pattern.

[0097] The trigger start signal can be an internal trigger signal or an external trigger signal. However, whether it is an internal trigger signal or an external trigger signal, it is necessary to satisfy that the interval between two adjacent trigger signals is greater than or equal to the minimum waiting time. In this case, the embodiment of the present application can perform long exposure of pattern data without directly reducing the transmission frame rate, and can also support the trigger control mode.

[0098] It should be noted that if the pattern controller outputs each frame of pattern data at intervals according to a trigger signal, the technical solution of the embodiment of the present application can improve the trigger response speed.

[0099] The trigger response speed may refer to the response time of the entire process from triggering, pattern data transmission to exposure pattern data. The embodiment of the present application adopts the maximum frame rate for pattern data transmission, thereby shortening the transmission time of each frame of pattern data and improving the trigger response speed.

[0100] If the pattern controller does not output each frame of image data according to the trigger signal interval, the technical solution provided by the embodiment of the present application can provide a response speed. In this case, the response speed can refer to the response time of the entire process of starting pattern data transmission and transmitting pattern data to exposure pattern data.

[0101] In the embodiment of the present application, long exposure of pattern data can be achieved without directly reducing the frame rate of pattern data transmission, thereby improving the response speed of each frame of pattern data under the condition of long exposure of pattern data.

[0102] As shown above, the pattern controller can support the trigger control mode, that is, it can respond to the trigger signal and send pattern data to the display controller. Figure 3 The pattern timing control system block diagram shown introduces the timing control process based on the trigger signal.

[0103] like Figure 3 As shown, the pattern controller may include a pattern loading module, a trigger configuration module, a trigger control module, a pixel clock control module and a video transmission module. The display controller may include an exposure configuration module, a channel selection and exposure control module, and an LED driver.

[0104] The pattern loading module is used to load the video data to be transmitted from the persistent storage medium into the memory (such as DDR) for cache preheating. The preheated pattern data in the cache can be output in time when needed, further improving the trigger response speed of each frame of pattern data.

[0105] The trigger configuration module is used to configure the actual trigger waiting time according to the minimum waiting time after determining the minimum waiting time according to the exposure configuration information of the display controller. The exposure configuration information may include the exposure mode, the number of sub-patterns exposed in each exposure mode, and the exposure cycle (or exposure time) of the pattern. The trigger waiting time may refer to the interval time between two adjacent trigger signals, which may be equivalent to the above-mentioned preset time. The trigger waiting time must be greater than or equal to the minimum waiting time. After configuration, the next trigger can be performed after a trigger signal, at least after the minimum waiting time.

[0106] In addition, the trigger configuration module can also be used to configure the maximum frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted. It also configures the field front and back delay, effective height, line front and back edge, effective width, etc. of the pixel clock at the corresponding resolution.

[0107] The trigger control module is used to trigger the pattern controller to start the trigger projection exposure task according to the configuration of the trigger configuration module to transmit a frame of pattern data. According to the configuration of the trigger configuration module, the trigger control module can be triggered once every preset time (i.e., the actual trigger waiting time) to control the pattern controller to transmit a frame of pattern data every preset time.

[0108] The pixel clock control module is used to start the pixel clock after triggering the projection exposure task, and control the pixel clock to enable the transmission of a frame of pattern data. That is, the pixel clock is controlled to output each frame of pattern data in sequence according to the configured frame rate and resolution.

[0109] The video transmission module is used to transmit pattern data, and it can select RGB888 interface or HDMI interface according to the interface of the display controller.

[0110] When the trigger configuration module performs trigger configuration according to the exposure configuration information, etc., the exposure configuration information can also be synchronized to the display controller, i.e., configuration synchronization. In this way, the exposure configuration module in the display controller can configure its own exposure channel, exposure mode, number of sub-patterns exposed in the exposure mode, exposure period of each sub-pattern, etc. according to the synchronized exposure configuration information.

[0111] The display controller waits for a frame of pattern data to be fully transmitted before obtaining enough information for exposure display. By using 3 RGB lights to expose the RGB three-channel data separately or using a fixed single light to expose the three channels separately, a synchronization signal is also required to capture the grayscale pattern for the camera in industrial structured light scenes.

[0112] The channel selection and exposure control module is used to select a corresponding exposure channel and use corresponding exposure parameters to expose the pattern data.

[0113] When exposing, the display controller can drive the switch of each pixel unit internally (i.e., pixel control) and the switch of the LED light to output the pattern through optical components such as lenses.

[0114] For example, see Figure 4 A timing reference diagram is shown, which includes a timing or trigger signal, a frame transfer signal, and a figure exposure signal.

[0115] Timing or trigger signal refers to the start signal of triggering the start or continuous cycle of the timer. Frame transmission signal refers to the time when multiple groups of RGB888 or HDMI transmission start and end. Image exposure signal refers to the signal from the start to the end of exposure after receiving the pattern data.

[0116] The technical solution provided in the embodiment of the present application can be applied to DLP digital structured light projection and Lcos projection technology such as DLP4710LC and DLP3010LC. In addition, when trigger transmission and exposure control are supported, it can also be applied to industrial machine vision fields such as 3D AoI equipment, 3D scanning, and 3D printing.

[0117] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0118] Corresponding to the pattern data transmission method described in the above embodiment, Figure 5 A schematic block diagram of the structure of a pattern data transmission device provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0119] Reference Figure 5 , the device comprises:

[0120] The pattern data acquisition module 51 is used to acquire the video data to be transmitted, where the video data to be transmitted includes at least one frame of pattern data;

[0121] A pixel clock configuration module 52, configured to determine the frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted;

[0122] A determination module 53, used to obtain a minimum waiting time by subtracting a total exposure period of the pattern data from a transmission time of each frame of pattern data, wherein the transmission time is determined according to a maximum frame rate;

[0123] The interval transmission module 54 is used to transmit each frame of pattern data to the display controller according to the frequency, resolution and minimum waiting time of the pixel clock, wherein after starting the transmission of a frame of pattern data, the transmission of the next frame of pattern data is started after a preset interval, and the preset time is greater than or equal to the minimum waiting time.

[0124] In a possible implementation, the determination module is specifically used to: determine the total exposure period of the pattern data according to the number of sub-patterns exposed in each frame of pattern data and the exposure period of each sub-pattern; and obtain the minimum waiting time by subtracting the total exposure period from the transmission time of each frame of pattern data.

[0125] In a possible implementation, the pixel clock configuration module is specifically used to: multiply the maximum frame rate and the target resolution to obtain the frequency of the pixel clock, where the target resolution is obtained based on the resolution and blanking area of ​​the video data to be transmitted.

[0126] In a possible implementation, the pattern data acquisition module is used to: load the video data to be transmitted from a persistent storage medium into a cache; and acquire the video data to be transmitted from the cache.

[0127] In a possible implementation, the device further includes a configuration synchronization module, which is used to synchronize the number of sub-patterns, the exposure period, and the exposure channel to the display controller.

[0128] In one possible implementation, the interval transmission module is specifically used to: obtain at least one start signal, where the start signal is a trigger start signal or a timing start signal, and a preset time interval exists between two adjacent start signals; in response to the start signal, start the transmission of a frame of pattern data, and transmit a frame of pattern data to the display controller according to the frequency and resolution of the pixel clock.

[0129] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / modules are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0130] Figure 6 This is a schematic block diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 6 As shown, the electronic device 6 of this embodiment includes: at least one processor 60 ( Figure 6 Only one is shown in the figure), a memory 61, and a computer program 62 stored in the memory 61 and executable on the at least one processor 60, wherein the processor 60 implements the steps of any of the above-mentioned method embodiments when executing the computer program 62.

[0131] The electronic device may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will appreciate that Figure 6 This is only an example of the electronic device 6 and does not constitute a limitation on the electronic device 6. The electronic device 6 may include more or fewer components than shown in the figure, or may combine certain components, or may include different components, for example, may also include input and output devices, network access devices, etc. The electronic device may be, for example, a device such as an FPGA, an ASIC, or a GPU.

[0132] The processor 60 may be a central processing unit (CPU), or 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, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0133] In some embodiments, the memory 61 may be an internal storage unit of the electronic device 6, such as a hard disk or memory of the electronic device 6. In other embodiments, the memory 61 may also be an external storage device of the electronic device 6, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the electronic device 6. Further, the memory 61 may also include both an internal storage unit of the electronic device 6 and an external storage device. The memory 61 is used to store an operating system, an application program, a boot loader (BootLoader), data, and other programs, such as the program code of the computer program, etc. The memory 61 may also be used to temporarily store data that has been output or is to be output.

[0134] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units.

[0135] In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other and are not used to limit the protection scope of this application. The specific working process of the units and modules in the above system can refer to the corresponding process in the above method embodiment, which will not be repeated here.

[0136] An embodiment of the present application also provides an electronic device, which includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, wherein the processor implements the steps of any of the above-mentioned method embodiments when executing the computer program.

[0137] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

[0138] An embodiment of the present application provides a computer program product. When the computer program product runs on an electronic device, the electronic device can implement the steps in the above-mentioned method embodiments when executing the computer program product.

[0139] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the camera / terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0140] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0141] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0142] In the embodiments provided in the present application, it should be understood that the disclosed devices, electronic devices and methods can be implemented in other ways. For example, the device / electronic device embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0143] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0144] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A pattern data transmission method, characterized in that: include: Acquire video data to be transmitted, wherein the video data to be transmitted includes at least one frame of pattern data; Determining the frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted; Subtracting the total exposure period of the pattern data from the transmission time of each frame of the pattern data to obtain a minimum waiting time, wherein the transmission time is determined according to the maximum frame rate; According to the frequency of the pixel clock, the resolution and the minimum waiting time, each frame of the pattern data is transmitted to the display controller, wherein after starting the transmission of one frame of the pattern data, the transmission of the next frame of the pattern data is started after a preset time interval, and the preset time is greater than or equal to the minimum waiting time.

2. The method according to claim 1, characterized in that Subtracting the total exposure period of the pattern data from the transmission time of each frame of the pattern data to obtain the minimum waiting time includes: Determining the total exposure period of the pattern data according to the number of sub-patterns exposed in each frame of the pattern data and the exposure period of each sub-pattern; The minimum waiting time is obtained by subtracting the total exposure period from the transmission time of each frame of the pattern data.

3. The method according to claim 2, characterized in that After subtracting the total exposure period of the pattern data from the transmission time of each frame of the pattern data to obtain the minimum waiting time, the method further includes: The number of sub-patterns, the exposure period, and the exposure channel are synchronized to the display controller.

4. The method according to claim 1, characterized in that Determining the frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted, including: The maximum frame rate and the target resolution are multiplied to obtain the frequency of the pixel clock, and the target resolution is obtained according to the resolution of the data to be transmitted and the blanking area.

5. The method according to claim 1, characterized in that Get the video data to be transmitted, including: Loading the to-be-transmitted video data from a persistent storage medium into a cache; The video data to be transmitted is obtained from the buffer.

6. The method according to any one of claims 1 to 5, characterized in that: Transmitting each frame of the pattern data to the display controller according to the frequency of the pixel clock, the resolution and the minimum waiting time, comprising: Acquire at least one start signal, where the start signal is a trigger start signal or a timing start signal, and the preset time is separated from two adjacent start signals; In response to the start signal, the transmission of a frame of pattern data is started, and the frame of pattern data is transmitted to the display controller according to the frequency of the pixel clock and the resolution.

7. A pattern transmission device, characterized in that: include: A pattern data acquisition module, used to acquire video data to be transmitted, wherein the video data to be transmitted includes at least one frame of pattern data; A pixel clock configuration module, used to determine the frequency of the pixel clock according to the maximum frame rate supported by the display controller and the resolution of the video data to be transmitted; A determination module, configured to obtain a minimum waiting time by subtracting a total exposure period of the pattern data from a transmission time of each frame of the pattern data, wherein the transmission time is determined according to the maximum frame rate; An interval transmission module is used to transmit each frame of the pattern data to the display controller according to the frequency of the pixel clock, the resolution and the minimum waiting time, wherein after starting the transmission of one frame of the pattern data, the transmission of the next frame of the pattern data is started after a preset time interval, and the preset time is greater than or equal to the minimum waiting time.

8. The device according to claim 7, characterized in that The determination module is specifically used for: Determining the total exposure period of the pattern data according to the number of sub-patterns exposed in each frame of the pattern data and the exposure period of each sub-pattern; The minimum waiting time is obtained by subtracting the total exposure period from the transmission time of each frame of the pattern data.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 6 is implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.