OTA bitmap

Last updated

OTA Bitmap (Over The Air Bitmap) was a specification designed by Nokia for black and white images for mobile phones.

Contents

The OTA Bitmap was defined by Nokia as part of their Smart Messaging 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 pixels (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 MMS 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 or as hex (usually without spaces) in a text file. Recognized extension 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 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.

Ota example.gif

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, in Binary, as 01111111.

Converting from the binary 01111111 to hex, 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 (e.g. 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.

00481C01//Header7FFFEFFFEFFFFBFFFE//FirstRow403FE8382FFFFBFFFE//SecondRow483FA8382F9FFBFFFE//ThirdRow4CFFA9FF2F8FFADADA//FourthRow4EFF29012F80FA52525E7F69312FBF7B07064FFF69792FBEFB777647FF69792FBE7B070647FEEF7DEFBE7BFFFE47FCEF7DE7BCF1FFFC40F0EF7DE77CF1EDBC21E7C9792798F1E53C21E7C93927C8F1F07C166F893923E6E0F778152F888223F3E0F078083F044443D7E0FFF8043E022881EFC07FF0023C013900FF803FE0013800BA007F001FC000F0007C003E000F80FFC00038001C0007FF55FFFFFFFFFFFFFFAA2AF387873F1E670F5415F3939F3E4E2727A82AF3878F3E4E07275455F3939F3E0E4727AAFFF39B870E4E670FFF//PenultimateRow00FFFFFFFFFFFFFF00//Last Row

Support in applications

Read/write support

Note to review: there is no write support for OTA format in XnView

See also

References

  1. "Introducing Image Formats". ImageMagick Studio LLC. Archived from the original on 21 March 2012. Retrieved 21 March 2012.
  2. "File Viewer for Android – Google Play'de Uygulamalar".