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.