Uniform gray scale printing method and chip

By grouping the pixels of the image to be printed and staggering the start times, the continuous printing start position is dynamically determined, and the distribution of ink dots in the printing time series is optimized, solving the problem of uneven ink dot distribution and improving the printing quality of grayscale images and the reliability of the print head.

CN121799072APending Publication Date: 2026-04-07HANGZHOU SHUOTIAN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-12
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing grayscale printing methods result in uneven ink droplet distribution during the printing process, leading to uneven grayscale output, affecting image quality, and potentially causing power peak challenges and heat accumulation issues in the printhead's power system, thus shortening the printhead's lifespan.

Method used

By grouping the pixels of the image to be printed according to preset rules and assigning different initial printing counts to each group, and by using staggered start times and dynamically determining the start position of subsequent printing, the distribution of ink dots in the printing time series is optimized to ensure that ink dots are evenly distributed throughout the printing process.

Benefits of technology

It significantly improves the printing quality of grayscale images, reduces the instantaneous power demand of the print head, alleviates heat accumulation, extends the service life of the print head, and improves the reliability of the print head and the visual effect of the image.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121799072A_ABST
    Figure CN121799072A_ABST
Patent Text Reader

Abstract

The invention relates to a uniform gray scale printing method and a chip. The method comprises the following steps: grouping pixel points of an image to be printed according to a preset rule; different initial printing times are distributed to each group of pixel points, and a first round of ink dot distribution is carried out in the progressive increase direction of the printing times according to a set interval rule; under the condition that the ink dots are still not distributed after the first round of ink dot distribution, determining a continuation starting position based on the printing times of the undistributed ink dots, and taking the continuation starting position as a starting point, carrying out at least one round of subsequent ink dot distribution along the progressive increase direction of the printing times until all the ink dots are distributed; wherein the continuation starting position is determined to be different from the position of the first round of ink dot distribution starting point. In this way, concentrated distribution of the ink dots on the printing time sequence can be effectively avoided, the uniformity of spatial distribution of the ink dots in the printing process from the first time to the last time is ensured, and therefore the printing quality of the grayscale image can be remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of printing technology, and in particular to a uniform grayscale printing method and chip. Background Technology

[0002] Grayscale printing is an image output technology that simulates continuous changes in brightness and darkness by adjusting the spatial distribution and density of ink dots on the printing medium. This technology can achieve visually smooth grayscale transitions at limited printing resolutions, thus significantly improving image detail and visual quality, and is widely used in various printing devices that require high-precision grayscale output.

[0003] Currently, common grayscale printing methods typically employ the following steps: First, quantization: the host computer compresses 8-bit grayscale (0-255) into 4-16 grayscale levels; then, splitting: each grayscale level is mapped to a string of binary bits (e.g., 1010), where bit = 1 indicates "heating this point during this paper feed," and bit = 0 indicates "skipping"; finally, time-division: every time the print head moves 1 / n standard steps, it determines whether to heat based on the binary bits; after the same pixel undergoes n "microsteps," the accumulated heat is different, resulting in different depths on the paper. This can easily lead to overly dense ink dots in earlier print runs and sparse ink dots in later print runs, thus causing uneven grayscale in the printed output. Summary of the Invention

[0004] This application provides a uniform grayscale printing method and a chip.

[0005] According to a first aspect of the embodiments of this application, a uniform grayscale printing method is provided, the method comprising: Group the pixels of the image to be printed according to preset rules; Assign different initial printing counts to each group of pixels, and distribute ink dots in the first round in the direction of increasing printing counts according to the set interval rules; If there are still ink dots not distributed after the first round of ink dot distribution, the starting position of the subsequent distribution is determined based on the number of prints of the undistributed ink dots, and at least one round of subsequent ink dot distribution is carried out along the direction of increasing print count, starting from the starting position of the subsequent distribution, until all ink dots are distributed. The starting position for the continuation of the ink distribution is determined to be a position different from the starting point of the first round of ink dot distribution.

[0006] In one possible implementation, grouping the pixels of the image to be printed according to a preset rule includes: The pixels of the image to be printed are grouped according to the parity of their column numbers.

[0007] In one possible implementation, the interval rule includes: When assigning ink dots to the same pixel, the difference between the number of prints assigned each time and the number of prints assigned in the previous time is a fixed value N, where N is an integer greater than 1.

[0008] In one possible implementation, the reprint start position is the printing order in which the last unallocated ink dot appears in the print count sequence.

[0009] In one possible implementation, the continuation start position is a specified blank printing sequence, and the blank printing sequence has not been assigned ink dots in the previous round of distribution.

[0010] In one possible implementation, the preset rules include: The pixels of the image to be printed are grouped in a cyclical manner according to column order, wherein each group includes M pixels, where M is an integer greater than or equal to 2.

[0011] In one possible implementation, in the at least one round of subsequent ink dot distribution, the initial number of prints assigned to each group of pixels is the same as the initial number of prints assigned to that group in the first round of ink dot distribution.

[0012] In one possible implementation, the method further includes: In any round of ink dot distribution, any two ink dots assigned to the same pixel shall not be printed in adjacent order.

[0013] In one possible implementation, the method further includes: Based on the result after the ink droplets have been distributed, a sequence of control signals is generated to control the operation of the print head.

