亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于無損編碼和解碼的方法和設備的制作方法

文檔序號:7947245閱讀:193來源:國知局
專利名稱:用于無損編碼和解碼的方法和設備的制作方法
技術領域
與本發(fā)明一致的設備和方法涉及對運動畫面數據進行編碼和解碼,更具體地講,涉及無損的運動畫面編碼和解碼,通過該無損的運動畫面編碼和解碼,當對預定大小的塊執(zhí)行幀內預測時,通過使用將被預測的該塊中的像素,提高了壓縮率。
背景技術
根據為編碼和解碼運動畫面數據建立的H.264標準,幀包括多個宏塊,以宏塊為單位或者以子塊為單位執(zhí)行編碼和解碼,其中,通過將宏塊劃分為兩個或四個單元獲得子塊。有兩種預測將被編碼的當前幀的宏塊的運動的方法時間預測,參考相鄰幀的宏塊;和空間預測,參考相鄰的宏塊。
空間預測也被稱為幀內預測。幀內預測基于這樣的特性,即,當預測像素時,相鄰的像素最有可能具有最相似的值。
同時,編碼可被分為有損編碼和無損編碼。為了對運動畫面執(zhí)行無損編碼,從當前像素值中減去通過運動預測計算的預測的像素值。然后,不進行離散余弦變換(DCT)或量化,而是執(zhí)行熵編碼并輸出結果。
發(fā)明公開技術問題在傳統(tǒng)方法中,當執(zhí)行無損編碼時,通過使用與將被預測的塊相鄰的塊的像素值來預測將被預測的塊中的每個像素值,因此,壓縮率比有損編碼的壓縮率低得多。
技術解決方案本發(fā)明提供了一種無損運動畫面編碼和解碼方法和設備,通過該無損運動畫面編碼和解碼方法和設備,當對預定大小的塊執(zhí)行幀內預測時,通過使用將被預測的塊中的像素,增加了壓縮率。
根據本發(fā)明的一方面,提供了一種無損運動畫面編碼方法,包括通過使用將被預測的M×N塊中根據編碼模式確定的預測方向上離像素值最近的像素來預測所述M×N塊中的每個像素值;和對預測的像素值和將被預測的像素值之間的差進行熵編碼。
當將被預測的塊是亮度塊或G塊時,所述M×N塊可以是4×4塊、8×8塊和16×16塊中的任何一個,當所述M×N塊是色度塊、R塊和B塊中的任何一個時,那么所述M×N塊可以是8×8塊。
對于亮度塊或G塊,所述編碼模式可以是作為H.264幀內4×4亮度編碼模式的垂直模式、水平模式、DC模式、左下對角線、右下對角線、垂直偏右、水平偏下、垂直偏左和水平偏上。
對于色度塊、R塊和B塊中的任何一個,所述編碼模式可以是作為H.264幀內M×N色度編碼模式的垂直模式、水平模式和DC模式。
根據本發(fā)明的另一方面,提供了一種無損運動畫面解碼方法,包括接收通過基于多個預測值執(zhí)行熵編碼而獲得的比特流,其中,通過使用M×N塊中根據編碼模式確定的預測方向上的最近的像素來預測每個預測值,所述M×N塊是預測塊單元;對所述比特流進行熵解碼;和根據解碼的值來無損地恢復原始圖像。
根據本發(fā)明的另一方面,提供了一種無損運動畫面編碼設備,包括運動預測單元,通過使用將被預測的M×N塊中根據編碼模式確定的預測方向上離像素值最近的像素來預測M×N塊中的每個像素值;和熵編碼單元,對預測的像素值和將被預測的像素值之間的差執(zhí)行熵編碼。
根據本發(fā)明的另一方面,提供了一種無損運動畫面解碼設備,包括熵解碼單元,接收通過基于下述值執(zhí)行熵編碼而獲得的比特流,并對所述比特流執(zhí)行熵解碼,其中,通過使用M×N塊中根據編碼模式確定的預測方向上的最近的像素來預測所述值,所述M×N塊是預測塊單元;和運動畫面恢復單元,根據解碼的值來無損地恢復原始圖像。
有益的效果當執(zhí)行無損編碼時,可提高壓縮率。具體地講,當僅使用幀內預測模式時,壓縮率比傳統(tǒng)方法的壓縮率要高得多。


