Operating instructions

© Calibre UK Limited Issue 1.30 27 January 2012, W: www.calibreuk.com
T:+44 1274 394125 F: +44 1274 730960 E: techsupport@calibreuk..com 24
4.5.
File Upload
A page for file uploads is provided. Test patterns can be created and stored on the PC. Four such
custom test patterns can be uploaded to and stored by the HQView unit. Each of the test patterns in the
four slots can be deleted and replaced by another test pattern. The test patterns need to be in RGB
24bit .PNG format as e.g. supported by MS Paint®. For best detail the test patterns should be created
with the output resolution HQView will be operated at. Non matching resolution test patterns will be
scaled to the output resolution.
A single alpha map can be uploaded to the HQView unit. The alpha map format is B/W 16bit .PNG as
e.g. supported by Adobe Paintshop®. Only the most significant 10 bits are used. Also a Calibre
proprietary format without compression is supported. This format is intended for uploads in proprietary
calibration systems directly controlling the HQView unit. Thus, a .PNG encoder does not have to be
implemented on the host side. If the alpha map size exceeds the available storage space on the
HQView unit the .PNG (lossless compression) has to be used. The Calibre format is as follows:
// Custom Alpha Map File Format
//
// Offset Size Purpose
// 00 4 Header field used to identify custom alpha map file ('AM30')
// 04 2 Horizontal resolution in pixels (big endian)
// 06 2 Vertical resolution in pixels (big endian)
// 08 s Image data
//
// Each line of image data is built like this:
// One 32-bit unsigned (four bytes, big endian) for every three pixels of image data
// Bits[31..30] - unused
// Bits[20..20] - leftmost pixel of three
// Bits[19..10] - middle pixel of three
// Bits[09..00] - rightmost pixel of three
// Each line has to be zero-padded to make up an integer number of 32-bit unsigned values
//
// e.g. 1280 pixels horizontally needs 427 values (1024/3 = 426.67, rounded up)
//
// So the size (s) of the image data is calculated like this:
// s = CEILING(ImageWidth /3 ) * 4 * ImageHeight
//
// Example of a 1920x1200 custom alpha map (all alpha values set to 1):
//
// 000000 41 4D 33 30 07 80 04 B0 (header)
// 000008 3F FF FF FF 3F FF FF FF (beginning of first line)
// ...
// 000A08 3F FF FF FF 3F FF FF FF (beginning of second line)
// ...
// 2ED608 3F FF FF FF 3F FF FF FF (beginning of last line)
//
// s = CEILING(1920 /3 ) * 4 * 1200 = 3072000 bytes