[0014] In one possible implementation, the method further includes: The print start position is anchored to the position to be filled closest to the end of the sequence, so that all remaining ink dots are distributed to the latter half of the printing timeline.

[0015] According to a second aspect of the embodiments of this application, a microprocessor chip is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the uniform grayscale printing method as described in any of the preceding claims. The uniform grayscale printing method and chip provided in this application achieve staggered ink dot distribution by grouping pixels according to preset rules and assigning different initial printing counts to each group. Subsequently, if ink dots are not fully allocated after the first round of distribution, a new printing start position different from the initial start position is dynamically determined based on the number of unallocated ink dots printed, and subsequent rounds of distribution begin from this position. This effectively avoids concentrated distribution of ink dots in the printing time sequence, ensuring the uniformity of ink dot spatial distribution from the first to the last printing process, thereby significantly improving the printing quality of grayscale images. Attached Figure Description

[0016] Further details, features, and advantages of this application are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which: Figure 1 A schematic diagram of ink dot distribution provided for an exemplary embodiment of this application; Figure 2 A schematic diagram of ink dot distribution provided for another exemplary embodiment of this application; Figure 3 A schematic diagram of ink dot distribution provided for yet another exemplary embodiment of this application; Figure 4 A flowchart of a uniform grayscale printing method provided as an exemplary embodiment of this application; Figure 5 This is a schematic diagram of the structure of a microprocessor chip provided as an exemplary embodiment of this application. Detailed Implementation

[0017] Embodiments of this application will now be described in more detail with reference to the accompanying drawings. While some embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this application. It should be understood that the drawings and embodiments of this application are for illustrative purposes only and are not intended to limit the scope of protection of this application.

[0018] It should be understood that the steps described in the method embodiments of this application may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this application is not limited in this respect.

[0019] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first", "second", etc., mentioned in this application are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.

[0020] It should be noted that the terms "a" and "a plurality of" used in this application are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more". The names of the messages or information exchanged between multiple devices in the embodiments of this application are for illustrative purposes only and are not intended to limit the scope of these messages or information.

[0021] To more clearly illustrate the embodiments of this application, the following describes the fundamental hardware problems to be solved by the embodiments of this application, the proposed control scheme, and the significant technical effects resulting therefrom, starting from the core physical structure and working principle of the print head.

[0022] 1) Physical basis: The array-type micro-unit structure of the printhead.

[0023] Whether it's thermal printing or inkjet printing, the core of the printhead consists of a large number of tiny, independent physical actuators (called "heating resistors" or "heating points" in thermal printing, and "nozzles" in inkjet printing) precisely arranged. These units spatially correspond one-to-one with the pixel positions in the image to be printed (e.g., the first pixel). i Each unit is fixed and responsible for printing the first... i (Column pixels). When performing grayscale printing, the printer simulates light and dark by assigning multiple "ink dots" to each pixel. In hardware terms, this translates to controlling the corresponding physical unit to perform a "heating" or "jetting" action at multiple different points in time (printing times).

[0024] 2) Explain the core technical problems to be solved by the embodiments of this application from the perspective of hardware principles.

[0025] Related grayscale printing algorithms (such as simple loops or random distribution) mainly cause two interrelated hardware-level problems when controlling the operation of the above physical cell array: (1) Instantaneous load concentration and power surge: If the algorithm allows a large number of adjacent or all physical units to be activated at the same time (in the same print), it will generate huge instantaneous current demand. This will bring severe power peak challenges to the printer's power system, which may lead to voltage instability, overheating of the drive circuit, and even affect print quality.

[0026] (2) Localized heat accumulation and unit aging: For thermal printheads, if a heating resistor is continuously and densely activated in a short period of time (i.e., the ink dots required for the pixels it is responsible for are distributed in adjacent print runs), severe heat accumulation will occur at that point and in its surrounding area. This will lead to: Print quality deterioration: thermal diffusion causes ink droplet shape distortion, mutual contamination between adjacent dots, blurry images, and uneven grayscale.

[0027] Hardware lifespan degradation: Localized sustained high temperatures accelerate the material fatigue and aging of the heating resistor, which is one of the main causes of printhead damage.

[0028] For inkjet printheads, similar problems manifest as ink drying, clogging, or performance degradation in the nozzles due to frequent arousal.

[0029] Traditional algorithms may be inefficient or even disordered in scheduling the work of hundreds or thousands of physical units in the time dimension, failing to fully consider the inherent electrical and thermal limits of the hardware, resulting in uneven distribution of load in time and space.

[0030] 3) This application provides a set of highly optimized spatiotemporal collaborative scheduling algorithms for printhead physical unit arrays to precisely control the hardware operating mode of the printhead.

[0031] The implementation can group pixels by column (i.e., by their corresponding physical unit number) (e.g., odd-even grouping). This directly corresponds to dividing the execution units on the physical print head into several logical subsets (e.g., "even-numbered column unit group" and "odd-numbered column unit group").

[0032] The implementation can assign different initial print counts to different groups, thus specifying that physical units in different logical subsets begin their first operation at different times. For example, even-numbered units are activated during the first print, while odd-numbered units are activated during the second print. This fundamentally avoids all units starting simultaneously, reducing instantaneous load peaks by half or more. Furthermore, by specifying that adjacent operations of the same pixel (i.e., the same physical unit) must be spaced at least N print cycles apart, a mandatory cooling-off or quiet period can be set for each physical unit, logically eliminating the possibility of continuous, intensive operation.

