專利名稱:用于預(yù)測運動的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種圖像壓縮器/解壓縮器(codec),更具體地講,本發(fā)明涉及一種用于在對圖像數(shù)據(jù)編碼中使用的預(yù)測運動的方法和設(shè)備。
背景技術(shù):
最近,在國際電信聯(lián)盟-電信標(biāo)準(zhǔn)化部門(ITU-T)的H.261、H.263和ISO/IEC的運動圖像專家組-1(MPEG-1)、MPEG-2、MPEG-4之后,為發(fā)展新的運動圖像標(biāo)準(zhǔn),已經(jīng)建立了ITU-T H.264(ISO/IEC MPEG4 AVC)。H.264標(biāo)準(zhǔn)與傳統(tǒng)的運動圖像壓縮標(biāo)準(zhǔn)相比,其通過使用更加多的和復(fù)雜的技術(shù)顯著地提高了壓縮率和圖像品質(zhì)。因此,H.264作為一種用于數(shù)字多媒體廣播(DMB)和數(shù)字多功能盤(DVD)的應(yīng)用技術(shù)替代了傳統(tǒng)的運動圖像壓縮標(biāo)準(zhǔn)并引起了關(guān)注。
圖1是H.264編碼器的方框圖。
參考圖1,H.264編碼器具有預(yù)測單元110、變換和量化單元120和熵編碼單元130。
預(yù)測單元110執(zhí)行幀間預(yù)測和幀內(nèi)預(yù)測。幀間預(yù)測是指使用參考圖像來執(zhí)行當(dāng)前圖像的塊預(yù)測,對于該參考圖像,解碼和去塊濾波已經(jīng)被執(zhí)行并且被存儲在緩沖器中。即,使用圖像之間的信息來執(zhí)行預(yù)測。為此,提供了運動估計(ME)單元111和運動補償(MC)單元112。幀內(nèi)預(yù)測是指在已經(jīng)被解碼的圖像內(nèi),使用與將被預(yù)測的塊相鄰的塊的象素數(shù)據(jù)來執(zhí)行塊預(yù)測。為此,提供了幀內(nèi)預(yù)測執(zhí)行單元116。根據(jù)圖像如I-圖像、P-圖像和B-圖像的屬性來執(zhí)行幀內(nèi)預(yù)測和/或幀間預(yù)測。參考圖像和重構(gòu)圖像被存儲在外部存儲器(SDRAM(同步動態(tài)隨機存取存儲器))中。ME單元111在內(nèi)部具有獨立的內(nèi)部存儲器111a。通過總線采用直接存儲器存取(DMA)訪問外部存儲器,而不需通過總線訪問內(nèi)部存儲器,因此,對于總線不存在負擔(dān)。
變換和量化單元120變換、量化和壓縮通過在預(yù)測單元110執(zhí)行預(yù)測而得到的預(yù)測的采樣。
熵編碼單元130根據(jù)特定的方法對量化的圖像數(shù)據(jù)執(zhí)行編碼,以輸出符合H.264標(biāo)準(zhǔn)的比特流。
如上所述,H.264/MPEG-4視頻壓縮器/解壓縮器以塊單元對采樣數(shù)據(jù)執(zhí)行預(yù)測處理的方式壓縮視頻數(shù)據(jù),從而得到包括預(yù)測采樣的預(yù)測塊,并且這個預(yù)測塊被變換和量化。
在圖像壓縮器/解壓縮器中,ME單元111復(fù)雜,并且需要大量計算。
ME是使用特定的測量函數(shù)從前些幀中搜索與當(dāng)前幀內(nèi)的宏塊最相似的宏塊、并且獲得表示兩個宏塊的運動位置差的運動矢量的過程。對于搜索最相似宏塊的代表方法,存在用于確定搜索范圍、在該范圍內(nèi)逐個象素地移動宏塊、使用特定的測量方法計算兩個宏塊之間的相似度、并搜索最相似的宏塊的方法。
特定的測量方法的例子是分別獲得對應(yīng)于在當(dāng)前幀內(nèi)的宏塊和在搜索范圍內(nèi)的宏塊的象素值之間的差的絕對值的方法,并且如果關(guān)于該宏塊通過相加該絕對值而獲得的值是最小的,則確定那個宏塊為最相似宏塊。
更具體地講,前一幀和當(dāng)前幀之間的宏塊的相似度使用匹配參考值即相似度來判斷,該相似度值是使用包括在前一幀和當(dāng)前幀的宏塊中的象素值來計算的。匹配參考值使用特定的測量函數(shù)來計算,對于該測量函數(shù),可使用SAD(絕對差和)、SATD(絕對變換差和)或SSD(平方差和)。
由于用于計算匹配參考值的過程復(fù)雜,并且計算量很大,因此在對實時視頻數(shù)據(jù)編碼時需要許多硬件資源。因此,已經(jīng)提出了所謂的分層ME技術(shù),以減少運動估計的計算量。分層ME技術(shù)是指將原始幀分成不同分辨率的幀并且生成關(guān)于各分辨率的幀的分層運動矢量的技術(shù)?,F(xiàn)在,對于眾所周知的方法,存在多分辨率多候選搜索(MRMCS)。
該技術(shù)根據(jù)搜索被執(zhí)行的程度分為全搜索和局部搜索。全搜索是搜索搜索區(qū)域內(nèi)的所有范圍,局部搜索是搜索搜索范圍的一部分。
圖2是示出分層ME方法的示圖。
參考圖2,在其中示出分層ME方法,將被編碼的當(dāng)前幀和前一幀分成下層230,具有完全的原始分辨率;中層220,其分辨率通過將下層230的圖像抽取成一半而被降低;上層210,其分辨率通過再次將中層220的圖像抽取成一半而被降低。該分層ME方法通過執(zhí)行ME可以高速估計運動,在ME中,使用其分辨率根據(jù)各個層而不同的圖像來采用各種搜索范圍。
將更詳細地說明分層ME方法。在下面對圖2的說明中,假設(shè)通過大小為16×16的宏塊單元執(zhí)行ME,并且ME的搜索范圍為[-16,+16]。
在第一步操作中,上層210從前幾幀中搜索與大小為4×4的當(dāng)前宏塊最相似的宏塊,該當(dāng)前宏塊的大小為原始宏塊的1/4,該前幾幀的大小已經(jīng)被縮小為原始大小的1/4。搜索范圍變?yōu)閇-4,+4],原始搜索范圍的1/4。通常,對于用于測量匹配參考值即相似度的測量函數(shù),使用上述SAD函數(shù)。SAD是通過從當(dāng)前宏塊的象素值減去搜索宏塊的象素值、計算其絕對值、并將所有的絕對值進行累加而獲得的值。通過SAD值找到的并且與當(dāng)前宏塊最相似的宏塊、和與當(dāng)前宏塊第二相似的宏塊被確定,并獲得各自情況的運動矢量。
在第二步操作中,中層220在前一幀的搜索范圍[-s,+s]內(nèi)執(zhí)行搜索,并獲得與當(dāng)前宏塊最相似的宏塊及其運動矢量,該前一幀的大小被縮小為原始尺寸的一半,主要用于總共三個搜索點,包括對應(yīng)于在第一步操作中找到的兩個運動點的搜索點和由預(yù)測的運動矢量(PMV)指示的搜索點。該預(yù)測的運動矢量(PMV)是通過計算位于當(dāng)前宏塊左側(cè)、上側(cè)和右上側(cè)的三個宏塊的運動矢量的中值而獲得的,該當(dāng)前宏塊在已被編碼并確定運動矢量的宏塊中。通常,s值取為2到4之間。
在第三步操作中,主要在下層的前一幀即原始大小的前一幀中對搜索點執(zhí)行[-s,+s]的部分搜索,并獲得與當(dāng)前宏塊最相似的宏塊及其最終運動矢量,該搜索點與在第二步操作中找到的宏塊對應(yīng),即宏塊的左上側(cè)的頂點。因此,由于如果使用的是分層搜索方法而不是全搜索則減小了搜索區(qū)域,所以可減少用于ME消耗的時間和硬件資源。
以這種方式減少ME的計算量,已經(jīng)提出快速ME方法。即,由于如果通過硬件實現(xiàn)ME中的全搜索則使所用的內(nèi)部存儲器的大小變大,所以使用分層ME方法以減小內(nèi)部存儲器。
然而,由于H.264/AVC中所用的直接運動矢量的矢量值不在確定的值域內(nèi),所以在選擇了編碼器的預(yù)測模式的情況下,必須訪問外部存儲器以獲得用于直接運動矢量的開銷。因此,在H.264編碼器中所用的直接運動矢量的預(yù)測開銷是使用運動補償(MC)而獲得的。在這點上,由于必須訪問外部存儲器,因此存在增加總線負擔(dān)的問題。
發(fā)明內(nèi)容
為解決上述和/或其他問題,本發(fā)明的一方面提供一種用于在分層運動估計方法中不需訪問外部存儲器地來預(yù)測運動的方法和設(shè)備。
根據(jù)本發(fā)明的一方面,提供一種使用分層運動估計方法預(yù)測運動的方法,包括使用存儲在運動估計方法中所用的內(nèi)部存儲器中的數(shù)據(jù)補償運動,而不需要訪問存儲在外部存儲器中的數(shù)據(jù)。
分層運動估計方法可遵循H.264標(biāo)準(zhǔn),可使用直接存儲器存取方法訪問存儲在外部存儲器中的數(shù)據(jù)。
根據(jù)本發(fā)明的另一方面,提供一種用于預(yù)測運動的方法,包括獲得直接運動矢量;檢查該直接運動矢量是否在運動估計(ME)中所用的內(nèi)部存儲器內(nèi);當(dāng)該直接運動矢量在內(nèi)部存儲器內(nèi)時,使用存儲在內(nèi)部存儲器中的最后一層的數(shù)據(jù)對該直接運動矢量執(zhí)行運動補償(MC),而不需訪問存儲在外部存儲器中的數(shù)據(jù);和當(dāng)該直接運動矢量不在內(nèi)部存儲器內(nèi)時,略去對該直接運動矢量的MC。
根據(jù)本發(fā)明的另一方面,提供一種用于預(yù)測運動的設(shè)備,包括運動估計(ME)單元,使用分層運動估計(ME)方法獲得直接運動矢量;和運動補償(MC)單元,檢查該直接運動矢量是否在ME單元的內(nèi)部存儲器內(nèi),當(dāng)該直接運動矢量在內(nèi)部存儲器內(nèi)時,使用存儲在內(nèi)部存儲器中的最后一層的數(shù)據(jù)對該直接運動矢量執(zhí)行運動補償,而不需訪問存儲在外部存儲器中的數(shù)據(jù),當(dāng)該直接運動矢量不在內(nèi)部存儲器內(nèi)時,略去對該直接運動矢量的MC。
根據(jù)本發(fā)明的另一方面,提供一種包括上述用于預(yù)測運動的設(shè)備的編碼設(shè)備。
根據(jù)本發(fā)明的另一實施例,提供一種減少用于運動補償(MC)的處理時間的方法,包括執(zhí)行基于分層的運動估計(ME),并從外部存儲器訪問存儲的參考圖像及重構(gòu)圖像,以將最后一層的數(shù)據(jù)存儲在內(nèi)部存儲器中;對雙向預(yù)測和預(yù)測的運動矢量(PMV)執(zhí)行MC,并得到其開銷;使用內(nèi)部存儲器對直接模式執(zhí)行MC,并得到其開銷;和基于得到的開銷值,確定幀間預(yù)測模式。
本發(fā)明的和/或其他方面和優(yōu)點,部分內(nèi)容會在后續(xù)的說明中闡述,而部分在描述中是顯而易見的,或者可從本發(fā)明的實踐中獲知。
通過下面結(jié)合附圖進行的詳細描述,本發(fā)明的上述和/或其他方面和優(yōu)點將會變得清楚和更加易于理解,其中圖1是H.264編碼器的方框圖;圖2是示出分層運動估計方法的示圖;圖3是根據(jù)本發(fā)明實施例的用于預(yù)測運動的方法的流程圖;和圖4是根據(jù)本發(fā)明實施例的用于關(guān)于直接模式預(yù)測運動的方法的流程圖。
具體實施例方式
現(xiàn)在,參考以下附圖來詳細說明本發(fā)明的實施例。在附圖中相同的部件始終使用相同的標(biāo)號表示。以下參考附圖對實施例進行說明來解釋本發(fā)明。
運動矢量具有與相鄰的運動矢量相似的值,該相鄰的運動矢量稱作該運動矢量的相關(guān)。此外,由于直接模式的運動矢量使用運動矢量的相關(guān)而得,因此它與相鄰的運動矢量具有相似的值。具體地講,由于分層運動估計方法使用相鄰運動矢量的相關(guān),因此直接運動矢量有很大可能存在于存儲ME所需的數(shù)據(jù)的內(nèi)部存儲器內(nèi)。如果直接運動矢量不存在于內(nèi)部存儲器內(nèi),即使通過訪問外部存儲器單獨獲得該直接運動矢量,其開銷也會很高。因此,在那種情況下,即使不對直接模式進行MC,對于壓縮器/解壓縮器的性能也不會產(chǎn)生大的影響。
因此,本發(fā)明的一方面在于提供一種用于估計運動的方法和設(shè)備。當(dāng)使用分層ME技術(shù)獲得用于直接模式的運動矢量時,該方法和設(shè)備通過使用ME單元111中的內(nèi)部存儲器能減少處理時間和由于訪問外部存儲器而導(dǎo)致的總線負擔(dān)。
圖3是根據(jù)本發(fā)明實施例的用于預(yù)測運動的方法的流程圖。
參考圖3,根據(jù)本實施例的用于預(yù)測運動的方法執(zhí)行上述分層ME技術(shù)以獲得開銷,訪問存儲了參考圖像及重構(gòu)圖像的外部存儲器,以將上述最后一層的數(shù)據(jù)存儲在ME單元的內(nèi)部存儲器中(操作310)。即,由于全搜索需要大量計算量和大容量的內(nèi)部存儲器,因此使用分層ME方法。在這點上,只有分層ME方法的最后一層即如圖2所示的下層230的下層所需的特定區(qū)域中的數(shù)據(jù)通過訪問外部存儲器而被存儲在內(nèi)部存儲器中。
接下來,對雙向預(yù)測和PMV(預(yù)測的運動矢量)執(zhí)行MC,并得到其開銷(操作320)。此外,對直接模式使用內(nèi)部存儲器執(zhí)行MC,并得到其開銷(操作330)。最后,使用操作310到330中所得的開銷值確定幀間預(yù)測的最終預(yù)測模式(操作340)。
圖4是根據(jù)本發(fā)明實施例的用于關(guān)于直接模式預(yù)測運動的方法的流程圖。
參考圖3和4,更詳細地示出了用于對直接模式執(zhí)行ME(操作330)的過程。首先,獲得直接運動矢量(操作432),并且檢查得到的直接運動矢量是否在ME所用的內(nèi)部存儲器內(nèi)(操作434)。如果該直接運動矢量在內(nèi)部存儲器內(nèi),則使用存儲在內(nèi)部存儲器中的最后一層的數(shù)據(jù)對直接模式執(zhí)行MC(操作436)。如果該直接運動矢量不在內(nèi)部存儲器內(nèi),則略去對該直接模式的運動補償,并轉(zhuǎn)到下一步操作(操作438)。
如上所述,通過分層ME方法獲得的運動矢量與相鄰宏塊的運動矢量具有顯著的相關(guān)性。因此,當(dāng)前宏塊的最終運動矢量也與相鄰宏塊的運動矢量有很大可能是相似的。因此,新獲得的運動矢量很大可能包括在存儲最后一層的數(shù)據(jù)的內(nèi)部存儲器內(nèi)。在那種情況下,由于使用存儲在內(nèi)部存儲器中的值執(zhí)行MC,而不需通過總線訪問外部存儲器,因此可減少用于MC的處理時間和總線負擔(dān)。
即使新獲得的當(dāng)前宏塊的最終運動矢量不存在于內(nèi)部存儲器內(nèi),考慮到運動矢量的相關(guān)性,預(yù)測開銷也不會增加。因此,即使不使用這個運動矢量,對圖像品質(zhì)也不會有大的影響。因此,在那種情況下,略去對直接模式的MC處理也是沒有太大關(guān)系的。
根據(jù)上述本發(fā)明的實施例,提供了一種使用存儲在ME所用的內(nèi)部存儲器中的數(shù)據(jù)補償運動的方法和設(shè)備,不需訪問分層ME方法中的外部存儲器。
因此,使用ME中的內(nèi)部存儲器,而不用訪問外部存儲器,因此可減輕總線負擔(dān)和用于MC的處理時間。
雖然已顯示和描述了本發(fā)明的實施例,但本發(fā)明并不限于上述實施例。本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明原理和精神的情況下,可對實施例進行修改,其范圍由權(quán)利要求及其等同物所限定。
權(quán)利要求
1.一種使用分層運動估計(ME)方法來預(yù)測運動的方法,包括使用存儲在ME方法中所用的內(nèi)部存儲器中的數(shù)據(jù)來補償運動,而不需訪問存儲在外部存儲器中的數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其中,分層運動估計方法遵循H.264標(biāo)準(zhǔn)。
3.如權(quán)利要求1所述的方法,其中,使用直接存儲器存取方法來訪問存儲在外部存儲器中的數(shù)據(jù)。
4.一種用于預(yù)測運動的方法,包括獲得直接運動矢量;檢查該直接運動矢量是否在運動估計(ME)中所用的內(nèi)部存儲器內(nèi);當(dāng)該直接運動矢量在內(nèi)部存儲器內(nèi)時,使用存儲在內(nèi)部存儲器中的最后一層的數(shù)據(jù)對該直接運動矢量執(zhí)行運動補償(MC),而不需訪問存儲在外部存儲器中的數(shù)據(jù);和當(dāng)該直接運動矢量不在內(nèi)部存儲器內(nèi)時,略去對該直接運動矢量的MC。
5.如權(quán)利要求4所述的方法,其中,分層運動估計方法遵循H.264標(biāo)準(zhǔn)。
6.如權(quán)利要求4所述的方法,其中,使用直接存儲器存取方法來訪問存儲在外部存儲器中的數(shù)據(jù)。
7.一種用于預(yù)測運動的設(shè)備,包括運動估計(ME)單元,使用分層運動估計(ME)方法獲得直接運動矢量;和運動補償(MC)單元,檢查該直接運動矢量是否在ME單元的內(nèi)部存儲器內(nèi),當(dāng)該直接運動矢量在內(nèi)部存儲器內(nèi)時,使用存儲在內(nèi)部存儲器中的最后一層的數(shù)據(jù)對該直接運動矢量執(zhí)行MC,而不需訪問存儲在外部存儲器中的數(shù)據(jù);當(dāng)該直接運動矢量不在內(nèi)部存儲器內(nèi)時,略去對該直接運動矢量的MC。
8.如權(quán)利要求7所述的設(shè)備,其中,分層運動估計方法遵循H.264標(biāo)準(zhǔn)。
9.如權(quán)利要求7所述的設(shè)備,其中,使用直接存儲器存取方法來訪問存儲在外部存儲器中的數(shù)據(jù)。
10.一種編碼設(shè)備,包括一種用于預(yù)測運動的設(shè)備,包括運動估計(ME)單元,使用分層運動估計(ME)方法獲得直接運動矢量;和運動補償(MC)單元,檢查該直接運動矢量是否在ME單元的內(nèi)部存儲器內(nèi),當(dāng)該直接運動矢量在內(nèi)部存儲器內(nèi)時,使用存儲在內(nèi)部存儲器中的最后一層的數(shù)據(jù)對該直接運動矢量執(zhí)行MC,而不需訪問存儲在外部存儲器中的數(shù)據(jù);當(dāng)該直接運動矢量不在內(nèi)部存儲器內(nèi)時,略去對該直接運動矢量的MC。
11.一種減少用于運動補償(MC)的處理時間的方法,包括執(zhí)行基于分層的運動估計(ME),并且從外部存儲器訪問存儲的參考圖像及重構(gòu)圖像,以將最后一層的數(shù)據(jù)存儲在內(nèi)部存儲器中;對雙向預(yù)測和預(yù)測的運動矢量(PMV)執(zhí)行MC,并得到其開銷;使用內(nèi)部存儲器對直接模式執(zhí)行MC,并得到其開銷;和基于得到的開銷值,確定幀間預(yù)測模式。
12.如權(quán)利要求11所述的方法,其中,最后一層的數(shù)據(jù)是分層ME方法的最后一層所需的特定區(qū)域的數(shù)據(jù)。
13.如權(quán)利要求11所述的方法,其中,執(zhí)行MC包括獲得直接運動矢量;檢查該直接運動矢量是否在內(nèi)部存儲器內(nèi);當(dāng)該直接運動矢量在內(nèi)部存儲器內(nèi)時,使用存儲在內(nèi)部存儲器中的最后一層的數(shù)據(jù)對該直接模式執(zhí)行MC;和當(dāng)該直接運動矢量不在內(nèi)部存儲器內(nèi)時,略去對該直接模式的MC。
全文摘要
一種用于預(yù)測運動的方法和設(shè)備。該使用分層運動估計(ME)方法的預(yù)測運動的方法包括使用存儲在運動估計方法中所用的內(nèi)部存儲器中的數(shù)據(jù)來補償運動,而不需訪問存儲在外部存儲器中的數(shù)據(jù)。因此,使用ME中所用的內(nèi)部存儲器,而不需訪問外部存儲器,由此可減少總線的負擔(dān)并且可減少用于MC的處理時間。
文檔編號H04N7/50GK1708132SQ20051007509
公開日2005年12月14日 申請日期2005年6月9日 優(yōu)先權(quán)日2004年6月11日
發(fā)明者李男淑, 李章旭, 樸燦植, 李在憲 申請人:三星電子株式會社