新四季網

分段可逆視頻編碼方法、分段可逆視頻解碼方法、分段可逆視頻編碼裝置、分段可逆視頻...的製作方法

2023-05-01 00:20:06

專利名稱:分段可逆視頻編碼方法、分段可逆視頻解碼方法、分段可逆視頻編碼裝置、分段可逆視頻 ...的製作方法
技術領域:
本發明涉及高效率視頻編碼、解碼技術,特別涉及作為基本部分傳送的碼保持與H.264標準的兼容性,同時儘量減小附加部分的代碼量,可進行與原始信號一致的可逆解碼的分段可逆視頻編碼、解碼技術。
本申請對2004年9月30日申請的特願2004-286412號主張優先權,這裡引用其內容。
背景技術:
現有的可逆或分段視頻編碼方式有以下一些方式。MotionJPEG2000標準(參照非專利文獻1)的可逆方式或JPEG-LS(參照非專利文獻2)因為是基於靜止圖像,故在幀內進行封閉編碼。
H.264標準(參照非專利文獻3)的第2版「逼真範圍擴展(FidelityRange ExtensionFRExt)」在幀內和幀間直接傳送(不進行正交變換和量化)預測殘差信號。
作為與非可逆編碼方式組合的分段編碼方式,有對解碼圖像和原始圖像的差分進行編碼的方式(參照非專利文獻4)。這裡,雖然在基本信息中使用了MPEG-2,但也可以適用於其他方式。
此外,還有像MPEG-4標準(參照非專利文獻5)的精細可伸縮性(Fine Granularity ScalableFGS)輪廓方式那樣,對施加DCT(離散餘弦變換)且取整後的數據進行位面展開並進行逐次傳送的方式。
非專利文獻1ISO/IEC 15444-32002 Information technology-JPEG2000image coding system-Part 3Motion JPEG 2000非專利文獻2ISO/IEC 14495-11999 Information technology-Lossless and near-lossless coding of continuous tone still images
非專利文獻3ISO/IEC 14496-102003 Information technology-Coding of audio-visual objects-Part 10Advanced Video coding非專利文獻4中島、八島、小林「基於MPEG-2編碼參數的分段無損編碼的研究」信學總大D-11-49,Mar.2000非專利文獻5ISO/IEC 14496-22003 Information technology-Coding of audio-visual objects-Part 2Visual上述JPEG2000(參照非專利文獻1)雖然可分段傳送,但因進行幀內編碼,故存在不能進行使用了視頻特有的幀間相關的高效率編碼的問題。此外,上述JPEG-LS(參照非專利文獻2)雖然效率比JPEG2000高,但仍然是幀內封閉編碼,效率有限,此外,還存在不能分段傳送的問題。
H.264標準(參照非專利文獻3)的第2版「逼真範圍擴展(FidelityRange ExtensionFRExt)」存在不能分段傳送的問題。
此外,上述非專利文獻4記載的特徵因不是以正交變換空間內的殘差而是以原始信號空間的殘差作為編碼對象,故編碼時不得不考慮原始信號不該存在的空間,壓縮效率有限。
MPEG-4標準(參照非專利文獻5)的精細可伸縮性(FineGranularity ScalableFGS)輪廓方式存在以下問題*因在實數變換DCT之後將係數取整,故即使使用很多附加信息也不可逆。
*若直接使用使像後述式(6)那樣變換後的係數擴展的H.264標準方式,則擴展多少就會浪費多少代碼量。
像這樣,通過進行幀間預測來提高視頻編碼效率、具有可測量性且基本信息兼容H.264標準的方式還沒有提出來。

發明內容
本發明是鑑於上述問題提出的,其目的在於能夠使作為基本部分傳送的代碼保持與H.264標準的兼容性,同時儘量減小附加部分的代碼量,並能夠進行可逆解碼。
為了解決上述問題,本發明第1形態的分段可逆視頻編碼方法是進行可實現與原始信號一致的解碼的視頻編碼的可逆視頻編碼方法,包括如下步驟根據預先確定的非可逆視頻編碼方式,對圖像信號的每一個塊輸入從原始信號減去幀內編碼的空間預測或幀間編碼的時間預測的預測信號而得到的殘差信號;求出根據上述非可逆視頻編碼方式對上述殘差信號進行正交變換得到的變換係數和將其量化後的量化係數;指定由上述量化係數、量化時使用的量化參數和量化方法確定的變換係數的存在空間;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷;按照規定的格子點的順序搜索並列舉在上述變換係數的存在空間內的格子點中判斷較妥當的格子點;按照列舉的順序對列舉的格子點分配序號;在列舉的格子點中得到與殘差信號的變換係數一致的格子點的序號;對與上述殘差信號的變換係數一致的格子點的序號進行編碼並輸出。
本發明的第2形態是,在上述分段可逆視頻編碼方法中,在列舉在上述變換係數的存在空間內的格子點中判斷是妥當的格子點的步驟中,對於通過使用變換係數間的整數值的關係從而在上述空間內不能取得變換係數這一點,省略作為殘差信號的正交變換的結果是否妥當的判斷處理。
本發明的第3形態是,在上述分段可逆視頻編碼方法中,具有代替輸出幾個特定的變換係數,而輸出除了不能利用該係數和已輸出的係數的整數值關係來取得該係數的值的信息的步驟,在列舉在上述變換係數的存在空間內的格子點中判斷較妥當的格子點的步驟中,列舉使用上述預先輸出的變換係數將維數縮小後的存在空間內的格子點。
本發明的第4形態是,在上述分段可逆視頻編碼方法中,在上述妥當性判斷步驟中,只使用位運算和整數加減運算來判斷妥當性。
本發明的第5形態是,在上述分段可逆視頻編碼方法中,利用殘差信號的存在範圍和變換係數的存在範圍相交形成凸多面體的情況,當作為判斷對象的上述格子點存在於上述凸多面體的外部時,途中中止上述妥當性判斷。
本發明的第6形態是,在上述分段可逆視頻編碼方法中,不執行列舉在上述變換係數的存在空間內的格子點中判斷較妥當的格子點的步驟,而進行代碼量的估計。
本發明的第7形態是對利用上述分段可逆視頻編碼方法編碼後的編碼數據流進行解碼的解碼方法,包括如下步驟執行與預先確定的非可逆視頻編碼方式對應的解碼方式;指定由量化參數、量化係數和編碼時的量化方法、以及當具有已解碼的係數時由該係數決定的變換係數的存在空間;解碼應解碼的係數;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷;按照和編碼時格子點的搜索相同的順序搜索並列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點;對序號進行解碼;在上述列舉的格子點中輸出與上述解碼的序號相等的順序的格子點。
本發明的第8形態的分段可逆視頻編碼裝置是進行可實現與原始信號一致的解碼的視頻編碼的可逆視頻編碼裝置,包括根據預先確定的非可逆視頻編碼方式,對圖像信號的每一個塊輸入從原始信號減去幀內編碼的空間預測或幀間編碼的時間預測的預測信號而得到的殘差信號的單元;求出根據上述非可逆視頻編碼方式對上述殘差信號進行正交變換得到的變換係數和將其量化後的量化係數的單元;指定由上述量化係數、量化時使用的量化參數和量化方法決定的變換係數的存在空間的單元;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷單元;按照規定的格子點的順序搜索並列舉在上述變換係數的存在空間內的格子點中判斷較妥當的格子點的單元;按照列舉的順序對列舉的格子點分配序號的單元;在列舉的格子點中得到與殘差信號的變換係數一致的格子點的序號的單元;對與上述殘差信號的變換係數一致的格子點的序號進行編碼並輸出的單元。
本發明的第9形態是對利用上述分段可逆視頻編碼裝置編碼後的編碼數據流進行解碼的解碼裝置,包括執行與預先確定的非可逆視頻編碼方式相對應的解碼方式的單元;指定由量化參數、量化係數和編碼時的量化方法、以及當具有已解碼的係數時由該係數決定的變換係數的存在空間的單元;解碼應解碼的係數的係數解碼單元;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷單元;按照和編碼時格子點的搜索相同的順序搜索並列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點的單元;對序號進行解碼的序號解碼單元;在上述列舉的格子點中輸出與上述解碼的序號相等的順序的格子點的輸出單元。
以上的分段可逆視頻編碼和解碼的處理可以利用計算機和軟體程序來實現,將該程序記錄在計算機可讀取的記錄媒體上再向外提供,也可以通過網絡提供。
即,本發明的第10形態是用來在計算機上實現本發明的分段可逆視頻編碼方法的分段可逆視頻編碼程序。
本發明的第11形態是用來在計算機上執行本發明的分段可逆視頻解碼方法的分段可逆視頻解碼程序。
本發明的第12形態是將用來在計算機上實現本發明的分段可逆視頻編碼方法的程序記錄在計算機可讀取的記錄媒體上的分段可逆視頻編碼程序的記錄媒體。
本發明的第13形態是將用來在計算機上實現本發明的分段可逆視頻解碼方法的程序記錄在計算機可讀取的記錄媒體上的分段可逆視頻解碼程序的記錄媒體。
若按照本發明,作為基本部分傳送的代碼可以保持與H.264標準的兼容性,同時,可以儘量減小附加部分的代碼量,並進行與原始信號一致的可逆解碼。
此外,若按照本發明,可以以幾兆倍的高速來執行上述處理。此外,可以不實際進行編碼就能夠對代碼量進行推測,結果,可以快速進行減小代碼量的預測模式的選擇。


