CN115297219B - Compression protocol, method and storage medium for image data in direct writing lithography system - Google Patents
Compression protocol, method and storage medium for image data in direct writing lithography system Download PDFInfo
- Publication number
- CN115297219B CN115297219B CN202210896704.6A CN202210896704A CN115297219B CN 115297219 B CN115297219 B CN 115297219B CN 202210896704 A CN202210896704 A CN 202210896704A CN 115297219 B CN115297219 B CN 115297219B
- Authority
- CN
- China
- Prior art keywords
- bit
- byte
- compression
- length
- bcc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007906 compression Methods 0.000 title claims abstract description 121
- 230000006835 compression Effects 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000001459 lithography Methods 0.000 title claims description 13
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 230000006837 decompression Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 9
- 238000013144 data compression Methods 0.000 abstract description 6
- 238000001259 photo etching Methods 0.000 abstract description 5
- 230000009467 reduction Effects 0.000 abstract description 3
- YJVQNSXZGFXJKY-UHFFFAOYSA-N n-methyl-n-(1-phenylethyl)prop-2-yn-1-amine Chemical compound C#CCN(C)C(C)C1=CC=CC=C1 YJVQNSXZGFXJKY-UHFFFAOYSA-N 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
The invention provides a compression protocol, a method and a storage medium of image data in a direct-writing photoetching system, and particularly provides a data protocol and a compression and decompression method of the data protocol, in order to transmit an original image more quickly and restore the data through an FPGA (field programmable gate array). The invention is characterized by line-by-line compression, which uses single byte to represent variable-length data area, to ensure maximum compression of data. By the implementation of the invention, the length limit of 127 bits represented by a single byte can be exceeded, the data compression of up to 4032 continuous bits can be realized, and the compression process and the decompression process are simple. By implementing the invention, not only is the support of transmission hardware greatly saved, but also the computing resource is saved, the efficiency and performance of data processing are improved, and a technical foundation is provided for cost reduction and synergy.
Description
Technical Field
The invention relates to the field of direct-write lithography, in particular to a data compression method used in the image data process in a direct-write lithography system, and particularly relates to a compression method used in the data of the direct-write lithography system based on a Digital Micromirror (DMD).
Background
The method commonly used in the direct-writing exposure system is an oblique scanning method, and the direct-writing lithography system scanned according to the method requires a host computer (PC) to grid a pattern into a plurality of single-color images (MBMP) of strips according to the requirements of subdivision Precision (PW) and the width of the DMD, and then the host computer (PC) transmits the single-color image (MBMP) data to an FPGA responsible for specifically throwing frame images (FBMP) to the DMD for processing through a network interface.
For simplicity of description, it is assumed that in a single-ray machine system, an image MBMP with a pattern of 1000mmX1000mm has a subdivision accuracy requirement of 12700dpi, i.e. when the subdivision accuracy (PW) of each subdivision pixel is 2um, the processing accuracy (CD) is about 50 micrometers, each stripe image has a width of between about 16000 and 30000 pixels (depending on the technical implementation), and all stripe images MBMP have a size of about 29GB. If full load transmission is performed for about 238 seconds through a general gigabit network, 23.8 seconds are also required for using a tera-mega network. In the actual exposure process, the direct exposure time of such a pattern is not more than 30 seconds, and it is obvious that the transmission of the original image is not sufficient whether it is a giganet or a teranet.
When the graphics data is converted into an image, the minimum number of pixels with or without a continuous image in each line of data is m=cd/PW, and the calculation result in the example is a minimum of m=25 pixels. In fact, the continuity characteristic of an image is a fundamental characteristic of direct-write lithography, with a large (typically ten times the number of machining steps) region of continuity, so that the rasterized image is either continuous 1b (with a figure) or 0b (without a figure). It is very common that tens of thousands of pixels in succession are either pictured or non-pictured.
Disclosure of Invention
The compression protocol and the method for image data transmission in the direct-writing lithography system can ensure the maximum compression of data.
In order to achieve the above purpose, the present invention adopts the following technical scheme:
a compression protocol for image data in a direct write lithography system, comprising:
the image data refers to a compressed monochromatic bitmap, and the data stream is stored row by row;
each line of data is represented by a plurality of compression groups, and a byte 0x00 represents a line ending symbol;
each compression group has one byte;
the byte streams of all compression groups in the line are continuous, are sequentially stored from low order to high order, represent that the line images are arranged from left to right, and have a line ending symbol of 0x00;
each compression group has only one byte and consists of 1-bit mode bits, 1-bit image bits and 6-bit length bits; wherein,,
the mode bit indicates whether the current byte is used in the compression mode of bit block count, 1 indicates the compression mode of bit block count, 0 indicates the compression mode of bit count, the image bit indicates that the compressed data group indicates that 0b is no string or 1b is a string, the length bit indicates the number of blocks or bit length of the compressed data group, 6 bits are used in total, and the range of the representation is 0 to 2 6 -1;
The compression modes adopted are two, namely a bit compression mode and a bit block compression mode, and each compression group is compressed by only one compression mode;
when the mode bit is 0, the compressed mode of the compressed group is a bit compressed mode, and the length is 63 at maximum, namely, the maximum compressible number is 63 continuous 0b or 1b;
when the mode bit is 1, the compression mode of the compression group is a bit block compression mode;
each time the storage or transmission is compressed, an additional bit block length is required to be specified, and the compression party and the decompression party compress and decompress according to the specified bit block length.
Further, when the bit blocks are compressed, the number of the bit blocks is 63 at maximum, namely, the maximum compressible 63 continuous 0b bit blocks or 1b bit blocks are represented, the bit block length is contracted by a storage protocol, the bit block length is a natural number N which is arbitrarily more than 0 and less than 65, the value range is [1,64], and the compression length of a single byte is as follows: bit block number bit block length;
when the bit block length is 1 during bit block compression, the bit block is degenerated into a bit-by-bit compression mode with an extension bit of 0;
when the bit block is compressed, the length of the bit block is preferably selected to be an integer multiple of 8, the maximum is 64 bits, and the minimum is 8 bits;
at the time of bit block compression, at the time of maximum compression, the number of bit blocks is up to 63, the length of bit blocks is up to 64, and the total maximum is 63×64=4032, namely, the maximum compressible length is 4032 strings of 0b or 1b.
On the other hand, the invention also discloses a method for compressing image data in the direct-writing photoetching system, which is based on the compression protocol of the image data in the direct-writing photoetching system, and is characterized in that: comprising the STEPs of STEP00: defining mantissa look-up tables
Two mantissa look-up TABLEs TABLE0 and TABLE1 are defined.
Wherein TABLE0 is a lookup TABLE with byte value as key (index) and the byte's tail 0b length as value, the byte value is used as index to directly obtain the byte's tail 0b length value. Because the byte has a range of [0,255], TABLE0 has a total of 256 elements. The tail 0b length of a byte refers to the number of 0b consecutive from the low order bits of the binary number of a certain byte counted from the low order bit, and is also called 0b tail length.
Wherein TABLE1 is a lookup TABLE with a byte value as a key (index) and the tail 1b length of the byte as a value, and the value of the tail 1b length of the byte can be directly obtained by using the byte value as the index. Because the byte has a value range of [0,255], TABLE1 has a total of 256 elements. The tail 1b length of a byte refers to the number of consecutive low-order 1b of binary digits of a certain byte counted from the low-order, and is also called 1b tail length.
Wherein, TABLE0 tail 0b lookup TABLE, total 256 elements, the content of the lookup TABLE is as follows;
hexadecimal system | Binary system | Tail length: low-order continuous 0 number |
0xFF | 1111 1111 | 0 |
0xFE | 1111 1110 | 1 |
0xFD | 1111 1101 | 0 |
0xFC | 1111 1100 | 2 |
0xFB | 1111 1001 | 0 |
0xFA | 1111 1000 | 3 |
…… | …… | …… |
0x04 | 0000 0100 | 2 |
0x03 | 0000 0011 | 0 |
0x02 | 0000 0010 | 1 |
0x01 | 0000 0001 | 0 |
0x00 | 0000 0000 | 8 |
The TABLE1 tail 1b lookup TABLE comprises 256 elements, and the content of the lookup TABLE is as follows;
hexadecimal system | Binary system | Tail length: low-order continuous 0 number |
0xFF | 1111 1111 | 8 |
0xFE | 1111 1110 | 0 |
0xFD | 1111 1101 | 1 |
0xFC | 1111 1100 | 0 |
0xFB | 1111 1001 | 1 |
0xFA | 1111 1000 | 0 |
…… | …… | …… |
0x04 | 0000 0100 | 0 |
0x03 | 0000 0011 | 2 |
0x02 | 0000 0010 | 0 |
0x01 | 0000 0001 | 1 |
0x00 | 0000 0000 | 0 |
STEP10: loading data lines
Judging whether unprocessed original monochromatic bitmap line data exists in the original monochromatic bitmap, if not, ending the compression process;
loading whole LINE data of an original bitmap in LINE from the original monochromatic bitmap, namely a data LINE for short, resetting the read byte number RBC=0, and counting the length of a bit string to be compressed to obtain a value BCC=0, wherein a current string mark MFLAG= -1, -1 represents an un-start processing mark, mfLAG=0 represents a string 0b is being processed, and MFLAG=1 represents a string 1b is being processed;
wherein, the original monochromatic bitmap is characterized as follows:
any original single-color bitmap is composed of a plurality of line width line data with the same line width, the number of memory bytes occupied by each line data is span LineWidth, the line width LineWidth is a bitmap image with the effective length actually stored in the line data, the bitmap image is an integer larger than 0, the span LineWidth is the number of bytes actually occupied in the line data, the integer larger than 0, and the relation between the span and the line width is:wherein->Represents a round-up when the number of line widths LineWidth is smaller than 8 times the span LineWidth, i.e. LineWidth<When 8 is the linear, the most significant byte has invalid data bit, and 0b or 1b can be stored, and the compression can be processed or not;
the whole line of data of the original bitmap is characterized as follows:
the data byte order is ordered from low order to high order, and byte order from low order to high order represents a row of image data;
the image arranged from the low address byte to the high address byte is a monochrome bitmap arranged from left to right, wherein the low order to the high order in each byte is also an 8-bit continuous image from left to right;
STEP20: start compression process
Firstly, an original byte CURRENT is taken out from original monochromatic bitmap line data, the read byte number rbc=1 is counted, whether the CURRENT is 0x00 or 0xFF is judged, and three cases are processed:
if current= =0x00, note the CURRENT flag mflag=0, bit count bcc=8, go to STEP100 for execution;
if current= =0xff, note the CURRENT graph flag mflag=1, bit count bcc=8, go to STEP200 for execution;
if both cases are not, firstly, a TABLE0 is searched to obtain a 0b tail length LC of the CURRENT byte, if LC= 0, the tail of the CURRENT byte is a valid 1b string, and the operation is carried out by STEP 201; otherwise LC </SUB >0, LC >0 and LC <8 are necessary, indicating that the tail of the original byte CURRENT contains a valid 0b string, go to STEP101 for execution;
STEP100: processing consecutive 0x00 bytes
If RBC > =lineside, indicating that the original monochromatic bitmap line data processing is finished, after STEP300 is executed, turning to STEP400 for execution, and completing the line compression process;
reading in the next byte CURRENT, rbc=rbc+1;
if current= =0x00, the bit count is self-incremented by 8, i.e., bcc=bcc+8, and STEP100 is repeatedly continued;
if not, the data jump is generated, namely 1b bit appears in the CURRENT, the TABLE0 is searched, the 0b tail length LC of the CURRENT byte is obtained, namely the number LC of the low-order continuous 0b of the CURRENT byte is accumulated into the BCC, namely the BCC=LC+BCC; after STEP300 is executed on the CURRENT shift LC to the right, i.e., current=current > > LC, the CURRENT string flag mflag=1 is set, and the operation goes to STEP201 to execute;
STEP101: processing bytes with tail 0b string
Performing a search TABLE0 to obtain a 0b tail length LC of the current byte, accumulating the LC to a bit count BCC, wherein BCC=LC+BCC; for the LC bit shift operation to the right of CURRENT, if current= 0x00, go to STEP100 to execute, otherwise, indicate that there is still 1b bit in the data, after STEP300 is executed, set the CURRENT string flag mflag=1, go to STEP201 to execute;
STEP200: processing consecutive 0xFF bytes
If RBC > =lineside, indicating that the original monochromatic bitmap line data processing is finished, after STEP300 is executed, turning to STEP400 for execution, and completing the line compression process;
reading in the next byte CURRENT, rbc=rbc+1;
if current= =0xff, the bit count BCC is self-incremented by 8, i.e., bcc=bcc+8, and STEP100 is repeatedly continued;
if not, it means that the data jump, i.e. 0b bit appears, performs TABLE1 searching to obtain 1b tail length LC of the CURRENT byte, accumulates the 1b tail length LC into the bit count BCC, and shifts LC bit operation to the right of CURRENT, i.e. current=current > LC, after STEP300 is performed, mfg=1, and goes to STEP101 to perform;
STEP201: processing bytes with tail 1b strings
Performing search TABLE1 to obtain the number LC of low-order continuous 1b, accumulating the number LC into bit count BCC, wherein BCC=LC+BCC, performing LC bit shifting operation on CURRENT to the right, if current= =0x00, turning to STEP200, otherwise, indicating that 0b bit exists in data, performing STEP300, setting CURRENT string flag MFLAG=0, and turning to STEP 101;
STEP300: compressing collected arbitrary bit strings
First, determine bit count BCC > =maxblen, if satisfied, execute STEP310 first;
again, the bit count BCC > =blen and BCC < MAXBLEN, if satisfied, STEP320 is performed;
finally, determine bit count BCC >0, if satisfied, execute STEP330;
returning to the original request step for execution;
wherein, ble is bit block length, bcour is maximum bit block number, MAXBLEN is compressible longest bit string length, and there is maxblen=ble;
STEP310: compression of ultra-long bit strings of ultra-maximum bit string length
If BCC < MAXBLEN, the request point execution is returned.
First CA compression groups are calculated, then a new bit count BCC is calculated:
or (b)
Wherein,,indicating a round down, "/" is arithmetic division, "+" is arithmetic multiplication, ble is bit block length, bcour is maximum bit block number, MAXBLEN is compressible maximum bit string length, and there is maxblen=ble x bcour;
if mflag= =0, CA 0xBF bytes are continuously stored in the compressed stream, which means that CA compression groups are provided, the highest bit of the compression groups is 1, the next highest bit is 0, the image without figure 0 is counted by the bit block, and the execution is returned to the request point;
if mflag= =1, CA 0xFF bytes are continuously stored into the compressed stream, which indicates that CA compression groups are present, the highest bit of which is 1, the next highest bit is 1, the image of fig. 1 is counted by bit blocks, and the execution is returned to the request point;
STEP320: long bit string of compressed superbit block length
If BCC > =blen cannot be satisfied at the same time and BCC < MAXBLEN, returning to request point execution;
CB bit blocks are calculated first, and then a new bit count BCC is calculated in the following manner:
or (b)
Wherein,,the term "/" means arithmetic division, "%" means arithmetic multiplication, "%" means block length, bcour is the maximum number of blocks, MAXBLEN is the length of the compressible longest bit string, and maxblen=blen.
If mflag= =0, calculate byte dat= (0×80|cb), store DAT byte into compressed stream; or DAT is calculated through dat=0x80+cb, wherein a computer or bit operator in "|", "+" is arithmetic addition, 0x80 is 1000 0000 in binary, and the operation corresponds to the execution of returning the image without fig. 0, which is counted by bit block, to the request point at the highest position 1b, next highest position 0b of DAT to be stored;
if mflag= =1, calculate byte dat= (0 xb0|cb), store DAT byte into compressed stream; or DAT is calculated by dat=0xb0+cb; wherein, "+" is arithmetic addition, 0xB0 binary is 1100 0000, the operation is equivalent to the execution of the image with figure 1 in the highest position 1b, the next highest position 1b of DAT to be stored, which represents the counting of blocks by bit;
STEP330: short bit string compressed to be smaller than bit block length
If the BCC >0 is not satisfied, returning to the request point for execution;
if mflag= =0, take byte dat=bcc, store DAT byte into compressed stream, at this time, the next highest bit and the highest bit are both 0b, represent the image without figure 0 counted by bit, return to request point to execute;
if mflag= =1, fetch byte dat= (0×40|bcc), store DAT byte into compressed stream; or DAT is calculated by dat=0x40+bcc; wherein "+" is arithmetic addition and "|" is or bit operator; 0x40 is 0100 0000, which corresponds to the execution of the return request point at the next highest position 1, highest position 0b, representing the image of FIG. 1 in bits;
STEP400 line compression end
The line compression process is ended, and a line terminator 0x00 is stored in the compressed stream.
In another aspect, the invention also discloses a computer readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of the method as described above.
According to the technical scheme, the compression protocol and the compression method of the image data in the direct-writing photoetching system can be used for transmitting an original image more quickly and restoring the data through the FPGA at a high speed, and particularly, the compression and decompression methods of the data protocol and the data protocol are provided. The invention is characterized by line-by-line compression, which uses one byte to represent a variable-length data area, thereby ensuring the maximum compression of data.
By the implementation of the invention, the length limit of 127 represented by a single byte can be exceeded, the data compression of up to 4032 continuous bits can be realized, and the compression process and the decompression process are extremely simple. By the algorithm, not only is the support of transmission hardware greatly saved, but also computing resources are saved, the efficiency and performance of data processing are improved, and a technical foundation is provided for cost reduction and synergy.
Drawings
Fig. 1 is a flow chart of the method of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention.
As shown in fig. 1, the compression protocol of image data in the direct-write lithography system according to the present embodiment is described specifically, first, with respect to definitions, symbols, and the like in the present invention:
1. in the representation of numbers, the data representation that starts with 0x is hexadecimal and the data representation that ends with b is binary. The data without prefix represents a decimal number.
2. All 0b strings or 1b strings represent binary strings.
3. In the original continuous bit string, the adjacent bits change from 1b to 0b or 0b to 1b, a process called hopping, and two adjacent bits are hopping points.
4. In the byte sequence of the original data, single byte data is 0x00 or 0xFF, and is a special byte.
5. The byte sequence of the original data is not special bytes, but common bytes.
6. The symbol convention is as follows: ""means rounding up; "/>"means rounding down; "=" means equal to; "<>"means not equal to; "=" means right-to-left symbol assignment; ">>"means that the left value of the symbol is shifted to the right; "<<"means the left side of the symbol; ">= "represents equal to or more; "/" indicates arithmetic remainder; "%" indicates arithmetic remainder; ", x" each represents an arithmetic multiplication.
7. In the description process, an execution statement paragraph ends with a period (.) indicating that no more follow-up is to be executed, and an execution statement paragraph ends with a period (;) indicating that follow-up still needs to be executed.
Specifically, the embodiment of the invention discloses a compression protocol of image data of a direct-writing lithography system, which comprises the following steps:
1. the compressed image is a compressed monochrome bitmap and the data stream is stored row by row.
2. Each line of data is represented by several compressed groups, with byte 0x00 representing the end of line symbol.
3. Each compression set has one byte.
4. The byte streams of all compression groups in a line are consecutive, stored sequentially from low order to high order, indicating that the line images are arranged from left to right, and the end-of-line symbol is 0x00.
5. Each compression group has only one byte and consists of 1-bit mode bits, 1-bit image bits, and 6-bit length bits. Wherein,,
the mode bit indicates whether the compression mode of the bit block count is used for the current byte, 1 indicates the compression mode of the bit block count, and 0 indicates the compression mode of the bit block count. The image bit represents the compressed data set representing either a 0b (non-pictured) string or a 1b (pictured) string. The length bits represent the number of blocks or bit length of the compressed data group, and the total number of the bits is 6, and the representation range is 0-2 6 -1。
6. There are two compression modes used, bit compression mode and bit block compression mode, each compression set being compressed using only one compression mode.
7. When the mode bit is 0, the compressed mode of the compressed group is a bit compressed mode, and the length is 63 at maximum, namely, 63 consecutive 0b or 1b are represented as maximum compressible.
8. When the mode bit is 1, the compression mode of the compression group is a bit block compression mode;
9. when the bit blocks are compressed, the maximum number of the bit blocks is 63, namely, the maximum number of the bit blocks can be 63 continuous 0b bit blocks or 1b bit blocks, the length of the bit blocks is agreed by a storage protocol, the bit blocks can be any natural number N which is larger than 0 and smaller than 65, the value range is [1,64], and the compression length of a single byte is as follows: bit block number bit block length.
10. When the bit block length is 1 during bit block compression, the bit block is degraded into a bit-wise compression mode with an extension bit of 0.
11. When the bit block is compressed, the bit block length is preferably an integer multiple of 8, namely 64 bits at maximum and 8 bits at minimum.
12. At the time of bit block compression, at the time of maximum compression, the number of bit blocks is up to 63, the length of bit blocks is up to 64, and the total maximum is 63×64=4032, namely, the maximum compressible length is 4032 strings of 0b or 1b.
13. Each time the storage or transmission is compressed, an additional bit block length is required, the specific length is selected according to the practical application, and the compression party and the decompression party compress and decompress according to the specified bit block length.
Meanwhile, the embodiment of the invention discloses a compression method of image data in a direct-writing photoetching system, which comprises the following steps:
STEP00: defining mantissa look-up tables
Two mantissa lookup TABLEs TABLE0 and TABLE1 are defined, wherein TABLE0 is a lookup TABLE with a byte value as a key (index) and the length of the tail 0b of the byte as a value, and the value of the length of the tail 0b of the byte can be directly obtained by using the byte value as the index. Because the byte has a range of [0,255], TABLE0 has a total of 256 elements. The tail 0b length of a byte refers to the number of 0b consecutive from the low order bits of the binary number of a certain byte counted from the low order bit, and is also called 0b tail length.
Wherein TABLE1 is a lookup TABLE with a byte value as a key (index) and the tail 1b length of the byte as a value, and the value of the tail 1b length of the byte can be directly obtained by using the byte value as the index. Because the byte has a value range of [0,255], TABLE1 has a total of 256 elements. The tail 1b length of a byte refers to the number of consecutive low-order 1b of binary digits of a certain byte counted from the low-order, and is also called 1b tail length.
Wherein, TABLE0 tail 0b lookup TABLE, total 256 elements, the content of the lookup TABLE is as follows;
the TABLE1 tail 1b lookup TABLE comprises 256 elements, and the content of the lookup TABLE is as follows;
hexadecimal system | Binary system | 1b tail length |
0xFF | 1111 1111 | 8 |
0xFE | 1111 1110 | 0 |
0xFD | 1111 1101 | 1 |
0xFC | 1111 1100 | 0 |
0xFB | 1111 1001 | 1 |
0xFA | 1111 1000 | 0 |
…… | …… | …… |
0x04 | 0000 0100 | 0 |
0x03 | 0000 0011 | 2 |
0x02 | 0000 0010 | 0 |
0x01 | 0000 0001 | 1 |
0x00 | 0000 0000 | 0 |
STEP10: loading data lines
Judging whether unprocessed original monochromatic bitmap line data exists in the original monochromatic bitmap, and if not, ending the compression process.
Loading whole LINE data of an original bitmap in LINE from the original monochromatic bitmap, namely a data LINE for short, resetting the read byte number RBC=0, and counting the length of a bit string to be compressed to obtain a value BCC=0, wherein a current string mark MFLAG= -1, -1 represents an un-start processing mark, mfLAG=0 represents a string 0b is being processed, and MFLAG=1 represents a string 1b is being processed;
wherein, the original monochromatic bitmap is characterized as follows:
any original monochrome bitmap is composed of a number of line width (LineWidth) lines. The number of memory bytes occupied per line of data is the span (lineside). The line width (LineWidth) is a bit image of an effective length actually stored in line data, and is an integer greater than 0. Span (lineside) is the number of bytes actually occupied in line data, the whole being greater than 0A number. The relationship between span and line width is:wherein->Represents a round-up when the number up-line width (LineWidth) is less than 8 times the span (LineWidth), i.e. LineWidth<In the case of 8×lineside, in the most significant byte, some data bits are invalid data bits, and either 0b or 1b may be stored, and may or may not be processed during compression.
The whole line of data of the original bitmap is characterized as follows:
1) The data byte order is ordered from low order to high order, and the byte order from low order to high order represents a line of image data.
2) The image arranged from the low address byte to the high address byte is a monochrome bitmap arranged from left to right, wherein the low order to high order bits within each byte are also 8-bit consecutive images from left to right.
3) It is within the contemplation of the present invention to reverse the order of the high and low bits within a byte or reverse the expression of the image data of the high and low addresses between bytes, all of which are essentially the same as the present convention.
STEP20: start compression process
Firstly, an original byte CURRENT is taken out from original monochromatic bitmap line data, the read byte number rbc=1 is counted, whether the CURRENT is 0x00 or 0xFF is judged, and three cases are processed:
if current= =0x00, note the CURRENT flag mflag=0, bit count bcc=8, and go to STEP100 for execution.
If current= =0xff, the CURRENT drawing flag mflag=1, bit count bcc=8, and transfer 200 is executed.
If both cases are not, firstly, a TABLE0 is searched to obtain a 0b tail length LC of the CURRENT byte, if LC= 0, the tail of the CURRENT byte is a valid 1b string, and the operation is carried out by STEP 201; otherwise LC < >0, must have LC >0 and LC <8, indicating that the original byte CURRENT tail contains a valid 0b string, go to STEP101 execution.
STEP100: processing consecutive 0x00 bytes
If RBC > =lineside, it indicates that the original monochrome bitmap line data processing is finished, STEP300 is executed, and STEP400 is executed, so as to complete the line compression process.
The next byte CURRENT is read in, rbc=rbc+1.
If current= =0x00, the bit count is self-incremented by 8, i.e., bcc=bcc+8, and STEP100 is repeatedly continued.
If not, it means that the data is hopped, i.e. 1b bit is present in the CURRENT, search TABLE0 is performed, 0b tail length LC of the CURRENT byte is obtained, and accumulated into BCC, i.e. bcc=lc+bcc. After STEP300 is performed on the CURRENT shift LC bit operation to the right, i.e., current=current > > LC, the CURRENT string flag mflag=1 is set and the operation goes to STEP 201.
STEP101: processing bytes with tail 0b string
A look-up TABLE0 is performed to obtain the 0b tail length LC of the current byte, which is accumulated into the bit count BCC, bcc=lc+bcc. For the CURRENT shift LC bit operation to the right, if current= 0x00, go to STEP100 to execute. Otherwise, indicating that there is 1b bit in the data, STEP300 is executed, and then the current string flag mflag=1 is set, and STEP201 is executed.
STEP200: processing consecutive 0xFF bytes
If RBC > =lineside, it indicates that the original monochrome bitmap line data processing is finished, STEP300 is executed, and STEP400 is executed, so as to complete the line compression process.
The next byte CURRENT is read in, rbc=rbc+1.
If current= =0xff, the bit count BCC is self-incremented by 8, i.e., bcc=bcc+8, and STEP100 is repeatedly continued.
If not, this means that the data has jumped, i.e. a bit of 0b has occurred, a look-up TABLE1 is performed, the 1b tail length LC of the current byte is obtained, and accumulated into a bit count BCC, bcc=lc+bcc. After STEP300 is performed on the CURRENT shift LC bit operation to the right, i.e., current=current > LC, mflag=1, and the operation goes to STEP 101.
STEP201: processing bytes with tail 1b strings
A look-up TABLE1 is performed to obtain the 1b tail length LC of the current byte, which is accumulated into the bit count BCC. Bcc=lc+bcc. For the CURRENT shift LC bit operation to the right, if current= 0x00, go to STEP200 to execute. Otherwise, indicating that there is still 0b bit in the data, STEP300 is executed, and then the current string flag mflag=0 is set, and STEP101 is executed.
STEP300: compressing collected arbitrary bit strings
First, determine bit count BCC > =maxblen, if satisfied, execute STEP310 first;
again, the bit count BCC > =blen and BCC < MAXBLEN, if satisfied, STEP320 is performed;
finally, determine bit count BCC >0, if satisfied, execute STEP330;
returning to the original request step execution.
Where ble is the bit block length, bcour is the maximum bit block number, MAXBLEN is the length of the compressible longest bit string, and there is maxblen=ble.
STEP310: compression of ultra-long bit strings of ultra-maximum bit string length
If BCC < MAXBLEN, the request point execution is returned.
First CA compression groups are calculated, then a new bit count BCC is calculated:
or (b)
Wherein,,indicates rounding down, "/" is arithmetic division, "×" is arithmetic multiplication, ble is bit block length, bcour is maximum bit block number, MAXBLEN is compressible maximum bit string length, and there is maxblen=BLEN*BCOUNT。
If mflag= =0, CA 0xBF bytes are continuously stored in the compressed stream, which means that there are CA compression groups, the highest order of which is 1, and the next highest order of which is 0, the image of the bitmap (0) is counted by the bitwise block, and the execution is returned to the request point.
If mflag= =1, CA 0xFF bytes are consecutively stored in the compressed stream, representing CA compression groups, the highest order of which is 1, and the next highest order of which is 1, the image with figure (1) is counted by bit block, and the execution is returned to the request point.
STEP320: long bit string of compressed superbit block length
If simultaneous satisfaction (BCC > = ble and BCC < MAXBLEN) is not satisfied, the request point execution is returned.
CB bit blocks are calculated first, and then a new bit count BCC is calculated in the following manner:
or (b)
Wherein,,the term "/" means arithmetic division, "%" means arithmetic multiplication, "%" means block length, bcour is the maximum number of blocks, MAXBLEN is the length of the compressible longest bit string, and maxblen=blen.
If mflag= =0, calculate byte dat= (0×80|cb), store DAT byte into compressed stream. In addition, DAT can also be calculated by dat=0x80+cb. Wherein, "+" is arithmetic addition, 0x80 binary is 1000 0000, the operation corresponds to the image without picture (0) in the highest position 1b, the next highest position 0b of DAT to be stored, which represents the block count by bit, and the execution is returned to the request point.
If mflag= =1, calculate byte dat= (0 xb0|cb), store DAT byte into compressed stream. In addition, DAT may also be calculated by dat=0xb0+cb. Wherein, "+" is arithmetic addition, 0xB0 binary is 1100 0000, the operation corresponds to the image with the figure (1) which is counted by bit block at the highest position 1b and the next highest position 1b of DAT to be stored, and the image is returned to the request point for execution.
STEP330: short bit string compressed to be smaller than bit block length
If BCC >0 is not satisfied, the request point execution is returned.
If mflag= =0, take byte dat=bcc, store DAT byte into compressed stream, at this time, the next highest bit and the highest bit are both 0b, representing the image without graph (0) counted by bit, return to request point execution.
If mflag= =1, fetch byte dat= (0×40|bcc), store DAT byte into compressed stream. In addition, DAT can also be calculated by dat=0x40+bcc. Wherein "+" is arithmetic addition and "|" is or bit operator; the binary value of 0x40 is 0100 0000, and the above operation corresponds to the execution of the return request point in the next highest position 1, the highest position 0b of the DAT to be stored, representing the image with the image (1) counted by bits.
STEP400 line compression end
The line compression process is ended, and a line terminator 0x00 is stored in the compressed stream.
The following examples are given:
compression demonstration: an image of 30000 pixels in one line of data, wherein the first 16000 pixels are of the graph (1), and the last 14000 images are of the no-graph (0).
Example store a: the bit block length is 32, and the data compression result is the above.
Compressing the line data requires the use of 17 bytes.
Example store B: the bit block length is 64, and the data compression result is.
Compressing the line data requires the use of 10 bytes.
In summary, through the implementation of the present invention, the length limit of 127 represented by a single byte can be exceeded, and data compression of up to 4032 continuous bits can be achieved, and meanwhile, the compression process and the decompression process are both extremely simple. By the algorithm, not only is the support of transmission hardware greatly saved, but also computing resources are saved, the efficiency and performance of data processing are improved, and a technical foundation is provided for cost reduction and synergy.
In yet another aspect, the invention also discloses a computer readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of any of the methods described above.
In yet another aspect, the invention also discloses a computer device comprising a memory and a processor, the memory storing a computer program which, when executed by the processor, causes the processor to perform the steps of any of the methods described above.
In yet another embodiment provided herein, there is also provided a computer program product containing instructions which, when run on a computer, cause the computer to perform the steps of any of the methods of the above embodiments.
It may be understood that the system provided by the embodiment of the present invention corresponds to the method provided by the embodiment of the present invention, and explanation, examples and beneficial effects of the related content may refer to corresponding parts in the above method.
Those skilled in the art will appreciate that all or part of the processes in the methods of the above embodiments may be implemented by a computer program for instructing relevant hardware, where the program may be stored in a non-volatile computer readable storage medium, and where the program, when executed, may include processes in the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims (3)
1. A compression method of image data in a direct writing lithography system is characterized by comprising the following steps,
STEP00: defining mantissa look-up tables
Defining two mantissa lookup TABLEs TABLE0 and TABLE1;
wherein TABLE0 is a lookup TABLE using byte value as key, i.e. index, the tail 0b length of the byte is the value, the byte value is used as index to directly obtain the tail 0b length of the byte, and the value range of the byte is [0,255], so TABLE0 has 256 elements in total; wherein, the tail 0b length of a byte refers to the number of low-order continuous 0b counted from the low-order of binary numbers of a certain byte, and is also called as 0b tail length for short;
wherein TABLE1 is a lookup TABLE with byte value as key, i.e. index, and the length of tail 1b of the byte is the value, and the byte value is used as index to directly obtain the value of tail 1b of the byte; because the byte has a value range of [0,255], TABLE1 has 256 elements in total; the tail 1b length of a byte refers to the number of low-order continuous 1b of binary numbers of a certain byte counted from the low order, and is also called 1b tail length for short;
STEP10: loading data lines
Judging whether unprocessed original monochromatic bitmap line data exists in the original monochromatic bitmap, if not, ending the compression process;
loading whole LINE data of an original bitmap in LINE from the original monochromatic bitmap, namely a data LINE for short, resetting the read byte number RBC=0, and counting the length of a bit string to be compressed to obtain a value BCC=0, wherein a current string mark MFLAG= -1, -1 represents an un-start processing mark, mfLAG=0 represents a string 0b is being processed, and MFLAG=1 represents a string 1b is being processed;
wherein, the original monochromatic bitmap is characterized as follows:
any original monochrome bitmap has a plurality of equal line widthsData composition, memory byte number occupied by each data is span +.>Line width->For the bit image of the effective length actually stored in the line data, is an integer greater than 0, span +.>The relation between span and line width is that the number of bytes actually occupied in line data is an integer greater than 0: />Wherein->Represents rounding up when the number goes up wide +.>Specific span->8 times smaller, i.e.)>In the most significant byte, some data bits are invalid data bits, and either 0b or 1b may be stored, and may or may not be processed during compression;
the whole line of data of the original bitmap is characterized as follows:
the data byte order is ordered from low order to high order, and byte order from low order to high order represents a row of image data;
the image arranged from the low address byte to the high address byte is a monochrome bitmap arranged from left to right, wherein the low order to the high order in each byte is also an 8-bit continuous image from left to right;
STEP20: start compression process
Firstly, an original byte CURRENT is taken out from original monochromatic bitmap line data, the read byte number rbc=1 is counted, whether the CURRENT is 0x00 or 0xFF is judged, and three cases are processed:
if current= =0x00, note the CURRENT flag mflag=0, bit count bcc=8, go to STEP100 for execution;
if current= =0xff, note the CURRENT graph flag mflag=1, bit count bcc=8, go to STEP200 for execution;
if both cases are not, look up TABLE0 first, inquire about 0b tail length LC of the CURRENT byte, if lc= 0, indicate that the tail of CURRENT of the original byte contains valid 1b string, go to STEP201 to execute; otherwise LC </SUB >0, LC >0 and LC <8 are necessary, indicating that the tail of the original byte CURRENT contains a valid 0b string, go to STEP101 for execution;
STEP100: processing consecutive 0x00 bytes
If RBC > =lineside, indicating that the original monochromatic bitmap line data processing is finished, after STEP300 is executed, turning to STEP400 for execution, and completing the line compression process;
reading in the next byte CURRENT, rbc=rbc+1;
if current= =0x00, the bit count is self-incremented by 8, i.e., bcc=bcc+8, and STEP100 is repeatedly continued;
if not, it means that the data jump, i.e. 1b bit appears in the CURRENT, performs a search for TABLE0, obtains the 0b tail length of the CURRENT byte, and accumulates into BCC, i.e. bcc=lc+bcc; after STEP300 is executed on the CURRENT shift LC to the right, i.e., current=current > > LC, the CURRENT string flag mflag=1 is set, and the operation goes to STEP201 to execute;
STEP101: processing bytes with tail 0b string
Performing a search TABLE0 to obtain a 0b tail length LC of the current byte, accumulating the LC to a bit count BCC, wherein BCC=LC+BCC; for the LC bit shift operation to the right of CURRENT, if current= 0x00, go to STEP100 to execute, otherwise, indicate that there is still 1b bit in the data, after STEP300 is executed, set the CURRENT string flag mflag=1, go to STEP201 to execute;
STEP200: processing consecutive 0xFF bytes
If RBC > =lineside, indicating that the original monochromatic bitmap line data processing is finished, after STEP300 is executed, turning to STEP400 for execution, and completing the line compression process;
reading in the next byte CURRENT, rbc=rbc+1;
if current= =0xff, the bit count BCC is self-incremented by 8, i.e., bcc=bcc+8, and STEP100 is repeatedly continued;
if not, it means that the data jump, i.e. 0b bit appears, performs TABLE1 searching to obtain 1b tail length LC of the CURRENT byte, accumulates the 1b tail length LC into the bit count BCC, and shifts LC bit operation to the right of CURRENT, i.e. current=current > LC, after STEP300 is performed, mfg=1, and goes to STEP101 to perform;
STEP201: processing bytes with tail 1b strings
Performing search TABLE1 to obtain 1b tail length LC of the CURRENT byte, accumulating the LC to bit count BCC, wherein BCC=LC+BCC, performing LC bit shifting operation on CURRENT to the right, if current= =0x00, turning to STEP200, otherwise, indicating that 0b bit exists in data, setting CURRENT string flag MFLAG=0 after STEP300 is performed, turning to STEP101, and performing;
STEP300: compressing collected arbitrary bit strings
First, determine bit count BCC > =maxblen, if satisfied, execute STEP310 first;
again, the bit count BCC > =blen and BCC < MAXBLEN, if satisfied, STEP320 is performed;
finally, determine bit count BCC >0, if satisfied, execute STEP330;
returning to the original request step for execution;
wherein, ble is bit block length, bcour is maximum bit block number, MAXBLEN is compressible longest bit string length, and there is maxblen=ble;
STEP310: compression of ultra-long bit strings of ultra-maximum bit string length
If BCC < MAXBLEN, returning to request point execution;
first CA compression groups are calculated, then a new bit count BCC is calculated:
wherein,,indicates rounding down, "/" is arithmetic division, "×" is arithmetic multiplication, ble is bit block length, bcour is maximum bit block number, MAXBLEN is compressible maximum bit string length, and there is maxblen=ble × bcourT;
If mflag= =0, CA 0xBF bytes are continuously stored in the compressed stream, which means that CA compression groups are provided, the highest bit of the compression groups is 1, the next highest bit is 0, the image without figure 0 is counted by the bit block, and the execution is returned to the request point;
if mflag= =1, CA 0xFF bytes are continuously stored into the compressed stream, which indicates that CA compression groups are present, the highest bit of which is 1, the next highest bit is 1, the image of fig. 1 is counted by bit blocks, and the execution is returned to the request point;
STEP320: long bit string of compressed superbit block length
If BCC > =blen cannot be satisfied at the same time and BCC < MAXBLEN, returning to request point execution;
CB bit blocks are calculated first, and then a new bit count BCC is calculated in the following manner:
wherein,,indicating a round down, "/" is arithmetic division, "%" is arithmetic remainder, "+" indicates arithmetic multiplication, ble is bit block length, bcour is maximum bit block number, MAXBLEN is compressible longest bit string length, and there is maxblen=blen bcour;
if mflag= =0, calculate byte dat= (0×80|cb), store DAT byte into compressed stream; or DAT is calculated through dat=0x80+cb, wherein a computer or bit operator in "|", "+" is arithmetic addition, 0x80 is 1000 0000 in binary, and the operation corresponds to the execution of returning the image without fig. 0, which is counted by bit block, to the request point at the highest position 1b, next highest position 0b of DAT to be stored;
if mflag= =1, calculate byte dat= (0 xb0|cb), store DAT byte into compressed stream; or DAT is calculated by dat=0xb0+cb; wherein, "+" is arithmetic addition, 0xB0 binary is 1100 0000, the operation is equivalent to the execution of the image with figure 1 in the highest position 1b, the next highest position 1b of DAT to be stored, which represents the counting of blocks by bit;
STEP330: short bit string compressed to be smaller than bit block length
If the BCC >0 is not satisfied, returning to the request point for execution;
if mflag= =0, take byte dat=bcc, store DAT byte into compressed stream, at this time, the next highest bit and the highest bit are both 0b, represent the image without figure 0 counted by bit, return to request point to execute;
if mflag= =1, fetch byte dat= (0×40|bcc), store DAT byte into compressed stream; or DAT is calculated by dat=0x40+bcc; wherein "+" is arithmetic addition and "|" is or bit operator; 0x40 is 0100 0000, which corresponds to the execution of the return request point at the next highest position 1, highest position 0b, representing the image of FIG. 1 in bits;
STEP400 line compression end
Ending the line compression process, and storing a line ending symbol 0x00 into the compressed stream;
wherein the image data is a compressed monochromatic bitmap and the data stream is stored row by row;
each line of data is represented by a plurality of compression groups, and a byte 0x00 represents a line ending symbol;
each compression group has one byte;
the byte streams of all compression groups in the line are continuous, are sequentially stored from low order to high order, represent that the line images are arranged from left to right, and have a line ending symbol of 0x00;
each compression group has only one byte and consists of 1-bit mode bits, 1-bit image bits and 6-bit length bits; wherein,,
the mode bit indicates whether the current byte is used in the compression mode of bit block count, 1 indicates the compression mode of bit block count, 0 indicates the compression mode of bit count, the image bit indicates that the compressed data group indicates that 0b is no string or 1b is a string, the length bit indicates the number of blocks or bit length of the compressed data group, 6 bits are used in total, and the range of the representation is 0-2 6 -1;
The compression modes adopted are two, namely a bit compression mode and a bit block compression mode, and each compression group is compressed by only one compression mode;
when the mode bit is 0, the compressed mode of the compressed group is a bit compressed mode, and the length is 63 at maximum, namely, the maximum compressible number is 63 continuous 0b or 1b;
when the mode bit is 1, the compression mode of the compression group is a bit block compression mode;
each time the storage or transmission is compressed, an additional bit block length is required to be specified, and the compression party and the decompression party compress and decompress according to the specified bit block length.
2. The method of compressing image data in a direct write lithography system as recited in claim 1, wherein: when the bit blocks are compressed, the maximum number of the bit blocks is 63, namely, the maximum number of the bit blocks can be compressed to 63 continuous 0b bit blocks or 1b bit blocks, the length of the bit blocks is contracted by a storage protocol, the bit blocks are natural numbers N which are arbitrarily more than 0 and less than 65, the value range is [1,64], and the compression length of a single byte is as follows: bit block number bit block length;
when the bit block length is 1 during bit block compression, the bit block is degenerated into a bit-by-bit compression mode with an extension bit of 0;
when the bit block is compressed, the length of the bit block is preferably selected to be an integer multiple of 8, the maximum is 64 bits, and the minimum is 8 bits;
at the time of bit block compression, at the time of maximum compression, the number of bit blocks is up to 63, the length of bit blocks is up to 64, and the total maximum is 63×64=4032, namely, the maximum compressible length is 4032 strings of 0b or 1b.
3. A computer readable storage medium storing a computer program which, when executed by a processor, causes the processor to perform the steps of the method of claim 1 or 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210896704.6A CN115297219B (en) | 2022-07-28 | 2022-07-28 | Compression protocol, method and storage medium for image data in direct writing lithography system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210896704.6A CN115297219B (en) | 2022-07-28 | 2022-07-28 | Compression protocol, method and storage medium for image data in direct writing lithography system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115297219A CN115297219A (en) | 2022-11-04 |
CN115297219B true CN115297219B (en) | 2023-06-30 |
Family
ID=83823527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210896704.6A Active CN115297219B (en) | 2022-07-28 | 2022-07-28 | Compression protocol, method and storage medium for image data in direct writing lithography system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115297219B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010019003A2 (en) * | 2008-08-13 | 2010-02-18 | (주)이오테크닉스 | Regular lithography method |
CN102736447A (en) * | 2012-06-08 | 2012-10-17 | 合肥芯硕半导体有限公司 | Compression method for image data string in direct writing lithography system |
CN106019858A (en) * | 2016-07-22 | 2016-10-12 | 合肥芯碁微电子装备有限公司 | Direct writing type photoetching machine image data bit-by-bit compression method based on CUDA technology |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7477772B2 (en) * | 2005-05-31 | 2009-01-13 | Asml Netherlands B.V. | Lithographic apparatus and device manufacturing method utilizing 2D run length encoding for image data compression |
-
2022
- 2022-07-28 CN CN202210896704.6A patent/CN115297219B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010019003A2 (en) * | 2008-08-13 | 2010-02-18 | (주)이오테크닉스 | Regular lithography method |
CN102736447A (en) * | 2012-06-08 | 2012-10-17 | 合肥芯硕半导体有限公司 | Compression method for image data string in direct writing lithography system |
CN106019858A (en) * | 2016-07-22 | 2016-10-12 | 合肥芯碁微电子装备有限公司 | Direct writing type photoetching machine image data bit-by-bit compression method based on CUDA technology |
Also Published As
Publication number | Publication date |
---|---|
CN115297219A (en) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10644721B2 (en) | Processing core data compression and storage system | |
EP0846373B1 (en) | Method and apparatus for compressing and decompressing image data | |
DE60127695T2 (en) | METHOD FOR COMPRESSING DATA PACKAGES | |
DE4340591C2 (en) | Data compression method using small dictionaries for application to network packets | |
DE69527679T2 (en) | Data compression and decompression methods | |
US7907069B2 (en) | Fast compression method for scientific data | |
CN112615628B (en) | Hardware friendly data compression | |
US5717393A (en) | Apparatus for data compression and data decompression | |
JP3628393B2 (en) | Data companding method for storing compressed data in discontinuous memory | |
JPH07502632A (en) | Circuit for Huffman code decoding | |
WO2004066505A2 (en) | Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search | |
JPH0473667B2 (en) | ||
JP2020123953A (en) | Method and system for improving compression ratio by using difference between blocks of image file | |
DE3751372T2 (en) | Arithmetic coding method for coding and decoding. | |
CN115630343A (en) | Electronic document information processing method, device and equipment | |
CN115297219B (en) | Compression protocol, method and storage medium for image data in direct writing lithography system | |
CN109255090B (en) | Index data compression method of web graph | |
CN116192154B (en) | Data compression and data decompression method and device, electronic equipment and chip | |
CN117254820A (en) | Data compression method, device, equipment and storage medium | |
CN111508041A (en) | HMI character compression and rendering method and device and electronic equipment | |
CN114499537A (en) | Data compression and decompression method and device | |
KR19980081236A (en) | Data Compression / Restore Method and Compression Device | |
US5903675A (en) | System and method for compressing data using a dynamically changing compression window | |
JP4352785B2 (en) | Program compression method, program decompression method, and compression program | |
CN115297220B (en) | Image data compression protocol, method and storage medium in direct writing lithography system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |