OTA bitmap

From Wikipedia, the free encyclopedia
Jump to: navigation, search

OTA Bitmap was a specification designed by Nokia for black and white images for mobile phones.

Introduction[edit]

The OTA or Over The Air Bitmap was defined by Nokia Corporation 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 (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[edit]

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.

Format copyright[edit]

This format is the Copyright of Nokia Corporation.

The data header[edit]

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[edit]

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[edit]

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

Support in applications[edit]

Read/write support[edit]

  • ImageMagick[1]
  • XnView (as of version 1.97, ToolsOptionsGeneralDisplay 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

See also[edit]

References[edit]

  • Nokia Smart Messaging Specification v3.0.0
  1. ^ "Introducing Image Formats". ImageMagick Studio LLC. Retrieved 21 March 2012. 

External links[edit]