説明

データ圧縮装置、及びデータ伸長装置

【課題】 圧縮処理に要する時間を増加させることなく、圧縮効率を向上させる。
【解決手段】 データ圧縮装置13は、ストリームデータから、所定の複数のデータタイプのいずれかに該当するデータブロックを、順次切り出す切り出し処理部31と、データ圧縮処理を行う、複数のデータ圧縮処理部33a〜33cと、切り出し処理部31により切り出されたデータブロックを、当該データブロックのデータタイプに応じて、複数のデータ圧縮処理部33a〜33cのうちのいずれか一つに、順次振り分ける分配処理部32と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを圧縮・伸長するための技術に関し、特に、ストリームデータから所定のデータブロックを切り出して圧縮し、これを伸長して復元する技術に関する。
【背景技術】
【0002】
データを圧縮するための手法が数多く知られている。そして、それらの手法の多くは、繰り返し出現する同一のパターン(冗長部)を検出し、これを何らかの方法で短縮することによりデータ量を削減している。従って、圧縮をするための対象となる範囲を大きくすると、多くの冗長部を一度に短縮できるため圧縮効率が高くなるが、一方で冗長部を検出するための処理などに要する時間が長くなり、圧縮処理全体の処理時間が長くなる。
【0003】
特許文献1では、データの圧縮率を高めるために、データをフィールドごとに分離し、分離されたデータの差分を取るなどの前処理を行った後、データ圧縮を行うことが記載されている。
【0004】
【特許文献1】特開平11−284518号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
例えば、データを転送する場面においては、圧縮を用いてデータ転送時間の短縮を図るときは、圧縮しないでデータ転送をするのに要する時間と、データを圧縮し、圧縮したデータを転送し、転送後に圧縮データを伸長するまでのトータルの時間とを比較して検討する必要がある。従って、トータルの転送時間を短縮するためには、圧縮率のみならず、圧縮及び伸長に要する時間の短縮も重要である。
【0006】
特許文献1では、データの特徴を基に適切に選定された前処理を行うことによって圧縮効率を向上させている。しかし、特許文献1では、前処理を行う分圧縮・伸長に要する時間も長くなる。
【0007】
そこで、本発明の目的は、圧縮処理に要する時間を増加させることなく、圧縮効率を向上させることである。
【課題を解決するための手段】
【0008】
本発明の一つの実施態様に従うデータ圧縮装置は、ストリームデータから、所定の複数のデータタイプのいずれかに該当するデータブロックを、順次切り出す切り出し手段と、データ圧縮処理を行い、それぞれが、前記複数のデータタイプのうちのいずれかに対応する複数のデータ圧縮手段と、前記切り出し手段により切り出されたデータブロックを、当該データブロックのデータタイプに応じて、それぞれのデータタイプに対応するデータ圧縮手段に振り分ける分配手段と、を備える。
【0009】
好適な実施形態では、前記切り出し手段により切り出された、それぞれのデータブロック内のデータは、それぞれのデータタイプに応じた所定の類似性を有するデータである。そして、前記複数のデータ圧縮手段は、それぞれのデータブロック内の前記類似性を利用してデータ圧縮をするようにしてもよい。
【0010】
好適な実施形態では、前記複数の圧縮手段は、それぞれ、前記分配手段から前記データブロックを受信するごとに、当該データブロックの圧縮処理を実行するか、または、前記分配手段から受信した複数のデータブロックをまとめて圧縮を実行するようにしてもよい。
【0011】
好適な実施形態では、前記複数のデータ圧縮手段が圧縮した、複数の圧縮データブロックを多重化して送信する通信手段を、さらに備えるようにしてもよい。
【0012】
好適な実施形態では、前記ストリームデータには、所定の区切りが設けられている。そして、前記切り出し手段は、前記区切りに従って前記ストリームデータから前記データブロックを切り出すようにしてもよい。
【0013】
好適な実施形態では、前記切り出し手段により切り出されたデータブロックは、HTTPヘッダ部またはHTTPデータ部である。この場合、前記分配手段は、少なくとも、前記HTTPヘッダ部であるヘッダデータと、テキストデータが格納された前記HTTPデータ部であるテキストデータと、画像データが格納された前記HTTPデータ部である画像データとを、それぞれ異なるデータ圧縮手段に振り分けるようにしてもよい。
【発明を実施するための最良の形態】
【0014】
以下、本発明の一実施形態に係る通信システムについて、図面を用いて説明する。
【0015】
図1は、本実施形態に係る通信システム1の全体構成を示す図である。本システム1は、サーバ10とクライアント20とがネットワーク9を介して接続されていて、互いに通信を行う。クライアント20は、複数台であってもよい。本実施形態では、クライアント20からのリクエストに対してサーバ10がレスポンスを返す際に、レスポンスとして返送するデータを送信側のサーバ10で圧縮し、受信側のクライアント20で伸張する。以下、特にこのデータの圧縮及び伸長について説明する。
【0016】
ここで、サーバ10およびクライアント20は、いずれも、例えばプロセッサ及びメモリを備えた汎用的なコンピュータシステムにより構成され、以下に説明するサーバ10及びクライアント20内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【0017】
サーバ10は、WWW(World Wide Web)サーバ11と、データ圧縮装置13と、ネットワークインタフェース部15と、データ記憶装置17とを備える。
【0018】
ネットワークインタフェース部15は、ネットワーク9を介して、クライアント20との間のデータ通信を行う。
【0019】
WWWサーバ11は、ネットワークインタフェース部15を介してクライアント20からのリクエストを受け付けると、データ記憶部17からこのリクエストに対応するデータを取得する。そして、WWWサーバ11は、このデータをストリームデータとしてネットワークインタフェース部15を介して返送する。ここで、WWWサーバ11がこのストリームデータをデータ圧縮装置13に入力する。データ圧縮装置13は、このストリームデータを圧縮して、クライアント20に圧縮されたデータをレスポンスとして返す。
【0020】
データ圧縮装置13はデータの圧縮を行う。データ圧縮装置13の構成については、後述する。
【0021】
クライアント20は、ブラウザ21と、データ伸長装置23と、ネットワークインタフェース部25とを備える。
【0022】
ブラウザ21は、ユーザからの入力に基づいてサーバ10に対するリクエストを生成し、ネットワークインタフェース部25を介してサーバ10へ送信する。また、サーバ10からのレスポンスを受信する。
【0023】
ネットワークインタフェース部25は、ネットワーク9を介して、サーバ10あるいは他のクライアント20との間のデータ通信を行う。
【0024】
データ伸張装置23は、受信したデータが圧縮されていたときに、その圧縮データの伸長を行う。データ伸長装置23の構成については、後述する。
【0025】
図2にデータ圧縮装置13およびデータ圧縮装置13に入力されるストリームデータの詳細な構成を示す。
【0026】
データ圧縮装置13には、ストリームデータ40が入力される。ストリームデータ40は、WWWサーバ11がデータ記憶部17から取得した複数のコンテンツデータ50(50A〜D)が連続するように構成されている。各コンテンツデータ50は、ヘッダ部51(51A〜D)と、データ部52(52A〜D)とで構成されている。つまり、ストリームデータ40には、予め所定の区切りが設けられている。
【0027】
ここで、コンテンツデータ50は、例えば、HTTP(Hyper Text Transfer Protocol)形式のデータであり、ヘッダ部51がHTTPヘッダ部、データ部52がHTTPデータ部であってもよい。
【0028】
ヘッダ部51には、データ部52に関する情報、例えばデータ部52に格納されているデータのタイプに関する情報などがテキスト形式で格納されている。データ部52に格納されているデータのタイプは、例えば、テキストデータ、画像データなどがある。また、ここではヘッダ部51内のデータの類似性に着目し、ヘッダ部51を一つのデータタイプとして扱う。従って、以下の説明では、データタイプとして、ヘッダタイプ、テキストタイプ、および画像タイプがある。
【0029】
なお、データタイプとしては、上記以外にも種々のものが考えられる。例えば、音声データ、音楽データ、地図データなど、同一パターンを多く含むような、所定の類似性を有するデータ群をそれぞれ一つのデータタイプとしてもよい。
【0030】
データ圧縮装置13は、入力されたストリームデータ40から、所定のブロックを切り出すデータ切り出し処理部31と、データ切り出し処理部31で切り出されたデータをいずれかの圧縮処理部33に振り分ける分配処理部32と、データの圧縮処理を行う複数の圧縮処理部33(33a、33b、33c)と、複数の圧縮処理部33でそれぞれ圧縮されたデータを多重化する多重化処理部34とを備える。
【0031】
各圧縮処理部33は、それぞれ、バッファ331(331a)と、圧縮処理を行うときに用いられる圧縮辞書332(332a)と、実際の圧縮処理を実行する圧縮実行部333(333a)とを備える。なお、図2では、圧縮処理部33内の構成は、1つの圧縮処理部33aについてだけ表示し、他の2つの圧縮処理部33b、33cについては表示を省略している。
【0032】
ここで、各圧縮処理部33a〜cは、それぞれ、処理対象となるデータタイプが予め決められている。以下の説明では、圧縮処理部33aがヘッダタイプ、圧縮処理部33bがテキストタイプ、そして、圧縮処理部33cが画像タイプのデータをそれぞれ圧縮処理するように予め定められている。
【0033】
データ切り出し処理部31がストリームデータ40の入力を受け付けると、ストリームデータ40内で予め設けられている所定の区切りを示す情報に従ってデータブロックの切り出しを行う。例えば、本実施形態では、コンテンツデータ50の区切り及びコンテンツデータ50内のヘッダ部51とデータ部52との区切りに従って、データブロックを切り出す。つまり、ヘッダ部51及びデータ部52の単位でデータブロックが切り出される。切り出されたデータブロックは、順次、分配処理部32へ送られる。従って、分配処理部32には、ストリームデータ40として入力された順序に従ってデータが送られる。
【0034】
なお、ストリームデータ40に予め区切りが設けられていない場合、あるいは、予め区切りが設けられていてもその区切りを示す情報を利用できないときは、データ切り出し処理部31がストリームデータ40を所定の類似性を有する単位に分割して切り出すようにしてもよい。
【0035】
分配処理部32は、切り出し処理部31が切り出したデータブロックを受信すると、受信するごとに、データブロック内のデータタイプに応じて、いずれかの圧縮処理部33に振り分ける。つまり、切り出されたデータブロックがヘッダタイプであれば圧縮処理部33aへ送り、テキストタイプであれば圧縮処理部33bへ送り、画像タイプであれば圧縮処理部33cへ送る。図2の例では、ヘッダタイプのデータブロックはヘッダ部51A〜D、テキストタイプのデータブロックはデータ部52A、52C、画像タイプのデータブロックは、データ部52B,52Dであり、それぞれ、圧縮処理部33a〜cへ割り振られている。なお、分配処理部32は、ヘッダ部51A〜Dとデータ部52A〜Dとを分割するときに、それぞれ対応するヘッダ部とデータ部とを対応付けるタグ(対応タグ)を付加してもよい。このタグは、後述するストリームデータの組み立て時に使用してもよい。
【0036】
ここで、分配処理部32におけるデータタイプの判別は、例えば、以下のようにして行う。すなわち、ヘッダ部51は、所定のヘッダ情報が含まれているのでこれを検出することにより行う。また、ヘッダ部51の後には必ずデータ部52(ここでは画像タイプまたはテキストタイプ)がくる。そして、ヘッダ部51内のヘッダ情報には、次にくるデータ部52内のデータタイプが画像タイプであるか、あるいはテキストタイプであるかを示す、データタイプの判別情報が格納されている。そこで、分配処理部32は、このデータタイプの判別情報を読み取って、判別する。
【0037】
圧縮処理部33a〜cが行う圧縮処理は、対象となるデータタイプが異なる点以外はいずれも共通するので、代表して圧縮処理部33aについて説明する。分配処理部32から送られてきたデータブロックは、バッファ331aに格納される。そして、バッファ331aが一杯になったとき、あるいは、ひとつのデータブロックがバッファ331aに書き込まれるたびに、圧縮実行部333cがバッファ331aからデータを取得し、圧縮辞書332aを用いて圧縮処理を実行する。そして、圧縮されたデータは、圧縮処理が行われた圧縮処理部33a〜cを識別するためのタグ(処理部識別タグ)が付されて、多重化処理部34へ出力される。なお、圧縮処理は、例えば、スライド辞書圧縮方式や、ツリー辞書圧縮方式などの可逆圧縮方式を採用することができる。
【0038】
例えば、スライド辞書圧縮方式では、バッファ331aに格納されているデータのパターンと同一のデータパターンが圧縮辞書332aに存在する場合には、データ圧縮を行う。そして、バッファ331a内のデータを圧縮辞書332aにFIFOの手順で格納し、圧縮辞書332aを順次更新する。
【0039】
多重化処理部34は、ネットワークインタフェース部15がデータ通信を行うために、各圧縮処理部33a〜cによって圧縮されたデータの多重化を行う。そして、圧縮されたデータを多重化したデータが、ネットワークインタフェース部15によりクライアント20へ送信される。ここで、圧縮処理部33a〜cがデータブロック単位に圧縮処理を行う場合は、ストリームデータ40としてデータ圧縮装置13に入力された順序に従って圧縮される。例えば、図2の例では、データブロック51A,51B,52A,52B・・・の順で圧縮されて、この順序に従って多重化処理部34へ出力される。従って、多重化処理部34で多重化されたデータも、この入力順序が反映されている。
【0040】
次に、データ伸張装置23の構成について、図3を用いて説明する。
【0041】
データ伸張装置23は、復号化処理部41と、圧縮されたデータを伸張する伸張処理部42(42a,42b,42c)と、伸張されたデータを再び組み立ててストリームデータとして構成する組み立て処理部43とを備える。
【0042】
復号化処理部41は、サーバ10から多重化して送信されてきたデータを、ネットワークインタフェース部21を介して受信する。そして、受信データの多重化された状態を解除し、各圧縮データを取り出す。ここで、各圧縮データは、データ圧縮装置13に入力された順序に従って取り出され、この順序に従って下記の要領で各伸長処理部42a〜cへ振り分けられる。
【0043】
伸張処理部42は、圧縮処理と逆の処理を行って圧縮データを伸張し、圧縮前のデータに戻す。伸張処理部42は、圧縮処理部33と同様に、伸張処理部42aがヘッダタイプ、伸張処理部42bがテキストタイプ、そして、伸張処理部42cが画像タイプと、それぞれ伸張処理を行う対象とするデータタイプが予め定められている。ここで各圧縮データには、上述の通り、それぞれが生成された圧縮処理部33a〜cを識別するための処理部識別タグが付されている。従って、復号化処理部41は、そのタグに基づいて、各圧縮データをそれぞれ対応する伸長処理部42a〜cのいずれかに振り分ける。
【0044】
各伸張処理部42は、それぞれ、バッファ421(421a)と、データ伸張時に用いられる圧縮辞書422(422a)と、圧縮されたデータを伸張する伸張実行部423(423a)とを備える。なお、図3でも、伸張処理部42内の構成は、1つの伸張処理部42aについてだけ表示し、他の2つについては省略している。
【0045】
伸張処理部42a〜cが行う伸張処理も、対象とするデータタイプが異なる点を除き共通するので、代表して伸張処理部42aについて説明する。伸張処理部42aが復号化処理部41から受け取ったデータは、まず、バッファ421aに格納される。そして、伸張実行部423aが、バッファ421aに格納されているデータと圧縮辞書422aと対比しながら、圧縮処理と反対の処理を行ってデータを伸張する。そして、これと同時に、圧縮辞書422aを順次更新する。そして、伸張されたデータは、組み立て処理部43に出力される。
【0046】
図2の例では、伸長処理部42aから復元されたヘッダ部51A〜51Dが出力され、伸長処理部42bから復元されたデータ部52A,52Cが出力され、伸長処理部42cから復元された52B,52Dが出力され、組み立て処理部43に入力される。
【0047】
組み立て処理部43は、各伸長処理部42a〜cから受け取ったそれぞれのデータを組み立てて、ストリームデータ40を再生する。このとき、圧縮処理部33a〜cでデータブロック単位に圧縮処理が行われている場合には、各伸長処理部42a〜cでのデータの伸長も入力順序に従うので、組み立て処理部43が受け取った順序に組み立てることでストリームデータ40の再生が可能である。また、圧縮処理部33a〜cで複数のデータブロックがまとめて圧縮されている場合は、各データブロックに付加されたヘッダ部とデータ部とを対応付けるタグに基づいて、ヘッダ部とデータ部とを対応させてコンテンツデータ50を再生し、ストリームデータ40を再生する。
【0048】
次に、データ圧縮装置13でスライド辞書圧縮方式を用いて圧縮処理を行ったときの一例を、図4〜図8を用いて具体的に説明する。
【0049】
スライド辞書圧縮方式とは、同じパターンのデータ並びを検出し、後に出現した同じパターンのデータ並びを先に出現したパターンまでの距離(オフセット)とデータ長に置き換えて、全体のサイズを小さくする圧縮方式である。また、同じパターンのデータ並びを検出するための比較を行うときに、先行するデータを格納しておく記憶装置をスライド辞書といい、スライド辞書に格納するデータ量をスライド辞書サイズという。例えば、「012345670123」というデータについて、スライド辞書サイズ「10」の辞書を用いて圧縮すると、「01234567、8文字前から4文字連続」という圧縮結果を得る。また、スライド辞書サイズ「5」のスライド辞書を用いると、まったく圧縮されない(後方の0が比較対象となったときには、スライド辞書は「34567」が格納されていて、先行する0はない)。なお、本実施形態では、圧縮処理部33の圧縮辞書332が、スライド辞書に対応する。
【0050】
図2において説明したように、ストリームデータ40がヘッダ部51とデータ部52に分割され、それぞれのデータブロックが圧縮処理部33a〜cのいずれかにそれぞれ割り振られる。ここでは、ストリームデータ40として、図4に示すデータが入力された場合について考える。ここでは、説明の便宜上、ヘッダタイプのデータをアルファベット、テキストタイプのデータをひらがな、画像タイプのデータを数字で、それぞれ表示している。このとき、各圧縮処理部33a〜cの圧縮辞書332は、いずれも初期化された状態である。また、各圧縮辞書332のスライド辞書サイズを「5」とする。
【0051】
まず、圧縮処理部33aに、ヘッダ部51A、51B,51C,51Dがこの順序で入力されると、この順序で圧縮処理が行われる。その圧縮結果を図5に示す。すなわち、データブロック51Aについては、圧縮が行われていない。これは、圧縮辞書332が初期化されているからである。データブロック51Bは、「BCD」の部分が、圧縮辞書331aに格納されているデータブロック51Aと同一パターンであるから、「@1」で示す部分に「3文字前から3文字連続」を示す情報が格納される。データブロック51Cも「BCD」が圧縮辞書331aに格納されているデータブロック51Bと同一パターンであり、「@2」で示す部分に「5文字前から3文字連続」を示す情報が格納される。そして、データブロック51Dも「BCD」が圧縮辞書331aに格納されているデータブロック51Cと同一パターンであり、「@3」で示す部分に「3文字前から3文字連続」を示す情報が格納される。
【0052】
同様にして、圧縮処理部33bにデータ部52A,52Cがこの順序で入力されると、この順序で圧縮処理が実行される。その圧縮結果を図6に示す。すなわち、データブロック52Aについては、圧縮が行われていない。これは、圧縮辞書332が初期化されているからである。データブロック52Cは、「あいう」の部分が、圧縮辞書に格納されているデータブロック52Aと同一パターンであるから、「@4」で示す部分に「4文字前から3文字連続」を示す情報が格納される。
【0053】
さらに同様にして、圧縮処理部33cにデータ部52B,52Dがこの順序で入力されると、この順序で圧縮処理が実行される。その圧縮結果を図7に示す。すなわち、データブロック52Bについては、圧縮が行われていない。これは、圧縮辞書332が初期化されているからである。データブロック52Dは、「259」の部分が、圧縮辞書に格納されているデータブロック52Bと同一パターンであるから、「@5」で示す部分に「4文字前から3文字連続」を示す情報が格納される。
【0054】
上記の処理により、32データに対して15データが圧縮されたことになり、圧縮率(圧縮対象データ比率)は46.875%である。
【0055】
上述の例からわかるように、各データタイプは、それぞれに固有のデータのパターンが多く出現するという特徴を有する。つまり、同一のデータタイプに属するデータについては、データの内容にある程度の類似性がある。従って、本実施形態のように各圧縮処理部33が圧縮処理をするデータタイプを固定することにより、各データタイプに固有のパターンを利用した圧縮を行うことにより、圧縮効率が向上する。
【0056】
つぎに、比較のためにデータタイプ別に圧縮処理部を区別しないで、一つの圧縮処理部33が全データの圧縮処理を行う場合について説明する。すなわち、上記と同一のストリームデータを同一の圧縮処理部で圧縮した場合の圧縮結果を図8に示す。図8(a)がスライド辞書サイズ「5」の場合であり、(b)がスライド辞書サイズ「15」の場合の結果である。これからわかるように、(a)ではまったく圧縮が行われない。これは、ストリームデータ40全体では、5以内の距離で同一パターンが出現しないためである。一方、(b)は、「@8」「@9」で示した2箇所だけ圧縮されている。
【0057】
この結果、スライド辞書サイズ「15」の場合、32データに対してわずかに6データのみ圧縮されたことになり、圧縮率(圧縮対象データ比率)は18.75%である。従って、本実施形態のようにデータタイプ別に圧縮処理装置を備えることにより、従来よりも圧縮効率が向上することがわかる。これは、各データタイプは、それぞれに固有のデータのパターンが多く出現するので、これを利用して高い圧縮効果をあげることができるからである。
【0058】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【0059】
例えば、上記実施形態では、サーバ10にデータ圧縮装置13が搭載され、クライアント20にデータ伸長装置23が搭載され、圧縮データの転送方向はサーバからクライアントへの一方向であるが、図9に示すように、サーバ及びクライアントの双方に、データ圧縮装置及びデータ伸長装置の両方を備え、双方向で圧縮通信を行うようにしてもよい。
【0060】
また、上記実施形態では通信システムについて示しているが、圧縮装置及び伸長装置の用途はこれに限定されない。さらに、圧縮装置と伸長装置が同一のコンピュータマシン上で実現されていてもよい。
【図面の簡単な説明】
【0061】
【図1】本発明の一実施形態に係る通信システムの全体構成を示す図である。
【図2】本実施形態に係る圧縮装置の構成を示す図である。
【図3】本実施形態に係る伸長装置の構成を示す図である。
【図4】ストリームデータの一例を示す図である。
【図5】ヘッダタイプの圧縮例を示す図である。
【図6】テキストタイプの圧縮例を示す図である。
【図7】画像タイプの圧縮例を示す図である。
【図8】従来の方式による圧縮例を示す図である。
【図9】本発明の他の実施形態に係る通信システムの全体構成を示す図である。
【符号の説明】
【0062】
1…通信システム、10…サーバ、20…クライアント、13…データ圧縮装置、23…データ伸長装置、40…ストリームデータ、50…コンテンツデータ、51…ヘッダ部、52…データ部。

