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