專利名稱:在基于塊的視頻中的運動預(yù)測錯誤隱藏的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及視頻解碼,尤其涉及一種在基于塊的視頻中的運動預(yù)測 4晉i吳隱藏(motion projection error concealment)的方法和裝置。
背景技術(shù):
壓縮視頻內(nèi)容在發(fā)送期間通常經(jīng)受信道損害。在一些應(yīng)用中,被破壞的 視頻位流可以到達視頻解碼器。當(dāng)這發(fā)生時,如果不采取正確的動作,可能 嚴重地降低所傳遞的視頻的質(zhì)量。錯誤隱藏是一種在這種情況下由視頻解碼 器通常使用的技術(shù)。錯誤隱藏通過釆用壓縮位流內(nèi)的剩余冗余來恢復(fù)丟失的 或者損壞的視頻信息。
在現(xiàn)有技術(shù)中已經(jīng)意識到并且實現(xiàn)了片段(slice)丟失錯誤隱藏。然而,對 于每個丟失的幀必須接收到至少一個片段,以便應(yīng)用錯誤隱藏。因此,當(dāng)視 頻幀被完全丟失時,它是不適用的。然而,在許多應(yīng)用中,尤其以低位速率 操作的應(yīng)用中,例如3G無線網(wǎng)絡(luò),通常將編碼幀封裝到發(fā)送單元。當(dāng)在發(fā) 送期間丟失了這樣的發(fā)送單元時,丟失相應(yīng)的幀。片段丟失錯誤隱藏在這些 應(yīng)用中失敗。
存在一些現(xiàn)有的能夠處理整個幀丟失的簡單錯誤隱藏算法。例如, 一種 技術(shù)是"幀復(fù)制"(FC),它是根據(jù)給定的參考幀來簡單執(zhí)行逐個像素的復(fù)制 以便重構(gòu)丟失的幀的方案。幀復(fù)制對具有很少運動的靜止視頻序列有效。然 而,對于具有有效運動的那些^L頻序列,幀復(fù)制通常產(chǎn)生低PSNR值以及顯 而易見的錯誤傳播(error propagation)。"運動復(fù)制"(MC)是能夠隱藏丟失的幀的另一種簡單錯誤隱藏。運動復(fù) 制將給定參數(shù)幀的運動場復(fù)制到丟失的幀,并且然后執(zhí)行運動補償以便重構(gòu) 丟失的幀。運動復(fù)制對具有同類的運動場的視頻序列、諸如在攝像機遙攝中 發(fā)生的視頻序列有效。然而,當(dāng)視頻序列中存在充足的混亂運動時,運動復(fù)制可能產(chǎn)生隱藏假像(artifact)。已經(jīng)提出了一些更復(fù)雜的錯誤隱藏算法來隱藏丟失的幀。這些錯誤隱藏 算法通??杀环譃閴K級(block-level)算法和像素級(pbcel-level)算法。 一種所述 像素級錯誤隱藏算法根據(jù)最后接收的幀推斷在每個像素處的運動矢量(MV)。 然后,對于當(dāng)前丟失的幀中的每個像素,錯誤隱藏算法通過平均所有重疊的 宏塊(MB)的MV或者根據(jù)先前幀中的相同位置的MV對其進行復(fù)制來估計其在另一種所述像素級錯誤隱藏算法中,提出了基于光學(xué)流的運動估計。 估計的運動矢量(MV)在空間調(diào)整之后被預(yù)測到丟失幀以便避免額外的間斷。 丟失的幀中的未填充的像素隨后被空間插值。所有的上面算法在像素級操作,其估計每個像素的MV,然后執(zhí)行運動 補償。這些算法通常需要改變現(xiàn)有的數(shù)據(jù)結(jié)構(gòu)并且將功能模塊添加到現(xiàn)有的 視頻解碼圖表。而且,這些算法需要大量的附加計算。作為比較,有在塊級 操作的算法,其估計每個塊的MV。塊級錯誤隱藏算法通常需要較少的復(fù)雜 度或開銷。在一種所述塊級錯誤隱藏算法中,對于每個16x 16或4x4塊,通過計 算第 一 階和第二階動差(moment)來檢查落入內(nèi)部的MV的一致性 (consistency)。然而,塊級錯誤隱藏算法不提供對檢查失敗的那些塊的解決方 案,這就危及了性能。發(fā)明內(nèi)容現(xiàn)有技術(shù)的這些和其他缺陷和不足將由本發(fā)明來解決,本發(fā)明致力于一 種在基于塊的視頻中的運動預(yù)測錯誤隱藏的方法和裝置。根據(jù)本發(fā)明的一方面,提供了一種基于塊的錯誤隱藏的裝置。所述裝置 包括錯誤隱藏模塊,用于通過下列步驟來隱藏視頻序列的丟失畫面中的當(dāng)前 塊使用所述視頻序列的正確接收的畫面中的至少一個塊的運動矢量,將正 確接收的畫面中的至少 一個塊的位置預(yù)測為丟失畫面中的當(dāng)前塊的位置,以便獲得合成的預(yù)測(resultant projection),并且基于所述合成的預(yù)測中的重疊量 來選擇正確接收的畫面中的至少一個塊中的一個塊。然后使用正確接收的畫 面中的至少一個塊中的所選一個塊的運動矢量來隱藏丟失畫面中的當(dāng)前塊。根據(jù)本發(fā)明的另 一方面,提供了 一種用于隱藏視頻序列的丟失畫面中的 當(dāng)前塊的方法。所述方法包括使用所述視頻序列的正確接收的畫面中的至 少一個塊的運動矢量,將正確接收的畫面中的至少一個塊的位置預(yù)測為丟失 畫面中的當(dāng)前塊的位置,以便獲得合成的預(yù)測。所述方法還包括基于所述 合成的預(yù)測中的重疊量來選^^正確接收的畫面中的至少一個塊中的一個塊。 所述方法還包括使用正確接收的畫面中的至少一個塊中的所選一個塊的運 動矢量來隱藏丟失畫面中的當(dāng)前塊。本發(fā)明的這些和其他方面、特征和優(yōu)點將從示例性實施例的下列詳細描 述中變得清楚,所述描述將結(jié)合附圖來閱讀。
根據(jù)下列示意性附圖可以更好地理解本發(fā)明,其中圖1是根據(jù)本發(fā)明原理實施例的可應(yīng)用本發(fā)明原理的示例性解碼器的方框圖;方法的流程圖;圖3是根據(jù)本發(fā)明原理實施例的圖2的方法的示例性實施的圖;圖4是根據(jù)本發(fā)明原理實施例的用于丟失視頻幀的未覆蓋和沖突區(qū)域的中值過濾的示例性方法的流程圖;和圖5是根據(jù)本發(fā)明原理實施例的用于在視頻解碼器中塊級錯誤隱藏的示例性方法的流程圖。
具體實施方式
本發(fā)明致力于一種用于在基于塊的視頻中的運動預(yù)測錯誤隱藏的方法和 裝置。為了圖解目的,這里參考符合國際標準化組織/國際電工委員會(IS0/IEC) 運動圖像專家組-4(MPEG-4)部分10高級視頻編碼(AVC)標準/國際電信聯(lián)盟、 電信部門(ITU-T)H.264標準(下文中,"MPEG4/H,264"標準或者簡稱為"H.264 標準,,)的位流來描述本發(fā)明。然而,令人理解的是,本發(fā)明不單單限于符合H.264標準的位流,并且同樣適用于其他基于塊的位流。而且,盡管此處關(guān) 于視頻幀的圖像塊來描述本發(fā)明,但是應(yīng)當(dāng)理解的是,本發(fā)明同樣可應(yīng)用于 視頻場的圖像塊、畫面、片段等,因此,此處所使用的字"幀"應(yīng)當(dāng)被理解 為是開放性的。而且,短語"圖像結(jié)構(gòu)"此處也被用來集中表示視頻幀、場、 畫面、片段等中的任意一個。而且,如此處所使用的,術(shù)語"丟失的"和"缺 少的"當(dāng)對于圖像結(jié)構(gòu)使用時也往往包括被損害或者否則不能被正常地解碼 的圖像結(jié)構(gòu)。本描述圖解說明了本發(fā)明的原理。因此應(yīng)當(dāng)理解的是,本領(lǐng)域的普通技 術(shù)人員能夠設(shè)計出盡管此處未清晰地描述或示出但是體現(xiàn)了本發(fā)明的原理并 且包含在其精神和范圍之內(nèi)的各種布置。此處所記載的所有示例和條件性語言往往用于教學(xué)目的 > 以輔助讀者理 解本發(fā)明的原理和發(fā)明人對現(xiàn)有技術(shù)貢獻的理念,并且應(yīng)當(dāng)被理解為不限于 所述具體記載的示例和條件。而且,此處所有陳述記載了本發(fā)明的原理、方面和實施例以及本發(fā)明的 具體示例,往往包含本發(fā)明的結(jié)構(gòu)和功能的等效物。另外,所述等效物往往 包括當(dāng)前已知的等效物以及進來研發(fā)的等效物,即、不管結(jié)構(gòu)如何都執(zhí)行相 同功能的研發(fā)的任何元件。因此,例如,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解的是,此處呈現(xiàn)的方框圖 表示體現(xiàn)本發(fā)明原理的圖解性電路的概念視圖。類似地,應(yīng)當(dāng)理解,任何流 程圖、流圖表、狀態(tài)轉(zhuǎn)換圖表、偽代碼等表示可以基本上由計算機可讀媒體 表現(xiàn)并且如此由計算機或處理執(zhí)行的各種處理,無論是否清晰地示出所述計 算機或處理器。附圖中所示的各種元件的功能可以通過使用專用硬件或者能夠結(jié)合適當(dāng) 的軟件執(zhí)行軟件的硬件來提供。當(dāng)被處理器提供時,所述功能可以由單個專 用處理器、單個共享處理器或者多個單獨的處理器(它們中的一些可被共享) 來提供。而且,術(shù)語"處理器"或"控制器"的明確使用不應(yīng)當(dāng)被曲解為排 它地表示能夠執(zhí)行軟件的硬件,而是可以含蓄地包括但不限于數(shù)字信號處理 器("DSP")硬件、用于存儲軟件的只讀存儲器("ROM")、隨機存取存儲器 ("RAM")、以及非易失性存儲器。也可以包括其他硬件,不論是常規(guī)的和/或傳統(tǒng)的。類似地,如圖中所示 的任何開關(guān)僅是概念上的。它們的功能可以通過程序邏輯的操作、通過專用邏輯、通過編程控制和專用邏輯的交互作用、或者甚至手工來執(zhí)行,至于特 定的技術(shù),則可由執(zhí)行人來選擇,只要從上下文就可以更明確地理解。在本權(quán)利要求書中,表達為用于執(zhí)行特定功能的手段的任何元件往往涵蓋執(zhí)行所述功能的任何方式,包括例如,a)執(zhí)行所述功能的電路元件的組 合或者b)結(jié)合執(zhí)行實現(xiàn)所述功能的軟件的適當(dāng)電路的任何形式的軟件,因此 包括固件、微碼等。由所述權(quán)利要求限定的本發(fā)明認定的事實是由各種記 載的手段提供的功能以權(quán)利要求所要求的方式被組合和集合在一起。因此, 應(yīng)當(dāng)認為能夠提供那些功能的任何手段等效于此處所示出的那些。轉(zhuǎn)向圖1,可應(yīng)用本發(fā)明原理的示例性解碼器總的由附圖標記100表示。 視頻解碼器100包括熵解碼器110。熵解碼器110的第一輸出與逆量化器/逆 變換器120的輸入進行信號通信地連接。逆量化器/逆變換器120的輸出與求 和點140的第一輸入進行信號通信地連接。求和點140的輸出與解塊濾波器190進行信號通信地連接。解塊濾波器 190的輸出與參考畫面存儲器150進行信號通信地連接。參考畫面存儲器150 與運動補償器160的第一輸入進行信號通信地連接。運動補償器160的輸出 與求和點140的第二輸入進行信號通信地連接。熵解碼器IIO的第二輸出與運動矢量(MV)存儲器176的輸入和運動補償 器160的第二輸入進行信號通信地連接。運動矢量存儲器176的輸出與錯誤 隱藏模塊177的輸入進行信號通信地連接。錯誤隱藏模塊177的輸出與運動 補償器160的第三輸入進行信號通信地連接。解塊濾波器190的輸出提供視 頻解碼器100的輸出。根據(jù)本發(fā)明原理的實施例,將義表示為丟失幀,將乂表示為其參考幀??紤]通過首先估計其運動場以及之后進行運動補償來隱藏X,所述估計和運動補償都是基于,的。,的運動場可被預(yù)測到/;,以便根據(jù)下列一般公式來恢復(fù)其丟失的運動信息<formula>formula see original document page 9</formula>其中(i , j)是 一 幀內(nèi) 一 個像素(或塊)的坐標<formula>formula see original document page 9</formula>和<formula>formula see original document page 9</formula>分別是在X和X的位置(i , j)處的運動矢量,并且 <formula>formula see original document page 9</formula>是由預(yù)測引起的可能位移(displacement)。通常,存在各種方式將所述位移定義為具有不同地"運動預(yù)測"(MP)算法。 一個實施例中,感興趣的一種預(yù)測由下列形式表示在這種形式中,運動預(yù)測(MP)假設(shè)運動沿著運動軌跡保持不變。相反, 幀復(fù)制(FC)假設(shè)靜止的運動模型,然而MC假設(shè)運動隨著幀在任何位置保持 不變。明顯的是,MP所采取的模型比FC和MC的要現(xiàn)實得多。然而,實際 上,由于通過MP的兩個運動場之間的可能非一對一映射,可能存在不具有 由于預(yù)測產(chǎn)生的覆蓋范圍或具有由于預(yù)測產(chǎn)生的多個覆蓋范圍的區(qū)域,這在 基于像素的方案中不是問題。而且,有時將要預(yù)測的運動不表示運動對象的 真正運動。因此,如果直接應(yīng)用上面參考現(xiàn)有技術(shù)的塊級錯誤隱藏算法,則 這種應(yīng)用可能產(chǎn)生具有不期望的不連續(xù)性的運動場,這危及了性能。因此, 根據(jù)本發(fā)明原理,描述一種解決現(xiàn)有技術(shù)的相關(guān)問題的運動預(yù)測方案,即基 于塊的錯誤隱藏。本發(fā)明原理采用基于塊的錯誤隱藏方案。通常,如上所述,本發(fā)明原理 可應(yīng)用于任何基于塊的視頻壓縮標準,盡管此處為了圖解目的而參考符合 H.264標準的位流進行描述。為了最佳可能的粒度(granularity),應(yīng)當(dāng)采用所使用的視頻壓縮標準允許 的最小運動塊大小。由于4x4是H.264標準支持的最小塊大小,因此本發(fā)明 原理的實施例將運動矢量分配給隱藏幀中的每個4x4塊(或者,如上所述, 也可以使用隱藏場、畫面、片段等,同時還保持本發(fā)明的范疇)。而且,由于 在H.264標準中允許多重參考運動補償,因此一幀中的運動矢量可以具有不 同的參考指標(index)。在實現(xiàn)本發(fā)明原理的后一階段(下文中稱作"后處理階 段")中,為了全面地利用空間相鄰信息,期望運動矢量和位移關(guān)于一個參考幀。因此,如果必要,運動矢量和位移都被7 a,/;)重新調(diào)節(jié)(劃分),其中及a,y;)是幀/;和/;之間的時間長度。下文中,假設(shè)已經(jīng)采用縮放比例(scaling),并且所有運動矢量和位移關(guān)于相同的參考幀。在實施例中,本發(fā)明原理的方案可被分為兩個階段運動預(yù)測;和后處 理。&指代/c中的4 x 4塊,^指代從/f中將要預(yù)測的塊,其中&可以是H.264 標準支持的任何塊大小。注意,如果S,在幀內(nèi)模式中被編碼,則用于^的丟 失運動信息可以通過在SKIP—P模式中指定它而從它的相鄰物中估計。在預(yù) 測之前,X中的所有塊WJ被初始化為未被任意預(yù)測塊A覆蓋??紤]所與可能的結(jié)果,在預(yù)測之后對每個A定義以下可能的三種狀態(tài)(1)"覆蓋狀態(tài)", 當(dāng)該塊被唯一、明顯的預(yù)測塊覆蓋時;(2)"沖突狀態(tài)",當(dāng)該塊被多個不具有 明顯覆蓋范圍的預(yù)測塊覆蓋時;和(3)"未覆蓋狀態(tài)",當(dāng)該塊未被任何預(yù)測塊 覆蓋時。取來自x的塊A,將其預(yù)測到,并且將預(yù)測塊指代為A。設(shè)置pJ為/,中 的一組4x4塊,其包括具有式的非零重疊區(qū)域。對于每個5,., 一組預(yù)測過程 被設(shè)計用來將A的MV分配給(5J。該組過程如圖2所述。轉(zhuǎn)向圖2,用于在視頻解碼處理中預(yù)測塊的示例性方法總的用附圖標記 200來表示。方法200包括循環(huán)限制塊205,該循環(huán)限制塊205循環(huán)集{^.} 中的塊,并且將控制傳遞到功能塊210。功能塊210計算^到^的重疊區(qū)域, 并且將控制傳遞到?jīng)Q定塊215。決定塊215確定重疊區(qū)域是否大于閾值Th,。 如果重疊區(qū)域大于閾值Th,,則控制傳遞到功能塊220。否則,控制傳遞到?jīng)Q 定塊235。應(yīng)當(dāng)理解的是,"是"導(dǎo)致決定塊215引起的對應(yīng)于A.處于覆蓋狀 態(tài)的決定,而"否"導(dǎo)致對應(yīng)于A處于覆蓋狀態(tài)和/或沖突狀態(tài)的決定。功能塊220將運動矢量分配給A,并且將控制傳遞到功能塊225。功能 塊225將A設(shè)定為覆蓋狀態(tài),記錄覆蓋區(qū)域,并且將控制傳遞到循環(huán)限制塊 230。循環(huán)限制塊230結(jié)束對集{&}中的塊的循環(huán),并且將控制返回到循環(huán)限 制塊205。決定塊235確定新的(重疊)區(qū)域是否大于或等于舊的(重疊)區(qū)域。如果新 的(重疊)區(qū)域大于或等于舊的(重疊)區(qū)域,則控制傳遞到功能塊240。否則, 控制傳遞到?jīng)Q定塊250。功能塊240將運動矢量分配給/e中的A(基于來自X的與^重疊的預(yù)測塊 并且將控制傳遞到功能塊245。功能塊245用新的重疊區(qū)域代替舊的重 疊區(qū)域,并且將控制傳遞到?jīng)Q定塊250。決定塊250確定新的區(qū)域減去舊的區(qū)域是否小于或等于鬮值Th2。如果新 的區(qū)域減去舊的區(qū)域小于或等于閾值Th2,則控制傳遞到功能塊255。否則, 控制傳遞到循環(huán)限制塊230。功能塊255將A設(shè)定為沖突狀態(tài)。顯而易見,基于來自/,的與相應(yīng)4x4塊重疊的預(yù)測塊^,分配來自對于 ,中每個4x4塊的MV。對于每個4 x 4塊,其運動矢量的可靠性用預(yù)測塊& 的覆蓋區(qū)域來表示。覆蓋區(qū)域越大,則可靠性變得越高,反之亦然。另一方面,如果存在多個覆蓋4x4塊的預(yù)測塊,則所述塊被聲明處于沖突狀態(tài),這必須在第二階段被重訪。這對于那些未被來自X的任意預(yù)測塊覆蓋的4 x 4塊同樣為真。轉(zhuǎn)向圖3,圖2的方法的示例性實現(xiàn)總的用附圖標記300來表示。例如, 4x4塊8、 11、 12被分配塊B的MV,因為它們被塊B唯一并顯著地覆蓋。 盡管塊7被塊A和塊B兩者覆蓋,但是塊B占據(jù)了主要的覆蓋范圍。因此, 塊7被分配來自塊B的MV。同時,盡管塊14被塊B和C兩者部分地覆蓋, 但是如果閾值Thi被設(shè)定為較高,則塊B和C兩者都未占據(jù)主要覆蓋區(qū)域。 因此,塊14可被設(shè)定為未覆蓋狀態(tài)。由于沒有塊預(yù)測到塊4,則塊4也被設(shè) 定為未覆蓋狀態(tài)。在上面步驟之后,如果由泉覆蓋的整個區(qū)域比其原始大小要小得多,則認為預(yù)測不成功。不成功的預(yù)測很可能在預(yù)測階段的結(jié)束時在y;中產(chǎn)生更多的未覆蓋區(qū)域或沖突區(qū)域。為了解決這一問題,當(dāng)這發(fā)生時,A用(O, o)位移來預(yù)測。這等效于對塊應(yīng)用"運動復(fù)制",并且它確保滿覆蓋區(qū)域。將上面的過程應(yīng)用于y;中的每個塊A,以便完成運動預(yù)測階段。在運動預(yù)測階段之后,構(gòu)造y;的運動場的估計。然而,所述場可以包括 具有沖突或未覆蓋狀態(tài)的區(qū)域。對于那些區(qū)域,或者沒有相關(guān)的運動矢量或 者相關(guān)的運動矢量很可能不準確,這兩方面都可能損害隱藏性能。因此,根 據(jù)本發(fā)明原理提供后處理階段來解決這一 問題。在后處理階段中,首先重新估計在y;中具有沖突或未覆蓋狀態(tài)的那些塊 的運動矢量。所述重新估計是基于使用中值濾波的它們的空間可靠相鄰物的。更具體地,對于具有上述狀態(tài)的塊,應(yīng)用具有窗口大小3x3(以4x4塊為單位)的中間濾波器。僅塊的合格的相鄰物被選擇來過濾。設(shè)計一組過程來執(zhí)行對將要過濾的每個塊的選擇和過濾,這將參考圖4來進行描述。轉(zhuǎn)向圖4,用于對丟失視頻幀的非覆蓋和沖突區(qū)域進行中值濾波的示例 性方法通常用附圖標記400來表示。方法400包括功能塊405,用于重置計 數(shù)器,并且將控制傳遞到循環(huán)限制塊410。循環(huán)限制塊410循環(huán)將要濾波的 塊的相鄰塊,并且將控制傳遞到?jīng)Q定塊415。決定塊415確定覆蓋區(qū)域是否 小于閾值TH3。如果覆蓋區(qū)域小于閾值TH3,則控制傳遞到功能塊420。否則, 控制傳遞到循環(huán)限制塊425。功能塊420遞增計數(shù)器,并且將控制傳遞到循環(huán)限制塊425。循環(huán)限制塊425結(jié)束將要濾波的塊的相鄰塊的循環(huán),并且將控制傳遞到?jīng)Q定塊430。 決定塊430確定計數(shù)器的當(dāng)前值是否大于閾值TH4。如果計數(shù)器的當(dāng)前值大 于閾值TH4,則控制傳遞到功能塊435。否則,控制傳遞到功能塊445。功能塊435減少所述塊以及所有其相鄰塊的運動矢量中的變化(例如,通 過對所述塊以及所有其相鄰塊(例如,在3 x 3塊區(qū)中)的運動矢量執(zhí)行中值濾 波),并且將控制傳遞到功能塊440。功能塊440將小于16但大于TH4的覆蓋 區(qū)域分配給所述塊,并且將控制傳遞到功能塊455,功能塊455處理下一選 擇的塊。功能塊445用參考幀中的聯(lián)合定位塊的運動矢量代替輸入塊的運動矢 量,并且將控制傳遞到功能塊450。功能塊450將小于TH4的覆蓋區(qū)域分配 給所述塊,并且將控制傳遞到功能塊455。在上面處理之后,得到更完整并可靠的運動矢量。然而,該運動矢量場 可以包括相當(dāng)數(shù)量的不連續(xù)區(qū),如果保持未被處理,則這可能在運動補償之 后導(dǎo)致討厭的塊偽像。為了減輕該問題,對運動矢量場可以應(yīng)用空間調(diào)節(jié)處 理。為了避免過度混亂運動矢量場,僅處理所選擇的區(qū)域。具體地,例如, 僅過濾不占據(jù)滿覆蓋區(qū)的那些4x4塊。根據(jù)上面的步驟,這些區(qū)域大多數(shù)對 應(yīng)于重新估計的塊和運動對象的邊界,這些地方通常發(fā)生不連續(xù)。中值濾波 被選擇用于調(diào)整,因為它在復(fù)雜性和性能之間具有良好的折衷。對于每個所 選擇的4x4區(qū)域,應(yīng)用具有窗口大小3 x 3(在4x4塊的單元中)的中值濾波。 這完成了后處理階段。在運動預(yù)測和后處理階段,得到丟失幀的運動場的估計。然后將運動信 息反饋到正常的解碼處理以便重構(gòu)丟失幀。轉(zhuǎn)向圖5,用于在視頻解碼器中的塊級錯誤隱藏的示例性方法總的由附 圖標記500來表示。應(yīng)當(dāng)理解,步驟515到535涉及所述方法500的運動預(yù) 測階段588,然而步驟540到555涉及所述方法500的后處理階段599。方法500包括開始塊505,用于將控制傳遞到功能塊510。功能塊510在 參考幀中對運動矢量和位移進行重新調(diào)節(jié),并且將控制傳遞到循環(huán)限制塊 515。循環(huán)限制塊515對正確接收的幀中的塊進行循環(huán),并且將控制傳遞到功 能塊520。功能塊520根據(jù)預(yù)測過程來預(yù)測塊,并且將控制傳遞到?jīng)Q定塊525。 決定塊525確定預(yù)測是否成功。如果預(yù)測成功,則控制被傳遞到循環(huán)限制塊 527。否則,控制被傳遞到功能塊530。循環(huán)限制塊527獲得具有最大覆蓋區(qū)域的塊的運動矢量(MV),并且將控 制傳遞到功能塊530。功能塊530用(0, O)位移重新預(yù)測所述塊,并且將控制傳遞到循環(huán)限制塊 535。循環(huán)限制塊535在正確接收的幀內(nèi)結(jié)束塊的循環(huán),將控制返回到循環(huán)限 制塊515,并且也將控制傳遞到循環(huán)限制塊540。循環(huán)限制塊540循環(huán)具有非 覆蓋和沖突狀態(tài)的整個塊,并且將控制傳遞到控制塊545。功能塊545根據(jù) 該塊的相鄰物重新估計該塊的運動矢量,并且將控制傳遞到循環(huán)控制塊550。 循環(huán)限制塊550結(jié)束非覆蓋和沖突狀態(tài)下的整個塊,并且將控制傳遞到功能 塊555。功能塊555對幀中的所選塊執(zhí)行空間調(diào)整,并且將控制傳遞到功能 塊560。功能塊560執(zhí)行運動補償,并且將控制傳遞到功能塊565。功能塊 565執(zhí)行解塊濾波,并且將控制傳遞到結(jié)束塊570。與其他現(xiàn)有的方法不同,根據(jù)本發(fā)明原理的方法將MV預(yù)測和校正明確 地分離為兩個階段。在運動預(yù)測階段,僅最可靠的MV被預(yù)測并且被分配給 隱藏幀中的塊。在后處理階段,基于它們的空間可靠相鄰物來重新估計所選 塊的MV。通過將所述方法分離為兩個階段,對于隱藏幀中的每一塊, 一次 需要維持僅一個MV。與基于塊的構(gòu)架一起,大多數(shù)算法可以重新使用解碼 器中的現(xiàn)有數(shù)據(jù)結(jié)構(gòu)和功能。因此,本發(fā)明原理的實施例可以僅使用最少量 的計算和實現(xiàn)開銷,這對具有嚴^f各的實時限制和復(fù)雜度限制的應(yīng)用是有利的。如先前所述,幀復(fù)制和運動復(fù)制分別對具有靜態(tài)和一致運動場的視頻有 效。本發(fā)明原理的方法假設(shè)一種更現(xiàn)實的運動模型,因此在損害一些復(fù)雜度 開銷的情況下,可以為具有有效和混亂的運動提供一種更好的錯誤隱藏性能。 因此,所述方法在實際上可以選擇性地調(diào)用。例如,在實施例中,可以實現(xiàn) 一個過程來根據(jù)輸入視頻的特性調(diào)用最好的錯誤隱藏方案。例如,在錯誤隱 藏之前可以進行參考幀的運動場的分析。如果參考幀幾乎不呈現(xiàn)運動,則可 以調(diào)用最簡單的幀復(fù)制。而且,對于具有混亂運動場的場景可以調(diào)用根據(jù)本 發(fā)明原理的實施例。當(dāng)然,給出此處所提供的本發(fā)明原理的示教,同時維持 本發(fā)明原理的范疇,本領(lǐng)域和相關(guān)領(lǐng)域的普通技術(shù)人員能夠容易地實現(xiàn)本發(fā) 明的其他配置和實現(xiàn)?,F(xiàn)在將描述本發(fā)明的許多伴隨的優(yōu)點/特征中的一些優(yōu)點/特征,上面已經(jīng) 提到了一部分。例如, 一個優(yōu)點/特征是用于基于塊的錯誤隱藏的裝置。所述 裝置包括錯誤隱藏模塊,用于通過下列步驟來隱藏視頻序列的丟失畫面中的當(dāng)前塊使用所述視頻序列的正確接收的畫面中的至少 一個塊的運動矢量,將正確接收的畫面中的至少一個塊的位置預(yù)測為丟失畫面中的當(dāng)前塊的位 置,以便獲得合成的預(yù)測,并且基于所述合成的預(yù)測中重疊量來選擇正確接 收的畫面中的至少一個塊中的一個塊。然后^吏用正確接收的畫面中的至少一 個塊中的所選一個塊的運動矢量來隱藏丟失畫面中的當(dāng)前塊。其他優(yōu)點/特征是具有如上所述的錯誤隱藏模塊的裝置,其中正確接收的 畫面中的至少一個塊包括關(guān)于丟失畫面中的當(dāng)前塊的聯(lián)合定位塊,并且還包 括關(guān)于該聯(lián)合定位塊的空間可用相鄰塊,并且所述錯誤隱藏模塊在選擇正確 接收的畫面中的至少一個塊之后,在后處理階段中減少正確接收的畫面中的空間可用相鄰塊的運動矢量中的變化。另外其他優(yōu)點/特征是具有如上所述的錯誤隱藏模塊的裝置,用于減少空間可用相鄰塊的運動矢量的變化,其中所述錯誤隱藏模塊對空間可用相鄰塊 的運動矢量應(yīng)用選擇性中值濾波,以便減少運動矢量中的變化。又其他優(yōu)點/特征是具有如上所述的錯誤隱藏模塊的裝置,其中正確接收包括關(guān)于該聯(lián)合定位塊的空間可用相鄰塊,并且所述錯誤隱藏模塊在選擇正 確接收的畫面中的至少一個塊之后,在后處理階段中減少正確接收的畫面中 的空間可用相鄰塊和該聯(lián)合定位塊的運動矢量中的變化。而且,其他優(yōu)點/特征是具有如上所述的錯誤隱藏模塊的裝置,用于減少 聯(lián)合定位塊和空間可用相鄰塊的運動矢量,其中所述錯誤隱藏模塊對聯(lián)合定 位塊和空間可用相鄰塊的運動矢量應(yīng)用選擇性中值濾波,以便減少運動矢量 中的變化。另外,其他優(yōu)點/特征是具有如上所述的錯誤隱藏模塊的裝置,其中所述裝置用于不可縮放(scalable)的基于塊的視頻解碼器中,并且正確接收的畫面 中的至少一個塊中的所選一個塊的運動矢量被所述不可縮放的基于塊的視頻 解碼器用于運動補償操作中。另外,其他優(yōu)點/特征是具有如上所述的錯誤隱藏模塊的裝置,其中所述 錯誤隱藏模塊基于丟失畫面與正確接收的畫面之間的相對時間長度來縮放 (scale)正確^接收的畫面中的至少 一個塊中的所選一個塊的運動矢量。而且,其他優(yōu)點/特征是具有如上所述的錯誤隱藏模塊的裝置,其中所述 錯誤隱藏模塊基于視頻序列中的運動量選擇性地執(zhí)行幀重復(fù)操作來代替獲取合成的預(yù)測的步驟。相關(guān)領(lǐng)域的普通技術(shù)人員基于此處的示教可以容易地得知本發(fā)明的這些 和其他特征和優(yōu)點。應(yīng)當(dāng)理解,本發(fā)明的示教能夠以硬件、軟件、固件、專用處理器或它們的組合的各種形式來實現(xiàn)。最好是,本發(fā)明的示教被實現(xiàn)為硬件和軟件的結(jié)合。而且,所述軟件可 被實現(xiàn)為有形體現(xiàn)在程序存儲單元上的應(yīng)用程序。所述應(yīng)用程序可被下載到 包括任何合適構(gòu)架的機器并且被其執(zhí)行。優(yōu)選地,該機器在計算機平臺上實 現(xiàn),所述計算機平臺具有諸如一個或多個中央處理單元("CPU")、隨機存取存儲器("RAM")和輸入/輸出("I/O")接口的硬件。該計算機平臺以可以包 括操作系統(tǒng)和微指令代碼。此處所描述的各種處理和功能或者可以是微指令 代碼的一部分或者應(yīng)用程序的一部分,或者可以是它們的組合,它們都可以 由CPU執(zhí)行。另外,各種其他外圍單元可以連接到計算機平臺,例如另外的 數(shù)據(jù)存儲單元和打印單元。還應(yīng)當(dāng)理解的是,因為附圖中描繪的一些組成系統(tǒng)組件和方法優(yōu)選地以 軟件來實現(xiàn),系統(tǒng)組件之間的實際連接或者處理功能塊根據(jù)對本發(fā)明編程的 方式而有所不同。此處給出了示教,相關(guān)領(lǐng)域的普通技術(shù)人員能夠推斷出本 發(fā)明的這些和類似實施或配置。盡管這里參考附圖描述了圖解性的實施例,但是應(yīng)當(dāng)理解的是,本發(fā)明 不限于那些精確的實施例,并且相關(guān)領(lǐng)域的普通技術(shù)人員可以進行各種變化 和修改,而在不背離本發(fā)明的范疇或精神。所有那些變化和修改往往都包含 在所附權(quán)利要求所闡述的本發(fā)明的范疇之內(nèi)。
權(quán)利要求
1.一種用于基于塊的錯誤隱藏的裝置,包括錯誤隱藏模塊(177),用于通過下列步驟來隱藏視頻序列的丟失畫面中的當(dāng)前塊使用所述視頻序列的正確接收的畫面中的至少一個塊的運動矢量,將正確接收的畫面中的至少一個塊的位置預(yù)測為丟失畫面中的當(dāng)前塊的位置,以便獲得合成的預(yù)測,并且基于所述合成的預(yù)測中重疊量來選擇正確接收的畫面中的至少一個塊中的一個塊,其中使用正確接收的畫面中的至少一個塊中的所選一個塊的運動矢量來隱藏丟失畫面中的當(dāng)前塊。
2. 如權(quán)利要求l所述的裝置,其中正確接收的畫面中的至少一個塊包括 關(guān)于丟失畫面中的當(dāng)前塊的聯(lián)合定位塊,并且還包括關(guān)于該聯(lián)合定位塊的空 間可用相鄰塊,并且所述錯誤隱藏模塊(177)在選擇正確接收的畫面中的至少 一個塊之后,在后處理階段中減少正確接收的畫面中的空間可用相鄰塊的運 動矢量中的變化。
3. 如權(quán)利要求2所述的裝置,其中所述錯誤隱藏模塊(177)對空間可用 相鄰塊的運動矢量應(yīng)用選擇性中值濾波,以便減少運動矢量中的變化。
4. 如權(quán)利要求l所述的裝置,其中正確接收的畫面中的至少一個塊包括 關(guān)于丟失畫面中的當(dāng)前塊的聯(lián)合定位塊,并且還包括關(guān)于該聯(lián)合定位塊的空 間可用相鄰塊,并且所述錯誤隱藏模塊(177)在選擇正確接收的畫面中的至少 一個塊之后,在后處理階段中減少正確接收的畫面中的空間可用相鄰塊和該 聯(lián)合定位塊的運動矢量中的變化。
5. 如權(quán)利要求4所述的裝置,其中所述錯誤隱藏模塊(177)對聯(lián)合定位 塊和空間可用相鄰塊的運動矢量應(yīng)用選擇性中值濾波,以便減少運動矢量中 的變化。
6. 如權(quán)利要求l所述的裝置,其中所述裝置用于不可縮放的基于塊的視 頻解碼器中,并且正確接收的畫面中的至少一個塊中的所選一個塊的運動矢 量被所述不可縮放的基于塊的視頻解碼器用于運動補償操作中。
7. 如權(quán)利要求1所述的裝置,其中所述錯誤隱藏模塊(177)基于丟失畫個塊中的所選一個塊的運動矢量。
8. 如權(quán)利要求1所述的裝置,其中所述錯誤隱藏模塊(177)基于視頻序 列中的運動量選擇性地執(zhí)行幀重復(fù)操作來代替獲取合成的預(yù)測。
9. 一種用于隱藏^L頻序列的丟失畫面中的當(dāng)前塊的方法,包括使用所述^L頻序列的正確接收的畫面中的至少一個塊的運動矢量,將正 確接收的畫面中的至少一個塊的位置預(yù)測(520)為丟失畫面中的當(dāng)前塊的位 置,以便獲得合成的預(yù)測;基于所述合成的預(yù)測中的重疊量來選擇(527)正確接收的畫面中的至少 一個塊中的一個塊;和使用正確接收的畫面中的至少一個塊中的所選一個塊的運動矢量來隱藏 (560)丟失畫面中的當(dāng)前塊。
10. 如權(quán)利要求9所述的方法,其中正確接收的畫面中的至少一個塊包 括關(guān)于丟失畫面中的當(dāng)前塊的聯(lián)合定位塊,并且還包括關(guān)于該聯(lián)合定位塊的 空間可用相鄰塊,并且所述方法還包括在選擇正確接收的畫面中的至少一 個塊之后,在后處理階段中減少(435)正確接收的畫面中的空間可用相鄰塊的 運動矢量中的變化。
11. 如權(quán)利要求IO所述的方法,其中所述減少步驟包括對空間可用相 鄰塊的運動矢量應(yīng)用(435)選擇性中值濾波。
12. 如權(quán)利要求9所述的方法,其中正確接收的畫面中的至少一個塊包 括關(guān)于丟失畫面中的當(dāng)前塊的聯(lián)合定位塊,并且還包括關(guān)于該聯(lián)合定位塊的 空間可用相鄰塊,并且所述方法還包括在選擇正確接收的畫面中的至少一 個塊之后,在后處理階段中減少(435)正確接收的畫面中的空間可用相鄰塊和 該聯(lián)合定位塊的運動矢量中的變化。
13. 如權(quán)利要求IO所述的方法,其中所述減少步驟包括對聯(lián)合定位塊 和空間可用相鄰塊的運動矢量應(yīng)用(435)選擇性中值濾波。
14. 如權(quán)利要求9所述的方法,其中所述方法用于不可縮放的基于塊的 視頻解碼器中,并且正確接收的畫面中的至少 一個塊中的所選一個塊的運動 矢量被所述不可縮放的基于塊的視頻解碼器用于運動補償搡作中。
15. 如權(quán)利要求9所述的方法,還包括基于丟失畫面與正確接收的畫 面之間的相對時間長度來縮放(510)運動矢量。
16. 如權(quán)利要求9所述的方法,還包括通過基于視頻序列中的運動量 選擇性地執(zhí)行(530)幀重復(fù)操作來代替所述預(yù)測、選擇和隱藏步驟,掩藏丟失畫面中的當(dāng)前塊。
17. —種用于隱藏視頻序列的丟失畫面中的當(dāng)前塊的方法,包括用于預(yù)測的部件,其使用所述視頻序列的正確接收的畫面中的至少一個塊的運動矢量,將正確接收的畫面中的至少一個塊的位置預(yù)測(520)為丟失畫 面中的當(dāng)前塊的位置,以便獲得合成的預(yù)測;用于選4奪的部件,其基于所述合成的預(yù)測中重疊量來選擇(527)正確接收 的畫面中的至少一個塊中的一個塊;和用于隱藏的部件,其使用正確接收的畫面中的至少一個塊中的所選一個 塊的運動矢量來隱藏(560)丟失畫面中的當(dāng)前塊。
全文摘要
提供了一種基于塊的錯誤隱藏的方法和裝置。所述裝置包括錯誤隱藏模塊(177),用于通過下列步驟來隱藏視頻序列的丟失畫面中的當(dāng)前塊使用所述視頻序列的正確接收的畫面中的至少一個塊的運動矢量,將正確接收的畫面中的至少一個塊的位置預(yù)測為丟失畫面中的當(dāng)前塊的位置,以便獲得合成的預(yù)測,并且基于所述合成的預(yù)測中的重疊量來選擇正確接收的畫面中的至少一個塊中的一個塊。然后使用正確接收的畫面中的至少一個塊中的所選一個塊的運動矢量來隱藏丟失畫面中的當(dāng)前塊。
文檔編號H04N7/36GK101278564SQ200680036106
公開日2008年10月1日 申請日期2006年9月7日 優(yōu)先權(quán)日2005年9月29日
發(fā)明者吉爾·M·博伊斯, 吳鎮(zhèn)宇 申請人:湯姆森特許公司