Operator PixelToImage

Operator Library: Synchronization

The operator PixelToImage allows to synchronize the 0D pixel stream arriving at input link I with an 0D, 1D or 2D image at input link Sample. You can imagine the output images at link O as a combination of the input I and Sample. While O follows Sample in timing and frame rate, the data content is copied from I. The pixel values at the Sample input are not used in the operator only the timing is used. Input I is fully asynchronous from input Sample. Flow control does not influence I. The input I can never be blocked.

This operator is useful for adding time stamps and other information into images.

Since input link I is asynchronous, the output link will always forward the last valid data from input I. When a sample input arrives before a valid input I is present, then the output is set to zero. Check the following waveform for clearification.

The operator can be used like an O operator:

The operator PixelToImage is a P type operator. According to the rules of links, when several links are merged after a P type operator, a SYNC operator has to be used.

However, operator PixelToImage is different: Between input "Sample" and output "O" (path sample -> O), the operator is handled like an O type operator by VisualApplets. This means in effect a pipeline equalization is carried out. For a merge, no synchronization is required.

[Note] Behavior During Design Simulation

During design simulation, the operator PixelToImage discards all data on input "I" since the exact timing cannot be simulated. Instead, the pixel values of the generated output data are defined via simulation parameter SimulationPixelValue, while the dimension of the output data is set according to the data on port "Sample".

I/O Properties

Property Value
Operator Type P
Input Links I, data which has to be sampled
Sample, provides the timing
Output Link O, data output

Supported Link Format

Link Parameter Input Link I Input Link Sample Output Link O
Bit Width [1, 64]1 [1, 64]2 as I
Arithmetic {unsigned, signed} {unsigned, signed} as I
Parallelism 1 1 as Sample
Kernel Columns 1 1 as Sample
Kernel Rows 1 1 as Sample
Img Protocol VALT_PIXEL0D {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as Sample
Color Format any any as I
Color Flavor any any as I
Max. Img Width any any as Sample
Max. Img Height any any as Sample

1 2

The range of the input bit width is [1, 64] for unsigned inputs. For signed inputs, the range is [2, 64]. For unsigned color inputs, the range is [3, 63] and for signed color, the range is [6, 63].

Synchronous and Asynchronous Inputs

  • All inputs are asynchronous to each other.

Parameters

None

Examples of Use

The use of operator PixelToImage is shown in the following examples: