国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      利用線性近似對動畫路徑進行壓縮和重構(gòu)的方法和裝置的制作方法

      文檔序號:6570062閱讀:209來源:國知局
      專利名稱:利用線性近似對動畫路徑進行壓縮和重構(gòu)的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及三維(3D)模型的動畫制作,更加特別涉及利用線性近似對用于動畫制作中的動畫路徑進行壓縮和重構(gòu)的裝置,用于該裝置中的壓縮和重構(gòu)方法,以及用于該裝置和方法的數(shù)據(jù)格式。
      背景技術(shù)
      在三維計算機動畫制作中,使用插值來表現(xiàn)三維模型對象在空間中的運動和旋轉(zhuǎn)、模型變形、顏色改變等等。
      圖1為用于說明在普通3D動畫制作中的動畫路徑,并且垂直軸表示鍵值(KEY_VALUE)并且水平軸表示鍵(KEY)。
      如圖1中所示,動畫路徑20表示3D模型10的動畫軌跡。動畫信息的路徑20是隨時間變化的二維曲線,如圖1中所示。該動畫路徑被由多種方法來表現(xiàn),該方法在由Prentice Hall在1989年由A.K.Jain所著的“數(shù)字圖像處理基礎(chǔ)”的第九章中說明。
      在使用插值的表現(xiàn)中,具有如圖1中所示的曲線形狀的動畫路徑20可以利用多個線段由確定的線條所表示。在該表現(xiàn)中的基本信息包括每條確定的直線段的斷點或頂點。在此,斷點或頂點被表示為在圖1的動畫路徑上的點。利用線性插值,可以從該斷點重構(gòu)原始曲線。
      圖2是用于虛似現(xiàn)實模型語言(VRML)或者MPEG-4中的動畫路徑的表達式(標(biāo)量插值)的一個例子。要被處理的信息包括鍵和鍵值,并且使用給定的信息執(zhí)行線性插值。
      插值可以大概分為6種標(biāo)量插值、位置插值、坐標(biāo)插值、方向插值、標(biāo)準(zhǔn)插值和顏色插值。在這些插值中,標(biāo)量插值可以表達為如圖2中所示。6種插值的特征和功能在下表1中示出,并且所有插值是給定鍵的組合以及對應(yīng)于該鍵的鍵值。
      表1

      圖3為用于說明三維動畫據(jù)格式的示意圖,并且示出編碼器30、解碼器40和三維動畫文件格式50。在此,從編碼器30輸出到解碼器40的三維動畫文件格式50由模型數(shù)據(jù)、動畫數(shù)據(jù)、屬性、視頻/紋理和聲音所形成。
      參見圖3,插值對應(yīng)于有效表達三維動畫路徑的動畫數(shù)據(jù)。由VRML或者MPEG-4所表達的三維動畫數(shù)據(jù)由圖3中所示的信息所形成的。而標(biāo)準(zhǔn)化的壓縮技術(shù)被用于音頻、視頻和三維模型,僅僅面向表達的通用壓縮技術(shù)被用于確定動畫路徑的插值。在包括音頻/視頻的動畫中,用于動畫路徑與三維模型的數(shù)據(jù)量占用了大多數(shù)所需的數(shù)據(jù)量。因此,用于動畫路徑壓縮的技術(shù)與用于三維模型壓縮的技術(shù)一樣都是重要的。盡管該MPEG-4用于場景二進制格式(BIFS)對動畫提供一種基本的量化/壓縮方法,但是該方法不是專用于插值的技術(shù),而是一種通用的壓縮技術(shù)并且具有較差的壓縮性能。這在于2000年在紐約舉行的關(guān)于多媒體的國際會議和博覽會中公開于由Euee S.Jang所著的“三維動畫編碼其歷史和固件”報告中。
      圖4a和4b分別為現(xiàn)有動畫路徑壓縮和重構(gòu)裝置的方框圖。圖4a的現(xiàn)有技術(shù)壓縮裝置由一個標(biāo)量量化單元60所形成。并且圖4b的現(xiàn)有重構(gòu)裝置由一個標(biāo)量去量化單元70所形成。原始動畫路徑以(鍵,鍵值)的形式通過輸入端IN1輸入到圖4a的標(biāo)量量化單元60中,并且被標(biāo)量量化。作為標(biāo)量量化的結(jié)果和編碼位流被通過輸出端OUT1輸出。圖4b的標(biāo)量去量化單元70通過輸入端IN2接收編碼的位流,并且以重構(gòu)的動畫路徑(鍵,鍵值)的形式把數(shù)據(jù)通過輸出端OUT2輸出。
      在現(xiàn)有MPEG-4 BIFS中的插值壓縮需要圖4a中所示的標(biāo)量量化。圖4a的現(xiàn)有壓縮處理不但用于插值而且用于在BIFS中需要壓縮的所有單元。在壓縮次序的反向操作中,利用輸入到圖4b的現(xiàn)有重構(gòu)裝置的編碼位流通過70重構(gòu)動畫路徑。在圖4a和圖4b的裝置中,以統(tǒng)一的方式壓縮插值的鍵和鍵值,而不考慮每種插值的特性,從而不能夠?qū)崿F(xiàn)最大程度的壓縮。

      發(fā)明內(nèi)容
      為了解決上述問題,本發(fā)明的第一個目的是提供一種用于利用線性近似壓縮動畫路徑的裝置和方法,其中以插值形式的動畫數(shù)據(jù)被有效壓縮,從而快速地執(zhí)行數(shù)據(jù)發(fā)送和數(shù)據(jù)存儲。
      本發(fā)明的第二個目的是提供一種動畫路徑重構(gòu)裝置和方法,用于重構(gòu)所壓縮的動畫路徑數(shù)據(jù)。
      本發(fā)明的第三個目的是提供一種用于壓縮動畫路徑數(shù)據(jù)的數(shù)據(jù)格式。
      為了實現(xiàn)本發(fā)明的第一個目的,在此提高一種用于壓縮動畫路徑的裝置,其具有插值分析單元,用于從動畫路徑提取預(yù)定數(shù)目的斷點,并且輸出對應(yīng)于該斷點的鍵和鍵值;鍵編碼器,用于編碼從插值分析單元輸出的鍵;鍵值編碼器,用于編碼從插值分析單元輸出的鍵值;以及熵編碼器,用于分別對在鍵編碼器和鍵值編碼器中編碼的鍵和鍵值進行熵編碼,并且輸出編碼的位流。
      為了實現(xiàn)本發(fā)明的第二目的,在此提供一種用于重構(gòu)動畫路徑的裝置,其具有熵解碼器,用于接收編碼的位流并且對該位流進行熵解碼;鍵值解碼器,用于接收熵解碼結(jié)果和解碼的鍵值;以及插值重構(gòu)單元,用于分別根據(jù)在鍵解碼器和鍵值解碼器中解碼的鍵和鍵值通過線性插值獲得空的鍵值,并且重構(gòu)原始動畫路徑。
      并且,為了實現(xiàn)本發(fā)明的第一目的,在此提供一種用于壓縮動畫路徑的方法,其具有如下步驟從原始動畫路徑提取預(yù)定數(shù)目的斷;利用所提取的斷點提取鍵和鍵值,并且對該鍵和鍵值編碼;以及對編碼的鍵和鍵值進行熵編碼,以獲得編碼的位流。
      為了實現(xiàn)本發(fā)明的第二目的,在此提供一種用于提取動畫路徑的斷點的方法,其中包括如下步驟(a)在動畫路徑上的斷點中選擇在原始動畫路徑的兩個端點上的斷點;(b)在除了兩個所選擇斷點之外的剩余斷點中選擇一個斷點;(c)利用所選擇的斷點,對除了所選擇斷點之外的剩余斷點的鍵值進行插值;(d)根據(jù)所選擇的斷點和插值的鍵值形成近似路徑,選擇在原始動畫路徑和近似動畫路徑之間具有最小路徑差異的一個近似動畫路徑,并且選擇對應(yīng)于所選動畫路徑的斷點;(e)在除了步驟(a)和(b)中選擇的斷點之外的剩余斷點中選擇一個斷點,并且重復(fù)步驟(c)至(e),直到該路徑差小于許可的差值。
      最好,該路徑差由原始動畫路徑和近似動畫路徑所形成的梯形或扭曲梯形的面積和所表達。
      最好,在方向插值中,該路徑差值被定義為在差動旋轉(zhuǎn)變換中的差動旋轉(zhuǎn)角,其是原始動畫路徑的旋轉(zhuǎn)變換與近似路徑的旋轉(zhuǎn)變換之間的差。
      并且,為了實現(xiàn)本發(fā)明的第二個目的,在此提供一種用于重構(gòu)動畫路徑的方法,其具有如下步驟接收和熵解碼一個所編碼的位流;從熵解碼的結(jié)果對鍵和鍵值解碼;以及通過根據(jù)解碼的鍵和鍵值進行線性插值而獲得空的鍵值,來重構(gòu)原始動畫路徑。
      為了實現(xiàn)本發(fā)明的第三個目的,在此提供一種通過對動畫路徑進行編碼而獲得的位流的數(shù)據(jù)格式,該數(shù)據(jù)格式具有鍵標(biāo)志,用于表示在對應(yīng)于動畫路徑的每個斷點的x、y或z坐標(biāo)的鍵值中選擇哪個軸的鍵值;矩陣型的鍵,用于表示在對應(yīng)于每個斷點的x、y或z坐標(biāo)的鍵值中選擇至少一個或多個鍵值;以及用于表示為每個斷點所選擇的鍵值的矩陣型鍵值。


      通過參照附圖詳細描述優(yōu)選實施例,本發(fā)明的上述目的和特點將變得更加清楚,其中圖1為說明在普通三維(3D)動畫中的動畫路徑的示意圖;圖2為用于虛擬現(xiàn)實模型語言(VRML)或者MPEG-4中的動畫路徑的一種表達的例子;圖3為用于說明三維動畫的數(shù)據(jù)格式的示意圖;圖4a和4b分別為現(xiàn)有動畫路徑壓縮和重構(gòu)裝置的方框圖;圖5a和5b分別為根據(jù)本發(fā)明的動畫路徑壓縮和重構(gòu)裝置的方框圖;圖6為圖5a的根據(jù)本發(fā)明的壓縮裝置的優(yōu)選實施例的方框圖;圖7為圖5b的根據(jù)本發(fā)明的壓縮裝置的優(yōu)選實施例的方框圖;圖8a至8h為用于說明根據(jù)本發(fā)明利用線性近似提取斷點的優(yōu)選實施例的示意圖;圖9為用于說明用于獲得實際動畫路徑和近似動畫路徑之間的插值的方法;圖10為量化處理的示意圖,更加具體來說是通常使用的差分脈碼調(diào)制(DPCM)的量化處理;圖11a至11e為用于示出根據(jù)本發(fā)明的編碼位流的格式的示意圖;圖12為用于說明根據(jù)本發(fā)明在語法表達中表達的解碼處理的表格;圖13a至13d為用于把本發(fā)明的壓縮方法和現(xiàn)有壓縮方法相比較的實驗動畫序列的曲線圖;以及圖14a至14f為用于說明根據(jù)本發(fā)明使用球面線性近似提取斷點的另一個優(yōu)選實施例的示意圖。
      具體實施例方式
      在下文本發(fā)明的描述中,所用的插值表達式是用于VRML/MPEG-4中的表達式,并且該插值所使用的領(lǐng)域包括在線計算機游戲、動畫廣告等等。
      圖5a為根據(jù)本發(fā)明用于壓縮動畫路徑的裝置的方框圖,該裝置包括插值分析單元80、鍵(K)編碼器82、鍵值(KV)編碼器84、以及熵編碼器86。圖5b為根據(jù)本發(fā)明用于重構(gòu)動畫路徑的裝置的方框圖,該裝置包括熵解碼器90、鍵解碼器92、鍵值解碼器94以及插值重構(gòu)單元96。
      圖5a的壓縮裝置的插值分析單元80選擇要被編碼的鍵和鍵值,并且可以考慮插值的不同類型的特性而設(shè)計。具體分析的例子將在下文中描述。
      圖6為圖5a的根據(jù)本發(fā)明的壓縮裝置的優(yōu)選實施例的方框圖。圖6的壓縮裝置包括具有標(biāo)準(zhǔn)化單元100和斷點最小化單元102的插值分析單元80、具有差分脈碼調(diào)制(DPCM)量化器104的鍵編碼器82、具有DPCM量化單元106的鍵值編碼器84以及熵編碼器86。
      圖7為圖5b的根據(jù)本發(fā)明的重構(gòu)裝置的優(yōu)選實施例的方框圖。該重構(gòu)裝置包括熵解碼器90、具有DPCM去量化器126的鍵解碼器92、具有DPCM去量化器128的鍵值解碼器、以及具有鍵和鍵值重構(gòu)單元95的插值重構(gòu)單元。
      提供到插值分析單元80的輸入端的插值表達式包括鍵(K)和鍵值(KV)。在圖6的壓縮裝置中,插值分析單元80調(diào)節(jié)斷點數(shù)目,使得通過輸入端IN3輸入的動畫路徑可以用最少數(shù)目的斷點來表達。如果動畫路徑的斷點的原始數(shù)目為N,則從插值分析單元80輸出的該斷點數(shù)被調(diào)節(jié)為M(M≤N)。也就是說,插值分析單元80從輸入到輸入端IN3的原始動畫路徑提取斷點。
      在一個插值中,鍵和鍵值可以被分別標(biāo)準(zhǔn)化并使用。為此,標(biāo)準(zhǔn)化單元100對通過輸入端IN3輸入的原始動畫路徑中的每個鍵和鍵值進行標(biāo)準(zhǔn)化,并且把標(biāo)準(zhǔn)化的結(jié)果輸出到斷點最小化單元102。由VRML所支持的鍵是在0和1之間包括0和1在內(nèi)的一個數(shù)值。
      可以確定插值分析單元80調(diào)節(jié)斷點數(shù)的方式,使得由所調(diào)節(jié)斷點產(chǎn)生的動畫路徑與原始動畫路徑的差值最小。為此,斷點最小化單元102從由標(biāo)準(zhǔn)化單元102輸出的標(biāo)準(zhǔn)化的鍵和鍵值提取斷點,使得所提取斷點的數(shù)目最小化。例如,對于位置插值,斷點最小化單元102確定斷點,使得由插值分析單元80所確定的表示實際路徑和量化路徑之間的誤差的面積最小化。
      同時,現(xiàn)在將描述在圖6的斷點最小化單元102中執(zhí)行的利用線性近似的斷點提取。
      圖8a至8h為用于說明根據(jù)本發(fā)明使用線性近似的提取斷點的優(yōu)選實施例的方框圖。在動畫路徑上的每個點表示一個斷點。圖8a為原始動畫路徑。圖8b示出用于查找該路徑的兩個端點(A,B)的處理。圖8c示出用于選擇最接近于原始路徑的斷點的處理。圖8d示出被首先選擇的斷點A、B和C。圖8e示出用于提取最接近于原始路徑的第二斷點的處理。圖8f示出其次選擇的斷點A、B、C和D。圖8g示出第三次選擇的斷點A、B、C、D和E。圖8h示出第四次選擇的斷點A、B、C、D、E和F。
      當(dāng)給出如圖8a中所示的原始動畫路徑時,重復(fù)執(zhí)行一個處理,用于以端點A和B作為起點在原始動畫路徑上的斷點(N)中查找表示與原始路徑具有最小差別的近擬路徑的斷點(M個斷點,2≤M≤N)。該處理在圖8b至8h中示出。在此時,可以重復(fù)執(zhí)行斷點的提取直到確定近似路徑足夠接近于原始路徑時為止。
      參照附圖,現(xiàn)在將描述使用面積差的方法,作為一種用于獲得近似路徑與實際路徑之間的差的方法。
      圖9為用于說明獲得實際動畫路徑和近似動畫路徑之間的差的方法的示意圖。參照圖9由一個梯形或一個扭曲的梯形來表達兩個路徑之間的差。下面提供用于獲得該梯形的面積的方程1以及用于獲得該扭曲梯形的面積的方程2。實際動畫路徑200和近似動畫路徑210之間的差可以由該梯形的面積與扭曲梯形的面積之和來表達。該面積之和是方程3中所示的兩個路徑之間的面積差(DA)。Dtrapezoid=(a+b)h2&hellip;&hellip;&hellip;(1)]]>Dtwisted_trapezoid=12(a2+b2)(a+b)&CenterDot;h&hellip;&hellip;&hellip;(2)]]>DA=&Sigma;iDtrapezoid+&Sigma;jDtwisted_trapezoid&hellip;&hellip;&hellip;&hellip;(3)]]>提取斷點使得方程3的面積差(DA)最小化。因此,斷點最小化單元102提取斷點。通過插值分析單元80,提取動畫路徑的基本斷點。當(dāng)需要無損處理時,所提取的斷點數(shù)(M)可以與原始斷點數(shù)相同。
      在位置插值中,鍵值表示在具有X、Y和Z軸的三維空間中的一個位置,并且動畫路徑由在X、Y和Z軸上的三條曲線來表示。插值分析單元80可以提取在每條軸上的斷點,并且在此時,在每條軸上的斷點可以與其它軸的斷點不同。如下表格2示出在插值分析單元80中從具有8個斷點(P0,P1,P2,P3,P4,P5,P6,和P7)的實際路徑提取新的斷點的結(jié)果。
      表2

      在表2中,key_flag表示一個鍵標(biāo)志,以及kvx、kvy和kvz分別表示在X、Y和Z軸上的鍵值?!癘”表示選擇對應(yīng)于每個斷點的一個x、y或z坐標(biāo)的鍵值。例如,對斷點P0選擇鍵值kvx。“X”表示不選擇對應(yīng)于每個斷點上的一條軸的鍵值。鍵標(biāo)志表示在每個斷點上在X、Y和Z軸被選擇的軸的鍵值。例如,“7”表示所有軸的所有鍵值被選擇,以及“6”表示選擇除了X軸的鍵值kvx之外的所有鍵值。
      如表2中所示,斷點P1、P3和P6被當(dāng)作不需要的斷點(在key_flag項中由“_”所表示),因為在該斷點上沒有X、Y和Z的鍵值被選擇。P0和P7是在該路徑兩端的斷點,所有軸的鍵值被選擇。在P2,X軸的鍵值不被選擇,但是在另一條軸上的鍵值被選擇。因此,插值分析單元80確定對應(yīng)于五個斷點的鍵,而不是原始的8個斷點,并且確定對應(yīng)于所選擇斷點的每條軸的鍵值。在表2中,需要5個鍵和11個鍵值。鍵和鍵值之間的對應(yīng)關(guān)系由另外發(fā)送的鍵標(biāo)志(key_flag)所表示。因此,鍵和鍵值的數(shù)目從實際路徑的32個(4×8=32)減小為16個鍵和鍵值加上一個附加的鍵標(biāo)志。因此,通過該處理實現(xiàn)表達的簡化。
      圖14a至14f為用于說明根據(jù)本發(fā)明使用球面線性近似提取斷點的另一個優(yōu)選實施例的示意圖。其中示出用于減少在方向插值中的斷點(也被稱為鍵幀)的方法。
      圖14a示出對于在原始動畫路徑上的n+1個時間點在每個斷點上的鍵值(=Q0,Q1,Q2,…,Qn),并且該鍵值由黑點所標(biāo)記。如圖14b中所示,首先選擇對應(yīng)于動畫路徑的兩個端的兩個斷點(=Q0,Qn)。所選擇的點被示出為白點。
      圖14c示出用于在除了兩個所選擇端斷點之外的剩余斷點中選擇一個斷點(第三斷點)的處理。在此時,用于選擇一個斷點的方式數(shù)目為(n-1)。圖4c示出選擇兩個候選值(=Q1,Qk)的例子。對于(n-1)的候選值,使用3個所選擇斷點,對不被選擇的斷點的鍵值執(zhí)行球面線性插值。通過把原始動畫路徑與通過插值獲得的(n-1)個候選動畫路徑中的每一個相比較,選擇具有最小路徑差的候選動畫路徑。在(n-1)個候選斷點中,選擇對應(yīng)于所選擇候選動畫路徑的斷點。作一個例子,圖14d中示出選擇圖1的候選路徑2。通過使用平均誤差Em獲得路徑之間的誤差。
      參照圖14e,在除了圖14d的三個所選擇斷點之外的剩余斷點中選擇一個候選斷點之后,通過執(zhí)行參照圖14c和14d所述的處理選擇第4個斷點。例如,圖14f示出選擇候選1。通過重復(fù)圖14e的斷點選擇處理直到平均誤差小于許可誤差為止,選擇數(shù)目小于或等于原始路徑的斷點數(shù)的斷點。
      現(xiàn)在將描述上述平均誤差Em。量化誤差在差動旋轉(zhuǎn)變換中被定義為差動旋轉(zhuǎn)角,其是原始動畫路徑的旋轉(zhuǎn)變換與重構(gòu)動畫路徑的旋轉(zhuǎn)變換之間的差。也就是說,假設(shè) 表示方向插值的一個鍵值,以及 θ′)表示在重構(gòu)單元96中重構(gòu)的一個鍵值(矢量 表示旋轉(zhuǎn)軸,θ表示旋轉(zhuǎn)量,該旋轉(zhuǎn)量滿足θ∈[-π,π]),當(dāng)由 和 在三維空間中執(zhí)行從任意位置 到 和 的旋轉(zhuǎn)變換,所出現(xiàn)的量化誤差被計算為 與 之間的差。因此,如果 表示一個量化誤差矢量,則 。在四元組表達式中,X、Y和Y’被定義為如下方程4 如果Q和Q’分別表示 和 的四元組表達式,其表示旋轉(zhuǎn)變換,推導(dǎo)出如下方程5Y=Q*X*Q*X=Q**Y*Q…………(5)在此,A*B表示A和B的四元數(shù)乘積,A*表示A的共軛。因此,推導(dǎo)出如下方程6Y′=Q′*X*Q′*=Q′*Q**Y*Q*Q′*=Q″*YQ″*……………(6)在此,Q”是用于表示 與 之間的旋轉(zhuǎn)變換關(guān)系的數(shù)值,并且它由如下方程7所表示Q″=Q′*Q*………(7)因此,如果θ″表示 與 之間的差動旋轉(zhuǎn)角,則可以利用四元數(shù)轉(zhuǎn)換方程和方程7獲得θ″,如下述方程8所示θ″=2cos-1(Q′·Q),θ″∈
      ,q0″=Q′·Q…………(8)(·表示內(nèi)積運算)方程8表示在所有動畫斷點中在預(yù)定時間出現(xiàn)的瞬時量化誤差。為了推導(dǎo)用于獲得所有動畫間隔的量化誤差的方程,在預(yù)定時間t的瞬時量化誤差可以表達為如下方程9
      e(t)=2arccos(Q(t)·Q′(t))………(9)如果由方向插值把方程9應(yīng)用到該動畫的所有斷點間隔,則可以對用于整個間隔[t0,tL]的平均誤差Em推導(dǎo)和最大誤差Ep推導(dǎo)如下方程10 在此,首先對間隔[ti-1,ti]獲得部分和Etm,為了獲得Em,使用如下方程11Emi=&Integral;i-1ie2(t)dt=4&Integral;i-1iarccos2(Q(t)&CenterDot;Q&prime;(t))dt&hellip;&hellip;&hellip;&hellip;&hellip;(11)]]>同時,還推導(dǎo)導(dǎo)出如下方程124arccos2(Q(t)·Q′(t))=φ2(α),t=ti-1+α(ti-ti-1)…………(12)因此,推出如下方程13Emi=(ti-ti-1)&Integral;01&phi;2(&alpha;)d&alpha;&hellip;&hellip;&hellip;&hellip;&hellip;(13)]]>由于難以獲得φ2(α)在0和1之間的定積分,執(zhí)行如下方程14中所示的近似計算&phi;(&alpha;)&cong;&phi;(0)+&alpha;(&phi;(1)-&phi;(0))]]>&phi;2(&alpha;)&cong;&phi;2(0)+&alpha;2(&phi;(1)-&phi;(0))2+2&alpha;&phi;(0)(&phi;(1)-&phi;(0))&hellip;&hellip;&hellip;&hellip;&hellip;(14)]]>在此,cos&phi;(0)2=Q(ti-1)&CenterDot;Q&prime;(ti-1),cos&phi;(1)2=Q(ti)&CenterDot;Q&prime;(ti)&hellip;&hellip;&hellip;&hellip;&hellip;(15)]]>使用近似方程14,獲得如下方程16所示的部分和EimEmi=13(ti-ti-1)(&phi;2(0)+&phi;2(1)+&phi;(0)&phi;(1))&hellip;&hellip;&hellip;&hellip;(16)]]>這些方程可以被重新排列為如下方程17Emi=43(ti-ti-1)(arccos2(Q(ti-1)&CenterDot;Q&prime;(ti-1))+(arccos2(Q(ti)&CenterDot;Q&prime;(ti))]]>+arccos(Q(ti-1)·Q′(ti-1))(arccos(Q(ti)·Q′(ti)))…………(17)在整個間隔[t0,tL]上對部分和Eim求和,以獲得如下方程18中所示的平均誤差EmEm=1tL-t0&Sigma;i=0LEmi&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;(18)]]>為了獲得平均誤差Ep,從在每個間隔[ti-1,ti]中通過如下方程19獲得的最大誤差Eip的數(shù)值中選擇最大值Epi&cong;max|e(t)|=max2|arccos(Q(t)&CenterDot;Q&prime;(t))|&hellip;&hellip;&hellip;&hellip;&hellip;(19)]]>使用上述近似函數(shù),可以把Eip近似為如下方程20中所示Epi&cong;max(&phi;(0),&phi;(1))=max{2|arccos(Q(ti-1)&CenterDot;Q&prime;(ti-1))|,2|arccos(Q(ti)&CenterDot;Q&prime;(ti))|}&hellip;(20)]]>在整個間隔[t0,tL]中的最大誤差Ep由如下方程21所表達Ep&cong;maxEpi,fori=1,2,&hellip;,L&hellip;&hellip;(21)]]>
      圖6中所示的插值分析單元80把關(guān)于鍵的數(shù)目、標(biāo)準(zhǔn)化鍵值的最小值和最大值、鍵和鍵值的分辨率、以及鍵標(biāo)志的信息114發(fā)送到熵編碼器86。在此時,插值分析單元80把鍵110發(fā)送到鍵編碼器82,并且把關(guān)于鍵值的信息,包括標(biāo)準(zhǔn)化鍵值的最大值和最小值,發(fā)送到鍵值編碼器84。
      現(xiàn)在將說明在鍵編碼器82和鍵值編碼器84中的編碼鍵和鍵值。鍵和鍵值被分別用DPCM量化方法在鍵編碼器82和鍵值編碼器84中分別壓縮。量化的信息與其它信息一同被發(fā)送到熵編碼器86,并且作為最終被壓縮編碼的位流通過輸出端OUT3輸出。例如,鍵編碼器82的DPCM量化器104對從插值分析單元80發(fā)送的一個鍵進行編碼(即,對當(dāng)前值和緊接著先前的數(shù)值之間的差進行編碼),并且把編碼的結(jié)果輸出到熵編碼器86。在此時,鍵值編碼器84的DPCM量化器106對由插值分析單元80所發(fā)送的鍵值和該鍵值的最小值及最大值進行DPCM量化編碼(即,對當(dāng)前值和緊接著先前的數(shù)值之間的差進行編碼),并且把編碼的結(jié)果輸出到熵編碼器86。
      圖10為一種量化處理的示意圖并且示出通常使用的DPCM方法。參見圖10,在鍵(k)的情況中,最終誤差(e)被按照如下方程22進行量化壓縮。圖10說明方程22。也就是說,獲得緊接著先前的數(shù)值(Ki-1)和它先前的數(shù)值(Ki-2)。該差值(d1)被加到緊著先前的數(shù)值(Ki-1),以產(chǎn)生一個近似值 。然后,獲得作為該近似值 和當(dāng)前值(Ki)之間的差的最終誤差(e)。同時,該誤差(e)可以作為當(dāng)前值(Ki)和緊接著先前數(shù)值(Ki-1)之間的差而簡單地獲得。
      Ki=0,for i<0d1=Ki-1-Ki-2,K^i=Ki-1+d1,]]>d2=Ki-K^i,]]>e=d2……………(22)
      圖11a至11e為用于示出根據(jù)本發(fā)明的編碼位流的格式的示意圖。圖11a示出根據(jù)本發(fā)明的編碼位流的格式,其包括鍵的數(shù)目(n_key),鍵的分辨率(k_res),鍵值的分辨率(kv_res),鍵值陣列的最小值和最大值([min/max])230,鍵標(biāo)志陣列([key_flag])232,鍵陣列([key])234,以及鍵值陣列([kv])236。在此,[]表示一個陣列。圖11b示出圖11a的鍵值陣列230的最小值和最大值的格式,圖11c示出鍵標(biāo)志陣列232的格式,圖11b示出鍵陣列234的格式,以及圖11e示出鍵值陣列236的格式。
      圖11a的鍵值陣列230的鍵值的最小值和最大值由X,Y和Z軸的最小值(minx,miny和minz)所形成以及由X,Y和Z軸的最大值(maxx,maxy和maxz所形成,如圖11b中所示。鍵標(biāo)志陣列232由n個鍵標(biāo)志(key_flag0,key_flag1,key_flag2,key_flag3,...key_flagn-1)所形成。在此,n表示鍵的數(shù)目。鍵陣列234由n個鍵(key0,key1,key2,...keyn-1)所形成。在此,用于被分類為不需要的斷點的鍵和鍵值的數(shù)據(jù),例如表2中的斷點P1、P3和P6,可以從鍵陣列或鍵標(biāo)志陣列中排除。因此,鍵陣列和/或鍵標(biāo)志陣列可以由小于原始鍵的數(shù)目(n)的數(shù)據(jù)所構(gòu)成。鍵值陣列236由p個第一鍵值(kv_X0,kv_X1,...,kv_Xp-1),q個第二鍵值(kv_Y0,kv_Y1,...,kv_Yq-1),以及r個第三鍵值(kv_Z0,kv_Z1,...,kv_Zr-1)所形成。在此,p≤n,q≤n,以及r≤n。
      同時,用于重構(gòu)根據(jù)本發(fā)明的動畫路徑的裝置的方法被作為壓縮處理的逆轉(zhuǎn)而執(zhí)行。圖7的熵解碼器90通過輸入端IN4接收編碼的位流,對該位流進行熵解碼,并且把熵解碼的結(jié)果輸出到鍵解碼器92和鍵值解碼器94。鍵解碼器92和鍵值解碼器94分別接收量化的鍵和鍵值,這是熵解碼的結(jié)果,并且使用附加信息作為鍵標(biāo)志,在量化之前重復(fù)該數(shù)據(jù)。也就是說,鍵解碼器92接收熵解碼的結(jié)果,并且對該鍵進行解碼,并且鍵值解碼器94接收熵解碼結(jié)果并對該鍵值進行解碼。為此,鍵解碼器92可以用作為DPCM去量化器126,并且鍵值解碼器94被用作為DPCM去量化器128。每個DPCM去量化器126或128用DPCM去量化方法對在熵解碼器92中解碼的輸入數(shù)據(jù)進行解碼。
      插值重構(gòu)單元96接收在鍵解碼器92和鍵值解碼器94中解碼的數(shù)據(jù),并且重構(gòu)原始動畫路徑。插值重構(gòu)單元96從熵解碼器90接收關(guān)于鍵的數(shù)目、標(biāo)準(zhǔn)化鍵值的最小值和最大值、鍵和鍵值的分辨率以及鍵標(biāo)志的信息124,從鍵解碼器92接收鍵120,以及從鍵值解碼器94接收關(guān)于鍵值和標(biāo)準(zhǔn)化鍵值的最小值和最大值的信息122。插值重構(gòu)單元94通過利用輸入信息進行線性插值而重構(gòu)空白鍵值。例如,在表2中,可以利用P0和P4的鍵值通過線性插值重構(gòu)關(guān)于斷點P2的X軸的鍵值。為此,插值重構(gòu)單元96可以被用作為一個鍵和鍵值重構(gòu)單元96。采用(鍵,鍵值)形式的重構(gòu)動畫路徑被通過輸出端OUT4輸出。
      圖12為用于說明在根據(jù)本發(fā)明的程序語言中表達的解碼處理的表格,該表格也被稱為位流語法。
      參照附圖,現(xiàn)在將把根據(jù)本發(fā)明的利用線性近似的壓縮動畫路徑的方法與利用MPEG-4 BIFS的用于插值壓縮的現(xiàn)有方法相比較。
      圖13a至13d為用于把本發(fā)明的壓縮方法與現(xiàn)有壓縮方法相比較實驗動畫序列的曲線圖。垂直軸表示失真度,水平軸表示位數(shù),根據(jù)本發(fā)明的用于壓縮動畫路徑的方法由粗線所表示,并且現(xiàn)有的壓縮方法由虛線所表示。圖13a至13d示出仿真的結(jié)果,在每個圖中采用不同的動畫路徑。本發(fā)明的方法按照圖13b-13a-13d-13c的次序表現(xiàn)出逐步增加的效果。在相同的位率,本發(fā)明的要求方法表現(xiàn)出比現(xiàn)有BIFS方法好的多的圖像質(zhì)量,而在相同的圖像質(zhì)量下,本發(fā)明的要求方法表現(xiàn)出更好的壓縮率。
      如上文所述,動畫路徑的插值表現(xiàn)被用于利用斷點簡化路徑。但是,在現(xiàn)有的方法中,每個鍵之間的間隔被均勻地形成在路徑的表現(xiàn)上,因此斷點被過采樣。但是,在本發(fā)明中,通過分析斷點,獲得具有最小斷點數(shù)的簡化編碼位流。DPCM壓縮在斷點之間保持更高的線性相關(guān)性,因此利用較高的相關(guān)性能夠?qū)崿F(xiàn)有效的壓縮。
      權(quán)利要求
      1.一種用于壓縮動畫路徑的裝置,其包括插值分析單元,用于從動畫路徑提取預(yù)定數(shù)目的斷點,并且輸出對應(yīng)于該斷點的鍵和鍵值;鍵編碼器,用于編碼從插值分析單元輸出的鍵;鍵值編碼器,用于編碼從插值分析單元輸出的鍵值;以及熵編碼器,用于分別對在鍵編碼器和鍵值編碼器中編碼的鍵和鍵值進行熵編碼,并且輸出編碼的位流。
      2.根據(jù)權(quán)利要求1所述的裝置,其中插值分析單元確定斷點的數(shù)目,使得近似動畫路徑與原始動畫之間的差被最小化,該近似動畫路徑是通過在原始動畫路徑的斷點中提取的預(yù)定數(shù)目的斷點而獲得的。
      3.根據(jù)權(quán)利要求1所述的裝置,其中鍵編碼器通過差分脈碼調(diào)制(DPCM)量化方法對從插值分析單元輸出的鍵進行編碼。
      4.根據(jù)權(quán)利要求1所述的裝置,其中鍵值編碼器利用DPCM量化方法對從插值分析單元輸出的鍵值信息編碼。
      5.根據(jù)權(quán)利要求1所述的裝置,其中以該原始路徑的端點作為起點,該插值分析單元在斷點中查找表示與原始路徑具有最小差別的近擬路徑的斷點M個斷點,并且該處理被重復(fù)執(zhí)行直到一條近似路徑接近于原始路徑時為止。
      6.根據(jù)權(quán)利要求5所述的裝置,其中確定斷點使得原始動畫路徑和近似動畫路徑之間的面積差為最小。
      7.根據(jù)權(quán)利要求3或4所述的裝置,其中DPCM量化是對當(dāng)前值與緊接著在前的數(shù)值之間的差進行編碼,或者對當(dāng)前值與近似值之間的差進行編碼,該近似值是通過把緊接著在前數(shù)值加到該緊接著在前與其先前數(shù)值之間的差上而獲得的。
      8.一種用于重構(gòu)動畫路徑的裝置,其中包括熵解碼器,用于接收編碼的位流并且對該位流進行熵解碼;鍵解碼器,用于接收熵解碼的結(jié)果和并對鍵進行解碼;鍵值解碼器,用于接收熵解碼的結(jié)果并且對鍵值進行解碼;以及插值重構(gòu)單元,用于分別根據(jù)在鍵解碼器和鍵值解碼器中解碼的鍵和鍵值通過線性插值而獲得的空鍵值,并且重構(gòu)原始動畫路徑。
      9.根據(jù)權(quán)利要求8所述的裝置,其中鍵解碼器通過DPCM去量化方法對從熵解碼器輸入的熵解碼結(jié)果進行解碼。
      10.根據(jù)權(quán)利要求8所述的裝置,其中鍵值解碼器通過DPCM去量化方法對從熵解碼器輸入的熵解碼結(jié)果進行解碼。
      11.一種用于壓縮動畫路徑的方法,其包括如下步驟從原始動畫路徑提取預(yù)定數(shù)目的斷;利用所提取的斷點提取鍵和鍵值,并且對該鍵和鍵值編碼;以及對編碼的鍵和鍵值進行熵編碼,以獲得編碼的位流。
      12.一種用于重構(gòu)動畫路徑的方法,包括如下步驟接收編碼的位流,并對其進行熵解碼;對來自熵解碼結(jié)果的鍵和鍵值進行解碼;以及通過根據(jù)解碼的鍵和鍵值進行線性插值而獲得空鍵值來重構(gòu)原始動畫路徑。
      13.一種通過對動畫路徑進行編碼而獲得的位流的數(shù)據(jù)格式,該數(shù)據(jù)格式包括矩陣型鍵標(biāo)志,用于表示在對應(yīng)于動畫路徑的每個斷點的x、y或z坐標(biāo)的鍵值中選擇哪個軸的鍵值;矩陣型的鍵,用于表示在對應(yīng)于每個斷點的x、y或z坐標(biāo)的鍵值中選擇至少一個或多個鍵值;以及用于表示為每個斷點所選擇的鍵值的矩陣型鍵值。
      14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)格式,其中進一步包括對應(yīng)于X、Y和Z坐標(biāo)軸的鍵值的最小值;以及對應(yīng)于X、Y和Z坐標(biāo)軸的鍵值的最大值。
      15.根據(jù)權(quán)利要求12所述的數(shù)據(jù)格式,其中陣列型鍵標(biāo)志包括M個數(shù)據(jù),M等于或小于原始鍵的數(shù)目。
      16.根據(jù)權(quán)利要求12所述的數(shù)據(jù)格式,其中陣列型鍵包括M個數(shù)據(jù),M等于或小于原始鍵的數(shù)目。
      17.根據(jù)權(quán)利要求12所述的數(shù)據(jù)格式,其中鍵值包括對應(yīng)于x軸的p(≤n)個第一鍵值,對應(yīng)于y軸的q(≤n)個第二鍵值,以及對應(yīng)于z軸的r(≤n)個第三鍵值,以及n表示鍵的數(shù)目。
      18.一種用于提取動畫路徑的斷點的方法,其中包括如下步驟(a)在動畫路徑上的斷點中選擇在原始動畫路徑的兩個端點上的斷點;(b)在除了兩個所選擇斷點之外的剩余斷點中選擇一個斷點;(c)利用所選擇的斷點,對除了所選擇斷點之外的剩余斷點的鍵值進行插值;(d)根據(jù)所選擇的斷點和插值的鍵值形成近似路徑,選擇在原始動畫路徑和近似動畫路徑之間具有最小路徑差異的一個近似動畫路徑,并且選擇對應(yīng)于所選動畫路徑的斷點;(e)在除了步驟(a)和(b)中選擇的斷點之外的剩余斷點中選擇一個斷點,并且重復(fù)步驟(c)至(e),直到該路徑差小于許可的差值。
      19.根據(jù)權(quán)利要求18所述的方法,其中路徑差由原始動畫路徑和近似動畫路徑形成的梯形或扭曲梯形的面積和來表達。
      20.根據(jù)權(quán)利要求18所述的方法,其中在方向插值中,該路徑差值被定義為在差動旋轉(zhuǎn)變換中的差動旋轉(zhuǎn)角,其是原始動畫路徑的旋轉(zhuǎn)變換與近似路徑的旋轉(zhuǎn)變換之間的差。
      全文摘要
      在此提供一種用于利用線性近似壓縮和重構(gòu)動畫路徑的方法,用于執(zhí)行該方法的裝置,及其數(shù)據(jù)結(jié)構(gòu)。該用于壓縮動畫路徑的裝置包括:插值分析單元,用于從動畫路徑提取預(yù)定數(shù)目的斷點,并且輸出對應(yīng)于該斷點的鍵和鍵值;鍵編碼器,用于編碼從插值分析單元輸出的鍵;鍵值編碼器,用于編碼從插值分析單元輸出的鍵值;以及熵編碼器,用于分別對在鍵編碼器和鍵值編碼器中編碼的鍵和鍵值進行熵編碼,并且輸出編碼的位流。根據(jù)該方法,通過分析斷點,獲得具有最小數(shù)目的斷點的簡化編碼位流。
      文檔編號G06T13/20GK1356669SQ0113942
      公開日2002年7月3日 申請日期2001年11月23日 優(yōu)先權(quán)日2000年11月23日
      發(fā)明者張義善, 金道均, 禹相玉 申請人:三星電子株式會社
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1