《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 解決方案 > 高密度FIFO器件在視頻和圖像領(lǐng)域中的應(yīng)用

高密度FIFO器件在視頻和圖像領(lǐng)域中的應(yīng)用

2011-07-19
作者:Sivashankar M , Harsha Venkatesh
來(lái)源:賽普拉斯半導(dǎo)體
關(guān)鍵詞: PSoC FIFO FPGA 視頻 圖像 DDR2 SDRAM

     許多市場(chǎng)領(lǐng)域(包括視頻廣播,、軍事,、醫(yī)學(xué)影像、基站)都得益于使用高密度 FIFO 器件方案的使用,,其具有可編程的特點(diǎn),。并且比 SDRAM + FPGA 的體系結(jié)構(gòu)可以顯著節(jié)省成本和改進(jìn)視頻質(zhì)量,使用系統(tǒng)級(jí)編程,,可以使高密度 FIFO 設(shè)計(jì)更簡(jiǎn)單,,成本更低。在這篇文章中,,我們將首先介紹幾個(gè)視頻應(yīng)用,,了解其數(shù)據(jù)路徑及需要處理的數(shù)據(jù)性質(zhì)。下一步,,我們將盡力估計(jì)在視頻處理通道中操作數(shù)據(jù)的復(fù)雜性,。然后會(huì)介紹可編程高密度 FIFO和其能力,以及它如何能更有效率的替代當(dāng)前傳統(tǒng)的使用 SDRAM 和 FPGA 實(shí)現(xiàn)幀緩存的方案,。

視頻應(yīng)用概述:
    圖 1 顯示了 IPTV 的系統(tǒng)框圖,。輸入傳輸流可以是任何編碼形式如 DVB -ASI,MPEG2 或SDI,,他們通過(guò)用多格式解碼器(multi-format CODEC)傳輸,,轉(zhuǎn)換成(即解碼或重解碼)成H.264 傳輸流。經(jīng)編碼的傳輸流用通道信息封裝并通過(guò)以太網(wǎng)發(fā)送,。在接收路徑,,到來(lái)的傳輸流在顯示之前要進(jìn)行解碼和后處理,例如降噪,、顏色增強(qiáng),,縮放,去隔行等,。
 
    圖 2 顯示了一個(gè)用于電影制作和攝影棚的 HD(高清)專(zhuān)業(yè)相機(jī)的系統(tǒng)框圖,。捕獲到的圖像經(jīng)過(guò)一個(gè)圖像處理器,進(jìn)行色彩處理,、亮度提高,、數(shù)碼縮放、幀速率轉(zhuǎn)變等等。圖像處理單元通常使用一個(gè)基于 FPGA 的設(shè)計(jì),,由于大部分的圖像處理是專(zhuān)有的,,會(huì)經(jīng)常發(fā)生變化。應(yīng)用處理器管理與其它設(shè)備的通訊以及壓縮并存儲(chǔ)捕獲到的內(nèi)容到海量存儲(chǔ)(HDD),。應(yīng)用處理器也有一個(gè)圖形引擎來(lái)進(jìn)行屏幕顯示(OSD),,它和進(jìn)來(lái)的視頻混合后顯示。
從上述例子中,,我們可以看到數(shù)據(jù)處理包括兩種類(lèi)型:
1) 幀同步:
   在一些任務(wù)中需要幀同步(例如,,通過(guò)以太網(wǎng)傳輸和接收時(shí),當(dāng)碼流速度不斷變化而解碼器需要一個(gè)恒速的傳輸流),。雖然存儲(chǔ)器對(duì)同步的要求似乎很小,,但當(dāng)涉及到多個(gè)碼流時(shí)它可能很顯著。這種同步可以由一個(gè)異步 FIFO 實(shí)現(xiàn),。
