專利名稱:信息熵保持解碼方法與裝置的制作方法
技術領域:
本發明涉及電數字數據處理技術領域,特別是涉及一種信息熵保持解碼方法與裝置。
背景技術:
對變量X1、X2進行二維聯合信息熵保持變長編碼往往是通過查找二維碼表實現的。當變量X1、X2的取值范圍很大時,如果采用信息組合{X1、X2}與碼字一一對應就會導致二維碼表十分龐大,不利于存儲和查找。通常的方法是,對于出現概率較大的信息組合{X1、X2}用查表實現編碼,而對于出現概率小的{X1、X2}組合,先查表得到一個控制碼字。這個控制碼字僅僅用來標記對該事件的編碼不能通過查表直接實現,而X1、X2的信息將由緊鄰該控制碼字后面的其他碼字攜帶。
對于不能通過查表直接實現編碼的{X1、X2}組合,普遍被采用的編碼方法是在控制碼字后面,依次對X1、X2單獨編碼。這種方法的不足之處在于沒有利用X1、X2之間的相關性,同時控制碼字僅僅作為標記,沒有攜帶一些關于X1或X2的信息,存在著冗余,不利于壓縮效率的提高。
一種新的信息熵保持編碼方法將X1、X2的一部分信息附加在控制碼字上進行編碼,剩余部分信息根據已編碼信息再進行編碼,這樣提高信息熵保持編碼的壓縮效率。
發明內容
本發明提供一種信息熵保持解碼方法與裝置,用于對背景技術中新的信息熵保持編碼方法與裝置所生成的碼流進行正確解碼。
為了達到上述目的,本發明采用的技術方案如下1.一種信息熵保持解碼方法,包括若從碼流中提取的碼字與碼表中的信號組合{X1=Xn,X2=ym}一一對應,則解碼得{X1=Xn,X2=ym};若從碼流中提取的碼字沒有與碼表中的信號組合{X1=Xn,X2=ym}一一對應,則該碼字為第一合成信號,緊隨其后的下一碼字為第二合成信號,其解碼步驟如下1)從第一合成信號中減去特定的控制碼字,從而解碼第一信號X1或者第二信號X2;
2)根據已解碼的信息,從第二合成信號中解碼另一個信號。
所說的從第一合成信號中減去特定的控制碼字,從而解碼第一信號X1或者第二信號X2,包括1)從第一合成信號中減去特定的控制碼字;2)將第一合成信號減去控制碼字所得的信號經函數f(x)映射解碼得到第一信號X1或者第二信號X2的值,同時得到未被解碼的另一個信號的一個控制信息,其中f(x)的自變量為第一合成信號減去控制碼字所得的信號。
所說的根據已解碼的信息,從第二合成信號中解碼另一個信號,包括1)將已被解碼的信號經函數u(x)映射;2)將經函數u(x)映射所得的信號與第二合成信號相加;3)利用相加所得的信號和權利要求2所述的一個控制信息解碼另一個信號。
2.一種信息熵保持解碼方法的裝置,包括輸入的碼字查二維變長解碼表的查表裝置,若從碼流中提取的碼字與碼表中的信號組合{X1=Xn,X2=ym}一一對應,則解碼得信號組合{X1=Xn,X2=ym};若輸入的碼字沒有與二維變長解碼表中的信號組合{X1,X2}一一對應則將該輸入碼字和緊隨其后的下一碼字輸入解復用裝置,1)解復用裝置將該碼字作為第一合成信號輸出而將緊隨其后的下一碼字作為第二合成信號輸出2)從第一合成信號中減去特定的控制碼字,從而解碼第一信號X1或者第二信號X2的信息提取裝置;3)根據已解碼的信息,從第二合成信號中解碼另一個信號的信息還原裝置。
所說的信息提取裝置包括1)減法裝置(701);2)用于實現函數f(x)功能,解碼X1或X2,同時得到未被解碼的另一個信號的一個控制信息的第一信息還原裝置(703);當查表裝置的輸出是控制碼字時,第一合成信號和控制碼字分別輸入減法裝置(701);減法裝置(701)的輸出與第一信息還原裝置(703)相連,傳輸X1或X2的全部信息;f(x)與權利要求2所述f(x)一致;第一信息還原裝置(703)輸出X1或X2,以及控制信息。
所說的信息還原裝置包括1)加法裝置(704);
2)用于實現函數u(x)功能的映射裝置(705);3)用于解碼X2的第二信息還原裝置(706);第一信息還原裝置(703)解碼所得的X1或X2輸入映射裝置(705);映射裝置(705)的輸出作為加法裝置(704)的一個輸入;第二合成信號作為加法裝置(704)的另一個輸入;加法裝置(704)與第二信息還原裝置(706)相連,用于傳輸X2的信息;第一信息還原裝置(703)的輸出的與第二信息還原裝置(706)相連,用于傳輸控制信息;第二信息還原裝置(706)輸出X2。
本發明具有的有益的效果是它完全實現了對背景技術中新的信息熵保持編碼方法所生成碼流的解碼。本發明主要應用在對數字信號進行二維聯合信息熵保持變長編碼碼流的解碼器中,還可以推廣至多維聯合變長編碼碼流的解碼器。本發明尤其適用于圖像或視頻壓縮解碼。
圖1是本發明裝置的原理框圖;圖2是本發明裝置的部件結構框圖。
具體實施例方式
圖像數據和視頻數據在壓縮編解碼過程中,經過變換量化掃描后的一維系數是n(n≥0)個0和一個非0系數交替出現組成的。一個非0系數的值為level,該非0系數前值為0的系數個數叫做游程run。對變換量化掃描后的系數的解碼往往是通過查找二維碼表解碼{level、run}組合。本發明適用于對{level=xn,run=ym}組合進行二維聯合信息熵保持編碼碼流的解碼,以下是
具體實施例方式實施例11.一種信息熵保持解碼方法,包括以下步驟1)將從碼流中提取的碼字輸入查表裝置,查二維變長解碼表,若該碼字與碼表中的{level=xn,run=ym}組合一一對應,則解碼得{level=xn,run=ym}組合;若輸入的碼字在二維變長解碼表中不存在與其一一對應的的信號組合{level=xn,run=ym},查表裝置輸出特定的控制碼字,同時將該輸入碼字與緊隨其后的下一個碼字輸入解復用裝置,解復用裝置將該輸入碼字作為第一合成信號輸出并將緊隨其后的下一碼字作為第二合成信號輸出;2)第一合成信號和第二合成信號的解碼步驟如下第一合成信號和特定的控制碼字輸入信息提取裝置,在信息提取裝置中第一合成信號減去特定的控制碼字,從而解碼得到run的值;
第二合成信號和已解碼的信息輸入信息還原裝置,根據已解碼的信息,從第二合成信號中解碼level的值。
2.第1點所說的從第一合成信號中減去特定的控制碼字,從而解碼run的值,方法如下1)第一合成信號和特定的控制碼字輸入減法裝置701,在減法裝置701中第一合成信號減去特定的控制碼字,此例中特定的控制碼字等于59;2)將第一合成信號減去特定的控制碼字所得的信號輸入第一信息還原裝置703,在第一信息還原裝置703中輸入經函數f(x)映射解碼得到run的值,同時得到level的符號信息,其中f(x)的功能是將輸入x二進制化后的最低位,作為level的符號信息輸出,將x右移一位得到run的值。
3.第1點所說的根據已解碼的信息,從第二合成信號中解碼level的值,方法如下1)run輸入映射裝置705經函數u(ym)映射,其中函數u(ym)實現的功能是對于run=ym,找到|x1|,其中{level=|xl|,run=ym}不能通過查表實現解碼且{level=|xl|-1,run=ym,}能通過查表實現解碼,則u(ym)=|xl|;2)映射裝置705的輸出和第二合成信號都輸入加法裝置704,將經函數u(ym)映射所得的信號|x1|與第二合成信號相加,得到level的絕對值信息;3)level的絕對值信息和第2點中解出的level的符號信息輸入第二信息還原裝置706,解碼得到level的值。
實施例21.一種信息熵保持解碼方法,包括以下步驟1)將從碼流中提取的碼字輸入查表裝置,查二維變長解碼表,若該碼字與碼表中的{level=xn,run=ym}組合一一對應,則解碼得{level=xn,run=ym}組合;若輸入的碼字在二維變長解碼表中不存在與其一一對應的的信號組合{level,run},查表裝置輸出特定的控制碼字,同時將該輸入碼字與緊隨其后的下一個碼字輸入解復用裝置,解復用裝置將該輸入碼字作為第一合成信號輸出并將緊隨其后的下一碼字作為第二合成信號輸出;2)第一合成信號和第二合成信號的解碼步驟如下第一合成信號和特定的控制碼字輸入信息提取裝置,在信息提取裝置中第一合成信號減去特定的控制碼字,從而解碼得到run或level的值;第二合成信號和已解碼的信息輸入信息還原裝置,根據已解碼的信息,從第二合成信號中解碼另一個信號。
2.第1點所說的從第一合成信號中減去特定的控制碼字,從而解碼run或level的值,方法如下1)第一合成信號和特定的控制碼字輸入減法裝置701,在減法裝置701中第一合成信號減去特定的控制碼字,此例中特定的控制碼字等于59;2)將第一合成信號減去特定的控制碼字所得的信號x輸入第一信息還原裝置703,在第一信息還原裝置703中經函數f(x)映射解碼得到run或level的值,f(x)的功能是若x<64,則解碼run的值,run等于x,否則(即x≥64)將(x-64)的值二進制化后的最低位作為level的符號信息,同時將(x-64)右移一位得到level的絕對值信息,再由level的符號信息和level的絕對值信息解碼level的值,f(x)輸出的控制信息為0。
3.第1點所說的根據已解碼的信息,從第二合成信號中解碼另一個信號,方法如下1)在第2點中解碼的信號run或level輸入映射裝置705,經函數u(x)映射為0;2)映射裝置705的輸出和第二合成信號都輸入加法裝置704,將經函數u(x)映射所得的信號0與第二合成信號相加,得到信號z;3)將信號z輸入第二信息還原裝置706,若第2點中被解碼的是run的值,則第二信息還原裝置解碼level的值,將z二進制化后的最低位作為level的符號信息,同時將z右移一位得到level的絕對值信息,再由level的符號信息和level的絕對值信息解碼level的值;若第2點中被解碼的是level的值,則第二信息還原裝置解碼解碼run的值,run等于z。
上述的用于提高壓縮效率的信息熵保持解碼方法的裝置,可以用處理器系統,微控制器,可編程邏輯器件或硬件電路實現部分或全部的操作。上述的一些操作可以用軟件實現,同時另一些操作可以用硬件實現。
為了方便起見,這些操作被描述為不同的互連的功能單元或不同的軟件模塊。但是,這不是必要的。在一些應用中,這些功能單元或模塊可以被集成到單一的邏輯器件、程序或操作中,而沒有明顯的界限。在任何情況中,功能單元和軟件模塊或描述的特征可以獨立實現,或與其他操作一起用硬件或軟件實現。
權利要求
1.一種信息熵保持解碼方法,包括若從碼流中提取的碼字與碼表中的信號組合{X1=xn,X2=ym}一一對應,則解碼得{X1=xn,X2=ym},若從碼流中提取的碼字沒有與碼表中的信號組合{X1=xn,X2=ym}一一對應,則該碼字為第一合成信號,緊隨其后的下一碼字為第二合成信號;其特征在于解碼步驟如下1)從第一合成信號中減去特定的控制碼字,從而解碼第一信號X1或者第二信號X2;2)根據已解碼的信息,從第二合成信號中解碼另一個信號。
2.根據權利要求1所述的一種信息熵保持解碼方法,其特征在于所說的從第一合成信號中減去特定的控制碼字,從而解碼第一信號X1或者第二信號X2,包括1)從第一合成信號中減去特定的控制碼字;2)將第一合成信號減去控制碼字所得的信號經函數f(x)映射解碼得到第一信號X1或者第二信號X2的值,同時得到未被解碼的另一個信號的一個控制信息,其中f(x)的自變量為第一合成信號減去控制碼字所得的信號。
3.根據權利要求1所述的一種信息熵保持解碼方法,其特征在于所說的根據已解碼的信息,從第二合成信號中解碼另一個信號,包括1)將已被解碼的信號經函數u(x)映射;2)將經函數u(x)映射所得的信號與第二合成信號相加;3)利用相加所得的信號和權利要求2所述的一個控制信息解碼另一個信號。
4.根據權利要求1所述的一種信息熵保持解碼方法的裝置,包括輸入的碼字查二維變長解碼表的查表裝置,若從碼流中提取的碼字與碼表中的信號組合{X1=xn,X2=ym}一一對應,則解碼得信號組合{X1=xn,X2=ym};若輸入的碼字沒有與二維變長解碼表中的信號組合{X1,X2}一一對應則將該輸入碼字和緊隨其后的下一碼字輸入解復用裝置,其特征在于1)解復用裝置將該碼字作為第一合成信號輸出而將緊隨其后的下一碼字作為第二合成信號輸出;2)從第一合成信號中減去特定的控制碼字,從而解碼第一信號X1或者第二信號X2的信息提取裝置;3)根據已解碼的信息,從第二合成信號中解碼另一個信號的信息還原裝置。
5.根據權利要求4所述的一種信息熵保持解碼方法的裝置,其特征在于所說的信息提取裝置,包括1)減法裝置(701);2)用于實現函數f(x)功能,解碼X1或X2,同時得到未被解碼的另一個信號的一個控制信息的第一信息還原裝置(703);當查表裝置的輸出是控制碼字時,第一合成信號和控制碼字分別輸入減法裝置(701);減法裝置(701)的輸出與第一信息還原裝置(703)相連,傳輸X1或X2的全部信息;f(x)與權利要求2所述f(x)一致;第一信息還原裝置(703)輸出X1或X2,以及控制信息。
6.根據權利要求4所述的一種信息熵保持解碼方法的裝置,其特征在于所說的信息還原裝置,包括1)加法裝置(704);2)用于實現函數u(x)功能的映射裝置(705);3)用于解碼X2的第二信息還原裝置(706);第一信息還原裝置(703)解碼所得的X1或X2輸入映射裝置(705);映射裝置(705)的輸出作為加法裝置(704)的一個輸入;第二合成信號作為加法裝置(704)的另一個輸入;加法裝置(704)與第二信息還原裝置(706)相連,用于傳輸X2的信息;第一信息還原裝置(703)的輸出的與第二信息還原裝置(706)相連,用于傳輸控制信息;第二信息還原裝置(706)輸出X2。
全文摘要
本發明公開了一種信息熵保持解碼方法與裝置。對變量X
文檔編號H04N7/26GK1535022SQ200310109499
公開日2004年10月6日 申請日期2003年12月14日 優先權日2003年12月14日
發明者虞露, 董潔, 樓劍, 虞 露 申請人:浙江大學