WO2023116320A1 - 基于fpga的数据流处理方法、装置及pg设备 - Google Patents

基于fpga的数据流处理方法、装置及pg设备 Download PDF

Info

Publication number
WO2023116320A1
WO2023116320A1 PCT/CN2022/133702 CN2022133702W WO2023116320A1 WO 2023116320 A1 WO2023116320 A1 WO 2023116320A1 CN 2022133702 W CN2022133702 W CN 2022133702W WO 2023116320 A1 WO2023116320 A1 WO 2023116320A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
image data
bit width
configuration information
module
Prior art date
Application number
PCT/CN2022/133702
Other languages
English (en)
French (fr)
Inventor
叶咏辰
张瑞忠
董丽颖
Original Assignee
北京镁伽科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京镁伽科技有限公司 filed Critical 北京镁伽科技有限公司
Publication of WO2023116320A1 publication Critical patent/WO2023116320A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/268Signal distribution or switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/703SSIS architectures incorporating pixels for producing signals other than image signals
    • H04N25/705Pixels for depth measurement, e.g. RGBZ
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the technical field of data processing, in particular to an FPGA-based data flow processing method, device and PG equipment.
  • a cache module, a three-primary color (Red Green Blue, RGB) timing generation module and an image output interface module are usually set in a field programmable gate array (Field Programmable Gate Array, FPGA).
  • FPGA Field Programmable Gate Array
  • the RGB timing generation module When the instruction is bright, the original image data is read, and the original image data is stored in the buffer module, and the RGB timing generation module generates the timing synchronization signal required for displaying the image, and combines the timing synchronization signal with the original image data in the buffer module to obtain Video data, and then output the video data to the display interface corresponding to the display module to be tested through the image output interface module, such as common low-voltage differential signaling (Low-Voltage Differential Signaling, LVDS) interface, V-by-one interface, etc. Since the number of channels, color depth and other parameters of different display modules to be tested are different, this solution is only applicable to one type of display module to be tested, and the compatibility is poor.
  • LVDS Low-Voltage
  • the purpose of the present invention is to provide a data stream processing method, device and PG equipment based on FPGA, aiming to solve the problem that only one type of display module to be tested is suitable for FPGA processing image data stream in the prior art, and the compatibility is poor The problem.
  • the first aspect of the present invention provides a data flow processing method based on FPGA, including:
  • Obtaining step obtaining the first image data stream, the video timing signal and the number of sampling pixels per pixel clock of the display module to be tested;
  • the first converting step converting the first image data stream into a second image data stream transmitting a first bit width per pixel clock cycle, wherein the first bit width is determined according to a preset maximum number of sampling pixels and a preset maximum color depth;
  • the second conversion step passing the second image data stream through transmission channels equal to the number of sampling pixels to convert into a third image data stream, wherein the third image data stream is a parallel image that transmits the number of sampling pixels per pixel clock cycle data flow;
  • Synchronization step synchronizing each image data stream in the third image data stream with the video timing signal to obtain parallel video data streams.
  • the obtaining step includes:
  • Processing sub-step process the original image data stream according to the configuration information of the cross cursor in the configuration information to generate the first image data stream with the cross cursor in the original image; or, according to the configuration information of the cross cursor in the configuration information and the monochrome
  • the screen configuration information processes the original image data stream to generate a first image data stream with a cross cursor on a monochrome screen; or, processes the original image data stream according to the monochrome screen configuration information in the configuration information to generate a monochrome screen
  • the first image data stream of the color picture process the original image data stream according to the configuration information of the cross cursor in the configuration information to generate the first image data stream with the cross cursor in the original image; or, according to the configuration information of the cross cursor in the configuration information and the monochrome
  • the screen configuration information processes the original image data stream to generate a first image data stream with a cross cursor on a monochrome screen; or, processes the original image data stream according to the monochrome screen configuration information in the configuration information to generate a mono
  • the first conversion step including:
  • the second bit width is the maximum bit width of the cache
  • the image data stream of the second bit width is read from the cache, and converted into a second image data stream of the first bit width transmitted per pixel clock cycle.
  • the obtaining step includes:
  • between the first converting step and the second converting step further includes:
  • the pixel transmission sequence per pixel clock in the second image data stream is determined according to the arrangement sequence.
  • the method also includes:
  • Matching step converting the parallel video data stream into data matching the interface type of the display module to be tested.
  • a second aspect of the present invention provides a FPGA-based data stream processing device, comprising:
  • An acquisition module configured to acquire the first image data stream, the video timing signal and the number of sampling pixels per pixel clock of the display module to be tested;
  • the first conversion module is configured to convert the first image data stream into a second image data stream with a first bit width transmitted per pixel clock cycle, wherein the first bit width is based on a preset maximum number of sampling pixels and a preset maximum color depth Sure;
  • the second conversion module is configured to pass the second image data stream through transmission channels equal to the number of sampling pixels to convert it into a third image data stream, wherein the third image data stream is the number of sampling pixels transmitted per pixel clock cycle Parallel image data stream;
  • the synchronization module is used to synchronize each image data stream in the third image data stream with the video timing signal to obtain parallel video data streams.
  • the acquisition module includes:
  • Acquisition sub-module used to obtain the original image data stream and configuration information
  • Processing sub-module used to process the original image data stream according to the configuration information of the cross cursor in the configuration information, so as to generate the first image data stream with the cross cursor in the original image; or, according to the configuration information of the cross cursor in the configuration information and
  • the monochrome screen configuration information processes the original image data stream to generate the first image data stream with a cross cursor on the monochrome screen; or, processes the original image data stream according to the monochrome screen configuration information in the configuration information to generate A first image data stream of a monochrome picture is generated.
  • the first conversion module is further configured to convert the first image data stream into an image data stream of a second bit width, and store it in a cache; wherein, the second bit width is the The maximum bit width of the cache; read the image data stream of the second bit width from the cache, and convert it into a second image data stream of the first bit width transmitted per pixel clock cycle
  • a third aspect of the present invention provides a PG device, including: the above-mentioned FPGA-based data stream processing device.
  • the image data stream is converted into a parallel video data stream according to the preset maximum number of sampling pixels, the preset maximum color depth, and the number of sampling pixels per pixel clock of the display module to be tested, so that the subsequent parallel video data can be
  • the stream is converted to data matching the interface type. It is not only suitable for the display modules under test with preset maximum color depth and preset maximum number of sampling pixels, but also backward compatible with other display modules under test with other color depths and number of sampling pixels, which has good compatibility, for example,
  • Each V-By-ONE channel can realize a maximum of 16lane, 12-bit color depth of the screen to be tested, and can be backward compatible with other types of screens to be tested.
  • a single VBYONE channel supports 16lane, 12bit color depth, and the entire system can support 4 pieces, that is, it can support 64lane, 12bit color depth; on the LVDS channel, it can meet the maximum: 8lane and 12 color depth of the screen to be tested, and can be backward compatible with other types of screens to be tested.
  • Fig. 1 schematically shows a schematic diagram of an application environment of an FPGA-based data stream processing method according to an embodiment of the present invention
  • Fig. 2 schematically shows a schematic flow chart of an FPGA-based data stream processing method according to an embodiment of the present invention
  • FIG. 3 schematically shows a schematic flow chart of an FPGA-based data stream processing method according to another embodiment of the present invention
  • Fig. 4 schematically shows a block diagram of an FPGA-based data stream processing system according to an embodiment of the present invention
  • Fig. 5 schematically shows a block diagram of an FPGA-based data stream processing system according to another embodiment of the present invention.
  • Fig. 6 schematically shows a structural block diagram of an FPGA-based data stream processing device according to an embodiment of the present invention.
  • the directional indication is only used to explain the position in a certain posture (as shown in the accompanying drawing). If the specific posture changes, the directional indication will also change accordingly.
  • the FPGA-based data stream processing method provided by the present invention can be applied to the application environment shown in FIG. 1 .
  • the PG device communicates with the upper computer device and the display module to be tested respectively through the network.
  • the upper computer can be, but not limited to, devices such as smart phones or tablet computers.
  • the user generates a test file package through the host computer, and sends the test file package to the PG device through the host computer, and the host computer also sends an execution command to the PG device.
  • the PG device decompresses the received test file package, obtains the image data stream, and synchronizes the image data stream with the video timing signal, and after obtaining the video data stream, sends the video data stream to the display module to be tested to display.
  • FIG. 2 schematically shows a schematic flowchart of an FPGA-based data stream processing method according to an embodiment of the present invention.
  • a data stream processing method based on FPGA is provided, and the embodiment of the present invention is mainly illustrated by applying the method to the PG device in the above-mentioned Figure 1 as an example, and the method can be An acquisition step, a first transformation step, a second transformation step, and a synchronization step, where,
  • the obtaining step may include S10: obtaining the first image data stream, the video timing signal and the number of sampling pixels per pixel clock of the display module to be tested.
  • the PG device includes a field programmable gate array (Field Programmable Gate Array, FPGA) module, and the FPGA module can mount a double-rate synchronous dynamic random access memory (Double Data Rate, DDR), and the first image is stored in the DDR Data stream, at this time, the first image data stream can be obtained by reading data from the DDR.
  • FPGA Field Programmable Gate Array
  • the PG device can analyze the test file package to obtain the configuration file, and then obtain the configuration parameters in the configuration file, and determine the sampling rate of each pixel clock of the display module to be tested according to the configuration parameters.
  • the first conversion step may include S20: converting the first image data stream into a second image data stream with a first bit width per pixel clock cycle, wherein the first bit width is based on a preset maximum number of sampling pixels and a preset maximum color Deep OK.
  • each V-By-One channel of the embodiment of the present invention can realize a maximum of 16 channels and 12 color depths of the display module to be tested, and can be backward compatible with other types of displays to be tested mod. If the entire system can support 4 V-By-One boards, it can support a total of 64 channels, 12bit color depth of the display module to be tested. In practical applications, according to actual needs, the LVDS (Low-Voltage Differential Signaling, LVDS) channel can meet the maximum 8 channels and 12 color depth of the display module to be tested, and can be backward compatible with other types of display modules to be tested. Test display module.
  • LVDS Low-Voltage Differential Signaling
  • the second conversion step may include S30: passing the second image data stream through transmission channels equal to the number of sampling pixels to convert into a third image data stream, wherein the third image data stream is the number of sampling pixels transmitted per pixel clock cycle parallel image data stream.
  • the second image data stream of 576 bits per pixel clock can be converted into transmission of 8 pixels per pixel clock (i.e. 288bit) third image data stream.
  • the total number of transmission channels is the same as the maximum number of sampling pixels, and among all transmission channels, the transmission channel that is consistent with the number of sampling pixels per pixel clock cycle required by the display module to be tested is selected for transmission , generating the third image pixel data stream.
  • the pixel data corresponds to 8 channels one by one for processing and output, and the next 8 pixel data repeat the above process.
  • the first and second channels can be selected, and the first pixel in the second image data stream is transferred at the first pixel clock.
  • the 1st pixel data and the 2nd pixel data correspond to 2 channels one-to-one for processing and output, the 3rd pixel data and 4th pixel data are output at the 2nd pixel clock, and the 5th pixel data is output at the 3rd pixel clock and the 6th pixel data, and repeat the above process.
  • the arrangement order of adjacent preset number of pixels can be determined according to the configuration parameters; the order of pixel transmission per pixel clock in the second image data stream can be determined according to the arrangement order .
  • the preset number is 2 or 4, assuming that in the first image data stream currently transmitted, the pixel transmission sequence at the first pixel clock is: 12345678; the configuration parameter is 2 adjacent pixels If the sequence is reversed, the sequence of the converted output data stream at the first pixel clock is: 21436587; if the configuration parameters change sequentially for 4 adjacent pixels, the sequence of the converted output data stream at the first pixel clock can be It is: 13245768, or 32147658.
  • the synchronizing step may include S40: Synchronize each image data stream in the third image data stream with the video timing signal to obtain parallel video data streams.
  • the third image data stream is transmitted through 8 channels, and the image data stream of each channel and the video timing Signals are configured synchronously to obtain parallel video data streams.
  • the first image data stream by acquiring the first image data stream, the video timing signal and the number of sampling pixels per pixel clock of the display module to be tested; converting the first image data stream into a second image with a first bit width transmitted per pixel clock cycle
  • the data stream wherein the first bit width is determined according to the preset maximum number of sampling pixels and the preset maximum color depth;
  • the second image data stream is converted into a third image data stream through a number of transmission channels equal to the number of sampling pixels,
  • the third image data stream is a parallel image data stream that transmits the number of sampling pixels per pixel clock cycle; each image data stream in the third image data stream is synchronized with the video timing signal to obtain a parallel video data stream, so that the follow-up can be based on This parallel video data stream is converted to data matching the interface type.
  • Each V-By-ONE channel can realize a maximum of 16lane, 12-bit color depth of the screen to be tested, and can be backward compatible with other types of screens to be tested.
  • a single VBYONE channel supports 16lane, 12bit color depth, and the entire system can support 4 pieces, that is, it can support 64lane, 12bit color depth; on the LVDS channel, it can meet the maximum: 8lane and 12 color depth of the screen to be tested, and can be backward compatible with other types of screens to be tested.
  • FIG. 3 schematically shows a schematic flowchart of an FPGA-based data stream processing method according to another embodiment of the present invention.
  • a kind of data flow processing method based on FPGA is provided, can also comprise the following steps:
  • Obtaining sub-step S11 obtaining the original image data stream and configuration information.
  • Processing sub-step S12 process the original image data stream according to the configuration information of the cross cursor in the configuration information to generate the first image data stream with the cross cursor in the original image; or, according to the configuration information of the cross cursor in the configuration information and the single
  • the color screen configuration information processes the original image data stream to generate the first image data stream with a cross cursor on the monochrome screen; or, processes the original image data stream according to the monochrome screen configuration information in the configuration information to generate The first image data stream of the monochrome picture.
  • the FPGA can read the original data stream from the processor, and process the original data stream according to the configuration information.
  • S21 Convert the first image data stream into an image data stream with a second bit width, and store it in the cache; wherein, the second bit width is the maximum bit width of the cache.
  • the FPGA module includes a first FPGA module and a second FPGA module
  • the first image data stream is an image data stream that transmits 64 bits per pixel clock
  • the first FPGA module acquires the first image data stream and needs to send In the cache attached to the second FPGA module
  • the maximum bit width of the cache of the second FPGA module is 512bit as an example, so that the second FPGA module converts the first image data stream of 64bit per pixel clock transmission into per pixel clock transmission 512bit image data stream, so that the bandwidth of the cache can be maximized.
  • S22 Read the image data stream of the second bit width from the buffer, and convert it into a second image data stream of the first bit width for transmission per pixel clock cycle.
  • the first bit width is determined according to a preset maximum number of sampling pixels and a preset maximum color depth.
  • the data stream processing method may further include a matching step S50: converting the parallel video data stream into data matching the interface type of the display module to be tested.
  • the data matching the interface type of the display module to be tested can be LVDS signal, V-By-One signal or Embedded Display Port (abbreviated as EDP) signal, etc.
  • FIG. 4 schematically shows a block diagram of an FPGA-based data stream processing system according to an embodiment of the present invention.
  • this embodiment can convert the image data stream into a V-BY-ONE video signal.
  • the hardware structure in Figure 4 is PS (controller), PL (first FPGA module), K160 (second FPGA module) from left to right, where PS and PL can be a minimum system-on-chip, and PS is a processor Part, PL belongs to the FPGA part of the smallest system-on-chip, and K160 is an FPGA chip.
  • the ARM module in the PS sends a control signal to the DMA read module in the PL, and the DMA read module reads the original image data stream in the DDR module connected to the PS according to the control signal.
  • the DMA read module sends the read original image data stream to the cursor module, and the cursor module processes the original image data stream to add a cross cursor on the original image, or convert the original image into a single cursor with a cross cursor. color image, or replace the original image with a monochrome image.
  • the cursor module sends the converted first image data stream to the RX high-speed transceiver module in the K160 through the high-speed transceiver.
  • the RX high-speed transceiver module sends the image data stream of the first preset bit width (such as 64bit) obtained by a high-speed transceiver user clock to the DMA write module.
  • the first preset bit width such as 64bit
  • the DMA write module processes a high-speed transceiver user clock to transmit the image data stream of the first preset bit width (such as 64bit) into a DDR Controller user clock to transmit the image data stream of the second preset bit width (such as 512bit), And finally saved in the DDR of K160.
  • a high-speed transceiver user clock to transmit the image data stream of the first preset bit width (such as 64bit) into a DDR Controller user clock to transmit the image data stream of the second preset bit width (such as 512bit), And finally saved in the DDR of K160.
  • the specific process of the DMA write module saving the converted image data stream in the DDR is as follows: PS software starts the DMA write module write operation by writing the register, and the DMA write module starts from the first address configured by the software, and uses the burst method to write the data into the DDR , and keep adding addresses. When the image data of the size configured by the register has been written into the DDR, the DMA write module starts writing new data from the first address again.
  • the DMA read module reads the data in the DDR, and through the dwidth-converter bit width conversion module, a DDR controller user clock transmits the second preset bit width (such as 512bit) image data stream into a pixel clock transmission first A second image data stream with a bit width (eg, 576 bits), wherein the first bit width is determined according to a preset maximum number of sampling pixels (eg, 16) and a preset maximum color depth (eg, 12).
  • a preset bit width such as 512bit
  • the VTC module generates video timing signals according to the configuration information sent by the PS.
  • the PPC-convert module selects the same number of channels according to the number of sampling pixels per pixel clock of the display module to be tested, and transmits the second image data stream output by the dwidth-converter module.
  • the PPC-convert module includes 16 processing channels, and the number of sampling pixels per pixel clock of the display module to be tested is 8, select 8 channels, and convert the first 8 channels in the second image data stream at the first pixel clock
  • the pixel data corresponds to 8 channels one by one for processing and output, and the next 8 pixel data repeat the above process.
  • the axi-to-video module synchronously configures the third image data stream output by the PPC-convert module and the video timing signal output by the VTC module, and outputs parallel video data to the timing packer module.
  • the timing packer module maps the parallel video data to the LVDS interface protocol, and then the serializer converts the parallel video data into serial data.
  • the serial data output by K160 is converted into V-BY-ONE signal through a conversion chip (not shown in the figure).
  • PS can communicate with the SPI-slave module in K160 through the SPI master module in PL through the AXI bus. And convert the SPI access to the register registers access under the AXI bus for configuration.
  • Fig. 5 schematically shows a block diagram of an FPGA-based data stream processing system according to another embodiment of the present invention. Referring to FIG. 5 together, this embodiment can convert the image data stream into an LVDS signal. According to the hardware structure of Fig. 5, the data flow processing method of the embodiment of the present invention is described as follows:
  • the video framebuffer reader module can read the first image data from the DDR at a speed of 2 pixels per system clock, and transmit it to the data buffer module;
  • the data buffer module acquires the first image data and converts it into a second image data stream that transmits the first bit width per pixel clock cycle, wherein the first bit width is determined according to the preset maximum number of sampling pixels and the preset maximum color depth. Taking the preset maximum number of sampling pixels as 8 and the maximum color depth as 12 as an example, the second image data stream is an image data stream that transmits 96 bits per pixel clock.
  • the data buffer module sends the second image data stream to the data parity module.
  • the data parity module determines the order of two or four adjacent pixels according to the configuration parameters, converts the second image data stream and outputs it to the data shift module.
  • the pixel transmission order at the first pixel clock is: 12345678; the configuration parameter is to swap the order of two adjacent pixels, then the output data stream after conversion is at the first pixel
  • the order of clocks is: 21436587; if the configuration parameters change sequentially for 4 adjacent pixels, the order of the converted output data stream at the first pixel clock can be: 13245768 or 32147658.
  • the data shift module converts the second image data stream according to the number of sampling pixels per clock of the display module to be tested in the configuration parameters, and sends it to the data packing module through the FIFO module.
  • the data shift module including 8 processing channels, and the number of sampling pixels per clock of the display module to be tested is 2 as an example, select the 1st and 2nd channels, and transfer the first pixel in the second image data stream at the first pixel clock
  • the pixel data and the second pixel data are processed and output in one-to-one correspondence with two channels, the third pixel data and the fourth pixel data are output at the second pixel clock, and the fifth pixel data and the third pixel clock are output at the third pixel clock 6th pixel data, and repeat the above process.
  • the data packing module synchronizes the third image data stream transmitted by the FIFO module with the video timing signal sent by the VTC module to generate a parallel video data bus signal.
  • the number of data packing modules is also 2. Among them, one data packing module synchronizes odd-numbered columns of pixels with video timing signals, and the other data packing module synchronizes even-numbered Column pixels are synchronized with the video timing signal.
  • FIG. 2 and FIG. 3 are schematic flowcharts of an FPGA-based data stream processing method in an embodiment. It should be understood that although the steps in the flow charts of FIG. 2 and FIG. 3 are shown sequentially as indicated by the arrows, these steps are not necessarily executed sequentially in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least some of the steps in FIG. 2 and FIG.
  • 3 may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily performed at the same time, but may be performed at different times, these sub-steps or The execution order of the stages is not necessarily performed sequentially, but may be executed alternately or alternately with at least a part of other steps or substeps of other steps or stages.
  • a kind of data flow processing device based on FPGA comprises acquisition module 10, first conversion module 20, second conversion module 30 and synchronization module 40, wherein: acquisition module 10 , used to obtain the first image data stream and the number of sampling pixels per pixel clock of the display module to be tested; the first conversion module 20 is used to convert the first image data stream into the first bit-width transmission per pixel clock cycle.
  • the first bit width is determined according to the preset maximum number of sampling pixels and the preset maximum color depth
  • the second conversion module 30 is configured to pass the second image data stream through a number of transmission channels equal to the number of sampling pixels , to be converted into a third image data stream, wherein the third image data stream is a parallel image data stream that transmits the number of sampling pixels per pixel clock cycle
  • the synchronization module 40 is used to convert each piece of image data in the third image data stream The stream is synchronized with the video timing signal to obtain a parallel video data stream.
  • the acquisition module 10 includes: an acquisition submodule (not shown in the figure): used to acquire the original image data stream and configuration information; a processing submodule (not shown in the figure): used to process the original image according to the configuration information of the cross cursor in the configuration information
  • the image data stream is processed to generate the first image data stream with the cross cursor in the original image; or, the original image data stream is processed according to the cross cursor configuration information and monochrome screen configuration information in the configuration information to generate a monochrome
  • the first conversion module 20 is also used to convert the first image data stream into an image data stream with a second bit width, and store it in the cache; wherein, the second bit width is the maximum bit width of the cache; from the cache The image data stream with the second bit width is read and converted into a second image data stream with the first bit width transmitted per pixel clock cycle.
  • the obtaining module 10 is also used for: obtaining the configuration parameters in the configuration file obtained by parsing the test file package; and determining the number of sampling pixels per pixel clock of the display module to be tested according to the configuration parameters.
  • the data stream processing device also includes a pixel order determination module (not shown in the figure), which is used to determine the arrangement order of adjacent preset number of pixels according to the configuration parameters; determine the number of clocks per pixel in the second image data stream according to the arrangement order Pixel transfer order.
  • a pixel order determination module (not shown in the figure), which is used to determine the arrangement order of adjacent preset number of pixels according to the configuration parameters; determine the number of clocks per pixel in the second image data stream according to the arrangement order Pixel transfer order.
  • the data stream processing device further includes a matching module (not shown in the figure), which is used to convert the parallel video data stream into data matching the interface type of the display module to be tested.
  • a matching module (not shown in the figure), which is used to convert the parallel video data stream into data matching the interface type of the display module to be tested.
  • the embodiment of the present invention also provides a PG device, including: a memory for storing an FPGA-based data flow processing program; a processor configured to call the FPGA-based data flow processing program from the memory so that the processor can execute the above-mentioned FPGA-based data stream processing method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Television Systems (AREA)