2) 幀存儲(chǔ):
    幀存儲(chǔ)在這些地方需要:任何暫時(shí)的處理如幀率轉(zhuǎn)換,,數(shù)碼變焦(縮放),或執(zhí)行去隔行,。儲(chǔ)存的幀數(shù)量隨著需要的臨時(shí)信息數(shù)目增加而增加,。當(dāng)視頻數(shù)據(jù)按照本來(lái)的順序時(shí),幀緩存也必須是“先進(jìn)先出”,。
 
    通過(guò)上面的討論,,我們可以說(shuō),所有的儲(chǔ)存和同步都可以使用 FIFO 實(shí)現(xiàn),。那么理想的 FIFO應(yīng)該是多大的呢,?一個(gè)典型的 1080p 幀,10 位 4:2:2 格式將需要存儲(chǔ)器大小為 39.55M 位(每行像素?cái)?shù)*每幀行數(shù)*每像素比特?cái)?shù)=1920*1080*20),。預(yù)計(jì)總?cè)萘靠梢酝ㄟ^(guò)需要存儲(chǔ)的幀數(shù)乘以這個(gè)數(shù)字。典型的視頻處理算法需要存儲(chǔ) 2 到 3 幀,,這意味著總?cè)萘恳_(dá)到 120M 位,。由于不可能有如此大的基于片上 SRAM 的 FIFO 存儲(chǔ)器,一般的方法是使用一個(gè) DRAM 來(lái)緩存這個(gè)數(shù)據(jù),。

高密度FIFO -傳統(tǒng)的實(shí)施和及其復(fù)雜性,。
    幀緩存就是高密度 FIFO,傳統(tǒng)上使用外部 DDR SDRAM 實(shí)現(xiàn),。舉例說(shuō)明一個(gè)典型的視頻處理應(yīng)用和這些 FIFO 如何實(shí)現(xiàn),。
 
    圖3顯示了一個(gè)典型情況的數(shù)據(jù)路徑,有4種不同來(lái)源的視頻流需要顯示在同一個(gè)顯示器上,。四個(gè)以 1080p60(24 位 RGB)分辨率捕捉視頻的高清相機(jī)使用一個(gè) cameralink 接口連接到系統(tǒng)上,。色彩空間轉(zhuǎn)換  (從 RGB 到 YCbCr)及色度采樣降低(從 4:4:4 到 4:2:2)后,橫向和縱向幀按比例減少,并儲(chǔ)存在 DDR2 SDRAM 里,。存儲(chǔ)的幀可以按要求讀回和定位,,結(jié)果幀和融合幀然后提高采樣速度和色彩空間轉(zhuǎn)換為通過(guò) LVDS 連接來(lái)驅(qū)動(dòng)面板。
 
   讓我們看看存儲(chǔ)器大小和帶寬要求: 
 
 
(i)大小要求:
    盡管這里沒(méi)有涉及到時(shí)間處理,,為了避免一個(gè)源的兩幀被分開(kāi)儲(chǔ)存,,這樣當(dāng)一幀正在寫(xiě)時(shí),另一個(gè)幀可能要讀回來(lái),。兩幀圖像的大小是((1920 * 1080* 16)/ 4)* 2 ~ = 63.3M 位,。
(ii)帶寬要求
   由于讀和寫(xiě)路徑為復(fù)用的,所需帶寬是讀,、寫(xiě)路徑帶寬之和,。
 
   寫(xiě)路徑頻率=(每個(gè)客戶端頻率)*( 客戶端數(shù)量)=(148.5/4 )* 4 = 148.5MHz讀路徑頻率=輸出幀分辨率頻率= 148.5 MHz。
 
   實(shí)際的工作頻率為( (讀頻率+寫(xiě)頻率) / 2 +其它開(kāi)銷(xiāo)),,因?yàn)榻涌诠ぷ髟陔p數(shù)據(jù)速率,,并且還有一些其它開(kāi)銷(xiāo),如 DRAM 存儲(chǔ)器刷新周期,、bank 地址切換等等,。假設(shè)為 80% 的效率,那么將在 185MHz 的頻率運(yùn)行,。