圖1是根據本發(fā)明示例性實施例的編碼設備的框圖;圖2是示出H.264中的用于4×4塊的幀內預測模式的示圖;圖3A示出在垂直模式(模式0)下亮度塊和G塊的像素預測;圖3B示出在水平模式(模式1)下亮度塊和G塊的像素預測;圖3C示出在左下對角線模式(模式3)下亮度塊和G塊的像素預測;圖3D示出在右下對角線模式(模式4)下亮度塊和G塊的像素預測;圖3E示出在垂直偏右模式(模式5)下亮度塊和G塊的像素預測;圖3F示出在水平偏下模式(模式6)下亮度塊和G塊的像素預測;圖3G示出在垂直偏左模式(模式7)下亮度塊和G塊的像素預測;圖3H示出在水平偏上模式(模式8)下亮度塊和G塊的像素預測;圖4A示出在DC模式下色度塊、R塊和B塊的像素預測;圖4B示出在水平模式下色度塊、R塊和B塊的像素預測圖4C示出在垂直模式下色度塊、R塊和B塊的像素預測;圖5示出當以上述模式執(zhí)行編碼和解碼時的預測方法;圖6是根據本發(fā)明示例性實施例的解碼設備的框圖;和圖7是根據本發(fā)明的編碼方法的流程圖。
最佳方式為了解釋本發(fā)明的示例性實施例,首先,現在將解釋定義預測值和殘差值。
假設左上角的像素的位置為x=0,y=0,p[x,y]指示相對位置(x,y)的像素值。例如,在圖3A中,像素a的位置被表示為
,像素b的位置被表示為[1,0],像素c的位置被表示為[2,0],像素d的位置被表示為[3,0],像素e的位置被表示為
。可以相同的方式來表示從f到p的其余像素的位置。
通過原始H.264方法而不修改該預測方法來預測像素時的預測值被表示為predL[x,y]。例如,圖3A中的像素a的預測值被表示為predL
。以相同的方式,像素b的預測值為predL
,像素c的預測值為predL[2,0],像素d的預測值為predL[3,0],像素e的預測值為predL
??梢韵嗤姆绞絹肀硎緩膄到p的其余像素的預測值。
當根據本發(fā)明從相鄰像素預測像素時的預測值被表示為predL′[x,y]。以與predL[x,y]中相同的方式表示像素的位置。通過從位置(i,j)的像素值減去位置(i,j)的像素預測值而獲得的位置(i,j)的殘差值被表示為ri,j。當執(zhí)行解碼時通過將位置(i,j)的像素預測值與位置(i,j)的殘差值相加而恢復的位置(i,j)的像素值被表示為ui,j。
現在將參照附圖更完全地描述本發(fā)明,在附圖中示出了本發(fā)明的示例性參照示出根據本發(fā)明示例性實施例的編碼設備的圖1,如果圖像被輸入,那么執(zhí)行運動預測。在本發(fā)明中,通過執(zhí)行4×4幀內預測獲得亮度塊和G塊的像素,通過執(zhí)行8×8幀內預測獲得色度塊、R塊和B塊的像素。因此,運動預測單元110對將被預測的宏塊中的亮度塊和G塊的像素執(zhí)行4×4幀內預測,對色度塊、R塊和B塊的像素執(zhí)行8×8幀內預測。稍后將解釋執(zhí)行4×4幀內預測和8×8幀內預測時預測的像素值的計算。模式選擇單元120在多種預測模式中選擇一種最佳模式。也就是說,當執(zhí)行4×4幀內預測和8×8幀內預測時,從多種可用編碼模式中選擇一種模式。通常,根據將率失真最小化的率失真(RD)最優(yōu)化方法來選擇一種模式。由于在本發(fā)明的無損編碼中沒有失真,所以通過率最優(yōu)化來確定一種編碼模式。
熵編碼單元130對從運動預測單元110輸出的差值(即,期望被編碼的當前幀的宏塊中的像素值與預測的像素值之間的差)進行熵編碼,并輸出結果。熵編碼是指這樣一種編碼方法,通過該編碼方法,較少的比特被分配給更頻繁的數據,較多的比特被分配給不頻繁的數據,從而增加數據的壓縮率。本發(fā)明中使用的熵編碼方法包括前后自適應可變長度編碼(CAVLC)和基于前后自適應二進制算術編碼(CABAC)。
發(fā)明方式圖2是示出H.264中的用于4×4塊的幀內預測模式的示圖。
以4×4塊為單位來執(zhí)行亮度塊和G塊中的像素的幀內預測。有九種類型的對應于不同預測方向的4×4幀內預測模式,包括垂直模式(模式0)、水平模式(模式1)、DC模式(模式2)、左下對角線(模式3)、右下對角線(模式4)、垂直偏右(模式5)、水平偏下(模式6)、垂直偏左(模式7)和水平偏上(模式8)。圖2中的箭頭指示預測方向?,F在將更詳細地解釋每種模式下像素的計算。
圖3A示出在垂直模式(模式0)下亮度塊和G塊的像素預測。
從像素A(即,垂直方向上的相鄰像素)預測像素a302,不從與將被預測的塊300相鄰的像素A預測像素e304,而從塊300中與像素e304相鄰的像素a302預測像素e304。此外,從像素e304預測像素i306,從像素i306預測像素m308。
以相同的方式,從像素B預測像素b,從像素b預測像素f,從像素f預測像素j,從像素j預測像素n,從像素C預測像素c,從像素c預測像素g,從像素g預測像素k,從像素k預測像素o,從像素D預測像素d,從像素d預測像素h,從像素h預測像素l,從像素l預測像素p。這里,預測是指輸出像素值的差(殘差值)并對該差進行熵編碼。也就是說,對于將被預測的塊300中的像素a、e、i和m,分別輸出殘差值(a-A)、(e-a)、(i-e)和(m-i)并將其熵編碼。垂直模式(模式0)的像素預測方法可表示為下面的等式pred4×4L′[x,y]=p[x-1,y],x,y=0,...,3圖3B示出在水平模式(模式1)下亮度塊和G塊的像素預測。
從像素I(即,水平方向上的相鄰像素)預測像素a312,不從與將被預測的塊300中相鄰的像素I預測像素b314,而從與塊300中的像素b314相鄰的像素a312預測像素b314。此外,從像素b314預測像素c316,從像素c316預測像素d318。
以相同的方式,從像素J預測像素e,從像素e預測像素f,從像素f預測像素g,從像素g預測像素h,從像素K預測像素i,從像素i預測像素j,從像素j預測像素k,從像素k預測像素l,從像素L預測像素m,從像素m預測像素n,從像素n預測像素o,從像素o預測像素p。水平模式(模式1)的像素預測方法可表示為下面的等式pred4×4L′[x,y]=p[x-1,y],x,y=0,...,3圖3C示出在左下對角線模式(模式3)下的亮度塊和G塊的像素預測。
從像素B(即,圖3C中的箭頭指示的對角線方向上的相鄰像素)預測像素a322,從像素b(即,塊300中箭頭方向上與像素e324相鄰的像素)預測像素e324。此外,從像素f預測像素i326,從像素j預測像素m328。
以相同的方式,從像素C預測像素b,從像素D預測像素c,從像素E預測像素d,從像素c預測像素f,從像素d預測像素g,從像素d預測像素h,從像素g預測像素j,從像素h預測像素k,從像素h預測像素l,從像素k預測像素n,從像素1預測像素o,從像素l預測像素p。左下對角線模式(模式3)的像素預測方法可表示為下面的等式如果x=3,y≠0,則predL′[x,y]=p[x1,y-1],否則predL′[x,y]=p[x+1,y-1]此外,當以左下對角線模式(模式3)預測像素時,可通過對預測方向上的像素使用適當的濾波器來執(zhí)行預測。例如,當使用1∶2∶1濾波器時,從(A+2B+C+2)/4預測像素a322,其中,使用位于圖3C中的箭頭指示的對角線方向上的像素值形成(A+2B+C+2)/4,從(a+2b+c+2)/4預測像素e324,其中,使用位于塊300中與像素e324相鄰的對角線方向上的像素值形成(a+2b+c+2)/4。此外,從(e+2f+g+2)/4預測像素i326,從(i+2j+k+2)/4預測像素m328。
以相同的方式,從(B+2C+D+2)/4預測像素b,從(C+2D+E+2)/4預測像素c,從(D+2E+F+2)/4預測像素d,從(b+2c+d+2)/4預測像素f,從(c+2d+d+2)/4預測像素g,從(d+2d+d+2)/4預測像素h,從(f+2g+h+2)/4預測像素j,從(g+2h+h+2)/4預測像素k,從(h+2h+h+2)/4預測像素l,從(j+2k+l+2)/4預測像素n,從(k+2l+l+2)/4預測像素o,從(l+2l+l+2)/4預測像素p。
圖3D示出在右下對角線模式(模式4)下亮度塊和G塊的像素預測。
從像素X(即,圖3D中的箭頭指示的對角線方向上的相鄰像素)預測像素a322,從像素a(即,塊300中與像素f334相鄰的箭頭方向上的像素)預測像素f334。此外,從像素f預測像素k336,從像素k預測像素p338。
以這種方式,從像素A預測像素b,從像素B預測像素c,從像素C預測像素d,從像素I預測像素e,從像素b預測像素g,從像素c預測像素h,從像素J預測像素i,從像素e預測像素j,從像素g預測像素l,從像素K預測像素m,從像素i預測像素n,從像素j預測像素o。右下對角線模式(模式4)的像素預測方法可表示為下面的等式pred4×4L′[x,y]=p[x-1,y-1],x,y=0,...,3此外,當以右下對角線模式(模式4)預測像素時,可通過對預測方向上的像素使用適當的濾波器來執(zhí)行預測。例如,當使用1∶2∶1濾波器時,從(I+2X+A+2)/4預測像素a322,其中,使用位于圖3D中的箭頭指示的對角線方向上的像素值形成(I+2X+A+2)/4,從(I+2a+b+2)/4預測像素f334,其中,使用位于塊300中箭頭方向上與像素f334相鄰的像素值形成(I+2a+b+2)/4。此外,從(e+2f+g+2)/4預測像素k336,從(j+2k+1+2)/4預測像素p338。
以相同的方式,從(X+2A+B+2)/4預測像素b,從(A+2B+C+2)/4預測像素c,從(B+2C+D+2)/4預測像素d,從(J+2I+a+2)/4預測像素e,從(a+2b+c+2)/4預測像素g,從(b+2c+d+2)/4預測像素h,從(K+2J+e+2)/4預測像素i,從(J+2e+f+2)/4預測像素j,從(f+2g+h+2)/4預測像素l,從(L+2K+i+2)/4預測像素m,從(K+2i+j+2)/4預測像素n,從(i+2j+k+2)/4預測像素o。
圖3E示出在垂直偏右模式(模式5)下亮度塊和G塊的像素預測。
從(X+A+1)/2預測像素a342,其中,使用位于圖3E中的箭頭指示的偏離垂直方向22.5°角的對角線方向上的像素值形成(X+A+1)/2,從(I+a+1)/2預測像素e344,其中,使用位于塊300中偏離垂直方向22.5°角的箭頭方向上與像素e344相鄰的像素值形成(I+a+1)/2。此外,從(e+f+1)/2預測像素j346,從(i+j+1)/2預測像素n348。
以相同的方式,從(A+B+1)/2預測像素b,從(B+C+1)/2預測像素c,從(C+D+1)/2預測像素d,從(a+b+1)/2預測像素f,從(b+c+1)/2預測像素g,從(c+d+1)/2預測像素h,從(J+e+1)/2預測像素i,從(f+g+1)/2預測像素k,從(g+h+1)/2預測像素l,從(K+i+1)/2預測像素m,從(j+k+1)/2預測像素o,從(k+l+1)/2預測像素p。垂直偏右模式(模式5)的像素預測方法可表示為下面的等式pred4×4L′
=(p[-1,-1]+p
+1)>>1pred4×4L′[1,0]=(p
+p[1,-1]+1)>>1pred4×4L′[2,0]=(p[1,-1]+p[2,-1]+1)>>1pred4×4L′[3,0]=(p[2,-1]+p[3,-1]+1)>>1pred4×4L′
=(p[-1,0]+p
+1)>>1pred4×4L′[1,1]=(p
+p[1,0]+1)>>1pred4×4L′[2,1]=(p[1,0]+p[2,0]+1)>>1pred4×4L′[3,1]=(p[2,0]+p[3,0]+1)>>1pred4×4L′
=(p[-1,1]+p
+1)>>1pred4×4L′[1,2]=(p
+p[1,1]+1)>>1pred4×4L′[2,2]=(p[1,1]+p[2,1]+1)>>1pred4×4L′[3,2]=(p[2,1]+p[3,1]+1)>>1pred4×4L′
=(p[-1,2]+p
+1)>>1
pred4×4L′[1,3]=(p
+p[1,2]+1)>>1pred4×4L′[2,3]=(p[1,2]+p[2,2]+1)>>1pred4×4L′[3,3]=(p[2,2]+p[3,2]+1)>>1圖3F示出在水平偏下模式(模式6)下亮度塊和G塊的像素預測。
從(X+I+1)/2預測像素a352,其中,使用位于圖3F中的箭頭指示的偏離水平方向22.5°角的對角線方向上的像素值形成(X+I+1)/2,從(A+a+1)/2預測像素b354,其中,使用位于塊300中偏離水平方向22.5°角的箭頭方向上與像素b354相鄰的像素值形成(A+a+1)/2。此外,從(b+f+1)/2預測像素g356,從(c+g+1)/2預測像素h358。
以相同的方式,從(J+K+1)/2預測像素i,從(K+L+1)/2預測像素m,從(a+e+1)/2預測像素f,從(e+i+1)/2預測像素j,從(i+m+1)/2預測像素n,從(B+b+1)/2預測像素c,從(f+j+1)/2預測像素k,從(j+n+1)/2預測像素o,從(C+c+1)/2預測像素d,從(g+k+1)/2預測像素l,從(k+o+1)/2預測像素p。水平偏下模式(模式6)的像素預測方法可表示為下面的等式pred4×4L′
=(p[-1,-1]+p[-1,0]+1)>>1pred4×4L′
=(p[-1,0]+p[-1,1]+1)>>1pred4×4L′
=(p[-1,1]+p[-1,2]+1)>>1pred4×4L′
=(p[-1,2]+p[-1,3]+1)>>1pred4×4L′[1,0]=(p
+p
+1)>>1pred4×4L′[1,1]=(p
+p
+1)>>1pred4×4L′[1,2]=(p
+p
+1)>>1pred4×4L′[1,3]=(p
+p
+1)>>1pred4×4L′[2,0]=(p[1,-1]+p[1,0]+1)>>1pred4×4L′[2,1]=(p[1,0]+p[1,1]+1)>>1pred4×4L′[2,2]=(p[1,1]+p[1,2]+1)>>1pred4×4L′[2,3]=(p[1,2]+p[1,3]+1)>>1pred4×4L′[3,0]=(p[2,-1]+p[2,0]+1)>>1pred4×4L′[3,1]=(p[2,0]+p[2,1]+1)>>1pred4×4L′[3,2]=(p[2,1]+p[2,2]+1)>>1pred4×4L′[3,3]=(p[2,2]+p[2,3]+1)>>1圖3G示出在垂直偏左模式(模式7)下亮度塊和G塊的像素預測。
從(A+B+1)/2預測像素a362,其中,使用位于圖3G中的箭頭指示的偏離垂直方向22.5°角的對角線方向上的像素值形成(A+B+1)/2,從(a+b+1)/2預測像素e364,其中,使用位于塊300中偏離垂直方向22.5°角的箭頭方向上與像素e344相鄰的像素值形成(a+b+1)/2。此外,從(e+f+1)/2預測像素i366,從(i+j+1)/2預測像素m368。
以相同的方式,從(B+C+1)/2預測像素b,從(C+D+1)/2預測像素c,從(D+E+1)/2預測像素d,從(b+c+1)/2預測像素f,從(c+d+1)/2預測像素g,從d預測像素h,從(f+g+1)/2預測像素j,從(g+h+1)/2預測像素k,從h預測像素l,從(j+k+1)/2預測像素n,從(k+l+1)/2預測像素o,從l預測像素p。垂直偏左模式(模式7)的像素預測方法可表示為下面的等式pred4×4L′
=(p
+p[1,-1]+1)>>1pred4×4L′[1,0]=(p[1,-1]+p[2,-1]+1)>>1pred4×4L′[2,0]=(p[2,-1]+p[3,-1]+1)>>1pred4×4L′[3,0]=(p[3,-1]+p[4,-1]+1)>>1pred4×4L′
=(p
+p[1,0]+1)>>1pred4×4L′[1,1]=(p[1,0]+p[2,0]+1)>>1pred4×4L′[2,1]=(p[2,0]+p[3,0]+1)>>1pred4×4L′[3,1]=p[3,0]pred4×4L′
=(p
+p[1,1]+1)>>1pred4×4L′[1,2]=(p[1,1]+p[2,1]+1)>>1pred4×4L′[2,2]=(p[2,1]+p[3,1]+1)>>1pred4×4L′[3,2]=p[3,1]pred4×4L′
=(p
+p[1,2]+1)>>1pred4×4L′[1,3]=(p[1,2]+p[2,2]+1)>>1pred4×4L′[2,3]=(p[2,2]+p[3,2]+1)>>1pred4×4L′[3,3]=p[3,2]圖3H示出在水平偏上模式(模式8)下亮度塊和G塊的像素預測。
從(I+J+1)/2預測像素a372,其中,使用位于圖3H中的箭頭指示的偏離水平方向22.5°角的對角線方向上的像素值形成(I+J+1)/2,從(a+e+1)/2預測像素b374,其中,使用位于塊300中偏離水平方向22.5°角的箭頭方向上與像素b374相鄰的像素值形成(a+e+1)/2。此外,從(b+f+1)/2預測像素c376,從(c+g+1)/2預測像素d378。
以相同的方式,從(J+K+1)/2預測像素e,從(K+L+1)/2預測像素i,從L預測像素m,從(e+i+1)/2預測像素f,從(i+m+1)/2預測像素j,從m預測像素n,從(f+j+1)/2預測像素g,從(j+n+1)/2預測像素k,從n預測像素o,從(g+k+1)/2預測像素h,從(k+o+1)/2預測像素l,從o預測像素p。水平偏上模式(模式8)的像素預測方法可表示為下面的等式pred4×4L′
=(p[-1,0]+p[-1,1]+1)>>1pred4×4L′
=(p[-1,1]+p[-1,2]+1)>>1pred4×4L′
=(p[-1,2]+p[-1,3]+1)>>1pred4×4L′
=p[-1,3]pred4×4L′[1,0]=(p
+p
+1)>>1pred4×4L′[1,1]=(p
+p
+1)>>1pred4×4L′[1,2]=(p
+p
+1)>>1pred4×4L′[1,3]=p
pred4×4L′[2,0]=(p[1,0]+p[1,1]+1)>>1pred4×4L′[2,1]=(p[1,1]+p[1,2]+1)>>1pred4×4L′[2,2]=(p[1,2]+p[1,3]+1)>>1pred4×4L′[2,3]=p[1,3]pred4×4L′[3,0]=(p[2,0]+p[2,1]+1)>>1pred4×4L′[3,1]=(p[2,1]+p[2,2]+1)>>1pred4×4L′[3,2]=(p[2,2]+p[2,3]+1)>>1pred4×4L′[3,3]=p[2,3]最后,在DC模式(模式2)下,從(A+B+C+D+I+J+K+L+4)/8預測將被預測的塊300中的所有像素,其中,使用與塊300相鄰的塊的像素值形成(A+B+C+D+I+J+K+L+4)/8。
到目前為止,已作為示例描述了具有4×4塊大小的亮度塊和G塊像素的預測。然而,當亮度塊的大小為8×8或16×16時,也可以相同的方式應用上述亮度像素預測方法。例如,當用于8×8塊的模式是垂直模式時,如參照圖3A所述,從垂直方向上最近的相鄰像素預測每個像素。因此,僅有的差別是塊的大小為8×8或16×16,除了這點,像素預測與垂直模式下對4×4塊的像素預測相同。
同時,除了以亮度和色度形成的像素以外,對于紅(R)、綠(G)和藍(B)塊中的R塊和B塊,可應用以下描述的用于色度像素的像素預測方法。
接下來,現在將參照圖4A至圖4C來詳細解釋對色度塊、R塊和B塊的像素的計算。
以8×8塊為單位來執(zhí)行色度塊、R塊和B塊的像素的預測,并且有四種預測模式,但是在本發(fā)明中,不使用平面模式。因此,在本發(fā)明中,僅使用DC模式(模式0)、水平模式(模式1)和垂直模式(模式2)。
圖4A示出在DC模式下色度塊、R塊和B塊的像素預測。
圖4A至圖4C示出8×8塊的預測,但是當執(zhí)行色度塊、R塊和B塊中的像素的預測時,可以相同的方式將該像素預測應用于M×N塊。
參照圖4A,從(A+B+C+D+I+J+K+L+4)/8預測8×8塊400的4×4塊410中的所有像素a1、b1、c1、d1、e1、f1、g1、h1、i1、j1、k1、l1、m1、n1、o1和p1。此外,從(E+F+G+H+2)/4預測a2、b2、c2、d2、e2、f2、g2、h2、i2、j2、k2、l2、m2、n2、o2和p2。此外,從(M+N+O+P+2)/4預測a3、b3、c3、d3、e3、f3、g3、h3、i3、j3、k3、l3、m3、n3、o3和p3,從(E+F+G+H+M+N+O+P+4)/8預測a4、b4、c4、d4、e4、f4、g4、h4、i4、j4、k4、l4、m4、n4、o4和p4。
圖4B示出在水平模式下色度塊、R塊和B塊的像素預測。
從像素I預測像素a1,從像素a1預測像素b1,從像素b1預測像素c1。因而,通過使用將被預測的塊400中的水平方向上的相鄰像素來執(zhí)行預測。
圖4C示出在垂直模式下色度塊、R塊和B塊的像素預測。
從像素A預測像素a1,從像素a1預測像素e1,從像素e1預測像素i1。因而,通過使用將被預測的塊400中的垂直方向上的相鄰像素來執(zhí)行預測。
以上描述了在亮度塊和G塊預測中以每個4×4塊為單位通過使用相鄰像素來執(zhí)行像素預測和在色度塊、R塊和B塊預測中以每個8×8塊為單位通過使用相鄰像素來執(zhí)行像素預測。然而,所述預測方法不限于4×4塊或8×8塊,并且可以同樣應用于任意大小的M×N塊。也就是說,即使將被預測的塊單元為M×N塊,也可通過使用該塊中預測方向上的離將被預測的像素值最近的像素來計算所述像素值。
圖5示出當以上述模式執(zhí)行編碼和解碼時的預測方法。
參照圖5,現在將解釋通過像素預測獲得殘差的另一方法。在傳統(tǒng)編碼器中,為了獲得殘差值,使用相鄰塊中的像素。例如,在圖3A的垂直模式下,在傳統(tǒng)方法中,像素a302、e304、i306和m308均從像素A預測,因此,殘差值為r0=a-A、r1=e-A、r2=i-A和r3=m-A。在本發(fā)明中,通過使用這樣獲得的傳統(tǒng)殘差值,計算新的殘差值。然后,新的殘差值為r0′=r0、r1′=r1-r0、r2′=r2-r1和r3′=r3-r2。此時,由于新的殘差值r0′、r1′、r2′和r3′為r0′=a-A、r1′=e-a、r2′=i-e和r3′=m-i,所以r0′、r1′、r2′和r3′具有與根據上述預測方法從最近的相鄰像素預測的殘差值相同的值。因此,有了新的殘差值r0′、r1′、r2′和r3′,在上述每種模式下,可應用使用相鄰像素的像素預測方法。
因此,圖1的本發(fā)明的編碼設備的運動預測單元110還可包括從殘差產生新像素值r0′、r1′、r2′和r3′的殘差值計算單元。
圖6是根據本發(fā)明示例性實施例的解碼設備的框圖。
熵解碼器610接收根據本發(fā)明編碼的比特流,并根據諸如CAVLC或CABAC的熵解碼方法執(zhí)行解碼。在接收的比特流的最前面的部分中,可設置指示像素值根據本發(fā)明被預測的標志。作為該標志的示例,在H.264中有l(wèi)ossless_qpprime_y_zero_flag。
通過使用該標志,像素值根據本發(fā)明被預測的信息被傳送給運動畫面重構單元620。
根據標志信息和編碼模式信息,運動畫面重構單元620根據所述以本發(fā)明的模式的像素預測計算方法來恢復運動畫面,并輸出結果。
圖7是根據本發(fā)明的編碼方法的流程圖。
如上所述,在操作S710,以根據修改的預測方法提供的多種幀內預測模式執(zhí)行運動預測,并確定最佳模式。此外,不使用修改的預測方法,而通過使用從通過傳統(tǒng)預測方法獲得的殘差而新產生的殘差值來形成塊,然后,可執(zhí)行幀內預測編碼模式下的運動預測。通過RD最優(yōu)化可執(zhí)行最佳模式,并且因為在本發(fā)明中使用無損編碼,所以根據率最優(yōu)化確定一種編碼模式。在操作S720,以確定的編碼模式執(zhí)行運動預測。然后,在操作S730,對產生的值進行熵編碼并將其輸出。
與編碼順序相反來執(zhí)行解碼。也就是說,熵編碼的比特流被輸入,并被熵解碼。然后,基于編碼模式信息和標志信息,根據本發(fā)明的像素預測值計算方法來恢復像素值,并輸出運動畫面。
此時,恢復的像素值可表示為下面的等式(1)如果在執(zhí)行編碼時使用上述修改的預測方法并且編碼模式被確定為垂直模式,那么根據下面的等式來恢復像素值uij=predL[x0+j,y0+i]+Σk=0iri-k,ji,j=0,...,3]]>或uij=predL′[x0+j,y0]+Σk=0iri-k,ji,j=0,...3]]>(2)如果在執(zhí)行編碼時使用上述修改的預測方法并且編碼模式被確定為水平模式,那么根據下面的等式來恢復像素值uij=predL[x0+j,y0+i]+Σk=0jri,j-ki,j=0,...,3]]>或uij=predL′[x0,y0+i]+Σk=0jri,j-ki,j=0,...,3]]>(3)如果在執(zhí)行編碼時使用上述修改的預測方法并且編碼模式被確定為左下對角線模式,那么根據下面的等式來恢復像素值如果i=0((i,j)=(0,0),(0,1),(0,2),(0,3)),則uij=predL′[xo+j,yo+i]+ri,j如果i=1,j<3((i,j)=(1,0),(1,1),(1,2)),則uij=predL′[xo+j+1,yo+i-1]+ri-1,j+1+ri,j如果i=1,j=3((i,j)=(1,3)),則uij=predL′[xo+j,yo+i-1]+ri-1,j+ri,j如果i=2,j<2((i,j)=(2,0),(2,1)),則uij=predL′[xo+j+2,yo+i-2]+ri-2,j+2+ri-1,j+1+ri,j如果i=2,j=2((i,j)=(2,2)),則uij=predL′[xo+j+1,yo+i-2]+ri-2,j+1+ri-1,j-1+ri,j如果i=2,j=3((i,j)=(2,3)),則uij=predL′[xo+j,yo+i-2]+ri-2,j+ri-1,j+ri,j如果i=3,j=0((i,j)=(3,0)),則uij=predL′[xo+j+3,yo+i-3]+ri-3,j+3+rX+ri-1,j+1+ri,j如果i=3,j=1((i,j)=(3,1)),則Uij=predL′[xo+j+2,yo+i-3]+ri-3,j+2+ri-2,j+2+ri-1,j+1+ri,j如果i=3,j=2((i,j)=(3,2)),則uij=predL′[xo+j+1,yo+i-3]+ri-3,j+1+ri-2,j+1+ri-1,j+1+ri,j如果i=3,j=3((i,j)=(3,3)),則uij=predL′[xo+j+1,yo+i-3]+ri-3,j+ri-2,j+ri-1,j+ri,j(4)如果在執(zhí)行編碼時使用上述修改的預測方法并且編碼模式被確定為右下對角線模式,那么根據下面的等式來恢復像素值如果i=0,或j=0,((i,j)=(0,0),(0,1),(0,2),(0,3),(1,0),(2,0),(3,0))則uij=predL′[xo+j,yo+i]+ri,j如果i=1,j>=1,或j=1,i>1,((i,j)=(1,1),(1,2),(1,3),(2,1),(3,1)),則uij=predL′[xo+j,yo+i]+ri-1,j-1+ri,j如果i=2,j>=2,或j=2,i>2((i,j)=(2,2),(2,3),(3,2)),則uij=predL′[xo+j,yo+i]+ri-2,j-2+ri-1,j-1+ri,j如果i=j=3((i,j)=(3,3)),則uij=predL′[xo+j,yo+i]+ri-3,j-3+ri-2,j-2+ri,j(5)在其余模式下,根據下面的等式來恢復像素值uij=predL[xo+j,yo+i]+ri,j作為根據上述方法執(zhí)行的實驗的結果,對于由H.264標準化組Joint Model73(JM73)提出的各種測試圖像,實現了下面的壓縮率提高。實驗條件在下面的表1中示出表1

