Inkjet printing control method and apparatus, inkjet printing device, and storage medium

CN122956858APending Publication Date: 2026-10-23IFLYTEK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611070089.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-17
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

[0003]然而,在上述多喷头交错阵列的工程化应用中,现有控制方案至少存在以下不足:图像内容的空间分布不均导致部分喷嘴长期闲置而劣化、各墨盒消耗速率严重失衡,同时大量空白或低信息量区域仍占用全量数据传输带宽,导致打印质量一致性和系统整体效率难以保障

Benefits of technology

[0023]本发明提供的喷墨打印控制方法、装置、喷墨打印设备及存储介质,SoC控制单元先通过将待打印图像划分为多个图像区域,为后续差异化数据处理提供了空间粒度基础,然后识别各图像区域中的可调度喷点和不可调度喷点,并基于喷点特征生成多种不同格式的喷点数据包,使得大量空白或低信息量区域不再占用全量像素传输带宽,降低了SoC控制单元与FPGA时序控制单元之间的数据传输量,缓解了带宽资源瓶颈。接着,通过获取各墨盒的状态参数计算均衡分数,并在可调度喷点对应的候选喷嘴中选择均衡分数最低的墨盒所对应的喷嘴作为目标喷嘴,能够将可调度喷点的喷射任务动态分配给负载最轻的墨盒执行,避免部分墨盒因对应区域图像覆盖率过高而过早耗尽、同时部分墨盒因长期低负载导致喷嘴闲置劣化的问题,实现了跨墨盒的负载均衡,延长了各墨盒的整体使用寿命,降低了耗材成本。最后,基于目标喷嘴和不可调度喷点更新喷点数据包,并将更新后的喷点数据包下发至FPGA时序控制单元,充分发挥了SoC控制单元擅长复杂策略计算、FPGA时序控制单元擅长硬件级实时响应的架构优势,在保证高速打印实时性的前提下实现了调度策略的动态调整,提升了系统整体效率和打印质量一致性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122956858A_ABST
    Figure CN122956858A_ABST
Patent Text Reader

Abstract

The application provides an inkjet printing control method and device, an inkjet printing equipment and a storage medium, and relates to the technical field of inkjet printing. The inkjet printing control method is applied to a SoC control unit of an inkjet printing equipment, and comprises the following steps: dividing a to-be-printed image into multiple image regions; identifying schedulable inkjet nozzles and non-schedulable inkjet nozzles in each image region, and generating corresponding inkjet nozzle data packets based on inkjet nozzle characteristics of each image region; obtaining state parameters of each ink cartridge, and calculating a balance score of each ink cartridge based on the state parameters; obtaining candidate inkjet nozzles corresponding to each schedulable inkjet nozzle, and determining target inkjet nozzles from the candidate inkjet nozzles based on the balance score of the ink cartridge to which the candidate inkjet nozzles belong; and updating the inkjet nozzle data packets based on the target inkjet nozzles and the non-schedulable inkjet nozzles, and delivering the updated inkjet nozzle data packets to an FPGA timing control unit. The application can reduce data transmission, balance ink cartridge consumption, and improve the overall efficiency of the system and the consistency of the printing quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of inkjet printing technology, and in particular to an inkjet printing control method, apparatus, inkjet printing equipment, and storage medium. Background Technology

[0002] As inkjet printing technology evolves towards higher speeds and wider formats, single-pass printing architecture has become the mainstream solution for improving printing efficiency for A3 and larger formats due to its ability to complete full-page output in a single pass without reciprocating scanning. In this architecture, multiple printhead modules are typically arranged in a staggered, vertical arrangement along the print width to form a continuous, effective printing area. This modular design not only facilitates wide-page coverage but also supports the independent removal and replacement of individual printheads or ink cartridges, significantly reducing maintenance costs and downtime.

[0003] However, in the engineering applications of the above-mentioned multi-head staggered array, the existing control scheme has at least the following shortcomings: uneven spatial distribution of image content leads to some nozzles being idle for a long time and deteriorating, and the consumption rate of each ink cartridge is seriously unbalanced. At the same time, a large number of blank or low-information areas still occupy the full data transmission bandwidth, making it difficult to guarantee the consistency of print quality and the overall efficiency of the system.

[0004] Therefore, how to achieve efficient and stable control of wide-format single-pass inkjet printing and ensure print quality under the constraints of limited bandwidth resources and uneven printhead load has become a technical problem that urgently needs to be solved in this field. Summary of the Invention

[0005] This invention provides an inkjet printing control method, device, inkjet printing equipment, and storage medium to solve the problem of how to achieve efficient and stable control of wide-format single-pass inkjet printing under the coupling constraints of limited bandwidth resources and uneven printhead load, thereby ensuring print quality.

[0006] In a first aspect, the present invention provides an inkjet printing control method applied to a SoC control unit of an inkjet printing device, comprising: Divide the image to be printed into multiple image regions; Identify schedulable and non-schedulable spray points in each of the image regions, and generate corresponding spray point data packets based on the spray point features of each of the image regions; Obtain the status parameters of each ink cartridge, and calculate the equalization score of each ink cartridge based on the status parameters; Obtain candidate nozzles corresponding to each of the schedulable spray points, and determine the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzles belong; The spray point data packet is updated based on the target nozzle and the unschedulable spray point, and the updated spray point data packet is sent to the FPGA timing control unit.

[0007] According to an inkjet printing control method provided by the present invention, the step of identifying schedulable and non-schedulable inkjet dots in each of the image regions includes: Obtain the spray points, their position coordinates, and grayscale values ​​within each of the image regions; If the location coordinates fall within the physical coverage area of ​​an adjacent nozzle, or the local image gradient magnitude corresponding to the location coordinates is less than a preset edge threshold, or the gray value is within a preset redundant gray range, then the corresponding nozzle is determined to be a schedulable nozzle. If the local image gradient magnitude corresponding to the position coordinates is greater than or equal to the preset edge threshold, or if the position coordinates fall into the graphic code area, the positioning line template area, or the preset protection mask area, then the corresponding spray point is determined to be an unschedulable spray point.

[0008] According to an inkjet printing control method provided by the present invention, the inkjet dot features include pixel coverage and inkjet dot distribution information, and the step of generating corresponding inkjet dot data packets based on the inkjet dot features of each image region includes: When the pixel coverage of the image region is zero, it is determined to be a continuous blank region, and a blank line segment packet including the blank start position and blank length is generated; When the pixel coverage of the image region is greater than zero and less than a preset sparse threshold, a spray point event packet including the spray point position, nozzle number and gray level is generated. When it is determined from the nozzle distribution information that the nozzles in the image region are located in the overlapping coverage area of ​​adjacent nozzles, a stitching strategy package including candidate nozzle information and alternative nozzle information is generated. When multiple image regions are determined to be repeating pattern regions based on the spray dot distribution information, a template reuse package including template identifier and differential position is generated; The spraying data packet includes at least one of the blank line segment packet, the spraying event packet, the splicing strategy packet, and the template reuse packet.

[0009] According to an inkjet printing control method provided by the present invention, the step of acquiring the state parameters of each ink cartridge and calculating the equalization score of each ink cartridge based on the state parameters includes: Obtain the status parameters of each ink cartridge, including the remaining ink volume of the ink cartridge, the cumulative number of ink dots, the nozzle idle time, the nozzle health status, and printhead replacement information. The remaining ink volume deviation is determined based on the remaining ink volume of the ink cartridge, the average remaining ink volume of the ink cartridge, and the preset ink volume imbalance threshold. The cumulative nozzle deviation is determined based on the cumulative nozzle count, the average cumulative nozzle count of the ink cartridge, and the preset cumulative nozzle imbalance threshold. Idle risk is determined based on the nozzle idle time and the target dry-out risk trigger threshold, wherein the target dry-out risk trigger threshold is determined based on ambient temperature and relative humidity; Based on the nozzle's health status, a health penalty is determined; Based on the nozzle replacement information and the cumulative number of spray points, a replacement break-in penalty is determined; The remaining ink volume deviation, the cumulative ink dot deviation, the idle risk, the health penalty, and the replacement break-in penalty are weighted and summed to obtain the equilibrium score.

[0010] According to an inkjet printing control method provided by the present invention, the step of obtaining candidate nozzles corresponding to each of the schedulable inkjet points includes: Obtain nozzles that cover the schedulable spray points as initial candidate nozzles; The current health status, previous injection time, and continuous injection count of the initial candidate nozzle are obtained, wherein the continuous injection count is the cumulative number of injections of each nozzle in a continuous row cycle; Remove initial candidate nozzles whose current health status is abnormal, remove candidate nozzles whose difference between the current time and the previous spray time is less than the preset minimum spray interval, and remove candidate nozzles whose continuous spray count is greater than the preset maximum number of continuous sprays. The remaining initial candidate nozzles are used as the candidate nozzles.

[0011] According to an inkjet printing control method provided by the present invention, before sending the updated dot data packet to the FPGA timing control unit, the method further includes: Get the current nozzle idle time for each nozzle; When the current nozzle idle time exceeds the target dry-out risk trigger threshold, a safe landing point is found within the page margin range; When there is a blank space within the margin range that does not include unschedulable spray points, the blank space is taken as the safe landing point position; If there is no blank space within the margin range, continue searching for the safe landing point within the trimming edge range; When there is no blank space within the cutting edge range, the waste ink area is taken as the safe landing point. Based on the safe landing point location, a moisturizing strategy package is generated; The step of sending the updated spray point data packet to the FPGA timing control unit includes: The updated spray point data package and the moisturizing strategy package are sent to the FPGA timing control unit.

[0012] According to an inkjet printing control method provided by the present invention, the inkjet printing control method further includes: When a change in the identification number of any nozzle is detected, the corresponding target nozzle is marked as a new replacement nozzle, and the proportion of the target nozzle participating in the selection of the schedulable spray points is controlled to the initial proportion. Obtain the spray intensity test result of the target nozzle, and update the grayscale lookup table, row delay compensation table and nozzle mapping table according to the spray intensity test result; Once the cumulative number of spray points from the target nozzle reaches a preset break-in threshold, the proportion of the target nozzle participating in the selection of the schedulable spray points is gradually increased by a preset step size until the full proportion is reached.

[0013] According to an inkjet printing control method provided by the present invention, before sending the updated dot data packet to the FPGA timing control unit, the method further includes: A balance weight table is generated based on the balance score, and the balance weight table includes the mapping relationship between the number of each ink cartridge and the corresponding balance score; Obtain a no-spray table, which includes a list of nozzle numbers that are prohibited from spraying; Package the balanced weight table, the no-spray table, the updated grayscale lookup table, the updated row delay compensation table, and the updated nozzle mapping table into a global configuration package; The step of sending the updated spray dot data packet to the FPGA timing control unit also includes: The updated spray point data package and the global configuration package are sent to the FPGA timing control unit.

[0014] Secondly, the present invention also provides an inkjet printing control method applied to an FPGA timing control unit of an inkjet printing device, the inkjet printing control method comprising: Receive the updated spray point data packet sent by the SoC control unit; The current row position is determined based on the row synchronization signal; Based on the updated spray point data packet and the current row position, a corresponding spray pulse is generated; The jet pulse is output to the nozzle array.

[0015] According to an inkjet printing control method provided by the present invention, the inkjet data packet includes an inkjet event packet and a blank line segment packet. The inkjet event packet includes the inkjet position, nozzle number and gray level, and the blank line segment packet includes the blank start position and blank length. The step of generating a corresponding jet pulse based on the updated jet point data packet and the current row position includes: When the current row position matches the row position in the spray point position, a corresponding spray pulse is generated based on the gray level; When the current line position is within the range of the blank start position to the blank start position plus the blank length of the blank line segment, the output of the jet pulse is prohibited.

[0016] According to an inkjet printing control method provided by the present invention, the inkjet data packet further includes a template multiplexing packet, the template multiplexing packet includes a template identifier and a differential position, the differential position includes a differential row position and a differential column position; The step of generating a corresponding jet pulse based on the updated jet point data packet and the current row position further includes: When the current row position matches the differential row position, the locally stored template data is obtained according to the template identifier, and the template data is replaced with differential spray point data at the differential column position to generate a spray pulse.

[0017] According to an inkjet printing control method provided by the present invention, before generating the corresponding jet pulse based on the updated dot data packet and the current row position, the method further includes: Receive a global configuration package sent by the SoC control unit. The global configuration package includes a weight balance table, a spray ban table, a grayscale lookup table, a row delay compensation table, and a nozzle mapping table. The step of generating a corresponding jet pulse based on the updated jet point data packet and the current row position further includes: According to the no-spray table, the spray point events corresponding to the nozzles that are prohibited from spraying are discarded in the updated spray point data packet to obtain the processed spray point data packet; When the processed inkjet data packet includes multiple candidate nozzles, based on the equalization weight table, the nozzle corresponding to the cartridge with the lowest equalization score is selected as the actual output nozzle, and the nozzle number corresponding to the inkjet event in the processed inkjet data packet is updated to the number of the actual output nozzle. The row delay compensation table is queried according to the actual output nozzle number. The row position in the processed spray point data packet is superimposed with the row delay compensation value corresponding to each actual output nozzle to generate the row position after delay correction. When the current row position matches the delayed row position, the grayscale lookup table is queried according to the actual output nozzle number, and the grayscale level in the processed spray point data packet is mapped to the corresponding width of the spray pulse.

