(57)【要約】【課題】  可逆性を保持しながら、従来のＰＣＭブロック化圧縮・伸長方式よりもデータ量を小さく圧縮できるようにする。【解決手段】  量子化ビット数２ｍ（ｍは正の整数）で符号化して得られたＰＣＭデータを、ｎ個（ｎは２以上の正の整数）のサンプル毎に区切ってサンプル・ブロックを生成し、そのサンプル・ブロック中の各サンプルについて、ビット数２ｍのビット群をビット数ｉ（ｉは０または（２ｍ−１）以下の整数）の第１ビット群とビット数（２ｍ−ｉ）の第２ビット群とに分割すると共に、第２ビット群だけでその値を表現できるサンプルと、第２ビット群だけではその値を表現できないサンプルとに分割する。必要ビット数を前者については（２ｍ−ｉ）、後者については２ｍとして、ビット数ｉの値を変えながらブロックの総必要ビット数を算出することにより、そのブロックの全データ量が最小となるようにビット数ｉの値を決定し、前者のサンプルについて第２ビット群だけで表現されるようにビット数変換する。【選択図】    図１
2005151327.tif 000002
【特許請求の範囲】
【請求項１】
元データを量子化ビット数２ｍ（ｍは正の整数）でＰＣＭ方式により符号化して得られたＰＣＭデータを、ｎ個（ｎは２以上の正の整数）のサンプル毎に区切ってｎ個のサンプルからなるサンプル・ブロックを生成するステップと、
前記サンプル・ブロック中の各サンプルについて、ビット数２ｍのビット群をビット数ｉ（ｉは０または（２ｍ−１）以下の整数）の第１ビット群とビット数（２ｍ−ｉ）の第２ビット群とに分割するステップと、
前記サンプル・ブロック中の全サンプルについて、前記第２ビット群だけでその値を表現できるものと、前記第２ビット群だけではその値を表現できないものとに分割するステップと、
前記第２ビット群だけでその値を表現できる前記サンプルについては、必要ビット数を前記第２ビット群のビット数（２ｍ−ｉ）とし、前記第２ビット群だけではその値を表現できない前記サンプルについては、必要ビット数を２ｍとして、前記ビット数ｉの値を変えながら前記サンプル・ブロックの総必要ビット数を算出するステップと、
前記ビット数ｉの値を変えながら算出した前記サンプル・ブロックの前記総必要ビット数に基づいて、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を決定するステップと、
前記サンプル・ブロック中の全サンプルのうち、決定された前記ビット数ｉの値を用いて前記第２ビット群だけでその値を表現できるものについて、前記第２ビット群だけで表現されるようにビット数変換するステップと
を備えてなることを特徴とするＰＣＭデータ圧縮方法。
【請求項２】
前記第２ビット群だけではその値を表現できない前記サンプルについては、前記第１ビット群と前記第２ビット群の双方を用いて表現する請求項１に記載のＰＣＭデータ圧縮方法。
【請求項３】
前記第２ビット群だけで表現された前記サンプルと、前記第１ビット群と前記第２ビット群の双方で表現された前記サンプルとを用いて、前記サンプル・ブロック用のビット・ストリームを生成するステップをさらに含んでおり、
前記ビット・ストリームは、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えている請求項１または２に記載のＰＣＭデータ圧縮方法。
【請求項４】
元データを量子化ビット数２ｍ（ｍは正の整数）でＰＣＭ方式により符号化して得られたＰＣＭデータを、ｎ個（ｎは２以上の正の整数）のサンプル毎に区切ってｎ個のサンプルからなるサンプル・ブロックを生成する手段と、
前記サンプル・ブロック中の各サンプルについて、ビット数２ｍのビット群をビット数ｉ（ｉは０または（２ｍ−１）以下の整数）の第１ビット群とビット数（２ｍ−ｉ）の第２ビット群とに分割する手段と、
前記サンプル・ブロック中の全サンプルについて、前記第２ビット群だけでその値を表現できるものと、前記第２ビット群だけではその値を表現できないものとに分割する手段と、
前記第２ビット群だけでその値を表現できる前記サンプルについては、必要ビット数を前記第２ビット群のビット数（２ｍ−ｉ）とし、前記第２ビット群だけではその値を表現できない前記サンプルについては、必要ビット数を２ｍとして、前記ビット数ｉの値を変えながら前記サンプル・ブロックの総必要ビット数を算出する手段と、
前記ビット数ｉの値を変えながら算出した前記サンプル・ブロックの総必要ビット数に基づいて、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を決定する手段と、
前記サンプル・ブロック中の全サンプルのうち、決定された前記ビット数ｉの値を用いて前記第２ビット群だけでその値を表現できるものについて、前記第２ビット群だけで表現されるようにビット数変換する手段と
を備えてなることを特徴とするＰＣＭデータ圧縮装置。
【請求項５】
前記第２ビット群だけでその値を表現できる前記サンプルについて前記第２ビット群だけで表現されるようにビット数変換する前記手段が、前記第２ビット群だけではその値を表現できない前記サンプルについては、前記第１ビット群と前記第２ビット群の双方を用いて表現する請求項４に記載のＰＣＭデータ圧縮装置。
【請求項６】
前記第２ビット群だけでその値を表現できる前記サンプルについて前記第２ビット群だけで表現されるようにビット数変換する前記手段が、前記第２ビット群だけで表現された前記サンプルと、前記第１ビット群と前記第２ビット群の双方で表現された前記サンプルとを用いて、前記サンプル・ブロック用のビット・ストリームを生成し、
前記ビット・ストリームは、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えている請求項４または５に記載のＰＣＭデータ圧縮装置。
【請求項７】
請求項１に記載のＰＣＭデータ圧縮方法によって圧縮された前記ＰＣＭデータを伸長する方法であって、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロックについて前記ビット数ｉの設定値を判別するステップと、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロック中の前記サンプルの各々について前記第１ビット群の使用の有無を判定するステップと、
判別した前記ビット数ｉの設定値と前記第１ビット群の使用の有無の判定結果とを用いて、圧縮された前記ＰＣＭデータを伸長するステップと
を備えてなることを特徴とするＰＣＭデータ伸長方法。
【請求項８】
圧縮された前記ＰＣＭデータが、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えており、
前記第１ビット群ビット数表示部を読みとって前記第１ビット群の前記ビット数ｉの設定値を判別し、前記第１ビット群使用表示部を読みとって前記第１ビット群の使用の有無を前記サンプル毎に判定する請求項７に記載のＰＣＭデータ伸長方法。
【請求項９】
請求項１に記載のＰＣＭデータ圧縮方法によって圧縮された前記ＰＣＭデータを伸長する装置であって、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロックについて前記ビット数ｉの設定値を判別するビット数判別手段と、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロック中の前記サンプルの各々について前記第１ビット群の使用の有無を判定する第１ビット群使用判定手段と、
判別した前記ビット数ｉの設定値と前記第１ビット群の使用の有無の判定結果とを用いて、圧縮された前記ＰＣＭデータを伸長するデータ伸張手段と
を備えてなることを特徴とするＰＣＭデータ伸長装置。
【請求項１０】
圧縮された前記ＰＣＭデータが、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えており、
前記ビット数判別手段が、前記第１ビット群ビット数表示部を読みとって前記第１ビット群の前記ビット数ｉの設定値を判別し、
前記第１ビット群使用判定手段が、前記第１ビット群使用表示部を読みとって前記第１ビット群の使用の有無を前記サンプル毎に判定する請求項９に記載のＰＣＭデータ伸長装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＭデータの圧縮・伸長処理に関し、さらに言えば、ＰＣＭ方式で符号化されたデータを可逆（無損失）性を維持しながら圧縮・伸長することができる、ＰＣＭデータ圧縮・伸長方法及び装置に関する。
【０００２】
ここで、ＰＣＭとは、パルス符号変調（Pulse Code Modulation）を意味し、具体的にはアナログ電気信号を標本化、量子化そして符号化することによってデジタル電気信号に変換することを言う。また、「標本化」とは、連続的なアナログ信号の振幅値を離散的な周期Ｔ（Ｔ＝１／ｆｓ、ただしｆｓは標本化周波数）で区切り、その振幅の瞬間値インパルスを取り出してインパルス列を生成することをいう。生成されたインパルスの各々は、サンプル（標本）と呼ばれる。「量子化」とは、標本化によって生成されたサンプル列の最大振幅値をその正値から負値まで単位振幅ごとに分割して基準値を設定し、同サンプル列のアナログ振幅を前記基準値のうちの最も近いものに近似して数値化することをいう。「符号化」とは、量子化により振幅を数値化されたサンプル列中の各サンプル（固有の振幅値を持つ）を「０」と「１」の２値からなる符号（振幅一定のパルス列あるいはビット列）で表現することをいう。
【背景技術】
【０００３】
ＰＣＭデータの圧縮・伸長処理は、オーディオ機器がデジタル化された当初は、ＣＤ（Compact Disk）に代表されるパルス符号変調（ＰＣＭ）による「非圧縮符号化方式」で行うのが主流であった。しかし、近年はＭＰ３、ＷＭＡなどの「圧縮符号化方式」が主流となりつつある。これは、オーディオ・データを磁気ディスクに記録する場合や回線を通じて伝送する場合を想定すると、非圧縮符号方式で符号化した場合のデータ量（データ・サイズ）が大きすぎるためである。他方、圧縮符号化方式には、データ量を少なくできる反面、音質の劣化という難点がある。つまり、圧縮符号化方式ではデータ量と音質とはトレードオフの関係にある。このため、従来は、データの記録・伝送が容易であるという利点を重視して、圧縮符号化方式で処理されたオーディオ・データにより得られる音質に対して、それなりに満足していたユーザが多かったと思われるが、不満を抱いているユーザも相当数存在していた。最近は、技術の進歩によりデータ記録・伝送機能が向上したため、ユーザの間には、非圧縮符号化方式で処理した場合の音質あるいはそれに近い良好な音質を保ちながら、圧縮によりデータ量を可能な限り小さくして欲しい、という要望（すなわち、データ量をより小さくできる可逆圧縮方式に対する要望）が強くなってきている。
【０００４】
従来、ＰＣＭ方式により符号化したデータ（以下、ＰＣＭデータという）をその情報量を損なわずに圧縮し、また圧縮したそのＰＣＭデータを伸長して再生する技術（すなわち可逆圧縮・伸長技術）としては、「ＰＣＭブロック化圧縮・伸長方式」が知られている。この方式では、アナログ信号を所定の最大量子化ビット数で標本化・量子化・符号化して得られたデジタル・データ（ＰＣＭデータ）について、「サンプル」を一定数毎にまとめてブロック化する。こうして生成されたブロックを、ここでは「サンプル・ブロック」（以下、単にブロックとも言う）と呼ぶ。その後、これらサンプル・ブロックの各々に含まれる全サンプルの最大値（最大振幅）を表現するために必要な量子化ビット数をブロック毎に算出する。そして、算出された量子化ビット数を当該ブロック用の量子化ビット数として定義して、当該ブロック中の全サンプルを再度符号化することにより、当該ブロック中の総ビット数（データ量）減少させる。このように、使用する量子化ビット数をサンプル・ブロック毎に変更・最適化することにより、ＰＣＭデータに含まれる情報量を損なうことなく当該データの圧縮を可能としている。この方式は、演算量が少ないと共に容易に実現できる、という利点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来の「ＰＣＭブロック化圧縮・伸長方式」には次のような問題点があった。
【０００６】
第一に、ＰＣＭ符号化に使用した最大量子化ビット数を必要とするサンプル・データがサンプル・ブロック中に一つでも存在すると、換言すれば、あるサンプル・ブロック中に含まれる全サンプルの最大値を表現するために必要な量子化ビット数が、ＰＣＭ符号化に使用する最大量子化ビット数に等しいかそれに近い場合には、そのサンプル・ブロックは「無圧縮」あるいは「低圧縮」となってしまうことである。このため、「無圧縮ブロック」や「低圧縮ブロック」が増加しやすく、その結果、ＰＣＭデータ全体の圧縮率（圧縮後のデータ量／元のデータ量）が低下しやすい。
【０００７】
第一の問題点の生じる理由は、各サンプル・ブロックに使用する量子化ビット数が、当該サンプル・ブロック内の全サンプルの最大値を表現するために必要な量子化ビット数で一意に決まってしまうことにある。あるサンプル・ブロック内の一つのサンプルの値を表現するために最大量子化ビット数が必要であれば、他の大多数のサンプルの値が十分に小さい値であってもそれらは無視されてしまい、そのサンプル・ブロックは「無圧縮ブロック」となってしまうのである。
【０００８】
第二の問題点は、サンプル・ブロック長（以下、単にブロック長ともいう）、すなわちサンプル・ブロック中に含まれるサンプルの総数に応じて、圧縮率（圧縮性能）が大きく変化するため、圧縮処理に最適なブロック長を決定することが困難なことである。
【０００９】
第二の問題点の生じる理由は、ブロック長を大きくすると、各サンプルの値（振幅値）の変化に対する追従性が悪化し、その結果、上記第一の問題点で述べたように、例えば、無音区間を含むサンプル・ブロック中に一つでも最大量子化ビット数を必要とするサンプルが存在すると、そのサンプル・ブロック全体が無圧縮ブロックとなるからである。逆に、ブロック長を小さくすると、サンプル・ブロック中のデータ量に対する管理用データ量の比率が高まり、その結果としてブロック内圧縮効率が低下してしまうからである。
【００１０】
本発明は、上述した二つの問題点を考慮してなされたものであり、その主な目的は、可逆性を保持しながら、従来のＰＣＭブロック化圧縮・伸長方式によった場合よりもデータ量を小さく圧縮できるＰＣＭデータ圧縮方法及び装置、並びにその方法で圧縮されたＰＣＭデータを伸長することができるＰＣＭデータ伸長方法及び装置を提供することにある。
【００１１】
本発明の他の目的は、従来のＰＣＭブロック化圧縮・伸長方式によった場合よりもサンプル・ブロック長に対する圧縮率（圧縮性能）の依存性が小さく、圧縮処理に最適なブロック長の設定が容易である、可逆性のＰＣＭデータ圧縮方法及び装置、並びにその方法で圧縮されたＰＣＭデータを伸長することができるＰＣＭデータ伸長方法及び装置を提供することにある。
【課題を解決するための手段】
【００１２】
（１）  本発明のＰＣＭデータ圧縮方法は、
元データを量子化ビット数２ｍ（ｍは正の整数）でＰＣＭ方式により符号化して得られたＰＣＭデータを、ｎ個（ｎは２以上の正の整数）のサンプル毎に区切ってｎ個のサンプルからなるサンプル・ブロックを生成するステップと、
前記サンプル・ブロック中の各サンプルについて、ビット数２ｍのビット群をビット数ｉ（ｉは０または（２ｍ−１）以下の整数）の第１ビット群とビット数（２ｍ−ｉ）の第２ビット群とに分割するステップと、
前記サンプル・ブロック中の全サンプルについて、前記第２ビット群だけでその値を表現できるものと、前記第２ビット群だけではその値を表現できないものとに分割するステップと、
前記第２ビット群だけでその値を表現できる前記サンプルについては、必要ビット数を前記第２ビット群のビット数（２ｍ−ｉ）とし、前記第２ビット群だけではその値を表現できない前記サンプルについては、必要ビット数を２ｍとして、前記ビット数ｉの値を変えながら前記サンプル・ブロックの総必要ビット数を算出するステップと、
前記ビット数ｉの値を変えながら算出した前記サンプル・ブロックの前記総必要ビット数に基づいて、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を決定するステップと、
前記サンプル・ブロック中の全サンプルのうち、決定された前記ビット数ｉの値を用いて前記第２ビット群だけでその値を表現できるものについて、前記第２ビット群だけで表現されるようにビット数変換するステップと
を備えてなることを特徴とする。
【００１３】
本発明のＰＣＭデータ圧縮方法では、元データを量子化ビット数２ｍ（ｍは正の整数）でＰＣＭ方式により符号化して得られたＰＣＭデータを、ｎ個（ｎは２以上の正の整数）のサンプル毎に区切ってｎ個のサンプルからなるサンプル・ブロックを生成する。次に、前記サンプル・ブロック中の各サンプルについて、ビット数２ｍのビット群をビット数ｉ（ｉは０または（２ｍ−１）以下の整数）の第１ビット群とビット数（２ｍ−ｉ）の第２ビット群とに分割する。また、前記サンプル・ブロック中の全サンプルについて、前記第２ビット群だけでその値を表現できるものと、前記第２ビット群だけではその値を表現できないものとに分割する。そして、前記第２ビット群だけでその値を表現できる前記サンプルについては、必要ビット数を前記第２ビット群のビット数（２ｍ−ｉ）とし、前記第２ビット群だけではその値を表現できない前記サンプルについては、必要ビット数を２ｍとして、前記ビット数ｉの値を変えながら前記サンプル・ブロックの総必要ビット数を算出する。その後、前記ビット数ｉの値を変えながら算出した前記サンプル・ブロックの総必要ビット数に基づいて、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を決定し、決定した前記ビット数ｉの値を用いて前記第２ビット群だけでその値を表現できる前記サンプルについて、前記第２ビット群だけで表現されるようにビット数変換する。よって、各サンプル・ブロック内においてデータ圧縮効率が向上し、当該ＰＣＭデータ全体の圧縮率を上昇できる、すなわち、従来のＰＣＭブロック化圧縮・伸長方式によった場合よりもデータ量を小さく圧縮できる。
【００１４】
また、圧縮した前記ＰＣＭデータを伸長する際には、前記サンプル・ブロックについて前記第１ビット群のビット数ｉの設定値を判別すると共に、当該サンプル・ブロック中の前記サンプルの各々について前記第１ビット群の使用の有無を判別することにより、前記第１ビット群を使用した前記サンプルの各々を量子化ビット数２ｍにより表現したものに再生できる。圧縮の際に情報の損失はないので、可逆性は保持される。
【００１５】
さらに、本発明のＰＣＭデータ圧縮方法では、前記第２ビット群だけでその値を表現できる前記サンプルについては、必要ビット数を前記第２ビット群のビット数（２ｍ−ｉ）とし、前記第２ビット群だけではその値を表現できない前記サンプルについては、必要ビット数を２ｍとして、前記ビット数ｉの値を変えながら前記サンプル・ブロックの総必要ビット数を算出してから、前記ビット数ｉの値を変えながら算出した前記サンプル・ブロックの総必要ビット数に基づいて、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を決定する。このため、各サンプル・ブロックの量子化ビット数が、当該サンプル・ブロック内のサンプル・データの最大値を表現するために必要な量子化ビット数で一意に決まる従来のＰＣＭブロック化圧縮・伸長方式によった場合よりも、サンプル・ブロック長に対する圧縮率（圧縮性能）の依存性が小さくなり、圧縮処理に最適なブロック長の設定が容易となる。
【００１６】
以上述べたように、本発明のＰＣＭデータ圧縮方法によれば、可逆性を保持しながら、従来のＰＣＭブロック化圧縮・伸長方式によった場合よりもデータ量を小さく圧縮できると共に、同方式よりもサンプル・ブロック長に対する圧縮率（圧縮性能）の依存性を小さくして圧縮処理に最適なブロック長の設定を容易化することができる。
【００１７】
ＰＣＭデータを構成する多数のサンプルを所定のブロック長を持つサンプル・ブロックに分割した場合、そのサンプル・ブロック内のあるサンプルの値を表現するために必要な量子化ビット数が、最大量子化ビット数に等しいかそれに近いビット数であっても、それ以外のサンプルの値を表現するために必要な量子化ビット数はそれよりはるかに小さいことがある。このような場合、従来の「ＰＣＭブロック化圧縮・伸長方式」では、当該ブロック全体の量子化ビット数として、最大量子化ビット数に等しいかそれに近いビット数を使用することになるから、そのブロック内の一つのサンプル・データを表現するために最大量子化ビット数またはそれに近いビット数が必要であれば、他の大多数のサンプルの値が十分小さくてもそれらは無視されてしまい、そのブロックは「無圧縮ブロック」や「低圧縮ブロック」となってしまう。したがって、当該ＰＣＭデータ全体の圧縮率（圧縮後のデータ量／元のデータ量）も低くなりやすい。
【００１８】
これに対し、本発明のＰＣＭデータ圧縮方法によれば、前記サンプル・ブロックに含まれるサンプルの各々をビット数ｉ（ｉは０または（２ｍ−１）以下の整数）の第１ビット群とビット数（２ｍ−ｉ）の第２ビット群とに分割すると共に、前記第２ビット群だけでその値を表現できる前記サンプルと、前記第２ビット群だけではその値を表現できない前記サンプルとに分割する。そして、前記第２ビット群だけでその値を表現できる前記サンプルについては必要ビット数を（２ｍ−ｉ）とし、前記第２ビット群だけではその値を表現できない前記サンプルについては必要ビット数を２ｍとして、前記ビット数ｉの値を変えながら前記サンプル・ブロックの総必要ビット数を算出する。算出した前記サンプル・ブロックの総必要ビット数に基づいて、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を決定する。このため、前記サンプル・ブロックの全データ量を小さくすることができる。換言すれば、前記サンプル・ブロックに含まれるサンプル毎に、最大量子化ビット数が必要か否かを考慮して、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を定義（決定）することができる。このため、上記のようなサンプル・ブロックが「無圧縮ブロック」や「低圧縮ブロック」となる恐れが低下し、その結果、当該ＰＣＭデータ全体の圧縮率が上昇するのである。
【００１９】
本発明のＰＣＭデータ圧縮方法の好ましい例では、前記第２ビット群だけではその値を表現できない前記サンプルについては、前記第１ビット群と前記第２ビット群の双方を用いて表現する。
【００２０】
本発明のＰＣＭデータ圧縮方法の他の好ましい例では、前記第２ビット群だけを用いて表現された前記サンプルと、前記第１ビット群と前記第２ビット群の双方を用いて表現された前記サンプルとを用いて、前記サンプル・ブロック用のビット・ストリームを生成するステップをさらに含む。前記ビット・ストリームは、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えている。
【００２１】
（２）  本発明のＰＣＭデータ圧縮装置は、
元データを量子化ビット数２ｍ（ｍは正の整数）でＰＣＭ方式により符号化して得られたＰＣＭデータを、ｎ個（ｎは２以上の正の整数）のサンプル毎に区切ってｎ個のサンプルからなるサンプル・ブロックを生成する手段と、
前記サンプル・ブロック中の各サンプルについて、ビット数２ｍのビット群をビット数ｉ（ｉは０または（２ｍ−１）以下の整数）の第１ビット群とビット数（２ｍ−ｉ）の第２ビット群とに分割する手段と、
前記サンプル・ブロック中の全サンプルについて、前記第２ビット群だけでその値を表現できるものと、前記第２ビット群だけではその値を表現できないものとに分割する手段と、
前記第２ビット群だけでその値を表現できる前記サンプルについては、必要ビット数を前記第２ビット群のビット数（２ｍ−ｉ）とし、前記第２ビット群だけではその値を表現できない前記サンプルについては、必要ビット数を２ｍとして、前記ビット数ｉの値を変えながら前記サンプル・ブロックの総必要ビット数を算出する手段と、
前記ビット数ｉの値を変えながら算出した前記サンプル・ブロックの総必要ビット数に基づいて、前記サンプル・ブロックの全データ量が最小となるように前記ビット数ｉの値を決定する手段と、
前記サンプル・ブロック中の全サンプルのうち、決定された前記ビット数ｉの値を用いて前記第２ビット群だけでその値を表現できるものについて、前記第２ビット群だけで表現されるようにビット数変換する手段と
を備えてなることを特徴とする。
【００２２】
本発明のＰＣＭデータ圧縮装置では、本発明のＰＣＭデータ圧縮方法について上記（１）で説明したのと同じ理由により、可逆性を保持しながら、従来のＰＣＭブロック化圧縮・伸長方式によった場合よりもデータ量を小さく圧縮できると共に、同方式よりもサンプル・ブロック長に対する圧縮率（圧縮性能）の依存性を小さくして圧縮処理に最適なブロック長の設定を容易化することができる。
【００２３】
本発明のＰＣＭデータ圧縮装置の好ましい例では、前記第２ビット群だけでその値を表現できる前記サンプルについて前記第２ビット群だけで表現されるようにビット数変換する前記手段が、前記第２ビット群だけではその値を表現できない前記サンプルについては、前記第１ビット群と前記第２ビット群の双方を用いて表現する。
【００２４】
本発明のＰＣＭデータ圧縮装置の他の好ましい例では、前記第２ビット群だけでその値を表現できる前記サンプルについて前記第２ビット群だけで表現されるようにビット数変換する前記手段が、前記第２ビット群だけで表現された前記サンプルと、前記第１ビット群と前記第２ビット群の双方で表現された前記サンプルとを用いて、前記サンプル・ブロック用のビット・ストリームを生成する。前記ビット・ストリームは、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えている。
【００２５】
（３）  本発明のＰＣＭデータ伸長方法は、上記（１）に述べた本発明のＰＣＭデータ圧縮方法によって圧縮された前記ＰＣＭデータを伸長する方法であって、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロックについて前記ビット数ｉの設定値を判別するステップと、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロック中の前記サンプルの各々について前記第１ビット群の使用の有無を判定するステップと、
判別した前記ビット数ｉの設定値と前記第１ビット群の使用の有無の判定結果とを用いて、圧縮された前記ＰＣＭデータを伸長するステップとを備えてなることを特徴とする。
【００２６】
本発明のＰＣＭデータ伸長方法では、圧縮された前記ＰＣＭデータから、前記サンプル・ブロックについて前記第１ビット群の前記ビット数ｉの設定値を判別し、また前記サンプル・ブロック中の前記サンプルの各々について前記第１ビット群の使用の有無を判定する。そして、判別した前記ビット数ｉの設定値と前記第１ビット群の使用の有無の判定結果とを用いて、圧縮された前記ＰＣＭデータを伸長する。このため、上記（１）に述べた本発明のＰＣＭデータ圧縮方法によって圧縮された前記ＰＣＭデータを伸長することができる。
【００２７】
本発明のＰＣＭデータ伸長方法の好ましい例では、圧縮された前記ＰＣＭデータが、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えており、前記第１ビット群ビット数表示部を読みとって前記第１ビット群の前記ビット数ｉの設定値を判別し、前記第１ビット群使用表示部を読みとって前記第１ビット群の使用の有無を前記サンプル毎に判定する。
【００２８】
（４）  本発明のＰＣＭデータ伸長装置は、上記（１）に述べた本発明のＰＣＭデータ圧縮方法によって圧縮された前記ＰＣＭデータを伸長する装置であって、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロックについて前記ビット数ｉの設定値を判別するビット数判別手段と、
圧縮された前記ＰＣＭデータから、前記サンプル・ブロック中の前記サンプルの各々について前記第１ビット群の使用の有無を判定する第１ビット群使用判定手段と、
判別した前記ビット数ｉの設定値と前記第１ビット群の使用の有無の判定結果とを用いて、圧縮された前記ＰＣＭデータを伸長するデータ伸長手段とを備えてなることを特徴とする。
【００２９】
本発明のＰＣＭデータ伸長装置では、本発明のＰＣＭデータ伸長方法について上記（３）で説明したのと同じ理由により、本発明のＰＣＭデータ圧縮方法によって圧縮された前記ＰＣＭデータを伸長することができる。
【００３０】
本発明のＰＣＭデータ伸長装置の好ましい例では、圧縮された前記ＰＣＭデータが、前記ビット数ｉの設定値を示す第１ビット群ビット数表示部と、前記第１ビット群の使用の有無を前記サンプル毎に示す第１ビット群使用表示部と、前記サンプル・ブロック用のデータ・ビットが格納されるデータ・ビット格納部とを備えており、前記ビット数判別手段は前記第１ビット群ビット数表示部を読みとって前記ビット数ｉの設定値を判別し、前記第１ビット群使用判定手段は前記第１ビット群使用表示部を読みとって前記第１ビット群の使用の有無を判定する。
【発明の効果】
【００３１】
本発明のＰＣＭデータ圧縮方法及び装置では、可逆性を保持しながら、従来のＰＣＭブロック化圧縮・伸長方式によった場合よりもデータ量を小さく圧縮できると共に、同方式よりもサンプル・ブロック長に対する圧縮率（圧縮性能）の依存性を小さくして圧縮処理に最適なブロック長の設定を容易化することができる。
【００３２】
本発明のＰＣＭデータ伸長方法及び装置では、本発明のＰＣＭデータ圧縮方法によって圧縮された前記ＰＣＭデータを伸長することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の好適な実施の形態について、添付図面を参照して詳細に説明する。
【００３４】
（全体構成）
図５は、本発明の一実施形態に係るＰＣＭデータ圧縮装置及びＰＣＭデータ伸長装置が組み込まれたオーディオ・データ処理システムの構成を示す機能ブロック図である。
【００３５】
図５のオーディオ・データ処理システムは、アナログ音響入力装置１と、デジタル変調器２と、圧縮処理装置３と、データ記録装置またはデータ伝送装置４と、伸長処理装置５と、アナログ復調器６と、アナログ音響出力装置７とを有している。このシステムは、音声や音楽等のアナログ音響（音波）データをＰＣＭ符号化した後、可逆性を保持しながら圧縮して記録または伝送することができ、さらに、圧縮して記録または伝送したデータを必要に応じて伸長して元のアナログ音響（音波）を再生することが可能である。
【００３６】
アナログ音響入力装置１は、音声や音楽等のアナログ音響データ（音波）をアナログ電気信号に変換し、アナログ・オーディオ・データを生成して出力する。換言すれば、アナログ音響入力装置１はマイクロフォンと同様の機能を実施する。
【００３７】
デジタル変調器２は、アナログ・デジタル・コンバータ（ＡＤＣ）であり、アナログ音響入力装置１より送られるアナログ・オーディオ・データに対してデジタル変調（ＰＣＭ符号化）を行い、ＰＣＭオーディオ・データを生成して出力する。
【００３８】
圧縮処理装置３は、本発明の一実施形態に係るＰＣＭデータ圧縮装置であり、デジタル変調器２から送られるＰＣＭオーディオ・データに対して可逆（無損失）圧縮を行って、オーディオ・データのビット・ストリームを生成・出力する。
【００３９】
データ記録装置またはデータ伝送装置４は、圧縮処理装置３から送られるオーディオ・データのビット・ストリームを所定の記録媒体（メモリ、ハードディスク、フロッピィディスク、コンパクト・ディスク等）に記録し、あるいは当該ビット・ストリームを有線・無線のアナログ回線網やデジタル回線網等の伝送路を通じて所定箇所に伝送する。
【００４０】
伸長処理装置５は、本発明の一実施形態に係るＰＣＭデータ伸長装置であり、データ記録装置またはデータ伝送装置４から送られるオーディオ・データのビット・ストリームに対して伸長処理を行って、ＰＣＭオーディオ・データを生成・出力する。伸長により生成されたＰＣＭオーディオ・データは、デジタル変調器２が出力したＰＣＭオーディオ・データと完全に同一（ビット一致）である。
【００４１】
アナログ復調器６は、デジタル変調器２と逆の動作を行うデジタル・アナログ・コンバータ（ＤＡＣ）であり、伸長処理装置５より送られるＰＣＭオーディオ・データに対してデジタル復調（ＰＣＭ復号化）を行い、アナログ・オーディオ・データを生成して出力する。
【００４２】
アナログ音響出力装置７は、アナログ復調器６より出力されるアナログ・オーディオ・データ（アナログ電気信号）をアナログ音響データ（音波）に変換し、元の音響を再生する。換言すれば、アナログ音響出力装置７はスピーカと同様の機能を実施する。
【００４３】
（圧縮処理装置３の構成）
次に、図３を参照しながら圧縮処理装置（ＰＣＭデータ圧縮装置）３の構成を説明する。
【００４４】
図３に示すように、圧縮処理装置３は、サンプル・ブロック生成手段３１とサンプル分割手段３２とデータ圧縮手段３３とを備えている。
【００４５】
サンプル・ブロック生成手段３１は、図６に示すように、デジタル変調器２より送られるＰＣＭオーディオ・データ（２ｍビットのＰＣＭ符号化されたデジタル音響データ）（ｍは正の整数）をｎ個（ｎは２以上の正の整数）集めてサンプル・ブロックを生成する。こうして、第１ブロック、第２ブロック、・・・・・というように、ＰＣＭオーディオ・データのサンプル・ブロックの系列を生成する。
【００４６】
サンプル・ビット群分割手段３２は、図７に示すように、各サンプル・ブロック内の各サンプルの２ｍビット・データ（ビット数２ｍのビット群）を、ビット数ｉの「上位ビット群（第１ビット群）」とビット数（２ｍ−ｉ）の「下位ビット群（第２ビット群）」に分割する。そして、（２ｍ−ｉ）ビットで表現可能なサンプルについては、下位ビット群のみで表現するようにし、（２ｍ−ｉ）ビットで表現できないサンプルについては、上位ビット群と下位ビット群の双方を用いて表現するようにする。ビット数ｉは、次のようにして決定する。
【００４７】
まず、サンプル・ブロック中の全サンプルについて、下位ビット群だけでその値を表現できるものと、下位ビット群だけではその値を表現できないものとに分割する。そして、下位ビット群だけでその値を表現できるサンプルについては、必要ビット数を下位ビット群のビット数（２ｍ−ｉ）とし、下位ビット群だけではその値を表現できないサンプルについては、必要ビット数を２ｍとして、ビット数ｉの値を変えながらサンプル・ブロックの総必要ビット数を算出する。その後、ビット数ｉの値を変えながら算出した当該サンプル・ブロックの総必要ビット数を互いに比較して、そのサンプル・ブロックの総必要ビット数すなわち全データ量が最小となるように、ビット数ｉの値を決定するのである。ビット数ｉの値が決定されると、それを用いて当該ブロック内の各サンプルを上位ビット群と下位ビット群の組み合わせに変換する。
【００４８】
すなわち、図８に示すように、ｉの値を０から（２ｍ−１）まで０、１、２、・・・・、（２ｍ−１）と順に変化させて、当該ブロック内の全サンプルの総必要ビット数をそれぞれ算出し、得られた総必要ビット数が最小になる時のｉの値を選択して、当該ブロックの上位ビット群のビット数ｉに設定する。そして、決定されたビット数ｉを用いて、当該ブロック中の各サンプルのデータ・ビット群をｉビットの上位ビット群と（２ｍ−ｉ）ビットの下位ビット群に分割する。換言すれば、各サンプルのデータ・ビット群を、上位ビット群と下位ビット群の組み合わせに変換するのである。
【００４９】
データ圧縮手段３３は、決定されたビット数ｉを用いてｉビットの上位ビット群と（２ｍ−ｉ）ビットの下位ビット群に分割された各サンプルが、下位ビット群の（２ｍ−ｉ）ビットで表現可能か否かを判定する。そして、（２ｍ−ｉ）ビットで表現可能と判定されたサンプルについては、その上位ビット群を削除して（２ｍ−ｉ）ビットの下位ビット群のみで表現するように変換する。こうして、当該サンプルについてはデータ圧縮が行われる。他方、（２ｍ−ｉ）ビットで表現できないと判定されたサンプルについては、そのような変換は行われず、上位ビット群と下位ビット群の双方を使って表現する。つまり、最大量子化ビット数の２ｍビットで表現されたまま保持され、データ圧縮は行われない。このようにして当該ブロックは圧縮され、図９に示すようなデータ構造を持つビット・ストリームが生成される。このデータ構造は、当該ビット・ストリームの先端に「上位ビット群ビット数表示部」が配置され、その次に「上位ビット群使用表示部」が配置され、その次に「データ・ビット格納部」が配置されている。なお、これら三つの領域の配置順序はこれに限定されない。
【００５０】
「上位ビット群ビット数表示部」には、当該サンプル・ブロックの「ビット数ｉ」の設定値［０〜（２ｍ−１）のいずれかの整数］が配置される。このビット数ｉの設定値は、ｍビット・データである。「上位ビット群使用表示部」には、「上位ビット群使用フラグ」が配置される。この上位ビット群使用フラグは、１サンプル当たり１ビットで表現されるから、ｎビット・データである。例えば、あるサンプルが「上位ビット群使用」の場合には対応する上位ビット群使用フラグの値を１とし、「上位ビット群使用」でない場合には同フラグの値を０とする。「データ・ビット格納部」には、オーディオ・データの本体である「データ・ビット・ストリーム」が配置される。このデータ・ビット・ストリームは、ｎ個のサンプルのデータ・ビットを圧縮して所定の順序（例えばｎ個のサンプルの時間的順序）で並べることによって得られたビット群である。データ・ビット・ストリーム中のデータの最小ビット数は（１×ｎ）ビットであり、その最大ビット数は（２ｍ×ｎ）ビットである。したがって、ｎサンプルからなる当該ブロックのデータ総量（総ビット数）は、最小値が［ｍ＋ｎ＋（１×ｎ）］ビットとなり、その最大値が［ｍ＋ｎ＋（２ｍ×ｎ）］ビットとなる。
【００５１】
（圧縮処理装置３の動作）
次に、図１のフローチャートを参照しながら、上記構成を持つ圧縮処理装置（ＰＣＭデータ圧縮装置）３の動作（ＰＣＭデータ圧縮方法）を説明する。
【００５２】
まず、ステップＥ１では、デジタル復調器２から送られるＰＣＭデータのサンプル列を順に入力する。ステップＥ２では、一つのサンプル・ブロックを形成するｎ個のサンプルが蓄積されたか否かを判定する。判定結果がＮｏであればステップＥ１に戻り、判定結果がＹｅｓであればステップＥ３に進む。こうしてステップＥ１とステップＥ２を必要回数繰り返して実施することにより、ｎ個のサンプル含むサンプル・ブロックが生成される。これらのステップＥ１〜Ｅ２はサンプル・ブロック生成手段３１が実行する。
【００５３】
ステップＥ３では、ループ・カウンタｉの値を初期化する、すなわちｉ＝０にセットする。次のステップＥ４では、ループ・カウンタｉの値が上限値（２ｍ−１）を越えたか否かを判定する。この場合、判定結果はＮｏであるからステップＥ５に進み、当該ブロック内の各サンプルについて上位ビット群のビット数ｉをｉ＝０に設定したと仮定してそれらサンプルの値を表現するのに必要な総ビット数をサンプル毎に算出する。そして、ステップＥ６に進み、ループ・カウンタｉの値をｉ＝ｉ＋１（すなわちｉ＝１）に設定してからステップＥ４に戻って、ループ・カウンタｉの値が（２ｍ−１）を越えたか否かを判定する。ステップＥ４での判定結果はＮｏであるから再びステップＥ５に進み、当該ブロック内の各サンプルについて上位ビット数ｉをｉ＝１に設定したと仮定して当該サンプルの値を表現するのに必要な総ビット数をサンプル毎に算出する。
【００５４】
この時、当該サンプル・ブロック中の全サンプルについて、ビット数（２ｍ−ｉ）の下位ビット群だけでその値を表現できるものと、下位ビット群だけではその値を表現できないものとに分割し、下位ビット群だけでその値を表現できるサンプルについては、必要ビット数を下位ビット群のビット数（２ｍ−ｉ）とし、下位ビット群だけではその値を表現できないサンプルについては、必要ビット数を２ｍとして、当該サンプル・ブロックの総必要ビット数を算出する。以後、ループ・カウンタｉの値が（２ｍ−１）を越えたと判定されるまで、つまりｉ＝（２ｍ−１）となるまで、同じ動作を繰り返す。
【００５５】
この状況を図８に示す。「上位ビット群」のビット数ｉがｉ＝０の場合は、図８の上の図のようになり、当該ブロックの全サンプルがビット数２ｍの下位ビット群のみで表現されることになる。この時の当該ブロック中の全サンプルを表現するのに必要な総データ量（総必要ビット数）を計算する。ｉ＝１、２、・・・（＜（２ｍ−１））の場合は、図８の中の図のようになり、当該ブロックの全サンプルがビット数ｉの上位ビット群とビット数（２ｍ−ｉ）の下位ビット群とを組み合わせて表現されることになる。ｉ＝（２ｍ−１）の場合は、図８の下の図のようになり、当該ブロックの全サンプルがビット数（２ｍ−１）の上位ビット群とビット数１の下位ビット群とを組み合わせて表現されることになる。ｉ＝１、２、・・・、（２ｍ−１）の時についても、当該ブロック中の全サンプルを表現するのに必要なデータ量の総和（総必要ビット数）をそれぞれ計算する。
【００５６】
ステップＥ４での判定結果がＹｅｓ、すなわちループ・カウンタｉの値が上限値（２ｍ−１）を越えたと判定されると、ステップＥ７に進み、当該ブロックに使用するｉの値を決定する。このｉの値は、ステップＥ３〜Ｅ６の実行によって得られる当該ブロック中の全サンプルのデータ量の総和（必要総ビット数）が最小になる時のｉの値に設定される。こうして設定されるｉの値が、当該サンプル・ブロックの全サンプルに対して適用される「上位ビット群」のビット数ｉとなる。ｉの値は０〜（２ｍ−１）のいずれかの整数である。ステップＥ３〜Ｅ７はサンプル・ビット群分割手段３２が実行する。
【００５７】
ステップＥ７で当該サンプル・ブロックに使用される「上位ビット群」のビット数ｉの値が決定されると、次のステップＥ８に進む。ステップＥ８では、まず、決定されたｉの値を用いてｉビットの上位ビット群と（２ｍ−ｉ）ビットの下位ビット群に分割された各サンプルが、（２ｍ−ｉ）ビットで表現可能か否かを判定する。そして、（２ｍ−ｉ）ビットで表現可能と判定されたサンプルについては、その上位ビット群を削除して（２ｍ−ｉ）ビットの下位ビット群のみで表現するように変換せしめられる。こうして、当該サンプルについてはデータ圧縮が行われる。他方、（２ｍ−ｉ）ビットで表現できないと判定されたサンプルについては、そのような変換は行われず、上位ビット群と下位ビット群の双方を使って表現される。つまり、最大量子化ビット数の２ｍビットで表現されたまま保持され、データ圧縮は行われない。ステップＥ８はデータ圧縮手段３３が実行する。
【００５８】
なお、こうして決定された「ビット数ｉ」の設定値［０〜（２ｍ−１）のいずれかの整数］は、図９の「上位ビット群ビット数表示部」に格納される。０〜（２ｍ−１）の値はｍビットで表現できるから、「上位ビット群ビット数表示部」のデータ量（総ビット数）はｍビットである。
【００５９】
図９の「上位ビット群使用表示部」にサンプル毎に配置される「上位ビット群使用フラグ」は、次のように決定される。すなわち、（２ｍ−ｉ）ビットで表現可能と判定されたサンプルについては、（２ｍ−ｉ）ビットの下位ビット群のみで表現されるので、上位ビット群は使用されていなく、したがって「上位ビット群使用フラグ」の値は「０」とされる。（２ｍ−ｉ）ビットで表現できないと判定されたサンプルについては、上位ビット群と下位ビット群の双方を使って表現されるので、「上位ビット群使用フラグ」の値は「１」とされる。「上位ビット群使用表示部」には、ｎ個の上位ビット群使用フラグが並ぶことになるから、「上位ビット群使用表示部」のデータ量（総ビット数）はｎビットである。
【００６０】
以上のようにして当該ブロック内のサンプル毎にデータ圧縮のための最適化が行われることにより、元のＰＣＭオーディオ・データは圧縮される。こうして圧縮された当該サンプル・ブロックのデータ本体（データ・ビット・ストリーム）は、図９の「データ・ビット格納部」に所定の順序（例えばｎ個のサンプルの時間的順序）で格納される。その後、図９に示すデータ構造を持つビット・ストリームに構成されて出力される（ステップＥ９）。
【００６１】
なお、図９のビット・ストリームは、サンプル・ブロック毎に生成・出力されるので、実際は図９のデータ構造がサンプル・ブロックの総数分、繰り返されることになる。
【００６２】
（伸長処理装置５の構成）
次に、図４を参照しながら伸長処理装置（ＰＣＭデータ伸長装置）５の構成を説明する。
【００６３】
図４に示すように、伸長処理装置（ＰＣＭデータ伸長装置）５は、ビット数判別手段５１と上位ビット群使用判定手段５２とデータ伸長手段５３とを備えている。
【００６４】
ビット数判別手段５１は、サンプル・ブロック毎に図９のデータ構造を持つビット・ストリームについて、サンプル・ブロック毎に最初のｍビットの「上位ビット群ビット数表示部」を調べて当該ｍビット・データが表現する値を読みとり、もって当該ブロックの上位ビット数ｉの設定値を判別する。
【００６５】
上位ビット群使用判定手段５２は、サンプル・ブロック毎に、最初のｍビットに続くｎビットの「上位ビット群使用フラグ」を調べて各ビットが表現する値を読みとり、もって当該ブロック中の各サンプルについて上位ビット使用の有無を判定する。「上位ビット群使用フラグ」は、「上位ビット群使用表示部」に配置されている。
【００６６】
データ伸長手段５３は、サンプル・ブロック毎に、「上位ビット使用フラグ」に続く「データ・ビット格納部」に格納されているＰＣＭデータの本体であるデータ・ビット・ストリームを調べる。そして、各サンプル・ブロック中で「上位ビット群の使用有り」と判定された各サンプルは、（２ｍ−ｉ）ビットの下位ビット群のみで表現されているものであり、（２ｍ−ｉ）ビットに圧縮されているものであるから、例えば当該サンプルの上位に値「０」を持つビットをｉ個付加することにより、元の２ｍビットのサンプルに伸長・再生する。これに対し、各サンプル・ブロック中で「上位ビット群の使用なし」と判定された各サンプルは、ｉビットの上位ビット群と（２ｍ−ｉ）ビットの下位ビット群の双方で表現されており、圧縮されていないから、上位ビット群に続いて下位ビット群をそのまま並べることにより、元の２ｍビットのサンプルを再生する。こうしてサンプル・ブロック毎に伸長・再生されたサンプルは、再びサンプル・ブロック毎に順に配置され、元のＰＣＭオーディオ・データに変換されて出力される。
【００６７】
（伸長処理装置５の動作）
次に、図２のフローチャートを参照しながら、上記構成を持つ伸長処理装置５の動作（ＰＣＭデータ伸長方法）を説明する。
【００６８】
まず、ステップＤ１では、データ記録装置またはデータ伝送装置４から送られる図９のデータ構造を持つビット・ストリームを順に入力する。ステップＤ２では、そのビット・ストリームについて、サンプル・ブロック毎に最初のｍビットの「上位ビット群ビット数表示部」を調べて当該ｍビット・データが表現する値を読みとり、もって当該ブロックの上位ビット数ｉの設定値を判別する。ステップＤ１〜Ｄ２は、ビット数判別手段５１が実行する。
【００６９】
次のステップＤ３では、サンプル・ブロック毎に、最初のｍビットに続くｎビットの「上位ビット使用フラグ」を調べて各ビットが表現する値を読みとり、もって当該ブロック中の各サンプルが上位ビット群を使用しているか否かを判定する。このステップＤ３は、上位ビット群使用判定手段５２が実行する。
【００７０】
次のステップＤ４では、サンプル・ブロック毎に、「上位ビット使用フラグ」に続く「データ・ビット格納部」に格納されたＰＣＭデータ本体であるデータ・ビット・ストリームを調べる。そして、「上位ビット使用フラグ」の値から「上位ビット群の使用有り」と判定された各サンプルについては、（２ｍ−ｉ）ビットに圧縮されているから、例えば当該サンプルの上位に値「０」を持つビットをｉ個付加することにより、元の２ｍビットのサンプルに伸長・再生する。「上位ビット使用フラグ」の値から「上位ビット群の使用なし」と判定された各サンプルは、圧縮されていないから、上位ビット群に続いて下位ビット群をそのまま並べることにより、元の２ｍビットのサンプルを再生する。ステップＤ４はサンプル・データ伸長手段５３が実行する。
【００７１】
次のステップＤ５では、一つのサンプル・ブロックを形成するｎ個のサンプル・データが蓄積されたか否かを判定する。判定結果がＮｏであればステップＤ４に戻り、判定結果がＹｅｓであれば次のステップＤ６に進む。こうしてステップＤ４とステップＤ５を必要回数繰り返して実施することにより、ｎ個のサンプル・データを含むサンプル・ブロックが生成される。ステップＤ５もサンプル・データ伸長手段５３が実行する。
【００７２】
ステップＤ６では、こうして伸長・再生されたＰＣＭデータのサンプル・ブロックが出力されるが、その時にこれらのサンプル・ブロックは所定の順に配置され、元のＰＣＭオーディオ・データに変換される。ステップＤ６もサンプル・データ伸長手段５３が実行する。
【００７３】
以上詳細に述べたように、本発明の一実施形態に係るＰＣＭデータ圧縮装置（圧縮処理装置）３では、元データを量子化ビット数２ｍ（ｍは正の整数）でＰＣＭ方式により符号化して得られたＰＣＭオーディオ・データを、ｎ個（ｎは２以上の正の整数）のサンプル毎に区切ってｎ個のサンプルからなるサンプル・ブロックを生成する。そして、前記サンプル・ブロック中の各サンプルについて、ビット数２ｍのビット群を、ビット数ｉの上位ビット群（第１ビット群）とビット数（２ｍ−ｉ）の下位ビット群（第２ビット群）とに分割する。上位ビット群のビット数ｉの値は、前記サンプル・ブロックの全データ量（総必要ビット数）が最小となるように設定する。その後、設定された前記ビット数ｉの値を用いて前記第２ビット群だけで表現できる前記サンプルについて、前記第２ビット群だけで表現されるように変換する。このように、前記サンプル・ブロックに含まれるサンプル毎に、当該サンプル・ブロックの全データ量（必要総ビット数）が最小となるように設定された前記ビット数ｉを用いて、ビット数（２ｍ−ｉ）の前記第２ビット群だけで表現できる前記サンプルについて前記第２ビット群だけで表現されるように変換するので、各サンプル・ブロック内においてデータ圧縮効率が向上し、当該ＰＣＭデータ全体の圧縮率を上昇できる、すなわち、従来のＰＣＭブロック化圧縮・伸長方式によった場合よりもデータ量を小さく圧縮できる。
【００７４】
また、圧縮した前記ＰＣＭオーディオ・データを伸長する際には、前記サンプル・ブロックについて上位ビット群のビット数ｉの設定値を判別すると共に、当該サンプル・ブロック中の前記サンプルの各々について上位ビット群の使用の有無を判別することにより、上位ビット群を使用した前記サンプルの各々を量子化ビット数２ｍにより表現したものに再生できる。圧縮の際に情報の損失はないので、可逆性は保持される。よって、良好な音質を保ちながらデータ量を小さくすることができる。
【００７５】
さらに、本発明の一実施形態に係るＰＣＭデータ圧縮装置３では、前記サンプル・ブロックに含まれるサンプル毎に、当該サンプル・ブロックの全データ量（必要総ビット数）が最小となるように前記ビット数ｉの値を決定するので、各サンプル・ブロックの量子化ビット数が、当該サンプル・ブロック内のサンプル・データの最大値を表現するために必要な量子化ビット数で一意に決まる従来のＰＣＭブロック化圧縮・伸長方式によった場合よりも、サンプル・ブロック長に対する圧縮率（圧縮性能）の依存性が小さくなり、圧縮処理に最適なブロック長の設定が容易となる。
【００７６】
また、ＰＣＭデータ伸長装置５では、サンプル・ブロック毎に図９のデータ構造を持つビット群からなるビット・ストリームについて、サンプル・ブロック毎に最初のｍビットを調べて当該ｍビット・データが表現する値を読みとり、もって当該ブロック用の上位ビット群のビット数ｉの設定値を判別する。そして、最初のｍビットに続くｎビットを調べて各ビットが表現する値を読み取ることにより、当該ブロック中の各サンプルについて上位ビット群使用の有無を判定する。そして、それらｎビットに続くビット・ストリームを調べることによって圧縮されたサンプルを２ｍビットに伸長して再生する。「上位ビット群使用なし」と判定されたサンプルは、圧縮されていないから、上位ビット群に続いて下位ビット群をそのまま並べることにより、元の２ｍビットのサンプルを再生する。このため、ＰＣＭデータ圧縮装置３で圧縮されたＰＣＭオーディオ・データを、良好な音質を保ちながら伸長・再生することができる。
【００７７】
（具体例）
次に、本発明の理解をいっそう容易にするため、上述した実施形態においてｍ＝４、ｎ＝４４１００とした具体例について説明する。
【００７８】
デジタル変調器２が、アナログ音響入力装置１より送られるアナログ・オーディオ・データに対して、一般的なデジタル音楽データ・フォーマットである、サンプリング周波数４４．１ｋＨｚ、量子化ビット数（量子化精度）１６（＝２４）ビットでデジタル変調（ＰＣＭ符号化）されたＰＣＭオーディオ・データを生成・出力する場合について説明する。
【００７９】
この場合、圧縮処理装置（ＰＣＭデータ圧縮装置）３は、１秒当たり７０５６００ビット（４４１００サンプル×１６ビット）で入力されるデジタル音響データについて、４４１個のサンプルを１個のサンプル・ブロック（１０ミリ秒分のサンプル数に相当）として取り扱う（図１０参照）。各サンプル・ブロック内の各サンプルの１６ビット・データを、ビット数ｉの上位ビット群と、ビット数（１６−ｉ）の下位ビット群に分割し、（１６−ｉ）ビットで表現可能なサンプルについて圧縮処理を行う（図１１）。上位ビット数ｉの値は、０〜１５の範囲で、各サンプル・ブロック毎に当該ブロック内の全サンプルのデータ量（ビット数）の総和が最小になるように設定する。
【００８０】
図１のステップＥ２では、一つのサンプル・ブロックを形成する４４１個のサンプルが蓄積されたか否かを判定する。判定結果がＮｏであればステップＥ１に戻り、判定結果がＹｅｓであればステップＥ３に進む。こうしてステップＥ１とステップＥ２を必要回数繰り返して実施することにより、４４１個のサンプル・データを含むサンプル・ブロックが生成される。ステップＥ４では、ループ・カウンタｉの値が（２４−１）＝１６−１＝１５を越えたか否かを判定する。そして、ループ・カウンタｉの値が１５を越えたと判定されるまで同じ動作を繰り返す。
【００８１】
ステップＥ４での判定結果がＹｅｓ、すなわちループ・カウンタｉの値が１５を越えたと判定されると、ステップＥ７で当該ブロックに使用するｉの値を決定する。このｉの値は、当該サンプル・ブロックの上位ビット群のビット数ｉであり、０〜１５の範囲のいずれかの値をとる（図１２を参照）。
【００８２】
１６ビットで量子化されたサンプルは、−３２７６８〜＋３２７６７の値をとることができる。例えばｉ＝５の場合、上位ビット群のビット数は５ビット、下位ビット群のビット数は１１ビットとなるから、下位ビット群は−１０２４〜＋１０２３の値をとることができる。したがって、あるサンプルの値（振幅）が−１０２４〜＋１０２３の範囲内にあれば、そのサンプルは１１ビットすなわち下位ビットのみで表現できる。すなわち、データ圧縮できることになる。サンプルの値が−１０２４〜＋１０２３の範囲を越えているときは、そのまま１６ビットで表現する（図１１を参照）。これらの処理は１ブロック（４４１サンプル）単位で行う。
【００８３】
例えば、あるサンプル・ブロックにおいて、全４４１サンプルのうちの２００サンプルが−１０２４〜＋１０２３の範囲内に収まり、残りの２４１サンプルがその範囲外であるとすると、当該ブロック中の全サンプルを表現するのに必要な総ビット数は、
２００サンプル×１１ビット＋２４１サンプル×１６ビット＝４８５１ビットである。
【００８４】
ステップＥ４〜Ｅ６では、これと同様の計算をｉの値をｉ＝０からｉ＝１５まで１ずつ変えながら１６回行い、ｉ＝０〜１５のそれぞれについて当該ブロックに必要な総ビット数を計算する。そして、それら総ビット数の中で値が最小となる時のｉの値を採用し、当該ブロックの上位ビット群のビット数に設定する（ステップＥ７）。
【００８５】
ステップＥ８〜Ｅ９では、決定されたビット数ｉの値を用いて、図１３に示すデータ構造を持つ当該ブロックのビット・ストリームを生成して出力する。このビット・ストリームは、図１３に示すように、三つの領域から構成される。
【００８６】
すなわち、最初の４ビットは、上位ビット群のビット数ｉの設定値（０〜１５）を示す「上位ビット群ビット数表示部」である。続く４４１ビットは、「上位ビット使用フラグ（上位ビット群使用表示部）」で、上位ビットを使用しているか否かを示す。換言すれば、各サンプルの値が（１６−ｉ）ビットで表現できる範囲内にあるか否かを示す（１サンプル毎に１ビットが使用される）。残りの部分が圧縮されたオーディオ・データの本体であり、第１サンプルから第４４１サンプルまでが順に左（先頭に近い側）から詰めて格納されている。例えばｉ＝５の場合に、上位ビット群使用フラグのビット群が、１，０，１，０，０，１・・・・と続いているならば、オーディオ・データ（本体）は上位ビット群使用フラグの端に隣接して左端から右側に向かって１６ビット、１１ビット、１６ビット、１１ビット、１１ビット、１６ビット・・・・・と順に詰めて格納されるのである。なお、これは、上位ビット使用フラグの値が「１」の場合に「上位ビット使用」、「０」の場合に「上位ビット使用せず」と定義した場合であるが、これとは逆に、上位ビット使用フラグの値が「０」の場合に「上位ビット使用」、「１」の場合に「上位ビット使用せず」と定義した場合も、同様にしてデータ格納が可能である。
【００８７】
伸長処理装置（ＰＣＭデータ伸長装置）５は、ステップＤ１では、データ記録装置またはデータ伝送装置４から送られる図１３のデータ構造を持つビット・ストリームを順に入力する。ステップＤ２では、そのビット・ストリームについて、サンプル・ブロック毎に最初の４ビットを調べてそれが表現する値を読みとり、もって当該ブロックの上位ビット数ｉの設定値を判別する。次のステップＤ３では、最初の４ビットに続く４４１ビットの「上位ビット群使用フラグ」を調べて各ビットが表現する値を読みとり、もって当該ブロック中の各サンプルについて上位ビット群使用の有無を判定する。
【００８８】
次のステップＤ４では、「上位ビット群使用フラグ」に続くＰＣＭデータ本体であるデータ・ビット・ストリームを調べ、そして、各サンプルの上位ビット群使用の有無に応じて（１６−ｉ）ビット（ｉ＝１〜１５）に圧縮された各サンプル・データを元の１６ビットに伸長する。そして、次のステップＤ５において、一つのサンプル・ブロックを形成する４４１個のサンプル・データが蓄積されたか否かを判定する。判定結果がＮｏであればステップＤ４に戻り、判定結果がＹｅｓであれば次のステップＤ６に進む。こうしてステップＤ４とステップＤ５を必要回数繰り返して実施することにより、４４１個のサンプルを含むサンプル・ブロックが生成される。ステップＤ６では、こうして生成されＰＣＭオーディオ・データのサンプルがサンプル・ブロックの形で出力される。
【００８９】
（変形例）
上述した実施形態は本発明を具体化した例を示すものであり、したがって本発明はこの実施形態に限定されるものではなく、本発明の趣旨を外れることなく種々の変形が可能であることは言うまでもない。例えば、上記実施形態では、一般的なデジタル音楽データ・フォーマットである、標本周波数４４．１ｋＨｚ、量子化ビット数１６ビットでデジタル変調（ＰＣＭ符号化）されたＰＣＭオーディオ・データについて具体例を挙げているが、本発明によれば圧縮・伸長の処理に可逆性が保証されるため、どのようなデータにも適用が可能である。例えば、差分ＰＣＭデータ、適応差分ＰＣＭデータのような、ゼロクロスを含む交流成分を有するデータや総体的に振幅値の小さいデータに適用することにより、いっそう高い圧縮効率を得ることが可能である。
【００９０】
また、上述した実施形態ではオーディオ・データの圧縮・伸長について述べているが、本発明はこれに限定されず、元データを量子化ビット数２ｍでＰＣＭ方式で符号化して得られるＰＣＭデータであれば、オーディオ・データ以外の任意のデータにも本発明を適用することができる。
【図面の簡単な説明】
【００９１】
【図１】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）の動作を示すフローチャートである。
【図２】本発明の一実施形態に係るＰＣＭデータ伸長処理装置（伸張処理装置）の動作を示すフローチャートである。
【図３】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）の構成を示す機能ブロック図である。
【図４】本発明の一実施形態に係るＰＣＭデータ伸長処理装置（伸張処理装置）の構成を示す機能ブロック図である。
【図５】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置とＰＣＭデータ伸長処理装置が組み込まれたオーディオ・データ処理システムの構成を示す機能ブロック図である。
【図６】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）におけるＰＣＭデータのサンプルのブロック化を一般的に示す概念図である。
【図７】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）におけるＰＣＭデータのサンプルを二分割する方法を一般的に示す概念図である。
【図８】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）におけるＰＣＭデータのサンプルの上位ビット群のビット数ｉを算出する方法を一般的に示す概念図である。
【図９】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）で圧縮されたＰＣＭデータのサンプル・ブロックのデータ構造を一般的に示す概念図である。
【図１０】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）におけるＰＣＭデータのサンプルのブロック化を具体的に示す概念図である。
【図１１】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）におけるＰＣＭデータのサンプルを二分割する方法を具体的に示す概念図である。
【図１２】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）におけるＰＣＭデータのサンプルの上位ビット群のビット数ｉを算出する方法を具体的に示す概念図である。
【図１３】本発明の一実施形態に係るＰＣＭデータ圧縮処理装置（圧縮処理装置）で圧縮されたＰＣＭデータのサンプル・ブロックのデータ構造を具体的に示す概念図である。
【符号の説明】
【００９２】
１  アナログ音響入力装置
２  デジタル変調器
３  圧縮処理装置（ＰＣＭデータ圧縮装置）
３１  サンプル・ブロック生成手段
３２  サンプル・ビット群分割手段
３３  データ圧縮手段
４  データ記録装置またはデータ伝送装置
５  伸長処理装置（ＰＣＭデータ伸長装置）
５１  ビット数判別手段
５２  上位ビット群使用判定手段
５３  データ伸長手段
６  アナログ復調器
７  アナログ音響出力装置
【図１】
2005151327.tif 000003
【図２】
2005151327.tif 000004
【図３】
2005151327.tif 000005
【図４】
2005151327.tif 000006
【図５】
2005151327.tif 000007
【図６】
2005151327.tif 000008
【図７】
2005151327.tif 000009
【図８】
2005151327.tif 000010
【図９】
2005151327.tif 000011
【図１０】
2005151327.tif 000012
【図１１】
2005151327.tif 000013
【図１２】
2005151327.tif 000014
【図１３】
2005151327.tif 000015