(57)【要約】【課題】  本発明はデータの圧縮および圧縮解除に関し、より具体的に言えば、信号データを圧縮および圧縮解除するための方法および装置に関する。【解決手段】  本発明の実施形態では、信号データを取得すること、信号データが分割される複数のデータ・ブロックのブロック長さを決定し、データ・ブロックの指数を決定すること、データ・ブロックに含まれる信号データを圧縮するために、データ・ブロックの指数を使用することによってデータ・ブロックの仮数シーケンスを形成すること、および、データ・ブロックのブロック長さ、指数、および仮数シーケンスを使用することによって圧縮データ・ブロックを形成することを含む、信号データを圧縮するための方法が開示される。信号データの動的特徴に適合された可変長データ・ブロックを構築することによって、本発明の信号データを圧縮するための方法は、信号データの圧縮比を増加させる。【選択図】  図４
2013251895.tif 000002
【特許請求の範囲】
【請求項１】
信号データを取得すること、
前記信号データが分割される複数のデータ・ブロックのブロック長さを決定し、前記データ・ブロックの指数を決定すること、
前記データ・ブロックに含まれる信号データを圧縮するために、前記データ・ブロックの前記指数を使用することによってデータ・ブロックの仮数シーケンスを形成すること、および、
前記データ・ブロックの前記ブロック長さ、前記指数、および前記仮数シーケンスから、圧縮データ・ブロックを形成すること、
を含む、信号データを圧縮するための方法。
【請求項２】
前記信号データが分割される複数のデータ・ブロックのブロック長さ、および前記データ・ブロックの指数を決定することは、
１）初期に前記信号データを複数のデータ・ブロックに分割すること、
２）前記データ・ブロックに含まれる信号データの指数に従って、データ・ブロックの前記指数を計算することであって、Ｅ（Ｂ）は前記データ・ブロックＢの指数として定義され、
【数１】
2013251895.tif 000006
上式で、ｅ（ｄｊ）は信号データｄｊの指数を示し、前記信号データｄｊの符号ビットの次のビットから右方向にカウントする連続ビットの数として定義され、前記連続ビットのそれぞれは前記符号ビットの数値と同一の値を有する、計算すること、
３）２つの隣接データ・ブロックの前記指数、ブロック長さトークンのビット数、指数トークンのビット数、および前記ブロック長さに従って、前記２つの隣接データ・ブロックのマージング利得を計算すること、
４）最大マージング利得を取得するために前記マージング利得を比較すること、
５）前記最大マージング利得が０より大きいか否かを判定すること、
６）前記判定結果が「Ｙｅｓ」であることに応答して、前記最大マージング利得に対応する前記２つの隣接データ・ブロックをマージし、ステップ３）に戻ること、
７）前記判定結果が「Ｎｏ」であることに応答して、最新のマージング結果に従って、前記信号データが分割される複数のデータ・ブロックの前記ブロック長さを決定すること、
を含む、請求項１に記載の方法。
【請求項３】
前記データ・ブロックに含まれる信号データを圧縮するために、前記データ・ブロックの前記指数を使用することによって前記データ・ブロックの仮数シーケンスを形成することは、符号ビットの次のビットからの前記データ・ブロックに含まれる信号データを圧縮することを含み、前記信号データが圧縮される前記ビット数は前記データ・ブロックの前記指数によって決定され、前記圧縮データ・ブロックは前記データ・ブロックの仮数シーケンスを形成する、請求項１または２に記載の方法。
【請求項４】
前記データ・ブロックの前記ブロック長さ、前記指数、および前記仮数シーケンスから、圧縮データ・ブロックを形成することは、
所定のビット数に従って前記データ・ブロックの前記ブロック長さからブロック長さトークンを生成すること、
所定のビット数に従って前記データ・ブロックの前記指数から指数トークンを生成すること、
前記ブロック長さトークン、前記指数トークン、および前記仮数シーケンスを組み合わせて、高から低へのビット順で圧縮データ・ブロックにすること、
を含む、請求項３に記載の方法。
【請求項５】
前記ブロック長さトークンは、所定のビット数に従って、前記データ・ブロックの前記ブロック長さに対して２進コーディングを実行することによって生成され、前記指数トークンは、所定のビット数に従って前記データ・ブロックの前記指数に対して２進コーディングを実行することによって生成される、請求項４に記載の方法。
【請求項６】
圧縮信号データを取得すること、
前記圧縮信号データからデータ・ブロックのブロック長さおよび指数を取得すること、
前記データ・ブロックの前記ブロック長さおよび前記指数に従って、前記データ・ブロックの仮数シーケンスを取得すること、および、
前記仮数シーケンスおよび前記指数を使用することによって、前記データ・ブロックに対応する元の信号データを復元すること、
を含む、圧縮信号データを圧縮解除するための方法。
【請求項７】
圧縮信号データからデータ・ブロックのブロック長さおよび指数を取得することは、
所定のビット数に従って前記圧縮信号データから長さトークンおよび指数トークンを抽出すること、
前記長さトークンを前記データ・ブロックのブロック長さに変換すること、および
前記指数トークンを前記データ・ブロックの指数に変換すること、
を含む、請求項６に記載の方法。
【請求項８】
前記データ・ブロックの前記ブロック長さおよび前記指数に従って、前記データ・ブロックの仮数シーケンスを取得することは、
前記指数に従って、前記データ・ブロックに含まれる各信号データが圧縮される前記ビット数を決定すること、
前記データ・ブロックの前記ブロック長さおよび前記データ・ブロックが圧縮される前記ビット数に従って、仮数シーケンスの長さを決定すること、および、
前記仮数シーケンスの前記長さに従って、前記圧縮信号データから前記仮数シーケンスを取得すること、
を含む、請求項７に記載の方法。
【請求項９】
信号データを取得するように構成された取得モジュールと、
前記信号データが分割される複数のデータ・ブロックのブロック長さを決定し、前記データ・ブロックの指数を決定するように構成された、ブロック長さおよび指数決定モジュールと、
前記データ・ブロックに含まれる信号データを圧縮するために前記データ・ブロックの前記指数を使用することによって、前記データ・ブロックの仮数シーケンスを形成するように構成された、仮数シーケンス形成モジュールと、
前記データ・ブロックの前記ブロック長さ、前記指数、および前記仮数シーケンスを使用することによって、圧縮データ・ブロックを形成するように構成された、圧縮データ・ブロック形成モジュールと、
を備える、信号データを圧縮するための装置。
【請求項１０】
前記ブロック長さおよび指数決定モジュールは、
初期に前記信号データを複数のデータ・ブロックに分割するように構成された初期データ・ブロック分割モジュールと、
前記データ・ブロックに含まれる信号データの指数に従って、データ・ブロックの指数を計算するように構成された指数計算モジュールであって、ここでＥ（Ｂ）はデータ・ブロックＢの指数として定義され、
【数２】
2013251895.tif 000007
上式で、ｅ（ｄｊ）は信号データｄｊの指数を示し、信号データｄｊの符号ビットの次のビットから右方向にカウントする連続ビットの数として定義され、連続ビットのそれぞれは前記符号ビットの数値と同一の値を有する、指数計算モジュールと、
２つの隣接データ・ブロックの指数、ブロック長さトークンのビット数、指数トークンのビット数、および前記ブロック長さに従って、前記２つの隣接データ・ブロックのマージング利得を計算するように構成された、マージング利得計算モジュールと、
最大マージング利得を取得するために前記マージング利得を比較するように構成された、マージング利得比較モジュールと、
前記最大マージング利得が０より大きいか否かを判定するように構成された、判定モジュールと、
前記判定結果が「Ｙｅｓ」であることに応答して、前記最大マージング利得に対応する２つの隣接データ・ブロックをマージするように構成された、マージング・モジュールと、
前記判定結果が「Ｎｏ」であることに応答して、最新のマージング結果に従って、前記信号データが分割される複数のデータ・ブロックのブロック長さを決定するように構成された、ブロック長さ決定モジュールと、
を備える、請求項９に記載の装置。
【請求項１１】
前記仮想シーケンス形成モジュールは、符号ビットの次のビットからの前記データ・ブロックに含まれる信号データを圧縮するように構成され、前記信号データが圧縮される前記ビット数は前記データ・ブロックの前記指数によって決定され、前記圧縮データ・ブロックは前記データ・ブロックの仮数シーケンスを形成する、請求項９または１０に記載の装置。
【請求項１２】
前記圧縮データ・ブロック形成モジュールは、
所定のビット数に従って前記データ・ブロックの前記ブロック長さからブロック長さトークンを生成すること、
所定のビット数に従って前記データ・ブロックの前記指数から指数トークンを生成すること、
前記ブロック長さトークン、前記指数トークン、および前記仮数シーケンスを組み合わせて、高から低へのビット順で圧縮データ・ブロックにすること、
を実行するように構成される、請求項１１に記載の装置。
【請求項１３】
前記ブロック長さトークンは、所定のビット数に従って、前記データ・ブロックの前記ブロック長さに対して２進コーディングを実行することによって生成され、前記指数トークンは、所定のビット数に従って前記データ・ブロックの前記指数に対して２進コーディングを実行することによって生成される、請求項１２に記載の装置。
【請求項１４】
圧縮信号データを取得するように構成された取得モジュールと、
前記圧縮信号データからデータ・ブロックのブロック長さおよび指数を取得するように構成された、ブロック長さおよび指数取得モジュールと、
前記データ・ブロックの前記ブロック長さおよび前記指数に従って、前記データ・ブロックの仮数シーケンスを取得するように構成された、仮数シーケンス取得モジュールと、
前記仮数シーケンスおよび前記指数を使用することによって、前記データ・ブロックに対応する元の信号データを復元するように構成された、信号データ復元モジュールと、
を備える、圧縮信号データを圧縮解除するための装置。
【請求項１５】
前記ブロック長さおよび指数取得モジュールは、
所定のビット数に従って前記圧縮信号データから長さトークンおよび指数トークンを抽出すること、
前記長さトークンを前記データ・ブロックのブロック長さに変換すること、および
前記指数トークンを前記データ・ブロックの指数に変換すること、
を実行するように構成される、請求項１４に記載の装置。
【請求項１６】
前記仮数シーケンス取得モジュールは、
前記指数に従って、前記データ・ブロックに含まれる各信号データが圧縮される前記ビット数を決定すること、
前記データ・ブロックの前記ブロック長さおよび前記データ・ブロックが圧縮される前記ビット数に従って、仮数シーケンスの長さを決定すること、および、
前記仮数シーケンスの前記長さに従って、前記圧縮信号データから前記仮数シーケンスを取得すること、
を実行するように構成される、請求項１５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータの圧縮および圧縮解除（decompression）に関し、より具体的に言えば、信号データを圧縮および圧縮解除するための方法および装置に関する。
【背景技術】
【０００２】
無線信号処理の分野、たとえばベース・トランシーバ・システムまたは情報獲得および処理システムでは、信号は典型的には２つの直交データ分岐、すなわちＩおよびＱのデータ分岐に変調され、デジタル信号プロセッサでは、２つのデータ分岐ＩおよびＱは通常、固定長固定小数点数によって表される（例として１６ビットのアナログ・デジタル変換器を取りし、アナログ信号が入力された場合、出力される２つのデータ分岐ＩおよびＱはどちらも１６ビットの２進固定小数点数である）。これらのＩ／Ｑデータは以下の特徴を有する。
【０００３】
（１）  相対的に大きなデータ・セット。例として１６ビットのＩ／Ｑデータを取ると、データ・セットのサイズは２１６である。
【０００４】
（２）相対的に低い割合の単一の数値の発生頻度。通常は１％未満である。
【０００５】
（３）  連続データの近い値範囲。例として１６ビットのＩ／Ｑデータを取ると、いくつかの連続データは［２６，２７］の範囲内に入る可能性がある。
【０００６】
前述の特徴を備えるＩ／Ｑ信号データの圧縮で、リソースのより効率的な使用が可能となる。具体的に言えば、ベース・トランシーバ・システムでは、圧縮器は信号データに対する圧縮を実行し、これによって伝送リンク内の信号データの量を減少させることが可能であるため帯域幅が節約可能であり、情報獲得および処理システムでは、圧縮器は信号データに対する圧縮を実行し、これによって記憶されることになる信号データの量を減少させることが可能であるため記憶デバイスの容量が節約可能である。
【０００７】
しかしながら、統計ベースのハフマン符号化および算術符号化、または辞書ベースの圧縮方法（ＬＺＷなど）のいずれかの、情報エントロピー理論に基づく従来のデータ圧縮方法は、圧縮の複雑さ、圧縮解除の複雑さ、および圧縮効率に関して、決して満足とは言えない。「相対的に大きなデータ・セット」は、圧縮の複雑さおよび圧縮解除の複雑さを相対的に上昇させる、相対的に大きなテーブルを維持および記憶することを意味し、「相対的に低い割合の単一の数値の発生頻度」は、相対的に圧縮効率が悪いことを示唆する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、信号データに関する高効率の圧縮方法が求められている。
【課題を解決するための手段】
【０００９】
前述の問題に鑑み、本発明は、信号データを圧縮するための方法および装置、ならびに圧縮信号データを圧縮解除するための方法および装置を提供する。
【００１０】
本発明の第１の態様によれば、信号データを取得すること、信号データが分割される複数のデータ・ブロックのブロック長さを決定し、データ・ブロックの指数を決定すること、データ・ブロックに含まれる信号データを圧縮するために、データ・ブロックの指数を使用することによってデータ・ブロックの仮数シーケンス（mantissa sequence）を形成すること、および、データ・ブロックのブロック長さ、指数、および仮数シーケンスを使用することによって圧縮データ・ブロックを形成することを含む、信号データを圧縮するための方法が提供される。
【００１１】
本発明の第２の態様によれば、圧縮信号データを取得すること、圧縮信号データからデータ・ブロックのブロック長さおよび指数を取得すること、データ・ブロックのブロック長さおよび指数に従って、データ・ブロックの仮数シーケンスを取得すること、および、仮数シーケンスおよび指数を使用することによってデータ・ブロックに対応する元の信号データを復元することを含む、圧縮信号データを圧縮解除するための方法が提供される。
【００１２】
本発明の第３の態様によれば、信号データを取得するように構成された取得モジュールと、信号データが分割される複数のデータ・ブロックのブロック長さを決定し、データ・ブロックの指数を決定するように構成された、ブロック長さおよび指数決定モジュールと、データ・ブロックに含まれる信号データを圧縮するために、データ・ブロックの指数を使用することによってデータ・ブロックの仮数シーケンスを形成するように構成された、仮数シーケンス形成モジュールと、データ・ブロックのブロック長さ、指数、および仮数シーケンスを使用することによって圧縮データ・ブロックを形成するように構成された、圧縮データ・ブロック形成モジュールとを備える、信号データを圧縮するための装置が提供される。
【００１３】
本発明の第４の態様によれば、圧縮信号データを取得するように構成された取得モジュールと、圧縮信号データからデータ・ブロックのブロック長さおよび指数を取得するように構成された、ブロック長さおよび指数取得モジュールと、データ・ブロックのブロック長さおよび指数に従って、データ・ブロックの仮数シーケンスを取得するように構成された、仮数シーケンス取得モジュールと、仮数シーケンスおよび指数を使用することによってデータ・ブロックに対応する元の信号データを復元するように構成された、信号データ復元モジュールとを備える、圧縮信号データを圧縮解除するための装置が提供される。
【００１４】
信号データの動的特徴に適合された可変長データ・ブロックを構築することによって、本発明の実施形態に従った信号データを圧縮するための方法は、信号データの圧縮を堅固にし、それによって信号データの圧縮比を増加させる。
【００１５】
本開示の上記および他の目的、特徴、および利点は、同様の参照番号が一般に本開示の実施形態における同様の構成要素を言い表す添付の図面に関して、本開示の例示の実施形態のより詳細な説明を通じてより明らかとなろう。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態を実装するために適用可能な、例示のコンピュータ・システム１００を示す図である。
【図２】本発明の実施形態に従った、ベース・トランシーバ・システムを示すブロック図である。
【図３】本発明の実施形態に従った、情報獲得および処理システムを示すブロック図である。
【図４】本発明の実施形態に従った、信号データを圧縮するための方法を示す図である。
【図５】本発明の実施形態に従った、信号データが分割される複数のデータ・ブロックのブロック長さおよびデータ・ブロックの指数の決定を示す流れ図である。
【図６】本発明の他の実施形態に従った、信号データが分割される複数のデータ・ブロックのブロック長さおよびデータ・ブロックの指数の決定を示す流れ図である。
【図７】本発明の実施形態に従った、仮数シーケンスおよび圧縮データ・ブロックの生成例を示す図である。
【図８】本発明の実施形態に従った、圧縮信号データを圧縮解除するための方法を示す図である。
【図９】本発明の実施形態に従った、信号データを圧縮するための装置９００を示す図である。
【図１０】本発明の実施形態に従った、信号データを圧縮解除するための装置１０００を示す図である。
【発明を実施するための形態】
【００１７】
本開示のいくつかの好ましい実施形態を、添付の図面を参照しながらより詳細に説明する。本開示の好ましい実施形態は添付の図面内に図示されているが、本開示は様々な様式で実装可能であり、本明細書に開示された実施形態に限定されないことを理解されたい。反対にそれらの実施形態は、本開示を十分かつ完全に理解するために提供され、当業者に対して本開示の範囲を完全に伝達する。
【００１８】
図１は、本発明の実施形態を実装するために使用可能な例示のコンピュータ・システム１００のブロック図を示す。図１に示されるように、コンピュータ・システム１００は、ＣＰＵ（中央処理ユニット）１０１、ＲＡＭ（ランダム・アクセス・メモリ）１０２、ＲＯＭ（読み取り専用メモリ）１０３、システム・バス１０４、ハード・ドライブ・コントローラ１０５、キーボード・コントローラ１０６、直列インターフェース・コントローラ１０７、並列インターフェース・コントローラ１０８、ディスプレイ・コントローラ１０９、ハード・ドライブ１１０、キーボード１１１、直列周辺デバイス１１２、並列周辺デバイス１１３、およびディスプレイ１１４を含むことができる。上記デバイスの中で、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ハード・ドライブ・コントローラ１０５、キーボード・コントローラ１０６、直列インターフェース・コントローラ１０７、並列インターフェース・コントローラ１０８、およびディスプレイ・コントローラ１０９は、システム・バス１０４に結合される。ハード・ドライブ１１０はハード・ドライブ・コントローラ１０５に結合される。キーボード１１１はキーボード・コントローラ１０６に結合される。直列周辺デバイス１１２は直列インターフェース・コントローラ１０７に結合される。並列周辺デバイス１１３は周辺インターフェース・コントローラ１０８に結合される。さらに、ディスプレイ１１４はディスプレイ・コントローラ１０９に結合される。図１に示されるような構造は、本発明に対するいずれの制限でもなく単なる例示のためであることを理解されたい。いくつかのケースでは、特定の状況によって必要とされる場合、いくつかのデバイスをコンピュータ・システム１００に追加すること、またはここから削除することができる。
【００１９】
当業者であれば理解されるように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化可能である。したがって本発明の態様は、完全にハードウェア実施形態、完全にソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または、ソフトウェアおよびハードウェアを組み合わせた実施形態の形を取ることが可能であり、態様は本明細書ではすべて全体として「回路」、「モジュール」、または「システム」と呼ばれる場合がある。さらに本発明の態様は、その上に具体化されるコンピュータ読み取り可能プログラム・コードを有する１つまたは複数のコンピュータ読み取り可能媒体内に具体化される、コンピュータ・プログラム製品の形を取ることができる。
【００２０】
１つまたは複数のコンピュータ読み取り可能媒体の任意の組み合わせが利用可能である。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は、たとえば電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいはそれらの任意の好適な組み合わせとすることができるが、これらに限定されない。コンピュータ読み取り可能記憶媒体のより特定の例（非網羅的リスト）は、１本または複数本のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または上記の任意の好適な組み合わせを含むものとする。本書との関連において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによって、あるいはそれらに関して使用するためのプログラムを、含むかまたは記憶することが可能な、任意の有形媒体とすることができる。
【００２１】
コンピュータ読み取り可能信号媒体は、たとえばベースバンド内または搬送波の一部として、内部に具体化されるコンピュータ読み取り可能プログラム・コードを備えた、伝搬データ信号を含むことができる。こうした伝搬信号は、電磁、光、またはそれらの任意の好適な組み合わせを含むがそれらに限定されない、様々な形のうちのいずれかを取ることができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でなく、命令実行システム、装置、またはデバイスによって、あるいはそれらに関して使用するためのプログラムを、通信、伝搬、または移送可能な、任意のコンピュータ読み取り可能媒体とすることができる。
【００２２】
コンピュータ読み取り可能媒体上に具体化されるプログラム・コードは、無線、優先、光ファイバ・ケーブル、ＲＦなど、または上記の任意の好適な組み合わせを含むがそれらに限定されない、任意の適切な媒体を使用して伝送可能である。
【００２３】
本発明の態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組み合わせで作成可能である。プログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または、完全にリモート・コンピュータまたはサーバ上で、実行可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続可能であるか、あるいは（たとえばインターネット・サービス・プロバイダを使用し、インターネットを介して）外部コンピュータへの接続が可能である。
【００２４】
本発明の態様は、本発明の実施形態に従った方法、装置（システム）、およびコンピュータ・プログラム製品の、流れ図あるいはブロック図またはその両方を参照しながら説明される。流れ図あるいはブロック図またはその両方の各ブロック、および流れ図あるいはブロック図またはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実装可能であることを理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能／動作を実装するための手段を作成するように、汎用コンピュータ、特定用途向けコンピュータ、または機械を生成するための他のプログラマブル・データ処理装置の、プロセッサに提供可能である。
【００２５】
これらのコンピュータ・プログラム命令は、コンピュータ読み取り可能媒体内に記憶された命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能／動作を実装するための命令手段を含む製品を生成するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに対して特定の様式で機能するように指示することが可能な、コンピュータ読み取り可能媒体内に記憶することも可能である。
【００２６】
コンピュータ・プログラム命令は、コンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図あるいはブロック図またはその両方のブロック内に指定された機能／動作を実装するためのプロセスを提供するような、コンピュータ実装プロセスを生成するために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上で一連の動作ステップを実行させるためにコンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードすることも可能である。
【００２７】
図２は、本発明の実施形態に従ったベース・トランシーバ・システムのブロック図を示す。アップリンクの場合、無線遠隔ユニット内の受信器はアンテナから信号を受信し、信号はアナログ・デジタル変換器を介して信号データに変換され、信号データは圧縮器によって圧縮され、さらにデータ伝送リンクを介してベースバンド・ユニットに送信され、圧縮信号データはベースバンド・ユニット内で圧縮解除器によって圧縮解除され、最終的に圧縮解除信号データは後続のベースバンド処理モジュールに送信される。ダウンリンクの場合、ベースバンド・ユニット内のベースバンド処理モジュールは圧縮器にベースバンド信号を送信し、ベースバンド信号は圧縮器によって圧縮され、その後データ伝送リンクを介して無線遠隔ユニットに送信され、無線遠隔ユニット内の圧縮解除器は受信した圧縮信号データを圧縮解除し、さらに圧縮解除信号データをデジタル・アナログ変換器に送信し、ここで圧縮解除信号データは無線信号に変換され、その後送信器によって送信される。本発明の実施形態に従って信号データを圧縮するための方法は、無線遠隔ユニットおよびベースバンド・ユニット内の圧縮器内に実装可能であり、本発明の実施形態に従って圧縮信号データを圧縮解除するための方法は、無線遠隔ユニット内の圧縮解除器内に実装可能であり、ベースバンド・ユニット内の圧縮解除器内にも実装可能である。
【００２８】
図３は、本発明の実施形態に従った情報獲得および処理システムのブロック図を示す。センサ・サブシステムによって獲得された信号はアナログ・デジタル変換器によって信号データに変換され、圧縮器は信号データを圧縮し、圧縮信号データは記憶チャネルまたは通信チャネルによって記憶デバイスに送信され、記憶デバイス内の圧縮信号データは圧縮解除器によって圧縮解除され、その後、圧縮解除信号データは処理のために信号プロセッサに送達される。本発明の実施形態に従って信号データを圧縮するための方法は圧縮器内に実装可能であり、本発明の実施形態に従って圧縮信号データを圧縮解除するための方法は圧縮解除器内に実装可能である。
【００２９】
図４は、本発明の実施形態に従った信号データを圧縮するための方法を示す。方法は、ステップＳ４０１で、信号データを取得すること、ステップＳ４０２で、信号データが分割される複数のデータ・ブロックのブロック長さ、およびデータ・ブロックの指数を決定すること、ステップＳ４０３で、データ・ブロックに含まれる信号データを圧縮するために、指数を使用することによって、データ・ブロックの仮数シーケンスを形成すること、ステップＳ４０４で、データ・ブロックのブロック長さ、指数、および仮数シーケンスから圧縮データ・ブロックを形成することを含む。
【００３０】
ステップＳ４０１で取得される信号データは、アナログ・デジタル変換器によって生成され、あらかじめバッファに記憶される。
【００３１】
図５は、本発明の実施形態に従った、信号データが分割される複数のデータ・ブロックのブロック長さの決定、およびデータ・ブロックの指数の決定の流れ図を示す。
【００３２】
ステップＳ５０１で、Ｎの連続信号データおよびパラメータｍが入力され、ここでｍは、Ｎでぴったりと分割可能な任意の整数である。
【００３３】
ステップＳ５０２で、Ｎの連続信号データは、サイズｍを用いてＮ／ｍのデータ・ブロックＢ１、Ｂ２、．．．Ｂｋに順次分割される。
【００３４】
ステップＳ５０３で、データ・ブロックに含まれる信号データの指数に従って、データ・ブロックの指数が計算され、ここでＥ（Ｂ）はデータ・ブロックＢの指数として定義される。
【数１】
2013251895.tif 000003
上式で、ｅ（ｄｊ）は信号データの指数ｄｊを示し、信号データｄｊの符号ビットの次のビットから右方向にカウントする連続ビットの数として定義され、連続ビットのそれぞれはこの符号ビットの数値と同一の値を有する。
【００３５】
ステップＳ５０４で、２つの隣接データ・ブロックごとのマージング利得Ｇが計算される。具体的に言えば、２つの隣接データ・ブロックのマージング利得は、指数、ブロック長さトークンのビット数、指数トークンのビット数、および２つの隣接データ・ブロックのブロック長さに従って計算される。第一に、２つの隣接データ・ブロックＢｉおよびＢｉ＋１の圧縮量ｖ（Ｂｉ）およびｖ（Ｂｉ＋１）が、それぞれ計算される。次に、２つの隣接データ・ブロックＢｉおよびＢｉ＋１をマージすることによって生成される新しいデータ・ブロックの圧縮量ｖ（Ｂｉ∪Ｂｉ＋１）が計算され、２つの隣接データ・ブロックＢｉおよびＢｉ＋１のマージング利得は、Ｇｉ＋１、ｉ＝ｖ（Ｂｉ∪Ｂｉ＋１）−（ｖ（Ｂｉ）＋ｖ（Ｂｉ＋１））である。所与のデータ・ブロックＢの場合、その圧縮量ｖ（Ｂ）はｖ（Ｂ）＝Ｅ（Ｂ）・｜Ｂ｜−ＴｏｋｅｎＳｉｚｅ＜｜Ｂ｜＞−ＴｏｋｅｎＳｉｚｅ＜Ｅ（Ｂ）＞として計算され、この式で、｜Ｂ｜はデータ・ブロックＢのブロック長さ、すなわち含まれている信号データの数を示し、ＴｏｋｅｎＳｉｚｅ＜｜Ｂ｜＞はデータ・ブロックＢの長さトークンのビット数を示し、ＴｏｋｅｎＳｉｚｅ＜Ｅ（Ｂ）＞はデータ・ブロックＢの指数Ｅ（Ｂ）トークンのビット数を示す。たとえば、データ・ブロックＢの長さトークンおよび指数トークンが３ビット２進数によって示されることが指定された場合、ＴｏｋｅｎＳｉｚｅ＜｜Ｂ｜＞およびＴｏｋｅｎＳｉｚｅ＜Ｅ（Ｂ）＞はどちらも３である。
【００３６】
ステップＳ５０５で、最大マージング利得を取得するように、２つの隣接データ・ブロックごとのマージング利得が比較される。ステップＳ５０６で、最大マージング利得が０より大きいか否かが判定される。大きい場合、ステップＳ５０７で、最大マージング利得に対応する２つの隣接データ・ブロックがマージされ、その後、フローはステップＳ５０４に戻る。大きくない場合、すなわち最大マージング利得が０より小さいかまたは０に等しい場合、ステップＳ５０８で、最新のマージング結果に従って、信号データが分割されるデータ・ブロックのブロック長さが決定される。たとえば、３２の信号データで、最新のマージング結果が８、４、６、４、２、８の場合、これは、３２の信号データが６つのデータ・ブロックに順次分割されることを示し、ここで第１のデータ・ブロックのデータ長さは８であり、すなわち８つの信号データを含み、第２のデータ・ブロックは４つの信号データを含むという具合である。
【００３７】
図６は、本発明の他の実施形態に従った、信号データが分割される複数のデータ・ブロックのブロック長さおよびデータ・ブロックの指数の決定の流れ図を示す。ステップＳ６０１で、Ｎの連続信号データｄｊが入力される。ステップＳ６０２で、Ｎの連続信号データｄｊ（ｊ＝１．．．Ｎ）の指数ｅ（ｄｊ）が計算され、ここで指数ｅ（ｄｊ）は、信号データｄｊの符号ビットの次のビットから右方向にカウントする連続ビットの数として定義され、連続ビットのそれぞれはこの符号ビットの数値と同一の値を有する。ステップＳ６０３で１がｊに割り当てられる。ステップＳ６０４で、２つの隣接信号データの指数ｅ（ｄｊ）およびｅ（ｄｊ＋１）が比較され、｜ｅ（ｄｊ）−ｅ（ｄｊ＋１）｜≦所与のしきい値である場合、２つの隣接信号データｄｊおよびｄｊ＋１がマージされる。ステップＳ６０５で、ｊ＝ｊ＋１である。ステップＳ６０６で、ｊがＮに等しいか否かが判定される。等しくない場合、フローはステップＳ６０４に戻る。等しい場合、ステップＳ６０７で、最新のマージング結果に従って、分割される複数のデータ・ブロックのブロック長さおよびデータ・ブロックの指数が決定され、ここでＥ（Ｂ）はデータ・ブロックＢの指数として定義される。
【数２】
2013251895.tif 000004
【００３８】
次に図４のステップＳ４０３で、データ・ブロックに含まれる信号データは、データ・ブロックの仮シーケンスを形成するように、指数を使用して圧縮される。具体的に言えば、データ・ブロックに含まれる信号データが圧縮されるビット数は、データ・ブロックの指数によって決定される。すなわち、データ・ブロックに含まれる信号データを圧縮することによって低減されるビット数は、データ・ブロックの指数に等しい。圧縮データ・ブロックはデータ・ブロックの仮数シーケンスを形成する。たとえば、データ・ブロックＢの指数Ｅ（Ｂ）が４に等しい場合、データ・ブロックに含まれる各信号データはその符号ビットの次のビットから４ビットだけ圧縮され、これによってデータ・ブロックＢの仮数シーケンスＭ（Ｂ）が取得される。図７は、本発明の実施形態に従った、仮数シーケンスおよび圧縮データ・ブロックの生成例を示し、ここでデータ・ブロックＢ１は信号データｄ１、ｄ２、ｄ３、およびｄ４からなり、データ・ブロックのブロック長さＬ（Ｂ１）は４に等しく、データ・ブロックの指数Ｅ（Ｂ１）は４に等しい。データ・ブロックＢ１に含まれる４の信号データが圧縮され、ここで、信号データｄ１は符号ビットの次のビットから４ビットだけ圧縮され、すなわち「０００００」は「０」に圧縮され、信号データｄ２は符号ビットの次のビットから４ビットだけ圧縮され、すなわち「００００」はすべて減縮され、信号データｄ３は符号ビットの次のビットから４ビットだけ圧縮され、すなわち「１１１１１１」は「１１」に圧縮され、信号データｄ４は符号ビットの次のビットから４ビットだけ圧縮され、すなわち「０００００」は「０」に圧縮され、最終的に仮数シーケンスＭ（Ｂ１）が取得される。
【００３９】
ステップＳ４０４で、圧縮データ・ブロックは、データ・ブロックのブロック長さ、指数、および仮数シーケンスを使用することによって形成される。具体的に言えば、データ・ブロックのブロック長さは２進ブロック長さトークンに変換され、データ・ブロックの指数は２進指数トークンに変換される。図７に示される例に関して、たとえば、データ・ブロックＢ１のブロック長さが４に等しく、データ・ブロックＢ１の指数Ｅ（Ｂ１）が４に等しく、さらにデータ・ブロックＢ１の長さトークンおよび指数トークンが３ビット２進数によって示されることがあらかじめ指定された場合、データ・ブロックＢ１のブロック長さトークンは１００であり、指数トークンは１００である。３ビット長さトークン（１００）および３ビット指数トークン（１００）は仮数シーケンスＭ（Ｂ１）の前に追加され、これによって長さトークン、指数トークン、および仮数シーケンスから圧縮データ・ブロックＣ（Ｂ１）が形成される。信号データの動的特徴に適合された可変長データ・ブロックを構築することによって、本発明の実施形態に従って信号データを圧縮するための方法は信号データの圧縮をより堅固にし、それによって信号データの圧縮比を増加させる。
【００４０】
図８は、本発明の実施形態に従った圧縮信号データを圧縮解除するための方法を示す。ステップＳ８０１で、圧縮信号データが取得される。ステップＳ８０２で、データ・ブロックのブロック長さおよび指数が圧縮信号データから取得される。ステップＳ８０３で、データ・ブロックのブロック長さおよび指数に従って、データ・ブロックの仮数シーケンスが取得される。ステップＳ８０４で、仮数シーケンスおよび指数を使用することによって、データ・ブロックに対応する元の信号データが復元される。
【００４１】
信号データの圧縮解除は信号データの圧縮の逆プロセスであり、ここで、圧縮信号データからデータ・ブロックのブロック長さおよび指数を取得することは、所定のビット数に従って圧縮信号データから長さトークンおよび指数トークンを抽出すること、長さトークンをデータ・ブロックのブロック長さに変換すること、および指数トークンをデータ・ブロックの指数に変換することを、含むことができる。
【００４２】
データ・ブロックのブロック長さおよび指数に従ってデータ・ブロックの仮数シーケンスを取得することは、指数に従ってデータ・ブロックに含まれる各信号データが圧縮されるビット数を決定すること、データ・ブロックのブロック長さおよびデータ・ブロックが圧縮されるビット数に従って、仮数シーケンスの長さを決定すること、ならびに、仮数シーケンスの長さに従って圧縮信号データから仮数シーケンスを取得することを、含むことができる。
【００４３】
本明細書では詳細に説明されていない、データ・ブロックのブロック長さ、指数、および仮数シーケンスの定義に関する圧縮方法、ならびに圧縮解除方法における特定の実装の詳細の説明を参照されたい。
【００４４】
同じ発明の概念に基づき、本発明は、信号データを圧縮するための装置および圧縮信号データを圧縮解除するための装置を提案している。図９は、本発明の実施形態に従った、信号データを圧縮するための装置９００を示す。装置９００は、信号データを取得するように構成された取得モジュール９０１と、信号データが分割される複数のデータ・ブロックのブロック長さを決定し、データ・ブロックの指数を決定するように構成された、ブロック長さおよび指数決定モジュール９０２と、データ・ブロックに含まれる信号データを圧縮するためにデータ・ブロックの指数を使用することによってデータ・ブロックの仮数シーケンスを形成するように構成された仮数シーケンス形成モジュール９０３と、データ・ブロックのブロック長さ、指数、および仮数シーケンスを使用することによって圧縮データ・ブロックを形成するように構成された圧縮データ・ブロック形成モジュール９０４とを備える。
【００４５】
本発明の実施形態に従い、ブロック長さおよび指数決定モジュールは、以下を備えることができる。
【００４６】
初期に信号データを複数のデータ・ブロックに分割するように構成された初期データ・ブロック分割モジュール。
【００４７】
データ・ブロックに含まれる信号データの指数に従って、データ・ブロックの指数を計算するように構成された指数計算モジュールであって、ここでＥ（Ｂ）はデータ・ブロックＢの指数として定義され、
【数３】
2013251895.tif 000005
上式で、ｅ（ｄｊ）は信号データｄｊの指数を示し、信号データｄｊの符号ビットの次のビットから右方向にカウントする連続ビットの数として定義され、連続ビットのそれぞれはこの符号ビットの数値と同一の値を有する、指数計算モジュール、
指数、ブロック長さトークンのビット数、指数トークンのビット数、および２つの隣接データ・ブロックのブロック長さに従って、２つの隣接データ・ブロックのマージング利得を計算するように構成された、マージング利得計算モジュール、
最大マージング利得を取得するためにマージング利得を比較するように構成された、マージング利得比較モジュール、
最大マージング利得が０より大きいか否かを判定するように構成された、判定モジュール、
判定結果が「Ｙｅｓ」であることに応答して、最大マージング利得に対応する２つの隣接データ・ブロックをマージするように構成された、マージング・モジュール、
判定結果が「Ｎｏ」であることに応答して、最新のマージング結果に従って、信号データが分割される複数のデータ・ブロックのブロック長さを決定するように構成された、ブロック長さ決定モジュール。
【００４８】
本発明の実施形態によれば、仮想シーケンス形成モジュールは、データ・ブロックに含まれる信号データをそれらのそれぞれの符号ビットの次のビットから圧縮するように構成され、ここで圧縮されるビット数は、データ・ブロックの指数によって決定される。
【００４９】
本発明の実施形態によれば、圧縮データ・ブロック形成モジュールは、所定のビット数に従ってデータ・ブロックのブロック長さからブロック長さトークンを形成し、所定のビット数に従ってデータ・ブロックの指数から指数トークンを形成し、ブロック長さトークン、指数トークン、および仮数シーケンスを組み合わせて高から低へのビット順（high-to-low bit order）で圧縮データ・ブロックにするように、構成される。
【００５０】
本発明の実施形態によれば、ブロック長さトークンは、所定のビット数に従ってデータ・ブロックのブロック長さを変換することによって生成される２進コードであり、指数トークンは、所定のビット数に従ってデータ・ブロックの指数を変換することによって生成される２進コードである。
【００５１】
本明細書では詳細に説明されていない、データ・ブロックのブロック長さ、指数、および仮数シーケンスの定義に関する圧縮方法、ならびに装置９００における特定の実装の詳細の説明を参照されたい。
【００５２】
図１０は、本発明の実施形態に従った、信号データを圧縮解除するための装置１０００を示す。装置１０００は、圧縮信号データを取得するように構成された取得モジュール１００１と、圧縮信号データからデータ・ブロックのブロック長さおよび指数を取得するように構成された、ブロック長さおよび指数取得モジュール１００２と、データ・ブロックのブロック長さおよび指数に従って、データ・ブロックの仮数シーケンスを取得するように構成された、仮数シーケンス取得モジュール１００３と、仮数シーケンスおよび指数を使用することによってデータ・ブロックに対応する元の信号データを復元するように構成された、信号データ復元モジュール１００４とを、備えることができる。
【００５３】
本発明の実施形態によれば、ブロック長さおよび指数取得モジュールは、所定のビット数に従って圧縮信号データから長さトークンおよび指数トークンを抽出し、長さトークンをデータ・ブロックのブロック長さに変換し、指数トークンをデータ・ブロックの指数に変換するように、構成される。
【００５４】
本発明の実施形態によれば、仮数シーケンス取得モジュールは、指数に従ってデータ・ブロックに含まれる各信号データが圧縮されるビット数を決定し、データ・ブロックのブロック長さおよびデータ・ブロックが圧縮されるビット数に従って、仮数シーケンスの長さを決定し、仮数シーケンスの長さに従って圧縮信号データから仮数シーケンスを取得するように、構成される。
【００５５】
本発明の実施形態に従った、信号データを圧縮するための装置９００および信号データを圧縮解除するための装置１０００は、図２に示されるようなベース・トランシーバ・システム内のベースバンド・ユニットおよび無線遠隔ユニット内の圧縮器および圧縮解除器としてそれぞれ実装可能であるか、または、図３に示されるような情報獲得および処理システム内の圧縮器および圧縮解除器としてそれぞれ実装可能である。
【００５６】
本明細書では詳細に説明されていない、データ・ブロックのブロック長さ、指数、および仮数シーケンスの定義に関する圧縮方法、ならびに装置１０００における特定の実装の詳細の説明を参照されたい。
【００５７】
図面内の流れ図およびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示している。この点で、流れ図またはブロック図における各ブロックは、指定された論理機能を実装するための１つまたは複数の実行可能命令を含む、モジュール、プログラム・セグメント、またはコードの一部を表すことができる。いくつかの代替実装では、ブロック内に示された機能が図面内に示された順序とは異なる順序で実行可能であることにも留意されたい。たとえば連続して示される２つのブロックは、関与する機能に応じて、実際にはほぼ同時に実行可能であるか、または、時にブロックは逆の順序で実行可能である。ブロック図あるいは流れ図またはその両方の各ブロック、および、ブロック図あるいは流れ図またはその両方におけるブロックの組み合わせは、指定された機能または動作を実行する特定用途向けのハードウェアベース・システム、あるいは特定用途向けハードウェアおよびコンピュータ命令の組み合わせによって実装可能であることにも留意されよう。
【００５８】
本発明の様々な実施形態の説明は例示の目的で提示されており、開示された実施形態に対する網羅または限定であることは意図されていない。当業者であれば、説明された実施形態の範囲および趣旨を逸脱することなく、多くの修正および変形が明らかとなろう。本明細書で使用される用語は、実施形態の原理、実用的な応用、または市場に見られる技術を介した技術的改良を最も良く説明するため、あるいは、本明細書で開示された実施形態を他の当業者が理解できるようにするために、選択された。
【図１】
2013251895.tif 000008
【図２】
2013251895.tif 000009
【図３】
2013251895.tif 000010
【図４】
2013251895.tif 000011
【図５】
2013251895.tif 000012
【図６】
2013251895.tif 000013
【図７】
2013251895.tif 000014
【図８】
2013251895.tif 000015
【図９】
2013251895.tif 000016
【図１０】
2013251895.tif 000017