圖1是用Ω和Ψ來分別表示R、X的存在範圍的圖。
圖2是Ψ區域的放大圖。
圖3是表示分段可逆視頻編碼裝置的構成例的圖。
圖4是表示分段可逆視頻解碼裝置的構成例的圖。
圖5是表示當將通用可變長度編碼用於index編碼時的分段可逆視頻解碼裝置的構成例的圖。
圖6是表示實施例1的處理流程的圖。
圖7是表示實施例2的處理流程的圖。
具體實施例方式
下面,參照附圖詳細說明本發明的實施形態和實施例。但是,本發明不限於以下說明的實施形態和實施例,例如,將它們適當組合的形態也屬於本發明的範圍。
作為說明本發明的前提,首先說明H.264方式的正交變換。
在H.264標準中,在預測幀內或幀間的像素值之後,對每一個縱橫各4個像素的小塊進行殘差的正交變換和係數的量化。
將原始信號的小塊用4×4的矩陣U來表示,同樣用4×4的矩陣Y來表示在幀內和幀間預測該塊的信號。而且,設預測殘差信號(4×4矩陣R)為R=U-Y (1)它們中的所有的元素都是整數。這裡,將殘差信號的各元素記為[數式1]R=abcdefghijklmnop...(2)]]>對其進行下面的正交變換。
X=TRTt(3)這裡,[數式2]是T=111121-1-21-1-111-22-1...(4)]]>此外,Tt表示矩陣T的轉置矩陣。
進而,設X的各元素為[數式3]X=ABCDEFGHIJKLMNOP...(5)]]>這裡,應注意,T雖然是正交變換,但不是正規的正交變換。正規的正交變換的矩陣始終是1,而T的矩陣(detT)是40,故任何一個16維區域的體積經T映射後變成40倍。式(3)因利用T對R的4行和4列進行變換,故變換後係數X與變換前(殘差信號R)相比為延伸了404+4=6,553,600,000,000倍(6)被映射到極疏的空間內。H.264中的正交變換係數雖然變成整數,但係數空間的格子點作為殘差信號幾乎是不合適的(即,即使利用後面的式(8)進行逆變換也得不到整數值)。假如將係數空間的所有的格子點作為對象,對和原始信號對應的格子點進行編碼,則每一個像素需要多出用2為底上述數的對數除以像素數(4×4=16)log2(404+4)/16=2.66[bit] (7)的位。若考慮作為對象的信號是(每1個顏色分量)8位,不得不說增加2.66位明顯地阻礙了其實用性。
在H.264方式中,如前所述,通過對放大後的X的各元素進行粗略的量化(使用較寬的幅度)來對該放大部分進行補償。
若不進行量化,則通過逆變換R=T-1(Tt)-1(8)殘差信號完全復原,雖然利用
U=R+Y (9)可以再現原像素值的4×4的矩陣U,但是,對於實際的H.264編碼,若在解碼側對量化後係數進行逆量化,則一般地,雖然可以復原成接近原來的值,但不是完全相同的值。這樣,X在傳送後變成不同的值X』(≠X),利用式(8)進行逆變換,變成R≠R′=T-1X′(Tt)-1雖然在解碼側Y可以和在編碼側相同,但因R不能再現,故也不能再現原像素值U=R+Y。
因此,為了完全再現U,有必要另外傳送對X的量化時損失的信息進行補償的附加信息。
本實施形態是和本發明的第1形態相對應的形態。
實施形態1的分段可逆視頻編碼方法像下述那樣,對該量化後損失的信息有效地進行編碼。
例如,式(5)中的係數A的值因經過量化並被傳送,解碼側不能準確地知道量化前的A值。這裡,編碼側的量化方法已知,知道A的取值範圍。即,若以H.264軟體JM(參考文獻http//bs.hhi.de/~suehring/tml/,「JM Reference Software version 8.4」,jul 2004)的量化方法為例,可以像|levelA|=(|A|*qcA+qpconst)>>qbits (10)那樣求出量化後的值levelA。這裡,「>>」是按位右移運算符。再有,levelA的正負與A一致。這裡,qcA與A的位置、量化參數對應並由JM所確定的整數,qbits與量化參數對應、並由JM確定的整數。
因為在解碼側可以知道量化參數、編碼方式和量化方法,所以,可以具有和編碼側公用的levelA、qpconst、qbits。首先,根據levelA的值求出
x=|levelA|<<qbitsy=x+(1<qbits)-1mmin(x-qpconst+qcA-1)/qcAmmax=(y-qpconst)/qcA這裡,「<<」是按位左移運算符,「/」是捨棄小數點後面的整數除法運算。可以像下述那樣求出上下限Amin和Amax。 這樣,可以得到量化前係數可取的上下限值下限值Amin,Bmin,Cmin,...,Pmin(13)上限值Amax,Bmax,Cmax,...,Pmax(14)這些數值的範圍相當於本發明的第1形態的『變換係數的存在空間』。
通過以該上下限為基礎執行下述算法1那樣的16次循環(相當於本發明的第1形態的『列舉步驟』),從而可以將正交變換後的空間內的妥當的格子點無遺漏地全部列舉出來。這裡,以下的處理相當於本發明的第1形態的『妥當性判斷』。
*『R的全部元素是整數』*『U的全部元素都在8位整數範圍(0~255)內』上述妥當性判斷結果,列舉的格子點的總數為cases,與殘差信號的正交變換係數一致的格子點的『序號』作為index給出。

1.index←O2.cases←O3.for A←Aminto Amax4.for B←Bminto Bmax5.for C←Cminto Cmax6.for D←Dminto Dmax7.for E←Eminto Emax8.for F←Fminto Fmax9.for G←Gminto Gmax10.for H←Hminto Hmax11.for I←Iminto Imax12.for J←Jminto Jmax13.for K←Kminto Kmax14.for L←Lminto Lmax15.for M←Mminto Mmax16.for N←Nminto Nmax17.for O←Ominto Omax18.for P←Pminto Pmax19.begin20.R←T-1X(Tt)-1(*式(8)*)21.if R的全部元素是整數22.then(*A~P作為整數信號的正交變換的結果是妥當的*)23.U←R+Y(*式(9)*)24.if U的全部元素是在8位整數的範圍內
25.then(*A~P作為整數信號的正交變換的結果是妥當的*)26.if X和原變換係數一致
27.then index←cases28.endif29.cases←cases+130.endif31.endif32.end33.使用與cases對應的信息量對index進行編碼[實施形態2]利用變換係數間的整數值關係實現高速化本實施形態與本發明的第2形態相對應。
在實施形態1中,因在1個間隔中分別執行16次循環,故總循環數非常多。但是,在實施形態2中,通過使用正交變換係數間存在的整數關係,在編碼效率相同的條件下,可以大幅度減少循環次數。
首先,利用從頂行到底行按順序排列的16維的行矢量↑x,像↑x=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p](15)那樣,來表現4×4矩陣R。
若使用該16維矢量改寫式(3),則可以寫成A=↑tA↑xtB=↑tB↑xt···P=↑tP↑xt這裡是
↑tA=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]↑tB=[2,1,-1,-2,2,1,-1,-2,2,1,-1,-2,2,1,-1,-2]↑tC=[1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1,-1,1]↑tD=[1,-2,2,-1,1,-2,2,-1,1,-2,2,-1,1,-2,2,-1]↑tE=[2,2,2,2,1,1,1,1,-1,-1,-1,-1,-2,-2,-2,-2]↑tF=[4,2,-2,-4,2,1,-1,-2,-2,-1,1,2,-4,-2,2,4]↑tG=[2,-2,-2,2,1,-1,-1,1,-1,1,1,-1,-2,2,2,-2]↑tH=[2,-4,4,-2,1,-2,2,-1,-1,2,-2,1,-2,4,-4,2]↑tI=[1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1]↑tJ=[2,1,-1,-2,-2,-1,1,2,-2,-1,1,2,2,1,-1,-2]↑tK=[1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1]↑tL=[1,-2,2,-1,-1,2,-2,1,-1,2,-2,1,1,-2,2,-1]↑tM=[1,1,1,1,-2,-2,-2,-2,2,2,2,2,-1,-1,-1,-1]↑tN=[2,1,-1,-2,-4,-2,2,4,4,2,-2,-4,-2,-1,1,2]↑tO=[1,-1,-1,1,-2,2,2,-2,2,-2,-2,2,-1,1,1,-1]↑tP=[1,-2,2,-1,-2,4,-4,2,2,-4,4,-2,-1,2,-2,1]這裡,若計算↑tA+↑tC,則變成↑tA+↑tC=[2,0,0,2,2,0,0,2,2,0,0,2,2,0,0,2]=2[1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1]因此,因為是,A+C=(↑tA+↑tC)↑xt=2[1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1]↑xt所以,對於任意的整數元素矢量↑x,A+C始終是偶數。
即,當知道A的值時,因知道C的下位第1位和A的該位相同,所以,C的存在範圍為
Cmin+((Cmin+A)1)≤C≤Cmax-((Cmin+A)1)(16)在該區域內,C按間隔2稀疏地存在於該區域中。這裡,『』是按位與運算符。具有相同的位置關係。
E和GI和KM和O也一樣。
同樣,對於縱方向,因A+I也是偶數,故當A的值已知時,可知I以間隔2存在的範圍。具有相同的位置關係。
B和JC和KD和L也一樣。
其次,對於任意的整數元素矢量↑x,B+(C>>1)+(A>>1)始終是偶數。這一點可以通過對使↑x的各元素按0,1,2,3變化的所有的情況進行確認來加以證明。即,當A和C的值已知,因知道B的下位的第1位和(C>>1)+(A>>1)的該位相同,所以,和上述一樣,可知B的存在範圍,在那裡,B按間隔2存在。具有相同的位置關係,且縱向的位置關係相同。
Fと(E>>1)+(G>>1)Jと(I>>1)+(K>>1)Nと(M>>1)+(O>>1)Eと(A>>1)+(I>>1)Fと(B>>1)+(I>>1)Gと(C>>1)+(K>>1)Hと(D>>1)+(L>>1)也一樣。
其次,因2.5(↑tA+↑tC)+2↑tB+↑tD=[10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0]=10[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0]故對於任意整數元素矢量↑x,2B+D+2.5(A+C)始終是10的倍數。
即,當A、B、C的值已知時,因D的以10作為除數的餘數(Dmod 10)和2.5(A+C)+2B的該值的和是0或10,可知D的存在範圍,在其中,以間隔10存在。
相同的位置關係或縱向相同的位置關係,在例如M和A、E、I之間也具有同樣的關係。
這裡使用的以某整數y作為除數的餘數運算符mod y對於非負整數x≥0,和C語言等的餘數運算符『%』相同,是x mod y =x%y再有,%運算符對於負整數x<0,像x%y=-((-x)%y)那樣變成奇函數,但是,這裡使用的mod y結果不會變成負值。
x mod y=(x%y)+y(x<0時)例如是(-1)mod 10=9進而,變成↑tA+↑tC+↑tI+↑tK=[4,0,0,4,0,0,0,0,0,0,0,0,4,0,0,4]=4[1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1]因此,對於任意整數元素矢量↑x,A+C+I+K始終是4的倍數。
即當A、C、I的值已知時,因K的以4作為除數的餘數和(A+C+I)的該值的和是0或4,故可知K的存在範圍,在這裡,以間隔4存在。
進而還具有以下關係
↑tB-↑tJ+↑tE-↑tG=
=4
2.5(↑tA+↑tC+↑tI+↑tK)+2(↑tE+↑tG)+↑tM+↑tO=[20,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0]=20[1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0]2.5(↑tA+↑tC+↑tI+↑tK)+2(↑tB+↑tJ)+↑tD+↑tL=[20,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0]=20[1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0]6.25(↑tA+↑tC+↑tI+↑tK)+5(↑tB+↑tE+↑tG+↑tJ)+2.5(↑tD+↑tL+↑tM+↑tO)+4↑tF+2(↑tH+↑tN)+↑tP=[100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]=100[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]即,像1)使A的範圍在1間隔內循環2)使C的範圍在2間隔內循環(利用A)3)使B的範圍在2間隔內循環(利用A、C)4)使D的範圍在10間隔內循環(利用A、B、C)5)使I的範圍在2間隔內循環(利用A)6)使E的範圍在2間隔內循環(利用A、I)7)使M的範圍在10間隔內循環(利用A、I、E)8)使K的範圍在4間隔內循環(利用A、C、I)9)使G的範圍在2間隔內循環(利用E)10)使F的範圍在2間隔內循環(利用E、G)11)使H的範圍在10間隔內循環(利用E、F、G)12)使J的範圍在4間隔內循環(利用B、E、G)13)使L的範圍在20間隔內循環(利用A、B、C、D、I、J、K)
14)使N的範圍在10間隔內循環(利用B、F、J)15)使O的範圍在20間隔內循環(利用A、C、E、G、I、K、M)16)使P的範圍在100間隔內循環(利用A~O)那樣,若執行多重循環,則將各for循環與1間隔循環相比,可以將循環次數減至1/(2*2*10*2*2*10*4*2*2*10*4*20*10*20*100)=1/409,600,000,000具體的順序像算法2那樣。這裡,例如如下所示,使用f(x,y)=(-x)mod y (17)可以求出C’min、B’min和D’min。
C′min=Cmin+f(Cmin+A,2) (18)B′min=Bmin+f(Bmin+(A>>1)+(C>>1),2) (19)D′min=Dmin+f(Dmin+2B+2.5(A+C),10) (20)E’min~P’min也一樣。
1.index←02.cases←03.for A←Aminto Amax(*只在這裡是1間隔*)
4.for C←C′minto Cmaxstep 25.for B←B′minto Bmaxstep 26.for D←D′minto Dmaxstep 107.for I←I′minto Imaxstep 28.for E←E′minto Emaxstep 29.for M←M′minto Mmaxstep 1010.for K←K′minto Kmaxstep 411.for G←G′minto Gmaxstep 212.for F←F′minto Fmaxstep 213.for H←H′minto Hmaxstep 1014.for J←J′minto Jmaxstep 415.for L←L′minto Lmaxstep 2016.for N←N′minto Nmaxstep 1017.for O←O′minto Omaxstep 2018.for P←P′minto Pmaxstep 10019.begin20.R←T-1X(Tt)-1(*式(8)*)21.if R的全部元素是整數22.then(*A~P作為整數信號的正交變換的結果是妥當的*)23.U←R+Y(*式(9)*)24.if U的全部元素是在8位整數的範圍內
25.then(*A~P作為殘差信號的正交變換的結果是妥當的*)26.if X和原變換係數一致27.then index←cases28.endif29.cases←cases+130.endif31.endif32.end
33.使用與cases對應的信息量對index進行編碼[實施形態3]減少多重循環本實施形態與本發明的第3形態對應。
上述實施形態1和實施形態2的算法都使用16次循環,但在實施形態3中,為了進一步實現高速化,而減少循環的次數。這裡,通過獨立地傳送A~P的16個係數中A B C DE · · ·I · K ·M · · ·的8個係數來除去這些循環。
首先,考慮係數A的傳送。例如,作為『附加信息』,若傳送ZA=A-Amin則通過在解碼側設為A=ZA+Amin可以復原A。
再有,因這時能取得A的情形的數是Amax-Amin+1故對ZA進行編碼所需要的信息量變成log2(Amax-Amin+1)[bit](21)因為這是和解碼側共用的,所以可以對ZA進行解碼。
雖然對於B~P可以像該A那樣傳送,但因殘差信號在正交變換後的空間內分布非常稀疏,故代碼量大大浪費。因此,例如,對於B,當A、C已知時,與B有關的循環能夠以2間隔完成,故若傳送ZB=(B-B’min)/2則在解碼側可以通過B=2ZB+B’min復原B。對ZB進行編碼所需要的信息量變成
log2((Bmax-B’min)/2+1)[bit]。
對於C~K也一樣。因此,通過執行下述步驟1)利用ZA對A的值進行編碼2)利用將C的範圍縮小到約1/2的Zc進行編碼(利用A)3)利用將B的範圍縮小到約1/2的ZB進行編碼(利用A、C)4)利用將D的範圍縮小到約1/10的ZD進行編碼(利用A、B、C)5)利用將I的範圍縮小到約1/2的ZI進行編碼(利用A)6)利用將E的範圍縮小到約1/2的ZE進行編碼(利用A、I)7)利用將M的範圍縮小到1/10的ZM進行編碼(利用A、E、I)8)利用將K的範圍縮小到約1/4的ZK進行編碼(利用A、C、I)可以有效地傳送X中的A B C DE · · ·I · K ·M · ··8個係數。像這樣範圍縮小後的Zx相當於本發明的第3形態的『除去不能取得該係數的值的信息』。
對於剩下的8個係數·· · ·· F G H· J · L· N O P和實施形態1一樣,歸納起來用1個數index來表現並傳送。
若將它們歸納在一起,則變成算法3所示的步驟。
1.按A、C、B、D、I、E、M、K的順序編碼
2.index←O3.cases←O4.for G←G′minto Gmaxstep 25.for F←F′minto Fmaxstep 26.for H←H′minto Hmaxstep 107.for J←J′minto Jmaxstep 48.for L←L′minto Lmaxstep 209.for N←N′minto Nmaxstep 1010.for O←O′minto Omaxstep 2011.for P←P′minto Pmaxstep 10012.begin13.R←T-1X(Tt)-1(*式(8)*)14.if R的全部元素是整數15.then(*A~P作為整數信號的正交變換的結果是妥當的*)16 U←R+Y(*式(9)*)17.if U的全部元素是在8位整數的範圍內
18.then(*A~P作為殘差信號的正交變換的結果是妥當的*)19.if X和原變換係數一致20.then index←cases21.endif22.cases←cases+123.endif24.endif25.end26.使用與cases對應的信息量對index進行編碼如上所述,16次循環減少到8次,處理速度更高。
再有,記述index所需要的信息量為
log2cases[bit](22)該信息是解碼側在沒有附加信息的情況下可以具有的,而且,是index解碼所必需的信息。
對應的解碼本實施形態是與本發明的第7形態對應的形態。
在這裡,說明與上述實施形態3的編碼對應的關於解碼的實施形態。在解碼側,通過執行和編碼同樣的循環,當在最裡面的循環的妥當性判斷結果是index+1次為真時,A~K和G~P的值變成與原殘差信號對應的正交變換係數。
在index編碼時,當與具有多少信息量對應進行編碼時,在index的解碼中,首先,必須知道具有多少信息量。因此,有必要預先得到cases。為此,有必要執行和編碼一樣的循環。
例如,雖然需要額外的存儲器,但是,為了避免再次執行多重循環,通過像算法4那樣只執行一次多重循環,可以按順序取得cases、index和原始信號。這裡,Ubuf[]是將4×4矩陣作為元素的排列,假定是動態確保或者是預先確保有足夠的量。
1.按A、C、B、D、I、E、M、K的順序解碼2.cases←O3.for G←G′minto Gmaxstep 24.fpr F←F′minto Fmaxstep 25.for H←H′minto Hmaxstep 106.for J←J′minto Jmaxstep 47.for L←L′minto Lmaxstep 208.for N←N′minto Nmaxstep 109.for O←O′minto Omaxstep 2010.for P←P′minto Pmaxstep 10011.begin12.R←T-1X(Tt)-1(*式(8)*)
13.if R的全部元素是整數14.then(*A~P作為整數信號的正交變換的結果是妥當的*)15.U←R+Y(*式(9)*)16.if U的全部元素是在8位整數的範圍內
17.then(*A~P作為整數信號的正交變換的結果是妥當的*)18.Ubuf[cases]←U19.cases←cases+120.endif21.endif22.end23.使用與cases對應的信息量對index進行解碼24.U←Ubuf[index](*原始信號值*)[實施形態5]代碼量的快速推測本實施形態是與本發明的第6形態相對應的形態。
在H.264方式中,可以選擇各種各樣的預測模式,對於幀內預測,可以選擇多個模式或種類,對於幀間預測可以選擇多個塊的尺寸等。預測殘差信號R也因預測模式而變化,所以,當在代碼量對失真的意義上選擇最佳預測模式時,有必要合適地估計每一個模式的代碼量。
可逆編碼時,因失真始終是零,故只需注意使代碼量(H.264標準的代碼量和附加信息代碼量的和)最小即可。
若執行算法1、算法2和算法3所示那樣的多重循環,則當然可以估計正確對的附加信息代碼量,但是,如果有更高速的代碼量推測法,則適於將多個模式進行比較。
實施形態5的目的在於在不執行多重循環的情況下估計附加信息的代碼量。
首先,說明像實施形態1、實施形態2那樣事前沒有傳送特定的變換係數的情況。事前求出量化前的係數可取的上下限值(式(13),式(14))。據此,可以像下面那樣求出本發明第6形態的『變換係數的存在空間』的體積V。
V=xA,P(xmax-xmin+1)...(23)]]>考慮該V與存在空間中的格子點的個數近似。不是其中所有的都與原殘差信號對應,因空間如式(6)所示那樣被放大,故V除以該倍數得到的V0V0=V/404+4(24)可以與格子點的總數近似。因此,每一個像素的附加信息的代碼量I0變成l0=log2V0/16=log2(V/404+4)/16=log2V/16-2.66[bit] (25)此外,當像實施形態3那樣事前傳送特定的變換係數時,這些信息量I1和式(21)一樣是[數式6]I1=xA,,K((xmax-xmin)/nx+1)...(26)]]>這裡,x是A B C DE · ··I · K ·M · ··的係數。
再有,nx是使所敘述的空間縮小的量,對於A,...,M分別是12210
2 · ··2 · 4 ·10···A’min=Amin,C’min~M’min可以像式(18)等那樣求出。
此外,剩下的8維的『變換係數的存在空間』的體積V1如下[數式7]V1=xF,p(xmax-xmin+1)...(27)]]>這裡,和上面的情況一樣,與原殘差信號對應的格子點稀疏地存在。該空間的放大率應該是用全部乘以nx(x∈A,...,M)的項除以式(6)所得到的數[數式8]n0=404+4/xA,,Mnx=408/(1*2*2*10*2*2*4*10)]]>=1,024,000,000...(28)]]>因此,每一個像素的『格子點總數』的信息量I1變成l2=log2(V1/n0)/16=log2V1/16-1.87[bit](29)結果,每一個像素的附加信息量是兩者之和l1+l2[bit] (30)利用像式(25)、式(30)那樣估算的值,可以不執行使用多重循環的編碼來進行代碼量的推測。使用它來選擇代碼量最小的模式,並只對所選擇的模式進行實際的編碼,由此,可以實現準最佳的可逆編碼。
妥當性判斷的高速化本實施形態是與本發明的第4形態相對應的形態。
因T-1是[數式9]T-1=0.250.20.250.10.250.1-0.25-0.20.25-0.1-0.250.20.25-0.20.25-0.1...(31)]]>故當直接計算式(8)時,必需要進行浮點運算。但是,若將其放大20倍,則變成[數式10]T0=20T-1=545252-5-45-2-545-45-2...(32)]]>所以,通過用T0代替T-1,可以像下面那樣只通過整數運算就能夠得到正確的R的400(=20×20)倍的值(記作R400)。
R400=400R=T0XTt0(33)這裡,當設[數式11]stuv=Toabcd...(34)]]>時,式(33)可以縱橫8次分解成式(34),但是該計算可以具體地像算法5那樣求出。

