999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Tilera平臺的AVS視頻編碼器的研究與實現

2016-12-31 19:41:14許昌滿1陳兆龍21上海應用技術學院巢湖學院
數碼世界 2016年6期
關鍵詞:指令

許昌滿1陳兆龍21.上海應用技術學院 2.巢湖學院

?

基于Tilera平臺的AVS視頻編碼器的研究與實現

許昌滿1陳兆龍2
1.上海應用技術學院2.巢湖學院

摘要:Tile處理器是Tilera公司研發的一種新型的多核處理器,文章在介紹Tilera平臺的多核處理器的基礎上,根據該處理器的架構特點,在該平臺上實現了AVS和H.264的標清/高清實時視頻編碼器。

關鍵字:AVS Tilera 多核處理器 視頻編碼 H.264

1 Tilera平臺簡介

Tile處理器是Tilera公司研發的一種新型的多核處理器,它能夠在一顆高度集成的芯片上提供前所未有的高性能,靈活性以及低能耗,它主要由一個二維的計算引擎陣列組成,每個計算引擎可以看作一個tile核,并且每個tile都支持c語言編程,同時每 個tile都被一個二維的網絡結構相互連接起來。這種結構可擴展性很強,可以做成8×8,可以做成 10×10,他們之間通過二維網狀網絡達到連接的效果,它克服了傳統的以一維總線架構做的多核處理 器的信號通信方面的瓶頸,因為這種多核處理器當核的個數超過了8個核或者16個核的時候,一維總線就會非常繁忙,這樣會使得數據傳輸與交換緩慢,大大的影響了處理器的性能。在處理器芯片上,Tile 處理器結合外部緩存和I/O接口組成了完備的可編程的多核處理器,外部緩存和I/O接口也是通過iMesh 技術與tile進行相連通信的。TILEPro64就是Tilera的 一個8*8的64核的處理器。每一個tile都是一個強大的,性能完備的計算系統,都可以獨立的運行一個操作系統,例如SMP Linux操作系統等。每一個tile有一個32位的整數處理器引擎,這個處理器引擎中包含一個3通道的超長指令字架構,該架構有自己的指令計數器(PC), 高速緩沖存儲器(cache)和DMA子系統。每一個獨立的tile在一個時鐘周期都最多能執行三條指令。Tilera處理器中有配合該硬件設備的特定指令集來處理視頻編碼或者網絡數據處理的一些復雜的計算,這些指令集使得運算的效率更高,這些指令集包括:差的絕對值的和的計算(SAD),搜索與計數,加擾,SIMD指令,不對齊的數據的訪問等。

Tilera處理器的每個tile都有自己獨立的cache,并且有和其它的tile相連的共享內存,每個tile都包括一個一級的數據cache(L1D),一個一級的指令cache(L1I)和一個共享的二級cache(L2)。Tile通過訪問L1I來讀寫指令,在執行指令的過程中都會檢查 L1D和L2來讀取或者更新數據,如果指令需要的數據在這個tile中沒有找到,則tilera的內存系統就會在旁邊相連的tile中尋找數據。I/O接口:Tile處理器采用了軟I/O結構,這種結構使得原本通常在硬件中實現的一些應用,通過在一些tile上運行一些代碼來實現。

2 基于Tilera平臺的視頻編碼器的架構

基于Tilera平臺的視頻編碼器的架 構主要由5部分組成,即采集模塊,視頻編碼模塊,音頻編碼模塊,碼流復用模塊和碼流輸出模塊。

2.1模塊

(1)采集模塊:該模塊的功能是接收標清SDI 的信號或者高清SDI信號,采集視頻和音頻的數據,將SDI信號中的視頻數據轉換成一幀一幀的YUV數據存在Tile的共享內存中,同時將SDI附屬數據中的音頻數據解析成音頻的PCM數據存在Tile的共享內存中。

(2)視頻編碼模塊:該模塊的功能是實現高清/標清的AVS[4](PAL/NTSC)或者H.264[5](PAL/NTSC)的實時編碼,它通過共享內存,讀取采集模塊采集到的視頻的YUV數據,將YUV數據編碼壓縮成為符合AVS1.0標準的ES流或者編碼壓縮成為符合H.264標準的ES流,同時將這些視頻ES流存入到Tile的共享內存中。

(3)音頻編碼模塊:該模塊的功能是實現音 頻的MPEG-1 layer2的實時編碼,它通過共享內存, 讀取采集模塊采集到的音頻的PCM數據,將PCM數 據編碼壓縮成為MPEG-1 layer2的ES流,并且將這些音頻ES流存入到Tile的共享內存中。

