0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA ISP Bayer與常見顏色空間轉(zhuǎn)換介紹

Comtech FPGA ? 來源:Comtech FPGA ? 2023-01-16 15:57 ? 次閱讀

前言

FPGA實現(xiàn)ISP(Image Signal Processor)過程中,在圖像接收、處理、傳輸過程中往往會接觸到各種各樣的圖像格式,比如接收圖像可能是原始RAW數(shù)據(jù),驅(qū)動LCD顯示器需要RGB格式,HDMI/SDI顯示需要YUV格式等。各種圖像格式之間可能涉及到相互轉(zhuǎn)換,本文簡單介紹幾種常見的圖像格式以及Xilinx FPGA實現(xiàn)方式。

Bayer圖像

ISP通常是從接收到CMOS/CCD的圖像信號開始,對于彩色圖像傳感器,輸出圖像格式可能是RGB、YUV或Bayer。為了降低成本,絕大部分的彩色圖像傳感器采用彩色濾鏡陣列(color filter array,CFA)的方式捕獲彩色圖像,因此輸出Bayer格式的Sensor最為常見。 典型Bayer圖像的成像過程如下圖所示。

c925c960-9571-11ed-bfe3-dac502259ad0.png

圖2-1CFA示意圖(圖片來自wikipedia)

隨著技術(shù)的發(fā)展,也有一些其他濾鏡的Sensor出現(xiàn),如RGBW、EXR、X-Trans等,如下圖所示。

c93900ca-9571-11ed-bfe3-dac502259ad0.png

圖2-2RGBW、Fujifilm “EXR”、“X-Trans”示意圖(圖片來自wikipedia)

通過上圖可以發(fā)現(xiàn),這些濾鏡中,綠色的分量最多。這是因為人眼對綠色最為敏感,所以保留最多的綠色分量。

Demosaic

Bayer圖像采集到FPGA以后,每個像素只有一種顏色分量。以Sony IMX290為例,輸出圖像的bayer格式如下圖所示:

ca6a2d02-9571-11ed-bfe3-dac502259ad0.png

圖3-1SonyIMX290 Pixel Arrangement

此時,如果將采集到的1920x1080圖像以灰度展示,由于CFA的原因,圖像會呈現(xiàn)一種馬賽克現(xiàn)象,如下圖所示:

ca8524ae-9571-11ed-bfe3-dac502259ad0.png

圖3-2Bayerimage

所以將Bayer轉(zhuǎn)成RGB的過程又稱為Demosaic(去馬賽克)。 每一個像素僅包含光譜的一部分,需要通過插值來填充每個像素的RGB分值。為了從Bayer格式得到每個像素的RGB格式,需要通過插值對每個像素填補缺失的兩個顏色分量。插值的方法有很多(包括近鄰、雙線性等)。 插值后可以得到RGB圖像:

caaf760a-9571-11ed-bfe3-dac502259ad0.png

圖3-3Bayerto RGB

需要注意的是,Bayer圖像根據(jù)第一個像素的顏色分量有4種排列方式,分別為GRBG、RGGB、BGGR、GBRG:

cc2ecc60-9571-11ed-bfe3-dac502259ad0.png

圖2-4Bayer4種排列方式

如果輸入Bayer的排列與IP core配置中插值的排列方式不同,則圖像顏色會錯亂。

cc4f7690-9571-11ed-bfe3-dac502259ad0.png

圖3-5Bayer排列方式與Demosaic配置不一致

RGB/YUV顏色空間轉(zhuǎn)換

YUV是一種顏色模型。它對彩色圖像或視頻進行編碼時考慮到了人類的感知,與 "直接 "的RGB表示相比,允許減少色度成分的帶寬。YUV模型定義了一個亮度分量(Y),代表物理線性空間的亮度,以及兩個色度分量,分別稱為U和V。它可以用來與RGB或其他色域空間進行相互轉(zhuǎn)換。 同樣常見的還有YCbCr,但是在實際中,往往是把YUV和YCbCr認為是同一種色域,只有模擬和數(shù)字的區(qū)別。我們一般也統(tǒng)稱為YUV。

