HOME
ABOUT GCS
INTERFACE
DESCRIPTION
EXAMPLES

GCS Note g0002
GIF and PNG

July 28, 2002

1. Purpose
I am going to discuss the following three topics in this note.
- GIF in the present GCS, and the implementation of PNG.
- Intellectual property rights and GCS
- Current GCS and the credits

2. GIF in the present GCS, and the implementation of PNG
 From the start of this website, I have been using the GIF graphics file format in the examples of GCS usage.
  Before that, I had been producing GIF files routinely at the space agency where I worked with the written permission by Unisys Corporation. It costed a lot and the agency had paid for it. After the retirement, that privilage no longer belonged to me, but the GIF encoding source codes remained in my hands. So I suppressed the LZW compression mechanism in the source code and used it for GCS.

 The method I used for suppressing the patented compression mechanism is to send a clear code after each index codes. A series of index codes are the target of the compression and there usually are produced a much smaller amounts of codes than the original index codes. Here I used the term index code as I am using the indexed color method in assembling a graphic data. An index code corresponds to a pixel. The LZW decompression mechanism uses an accumulator that holds the information about the past index data for the decompression. When a browser receives a GIF file, it begins to set up this accumulator in order to decode the compressed data. The clear code is designed to clear the browsers accumulator. Immediately after the accumulator is cleared, the first data that the browser receives is interpreted as an original uncompressed data, which is an index data in our case.

 This cleared the patent problem, but an another problem cropped up. The size of the GIF files grew too large. I kept the image sizes small, but you may have noticed that downloading them was somewhat slow.
  In fact, this was one of the reasons I stressed that the current system is by no means a practical model.

  So, I turned to PNG and included the function in GCS. The specification and the accompanying two rfc's are well written, and it's only from my lack of mentality that I somewhat struggled to make the program.
  I believe there are a lot of compression methods that are patented. It must have been without much choice when they devised PNG using unpatented methods. It is quite natural that PNG so developed became somewhat clumsy. However all the compression and decompression jobs are done by computers, who do not ever complain. Ordinary users do not see any difference. People who actually make the programs do notice the difference between the two, but they forget about the complexity soon after they finish the programming. Overall, I think PNG is perfect, and also think it can be a model for working around this kind of difficulty in the software. However, one thing that annoys me is that it can't be viewed with my Apple i-Book.

  There are other image data formats, JPEG and SVG. I do not have immediate needs to implement them.
  I would like to note that GCS cleient-side source (also abbreviated as GCS) is one of such kinds, because it can be sent over the e-mail and can be viewed in a browser as far as it is hooked up to the internet.

3. Intellectual property rights and GCS
 GCS in its final form is a huge intellectual property.
  Who owns its intellectual property rights must depend upon the way how it is developed. As the way it is developed is completely undecided right now, I cannot say anything about its ownership.

  I think it is quite natural that GCS is used free of charge by the general public. But I do not know why I think that way. Perhaps a lot of web services are now offered free of charge, and I thought it natural in the same vein. But those services are not without costs. I do not know how these costs are going to be absorbed in the case of GCS.
  At least in the present situation under which I am doing it all alone, there won't be any charge for using GCS nor any claim of the intellectual property rights for the publised information.

4. Current GCS and the credits
  The current GCS program is completely original. However, I would like to note here the credits that I owe in some other sources of information.

(1) Pallete colors
  256 pallete colors and their indices were taken from Apple Macintosh.
(2) Calendar date conversion
  The method to convert between calendar dates and offset Julian Days was taken from the user's manual of HP calculator some 20 years ago.

GCS NOTES