[0018] Thirdly, the present invention also provides an inkjet printing control method applied to an inkjet printing device, the inkjet printing device including a SoC control unit and an FPGA timing control unit, comprising: The SoC control unit divides the image to be printed into multiple image regions, identifies schedulable and non-schedulable spray points in each image region, and generates corresponding spray point data packets based on the spray point characteristics of each image region. The SoC control unit acquires the status parameters of each ink cartridge and calculates the equalization score of each ink cartridge based on the status parameters; The SoC control unit acquires the candidate nozzles corresponding to each schedulable inkjet point, and determines the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzle belongs. The SoC control unit updates the spray point data packet based on the target nozzle and the unschedulable spray point, and sends the updated spray point data packet to the FPGA timing control unit. The FPGA timing control unit receives the updated spray dot data packet and determines the current row position based on the row synchronization signal; The FPGA timing control unit generates a corresponding injection pulse based on the updated injection point data packet and the current row position, and outputs the injection pulse to the nozzle array.

[0019] Fourthly, the present invention also provides an inkjet printing control device, comprising: The image region segmentation module is used to divide the image to be printed into multiple image regions; The spray point data packet generation module is used to identify schedulable and non-schedulable spray points in each of the image regions, and generate corresponding spray point data packets based on the spray point features of each of the image regions. The equalization score calculation module is used to obtain the status parameters of each ink cartridge and calculate the equalization score of each ink cartridge based on the status parameters. The target nozzle determination module is used to obtain the candidate nozzles corresponding to each of the schedulable spray points, and determine the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzles belong. The spray point data packet delivery module is used to update the spray point data packet based on the target nozzle and the unschedulable spray point, and then send the updated spray point data packet to the FPGA timing control unit.

[0020] Fifthly, the present invention also provides an inkjet printing control device, comprising: The spray dot data packet receiving module is used to receive the updated spray dot data packets sent by the SoC control unit; The current row position determination module is used to determine the current row position based on the row synchronization signal; The injection pulse generation module is used to generate a corresponding injection pulse based on the updated injection point data packet and the current row position; The jet pulse output module is used to output the jet pulse to the nozzle array.

[0021] Sixthly, the present invention also provides an inkjet printing device, including a SoC control unit, an FPGA timing control unit, and a printhead array formed by multiple printhead modules arranged alternately in a vertical fashion. The SoC control unit and the FPGA timing control unit are communicatively connected via a data bus. The SoC control unit is used to execute the inkjet printing control method as described in the first aspect; The FPGA timing control unit is used to execute the inkjet printing control method as described in the second aspect.

[0022] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the inkjet printing control method as described in the first aspect, or implements the inkjet printing control method as described in the second aspect.

[0023] The inkjet printing control method, apparatus, inkjet printing equipment, and storage medium provided by this invention first divide the image to be printed into multiple image regions, providing a spatial granularity basis for subsequent differentiated data processing. Then, it identifies schedulable and non-schedulable inkjet dots in each image region and generates inkjet dot data packets in various formats based on dot characteristics. This prevents large blank or low-information areas from occupying the full pixel transmission bandwidth, reducing the data transmission volume between the SoC control unit and the FPGA timing control unit and alleviating bandwidth resource bottlenecks. Next, by acquiring the status parameters of each ink cartridge, it calculates the equalization score and selects the nozzle corresponding to the ink cartridge with the lowest equalization score from the candidate nozzles corresponding to the schedulable inkjet dots as the target nozzle. This dynamically allocates the inkjet printing task of the schedulable inkjet dots to the ink cartridge with the lightest load, avoiding the problem of some ink cartridges running out of ink prematurely due to excessive image coverage in the corresponding area, and the problem of some ink cartridges having nozzles idle and deteriorating due to long-term low load. This achieves cross-ink cartridge load balancing, extends the overall service life of each ink cartridge, and reduces consumable costs. Finally, the nozzle data packet is updated based on the target nozzle and unschedulable nozzles, and the updated nozzle data packet is sent to the FPGA timing control unit. This fully leverages the architectural advantages of the SoC control unit, which excels in complex strategy calculations, and the FPGA timing control unit, which excels in hardware-level real-time response. Under the premise of ensuring high-speed printing real-time performance, the scheduling strategy is dynamically adjusted, thereby improving the overall system efficiency and print quality consistency. Attached Figure Description

[0024] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0025] Figure 1 This is one of the flowcharts of the inkjet printing control method for SoC control units provided by the present invention.

[0026] Figure 2 This is the second flowchart of the inkjet printing control method for SoC control units provided by the present invention.

[0027] Figure 3 This is the third flowchart of the inkjet printing control method for SoC control units provided by the present invention.

[0028] Figure 4 This is a flowchart illustrating the inkjet printing control method for FPGA timing control units provided by the present invention.

[0029] Figure 5 This is one of the structural schematic diagrams of the inkjet printing control device provided by the present invention.

[0030] Figure 6 This is the second schematic diagram of the inkjet printing control device provided by the present invention.

[0031] Figure 7 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0033] As inkjet printing technology evolves towards higher speeds and wider formats, single-pass printing architecture has become the mainstream solution for improving printing efficiency for A3 and larger formats due to its ability to complete full-page output in a single pass without reciprocating scanning. In this architecture, multiple printhead modules are typically arranged in a staggered, vertical arrangement along the print width to form a continuous, effective printing area. This modular design not only facilitates wide-page coverage but also supports the independent removal and replacement of individual printheads or ink cartridges, significantly reducing maintenance costs and downtime.

[0034] However, in the engineering applications of the aforementioned multi-head staggered array, due to the combined effects of factors such as differences in printhead physical characteristics, uneven distribution of image content, and limitations in data transmission bandwidth, existing control schemes make it difficult to guarantee print quality consistency and overall system efficiency.

[0035] Specifically, this manifests itself in the following aspects: First, there is uneven nozzle load. In a staggered array, the image area coverage of different printhead modules varies significantly. This uneven spatial distribution of image content causes some nozzles to remain underloaded or idle for extended periods. Ink gradually thickens at the nozzle orifice due to solvent evaporation, leading to first-drop deviation, line breaks, or complete blockage. Existing control schemes often employ static configuration or single-objective optimization strategies, failing to flexibly allocate the ejection tasks of each printhead based on its actual condition and the dynamic changes in image content. This results in low printhead resource utilization and difficulty in ensuring consistent print quality.

[0036] Second, the ink cartridge consumption rate is uneven. Different ink cartridges cover different image areas, resulting in significant differences in ink consumption rates among them. Some cartridges run out of ink prematurely and require frequent replacement, increasing consumable costs and downtime; while the nozzles of low-load cartridges deteriorate faster due to prolonged inactivity. Existing solutions lack a comprehensive scheduling mechanism for the load status of multiple cartridges, making it difficult to achieve balanced consumption across cartridges.

[0037] Third, data transmission bandwidth is limited. In traditional control schemes, the control unit continuously transmits the inkjet data of the entire printout pixel by pixel and channel by channel to the timing control unit. For A3 printouts, multi-color channels, and high-resolution printing scenarios, the amount of raw data is enormous, while the numerous blank areas, low-coverage areas, and repetitive pattern areas in the image still occupy the full transmission bandwidth, resulting in wasted bus resources and hindering the improvement of overall machine performance.

[0038] Therefore, how to achieve efficient and stable control of wide-format single-pass inkjet printing and ensure print quality under the constraints of limited bandwidth resources and uneven printhead load has become a technical problem that urgently needs to be solved in this field.

[0039] Based on the above, this invention proposes an inkjet printing control method, apparatus, inkjet printing equipment, and storage medium, which are described below in conjunction with... Figures 1-7 Describe it.

[0040] Figure 1 This is one of the flowcharts illustrating the inkjet printing control method provided by the present invention. This inkjet printing control method is applied to the SoC control unit of an inkjet printing device, such as... Figure 1As shown, the inkjet printing control method includes steps S110, S120, S130, S140 and S150.

[0041] Step S110: Divide the image to be printed into multiple image regions.

[0042] The inkjet printing control method of this invention is applied to the SoC control unit of an inkjet printing device, and is particularly suitable for the SoC control unit of a wide-format single-pass inkjet printing device. Wide-format usually refers to A3 (29.7cm) and wider printing sizes. Ordinary home printers are mostly A4 (21cm) in size, while A3 and above are considered wide-format and are suitable for printing posters, design drawings, industrial labels, etc.

[0043] Inkjet printing equipment includes a SoC (System on a Chip) control unit, an FPGA (Field-Programmable Gate Array) timing control unit, and a printhead array formed by multiple printhead modules arranged in an alternating pattern.

[0044] The SoC control unit first acquires the image to be printed, which can be an A3 image.

[0045] In one embodiment, the image to be printed can be bitmap data obtained by parsing a print task file sent by the user through a host computer, including the color value and position information of each pixel.

[0046] Then, the SoC control unit divides the image to be printed into multiple image regions.

[0047] In one embodiment, the partitioning method may include, but is not limited to, partitioning by row, partitioning by strip, or partitioning by tile. The SoC control unit can automatically select the partitioning method based on the characteristics of the image to be printed.

[0048] In one specific implementation, the entire A3 image to be printed is divided into multiple image regions according to a preset tile size (e.g., 64 pixels × 64 pixels), with each image region serving as an independent processing unit.

[0049] In another specific implementation, when the image to be printed is mainly a continuous gradient image, it can be divided into rows to reduce processing latency.

[0050] In another specific implementation, when the image to be printed contains a large number of interline repetitions, it can be divided into stripes to improve compression efficiency.

[0051] Step S120: Identify schedulable and non-schedulable spray points in each of the image regions, and generate corresponding spray point data packets based on the spray point features of each of the image regions.

[0052] For each image region, the SoC control unit obtains the position coordinates and grayscale values ​​of all spray points within that image region, and identifies schedulable and non-schedulable spray points according to preset rules.

[0053] Adjustable nozzles refer to nozzles whose spray patterns can be adjusted without affecting image quality. This includes, but is not limited to, nozzles located within the physical coverage area of ​​adjacent printheads, color depth redundancy nozzles, and nozzles compensating for low visual sensitivity areas. Specifically, color depth redundancy nozzles refer to inkjet printing using multi-level grayscale or variable droplet technology, where the target density value of a pixel can be achieved by multiple droplet combinations. For example, since the human eye is least sensitive to yellow but highly sensitive to cyan and magenta, the system can set up redundant nozzle channels for cyan and magenta. When the main nozzle becomes clogged or shifted, the redundant nozzles can take over spraying from adjacent positions. Through fine-tuning of the nozzle positions, combined with density compensation, an equivalent visual effect is achieved, with differences imperceptible to the human eye. Low visual sensitivity area compensation nozzle refers to the fact that low contrast areas in an image (such as smooth gradient areas, uniform texture areas, and defocused background areas) have low sensitivity to the spatial resolution of the human eye. When there are clogged or unstable nozzles in the above areas, the system does not need to perform precise single-point compensation for the missing ink droplets of the nozzle. Instead, it will reduce the brightness of the area or make a gradient transition. Taking advantage of the characteristic that the human eye is not sensitive to changes in the absolute value of brightness in low contrast areas, the system replaces precise single-point compensation with area brightness smoothing, so as to achieve a compensation effect with minimal visual impact.

[0054] Furthermore, schedulable nozzles can also include maintenance micro-sprayers. Maintenance micro-sprayers are tiny droplets used to prevent ink from drying out, becoming viscous, or clogging due to prolonged printhead inactivity. Their droplet size is smaller than normal image nozzles, and they are typically executed within page margins, cropping edges, or waste ink areas. Maintenance micro-sprayers are not directly generated from image content but are determined based on the idle time of each nozzle and the target drying risk trigger threshold. The specific determination process can be found in the following embodiments and will not be elaborated here.

[0055] Unschedulable spray points refer to spray points that must be executed by the original nozzle, including text sharp edge spray points, graphic code spray points, positioning line spray points, and high-precision image edge spray points, etc.

[0056] Simultaneously, based on the spray point features of each image region, corresponding spray point data packets are generated. These spray point features include, but are not limited to, pixel coverage and spray point distribution information. Pixel coverage refers to the proportion of effective spray points to the total number of pixels. Spray point distribution information refers to the spatial arrangement characteristics and statistical properties of spray points within their respective image regions, including the spatial clustering degree of spray points, the distribution of spray point spacing, the direction of spray point arrangement, and the repetition of spray point distribution across regions.

[0057] Specifically, when the pixel coverage of an image region is zero, it is determined to be a continuous blank region, and a blank line segment packet including the blank start position and blank length is generated; when the pixel coverage of an image region is greater than zero and less than a preset sparsity threshold, a spray point event packet including the spray point position, nozzle number, and gray level is generated; when it is determined from the spray point distribution information that the spray point of the image region is located in the overlapping coverage area of ​​adjacent nozzles, a splicing strategy packet including candidate nozzle information and alternative nozzle information is generated; when it is determined from the spray point distribution information that multiple image regions are repetitive pattern regions, a template reuse packet including template identifier and differential position is generated; wherein, the spray point data packet includes at least one of the blank line segment packet, spray point event packet, splicing strategy packet, and template reuse packet. The specific execution process can be referred to in the following embodiments, which will not be elaborated here.

