We demonstrate the usage of fuzzy neural networks in real communication of images in this section. We adopt NITFF (National Imagery Transmission Format) [7, 1] which is a standard for encoding/decoding VQ compressed images. The standard is introduced first, and the functions of fuzzy neural networks in the standard are then described.
4.1 Introduction of NITF
NITF is a multi-component format which is designed to allow up to 999 images and symbols to be combined in a single file. Each component has metadata
associated with it. This technique allows for overlays that can readily be re-moved through an application. NITF is more than just an image file format; it goes beyond supporting the core needed to share imagery between disparate systems. It facilitates the increasing need for greater flexibility in using mul-tiple images with annotation in a composition that relates the images and annotation to one another.
NITF can accept and decompress data that has been compressed using a VQ compression scheme. Images contained in a NITF file can be in either color or gray scale. For simplicity, we only consider gray scale images here.
The components of a NITF file, as shown in Figure 13, include:
Fig. 13.NITF file Structure with VQ compressed images.
• NITF File Header. This gives the basic description of the file, e.g., how many subcomponents such as images, symbols, or texts, exist.
• Image Segments. NITF allows each image contained in the file to be com-pressed. Currently, bi-level, JPEG, JPEG2000 and VQ are the compression methods supported by NITF.
• Symbol Segments.
• Text Segments.
• Remaining segments.
The subheader of each image identifies the image compression method used.
If an image is compressed with VQ, then the code-book is placed in the VQ header followed by the compressed image codes. The VQ header also provides information about the organization of the code-book, indicating how many code-words included in the code-book, the size of each code-word, and how the data that makes up the code-words is organized. As a multi-component
format, NITF can collect several images in a file and thus is suitable for transmitting a global code-book in one file.
4.2 Encoding a VQ compressed NITF Image
Fig. 14. VQ compression procedure.
To compress an image with vector quantization, we can use fuzzy neural networks to generate the code-book from the input image and then classify each image block to the nearest word, as shown in Figure 14. The code-book and the indices of image blocks together are encoded into a bitstream and become the compressed image data in a NITF file. Two encoding schemes are provided, block-based and row-based.
Encoding with Block-Based Code-books
For the block-based scheme, a code-book with each code-word of 4×4 pixels in size is created. To illustrate how it works, we do compression on Lena. The image is first partitioned into blocks of 4 × 4 pixels. Therefore, each block or code-word contains 16 pixels. A code-book of 512 code-words is generated and 64 × 64 = 4096 blocks are vector quantized through the network. Following the file header and the image subheader, the 512 code-words are encoded in ascending order, i.e., starting with code-word 1 and ending with code-word 512. Assume that the first code-word is
153 153 153 153 155 155 155 155 155 155 155 155 154 154 154 154
and the second code-word is
Then the bitstream of the first code-word, i.e., [153 153 153 · · · 154 154 154], is followed by that of the second code-word, i.e., [150 151 150 · · · 112 113 113], and so on. The bitstream of the code-book is therefore encoded as [153 153 153 · · · 154 154 154 150 151 150 · · · 112 113 113 · · · ·]. Following the code-book, the indices of the image blocks from left to right and top to bottom are encoded into another bitstream of compressed image data. Suppose we have the following image with each image block replaced by its index:
NITF allows the organization of the VQ code-book to be optimized for the specific use of the VQ data. For the row-based scheme, four code-books with each code-word of 4 pixels in size are created. That is, it stores different rows of 4×4 code-words in different code-books such that the image can be reconstructed line-by-line, instead of block-by-block.
The first code-book is used to group row 1 of all the 4×4 code-words together. For instance, for the previous example, the first code-book has the following form:
Row 2, row 3, and row 4 of all the 4×4 code-words are placed in respective code-books as above. Then these row-based code-books are encoded one by one. The bitstream of these code-books thus looks like [153 153 153 153 150 151 150 151 · · · 155 155 155 155 148 148 148 148 · · · 155 155 155 155 135 132 132 131 · · · 154 154 154 154 112 112 113 113 · · ·]. Note that the quantized image data remains the same as those compressed with the block-based code-book scheme.
4.3 Decoding a VQ compressed NITF Image
The decoding process of a VQ compressed image is shown in Figure 15. When
Fig. 15.VQ decompression procedure.
a VQ compressed image is received, code-books are read and then the image blocks are reconstructed.
Decoding with Block-Based Code-books
For the block-based scheme, we only need to check with one code-book. After the code-book is read, the indices of image blocks are extracted. Through the table lookup operation with the code-book, the code-word indexed by the first vector-quantized image code is used to spatially decompress the 4 × 4 block at the upper left corner of the image. Decompression continues from left to right and top to bottom, as shown in Figure 16, until all the image blocks have been spatially decompressed.
Decoding with Row-Based Code-books
The process of decoding a VQ compressed NITF image with row-based code-books is very similar to those of the block-based code-book scheme, except that we have to check with four code-books. After the row-based code-books are read, the first 64 indices, i.e., quantized image data, are used to decompress the first row of the image by table-lookup in the first code-book. The second, third and fourth rows of the image are then decompressed by table-lookup in the second, third, and fourth code-books, respectively. The decompression continues from left to right and top to bottom, as shown in Figure 17, until all the image rows have been spatially decompressed.
Fig. 16.Spatial decompression with the block-based code-book scheme.
Fig. 17.Spatial decompression with row-based code-books.