1.x0←5(a+c)2.x1←5(a-c)3.x2←4b+2c4.x3←2b-4c5.s←x0+x26.t←x1+x37.u←x1-x38.v←x0-x2這裡,5x可以像(x<<2)+x那樣通過1次移位、1次相加求得,4b+2c等也可以作為(b<<2)+(c<<1),通過2次移位、1次相加求得,故在式(33)的計算中,乘法一概不需要。
這裡,作為前述的『妥當性判斷』之一的『R的全部元素是整數』和『R400的全部元素是400的倍數』等價。當執行它時,為了確認用400除得的餘數是0,除法運算是必需的。但是,因在完成1個循環的時刻除去了作為25的倍數的冗餘性,故只要確認是16的倍數即可。這和『R400的全部元素的低位4位全是0』等價。這和『各元素和15(二進位1111)的按位與運算的結果是0』等價,可以不用除法來進行判斷。
這裡,是另一個『妥當性判斷』,有必要對『U的全部元素都在8位整數的範圍
內』進行修正。若將式(9)的兩邊乘以400,則變成U400=400U=R400+Y400(35)這裡,Y400是將預測信號Y放大400倍的值,預先準備Y400(若使用256元素的查尋表則不需要400倍的乘法運算),若求出與R400的和,則可以得到原始信號的400倍的信號。這裡,因255×400=102,000,故只要確認『U400的全部元素都在
之內』即可。
歸納該步驟,便變成算法6。

