国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

利用多內核處理器的并行編程功能實現視頻代碼轉換

發布時間:2009-3-4 11:33    發布者:虞美人
視頻代碼轉換是指從一種壓縮視頻格式轉換為另一種壓縮視頻格式,通常先要把某種格式解碼為原始視頻幀,然后用新的格式重新編碼。在許多應用中高效的代碼轉換至關重要。例如,為了支持視頻點播數據流,視頻數據要以某種主流格式存儲起來以節省空間,但必須支持眾多不同的觀看設備和解碼器。為了做到這一點,需要在數據發送前以實時或者快于實時的速度進行代碼轉換。在視頻節目制作階段進行視頻編輯時,也必須對視頻數據進行解碼、修改和重新編碼。在普通家庭,為了能在家用視頻服務器上使用視頻,視頻數據可能也需要轉換才能適應服務器支持的格式。支持高清視頻點播要求高性能的代碼轉換。RapidMind公司開發的軟件開發平臺利用統一的并行編程模型充分發揮各種多內核處理器的性能。通過在RapidMind平臺上建立代碼轉換器,應用程序如今能運行在多種處理器上,包括CPU、GPU和Cell BE,并且還能通過擴展適應未來多內核(和眾內核)處理器環境。
代碼轉換器自然需要支持各種視頻壓縮格式。然而,許多格式在實現它們所需的運算類型方面有很多相似性。另外,編碼器通常要比解碼器貴得多。一般一種視頻標準僅規定了壓縮數據流中存儲什么類型的數據以及解碼器該怎樣譯碼,并不規定編碼器如何從原始輸入數據流中提取需要的信息。
通常一種壓縮視頻格式不僅要求實現對單幀的壓縮,而且要求使用視頻序列中的相鄰幀實現對中間幀的預測。為了能從傳輸產生的任何錯誤中恢復數據,并允許用戶從視頻序列中間位置開始解壓縮,有些幀是在不參考其它幀的情況下進行壓縮的。
單幀壓縮
單幀壓縮有點類似于普通的圖像壓縮,通常包含了到不同基礎幀的轉換,如使用不同頻率和方向的余弦變換(離散余弦變換或DCT),或小波變換。這種轉換通常作用于塊,并且從數學上可精簡到塊中像素上的一組點積(雖然一些基本函數允許理論上更快的因數分解)。轉換后的系數再經過量化刪除那些對圖像可視無用的信息,形成一幅近似的圖像,最后使用編碼器編碼去除數據中任何殘留的冗余性。
上述轉換的目的不僅是通過將圖像中的能量集中為更小的一組數字而使代碼器變得更有效率,而且允許量化器顯著地去除感知上不那么重要的信息。例如,DCT就會對圖像的高頻和低頻成分進行分析。由于人眼對高頻時的量化誤差不甚敏感,因此這些頻率的量化可以粗放一些。另外,在上述壓縮步驟之前通常先要從亮度中分離出色度(顏色)和將色度欠采樣到較低分辨率,因為人眼對亮度邊緣較敏感,但對色度邊緣不太敏感。
一些較復雜的壓縮格式還支持根據空間相鄰的塊對一些圖像塊作出預測。選擇哪個塊用于預測極具挑戰性,而且支持解碼器中的必要排序在并行系統中也相當復雜。然而,如果塊的內容能夠被準確預測,那么對該塊壓縮時只需編碼預測值和實際值之間的(少量)差異。
如此詳細地介紹單幀圖像壓縮的原因是,實際上作為編碼過程的一部分,無論是塊還是單幀壓縮/解壓縮都有必要。特別是中間幀(數據流中的大部分幀)估計,它是通過融合和混合數據流前后發生的幀、然后從輸入數據中減去這個融合后的幀、最后壓縮差異圖像(一般使用類似于單幀編碼器的編碼器)實現的。對這種融合的估計被稱為運動估計,是編碼過程中運算量最大的步驟之一。
然而在解碼器中,原始的源數據幀是沒有的,只有解壓縮后的幀。因此,這種融合要求圖像能在解碼器之前還原。因此它們不僅必須在編碼器中壓縮,而且需要被解壓縮。這種對前面壓縮的數據進行解壓縮的需求將導致數據的依賴性,并影響到在具有不同存儲器系統的處理器之間如何并行使用和分配編碼器。
視頻序列中的圖像組(GOP)中的一些幀(I,幀內編碼幀)使用單幀壓縮算法進行編碼,但基于運動估計的幀間預測被用來改進幀內幀間(雙向預測編碼幀B,前向預測編碼幀P)的壓縮。只有預測幀和實際幀之間的差異值需要被壓縮。由于B幀和P幀是根據I幀的解壓縮版本預測出來的,因此有必要作為編碼過程的一部分對I幀進行壓縮和解壓縮。

