Italiano English

    jixo .altervista.org

Mio C220

Home Jixo
Miomap bitmap
Miomap Language
free counters

I bitmap compressi dei navigatori MioMap e iGO

I file compressi di MioMap ed iGo, rispetto alle normali immagini Bitmap di windows, hanno il grande vantaggio di immagazzinare le medesime informazioni sfruttando minore spazio. Necessita' che e' molto sentita in un dispositivo come e' il nostro navigatore.

Standard di immagini come i GIF o i JPG non sono purtroppo utilizzabili in quanto hanno una perdita di qualita'. Occorre quindi utilizzare un metodo di compressione alternativo.
Uno degli standard di compressione e' il formato
"RLE" , ma i programmatori di MioMap e iGO si dovevano distinguere...perciò hanno creato un loro standard...

Partendo da queste informazioni trovate su questo forum possiamo iniziare a smanettare sui nostri bitmap compressi.
Si tratta della spiegazione dell'intestazione del file bitmap di MioMap.

1. Header of "RL", two ASCII characters (a regular .bmp file has "BM")
2.word = 0x0000 - with unknown function, I just see zero so far
3. image widthin pixels, i.e. 40 01 in file = 0x0140 = 320 pixels wide
4. image height inpixels, 0x0011 = 17 pixels high
5. number of colors used in image = Nc = 0x0002 = 2 (out of 255 or 256 possible)
6. (probably) number of lines of pixel data = Nd = 0x0011 = 17 lines
(I always saw it match #4 above)
7. AColor Lookup Table (each color 2 bytes), one for each color number (Cn),
inCompressed format (leaves out colors for the unused color numbers):
(these16-bit colors are ordered by pixel color number, Cn = 0 through FF)
The firstcolor value (where 0xF81F is apparently a transparent "color")
8. morecolors, as needed, to make Nc words, i.e. 0x2945 is a dark pixel
9. Nb(1 ...Nd) as a block of Nd single bytes, where each byte is a count of
the"compressed-data" bytes used to describe one line, with one entry
(one byte)for each line. Thus, a 17-line image has 17 bytes here.
10. The compresseddata for the first line, in groups of 2 bytes (Cn, Nr),
where Cn is the colornumber and Nr is the number of same-color pixels.
Thus, a 320-pixel linemight be described in 6 bytes: FE 01 FF FE 01 41,
with 1 pixel of Cn=FE, 254pixels of Cn=FF, and 65 pixels of Cn = 01 for
a total of 320 pixels, seemingto use 3 "colors".
11. The compressed data for each of the remaining Nd lines

Quindi...i due caratteri 'RL', una word, informazioni di larghezza e altezza, numero di colori, palette colori ecc..
Da notare che il primo colore della palette e' la "trasparenza".

Partendo da questa semplice immagine presa a caso...


...ed analizzando il suo interno in formato esadecimale...

possiamo notare un gruppo di informazioni ripetute. In particolare il codice FE e' un codice di escape.Indica che i due byte seguenti devono essere trattati in modo particolare. Il primo byte che segue il codice FE indica il colore nella palette definita nell'header del file. Il secondo byte indica che quel singolo colore andra' ripetuto n volte sull'asse X della bitmap.

Ad esempio la sequenza FE 02 11 indica che il 2° colore della palette deve essere ripetuto 17 volte (11 esadecimale).

Ogni riga dell'immagine viene così tradotta in una serie di terne numeriche (la somma delle ripetizioni dà sempre come risultato la larghezza dell'immagine).

Discorso un po' più complesso riguarda i file BMP di "nuova generazione" dei sistemi Miomap 2008 e iGo 2008. Poichè non sempre questi file si limitano ad una palette di 256 colori la terna numerica è leggermente diversa. Al posto del codice FE avremo un altro codice che ci indica anche un "moltiplicatore" aggiuntivo.

LINK
Mio Tech Sito ufficiale navigatori Miomap
Adivor.it Forum dove potete trovare qualsiasi informazione sui navigatori
Fredlynx Sito francese dove potete scaricare alcune utility (tra cui IGO BMP TOOL)

Help Free Software

Make a donation

Se questo sito ti e' piaciuto votami!

Sei il visitatore       di questo sito

dal 01-06-2008

Locations of visitors to this page

This page was last modified: November 19 2009 10:08:51.
Created by Jixo ©2008-2009