專利名稱:用于視頻編碼的改進像素預(yù)測的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種將視頻幀編碼為編碼視頻幀的方法、視頻解碼方法、視頻編碼設(shè) 備、視頻解碼設(shè)備、具有用于視頻編碼設(shè)備的計算機程序的計算機可讀介質(zhì)以及具有用于 視頻解碼設(shè)備的計算機程序的計算機可讀介質(zhì)。更具體地,本發(fā)明涉及具有塊預(yù)測的視頻 編碼和視頻解碼。
背景技術(shù):
在視頻編碼/解碼中,將輸入視頻幀編碼為編碼視頻幀以進行存儲或傳輸,對編 碼視頻幀進行解碼以獲得原始視頻信號的重構(gòu)。編碼實現(xiàn)了原始視頻信號的壓縮,允許在 存儲介質(zhì)上存儲壓縮視頻信號,所需的存儲容量僅為存儲原始視頻信號所需存儲容量的一 小部分,或者,與傳輸原始視頻信號所需的帶寬相比,需要遠小得多的帶寬(即要傳輸?shù)谋?特)來向另一設(shè)備進行傳輸。在視頻編碼領(lǐng)域(H. 264 [7],通過引用并入此處、H. 263、MPEG2、MPEG4),編碼器執(zhí) 行所有步驟并進行所有必要判定來壓縮輸入視頻信號。隨后對編碼器進行的與編碼過程相 關(guān)的所有判定進行傳輸或存儲,以便解碼器接收或取回并隨后在解壓縮過程中使用。在這 一方面,解碼器是被動的,并且不會自己進行任何判定,依賴于編碼器來進行操作。在國際 電信聯(lián)盟(ITU)的視頻編碼專家組(VCEG)的新近發(fā)展中,已經(jīng)提出了自適應(yīng)濾波器[1,2]。 對這些濾波器進行逐幀優(yōu)化并對系數(shù)進行編碼。它們提供了比例如視頻壓縮標準H. 264中 使用的濾波器更好的編碼效率。此外,已經(jīng)有研究針對使用模板匹配來向解碼器提供更多自由[3,4,5,6],其中模 板是指與要編碼的塊相鄰的先前編碼的像素區(qū)域。所有這些都極力嘗試進一步改進視頻編 碼/解碼,以實現(xiàn)更高的壓縮率和/或改進的感知重構(gòu)圖像質(zhì)量。在一種進一步改進預(yù)測 的嘗試中,已經(jīng)研究了用于對預(yù)測進行局部適配的方案。然而,對預(yù)測進行局部適配消耗許多比特,并且對于高效視頻編碼而言不能負擔(dān), 其中更加局部的適配潛在地可以減少預(yù)測誤差。用于幀間預(yù)測的局部自適應(yīng)濾波器可以實 現(xiàn)這一目的,但是由于編碼濾波器系數(shù)的代價而難以實現(xiàn),并將在存儲和傳輸中消耗許多 比特。模板匹配是實現(xiàn)預(yù)測的更加局部的適配的一種方式,不需要輔助信息,但是在匹 配搜索中使用預(yù)測塊之外的區(qū)域。換言之,根據(jù)最佳匹配,模板匹配搜索基于不同于用于實 際預(yù)測的像素的重構(gòu)像素。由于通信信道誤差或編碼誤差而導(dǎo)致的先前解碼的區(qū)域中的誤 差可以傳播至預(yù)測塊,而未進行任何調(diào)整。因此,本發(fā)明的目的是增強預(yù)測(即預(yù)測塊)的 精度,同時保留或限制帶寬(即所需比特容量或要編碼的比特)增大。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,這一目的是通過一種將輸入視頻幀編碼為編碼視頻幀的 方法來實現(xiàn)的。所述方法包括以下步驟
-將輸入視頻幀分解為多個像素塊;針對作為當(dāng)前塊的每個塊,執(zhí)行以下步驟-根據(jù)已重構(gòu)的像素產(chǎn)生對應(yīng)的預(yù)測塊;_通過從當(dāng)前塊中減去預(yù)測塊來產(chǎn)生殘留塊;以及_根據(jù)殘留塊和預(yù)測塊來產(chǎn)生重構(gòu)塊;-根據(jù)殘留塊來產(chǎn)生編碼視頻幀;所述方法還包括以下步驟-在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu);-將預(yù)測塊與所述局部結(jié)構(gòu)對齊以產(chǎn)生對齊的預(yù)測塊;以及-其中,在產(chǎn)生殘留塊和產(chǎn)生對應(yīng)的重構(gòu)塊的步驟中使用對齊的預(yù)測塊。根據(jù)本發(fā)明的第二方面,這一目的是通過一種將編碼視頻幀解碼為解碼視頻幀的 方法來實現(xiàn)的。根據(jù)本發(fā)明第二方面的方法包括以下步驟-根據(jù)編碼視頻幀來產(chǎn)生反變換/解量化的殘留塊;針對每個所產(chǎn)生的反變換/解量化的殘留塊,執(zhí)行以下步驟-根據(jù)已重構(gòu)的像素來產(chǎn)生預(yù)測塊;-根據(jù)編碼視頻幀和預(yù)測塊來產(chǎn)生重構(gòu)幀;所述方法還包括以下步驟-在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu);-將預(yù)測塊與所述局部結(jié)構(gòu)對齊為對齊的預(yù)測塊;以及-其中,在產(chǎn)生對應(yīng)的重構(gòu)塊的步驟中使用對齊的預(yù)測塊。通過在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu),創(chuàng)建了合成原型,預(yù)測塊可以 與該合成原型對齊,其中尚無先前重構(gòu)的像素可用。局部結(jié)構(gòu)中的像素在預(yù)測塊的區(qū)域內(nèi), 而不像模板匹配那樣在預(yù)測塊的區(qū)域之外。重構(gòu)像素的局部結(jié)構(gòu)從先前重構(gòu)的像素導(dǎo)出或 擴展,因此可以更高效地使用來自先前重構(gòu)像素的信息。創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)和隨后 對預(yù)測塊進行對齊允許改進預(yù)測塊的預(yù)測。由于局部結(jié)構(gòu)的創(chuàng)建和對齊可以在編碼和解碼 中獨立進行,從編碼過程至解碼過程或從編碼器至解碼器不需要另外的比特容量(即要編 碼的比特)。因此,實現(xiàn)了針對編碼視頻幀的減小的比特容量的進一步改進或改進的感知重 構(gòu)視頻質(zhì)量。局部結(jié)構(gòu)(即合成原型)的部署實現(xiàn)了對預(yù)測塊進行逐區(qū)域的局部修正。由于 預(yù)測塊可以與同預(yù)測塊相鄰的先前重構(gòu)像素對齊,因此實現(xiàn)了編碼和解碼中更好的魯棒性 (更具體地,針對通信信道誤差)。由于局部結(jié)構(gòu)中預(yù)測與先前重構(gòu)像素之間的更好匹配, 可以減少如H. 264中的對內(nèi)環(huán)解塊濾波器的使用。在根據(jù)本發(fā)明的實施例中,產(chǎn)生預(yù)測塊的步驟包括使用幀間預(yù)測信息,根據(jù)先前 重構(gòu)幀中的重構(gòu)像素來產(chǎn)生預(yù)測塊。在根據(jù)本發(fā)明的另一實施例中,產(chǎn)生預(yù)測塊的步驟包括使用幀內(nèi)預(yù)測信息,根據(jù) 當(dāng)前重構(gòu)幀中的重構(gòu)像素來產(chǎn)生預(yù)測塊。因此,本發(fā)明可以應(yīng)用于幀間和幀內(nèi)預(yù)測塊。根據(jù)本發(fā)明的另一實施例,在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)的步驟包 括使用來自當(dāng)前重構(gòu)幀的重構(gòu)像素來產(chǎn)生所述局部結(jié)構(gòu)的像素(幀內(nèi)預(yù)測)。這與幀內(nèi)預(yù)測類似,可以有利地用于將已知圖案和紋理空間擴展至局部結(jié)構(gòu)。根據(jù)本發(fā)明的另一實施例,在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)的步驟包 括使用來自先前重構(gòu)幀的先前重構(gòu)像素來產(chǎn)生所述局部結(jié)構(gòu)的像素。這與幀間預(yù)測類似,從而在時間意義上將重構(gòu)像素擴展至局部結(jié)構(gòu)。然而,也可以將時間與空間擴展組合來創(chuàng) 建局部結(jié)構(gòu)。本質(zhì)上,根據(jù)本發(fā)明,任何預(yù)測塊(不論幀間或幀內(nèi))可以對齊至局部結(jié)構(gòu),可以 根據(jù)從當(dāng)前重構(gòu)幀或先前重構(gòu)幀產(chǎn)生預(yù)測的任何其他方法來創(chuàng)建局部結(jié)構(gòu)。根據(jù)本發(fā)明的另一實施例,在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)的步驟包 括將當(dāng)前重構(gòu)幀或先前重構(gòu)幀的重構(gòu)像素內(nèi)插入預(yù)測塊的區(qū)域。來自當(dāng)前重構(gòu)幀的、預(yù)測塊區(qū)域周圍的重構(gòu)像素可以用于通過線性或多項式內(nèi)插 來內(nèi)插尚未重構(gòu)的像素,作為幀內(nèi)預(yù)測的備選方法來創(chuàng)建局部結(jié)構(gòu)。備選地,也可以內(nèi)插先 前重構(gòu)幀中的重構(gòu)像素來創(chuàng)建局部結(jié)構(gòu)。根據(jù)本發(fā)明的另一實施例,在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)的步驟包 括通過將重構(gòu)像素外插入預(yù)測塊的區(qū)域來產(chǎn)生所述局部結(jié)構(gòu)的像素。因此,可以外插來自當(dāng)前重構(gòu)幀或先前重構(gòu)幀或先前重構(gòu)幀的像素。這具有以下 效果將局部結(jié)構(gòu)擴展至預(yù)測塊的像素位置,以實現(xiàn)預(yù)測塊與局部結(jié)構(gòu)的改進的對齊。根據(jù)本發(fā)明的另一實施例,在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)的步驟包 括根據(jù)相鄰塊的幀間預(yù)測信息,將來自另一先前重構(gòu)幀的重構(gòu)像素應(yīng)用至當(dāng)前重構(gòu)幀的 區(qū)域。這具有以下效果將局部結(jié)構(gòu)擴展至相鄰塊,以實現(xiàn)預(yù)測塊與局部結(jié)構(gòu)的改進的對 齊。執(zhí)行創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)的任何方法可以與執(zhí)行創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu) 的至少一個其他方法相結(jié)合,例如通過在像素值之間內(nèi)插,或者在相應(yīng)方法的像素之間進 行空間內(nèi)插。其優(yōu)點在于,使用多種方法可以進一步提高精度。根據(jù)本發(fā)明的另一實施例,在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)的步驟包 括確定用于預(yù)測預(yù)測塊的行和/或列的轉(zhuǎn)移函數(shù)。所述轉(zhuǎn)移函數(shù)可以從至少一行和/或 一列像素至與預(yù)測塊相鄰的至少下一行和或一列重構(gòu)像素來確定。通過將轉(zhuǎn)移函數(shù)應(yīng)用至與要預(yù)測的塊的區(qū)域相鄰的重構(gòu)像素,可以預(yù)測預(yù)測塊的 區(qū)域中尚未重構(gòu)的像素。這具有以下效果對局部結(jié)構(gòu)如何從一行至另一行或從一列至另 一列變化進行建模。因此,可以將局部結(jié)構(gòu)擴展至預(yù)測塊的區(qū)域,并實現(xiàn)預(yù)測塊與局部結(jié)構(gòu) 的改進的對齊。轉(zhuǎn)移函數(shù)可以具有時間和空間屬性。根據(jù)本發(fā)明的另一實施例,將預(yù)測塊與局部結(jié)構(gòu)對齊的步驟包括將預(yù)測塊中的 至少部分的像素的屬性與局部結(jié)構(gòu)中像素的對應(yīng)屬性進行匹配,并基于最佳匹配將預(yù)測塊 的屬性適配至局部結(jié)構(gòu)的對應(yīng)屬性。這具有以下效果基于局部結(jié)構(gòu)的部分來確定預(yù)測塊的對齊,使得能夠改進對齊 的預(yù)測塊的視覺質(zhì)量,并使用對齊的預(yù)測塊與殘留編碼相結(jié)合來減少殘差。因此,在廣義上 可以將對齊解釋為使對應(yīng),并且不限于預(yù)測塊的位置相對于局部結(jié)構(gòu)的對齊,而是可以將 與預(yù)測塊和局部結(jié)構(gòu)中的像素相關(guān)的任何屬性進行對齊,例如但不限于亮度、色度、紋理 以及頻譜內(nèi)容、相位關(guān)系。根據(jù)本發(fā)明的另一實施例,將預(yù)測塊中的至少部分的像素的屬性與局部結(jié)構(gòu)中像 素的對應(yīng)屬性進行匹配的步驟包括建立預(yù)測塊中的至少部分的像素的屬性值與局部結(jié)構(gòu) 中像素的對應(yīng)屬性值的平方差或絕對差之和,其中,所述最佳匹配由最小和來確定。這具有以下效果可以評估各種匹配,其中選擇給出最小差值的匹配。
根據(jù)本發(fā)明的另一實施例,將預(yù)測塊中的至少部分的像素的屬性與局部結(jié)構(gòu)中像 素的對應(yīng)屬性進行匹配的步驟包括確定預(yù)測塊中的至少部分與局部結(jié)構(gòu)之間的空間轉(zhuǎn)移 函數(shù);基于最佳匹配將預(yù)測塊的屬性適配至局部結(jié)構(gòu)的對應(yīng)屬性的步驟包括將空間轉(zhuǎn)移 函數(shù)應(yīng)用至預(yù)測塊以獲得對齊的預(yù)測塊。這具有以下效果建立用于修正預(yù)測塊的修正,并將應(yīng)用所述修正來得到與局部 結(jié)構(gòu)類似的特性。特性的一些示例是位移,還可以是紋理、平滑度/銳度??梢宰⒁獾?,用 于產(chǎn)生預(yù)測塊的重構(gòu)像素可以直接用于根據(jù)本發(fā)明產(chǎn)生對齊的預(yù)測塊的步驟。根據(jù)本發(fā)明的另一實施例,確定預(yù)測塊中的部分與局部結(jié)構(gòu)之間的空間轉(zhuǎn)移函數(shù) 的步驟是通過從預(yù)定空間轉(zhuǎn)移函數(shù)集合中選擇空間轉(zhuǎn)移函數(shù)來執(zhí)行的。這具有以下優(yōu)點可以從例如根據(jù)H. 264[7]標準已有的轉(zhuǎn)移函數(shù)中選擇空間轉(zhuǎn) 移函數(shù)。通過從集合中選擇轉(zhuǎn)移函數(shù)而不是計算系數(shù),可以節(jié)約計算時間。根據(jù)本發(fā)明的另一實施例,在最佳匹配的位置上對齊預(yù)測塊的步驟包括對預(yù)測 塊的像素或局部結(jié)構(gòu)的像素進行子像素內(nèi)插,以允許預(yù)測塊相對于局部結(jié)構(gòu)的子像素匹配 和定位。這具有以下效果對預(yù)測塊與局部結(jié)構(gòu)的對齊進行進一步微調(diào),例如通過對預(yù)測 塊進行垂直和水平移位或旋轉(zhuǎn)預(yù)測塊,以得到與局部結(jié)構(gòu)的特性的更好匹配。根據(jù)本發(fā)明的另一實施例,將預(yù)測塊中的至少部分的像素的屬性與局部結(jié)構(gòu)中像 素的對應(yīng)屬性進行匹配的步驟和基于最佳匹配將預(yù)測塊的屬性適配至局部結(jié)構(gòu)的對應(yīng)屬 性的步驟是對作為預(yù)測塊的來源的像素執(zhí)行的。這具有以下優(yōu)點,在單個計算步驟中對齊預(yù)測塊,而不實際產(chǎn)生預(yù)測塊,從而節(jié)約 了計算時間。根據(jù)本發(fā)明的另一實施例,預(yù)測塊中的至少部分的像素的屬性和局部結(jié)構(gòu)中像素 的對應(yīng)屬性基于局部結(jié)構(gòu)的像素的變換,其中,基于最佳匹配,根據(jù)局部結(jié)構(gòu)的像素的變換 來適配預(yù)測塊。這具有以下優(yōu)點實現(xiàn)根據(jù)例如頻域的對齊,例如強調(diào)高頻特征(如邊緣)、相位 域特征(例如相位域中的線表示)或視覺誤差。根據(jù)本發(fā)明的另一實施例,將預(yù)測塊中的至少部分的像素的屬性與局部結(jié)構(gòu)中像 素的對應(yīng)屬性進行匹配的步驟包括確定使得預(yù)測塊的像素值與重構(gòu)像素的局部結(jié)構(gòu)的像 素值最佳匹配的位置,其中,將預(yù)測塊的屬性適配至局部結(jié)構(gòu)的對應(yīng)屬性的步驟包括將預(yù) 測塊定位至使得預(yù)測塊的像素值與重構(gòu)像素的局部結(jié)構(gòu)的像素值最佳匹配的位置。這允許相對于局部結(jié)構(gòu)來精確定位預(yù)測塊。此外,在本發(fā)明的第三方面,本發(fā)明的目的是通過一種視頻編碼設(shè)備來實現(xiàn)的,所 述視頻編碼設(shè)備包括輸入接口,用于接收輸入視頻幀;輸出接口,用于輸出編碼視頻幀; 以及處理裝置和存儲器和/或?qū)S糜布b置,被配置為執(zhí)行上述方法的步驟和實施例。此外,在本發(fā)明的第四方面,本發(fā)明的目的是通過一種視頻解碼設(shè)備來實現(xiàn)的,所 述視頻解碼設(shè)備包括輸入接口,用于接收編碼視頻幀;輸出接口,用于輸出解碼視頻幀; 以及處理裝置和存儲器和/或?qū)S糜布b置,被配置為執(zhí)行上述方法的步驟及相關(guān)實施 例。此外,在本發(fā)明的第五方面,本發(fā)明的目的是通過一種計算機可讀介質(zhì)來實現(xiàn)的,所述計算機可讀介質(zhì)上存儲有計算機指令,計算機指令在被加載入存儲器并由上述編碼設(shè) 備中的處理器來處理時執(zhí)行上述方法的步驟及相關(guān)聯(lián)實施例。此外,在本發(fā)明的第六方面,本發(fā)明的目的是通過一種計算機可讀介質(zhì)來實現(xiàn)的, 所述計算機可讀介質(zhì)上存儲有計算機指令,計算機指令在被加載入存儲器并由上述解碼設(shè) 備中的處理器來處理時,執(zhí)行上述方法的步驟及相關(guān)聯(lián)實施例。
以下參照附圖更詳細地描述本發(fā)明,在附圖中圖IA示出了根據(jù)現(xiàn)有技術(shù)的用于對原始視頻幀進行編碼的過程的框圖。圖IB示出了根據(jù)現(xiàn)有技術(shù)的將編碼視頻幀解碼為重構(gòu)視頻幀的過程的框圖。圖2A示出了根據(jù)現(xiàn)有技術(shù)的在對輸入視頻幀進行編碼時的預(yù)測塊產(chǎn)生的示例的 框圖。圖2B示出了根據(jù)現(xiàn)有技術(shù)的在對編碼視頻幀進行解碼時的預(yù)測塊產(chǎn)生的子過程 的框圖。圖3A示出了根據(jù)本發(fā)明的實施例的將原始視頻信號解碼為編碼視頻幀的過程的 框圖。圖3B示出了根據(jù)本發(fā)明的實施例的將編碼視頻幀解碼為重構(gòu)視頻信號的過程的 框圖。圖4A示出了根據(jù)現(xiàn)有技術(shù)的要適配入重構(gòu)幀的預(yù)測塊的示例。圖4B示出了根據(jù)本發(fā)明的實施例的根據(jù)當(dāng)前重構(gòu)幀創(chuàng)建的像素的局部結(jié)構(gòu)的示 例。圖4C示出了根據(jù)本發(fā)明的實施例的與圖4B的局部結(jié)構(gòu)對齊的圖4A的預(yù)測塊。圖5A示出了根據(jù)本發(fā)明的示例性實施例的編碼設(shè)備的框圖。圖5B示出了根據(jù)本發(fā)明的示例性實施例的解碼設(shè)備的框圖。
具體實施例方式以下將通過示例性實施例來詳細解釋本發(fā)明,如果參照附圖來閱讀,則將更好地 理解本發(fā)明。附圖中,每個框表示具有數(shù)據(jù)和/或控制信息作為輸入和/或輸出的處理步 驟。數(shù)據(jù)由實線箭頭表示,并且可以是像素塊或像素幀??刂菩畔⒂商摼€箭頭表示。附圖 中相似的附圖標記用于相似的特征。然而,圖中的每個框可以以專用硬件處理器來實現(xiàn)。類似地,可以以硬件將數(shù)據(jù)和 控制信息實現(xiàn)為電子信號,分別用于在各種硬件處理器之間進行通信和控制。視頻編碼的總體概念基于對輸入視頻幀進行編碼的過程或方法,包括以下步驟 將輸入視頻幀分解為各種大小的像素塊,例如4X4、8X8或16X16,從而通過從輸入視頻 幀的當(dāng)前塊中減去預(yù)測塊來產(chǎn)生差值或殘留塊。將殘留塊編碼為編碼視頻幀。殘留塊用于 根據(jù)預(yù)測塊和殘留塊來創(chuàng)建重構(gòu)塊,重構(gòu)塊與先前重構(gòu)塊組裝在一起形成由其產(chǎn)生預(yù)測塊 的重構(gòu)幀。通過提供以與編碼過程相同的方式來產(chǎn)生重構(gòu)幀的解碼過程或方法,在解碼過程 中產(chǎn)生重構(gòu)幀,可以在一些后處理之后將重構(gòu)幀作為解碼視頻幀輸出。
由于編碼過程和解碼過程均產(chǎn)生由其產(chǎn)生預(yù)測塊的當(dāng)前重構(gòu)幀,解碼過程可以遵 循編碼過程,并產(chǎn)生類似原始輸入視頻幀的解碼視頻幀。圖IA示出了根據(jù)現(xiàn)有技術(shù)(H. 26x、MPEG2、MPEG4)對輸入視頻幀47進行編碼的過 程的框圖,其中,將輸入視頻幀47分解46為多個塊1,從而在處理循環(huán)中連續(xù)處理每個分解 塊1。將當(dāng)前塊1(來自輸入視頻幀47的分解產(chǎn)生的塊之一)編碼為編碼視頻幀18,編碼 視頻幀18要發(fā)送至圖IB所示的解碼過程。因此,輸入視頻幀47被逐塊編碼并傳送至解碼 過程。可以清楚看到,通過對輸入視頻幀47進行連續(xù)編碼,可以將流傳輸視頻編碼為連續(xù) 的編碼視頻幀18??梢砸跃幋a的形式在編碼與解碼之間執(zhí)行中間存儲(例如在致密光盤 (CD)或數(shù)字多用途光盤(DVD)或任何其他存儲介質(zhì)上)。在圖IA中,在編碼過程的循環(huán)中,對于當(dāng)前塊1,使用預(yù)測塊9通過從當(dāng)前塊1中 減去2預(yù)測塊9來產(chǎn)生殘留塊3??梢酝ㄟ^從當(dāng)前塊1的對應(yīng)像素的像素值中減去預(yù)測塊 9的像素的像素值來執(zhí)行從當(dāng)前塊1中減去2預(yù)測塊9的操作??蛇x地,將殘留塊3變換 /量化4 (可選框由虛線指示)為變換塊6,繼而對變換塊6進行編碼5,以產(chǎn)生編碼視頻幀 18??蛇x地將殘留塊3變換/量化4為變換塊6的步驟可以包括例如離散余弦變換(DCT)。 對殘留塊3進行變換4的步驟還可以包括將得到的變換塊量化以限制變換后的殘留塊6的 可能值的數(shù)目。這將減小編碼步驟5的工作負荷。編碼5可以包括熵編碼,即例如霍夫曼 編碼或用于減小數(shù)字傳輸所需比特量的任何其他編碼方案。可選地,將變換塊6反變換和/或解量化7為反變換/解量化的殘留塊25。然后, 將表示殘留塊3的反變換/解量化的殘留塊25與預(yù)測塊9相加8,以產(chǎn)生重構(gòu)塊43。將該 重構(gòu)塊43與先前重構(gòu)塊43組裝44在一起,形成當(dāng)前重構(gòu)幀10的至少部分,因此,該部分 可以用于下一循環(huán)中的幀內(nèi)預(yù)測。存儲當(dāng)前重構(gòu)幀10以提供先前重構(gòu)幀12。在以下描述 中,為完整起見假定使用變換/量化4和反變換7的可選步驟。根據(jù)現(xiàn)有技術(shù),通過使用先前重構(gòu)幀12的幀間預(yù)測,或通過使用當(dāng)前重構(gòu)幀10的 幀間預(yù)測,來產(chǎn)生42A預(yù)測塊9。來自預(yù)測產(chǎn)生步驟42A的預(yù)測控制信息45可以與要包括在編碼視頻幀18中的變 換殘留塊6—起進行編碼5。預(yù)測控制信息45的示例為(但不限于)在幀間預(yù)測的情況下 的塊劃分信息、運動向量、參考幀編號(指示預(yù)測塊9應(yīng)當(dāng)來自哪些先前重構(gòu)視頻幀12)以 及在幀內(nèi)預(yù)測情況下的塊劃分信息和幀內(nèi)預(yù)測模式??梢詫Ξ?dāng)前重構(gòu)幀10進行解塊11并存儲,以創(chuàng)建先前重構(gòu)幀12,從而將塊邊界濾 除,使得塊邊界對觀看者不再明顯。應(yīng)當(dāng)注意,對這種一般方法的變型是可能的。圖IB示出了根據(jù)現(xiàn)有技術(shù)的將編碼視頻幀18解碼為解碼視頻幀29的過程的框 圖。圖IB中從右至左示出了解碼過程。首先,將編碼視頻幀18解碼19并反變換7為 反變換/解量化的殘留塊25。將預(yù)測塊9與反變換/解量化的殘留塊25相加8,以產(chǎn)生重 構(gòu)塊43。相加9可以通過將反變換/解量化的殘留塊25的預(yù)測塊中的像素的像素值與預(yù) 測塊9中的像素的像素值相加來執(zhí)行。將重構(gòu)塊43與先前重構(gòu)塊43組裝44在一起,以形 成當(dāng)前重構(gòu)幀10。進一步存儲當(dāng)前重構(gòu)幀10,以提供先前重構(gòu)幀2。如在圖IA中一樣,可以對當(dāng)前重構(gòu)幀10進行解塊11并存儲,以創(chuàng)建先前重構(gòu) 幀12,從而將塊邊界濾除,以使得塊邊界對觀看者不再明顯,由此產(chǎn)生了得到的解碼視頻幀29,例如可以將解碼視頻幀29轉(zhuǎn)發(fā)至顯示器用以觀看。根據(jù)現(xiàn)有技術(shù),通過使用先前重構(gòu)幀12的幀間預(yù)測,或通過使用當(dāng)前重構(gòu)幀10的 幀間預(yù)測來產(chǎn)生42B預(yù)測塊9。在編碼過程中,來自預(yù)測產(chǎn)生步驟42A的預(yù)測控制信息45 可以與要在預(yù)測塊產(chǎn)生42B中使用的編碼的變換殘留塊6 —起進行解碼19。對編碼視頻幀18進行解碼的過程與編碼過程的相似之處在于編碼過程和解碼 過程都需要產(chǎn)生當(dāng)前重構(gòu)幀10和先前重構(gòu)幀12,根據(jù)當(dāng)前重構(gòu)幀10和先前重構(gòu)幀12,通 過幀間預(yù)測或通過幀內(nèi)預(yù)測來產(chǎn)生預(yù)測塊9。必須確保針對圖IA的編碼過程和圖IB的解 碼過程中的每個對應(yīng)循環(huán),預(yù)測塊9相同。如果編碼和解碼過程的相應(yīng)預(yù)測塊產(chǎn)生42A/42B 不同,則得到的解碼視頻幀29將不是輸入視頻幀47的精確表示。圖2A示出了根據(jù)現(xiàn)有技術(shù)的編碼過程的預(yù)測塊產(chǎn)生42A的示例??梢詧?zhí)行幀間 預(yù)測和幀內(nèi)預(yù)測。在幀間預(yù)測中,執(zhí)行當(dāng)前塊相對于先前重構(gòu)幀12的運動估計13。運動估 計13的結(jié)果,即幀間預(yù)測信息23,可以是運動向量和對使用來自先前存儲的幀12的哪個塊 的指示。使用先前重構(gòu)幀12和幀間預(yù)測信息23,可以通過幀間預(yù)測補償14來產(chǎn)生幀間預(yù) 測塊31。在幀內(nèi)預(yù)測中,在步驟15,可以通過將當(dāng)前塊1與當(dāng)前重構(gòu)幀10中的已重構(gòu)像素 進行比較,來確定幀內(nèi)預(yù)測模式。幀內(nèi)預(yù)測模式以及對要使用哪個塊來進行幀內(nèi)預(yù)測的指 示一起形成幀內(nèi)預(yù)測信息24。可以基于當(dāng)前重構(gòu)幀10和幀內(nèi)預(yù)測信息24,通過執(zhí)行幀內(nèi) 預(yù)測產(chǎn)生步驟16來產(chǎn)生幀內(nèi)預(yù)測塊32。 在選擇步驟17A中,選擇最佳匹配預(yù)測以進行進一步處理,得到預(yù)測塊9和對應(yīng)的 預(yù)測信息45。在圖2B中,針對解碼過程示出了預(yù)測產(chǎn)生42B的示例。根據(jù)解碼的預(yù)測信息45, 選擇步驟17B選擇在圖2A的預(yù)測塊產(chǎn)生42A中建立的預(yù)測。或者選擇幀間預(yù)測,其中使用 運動預(yù)測信息23來執(zhí)行運動補償14,使用先前重構(gòu)幀12來產(chǎn)生幀間預(yù)測塊31 ;或選擇幀 內(nèi)預(yù)測,其中提供幀內(nèi)預(yù)測信息24來執(zhí)行幀內(nèi)預(yù)測塊產(chǎn)生16,基于幀內(nèi)預(yù)測信息24和當(dāng)前 重構(gòu)幀10來產(chǎn)生幀內(nèi)預(yù)測塊32。在圖IB的解碼過程中使用得到的預(yù)測塊9。圖3A示出了根據(jù)本發(fā)明實施例的將輸入視頻幀47解碼為編碼視頻幀18的過程 的框圖。圖3A的過程與圖IA的過程的相似之處在于針對每個當(dāng)前塊1,使用預(yù)測塊9以 及根據(jù)本發(fā)明的對齊塊22,通過從當(dāng)前塊1中逐像素減去2對齊的預(yù)測塊塊22來產(chǎn)生殘留 塊3。將殘留塊3變換4為變換塊6,繼而對變換塊6進行編碼5,以產(chǎn)生編碼視頻幀18。將 殘留塊3變換4為變換塊6的步驟可以包括例如離散余弦變換(DCT)和/或?qū)⒌玫降淖儞Q 量化以限制變換后的殘留塊的可能值的數(shù)目。這將減小編碼步驟5的工作負荷。編碼5可 以包括熵編碼,即例如霍夫曼編碼或用于減小數(shù)字傳輸所需比特量的任何其他編碼方案。將變換塊6反變換7為反變換/解量化的殘留塊25。然后,將表示殘留塊3的反 變換/解量化的殘留塊25與對齊的預(yù)測塊22相加8,以產(chǎn)生重構(gòu)塊43。將該重構(gòu)塊43與 先前重構(gòu)塊43組裝44在一起,以形成當(dāng)前重構(gòu)幀10的至少部分,因此,該部分可以用于下 一循環(huán)中的幀內(nèi)預(yù)測。存儲當(dāng)前重構(gòu)幀10,以提供先前重構(gòu)幀12。對齊的預(yù)測塊22是預(yù)測塊9的改進版本。根據(jù)現(xiàn)有技術(shù),預(yù)測塊9是通過執(zhí)行圖 2A中進一步詳述的預(yù)測塊產(chǎn)生42A來產(chǎn)生的。然而,根據(jù)本發(fā)明,該預(yù)測塊9與重構(gòu)像素的 局部結(jié)構(gòu)30對齊21,得到對齊的預(yù)測塊22。
根據(jù)本發(fā)明,在預(yù)測塊9的區(qū)域(其中要創(chuàng)建當(dāng)前重構(gòu)幀中尚未重構(gòu)的像素)中 執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30的步驟。重構(gòu)像素的局部結(jié)構(gòu)30的目的是創(chuàng)建在至 少某個方面或者在預(yù)測塊9的區(qū)域的至少部分中的像素值的盡可能好的表示。使用來自當(dāng)前重構(gòu)幀10和/或來自先前重構(gòu)幀12的重構(gòu)像素,尚未重構(gòu)的像素 的區(qū)域與預(yù)測塊9重疊,這意味著一般而言重構(gòu)像素的局部結(jié)構(gòu)30可以擴展至預(yù)測塊9的 限制之外。以下更詳細描述創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30的一些示例。在對齊步驟21中,預(yù)測塊9與重構(gòu)像素的局部結(jié)構(gòu)30對齊,得到對齊的預(yù)測塊 22。這實現(xiàn)了對預(yù)測塊9的微調(diào)。該對齊的預(yù)測塊22隨后用于通過從當(dāng)前塊1減去2對 齊的預(yù)測塊22來產(chǎn)生殘留塊3的步驟中??梢郧宄吹?,由于對齊的預(yù)測塊22被微調(diào)至 重構(gòu)像素的局部結(jié)構(gòu)30,與現(xiàn)有技術(shù)相比,得到的重構(gòu)塊43和隨后得到的當(dāng)前重構(gòu)幀10以 及最終得到的解塊后的解碼視頻幀29具有更好的質(zhì)量。圖3B示出了根據(jù)本發(fā)明實施例的將編碼視頻幀解碼為重構(gòu)視頻信號的過程的框 圖。類似于圖IB中描述的現(xiàn)有技術(shù)來執(zhí)行產(chǎn)生42B預(yù)測塊9的步驟。此外,與圖3A所示 的根據(jù)本發(fā)明的編碼過程類似,在與預(yù)測塊9相對應(yīng)的區(qū)域中創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu) 30。然后,可以將預(yù)測塊9與重構(gòu)像素的局部結(jié)構(gòu)30對齊,以產(chǎn)生對齊的預(yù)測塊22。然后, 加法器8執(zhí)行產(chǎn)生重構(gòu)塊43的步驟,將反變換/解量化的殘留塊25與對齊的預(yù)測塊22逐 像素相加,并將所形成的重構(gòu)塊43組裝44為當(dāng)前重構(gòu)幀10。繼而,已經(jīng)通過如圖IB中對 編碼視頻幀18進行解碼產(chǎn)生了反變換/解量化的殘留塊25。在本發(fā)明的進一步改進中,如上所述在對未示出的輸入視頻幀47進行編碼的過 程中創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30的步驟和/或?qū)㈩A(yù)測塊9與重構(gòu)像素的局部結(jié)構(gòu)30 對齊21的步驟可以將創(chuàng)建信息和對齊信息與預(yù)測信息一起信號通知給如上所述并在圖3B 中示意的對應(yīng)解碼過程。按照這種方式,編碼器可以選擇針對哪些塊應(yīng)當(dāng)使用根據(jù)本發(fā)明 的創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30和對齊21。此外,根據(jù)本發(fā)明,可以通過在創(chuàng)建信息和對 齊信息中分別使用對應(yīng)指令來預(yù)先通知對應(yīng)的解碼過程可以如何執(zhí)行創(chuàng)建20重構(gòu)像素的 局部結(jié)構(gòu)30和如何執(zhí)行對齊21預(yù)測塊9。這可以限制解碼過程的工作負荷,還對解碼過 程給出一些進一步指引以最佳創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)30和/或知道在何處最佳應(yīng)用對 齊21。在編碼步驟5中,可能需要一些附加比特來產(chǎn)生編碼視頻幀18,但是改進了當(dāng)前重 構(gòu)幀10的質(zhì)量。圖4A示出了根據(jù)現(xiàn)有技術(shù)的要適配入當(dāng)前重構(gòu)幀10的預(yù)測塊9的示例??梢酝?過幀間或幀內(nèi)預(yù)測來產(chǎn)生42A或42B預(yù)測塊9。從圖3A中可以清楚看到,預(yù)測塊9與當(dāng)前 重構(gòu)幀10的周圍像素不很合適。圖4B示出了根據(jù)本發(fā)明實施例的使用來自當(dāng)前重構(gòu)幀10的像素來創(chuàng)建20重構(gòu) 像素的局部結(jié)構(gòu)30的示例。在本示例中,重構(gòu)像素的局部結(jié)構(gòu)30可以基于對來自當(dāng)前重 構(gòu)幀10中的已重構(gòu)像素的特征進行擴展(例如通過幀內(nèi)預(yù)測)。圖4C示出了根據(jù)本發(fā)明實施例的與圖3B的重構(gòu)像素的局部結(jié)構(gòu)30對齊21的圖 3A中的預(yù)測塊9,從而得到對齊的預(yù)測塊22。預(yù)測塊9是根據(jù)與來自圖3B的重構(gòu)像素的局 部結(jié)構(gòu)30的對應(yīng)像素的最佳匹配來定位的。在以下部分中,將更詳細討論創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)和對齊21的實施例。空間轉(zhuǎn)移函數(shù)
在創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30和在將預(yù)測塊與重構(gòu)像素的局部結(jié)構(gòu)30對齊 的步驟中,使用空間轉(zhuǎn)移函數(shù)來提供數(shù)學(xué)模型。在幀間預(yù)測以及幀內(nèi)預(yù)測領(lǐng)域,可以對參考幀(如當(dāng)前重構(gòu)幀10或先前重構(gòu)幀 12)的像素應(yīng)用空間轉(zhuǎn)移函數(shù),以獲得預(yù)測塊9??臻g轉(zhuǎn)移函數(shù)的目的是根據(jù)來自參考幀的 預(yù)測信息將參考幀的像素重新定位至當(dāng)前塊1的像素位置。在等式1中,應(yīng)用2維空間轉(zhuǎn) 移函數(shù)的一般情況描述為 (等式1)其中P(k,l)是在預(yù)測塊的行k和列1處的像素,R是參考幀,f(i,j)是具有N行 M列的2維空間轉(zhuǎn)移函數(shù)在位置(i,j)處的值,1^和I1是定位了參考幀中與當(dāng)前塊1的位 置相對應(yīng)的塊的偏移,^和Vk是預(yù)測信息45,即分別為在水平方向(沿行)和垂直方向(沿 列)與當(dāng)前塊1的位置的位移,int(x)是χ的截取整數(shù)值,w是縮放因子,ο是DC偏移。在幀內(nèi)預(yù)測的情況下,參考幀可以是當(dāng)前重構(gòu)幀10,或者在幀間預(yù)測的情況下,參 考幀可以是先前重構(gòu)幀12,而預(yù)測信息分別是幀內(nèi)預(yù)測信息24和幀間預(yù)測信息23。從[7]中得知空間轉(zhuǎn)移函數(shù)的使用,其中已經(jīng)定義了與像素的位移相關(guān)的空間轉(zhuǎn) 移函數(shù)的集合。以下示出了空間轉(zhuǎn)移函數(shù)的兩個示例。在等式2中,示出了通過從沿垂直 和水平方向均與柵格點距離正好一半的位置進行的雙線性內(nèi)插來將像素值重新定位至規(guī) 則間隔的柵格的轉(zhuǎn)移函數(shù)。
(等式 2)在等式3中,示出了在不進行重新定位的情況下對像素值進行濾波的轉(zhuǎn)移函數(shù)。
在本領(lǐng)域中已經(jīng)開發(fā)出了幀自適應(yīng)轉(zhuǎn)移函數(shù),見參考文獻[1,2]。在這種情況下, 根據(jù)預(yù)測信息45,針對不同類別的重新定位來確定幀自適應(yīng)空間轉(zhuǎn)移函數(shù)。自適應(yīng)空間轉(zhuǎn) 移函數(shù)是一種具有可修正系數(shù)的空間轉(zhuǎn)移函數(shù)。通過修正自適應(yīng)空間轉(zhuǎn)移函數(shù)的系數(shù),得 到的像素可以與作為參考像素的、先前重構(gòu)幀12中的已重構(gòu)像素相匹配。針對每個類別, 編碼過程選擇將預(yù)測塊9與當(dāng)前輸入幀47的當(dāng)前塊之間的平方誤差最小化的自適應(yīng)轉(zhuǎn)移 函數(shù),例如通過最小二乘最小化。對所確定的幀自適應(yīng)轉(zhuǎn)移函數(shù)進行編碼,并選擇性地用于 產(chǎn)生預(yù)測塊9。然后,編碼的自適應(yīng)空間轉(zhuǎn)移函數(shù)可以被解碼19并由解碼過程使用。創(chuàng)津重構(gòu)像素的局部結(jié)構(gòu)以下將討論創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30的一些示例性實施例。根據(jù)本發(fā)明的 實施例,與產(chǎn)生42A/42B預(yù)測塊9類似,可以使用預(yù)測技術(shù)(即幀間預(yù)測和/或幀內(nèi)預(yù)測) 來執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。一般地,根據(jù)產(chǎn)生42A/42B預(yù)測塊9的不同方案來執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30,從而對已經(jīng)根據(jù)預(yù)測塊9自身的像素以不同方式創(chuàng)建20的重構(gòu)像素的局部結(jié)構(gòu)30 來執(zhí)行預(yù)測塊9的對齊步驟21。因此,通過幀間預(yù)測產(chǎn)生的預(yù)測塊9可以與通過幀內(nèi)預(yù)測 技術(shù)創(chuàng)建的重構(gòu)像素的局部結(jié)構(gòu)30進行對齊21,反之,通過幀內(nèi)預(yù)測技術(shù)產(chǎn)生的預(yù)測塊9 可以與使用幀間預(yù)測技術(shù)(即從先前重構(gòu)幀12導(dǎo)出)的重構(gòu)像素的局部結(jié)構(gòu)30進行組合。然而,只要所使用技術(shù)分別不同,就可以均使用幀間預(yù)測或均使用幀內(nèi)預(yù)測來執(zhí) 行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30和預(yù)測塊產(chǎn)生42A/42B的步驟??梢砸愿鞣N方式來執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。首先討論使用來自當(dāng)前 重構(gòu)幀10的像素信息來創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。如上所述,通過將來自當(dāng)前和先前處理循環(huán)的重構(gòu)塊43進行組裝來創(chuàng)建當(dāng)前重 構(gòu)幀10。因此,當(dāng)前重構(gòu)幀10包含用于預(yù)測仍待重構(gòu)的像素的先前重構(gòu)像素,這與幀內(nèi)預(yù) 測類似。事實上,可以使用幀內(nèi)預(yù)測的任何方法。在預(yù)測塊的區(qū)域中,將形成重構(gòu)像素的局部結(jié)構(gòu)30的、仍待重構(gòu)的像素可以例如 通過外插來自一個或多個重構(gòu)塊43中的已重構(gòu)像素的一個或多個行或列的像素值或外插 來自要產(chǎn)生的塊之外的一個或多個重構(gòu)塊43中的先前重構(gòu)像素的行和/或列的像素值來創(chuàng)建。為了在預(yù)測塊9的區(qū)域中創(chuàng)建20局部結(jié)構(gòu)30,可以使用針對位移的空間轉(zhuǎn)移函數(shù) (見等式2,使用具有像素重新定位的內(nèi)插;或等式3,不使用像素重新定位)。在本示例中, 來自當(dāng)前重構(gòu)幀10的已重構(gòu)像素的一列的像素至用于確定另一列(例如形成局部結(jié)構(gòu)30 的部分的相鄰列)中的像素,如等式4所示 其中L(k,l)是局部結(jié)構(gòu)30中在行k和列1處的像素,a(i)是轉(zhuǎn)移函數(shù)在位置i 的值,R(k-i+int(N/2),1-1)表示當(dāng)前重構(gòu)幀10中的像素。按照這種方式,可以根據(jù)當(dāng)前重構(gòu)幀10的鄰近像素值來產(chǎn)生預(yù)測塊9的區(qū)域中的 重構(gòu)像素的局部結(jié)構(gòu)30。在另一實施例中,對當(dāng)前重構(gòu)幀的一行像素應(yīng)用轉(zhuǎn)移函數(shù),以產(chǎn)生 局部結(jié)構(gòu)30中的另一行,以此類推。在實施例中,從空間轉(zhuǎn)移函數(shù)的預(yù)定集合中選擇最小化局部結(jié)構(gòu)與當(dāng)前重構(gòu)幀10 的對應(yīng)像素之間的平方誤差或絕對誤差的空間轉(zhuǎn)移函數(shù)。對本領(lǐng)域技術(shù)人員而言這種空間 轉(zhuǎn)移函數(shù)集合是公知的,來自但不限于來自[7],其中已經(jīng)定義了與像素的位移相關(guān)的空間 轉(zhuǎn)移函數(shù)。具體地,根據(jù)本發(fā)明的實施例,可以有利地利用與子像素內(nèi)插和/或不同程度的 低通濾波相結(jié)合來執(zhí)行位移的空間轉(zhuǎn)移函數(shù)。在另一實施例中,通過以下等式5的誤差函數(shù)的最小二乘最小化來確定自適應(yīng)轉(zhuǎn) 移函數(shù)。 其中E是計算誤差,K是在最小化中使用的像素位置的數(shù)目,R(k,1)表示當(dāng)前重 構(gòu)幀10中的像素。在這種情況下,示出了針對逐列轉(zhuǎn)移函數(shù)的誤差函數(shù)(k在0,…,K的 范圍內(nèi))。
通過評估例如H. 264 [7]中可用的空間轉(zhuǎn)移函數(shù)集合的平方差之和來執(zhí)行最小二 乘最小化,可以使用等式來選擇空間轉(zhuǎn)移函數(shù)。備選地,通過相對于單一空間轉(zhuǎn)移函數(shù)的系數(shù)取導(dǎo)數(shù)并將結(jié)果設(shè)置為0,可以獲得 線性方程集合,根據(jù)該線性方程集合可以以數(shù)值方式解出對齊轉(zhuǎn)移函數(shù)的系數(shù)。通過相對于轉(zhuǎn)移函數(shù)的系數(shù)取導(dǎo)數(shù)并將結(jié)果設(shè)置為0,可以獲得線性方程集合,根 據(jù)該線性方程集合可以以數(shù)值方式解出轉(zhuǎn)移函數(shù)的系數(shù)。通過針對已解碼像素的部分執(zhí)行該優(yōu)化,并對更接近要產(chǎn)生的塊的另一部分對其 進行測試,可以根據(jù)測試結(jié)果來使用重構(gòu)像素的局部結(jié)構(gòu)30中的已產(chǎn)生塊。可以通過在誤 差函數(shù)中考慮多個重構(gòu)列來提高該方法的魯棒性。類似地,可以確定逐行轉(zhuǎn)移函數(shù)。在另一示例中,也可以通過對來自當(dāng)前重構(gòu)幀10的先前重構(gòu)像素進行多項式建 模來執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。多項式模型是使用對區(qū)域中的所有像素值恒定 的基本空間轉(zhuǎn)移函數(shù),并使用多至水平(χ)和垂直(y)位置的特定次冪的多項式對該區(qū)域 中的像素值的表示,見等式6??梢耘c局部外插方法相結(jié)合來使用多項式模型或任何其他平 滑模型,以實現(xiàn)創(chuàng)建還保持有來自當(dāng)前重構(gòu)幀10中先前重構(gòu)像素的強邊緣和線條的重構(gòu) 像素的局部結(jié)構(gòu)30。重構(gòu)像素的局部結(jié)構(gòu)可以使用以下等式6的多項式模型來表示
(等式 6)其中L(k,l)是局部結(jié)構(gòu)30中在行k和列1處的像素,a(q,p)是相應(yīng)多項式系數(shù) 的值,P和Q是相應(yīng)方向上多項式的階。與等式5所示類似,可以使用最小二乘最小化,基 于來自當(dāng)前重構(gòu)幀10的鄰近像素來確定多項式系數(shù)。外插和多項式建模的創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30的上述方法使用了當(dāng)前重構(gòu) 幀10中的已重構(gòu)像素。備選地,與幀間預(yù)測類似,也可以根據(jù)來自一個或多個先前重構(gòu)幀 12的像素來執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30??梢允褂脦g預(yù)測信息23或與預(yù)測塊9相對應(yīng)的運動補償?shù)膲K31 (在圖2A和2B 中未示出),通過幀間預(yù)測來執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。類似地,備選地,可以使用相鄰塊的幀間預(yù)測信息,通過當(dāng)前預(yù)測塊的幀間預(yù)測來 執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。根據(jù)像素變化的特性,當(dāng)創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30時,使用來自當(dāng)前重構(gòu)幀 10的像素和來自先前重構(gòu)幀12的像素的組合,或簡單地在其間切換是有益的。一個示例是 在當(dāng)前重構(gòu)幀10中的當(dāng)前塊之外的像素與先前重構(gòu)幀12中的對應(yīng)像素之間的絕對差之和 (SAD)大于預(yù)測塊9與根據(jù)當(dāng)前重構(gòu)幀10產(chǎn)生的重構(gòu)像素的局部結(jié)構(gòu)30之間的SAD時,使 用當(dāng)前重構(gòu)幀10。此外,在難以預(yù)測但對于對齊而言很重要的區(qū)域,可以向局部結(jié)構(gòu)30添加編碼的 殘留輔助信息,以實現(xiàn)與原型的更好匹配。該殘留輔助信息在編碼過程中產(chǎn)生,并進行編碼 以用于解碼過程。當(dāng)創(chuàng)建的局部結(jié)構(gòu)30不完全與其下的像素柵格匹配時,重新采樣或內(nèi)插可以是 創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30的一部分。內(nèi)插或重新采樣解決這種失配,例如通過本領(lǐng) 域公知的雙線性內(nèi)插。
對齊根據(jù)本發(fā)明的實施例,可以通過根據(jù)來自預(yù)測塊9的像素與來自局部結(jié)構(gòu)的對應(yīng) 像素的最佳匹配的位置,相對于重構(gòu)像素的局部結(jié)構(gòu)30來定位預(yù)測塊9,從而實現(xiàn)對齊21。 定位可以包括相對于重構(gòu)像素的局部結(jié)構(gòu)30,沿任何方向平移和/或旋轉(zhuǎn)預(yù)測塊9。以下 將討論對齊21預(yù)測塊9以實現(xiàn)對齊的預(yù)測塊22的一些示例實施例。根據(jù)本發(fā)明的實施例,來自上述預(yù)定義集合(見[7])的針對像素位移的空間轉(zhuǎn)移 函數(shù)應(yīng)用于將預(yù)測塊9與局部結(jié)構(gòu)30對齊21。這是在編碼器和解碼器中均執(zhí)行的,因此所 選的對齊轉(zhuǎn)移函數(shù)不需要在步驟5中進行編碼,但是可以進行編碼5以加快圖3B中的解碼 過程。在本發(fā)明的實施例中,如等式7所示,對預(yù)測塊9應(yīng)用對齊轉(zhuǎn)移函數(shù)。
(等式 7) 其中A(k,l)是對齊的預(yù)測塊22在行k和列1處的像素,a(i,j)是在位置(i,j) 處的空間對齊轉(zhuǎn)移函數(shù),Wa是對齊縮放因子,Oa是對齊偏移??梢宰⒁獾剑鶕?jù)空間轉(zhuǎn)移函 數(shù)a(i,j)沿任意方向的大小N,M,預(yù)測塊9通??梢陨源笥诋?dāng)前塊1,使得在確定對齊的預(yù) 測塊22的邊界附近的值時有用的采樣值可用于轉(zhuǎn)移函數(shù)系數(shù)。將對齊轉(zhuǎn)移函數(shù)a(i,j)直 接應(yīng)用至預(yù)測塊9的一個優(yōu)點在于,按照這種方式,對齊轉(zhuǎn)移函數(shù)獨立于用于獲得預(yù)測塊9 的方法。例如,如果通過非線性轉(zhuǎn)移函數(shù)來獲得預(yù)測塊9,則這可以是有利的。在本發(fā)明的另一實施例中,將上述對齊轉(zhuǎn)移函數(shù)直接應(yīng)用至參考幀(即當(dāng)前重構(gòu) 幀12或先前重構(gòu)幀10),而不是將轉(zhuǎn)移函數(shù)應(yīng)用至參考幀以獲得預(yù)測塊9并在隨后應(yīng)用另 一轉(zhuǎn)移函數(shù)來與局部結(jié)構(gòu)對齊。在以下等式8中示出了針對該效果的等式 (等式8)如果預(yù)測塊9是通過線性轉(zhuǎn)移函數(shù)獲得的,則可以將對齊轉(zhuǎn)移函數(shù)a(i,j)直接應(yīng) 用至參考幀(即當(dāng)前重構(gòu)幀10或先前重構(gòu)幀12)。這避免了接著應(yīng)用轉(zhuǎn)移函數(shù)f(i,j)來 獲得預(yù)測塊9和單獨應(yīng)用對齊轉(zhuǎn)移函數(shù)。在本發(fā)明的另一實施例中,預(yù)測信息45指示的轉(zhuǎn)移函數(shù)f(i,j)用作起始點,對齊 轉(zhuǎn)移函數(shù)a(i,j)執(zhí)行轉(zhuǎn)移函數(shù)f(i,j)的細化,如等式9所示 (等式9)該實施例的原因是允許僅具有較少系數(shù)的對齊轉(zhuǎn)移函數(shù)。這降低了采用對齊轉(zhuǎn)移 函數(shù)的復(fù)雜度。在上述等式7至9中,轉(zhuǎn)移函數(shù)f(i,j)與對齊轉(zhuǎn)移函數(shù)a(i,j)的空間支持相同。 對齊轉(zhuǎn)移函數(shù)a(i,j)的空間支持與轉(zhuǎn)移函數(shù)f(i,j)的空間支持不同也是可能的。換言之,對齊轉(zhuǎn)移函數(shù)a(i,j)可以具有與轉(zhuǎn)移函數(shù)f(i,j)的系數(shù)數(shù)目不同的系數(shù)數(shù)目。在本發(fā)明的實施例中,建立了預(yù)定對齊轉(zhuǎn)移函數(shù)的不同集合,對于如低通或高通 和/或位移之類的轉(zhuǎn)移函數(shù)屬性,每個對齊轉(zhuǎn)移函數(shù)具有不同的屬性。對預(yù)定對齊轉(zhuǎn)移函 數(shù)中的每個進行測試,選擇給出與局部結(jié)構(gòu)30的最佳匹配的對齊轉(zhuǎn)移函數(shù)用于對齊21預(yù) 測塊9。在本發(fā)明的另一實施例中,使用自適應(yīng)對齊轉(zhuǎn)移函數(shù)。選擇給出具有與局部結(jié)構(gòu) 30的最佳匹配的對齊的預(yù)測塊22的對齊轉(zhuǎn)移函數(shù)a(i,j)。最佳匹配可以被評估為局部結(jié) 構(gòu)30與對齊的預(yù)測塊22的對應(yīng)像素之間的平方差之和(SSD)或絕對差之和(SAD),其中最 佳匹配是具有最小和值的轉(zhuǎn)移函數(shù)。也可以根據(jù)差值的傅立葉屬性對最佳匹配進行加權(quán), 以便例如相對于較不可見的高頻差值,更大程度消減更加可見的低頻差值。如以下所示,可以使用對齊的預(yù)測塊22與局部結(jié)構(gòu)30之間的最小二乘最小化。
其中L(k,l)是局部結(jié)構(gòu)中在行k和列1處的值,K和L指定了重構(gòu)像素的局部結(jié) 構(gòu)30內(nèi)在對齊中使用的區(qū)域,A(k,1)是在應(yīng)用了上述空間轉(zhuǎn)移函數(shù)之后得到的對齊的預(yù) 測塊22。K和L通常等于或小于對齊的預(yù)測塊22的大小。如等式5中一樣,等式10可以用于通過評估例如H.264[7]中可用的空間轉(zhuǎn)移函 數(shù)集合的平方差之和來執(zhí)行最小二乘最小化。備選地,通過相對于單一對齊轉(zhuǎn)移函數(shù)的系數(shù)取導(dǎo)數(shù)并將結(jié)果設(shè)置為0,可以獲得 線性方程集合,根據(jù)該線性方程集合可以以數(shù)值方式解出對齊轉(zhuǎn)移函數(shù)的系數(shù)。這與[1] 中在尋找最優(yōu)轉(zhuǎn)移函數(shù)時進行的操作類似,但在這種情況下是通過最小化等式10來進行 的。可以注意到,用于對齊的區(qū)域可以是不規(guī)則的。該區(qū)域可以包含例如邊緣,沿該邊 緣來對齊預(yù)測塊9,因此,可以使用局部結(jié)構(gòu)30中該邊緣附近的像素值。當(dāng)應(yīng)用上述空間轉(zhuǎn)移函數(shù)之一時,在增益和/或偏移中可以存在失配。在根據(jù)本 發(fā)明的實施例中,使用上述等式8或9 (其中Wa和Oa分別表示對齊21的縮放因子和偏移), 通過重新縮放并應(yīng)用偏移至預(yù)測塊9,預(yù)測塊9也可以與重構(gòu)像素的局部結(jié)構(gòu)30對齊。此外,可以基于預(yù)測塊9的變換和重構(gòu)像素的局部結(jié)構(gòu)30的對應(yīng)像素的變換來建 立空間轉(zhuǎn)移函數(shù)a(i,j)。例如可以通過傅立葉變換來獲得變換,從而使用預(yù)測塊9 (或其 部分)的變換后的相位圖或變換后的幅度圖來與創(chuàng)建的局部結(jié)構(gòu)的變換相匹配。這尤其適 用于將預(yù)測塊9中的邊緣與重構(gòu)像素的局部結(jié)構(gòu)30中的邊緣對齊,從而可以使用傅立葉變 換后的圖像的相位圖來對齊對應(yīng)邊緣的面。使用變換來執(zhí)行對齊21的另一示例是使用傅立葉頻率內(nèi)容來進行匹配??梢詫?初始預(yù)測塊9中的行進行平滑或銳化,以更好地匹配重構(gòu)像素的局部結(jié)構(gòu)30中先前重構(gòu)像 素的傅立葉頻率內(nèi)容。平滑可以被認為是在由于在傳輸或存儲期間以及在檢索編碼視頻幀 18時可能出現(xiàn)的差錯而導(dǎo)致重構(gòu)像素的局部結(jié)構(gòu)30與預(yù)測塊9之間的相似度較弱時增強 差錯恢復(fù)力。使用預(yù)測塊9的像素值的對齊21和使用預(yù)測塊9的變換后的像素的對齊21可以 連續(xù)使用,其中可以使用針對變換后的像素的對齊21來進一步細化先前的對齊。
此外,可以通過將與預(yù)測塊9中的像素相關(guān)聯(lián)的其他屬性與重構(gòu)像素的局部結(jié)構(gòu) 30中的像素進行匹配來執(zhí)行對齊21。這種屬性的示例是運動向量、平均像素值(DC)、色度、 亮度或從像素值導(dǎo)出或與像素值相關(guān)聯(lián)的任何其他函數(shù)。用于創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30的任何方法可以與用于對齊21的任何方法 結(jié)合使用。在編碼/解碼期間,可以選擇用于創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30和/或?qū)R 21的最優(yōu)方法。在尋找與預(yù)測塊9的行/列/部分的最佳匹配時,重構(gòu)像素的局部結(jié)構(gòu)30 中具有強局部圖像梯度的像素位置可能比具有弱局部梯度的像素位置更加重要。弱梯度可 以是編碼噪聲??梢员苊膺@種區(qū)域。因此,在建立預(yù)測塊9的像素與局部結(jié)構(gòu)30的像素之 間的匹配時,與具有較低梯度的像素相比,可以利用更高的權(quán)重對具有較高梯度值的像素 進行加權(quán)。在根據(jù)現(xiàn)有技術(shù)的模板匹配中,也可以使用轉(zhuǎn)移函數(shù)。在模板匹配中,在編碼器和 解碼器中,從位移轉(zhuǎn)移函數(shù)集合(見參考文獻[3])中選擇最佳轉(zhuǎn)移函數(shù)。使用來自預(yù)測信 息45的垂直和水平位移V1和Vk來選擇感興趣的區(qū)域以搜索轉(zhuǎn)移函數(shù)。然后,通過測試全 像素位移的微小變化來細化初始位移。通過對整數(shù)位移int(Vl)和int(vk)指出的區(qū)域之 外的區(qū)域應(yīng)用不同的重新定位轉(zhuǎn)移函數(shù),并選擇給出與預(yù)測塊之外的對應(yīng)區(qū)域相比最小的 絕對誤差的轉(zhuǎn)移函數(shù)(例如模板),來確定轉(zhuǎn)移函數(shù)。然后,使用所選的位移和轉(zhuǎn)移函數(shù)來 產(chǎn)生預(yù)測塊9。傳統(tǒng)上,根據(jù)現(xiàn)有技術(shù)的模板匹配典型地使用預(yù)測塊9的區(qū)域之外的重構(gòu)像 素。根據(jù)本發(fā)明,在將模板匹配應(yīng)用于重構(gòu)像素的局部結(jié)構(gòu)30時,根據(jù)本發(fā)明的實施例,可 以在對齊中使用模板匹配。示例以下描述創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30與對齊21的組合的一些其他示例。通過對齊至當(dāng)前幀中的像素進行的幀間預(yù)測這描述了根據(jù)本發(fā)明的實施例如何用于改進類似H. 264編碼器的幀間預(yù)測。根據(jù) 本發(fā)明,為了創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)30,選擇消耗一些比特來進行編碼的幀間預(yù)測信息 23,例如H. 264中的P16X 16宏塊類型。然后,如標準中一樣使用所選的宏塊類型來獲得預(yù) 測塊9。然后執(zhí)行逐行和逐列分析,以建立重構(gòu)像素的局部結(jié)構(gòu)30。然后,將幀間預(yù)測塊9 與重構(gòu)像素的局部結(jié)構(gòu)30對齊21。選擇與重構(gòu)像素的局部結(jié)構(gòu)30相比給出最小SAD的對齊轉(zhuǎn)移函數(shù)。可以執(zhí)行對 齊21從而對預(yù)測塊9進行濾波以獲得良好匹配。為了改進對齊21的精度,可以逐塊地對 16X16的預(yù)測塊9中的各個4X4塊進行調(diào)諧和編碼,以產(chǎn)生對16X 16宏塊的多至16個調(diào) 整??梢詧?zhí)行率失真(RD)優(yōu)化以選擇要使用哪個宏塊類型,例如與標準中的情況相同,但 是在此將本發(fā)明的教導(dǎo)應(yīng)用至標準P16X 16宏塊模式。通過對齊至根據(jù)相鄰幀間預(yù)測信息的預(yù)泖眺行的幀間預(yù)測可以通過將來自相鄰塊的幀間預(yù)測信息應(yīng)用于當(dāng)前塊1的幀間預(yù)測,來執(zhí)行創(chuàng)建 20重構(gòu)像素的局部結(jié)構(gòu)30。然后,可以對齊21當(dāng)前重構(gòu)幀10的使用當(dāng)前幀間預(yù)測信息的 的預(yù)測塊9,以與重構(gòu)像素的局部結(jié)構(gòu)30更好匹配,尤其是沿著與另一幀間預(yù)測信息所來 自的相鄰塊的塊邊界。使用局部結(jié)構(gòu)作為幀內(nèi)預(yù)測可以使用本發(fā)明的實施例來改進類似H. 26X編碼器的幀內(nèi)預(yù)測。在這種情況下,
18幀內(nèi)預(yù)測信息24之一,例如H. 264中的幀內(nèi)4X4編碼模式,已經(jīng)被修改為對兩種預(yù)測進行 組合。所述預(yù)測之一是根據(jù)標準幀內(nèi)預(yù)測信息24的預(yù)測塊9,另一預(yù)測被選擇為重構(gòu)像素 的局部結(jié)構(gòu)30。將兩種預(yù)測進行組合,即通過將幀內(nèi)預(yù)測塊9與重構(gòu)像素的局部結(jié)構(gòu)30對 齊21 (例如通過加權(quán)平均),以產(chǎn)生對齊的預(yù)測塊22。備選地,可以通過分析10中的先前重構(gòu)像素(在作為預(yù)測塊9的塊左側(cè)分別向上 兩行和兩列)來創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。確定用于預(yù)測下方的行或左側(cè)的列的轉(zhuǎn) 移函數(shù),即空間外插函數(shù)。這可以通過最小化行/列的預(yù)測與行/列的重構(gòu)值之間的平方 差來進行。然后,通過對一行/列應(yīng)用所選的轉(zhuǎn)移函數(shù)以獲得下一行/列(以此類推)來 產(chǎn)生局部結(jié)構(gòu)30??梢詧?zhí)行率失真優(yōu)化來選擇針對每個4X4塊預(yù)測塊9要使用哪個幀內(nèi)預(yù)測信息 24,例如與在標準情況下典型進行的操作相同,但是如上所述在本情況中使用對齊的預(yù)測 塊22作為幀內(nèi)預(yù)測信息24之一。這意味著,將選擇給出最佳RD性能的預(yù)測,可以將該預(yù) 測信號通知24給解碼過程。通過對齊至幀間預(yù)測講行的幀內(nèi)預(yù)測可以通過使用全局幀間預(yù)測信息23 (如幀的全局運動或相對于相鄰宏塊的運 動),通過幀間預(yù)測來執(zhí)行創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。然后,幀內(nèi)預(yù)測塊9可以與所 創(chuàng)建的重構(gòu)像素的局部結(jié)構(gòu)30對齊21,以獲得對齊的預(yù)測塊22。由于幀內(nèi)預(yù)測僅由幀間 預(yù)測來引導(dǎo),但是實際預(yù)測是根據(jù)當(dāng)前重構(gòu)幀10中的先前解碼的像素來執(zhí)行的,因此,對 齊的預(yù)測塊將潛在地好于幀內(nèi)預(yù)測塊9,但仍具有良好的誤差恢復(fù)屬性。在重構(gòu)像素的局 部結(jié)構(gòu)30的塊邊界像素與幀內(nèi)預(yù)測塊9的主要結(jié)構(gòu)非常不同的情況下,可以通過避免對齊 21幀內(nèi)預(yù)測塊9來實現(xiàn)進一步改善的誤差恢復(fù)。通過與局部結(jié)構(gòu)對齊進行的幀內(nèi)預(yù)測在產(chǎn)生預(yù)測塊9的步驟中,可以使用任何用戶優(yōu)選方法來產(chǎn)生一個或多個幀內(nèi)預(yù) 測,并且可以對用于選擇17方法的參數(shù)進行編碼。然后,可以使用本發(fā)明來將這些預(yù)測中 的一個或多個對齊21,以產(chǎn)生與重構(gòu)像素的局部結(jié)構(gòu)30更好地對齊的、對齊的預(yù)測塊22。 還可以添加附加幀內(nèi)預(yù)測信息24來描述如何產(chǎn)生對齊的預(yù)測塊22。在預(yù)測信息判定中使用局部結(jié)構(gòu)針對要編碼的當(dāng)前塊1的全部或部分,使用當(dāng)前重構(gòu)幀10中的周圍像素或來自先 前幀12的像素(使用來自相鄰塊的幀間預(yù)測信息)來創(chuàng)建20重構(gòu)像素的局部結(jié)構(gòu)30。然 后,可以使用該重構(gòu)像素的局部結(jié)構(gòu)30來執(zhí)行幀內(nèi)預(yù)測信息判定16和可能的幀間預(yù)測信 息估計13 (基于例如相對于重構(gòu)像素的局部結(jié)構(gòu)30的率失真優(yōu)化)。由于重構(gòu)像素的局部 結(jié)構(gòu)30可用于編碼過程和解碼過程中,因此不需要對預(yù)測信息進行編碼/傳輸。因此可以 實現(xiàn)比特率節(jié)約。改進的模板匹配可以使用重構(gòu)像素的局部結(jié)構(gòu)30,通過在模板匹配與基于重構(gòu)像素的局部結(jié)構(gòu) 30的匹配之間進行切換來改進模板匹配。另一方法是將模板匹配限制為使用10中的相鄰 先前解碼像素與預(yù)測塊9的邊界像素之間的相似性的預(yù)測。根據(jù)重構(gòu)像素的局部結(jié)構(gòu)30, 還可以對根據(jù)模板匹配方法的預(yù)測進行微調(diào),以產(chǎn)生對齊的預(yù)測塊22。警限的幀間預(yù)測信息估計
在標準編碼過程中,重構(gòu)像素的局部結(jié)構(gòu)30可以用于幀間預(yù)測信息估計。在這種 情況下,可以將幀間預(yù)測信息估計限制為給出使用10中的相鄰先前解碼像素與預(yù)測塊9的 邊界像素之間的相似性的預(yù)測。相鄰塊的相互對齊在實施例中,可以將本發(fā)明擴展為使得不僅對要編碼的當(dāng)前塊1執(zhí)行對齊操作 21,而且還影響相鄰塊中的像素,使得將跨越塊邊界平滑地重構(gòu)結(jié)構(gòu)。在與反變換/解量化 的殘留塊25相加之前或之后,可以執(zhí)行對齊21。使用局部結(jié)構(gòu)來調(diào)整幀間預(yù)測在將預(yù)測塊9與重構(gòu)像素的局部結(jié)構(gòu)30對齊21時,可以確定轉(zhuǎn)移函數(shù)以對用于 幀間預(yù)測的轉(zhuǎn)移函數(shù)進行局部調(diào)諧。圖5A示出了根據(jù)本發(fā)明的示例性實施例的編碼設(shè)備的框圖。編碼設(shè)備總體上包 括輸入接口 34,用于獲取輸入視頻幀12 ;處理裝置35和存儲器37和/或?qū)S糜布糜?視頻編碼;以及輸出接口 36,用于輸出編碼視頻幀。例如,編碼設(shè)備可以包括在通信終端中,例如,電話或移動電話或個人計算機或裝 配有攝像機的被配置為對使用攝像機所捕獲的視頻進行數(shù)字通信或存儲的任何其他設(shè)備、 或者用于處理視頻幀的任何其他設(shè)備。此外,可以應(yīng)用用于對數(shù)字化的視頻進行存儲、傳輸 或代碼轉(zhuǎn)換的設(shè)備。可以經(jīng)由輸入接口 34接收或獲取上述輸入視頻幀47。輸入視頻幀47可以作為電 子視頻信號以模擬或數(shù)字形式來接收。在接收模擬視頻信號的情況下,輸入接口裝配有模 數(shù)轉(zhuǎn)換器。在接收數(shù)字視頻信號的情況下,可以相應(yīng)地配置輸入接口,這是本領(lǐng)域技術(shù)人員 已知的。例如,可以從攝像機、便攜式攝像機、視頻播放器、CD-R0M/DVD播放等接收輸入視 頻幀47。處理裝置35可以包括微處理器、DSP、微控制器或適于執(zhí)行程序指令的任何設(shè)備 以及專用硬件。專用硬件可以包括專用集成電路,現(xiàn)場可編程門陣列等,用于如圖3A所示 地作為整體或部分來執(zhí)行對輸入視頻幀47進行編碼的一些或全部步驟。根據(jù)現(xiàn)有技術(shù),通過合適的接口,可以從諸如⑶-ROM、DVD、硬盤、軟盤之類的計算 機可讀介質(zhì),或者從具有先前存儲的程序指令的任何其他介質(zhì),將視頻編碼設(shè)備的程序指 令加載入存儲器37。程序指令被配置用于使得在由處理裝置35執(zhí)行時執(zhí)行如上所述對輸 入視頻幀47進行編碼的步驟。對輸入視頻幀47進行編碼的結(jié)果(編碼視頻幀18),可以作為數(shù)字信號輸出,以通 過輸出接口 36發(fā)送至另一設(shè)備進行解碼、存儲或任何其他目的,輸出接口 36被配置用于這 種目的并且是本領(lǐng)域技術(shù)人員已知的。圖5B示出了根據(jù)本發(fā)明的示例性實施例的解碼設(shè)備的框圖。解碼設(shè)備總體上具 有輸入接口 38,用于接收編碼視頻幀18 ;處理裝置39和存儲器41和/或用于視頻解碼的 專用硬件;以及輸出接口 40,用于輸出解碼視頻幀29。解碼設(shè)備可以是(但不限于)通信終端,例如,電話或移動電話或個人計算機或裝 配有顯示器的任何其他設(shè)備,被配置用于對編碼視頻進行數(shù)字通信或顯示。此外,可以應(yīng)用 用于對數(shù)字化視頻進行存儲、接收或代碼轉(zhuǎn)換的設(shè)備,或用于處理視頻幀的任何其他設(shè)備。 解碼設(shè)備也可以包括在任一這種設(shè)備中。
輸入接口 38被配置用于接收從視頻編碼設(shè)備輸出并通過通信鏈路(例如有線或 無線連接)發(fā)送至視頻解碼設(shè)備的編碼視頻幀18。編碼視頻幀18也可以從本領(lǐng)域已知的 任何存儲設(shè)備輸出,例如,CD-ROM、DVD、PC硬盤等。處理裝置39可以包括微處理器、DSP、微控制器或適于執(zhí)行程序指令的任何設(shè)備、 以及專用硬件。專用硬件可以包括專用集成電路,現(xiàn)場可編程門陣列等,用于如圖3B所示 地作為整體或部分來執(zhí)行對編碼視頻幀18進行解碼的一些或全部步驟。根據(jù)現(xiàn)有技術(shù),通過合適的接口,可以從諸如⑶-ROM、DVD、硬盤、軟盤之類的計算 機可讀介質(zhì),或者從具有先前存儲的程序指令的任何其他介質(zhì),將視頻編碼設(shè)備的程序指 令加載入存儲器41。程序指令被配置為使得在由處理裝置39執(zhí)行時執(zhí)行如上所述對編碼 視頻幀18進行解碼的步驟。解碼過程的結(jié)果(解碼視頻幀29),可以經(jīng)由解碼器輸出接口 40輸出,用于顯示或 任何其他目的。解碼視頻幀23可以作為模擬視頻信號輸出。為此目的,輸出接口 40可以 具有數(shù)模轉(zhuǎn)換器。應(yīng)理解,說明書和附圖中的實施例僅作為示例給出,在不脫離由以下權(quán)利要求所 定義的本發(fā)明的范圍的前提下,可以進行修改。參考文獻[1] Y. Vatis, B. Edler, D.T.Nguyen, J. Ostermann, "Two-dimensional non-separable Adaptive Wiener Interpolation Filter for H. 264/AVC,,,VCEG-Z17, ITU-T, Study group 16, Question 6, April 2005.[2] "Separable Adaptive Interpolation Filter", C0M16-C219, Matsushita, July 2007[3] "Decoder side MV derivation", VCEG-AG16, Oct 2007[4] “ Inter Frame Coding with Template Matching Averaging,,,InProc. IEEE Int. Conf. Image Processing ICIP, San Antonio, Tx, USA, Sep. 2007[5] “Intra prediction by Averaged Template Matching Predictors,,,In Proc. IEEE Consumer Communications and Networking Conference CCNC, Jan.2007[6] “Intra prediction based on displacement and templatematching,,, VCEG-AEl 1, Jan 2007.[7]ITU-T Recommendation H. 264/IS0/IEC MPEG 14496-10,2003.
權(quán)利要求
一種將輸入視頻幀(47)編碼為編碼視頻幀(18)的方法,包括以下步驟 將輸入視頻幀(47)分解(46)為多個像素塊;針對來自輸入視頻幀(12)的當(dāng)前像素塊(1),執(zhí)行以下步驟 根據(jù)已重構(gòu)的像素(10、12),產(chǎn)生(42A)與當(dāng)前塊(1)相對應(yīng)的預(yù)測塊(9); 通過從當(dāng)前塊(1)中減去預(yù)測塊(9)來產(chǎn)生殘留塊(3);以及 根據(jù)殘留塊(3)和預(yù)測塊(9)來產(chǎn)生(4、7、8、44)當(dāng)前重構(gòu)幀(10); 根據(jù)殘留塊(3)來產(chǎn)生編碼視頻幀(18);其特征在于,所述方法還包括以下步驟 在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重構(gòu)像素的局部結(jié)構(gòu)(30); 將預(yù)測塊(9)與所述局部結(jié)構(gòu)(30)對齊以產(chǎn)生對齊的預(yù)測塊(22);以及 其中,在產(chǎn)生殘留塊(3)和產(chǎn)生對應(yīng)的重構(gòu)塊(43)的步驟中使用對齊的預(yù)測塊(22)。
2.一種將編碼視頻幀(18)解碼為解碼視頻幀(29)的方法,包括以下步驟 -根據(jù)編碼視頻幀(18)來產(chǎn)生(19、7)反變換/解量化的殘留塊(25); 針對每個所產(chǎn)生的反變換/解量化的殘留塊(25),執(zhí)行以下步驟-根據(jù)已重構(gòu)的像素(10,12)來產(chǎn)生(42B)預(yù)測塊(9);-根據(jù)編碼視頻幀(18)和預(yù)測塊(9)來產(chǎn)生(8,44)重構(gòu)幀(10);其特征在于,所述方法還包括以下步驟-在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重構(gòu)像素的局部結(jié)構(gòu)(30);-將預(yù)測塊(9)與所述局部結(jié)構(gòu)(30)對齊(21)為對齊的預(yù)測塊(22);以及-其中,在產(chǎn)生對應(yīng)的重構(gòu)塊(43)的步驟中使用對齊的預(yù)測塊(22)。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,產(chǎn)生(42A、42B)預(yù)測塊(9)的步驟包括 -使用幀間預(yù)測信息(23),根據(jù)先前重構(gòu)幀(12)中的重構(gòu)像素來產(chǎn)生(13、14)預(yù)測塊(9)。
4.根據(jù)權(quán)利要求1或2所述的方法,其中,產(chǎn)生(42A、42B)預(yù)測塊(9)的步驟包括 -使用幀內(nèi)預(yù)測信息(24),根據(jù)當(dāng)前重構(gòu)幀(10)中的重構(gòu)像素來產(chǎn)生(15、16)預(yù)測塊(9)。
5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其中,在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重 構(gòu)像素的局部結(jié)構(gòu)(30)的步驟包括_使用來自當(dāng)前重構(gòu)幀(10)的重構(gòu)像素來產(chǎn)生所述局部結(jié)構(gòu)(30)的像素(幀內(nèi)預(yù) 測)。
6.根據(jù)權(quán)利要求1-4中任一項所述的方法,其中,在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重 構(gòu)像素的局部結(jié)構(gòu)(30)的步驟包括_使用來自先前重構(gòu)幀(12)的先前重構(gòu)像素來產(chǎn)生所述局部結(jié)構(gòu)(30)的像素(幀間 預(yù)測)。
7.根據(jù)權(quán)利要求5所述的方法,其中,在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重構(gòu)像素的局 部結(jié)構(gòu)(30)的步驟包括_將當(dāng)前重構(gòu)幀(10)的重構(gòu)像素內(nèi)插入預(yù)測塊(9)的區(qū)域。
8.根據(jù)權(quán)利要求5或6所述的方法,其中,在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重構(gòu)像素的局部結(jié)構(gòu)(30)的步驟包括-將重構(gòu)像素外插入預(yù)測塊(9)的區(qū)域。
9.根據(jù)權(quán)利要求5或6所述的方法,其中,在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重構(gòu)像素 的局部結(jié)構(gòu)(30)的步驟包括-根據(jù)相鄰塊的幀間預(yù)測信息,將來自另一先前重構(gòu)幀(12)的重構(gòu)像素應(yīng)用至當(dāng)前重 構(gòu)幀(10)的區(qū)域。
10.根據(jù)權(quán)利要求5或6所述的方法,其中,在預(yù)測塊(9)的區(qū)域中創(chuàng)建(20)重構(gòu)像素 的局部結(jié)構(gòu)(30)的步驟包括-確定用于預(yù)測與預(yù)測塊(9)相鄰的像素的行和/或列的轉(zhuǎn)移函數(shù); -將用于預(yù)測行和/或列的所述轉(zhuǎn)移函數(shù)應(yīng)用于與預(yù)測塊相鄰的像素,以產(chǎn)生預(yù)測塊 (9)的區(qū)域中的行和/或列中尚未重構(gòu)的像素。
11.根據(jù)之前任一權(quán)利要求所述的方法,其中,將預(yù)測塊(9)與局部結(jié)構(gòu)(30)對齊 (21)的步驟包括-將預(yù)測塊(9)中的至少部分的像素的屬性與局部結(jié)構(gòu)(30)中像素的對應(yīng)屬性進行匹配;-基于最佳匹配,使預(yù)測塊(9)的屬性適配于局部結(jié)構(gòu)(30)的對應(yīng)屬性。
12.根據(jù)權(quán)利要求11所述的方法,其中,將預(yù)測塊(9)中的至少部分的像素的屬性與局 部結(jié)構(gòu)(30)中像素的對應(yīng)屬性進行匹配的步驟包括-建立預(yù)測塊(9)中的至少部分的像素的屬性值與局部結(jié)構(gòu)(30)中像素的對應(yīng)屬性值 的平方差或絕對差之和,其中,所述最佳匹配由最小和來確定。
13.根據(jù)權(quán)利要求11-12中任一項所述的方法,其中,將預(yù)測塊(9)中的至少部分的像 素的屬性與局部結(jié)構(gòu)(30)中像素的對應(yīng)屬性進行匹配的步驟包括-確定預(yù)測塊(9)中的至少部分與局部結(jié)構(gòu)(30)之間的空間轉(zhuǎn)移函數(shù); 以及,基于最佳匹配使預(yù)測塊(9)的屬性適配于局部結(jié)構(gòu)(30)的對應(yīng)屬性的步驟包括-將空間轉(zhuǎn)移函數(shù)應(yīng)用于預(yù)測塊(9),以產(chǎn)生對齊的預(yù)測塊(22)。
14.根據(jù)權(quán)利要求13所述的方法,其中,確定預(yù)測塊(9)中的部分與局部結(jié)構(gòu)(30)之 間的空間轉(zhuǎn)移函數(shù)的步驟是通過從預(yù)定空間轉(zhuǎn)移函數(shù)集合中選擇空間轉(zhuǎn)移函數(shù)來執(zhí)行的。
15.根據(jù)權(quán)利要求11-14中任一項所述的方法,其中,將預(yù)測塊(9)與局部結(jié)構(gòu)(30)對 齊(21)的步驟包括-對預(yù)測塊(9)的像素和/或局部結(jié)構(gòu)(30)的像素進行子像素內(nèi)插,以允許預(yù)測塊(9) 相對于局部結(jié)構(gòu)(30)的子像素匹配和子像素定位。
16.根據(jù)權(quán)利要求11-15中任一項所述的方法,其中,將預(yù)測塊(9)中的至少部分的 像素的屬性與局部結(jié)構(gòu)(30)中像素的對應(yīng)屬性進行匹配的步驟和基于最佳匹配使預(yù)測塊 (9)的屬性適配于局部結(jié)構(gòu)(30)的對應(yīng)屬性的步驟是對作為預(yù)測塊(9)的來源的像素執(zhí)行 的。
17.根據(jù)權(quán)利要求1-16中任一項所述的方法,其中,預(yù)測塊(9)中的至少部分的像素的 屬性和局部結(jié)構(gòu)(30)中像素的對應(yīng)屬性基于局部結(jié)構(gòu)(30)的像素的變換,其中,基于最佳 匹配,根據(jù)局部結(jié)構(gòu)(30)的像素的變換來適配預(yù)測塊(9)。
18.根據(jù)權(quán)利要求11-17所述的方法,其中,將預(yù)測塊(9)中的至少部分的像素的屬性 與局部結(jié)構(gòu)(30)中像素的對應(yīng)屬性進行匹配的步驟包括-確定使得預(yù)測塊(9)的像素值與重構(gòu)像素的局部結(jié)構(gòu)(30)的像素值最佳匹配的位置,其中,使預(yù)測塊(9)的屬性適配于局部結(jié)構(gòu)(30)的對應(yīng)屬性的步驟包括 -將預(yù)測塊(9)定位至所述使得預(yù)測塊(9)的像素值與重構(gòu)像素的局部結(jié)構(gòu)(30)的像 素值最佳匹配的位置。
19.一種視頻編碼設(shè)備,包括輸入接口(34),用于接收輸入視頻幀(47);輸出接口(36),用于輸出編碼視頻幀(18);以及處理裝置(35)和存儲器(37)和/或?qū)S糜布b置, 被配置為執(zhí)行根據(jù)權(quán)利要求1、3_18中任一項所述的方法的步驟。
20.一種視頻解碼設(shè)備,包括輸入接口(38),用于接收編碼視頻幀(18);輸出接口(40),用于輸出解碼視頻幀(29);以及處理裝置(39)和存儲器(41)和/或?qū)S糜布b置, 被配置為執(zhí)行根據(jù)權(quán)利要求2-18中任一項所述的方法的步驟。
21.一種計算機可讀介質(zhì),其上存儲有計算機指令,所述計算機指令在被加載入存儲器(37)并由根據(jù)權(quán)利要求19所述的編碼設(shè)備中的處理器(35)來處理時執(zhí)行根據(jù)權(quán)利要求 1、3-18中任一項所述的方法的步驟。
22.—種計算機可讀介質(zhì),其上存儲有計算機指令,計算機指令在被加載入存儲器(41)并由根據(jù)權(quán)利要求20所述的解碼設(shè)備中的處理器(39)來處理時執(zhí)行根據(jù)權(quán)利要求 2-18中任一項所述的方法的步驟。
全文摘要
本發(fā)明提供了一種將輸入視頻幀編碼為編碼視頻幀的方法。所述方法包括以下步驟將輸入視頻幀分解為多個像素塊;針對作為當(dāng)前塊的每個塊根據(jù)已重構(gòu)的像素產(chǎn)生對應(yīng)的預(yù)測塊;通過從當(dāng)前塊中減去預(yù)測塊來產(chǎn)生殘留塊;以及根據(jù)殘留塊和預(yù)測塊來產(chǎn)生重構(gòu)塊;根據(jù)殘留塊來產(chǎn)生編碼視頻幀;在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu);將預(yù)測塊與所述局部結(jié)構(gòu)對齊以產(chǎn)生對齊的預(yù)測塊;其中,在產(chǎn)生殘留塊和產(chǎn)生對應(yīng)的重構(gòu)塊的步驟中使用對齊的預(yù)測塊。對應(yīng)的用于將編碼視頻幀解碼為解碼視頻幀的方法也使用在預(yù)測塊的區(qū)域中創(chuàng)建重構(gòu)像素的局部結(jié)構(gòu)以及將預(yù)測塊與所述局部結(jié)構(gòu)對齊以產(chǎn)生對齊的預(yù)測塊的步驟。
文檔編號H04N7/34GK101904173SQ200880121947
公開日2010年12月1日 申請日期2008年7月16日 優(yōu)先權(quán)日2007年12月21日
發(fā)明者喬納坦·薩繆爾森, 克林頓·普瑞德, 珀·福羅德亨, 理查德·肖伯格, 肯尼思·安德森 申請人:艾利森電話股份有限公司