JP3673222B2 - Variable length encoding method and apparatus, and variable length decoding method and apparatus - Google Patents
Variable length encoding method and apparatus, and variable length decoding method and apparatus Download PDFInfo
- Publication number
- JP3673222B2 JP3673222B2 JP2002010873A JP2002010873A JP3673222B2 JP 3673222 B2 JP3673222 B2 JP 3673222B2 JP 2002010873 A JP2002010873 A JP 2002010873A JP 2002010873 A JP2002010873 A JP 2002010873A JP 3673222 B2 JP3673222 B2 JP 3673222B2
- Authority
- JP
- Japan
- Prior art keywords
- codeword
- length
- codewords
- variable
- information symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
この発明は、可変長符号化/復号化方法及び装置に関する。
【0002】
【従来の技術】
可変長符号化は、入力された情報シンボルに対応した符号長の符号語を符号化データとして出力する技術である。可変長符号化に際しては、各情報シンボルの出現頻度(生起確率)に基づき、頻繁に出現する情報シンボルに対しては短い符号長の符号、希にしか出現しない情報シンボルに対しては長い符号長の符号をそれぞれ割り当てることにより、符号化データとして出力される符号語が平均的に短い符号長とされる。その結果、符号化前と比較して情報のデータ量を大幅に圧縮することができる。このような可変長符号の構成方法としては、無記憶情報源で最適なハフマンのアルゴリズムが知られている。
【0003】
一般に、可変長符号化は情報シンボルに可変長符号の符号語を対応付ける符号語テーブルを用いて行われる。符号語テーブルを用いる方法では、例えば動画像符号化における変換係数のように、可変長符号化の符号化対象となる情報シンボルの数が非常に多い場合には、符号語テーブルのサイズが過大になるという問題がある。
【0004】
符号語テーブルを用いず、情報シンボルに対して計算で符号語を生成する方法も提案されている。計算で符号語を生成する手法として、正整数に対する符号化である図9に示されるEliasのδ符号(IEEE Trans. IT vol.IT-21,no.2.pp.194-203,1975)や、Golombの幾何分布に対する符号化(IEEE Trans. IT vol.IT-12,no.3.pp.399-401,1966)などが以前より知られているが、いずれも適用できる情報シンボルの出現確率分布が限定され、符号化効率が低いという問題がある。
【0005】
さらに可変長符号の一般的な問題としては、符号化データに何らかの理由で誤りが混入した場合に、誤りが混入した以後のデータについては、その影響が伝搬して正しく復号化装置で復号することができない上に、誤りが検出されないということが挙げられる。この現象は自己同期と呼ばれ、誤りが伝搬している時に誤って復号された符号語が正しい符号語の語尾と一致することで、符号語自体の同期は回復するために生じる。
【0006】
図8に、この様子を示す。図8(a)に示される符号化データの符号語c(=001)の先頭ビットに誤りが生じて符号語bと同じとなり、図8(b)に示される復号データでは、符号語cの語尾が符号語bと一致している。このとき、復号データにおいては誤りが生じた符号語cの次の符号語aで同期が回復しているが(自己同期)、復号データの符号語数が1つ増加してしまっている。自己同期が生じると、符号語の同期が回復するため符号語自体は正しく復号される。
【0007】
しかし、動画像符号化などに見られる実際の符号化では、符号語より上位のレベルで予測が行われていたり、ある種の文法に基づいて符号化されていたりするため、自己同期が生じた場合には文法的あるいは意味的に正しい復号ができず、しかも誤りが検出されない。従って、誤り対策をとることができず、誤りの影響が復号結果に現れてしまうという問題がある。
【0008】
【発明が解決しようとする課題】
上述したように、従来技術に基づく可変長符号化のうち符号語テーブルを用いる方法は、情報シンボル数が大きい場合にテーブルのサイズが過大となり、計算により符号語を生成する方法では情報シンボルの出現確率分布によっては符号化効率が低下するという問題点がある。
【0009】
さらに、従来技術に基づく可変長符号では、自己同期が生じやすいために正しい復号ができず、また誤りを検出できないという問題点がある。
【0010】
本発明は、大きなテーブルを用いることなく、高い符号化効率を実現できる可変長符号化/復号化方法及び装置を提供することを目的とする。
【0011】
さらに、本発明の他の目的は誤りの検出が可能な可変長符号化/復号化方法及び装置を提供することにある。
【0012】
【課題を解決するための手段】
上記課題を解決するため、本発明では複数の情報シンボルに対して該情報シンボルの生起確率に応じた符号語長を有する符号語をそれぞれ割り当て、入力された情報シンボルに対応した符号語を符号化データとして出力する可変長符号化に際して、複数の対応方法から選択された一つの対応方法に従って、入力された情報シンボルに符号語を対応付け、該対応付けられた符号語の値を表す符号値を出力し、複数の生成方法から選択された一つの生成方法に従って、符号値から計算によって符号語を生成する。
【0013】
一方、こうして得られた情報シンボルに対応した符号語により構成される可変長符号化データを復号して復号結果を出力する可変長復号化に際しては、複数の生成方法から選択された一つの生成方法に従って、可変長符号化データに含まれる各符号語から計算によって復号値を生成し、複数の対応方法から選択された一つの対応方法に従って復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを復号結果として出力する。
【0014】
このように本発明においては、情報シンボルに符号語を対応させ、これによって得られる符号値から計算によって符号語を生成するようにした上で、対応方法及び生成方法を切り替え可能としていることから、情報シンボルの生起確率の変動に対しても対応することが可能となる。また、計算によって符号語を生成するため、これらの切り替えを行っても情報シンボルと符号語を対応させる場合に必要なメモリ量や符号語テーブルのためのメモリ量は増加しない。
【0015】
また、所定の区間毎に符号化データの長さがわかる場合、符号化データに誤りが混入したときに自己同期が生じていないならば、復号したデータの長さに違いが生じることから、そのデータ長をチェックすることで、その区間の誤りが混入しているかどうかが判定することができる。
【0016】
ここで、計算によって符号語を生成する際に、(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された符号語を生成することが望ましい。
【0017】
このように符号語を生成すると、ある符号語に1ビットの誤りが生じたとしても、同一符号語長の他の符号語と同じ符号語に変化することはない。従って、このように構成された符号語は非常に自己同期しにくい性質を有するため、符号化データの長さが予めわかっている場合、誤りが符号化データに混入しても、自己同期することなく、使用していないビットパターンを発見することで誤りを検出できるか、あるいは、符号化データの最後で復号できないデータが生じることで、誤りを検出できる可能性が高くなる。
【0018】
また、本発明によると複数の情報シンボルに対して該情報シンボルの生起確率に応じた符号語長を有する符号語をそれぞれ割り当て、入力された情報シンボルに対応した符号語を符号化データとして出力する可変長符号化処理をコンピュータに行わせるためのプログラムであって、複数の対応方法から選択された一つの対応方法に従って、入力された情報シンボルに符号語を対応付け、該対応付けられた符号語の値を表す符号値を出力する処理と、複数の生成方法から選択された一つの生成方法に従って、前記符号値から計算によって(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された前記符号語を生成する処理とを前記コンピュータに行わせるためのプログラムを提供できる。
【0019】
さらに、本発明によると情報シンボルに対応した(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された符号語により構成される可変長符号化データを復号して復号結果を出力する可変長復号化処理をコンピュータに行わせるためのプログラムであって、複数の生成方法から選択された一つの生成方法に従って、前記可変長符号化データに含まれる各符号語から計算によって復号値を生成する処理と、複数の対応方法から選択された一つの対応方法に従って、前記復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを復号結果として出力する処理とを前記コンピュータに行わせるためのプログラムを提供できる。
【0020】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図1には、本発明の一実施形態に係る可変長符号化/復号化装置を含む符号化/復号化システムの構成を示す。符号化/復号化システムは、大きく分けて入力される情報シンボル10を符号化して可変長符号化データを出力する符号化システム100と、可変長符号化データの伝送または蓄積を行う伝送/蓄積系103、及び伝送/蓄積系103から入力される可変長符号化データを復号化して、復号結果24及び誤り検出結果26を生成する復号化システム104から構成される。
【0021】
符号化システム100は、入力された情報シンボル10を可変長符号化する可変長符号化部101と区間設定部102を有する。可変長符号化部101は、予め用意された符号語テーブルを用いずに、入力された情報シンボル10の値に対応した可変長符号の符号語を生成し、これを可変長符号化データ14として出力する。
【0022】
可変長符号化部101においては、情報シンボル10と符号語との対応付けに関して複数の方法(対応方法)が用意され、また符号語の生成に関して複数の方法(符号語生成方法)に関して複数の方法(対応方法)が用意されており、外部より供給される切り替え信号11,12に応じて一つの対応方法及び符号語生成方法が選択される。切り替え信号11,12は、別途符号化された後に復号化システム104に送られるか、あるいは復号化システム104において他の符号化パラメータの値によって求めることができるものとする。
【0023】
可変長符号化部101から出力される可変長符号化データ14は、区間設定部102より所定の区間に分けられ(区間設定という)、符号化システム100から出力される。区間設定部102からの区間設定後の符号化データ15は伝送/蓄積系103に入力され、伝送蓄積系103から出力される可変長符号化データ16は復号化システム104に入力される。
【0024】
復号化システム104は、区間検出部105と可変長復号化部106及び長さ判定部107を有する。区間検出部105では、入力される可変長符号化データ16から区間設定部102で設定された区間が検出される。可変長符号化データ16は、区間検出部105で検出された区間毎の可変長符号化データ20として可変長復号化部106に入力される。可変長復号化部106は、予め用意された符号語テーブルを用いずに、入力された可変長符号化データ20に含まれる各符号語から計算によって復号値を生成し、該復号値に情報シンボルを対応付けて復号結果24として出力する。
【0025】
可変長復号化部106においては、復号値の生成に関して複数の方法(復号値生成方法)が用意され、また復号値と情報シンボルとの対応付けに関して複数の方法(対応方法)が用意されており、例えば前述のように符号化システム100より供給されるか、あるいは前述のように復号化システム104内で他の符号化パラメータの値に基づいて生成される切り替え信号21,22に応じて一つの対応方法及び符号語生成方法が選択される。
【0026】
また、可変長復号化部106では後述するように誤り検出が行われ、誤り検出結果26が出力されると共に、可変長符号化データ20に含まれる符号語の長さを示す符号語長情報25が生成され、長さ判定部107に送られる。長さ判定部107においては、区間検出部105で検出された区間毎に符号語長情報25がチェックされることにより、誤り検出が行われる。
【0027】
図2に可変長符号化部101の構成を示す。可変長符号化部101は、情報シンボル対応部201と符号語生成部202を有する。情報シンボル対応部201は、入力された情報シンボル10の値に対応する符号値13を出力する。情報シンボル対応部201は複数の対応テーブル、言い換えれば複数の対応方法を備えており、これらが情報シンボル対応切り替え信号11により切り替えられ、一つの対応テーブルが選択される。
【0028】
符号語生成部202は、情報対応部201からの符号値13を入力として、符号毎に予め決められた計算方法によって符号語14を計算により生成する。符号語生成部202は複数の符号語生成方法を備えており、これらが符号語生成切り替え信号12によって切り替えられ、一つの符号語生成方法が選択される。
【0029】
図3には、可変長復号化部104の構成を示す。可変長復号化部104は、復号値生成部301と情報シンボル対応部302を有する。復号値生成部301では、図1中に示した区間検出部105で検出された区間毎に、入力される可変長符号化データ20から符号毎に予め決められた計算方法によって復号値23を計算により生成する。復号値生成部301は複数の生成方法を備えており、これらが復号値生成切り替え信号21によって切り替えられ、一つの復号値生成方法が選択される。さらに、復号値生成部301は区間検出部105で検出された区間毎の可変長符号化データ20の長さをチェックし、そのチェック結果から誤りを検出して誤り検出結果26を出力する機能を有する。
【0030】
情報シンボル対応部302は、復号値生成部301で生成された復号値23を入力として、対応する情報シンボルを復号結果24として出力する。情報シンボル対応部302は複数の対応テーブル、言い換えれば複数の対応方法を備えており、これらが情報シンボル対応切り替え信号21により切り替えられ、一つの対応テーブルが選択される。
【0031】
次に、図4を用いて区間設定部102における可変長符号化データに対する区間設定方法の例について説明する。図4(a)の区間設定方法では、ヘッダの直後に可変長符号化データの長さ情報が存在し、ここには可変長符号化データのビット数が記述されている。区間検出部105では、符号化データの長さ情報を復号することで、符号化データのビット数が判明する。図4(b)の区間設定方法は、同期符号を用いている。この場合、区間検出部105では次の同期符号までのビット数をカウントし、ヘッダとスタッフィングのビット数を差し引くことによって符号化データのビット数が判明される。
【0032】
図5は、図2中の情報シンボル対応部201及び図3中の情報シンボル対応部302で使用される対応テーブルの例と、各対応テーブルにおける情報シンボルと符号値との対応関係の例を示している。この例は、動画像符号化において画像信号をブロック毎に直交変換して得られた係数(例えば、DCT係数)を量子化した後の値をランレングス符号化によて可変長符号化した場合である。情報シンボルは、この例ではブロックに以後非ゼロ係数がないことを示すEOB(End Of Block)記号と、ラン(Run)とレベル(Level)の組み合わせである。ここではシンボル対応テーブルはAとBの2種類があり、情報シンボル対応切り替え信号によって情報シンボルと符号値との対応を切り替えることができる。
【0033】
次に、図6を用いて符号語生成部202における符号語生成のための計算手法の具体例について説明する。まず、符号値nに対して次の不等式を満足する1以上の整数値mを求める。
【数1】
【0034】
次に、これらの整数値mと符号値nから次式の計算によって符号語C(n)を得る。
まず、nの値が左辺(1/2)m(m−1)と等しい場合は、符号語C(n)は次のようにする。
【数2】
それ以外の場合は、
【数3】
として、次の符号語を生成する。
【数4】
【0035】
一方、復号値生成部301では次のような操作を行う。最初のビットが0ならば、それに続く連続する1の数rをカウントし、次式で計算される値を復号値nとする。
【数5】
【0036】
もし、最初のビットが1ならば、1が合計3回に出現するまでLビットの符号化データを読み込み、2番目の1が出現した位置をSビット目とすると、復号値nは次の式で計算される。
【数6】
【0037】
上述した符号語生成方法によって得られる符号語では、図6に示されるように予め定められた0と1の数によって符号語の区切りが分かり、また同一の符号語長の符号語間のハミング距離が必ず2以上になる。ハミング距離とは周知のように、同一の符号語長の符号語間で0と1が一致しないビットの数のことを指す。さらに、これらの符号語は複数の符号語を語尾を揃えて並べたときに各符号語が一致することがない。したがって、符号語のビットに誤りが入った場合でも自己同期しない性質をもっている。
【0038】
次に、図7を用いて符号語生成部202における符号語生成のための計算手法の他の具体例について説明する。まず、符号値nに対して次の不等式を満足する1以上の整数値mを求める。
【数7】
【0039】
次に、この整数値mと符号値nから次の数式の計算によって符号語C(n)を得る。
【数8】
ここで、β(n、m)は、整数nのmビット表現である。
一方、復号値生成部301では次のような操作を行う。符号化データを2進系列b1 b2 …bL を次の不等式がはじめて成り立つLビットまで読み込む。
【数9】
次に、得られた2進系列b1 b2 …bL とLの値から、次式の計算により復号値nを計算する。
【数10】
【0040】
図6と図7によって生成される符号語は、いずれも最も短い符号語が2ビットであり、それから符号語長は1ビットづつ増加し、同一の符号語長の符号語数は1、2、3、4…と増加してゆく。つまり、幾何分布よりも確率分布の裾が長い分布に対して最適な符号となっている。そのような確率分布は、画像符号化の変換係数の量子化値をランレングス符号化した場合や、動きベクトルの差分値などにおいてしばしば見受けられることから、実用的にも効果が高い。
【0041】
なお、情報シンボルの生起確率に応じて、符号語生成切り替え信号を使うことで、図6または図7に示した符号とEliasのδ符号と切り替えて使用してもよい。
【0042】
上述した本発明の可変長符号化及び復号化の処理は、ハードウェアにより実現してもよいし、処理の一部または全部をコンピュータを用いてソフトウェアにより実行することも可能である。
【0043】
【発明の効果】
以上説明したように本発明によれば、より符号化効率の高い符号語を生成及び復号でき、さらに誤りを検出することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係る可変長符号化/復号化装置を含む符号化/復号化システムの構成を示すブロック図
【図2】 同実施形態における可変長符号化部の構成を示すブロック図
【図3】 同実施形態における可変長復号化部の構成を示すブロック図
【図4】 区間設定の例を示す図
【図5】 情報シンボル対応表の例を示す図
【図6】 同実施形態における符号語生成結果の例を示す図
【図7】 同実施形態における符号語生成結果の他の例を示す図
【図8】 従来の可変長符号での自己同期の例を示す図
【図9】 従来のEliasのδ符号の例を示す図
【符号の説明】
100…符号化システム
101…可変長符号化部
102…区間設定部
103…伝送/蓄積系
104…復号化システム
105…区間検出部
106…可変長復号化部
107…長さ判定部
201…情報シンボル対応部
202…符号語生成部
301…復号値生成部
302…情報シンボル対応部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a variable length encoding / decoding method and apparatus.
[0002]
[Prior art]
Variable length coding is a technique for outputting a code word having a code length corresponding to an input information symbol as encoded data. In variable-length coding, based on the appearance frequency (probability of occurrence) of each information symbol, a short code length code is used for frequently appearing information symbols, and a long code length is used for rarely appearing information symbols. By assigning each of these codes, the code word output as encoded data has an average short code length. As a result, the data amount of information can be significantly compressed compared to before encoding. As a method for constructing such a variable length code, an optimum Huffman algorithm for a memoryless information source is known.
[0003]
In general, variable-length coding is performed using a codeword table that associates codewords of variable-length codes with information symbols. In the method using the codeword table, when the number of information symbols to be encoded by the variable length encoding is very large, for example, as a transform coefficient in moving image encoding, the size of the codeword table is excessively large. There is a problem of becoming.
[0004]
There has also been proposed a method for generating a code word by calculation for an information symbol without using a code word table. As a method for generating a code word by calculation, Elias δ code (IEEE Trans. IT vol.IT-21, no.2.pp.194-203, 1975) shown in FIG. Encoding for Golomb's geometric distribution (IEEE Trans. IT vol.IT-12, no.3.pp.399-401, 1966) has been known for some time. There is a problem that the distribution is limited and the coding efficiency is low.
[0005]
Furthermore, a general problem with variable-length codes is that if an error is mixed into the encoded data for some reason, the data after the error is mixed is propagated and correctly decoded by the decoding device. In addition, it is impossible to detect errors. This phenomenon is called self-synchronization, and occurs because the codeword decoded in error when the error is propagated matches the end of the correct codeword, so that the synchronization of the codeword itself is restored.
[0006]
FIG. 8 shows this state. An error occurs in the first bit of the code word c (= 001) of the encoded data shown in FIG. 8A and becomes the same as the code word b. In the decoded data shown in FIG. The ending is coincident with the code word b. At this time, in the decoded data, the synchronization is restored at the code word a next to the code word c in which an error has occurred (self-synchronization), but the number of code words in the decoded data has increased by one. When self-synchronization occurs, codeword synchronization is restored and the codeword itself is correctly decoded.
[0007]
However, in actual coding seen in video coding etc., self-synchronization occurred because prediction was performed at a higher level than the code word or coding was performed based on some kind of grammar. In some cases, grammatically or semantically correct decoding cannot be performed, and no error is detected. Therefore, there is a problem that error countermeasures cannot be taken and the influence of errors appears in the decoding result.
[0008]
[Problems to be solved by the invention]
As described above, the method using the codeword table in the variable length coding based on the prior art has an excessively large table size when the number of information symbols is large, and the information symbol appears in the method of generating the codeword by calculation. Depending on the probability distribution, there is a problem that the encoding efficiency is lowered.
[0009]
Furthermore, the variable-length code based on the prior art has a problem that self-synchronization is likely to occur, so that correct decoding cannot be performed and errors cannot be detected.
[0010]
An object of the present invention is to provide a variable-length encoding / decoding method and apparatus capable of realizing high encoding efficiency without using a large table.
[0011]
Furthermore, another object of the present invention is to provide a variable length encoding / decoding method and apparatus capable of detecting errors.
[0012]
[Means for Solving the Problems]
In order to solve the above problems, in the present invention, a codeword having a codeword length corresponding to the occurrence probability of each information symbol is assigned to each information symbol, and a codeword corresponding to the input information symbol is encoded. In variable-length coding to be output as data, according to one correspondence method selected from a plurality of correspondence methods, a code word is associated with the input information symbol, and a code value representing the value of the associated code word is According to one generation method selected from the plurality of generation methods, a code word is generated by calculation from the code value.
[0013]
On the other hand, in variable-length decoding that decodes variable-length encoded data composed of codewords corresponding to the information symbols thus obtained and outputs a decoding result, one generation method selected from a plurality of generation methods In accordance with the above, a decoded value is generated by calculation from each codeword included in the variable-length encoded data, and the decoded value is associated with an information symbol according to one correspondence method selected from a plurality of correspondence methods, and the associated information The symbol is output as a decoding result.
[0014]
As described above, in the present invention, the code word is made to correspond to the information symbol, the code word is generated by calculation from the code value obtained thereby, and the correspondence method and the generation method can be switched. It is also possible to cope with fluctuations in the occurrence probability of information symbols. In addition, since the code word is generated by calculation, the memory amount required for making the information symbol correspond to the code word and the memory amount for the code word table do not increase even if these are switched.
[0015]
In addition, when the length of the encoded data is known for each predetermined section, if there is no self-synchronization when an error is mixed in the encoded data, a difference occurs in the length of the decoded data. By checking the data length, it can be determined whether or not an error in that section is mixed.
[0016]
Here, when generating a code word by calculation, (a) the code word delimiter is known by a predetermined number of 0s and 1s, and (b) each when a plurality of code words are arranged with their tails aligned. It is desirable to generate codewords configured to satisfy the conditions that the codewords do not match and (c) the Hamming distance between the codewords having the same codeword length is 2 or more.
[0017]
When a codeword is generated in this way, even if a one-bit error occurs in a certain codeword, it does not change to the same codeword as other codewords with the same codeword length. Therefore, the code word configured in this way has the property that it is very difficult to self-synchronize. Therefore, if the length of the encoded data is known in advance, even if an error is mixed in the encoded data, it is self-synchronized. In addition, an error can be detected by finding a bit pattern that is not used, or the possibility that an error can be detected increases because data that cannot be decoded at the end of the encoded data is generated.
[0018]
Further, according to the present invention, a code word having a code word length corresponding to the occurrence probability of each information symbol is assigned to each information symbol, and a code word corresponding to the input information symbol is output as encoded data. A program for causing a computer to perform variable-length coding processing, which associates a code word with an input information symbol according to one correspondence method selected from a plurality of correspondence methods, and associates the associated code word In accordance with a process for outputting a code value representing the value of one and a generation method selected from a plurality of generation methods, the codeword is divided by a predetermined number of 0s and 1s by calculation from the code value (a) As can be seen, (b) when the codewords are arranged with their tails aligned, the codewords do not match, and (c) the Hamming distance between the codewords having the same codeword length Above, it can provide because of the program configured to a process of generating the codeword to perform the computer so as to satisfy the condition that.
[0019]
Further, according to the present invention, (a) a codeword delimiter can be identified by a predetermined number of 0s and 1s corresponding to an information symbol, and (b) each codeword when a plurality of codewords are arranged with their tails aligned. And (c) variable-length encoded data composed of codewords configured to satisfy the condition that the Hamming distance between codewords having the same codeword length is 2 or more A program for causing a computer to perform a variable-length decoding process that outputs a decoding result, calculated from each codeword included in the variable-length encoded data according to one generation method selected from a plurality of generation methods In accordance with a process for generating a decoded value by one and a corresponding method selected from a plurality of corresponding methods, the decoded value is associated with an information symbol, and the associated information symbol is defined as a decoded result. And processing for outputting Te can provide a program for causing the computer.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of an encoding / decoding system including a variable-length encoding / decoding device according to an embodiment of the present invention. The encoding / decoding system includes an
[0021]
The
[0022]
In the variable
[0023]
The variable length encoded
[0024]
The
[0025]
In the variable length decoding unit 106, a plurality of methods (decoded value generating methods) are prepared for generating decoded values, and a plurality of methods (corresponding methods) are prepared for associating decoded values with information symbols. , For example, depending on the switching signals 21 and 22 supplied from the
[0026]
Further, the variable length decoding unit 106 performs error detection as will be described later, outputs an
[0027]
FIG. 2 shows the configuration of the variable
[0028]
The
[0029]
FIG. 3 shows the configuration of the variable
[0030]
The information
[0031]
Next, an example of a section setting method for variable length encoded data in the
[0032]
FIG. 5 shows an example of a correspondence table used in the information
[0033]
Next, a specific example of a calculation method for codeword generation in the
[Expression 1]
[0034]
Next, a code word C (n) is obtained from the integer value m and the code value n by calculating the following equation.
First, when the value of n is equal to the left side (1/2) m (m−1), the code word C (n) is as follows.
[Expression 2]
Otherwise,
[Equation 3]
Then, the next code word is generated.
[Expression 4]
[0035]
On the other hand, the decoded
[Equation 5]
[0036]
If the first bit is 1, L-bit encoded data is read until 1 appears three times in total, and the position where the second 1 appears is the S-th bit. Calculated by
[Formula 6]
[0037]
In the code word obtained by the above-described code word generation method, as shown in FIG. 6, the code word delimiter can be identified by a predetermined number of 0 and 1, and the Hamming distance between code words having the same code word length Is always 2 or more. As is well known, the Hamming distance refers to the number of bits in which 0 and 1 do not match between codewords having the same codeword length. Further, these codewords do not match each other when a plurality of codewords are arranged with their tails aligned. Therefore, even if an error occurs in the bit of the code word, it has a property that it does not self-synchronize.
[0038]
Next, another specific example of a calculation method for codeword generation in the
[Expression 7]
[0039]
Next, a code word C (n) is obtained from the integer value m and the code value n by calculating the following mathematical formula.
[Equation 8]
Here, β (n, m) is an m-bit representation of an integer n.
On the other hand, the decoded
[Equation 9]
Next, the obtained binary sequence b 1 b 2 ... b L And the value of L, the decoded value n is calculated by the following equation.
[Expression 10]
[0040]
The codewords generated by FIGS. 6 and 7 are both the shortest codeword of 2 bits, and then the codeword length increases by 1 bit, and the number of codewords of the same codeword length is 1, 2, 3 It increases with 4 .... That is, the code is optimal for a distribution having a longer tail of the probability distribution than the geometric distribution. Such a probability distribution is often seen in the case where the quantized value of the transform coefficient of image coding is run-length coded or the difference value of the motion vector.
[0041]
It should be noted that the code shown in FIG. 6 or FIG. 7 and the Elias δ code may be switched and used by using a code word generation switching signal according to the occurrence probability of the information symbol.
[0042]
The above-described variable length coding and decoding processing of the present invention may be realized by hardware, or part or all of the processing may be executed by software using a computer.
[0043]
【The invention's effect】
As described above, according to the present invention, a codeword with higher encoding efficiency can be generated and decoded, and an error can be detected.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an encoding / decoding system including a variable length encoding / decoding device according to an embodiment of the present invention. FIG. 2 shows a configuration of a variable length encoding unit in the embodiment. FIG. 3 is a block diagram showing a configuration of a variable length decoding unit in the embodiment. FIG. 4 is a diagram showing an example of interval setting. FIG. 5 is a diagram showing an example of an information symbol correspondence table. The figure which shows the example of the codeword production | generation result in the same embodiment. FIG. 7 The figure which shows the other example of the codeword production | generation result in the same embodiment. The figure which shows the example of the self-synchronization in the conventional variable-length code. FIG. 9 is a diagram showing an example of a conventional Elias δ code.
DESCRIPTION OF
Claims (7)
複数の対応方法から選択された一つの対応方法に従って、入力された情報シンボルに符号語を対応付け、該対応付けられた符号語の値を表す符号値を出力するステップと、
複数の生成方法から選択された一つの生成方法に従って、前記符号値から計算によって(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された前記符号語を生成するステップと
を具備する可変長符号化方法。In a variable length coding method, codewords having codeword lengths corresponding to the occurrence probability of information symbols are assigned to a plurality of information symbols, respectively, and codewords corresponding to the input information symbols are output as coded data ,
According to one corresponding method selected from a plurality of corresponding methods, associating a codeword with the input information symbol, and outputting a code value representing the value of the associated codeword;
According to one generation method selected from a plurality of generation methods, the code value is calculated from (a) a predetermined number of 0s and 1s by calculation from the code value , and (b) a plurality of code words are terminated. Generate the codeword configured to satisfy the conditions that the codewords do not match when aligned and (c) the Hamming distance between codewords having the same codeword length is 2 or more A variable length encoding method comprising: steps.
複数の対応方法から選択された一つの対応方法に従って、入力された情報シンボルに符号語を対応付け、該対応付けられた符号語の値を表す符号値を出力する情報シンボル対応部と、
複数の生成方法から選択された一つの生成方法に従って、前記符号値から計算によって(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された前記符号語を生成する符号語生成部と
を具備する可変長符号化装置。In a variable-length coding apparatus that assigns a code word having a code word length corresponding to an occurrence probability of an information symbol to a plurality of information symbols, and outputs a code word corresponding to the input information symbol as coded data ,
According to one correspondence method selected from a plurality of correspondence methods, an information symbol correspondence unit that associates a code word with an input information symbol and outputs a code value representing a value of the associated code word;
According to one generation method selected from a plurality of generation methods, the code value is calculated from (a) a predetermined number of 0s and 1s by calculation from the code value , and (b) a plurality of code words are terminated. Generate the codeword configured to satisfy the conditions that the codewords do not match when aligned and (c) the Hamming distance between codewords having the same codeword length is 2 or more A variable length encoding device comprising a codeword generation unit.
複数の生成方法から選択された一つの生成方法に従って、前記可変長符号化データに含まれる各符号語から計算によって復号値を生成するステップと、
複数の対応方法から選択された一つの対応方法に従って、前記復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを前記復号結果として出力するステップと
を具備する可変長復号化方法。Corresponding to the information symbol (a) the codeword delimiter can be identified by a predetermined number of 0s and 1s, (b) the codewords do not match when multiple codewords are aligned and c) Variable that decodes variable-length encoded data composed of codewords configured to satisfy the condition that the Hamming distance between codewords having the same codeword length is 2 or more and outputs a decoding result met method length decoding,
Generating a decoded value by calculation from each codeword included in the variable-length encoded data according to one generation method selected from a plurality of generation methods;
A variable-length decoding method comprising the steps of: associating the decoded value with an information symbol according to one correspondence method selected from a plurality of correspondence methods; and outputting the associated information symbol as the decoding result.
複数の生成方法から選択された一つの生成方法に従って、前記可変長符号化データに含まれる各符号語から計算によって復号値を生成する復号値生成部と、
複数の対応方法から選択された一つの対応方法に従って、前記復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを前記復号結果として出力する情報シンボル対応部と
を具備する可変長復号化装置。Corresponding to the information symbol (a) the codeword delimiter can be identified by a predetermined number of 0s and 1s, (b) the codewords do not match when multiple codewords are aligned and c) Variable that decodes variable-length encoded data composed of codewords configured to satisfy the condition that the Hamming distance between codewords having the same codeword length is 2 or more and outputs a decoding result met length decoding apparatus,
According to one generation method selected from a plurality of generation methods, a decoded value generation unit that generates a decoded value by calculation from each codeword included in the variable length encoded data;
Variable length decoding comprising: an information symbol corresponding unit that associates the decoded value with an information symbol and outputs the associated information symbol as the decoding result according to one corresponding method selected from a plurality of corresponding methods apparatus.
複数の対応方法から選択された一つの対応方法に従って、入力された情報シンボルに符号語を対応付け、該対応付けられた符号語の値を表す符号値を出力する処理と、
複数の生成方法から選択された一つの生成方法に従って、前記符号値から計算によって(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された前記符号語を生成する処理とを前記コンピュータに行わせるためのプログラム。A variable-length encoding process for assigning a code word having a code word length corresponding to the occurrence probability of the information symbol to a plurality of information symbols, and outputting a code word corresponding to the input information symbol as encoded data A program for causing a computer to perform
In accordance with one correspondence method selected from a plurality of correspondence methods, a process for associating a code word with an input information symbol and outputting a code value representing the value of the associated code word;
According to one generation method selected from a plurality of generation methods, the code value is calculated from (a) a predetermined number of 0s and 1s by calculation from the code value , and (b) a plurality of code words are terminated. Generate the codeword configured to satisfy the conditions that the codewords do not match when aligned and (c) the Hamming distance between codewords having the same codeword length is 2 or more program order to perform a process on the computer.
複数の生成方法から選択された一つの生成方法に従って、前記可変長符号化データに含まれる各符号語から計算によって復号値を生成する処理と、
複数の対応方法から選択された一つの対応方法に従って、前記復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを復号結果として出力する処理とを前記コンピュータに行わせるためのプログラム。Corresponding to the information symbol (a) the codeword delimiter can be identified by a predetermined number of 0s and 1s, (b) the codewords do not match when multiple codewords are aligned and c) Variable that decodes variable-length encoded data composed of codewords configured to satisfy the condition that the Hamming distance between codewords having the same codeword length is 2 or more and outputs a decoding result A program for causing a computer to perform a long decoding process,
In accordance with one generation method selected from a plurality of generation methods, a process of generating a decoded value by calculation from each codeword included in the variable length encoded data;
A program for causing the computer to perform processing for associating the decoded value with an information symbol and outputting the associated information symbol as a decoding result in accordance with one correspondence method selected from a plurality of correspondence methods.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002010873A JP3673222B2 (en) | 2002-01-18 | 2002-01-18 | Variable length encoding method and apparatus, and variable length decoding method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002010873A JP3673222B2 (en) | 2002-01-18 | 2002-01-18 | Variable length encoding method and apparatus, and variable length decoding method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003218704A JP2003218704A (en) | 2003-07-31 |
JP3673222B2 true JP3673222B2 (en) | 2005-07-20 |
Family
ID=27648492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002010873A Expired - Fee Related JP3673222B2 (en) | 2002-01-18 | 2002-01-18 | Variable length encoding method and apparatus, and variable length decoding method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3673222B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7436329B2 (en) * | 2003-04-17 | 2008-10-14 | Droplet Technology, Inc. | Multiple technique entropy coding system and method |
JP2010183595A (en) * | 2004-09-22 | 2010-08-19 | Droplet Technology Inc | Multiple technique entropy coding system and method |
JP4688690B2 (en) * | 2006-02-15 | 2011-05-25 | 日立造船株式会社 | State change detection method and state change detection apparatus in plant equipment |
-
2002
- 2002-01-18 JP JP2002010873A patent/JP3673222B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003218704A (en) | 2003-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11595055B2 (en) | Methods and apparatus to parallelize data decompression | |
RU2510918C2 (en) | Method and apparatus for synchronising highly compressed enhancement layer data | |
US5745504A (en) | Bit error resilient variable length code | |
US7872598B2 (en) | Accelerated decompression | |
JP6045123B2 (en) | Encoder, decoder and method | |
CN112398484B (en) | Coding method and related equipment | |
JPH04185119A (en) | Variable length coder | |
JPH0328091B2 (en) | ||
RU2611249C1 (en) | Entropy modifier and method to use it | |
JP3673222B2 (en) | Variable length encoding method and apparatus, and variable length decoding method and apparatus | |
US7683809B2 (en) | Advanced lossless bit coding | |
KR20230050256A (en) | Data encoding method, encoder, and data decoding method | |
EP4142229A1 (en) | System and method for transition encoding with flexible word-size | |
KR20120012790A (en) | Method and device for encoding an input bit sequence and corresponding decoding method and device | |
US20220005229A1 (en) | Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie | |
CN114614832A (en) | Test data compression and decompression method based on front and back run length coding | |
KR101549740B1 (en) | Binary data compression and decompression method and apparatus | |
KR100686354B1 (en) | Huffman decoding method and device for using variable length tree | |
KR101906036B1 (en) | Error detection method of lz78 compression data and encoder using the same | |
KR100189875B1 (en) | Huffman coder/decoder | |
KR20090113208A (en) | Method for encoding a sequence of integers, storage device and signal carrying an encoded integer sequence and method for decoding a sequence of integers | |
Razaque | Applications of Information Theory in Communication Engineering | |
JPH04109781A (en) | Recording device and reproducing device | |
KR20160126505A (en) | Error-proof real time binary data compress and transfer method and appratus thereof like dna polymerase | |
JP2001045479A (en) | Method and device for protecting error of variable length coded data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050404 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050421 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |