portal:format_z1_a_z2
Formáty Z1, Z2 a Z3
Server nově pro verzi FW 2.0 umí vracet i vlastní jednoduchý formát komprese, kdy data kóduje přes RLE od prvního pixelu prvního řádku až po poslední pixel posledního řádku tak, jak jdou za sebou. V případě těchto formátů na začátku nejsou první dva byte "BM" (jako v případě BMP), ale Z1, Z2 nebo Z3.
Aktuálně server vrací pouze formát Z2 a pouze u Obrazovek (v případě, že se ePaper hlásí jako FW 2.0). Od FW 2.1 je připravená i varianta Z3.
- Z1 - Tento formát komprese vrací 1 byte pro barvu (až 255 barev) a následuje 1 byte pro počet opakování barvy (až 255 opakování).
- Z2 - Poslední 2 bity pro barvu (tedy 4 různé barvy - BW, 4G, YBW, RBW, YRBW) a prvních 6 bitů pro počet opakování (až 63).
- Z3 - Poslední 3 bity pro barvu (tedy 8 různých barev, které pokrývají např. sedmibarevný ePaper) a prvních 5 bitů pro počet opakování (až 31).
2 bity pro barvu jsou na základě typu displeje nastavované hodnotou takto:
- 0 - white
- 1 - black
- 2 - light gray or red
- 3 - dark gray or yellow
Počet opakování barvy nerespektuje konce řádek a pokračuje stejnou barvou na dalším řádku. Při zpracování je tedy potřeba počítat počet přiřazených pixelů v rámci řádku a na konci řádku přepnout na další a pokračovat tím.
Příklady účinnosti komprese
Dashboard, 800×480, výstupem jsou 4 stupně šedi: | |
---|---|
BMP (4 bit): | 192 118 B |
Z1: | 85 058 B |
Z2: | 45 200 B |
Obrázek Portal kalendáře 400×300: | |
---|---|
BMP (4 bit): | 60 118 B |
Z1: | 14 300 B |
Z2: | 8 140 B |
Příklad kódování Z2