(57)【要約】【課題】零値ではない小さな値も含み、その分布が小さな値に大きく偏っている整数値の系列であっても、少ない平均ビット数で符号化することができる符号化復号のための整数値の系列の変換技術を提供する。【解決手段】入力された非負整数値による系列を単進符号化して単進符号の符号列を得る単進符号化部と、単進符号の符号列の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’に、それぞれ置き換えて、置き換え後の符号列を得るビット反転処理部と、置き換え後の符号列を単進復号して非負整数値による系列を得る単進復号部と、を備える。【選択図】図２
2020102763.tif 000002
【特許請求の範囲】
【請求項１】
入力された非負整数値による系列（以下、「第一整数系列」という）を単進符号化して単進符号の符号列を得る単進符号化部と、
前記単進符号の符号列の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’に、それぞれ置き換えて、置き換え後の符号列を得るビット反転処理部と、
前記置き換え後の符号列を単進復号して非負整数値による系列（以下、「第二整数系列」という）を得る単進復号部と、
を備える変換装置。
【請求項２】
入力された非負整数値による系列（以下、「第一整数系列」という）を単進符号化して単進符号の符号列を得る単進符号化部と、
前記単進符号化部の単進符号とはビット値’0’とビット値’1’が逆の規則である単進復号で、前記単進符号の符号列を復号して非負整数値による系列（以下、「第二整数系列」という）を得る単進復号部と、
を備える変換装置。
【請求項３】
請求項１または２に記載の変換装置と、整数符号化部と、を備える符号化装置であって、
前記整数符号化部は、複数個の非負整数値に同じビット数の符号を割り当てることはあってもよいが、複数個の非負整数値のうちの値が大いほうにビット数が少ない符号を割り当てることはない、可変長で可逆の符号化規則に従って、前記変換装置が得た前記第二整数系列を符号化して整数符号を得る、
符号化装置。
【請求項４】
請求項３に記載の符号化装置であって、
前記第一整数系列は、前記符号化装置に入力された非負整数値による系列に含まれる所定サンプル毎の非負整数値による系列であり、
前記第一整数系列ごとに、前記第一整数系列に含まれる非負整数値に対応するゴロムパラメータsの逆数である整数符号化用ゴロムパラメータs'と、前記整数符号化用ゴロムパラメータs'に対応するパラメータ符号と、を得るパラメータ決定部を更に備え、
前記整数符号化部は、前記パラメータ決定部が得た前記整数符号化用ゴロムパラメータs'をゴロムパラメータとして用いて、前記変換装置が得た前記第二整数系列をゴロム符号化して整数符号を得る、
符号化装置。
【請求項５】
請求項３に記載の符号化装置であって、
前記第一整数系列は、前記符号化装置に入力された非負整数値による系列に含まれる所定サンプル毎の非負整数値による系列であり、
前記第一整数系列ごとに、前記第一整数系列に含まれる非負整数値に対応するゴロムパラメータsと、前記ゴロムパラメータsに対応するパラメータ符号と、を得るパラメータ決定部を更に備え、
前記整数符号化部は、前記パラメータ決定部が得た前記ゴロムパラメータsの逆数をゴロムパラメータとして用いて、前記変換装置が得た前記第二整数系列をゴロム符号化して整数符号を得る、
符号化装置。
【請求項６】
請求項３に記載の符号化装置であって、
前記符号化装置に入力された非負整数値による系列に含まれる所定サンプル毎に、前記所定サンプルの非負整数値による系列（以下、「入力整数系列」という）に含まれる非負整数値に対応するゴロムパラメータsと、前記ゴロムパラメータsに対応するパラメータ符号と、を得るパラメータ決定部を更に備え、
前記ゴロムパラメータsが１未満である場合には、
前記変換装置が、前記入力整数系列を前記第一整数系列として、前記第二整数系列を得て、
前記整数符号化部が、前記パラメータ決定部が得た前記ゴロムパラメータsの逆数をゴロムパラメータとして用いて、前記第二整数系列をゴロム符号化して整数符号を得て、
前記ゴロムパラメータsが１以上である場合には、
前記整数符号化部が、前記パラメータ決定部が得た前記ゴロムパラメータsをゴロムパラメータとして用いて、前記入力整数系列をゴロム符号化して整数符号を得る、
符号化装置。
【請求項７】
請求項１または２に記載の変換装置と、整数復号部と、を備える復号装置であって、
前記整数復号部は、複数個の同じビット数の符号それぞれから異なる非負整数値を得ることはあってもよいが、複数個の異なるビット数の符号のうちのビット数が多いほうから得る非負整数値はビット数が少ないほうから得る非負整数値より必ず大きい、可変長で可逆の復号規則に従って、入力された整数符号を復号して非負整数値の系列を得るものであり、
前記変換装置は、前記整数復号部が得た非負整数値の系列を前記第一整数系列として、前記第二整数系列を得る、
復号装置。
【請求項８】
請求項７に記載の復号装置であって、
パラメータ符号を復号してゴロムパラメータsを得るパラメータ復号部を更に備え、
前記ゴロムパラメータsが１未満である場合には、
前記整数復号部が、前記パラメータ復号部が得た前記ゴロムパラメータsの逆数をゴロムパラメータとして用いて、入力された整数符号をゴロム復号して非負整数値の系列を得て、
前記変換装置が、前記整数復号部が得た非負整数値の系列を前記第一整数系列として、前記第二整数系列を得て、得た第二整数系列を復号整数系列として出力し、
前記ゴロムパラメータsが１以上である場合には、
前記整数復号部が、前記パラメータ復号部が得た前記ゴロムパラメータsをゴロムパラメータとして用いて、入力された整数符号をゴロム復号して非負整数値の系列を得て、得た非負整数値の系列を復号整数系列として出力する、
復号装置。
【請求項９】
変換装置が、入力された非負整数値による系列（以下、「第一整数系列」という）を単進符号化して単進符号の符号列を得る単進符号化ステップと、
前記変換装置が、前記単進符号の符号列の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’に、それぞれ置き換えて、置き換え後の符号列を得るビット反転処理ステップと、
前記変換装置が、前記置き換え後の符号列を単進復号して非負整数値による系列（以下、「第二整数系列」という）を得る単進復号ステップと、
を実行する変換方法。
【請求項１０】
変換装置が、入力された非負整数値による系列（以下、「第一整数系列」という）を単進符号化して単進符号の符号列を得る単進符号化ステップと、
前記変換装置が、前記単進符号化ステップの単進符号とはビット値’0’とビット値’1’が逆の規則である単進復号で、前記単進符号の符号列を復号して非負整数値による系列（以下、「第二整数系列」という）を得る単進復号ステップと、
を実行する変換方法。
【請求項１１】
請求項９または１０に記載の変換方法を実行する変換装置を含む符号化装置が、整数符号化ステップを実行する符号化方法であって、
前記整数符号化ステップは、複数個の非負整数値に同じビット数の符号を割り当てることはあってもよいが、複数個の非負整数値のうちの値が大いほうにビット数が少ない符号を割り当てることはない、可変長で可逆の符号化規則に従って、前記変換方法で得た前記第二整数系列を符号化して整数符号を得る、
符号化方法。
【請求項１２】
請求項９または１０に記載の変換方法を実行する変換装置を含む復号装置が、整数復号ステップを実行する復号方法であって、
前記整数復号ステップは、複数個の同じビット数の符号それぞれから異なる非負整数値を得ることはあってもよいが、複数個の異なるビット数の符号のうちのビット数が多いほうから得る非負整数値はビット数が少ないほうから得る非負整数値より必ず大きい、可変長で可逆の復号規則に従って、入力された整数符号を復号して非負整数値の系列を得るものであり、
前記変換方法は、前記整数復号ステップで得た非負整数値の系列を前記第一整数系列として、前記第二整数系列を得る、
復号方法。
【請求項１３】
請求項１または２に記載の変換装置としてコンピュータを機能させるためのプログラム。
【請求項１４】
請求項３ないし６の何れか１項に記載の符号化装置としてコンピュータを機能させるためのプログラム。
【請求項１５】
請求項７または８に記載の復号装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声や音響の時系列ディジタル信号のサンプル系列などの整数値から成るサンプル系列を符号化、復号する技術、符号化や復号をするための整数値の系列の変換に関する。
【背景技術】
【０００２】
圧縮を目的としてサンプル系列を符号化する技術として、サンプル値を量子化することにより得た有限精度の値（以下、これを整数値と呼ぶ）を可逆符号化することにより、サンプル系列の記述に用いるビット長を削減する技術がある。この技術においては、どの整数値に対してどの長さの符号を割り当てるかが、圧縮の性能に直結する。この事実は、画像信号のサンプル列を符号化復号する画像符号化や音響信号のサンプル列を符号化復号する音響符号化などの、サンプル系列の符号化や復号の工学的応用先においても例外ではない。
【０００３】
一般的に可変長の可逆符号化においては、復号可能性の制約により、整数値に割り当てる符号の構成に制約がある。具体的には、ある整数値に対して短い符号を割り当てるとすると、復号可能な符号にするには他の整数値に対して長い符号を割り当てなければならない、という制約である。従って、圧縮性能を高くするためには、符号の構成（各整数値への符号の割り当て）は整数値の系列中の値の分布に適したものとする必要がある。具体的には、出現確率が高い整数値に対して短い符号を割り当て、出現確率が低い整数値に対しては長い符号を割り当てることで、整数値の系列の圧縮後のビット長の期待値を小さくすることができる。
【０００４】
上記のような可逆符号化において最も単純な可変長符号の一つとして用いられてきたのがGolomb符号（ゴロム符号）である。Golomb符号は、整数値の系列が指数分布に属する場合、つまり整数値の出現確率が値の大きさに対して指数的に低くなっている場合において、最小の期待ビット長（最小のビット長）を達成することが知られている。
【０００５】
このGolomb符号は非常に単純な構成であることから広く用いられている。Golomb符号は、例えば、音響信号をAD変換してPCMにした整数値の系列やその系列をフーリエ変換して周波数スペクトルに変換した系列などに含まれる各サンプル値を量子化値で除算して得た整数値の絶対値の系列を符号化するときに用いられる。或いは、Golomb符号は、上記整数値の系列の各サンプル値xを下記の式(1)により求まるx’にそれぞれ置き換えた非負整数値からなる系列を符号化するときに用いられる。
【０００６】
【数１】
2020102763.tif 000003
【０００７】
従って、以下では非負整数値を符号化・復号する場合について説明するが、式(1)などにより整数値全体を非負整数値に一対一に変換できるという上記の事実から、符号化処理の前段で式(1)などにより整数値全体を非負整数値に変換したり、復号処理の後段で式(1)の逆変換などにより非負整数値を整数値全体に変換したりすることで、整数値全体の符号化・復号にも適応可能である。
【０００８】
Golomb符号化は、Golombパラメータ（ゴロムパラメータ）sの値に応じて、非負整数値の入力xに対する符号が、入力xの値がs増える度に1ビット増加するものとし、下記の式(2)の指数分布（片側ラプラス分布）に従う非負整数値の系列に対して近似的に最適な期待ビット長を与えるように符号化できるものである。
【０００９】
【数２】
2020102763.tif 000004
【００１０】
ただし、Golombパラメータsは自然数である。つまり、Golombパラメータsを小さな自然数とすれば、値の偏りの大きい系列を少ない平均ビット数で符号化でき、sを大きな自然数とすれば、値の偏りの小さい系列を少ない平均ビット数で符号化できる。なお、sが2のべき乗数であるGolomb符号は、特にGolomb-Rice符号（ゴロムライス符号）と呼ばれている。Golomb-Rice符号は、具体的には、非負の整数値であるRiceパラメータ（ライスパラメータ）をrとすると、Golombパラメータs=2rを用いたときのGolomb符号である。図１は、Golomb-Rice符号の例である。
【００１１】
しかし、入力される非負整数値の系列の現実の分布では、式(2)におけるsとして0より大きな任意の実数値を取りうるのに対して、Golomb符号はGolombパラメータsを1未満にすることができない。また、s=2rとなるrについていえば、入力される非負整数値の系列の現実の分布ではrは任意の実数値を取りうるのに対して、Golomb-Rice符号はRiceパラメータｒを負値にすることができない。従って、例えば分布p(x,2-2)に従う値の系列など、系列の値の偏りが分布p(x,2-1)よりも大きくなるにつれ、GolombパラメータsやRiceパラメータrをどのように設定しても圧縮の効率は低下していく。
【００１２】
例えば、音響信号をAD変換してPCMにするときには、大音量まで記録できるように表現可能な数値の範囲を設定しているため、多くの信号の系列に含まれる値は表現可能な数値の範囲の絶対値が小さな値のところに偏る傾向にある。特に、音声信号は発話の無い時間区間があるため、零値や背景雑音だけの非常に小さな値に偏る。また、このような信号の系列に含まれる各値を量子化値で除算して得た整数値の系列は、量子化により、元の系列よりも更に零値を含む小さな値に偏っている。
【００１３】
零値に偏った整数値の系列を符号化する先行技術としては非特許文献１の技術がある。非特許文献１の技術は、入力された整数値の系列に含まれる零値は、零値が連続する個数を予め決めた固定ビット数で符号化して、入力された整数値の系列に含まれる零値以外の値は、その値から１を減算して得た値（値-1）をGolomb-Rice符号化するものである。
【００１４】
また、零値を含む小さな値に偏った整数値の系列を符号化する先行技術としては非特許文献２の技術がある。非特許文献２の技術は、２つの整数値による組と１つの整数値を全単射となるように予め紐付けておき、整数値の系列に含まれる２つの整数値による組を1つの整数値に変換し、変換後の整数値の系列をGolomb-Rice符号化するものである。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】H. S. Malvar, “Adaptive Run-Length / Golomb-Rice Encoding of Quantized Generalized Gaussian Sources with Unknown Statistics”, in Proc. Data Compression Conference (DCC) 06, IEEE Computer Society, pp.23-32, Mar. 2006.
【非特許文献２】高村誠之，八島由幸，“分布写像に基づくガウス性情報源の効率的符号化”，映像情報メディア学会誌，Vol.61，No.9，pp.1357-1362，2007．
【発明の概要】
【発明が解決しようとする課題】
【００１６】
非特許文献１の技術によれば、零値については少ない平均ビット数で符号化することができる。しかし、非特許文献１の技術では零値以外についてはGolomb-Rice符号化とほぼ同じ符号化を行うので、非特許文献１の技術には、零値ではない小さな値が分布p(x,2-1)よりも大きく偏っている場合には、圧縮の性能が低下するという課題がある。
【００１７】
また、非特許文献１の技術は数学的に表現される分布に対応した符号化方法ではない。従って、非特許文献１の技術には、整数値の系列における値の分布を知ったところで、零値の連続する個数を表現するために用いるビット数としてどれを選択して符号化すれば少ない平均ビット数で符号化できるのかがわからないという課題もある。
【００１８】
一方、非特許文献２の技術によれば、分布p(x, 2-1)よりも値の偏っている整数値の系列を少ない平均ビット数で符号化することができる。しかし、非特許文献２の技術は、１つの整数値に対する平均ビット数を0.5ビットより小さくできず、理論上最適な平均ビット数が0.5ビット未満となるような偏りの大きい整数値の系列に対しては、圧縮の性能が低下するという課題がある。
【００１９】
そこで本発明では、零値ではない小さな値も含み、その分布が小さな値に大きく偏っている整数値の系列であっても、少ない平均ビット数で符号化することができる符号化復号のための整数値の系列の変換技術を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明では、Golomb符号化などの可変長で可逆の整数符号化処理を行う前の非負整数値の系列やGolomb復号などの可変長で可逆の整数復号処理を行って得た非負整数値の系列に対して、非負整数値の系列を単進符号化して、その単進符号化で得られた符号列の’0’と’1’をビット反転させた符号列を単進復号して変換後の非負整数値の系列を得る変換処理を行う。
【００２１】
ここで単進符号とは、非負整数値が0ならば符号’0’、非負整数値が1ならば符号’10’、非負整数値が2ならば符号’110’のように、非負整数値と、その非負整数値分の個数のビット値’1’と１つのビット値’0’とを組み合わせた符号と、を対応させるという規則で構成されているものである。すなわち、単進符号化とは、入力された非負整数値の系列に含まれる各非負整数値に対応する単進符号による符号列を得る処理である。また、単進復号とは、入力された符号列に含まれる各単進符号に対応する非負整数値による系列を得る処理である。
【００２２】
また、整数符号化処理や整数復号処理で用いるGolomb符号などの可変長で可逆の符号は、非負整数値に対応する符号のビット数が非負整数値に対して単調非減少の関係にある可変長で可逆の符号である。すなわち、Golomb符号化などの可変長で可逆の整数符号化処理とは、複数個の非負整数値に同じビット数の符号を割り当てることはあってもよいが、複数個の非負整数値のうちの値が大いほうにビット数が少ない符号を割り当てることはない、可変長で可逆の符号化規則に従って、入力された非負整数値に対応する符号を得る処理である。また、Golomb復号などの可変長で可逆の整数復号処理とは、複数個の同じビット数の符号それぞれから異なる非負整数値を得ることはあってもよいが、複数個の異なるビット数の符号のうちのビット数が多いほうから得る非負整数値はビット数が少ないほうから得る非負整数値より必ず大きい、可変長で可逆の復号規則に従って、入力された符号に対応する非負整数値を得る処理である。
【００２３】
または、本発明では、Golomb符号化などの可変長で可逆の整数符号化処理を行う前の非負整数値の系列やGolomb復号などの可変長で可逆の整数復号処理を行って得た非負整数値の系列に対して、非負整数値の系列を単進符号化して得られた符号列を、その単進符号化の規則とは’0’と’1’をビット反転させた規則の単進復号で復号して変換後の非負整数値による系列を得る変換処理を行う。上述した単進符号の規則の場合であれば、’0’と’1’をビット反転させた規則とは、非負整数値が0ならば符号’1’、非負整数値が1ならば符号’01’、非負整数値が2ならば符号’001’のように、非負整数値と、その非負整数値分の個数のビット値’0’と１つのビット値’1’とを組み合わせた符号を対応させるという規則である。
【発明の効果】
【００２４】
本発明によれば、零値ではない小さな値も含んで小さな値に大きく偏っている整数値の系列や、非特許文献２の技術では対応しきれないくらいに値の偏った整数値の系列であっても、本発明の変換処理を行ってから符号化することで、少ない平均ビット数で符号化することができる。また、そのような符号化で得た符号を復号してから本発明の変換処理を行うことで、元の整数値の系列を得ることができる。
【図面の簡単な説明】
【００２５】
【図１】非負整数値に対するGolomb−Rice符号の例を示す図である。
【図２】第一実施形態の符号化装置２００の構成の一例を示すブロック図である。
【図３】第一実施形態の符号化装置２００の動作の一例を示すフローチャートである。
【図４】非負整数値に対する単進符号の例を示す図である。
【図５】第一実施形態の復号装置３００の構成の一例を示すブロック図である。
【図６】第一実施形態の復号装置３００の動作の一例を示すフローチャートである。
【図７】図４の単進符号のビット値を逆にした規則の単進符号を示す図である。
【図８】第二実施形態の符号化装置４００の構成の一例を示すブロック図である。
【図９】第二実施形態の符号化装置４００の動作の一例を示すフローチャートである。
【図１０】第二実施形態の復号装置５００の構成の一例を示すブロック図である。
【図１１】第二実施形態の復号装置５００の動作の一例を示すフローチャートである。
【図１２】第三実施形態の符号化装置６００の構成の一例を示すブロック図である。
【図１３】第三実施形態の符号化装置６００の動作の一例を示すフローチャートである。
【図１４】第三実施形態の復号装置７００の構成の一例を示すブロック図である。
【図１５】第三実施形態の復号装置７００の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
＜第一実施形態＞
≪符号化装置≫
図２及び図３を参照して、本発明の変換装置１００を含む第一実施形態の符号化装置２００が実行する符号化方法の処理手続きを説明する。第一実施形態の符号化装置２００は、図２に示す通り、変換装置１００と整数符号化部２１０を含む。変換装置１００は、単進符号化部１１０とビット反転処理部１２０と単進復号部１３０を含む。第一実施形態の符号化装置２００が図３に示す各ステップの処理を実行することにより、本発明の変換方法を含む第一実施形態の符号化方法が実現される。
【００２７】
第一実施形態の符号化装置２００には、非負の整数値の系列が入力される。この非負の整数値の系列としては、例えば、マイクロホンで収音した音声や音楽などをディジタル信号に変換して得た信号やカメラで撮像した画像や映像をディジタル信号に変換して得た信号などの信号の一部あるいは全部を既存の技術により量子化して有限精度の値にして得た整数値の絶対値による系列、または、整数値をxとして式(1)により得たx’による系列を入力してもよい。
【００２８】
第一実施形態の符号化装置２００は、符号化装置２００に入力された整数値の系列に対して変換装置１００によって変換を行って変換後の整数値の系列を得て、変換後の整数値の系列を整数符号化することで、例えばGolomb符号化やGolomb-Rice符号化などの整数符号化が想定している分布よりも偏りの大きな分布の非負の整数値の系列に対して、変換装置１００を用いずに符号化装置２００に入力された整数値の系列をそのまま整数符号化した場合よりも短いビット長となる符号化処理を実現するものである。以下では、符号化装置２００に入力された非負の整数値を単に「整数値」と呼んで説明する。
【００２９】
[単進符号化部１１０]
単進符号化部１１０には、符号化装置２００に入力された整数値の系列のうちの、Nサンプル（Nは自然数）ずつの整数値による系列（以下では、入力整数系列という）が入力される。単進符号化部１１０は、入力整数系列を単進符号化して入力整数系列に対する単進符号の符号列を得て、得られた単進符号の符号列をビット反転処理部１２０へ出力する（ステップＳ１１０）。
【００３０】
単進符号の符号列は、単進符号化部１１０が、i=1, ..., Nとしたときのxiそれぞれに対して単進符号、すなわち、xi個のビット値’1’と１つのビット値’0’とによる符号を得て、得た単進符号を連結することによって得られる。整数値とその整数値に対応する単進符号は図４の通りである。
【００３１】
[ビット反転処理部１２０]
ビット反転処理部１２０は、単進符号化部１１０が出力した単進符号の符号列を受け取り、その単進符号の符号列の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’にそれぞれ置き換えて置き換え後の符号列（以下では、反転単進符号の符号列という）を得て、得られた反転単進符号の符号列を単進復号部１３０へ出力する（ステップＳ１２０）。
【００３２】
[単進復号部１３０]
単進復号部１３０は、ビット反転処理部１２０が出力した反転単進符号の符号列を受け取り、反転単進符号の符号列を単進復号して整数値の系列（以下では、変換整数系列という）を得て、得られた変換整数系列を整数符号化部２１０へ出力する（ステップＳ１３０）。
【００３３】
単進復号は、単進復号部１３０が、反転単進符号の符号列をビット値’0’が出現するまで読み込み、その間に出現したビット値’1’の個数を整数値として得ることを、反転単進符号の符号列の始端から終端まで順次行うことにより行う。なお、単進復号部１３０は、反転単進符号の符号列の終端まで読み込んだ場合に限り、例外的に、直前に整数値を得てから終端のビットまで読み込んだ間に出現したビット値’1’の個数を整数値として得る。
【００３４】
または、単進復号部１３０が、まず、反転単進符号の符号列の終端にビット値’0’を追加して、次に、ビット値’0’を追加した反転単進符号の符号列について、ビット値’0’が出現するまで読み込み、その間に出現したビット値’1’の個数を整数値として得ることを、ビット値’0’を追加した反転単進符号の符号列の始端から終端まで順次行うようにしてもよい。
【００３５】
[整数符号化部２１０]
整数符号化部２１０は、単進復号部１３０が出力した変換整数系列を受け取り、その変換整数系列に対して例えばGolomb符号化のような可変長で可逆の符号化を行うことにより整数符号を得て、得られた整数符号を出力する（ステップＳ２１０）。
【００３６】
整数符号化部２１０が行う可変長で可逆の符号化は、例えばGolomb符号化やGolomb-Rice符号化のように、複数個の整数値に同じビット数の符号（同じ長さの符号）を割り当てることはあってもよいが、複数個の整数値のうちの値が大いほうにビット数が少ない符号（短い符号）を割り当てることはない、可変長で可逆の符号化規則に従って、入力された整数値に対応する整数符号を得る処理である。すなわち、整数符号化部２１０が行う可変長で可逆の符号化は、例えばGolombパラメータが1であるGolomb符号化すなわちRiceパラメータが0であるGolomb-Rice符号化のように、整数値が大きいほどビット数が多い符号（長い符号）を割り当てる可変長で可逆の符号化であってもよいし、例えばGolombパラメータが2以上であるGolomb符号化やRiceパラメータが1以上であるGolomb-Rice符号化のように、複数個の整数値に同じビット数の符号を割り当てることはあるものの、複数個の整数値のうちの値が大いほうにビット数が少ない符号を割り当てることがない、可変長で可逆の符号化であってもよい。言い換えると、整数符号化部２１０が行う可変長で可逆の符号化は、整数値とその整数値に対応する符号とが、符号のビット数が整数値に対して単調非減少の関係にある、可変長で可逆の符号化規則に従って、入力された整数値に対応する整数符号を得る処理であるともいえる。
【００３７】
なお、上述した説明の符号’0’は２値のビット値のうちの何れか一方のビット値、上述した説明の符号’1’は２値のビット値のうちの他方のビット値、の例である。すなわち、当然のことながら、上述した説明の符号’0’に代えて符号’1’を用い、符号’1’に代えて符号’0’を用いてもよい。
【００３８】
［［符号化処理の例］］
符号化処理の例として、入力された整数系列が1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 2, 0, 0, 0であり、整数符号化部２１０がRiceパラメータr=1のGolomb-Rice符号化をする場合の符号化処理を説明する。まず、単進符号化部１１０が入力された整数系列を単進符号化して単進符号の符号列’10001000001001010110000’を得る。次に、ビット反転処理部１２０が単進符号の符号列’10001000001001010110000’の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’にそれぞれ置き換えて反転単進符号の符号列’01110111110110101001111’を得る。次に、単進復号部１３０が反転単進符号の符号列’01110111110110101001111’を単進復号して変換整数系列0, 3, 5, 2, 1, 1, 0, 4を得る。次に、整数符号化部２１０が変換整数系列0, 3, 5, 2, 1, 1, 0, 4をRiceパラメータr=1のGolomb-Rice符号化で符号化して整数符号’0010111011000101001100’を得る。
【００３９】
≪復号装置≫
図５及び図６を参照して、本発明の変換装置１００を含む第一実施形態の復号装置３００が実行する復号方法の処理手続きを説明する。第一実施形態の復号装置３００は、図５に示す通り、整数復号部３１０と変換装置１００を含む。変換装置１００は、単進符号化部１１０とビット反転処理部１２０と単進復号部１３０を含む。第一実施形態の復号装置３００が図６に示す各ステップの処理を実行することにより、本発明の変換方法を含む第一実施形態の復号方法が実現される。
【００４０】
第一実施形態の復号装置３００には、第一実施形態の符号化装置２００が出力した整数符号が入力される。第一実施形態の復号装置３００は、入力された整数符号を整数復号して整数値の系列を得て、整数復号して得た整数値の系列に対して変換装置１００によって変換を行って変換後の整数値の系列を得ることで、第一実施形態の符号化装置２００に入力された非負の整数値の系列そのものを復元するものである。以下では、上述した符号化装置２００の説明と同様に、非負の整数値を単に「整数値」と呼んで説明する。
【００４１】
［整数復号部３１０］
整数復号部３１０は、復号装置３００に入力された整数符号を受け取り、例えばGolomb復号のような、符号化装置２００の整数符号化部２１０が行った可変長で可逆の符号化に対応する可変長で可逆の復号を行うことにより整数値の系列を得て、得られた整数値の系列を単進符号化部１１０へ出力する（ステップＳ３１０）。整数復号部３１０が得た整数値の系列は、符号化装置２００の整数符号化部２１０に入力された変換整数系列そのものを復元したものであるので、整数復号部３１０が得た整数値の系列を復号変換整数系列と呼ぶこととする。
【００４２】
整数復号部３１０が行う可変長で可逆の復号は、例えばGolomb復号やGolomb-Rice復号のように、複数個の同じビット数の符号それぞれから異なる整数値を得ることはあってもよいが、複数個の異なるビット数の符号のうちのビット数が多いほうから得る整数値はビット数が少ないほうから得る整数値より必ず大きい、可変長で可逆の復号規則に従って、入力された整数符号に対応する整数値を得る処理である。すなわち、整数復号部３１０が行う可変長で可逆の復号は、例えばGolombパラメータが1であるGolomb復号すなわちRiceパラメータが0であるGolomb-Rice復号のように、ビット数が多い符号（長い符号）ほど大きな整数値を得る可変長で可逆の復号であってもよいし、例えばGolombパラメータが2以上であるGolomb復号やRiceパラメータが1以上であるGolomb-Rice復号のように、複数個の同じビット数の符号から異なる整数値を得ることはあるものの、複数個の異なるビット数の符号のうちのビット数が多いほうから得る整数値はビット数が少ないほうから得る整数値より必ず大きい、可変長で可逆の復号であってもよいが、符号化装置２００の整数符号化部２１０が行った可逆符号化に対応する可逆復号である必要がある。言い換えると、整数復号部３１０が行う可変長で可逆の復号は、符号化装置２００の整数符号化部２１０が行った可逆符号化に対応する可逆復号であって、符号とその符号に対応する整数値とが、符号のビット数が整数値に対して単調非減少の関係にある、可変長で可逆の復号規則に従って、入力された整数符号に対応する整数値を得る処理であるともいえる。
【００４３】
[単進符号化部１１０]
単進符号化部１１０は、整数復号部３１０が出力した復号変換整数系列を受け取り、その復号変換整数系列を単進符号化して復号変換整数系列に対する単進符号の符号列を得て、得られた単進符号の符号列（以下では、復号側単進符号の符号列という）をビット反転処理部１２０へ出力する（ステップＳ１１０）。復号装置３００に含まれる変換装置１００の単進符号化部１１０が行う単進符号化は、符号化装置２００に含まれる変換装置１００の単進符号化部１１０が行う単進符号化と同じである。
【００４４】
[ビット反転処理部１２０]
ビット反転処理部１２０は、単進符号化部１１０が出力した復号側単進符号の符号列を受け取り、その復号側単進符号の符号列の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’にそれぞれ置き換えて置き換え後の符号列（以下では、復号側反転単進符号の符号列という）を得て、得られた復号側反転単進符号の符号列を単進復号部１３０へ出力する（ステップＳ１２０）。
【００４５】
[単進復号部１３０]
単進復号部１３０は、ビット反転処理部１２０が出力した復号側反転単進符号の符号列を受け取り、復号側反転単進符号の符号列を単進復号して整数値の系列（以下では、復号整数系列という）を得て、得られた復号整数系列を出力する（ステップＳ１３０）。
【００４６】
単進復号は、復号装置３００に含まれる変換装置１００の単進復号部１３０が、復号側反転単進符号の符号列をビット値’0’が出現するまで読み込み、その間に出現したビット値’1’の個数を整数値として得ることを、復号側反転単進符号の符号列の始端から終端のまで順次行うことにより行う。なお、復号側反転単進符号の符号列の終端のビット値は’1’であり、その直前のビット値が’0’であるので、復号装置３００に含まれる変換装置１００の単進復号部１３０は、復号側反転単進符号の符号列の終端のビット値’1’は無視し、復号側反転単進符号の符号列の終端のビットの直前のビット値’0’までを単進復号の対象とする。
【００４７】
または、単進復号部１３０が、まず、復号側反転単進符号の符号列の終端のビット値’1’を削除して、次に、ビット値’1’を削除した復号側反転単進符号の符号列について、ビット値’0’が出現するまで読み込み、その間に出現したビット値’1’の個数を整数値として得ることを、復号側反転単進符号の符号列の始端から終端まで順次行うようにしてもよい。
【００４８】
なお、上述した説明の符号’0’は２値のビット値のうちの何れか一方のビット値、上述した説明の符号’1’は２値のビット値のうちの他方のビット値、の例である。すなわち、当然のことながら、符号化装置２００について上述した説明の符号’0’に代えて符号’1’を用い、符号’1’に代えて符号’0’を用いた場合には、復号装置３００でも上述した説明の符号’0’に代えて符号’1’を用い、符号’1’に代えて符号’0’を用いればよい。
【００４９】
［［復号処理の例］］
復号処理の例として、入力された整数符号が’0010111011000101001100’であり、整数復号部３１０がRiceパラメータr=1のGolomb-Rice復号をする場合の復号処理を説明する。まず、整数復号部３１０が整数符号’0010111011000101001100’をRiceパラメータr=1のGolomb-Rice復号で復号して復号変換整数系列0, 3, 5, 2, 1, 1, 0, 4を得る。次に、単進符号化部１１０が、復号変換整数系列0, 3, 5, 2, 1, 1, 0, 4を単進符号化して復号側単進符号の符号列’011101111101101010011110’を得る。次に、ビット反転処理部１２０が復号側単進符号の符号列’011101111101101010011110’の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’にそれぞれ置き換えて復号側反転単進符号の符号列’100010000010010101100001’を得る。次に、単進復号部１３０が復号側反転単進符号の符号列’100010000010010101100001’を単進復号して復号整数系列1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 2, 0, 0, 0を得る。
【００５０】
＜発明の原理の説明＞
ここで本発明の原理を説明する。
本発明の変換装置１００による変換では、特に小さい値に大きく偏っているような指数分布、つまり0.5より十分に小さな正の数θに対してp(x,θ)=(1-θ)θxで表される指数分布に従う整数系列に対しては、Golomb符号で最適に符号化できるような整数系列に変換可能であることが保証される。通常、Golombパラメータｓを用いたGolomb符号は、入力の分布としてθ＝2-1/sの指数分布p(x,θ)を想定したものとなっており、sは１以上であるためθが0.5未満の指数分布に対しては圧縮効率が低下する。しかし、以下の原理から、本発明の変換装置１００による変換を行うことで指数分布p(x,θ)に従う整数系列を指数分布p(x,1-θ)に従う整数系列に変換することができ、元々θが0.5未満であるような偏りの大きい分布は(1-θ)が0.5より大きいため、変換後の整数系列の分布がGolomb符号で効率的に符号化できる偏りの分布となる。
【００５１】
本発明の変換装置１００による変換では、まず入力された整数系列を単進符号化している。この単進符号化によって得られる単進符号は、整数系列の従う分布が指数分布p(x,θ)であれば、ビット値’1’の出現確率がθ、ビット値’0’の出現確率が(1-θ)となる。得られた単進符号のビット値’1’とビット値’0’を反転させることにより、ビット値それぞれの出現確率も反転し、ビット値’1’の出現確率が(1-θ)、ビット値’0’の出現確率がθとなる。この反転された単進符号を復号すると、得られる整数系列は、θが(1-θ)に置き換わった指数分布p(x,1-θ)に従う。従って、本発明の変換装置１００によれば、偏りの大きな整数系列を偏りの小さい整数系列に変換することが可能である。すなわち、入力された整数系列を本発明の変換装置１００で変換して、変換後の整数系列をGolomb符号化などの整数符号化処理で符号化するようにすれば、Golomb符号化などでは効率的に符号化できない偏りの大きな整数系列を、Golomb符号化などで効率的に符号化できる範囲内の偏りの整数系列に変換してから符号化することができる。
【００５２】
また、実装の際には、第一実施形態で説明した通りに符号列の終端についての例外的な処理を含む単進復号をする必要はあるものの、原理的には、入力された整数系列を本発明の変換装置１００で変換して得た変換後の整数系列を、更に本発明の変換装置１００で変換して得た２回の変換後の整数系列は、入力された整数系列となる。従って、本発明の変換装置１００によれば、偏りの大きな整数系列を本発明の変換装置１００によって変換して得た偏りの小さい整数系列を、元の偏りの大きな整数系列に戻すことができる。すなわち、符号化側で行った整数符号化処理に対応する整数復号処理で入力された整数符号を復号して整数系列を得て、整数復号処理で得た整数系列を本発明の変換装置１００で変換して復号整数系列を得れば、復号整数系列は符号化側で入力された整数系列と同じになる。
【００５３】
以上のことから、本発明の変換装置１００は、整数系列の偏りを可逆に変換することが可能な変換装置であるといえる。
【００５４】
整数符号化部２１０及び整数復号部３１０でGolomb符号を用いる場合、符号化装置２００が備える本発明の変換装置１００による変換後の整数系列をGolomb符号化する際に適切なGolombパラメータs’は、本発明の変換装置１００による変換前の元の整数系列の分布から得られるθ＝2-1/sを用いて、1-2-1/s=2-1/s’の関係からs’=-1/log2(1-2-1/s)、あるいはその近似であるs’=1/sによって求められる。
なお、指数分布に従う整数系列の場合は、上述したように理論的に変換による圧縮効率の上昇を保証できるが、指数分布に従わないような整数系列であっても、整数値が大きいほど出現確率が低く整数値が小さいほど出現確率が高い分布であり、かつ、出現確率の偏りが大きい分布であれば上述したような作用が近似的に発生し、整数値が大きいほど出現確率が低く整数値が小さいほど出現確率が高い分布であり、かつ、出現確率の偏りが小さい分布の整数系列に変換することができる。そのため、整数符号化部２１０は、Golomb符号に限らず、整数値が大きいほどビット数が多い符号（長い符号）を割り当てるハフマン符号など、整数値に対してその出現確率が単調非増加の関係にあり、且つ一様でない他の形状分布を想定した可逆符号を用いてもよい。
また、符号化装置２００に入力される数値系列の分布が上記のような単調非増加な関係を持たない場合においても、入力される数値系列の分布が予めわかっているのであれば、入力される数値が取り得る各数値に対してその出現確率が最も高いものから順に0，1，2，…と番号を対応付けて予め記憶した図示しない数値変換部２２０を符号化装置２００内の変換装置１００の前に備えるようにして、符号化装置２００に入力された数値系列を数値変換部２２０で上述した番号による系列に変換して、変換後の番号の系列を入力整数系列として上述した符号化装置２００で符号化を行うことで、本発明の変換装置１００によって数値系列の分布の偏りを近似的に変換してから符号化することができる。復号装置３００には、上述した数値変換部２２０と同一の、数値と番号との対応付けを予め記憶した図示しない数値逆変換部３２０を復号装置３００の変換装置１００の後に備えるようにして、復号装置３００内の変換装置１００で得た復号整数系列を上述した番号による系列であるとして数値逆変換部３２０で数値の系列に変換すれば、符号化装置２００に入力された数値系列と同じ数値の系列を得ることができる。
【００５５】
＜第一実施形態の変形例＞
第一実施形態では、単進符号化とビット反転処理と単進復号とを組み合わせた変換処理を行ったが、ビット反転処理を用いない変換処理をすることも可能である。ビット反転処理を用いない形態を第一実施形態の変形例として説明する。
【００５６】
≪符号化装置≫
第一実施形態の変形例の符号化装置２００は、図２に示した通り、第一実施形態の符号化装置２００と同様に、変換装置１００と整数符号化部２１０を含む。第一実施形態の変形例の符号化装置２００の整数符号化部２１０の動作は、第一実施形態の符号化装置２００の整数符号化部２１０の動作と同じである。第一実施形態の変形例の符号化装置２００に含まれる変換装置１００は、図２に破線で示したビット反転処理部１２０は含まず、単進符号化部１１０と単進復号部１３０を含む。第一実施形態の変形例の符号化装置２００に含まれる変換装置１００は、第一実施形態の符号化装置２００に含まれる変換装置１００とは、単進符号化部１１０の動作は同じであり、単進復号部１３０の動作が異なる。以下では、第一実施形態の変形例の符号化装置２００が第一実施形態の符号化装置２００と異なる点について説明する。
【００５７】
[単進復号部１３０]
第一実施形態の変形例の符号化装置２００に含まれる変換装置１００の単進復号部１３０は、単進符号化部１１０が出力した単進符号の符号列を受け取り、第一実施形態の変形例の符号化装置２００に含まれる変換装置１００の単進符号化部１１０の単進符号とはビット値’0’とビット値’1’が逆の規則である単進復号で単進符号の符号列を復号して変換整数系列を得て、得られた変換整数系列を整数符号化部２１０へ出力する（ステップＳ１３０）。
【００５８】
第一実施形態の変形例の符号化装置２００に含まれる変換装置１００の単進符号化部１１０の規則は図４の規則であるので、第一実施形態の変形例の符号化装置２００に含まれる変換装置１００の単進符号化部１１０の単進符号とはビット値’0’とビット値’1’が逆の規則とは、図４の各単進符号の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’に、それぞれ置き換えた規則であり、図７の規則である。
【００５９】
つまり、単進復号部１３０は、単進符号の符号列をビット値’1’が出現するまで読み込み、その間に出現したビット値’0’の個数を整数値として得ることを、単進符号の符号列の始端から終端まで順次行うことにより行う。なお、単進復号部１３０は、単進符号の符号列の終端まで読み込んだ場合に限り、例外的に、直前に整数値を得てから終端のビットまで読み込んだ間に出現したビット値’0’の個数を整数値として得る。
【００６０】
または、単進復号部１３０が、まず、単進符号の符号列の終端にビット値’1’を追加して、次に、ビット値’1’を追加した単進符号の符号列について、ビット値’1’が出現するまで読み込み、その間に出現したビット値’0’の個数を整数値として得ることを、ビット値’1’を追加した単進符号の符号列の始端から終端まで順次行うようにしてもよい。
【００６１】
≪復号装置≫
第一実施形態の変形例の復号装置３００は、図５に示した通り、第一実施形態の復号装置３００と同様に、整数復号部３１０と変換装置１００を含む。第一実施形態の変形例の復号装置３００の整数復号部３１０の動作は、第一実施形態の復号装置３００の整数復号部３１０の動作と同じである。第一実施形態の変形例の復号装置３００に含まれる変換装置１００は、図５に破線で示したビット反転処理部１２０は含まず、単進符号化部１１０と単進復号部１３０を含む。第一実施形態の変形例の復号装置３００に含まれる変換装置１００は、第一実施形態の復号装置３００に含まれる変換装置１００とは、単進符号化部１１０の動作は同じであり、単進復号部１３０の動作が異なる。以下では、第一実施形態の変形例の復号装置３００が第一実施形態の復号装置３００と異なる点について説明する。
【００６２】
[単進復号部１３０]
第一実施形態の変形例の復号装置３００に含まれる変換装置１００の単進復号部１３０は、単進符号化部１１０が出力した復号側単進符号の符号列を受け取り、第一実施形態の変形例の復号装置３００に含まれる変換装置１００の単進符号化部１１０の単進符号とはビット値’0’とビット値’1’が逆の規則である単進復号で復号側単進符号の符号列を復号して復号整数系列を得て、得られた復号整数系列を出力する（ステップＳ１３０）。
【００６３】
第一実施形態の変形例の復号装置３００に含まれる変換装置１００の単進符号化部１１０の規則は図４の規則であるので、第一実施形態の変形例の復号装置３００に含まれる変換装置１００の単進符号化部１１０の単進符号とはビット値’0’とビット値’1’が逆の規則とは、図４の各単進符号の各ビットを、ビット値’0’をビット値’1’に、ビット値’1’をビット値’0’に、それぞれ置き換えた規則であり、図７の規則である。
【００６４】
つまり、単進復号部１３０は、復号側単進符号の符号列をビット値’1’が出現するまで読み込み、その間に出現したビット値’0’の個数を整数値として得ることを、復号側単進符号の符号列の始端から終端まで順次行うことにより行う。なお、単進復号部１３０は、復号側単進符号の符号列の終端のビット値’0’は無視し、復号側単進符号の符号列の終端のビットの直前のビット値’1’までを単進復号の対象とする。
【００６５】
または、単進復号部１３０が、まず、復号側単進符号の符号列の終端のビット値’0’を削除して、次に、ビット値’0’を削除した復号側単進符号の符号列について、ビット値’1’が出現するまで読み込み、その間に出現したビット値’0’の個数を整数値として得ることを、復号側単進符号の符号列の始端から終端まで順次行うようにしてもよい。
【００６６】
＜第二実施形態＞
整数符号化部においてGolomb符号を用いる場合、使用するGolombパラメータは入力の整数値の系列の分布に応じて適応的に用いてもよい。従って、入力された整数値による系列の部分系列を本発明の変換装置１００による変換をして得た変換後の整数系列に対する最適なGolombパラメータを従来の最適なGolombパラメータの推定法を基に求め、求めたGolombパラメータｓを用いて変換後の整数系列を符号化してもよく、この符号化に対応する復号を行ってもよい。この形態を第二実施形態として説明する。
【００６７】
≪符号化装置≫
図８及び図９を参照して、本発明の変換装置１００を含む第二実施形態の符号化装置４００が実行する符号化方法の処理手続きを説明する。第二実施形態の符号化装置４００は、図８に示す通り、パラメータ決定部４２０と変換装置１００と整数符号化部４１０を含む。第二実施形態の符号化装置４００が図９に示す各ステップの処理を実行することにより、本発明の変換方法を含む第二実施形態の符号化方法が実現される。
【００６８】
第二実施形態の符号化装置４００には、第一実施形態と同様に、非負の整数値の系列が入力される。第二実施形態の符号化装置４００に入力された非負の整数値の系列はNサンプルずつパラメータ決定部４２０と変換装置１００に入力される。すなわち、第二実施形態の符号化装置４００は、例えばマイクロホンで収音した音声や音楽などをディジタル信号に変換して量子化して得た整数値の絶対値による系列などの整数値の系列を、Nサンプルによるフレームごとに符号化する。
【００６９】
以下では、本実施形態の符号化装置４００に入力された非負の整数値を単に「整数値」と呼んで説明する。
【００７０】
［パラメータ決定部４２０］
パラメータ決定部４２０には、符号化装置４００に入力された整数値の系列のうちの、Nサンプルずつの整数系列（以下では「入力整数系列」という）が入力される。パラメータ決定部４２０は、入力された入力整数系列に基づき、整数符号化用のGolombパラメータｓ'とそのパラメータを表す符号であるパラメータ符号と、を得て出力する（ステップＳ４２０）。パラメータ符号は、復号装置５００が当該パラメータ符号を復号することによりパラメータ決定部４２０が決定した整数符号化用のGolombパラメータｓ'と同じ値である整数復号用のGolombパラメータｓ'を得られるように、Golombパラメータを符号化して得ればよい。
【００７１】
パラメータ決定部４２０は、例えば、入力整数系列に含まれる各整数値を用いて式(3)によりGolombパラメータｓを得る。
【００７２】
【数３】
2020102763.tif 000005
【００７３】
式(3)で求まるGolombパラメータsは、入力整数系列について式(2)により推定される、変換を用いないGolomb符号化時の総ビット長の推定値を最小化するものである。
【００７４】
そして、パラメータ決定部４２０は、例えば、式(3)により得たGolombパラメータsの逆数をスカラ量子化して符号を得て、得た符号をパラメータ符号として出力し、当該パラメータ符号に対応するGolombパラメータsの逆数の量子化値を整数符号化用のGolombパラメータs'として出力する。
【００７５】
［変換装置１００］
変換装置１００は、第一実施形態の符号化装置２００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０とビット反転処理部１２０と単進復号部１３０からなるか、または、第一実施形態の変形例の符号化装置２００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０と単進復号部１３０からなる。変換装置１００には、符号化装置４００に入力された整数値の系列のうちの、Nサンプルずつの整数系列である入力整数系列が入力される。変換装置１００は、入力された入力整数系列について、第一実施形態の符号化装置２００に含まれる変換装置１００または第一実施形態の変形例の符号化装置２００に含まれる変換装置１００と同じ処理を行うことにより、変換整数系列を得て、得られた変換整数系列を整数符号化部４１０へ出力する。
【００７６】
［整数符号化部４１０］
整数符号化部４１０には、パラメータ決定部４２０が出力した整数符号化用のGolombパラメータs'と、変換装置１００が出力した変換整数系列と、が入力される。整数符号化部４１０は、整数符号化用のGolombパラメータs'の小数第一位を四捨五入するなどにより整数符号化用のGolombパラメータｓ'を丸めて整数値^ｓ'にした後に、入力された変換整数系列に対して整数値のGolombパラメータ^ｓ'によるGolomb符号化を行って、Golomb符号化により得た符号を整数符号として出力する（ステップＳ４１０）。なお、整数符号化用のGolombパラメータｓ'が１未満の場合には、整数符号化用のGolombパラメータｓ'を整数値^ｓ'＝１に丸める。
【００７７】
≪復号装置≫
図１０及び図１１を参照して、本発明の変換装置１００を含む第二実施形態の復号装置５００が実行する復号方法の処理手続きを説明する。第二実施形態の復号装置５００は、図１０に示す通り、パラメータ復号部５２０と整数復号部５１０と変換装置１００を含む。第二実施形態の復号装置５００が図１１に示す各ステップの処理を実行することにより、本発明の変換方法を含む第二実施形態の復号方法が実現される。
【００７８】
第二実施形態の復号装置５００には、第二実施形態の符号化装置４００が出力した整数符号及びパラメータ符号が入力される。復号装置５００に入力された整数符号及びパラメータ符号は、整数値の系列のNサンプルに対応する符号ごとに、パラメータ符号はパラメータ復号部５２０に入力され、整数符号は整数復号部５１０に入力される。すなわち、復号装置５００は、符号化装置４００と同じフレームごとに復号処理を行う。
【００７９】
［パラメータ復号部５２０］
パラメータ復号部５２０には、復号装置５００に入力されたパラメータ符号が入力される。パラメータ復号部５２０は、第二実施形態の符号化装置４００のパラメータ決定部４２０がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号して整数復号用のGolombパラメータs'を得て出力する（ステップＳ５２０）。パラメータ復号部５２０は、例えば、第二実施形態の符号化装置４００のパラメータ決定部４２０が行ったスカラ量子化に対応する復号処理により、パラメータ符号に対応する整数復号用のGolombパラメータs'として得て整数復号部５１０へ出力する。
【００８０】
［整数復号部５１０］
整数復号部５１０には、復号装置５００に入力された整数符号と、パラメータ復号部５２０が出力した整数復号用のGolombパラメータs'が入力される。整数復号部５１０は、整数復号用のGolombパラメータｓ'を第二実施形態の符号化装置４００の整数符号化部４１０が行ったのと同じ方法により丸めて整数値^ｓ'にした後に、整数符号に対して整数値のGolombパラメータ^ｓ'によるGolomb復号を行って復号変換整数系列を得て、変換装置１００へ出力する（ステップＳ５１０）。
【００８１】
［変換装置１００］
変換装置１００は、第一実施形態の復号装置３００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０とビット反転処理部１２０と単進復号部１３０からなるか、第一実施形態の変形例の復号装置３００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０と単進復号部１３０からなる。変換装置１００には、整数復号部５１０が出力した復号変換整数系列が入力される。変換装置１００は、入力された復号変換整数系列について、第一実施形態の復号装置３００に含まれる変換装置１００または第一実施形態の変形例の復号装置３００に含まれる変換装置１００と同じ処理を行うことにより、復号整数系列を得て、得られた復号整数系列を出力する。
【００８２】
＜第二実施形態の変形例＞
第二実施形態では、Golombパラメータsの逆数に相当する整数符号化用のGolombパラメータｓ'を表す符号であるパラメータ符号を得たが、Golombパラメータsを表す符号であるパラメータ符号を得るようにしてもよい。この形態を第二実施形態の変形例として説明する。
【００８３】
≪符号化装置≫
第二実施形態の変形例の符号化装置４００は、図８に示した通り、第二実施形態の符号化装置４００と同様に、パラメータ決定部４２０と変換装置１００と整数符号化部４１０を含む。第二実施形態の変形例の符号化装置４００は、第二実施形態の符号化装置４００とは、パラメータ決定部４２０と整数符号化部４１０の動作が異なる。以下では、第二実施形態の変形例の符号化装置４００が第二実施形態の符号化装置４００と異なる点について説明する。
【００８４】
［パラメータ決定部４２０］
パラメータ決定部４２０には、符号化装置４００に入力された整数値の系列のうちの、Nサンプルずつの整数系列（以下では「入力整数系列」という）が入力される。パラメータ決定部４２０は、入力された入力整数系列に基づき、その整数系列に対応するGolombパラメータｓと、そのGolombパラメータsを表す符号であるパラメータ符号と、を得て出力する（ステップＳ４２０）。パラメータ符号は、復号装置５００が当該パラメータ符号を復号することによりパラメータ決定部４２０が決定したGolombパラメータｓを得られるように、Golombパラメータｓを符号化して得ればよい。
【００８５】
パラメータ決定部４２０は、例えば、入力整数系列に含まれる各整数値を用いて式(3)によりGolombパラメータｓを得て、得たGolombパラメータsをスカラ量子化して符号を得て、得た符号をパラメータ符号として出力し、当該パラメータ符号に対応するGolombパラメータsの量子化値をGolombパラメータsとして出力する。
【００８６】
［整数符号化部４１０］
整数符号化部４１０には、パラメータ決定部４２０が出力したGolombパラメータsと、変換装置１００が出力した変換整数系列と、が入力される。整数符号化部４１０は、Golombパラメータsの逆数を小数第一位を四捨五入するなどにより丸めて整数値^ｓ'にした後に、入力された変換整数系列に対して整数値^ｓ'をGolombパラメータとして用いてGolomb符号化を行って、Golomb符号化により得た符号を整数符号として出力する（ステップＳ４１０）。なお、Golombパラメータsの逆数が１未満の場合には、Golombパラメータｓの逆数を整数値^ｓ'＝１に丸める。
【００８７】
≪復号装置≫
第二実施形態の変形例の復号装置５００は、図１０に示した通り、第二実施形態の復号装置５００と同様に、パラメータ復号部５２０と整数復号部５１０と変換装置１００を含む。第二実施形態の変形例の復号装置５００は、第二実施形態の復号装置５００とは、パラメータ復号部５２０と整数復号部５１０の動作が異なる。以下では、第二実施形態の変形例の復号装置５００が第二実施形態の復号装置５００と異なる点について説明する。
【００８８】
［パラメータ復号部５２０］
パラメータ復号部５２０には、第二実施形態の変形例の復号装置５００に入力されたパラメータ符号が入力される。パラメータ復号部５２０は、第二実施形態の変形例の符号化装置４００のパラメータ決定部４２０がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号してGolombパラメータsを得て、得られたGolombパラメータsを出力する（ステップＳ５２０）。パラメータ復号部５２０は、例えば、第二実施形態の変形例の符号化装置４００のパラメータ決定部４２０が行ったスカラ量子化に対応する復号処理により、パラメータ符号に対応するGolombパラメータsの量子化値をGolombパラメータsとして得る。
【００８９】
［整数復号部５１０］
整数復号部５１０には、復号装置５００に入力された整数符号と、パラメータ復号部５２０が出力したGolombパラメータsが入力される。整数復号部５１０は、Golombパラメータｓの逆数を第二実施形態の変形例の符号化装置４００の整数符号化部４１０が行ったのと同じ方法により丸めて整数値^ｓ'にした後に、整数符号に対して整数値^ｓ'をGolombパラメータ^ｓ'として用いてGolomb復号を行って復号を得て、変換装置１００へ出力する（ステップＳ５１０）。
【００９０】
＜第三実施形態＞
上述の通り、本発明の変換装置１００による変換をしてから整数符号化することにより効率的に符号化できるのは、整数符号化部がGolomb符号化するのであれば、Golombパラメータとして0より大きく1より小さいものを用いるべき分布に従う整数値による系列が入力された場合である。従って、従来の最適なGolombパラメータの推定法を基に最適なGolombパラメータｓを入力された整数値による系列の部分系列に対して求め、求めたGolombパラメータｓを用いて本発明の変換装置１００を用いるか否かを判定して、入力された整数値の系列を変換してから符号化する処理と入力された整数値の系列を変換せずにそのまま符号化する処理とを部分系列ごとに適応的に行えるようにしてもよく、この符号化に対応する復号を行ってもよい。この形態を第三実施形態として説明する。
【００９１】
≪符号化装置≫
図１２及び図１３を参照して、本発明の変換装置１００を含む第三実施形態の符号化装置６００が実行する符号化方法の処理手続きを説明する。第三実施形態の符号化装置６００は、図１２に示す通り、パラメータ決定部６２０、判定部６３０、変換装置１００、及び整数符号化部６１０を含む。第三実施形態の符号化装置６００が図１３に示す各ステップの処理を実行することにより、本発明の変換方法を含む第三実施形態の符号化方法が実現される。
【００９２】
第三実施形態の符号化装置６００には、第一実施形態と同様に、非負の整数値の系列が入力される。第三実施形態の符号化装置６００に入力された非負の整数値の系列はNサンプルずつパラメータ決定部６２０と判定部６３０に入力される。すなわち、第三実施形態の符号化装置６００は、例えばマイクロホンで収音した音声や音楽などをディジタル信号に変換して量子化して得た整数値の絶対値による系列などの整数値の系列を、Nサンプルによるフレームごとに符号化する。
【００９３】
以下では、本実施形態の符号化装置６００に入力された非負の整数値を単に「整数値」と呼んで説明する。
【００９４】
［パラメータ決定部６２０］
パラメータ決定部６２０には、符号化装置６００に入力された整数値の系列のうちの、Nサンプルずつの整数系列（以下では「入力整数系列」という）が入力される。パラメータ決定部６２０は、入力された入力整数系列に基づき、その整数系列に対応するGolombパラメータｓと、そのGolombパラメータsを表す符号であるパラメータ符号と、整数符号化用のGolombパラメータｓ'と、を得て出力する（ステップＳ６２０）。パラメータ符号は、復号装置７００が当該パラメータ符号を復号することによりパラメータ決定部６２０が決定したGolombパラメータｓ得られるように、Golombパラメータｓを符号化して得ればよい。
【００９５】
パラメータ決定部６２０は、例えば、入力整数系列に含まれる各整数値を用いて式(3)によりGolombパラメータｓを得て、得たGolombパラメータsをスカラ量子化して符号を得て、得た符号をパラメータ符号として出力し、当該パラメータ符号に対応するGolombパラメータsの量子化値をGolombパラメータsとして出力する。
また、パラメータ決定部６２０は、Golombパラメータｓの値が１以上である場合は、Golombパラメータｓをそのまま整数符号化用のGolombパラメータs'として整数符号化部６１０へ出力し、Golombパラメータｓの値が１未満である場合は、Golombパラメータｓの逆数を整数符号化用のGolombパラメータｓ'として整数符号化部６１０へ出力する。
【００９６】
［判定部６３０］
判定部６３０には、符号化装置６００に入力された整数値の系列のうちの、Nサンプルずつの整数系列である入力整数系列と、パラメータ決定部６２０が出力したGolombパラメータsが入力される。判定部６３０は、入力されたGolombパラメータsの値が１以上である場合には入力整数系列を整数符号化部６１０へ出力し、入力されたGolombパラメータsの値が１未満である場合には入力整数系列を変換装置１００へ出力する（ステップＳ６３０）。
【００９７】
［変換装置１００］
変換装置１００は、第一実施形態の符号化装置２００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０とビット反転処理部１２０と単進復号部１３０からなるか、または、第一実施形態の変形例の符号化装置２００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０と単進復号部１３０からなる。変換装置１００には、判定部６３０が出力した入力整数系列が入力される。変換装置１００は、判定部６３０から入力整数系列が入力された場合には、入力された入力整数系列について、第一実施形態の符号化装置２００に含まれる変換装置１００または第一実施形態の変形例の符号化装置２００に含まれる変換装置１００と同じ処理を行うことにより、変換整数系列を得て、得られた変換整数系列を整数符号化部６１０へ出力する。変換装置１００は、判定部６３０から何も入力されない場合には、何も行わず、何も出力しない。
【００９８】
［整数符号化部６１０］
整数符号化部６１０には、パラメータ決定部６２０が出力した整数符号化用のGolombパラメータs'と、判定部６３０が出力した入力整数系列と変換装置１００が出力した変換整数系列のうちいずれかと、が入力される。整数符号化部６１０は、整数符号化用のGolombパラメータs'の小数第一位を四捨五入するなどにより整数符号化用のGolombパラメータｓ'を丸めて整数値^ｓ'にした後に、判定部６３０が出力した入力整数系列と変換装置１００が出力した変換整数系列のうちのいずれかの整数系列に対して整数値のGolombパラメータ^ｓ'によるGolomb符号化を行って、Golomb符号化により得た符号を整数符号として出力する（ステップＳ６１０）。
【００９９】
第三実施形態の符号化装置６００は、以上の動作をすることにより、パラメータ決定部６２０が得たGolombパラメータsが１未満である場合には、変換装置１００が入力整数系列から変換整数系列を得て、整数符号化部６１０がGolombパラメータsの逆数をGolombパラメータとして用いて変換整数系列をGolomb符号化して整数符号を得て、パラメータ決定部６２０が得たGolombパラメータsが１以上である場合には、整数符号化部６１０がパラメータ決定部６２０が得たGolombパラメータsをGolombパラメータとして用いて入力整数系列をGolomb符号化して整数符号を得る。
【０１００】
≪復号装置≫
図１４及び図１５を参照して、本発明の変換装置１００を含む第三実施形態の復号装置７００が実行する復号方法の処理手続きを説明する。第三実施形態の復号装置７００は、図１４に示す通り、パラメータ復号部７２０、判定部７３０、整数復号部７１０、及び変換装置１００を含む。第三実施形態の復号装置７００が図１５に示す各ステップの処理を実行することにより、本発明の変換方法を含む第三実施形態の復号方法が実現される。
【０１０１】
第三実施形態の復号装置７００には、第三実施形態の符号化装置６００が出力した整数符号及びパラメータ符号が入力される。復号装置７００に入力された整数符号及びパラメータ符号は、整数値の系列のNサンプルに対応する符号ごとに、パラメータ符号はパラメータ復号部７２０に入力され、整数符号は整数復号部７１０に入力される。すなわち、復号装置７００は、符号化装置６００と同じフレームごとに復号処理を行う。
【０１０２】
［パラメータ復号部７２０］
パラメータ復号部７２０には、復号装置７００に入力されたパラメータ符号が入力される。パラメータ復号部７２０は、第三実施形態の符号化装置６００のパラメータ決定部６２０がパラメータ符号を得たのと対応する復号処理により、パラメータ符号を復号してGolombパラメータsを得て、得られたGolombパラメータsを判定部７３０へ出力する。パラメータ復号部７２０は、例えば、第三実施形態の符号化装置６００のパラメータ決定部６２０が行ったスカラ量子化に対応する復号処理により、パラメータ符号に対応するGolombパラメータsの量子化値をGolombパラメータsとして得る。
【０１０３】
また、パラメータ復号部７２０は、Golombパラメータsの値が１以上である場合には、Golombパラメータsをそのまま整数復号用のGolombパラメータs'として整数復号部７１０へ出力し、Golombパラメータsの値が１未満である場合には、Golombパラメータsの逆数を整数復号用のGolombパラメータs'として整数復号部７１０へ出力する。（以上、ステップＳ７２０）
【０１０４】
［整数復号部７１０］
整数復号部７１０には、復号装置７００に入力された整数符号と、パラメータ復号部７２０が出力した整数復号用のGolombパラメータs'が入力される。整数復号部７１０は、整数復号用のGolombパラメータｓ'を第三実施形態の符号化装置６００の整数符号化部６１０が行ったのと同じ方法により丸めて整数値^ｓ'にした後に、整数符号に対して整数値^ｓ'をGolombパラメータとして用いてGolomb復号を行って整数系列（以下では、暫定復号整数系列という）を得て、判定部７３０へ出力する（ステップＳ７１０）。
【０１０５】
［判定部７３０］
判定部７３０には、パラメータ復号部７２０が出力したGolombパラメータs、及び整数復号部７１０が出力した暫定復号整数系列が入力される。判定部７３０は、Golombパラメータsの値が１以上である場合には、入力された暫定復号整数系列をそのまま復号整数系列として出力し、Golombパラメータsの値が１未満である場合には、入力された暫定復号整数系列を変換装置１００へ出力する（ステップＳ７３０）。
【０１０６】
［変換装置１００］
変換装置１００は、第一実施形態の復号装置３００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０とビット反転処理部１２０と単進復号部１３０からなるか、または、第一実施形態の変形例の復号装置３００に含まれる変換装置１００と同じ構成であり、単進符号化部１１０と単進復号部１３０からなる。変換装置１００には、判定部７３０が出力した暫定復号整数系列が入力される。変換装置１００は、判定部７３０から暫定復号整数系列が入力された場合には、入力された暫定復号整数系列について、第一実施形態の復号装置３００に含まれる変換装置１００または第一実施形態の変形例の復号装置３００に含まれる変換装置１００と同じ処理を行うことにより、復号整数系列を得て、得られた復号整数系列を出力する。変換装置１００は、判定部７３０から暫定復号整数系列が入力されない場合には、何も行わず、何も出力しない。
【０１０７】
第三実施形態の復号装置７００は、以上の動作をすることにより、パラメータ復号部７２０が得たGolombパラメータsが１未満である場合には、整数復号部７１０が、パラメータ復号部７２０が得たGolombパラメータsの逆数をGolombパラメータとして用いて、入力された整数符号をGolomb復号して非負整数値の系列である暫定復号整数値系列を得て、変換装置１００が、暫定復号整数値系列から非負整数値の系列である復号整数系列を得て出力し、パラメータ復号部７２０が得たGolombパラメータsが１以上である場合には、整数復号部７１０が、パラメータ復号部７２０が得たGolombパラメータsをGolombパラメータとして用いて、入力された整数符号をGolomb復号して非負整数値の系列を得て復号整数系列として出力する。
【０１０８】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【０１０９】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【０１１０】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【０１１１】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【０１１２】
例えば、上述の実施形態では、符号化装置に入力される非負の整数値の系列が、音や画像や映像信号をディジタル信号に変換して得た信号を量子化して有限精度の値にして得た整数値の絶対値による系列である例を説明したが、符号化装置に入力される非負の整数値の系列は、上記以外の信号、例えば心電図や心磁図、脳波、表面筋電図、皮膚電位などの生体信号に基づく時系列信号を量子化して有限精度の値にして得た整数値の絶対値による系列であってもよい。
【０１１３】
または、符号化装置に入力される非負の整数値の系列は、時系列信号ではない例えばコンピュータ断層撮影や、核磁気共鳴画像法、超音波断層画像、血管造影などから得られる医療用画像に基づくの信号を量子化して有限精度の値にして得た整数値の絶対値による系列であってもよい。さらには、符号化装置に入力される非負の整数値の系列は、例えば遺伝子情報系列の各遺伝子に関する測定誤差を表すクオリティースコアのような信号ではない数値の系列を量子化して有限精度の値にして得た整数値の絶対値による系列であってもよい。
【０１１４】
また、符号化装置に入力される非負の整数値の系列は、例えば音や画像や映像信号をディジタル信号に変換して得た信号をコサイン変換等で周波数スペクトルに変換した後に量子化して有限精度の値にして得た整数値の絶対値による系列であってもよいし、例えば上述の信号や信号ではない数値の系列にハイパスフィルタやローパスフィルタなどのフィルタ処理を行った系列を量子化して有限精度の値にして得た整数値の絶対値による系列であってもよい。
【０１１５】
本発明の符号化装置には、これらの入力に対応するために、符号化装置に入力された信号や数値の系列を非負の整数値の系列に変換する処理部として、図２や図８や図１２の符号化装置の前段に図示しない変換部を備えるようにしてもよい。同様に、本発明の復号装置には、上述した入力に対応する出力を得るために、図５や図１０や図１４の復号装置が得た非負の整数値の系列を信号や数値の系列に変換する処理部として、図５や図１０や図１４の復号装置の後段に図示しない逆変換部を備えるようにしてもよい。
【０１１６】
また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【０１１７】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【０１１８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１１９】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１２０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１２１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【０１２２】
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。
【図１】
2020102763.tif 000006
【図２】
2020102763.tif 000007
【図３】
2020102763.tif 000008
【図４】
2020102763.tif 000009
【図５】
2020102763.tif 000010
【図６】
2020102763.tif 000011
【図７】
2020102763.tif 000012
【図８】
2020102763.tif 000013
【図９】
2020102763.tif 000014
【図１０】
2020102763.tif 000015
【図１１】
2020102763.tif 000016
【図１２】
2020102763.tif 000017
【図１３】
2020102763.tif 000018
【図１４】
2020102763.tif 000019
【図１５】
2020102763.tif 000020