[0058] Step S130: Obtain the status parameters of each ink cartridge, and calculate the equalization score of each ink cartridge based on the status parameters.

[0059] Obtain the status parameters of each ink cartridge, including at least one of the following: remaining ink level in the ink cartridge, cumulative number of ink dots, nozzle idle time, nozzle health status, and printhead replacement information.

[0060] In one embodiment, the remaining ink level deviation is determined based on the remaining ink level in the ink cartridge, the average remaining ink level in the ink cartridge, and a preset ink level imbalance threshold; the cumulative nozzle deviation is determined based on the cumulative number of nozzle dots, the average cumulative number of nozzle dots in the ink cartridge, and a preset cumulative nozzle deviation threshold; the idle risk is determined based on the nozzle idle time and a target dry-out risk trigger threshold, where the target dry-out risk trigger threshold is determined based on ambient temperature and relative humidity; and a health penalty is determined based on the nozzle health status. Then, the remaining ink level deviation, cumulative nozzle deviation, idle risk, health penalty, and replacement break-in penalty are weighted and summed to obtain an equilibrium score.

[0061] In another implementation, the remaining ink level deviation is determined based on the remaining ink level in the ink cartridge, the average remaining ink level in the ink cartridge, and a preset ink level imbalance threshold; the cumulative nozzle deviation is determined based on the cumulative number of nozzle dots, the average cumulative number of nozzle dots in the ink cartridge, and a preset cumulative nozzle deviation threshold; the idle risk is determined based on the nozzle idle time and a target dry-out risk trigger threshold, the target dry-out risk trigger threshold being determined based on ambient temperature and relative humidity; a health penalty is determined based on the nozzle health status; and a replacement break-in penalty is determined based on printhead replacement information and the cumulative number of nozzle dots. Then, the remaining ink level deviation, cumulative nozzle deviation, idle risk, and health penalty are weighted and summed to obtain an equilibrium score.

[0062] Step S140: Obtain the candidate nozzles corresponding to each of the schedulable inkjet points, and determine the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzles belong.

[0063] Obtain the candidate nozzles corresponding to each schedulable spray point.

[0064] In one embodiment, the selection criterion for candidate nozzles is: the location that can physically cover the schedulable spray point.

[0065] In another embodiment, the selection criteria for candidate nozzles are as follows: obtain nozzles covering schedulable spray points as initial candidate nozzles; obtain the current health status, previous spray time, and continuous spray count of the initial candidate nozzles, where the continuous spray count is the cumulative number of sprays per nozzle in a continuous operating cycle; remove initial candidate nozzles with abnormal current health status, remove candidate nozzles where the difference between the current time and the previous spray time is less than a preset minimum spray interval, and remove candidate nozzles where the continuous spray count is greater than a preset maximum number of continuous sprays; and use the remaining initial candidate nozzles as candidate nozzles.

[0066] Then, select the candidate nozzle with the lowest equalization score of its respective cartridge from the candidate nozzles as the target nozzle.

[0067] Step S150: Update the spray point data packet based on the target nozzle and the unschedulable spray point, and send the updated spray point data packet to the FPGA timing control unit.

[0068] The FPGA timing control unit is a functional module in the FPGA responsible for controlling the inkjet printing timing.

[0069] The original nozzle numbers of schedulable nozzles in the nozzle data package are replaced with the previously determined target nozzle numbers to achieve balanced transfer of schedulable nozzles. The nozzle numbers of unschedulable nozzles remain unchanged to ensure that the printing quality of critical image areas is not affected by balanced scheduling.

[0070] After the update is completed, the SoC control unit sends the updated spray dot data package to the FPGA timing control unit.

[0071] In one implementation, data is sent to the FPGA timing control unit via a data bus (such as PCIe, Gigabit Ethernet, or parallel bus).

[0072] The inkjet printing control method provided in this invention first divides the image to be printed into multiple image regions, providing a spatial granularity basis for subsequent differentiated data processing. Then, it identifies schedulable and non-schedulable inkjet dots in each image region and generates inkjet data packets in various formats based on inkjet dot characteristics. This prevents large blank or low-information areas from occupying the full pixel transmission bandwidth, reducing the data transmission volume between the SoC control unit and the FPGA timing control unit and alleviating bandwidth resource bottlenecks. Next, by acquiring the state parameters of each ink cartridge, a balance score is calculated, and the nozzle corresponding to the ink cartridge with the lowest balance score is selected as the target nozzle from the candidate nozzles corresponding to the schedulable inkjet dots. This dynamically allocates the inkjet task of the schedulable inkjet dots to the ink cartridge with the lightest load, avoiding the problem of some ink cartridges running out of ink prematurely due to excessive image coverage in the corresponding area, and the problem of some ink cartridges having nozzles idle and deteriorating due to long-term low load. This achieves cross-ink cartridge load balancing, extends the overall service life of each ink cartridge, and reduces consumable costs. Finally, the nozzle data packet is updated based on the target nozzle and unschedulable nozzles, and the updated nozzle data packet is sent to the FPGA timing control unit. This fully leverages the architectural advantages of the SoC control unit, which excels in complex strategy calculations, and the FPGA timing control unit, which excels in hardware-level real-time response. Under the premise of ensuring high-speed printing real-time performance, the scheduling strategy is dynamically adjusted, thereby improving the overall system efficiency and print quality consistency.

[0073] Based on any of the above embodiments Figure 2 This is the second flowchart illustrating the inkjet printing control method for SoC control units provided by this invention, as shown below. Figure 2 As shown, the step "identifying schedulable and non-schedulable spray points in each of the image regions" includes: steps S121, S122 and S123.

[0074] Step S121: Obtain the spray points, their position coordinates, and grayscale values ​​within each of the image regions.

[0075] The SoC control unit iterates through each ink dot within each image region, acquiring the position coordinates and grayscale value of each dot. The position coordinates are represented by the row and column numbers of the image, and the grayscale value represents the amount of ink required for that ink dot.

[0076] Step S122: If the position coordinates fall within the physical coverage area of ​​an adjacent nozzle, or the local image gradient magnitude corresponding to the position coordinates is less than a preset edge threshold, or the gray value is within a preset redundant gray range, then the corresponding nozzle is determined to be a schedulable nozzle.

[0077] For each spray point, the SoC control unit executes the following decision logic: The system determines whether the position coordinates of a printhead fall within the physical coverage area of ​​an adjacent printhead. In wide-format single-pass inkjet printers, multiple printhead modules are arranged in a staggered pattern, resulting in physical overlap between adjacent printheads in the image coordinate system. The SoC control unit pre-stores the physical layout parameters of the printhead array, including the start and end positions of each printhead in the width direction. When the column coordinates of a printhead are within the overlap area of ​​two adjacent printheads, it is determined that the printhead's position coordinates fall within the physical coverage area of ​​the adjacent printhead. Printheads falling within the overlap area can be ejected by any one of the multiple printheads, thus providing schedulability.

[0078] Based on the location coordinates of the spray point, it is determined whether the local image gradient magnitude of the local area where the spray point is located is less than a preset edge threshold. The local image gradient magnitude reflects whether the location is an image edge. A gradient magnitude less than the edge threshold indicates that the location belongs to a low-contrast area, where the human eye has low sensitivity to changes in absolute brightness. In this case, even if there is a blocked or unstable nozzle in the area, precise single-point compensation is not required. Instead, compensation that minimizes visual impact can be achieved by reducing the overall brightness output value of the local area or adjusting the gradient transition curve of the area boundary. Therefore, spray points located in low image gradient magnitude areas can be identified as low visual sensitivity area compensation spray points, thus determining that the spray point is a schedulable spray point.

[0079] In one embodiment, the gradient magnitude of a local image is calculated as follows: take a neighborhood window of a preset size (e.g., 3×3 pixels or 5×5 pixels) centered on the spray point, calculate the gradient magnitude of the grayscale value of each pixel within the window, and if the maximum gradient magnitude is less than a preset edge threshold (e.g., grayscale value 30), it indicates that the region is a low-contrast region.

[0080] Determine whether the gray value of the spray point is within the preset gray redundancy range. If the gray value is within the preset gray redundancy range, it means that the pixel density corresponding to the spray point is low, that is, the visual contribution of the spray point to the human eye is small, and it can be identified as a color depth redundancy spray point, thus determining that the spray point is a schedulable spray point.

[0081] Step S123: If the local image gradient magnitude corresponding to the position coordinates is greater than or equal to the preset edge threshold, or if the position coordinates fall into the graphic code area, the positioning line template area, or the preset protection mask area, then the corresponding spray point is determined to be an unschedulable spray point.

[0082] Furthermore, if the local image gradient magnitude corresponding to the position coordinates of the spray point is greater than or equal to the preset edge threshold, it indicates that the spray point is located in a high-contrast region and belongs to the image edge region. Changing its nozzle number may cause the edge position to shift or produce burrs, so it is determined to be an unschedulable spray point.

[0083] Furthermore, it determines whether the position coordinates of the spray point fall within key marked areas such as the graphic code area, the positioning line template area, or the preset protection mask area. The graphic code area includes, but is not limited to, QR code areas and barcode areas, while the preset protection mask area is a user-specified image area that cannot be altered in any way. If the spray point falls within any of these areas, it is determined to be an unschedulable spray point.

[0084] By using conditions such as local image gradient magnitude being greater than or equal to the edge threshold, falling into the graphic code area, falling into the positioning line template area, and falling into the preset protection mask area as non-schedulable conditions, the printing accuracy of critical image areas is ensured to be unaffected by balanced scheduling.

[0085] It should be noted that when the same nozzle simultaneously meets the criteria for both a scalable and an unscalable nozzle, it is preferentially determined to be an unscalable nozzle. For example, if a nozzle falls within the overlapping area of ​​adjacent nozzles and is located at the edge of text, it is preferentially determined to be an unscalable nozzle, and its original nozzle number remains unchanged.

[0086] The inkjet printing control method provided in this invention identifies schedulable inkjet points by comprehensively utilizing position coordinates, grayscale values, and local image gradient amplitudes. This allows for accurate differentiation between schedulable areas and critical areas in an image that must remain unchanged, thus accurately determining schedulable and non-schedulable inkjet points.

[0087] Based on any of the above embodiments, the spray point features include pixel coverage and spray point distribution information, and the step of "generating corresponding spray point data packets based on the spray point features of each image region" includes: steps S124, S125, S126 and S127.

[0088] It should be noted that the execution order of steps S124, S125, S126 and S127 is not important.

[0089] Step S124: When the pixel coverage of the image area is zero, it is determined to be a continuous blank area, and a blank line segment packet including the blank start position and blank length is generated.

[0090] Spray dot distribution information refers to the spatial arrangement and statistical characteristics of spray dots within their respective image regions. This includes the spatial clustering degree of spray dots, the distribution of spray dot spacing, the direction of spray dot arrangement, and the repetition of spray dot distribution across regions. Pixel coverage describes the number density of spray dots within a region and is a one-dimensional statistic; spray dot distribution information describes the spatial arrangement of spray dots within a region and is a multi-dimensional spatial feature. Together, they constitute a complete description of the spray dot characteristics of an image region.

[0091] The SoC control unit calculates the pixel coverage rate for each image region. The pixel coverage rate is calculated as the ratio of the number of effective spray points to the total number of pixels in the image region. Effective spray points are those with a grayscale value greater than a preset grayscale threshold. The preset grayscale threshold can be set to 0 or set according to actual needs; no specific limitation is made here.

[0092] When the pixel coverage of an image region is zero, the SoC control unit determines that the image region is a completely blank region and generates a blank line segment packet that includes the blank start position and blank length. This blank line segment packet does not contain any spray point events. Correspondingly, after the FPGA timing control unit receives the blank line segment packet, it skips the output of all spray pulses within the blank length range starting from the blank start position, that is, spraying is prohibited within this clock window.

[0093] Step S125: When the pixel coverage of the image region is greater than zero and less than a preset sparse threshold, a spray point event packet including the spray point position, nozzle number and gray level is generated.

[0094] When the pixel coverage of an image region is greater than zero and less than a preset sparse threshold, the SoC control unit determines that the image region is a sparse spraying region and generates a spraying event packet that includes the row position, column position, nozzle number, and gray level of the spraying point.

[0095] In one embodiment, a preset sparsity threshold is set to, for example, 5%. When the number of effective spray points accounts for less than 5% of the total number of pixels, spray point event packets are used for transmission. Each effective spray point is independently encoded into a compact format that includes row position, column position, nozzle number, and gray level.

[0096] Correspondingly, after receiving the spray point event packet, the FPGA timing control unit expands it into spray pulses by counting in rows.

[0097] Step S126: When it is determined from the nozzle distribution information that the nozzles of the image region are located in the overlapping coverage area of ​​adjacent nozzles, a splicing strategy package including candidate nozzle information and alternative nozzle information is generated.

[0098] When the spatial position of a nozzle in an image region falls within the overlapping range of the physical coverage area of ​​adjacent printheads, based on the nozzle distribution information, the SoC control unit determines that the image region is an overlapping coverage area and generates a stitching strategy package including a list of candidate printhead numbers and a list of alternative nozzle numbers corresponding to each candidate printhead. Correspondingly, after receiving the stitching strategy package, the FPGA timing control unit selects the actual output nozzle based on the current equalization score of the ink cartridge to which each candidate nozzle belongs when unfolding the nozzle.

