專利名稱:視頻編碼器、進(jìn)行內(nèi)部預(yù)測及進(jìn)行視頻數(shù)據(jù)壓縮的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻處理領(lǐng)域,尤其涉及視頻數(shù)據(jù)編碼。
背景技術(shù):
視頻數(shù)據(jù)包括一系列的畫面(frame),每一畫面都是一張圖片且被分割為多個(gè)區(qū) 塊(block)以供各自分別進(jìn)行編碼處理。一視頻區(qū)塊可由內(nèi)部預(yù)測模式(intra-mode)或 外部預(yù)測模式(inter-mode)進(jìn)行編碼。在內(nèi)部預(yù)測模式下,一視頻區(qū)塊的像素被與鄰近區(qū) 塊的像素相比較,以減少用以編碼的數(shù)據(jù)量。在外部預(yù)測模式下,目前畫面的一視頻區(qū)塊的 像素被與一參考畫面的對應(yīng)位置區(qū)塊的像素相比較,以減少用以編碼的數(shù)據(jù)量。圖IA為依據(jù)內(nèi)部預(yù)測模式進(jìn)行視頻編碼的視頻編碼器(Video encoder) 100的 區(qū)塊圖。視頻編碼器100包括內(nèi)部預(yù)測模塊102、減除模塊104、轉(zhuǎn)換模塊106、以及量化器 108。視頻區(qū)塊首先被送至內(nèi)部預(yù)測模塊102。內(nèi)部預(yù)測模塊102對視頻區(qū)塊進(jìn)行內(nèi)部預(yù) 測,以便依據(jù)該視頻區(qū)塊的鄰近像素產(chǎn)生一預(yù)測區(qū)塊。內(nèi)部預(yù)測模塊102依據(jù)多種內(nèi)部預(yù) 測模式中的其中一種模式以對視頻區(qū)塊進(jìn)行內(nèi)部預(yù)測。圖2顯示符合VCEG-N54規(guī)格的九種 內(nèi)部預(yù)測模式0 8。每一種內(nèi)部預(yù)測模式依據(jù)不同的鄰近像素產(chǎn)生預(yù)測區(qū)塊的預(yù)測像素 值。減除模塊104接著將預(yù)測區(qū)塊的預(yù)測像素值自視頻區(qū)塊的原始像素值減除,以得到該 視頻區(qū)塊的預(yù)測殘余值。轉(zhuǎn)換模塊106接著進(jìn)行視頻數(shù)據(jù)壓縮以將視頻區(qū)塊的預(yù)測殘余值 轉(zhuǎn)換為數(shù)據(jù)量較少的轉(zhuǎn)換值。舉例來說,轉(zhuǎn)換模塊106可能對預(yù)測殘余值進(jìn)行離散余弦轉(zhuǎn) 換(discrete cosine transform, DCT)或 Karhunen-Loeve 轉(zhuǎn)換(KLT)以得到轉(zhuǎn)換值。量 化器108最后將轉(zhuǎn)換質(zhì)量化為數(shù)據(jù)量更少而適于數(shù)據(jù)儲存或傳輸?shù)牧炕?。圖IB為依據(jù)內(nèi)部預(yù)測模式解碼視頻數(shù)據(jù)的視頻解碼器150的區(qū)塊圖。在一實(shí)施 例中,視頻解碼器150包括反轉(zhuǎn)換模塊152、反內(nèi)部預(yù)測模塊154、以及相加模塊156。反轉(zhuǎn) 換模塊152對視頻數(shù)據(jù)進(jìn)行解壓縮以將視頻區(qū)塊的量化值轉(zhuǎn)換為預(yù)測殘余值。反內(nèi)部預(yù)測 模塊154依據(jù)內(nèi)部預(yù)測模式進(jìn)行內(nèi)部預(yù)測以產(chǎn)生一預(yù)測區(qū)塊。相加模塊156將預(yù)測殘余值 與預(yù)測區(qū)塊相加以產(chǎn)生一重建區(qū)塊。視頻解碼器150接著輸出重建區(qū)塊。然而,圖IA的視頻編碼器100仍舊有缺點(diǎn)。首先,當(dāng)進(jìn)行內(nèi)部預(yù)測時(shí),內(nèi)部預(yù)測模 塊102依據(jù)鄰近區(qū)塊的像素產(chǎn)生對應(yīng)于一目前區(qū)塊的一預(yù)測區(qū)塊。預(yù)測區(qū)塊的像素值因此 與鄰近區(qū)塊的像素值相關(guān)聯(lián)。然而,目前區(qū)塊與鄰近區(qū)塊的內(nèi)部預(yù)測模式是各自獨(dú)立決定 而無關(guān)聯(lián)。因此,鄰近區(qū)塊的預(yù)測區(qū)塊與目前區(qū)塊的預(yù)測區(qū)塊通常依據(jù)不同的內(nèi)部預(yù)測模 式而產(chǎn)生,導(dǎo)致鄰近區(qū)塊的預(yù)測區(qū)塊與目前區(qū)塊的預(yù)測區(qū)塊的像素值之間發(fā)生不連續(xù)。因 此,需要一種進(jìn)行內(nèi)部預(yù)測的方法,可以依據(jù)鄰近區(qū)塊的內(nèi)部預(yù)測模式對目前區(qū)塊進(jìn)行內(nèi) 部預(yù)測。此外,轉(zhuǎn)換模塊106僅依據(jù)一組固定的轉(zhuǎn)換系數(shù)進(jìn)行視頻數(shù)據(jù)壓縮。然而,依據(jù)不 同內(nèi)部預(yù)測模式產(chǎn)生的預(yù)測殘余值需要不同的轉(zhuǎn)換系數(shù)以達(dá)到最佳的轉(zhuǎn)換效果。因此,需 要一種進(jìn)行視頻數(shù)據(jù)壓縮的方法,可依據(jù)視頻數(shù)據(jù)不同的內(nèi)部預(yù)測模式運(yùn)用不同的轉(zhuǎn)換系 數(shù)以進(jìn)行數(shù)據(jù)壓縮。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種進(jìn)行內(nèi)部預(yù)測(intra-prediction)的方 法,以解決現(xiàn)有技術(shù)存在的問題。首先,決定一左方區(qū)塊的第一內(nèi)部預(yù)測模式,一上方區(qū)塊 的第二內(nèi)部預(yù)測模式,以及一目前區(qū)塊的第三內(nèi)部預(yù)測模式,其中該左方區(qū)塊位于該目前 區(qū)塊的左方,而該上方區(qū)塊位于該目前區(qū)塊的上方。接著,自目前區(qū)塊的多個(gè)像素選取一目 標(biāo)像素。接著,依據(jù)該第一內(nèi)部預(yù)測模式計(jì)算該目標(biāo)像素的一第一預(yù)測值,依據(jù)該第二內(nèi)部 預(yù)測模式計(jì)算該目標(biāo)像素的一第二預(yù)測值,依據(jù)該第三內(nèi)部預(yù)測模式計(jì)算該目標(biāo)像素的一 第三預(yù)測值。最后,平均該第一預(yù)測值、該第二預(yù)測值、以及該第三預(yù)測值,以得到一加權(quán)平 均預(yù)測值。本發(fā)明提供一種進(jìn)行視頻數(shù)據(jù)壓縮的方法。首先,決定一目標(biāo)區(qū)塊的一內(nèi)部預(yù)測 模式。接著,自多個(gè)轉(zhuǎn)換型式選取對應(yīng)于該內(nèi)部預(yù)測模式的一目標(biāo)轉(zhuǎn)換型式。取得該目標(biāo) 區(qū)塊的多個(gè)預(yù)測殘余值,并依據(jù)該目標(biāo)轉(zhuǎn)換型式將多個(gè)預(yù)測殘余值轉(zhuǎn)換為多個(gè)轉(zhuǎn)換值。其 中對應(yīng)于該內(nèi)部預(yù)測模式的多個(gè)轉(zhuǎn)換型式依據(jù)預(yù)測殘余值的變異數(shù)大小被分類。本發(fā)明提供一種視頻編碼器(Video encoder)。在一實(shí)施例中,該視頻編碼器接 收一目前區(qū)塊,其中一左方區(qū)塊位于該目前區(qū)塊的左方,而一上方區(qū)塊位于該目前區(qū)塊的 上方。在一實(shí)施例中,該視頻編碼器包括一內(nèi)部預(yù)測(Intra-prediction)模塊以及一減除 模塊。該內(nèi)部預(yù)測模塊決定該左方區(qū)塊的第一內(nèi)部預(yù)測模式、該上方區(qū)塊的第二內(nèi)部預(yù)測 模式,以及該目前區(qū)塊的第三內(nèi)部預(yù)測模式,自該目前區(qū)塊的多個(gè)像素選取一目標(biāo)像素,依 據(jù)該第一內(nèi)部預(yù)測模式計(jì)算該目標(biāo)像素的一第一預(yù)測值,依據(jù)該第二內(nèi)部預(yù)測模式計(jì)算該 目標(biāo)像素的一第二預(yù)測值,依據(jù)該第三內(nèi)部預(yù)測模式計(jì)算該目標(biāo)像素的一第三預(yù)測值,以 及平均該第一預(yù)測值、該第二預(yù)測值、以及該第三預(yù)測值,以得到該目標(biāo)像素的一加權(quán)平均 預(yù)測值。該減除模塊自該目標(biāo)像素減去該加權(quán)平均預(yù)測值以得到該目標(biāo)像素的一預(yù)測殘余 值。本發(fā)明提供一種視頻編碼器(Video encoder)。在一實(shí)施例中,該視頻編碼器 包括一內(nèi)部預(yù)測(Intra-prediction)模塊、一減除模塊以及一轉(zhuǎn)換模塊。該內(nèi)部預(yù)測 (Intra-prediction)模塊計(jì)算一目標(biāo)區(qū)塊的多個(gè)預(yù)測像素值。該減除模塊自該目標(biāo)區(qū)塊的 多個(gè)原始像素值減去預(yù)測像素值,以得到該目標(biāo)像素的多個(gè)預(yù)測殘余值。該轉(zhuǎn)換模塊決定 該目標(biāo)區(qū)塊的一內(nèi)部預(yù)測模式,自多個(gè)轉(zhuǎn)換型式選取對應(yīng)于該內(nèi)部預(yù)測模式的一目標(biāo)轉(zhuǎn)換 型式,以及依據(jù)該目標(biāo)轉(zhuǎn)換型式將多個(gè)預(yù)測殘余值轉(zhuǎn)換為多個(gè)轉(zhuǎn)換值。其中對應(yīng)于該內(nèi)部 預(yù)測模式的多個(gè)轉(zhuǎn)換型式依據(jù)預(yù)測殘余值的變異數(shù)大小被分類。通過本發(fā)明實(shí)施例的內(nèi)部預(yù)測方法、視頻數(shù)據(jù)壓縮的方法以及視頻編碼器,可以 實(shí)現(xiàn)依據(jù)鄰近區(qū)塊的內(nèi)部預(yù)測模式對目前區(qū)塊進(jìn)行內(nèi)部預(yù)測,并且可依據(jù)視頻數(shù)據(jù)不同的 內(nèi)部預(yù)測模式運(yùn)用不同的轉(zhuǎn)換系數(shù)以進(jìn)行數(shù)據(jù)壓縮。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,并不 構(gòu)成對本發(fā)明的限定。在附圖中圖IA為依據(jù)內(nèi)部預(yù)測模式進(jìn)行視頻編碼的視頻編碼器的區(qū)塊圖;圖IB為依據(jù)內(nèi)部預(yù)測模式解碼視頻數(shù)據(jù)的視頻解碼器的區(qū)塊7
圖2顯示符合VCEG-N54規(guī)格的九種內(nèi)部預(yù)測模式0 8 ;圖3為依據(jù)本發(fā)明的一實(shí)施例的被依內(nèi)部預(yù)測模塊所處理的目前區(qū)塊及兩鄰近 區(qū)塊;圖4為依據(jù)本發(fā)明的一實(shí)施例的用以進(jìn)行內(nèi)部預(yù)測的方法的流程圖;圖5為依據(jù)本發(fā)明的一實(shí)施例的加權(quán)參數(shù)表;圖6為依據(jù)本發(fā)明的一實(shí)施例的對視頻數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮的方法的流程圖;圖7為依據(jù)本發(fā)明一實(shí)施例的儲存多組轉(zhuǎn)換系數(shù)的轉(zhuǎn)換系數(shù)表。附圖標(biāo)號(圖 1A)100 視頻編碼器;102 內(nèi)部預(yù)測模塊;104 減除模塊;106 轉(zhuǎn)換模塊;108 量化器;(圖 1B)150 視頻解碼器;152 反轉(zhuǎn)換模塊;154 反內(nèi)部預(yù)測模塊;156 相加模塊;(圖 3)301 左方區(qū)塊;302 上方區(qū)塊;303 目前區(qū)塊。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖對本發(fā)明實(shí)施 例做進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,但并不作為 對本發(fā)明的限定。圖3為依據(jù)本發(fā)明的一實(shí)施例的被依內(nèi)部預(yù)測模塊所處理的目前區(qū)塊303及兩 鄰近區(qū)塊301與302。兩鄰近區(qū)塊包括一左方區(qū)塊301及一上方區(qū)塊302。左方區(qū)塊301、 上方區(qū)塊302、目前區(qū)塊303都是位于一視頻數(shù)據(jù)的同一畫面(frame)中。在畫面中,左方 區(qū)塊301位于目前區(qū)塊303的左方,而上方區(qū)塊302位于目前區(qū)塊303的上方。左方區(qū)塊 301、上方區(qū)塊302、目前區(qū)塊303皆包括固定數(shù)目的像素(pixel),每一像素具有一像素值 以表示該像素的顏色。在一實(shí)施例中,目前區(qū)塊303包括16(4X4)個(gè)像素,位置分別為(0, 0) (3,3)。圖4為依據(jù)本發(fā)明的一實(shí)施例的用以進(jìn)行內(nèi)部預(yù)測(intra-prediction)的方法 400的流程圖。方法400被稱為重疊區(qū)塊內(nèi)部預(yù)測(overlapped blockintra-prediction ; 0ΒΙΡ)。假設(shè)一內(nèi)部預(yù)測模塊接收到圖3中的目前區(qū)塊303以進(jìn)行內(nèi)部預(yù)測。一左方區(qū)塊 301位于目前區(qū)塊303的左方,而一上方區(qū)塊302位于目前區(qū)塊303的上方。左方區(qū)塊301、
8上方區(qū)塊302、目前區(qū)塊303的內(nèi)部預(yù)測模式可能是各自不同的。內(nèi)部預(yù)測模塊因此先決定 左方區(qū)塊301的第一內(nèi)部預(yù)測模式,上方區(qū)塊302的第二內(nèi)部預(yù)測模式,以及目前區(qū)塊303 的第三內(nèi)部預(yù)測模式(步驟402)。目前區(qū)塊303包括多個(gè)像素。內(nèi)部預(yù)測模塊接著自目前區(qū)塊303的多個(gè)像素中選 取一目標(biāo)像素(步驟404)。內(nèi)部預(yù)測模塊首先依據(jù)左方區(qū)塊301的第一內(nèi)部預(yù)測模式計(jì) 算該目標(biāo)像素的第一預(yù)測值P1(步驟406)。內(nèi)部預(yù)測模塊接著依據(jù)上方區(qū)塊302的第二 內(nèi)部預(yù)測模式計(jì)算該目標(biāo)像素的第二預(yù)測值P2 (步驟408)。內(nèi)部預(yù)測模塊接著依據(jù)目前區(qū) 塊303的第三內(nèi)部預(yù)測模式計(jì)算該目標(biāo)像素的第三預(yù)測值&(步驟410)。因此,第一預(yù)測 值P1、第二預(yù)測值P2、第三預(yù)測值P3分別對應(yīng)左方區(qū)塊301的第一內(nèi)部預(yù)測模式、上方區(qū)塊 302的第二內(nèi)部預(yù)測模式、目前區(qū)塊303的第三內(nèi)部預(yù)測模式。內(nèi)部預(yù)測模塊接著將第一預(yù)測值P1、第二預(yù)測值P2、第三預(yù)測值P3平均以得到一 平均值以作為該目標(biāo)像素的內(nèi)部預(yù)測值。在一實(shí)施例中,內(nèi)部預(yù)測模塊首先決定一組目標(biāo) 加權(quán)參數(shù)1、12、1以供對第一預(yù)測值P1、第二預(yù)測值P2、第三預(yù)測值P3進(jìn)行加權(quán)平均(步驟 412)。在一實(shí)施例中,目標(biāo)加權(quán)參數(shù)11、12、評3是依據(jù)目前區(qū)塊303的第三預(yù)測模式&以及 該目標(biāo)像素位于目前區(qū)塊303內(nèi)的位置而決定。在一實(shí)施例中,內(nèi)部預(yù)測模塊包括一存儲 器以儲存一加權(quán)參數(shù)表以供紀(jì)錄多組加權(quán)參數(shù),而內(nèi)部預(yù)測模塊搜尋該加權(quán)參數(shù)表以決定 目標(biāo)加權(quán)參數(shù)Wi、W2、W3。圖5為依據(jù)本發(fā)明的一實(shí)施例的加權(quán)參數(shù)表500,其中加權(quán)參數(shù)表 500紀(jì)錄了多組加權(quán)參數(shù)。加權(quán)參數(shù)表500中的多組加權(quán)參數(shù)以目前區(qū)塊303的內(nèi)部預(yù)測模 式以及目標(biāo)像素位于目前區(qū)塊303內(nèi)的位置作為索引。加權(quán)參數(shù)表500中儲存的多組加權(quán) 參數(shù)是由非在線的訓(xùn)練(off-line training)程序中經(jīng)由線性回歸(linear regression) 而決定。舉例來說,若目標(biāo)像素的位置為(0,2),而目前區(qū)塊303的內(nèi)部預(yù)測模式為垂直模 式0,則目標(biāo)加權(quán)參數(shù)H W3被決定為W1^o, 2),W20 (0, 2),W30 (0, 2)。若目標(biāo)像素的位置 為(3,3),而目前區(qū)塊303的內(nèi)部預(yù)測模式為水平上偏模式8,則目標(biāo)加權(quán)參數(shù)Wp W2、W3被 決定為W18 (3,3),W28 (3,3),W38 (3,3)。當(dāng)目標(biāo)加權(quán)參數(shù)W3被決定后,內(nèi)部預(yù)測模塊接 著依據(jù)該目標(biāo)加權(quán)參數(shù)A、W2> W3對第一預(yù)測值P1、第二預(yù)測值P2、第三預(yù)測值P3進(jìn)行加權(quán) 平均,以得到該目標(biāo)像素的一內(nèi)部預(yù)測值[W1XPAW2XPfW3XP3](步驟414)。內(nèi)部預(yù)測模 塊接著重復(fù)執(zhí)行內(nèi)部預(yù)測值的計(jì)算步驟404 414,直到目前區(qū)塊303的所有像素的內(nèi)部預(yù) 測值皆已計(jì)算得到(步驟416)。目前區(qū)塊的所有像素的內(nèi)部預(yù)測值接著被收集以得到一預(yù) 測區(qū)塊,而內(nèi)部預(yù)測模塊將該預(yù)測區(qū)塊輸出至一減除模塊,該減除模塊將預(yù)測區(qū)塊的像素 預(yù)測值自目前區(qū)塊303的像素值減除,以得到預(yù)測殘余值,如圖IA所示。預(yù)測區(qū)塊的像素 預(yù)測值因此為分別依據(jù)左方區(qū)塊301、上方區(qū)塊302、目前區(qū)塊303的內(nèi)部預(yù)測模式所產(chǎn)生 的預(yù)測值Pp P2、P3的加權(quán)平均值。在步驟412中,供平均預(yù)測值P” P2> P3的加權(quán)參數(shù)W” W2、W3是依據(jù)目前區(qū)塊303 的第三預(yù)測模式&以及該目標(biāo)像素位于目前區(qū)塊303內(nèi)的位置而決定。然而,加權(quán)參數(shù)表 500中包含有9種類的預(yù)定加權(quán)參數(shù)分別對應(yīng)于內(nèi)部預(yù)測模式0 8,而對應(yīng)于其它內(nèi)部預(yù) 測模式的此等預(yù)定加權(quán)參數(shù)可能較對應(yīng)于目前區(qū)塊303的預(yù)測模式P3的加權(quán)參數(shù)產(chǎn)生帶 有較少的影像失真的預(yù)測平均值。因此,在一實(shí)施例中,目標(biāo)加權(quán)參數(shù)WpW2^3是依據(jù)對應(yīng) 于多個(gè)預(yù)定加權(quán)參數(shù)的位元率-失真最佳化(rate-distortion optimization)成本而自對應(yīng)于多個(gè)內(nèi)部預(yù)測模式的該等預(yù)定加權(quán)參數(shù)選出。舉例來說,內(nèi)部預(yù)測模塊可在步驟412 產(chǎn)生分別對應(yīng)9個(gè)內(nèi)部預(yù)測模式的9組加權(quán)參數(shù),接著在步驟414依據(jù)9組加權(quán)參數(shù)分別 對第一預(yù)測值P1、第二預(yù)測值P2、第三預(yù)測值P3進(jìn)行加權(quán)平均以得到該目標(biāo)像素的9個(gè)內(nèi) 部預(yù)測值。內(nèi)部預(yù)測模塊接著分別收集所有像素的9種內(nèi)部預(yù)測值以產(chǎn)生9個(gè)預(yù)測區(qū)塊, 并計(jì)算9個(gè)區(qū)塊的位元率-失真最佳化成本,最后選取具有最低的位元率_失真最佳化成 本的預(yù)測區(qū)塊作為輸出。視頻數(shù)據(jù)的數(shù)個(gè)位元可用以儲存目標(biāo)區(qū)塊的被選取的內(nèi)部預(yù)測模 式,以便傳遞至解碼器時(shí)指示解碼器目標(biāo)區(qū)塊依據(jù)何內(nèi)部預(yù)測模式編碼。圖4的方法400產(chǎn)生包括多個(gè)加權(quán)平均預(yù)測值的預(yù)測區(qū)塊。然而,包括多個(gè)加權(quán) 平均預(yù)測值的預(yù)測區(qū)塊可能較僅僅依據(jù)目標(biāo)區(qū)塊的單一內(nèi)部預(yù)測模式所產(chǎn)生的預(yù)測區(qū)塊 具有較高的位元率_失真最佳化成本。因此,在一實(shí)施例中,內(nèi)部預(yù)測模塊具有一機(jī)制,以 自動(dòng)決定是否依據(jù)方法400產(chǎn)生包括多個(gè)加權(quán)平均預(yù)測值的預(yù)測區(qū)塊。也就是說,內(nèi)部預(yù) 測模塊可自動(dòng)的在宏區(qū)塊(macroblock)的層次決定是否啟動(dòng)或關(guān)閉重疊區(qū)塊內(nèi)部預(yù)測功 能400。在一實(shí)施例中,當(dāng)目前區(qū)塊的所有像素的加權(quán)平均預(yù)測值均計(jì)算完畢后,內(nèi)部預(yù)測 模塊收集所有的加權(quán)平均預(yù)測值以得到一第一預(yù)測區(qū)塊,并收集所有依據(jù)目標(biāo)區(qū)塊的內(nèi)部 預(yù)測模式所產(chǎn)生的第三預(yù)測值P3得到一第二預(yù)測區(qū)塊。接著,內(nèi)部預(yù)測模塊分別計(jì)算第一 預(yù)測區(qū)塊及第二區(qū)塊的位元率_失真最佳化成本。當(dāng)?shù)谝活A(yù)測區(qū)塊的位元率_失真最佳化 成本高于第二預(yù)測區(qū)塊的位元率-失真最佳化成本,依據(jù)目標(biāo)區(qū)塊的內(nèi)部預(yù)測模式所產(chǎn)生 的第二預(yù)測區(qū)塊將被選取以作為內(nèi)部預(yù)測模塊的輸出。在一實(shí)施例中,視頻數(shù)據(jù)的一位元 被用以紀(jì)錄重疊區(qū)塊內(nèi)部預(yù)測功能(OBIP)開或關(guān),以通知解碼器對解碼流程進(jìn)行對應(yīng)的 調(diào)整。當(dāng)一減除模塊自目前區(qū)塊減除預(yù)測區(qū)塊以得到預(yù)測殘余值后,預(yù)測殘余值會被送 至一轉(zhuǎn)換模塊進(jìn)行數(shù)據(jù)壓縮。圖6為依據(jù)本發(fā)明的一實(shí)施例對視頻數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮的方 法600的流程圖。假設(shè)視頻編碼器的轉(zhuǎn)換模塊支持多種轉(zhuǎn)換型式,其中每一轉(zhuǎn)換型式對應(yīng) 于預(yù)測殘余值的一變異數(shù)(variance)大小層級。轉(zhuǎn)換模塊首先接收包含欲進(jìn)行壓縮的預(yù) 測殘余值的一目標(biāo)區(qū)塊,并決定該目標(biāo)區(qū)塊的內(nèi)部預(yù)測模式(步驟602)。接著,轉(zhuǎn)換模塊自 多個(gè)轉(zhuǎn)換型式中選取對應(yīng)于目標(biāo)區(qū)塊的內(nèi)部預(yù)測模式的目標(biāo)轉(zhuǎn)換型式(步驟608)。在另一 實(shí)施例中,轉(zhuǎn)換模塊分別計(jì)算對應(yīng)于多個(gè)轉(zhuǎn)換型式的多個(gè)位元率-失真最佳化成本,并選 取對應(yīng)于最低的位元率_失真最佳化成本的轉(zhuǎn)換型式作為目標(biāo)轉(zhuǎn)換型式。在部分實(shí)施例中,不同的轉(zhuǎn)換型式表示以不同組的轉(zhuǎn)換系數(shù)進(jìn)行轉(zhuǎn)換。常用在 視頻編碼過程中的轉(zhuǎn)換方法包括離散余弦轉(zhuǎn)換(discrete cosine transform, DCT)以及 Karhunen Loeve轉(zhuǎn)換(KLT)。轉(zhuǎn)換系數(shù)組依據(jù)不同的內(nèi)部預(yù)測模式及變異數(shù)大小排序,其 中各組轉(zhuǎn)換系數(shù)是由多個(gè)預(yù)定轉(zhuǎn)換系數(shù)所組成的。在一實(shí)施例中,轉(zhuǎn)換模塊以一轉(zhuǎn)換系數(shù) 表儲存多組預(yù)定轉(zhuǎn)換系數(shù)。圖7為依據(jù)本發(fā)明一實(shí)施利的儲存多組轉(zhuǎn)換系數(shù)的轉(zhuǎn)換系數(shù)表 700。轉(zhuǎn)換系數(shù)表700中的多組轉(zhuǎn)換系數(shù)依據(jù)不同的內(nèi)部預(yù)測模式0 8及變異數(shù)大小層 級A、B、C儲存。舉例來說,轉(zhuǎn)換系數(shù)組Ccia對應(yīng)于垂直內(nèi)部預(yù)測模式0及最低的變異數(shù)大小 層級A,而轉(zhuǎn)換系數(shù)組C8。對應(yīng)于水平偏上的內(nèi)部預(yù)測模式8及最高的變異數(shù)大小層級C。轉(zhuǎn)換模塊接著依據(jù)對應(yīng)于目標(biāo)轉(zhuǎn)換型式的內(nèi)部預(yù)測模式及變異數(shù)大小決定一組 目標(biāo)轉(zhuǎn)換系數(shù)。在一實(shí)施例中,轉(zhuǎn)換模塊依據(jù)對應(yīng)于目標(biāo)轉(zhuǎn)換型式的內(nèi)部預(yù)測模式及變異 數(shù)大小搜尋轉(zhuǎn)換系數(shù)表700,以得到目標(biāo)轉(zhuǎn)換系數(shù)。接著,轉(zhuǎn)換模塊掃描該目標(biāo)區(qū)塊的多個(gè)像素以取得目標(biāo)區(qū)塊的多個(gè)預(yù)測殘余值(步驟609),并依據(jù)目標(biāo)轉(zhuǎn)換型式所對應(yīng)的目標(biāo)轉(zhuǎn) 換系數(shù)轉(zhuǎn)換該等預(yù)測殘余值為多個(gè)轉(zhuǎn)換值(步驟610)。在一實(shí)施例中,轉(zhuǎn)換模塊依據(jù)目標(biāo) 轉(zhuǎn)換型式?jīng)Q定一特定的掃描順序,并依該掃描順序掃描該目標(biāo)區(qū)塊的多個(gè)像素以得到多個(gè) 預(yù)測殘余值。轉(zhuǎn)換模塊接著重復(fù)步驟604 612,直到目標(biāo)區(qū)塊的所有預(yù)測殘余值均已被轉(zhuǎn) 換為轉(zhuǎn)換值為止(步驟612)。因此,針對不同內(nèi)部預(yù)測模式的宏區(qū)塊,本發(fā)明的轉(zhuǎn)換模塊可 依據(jù)其內(nèi)部預(yù)測模式所對應(yīng)的不同轉(zhuǎn)換型式進(jìn)行轉(zhuǎn)換處理。 雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何熟知此項(xiàng) 技術(shù)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范 圍當(dāng)視權(quán)利要求范圍所界定者為準(zhǔn)。
權(quán)利要求
一種進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述方法包括下列步驟決定一左方區(qū)塊的第一內(nèi)部預(yù)測模式,一上方區(qū)塊的第二內(nèi)部預(yù)測模式,以及一目前區(qū)塊的第三內(nèi)部預(yù)測模式,其中所述左方區(qū)塊位于所述目前區(qū)塊的左方,而所述上方區(qū)塊位于所述目前區(qū)塊的上方;自所述目前區(qū)塊的多個(gè)像素選取一目標(biāo)像素;依據(jù)所述第一內(nèi)部預(yù)測模式計(jì)算所述目標(biāo)像素的一第一預(yù)測值;依據(jù)所述第二內(nèi)部預(yù)測模式計(jì)算所述目標(biāo)像素的一第二預(yù)測值;依據(jù)所述第三內(nèi)部預(yù)測模式計(jì)算所述目標(biāo)像素的一第三預(yù)測值;以及平均所述第一預(yù)測值、所述第二預(yù)測值、以及所述第三預(yù)測值,以得到一加權(quán)平均預(yù)測值。
2.如權(quán)利要求1所述的進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述平均所述第一預(yù)測值、 所述第二預(yù)測值、以及所述第三預(yù)測值進(jìn)一步包括依據(jù)所述目標(biāo)像素在所述目前區(qū)塊中的位置決定一組加權(quán)參數(shù);以及 依據(jù)所述加權(quán)參數(shù)對所述第一內(nèi)部預(yù)測模式、所述第二內(nèi)部預(yù)測模式、以及所述第三 內(nèi)部預(yù)測模式進(jìn)行加權(quán)平均,以得到所述加權(quán)平均預(yù)測值。
3.如權(quán)利要求2所述的進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述加權(quán)參數(shù)包括對應(yīng)于 所述第一預(yù)測值的一第一加權(quán)參數(shù)、對應(yīng)于所述第二預(yù)測值的一第二加權(quán)參數(shù)、以及對應(yīng) 于所述第三預(yù)測值的一第三加權(quán)參數(shù)。
4.如權(quán)利要求2所述的進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述加權(quán)參數(shù)依據(jù)所述第 三內(nèi)部預(yù)測模式以及所述目標(biāo)像素在所述目前區(qū)塊中的位置而決定。
5.如權(quán)利要求4所述的進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述加權(quán)參數(shù)是通過依據(jù) 所述第三內(nèi)部預(yù)測模式以及所述目標(biāo)像素在所述目前區(qū)塊中的位置而查詢一加權(quán)參數(shù)表 而得到。
6.如權(quán)利要求2所述的進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述加權(quán)參數(shù)是依據(jù)對應(yīng) 于多個(gè)預(yù)定加權(quán)參數(shù)的位元率_失真最佳化成本而自所述預(yù)定加權(quán)參數(shù)選出,而所述預(yù)定 加權(quán)參數(shù)分別對應(yīng)于多個(gè)內(nèi)部預(yù)測模式。
7.如權(quán)利要求1所述的進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述方法進(jìn)一步包括重復(fù)所述目標(biāo)像素的選擇,所述第一、第二、第三預(yù)測值的計(jì)算,以及所述第一、第二、 第三預(yù)測值的平均,直到所述目前區(qū)塊的所有像素的加權(quán)平均預(yù)測值均已計(jì)算得到為止; 收集所述目前區(qū)塊的像素的所述加權(quán)平均預(yù)測值以得到一第一預(yù)測區(qū)塊; 收集所述目前區(qū)塊的像素的所述第三預(yù)測值以得到一第二預(yù)測區(qū)塊; 計(jì)算所述第一預(yù)測區(qū)塊的一第一位元率_失真最佳化成本; 計(jì)算所述第二預(yù)測區(qū)塊的一第二位元率_失真最佳化成本;比較所述第一位元率_失真最佳化成本與所述第二位元率_失真最佳化成本以得到一 比較結(jié)果;以及依據(jù)所述比較結(jié)果自所述第一預(yù)測區(qū)塊與所述第二預(yù)測區(qū)塊選取一內(nèi)部預(yù)測區(qū)塊作 為輸出。
8.如權(quán)利要求1所述的進(jìn)行內(nèi)部預(yù)測的方法,其特征在于,所述方法進(jìn)一步包括重復(fù)所述目標(biāo)像素的選擇,所述第一、第二、第三預(yù)測值的計(jì)算,以及所述第一、第二、第三預(yù)測值的平均,直到所述目前區(qū)塊的所有像素的加權(quán)平均預(yù)測值均已計(jì)算得到為止; 收集所述目前區(qū)塊的像素的所述加權(quán)平均預(yù)測值以得到一預(yù)測區(qū)塊;以及 輸出所述預(yù)測區(qū)塊以得到一內(nèi)部預(yù)測區(qū)塊。
9.一種進(jìn)行視頻數(shù)據(jù)壓縮的方法,其特征在于,所述方法包括下列步驟 決定一目標(biāo)區(qū)塊的一內(nèi)部預(yù)測模式;自多個(gè)轉(zhuǎn)換型式選取對應(yīng)所述內(nèi)部預(yù)測模式的一目標(biāo)轉(zhuǎn)換型式;取得所述目標(biāo)區(qū)塊的多個(gè)預(yù)測殘余值;以及依據(jù)所述目標(biāo)轉(zhuǎn)換型式將所述預(yù)測殘余值轉(zhuǎn)換為多個(gè)轉(zhuǎn)換值;其中對應(yīng)于所述內(nèi)部預(yù)測模式的所述轉(zhuǎn)換型式依據(jù)預(yù)測殘余值的變異數(shù)大小被分類。
10.如權(quán)利要求9所述的進(jìn)行視頻數(shù)據(jù)壓縮的方法,其特征在于,所述目標(biāo)轉(zhuǎn)換型式的 選取包括依據(jù)所述內(nèi)部預(yù)測模式及所述變異數(shù)大小查詢一表格。
11.如權(quán)利要求9所述的進(jìn)行視頻數(shù)據(jù)壓縮的方法,其特征在于,所述目標(biāo)轉(zhuǎn)換型式的 選取包括計(jì)算對應(yīng)于所述內(nèi)部預(yù)測模式的所述轉(zhuǎn)換型式的多個(gè)位元率_失真最佳化成本;以及 自所述轉(zhuǎn)換型式選取具有最低的位元率-失真最佳化成本的轉(zhuǎn)換型式為所述目標(biāo)轉(zhuǎn) 換型式,其中將所述目標(biāo)轉(zhuǎn)換型式會被編碼以供解碼端解碼。
12.如權(quán)利要求9所述的進(jìn)行視頻數(shù)據(jù)壓縮的方法,其特征在于,所述預(yù)測殘余值的轉(zhuǎn) 換包括依據(jù)所述目標(biāo)轉(zhuǎn)換型式?jīng)Q定一特定掃描順序;以及 依據(jù)所述特定掃描順序掃描所述目標(biāo)區(qū)塊的像素。
13.如權(quán)利要求9所述的進(jìn)行視頻數(shù)據(jù)壓縮的方法,其特征在于,所述方法進(jìn)一步包括取得所述目標(biāo)區(qū)塊的像素的多個(gè)預(yù)測值;以及自所述目標(biāo)區(qū)塊的像素的多個(gè)原始值減去所述預(yù)測值,以得到所述預(yù)測殘余值。
14.一種視頻編碼器,其特征在于,所述視頻編碼器接收一目前區(qū)塊,其中一左方區(qū) 塊位于所述目前區(qū)塊的左方,而一上方區(qū)塊位于所述目前區(qū)塊的上方,所述視頻編碼器包 括一內(nèi)部預(yù)測模塊,決定所述左方區(qū)塊的第一內(nèi)部預(yù)測模式、所述上方區(qū)塊的第二內(nèi)部 預(yù)測模式,以及所述目前區(qū)塊的第三內(nèi)部預(yù)測模式,自所述目前區(qū)塊的多個(gè)像素選取一目 標(biāo)像素,依據(jù)所述第一內(nèi)部預(yù)測模式計(jì)算所述目標(biāo)像素的一第一預(yù)測值,依據(jù)所述第二內(nèi) 部預(yù)測模式計(jì)算所述目標(biāo)像素的一第二預(yù)測值,依據(jù)所述第三內(nèi)部預(yù)測模式計(jì)算所述目標(biāo) 像素的一第三預(yù)測值,以及平均所述第一預(yù)測值、所述第二預(yù)測值、以及所述第三預(yù)測值, 以得到所述目標(biāo)像素的一加權(quán)平均預(yù)測值;以及一減除模塊,自所述目標(biāo)像素減去所述加權(quán)平均預(yù)測值以得到所述目標(biāo)像素的一預(yù)測 殘余值。
15.如權(quán)利要求14所述的視頻編碼器,其特征在于,所述內(nèi)部預(yù)測模塊依據(jù)所述目標(biāo) 像素在所述目前區(qū)塊中的位置決定一組加權(quán)參數(shù),以及依據(jù)所述加權(quán)參數(shù)對所述第一內(nèi)部 預(yù)測模式、所述第二內(nèi)部預(yù)測模式、以及所述第三內(nèi)部預(yù)測模式進(jìn)行加權(quán)平均,以得到所述 加權(quán)平均預(yù)測值。
16.如權(quán)利要求15所述的視頻編碼器,其特征在于,所述加權(quán)參數(shù)包括對應(yīng)于所述第 一預(yù)測值的一第一加權(quán)參數(shù)、對應(yīng)于所述第二預(yù)測值的一第二加權(quán)參數(shù)、以及對應(yīng)于所述 第三預(yù)測值的一第三加權(quán)參數(shù)。
17.如權(quán)利要求15所述的視頻編碼器,其特征在于,所述內(nèi)部預(yù)測模塊依據(jù)所述第三 內(nèi)部預(yù)測模式以及所述目標(biāo)像素在所述目前區(qū)塊中的位置而決定所述加權(quán)參數(shù)。
18.如權(quán)利要求17所述的視頻編碼器,其特征在于,所述內(nèi)部預(yù)測模塊依據(jù)所述第三 內(nèi)部預(yù)測模式以及所述目標(biāo)像素在所述目前區(qū)塊中的位置而查詢一加權(quán)參數(shù)表,從而得到 所述加權(quán)參數(shù)。
19.如權(quán)利要求15所述的視頻編碼器,其特征在于,所述內(nèi)部預(yù)測模塊依據(jù)對應(yīng)于多 個(gè)預(yù)定加權(quán)參數(shù)的位元率_失真最佳化成本而自所述預(yù)定加權(quán)參數(shù)選出所述加權(quán)參數(shù),而 所述預(yù)定加權(quán)參數(shù)分別對應(yīng)于多個(gè)內(nèi)部預(yù)測模式。
20.如權(quán)利要求14所述的視頻編碼器,其特征在于,所述內(nèi)部預(yù)測模塊重復(fù)所述目標(biāo) 像素的選擇,所述第一、第二、第三預(yù)測值的計(jì)算,以及所述第一、第二、第三預(yù)測值的平均, 直到所述目前區(qū)塊的所有像素的加權(quán)平均預(yù)測值均已計(jì)算得到為止;且所述內(nèi)部預(yù)測模塊 收集所述目前區(qū)塊的像素的所述加權(quán)平均預(yù)測值以得到一第一預(yù)測區(qū)塊,收集所述目前區(qū) 塊的像素的所述第三預(yù)測值以得到一第二預(yù)測區(qū)塊,計(jì)算所述第一預(yù)測區(qū)塊的一第一位元 率_失真最佳化成本,計(jì)算所述第二預(yù)測區(qū)塊的一第二位元率_失真最佳化成本,比較所述 第一位元率_失真最佳化成本與所述第二位元率_失真最佳化成本以得到一比較結(jié)果,以 及依據(jù)所述比較結(jié)果自所述第一預(yù)測區(qū)塊與所述第二預(yù)測區(qū)塊選取一內(nèi)部預(yù)測區(qū)塊作為 輸出。
21.如權(quán)利要求14所述的視頻編碼器,其特征在于,所述內(nèi)部預(yù)測模塊重復(fù)所述目標(biāo) 像素的選擇,所述第一、第二、第三預(yù)測值的計(jì)算,以及所述第一、第二、第三預(yù)測值的平均, 直到所述目前區(qū)塊的所有像素的加權(quán)平均預(yù)測值均已計(jì)算得到為止;且所述內(nèi)部預(yù)測模塊 收集所述目前區(qū)塊的像素的所述加權(quán)平均預(yù)測值以得到一預(yù)測區(qū)塊,以及輸出所述預(yù)測區(qū) 塊以得到一內(nèi)部預(yù)測區(qū)塊。
22.一種視頻編碼器,其特征在于,所述視頻編碼器包括一內(nèi)部預(yù)測模塊,計(jì)算一目標(biāo)區(qū)塊的多個(gè)預(yù)測像素值;一減除模塊,自所述目標(biāo)區(qū)塊的多個(gè)原始像素值減去所述預(yù)測像素值,以得到所述目 標(biāo)像素的多個(gè)預(yù)測殘余值;以及一轉(zhuǎn)換模塊,決定所述目標(biāo)區(qū)塊的一內(nèi)部預(yù)測模式,自多個(gè)轉(zhuǎn)換型式選取對應(yīng)于所述 內(nèi)部預(yù)測模式的一目標(biāo)轉(zhuǎn)換型式,以及依據(jù)所述目標(biāo)轉(zhuǎn)換型式將所述預(yù)測殘余值轉(zhuǎn)換為多 個(gè)轉(zhuǎn)換值;其中對應(yīng)于所述內(nèi)部預(yù)測模式的所述轉(zhuǎn)換型式依據(jù)預(yù)測殘余值的變異數(shù)大小被分類。
23.如權(quán)利要求22所述的視頻編碼器,其特征在于,所述轉(zhuǎn)換模塊依據(jù)所述內(nèi)部預(yù)測 模式及所述變異數(shù)大小查詢一表格,以得到所述目標(biāo)轉(zhuǎn)換型式。
24.如權(quán)利要求22所述的視頻編碼器,其特征在于,所述轉(zhuǎn)換模塊計(jì)算對應(yīng)于所述內(nèi) 部預(yù)測模式的所述轉(zhuǎn)換型式的多個(gè)位元率-失真最佳化成本,以及自所述轉(zhuǎn)換型式選取具 有最低的位元率-失真最佳化成本的轉(zhuǎn)換型式為所述目標(biāo)轉(zhuǎn)換型式,其中將所述目標(biāo)轉(zhuǎn)換 型式會被編碼以供解碼端解碼。
25.如權(quán)利要求22所述的視頻編碼器,其特征在于,所述轉(zhuǎn)換模塊依據(jù)所述目標(biāo)轉(zhuǎn)換 型式?jīng)Q定一特定掃描順序,以及依據(jù)所述特定掃描順序掃描所述目標(biāo)區(qū)塊的像素以得到進(jìn) 行轉(zhuǎn)換的所述預(yù)測殘余值。
全文摘要
本發(fā)明公開了一種進(jìn)行內(nèi)部預(yù)測的方法。首先,決定一左方區(qū)塊的第一內(nèi)部預(yù)測模式,一上方區(qū)塊的第二內(nèi)部預(yù)測模式及一目前區(qū)塊的第三內(nèi)部預(yù)測模式,其中左方區(qū)塊位于目前區(qū)塊的左方,上方區(qū)塊位于目前區(qū)塊的上方。接著自目前區(qū)塊的多個(gè)像素選取一目標(biāo)像素。依據(jù)第一內(nèi)部預(yù)測模式計(jì)算目標(biāo)像素的一第一預(yù)測值,依據(jù)第二內(nèi)部預(yù)測模式計(jì)算目標(biāo)像素的一第二預(yù)測值,依據(jù)第三內(nèi)部預(yù)測模式計(jì)算目標(biāo)像素的一第三預(yù)測值。最后,平均第一預(yù)測值、第二預(yù)測值及第三預(yù)測值,得到一加權(quán)平均預(yù)測值。通過本發(fā)明實(shí)施例的內(nèi)部預(yù)測方法,可以實(shí)現(xiàn)依據(jù)鄰近區(qū)塊的內(nèi)部預(yù)測模式對目前區(qū)塊進(jìn)行內(nèi)部預(yù)測。本發(fā)明還公開了視頻編碼器及進(jìn)行視頻數(shù)據(jù)壓縮的方法。
文檔編號H04N7/26GK101945270SQ200910177838
公開日2011年1月12日 申請日期2009年9月25日 優(yōu)先權(quán)日2009年7月6日
發(fā)明者張凱 申請人:聯(lián)發(fā)科技(新加坡)私人有限公司