亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于眾核處理器的AVS并行解碼器的設(shè)計(jì)與實(shí)現(xiàn)

        2014-09-18 00:15:22張文軍高志勇張小云
        電視技術(shù) 2014年15期
        關(guān)鍵詞:宏塊碼流解碼器

        吳 杰,張文軍,高志勇,張小云

        (上海交通大學(xué) 圖像通信與網(wǎng)絡(luò)工程研究所,上海 200240)

        1 AVS并行解碼器

        AVS是我國(guó)具備自主知識(shí)產(chǎn)權(quán)的第二代信源編碼標(biāo)準(zhǔn),其第二部分為視頻部分,在2006年經(jīng)信息產(chǎn)業(yè)部批準(zhǔn)正式成為國(guó)家標(biāo)準(zhǔn)[1]。AVS目前正處于大規(guī)模產(chǎn)業(yè)化的推廣期,因此研究AVS在眾核平臺(tái)下的并行解碼有著重要的意義。

        AVS標(biāo)準(zhǔn)的視頻部分與MPEG-2以及H.264類(lèi)似,也采用了基于塊匹配的編碼框架[2]。相對(duì)于MPEG-2標(biāo)準(zhǔn),AVS同H.264都采用了更加復(fù)雜的運(yùn)動(dòng)估計(jì)等技術(shù),使得復(fù)雜度大幅增加,經(jīng)過(guò)優(yōu)化在主頻有限的單核處理器上也難以實(shí)現(xiàn)高清視頻(1 080p)的實(shí)時(shí)(25 f/s或更高)解碼[3]。

        多核以及眾核處理器的發(fā)展以及并行計(jì)算為高清視頻碼流的實(shí)時(shí)解碼提供了一種可行的解決方案,設(shè)計(jì)良好的并行解碼器能達(dá)到接近線性的并行加速比。本文提出并實(shí)現(xiàn)了一種采用功能與數(shù)據(jù)混合并行的高清實(shí)時(shí)AVS并行解碼器,并在Tilera公司的Tile-Gx36平臺(tái)[4]上開(kāi)發(fā)實(shí)現(xiàn),可用6個(gè)核實(shí)現(xiàn)1路高清AVS碼流的解碼。

        2 AVS解碼器結(jié)構(gòu)

        AVS的視頻標(biāo)準(zhǔn)也采用了基于塊匹配的混合編碼框架,AVS解碼器的實(shí)現(xiàn)流程如圖1所示。

        圖1 AVS解碼器流程圖

        解碼器先對(duì)讀入的AVS碼流進(jìn)行碼流解析和熵解碼,得到殘差系數(shù)等信息,再經(jīng)過(guò)一系列運(yùn)算可以到殘差值,然后再根據(jù)編碼模式的不同選擇不同的預(yù)測(cè)方式進(jìn)行預(yù)測(cè)運(yùn)算,再經(jīng)過(guò)重建即可得到重建圖像。解碼得到的I幀、P幀可以作為參考幀。

        3 AVS并行解碼器設(shè)計(jì)方案

        3.1 并行策略

        利用多核處理器實(shí)現(xiàn)任務(wù)的并行,一般有兩種常見(jiàn)的方法,一種是功能并行,一種是數(shù)據(jù)并行[5]。功能并行的基礎(chǔ)是流水線模型,可以將要實(shí)現(xiàn)的功能拆分成多個(gè)功能模塊,通過(guò)流水線并行就可以實(shí)現(xiàn)功能上的并行。功能并行本質(zhì)上是利用時(shí)間上的并行性來(lái)實(shí)現(xiàn)并行加速的作用。AVS解碼器可以分為VLD和IQ/IDCT,幀內(nèi)預(yù)測(cè)、MV預(yù)測(cè)以及濾波等??梢詫?duì)這些功能模塊進(jìn)行劃分,然后再利用多核處理器的并行性來(lái)并行處理這些功能模塊。

        數(shù)據(jù)并行是將要處理的數(shù)據(jù)進(jìn)行劃分,將劃分的數(shù)據(jù)交給不同的核處理,由此實(shí)現(xiàn)數(shù)據(jù)處理上的并行。對(duì)于AVS碼流,每一幀的數(shù)據(jù)可以劃分為多個(gè)Slice,每一個(gè)Slice可以由多個(gè)宏塊行組成,本文AVS并行解碼器的設(shè)計(jì)采用基于宏塊行的并行。

        功能并行時(shí),多個(gè)核之間需要進(jìn)行數(shù)據(jù)通信,因此會(huì)引入通信負(fù)載。而且功能并行時(shí)只有各個(gè)功能模塊耗時(shí)接近時(shí)才能有更好的并行加速比。數(shù)據(jù)并行時(shí)數(shù)據(jù)之間存在依賴性關(guān)系,如果數(shù)據(jù)依賴性差,則CPU將會(huì)有很多的時(shí)間處于空閑等待狀態(tài),并行效率就會(huì)下降,所以進(jìn)行數(shù)據(jù)并行時(shí)必須考慮劃分?jǐn)?shù)據(jù)模塊的依賴性。

        本文提出的是一種數(shù)據(jù)并行和功能并行相結(jié)合的混合模型來(lái)實(shí)現(xiàn)AVS并行解碼器的設(shè)計(jì)。AVS解碼器中熵解碼與其他功能模塊是串行執(zhí)行的,按照這個(gè)思路可以將AVS解碼器劃分為兩大模塊,即VLD模塊以及并行解碼模塊。VLD模塊和功能解碼模塊之間符合流水線并行的方式,通過(guò)這種機(jī)制可以實(shí)現(xiàn)功能上的并行。在并行解碼模塊中多個(gè)核處理劃分后的數(shù)據(jù),由此實(shí)現(xiàn)數(shù)據(jù)上的并行。

        AVS并行解碼器框圖如圖2所示,主線程負(fù)責(zé)熵解碼創(chuàng)建解碼任務(wù),多個(gè)線程進(jìn)行并行解碼。

        圖2 AVS并行解碼混合模型框圖

        3.2 調(diào)度策略

        本文采用任務(wù)池模型實(shí)現(xiàn)子任務(wù)的調(diào)度,任務(wù)池模型通常都是由主線程和工作線程組組成。主線程負(fù)責(zé)創(chuàng)建任務(wù)添加到任務(wù)池中,工作線程組從任務(wù)池中獲取任務(wù)并執(zhí)行,當(dāng)工作線程執(zhí)行完當(dāng)前任務(wù)后,立即去任務(wù)池中獲取任務(wù)再執(zhí)行,直到任務(wù)池為空。采用任務(wù)池模型的動(dòng)態(tài)分配方案能夠減少核處于等待的時(shí)間,提高并行處理的效率。

        3.3 AVS并行解碼器設(shè)計(jì)

        本文采用任務(wù)池模型的調(diào)度機(jī)制實(shí)現(xiàn)AVS并行解碼器。在任務(wù)池模型中,為了高效率地實(shí)現(xiàn)并行,需要滿足以下兩個(gè)條件:1)任務(wù)池中有足夠多的任務(wù);2)任務(wù)池中的任務(wù)具備弱依賴性[6]。如果任務(wù)池中沒(méi)有足夠的任務(wù),工作線程組中將會(huì)有線程處于等待狀態(tài);如果任務(wù)池中的任務(wù)依賴性過(guò)強(qiáng),則這些任務(wù)只能按順序執(zhí)行。所以進(jìn)行任務(wù)劃分時(shí)顆粒度必須合理。在AVS并行解碼器的實(shí)現(xiàn)過(guò)程中,采用了幀間并行和幀內(nèi)宏塊行并行,以保證并行解碼器的效率。

        3.3.1 AVS并行解碼器實(shí)現(xiàn)架構(gòu)

        整個(gè)AVS并行解碼器的實(shí)現(xiàn)架構(gòu)由主線程和工作線程組兩個(gè)部分組成。并行AVS解碼器的實(shí)現(xiàn)架構(gòu)如圖3所示,主線程負(fù)責(zé)解析輸入碼流,熵解碼,創(chuàng)建宏塊行為單位的解碼重建任務(wù)并添加到任務(wù)池中。工作線程從任務(wù)池中取出一個(gè)任務(wù)做解碼重建,工作流程如下:1)幀間預(yù)測(cè)亮度宏塊重建;2)幀內(nèi)預(yù)測(cè)亮度宏塊重建;3)亮度宏塊BS值計(jì)算及環(huán)路濾波;4)幀間預(yù)測(cè)色度宏塊重建;5)幀內(nèi)預(yù)測(cè)色度宏塊重建;6)色度宏塊環(huán)路濾波。

        圖3 并行AVS解碼器實(shí)現(xiàn)架構(gòu)

        3.3.2 幀間并行和宏塊行并行

        如圖2所示,本文設(shè)計(jì)的AVS并行解碼器采用了功能并行和數(shù)據(jù)并行混合的模型,如果只用1個(gè)主線程進(jìn)行熵解碼,隨著工作線程的增加,解碼任務(wù)不足,處于休閑等待的線程數(shù)增加,并行加速比就會(huì)降低。為了解決上述問(wèn)題,引入幀間并行機(jī)制來(lái)創(chuàng)建更多的解碼任務(wù)提供給工作線程組執(zhí)行。在并行解碼模塊的設(shè)計(jì)中,如果一個(gè)線程完成一幀所有后續(xù)數(shù)據(jù)的解碼,任務(wù)顆粒度仍然較大,隨著工作線程的增加,容易出現(xiàn)線程等待任務(wù)的情況,為此需要進(jìn)行更小的顆粒度劃分,本文設(shè)計(jì)的AVS解碼器采用了宏塊行并行的機(jī)制。根據(jù)解碼的工作流程,采用了3行宏塊并行的任務(wù)劃分機(jī)制,考慮亮度和色度宏塊,則一共可以同時(shí)處理6行宏塊,如圖4所示。Mb_y行宏塊進(jìn)行幀間宏塊的重建時(shí),其上一行Mb_y-1行宏塊已經(jīng)完成幀間宏塊的重建,正在進(jìn)行幀內(nèi)宏塊的重建,而Mb_y-2行則已經(jīng)完成幀間宏塊重建和幀內(nèi)宏塊重建,正在進(jìn)行去塊濾波。

        圖4 宏塊行并行框圖

        4 解碼器優(yōu)化

        對(duì)于AVS-P2視頻解碼器而言,反量化、反變換以及插值模塊消耗的大多數(shù)時(shí)間,為了實(shí)現(xiàn)高清實(shí)時(shí)解碼,除了充分利用多核的并行性外,還需要利用處理器提供的單指令多數(shù)據(jù)(SIMD)指令集進(jìn)行計(jì)算的優(yōu)化。

        4.1 開(kāi)發(fā)平臺(tái)介紹

        Tile-Gx36是美國(guó)Tilera公司2012年發(fā)布的眾核處理器,它是由36個(gè)核組成的,每個(gè)核的頻率是1.2 GHz。核間的通信主要是通過(guò)核間互聯(lián)網(wǎng)絡(luò)imesh完成。Tilera提供的SIMD指令集能完成16位和8位的SIMD操作。Tilera的寄存器寬度為64位,所以可以同時(shí)處理4個(gè)16位的運(yùn)算或者8個(gè)8位的運(yùn)算。

        4.2 反量化/反變換SIMD優(yōu)化

        AVS反量化表64個(gè)整數(shù)均大于32 768,只可用無(wú)符號(hào)16位表達(dá),最高位均為1。而Tilera公司提供的SIMD指令集僅支持有符號(hào)16位的乘法運(yùn)算,為了使用Tilera公司提供的乘法指令,將反量化表中的每個(gè)數(shù)減去32 768,用有符號(hào)位表示。對(duì)反量化公式做如下修正

        1個(gè)像素塊的殘差一般是用8位表示的,AVS變換矩陣的系數(shù)值較大,如果用8位來(lái)表示,變換計(jì)算的中間結(jié)果可能會(huì)發(fā)生溢出,所以在進(jìn)行中間運(yùn)算的時(shí)候需要進(jìn)行數(shù)據(jù)擴(kuò)展,第一次運(yùn)算將數(shù)據(jù)由8位擴(kuò)展到16位,第二次運(yùn)算將數(shù)據(jù)由16位擴(kuò)展到32位,最后將輸出結(jié)果壓縮為16位的整型數(shù)據(jù)。Tilera提供的SIMD指令集提供了相應(yīng)的數(shù)據(jù)位擴(kuò)展和壓縮指令。

        4.3 插值SIMD優(yōu)化

        AVS解碼器與H.264的樣本插值不同,采用的是4抽頭濾波器進(jìn)行樣本插值。從AVS的插值流程能夠看出,對(duì)于類(lèi)似同位置的像素點(diǎn),進(jìn)行的運(yùn)算相同,因此可以利用SIMD指令并行處理??紤]到并行處理過(guò)程中會(huì)發(fā)生數(shù)據(jù)位溢出,需要將8位擴(kuò)展為16位整型數(shù)據(jù)進(jìn)行計(jì)算。AVS參考軟件采用了大量的循環(huán)來(lái)計(jì)算每個(gè)分像素的值,執(zhí)行這些循環(huán)會(huì)引來(lái)額外的負(fù)載。利用SIMD指令除了可以并行處理數(shù)據(jù)提高速度外,還很大程度地減少了循環(huán)次數(shù),極大地提高了運(yùn)行速度。

        5 實(shí)驗(yàn)結(jié)果和分析

        實(shí)驗(yàn)采用的測(cè)試碼流為用AVS參考軟件rm52j編碼的1 080p碼流,編碼方式為IBBP,碼率為10 Mbit/s。未做任何優(yōu)化前,單核解碼速度為2.9 f/s,經(jīng)過(guò)優(yōu)化后單核解碼速度為6.1 f/s。采用5幀并行以及宏塊行并行,解碼速度與核數(shù)之間的關(guān)系如圖5所示。采用幀級(jí)并行和宏塊行并行的情況下6個(gè)核可以實(shí)現(xiàn)30 f/s的解碼速度,達(dá)到高清實(shí)時(shí)的解碼。

        從圖5中可以看出,當(dāng)核數(shù)小于15時(shí),有著接近線性的并行加速比,核數(shù)再增加,解碼速度不會(huì)繼續(xù)增加。這是由于主線程創(chuàng)建的解碼任務(wù)有限,隨著核數(shù)的增加,核間通信的負(fù)載增加,處理器實(shí)際解碼的時(shí)間減少。

        6 總結(jié)

        本文設(shè)計(jì)并在Tile-Gx36平臺(tái)上實(shí)現(xiàn)了AVS高清實(shí)時(shí)并行解碼器,并行機(jī)制采用了幀級(jí)并行和宏塊行并行的二級(jí)混合并行機(jī)制,調(diào)度方式采用了基于任務(wù)池的調(diào)度策略。實(shí)驗(yàn)表明,本設(shè)計(jì)有著良好的并行加速比,對(duì)于10 Mbit/s的1 080p的AVS碼流,6個(gè)核可以實(shí)現(xiàn)實(shí)時(shí)解碼。因此,1片Tile-Gx36可以實(shí)現(xiàn)6路AVS高清碼流的實(shí)時(shí)解碼。

        [1]GB/T20090.2—2006,信息技術(shù)先進(jìn)音視頻編碼第2部分:視頻[S].2006.

        [2]黃鐵軍,高文.AVS標(biāo)準(zhǔn)制定背景與知識(shí)產(chǎn)權(quán)狀況[J].電視技術(shù),2005,29(14):4-7.

        [3]牛旭寧,張遠(yuǎn),馬思偉,等.AVS解碼器復(fù)雜度分析[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(5):67-70.

        [4]Tilera[EB/OL].[2013-10-20].http://www.tilera.com.

        [5]葉朝敏,陳穎琪,高志勇.基于多核處理器的高清實(shí)時(shí)MPEG-2—H.264轉(zhuǎn)碼器設(shè)計(jì)[J].電視技術(shù),2012,36(21):15-19.

        [6]田韜,李鵬,張悠慧.H.264并行解碼的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008(14):114-115.

        作者簡(jiǎn)介:吳 杰(1990—),碩士生,主研視頻編解碼;

        張文軍(1963—),博士生導(dǎo)師,主要研究方向?yàn)閳D象通信與多媒體技術(shù)、高清晰度電視等;

        高志勇(1957—),博士生導(dǎo)師,主要研究方向?yàn)楦咚僖曨l圖像處理、數(shù)字電視等;

        張小云(1977—),碩士生導(dǎo)師,主要研究方向?yàn)橐曨l編解碼、高速視頻處理等。

        責(zé)任編輯:時(shí) 雯 收稿日期:2013-11-14

        猜你喜歡
        宏塊碼流解碼器
        科學(xué)解碼器(一)
        分布式碼流實(shí)時(shí)監(jiān)控與錄制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        數(shù)字電視TS碼流協(xié)議簡(jiǎn)要分析
        視聽(tīng)(2021年8期)2021-08-12 10:53:42
        科學(xué)解碼器(二)
        科學(xué)解碼器(三)
        線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍(lán)蜻蜓解碼器
        基于選擇特征宏塊的快速視頻穩(wěn)像
        一種比較ASN.1碼流差異的方法
        基于梯度的CCSDS壓縮碼流控制算法研究
        基于宏塊合并的H.264模式選擇算法
        亚洲AⅤ永久无码精品AA| 青青草精品视频在线播放| 无码爽视频| 一本久道综合在线无码人妻| 国产成人亚洲日韩欧美| 91亚洲精品福利在线播放 | 国产人成在线免费视频| 国产一区二区三区不卡视频| 亚洲人成网77777色在线播放| 久久超碰97人人做人人爱 | 色欲AV成人无码精品无码| 农村国产毛片一区二区三区女| 各类熟女熟妇激情自拍| 在线无码中文字幕一区| 无遮无挡爽爽免费毛片| 国产91 对白在线播放九色 | 久久青青草原一区网站| 国产精品视频亚洲二区| 在线成人一区二区| 国产在线不卡AV观看| 亚洲一道一本快点视频| 国产av熟女一区二区三区密桃| 日韩精品无码熟人妻视频| 日本理伦片午夜理伦片| 亚洲午夜久久久久中文字幕| 人妻少妇激情久久综合| 极品人妻少妇av免费久久| 肉体裸交137日本大胆摄影| 中文字幕无码免费久久| 亚洲乱码中文字幕综合| 国产精品白浆一区二区免费看 | 国产av无码专区亚洲a∨毛片| 麻豆果冻传媒在线观看| 国产精品视频免费的| 日本特殊按摩在线观看| 欧美成人家庭影院| 亚洲第一av导航av尤物| 日本专区一区二区三区| 免费观看在线视频播放| 精品国产精品三级精品av网址| 国产性生交xxxxx免费|