Maxim串行器可以連接和控制相機(jī)IC。本文介紹如何將相機(jī)的原始 RGB 或 YUV 輸出轉(zhuǎn)換為適合與標(biāo)準(zhǔn)顯示器一起使用的 RGB 數(shù)據(jù)。
介紹
Maxim串行器可以連接和控制相機(jī)IC。這些器件包括MAX9257,具有半雙工UART/I2C控制通道,以及MAX9259和MAX9263,均具有全雙工同步控制通道。MAX9263還支持高帶寬數(shù)字內(nèi)容保護(hù)(HDCP)。本應(yīng)用筆記介紹了如何將相機(jī)的原始RGB或YUV輸出轉(zhuǎn)換為適合與標(biāo)準(zhǔn)顯示器配合使用的RGB數(shù)據(jù)。
相機(jī)輸出格式
相機(jī)芯片,如豪威OV10630,可以通過串行器連接。OV10630的接口引腳包括像素時(shí)鐘、PCLK、線路有效、HREF、幀同步、VSYNC和并行數(shù)據(jù)位D[9:0]。數(shù)據(jù)位穩(wěn)定在時(shí)鐘的上升沿。
YUV 和原始 RGB 格式的說明
CMOS相機(jī)傳感器由數(shù)百萬個(gè)光敏單元組成。每個(gè)細(xì)胞本身對(duì)所有波長的光做出反應(yīng)。光學(xué)濾光片涂層用于使特定傳感器僅對(duì)紅色、綠色或藍(lán)色波長的光做出反應(yīng)。相鄰的細(xì)胞通常涂有拜耳排列的顏色,其中兩倍的細(xì)胞涂有綠色,而不是紅色或藍(lán)色。這模仿了人眼的生理學(xué)。從左到右和從上到下獲取傳感器單元輸出,原始 RGB 數(shù)據(jù)按藍(lán)色、綠色...藍(lán)色,綠色(第一行末尾),綠色,紅色,...綠色、紅色(第二行末尾)等,如圖 1 所示。
圖1.原始 RGB 數(shù)據(jù)字節(jié)序列。
通過插值相鄰像元的所需顏色,可以生成與傳感器像元密度相同的 RGB 數(shù)據(jù)。或者,這可以通過使用相鄰單元格的顏色來實(shí)現(xiàn),符合某些規(guī)則。為每個(gè)像素位置形成 RGB 集的一個(gè)這樣的規(guī)則是在同一行上使用一對(duì)相鄰的單元格,以及綠色旁邊的下一行(或上一行)中的單元格。插值的RGB數(shù)據(jù)被排序?yàn)?..,紅色(i-1),綠色(i-1),藍(lán)色(i-1),紅色(i),綠色(i),藍(lán)色(i),紅色(i+1),綠色(i+1),藍(lán)色(i+1),...如圖2所示。每個(gè)像素都需要一組RGB數(shù)據(jù)來驅(qū)動(dòng)彩色顯示器,同時(shí)保持相機(jī)傳感器的最大可能分辨率。這種插值RGB數(shù)據(jù)的亮度分辨率接近傳感器單元的亮度分辨率,而色度分辨率較差。感知分辨率可以與傳感器單元一樣高,因?yàn)槿搜蹖?duì)每個(gè)像素的強(qiáng)度比對(duì)像素的顏色分量更敏感。
圖2.RGB 數(shù)據(jù)字節(jié)序列。
但是,這種插值RGB數(shù)據(jù)的數(shù)據(jù)速率是其三倍。為了降低數(shù)據(jù)速率,特別是傳輸速率,可以使用YUV色彩空間(將模擬彩色電視信號(hào)放入模擬黑白電視的頻段中)。在下面的等式中,亮度用Y表示,藍(lán)色和亮度之間的色差為U,紅色和亮度之間的色差為V,
其中典型的顏色權(quán)重值為 WR= 0.299, WB= 0.114,WG= 1 - WR- WB= 0.587,歸一化值為 U.MAX和 V.MAX= 0.615。
對(duì)于帶有拜耳圖案顏色濾光片的相機(jī)傳感器,相鄰像素的U或V數(shù)據(jù)大致相同,具體取決于線索引i和像素索引j(如果使用相鄰顏色的規(guī)則)。使用此準(zhǔn)則,可以根據(jù)以下表達(dá)式直接從原始 RGB 數(shù)據(jù)生成 YUV 數(shù)據(jù)。
對(duì)于偶數(shù)線索引 i 和偶數(shù)像素索引 j。
對(duì)于偶數(shù)線索引 i 和奇數(shù)像素索引 j。
對(duì)于奇數(shù)線索引 i 和偶數(shù)像素索引 j。
對(duì)于奇數(shù)線索引 i 和奇數(shù)像素索引 j。
對(duì)于偶數(shù)線索引 i 和偶數(shù)像素索引 j。
對(duì)于偶數(shù)線索引 i 和奇數(shù)像素索引 j。
對(duì)于奇數(shù)線索引 i 和偶數(shù)像素索引 j。
對(duì)于奇數(shù)線索引 i 和奇數(shù)像素索引 j。
對(duì)于偶數(shù)線索引 i 和偶數(shù)像素索引 j。
對(duì)于偶數(shù)線索引 i 和奇數(shù)像素索引 j。
對(duì)于奇數(shù)線索引 i 和偶數(shù)像素索引 j。
對(duì)于奇數(shù)線索引 i 和奇數(shù)像素索引 j。
為了降低數(shù)據(jù)速率,使用偶數(shù)像素索引 U 數(shù)據(jù)和奇數(shù)像素索引 V 數(shù)據(jù),以及偶數(shù)和奇數(shù)像素索引 Y 數(shù)據(jù)。這種數(shù)據(jù)速率降低的YUV數(shù)據(jù)按如圖3所示的順序傳輸。換句話說,Y1/ 60和 V1是像素 1 的數(shù)據(jù);Y2/ 62和 V1是像素 2 等的數(shù)據(jù)。
圖3.YUV422 數(shù)據(jù)字節(jié)序列。
422 表示 Y:U:V 的采樣比。采用4:x:x標(biāo)準(zhǔn)是因?yàn)樽钤绲念伾玁TSC標(biāo)準(zhǔn),該標(biāo)準(zhǔn)使用4:1:1的色度子采樣,因此圖像的彩色分辨率僅為亮度的四分之一。如今,只有處理未壓縮信號(hào)的高端設(shè)備才使用4:4:4的色度子采樣,亮度和顏色信息具有相同的分辨率。
序列化程序輸入格式
Maxim串行器的并行接口設(shè)計(jì)用于24位RGB數(shù)據(jù)。具體而言,MAX9259具有像素時(shí)鐘位(PCLK)和29個(gè)數(shù)據(jù)位,可用于24 RGB位以及水平同步、垂直同步和3個(gè)控制位。除數(shù)據(jù)并行接口外,DRS和BWS引腳需要分別設(shè)置為高或低,以便選擇數(shù)據(jù)速率和總線寬度。
美信串行器/解串器
MAX9257和MAX9258串行器/解串器(SerDes)對(duì)具有多達(dá)18個(gè)并行輸入/輸出位,適合發(fā)送YUV數(shù)據(jù),而MAX9259/MAX9260芯片組具有28個(gè)并行輸入/輸出位,適用于傳輸RGB數(shù)據(jù)。另一對(duì)SerDes,MAX9263/MAX9264,具有28位,具有額外的HDCP功能。此外,MAX9265和MAX9268是一對(duì)28位SerDes,具有攝像頭鏈路,而不是并行輸入/輸出接口。所有28位Maxim串行器和解串器具有相同的并行-串行數(shù)據(jù)映射,可互換使用。例如,MAX9259串行器可與MAX9268解串器配合使用,以發(fā)送RGB數(shù)據(jù)(借助FPGA)。該數(shù)據(jù)通過串行鏈路從CMOS相機(jī)發(fā)送到相機(jī)鏈接接口的顯示設(shè)備。
序列化程序的映射
為了匹配MAX9268解串器的相機(jī)鏈路輸出接口,應(yīng)根據(jù)以下信號(hào)圖映射并行RGB位。圖4所示為MAX9268中間并行位與其相機(jī)鏈路輸出之間的映射。圖 5 顯示了相機(jī)鏈路的 RGB 內(nèi)容位映射。表1給出了MAX9259串行器的相應(yīng)內(nèi)容映射。
圖4.MAX9268內(nèi)部并行至輸出映射。
圖5.相機(jī)鏈接內(nèi)容映射。
DIN0 | DIN1 | DIN2 | DIN3 | DIN4 | DIN5 | DIN6 | DIN7 | DIN8 | DIN9 |
R0 | R1 | R2 | R3 | R4 | R5 | G0 | G1 | G2 | G3 |
DIN10 | DIN11 | DIN12 | DIN13 | DIN14 | DIN15 | DIN16 | DIN17 | DIN18 | DIN19 |
G4 | G5 | B0 | B1 | B2 | B3 | B4 | B5 | HREF | VSYNC |
DIN20 | DIN21 | DIN22 | DIN23 | DIN24 | DIN25 | DIN26 | DIN27 | DIN28 | |
R6 | R7 | G6 | G7 | B6 | B7 |
顏色轉(zhuǎn)換:YUV 到 RGB
FPGA芯片可以將來自相機(jī)的數(shù)據(jù)速率降低的YUV數(shù)據(jù)轉(zhuǎn)換為MAX9259串行器的RGB數(shù)據(jù)。當(dāng)在 8 位定點(diǎn)數(shù)學(xué)運(yùn)算中實(shí)現(xiàn)時(shí),這種顏色空間轉(zhuǎn)換的公式可以用以下表達(dá)式來描述。n 是 D 的偶數(shù)n和 En在 2德·和 3RD方程。
Cn = Yn - 16
Dn = Dn + 1 = Un - 128
En = En + 1 = Vn + 1 - 128
Rn = clip((298 × Cn + 409 × En + 128) >> 8)
Gn = clip((298 × Cn - 100 × Dn - 208 × En + 128) >> 8)
Bn = clip((298 × Cn × 516 × Dn + 128) >> 8)
其中>> 8 表示“將位向右移動(dòng)八次”,剪輯表示“僅獲取最后 8 位”。
FPGA 解決方案
輸入緩沖
輸入緩沖電路由一個(gè)計(jì)數(shù)器、三個(gè)寄存器和一些組合邏輯組成,用于以輸入時(shí)鐘速率的一半將單字節(jié)時(shí)鐘輸入轉(zhuǎn)換為三字節(jié)時(shí)鐘輸出。組合邏輯用于分別為每個(gè) Y、U 和 V 字節(jié)啟用相應(yīng)的寄存器。
圖6.輸入緩沖電路。
時(shí)鐘開關(guān)
FPGA輸出像素時(shí)鐘是相機(jī)像素時(shí)鐘速率的一半,驅(qū)動(dòng)串行器像素時(shí)鐘輸入。但是,相機(jī)在初始化之前不會(huì)輸出像素時(shí)鐘。解決方案是在FPGA內(nèi)部實(shí)現(xiàn)2:1時(shí)鐘多路復(fù)用器(mux)和時(shí)鐘信號(hào)檢波器。多路復(fù)用器由時(shí)鐘信號(hào)檢測器控制。多路復(fù)用器的上電默認(rèn)時(shí)鐘輸入來自相機(jī)的時(shí)鐘振蕩器,這使得SerDes芯片組提供控制通道來初始化相機(jī)。時(shí)鐘信號(hào)檢波器對(duì)垂直同步信號(hào)脈沖進(jìn)行計(jì)數(shù)。經(jīng)過幾次垂直同步脈沖后,多路復(fù)用器切換到相機(jī)像素時(shí)鐘的半速率。使用像OV10630這樣的高清攝像頭傳感器,一個(gè)垂直同步脈沖的每個(gè)周期包含超過100k像素的時(shí)鐘。幾個(gè)垂直同步脈沖的時(shí)間足以穩(wěn)定相機(jī)的內(nèi)部鎖相環(huán)(PLL)。計(jì)數(shù)垂直同步比計(jì)算像素時(shí)鐘效率高得多,并為實(shí)現(xiàn)節(jié)省了FPGA邏輯元件。
中間緩沖
轉(zhuǎn)換表達(dá)式不描述硬件電路實(shí)現(xiàn)的延遲。要從 YUV 輸入生成 RGB 數(shù)據(jù),需要兩到三次乘法和三到四次加法。雖然FPGA邏輯元件(門)只產(chǎn)生幾納秒的延遲,但載波、加法器和乘法器移位輸入的傳播會(huì)導(dǎo)致廣泛的延遲和延遲擴(kuò)展。為了最小化延遲,每個(gè)常數(shù)乘法器由兩個(gè)移位輸入的加法器近似,代表常數(shù)的 2 個(gè)非零最高有效位 (MSB)。在大約100MHz的輸入YUV字節(jié)速率下,延遲擴(kuò)展可能會(huì)跨越相鄰像素的時(shí)序邊界,從而導(dǎo)致視頻噪聲。在每個(gè)乘法器之后放置中間寄存器以消除延遲擴(kuò)展。
前面提到的YUV到RGB色彩空間轉(zhuǎn)換已經(jīng)在Actel? ProASIC3 A3PN125Z FPGA器件中實(shí)現(xiàn)。圖 7 顯示了該 FPGA 實(shí)現(xiàn)方案的示意圖。
更詳細(xì)的圖像。(PDF, 172kB) | 更詳細(xì)的圖像。(PDF, 180kB) |
圖7.YUV 至 RGB 轉(zhuǎn)換器的 FPGA 實(shí)現(xiàn)。
應(yīng)用電路
相機(jī)芯片可以由其供應(yīng)商在子PCB上提供。圖8顯示了相機(jī)子模塊的功能框圖。輸入為電源、PWR 和晶體時(shí)鐘 (XCLK)。輸出信號(hào)為并行數(shù)據(jù)位(D0.D9)、I2C總線(SDA、SCL)、視頻同步(HREF、VSYNC)和像素時(shí)鐘(PCLK)。
圖8.攝像頭模塊功能框圖。
圖9顯示了FPGA和串行器芯片的原理圖,以完成應(yīng)用電路。該電路通過由兩對(duì)雙絞線組成的串行電纜供電,一對(duì)用于串行信號(hào),另一根用于電源。串行器和FPGA器件使用單獨(dú)的LDO電源IC。旁路電容器用于攝像頭模塊,該模塊具有自己的LDO電源芯片,以進(jìn)一步減少潛在的干擾。阻尼電阻用于FPGA和串行器器件之間的數(shù)據(jù)鏈路。
更詳細(xì)的圖像 (PDF, 1.6MB)
圖 9a. 應(yīng)用電路的 FPGA 部分。
更詳細(xì)的圖像 (PDF, 1.6MB)
圖 9b.應(yīng)用電路的串行器部分。
MAX9259還能夠直接連接到攝像頭傳感器,如OV10630,以構(gòu)建更小的攝像頭。色彩空間轉(zhuǎn)換FPGA可以在解串器之后使用。由于該應(yīng)用需要攝像頭鏈路輸出,可由MAX9268直接驅(qū)動(dòng),因此色彩空間轉(zhuǎn)換FPGA位于攝像頭傳感器和串行器(MAX9259)之間。
視頻捕獲示例
圖10顯示了相機(jī)應(yīng)用電路的實(shí)現(xiàn)方式,也是使用這些相機(jī)應(yīng)用電路捕獲的。
圖 10.相機(jī)應(yīng)用電路的實(shí)現(xiàn)。
總結(jié)和未來方向
本應(yīng)用筆記介紹了將Maxim相機(jī)串行器IC與FPGA結(jié)合使用的典型方法。應(yīng)用原理圖和FPGA代碼可作為原樣設(shè)計(jì)參考。RAW RGB至24位RGB FPGA轉(zhuǎn)換器的實(shí)現(xiàn)將在本應(yīng)用筆記的未來更新中提供。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2552文章
51382瀏覽量
755765 -
顯示器
+關(guān)注
關(guān)注
21文章
5009瀏覽量
140273 -
串行器
+關(guān)注
關(guān)注
0文章
116瀏覽量
14443
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論