Abstract

本发明公开了一种基于FPGA的数据流处理方法、装置及PG设备,通过获取第一图像数据流、视频时序信号和待测显示模组每像素时钟的采样像素数量;将第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,第一位宽根据预设最大采样像素数量和预设最大色深确定;将第二图像数据流经过与采样像素数量相等数量的传输通道,以转换成第三图像数据流,第三图像数据流为每像素时钟周期传输采样像素数量的并行图像数据流;将第三图像数据流中的每条图像数据流与视频时序信号进行同步,得到并行视频数据流,使得并行视频数据流不仅适用于最大位宽的待测显示模组,还可以向下兼容其他类型的待测显示模组,具有较好的兼容性。

Description

基于FPGA的数据流处理方法、装置及PG设备
本发明要求于2021年12月20日提交中华人民共和国国家知识产权局、申请号为202111565327.X、申请名称为“基于FPGA的数据流处理方法、装置及PG设备”的中国专利申请的优先权,其全部内容通过引用结合在本发明中。
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于FPGA的数据流处理方法、装置及PG设备。
背景技术
随着显示技术的发展,显示模组的应用越来越多。在显示模组的生产测试环节,通常需要将图像数据发送至待测显示模组上进行显示,以检测待测显示模组是否存在显示问题。
现有技术中通常在现场可编程门阵列(Field Programmable Gate Array,FPGA)中设置缓存模块、三原色(Red Green Blue,RGB)时序产生模块及图像输出接口模块,在FPGA接收到上位机发送的点亮指令时,读取原始图像数据,将原始图像数据存储至缓存模块,RGB时序产生模块生成显示图像所需要的时序同步信号,并将时序同步信号和缓存模块中的原始图像数据进行结合,得到视频数据,再将视频数据通过图像输出接口模块输出至待测显示模组对应的显示接口,如常见的低电压差分信号(Low-Voltage Differential Signaling,LVDS)接口、V-by-one接口等。由于不同的待测显示模组的通道数、色深等参数不同,该方案仅适用一种型号的待测显示模组,兼容性较差。
发明内容
本发明的目的是提供一种基于FPGA的数据流处理方法、装置及PG设备,旨在解决现有技术中FPGA处理图像数据流时只适用一种型号的待测显示模组,兼容性较差的问题。
为了实现上述目的,本发明第一方面提供一种基于FPGA的数据流处理方法,包括:
获取步骤:获取第一图像数据流、视频时序信号和待测显示模组每像素时钟的采样像素数量;
第一转换步骤:将第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,第一位宽根据预设最大采样像素数量和预设最大色深确定;
第二转换步骤:将第二图像数据流经过与采样像素数量相等数量的传输通道,以转换成第三图像数据流,其中,第三图像数据流为每像素时钟周期传输采样像素数量的并行图像数据流;
同步步骤:将第三图像数据流中的每条图像数据流与视频时序信号进行同步,得到并行视频数据流。
可选地,获取步骤中,包括:
获取子步骤:获取原始图像数据流和配置信息;
处理子步骤:根据配置信息中的十字光标配置信息对原始图像数据流进行处理,以生成原始图像带有十字光标的第一图像数据流;或,根据配置信息中的十字光标配置信息和单色画面配置信息对原始图像数据流进行处理,以生成单色画面带有十字光标的第一图像数据流;或,根据配置信息中的单色画面配置信息对原始图像数据流进行处理,以生成单色画面的第一图像数据流。
可选地,第一转换步骤中,包括:
将第一图像数据流转换成第二位宽的图像数据流,并保存在缓存中;其中,第二位宽为缓存的最大位宽;
从缓存中读取该第二位宽的图像数据流,并转换为每像素时钟周期传输第一位宽的第二图像数据流。
可选地,获取步骤中,包括:
获取解析测试文件包得到的配置文件中的配置参数;
根据配置参数确定待测显示模组每像素时钟的采样像素数量。
在本发明实施例中,在第一转换步骤和第二转换步骤之间,还包括:
根据配置参数确定相邻预设数量的像素的排列顺序;
根据排列顺序确定第二图像数据流中每像素时钟的像素传输顺序。
可选地,该方法还包括:
匹配步骤:将并行视频数据流转换为与待测显示模组的接口类型相匹配的数据。
本发明第二方面提供一种基于FPGA的数据流处理装置,包括:
获取模块,用于获取第一图像数据流、视频时序信号和待测显示模组每像素时钟的采样像素数量;
第一转换模块,用于将第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,第一位宽根据预设最大采样像素数量和预设最大色深确定;
第二转换模块,用于将第二图像数据流经过与采样像素数量相等数量的传输通道,以转换成第三图像数据流,其中,第三图像数据流为每像素时钟周期传输采样像素数量的并行图像数据流;
同步模块,用于将第三图像数据流中的每条图像数据流与视频时序信号进行同步,得到并行视频数据流。
可选地,获取模块包括:
获取子模块:用于获取原始图像数据流和配置信息;
处理子模块:用于根据配置信息中的十字光标配置信息对原始图像数据流进行处理,以生成原始图像带有十字光标的第一图像数据流;或,根据配置信息中的十字光标配置信息和单色画面配置信息对原始图像数据流进行处理,以生成单色画面带有十字光标的第一图像数据流;或,根据配置信息中的单色画面配置信息对原始图像数据流进行处理,以生成单色画面的第一图像数据流。
可选地,所述第一转换模块,还用于将所述第一图像数据流转换成第二位宽的图像数据流,并保存在缓存中;其中,所述第二位宽为所述缓存的最大位宽;从所述缓存中读取该第二位宽的图像数据流,并转换为每像素时钟周期传输第一位宽的第二图像数据流
本发明第三方面提供一种PG设备,包括:上述的基于FPGA的数据流处理装置。
通过上述技术方案,根据预设最大采样像素数量、预设最大色深和待测显示模组每像素时钟的采样像素数量将图像数据流转换成并行视频数据流,以便后续可根据该并行视频数据流转换成与接口类型相匹配的数据。不仅适用于预设最大色深和预设最大采样像素数量的待测显示模组,还可以向下兼容其他色深和采样像素数量的待测显示模组,具有较好的兼容性,比如,每个V-By-ONE通道上最大能够实现适用16lane、12色深的待测屏,并且可以向下兼容其他类型的待测屏,目前单个VBYONE通道支持16lane,12bit色深,整个系统可支持4片,也就是可支持64lane,12bit色深;在LVDS通道上满足最大:8lane和12色深的待测屏,并且可以向下兼容其他类型的待测屏。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意性示出了根据本发明实施例的基于FPGA的数据流处理方法的应用环境示意图;
图2示意性示出了根据本发明一实施例的基于FPGA的数据流处理方法的流程示意图;
图3示意性示出了根据本发明另一实施例的基于FPGA的数据流处理方法的流程示意图;
图4示意性示出了根据本发明一实施例的基于FPGA的数据流处理系统的框图;
图5示意性示出了根据本发明另一实施例的基于FPGA的数据流处理系统的框图;
图6示意性示出了根据本发明实施例的基于FPGA的数据流处理装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供的基于FPGA的数据流处理方法,可以应用于如图1所示的应用环境中。其中,PG设备分别与上位机设备及待测显示模组通过网络进行通信。上位机可以但不限于是智能手机或平板电脑等设备。用户通过上位机生成测试文件包,并通过上位机将测试文件包发送至PG设备,上位机还向PG设备发送执行指令。PG设备收到执行指令后对接收到的测试文件包解压,得到图像数据流,并将图像数据流与视频时序信号进行同步,得到视频数据流后,将视频数据流发送至待测显示模组进行显示。
图2示意性示出了根据本发明一实施例的基于FPGA的数据流处理方法的流程示意图。如图2所示,在本发明一实施例中,提供了一种基于FPGA的数据流处理方法,本发明实施例主要以该方法应用于上述图1中的PG设备来举例说明,该方法可以获取步骤、第一转换步骤、第二转换步骤和同步步骤,其中,
获取步骤可以包括S10:获取第一图像数据流、视频时序信号和待测显示模组每像素时钟的采样像素数量。
在具体实现中,PG设备包括现场可编程门阵列(Field Programmable Gate Array,FPGA)模块,FPGA模块可以挂载双倍速率同步动态随机存储器(Double Data Rate,DDR),DDR中存储有第一图像数据流,此时可以通过从DDR中读取数据得到第一图像数据流。
另外,PG设备在得到上位机发送的测试文件包后,可以对测试文件包进行解析,得到配置文件,再获取配置文件中的配置参数,根据配置参数确定待测显示模组每像素时钟的采样像素数量,以及根据配置参数生成视频时序信号,如数据选通信号、行同步信号和场同步信号。
第一转换步骤可以包括S20:将第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,第一位宽根据预设最大采样像素数量和预设最大色深确定。
在本实施例中,由于待测显示模组采样的是RGB三原色模式,因此,第一位宽可以为预设最大采集像素数量和预设最大色深的乘积的3倍。例如,当预设最大采样像素数量是16个像素、预设最大色深是12时,第一位宽为12*16*3=576bit;当预设最大采样像素数量 是8个像素、预设最大色深是12时,第一位宽为12*8*3=288bit。
当第一位宽取576bit时,本发明实施例每个V-By-One通道上最大能够实现适用16通道、12色深的待测显示模组,并且可以向下兼容其他类型的待测显示模组。如果整个系统可以支持4片V-By-One板,则一共可支持64通道、12bit色深的待测显示模组。在实际应用中,根据实际需求,在低电压差分信号(Low-Voltage Differential Signaling,LVDS)通道上可以满足最大8通道和12色深的待测显示模组,并且可以向下兼容其他类型的待测显示模组。
第二转换步骤可以包括S30:将第二图像数据流经过与采样像素数量相等数量的传输通道,以转换成第三图像数据流,其中,第三图像数据流为每像素时钟周期传输采样像素数量的并行图像数据流。
以待测显示模组每像素时钟的采样像素数量是8,第一位宽是576bit为例,可以将每像素时钟传输576bit的第二图像数据流,转化成每像素时钟传输8个像素(即288bit)的第三图像数据流。
在该第二转换步骤中,传输通道的总数量与最大采样像素数量相同,在所有的传输通道中选择与当前待测显示模组要求的每像素时钟周期的采样像素数量一致的传输通道进行传输,生成第三图像像素数据流。
以数据流传输通道的总数量是16,待测显示模组每像素时钟的采样像素数量是8为例,选择8条通道,在第1个像素时钟将第二图像数据流中的前8个像素数据一一对应8条通道进行处理输出,接下来的8个像素数据重复执行上述过程。
以数据流传输通道是8,待测显示模组每像素时钟的采样像素数量是2为例,可以选择第1、2条通道,在第1个像素时钟将第二图像数据流中的第1个像素数据和第2个像素数据一一对应2条通道进行处理输出,在第2个像素时钟输出第3个像素数据和第4个像素数据,在第3个像素时钟输出第5个像素数据和第6个像素数据,并重复执行上述过程。
在将第二图像数据流转换为第三图像数据流之前时,可以根据配置参数确定相邻预设数量的像素的排列顺序;根据排列顺序确定第二图像数据流中每像素时钟的像素传输顺序。
在一个示例中,预设数量为2个或4个,假设当前传输过来的第一图像数据流中,在第1个像素时钟的像素传输顺序分别为:12345678;配置参数是相邻2个像素顺序调换,则转换后输出的数据流在第1个像素时钟的顺序为:21436587;若配置参数是相邻4个像素顺序变化,则转换后输出的数据流在第1个像素时钟的顺序可以为:13245768,也可以为32147658。
同步步骤可以包括S40:将第三图像数据流中的每条图像数据流与视频时序信号进行同步,得到并行视频数据流。
以数据流传输通道总数量是16,待测显示模组每像素时钟的采样像素数量是8为例,第三图像数据流通过8条通道进行传输,将每条通道的图像数据流与视频时序信号进行同步配置,即可得到并行的视频数据流。
本发明实施例通过获取第一图像数据流、视频时序信号和待测显示模组每像素时钟的采样像素数量;将第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,第一位宽根据预设最大采样像素数量和预设最大色深确定;将第二图像数据流经过 与采样像素数量相等数量的传输通道,以转换成第三图像数据流,第三图像数据流为每像素时钟周期传输采样像素数量的并行图像数据流;将第三图像数据流中的每条图像数据流与视频时序信号进行同步,得到并行视频数据流,以便后续可根据该并行视频数据流转换成与接口类型相匹配的数据。不仅适用于预设最大色深和预设最大采样像素数量的待测显示模组,还可以向下兼容其他色深和采样像素数量的待测显示模组,具有较好的兼容性,比如,每个V-By-ONE通道上最大能够实现适用16lane、12色深的待测屏,并且可以向下兼容其他类型的待测屏,目前单个VBYONE通道支持16lane,12bit色深,整个系统可支持4片,也就是可支持64lane,12bit色深;在LVDS通道上满足最大:8lane和12色深的待测屏,并且可以向下兼容其他类型的待测屏。
图3示意性示出了根据本发明另一实施例的基于FPGA的数据流处理方法的流程示意图。如图3所示,在本发明另一实施例中,提供了一种基于FPGA的数据流处理方法,还可以包括以下步骤:
获取子步骤S11:获取原始图像数据流和配置信息。
处理子步骤S12:根据配置信息中的十字光标配置信息对原始图像数据流进行处理,以生成原始图像带有十字光标的第一图像数据流;或,根据配置信息中的十字光标配置信息和单色画面配置信息对原始图像数据流进行处理,以生成单色画面带有十字光标的第一图像数据流;或,根据配置信息中的单色画面配置信息对原始图像数据流进行处理,以生成单色画面的第一图像数据流。
在具体实现中,FPGA可以从处理器中读取原始数据流,并根据配置信息对原始数据流进行处理。
通过对原始图像数据流进行处理,实现了在原始图像上增加十字光标、或者将原始图像转化成带有十字光标的单色图像、或者将原始图像替换成单色图像,进而使得待测显示模组上可以显示单色图像和/或十字光标,这样不仅可以改善需要向PG设备传输已有的单色图像造成对PG设备的存储空间要求高的问题,还可以通过十字光标的配置信息控制十字光标的颜色,使十字光标相对背景颜色突出便于观察坏点。
进一步地,第一转换步骤中,可以包括以下步骤:
S21:将第一图像数据流转换成第二位宽的图像数据流,并保存在缓存中;其中,第二位宽为缓存的最大位宽。
在实际应用中,若FPGA模块包括第一FPGA模块和第二FPGA模块,第一图像数据流是每像素时钟传输64bit的图像数据流,第一FPGA模块获取该第一图像数据流,并需要发送给第二FPGA模块下挂的缓存中;第二FPGA模块的缓存的最大位宽是512bit为例,这样,第二FPGA模块将每像素时钟传输64bit的第一图像数据流转换成每像素时钟传输512bit的图像数据流,如此可以最大化利用缓存的带宽。
S22:从缓存中读取该第二位宽的图像数据流,并转换为每像素时钟周期传输第一位宽的第二图像数据流。
其中,第一位宽是根据预设最大采样像素数量和预设最大色深确定的。通过将第二位宽的图像数据流转换为第二图像数据流,实现了数据从缓存控制器用户时钟域到像素时钟域的转换。
进一步地,在生成并行视频数据流后,数据流处理方法还可以包括匹配步骤S50:将并行视频数据流转换为与待测显示模组的接口类型相匹配的数据。
在具体实现中,与待测显示模组的接口类型相匹配的数据可以是LVDS信号、V-By-One信号或Embedded Display Port(简称EDP)信号等。
图4示意性示出了根据本发明一实施例的基于FPGA的数据流处理系统的框图。一并参照图4,该实施例可以实现将图像数据流转换为V-BY-ONE视频信号。图4中的硬件结构从左到右分别为PS(控制器)、PL(第一FPGA模块)、K160(第二FPGA模块),其中,PS和PL可以是一个最小片上系统,PS为处理器部分,PL属于最小片上系统的FPGA部分,K160是FPGA芯片。
依据图4的硬件结构说明本发明实施例的数据流处理方法如下:
1.PS中的ARM模块向PL中的DMA read模块发送控制信号,DMA read模块根据该控制信号读取PS下挂的DDR模块中的原始图像数据流。
2.DMA read模块将读取的原始图像数据流发送给cursor模块,cursor模块对原始图像数据流进行处理,以实现在原始图像上增加十字光标、或者将原始图像转化成带有十字光标的单色图像、或者将原始图像替换成单色图像。
在本实施例中,通过将cursor模块设置在将第三图像数据流与视频时序信号同步之前,可以使得不同的接口通道可使用相同的cursor模块,从而便于开发。
3.cursor模块将转化得到的第一图像数据流经过高速收发器发送给K160中的RX高速收发器模块。
4.RX高速收发器模块将获取到的一个高速收发器用户时钟传输第一预设位宽(如64bit)的图像数据流发送给DMA write模块。
5.DMA write模块将一个高速收发器用户时钟传输第一预设位宽(如64bit)的图像数据流处理成一个DDR Controller用户时钟传输第二预设位宽(如512bit)的图像数据流,并最终保存在K160的DDR中。
DMA write模块将转换后的图像数据流保存在DDR中的具体过程为:PS软件通过写寄存器启动DMA write模块写操作,DMA write模块由软件配置的首地址开始,采用burst方式将数据写入DDR,并不断增加地址。当寄存器所配置的大小的图像数据都已写入DDR完成时,DMA write模块重新从首地址开始将新的数据写入。
6.DMA read模块读取DDR中的数据,并经过dwidth-converster位宽转换模块将一个DDR控制器用户时钟传输第二预设位宽(如512bit)的图像数据流转化成一个像素时钟传输第一位宽(如576bit)的第二图像数据流,其中,第一位宽根据预设最大采样像素数量(如16)和预设最大色深(如12)确定。
7.VTC模块根据PS发送的配置信息生成视频时序信号。
8.PPC-convert模块根据待测显示模组每像素时钟的采样像素数量选择相同数量的通道,对dwidth-converster模块输出的第二图像数据流进行传输。
以PPC-convert模块中包括16条处理通道、待测显示模组每像素时钟的采样像素数量是8时,选择8条通道,在第1个像素时钟将第二图像数据流中的前8个像素数据一一对应8条通道进行处理输出,接下来的8个像素数据重复执行上述过程。
9.axi-to-video模块将PPC-convert模块输出的第三图像数据流和VTC模块输出的视频时序信号进行同步配置,向timing packer模块输出并行视频数据。
10.timing packer模块将并行视频数据与LVDS接口协议映射,随后由串化器实现并行视频数据转串行数据。
11.K160输出的串行数据经过转换芯片(图中未示出)转换成V-BY-ONE信号。
另外,在步骤5、6和7、8进行之前,PS可以经过AXI总线通过PL中的SPI master模块与K160中的SPI-slave模块进行通信。并将SPI访问转换为AXI总线下的寄存器registers访问,从而进行配置。
图5示意性示出了根据本发明另一实施例的基于FPGA的数据流处理系统的框图。一并参照图5,该实施例可以实现将图像数据流转换为LVDS信号。依据图5的硬件结构说明本发明实施例的数据流处理方法如下:
1.video framebuffer reader模块可以从DDR中以每1个系统时钟2个像素的速度读取第一图像数据,并传输给data buffer模块;
2.data buffer模块获取第一图像数据后转换成每像素时钟周期传输第一位宽的第二图像数据流,其中,第一位宽根据预设最大采样像素数量和预设最大色深确定。以预设最大采样像素数量为8,最大色深是12为例,第二图像数据流是一个像素时钟传输96bit的图像数据流。
data buffer模块将第二图像数据流发送给data parity模块。
3.data parity模块根据配置参数确定相邻两个或4个像素的顺序,对第二图像数据流进行转换并输出给data shift模块。
假设当前传输过来的第二图像数据流中,在第1个像素时钟的像素传输顺序分别为:12345678;配置参数是相邻2个像素顺序调换,则转换后输出的数据流在第1个像素时钟的顺序为:21436587;若配置参数是相邻4个像素顺序变化,则转换后输出的数据流在第1个像素时钟的顺序可以为:13245768,也可以为32147658。
4.data shift模块根据配置参数中的待测显示模组的每时钟采样像素数量对第二图像数据流进行转化,并经过FIFO模块发送至data packing模块。
以data shift模块包括8条处理通道,待测显示模组每时钟采样像素数量是2为例,选择第1、2条通道,在第1个像素时钟将第二图像数据流中的第1个像素数据和第2个像素数据一一对应2条通道进行处理输出,在第2个像素时钟输出第3个像素数据和第4个像素数据,在第3个像素时钟输出第5个像素数据和第6个像素数据,并重复执行上述过程。
5.data packing模块将FIFO模块传输过来的第三图像数据流与VTC模块发送过来的视频时序信号进行同步,生成并行的视频数据总线信号。
在待测显示模组每时钟采样像素数量是2时,data packing模块的数量也为2个,其中,1个data packing模块将奇数列像素与视频时序信号同步,另1个data packing模块将偶数列像素与视频时序信号同步。
6. 7bit到8bit的数据位宽转换。在串化器仅支持8:1的串化模式,而视频LVDS接口协议是7:1的情况下,需要将7bit的位宽的并行数据转换为8bit的位宽的并行数据后,再输出给串化器。同时,为保证输入输出的数据带宽不变,8bit输出数据的时钟应为7bit输 入数据的时钟的八分之七。
以上是将图像数据流通过V-By-ONE和LVDS通道传输的原理,而在EDP通道中,也可采用本发明实施例提供的基于FPGA的数据传输方法,原理于V-By-ONE和LVDS通道相似,在此不再赘述。
图2和图3为一个实施例中基于FPGA的数据流处理方法的流程示意图。应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种基于FPGA的数据流处理装置,包括获取模块10、第一转换模块20、第二转换模块30以及同步模块40,其中:获取模块10,用于获取第一图像数据流和待测显示模组每像素时钟的采样像素数量;第一转换模块20,用于将第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,第一位宽根据预设最大采样像素数量和预设最大色深确定;第二转换模块30,用于将第二图像数据流经过与采样像素数量相等数量的传输通道,以转换成第三图像数据流,其中,第三图像数据流为每像素时钟周期传输采样像素数量的并行图像数据流;同步模块40,用于将第三图像数据流中的每条图像数据流与视频时序信号进行同步,得到并行视频数据流。
进一步地,获取模块10包括:获取子模块(图未示):用于获取原始图像数据流和配置信息;处理子模块(图未示):用于根据配置信息中的十字光标配置信息对原始图像数据流进行处理,以生成原始图像带有十字光标的第一图像数据流;或,根据配置信息中的十字光标配置信息和单色画面配置信息对原始图像数据流进行处理,以生成单色画面带有十字光标的第一图像数据流;或,根据配置信息中的单色画面配置信息对原始图像数据流进行处理,以生成单色画面的第一图像数据流。
进一步地,第一转换模块20还用于将第一图像数据流转换成第二位宽的图像数据流,并保存在缓存中;其中,第二位宽为缓存的最大位宽;从缓存中读取该第二位宽的图像数据流,并转换为每像素时钟周期传输第一位宽的第二图像数据流。
进一步地,获取模块10还用于:获取解析测试文件包得到的配置文件中的配置参数;根据配置参数确定待测显示模组每像素时钟的采样像素数量。
进一步地,数据流处理装置还包括像素顺序确定模块(图未示),用于根据配置参数确定相邻预设数量的像素的排列顺序;根据排列顺序确定第二图像数据流中每像素时钟的像素传输顺序。
进一步地,数据流处理装置还包括匹配模块(图未示),用于将并行视频数据流转换为与待测显示模组的接口类型相匹配的数据。
本发明实施例还提供了一种PG设备,包括:存储器,用于存储基于FPGA的数据流处理程序;处理器,被配置成从存储器调用基于FPGA的数据流处理程序使得处理器能够执行上述的基于FPGA的数据流处理方法。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (10)

  1. 一种基于FPGA的数据流处理方法,其特征在于,包括:
    获取步骤:获取第一图像数据流、视频时序信号和待测显示模组每像素时钟的采样像素数量;
    第一转换步骤:将所述第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,所述第一位宽根据预设最大采样像素数量和预设最大色深确定;
    第二转换步骤:将所述第二图像数据流经过与所述采样像素数量相等数量的传输通道,以转换成第三图像数据流,其中,所述第三图像数据流为每像素时钟周期传输所述采样像素数量的并行图像数据流;
    同步步骤:将所述第三图像数据流中的每条图像数据流与所述视频时序信号进行同步,得到并行视频数据流。
  2. 根据权利要求1所述的数据流处理方法,其特征在于,所述获取步骤中,包括:
    获取子步骤:获取原始图像数据流和配置信息;
    处理子步骤:根据所述配置信息中的十字光标配置信息对所述原始图像数据流进行处理,以生成原始图像带有十字光标的第一图像数据流;或,根据所述配置信息中的十字光标配置信息和单色画面配置信息对所述原始图像数据流进行处理,以生成单色画面带有十字光标的第一图像数据流;或,根据所述配置信息中的单色画面配置信息对所述原始图像数据流进行处理,以生成单色画面的第一图像数据流。
  3. 根据权利要求1所述的数据流处理方法,其特征在于,所述第一转换步骤中,包括:
    将所述第一图像数据流转换成第二位宽的图像数据流,并保存在缓存中;其中,所述第二位宽为所述缓存的最大位宽;
    从所述缓存中读取该第二位宽的图像数据流,并转换为每像素时钟周期传输第一位宽的第二图像数据流。
  4. 根据权利要求1所述的数据流处理方法,其特征在于,所述获取步骤中,包括:
    获取解析测试文件包得到的配置文件中的配置参数;
    根据所述配置参数确定所述待测显示模组每像素时钟的采样像素数量。
  5. 根据权利要求4所述的数据流处理方法,其特征在于,在所述第一转换步骤和所述第二转换步骤之间,还包括:
    根据所述配置参数确定相邻预设数量的像素的排列顺序;
    根据所述排列顺序确定所述第二图像数据流中每像素时钟的像素传输顺序。
  6. 根据权利要求1所述的数据流处理方法,其特征在于,还包括:
    匹配步骤:将所述并行视频数据流转换为与所述待测显示模组的接口类型相匹配的数据。
  7. 一种基于FPGA的数据流处理装置,其特征在于,包括:
    获取模块,用于获取第一图像数据流、视频时序信号和待测显示模组每像素时钟的采样像素数量;
    第一转换模块,用于将所述第一图像数据流转换为每像素时钟周期传输第一位宽的第二图像数据流,其中,所述第一位宽根据预设最大采样像素数量和预设最大色深确定;
    第二转换模块,用于将所述第二图像数据流经过与所述采样像素数量相等数量的传输通道,以转换成第三图像数据流,其中,所述第三图像数据流为每像素时钟周期传输所述采样像素数量的并行图像数据流;
    同步模块,用于将所述第三图像数据流中的每条图像数据流与所述视频时序信号进行同步,得到并行视频数据流。
  8. 根据权利要求7所述的数据流处理装置,其特征在于,所述获取模块包括:
    获取子模块:用于获取原始图像数据流和配置信息;
    处理子模块:用于根据所述配置信息中的十字光标配置信息对所述原始图像数据流进行处理,以生成原始图像带有十字光标的第一图像数据流;或,根据所述配置信息中的十字光标配置信息和单色画面配置信息对所述原始图像数据流进行处理,以生成单色画面带有十字光标的第一图像数据流;或,根据所述配置信息中的单色画面配置信息对所述原始图像数据流进行处理,以生成单色画面的第一图像数据流。
  9. 根据权利要求7所述的数据流处理装置,其特征在于,所述第一转换模块,还用于将所述第一图像数据流转换成第二位宽的图像数据流,并保存在缓存中;其中,所述第二位宽为所述缓存的最大位宽;从所述缓存中读取该第二位宽的图像数据流,并转换为每像素时钟周期传输第一位宽的第二图像数据流。
  10. 一种PG设备,其特征在于,包括:根据权利要求7至9中任意一项所述的基于FPGA的数据流处理装置。
