專利名稱:自適應幀內(nèi)模式選擇的制作方法
技術領域:
本發(fā)明涉及將視頻幀編碼成編碼視頻幀的方法、將編碼視頻幀解碼成解碼視頻幀 的方法、視頻編碼設備、視頻解碼設備、具有用于視頻編碼設備的計算機程序的計算機可讀 介質(zhì)以及具有用于視頻解碼設備的計算機程序的計算機可讀介質(zhì)。更具體地,本發(fā)明涉及 具有幀內(nèi)預測的視頻編碼和視頻解碼。
背景技術:
視頻編碼設備在編碼過程中將輸入視頻幀編碼成編碼視頻幀以進行存儲或傳輸, 在視頻解碼設備中,使用該編碼視頻幀來重構所存儲或所傳輸?shù)男盘?,以獲得原始視頻信 號的重構。編碼過程實現(xiàn)了原始視頻信號的壓縮,以使得僅要求存儲器具有存儲原始的輸 入視頻幀所需的存儲容量的一小部分,便可以將壓縮視頻信號存儲在存儲介質(zhì)上,或者,與 發(fā)送原始的視頻信號所需的帶寬相比,僅要求有限的帶寬便可以以壓縮的方式發(fā)送視頻信 號。為了增強視頻編碼過程,如H. 264的現(xiàn)代視頻編碼/解碼標準使用幀內(nèi)預測。在 幀內(nèi)預測中,使用來自當前正在重構的幀周圍的已重構像素來重構像素塊。使用對周圍像 素的知識來在適當?shù)姆较蛏蟿?chuàng)建新塊的預測。更具體地,在給定的方向上擴展該仍待創(chuàng)建 的塊的周圍像素,以通過例如在該方向上進行外插來創(chuàng)建該塊。通過幀內(nèi)預測模式來指示 該方向。根據(jù)選擇準則,可以評估通過不同的幀內(nèi)預測模式生成的預測塊,并可以選擇最佳 的幀內(nèi)預測模式。一旦建立了幀內(nèi)預測模式,該幀內(nèi)預測模式將被編碼并添加到編碼視頻 幀。在視頻編碼/解碼的領域中,使用可能幀內(nèi)預測模式的預定集合來執(zhí)行幀內(nèi)預 測。當將要存儲或向解碼過程發(fā)送來自該可能幀內(nèi)預測模式的預定集合的幀內(nèi)預測模式 時,該可能幀內(nèi)預測模式的預定集合要求在編碼過程中對多個比特進行編碼。由可能幀內(nèi)預測模式的數(shù)目來確定對幀內(nèi)預測模式進行編碼所需的比特數(shù)。在很 多情況下,不需要所有可能的幀內(nèi)預測模式來產(chǎn)生精確或可接受的預測結(jié)果。從而,對幀內(nèi) 預測模式進行編碼導致相同或相似的預測(即預測塊)時,浪費了編碼比特。從而,本發(fā)明 的目的是減小對幀內(nèi)預測模式進行編碼所需的比特容量。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,該目的是通過一種將輸入視頻幀編碼成編碼視頻幀的方 法來實現(xiàn),所述方法包括以下步驟將輸入視頻幀分解成多個像素塊。針對來自輸入視頻幀的所述多個像素塊中的當 前像素塊,執(zhí)行以下步驟·使用幀內(nèi)預測,根據(jù)當前重構幀的已重構像素生成與當前塊相對應的預測塊,其 中,生成預測塊的步驟包括生成幀內(nèi)預測模式;以及通過將所述幀內(nèi)預測模式應用到當 前重構幀的已重構像素來生成預測塊;
·通過從當前塊中減去預測塊來生成殘差塊;以及·根據(jù)殘差塊和預測塊生成當前重構幀;·根據(jù)殘差塊生成編碼視頻幀,·其中,生成預測塊的步驟還包括以下步驟根據(jù)可能幀內(nèi)預測模式的預定集合確 定幀內(nèi)預測模式的子集;·其中,生成幀內(nèi)預測模式的步驟是通過從所述幀內(nèi)預測模式的子集中選擇幀內(nèi) 預測模式來執(zhí)行的;·其中,生成預測塊的步驟是參照所述幀內(nèi)預測模式的子集來執(zhí)行的。根據(jù)本發(fā)明的第二方面,該目的是通過一種將編碼視頻幀解碼成輸出視頻幀的方 法來實現(xiàn)的,所述方法包括以下步驟·根據(jù)編碼視頻幀生成重構的殘差塊;·根據(jù)當前重構幀的已重構像素生成預測塊;·根據(jù)重構的殘差塊和預測塊生成重構幀;·根據(jù)當前重構幀和解碼的幀內(nèi)預測模式生成預測塊;·其中,生成預測塊的步驟還包括根據(jù)可能幀內(nèi)預測模式的預定集合確定幀內(nèi)預 測模式的子集的步驟;生成預測塊的步驟是參照所述幀內(nèi)預測模式的子集來執(zhí)行的。通過將可能的幀內(nèi)預測模式的數(shù)量減少為子集,減小了對幀內(nèi)預測模式進行編碼 所需的比特容量,同時維持了預測塊的質(zhì)量并從而維持了編碼過程和后續(xù)解碼過程的質(zhì)量。在根據(jù)本發(fā)明的實施例中,根據(jù)可能幀內(nèi)預測模式的預定集合確定幀內(nèi)預測模式 的子集的步驟包括基于與來自可能幀內(nèi)預測模式的預定集合的預測模式相關聯(lián)的所生成 的預測塊的相似性準則,根據(jù)可能幀內(nèi)預測模式的預定集合形成幀內(nèi)預測模式的至少一個 預選集合;以及針對所述至少一個預選集合中的每一個,將幀內(nèi)預測模式選入所述幀內(nèi)預 測模式的子集。這允許基于應用到對應預測塊的特性的相似性準則,將幀內(nèi)預測模式一起組合為 預選集合,從而可以針對每個預選集合來選擇幀內(nèi)預測模式。針對每個預選集合來選擇幀 內(nèi)預測模式可以包括選擇對應預測塊具有相關聯(lián)預測塊的最高相似性分數(shù)的幀內(nèi)預測模 式。在根據(jù)本發(fā)明的另一實施例中,上述方法還包括調(diào)整相似性準則以建立預定數(shù)量 的所述至少一個預選集合的步驟。這允許調(diào)節(jié)預測模式的組合和選擇處理,以找到為了對幀內(nèi)預測模式編碼而要編 碼的比特與編碼過程中可選的量化步驟之間的平衡。相似性準則越嚴格,將創(chuàng)建越多的預 選集合,反之亦然。此外,創(chuàng)建越多的預選集合,需要編碼越多的比特容量。在根據(jù)本發(fā)明的另一實施例中,根據(jù)可能幀內(nèi)預測模式的預定集合確定幀內(nèi)預測 模式的子集的步驟包括-針對所述可能幀內(nèi)預測模式的預定集合中的每一個,確定關聯(lián)預測塊的可能性, 并執(zhí)行以下步驟中的至少一個-將關聯(lián)預測的可能性高于預定閾值的幀內(nèi)預測模式選入所述幀內(nèi)預測模式的子 集;以及
-基于所確定的可能性對所述可能幀內(nèi)預測模式的預定集合進行分級,并將預定 數(shù)量的最高等級幀內(nèi)預測模式選入所述子集。這允許對預選集合的形成以及預測模式的選擇處理進行局部優(yōu)化,因為在視頻幀 之間或者在視頻幀內(nèi),幀內(nèi)預測模式出現(xiàn)的可能性可以變化。在根據(jù)本發(fā)明的另一實施例中,根據(jù)可能幀內(nèi)預測模式的預定集合確定幀內(nèi)預測 模式的子集的步驟包括-針對來自所述可能幀內(nèi)預測模式的預定集合的每一個可能幀內(nèi)預測模式,確定 相關聯(lián)的周圍像素中的像素變化,并執(zhí)行以下步驟中的至少一個-選擇在相關聯(lián)的周圍像素中的像素變化大于閾值的幀內(nèi)預測模式,以及-基于所確定的相關聯(lián)的周圍像素中的像素變化,對所述可能幀內(nèi)預測模式的預 定集合進行分級,并將預定數(shù)量的最高等級的幀內(nèi)預測模式選入所述子集。周圍塊是預測塊所源自的當前重構幀中已重構像素的塊。通過將幀內(nèi)預測模式應 用到相關聯(lián)的周圍像素,生成了預測塊。該實施例允許在可能幀內(nèi)預測模式的子集中選擇 幀內(nèi)預測模式,所選擇的幀內(nèi)預測模式的起源周圍塊具有高于閾值的像素變化,而忽略像 素變化低于該閾值的預測。在根據(jù)本發(fā)明的另一實施例中,根據(jù)可能幀內(nèi)預測模式的預定集合確定幀內(nèi)預測 模式的子集的步驟還包括向每個可能幀內(nèi)預測模式分配權重因子;其中,針對所述至少 一個預選集合中的每一個將幀內(nèi)預測模式選入所述幀內(nèi)預測模式的子集的步驟包括選擇 具有最高權重因子的幀內(nèi)預測模式。這允許對將幀內(nèi)預測模式從可能幀內(nèi)預測模式的預定集合選入幀內(nèi)預測模式的 子集的操作進行具有先驗偏好的偏向。在根據(jù)本發(fā)明的另一實施例中,根據(jù)可能幀內(nèi)預測模式的預定集合確定幀內(nèi)預測 模式的子集的步驟包括將可能幀內(nèi)預測模式與幀內(nèi)預測模式的多個預定集合相匹配;從 所述幀內(nèi)預測模式的多個預定集合中選擇具有最佳匹配的集合。這允許根據(jù)要編碼的輸入視頻幀的條件,選擇幀內(nèi)預測模式的預定優(yōu)化子集。因 為子集是預定的,不需要對其編碼。從而實現(xiàn)了對視頻幀的編碼過程中所需的比特容量的
進一步減小。根據(jù)本發(fā)明的第三方面,該目的還是通過一種編碼設備來實現(xiàn)的,所述編碼設備 包括用于接收輸入視頻幀的裝置;用于輸出編碼視頻幀的裝置,所述編碼設備還包括以 下至少一項處理裝置和存儲器的組合、處理裝置和存儲器和專用硬件裝置的組合、以及專 用硬件裝置,被配置用于執(zhí)行上述將輸入視頻幀編碼成編碼視頻幀的方法的步驟。根據(jù)本發(fā)明的第四方面,該目的還是通過一種解碼設備來實現(xiàn)的,所述解碼設備 包括用于接收編碼視頻幀的裝置;用于輸出解碼視頻幀的裝置,所述解碼設備還包括以 下至少一項處理裝置和存儲器的組合、處理裝置和存儲器和專用硬件裝置的組合、以及專 用硬件裝置,被配置用于執(zhí)行將編碼視頻幀解碼成輸出視頻幀的方法的步驟。根據(jù)本發(fā)明的第五方面,該目的還是通過一種其上存儲有計算機指令的計算機可 讀介質(zhì)來實現(xiàn)的,當所述計算機指令被載入存儲器并由編碼設備的處理裝置處理時,執(zhí)行 上述將輸入視頻幀編碼成編碼視頻幀的方法的步驟。根據(jù)本發(fā)明的第六方面,該目的還是通過一種其上存儲有計算機指令的計算機可
6讀介質(zhì)來實現(xiàn)的,當所述計算機指令被載入存儲器并由解碼設備的處理裝置處理時,執(zhí)行 將編碼視頻幀解碼成輸出視頻幀的方法的步驟。
參考以下附圖,將以詳細的描述來闡述本發(fā)明,在附圖中圖IA示出了根據(jù)當前技術將輸入視頻幀編碼成具有幀內(nèi)預測的編碼視頻幀的示 例性處理的方框圖。圖IB示出了根據(jù)當前技術將編碼視頻幀解碼成具有幀內(nèi)預測的解碼視頻幀的示 例性處理的方框圖。圖2示出了根據(jù)當前技術的幀內(nèi)預測模式集合的圖形表示的示例。圖3示出了根據(jù)當前技術將幀內(nèi)預測模式應用到重構像素的示例。圖4A示出了根據(jù)本發(fā)明的實施例將輸入視頻幀編碼成編碼視頻幀的處理的方框 圖。圖4B示出了根據(jù)本發(fā)明的實施例將編碼視頻幀解碼成解碼視頻幀的處理的方框 圖。圖5示出了根據(jù)本發(fā)明的實施例的方框圖。圖6A示出了根據(jù)圖5的本發(fā)明的另一實施例的方框圖。圖6B示出了根據(jù)圖5的本發(fā)明的另一實施例的方框圖。圖6C示出了根據(jù)圖5的本發(fā)明的另一實施例的方框圖。圖6D示出了根據(jù)圖5的本發(fā)明的另一實施例的方框圖。圖7示出了根據(jù)本發(fā)明的另一個實施例的幀內(nèi)預測模式的預定集合的表示的示 例。圖8A示出了根據(jù)本發(fā)明用于將輸入視頻幀編碼成編碼視頻幀的示例性視頻編碼 器的方框圖。圖8B示出了根據(jù)本發(fā)明用于將編碼視頻幀解碼成解碼視頻幀的視頻解碼器的示 例性實施例的方框圖。
具體實施例方式以下將通過示例實施例來詳細解釋本發(fā)明,如果參照附圖來閱讀,則將更好地理 解本發(fā)明。附圖中,每個框表示具有數(shù)據(jù)和/或控制信息作為輸入和/或輸出的處理步驟。 數(shù)據(jù)由實線箭頭表示,并且可以是像素塊或像素幀??刂菩畔⒂商摼€箭頭表示。附圖中相 似的參考標號用于相似的特征。然而,表示處理步驟的圖中的每個框可以以專用硬件處理器來實現(xiàn)。類似地,可以 以硬件將數(shù)據(jù)和控制信息實現(xiàn)為電子信號,分別用于在各種硬件處理器之間進行通信和控 制??梢栽趦蓚€相關聯(lián)的處理器或方法中執(zhí)行視頻編碼和解碼,以實現(xiàn)視頻幀的數(shù)字 通信,該數(shù)字通信具有相對于未編碼數(shù)字視頻傳輸而言減小的帶寬或比特率,和/或要求 有限量的中間存儲器。視頻編碼總的概念是基于將輸入視頻幀分解成各種大小(如,4x4、 8x8或16x16)的像素塊,從而通過從輸入視頻幀的當前塊中減去預測塊來生成差值或殘差塊。將殘差塊編碼成編碼視頻幀。在編碼步驟中,附加地可以包括預測信息以通知對應的 解碼過程。使用殘差塊以根據(jù)預測塊和殘差塊來創(chuàng)建重構塊,將該重構塊與先前重構塊一 起組裝成當前重構幀,預測塊是根據(jù)該重構幀生成的。使用來自先前編碼的視頻幀的信息(如運動、紋理、邊緣等),可以通過不同的方 式建立預測塊。在幀內(nèi)預測中,建立幀內(nèi)預測模式,幀內(nèi)預測模式確定了如何可以根據(jù)當前 重構幀生成預測塊??梢詫瑑?nèi)預測模式與上述的殘差塊一起編碼為預測信息。在對應的解碼過程中,與編碼過程類似,生成由其生成預測塊的重構幀。將編碼視 頻幀解碼成解碼塊和幀內(nèi)預測模式,解碼塊表示編碼過程的殘差塊,幀內(nèi)預測模式表示編 碼過程的預測模式。幀內(nèi)預測模式和當前重構幀一起,允許解碼過程生成與編碼過程中的預測塊相同 的預測塊。將預測塊與表示殘差塊的解碼塊相加,生成重構塊,該重構塊通過與先前的重構 塊進行組裝來形成當前重構幀。在可選地進行解塊后,可以輸出重構幀作為解碼視頻幀。解 塊允許平滑或移除重構幀的構成塊中可見或干擾或過剩的轉(zhuǎn)變。圖IA示出了根據(jù)當前技術(H. 26x、MPEG-2、MPEG-4)對具有幀內(nèi)預測的輸入視頻 幀12進行編碼的示例處理的方框圖,其中,將輸入視頻幀12分解14成多個塊1,從而在處 理循環(huán)中連續(xù)地對分解的當前塊1進行處理。將作為來自輸入視頻幀12的分解的生成塊之一的當前塊1編碼為編碼視頻幀18, 編碼視頻幀18將被發(fā)送至圖IB中示出的對應解碼過程。從而,輸入視頻幀12被逐塊編碼 并傳送到解碼過程。顯而易見的是,可以通過對輸入視頻幀12進行連續(xù)編碼,將流傳輸視 頻編碼成連續(xù)編碼的視頻幀18??梢栽诰幋a和解碼之間以編碼的形式執(zhí)行中間存儲,例如 存儲在緊致光盤(CD)或數(shù)字通用光盤(DVD)或者其它任何的存儲介質(zhì)上。在圖IA中,在編碼過程的循環(huán)中,針對當前塊1,使用預測塊22通過從當前塊1減 去2預測塊22來生成殘差塊3??梢酝ㄟ^逐像素地像素值相減來執(zhí)行減法2的操作,將減 法的結(jié)果寫入殘差塊中??蛇x地將殘差塊3變換4成變換塊,進而對變換塊進行編碼5,以 生成編碼的數(shù)字視頻幀18。將殘差塊3變換4成變換塊6的可選步驟可以涉及例如離散 余弦變換(DCT)。對殘差塊3進行變換/量化4的步驟還可以涉及對所產(chǎn)生的變換塊進行 量化,以限制變換的殘差塊6的可能值的數(shù)量。這將降低編碼步驟5的工作負荷。編碼5 可以涉及熵編碼,即例如Huffman編碼或其它任何用于減小數(shù)字傳輸所需比特量的編碼方 案。在圖IA中,使用虛線示出了變換/量化步驟4,因為變換/量化步驟4是可選的。如果 省略了變換/量化步驟4,則變換的殘差塊6等于殘差塊3??蛇x地,將變換塊6反變換和/或解量化7成重構殘差塊8。顯而易見的是,如果 執(zhí)行了對殘差塊3的變換/量化4步驟,才執(zhí)行變換的殘差塊6的反變換步驟。因此,如果 沒有執(zhí)行殘差塊3的變換/量化4步驟,重構殘差塊8等于殘差塊3。在剩余的描述中,假 定執(zhí)行步驟4中變換和/或量化4的形式和反變換和/或解量化7。然后,添加9表示殘差塊3的重構(可選地,反變換/解量化)殘差塊8,以生成 重構塊25??梢酝ㄟ^逐像素地添加像素值并將結(jié)果放入重構塊25來執(zhí)行添加。將重構塊 25與先前的重構塊25組裝在一起,以形成當前重構幀的至少部分,從而可將該至少部分用 于下一個循環(huán)中的幀內(nèi)預測。在圖IA中示出的視頻編碼過程的示例中,生成15、16預測塊 22僅限于幀內(nèi)預測。此外,可以應用其它預測方法,如幀間預測。
在步驟15中,通過從可能預測模式28的預定集合中選擇幀內(nèi)預測模式來執(zhí)行根 據(jù)當前技術的幀內(nèi)預測。關于圖2來討論幀內(nèi)預測模式。使用所選擇的幀內(nèi)預測模式24, 參考可能預測模式28的預定集合來生成16預測塊22。該預測塊22被用在生成殘差塊3 和重構塊25的過程中。此外,將用來生成16預測塊22的幀內(nèi)預測模式24編碼5至編碼視頻幀18中,以 在解碼過程中進一步使用。圖IB示出了將編碼視頻幀18解碼成解碼視頻幀23的過程。編碼視頻幀18被解 碼成解碼的殘差塊6和幀內(nèi)預測模式24??蛇x地,將解碼的殘差塊6反變換/解量化7成 重構(可選地,反變換/解量化)殘差塊8。如果在編碼過程中執(zhí)行了變換/量化,則在解 碼過程中執(zhí)行反變換/解量化。因此,如果沒有應用反變換/解量化,則可選地反變換/解 量化的殘差塊8等于解碼的殘差塊6。重構(可選地,反變換/解量化)殘差塊8被添加到 預測塊22。同樣參考可能預測模式的預定集合28,通過將幀內(nèi)預測模式24應用于來自當前 重構幀10的先前重構像素,來生成16預測塊22。通過將預測塊22添加9到重構(可選 地,反變換/解量化)殘差塊8,創(chuàng)建重構塊25。將重構塊25與先前重構塊25 —起組裝26 進當前重構幀10中。在完成當前重構幀10的組裝26后,可以如上所述對重構幀10執(zhí)行解塊11的(可 選)步驟,產(chǎn)生解碼視頻幀23。從圖IA和1B,顯而易見的是,通過將預測塊22添加9到重 構(可選地,反變換/解量化)殘差塊8產(chǎn)生重構塊25來生成當前重構幀10在視頻編碼 過程和視頻解碼過程中是類似的。圖2示出了根據(jù)當前技術的幀內(nèi)預測模式的圖形表示的示例。由箭頭來表示預測 模式,每一個箭頭指示了方向,使用當前重構幀10的周圍重構像素來沿該方向?qū)⒅車南?前重構像素擴展至預測塊中。在圖3中,示出了根據(jù)當前技術將幀內(nèi)預測模式應用至周圍的重構像素13的示 例。使用先前重構的周圍像素13M、A、B、...H來擴展至要預測的塊22中,在本示例中,要 預測的塊22是4x4的塊。通過應用本領域公知的幀內(nèi)預測模式“0”,將像素A,...,D向下 擴展至預測塊22的像素中。幀內(nèi)預測模式“0”表示向下方向擴展。如圖3中所示的幀內(nèi)預測使用了周圍的先前重構像素的行,然而,通過向右擴展 也可以使用列I、J、K、L,或者可以使用行A. . . H和列M. . . L中像素的組合沿中間方向進行 擴展。根據(jù)標準H. 264,可以如圖2中所示定義8個幀內(nèi)預測模式。除了先前重構像素沿幀 內(nèi)預測模式的方向的擴展之外,還可以使預測塊22的像素等于周圍的先前重構像素13的 平均值,這被稱為DC模式。通過將周圍的先前重構像素的多行和/或多列擴展到預測塊22中,可以增強幀內(nèi) 預測。這允許更大量的預定幀內(nèi)預測模式。圖4A示出了根據(jù)本發(fā)明的實施例,將輸入視頻幀12編碼成編碼視頻幀18的處理 的方框圖。將輸入視頻幀12編碼成編碼視頻幀18的處理與圖IA中示出的處理類似,然而, 根據(jù)本發(fā)明,添加了根據(jù)可能幀內(nèi)預測模式的預定集合28來確定21幀內(nèi)預測模式的子集 27的步驟。如上討論的,可能幀內(nèi)預測模式的預定集合28可以具有大量幀內(nèi)預測模式。從 而,對幀內(nèi)預測模式24進行編碼相應地需要對大量比特進行編碼5。通過將幀內(nèi)預測模式的數(shù)目減少為幀內(nèi)預測模式的子集27,可以將生成15幀內(nèi)預測模式24的步驟限制在幀內(nèi) 預測模式的子集27。相應地,可以將使用幀內(nèi)預測模式24生成16預測塊22的步驟限制在 幀內(nèi)預測模式的子集27。圖4B示出了根據(jù)本發(fā)明的實施例將編碼視頻幀18解碼成解碼視頻幀23的解碼 過程的方框圖。同樣地,圖4B中示出的處理與根據(jù)圖IB將編碼視頻幀18解碼成解碼視頻 幀23的處理類似。如在圖4A的編碼過程中一樣,添加了根據(jù)可能幀內(nèi)預測模式的預定集 合28確定21幀內(nèi)預測模式的子集27的步驟。由于幀內(nèi)預測模式24不是必須在解碼過程 中建立,而是經(jīng)由解碼步驟19可得,因此可以如在圖4A的編碼過程中一樣,使用幀內(nèi)預測 模式24和幀內(nèi)預測模式的子集27來執(zhí)行預測塊22的生成16。由于使用與生成當前重構 幀10相同的步驟來對當前重構幀10執(zhí)行根據(jù)可能幀內(nèi)預測模式的預定集合28確定21幀 內(nèi)預測模式的子集27的步驟,編碼過程中的幀內(nèi)預測模式的子集27等于解碼過程中的幀 內(nèi)預測模式的子集27。這樣確保了編碼過程和解碼過程所產(chǎn)生的預測塊22是相同的,并且 對幀內(nèi)預測模式24進行編碼和解碼需要更少的比特。下面將更詳細地討論根據(jù)可能幀內(nèi) 預測模式的預定集合28確定21幀內(nèi)預測模式的子集27的步驟。在圖5中,示出了根據(jù)當前重構幀10確定21幀內(nèi)預測模式的子集27的流程圖。 通過當前在用的幀內(nèi)預測策略來生成30可能幀內(nèi)預測模式的預定集合28。該幀內(nèi)預測策 略例如可以通過如H. 264的視頻編碼/解碼標準來確定。針對所有可能的預測模式生成30 對應的預測塊22。根據(jù)所需或所期望的各種策略和/或準則,根據(jù)與所有可能的預測模式 28相關聯(lián)的這些所產(chǎn)生的預測塊來確定子集27。圖6A示出了根據(jù)圖5的本發(fā)明的其它實施例的方框圖。在該實施例中,在使用當 前重構幀10根據(jù)可能幀內(nèi)預測模式的預定集合28生成30預測塊22之后,通過形成32幀 內(nèi)預測模式的預選集合來對可能的幀內(nèi)預測模式進行組合。幀內(nèi)預測模式是基于其關聯(lián)預 測的相似性被選入預選集合的??梢酝ㄟ^將與幀內(nèi)預測模式相關聯(lián)的每一個預測塊22與 步驟30中生成的其它所有預測塊22相比較,來執(zhí)行幀內(nèi)預測模式的預選集合的形成32。 比較可以例如包括針對每一個塊,建立另一塊的對應像素之差的平方和。差值的平方和小 于準則的關聯(lián)預測塊22可以導致其預測模式成為預選集合的成員。從而,基于其關聯(lián)預測 塊的差的平方和,可以形成32具有相似性的預測模式的預選集合。本領域技術人員將認識 到,可以利用除了使用差的平方和之外的形成預選組的方法。由于在每一個預選集合中的關聯(lián)預測塊22是相似的,可以僅選擇33預選集合的 單個成員(即,預測模式)成為幀內(nèi)預測模式的子集27的成員。通過針對每個預選集合重 復該步驟,可以完成幀內(nèi)預測模式的子集27。可以在隨后的步驟中描述根據(jù)本發(fā)明的實施例根據(jù)所生成30的幀內(nèi)預測模式形 成32預選集合的備選方法1、使用差的平方和(SSD)作為相似性的量度來比較預測塊32。2、選擇最相似的兩個預測塊22作為移除候選,并且移除與其它預測塊22最相似 的移除候選。3、重復步驟2,直到保留期望數(shù)量的幀內(nèi)預測模式。4、如根據(jù)現(xiàn)有技術選擇幀內(nèi)預測模式一樣,在期望數(shù)量的幀內(nèi)預測模式中進行選 擇,例如使用率失真來選擇。
然后,對從幀內(nèi)預測模式的子集27中選出的幀內(nèi)預測模式進行編碼5并在編碼視 頻幀18中將其信號通知給解碼過程。在本發(fā)明的另一實施例(未在圖6A中示出)中,可以調(diào)整相似性準則,以創(chuàng)建具 有預定數(shù)量的幀內(nèi)預測模式的幀內(nèi)預測模式的子集27,該預定數(shù)量小于可能幀內(nèi)預測模式 的預定集合中的幀內(nèi)預測模式的數(shù)量。可以關于在變換/量化4步驟中使用的量化參數(shù), 對該準則和隨后幀內(nèi)預測模式的子集27中幀內(nèi)預測模式的數(shù)目進行調(diào)節(jié)。量化參數(shù)越高,對殘差塊3中變換后的像素進行的“舍入”越多。這導致與低量化 參數(shù)相比,對殘差塊3使用的比特更少。在率失真(在信息理論領域(香農(nóng)理論)中公知) 方面,對低量化參數(shù)來說,對殘差塊3進行編碼的比特代價較高,而對高量化參數(shù)來說,比 特代價較低。由于相似性準則并且隨后使用幀內(nèi)預測模式的子集27中幀內(nèi)預測模式的數(shù) 目被調(diào)節(jié)到所使用的量化參數(shù),低量化參數(shù)造成比特代價更高,因此,可以承擔更少的比特 以消耗在數(shù)目增加的幀內(nèi)預測模式上,反之亦然。例如,當在低量化參數(shù)處維持相同的比特率時,導致更多的比特用于對殘差塊3 編碼,可以使用兩個比特來對四個可能的預測模式進行編碼。在高量化參數(shù)處,導致較少的 比特用于對殘差塊3編碼,可以使用四個比特來對十六個可能的預測模式進行編碼。當不 同的模式使用不同數(shù)量的比特時,這也是適用的。在高量化參數(shù)處,代價最低的幀內(nèi)預測模 式使用較少的比特。在高量化參數(shù)等級處,可能期望以更低的平均代價來交換代價更高的 預測模式??梢詫⒃搸瑑?nèi)預測模式/量化參數(shù)聯(lián)系獨立使用,或者與本發(fā)明的其它實施例 相結(jié)合。在解碼過程中,執(zhí)行用于建立幀內(nèi)預測模式的子集的相同步驟。來自編碼過程的 編碼的幀內(nèi)預測模式被解碼19,并被用在根據(jù)解碼的幀內(nèi)預測模式24從幀內(nèi)預測模式的 子集27中選擇幀內(nèi)預測模式來生成16預測塊的過程中。圖6B示出了根據(jù)圖6A的本發(fā)明的另一實施例的方框圖。所有可能的幀內(nèi)預測模 式28不必具有相同的相關性。一些幀內(nèi)預測模式可以比其它幀內(nèi)預測模式更相關,意味著 當在幀內(nèi)預測模式的子集27中選擇幀內(nèi)預測模式時,這些幀內(nèi)預測模式應該具有更高的 優(yōu)先級。這可以通過向可能幀內(nèi)預測模式的預定集合28中的每一個分配34權重因子來解 決,可以將其用在如圖6A所描述的從預選集合中選擇33幀內(nèi)預測模式的過程中,從而,與 同一個預選集合中具有較低權重因子的幀內(nèi)預測模式相比,可以更偏好選擇33a具有較高 權重的幀內(nèi)預測模式。圖6C示出了根據(jù)圖5的本發(fā)明的又一個實施例的方框圖。在該實施例中,可以將 針對所有可能的預測模式而產(chǎn)生的預測塊22同與幀內(nèi)預測模式的多個預定子集相關聯(lián)的 多個預測塊進行匹配35。選擇36具有最佳匹配的幀內(nèi)預測模式的預定子集,作為在根據(jù)當 前重構幀10生成16預測塊22的步驟中使用的幀內(nèi)預測模式的子集27。圖7示出了根據(jù)本發(fā)明的實施例的幀內(nèi)預測模式的預定子集的示例。如果例如在 某些實例中要求水平方向上的更多方向預測,即可能幀內(nèi)預測模式的預定集合具有更多這 樣的模式,則圖7的子集1最適合并且可以被選擇。同樣地,如果例如在某些實例中要求 垂直方向上的更多方向預測,即可能幀內(nèi)預測模式的預定集合具有更多這樣的模式,則圖7 的子集2最適合并且可以被選擇。圖6D示出了根據(jù)圖5中示出的本發(fā)明的又一個實施例的方框圖??梢曰诳赡苄詠韺赡軒瑑?nèi)預測模式的預定集合28中的幀內(nèi)預測模式進行分級38,或者可以應用38閾 值來建立可能性高于閾值的幀內(nèi)預測模式。可以基于但不限于以下之一來建立37幀內(nèi)預 測模式的可能性關于所選幀內(nèi)預測模式的先前判定、先前判定的頻率、當前重構幀10中 周圍像素13的概率和其它屬性。對被判斷為有可能的幀內(nèi)模式在編碼步驟5中給出短碼 字,而對被判斷為不太可能的幀內(nèi)模式給出長碼字??梢詫⒖赡苄愿哂陂撝档膸瑑?nèi)預測模 式選入39幀內(nèi)預測模式的子集27中。備選地,可以將最高等級的幀內(nèi)預測模式選入子集 27中。在根據(jù)未在圖中示出的本發(fā)明的另一實施例中,確定與可能幀內(nèi)預測模式的預定 集合中的每一個相關聯(lián)的周圍像素13中的像素變化。將相關聯(lián)的周圍像素13中的像素變 化超過閾值的幀內(nèi)預測模式選入幀內(nèi)預測模式的子集27中。同樣地,根據(jù)相關聯(lián)的周圍像 素13的像素變化,可以對來自可能幀內(nèi)預測模式的預定子集的幀內(nèi)預測模式進行分級。可 以針對幀內(nèi)預測模式的子集27選擇最高等級的幀內(nèi)預測模式??梢允褂媒y(tǒng)計方法建立像 素變化,例如,建立多個像素中的像素變化的方差。圖8A示出了根據(jù)本發(fā)明的示例實施例的編碼設備的方框圖。編碼設備通常包括 用于獲得輸入視頻幀12的輸入接口 40、用于視頻編碼的處理裝置41和存儲器43和/或?qū)?用硬件、以及用于輸出編碼視頻幀18的輸出接口 42。例如,編碼設備可以包括在通信終端中,如電話或移動電話或個人計算機或裝配 有攝像機的任何其他設備,被配置為對使用攝像機捕獲的視頻進行數(shù)字通信或存儲,或者 用于處理視頻幀的任何其他設備。此外,可以應用用于對數(shù)字化視頻進行存儲、傳輸或代碼 轉(zhuǎn)換的設備??梢越?jīng)由輸入接口 40接收或獲取上述輸入視頻幀12。輸入視頻幀12可以作為電 子視頻信號以模擬或數(shù)字形式來接收。在接收模擬視頻信號的情況下,輸入接口裝配有模 數(shù)轉(zhuǎn)換器。在接收數(shù)字視頻信號的情況下,可以相應地配置輸入接口,這是本領域技術人員 已知的。例如,可以從攝像機、便攜式攝像機、視頻播放器、CD-R0M/DVD播放器等接收輸入 視頻幀12。處理裝置41可以包括微處理器、DSP、微控制器或適于執(zhí)行程序指令的任何設備 和專用硬件。專用硬件可以包括專用集成電路,現(xiàn)場可編程門陣列等,如圖4A所示,作為整 體或部分來執(zhí)行對輸入視頻幀12進行編碼的一些或全部步驟。根據(jù)現(xiàn)有技術,通過合適的接口,可以從計算機可讀介質(zhì)如⑶-ROM、DVD、硬盤、軟 盤等等,或者從具有先前存儲的程序指令的任何其他介質(zhì)將視頻編碼設備的程序指令加載 入存儲器43。程序指令被配置為使得在由處理裝置41執(zhí)行時執(zhí)行如上所述對輸入視頻幀 12進行編碼的步驟。對輸入視頻幀12進行編碼的結(jié)果(編碼視頻幀18),可以作為數(shù)字信號輸出,以通 過輸出接口 42發(fā)送至另一設備進行解碼、存儲或任何其他目的,輸出接口 42針對這種目的 來配置并且是本領域技術人員已知的。圖8B示出了根據(jù)本發(fā)明示例實施例的解碼設備的框圖。解碼設備總體上包括輸 入接口 44,用于接收編碼視頻幀18 ;處理裝置45和存儲器47和/或?qū)S糜布?,用于視頻解 碼;以及輸出接口 46,用于輸出解碼視頻幀23。解碼設備可以是(但不限于)通信終端,如電話或移動電話或個人計算機或裝配有顯示器的任何其他設備,被配置為對編碼視頻進行數(shù)字通信或顯示。此外,可以應用用于 對數(shù)字化視頻進行存儲、接收或代碼轉(zhuǎn)換的設備,或用于處理視頻幀的任何其他設備。解碼 設備也可以包括在任一這種設備中。輸入接口 44被配置為接收從視頻編碼設備輸出并通過通信鏈路(例如有線或無 線連接)發(fā)送至視頻解碼設備的編碼視頻幀18。編碼視頻幀18也可以從本領域已知的任 何存儲設備輸出,如CD-ROM、DVD、PC硬盤等。處理裝置45可以包括微處理器、DSP、微控制器或適于執(zhí)行程序指令的任何設備 和專用硬件。專用硬件可以包括專用集成電路,現(xiàn)場可編程門陣列等,如圖4B所示,作為整 體或部分來執(zhí)行對編碼視頻幀18進行解碼的一些或全部步驟。根據(jù)現(xiàn)有技術,通過合適的接口,可以從計算機可讀介質(zhì)如⑶-ROM、DVD、硬盤、軟 盤等等,或者從具有先前存儲的程序指令的任何其他介質(zhì)將視頻編碼設備的程序指令加載 入存儲器47。程序指令被配置為使得在由處理裝置45執(zhí)行時執(zhí)行如上所述對編碼視頻幀 18進行解碼的步驟。解碼過程的結(jié)果(解碼視頻幀23),可以經(jīng)由解碼器輸出接口 46輸出,用于顯示或 任何其他目的。解碼視頻幀23可以作為模擬視頻信號輸出。為此目的,輸出接口 46可以 具有數(shù)模轉(zhuǎn)換器。應理解,說明書和附圖中的實施例僅作為示例給出,在不脫離由以下權利要求所 限定的本發(fā)明的范圍的前提下,可以進行修改。
1權利要求
一種將輸入視頻幀(12)編碼成編碼視頻幀(18)的方法,包括以下步驟 將輸入視頻幀(12)分解成多個像素塊,針對來自輸入視頻幀(12)的當前像素塊(1),執(zhí)行以下步驟i.使用幀內(nèi)預測,根據(jù)當前重構幀(10)的已重構像素,生成(15、16)與當前塊(1)相對應的預測塊(22),其中,生成預測塊的步驟包括生成(15)幀內(nèi)預測模式(24);以及通過將所述幀內(nèi)預測模式(24)應用到當前重構幀(10)的已重構像素來生成(16)預測塊(22);ii.通過從當前塊(1)中減去(2)預測塊(22)來生成殘差塊(3);以及iii.根據(jù)殘差塊(3)和預測塊(22)生成(9、26)當前重構幀(10);iv.根據(jù)殘差塊(3)生成編碼視頻幀(18),其特征在于,生成(15、16)預測塊(22)的步驟還包括以下步驟v.根據(jù)可能幀內(nèi)預測模式的預定集合(28),確定(26)幀內(nèi)預測模式的子集(27);vi.其中,生成(15)幀內(nèi)預測模式(24)的步驟是通過從所述幀內(nèi)預測模式的子集(27)中選擇幀內(nèi)預測模式來執(zhí)行的;vii.其中,生成(16)預測塊(22)的步驟是參照所述幀內(nèi)預測模式的子集(27)來執(zhí)行的。
2.一種將編碼視頻幀(18)解碼成輸出視頻幀(29)的方法,包括以下步驟 -根據(jù)編碼視頻幀(18)生成(19、7)重構的殘差塊(8);-根據(jù)當前重構幀(10)的已重構像素生成(16)預測塊(22);-根據(jù)重構的殘差塊(8)和預測塊(9)生成(9,26)重構幀(10);-根據(jù)當前重構幀(10)和解碼的幀內(nèi)預測模式(24)生成(16)預測塊(22);其特征在于,生成(16)預測塊(22)的步驟還包括以下步驟_根據(jù)可能幀內(nèi)預測模式的預定集合(28),確定(26)幀內(nèi)預測模式的子集(27);-其中,生成(16)預測塊(22)的步驟是參照所述幀內(nèi)預測模式的子集(27)來執(zhí)行的。
3.根據(jù)權利要求1或2所述的方法,其中,根據(jù)可能幀內(nèi)預測模式的預定集合(28)確 定(26)幀內(nèi)預測模式的子集(27)的步驟包括_基于與來自可能幀內(nèi)預測模式的預定集合(28)的預測模式相關聯(lián)的所生成(30)的 預測塊的相似性準則,根據(jù)可能幀內(nèi)預測模式的預定集合(28),形成(32)幀內(nèi)預測模式的 至少一個預選集合;以及_針對所述至少一個預選集合中的每一個,將幀內(nèi)預測模式選入(33)所述幀內(nèi)預測模 式的子集(27)。
4.根據(jù)權利要求3所述的方法,還包括以下步驟-調(diào)整相似性準則,以建立預定數(shù)目的所述至少一個預選集合。
5.根據(jù)權利要求1或2所述的方法,其中,根據(jù)可能幀內(nèi)預測模式的預定集合確定 (26)幀內(nèi)預測模式的子集(27)的步驟包括-針對所述可能幀內(nèi)預測模式的預定集合(28)中的每一個,確定(37)關聯(lián)預測塊的可 能性,并執(zhí)行以下步驟中的至少一個-將關聯(lián)預測塊的可能性與閾值相比較(38),并將關聯(lián)預測塊的可能性高于預定閾值 的幀內(nèi)預測模式選入(39)所述幀內(nèi)預測模式的子集(27);以及-基于所確定的可能性,對所述可能幀內(nèi)預測模式的預定集合(28)進行分級,并將預 定數(shù)量的最高等級幀內(nèi)預測模式選入所述子集(27)。
6.根據(jù)權利要求1或2所述的方法,其中,根據(jù)可能幀內(nèi)預測模式的預定集合確定 (26)幀內(nèi)預測模式的子集(27)的步驟包括-針對來自所述可能幀內(nèi)預測模式的預定集合(28)的每一個可能幀內(nèi)預測模式,確定 相關聯(lián)的周圍像素(13)中的像素變化,并執(zhí)行以下步驟中的至少一個-選擇在相關聯(lián)的周圍像素(13)中的像素變化大于閾值的幀內(nèi)預測模式,以及-基于所確定的相關聯(lián)的周圍像素(13)中的像素變化,對所述可能幀內(nèi)預測模式的預 定集合(28)進行分級,并將預定數(shù)量的最高等級的幀內(nèi)預測模式選入所述子集(27)。
7.根據(jù)權利要求3-6中任一項所述的方法,其中,根據(jù)可能幀內(nèi)預測模式的預定集合 (28)確定(26)幀內(nèi)預測模式的子集(27)的步驟還包括-向每個可能幀內(nèi)預測模式分配(34)權重因子;其中,針對所述至少一個預選集合中的每一個將幀內(nèi)預測模式選入(33)所述幀內(nèi)預 測模式的子集(27)的步驟包括-選擇(33a)具有最高權重因子的幀內(nèi)預測模式。
8.根據(jù)權利要求1或2所述的方法,其中,根據(jù)可能幀內(nèi)預測模式的預定集合確定 (26)幀內(nèi)預測模式的子集(27)的步驟包括-將可能幀內(nèi)預測模式與幀內(nèi)預測模式的多個預定集合相匹配;-從所述幀內(nèi)預測模式的多個預定集合中選擇具有最佳匹配的集合。
9.一種編碼設備,包括用于接收輸入視頻幀(12)的裝置(40);用于輸出編碼視頻幀 (18)的裝置(42),所述編碼設備還包括以下至少一項處理裝置(41)和存儲器(43)的組 合、處理裝置(41)和存儲器(43)和專用硬件裝置的組合、以及專用硬件裝置,被配置用于 執(zhí)行根據(jù)權利要求1、3_8中任一項所述的方法的步驟。
10.一種解碼設備,包括用于接收編碼視頻幀(18)的裝置(44);用于輸出解碼視頻 幀(29)的裝置(46),所述解碼設備還包括以下至少一項處理裝置(45)和存儲器(47)的 組合、處理裝置(45)和存儲器(47)和專用硬件裝置的組合、以及專用硬件裝置,被配置用 于執(zhí)行根據(jù)權利要求2-8中任一項所述的方法的步驟。
11.一種其上存儲有計算機指令的計算機可讀介質(zhì),當所述計算機指令被載入存儲器 (43)并由根據(jù)權利要求9所述的編碼設備的處理裝置(41)處理時,執(zhí)行根據(jù)權利要求1、 3-8中任一項所述的方法的步驟。
12.—種其上存儲有計算機指令的計算機可讀介質(zhì),當所述計算機指令被載入存儲器 (47)并由根據(jù)權利要求10所述的解碼設備的處理裝置(45)處理時,執(zhí)行根據(jù)權利要求 2-8中任一項所述的方法的步驟。
全文摘要
在視頻編碼和解碼中,可以通過幀內(nèi)預測生成預測。幀內(nèi)預測使用重構幀中的重構像素。通過使用幀內(nèi)預測模式將重構像素擴展至預測塊中來執(zhí)行幀內(nèi)預測,每一個幀內(nèi)預測模式指示了擴展的方向。為了降低可能幀內(nèi)預測模式的數(shù)量,從可能幀內(nèi)預測模式的預定集合中選擇子集。通過基于相關聯(lián)預測塊的相似性來形成幀內(nèi)預測模式的預選集合并從每一個預選集合中選擇代表性的幀內(nèi)預測模式,可以創(chuàng)建幀內(nèi)預測模式的子集。
文檔編號H04N7/26GK101971631SQ200880120949
公開日2011年2月9日 申請日期2008年7月31日 優(yōu)先權日2007年12月21日
發(fā)明者喬納坦·薩繆爾森, 克林頓·普瑞德, 珀·福羅德亨, 肯尼思·安德森 申請人:艾利森電話股份有限公司