(57)【要約】【課題】狭帯域ネットワークのデータ伝送に好適したデータ圧縮装置を提供する。【解決手段】データ圧縮装置１０において、記憶部１２に蓄積管理されかつ使用するシステムに対応する最小値、最大値及び基数を用いて、バッファ１７に保持された数値データをコード化し、予め決められた定数に基数を乗算し、この乗算結果にコード情報を加算し、この加算結果を圧縮データとして狭帯域ネットワークＮＷに出力するようにしている。【選択図】      図１
2010283460.tif 000002
【特許請求の範囲】
【請求項１】
システムで使用される数値データを圧縮処理してネットワークに出力するデータ圧縮装置において、
前記システムを示す情報と、当該システムで前記数値データが取り得る最小値、最大値及び前記最小値から前記最大値まで前記数値データが取り得るパターン数を示す情報とを対応付けて格納する記憶部と、
要求されるシステムに応じて入力される前記数値データを一時保持するバッファと、
このバッファに保持された数値データを取り込み解析し、前記記憶部を参照して、当該数値データの前記最小値からのパターン番号を示すコード情報を求めるコード情報演算処理部と、
要求されるシステムに対応するパターン数を示す情報を前記記憶部から読み出して予め決められた定数にパターン数を乗算して第１参照値を求め、この第１参照値に前記コード情報を加算して第２参照値を求め、この第２参照値を圧縮データとして前記ネットワークに出力する圧縮データ演算処理部とを具備したことを特徴とするデータ圧縮装置。
【請求項２】
前記圧縮データ演算処理部は、前記圧縮データに前記記憶部の記憶内容を添付して前記ネットワークに出力することを特徴とする請求項１記載のデータ圧縮装置。
【請求項３】
前記コード情報演算処理部は、入力される数値データ毎にコード情報を求め、
前記圧縮データ演算処理部は、１つの数値データについて演算された圧縮データに入力される数値データ毎にパターン数を乗算し、この乗算結果に対し数値データ毎のコード情報を加算することを特徴とする請求項１記載のデータ圧縮装置。
【請求項４】
前記バッファは、要求される第１のシステムに応じて入力される第１の数値データ、及び要求されかつ前記第１のシステムとは異なる第２のシステムに応じて入力される第２の数値データを保持し、
前記コード情報演算処理部は、前記バッファに保持された第１の数値データを取り込み解析し、前記記憶部を参照して前記第１の数値データの前記最小値からのパターン番号を示す第１のコード情報を求めるとともに、前記バッファに保持された第２の数値データを取り込み解析し、前記記憶部を参照して前記第２の数値データの前記最小値からのパターン番号を示す第２のコード情報を求め、
前記圧縮データ演算処理部は、前記第１のシステムに対応する第１のパターン数を示す情報を前記記憶部から読み出して予め決められた定数に第１のパターン数を乗算して第１参照値を求め、この第１参照値に前記第１のコード情報を加算して第２参照値を求め、前記第２のシステムに対応する第２のパターン数を示す情報を前記記憶部から読み出して前記第２参照値に第２のパターン数を乗算して第３参照値を求め、この第３参照値に前記第２のコード情報を加算して第４参照値を求め、この第４参照値を圧縮データとして前記ネットワークに出力することを特徴とする請求項１記載のデータ圧縮装置。
【請求項５】
ネットワークを伝送されかつシステムで使用される圧縮データを元の数値データに伸長処理するデータ伸長装置において、
前記システムを示す情報と、当該システムで前記数値データが取り得る最小値、最大値及び前記最小値から最大値まで前記数値データが取り得るパターン数を示す情報とを対応付けて格納する記憶部と、
前記ネットワークから到来する圧縮データを一時保持するバッファと、
要求されるシステムに対応する前記パターン数を示す情報を前記記憶部から読み出して、前記バッファに保持される圧縮データを前記パターン数で割り算したときの剰余を数値データの前記最小値からのパターン番号を示すコード情報として求めるコード情報演算処理部と、
このコード情報演算処理部で求められたコード情報に基づいて、前記バッファに保持された圧縮データから元の数値データを求める伸長データ演算処理部とを具備したことを特徴とするデータ伸長装置。
【請求項６】
前記コード情報演算処理部は、前記ネットワークから到来する圧縮データに元の数値データが取り得る最小値、最大値及び前記最小値から最大値まで前記数値データが取り得るパターン数を示す情報が添付されている場合に、添付された情報に基づいてコード情報を求めることを特徴とする請求項５記載のデータ伸長装置。
【請求項７】
前記コード情報演算処理部は、圧縮データに同一のシステムで使用される第１及び第２の数値データが含まれる場合に、前記バッファに保持される圧縮データを前記パターン数で割り算したときの剰余を第１の数値データに対応する第１のコード情報として求めるとともに、前記圧縮データを前記第１のコード情報で割り算したときの値を参照値とし、この参照値を前記パターン数で割り算したときの剰余を第２の数値データに対応する第２のコード情報として求めることを特徴とする請求項５記載のデータ伸長装置。
【請求項８】
前記コード情報演算処理部は、要求される第１のシステムに対応する前記第１のパターン数を示す情報を前記記憶部から読み出して、前記バッファに保持される圧縮データを前記第１のパターン数で割り算したときの剰余を第１のコード情報として求めるとともに、前記圧縮データを前記第１のコード情報で割り算したときの値を参照値とし、要求されかつ前記第１のシステムとは異なる第２のシステムに対応する前記第２のパターン数を示す情報を前記記憶部から読み出して、前記参照値を前記第２のパターン数で割り算したときの剰余を第２のコード情報として求め、
前記伸長データ演算処理部は、前記コード情報演算処理部で求められた第１のコード情報に基づいて、前記バッファに保持された圧縮データから前記第１のシステムに対応する第１の数値データを求め、前記第２のコード情報に基づいて、前記バッファに保持された圧縮データから前記第２のシステムに対応する第２の数値データを求めることを特徴とする請求項５記載のデータ伸長装置。
【請求項９】
システムで使用される数値データを圧縮処理してネットワークに出力するデータ圧縮方法において、
前記システムを示す情報と、当該システムで前記数値データが取り得る最小値、最大値及び前記最小値から前記最大値まで前記数値データが取り得るパターン数を示す情報とを対応付けてメモリに格納しておき、
要求されるシステムに応じて入力される前記数値データをバッファに一時保持し、
このバッファに保持された数値データを取り込み解析し、前記記憶部を参照して、当該数値データの前記最小値からのパターン番号を示すコード情報を求め、
要求されるシステムに対応するパターン数を示す情報を前記メモリから読み出して予め決められた定数にパターン数を乗算して第１参照値を求め、この第１参照値に前記コード情報を加算して第２参照値を求め、この第２参照値を圧縮データとして前記ネットワークに出力するようにしたことを特徴とするデータ圧縮方法。
【請求項１０】
ネットワークを伝送されかつシステムで使用される圧縮データを元の数値データに伸長処理するデータ伸長方法において、
前記システムを示す情報と、当該システムで前記数値データが取り得る最小値、最大値及び前記最小値から最大値まで前記数値データが取り得るパターン数を示す情報とを対応付けてメモリに格納しておき、
前記ネットワークから到来する圧縮データをバッファに一時保持し、
要求されるシステムに対応する前記パターン数を示す情報を前記メモリから読み出して、前記バッファに保持される圧縮データを前記パターン数で割り算したときの剰余を数値データの前記最小値からのパターン番号を示すコード情報として求め、
この求められたコード情報に基づいて、前記バッファに保持された圧縮データから元の数値データを求めるようにしたことを特徴とするデータ伸長方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば狭帯域ネットワークにおけるデータ圧縮装置、データ伸長装置、データ圧縮方法及びデータ伸長方法に関する。
【背景技術】
【０００２】
周知のように、狭帯域ネットワークによるデータの転送量には限界があり、これを越えてデータを転送しようとすると、著しい遅延などネットワークの破綻に繋がる。このことから狭帯域ネットワークでは、転送されるデータをできるだけ小さくすることが必要となる。
【０００３】
そこで、従来では、ブロック符号化、ハフマン符号化、ベクトル量子化等を用いて符号化することによりデータ圧縮を行う方法が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−２９２９６２公報。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記圧縮手法、例えばハフマン符号化では、十分な圧縮率が得られず、狭帯域ネットワークで使用するにはデータサイズが大きすぎるという問題があり、更なる圧縮率の向上を図る必要があった。またブロック符号化では、固定長の圧縮しか行えないという問題があった。
【０００６】
さらにハフマン符号化では、情報源の偏りを利用して圧縮を行うため、情報源が偏っている必要がある。しかし狭帯域ネットワークで伝送するデータは非常にデータサイズが小さいため、偏りがなかった。
【０００７】
そこで、この発明の目的は、狭帯域ネットワークのデータ伝送に好適したデータ圧縮装置、データ伸長装置、データ圧縮方法及びデータ伸長方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、この発明に係るデータ圧縮装置は、システムで使用される数値データを圧縮処理してネットワークに出力するデータ圧縮装置において、システムを示す情報と、当該システムで数値データが取り得る最小値、最大値及び最小値から最大値まで数値データが取り得るパターン数を示す情報とを対応付けて格納する記憶部と、要求されるシステムに応じて入力される数値データを一時保持するバッファと、このバッファに保持された数値データを取り込み解析し、記憶部を参照して、当該数値データの最小値からのパターン番号を示すコード情報を求めるコード情報演算処理部と、要求されるシステムに対応するパターン数を示す情報を記憶部から読み出して予め決められた定数にパターン数を乗算して第１参照値を求め、この第１参照値にコード情報を加算して第２参照値を求め、この第２参照値を圧縮データとしてネットワークに出力する圧縮データ演算処理部とを備えるようにしたものである。
【０００９】
この構成によれば、記憶部に蓄積管理されかつ使用するシステムに対応する最小値、最大値及び最小値から最大値まで数値データが取り得るパターン数を用いて、バッファに保持された数値データをコード化し、予め決められた定数にパターン数を乗算して第１参照値を求め、この第１参照値にコード情報を加算して第２参照値を求め、この第２参照値を圧縮データとしてネットワークに出力するようにしている。
【００１０】
従って、圧縮処理にデータの偏りを利用することなく、伝送データ量が低減されて狭帯域ネットワークに好適することができる。
【００１１】
圧縮データ演算処理部は、圧縮データに記憶部の記憶内容を添付してネットワークに出力する。
【００１２】
この構成によれば、圧縮データの受け側でも添付情報を利用して圧縮データを元の数値データに伸長することができ、これにより送り側と受け側とでデータ圧縮伸長処理に用いる情報を共用できる。
【００１３】
コード情報演算処理部は、入力される数値データ毎にコード情報を求め、圧縮データ演算処理部は、１つの数値データについて演算された圧縮データに入力される数値データ毎にパターン数を乗算し、この乗算結果に対し数値データ毎のコード情報を加算する。
【００１４】
この構成によれば、同じシステム内で複数の数値データが入力された場合であっても、複数の数値データを１つの圧縮データに圧縮してネットワークに伝送することができる。
【００１５】
バッファは、要求される第１のシステムに応じて入力される第１の数値データ、及び要求されかつ前記第１のシステムとは異なる第２のシステムに応じて入力される第２の数値データを保持し、コード情報演算処理部は、バッファに保持された第１の数値データを取り込み解析し、記憶部を参照して第１の数値データの前記最小値からのパターン番号を示す第１のコード情報を求めるとともに、バッファに保持された第２の数値データを取り込み解析し、記憶部を参照して第２の数値データの最小値からのパターン番号を示す第２のコード情報を求め、圧縮データ演算処理部は、第１のシステムに対応する第１のパターン数を示す情報を記憶部から読み出して予め決められた定数に第１のパターン数を乗算して第１参照値を求め、この第１参照値に第１のコード情報を加算して第２参照値を求め、第２のシステムに対応する第２のパターン数を示す情報を記憶部から読み出して第２参照値に第２のパターン数を乗算して第３参照値を求め、この第３参照値に第２のコード情報を加算して第４参照値を求め、この第４参照値を圧縮データとしてネットワークに出力する。
【００１６】
この構成によれば、互いにシステムが異なる複数の数値データが入力されても、１つの圧縮データに圧縮してネットワークに伝送することができる。
【００１７】
また、この発明に係るデータ伸長装置は、ネットワークを伝送されかつシステムで使用される圧縮データを元の数値データに伸長処理するデータ伸長装置において、システムを示す情報と、当該システムで数値データが取り得る最小値、最大値及び最小値から最大値まで数値データが取り得るパターン数を示す情報とを対応付けて格納する記憶部と、ネットワークから到来する圧縮データを一時保持するバッファと、要求されるシステムに対応するパターン数を示す情報を記憶部から読み出して、バッファに保持される圧縮データをパターン数で割り算したときの剰余を数値データの最小値からのパターン番号を示すコード情報として求めるコード情報演算処理部と、このコード情報演算処理部で求められたコード情報に基づいて、バッファに保持された圧縮データから元の数値データを求める伸長データ演算処理部とを備えるようにしたものである。
【００１８】
この構成によれば、記憶部に蓄積管理されかつ使用するシステムに対応する最小値、最大値及び最小値から最大値まで数値データが取り得るパターン数を用いて、バッファに保持された圧縮データをパターン数で割り算したときの剰余から元の数値データのコード情報を求めることができ、このコード情報から元の数値データを求めるようにしている。
【００１９】
従って、伸長処理にデータの偏りを利用することなく、狭帯域ネットワークを伝送した圧縮データを元の数値データに戻すことができる。
【発明の効果】
【００２０】
以上のように上記発明によれば、狭帯域ネットワークのデータ伝送に好適したデータ圧縮装置、データ伸長装置、データ圧縮方法及びデータ伸長方法を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】この発明に係るデータ圧縮装置及びデータ伸長装置が適用されるデータ伝送システムの一実施形態を示す概略構成図。
【図２】上記図１に示した記憶部の記憶内容の一例を示す図。
【図３】上記図１に示したデータ圧縮装置によるデータ圧縮制御手順及びその内容を示すフローチャート。
【図４】上記図１に示したデータ伸長装置によるデータ伸長制御手順及びその内容を示すフローチャート。
【図５】上記図１に示した記憶部の記憶内容の他の一例を示す図。
【発明を実施するための形態】
【００２２】
以下、この発明の実施形態について図面を参照して詳細に説明する。  
図１は、この発明に係るデータ圧縮装置及びデータ伸長装置が適用されるデータ伝送システムの一実施形態を示す概略構成図であり、１０はデータ圧縮装置、２０はデータ伸長装置をそれぞれ示している。
【００２３】
まず、データ圧縮装置１０は、パーソナル・コンピュータ（ＰＣ）により構成され、通信部１１と、記憶部１２と、制御部１３と、ＣＲＴを用いた表示装置１４と、キーボード及びマウスからなる入力装置１５と、タイマ１６と、バッファ１７とを備えている。このうち、通信部１１は、狭帯域ネットワークＮＷとの間で通信を行なうものである。
【００２４】
記憶部１２には、図２に示すように、使用するシステムと、数値データが取り得る最小値（ｍｉｎ）、最大値（ｍａｘ）と、精度と、最小値から最大値まで数値データが取り得る基数（パターン数）との対応関係を表すデータが格納されている。なお、精度はｍｉｎとｍａｘの間をいくつ刻みで扱うかを示す情報を示している。
【００２５】
入力装置１５は、データ圧縮装置１０に対し種々の動作指示を入力するために使用するもので、希望する数値データの入力、希望するシステムの入力にも使用される。数値データが入力された場合には、この数値データがバッファ１７に一時保持される。
【００２６】
ところで、制御部１３は、この発明に係わる機能として、コード演算部１３１と、圧縮データ演算部１３２とを備えている。コード演算部１３１は、バッファ１７に保持された数値データを取り込み解析し、記憶部１２を参照して、当該数値データのコードを演算する。このコードは、基数について最小値から数えたその値（０から始まる）の順番（パターン番号）を表す。
【００２７】
圧縮データ演算部１３２は、要求されるシステムに対応する基数を記憶部１２から読み出して予め決められた定数に基数を乗算し、この乗算結果に上記コード演算部１３１で求められたコードを加算し、この加算結果を圧縮データとして通信部１１を介して狭帯域ネットワークＮＷに出力する。このとき、入力されたシステムＡの最小値、最大値及び基数を添付ファイルとして圧縮データに添付する。
【００２８】
一方、データ伸長装置２０は、パーソナル・コンピュータ（ＰＣ）により構成され、通信部２１と、記憶部２２と、制御部２３と、ＣＲＴを用いた表示装置２４と、キーボード及びマウスからなる入力装置２５と、タイマ２６と、バッファ２７とを備えている。このうち、通信部２１は、狭帯域ネットワークＮＷとの間で通信を行なうもので、狭帯域ネットワークＮＷから到来する圧縮データを受信する。
【００２９】
記憶部２２には、図２に示すように、使用するシステムと、数値データが取り得る最小値（ｍｉｎ）、最大値（ｍａｘ）と、精度と、最小値から最大値まで数値データが取り得る基数（パターン数）との対応関係を表すデータが格納されている。
【００３０】
入力装置１５は、データ圧縮装置１０に対し種々の動作指示を入力するために使用するもので、希望するシステムの入力にも使用される。圧縮データが狭帯域ネットワークＮＷから到来した場合には、この圧縮データがバッファ２７に一時保持される。
【００３１】
ところで、制御部２３は、この発明に係わる機能として、コード演算部２３１と、伸長データ演算部２３２とを備えている。コード演算部２３１は、要求されるシステムに対応する基数を記憶部２２から読み出して、バッファ２７に保持される圧縮データを基数で割り算したときの剰余を元の数値データのコードとして演算する。なお、圧縮データに添付ファイルが添付されているときには、添付ファイルに含まれる基数に基づいて、コードを演算する。
【００３２】
伸長データ演算部２３２は、上記コード演算部２３１で求められたコードに基づいて、バッファ２７に保持された圧縮データから元の数値データを演算する。
【００３３】
次に、以上のように構成されたシステムによるデータ圧縮伸長動作を説明する。図３は、データ圧縮装置１０によるデータ圧縮制御手順及びその内容を示すフローチャート、図４は、データ伸長装置２０によるデータ伸長制御手順及びその内容を示すフローチャートである。
【００３４】
（システムＡで複数の数値を圧縮伸長する動作）  
データ圧縮を行う際に、ユーザはデータ圧縮装置１０において入力装置１５を操作することで先ず希望のシステムＡを入力設定する（ステップＳＴ３ａ）。そうすると、制御部１３は、記憶部１２を参照して入力されたシステムＡが正しいか否かの判断を行う（ステップＳＴ３ｂ）。ここでは、システムＡが記憶部１２に登録されているので（Ｙｅｓ）、制御部１３はユーザによる数値データの入力を受け付ける（ステップＳＴ３ｃ）。
【００３５】
このときユーザは、例えば０、５、１０を入力する。制御部１３は、入力された数値データをバッファ１７に一時保持する。またそれと共に、入力された数値データを表示装置１４に表示する。この状態でユーザが入力装置１５において確定操作を行なうと、制御部１３はステップＳＴ３ｄからステップＳＴ３ｅに移行し、ここでバッファ１７に保持されている各数値データに対し圧縮処理を実行する。
【００３６】
数値データ０、５、１０のコードは、１、２、３となる。まず、データを格納するための変数としてData(初期値０)を定義する。そして、  
Data＊基数＋コード
の計算を行い、その結果をData_newとして新たなDataに格納していく。
【００３７】
数値データ０について  
０＊５＋１＝１＝Data_new  
数値データ５について  
１＊５＋２＝７＝Data_new  
数値データ１０について  
７＊５＋３＝３８＝Data_new
結果として、Data＝３８となる。
【００３８】
以後、ユーザが入力装置１５において圧縮終了操作を行なうまで、制御部１３は上記ステップＳＴ３ａからステップＳＴ３ｆによる数値データの入力受付及びその圧縮制御を繰り返す。一方、ユーザが入力装置１５において圧縮終了操作を行った場合には、制御部１３は圧縮データ「３８」を宛先となるデータ伸長装置２０に伝送するべく狭帯域ネットワークＮＷに出力する（ステップ３ｇ）。
【００３９】
なお、上記ステップＳＴ３ｂにおいて、入力されたシステム名が正しくない場合には、制御部１３はエラーの旨を表示装置１４に表示する（ステップＳＴ３ｈ）。
【００４０】
一方、データ伸長装置２０において、データ圧縮装置１０から狭帯域ネットワークＮＷを介して圧縮データが到来したとする。そうすると、制御部２３はステップＳＴ４ａからステップＳＴ４ｂに移行してここで圧縮データをバッファ２７に一時保持する。この状態でユーザが入力装置２５においてシステム入力操作を行なうと、制御部２３はステップＳＴ４ｃからステップＳＴ４ｄに移行し、ここでバッファ２７に保持されている圧縮データに対し伸長処理を実行する。
【００４１】
伸長する場合は、圧縮のときとは逆の順番に、  
コード＝Data％基数, Data_new＝Data／基数
の計算を行っていく。ここで％記号は剰余、／記号は整数割り算（切捨て）を表す。
【００４２】
数値データ１０について、  
コード＝３８％５=３, Data_new＝３８／５＝７  
数値データ５について  
コード＝７％５＝２, Data_new＝７／５＝１  
数値データ０について  
コード＝１％５＝１, Data_new＝１／５＝０
結果として、コード３、２、１が導出できる。よって、圧縮前の入力データである０、５、１０が導出できる。
【００４３】
このデータ伸長処理が終了すると制御部２３は、伸長処理した各数値データを表示装置２４にＯＳＤ(On Screen Display)表示し、これによりユーザに送り元が伝送してきた数値をメッセージとともに知らせる（ステップＳＴ４ｅ）。なお、入力したシステム名が正しくなかった場合やデータ伸長が正しく行なわれなかった場合には、その旨のメッセージを表示装置２４にＯＳＤ表示する。
【００４４】
（異なるシステムの複数の数値を圧縮伸長する動作）  
データ圧縮を行う際に、ユーザはデータ圧縮装置１０において入力装置１５を操作することで先ず希望のシステムＣを入力設定する。そうすると、制御部１３は、記憶部１２を参照して入力されたシステムＣが正しいか否かの判断を行う（ステップＳＴ３ｂ）。ここでは、システムＣが記憶部１２に登録されているので、制御部１３はユーザによる数値データの入力を受け付ける。
【００４５】
このときユーザは、例えば３００を入力する。制御部１３は、入力された数値データをバッファ１７に一時保持する。またそれと共に、入力された数値データを表示装置１４に表示する。この状態でユーザが入力装置１５において確定操作を行なうと、制御部１３はステップＳＴ３ｄからステップＳＴ３ｅに移行し、ここでバッファ１７に保持されている数値データに対し圧縮処理を実行する。
【００４６】
数値データ３００のコードは、２０となる。まず、データを格納するための変数としてData(初期値０)を定義する。そして、  
Data＊基数＋コード
の計算を行い、その結果をData_newとして新たなDataに格納していく。
【００４７】
Ｃについて  
０＊４１＋２０＝２０＝Data_new  
続いて、制御部１３はステップＳＴ３ｆからステップＳＴ３ａに移行してここでシステムＢの入力設定を受け付ける。このときユーザは、例えば１．０５を入力する。数値データ１．０５のコードは、５となる。そうすると、
Ｂについて  
２０＊１１＋５＝２２５＝Data_new  
となる。さらに続いて制御部１３はステップＳＴ３ｆからステップＳＴ３ａに移行してここでシステムＡの入力設定を受け付ける。このときユーザは、例えば０を入力する。数値データ０のコードは、１となる。そうすると、
Ａについて  
２２５＊５＋１＝１１２６＝Data_new  
結果として、Ｄａｔａ＝１１２６となる。
【００４８】
次に、圧縮したデータを伸長することを考える。伸長する場合は、圧縮のときとは逆にＡから順番に、
コード＝Data％基数, Data_new＝Data／基数
の計算を行っていく。ここで％記号は剰余、／記号は整数割り算（切捨て）を表す。
【００４９】
Ａについて、  
コード＝１１２６％５＝１, Data_new＝１１２６／５＝２２５  
Ｂについて、  
コード＝２２５％１１＝５, Data_new＝２２５／１１＝２０  
Ｃについて、  
コード＝２０％４１＝２０, Data_new＝２０／４１＝０
結果として、コードＡ：１、Ｂ：５、Ｃ：２０が導出できる。よって、圧縮前の入力データであるＡ：０、Ｂ：１．０５、Ｃ：３００が導出できる。
【００５０】
データサイズについては、log2(基数)で算出される。上記例の場合、各データが最大値を取る場合、Data＝２２５４となるので、データサイズとしては２２５５（= log2(5 * 11 * 41)）となる。
【００５１】
（企業内における適用例）  
今、例えばある企業において９：００から稼働し、従業員が３０人であったとする。データ圧縮装置１０が例えば企業内のゲートに配置されており、データ伸長装置２０が例えば企業内のある部署に配置されているものとする。また、データ圧縮装置１０の記憶部１２には、図５に示すように、システム名「時」、「分」、「人数」ごとの最小値（ｍｉｎ）、最大値（ｍａｘ）、精度、基数（パターン数）が格納されている。
【００５２】
そこで、ゲートの管理者が９：００に何人通過したかをある部署に知らせるべくデータ圧縮装置１０において入力装置１５を操作することで先ず「時」を入力設定する。そうすると、制御部１３はユーザによる数値データの入力を受け付ける。
【００５３】
このとき管理者は、例えばタイマ１６で計時される「９」を確定操作する。制御部１３は、入力された数値データをバッファ１７に一時保持する。またそれと共に、入力された数値データを表示装置１４に表示する。この状態で管理者が入力装置１５において確定操作を行なうと、制御部１３はバッファ１７に保持されている各数値データ「９」に対し圧縮処理を実行する。
【００５４】
数値データ「９」のコードは、図５に示すように、９となる。まず、データを格納するための変数としてData(初期値０)を定義する。そして、  
Data＊基数＋コード
の計算を行い、その結果をData_newとして新たなDataに格納していく。
【００５５】
０＊２４＋９＝９＝Data_new  
続いて、管理者は、システム名「分」を入力設定し、例えばタイマ１６で計時される「０」を確定操作する。数値データ「０」のコードは、０となる。そうすると、
９＊６０＋０＝５４０＝Data_new  
となる。さらに続いて管理者は、システム名「人数」を入力設定し、例えば「２７」を入力する。数値データ「２７」のコードは、２７となる。そうすると、
５４０＊３１＋２７＝１６７６７＝Data_new  
結果として、Ｄａｔａ＝１６７６７となる。
【００５６】
そして、管理者が入力装置１５において圧縮終了操作を行った場合には、制御部１３は圧縮データ「１６７６７」を宛先となるデータ伸長装置２０に伝送するべく狭帯域ネットワークＮＷに出力する。
【００５７】
一方、データ伸長装置２０において、データ圧縮装置１０から狭帯域ネットワークＮＷを介して圧縮データが到来したとする。そうすると、制御部２３は圧縮データをバッファ２７に一時保持する。この状態である部署のユーザが入力装置２５においてシステム入力操作を行なうと、制御部２３はバッファ２７に保持されている圧縮データに対し伸長処理を実行する。
【００５８】
「人数」について、  
コード＝１６７６７％３１=２７, Data_new＝１６７６７／３１＝５４０  
「分」について  
コード＝５４０％６０＝０, Data_new＝５４０／６０＝９  
「時」について  
コード＝９％２４＝９, Data_new＝９／２４＝０
結果として、コード２７、０、９が導出できる。よって、圧縮前の入力データである９：００に２７人がゲートを通過したことを導出できる。
【００５９】
以上のように上記実施形態では、データ圧縮装置１０において、記憶部１２に蓄積管理されかつ使用するシステムに対応する最小値、最大値及び基数を用いて、バッファ１７に保持された数値データをコード化し、予め決められた定数に基数を乗算し、この乗算結果にコード情報を加算し、この加算結果を圧縮データとして狭帯域ネットワークＮＷに出力するようにしている。
【００６０】
従って、圧縮処理にデータの偏りを利用することなく、伝送データ量が低減されて狭帯域ネットワークＮＷに好適することができる。
【００６１】
また、データ伸長装置２０において、記憶部２２に蓄積管理されかつ使用するシステムに対応する最小値、最大値及び基数を用いて、バッファ２７に保持された圧縮データを基数で割り算したときの剰余から元の数値データのコードを求め、このコードから元の数値データを求めるようにしている。
【００６２】
従って、伸長処理にデータの偏りを利用することなく、狭帯域ネットワークＮＷを伝送した圧縮データを元の数値データに戻すことができる。この圧縮伸長手法によれば、対象データが可変長であっても圧縮伸長を行うことができる。
【００６３】
なお、上記実施形態において、データ圧縮装置１０において、圧縮データに記憶部１２の記憶内容を添付ファイルとして添付して送り先のデータ伸長装置２０に送るようにしてもよい。このようにすれば、データ伸長装置２０においても添付ファイルを利用して圧縮データを元の数値データに伸長することができ、これによりデータ圧縮装置１０とデータ伸長装置２０とでデータ圧縮伸長処理に用いる情報を共用できる。
【００６４】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６５】
１０…データ圧縮装置、１１…通信部、１２…記憶部、１３…制御部、１４…表示装置、１５…入力装置、１６…タイマ、１７…バッファ、２０…データ伸長装置、１３１，２３１…コード演算部、１３２…圧縮データ演算部、２３２…伸長データ演算部、ＮＷ…狭帯域ネットワーク。
【図１】
2010283460.tif 000003
【図２】
2010283460.tif 000004
【図３】
2010283460.tif 000005
【図４】
2010283460.tif 000006
【図５】
2010283460.tif 000007