PCT/CN2022/133702 2021-12-20 2022-11-23 基于fpga的数据流处理方法、装置及pg设备 WO2023116320A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111565327.X 2021-12-20
CN202111565327.XA CN114245029B (zh) 2021-12-20 2021-12-20 基于fpga的数据流处理方法、装置及pg设备

Publications (1)

Publication Number Publication Date
WO2023116320A1 true WO2023116320A1 (zh) 2023-06-29

Family

ID=80759697

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/133702 WO2023116320A1 (zh) 2021-12-20 2022-11-23 基于fpga的数据流处理方法、装置及pg设备

Country Status (2)

Country Link
CN (1) CN114245029B (zh)
WO (1) WO2023116320A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886845A (zh) * 2023-09-04 2023-10-13 湖北芯擎科技有限公司 自适应的参数更新方法、装置、计算机设备及存储介质
CN116996590A (zh) * 2023-07-03 2023-11-03 芯启源(上海)半导体科技有限公司 Fpga原型验证平台的以太网降速器及数据传输方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114245029B (zh) * 2021-12-20 2023-08-01 北京镁伽科技有限公司 基于fpga的数据流处理方法、装置及pg设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090058775A1 (en) * 2007-08-28 2009-03-05 Kabushiki Kaisha Toshiba Liquid crystal drive apparatus and liquid crystal display apparatus
CN101431693A (zh) * 2007-11-05 2009-05-13 深圳Tcl新技术有限公司 一种平板电视配屏装置
US20140056577A1 (en) * 2011-04-28 2014-02-27 Tomoki Ogawa Recording medium, playback device, recording device, encoding method, and decoding method related to higher image quality
CN204360056U (zh) * 2014-12-19 2015-05-27 湖南汇盛科技有限公司 一种新型液晶显示屏测试机
CN110570793A (zh) * 2019-08-05 2019-12-13 武汉精立电子技术有限公司 一种适配不同类型显示屏的测试方法、装置及终端设备
CN111327858A (zh) * 2020-03-04 2020-06-23 青岛大学 Lvds视频信号转hdmi接口信号方法、系统、装置
CN114245029A (zh) * 2021-12-20 2022-03-25 北京镁伽科技有限公司 基于fpga的数据流处理方法、装置及pg设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7800623B2 (en) * 2003-09-18 2010-09-21 Genesis Microchip Inc. Bypassing pixel clock generation and CRTC circuits in a graphics controller chip
KR101545318B1 (ko) * 2008-10-16 2015-08-18 삼성전자주식회사 멀티미디어 소스에서의 클록 생성 방법 및 데이터 전송 방법
CN102905056B (zh) * 2012-10-18 2015-09-02 利亚德光电股份有限公司 视频图像处理方法及装置
CN103873802A (zh) * 2012-12-18 2014-06-18 深圳市广平正科技有限责任公司 高清视频信号发生器及其信号产生方法
CN103475842B (zh) * 2013-09-25 2017-01-04 武汉精立电子技术有限公司 Lvds视频信号转换为mipi视频信号方法
CN103491336B (zh) * 2013-09-25 2016-08-24 武汉精立电子技术有限公司 单link的lvds视频信号转换为mipi视频信号方法
EP2922288A1 (en) * 2014-03-18 2015-09-23 Thomson Licensing Method for processing a video sequence, corresponding device, computer program and non-transitory computer-readable medium
US9736455B2 (en) * 2014-06-30 2017-08-15 Nokia Technologies Oy Method and apparatus for downscaling depth data for view plus depth data compression
CN104767959A (zh) * 2015-04-15 2015-07-08 中国航空无线电电子研究所 一种实现单像素到多像素数字视频信号的转换方法
CN106328045B (zh) * 2015-07-06 2019-07-16 西安诺瓦电子科技有限公司 可编程逻辑器件及其亚像素下采样方法和数据编码电路
CN104952421B (zh) * 2015-07-13 2018-04-24 武汉精测电子集团股份有限公司 一种生成用于mipi模组检测的mipi信号的方法及系统
US9911174B2 (en) * 2015-08-26 2018-03-06 Apple Inc. Multi-rate processing for image data in an image processing pipeline
CN111988552B (zh) * 2019-05-23 2022-08-23 北京嗨动视觉科技有限公司 图像输出控制方法及装置和视频处理设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090058775A1 (en) * 2007-08-28 2009-03-05 Kabushiki Kaisha Toshiba Liquid crystal drive apparatus and liquid crystal display apparatus
CN101431693A (zh) * 2007-11-05 2009-05-13 深圳Tcl新技术有限公司 一种平板电视配屏装置
US20140056577A1 (en) * 2011-04-28 2014-02-27 Tomoki Ogawa Recording medium, playback device, recording device, encoding method, and decoding method related to higher image quality
CN204360056U (zh) * 2014-12-19 2015-05-27 湖南汇盛科技有限公司 一种新型液晶显示屏测试机
CN110570793A (zh) * 2019-08-05 2019-12-13 武汉精立电子技术有限公司 一种适配不同类型显示屏的测试方法、装置及终端设备
CN111327858A (zh) * 2020-03-04 2020-06-23 青岛大学 Lvds视频信号转hdmi接口信号方法、系统、装置
CN114245029A (zh) * 2021-12-20 2022-03-25 北京镁伽科技有限公司 基于fpga的数据流处理方法、装置及pg设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996590A (zh) * 2023-07-03 2023-11-03 芯启源(上海)半导体科技有限公司 Fpga原型验证平台的以太网降速器及数据传输方法
CN116996590B (zh) * 2023-07-03 2024-04-05 芯启源(上海)半导体科技有限公司 Fpga原型验证平台的以太网降速器及数据传输方法
CN116886845A (zh) * 2023-09-04 2023-10-13 湖北芯擎科技有限公司 自适应的参数更新方法、装置、计算机设备及存储介质
CN116886845B (zh) * 2023-09-04 2023-12-15 湖北芯擎科技有限公司 自适应的参数更新方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN114245029A (zh) 2022-03-25
CN114245029B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
WO2023116320A1 (zh) 基于fpga的数据流处理方法、装置及pg设备
US6877106B2 (en) Image display method, image display system, host device, image display device and display interface
JP3349490B2 (ja) 画像表示方法、画像表示システム、ホスト装置、画像表示装置、およびディスプレイ用インターフェイス
KR100383751B1 (ko) 화상 디스플레이 시스템, 호스트 장치, 화상 디스플레이장치 및 화상 디스플레이 방법
EP3134804B1 (en) Multiple display pipelines driving a divided display
TWI579819B (zh) 顯示驅動器積體電路及其顯示資料處理方法
CN104935840A (zh) 一种拼接显示屏的字幕滚动显示方法及系统
CN104717485A (zh) 一种基于fpga的vga接口裸眼3d显示系统
WO2017000849A1 (zh) Lvds视频信号转换为dp视频信号的方法及系统
KR20170046989A (ko) 다중 디스플레이 시스템을 구성하는 디스플레이 장치 및 그 제어 방법
TW202013172A (zh) 影像訊號切換和轉換之裝置及方法
JP4978628B2 (ja) 映像信号分配システムおよび映像信号伝送システム
US20060055626A1 (en) Dual screen display using one digital data output
JP3877943B2 (ja) 液晶表示装置およびウィンドウ表示拡大制御方法
CN110570793B (zh) 一种适配不同类型显示屏的测试方法、装置及终端设备
CN115101025B (zh) 一种支持虚拟帧缓冲的lcd控制电路及其控制方法
CN108259875B (zh) 一种数字图像伽马校正硬件实现方法及系统
JP4191206B2 (ja) 画像表示システム、および画像表示装置
KASAI et al. Digital Packet Video Link for super high resolution display
US6184907B1 (en) Graphics subsystem for a digital computer system
JP2000122030A (ja) マトリクス型液晶表示パネル駆動方法およびこの方法を実施する装置
EP2388686A1 (en) Image processing device and image signal processing system
Shi et al. Design of VGA display system based on CPLD and SRAM
CN105516632A (zh) Lvds视频信号转换为dp1.2视频信号的方法及系统
CN108363675B (zh) 一种伴随时钟同步方法及数字图像伽马校正硬件实现方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22909635

Country of ref document: EP

Kind code of ref document: A1