由于YUV色域相比于RGB帶寬更低,所以經(jīng)常見于圖像接口,如BT656、BT1120、HDMI等。也由于YUV亮度與色度分開的特性,許多圖像增強算法也基于YUV來設(shè)計,如3D降噪、邊沿增強等。 YUV于RGB顏色空間的轉(zhuǎn)換可由公式表現(xiàn),不同的標(biāo)準(zhǔn)如ITU601.SDTV、ITU709.PAL/NTSC參數(shù)略有不同。

cc8bee0e-9571-11ed-bfe3-dac502259ad0.png

圖4-1BT.601標(biāo)準(zhǔn)

ccaa6384-9571-11ed-bfe3-dac502259ad0.png

圖4-2BT.709標(biāo)準(zhǔn)

根據(jù)以上公式,可以由RGB圖像得到Y(jié)UV,此時YUV有三個通道,圖像大小相比于RGB沒有變化,我們通常稱之為YUV444。

ccc76042-9571-11ed-bfe3-dac502259ad0.png

圖4-3RGBto YUV444

由于人眼對亮度敏感而對色度不敏感的特點,因此在YUV格式中減少了UV的數(shù)據(jù)量,在不影響用戶觀看的情況下有效的壓縮了總體的數(shù)據(jù)量。所以YUV與RGB格式相比,占用更少的存儲空間,相對應(yīng)的在傳輸過程中也會減少帶寬的消耗量。常見的YUV格式有YUV444、YUV422、YUV420等。

ccf2f87e-9571-11ed-bfe3-dac502259ad0.png

圖4-4Chromasubsampling示意圖(圖片來自wikipedia)

延伸

在RGB轉(zhuǎn)YUV的過程中,我們通常可以加一個系數(shù),作為比例因子放大和縮小UV的分量,達到調(diào)節(jié)圖像飽和度的目的。以8bit圖像深度為例,比例因子為r,公式如下:

Cb=U*r+128;

Cr= V*r+128;

調(diào)整比例因子r,能得到不同色彩飽和度的圖像。

cd02cdd0-9571-11ed-bfe3-dac502259ad0.png

圖5-1 飽和度設(shè)置效果

RGB/YUV的顏色空間轉(zhuǎn)換并非完全無損。FPGA運算精度有限,多次轉(zhuǎn)換可能導(dǎo)致顏色失真,尤其是當(dāng)轉(zhuǎn)入轉(zhuǎn)出標(biāo)準(zhǔn)不同時,會引入累積誤差。 比如網(wǎng)絡(luò)上流傳的有趣的表情包、梗圖,在傳來傳去的過程中,網(wǎng)絡(luò)平臺可能會反復(fù)壓縮、解壓,而顯示基于RGB,壓縮基于YUV,所以對圖片不斷地進行RGB/YUV轉(zhuǎn)換。雖然每次轉(zhuǎn)換損失輕微,但久而久之,在不斷取整的過程中,Y、U、V三個值就會不斷減小,Y讓圖像越來越暗,UV讓圖像越來越向綠偏移。

cd44cc30-9571-11ed-bfe3-dac502259ad0.png

圖5-2模擬“電子包漿”

AMD-Xilinx FPGA實現(xiàn)

對于Demosaic,Xilinx提供IPcore供用戶調(diào)用,用戶可根據(jù)應(yīng)用場景以及資源開銷選擇對應(yīng)的插值方式,F(xiàn)ringe TolerantInterpolation或者HighResolution Interpolation,支持RGB bayer和CMY bayer兩種格式。詳細說明參考Xilinx官網(wǎng)PG286。 IP接口如下圖所示:

cd65861e-9571-11ed-bfe3-dac502259ad0.png

圖6-1XilinxDemosaic IP core

對于RGB與YUV的顏色空間轉(zhuǎn)換或YUV444/YUV422/YUV420之間的轉(zhuǎn)換,Xilinx也提供了IP core供用戶調(diào)用。詳細說明參考Xilinx官網(wǎng)PG231。

IP接口以及配置方式如下圖所示:

cd829dee-9571-11ed-bfe3-dac502259ad0.png

cda56266-9571-11ed-bfe3-dac502259ad0.png

圖6-2XilinxVPSS IP core

Xilinx提供的VPSS(Video Processing Subsystem),可以很方便地對RGB、YUV444、YUV422、YUV420進行互轉(zhuǎn)。RGB與YUV的互轉(zhuǎn)公式如下:

YUV to RGB:

B = Y + ((Cb * 2081)>> 10)

Cr = V -(1<<(HSC_BITS_PER_COMPONENT-1))

Cb = U -(1<<(HSC_BITS_PER_COMPONENT-1))

R = Y + ((Cr *1733) >> 10)

G = Y - ((Cb * 404+ Cr * 595) >> 10)

RGB to YUV:

V =(1<<(HSC_BITS_PER_COMPONENT-1)) + (((R-Y)*898)>>10)

Y = (306*R + 601*G+ 117*B)>>10

U =(1<<(HSC_BITS_PER_COMPONENT-1)) + (((B-Y)*504)>>10)

其中HSC_BITS_PER_COMPONENT = C_MAX_DATA_WIDTH (這里C_MAX_DATA_WIDTH可以由用戶通過GUI設(shè)置。)

綜上,使用這兩個IP即可基于Xilinx FPGA快速實現(xiàn)Bayer與常見顏色空間轉(zhuǎn)換。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601238
  • LCD顯示器
    +關(guān)注

    關(guān)注

    0

    文章

    87

    瀏覽量

    20146
  • ISP
    ISP
    +關(guān)注

    關(guān)注

    6

    文章

    474

    瀏覽量

    51671
  • RAW
    RAW
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    3785

原文標(biāo)題:FPGA ISP Bayer與常見顏色空間轉(zhuǎn)換

