JPWO2010067897A1 - データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ通信システム - Google Patents

データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ通信システム Download PDF

Info

Publication number
JPWO2010067897A1
JPWO2010067897A1 JP2010542147A JP2010542147A JPWO2010067897A1 JP WO2010067897 A1 JPWO2010067897 A1 JP WO2010067897A1 JP 2010542147 A JP2010542147 A JP 2010542147A JP 2010542147 A JP2010542147 A JP 2010542147A JP WO2010067897 A1 JPWO2010067897 A1 JP WO2010067897A1
Authority
JP
Japan
Prior art keywords
data
code
stored
fields
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010542147A
Other languages
English (en)
Inventor
木下 聡
聡 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2010067897A1 publication Critical patent/JPWO2010067897A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Abstract

データ圧縮装置は、データの多様度を考慮しない不適切な長さのコードを使用して、圧縮率を低下させる。データ圧縮装置は、フィールド数の各々に対応して、フィールド数の増加に伴って減少せずに少なくとも一度は増加する符号長の各々を格納する符号長記憶手段と、フィールド数(N;複数)を入力して、符号長記憶手段からN以下のフィールド数(n)に対応する符号長を取得し、符号長の符号を出力する割り当て手段を備える。

Description

本発明は、データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ送受信システムに関する。
特許文献1は、データストリームの文字列の各々に専用のコードを割り当て、当該コードを用いて、データストリームを圧縮する送信機が記載されている。ここで、当該コードは、文字列の辞書中におけるアドレスである。
特許文献2は、入力文字列と一致する辞書中の部分列で、最も長い部分列(S)を検索するデータ圧縮復元装置を開示する。この装置は、部分列Sを、辞書中の位置に基づいて決定されるビット長の符号に変換して圧縮する。
特許文献3は、複数のフィールドからなる元ファイルのレコードを入力して、その複数のフィールドをまとめて固定長フィールドに変更するファイル管理方法を開示する。
特開平8−251035号公報 特開平6−202844号公報 特開平11−154155号公報
上記の文献の技術は、複数フィールドからなるデータの圧縮に際し、各フィールドに於けるデータの多様度を考慮した最適な長さの符号を使用して、当該データを圧縮することが出来ない。この結果、不適切な長さのコードを使用して、圧縮率を低下させるおそれがある。
具体的に、特許文献1および特許文献2に記載の技術は、文字列をコードまたは符号で圧縮するに際し、当該文字列の多様度を考慮しない。また、特許文献3の方法は、フィールドの長さを基準に複数フィールドをまとめており、フィールド内データの多様度は考慮しない。
本発明の目的は、上記課題を解決するための、データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ通信システムを提供することにある。
本発明の一実施形態のデータ圧縮装置は、フィールド数の各々に対応して、前記フィールド数の増加に伴って減少せずに少なくとも一度は増加する符号長の各々を格納する符号長記憶部と、フィールド数(N;複数)を入力して、前記符号長記憶部から前記N以下の前記フィールド数(n)に対応する前記符号長を取得し、前記符号長の符号を出力する割り当て部を備える。
本発明の一実施形態のデータ圧縮方法は、フィールド数の各々に対応して、前記フィールド数の増加に伴って減少せずに少なくとも一度は増加する符号長の各々を格納する符号長記憶部を準備する符号長記憶工程と、フィールド数(N;複数)を入力して、前記符号長記憶部から前記N以下の前記フィールド数(n)に対応する前記符号長を取得し、前記符号長の符号を出力する割り当て工程を有する。
本発明の一実施形態のデータ圧縮プログラムは、フィールド数の各々に対応して、前記フィールド数の増加に伴って減少せずに少なくとも一度は増加する符号長の各々を格納する符号長記憶部を備えるコンピュータに、フィールド数(N;複数)を入力して、前記符号長記憶部から前記N以下の前記フィールド数(n)に対応する前記符号長を取得し、前記符号長の符号を出力する割り当て処理を実行させる。
本発明は、データの多様度を反映した、圧縮率が高いデータ圧縮を可能とする。
図1は、第1の実施形態にかかるデータ圧縮装置10が圧縮するデータを示す。 図2は、第1の実施形態のデータ圧縮装置10の構成図である。 図3は、符号長記憶部40に格納されるデータを示す。 図4は、符号表50に格納されるデータを示す。 図5は、DB管理部30の動作フローチャートである。 図6Aは、割り当て部32の動作フローチャート(1/2)である。 図6Bは、割り当て部32の動作フローチャート(2/2)である。 図7は、検索符号化部33の動作フローチャートである。 図8は、復号部31の動作フローチャートである。 図9は、第2の実施形態のデータ圧縮装置10が圧縮するデータを示す。 図10は、第2の実施形態の符号長記憶部40に格納されるデータを示す。 図11は、第3の実施形態のデータ圧縮装置10の構成図である。 図12は、本実施形態のデータ圧縮装置10が行うデータ圧縮の様子を示す。 図13は、第4の実施形態のデータ圧縮装置10の構成図である。 図14は、第5の実施形態のデータ圧縮装置10が圧縮するデータを示す。 図15は、第5の実施形態の割り当て部32の動作フローチャートである。 図16は、本発明のデータ圧縮装置10の基本構成を示す。
10 データ圧縮装置
11 コンピュータ
12 コンテンツデータベース
13 圧縮データ受信装置
14 圧縮データ通信システム
20 格納データ
21 格納圧縮データ
22 格納コンテンツ
24 コンテンツデータ
25 コンテンツ圧縮データ
26 検索データ
27 検索圧縮データ
28 出力コンテンツ
30 DB管理部
31 復号部
32 割り当て部
33 検索符号化部
34 送信部
35 受信部
36 受信符号表格納部
38 圧縮解除プログラム
39 データ圧縮プログラム
40 符号長記憶部
41 記憶部エントリ
42 フィールド数
43 符号長
50 符号表
51 表エントリ
52 コード
53 n値
54 nデータ
55 長さ表示
56 符号
図1は、第1の実施形態にかかるデータ圧縮装置10が圧縮するデータを示す。圧縮されるデータは、複数(N個)のフィールドから構成される。各フィールドは区切り記号で区切られているものとする。図1によれば、データ圧縮装置10は、先頭から第n1フィールドまでのデータを圧縮するときは長さl1の圧縮符号(以降、符号)を用いる。同装置は、先頭から第n2フィールドまでのデータを圧縮するときは長さl2の符号を用いる。同装置は、先頭から第Nフィールドまでのデータを圧縮するときは長さlNの符号を用いる。
以降、先頭から第nフィールドまでのデータをnデータと略記することがある。
利用者は、各フィールドが取りうる値の多様度を考慮して、フィールド数に対応する符号の長さ(l1、l2、lN等)をデータ圧縮装置10に指定することが出来る。例えば、同装置が扱う範囲内で、n1データは比較的固定的で多様度が低いが、第n1+1フィールドから第n2フィールド迄のデータは多様度が高い場合、利用者はl1に比較的小さく、l2に大きく増加した値を指定できる。更に、例えば、第n2+1以降のデータの多様度が高いときは、利用者はl2に比べて大きく増加した値をlNとして指定できる。
なお、フィールドが取りうる値の多様度が高いとは、当該フィールドに格納されうるデータのバリエーション数が多いことを意味する。反対に、フィールドが取りうる値の多様度が低いとは、当該フィールドに格納されうるデータのバリエーション数が少ないことを意味する。例えば、あるレコードの先頭フィールドは、和暦の元号2文字データの格納域であり、データのバリエーションは『昭和』か『平成』の2通りであるとする。一方、後続のフィールドは英文字2文字データの格納域であり、データのバリエーションは、52x52通りであるとする。この場合、先頭フィールドの多様度は低いが、後続フィールドは多様度は高いと言っても良い。
データは、例えば、EPC(Electronic Product Code)のコード体系で表現したRFID(Radio Frequency IDentification)タグIDが考えられる。EPCは階層的な構造を持ち、1つのEPCは、タグの種別コード、企業コード、商品コード、および個品を区別するシリアルコードという複数のフィールドから構成される。
データは、例えば、URL(Uniform Resource Locator)であっても良い。URLも複数のフィールドからなる階層的な構造を持つ。データはEPCやURLに限られず、複数のフィールドから構成されるものであれば良い。
図2は、第1の実施形態のデータ圧縮装置10の構成図である。データ圧縮装置10は、コンテンツデータベース12と接続されている。コンテンツデータベース12は、例えば、RFIDのタグID対応に、当該タグが付されている商品等の情報をコンテンツとして格納している。
同装置は、DB管理部30、割り当て部32、検索符号化部33、復号部31、符号長記憶部40、符号表50を包含する。符号長記憶部40、符号表50は図示しないメモリ等に配置される。
DB管理部30は、格納データ20と格納コンテンツ22を端末等から入力する。同部は、格納データ20を圧縮した格納圧縮データ21をインデックスとして格納コンテンツ22をコンテンツデータベース12に格納する。
また、同部は検索データ26を端末等から入力する。同部は、格納データ20を圧縮した格納圧縮データ21をインデックスとして用いて、コンテンツデータベース12を検索し、出力コンテンツ28を端末等に出力する。
格納コンテンツ22は、コンテンツデータ24を包含していても良い。DB管理部30は、コンテンツデータ24を圧縮してコンテンツデータベース12に格納する。圧縮されたコンテンツデータ24は、コンテンツ圧縮データ25である。
格納データ20、検索データ26、コンテンツデータ24が、図1のデータに該当する。なお、DB管理部30は、その一部として市販のデータベースシステムを使用していても良い。
割り当て部32は、格納データ20、または、コンテンツデータ24を入力し、圧縮して、格納圧縮データ21、または、コンテンツ圧縮データ25を出力する。検索符号化部33は、検索データ26を入力し、圧縮して、検索圧縮データ27を出力する。復号部31は、コンテンツ圧縮データ25を入力し、圧縮解除して、コンテンツデータ24を出力する。
DB管理部30、割り当て部32、検索符号化部33、復号部31は、ハードウェアで実現される。DB管理部30、割り当て部32、検索符号化部33、復号部31は、コンピュータ11でもあるデータ圧縮装置10の図示しないプロセッサが、図示しないメモリ上のデータ圧縮プログラム39を実行することで実現されても良い。
図3は、符号長記憶部40に格納されるデータを示す。符号長記憶部40は記憶部エントリ41を複数格納する。各記憶部エントリ41はフィールド数42と符号長43を対応させて記憶する。
フィールド数42は、例えば、1から格納データ20(検索データ26、コンテンツデータ24も同じ)のフィールドの数の最大値(例えば6)までを格納する。フィールド数42は、1から格納データ20等のフィールドの数の最大値未満の数までを格納していても良い。
符号長43は、フィールド数42の増加に伴って、順次増加する値(例えば、1から4まで。同じ値があっても良い)を格納する。符号長43の単位は、例えばバイト長やビット長である。
図4は、符号表50に格納されるデータを示す。符号表50は表エントリ51を格納する。各表エントリ51はコード52、n値53、nデータ54を対応させて記憶する。コード52は長さ表示55と符号56を包含する。長さ表示55は符号56の長さを示す、例えば、2ビットのデータである。例えば、01は符号56が1バイトであること、10は符号56が2バイトであること、11は符号56が4バイトであることを示すこととする。(00は、後述するように、符号化されなかったことを示しても良い。)
なお、符号56に終端表示を付加して符号56の長さを認識する場合、長さ表示55は不要である。データ圧縮装置10は、例えば、符号56の値として2ビット連続する0は含めないようにして、2ビット連続する0を終端表示として使用することが出来る。
図5は、DB管理部30の動作フローチャートである。DB管理部30は、端末等からコンテンツデータベース12への格納要求を入力する(S1でY)と、同端末等から格納データ20を入力して割り当て部32に出力し、同部から格納圧縮データ21を受信する(S2)。
続いて、DB管理部30は、同端末等から格納コンテンツ22を入力し、格納コンテンツ22がコンテンツデータ24を包含していればこれを圧縮する(S3)。
具体的に、同部は格納コンテンツ22にコンテンツデータ24が含まれているか否かを判断する。含まれていれば、同部は、コンテンツデータ24を取り出して割り当て部32に出力し、同部からコンテンツ圧縮データ25を受信する。同部は、受信したコンテンツ圧縮データ25で格納コンテンツ22内のコンテンツデータ24を置換する。
コンテンツデータ24が含まれているか否かの判断方法や格納コンテンツ22内でのコンテンツデータ24の位置取得方法は、予め定められているものとする。例えば、格納コンテンツ22の特定エリアが、フラグやポインタを含んでいても良い。
DB管理部30は、格納圧縮データ21を検索用のインデックス値として付して、格納コンテンツ22をコンテンツデータベース12に格納する(S4)。
端末等からコンテンツデータベース12への検索要求を入力する(S1でN)と、DB管理部30は、同端末等から検索データ26を入力して検索符号化部33に出力し、同部から検索圧縮データ27を受信する(S5)。
続いて、DB管理部30は、検索圧縮データ27をキーとしてコンテンツデータベース12を検索し、出力コンテンツ28を読み込む(S6)。
最後に同部は、出力コンテンツ28がコンテンツ圧縮データ25を包含していればこれを圧縮解除して、出力コンテンツ28を端末等に出力する(S7)。
具体的に、同部は出力コンテンツ28にコンテンツ圧縮データ25が含まれているか否かを判断する。含まれていれば、同部は、コンテンツ圧縮データ25を取り出して復号部31に出力し、同部からコンテンツデータ24を受信する。同部は、受信したコンテンツデータ24で出力コンテンツ28内のコンテンツ圧縮データ25を置換する。
図6A及び図6Bは、割り当て部32の動作フローチャートである。なお、以下の説明は、入力データが格納データ20である場合についてのものであるが、入力データがコンテンツデータ24である場合も同じである。
割り当て部32は、入力した格納データ20のフィールド数(N)をカウントし(S11)、検索フィールド数(L)にNを設定する(S12)。格納データ20のフィールド数が一律である場合、このカウントは不要である。また、Nは、パラメータ値として外部から与えられても良い。
同部は、フィールド数42がLである記憶部エントリ41を発見するため符号長記憶部40を検索し(S13)、発見できれば(S14でY)、発見した記憶部エントリ41から符号長43を取得する(S15)。
その後同部は、格納データ20の先頭から第Lフィールドまでのデータ(格納Lデータ)に既に割り当てられている符号56を発見するため符号表50を検索する。即ち、同部は、n値53がLと同じ値、かつ、nデータ54が格納Lデータと一致する表エントリ51を探す(S16)。
発見できなければ(S1AでN)、同部は新たな符号を生成する。即ち、同部は、取得した符号長43の長さを持ち、符号表50に登録されていない符号を生成する(S1B)。具体的に同部は、例えば、符号長43対応に既に生成済み符号56の最大値を記憶しておき、生成時に1加算した値を新たな符号として出力しても良い。
生成できると(S1CでY)、同部は符号表50に新たな表エントリ51を追加する。即ち同部は、生成した符号を符号56に、その長さを長さ表示55に、Lをn値53に、格納Lデータをnデータ54に各々格納する(S1D)。
同部は、格納データ20中の格納Lデータを、追加した表エントリ51のコード52(長さ表示55と符号56)で置換して、格納圧縮データ21を生成してDB管理部30に出力する(S1E)。なお、DB管理部30が置換を行うこととして、割り当て部32は、コード52をDB管理部30に出力することとしても良い。
n値53がLと同じ値、かつ、nデータ54が格納Lデータと一致する表エントリ51を発見できた場合(S1AでY)、同部は、格納データ20中の格納Lデータを、当該表エントリ51のコード52で置換して格納圧縮データ21を生成する。同部は、生成した格納圧縮データ21をDB管理部30に出力する(S1F)。
フィールド数42がLである記憶部エントリ41を発見できない(S14でN)、または、新たな符号生成に失敗した場合(S1CでN)、割り当て部32はLを1減じる(S17)。その後同部はS13から再実行する。Lを1減じた結果0になれば(S18でN)、同部は、格納データ20の先頭に長さ表示55の代わりの値(2ビットデータ00)を付して、格納圧縮データ21としてDB管理部30に出力する(S19)。このケースは、使用可能な符号が生成出来ず、圧縮出来なかった場合である。
図7は、検索符号化部33の動作フローチャートである。検索符号化部33は、入力した検索データ26のフィールド数(N)をカウントし(S21)、検索フィールド数(L)にNを設定する(S22)。検索データ26のフィールド数が一律である場合、このカウントは不要である。また、Nは、パラメータ値として外部から与えられても良い。
同部は、フィールド数42がLである記憶部エントリ41を発見するため符号長記憶部40を検索する(S23)。発見できれば(S24でY)、同部は、検索データ26の先頭から第Lフィールドまでのデータ(検索Lデータ)に既に割り当てられている符号56を発見するため符号表50を検索する。即ち、同部は、n値53がLと同じ値、かつ、nデータ54が検索Lデータと一致する表エントリ51を探す(S25)。
発見できた場合(S26でY)、同部は、検索データ26中の検索Lデータを、当該表エントリ51のコード52で置換して、検索圧縮データ27を生成してDB管理部30に出力する(S27)。
フィールド数42がLである記憶部エントリ41を発見できない(S24でN)、または、n値53がLと同じ値かつnデータ54が検索Lデータと一致する表エントリ51を発見できない場合(S26でN)、検索符号化部33はLを1減ずる(S28)。その後同部はS23から再実行する。Lを1減じた結果0になれば(S29でN)、同部は、検索データ26の先頭に長さ表示55の代わりの値(2ビットデータ00)を付して、検索圧縮データ27としてDB管理部30に出力する(S2A)。このケースは、圧縮できる検索Lデータが符号表50に登録されていないため、圧縮出来なかった場合である。
図8は、復号部31の動作フローチャートである。復号部31は、コンテンツ圧縮データ25を入力して(S31)、先頭2ビット(圧縮されていれば長さ表示が格納されている領域)が00であるか確認する(S32)。
00でない場合(S32でN)、同部はコンテンツ圧縮データ25からコードを取り出して(S33)、当該コードと一致するコード52を有する表エントリ51を検索する(S34)。同部は、コンテンツ圧縮データ25のコードを、当該表エントリ51のnデータ54で置換して、コンテンツデータ24を生成して出力する(S35)。
00である場合(S32でY)、同部は、コンテンツ圧縮データ25の先頭2ビットの00を削除して、コンテンツデータ24を生成して出力する(S36)。
上記の説明において、データ圧縮装置10がデータの先頭から連続したnフィールドを符号56で圧縮する。データ圧縮装置10は、データの後ろから連続したnフィールドを符号56で圧縮するようにしても良い。
また、連続したフィールドの多様度を調整する(例えば、多様度の低いフィールドを連続させる)為に、DB管理部30が、格納データ20や検索データ26のフィールドの前後関係を入れ替えてから、圧縮するようにしても良い。
本実施形態のデータ圧縮装置10は、格納データ20等のフィールドの取りうる値の多様度に応じて、圧縮率が高いデータ圧縮を可能とする。その理由は、利用者が符号長記憶部40に、フィールドの値の多様度に応じた適切な符号長43を指定できるからである。
また、本実施形態のデータ圧縮装置10は、複数フィールドを包含するデータの圧縮率を高く維持できる。その理由は、複数のフィールドをまとめて一つの符号56に圧縮するからである。
さらに、本実施形態のデータ圧縮装置10は、ある符号長43の符号56が使い切られたときでも、高い圧縮率を維持できる。その理由は、圧縮対象フィールド数を順次減じながらも、複数フィールドを当該複数フィールドの多様度に適した符号長43の符号56を用いるからである。
図9は、第2の実施形態のデータ圧縮装置10が圧縮するデータを示す。本実施形態のデータ圧縮装置10は、コンテンツデータベース12の検索に於いて、ワイルドカード指定の使用を可能とする。これを達成するために、本実施形態のデータ圧縮装置10は、格納データ20および検索データ26の符号化する最大範囲を第p−1フィールド(p<N)までに限定している。ワイルドカードは、圧縮されない第pフィールド以降で指定可能である。
図10は、第2の実施形態の符号長記憶部40に格納されるデータを示す。符号表50が格納するフィールド数42の最大値はp−1となっている。その理由は、格納データ20および検索データ26を符号化する最大範囲を第p−1フィールドまでに限定するためである。
本実施形態のDB管理部30は、ワイルドカードを指定したコンテンツデータベース12の検索を行う。ワイルドカードを指定した検索技術は公知であるため詳細は省略する。他の点に於いて、本実施形態のデータ圧縮装置10は第1の実施形態と同じである。
本実施形態のデータ圧縮装置10は、柔軟なデータ検索を可能とする。その理由は、検索に於いて、ワイルドカード指定が使用できるからである。
図11は、第3の実施形態のデータ圧縮装置10の構成図である。本実施形態のデータ圧縮装置10は複数の符号長記憶部40と複数の符号表50を包含する。
図12は、本実施形態のデータ圧縮装置10が行うデータ圧縮の様子を示す。本実施形態のデータ圧縮装置10の割り当て部32は、格納データ20を複数のフィールド列(部分格納データ)に分割して、各々を異なる符号長記憶部40と符号表50を用いて圧縮する。
例えば、割り当て部32は、第1フィールドから第n1−1フィールドまで(第1の部分格納データ)を第1の符号長記憶部40と符号表50を用いて圧縮する。同部は、第n1フィールドから第n2−1フィールドまで(第2の部分格納データ)を第2の符号長記憶部40と符号表50を用いて圧縮する。同部は、第n2フィールドから第Nフィールドまで(第3の部分格納データ)を第2の符号長記憶部40と符号表50を用いて圧縮する。
同装置は、複数の部分格納データを、同一の符号長記憶部40と符号表50を用いて圧縮しても良い。格納データ20の分割数は3に限定されない。さらに、同部および検索符号化部33は、各々、コンテンツデータ24および検索データ26も同様に圧縮する。
なお、部分格納データの区切りや、各部分格納データと、符号長記憶部40および符号表50との対応付けは、例えば、予め固定的に定められているものとする。他の点に於いて、本実施形態のデータ圧縮装置10は第1の実施形態と同じである。
本実施形態のデータ圧縮装置10は、柔軟なデータ圧縮が可能となる。その理由は、部分格納データ等に対して、それぞれ、適切な符号長記憶部40を指定できるからである。
図13は、第4の実施形態のデータ圧縮装置10の構成図である。本実施形態のデータ圧縮装置10は圧縮データ通信システム14の送信装置として機能する。
本実施形態のデータ圧縮装置10は、割り当て部32、符号長記憶部40、符号表50、送信部34を包含する。符号長記憶部40、符号表50は、第1の実施形態と同じである。
割り当て部32は、格納データ20を端末等から入力し、格納圧縮データ21を送信部34に出力する。他の点に於いて、割り当て部32は、第1の実施形態と同じである。
送信部34は、格納圧縮データ21の生成過程で登録された符号表50の内容を圧縮データ受信装置13に送信する。その後、送信部34は、格納圧縮データ21を圧縮データ受信装置13に送信する。
割り当て部32、送信部34は、ハードウェアで実現される。割り当て部32、送信部34は、コンピュータ11でもあるデータ圧縮装置10の図示しないプロセッサが、図示しないメモリ上のデータ圧縮プログラム39を実行することで実現されても良い。
圧縮データ受信装置13は、復号部31、受信部35、受信符号表格納部36を備える。受信符号表格納部36は図示しないメモリ等に配置される。
受信部35は、データ圧縮装置10から符号表50のデータを受信して受信符号表格納部36内に、データ圧縮装置10内と同じ内容の符号表50を再現する。
復号部31は、データ圧縮装置10から格納圧縮データ21を受信して、圧縮解除を行って格納データ20を、端末等に出力する。復号部31は、コンテンツ圧縮データ25、コンテンツデータ24に代えて、格納圧縮データ21、格納データ20を扱う。他の点に於いて、復号部31は第1の実施形態と同じである。
復号部31、受信部35は、ハードウェアで実現される。復号部31、受信部35は、コンピュータ11でもある圧縮データ受信装置13の図示しないプロセッサが、図示しないメモリ上の圧縮解除プログラム38を実行することで実現されても良い。
本実施形態のデータ圧縮装置10は、格納データ20を効率よく送信できる。その理由は、格納データ20を圧縮して送信するからである。
本発明は、図1が示すようなデータ以外にも、フィールド数によってデータが特定され、多様度が予測可能なデータ一般に適用できる。
図14は、第5の実施形態のデータ圧縮装置10が圧縮するデータを示す。図14によればデータは多種存在する。データは、例えば、n1個のフィールドから構成される第1種のデータ、n2個のフィールドから構成される第2種のデータ、.....N個のフィールドから構成される第N種のデータ等である。
図15は、第5の実施形態の割り当て部32の動作フローチャートである。割り当て部32は、入力した格納データ20のフィールド数(N)をカウントする(S41)。
同部は、フィールド数42がNである記憶部エントリ41を発見するため符号長記憶部40を検索して(S42)、発見した記憶部エントリ41から符号長43を取得する(S43)。
その後同部は、格納Nデータに既に割り当てられている符号56を発見するため符号表50を検索する。即ち、同部は、n値53がNと同じ値、かつ、nデータ54が格納Nデータと一致する表エントリ51を探す(S44)。
発見できなければ(S45でN)、同部は新たな符号を生成する。即ち、同部は、取得した符号長43の長さを持ち、符号表50に登録されていない符号を生成する(S46)。生成できると(S47でY)、同部は符号表50に新たな表エントリ51を追加する。即ち同部は、生成した符号を符号56に、その長さを長さ表示55に、Nをn値53に、格納Nデータをnデータ54に各々格納する(S48)。最後に同部は、生成した符号を格納圧縮データ21として出力する(S49)。
新たな符号の生成が出来ないと(S47でN)、同部はエラーリターンする(S4A)。
n値53がNと同じ値、かつ、nデータ54が格納Nデータと一致する表エントリ51が発見出来ると(S45でY)、同部は発見した表エントリ51から符号56を取得して格納圧縮データ21として出力する(S4B)。
本実施形態のデータ圧縮装置10は、幅広い格納データ20の圧縮が可能である。
図16は、本発明のデータ圧縮装置10の基本構成を示す。データ圧縮装置10は、符号長記憶部40と割り当て部32を備える。
符号長記憶部40は、フィールド数の各々に対応して、フィールド数42の増加に伴って減少せずに少なくとも一度は増加する符号長43の各々を格納する。割り当て部32は、フィールド数(N;複数)を入力して、符号長記憶部40からN以下のフィールド数42(n)に対応する符号長43を取得し、当該符号長43の符号56を出力する。
以上、実施形態を参照して本願発明を説明した。しかし、本願発明は、上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
この出願は、2008年12月12日に出願された日本出願特願2008−316695を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (22)

  1. フィールド数の各々に対応して、前記フィールド数の増加に伴って減少せずに少なくとも一度は増加する符号長の各々を格納する符号長記憶手段と、
    フィールド数(N;複数)を入力して、前記符号長記憶手段から前記N以下の前記フィールド数(n)に対応する前記符号長を取得し、当該符号長の符号を出力する割り当て手段を備えるデータ圧縮装置。
  2. 未使用な符号が存在する前記符号長に対応する前記フィールド数のうち、前記N以下の最大の値を前記符号長記憶手段の前記フィールド数から前記nとして取得し、前記未使用な符号を使用中にして出力する前記割り当て手段を備える、請求項1のデータ圧縮装置。
  3. 符号表と、
    前記N個のフィールドからなる格納データを入力して、前記格納データのうち先頭から連続した前記n個のフィールドのデータ(nデータ)と前記符号を対応させたエントリを前記符号表に格納し、前記nデータを前記符号で置換した前記格納データ(格納圧縮データ)を出力する前記割り当て手段を備える、請求項1または2のデータ圧縮装置。
  4. 前記格納圧縮データをインデックスとしてコンテンツを格納するコンテンツデータベースと、
    前記N個の連続したフィールドを含む検索データを入力して前記符号表から検索し、前記検索データと前記nデータの両者間で一致する先頭から連続したフィールド数が最大値(m;1以上N以下)となる前記nデータを格納する前記エントリを特定して、先頭から連続した前記m個のフィールドのデータ(mデータ)を、当該エントリの符号で置換した前記検索データ(検索圧縮データ)を作成する検索符号化手段と、
    前記検索圧縮データと一致する前記インデックスを有するコンテンツを前記コンテンツデータベースから取得するDB管理手段を備える、請求項3のデータ圧縮装置。
  5. 前記検索データは、第p(前記N未満の値)フィールド以降にワイルドカード指定を包含し、
    前記p未満のフィールド数対応の符号長を包含するが前記p以上のフィールド数対応の符号長を包含しない前記符号長記憶手段と、
    前記検索圧縮データのうち前記ワイルドカード指定以外の部分が、一致する前記インデックスを有するコンテンツを前記コンテンツデータベースから取得する前記DB管理手段を備える、請求項4のデータ圧縮装置。
  6. 第1と第2の符号長記憶手段と、
    第1と第2の符号表と、
    前記格納データから、第1と第2の連続フィールド列(部分格納データ)を取得し、前記第1の部分格納データから前記第1の符号長表と第1の符号表に基づいて第1の部分格納圧縮データを生成し、前記第2の部分格納データから前記第2の符号長表と第2の符号表に基づいて第2の部分格納圧縮データを生成し、前記第1の部分格納データを前記第1の部分圧縮格納データで、前記第2の部分格納データを前記第2の部分圧縮格納データで置換した前記格納置換データを作成する前記割り当て手段を備える、請求項3のデータ圧縮装置。
  7. 受信符号表格納手段と、
    前記符号表の内容を受信して前記受信符号表格納手段に格納する受信手段と、
    前記格納圧縮データを受信して、前記受信符号表格納手段内の前記符号表から前記格納圧縮データ内の前記符号と前記エントリ内の前記符号が一致するエントリを検索し、当該エントリの前記nデータで、前記格納圧縮データ内の前記符号を置換する復号手段を備える、圧縮データ受信装置に、
    前記符号表の内容と前記格納圧縮データを送信する送信手段を備える、請求項3のデータ圧縮装置。
  8. 前記圧縮データ受信装置と請求項7のデータ圧縮装置を包含する圧縮データ通信システム。
  9. フィールド数の各々に対応して、前記フィールド数の増加に伴って減少せずに少なくとも一度は増加する符号長の各々を格納する符号長記憶手段を準備する符号長記憶工程と、
    フィールド数(N;複数)を入力して、前記符号長記憶手段から前記N以下の前記フィールド数(n)に対応する前記符号長を取得し、当該符号長の符号を出力する割り当て工程を有するデータ圧縮方法。
  10. 未使用な符号が存在する前記符号長に対応する前記フィールド数のうち、前記N以下の最大の値を前記符号長記憶手段の前記フィールド数から前記nとして取得し、前記未使用な符号を使用中にして出力する前記割り当て工程を有する、請求項9のデータ圧縮方法。
  11. 符号表を準備する符号表工程と、
    前記N個のフィールドからなる格納データを入力して、前記格納データのうち先頭から連続した前記n個のフィールドのデータ(nデータ)と前記符号を対応させたエントリを前記符号表に格納し、前記nデータを前記符号で置換した前記格納データ(格納圧縮データ)を出力する前記割り当て工程を有する、請求項9または10のデータ圧縮方法。
  12. 前記格納圧縮データをインデックスとしてコンテンツを格納するコンテンツデータベースを準備するDB工程と、
    前記N個の連続したフィールドを含む検索データを入力して前記符号表から検索し、前記検索データと前記nデータの両者間で一致する先頭から連続したフィールド数が最大値(m;1以上N以下)となる前記nデータを格納する前記エントリを特定して、先頭から連続した前記m個のフィールドのデータ(mデータ)を、当該エントリの符号で置換した前記検索データ(検索圧縮データ)を作成する検索符号化工程と、
    前記検索圧縮データと一致する前記インデックスを有するコンテンツを前記コンテンツデータベースから取得するDB管理工程を有する、請求項11のデータ圧縮方法。
  13. 前記検索データは、第p(前記N未満の値)フィールド以降にワイルドカード指定を包含し、
    前記p未満のフィールド数対応の符号長を包含するが前記p以上のフィールド数対応の符号長を包含しない前記符号長記憶手段を準備する前記符号長記憶工程と、
    前記検索圧縮データのうち前記ワイルドカード指定以外の部分が、一致する前記インデックスを有するコンテンツを前記コンテンツデータベースから取得する前記DB管理工程を有する、請求項12のデータ圧縮方法。
  14. 第1と第2の符号長記憶手段を準備する符号長記憶工程と、
    第1と第2の符号表を準備する符号表工程と、
    前記格納データから、第1と第2の連続フィールド列(部分格納データ)を取得し、前記第1の部分格納データから前記第1の符号長表と第1の符号表に基づいて第1の部分格納圧縮データを生成し、前記第2の部分格納データから前記第2の符号長表と第2の符号表に基づいて第2の部分格納圧縮データを生成し、前記第1の部分格納データを前記第1の部分圧縮格納データで、前記第2の部分格納データを前記第2の部分圧縮格納データで置換した前記格納置換データを作成する前記割り当て工程を有する、請求項11のデータ圧縮方法。
  15. 受信符号表格納手段と、
    前記符号表の内容を受信して前記受信符号表格納手段に格納する受信手段と、
    前記格納圧縮データを受信して、前記受信符号表格納手段内の前記符号表から前記格納圧縮データ内の前記符号と前記エントリ内の前記符号が一致するエントリを検索し、当該エントリの前記nデータで、前記格納圧縮データ内の前記符号を置換する復号手段を有する、圧縮データ受信装置に、
    前記符号表の内容と前記格納圧縮データを送信する送信工程を有する、請求項11のデータ圧縮方法。
  16. フィールド数の各々に対応して、前記フィールド数の増加に伴って減少せずに少なくとも一度は増加する符号長の各々を格納する符号長記憶手段を備えるコンピュータに、
    フィールド数(N;複数)を入力して、前記符号長記憶手段から前記N以下の前記フィールド数(n)に対応する前記符号長を取得し、当該符号長の符号を出力する割り当て処理を実行させるデータ圧縮プログラム。
  17. 前記コンピュータに、
    未使用な符号が存在する前記符号長に対応する前記フィールド数のうち、前記N以下の最大の値を前記符号長記憶手段の前記フィールド数から前記nとして取得し、前記未使用な符号を使用中にして出力する前記割り当て処理を実行させる、請求項16のデータ圧縮プログラム。
  18. 符号表を備える前記コンピュータに、
    前記N個のフィールドからなる格納データを入力して、前記格納データのうち先頭から連続した前記n個のフィールドのデータ(nデータ)と前記符号を対応させたエントリを前記符号表に格納し、前記nデータを前記符号で置換した前記格納データ(格納圧縮データ)を出力する前記割り当て処理を実行させる、請求項16または17のデータ圧縮プログラム。
  19. 前記格納圧縮データをインデックスとしてコンテンツを格納するコンテンツデータベースを備える前記コンピュータに、
    前記N個の連続したフィールドを含む検索データを入力して前記符号表から検索し、前記検索データと前記nデータの両者間で一致する先頭から連続したフィールド数が最大値(m;1以上N以下)となる前記nデータを格納する前記エントリを特定して、先頭から連続した前記m個のフィールドのデータ(mデータ)を、当該エントリの符号で置換した前記検索データ(検索圧縮データ)を作成する検索符号化処理と、
    前記検索圧縮データと一致する前記インデックスを実行させるコンテンツを前記コンテンツデータベースから取得するDB管理処理を実行させる、請求項18のデータ圧縮プログラム。
  20. 前記検索データは、第p(前記N未満の値)フィールド以降にワイルドカード指定を包含し、
    前記p未満のフィールド数対応の符号長を包含するが前記p以上のフィールド数対応の符号長を包含しない前記符号長記憶手段を前記コンピュータに、
    前記検索圧縮データのうち前記ワイルドカード指定以外の部分が、一致する前記インデックスを実行させるコンテンツを前記コンテンツデータベースから取得する前記DB管理処理を実行させる、請求項19のデータ圧縮プログラム。
  21. 第1と第2の符号長記憶手段と、第1と第2の符号表を備える前記コンピュータに、
    前記格納データから、第1と第2の連続フィールド列(部分格納データ)を取得し、前記第1の部分格納データから前記第1の符号長表と第1の符号表に基づいて第1の部分格納圧縮データを生成し、前記第2の部分格納データから前記第2の符号長表と第2の符号表に基づいて第2の部分格納圧縮データを生成し、前記第1の部分格納データを前記第1の部分圧縮格納データで、前記第2の部分格納データを前記第2の部分圧縮格納データで置換した前記格納置換データを作成する前記割り当て処理を実行させる、請求項18のデータ圧縮プログラム。
  22. 受信符号表格納手段と、
    前記符号表の内容を受信して前記受信符号表格納手段に格納する受信手段と、
    前記格納圧縮データを受信して、前記受信符号表格納手段内の前記符号表から前記格納圧縮データ内の前記符号と前記エントリ内の前記符号が一致するエントリを検索し、当該エントリの前記nデータで、前記格納圧縮データ内の前記符号を置換する復号手段を実行させる、圧縮データ受信装置に、前記符号表の内容と前記格納圧縮データを送信する送信処理を、前記コンピュータに実行させる請求項18のデータ圧縮プログラム。
