Technical Application Notes
Click an item to read from the list below.

Technical Application Notes


 

 

Working with Embedded Image Information

Technical Application Note TAN2008011

Revised November 23, 2010

 

Subject

Technical Application Note (TAN2008011): Working with Embedded Image Information

10379

Applicable Product(s)

  • All IEEE-1394, USB and GigE Vision Imaging Products

 

Application Note Description

The purpose of this Technical Application Note is to illustrate how to embed image metadata directly into an image using the FRAME_INFO firmware register 0x12F8H.

 

Understanding Embedded Image Information

The FRAME_INFO register 0x12F8H allows you to embed frame-specific information into the first several pixels of each image. Raw image data in these pixels is replaced with the image metadata you specify.

Depending on the camera model and firmware version, the metadata can include any or all of the following values:

  • Image timestamp
  • Gain CSR
  • Shutter Value
  • Brightness CSR
  • Exposure CSR
  • White Balance CSR
  • Frame Counter
  • Strobe Pattern Counter
  • GPIO Pin State
  • Region of Interest (ROI) Position

The first byte of image metadata starts at pixel 0,0 (column 0, row 0) and continues along the first row of pixels ( [1,0], [2,0], and so on). Each piece of metadata takes up one quadlet (4 bytes) of the image. So, when the camera is operating in an 8-bit/pixel mode, such as Y8, four pixels are used for one quadlet, or piece of metadata. Embedding a particular quadlet is controlled by a bit in the register. To embed a quadlet, turn its bit to 1. To turn off embedding, turn the bit to 0.

The following table outlines which bits of FRAME_INFO register 0x12F8H control which quadlets of metadata.

Field

Bit

Description

Frame-Specific Information (in Quadlets)

Presence_Inq

[0]

Presence of this feature
0: N/A 1: Available

 

 

[1-21]

Reserved

 

Insert_Info

22

Display image-specific information
0: Off 1: On

Region of Interest (ROI) position

23

GPIO Pin State

24

Strobe Pattern Counter

25

Frame Counter

26

White Balance CSR

27

Exposure CSR

28

Brightness CSR

29

Shutter Value

30

Gain CSR

31

Timestamp

Table 1: Bit Configuration of Register 0x12F8h

Note that quadlets appear in the image pixels in reverse order from the bits that control them. So, setting all bits to ‘ON’ (a write of 800003FFh) would result in the following embedded image configuration in an 8 bit/pixel-formatted image:

pixel[0,0]           = first byte of Timestamp data
pixel[1,0]           = second byte of Timestamp data
                    
pixel[4,0]           = first byte of Gain data
                    
pixel[24,0]         = first byte of Frame Counter data
                     and so on…

Similarly, if you set only bits 26 (White Balance), 28 (Brightness) and 30 (Gain) to ‘ON’, only the quadlets associated with those features would appear, and the configuration would be as follows:

pixel[0,0]           = first byte of Gain data
pixel[1,0]           = second byte of Gain data
                    
pixel[4,0]           = first byte of Brightness data
                     …
pixel[8,0]           = first byte of White Balance data
                    
Pixel[11,0]         = last byte of White Balance data

 

Working with Embedded Image Information

Using FlyCap Demo to Embed Image Metadata

You can use the FlyCap Demo program included with the FlyCapture SDK to configure the camera for embedding image metadata.

To embed image metadata:

1. Using the “Registers” interface, get FRAME_INFO register 0x12F8H. If bit 0 is set to 1, the embedded information feature is present. By default, bits 22 – 31 are set to 0, indicating no image-specific information is embedded.

2. Change any or all of bits 22 – 31 to 1, depending on the metadata you want to embed, and which bits are supported by your camera. For more information, consult the Point Grey Digital Camera Register Reference. For example, to embed Exposure and Brightness quadlets, set bits 27 and 28 to 1.

3. Click Set Register.

To turn off embedding, change the bits to 0, and click Set Register.

Using the FlyCapture API to Embed Timestamp Information

The flycaptureSetImageTimestamping function can be used to embed Timestamp information. Other quadlets can be embedded by using flycaptureSetCameraRegister. For more information, refer to the FlyCapture SDK Help.

 

Reading Embedded Image Data

Most quadlets simply embed the control and status register (CSR) values associated with the feature. For information about how to interpret Timestamp and Region of Interest position, refer to the Point Grey Digital Camera Register Reference.

If you are using a color camera that performs Bayer color processing on the PC, you must extract embedded image values from the non-color processed (raw) image in order for the data to be valid.