[0099] Step S127: When multiple image regions are determined to be repeating pattern regions based on the spray dot distribution information, a template reuse package including template identifier and differential position is generated.

[0100] When the similarity between the spatial positions of the spray points in multiple consecutive image regions is determined to be greater than a preset repetition threshold based on the spray point distribution information, the SoC control unit determines these image regions as repetitive pattern regions. At this time, the spray point data of the first image region in the multiple consecutive image regions is extracted as template data to generate a template multiplexing package including template identifier and differential positions.

[0101] In one embodiment, the similarity is calculated as follows: the distribution of spray point positions in the two image regions is converted into binary matrices, the normalized cross-correlation value of the two matrices is calculated, and the repetition condition is met when the cross-correlation value is greater than a preset repetition threshold (e.g., 0.95).

[0102] Furthermore, the template identifier in the template multiplexing packet is used by the FPGA timing control unit to index the template in its local cache. The differential positions are the spray point positions in the subsequent repeating image region that differ from the template data. Each differential position includes a column offset, a row offset, and a differential grayscale value. Correspondingly, after receiving the template multiplexing packet, the FPGA timing control unit superimposes the locally stored template data with the differential data corresponding to the differential positions and expands it into a spray pulse.

[0103] The spraying data packet includes at least one of the blank line segment packet, the spraying event packet, the splicing strategy packet, and the template reuse packet.

[0104] The aforementioned spraying data package includes at least one of the following: blank line segment package, spraying event package, splicing strategy package, and template reuse package.

[0105] It should also be noted that for a single image region, the SoC control unit can simultaneously determine multiple nozzle feature types. For example, if the pixel coverage of an image region is greater than zero and less than a preset sparsity threshold, and the nozzle positions within this image region simultaneously fall within the overlapping range of the physical coverage areas of adjacent nozzles, then the SoC control unit simultaneously generates a nozzle event packet and a stitching strategy packet. Correspondingly, after the FPGA timing control unit receives multiple data packets corresponding to this image region, it associates the nozzle information in the nozzle event packet with the candidate nozzle information in the stitching strategy packet: for each nozzle in this region, its position and grayscale are first determined based on the nozzle event packet, then its candidate nozzle list is determined based on the stitching strategy packet, and finally, the actual output nozzle is selected based on the equalization score of each candidate nozzle using a gating matrix.

[0106] Furthermore, the SoC control unit traverses all image regions according to the above rules, generates inkjet data packets corresponding to each image region, arranges all inkjet data packets in the printing order, and packages and sends them to the FPGA timing control unit.

[0107] The inkjet printing control method provided in this invention uses pixel coverage and dot distribution patterns as a unified judgment framework to determine whether each image region is a completely blank region, a sparse dot region, an overlapping coverage region, or a repeating pattern region. Based on the judgment results, corresponding data packets are generated, achieving precise matching between data packet type selection and image region features. Furthermore, the cooperation of these various data packets minimizes the data transmission bandwidth from the SoC to the FPGA while ensuring the FPGA timing control unit can completely reconstruct the image.

[0108] Based on any of the above embodiments Figure 3 This is the third flowchart of the inkjet printing control method for SoC control units provided by the present invention, as shown below. Figure 3 As shown, step S130 includes: step S131, step S132, step S133, step S134, step S135, step S136 and step S137.

[0109] It should be noted that the execution order of steps S132 to S136 is not important and they can be executed in parallel.

[0110] Step S131: Obtain the status parameters of each ink cartridge, including the remaining ink volume of the ink cartridge, the cumulative number of ink dots, the nozzle idle time, the nozzle health status, and the printhead replacement information.

[0111] The SoC control unit acquires the status parameters of each ink cartridge. These status parameters include the remaining ink level in each cartridge. Total number of spray points Nozzle idle time Nozzle health status and nozzle replacement information Among them, nozzle health status Nozzle clogging or health risks can be categorized into three levels: Normal, Slight Deviation / Risk, and Severe Clogging / Abnormal; Nozzle Replacement Information Indicates whether to replace the nozzle marker; this can be a binary marker. =1 indicates that the printhead connected to the corresponding ink cartridge is a new replacement printhead. =0 indicates that the nozzle has not been replaced.

[0112] Step S132: Determine the remaining ink volume deviation based on the remaining ink volume of the ink cartridge, the average remaining ink volume of the ink cartridge, and the preset ink volume imbalance threshold.

[0113] Calculate the average remaining ink level of all ink cartridges to obtain the average remaining ink level of each cartridge. .

[0114] For the current ink cartridge Based on the remaining ink level of the ink cartridge Average remaining ink level in ink cartridges and preset ink volume imbalance threshold The remaining ink volume deviation is determined using the following formula. : Here, max() represents taking the maximum value.

[0115] Preset ink imbalance threshold This is a fixed value that is pre-calibrated and written into the non-volatile memory of the SoC control unit before leaving the factory, based on the ink cartridge capacity and the detection accuracy of the ink level detection sensor. Specifically, during the production stage, the necessity of equalization scheduling is evaluated through actual printing tests under different remaining ink level deviation ratios, and a value that can effectively trigger the equalization response without false triggering due to sensor noise is determined.

[0116] Step S133: Determine the cumulative spray point deviation based on the cumulative number of spray points, the average number of cumulative spray points of the ink cartridge, and the preset cumulative spray point imbalance threshold.

[0117] Calculate the average total number of ink dots across all ink cartridges to obtain the average total number of ink dots per cartridge. .

[0118] For the current ink cartridge Based on the cumulative number of spray points Average number of inkjet dots per cartridge and preset cumulative spray point imbalance threshold The cumulative spray point deviation is determined using the following formula. : ; Among them, the preset cumulative spray point imbalance threshold These are fixed values ​​that are pre-calibrated and written into the non-volatile memory of the SoC control unit based on the rated life value and actual aging curve of the nozzle before leaving the factory.

[0119] Step S134: Determine the idle risk based on the nozzle idle time and the target dry-out risk trigger threshold, wherein the target dry-out risk trigger threshold is determined based on ambient temperature and relative humidity.

[0120] Based on nozzle idle time and target drying risk trigger threshold The idle risk is determined using the following formula. : .

[0121] Among them, the target desiccation risk trigger threshold This is a threshold dynamically determined based on the current ambient temperature and relative humidity (RH) to determine whether a single nozzle faces the risk of drying out due to excessive idle time. Specifically, the ambient temperature and relative humidity of the inkjet printer's current environment are obtained through temperature and humidity sensors. The preset baseline drying risk trigger threshold is then dynamically compensated based on the current ambient temperature and relative humidity. This preset baseline drying risk trigger threshold is the upper limit of the safe idle time for the nozzle measured under standard environmental conditions (e.g., 25°C, 50%RH). If the current ambient temperature is higher than the temperature under standard environmental conditions, or the current relative humidity is lower than the relative humidity under standard environmental conditions, the preset baseline drying risk trigger threshold is lowered. The specific lowering rules can be set according to actual conditions and are not specifically limited here.

[0122] Step S135: Determine a health penalty based on the nozzle health status.

[0123] Based on nozzle health status The health penalty is determined using a step function, as follows: Specifically, when the nozzle is in good health When a severe blockage or anomaly is triggered, the health penalty will be set as the first penalty value. This value is a relatively high preset penalty value, for example =100, which forces the nozzle to be disabled or significantly downweighted, and removes it from the balancing arbitration of schedulable nozzles; when When a minor deviation or risk is triggered, the health penalty is set as the second penalty value. ,For example =30, this value is greater than zero but less than... This reduces the nozzle's priority in participating in the equalization arbitration, but does not completely disable it; when When the nozzle is in a normal state, the health penalty is set to 0, and the nozzle participates in the equalization arbitration normally. Through the aforementioned step function, when the system detects an abnormal nozzle health status, it directly assigns a higher penalty value, achieving rapid isolation of the abnormal nozzle.

[0124] Step S136: Determine the replacement break-in penalty based on the nozzle replacement information and the cumulative number of spray points.

[0125] Based on nozzle replacement information and cumulative number of spray points Determine the replacement break-in penalty The determination method is as follows: Specifically, obtain nozzle replacement information. The cumulative number of spray points from the nozzle and preset break-in threshold ,when =1 and < At this time, the nozzle is within the break-in window, according to the formula Calculate the break-in penalty for replacement; when =0 or ≥ At that time, the break-in penalty is 0. Among them, The preset maximum break-in penalty value, for example =50.

[0126] As can be seen from this formula, the newly replaced nozzle has a cumulative spray point The break-in penalty when =0 is With the cumulative spray points As the break-in period increases, the break-in penalty decreases linearly. achieve When the penalty is reduced to 0, it means that the proportion of transferable spray points of the new nozzle is gradually increased. Before it is fully broken in, it is restricted from undertaking high-load tasks until it can participate in the balance arbitration normally after it is fully broken in.

[0127] Step S137: The remaining ink volume deviation, the cumulative ink dot deviation, the idle risk, the health penalty, and the replacement break-in penalty are weighted and summed to obtain the balance score.

[0128] Remaining ink volume deviation, cumulative ink dot deviation, idle risk, health penalty, and replacement break-in penalty are each assigned a weighting coefficient from first to fifth. The weighted sum of these factors yields a balanced score. The specific calculation formula is as follows: ; in, Indicates the equilibrium score. The higher the value, the less unnecessary ejection the ink cartridge should receive; The lower the value, the more manageable or maintenance nozzles the cartridge can handle; , , , and These represent weighting coefficients, and the magnitude of each weighting coefficient reflects the importance of that factor in the equilibrium decision.

[0129] The inkjet printing control method provided in this invention introduces five dimensions of state parameters: remaining ink volume in the ink cartridge, cumulative number of ink dots, nozzle idle time, nozzle health status, and printhead replacement information. After calculating the corresponding deviation and penalty terms, the parameters are weighted and summed to ensure that the balance score can comprehensively and accurately reflect the overall load capacity and health status of each ink cartridge, thus achieving a multi-factor collaborative balance decision.

[0130] Based on any of the above embodiments, the step "obtaining the candidate nozzles corresponding to each of the schedulable spray points" includes: step S141, step S142, step S143 and step S144.

[0131] Step S141: Obtain the nozzles covering the schedulable spray points as initial candidate nozzles.

[0132] The SoC control unit acquires all nozzles that can cover the schedulable spray point positions as initial candidate nozzles. Specifically, the SoC control unit queries all physical nozzles corresponding to the schedulable spray point positions in the image coordinate system based on the physical layout information of the nozzle array and the nozzle mapping table.

[0133] Step S142: Obtain the current health status, previous injection time, and continuous injection count of the initial candidate nozzle, wherein the continuous injection count is the cumulative number of injections by each nozzle in a continuous row cycle.

[0134] The SoC control unit acquires the health status flag, last spray time, and continuous spray count for each initial candidate nozzle. The health status flag is generated by the nozzle status detection module through self-testing or real-time monitoring and is marked as "normal" or "abnormal." The last spray time records the timestamp of the last spray performed by the nozzle. The continuous spray count records the cumulative number of sprays performed by the nozzle within the current continuous row cycle; the continuous spray count is reset to zero when the nozzle interval exceeds a preset interval threshold.

[0135] Step S143: Remove initial candidate nozzles whose current health status is abnormal, remove candidate nozzles whose difference between the current time and the previous spray time is less than the preset minimum spray interval, and remove candidate nozzles whose continuous spray count is greater than the preset maximum number of continuous sprays.

[0136] Step S144: Select the remaining initial candidate nozzles as the candidate nozzles.

[0137] The SoC control unit performs a triple screening of the initial candidate nozzle set based on nozzle health, minimum spray interval, and maximum number of consecutive sprays.

[0138] Specifically, initial candidate nozzles marked as abnormal in health status are removed to prevent faulty nozzles from continuing to undertake ejection tasks, which would lead to a decrease in print quality or aggravation of the fault; initial candidate nozzles whose difference between the current time and the previous ejection time is less than the preset minimum ejection interval are removed to prevent the heating element from overheating or the ink droplet ejection from the same nozzle continuously ejecting within a short time interval; at the same time, initial candidate nozzles whose continuous ejection count is greater than the preset maximum number of continuous ejections are removed to prevent the same nozzle from undertaking too many ejection tasks continuously, which would lead to overheating or mechanical fatigue.

[0139] After the above screening, the remaining initial candidate nozzles are selected as candidate nozzles for the schedulable spray point for subsequent equalization arbitration.

[0140] Furthermore, if the candidate nozzle set is empty after the above three-stage screening, the schedulable nozzle will revert to the original nozzle for execution.

[0141] The inkjet printing control method provided in this invention ensures that all candidate nozzles participating in the balanced arbitration are nozzles that can safely and stably perform the inkjet task under the current state by performing triple rejection screening on the initial candidate nozzles through health status marking, minimum inkjet interval, and maximum number of consecutive inkjet strokes. This avoids print quality degradation or printhead damage caused by abnormal health, excessively short inkjet interval, or excessive consecutive inkjet strokes.

[0142] Based on any of the above embodiments, before the step "send the updated inkjet data package to the FPGA timing control unit", the steps further include: step S161, step S162, step S163, step S164, step S165 and step S166.

[0143] Step S161: Obtain the current nozzle idle time for each nozzle.

