專利名稱:運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法和裝置及解碼器和編解碼系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體技術(shù)領(lǐng)域,尤其涉及運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法和裝置 及解碼器和編解碼系統(tǒng)。
背景技術(shù):
在視頻編解碼中,對(duì)于幀間編碼,常常用到運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償技術(shù)。編
碼時(shí)的幀間預(yù)測(cè)過程通常包括首先進(jìn)行運(yùn)動(dòng)估計(jì)的過程,即#4居一定的算法 在當(dāng)前幀的前一幀或前幾幀中搜索與當(dāng)前塊最"相似,,的塊的過程。 一旦在前 面的幀中找到與當(dāng)前幀中的塊最相似的塊,就使用這個(gè)塊作為當(dāng)前塊的參考 塊,并記錄下當(dāng)前塊與參考?jí)K之間的距離,即當(dāng)前塊的運(yùn)動(dòng)矢量(MV)。這 個(gè)參考?jí)K用于對(duì)當(dāng)前塊作預(yù)測(cè),用于在其中搜索參考?jí)K的幀叫做參考幀。在運(yùn) 動(dòng)估計(jì)搜索到了最佳塊以后通過插值算法,計(jì)算出非整數(shù)象素點(diǎn)(1/2、 1/4、 1/8等象素精度),得到預(yù)測(cè)塊,然后將當(dāng)前塊與預(yù)測(cè)塊的差值(殘差數(shù)據(jù))進(jìn) 行DCT (離散余弦變換)變換、量化、掃描,最后把掃描之后的殘差系數(shù)及 運(yùn)動(dòng)矢量進(jìn)行變長編碼,形成碼流。
解碼時(shí),先解碼出運(yùn)動(dòng)矢量和殘差數(shù)據(jù),經(jīng)反掃描,反變換,反量化得到 運(yùn)動(dòng)矢量實(shí)際的數(shù)據(jù),然后根據(jù)運(yùn)動(dòng)矢量取參考?jí)K數(shù)據(jù),對(duì)參考?jí)K進(jìn)行插值濾 波得到預(yù)測(cè)塊數(shù)據(jù),然后將預(yù)測(cè)塊數(shù)據(jù)與殘差數(shù)據(jù)一起進(jìn)行運(yùn)動(dòng)補(bǔ)償,重構(gòu)出 當(dāng)前塊的重構(gòu)塊凄t據(jù)。因此為了進(jìn)行運(yùn)動(dòng)補(bǔ)償,需要在插值濾波前,載入當(dāng)前 圖像塊的參考數(shù)據(jù)。
現(xiàn)有技術(shù)一般是依據(jù)運(yùn)動(dòng)估計(jì)向量排序分組把運(yùn)動(dòng)補(bǔ)償參考?jí)K數(shù)據(jù)進(jìn)行 聯(lián)合載入的方法,首先解碼出運(yùn)動(dòng)估計(jì)的矢量,然后進(jìn)行運(yùn)動(dòng)矢量的分組整理 排序,根據(jù)分組結(jié)果進(jìn)行參考?jí)K運(yùn)動(dòng)補(bǔ)償數(shù)據(jù)的聯(lián)合載入。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺點(diǎn)聯(lián)合 載入時(shí),為了 一次栽入多個(gè)塊的數(shù)據(jù),通常載入的數(shù)據(jù)包括其它非參考?jí)K數(shù)據(jù),
即載入數(shù)據(jù)量會(huì)增加,會(huì)造成總線帶寬的浪費(fèi),并且載入延時(shí)受總線延時(shí)影響 比較大,影響解碼器性能。
發(fā)明內(nèi)容
本發(fā)明提供了 一種運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法、裝置及解碼器和編解碼系 統(tǒng),可以提高參考數(shù)據(jù)載入的效率,減少了總線延時(shí)對(duì)載入的影響,提高了解 碼性能。
一種運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法,包括
根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);
判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;
若是,獲取搜索窗命中的參考?jí)K數(shù)據(jù);
否則,從外部存儲(chǔ)器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
一種運(yùn)動(dòng)補(bǔ)償參考H據(jù)載入裝置,包括
預(yù)載入模塊,用于根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);
搜索窗判斷模塊,用于判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;
命中數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為是后,從所述預(yù)載 入模塊載入的參考?jí)K數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);
外部數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為否后,從外部存儲(chǔ) 器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
一種解碼器,包括
預(yù)載入模塊,用于根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù); 搜索窗存儲(chǔ)模塊,用于存儲(chǔ)所述預(yù)載入模塊載入的參考?jí)K數(shù)據(jù); 搜索窗判斷模塊,用于判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K; 命中數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為是后,從所述搜索
窗存儲(chǔ)模塊的搜索窗數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);
外部數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為否后,從外部存儲(chǔ)
器獲取搜索窗未命中的參考?jí)K數(shù)據(jù);
運(yùn)動(dòng)補(bǔ)償模塊,用于對(duì)所述命中數(shù)據(jù)獲取模塊獲取的參考?jí)K數(shù)據(jù)或所述外 部數(shù)據(jù)獲取模塊獲取的參考?jí)K數(shù)據(jù)進(jìn)行插值濾波處理,獲得當(dāng)前圖像塊的解碼 數(shù)據(jù)。
一種編解碼系統(tǒng),包括
預(yù)載入模塊,用于在編碼時(shí)利用搜索窗載入運(yùn)動(dòng)估計(jì)所需的參考數(shù)據(jù),或 用于在解碼時(shí)根據(jù)預(yù)設(shè)的搜索窗大小載入運(yùn)動(dòng)補(bǔ)償所需的參考?jí)K數(shù)據(jù);
搜索窗存儲(chǔ)模塊,用于在編碼時(shí)存儲(chǔ)所述預(yù)載入模塊載入的運(yùn)動(dòng)估計(jì)參考 數(shù)據(jù),或用于在解碼時(shí)存儲(chǔ)所述預(yù)載入模塊載入的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù);
搜索窗判斷模塊,用于在解碼時(shí)判斷所述預(yù)設(shè)的搜索窗是否命中當(dāng)前圖像 塊的參考?jí)K;
命中數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為是后,從所述搜索 窗存儲(chǔ)模塊的搜索窗數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);
外部數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為否后,從外部存儲(chǔ) 器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
本發(fā)明實(shí)施例通過^f吏用搜索窗,預(yù)先載入運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù),在運(yùn)動(dòng)補(bǔ)償 時(shí),如果搜索窗命中,則可以直接從搜索窗數(shù)據(jù)中獲取參考數(shù)據(jù),可以避免多 次通過總線向外部存儲(chǔ)器獲取參考數(shù)據(jù),減少了總線延時(shí)對(duì)載入的影響,從而 提高參考數(shù)據(jù)載入的效率,提高了解碼的效率。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施 例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述 中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付 出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法實(shí)施例一的流程示意圖2為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法實(shí)施例二的流程示意圖3為搜索窗數(shù)據(jù)增量載入示意圖4為載入單元的說明示意圖; 圖5為聯(lián)合載入示意圖6為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入裝置實(shí)施例一的結(jié)構(gòu)示意圖; 圖7為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入裝置實(shí)施例二的結(jié)構(gòu)示意圖; 圖8為本發(fā)明實(shí)施例提供的解碼器結(jié)構(gòu)示意圖; 圖9所示為本發(fā)明實(shí)施例^是供的編解碼系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是 全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造 性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法實(shí)施例一的流程示意圖, 如圖1所示,該方法包括如下步驟
510、 根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);
本發(fā)明在解碼視頻數(shù)據(jù)時(shí),引入了編碼端的搜索窗概念,用于預(yù)先載入?yún)?考數(shù)據(jù)。具體地,設(shè)定好搜索窗大小,根據(jù)設(shè)定的搜索窗尺寸,預(yù)先載入相應(yīng) 大小的搜索窗數(shù)據(jù)(參考?jí)K數(shù)據(jù)),這里的搜索窗數(shù)據(jù)包括了用于運(yùn)動(dòng)補(bǔ)償?shù)?參考數(shù)據(jù),有多個(gè)參考?jí)K數(shù)據(jù),這些參考?jí)K數(shù)據(jù)對(duì)應(yīng)在編碼時(shí)用于運(yùn)動(dòng)估計(jì)的 參考?jí)K數(shù)據(jù)。
511、 判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K,若是,執(zhí)行步驟S12, 否則執(zhí)行步驟S13;
解碼時(shí),在進(jìn)行運(yùn)動(dòng)補(bǔ)償之前,則需要找到當(dāng)前圖像塊的參考?jí)K,對(duì)參考 塊進(jìn)行插值濾波,獲得預(yù)測(cè)塊,并利用預(yù)測(cè)塊數(shù)據(jù)和殘差數(shù)據(jù)重構(gòu)出當(dāng)前圖像 塊的重構(gòu)塊it據(jù)。在本實(shí)施例中,已經(jīng)預(yù)先載入一些搜索窗數(shù)據(jù),因此首先判 斷當(dāng)前圖像塊的參考?jí)K是否落入搜索窗內(nèi),即搜索窗是否命中當(dāng)前圖像塊的參 考?jí)K,如果命中,直接從搜索窗數(shù)據(jù)中獲得參考?jí)K,否則再從外部存儲(chǔ)器獲取。
512、 從所述搜索窗數(shù)據(jù)中獲取搜索窗命中的參考?jí)K數(shù)據(jù);
如前所述,如果搜索窗命中,說明當(dāng)前圖像塊的參考?jí)K可以直接從搜索窗 數(shù)據(jù)中獲取。
S13、從外部存儲(chǔ)器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
如果搜索窗沒有命中,則可以按照現(xiàn)有技術(shù)的方式獲取參考?jí)K數(shù)據(jù),由于 參考?jí)K數(shù)據(jù)是存儲(chǔ)在外部存儲(chǔ)器中的,因此需要從外部存儲(chǔ)器獲得參考數(shù)據(jù)。 具體地,可以采用聯(lián)合載入的方法,也可以采用單獨(dú)載入的方法,即一個(gè)一個(gè) 地載入未命中的參考?jí)K數(shù)據(jù),由于99%左右的參考?jí)K都可以落入搜索窗內(nèi),因 此未命中的概率是很低的,即使都用單獨(dú)載入的方法,也不會(huì)影響到整體效率。
本發(fā)明實(shí)施例通過使用搜索窗,預(yù)先載入運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù),在運(yùn)動(dòng)補(bǔ)償 時(shí),如果搜索窗命中,則可以直接從搜索窗數(shù)據(jù)中獲取參考數(shù)據(jù),實(shí)驗(yàn)表明, 99%左右的參考?jí)K可以落入在設(shè)定的搜索窗內(nèi),因此使用本發(fā)明實(shí)施例提供的 運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法,可以避免多次通過總線向外部存儲(chǔ)器獲取參考數(shù) 據(jù),減少了總線延時(shí)對(duì)載入的影響,提高了解碼的效率。
圖2為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法實(shí)施例二的流程示意圖, 本實(shí)施例中,大部分情況下仍然采用搜索窗數(shù)據(jù)預(yù)載入的方法實(shí)現(xiàn)參考數(shù)據(jù)的 載入,對(duì)于搜索窗未命中的情況,則釆用聯(lián)合載入和單獨(dú)載入相結(jié)合的方法, 即先判斷未命中的參考?jí)K是否可以聯(lián)合載入,如果可以就使用聯(lián)合載入的方 法,如果不可以則采用單獨(dú)載入的方法,進(jìn)一步提高了載入的效率。具體地, 如圖2所示,方法包括
S20、搜索窗數(shù)據(jù)預(yù)載入;
首先,預(yù)先載入搜索窗數(shù)據(jù)(即參考?jí)K數(shù)據(jù))。具體地,搜索窗數(shù)據(jù)的載 入方式有許多,并不作限制。但本發(fā)明實(shí)施例中為了提高載入效率,采用了增 量載入的方法,因?yàn)樗阉鞔暗拇笮∈菐?jí)固定的,相鄰宏塊的搜索窗是有大部 分重疊的,因此這個(gè)載入可以是增量載入,每次根據(jù)需要增量載入一列數(shù)據(jù)。 如圖3所示,對(duì)于N+1宏塊,在載入過程中,由于順序連接的宏塊運(yùn)算的連 續(xù)性,不需要每次都栽入搜索窗大小的數(shù)據(jù),可以在已載入基礎(chǔ)上做增量載入, 每次只載入當(dāng)前搜索窗相對(duì)于上一宏塊搜索窗增加的邊界部分,即一列宏塊。
搜索窗大小可以設(shè)置成可配置的,水平有±64、 ±32、 土16個(gè)像素的選 擇開關(guān),垂直有±32、 士16個(gè)像素的選擇開關(guān),可以調(diào)節(jié)開關(guān)確定搜索窗大 小,進(jìn)一步節(jié)省載入量,也即節(jié)省了總線占用時(shí)間。
521、 解析碼流,獲取當(dāng)前圖像塊的運(yùn)動(dòng)矢量;即對(duì)碼流進(jìn)行解析,解碼 出當(dāng)前宏塊信息中的運(yùn)動(dòng)矢量。
522、 根據(jù)運(yùn)動(dòng)矢量判斷參考?jí)K是否落入搜索窗內(nèi),即判斷搜索窗是否命 中,若命中,轉(zhuǎn)步驟S23,否則轉(zhuǎn)步驟S24;
具體方法可以是根據(jù)運(yùn)動(dòng)矢量計(jì)算出每個(gè)載入單元的起始點(diǎn)和結(jié)束點(diǎn)坐 標(biāo),然后根據(jù)坐標(biāo)來判斷載入單元是否落入搜索窗內(nèi),如果落入,則從搜索窗 數(shù)據(jù)獲得載入單元,統(tǒng)計(jì)表明約99%情況下,載入單元會(huì)落在設(shè)定的搜索窗范 圍內(nèi)。這里的載入單元,指的是每個(gè)宏塊在進(jìn)行運(yùn)動(dòng)補(bǔ)償之前,為了滿足插值 濾波計(jì)算的要求需要載入的參考?jí)K尺寸。以H.264為例,在插值濾波前,每個(gè) 4X4子塊需要準(zhǔn)備的象素點(diǎn)如圖4所示的白色和深灰色的點(diǎn),由于白色和深灰 色的點(diǎn)分布不是很規(guī)則,為了便于集中載入,加上了周邊淺灰色的點(diǎn)9X9的 正方形塊,就是需要載入的每個(gè)4X4塊對(duì)應(yīng)的參考?jí)K,上述的一個(gè)載入單元 指的是這里的9X9的方塊。
523、 從搜索窗數(shù)據(jù)獲取當(dāng)前圖像塊的參考數(shù)據(jù);
在步驟22中,若判斷搜索窗命中,即當(dāng)前圖像塊的參考數(shù)據(jù)落入在搜索 窗范圍內(nèi),則直接從搜索窗數(shù)據(jù)中獲取參考數(shù)據(jù),以便后續(xù)插值濾波處理用。 S24、判斷未命中的參考數(shù)據(jù)是否可以聯(lián)合載入,若是,轉(zhuǎn)步驟S25,否 則轉(zhuǎn)步驟S26;
對(duì)于沒有落入搜索窗范圍內(nèi)的載入單元,可以有兩種方案, 一種是做聯(lián)合 載入判斷的方案,如果可以,將聯(lián)合載入,如果不可以將做單獨(dú)載入。這種方 案比較適合多參考幀的情況。另一種方案是不做聯(lián)合載入,直接就單個(gè)載入, 因?yàn)槲疵械膸茁时緛砭秃苄?,所以單個(gè)載入的幾率很低,這樣做還可以省掉 聯(lián)合載入緩存存儲(chǔ)器。即對(duì)于未命中的數(shù)據(jù),可以采用聯(lián)合載入的方式,也可 以全部采用單獨(dú)載入的方式,為了進(jìn)一步提高效率,本實(shí)施例首先判斷是否可 以聯(lián)合栽入,再根據(jù)判斷的結(jié)果決定是聯(lián)合載入還是單獨(dú)載入。
聯(lián)合載入的相關(guān)算法可以綜合考慮硬件實(shí)現(xiàn)方便程度、計(jì)算復(fù)雜度和對(duì)載
入量的控制、總線延遲等情況進(jìn)行決定,例如做總線延遲與載入像素的對(duì)應(yīng)值, 根據(jù)對(duì)應(yīng)值和兩個(gè)載入單元的坐標(biāo)來用筒單的加法判斷兩個(gè)載入單元是否可
以聯(lián)合載入。例如,如圖5所示,可以把0、 1、 2、 3四個(gè)子塊分做一組,兩 兩判斷是否聯(lián)合載入,根據(jù)判斷結(jié)果決定該四塊的載入方式,依此類推。
525、 采用聯(lián)合載入的方法從外部存儲(chǔ)器載入未命中的參考數(shù)據(jù); 若步驟S24判斷可以聯(lián)合載入,則采用聯(lián)合載入的方法載入?yún)⒖紨?shù)據(jù),即
一次載入多個(gè)參考子塊數(shù)據(jù)。
526、 采用單獨(dú)載入的方法從外部存儲(chǔ)器載入未命中的參考數(shù)據(jù); 若步驟S24判斷不可以聯(lián)合載入,則采用單個(gè)載入的方法載入?yún)⒖紨?shù)據(jù),
即一個(gè)子塊一個(gè)子塊地載入未命中的參考數(shù)據(jù)。
本發(fā)明實(shí)施例利用搜索窗預(yù)先載入和臨時(shí)載入結(jié)合的方法載入運(yùn)動(dòng)補(bǔ)償 參考數(shù)據(jù),對(duì)于單參考幀,99%左右的情況下搜索窗可以命中參考?jí)K數(shù)據(jù),因 此通過搜索窗一次性載入?yún)⒖紨?shù)據(jù),避免多次向總線請(qǐng)求數(shù)據(jù),可以提高載入 效率,減少總線延遲對(duì)載入延時(shí)的影響,特別對(duì)于載入數(shù)據(jù)繁瑣、載入數(shù)據(jù)量 不規(guī)則變化的情況下,效果更加明顯。
是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算 機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。 其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。
圖6為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入裝置實(shí)施例一的結(jié)構(gòu)示意圖, 該裝置包括
預(yù)載入模塊61 ,用于根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);
本發(fā)明在解碼視頻數(shù)據(jù)時(shí),引入了編碼端的搜索窗概念,用于預(yù)先載入?yún)?考數(shù)據(jù)。具體地,設(shè)定好搜索窗大小,根據(jù)設(shè)定的搜索窗尺寸,預(yù)先載入相應(yīng) 大小的參考?jí)K數(shù)據(jù),這些參考?jí)K數(shù)據(jù)對(duì)應(yīng)于在編碼時(shí)用于運(yùn)動(dòng)估計(jì)的參考?jí)K。
搜索窗判斷模塊62,用于判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;
在進(jìn)行運(yùn)動(dòng)補(bǔ)償之前,則需要找到當(dāng)前圖像塊的參考?jí)K,以便對(duì)參考?jí)K進(jìn)行插值濾波,獲得預(yù)測(cè)塊,并利用預(yù)測(cè)塊數(shù)據(jù)和殘差數(shù)據(jù)重構(gòu)出當(dāng)前圖像塊的 重構(gòu)塊數(shù)據(jù)。在本實(shí)施例中,預(yù)載入^=莫塊61已經(jīng)預(yù)先載入一些搜索窗數(shù)據(jù), 因此首先判斷當(dāng)前圖像塊的參考?jí)K是否落入搜索窗內(nèi),即搜索窗是否命中當(dāng)前 圖像塊的參考?jí)K,如果命中,直接從搜索窗數(shù)據(jù)中獲得參考?jí)K,否則再從其它 地方獲取。
命中數(shù)據(jù)獲取模塊63,用于在所述搜索窗判斷模塊62判斷為是后,從所 述預(yù)載入模塊載入的搜索窗數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);
外部數(shù)據(jù)獲取模塊64,用于在所述搜索窗判斷模塊62判斷為否后,從外 部存儲(chǔ)器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
如果搜索窗沒有命中,則可以按照現(xiàn)有技術(shù)的方式獲取參考?jí)K數(shù)據(jù),由于 參考?jí)K數(shù)據(jù)是存儲(chǔ)在外部存儲(chǔ)器中的,因此需要從外部存儲(chǔ)器獲得參考數(shù)據(jù)。 具體地,可以釆用耳關(guān)合載入的方法,也可以采用單獨(dú)載入的方法,即一個(gè)一個(gè) 地載入未命中的參考?jí)K數(shù)據(jù),由于99%左右的參考?jí)K都可以落入搜索窗內(nèi),因 此未命中的概率是很低的,即使都用單獨(dú)載入的方法,也不會(huì)影響到整體效率。
若釆用單獨(dú)載入的方法,則所述外部數(shù)據(jù)獲取模塊64具體用于在所述搜 索窗判斷模塊62判斷為否后,采用單獨(dú)載入的方法從外部存儲(chǔ)器逐個(gè)載入搜 索窗未命中的參考?jí)K數(shù)據(jù)。
圖7為本發(fā)明提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入裝置實(shí)施例二的結(jié)構(gòu)示意圖, 該實(shí)施例對(duì)外部數(shù)據(jù)獲取模塊64進(jìn)一步細(xì)化,外部數(shù)據(jù)獲取模塊64包括
載入判斷單元641,用于判斷搜索窗未命中的參考?jí)K是否可以聯(lián)合載入;
聯(lián)合栽入單元642,用于在所述載入判斷單元641判斷為是后,采用聯(lián)合 載入的方法從外部存儲(chǔ)器載入搜索窗未命中的參考?jí)K數(shù)據(jù);
單獨(dú)載入單元643,用于在所述載入判斷單元641判斷為否后采用單獨(dú)載 入的方法從外部存儲(chǔ)器逐個(gè)載入搜索窗未命中的參考?jí)K數(shù)據(jù)。
本發(fā)明實(shí)施例提供的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入裝置,可以采用搜索窗預(yù)載入 和臨時(shí)載入相結(jié)合的方法,且在臨時(shí)載入時(shí)根據(jù)情況進(jìn)行聯(lián)合載入或單獨(dú)載 入,可以避免多次通過總線向外部存儲(chǔ)器獲取參考數(shù)據(jù),減少了總線延時(shí)對(duì)載 入的影響,提高了解碼的效率。
圖8為本發(fā)明實(shí)施例提供的解碼器結(jié)構(gòu)示意圖,解碼器包括
預(yù)載入模塊80,用于根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);
搜索窗存儲(chǔ)模塊81 ,用于存儲(chǔ)所述預(yù)載入模塊80載入的參考?jí)K數(shù)據(jù);
搜索窗判斷模塊82,用于判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;
命中數(shù)據(jù)獲取模塊83,用于在所述搜索窗判斷模塊82判斷為是后,從所 述搜索窗存儲(chǔ)模塊81的搜索窗數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);
外部數(shù)據(jù)獲取模塊84,用于在所述搜索窗判斷模塊82判斷為否后,從外 部存儲(chǔ)器獲取搜索窗未命中的參考?jí)K數(shù)據(jù);
運(yùn)動(dòng)補(bǔ)償模塊86,用于對(duì)所述命中數(shù)據(jù)獲取模塊83獲取的參考?jí)K數(shù)據(jù)或 所述外部數(shù)據(jù)獲取模塊84獲取的參考?jí)K數(shù)據(jù)進(jìn)行插值濾波處理,獲得當(dāng)前圖 像塊的預(yù)測(cè)塊數(shù)據(jù)。
在一個(gè)實(shí)施例中,所述外部數(shù)據(jù)獲取模塊84具體用于在所述搜索窗判斷 模塊判斷為否后,采用單獨(dú)載入的方法從外部存儲(chǔ)器逐個(gè)載入搜索窗未命中的 參考?jí)K數(shù)據(jù)。
在另 一個(gè)實(shí)施例中,所述外部數(shù)據(jù)獲取才莫塊84可以進(jìn)一步包括
載入判斷單元841,用于判斷搜索窗未命中的參考?jí)K是否可以聯(lián)合載入;
聯(lián)合載入單元842,用于在所述載入判斷單元841判斷為是后,采用聯(lián)合 載入的方法從外部存儲(chǔ)器載入搜索窗未命中的參考?jí)K數(shù)據(jù);
緩存單元843,用于緩存所述聯(lián)合載入單元842載入的參考?jí)K數(shù)據(jù);
單獨(dú)載入單元844,用于在所述載入判斷單元841判斷為否后釆用單獨(dú)載 入的方法從外部存儲(chǔ)器逐個(gè)載入搜索窗未命中的參考?jí)K數(shù)據(jù)。
在實(shí)際應(yīng)用中,視頻數(shù)據(jù)的亮度數(shù)據(jù)和色度數(shù)據(jù)通常是分開處理的,因此 所述搜索窗存儲(chǔ)模塊81可以包括
亮度數(shù)據(jù)存儲(chǔ)單元811,用于存儲(chǔ)所述預(yù)載入模塊80獲取的搜索窗數(shù)據(jù) 中的亮度搜索窗數(shù)據(jù);
色度數(shù)據(jù)存儲(chǔ)單元812,用于存儲(chǔ)所述預(yù)載入模塊80獲取的搜索窗數(shù)據(jù)
中的色度搜索窗數(shù)據(jù);
所述運(yùn)動(dòng)補(bǔ)償模塊86可以包括
亮度補(bǔ)償單元861,用于對(duì)用于對(duì)參考數(shù)據(jù)整合模塊85整合的參考?jí)K數(shù) 據(jù)中的亮度參考?jí)K數(shù)據(jù)進(jìn)行插值濾波處理,獲得當(dāng)前圖像塊的亮度預(yù)測(cè)塊數(shù) 據(jù);
色度補(bǔ)償單元862,用于對(duì)用于對(duì)參考數(shù)據(jù)整合模塊85整合的參考?jí)K數(shù) 據(jù)中的色度參考?jí)K數(shù)據(jù)進(jìn)行插值濾波處理,獲得當(dāng)前圖像塊的色度預(yù)測(cè)塊數(shù) 據(jù)。
應(yīng)當(dāng)說明的是,本發(fā)明實(shí)施例的解碼器,其中的搜索窗存儲(chǔ)模塊用于存儲(chǔ) 預(yù)載入的參考數(shù)據(jù),在實(shí)際應(yīng)用中,由于編碼端也需要用到搜索窗存儲(chǔ)模塊存 儲(chǔ)用于運(yùn)動(dòng)估計(jì)的參考數(shù)據(jù),因此可以將編碼器和解碼器做在一起組成一個(gè)系 統(tǒng),使得解碼器可以復(fù)用編碼器的載入機(jī)制和搜索窗存儲(chǔ)模塊,節(jié)省了存儲(chǔ)空 間。
圖9所示為本發(fā)明實(shí)施例提供的編解碼系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括
預(yù)載入模塊90,用于在編碼時(shí)利用搜索窗載入運(yùn)動(dòng)估計(jì)所需的參考數(shù)據(jù), 或用于在解碼時(shí)根據(jù)預(yù)設(shè)的搜索窗大小載入運(yùn)動(dòng)補(bǔ)償所需的參考?jí)K數(shù)據(jù);
搜索窗存儲(chǔ)模塊91,用于在編碼時(shí)存儲(chǔ)所述預(yù)載入模塊載入90的運(yùn)動(dòng)估 計(jì)參考數(shù)據(jù),或用于在解碼時(shí)存儲(chǔ)所述預(yù)載入模塊90載入的運(yùn)動(dòng)補(bǔ)償參考數(shù) 據(jù);
搜索窗判斷模塊92,用于在解碼時(shí)判斷所述預(yù)設(shè)的搜索窗是否命中當(dāng)前 圖像塊的參考?jí)K;
命中數(shù)據(jù)獲取模塊93,用于在所述搜索窗判斷模塊92判斷為是后,從所 述搜索窗存儲(chǔ)模塊91的搜索窗數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);
外部數(shù)據(jù)獲取模塊94,用于在所述搜索窗判斷模塊92判斷為否后,從外 部存儲(chǔ)器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
該編解碼系統(tǒng)還包括
運(yùn)動(dòng)估計(jì)模塊95,用于在編碼時(shí)利用所述搜索窗存儲(chǔ)模塊91存儲(chǔ)的運(yùn)動(dòng) 估計(jì)所需的參考數(shù)據(jù)進(jìn)行運(yùn)動(dòng)估計(jì);
運(yùn)動(dòng)補(bǔ)償模塊97,用于對(duì)所述命中數(shù)據(jù)獲取模塊93獲取的參考?jí)K數(shù)據(jù)或 所述外部數(shù)據(jù)獲取模塊94獲取的參考?jí)K數(shù)據(jù)進(jìn)行插值濾波處理,獲得當(dāng)前圖 像塊的預(yù)測(cè)塊數(shù)據(jù)。
本發(fā)明實(shí)施例提供的編解碼系統(tǒng),編碼器和解碼器可以通過時(shí)分復(fù)用搜索 窗存儲(chǔ)模塊和預(yù)載入模塊, 一方面釆用搜索窗載入的方法可以提高運(yùn)動(dòng)補(bǔ)償參 考數(shù)據(jù)載入效率,提高解碼性能,同時(shí)復(fù)用編碼器的搜索窗存儲(chǔ)模塊和預(yù)載入 模塊,進(jìn)一步節(jié)省了存儲(chǔ)空間。
以上所述僅為本發(fā)明的幾個(gè)實(shí)施例,本領(lǐng)域的技術(shù)人員依據(jù)申請(qǐng)文件公開 的可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)或變型而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1、一種運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法,其特征在于,包括根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;若是,獲取搜索窗命中的參考?jí)K數(shù)據(jù);否則,從外部存儲(chǔ)器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
2、 如權(quán)利要求1所述的方法,其特征在于,所述判斷所述搜索窗是否命 中當(dāng)前圖像塊的參考?jí)K包括解析碼流獲得當(dāng)前宏塊的運(yùn)動(dòng)矢量;根據(jù)運(yùn)動(dòng)矢量計(jì)算當(dāng)前圖像塊的參考?jí)K的起始點(diǎn)和結(jié)束點(diǎn)坐標(biāo); 根據(jù)起始點(diǎn)和結(jié)束點(diǎn)坐標(biāo)判斷當(dāng)前圖像塊的參考?jí)K是否落入所述搜索窗內(nèi)。
3、 如權(quán)利要求1所述的方法,其特征在于,所述從外部存儲(chǔ)器獲取搜索 窗未命中的參考?jí)K數(shù)據(jù)包括采用單獨(dú)載入的方法從外部存儲(chǔ)器載入搜索窗未命中的參考?jí)K數(shù)據(jù)。
4、 如權(quán)利要求1所述的方法,其特征在于,所述從外部存儲(chǔ)器獲取搜索 窗未命中的參考?jí)K數(shù)據(jù)包括判斷搜索窗未命中的參考?jí)K是否可以聯(lián)合載入;若是,采用聯(lián)合載入的方法從外部存儲(chǔ)器載入搜索窗未命中的參考?jí)K數(shù) 據(jù),否則釆用單獨(dú)載入的方法從外部存儲(chǔ)器逐個(gè)載入搜索窗未命中的參考?jí)K數(shù) 據(jù)。
5、 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的搜索窗大小 載入?yún)⒖級(jí)K數(shù)據(jù)包括根據(jù)預(yù)設(shè)的搜索窗大小、采用增量載入的方法載入?yún)⒖級(jí)K數(shù)據(jù)。
6、 一種運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入裝置,其特征在于,包括預(yù)載入模塊,用于根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);搜索窗判斷模塊,用于判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;命中數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為是后,從所述預(yù)載 入模塊載入的參考?jí)K數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);外部數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為否后,從外部存儲(chǔ) 器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述外部數(shù)據(jù)獲取模塊具體 用于在所述搜索窗判斷才莫塊判斷為否后,采用單獨(dú)載入的方法從外部存儲(chǔ)器逐 個(gè)載入搜索窗未命中的參考?jí)K數(shù)據(jù)。
8、 如權(quán)利要求6所述的裝置,其特征在于,所述外部數(shù)據(jù)獲取模塊包括載入判斷單元,用于判斷搜索窗未命中的參考?jí)K是否可以聯(lián)合載入;聯(lián)合載入單元,用于在所述載入判斷單元判斷為是后,采用聯(lián)合載入的方 法從外部存儲(chǔ)器載入搜索窗未命中的參考?jí)K數(shù)據(jù);單獨(dú)載入單元,用于在所述載入判斷單元判斷為否后采用單獨(dú)載入的方法 從外部存儲(chǔ)器逐個(gè)載入搜索窗未命中的參考?jí)K數(shù)據(jù)。
9、 一種解碼器,其特征在于,包括預(yù)載入模塊,用于根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);搜索窗存儲(chǔ)模塊,用于存儲(chǔ)所述預(yù)載入模塊載入的參考?jí)K數(shù)據(jù);搜索窗判斷模塊,用于判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;命中數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為是后,從所述搜索 窗存儲(chǔ)模塊的搜索窗數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);外部數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為否后,從外部存儲(chǔ) 器獲取搜索窗未命中的參考?jí)K數(shù)據(jù);運(yùn)動(dòng)補(bǔ)償模塊,用于對(duì)所述命中數(shù)據(jù)獲取模塊獲取的參考?jí)K數(shù)據(jù)或所述外 部數(shù)據(jù)獲取模塊獲取的參考?jí)K數(shù)據(jù)進(jìn)行插值濾波處理,獲得當(dāng)前圖像塊的預(yù)測(cè) 塊數(shù)據(jù)。
10、 如權(quán)利要求9所述的解碼器,其特征在于,所述外部數(shù)據(jù)獲取模塊具 體用于在所述搜索窗判斷模塊判斷為否后,采用單獨(dú)載入的方法從外部存儲(chǔ)器 逐個(gè)載入搜索窗未命中的參考?jí)K數(shù)據(jù)。
11、 如權(quán)利要求9所述的解碼器,其特征在于,所述外部數(shù)據(jù)獲取模塊包括載入判斷單元,用于判斷搜索窗未命中的參考?jí)K是否可以聯(lián)合載入;聯(lián)合載入單元,用于在所述載入判斷單元判斷為是后,采用聯(lián)合載入的方 法從外部存儲(chǔ)器載入搜索窗未命中的參考?jí)K數(shù)據(jù);單獨(dú)載入單元,用于在所述載入判斷單元判斷為否后釆用單獨(dú)載入的方法 從外部存儲(chǔ)器逐個(gè)載入搜索窗未命中的參考?jí)K數(shù)據(jù)。
12、 一種編解碼系統(tǒng),其特征在于,包括預(yù)載入模塊,用于在編碼時(shí)利用搜索窗載入運(yùn)動(dòng)估計(jì)所需的參考數(shù)據(jù),或 用于在解碼時(shí)才艮據(jù)預(yù)設(shè)的搜索窗大小載入運(yùn)動(dòng)補(bǔ)償所需的參考?jí)K數(shù)據(jù);搜索窗存儲(chǔ)模塊,用于在編碼時(shí)存儲(chǔ)所述預(yù)載入模塊載入的運(yùn)動(dòng)估計(jì)參考 數(shù)據(jù),或用于在解碼時(shí)存儲(chǔ)所述預(yù)載入模塊載入的運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù);搜索窗判斷模塊,用于在解碼時(shí)判斷所述預(yù)設(shè)的搜索窗是否命中當(dāng)前圖像 塊的參考?jí)K;命中數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為是后,從所述搜索 窗存儲(chǔ)模塊的搜索窗數(shù)據(jù)中獲取命中的參考?jí)K數(shù)據(jù);外部數(shù)據(jù)獲取模塊,用于在所述搜索窗判斷模塊判斷為否后,從外部存儲(chǔ) 器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。
13、 如權(quán)利要求12所述的系統(tǒng),其特征在于,還包括運(yùn)動(dòng)估計(jì)模塊,用于在編碼時(shí)利用所述搜索窗存儲(chǔ)模塊存儲(chǔ)的運(yùn)動(dòng)估計(jì)所 需的參考數(shù)據(jù)進(jìn)行運(yùn)動(dòng)估計(jì);運(yùn)動(dòng)補(bǔ)償模塊,用于對(duì)所述命中數(shù)據(jù)獲取模塊獲取的參考?jí)K數(shù)據(jù)或所述外 部數(shù)據(jù)獲取模塊獲取的參考?jí)K數(shù)據(jù)進(jìn)行插值濾波處理,獲得當(dāng)前圖像塊的預(yù)測(cè) 塊數(shù)據(jù)。
全文摘要
本發(fā)明實(shí)施例公開了一種運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入方法,包括根據(jù)預(yù)設(shè)的搜索窗大小載入?yún)⒖級(jí)K數(shù)據(jù);判斷所述搜索窗是否命中當(dāng)前圖像塊的參考?jí)K;若是,獲取搜索窗命中的參考?jí)K數(shù)據(jù);否則,從外部存儲(chǔ)器獲取搜索窗未命中的參考?jí)K數(shù)據(jù)。本發(fā)明實(shí)施例通過使用搜索窗,預(yù)先載入運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù),在運(yùn)動(dòng)補(bǔ)償時(shí),如果搜索窗命中,則可以直接從利用搜索窗預(yù)先載入的參考數(shù)據(jù)中獲取命中的參考數(shù)據(jù),可以避免多次通過總線向外部存儲(chǔ)器獲取參考數(shù)據(jù),減少了總線延時(shí)對(duì)載入的影響,從而提高參考數(shù)據(jù)載入的效率,提高了解碼的效率。本發(fā)明實(shí)施例還提供了一種運(yùn)動(dòng)補(bǔ)償參考數(shù)據(jù)載入、解碼器及編解碼系統(tǒng)。
文檔編號(hào)H04N11/04GK101365137SQ200810216099
公開日2009年2月11日 申請(qǐng)日期2008年9月12日 優(yōu)先權(quán)日2008年9月12日
發(fā)明者驤 顧 申請(qǐng)人:華為技術(shù)有限公司