本申請(qǐng)是分案申請(qǐng),其原案申請(qǐng)是申請(qǐng)?zhí)枮閜ct/kr2011/004892、申請(qǐng)日為2011年7月4日的pct申請(qǐng)并且于2013年2月1日進(jìn)入中國(guó)國(guó)家階段,國(guó)家申請(qǐng)?zhí)枮?01180038054.1,名稱為“用于幀內(nèi)預(yù)測(cè)的編碼/解碼圖像的裝置和方法”。
本發(fā)明針對(duì)解碼圖像,并且更具體地針對(duì)可以應(yīng)用于幀內(nèi)預(yù)測(cè)的解碼圖像的裝置。
背景技術(shù):
在一般圖像壓縮方法中,一個(gè)圖片被分為多個(gè)塊,每個(gè)塊具有預(yù)定尺寸。幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)技術(shù)用于去除圖片之間的冗余,以便增加壓縮效率。
使用幀間預(yù)測(cè)的編碼圖像的方法根據(jù)當(dāng)前塊周圍的塊(已經(jīng)編碼的,諸如當(dāng)前幀(或圖片)中上塊、左塊、左上塊和右上塊)中像素值基于塊之間的像素相關(guān)性來預(yù)測(cè)像素值,并且傳送它們的預(yù)測(cè)誤差。
在幀間編碼中,在若干預(yù)測(cè)方向之間(水平、垂直、對(duì)角或平均等),選擇最佳預(yù)測(cè)模式(預(yù)測(cè)方向)以適合于要被編碼的圖像的特性。
在現(xiàn)有h.264/avc標(biāo)準(zhǔn)中,在幀間預(yù)測(cè)編碼應(yīng)用于4×4像素單元塊的情況下,在9個(gè)預(yù)測(cè)模式之中(預(yù)測(cè)模式0至8),每4×4像素塊選擇一個(gè)最適當(dāng)?shù)念A(yù)測(cè)模式,并且基于每4×4像素塊對(duì)選擇的預(yù)測(cè)模式(預(yù)測(cè)方向)進(jìn)行編碼。此外,在幀間預(yù)測(cè)編碼應(yīng)用于16×16像素單元塊的情況下,在4個(gè)預(yù)測(cè)模式之中(垂直預(yù)測(cè)、水平預(yù)測(cè)、平均預(yù)測(cè)和平面預(yù)測(cè)),每16×16像素塊選擇一個(gè)最適當(dāng)?shù)念A(yù)測(cè)模式,并且基于每16×16像素塊對(duì)選擇的預(yù)測(cè)模式(預(yù)測(cè)方向)進(jìn)行編碼。
在現(xiàn)有幀內(nèi)編碼中,僅對(duì)m×m方型對(duì)稱像素塊(m=4,8或16)預(yù)定義預(yù)定數(shù)目的預(yù)測(cè)方向,以執(zhí)行幀內(nèi)預(yù)測(cè)編碼。也就是說,傳統(tǒng)地,僅m×m尺寸對(duì)稱分割被應(yīng)用于幀間預(yù)測(cè)編碼,使得方型對(duì)稱塊用作幀內(nèi)預(yù)測(cè)編碼的基本單元。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
因?yàn)楫?dāng)僅使用傳統(tǒng)對(duì)稱像素塊執(zhí)行幀內(nèi)預(yù)測(cè)時(shí)增加編譯效率存在限制,所以需要增加編譯效率的方法。
特別地,因?yàn)楫?dāng)僅使用對(duì)稱像素塊對(duì)具有hd(高清)或更高分辨率的高分辨率圖像執(zhí)行幀內(nèi)預(yù)測(cè)時(shí)增加編譯效率存在限制,所以需要增加編譯效率的方法。
本發(fā)明的第一個(gè)目的是提供一種可應(yīng)用于具有hd(高清)或更高分辨率的高分辨率圖像的幀內(nèi)預(yù)測(cè)編碼方法和裝置。
本發(fā)明的第二個(gè)目的是提供一種可應(yīng)用于具有hd(高清)或更高分辨率的高分辨率圖像的幀內(nèi)預(yù)測(cè)解碼方法和裝置。
技術(shù)方案
為了實(shí)現(xiàn)本發(fā)明的上述第一個(gè)目的,根據(jù)本發(fā)明的一方面,對(duì)圖像編碼的方法包括如下步驟:通過選擇性地使用多個(gè)預(yù)測(cè)模式之一對(duì)通過將非對(duì)稱分割和幾何分割中的至少一種應(yīng)用于輸入圖像劃分的預(yù)測(cè)單元執(zhí)行幀內(nèi)預(yù)測(cè)編碼,以便對(duì)輸入圖像進(jìn)行預(yù)測(cè)編碼;以及對(duì)殘差執(zhí)行變換、量化和熵編碼,所述殘差是通過幀內(nèi)預(yù)測(cè)所預(yù)測(cè)的預(yù)測(cè)單元與當(dāng)前的預(yù)測(cè)單元之間的差??梢酝ㄟ^沿垂直方向、水平方向、平均值預(yù)測(cè)、對(duì)角右下方向和對(duì)角左下方向中的一個(gè)使用在早于預(yù)測(cè)單元編碼的塊中的像素值,預(yù)測(cè)非對(duì)稱分割的預(yù)測(cè)單元中的像素值。
為了實(shí)現(xiàn)本發(fā)明的上述第二個(gè)目的,根據(jù)本發(fā)明的一方面,對(duì)圖像解碼的方法包括如下步驟:通過對(duì)接收到的比特流進(jìn)行熵解碼并且通過對(duì)殘差執(zhí)行逆量化和逆變換來恢復(fù)殘差;通過選擇性地使用多個(gè)預(yù)測(cè)模式之一對(duì)通過應(yīng)用非對(duì)稱分割和幾何分割中的至少一種劃分的預(yù)測(cè)單元執(zhí)行幀內(nèi)預(yù)測(cè)編碼,生成預(yù)測(cè)單元;以及通過將殘差與預(yù)測(cè)相加來恢復(fù)圖像。
可以通過沿垂直方向、水平方向、平均值預(yù)測(cè)、對(duì)角右下方向和對(duì)角左下方向中的一個(gè)使用在早于預(yù)測(cè)單元編碼的塊中的像素值,預(yù)測(cè)非對(duì)稱分割的預(yù)測(cè)單元中的像素值??梢酝ㄟ^沿在整個(gè)360°內(nèi)的全方向上以相同預(yù)定角度形成的線,使用在早于預(yù)測(cè)單元編碼的塊中的像素值,預(yù)測(cè)非對(duì)稱分割的預(yù)測(cè)單元中的像素值。可以基于限定斜率的dx和dy的信息,沿具有與具有沿水平方向的dx和沿垂直方向的dy的斜率相對(duì)應(yīng)的角度的線,使得非對(duì)稱分割的預(yù)測(cè)單元中的像素值經(jīng)受幀內(nèi)預(yù)測(cè)。可以使用早于預(yù)測(cè)單元編碼的左側(cè)塊和上端塊中的垂直和/或水平方向?qū)?yīng)像素值,獲得位于預(yù)測(cè)單元的最右和最下端的像素的預(yù)測(cè)像素值??梢酝ㄟ^使用早于預(yù)測(cè)單元編碼的左側(cè)塊和上端塊中的垂直和/或水平方向的對(duì)應(yīng)像素值以及預(yù)測(cè)單元中的垂直和/或水平方向的對(duì)應(yīng)內(nèi)像素值,執(zhí)行線性插值,來獲得位于預(yù)測(cè)單元的最右和最下端的像素的像素值??梢酝ㄟ^使用與當(dāng)前預(yù)測(cè)單元相鄰放置的先前編碼的左側(cè)塊和上端塊中的垂直和/或水平方向的像素值以及與第n-1圖片的對(duì)應(yīng)預(yù)測(cè)單元相鄰放置的先前編碼的左側(cè)塊和上端塊中的垂直和/或水平方向的對(duì)應(yīng)像素值,獲得平均值或執(zhí)行線性插值,來獲得位于第n圖片的當(dāng)前的預(yù)測(cè)單元的最右和最下端的像素的預(yù)測(cè)像素值。
為了實(shí)現(xiàn)本發(fā)明的上述第二個(gè)目的,根據(jù)本發(fā)明的另一方面,用于對(duì)圖像解碼的裝置包括:逆變換單元,該逆變換單元被配置為通過對(duì)接收到的比特流進(jìn)行熵解碼并且通過對(duì)殘差執(zhí)行逆量化和逆變換來重構(gòu)殘差;幀內(nèi)預(yù)測(cè)單元,該幀內(nèi)預(yù)測(cè)單元被配置為通過選擇性地使用多個(gè)預(yù)測(cè)模式之一對(duì)通過應(yīng)用非對(duì)稱分割和幾何分割中的至少一種劃分的預(yù)測(cè)單元執(zhí)行幀內(nèi)預(yù)測(cè)編碼,生成預(yù)測(cè)單元;以及加法器,該加法器被配置為通過將殘差與預(yù)測(cè)相加來重構(gòu)圖像。
有益效果
根據(jù)上述幀內(nèi)預(yù)測(cè)編碼/解碼方法和裝置,幀內(nèi)預(yù)測(cè)編碼/解碼方法和裝置可以通過對(duì)具有非對(duì)稱形狀或具有尺寸m×n的任何幾何形狀的像素塊應(yīng)用幀內(nèi)預(yù)測(cè)編碼/解碼來增強(qiáng)具有hd或超hd分辨率的高分辨率圖像的編碼效率。
附圖說明
圖1是圖示根據(jù)本發(fā)明的一個(gè)示例實(shí)施例的遞歸編譯單元結(jié)構(gòu)的概念圖。
圖2至圖5是圖示根據(jù)本發(fā)明的一個(gè)示例實(shí)施例的非對(duì)稱分割方法的概念圖。
圖6是圖示根據(jù)本發(fā)明的一個(gè)示例實(shí)施例的使用非對(duì)稱像素塊的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。
圖7至圖9是圖示根據(jù)本發(fā)明的另一示例實(shí)施例的使用非對(duì)稱像素塊的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。
圖10是圖示根據(jù)本發(fā)明的另一示例實(shí)施例的基于平面預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。
圖11是圖示根據(jù)本發(fā)明的另一示例實(shí)施例的基于平面預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。
圖12是圖示根據(jù)本發(fā)明的另一示例實(shí)施例的幾何分割處理的概念圖。
圖13是圖示根據(jù)本發(fā)明的一個(gè)示例實(shí)施例的執(zhí)行幀內(nèi)預(yù)測(cè)編碼的圖像編碼裝置的配置的框圖。
圖14是圖示根據(jù)本發(fā)明的一個(gè)示例實(shí)施例的應(yīng)用幀內(nèi)預(yù)測(cè)編碼的圖像編碼方法的流程圖。
圖15是圖示根據(jù)本發(fā)明的一個(gè)示例實(shí)施例的圖像解碼裝置的配置的框圖。
圖16是圖示根據(jù)本發(fā)明的一個(gè)示例實(shí)施例的圖像解碼方法的流程圖。
具體實(shí)施方式
可以對(duì)本發(fā)明進(jìn)行各種修改,并且本發(fā)明可以具有多個(gè)實(shí)施例。參照附圖詳細(xì)描述具體實(shí)施例。
然而,本發(fā)明不限于特定實(shí)施例,并且應(yīng)當(dāng)理解本發(fā)明包括在本發(fā)明的精神和技術(shù)范圍內(nèi)包括的所有修改、等同物或替換。
術(shù)語“第一”和“第二”可以用于描述各種組件,但是組件不限于此。這些術(shù)語僅用于將組件彼此區(qū)分。例如,第一組件也可以命名為第二組件,并且類似地,第二組件可以命名為第一組件。術(shù)語“和/或”包括如在此描述的多個(gè)相關(guān)項(xiàng)的組合或者多個(gè)相關(guān)項(xiàng)的任何一個(gè)。
當(dāng)組件“連接”或“耦合”到另一組件時(shí),組件可以直接連接或耦合到另一組件。相反,當(dāng)組件直接連接或耦合到另一組件時(shí),沒有組件干預(yù)。
給出在此使用的術(shù)語來描述實(shí)施例,但是并不意在限制本發(fā)明。單數(shù)術(shù)語包括復(fù)數(shù)術(shù)語,除非明確指明。如在此使用的,術(shù)語“包括”或“具有”用于指示存在如在此描述的特征、數(shù)字、步驟、操作、組件、部分或其組合,但是不排除添加一個(gè)或多個(gè)特征、數(shù)字、步驟、操作、組件、部分或其組合的存在或可能性。
除非另有限定,在此使用的包括技術(shù)或科學(xué)術(shù)語的所有術(shù)語具有與本領(lǐng)域普通技術(shù)人員通常理解的含義相同的含義。如通常使用的在字典中定義的這樣的術(shù)語應(yīng)當(dāng)被解釋為與相關(guān)技術(shù)領(lǐng)域中理解的含義相同的含義,并且除非另外定義,不應(yīng)當(dāng)理想地或過于正式地被理解。
在下文中,將參照附圖更加詳細(xì)地描述本發(fā)明的優(yōu)選實(shí)施例。為了方便描述,在整個(gè)附圖和說明書中,相同的參考標(biāo)號(hào)用于表示相同的組件,并且不對(duì)其進(jìn)行重復(fù)描述。
根據(jù)本發(fā)明的示例實(shí)施例,可以使用可應(yīng)用于具有hd(高清晰度)或更高分辨率的高分辨率圖像的尺寸32×32像素或更大的擴(kuò)展宏塊來執(zhí)行包括幀間/幀內(nèi)預(yù)測(cè)、變換、量化和熵編碼的編碼和解碼,并且可以使用下面將描述的遞歸編譯單元(cu)結(jié)構(gòu)進(jìn)行編碼和解碼。
圖1是圖示根據(jù)本發(fā)明的實(shí)施例的遞歸編譯單元結(jié)構(gòu)的概念圖。
參照?qǐng)D1,每個(gè)編譯單元cu具有正方形,并且可以具有可變尺寸2n×2n(單位:像素)??梢曰诿總€(gè)編譯單元來執(zhí)行幀間預(yù)測(cè)、幀內(nèi)預(yù)測(cè)、變換、量化和熵編碼。編譯單元cu可以包括最大編譯單元lcu和最小編譯單元scu。最大編譯單元lcu或最小編譯單元scu的尺寸可以通過2的冪來表示,其可以是8或者更大。
根據(jù)示例實(shí)施例,編譯單元cu可以具有遞歸樹結(jié)構(gòu)。圖1圖示最大編譯單元lcu(或cu0)的一邊具有尺寸2n0(其為128(n0=64))而最大等級(jí)或等級(jí)深度為5的示例??梢酝ㄟ^一系列標(biāo)記來表示遞歸結(jié)構(gòu)。例如,在等級(jí)或等級(jí)深度為k的編譯單元cuk具有標(biāo)記值0的情況下,在當(dāng)前等級(jí)或等級(jí)深度對(duì)編譯單元cuk執(zhí)行編譯。當(dāng)標(biāo)記值為1時(shí),將編譯單元cuk分成4個(gè)獨(dú)立的編譯單元cuk+1,編碼單元cuk+1具有等級(jí)或等級(jí)深度k+1且尺寸為nk+1×nk+1。在此情況下,可以遞歸地處理編譯單元cuk+1,直到其等級(jí)或等級(jí)深度達(dá)到可允許最大等級(jí)或等級(jí)深度。當(dāng)編譯單元cuk+1的等級(jí)或等級(jí)深度與可允許最大等級(jí)或等級(jí)深度(如圖4所示,例如,4)相同時(shí),不允許進(jìn)一步劃分。
最大編譯單元lcu和最小編譯單元scu的尺寸可以包括在序列參數(shù)集(sps)中。序列參數(shù)集sps可以包括最大編譯單元lcu的可允許最大等級(jí)或等級(jí)深度。例如,在圖2中圖示的示例中,可允許最大等級(jí)或等級(jí)深度是5,并且當(dāng)最大編譯單元lcu的一邊具有尺寸128像素時(shí),可以允許五個(gè)編譯單元尺寸,諸如128×128(lcu)、64×64、32×32、16×16和8×8(scu)。也就是說,給定最大編譯單元lcu的尺寸和可允許最大等級(jí)或等級(jí)深度,可以確定編譯單元的可允許尺寸。
使用上述遞歸編譯單元可以提供以下優(yōu)點(diǎn)。
第一,可以支持大于現(xiàn)有16×16宏塊的尺寸的尺寸。如果感興趣的圖像區(qū)域是均勻的,則與使用多個(gè)小塊時(shí)相比,最大編譯單元lcu可以用較少數(shù)目的符號(hào)表示感興趣的圖像區(qū)域。
第二,與使用固定尺寸的宏塊時(shí)相比,可以支持任何尺寸的最大編譯單元lcu,使得對(duì)于各種內(nèi)容、應(yīng)用和裝置,可以容易地優(yōu)化編解碼器。也就是說,可以適當(dāng)?shù)剡x擇最大編譯單元lcu的尺寸、最大等級(jí)或等級(jí)深度,使得除了目標(biāo)應(yīng)用之外,可以優(yōu)化分層塊結(jié)構(gòu)。
第三,不管是宏塊、子宏塊還是擴(kuò)展宏塊,可以使用單個(gè)單元類型的編譯單元lcu,使得可以僅通過使用最大編譯單元lcu、最大等級(jí)(或最大等級(jí)深度)和一系列標(biāo)記簡(jiǎn)單表示多級(jí)分層結(jié)構(gòu)。當(dāng)與尺寸獨(dú)立的語法表示一起使用時(shí),編譯單元lcu足以指示用于剩余編譯工具的一個(gè)通用尺寸語法項(xiàng),并且這樣的一致性可以簡(jiǎn)化實(shí)際的解析處理。最大等級(jí)值(或最大等級(jí)深度值)可以是任何值,并且可以具有大于現(xiàn)有h.264/avc編碼方案中的允許值。通過使用尺寸獨(dú)立的語法表示按照與編譯單元cu的尺寸獨(dú)立的一致方式指示所有語法元素??梢赃f歸地指示編譯單元的劃分處理,并且葉編譯單元(該等級(jí)中的最后一個(gè)編譯單元)的語法元素可以被限定為相同尺寸而不考慮編譯單元的尺寸。上述表示在減小解析復(fù)雜度方面非常有效,并且當(dāng)允許高等級(jí)或等級(jí)深度時(shí),可以對(duì)這種表示作出進(jìn)一步澄清。
如果分層劃分處理完成,則可以在編譯單元分層單元的葉節(jié)點(diǎn)上執(zhí)行幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè),而無需進(jìn)一步劃分。此葉編譯單元用作預(yù)測(cè)單元pu,其是幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)的基本單元。
對(duì)于幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè),在葉編譯單元上實(shí)現(xiàn)分割。也就是說,在預(yù)測(cè)單元pu上執(zhí)行分割。在此,預(yù)測(cè)單元pu是幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)的基本單元,并且可以是現(xiàn)有宏塊單元或子宏塊單元,或者尺寸為32×32像素或更大的擴(kuò)展宏塊單元或編譯單元。
與預(yù)測(cè)相關(guān)的所有信息(運(yùn)動(dòng)向量、運(yùn)動(dòng)向量之間的差等)可以以作為幀間預(yù)測(cè)的基本單元的預(yù)測(cè)單元為單位被傳送到解碼器。
對(duì)于幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè),分割可以包括非對(duì)稱分割,除了正方形之外的任何形狀的幾何分割,或者沿邊緣方向的分割,現(xiàn)將更加詳細(xì)地對(duì)其進(jìn)行描述。
圖2至圖5是圖示根據(jù)實(shí)施例的非對(duì)稱分割的概念圖。
當(dāng)用于幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)的預(yù)測(cè)單元pu具有m×m(m是自然數(shù),尺寸單位是像素)的尺寸時(shí),沿編譯單元的水平或垂直方向執(zhí)行非對(duì)稱分割。圖3至圖5圖示預(yù)測(cè)單元pu的尺寸是64×64、32×32、16×16、8×8像素的示例。圖3和圖4圖示其中預(yù)測(cè)單元pu的尺寸大于作為宏塊尺寸16×16像素的非對(duì)稱分割。
參照?qǐng)D2,在尺寸為64×64的情況下,沿水平方向進(jìn)行非對(duì)稱分割,以將預(yù)測(cè)單元分成尺寸為64×16的部分p11a和尺寸為64×48的部分p21a,或者分成尺寸為64×48的部分p12a和尺寸為64×16的部分p22a?;蛘撸卮怪狈较驁?zhí)行非對(duì)稱分割,以將預(yù)測(cè)單元分成尺寸為16×64的部分p13a和尺寸為48×64的部分p23a,或者分成尺寸為48×64的部分p14a和尺寸為16×64的部分p24a。
參照?qǐng)D3,在尺寸為32×32的情況下,預(yù)測(cè)單元可以經(jīng)受水平方向非對(duì)稱分割,以分成尺寸為32×8的部分p11b和尺寸為32×24的部分p21b,或者分成尺寸為32×24的部分p12b和尺寸為32×8的部分p22b?;蛘?,預(yù)測(cè)單元可以經(jīng)受垂直方向非對(duì)稱分割,以分成尺寸為8×32的部分p13b和尺寸為24×32的部分p23b,或者分成尺寸為24×32的部分p14b和尺寸為8×32的部分p24b。
參照?qǐng)D4,在尺寸為16×16的情況下,預(yù)測(cè)單元pu可以經(jīng)受水平方向非對(duì)稱分割,以分成尺寸為16×4的部分p11c和尺寸為16×12的部分p21c,或者分成尺寸為16×12的上部分和尺寸為16×4的下部分(盡管在附圖中沒有示出)。此外,盡管在附圖中沒有示出,但是預(yù)測(cè)單元pu可以經(jīng)受垂直方向非對(duì)稱分割,以分成尺寸為4×16的左部分和尺寸為12×16的右部分,或者分成尺寸為12×16的左部分和尺寸為4×16的右部分。
參照?qǐng)D5,在尺寸為8×8的情況下,預(yù)測(cè)單元pu可以經(jīng)受水平方向非對(duì)稱分割,以分成尺寸為8×2的部分p11d和尺寸為8×6的部分p21d,或者分成尺寸為8×6的上部分和尺寸為8×2的下部分(盡管在附圖中沒有示出)。此外,盡管在附圖中沒有示出,但是預(yù)測(cè)單元pu可以經(jīng)受垂直方向非對(duì)稱分割,以分成尺寸為2×8的左部分和尺寸為6×8的右部分,或者分成尺寸為6×8的左部分和尺寸為2×8的右部分。
圖6是圖示根據(jù)本發(fā)明的實(shí)施例的使用非對(duì)稱像素塊的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。
圖7至9是圖示根據(jù)本發(fā)明的另一實(shí)施例的使用非對(duì)稱像素塊的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。圖6至圖9圖示了當(dāng)使用結(jié)合圖2至圖5描述的非對(duì)稱分割時(shí)幀內(nèi)預(yù)測(cè)的示例。然而,本發(fā)明不限于此。圖6至圖9所示的幀內(nèi)預(yù)測(cè)編碼方法也可應(yīng)用于使用圖2至圖5中所示的各種類型的非對(duì)稱分割。
圖6是用于描述對(duì)尺寸為8×2的部分p11d執(zhí)行幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式的示圖,該部分p11d通過在水平方向上對(duì)尺寸為8×8的預(yù)測(cè)單元pu執(zhí)行非對(duì)稱分割來獲得。
參照?qǐng)D6,使用沿預(yù)測(cè)方向在先前編碼的塊中的像素值來預(yù)測(cè)尺寸為8×2的部分p11d中的像素值,所述預(yù)測(cè)方向包括垂直方向(預(yù)測(cè)模式0)、水平方向(預(yù)測(cè)模式1)、平均值預(yù)測(cè)(預(yù)測(cè)模式2)、對(duì)角右下方向(預(yù)測(cè)模式3)和對(duì)角左下方向(預(yù)測(cè)模式4)。
例如,在預(yù)測(cè)模式0的情況下,由于預(yù)測(cè)像素值處于尺寸為8×2的部分p11d中,使用先前編碼的上塊中沿垂直方向放置的像素值。
在預(yù)測(cè)模式1的情況下,由于預(yù)測(cè)像素值處于尺寸為8×2的部分p11d中,使用先前編碼的左塊中沿水平方向放置的像素值。
在預(yù)測(cè)模式2的情況下,由于預(yù)測(cè)像素值處于尺寸為8×2的部分p11d中,使用先前編碼的左塊和上塊中的像素的平均值。
在預(yù)測(cè)模式3的情況下,由于預(yù)測(cè)像素值處于尺寸為8×2的部分p11d中,使用先前編碼的上塊中沿對(duì)角右下方向放置的像素值。在預(yù)測(cè)模式3的情況下,當(dāng)部分p11d的上塊中的像素不充足時(shí),可以使用右上塊中的兩個(gè)像素彌補(bǔ)。
在預(yù)測(cè)模式4的情況下,由于預(yù)測(cè)像素值處于尺寸為8×2的部分p11d中,使用先前編碼的左上塊中沿對(duì)角左下方向放置的像素值。
圖7圖示對(duì)尺寸為8×6的部分p21d執(zhí)行幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式,該部分p21d通過在水平方向上對(duì)尺寸為8×8的預(yù)測(cè)單元pu執(zhí)行非對(duì)稱分割來獲得。
參照?qǐng)D7,使用沿預(yù)測(cè)方向在先前編碼的塊中的像素值來預(yù)測(cè)尺寸為8×6的部分p21d中的像素值,所述預(yù)測(cè)方向包括垂直方向(預(yù)測(cè)模式0)、水平方向(預(yù)測(cè)模式1)、平均值預(yù)測(cè)(預(yù)測(cè)模式2)、對(duì)角右下方向(預(yù)測(cè)模式3)和對(duì)角左下方向(預(yù)測(cè)模式4)。
例如,在預(yù)測(cè)模式0的情況下,由于預(yù)測(cè)像素值位于尺寸為8×6的部分p21d中,使用先前編碼的上塊中沿垂直方向放置的像素值。
在預(yù)測(cè)模式1的情況下,由于預(yù)測(cè)像素值處于尺寸為8×6的部分p21d中,使用先前編碼的左塊中沿水平方向放置的像素值。
在預(yù)測(cè)模式2的情況下,由于預(yù)測(cè)像素值處于尺寸為8×6的部分p21d中,使用先前編碼的左塊和上塊中的像素的平均值。
在預(yù)測(cè)模式3的情況下,由于預(yù)測(cè)像素值處于尺寸為8×6的部分p21d中,使用先前編碼的上塊中沿對(duì)角右下方向放置的像素值。在預(yù)測(cè)模式3的情況下,當(dāng)部分p21d的上塊中的像素不充足時(shí),可以使用右上塊中的兩個(gè)像素彌補(bǔ)。
在預(yù)測(cè)模式4的情況下,由于預(yù)測(cè)像素值處于尺寸為8×6的部分p21d中,使用先前編碼的左上塊中沿對(duì)角左下方向放置的像素值。
圖8圖示了對(duì)尺寸為16×4的部分p11c執(zhí)行幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式,該部分p11c通過在水平方向上對(duì)尺寸為16×16的預(yù)測(cè)單元pu執(zhí)行非對(duì)稱分割來獲得。
參照?qǐng)D8,使用沿預(yù)測(cè)方向在先前編碼的塊中的像素值來預(yù)測(cè)尺寸為16×4的部分p11c中的像素值,所述預(yù)測(cè)方向包括垂直方向(預(yù)測(cè)模式0)、水平方向(預(yù)測(cè)模式1)、平均值預(yù)測(cè)(預(yù)測(cè)模式2)、對(duì)角右下方向(預(yù)測(cè)模式3)和對(duì)角左下方向(預(yù)測(cè)模式4)。
例如,在預(yù)測(cè)模式0的情況下,由于預(yù)測(cè)像素值處于尺寸為16×4的部分p11c中,使用先前編碼的上塊中沿垂直方向放置的像素值。
在預(yù)測(cè)模式1的情況下,由于預(yù)測(cè)像素值處于尺寸為16×4的部分p11c中,使用先前編碼的左塊中沿水平方向放置的像素值。
在預(yù)測(cè)模式2的情況下,由于預(yù)測(cè)像素值處于尺寸為16×4的部分p11c中,使用先前編碼的左塊和上塊中的像素的平均值。
在預(yù)測(cè)模式3的情況下,由于預(yù)測(cè)像素值處于尺寸為16×4的部分p11c中,使用先前編碼的上塊中沿對(duì)角右下方向放置的像素值。在預(yù)測(cè)模式3的情況下,當(dāng)部分p11c的上塊中的像素不充足時(shí),可以使用右上塊中的四個(gè)像素彌補(bǔ)。
在預(yù)測(cè)模式4的情況下,由于預(yù)測(cè)像素值處于尺寸為16×4的部分p11c中,使用先前編碼的左上塊中沿對(duì)角左下方向放置的像素值。
圖9圖示了對(duì)尺寸為32×8的部分p11b執(zhí)行幀內(nèi)預(yù)測(cè)的預(yù)測(cè)模式,該部分p11b通過在水平方向上對(duì)尺寸為32×32的預(yù)測(cè)單元pu執(zhí)行非對(duì)稱分割來獲得。
參照?qǐng)D9,使用沿預(yù)測(cè)方向先前編碼的塊中的像素值來預(yù)測(cè)尺寸為32×8的部分p11b中的像素值,所述預(yù)測(cè)方向包括垂直方向(預(yù)測(cè)模式0)、水平方向(預(yù)測(cè)模式1)、平均值預(yù)測(cè)(預(yù)測(cè)模式2)、對(duì)角右下方向(預(yù)測(cè)模式3)和對(duì)角左下方向(預(yù)測(cè)模式4)。
例如,在預(yù)測(cè)模式0的情況下,由于預(yù)測(cè)像素值處于尺寸為32×8的部分p11b中,使用先前編碼的上塊中沿垂直方向放置的像素值。
在預(yù)測(cè)模式1的情況下,由于預(yù)測(cè)像素值處于尺寸為32×8的部分p11b中,使用先前編碼的左塊中沿水平方向放置的像素值。
在預(yù)測(cè)模式2的情況下,由于預(yù)測(cè)像素值處于尺寸為32×8的部分p11b中,使用先前編碼的左塊和上塊中的像素的平均值。
在預(yù)測(cè)模式3的情況下,由于預(yù)測(cè)像素值處于尺寸為32×8的部分p11b中,使用先前編碼的上塊中沿對(duì)角右下方向放置的像素值。在預(yù)測(cè)模式3的情況下,當(dāng)部分p11b的上塊中的像素不充足時(shí),可以使用右上塊中的八個(gè)像素彌補(bǔ)。
在預(yù)測(cè)模式4的情況下,由于預(yù)測(cè)像素值處于尺寸為32×8的部分p11b中,使用先前編碼的左上塊中沿對(duì)角左下方向放置的像素值。
圖6至9圖示了對(duì)于非對(duì)稱分割塊的各個(gè)尺寸的預(yù)測(cè)單元使用預(yù)定數(shù)目預(yù)測(cè)模式的示例,并且對(duì)于每個(gè)預(yù)測(cè)單元還可以使用沿其他方向(未示出)的預(yù)測(cè)模式。例如,可以使用先前編碼的左上塊中的像素值沿在整個(gè)360°內(nèi)全方向上以相同預(yù)定角度(例如,22.5°或11.25°)形成的線執(zhí)行幀內(nèi)預(yù)測(cè)?;蛘?,可以由編碼器預(yù)先指定任何角度,使得沿根據(jù)該指定角度限定的線來執(zhí)行幀內(nèi)預(yù)測(cè)。例如,為了指定角度,可以定義具有沿水平方向的dx和沿垂直方向的dy的斜率,可以將關(guān)于dx和dy的信息從編碼器傳輸?shù)浇獯a器。也可以將預(yù)定角度信息從編碼器傳輸?shù)浇獯a器。
圖10是圖示根據(jù)本發(fā)明的另一實(shí)施例的基于平面預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。
在尺寸為16×16或更大的擴(kuò)展宏塊用于對(duì)具有hd或更高分辨率的高分辨率圖像進(jìn)行編碼或者預(yù)測(cè)單元的尺寸增加到8×8或更大的情況下,如果現(xiàn)有幀內(nèi)預(yù)測(cè)模式應(yīng)用于預(yù)測(cè)單元的最右和最下像素值,則預(yù)測(cè)產(chǎn)生失真,因此使其難以將圖像平滑為平滑圖像。
在這樣的情況下,可以定義單獨(dú)的平面模式,并且當(dāng)激活平面模式標(biāo)記時(shí),如圖10所示,為了獲得預(yù)測(cè)單元的最右且最下像素(1010)的預(yù)測(cè)像素值,可以使用像素(1001和1003)的值和/或預(yù)測(cè)塊的內(nèi)像素的值來執(zhí)行線性插值。像素1001位于先前編碼的預(yù)測(cè)單元的上塊中,并且在垂直方向中與最右且最下像素(1010)相對(duì)應(yīng)。像素1003位于先前編碼的預(yù)測(cè)單元的左塊中,并且在水平方向中與最右且最下像素(1010)相對(duì)應(yīng)。內(nèi)像素是位于預(yù)測(cè)塊內(nèi)的像素,并且內(nèi)像素在水平方向和垂直方向中與最右且最下像素(1010)相對(duì)應(yīng)。
即,當(dāng)激活平面模式標(biāo)記時(shí),如圖10所示,為了獲得預(yù)測(cè)單元的最右且最下像素(例如,像素1010)的預(yù)測(cè)像素值,可以使用像素(1001和1003)的值來執(zhí)行線性插值。像素1001位于先前編碼的預(yù)測(cè)單元的上塊中,并且在垂直方向中與最右且最下像素(1010)相對(duì)應(yīng)。像素1003位于先前編碼的預(yù)測(cè)單元的左塊中,并且在水平方向中與最右且最下像素(1010)相對(duì)應(yīng)。
替代地,當(dāng)激活平面模式標(biāo)記時(shí),如圖10所示,為了獲得預(yù)測(cè)單元的最右且最下像素(例如像素1010)的預(yù)測(cè)像素值,可以使用像素(1001和1003)的值和/或內(nèi)像素的值來執(zhí)行線性插值。像素1001位于先前編碼的預(yù)測(cè)單元的上塊中,并且在垂直方向中與最右且最下像素(1010)相對(duì)應(yīng),并且像素1003位于先前編碼的預(yù)測(cè)單元的左塊中,并且在水平方向中與最右且最下像素(1010)相對(duì)應(yīng)。內(nèi)像素位于預(yù)測(cè)塊內(nèi),并且內(nèi)像素在水平方向和垂直方向中與最右且最下像素(1010)相對(duì)應(yīng)。當(dāng)激活平面模式標(biāo)記時(shí),可以將預(yù)測(cè)單元的最右且最下像素(1010)值從編碼器傳輸?shù)浇獯a器。在此,在如圖10所示的當(dāng)前預(yù)測(cè)單元由8×8個(gè)預(yù)測(cè)塊組成的情況下,先前編碼的左側(cè)塊和上端塊中垂直和/或水平方向的對(duì)應(yīng)像素值(1001,1003)指示與預(yù)測(cè)塊相鄰的已經(jīng)編碼的塊之中左側(cè)塊和上端塊中像素的像素值,位于預(yù)測(cè)單元的最右且最下端的像素1010的水平方向的對(duì)應(yīng)像素值指示像素1003的值,并且位于預(yù)測(cè)單元的最右且最下端的像素1010的垂直方向的對(duì)應(yīng)像素值指示像素1001的值,并且預(yù)測(cè)塊中水平方向的內(nèi)預(yù)測(cè)像素值指示沿像素1003與最右且最下像素1010之間的水平方向放置的至少一個(gè)像素的值,并且預(yù)測(cè)塊中垂直方向的對(duì)應(yīng)內(nèi)預(yù)測(cè)像素值指示沿像素1001與最右且最下像素1010之間的垂直方向布置的至少一個(gè)像素的值。
此外,在激活平面預(yù)測(cè)模式標(biāo)記的情況下,可以通過使用先前編碼的左側(cè)塊和上端塊中的垂直和/或水平方向的對(duì)應(yīng)像素的像素值和/或預(yù)測(cè)單元中垂直和/或水平方向的對(duì)應(yīng)內(nèi)邊界預(yù)測(cè)像素值(例如,垂直和/或水平方向的對(duì)應(yīng)內(nèi)邊界預(yù)測(cè)像素值指示沿像素1003與最右且最下像素1010之間的水平方向放置的至少一個(gè)像素的值或者沿像素1001與最右且最下像素1010之間的垂直方向布置的至少一個(gè)像素的值)執(zhí)行雙線性插值來獲得預(yù)測(cè)單元的內(nèi)像素的預(yù)測(cè)像素值。在此,預(yù)測(cè)單元的內(nèi)像素的預(yù)測(cè)像素值指示預(yù)測(cè)塊中沿水平方向布置的內(nèi)像素的預(yù)測(cè)像素值(由于圖10中示出8×8塊,因此存在8個(gè)水平線,并且預(yù)測(cè)塊中沿水平方向布置的內(nèi)像素的預(yù)測(cè)像素值指示沿8個(gè)水平線的各個(gè)的方向布置的8個(gè)內(nèi)像素的預(yù)測(cè)像素值)或者預(yù)測(cè)塊中沿垂直方向布置的內(nèi)像素的預(yù)測(cè)像素值(由于圖10中示出8×8塊,因此存在8個(gè)垂直線,并且預(yù)測(cè)塊中沿垂直方向布置的內(nèi)像素的預(yù)測(cè)像素值指示沿8個(gè)垂直線的各個(gè)的垂直方向布置的8個(gè)內(nèi)像素的預(yù)測(cè)像素值)。
在圖10中,在獲得預(yù)測(cè)單元的內(nèi)像素的預(yù)測(cè)像素值的情況下,先前編碼的左側(cè)塊和上端塊中垂直和/或水平方向的對(duì)應(yīng)像素值指示與預(yù)測(cè)塊相鄰的先前編碼塊的左側(cè)塊和上端塊中的像素的像素值。在如圖10所示的當(dāng)前預(yù)測(cè)單元由8×8預(yù)測(cè)塊組成的情況下,預(yù)測(cè)單元的最右線的8個(gè)像素(即,從頂部到底部的8個(gè)像素)的水平方向的對(duì)應(yīng)像素值指示沿水平方向與預(yù)測(cè)塊相鄰的先前編碼的左側(cè)塊之中的預(yù)測(cè)單元的最右線的對(duì)應(yīng)像素相同位置處布置的像素的像素值,預(yù)測(cè)單元的最下端線的8個(gè)像素(即,從最左側(cè)到最右側(cè)的8個(gè)像素)的垂直方向的對(duì)應(yīng)像素值指示沿垂直方向與預(yù)測(cè)單元的最下線的對(duì)應(yīng)像素相同位置處布置的像素的像素值。
此外,在圖10中,在獲得預(yù)測(cè)單元的內(nèi)像素的預(yù)測(cè)像素值的情況下,預(yù)測(cè)單元中垂直和/或水平方向的對(duì)應(yīng)像素的內(nèi)邊界預(yù)測(cè)像素值指示預(yù)測(cè)塊中最下線或最右線處放置的像素的像素值(預(yù)測(cè)像素值)。在如圖10所示的當(dāng)前預(yù)測(cè)單元由8×8預(yù)測(cè)塊組成的情況下,例如,從預(yù)測(cè)單元頂部開始的第五個(gè)水平線上8個(gè)像素之中與右側(cè)第七個(gè)像素相對(duì)應(yīng)的像素的內(nèi)邊界預(yù)測(cè)像素值可以是從預(yù)測(cè)單元頂部開始的第五個(gè)水平線上8個(gè)像素之中的最右像素的像素值(或預(yù)測(cè)像素值)。在這樣的情況下,可以使用從預(yù)測(cè)單元頂部開始的第五個(gè)水平線上8個(gè)像素之中的最右像素的像素值(或預(yù)測(cè)像素值),以及與預(yù)測(cè)塊相鄰的先前編碼的左側(cè)塊中的像素的像素值之中沿水平方向與從預(yù)測(cè)單元頂部開始的第五個(gè)水平線上8個(gè)像素之中右側(cè)第七個(gè)像素位置相同排列的先前編碼的像素的像素值,通過執(zhí)行雙向插值,來獲得從預(yù)測(cè)單元頂部開始的第五個(gè)水平線上8個(gè)像素之中右側(cè)第七個(gè)像素的預(yù)測(cè)像素值。
此外,在圖10中,在獲得預(yù)測(cè)單元的內(nèi)像素的預(yù)測(cè)像素值的情況下,預(yù)測(cè)單元中垂直和/或水平方向?qū)?yīng)像素的內(nèi)邊界預(yù)測(cè)像素值,例如,在如圖10所示當(dāng)前預(yù)測(cè)單元由8×8預(yù)測(cè)塊組成時(shí),從預(yù)測(cè)單元的最左側(cè)開始右側(cè)第五個(gè)垂直線上的8個(gè)像素之中從頂部沿垂直方向第七個(gè)像素的相對(duì)應(yīng)像素的內(nèi)邊界預(yù)測(cè)像素值可以是位于從預(yù)測(cè)單元的最左側(cè)開始右側(cè)第五個(gè)垂直線上的8個(gè)像素的最下端的像素的像素值。
在這樣的情況下,可以使用從預(yù)測(cè)單元的最左側(cè)開始的右側(cè)第五個(gè)垂直線上8個(gè)像素之中位于最下端的像素的像素值(或預(yù)測(cè)像素值)以及與預(yù)測(cè)塊相鄰的先前編碼的上側(cè)塊中的像素的像素值之中沿垂直方向與從預(yù)測(cè)單元的最左側(cè)開始的右側(cè)第五個(gè)垂直線上8個(gè)像素之中從頂部開始沿垂直方向第七個(gè)像素相同位置處布置的先前編碼的像素的像素值(或預(yù)測(cè)像素值),通過執(zhí)行雙向插值來獲得從預(yù)測(cè)單元的最左側(cè)開始的右側(cè)第五個(gè)垂直線上8個(gè)像素之中從頂部開始沿垂直方向第七個(gè)像素的預(yù)測(cè)像素值。
同時(shí),在激活平面預(yù)測(cè)模式標(biāo)記的情況下,可以將預(yù)測(cè)單元的最右且最下端像素的像素值從編碼器傳送到解碼器。此外,可以使用已經(jīng)從編碼器傳送的最右且最上像素1001和最右且最下像素1010,通過執(zhí)行線性插值來獲得位于圖10的最右線上的像素的像素值??梢允褂靡呀?jīng)從編碼器傳送的最左且最下像素1003和最右且最下像素1010,通過執(zhí)行線性插值來獲得位于圖10的最下線上的像素的像素值。
圖11是圖示根據(jù)本發(fā)明的另一實(shí)施例的基于平面預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼方法的概念圖。
當(dāng)激活平面預(yù)測(cè)模式標(biāo)記時(shí),如圖11所示,在時(shí)間上位于包括在作為要被編碼的當(dāng)前圖片的第n圖片之前的第n-1圖片處確定第n圖片中的具有第一尺寸(例如,圖11中的8×8像素)的當(dāng)前預(yù)測(cè)單元的參考預(yù)測(cè)單元。為了獲得當(dāng)前預(yù)測(cè)單元中最右且最下像素的預(yù)測(cè)像素值,不僅與當(dāng)前預(yù)測(cè)單元相鄰的先前編碼的左和上塊213中垂直和水平方向的對(duì)應(yīng)像素值,而且與第n-1圖片的對(duì)應(yīng)預(yù)測(cè)單元相鄰的先前編碼的左和上塊233中垂直和水平方向的對(duì)應(yīng)像素值都被用于計(jì)算它們的平均值或者執(zhí)行線性插值。
或者,為了獲得當(dāng)前預(yù)測(cè)單元中最右且最下像素的預(yù)測(cè)像素值,第n圖片的當(dāng)前預(yù)測(cè)單元中垂直和水平方向的對(duì)應(yīng)內(nèi)像素值、與當(dāng)前預(yù)測(cè)單元相鄰的先前編碼的左和上塊213中垂直和水平方向的對(duì)應(yīng)像素值、以及與第n-1圖片的對(duì)應(yīng)預(yù)測(cè)單元相鄰的先前編碼的左和上塊233中垂直和水平方向的對(duì)應(yīng)像素值都被用于計(jì)算它們的平均值或者執(zhí)行線性插值。
此外,為了獲得當(dāng)前預(yù)測(cè)單元中最右且最下像素的預(yù)測(cè)像素值,第n-1圖片的對(duì)應(yīng)單元中垂直和水平方向?qū)?yīng)最右且最下像素的內(nèi)像素值、以及第n圖片的當(dāng)前預(yù)測(cè)單元中垂直和水平方向的對(duì)應(yīng)內(nèi)像素值、與當(dāng)前預(yù)測(cè)單元相鄰的先前編碼的左和上塊213中垂直和水平方向的對(duì)應(yīng)像素值以及與第n-1圖片的對(duì)應(yīng)預(yù)測(cè)單元相鄰的先前編碼的左和上塊233中垂直和水平方向的對(duì)應(yīng)像素值被用于計(jì)算它們的平均值或者執(zhí)行線性插值。
而且,在激活平面預(yù)測(cè)模式標(biāo)記的情況下,可以使用第n-1圖片的對(duì)應(yīng)預(yù)測(cè)單元中垂直和水平方向的對(duì)應(yīng)內(nèi)邊界像素值、第n-1圖片的對(duì)應(yīng)預(yù)測(cè)單元中先前編碼的左和上塊中垂直和水平方向的對(duì)應(yīng)像素值、第n圖片的當(dāng)前預(yù)測(cè)單元中垂直和水平方向?qū)?yīng)的內(nèi)邊界像素值和/或第n圖片的當(dāng)前預(yù)測(cè)單元中先前編碼的左和上塊中垂直和水平方向的對(duì)應(yīng)像素值,通過執(zhí)行雙向插值來獲得第n圖片的預(yù)測(cè)單元中內(nèi)像素的預(yù)測(cè)像素值。
盡管圖11圖示了使用第n個(gè)圖片的當(dāng)前預(yù)測(cè)單元和第n-1個(gè)圖片的對(duì)應(yīng)預(yù)測(cè)單元進(jìn)行幀內(nèi)預(yù)測(cè)的示例,但是本發(fā)明不限與此。例如,還可以使用第n個(gè)圖片的當(dāng)前預(yù)測(cè)單元和第n+1個(gè)圖片的對(duì)應(yīng)預(yù)測(cè)單元,使用第n個(gè)圖片的當(dāng)前預(yù)測(cè)單元和第n-1個(gè)圖片與第n+1個(gè)圖片的對(duì)應(yīng)預(yù)測(cè)單元,或者使用第n個(gè)圖片的當(dāng)前預(yù)測(cè)單元和第n-2個(gè)圖片、第n-1個(gè)圖片、第n+1個(gè)圖片與第n+2個(gè)圖片的對(duì)應(yīng)預(yù)測(cè)單元,執(zhí)行幀內(nèi)預(yù)測(cè)。
具有第二尺寸的當(dāng)前預(yù)測(cè)單元可能是8×8、16×16或32×32像素的正方形,或者可以是圖2至圖5所示的非對(duì)稱形狀。在當(dāng)前預(yù)測(cè)單元具有如圖2至圖6所示的非對(duì)稱形狀的情況下,可以應(yīng)用結(jié)合圖10和圖11描述的實(shí)施例以執(zhí)行幀間預(yù)測(cè)。
也就是說,對(duì)于具有對(duì)稱形狀(諸如長(zhǎng)方形或正方形)的預(yù)測(cè)單元以及具有非對(duì)稱形狀或任何幾何形狀的預(yù)測(cè)單元,基于如圖10和圖11所示的平面預(yù)測(cè)的幀內(nèi)預(yù)測(cè)編碼方法可以應(yīng)用于像素塊的幀內(nèi)編碼/解碼。
圖12是圖示根據(jù)本發(fā)明的另一實(shí)施例的幾何分割的概念圖。
圖12圖示了預(yù)測(cè)單元pu經(jīng)受幾何分割,使得劃分的部分具有除了正方形之外的其他形狀的示例。
參照?qǐng)D12,對(duì)于預(yù)測(cè)單元,可以如下定義分區(qū)之間的幾何邊界線l。可以通過穿過預(yù)測(cè)單元pu的中心o的x軸和y軸將預(yù)測(cè)單元pu劃分成四個(gè)象限。垂直線從中心o畫到邊界線l。然后,可以通過從中心o到邊界線l的距離ρ和逆時(shí)針方向從x軸到垂直線的角度θ來指定位于任何方向上的任何可能邊界線l。
對(duì)于幀間或幀內(nèi)預(yù)測(cè),預(yù)測(cè)單元pu相對(duì)于其中心被劃分為四個(gè)象限。預(yù)測(cè)單元pu的左上部分的第二象限被分為一個(gè)分區(qū),并且剩余的l形狀被分為一個(gè)分區(qū)。如在此使用的,與分割分區(qū)或若干分割分區(qū)相對(duì)應(yīng)的預(yù)測(cè)單元pu的“部分”也被稱為“塊”?;蛘?,預(yù)測(cè)單元pu的左下部分的第三象限被分為一個(gè)分區(qū),并且剩余象限被分為一個(gè)分區(qū)。替代地,預(yù)測(cè)單元pu的右上部分的第一象限被分為一個(gè)分區(qū),并且剩余象限被分為一個(gè)分區(qū)。而且,與第四象限相對(duì)應(yīng)的預(yù)測(cè)單元pu的右下部分被分為一個(gè)分區(qū),其中剩余象限被分為一個(gè)分區(qū)。此外,第四象限,預(yù)測(cè)單元pu的右下部分被分為一個(gè)分區(qū),其中剩余象限被分為一個(gè)分區(qū)。
如上所述,預(yù)測(cè)單元可以被分割,使得分割區(qū)具有l(wèi)形狀。因此,如果在分割時(shí),在邊緣塊(例如,左上、右上、右下或左下塊)存在移動(dòng)對(duì)象,那么與預(yù)測(cè)單元pu被分為四塊時(shí)相比,可以更加有效地進(jìn)行編碼。根據(jù)運(yùn)動(dòng)對(duì)象所在的邊緣塊位于四個(gè)分區(qū)之中,可以選擇和使用對(duì)應(yīng)分區(qū)。
用于運(yùn)動(dòng)估計(jì)的塊的大小可以變化。另外,根據(jù)一個(gè)示例性實(shí)施例,當(dāng)非對(duì)稱分割或幾何分割應(yīng)用時(shí),塊的形狀不僅可以是現(xiàn)有正方形,也可以是其他幾何形狀,諸如長(zhǎng)方形或其他非對(duì)稱形狀,“l(fā)”形,或三角形,如圖2至圖9所示。
另外,在上述包括結(jié)合圖10描述的塊分割的幾何塊分割的情況下,可以變換和利用圖6至圖9中應(yīng)用的預(yù)測(cè)模式以對(duì)幾何塊執(zhí)行幀內(nèi)預(yù)測(cè)。
圖13是圖示根據(jù)本發(fā)明的實(shí)施例的執(zhí)行幀內(nèi)預(yù)測(cè)編碼的圖像編碼裝置的配置的框圖。
參照?qǐng)D13,圖像編碼裝置包括編碼器630。編碼器630包括幀間預(yù)測(cè)單元632、幀內(nèi)預(yù)測(cè)單元635、減法器637、變換單元639、量化單元641、熵編碼單元643、逆量化單元645、逆變換單元647、加法器649和幀緩沖器651。幀間預(yù)測(cè)單元632包括運(yùn)動(dòng)預(yù)測(cè)單元631和運(yùn)動(dòng)補(bǔ)償單元633。
編碼器630對(duì)輸入圖像執(zhí)行編碼。對(duì)于幀間預(yù)測(cè)單元632中的幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)單元635中的幀內(nèi)預(yù)測(cè),基于每個(gè)預(yù)測(cè)單元pu使用輸入圖像。
可以根據(jù)輸入圖像存儲(chǔ)在包括在編碼器中的緩沖區(qū)(未示出)之后該緩沖區(qū)中存儲(chǔ)的幀(或圖片)的時(shí)間頻率特性來確定應(yīng)用于幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)的預(yù)測(cè)單元的尺寸。例如,預(yù)測(cè)單元確定單元610分析第n-1個(gè)幀(或圖片)和第n個(gè)幀(或圖片)的時(shí)間頻率特性,并且如果分析的時(shí)間頻率特性值小于預(yù)設(shè)的第一閾值,則確定預(yù)測(cè)單元的尺寸為64×64像素。如果分析的時(shí)間頻率特性值等于或大于預(yù)設(shè)的第一閾值且小于第二閾值,則確定預(yù)測(cè)單元的尺寸為32×32像素,并且如果分析的時(shí)間頻率特性值等于或大于預(yù)設(shè)的第二閾值,則確定預(yù)測(cè)單元的尺寸為16×16像素或更小。在此,第一閾值是指當(dāng)幀(或圖片)之間的變化小于第二閾值時(shí)的時(shí)間頻率特性值。
可以根據(jù)輸入圖像存儲(chǔ)在包括在編碼器中的緩沖區(qū)(未示出)之后該緩沖區(qū)中存儲(chǔ)的幀(或圖片)的空間頻率特性來確定應(yīng)用于幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)的預(yù)測(cè)單元的尺寸。例如,在輸入幀(或圖片)具有高均勻性或同質(zhì)性的情況下,可以將預(yù)測(cè)單元的尺寸設(shè)置為大,例如,32×32像素或更大,在輸入幀(或圖片)具有低均勻性或同質(zhì)性的情況下(也就是,當(dāng)空間頻率高時(shí)),可以將預(yù)測(cè)單元的尺寸設(shè)置為小,例如,16×16像素或更小。
雖然在圖13中沒有示出,但是可以通過接收輸入圖像的編碼控制器(未示出)或者通過接收輸入圖像的獨(dú)立的預(yù)測(cè)單元確定單元(未示出)來執(zhí)行確定預(yù)測(cè)單元的尺寸的操作。例如,預(yù)測(cè)單元的尺寸可以是16×16、32×32或64×64像素。
如上所述,包括為幀間或幀內(nèi)預(yù)測(cè)確定的預(yù)測(cè)單元的尺寸的預(yù)測(cè)單元信息被提供給熵編碼單元643并且基于具有確定的尺寸的預(yù)測(cè)單元被提供給編碼器630。特別地,在使用擴(kuò)展宏塊以及擴(kuò)展宏塊的尺寸來執(zhí)行編碼和解碼的情況下,預(yù)測(cè)塊信息可以包括關(guān)于宏塊或擴(kuò)展宏塊的尺寸的信息。在此,擴(kuò)展宏塊的尺寸是指32×32像素或更大,例如,包括32×32、64×64或128×128像素。在上述遞歸編譯單元cu用于執(zhí)行編碼和解碼的情況下,預(yù)測(cè)單元信息可以包括,不是關(guān)于宏塊的尺寸的信息,而是關(guān)于幀間或幀內(nèi)預(yù)測(cè)所使用的最大編譯單元lcu的尺寸的信息,也就是說,預(yù)測(cè)單元的尺寸,并且進(jìn)一步,預(yù)測(cè)單元信息可以包括最大編譯單元lcu的尺寸、最小編譯單元scu的尺寸、最大允許等級(jí)或等級(jí)深度和標(biāo)記信息。
編碼器630對(duì)具有確定尺寸的預(yù)測(cè)單元執(zhí)行編碼。
幀間預(yù)測(cè)單元632對(duì)當(dāng)前通過上述非對(duì)稱分割或幾何分割編碼的預(yù)測(cè)單元進(jìn)行劃分,并且基于每個(gè)劃分分區(qū)執(zhí)行運(yùn)動(dòng)估計(jì)以生成運(yùn)動(dòng)向量。
運(yùn)動(dòng)預(yù)測(cè)單元631通過各種分割方法對(duì)提供的當(dāng)前預(yù)測(cè)單元進(jìn)行劃分,并且對(duì)于每個(gè)分區(qū)塊,在位于當(dāng)前編碼圖片之前和/或之后的至少一個(gè)參考圖片(被編碼并被存儲(chǔ)在幀緩沖器651中)中搜索與當(dāng)前編碼的分區(qū)塊類似的區(qū)域,從而基于每個(gè)塊生成運(yùn)動(dòng)向量。用于運(yùn)動(dòng)估計(jì)的塊的尺寸可以變化,并且根據(jù)實(shí)施例,當(dāng)應(yīng)用非對(duì)稱分割或幾何分割時(shí),塊的形狀不僅可以是現(xiàn)有正方形,也可以是其他幾何形狀,諸如長(zhǎng)方形或其他非對(duì)稱形狀,“l(fā)”形,或三角形,如圖2至圖9所示。
運(yùn)動(dòng)補(bǔ)償單元633通過使用從運(yùn)動(dòng)預(yù)測(cè)單元631生成的運(yùn)動(dòng)向量和參考圖片執(zhí)行運(yùn)動(dòng)補(bǔ)償來生成預(yù)測(cè)塊(或預(yù)測(cè)的預(yù)測(cè)單元)。
幀間預(yù)測(cè)單元632對(duì)塊執(zhí)行塊合并,并且獲得每個(gè)合并塊的運(yùn)動(dòng)參數(shù)。將獲得的運(yùn)動(dòng)參數(shù)傳輸?shù)浇獯a器。
幀內(nèi)預(yù)測(cè)單元635可以使用塊之間的像素相關(guān)性來執(zhí)行幀內(nèi)預(yù)測(cè)編碼。根據(jù)結(jié)合圖6至圖11描述的各種實(shí)施例,幀內(nèi)預(yù)測(cè)單元635執(zhí)行幀內(nèi)預(yù)測(cè),該幀內(nèi)預(yù)測(cè)通過從當(dāng)前幀(或圖片)的塊中的先前編碼像素值預(yù)測(cè)像素值來尋找當(dāng)前預(yù)測(cè)單元的預(yù)測(cè)塊。
加法器637對(duì)從運(yùn)動(dòng)補(bǔ)償單元633提供的預(yù)測(cè)塊(或預(yù)測(cè)的預(yù)測(cè)單元)與當(dāng)前塊(或當(dāng)前預(yù)測(cè)單元)之間執(zhí)行減法操作以生成殘差,并且變換單元639和量化單元641分別執(zhí)行dct(離散余弦變換)和殘差的量化。在此,變換單元639可以基于從預(yù)測(cè)單元確定單元1810提供的預(yù)測(cè)單元尺寸信息來執(zhí)行變換。例如,變換單元639可以對(duì)32×32或64×64像素尺寸進(jìn)行變換?;蛘撸儞Q單元639可以獨(dú)立于從預(yù)測(cè)單元確定單元610提供的預(yù)測(cè)單元尺寸信息基于單獨(dú)的變換單元tu來執(zhí)行變換。例如,變換單元tu尺寸最小可以是4×4像素,最大可以是64×64像素?;蛘?,變換單元tu的最大尺寸可以大于64×64像素,例如,128×128像素。變換單元尺寸信息可以包括在變換單元信息中并且被傳輸?shù)浇獯a器。
熵編碼單元643對(duì)報(bào)頭信息執(zhí)行熵編碼,報(bào)頭信息包括量化的dct系數(shù)、運(yùn)動(dòng)向量、確定的預(yù)測(cè)單元信息、分割信息和變換單元信息,從而生成比特流。
逆量化單元645和逆變換單元647分別對(duì)由量化單元641量化的數(shù)據(jù)執(zhí)行逆量化和逆變換。加法器649將逆變換的數(shù)據(jù)與從運(yùn)動(dòng)補(bǔ)償單元633提供的預(yù)測(cè)的預(yù)測(cè)單元相加,以重構(gòu)圖像,并且將重構(gòu)的圖像提供給幀緩沖器651,使得幀緩沖器651存儲(chǔ)該存儲(chǔ)的圖像。
圖14是圖示根據(jù)本發(fā)明的實(shí)施例的應(yīng)用幀內(nèi)預(yù)測(cè)編碼的圖像編碼方法的流程圖。
參照?qǐng)D14,當(dāng)圖像輸入到編碼裝置時(shí)(步驟s1401),對(duì)于輸入圖像,通過上述非對(duì)稱或幾何分割方法來劃分幀間或幀內(nèi)預(yù)測(cè)的預(yù)測(cè)單元(步驟s1403)。
在激活幀內(nèi)預(yù)測(cè)模式的情況下,對(duì)分割的非對(duì)稱塊或幾何塊應(yīng)用結(jié)合圖6至圖11描述的幀內(nèi)預(yù)測(cè)方法,從而執(zhí)行幀內(nèi)預(yù)測(cè)(步驟s1405)。
或者,當(dāng)激活幀內(nèi)預(yù)測(cè)模式時(shí),通過對(duì)于每個(gè)分區(qū)塊,在位于當(dāng)前編碼圖片之前和/或之后的至少一個(gè)參考圖片(被編碼并被存儲(chǔ)在幀緩沖器651中)中搜索與當(dāng)前編碼的分區(qū)塊類似的區(qū)域,生成預(yù)測(cè)塊(或預(yù)測(cè)的預(yù)測(cè)單元),從而基于每個(gè)塊生成運(yùn)動(dòng)向量,隨后使用所生成的運(yùn)動(dòng)向量和圖片執(zhí)行運(yùn)動(dòng)補(bǔ)償。
接下來,編碼裝置獲得當(dāng)前預(yù)測(cè)單元與預(yù)測(cè)的(幀內(nèi)預(yù)測(cè)的或幀間預(yù)測(cè)的)預(yù)測(cè)單元之間的差以生成殘差,然后對(duì)所生成的殘差執(zhí)行變換和量化(步驟s1407)。其后,編碼裝置對(duì)包括量化的dct系數(shù)和運(yùn)動(dòng)參數(shù)的報(bào)頭信息進(jìn)行熵編碼并且生成比特流(步驟s1409)。
圖15是圖示根據(jù)本發(fā)明的實(shí)施例的圖像解碼裝置的配置的框圖。
參照?qǐng)D15,解碼設(shè)備包括熵解碼單元731、逆量化單元733、逆變換單元735、運(yùn)動(dòng)補(bǔ)償單元737、幀內(nèi)預(yù)測(cè)單元739、幀緩沖器741和加法器743。
熵解碼單元731接收壓縮的比特流,并且對(duì)壓縮的比特流執(zhí)行熵解碼,從而生成量化系數(shù)。逆量化單元733和逆變換單元735分別對(duì)量化系數(shù)執(zhí)行逆量化和逆變換,以重構(gòu)殘差。
由熵解碼單元731解碼的報(bào)頭信息可以包括預(yù)測(cè)單元尺寸信息,該信息可以包括例如擴(kuò)展宏塊尺寸16×16、32×32、64×64或128×128像素。此外,解碼的報(bào)頭信息包括用于運(yùn)動(dòng)補(bǔ)償和預(yù)測(cè)的運(yùn)動(dòng)參數(shù)。運(yùn)動(dòng)參數(shù)可以包括為根據(jù)實(shí)施例的塊合并方法合并的每個(gè)塊傳送的運(yùn)動(dòng)參數(shù)。解碼器報(bào)頭信息還包括指示是否激活平面模式的標(biāo)記以及具有上述非對(duì)稱形狀的每個(gè)單元預(yù)測(cè)模式信息。
運(yùn)動(dòng)補(bǔ)償單元737使用運(yùn)動(dòng)參數(shù)對(duì)與基于由熵解碼單元731從比特流解碼的報(bào)頭信息編碼的預(yù)測(cè)單元具有相同尺寸的預(yù)測(cè)單元執(zhí)行運(yùn)動(dòng)補(bǔ)償,從而生成預(yù)測(cè)的預(yù)測(cè)單元。運(yùn)動(dòng)補(bǔ)償單元737使用為根據(jù)實(shí)施例的塊合并方法合并的每個(gè)塊傳送的運(yùn)動(dòng)參數(shù)執(zhí)行運(yùn)動(dòng)補(bǔ)償,從而生成預(yù)測(cè)的預(yù)測(cè)單元。
幀內(nèi)預(yù)測(cè)單元739使用塊之間的像素相關(guān)性來執(zhí)行幀內(nèi)預(yù)測(cè)編碼。幀內(nèi)預(yù)測(cè)單元739可以通過結(jié)合圖6至圖11描述的幀內(nèi)預(yù)測(cè)編碼方法獲得當(dāng)前預(yù)測(cè)單元的預(yù)測(cè)像素值。
加法器743將從逆變換單元735提供的殘差與從運(yùn)動(dòng)補(bǔ)償單元737或幀內(nèi)預(yù)測(cè)單元739提供的預(yù)測(cè)的預(yù)測(cè)單元相加,以重構(gòu)圖像,并且將殘差提供到幀緩沖器741,使得幀緩沖器741存儲(chǔ)重構(gòu)的圖像。
圖16是圖示根據(jù)本發(fā)明的實(shí)施例的圖像解碼方法的流程圖。
參照?qǐng)D16,解碼設(shè)備從編碼設(shè)備接收比特流(步驟s1601)。
其后,解碼設(shè)備對(duì)接收到的比特流執(zhí)行熵解碼(步驟s1603)。通過熵解碼所解碼的數(shù)據(jù)包括殘差,殘差是指當(dāng)前預(yù)測(cè)單元與預(yù)測(cè)的預(yù)測(cè)單元之間的差。通過熵解碼所解碼的報(bào)頭信息可以包括預(yù)測(cè)單元信息、運(yùn)動(dòng)補(bǔ)償和預(yù)測(cè)的運(yùn)動(dòng)參數(shù)、指示是否激活平面預(yù)測(cè)模式的標(biāo)記以及非對(duì)稱類型每個(gè)預(yù)測(cè)單元預(yù)測(cè)模式信息。預(yù)測(cè)單元信息可以包括預(yù)測(cè)單元尺寸信息。
在此,不是使用擴(kuò)展宏塊和擴(kuò)展宏塊的尺寸執(zhí)行編碼和解碼,在上述遞歸編譯單元cu用于編碼和解碼的情況下,預(yù)測(cè)單元pu信息可以包括最大編譯單元lcu和最小編譯單元scu的尺寸、最大允許等級(jí)或等級(jí)深度和標(biāo)記信息。
解碼控制器(未示出)可以從編碼裝置接收編碼裝置中應(yīng)用的預(yù)測(cè)單元pu尺寸,并且根據(jù)編碼裝置中應(yīng)用的預(yù)測(cè)單元pu的大小,可以執(zhí)行將被描述的運(yùn)動(dòng)補(bǔ)償解碼、幀內(nèi)預(yù)測(cè)編碼、逆變換或逆量化。
解碼裝置對(duì)熵編碼的殘差進(jìn)行逆量化和逆變換(步驟s1605)??梢曰陬A(yù)測(cè)單元尺寸(例如,32×32或64×64像素)執(zhí)行逆變換。
解碼裝置可以將幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)方法應(yīng)用于具有各種形狀的預(yù)測(cè)單元,諸如結(jié)合圖6至圖11描述的非對(duì)稱或幾何形狀,從而生成預(yù)測(cè)的預(yù)測(cè)單元(步驟s1607)。
解碼器將逆量化的逆變換的殘差與通過幀間或幀內(nèi)預(yù)測(cè)來預(yù)測(cè)的預(yù)測(cè)單元相加,從而重構(gòu)圖像(步驟s1609)。
盡管已經(jīng)描述了本發(fā)明的實(shí)施例,但是本領(lǐng)域的普通技術(shù)人員將理解,在不脫離所附權(quán)利要求限定的本發(fā)明的范圍的情況下可以對(duì)本發(fā)明進(jìn)行各種修改。