[0144] In one embodiment, the SoC control unit maintains an idle time record table for each nozzle, which includes the nozzle number and the corresponding idle time. The idle time of a nozzle is defined as the difference between the current time and the previous spraying time of that nozzle. It should be noted that spraying here includes image spraying and maintenance spraying, that is, whenever a nozzle performs any form of spraying action, its idle time is reset to zero and the timing restarts.

[0145] Read the current nozzle idle time of each nozzle from the idle time record table, and then compare the current nozzle idle time of each nozzle with the target dry-out risk trigger threshold.

[0146] Step S162: When the current nozzle idle time exceeds the target dry-out risk trigger threshold, find a safe landing point within the page margin range.

[0147] When the current nozzle idle time of a certain nozzle exceeds the target dry-out risk trigger threshold, it is determined that the nozzle has a dry-out risk and a moisturizing strategy package needs to be generated for the nozzle to instruct the FPGA timing control unit to perform maintenance spraying.

[0148] In one implementation, the target dryout risk trigger threshold is dynamically determined based on the current ambient temperature and relative humidity, thereby enabling the maintenance triggering conditions to adapt to differences in ink evaporation rates under different environmental conditions and avoiding unnecessary maintenance spray waste.

[0149] In one implementation, when the current nozzle idle time of a certain nozzle exceeds the target drying risk trigger threshold, a safe landing point is searched within the page margin range. The page margin range is the paper edge area outside the effective image area, which will eventually be cropped or go unnoticed by the user.

[0150] When searching for a safe landing point within the page margin range, the safe landing point can be searched by traversing the page margin range according to a preset step size (e.g., taking a sampling point every 5 pixels). The safe landing point needs to meet the following conditions: (1) the position is not occupied by any spray point event, that is, it is a blank position; (2) the position does not belong to the area where the unschedulable spray point is located.

[0151] Step S163: When there is a blank position within the margin range that does not include the unschedulable spray point, the blank position is taken as the safe landing point position.

[0152] If there is a blank space within the margin that does not include unmanageable spray points, that blank space will be used as a safe landing point.

[0153] Step S164: When there is no blank space within the margin range, continue searching for the safe landing point within the trimming edge range.

[0154] If there is no blank space within the page margin range, continue searching for a safe landing point within the trimming edge range. The trimming edge range refers to the area near the trim line on the printed page. This area will be removed during post-printing processing and will not affect the visual appearance of the finished product. It should be noted that the trimming edge range can be considered a further extension of the page margin range, and its size is slightly larger than the page margin range, providing greater margin of error for finding the safe landing point.

[0155] If there is a blank space within the trimmed edge that does not include unmanageable spray points, then that blank space is taken as a safe landing point.

[0156] Step S165: When there is no blank position within the cutting edge range, the waste ink area is taken as the safe landing point position.

[0157] When there is no blank space within the trimmed edge that does not include unmanageable ink droplets, the waste ink zone is used as the safe landing point. The waste ink zone is a specially designed area inside the printer to absorb waste ink, usually located outside the printing area, such as the edge of the printing platform or the location of the waste ink pad. Its position coordinates are pre-stored in the internal memory of the SoC control unit.

[0158] Step S166: Generate a moisturizing strategy package based on the safe landing point location.

[0159] Based on the safe landing point location and allowable offset range obtained above, an allowable landing point range is determined. This allowable landing point range indicates the allowable landing point range of the FPGA timing control unit near the safe landing point location. Then, a moisturizing strategy package is generated according to this allowable landing point range. In addition to the allowable landing point range, the moisturizing strategy package may also include: the target nozzle number corresponding to the current nozzle idle time exceeding the target dryout risk trigger threshold, the moisturizing cycle, and the minimum ink volume. The moisturizing cycle instructs the FPGA timing control unit to periodically perform maintenance jets at this cycle during subsequent printing processes; the minimum ink volume represents the grayscale value of the minimum wettable ink volume, which is less than the grayscale value of a normal jet event, and is used to indicate the amount of ink the FPGA timing control unit performs in each maintenance jet.

[0160] At this point, the step "send the updated spray point data package to the FPGA timing control unit" includes: sending the updated spray point data package and the moisturizing strategy package to the FPGA timing control unit.

[0161] The SoC control unit packages the moisturizing strategy package and the updated spraying data package into a downlink data frame according to a preset communication protocol. This downlink data frame includes a packet type identifier field, a packet length field, and a packet data field. The packet type identifier field is used to distinguish whether the current data packet is a spraying event packet, a blank line segment packet, a splicing strategy packet, a template reuse packet, or a moisturizing strategy packet.

[0162] Correspondingly, after receiving the downlink data frame, the FPGA timing control unit identifies the type of each data packet based on the packet type identifier field, stores the moisturizing strategy packet in the internal strategy register, and stores the spraying data packet in the front-end FIFO buffer, waiting for the line synchronization signal to trigger for expansion and output. Specifically, for the received moisturizing strategy packet, the FPGA timing control unit automatically inserts maintenance micro-spraying points at the page margin or trim edge position according to the maintenance cycle.

[0163] The inkjet printing control method provided in this invention employs a three-level safety landing point search mechanism encompassing page margin range, trimming edge range, and waste ink area. This mechanism maximizes the utilization of blank paper areas for nozzle maintenance while ensuring print quality, thereby reducing waste ink emissions. Based on the safety landing point location, a moisturizing strategy package is generated and distributed to the FPGA timing control unit. This prevents problems such as ink drying, first drop deviation, line breakage, or clogging caused by nozzles remaining idle for extended periods.

[0164] Based on any of the above embodiments, the inkjet printing control method further includes steps S171, S172 and S173.

[0165] Step S171: When a change in the identification number of any nozzle is detected, the corresponding target nozzle is marked as a new replacement nozzle, and the proportion of the target nozzle participating in the selection of the schedulable spray points is controlled to the initial proportion.

[0166] Each nozzle module has a built-in storage chip that stores the nozzle's unique serial number. After the device is powered on and enumerated, hot-swap detected, or confirmed in the maintenance interface, the SoC control unit reads the identification number of each nozzle and compares the currently detected identification number with the historically stored identification numbers.

[0167] When a change in the identification number of any printhead is detected, the corresponding target printhead is marked as a new replacement printhead and placed in a break-in window. Within this break-in window, the proportion of the target printhead participating in the selection of schedulable nozzles is controlled at an initial proportion, for example, limited to 10% of the full capacity. This means that in subsequent equalization arbitration, the target printhead has only a 10% probability of being selected as the actual execution nozzle for schedulable nozzles, while the remaining 90% of schedulable nozzles are handled by other printheads. This initial proportion setting allows the new printhead to bear a lighter load during the initial break-in period, preventing print quality from being affected by the unstable jetting characteristics.

[0168] In one implementation, the selection ratio limitation is achieved by adjusting the equalization score of the ink cartridge corresponding to the target printhead. Specifically, during the break-in window, an additional replacement break-in penalty is applied to the equalization score of the ink cartridge, reducing its probability of being selected in equalization arbitration to the initial ratio.

[0169] Step S172: Obtain the spray intensity test result of the target nozzle, and update the grayscale lookup table, row delay compensation table and nozzle mapping table according to the spray intensity test result.

[0170] The spray intensity test includes density block detection and test line detection.

[0171] The SoC control unit controls the target printhead to print density blocks with multiple grayscale levels in the test area, such as 10%, 30%, 50%, 70%, and 90%. Then, it reads the actual density value of each density block using a density sensor or scanner, calculates the deviation between the actual and target density values ​​at each grayscale level, and updates the jet pulse width value corresponding to each grayscale level in the target printhead's grayscale lookup table based on this deviation. For example, if the actual density value is lower than the target density value at the 50% grayscale level, the pulse width corresponding to that grayscale level is increased to compensate for insufficient jet intensity.

[0172] The SoC control unit controls the target printhead to print test lines in the test area. Then, it reads the actual position offset of the test lines using a position detection sensor and updates the line delay compensation value in the line delay compensation table and the nozzle position mapping value in the nozzle mapping table based on this offset. The line delay compensation value compensates for differences in the physical position of the printhead in the media movement direction, ensuring that ink droplets ejected from different printheads simultaneously land on the same straight line of the paper. The nozzle position mapping value maps logical nozzle numbers to actual physical nozzle positions. For example, if the entire test line shifts 5 micrometers to the right, the line delay compensation value is adjusted accordingly to correct the landing point position.

[0173] By controlling the printing density blocks and test lines of the new printhead and updating the grayscale lookup table, line delay compensation value and nozzle position mapping value according to the test results, automatic calibration of spray intensity and landing position is achieved, solving the consistency deviation problem caused by differences in manufacturing batches and installation positions between new and old printheads.

[0174] Step S173: When the cumulative number of spray points of the target nozzle reaches the preset break-in threshold, the proportion of the target nozzle participating in the selection of the schedulable spray points is gradually increased according to the preset step size until the full proportion is reached.

[0175] Once the cumulative number of spray points from the target nozzle reaches a preset break-in threshold, the SoC control unit gradually increases the proportion of the target nozzle participating in the selection of schedulable spray points in preset increments (e.g., 10% increase for every 100,000 spray points) until the maximum proportion is reached. This gradual increase is achieved by gradually reducing the replacement break-in penalty.

[0176] By gradually increasing the selection ratio of new printheads until the full ratio is reached, a smooth transition from the break-in period to normal operation of the new printheads is achieved, avoiding uneven density in the splicing area caused by sudden load changes.

[0177] Furthermore, when the cumulative number of printhead dots of the target printhead reaches the preset break-in threshold, the density detection deviation is less than the preset deviation threshold multiple times, and there is no nozzle clogging, current abnormality, or temperature abnormality, the SoC control unit determines that the target printhead has completed adaptation and exits the break-in window. After exiting, the target printhead normally participates in the balancing arbitration of all schedulable printhead dots. By setting the break-in threshold, density detection deviation threshold, and no abnormality triple stop condition, it is ensured that the adaptive process can only exit after the printhead is completely stable, thus guaranteeing the stability of long-term print quality.

[0178] The inkjet printing control method provided in this embodiment of the invention realizes automatic detection, automatic calibration and automatic break-in after printhead replacement through the above-described printhead replacement adaptive process.

[0179] Based on any of the above embodiments, before the step of "sending the updated inkjet data package to the FPGA timing control unit", the method further includes: step S181, step S182 and step S183.

[0180] Step S181: Generate a balance weight table based on the balance score. The balance weight table includes the mapping relationship between the number of each ink cartridge and the corresponding balance score.

[0181] Based on the calculated equalization scores of each ink cartridge, an equalization weight table is generated. This equalization weight table is a lookup table that includes the mapping relationship between each ink cartridge number and its corresponding equalization score.

[0182] In one implementation, the equalization weight table is organized as a register configuration value, with each cartridge corresponding to an 8-bit or 16-bit weight value. The magnitude of the weight value is positively or negatively correlated with the equalization score, instructing the FPGA timing control unit to prioritize the cartridge with the lowest weight in subsequent dot arbitration. Specifically, if the current system is configured such that a lower equalization score indicates that the cartridge should bear more responsibility for dosing, the FPGA selects the target cartridge according to the weight value from smallest to largest. The SoC control unit writes this equalization weight table to the designated configuration register address of the FPGA.

[0183] Step S182: Obtain a no-spray table, which includes a list of nozzle numbers that are prohibited from spraying.

[0184] Obtain the no-spray table, which includes a list of nozzle numbers that are prohibited from being sprayed.

[0185] In one embodiment, a no-spray list is obtained based on the health status and / or current temperature of each nozzle. Specifically, when the health status of a nozzle is abnormal, such as when a blockage, first drop deviation, or disconnection is detected, and / or when the current temperature of the nozzle exceeds a preset safe temperature threshold, the SoC control unit adds the nozzle number to the no-spray list.

[0186] In one embodiment, when a nozzle is marked as a new replacement nozzle and has not yet completed the break-in and calibration, all nozzle numbers of that nozzle are also recorded in the no-spray table in the form of break-in no-spray markings to restrict it from undertaking spraying tasks in the early stages of break-in.

[0187] Furthermore, the no-spray table is stored in bitmap form, with each bit corresponding to a nozzle. A bit value of "1" indicates that the nozzle is prohibited from spraying, and a bit value of "0" indicates that spraying is allowed.

[0188] Step S183: Package the balanced weight table, the no-spray table, the updated grayscale lookup table, the updated row delay compensation table, and the updated nozzle mapping table into a global configuration package.

[0189] The aforementioned balanced weight table, no-spray table, updated grayscale lookup table, updated row delay compensation table, and updated nozzle mapping table are packaged into a global configuration package.

[0190] In one embodiment, the data is packaged into a global configuration package according to a data format recognizable by the FPGA timing control unit. In this embodiment, the SoC control unit organizes the above tables according to the FPGA register mapping address order to form a continuous configuration data block, and adds a packet header including the data length and checksum to the data block header to ensure that the FPGA timing control unit can correctly parse and verify the global configuration package.

[0191] At this point, the step "send the updated spray point data package to the FPGA timing control unit" includes: sending the updated spray point data package and the global configuration package to the FPGA timing control unit.

[0192] Then, the updated spray point data package and the aforementioned global configuration package are sent to the FPGA timing control unit via the communication bus.

