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 PDF

Info

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
Application number
JP2002010873A
Other languages
Japanese (ja)
Other versions
JP2003218704A (en
Inventor
健 中條
晋一郎 古藤
剛 永井
義浩 菊池
渉 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002010873A priority Critical patent/JP3673222B2/en
Publication of JP2003218704A publication Critical patent/JP2003218704A/en
Application granted granted Critical
Publication of JP3673222B2 publication Critical patent/JP3673222B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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】

Figure 0003673222
【0034】
次に、これらの整数値mと符号値nから次式の計算によって符号語C(n)を得る。
まず、nの値が左辺(1/2)m(m−1)と等しい場合は、符号語C(n)は次のようにする。
【数2】
Figure 0003673222
それ以外の場合は、
【数3】
Figure 0003673222
として、次の符号語を生成する。
【数4】
Figure 0003673222
【0035】
一方、復号値生成部301では次のような操作を行う。最初のビットが0ならば、それに続く連続する1の数rをカウントし、次式で計算される値を復号値nとする。
【数5】
Figure 0003673222
【0036】
もし、最初のビットが1ならば、1が合計3回に出現するまでLビットの符号化データを読み込み、2番目の1が出現した位置をSビット目とすると、復号値nは次の式で計算される。
【数6】
Figure 0003673222
【0037】
上述した符号語生成方法によって得られる符号語では、図6に示されるように予め定められた0と1の数によって符号語の区切りが分かり、また同一の符号語長の符号語間のハミング距離が必ず2以上になる。ハミング距離とは周知のように、同一の符号語長の符号語間で0と1が一致しないビットの数のことを指す。さらに、これらの符号語は複数の符号語を語尾を揃えて並べたときに各符号語が一致することがない。したがって、符号語のビットに誤りが入った場合でも自己同期しない性質をもっている。
【0038】
次に、図7を用いて符号語生成部202における符号語生成のための計算手法の他の具体例について説明する。まず、符号値nに対して次の不等式を満足する1以上の整数値mを求める。
【数7】
Figure 0003673222
【0039】
次に、この整数値mと符号値nから次の数式の計算によって符号語C(n)を得る。
【数8】
Figure 0003673222
ここで、β(n、m)は、整数nのmビット表現である。
一方、復号値生成部301では次のような操作を行う。符号化データを2進系列b1 2 …bL を次の不等式がはじめて成り立つLビットまで読み込む。
【数9】
Figure 0003673222
次に、得られた2進系列b1 2 …bL とLの値から、次式の計算により復号値nを計算する。
【数10】
Figure 0003673222
【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 encoding system 100 that encodes information symbols 10 that are roughly divided and outputs variable-length encoded data, and a transmission / storage system that transmits or stores variable-length encoded data. 103 and a decoding system 104 that decodes variable-length encoded data input from the transmission / storage system 103 to generate a decoding result 24 and an error detection result 26.
[0021]
The encoding system 100 includes a variable length encoding unit 101 and an interval setting unit 102 that perform variable length encoding on the input information symbol 10. The variable length coding unit 101 generates a code word of a variable length code corresponding to the value of the input information symbol 10 without using a code word table prepared in advance, and uses this as variable length coded data 14 Output.
[0022]
In the variable length coding unit 101, a plurality of methods (corresponding methods) are prepared for associating information symbols 10 and codewords, and a plurality of methods are associated with a plurality of methods (codeword generating methods) for generating codewords. (Corresponding method) is prepared, and one corresponding method and codeword generating method are selected according to the switching signals 11 and 12 supplied from the outside. It is assumed that the switching signals 11 and 12 are separately encoded and then sent to the decoding system 104 or can be obtained from the values of other encoding parameters in the decoding system 104.
[0023]
The variable length encoded data 14 output from the variable length encoding unit 101 is divided into predetermined intervals by the interval setting unit 102 (referred to as interval setting) and output from the encoding system 100. The encoded data 15 after the section setting from the section setting unit 102 is input to the transmission / storage system 103, and the variable length encoded data 16 output from the transmission storage system 103 is input to the decoding system 104.
[0024]
The decoding system 104 includes a section detection unit 105, a variable length decoding unit 106, and a length determination unit 107. The section detection unit 105 detects the section set by the section setting unit 102 from the input variable length encoded data 16. The variable length encoded data 16 is input to the variable length decoding unit 106 as the variable length encoded data 20 for each section detected by the section detection unit 105. The variable length decoding unit 106 generates a decoded value by calculation from each codeword included in the input variable length encoded data 20 without using a codeword table prepared in advance, and an information symbol is added to the decoded value. Are output as a decoding result 24.
[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 encoding system 100 as described above or generated based on the values of other encoding parameters in the decoding system 104 as described above. A correspondence method and a codeword generation method are selected.
[0026]
Further, the variable length decoding unit 106 performs error detection as will be described later, outputs an error detection result 26, and codeword length information 25 indicating the length of a codeword included in the variable length encoded data 20. Is generated and sent to the length determination unit 107. In the length determination unit 107, error detection is performed by checking the codeword length information 25 for each section detected by the section detection unit 105.
[0027]
FIG. 2 shows the configuration of the variable length coding unit 101. The variable length coding unit 101 includes an information symbol correspondence unit 201 and a code word generation unit 202. The information symbol corresponding unit 201 outputs a code value 13 corresponding to the value of the input information symbol 10. The information symbol correspondence unit 201 includes a plurality of correspondence tables, in other words, a plurality of correspondence methods, which are switched by the information symbol correspondence switching signal 11 to select one correspondence table.
[0028]
The codeword generation unit 202 receives the code value 13 from the information correspondence unit 201 as an input and generates the codeword 14 by calculation using a calculation method determined in advance for each code. The codeword generation unit 202 includes a plurality of codeword generation methods, which are switched by the codeword generation switching signal 12 to select one codeword generation method.
[0029]
FIG. 3 shows the configuration of the variable length decoding unit 104. The variable length decoding unit 104 includes a decoded value generation unit 301 and an information symbol correspondence unit 302. In the decoded value generation unit 301, the decoded value 23 is calculated for each section detected by the section detecting unit 105 shown in FIG. 1 from the input variable length encoded data 20 by a calculation method determined in advance for each code. Generate by. The decoded value generation unit 301 includes a plurality of generation methods, which are switched by the decoded value generation switching signal 21 to select one decoded value generation method. Further, the decoded value generation unit 301 has a function of checking the length of the variable-length encoded data 20 for each section detected by the section detection unit 105, detecting an error from the check result, and outputting the error detection result 26. Have.
[0030]
The information symbol corresponding unit 302 receives the decoded value 23 generated by the decoded value generating unit 301 as an input, and outputs the corresponding information symbol as a decoded result 24. The information symbol correspondence unit 302 includes a plurality of correspondence tables, in other words, a plurality of correspondence methods, which are switched by the information symbol correspondence switching signal 21 to select one correspondence table.
[0031]
Next, an example of a section setting method for variable length encoded data in the section setting unit 102 will be described with reference to FIG. In the section setting method of FIG. 4A, the length information of the variable length encoded data exists immediately after the header, and the number of bits of the variable length encoded data is described here. In the section detection unit 105, the number of bits of the encoded data is determined by decoding the length information of the encoded data. The interval setting method in FIG. 4B uses a synchronization code. In this case, the section detection unit 105 counts the number of bits until the next synchronization code, and subtracts the number of bits from the header and stuffing to determine the number of bits of the encoded data.
[0032]
FIG. 5 shows an example of a correspondence table used in the information symbol correspondence unit 201 in FIG. 2 and the information symbol correspondence unit 302 in FIG. 3, and an example of a correspondence relationship between information symbols and code values in each correspondence table. ing. In this example, the value obtained by quantizing a coefficient (for example, DCT coefficient) obtained by orthogonal transform of an image signal for each block in moving image coding is variable length coded by run length coding. It is. In this example, the information symbol is a combination of an EOB (End Of Block) symbol indicating that there is no non-zero coefficient thereafter in the block, a run, and a level. Here, there are two types of symbol correspondence tables A and B, and the correspondence between information symbols and code values can be switched by an information symbol correspondence switching signal.
[0033]
Next, a specific example of a calculation method for codeword generation in the codeword generation unit 202 will be described with reference to FIG. First, an integer value m of 1 or more that satisfies the following inequality is obtained for the code value n.
[Expression 1]
Figure 0003673222
[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]
Figure 0003673222
Otherwise,
[Equation 3]
Figure 0003673222
Then, the next code word is generated.
[Expression 4]
Figure 0003673222
[0035]
On the other hand, the decoded value generation unit 301 performs the following operation. If the first bit is 0, the number r of successive 1s is counted, and a value calculated by the following equation is set as a decoded value n.
[Equation 5]
Figure 0003673222
[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]
Figure 0003673222
[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 codeword generation unit 202 will be described with reference to FIG. First, an integer value m of 1 or more that satisfies the following inequality is obtained for the code value n.
[Expression 7]
Figure 0003673222
[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]
Figure 0003673222
Here, β (n, m) is an m-bit representation of an integer n.
On the other hand, the decoded value generation unit 301 performs the following operation. Encode data into binary sequence b 1 b 2 ... b L Is read up to L bits for which the following inequality holds for the first time.
[Equation 9]
Figure 0003673222
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]
Figure 0003673222
[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 SYMBOLS 100 ... Coding system 101 ... Variable length encoding part 102 ... Section setting part 103 ... Transmission / storage system 104 ... Decoding system 105 ... Section detection part 106 ... Variable length decoding part 107 ... Length determination part 201 ... Information symbol Corresponding unit 202 ... codeword generating unit 301 ... decoded value generating unit 302 ... information symbol corresponding unit

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.
情報シンボルに対応した(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された符号語により構成される可変長符号化データを復号して復号結果を出力する可変長復号化方法であって、
複数の生成方法から選択された一つの生成方法に従って、前記可変長符号化データに含まれる各符号語から計算によって復号値を生成するステップと、
複数の対応方法から選択された一つの対応方法に従って、前記復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを前記復号結果として出力するステップと
を具備する可変長復号化方法。
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.
情報シンボルに対応した(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された符号語により構成される可変長符号化データを復号して復号結果を出力する可変長復号化装置であって、
複数の生成方法から選択された一つの生成方法に従って、前記可変長符号化データに含まれる各符号語から計算によって復号値を生成する復号値生成部と、
複数の対応方法から選択された一つの対応方法に従って、前記復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを前記復号結果として出力する情報シンボル対応部と
を具備する可変長復号化装置。
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.
前記復号値生成部は、さらに前記可変長符号化データについて検出された所定の区間毎に各符号語の符号語長をチェックして誤りを検出する請求項記載の可変長復号化装置。The variable length decoding device according to claim 4, wherein the decoded value generation unit further detects an error by checking a codeword length of each codeword for each predetermined section detected for the variable length encoded data. 複数の情報シンボルに対して該情報シンボルの生起確率に応じた符号語長を有する符号語をそれぞれ割り当て、入力された情報シンボルに対応した符号語を符号化データとして出力する可変長符号化処理をコンピュータに行わせるためのプログラムであって、
複数の対応方法から選択された一つの対応方法に従って、入力された情報シンボルに符号語を対応付け、該対応付けられた符号語の値を表す符号値を出力する処理と、
複数の生成方法から選択された一つの生成方法に従って、前記符号値から計算によって(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.
情報シンボルに対応した(a)予め定められた0と1の数によって符号語の区切りが分かる、(b)複数の符号語を語尾を揃えて並べたときに各符号語が一致しない、及び(c)同一の符号語長を有する各符号語間のハミング距離が2以上、という条件を満たすように構成された符号語により構成される可変長符号化データを復号して復号結果を出力する可変長復号化処理をコンピュータに行わせるためのプログラムであって、
複数の生成方法から選択された一つの生成方法に従って、前記可変長符号化データに含まれる各符号語から計算によって復号値を生成する処理と、
複数の対応方法から選択された一つの対応方法に従って、前記復号値に情報シンボルに対応付け、該対応付けられた情報シンボルを復号結果として出力する処理とを前記コンピュータに行わせるためのプログラム。
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.
JP2002010873A 2002-01-18 2002-01-18 Variable length encoding method and apparatus, and variable length decoding method and apparatus Expired - Fee Related JP3673222B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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