1.index←02.cases←03.for A←Aminto Amax(*僅這裡是1間隔*)4.for C←C′minto Cmaxstep 25.for B←B′minto Bmaxstep 26.for D←D′minto Dmaxstep 107.for I←I′minto Imaxstep 28.for E←E′minto Emaxstep 29.for M←M′minto Mmaxstep 1010.for K←K′minto Kmaxstep 411.for G←G′minto Gmaxstep 212.for F←F′minto Fmaxstep 213.for H←H′minto Hmaxstep 1014.for J←J′minto Jmaxstep 415.for L←L′minto Lmaxstep 2016.for N←N′minto Nmaxstep 1017.for O←O′minto Omaxstep 2018.for P←P′minto Pmaxstep 10019.begin20.R400←T0XTt0(*式(33)*)21.if R400的全部元素的低位4位是022.then(*A~P作為整數信號的正交變換的結果是妥當的*)23.U400←R400+Y400(*式(35)*)24.if U400的全部元素是在
之內25.then(*A~P作為整數信號的正交變換的結果是妥當的*)26.if X和原變換係數一致
27.then index←cases28.endif29.cases←cases+130.endif31.endif32.end33.使用與eases對應的信息量對index進行編碼[實施形態7]利用了凸形狀的處理高速化本實施形態與本發明的第5形態對應。
考慮殘差信號[數式12]R=abcdefghijklmnop]]>的存在空間。若設左上位置的預測像素信號為Ya,則該位置的元素a滿足0≤a+Ya≤255(36)-Ya≤a≤255-Ya(37)的存在範圍。b~p也同樣決定上限和下限。若考慮16維空間,則R的存在範圍Ω變成凸多面體(超長方體)的形狀。
即使仍然是利用式(3)將R的存在範圍變換後的16維空間,經過旋轉、放大後仍然是凸多面體。雖然變換係數X存在於該變換目標的空間內,但各元素的上下限像式(13)、(14)那樣求出,所以,X的存在範圍Ψ仍然是凸多面體(超長方體)。因此,Ω和Ψ的相交Ω∩Ψ也仍然是凸多面體。為了簡化這些關係,若用2維來圖示,則如圖1所示。
將圖1的Ψ區域放大後變成圖2。在列舉格子點的步驟中,當執行多重循環時,如該圖所示,當在A=A0的情況下改變B時,妥當性判斷的第2輪(U的全部元素都在8位整數的範圍
內)在第5個格子點(灰色)上變成『真』→『偽』。因存在範圍Ω∩Ψ是凸,故確定在第6個之後是『偽』,所以,中止B的循環,作為下一次A=A1,重新開始B的循環。這裡,在第6個格子點(灰色)上變成『真』→『偽』,所以,中止循環。這樣,可以中止對圖中由虛線包圍的部分的判斷。
若將它們歸納起來,則變成算法7。若示出對全部係數進行中止妥當性判斷的步驟,因縮進太深,故為了簡單起見,這裡只示出對多重循環最內層的3個變量(N,O,P)進行中止妥當性判斷的步驟,但是,對於反映其一般特性已經足夠了。
1.index←O2.cases←O3.for A←AmintoAmax4.for B←BmintoBmax5.for C←CmintoCmax6.for D←DmintoDmax7.for E←EmintoEmax8.for F←FmintoFmax9.for G←GmintoGmax10.for H←HmintoHmax11.for I←ImintoImax12.for J←JmintoJmax13.for K←KmintoKmax14.for L←LmintoLmax15.for M←MmintoMmax16.begin
17.CheckN←偽18.for N←NmintoNmax19.begin20.CheckO←偽21.for O←OmintoOmax22.begin23.CheckP←偽24.for P←PmintoPmax25.begin26.R←T-1X(Tt)-1(*式(8)*)27.if R的全部元素是整數28.then(*A~P作為整數信號的正交變換的結果是妥當的*)29.U←R+Y(*式(9)*)30.if U的全部元素是在8位的整數範圍
之內31.then(*A~P作為整數信號的正交變換的結果是妥當的*)32.if X和原變換係數一致33.then index←cases34 endif35.CheckN←真36.CheckO←真37.CheckP←真38.cases←cases+139.else if CheckP=真40.then goto 21(*變成真→偽*)41.endif42.endif43.end44.if CheckP=偽and CheckO=真45.then goto 18(*變成真→偽*)46.endif
47.end48.if CheckP=偽and CheckO=偽and CheckN=真49.then goto 15(*變成真→偽*)50.endif51.end52.end53.使用與cases對應的信息量對index進行編碼[實施形態8]編碼裝置的構成例本實施形態與本發明的第8形態對應。
下面,說明實現上述本發明的裝置構成。圖3是表示本發明的分段可逆視頻編碼裝置的構成例的圖。分段可逆視頻編碼裝置1除了根據H.264標準編碼方式對每一個塊算出原始圖像信號和通過幀內編碼的空間預測或幀間編碼的時間預測所產生的預測圖像信號的殘差信號Rorig的部分(在圖示3中被省略)之外,還包括初始化cases,index的初始化部11;對殘差信號Rorig進行正交變換的正交變換部12、量化正交變換部12的輸出的量化部13;求出上下限信息AminAmax,...,Pmin,Pmax的存在空間決定部14;對逐次編碼傳送的係數進行編碼處理的係數逐次編碼部15;求出表示匯總係數的數index再進行編碼的係數匯總編碼部16;判定圖像內的所有塊是否已編碼的結束判定部17。
係數匯總編碼部16由列舉在各係數的上下限內所有的係數組合的多重循環開始部161、對由已編碼傳送的係數和當前循環中的係數決定的4×4矩陣X進行逆正交變換的逆正交變換部162、求出矩陣和U=R+Y的預測信號加法部163、更新處理index和cases的內部變量更新部164、判定是否檢查了在各係數的上下限內所有的係數組合的多重循環結束判定部165和對index進行編碼的序號編碼部166構成。
圖3所示的分段可逆視頻編碼裝置1像以下那樣動作。首先,在初始化部11中分別將『格子點總數』cases、與殘差信號的正交變換係數一致的格子點的『序號』index初始化為0。
其次,在正交變換部12中對殘差信號Rorig進行正交變換並得到Xorig。在量化部13中使用量化參數信息對其進行量化。在存在空間決定部14中根據該量化信息求出上下限信息Amin,Amax,…,Pmin,Pmax。
其次,在係數逐次編碼部15中對逐次編碼傳送的係數進行編碼處理。例如,在上述實施形態1中是0個,在實施形態3中是A、B、C、D、L、E、M、K共8個。
接著,在係數匯總編碼部16中求出表示剩餘的表示匯總係數的數index再進行編碼。即,係數匯總編碼部16中的多重循環開始部161列舉剩餘的係數(例如,實施形態1是A~P的16個,實施形態3是G、F、H、J、L、N、O、P共8個)在各自的上下限內可取的所有範圍。這時,也可以像實施形態2那樣,在列舉時利用係數間的整數值關係跳過不能取得的係數。
在逆正交變換部162中,對由已編碼傳送的係數和當前循環中的係數A~P所決定的4×4矩陣X進行逆正交變換,並將其作為R。這裡,若R中存在不是整數的值,則進入多重循環結束判定部165的處理。
其次,在預測信號加法部163中求出矩陣和U=R+Y。這裡,若U的元素存在不在
的範圍內的值,則進入多重循環結束判定部165的處理。
其次,在內部變量更新部164中,當X和Xorig一致時,進行將cases代入index的處理。此外,cases加1。
在多重循環結束判定部165中,判定是否檢查了在上下限內所有係數的組合,若還沒有則返回到多重循環開始部161的處理。若已檢查完畢,則在序號編碼部166中使用與cases對應的信息量對index進行編碼。
接著,在結束判定部17中判定是否對圖像內的所有塊進行了編碼,若未完成則轉移到下一個塊重新開始初始化部11的處理。若完成,則結束編碼。
在本發明中,例如,通過使用通用可變長度編碼(參考文獻Y.Itoh,N-M Cheung」Universal Variable length code for DCTcoding」,IEEE Proc.Int.Conf.Image Processing,Vol.1,pp.940-943,2000)等,可以不使用cases而對index進行編碼。這時,在內部變量更新部164中,若X和Xorig一致,則對此時的cases的值進行通用可變長度編碼,並立即結束係數匯總編碼部16的處理。
解碼裝置的構成例本實施形態與與本發明的第9形態對應。
圖4是表示本發明的分段可逆視頻解碼裝置的構成例的圖。分段可逆視頻解碼裝置2由在對量化參數和量化係數進行解碼的同時生成預測信號Y的初始化解碼部21、求出上下限值信息Amin,Amax,...,Pmin,Pmax的存在空間決定部22、對逐次編碼傳送的係數進行解碼的係數逐次解碼部23、對表示匯總係數的數index進行解碼的係數匯總解碼部24、存儲U的值的作為排列存儲的Ubuf[]25、和判定圖像內的所有決是否已解碼的結束判定部26構成。
係數匯總解碼部24由列舉在各係數的上下限內所有係數的組合的多重循環開始部241、對由已解碼的係數和當前循環中的係數決定的4×4矩陣X進行逆正交變換的逆正交變換部242、求出矩陣和U=R+Y的預測信號加法部243、在將U存儲在Ubuf[]25的cases地址中的同時更新cases的內部變量更新部244、判定是否檢查了在上下限內所有係數的組合的多重循環結束判定部245、對index進行解碼的序號解碼部246和將Ubuf[]25的第index個值作為原始圖像信號輸出的原始信號輸出部247構成。
圖4所示的分段可逆視頻解碼裝置2像以下那樣動作。首先,在初始化解碼部21中將『格子點總數』cases初始化為0,進行對量化參數和量化係數的解碼並生成預測信號Y。
在存在空間決定部22中根據量化參數和量化係數求出上下限值信息Amin,Amax,...,Pmin,Pmax。
其次,在係數逐次編碼部23中對逐次編碼傳送的係數進行解碼。例如,在上述實施形態1中不進行解碼,在實施形態3中按順序對A、C、B、D、I、E、M、K共8個進行解碼。
接著,在係數匯總編碼部24中對表示剩餘的匯總係數的數index進行解碼和可逆復原。即,係數匯總編碼部24中的多重循環開始部241列舉剩餘的係數(例如,實施形態1的情形,是A~P共16個,實施形態3的情形是G、F、H、J、L、N、O、P共8個)在各自的上下限內可取的所有範圍。
這時,也可以像實施形態2那樣,在列舉時利用係數間的整數值關係跳過不能取得的係數的組合。但是,跳過不能取得的係數的組合而列舉的順序是和對應的編碼裝置完全相同的順序。
在逆正交變換部242中,對由已解碼的係數和當前循環中的係數A~P決定的4×4矩陣X進行逆正交變換,並將其作為R。這裡,若R中存在不是整數的值,則進入多重循環結束判定部245的處理。
其次,在預測信號加法部243中求出矩陣和U=R+Y。這裡,若U的元素中存在不在
的範圍內的值,則進入到多重循環結束判定部245的處理。
其次,在內部變量更新部244中,將U存儲在預先確保的Ubuf[]25的cases地址中,並使cases加1。
在多重循環結束判定部245中,判定是否檢查了在各係數的上下限內所有的係數組合,若還沒有則返回到多重循環開始部241的處理。若已檢查完畢,則在序號解碼部246中使用與cases相對應的信息量對index進行解碼。
接著,在原始信號輸出部247中,取出Ubuf[]25的第index號的值,並作為原始圖像信號輸出。
接著,在結束判定部26中判定是否對圖像內的所有塊進行了解碼,若未完成則轉移到下一個塊重新開始初始化解碼部21的處理。如完成,則結束解碼。
在本發明中,當index的編碼使用通用的可變長度編碼時,解碼側變成圖5所示那樣的功能塊結構。圖5所示的分段可逆視頻解碼裝置3在通用可變長度解碼部27中對index進行解碼,並在多重循環結束判定部285中判定執行了多重循環的次數是不是第index次,若不是則判定為立即結束,並將此時的U值作為原始信號輸出。因此,不需要像圖4所示的Ubuf[]25那樣的排列存儲。其餘部分的動作和圖4所說明的例子相同。
實施例1說明與實施形態3對應的實施例1。在該實施例1中,作為核心處理的概況如下輸入量化參數,預測信號Y和原殘差信號Rorig
處理對於和原始信號對應的正交變換係數,一部分變成壓縮信息,剩下的作為無遺漏地列舉所有的能變成原始信號的組合中的序號來表現。
輸出分別表現一部分係數的(A、C、B、D、I、E、M、K)的壓縮信息(ZA~ZK),用1個數值代表剩下的匯總係數(G、F、H、J、L、N、O、P)的代碼(index)參照圖6所示的處理流程說明實施例1。首先,在步驟S101中輸入量化參數,預測信號Y和原殘差信號Rorig。其次,在步驟S102中將index和cases同時初始化為0。
其次,在步驟S103中,對Rorig進行正交變換並得到原變換係數Xorig,同時,求出對Xorig進行量化後的量化係數。在步驟S104中,根據前面得到的量化參數和量化係數的信息求出作為反推Xorig的矩陣之X的各元素(A~P)的上下限。在步驟S105中,在此基礎上,按順序對A、C、B、D、I、E、M、K進行壓縮編碼。
接著,進入G、F、H、J、L、N、O、P的8重循環(步驟S106~步驟S114)。在步驟S107中,利用式(8)對由當前的A~P的值構成的4×4矩陣X進行逆變換,得到R。
在步驟S108中,確認R的元素全部是否是整數,若是『偽』則進入到S114,若是『真』則進入到S109,並計算U=R+Y。
其次,在步驟S110中,確認U的所有元素是否都在
的範圍之內。若是『偽』則進入S114,若是『真』則進入S111,確認X是否和原變換係數Xorig相等。若是『真』則在步驟S112中,將當前的cases值保存在變量index中。接著,在步驟S113中,使cases值加1並進入步驟S114。
在步驟S114中,確認8重循環是否都完成,若是『偽』則返回到循環開始的步驟S106,若是『真』則在步驟S115中使用已求出的與cases(格子點總數)對應的信息量(式(22))對index進行編碼並結束程序。
這裡,示出了預先對部分係數(A、C、B、D、I、E、M、K共8個係數)另外進行編碼(步驟S105)的例子,但也可以省略這一步驟,若將從步驟S106到S114作為整個16個係數的多重循環,則變成框架結構和實施形態1或實施形態2完全對應的實施例。
實施例2說明與實施形態4對應的實施例2。在該實施例2中,作為核心處理的概況如下輸入量化參數,預測信號Y和量化係數處理對於和原始信號對應的正交變換係數,一部分(A、C、B、D、I、E、M、K)從壓縮信息進行解碼,剩餘的(G、F、H、J、L、N、O、P)作為無遺漏地列舉所有的能變成原始信號的組合中的序號來解碼。
輸出原圖像信號參照圖7所示的處理流程說明實施例2。首先,在步驟S201中將cases初始化為0。其次,在步驟S202中進行量化參數、量化係數的解碼並生成預測信號Y。這些是從H.264基本信息位流中得到的信息。
在步驟S203中,根據前面得到的信息求出矩陣X的各元素(A~P)的上下限。在步驟S204中,在此基礎上,按順序對A、C、B、D、I、E、M、K進行解碼。
接著,進入G、F、H、J、L、N、O、P的8重循環(步驟S205~步驟S212)。在步驟S206中,利用式(8)對由當前的A~P的值構成的4×4矩陣X進行逆變換,得到R。
在步驟S207中,確認R的元素是否全是整數,若是『偽』則進入S212,若是『真』則進入S208,並計算U=R+Y。
其次,在步驟S209中,確認U的所有元素是否都在
的範圍之內,若是『真』則在步驟S210中,將當前的U值保存在陣列Ubuf[]的cases地址中,進入到步驟S211使cases值加1,並進入S212,若是『偽』則進入到步驟S212。
在步驟S212中,確認8重循環是否都完成,若是『偽』則返回循環開始的步驟S205。若是『真』,則在步驟S213中使用已求出的與cases(格子點總數)對應的信息量(式(22))對index進行解碼,在步驟S214中輸出Ubuf[index](相當於原始信號)並結束程序。
在以上實施例中,說明了使用cases對index進行編碼的例子,但也可以使用通用可變長度編碼(UVLC)或停止代碼對index進行編碼。當index編碼使用通用可變長度編碼或停止代碼時,解碼側即使不知道cases也可以解碼。這時,可以預想index用的代碼量增加不到兩成,由於不必計算cases的值,故可以中途中斷多重循環,具有使編碼和解碼的時間減半的效果。此外,還具有解碼側不需要排列存儲Ubuf[]的效果。
以上,參照