[0033] This embodiment determines the start position of the subsequent printing cycle. After the first round of scheduling, it detects which time periods (print counts) on the entire printing timeline have insufficient ink dots (number of active units) and fills the gaps from the back to the front. Subsequent scheduling rounds can start from the later time periods with the sparsest ink dot distribution. This ensures that even for physical units with low overall workload (low grayscale), their working time is postponed and distributed throughout the middle and later parts of the entire printing cycle. In this way, the working pulses of each physical unit tend to be evenly distributed on the timeline throughout the printing task. This reduces the printer's instantaneous power demand, alleviates heat accumulation in the printhead, and ensures print quality and printhead lifespan.

[0034] In an embodiment, to improve the uniformity of printed grayscale, in an exemplary embodiment provided in this application, such as... Figure 1 As shown, Figure 1 This is a schematic diagram of ink dot distribution provided in an embodiment of this application.

[0035] like Figure 1 As shown, Figure 1 The horizontal axis (columns) of each graph represents spatial location, i.e., individual pixels to be printed (e.g., pixels in columns 1, 2, 3, etc.). The vertical axis (rows) represents the printing time sequence, i.e., the first print, the second print, the third print, and so on. The printer will perform multiple prints (heating) at the same physical location to create grayscale.

[0036] In the embodiments, Figure 1 This is an example of an ink dot distribution scheme for 6 pixels (6 columns) during multiple printing (multiple rows).

[0037] Examples Figure 1 Taking six pixels (columns 1 to 6) as an example, assume that the total number of ink dots to be printed for each pixel (determined by the grayscale value) is different.

[0038] (1) First step of conversion: odd and even grouping, staggered printing.

[0039] Divide the 6 pixels into two groups according to the parity of their column numbers: Even numbers: columns 2, 4, and 6.

[0040] Odd numbers: Columns 1, 3, and 5.

[0041] Operation: Set different "start-up times" for these two groups.

[0042] like Figure 1 As shown in the "First Step Transformation" section, even-numbered arrays participate in ink dot distribution (i.e., are heated) from the first printing. Odd-numbered arrays, on the other hand, only participate in ink dot distribution from the second printing.

[0043] This avoids heating all pixels intensively in the same print run, distributing the heating load from the start of the print run, which is the first layer of foundation for achieving uniformity.

[0044] (2) Second step conversion: "reverse order filling" of the remaining ink dots.

[0045] This is the key to solving the problem of "sparse ink dots in later printing cycles" in the embodiments of this application.

[0046] Background: After the initial interval distribution, pixels with low grayscale values ​​(requiring fewer ink dots) may have their ink dots quickly allocated in the first few prints. For example, if a pixel only requires 3 ink dots, it may be allocated in prints 1, 3, and 5. In prints 7 and beyond, this pixel may remain blank.

[0047] Problem: This results in fewer heated points on the print head during the latter half of the printing process, creating a density difference with the first half and causing uneven printing.

[0048] Solution (Second Step Transformation): Initial distribution: such as Figure 1 As shown in the middle section, following the odd-even staggered peak rule of the first step, ink dots are distributed from front to back (starting from the first print) until the ink dots for each dot are distributed or a sufficient number of prints are performed.

[0049] Check remaining: At this point, some low grayscale dots may still have unallocated ink dots (because the total number of prints must be sufficient to achieve high grayscale).

[0050] Reverse order padding: such as Figure 1 As shown in the "Second Step Transformation" section, instead of proceeding from front to back, the process starts from the last print (or a blank position at the back) and searches for empty spaces to distribute the remaining ink dots.

