# Killing time.

Because I’m stuck waiting on the post, I’m very very bored.  And when I’m bored, I get very frustrated until I have something to do.  That something is looking at macro-blocks calibration versus calculation.

There’s 3 sides to this:

1. What do the macro-block vectors actually mean?  i.e. what are the units for the values?  I’m currently assuming is the number of macro-blocks that a frame has moved base upon the fact that the values are only a single byte, so can only cover 255 pieces of movement; based on that assumption, the maximum frame size would be 255 x 16 (pixels per macro-block) = 4080 pixel maximum screen resolution which is plausible.  Zoe is shooting to 400 x 400 resolution, so she should get ±25 as the output values.  I need to test this theory..
2. I need to work out how to use the SAD readings; the low the value, the more confidence there is that the shift in the macro-blocks is accurate.  I need to look into this in more detail.
3. Finally, I need to know the units of macro-blocks, and how to convert the values to meters.  This is where I’ve made progress.
```                    v
/|\        ^
/ | \       |
/  |  \      |
/\__θ__/\     |
/    |    \    h
/     |     \   |
/      |      \  |
/       |       \ |
/________|________\v
|                   |
|<--------d---------|
```

I’ve found out that the camera angle of view is 62.2 x 48.8 degrees for the V2 camera.  As I’m videoing a square frame, the angle θ in the diagram is 48.8°.

d can be calculated

• in meters as 2 h tan(48.8 / 2) where h is also measured in meters
• in macro blocks as frame size (400) / macro block size (16) = 25

So 1 macro block is 2 h tan(48.8 / 2) / 25 = 0.03628960 x h meters.  At one meter height, d works out as ≈0.907m which matches up with my testing.

This site uses Akismet to reduce spam. Learn how your comment data is processed.