posts tagged with tiles
-
Fragmenting the tile data
When looking at the data segment of CIS/COD images (i.e., the tiles) the byte sequence
0x63 0x6f 0x64
(ASCII:cod
) appears several times and thus is conspicuous. According to a wiki page describing a derived video codec it marks the end of a “plane”, a basic building block of wavelet-compressed images. In this post we explore the size distribution of these blocks. -
Visualising Entropy
Our quest to find the tile index of D-Sat 1 continues. I have described before, what I mean with “tile index” and I have also given a clue that I found something in the first part of the big blob of data
dsatnord.mp
which I namedun1.dat
. -
Getting an overview on the file content
In the last post we already gained a good overview on the distribution of tiles in
dsatnord.mp
. Together with the first post this allows us to find the parts of the file which we do not understand, yet. -
Visualising the tile size distribution
With mp.py’s
offsets
command we can dump tile byte position, size, width and height as follows: -
Understanding the image header
One important question remains: Are the tiles in
dsatnord.mp
stored with or without gaps? To find this out, we would need to know the actual byte size of each tile. But how to find that out? Well, one guess is that the data/file size of each image is stored in its header. The following Python code prints each consecutive 16 bits (two bytes) among the first 20 bytes as unsigned little endian integer: -
Viewing tiles with Firefox
Knowing the offsets of (potential) tiles, we can pick one (56057877) and extract the tile into a file:
-
Learning about the image format
The tiles are apparently stored in the lightning strike wavelet-compressed raster image format. Apparently, there exists no free software to work with such files. Here’s what we found:
-
Finding the tiles
To find the image tiles in
dsatnord.mp
and possibly decode them, we had a look at the decompiledlsd26dll.dll
. My colleague Jan found the functionCLsDecode::GetImageDataSize
and figured out that the first lines