(iii)內(nèi)存接口大小和 I / O 需求:
    當(dāng)畫(huà)面以 16 位 4:2:2 格式存儲(chǔ)時(shí),,一個(gè) 16 位接口就足夠了。根據(jù)計(jì)算,,F(xiàn)PGA的 I/O 總數(shù)的為 46:
   時(shí)鐘引腳(2 個(gè)用于差分時(shí)鐘,,1 個(gè)用于時(shí)鐘使能)= 3 引腳
   命令引腳(片選,RAS,, CAS,, WE)= 4 引腳
   地址引腳(14 個(gè)地址線、3 個(gè) bank 地址線)= 17 引腳
   數(shù)據(jù)線(X16 接口)= 16 引腳
   數(shù)據(jù)選通及分離(4 個(gè)引腳用于 2 微分 DQS,,2 個(gè)用于分離數(shù)據(jù))= 6 引腳   
 
高密度 FIFO -離散的存儲(chǔ)器: 
    現(xiàn)在讓我們看看使用離散可編程高密度 FIFO 的實(shí)現(xiàn)方式和特性定義,,這樣 DDR2 SDRAM存儲(chǔ)器就可以由簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)便可以由簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)代替。
(i)多隊(duì)列特點(diǎn):
    如果 FIFO 存儲(chǔ)器定義為一個(gè)單一塊的內(nèi)存,,那么寫(xiě)多個(gè)視頻流是不可能的,。因此,F(xiàn)IFO 必須能夠配置并分成多個(gè)隊(duì)列,。在上文的例子中,,有四種不同的畫(huà)面要寫(xiě),并且四個(gè)幀必須同時(shí)從不同的隊(duì)列同時(shí),。因此,,我們的應(yīng)用需要至少八個(gè)隊(duì)列,。
(ii)分離和重傳:
    有可能從一個(gè)標(biāo)準(zhǔn)的 FIFO 曾經(jīng)讀過(guò)的數(shù)據(jù)又從 FIFO 丟失了。FIFO 指針可以重新編程,,允許任何幀都可以根據(jù)需求多次讀出,。
 
     圖 4 顯示了賽普拉斯 CYFX072VXXX  HD-FIFO 的框圖。
 
 
 
    圖 5 給出了使用賽普拉斯 HDFIFO 替代 DDR2 芯片的應(yīng)用案例,。
    讓我們?cè)賮?lái)看看存儲(chǔ)器大小和帶寬要求: 
(i) 大小要求:
     存儲(chǔ)器大小和 DDR2 SDRAM 的相同,,為兩幀圖像的大小((1920 * 1080 * 16)/4)* 2 ~ = 63.3M 位。
 (ii)帶寬要求:
    由于讀和寫(xiě)路徑是分立的,,讀,、寫(xiě)的工作頻率可以不同。這相對(duì)于 DDR2 SDRAM 來(lái)說(shuō)有很大的優(yōu)勢(shì),。
    寫(xiě)路徑頻率=(每個(gè)客戶端頻率)*( 客戶端數(shù)量)=(148.5/4 )* 4 = 148.5MHz
    讀路徑頻率=輸出幀分辨率頻率= 148.5MHz,。
   實(shí)際的工作頻率對(duì)于讀和寫(xiě)來(lái)說(shuō)為單一的數(shù)據(jù)頻率 148.5MHz,這里沒(méi)有額外的開(kāi)銷(xiāo),,如 DRAM 存儲(chǔ)器刷新周期和 bank 地址切換,。
(iii)內(nèi)存接口大小和 I / O 需求:
     當(dāng)畫(huà)面以 16 位 4:2:2 格式存儲(chǔ)時(shí),一個(gè) 16 位接口就足夠了,。根據(jù)計(jì)算,,F(xiàn)PGA的 I/O 總數(shù)的為 48:
    時(shí)鐘引腳(1 個(gè)用于寫(xiě)時(shí)鐘,1 個(gè)用于讀時(shí)鐘)= 2 引腳
    命令引腳(寫(xiě)使能,,讀使能,,輸入使能,輸出使能,,3 個(gè)引腳用于選擇哪 8 個(gè)隊(duì)列寫(xiě),,3 個(gè)引腳用于選擇哪 8 個(gè)隊(duì)列讀,1 個(gè)引腳用于分離,,1 個(gè)引腳用于傳輸)= 12 引腳
    數(shù)據(jù)引腳(16 個(gè)引腳用于寫(xiě)數(shù)據(jù),,16 個(gè)引腳用于讀數(shù)據(jù))= 32 引腳
   標(biāo)志(1 個(gè)引腳用于空標(biāo)志,1 個(gè)引腳用于滿標(biāo)志)= 2 引腳
   