[0051] In this embodiment, when the printer determines that there are still ink dots remaining after the first round of ink dot distribution, it does not simply restart the distribution from the initial printing count (e.g., the 1st or 2nd). Instead, it performs inverted logic: the starting print point of the subsequent (N+1th round, N≥1) distribution is determined as the printing order of the last time unallocated ink dots appeared. See also... Figure 1 In the transition from "step one transformation" to "step two transformation," the starting point for subsequent distributions is set at a later position in the printing sequence (e.g., Figure 1 (This is indicated by starting from a blank sequence at the end).

[0052] This step ensures that even low-grayscale pixels can have their ink droplets appear in the middle to later stages of the printing sequence. This makes the spatial distribution of ink droplets as uniform as possible across the entire printing timeline, from the first print to the last, thus addressing the problem of uneven ink droplet density between earlier and later prints.

[0053] This embodiment of the application avoids the printhead from experiencing a sudden high load during the initial printing phase due to the dense activation of all pixels, and also avoids inefficient idle states during the later printing phase due to sparse ink droplets. This effectively spreads the heating load on the printhead over time, reducing the risk of thermal shock and localized overheating. This is more printhead-friendly and helps improve the reliability and lifespan of the printhead.

[0054] In an exemplary embodiment provided in this application, such as Figure 2 As shown, Figure 2 This is a schematic diagram of ink dot distribution provided in yet another embodiment of this application.

[0055] Figure 2 This is a schematic diagram of a specific embodiment of the inverted distribution strategy in the N+1th round of this application. Figure 2 In the above Figure 1 Based on the process shown, this paper further demonstrates how to perform efficient and uniform subsequent distribution of ink dots when there are still remaining ink dots after the first round of ink dot distribution is completed, using an inversion strategy.

[0056] Combination Figure 2 As shown, Figure 2 The left side shows the state after the first round of ink dot distribution. At this point, some pixels (such as some pixels with low grayscale values) have had all their ink dots distributed, and their corresponding printing sequences have no ink dots to distribute, forming blank areas; while some pixels still have ink dots remaining. If the distribution were simply restarted from the initial position at this point, it would cause the ink dots to be overly concentrated in the early part of the printing sequence.

[0057] Figure 2 The middle section illustrates the specific implementation of the inverted ink distribution strategy in this embodiment. The printer first determines the printing order of the last occurrence of unallocated ink dots. For example... Figure 2 As shown, this sequence point is located relatively late in the printing sequence (rather than the starting position). Subsequently, the printer uses this determined later sequence point as the starting position for the next round (i.e., the N+1th round) of distribution.

[0058] Figure 2The right side shows the process of distributing ink dots in a new round, starting from the previously determined later point and following established grouping rules (such as parity) and interval rules (such as a fixed difference N), until all remaining ink dots have been distributed. It can be clearly observed that through this operation, the remaining ink dots are effectively "filled" into the blank spaces at the end of the printing sequence.

[0059] Figure 2 The effectiveness of the inverted distribution strategy can be visually verified. By dynamically setting the starting point of subsequent distributions to a later position in the printing sequence, the distribution density of ink dots becomes more even across the entire printing timeline (from the first to the last), eliminating the problem of excessive density differences between the early and late stages and thus improving the grayscale uniformity of the printed image. Microscopically, the heating load on the printhead is smoothed and balanced over time, avoiding imbalances such as excessively high initial load and excessively low later load. This significantly reduces thermal shock to the printhead, extends its lifespan, and achieves a "printhead-friendly" technical effect.

[0060] In an exemplary embodiment provided in this application, such as Figure 3 As shown, Figure 3 This is a schematic diagram of ink dot distribution provided in yet another embodiment of this application.

[0061] In the embodiments, Figure 3 The figure illustrates how, within the basic distribution framework, the ink dot distribution pattern can be further optimized by adjusting grouping and spacing rules to adapt to different printing precision or effect requirements.

[0062] Figure 3 The initial distribution phase demonstrated with Figure 1 A different first-step transformation rule. In this embodiment, the printer's strategy can be described as "skip two prints, then print two dots." Specifically, this can be understood as grouping and skipping pixels in column order with a larger cycle. For example, the printer can treat every four consecutive pixels as a processing unit, within which only two specific positions of pixels are allocated ink dots in the first round, while the other two are skipped. This rule is essentially a variant of the grouping interval expansion, where the number of groups M can be greater than 2 (e.g., M=4), and the activation mode within the group is interval activation. Compared to the basic odd-even alternation (M=2), this mode can further disperse the distance between the activated heating points within the same printing cycle, thereby more effectively reducing the spatial local density of the printed data.

[0063] like Figure 3 As shown in the following sections, if ink dots remain after the first round of distribution based on the extended mode, this embodiment also applies the same method as... Figure 2Consistent optimization logic: In the second step of transformation, a later start position for subsequent printing is dynamically determined based on the number of unallocated ink dots printed, and the subsequent rounds of distribution begin from this position until all ink dots are allocated. Figure 3 It clearly shows how the remaining ink dots are inverted and filled into the blank sequence at the end of the print sequence.

[0064] This embodiment employs an initial distribution mode that can disperse the initial print pulses over a wider spatial range, making it particularly suitable for high-resolution scenarios or those requiring the avoidance of specific print textures, thus providing flexibility for further enhancing image detail. Although the initial distribution mode differs in this embodiment, through a dynamic inverted continuation mechanism, it ensures that regardless of the initial distribution rules, the ink droplets are uniformly distributed throughout the entire printing timeline.

[0065] It should be noted that the above Figures 1 to 3 The same visual elements are used to describe the distribution of ink dots in the sequence of printing times, with the following specific meanings: White boxes (or blank cells): represent a printing sequence where no ink dots have been assigned (empty space). That is, in this printing, the corresponding pixel (column) will not undergo heating or inkjet operation.

[0066] Black box: Represents an ink dot that has been successfully allocated in the current or previous round of distribution. That is, in this printing, heating or inkjet operation is performed on its corresponding pixel (column).

[0067] Red box: Used to highlight those "remaining, unallocated ink dots" and the process of them being inverted and allocated to later printing sequences (from white box to black box) to clearly indicate the starting position and fill path of the continuation operation.

[0068] Combination Figures 1 to 3 As shown, after the first transformation, a series of regular black boxes appear, representing the ink dot distribution after the first round of distribution. At this point, some rows (printing order) may still have a large number of white boxes. After entering the second transformation, the graph will mark those unallocated ink dots with red boxes and show how these red boxes are sequentially filled in and transformed into black boxes, starting from the white box area at the end of the sequence.

[0069] The embodiment uses white, black, and red boxes to visually simulate the change of ink dots from "unassigned" to "assigned" state, and dynamically demonstrates the operation of filling the remaining ink dots into the subsequent blank sequence by inverting them in the embodiment of this application.

[0070] Based on the above embodiments, this application also provides a uniform grayscale printing method, which optimizes the time distribution of ink dots in multiple printing processes by using a grouping and staggered start distribution strategy, combined with dynamically determining the starting position of subsequent distributions after the first distribution, thereby significantly improving the uniformity of printed grayscale.

[0071] Figure 4 A schematic flowchart of a uniform grayscale printing method according to an embodiment of this application is shown. Figure 4 As shown, the method may include the following steps: In step S410, the pixels of the image to be printed are grouped according to a preset rule.

[0072] Specifically, printing can begin by acquiring an image to be printed, which can be a grayscale image, for example, obtained by grayscale processing a color image. In this embodiment, for a row (or column) of pixels in the image to be printed, these pixels can be divided into multiple groups according to a pre-defined rule. One possible pre-defined rule is to group pixels based on the parity of their column (or row) number; for example, all pixels in even-numbered columns are grouped into the first group, and all pixels in odd-numbered columns are grouped into the second group. Of course, those skilled in the art will understand that the grouping rule is not limited to this; for example, it can also be cyclically grouped by every M pixels (M≥2). This embodiment is not limited to this.

[0073] In step S420, a different initial printing number is assigned to each group of pixels, and the first round of ink dot distribution is carried out in the direction of increasing printing number according to the set interval rule.

[0074] In this step, the printer can assign different initial print runs to different groups to achieve staggered start times. For example, for the odd-even groups mentioned above, even groups can be set to participate in distribution starting from the first print cycle, while odd groups can participate from the second print cycle. The purpose of this is to avoid all pixels starting to print within the first one or a few print cycles, thereby distributing the instantaneous load on the print head.

[0075] Simultaneously, the printer can distribute ink dots according to a predefined interval rule. This interval rule defines the interval in the print count sequence when allocating two consecutive ink dots to the same pixel. For example, the difference between two adjacent print counts can be set to a fixed value K (K>1), meaning that multiple ink dots for a pixel are periodically distributed along the print timeline. According to this rule, starting from the initial print count for each group of allocations, the required ink dots are distributed to each pixel in an increasing direction (i.e., from the 1st print, the 2nd print, ... to the last print) until the first round of ink dot distribution is completed.

[0076] In this embodiment, the number of print counts refers to the sequential number of the print head's cyclic heating of the same print line to achieve a grayscale effect. This numbering forms a monotonically increasing discrete sequence starting from 1 and ending at the maximum number of print counts (e.g., 256). In this embodiment, the distribution along the increasing print count direction means that, within the ordered sequence, each ink dot is assigned its corresponding print count position from the print count with the smaller number to the print count with the larger number.

[0077] In step S430, if there are still ink dots that have not been distributed after the first round of ink dot distribution, the starting position for subsequent distribution is determined based on the number of prints of the undistributed ink dots, and at least one round of subsequent ink dot distribution is performed from the starting position of the subsequent distribution along the direction of increasing print count until all ink dots have been distributed.

[0078] The starting position for the subsequent ink distribution is determined to be different from the starting position of the first round of ink dot distribution, which makes the distribution of ink dots more dispersed in the printing time series.

[0079] In this embodiment, after the first round of ink dot distribution, a determination is made: have all ink dots for all pixels been distributed? If there are still ink dots that have not been distributed (this usually occurs when the total number of prints is set to be large, and some pixels have low grayscale values), then the subsequent distribution process is initiated.

[0080] The key to subsequent distribution lies in determining a continuation start position. In this embodiment, this continuation start position needs to be determined to be different from the start positions of each group in the first round of ink dot distribution. Specifically, it can be determined as the printing sequence in the print count sequence where the last unallocated ink dot appears, or a specified blank printing sequence that was not occupied in the previous round of distribution.

[0081] Once the starting position for the next print job is determined, the printer uses this position as the new starting point and, following the increasing print count direction, performs at least one more round of ink dot distribution using the same grouping strategy and interval rules as the first round. This process is repeated until all ink dots for all pixels have been distributed.

[0082] It should be understood that the first to last round of ink dot distribution involved in the embodiment refers to the algorithmic steps of iteratively generating print control data, the output of which is a complete and continuous time-series print instruction. The print head will complete all heating cycles in a single continuous printing process according to this final instruction sequence, without physically interrupting or replenishing consumables.

[0083] Through the above steps, this embodiment ensures that even for pixels with low grayscale values, some ink dots can be allocated later in the printing sequence. This effectively solves the problem of "overly dense ink dots in earlier printing cycles and overly sparse ink dots in later printing cycles" caused by simple cyclical distribution, resulting in a more dispersed and uniform spatial distribution of ink dots throughout the printing time series. Ultimately, this uniform distribution over time directly translates into smoother and more natural grayscale transitions on the printing medium, significantly improving the printing quality of the image.

[0084] The grayscale printing method provided in this application achieves staggered ink dot distribution by grouping pixels according to preset rules and assigning different initial printing counts to each group. Subsequently, if ink dots are not fully allocated after the first round of distribution, a new starting position different from the initial starting point is dynamically determined based on the number of unallocated ink dots printed, and subsequent rounds of distribution begin from this position. This effectively avoids concentrated distribution of ink dots in the printing time sequence, ensuring the uniformity of ink dot spatial distribution from the first to the last printing process, thereby significantly improving the printing quality of grayscale images.

[0085] Based on the above embodiments, in another embodiment provided in this application, step S410 may specifically include the following steps: Step S411: Group the pixels of the image to be printed according to the parity of their column numbers.

[0086] In this embodiment, the system directly groups pixels based on their column position (i.e., column number) in the image data matrix. A typical implementation is to group all pixels in even-numbered columns (e.g., column 2, column 4, column 6, etc.) into the first group; and correspondingly, to group all pixels in odd-numbered columns (e.g., column 1, column 3, column 5, etc.) into the second group. This simple parity-based grouping naturally and regularly divides an entire row of pixels into two subsets, laying a controllable foundation for the "odd-even column staggered start" distribution strategy in subsequent steps. It should be noted that "parity" here is merely an example of an efficient grouping rule, its purpose being to form a regular staggered grouping pattern, rather than a limitation on the specific parity order.

[0087] This embodiment avoids the simultaneous heating of adjacent pixels by grouping them according to column order odd or even, thus dispersing the instantaneous heat load of the print head from the source.

[0088] In this embodiment, the above-mentioned interval rule can be specifically defined as: When assigning ink dots to the same pixel, the difference between the number of prints assigned each time and the number of prints assigned in the previous time is a fixed value N, where N is an integer greater than 1.

[0089] For example, if N=2, for a given pixel, if its first allocation occurs in the first print, its next allocation will be in the third print (1+2), the next in the fifth print (3+2), and so on. This means that the positions of multiple ink dots for the same pixel in the print sequence form an arithmetic sequence with a common difference of N. By forcibly specifying that the difference N is greater than 1, it can be fundamentally guaranteed that any two ink dots allocated to the same pixel will not occupy adjacent print orders.

[0090] This spacing rule establishes a fundamental mathematical cycle for the overall uniform distribution of ink dots by forcing ink dots of the same pixel to maintain a fixed, non-adjacent interval along the printing timeline. It not only prevents local clustering of ink dots at the individual pixel level but also, through synergy with grouping and staggered peak rules, fosters a highly ordered and predictable ink dot arrangement pattern in both time and space at the global level. This deterministic regularity significantly reduces the randomness of print data processing, making the printhead heating action more uniform and gradual. This improves the smoothness of grayscale transitions while further reducing instantaneous thermal shock to the printhead, enhancing the system's stability and controllability.

[0091] In this embodiment, the above-mentioned continuation start position is the printing order in which the last unallocated ink dot appears in the printing count sequence.

[0092] Specifically, after the first round of ink dot distribution, the printer can scan the entire sequence in ascending order of print count (from the first print to the last print) and identify whether each print sequence point has completed ink dot allocation for all pixels. The sequence point with the highest sequence number where at least one pixel has not yet been allocated ink is determined as the "last print sequence with unallocated ink dots". This position point can serve as the starting point for subsequent ink dot distribution.

[0093] This embodiment anchors the start position of the next print run to the "last print sequence in which unallocated ink dots appeared," ensuring that the new round of distribution must begin from the position closest to the end of the sequence, thus distributing all remaining ink dots towards the latter half of the printing timeline. This solves the "dense at the beginning, sparse at the end" problem that may occur with simple loops, guaranteeing a highly balanced spatial distribution density of ink dots throughout the entire time span from the first to the last print, thereby improving the uniformity of the grayscale of the final printed image.

[0094] In this embodiment, the aforementioned continuation starting position can be a specified blank printing sequence, and this blank printing sequence has not been assigned any ink dots in the front wheel distribution.

[0095] Specifically, the printer can allow users to select a specific, unused print order (i.e., a "blank print order") within the print sequence, using preset, configured, or dynamically calculated methods, as the starting point for subsequent print runs. This selection process must meet a key constraint: the selected specific print order must not have been used to allocate ink to any pixels in any previous runs (especially the first run). For example, the printer can specify to start printing from a fixed order in the middle of the sequence (such as the Xth print run in the total number of print runs), or dynamically calculate an optimized starting position based on the current remaining ink dots.

[0096] This embodiment introduces a specifyable blank sequence as the continuation initiation point, giving the printer's printing system greater flexibility and strategy adaptability. This allows the distribution algorithm to select the optimal continuation initiation point based on different print quality requirements, hardware characteristics, or real-time status. This effectively prevents ink droplets from excessively accumulating in the earlier stages of the timeline, ensuring uniform distribution and enabling more refined load scheduling, energy management, or specific printing modes. This further enhances the practicality and robustness of the embodiment in various application scenarios.

[0097] In this embodiment, the aforementioned preset rule can specifically be: grouping the pixels of the image to be printed in a cyclical manner according to column order, wherein each group includes M pixels, and M is an integer greater than or equal to 2.

[0098] Specifically, the printer can cyclically divide pixels into different groups along the column order of the pixel rows, in units of a fixed length M. For example, if M=3, three groups can be created: the first group contains pixels from columns 1, 4, 7, 10…; the second group contains pixels from columns 2, 5, 8, 11…; and the third group contains pixels from columns 3, 6, 9, 12… When M=2, this rule degenerates into the aforementioned preferred odd-even grouping (even and odd groups), thus covering a wider range of grouping patterns.

[0099] This embodiment expands the grouping rules from a fixed, specific scheme (such as odd-even grouping) to a flexible and adjustable general framework by introducing a configurable parameter M. This provides the printing system with high adaptability, enabling it to select the most suitable parallel processing granularity (M value) based on different printing resolutions, printing speed requirements, or hardware constraints. By adjusting the M value, an optimal balance can be achieved between "uniformity of printhead load distribution" and "complexity of data processing and control," thereby optimizing overall printing results and system performance in a wider range of application scenarios, demonstrating good scalability and engineering practicality.

[0100] In one embodiment provided in this application, in the above-mentioned at least one round of subsequent ink dot distribution, the initial printing number allocated to each group of pixels is the same as the initial printing number allocated to that group in the first round of ink dot distribution.

[0101] Specifically, regardless of the number of subsequent distribution rounds (round 2, round 3, etc.), the printer can set the distribution start point, i.e., the "starting print count," for each specific group (such as even groups, odd groups, or other rule-based groups), to be consistent with the start point set for that group during the first round of ink dot distribution. For example, if the first round of ink dot distribution sets even groups to start from the first print and odd groups to start from the second print, then in all subsequent distribution rounds, even groups will continue to participate in distribution starting from the first print, and odd groups will continue to participate starting from the second print.

[0102] This embodiment ensures strict periodicity and symmetry in the entire multi-round distribution process by fixing the initial printing count of each group in each round of distribution. This simplifies the control logic of the distribution algorithm, reduces implementation complexity and computational overhead, and verifies the stability and repeatability of the printhead heating pulse timing pattern in each round, which is beneficial to the stability and lifespan of the printhead drive. In addition, this rule works in conjunction with the "inverted continuation" starting position selection rule, allowing ink dots to intelligently fill towards the back of the time axis while maintaining the consistency of the ink dot distribution pattern within each group. This achieves a balance between macroscopic dynamic adjustment and microscopic regularity maintenance, ultimately ensuring a high degree of consistency and reliability in printing results.

[0103] To further improve the uniformity of ink droplet distribution in individual pixels and optimize the printhead's working state, based on the above embodiments, in another embodiment provided in this application, the method may further include the following steps: Step S440: In any round of ink dot distribution, any two ink dots assigned to the same pixel shall have non-adjacent printing orders.

[0104] Specifically, when the printer performs any round of ink dot distribution (whether it's the first round or subsequent rounds), when planning the printing order for multiple ink dots to occupy a pixel, it actively ensures that any two selected orders are not consecutive in sequence. For example, the same pixel will not be assigned to print the nth and n+1th times simultaneously. This is usually achieved naturally by setting a fixed difference N greater than 1 in the aforementioned interval rule, or guaranteed by additional verification and adjustment logic.

[0105] This embodiment, by imposing a constraint that the printing order of ink dots at the same pixel is not adjacent, ensures that the distribution of ink dots on the time axis is discrete and spaced out at the most microscopic level (individual pixel). This effectively prevents problems such as overheating of the printing medium, excessive diffusion, or dot shape distortion that may occur due to continuous heat acting on the same location in a very short time, thereby improving the printing quality and shape accuracy of individual pixels. In addition, this constraint smooths the drive pulse sequence of the printhead for any specific heating point, avoids high-frequency triggering of continuous cycles, reduces the instantaneous requirements on the printhead drive circuit, reduces local heat accumulation, and further optimizes the long-term operational reliability and lifespan of the printhead. This rule complements the aforementioned macroscopic grouping and round-distribution strategy, together forming a comprehensive uniformity guarantee system from the microscopic to the macroscopic level.

[0106] Based on the above embodiments, in another embodiment provided in this application, the method may further include the following steps: In step S450, a sequence of control signals for controlling the operation of the print head is generated based on the result after the ink dots have been distributed.

[0107] Specifically, after the printing system completes the allocation of all pixel ink dots in the print sequence using the aforementioned embodiments, it will obtain a complete print timing map. This map precisely defines which physical locations (columns) on the print head require activation of heating points or nozzles in each print operation (the 1st, 2nd, ... up to the last). Based on this map, this step generates a sequence of digital control signals (such as pulse signals, data packets, etc.) that can directly drive the print head hardware to perform corresponding heating or inkjet operations, according to the communication protocol and electrical timing requirements of the print head drive circuit.

[0108] This embodiment ensures that the ink dot distribution scheme determined in this embodiment can be accurately and in real time converted into the actual action of the print head by generating a control signal sequence that directly drives the print head, so as to ensure that the printing system can stably output high-quality uniform grayscale images.

[0109] Based on the above method embodiments, in another embodiment provided in this application, the complete control logic of the above uniform grayscale printing method can also be implemented in hardware, thereby providing a dedicated microprocessor chip.

[0110] Please see Figure 5 , Figure 5 A schematic diagram of a microprocessor chip according to an embodiment of this application is shown. Figure 5 As shown, the microprocessor chip 500 mainly includes a memory 510 and a processor 520.

[0111] The memory 510 is used to store a computer program. The computer program contains a programmed sequence of instructions that specifically defines all the steps and logic of the uniform grayscale printing method as described in any of the preceding embodiments, including but not limited to: pixel grouping rules (such as odd-even grouping or M-point cyclic grouping), the starting number and interval rules for the first round of ink dot distribution, the strategy for determining the start position of subsequent distribution based on unallocated ink dots (such as inverted distribution), and the control flow for performing multiple rounds of distribution until completion.

[0112] Processor 520, coupled to memory 510, is used to read and execute computer programs stored in memory 510. When processor 520 runs, by executing the program instructions, it can accurately implement all the steps of the above-described uniform grayscale printing method, thereby processing the input image data and generating heating control signals that are optimized in time series for controlling the print head to perform uniform grayscale printing.

[0113] In this embodiment, the microprocessor chip 500 can be, but is not limited to, a microcontroller unit (MCU), a digital signal processor (DSP), a microprocessor unit (MPU), or a system-on-a-chip (SoC). These chips are miniaturized, programmable integrated circuits capable of digital and analog signal processing and possessing core functions such as signal control, instruction processing, and mathematical operations. By embedding the uniform printing method provided in this application embodiment into the program or hardware logic within such a chip, this uniform grayscale printing technology can be conveniently embedded into various thermal printers, receipt printers, or other printing devices requiring high-quality grayscale output in a highly integrated and reliable manner.

[0114] By providing this microprocessor chip embodiment, this application tightly integrates an innovative printing algorithm with a specific hardware carrier. This not only realizes the transformation of the method into a physical product, greatly improving the practicality and feasibility of the technical solution, but also significantly improves the real-time performance, reliability, and consistency of printing control through the integrated processing of a dedicated chip. Simultaneously, it reduces the dependence of the entire printing system on external computing resources and overall power consumption, which is beneficial for device miniaturization and cost optimization. This chip constitutes the core control component of a complete printing solution, providing the market with a key hardware module possessing excellent uniform grayscale printing capabilities.

[0115] This application also provides a computer-readable storage medium, wherein when the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is able to perform the methods disclosed in this application.

[0116] The computer-readable storage medium in this application embodiment may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. The aforementioned computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specifically, the aforementioned computer-readable storage medium may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.

[0117] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0118] This application also provides a computer program product, including a computer program, wherein the computer program, when executed by a processor, implements the methods disclosed in the embodiments of this application.

[0119] In embodiments of this application, computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof. These programming languages ​​include, but are not limited to, object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or it can be connected to an external computer.

[0120] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0121] The modules, components, or units described in the embodiments of this application can be implemented in software or hardware. The names of the modules, components, or units do not necessarily constitute a limitation on the module, component, or unit itself.

