**4. Experimental results**

We tested the algorithm on a memory circuit which has 13 layers, uses 500 nm lithography technology, and has repeated memory cell structure. The circuit was rasterized on a 1nm grid and then regrouped with block size 250 × 250. The intensity for each block was quantized using 32 levels. The resulting 5-bit gray level image rasterized on a 250nm grid satisfies the minimum edge spacing of 8nm. For this circuit our algorithm *CornerGray* runs on the entire

The input image size was 6, 800 × 7, 128 (=30,294,000 bytes) and the *CornerGray* parameters were *N* = *M* = 64 for all layers. The compression ratio in Table 1 and Table 2 is defined as Input File Size Compressed File Size.

<sup>109</sup> Transform-Based Lossless Image Compression

However, the results show that *CornerGray* is relatively weak for handling massively repeated patterns. Among the 13 layers, *CornerGray* did not perform well (compared to *Block C4*) for Layer2, Layer4, Layer8, and Layer10. These layers contained patterns which consist of a large array and Layer8 and Layer10 in particular had complex patterns which were scattered. For these parts the complex LZ-based copying part of *Block C4* resulted in better performance.

In the previous section we saw that the algorithm *CornerGray* outperforms *Block C4* and is considerably faster. The improvement in *CornerGray* over *Block C4* is a result of different techniques. Our corner location approach is simpler than the context prediction used by *Block C4* to handle the irregular parts of layer images. However, *CornerGray* needs a better pattern handling scheme for circuits which contain massively repeated patterns. We are currently trying to generalize the frequent pattern replacement component of *Corner2* [Yang & Savari (2011)] in order to handle frequent patterns within binary layout images and expect similar compression improvements for gray level images. The decoding operations for *CornerGray* include common decompression schemes which are widely implemented in hardware as well as simple branches, compares, and memory copies for the corner transformation part. Therefore our decoder can be deployed using hardware and is an approach to the data

Chen, Y.; Kahng, A.;Robins, G.; Zelikovsky, A. & Zheng, Y. (2004) Evaluation of the new OASIS

Chokshi, N.; Shroff, Y. & Oldham, W. (1999) Maskless EUV Lithography, *International*

Dai, V. & Zakhor, A. (2006) Lossless compression of VLSI layout image data. *IEEE Trans. Image*

Dai, V. (2008) *Data Compression for Maskless Lithography Systems: Architecture, Algorithms, and*

Golomb, S. (1966) Run Length Encodings. *IEEE Trans. Information Theory*, Vol. 12, No.3, pp.

Gu, A. & Zakhor, A. (2008) Lossless Compression Algorithms for Hierarchical IC Layout. *IEEE*

*Trans. Semiconductor Manufacturing*, Vol. 21, No. 2, pp. 285-296.

format for layout fill compression, *Proceedings of the 2004 11th IEEE International Conference on Electronics, Circuits and Systems*, pp. 377- 382, Tel-Aviv, Israel, December

*Conference on Electron, Ion, and Photon Beam Technology and Nanofabrication*, Macro

*Implementation*, Ph.D. Thesis, Department of Electrical Engineering and Computer

Hence, more sophisticated pattern matching is required to improve *CornerGray*.

delivery problem of maskless lithography systems.

Algorithm for Electron Beam Direct Write Lithography Systems

The second author was supported in part from NSF Grant CCF-1017303.

Artwork (2010) GDS\_RIP. *http://www.artwork.com/gdsii/gds\_rip/index.htm*

**5. Conclusion**

2004.

**7. References** 

**6. Acknowledgment** 

399-401.

Island, FL, June 1999.

*Processing*, Vol. 15, No. 9, pp. 2522-2530.

Science, University of California, Berkeley.

layout image, but *Block C4* [Liu et al. (2007)] has a memory shortage/failure. We therefore divided the image in a way to enable the successful application of *Block C4*.

Our code for *CornerGray* and *Block C4* is in C/C++ for the former and in C# for the latter. The experiments were conducted on a laptop computer having a 2GHz Intel Core i7 CPU and 4GB RAM. The decoder memory requirement of *CornerGray* (with parameters *M* = *N* = 64) was *width* × (2 + bits per pixel)/8 + 4(*M* + *N* + 1) + 2, 048 = 8, 514 bytes while that of *Block C4* was *width* × bits per pixel × 0.25 + 427 = 8, 927. We require 5% less decoder memory than *Block C4*. Tables 1 and 2 indicate that the compression performance of *CornerGray* is 6% better than *Block C4* and is 189 times faster in encoding and 24 times faster in decoding.


Table 1. Compression Result - *CornerGray*


Table 2. Compression Result - *Block C4*

The input image size was 6, 800 × 7, 128 (=30,294,000 bytes) and the *CornerGray* parameters were *N* = *M* = 64 for all layers. The compression ratio in Table 1 and Table 2 is defined as

> Input File Size Compressed File Size.

However, the results show that *CornerGray* is relatively weak for handling massively repeated patterns. Among the 13 layers, *CornerGray* did not perform well (compared to *Block C4*) for Layer2, Layer4, Layer8, and Layer10. These layers contained patterns which consist of a large array and Layer8 and Layer10 in particular had complex patterns which were scattered. For these parts the complex LZ-based copying part of *Block C4* resulted in better performance. Hence, more sophisticated pattern matching is required to improve *CornerGray*.