(4)碼流復用模塊:該模塊的功能是從共享內存中讀取輸入的AVS視頻ES流或者H.264視頻ES 流和MPEG-1音頻ES流,將這些數據實時的復用成符合13818-1標準的TS流,并且將這些TS流數據存在Tile的共享內存中。

(5)碼流輸出模塊:該模塊的功能是將碼流 復用模塊中輸出的TS流,通過IP接口實時輸出傳輸 流或者通過ASI接口實時輸出TS流。

(6)管理控制模塊:該模塊主要包括兩個部分,即網絡控制模塊和LED液晶面板控制模塊,網絡控制模塊的功能是接收用戶通過網絡發過來的啟動編碼器或者停止編碼器,以及設置編碼器的一些參數的命令,然后根據命令啟動或者關閉其它軟件模塊,LED液晶面板控制模塊是用戶通過設置前面板對編碼器的編碼參數以及編碼器的開啟與關閉進行設置和管理。

2.2模塊間的通訊和CPU的分配

(1) 每個模塊之間的通訊與數據傳輸 從2.1節中編碼器的每個模塊的介紹中,我們可以看出,模塊間的數據傳輸是通過Tile提供的共 享內存來實現的。每個模塊之間的通訊是通過Linux的信號傳輸來完成的。

(2)每個模塊的CPU的分配與綁定

Tile平臺提供了一些讓Linux下的任務進程與該平臺的某些CPU綁定的函數,這樣被綁定的線程函數,就只能在其個CPU或者某個CPU集合上運行。

3 基于Tilera平臺的AVS視頻編碼器的實現

3.1基于Tilera平臺的AVS視頻編碼器中多線程的管理

任務實時調度模塊完成任務隊列的創建、銷毀,以及向隊列添加、刪除任務,還有線程的創建,任務的執行,線程與tile處理器的綁定等功能;這里的任務的優先級我們分為兩級,一級是幀級的編碼,一級是Slice的編碼,幀級的編碼的優先級高于Slice的編碼,當有空閑得CPU,該CPU就會去任務欄中尋找可以執行的任務,先尋找優先級高的任務,再尋找優先級較低的任務。為了在保證圖像編碼質量的情況下,提高編碼的速度,我們對I幀和 B、P幀采取了不同的編碼架構,I幀是單slice的 編碼,B幀和P幀采用了多slice的編碼方式。

3.2基于Tilera平臺的AVS視頻編碼器中的內存 的管理與平衡

(1)共享內存的申請與使用

(2)Tilera平臺的4個內存控制器的平衡

Tile處理器有四個獨立的DDR2內存控制器, 64個核分成四個象限,每個象限都有一個內存控制器,同時每一個控制器都可以分別控制外部的DRAM部件,Tile處理器有內存striping的功能,這個功能可以自動的平衡四個內存控制器中的內存訪問頻率。

在H.264/AVS的視頻編碼的CPU的分配過程中, 我們根據Tile的內存控制器的結構,將4路標清編碼,每一路的進程分配在了同一個象限中。

3.3基于Tilera平臺的AVS視頻編碼器的優化

AVS視頻編碼性能優化主要從以下幾個方面進行:

(1)編譯選項參數優化為了獲得更好的性能,提高指令在緩存中的命中率,編譯選項設置為-o3進行最優級別的優化。

(2)緩存的存取模式 AVS視頻編碼為多線程、多任務的應用,系統默認緩存模式是Hash-for-home(Distributed L3 Cathing), Hash-for-home 允許定義一個CPUs的集合作為分配的緩存L3,當L2Cache不能命中時,也不需要去訪 問DRAM,而是轉到了L3.

(3)任務的同步tmc庫提供了經過優化的一些用于線程同步的API,系統的pthread_mutex_lock()相比,性能有明顯提高。在進行任務同步的時候,我們采用了 tmc_spin_mutex_unlock()函數替代pthread_ mutex_lock(),這樣提高了編碼的速率。

(4)指令集的應用 指令集方面的優化主要是兩個方面的優化,一方面是SIMD指令的使用,Tilera處理器的SIMD(單指 令多數據流)指令可將同一寄存器中的高十六位與低十六位作為兩個半字整形進行處理,甚至可將它細分成4個8位整形。這樣就可以在一條指令中執行4個8位加法,或移位等操作。我們對AVS/H.264的視頻編碼的量化與反量化模塊,DCT與IDCT模塊,CAVLC模塊,運動估計模塊和Deinterlace模塊的優化中都使用SIMD語句,應用SIMD語句讀寫或計算一組數據可以顯著提高執行效率。