離散HD-FIFO相對(duì)于傳統(tǒng)實(shí)現(xiàn)的優(yōu)勢(shì):
結(jié)構(gòu)優(yōu)點(diǎn):
(i) 由于讀和寫(xiě)路徑是分開(kāi)的,,沒(méi)有其它操作開(kāi)銷(xiāo),,操作頻率可以降低一半以上,這些都是很顯著的優(yōu)勢(shì),。
(ii)由于使用的是 SDRAM 控制器,不需要仲裁機(jī)制,,F(xiàn)PGA 內(nèi)部邏輯變得更簡(jiǎn)單,。
(i) 信號(hào)開(kāi)關(guān)頻率降低一半以上,允許增加建立時(shí)間余量,,相對(duì)于 DDR2 來(lái)說(shuō)沒(méi)有嚴(yán)格的輸出同步要求,。
(iv) 設(shè)計(jì)里時(shí)鐘域的數(shù)量減少了,,因此降低了相關(guān)時(shí)序切換和交叉時(shí)鐘域的問(wèn)題。
電氣優(yōu)點(diǎn):
(i)減少了信號(hào)切換頻率,,從而減少了線路板上的開(kāi)關(guān)噪聲,。
(ii) HD‐FIFO 的 IO 邏輯可以是任何 LVCMOS 接口,相對(duì)于 DDR2 SDRAM 的 SSTL2 邏輯有更大的噪聲冗余,。
節(jié)省成本:
在高端 FPGA 的解決方案中使用 HD FIFO 可以節(jié)省 FPGA 資源,,具體如下:
(i) SDRAM 控制器,降低了所需的存儲(chǔ)器,,I/O,,和邏輯
 (ii)視頻處理功能,這些功能可以采用多隊(duì)列特征在 HD FIFO 上實(shí)現(xiàn),,如:
a. 視頻信號(hào)的隔行/去隔行
b. PIP 實(shí)施
c. 交叉信號(hào)處理
    使用高密度 FIFO 可以節(jié)省邏輯元件,,寄存器,內(nèi)存和 I / O,,可以幫助開(kāi)發(fā)人員把高
端 FPGA 換為更小的 FPGA,,從而可以節(jié)省 20 ~ 30%的成本。
 
    高密度 FIFO 基于 SRAM 技術(shù),,為客戶提供了高數(shù)據(jù)可靠性和低延遲性,。簡(jiǎn)單易用的總線接口可以減少實(shí)施和調(diào)試工作。高密度 FIFO 密度可以達(dá)到 144 Mb,,速度可以到 150 MHz,,具備 segment 特色,還有很多增值功能,,如多隊(duì)列和可選的存儲(chǔ)器架構(gòu),,可以幫助開(kāi)發(fā)人員設(shè)計(jì)更快、更有效率,,從而使其適應(yīng)廣泛的應(yīng)用,。它已經(jīng)是一個(gè)成熟的解決方案,可以加速推向市場(chǎng)的時(shí)間,,同時(shí)減少相關(guān)設(shè)計(jì)工作,。該器件還可提供很寬的擴(kuò)展選擇,可以適應(yīng)視頻廣播,,軍事,,醫(yī)學(xué)影像,基站(網(wǎng)絡(luò))設(shè)備,,滿足很多應(yīng)用,,如:
•普通高清格式幀緩存 (720p ,1080i ,,1080p): 存儲(chǔ)四個(gè) 1080p 分辨率的幀
•HDTV/SDTV 幀同步
•交換或格式轉(zhuǎn)換器盒子
•高端數(shù)碼攝像機(jī)
•軍事雷達(dá)中高密度緩存
•醫(yī)學(xué)成像
•基站‐‐3G,,4G 及網(wǎng)絡(luò)   
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]