3

i'm using Omnivision ov5620

http://electronics123.net/amazon/datasheet/OV5620_CLCC_DS%20(1.3).pdf

this is datasheet. than, you can see the Output Format 10-bit digital RGB Raw data.

first, i know RGB raw data is bayer array.

so, 10-bit RGB mean each channel of 1024 scale? range is 0~1023?

or 8-bit RGB each channel and four-LSB[2:0] is new fifth pixel data?

please refer the image

which is correct?

enter image description here

ingsun
  • 107
  • 4
  • 14
  • 1
    the range is from 0 to 1023 – phuclv Aug 22 '14 at 03:34
  • range is 0 to 1024 is typing error. do you know which is correct? – ingsun Aug 22 '14 at 03:59
  • @ingsun The range 0 to 1023 **is** 1024 unique numbers. Since you don't start at 1. – Elliott Frisch Aug 22 '14 at 04:10
  • @ElliottFrisch thanks for advice. but i actually want to know about 10bit-raw-rgb format. – ingsun Aug 22 '14 at 04:20
  • @ingsun **Yes**. 10-bit RGB means each channel has 1024 possible values (that is the range is 0-1023). And, 2^10 **==** 1024. – Elliott Frisch Aug 22 '14 at 04:21
  • @ElliottFrisch so. that image is wrong? it just transmission for 10bit raw rgb to 8-bit raw rgb? – ingsun Aug 22 '14 at 04:24
  • 1
    The image is showing how they pack the 3 channels of 2^10 for writing to a file. When you read it, you have to unpack. – Elliott Frisch Aug 22 '14 at 04:26
  • 3
    There's nothing wrong with the datasheet. It's just transferring the high 8 bits first then pack the 4 low 2 bits together because it's easier to do that instead of packing 4 10-bit data consecutively into 5 bytes. Moreover sometimes you only need 8 bits/channel and can just drop the 5th bytes without any bit repacking – phuclv Aug 22 '14 at 04:37
  • @LưuVĩnhPhúc thanks for help. if i want just 8 bit(8 bit Raw RGB) just drop the low 2 bit? – ingsun Aug 22 '14 at 04:43

1 Answers1

3

They pack every four adjacent 10-bit pixels (0..1023) of the line into 5 sequential bytes, where each of the first 4 bytes contains the MSB part of the pixel, and the 5th byte contains LSBs of all four pixels packed together into one byte.

This is convenient format because if you want to convert it to RGB8 you just ignore that fifth byte.

Also each displayed line begins with the packer header (PH) byte and terminates with the packer footer (PF) byte. And the whole frame begins with the frame start (FS) byte and terminates with the frame end (FE) byte.

Stephen Rauch
  • 47,830
  • 31
  • 106
  • 135
Alex
  • 31
  • 2