(57)【要約】【課題】連続して出現する記号を符号化する場合、連続して出現する記号とその連続数を符号化することにより、符号化効率を向上させる。【解決手段】符号化装置１は、連続して出現する記号が含まれる記号列に対してレンジコーダにより符号化を行う装置であり、符号化対象の記号集合Ｓに含まれる各記号と、記号が連続して出現することを表す記号の出現頻度表２を用いて、入力された記号と、記号が連続して出現することを表す記号を符号化し、連続して出現する記号の連続数の出現頻度表（連続長出現頻度表３）を用いて、連続して出現する記号の連続数を符号化する。【選択図】図１
2006270821.tif 000002
【特許請求の範囲】
【請求項１】
レンジコーダにより符号化を行う符号化装置であって、
符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる特定の記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、前記特定の記号が連続して出現することを表す記号を符号化する第１の符号化手段と、
連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する特定の記号の連続数を符号化する第２の符号化手段と、
を備えることを特徴とする符号化装置。
【請求項２】
符号化対象が音声信号である場合、前記連続して出現する特定の記号は、音声信号に対して周波数変換を施して得られた周波数変換係数にスカラー量子化を施した結果の値が０であることを表す記号であることを特徴とする請求項１に記載の符号化装置。
【請求項３】
レンジコーダにより符号化を行う符号化装置であって、
符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を符号化する第１の符号化手段と、
前記連続して出現する記号を、前記出現頻度表又は生起確率表を用いて符号化する第２の符号化手段と、
連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する記号の連続数を符号化する第３の符号化手段と、
を備えることを特徴とする符号化装置。
【請求項４】
レンジコーダにより符号化を行う符号化装置であって、
符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を記憶する記号記憶手段と、
連続して出現する記号の連続数を記憶する連続数記憶手段と、
前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号記憶手段に記憶された各記号を符号化する第１の符号化手段と、
連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続数記憶手段に記憶された連続数を符号化する第２の符号化手段と、
を備えることを特徴とする符号化装置。
【請求項５】
レンジコーダにより符号化を行う符号化方法であって、
符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる特定の記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、前記特定の記号が連続して出現することを表す記号を符号化し、
連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する特定の記号の連続数を符号化することを特徴とする符号化方法。
【請求項６】
レンジコーダにより符号化を行う符号化方法であって、
符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を符号化し、
前記連続して出現する記号を、前記出現頻度表又は生起確率表を用いて符号化し、
連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する記号の連続数を符号化することを特徴とする符号化方法。
【請求項７】
レンジコーダにより符号化を行う符号化方法であって、
符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を記号記憶手段に記憶し、
連続して出現する記号の連続数を連続数記憶手段に記憶し、
前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号記憶手段に記憶された各記号を符号化し、
連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続数記憶手段に記憶された連続数を符号化することを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号を符号化する符号化装置及び符号化方法に関する。
【背景技術】
【０００２】
信号の統計的性質を利用した符号化方式の一つとして、レンジコーダ（Range Coder）符号化が知られている（例えば、非特許文献１参照。）。以下、従来のレンジコーダ符号化について説明する。符号化前の元信号に含まれる記号の集合をＳ＝｛si|i=1,…,n｝とし、各記号siの出現確率をｐiとする。また、元信号に含まれる各記号siを予め決められた順番に並べ替えた記号列｛s1、s2、…、sn｝において、記号sk（ｋ≧２）より前に並んでいる各記号の出現確率の合計をＦkとする。即ち、Ｆkは、式（１）のように表される。
【数１】
2006270821.tif 000003
【０００３】
レンジコーダによる符号化では、記号毎に出現確率ｐiとＦiを対応付けて格納したテーブル（以下、生起確率テーブルという。）に基づいて、入力済みの信号が示す記号列に、数値で示す範囲（下限、幅）を設定する処理を行う。入力済みの信号に設定される範囲（下限、幅）は、直前に入力された信号に設定された範囲と生起確率テーブルに基づいて決定される。
【０００４】
符号化対象の信号skが入力されたときに設定される幅をrange’、下限をlow’とし、その信号skの１つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range’、下限low’は、それぞれ、式（２）、式（３）のように表される。
range’＝range×ｐk       （２）
low’＝low＋range×Ｆk    （３）
式（２）及び式（３）で算出されたrange’、low’が、次の信号が入力されたときのrange、lowとなる。
【０００５】
式（２）及び式（３）で示す算出処理は、入力信号がなくなるまで行われ、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low＋rangeの間の値が符号値として出力される。
【０００６】
図１０に、レンジコーダ符号化の例を示す。図１０（ａ）に、元信号に含まれる記号の集合がＳ＝｛s1=ａ、s2=ｂ、s3=ｃ、s4=ｄ｝であるときの生起確率テーブルの一例を示す。また、図１０（ｂ）に、記号列｛ｂａｃａ｝に対する符号化の一例を示す。図１０（ｂ）では、記号列を示す符号を１０進数とし、lowの初期値を０、rangeの初期値を１０６とした場合を示している。図１０（ｂ）において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式（３）により算出されるlow’を示し、「range」項目は、式（２）により算出されるrange’を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。図１０（ｂ）において、［ｘ、ｙ）という表記は、符号値Ｚがｘ≦Ｚ＜ｙを満たすことを意味する。図１０（ｂ）によると、５９３７５０≦Ｚ＜６０３１２５を満たす符号値Ｚのうちの１つ（例えば、６０００００）が、記号列｛ｂａｃａ｝を符号化した結果として出力されることになる。
【非特許文献１】G.N.N Martin “Range encoding: an algorithm for removing redundancy from a digitised message” Video and Data Recording Conference, March 1979
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、一般に画像信号や音声信号等の符号化において、連続して出現する記号を符号化する場合、従来のレンジコーダ符号化のように、記号の入力毎に符号値の範囲を決める方法では、符号化効率が悪いという問題があった。
【０００８】
本発明の課題は、連続して出現する記号を符号化する場合、連続して出現する記号とその連続数を符号化することにより、符号化効率を向上させることである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１に記載の発明は、レンジコーダにより符号化を行う符号化装置であって、符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる特定の記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、前記特定の記号が連続して出現することを表す記号を符号化する第１の符号化手段と、連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する特定の記号の連続数を符号化する第２の符号化手段と、を備えることを特徴としている。
【００１０】
請求項２に記載の発明は、請求項１に記載の符号化装置において、符号化対象が音声信号である場合、前記連続して出現する特定の記号は、音声信号に対して周波数変換を施して得られた周波数変換係数にスカラー量子化を施した結果の値が０であることを表す記号であることを特徴としている。
【００１１】
請求項３に記載の発明は、レンジコーダにより符号化を行う符号化装置であって、符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を符号化する第１の符号化手段と、前記連続して出現する記号を、前記出現頻度表又は生起確率表を用いて符号化する第２の符号化手段と、連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する記号の連続数を符号化する第３の符号化手段と、を備えることを特徴としている。
【００１２】
請求項４に記載の発明は、レンジコーダにより符号化を行う符号化装置であって、符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を記憶する記号記憶手段と、連続して出現する記号の連続数を記憶する連続数記憶手段と、前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号記憶手段に記憶された各記号を符号化する第１の符号化手段と、連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続数記憶手段に記憶された連続数を符号化する第２の符号化手段と、を備えることを特徴としている。
【００１３】
請求項５に記載の発明は、レンジコーダにより符号化を行う符号化方法であって、符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる特定の記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、前記特定の記号が連続して出現することを表す記号を符号化し、連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する特定の記号の連続数を符号化することを特徴としている。
【００１４】
請求項６に記載の発明は、レンジコーダにより符号化を行う符号化方法であって、符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を符号化し、前記連続して出現する記号を、前記出現頻度表又は生起確率表を用いて符号化し、連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続して出現する記号の連続数を符号化することを特徴としている。
【００１５】
請求項７に記載の発明は、レンジコーダにより符号化を行う符号化方法であって、符号化対象の記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号を記号記憶手段に記憶し、連続して出現する記号の連続数を連続数記憶手段に記憶し、前記記号集合に含まれる各記号と、当該記号集合に含まれる記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、前記記号記憶手段に記憶された各記号を符号化し、連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、前記連続数記憶手段に記憶された連続数を符号化することを特徴としている。
【発明の効果】
【００１６】
本発明によれば、符号化対象の記号集合に含まれる各記号と、記号が連続して出現することを表す記号の出現頻度表又は生起確率表を用いて、当該記号集合に含まれる各記号及び連続して出現する記号を符号化し、連続して出現する記号の連続数の出現頻度表又は生起確率表を用いて、連続して出現する記号の連続数を符号化することにより、符号化効率を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明の実施形態について詳細に説明する。
まず、実施形態における構成について説明する。
【００１８】
図１に、本発明の実施形態に係る符号化装置１の構成を示す。符号化装置１は、出現頻度表２及び連続長出現頻度表３を用いて、入力された記号列（入力信号）をレンジコーダによって符号化する装置である。本実施形態では、符号化対象の記号列に、連続して出現する記号が含まれるものとする。
【００１９】
図２に、出現頻度表２のデータ構成の一例を示す。出現頻度表２は、符号化対象の記号の出現頻度と、記号が連続して出現することを表す記号の出現頻度を示す表である。符号化対象のｎ個の記号の集合をＳ＝｛si｜i＝1,…,n｝、集合Ｓの各記号の出現頻度をｆiとする。集合Ｓに含まれる記号が連続して出現することを表す記号をsn+1とし、その出現頻度をｆn+1とする。図２の出現頻度表２では、集合Ｓに含まれる記号s1、s2、…snが、それぞれ、数値０、１、…、ｎ−１を表し、記号sn+1が数値ｎを表す例を示している。出現頻度表２の各記号の出現頻度の合計cumcは式（４）のようになる。
【数２】
2006270821.tif 000004
【００２０】
図３に、連続長出現頻度表３のデータ構成の一例を示す。連続長出現頻度表３は、記号が連続して出現する数(連続数又は連続長)の出現頻度を示す表である。連続数を表す集合をＬ＝｛li｜i＝1,…,m｝とする。図３に示すように、集合Ｌの要素liは、記号集合Ｓ内のある記号の連続数がｉ＋１回であることを示す。連続長出現頻度表３の各連続数の出現頻度をtiすると、出現頻度tiの合計cumlは式（５）のようになる。
【数３】
2006270821.tif 000005
【００２１】
以下、連続して出現する記号が含まれる記号列に対する符号化の具体例について、実施例１〜３を挙げて説明する。
【実施例１】
【００２２】
まず、本実施形態の実施例１について説明する。
実施例１では、記号集合Ｓの各記号のうち、連続して出現することが最も多い記号をs1（＝０）とし、記号s1が連続して出現することを表す記号をsn+1とする。これは、音声信号や画像信号では、０を表す記号が連続して出現することが最も多いことによる。例えば、符号化対象が音声信号である場合、記号s1は、音声信号に対して周波数変換を施して得られた周波数変換係数にスカラー量子化を施した結果の値が０であることを表す記号である。周波数変換としては、音声信号ではＭＤＣＴ（Modified Discrete Cosine Transform：変形離散コサイン変換）が使用されることが多く、画像信号ではＤＣＴ（Discrete Cosine Transform：離散コサイン変換）が使用されることが多いが、他の周波数変換を用いてもよい。
【００２３】
実施例１では、実際にレンジコーダによる符号化を行う前に、記号s1が連続して出現することを表す記号sn+1と、記号s1の連続数lpを含めた記号列を生成し、その生成された記号列に対してレンジコーダ符号化を施すものとする。例えば、ｎ＝４である場合、元の記号列が｛１３２０２０００３｝であった場合、｛１３２０２ ４・３ ３｝＝｛s2s4s3s1s3s5l2s4｝に置き換えた記号列に対し、レンジコーダ符号化を施す。
【００２４】
次に、図４のフローチャートを参照して、実施例１の符号化処理について説明する。
まず、レンジコーダ符号化で使用する下限low、幅range、cumc、cumlが初期化される（ステップＳ１）。次いで、入力された記号列の全ての記号に対して符号化処理済みであるか否かが判定される（ステップＳ２）。
【００２５】
ステップＳ２において、符号化対象の記号列の全ての記号の符号化処理が終了していないと判定された場合（ステップＳ２；ＮＯ）、符号化対象の記号skが入力される（ステップＳ３）。ステップＳ３で記号skが入力されたときに設定される幅をrange’、下限をlow’とすると、出現頻度表２を用いて、記号skに対応する幅range’、下限low’が、それぞれ、式（６）、式（７）のように算出される。
【数４】
2006270821.tif 000006
【数５】
2006270821.tif 000007
そして、式（６）及び式（７）で算出されたrange’、low’が、それぞれ、次の記号が入力されたときのrange、lowとして設定される（ステップＳ４）。
【００２６】
次いで、ステップＳ３で入力された記号skが、特定の記号s1が連続して出現することを表す記号sn+1であるか否かが判定される（ステップＳ５）。ステップＳ５において、sk≠sn+1である場合（ステップＳ５；ＮＯ）、ステップＳ２に戻り、ステップＳ２〜Ｓ４の処理が繰り返される。
【００２７】
ステップＳ５において、sk＝sn+1である場合（ステップＳ５；ＹＥＳ）、特定の記号s1の連続数lpが入力され（ステップＳ６）、連続長出現頻度表３を用いて、連続数lpに対応する幅range’、下限low’が、それぞれ、式（８）、式（９）のように算出される。
【数６】
2006270821.tif 000008
【数７】
2006270821.tif 000009
そして、式（８）及び式（９）で算出されたrange’、low’が、それぞれ、次の記号が入力されたときのrange、lowとして設定され（ステップＳ７）、ステップＳ２に戻る。
【００２８】
ステップＳ３〜Ｓ７の処理は、入力記号がなくなるまで繰り返され、ステップＳ２において、全ての記号の符号化処理が終了したと判定された場合（ステップＳ２；ＹＥＳ）、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low＋rangeの間の値が符号値として出力され（ステップＳ８）、本符号化処理が終了する。
【００２９】
以上のように、実施例１の符号化処理によれば、連続して出現する特定の記号が含まれる記号列に対してレンジコーダ符号化を施す場合、特定の記号が連続して出現することを表す記号の出現頻度が追加された出現頻度表２を用いて、連続して出現する特定の記号を符号化し、連続長出現頻度表３を用いて、当該特定の記号の連続数（連続長）を符号化することにより、符号化効率を向上させることができる。
【実施例２】
【００３０】
次に、本実施形態の実施例２について説明する。
実施例１では、連続して出現することが最も多い特定の記号s1（＝０）の連続数を符号化する場合を示したが、連続して出現する記号の種類が多い場合には、図２の出現頻度表２における記号sn+1を、次の（次に入力される）記号が連続して出現することを表す記号とすることで対処することができる。
【００３１】
実施例２では、実際にレンジコーダによる符号化を行う前に、次の記号が連続して出現することを表す記号sn+1と、その連続して出現する記号及びその連続数を含めた記号列を生成し、その生成された記号列に対してレンジコーダ符号化を施すものとする。例えば、元の記号列が、記号sqがｐ＋１個連続して出現する記号列の場合、連続数はlpゆえ、｛sn+1・sq・lp｝という記号列が新たに生成され、この新たに生成された記号列に対してレンジコーダ符号化が施される。
【００３２】
次に、図５のフローチャートを参照して、実施例２の符号化処理について説明する。
まず、レンジコーダ符号化で使用する下限low、幅range、cumc、cumlが初期化される（ステップＳ１０）。次いで、入力された記号列の全ての記号に対して符号化処理済みであるか否かが判定される（ステップＳ１１）。
【００３３】
ステップＳ１１において、符号化対象の記号列の全ての記号の符号化処理が終了していないと判定された場合（ステップＳ１１；ＮＯ）、符号化対象の記号skが入力される（ステップＳ１２）。次いで、ステップＳ１２で入力された記号skが、次の記号が連続して出現することを表す記号sn+1であるか否かが判定される（ステップＳ１３）。
【００３４】
ステップＳ１３において、sk≠sn+1である場合（ステップＳ１３；ＮＯ）、出現頻度表２を用いて、記号skに対応する幅range’、下限low’が、それぞれ、式（６）、式（７）のように算出される。そして、算出されたrange’、low’が、それぞれ、次の記号が入力されたときのrange、lowとして設定され（ステップＳ１４）、ステップＳ１１に戻る。
【００３５】
ステップＳ１３において、sk＝sn+1である場合（ステップＳ１３；ＹＥＳ）、出現頻度表２を用いて、その記号skに対応する幅range’、下限low’が、それぞれ、式（６）、式（７）のように算出される。そして、算出されたrange’、low’が、それぞれ、次の記号が入力されたときのrange、lowとして設定される（ステップＳ１５）。
【００３６】
次いで、連続して出現する記号sqが入力され（ステップＳ１６）、出現頻度表２を用いて、記号sqに対応する幅range’、下限low’が、それぞれ、式（６）、式（７）と同様に算出される。そして、算出されたrange’、low’が、それぞれ、次の記号が入力されたときのrange、lowとして設定される（ステップＳ１７）。
【００３７】
次いで、記号sqの連続数lpが入力され（ステップＳ１８）、連続長出現頻度表３を用いて、連続数lpに対応する幅range’、下限low’が、それぞれ、式（８）、式（９）のように算出される。そして、算出されたrange’、low’が、それぞれ、次の記号が入力されたときのrange、lowとして設定され（ステップＳ１９）、ステップＳ１１に戻る。
【００３８】
ステップＳ１２〜Ｓ１９の処理は、入力記号がなくなるまで繰り返され、ステップＳ１１において、全ての記号の符号化処理が終了したと判定された場合（ステップＳ１１；ＹＥＳ）、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low＋rangeの間の値が符号値として出力され（ステップＳ２０）、本符号化処理が終了する。
【００３９】
以上のように、実施例２の符号化処理によれば、連続して出現する記号の種類が多い記号列に対してレンジコーダ符号化を施す場合、次の記号が連続して出現することを表す記号の出現頻度が追加された出現頻度表２を用いて、連続して出現する記号を符号化し、連続長出現頻度表３を用いて、連続して出現する記号の連続数（連続長）を符号化することにより、符号化効率を一層向上させることができる。
【実施例３】
【００４０】
次に、本実施形態の実施例３について説明する。
実施例１及び実施例２では、符号化対象の記号とともに、連続して出現する記号の連続数を逐次的に符号化する場合を示したが、実施例３では、一定量の信号をまとめて（一括して）処理する場合について説明する。
【００４１】
実施例３では、実施例１と同様に、記号s1が連続して出現することを表す記号をsn+1とし、その出現頻度をｆn+1とする。また、実施例１と同様に、実際にレンジコーダによる符号化を行う前に、記号s1が連続して出現することを表す記号sn+1と、記号s1の連続数lpを含めた記号列を生成し、その生成された記号列に対して、後述の図６〜図９のレンジコーダ符号化を施すものとする。
【００４２】
また、実施例３の符号化装置１では、符号化用に生成された記号列に含まれる記号s1,…sn,sn+1を記憶するバッファＣと、連続して出現する記号の連続数lpを記憶するバッファＢを備える。以下では、処理対象の一定量の記号列において、ｉ番目に出現した記号をciとし、ｊ番目に出現した連続数をbjと表記するものとする。
【００４３】
次に、図６のフローチャートを参照して、実施例３の符号化処理について説明する。
まず、入力された記号列から、記号s1,…sn,sn+1と連続数lpが分離され（ステップＳ２１）、分離された記号は入力順にバッファＣに記憶され、分離された連続数は入力順にバッファＢに記憶される。
【００４４】
次いで、出現頻度表２に基づいて、バッファＣに記憶された各記号に対し符号化が施され（ステップＳ２２）、連続長出現頻度表３に基づいて、バッファＢに記憶された連続数に対し符号化が施され（ステップＳ２３）、本符号化処理が終了する。
【００４５】
次いで、図７のフローチャートを参照して、図６のステップＳ２１に示した記号と連続数の分離について詳細に説明する。
【００４６】
まず、バッファＣに記憶される記号を識別するためのカウンタ値ｉが１に設定されるとともに、バッファＢに記憶される連続数を識別するためのカウンタ値ｊが１に設定される（ステップＳ３０）。次いで、一定量の記号の処理が終了したか否かが判定される（ステップＳ３１）。
【００４７】
ステップＳ３１において、一定量の記号の処理が終了していないと判定された場合（ステップＳ３１；ＮＯ）、符号化対象の記号skが入力される（ステップＳ３２）。次いで、ステップＳ３２で入力された記号skが、バッファＣの記号ciとして記録され、カウンタ値ｉがインクリメントされる（ステップＳ３３）。
【００４８】
次いで、ステップＳ３２で入力された記号skが、記号s1が連続して出現することを表す記号sn+1であるか否かが判定される（ステップＳ３４）。ステップＳ３４において、sk≠sn+1である場合（ステップＳ３４；ＮＯ）、ステップＳ３１に戻り、ステップＳ３１〜Ｓ３３の処理が繰り返される。
【００４９】
ステップＳ３４において、sk＝sn+1である場合（ステップＳ３４；ＹＥＳ）、バッファＢの記号bjとして、記号s1の連続数lpが記録され、カウンタ値ｊがインクリメントされ（ステップＳ３５）、ステップＳ３１に戻る。ステップＳ３１において、一定量の記号の処理が終了したと判定された場合（ステップＳ３１；ＹＥＳ）、記号と連続数の分離が終了する。
【００５０】
次に、図８のフローチャートを参照して、図６のステップＳ２２に示した記号の符号化処理について詳細に説明する。
【００５１】
まず、レンジコーダ符号化で使用する下限low、幅range、cumcが初期化され、バッファＣに記憶された記号を指定するためのカウンタ値ｉが１に設定される（ステップＳ４０）。次いで、バッファＣに記憶された全ての記号の符号化処理が終了したか否かが判定される（ステップＳ４１）。
【００５２】
ステップＳ４１において、バッファＣに記憶された全ての記号の符号化処理が終了していないと判定された場合（ステップＳ４１；ＮＯ）、バッファＣに記号ciとして記憶された記号skが入力され、カウンタ値ｉがインクリメントされる（ステップＳ４２）。
【００５３】
次いで、出現頻度表２を用いて、ステップＳ４２で入力された記号skに対応する幅range’、下限low’が、それぞれ、式（６）、式（７）のように算出される。そして、算出されたrange’、low’が、それぞれ、次の記号が入力されたときのrange、lowとして設定され（ステップＳ４３）、ステップＳ４１に戻り、ステップＳ４１〜Ｓ４３の処理が繰り返される。
【００５４】
ステップＳ４１において、バッファＣに記憶された全ての記号の符号化処理が終了したと判定された場合（ステップＳ４１；ＹＥＳ）、最後の記号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low＋rangeの間の値が符号値として出力され（ステップＳ４４）、記号の符号化処理が終了する。
【００５５】
次に、図９のフローチャートを参照して、図６のステップＳ２３に示した連続数の符号化処理について詳細に説明する。
【００５６】
まず、レンジコーダ符号化で使用する下限low、幅range、cumlが初期化され、バッファＢに記憶された連続数を指定するためのカウンタ値ｊが１に設定される（ステップＳ５０）。次いで、バッファＢに記憶された全ての連続数の符号化処理が終了したか否かが判定される（ステップＳ５１）。
【００５７】
ステップＳ５１において、バッファＢに記憶された全ての連続数の符号化処理が終了していないと判定された場合（ステップＳ５１；ＮＯ）、バッファＢに記号bjとして記憶された連続数lpが入力され、カウンタ値ｊがインクリメントされる（ステップＳ５２）。
【００５８】
次いで、連続長出現頻度表３を用いて、ステップＳ５２で入力された連続数lpに対応する幅range’、下限low’が、それぞれ、式（８）、式（９）のように算出される。そして、算出されたrange’、low’が、それぞれ、次の連続数が入力されたときのrange、lowとして設定され（ステップＳ５３）、ステップＳ５１に戻り、ステップＳ５１〜Ｓ５３の処理が繰り返される。
【００５９】
ステップＳ５１において、バッファＢに記憶された全ての連続数の符号化処理が終了したと判定された場合（ステップＳ５１；ＹＥＳ）、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low＋rangeの間の値が符号値として出力され（ステップＳ５４）、記号の符号化処理が終了する。
【００６０】
以上のように、実施例３の符号化処理によれば、一定量の信号をまとめて処理する場合、記号と連続数を分離し、記号の符号化と連続数の符号化をそれぞれ独立に行うようにしたことにより、符号化効率を向上させることができる。
【００６１】
なお、本実施形態では、図２に示す出現頻度表２を用いて各記号を符号化する場合を示したが、図１０（ａ）と同様に、記号skの出現確率と、記号s1,…,sk-1の出現確率の合計を対応付けた生起確率テーブル（生起確率表）を用いて記号skを符号化するようにしてもよい。同様に、連続数lmの出現確率と、連続数l1,…,lm-1の出現確率の合計を対応付けた生起確率テーブル（生起確率表）を用いて連続数lmを符号化するようにしてもよい。ここで、記号skの出現確率pkは式（１０）のように定義され、連続数lmの出現確率qmは式（１１）のように定義される。
【数８】
2006270821.tif 000010
【数９】
2006270821.tif 000011
【図面の簡単な説明】
【００６２】
【図１】本発明の実施形態に係る符号化装置の構成を示すブロック図。
【図２】記号の出現頻度表のデータ構成を示す図。
【図３】連続長出現頻度表のデータ構成を示す図。
【図４】実施例１の符号化処理を示すフローチャート。
【図５】実施例２の符号化処理を示すフローチャート。
【図６】実施例３の符号化処理を示すフローチャート。
【図７】図６に示した記号の連続数の分離を示すフローチャート。
【図８】図６に示した記号の符号化を示すフローチャート。
【図９】図６に示した連続数の符号化を示すフローチャート。
【図１０】従来のレンジコーダによる符号化の一例を示す図。
【符号の説明】
【００６３】
１  符号化装置（レンジコーダ）
２  出現頻度表
３  連続長出現頻度表
【図１】
2006270821.tif 000012
【図２】
2006270821.tif 000013
【図３】
2006270821.tif 000014
【図４】
2006270821.tif 000015
【図５】
2006270821.tif 000016
【図６】
2006270821.tif 000017
【図７】
2006270821.tif 000018
【図８】
2006270821.tif 000019
【図９】
2006270821.tif 000020
【図１０】
2006270821.tif 000021