專利名稱:變長編碼數(shù)據(jù)發(fā)送裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于對變長編碼所得的數(shù)據(jù)塊的不同位長度進行偽定長處理,成為恒定的長度水平,并在該狀態(tài)下將數(shù)據(jù)塊發(fā)送出去用的變長編碼數(shù)據(jù)塊發(fā)送裝置。
變長編碼是一種編碼方法,為了減少碼的數(shù)量,按照各種數(shù)據(jù)項出現(xiàn)的頻率,分別把具有不同位長度的碼賦給不同的數(shù)據(jù)。因此,只有正確地讀出位串,才能實現(xiàn)以下目標盡管經(jīng)過變長編碼處理的碼的結(jié)束位置彼此不同,各個碼仍能正確解碼和正確識別各碼的結(jié)束位置,因為解碼過程是在與特定的碼的長度相當?shù)奈恢蒙献x出該位的時刻進行的。
如果變長編碼數(shù)據(jù)在傳送時出現(xiàn)錯碼,編碼數(shù)據(jù)就像具有不同的碼長度一樣,解碼就不會正確。結(jié)果,甚至在錯碼恢復了很長時間之后,仍舊失步(失去同步),因而仍以錯誤的方式進行解碼。這在實際上使編碼信號的質(zhì)量大大降低。作為防止這種由于錯碼而失步可能帶來的有害作用的方法之一,有David Redmil在題為“堅固的影象和視頻編碼的結(jié)構(gòu)”(2nd International Workshopon Mobil Multi media Communication(MoMuC),April 1995)印刷品中討論的方法,其中對變長編碼數(shù)據(jù)塊的組,求出變長編碼數(shù)據(jù)塊位長度的平均值,使得在任何一個選定的組中,每個數(shù)據(jù)塊的位長度相等。這樣平均之后,每個塊的位長度是固定的,使得每個塊都有偽固定長度,然后在這種狀態(tài)下發(fā)送每個數(shù)據(jù)塊。在該印刷品中,將變長編碼數(shù)據(jù)塊適當?shù)胤指畛蓭讐K,使每個分割后的數(shù)據(jù)項具有預定的長度,以獲取變長碼在數(shù)據(jù)傳送中的性質(zhì)和特性的好處。這樣分割的編碼數(shù)據(jù),在解碼過程中,通過判斷該碼能否解碼來檢測碼的結(jié)束,然后恢復成它們原來的變長碼。
現(xiàn)參照圖9介紹這個方法?,F(xiàn)假定有N個變長編碼數(shù)據(jù)塊,而且每個變長編碼數(shù)據(jù)塊i的位長度為bi(0≤i≤N-1)。還應(yīng)指出,在下文中任何數(shù)值包括i都假定是N的模數(shù)。
首先,在發(fā)送N個變長編碼數(shù)據(jù)塊之前,求出平均值s≥(1/N)sumbi(式中sum是一個操作符,表示i=0至N-1的和)。
然后,設(shè)想有N個槽,每個具有位長度s。下文描述的各個操作階段均針對這些槽。在第一階段,如S1所示,把構(gòu)成變長編碼數(shù)據(jù)塊i(0≤i≤N-1)的每一位填入構(gòu)成每一槽i(0≤i≤N-1)的每一位的位置。這時,對于滿足bi<s的塊i,槽i具有多余的位(就是說,槽i具有多余的空間來接受額外的位)。另一方面,對于滿足bi>S的塊i,不能將全部位填入槽i。如果某些塊位太多,填不下,過程便轉(zhuǎn)入第二階段。在第二階段,對于塊i填不下的那些位,如S2所示,作一個判斷,看它們能否填入下一個槽(就是說,相鄰的槽)。如果準備賦給下一個槽i+1的塊i+1的位長度滿足bi+1<S,槽i+1填完塊i+1的位之后還有空位,所以,槽i填不下而溢出的多余位填入這個空位。如果還剩下一個塊,其位在槽i+1的空位還填不下,過程便進入第三階段,如S3所示,將剩下多余的位填入槽i+1的下一個槽i+2。如果這樣的填入操作重復最多N次,N塊的位可填入這些槽中。結(jié)果得到的數(shù)據(jù),可作為N個位長度如S4所示的偽定長碼(下文稱為“定長數(shù)據(jù)塊”)處理。
這樣,使每個變長編碼數(shù)據(jù)塊具有偽定長度,然后,在該狀態(tài)下,將具有偽定長度的每個編碼數(shù)據(jù)塊發(fā)送出去,并在接收側(cè)解碼。在這里,一個接一個地到達接收側(cè)的定長數(shù)據(jù)塊便包括了變長編碼數(shù)據(jù)塊。為了檢測出變長編碼數(shù)據(jù)塊的結(jié)束,從前面的描述可以看出,變長編碼數(shù)據(jù)塊的頂部必然占據(jù)收到的定長數(shù)據(jù)塊的頂部。相應(yīng)地,在接收側(cè),收到的碼的解碼總是從定長數(shù)據(jù)塊的起始時刻開始的。
當一個變長編碼數(shù)據(jù)塊的解碼結(jié)束,就開始下一個變長編碼數(shù)據(jù)塊的解碼。但是,對于跨越幾個槽并在此狀態(tài)下發(fā)送的變長編碼數(shù)據(jù)塊,即使最后第s個槽的位解碼都完成之后,其解碼過程還沒有完成。因此,鑒于這一事實,對于接收時就跨越幾個槽的變長編碼數(shù)據(jù)塊,只有要求的槽數(shù)(就是說,該數(shù)據(jù)塊跨越的槽數(shù))準備好接收該變長編碼數(shù)據(jù)塊的所有的位,解碼過程才能進行。就是說,為了解碼,每個階段的過程用如下方式進行。首先,假定有位長度s的N個槽,并假定收到的定長數(shù)據(jù)塊分別填入這些槽中。在第一階段,解碼過程從每個槽的頂位位置開始。這時,假如有一個槽的解碼過程尚未完成,在第s位之前的某個位置,過程進到第二階段。在第二階段,對解碼過程尚未完成的槽i進行檢查,看下一個槽i+1的解碼過程是否完成,并判斷塊i+1是否滿足bi+1<s。如果判斷得出肯定的結(jié)果,就將槽i+1的剩余區(qū)域的位加到槽i,再對槽i進行解碼。如果盡管加了槽i+1的位解碼過程仍未完成,則過程進到第三階段,將下一個槽i+2的位加到槽i。如果這個加位的操作反復進行的次數(shù)等于發(fā)送數(shù)據(jù)時的次數(shù),就能得到原來的N個變長編碼數(shù)據(jù)塊。
如前所述,變長編碼數(shù)據(jù)塊是作為具有s*N位的偽定長數(shù)據(jù)塊形成的,并連同值s一起發(fā)送的。對于準備在槽開始的定時發(fā)送的每一塊,即使前一塊出現(xiàn)了傳送差錯,也不會出現(xiàn)本來是會由于傳送差錯而出現(xiàn)的失步,而且解碼也會按正常的時序完成。就是說,即使中途出現(xiàn)差錯,對于處在解碼時間的每一個塊,都能得到正確的同步。這樣,就能在很大的程度上避免出現(xiàn)解碼錯誤。
另一方面,除了剛才指出的獲得正確同步的方法以外,作為有效地避免由于數(shù)據(jù)傳送時信號出錯而使編碼信號質(zhì)量降低的一個方法,或許會想到糾錯碼的應(yīng)用。作為應(yīng)用糾錯碼的一種方法,除了對全部數(shù)據(jù)都應(yīng)用不變的糾錯碼的方法以外,糾錯碼的糾錯能力部分改變的位選擇糾錯方法是有效的。這個方法對于在數(shù)據(jù)的不同部分具有不同的錯碼靈敏度(差錯靈敏度)的數(shù)據(jù)特別有效。這個位選擇糾錯方法稱為BS-FEC(位選擇前向糾錯法)或UEP(不等差錯保護法),下文就稱位選擇前向糾錯法。詳見,例如,H.Suda和T.Miki所著“地面移動式無線電頻道用差錯保護的16K位/秒聲音傳送”印刷品(IEEEJ-SAC,vol.6,No.2,pp.346-352,1988)。
現(xiàn)假定,如前所述,在使用使變長編碼數(shù)據(jù)塊具有偽定長度并在此狀態(tài)下將其發(fā)送的方法時,發(fā)現(xiàn)有一個其位長度顯著地超過其他變長編碼數(shù)據(jù)塊的變長編碼數(shù)據(jù)塊j。構(gòu)成這樣一個變長編碼數(shù)據(jù)塊j的不同的位分布到槽j以外的其他多個槽中。因為這些位填充各槽后面的空位,而不是填充各槽的前導區(qū)域,它們會受到數(shù)據(jù)傳送時每個定長數(shù)據(jù)塊錯碼引起的失步的有害影響。正如從前面所作的討論可以看出的,上述傳統(tǒng)傳送方法有著這種致命的缺點如果有某些變長編碼數(shù)據(jù)塊的位長度顯著地大于其他變長編碼數(shù)據(jù)塊,變長編碼數(shù)據(jù)塊由于錯碼造成的有害影響會更大。
另外,假定一種情況,即數(shù)據(jù)在其具有偽定長度的狀態(tài)下準備發(fā)送時使用糾錯碼。在這種情況下,最好不對全部數(shù)據(jù)采用恒定的糾錯碼,因為有時數(shù)據(jù)的不同部分具有不同的差錯靈敏度。在這樣的一種情況下,數(shù)據(jù)變得不必要地盈余,從而降低傳送效率。采用位選擇前向糾錯法時,對于碼長和碼的結(jié)構(gòu)由于對數(shù)據(jù)所施加的變長編碼而發(fā)生變化的這樣的數(shù)據(jù),變得有必要作為附加數(shù)據(jù)同時發(fā)送糾錯碼的應(yīng)用模式,這種應(yīng)用模式對應(yīng)于該數(shù)據(jù)和該數(shù)據(jù)的差錯靈敏度。另外,如果差錯靈敏度隨次要數(shù)據(jù)項而有所不同,就有必要較頻繁改變糾錯碼。正如前面討論的,傳統(tǒng)工藝碰到了這樣一個問題,即當使用糾錯碼時,如果差錯靈敏度隨數(shù)據(jù)的不同部分而不同時,就難以進行有效的操作。
本發(fā)明的第一個目的是,為了排除上述問題,提供一種變長編碼數(shù)據(jù)發(fā)送裝置,其中通過對變長編碼數(shù)據(jù)塊進行偽定長處理,總能排除錯碼由于失步而發(fā)生的有害影響。本發(fā)明的另一個目的是,提供一種通過改進能達到第一目的的變長編碼數(shù)據(jù)發(fā)送裝置而獲得的變長編碼數(shù)據(jù)發(fā)送裝置,以便以更有效的方式進行糾錯。
因此,根據(jù)本發(fā)明的一個方面,提供一種變長編碼數(shù)據(jù)發(fā)送裝置,它包括用于對每個由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組,計算對應(yīng)于準備發(fā)送的各變長編碼數(shù)據(jù)塊的位長度的閾值的閾值算術(shù)計算裝置;用于判斷每個變長編碼數(shù)據(jù)塊是否具有超過閾值的位長度的判斷裝置;以及用于當該判斷裝置的判斷結(jié)果是肯定時,將其位長度超過閾值的變長編碼數(shù)據(jù)塊分割成多個數(shù)據(jù)塊,并將這些數(shù)據(jù)塊送回原來的塊組的分塊裝置;利用通過所述分塊裝置所得的數(shù)據(jù)塊和每塊組的其余變長編碼數(shù)據(jù)塊構(gòu)成其位長度取平均值的定長數(shù)據(jù)塊,并加以發(fā)送,從而使數(shù)據(jù)按每個定長數(shù)據(jù)塊進行同步。
在傳統(tǒng)技術(shù)中,因為甚至對那些位長度顯著地大于其他塊的塊也原樣地進行固定長度處理,使得這樣特長的塊分布入多個槽中,并在此狀態(tài)下進行發(fā)送。相應(yīng)地,當特長數(shù)據(jù)塊解碼時,其他塊錯碼就會對它產(chǎn)生嚴重的有害影響,并難以獲得能夠防止失步出現(xiàn)的好處。相反,按照本發(fā)明的指導,變長編碼數(shù)據(jù)發(fā)送裝置將這種特長塊分割成多個塊,最后固定長度。因此,可以排除解碼數(shù)據(jù)的質(zhì)量由于錯碼因特長塊分布入多個塊而引起的有害影響而下降的問題。結(jié)果,就能防止失步的出現(xiàn)。
從本發(fā)明的另一個方面,提供一種變長編碼數(shù)據(jù)發(fā)送裝置,它包括用于對每個由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組,計算對應(yīng)于準備發(fā)送的各變長編碼數(shù)據(jù)塊的位長度的閾值的閾值算術(shù)計算裝置;用于判斷每個變長編碼數(shù)據(jù)塊是否具有超過閾值的位長度的判斷裝置;以及用于將其位長度超過閾值的變長編碼數(shù)據(jù)塊從該變長編碼數(shù)據(jù)塊所屬的塊組中分離出來,從而使分離出來的數(shù)據(jù)塊組成一個新的數(shù)據(jù)塊組的組分離裝置;利用每個塊組的變長編碼數(shù)據(jù)塊構(gòu)成其位長度取平均值的定長數(shù)據(jù)塊并加以發(fā)送,從而使數(shù)據(jù)按每個定長數(shù)據(jù)塊進行同步。
按照如此設(shè)計的裝置,位長度明顯地大于其他變長編碼數(shù)據(jù)塊的變長編碼數(shù)據(jù)塊從原來所屬的塊組中移入另一個組,最后再單獨定長。因此,可以排除解碼數(shù)據(jù)的質(zhì)量由于錯碼因特長塊分布入多個塊而引起的有害作用而下降的問題。結(jié)果,就能防止失步的出現(xiàn)。
在按照本發(fā)明的變長編碼數(shù)據(jù)發(fā)送裝置中,所述閾值算術(shù)計算裝置最好根據(jù)從屬于每個塊組的變長編碼數(shù)據(jù)塊的位長度平均值計算閾值。
根據(jù)本發(fā)明的又一方面,提供一種變長編碼數(shù)據(jù)發(fā)送裝置,它包括用于利用每個由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組的變長編碼數(shù)據(jù)塊,構(gòu)成其位長度等于平均長度水平的定長數(shù)據(jù)塊的定長處理裝置;用于計算說明每個變長編碼數(shù)據(jù)塊被該定長處理裝置分布到多少個定長數(shù)據(jù)塊中去的分布數(shù)的分布數(shù)算術(shù)計算裝置;用于將其分布數(shù)超過預定閾值的變長編碼數(shù)據(jù)塊分割成多個數(shù)據(jù)塊,并將這些數(shù)據(jù)塊送回原來的塊組的分塊裝置;所述定長處理裝置對所述分塊裝置處理過的每個塊組重新形成定長數(shù)據(jù)塊,所述數(shù)據(jù)塊以定長數(shù)據(jù)塊的形式發(fā)送,并對每個定長數(shù)據(jù)塊進行同步。
在如此設(shè)計的裝置中,將位長度明顯地大于其他變長編碼數(shù)據(jù)塊的變長編碼數(shù)據(jù)塊分割成多個塊,最后固定長度。因此,可以排除解碼數(shù)據(jù)的質(zhì)量由于錯碼因特長塊分布入多個塊而引起的有害影響而下降的問題。結(jié)果,就能防止失步的出現(xiàn)。
根據(jù)本發(fā)明的又一方面,提供一種變長編碼數(shù)據(jù)發(fā)送裝置,它包括用于利用由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組的變長編碼數(shù)據(jù)塊,構(gòu)成其位長度等于平均長度水平的定長數(shù)據(jù)塊的定長處理裝置;用于計算說明每個變長編碼數(shù)據(jù)塊被該定長處理裝置分布到多少個定長數(shù)據(jù)塊中去的分布數(shù)的分布數(shù)算術(shù)計算裝置;用于將其分布數(shù)超過閾值的變長編碼數(shù)據(jù)塊從該變長編碼數(shù)據(jù)塊所屬的塊組中分離出來,從而使分離出來的數(shù)據(jù)塊組成一個新的數(shù)據(jù)塊組的組分離裝置;所述定長處理裝置對所述組分離裝置處理過的每個塊組重新形成定長數(shù)據(jù)塊,所述數(shù)據(jù)塊以定長數(shù)據(jù)塊的形式發(fā)送,并對每個定長數(shù)據(jù)塊進行同步。
同樣,在如此設(shè)計的裝置中,把位長度明顯地大于其他變長編碼數(shù)據(jù)塊的變長編碼數(shù)據(jù)塊從原來所屬的塊組中移入另一個組,最后再單獨定長。因此,可以排除解碼數(shù)據(jù)的質(zhì)量由于錯碼因特長塊分布入多個塊而引起的有害影響而下降的問題。結(jié)果,就能防止失步的出現(xiàn)。
按照本發(fā)明的又一方面,提供一種變長編碼數(shù)據(jù)發(fā)送裝置,它包括用于將多個準備發(fā)送的變長編碼數(shù)據(jù)塊按其位長度分類成幾個塊組的塊分組裝置;利用每個塊組的變長編碼數(shù)據(jù)塊構(gòu)成其位長度取平均值的定長數(shù)據(jù)塊并加以發(fā)送,從而使數(shù)據(jù)按每個定長數(shù)據(jù)塊進行同步。
在傳統(tǒng)技術(shù)中,形成塊組時,不管位長度并原樣地進行定長處理。相反,按照上述裝置,變長編碼數(shù)據(jù)塊按其位長度進行分組并進行定長處理。由于這種安排,可以減小屬于各塊組的那些塊的位長度之間的差。所以,位長度顯著地大于其他變長編碼數(shù)據(jù)塊的塊就難以在塊組中存在。因此,可以排除特長塊的解碼過程數(shù)據(jù)的質(zhì)量由于錯碼因分布入多個塊而引起的有害影響而下降的問題。結(jié)果,就能防止失步的出現(xiàn)。
按上述發(fā)明的變長編碼數(shù)據(jù)發(fā)送裝置最好還包括以這樣的方式實現(xiàn)差錯恢復的裝置,使得在每個定長數(shù)據(jù)塊中數(shù)據(jù)對錯碼的靈敏度呈階梯型改變,并且在由多個定長數(shù)據(jù)塊組成的每個塊組中,糾錯能力也呈階梯型改變,而差錯恢復是從構(gòu)成每個塊組的每個定長數(shù)據(jù)塊的最高位開始的。
由于上述結(jié)構(gòu),基于數(shù)據(jù)對差錯的靈敏度的不同的糾錯能力的差錯恢復可以從每塊的第一位開始。結(jié)果,不必附加數(shù)據(jù)就能實現(xiàn)有效的差錯恢復。
圖1是方塊圖,說明以動畫編碼傳送裝置的形式實現(xiàn)本發(fā)明第一種方式的配置;圖2是解釋上述方式的操作及效果的圖形;圖3是方塊圖,說明經(jīng)過修改的上述方式的一個例子;圖4是方塊圖,說明以動畫編碼傳送裝置的形式實現(xiàn)本發(fā)明第二種方式的配置;圖5是方塊圖,說明經(jīng)過修改的上述第二種方式的一個例子;圖6是方塊圖,說明以動畫編碼傳送裝置的形式實現(xiàn)本發(fā)明第三種方式的配置;圖7是方塊圖,說明以糾錯編碼系統(tǒng)的形式實現(xiàn)本發(fā)明第四種方式的配置;
圖8是說明緩沖區(qū)26和糾錯編碼線路27中的數(shù)據(jù)讀出方向和糾錯能力的示意圖。
圖9是用于解釋變長編碼偽定長處理的方法的示意圖。
為了更好地理解本發(fā)明,現(xiàn)在來描述實現(xiàn)本發(fā)明的幾種方式。但是,應(yīng)該指出,這樣的實施例僅僅說明實現(xiàn)本發(fā)明的一種方式,本發(fā)明并不限于這些實施例。相反,如有必要,在不離開本發(fā)明的范圍的情況下,可以作出種種改變。
A.實現(xiàn)本發(fā)明的第一種方式圖1表示將本發(fā)明應(yīng)用于動畫編碼傳送裝置的實現(xiàn)本發(fā)明的一種方式。該動畫編碼傳送裝置包括用來對從輸入端子1輸入的動畫數(shù)據(jù)進行壓縮和變長編碼處理的動畫數(shù)據(jù)壓縮/編碼裝置2,和連接到該動畫數(shù)據(jù)壓縮/編碼裝置2上并設(shè)計成能使從動畫數(shù)據(jù)壓縮/編碼裝置一個接一個地輸出的變長編碼塊變成具有偽固定長度,并在此狀態(tài)下將這些塊輸出的偽定長處理裝置7。動畫數(shù)據(jù)壓縮/編碼裝置2包括塊化線路3、正交變換線路4、量化線路5和變長編碼線路6。偽定長處理裝置7包括緩沖區(qū)8、閾值算術(shù)計算裝置9、判斷線路10、分塊線路11、定長處理線路12和多路切換線路13。
這里所用的動畫數(shù)據(jù)壓縮/編碼裝置2的一個例子,可以是根據(jù)例如,ITU-T建議H.261“p*64K位/秒音頻視頻服務(wù)用視頻編碼”(1995年三月)制造的一類裝置。
下面將要敘述這種動畫編碼傳送裝置的操作。
構(gòu)成動畫的一系列動畫數(shù)據(jù)幀逐漸通過輸入端子1輸入動畫數(shù)據(jù)壓縮/編碼裝置2的分塊線路3。分塊線路把這些對應(yīng)的各幀的動畫數(shù)據(jù)分成多個對應(yīng)于預定象素數(shù)的塊。然后,正交變換線路4對這些塊的每一個進行二維正交變換。接著,對每一塊求出對應(yīng)于每一塊的轉(zhuǎn)換系數(shù)。量化線路5對對應(yīng)于各塊的轉(zhuǎn)換系數(shù)進行量化。然后,這樣地量化后的轉(zhuǎn)換系數(shù)由變長編碼線路逐塊進行變長編碼,并以變長編碼數(shù)據(jù)塊的形式輸出。
如上所述由動畫數(shù)據(jù)壓縮/編碼裝置2一個接一個地輸出的變長編碼數(shù)據(jù)塊,輸入偽定長處理裝置7。眾多變長編碼數(shù)據(jù)塊構(gòu)成塊組,將每個塊組的數(shù)據(jù)儲存在存儲器8內(nèi)。這里,假定采用,例如,根據(jù)ITU-T建議H.261制作的一類裝置,作為動畫數(shù)據(jù)壓縮/編碼裝置2,作為準備輸入的數(shù)據(jù)塊的單元和由這些數(shù)據(jù)塊構(gòu)成的塊組,可以分別采用宏塊和塊組。然后,閾值算術(shù)輸出電路9對儲存在緩沖區(qū)8中的每個塊組求出下列數(shù)值。
a.構(gòu)成有關(guān)塊組的每個變長編碼數(shù)據(jù)塊的位長度。
b.構(gòu)成有關(guān)塊組的每個變長編碼數(shù)據(jù)塊的平均位長度。
c.對應(yīng)于平均位長度的閾值。
這個閾值是,例如,平均位長度的三倍。
然后,在判斷線路10中,作出每個變長編碼數(shù)據(jù)塊是否具有其位長度明顯長于其余這些變長編碼數(shù)據(jù)塊的判斷。這個判斷是通過由閾值算術(shù)計算線路9求出的閾值和準備判斷的塊的位長度的比較作出的。被判斷為具有比當時的閾值更大的位長度的變長編碼數(shù)據(jù)塊,在分塊線路11中被分割成位長度較小的數(shù)據(jù)塊,然后,送回緩沖區(qū)內(nèi)這些數(shù)據(jù)原來從屬的塊組。
在這里,分塊線路11把塊分成幾個相等的部分,使得每個分出來的塊部分的位長度可以比該塊的平均位長度短,并輸出對什么塊進行分割和分成幾塊的信息(下文稱此信息為“分割信息”)。除了此例所示的分割成相等的幾個部分以外,分塊線路11當然也可以用其他許多方法來分割塊。在這里重要的是,在發(fā)送方(編碼方)和接收方(解碼方)之間要有某種通知或默契,使得接收方能以與發(fā)送方進行分割的方法充分配合的方法來對編碼的數(shù)據(jù)進行解碼。
分塊線路11也可以把每個塊都分成比塊小的變長編碼數(shù)據(jù)單元,如果這樣較小的單元存在的話。在這種情況下,所需要的分割信息僅僅是關(guān)于對什么塊進行了分割的信息。
這樣,閾值算術(shù)計算線路9、判斷線路10和分塊線路11反復進行預定的程序,直至有關(guān)塊組中不再含有其位長度遠比其余這些變長編碼數(shù)據(jù)塊長的變長編碼數(shù)據(jù)塊。
此后,對于每個塊組,存在緩沖區(qū)8中的變長編碼數(shù)據(jù)塊都供給定長線路12。定長線路12對變長編碼數(shù)據(jù)塊進行偽定長處理。然后,多路切換線路13將數(shù)據(jù)塊連同分割信息進行多路切換。
按照這個傳統(tǒng)的方法,存在緩沖區(qū)8中的變長編碼數(shù)據(jù)塊直接送往定長線路12,在這里使數(shù)據(jù)塊具有偽固定長度。相應(yīng)地,正如S11指出的,在有某些位長度顯著大于其余這些變長編碼數(shù)據(jù)塊的變長編碼數(shù)據(jù)塊時,習慣做法是,如S12所示,把這種非常長的變長編碼數(shù)據(jù)塊分散到許多個槽中。結(jié)果,在這個例子中,如果塊0至N-1的任何一個出錯,都會對特長數(shù)據(jù)塊的解碼過程產(chǎn)生不利影響。與此相反,按照實施本發(fā)明的這種方式,在數(shù)據(jù)塊送往定長線路12之前,變長編碼數(shù)據(jù)塊要經(jīng)過閾值算術(shù)計算線路9、判斷線路10和分塊線路11的處理。由于這種安排,其位長度顯著大于其余這些變長編碼數(shù)據(jù)塊的變長編碼數(shù)據(jù)塊,如S13所示,首先被分割成多個位長度較小的數(shù)據(jù)塊,此后,送往定長線路12,在這里,數(shù)據(jù)塊的長度,如S14所示,是固定的。相應(yīng)地,被分割的特長數(shù)據(jù)塊,至少在其余變長編碼數(shù)據(jù)塊出錯時,不大可能受到不利影響,也不出現(xiàn)按照傳統(tǒng)方法要碰到的問題。
雖然在這里略去了有關(guān)的描述,但解碼系統(tǒng)完成與編碼系統(tǒng)的過程相反的過程。在解碼系統(tǒng)中,被分割的塊根據(jù)多路切換的分割信息連接起來,從而獲得原來的影象數(shù)據(jù)。
圖3表示另一個例子,其中圖1系統(tǒng)中的分塊線路11被分組線路15代替。在這種情況下,在判斷線路10中被判斷為其位長度比閾值大的變長編碼數(shù)據(jù)塊,在分組線路15中被從原來所屬的塊組中分離出來,集中在一起組成單獨的新塊組,以便在這種狀態(tài)下送回緩沖區(qū)8。然后,在定長線路12中使老的塊組與具有較長位長度的塊組各自具有偽固定長度。在這里,后一種塊組只收集位長度較長的變長編碼數(shù)據(jù)塊。相應(yīng)地,變長編碼數(shù)據(jù)塊的位長度的平均值理所當然地變得比以前的塊組大。因此,后來的塊組是以比以前的塊組位長度大得多的定長數(shù)據(jù)塊的形式發(fā)送的。
在實施本發(fā)明的這種方式中,多路切換線路11對塊的分割信息進行多路切換,并在前述的狀態(tài)下發(fā)送。但若由于動畫數(shù)據(jù)壓縮/編碼裝置2給出的塊的性質(zhì)或特性(例如幀間和幀內(nèi)編碼上的差異),使塊的分割或分離是均勻地完成的,分割(或分離)信息的多路切換就不必要了。
采用這種方式時,偽定長處理的目標單元用“塊”的形式表示。但應(yīng)指出,這種單元可以是任何希望的變長編碼或其碼組。
另外,在這種方式下,描述的是動畫數(shù)據(jù)。但應(yīng)指出,本發(fā)明并不限于動畫數(shù)據(jù),而同樣可以普遍地應(yīng)用于變長編碼數(shù)據(jù)。
B.實現(xiàn)本發(fā)明的第二種方式圖4表示按照實現(xiàn)本發(fā)明的第二種方式的動畫編碼傳送裝置。動畫數(shù)據(jù)壓縮/編碼裝置2用與圖1相同的方法構(gòu)成。這種方式下,偽定長處理裝置16如圖4所示,包括緩沖區(qū)17、定長線路18、分布數(shù)算術(shù)計算裝置19、判斷裝置20、分塊線路21和多路切換線路22。
采用上述配置時,變長編碼數(shù)據(jù)塊輸入偽定長處理裝置16,變長編碼數(shù)據(jù)塊在這里形成塊組。然后數(shù)據(jù)塊按每個塊組存入緩沖區(qū)17。然后,緩沖區(qū)17中的變長編碼數(shù)據(jù)塊按每個塊組一個接一個地送到定長線路18,從而形成具有均勻一致的位長度的定長數(shù)據(jù)塊。
根據(jù)定長線路18中的處理,分布數(shù)算術(shù)計算線路19求出下列數(shù)值。
a.表示構(gòu)成每個塊組的變長編碼數(shù)據(jù)塊分布到多少個定長數(shù)據(jù)塊上的分布數(shù),b.構(gòu)成每個塊組的變長編碼數(shù)據(jù)塊的平均位數(shù)。
然后,判斷線路20判斷對于構(gòu)成每個塊組的變長編碼數(shù)據(jù)塊的分布數(shù)是否太多。判斷是通過將分布數(shù)算術(shù)計算線路19求得的分布數(shù)與預設(shè)的閾值加以比較而作出的。閾值預設(shè)為,例如,長度為固定時總槽數(shù)的2/3。分塊線路21將被判斷為分布數(shù)大于該閾值的變長編碼數(shù)據(jù)塊分割成多個位長度較小的數(shù)據(jù)塊,并將這些數(shù)據(jù)塊送回存于緩沖區(qū)17的原塊組。
這里,分塊線路21把數(shù)據(jù)塊等分成幾塊,使得每塊的位長度小于各塊的平均位長度,然后將關(guān)于哪些塊被分割以及它們被分割成多少塊的信息輸出。
只要可能,分塊線路21就可以將數(shù)據(jù)塊分割成比塊小的變長編碼數(shù)據(jù)單元。在這種情況下,分割信息可能只是關(guān)于哪些塊被分割的信息。
分塊工作完成后,構(gòu)成該塊組的變長編碼數(shù)據(jù)塊重新進行定長處理和判斷。
如果判斷線路判斷該塊組的全部變長編碼數(shù)據(jù)塊的分布數(shù)都小于閾值,則多路切換線路22將這些長度固定的數(shù)據(jù)塊連同分割信息一起以發(fā)送數(shù)據(jù)的形式輸出至輸出端14。
采用傳統(tǒng)技術(shù)時,定長線路18使儲存在緩沖區(qū)17中的變長編碼數(shù)據(jù)塊變成具有偽固定長度,然后直接以發(fā)送數(shù)據(jù)的形式輸出。與此相反,按照實施本發(fā)明的這種方式,分布數(shù)算術(shù)計算線路19、判斷線路20和分塊線路21作出判斷,看是否作出了適當?shù)亩ㄩL處理,亦即檢查定長處理完成之后是否存在其位分布在許多定長數(shù)據(jù)塊中的變長編碼數(shù)據(jù)塊。如果檢查結(jié)果是存在,則對有關(guān)的這些數(shù)據(jù)塊再進行分割。這樣做,即使有位長度顯著地大于其他變長編碼數(shù)據(jù)塊的變長編碼數(shù)據(jù)塊,而且?guī)缀跛械奈欢挤植荚谄渌ㄩL數(shù)據(jù)塊中,也能避免錯碼由于對變長編碼數(shù)據(jù)塊采用偽定長處理方法而產(chǎn)生的有害影響。
盡管在這里略去了有關(guān)描述,但是通過在解碼系統(tǒng)中進行尋找,與編碼系統(tǒng)中的過程正相反的過程,再根據(jù)經(jīng)過多路切換的塊分割信息將曾經(jīng)分割開的那些數(shù)據(jù)塊結(jié)合起來,就可以得到原來的影象數(shù)據(jù)。
圖5表示一個例子,其中圖4配置中的分塊線路21為組分離線路23所代替。在這個例子中,那些在判斷線路20中被判斷為具有大于閾值的分布數(shù)的塊,在組分離線路23中分離出來組成一個新的組,并被送回緩沖區(qū)17。此后,在定長處理線路18中重新使老的組和超過閾值的組具有偽固定長度。
雖然人為定長處理的單元用塊表示,但這個單元可以改為任何希望采用的變長碼或變長碼組。
在這種實現(xiàn)本發(fā)明的方式下,描述的是動畫數(shù)據(jù),但應(yīng)指出,本發(fā)明并不限于動畫數(shù)據(jù),而同樣可以普遍地應(yīng)用于變長編碼數(shù)據(jù)。
c.實現(xiàn)本發(fā)明的第三種方式圖6是方框圖,表示按照實現(xiàn)本發(fā)明的第三種方式的動畫編碼發(fā)送裝置。在本圖中,動畫數(shù)據(jù)壓縮/編碼裝置2具有與圖1相同的配置。這種方式下,偽定長處理裝置30與圖1的不同,它包括緩沖區(qū)31、位長度/順序算術(shù)計算線路32、閾值算術(shù)計算線路33、組分類線路34、定長處理線路35和多路切換線路36。
采用上述配置時,如前所述,變長編碼數(shù)據(jù)塊從動畫數(shù)據(jù)壓縮/編碼裝置2輸出,以可以構(gòu)成多個塊組的塊為單元,輸入偽定長處理裝置30,并存入緩沖區(qū)31中。然后,位長度/順序算術(shù)計算線路32檢測存在緩沖區(qū)31中每個變長編碼數(shù)據(jù)塊的位長度,并按位長度順序地安排這些數(shù)據(jù)塊。然后,閾值算術(shù)計算線路33根據(jù)這個信息而確定用于把這些塊分為預定的幾個組的閾值。
這個閾值,例如,按如下方法建立。首先,按位長度較長的順序形成組。為了對組進行分類,對處于較低順序的塊預先求出位長度差。然后,分類在位長度差最大的兩塊之間進行,接著分類在位長度差次最大的兩塊之間進行,如此等等。然后將位于組分類的邊界上的塊的順序號用作閾值。這時,可以建立一個規(guī)則,規(guī)定在選擇閾值時,不應(yīng)選擇具有相鄰的順序的相鄰的塊,以免建立只包括一個塊的組和包括大部分塊的組。
然后,組分類線路34根據(jù)這樣選出的閾值把這些塊分入幾個組。組分類線路34在進行組分類時,向多路切換線路36輸出說明哪個塊分類入哪一組的組分類信息。當組分類完成時,變長編碼數(shù)據(jù)塊從組分類線路34送回緩沖區(qū)31,并逐組送往定長處理線路35。定長處理線路35對數(shù)據(jù)塊進行定長處理。然后,多路切換線路36對具有偽定長度的數(shù)據(jù),連同組分類信息數(shù)據(jù)一起進行多路切換,送往輸出端子37。
采用傳統(tǒng)技術(shù)時,塊是不論儲存在緩沖區(qū)31的變長編碼數(shù)據(jù)塊的位長度而進行分組的,然后直接發(fā)送給定長處理線路35,接著使之具有偽定長度。與此相反,按照實施本發(fā)明的這個方式,變長編碼數(shù)據(jù)塊按照位長度,通過長度/順序算術(shù)計算線路32、閾值算術(shù)計算線路33和組分類線路34分成幾組,然后才發(fā)送給定長處理線路35。這樣做,既然屬于不同塊組的塊的位長度差可以減小,位長度顯著地大于其他變長編碼數(shù)據(jù)塊的那些塊就變得難以存在于每一個塊組中。結(jié)果,位長度顯著地長于其他塊的變長編碼數(shù)據(jù)塊出現(xiàn)錯碼而造成特長數(shù)據(jù)塊解碼過程出現(xiàn)有害影響的問題就不大可能出現(xiàn)。
盡管在這里略去了有關(guān)描述,但是通過在解碼系統(tǒng)中執(zhí)行與編碼系統(tǒng)中的過程正相反的過程,再根據(jù)經(jīng)過多路切換的組分類信息將曾經(jīng)分成幾個組的數(shù)據(jù)塊從新安排成原來的順序,就可以得到原來的影象數(shù)據(jù)。
在實施本發(fā)明的這個方式中,組分類首先是在已經(jīng)安排好具有較大位長度的塊之中,在位長度差最大的的那兩個塊之間完成的。但是,組分類并不限于此,任何其他適用的組分類算法都可以采用,例如,預先建立塊組的數(shù)目,然后進行組分類,使得每個塊組中的塊數(shù)相等。
在實施本發(fā)明的這個方式中,偽定長處理的目標單元用“塊”表示,但應(yīng)指出,這個單元可以是任何希望采用的變長編碼數(shù)據(jù)或變長編碼數(shù)據(jù)組。
在這種方式下,描述的是動畫數(shù)據(jù),但應(yīng)指出,本發(fā)明并不限于動畫數(shù)據(jù),而同樣可以普遍應(yīng)用于變長編碼數(shù)據(jù)。
另外,在實施本發(fā)明的這個方式中,可以從實施本發(fā)明的第一或第二種方式中,選擇其一,與之結(jié)合。按照這樣的配置,即便是一個塊組中出現(xiàn)位長度顯著地長于其他變長編碼數(shù)據(jù)塊的數(shù)據(jù)塊,特長數(shù)據(jù)塊解碼時,其他塊出現(xiàn)錯碼造成有害影響的問題也能避免。
d.實現(xiàn)本發(fā)明的第四種方式圖7表示糾錯編碼系統(tǒng),用來糾正從圖1至圖6所示類型的位長度偽定長處理的編碼系統(tǒng)輸出的傳送數(shù)據(jù)的錯碼。
具有偽定長度的傳送數(shù)據(jù)從輸入端子24輸入至糾錯編碼裝置25。這樣輸入的數(shù)據(jù),長度固定的塊,逐組存入緩沖區(qū)26。然后,在糾錯能力/緩沖區(qū)數(shù)據(jù)讀出控制線路28的控制下,按預定的式樣,對緩沖區(qū)26執(zhí)行數(shù)據(jù)讀出程序。所有以組的形式存在緩沖區(qū)的塊,逐漸讀出,先讀最高位,然后,在糾錯編碼線路27中進行糾錯編碼處理。糾錯是這樣執(zhí)行的,使得靠近塊尾的區(qū)域的那些位糾錯能力較低。例如,J.Hagenauer在其所寫的“速率兼容的穿孔卷積碼(RCPC碼)及其應(yīng)用”(IEEE Trans.On Communications,COM-26,pp.389-400,April 1988)中就描述了這樣一種糾錯方法。
圖8描述數(shù)據(jù)的讀出方法和當時的糾錯能力的程度。一般,數(shù)據(jù)是按圖8水平箭頭的方向讀出,首先讀塊1。但是,在糾錯編碼過程中,數(shù)據(jù)沿圖8垂直箭頭所指的方向。圖8剖面線的密度表示糾錯能力的高低。這就是說,每一塊的每一位,從前導頭開始,每個C1位,C2位,……CM,都是以不同的編碼因子進行糾錯處理的。這時,因為位是按圖8垂直箭頭所指的方向讀出的,所以,同時以其自己的編碼因子接受糾錯編碼過程的位數(shù)為N*Ci位。
在圖7所示的糾錯編碼線路27處理的那些數(shù)據(jù),以最終發(fā)送數(shù)據(jù)的形式輸出至輸出端29。
采用傳統(tǒng)方法時,當完成某種糾錯處理時,塊往往是不應(yīng)有地盈余,難以得到有效的差錯恢復。采用位前向糾錯編碼(B-FEC)時,需要發(fā)送諸如編碼式樣等附加信息。另外,對于每一塊糾錯能力要頻繁地變化。
按照本發(fā)明,數(shù)據(jù)以這樣的方式進行安排,使得每塊的靈敏度呈階梯形增加。另外,因為經(jīng)過偽定長處理位長度是固定的,這是很清楚的。為了得到這一特點的好處,所有的塊都從最高位讀出,并對于預定的每一段,使得它們分別編碼成具有不同的糾錯能力。這樣,按照本發(fā)明,不必發(fā)送諸如編碼式樣等附加信息和頻繁地改變糾錯能力,就可以有效地進行差錯恢復。
權(quán)利要求
1.一種變長編碼數(shù)據(jù)發(fā)送裝置,其特點在于它包括用于對每個由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組、計算對應(yīng)于準備發(fā)送的各變長編碼數(shù)據(jù)塊的位長度的閾值的閾值算術(shù)計算裝置,用于判斷每個變長編碼數(shù)據(jù)塊是否具有超過閾值的位長度的判斷裝置,以及用于當該判斷裝置的判斷結(jié)果是肯定的時,將其位長度超過閾值的變長編碼數(shù)據(jù)塊分割成多個數(shù)據(jù)塊,并將數(shù)據(jù)塊送回原來的塊組的分塊裝置,利用通過所述分塊裝置所得的數(shù)據(jù)塊和每塊組的其余變長編碼數(shù)據(jù)塊構(gòu)成其位長度取平均值的定長數(shù)據(jù)塊并加以發(fā)送,從而使數(shù)據(jù)按每個定長數(shù)據(jù)塊進行同步。
2.一種變長編碼數(shù)據(jù)發(fā)送裝置,其特點在于它包括用于對每個由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組、計算對應(yīng)于準備發(fā)送的各變長編碼數(shù)據(jù)塊的位長度的閾值的閾值算術(shù)計算裝置,用于判斷每個變長編碼數(shù)據(jù)塊是否具有超過閾值的位長度的判斷裝置,以及用于將其位長度超過閾值的變長編碼數(shù)據(jù)塊從該變長編碼數(shù)據(jù)塊所屬的塊組中分離出來,從而使分離出來的數(shù)據(jù)塊組成一個新的數(shù)據(jù)塊組的組分離裝置,利用每個塊組的變長編碼數(shù)據(jù)塊構(gòu)成其位長度取平均值的定長數(shù)據(jù)塊并加以發(fā)送,從而使數(shù)據(jù)按每個定長數(shù)據(jù)塊進行同步。
3.根據(jù)權(quán)利要求1的變長數(shù)據(jù)發(fā)送裝置,其特點在于其中所述閾值算術(shù)計算裝置根據(jù)從屬于每個塊組的變長編碼數(shù)據(jù)塊的位長度平均值計算閾值。
4.根據(jù)權(quán)利要求2的變長數(shù)據(jù)發(fā)送裝置,其特點在于其中所述閾值算術(shù)計算裝置根據(jù)從屬于每個塊組的變長編碼數(shù)據(jù)塊的位長度平均值計算閾值。
5.一種變長數(shù)據(jù)發(fā)送裝置,其特點在于它包括用于利用每個由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組的變長編碼數(shù)據(jù)塊,構(gòu)成其位長度等于平均長度水平的定長數(shù)據(jù)塊的定長處理裝置,用于計算說明每個變長編碼數(shù)據(jù)塊被該定長處理裝置分布到多少個定長數(shù)據(jù)塊中去的分布數(shù)的分布數(shù)算術(shù)計算裝置,用于將其分布數(shù)超過預定閾值的變長編碼數(shù)據(jù)塊分割成多個數(shù)據(jù)塊,并將這些數(shù)據(jù)塊送回原來的塊組的分塊裝置,所述定長處理裝置對所述分塊裝置處理過的每個塊組重新形成定長數(shù)據(jù)塊,所述數(shù)據(jù)塊以定長數(shù)據(jù)塊的形式發(fā)送,并對每個定長數(shù)據(jù)塊進行同步。
6.一種變長數(shù)據(jù)發(fā)送裝置,其特點在于它包括用于利用每個由多個準備發(fā)送的變長編碼數(shù)據(jù)塊組成的塊組的變長編碼數(shù)據(jù)塊,構(gòu)成其位長度等于平均長度水平的定長數(shù)據(jù)塊的定長處理裝置,用于計算說明每個變長編碼數(shù)據(jù)塊被該定長處理裝置分布到多少個定長數(shù)據(jù)塊中去的分布數(shù)的分布數(shù)算術(shù)計算裝置,用于將其分布數(shù)超過閾值的變長編碼數(shù)據(jù)塊從該變長編碼數(shù)據(jù)塊所屬的塊組中分離出來,從而使分離出來的數(shù)據(jù)塊組成一個新的數(shù)據(jù)塊組的組分離裝置,所述定長處理裝置對所述組分離裝置處理過的每個塊組重新形成定長數(shù)據(jù)塊,所述數(shù)據(jù)塊以定長數(shù)據(jù)塊的形式發(fā)送,并對每個定長數(shù)據(jù)塊進行同步。
7.一種變長編碼數(shù)據(jù)發(fā)送裝置,其特點在于它包括用于將多個準備發(fā)送的變長編碼數(shù)據(jù)塊按其位長度分為幾個塊組的塊分組裝置,利用每個塊組的變長編碼數(shù)據(jù)塊構(gòu)成其位長度取平均值的定長數(shù)據(jù)塊,并加以發(fā)送,從而使數(shù)據(jù)按每個定長數(shù)據(jù)塊進行同步。
8.根據(jù)權(quán)利要求1至7中的一項的變長數(shù)據(jù)發(fā)送裝置,其特點在于它還含有用于這樣進行差錯恢復的裝置,使得在每個定長數(shù)據(jù)塊中數(shù)據(jù)出現(xiàn)錯碼的靈敏度呈階梯型改變,并且在由多個定長數(shù)據(jù)塊組成的每個塊組中糾錯能力呈階梯型改變,而差錯恢復是從構(gòu)成每個塊組的每個定長數(shù)據(jù)塊的最高位開始。
全文摘要
若使變長碼具有偽固定長度并發(fā)送,可避免由錯碼造成失步而出現(xiàn)有害影響,但若定長處理對象包括位長度特長的變長編碼塊,就難以有此優(yōu)點。本發(fā)明的目的是排除此缺陷。為發(fā)送變長編碼塊,閥值算術(shù)計算線路(9)根據(jù)每個塊組的變長編碼塊位長度平均值求出閥值,判斷線路(10)判斷變長編碼塊位長度是否超過此閥值。分塊線路11將位長度超過此閥值者分成位長度較小的塊。這樣獲得的每塊的位長度固定地都等于平均長度并以此發(fā)送。
文檔編號H04N7/52GK1143861SQ96108888
公開日1997年2月26日 申請日期1996年7月26日 優(yōu)先權(quán)日1995年8月3日
發(fā)明者安達悟, 三木俊雄, 大矢智之, 河原敏朗 申請人:Ntt移動通信網(wǎng)株式會社