了本發明的實施形態和實施例,但這些只不過是本發明的例子,很明顯,本發明不限於這些實施形態和實施例。因此,在不脫離本發明的精神和範圍的範圍內,可以進行構成要素的增加、省略、置換及其他的變更。
例如,圖3~圖5所示的裝置除了利用專用的硬體來實現的形態之外,也可以利用具有存儲器和CPU(中央處理裝置)等的計算機系統來構成,通過將用於實現這些裝置的處理(例如,圖6~圖7所示的各步驟)程序安裝在存儲器中後再執行來實現該功能。此外,也可以將用來實現該功能的程序記錄在計算機可讀取的記錄媒體中,使計算機系統讀取記錄在該記錄媒體中的程序後再執行。
再有,這裡所說的計算機系統包含OS或外設等硬體。此外,計算機可讀取的記錄媒體是指軟盤、光磁碟、ROM、CD-ROM等可移動的媒體和內置在計算機內的硬碟等存儲裝置,還包括經由像經網際網路等網絡或電話線路等通信線路發送程序時的通信線路那樣,動態地保持程序的程序載體(傳送媒體乃至傳送波)、和像此時的伺服器或客戶計算機系統內部的易失性存儲器那樣,在一定時間內保持程序的介質。此外,上述程序也可以是用來實現上述部分功能的程序,進而,也可以是通過與已記錄在計算機系統中的程序組合來實現上述功能的、所謂差分文件(差分程序)。
此外,分段可逆視頻編碼裝置和分段可逆視頻解碼裝置例如可以像以下那樣構成。
即,分段可逆視頻編碼裝置的構成包括生成以H.264標準為基準的位流的單元;在對圖像信號的各塊進行的編碼中輸入幀內編碼的空間預測或幀間編碼的時間預測的預測信號的單元;輸入從原始信號減去預測信號後的殘差信號的單元;求出根據H.264標準方式對殘差信號進行正交變換得到的變換係數和將其量化後的量化係數的單元;指定由量化係數、量化參數和量化方法決定的變換係數的存在空間的單元;判斷將該空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷單元;列舉在該空間內的格子點中上述判斷是妥當的格子點的列舉單元;按照列舉的順序從0開始對列舉的格子點分配序號的單元;在列舉的格子點中得到與殘差信號的變換係數一致的格子點的序號的單元;對得到的序號進行編碼的單元。
在上述分段可逆視頻編碼裝置中,可以具有在列舉格子點時通過使用變換係數間的整數值的關係對在空間內不能取得變換係數的點省略妥當性判斷處理的單元。
在上述分段可逆視頻編碼裝置中,可以具有對特定的幾個變換係數,傳送除了利用該係數和已傳送完成的係數(如果有的話)的整數值的關係而不能取得該係數的值之外的信息,從而代替傳送該係數的單元;和列舉使用像這樣預先已傳送的變換係數將維數縮小的存在空間內的格子點的單元。
在上述分段可逆視頻編碼裝置中,可以具有隻通過位運算和整數加減運算來等效地實現上述妥當性判斷的單元。
在上述分段可逆視頻編碼裝置中,可以具有利用殘差信號的存在範圍和變換係數的存在範圍相交形成為凸多面體的情況在途中中止上述妥當性判斷的單元。
在上述分段可逆視頻編碼裝置中,可以具有不用上述列舉裝置列舉格子點而進行代碼量的估計的單元。
與上述分段可逆視頻編碼裝置對應的分段可逆視頻解碼裝置的構成包括執行H.264標準解碼方式的單元;指定由量化參數、量化係數、編碼時的量化方法和已復原的係數(如果有的話)決定的變換係數的存在空間的單元;對應解碼的係數進行解碼的單元;和第1~第3的本發明相同的列舉單元和判斷單元;對序號進行解碼的單元;輸出序號與所列舉的順序相等的格子點的單元。
本發明涉及實現高效率視頻編碼和解碼的分段可逆視頻編碼、解碼技術。若按照本發明,可使作為基本部分傳送的代碼保持與H.264標準的兼容性,同時可以儘量減小附加部分的代碼量,可進行與原始信號一致的可逆解碼。此外,若按照本發明,能夠以幾兆倍的高速進行處理。進而,可以不實際進行編碼就能夠對代碼量進行推測,結果,可以快速進行減小代碼量的預測模式的選擇。
權利要求
1.一種分段可逆視頻編碼方法,進行可實現與原始信號一致的解碼的視頻編碼,其特徵在於,包括如下步驟根據預先規定的非可逆視頻編碼方式,對圖像信號的每一個塊輸入從原始信號減去幀內編碼的空間預測或幀間編碼的時間預測的預測信號而得到的殘差信號;求出根據上述非可逆視頻編碼方式對上述殘差信號進行正交變換所得到的變換係數和將其量化後的量化係數;指定由上述量化係數、量化時使用的量化參數和量化方法決定的變換係數的存在空間;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷;按照規定的格子點的順序搜索並列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點;按照列舉的順序對列舉的格子點分配序號;在列舉的格子點中得到與殘差信號的變換係數一致的格子點的序號;對與上述殘差信號的變換係數一致的格子點的序號進行編碼並輸出。
2.權利要求1記載的分段可逆視頻編碼方法,其特徵在於在列舉上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點的步驟中,對於通過使用變換係數間的整數值的關係在上述空間內不能取得變換係數這一點,省略作為殘差信號的正交變換的結果是否妥當的判斷處理。
3.權利要求1或2記載的分段可逆視頻編碼方法,其特徵在於具有如下步驟,即代替輸出幾個特定的變換係數,而輸出除了不能利用該係數和已輸出的係數的整數值關係來取得該係數的值之外的信息;在列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點的步驟中,列舉使用上述預先輸出的變換係數將維數縮小的存在空間內的格子點。
4.權利要求1~3的任何一項記載的分段可逆視頻編碼方法,其特徵在於在上述妥當性判斷步驟中,只使用位運算和整數加減運算來判斷妥當性。
5.權利要求1~4的任何一項記載分段可逆視頻編碼方法,其特徵在於利用殘差信號的存在範圍和變換係數的存在範圍相交形成凸多面體的情況,當作為判斷對象的上述格子點存在於上述凸多面體的外部時,中途中止上述妥當性判斷。
6.權利要求1~3的任何一項記載的分段可逆視頻編碼方法,其特徵在於,具有如下步驟不執行列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點的步驟,而進行代碼量的估計。
7.一種解碼方法,對利用權利要求1~6的任何一項記載的分段可逆視頻編碼方法編碼後的編碼數據流進行解碼,其特徵在於,包括如下步驟執行與以預先確定的非可逆視頻編碼方式相對應的解碼方式;指定由量化參數、量化係數和編碼時的量化方法決定的、以及當具有已解碼的係數時由該係數決定的變換係數的存在空間;對應解碼的係數進行解碼;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷;按照和編碼時格子點的搜索順序相同的順序搜索並列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點;對序號進行解碼;在上述列舉的格子點中,輸出與上述解碼的序號相等的順序的格子點。
8.一種分段可逆視頻編碼裝置,進行可實現與原始信號一致的解碼的視頻編碼,其特徵在於,包括根據預先確定的非可逆視頻編碼方式,對圖像信號的每一個塊輸入從原始信號減去幀內編碼的空間預測或幀間編碼的時間預測的預測信號而得到的殘差信號的單元;求出根據上述非可逆視頻編碼方式對上述殘差信號進行正交變換而得到的變換係數和將其量化後的量化係數的單元;指定由上述量化係數、量化時使用的量化參數和量化方法決定的變換係數的存在空間的存在空間決定單元;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換結果是否妥當的妥當性判斷單元;按照規定的格子點的順序搜索並列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點的單元;按照列舉的順序對列舉的格子點分配序號的單元;在列舉的格子點中得到與殘差信號的變換係數一致的格子點的序號的單元;對與上述殘差信號的變換係數一致的格子點的序號進行編碼並輸出的單元。
9.一種對利用權利要求8記載的分段可逆視頻編碼裝置編碼後的編碼數據流進行解碼的分段可逆視頻解碼裝置,其特徵在於,包括執行與按照預先確定的非可逆視頻編碼方式相對應的解碼方式的單元;指定由量化參數、量化係數和編碼時的量化方法決定的、以及當具有已解碼的係數時由該係數決定的變換係數的存在空間的單元;對應解碼的係數進行解碼的係數解碼單元;判斷將上述變換係數的存在空間內的某格子點作為殘差信號的正交變換的結果是否妥當的妥當性判斷單元;按照和編碼時格子點的搜索順序相同的順序搜索並列舉在上述變換係數的存在空間內的格子點中上述判斷較妥當的格子點的單元;對序號進行解碼的序號解碼單元;在上述列舉的格子點中,輸出與上述解碼的序號相等的順序的格子點的輸出單元。
10.一種分段可逆視頻編碼程序,其特徵在於利用計算機執行權利要求1~6的任何一項記載的分段可逆視頻編碼方法。
11.一種分段可逆視頻解碼程序,其特徵在於利用計算機執行權利要求7記載的分段可逆視頻解碼方法。
12.一種分段可逆視頻編碼程序的記錄媒體,其特徵在於將用來在計算機上執行權利要求1~6的任何一項記載的分段可逆視頻編碼方法的程序記錄在計算機可讀取的記錄媒體上。
13.一種分段可逆視頻解碼程序的記錄媒體,其特徵在於將用來在計算機上執行權利要求7記載的分段可逆視頻解碼方法的程序記錄在計算機可讀取的記錄媒體上。
全文摘要
作為基本部分傳送的代碼保持與H.264標準的兼容性,同時可進行高效率的可逆解碼。正交變換部(12)對殘差信號Rorig進行正交變換後,再取得變換係數Xorig,量化部(13)對其進行量化。存在空間決定部(14)根據量化信息求出各係數的上下限信息(變換係數的存在空間)。在係數匯總編碼部(16)中,判斷將變換係數的存在空間內的格子點作為殘差信號的正交變換的結果是否妥當,列舉判斷為妥當的格子點。按照列舉順序分配序號index,利用序號編碼部(166)對和殘差信號的變換係數Xorig一致的格子點的序號進行編碼。
文檔編號H04N7/50GK1922890SQ20058000514
公開日2007年2月28日 申請日期2005年9月29日 優先權日2004年9月30日
發明者高村誠之, 八島由幸 申請人:日本電信電話株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