【特許請求の範囲】
【請求項1】
ストリームデータから、所定の複数のデータタイプのいずれかに該当するデータブロックを、順次切り出す切り出し手段と、
データ圧縮処理を行い、それぞれが、前記複数のデータタイプのうちのいずれかに対応する複数のデータ圧縮手段と、
前記切り出し手段により切り出されたデータブロックを、当該データブロックのデータタイプに応じて、それぞれのデータタイプに対応するデータ圧縮手段に振り分ける分配手段と、を備えるデータ圧縮装置。
【請求項2】
前記切り出し手段により切り出された、それぞれのデータブロック内のデータは、それぞれのデータタイプに応じた所定の類似性を有するデータであり、
前記複数のデータ圧縮手段は、それぞれのデータブロック内の前記類似性を利用してデータ圧縮をすることを特徴とする請求項1記載のデータ圧縮装置。
【請求項3】
前記複数の圧縮手段は、それぞれ、
前記分配手段から前記データブロックを受信するごとに、当該データブロックの圧縮処理を実行するか、または、前記分配手段から受信した複数のデータブロックをまとめて圧縮を実行することを特徴とする請求項1記載のデータ圧縮装置。
【請求項4】
前記複数のデータ圧縮手段が圧縮した、複数の圧縮データブロックを多重化して送信する通信手段を、さらに備えることを特徴とする請求項1記載のデータ圧縮装置。
【請求項5】
前記ストリームデータには、所定の区切りが設けられていて、
前記切り出し手段は、前記区切りに従って前記ストリームデータから前記データブロックを切り出すことを特徴とする請求項1記載のデータ圧縮装置。
【請求項6】
前記切り出し手段により切り出されたデータブロックは、HTTPヘッダ部またはHTTPデータ部であり、
前記分配手段は、少なくとも、前記HTTPヘッダ部であるヘッダデータと、テキストデータが格納された前記HTTPデータ部であるテキストデータと、画像データが格納された前記HTTPデータ部である画像データとを、それぞれ異なるデータ圧縮手段に振り分けることを特徴とする請求項5記載のデータ圧縮装置。
【請求項7】
ストリームデータから切り出されたデータブロックであって、所定の複数のデータタイプのいずれかに該当するデータブロックが、前記データタイプ別に圧縮されたデータを受け付ける手段と、
それぞれが、前記複数のデータタイプのうちの、それぞれ異なる所定の一のデータタイプについて、前記圧縮されたデータの伸長処理を行って前記データブロックを再生する、複数のデータ伸長手段と、
前記複数のデータ伸長手段により再生されたデータブロックに基づいて、前記ストリームデータを再構築するデータ組み立て手段と、を備えるデータ伸長装置。
【請求項8】
ストリームデータから、所定の複数のデータタイプのいずれかに該当するデータブロックを、順次切り出すステップと、
前記切り出されたデータブロックを、当該データブロックのデータタイプに応じて、振り分けるステップと、
前記振り分けられたデータブロックを、前記データタイプ別に並列的に圧縮処理を行うステップと、を有するデータ圧縮方法。
【請求項9】
ストリームデータから切り出されたデータブロックであって、所定の複数のデータタイプのいずれかに該当するデータブロックが、前記データタイプ別に圧縮されたデータを受け付けるステップと、
前記データタイプ別に圧縮されたデータを、前記データタイプ別に、並列的に伸長して前記データブロックを再生するステップと、
前記再生されたデータブロックに基づいて、前記ストリームデータを再構築するステップと、を有するデータ伸長方法。
【請求項10】
コンピュータに実行されると、
ストリームデータから、所定の複数のデータタイプのいずれかに該当するデータブロックを、順次切り出す処理と、
前記切り出されたデータブロックを、当該データブロックのデータタイプに応じて、振り分ける処理と、
前記振り分けられたデータブロックを、データタイプ別に並列的に圧縮処理を行う処理とが、実現される、データ圧縮のためのコンピュータプログラム。
【請求項11】
コンピュータに実行されると、
ストリームデータから切り出されたデータブロックであって、所定の複数のデータタイプのいずれかに該当するデータブロックが、前記データタイプ別に圧縮されたデータを受け付ける処理と、
前記データタイプ別に圧縮されたデータを、前記データタイプ別に、並列的に伸長して前記データブロックを再生する処理と、
前記再生されたデータブロックに基づいて、前記ストリームデータを再構築する処理と、が実現される、データ伸長のためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2006−100973(P2006−100973A)
【公開日】平成18年4月13日(2006.4.13)
【国際特許分類】
【出願番号】特願2004−281958(P2004−281958)
【出願日】平成16年9月28日(2004.9.28)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】