專利名稱:譯碼視頻數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)視頻處理技術(shù)。在一個(gè)態(tài)樣中,本發(fā)明是有關(guān)數(shù)字視頻信息的解壓縮。
背景技術(shù):
因?yàn)橐曨l信息需要大量的儲(chǔ)存空間,所以視頻信息通常被壓縮。因此,為了顯示諸如只讀光盤(⑶-ROM)或數(shù)字激光視盤(DVD)上儲(chǔ)存的被壓縮之視頻信息,而必須將該被壓縮之視頻信息解壓縮,以便提供解壓縮后之視頻信息。然后以比特流之方式將該解壓縮后之視頻信息提供給顯示器。通常將解壓縮后之視頻信息比特流以位對映(bit map)之方式儲(chǔ)存在與顯示器上的各像素位置對應(yīng)之存儲(chǔ)器位置。系將于顯示器上呈現(xiàn)單一信息畫面所需的視頻信息稱之為幀(frame)。許多視頻系統(tǒng)之目標(biāo)是要迅速且有效率地將被壓縮之視頻信息譯碼,以便藉由顯示一序列的幀而提供動(dòng)作視頻。非常需要有記錄媒體、裝置、以及數(shù)據(jù)處理的各方面(譬如視頻壓縮)之標(biāo)準(zhǔn)化,以供此項(xiàng)技術(shù)及其應(yīng)用的持續(xù)成長。用于將視頻信息壓縮及解壓縮的一些壓縮/解壓縮標(biāo)準(zhǔn)已開發(fā)出或正在開發(fā)中,這些標(biāo)準(zhǔn)的例子包括諸如用于視頻編碼及譯碼的動(dòng)態(tài)圖形專家小組(Moving Pictures Expert Group ;簡稱 MPEG)標(biāo)準(zhǔn)(例如,MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7、MPEG-21)或窗口媒體視頻(Windows Media Video)壓縮標(biāo)準(zhǔn)(例如,WMV9)。本說明書特此引用MPEG及WMV標(biāo)準(zhǔn)中之每一標(biāo)準(zhǔn)的全文以供參照。一般而言,視頻壓縮技術(shù)包括巾貞內(nèi)壓縮(intraframe compression)及巾貞間壓縮(interframe compression),這些壓縮技術(shù)操作時(shí),系減少視頻巾貞中呈現(xiàn)的空間及時(shí)間上之冗余,而壓縮視頻信息。幀內(nèi)壓縮技術(shù)只使用幀內(nèi)所包含的信息,以壓縮被稱之為1-幀(1-frame)的幀。幀間壓縮技術(shù)參考之前及/或之后幀(通常稱之為預(yù)測幀、P-幀(P-frame)或B-幀(B-frame))而壓縮幀。幀內(nèi)及幀間壓縮技術(shù)通常使用基于空間的或塊的編碼,由此將視頻幀分為若干用于編碼的塊(亦稱之為塊轉(zhuǎn)換程序)。例如,1-frame被分為8x8塊。使用一種離散余弦轉(zhuǎn)換(Discrete Cosine Transform ;簡稱DCT)編碼體系將該等塊編碼,而該編碼體系將各系數(shù)編碼為特定余弦基函數(shù)(cosine basis function)的振幅;或者亦可將某一其它的轉(zhuǎn)換(例如,整數(shù)轉(zhuǎn)換(integer transform))用于將該等塊編碼。然后將該等被轉(zhuǎn)換的系數(shù)量化,而產(chǎn)生一些具有非零振幅位準(zhǔn)的系數(shù)、以及零振幅位準(zhǔn)系數(shù)的一些束(run)(或子序列(subsequence)。然后對該等被量化的系數(shù)進(jìn)行束位準(zhǔn)編碼(run-level encoding)(或束長度編碼(run length encoding)),以便壓縮零系數(shù)之該等長束。然后在可變長度編碼器(Variable Length Coder ;簡稱VLC)中對上述結(jié)果進(jìn)行一致性編碼(entropy encoding),而該VLC使用一種將字碼(codeword)指定給將要被編碼的值之統(tǒng)計(jì)編碼技術(shù),或者使用諸如內(nèi)容適應(yīng)性二進(jìn)制算術(shù)編碼(Context-based AdaptiveBinary Arithmetic Coding ;簡稱 CABAC)及內(nèi)容適應(yīng)性可變長度編碼(Context AdaptiveVariable Length Coding ;簡稱CAVLC)等的某些其它一致性編碼技術(shù)。將具有高發(fā)生頻率的那些值指定給短的字碼,并將不常發(fā)生的那些值指定給長的字碼。平均而言,較常出現(xiàn)的較短字碼占了大部分,因而字碼串(code string)比原始的數(shù)據(jù)短。因此,基于空間的或塊的編碼技術(shù)壓縮了與單一幀相關(guān)聯(lián)的數(shù)字信息。為了壓縮與序列的幀相關(guān)聯(lián)之?dāng)?shù)字信息,視頻壓縮技術(shù)使用P-frame及(或)B-frame,以便利用各連續(xù)巾貞之間存在有時(shí)間關(guān)聯(lián)性之事實(shí)。幀間壓縮技術(shù)將識(shí)別不同幀間之差異,然后使用DCT、量化、束長度及一致性編碼技術(shù)而對該差異信息進(jìn)行空間上的編碼,但是不同的實(shí)施例可使用不同的塊組態(tài)。例如,將P-frame分為若干16x16宏塊(macroblock)(例如,具有四個(gè)8x8亮度塊以及兩個(gè)8x8色度塊),并壓縮該等宏塊。不論是使用幀內(nèi)或幀間壓縮技術(shù),將基于空間的或塊的編碼技術(shù)用來將視頻數(shù)據(jù)編碼都意指:已對被壓縮之視頻數(shù)據(jù)進(jìn)行可變長度編碼,且已使用前所述的基于塊的壓縮技術(shù)壓縮了該視頻數(shù)據(jù)。在接收器或播放裝置上,系反向執(zhí)行該等壓縮步驟,以便將先前以塊轉(zhuǎn)換處理過的視頻數(shù)據(jù)譯碼。圖1繪示用來將視頻信息解壓縮的傳統(tǒng)系統(tǒng)(30),該系統(tǒng)(30)包含輸入比特流譯碼部分(35)、動(dòng)作譯碼器(38)、加法器(39)、幀緩沖器(40)、以及顯示器(41)。輸入比特流譯碼器(35)在輸入緩沖器(31)上接收被壓縮之視頻信息比特流,在VLC譯碼器(32)上執(zhí)行可變長度譯碼,在反向量化器(33)上反向執(zhí)行”之”字形掃描(zig-zag)及量化,在反離散余弦轉(zhuǎn)換器(Inverse DCT, IDCT) (34)上執(zhí)行反離散余弦轉(zhuǎn)換,并將各塊的經(jīng)靜態(tài)解壓縮后之視頻信息提供給加法器(39)。在動(dòng)作譯碼部分(38)中,動(dòng)作補(bǔ)償單元
(37)接收來自VLC譯碼器(32)的動(dòng)作信息、以及(先前圖像儲(chǔ)存緩沖器(36)中儲(chǔ)存的)先前圖像數(shù)據(jù)之一拷貝,并將經(jīng)過動(dòng)作補(bǔ)償?shù)南袼靥峁┙o加法器(39)。加法器(39)接收該經(jīng)過靜態(tài)解壓縮后之視頻信息、及該等經(jīng)過動(dòng)作補(bǔ)償?shù)南袼?,并將解壓縮后之像素提供給幀緩沖器(40),幀緩沖器(40)然后將該信息提供給顯示器(41)。在傳統(tǒng)的視頻編碼器及譯碼器設(shè)計(jì)下,可能因基于塊的轉(zhuǎn)換、動(dòng)作補(bǔ)償、量化、及(或)其它的有損(lossy)處理步驟,而將塊贗像(blocking artifact)(各塊間之顯而易見的不連續(xù))導(dǎo)入幀中。先前為了減少塊贗像而作的嘗試已使用了重疊平滑(overlapsmoothing)或解塊(deblocking)過濾(在環(huán)路內(nèi)執(zhí)行或在處理之后執(zhí)行),以便以平滑各塊間之邊界的方式來處理幀。例如,在WMV9標(biāo)準(zhǔn)下,指定對整個(gè)圖像進(jìn)行重疊平滑及環(huán)路內(nèi)(in-loop)解塊之處理,以便減少塊贗像。在起動(dòng)WMV9譯碼時(shí),只對各8x8塊的邊界執(zhí)行重疊平滑,其中開始時(shí)系沿著垂直方向?qū)φ麄€(gè)幀執(zhí)行平滑,然后沿著水平方向?qū)φ麄€(gè)幀執(zhí)行重疊平滑。然后,在環(huán)路內(nèi)解塊中,當(dāng)環(huán)路內(nèi)解塊被起動(dòng)時(shí),系按照下列順序執(zhí)行環(huán)路內(nèi)解塊:(i)自最上方水平邊界線開始,對該幀中之所有8x8塊的水平邊界線過濾;(ii)自最上方水平邊界線開始,對該幀中之所有8x4子塊(sub-block)的水平邊界線過濾;(iii)自最左方垂直邊界線開始,對所有8x8塊的垂直邊界線過濾;以及(iv)自最左方垂直邊界線開始,對所有4x8子塊的垂直邊界線過濾。先前的方法對整個(gè)幀使用二階段處理(twopasses),其中第一次處理是要執(zhí)行重疊平滑,而第二步驟系用于環(huán)路內(nèi)解塊。雖然可能有也適用的其它要求(例如,涉及參數(shù)PQUANT及塊類型的要求),但是在決定是否要處理個(gè)別的步驟時(shí),這些處理的目標(biāo)都是要平滑16x16宏塊、8x8塊、或4x4子塊的邊緣,且因而去除二維轉(zhuǎn)換及量化時(shí)所導(dǎo)入的塊贗像。
在用來處理視頻解壓縮的基于處理器之方法下,平滑或解塊功能的加入是一種計(jì)算繁復(fù)的過濾程序。在有大容量的存儲(chǔ)器緩沖器來存放一幀時(shí)(例如,在存放640x480像素的VGA大小時(shí),該容量等于307千字節(jié)),可以軟件來執(zhí)行該處理順序。另一方面,基于硬件的譯碼方法并不同時(shí)執(zhí)行平滑及解塊,且系對整體的幀執(zhí)行解塊,因而需要大容量的區(qū)域存儲(chǔ)器,且有可觀的總線頻寬要求,并犧牲了存儲(chǔ)器存取時(shí)間。因此,目前非常需要一種減少與解壓縮方法相關(guān)聯(lián)的處理要求并改善其中特別包括重疊平滑及(或)解塊過濾操作的解壓縮操作之方法。熟悉此項(xiàng)技術(shù)者在檢視本申請案的其余部分,并參閱各圖式及下文中的詳細(xì)說明之后,將可易于了解傳統(tǒng)系統(tǒng)的進(jìn)一步限制及缺點(diǎn)。
發(fā)明內(nèi)容
藉由將軟件及硬件的組合用來執(zhí)行視頻解壓縮,而提供了一種可適于迅速且有效率地處理各種不同的視頻壓縮體系之具有彈性之解壓縮系統(tǒng)。該具彈性之解壓縮系統(tǒng)包含:用來執(zhí)行前端解壓縮步驟之處理器、以及用來執(zhí)行后端解壓縮步驟之視頻加速器。為了減少視頻加速器中在對視頻幀數(shù)據(jù)執(zhí)行重疊平滑及環(huán)路內(nèi)解塊過濾操作時(shí)對存儲(chǔ)器容量及/或頻寬的要求,環(huán)路內(nèi)過濾器系以一種基于宏塊的方式而執(zhí)行重疊平滑及環(huán)路內(nèi)解塊之分段處理。藉由使用對像素的分段處理,即可于擷取(accessing)塊時(shí),同時(shí)執(zhí)行重疊平滑及環(huán)路內(nèi)解塊。藉由將暫存存儲(chǔ)器(scratch pad memory)用來儲(chǔ)存被部分處理過的數(shù)據(jù),即可分解平滑及解塊算法,并將該等算法應(yīng)用于較小的數(shù)據(jù)塊。保留了處理的順序,就如同按照幀的順序執(zhí)行一般,并可以一種管線化的格式執(zhí)行處理的順序,以便隱藏等待時(shí)間(latency),并平滑過濾器處理能力,以避免提取及儲(chǔ)存塊的叢發(fā)。本發(fā)明涉及一種譯碼視頻數(shù)據(jù)的方法,包含:接收塊變換處理的視頻數(shù)據(jù)的至少一個(gè)第一宏塊;平滑和解塊該宏塊內(nèi)的被選擇的像素?cái)?shù)據(jù)以產(chǎn)生至少一個(gè)第一部分過濾的塊和至少一個(gè)第一完成的塊;以及在第二宏塊內(nèi)存儲(chǔ)用于平滑和解塊被選擇的像素?cái)?shù)據(jù)的該第一部分過濾的塊。根據(jù)本發(fā)明的一個(gè)或多個(gè)實(shí)施例,提供了一種將已利用塊轉(zhuǎn)換而被處理成復(fù)數(shù)個(gè)宏塊的視頻數(shù)據(jù)譯碼之視頻處理系統(tǒng)、裝置、及方法。在每一宏塊中,系以環(huán)路內(nèi)過濾器執(zhí)行分段處理,以便對至少第一塊中之被選擇的像素?cái)?shù)據(jù)進(jìn)行平滑及解塊,因而在第一過濾操作中部分地處理該第一塊,然后在第二過濾操作中完全地處理該第一塊,因而產(chǎn)生一個(gè)或多個(gè)完成的塊以及一個(gè)或多個(gè)部分過濾的塊。例如,該第一過濾操作可以是對第一行宏塊執(zhí)行的平滑及解塊過濾,且該第二過濾操作可以是對第二行宏塊執(zhí)行的平滑及解塊過濾,或者,該第一過濾操作可以是對該第一塊執(zhí)行的第一組分段重疊平滑及解塊過濾,且該第二過濾操作可以是對該第一塊執(zhí)行的第二組分段重疊平滑及解塊操作。因此,可對與先前處理的宏塊鄰接之任何塊完全執(zhí)行重疊平滑及解塊過濾,然后于第一過濾操作期間,將該過濾后的塊輸出為完成的塊,同時(shí)可對與后續(xù)處理的宏塊鄰接之塊部分地執(zhí)行重疊平滑及解塊過濾,然后將作為部分過濾的塊之該塊儲(chǔ)存在暫存存儲(chǔ)器中??蓪⒉⑽幢煌耆幚淼娜魏尾糠诌^濾的塊儲(chǔ)存在暫存存儲(chǔ)器中,并稍后在第二過濾操作期間對第二宏塊中之被選擇的像素?cái)?shù)據(jù)執(zhí)行平滑及解塊時(shí),擷取該部分過濾的塊以完成該塊。在選擇的實(shí)施例中,系以第一過濾操作執(zhí)行分段處理,該第一過濾操作對所選擇的垂直及水平塊邊界執(zhí)行一序列的重疊平滑,然后對沿著水平及垂直方向的所選擇之塊及子塊邊界執(zhí)行環(huán)路內(nèi)解塊。然后,執(zhí)行第二過濾操作,而在該第二過濾操作中,對其余的垂直及水平塊邊界執(zhí)行重疊平滑,然后對沿著水平及垂直方向的其余之塊及子塊邊界執(zhí)行環(huán)路內(nèi)解塊。藉由一次一個(gè)宏塊之方式對每一行的宏塊執(zhí)行分段處理,即可將宏塊處理管線化。熟悉此項(xiàng)技術(shù)者在參閱下文中之詳細(xì)說明,并配合最后的申請專利范圍及各附圖,將可易于了解本發(fā)明之目的、優(yōu)點(diǎn)、及其它新穎特征。
圖1顯示用來解壓縮視頻信息之系統(tǒng)之方塊圖;圖2顯示根據(jù)本發(fā)明而建構(gòu)之例示視頻解壓縮系統(tǒng)之方塊圖;圖3繪示根據(jù)本發(fā)明的所選擇之實(shí)施例而將暫存存儲(chǔ)器用來有效率地以硬件處理重疊平滑及環(huán)路內(nèi)解塊的環(huán)路內(nèi)過濾程序之簡化說明;圖4繪示在視頻編碼器或譯碼器中使用平滑及解塊過濾器以減少譯碼后的幀中之塊效應(yīng)(blockiness)之例示技術(shù);圖5A至5K例示如何可將分段處理用來執(zhí)行亮度塊的平滑及解塊程序;以及圖6A至6F例示如何可將分段處理用來執(zhí)行色度塊的平滑及解塊程序。
具體實(shí)施例方式雖然下文中將說明本發(fā)明的一些實(shí)施例,但是我們當(dāng)了解:可在沒有該等指定細(xì)節(jié)之情形下實(shí)施本發(fā) 明,且可對本說明書述及的本發(fā)明作出許多與實(shí)施例相關(guān)的決定,以便達(dá)到開發(fā)者的特定目標(biāo),這些特定的目標(biāo)包括諸如符合與系統(tǒng)相關(guān)的及與商業(yè)相關(guān)的限制條件,而該等限制將隨著各實(shí)施例而有所不同。雖然此種開發(fā)的工作可能是復(fù)雜且耗時(shí)的,但是此種開發(fā)工作仍然是對此項(xiàng)技術(shù)具有一般知識(shí)者在參閱本發(fā)明揭示事項(xiàng)后所從事的日常工作。例如,并非詳細(xì)示出,而是以方塊圖之形式示出一些所選擇的態(tài)樣,以避免模糊了本發(fā)明。熟悉此項(xiàng)技術(shù)者將這些說明及表示法用來描述其工作之主旨,并將其傳遞給其它熟悉此項(xiàng)技術(shù)者。現(xiàn)在將參照下文中述及的圖式而說明本發(fā)明。請參閱圖2,該圖式提供根據(jù)本發(fā)明的一例示視頻解壓縮系統(tǒng)(100)之方塊圖。如圖所示,可在諸如桌上型或膝上型計(jì)算機(jī)、無線或行動(dòng)裝置、個(gè)人數(shù)字助理、行動(dòng)或蜂巢式電話、以及包含視頻成像特征的任何其它視頻播放裝置等的任何視頻播放裝置中實(shí)施視頻解壓縮系統(tǒng)(100)。如圖2中所示,系將視頻解壓縮系統(tǒng)(100)實(shí)施為主機(jī)或應(yīng)用裝置處理單元,其中包含被耦接到一個(gè)或多個(gè)處理器或處理單元(50)之總線(95)、以及視頻或媒體加速硬件單元(101)。此外,視頻解壓縮系統(tǒng)(100)包含主存儲(chǔ)器系統(tǒng),而該主存儲(chǔ)器系統(tǒng)包含經(jīng)由雙倍數(shù)據(jù)率(DDR)控制器¢0)而被存取的大容量之雙倍數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DDR SDRAM) (62), (64) 0以額外添加或以替代之方式,經(jīng)由靜態(tài)存儲(chǔ)器控制器(70)而存取一個(gè)或多個(gè)存儲(chǔ)器(例如,IDE儲(chǔ)存裝置(72)、閃存單元(74)、及只讀存儲(chǔ)器(ROM) (76)等)。DDR SDRAM或其它存儲(chǔ)器的其中之一或兩者可與視頻解壓縮系統(tǒng)(100)整合,或設(shè)于視頻解壓縮系統(tǒng)(100)之外。當(dāng)然,可經(jīng)由個(gè)別的控制器(80)、(90)而使用其它的外圍裝置及顯示裝置(80)、(82)、(84)、(92)存取。為了清晰及易于了解,將不詳細(xì)說明構(gòu)成視頻解壓縮系統(tǒng)(100)的所有組件。對此項(xiàng)技術(shù)具有一般知識(shí)者都知曉這些細(xì)節(jié),且這些細(xì)節(jié)將隨著特定的計(jì)算機(jī)供貨商及微處理器類型而改變。此外,視頻解壓縮系統(tǒng)(100)可根據(jù)所需之實(shí)施情形而包含其它的總線、裝置、及(或)子系統(tǒng)。例如,視頻解壓縮系統(tǒng)
(100)可包含快取存儲(chǔ)器、調(diào)制解調(diào)器、并聯(lián)或串聯(lián)接口、SCSI接口、以及網(wǎng)絡(luò)適配卡等的項(xiàng)目。在所示實(shí)施例中,中央處理單元(CPU) (50)執(zhí)行閃存(74)及(或)SDRAM (62)、(64)中儲(chǔ)存的軟件。在第圖2所示之視頻解壓縮系統(tǒng)(100)中,CPU (50)執(zhí)行如VLD塊(52)所指示之起始可變長度譯碼功能,而媒體加速硬件單元(101)對被譯碼的數(shù)據(jù)執(zhí)行反向量化(104)、反向轉(zhuǎn)換(106)、動(dòng)作補(bǔ)償(108)、環(huán)路內(nèi)過濾(110)、彩色空間轉(zhuǎn)換(112)、縮放(114)、以及過濾(116)??上葘⑺a(chǎn)生的被譯碼的數(shù)據(jù)暫時(shí)儲(chǔ)存在輸出緩沖器(118)及(或)幀緩沖器(圖中未示出)中,然后才在顯示器(92)上顯示。藉由將各譯碼處理功能分配到處理器
(50)及媒體加速硬件(101),即可以軟件執(zhí)行前端譯碼步驟(例如,可變長度譯碼),而可適應(yīng)各種不同的編碼體系(例如,MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7、MPEG-21、及 WMV9等的編碼體系)。將前端所產(chǎn)生的被譯碼的數(shù)據(jù)提供給媒體加速硬件(101),而媒體加速硬件(101)將該被譯碼的數(shù)據(jù)進(jìn)一步地譯碼,以便以逐一宏塊進(jìn)行之方式將像素值提供給輸出緩沖器(118)或幀緩沖器,直到完成一幀為止。于操作時(shí),視頻解壓縮系統(tǒng)(100)自諸如只讀光盤(⑶-ROM)、數(shù)字激光視盤(DVD)、或其它儲(chǔ)存裝置等的視頻信號(hào)源接收被壓縮的視頻信號(hào)。將該被壓縮的視頻信號(hào)以被壓縮之視頻信息比特流之方式提供給處理器(50),而處理器(50)執(zhí)行指令,以便將該被壓縮的信號(hào)之可變長度編碼部分譯碼,以提供可變長度譯碼的數(shù)據(jù)(VLD數(shù)據(jù))信號(hào)。一旦采用軟件協(xié)助以執(zhí)行可變長度譯碼之后,即直接或以使用數(shù)據(jù)壓縮技術(shù)之方式(美國專利申請案11/042,365案名:“輸入數(shù)據(jù)之輕量壓縮(Lightweight Compression of InputData)”中更完整地述及了此種數(shù)據(jù)壓縮技術(shù))將該VLD數(shù)據(jù)(其中包括標(biāo)頭(header)、矩陣加權(quán)值、動(dòng)作向量、轉(zhuǎn)換之殘余系數(shù)、以及偶差分動(dòng)作向量)傳送到媒體加速硬件單元
(101)。在媒體加速硬件單元(101)上,一旦接收到該VLD數(shù)據(jù)之后,即將該數(shù)據(jù)提供給反向”之”字形掃描及量化電路(104),該電路(104)將該VLD數(shù)據(jù)信號(hào)譯碼,而提供經(jīng)過”之”字形掃描譯碼的信號(hào)。該反向之字形掃描及量化操作補(bǔ)償系基于下列事實(shí):當(dāng)壓縮之視頻信號(hào)以之字形掃描束長度編碼方式壓縮時(shí),該之字形掃描譯碼信號(hào)系提供給反離散余弦轉(zhuǎn)換電路(106)作為后續(xù)塊之信息。因此,該經(jīng)過之字形掃描譯碼的信號(hào)提供了按照在顯示器(92)上進(jìn)行光柵掃描(raster scanning)所需順序之各塊。然后將該經(jīng)過之字形掃描譯碼的信號(hào)提供給反向轉(zhuǎn)換電路(106)(例如,反離散余弦轉(zhuǎn)換(IDCT)或及整數(shù)轉(zhuǎn)換電路),而該電路以一種逐一塊進(jìn)行之方式對該經(jīng)過之字形掃描譯碼的視頻信號(hào)執(zhí)行反離散余弦轉(zhuǎn)換,以便提供經(jīng)過靜態(tài)解壓縮的像素值或經(jīng)過解壓縮的誤差項(xiàng)(error term)。利用動(dòng)作補(bǔ)償單元(108)以一種逐一塊進(jìn)行之方式處理該經(jīng)過靜態(tài)解壓縮的像素值,而該動(dòng)作補(bǔ)償單元(108)提供了幀內(nèi)預(yù)測式雙向動(dòng)作補(bǔ)償,其中包括對一個(gè)、兩個(gè)、及四個(gè)動(dòng)作向量(16xl6、16x8、及8x8塊)的支持。環(huán)路內(nèi)過濾器(110)執(zhí)行重疊平滑及(或)去塊,以便根據(jù)WMV9壓縮標(biāo)準(zhǔn)而減少或消除塊贗像,其方式為將暫存存儲(chǔ)器(111)用來儲(chǔ)存部分完成的宏塊過濾數(shù)據(jù),其中情形將于下文中更完整地加以說明。彩色空間轉(zhuǎn)換器(112)將一種或多種輸入數(shù)據(jù)格式(例如,YCbCr4:2:0)轉(zhuǎn)換成一種或多種輸出格式(例如,RGB),且在過濾器(116)上對該結(jié)果執(zhí)行過濾及(或)縮放。
如本說明書中所揭示的,平滑及解塊環(huán)路內(nèi)過濾器(110)在第一次處理(firstpass)期間對每一行的宏塊執(zhí)行部分地過濾或處理,然后在處理次一行的宏塊期間完成對該等被部分處理的塊之處理,而去除各相鄰塊間之邊界不連續(xù)。使用該技術(shù)時(shí),可將小容量的暫存存儲(chǔ)器(111)有效率地用來將該等被部分處理的塊儲(chǔ)存在暫存存儲(chǔ)器中,而不是如同傳統(tǒng)解塊程序中將大容量的存儲(chǔ)器用來儲(chǔ)存整個(gè)幀的影像以供過濾。當(dāng)以逐行進(jìn)行之方式完成對每一塊的重疊平滑及解塊處理之后,可先將完成的塊自過濾器(110)輸出到先進(jìn)先出(FIFO)緩沖器(圖中未示出),然后才傳送到彩色空間轉(zhuǎn)換器(CSC) (112)。圖3繪示根據(jù)本發(fā)明之選擇之實(shí)施例而將暫存存儲(chǔ)器用來有效率地處理重疊平滑及解塊的基于宏塊的環(huán)路內(nèi)過濾程序之簡化例示。在該過濾程序中,對一行宏塊執(zhí)行的每一次環(huán)路內(nèi)過濾處理都產(chǎn)生了完全完成的塊(這些塊已被完全過濾,而將該等塊平滑及去塊)以及部分完成的塊(這些塊被儲(chǔ)存在該暫存存儲(chǔ)器中,以供后續(xù)用于對次一行的宏塊執(zhí)行之平滑及去塊)。如圖所示,該環(huán)路內(nèi)過濾程序中之每一單一宏塊(例如,其中包含四個(gè)亮度塊11*470、11±|471、11±|472、及11±|473的例示宏塊4或”mb4”)都要?dú)v經(jīng)下列順序的處理:(i)完全完成對鄰接先前宏塊(例如,宏塊I)的8x8塊(例如,mb4y0、mb4yl)的平滑及解塊,且部分完成對鄰接次一宏塊(例如,宏塊7)的8x8塊(例如,mb4y2、mb4y3)的平滑及去塊;(ii)輸出完成的8x8塊(例如,mb4y0、mb4yl),并將部分完成的8x8塊(例如,mb4y2、mb4y3)儲(chǔ)存在該暫存存儲(chǔ)器;(iii)于處理次一宏塊(例如,宏塊7)時(shí),自該暫存存儲(chǔ)器提取該等部分完成的8x8塊(例如,mb4y2、mb4y3),并完成對所提取的該等8x8塊(例如,mb4y2、mb4y3)之處理;以及(iv)連同該次一個(gè)宏塊的完成之8x8塊(例如,mb7y0、mb7yl)而輸出該等完成的8x8 塊(例如,mb4y2、mb4y3)。雖然實(shí)施例的細(xì)節(jié)可隨著應(yīng)用而改變,但是圖3示出由若干宏塊(例如,宏塊mbO、mbl、mb2、mb3、mb4、mb5、mb6、mb7、mb8等)構(gòu)成由環(huán)路內(nèi)過濾器(110)處理的影像巾貞(150)且該影像巾貞(150)被配置在多行(例如,第一行(151)系由mbO、mbl、及mb2所構(gòu)成)之一個(gè)實(shí)施例。如圖3之3A部分所示,環(huán)路內(nèi)過濾器(110)已經(jīng)對第一行宏塊(151)作了第一次處理。由于對第一行(151)的該第一次處理,已對上方塊(mbOyO、mbOyl、mblyO、mblyl、mb2y0、mb2yl)進(jìn)行了重疊平滑及解塊的完全處理(如交叉影線所示),而只對下方塊(mb0y2、mb0y3、mbly2、mbly3、mb2y2、mb2y3)進(jìn)行了重疊平滑及解塊的部分處理。為了在對宏塊的下一次處理期間完成該第一行(151)的該等被部分處理的塊,系將該第一行(151)的該等被部分處理的塊儲(chǔ)存在暫存存儲(chǔ)器(111)中(如點(diǎn)圖樣所示)。如其它繪示于圖3之3A部分,環(huán)路內(nèi)過濾器(110)已開始處理第二行宏塊(152),其會(huì)完成第一行(151)的該等被部分處理的塊。結(jié)果,mb0y2及mb3y塊已完全經(jīng)平滑及解塊處理,且mb3y2塊只進(jìn)行了部分處理(且mb3y2塊被儲(chǔ)存在暫存存儲(chǔ)器中)。至于在圖3之3A部分中將由過濾器(110)處理的塊(已被過濾的塊(154)且以斜影線示出),mb0y3、mb3yl、及mb3y3塊已進(jìn)行了平滑及解塊的部分處理(且保留在過濾器(110)中),mbly2塊是自該暫存存儲(chǔ)器提取的已部分完成的塊,且從目前的宏塊(例如,宏塊4)取得其余的塊(mb4y0及mb4y2)。當(dāng)環(huán)路內(nèi)過濾器(110)處理該等被過濾的塊(154)時(shí),完成了對該等被部分處理的塊中之一個(gè)或多個(gè)塊(例如,mbOy3、mb3yl)的平滑及解塊,同時(shí)只部分完成了其余的塊(mbly2、mb4y0、mb4y2、及 mb3y3)。在處理了該等被過濾的塊(154)之后,將環(huán)路內(nèi)過濾器(110)移至新的數(shù)據(jù)。系以圖3之3B部分中所示之幀(155)示出此情況,而圖中示出藉由輸出任何完成的塊(例如,mb0y3、mb3yl),藉由將一個(gè)或多個(gè)部分完成的塊(例如,mb3y3)儲(chǔ)存在該暫存存儲(chǔ)器中,藉由將其余部分完成的塊(例如,mbly2、mb4y0、mb4y2)移入該過濾器中一個(gè)塊位置,藉由自先前行的宏塊提取一個(gè)部分完成的塊(例如,mbly3),且自目前的宏塊加載新的塊(例如,mb4yl、mb4y3),而由過濾器(110)取得被過濾的塊(156)。當(dāng)環(huán)路內(nèi)過濾器(110)處理該等被過濾的塊(156)時(shí),完成了對該等被部分處理的塊中之一或多個(gè)塊(例如,mbly2、mb4y0)的平滑及解塊,同時(shí)只部分完成了其余的塊(mbly3、mb4yl、mb4y3、及mb4y2)。在處理了該等被過濾的塊(156)之后,再度將環(huán)路內(nèi)過濾器(110)移至新的數(shù)據(jù),且系以圖3C所示之幀(157)示出此情況。尤系藉由輸出任何完成的塊(例如,mbly2、mb4y0),藉由將一個(gè)或多個(gè)部分完成的塊(例如,mb4y2)儲(chǔ)存在該暫存存儲(chǔ)器中,藉由將其余部分完成的塊(例如,mbly3> mb41> mb4y3)移入該過濾器中一個(gè)塊位置,藉由自先前行的宏塊提取一個(gè)部分完成的塊(例如,mb2y2),且自目前的宏塊加載新的塊(例如,mb5y0、mb5y2),而由過濾器(110)取得被過濾的塊(158)。當(dāng)環(huán)路內(nèi)過濾器(110)處理該等被過濾的塊(158)時(shí),完成了對該等被部分處理的塊中之一或多個(gè)塊(例如,mbly3> mb4yl)的平滑及解塊,同時(shí)只部分完成了其余的塊(mb2y2、mb5y0、mb5y2、及mb4y3)。此時(shí),已完成了對宏塊4中之上方塊(mb4y0、mb4yl)的平滑及解塊,但是只部分完成了下方塊(mb4y2、mb4y3)。藉由將部分儲(chǔ)存的下方塊儲(chǔ)存在該暫存存儲(chǔ)器中,即可在過濾器(110)處理次一行宏塊時(shí),完成該過濾操作。圖4中示出本發(fā)明的一替代實(shí)施例之額外細(xì)節(jié),該圖標(biāo)出一種在視頻編碼器或譯碼器中使用平滑及解塊過濾器以減少譯碼后的幀中之塊效應(yīng)(塊瑕疵;bl0CkineSS)之方法(200)。我們將可了解,可將所示之技術(shù)用來處理亮度塊或色度塊,但是在每一幀的周圍可能有特殊角落的情形,此時(shí)熟悉此項(xiàng)技術(shù)者將視需要而調(diào)整并應(yīng)用本發(fā)明。然而,為了簡化,本發(fā)明的揭示主要將重點(diǎn)放在對每一幀的內(nèi)部宏塊執(zhí)行的環(huán)路內(nèi)過濾步驟。請參閱圖4,在步驟(201)中,一旦該視頻編碼器/譯碼器至少產(chǎn)生了該幀的第一宏塊之后,該環(huán)路內(nèi)過濾程序即以一次一個(gè)宏塊之方式處理最上方行的宏塊,以便對每一塊與其鄰近塊間之邊界過濾。我們當(dāng)了解,因?yàn)椴⑽磳υ搸闹車鷪?zhí)行平滑及解塊,所以該幀之外部并無用于過濾程序的任何部分完成的塊。然而,當(dāng)對第一行宏塊過濾時(shí),一些部分完成的塊填滿了該暫存存儲(chǔ)器。在步驟(201)中,自第一宏塊開始,該編碼器/譯碼器加載所需的塊,并自該暫存存儲(chǔ)器擷取(除了第一行宏塊以外的)來自上方的任何部分完成的鄰接塊。當(dāng)一宏塊包含四個(gè)亮度塊(y0、yl、y2、y3)以及兩個(gè)色度塊(Cb、Cr)時(shí),該等塊按照下列順序進(jìn)入該編碼器/譯碼器硬件:y0、yl、y2、y3、Cb、Cr。然后在步驟(210)中,該視頻編碼器/譯碼器將被加載該過濾器的該等塊與鄰接塊或子塊間之預(yù)定邊界過濾。在所選擇的實(shí)施例中,可使用分段處理技術(shù),以便部分地處理該過濾器中之每一塊。例如,在步驟(211)中,在將亮度或色度平面中之一8x8塊譯碼之后,使左及(或)右(垂直)邊緣的全部或部分接受平滑過濾程序。在步驟(212)中,以額外添加或以替代之方式,使該塊的上及(或)下(水平)邊緣的全部或部分接受平滑過濾程序。除了重疊平滑之外,在步驟(213)中,可將解塊過濾程序施加到該等8x8塊的所選擇之水平邊界線之全部或部分,且(或)在步驟(214)中,將該解塊過濾程序施加到各8x4子塊的所選擇之水平邊界線之全部或部分。以額外添加或以替代之方式,在步驟(215)中,可將該解塊過濾程序施加到該等8x8塊的所選擇之垂直邊界線之全部或部分,且(或)在步驟(216)中,將該解塊過濾程序施加到各4x8子塊的所選擇之垂直邊界線之全部或部分?!┓侄翁幚砹嗽撨^濾器中之該等塊之后,儲(chǔ)存結(jié)果或?qū)⒔Y(jié)果移入該過濾器中,以供其它的處理。尤其為了讓該過濾器處理新的數(shù)據(jù),在步驟(217)中自該過濾器輸出該過濾器中任何完成的塊。此外,在判定步驟(218)中決定尚未處理最后一行的宏塊時(shí),在步驟(219)中將不連同新塊而處理的任何部分完成的塊儲(chǔ)存在暫存存儲(chǔ)器中,以供后續(xù)的使用以及連同次一行宏塊而進(jìn)行另外的處理,而在判定步驟(218)中判定正在處理最后一行的宏塊(其結(jié)果是否定的)之情形中,可略過該暫存存儲(chǔ)器儲(chǔ)存步驟(219)。在步驟(217)、(219)中儲(chǔ)存所選擇的塊而在該過濾器中產(chǎn)生了空間之后,該過濾器現(xiàn)在可處理新的數(shù)據(jù)。尤其在判定步驟(220)中判定該幀中還有額外的塊(其結(jié)果是肯定的)時(shí),在步驟(222)中將其余的部分過濾的塊向左移入該過濾器。在判定步驟(224)判定該等塊行是在最上方行之下(其結(jié)果是否定的)之情形中,在步驟(226)中自該暫存存儲(chǔ)器擷取次一部分完成的塊,而填入該過濾器中的可用空間,并在步驟(228)中以新的塊填入該過濾器中之任何剩下的空間。一旦將新的數(shù)據(jù)加載該過濾器之后,即對該組新的過濾塊重復(fù)該塊過濾程序(210)。藉由重復(fù)該序列的操作,而依序?qū)⒃搸兄恳缓陦K過濾,以便自該暫存存儲(chǔ)器擷取于處理前一行的宏塊期間產(chǎn)生的部分完成的塊,并將被部分地過濾的塊儲(chǔ)存在該暫存存儲(chǔ)器中,以供在處理次一行的宏塊期間之后續(xù)使用。另一方面,如果在判定步驟(222)中判定沒有將要過濾的任何剩余塊(其結(jié)果是否定的)之情形中,即完成對目前幀的平滑及解塊處理。此時(shí),在步驟(230)中擷取次一幀,且自該新幀的第一宏塊開始,而重復(fù)該過濾程序。現(xiàn)在請參閱圖5A至第5K,圖中示出了本發(fā)明的一實(shí)施例,以便示出如何利用分段處理技術(shù)而對宏塊4 (“mb4”)中之亮度塊執(zhí)行WMV9平滑及解塊程序。圖5A中示出該過濾程序的起點(diǎn),此時(shí)已將經(jīng)過重疊平滑(請參閱諸如橢圓形標(biāo)示(322))及解塊(請參閱諸如線標(biāo)示(323))的部分處理之塊(例如,mb0y3、mb3yl、及mb3y3)加載了過濾器(320)。然后如圖5B所示,以額外的塊填入過濾器(320)。尤其自該暫存存儲(chǔ)器擷取部分完成的塊(例如,mbly2),并將該塊加載該過濾器中。此外,將來自目前宏塊(例如,mb4)的選擇之塊(例如,mb4y0、mb4y2)加載該編碼器/譯碼器,然而如(321)所示,該宏塊加載序列(例如,mb4y0、mb4yl、mb4y2、及mb4y3)要求:此時(shí)至少一個(gè)塊被加載,旦不被移入過濾器(320)。如圖5C所示,一旦加載了該等過濾塊之后,過濾器(320)即執(zhí)行分段重疊平滑。尤其系對所選擇的內(nèi)部垂直邊緣(301)、(302)執(zhí)行垂直重疊平滑(V)。然后,對所選擇的內(nèi)部水平邊緣(例如,303、304、305、及306)執(zhí)行水平重疊平滑(H)。如圖所示,在部分平滑了該等過濾塊之后,過濾器(320)執(zhí)行分段解塊。首先,對所選擇的8x8塊邊界(例如,307、308、309、310)執(zhí)行水平環(huán)路內(nèi)解塊(HD),然后對所選擇的子塊邊界(例如,311、312、313、314)執(zhí)行水平環(huán)路內(nèi)解塊(HDH)。然后,該過濾器對所選擇的8x8塊邊界(例如,315、316)執(zhí)行垂直環(huán)路內(nèi)解塊(VD),然后對所選擇的子塊邊界(例如,317、318)執(zhí)行垂直環(huán)路內(nèi)解塊(VDH)。在每一上述的平滑及解塊步驟內(nèi),對該等邊界段(boundary piece)的過濾順序并無關(guān)緊要,這是因?yàn)樵摰冗吔缍沃g并無相依性。除了圖5C及所示之分段處理的特定順序之外,亦可根據(jù)本發(fā)明而實(shí)施其它的順序及(或)過濾步驟。例如,可過濾不同順序的邊界邊緣。此外,可施加一種以上類型的平滑及解塊模式,且該過濾操作可根據(jù)過濾體系而施加到邊界的任一側(cè)上的多達(dá)三個(gè)或更多的像素。例如,MPEG-4標(biāo)準(zhǔn)使用兩種解塊模式,以便在第一種模式中將短過濾施加到塊邊緣的任一側(cè)上的一個(gè)像素,并在第二種模式中將較長過濾施加到任一側(cè)上的兩個(gè)像素。在其它的實(shí)施例中,可調(diào)整過濾定義、不同的過濾器數(shù)目、及(或)適當(dāng)過濾條件,以便符合特定的要求。如圖5E所示,一旦該等平滑及解塊過濾操作結(jié)束之后,即儲(chǔ)存并移出被處理過的過濾塊。尤其然后可輸出任何完成的塊(例如,mb0y3、mb3yl),這是因?yàn)樵摰葔K已是完成的。此外,可將一個(gè)或多個(gè)部分完成的塊(例如,mb3y3)移到該暫存存儲(chǔ)器,以便在處理下方的鄰接宏塊時(shí)提供作后續(xù)的使用(請參閱例如圖3所示與mb3y3相關(guān)的宏塊6)。然后可將該過濾器中任何剩余的部分完成的塊(例如,mbly2> mb4y0> mb4y2)在該過濾器中動(dòng)作,以便讓出空間給新的數(shù)據(jù)。圖5F中示出該等輸出、儲(chǔ)存、及動(dòng)作步驟的結(jié)果。如圖5G所示,現(xiàn)在可以新的數(shù)據(jù)填入過濾器(320)。尤其自該暫存存儲(chǔ)器擷取部分完成的塊(例如,mbly3),并將該塊加載該過濾器中。此外,將來自目前宏塊(例如,mb4)的剩余塊(例如,mb4yl、mb4y3)加載過濾器(320)。如圖5H所示,一旦加載了該等過濾塊之后,過濾器(320)即執(zhí)行分段重疊平滑。尤其系對所選擇的內(nèi)部垂直邊緣執(zhí)行垂直重疊平滑(VI,V2)。然后,對所選擇的內(nèi)部水平邊緣執(zhí)行水平重疊平滑(H1、H2、H3、H4)。如第51圖所示,在部分平滑了該等過濾塊之后,過濾器(320)即執(zhí)行分段解塊。首先,對所選擇的8x8塊邊界執(zhí)行水平環(huán)路內(nèi)解塊(HD1、HD2、HD3、HD4),然后對所選擇的子塊邊界執(zhí)行水平環(huán)路內(nèi)解塊(HDH1、HDH2、HDH3、HDH4)。然后,過濾器對所選擇的8x8塊邊界執(zhí)行垂直環(huán)路內(nèi)解塊(VD1、VD2),然后對所選擇的子塊邊界執(zhí)行垂直環(huán)路內(nèi)解塊(VDH1、VDH2)。如圖5J所示,一旦該等平滑及解塊過濾操作結(jié)束之后,即儲(chǔ)存并移出被處理過的過濾塊。尤其然后可輸出任何完成的塊(例如,mbly2、mb4y0),這是因?yàn)樵摰葔K已是完成的。此外,可將一個(gè)或多個(gè)部分完成的塊(例如,mb4y2)移到該暫存存儲(chǔ)器,以便在處理下方的鄰接宏塊時(shí)提供作后續(xù)的使用。然后可將該過濾器中任何剩余的部分完成的塊(例$n,mbly3>mb4yl>mb4y3)在該過濾器中動(dòng)作,以便讓出空間給新的數(shù)據(jù)。圖5K中示出該等輸出、儲(chǔ)存、及動(dòng)作步驟的結(jié)果,且該結(jié)果正對應(yīng)于圖5A所示之起始過濾器狀態(tài)。因此,可重復(fù)圖5A至5K所示之步驟序列,以便繼續(xù)對其中包括次一宏塊(例如,宏塊5或mb5)的該等過濾塊進(jìn)行過濾?,F(xiàn)在請參閱圖6A至6F,圖中示出本發(fā)明的一個(gè)實(shí)施例,以便顯示如何可用分段處理技術(shù)而在宏塊中之Cb或Cr塊上實(shí)施WMV9平滑及解塊程序。因?yàn)镃b及Cr宏塊是類似的,所以將參照以指針卷標(biāo)Cb(x,y)識(shí)別的目前Cb宏塊而提供該例子。圖6A中示出該過濾程序的起點(diǎn),此時(shí)業(yè)已將經(jīng)過重疊平滑(請參閱例如橢圓形標(biāo)示(422))及解塊(請參閱例如線標(biāo)示(423))的部分處理之塊(例如,Cb(x-l,y-l)及Cb(x_l,y))加載了過濾器(420)。然后如圖6B所示,以額外的塊填入過濾器(420)。尤其自該暫存存儲(chǔ)器擷取部分完成的塊(例如,Cb(x,y-1)),并將該塊加載該過濾器中。此外,將來自目前宏塊的塊(例如,Cb (x, y))加載該過濾器。如圖6C所示,一旦加載了該等過濾塊之后,過濾器(420)即執(zhí)行分段重疊平滑。尤其系對所選擇的內(nèi)部垂直邊緣執(zhí)行垂直重疊平滑(V)。然后,對所選擇的內(nèi)部水平邊緣執(zhí)行水平重疊平滑(H1,H2)。如圖6D所示,在部分地平滑了該等過濾塊之后,過濾器(420)執(zhí)行分段解塊。首先,對所選擇的8x8塊邊界執(zhí)行水平環(huán)路內(nèi)解塊(HD1,HD2),然后對所選擇的子塊邊界執(zhí)行水平環(huán)路內(nèi)解塊(HDH1,HDH2)。然后,該過濾器對所選擇的8x8塊邊界執(zhí)行垂直環(huán)路內(nèi)解塊(VD),然后對所選擇的子塊邊界執(zhí)行垂直環(huán)路內(nèi)解塊(VDH)。如圖6E所示,一旦該等平滑及解塊過濾操作結(jié)束之后,即儲(chǔ)存并移出被處理過的過濾塊。尤其然后可輸出任何完成的塊(例如,Cb(x-l,y-l)),這是因?yàn)樵搲K已是完成的。此外,可將部分完成的塊(例如,Cb(x-l,y))移到該暫存存儲(chǔ)器,以便在處理下方的鄰接宏塊時(shí)提供作后續(xù)的使用。然后可將該過濾器中任何剩余的部分完成的塊(例如,Cb (x, y-1) > Cb (x, y))在該過濾器中動(dòng)作,以便讓出空間給新的數(shù)據(jù)。圖6F中示出該等輸出、儲(chǔ)存、及動(dòng)作步驟的結(jié)果,且該結(jié)果正對應(yīng)于圖6A所示之起始過濾器狀態(tài)。因此,可重復(fù)圖6A至6F所示之步驟序列,以便對次一宏塊進(jìn)行過濾。從上述可知,在硬件譯碼器單元中提供小容量的暫存存儲(chǔ)器,環(huán)路內(nèi)過濾器可將來自目前宏塊(表示為MB (X,y))的亮度塊及色度塊的任何部分完成的過濾結(jié)果暫時(shí)儲(chǔ)存在該暫存存儲(chǔ)器中。然后可將該等被儲(chǔ)存的過濾結(jié)果用于對與該宏塊鄰接的且在該行之下的塊之處理。尤其當(dāng)過濾器正在處理正下方的宏塊(亦即,MB (x, y+1))時(shí),自該暫存存儲(chǔ)器提取被儲(chǔ)存的MB (x,y)之?dāng)?shù)據(jù),并將該數(shù)據(jù)用于對MB (X,y+1)之處理。雖然該暫存存儲(chǔ)器中儲(chǔ)存的該等部分完成的過濾結(jié)果應(yīng)至少包含8x8像素?cái)?shù)據(jù),但是在選擇的實(shí)施例中,該暫存存儲(chǔ)器也儲(chǔ)存了用來判定該塊是否需要進(jìn)行邊界過濾的控制數(shù)據(jù)。例如,該控制數(shù)據(jù)可包括目前宏塊中的六個(gè)塊之每一塊的一組標(biāo)頭,該組標(biāo)頭包括I毫伏(mv)或4毫伏的選擇碼、塊地址、塊在幀中之位置、宏塊模式(mbmode)、轉(zhuǎn)換大小、系數(shù)(零或非零)、以及若干動(dòng)作向量(沿著X及y方向的兩個(gè)向前動(dòng)作向量、以及沿著X及y方向的兩個(gè)向后動(dòng)作向量)。可以一種有效率地使用叢發(fā)數(shù)據(jù)段大小之方式封裝(pack)該等數(shù)據(jù)。因?yàn)樵摃捍娲鎯?chǔ)器的小容量,所以可將存儲(chǔ)器設(shè)于與視頻加速器相同的芯片中,然而對于典型的幀大小而言,可將該暫存存儲(chǔ)器設(shè)于諸如DDR存儲(chǔ)器或其它外部存儲(chǔ)器等的不同之芯片中。然而,藉由將該暫存存儲(chǔ)器設(shè)于視頻加速器硬件單元(101)中,而可得到更佳的存儲(chǔ)器存取效能。與設(shè)有大容量的存儲(chǔ)器緩沖器以儲(chǔ)存整個(gè)幀的數(shù)據(jù)塊相比時(shí),本發(fā)明藉由盡量減少該暫存存儲(chǔ)器的容量,而可降低該媒體加速硬件單元的制造成本。例如,可以下式計(jì)算用來儲(chǔ)存其中包括控制數(shù)據(jù)及像素?cái)?shù)據(jù)的部分完成的過濾結(jié)果之暫存存儲(chǔ)器的容量:暫存存儲(chǔ)器的容量=(576字節(jié))X(幀中沿著水平方向的宏塊數(shù)目)。自上式可看出:當(dāng)幀在垂直方向有較大尺寸時(shí),該暫存存儲(chǔ)器的容量是相對較小的。換言之,該暫存存儲(chǔ)器的容量系取決于幀在水平方向的尺寸。我們當(dāng)了解,可配合用來存放整個(gè)幀的較大容量之存儲(chǔ)器而有利地使用本說明書中述及的該分段處理技術(shù),此時(shí)只要在將整個(gè)幀譯碼之前,先開始對第一宏塊過濾,即可改善過濾操作的速度。然而,分段處理容許以小容量的內(nèi)建(on-board)暫存存儲(chǔ)器而執(zhí)行該過濾操作,因而比將較大容量的存儲(chǔ)器用來儲(chǔ)存整個(gè)幀之方式有成本及速度上的優(yōu)勢。此夕卜,使用分段過濾時(shí),與基于幀的硬件實(shí)施例之情形相比下,并無用于存取塊的額外負(fù)擔(dān),且保留了如同傳統(tǒng)基于幀的過濾操作一般整體處理順序。在選擇的實(shí)施例中,可將分段處理管線化,以便隱藏等待時(shí)間。管線化也平滑了過濾器處理能力,因而避免提取及儲(chǔ)存塊的叢發(fā)。前文所揭示的特定實(shí)施例只是供例示之用,且不應(yīng)將該等特定實(shí)施例視為對本發(fā)明的限制,這是因?yàn)槭煜ご隧?xiàng)技術(shù)者在參閱本發(fā)明的揭示之后,將可易于以不同但等效之方式修改及實(shí)施本發(fā)明。因此,前文中說明的用意并非將本發(fā)明限制在所述之特定形式,相反地,本發(fā)明將涵蓋包含在最后的權(quán)利要求書所界定的本發(fā)明的精神及范圍內(nèi)之此種替代、修改、及等效方式,因而熟悉此項(xiàng)技術(shù)者當(dāng)可了解:可在不脫離本發(fā)明的廣義形式之精神及范圍下,作出各種改變、替代、及改變。
權(quán)利要求
1.一種譯碼視頻數(shù)據(jù)的方法,包含: 接收塊變換處理的視頻數(shù)據(jù)的至少一個(gè)第一宏塊; 平滑和解塊該宏塊內(nèi)的被選擇的像素?cái)?shù)據(jù)以產(chǎn)生至少一個(gè)第一部分過濾的塊和至少一個(gè)第一完成的塊;以及 在第二宏塊內(nèi)存儲(chǔ)用于平滑和解塊被選擇的像素?cái)?shù)據(jù)的該第一部分過濾的塊。
2.如權(quán)利要求1所述的譯碼視頻數(shù)據(jù)的方法,進(jìn)一步包含從存儲(chǔ)器獲取用于該平滑和解塊步驟的第二部分濾波的塊,該第二部分濾波的塊在先前的宏塊的處理過程中已前被產(chǎn)生。
3.如權(quán)利要求1所述的譯碼視頻數(shù)據(jù)的方法,其中,該平滑和解塊的步驟通過在視頻譯碼器的環(huán)路濾波器執(zhí)行。
4.如權(quán)利要求1所述的譯碼視頻數(shù)據(jù)的方法,其中,該方法在多個(gè)宏塊上以流水線方式執(zhí)行。
5.如權(quán)利要求1所述的譯碼視頻數(shù)據(jù)的方法,其中,該平滑和解塊的步驟包括: 完全地將至少第一塊過濾,該第一塊鄰接用于重疊平滑及解塊的先前被處理的宏塊;以及 部分地將至少第二塊過濾,該第二塊鄰接用于重疊平滑及解塊的后續(xù)被處理的宏塊。
6.如權(quán)利要求5所述的譯碼視頻數(shù)據(jù)的方法,進(jìn)一步包含: 輸出該完全過濾的第一塊;以及 在暫存存儲(chǔ)器中存儲(chǔ)該部分過濾的第二塊。
7.如權(quán)利要求5所述的譯碼視頻數(shù)據(jù)的方法,其中,完全地過濾至少第一塊的步驟包括:從暫存存儲(chǔ)器獲取用于完成該第一塊的過濾的部分完成的第三塊。
8.如權(quán)利要求5所述的譯碼視頻數(shù)據(jù)的方法,進(jìn)一步包含:當(dāng)將用于重疊平滑及解塊的該后續(xù)被處理的宏塊被過濾時(shí),獲取該部分過濾的第二塊。
9.如權(quán)利要求1所述的譯碼視頻數(shù)據(jù)的方法,其中,該平滑和解塊步驟包括: 對該第一宏塊內(nèi)的每一塊的被選擇的垂直邊執(zhí)行重疊平滑; 對該第一宏塊內(nèi)的每一塊的被選擇的水平邊執(zhí)行重疊平滑; 對該第一宏塊內(nèi)的每一塊的被選擇的水平邊界執(zhí)行環(huán)路內(nèi)解塊; 對該第一宏塊內(nèi)的每一子塊的被選擇的水平邊界執(zhí)行環(huán)路內(nèi)解塊; 對該第一宏塊內(nèi)的每一塊的被選擇的垂直邊界執(zhí)行環(huán)路內(nèi)解塊;以及 對該第一宏塊內(nèi)的每一子塊的被選擇的垂直邊界執(zhí)行環(huán)路內(nèi)解塊。
全文摘要
一種譯碼視頻數(shù)據(jù)的方法,包含接收塊變換處理的視頻數(shù)據(jù)的至少一個(gè)第一宏塊;平滑和解塊該宏塊內(nèi)的被選擇的像素?cái)?shù)據(jù)以產(chǎn)生至少一個(gè)第一部分過濾的塊和至少一個(gè)第一完成的塊;以及在第二宏塊內(nèi)存儲(chǔ)用于平滑和解塊被選擇的像素?cái)?shù)據(jù)的該第一部分過濾的塊。在此種方法下,可將較小容量的內(nèi)建存儲(chǔ)器用于該視頻譯碼硬件塊的環(huán)路內(nèi)過濾操作。藉由將該等分段處理操作管線化,即隱藏該等過濾操作的等待時(shí)間,且平滑了過濾輸出,因而無須塊的提取及儲(chǔ)存之叢發(fā)。
文檔編號(hào)H04N7/50GK103188495SQ20131005941
公開日2013年7月3日 申請日期2006年1月17日 優(yōu)先權(quán)日2005年1月25日
發(fā)明者B·關(guān), E·施蘭格, C·金, R·羅扎斯 申請人:先進(jìn)微裝置公司