專利名稱:編碼方法和編碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像編碼和解碼。具體地說,本發(fā)明涉及對流式媒體中的視頻進行編碼和解碼的方案。流式媒體意味著視頻是通過網(wǎng)絡(luò)實時地從發(fā)送方傳輸給接收方,而顯示在接收方的終端上。
任何視頻信號都可以通過放棄一些幀來進行壓縮,即降低幀速率和/或減小幀大小。在彩色視頻中,有效選擇彩色表示可進一步將可視相關(guān)信息降低至一半或更低,例如從RGB到Y(jié)CrCb表示的標準轉(zhuǎn)換。YCrCb是通過線性變換從RGB中得到的另一種24比特彩色表示。Y分量為0~255之間的值,相應(yīng)于彩色的亮度或灰度級別值。Cr和Cb分量為-128~+127之間的值,定義色度或彩色平面。在徑向坐標中,圍繞原點的角度或色調(diào)確定實際彩色,而與原點的距離對應(yīng)于彩色的飽和度。在以下,假設(shè)采用這些步驟,并且重點在于優(yōu)化編碼剩余幀中存在的詳細信息。
所有視頻壓縮技術(shù)一方面利用幀之間或幀內(nèi)存在的相互關(guān)系,另一方面利用對人類的視覺系統(tǒng)的限制的了解??梢詫χT如靜止物體和具體固定色彩區(qū)域等相互關(guān)系進行無損耗壓縮,而通過定義損耗來省略不可視細節(jié)。此外,壓縮需要對再現(xiàn)圖像中的細節(jié)和彩色的準確性進行折衷考慮。
在視頻中沒有剪輯(場景變化)的情況下,只有在場景中的攝像機和/或一些物體移動時,連續(xù)的幀才是不同的。通過找到這些移動的方向和幅度并將由此產(chǎn)生的移動信息發(fā)送給接收方,可以有效地對這樣的一系列幀進行編碼。這種過程被稱為運動補償;參考前邊幀的基本思想被稱為INTER(幀)編碼。于是,一個INTER幀非常接近前邊的幀。通過有關(guān)前邊幀的知識和一些表示所需變化的額外信息可以重構(gòu)這樣的幀。為了便于了解所能得到的壓縮率,假設(shè)有一個8×8的塊2(參見圖2和圖3),這相當于原始表格中的8×8×24=1536個比特。如果在兩個連續(xù)幀1之間的塊移動被限制在例如-7~7像素之間,則用8比特來表示二維運動向量,從而產(chǎn)生的壓縮率為192。
為了運用該過程,每一剪輯之后的第一個幀需要被如此地壓縮,將此稱為INTRA編碼。于是,INTRA幀是一個作為不參考任何其他幀的單獨圖像來壓縮的視頻幀。在視頻開始和剪輯處需要INTRA幀,并且周期性地刷新視頻以便能對誤差進行恢復(fù)。
保持壓縮視頻的良好視覺質(zhì)量正是所有實際視頻壓縮技術(shù)所面臨的許多需求之一。為了商業(yè)目的,編碼過程應(yīng)足夠快,以便對大量視頻內(nèi)容編碼。除了可能在計算機存儲器中對幀進行初始緩沖存儲外,對視頻的觀看通常是實時進行的,這需要對視頻進行實時解碼和重放。從PC到PDA(個人數(shù)字助理),可能甚至是第三代移動電話等預(yù)期的平臺在用于編/解碼的存儲器使用和處理能力方面做了進一步限制。
對于所謂的流式視頻來說,快速解碼甚至更重要,所謂的流式視頻是在他或她正在觀看時,實時地將視頻發(fā)送給接收器。對于流式視頻來說,有限的數(shù)據(jù)傳輸容量決定了在視頻全長上的最小壓縮比率。這是因為用于發(fā)送視頻的比特率必須總是保持在可用帶寬之內(nèi)。
大多數(shù)視頻壓縮技術(shù)包括兩個部件用于壓縮視頻的編碼器和將下載和安裝在所有視頻觀看者的計算機中的解碼器或播放器。盡管對于每個播放器版本只需下載一次,但是逐漸產(chǎn)生一種需要無播放器的流式視頻方案的趨勢,所有因特網(wǎng)用戶對此都有興趣。在此方案中,將小播放器應(yīng)用程序和視頻流一起發(fā)送給接收端。為了使由于這種開銷信息而產(chǎn)生的等待時間最小,應(yīng)用程序,即解碼器,應(yīng)非常簡單。
對于本文中的目的來說,考慮灰度等級幀/圖像就足夠了(彩色圖像和不同彩色表示是隨之直接向前生成的)。像素的灰度等級值被表示為亮度Y。它們在一幀中形成了一個二維數(shù)組,并且編碼過程是對該數(shù)組以盡可能保持圖像中的可視相關(guān)信息的方式來進行壓縮和解壓縮。
在INTRA方式中,(對INTRA幀進行編碼的視頻或圖像壓縮技術(shù))每幀只是一個灰度—等級比特像。在實際中,通常將圖像劃分成由N×N個像素組成的塊2,并且與其他塊獨立地對每一塊進行分析,參見圖3。
壓縮圖像塊信息的最簡單的方式是降低表示亮度值的準確性。代替原始的256個可能的亮度值,人們可能考慮用128(值0,2,...254)或64(值0,4,...252)個值,從而分別將表示亮度信息所需的每個像素的比特數(shù)減小了12.5%和25%。同時,這種標量量化過程導(dǎo)致編碼誤差;在前邊的示意性例子中,平均誤差分別是每個像素0.5和1個亮度單位。然而,標量量化沒有什么效果,因為它忽視了在任何實際圖像中存在的相鄰像素和塊之間的所有相互關(guān)系。
一種考慮像素之間相互關(guān)系的方法是把圖像,也即像素的亮度值看成一個二維表面。許多現(xiàn)有的圖像壓縮算法都基于函數(shù)變換,其中該表面的函數(shù)變換被分解成一些基本函數(shù)集。
最廣泛應(yīng)用的變換是離散余弦變換(DCT)和離散子波變換(DWT),其中基函數(shù)分別是由余弦和子波形成。較大塊大小考慮了較長距離上像素之間的相互關(guān)系;基本函數(shù)的數(shù)量在此同時按N2來增長。例如在JPEG和MPEG標準中,用于DCT代碼化的塊大小為8×8。DCT和DWT之間的關(guān)鍵差別是,在前者中,基本函數(shù)是沿整個塊擴展的,而在后者中,基本函數(shù)是在空間上局部化的。
在INTER方式中,(INTER方式是在壓縮INTER幀或塊中使用的視頻壓縮技術(shù)。INTER方式參考前邊的幀并且可能修改它們。運動補償技術(shù)是可表示的INTER方式。)運動補償塊可能與原始圖像不完全匹配。在許多情況下,由此產(chǎn)生的誤差是引人注目的,但仍然很小,很容易將校正信息傳送給接收端,而不是將整個塊編碼成新的。這是因為誤差通常較小,可以用較少比特而不是實際圖像塊中的亮度值來表示它們。除了這種特性外,可以按與它們本身圖像塊相類似的方式來編碼差別塊。
作為另外一種函數(shù)變換,可以使用向量量化(VQ)。在VQ方法中,將N×N圖像塊2,或N2向量3(參見圖3)與來自預(yù)先訓(xùn)練的碼本的相同大小的向量進行匹配。對于每塊,選擇最佳匹配的代碼向量來表示原始圖像塊。于是,可以用有限個代碼向量4來表示所有圖像塊2,即向量被量化。將最佳匹配向量的索引發(fā)送給解碼器,并且通過從相同碼本的解碼器拷貝中找到向量來恢復(fù)圖像。
VQ的編碼質(zhì)量取決于在準備碼本時使用的訓(xùn)練圖像集及碼本中的向量數(shù)目。向量空間的維數(shù)取決于塊維數(shù)N的平方(N2個像素值),而可能的向量數(shù)目按 增長—碼本中的向量應(yīng)代表所有這些向量。于是,為了在增加塊大小的同時維持穩(wěn)定的編碼圖像質(zhì)量,所需的碼本大小會按指數(shù)增加。這導(dǎo)致需要大存儲器并且對于每個向量都會導(dǎo)致產(chǎn)生相當長的搜索時間。已提出一些基本VQ方案的擴展方案,以便在滿足較小存儲器和/或較短搜索時間的需求的同時獲得良好質(zhì)量。
諸如樹搜索VQ等擴展方案目的在于與碼本大小相比縮短搜索時間。這些算法并沒有改善圖像質(zhì)量(而是使其惡化),對這些算法感興趣僅是由于它們有可能提高其他基于VQ的算法的速度。
目的在于改善圖像質(zhì)量的VQ算法通常使用一個以上的專用碼本。根據(jù)算法的詳細情況,可將它們劃分成兩類它們或者通過迭代來改進編碼圖像塊,參見圖4,使用另一碼本對一階段的編碼誤差進一步編碼,從而減小剩余誤差,或者它們首先對每一塊中的圖像材料進行分類;然后對于不同種材料(邊、紋理、光滑表面)使用不同碼本(411、412、413)。通常將這種多階段變化方案稱為級聯(lián)或分級VQ,而將后者稱為分類VQ。所有這些方案的目的在于通過使碼本專門化來降低向量空間的有效維數(shù)。代替表示所有的可能圖像塊,而是例如使一碼本專用于誤差向量,其元素被限定為一給定值(級聯(lián))之下或具有沿這些元素的邊的塊(分類)。在級聯(lián)VQ變化方案中,經(jīng)常通過減小各階段之間塊的大小進一步降低向量維數(shù)。
變換代碼化技術(shù)的最關(guān)鍵的好處在于它們可分析可預(yù)測特性,并且按它們之間的相關(guān)重要性來排列由此產(chǎn)生的去相關(guān)系數(shù)。
諸如所有基本函數(shù)在相同塊區(qū)域上擴展上的DCT變換與基本函數(shù)的空間位置和擴展是變化的類似DWT方法相比,更易于阻止出現(xiàn)贗象。這種差別是明顯的,例如在對包含銳變邊(在黑和亮區(qū)域發(fā)生突變)的圖像塊編碼時。原理上,這種塊的DCT在至少一個空間方向上產(chǎn)生所有頻率。相反,該塊的DWT可能僅導(dǎo)致一些非零系數(shù)。另一方面,DCT對于編碼大的平滑變化的表面和紋理更有效,反過來它需要大量非零子波系數(shù)。
在大多數(shù)實際圖像塊中,零變換系數(shù)的數(shù)目至少相當于非零變換系數(shù)的數(shù)目。于是,這些變換技術(shù)的編碼效率很大程度上由表示零的效率確定,對于每一個零不占用比特并且不發(fā)送這些比特。在DCT中,按最重要和頻繁出現(xiàn)到最不重要和很少出現(xiàn)的順序?qū)ο禂?shù)排序。經(jīng)常會出現(xiàn)一系列零,于是可以有效地進行游長編碼。在DWT中,將系數(shù)排列成空間上獨特的分級結(jié)構(gòu),其中零系數(shù)通常一次出現(xiàn)在分級結(jié)構(gòu)的整個分枝上。這種分枝可以由一個代碼字集體地被置空。
所有變換代碼化技術(shù)都有一主要的共同缺點,即它們解碼方計算量很大。解碼涉及逆函數(shù)變換,并且只有在PC級處理器上才能快速進行。PDA設(shè)備和移動電話都不能滿足這種要求。通常變換代碼化還依賴于在觀看任何視頻前需要下載和安裝的特定播放器方案。
在不同的編碼情況下,還會出現(xiàn)其他變換編/解碼缺點。原始的和編碼的幀以及各個塊之間的差別取決于圖像初始編碼中使用的方法。對于變換代碼化方法來說,剩余的差別只是由于量化誤差引起的,而對于運動補償方案或VQ型技術(shù),盡管差別幅值不大,但通常相對是隨機的。在這種情況下,函數(shù)變換產(chǎn)生非零元素的任意組合,這可能比實際圖像系數(shù)更難壓縮。
向量量化技術(shù)的優(yōu)點和缺點與變換編/解碼技術(shù)正好相反。壓縮技術(shù)總是非對稱的,強調(diào)極亮解碼過程。在其最簡單的形式中,解碼僅由對代碼向量進行表查詢組成??梢允共シ牌鞯膽?yīng)用程序很小,并且在視頻流開始時發(fā)送它。
代碼向量對應(yīng)于整個N×N塊,或者替代地對應(yīng)于用于一個這樣塊的所有變換系數(shù)。如果對于每一塊發(fā)送一個向量索引,則塊大小愈大,則壓縮率愈大。然而,需要一個大碼本以便對于大N獲得良好質(zhì)量。這意味著編碼—向量搜索—和向接收端傳送碼本都需要較長時間。
另一方面,塊愈小,編碼結(jié)果愈準確。較小的塊或向量還需要較小的碼本,這樣需要較少的存儲器并且能夠更快地發(fā)送給接收端。此外,代碼向量搜索操作更快,從而使整個編碼過程更快。較小塊的缺點是需要傳送大量索引。
在改進的VQ變化方案中,將向量空間劃分成幾個部分,并且為各部分準備一個碼本。具體地說,在級聯(lián)VQ中,通過有效增加通過后繼編碼階段獲得的可獲得向量V的數(shù)量來改善圖像質(zhì)量。在理想情況下,即在不同階段的向量是正交的,增加一個具有Vi個向量的碼本的階段i,將使V增加到VxVi。該過程能夠以合理的總碼本大小和搜索時間有效地改善圖像質(zhì)量。這種改進的代價是編碼每塊所需的比特數(shù);如果Vi=2n則增加了n。如果在各階段之間降低塊大小,可以進一步改善圖像質(zhì)量。
然而級聯(lián)VQ存在兩個問題。首先是根據(jù)現(xiàn)實差別塊來訓(xùn)練碼本,而不參考人類視覺系統(tǒng)。結(jié)果是,向量不必進行校正,它在視覺上最合意。其次,隨著階段數(shù)增加,編碼每塊需要的比特數(shù)增加,甚至如果中途塊大小減小比特數(shù)增加更快。
本發(fā)明的目的在于解決以上問題。
發(fā)明內(nèi)容
在閱讀本說明書中應(yīng)考慮以下定義。
基本方式用于編碼圖像或視頻幀的圖像或視頻壓縮技術(shù)。該術(shù)語用于與差別方式相區(qū)別。
代碼化壓縮、編碼。由于在本文的代碼化中,壓縮是一項基本操作,所以可以將代碼化理解為壓縮操作。
解碼解壓縮。
差別方式用于對兩幀,通常為原始和編碼幀,之間的差別進行編碼的圖像或視頻壓縮技術(shù)。在后一種情況下,這種差別稱為編碼誤差。
失真編碼誤差的量度。通常為原始和編碼亮度值在像素上的差別的歐幾里德范數(shù)。
編碼壓縮。
根據(jù)本發(fā)明的方案組合了幾種現(xiàn)有方案的優(yōu)良特性。簡單地說,它是一種由DCT和DWT方法獲得的具有某些改進的級聯(lián)VQ的變化方案。本發(fā)明的基本方面是,當訓(xùn)練碼本用于預(yù)先確定由此產(chǎn)生的代碼向量的頻率分布時,對碼本進行預(yù)處理,并且對每一塊獨立地代碼化和解碼,這是使用對特定塊代碼化所需的一些差別代碼化階段來進行的。本發(fā)明使用差別塊作為輸入,并且對它進行進一步編碼以一種與需要額外比特的相比有效的方式來降低剩余誤差。差別塊可能來自于包括VQ編碼、運動補償、DCT和DWT等任何可能的基本編碼。本發(fā)明與速率(bps)成正比地有效地改善了圖像質(zhì)量,無論是INTER還是INTRA編碼幀。
根據(jù)上述問題,本發(fā)明涉及用于壓縮數(shù)據(jù)的編碼方法,在該方法中,首先對數(shù)據(jù)編碼,形成原始數(shù)據(jù)和編碼數(shù)據(jù)之間的差別數(shù)據(jù),將該差別數(shù)據(jù)劃分成一個或多個第一塊,至少在一個階段對第一塊進行編碼,每個階段包括編碼操作,并且如果需要下一階段,計算當前差別塊和編碼的當前差別塊之間的后續(xù)差別塊,按以下方式執(zhí)行連續(xù)階段在前一階段計算出的差別塊作為后續(xù)階段的輸入,在每一階段使用一個專用于該階段編碼的碼本,直到最后階段,使用最后碼本對先前的差別塊和編碼的先前差別塊之間的最終差別塊進行編碼,用于所述差別塊的碼本包括通過訓(xùn)練差別材料訓(xùn)練的代碼向量,并且在訓(xùn)練之前,預(yù)處理訓(xùn)練差別材料以便單獨采用每個代碼向量的頻率分布,相對于數(shù)據(jù)的特定信息進行加權(quán),并且使用每個特定塊所需的必要數(shù)量的階段獨立地編碼每個塊。
本發(fā)明還涉及一個編碼器,按以下方式利用本發(fā)明的編碼方法,相對于特定頻率分布加權(quán)用于使差別代碼化的至少一碼本,并且該編碼器包括一個評價單元,為特定的塊指定所需的必要數(shù)量的階段。
進一步考慮本發(fā)明的編碼,本發(fā)明涉及用于解壓縮數(shù)據(jù)的解碼方法,該方法包括用于對編碼的差別數(shù)據(jù)解壓縮的碼本,其中至少一個所述碼本包括相對于特定頻率分布已加權(quán)的代碼向量,并使用碼本一起執(zhí)行解壓縮結(jié)果,它至少包括最重要頻率。
此外,本發(fā)明涉及解碼器,使用對編碼的差別數(shù)據(jù)進行解壓縮的碼本,其中至少一個碼本已相對于特定頻率分布加權(quán)。
具體實施例方式
圖4圖示了一種已知向量量化裝置的一個示例。本發(fā)明顯著地改進了該裝置的性能,擴展了使用該裝置的能力范圍。應(yīng)當注意,如果在本文中塊是用單數(shù)形式提及的,(雖然在實際中,圖像的所有塊被代碼化/解碼,)則該單數(shù)形式有助本文的以下部分的理解。
讓我們來考慮一個原始的8*8塊。在第一階段,使用一個碼本45或者替代的幾個碼本411,代碼化41該塊??梢宰⒁獾?,分類的碼本可以被用在一個級聯(lián)VQ中。由于該代碼化是關(guān)于該原始塊的,所以第一階段屬于基本方式。在原始塊和代碼化塊之間的差別416被計算48。該差別,即編碼誤差,可以被例如以標準方式測量作為失真dtot2=Σi=1NΣj=1Ndi,j2=Σi=1NΣj=1N(Yi,j0-Yi,je)2,]]>其中,dtot表示N*N塊的總失真,di,j表示塊的第i行和第j列的像素的失真;Yi,j0和Yi,je分別是原始塊和編碼塊中該像素的亮度值。
失真塊414被分為四個4*4子塊417,在第二階段(差別方式)使用碼本A46或者替代的幾個碼本412,編碼42這些子塊。每個差別代碼化的4*4塊被從原始4*4差別塊中減去49。剩下的差別418然后進步被分成四個2*2子塊415。使用另一個碼本E47或者替代的多個碼本413編碼43每個2*2差別子塊419。每個被代碼化的2*2差別塊被從原始2*2差別塊中減去410,以獲得最終剩余差別。應(yīng)注意,替代地在每個階段塊大小可以保持,在這種情況中不進行塊的分割。
用實際的“圖像”材料訓(xùn)練每個碼本,即,在差別方式下用該碼本將被使用的階段中出現(xiàn)的實際差別塊訓(xùn)練。該教授包括找到最佳地代表訓(xùn)練集的給定數(shù)量的向量。這是通過使用標準k-均值算法(k-means algorithm)得到的。優(yōu)良度的測量是訓(xùn)練向量和最接近它們的代碼向量之間的歐幾里德距離的和。
到目前為止描述的過程與通常的級聯(lián)VQ相同,并且具有相同的優(yōu)點,例如簡單解碼。本發(fā)明包括對其的兩個修改,這兩個修改被設(shè)計用來解決主要的弱點和提高性能。
首先,如圖5所示,在訓(xùn)練碼本中使用的訓(xùn)練材料將被預(yù)處理51,以預(yù)先確定由此產(chǎn)生的代碼向量的頻率分布。這是通過以下步驟完成的余弦變換全部訓(xùn)練塊,通過將它們的系數(shù)設(shè)為零去除某個方式的選擇,并且最后通過逆變換獲得新的訓(xùn)練塊。應(yīng)當注意,DCT不是預(yù)處理訓(xùn)練材料的唯一方法,可以使用其它適合的函數(shù)變換。
在該過程后面的本發(fā)明是雙重的。一方面,將有限數(shù)量的比特集中在校正的頻率誤差比試圖校正包含所有頻率的整個塊視覺上更重要。代表頻率的系數(shù)可以按照對于觀測人的重要性分級眼睛對于低空間頻率比高空間頻率更敏感。這并不必須以某種絕對的方式表示低頻率,因為塊大小越小所有的頻率越高,并且因此進行基本函數(shù)的擴展。換句話說,產(chǎn)生的代碼向量適應(yīng)于希望的頻率分布。
其次,在用不同頻率范圍訓(xùn)練的兩個或更多的代碼本中的代碼向量至少接近正交并且可以被有效地一起使用彼此互補。這個概念增加了用基本編碼和兩個或更多差別編碼階段的組合獲得的可能的代碼向量的數(shù)量。對于有限數(shù)量的DCT頻率的代碼向量的限制有效地減少了向量維數(shù)。因此,一個給定大小的碼本比不進行頻率選擇更好地與訓(xùn)練向量匹配。這個事實導(dǎo)致在差別塊中視覺重要的組成部分的更加有效的編碼。
實際應(yīng)用的一些可能頻率選擇包括具有最低頻率的塊,具有零均值的塊,和具有中間頻率的塊(比第一種情況中高,但不是最高的)。在預(yù)處理之后,進行實際的訓(xùn)練52,從中發(fā)現(xiàn)最佳匹配代碼向量53,并且形成碼本。
對標準級聯(lián)VQ的另一修改是關(guān)于差別編碼的空間適應(yīng)性。在DWT思想中,分別針對每個塊決定進一步的差別方式的使用,即,一個塊的編碼可能包括差別編碼的幾個連續(xù)的階段,而其相鄰塊被決定僅僅用基本方式編碼就足夠了。
圖6和圖7圖示了用塊特定數(shù)目個代碼化階段將每個塊代碼化的本發(fā)明的方法的一個簡單示例。圖6顯示了一個8*8塊ORG,該塊被代碼化(比較圖4,41)并且在第一階段,原始和代碼化的塊之間的差別被劃分(圖4,417)成4*4塊D1A至D1D。在此之后,針對進一步代碼化階段的需要檢查每個塊。由于原始8*8塊表示穿過統(tǒng)一背景的一條線61,第一階段的代碼化對于塊D1A足夠了,該塊中只有背景。根據(jù)檢查,其它塊D1B至D1D需要進一步代碼化。
圖7顯示了在第二階段,代碼化的4*4差別塊(圖4,415)劃分成2*2塊D22A-D22D,D23A-D23D,和D24A-D24D。在該分割之后,針對進一步代碼化階段的需要,檢查每個塊。由于塊D22A,D22B,D22C,D23A,D23B,D23C,D24B,D24C和D24C只顯示穿過統(tǒng)一背景或者單純的背景的線61的一個小部分,第二階段的代碼化對于這些塊是足夠了。其它塊D22D,D24A和D23D需要進一步的第三代碼化階段。作為代碼化原始8*8塊的結(jié)果,一個4*4塊,即塊D1A,被使用一個階段代碼化,幾個2*2塊(塊D22A,D22B,D22C,D23A,D23B,D23C,D24B,D24C和D24C)被使用兩階段代碼化,以及三個2*2塊(D22D,D24A和D23D)被使用三階段代碼化。
對用使用附加代碼化階段的判斷是基于某種成本函數(shù)形式的速率-失真考慮,該成本函數(shù)涉及使用附加比特的相對成本同時獲得塊失真的某種減小。換句話說,如果使用附加階段的成本太大,附加階段就不需要。成本函數(shù)可以按希望的方式加權(quán),即以失真的比例加權(quán)使用的比特的成本。進而,應(yīng)如何在更大范圍內(nèi)理解,加權(quán)考慮每一失真值(例如亮度或色度成份的失真值)比特的加權(quán)使用。比特的使用可以在失真值的范圍中線性地或者非線性地被加權(quán)。
這個過程的優(yōu)點是增加了每個幀中比特分配的靈活性。結(jié)果,困難的區(qū)域可以用一系列差別方式和碼向量編碼,而簡單的區(qū)域可以校正一次或保留原樣。該靈活性對于任意給定比特率增加了差別階段的使用。
由于以上所述的原因,本發(fā)明的裝置需要用于檢查使用附加代碼化階段的需要的評價單元。如圖8所示,優(yōu)選地,評價單元102可以被實施在使用的分割模塊中(比較圖4,414,415和410),但是評價單元也可以使一個單獨的模塊。
本發(fā)明的裝置將一個差別塊作為每個差別方式階段的輸入并且將其編碼為了進一步以與所需的附加比特相比以有效的方式減小剩余的誤差。差別塊可以是前面編碼的結(jié)果例如基本VQ編碼,運動補償,DCT或者DWT。
本發(fā)明的解決方案包括兩個部分碼本的訓(xùn)練和在視頻編碼中使用這些碼本的算法。讓我們考慮例如,來自一個灰度—等級視頻的幀,它已經(jīng)被用VQ和使用8*8塊大小的運動補償?shù)哪撤N組合編碼了。該結(jié)果差別圖像被劃分成4*4的塊,這些塊將在兩個進一步的階段中被編碼。
第一差別碼本,碼本A,的訓(xùn)練已經(jīng)被使用實際差別材料執(zhí)行,但是以最低頻率,即,不變的組成成份被除去了。標準k-平均算法趨向于強調(diào)較低的頻率,但是不會對結(jié)果向量產(chǎn)生虛構(gòu)有限平均值。對于具有256個向量的碼本,頻率集中在頻率表的下半部分。
第二階段碼本,碼本B,被使用例如最定頻率的三分之一已經(jīng)被除去的差別塊訓(xùn)練。由于訓(xùn)練算法,結(jié)果碼向量確實在這些頻率中具有一些重量,但是重點在較高頻率上。因此碼向量形式碼本A和B可以有效地互補。在碼本之間存在一些重疊的事實可以通過將來自A的兩個向量或者來自B的兩個向量或者分別來自A和B的兩個向量組合被利用。該重疊可以通過在逆變換之前用變換系數(shù)進行訓(xùn)練的方式被避免。
實際編碼以首先為每個4*4塊從碼本A中查找最佳匹配向量開始。然后計算在失真中塊方面的減小并且比較引起的速率失真成本與不使用該差別向量的成本。典型的成本函數(shù)是C=d+λb,其中,d是失真,λ是加權(quán)因子,以及b是被用于該塊的比特數(shù)。應(yīng)當指出,加權(quán)因子也可以被附于d,或者也可以使用分別地附于d和b的加權(quán)因子處理加權(quán)。只針對這些塊選擇代碼向量,對于這些塊這樣可以減小成本。在下一步驟,為剩余的4*4差別塊查找碼本B中的最佳匹配代碼向量。再次,只當成本有效時選擇代碼向量。代碼向量的位置可以用單獨比特表示,使用一個字節(jié)足以確定原始8*8塊的哪個子塊會被用來自碼本A的向量校正,而哪個會被用來自碼本B的向量校正。
最后,該代碼向量被集中在零附近并且主要地具有非常小的值。這樣的碼本在將其發(fā)送到接收端前可以有效地被壓縮,從而減小視頻接受者的初始等待時間。
圖9圖示了描述本發(fā)明的方法的流程圖的一個示例。首先在步驟81,預(yù)處理訓(xùn)練材料從而預(yù)先確定將被訓(xùn)練的代碼向量的頻率分布。雖然預(yù)先進行預(yù)處理,但是根據(jù)本發(fā)明這是獲得任何裝置的希望的性能的基礎(chǔ)步驟。下一步驟82,使用預(yù)處理的訓(xùn)練材料訓(xùn)練代碼向量。形成碼本。最后,通過針對每個原始塊單獨地使用必要數(shù)量的代碼化或者解碼階段的方式,信息被使用級聯(lián)VQ代碼化/解碼83。
圖10圖示了本發(fā)明的裝置的一個示例。在實際應(yīng)用中,本發(fā)明被嵌入作為完整的視頻壓縮/解壓縮軟件的一部分。壓縮,即代碼化,軟件91一般位于發(fā)送終端93。該軟件一般包括用戶接口;用于讀入視頻和音頻信息的介質(zhì)讀取器;某種形式的基本編碼;本發(fā)明建議的差別編碼算法和碼本;發(fā)送流的某種解決方案;在視頻流開始時將被發(fā)送到接收終端94的小解碼軟件包92。但是,替代地,解碼軟件可以永久地位于接收終端中。
本發(fā)明結(jié)合了已有的幾個解決方案的最優(yōu)特性。簡而言之,它是具有從DCT和DWT方法獲得一些改進的級聯(lián)VQ的變化方案。應(yīng)當指出,可以使用任意解碼技術(shù),例如VVQ、運動補償或者某個函數(shù)變換進行原始信息的編碼,并且使用VQ處理差別信息。本發(fā)明的唯一缺點是需要針對每個塊和每個碼本進行一次可能較慢的碼本查找。但是,這可以被使用多個快速查找算法中的任意一個解決,例如為此目的開發(fā)的樹-查找VQ。
雖然本發(fā)明的編碼在上下文中被主要地描述了,但是應(yīng)當清楚,本發(fā)明還涉及解碼。當解碼時,使用的碼本必須包括針對某種頻率分布被加權(quán)的一些代碼向量。一起使用這些碼本,解壓縮結(jié)果至少包括最重要的頻率。還存在許多本發(fā)明的替代形式和修改。例如,幀內(nèi)部和幀之間(即,塊狀態(tài)的或者非塊狀態(tài)的)函數(shù)變換和向量量化的任意形式的“基本”編碼可以是本發(fā)明的裝置的基礎(chǔ)技術(shù),因為他們都留下原始圖象和編碼/解碼圖象之間的剩余或者差別。本發(fā)明和可以被用作一序列差別編碼中的一個步驟,該編碼在每個步驟中使用可能變化的塊大小。換句話說,在每個序列(階段)中,在代碼化差別塊之前,可以使用例如DCT處理差別塊。那就是說,在實際代碼化前預(yù)編碼。該差別可以被用任意塊大小,進行按塊編碼??梢园慈魏位鶞蕘碛?xùn)練差別向量的向量庫,即圖像塊或其函數(shù)變換。在編碼過程中還可以對碼本進行適應(yīng)性修改。在此提出的編碼過程和思想可應(yīng)用于任何彩色表示中,如RGB、YUV、YCrCb、CieLAB等。
本發(fā)明的視頻壓縮技術(shù)可以獲高壓縮率,同時能夠保持良好的可以感知的圖像質(zhì)量,并且解碼方只需較小的處理能力,很明顯,在不背離本發(fā)明的精神實質(zhì)情況下,本發(fā)明可以有多種實現(xiàn)方案。
權(quán)利要求
1.一種壓縮數(shù)據(jù)的編碼方法,其中首先編碼該數(shù)據(jù)并且形成原始數(shù)據(jù)和編碼的數(shù)據(jù)之間的差別數(shù)據(jù),該差別數(shù)據(jù)被劃分成一個或多個第一塊,該第一塊至少在一個階段被編碼,每個階段包括編碼操作并且,如果需要下個階段,計算當前差別塊和編碼的當前差別塊之間的后續(xù)差別塊,通過將在前一階段計算的差別塊作為下一階段的輸入的方式,執(zhí)行連續(xù)的階段,在每個階段使用一個碼本,該碼本指定用于該階段的編碼,直到最后一個階段,前面的差別塊和編碼的前面的差別塊之間的最后差別塊被使用最后的碼本編碼,所述差別塊的碼本包括用訓(xùn)練差別材料訓(xùn)練的代碼向量,其特征在于在訓(xùn)練之前,預(yù)處理訓(xùn)練差別材料以便采用每個代碼向量的頻率分布相對于該數(shù)據(jù)的特定信息進行加權(quán),以及使用特定塊所需的必要數(shù)量的階段獨立地編碼每個塊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于至少在一個所述階段,差別塊被劃分成子塊,以在下一階段被用作差別塊。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于至少在一個所述階段使用一個以上的碼本。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于至少在一個所述階段使用一個以上碼本。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用離散余弦變換進行的。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用任意函數(shù)變換進行的。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于階段的必要數(shù)量是使用余弦函數(shù)按以下方式獲得的,如果使用附加階段的成本太大則附加階段不是必要的。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于比特數(shù)被加權(quán)。
10.根據(jù)權(quán)利要求2所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用離散余弦變換進行的。
11.根據(jù)權(quán)利要求2所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用任意函數(shù)變換進行的。
12.根據(jù)權(quán)利要求2所述的方法,其特征在于階段的必要數(shù)量是使用余弦函數(shù)按以下方式獲得的,如果使用附加階段的成本太大則附加階段不是必要的。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于比特數(shù)被加權(quán)。
15.根據(jù)權(quán)利要求3所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用離散余弦變換進行的。
16.根據(jù)權(quán)利要求3所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用任意函數(shù)變換進行的。
17.根據(jù)權(quán)利要求3所述的方法,其特征在于階段的必要數(shù)量是使用余弦函數(shù)按以下方式獲得的,如果使用附加階段的成本太大則附加階段不是必要的。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于比特數(shù)被加權(quán)。
20.根據(jù)權(quán)利要求4所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用離散余弦變換進行的。
21.根據(jù)權(quán)利要求4所述的方法,其特征在于訓(xùn)練材料的預(yù)處理是使用任意函數(shù)變換進行的。
22.根據(jù)權(quán)利要求4所述的方法,其特征在于階段的必要數(shù)量是使用余弦函數(shù)按以下方式獲得的,如果使用附加階段的成本太大則附加階段不是必要的。
23.根據(jù)權(quán)利要求22所述的方法,其特征在于成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
24.根據(jù)權(quán)利要求23所述的方法,其特征在于比特數(shù)被加權(quán)。
25.根據(jù)權(quán)利要求1所述的方法,其特征在于在編碼之前至少在一個階段處理差別塊。
26.根據(jù)權(quán)利要求2所述的方法,其特征在于在編碼之前至少在一個階段處理差別塊。
27.一種解壓縮數(shù)據(jù)的解碼方法,該方法包括用于對編碼差別數(shù)據(jù)解壓縮的碼本,其特征在于至少一個所述碼本包括相對一個特定頻率分布被加權(quán)的代碼向量,以及使用該碼本一起執(zhí)行至少包括最重要頻率的解壓縮結(jié)果。
28.一種壓縮數(shù)據(jù)的編碼器,其中首先編碼該數(shù)據(jù)并且形成原始數(shù)據(jù)和編碼的數(shù)據(jù)之間的差別數(shù)據(jù),該差別數(shù)據(jù)被劃分成一個或多個第一塊,該第一塊至少在一個階段被編碼,每個階段包括編碼動作并且,如果需要下個階段,計算當前差別塊和編碼的當前差別塊之間的后續(xù)差別塊,通過將在前一階段計算的差別塊作為隨后階段的輸入的方式,執(zhí)行連續(xù)的階段,在每個階段使用一個碼本,該碼本指定用于該階段的編碼,直到最后一個階段,前面的差別塊和編碼的前面的差別塊之間的最后的差別塊被計算并且使用最后的碼本編碼,所述差別塊的碼本包括用訓(xùn)練差別材料訓(xùn)練的代碼向量,其特征在于用于代碼化差別的至少一個碼本已經(jīng)被相對于一個指定頻率分布加權(quán),并且該編碼器包括用于為特定塊指定所需必要數(shù)量的階段的評價單元。
29.根據(jù)權(quán)利要求28所述的編碼器,其特征在于至少在一個所述階段,將差別塊劃分成子塊,以在下一階段被用作差別塊。
30.根據(jù)權(quán)利要求28所述的編碼器,其特征在于至少在一個所述階段使用一個以上碼本。
31.根據(jù)權(quán)利要求29所述的編碼器,其特征在于至少在一個所述階段使用一個以上碼本。
32.根據(jù)權(quán)利要求28所述的編碼器,其特征在于該評價單元進一步包括計算使用附加階段的成本的成本函數(shù)。
33.根據(jù)權(quán)利要求32所述的編碼器,其特征在于該成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
34.根據(jù)權(quán)利要求33所述的編碼器,其特征在于比特數(shù)被加權(quán)。
35.根據(jù)權(quán)利要求29所述的編碼器,其特征在于該評價單元進一步包括計算使用附加階段的成本的成本函數(shù)。
36.根據(jù)權(quán)利要求35所述的編碼器,其特征在于該成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
37.根據(jù)權(quán)利要求36所述的編碼器,其特征在于比特數(shù)被加權(quán)。
38.根據(jù)權(quán)利要求30所述的編碼器,其特征在于該評價單元進一步包括計算使用附加階段的成本的成本函數(shù)。
39.根據(jù)權(quán)利要求38所述的編碼器,其特征在于該成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
40.根據(jù)權(quán)利要求39所述的編碼器,其特征在于比特數(shù)被加權(quán)。
41.根據(jù)權(quán)利要求31所述的編碼器,其特征在于該評價單元進一步包括計算使用附加階段的成本的成本函數(shù)。
42.根據(jù)權(quán)利要求41所述的編碼器,其特征在于該成本函數(shù)為代碼化考慮中的塊,考慮剩余的差別,和代表階段成本的所使用的比特數(shù)量。
43.根據(jù)權(quán)利要求42所述的編碼器,其特征在于比特數(shù)被加權(quán)。
44.一種使用解壓縮編碼的差別數(shù)據(jù)的碼本的解碼器,其特征在于至少一個碼本已經(jīng)被相對于一個指定頻率分布加權(quán)。
全文摘要
本發(fā)明涉及編碼和解碼圖象。本發(fā)明是具有從DCT和DWT方法獲得某些改進的級聯(lián)VQ的變化方案。本發(fā)明的基本方面是,當訓(xùn)練時預(yù)處理碼本以預(yù)先確定產(chǎn)生的代碼向量的頻率分布,并且每個塊被使用編碼特定塊所需的可變數(shù)量的差別編碼階段獨立地編碼和解碼。
文檔編號H04N7/26GK1418014SQ0214609
公開日2003年5月14日 申請日期2002年10月30日 優(yōu)先權(quán)日2001年10月30日
發(fā)明者T·波赫約拉 申請人:奧普蘭約股份有限公司