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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 利用可配置處理器來創(chuàng)建多標(biāo)準(zhǔn)多分辨率視頻引擎

          利用可配置處理器來創(chuàng)建多標(biāo)準(zhǔn)多分辨率視頻引擎

          作者: 時(shí)間:2010-12-26 來源:網(wǎng)絡(luò) 收藏

           隨著消費(fèi)類電子產(chǎn)品,尤其是手機(jī)、PDA和便攜式媒體播放器(PMP)的急劇發(fā)展,其對(duì)于終端硅供應(yīng)商的要求也大大提高。對(duì)這些供應(yīng)商來說,設(shè)計(jì)僅僅能夠適用于一到兩個(gè)多媒體編解碼器或無線的IC已經(jīng)遠(yuǎn)遠(yuǎn)不夠了。消費(fèi)者希望他們的設(shè)備能夠播放各種采用不同的編碼和無線下載的媒體。因此,必須采取一個(gè)新的更具靈活性的途徑來更好地適配新的媒體標(biāo)準(zhǔn)。在本文中,我們主要談一談解碼器和編碼器所面對(duì)的挑戰(zhàn)和機(jī)遇。

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

            基于RTL的傳統(tǒng)設(shè)計(jì)方法

            上一代ASIC設(shè)計(jì)的目的是為了解碼和編碼MPEG-2,因?yàn)檫@是DVD所使用的標(biāo)準(zhǔn)。其中也有些支持MPEG-1,可以播放VCD。大多數(shù)情況下,這種單個(gè)應(yīng)用的邏輯實(shí)現(xiàn)策略就是:RTL(寄存器轉(zhuǎn)換層,寄存器轉(zhuǎn)換邏輯)來設(shè)計(jì)定制化MPEG-2解碼器和編碼器。下圖1是一個(gè)典型的MPEG-2視頻ASIC結(jié)構(gòu),展示了由視頻子系統(tǒng)、主控制器和片上存儲(chǔ)器組成的RTL功能塊。

            圖1:典型的MPEG-2視頻ASIC結(jié)構(gòu)

            隨著市場(chǎng)形勢(shì)的改變,現(xiàn)在的視頻ASIC必須能夠支持多種視頻標(biāo)準(zhǔn),并具有多個(gè)。由于下列原因,傳統(tǒng)的RTL方法已經(jīng)不再有效:

            ·隨著標(biāo)準(zhǔn)數(shù)量的增加,RTL功能塊的數(shù)量和復(fù)雜性也增加;

            ·無論是執(zhí)行一個(gè)新的視頻標(biāo)準(zhǔn),還是升級(jí)現(xiàn)有的已執(zhí)行的標(biāo)準(zhǔn),或者修改bug,都需要進(jìn)行硅芯片重制;

            ·在第一代硅執(zhí)行之后的這4-5年內(nèi),視頻編解碼器,尤其是編碼器在性能上(比特率、性能)有很大的改進(jìn)。要執(zhí)行這些改進(jìn)的成果,也必須在所有的RTL方法中進(jìn)行硅芯片重制。

            在視頻中使用,而不是固定的RTL

            那么,有沒有其它辦法呢?使用一個(gè)可編程是最佳方案,因?yàn)樗梢越鉀Q上面提到的所有問題:(1)和編解碼器之間很容易建立連接端口;(不論是采用新的視頻標(biāo)準(zhǔn),還是升級(jí)現(xiàn)有的編解碼器或者修改bug,都可以很容易地在軟件中進(jìn)行);(3)通過軟件升級(jí),可以很容易地應(yīng)用視頻編解碼器執(zhí)行中的改進(jìn)。

            但是,由于其性能瓶頸,傳統(tǒng)的處理器只能用于一般的編碼,而不能用于視頻引擎。嵌入式DSP也不是專為視頻而設(shè)計(jì)的,但擁有通用DSP應(yīng)用所需的硬件功能單元、指令和接口。因此,要在傳統(tǒng)的RISC和DSP處理器上執(zhí)行視頻編解碼,就意味著這些處理器必須以非常高的速度運(yùn)行(MHz),而且還需要大量內(nèi)存并消耗大量功率,但是在便攜式設(shè)備中,這顯然是行不通的。

            只要我們對(duì)某個(gè)視頻內(nèi)核中所需的計(jì)算次數(shù)作一個(gè)簡單分析,就很容易得出這一點(diǎn)。絕對(duì)誤差和是大多數(shù)視頻解碼運(yùn)算的動(dòng)作估計(jì)中所進(jìn)行的一個(gè)重要計(jì)算步驟。SAD運(yùn)算的目的在于發(fā)現(xiàn)兩個(gè)連續(xù)視頻幀之間的宏模塊的運(yùn)動(dòng)。它是通過計(jì)算這兩個(gè)宏模塊中每套相應(yīng)的象素值之間的絕對(duì)誤差之和來實(shí)現(xiàn)這一目的的。

            下面的C代碼展示了SAD運(yùn)算的一次簡單執(zhí)行:

            圖2展示了SAD運(yùn)算中的基本計(jì)算步驟。如圖所示,其中主要進(jìn)行的計(jì)算有減、算絕對(duì)值和結(jié)果累計(jì)。

            圖2:絕對(duì)誤差和(SAD)內(nèi)核中進(jìn)行的主要計(jì)算

            計(jì)算一個(gè)RISC上的兩個(gè)16x16宏模塊的SAD需要進(jìn)行256次減法、256次求絕對(duì)值和256次相加DD總共進(jìn)行了768次計(jì)算,還不包括傳輸數(shù)據(jù)所需的負(fù)載與內(nèi)存。由于每一幀當(dāng)中所有的宏模塊都必須進(jìn)行這一運(yùn)算,很顯然這在計(jì)算上成本是很昂貴的,而且會(huì)隨著視頻幀的增加而越來越難。

            實(shí)際上,在一個(gè)帶有一些如相乘和乘法累加等指令的中等范圍通用型RISC處理器上,如果要以CIF的進(jìn)行H。26?Baseline解碼,需要250MHz的速率,而如果進(jìn)行H。26?Baseline編碼,所需速率更是超過1GHz。這意味著光是處理器內(nèi)核就要消耗將近500mW的功率,更不用提內(nèi)存和視頻片上系統(tǒng)中其它部分消耗的功率了。很顯然這種處理器不能作為嵌入式多媒體處理器用于便攜式設(shè)備中。


          上一頁 1 2 3 下一頁

          評(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); })();