對于所有七個測試圖像,用100個幀到300個幀以各種方式對10Hz、15Hz和30Hz的運動畫面進行了實驗。在表1所示的實驗條件下,分別通過傳統(tǒng)壓縮方法和本發(fā)明(PI)的壓縮方法壓縮測試圖像時的壓縮率在下面的表2中被比較表2


同時,表2示出當測試圖像被產生為內幀時僅使用幀內預測的結果,并且可以看出,當僅使用幀內預測時的壓縮率較高。
同時,可將上述運動畫面編碼和解碼方法實現為計算機程序。本發(fā)明所屬領域的計算機程序員可容易地推斷出形成所述程序的代碼和代碼段。此外,所述程序可存儲在計算機可讀介質中,并由計算機讀取和執(zhí)行,從而執(zhí)行所述運動畫面編碼和解碼方法。所述信息存儲介質可以是磁記錄介質、光學記錄介質或載波。
盡管參照本發(fā)明的示例性實施例具體示出和描述了本發(fā)明,但是本領域普通技術人員應該理解,在不脫離由權利要求所限定的本發(fā)明的精神和范圍的情況下,可以對其進行形式和細節(jié)的各種改變。所述示例性實施例僅應該在描述意義上被考慮,而不是為了限制的目的。因此,本發(fā)明的范圍不是由前述詳細的描述來限定,而是由權利要求來限定,所述范圍內的所有差別將被理解為包括在本發(fā)明中。
根據如上所述的本發(fā)明,當執(zhí)行無損編碼時,可提高壓縮率。具體地講,當僅使用幀內預測模式時,壓縮率要比傳統(tǒng)方法的壓縮率高得多。
產業(yè)上的可應用性本發(fā)明可應用于無損運動畫面編碼器和解碼器以提高壓縮率。
權利要求
1.一種無損運動畫面編碼方法,包括通過使用將被預測的M×N塊中根據編碼模式確定的預測方向上離像素值最近的像素,來預測所述M×N塊中的多個像素值中的每個像素值;和對預測的像素值和將被預測的像素值之間的差進行熵編碼。
2.如權利要求1所述的方法,其中,如果將被預測的M×N塊是亮度塊或G塊,那么所述M×N是4×4、8×8和16×16中的任何一個,如果所述M×N塊是色度塊、R塊和B塊之一,那么M×N是8×8。
3.如權利要求1所述的方法,其中,對于亮度塊或G塊,所述編碼模式是作為H.264幀內4×4亮度編碼模式的垂直模式、水平模式、DC模式、左下對角線模式、右下對角線模式、垂直偏右模式、水平偏下模式、垂直偏左模式和水平偏上模式之一。
4.如權利要求1所述的方法,其中,對于色度塊、R塊和B塊之一,所述編碼模式是作為H.264幀內8×8色度編碼模式的垂直模式、水平模式和DC模式之一。
5.如權利要求1所述的方法,其中,對預測的像素值和將被預測的像素值之間的差進行熵編碼的步驟包括通過執(zhí)行幀內預測來確定具有最低率的編碼模式,以按H.264幀內編碼模式對所述M×N塊預測像素值;和對根據確定的編碼模式預測的預測的像素值和將被預測的像素值之間的差進行熵編碼。
6.一種無損運動畫面編碼方法,包括當預測將被預測的M×N塊中的多個像素中的每個像素時,通過用根據編碼模式確定的方向上與所述M×N塊相鄰的像素獲得殘差值,然后通過使用由殘差形成的M×N塊中的最近的相鄰像素來預測像素值;和對預測的像素值和將被預測的像素值之間的差進行熵編碼。
7.一種無損運動畫面解碼方法,包括接收通過基于多個預測值執(zhí)行熵編碼而獲得的比特流,其中,通過使用M×N塊中根據編碼模式確定的預測方向上的最近的像素來預測每個像素,所述M×N塊是預測塊單元;對所述比特流進行熵解碼;和根據解碼的值來無損地恢復原始圖像。
8.如權利要求7所述的方法,其中,如果所述M×N塊是亮度塊或G塊,那么所述M×N塊是4×4塊、8×8塊和16×16塊之一,如果所述M×N塊是色度塊、R塊和B塊之一,那么所述M×N塊是8×8塊。
9.如權利要求7所述的方法,其中,對于亮度塊或G塊,所述編碼模式是作為H.264幀內4×4亮度編碼模式的垂直模式、水平模式、DC模式、左下對角線、右下對角線、垂直偏右、水平偏下、垂直偏左和水平偏上之一。
10.如權利要求7所述的方法,其中,對于色度塊、R塊和B塊之一,所述編碼模式是作為H.264幀內M×N色度編碼模式的垂直模式、水平模式和DC模式之一。
11.一種無損運動畫面編碼設備,包括運動預測單元,通過使用將被預測的M×N塊中根據編碼模式確定的預測方向上離像素值最近的像素來預測所述M×N塊中的多個像素值中的每個像素值;和熵編碼單元,對預測的像素值和將被預測的像素值之間的差執(zhí)行熵編碼。
12.如權利要求11所述的設備,其中,運動預測單元還包括殘差值計算單元,當預測將被預測的M×N塊中的每個像素時,通過使用根據編碼模式確定的預測方向上與所述M×N塊相鄰的像素來獲得殘差值,以預測所述像素值。
13.如權利要求11所述的設備,其中,如果將被預測的M×N塊是亮度塊或G塊,那么所述M×N塊是4×4塊、8×8塊和16×16塊之一,如果所述M×N塊是色度塊、R塊和B塊之一,那么所述M×N塊是8×8塊。
14.一種無損運動畫面解碼設備,包括熵解碼單元,接收通過基于下述值執(zhí)行熵編碼而獲得的比特流,并對所述比特流執(zhí)行熵解碼,其中,通過使用M×N塊中根據編碼模式確定的預測方向上的最近的像素來預測所述值,所述M×N塊是預測塊單元;和運動畫面恢復單元,根據解碼的值來無損地恢復原始圖像。
15.如權利要求14所述的設備,其中,如果將被預測的M×N塊是亮度塊或G塊,那么所述M×N塊是4×4塊、8×8塊和16×16塊之一,如果所述M×N塊是色度塊、R塊和B塊之一,那么所述M×N塊是8×8塊。
全文摘要
提供了一種無損運動畫面編碼和解碼方法和設備,通過該無損運動畫面編碼和解碼方法和設備,當對預定大小的塊執(zhí)行幀內預測時,通過使用將被預測的塊中的像素,增加了壓縮率。所述無損運動畫面編碼方法包括通過使用將被預測的M×N塊中根據編碼模式確定的預測方向上離目標像素值最近的像素來預測所述M×N塊中的每個像素值;和對預測的像素值和將被預測的像素值之間的差進行熵編碼。根據該方法,壓縮率比傳統(tǒng)無損編碼方法的壓縮率高得多。
文檔編號H04N7/32GK1965586SQ200580018522
公開日2007年5月16日 申請日期2005年6月7日 優(yōu)先權日2004年6月7日
發(fā)明者李英烈, 韓基勛, 李戎基 申請人:學校法人大洋學園, 三星電子株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1