專利名稱:圖像內(nèi)預測模式估計、通信和組織的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明的具體實施方式
涉及圖像的內(nèi)部預測。
背景技術:
數(shù)字視頻需要大量的數(shù)據(jù)用以表現(xiàn)非壓縮方式下的數(shù)字視頻序列(例如,幀序列)中的每一幀及全部幀。由于帶寬的限制,對于大多數(shù)通過計算機網(wǎng)絡傳輸傳輸非壓縮數(shù)字視頻的應用并不可行。另外,非壓縮的數(shù)字視頻需要大量的存儲空間。數(shù)字視頻通常按照某種方式編碼,以降低對存儲空間的要求,并且可以降低對帶寬的需求。
一種用于對數(shù)字視頻進行編碼的技術是幀間(interframe)編碼。幀間編碼利用,視頻中的不同幀典型地包括大致與作為x乘x個選擇出來的象素相同的區(qū)域這一事實。在編碼過程中,運動矢量與一幀中的象素塊到另一幀中的類似的象素塊的運動相互關連。因此,系統(tǒng)就不必對該象素塊進行兩次編碼,而只需要進行一次編碼,并且提供一個預測其他象素塊的運動矢量。
數(shù)字視頻編碼中的另一項技術是幀內(nèi)(intraframe)編碼。幀內(nèi)編碼對幀或其中的一部分進行編碼,不參考其他幀中的象素。典型的幀內(nèi)編碼以塊為基礎對幀、或者其中一部分進行編碼。例如,在MEPG-2中,幀內(nèi)編碼使用象素塊的離散余弦變換,然后對轉換系數(shù)進行編碼。還存在其他的幀內(nèi)編碼技術,例如小波(wavelet)編碼。
通常,這些技術都使用相當大的數(shù)據(jù)表用于參考預測模式。這些數(shù)據(jù)表所占用的內(nèi)存,對許多低成本的機器來說負擔繁重。此外,在處理設備中,為存儲數(shù)據(jù)表提供足夠的內(nèi)存也是一項繁重的負擔。而且,由于存在大數(shù)據(jù)表,最終增加了系統(tǒng)的復雜性。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種一種用于對數(shù)字視頻進行編碼或解碼和估計象素內(nèi)預測模式的系統(tǒng),該系統(tǒng)包括用于預測沿指定方向的象素值的內(nèi)預測裝置;以及用于估計用于目標塊的預測模式的預測模式估計裝置,其中內(nèi)預測裝置至少使用一個使用與水平方向成大約45度角的對角線向下左的指定方向的對角線向下/左預測模式、一個使用與水平方向成大約45度角沿對角線向下右的指定方向的對角線向下/右預測模式、一個使用與水平方向成大約67.5度角沿對角線向下右的指定方向的垂直右方預測模式和一個使用與水平方向成大約22.5度角沿對角線向下右的指定方向的水平下方預測模式作為內(nèi)預測模式,利用逐漸增加的數(shù)字按照對角線向下/左預測模式、對角線向下/右預測模式、垂直右方預測模式和水平下方預測模式的順序對于預測模式進行編號,以及預測模式估計裝置確定具有鄰接于目標塊并且在目標塊之上的第一個塊的預測模式和鄰接于目標塊左側的第二個塊的預測模式中具有較低模式編號的預測模式作為用于目標塊的預測模式。。
根據(jù)本發(fā)明的第二方面,提供了一種用于估計象素內(nèi)預測模式的方法,該方法包括用于預測沿指定方向的象素值的內(nèi)預測步驟;以及用于估計用于目標塊的預測模式的預測模式估計步驟,其中內(nèi)預測步驟至少使用一個使用與水平方向成大約45度角的對角線向下左的指定方向的對角線向下/左預測模式、一個使用與水平方向成大約45度角沿對角線向下右的指定方向的對角線向下/右預測模式、一個使用與水平方向成大約67.5度角沿對角線向下右的指定方向的垂直右方預測模式和一個使用與水平方向成大約22.5度角沿對角線向下右的指定方向的水平下方預測模式,利用逐漸增加的數(shù)字按照對角線向下/左預測模式、對角線向下/右預測模式、垂直右方預測模式和水平下方預測模式的順序對于預測模式進行編號,以及預測模式估計步驟確定具有鄰接于目標塊并且在目標塊之上的第一個塊的預測模式和鄰接于目標塊左側的第二個塊的預測模式中具有較低模式編號的預測模式作為用于目標塊的預測模式。
下列的附圖中只描述了本發(fā)明的典型實施方式,所以并不能被認為限制了其范圍,使用附圖描述和解釋本發(fā)明的附加特征和細節(jié),。
圖1表示一些鄰接塊的形式。
圖2表示象素塊和用于預測的鄰接象素。
圖3表示大體預測模式方向。
圖4表示本發(fā)明的實施方式中的預測模式的大體方向。
圖5表示本發(fā)明的實施方式中的預測模式的大體方向。
圖6表示本發(fā)明的實施方式中的預測模式的大體方向。
圖7表示本發(fā)明的實施方式中的預測模式的大體方向。
圖8表示本發(fā)明的實施方式中的預測模式的大體方向。
圖9是表示本發(fā)明的一些實施方式中的模式估計的框圖。
圖10是表示在一些實施方式中利用排過序的預測模式集合的模式估計的框圖。
圖11是表示利用與數(shù)值相關聯(lián)的排過序的集合的模式估計的框圖。
圖12是表示當無法獲得一些鄰接塊數(shù)據(jù)時的模式估計選擇的框圖。
圖13是表示本發(fā)明的一些實施方式中的模式順序修改的框圖。
圖14是表示估計的模式被用于修改模式順序用法的本發(fā)明的實施方式的框圖;以及圖15是表示估計的模式被用于修改使用了特定指定元的模式順序的本發(fā)明的實施方式的框圖。
具體實施例方式
本發(fā)明的實施方式包括與圖像的內(nèi)部預測相關的方法和系統(tǒng)。由于所有的實施方式都與內(nèi)部預測相關,術語“內(nèi)部預測”和“預測”,在涉及內(nèi)部預測過程時,可以互換使用。
本發(fā)明的實施方式使用幀內(nèi)編碼(intraframe coding)或者內(nèi)編碼(intracoding),以使用視頻圖像中的空間冗余。因為鄰接塊通常具有類似的屬性,通過參考鄰接塊之間的空間相關性,提高了編碼過程的效率。基于鄰接塊所使用的預測模式,預測目標塊可以使用這種相關性。
為了更有效地處理,或者其他原因,可以將一幅數(shù)字圖像分成多個塊。如圖1所示,目標塊“C”12可能鄰接于鄰接塊“A”14,塊“A”14直接位于目標塊“C”12的上方。另一個鄰接塊“B”16,直接位于目標塊“C”12的左側。與目標塊“C”12具有共同邊界的塊,也被認為是塊“C”12的鄰接塊。
在不同的配置中,塊可以包括不同數(shù)目的象素。例如,塊可以包括4×4的象素序列。塊還可以包括16×16或者8×8的象素序列。其他的象素配置,包括正方形和矩形序列,都可以構成塊。
參考鄰接塊中象素的相關數(shù)據(jù),可以預測目標塊中的每個象素。該鄰接象素數(shù)據(jù)或者鄰接塊數(shù)據(jù)包括,用于預測那些鄰接塊或者鄰接象素的預測模式。特定鄰接象素和目標塊中的象素,可以如圖2所示使用英文數(shù)字索引來參照。圖2表示4×4的目標塊,例如塊“C”12包括16個象素,用小寫字母字符22表示。直接位于目標塊上方的鄰接塊中的象素,使用大寫字母字符24表示。直接位于目標塊左側的鄰接塊中的象素,使用大寫字母字符26表示。
預測模式包括用于預測目標塊中特定象素的指令或算法。這些模式可以參照一個或多個鄰接塊象素,如下文模式描述中所述。
預測模式模式0垂直預測a,e,i,m可以由A預測;b,f,j,n可以由B預測;c,g,k,o可以由C預測;d,j,l,p可以由D預測。
模式1水平預測a,b,c,c可以由I預測;e,f,g,h可以由J預測;i,j,k,l可以由K預測;
m,n,o,p可以由L預測。
模式2DC預測如果全部采樣A、B、C、D、I、J、K、L可用,可以使用(A+B+C+D+I+J+K+L+4)>>3預測所有采樣。如果A、B、C、D不可用,而I、J、K和L可用,可以用(I+J+K+L+2)>>2預測所有采樣。如果I、J、K、和L不可用,而A、B、C、D可用,可以用(A+B+C+D+2)>>2預測所有采樣。如果8個采樣都不可用,那么塊中的所有亮度采樣的預測值為128。始終使用這種模式,對塊進行預測。
模式3對角線下/左方預測a可以由(A+2B+C+I+2J+K+4)>>3預測;b,e可以由(B+2C+D+J+2K+L+4)>>3預測;c,f,i可以由(C+2D+E+K+2L+M+4)>>3預測;d,g,j可以由(D+2E+F+L+2M+N+4)>>3預測;h,k,n可以由(E+2F+G+M+2N+O+4)>>3預測;l,o可以由(F+2G+H+N+2O+P+4)>>3預測;p可以由(G+H+O+P+2)>>2預測;模式4對角線下/右方預測m可以由(J+2K+L+2)>>2預測;i,n可以由(I+2 J+K+2)>>2預測;e,j,o可以由(Q+2 I+J+2)>>2預測;a,f,k,p可以由(A+2Q+I+2)>>2預測;b,g,l可以由(Q+2A+B+2)>>2預測;c,h可以由(A+2B+C+2)>>2預測;d可以由(B+2C+D+2)>>2預測;模式5垂直左方預測a,j可以由(Q+A+1)>>1預測;b,k可以由(A+B+1)>>1預測;c,l可以由(B+C+1)>>1預測;
d可以由(C+D+1)>>1預測;e,n可以由(I+2Q+A+2)>>2預測;f,o可以由(Q+2A+B+2)>>2預測;g,p可以由(A+2B+C+2)>>2預測;h可以由(B+2C+D+2)>>2預測;i可以由(Q+2 I+J+2)>>2預測;m可以由(I+2J+K+2)>>2預測;模式6水平下方預測a,g可以由(Q+I+1)>>1預測;b,h可以由(I+2Q+A+2)>>2預測;c可以由(Q+2A+B+2)>>2預測;d可以由(A+2B+C+2)>>2預測;e,k可以由(I+J+1)>>1預測;f,l可以由(Q+2 I+J+2)>>2預測;i,o可以由(J+K+1)>>1預測;j,p可以由(I+2 J+K+2)>>2預測;m可以由(K+L+1)>>1預測;n可以由(J+2K+L+2)>>2預測;模式7垂直右方預測a可以由(2A+2B+J+2K+L+4)>>3預測;b,i可以由(B+C+1)>>1預測;c,j可以由(C+D+1)>>1預測;d,k可以由(D+E+1)>>1預測;l可以由(E+F+1)>>1預測;e可以由(A+2B+C+K+2L+M+4)>>3預測;f,m可以由(B+2C+D+2)>>2預測;g,n可以由(C+2D+E+2)>>2預測;h,o可以由(D+2E+F+2)>>2預測;p可以由(E+2F+G+2)>>2預測;
模式8水平上方預測a可以由(B+2C+D+2I+2J+4)>>3預測;b可以由(C+2D+E+I+2J+K+4)>>3預測;c,e可以由(J+K+1)>>1預測;d,f可以由(J+2K+L+2)>>2預測;g,i可以由(K+L+1)>>1預測;h,j可以由(K+2L+M+2)>>2預測;l,n可以由(L+2M+N+2)>>2預測;k,m可以由(L+M+1)>>1預測;o可以由(M+N+1)>>1預測;p可以由(M+2N+O+2)>>2預測。
排序過程,是以對每種模式產(chǎn)生較少預測錯誤的可能性為基礎的,這提高了編碼效率,降低了對內(nèi)存的需求,并且至少可以部分被數(shù)學定義。
每個預測模式可以用上述名稱(即,水平上方,垂直和對角線左下方)的各模式中的大體預測方向用文字描述各預測模式。預測模式可以使用角度方向以圖形方式描述。這種角度方向,可以通過從中心點向外放射的箭頭圖表描述,如圖3所示。在這種圖表中,每個箭頭,以及中心點都表示預測模式。預測模式對應的角度,與方向具有一種常規(guī)關系,這一方向由從用于預測目標象素的經(jīng)過加權的鄰接象素平均位置到實際目標象素的位置的方向決定。然而,在上文的定義和JVT標準中,對模式的描述有更精確的定義。在圖3中,中心點32表示沒有方向,所以這個點可以與DC預測模式相關連。水平箭頭34可以表示水平預測模式。垂直箭頭36可以表示垂直預測模式。從中心點斜著向右下方延伸,與水平線約成45度的箭頭38,表示對角線下/右方(DDR)預測模式。從中心點斜著向左下方延伸,與水平線約成45度的箭頭40,表示對角線下/左(DDL)預測模式。DDR和DDL預測模式,都被稱為對角線預測模式。
叢中心點斜著向右上方向延伸,與水平線成約22.5度的箭頭42,表示一個水平上方(HU)預測模式。從中心點斜著向右下方向延伸,與水平線成約22.5度的箭頭44,表示一個水平下方(HD)預測模式。從中心點斜著向右下方向延伸,與水平線成約67.5度的箭頭46,表示一個垂直右方(VR)預測模式。從中心點斜著向左下方向延伸,與水平線成約67.5度的箭頭48,表示垂直左方(VL)預測模式。HU、HD、VR和VL幾種預測模式,被共同稱作中間角度預測模式。
還可以做成許多其他的預測模式,并使用這種角度描述模式進行描述。
預測模式順序本發(fā)明確定,預測模式應該按照一種方式排序,該方式通常與產(chǎn)生減少了預測錯誤的可能性一致。利用根據(jù)通常產(chǎn)生較少預測錯誤可能性的順序排序的預測模式,結果數(shù)據(jù)本身具有更一致的排序的趨向性。進一步,模式的通信可以利用降低所需的內(nèi)存和帶寬的編碼技術。例如,本發(fā)明人確定水平預測模式和垂直預測模式,相對于對角線模式通常更具有似然性;而對角線模式比中間角預測模式更具有似然性。另外,DC預測模式(例如當鄰接塊采用內(nèi)模式編碼時)似然性通常低于水平和豎直預測模式,但是通常比對角線模式具有似然性。
對于不連續(xù)邊界的塊,例如圖像邊緣或者切割狀(swipe/swath)邊界,在本發(fā)明的一些實施方式中所建立的順序,使用常規(guī)術語可以描述如下垂直和水平預測模式,與DC預測模式相比,具有產(chǎn)生減少的預測錯誤的更高似然性;DC預測模式與對角線預測模式相比,具有產(chǎn)生減少的預測錯誤的更高似然性;而對角線預測模式與中間角預測模式相比,具有產(chǎn)生減少的預測錯誤的更高似然性。
對于鄰近邊緣或是邊界,或者鄰接塊或象素預測模式數(shù)據(jù)不可用的塊,本發(fā)明的一些實施方式中所建立的順序,使用常規(guī)術語可以描述如下DC預測模式與垂直和水平預測模式相比,具有產(chǎn)生減少的預測錯誤的更高似然性;垂直和水平預測模式與對角線預測模式相比,具有產(chǎn)生減少的預測錯誤的更高似然性;對角線預測模式與中間角預測模式相比,具有產(chǎn)生減少的預測錯誤的更高似然性。
在如圖4中所示的實施方式的第一集合中,可以按照下列方式定義模式順序模式0垂直預測模式1水平預測模式2DC預測模式3對角線下/左方預測模式4對角線下/右方預測模式5水平下方預測模式6垂直右方預測模式7垂直左方預測模式8水平上方預測在如圖5中所示的實施方式的第二個集合中,可以按照下列方式定義模式順序模式0水平預測模式1垂直預測模式2DC預測模式3對角線下/左方預測模式4對角線下/右方預測模式5水平下方預測模式6垂直右方預測模式7垂直左方預測模式8水平上方預測在如圖6中所示的實施方式的第三個集合中,可以按照下列方式定義模式順序模式0垂直預測模式1水平預測模式2DC預測模式3對角線下/左方預測模式4對角線下/右方預測模式5垂直右方預測模式6水平下方預測模式7垂直左方預測模式8水平上方預測在如圖7中所示的實施方式的第四個集合中,可以按照下列方式定義模式順序模式0水平預測模式1垂直預測模式2DC預測模式3對角線下/左方預測模式4對角線下/右方預測模式5垂直右方預測模式6水平下方預測模式7垂直左方預測模式8水平上方預測在如圖8中所示的實施方式的第五個集合中,可以按照下列方式定義模式順序模式0DC預測模式1垂直預測模式2水平預測模式3對角線下/左方預測模式4對角線下/右方預測模式5垂直右方預測模式6水平下方預測模式7垂直左方預測模式8水平上方預測需要注意的是,在本發(fā)明的其他實施方式中,模式順序會與示例中的順序有所不同。
在本發(fā)明的一些實施方式中,水平預測(模式0)和垂直預測(模式1)如果需要可能會顛倒。還要了解,如果希望,對角線下/左方預測模式和水平下方預測模式可以顛倒。另外,還要了解,如果希望,對角線下/右方預測模式(模式5)、垂直右方預測模式(模式6)、垂直左方預測模式(模式7)和水平上方預測模式(模式8)可以重新排序。進一步,DC預測放置在模式0/模式1集合以及模式3/模式4集合之間是合意的;但是如果希望,也可以放置在模式3/模式4集合,以及模式5/模式6/模式7/模式8集合之間,或者放置在其他的位置。此外,如果希望,角模式3-8可以重新編號,對編碼的效率不會產(chǎn)生顯著影響。
在本發(fā)明的實施方式中,對于所有塊(例如,那些使用所述預測方案的塊),可以以預測為基礎,分別對預測模式進行重新排序。另外,并非所有單獨的塊(例如那些使用所述預測方案的塊)都要使用預測基準,例如如果希望,多于50%、75%或者90%。另外,不同塊的預測模式的順序可以相同,也可以不同。進一步,這樣以預測為基礎的模式的每一個的重排序(例如,按照一種預定的一致性方法),至少對預測模式5、模式6和模式7實施,可以采用任何其他方式對剩余模式排序。另外,預測模式的順序最佳是,0、1、2、3、4、5、6、7、8。同樣可以使用預測模式的其他預定義順序。
在本發(fā)明的一些實施方式中,可以包含一張或者多張數(shù)據(jù)表,用于組織模式數(shù)據(jù)。這些模式通常按照一種排序方式組織,在數(shù)據(jù)表的每個單元中可以一起使用,以提供更多排序的集合。例如,在數(shù)據(jù)表中的每一個條目,可以包括數(shù)字0、1、2、3、4、5、6、7、8、9的有序集合。另一種選擇是,在數(shù)據(jù)表的每一個條目中,數(shù)據(jù)表中數(shù)字的有序集合包括5、6、7、8或者9的有序數(shù)字集合。例如,數(shù)據(jù)表的條目包括下列條目的數(shù)據(jù)集合{1,2,3,5,7};{0,1,2,3,4,5,6};{0,1,3,5,6,7,8},其中集合中的每個數(shù)字,都是增加的數(shù)字值。例如,另一種選擇,數(shù)據(jù)表的條目中包括下列條目的數(shù)據(jù)集合{1,2,3,5,7};{0,1,2,3,4,5,6};{0,1,3,5,6,7,8},其中每個集合至少被單元的25%,或35%,或50%,或75%,或90%或者更高比例所包括。這樣,相對于已知的數(shù)據(jù)表方法,所述表的預知能力更強,并且所需內(nèi)存得以降低。
對數(shù)據(jù)條目集合的排序的預定義方式,應該獨立于象素(例如宏塊)鄰接集合的預測模式。需要理解,數(shù)據(jù)表實際上可以是“靜態(tài)”的,或者在數(shù)據(jù)中需要基礎模式時,可以整體或部分地有效地動態(tài)生成。因此,可以使用一個數(shù)學方程或者運算法則,確定條目,其中可以采用這樣的技術創(chuàng)建“表”。因此,其中使用的一個“數(shù)據(jù)表”不僅僅局限于靜態(tài)表,而是進一步包括這樣確定數(shù)值的被用于預測的數(shù)值集合。
不幸的是,使用新的模式數(shù)字對以前模式的數(shù)字進行替換(例如在已知數(shù)據(jù)表的單元中,對數(shù)字進行替換),雖然可能是一種改進,但結果依然是通常未經(jīng)排序的數(shù)據(jù)集合。
以鄰接塊數(shù)據(jù)為基礎,估計象素預測模式與上述通常未經(jīng)排序的數(shù)據(jù)集合相反,即使使用替換,本發(fā)明進一步得出認識,應該首先將似然性最高的預測模式排為第一,其次將似然性第二高的預測模式排為第二,如果希望,接著按照預定義方式,處理其余模式。這種預定義的方式應該獨立于鄰接宏塊的預測模式。對剩余模式的首選排序,應該以出現(xiàn)剩余模式的可能性降低的順序(似然性最高的預測模式,或者,如果希望,似然性第二高的預測模式)。
基于塊A和塊B的內(nèi)預測模式,如圖1所示,塊C的內(nèi)預測模式順序可以被按照以下方式確定(1)如果塊A和塊B都是“外部的”(例如不可用),只有DC預測(模式2)是允許的,因此塊C的內(nèi)預測模式順序是{2}。
(2)如果塊A是“外部的”(例如不可用),并且塊B不是“外部的”,對于塊C,只有DC預測(模式2)和水平預測(模式0)是允許的,因此;(i)如果塊B是2,塊C的預測模式順序是{2,0};(i i)否則,塊C的內(nèi)預測模式順序是{0,2};(3)如果塊A不是“外部的”,但是塊B是“外部的”,對于塊C,只有DC預測(模式2)和垂直預測(模式1)是允許的,因此;(i)如果塊A是2,塊C的內(nèi)預測模式順序是{2,1};(ii)否則,塊C的內(nèi)預測模式順序是{1,2};(4)如果塊A和塊B都不是“外部的”,(i)如果塊A的預測模式少于塊B的預測模式,那么塊C的內(nèi)預測模式順序是{內(nèi)預測塊模式A,內(nèi)預測塊模式B,其他模式按升序排序};(ii)如果塊A的預測模式多于塊B的預測模式,那么塊C的內(nèi)預測模式順序是{內(nèi)預測塊模式B,內(nèi)預測塊模式A,其他模式按升序排序};(iii)如果塊A的預測模式等于塊B的預測模式,那么塊C的內(nèi)預測模式順序是{內(nèi)預測塊模式A,其他模式按升序排序}。
例如,如果塊A的預測模式是3,并且塊B的預測模式是1,那么塊C的內(nèi)預測模式順序是{1,3,0,2,4,5,6,7,8}。按照全體出現(xiàn)似然性降低(或者增加)排列的模式,這樣剩余模式的出現(xiàn)的自動排列將依然被常規(guī)排列在適當序列中。按照從高可能性到低可能性的序列排序,可以向前增加恰當預測的似然性。使用熵編碼,可以降低結果編碼的比特流。還可以同樣使用其他的排列方式。
上述選擇計劃,在概念上是基于以下規(guī)則,如果塊A的預測是X,且塊B的預測是Y,那么塊C的預測可能是X或者Y。X和/或Y的預測,位于表的起始位置,并且剩余模式在其后順序排列。
聲明另一種情況,當A和B的預測模式已知(包括這種情況,A或者B或者兩者都是所述切片以外的),給出C的最可能模式時,即塊A和B使用的模式的最小值。如果塊A或者塊B中的一個是“外部的”,最可能模式等于預測模式2。因此,指定給塊C的預測模式的排序,因此就是最可能的模式,后面跟隨按升序排列的剩余模式。
參考圖9描述了本發(fā)明的實施方式。在這些實施方式中,選擇一個目標塊用于預測50。為預測第一個鄰接塊使用的預測模式被確定52,該塊與所述目標塊直接鄰接。為預測第二個鄰接塊所使用的預測模式被確定54,該塊也與所述目標塊鄰接。然后,這些鄰接塊預測模式被檢測56,以確定哪個產(chǎn)生的預測錯誤最少的似然性較高。
在本發(fā)明的其他實施方式中,如圖10所示,按照產(chǎn)生更少預測錯誤的模式的似然性,對預測模式集合排序58。選擇目標塊60。確定用于第一個鄰接塊的預測模式62,并且確定用于第二個鄰接塊的預測模式64。這兩個預測模式之后被檢測66,以確定在排序的模式集合中哪個先發(fā)生,這樣就確定出對應于產(chǎn)生較少預測錯誤的似然性高的模式。
在本發(fā)明的其他實施方式中,如圖11所示,按照產(chǎn)生較少預測錯誤的似然性,對預測模式集合進行排序68。之后,這些排序集合中的模式與數(shù)值進行關聯(lián)70,這樣產(chǎn)生較少預測錯誤的似然性較高的模式,就與較小的數(shù)值關聯(lián)。之后,用于預測第一個鄰接塊的模式被確定72,用于預測第二個鄰接塊的模式也被確定74。之后檢測這些鄰接塊模式,以確定哪個模式與較低數(shù)值關聯(lián)。這個模式被指定為目標塊預測的評估模式。
在其他的實施方式中,如圖12所示,按照產(chǎn)生較少預測錯誤的似然性,對預測模式集合排序。這些在排序集合中的模式與數(shù)值聯(lián)合80,這樣產(chǎn)生較少預測錯誤似然性較大的模式,與一個較小數(shù)值聯(lián)合。進行一次嘗試82,用以確定預測第一個鄰接塊所使用的模式,進行一次嘗試84,以確定預測第二個鄰接塊所使用的模式。如果預測第一個鄰接塊所使用的預測模式不可用86,就指定一個默認預測模式(例如DC預測模式)作為所述目標塊的評估預測模式90。同樣,如果用于預測第二個鄰接塊的預測模式不可用88,就指定一個默認預測模式(例如DC預測模式)作為所述目標塊的評估預測模式90。當鄰接塊預測模式可用時,可以檢測這些鄰接塊模式,并確定哪個模式與一個較低數(shù)值關聯(lián)。這個模式之后被指定為預測所述目標塊的評估模式92。
基于鄰接塊數(shù)據(jù),修改預測模式順序在本發(fā)明的一些實施方式中,如上所述的獨立于鄰接塊數(shù)據(jù)確定預測模式排序,可以使用鄰接塊數(shù)據(jù)修改。參照鄰接塊數(shù)據(jù)確定的預測模式估計可以被插入預測模式順序,用以對該順序進行修改,以反映從鄰接塊數(shù)據(jù)所獲得的附加信息。
在一些實施方式中,預測模式估計以鄰接塊數(shù)據(jù)為基礎,可以被直接插入到預測模式順序集合中。代表性地,預測模式估計將在預測模式順序前面被插入或被預先考慮,插入的位置在最有可能產(chǎn)生減少預測錯誤的模式的位置。然而,在一些實施方式中,所述估計可能被插入到模式順序中的不同位置。
在本發(fā)明的一些實施方式中,如圖13所示,一個預測模式順序被選擇102,其中預測模式順序元素可以按照它們產(chǎn)生較少預測錯誤的似然性的順序排列。換句話說,順序中的第一個元素,表示該預測模式最有可能產(chǎn)生較少預測錯誤,順序中的下一個元素,表示該預測模式產(chǎn)生較少預測錯誤的可能性次之,等等,直到順序中的最后一個預測模式,這表示順序中的所述預測模式產(chǎn)生較低預測錯誤的似然性最小。
如上所述,一個預測模式估計被確定104。使用鄰接塊數(shù)據(jù),確定該估計。通常,所述估計是在一個或多個鄰接塊中使用的預測模式,該鄰接塊是最有可能產(chǎn)生較低預測錯誤。然而,還可以采用其他方式確定預測。當足夠的鄰接塊預測模式數(shù)據(jù)不可用時,例如在圖像的邊緣或片斷的邊界,可以在缺乏一個或多個鄰接塊或者它們的預測模式數(shù)據(jù)的情況下,估計目標塊的預測模式。在很多情況下,當鄰接塊數(shù)據(jù)受限或者不可用的時候,估計DC預測模式。
在一些這樣的實施方式中,一旦估計了估計預測模式,估計預測模式就被作為最有可能產(chǎn)生較低預測錯誤的模式,放置到模式順序中106。在一些實施方式中,這是順序中的第一個模式,或者是與最低數(shù)值相關聯(lián)的模式。
在其他實施方式中,估計預測模式可以優(yōu)先于預選擇的模式順序。在一些這樣的實施方式中,如圖14所示,在編碼器和解碼器中,預選擇的模式順序被指定110。這個順序包括預測模式的集合,該集合按照產(chǎn)生較低預測錯誤的似然性,或者其他順序排列。基于鄰接塊數(shù)據(jù),一個估計預測模式也被確定112。在編碼器和解碼器中,按照同樣的算法或方法,確定該估計預測模式。編碼器還確定實際上最佳的預測模式114,用于基于運動矢量或者其他已知技術,預測象素。然后,編碼器比較116所述實際上最佳的預測模式和估計預測模式,以確定它們是否相同。如果估計預測模式與實際上最佳的預測模式是同樣的模式,編碼器向解碼器發(fā)送信號,以使用估計預測模式118。在一些實施方式中,估計預測模式信號可以使用1位指定元來執(zhí)行,以標識是否使用估計模式。
如果估計預測模式不是實際上最佳的預測模式,編碼器向解碼器發(fā)送信號,以使用其他的模式120??梢酝ㄟ^參考預建立的模式順序來執(zhí)行。編碼器確定模式順序中哪個模式是與實際上最佳的預測模式最相等的,并向解碼器發(fā)送使用該模式的信號。
當使用了經(jīng)過排序的預測模式集合,一旦獲得進一步的數(shù)據(jù),集合的順序就要重新排序。例如當確定了估計預測模式,或者確定了最佳實際預測模式的時候,經(jīng)過排序的預測模式集合要重新排序。這樣,修改模式要被突然插入到經(jīng)過排序的集合,放置在經(jīng)過排序集合的前面,或者在某些情況下,被從經(jīng)過排序的集合中刪除。
在本發(fā)明的一些實施方式中,模式順序中的每個模式,按照順序與數(shù)值相關聯(lián)。在這些實施方式中,與將被使用的模式相關聯(lián)的數(shù)值,向解碼器發(fā)送信號,以使用該預測模式。在一些這樣的實施方式中,如圖15所示,選擇包括9種預測模式的模式順序130。以鄰接塊數(shù)據(jù)為基礎的,是該順序中的9種模式之一的估計預測模式被確定132。通過運動矢量方法或者其他方法,確定最佳預測模式134。然后,最佳預測模式與估計預測模式進行比較136。如果估計預測模式與最佳預測模式基本相同,解碼器就發(fā)送1位指定元信號,以使用所述估計預測模式,這1位指定元信號已經(jīng)在解碼器種被標識。如果估計預測模式與最佳預測模式不相等,估計預測模式本質上被從順序中排除140。該排除是通過對集合重新排序,跳過順序中的該估計模式或者使用其他方法來實現(xiàn)的。剩余的順序有效地包括8個模式,可以使用一個3位指定元表現(xiàn)。這個3位的指定元可以被發(fā)送到解碼器,以指定預測時使用哪種模式。
使用在前述詳細說明中的術語和表達式是作為描述性而非限制性使用的,這里并沒有使用這樣的術語和描述就排除圖示說明的特征的等價術語和描述或者其中的一部分的意思,可以確認本發(fā)明的范圍只被定義和限定在以下權利要求的范圍內(nèi)。
權利要求
1.一種用于對數(shù)字視頻進行編碼或解碼和估計象素內(nèi)預測模式的系統(tǒng),該系統(tǒng)包括用于預測沿指定方向的象素值的內(nèi)預測裝置;以及用于估計用于目標塊的預測模式的預測模式估計裝置,其中內(nèi)預測裝置至少使用一個使用與水平方向成大約45度角的對角線向下左的指定方向的對角線向下/左預測模式、一個使用與水平方向成大約4 5度角沿對角線向下右的指定方向的對角線向下/右預測模式、一個使用與水平方向成大約67.5度角沿對角線向下右的指定方向的垂直右方預測模式和一個使用與水平方向成大約22.5度角沿對角線向下右的指定方向的水平下方預測模式作為內(nèi)預測模式,利用逐漸增加的數(shù)字按照對角線向下/左預測模式、對角線向下/右預測模式、垂直右方預測模式和水平下方預測模式的順序對于預測模式進行編號,以及預測模式估計裝置確定具有鄰接于目標塊并且在目標塊之上的第一個塊的預測模式和鄰接于目標塊左側的第二個塊的預測模式中具有較低模式編號的預測模式作為用于目標塊的預測模式。
2.一種用于估計象素內(nèi)預測模式的方法,該方法包括用于預測沿指定方向的象素值的內(nèi)預測步驟;以及用于估計用于目標塊的預測模式的預測模式估計步驟,其中內(nèi)預測步驟至少使用一個使用與水平方向成大約45度角的對角線向下左的指定方向的對角線向下/左預測模式、一個使用與水平方向成大約45度角沿對角線向下右的指定方向的對角線向下/右預測模式、一個使用與水平方向成大約67.5度角沿對角線向下右的指定方向的垂直右方預測模式和一個使用與水平方向成大約22.5度角沿對角線向下右的指定方向的水平下方預測模式,利用逐漸增加的數(shù)字按照對角線向下/左預測模式、對角線向下/右預測模式、垂直右方預測模式和水平下方預測模式的順序對于預測模式進行編號,以及預測模式估計步驟確定具有鄰接于目標塊并且在目標塊之上的第一個塊的預測模式和鄰接于目標塊左側的第二個塊的預測模式中具有較低模式編號的預測模式作為用于目標塊的預測模式。
全文摘要
本發(fā)明的實施方式,涉及使用在視頻編碼或者解碼過程中,用于估計像素預測模式,在視頻編碼器和解碼器之間傳遞像素預測模式,以及對像素內(nèi)預測模式排序的方法和系統(tǒng)。
文檔編號H04N1/41GK101087423SQ20071012710
公開日2007年12月12日 申請日期2003年5月27日 優(yōu)先權日2002年5月28日
發(fā)明者孫式軍, L·J·柯羅夫斯基 申請人:夏普株式會社