欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種軟硬件配合的視頻解碼器實(shí)現(xiàn)方法

文檔序號:7668871閱讀:263來源:國知局
專利名稱:一種軟硬件配合的視頻解碼器實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)字視頻編解碼技術(shù)領(lǐng)域的方法,具體是一種用于視頻解碼器設(shè)計(jì)的整 體實(shí)現(xiàn)方案。
背景技術(shù)
隨著視頻壓縮標(biāo)準(zhǔn)的相繼制定,視頻編解碼器的應(yīng)用日益廣泛,目前己涉及廣播、通信、 電視、娛樂等諸多領(lǐng)域。AVS作為我國自主制定的第二代數(shù)字音視頻信源標(biāo)準(zhǔn),其編碼效率 與國際標(biāo)準(zhǔn)MPEG-4/H.264相當(dāng),因其具有國有知識產(chǎn)權(quán),得到大力推行。
隨著諸多新標(biāo)準(zhǔn)逐漸產(chǎn)業(yè)化,數(shù)字電視也逐漸開始由標(biāo)清向準(zhǔn)高清、高清開始過渡。為 實(shí)現(xiàn)高清視頻的實(shí)時(shí)解碼,普遍采用集成電路設(shè)計(jì)來實(shí)現(xiàn)。但新的壓縮標(biāo)準(zhǔn),如H.264、 AVS 等算法,引入多項(xiàng)新技術(shù),在實(shí)現(xiàn)優(yōu)質(zhì)畫面的同時(shí)也帶來了更高的運(yùn)算復(fù)雜性。若單靠軟件 實(shí)現(xiàn),其運(yùn)算量過大,就目前的CPU來看是難以實(shí)現(xiàn)的。若只靠硬件實(shí)現(xiàn),對于實(shí)際應(yīng)用所 需要的高糾錯(cuò)、高性能、高畫質(zhì)等要求,硬件設(shè)計(jì)復(fù)雜并且難以實(shí)現(xiàn)。所以,為了滿足解碼 效率和靈活性方面的要求,勢必要求軟件、硬件系統(tǒng)配合,共同完成解碼任務(wù)。
現(xiàn)有的軟硬件配合多見于兩種方式。
一種是軟件封裝、硬件實(shí)現(xiàn),其實(shí)質(zhì)仍然屬于硬件實(shí)現(xiàn),只是向應(yīng)用提供了一些APIs 函數(shù)以便于使用。其缺點(diǎn)不僅在于硬件實(shí)現(xiàn)的復(fù)雜性,也在于對視頻協(xié)議的依賴性,可重復(fù) 利用性降低,不利于多標(biāo)準(zhǔn)的實(shí)現(xiàn)。
另一種方式是軟件參與了所有語法元素的解析,而解碼功能塊(如反量化、反變換、 預(yù)測等模塊)由硬件來實(shí)現(xiàn)。這種方式雖然降低了硬件的復(fù)雜性,提高了實(shí)現(xiàn)的靈活性,但 對于高清圖像來說,數(shù)據(jù)量劇增所導(dǎo)致的軟件硬件交互時(shí)間的增加,勢必加重CPU的負(fù)擔(dān)。 這種實(shí)現(xiàn)大都需要專用的CPU配合解碼,這樣勢必增加系統(tǒng)的復(fù)雜性和成本。