另一方面是一些預處理指令的使用,例如預取指令prefetch,在Tilera平臺中,L1I高速緩沖支持硬件預取指令引擎,這可以在cache中預測取出最有可能執行的下一條指令,對于要處理的數據也是如此,我們通過prefetch指令給硬件一些暗示,讓處理器能夠提前知道這些數據下面要處理了。

4 總結

AVS是具有我國自主知識產權的視頻壓縮標準,在保證與國際先進標準相當的編碼性能的同時,顯著降低了算法復雜度,加之專利費用較低,在各種數字多媒體應用領域或者廣播電視領域有廣泛的應用前景,H.264是目前替代MPEG-2標準的已被廣泛使用的標準,本文在Tilera的多核的平臺上,實現了一路AVS/H.264高清或者多路AVS/H.264標清編碼器的研發,編碼器的輸入為SDI信號,輸出為 ASI信號或者傳輸流通過網絡UDP輸出。實驗結果證明,該平臺具有計算能力強,性能穩定等特點,在該平臺上實現了AVS和H.264的標清/高清實時視頻編碼器。

參考文獻

[1]Tile Processor User Architecture Manual March 2011 TILERA CORPORATION;

[2]Application Libraries Reference Manual April 2011 TILERA CORPORATION;

[3]Programming The Tile Processor March 2011 TILERA CORPORATION;

[4]GB/T 20090《信息技術先進音視頻編碼第二部分:視頻》;

猜你喜歡
指令
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
巧用G10指令實現橢圓輪廓零件倒圓角
時代農機(2015年3期)2015-11-14 01:14:29
中斷與跳轉操作對指令串的影響
科技傳播(2015年20期)2015-03-25 08:20:30
基于匯編指令分布的惡意代碼檢測算法研究
一種基于滑窗的余度指令判別算法
歐盟修訂電氣及電子設備等產品安全規定
家電科技(2014年5期)2014-04-16 03:11:28
MAC指令推動制冷劑行業發展
汽車零部件(2014年2期)2014-03-11 17:46:27
主站蜘蛛池模板: 国产91精品调教在线播放| 欧美h在线观看| 日韩欧美中文在线| 国产女人18水真多毛片18精品| www.亚洲一区| 91精品免费高清在线| 国产91无毒不卡在线观看| 爱色欧美亚洲综合图区| 国产视频欧美| 日本精品影院| 青青青亚洲精品国产| 日韩美女福利视频| 四虎永久免费在线| 色成人亚洲| 国产00高中生在线播放| 色成人亚洲| 婷婷五月在线视频| 成人欧美日韩| 国产一级毛片网站| 中字无码av在线电影| 影音先锋丝袜制服| 1769国产精品视频免费观看| 青青久久91| 国产亚洲高清在线精品99| 日韩久久精品无码aV| 亚洲色成人www在线观看| 亚洲成a人在线观看| 国产无码在线调教| 久久这里只有精品66| 精品一区二区三区自慰喷水| 国产亚洲精| 久久99国产视频| 一本大道AV人久久综合| 国禁国产you女视频网站| 亚洲精品免费网站| 亚洲bt欧美bt精品| 综合社区亚洲熟妇p| 拍国产真实乱人偷精品| 欧美www在线观看| 久久精品一品道久久精品| 小说 亚洲 无码 精品| 亚洲欧洲免费视频| 91免费在线看| Jizz国产色系免费| 一级成人欧美一区在线观看| 国产麻豆另类AV| 99久久精品美女高潮喷水| 欧美成人a∨视频免费观看 | 午夜福利在线观看入口| 最新加勒比隔壁人妻| 国产成人精品18| 99精品在线视频观看| 亚洲美女高潮久久久久久久| 免费在线a视频| 日韩中文无码av超清| 亚洲AV无码久久天堂| 国产99精品久久| 黄色三级毛片网站| 精品国产福利在线| 中文字幕有乳无码| 日日拍夜夜操| 久久精品人人做人人综合试看| 亚洲精品第一在线观看视频| 97视频精品全国免费观看| 亚洲天堂777| 亚洲Va中文字幕久久一区| 好久久免费视频高清| 制服丝袜国产精品| 在线人成精品免费视频| 最新日韩AV网址在线观看| 日韩不卡免费视频| 久久久四虎成人永久免费网站| 国产激情无码一区二区APP| 啪啪啪亚洲无码| 亚洲AⅤ综合在线欧美一区| 国产精品毛片在线直播完整版| 丝袜无码一区二区三区| 亚洲精品在线观看91| 亚洲第一香蕉视频| 一级毛片在线免费看| 国产综合精品一区二区| 国产精品免费福利久久播放 |