[0193] In one implementation, the SoC control unit first sends out a global configuration packet, writing the balanced weight table, the no-spray table, the updated grayscale lookup table, the updated line delay compensation table, and the updated nozzle mapping table into the designated configuration register of the FPGA. Then, it sends the updated spray point data packet to the FPGA's front-end FIFO buffer. Upon receiving the global configuration packet, the FPGA timing control unit updates its internal policy register configuration according to the tables in the global configuration packet, and performs spray point event unpacking and gating arbitration in subsequent line synchronization timing based on the updated configuration. Upon receiving the spray point data packet, the FPGA timing control unit performs spray point unpacking, gating arbitration, and nozzle drive output according to the updated policy register configuration.

[0194] The inkjet printing control method provided in this embodiment of the invention packages the balanced weight table, the no-jet table, the updated grayscale lookup table, the updated line delay compensation table, and the updated nozzle mapping table into a global configuration package and sends it to the FPGA timing control unit, so that the FPGA timing control unit can obtain complete control parameters when performing gating decisions.

[0195] Figure 4 This is a flowchart illustrating the inkjet printing control method applied to the FPGA timing control unit of an inkjet printing device, as provided by the present invention. Figure 4 As shown, the inkjet printing control method includes steps S210, S220, S230 and S240.

[0196] Step S210: Receive the updated spray point data packet sent by the SoC control unit.

[0197] The inkjet printing control method of this invention is applied to the FPGA timing control unit of an inkjet printing device, and is particularly suitable for the FPGA timing control unit of a wide-format single-pass inkjet printing device.

[0198] The FPGA timing control unit is a functional module within an FPGA responsible for controlling the inkjet printing timing. An FPGA is a programmable logic device containing numerous configurable logic blocks and register resources, capable of executing specific algorithms in hardware parallel mode with nanosecond-level response speeds. In this application, the FPGA timing control unit, as a downstream execution unit of the SoC control unit, is responsible for receiving compressed inkjet data packets and driving the printhead array to complete the inkjet action under precise timing control.

[0199] After completing image processing and equalization arbitration, the SoC control unit sends the updated spray point data packet to the FPGA timing control unit via the data bus. Correspondingly, the FPGA timing control unit receives the updated spray point data packet via the data bus and writes it into the preceding buffer queue.

[0200] Step S220: Determine the current row position based on the row synchronization signal.

[0201] The line synchronization signal is a pulse signal generated by a paper motion encoder or a media motion sensor. When the paper or printing media moves at a constant speed, the encoder generates a pulse every time it detects a fixed distance of displacement. Each pulse corresponds to the start time of printing one line of image data. Each time the FPGA timing control unit receives a line synchronization pulse, it increments its internal line synchronization counter by one. The current value of the line synchronization counter is the current line position.

[0202] The line synchronization signal ensures that the timing control of the FPGA is synchronized with the actual movement of the paper, and serves as the timing reference for the printhead to spray ink at the correct line position in single-pass printing.

[0203] Step S230: Generate a corresponding injection pulse based on the updated spray point data packet and the current row position.

[0204] The FPGA timing control unit reads the updated spray point data packets from the front-end buffer queue. These updated spray point data packets include, but are not limited to, blank line segment packets, spray point event packets, splicing strategy packets, and template reuse packets.

[0205] The updated spray point data packet is parsed to extract spray point events. Each spray point event includes the row position to which the spray point belongs. The extracted row position is matched with the current row position. When the current value of the row synchronization counter matches the row position in the spray point event, the FPGA timing control unit triggers the expansion action of the spray point event and generates the corresponding spray pulse.

[0206] Step S240: Output the jet pulse to the nozzle array.

[0207] The FPGA timing control unit outputs the generated jet pulses to the piezoelectric or thermal foaming elements of each printhead in the printhead array via the drive circuit. When the jet pulse is applied to the drive element of the printhead, the drive element deforms, giving the ink in the nozzle cavity kinetic energy and ejecting it from the nozzle orifice onto the media surface, thus completing the landing point positioning of the ink droplets.

[0208] The inkjet printing control method provided in this invention involves an FPGA timing control unit receiving a dot data packet from a SoC control unit and determining the current row position based on a row synchronization pulse. This enables the precise unfolding of dot events at the row position and the output of jet pulses. Because the FPGA timing control unit employs a hardware parallel processing architecture, it can complete row position matching and pulse generation within nanoseconds, ensuring the synchronous jetting accuracy of thousands of nozzles in wide-format single-pass printing and avoiding image row position misalignment caused by timing deviations.

[0209] Based on any of the above embodiments, the spray point data packet includes a spray point event packet and a blank line segment packet. The spray point event packet includes the spray point position, nozzle number, and gray level. The blank line segment packet includes the blank start position and blank length. Step S230 includes steps S231 and S232.

[0210] Step S231: When the current row position matches the row position in the spray point position, a corresponding spray pulse is generated based on the gray level.

[0211] The spray data packets received by the FPGA timing control unit include spray event packets and blank line segment packets.

[0212] A dot event packet is a description of a valid dot by the SoC control unit, with one dot event packet corresponding to each valid dot. The dot event packet includes the dot position, nozzle number, and grayscale level. The dot position indicates where the dot should appear in the image, including row and column positions. The row position indicates which row the dot should appear in. The nozzle number indicates which nozzle performs the ejection. The grayscale level indicates the droplet size level that the dot needs to eject, used to determine the width or amplitude of the generated ejection pulse.

[0213] Blank row segment packets are compressed descriptions of continuous blank areas by the SoC control unit. One blank row segment packet can replace hundreds or thousands of zero-value pixel data. A blank row segment packet includes the blank start position and the blank length. The blank start position indicates the starting column position of the blank area within the row, and the blank length indicates the number of consecutive columns occupied by the blank area.

[0214] The FPGA timing control unit matches the row position extracted from the spray event packet with the current row position. The current row position is the current value of the row synchronization counter driven by the row synchronization signal. When the two match, the FPGA timing control unit determines that it is currently in the row corresponding to the spray event and generates the corresponding spray pulse based on the grayscale level.

[0215] Step S232: When the current row position is within the range of the blank start position of the blank row segment packet to the blank start position plus the blank length, the output of the jet pulse is prohibited.

[0216] The FPGA timing control unit simultaneously monitors the relationship between the current row position and the blank row segment packet. When the current value of the row synchronization counter is within the interval from the blank start position to the blank start position plus the blank length, the FPGA timing control unit determines that it is currently in the blank area and prohibits the output of the jet pulse.

[0217] This spray restriction operation is implemented through gating logic, which forcibly pulls down the spray enable signal of nozzles within the spray restriction range during the row data frame assembly stage.

[0218] The inkjet printing control method provided in this invention, through the coordinated execution of the dot event packet and the blank line segment packet, enables the FPGA timing control unit to generate jet pulses only at the effective dot positions and skip the jetting action in the blank area. This significantly reduces the amount of data transmitted from the SoC to the FPGA while ensuring accurate output of effective dots.

[0219] Based on any of the above embodiments, the spraying data packet further includes a template multiplexing packet, the template multiplexing packet includes a template identifier and a differential position, the differential position includes a differential row position and a differential column position, and step S230 further includes: step S233.

[0220] Step S233: When the current row position matches the differential row position, obtain the locally stored template data according to the template identifier, and replace the template data with differential spray point data at the differential column position to generate a spray pulse.

[0221] The dot spray data package also includes a template multiplexing package, which is a compressed description of an image region containing a repeating pattern by the SoC control unit. The template multiplexing package includes a template identifier and differential positions. The template identifier is used to uniquely identify a template data, and the differential positions include differential row positions and differential column positions, describing the specific positions in the template that need to be covered and replaced.

[0222] The FPGA timing control unit has a locally configured template buffer, implemented using the FPGA's internal block random access memory (BRAM), with sufficient capacity to store the dot data of multiple commonly used templates. After receiving a template multiplexing packet containing a template identifier and complete template data, the FPGA timing control unit decodes the template data and stores it in the memory area corresponding to the template identifier within the template buffer. Once the template data is stored, the template can be repeatedly used in subsequent printing processes.

[0223] When the FPGA timing control unit subsequently receives a template multiplexing packet containing only a template identifier and differential positions, it reads the corresponding template data from the local template buffer based on the template identifier and determines the positions to be overwritten or replaced based on the differential row and differential column positions. Specifically, when the current value of the row synchronization counter matches the differential row position in the template multiplexing packet, the FPGA timing control unit triggers a template unpacking operation, reads the complete template data corresponding to that template identifier from the local template buffer, and uses it as the base spray pattern for that row. Then, at the differential column position, the FPGA timing control unit replaces the spray data at the corresponding position in the template data with the differential spray data.

[0224] Next, the FPGA timing control unit expands the replaced differential spray point data into spray pulses.

[0225] The inkjet printing control method provided in this invention enables the FPGA to reuse stored template data locally through a template reuse package and a local template cache. It only needs to receive a small amount of differential data to reconstruct a complete repeating pattern. For scenarios involving repeating backgrounds, table lines, or batch printing of documents in the same format, this significantly reduces the amount of data transmission between the SoC and the FPGA, while also reducing the computational overhead of repeatedly generating the same inkjet data on the SoC side.

[0226] Based on any of the above embodiments, before step S230, step S250 is further included.

[0227] Step S250: Receive a global configuration package sent by the SoC control unit. The global configuration package includes a weight balance table, a spray ban table, a grayscale lookup table, a line delay compensation table, and a nozzle mapping table.

[0228] Before the SoC control unit completes the equalization arbitration and sends the updated nozzle data packet to the FPGA timing control unit, the SoC control unit also sends a global configuration package to the FPGA timing control unit. The global configuration package includes an equalization weight table, a no-spray table, a grayscale lookup table, a line delay compensation table, and a nozzle mapping table.

[0229] It should be understood that in the adaptive calibration process after nozzle replacement, the SoC control unit updates the grayscale lookup table, row delay compensation table, and nozzle mapping table based on the density block test results and test line detection results of the new nozzle, and packages the updated tables into a global configuration package and sends it to the FPGA timing control unit. The jet pulse generation scheme of this embodiment is applicable to the initial configuration stage and the adaptive stage after nozzle replacement. Regardless of whether the tables are initial values ​​or updated values, the FPGA timing control unit performs spray rejection, equalization arbitration, row delay correction, grayscale mapping, and nozzle mapping operations according to the same processing flow.

[0230] After receiving the global configuration package, the FPGA timing control unit writes each table in it into the corresponding strategy register for storage, so that it can be queried in real time during the subsequent jet pulse generation process.

[0231] At this time, step S230 includes: step S234, step S235, step S236 and step S237.

[0232] Step S234: According to the no-spray table, discard the spray point events corresponding to the nozzles that are prohibited from spraying in the updated spray point data packet to obtain the processed spray point data packet.

[0233] The FPGA timing control unit reads spray events from the updated spray event data packet. Each spray event includes row position, column position, nozzle number, and gray level.

[0234] In the jet pulse generation process, the FPGA timing control unit first performs jet rejection based on the no-jet table. The FPGA timing control unit reads the no-jet table, which includes a list of nozzle numbers that are prohibited from jetting. If the nozzle number of the current jet event is within the no-jet table, the jet event is marked as invalid and discarded, not proceeding to the next processing stage. For jet events with nozzle numbers not in the no-jet table, they are retained and proceed to the next stage.

[0235] By eliminating nozzles that are malfunctioning, it is ensured that nozzles with abnormalities will not continue to spray, thus avoiding the risk of print quality defects and equipment damage caused by abnormal spraying.

[0236] Step S235: When the processed inkjet data packet includes multiple candidate nozzles, based on the equalization weight table, the nozzle corresponding to the cartridge with the lowest equalization score is selected as the actual output nozzle, and the nozzle number corresponding to the inkjet event in the processed inkjet data packet is updated to the number of the actual output nozzle.

[0237] For nozzles located within the overlapping coverage area of ​​the nozzles, the SoC control unit may include multiple candidate nozzle information in the updated nozzle data packet it sends. Therefore, when the FPGA timing control unit detects that the current nozzle event includes multiple candidate nozzle information, it performs a leveling arbitration operation.

[0238] In the equalization arbitration operation, the FPGA timing control unit extracts all candidate nozzle numbers and corresponding cartridge numbers that can cover the current nozzle position from the processed nozzle data packet. It then queries the equalization weight table stored in the equalization arbitration register to obtain the equalization score of the cartridge corresponding to each candidate nozzle. The equalization score is calculated by the SoC control unit based on the remaining ink volume of each cartridge, the cumulative number of nozzles, the nozzle idle time, the nozzle health status, and printhead replacement information. A lower equalization score indicates that the cartridge has sufficient remaining ink volume, fewer cumulative nozzles, and a longer idle time, and should therefore be prioritized for scheduling nozzles. By comparing the equalization scores of the cartridges corresponding to each candidate nozzle, the nozzle corresponding to the cartridge with the lowest equalization score is selected as the actual output nozzle, and the nozzle number of the current nozzle event is updated to the number of this actual output nozzle.

[0239] Furthermore, if all candidate nozzles have the same balance score, they are selected according to a preset priority order, such as selecting the first one according to the order in the candidate nozzle list.

[0240] Furthermore, for spray point events that do not include multiple candidate nozzles, i.e., spray point events where the SoC control unit has determined a single target nozzle, the FPGA timing control unit keeps the nozzle number unchanged and does not perform equalization arbitration operation.

