OTA Bitmap
Encyclopedia

Introduction

The OTA or Over The Air Bitmap was defined by Nokia
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...

 Corporation as part of their Smart Messaging
Smart Messaging
Smart messaging is a proprietary service developed by Nokia used for the sending and receiving of various digital media via SMS.-Picture message:...

 Specification, to send pictures as a series of one or more concatenated SMS text messages. The format has a maximum size of 255x255 pixels. It is very rare for an OTA bitmap to measure anything other than 72x28 pixels (for Picture Messages) or 72x14/72x13 (for Operator Logos). The specification contains a byte of data to be used for indicating a multicolour image. This was to future-proof the standard, but the advent of Multimedia Messaging meant it never got to implementation.

Basic format description

The OTA Bitmap format is a monochrome, uncompressed format using one bit per pixel. As the format was designed for cellular phones, there is no standard computer format. It may be stored as a binary file
Binary file
A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...

 or as hex (usually without spaces) in a text file. Recognized extension
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding of its contents or usage....

 is .otb.

The data header

Before the image itself there is a header. The header is four bytes wide. A typical example is:
00 48 1C 01. These are:
00 The 'Infofield' (always remains as 00).
48 The width of the bitmap, 72 pixels in this case (48 is hex
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

 for 72).
1C The height of the bitmap, 28 pixels in this case (1C is hex for 28).
01 The number of colours (always 1).

Other possibilities may be: 00 48 0E 01 (for 72x14 bitmaps), 00 48 0D 01 (for 72x13 bitmaps).

Encoding the pixels

After the header the image itself starts.
This example will use the following 72x28 pixel image.


The first 8 pixels, reading right from the top left hand corner are one white (0) followed by seven blacks (1111111), giving the first byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...

, in Binary
Binary numeral system
The binary numeral system, or base-2 number system, represents numeric values using two symbols, 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2...

, as 01111111.

Converting from the binary
Binary numeral system
The binary numeral system, or base-2 number system, represents numeric values using two symbols, 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2...

 01111111 to hex
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

, results in the first byte that represents the pixels (7F). The next 8 characters are 8 blacks (11111111 or FF) and so on.

When all pixels from the top row are encoded, simply move to the next. There are no markers to indicate a new row, that information is contained in the header.

In the case of an OTA bitmap that is not a multiple of eight pixels in width, a single byte is used to convey information from two lines (eg two pixels from the first row and six from the second.) This is not the case in some other formats, so it is important to exercise care when converting between OTA and formats like WBMP.

Putting it together

Here is the result of the image converted to OTA.
00 48 1C 01 //Header
7F FF EF FF EF FF FB FF FE //First Row
40 3F E8 38 2F FF FB FF FE //Second Row
48 3F A8 38 2F 9F FB FF FE //Third Row
4C FF A9 FF 2F 8F FA DA DA //Fourth Row
4E FF 29 01 2F 80 FA 52 52
5E 7F 69 31 2F BF 7B 07 06
4F FF 69 79 2F BE FB 77 76
47 FF 69 79 2F BE 7B 07 06
47 FE EF 7D EF BE 7B FF FE
47 FC EF 7D E7 BC F1 FF FC
40 F0 EF 7D E7 7C F1 ED BC
21 E7 C9 79 27 98 F1 E5 3C
21 E7 C9 39 27 C8 F1 F0 7C
16 6F 89 39 23 E6 E0 F7 78
15 2F 88 82 23 F3 E0 F0 78
08 3F 04 44 43 D7 E0 FF F8
04 3E 02 28 81 EF C0 7F F0
02 3C 01 39 00 FF 80 3F E0
01 38 00 BA 00 7F 00 1F C0
00 F0 00 7C 00 3E 00 0F 80
FF C0 00 38 00 1C 00 07 FF
55 FF FF FF FF FF FF FF AA
2A F3 87 87 3F 1E 67 0F 54
15 F3 93 9F 3E 4E 27 27 A8
2A F3 87 8F 3E 4E 07 27 54
55 F3 93 9F 3E 0E 47 27 AA
FF F3 9B 87 0E 4E 67 0F FF //Penultimate Row
00 FF FF FF FF FF FF FF 00 //Last Row

Read/write support

  • XnView
    XnView
    XnView is a cross-platform image viewer used for viewing, converting, organising and editing graphical & video files. It is free of charge for private, educational and non-profit organisations...

    (as of version 1.97, Tools -> Options -> General -> Display all image file types flag must be enabled, otherwise XnView will neither display nor save files of this format)


Note to review: there is no write support for OTA format in XnView
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK