两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

數(shù)字視頻解碼方法和裝置的制作方法

文檔序號(hào):7742868閱讀:177來(lái)源:國(guó)知局
專利名稱:數(shù)字視頻解碼方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)字視頻解碼方法和裝置。
背景技術(shù)
經(jīng)過(guò)十年多演變,音視頻編碼技術(shù)本身和產(chǎn)業(yè)應(yīng)用背景都發(fā)生了明顯變化。目 前音視頻產(chǎn)業(yè)可以選擇的信源編碼標(biāo)準(zhǔn)主要有三個(gè)MPEG-2、 MPEG-4 AVC (簡(jiǎn)稱AVC,也稱 VT、H. 264) 、AVS。 MPEG-2制定于1994年,由MPEG專家組完成,屬于第一代信源標(biāo)準(zhǔn)。經(jīng)過(guò)十幾年的 發(fā)展,MPEG-2已經(jīng)成為目前國(guó)際上最為通行的音視頻標(biāo)準(zhǔn)。 H. 264標(biāo)準(zhǔn)由IS0/IEC和ITU-T聯(lián)合制定,標(biāo)志著視頻壓縮技術(shù)的最新進(jìn) 展.H. 264視頻編碼新標(biāo)準(zhǔn)采用一系列最新的壓縮技術(shù),大大提高了壓縮率圖像質(zhì)量.
AVS (Audio Video Coding Standard)標(biāo)準(zhǔn)是《信息技術(shù)先進(jìn)音視頻編碼》系列標(biāo) 準(zhǔn)的簡(jiǎn)稱,是由我國(guó)自主提出的第一個(gè)音視頻編碼標(biāo)準(zhǔn),其在壓縮效率上是MPEG2的2. 4 倍,與H. 264相當(dāng)。 MPEG-2是目前最為成熟的一種音視頻編碼標(biāo)準(zhǔn),但由于技術(shù)陳舊需要更新及收
費(fèi)較高等原因,在將來(lái)退出歷史舞臺(tái)已是大勢(shì)所趨;較高壓縮率和圖像質(zhì)量上的絕對(duì)優(yōu)勢(shì)
使H. 264在當(dāng)前和未來(lái)的音視頻領(lǐng)域具備了強(qiáng)大的競(jìng)爭(zhēng)力,但其新專利許可政策被認(rèn)為過(guò)
于苛刻令人無(wú)法接受;而AVS是基于我國(guó)創(chuàng)新技術(shù)和部分公開(kāi)技術(shù)的自主標(biāo)準(zhǔn),編碼效率
與H. 264相當(dāng),而且技術(shù)方案簡(jiǎn)潔,芯片實(shí)現(xiàn)復(fù)雜度低;而且,AVS通過(guò)簡(jiǎn)潔的一站式許可政
策,解決了 H. 264專利許可問(wèn)題死結(jié),是開(kāi)放式制訂的國(guó)家、國(guó)際標(biāo)準(zhǔn),易于推廣。 因此,在當(dāng)前或者今后相當(dāng)長(zhǎng)的一段時(shí)期內(nèi),音視頻領(lǐng)域?qū)⒊尸F(xiàn)MPEG-2、 H.264、
AVS三足鼎立的局面。作為第一代信源標(biāo)準(zhǔn)MPEG-2將繼續(xù)占領(lǐng)著相當(dāng)一部分市場(chǎng)份額,
H. 264以其絕對(duì)的技術(shù)優(yōu)勢(shì)也將逐步推廣開(kāi)來(lái),而中國(guó)具有完全自主知識(shí)產(chǎn)權(quán)的AVS以其
實(shí)現(xiàn)的簡(jiǎn)潔性和較低專利費(fèi)用等優(yōu)勢(shì)也將在未來(lái)的市場(chǎng)(特別是大陸市場(chǎng))占有一席之
地。在這個(gè)承上啟下、三個(gè)標(biāo)準(zhǔn)共存時(shí)期多格式解碼器的設(shè)計(jì)便隨之被推向歷史舞臺(tái)。 MPEG-2、 H. 264、 AVS三種種主流解碼器所采用的系統(tǒng)層如下 1. MPEG-2視頻采用的是MPEG-2的系統(tǒng)層,即13818-1協(xié)議。 2. AVS標(biāo)準(zhǔn)中的系統(tǒng)層部分(即AVS-P1)是照著MPEG-2系統(tǒng)層搬過(guò)來(lái)的,因此完
全支持13818-1協(xié)議。 3. H. 264則在VCL之外通過(guò)NAL完成了對(duì)多種傳輸層的支持
1)為各種實(shí)時(shí)的有線和無(wú)線網(wǎng)絡(luò)服務(wù)的RTP/TP協(xié)議
2)文件格式如ISO MP4存貯格式和匪S格式
3)有線和無(wú)線會(huì)話服務(wù)的H32X協(xié)議
4)廣播服務(wù)的MPEG-2的系統(tǒng) 因此,MPEG-2、AVS以及應(yīng)用于廣播服務(wù)的H. 264都采用了 MPEG-2系統(tǒng)層。在DTV 領(lǐng)域MPEG-2、H. 264、AVS所采用的系統(tǒng)層協(xié)議也為三種標(biāo)準(zhǔn)的集成帶來(lái)了一定便利。清DTV芯片,集成了上述三種視 頻標(biāo)準(zhǔn)的decoder,具備三種標(biāo)準(zhǔn)的節(jié)目解碼能力。但是,在啟動(dòng)decoder之前必須首先通 過(guò)相應(yīng)的識(shí)別算法有效快速的判斷出視頻節(jié)目的編碼標(biāo)準(zhǔn),才能正確的向相應(yīng)的decoder 下達(dá)解碼指令。模式的識(shí)別錯(cuò)誤將直接導(dǎo)致CPU發(fā)出錯(cuò)誤的解碼指令,而模式識(shí)別的快慢 將直接影響節(jié)目搜索或節(jié)目前換的時(shí)間。如果不能正常進(jìn)行視頻編碼模式的識(shí)別或者識(shí)別 錯(cuò)誤都將直接導(dǎo)致整個(gè)芯片工作癱瘓或者出現(xiàn)有聲無(wú)影的現(xiàn)象,而模式識(shí)別的速度較慢將 導(dǎo)致節(jié)目切換過(guò)程中圖像嚴(yán)重滯后。因此,一個(gè)有效的快速的模式識(shí)別設(shè)計(jì)對(duì)整個(gè)DTV芯 片的性能有著重要的影響。而模式識(shí)別之后還必須有效的去除AVS、H. 264、MPEG-2中的起 始碼以及AVS、H. 264中的偽起始碼decoder才能進(jìn)行后續(xù)的正常解碼。AVS、H. 264中的偽 起始碼的格式不同,但又具有一定的相似性。因此,采取一種合理的硬件設(shè)計(jì)在能有效去除 AVS、 H. 264、 MPEG-2中的起始碼和偽起始碼盡可能多的考慮硬件功能的復(fù)用也是眾多芯片 廠家所要考慮的重要問(wèn)題之一。 AVS是具有中國(guó)自主知識(shí)產(chǎn)權(quán)的最新數(shù)字音視頻編解碼標(biāo)準(zhǔn),應(yīng)用于高清晰度數(shù) 字電視、高清晰度激光視盤(pán)機(jī)、網(wǎng)絡(luò)電視、視頻通信等重大音視頻領(lǐng)域。AVS的編碼效率比 MPEG2高兩到三倍,與H. 264相當(dāng)。在實(shí)現(xiàn)上,AVS編碼器的復(fù)雜度為H. 264的70%,解碼 器的復(fù)雜度為H. 264的30%。大力推廣中國(guó)自主知識(shí)產(chǎn)權(quán)的AVS標(biāo)準(zhǔn)每年可為國(guó)家節(jié)省數(shù) 十億美元的專利費(fèi),具有良好的市場(chǎng)前景和研究?jī)r(jià)值。 對(duì)于AVS數(shù)字視頻解碼器,尤其對(duì)于運(yùn)算量極大的高清實(shí)時(shí)AVS解碼來(lái)說(shuō),宏塊的 解碼運(yùn)算主要集中在殘差數(shù)據(jù)的獲取(反掃描反量化反變換),幀內(nèi)幀間預(yù)測(cè)數(shù)據(jù)獲取(包 含幀內(nèi)預(yù)測(cè)處理、運(yùn)動(dòng)矢量獲取、像素插值計(jì)算、加權(quán)預(yù)測(cè)處理),數(shù)據(jù)重建,環(huán)路濾波這幾 大環(huán)節(jié)上。同時(shí),數(shù)據(jù)在內(nèi)外存的來(lái)回搬移也是解碼實(shí)現(xiàn)的關(guān)鍵。 目前的數(shù)字視頻解碼方法一般是順序執(zhí)行上述宏塊解碼的所有環(huán)節(jié),這樣,實(shí)時(shí) 的解碼要求對(duì)于單一處理器來(lái)說(shuō)運(yùn)算量過(guò)于龐大,需要處理器具備非常強(qiáng)的運(yùn)算處理能 力,對(duì)于軟硬件平臺(tái)實(shí)現(xiàn)代價(jià)很高。

發(fā)明內(nèi)容
本發(fā)明旨在提供一種數(shù)字視頻解碼方法和裝置,能夠解決相關(guān)技術(shù)中AVS數(shù)字視 頻解碼過(guò)程花費(fèi)的時(shí)間較長(zhǎng)的問(wèn)題。 根據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)字視頻解碼方法,其包括將視頻的宏塊解 碼過(guò)程劃分成N個(gè)解碼階段,其中,N為大于1的自然數(shù);對(duì)當(dāng)前宏塊依次執(zhí)行第1到第N個(gè) 解碼階段,其中,在對(duì)當(dāng)前宏塊執(zhí)行第i個(gè)解碼階段時(shí),并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè) 解碼階段,i為自然數(shù),且1 < i《N。 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種數(shù)字視頻解碼裝置,其包括N個(gè)解碼單 元,其中,N為視頻的宏塊解碼過(guò)程被劃分成的解碼階段的數(shù)量,第j個(gè)解碼單元執(zhí)行第j個(gè) 解碼階段,1《j《N ;控制單元,連接至N個(gè)解碼單元,用于在第i個(gè)解碼單元對(duì)當(dāng)前宏塊 執(zhí)行第i個(gè)解碼階段時(shí),控制第i-1個(gè)解碼單元并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè)解碼階 段,其中i為自然數(shù),且Ki《N。
本發(fā)明實(shí)現(xiàn)了如下的技術(shù)效果 根據(jù)視頻的宏塊解碼過(guò)程中各解碼任務(wù)的依存關(guān)系以及實(shí)現(xiàn)復(fù)雜度,將視頻的宏塊解碼過(guò)程劃分成多個(gè)解碼階段,并且并行的執(zhí)行各解碼階段的解碼操作。通過(guò)這種流水 線似的解碼過(guò)程,可以大大提高多種視頻的解碼效率(尤其是對(duì)AVS視頻而言),實(shí)現(xiàn)高清 實(shí)時(shí)的解碼。


圖1是根據(jù)本發(fā)明實(shí)施例的AVS視頻的宏塊解碼模塊之間依賴關(guān)系的示意圖; 圖2是根據(jù)本發(fā)明實(shí)施例的數(shù)字視頻解碼方法的流程圖; 圖3是根據(jù)本發(fā)明實(shí)施例1的劃分成2個(gè)解碼階段的AVS視頻的宏塊解碼過(guò)程的 示意圖; 圖4是根據(jù)本發(fā)明實(shí)施例1的各解碼階段并行處理的示意圖; 圖5是根據(jù)本發(fā)明實(shí)施例2的劃分成4個(gè)解碼階段的AVS視頻的宏塊解碼過(guò)程的
示意圖; 圖6是根據(jù)本發(fā)明實(shí)施例2的各解碼階段并行處理的示意圖; 圖7是根據(jù)本發(fā)明實(shí)施例的數(shù)字視頻解碼裝置的示意圖。
具體實(shí)施例方式
以下以AVS視頻為例,詳細(xì)描述本發(fā)明的數(shù)字視頻解碼方法。但本領(lǐng)域技術(shù)人員
可以理解的是,本發(fā)明的數(shù)字視頻解碼方法還可以應(yīng)用到其他種類(lèi)的視頻。 在AVS解碼實(shí)現(xiàn)流程中,是以宏塊為單位進(jìn)行解碼的,宏塊的解碼是整個(gè)AVS解碼
器的核心。如圖1所示,每個(gè)宏塊的解碼過(guò)程由以下幾個(gè)解碼部分組成 1)宏塊的基本解碼信息及殘差數(shù)據(jù)解碼階段,其主要包含的宏塊解碼部分有宏
塊頭信息解碼(vldjieader)、殘差系數(shù)解碼(vld_luma and vld_chroma)、預(yù)測(cè)運(yùn)動(dòng)矢量計(jì)
算(get—pmv)、預(yù)測(cè)幀內(nèi)模式計(jì)算(get—mode)、得到幀間預(yù)測(cè)參考?jí)K位置(get_ref_p0S)、
當(dāng)前宏塊各個(gè)邊界的環(huán)濾波強(qiáng)度計(jì)算(get—bs)、逆掃描過(guò)程(zigzag); 2)宏塊的反量化和反變換階段,其主要包含的宏塊解碼部分有反量化和反變換
過(guò)程(dqjdct)、通過(guò)DMA讀取當(dāng)前宏塊各個(gè)子塊的參考?jí)K(dmajoad); 3)宏塊的預(yù)測(cè)過(guò)程及數(shù)據(jù)重建階段,其主要包含的宏塊解碼部分有運(yùn)動(dòng)補(bǔ)償
(MotionCompensation, MC)、幀內(nèi)或幀間塊予頁(yè)測(cè)(interpolation and intra—prediction)
(以便得到預(yù)測(cè)塊數(shù)據(jù))、重構(gòu)塊數(shù)據(jù)(recon)(預(yù)測(cè)數(shù)據(jù)+殘差數(shù)據(jù)); 4)宏塊的環(huán)路濾波處理階段,其主要包含的宏塊解碼部分有環(huán)路濾波處理
(deblocking)、處理后數(shù)據(jù)通過(guò)DMA存儲(chǔ)到片外存儲(chǔ)器上(dma_save)。 從上述的宏塊解碼過(guò)程的組成部分可以分析出如圖1所示的解碼依賴關(guān)系。 本發(fā)明的數(shù)字視頻解碼方法將上述的宏塊解碼過(guò)程劃分成多個(gè)解碼階段,然后并
行執(zhí)行上述解碼階段,從而大大的減少解碼時(shí)間,實(shí)現(xiàn)高清實(shí)時(shí)的AVS解碼。 如圖2所示,根據(jù)本發(fā)明實(shí)施例的數(shù)字視頻解碼方法主要包括如下步驟 S21,將AVS視頻的宏塊解碼過(guò)程劃分成N個(gè)解碼階段,其中,N為大于1的自然數(shù); S22,對(duì)當(dāng)前宏塊依次執(zhí)行第1到第N個(gè)解碼階段,其中,在對(duì)所述當(dāng)前宏塊執(zhí)行
第i個(gè)解碼階段時(shí),并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè)解碼階段,其中i為自然數(shù),且1
< i《N。
6
在對(duì)所述當(dāng)前宏塊執(zhí)行第i個(gè)解碼階段后,用于對(duì)所述當(dāng)前宏塊執(zhí)行所述第i個(gè) 解碼階段的實(shí)體讀取所述下一個(gè)宏塊,并對(duì)所述下一個(gè)宏塊進(jìn)行所述第i個(gè)解碼階段。
下面將通過(guò)具體的實(shí)施例來(lái)詳細(xì)描述數(shù)字視頻解碼方法。
實(shí)施例1 在本實(shí)施例中,N = 2,即,將上述的宏塊解碼過(guò)程劃分成第一解碼階段和第二解 碼階段。如圖3所示,第一解碼階段主要包括宏塊的基本解碼信息及殘差數(shù)據(jù)解碼階段、 宏塊的反量化和反變換階段,例如,宏塊的基本解碼信息的獲取、殘差數(shù)據(jù)的獲取、宏塊的 反量化和宏塊的反變換;第二解碼階段主要包括宏塊的預(yù)測(cè)過(guò)程及數(shù)據(jù)重建階段、宏塊 的環(huán)路濾波處理階段,例如,宏塊的預(yù)測(cè)數(shù)據(jù)的獲取、塊數(shù)據(jù)的重構(gòu)以及宏塊的環(huán)路濾波處 理。 下面闡述將宏塊的解碼過(guò)程劃分成第一解碼階段和第二解碼階段的具體過(guò)程。
1)從圖1中可以看出,宏塊頭信息及殘差系數(shù)的解碼是整個(gè)系統(tǒng)最基礎(chǔ)的部分, 其他所有模塊的解碼運(yùn)算均需要此部分提供的數(shù)據(jù)。此外,一些重要的后續(xù)解碼使用的變 量可以通過(guò)頭信息的解碼直接計(jì)算得到,其中,上述的后續(xù)解碼使用的變量計(jì)算包括預(yù)測(cè) 運(yùn)動(dòng)矢量計(jì)算、預(yù)測(cè)幀內(nèi)模式計(jì)算、得到幀間預(yù)測(cè)參考?jí)K位置。 此外,作為AVS解碼的兩大組成分支,預(yù)測(cè)數(shù)據(jù)和殘差數(shù)據(jù)的獲取是數(shù)據(jù)的兩條 通路,具有完全的獨(dú)立性。但是考慮到進(jìn)行預(yù)測(cè)數(shù)據(jù)計(jì)算之前,特別針對(duì)于幀間預(yù)測(cè)來(lái)說(shuō), 需要通過(guò)DMA從參考幀中將定位了參考?jí)K位置的數(shù)據(jù)從片外讀取到片內(nèi)以便進(jìn)行插值計(jì) 算,這部分?jǐn)?shù)據(jù)準(zhǔn)備同樣要花費(fèi)時(shí)間,因此在本實(shí)施例中,將塊的反量化和反變換同DMA的 數(shù)據(jù)搬移同步起來(lái)。實(shí)際上,這個(gè)階段的反量化和反變換處理以及DMA的數(shù)據(jù)搬移是并行 的,數(shù)據(jù)運(yùn)算量也不大,花費(fèi)的解碼時(shí)間會(huì)比較少。 從而,在本實(shí)施例中,將上述宏塊的解碼過(guò)程(即,宏塊的基本信息及殘差數(shù)據(jù)解 碼階段、宏塊的反量化和反變換階段)作為第一解碼階段。 2)進(jìn)一步,宏塊的類(lèi)型從根本上來(lái)說(shuō)只分為幀內(nèi)和幀間兩大類(lèi),所以將幀內(nèi)幀間
預(yù)測(cè)處理以及宏塊的重建劃分在同一個(gè)解碼階段中。這其中包含運(yùn)算量比較大的象素插值
處理,但由于其準(zhǔn)備工作(運(yùn)動(dòng)矢量(motion vector,mv)的獲取和參考數(shù)據(jù)的獲取)已經(jīng)
被分配到第一解碼階段完成,所以這一部分實(shí)際消耗的解碼時(shí)間與第一解碼部分相當(dāng)。 此外,系統(tǒng)將環(huán)路濾波整合到宏塊級(jí)實(shí)現(xiàn),而不是在整幀宏塊全部解碼完畢時(shí)統(tǒng)
一濾波,這樣的好處在于可以直接利用第一解碼階段計(jì)算出來(lái)的環(huán)路濾波強(qiáng)度,而不必去
存儲(chǔ),耗費(fèi)內(nèi)存資源和再次讀取的過(guò)程。 在本實(shí)施例中,將上述宏塊的解碼過(guò)程(即,宏塊的預(yù)測(cè)過(guò)程及數(shù)據(jù)重建階段、宏 塊的環(huán)路濾波處理階段)作為第二解碼階段。 圖4是根據(jù)本發(fā)明實(shí)施例1的各解碼階段并行處理的示意圖。如圖4所示,在對(duì) 第一個(gè)宏塊執(zhí)行完第一解碼階段之后,對(duì)第一個(gè)宏塊執(zhí)行第二解碼階段,并同時(shí)對(duì)第二個(gè) 宏塊執(zhí)行第一解碼階段。同樣,在對(duì)第二個(gè)宏塊執(zhí)行完第一解碼階段之后,對(duì)第二個(gè)宏塊執(zhí) 行第二解碼階段,并同時(shí)對(duì)第三個(gè)宏塊執(zhí)行第一解碼階段。 可見(jiàn),通過(guò)上述并行地執(zhí)行第一和第二解碼階段,從而大大地減少解碼時(shí)間,提高 解碼效率,實(shí)現(xiàn)高清實(shí)時(shí)的AVS解碼。 進(jìn)一步,在本實(shí)施例中,第二解碼階段的運(yùn)算量與第一解碼階段的運(yùn)算量相當(dāng),也就是,第一解碼階段和第二解碼階段的運(yùn)算量之間的差值小于閾值。通過(guò)將宏塊的解碼過(guò) 程劃分成運(yùn)算量相當(dāng)?shù)膬蓚€(gè)解碼階段,使得第一解碼階段和第二解碼階段基本上可以同時(shí) 完成,從而進(jìn)一步縮短了解碼時(shí)間。
實(shí)施例2 在本實(shí)施例中,N = 4,即,將上述的宏塊解碼過(guò)程劃分成第一解碼階段、第二解 碼階段、第三解碼階段和第四解碼階段。如圖5所示,第一解碼階段主要包括宏塊的基本 信息及殘差數(shù)據(jù)解碼階段,例如,宏塊的基本信息的獲取、殘差數(shù)據(jù)的獲?。坏诙獯a階段 主要包括宏塊的反量化和反變換階段,例如,宏塊的反量化和宏塊的反變換;第三解碼階 段主要包括宏塊的預(yù)測(cè)過(guò)程及數(shù)據(jù)重建階段,例如,宏塊的預(yù)測(cè)數(shù)據(jù)的獲取、塊數(shù)據(jù)的重 構(gòu);第四解碼階段主要包括宏塊的環(huán)路濾波處理階段,例如,宏塊的環(huán)路濾波處理。
下面闡述將宏塊的解碼過(guò)程劃分成第一解碼階段至第四解碼階段的具體過(guò)程。
1)從圖1中可以看出,宏塊頭信息及殘差系數(shù)的解碼是整個(gè)系統(tǒng)最基礎(chǔ)的部分, 其他所有模塊的解碼運(yùn)算均需要此部分提供的數(shù)據(jù)。此外,一些重要的后續(xù)解碼使用的變 量可以通過(guò)頭信息的解碼直接計(jì)算得到(其中,后續(xù)解碼使用的變量計(jì)算包括預(yù)測(cè)運(yùn)動(dòng) 矢量計(jì)算、預(yù)測(cè)幀內(nèi)模式計(jì)算、得到幀間預(yù)測(cè)參考?jí)K位置),因此可以將這些部分融合在一 起形成第一解碼階段。這個(gè)階段數(shù)據(jù)的運(yùn)算量比較小,大部分是邏輯判斷和跳轉(zhuǎn)指令。
2)作為AVS解碼的兩大組成分支,預(yù)測(cè)數(shù)據(jù)和殘差數(shù)據(jù)的獲取是數(shù)據(jù)的兩條通 路,具有完全的獨(dú)立性。但是考慮到進(jìn)行預(yù)測(cè)數(shù)據(jù)計(jì)算之前,特別針對(duì)于幀間預(yù)測(cè)來(lái)說(shuō),需 要通過(guò)DMA從參考幀中將定位了參考?jí)K位置的數(shù)據(jù)從片外讀取到片內(nèi)以便進(jìn)行插值計(jì)算, 這部分?jǐn)?shù)據(jù)準(zhǔn)備同樣要花費(fèi)時(shí)間,因此將塊的反量化反變換同DMA的數(shù)據(jù)搬移同步起來(lái), 組成第二解碼階段。實(shí)際上,這個(gè)階段的反量化反變換處理和DMA的數(shù)據(jù)搬移是并行的,數(shù) 據(jù)運(yùn)算量也不大,花費(fèi)的解碼時(shí)間會(huì)比較少,因此也可以將其歸入第一解碼階段中。
3)宏塊的類(lèi)型從根本上來(lái)說(shuō)只分為幀內(nèi)和幀間兩大類(lèi),所以在本實(shí)施例中將幀內(nèi) 幀間預(yù)測(cè)處理以及宏塊的重建劃分在第三解碼階段中。這其中包含運(yùn)算量比較大的象素 插值處理,但由于其準(zhǔn)備工作(運(yùn)動(dòng)矢量(motion vector,mv)的獲取和參考數(shù)據(jù)的獲取) 已經(jīng)分配到前兩個(gè)解碼階段完成,所以這一部分實(shí)際消耗的解碼時(shí)間與前兩個(gè)解碼階段相 當(dāng)。 4)系統(tǒng)將環(huán)路濾波整合到宏塊級(jí)實(shí)現(xiàn),而不是在整幀宏塊全部解碼完畢時(shí)統(tǒng)一濾 波,這樣的好處在于可以直接利用第一解碼階段計(jì)算出來(lái)的環(huán)路濾波強(qiáng)度,而不必去存儲(chǔ), 耗費(fèi)內(nèi)存資源和再次讀取的過(guò)程。將環(huán)路濾波和最終處理數(shù)據(jù)的更新作為第四解碼階段, 其運(yùn)算量和前三個(gè)階段也大致相當(dāng)。 圖6是根據(jù)本發(fā)明實(shí)施例2的各解碼階段并行處理的示意圖。如圖4所示,在對(duì) 第一宏塊執(zhí)行完第一解碼階段之后,對(duì)第一個(gè)宏塊執(zhí)行第二解碼階段,并同時(shí)對(duì)第二個(gè)宏 塊執(zhí)行第一解碼階段。 同樣,在對(duì)第一個(gè)宏塊執(zhí)行完第二解碼階段之后,對(duì)第一個(gè)宏塊執(zhí)行第三解碼階 段,并同時(shí)對(duì)第二個(gè)宏塊執(zhí)行第二解碼階段、以及對(duì)第三個(gè)宏塊執(zhí)行第一解碼階段。
同樣,在對(duì)第一個(gè)宏塊執(zhí)行完第三解碼階段之后,對(duì)第一個(gè)宏塊執(zhí)行第四解碼階 段,并同時(shí)對(duì)第二個(gè)宏塊執(zhí)行第三解碼階段、對(duì)第三個(gè)宏塊執(zhí)行第二解碼階段、以及對(duì)第四 個(gè)宏塊執(zhí)行第一解碼階段。
可見(jiàn),通過(guò)上述并行地執(zhí)行四個(gè)解碼階段,從而大大地減少解碼時(shí)間,實(shí)現(xiàn)高清實(shí) 時(shí)的AVS解碼。 進(jìn)一步,在本實(shí)施例中,上述四個(gè)解碼階段的運(yùn)算量基本相同,也就是,四個(gè)解碼
階段中任意兩個(gè)的運(yùn)算量的差值小于閾值。通過(guò)將宏塊的解碼過(guò)程劃分成運(yùn)算量相當(dāng)?shù)乃?br> 個(gè)解碼階段,使得四個(gè)解碼階段基本上可以同時(shí)完成,從而進(jìn)一步縮短了解碼時(shí)間。 在實(shí)施例1和2中,對(duì)于宏塊的解碼過(guò)程的劃分方法,其基本實(shí)現(xiàn)思想是一個(gè)解碼
階段代表一個(gè)線程,實(shí)現(xiàn)多線程的并行處理。下面以實(shí)施例2為例,對(duì)該實(shí)現(xiàn)思想進(jìn)行進(jìn)一
步描述。 首先,對(duì)于一個(gè)宏塊來(lái)說(shuō),當(dāng)?shù)谝唤獯a階段中宏塊的各部分vld解碼完成并得到 相應(yīng)宏塊信息的時(shí)候,就會(huì)啟動(dòng)第二解碼階段。然后,在第二解碼階段中完成反量化和反變 換以及準(zhǔn)備好預(yù)測(cè)數(shù)據(jù)后,又會(huì)激活第三解碼階段預(yù)測(cè)部分的處理。當(dāng)完成數(shù)據(jù)重構(gòu)后,第 四解碼階段中的環(huán)路濾波將會(huì)進(jìn)入解碼流程。 其次,對(duì)于宏塊隊(duì)列來(lái)說(shuō)(將一個(gè)個(gè)待解碼的宏塊看作是等待處理的宏塊隊(duì)列), 當(dāng)?shù)谝粋€(gè)宏塊的第一解碼階段完成后,負(fù)責(zé)該階段的內(nèi)核將立刻進(jìn)入第二個(gè)宏塊的vld解 碼階段,而此時(shí)負(fù)責(zé)第一個(gè)宏塊第二解碼階段的內(nèi)核同時(shí)進(jìn)行反量化和反變換及準(zhǔn)備預(yù)測(cè) 數(shù)據(jù)的處理,二者之間實(shí)現(xiàn)了很好的并行機(jī)制。同理,當(dāng)?shù)谝粋€(gè)宏塊的第三解碼階段進(jìn)入處 理時(shí),第二個(gè)宏塊的第二解碼階段和第三個(gè)宏塊的第一解碼階段也將同時(shí)的進(jìn)入處理。以 此類(lèi)推,最終將會(huì)形成四個(gè)宏塊的不同解碼階段同時(shí)被執(zhí)行的四線程并行機(jī)制。
在四線程并行處理機(jī)制中,使四個(gè)連續(xù)的宏塊同時(shí)處于不同的解碼階段,除了設(shè) 置每一階段的通信接口 (包括重要的解碼元素的傳遞和共用數(shù)據(jù)開(kāi)辟的存儲(chǔ)空間)夕卜,四 個(gè)線程將通過(guò)握手信號(hào)的設(shè)置作為完成解碼操作的標(biāo)志,避免協(xié)同處理混亂的出現(xiàn)。系統(tǒng) 將解碼運(yùn)算處理和大塊的片內(nèi)片外數(shù)據(jù)存取操作全部考慮在內(nèi),形成解碼運(yùn)算時(shí)間基本相 當(dāng)?shù)乃膫€(gè)線程,在并行處理過(guò)程中保證彼此不會(huì)產(chǎn)生延遲,最大可能的保證每個(gè)線程的執(zhí) 行效率,從而使整個(gè)系統(tǒng)達(dá)到最優(yōu)。 在上述實(shí)施例1和2中,N個(gè)解碼階段中的每一個(gè)的解碼操作可以由N核處理器 的一個(gè)內(nèi)核完成,或者,N個(gè)解碼階段中的每一個(gè)的解碼操作由一個(gè)處理器完成。此外,本 發(fā)明不僅可以應(yīng)用于基于多核處理器實(shí)現(xiàn)的AVS視頻解碼器,還可以應(yīng)用于基于多級(jí)流水 線ASIC實(shí)現(xiàn)的AVS視頻解碼器。目前已經(jīng)在多核處理器(如PC和DSP)平臺(tái)以及FPGA上 驗(yàn)證實(shí)現(xiàn),通過(guò)對(duì)AVS工作組一致性碼流的測(cè)試,性能穩(wěn)定。 在本發(fā)明中,對(duì)AVS視頻采用上述實(shí)施例1和2中的數(shù)字視頻解碼方法,這只是一 種示例,本發(fā)明的數(shù)字視頻解碼方法還可以應(yīng)用于其他種類(lèi)的視頻,只要該種視頻的解碼 過(guò)程可以劃分成多個(gè)部分,例如,MPEC-2、H. 264等。 圖7是根據(jù)本發(fā)明實(shí)施例的數(shù)字視頻解碼裝置的示意圖。如圖7所示,數(shù)字視頻 解碼裝置包括N個(gè)解碼單元71,其中,N為視頻的宏塊解碼過(guò)程被劃分成的解碼階段的數(shù) 量,第j個(gè)解碼單元執(zhí)行第j個(gè)解碼階段,1《j《N,在本實(shí)施例中,上述視頻為AVS視頻, 即,N為AVS視頻的宏塊解碼過(guò)程被劃分成的解碼階段的數(shù)量,但本領(lǐng)域技術(shù)人員還可以理 解的是,上述視頻還可以包括其他種類(lèi)的視頻,只要該種視頻的解碼過(guò)程可以劃分成多個(gè) 部分,例如,MPEC-2、 H. 264等;控制單元72,連接至所述N個(gè)解碼單元,用于在第i個(gè)解碼 單元對(duì)當(dāng)前宏塊執(zhí)行第i個(gè)解碼階段時(shí),控制第i-l個(gè)解碼單元并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè)解碼階段,其中i為自然數(shù),且1 < i《N。 N個(gè)解碼單元71集成在一個(gè)N核處理器中,其中,N核處理器中的一個(gè)內(nèi)核對(duì)應(yīng)于
一個(gè)解碼單元,或者,N個(gè)解碼單元71中的每一個(gè)集成在一個(gè)處理器中。 在本實(shí)施例中,N可以為2,相應(yīng)的,第一個(gè)解碼單元71執(zhí)行第一解碼階段,第二個(gè)
解碼單元71執(zhí)行第二解碼階段。上述2個(gè)解碼單元71可以采用如圖4所示的處理方法來(lái)
并行地執(zhí)行兩個(gè)解碼階段,從而通過(guò)并行地執(zhí)行兩個(gè)解碼階段,大大地減少解碼時(shí)間,實(shí)現(xiàn)
高清實(shí)時(shí)的AVS解碼。進(jìn)一步,可以使第一解碼階段和第二解碼階段的運(yùn)算量之間的差值
小于閾值。這樣,通過(guò)將宏塊的解碼過(guò)程劃分成運(yùn)算量相當(dāng)?shù)膬蓚€(gè)解碼階段,使得第一解碼
階段和第二解碼階段基本上可以同時(shí)完成,從而進(jìn)一步縮短了解碼時(shí)間。 或者,在本實(shí)施例中,N可以為4,相應(yīng)的,第一個(gè)解碼單元71執(zhí)行第一解碼階段,
第二個(gè)解碼單元71執(zhí)行第二解碼階段,第三個(gè)解碼單元71執(zhí)行第三解碼階段,第四個(gè)解碼
單元71執(zhí)行第四解碼階段。上述4個(gè)解碼單元71可以采用如圖6所示的處理方法來(lái)并行
地執(zhí)行四個(gè)解碼階段,從而通過(guò)并行地執(zhí)行四個(gè)解碼階段,大大地減少解碼時(shí)間,實(shí)現(xiàn)高清
實(shí)時(shí)的AVS解碼。進(jìn)一步,可以使四個(gè)解碼階段中任意兩個(gè)的運(yùn)算量的差值小于閾值。這
樣,通過(guò)將宏塊的解碼過(guò)程劃分成運(yùn)算量相當(dāng)?shù)乃膫€(gè)解碼階段,使得四個(gè)解碼階段基本上
可以同時(shí)完成,從而進(jìn)一步縮短了解碼時(shí)間。 在本發(fā)明實(shí)施例中,利用多核處理器的并行處理優(yōu)勢(shì)來(lái)設(shè)計(jì)AVS視頻解碼器,利 用解碼流程中各模塊的相互順序、依存關(guān)系以及實(shí)現(xiàn)復(fù)雜度,將整個(gè)解碼過(guò)程劃分成多個(gè) 解碼階段,優(yōu)選的,使每個(gè)解碼階段的運(yùn)算量基本相當(dāng)。多核處理器中的每一個(gè)核承擔(dān)其中 一個(gè)階段的解碼運(yùn)算,從而實(shí)現(xiàn)整體AVS解碼的多線程并行處理機(jī)制。多線程并行解碼機(jī) 制成倍提升AVS解碼器的處理速度,對(duì)于實(shí)現(xiàn)高清實(shí)時(shí)AVS解碼來(lái)說(shuō)是有力的保障。
在本發(fā)明中,采用上述實(shí)施例中的數(shù)字視頻解碼裝置對(duì)AVS視頻進(jìn)行解碼,這只 是一種示例,本發(fā)明的數(shù)字視頻解碼裝置還可以應(yīng)用于其他種類(lèi)的視頻,只要該種視頻的 解碼過(guò)程可以劃分成多個(gè)部分,例如,MPEC-2、H. 264等。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種數(shù)字視頻解碼方法,其特征在于,包括將視頻的宏塊解碼過(guò)程劃分成N個(gè)解碼階段,其中,N為大于1的自然數(shù);對(duì)當(dāng)前宏塊依次執(zhí)行第1到第N個(gè)解碼階段,其中,在對(duì)所述當(dāng)前宏塊執(zhí)行第i個(gè)解碼階段時(shí),并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè)解碼階段,i為自然數(shù),且1<i≤N。
2. 根據(jù)權(quán)利要求1所述的數(shù)字視頻解碼方法,其特征在于,所述N = 2,在對(duì)所述當(dāng)前 宏塊執(zhí)行第i個(gè)解碼階段時(shí),并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè)解碼階段的過(guò)程包括在對(duì)第一個(gè)宏塊執(zhí)行完第一解碼階段之后,對(duì)所述第一個(gè)宏塊執(zhí)行第二解碼階段,并 同時(shí)對(duì)第二個(gè)宏塊執(zhí)行所述第一解碼階段。
3. 根據(jù)權(quán)利要求2所述的數(shù)字視頻解碼方法,其特征在于,所述第一解碼階段的解碼 操作包括宏塊的基本解碼信息的獲取、殘差數(shù)據(jù)的獲取、宏塊的反量化和宏塊的反變換; 所述第二解碼階段的解碼操作包括宏塊的預(yù)測(cè)數(shù)據(jù)的獲取、塊數(shù)據(jù)的重構(gòu)以及宏塊的環(huán) 路濾波處理。
4. 根據(jù)權(quán)利要求1所述的數(shù)字視頻解碼方法,其特征在于,所述N = 4,在對(duì)所述當(dāng)前 宏塊執(zhí)行第i個(gè)解碼階段時(shí),并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè)解碼階段的過(guò)程包括以下 步驟在對(duì)第一個(gè)宏塊執(zhí)行完第一解碼階段之后,對(duì)所述第一個(gè)宏塊執(zhí)行第二解碼階段,并 同時(shí)對(duì)第二個(gè)宏塊執(zhí)行所述第一解碼階段;在對(duì)所述第一個(gè)宏塊執(zhí)行完所述第二解碼階段之后,對(duì)所述第一個(gè)宏塊執(zhí)行第三解碼 階段,并同時(shí)對(duì)所述第二個(gè)宏塊執(zhí)行所述第二解碼階段、以及對(duì)第三個(gè)宏塊執(zhí)行所述第一 解碼階段;在對(duì)所述第一個(gè)宏塊執(zhí)行完所述第三解碼階段之后,對(duì)所述第一個(gè)宏塊執(zhí)行第四解碼 階段,并同時(shí)對(duì)所述第二個(gè)宏塊執(zhí)行所述第三解碼階段、對(duì)所述第三個(gè)宏塊執(zhí)行所述第二 解碼階段、以及對(duì)第四個(gè)宏塊執(zhí)行所述第一解碼階段。
5. 根據(jù)權(quán)利要求4所述的數(shù)字視頻解碼方法,其特征在于,所述第一解碼階段的解碼 操作包括宏塊的基本解碼信息的獲取、殘差數(shù)據(jù)的獲?。凰龅诙獯a階段的解碼操作 包括宏塊的反量化和宏塊的反變換;所述第三解碼階段的解碼操作包括宏塊的預(yù)測(cè)數(shù) 據(jù)的獲取、塊數(shù)據(jù)的重構(gòu);所述第四解碼階段的解碼操作包括宏塊的環(huán)路濾波處理。
6. 根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的數(shù)字視頻解碼方法,其特征在于,所述N個(gè)解碼 階段中的每一個(gè)的解碼操作由處理器的一個(gè)內(nèi)核完成。
7. 根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的數(shù)字視頻解碼方法,其特征在于,所述N個(gè)解碼 階段中的每一個(gè)的解碼操作由一個(gè)處理器完成。
8. 根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的數(shù)字視頻解碼方法,其特征在于,所述N個(gè)解碼 階段中任意兩個(gè)的運(yùn)算量的差值小于閾值。
9. 一種數(shù)字視頻解碼裝置,其特征在于,包括N個(gè)解碼單元,其中,N為視頻的宏塊解碼過(guò)程被劃分成的解碼階段的數(shù)量,第j個(gè)解碼 單元執(zhí)行第j個(gè)解碼階段,1《j《N ;控制單元,連接至所述N個(gè)解碼單元,用于在第i個(gè)解碼單元對(duì)當(dāng)前宏塊執(zhí)行第i個(gè)解 碼階段時(shí),控制第i-l個(gè)解碼單元并行地對(duì)下一個(gè)宏塊執(zhí)行第i-l個(gè)解碼階段,其中i為自然數(shù),且1 < i《N。
10.根據(jù)權(quán)利要求9所述的數(shù)字視頻解碼裝置,其特征在于,所述N個(gè)解碼單元集成在 一個(gè)N核處理器中,其中,所述N核處理器中的一個(gè)內(nèi)核對(duì)應(yīng)于一個(gè)解碼單元;或者 所述N個(gè)解碼單元中的每一個(gè)集成在一個(gè)處理器中。
全文摘要
本發(fā)明提供了一種數(shù)字視頻解碼方法和裝置,其中,該數(shù)字視頻解碼方法包括將視頻的宏塊解碼過(guò)程劃分成N個(gè)解碼階段,其中,N為大于1的自然數(shù);對(duì)當(dāng)前宏塊依次執(zhí)行第1到第N個(gè)解碼階段,其中,在對(duì)當(dāng)前宏塊執(zhí)行第i個(gè)解碼階段時(shí),并行地對(duì)下一個(gè)宏塊執(zhí)行第i-1個(gè)解碼階段,i為自然數(shù),且1<i≤N。本發(fā)明根據(jù)視頻的宏塊解碼過(guò)程中各解碼任務(wù)的依存關(guān)系以及實(shí)現(xiàn)復(fù)雜度,將視頻的宏塊解碼過(guò)程劃分成多個(gè)解碼階段,并且并行地執(zhí)行各解碼階段的解碼操作。通過(guò)這種流水線似的解碼過(guò)程,可以大大提高解碼效率,實(shí)現(xiàn)高清實(shí)時(shí)的解碼。
文檔編號(hào)H04N7/50GK101778288SQ20101011713
公開(kāi)日2010年7月14日 申請(qǐng)日期2010年3月2日 優(yōu)先權(quán)日2010年3月2日
發(fā)明者何云鵬, 劉立莊, 劉西富, 張騁 申請(qǐng)人:青島海信信芯科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
陆河县| 青岛市| 石景山区| 阳泉市| 石门县| 富源县| 夏津县| 双桥区| 陇川县| 峨边| 仁布县| 吉木萨尔县| 锡林郭勒盟| 林州市| 油尖旺区| 滦南县| 芷江| 崇信县| 罗平县| 吉安市| 齐齐哈尔市| 锡林郭勒盟| 邻水| 泰宁县| 香河县| 台湾省| 金寨县| 股票| 丹棱县| 鄂尔多斯市| 襄城县| 鹤岗市| 乐昌市| 晋城| 雅江县| 滁州市| 尼玛县| 红原县| 衡东县| 广州市| 仁化县|