圖1:RapidMind是一個開發和運行時間平臺,它支持能充分利用多內核處理器的單線程可管理應用程序。開發人員可以用標準的C++語言編寫代碼,RapidMind平臺則可以將這些代碼在多個內核間“并行利用”。
運動估計
運動估計是很有價值的。一般需要發現將像素從輸入圖像中的一個位置挎貝到融合后的圖像上的這種融合,以便融合后的圖像與該幀實際圖像間的差異盡可能小。首先,像素塊之間的相似性指標需要被定義,通常是SSD(差值平方和)或SSA(絕對差值和)。然后使用這種相似性指標測試各個候選源塊的位置,以確定良好的匹配。
有兩點需要注意。第一,如果有較強的運算能力,那么可以測試較多的候選位置,從而可能找到更好的匹配,并提高壓縮率。可以用運算能力的增強來降低帶寬要求,反之亦然。其次,相似性指標是非線性的。這意味著使用多分辨率等技巧來加快相似性匹配速度是不合適的。低分辨率時的最佳匹配不一定是高分辨率時的最佳匹配。
這里有兩個基本點:數據位置和并行體系。首先,GPU是具有很高性能的處理器,但目前位于PCIExpress卡上,這些卡有自己的存儲器。因此為了壓縮視頻流,數據需要傳送到視頻卡上的存儲器中,然后將壓縮結果傳回來。這一過程需要以流的形式完成,而這種流式處理與運算隨時交疊,因此數據傳送不會成為瓶頸。RapidMind平臺正常情況下可自動管理數據,而且(能在內部硬件API支持的地方)提供深層分析功能來管理這種重疊式流處理。GPU存儲器架構的其它意義還在于互相依賴的一系列步驟應盡可能保持在相同的存儲器空間中。
最大程度的加速
通常在考慮一個應用是否能被加速時,人們首先會分析應用程序的各個單元,判斷每個單元上需花多長時間,并利用阿姆達爾定律估計可能的加速程度。
舉例來說,考慮到某個應用程序在單元A上要花10%的時間,在單元B上要花75%的時間,單元C上花5%的時間,單元D上花10%的時間。該應用程序的流程是A運行一次,然后B和C輪流多次反復運行(取決于彼此關系),最后才是運行D。
同時假設單元A估計能加速1.5倍,B能加速20倍,C能加速2倍,D不能做任何加速。
這樣理論上的最大時間縮短值是:
0.1/1.5+0.75/20+0.05/2+0.1/1=0.23
相當于加速1/0.23(正好超過4)倍。值得注意的是,雖然單元B(75%的運行時間)的加速系數達到了很大的20,但只有使所有加速步驟對總運行時間的影響比較接近的情況下才能取得最好的效果。
事實上,如果只是以B為目標,并設法使之無限加速,但總的性能仍將受限于其余單元。
使用GPU
進一步考慮使用GPU。大家可以看到B和C是反復進行的。如果只是在GPU上加速B,而讓C留在主機上,那么需要不斷地從主機那兒來回傳送數據,從而嚴重影響性能。因此,即使單元C的加速幅度很小,但根據阿姆達爾定律,它對總的加速效果影響也很小。事實上,我們可能也想把C移動到GPU上以避免這些傳送。
這正是視頻編碼所面臨的境況。即使運動估計是視頻壓縮中最昂貴的成分,我們也不能忽略其它因素,尤其是單幀壓縮和解壓縮,因為運動估計的其它階段還需要這些結果。在考慮這些因素后,階段優化工作量就需要正比于它對總體性能的影響程度。
RapidMind平臺
RapidMind平臺能夠用來快速實現和測試算法,并將算法應用于GPU或實際上多內核的CPU。如果有大量依附于數據的算法單元,Rapid實現就相當重要,因為所有單元必須移動到加速器的存儲空間,以避免出現上述數據搬移問題。然而,根據它們的總體影響,優化所有這些單元可能不具成本效益,或沒有太大作用。優化工作容易使代碼復雜化,并且更難維護。
RapidMind通過公共特性集向所有支持的硬件目標提供可移植性。僅使用這組公共特性也可能獲得優異的性能。然而,RapidMind還提供了深層機制來訪問特殊硬件特性,這種深層機制對優化可能有用,但也會影響可移植性。因此推薦的做法是軟件項目首先只用公共特性實現所有必要的單元,然后(在實現完整功能后)對單元進行剖析以確定瓶頸及最有可能的改進之處,最后調整特殊單元,可能的話調整應保持在內核可移植功能集中。如果有必要進行特殊硬件的深層分析,使用RapidMind的提取功能可以隔離它的影響,原始的內核特性參考實現也可以用于實現可移植性。
本文地址:http://m.qingdxww.cn/thread-2892-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 實時控制解決方案的正確選擇——數字信號控制器(DSC)或通用MCU
  • 探索PIC16F13145 MCU系列——快速概覽
  • dsPIC® DSC:攻克各種觸摸傳感挑戰的電容式觸摸解決方案
  • PIC32CM LS60 Curiosity Pro評估工具包
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青青青久97在线观看香蕉| 婷婷国产天堂久久综合五月| 欧洲一区在线观看| 日韩影视在线| 日本欧美一区二区三区视频麻豆| 色国产在线观看| 亚洲伊人国产| 日韩一区在线视频| 欧美日产欧美日产精品| 亚洲成在人线中文字幕| 欧美综合激情| 婷婷草| 无码专区aaaaaa免费视频| 亚洲三级自拍| 欧美成人欧美激情欧美风情| 无遮挡一级毛片视频| 日本黄色免费在线视频| 一级片aa| 午夜怡红院| 日本福利一区二区| 一级毛片视频在线观看| 亚洲h视频在线观看| 日本三级网站在线线观看| 天天综合亚洲国产色| 欧美成人伊人久久综合网| 青草福利在线| 亚洲综合自拍| 午夜生活| 一级a毛片| 欧美精品国产日韩综合在线| 一级黄色片在线播放| 人人插人人看| 午夜欧美成人久久久久久| 日韩一区二区中文字幕| 亚洲国产精品美女| 青青青国产视频| 欧美特黄a级| 奇米精品一区二区三区在| 香蕉tv亚洲专区在线观看| 日本三级韩国三级三级a级按摩| 日本不卡一二三区|