(57)【特許請求の範囲】
【請求項１】
それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、
前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、同一データの連続の有無を判別し、同一データの連続がない場合は可変長符号化を行い、同一データの連続がある場合はその同一連続データに代えて予め設定してある連続データ用コードブック識別番号を、符号量に余裕を生じさせその余裕分をより下位のグループに費やすための番号として、割り当てる動作を、前記可変長符号化が所定回数に達するまで、前記上位グループから下位グループに向けて繰り返し行ってビットストリームを生成する可変長符号化部を備えた、
ことを特徴とするＰＣＭ信号符号化装置。
【請求項２】
それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、
前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、可変長符号化を行って同一コードの連続の有無を判別し、同一コードの連続がない場合には可変長符号化が所定回数に達したか否かを判別し、同一コードの連続がある場合にはその同一連続コードに代えて予め設定してある連続コード用コード番号を、符号量に余裕を生じさせその余裕分をより下位のグループに費やすための番号として、割り当てる動作を、前記同一コードの連続のない場合の可変長符号化が前記所定回数に達するまで、前記上位グループから下位グループに向けて繰り返し行ってビットストリームを生成する可変長符号化部を備えた、
ことを特徴とするＰＣＭ信号符号化装置。
【請求項３】
それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、
前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、同一データの連続の有無を判別し、同一データの連続がない場合は可変長符号化を行い、同一データの連続がある場合はその同一連続データに代えて予め設定してある連続データ用コードブック識別番号を、符号化の際の圧縮率を向上させるための番号として、割り当てる動作を、予め最終グループとして設定されているグループまで繰り返し行ってビットストリームを生成する可変長符号化部を備えた、
ことを特徴とするＰＣＭ信号符号化装置。
【請求項４】
それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、
前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、可変長符号化を行って、同一コードの連続の有無を判別し、同一コードの連続がある場合にはその同一連続コードに代えて予め設定してある連続コード用コード番号を、符号化の際の圧縮率を向上させるための番号として、割り当てる動作を、予め最終グループとして設定されているグループまで繰り返し行ってビットストリームを生成する可変長符号化部を備えた、
ことを特徴とするＰＣＭ信号符号化装置。
【請求項５】
請求項１又は３記載のＰＣＭ信号符号化装置により符号化されたＰＣＭデータ列を入力して前記連続データ用コードブック識別番号の有無を前記グループ毎に検出し、この番号を検出しないグループからは可変長コードを抽出して可変長復号化を行い、この番号を検出したグループに対してはその番号の代わりに予め設定してあるコードを割り当てるようにし、しかも、グループ毎の可変長復号化を上位グループから下位グループに向けて所定回数に達するまで行う可変長復号化部を備えた、
ことを特徴とするＰＣＭ信号復号化装置。
【請求項６】
請求項２又は４記載のＰＣＭ信号符号化装置により符号化されたＰＣＭデータ列を入力してグループ毎に可変長コードを抽出すると共に前記連続コード用コード番号の有無を検出し、この番号を検出しないグループに対しては可変長復号化を行い、この番号を検出したグループに対してはその番号の代わりに予め設定してあるコードを割り当てるようにし、しかも、グループ毎の可変長復号化を上位グループから下位グループに向けて所定回数に達するまで行う可変長復号化部を備えた、
ことを特徴とするＰＣＭ信号復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＰＣＭ信号符号化装置及び復号化装置に係るものであり、特に、ハフマン符号化及び階層化符号化方式を採用したエントロピー符号化方式に基づく符号化及び復号化の技術に関するものである。
【０００２】
【従来の技術】
ある情報源を可逆的にデータ圧縮する場合、その方式は２つに大別される。一つは、情報源を平均的に短いコードで表現できるよう、確率統計に基づき別のコードへモデル化するエントロピー符号化（可変長符号化）であり、もう一つは情報源の持つサンプル間の相関性を利用した予測差分符号化である。
【０００３】
ここで、予測差分符号化が近接するサンプル間の相関性を必要とするのに対し、エントロピー符号化は出現確率に偏りさえあれば情報源のデータ圧縮が期待できる。エントロピー符号化は情報源がノイズ成分でない限り、例えば差分符号化を施した信号に対しても効果があり、実際に複合的な情報圧縮方式では、最後の工程にエントロピー符号化を用いている例もある。
【０００４】
一般に、ＰＣＭ信号をエントロピー符号化、特に、静的ハフマン符号化のような静的符号化で情報圧縮する場合、サンプルの出現確率から辞書を作成し、その辞書を用いてもう一度コードを生成することによって符号化を行っている。
【０００５】
符号化信号を送信する伝送路、又は記録する媒体に制限がある場合は、元信号の重要な部分を抽出し符号化する手法が採られている。元信号がマルチビットＰＣＭ信号の場合では、ダウンサンプリングして帯域制限する方法や、隣接する信号を合成し分解能を下げる方法や、下位ビットを省略し量子化精度を荒くする方法によってデータ量を削減し伝送又は記録する方法がある。
【０００６】
ダウンサンプリングによって帯域制限する方法は、帯域外の高調波成分をカットする工程がサンプルを間引く前か後かのどちらかに必要となる。この工程には通常ローパスフィルターが用いられ、高調波成分が失われることによってフィルター通過後のサンプル値は元信号と比較し変化を伴う。
【０００７】
隣接する信号を合成する方法は、例えば符号化対象となる信号が周波数領域信号の場合、隣り合う周波数帯を一つにまとめることによって情報量を削減するわけだが、この結果、周波数分解能の低下と共に、合成前の元信号（周波数領域信号）の復元はできなくなる。
【０００８】
それに対し、下位ビットを省略、言い換えれば重要な上位ビット長を指定し符号化する方法は、単純に上位と下位のビットグループに分割し符号化することによってデータ量を削減している。この際、伝送路に余裕が生じたり、伝送過程に時間差を与えたりした場合や、媒体の記録容量が増加又は空きが生じた場合、後に下位ビットを符号化した符号化信号を取得することによって、上位ビットと下位ビットを対応するサンプル同士で結合することで完全に元信号を復元することが可能である。
【０００９】
上記のような方法は階層符号化方式と呼ばれる。１又は複数の最上位ビットを含む上位ビット列で第１階層（グループ）を構成し、第２、第３と階層が深くなるに従い順に下位ビット列を符号化する。この階層符号化方式では第１階層のみで復号が可能であるが、符号化信号が通過又は保存される伝送路や記録媒体の状態が良好な場合には、更に伝送又は記録された下位の階層を復号し結合することにより、精細な信号値を得ることができる。
【００１０】
そして、上記の階層符号化方式では、従来から、それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い上位グループとそれ以外の下位グループとに分けてグループ化することによりデータ列の再構築を行い、この再構築したＰＣＭデータ列の上位グループのみにデータ保護のための補助情報を付加し、その後このＰＣＭデータ列を上位グループから下位グループへ向けて順次符号化し、これを多重化することが行われている（例えば、本出願人により提示された特願平１１−３２５９５１号を参照）。
【００１１】
すなわち、図１１（ａ）は階層符号化方式の符号化装置に入力される当初のＰＣＭデータ列の構成を示す説明図である。この図に示すように、ＰＣＭデータ列は総数がｍのサンプル１〜ｍにより構成されており、各サンプルはｎ個のビットにより構成されている。つまり、各サンプルの量子化ビット数はｎとなっている。このように、ｎビットの各サンプルの連なりにより構成されるＰＣＭデータ列は、図１１（ｂ）に示すように、ｍ個のサンプル１〜ｍにより構成される各ビット列の連なりにより形成されるように並び替えられる。そして、各ビット桁数を最小単位としてグループ化される。例えば、ビットｎ列が第１グループ、ビットｎ−１列が第２グループ、…、ビット２列が第ｎ−１グループ、ビット１列が第ｎグループのように、各ビット桁数毎にグループ化される。あるいはまた、ビットｎ列及びビットｎ−１列が第１グループ、ビットｎ−２列〜ビットｎ−４列が第２グループ、…、のように複数のビット列を１グループとしてグループ化されることもある。
【００１２】
図１２は、上記のようにビット桁数毎にデータの並び替えが行われたＰＣＭデータ列の多重化後の構成図である。この図に示すように、ヘッダーの後に最上位グループ（第１グループ）のｎ列符号化データが配置され、以下、第２グループ以降の各グループのデータが配置されている。そして、第１グループから数えて複数番目のグループまでが上位グループとして設定されており、この上位グループには「ブック番号」及び「符号化データ」の他に「誤り検出・訂正符号」がデータ保護のための補助情報として付加されている。符号化の際にこのようなデータ保護のための補助情報を付加することにより、ビットエラー等の異常が発生した場合にも、少なくとも上位グループのみのデータを用いて元信号の復元がある程度可能となっている。
【００１３】
図１３は、上記のようにビット桁数毎にデータの並び替えが行われ、且つ上位グループにはデータ保護のための補助情報が付加されたデータ列をフレーム毎に区切って形成した場合のＰＣＭデータ列を示す構成図である。このように、ＰＣＭデータ列を１フレーム毎に区切ることにより、並び替え用メモリの容量は１フレームを構成する所定サンプル数により決まる容量で足りることになり、必要なメモリ容量を低減することができるようになっている。
【００１４】
【発明が解決しようとする課題】
上述したように、階層符号化方式ではＰＣＭデータ列の下位グループ側は省略されることが多く、上位グループのみが符号化され、これが復号されることが多くなる。しかし、このような復号に基づく上位グループのみの出力信号は、図１４に示すように量子化雑音（量子化誤差、量子化歪みともいう）を含むものとなっている。この場合、量子化レベルが実信号に対して充分に高いものであれば量子化雑音も小さなものとなり影響も小さなものとなるが、時として無視できない大きさとなることがある。
【００１５】
図１５は出力信号における量子化誤差の現れ方すなわち量子化雑音波形を示したものであり、（ａ）は振幅が大きな場合、（ｂ）は振幅が小さな場合を示している。これらの図から明らかなように、振幅が小さな場合の方が量子化誤差が顕著に現れている。
【００１６】
そして、図１６は出力信号の周波数スペクトルを示したものであり、（ａ）は振幅が大きな場合、（ｂ）は振幅が小さな場合を示している。この図１６（ｂ）に示されているように、量子化歪みが高次高調波成分として現れている。したがって、この高次高調波成分のために、例えば画像装置の場合には大幅な画像劣化となり、またオーディオ機器の場合には大きな雑音となるなど、深刻な影響を及ぼす結果となっていた。このような影響を低減する方策の一つとして、いわゆるディザを付加する方法があるが、この方法は更にノイズフロアを持ち上げてしまい、ＳＮの悪化をもたらすという欠点を有している。
【００１７】
上記のように、従来の階層符号化方式は上位グループのデータについては必ず符号化及び復号化が行われるようにして必要最低限の出力信号が得られるようにしているが、それでも量子化誤差に起因する影響が出力信号に大きく表れてしまい、再生信号の品質を大きく低下させる要因となっている。
【００１８】
したがって、階層符号化方式では上記の量子化誤差を小さくするために、上位グループのみでなく、極力下位グループについても符号化及び復号化が行われることが望ましい。しかし、そのためには伝送路容量やメモリ容量等を充分に大きくしなければならず、コストアップを招く結果となる。
【００１９】
本発明は上記事情に鑑みてなされたものであり、より効率的なデータ圧縮を行うことにより、コストアップを招くことなく量子化誤差を小さくすることができ、もって再生信号の品質を向上させることが可能なＰＣＭ信号符号化装置及び復号化装置を提供することを目的としている。
【００２０】
【課題を解決するための手段】
上記課題を解決するための手段として、請求項１記載の発明は、それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、同一データの連続の有無を判別し、同一データの連続がない場合は可変長符号化を行い、同一データの連続がある場合はその同一連続データに代えて予め設定してある連続データ用コードブック識別番号を、符号量に余裕を生じさせその余裕分をより下位のグループに費やすための番号として、割り当てる動作を、前記可変長符号化が所定回数に達するまで、前記上位グループから下位グループに向けて繰り返し行ってビットストリームを生成する可変長符号化部を備えた、ことを特徴とする。
【００２１】
請求項２記載の発明は、それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、可変長符号化を行って同一コードの連続の有無を判別し、同一コードの連続がない場合には可変長符号化が所定回数に達したか否かを判別し、同一コードの連続がある場合にはその同一連続コードに代えて予め設定してある連続コード用コード番号を、符号量に余裕を生じさせその余裕分をより下位のグループに費やすための番号として、割り当てる動作を、前記同一コードの連続のない場合の可変長符号化が前記所定回数に達するまで、前記上位グループから下位グループに向けて繰り返し行ってビットストリームを生成する可変長符号化部を備えた、ことを特徴とする。
【００２２】
請求項３記載の発明は、それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、同一データの連続の有無を判別し、同一データの連続がない場合は可変長符号化を行い、同一データの連続がある場合はその同一連続データに代えて予め設定してある連続データ用コードブック識別番号を、符号化の際の圧縮率を向上させるための番号として、割り当てる動作を、予め最終グループとして設定されているグループまで繰り返し行ってビットストリームを生成する可変長符号化部を備えた、ことを特徴とする。
【００２３】
請求項４記載の発明は、それぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い順に順次グループ化し、データ列の再構築を行い、前記グループ化した重要度の高い上位グループから下位グループへ向けて順次符号化し、これを多重化するＰＣＭ信号符号化装置において、前記グループ化された重要度の高い上位グループから下位グループへ向けて順次グループ毎に、可変長符号化を行って、同一コードの連続の有無を判別し、同一コードの連続がある場合にはその同一連続コードに代えて予め設定してある連続コード用コード番号を、符号化の際の圧縮率を向上させるための番号として、割り当てる動作を、予め最終グループとして設定されているグループまで繰り返し行ってビットストリームを生成する可変長符号化部を備えた、ことを特徴とする。
【００２４】
請求項５記載の発明は、請求項１又は３記載のＰＣＭ信号符号化装置により符号化されたＰＣＭデータ列を入力して前記連続データ用コードブック識別番号の有無を前記グループ毎に検出し、この番号を検出しないグループからは可変長コードを抽出して可変長復号化を行い、この番号を検出したグループに対してはその番号の代わりに予め設定してあるコードを割り当てるようにし、しかも、グループ毎の可変長復号化を上位グループから下位グループに向けて所定回数に達するまで行う可変長復号化部を備えた、ことを特徴とする。
【００２５】
請求項６記載の発明は、請求項２又は４記載のＰＣＭ信号符号化装置により符号化されたＰＣＭデータ列を入力してグループ毎に可変長コードを抽出すると共に前記連続コード用コード番号の有無を検出し、この番号を検出しないグループに対しては可変長復号化を行い、この番号を検出したグループに対してはその番号の代わりに予め設定してあるコードを割り当てるようにし、しかも、グループ毎の可変長復号化を上位グループから下位グループに向けて所定回数に達するまで行う可変長復号化部を備えた、ことを特徴とする。
【００２６】
【発明の実施の形態】
以下、本発明の実施形態につき説明する。但し、本発明の実施形態を具体的に説明する前に、本発明の実施形態で採用している基本的技術につき先に説明しておく。可変長符号化には、大きく分けて動的な方式と静的な方式とがあるが、本実施形態では理解を容易にするため静的符号化方式を用いることを前提として説明することとする。すなわち、本実施形態では、符号化器及び復号化器において予め作成された共通の辞書を複数個持ち、その中で最適なコードブックを選択し、その情報を伝送することによって符号化及び復号化を行う。このような符号化方法は信号元を前もってモデル化することが必要であるが、辞書を最初から用意することにより、コードブックを伝送するためのオーバーヘッドを省くことができ、また、ブック長が１つの場合より短いため個々のコード長を短くできることから圧縮率を改善することができ、更にコード探索のスピード化を期待することができる。
【００２７】
本実施形態では、最初に、元信号を所定のサンプル数によって区切り、新たなフレーム構造を持つ信号群に形成し直す。符号化処理はこのフレーム内で完結させる。このような方法はフレーム毎に補助情報を必要とするため若干の符号化情報量が増加するものの、可変長符号化方式には避けられないエラー伝播を単位長内で終結させることができると共に、刻々と変化する信号元においても最適なコードブックの選択により効果的な符号化を提供することができる。
【００２８】
以降の符号化処理では、フレーム内でマルチビットである信号をビット単位に分解し、ビット桁数毎に並び替え（グループ化）を行い、次に、この新規に生成されたビット列グループに対し可変長符号化を施す。これを全てのビット列グループに行った後、コードブック選択情報とビット列終端符号あるいはグループ内サンプル数情報や、必要に応じ元信号の量子化ビット長、サンプリング周波数などを付加して多重化することによりビットストリームを生成するようにしている。
【００２９】
次に、階層化符号化方式における高解像度化方法につき説明する。上位ビットと下位ビットで分けられた信号源を対象に階層符号化を施された第一階層の符号化列は、通常、ある決められた量子化精度を持っている。一般的に階層符号化の第一階層に与えられたこの量子化精度は、必要最低限の品質を維持したレベルであり、復号時の信号は図１４に示したような量子化歪みを含んでおり、この量子化誤差は時として高次高調波成分が強調され、非常に大きな問題となることがある。この高次高調波成分を防止するために信号群にランダムな誤差成分（ディザ）を加える方法は有効な一つの手段である。しかし、ディザが付加された場合、その量子化最下位ビットレベルより高いノイズフロアが現れ、ＳＮの悪化に伴い再生信号がノイズ成分によって劣化してしまうことになる。
【００３０】
人間の持つ感覚の特性上、信号の持つ性質を主観的に捉える時は、振幅が大きい信号群ほど粗く、振幅が小さい信号群ほど緻密に感じとっている。例えば、このような特性を利用して信号を作成する方式に、浮動小数点処理を用いた符号化がある。浮動小数点処理は指数部によって信号値の大きさを示し、仮数部によって有効桁が与えられる。信号元が固定小数点方式であるＰＣＭ信号の場合、浮動小数点化するにはサンプル単位又は複数のサンプルを含むブロック単位であっても、その指数値を示す補助的な情報が必要である。その指数値はサンプルの振幅の大きさで決まるため指数値を得るにはその値を検出しなければならない。
【００３１】
本実施形態に係るＰＣＭ信号符号化装置では、ビット列毎にブロック化し、これを可変長符号化することによりデータ圧縮を行っている。このとき、上位ビット列の信号値を判断材料にして、おおよその信号群の大きさを検出することができる。例えば、正の整数である信号群を対象とすると、信号群の振幅が小さければ上位ビット列に「０」符号が連続して出現することになる。この連続する「０」符号を後述する方法で一意的にあるコードに変換することによって、所定の値に従い細分化されるビット列より長いビット長を、短いコードに置き換えられることから圧縮率を著しく改善することができる。また、このコードが選択された頻度からフレーム内信号群の大きさを把握できる。
【００３２】
ここで余裕が生じた符号量を下位ビット列に費やすことで平均的な符号化転送レートを保ちつつ復号化後信号品質を向上させることが可能である。上位ビットの圧縮率が高く、伝送可能な又は記録可能な情報量に余裕があると判断したとき、指定される量子化精度より解像度を高めるため、上記の「０」が連続するビット列とそれより１ビット下位のビット列を同グループに再編し符号化する。すなわち、「０」が連続するビット列が存在すると、グループ内で複数のビット桁数を持つことが許されるので、第１符号化階層が本来持つ量子化精度以上の下位ビット列を付加して符号化することができる
上位ビット列に「０」ビットの出現する割合が高い微弱な信号元ほど、自然に下位ビットが取り込まれ、あたかも浮動小数点処理を行っているような作用が働く。更に、フレーム毎の符号化レートを均一化することができ、伝送路の有効活用や再生装置の安定動作にも寄与し、しかも解像度を増加させることによる負担は殆ど生じることがない。以下、このような基本的技術を用いた各実施形態につき順次説明する。
【００３３】
図１は、本発明の実施形態に係るＰＣＭ信号符号化装置の構成を示すブロック図である。この図に示すように、ＰＣＭ信号符号化装置は、入力ＦＩＦＯ１、フレーム構成部２、ＰＣＭデータ列並び替え制御部３、ビット列並び替え用メモリ４、可変長符号用コードブック６を有する可変長符号化部５、符号化信号用メモリ７、及び多重化部８により構成されている。
【００３４】
入力ＦＩＦＯ１は、入力信号すなわちそれぞれ複数のビットからなる複数のサンプルが連なったＰＣＭデータ列を入力し、これをファーストイン・ファーストアウト方式でフレーム構成部２に出力するものである。フレーム構成部２は、入力ＦＩＦＯ１から入力したＰＣＭデータ列を所定のサンプル数毎に区切ってフレームを形成し、このＰＣＭデータ列をフレーム毎にＰＣＭデータ列並び替え制御部３に出力するものである。
【００３５】
ＰＣＭデータ列並び替え制御部３は、フレーム構成部２から１フレーム毎のＰＣＭデータ列を入力すると、このＰＣＭデータ列を、量子化ビット桁数を最小単位として重要度の高い上位グループとそれ以外の下位グループとに分けてグループ化することによりＰＣＭデータ列の再構築を行うようになっている。そして、ＰＣＭデータ列並び替え制御部３は、この再構築したＰＣＭデータ列をビット列並び替え用メモリ４に格納する。この場合、ＰＣＭデータ列並び替え制御部３はＰＣＭデータ列の並び替えを１フレーム毎に行うので、ビット列並び替え用メモリ４のメモリ容量については１フレーム分のみを確保しておけばよい。
【００３６】
可変長符号化部５は、ビット列並び替え用メモリ４に格納されている１フレーム分のＰＣＭデータ列を取り出してグループ毎に可変長符号化を行うものである。この場合のグループ毎の可変長符号化は、上位グループから優先的に行なわれ、以下順次下位グループへ移行して所定回数だけ行われるようになっている。そして、可変長符号化部５は、この可変長符号化を行うに際し、同一データの連続の有無をグループ毎に判別し、同一データの連続がない場合に上記の可変長符号化を行い、同一データの連続が有る場合には可変長符号用コードブック６を識別するための番号をその同一連続データに代えてそのグループに割り当てるようにしている。ここで、「同一データの連続が有る場合」とは、そのグループの全てのデータが同一データである場合のことを指している。
【００３７】
可変長符号化部５は、このようにしてグループ毎に可変長符号化又はコードブック識別番号の割り当てを行なって１フレームについてのビットストリームを生成し、これを符号化信号用メモリ７に格納する。そして、多重化部８は各フレームのビットストリームをつなぎ合わせて多重化を行い、これを出力信号として出力する。
【００３８】
次に、上記のように構成される本実施形態に係るＰＣＭ信号符号化装置の動作をフローチャートに基づき説明する。ここで、本実施形態は第１乃至第４の実施形態に分かれており、図２乃至図５のフローチャートは各実施形態に対応している。なお、図１のブロック構成図は、可変長符号化部５の機能がそれぞれ異なるけれども、その他の構成要素については各実施形態において共通のものである。また、図２及び図３は「浮動小数点処理方式」による可変長符号化につき説明するものであり、図４及び図５は「浮動小数点処理方式」によらない可変長符号化につき説明するものである。
【００３９】
図２は第１の実施形態の動作を説明するためのフローチャートである。この図において、まず、入力ＦＩＦＯ１が入力信号を取り込み（ステップ２１）、フレーム構成部２がＰＣＭデータ列を所定サンプル数毎に区切ってフレームを形成する（ステップ２２）。そして、ＰＣＭデータ列並び替え制御部３が、ビット桁数別のグループ化を行う（ステップ２３）。すなわち、まず、最上位の第１グループの構成を行う。なお、「浮動小数点処理方式」の場合、１ビット列が必ずしも１グループとなるわけではなく、複数ビット列が１グループを構成することもある。例えば、ビット列ｎ、ビット列ｎ−１が最上位の第１グループを構成し、ビット列ｎ−２、ビット列ｎ−３、ビット列ｎ−４が第２グループを構成するなど、以下同様にして他のグループが構成され、最後にビット列２、ビット列１が最下位の第ｊグループを構成することになる。
【００４０】
次いで、可変長符号化部５は、第１グループに対して同一データの連続が有るか否かにつき判別を行う（ステップ２４）。この場合、第１グループに同一データの連続がなかったものとすると、可変長符号化部５は通常の可変長符号化を行い（ステップ２５）、その後に可変長符号化がｋ（ｋ≦ｊ）回終了したか否かを判別する（ステップ２６）。この場合は、未だｋ回終了しているわけではないので、ステップ２３に戻ってＰＣＭデータ列並び替え制御部３が次の第２グループの構成を行う。そして、可変長符号化部５はこの第２グループに対して同一データの連続が有るか否かにつき判別を行う（ステップ２４）。
【００４１】
今度は、同一データの連続があったとすると、可変長符号化部５は可変長符号用コードブック６を識別するための識別番号をその同一連続データに割り当てるようにする（ステップ２７）。次いで、ＰＣＭデータ列並び替え制御部３は次の第３グループのグループ化を行い（ステップ２３）、以下同様にして同一データの連続の有無の判別（ステップ２４）の後、可変長符号化（ステップ２５）又は連続データ用コードブック識別番号（可変長符号用コードブック６を識別するための識別番号）の割り当てを行う（ステップ２７）。そして、ステップ２６において可変長符号化がｋ回終了したことを判別すると、それまで可変長符号化及び識別番号の割り当てを行ったグループをつなぎ合わせてビットストリームを生成し（ステップ２８）、これを符号化信号用メモリ７に出力する。多重化部８は、符号化信号用メモリ７に格納されている各ビットストリームをつなぎ合わせ、これを出力信号として出力する。
【００４２】
ところで、上記のステップ２７の識別番号の割り当ては可変長符号化の回数には含まれないため、ステップ２７の識別番号の割り当て回数が多ければ多いほど、より下位のグループに対しても可変長符号化を行うことができ、その分、解像度を高めることができる。例えば、上記のグループ数ｊをｊ＝１０とし、可変長符号化の回数ｋをｋ＝５とした場合に、ステップ２７の実行回数がゼロであれば可変長符号化が行われるグループの範囲は第１グループから第５グループまでであるが、ステップ２７が３回実行されたとすれば可変長符号化が行われるグループの範囲は第１グループから第８グループまでとなる。つまり、同一データが「０」であるものとすると、既述したように、「０」ビットの出現する微弱な信号元ほど自然に下位ビットが取り込まれ、あたかも浮動小数点処理を行っているかのような処理となる。したがって、この第１の実施形態では、符号化の際の圧縮率の向上と共に、再生時の高調波の影響の除去の双方の効果を得ることができる。
【００４３】
図３は第２の実施形態の動作を説明するためのフローチャートである。図３が図２と異なっている主な点は、ビット桁数別グループ化（ステップ３３）の後直ちに可変長符号化（ステップ３４）を行うようにしている点である。可変長符号化部５は、ステップ３４の可変長符号化の後、同一コードの連続が有るか否かを判別し（ステップ３４）、同一コードの連続が有れば次に可変長符号化がｋ回行われたか否かを判別する（ステップ３６）。
【００４４】
この場合は、未だｋ回終了しているわけではないので、ステップ３３に戻ってＰＣＭデータ列並び替え制御部３が次の第２グループのグループ化を行う。そして、可変長符号化部５はこの第２グループに対して可変長符号化を行った後（ステップ３４）、同一コードの連続が有るか否かにつき判別を行う（ステップ３５）。今度は、同一コードの連続があったとすると、可変長符号化部５は連続コード用コード番号をその同一連続データに割り当てるようにする（ステップ３７）。次いで、ＰＣＭデータ列並び替え制御部３は、次の第３グループのグループ化及び可変長符号化を行い（ステップ３３，３４）、以下同様にして同一コードの連続の有無の判別（ステップ３５）の後、可変長符号化がｋ回行われたか否かの判別（ステップ３６）又は連続コード用コード番号の割り当てを行う（ステップ３７）。そして、ステップ３６において可変長符号化がｋ回終了したことを判別すると、それまで可変長符号化及び連続コード用コード番号の割り当てを行ったグループをつなぎ合わせてビットストリームを生成し（ステップ３８）、これを符号化信号用メモリ７に出力する。多重化部８は、符号化信号用メモリ７に格納されている各ビットストリームをつなぎ合わせて、これを出力信号として出力する。
【００４５】
この第２の実施形態においても、ステップ３７のコード番号の割り当ては可変長符号化の回数には含まれないため、ステップ３７の識別番号の割り当て回数が多ければ多いほど、より下位のグループに対しても可変長符号化を行うことができ、その分解像度を高めることができる。つまり、第１の実施形態の場合と同様、あたかも浮動小数点処理を行っているかのような処理となり、符号化の際の圧縮率の向上と共に、再生時の高調波の影響の除去の双方の効果を得ることができる。
【００４６】
図４は、第３の実施形態の動作を説明するためのフローチャートである。この第３の実施形態は浮動小数点処理方式によるものではないため、１ビット列が１グループに対応している。したがって、ＰＣＭデータ列が、ビット列ｎ、ビット列ｎ−１、…ビット列２、ビット列１のｎ個のビット列により形成されている場合は、そのグループ数もｎとなる。
【００４７】
ステップ４１〜４３は、図２におけるステップ２１〜２３と同様であるため、ステップ４４以降につき説明する。可変長符号化部５は、まず、最上位の第１グループ（ビット列ｎのグループ）に対して同一データの連続が有るか否かにつき判別を行う（ステップ４４）。この場合、第１グループに同一データの連続がなかったものとすると、可変長符号化部５は通常の可変長符号化を行い（ステップ４５）、その後に最終グループ（例えば、第５グループを最終グループとして設定する）まで処理が行われたか否かを判別する（ステップ４６）。この場合は、未だ最終グループまで終了しているわけではないので、ステップ４３に戻ってＰＣＭデータ列並び替え制御部３が次の第２グループのグループ化を行う。そして、可変長符号化部５はこの第２グループに対して同一データの連続が有るか否かにつき判別を行う（ステップ４４）。
【００４８】
今度は、同一データの連続があったとすると、可変長符号化部５は可変長符号用コードブック６を識別するための識別番号をその同一連続データに割り当て（ステップ４７）、その後に最終グループまでの処理が行われたか否かにつき判別する（ステップ４６）。次いで、ＰＣＭデータ列並び替え制御部３は次の第３グループのグループ化を行い（ステップ４３）、以下同様にして同一データの連続の有無の判別（ステップ４４）の後、可変長符号化（ステップ４５）又は連続データ用コードブック識別番号（可変長符号用コードブック６を識別するための識別番号）の割り当てを行う（ステップ４７）。そして、ステップ４６において最終グループである第５グループまでの処理が終了したことを判別すると、それまで可変長符号化及び識別番号の割り当てを行ったグループをつなぎ合わせてビットストリームを生成し（ステップ４８）、これを符号化信号用メモリ７に出力する。多重化部８は、符号化信号用メモリ７に格納されている各ビットストリームをつなぎ合わせ、これを出力信号として出力する。
【００４９】
この図４のフローチャートにおいては、識別番号の割り当て（ステップ４７）が行われた場合も可変長符号化（ステップ４５）と同様に処理の一つとしてカウントされるようになっているため、同一データの連続が多くなっても浮動小数点処理方式のように下位ビットがより多く取り込まれるような結果とはならない。したがって、この第３の実施形態では符号化の際の圧縮率の向上という効果のみが得られる。
【００５０】
図５は、第４の実施形態の動作を説明するためのフローチャートである。この第４の実施形態も浮動小数点処理方式によるものではないため、１ビット列が１グループに対応している。ステップ５１〜５４は、図３におけるステップ３１〜３４と同様であるため、ステップ５５以降につき説明する。可変長符号化部５は、まず、最上位の第１グループ（ビット列ｎのグループ）に対して同一コードの連続が有るか否かにつき判別を行い（ステップ５５）
同一コードの連続が有れば次に最終グループまでの処理が行われたか否かを判別する（ステップ５６）。この場合は、未だ最終グループまで終了しているわけではないので、ステップ５３に戻ってＰＣＭデータ列並び替え制御部３が次の第２グループのグループ化を行う。そして、可変長符号化部５はこの第２グループに対して可変長符号化を行った後（ステップ５４）、同一コードの連続が有るか否かにつき判別を行う（ステップ５５）。今度は、同一コードの連続があったとすると、可変長符号化部５は連続コード用コード番号をその同一連続データに割り当てるようにする（ステップ５７）。
【００５１】
次いで、ＰＣＭデータ列並び替え制御部３は、次の第３グループのグループ化及び可変長符号化を行い（ステップ５３，５４）、以下同様にして同一コードの連続の有無の判別（ステップ５５）の後、可変長符号化が最終グループまで行われたか否かの判別（ステップ５６）又は連続コード用コード番号の割り当てを行う（ステップ５７）。そして、ステップ５６において可変長符号化が最終グループまで行われたことを判別すると、それまで可変長符号化及び連続コード用コード番号の割り当てを行ったグループをつなぎ合わせてビットストリームを生成し（ステップ５８）、これを符号化信号用メモリ７に出力する。多重化部８は、符号化信号用メモリ７に格納されている各ビットストリームをつなぎ合わせて、これを出力信号として出力する。
【００５２】
この図５のフローチャートにおいては、予め可変長符号化が行われ（ステップ５４）、連続コード用コード番号の割り当て（ステップ５７）が行われた場合も、それまで行われていた可変長符号化（ステップ５４）の回数が減じられるわけではないため、同一コードの連続が多くなっても浮動小数点処理方式のように下位ビットがより多く取り込まれるような結果とはならない。したがって、この第４の実施形態の場合も符号化の際の圧縮率の向上という効果のみが得られる。
【００５３】
図６は、本発明の実施形態に係るＰＣＭ信号復号化装置の構成を示すブロック図である。この図に示すように、ＰＣＭ信号復号化装置は、入力ＦＩＦＯ９、ヘッダー解析部１０、可変長復号用コードブック１２を有する可変長復号化部１１、フレーム単位ＰＣＭ信号用メモリ１３、及び出力ＦＩＦＯ１４により構成されている。
【００５４】
入力ＦＩＦＯ９は、図１のＰＣＭ信号符号化装置により符号化されたＰＣＭデータ列を入力信号として取り込み、これをヘッダー解析部１０に送出するものである。ヘッダー解析部１０は、符号化信号の正規の量子化精度、サンプリング周波数、フレーム内サンプル数など必要に応じて付加された補助情報を解析するものである。可変長復号化部１１は、ヘッダー解析部１０の解析に基づき、１フレーム分の符号化されたＰＣＭデータ列についてグループ毎の復号化を可変長復号用コードブック１２を用いて行うものである。この場合の復号化は、上位グループから順次下位グループへ移行して所定回数に達するまで又は最終グループに達するまで行われるようになっている。可変長復号化部１１により復号化されたデータはフレーム単位ＰＣＭ信号用メモリ１３に格納され、この格納されたデータを出力ＦＩＦＯ１４が取り出して出力する。
【００５５】
なお、フレーム毎に符号化される量子化ビット長はそれぞれ異なるが、符号化装置にて付加されたコードブック識別番号の数によって一意的に量子化精度は求まる。第１階層の符号化ビット長をｎビットとすると、フレーム内符号化信号には可変長符号が施されたビット桁数別グループｎ個が常に含まれ、信号状態によっては、ビット桁数別グループ内全ビットが同一信号であることを示すコードブック識別番号を持ったグループを含むこともある。
【００５６】
次に、上記のように構成される本実施形態に係るＰＣＭ信号復号化装置の動作をフローチャートに基づき説明する。ここで、本実施形態は第５乃至第８の実施形態に分かれており、図７乃至図１０のフローチャートは各実施形態に対応している。なお、図６のブロック構成図は、可変長復号化部１１の機能がそれぞれ異なるけれども、その他の構成要素については各実施形態において共通のものである。また、図７乃至図１０の各復号化装置はそれぞれ図２乃至図５の各符号化装置に対応するものである。但し、図７の復号化装置は、図２の符号化装置ばかりでなく図４の符号化装置とも組み合わせることができ、同様に、図８の復号化装置は、図３の符号化装置ばかりでなく図５の符号化装置とも組み合わせることができる。
【００５７】
図７は第５の実施形態の動作を説明するためのフローチャートであり、図２の第１の実施形態のフローチャートに対応するものである。この図において、まず、可変長復号化部１１は、ヘッダー解析部１０の解析情報に基づき符号化されたＰＣＭデータ列についての可変長復号をスタートし（ステップ７１）、最上位グループである第１グループについてコードブック識別情報の解読を可変長復号用コードブック１２を用いて行う（ステップ７２）。そして、同一データが連続していることを示す連続データ用識別番号の有無を判別し（ステップ７３）、この識別番号がないものとすると可変長コードを抽出し（ステップ７４）、ＰＣＭメモリへ復号信号を書き込む（ステップ７５）。  この後、第１グループにおけるこのような可変長コード抽出及び復号信号書き込みが全て終了したか否かを判別し（ステップ７６）し、終了していなければステップ７４に戻って終了するまで同様の動作を繰り返す。
【００５８】
ステップ７６での判別結果が「ＹＥＳ」となると、可変長復号化部１１は、復号化がｋ回終了したか否かを判別する（ステップ７８）。この場合は、未だｋ回終了しているわけではないので、ステップ７２に戻って第２グループについてコードブック識別情報の解読を可変長復号用コードブック１２を用いて行う。そして、同一データが連続していることを示す連続データ用識別番号の有無を判別し（ステップ７３）、今度はこの識別番号が有ったものとすると、可変長復号化部１１は、ＰＣＭ信号用メモリ１３へこの識別番号に対応する復号信号を書き込むと共に、次に対象とするグループを１つ繰り下げ第３グループとする、（ステップ７７）。
【００５９】
可変長復号化部１１は、次にステップ７２に戻って第３グループについてコードブック識別情報の解読を可変長復号用コードブック１２を用いて行い、同一データが連続していることを示す連続データ用識別番号の有無を判別する（ステップ７３）。そして、上記と同様にしてステップ７４〜７８又はステップ７７の処理を行い、ステップ７８での判別が「ＹＥＳ」となった場合に可変長復号の動作を停止する（ステップ７９）。ここで、ステップ７７における復号信号の書き込みは、ステップ７８で設定されているｋ回の復号化回数にはカウントされない。したがって、図２の浮動小数点処理方式により符号化されたＰＣＭデータ列を忠実に復号化することができ、また、図４の浮動小数点処理方式によらずに符号化されたＰＣＭデータ列についても復号化を行うことができる。
【００６０】
図８は第６の実施形態の動作を説明するためのフローチャートであり、図３の第２の実施形態のフローチャートに対応するものである。図８が図７と異なっている主な点は、コードブック識別情報の解読（ステップ８２）の後直ちに可変長コードの抽出（ステップ８３）を行っている点である。
【００６１】
すなわち、可変長復号化部１１は可変長復号をスタートし（ステップ８１）、まず、第１グループについてのコードブック識別情報を解読した後（ステップ８２）、可変長コードを抽出し（ステップ８３）、同一コードが連続していることを示す連続コード用識別番号の有無を判別する（ステップ８４）。そして、ステップ８４の判別結果が「ＮＯ」の場合はステップ８５，８６の処理を行った後ステップ８３に戻って第２グループについて可変長コードを抽出し、また、ステップ８４の判別結果が「ＹＥＳ」の場合はステップ８７の処理を行った後ステップ８３に戻って第２グループについて可変長コードを抽出する。以下、同様にして、第２グループ以降についてステップ８２〜８８の処理を行い、ステップ８８での判別が「ＹＥＳ」となった場合に可変長復号の動作を停止する（ステップ８９）。ここで、ステップ８７における復号信号の書き込みは、図７の場合と同様に、ステップ８８で設定されているｋ回の復号化回数にはカウントされない。したがって、図３の浮動小数点処理方式により符号化されたＰＣＭデータ列を忠実に復号化することができ、また、図５の浮動小数点処理方式によらずに符号化されたＰＣＭデータ列についても復号化を行うことができる。
【００６２】
図９は第７の実施形態の動作を説明するためのフローチャートであり、図４の第３の実施形態のフローチャートに対応するものである。但し、図４の第３の実施形態に係る符号化装置により生成されたＰＣＭデータ列は、この第７の実施形態に係る復号化装置だけでなく、図７の第５の実施形態に係る復号化装置によっても復号化が可能なことは既述した通りである。
【００６３】
図９が図７と異なっている主な点は、ステップ９３において連続データ用識別番号の有無について「ＹＥＳ」と判別した場合に、該当ビット列（又は対象グループ）を設定コードで置き換える（ステップ９７）と共にＰＣＭ信号用メモリ１３に復号信号を書き込み（ステップ９８）、その後最終グループの処理が終了したか否かについての判別を行っている点である（ステップ９９）。したがって、もし図２の第１の実施形態に係る符号化装置により符号化されたＰＣＭデータ列を、この第７の実施形態に係る復号化装置により復号化しても、折角より下位のグループまで取り込んで符号化したデータを復号できないことになる。それ故、この第７の実施形態は第３の実施形態に係る符号化装置により符号化されたＰＣＭデータ列を復号化する場合のみに有効なものである。
【００６４】
図１０は第８の実施形態の動作を説明するためのフローチャートであり、図５の第４の実施形態のフローチャートに対応するものである。但し、図５の第４の実施形態に係る符号化装置により生成されたＰＣＭデータ列は、この第８の実施形態に係る復号化装置だけでなく、図８の第６の実施形態に係る復号化装置によっても復号化が可能なことは既述した通りである。
【００６５】
図１０が図８と異なっている主な点は、ステップ１０４において連続コード用識別番号の有無について「ＹＥＳ」と判別した場合に、該当ビットメモリ（又は対象グループ）を設定コードで置き換える（ステップ１０７）と共にＰＣＭ信号用メモリ１３に復号信号を書き込み（ステップ１０８）、その後最終グループの処理が終了したか否かについての判別を行っている点である（ステップ１１０）。したがって、もし図３の第２の実施形態に係る符号化装置により符号化されたＰＣＭデータ列を、この第８の実施形態に係る復号化装置により復号化しても、折角より下位のグループまで取り込んで符号化したデータを復号できないことになる。それ故、この第８の実施形態は第４の実施形態に係る符号化装置により符号化されたＰＣＭデータ列を復号化する場合のみに有効なものである。
【００６６】
【発明の効果】
以上のように、本発明によれば、同一データの連続がないグループに対しては可変長符号化を行い、同一データの連続があるグループに対しては連続データ用コードブックを識別するための番号を割り当てるようにしてより効率的なデータ圧縮を行う構成としているので、コストアップを招くことなく量子化誤差を小さくすることができ、もって再生信号の品質を向上させることが可能になる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るＰＣＭ信号符号化装置の構成を示すブロック図。
【図２】本発明の第１の実施形態の動作を説明するためのフローチャート。
【図３】本発明の第２の実施形態の動作を説明するためのフローチャート。
【図４】本発明の第３の実施形態の動作を説明するためのフローチャート。
【図５】本発明の第４の実施形態の動作を説明するためのフローチャート。
【図６】本発明の実施形態に係るＰＣＭ信号復号化装置の構成を示すブロック図。
【図７】本発明の第５の実施形態の動作を説明するためのフローチャート。
【図８】本発明の第６の実施形態の動作を説明するためのフローチャート。
【図９】本発明の第７の実施形態の動作を説明するためのフローチャート。
【図１０】本発明の第８の実施形態の動作を説明するためのフローチャート。
【図１１】階層符号化方式の符号化装置に入力されるＰＣＭデータ列の構成を示す説明図であり、（ａ）は並び替え前のものを示し、（ｂ）は並び替え後のものを示している。
【図１２】ビット桁数毎にデータの並び替えが行われたＰＣＭデータ列の多重化後の構成図。
【図１３】ビット桁数毎にデータの並び替えが行われ、且つ上位グループにはデータ保護のための補助情報が付加されたデータ列をフレーム毎に区切って形成した場合のＰＣＭデータ列を示す構成図。
【図１４】階層符号化方式による上位グループのみの出力信号に含まれる量子化雑音についての説明図。
【図１５】階層符号化方式における出力信号における量子化誤差の現れ方すなわち量子化雑音波形を示した説明図であり、（ａ）は振幅が大きな場合、（ｂ）は振幅が小さな場合を示している。
【図１６】階層符号化方式における出力信号の周波数スペクトルを示したものであり、（ａ）は振幅が大きな場合、（ｂ）は振幅が小さな場合を示している。
【符号の説明】
１  入力ＦＩＦＯ
２  フレーム構成部
３  ＰＣＭデータ列並び替え制御部
４  ビット列並び替え用メモリ
５  可変長符号化部
６  可変長符号用コードブック
７  符号化信号用メモリ
８  多重化部
９  入力ＦＩＦＯ
１０  ヘッダー解析部
１１  可変長復号化部
１２  可変長復号用コードブック
１３  フレーム単位ＰＣＭ信号用メモリ
１４  出力ＦＩＦＯ
【図１】
0003617804.tif 000002
【図２】
0003617804.tif 000003
【図３】
0003617804.tif 000004
【図４】
0003617804.tif 000005
【図５】
0003617804.tif 000006
【図６】
0003617804.tif 000007
【図７】
0003617804.tif 000008
【図８】
0003617804.tif 000009
【図９】
0003617804.tif 000010
【図１０】
0003617804.tif 000011
【図１１】
0003617804.tif 000012
【図１２】
0003617804.tif 000013
【図１３】
0003617804.tif 000014
【図１４】
0003617804.tif 000015
【図１５】
0003617804.tif 000016
【図１６】
0003617804.tif 000017