發(fā)明內(nèi)容
本發(fā)明克服上述兩種設(shè)計(jì)方法中的不足,提出一種用于視頻解碼器設(shè)計(jì)的實(shí)現(xiàn)方案,降 低硬件設(shè)計(jì)部分的復(fù)雜度,增強(qiáng)設(shè)計(jì)的靈活性,并且提高解碼器的運(yùn)行效率。
本發(fā)明采用的技術(shù)方案包含了碼流預(yù)處理功能塊、圖像級解析功能塊、條帶級解碼功能 塊(此處稱為條帶級解碼功能塊是指所處理數(shù)據(jù)的最高級別信息為slice頭信息)和軟件控 制功能塊,如圖l所示,其中
所述碼流預(yù)處理功能塊,對輸入碼流按照相應(yīng)格式進(jìn)行解封裝處理,同時(shí)以起始碼作為標(biāo)記將碼流分解成不同的分段,并以鏈表等組織形式進(jìn)行存儲,為了便于軟件查找所需要的 碼流信息,將碼流預(yù)處理過程中所得的起始碼值、起始碼出現(xiàn)的位置以及其他相關(guān)的輔助信 息以隊(duì)列等形式單獨(dú)存儲,并與碼流分段結(jié)構(gòu)以指針等信息相關(guān)聯(lián)。
所述圖像級解析功能塊,對視頻協(xié)議所規(guī)定的圖像級信息進(jìn)行解析,當(dāng)遇到第一個(gè)slice 時(shí)將之后的數(shù)據(jù)傳遞給條帶級解碼功能塊進(jìn)行解碼。所述圖像級解析功能塊采用軟件進(jìn)行解 析,但也可通過使用相應(yīng)硬件加速單元配合解析,提高解碼效率。
所述條帶級解碼功能塊,當(dāng)圖像級解析功能塊解碼到第一個(gè)slice時(shí)傳遞給本模塊,本 模塊負(fù)責(zé)對slice、宏塊進(jìn)行解析,之后對殘差進(jìn)行解碼,并根據(jù)不同的標(biāo)準(zhǔn)完成圖像解碼、 重建。此部分運(yùn)算量很大,采用硬件進(jìn)行處理。
所述軟件控制功能塊,完成錯(cuò)誤分析、錯(cuò)誤恢復(fù)處理及發(fā)送控制命令的任務(wù),協(xié)調(diào)所述 圖像級解析功能塊和條帶級解碼功能塊的協(xié)同工作,在調(diào)度下圖像級解析功能塊和條帶級解 碼功能塊均可獨(dú)立、并行的運(yùn)行。
所述圖像級解析功能塊完成圖像級的參數(shù)的糾錯(cuò)處理,由于采用軟件來實(shí)現(xiàn),因此可選 用更為靈活復(fù)雜的算法;由于條帶級解碼功能塊從slice —級開始解析而不是通常的宏塊級, 因此硬件也可以實(shí)現(xiàn)一些簡單的錯(cuò)誤恢復(fù),當(dāng)出現(xiàn)不可恢復(fù)的錯(cuò)誤時(shí)硬件可以采用一些掩蔽 算法,搜索到下一個(gè)slice起始位置繼續(xù)解碼。
由于大部分常用的視頻編解碼標(biāo)準(zhǔn)(如MPEG2、 H.264、 AVS等)都有slice級別,所以 以slice作為軟硬件的劃分可適用于多種標(biāo)準(zhǔn),但實(shí)際并不局限于slice頭,可以根據(jù)所適 應(yīng)視頻協(xié)議的規(guī)定靈活制定,以最小的具有起始碼的可定位的單元均可。
所述圖像級解析功能塊與條帶級解碼功能塊以圖像slice進(jìn)行劃分,slice級別之上(包 含序列頭信息、圖像頭信息、擴(kuò)展頭信息等等語法元素)屬于圖像級解析功能塊;slice級 別之上(包含slice頭信息、宏塊頭信息、參差信息等等語法元素)屬于條帶級解碼功能塊;
本發(fā)明所述的視頻解碼器的工作流程如下,如圖3所示
首先,碼流預(yù)處理功能塊對輸入碼流進(jìn)行解封裝的同時(shí)進(jìn)行起始碼的檢測,并以起始碼 作為標(biāo)記將碼流分段及輔助信息進(jìn)行存儲,便于軟件查找所需要的碼流信息。
然后,軟件控制功能塊啟動(dòng)圖像級解析功能塊,圖像級解析功能塊完成序列頭信息、圖 像頭信息、擴(kuò)展頭信息等語法元素的解析,并對可能出現(xiàn)的錯(cuò)誤進(jìn)行處理和恢復(fù)。
然后,軟件控制功能塊根據(jù)從圖像級解析功能塊得到的信息,決定是否啟動(dòng)圖像解碼, 若啟動(dòng),則調(diào)用條帶級解碼功能塊進(jìn)行解碼。同時(shí)根據(jù)碼流預(yù)處理功能塊提供的起始碼定位 信息找到下一個(gè)起始碼的位置,啟動(dòng)圖像級解析功能塊解析下一幅圖像的信息。
最后,當(dāng)條帶級解碼功能塊完成解碼任務(wù)后,軟件控制功能塊負(fù)責(zé)將解碼圖像送到顯示設(shè)備,并將圖像級解析功能塊己經(jīng)解析完下一幅圖像的數(shù)據(jù)傳給條帶級解碼功能塊進(jìn)行第二 幀圖像解碼。
從上述流程可以看出,在確定軟件完成特定的解析工作之后,便可以調(diào)度硬件開始進(jìn)行 解碼,同時(shí)軟件可以開始下一幅圖像的解析,這樣當(dāng)前圖像數(shù)據(jù)硬件解碼與下一幀圖像解析 便可以同時(shí)進(jìn)行。
所述軟件控制功能塊的錯(cuò)誤分析/錯(cuò)誤恢復(fù)處理與所述條帶級解碼功能塊同步進(jìn)行,軟件 根據(jù)錯(cuò)誤分析發(fā)出相應(yīng)指令以控制所述條帶級解碼功能塊的行為。如圖4所示為軟件控制功 能塊的狀態(tài)圖,其中命令1是向圖像級解析功能塊發(fā)出的命令,命令2是向條帶級解碼功能 塊發(fā)出的命令,命令2有解碼/跳幀/重啟動(dòng)等多種類型。
本發(fā)明使用軟硬件相互配合的方式實(shí)現(xiàn),軟件與硬件彼此獨(dú)立,并行處理,而硬件服從 于軟件控制、調(diào)度。解碼過程可以實(shí)現(xiàn)在圖像級上的流水作業(yè)(如圖2所示)。
本發(fā)明以slice頭作為劃分解碼功能塊的點(diǎn),考慮到了 slice級以上碼流信息大多與圖 像相關(guān),處理復(fù)雜,并可應(yīng)用較復(fù)雜的糾錯(cuò)功能,實(shí)現(xiàn)更強(qiáng)大的功能。并且根據(jù)圖像級解析 得到的信息決定是否進(jìn)行圖像解碼,在出現(xiàn)較大誤碼的情況下不進(jìn)行解碼,這樣可有效的降 低系統(tǒng)負(fù)擔(dān)并提高顯示效果。對于條帶級的圖像數(shù)據(jù)信息使用硬件解碼,可充分利用硬件實(shí) 現(xiàn)的優(yōu)點(diǎn),提高解碼的效率。
本發(fā)明所提出的碼流預(yù)處理功能塊,實(shí)現(xiàn)了起始碼段與段之間的分離,確保在當(dāng)前圖像 解碼前定位下一個(gè)圖像級以上起始碼的位置,為實(shí)現(xiàn)解碼的圖像級流水提供了條件。從圖2 可以看出,本發(fā)明所能達(dá)到的解碼效率將僅受控于硬件解碼速度,從而為軟件實(shí)現(xiàn)糾錯(cuò)提供 了較大的時(shí)間預(yù)留,大大提升了解碼效率,增強(qiáng)了糾錯(cuò)能力,因此具有顯著的優(yōu)點(diǎn)和技術(shù)效 果。


圖l是本發(fā)明的功能框圖2是本發(fā)明所實(shí)現(xiàn)的圖像級流水圖3是本發(fā)明中解碼部分流程圖。
圖4是軟件控制功能塊的狀態(tài)分析示意圖。
具體實(shí)施例方式
下面結(jié)合附圖和一個(gè)具體實(shí)施的案例對本發(fā)明作進(jìn)一步詳細(xì)的說明。 為了實(shí)現(xiàn)在硬件解碼的同時(shí)開始下一幀圖像頭信息的解碼,必須要求在硬件解碼之前定位下一個(gè)圖像頭起始碼(或者圖像頭之上級別頭起始碼)的位置,本發(fā)明通過碼流預(yù)處理功 能塊,在碼流解析(即解包頭)的同時(shí)進(jìn)行起始碼的檢測,為實(shí)現(xiàn)數(shù)據(jù)高速處理, 一般采用 硬件加速實(shí)現(xiàn)的方式。如圖1所示,通過碼流預(yù)處理后的數(shù)據(jù)和相應(yīng)輔助信息被分別存儲于 兩塊不同的緩存區(qū),數(shù)據(jù)分段以起始碼作為標(biāo)記并按鏈表的結(jié)構(gòu)方式進(jìn)行存儲,為了便于后 續(xù)功能塊對起始碼以及其他輔助信息的訪問,對解析過程中所得的數(shù)據(jù)段的位置、起始碼字 節(jié)以及其他信息(用于解碼或者播放等用途)以隊(duì)列的形式進(jìn)行存儲,并通過地址信息與實(shí) 際的數(shù)據(jù)鏈表相關(guān)聯(lián)。整個(gè)碼流預(yù)處理流程獨(dú)立于解碼流程。
解碼流程以碼流預(yù)處理功能塊所輸出的數(shù)據(jù)鏈表以及起始碼隊(duì)列作為輸入而進(jìn)行,包括 圖像級解析功能塊、條帶級解碼功能塊和軟件控制功能塊,具體的步驟包括
1) 以起始碼為標(biāo)志解碼頭信息;(圖像級解析功能塊)
2) 對解碼得到的參數(shù)進(jìn)行軟件糾錯(cuò)處理;(軟件控制)
3) 重復(fù)執(zhí)行l(wèi))、 2)直至搜索到下一幀圖像的起始碼(或者以上級別頭起始碼),等待硬件;
4) 硬件完成上一次解碼任務(wù)后,若有新的解碼命令,則開始新的解碼;否則等待命令。
5) 硬件開始解碼當(dāng)前圖像后,回到l);(條帶級解碼功能塊) 下面對上述步驟做輔助的說明。
整個(gè)解碼過程以軟件控制作為主線,在符合一定條件的情況下發(fā)送新起始碼解碼的命令 或圖像解碼的命令,兩種命令的接收者分別為圖像級解析功能塊和條帶級解碼功能塊。解碼 器初始化時(shí)由軟件控制單元發(fā)出第一個(gè)起始碼解碼的命令,其后圖像級解析功能塊開始執(zhí)行 命令,軟件控制單元等待該命令執(zhí)行完畢后執(zhí)行糾錯(cuò)分析處理,在無錯(cuò)誤的情況下繼續(xù)發(fā)送 下一個(gè)起始碼解碼命令直至條件滿足發(fā)送圖像解碼命令;條帶級解碼功能塊接收到圖像解碼 命令后,開始硬件解碼,此時(shí)軟件控制單元無需等待硬件解碼完畢即可發(fā)送下一個(gè)起始碼解 碼命令。
上述發(fā)送圖像解碼命令的條件為圖像級解析功能塊完成了下一個(gè)圖像頭或圖像級別以 上頭結(jié)構(gòu)的解碼。
從上述過程可以看出,圖像級解析功能塊與軟件控制單元處于審行關(guān)系,可以納入軟件 控制過程中,也可使用專門的硬件來執(zhí)行。條帶級解碼功能塊使用純硬件方式來實(shí)現(xiàn),降低 了整個(gè)解碼過程由于軟硬件交互而產(chǎn)生的額外開銷,特別是對于多slice編碼的碼流,其性 能提高尤為明顯。但對于不同的視頻協(xié)議來說,這種劃分并不是唯一的(例如,若每幀圖像 只有一個(gè)slice,則可以使用軟件來解所有sHce頭)。對AVS來說,由于slice頭結(jié)構(gòu)中信 息量少,并且糾錯(cuò)方式相對單一,因此用硬件實(shí)現(xiàn)其解碼比較容易,故選擇以slice作為兩 個(gè)功能塊的劃分點(diǎn)。對于大部分常用的視頻編解碼標(biāo)準(zhǔn)(如MPEG2、 H. 264、 AVS等)都有slice級別,所以 以slice作為軟硬件的劃分可適用于多種標(biāo)準(zhǔn),但實(shí)際并不局限于slice頭,可以根據(jù)所適 應(yīng)視頻協(xié)議的規(guī)定靈活制定,以最小的具有起始碼的可定位的單元均可。
通過上述說明可以看出,本發(fā)明相對于串行解碼頭信息與數(shù)據(jù)信息的實(shí)現(xiàn)方案來說,具 有明顯的效率提高,而軟件的適時(shí)參與使其在時(shí)間開銷和靈活性上得到折中。
以上實(shí)施案例僅用以說明本發(fā)明而并非限制本發(fā)明所描述的技術(shù)方案,因此,盡管本說 明書參照上述的各個(gè)實(shí)施例對本發(fā)明已進(jìn)行了詳細(xì)的說明,但本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理 解,仍然可以對本發(fā)明進(jìn)行修改或者等同替換,而一切不脫離本發(fā)明的精神和范圍的技術(shù)方 案及其改進(jìn),均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1. 一種軟硬件配合的視頻解碼器實(shí)現(xiàn)方法,包含了碼流預(yù)處理功能塊、圖像級解析功能塊、條帶級解碼功能塊和軟件控制功能塊,其特征在于1)所述碼流預(yù)處理功能塊,對輸入碼流按照相應(yīng)格式進(jìn)行解封裝處理,同時(shí)以起始碼作為標(biāo)記將碼流分解成不同的各個(gè)段,將碼流分段以鏈表等組織形式進(jìn)行存儲;2)所述圖像級解析功能塊與條帶級解碼功能塊以圖像slice進(jìn)行劃分,slice級別之上屬于圖像級解析功能塊;slice級別之下屬于條帶級解碼功能塊;3)所述圖像級解析功能塊,對視頻協(xié)議所規(guī)定的圖像級信息進(jìn)行解析,當(dāng)遇到第一個(gè)slice時(shí)將之后的數(shù)據(jù)傳遞給條帶級解碼功能塊進(jìn)行解碼,此部分采用軟件進(jìn)行解析,但也可通過使用相應(yīng)硬件加速單元配合解析,提高解碼效率;4)所述條帶級解碼功能塊,當(dāng)圖像級解析功能塊解碼到第一個(gè)slice時(shí)傳遞給條帶級解碼功能塊,條帶級解碼功能塊負(fù)責(zé)對slice、宏塊進(jìn)行解析,之后對殘差進(jìn)行解碼,并根據(jù)不同的標(biāo)準(zhǔn)完成圖像解碼、重建,此部分采用硬件進(jìn)行處理;5)所述軟件控制功能塊,完成錯(cuò)誤分析、錯(cuò)誤恢復(fù)處理及發(fā)送控制命令的任務(wù),協(xié)調(diào)所述圖像級解析功能塊和條帶級解碼功能塊的協(xié)同工作,在調(diào)度下圖像級解析功能塊和條帶級解碼功能塊均可獨(dú)立、并行的運(yùn)行。
2. 如權(quán)利要求1所述的一種軟硬件配合的視頻解碼器實(shí)現(xiàn)方法,其特征在于,以slice作 為軟硬件的劃分標(biāo)準(zhǔn),但并不局限于slice頭,可以根據(jù)所適應(yīng)視頻協(xié)議的規(guī)定靈活制 定,以最小的具有起始碼的可定位的單元均可。
3. 如權(quán)利要求1所述的一種軟硬件配合的視頻解碼器實(shí)現(xiàn)方法,其特征在于,在確定軟件 完成特定的解析工作之后,便可以調(diào)度硬件開始解碼,同時(shí)軟件可以開始下一幅圖像的 解析,這樣當(dāng)前圖像數(shù)據(jù)硬件解碼與下一幀圖像解析便可以同時(shí)進(jìn)行,軟件與硬件彼此 獨(dú)立,并行處理,而硬件服從于軟件控制、調(diào)度。
4. 如權(quán)利要求1所述的一種軟硬件配合的視頻解碼器實(shí)現(xiàn)方法,其特征在于,圖像級解析 功能塊完成圖像級參數(shù)的糾錯(cuò)處理,由于采用軟件來實(shí)現(xiàn),因此可選用更為靈活復(fù)雜的 算法;由于條帶級解碼功能塊從slice —級開始解析而不是通常的宏塊級,因此硬件也 可以實(shí)現(xiàn)一些簡單的錯(cuò)誤恢復(fù),當(dāng)出現(xiàn)不可恢復(fù)的錯(cuò)誤時(shí)硬件可以采用一些掩蔽算法, 搜索到下一個(gè)slice起始位置繼續(xù)解碼。
全文摘要
本發(fā)明屬于數(shù)字視頻編解碼技術(shù)領(lǐng)域,所提出的一種軟硬件配合的視頻解碼器實(shí)現(xiàn)方案主要包含以下內(nèi)容通過碼流預(yù)處理功能塊,以起始碼為標(biāo)記將原始碼流分解成若干分段,以特定結(jié)構(gòu)進(jìn)行存儲;將視頻解碼器分為圖像級解析和條帶級解碼,并使用不同的方法處理,其中圖像級解析使用軟件處理(對于不同應(yīng)用可同時(shí)考慮使用硬件加速),條帶級解碼使用硬件處理;軟件負(fù)責(zé)調(diào)度、糾錯(cuò)等復(fù)雜多變的處理,硬件負(fù)責(zé)解碼等大運(yùn)算量的處理,軟硬件協(xié)同工作,并行處理數(shù)據(jù)。本發(fā)明在保證整體性能的前提下,降低了硬件設(shè)計(jì)的復(fù)雜度,增強(qiáng)了實(shí)現(xiàn)的靈活性,使之能夠應(yīng)用于不同的視頻解碼器;軟硬件的并行處理也使在更低的系統(tǒng)要求下實(shí)現(xiàn)高清解碼器成為可能。
文檔編號H04N7/26GK101466037SQ20071030373
公開日2009年6月24日 申請日期2007年12月21日 優(yōu)先權(quán)日2007年12月21日
發(fā)明者何文學(xué), 王大旗 申請人:北京中電華大電子設(shè)計(jì)有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
包头市| 耒阳市| 海南省| 通海县| 平江县| 嘉义市| 山阳县| 桃园市| 安丘市| 利辛县| 镶黄旗| 台前县| 鄂尔多斯市| 呼玛县| 越西县| 互助| 洛南县| 吐鲁番市| 永兴县| 临邑县| 平江县| 阜城县| 江北区| 高安市| 庆安县| 阳城县| 东城区| 滦南县| 南华县| 大宁县| 南澳县| 开鲁县| 六安市| 奎屯市| 浦城县| 武冈市| 正蓝旗| 新化县| 韩城市| 高要市| 柏乡县|