JP2010542147A 2008-12-12 2009-12-10 データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ通信システム Withdrawn JPWO2010067897A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008316695 2008-12-12
JP2008316695 2008-12-12
PCT/JP2009/071014 WO2010067897A1 (ja) 2008-12-12 2009-12-10 データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ通信システム

Publications (1)

Publication Number Publication Date
JPWO2010067897A1 true JPWO2010067897A1 (ja) 2012-05-24

Family

ID=42242879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010542147A Withdrawn JPWO2010067897A1 (ja) 2008-12-12 2009-12-10 データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ通信システム

Country Status (2)

Country Link
JP (1) JPWO2010067897A1 (ja)
WO (1) WO2010067897A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014045320A1 (ja) * 2012-09-21 2014-03-27 富士通株式会社 制御プログラム、制御方法および制御装置
US10394848B2 (en) * 2013-07-29 2019-08-27 Amazon Technologies, Inc. Generating a multi-column index for relational databases by interleaving data bits for selectivity

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116223A (ja) * 1989-09-29 1991-05-17 Hitachi Ltd 可変長データ入力における画面制御方式
JPH05324427A (ja) * 1992-05-27 1993-12-07 Hitachi Ltd 文書情報圧縮装置
JP4589749B2 (ja) * 2005-02-07 2010-12-01 株式会社キーエンス データ収集システム