文章出處:【微信號:Comtech FPGA,微信公眾號:Comtech FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于CPLD/FPGA視頻顏色空間轉(zhuǎn)換電路的設(shè)計

    基于CPLD/FPGA視頻顏色空間轉(zhuǎn)換電路的設(shè)計
    發(fā)表于 05-02 12:21

    ISP處理流程及應(yīng)用場景

    )、Bayer 噪聲去除、 白平衡( awb) 矯正、 色彩矯正( color correction) 、 gamma 矯正、 色彩空間轉(zhuǎn)換( RGB 轉(zhuǎn)換為 YUV) 、 在 YUV
    發(fā)表于 09-25 15:11

    基于FPGA的rgb與yuv顏色空間轉(zhuǎn)換

    `基于FPGA的rgbtoyuv顏色空間轉(zhuǎn)換一、概述 一般來說,攝像頭輸出的格式有RGB、YUV(Ycbcr)RAW圖像格式,大部分圖像算法都是基于灰度圖像的,因此在輸出格式為rgb時
    發(fā)表于 03-03 17:59

    YCbCr色彩空間和RGB色彩空間之間的轉(zhuǎn)換方法介紹

    摘要:文章介紹了YCbCr色彩空間和RGB色彩空間之間的轉(zhuǎn)換的方法,實現(xiàn)了不同規(guī)模以及不同數(shù)據(jù)結(jié)構(gòu)的YCbCr到RGB的快速硬件轉(zhuǎn)換。采用數(shù)
    發(fā)表于 07-01 06:41

    基于FPGA視頻處理系統(tǒng)的顏色空間轉(zhuǎn)換

    針對目前視頻處理系統(tǒng)中應(yīng)用比較廣泛的YCbCr 4:2:0格式的數(shù)據(jù),提出了一種在硬件上實現(xiàn)顏色空間轉(zhuǎn)換的設(shè)計,解決了色度信號的插值操作和插值后數(shù)據(jù)流的重組問題,并在FPGA上采用Ve
    發(fā)表于 07-28 17:23 ?38次下載

    常見顏色模式HSB/RGB/CMYK詳細介紹

    常見顏色模式HSB/RGB/CMYK詳細介紹 顏色模式?jīng)Q定了用于顯示和打印圖像的顏色模型,它決定了如何描述和重現(xiàn)圖像的色彩。
    發(fā)表于 02-23 13:45 ?5692次閱讀

    基于FPGABayer到RGB圖像格式轉(zhuǎn)換設(shè)計

    基于FPGABayer到RGB圖像格式轉(zhuǎn)換設(shè)計
    發(fā)表于 08-29 16:05 ?35次下載

    圖像處理的顏色空間及其OpenCV實現(xiàn)

    對圖像的顏色空間做了一個概念性的介紹,并通過代碼的方式可視化了每種顏色空間的每個通道所表示的意義。 ? 文章內(nèi)容包括: 什么是
    的頭像 發(fā)表于 12-25 11:36 ?1646次閱讀

    圖像的顏色空間及其OpenCV實現(xiàn)

    對圖像的顏色空間做了一個概念性的介紹,并通過代碼的方式可視化了每種顏色空間的每個通道所表示的意義。 ? 文章內(nèi)容包括: 什么是
    的頭像 發(fā)表于 12-26 11:33 ?1992次閱讀
    圖像的<b class='flag-5'>顏色</b><b class='flag-5'>空間</b>及其OpenCV實現(xiàn)

    如何使用FPGA實現(xiàn)Bayer到RGB圖像格式轉(zhuǎn)換的設(shè)計

    利用FPGA處理數(shù)據(jù)量大、處理速度快,結(jié)合CMOS圖像傳感器MT9M001和BayerCFA格式圖像的特點,設(shè)計一種基于FPGA的圖像數(shù)據(jù)轉(zhuǎn)換處理系統(tǒng),提出用硬件實現(xiàn)Bayer格式到R
    發(fā)表于 01-25 16:04 ?6次下載
    如何使用<b class='flag-5'>FPGA</b>實現(xiàn)<b class='flag-5'>Bayer</b>到RGB圖像格式<b class='flag-5'>轉(zhuǎn)換</b>的設(shè)計

    基于彩色MT9V034攝像頭 Bayer轉(zhuǎn)RGB FPGA實現(xiàn)

    1 圖像bayer格式介紹 bayer格式是伊士曼·柯達公司科學(xué)家Bryce Bayer發(fā)明的,Bryce Bayer所發(fā)明的拜耳陣列被廣泛
    的頭像 發(fā)表于 06-12 17:12 ?3688次閱讀
    基于彩色MT9V034攝像頭 <b class='flag-5'>Bayer</b>轉(zhuǎn)RGB <b class='flag-5'>FPGA</b>實現(xiàn)

    圖像Bayer格式介紹及差值原理

    Bayer俗稱為“拜耳陣列”,是實現(xiàn) CCD 或 CMOS?傳感器拍攝彩色圖像的主要技術(shù)之一,是伊士曼·柯達公司科學(xué)家Bryce Bayer發(fā)明的,并于1976年注冊專利,是工業(yè)相機領(lǐng)域中最為常見的彩色成像格式。
    的頭像 發(fā)表于 05-29 12:05 ?8390次閱讀
    圖像<b class='flag-5'>Bayer</b>格式<b class='flag-5'>介紹</b>及差值原理

    IP庫新增多種顏色轉(zhuǎn)換空間IP簡介

    顏色空間轉(zhuǎn)換是圖像及視頻中常用的解決方案,涉及hsv-rgb、rgb-ycrcb等一些常見顏色空間
    的頭像 發(fā)表于 07-17 08:48 ?1435次閱讀
    IP庫新增多種<b class='flag-5'>顏色</b><b class='flag-5'>轉(zhuǎn)換</b><b class='flag-5'>空間</b>IP簡介

    isp圖像信號處理算法概述:工作原理、架構(gòu)、處理流程

    插值 (demosaic)、Bayer 噪聲去除、 白平衡(AWB) 矯正、 色彩矯正(color correction)、gamma 矯正、色彩空間轉(zhuǎn)換(RGB 轉(zhuǎn)換為 YUV)、在
    發(fā)表于 08-02 11:43 ?1210次閱讀
    <b class='flag-5'>isp</b>圖像信號處理算法概述:工作原理、架構(gòu)、處理流程

    基于FPGABayer彩色自動白平衡設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于FPGABayer彩色自動白平衡設(shè)計.pdf》資料免費下載
    發(fā)表于 10-08 11:32 ?0次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>Bayer</b>彩色自動白平衡設(shè)計