[0241] Step S236: Query the row delay compensation table according to the actual output nozzle number, and superimpose the row position in the processed spray point data packet with the row delay compensation value corresponding to each actual output nozzle to generate the row position after delay correction.

[0242] The FPGA timing control unit queries the row delay compensation table based on the final determined actual output nozzle number in the current spray point event to obtain the row delay compensation value corresponding to that nozzle. The row delay compensation value is in rows and can be positive, negative, or zero. A positive value indicates that the physical position of the nozzle is downstream relative to the reference position, and the spraying time needs to be advanced by the corresponding row number; a negative value indicates that the physical position of the nozzle is upstream relative to the reference position, and the spraying time needs to be delayed by the corresponding row number.

[0243] The FPGA timing control unit algebraically adds the row position in the current spray event to the row delay compensation value to generate the delayed row position.

[0244] By setting and querying the line delay compensation value as described above, it is ensured that the ink droplets sprayed by multiple staggered printheads fall on the same line of paper, eliminating the line misalignment defect caused by the difference in the physical position of the printheads.

[0245] Step S237: When the current row position matches the delayed row position, the grayscale lookup table is queried according to the actual output nozzle number, and the grayscale level in the processed spray point data packet is mapped to the corresponding width of the spray pulse.

[0246] The FPGA timing control unit compares the current row position of the row synchronization counter with the row position after delay correction in real time. When the two match, it queries the grayscale lookup table according to the number of the actual output nozzle finally determined in the current spray point event, and maps the grayscale level in the processed spray point data packet to the corresponding width of the spray pulse according to the grayscale lookup table.

[0247] Specifically, the grayscale lookup table includes a mapping relationship between grayscale levels and jet pulse widths. This mapping relationship is non-linear, and the optimal pulse width corresponding to the same grayscale level may differ between different nozzles due to variations in manufacturing batches, nozzle orifice diameters, and aging processes. Therefore, the grayscale lookup table is first consulted based on the actual output nozzle number to obtain the pulse width parameter corresponding to the grayscale level. Then, an electrical pulse signal with a corresponding width is generated based on this pulse width parameter as the jet pulse.

[0248] The inkjet printing control method provided in this invention constructs a complete hardware processing pipeline from nozzle event input to jet pulse output through the cascading cooperation of five processing stages: nozzle rejection, equalization arbitration, line delay correction, grayscale mapping, and nozzle mapping. Each of these stages transmits data via register cascading within the FPGA timing control unit and executes in parallel within the same clock cycle, avoiding the instruction overhead and context switching latency caused by software processing. This allows the FPGA timing control unit to independently complete the complete conversion from nozzle event to final jet pulse without intervention from the SoC control unit. This processing flow is applicable to different stages, from initial values ​​in each table to updated values ​​after printhead replacement. While ensuring real-time processing, it also ensures consistency with the equalization strategy on the SoC control unit side, thereby achieving real-time and accurate jet pulse generation in high-speed printing scenarios.

[0249] This invention also provides an inkjet printing control method applied to an inkjet printing device, the inkjet printing device including a SoC control unit and an FPGA timing control unit, including steps S310, S320, S330, S340, S350 and S360.

[0250] In step S310, the SoC control unit divides the image to be printed into multiple image regions, identifies schedulable and non-schedulable spray points in each image region, and generates corresponding spray point data packets based on the spray point characteristics of each image region. Step S320: The SoC control unit acquires the status parameters of each ink cartridge and calculates the equalization score of each ink cartridge based on the status parameters. Step S330: The SoC control unit obtains the candidate nozzles corresponding to each schedulable inkjet point, and determines the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzle belongs. Step S340: The SoC control unit updates the spray point data packet based on the target nozzle and the unschedulable spray point, and sends the updated spray point data packet to the FPGA timing control unit. Step S350: The FPGA timing control unit receives the updated spray dot data packet and determines the current row position based on the row synchronization signal; In step S360, the FPGA timing control unit generates a corresponding injection pulse based on the updated spray point data packet and the current row position, and outputs the injection pulse to the nozzle array.

[0251] The inkjet printing control method applied to an inkjet printing device in this embodiment of the invention can refer to the aforementioned inkjet printing control method embodiment applied to a SoC control unit for each step executed on the SoC control unit side, and the same applies to the aforementioned inkjet printing control method embodiment applied to an FPGA timing control unit for each step executed on the FPGA timing control unit side. The focus of this embodiment is to present the data interaction and execution timing relationship between the SoC control unit and the FPGA timing control unit. Specific processing steps and their corresponding effects can be found in the above embodiments, and will not be repeated here.

[0252] The inkjet printing control device provided in the embodiments of the present invention is described below. The inkjet printing control device described below can be referred to in correspondence with the inkjet printing control method applied to the SoC control unit described above.

[0253] Figure 5 This is one of the structural schematic diagrams of the inkjet printing control device provided by the present invention, such as... Figure 5 As shown, the device includes an image region segmentation module 510, a spray point data packet generation module 520, an equalization score calculation module 530, a target nozzle determination module 540, and a spray point data packet distribution module 550; wherein: The image region division module 510 is used to divide the image to be printed into multiple image regions; The spray point data packet generation module 520 is used to identify schedulable and non-schedulable spray points in each of the image regions, and generate corresponding spray point data packets based on the spray point features of each of the image regions. The equalization score calculation module 530 is used to obtain the status parameters of each ink cartridge and calculate the equalization score of each ink cartridge based on the status parameters. The target nozzle determination module 540 is used to obtain the candidate nozzles corresponding to each of the schedulable spray points, and determine the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzles belong. The spray point data packet sending module 550 is used to update the spray point data packet based on the target nozzle and the unschedulable spray point, and send the updated spray point data packet to the FPGA timing control unit.

[0254] According to an inkjet printing control device provided by the present invention, the dot data packet generation module 520 is specifically used for: Obtain the spray points, their position coordinates, and grayscale values ​​within each of the image regions; If the location coordinates fall within the physical coverage area of ​​an adjacent nozzle, or the local image gradient magnitude corresponding to the location coordinates is less than a preset edge threshold, or the gray value is within a preset redundant gray range, then the corresponding nozzle is determined to be a schedulable nozzle. If the local image gradient magnitude corresponding to the position coordinates is greater than or equal to the preset edge threshold, or if the position coordinates fall into the graphic code area, the positioning line template area, or the preset protection mask area, then the corresponding spray point is determined to be an unschedulable spray point.

[0255] According to an inkjet printing control device provided by the present invention, the inkjet dot features include pixel coverage and inkjet dot distribution information, and the inkjet dot data packet generation module 520 is further specifically used for: When the pixel coverage of the image region is zero, it is determined to be a continuous blank region, and a blank line segment packet including the blank start position and blank length is generated; When the pixel coverage of the image region is greater than zero and less than a preset sparse threshold, a spray point event packet including the spray point position, nozzle number and gray level is generated. When it is determined from the nozzle distribution information that the nozzles in the image region are located in the overlapping coverage area of ​​adjacent nozzles, a stitching strategy package including candidate nozzle information and alternative nozzle information is generated. When multiple image regions are determined to be repeating pattern regions based on the spray dot distribution information, a template reuse package including template identifier and differential position is generated; The spraying data packet includes at least one of the blank line segment packet, the spraying event packet, the splicing strategy packet, and the template reuse packet.

[0256] According to an inkjet printing control device provided by the present invention, the equalization score calculation module 530 is specifically used for: Obtain the status parameters of each ink cartridge, including the remaining ink volume of the ink cartridge, the cumulative number of ink dots, the nozzle idle time, the nozzle health status, and printhead replacement information. The remaining ink volume deviation is determined based on the remaining ink volume of the ink cartridge, the average remaining ink volume of the ink cartridge, and the preset ink volume imbalance threshold. The cumulative nozzle deviation is determined based on the cumulative nozzle count, the average cumulative nozzle count of the ink cartridge, and the preset cumulative nozzle imbalance threshold. Idle risk is determined based on the nozzle idle time and the target dry-out risk trigger threshold, wherein the target dry-out risk trigger threshold is determined based on ambient temperature and relative humidity; Based on the nozzle's health status, a health penalty is determined; Based on the nozzle replacement information and the cumulative number of spray points, a replacement break-in penalty is determined; The remaining ink volume deviation, the cumulative ink dot deviation, the idle risk, the health penalty, and the replacement break-in penalty are weighted and summed to obtain the equilibrium score.

[0257] According to an inkjet printing control device provided by the present invention, the target nozzle determination module 540 is specifically used for: Obtain nozzles that cover the schedulable spray points as initial candidate nozzles; The current health status, previous injection time, and continuous injection count of the initial candidate nozzle are obtained, wherein the continuous injection count is the cumulative number of injections of each nozzle in a continuous row cycle; Remove initial candidate nozzles whose current health status is abnormal, remove candidate nozzles whose difference between the current time and the previous spray time is less than the preset minimum spray interval, and remove candidate nozzles whose continuous spray count is greater than the preset maximum number of continuous sprays. The remaining initial candidate nozzles are used as the candidate nozzles.

[0258] According to an inkjet printing control device provided by the present invention, the inkjet printing control device further includes: The idle time acquisition module is used to acquire the current idle time of each nozzle. The safe landing point search module is used to search for the safe landing point location within the page margin range when the current nozzle idle time exceeds the target drying risk trigger threshold. The safe landing point determination module is used to determine the safe landing point position when there is a blank position within the margin range that does not include unschedulable spray points. The safe landing point search module is also used to continue searching for the safe landing point position within the cropping edge range when the blank position does not exist within the margin range. The safe landing point determination module is also used to take the waste ink area as the safe landing point position when there is no blank position within the cutting edge range; A moisturizing strategy package generation module is used to generate a moisturizing strategy package based on the safe landing point location; The spray point data packet sending module 550 is specifically used for: The updated spray point data package and the moisturizing strategy package are sent to the FPGA timing control unit.

[0259] According to an inkjet printing control device provided by the present invention, the inkjet printing control device further includes: The nozzle detection module is used to mark the corresponding target nozzle as a new replacement nozzle when the identification number of any nozzle is detected to have changed, and to control the proportion of the target nozzle participating in the selection of the schedulable spray points to the initial proportion. The table update module is used to obtain the spray intensity test results of the target nozzle and update the grayscale lookup table, row delay compensation table and nozzle mapping table according to the spray intensity test results; The ratio adjustment module is used to gradually increase the selection ratio of the target nozzle participating in the schedulable spray points by a preset step size after the cumulative number of spray points of the target nozzle reaches a preset break-in threshold, until the full ratio is reached.

[0260] According to an inkjet printing control device provided by the present invention, before sending the updated dot data packet to the FPGA timing control unit, the device further includes: The equalization weight table generation module is used to generate an equalization weight table based on the equalization score. The equalization weight table includes the mapping relationship between the number of each ink cartridge and the corresponding equalization score. A no-spray table acquisition module is used to acquire a no-spray table, which includes a list of nozzle numbers that are prohibited from spraying. The global configuration package packaging module is used to package the balanced weight table, the no-spray table, the updated grayscale lookup table, the updated row delay compensation table, and the updated nozzle mapping table into a global configuration package; The spray point data packet sending module 550 is also specifically used for: The updated spray point data package and the global configuration package are sent to the FPGA timing control unit.

[0261] It should be noted that the inkjet printing control device provided in this embodiment of the invention can implement all the method steps implemented in the above embodiment of the inkjet printing control method applied to the SoC control unit, and can achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0262] The inkjet printing control device provided in the embodiments of the present invention is described below. The inkjet printing control device described below can be referred to in correspondence with the inkjet printing control method applied to the FPGA timing control unit described above.

[0263] Figure 6 This is a second schematic diagram of the structure of the inkjet printing control device provided by the present invention, as shown below. Figure 6 As shown, the device includes a spray point data packet receiving module 610, a current line position determination module 620, a spray pulse generation module 630, and a spray pulse output module 640; wherein: The spray dot data packet receiving module 610 is used to receive the updated spray dot data packet sent by the SoC control unit; The current row position determination module 620 is used to determine the current row position based on the row synchronization signal; The injection pulse generation module 630 is used to generate a corresponding injection pulse based on the updated injection point data packet and the current row position; The jet pulse output module 640 is used to output the jet pulse to the nozzle array.

[0264] According to the inkjet printing control device provided by the present invention, the inkjet data packet includes an inkjet event packet and a blank line segment packet. The inkjet event packet includes the inkjet position, nozzle number and gray level, and the blank line segment packet includes the blank start position and blank length. The jet pulse generation module 630 is specifically used for: When the current row position matches the row position in the spray point position, a corresponding spray pulse is generated based on the gray level; When the current line position is within the range of the blank start position to the blank start position plus the blank length of the blank line segment, the output of the jet pulse is prohibited.

[0265] According to an inkjet printing control device provided by the present invention, the inkjet data packet further includes a template multiplexing packet, the template multiplexing packet includes a template identifier and a differential position, the differential position includes a differential row position and a differential column position; The jet pulse generation module 630 is also specifically used for: When the current row position matches the differential row position, the locally stored template data is obtained according to the template identifier, and the template data is replaced with differential spray point data at the differential column position to generate a spray pulse.

