專利名稱::Mpeg到avs視頻編碼轉換系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及一種視頻編碼技術,特別是涉及利用軟件方法實現(xiàn)兩種視頻編碼的轉換的系統(tǒng)。
背景技術:
:數字多媒體技術發(fā)展迅速,多媒體應用領域呈現(xiàn)出多種標準共存的局面。AVS(AudioVideocodingStandard)是由中國信息產業(yè)部科學技術司于2002年6月批準成立的音視頻編解碼技術標準工作組所制定的標準,具有中國自主的知識產權。AVS標準將在數字電視、IPTV以及移動多媒體服務等領域中獲得廣泛的應用。然而,由于AVS標準的產業(yè)化還處于起步階段,符合AVS標準的數字多媒體資源較少,實際應用中急需可以提供AVS格式的硬件或軟件產品。
發(fā)明內容鑒于上述技術問題,本發(fā)明提出了一種MPEG到AVS視頻編碼轉換系統(tǒng),禾U用軟件實現(xiàn)MPEG編碼到AVS編碼的轉換,高效率地實現(xiàn)大量MPEG格式的碼流共享為AVS格式。本發(fā)明提出了一種MPEG到AVS的視頻編碼轉換系統(tǒng),包括MPEG格式的數據流、MPEG系統(tǒng)層解復用模塊和MPEG系統(tǒng)層復用模塊,其特征在于,該系統(tǒng)還包括編碼轉換器,以及該編碼轉換器中的DCT幀內預測模式判斷模塊、運動矢量重用及幀間宏塊模式判斷模塊,MPEG格式的數據流首先經過MPEG系統(tǒng)層解復用模塊,解復用后分別提取出MPEG視頻、音頻數據及其他數據;其中解復用得到的MPEG音頻數據不進行轉碼處理,直接送入后端的"MPEG系統(tǒng)層復用"模塊,而編碼轉碼器將解復用輸出的MPEG視頻數據完全解碼到像素域,再結合DCT幀內預測模式判斷模塊、運動矢量重用及幀間宏塊模式判斷模塊進行AVS編碼,然后送入MPEG系統(tǒng)層復用模塊,轉換器中的DCT幀內預測模式判斷模塊利用輸入碼流的VLC解碼再反量化后的DCT系數進行幀內預測模式判斷;運動矢量重用及幀間宏塊模式判斷模塊中的運動矢量重用子模塊將MPEG碼流中的運動矢量MV作為AVS運動估計的參考,通過運動矢量MV優(yōu)化后,獲得半像素精度運動矢量MV,幀間宏塊模式判斷子模塊則通過MPEG解碼宏塊,判斷AVS宏塊的編碼類型,劃分尺寸。所述DCT幀內預測模式判斷模塊的算法,包括以下步驟在幀內預測模式判斷中,計算圖像紋理的角度e(請補充計算公式)和參數p,可以得到當前待編碼塊以及其左鄰和上鄰數據塊的紋理方向,當待編碼宏塊與左鄰或上鄰數據宏塊紋理方向一致時,得到幀內預測模式;<formula>formulaseeoriginaldocumentpage7</formula>(1)式中,F(xiàn)(u,0)為DCT系數的第一列AC系數;F(0,v)為DCT系數的第一行AC系數。當待編碼宏塊與左鄰或上鄰數據宏塊紋理方向存在較大差異時,即待編碼宏塊、左鄰和上鄰宏塊中有兩個分別滿足20°<=9<=35°或55°<=9<=70°而不能進行水平、垂直和斜向預測時,需要進一步在DCT域計算預測矩陣,比較幀內預測模式與當前數據塊的當前待編碼塊的DCT數據絕對誤差和SAD,得到最佳幀內預測模式,具體的算法處理流程如下步驟l,判斷當前待編碼塊是否處于圖像左邊緣或上邊緣,如果是,則判斷為DCT幀內預測模式,否則進入步驟2;步驟2,判斷當前宏塊,左鄰塊和上鄰塊的9值是否都滿足T1<9<T2,T1=35°、T2=55°,如果是,說明當前宏塊所在區(qū)域具有一定的斜向紋理,進行步驟3,否則進行步驟4;步驟3,判斷參數P的值,如果P-1則可判斷當前待編碼塊的幀內預測模式為右上幀內預測模式,P^O判斷為右下幀內預測模式;步驟4,判斷當前宏塊和上鄰塊的9值是否都滿足0°<=6<0303=20°),如果是,說明當前宏塊所在區(qū)域具有一定的垂直紋理,可判斷為垂直幀內預測模式,否則進行步驟步驟5,判斷當前宏塊和左鄰塊的0值是否都滿足丁4<6<=90°,T4=70°,如果是,說明當前宏塊所在區(qū)域具有一定水平紋理,可判斷為水平幀內預測模式,否則進行步驟6;步驟6,分別計算其與當前待編碼塊的DCT數據絕對誤差和,=I釘(Z))-=2ZI"",=0_/=0步驟7,記^4^^為水平預測的絕對誤差和,"^Ar為垂直預測的絕對誤差和,S^Ax:為DC預測的絕對誤差和。通過比較^4。^,"^A^和&4i)^,確定最小者所對應的模式為最佳幀內預測模式;上述的參數參數P由8x8DCT系數矩陣的[1]和[1]位置的數據的正負符號確定,當兩系數同號,參數P二l,當兩系數異號,參數P-O。所述運動矢量重用及幀間宏塊模式判斷模塊,該模塊在判斷宏塊劃分模式時主要采用宏塊細節(jié)程度作為判斷準則,幀間宏塊劃分模式選擇16X16和8X8兩種,具體判斷過程包括以下步驟步驟1,所有幀間宏塊都初始化為16X16宏塊劃分模式;步驟2,統(tǒng)計MPEG碼流中的每個宏塊殘差系數的VLC編碼比特數,計算當前幀宏塊殘差系數的VLC編碼平均比特數,并以此平均比特數作為宏塊是否屬于細節(jié)較多區(qū)域的評判標準的基礎門限;步驟3,用每個宏塊殘差系數的VLC編碼比特數和基礎門限相除,如果比值大于1.5倍(實驗設定閾值),則說明該宏塊的細節(jié)程度明顯大于圖像平均值,需要使用8X8模式進行編碼;否則使用默認的16X16模式。運動矢量重用及幀間宏塊模式判斷模塊中的幀間宏塊模式判斷子模塊的算法,還包括以下步驟根據區(qū)域特性判斷AVS宏塊的編碼類型,表l、表2為轉換編碼過程中MPEG幀間宏塊編碼類型到AVS幀間宏塊編碼類型的轉換初始化映射表;表lP幀宏塊編碼類型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(MC編碼)、10(MC無編碼)或26(MC編碼量化)InterMC2(非MC編碼)或18(非MC編碼量化)InterMC(mvK))表2B幀宏塊編碼類型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(前向預測無編碼)、10(前向預測編碼)或26(前向預測編碼量化)B—Fwd—16X16或SB一Fwd一8X84(后向預測無編碼)、6(后向預測編碼)或22(后向預測編碼量化)B—Bck—16X16或SB一Bck一8X812(雙向預測無編碼)、14(雙向預測編碼)或30(雙向預測編碼量化)B—Sym_16X16或SB—Sym—8X8AVS中B幀宏塊的4個8X8子塊采用不同的預測方向進行編碼,為了獲得8X8子塊的編碼類型,需進一步進行處理初始化8X8子塊E的編碼類型為E子塊所在宏塊的MPEG編碼類型,MPEG中當前編碼宏塊為前向預測編碼,則E子塊初始化為SB—Fwd—8X8;獲得E子塊相鄰宏塊A、B、C的MPEG編碼類型如果E子塊的初始化編碼類型為SB—Fwd—8X8或8SB—Sym—8X8,而A、B、C三宏塊的MPEG宏塊編碼類型均為后向預測編碼,則判斷E子塊的編碼類型為SB一Bck一8X8,否則判斷為E的初始化編碼類型;如果E子塊的初始化編碼類型為SB—Bck—8X8或SB—Sym—8X8,而A、B、C三宏塊的MPEG宏塊編碼類型均為前向預測編碼,則判斷E子塊的編碼類型為SB一Fwd一8X8,否則判斷為E的初始化編碼類型;幀間宏塊模式判斷算法的步驟如下步驟l,如果與當前編碼宏塊對應的MPEG解碼宏塊是幀內預測編碼,則該宏塊采用AVS幀內預測編碼,由于當前宏塊周圍都是幀間宏塊,只有殘差數據,故不能像前節(jié)使用DCT域幀內預測模式判斷,這里直接選擇DC模式;步驟2,判斷幀間宏塊的劃分尺寸如果是16X16劃分尺寸,則進行步驟3;如果是8X8劃分尺寸,則進行步驟4;步驟3,按照表l、表2進行16X16劃分模式下的編碼類型映射;步驟4,按照表l、表2進行8X8劃分模式的編碼類型初始化映射,然后按照前面介紹的8X8子塊編碼類型校正方法獲得當前編碼宏塊內所有8X8子塊的最終編碼類型,并與16X16劃分模式進行編碼開銷比較,選擇最小者進行編碼;步驟5,如果是B幀宏塊則進行Direct模式校正;步驟6,對滿足幀內預測宏塊編碼校正條件的幀間宏塊進行幀內預測編碼校正,幀內預測模式判定方法同步驟1。運動矢量重用及幀間宏塊模式判斷模塊中的運動矢量重用子模塊的算法,還包括以下步驟,對于采用16X16的編碼模式和采用8X8的宏塊劃分模式,均以MPEG解碼運動矢量作為最優(yōu)的半像素精度運動矢量,然后在此運動矢量基礎上做一次1/4像素精度的運動矢量重搜索優(yōu)化,即搜索該半像素運動矢量周圍的8個l/4像素精度運動矢量,從而得到最優(yōu)1/4像素精度的運動矢量,以及釆用8X8的宏塊劃分模式記錄4個運動矢量。與現(xiàn)有技術相比,本發(fā)明提供了一種MPEG到AVS的轉換編碼系統(tǒng),避免了復雜的解碼一重編碼處理,所需的計算量極低,可以采用軟件方式實現(xiàn)MPEG—AVS轉碼,提供AVS節(jié)目源,推進AVS標準的應用發(fā)展。附,說明圖1為本發(fā)明的MPEG到AVS的視頻編碼轉換系統(tǒng)結構圖;圖2為本發(fā)明的圖像紋理方向角示意圖;圖3為8X8子塊時域預測方向示意圖;圖4為1/4像素運動矢量優(yōu)化示意圖;圖5、為本發(fā)明實施例的標準測試碼流實驗R一D曲線圖6為本發(fā)明實施例的DVD序列R—D曲線圖。具體實施例方式目前,實際應用中的數字多媒體資源主要為MPEG標準格式。MPEG標準的多媒體資源可以分為節(jié)目流(PS)和傳輸流(TS)兩種,針對這兩種格式,可以采用圖l所示的轉換編碼結構完成轉碼處理。由于AVS標準中的系統(tǒng)層部分和音頻編碼標準均可兼容MPEG標準的系統(tǒng)層和音頻標準,本發(fā)明所提出的編碼轉換碼系統(tǒng)中對音頻和系統(tǒng)層復用采用了符合MPEG標準的技術。如圖1所示,為MPEG到AVS的視頻編碼轉換系統(tǒng)結構圖,MPEG格式的數字多媒體節(jié)目首先經過"MPEG系統(tǒng)層解復用"模塊11,解復用后分別提取出MPEG視頻、音頻數據及其他數據;其中解復用得到的MPEG音頻數據不進行轉碼處理,直接送入后端的"MPEG系統(tǒng)層復用"模塊13,而解復用輸出的MPEG視頻數據被轉碼為AVS格式,然后送入"MPEG系統(tǒng)層復用"模塊13。MPEG格式視頻數據到AVS格式視頻數據的編碼轉碼器12的結構見圖1中的虛線框部分,包括DCT幀內預測模式判斷模塊121和運動矢量MV重用及頻域宏塊模式判斷模塊122,還包括硬件部分,包括變長解碼(VLD)、反量化(IQ)、反向離散余弦轉換器(IDCT)、運動補償(MC)等。該轉碼器12梧輸入的MPEG碼流完全解碼到像素域,再進行AVS編碼,轉換器中的關鍵處理模塊為DCT幀內預測模式判斷模塊121,DCT幀內預測模式判斷模塊121利用輸入碼流的VLC解碼再反量化后的DCT系數進行幀內預測模式判斷;運動矢量重用及幀間宏塊模式判斷模塊122中的運動矢量重用子模塊將MPEG碼流中的運動矢量MV作為AVS運動估計的參考,通過運動矢量MV優(yōu)化后,可以較為準確的獲得半像素精度MV,宏塊模式判斷子模塊則通過MPEG解碼宏塊的編碼類型、編碼比特數等信息快速判斷AVS宏塊的編碼類型,劃分尺寸等參數,采用這兩部分技術可以極大地降低轉碼計算量。與傳統(tǒng)的簡單級聯(lián)轉碼結構(解碼器和編碼器級聯(lián)>不同的是,圖1所示的編碼轉換充分利用了MPEG解碼信息,在AVS編碼某宏塊之前就基本確定了該宏塊的編碼參數,在AVS編碼器中直接編碼,而不是遍歷式的編碼,這樣一來,提高了編碼轉換的效率。.,以下將對本發(fā)明中的主要算法模塊一"DCT幀內預測模式判斷"和"運動矢量重用及幀間宏塊模式判斷"進行詳細介紹。一、DCT域幀內預測模式判斷AVS標準的幀內預測亮度幀內預測模式共有5種,分別為水平、垂直、DC幀內預測模式、右上和右下幀內預測模式。事實上,不同的幀內預測模式適用于不同紋理特性的圖像數據塊。本專利釆用如下算法判斷轉碼中AVS幀內預測模式圖2中,e表示圖像紋理的角度,F(xiàn)(u,v)為DCT系數。其中DCT系數為MPEG輸入碼流中各宏塊中的DCT變化系數,通過計算e,并選擇與e相同方向的幀內預測模式,可以得到右上、水平以及垂直幀內預測模式。然而,采用該方法計算所得的e在090度的范圍內,無法獲得AVS幀內預測模式的所有預測方向(如右下預測)。因此,進一步引入參數p,用于輔助判斷e的角度范圍,參數p由8x8DCT系數矩陣的[1]和[1]位置的數據的正負符號確定,這兩個系數分別是AC系數的最低頻分量,反映了圖像的基本紋理信息DCT系數[1]位置系數表示的紋理為d正。負DCT系數[1]位置系數表示的紋理為O正O負[l]、[l][O]兩位置系數同號時圖像大致紋理為O正正D負負[O][l]、[l][O]兩位置系數異號時圖像大致紋理為0正負D負正由上述分析可知,當兩系數同號(p=l)時圖像紋理大致為右上方向,異號(p=0)時圖像紋理大致為右下方向,結合參數e,可以預測圖像數據塊的紋理方向。在幀內預測模式判斷中,計算e和p可以得到當前待編碼塊以及其左鄰和上鄰數據塊的紋理方向,當待編碼塊與左鄰或上鄰數據塊紋理方向一致時,可以快速得到幀內預測模式。當紋理方向存在較大差異時,則采用進一步在DCT域計算預測矩陣,比較幀內預測模式與當前數據塊的SAD,得到最佳幀內預測模式,具體的算法處理流程如下1.判斷當前待編碼塊是否處于圖像左邊緣或上邊緣,如果是則判斷為DCT幀內預測模式,否則進入步驟2;2.判斷當前宏塊,左鄰塊和上鄰塊的9值是否都滿足Tl<e<T2(Tl=35°、T2=55°),如果是,說明當前宏塊所在區(qū)域具有一定的斜向紋理,進行步驟3,否則進行步驟4;3.判斷p的值,如果p-1則可判斷當前待編碼塊的幀內預測模式為右上幀內預測模式,pk)判斷為右下幀內預測模式;4.判斷當前宏塊和上鄰塊的9值是否都滿足0°<=0<丁3(丁3=20°),如果是,說明當前宏塊所在區(qū)域具有一定的垂直紋理,可判斷為垂直幀內預測模式,否則進行步驟5;5.判斷當前宏塊和左鄰塊的9值是否都滿足丁4<6<=90°(T4=70°),如果是,說明當前宏塊所在區(qū)域具有一定水平紋理,可判斷為水平幀內預測模式,否則進行步驟6;6.計算水平、垂直和DC三種模式的DCT預測數據(計算方法見下節(jié)),并分別計算其與當前待編碼塊的DCT數據絕對誤差和=|ix:r(z))-z)cros)|=S3。"—(0.1)/=0乂=011記&4"flZ為水平預測的絕對誤差和,^^^為垂直預測的絕對誤差和,"^"DC為DC預測的絕對誤差和。通過比較^4。^,"^Ar和^Ax:,確定最小者所對應的模式為最佳幀內預測模式。由上述算法流程可見,在大多數情況下,不需進行第6步計算即可得到幀內預測模式。第6步處理涉及DCT域的預測矩陣計算。以下論述中用DCT()表示DCT變換,D表示8X8像素原始數據,S表示像素域預測數據,R表示像素域預測數據的提取矩陣,P表示DCT域預測數據的提取矩陣,在像素域和DCT域中用提取矩陣和原始數據矩陣相乘就可得到對應的預測矩陣。Y表示DC幀內預測模式中的像素域加權矩陣,Q表示DC幀內預測模式中的DCT域加權矩陣。不同的下標表示了各種幀內預測模式。"x"表示行列式乘法,""表示矩陣對應位置的點乘運算。下面以垂直預測為例說明水平預測和垂直預測DCT預測矩陣的計算方法。在像素域,垂直預測矩陣數據&P采用下式得出(0-2)<formula>formulaseeoriginaldocumentpage12</formula>(0.3)其中""P表示當前待編碼塊上方的8X8數據塊,《為其中對應位置的像素數據。在不考慮計算精度的條件下,DCT變換為線性變換。對式(0.2)進行001變換,有:zx7r(sp)=Dcr(^x£>》.可見,垂直幀內預測模式的DCT域預測數據可由像素數據的DCT變換數據(ZXT(A^))和域預測數據的提取矩陣(《0獲得。其中《P可通過對^p進行DCT變換求得<formula>formulaseeoriginaldocumentpage13</formula>(0.5)釆用上述類似方法可得到水平預測的DCT域預測矩陣:<formula>formulaseeoriginaldocumentpage13</formula>(0.6)其中:,T表示矩陣轉置。DCT幀內預測模式中需要對水平幀內預測模式或垂直幀內預測模式得到的預測矩陣作一次加權濾波處理,具體加權方式參看標準。以僅左塊可用的DC幀內預測模式為例說明該加權過程在DCT域的矩陣處理方法,以及DC幀內預測模式中DCT預測矩陣的生成,在像素域中<formula>formulaseeoriginaldocumentpage13</formula>(0.7)其中。(^表示僅左塊可用時DC幀內預測模式的像素域預測矩陣,幀內預測模式的像素域預測矩陣,"力表示像素域的加權矩陣有縱u=/4)x~)通過對(0.7)式的數學整理可得^表示水平對式(0.7)進行DCT變換,<formula>formulaseeoriginaldocumentpage13</formula>(0.8)<formula>formulaseeoriginaldocumentpage13</formula>(0.9)由式(0.8)可見,僅左塊可用的DCT預測數據可以由水平幀內預測模式的DCT預測數據(ZX77XS妙))和加權矩陣a^獲得。采用上述類似方法可得到僅上塊可用的DCT域預測數據<formula>formulaseeoriginaldocumentpage14</formula>進一步可以得到左、上塊數據都可用時的DCT預測數據<formula>formulaseeoriginaldocumentpage14</formula>上述過程中,^^^(D)數據可以在轉碼中的解碼部分直接獲得,"則根據不同模式選擇左鄰或上鄰的數據塊。采用提取矩陣^和D^(D)相乘,可以得到水平和垂直模式所對應的DCT預測數據D0^(5)。進一步使用加權矩陣^與D^^")進行點乘運算,可以獲得DCT預測所對應的DCT預測數據。P和G中大部分數據為O,因此計算時較為簡單。二、運動矢量重用和幀間宏塊模式判斷算法1、幀間宏塊劃分模式判斷MPEG的幀間宏塊劃分在幀編碼模式下只支持16X16—種編碼模式,在場編碼模式下增加了16X8編碼模式。AVS在幀間宏塊模式上支持16X16,16X8,8X16,8X8四種編碼模式。因此在MPEG到AVS轉換編碼過程中,就需要解決宏塊劃分模式的重新判斷問題。對于大部分自然序列,16X16宏塊劃分模式的使用概率最大,其它模式所占比例較小。本發(fā)明MPEG到AVS實時轉換編碼器設計中,幀間宏塊劃分模式選擇16X16和8X8兩種。不使用16X8和8X16兩種宏塊劃分模式的主要原因有兩點第一,從計算量考慮,減少這兩個模式,在幀間宏塊模式判斷環(huán)節(jié)的計算量就減少了50%左右,有利于達到實時轉碼的要求;第二,16X8和8X16這兩種模式也是在細節(jié)較多區(qū)域使用,分別針對橫向紋理較多和縱向紋理較多的情況,對于這兩種情況8X8模式可以在只帶來一個運動矢量開銷的情況下完成。幀間宏塊劃分模式判斷在圖1中運動矢量重用和幀間宏塊模式判斷模塊完成,該模塊在判斷宏塊劃分模式時主要采用宏塊細節(jié)程度作為判斷準則,具體判斷過程為第一步,所有幀間宏塊都初始化為16X16宏塊劃分模式;第二步,統(tǒng)計MPEG碼流中的每個宏塊殘差系數的VLC編碼比特數,計算當前幀宏塊殘差系數的VLC編碼平均比特數,并以此平均比特數作為宏塊是否屬于細節(jié)較多區(qū)域的評判標準的基礎門限;第三步,用每個宏塊殘差系數的VLC編碼比特數和基礎門限相除,如果比值大于1.5倍(實驗設定閾值),則說明該宏塊的細節(jié)程度明顯大于圖像平均值,需要使用8X8模式進行編碼;否則使用默認的16X16模式。2、幀間宏塊模式判斷算法對于幀間宏塊,AVS標準提供了多種編碼類型。雖然MPEG宏塊編碼類型不能和AVS宏塊編碼類型一一對應,不能在編碼端被直接使用,但是它卻能反映出圖像的區(qū)域特性,從而根據這些區(qū)域特性判斷AVS宏塊的編碼類型。表l、表2給出了轉換編碼過程中MPEG幀間宏塊編碼類型到AVS幀間宏塊編碼類型的轉換初始化映射表。表lP幀宏塊編碼類型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(MC編碼)、10(MC無編碼)或26(MC編碼量化)InterMC.2(非MC編碼)或18(非MC編碼量化)InterMC(mv=0)表2B幀宏塊編碼類型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(前向預測無編碼)、10(前向預測編碼)或26(前向預測編碼量化)B—Fwd—16X16或SB—Fwd—8X84(后向預測無編碼)、6(后向預測編碼)或22(后向預測編碼量化)'B—Bck—16X16或SB—Bck—8X812(雙向預測無編碼)、14(雙向預測編碼)或30(雙向預測編碼量化)B—Sym—16X16或SB_Sym—8X8AVS中B幀宏塊的4個8X8子塊采用不同的預測方向進行編碼,為了獲得8X8子塊的編碼類型,需進一步進行處理,如圖3,初始化8X8子塊E的編碼類型為E子塊所在宏塊的MPEG編碼類型,MPEG中當前編碼宏塊為前向預測編碼,則E子塊初始化為SB—Fwd—8X8;獲得E子塊相鄰宏塊A、B、C的MPEG編碼類型如果E子塊的初始化編碼類型為SB—Fwd—8X8或SB—Sym—8X8,而A、B、C三宏塊的MPEG宏塊編碼類型均為后向預測編碼,則判斷E子塊的編碼類型為SB—Bck—8X8,否則判斷為E的初始化編碼類型;如果E子塊的初始化編碼類型為SB—Bck—8X8或SB—Sym—815X8,而A、B、C三宏塊的MPEG宏塊編碼類型均為前向預測編碼,則判斷E子塊的編碼類型為SB—Fwd一8X8,否則判斷為E的初始化編碼類型。宏塊模式判斷算法的步驟如下步驟l,如果與當前編碼宏塊對應的MPEG解碼宏塊是幀內預測編碼,則該宏塊采用AVS幀內預測編碼,由于當前宏塊周圍都是幀間宏塊,只有殘差數據,故不能像前節(jié)使用DCT域幀內預測模式判斷,這里直接選擇DC模式;步驟2,判斷幀間宏塊的劃分尺寸如果是16X16劃分尺寸,則進行步驟3;如果是8X8劃分尺寸,則進行步驟4;步驟3,按照表l、表2進行16X16劃分模式下的編碼類型映射;步驟4,按照表l、表2進行8X8劃分模式的編碼類型初始化映射,然后按照前面介紹的8X8子塊編碼類型校正方法獲得當前編碼宏塊內所有8X8子塊的最終編碼類型,并與16X16劃分模式進行編碼開銷比較,選擇最小者進行編碼;步驟5,如果是B幀宏塊則進行Direct模式校正;步驟6,對滿足幀內預測宏塊編碼校正條件的幀間宏塊進行幀內預測編碼校正,幀內預測模式判定方法同步驟l。.3、運動矢量重用及優(yōu)化算法運動矢量的重用是視頻轉換編碼中的關鍵技術。在相同標準間的轉換編碼過程中,輸入碼流的運動矢量是經過編碼器運動估計過程的,它代表著在某種運動搜索算法下的最優(yōu)運動矢量。在不同標準間的轉換編碼,由于參考圖像插值過程和運動矢量精度等差異,運動矢量重用并不會帶來像同類碼流轉換時的直接利益,但是卻可以作為運動估計時的重要參考運動矢量。MPEG的亮度參考圖像是半像素精度,.其半像素點是通過相鄰的兩個整像素樣本線性插值而來。AVS的亮度參考圖像是l/4像素精度,其插值過程參見標準文獻。比較這兩個標準中半像素點的計算過程,MPEG采用線性插.值濾波器,AVS采用的4抽頭濾波器(-1/8,5/8,5/8,-1/8),這兩種半像素插值濾波器雖然結構不同,但最終插值結果反映在圖像上的差別卻不很明顯。因此,可以認為MPEG的半像素精度運動矢量近似AVS編碼器運動搜索得到的最優(yōu)半像素精度運動矢量,轉碼時即以MPEG解碼運動矢量作為最優(yōu)的半像素精度運動矢量(圖4中G所示為該半像素精度運動矢量所指的參考塊位置),從而省去了整像素運動矢量搜索和半像素運動矢量搜索過程,然后在此運動矢量基礎上做一次l/4像素精度的運動矢量重搜索優(yōu)化,即搜索該半像素運動矢量周圍的8個1/4像素精度運動矢量(圖4中a~h為8個1/4像素精度運動矢量所指的參考塊位置),從而得到最優(yōu)1/4像素精度的運動矢量。對于采用16X16的編碼模式,直接采用以上方法,得到最優(yōu)1/4像素精度運動矢量;對于8X8宏塊劃分模式,由于MPEG只有宏塊級的運動矢量,因此需要獨立編碼每個8X8子塊,每個8X8子塊都采用MPEG的宏塊級運動矢量,然后再分別做重搜索優(yōu)化。16下面通過一個具體實施實例,進一步說明本發(fā)明的技術方案。實驗采用AVS標準工作組提供的參考軟件rm52j—rl作為參考,實驗結果中用REF中表示。本專利設計實現(xiàn)的MPEG到AVS轉碼系統(tǒng)在實驗結果中用TRANS表示。實驗序列為用bus_cif,mobile—cif,football—704X480,tempete—704X480標準測試序列制作的MPEGPS流(幀率30),以及用于實際驗證的DVD節(jié)目(MPEGPS流)《功夫》(720X576,幀率30)。實驗環(huán)境為P41.5GHZ,320M內存的PC機。各序列R-D曲線如圖5和圖6所示。表3給出了實驗中參考編碼器REF與本文轉碼系統(tǒng)TRANS的運行時間,PSNR和比特率,以及計算量(時間比值倒數)的比較結果,量化參數為QP-35。_表3不同測試序列的時間、PSNR和比特率的比較_PSNR(dB)Bitrate(Kbps)Time(frame/s)CalculationREFTRANSREFTRANSREFTRANS/REF(%)mobile一cif33.0133.381840.131928.001.118.3013.37%bus_cif34.0834.611412.721558.001.078.5112.57%tempete一704一48034.2634.664183.474679.270.291.8515.68%football—704—48035.6336.55861.147268.000.281.8315.30%GongFu_720_57636.9537.332柳.562784.190.271.6416.46%圖5、6和表3的實驗結果表明,本專利提出的轉碼系統(tǒng)與參考編碼器相比在相同碼率下,圖像PSNR略有降低。在football序列降低最為明顯,原因是由于該序列運動較快、而且復雜,MPEG編碼的運動矢量較大,在轉碼時增加了AVS編碼開銷,導致比特率上升。由表3可知,本專利轉碼系統(tǒng)在保證輸出圖像質量的前提下,計算量只有參考編碼器的15%左右,實驗中還采用了其他測試序列獲得了一致的結果。為了驗證轉碼碼流的正確性,實驗中還采用了上海廣電有限公司的AVS標準數字電視機頂盒作為輔助驗證手段。將轉碼得到的AVS傳輸流(AVSTS)通過碼流發(fā)送板卡發(fā)送到機頂盒,機頂盒的音/視頻輸出送入電視機,傳輸流節(jié)目播放流暢,音視頻同步良好。1權利要求1.一種MPEG到AVS的視頻編碼轉換系統(tǒng),包括MPEG格式的數據流、MPEG系統(tǒng)層解復用模塊和MPEG系統(tǒng)層復用模塊,其特征在于,該系統(tǒng)還包括編碼轉換器,以及該編碼器轉換中的DCT幀內預測模式判斷模塊、運動矢量重用及幀間宏塊模式判斷模塊,其中運動矢量重用及幀間宏塊模式判斷模塊分為運動矢量重用子模塊和幀間宏塊模式判斷子模塊;MPEG格式的多媒體流首先經過MPEG系統(tǒng)層解復用模塊,解復用后分別提取出MPEG視頻、音頻數據及其他數據;其中解復用得到的MPEG音頻數據不進行轉碼處理,直接送入后端的“MPEG系統(tǒng)層復用”模塊,而編碼器轉換將解復用輸出的MPEG視頻數據完全解碼到像素域,再結合DCT幀內預測模式判斷模塊、運動矢量重用及幀間宏塊模式判斷模塊進行AVS編碼,然后送入MPEG系統(tǒng)層復用模塊;轉換器中的DCT幀內預測模式判斷模塊利用輸入碼流的VLC解碼再反量化后的DCT系數進行幀內預測模式判斷;運動矢量重用及幀間宏塊模式判斷模塊中的運動矢量重用子模塊將MPEG碼流中的運動矢量MV作為AVS運動估計的參考,通過運動矢量MV優(yōu)化后,獲得半像素精度運動矢量MV,幀間宏塊模式判斷子模塊則通過MPEG解碼宏塊,判斷AVS宏塊的編碼類型,劃分尺寸。2.如權利要求1所述的MPEG到AVS的視頻編碼轉換系統(tǒng),其特征在于,所述DCT幀內預測模式判斷模塊的算法,包括以下步驟在幀內預測模式判斷中,計算圖像紋理的角度e和參數P,得到當前待編碼塊以及其左鄰和上鄰數據塊的紋理方向,當待編碼宏塊與左鄰或上鄰數據宏塊紋理方向一致時,得到幀內預測模式P=arctan|;|f(",o)itl,,v)lv=l式中,F(xiàn)(u,O)為DCT系數的第一列AC系數;F(O,v)為DCT系數的第一行AC系數;當待編碼宏塊與左鄰或上鄰數據宏塊紋理方向存在較大差異時,即待編碼宏塊、左鄰和上鄰宏塊中有兩個分別滿足20°<=e<=35°或55°<=e<=70°而不能進行水平、垂直和斜向預測時,需要進一步在DCT域計算預測矩陣,比較幀內預測模式與當前數據塊的當前待編碼塊的DCT數據絕對誤差和SAD,得到最佳幀內預測模式,具體的算法處理流程如下步驟l,判斷當前待編碼塊是否處于圖像左邊緣或上邊緣,如果是,則判斷為DCT幀內預測模式,否則進入步驟2;步驟2,判斷當前宏塊,左鄰塊和上鄰塊的0值是否都滿足T1<6<T2,Tl=35°、T2=55°,如果是,說明當前宏塊所在區(qū)域具有一定的斜向紋理,進行步驟3,否則進行步驟4;步驟3,判斷參數P的值,如果P-1則可判斷當前待編碼塊的幀內預測模式為右上幀內預測模式,P:O判斷為右卞幀內預測模式;步驟4,判斷當前宏塊和上鄰塊的0值是否都滿足0°<=0<0(73=20°),如果是,說明當前宏塊所在區(qū)域具有一定的垂直紋理,可判斷為垂直幀內預測模式,否則進行步驟步驟5,判斷當前宏塊和左鄰塊的6值是否都滿足丁4<9<=90°,T4=70°,如果是,說明當前宏塊所在區(qū)域具有一定水平紋理,可判斷為水平幀內預測模式,否則進行步驟6;步驟6,分別計算其與當前待編碼塊的DCT數據絕對誤差和'<8乂<8/=0乂=0步驟7,記1^1^^為水平預測的絕對誤差和,^^^w為垂直預測的絕對誤差和,^^"。c為DC預測的絕對誤差和,通過比較^^""z,&4/^和&4/)^,確定最小者所對應的模式為最佳幀內預測模式;上述的參數參數P由8x8DCT系數矩陣的[1]和[1]位置的數據的正負符號確定,當兩系數同號,參數P二1,當兩系數異號,參數P^0。3.如權利要求1所述的MPEG到AVS的視頻編碼轉換系統(tǒng),其特征在于,所述運動矢量重用及幀間宏塊模式判斷模塊,該模塊在判斷宏塊劃分模式時主要采用宏塊細節(jié)程度作為判斷準則,幀間宏塊劃分模式選擇16X16和8X8兩種,具體判斷過程包括以下步驟步驟1,所有幀間宏塊都初始化為16X16宏塊劃分模式;步驟2,統(tǒng)計MPEG碼流中的每個宏塊殘差系數的VLC編碼比特數,計算當前幀宏塊殘差系數的VLC編碼平均比特數,并以此平均比特數作為宏塊是否屬于細節(jié)較多區(qū)域的評判標準的基礎門限;步驟3,用每個宏塊殘差系數的VLC編碼比特數和基礎門限相除,如果比值大于1.5倍(實驗設定閾值),則說明該宏塊的細節(jié)程度明顯大于圖像平均值,需要使用8X8模式進行編碼;否則使用默認的16X16模式。4.如權利要求1所述的MPEG到AVS的視頻編碼轉換系統(tǒng),其特征在于,所述運動矢量重用及幀間宏塊模式判斷模塊中的幀間宏塊模式判斷子模塊的算法,包括以下步驟根據區(qū)域特性判斷AVS宏塊的編碼類型,表l、表2為轉換編碼過程中MPEG幀間宏塊編碼類型到AVS幀間宏塊編碼類型的轉換初始化映射表;<table>tableseeoriginaldocumentpage4</column></row><table>介紹的8X8子塊編碼類型校正方法獲得當前編碼宏塊內所有8X8子塊的最終編碼類型,并與16X16劃分模式進行編碼開銷比較,選擇最小者進行編碼;步驟5,如果是B幀宏塊則進行Direct模式校正;步驟6,對滿足幀內預測宏塊編碼校正條件的幀間宏塊進行幀內預測編碼校正,幀內預測模式判定方法同步驟1。5.如權利要求1所述的MPEG到AVS的視頻編碼轉換系統(tǒng),其特征在于,所述運動矢量重用及幀間宏塊模式判斷模塊中的運動矢量重用子模塊的算法,包括以下步驟對于采用16X16的編碼模式和采用8X8的宏塊劃分模式,均以MPEG解碼運動矢量作為最優(yōu)的半像素精度運動矢量,然后在此運動矢量基礎上做一次1/4像素精度的運動矢量重搜索優(yōu)化,即搜索該半像素運動矢量周圍的8個l/4像素精度運動矢量,從而得到最優(yōu)1/4像素精度的運動矢量,以及采用8X8的宏塊劃分模式記錄4個運動矢全文摘要本發(fā)明公開了一種MPEG到AVS的視頻編碼轉換系統(tǒng),該系統(tǒng)的編碼轉碼器將解復用輸出的MPEG視頻數據完全解碼到像素域,再結合DCT幀內預測模式判斷模塊、運動矢量重用及幀間宏塊模式判斷模塊進行AVS編碼,然后送入MPEG系統(tǒng)層復用模塊,轉換器中的DCT幀內預測模式判斷模塊利用輸入碼流的VLC解碼再反量化后的DCT系數進行幀內預測模式判斷;運動矢量重用及幀間宏塊模式判斷模塊中的運動矢量重用子模塊將MPEG碼流中的運動矢量MV作為AVS運動估計的參考,通過運動矢量MV優(yōu)化后,獲得半像素精度運動矢量MV,幀間宏塊模式判斷子模塊則通過MPEG解碼宏塊,判斷AVS宏塊的編碼類型,劃分尺寸。本發(fā)明避免了復雜的解碼-重編碼處理,所需的計算量極低,可以采用軟件方式實現(xiàn)MPEG-AVS轉碼,提供AVS節(jié)目源,推進AVS標準的應用發(fā)展。文檔編號H04N7/26GK101668207SQ20091007059公開日2010年3月10日申請日期2009年9月25日優(yōu)先權日2009年9月25日發(fā)明者昱劉,李桂苓,段繼忠,奇汪,榕潘,王忠磊申請人:天津大學