Also Published As

Publication number Publication date
WO2010067897A1 (ja) 2010-06-17

Similar Documents

Publication Publication Date Title
US5844508A (en) Data coding method, data decoding method, data compression apparatus, and data decompression apparatus
US8344916B2 (en) System and method for simplifying transmission in parallel computing system
KR20190117652A (ko) 압축된 게놈 서열 리드로부터 게놈 참조 서열의 복원 방법 및 시스템
EP2056462A2 (en) Data processing system and method
US8872677B2 (en) Method and apparatus for compressing data-carrying signals
KR20130062889A (ko) 데이터 압축 방법 및 시스템
US9112833B2 (en) Compression of content paths in a digital certificate
CN111523001B (zh) 用于存储数据的方法、装置、设备以及存储介质
US8692696B2 (en) Generating a code alphabet of symbols to generate codewords for words used with a program
JP4168946B2 (ja) 文書データの符号化又は復号化方法及びそのプログラム
EP2928101A1 (en) Communication method, system and device for optical network system
JP5656593B2 (ja) 符号化データを復号する装置及び方法
KR102138892B1 (ko) 데이터 무손실 압축 장치 및 그 방법
WO2012058212A2 (en) Coding order-independent collections of words
WO2010067897A1 (ja) データ圧縮装置、データ圧縮方法、データ圧縮プログラム、および、圧縮データ通信システム
CN110019892B (zh) 一种基于用户id识别有害图片的方法及其系统
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JPH09219650A (ja) データ符号化装置およびデータ復号装置およびその方法
CN110545107B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US8786471B1 (en) Lossless data compression with variable width codes
US10742783B2 (en) Data transmitting apparatus, data receiving apparatus and method thereof having encoding or decoding functionalities
Atwal et al. Fast Lempel Ziv (LZ'78) Algorithm Using Codebook Hashing
KR20200040365A (ko) 일정정보의 압축 기술을 이용한 압축 qr코드로부터 일정 자동등록 방법
KR20150072853A (ko) 가변길이코딩을 이용한 인코딩 방법, 디코딩 방법, 및 그 시스템
Yin et al. On the Applications and Parallelization of Multichannel Source Coding

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130305