[0266] According to an inkjet printing control device provided by the present invention, the inkjet printing control device further includes: The global configuration package receiving module is used to receive the global configuration package sent by the SoC control unit. The global configuration package includes a weight balance table, a spray prohibition table, a grayscale lookup table, a row delay compensation table, and a nozzle mapping table. The jet pulse generation module 630 is also specifically used for: According to the no-spray table, the spray point events corresponding to the nozzles that are prohibited from spraying are discarded in the updated spray point data packet to obtain the processed spray point data packet; When the processed inkjet data packet includes multiple candidate nozzles, based on the equalization weight table, the nozzle corresponding to the cartridge with the lowest equalization score is selected as the actual output nozzle, and the nozzle number corresponding to the inkjet event in the processed inkjet data packet is updated to the number of the actual output nozzle. The row delay compensation table is queried according to the actual output nozzle number. The row position in the processed spray point data packet is superimposed with the row delay compensation value corresponding to each actual output nozzle to generate the row position after delay correction. When the current row position matches the delayed row position, the grayscale lookup table is queried according to the actual output nozzle number, and the grayscale level in the processed spray point data packet is mapped to the corresponding width of the spray pulse.

[0267] It should be noted that the inkjet printing control device provided in this embodiment of the invention can implement all the method steps implemented in the inkjet printing control method embodiment applied to FPGA timing control unit, and can achieve the same technical effect. Here, the parts that are the same as those in the method embodiment and the beneficial effects will not be described in detail.

[0268] Figure 7 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 7 As shown, the electronic device may include a processor 710, a communications interface 720, a memory 730, and a communication bus 740, wherein the processor 710, the communications interface 720, and the memory 730 communicate with each other via the communication bus 740. The processor 710 can call logical instructions in the memory 730 to execute the inkjet printing control methods provided in the above embodiments.

[0269] Furthermore, the logical instructions in the aforementioned memory 730 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0270] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to perform the inkjet printing control methods provided in the above embodiments.

[0271] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0272] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus the necessary high-resource hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0273] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. An inkjet printing control method, characterized in that, The SoC control unit used in inkjet printing equipment includes: Divide the image to be printed into multiple image regions; Identify schedulable and non-schedulable spray points in each of the image regions, and generate corresponding spray point data packets based on the spray point features of each of the image regions; Obtain the status parameters of each ink cartridge, and calculate the equalization score of each ink cartridge based on the status parameters; Obtain candidate nozzles corresponding to each of the schedulable spray points, and determine the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzles belong; The spray point data packet is updated based on the target nozzle and the unschedulable spray point, and the updated spray point data packet is sent to the FPGA timing control unit.

2. The inkjet printing control method according to claim 1, characterized in that, The identification of schedulable and non-schedulable spray points in each of the image regions includes: Obtain the spray points, their position coordinates, and grayscale values ​​within each of the image regions; If the location coordinates fall within the physical coverage area of ​​an adjacent nozzle, or the local image gradient magnitude corresponding to the location coordinates is less than a preset edge threshold, or the gray value is within a preset redundant gray range, then the corresponding nozzle is determined to be a schedulable nozzle. If the local image gradient magnitude corresponding to the position coordinates is greater than or equal to the preset edge threshold, or if the position coordinates fall into the graphic code area, the positioning line template area, or the preset protection mask area, then the corresponding spray point is determined to be an unschedulable spray point.

3. The inkjet printing control method according to claim 1, characterized in that, The spray point features include pixel coverage and spray point distribution information. The step of generating corresponding spray point data packets based on the spray point features of each image region includes: When the pixel coverage of the image region is zero, it is determined to be a continuous blank region, and a blank line segment packet including the blank start position and blank length is generated; When the pixel coverage of the image region is greater than zero and less than a preset sparse threshold, a spray point event packet including the spray point position, nozzle number and gray level is generated. When it is determined from the nozzle distribution information that the nozzles in the image region are located in the overlapping coverage area of ​​adjacent nozzles, a stitching strategy package including candidate nozzle information and alternative nozzle information is generated. When multiple image regions are determined to be repeating pattern regions based on the spray dot distribution information, a template reuse package including template identifier and differential position is generated; The spraying data packet includes at least one of the blank line segment packet, the spraying event packet, the splicing strategy packet, and the template reuse packet.

4. The inkjet printing control method according to claim 1, characterized in that, The process of acquiring the status parameters of each ink cartridge and calculating the equalization score of each ink cartridge based on the status parameters includes: Obtain the status parameters of each ink cartridge, including the remaining ink volume of the ink cartridge, the cumulative number of ink dots, the nozzle idle time, the nozzle health status, and printhead replacement information. The remaining ink volume deviation is determined based on the remaining ink volume of the ink cartridge, the average remaining ink volume of the ink cartridge, and the preset ink volume imbalance threshold. The cumulative nozzle deviation is determined based on the cumulative nozzle count, the average cumulative nozzle count of the ink cartridge, and the preset cumulative nozzle imbalance threshold. Idle risk is determined based on the nozzle idle time and the target dry-out risk trigger threshold, wherein the target dry-out risk trigger threshold is determined based on ambient temperature and relative humidity; Based on the nozzle's health status, a health penalty is determined; Based on the nozzle replacement information and the cumulative number of spray points, a replacement break-in penalty is determined; The remaining ink volume deviation, the cumulative ink dot deviation, the idle risk, the health penalty, and the replacement break-in penalty are weighted and summed to obtain the equilibrium score.

5. The inkjet printing control method according to claim 1, characterized in that, The step of obtaining the candidate nozzles corresponding to each of the schedulable spray points includes: Obtain nozzles that cover the schedulable spray points as initial candidate nozzles; The current health status, previous injection time, and continuous injection count of the initial candidate nozzle are obtained, wherein the continuous injection count is the cumulative number of injections of each nozzle in a continuous row cycle; Remove initial candidate nozzles whose current health status is abnormal, remove candidate nozzles whose difference between the current time and the previous spray time is less than the preset minimum spray interval, and remove candidate nozzles whose continuous spray count is greater than the preset maximum number of continuous sprays. The remaining initial candidate nozzles are used as the candidate nozzles.

6. The inkjet printing control method according to any one of claims 1 to 4, characterized in that, Before sending the updated spray dot data packet to the FPGA timing control unit, the process also includes: Get the current nozzle idle time for each nozzle; When the current nozzle idle time exceeds the target dry-out risk trigger threshold, a safe landing point is found within the page margin range; When there is a blank space within the margin range that does not include unschedulable spray points, the blank space is taken as the safe landing point position; If there is no blank space within the margin range, continue searching for the safe landing point within the trimming edge range; When there is no blank space within the cutting edge range, the waste ink area is taken as the safe landing point. Based on the safe landing point location, a moisturizing strategy package is generated; The step of sending the updated spray point data packet to the FPGA timing control unit includes: The updated spray point data package and the moisturizing strategy package are sent to the FPGA timing control unit.

7. The inkjet printing control method according to any one of claims 1 to 4, characterized in that, The inkjet printing control method further includes: When a change in the identification number of any nozzle is detected, the corresponding target nozzle is marked as a new replacement nozzle, and the proportion of the target nozzle participating in the selection of the schedulable spray points is controlled to the initial proportion. Obtain the spray intensity test result of the target nozzle, and update the grayscale lookup table, row delay compensation table and nozzle mapping table according to the spray intensity test result; Once the cumulative number of spray points from the target nozzle reaches a preset break-in threshold, the proportion of the target nozzle participating in the selection of the schedulable spray points is gradually increased by a preset step size until the full proportion is reached.

8. The inkjet printing control method according to claim 7, characterized in that, Before sending the updated spray dot data packet to the FPGA timing control unit, the process also includes: A balance weight table is generated based on the balance score, and the balance weight table includes the mapping relationship between the number of each ink cartridge and the corresponding balance score; Obtain a no-spray table, which includes a list of nozzle numbers that are prohibited from spraying; Package the balanced weight table, the no-spray table, the updated grayscale lookup table, the updated row delay compensation table, and the updated nozzle mapping table into a global configuration package; The step of sending the updated spray dot data packet to the FPGA timing control unit also includes: The updated spray point data package and the global configuration package are sent to the FPGA timing control unit.

9. An inkjet printing control method, characterized in that, An FPGA timing control unit used in inkjet printing equipment includes: Receive the updated spray point data packet sent by the SoC control unit; The current row position is determined based on the row synchronization signal; Based on the updated spray point data packet and the current row position, a corresponding spray pulse is generated; The jet pulse is output to the nozzle array.

10. The inkjet printing control method according to claim 9, characterized in that, The spray point data packet includes a spray point event packet and a blank line segment packet. The spray point event packet includes the spray point position, nozzle number, and gray level. The blank line segment packet includes the blank start position and blank length. The step of generating a corresponding jet pulse based on the updated jet point data packet and the current row position includes: When the current row position matches the row position in the spray point position, a corresponding spray pulse is generated based on the gray level; When the current line position is within the range of the blank start position to the blank start position plus the blank length of the blank line segment, the output of the jet pulse is prohibited.

11. The inkjet printing control method according to claim 9, characterized in that, The spraying data packet also includes a template multiplexing packet, which includes a template identifier and a differential position, wherein the differential position includes a differential row position and a differential column position; The step of generating a corresponding jet pulse based on the updated jet point data packet and the current row position further includes: When the current row position matches the differential row position, the locally stored template data is obtained according to the template identifier, and the template data is replaced with differential spray point data at the differential column position to generate a spray pulse.

12. The inkjet printing control method according to any one of claims 9 to 11, characterized in that, Before generating the corresponding jet pulse based on the updated jet point data packet and the current row position, the process further includes: Receive a global configuration package sent by the SoC control unit. The global configuration package includes a weight balance table, a spray ban table, a grayscale lookup table, a row delay compensation table, and a nozzle mapping table. The step of generating a corresponding jet pulse based on the updated jet point data packet and the current row position further includes: According to the no-spray table, the spray point events corresponding to the nozzles that are prohibited from spraying are discarded in the updated spray point data packet to obtain the processed spray point data packet; When the processed inkjet data packet includes multiple candidate nozzles, based on the equalization weight table, the nozzle corresponding to the cartridge with the lowest equalization score is selected as the actual output nozzle, and the nozzle number corresponding to the inkjet event in the processed inkjet data packet is updated to the number of the actual output nozzle. The row delay compensation table is queried according to the actual output nozzle number. The row position in the processed spray point data packet is superimposed with the row delay compensation value corresponding to each actual output nozzle to generate the row position after delay correction. When the current row position matches the delayed row position, the grayscale lookup table is queried according to the actual output nozzle number, and the grayscale level in the processed spray point data packet is mapped to the corresponding width of the spray pulse.

13. An inkjet printing control method, characterized in that, The inkjet printing control method, applicable to an inkjet printing device including a SoC control unit and an FPGA timing control unit, includes: The SoC control unit divides the image to be printed into multiple image regions, identifies schedulable and non-schedulable spray points in each image region, and generates corresponding spray point data packets based on the spray point characteristics of each image region. The SoC control unit acquires the status parameters of each ink cartridge and calculates the equalization score of each ink cartridge based on the status parameters; The SoC control unit acquires the candidate nozzles corresponding to each schedulable inkjet point, and determines the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzle belongs. The SoC control unit updates the spray point data packet based on the target nozzle and the unschedulable spray point, and sends the updated spray point data packet to the FPGA timing control unit. The FPGA timing control unit receives the updated spray dot data packet and determines the current row position based on the row synchronization signal; The FPGA timing control unit generates a corresponding injection pulse based on the updated injection point data packet and the current row position, and outputs the injection pulse to the nozzle array.

14. An inkjet printing control device, characterized in that, include: The image region segmentation module is used to divide the image to be printed into multiple image regions; The spray point data packet generation module is used to identify schedulable and non-schedulable spray points in each of the image regions, and generate corresponding spray point data packets based on the spray point features of each of the image regions. The equalization score calculation module is used to obtain the status parameters of each ink cartridge and calculate the equalization score of each ink cartridge based on the status parameters. The target nozzle determination module is used to obtain the candidate nozzles corresponding to each of the schedulable spray points, and determine the target nozzle from the candidate nozzles based on the equalization score of the ink cartridge to which the candidate nozzles belong. The spray point data packet delivery module is used to update the spray point data packet based on the target nozzle and the unschedulable spray point, and then send the updated spray point data packet to the FPGA timing control unit.

15. An inkjet printing control device, characterized in that, include: The spray dot data packet receiving module is used to receive the updated spray dot data packets sent by the SoC control unit; The current row position determination module is used to determine the current row position based on the row synchronization signal; The injection pulse generation module is used to generate a corresponding injection pulse based on the updated injection point data packet and the current row position; The jet pulse output module is used to output the jet pulse to the nozzle array.

16. An inkjet printing device, characterized in that, It includes a SoC control unit, an FPGA timing control unit, and a nozzle array formed by multiple nozzle modules arranged in an alternating vertical arrangement. The SoC control unit and the FPGA timing control unit are connected via a data bus. The SoC control unit is used to execute the inkjet printing control method as described in any one of claims 1 to 8; The FPGA timing control unit is used to execute the inkjet printing control method as described in any one of claims 9 to 12.

17. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the inkjet printing control method as described in any one of claims 1 to 8, or the inkjet printing control method as described in any one of claims 9 to 12.