[0122] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that can be used include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.

[0123] The above description is merely an embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of disclosure in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.

[0124] While specific embodiments of this application have been described in detail by way of examples, those skilled in the art should understand that the above examples are for illustrative purposes only and are not intended to limit the scope of this application. Those skilled in the art should understand that modifications can be made to the above embodiments without departing from the scope and spirit of this application. The scope of this application is defined by the appended claims.

Claims

1. A uniform grayscale printing method, characterized in that, The method includes: Group the pixels of the image to be printed according to preset rules; Assign different initial printing counts to each group of pixels, and distribute ink dots in the first round in the direction of increasing printing counts according to the set interval rules; If there are still ink dots that have not been distributed after the first round of ink dot distribution, the starting position of the subsequent distribution is determined based on the number of prints of the undistributed ink dots, and at least one round of subsequent ink dot distribution is carried out along the direction of increasing print count, starting from the starting position of the subsequent distribution, until all ink dots have been distributed. The starting position for the continuation of the ink distribution is determined to be a position different from the starting point of the first round of ink dot distribution.

2. The method according to claim 1, characterized in that, The step of grouping the pixels of the image to be printed according to a preset rule includes: The pixels of the image to be printed are grouped according to the parity of their column numbers.

3. The method according to claim 1 or 2, characterized in that, The interval rules include: When assigning ink dots to the same pixel, the difference between the number of prints assigned each time and the number of prints assigned in the previous time is a fixed value N, where N is an integer greater than 1.

4. The method according to claim 1, characterized in that, The starting position for the continuation print is the print order in which the last unallocated ink dot appears in the print count sequence.

5. The method according to claim 1, characterized in that, The starting position for the continuation printing is a specified blank printing sequence, and the blank printing sequence has not been assigned any ink dots in the previous batch of printing.

6. The method according to claim 1, characterized in that, The preset rules include: The pixels of the image to be printed are grouped in a cyclical manner according to column order, wherein each group includes M pixels, where M is an integer greater than or equal to 2.

7. The method according to claim 1, characterized in that, In the at least one round of subsequent ink dot distribution, the initial number of prints assigned to each group of pixels is the same as the initial number of prints assigned to that group in the first round of ink dot distribution.

8. The method according to claim 1, characterized in that, The method further includes: In any round of ink dot distribution, any two ink dots assigned to the same pixel shall not be printed in adjacent order.

9. The method according to claim 1, characterized in that, The method further includes: The print start position is anchored to the position to be filled closest to the end of the sequence, so that all remaining ink dots are distributed to the latter half of the printing timeline.

10. A microprocessor chip, characterized in that, It includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the uniform grayscale printing method as described in any one of claims 1 to 9.