<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高清圖像處理方法介紹

          基于FPGA的高清圖像處理方法介紹

          作者: 時(shí)間:2012-09-16 來(lái)源:網(wǎng)絡(luò) 收藏

          從模擬廣播向數(shù)字廣播的轉(zhuǎn)變?yōu)闃I(yè)界提供了令人振奮的新服務(wù)和掙錢(qián)機(jī)會(huì),而OEM廠商之間為生產(chǎn)更有價(jià)格吸引力的系統(tǒng)而進(jìn)行的競(jìng)爭(zhēng)也非常激烈。然而,正如許多其它技術(shù)轉(zhuǎn)變時(shí)所面臨的情況一樣,各個(gè)企業(yè)為競(jìng)爭(zhēng)市場(chǎng)領(lǐng)導(dǎo)地位提出了許多新的建議標(biāo)準(zhǔn)。無(wú)論標(biāo)準(zhǔn)團(tuán)體如何努力保證互操作性和公平競(jìng)爭(zhēng),第一個(gè)成功上市的產(chǎn)品都很可能會(huì)變成事實(shí)上的標(biāo)準(zhǔn)。即使是標(biāo)準(zhǔn)團(tuán)體成功發(fā)布的國(guó)際上得到承認(rèn)的標(biāo)準(zhǔn),經(jīng)常也會(huì)由于試圖滿足眾多成員公司的需要而存在許多不同的版本。除此之外,不可避免地會(huì)對(duì)標(biāo)準(zhǔn)進(jìn)行許多修正,如在早期階段的現(xiàn)場(chǎng)測(cè)試反饋之后,或在后期階段有新的算法或增強(qiáng)提出來(lái)時(shí)。因此很容易發(fā)現(xiàn)為什么一個(gè)完全可重新編程的解決方案是如此有吸引力。

          本文引用地址:http://www.ex-cimer.com/article/148385.htm


          “Table 3”是在業(yè)界等到公認(rèn)的美國(guó)高級(jí)電信標(biāo)準(zhǔn)協(xié)議(STSC)定義的廣播格式一覽表。正如表中所看到的那樣,設(shè)備制造商可進(jìn)行眾多的選擇-高分辨率(HD)還是標(biāo)準(zhǔn)分辨率(SD),16:9還是4:3,逐行還是隔行掃描等。雖然也有ASSP(特定應(yīng)用標(biāo)準(zhǔn)產(chǎn)品),但經(jīng)常是每種標(biāo)準(zhǔn)需要不同的芯片。解決方案可容易地支持超過(guò)HDTV要求的數(shù)據(jù)傳輸速率,這意味著一個(gè)器件可以支持所有這些格式,只需要根據(jù)設(shè)備的需要進(jìn)行重新編程就可以了。這可減少企業(yè)的用料清單項(xiàng)目,同時(shí)還排除了ASSP供應(yīng)商可能存在的供貨風(fēng)險(xiǎn)。

          需要進(jìn)行標(biāo)準(zhǔn)選擇的另一個(gè)例子是色彩空間變換。圖像從照相機(jī)采集進(jìn)來(lái)以后就利用壓縮算法對(duì)其進(jìn)行處理,再通過(guò)后期制作直到在電視機(jī)顯示出來(lái)的過(guò)程中也是如此。壓縮算法利用了這樣的事實(shí),即不必傳輸一幅圖像的所有色彩信息就可得到滿意的效果。以RGB(紅、綠、藍(lán))格式進(jìn)行是可行的。在RGB格式中,每一像素以對(duì)應(yīng)每一原色的三個(gè)8或10位字來(lái)定義。但由于人眼對(duì)光線頻譜中某些部分比其它部分反應(yīng)要小,因此可以利用亮度或(Y)以及色差信號(hào)(如CrCb)來(lái)表示圖像。這樣做的好處是需要較小的存儲(chǔ)和數(shù)據(jù)帶寬。因此需要一種機(jī)制來(lái)進(jìn)行不同色彩格式間的轉(zhuǎn)換,這也稱為色彩空間變換。一旦知道從一個(gè)色彩空間向另一個(gè)色彩空間映射的系數(shù),用硬件實(shí)現(xiàn)這些電路就非常簡(jiǎn)單。

          例如,在數(shù)字電視系統(tǒng)中,YerCb色彩空間可按下式轉(zhuǎn)換至RGB色彩空間:

          R' = 1.164 (Y-16) + 1.596(Cr -128)

          G' = 1.164 (Y-16) - 0.813 (Cr -128) - 0.392(Cb-128)

          B' = 1.164 (Y-16) + 1.596 (Cr-128)

          其中R'G'B'是伽馬(Gamma)校正RGB數(shù)值。由于CRT顯示器中,接收到的控制信號(hào)幅度和輸出強(qiáng)度間是非線性關(guān)系。顯示器前的伽馬校正信號(hào)可使接收信號(hào)幅度和輸出強(qiáng)度的關(guān)系線性化。輸出增益也限制在一定的閾值,從而降低圖像暗部由于傳輸引入的噪聲。有多種可能的實(shí)現(xiàn),可利用存儲(chǔ)器、邏輯或嵌入式乘法器在中實(shí)現(xiàn)所需的乘法功能。

          當(dāng)需要在大量色彩空間之間進(jìn)行轉(zhuǎn)換選擇時(shí),采用可編程色彩空間變換器的優(yōu)點(diǎn)非常明顯。正如此處所示的YCrCb 與RGB變換一樣,YUV以及YPrPb 采用與此類似的算法,只是系數(shù)有所不同。雖然有標(biāo)準(zhǔn)的色彩空間,但不同設(shè)備間的要求有許多不同的地方。高分辨率圖片甚至采用與標(biāo)準(zhǔn)定義不同的色彩空間,但具有可編程的變換系數(shù)的設(shè)備可以容易地支持任何輸入分辨率。同時(shí)如果需要的話,多通道色彩空間變換支持也可以做到,而如果不采用可編程邏輯的話,這通常需要多塊ASSP。當(dāng)然,利用器件,系統(tǒng)架構(gòu)還可根據(jù)應(yīng)用調(diào)整相應(yīng)的算法,從而使性能、效率或兩者同時(shí)實(shí)現(xiàn)最大化。

          FPGA經(jīng)常被大型數(shù)據(jù)和電信企業(yè)廣泛用作網(wǎng)絡(luò)接口設(shè)備??删幊碳軜?gòu)非常適合協(xié)議管理和數(shù)據(jù)流格式處理,而FPGA提供的高速差分I/O如LVDS,使FPGA可以非??斓乃俣认蚱献x入和向片外輸出數(shù)據(jù)。FPGA還可用于局域環(huán)境,如家庭網(wǎng)絡(luò)。歐洲D(zhuǎn)VB(數(shù)字電視廣播)聯(lián)盟最近采用IEEE1394高速串行總線作為數(shù)字電視產(chǎn)品的標(biāo)準(zhǔn)連接方式。無(wú)線標(biāo)準(zhǔn),如IEEE802.11 和 HiperLAN2也被提議作為擁有多臺(tái)電視的家庭網(wǎng)絡(luò)的連接方案。

          隨著世界許多地區(qū)高分辨率廣播的出現(xiàn),視頻信號(hào)處理要求極大地提高了。例如,采用1920×1080分辨率、24位像素和每秒30幀逐行掃描的高分辨率電視機(jī)將需要約1.5Gbps的總的未壓縮帶寬。即使在還沒(méi)有實(shí)際進(jìn)行高分辨率圖像廣播的地區(qū),在直到后期制作的所有階段中,采用的也是高分辨率圖像。

          現(xiàn)在最新的可編程邏輯器件具有多個(gè)可支持此類數(shù)據(jù)速率的LVDS(低壓差分信號(hào))I/O,即使在針對(duì)消費(fèi)市場(chǎng)的低成本器件中也有這樣的I/O支持。這意味著未壓縮的視頻數(shù)據(jù)可輸入和輸出器件并進(jìn)行實(shí)時(shí)處理。HDTV速率一級(jí)的實(shí)時(shí)視頻處理允許設(shè)計(jì)人員減少需要的外部存儲(chǔ)器數(shù)量。目前,由于在設(shè)計(jì)中視頻信號(hào)處理器部分成為瓶頸,因此現(xiàn)有的數(shù)字電視系統(tǒng)中經(jīng)常采用多個(gè)幀存儲(chǔ)和數(shù)據(jù)緩沖器。利用FGPA的并行信號(hào)處理能力意味著更小的,甚至單幀存儲(chǔ)即可,而數(shù)據(jù)緩沖器則可完全省掉。標(biāo)準(zhǔn)DSP在性能方面的局限導(dǎo)致不得不開(kāi)發(fā)更為專用的芯片,如媒體處理器,來(lái)克服這些問(wèn)題。然而,事實(shí)證明這些器件除了在范圍極窄的一些應(yīng)用中,都有太不靈活的缺點(diǎn),同時(shí)還有性能瓶頸存在。而FPGA器件則可以通過(guò)定制,在利用率和性能方面提供最大的效率。設(shè)計(jì)人員還可以在設(shè)計(jì)面積和速度之間進(jìn)行折衷,并且可以比DSP低得多的時(shí)鐘速率完成給定的功能。

          如前所述,F(xiàn)PGA過(guò)去僅用于專業(yè)的廣播系統(tǒng)中,但摩爾定律意味著他們正逐漸應(yīng)用于大批量消費(fèi)產(chǎn)品中。以數(shù)字電視為例,其中機(jī)頂盒功能完全集成到電視中,因此數(shù)字電視可接收數(shù)字廣播。通常這都是通過(guò)標(biāo)準(zhǔn)天線接收免費(fèi)的無(wú)線信號(hào),但未來(lái)的產(chǎn)品將允許接收來(lái)自有線電纜、衛(wèi)星或DSL線路傳輸?shù)男盘?hào)。FPGA可應(yīng)用于數(shù)字電視機(jī)內(nèi)的許多部分,如圖1所示。做為標(biāo)準(zhǔn)芯片組間的“聯(lián)結(jié)邏輯(glue logic)”一起是FPGA的強(qiáng)項(xiàng),但許多任務(wù)(如色彩空間變換)以及網(wǎng)絡(luò)接口(如IEEE 1394)現(xiàn)在也可在低成本可編程邏輯器件內(nèi)實(shí)現(xiàn)。

          這一將
          任務(wù)用FPGA完成的趨勢(shì)有一個(gè)重要驅(qū)動(dòng)力:來(lái)自業(yè)界所稱的“數(shù)字融合”。目前產(chǎn)生了這樣一些需求,即通過(guò)極為有限的傳輸信道(如無(wú)線)發(fā)送大帶寬的視頻數(shù)據(jù),同時(shí)還要保持可接受的服務(wù)質(zhì)量(QoS)。這導(dǎo)致對(duì)如何改善錯(cuò)誤校正算法、壓縮和圖像處理技術(shù)進(jìn)行范圍更為廣泛的研究,而其中相當(dāng)一部分工作是圍繞利用FPGA器件進(jìn)行的。

          采用
          FPGA,設(shè)計(jì)人員可以使自己的標(biāo)準(zhǔn)兼容的系統(tǒng)與競(jìng)爭(zhēng)對(duì)手的產(chǎn)品保持差異化。以MPEG-2壓縮方案為例,可以將MPEG處理器負(fù)責(zé)的MPEG標(biāo)準(zhǔn)算法中的DCT(離散余弦變換)部分卸載至FPGA器件中進(jìn)行處理,從而增加帶寬。DCT及其反變換可利用FPGA高效地實(shí)現(xiàn),而且已經(jīng)有經(jīng)過(guò)優(yōu)化的IP核可直接應(yīng)用到MPEG的設(shè)計(jì)之中。但MPEG編碼方案中還有許多未定義的模塊(如運(yùn)動(dòng)預(yù)測(cè))。通過(guò)在FPGA結(jié)構(gòu)中集成用于這些模塊的專有技術(shù)和標(biāo)準(zhǔn)的象DCT這樣的功能,就可以創(chuàng)造出可提高處理帶寬并達(dá)到更高圖像質(zhì)量的低成本的單片解決方案。通過(guò)避免系統(tǒng)僅依賴于標(biāo)準(zhǔn)ASSP解決方案,企業(yè)就不再會(huì)有被市場(chǎng)認(rèn)為僅能提供有限的幾種類似解決方案的危險(xiǎn)。

          FPGA還可使您的產(chǎn)品更快地推向市場(chǎng),并可在現(xiàn)場(chǎng)安裝后保持為您產(chǎn)生更多營(yíng)收的能力。多數(shù)FPGA都SRAM技術(shù),從而在開(kāi)發(fā)的各個(gè)階段都可以容易地對(duì)器件進(jìn)行重新編程。這使系統(tǒng)的調(diào)試更為簡(jiǎn)單,而且還意味著如果需要的話,微小的改變也可容易地整合到產(chǎn)品中去。這有可能會(huì)由于客戶要求的改變,也由可能是由于標(biāo)準(zhǔn)的新版本或修正。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();