JP3578445B2 - データ圧縮記録装置 - Google Patents

データ圧縮記録装置 Download PDF

Info

Publication number
JP3578445B2
JP3578445B2 JP01770199A JP1770199A JP3578445B2 JP 3578445 B2 JP3578445 B2 JP 3578445B2 JP 01770199 A JP01770199 A JP 01770199A JP 1770199 A JP1770199 A JP 1770199A JP 3578445 B2 JP3578445 B2 JP 3578445B2
Authority
JP
Japan
Prior art keywords
data
dictionary
unit
compression
data compression
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.)
Expired - Fee Related
Application number
JP01770199A
Other languages
English (en)
Other versions
JP2000216685A (ja
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP01770199A priority Critical patent/JP3578445B2/ja
Publication of JP2000216685A publication Critical patent/JP2000216685A/ja
Application granted granted Critical
Publication of JP3578445B2 publication Critical patent/JP3578445B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ圧縮記録技術の分野に属する。
【0002】
【従来の技術】
一般に、従来のデータ圧縮記録装置として、入力されるデータを圧縮し、圧縮されたデータをメディア(記録媒体など)に記録する装置テープ、光ディスク、フロッピーディスク等が知られている。
【0003】
従来のデータ圧縮技術として、米国特許US4558302号、米国特許US4847619号、米国特許US4870415号、および、ヨーロッパ規格であるECMA−151規格書などに記載されたものが知られている。
【0004】
米国特許US4558302号は、LZ78、LZW型データ圧縮/伸長システムを開示している。米国特許US4847619号は、圧縮率を観測し閾値以下で辞書をリセットすることを開示している。米国特許US4870415号は、圧縮率を観測して効率良くデータ圧縮する方法を開示している。ECMA−151規格書は、辞書ベース適応データ圧縮DCLZアルゴリズムを開示している。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来のデータ圧縮記録装置は、データ圧縮処理部が生成する圧縮データの平均出力速度がメディア(記録媒体など)にデータを記録するドライブ記録速度を下回った場合、アンダーフロー状態になり、たとえばテープバックアップ装置の場合、記録すべきデータが足りなくなるためテープを一旦停止し数トラック分巻き戻し、記録すべきデータが準備された時点で再び磁気記録を開始することになり、結果的にアンダーフローによって前記機械的動作が頻繁に発生する。このため連続的にデータを記録することができなくなり、平均記録速度が低下し記録時間が増大するという問題が発生する。
【0006】
また、特に接触記録媒体テープ、ハードディスク、フロッピー等の場合、上記機械的動作が頻繁に発生すると、媒体の早期劣化のみならず記録ヘッド、ドライブモータの寿命を縮める、という問題も発生する。
【0007】
データ圧縮記録装置の上記アンダーフロー状態を引き起こす原因は、データ圧縮記録装置の記録速度、データ圧縮手段の圧縮率、および、辞書検索速度にある。ホストコンピュータの進歩とともにデータ転送速度は急速に向上しており、これに応じてデータ圧縮記録装置の記録速度を向上させる必要が生じ、データ圧縮手段が出力する圧縮データの出力速度も常に記録速度以上である必要がある。
【0008】
しかしながら、入力データストリームから辞書を作成/参照するデータ圧縮手段では、圧縮処理中に圧縮率低下に起因して辞書を初期化いわゆる辞書リセットする場合のデータ圧縮処理中断による一時的なデータ圧縮手段の出力中断、入力データストリームの性格によって一時的に圧縮率が非常に高まる場合のデータ圧縮手段の出力速度の急激な低下、辞書の登録量が増加するにつれて同一データ列が辞書内に登録されているかを検索する際の検索時間増加によるデータ圧縮手段の出力速度低下、などの状況に陥ると前記アンダーフロー状態となる。
【0009】
本発明は、上記問題点に鑑み、入力データストリームの性格、データ圧縮手段特有の性質/処理、データ書き込み速度の向上、などによる影響を受けず、機械的動作の中断なく常にストリーミングするデータ圧縮記録装置を実現することを目的とする。
【0010】
【課題を解決するための手段】
本発明のデータ圧縮記録装置は、入力されるデータ列を解析するデータ列解析手段、前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、前記圧縮率観測手段が前記辞書作成・検索手段に前記辞書の初期化を指示すると、前記初期化を指示した時点から前記辞書の初期化が終了するまでの期間中のみ、前記データ圧縮手段に入力されるデータ列が前記データ記録手段に転送され、そのことにより上記目的が達成される。
【0011】
このため、本発明のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、データ圧縮処理中の辞書リセット処理期間中でも、データ圧縮処理部の出力が途切れることなく維持でき、アンダーフロー状態の回避が容易である。
【0014】
本発明のデータ圧縮記録装置において、前記データ圧縮記録装置は、前記辞書が記憶される領域とフラグ情報が記憶される領域を有するRAMをさらに備え、前記辞書が記憶される領域が、前記フラグ情報が記憶される領域と異なり、前記辞書が記憶される領域には、アドレスに対応してエントリが格納され、前記フラグ情報が記憶される領域には、前記アドレスに従い、前記辞書にエントリが登録されたか/未登録であるかを示すフラグ情報が、テーブル化して割り付けられてもよい。
【0015】
上記本発明のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、データ圧縮処理中の辞書リセット処理にかかる時間を大幅に短縮できるため、データ圧縮部が非圧縮データを出力する時間が短くてすみ、圧縮率の低下を防ぎながらアンダーフロー状態の回避が可能になる。たとえば、あるデータ圧縮記録装置において、システムクロックを40MHz、辞書部1105のエントリ数M個を4096個、SRAMへの書き込み時間を50nsとすると、辞書リセット処理に約204μsかかる。本発明の別のデータ圧縮記録装置では、約12μsで辞書リセット処理が終了する。
【0016】
本発明の別のデータ圧縮記録装置は、入力されるデータ列を解析するデータ列解析手段、前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、前記データ圧縮手段が、前記データ記録手段における機械的動作変更による一時的記録中断状態を検出する機械的記録中断検出手段、および外部からの辞書初期化禁止信号に従い、前記圧縮率観測手段によって生成された前記辞書初期化信号を無効にし、前記一時的記録中断状態において前記機械的記録中断検出手段が生成する機械的記録中断を示す信号を受信することで前記辞書初期化信号を有効にする初期化マスク手段を有し、そのことにより上記目的が達成される。
【0017】
本発明の別のデータ圧縮記録装置では、光ディスク、フロッピーディスク、ハードディスク等のドライブにおけるピックアップや磁気ヘッドのシーク動作中、もしくは、ランダムアクセス型テープドライブのトラック移動中などの一時的なデータ記録中断期間に辞書リセット処理を行なうことが可能になる。
【0018】
ここで、機械的動作変更とは、データ記録動作状態からその他の動作状態への変更による記録系メカニズムの各部位の動作をいう。
【0019】
また、一時的記録中断状態とは、ある要因により、メディア(記録媒体)へのデータ記録が一時的に不可能になる状態をいう。
【0020】
本発明のデータ圧縮記録装置において、前記データ圧縮記録装置が、前記データ圧縮手段の前段に配置され、前記入力されるデータ列を蓄積するバッファメモリと、前記バッファメモリに蓄積されたデータを前記データ圧縮手段に入力し、前記バッファメモリ内のデータ蓄積量が、前記辞書を初期化するのに必要な時間内に前記データ圧縮手段が出力するとデータ量を上回ることを示すマスク解除信号を出力するバッファ管理手段と、外部からの辞書初期化禁止信号に従い、前記圧縮率観測手段が発行する辞書初期化信号を無効にし、前記バッファ管理手段が出力する前記マスク解除信号を受信することで、前記辞書初期化信号を有効にする初期化マスク手段とを備えてもよい。
【0021】
上記本発明のデータ圧縮記録装置では、従来のデータ圧縮記録装置に比べて、辞書リセットが発生してから比較的早い段階で、辞書リセット処理が行なえ、その辞書リセット処理中にデータ圧縮部が出力する非圧縮データ量が確実に確保される。このため、上記本発明のデータ圧縮記録装置は、従来の辞書リセット処理によるアンダーフロー状態を確実に回避可能となる。
【0022】
本発明のさらに他のデータ圧縮記録装置は、入力されるデータ列を解析するデータ列解析手段、前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、前記データ圧縮記録装置が、前記データ圧縮手段の後段に配置され、前記データ圧縮手段にて圧縮された圧縮データを蓄積するバッファメモリと、前記蓄積圧縮データが前記データ記録手段に送られ、前記バッファメモリに蓄積される前記圧縮データの量が、前記辞書を初期化するために必要な時間内に、前記データ圧縮手段が出力する圧縮データの量を上回ることを示すマスク解除信号を出力するバッファ管理手段と、外部からの辞書初期化禁止信号に従い、前記圧縮率観測手段が発行する辞書初期化信号を無効にし、前記バッファ管理手段が発行する前記マスク解除信号を受信することで、前記辞書初期化信号を有効にする初期化マスク手段とを備え、そのことにより上記目的が達成される。
【0023】
本発明のさらに他のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、データ圧縮部自身の処理によって発生するアンダーフロー状態を回避することが容易になる。
【0024】
本発明のさらに他のデータ圧縮記録装置は、入力されるデータ列を解析するデータ列解析手段、前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、前記データ圧縮手段が、前記データ圧縮手段から出力される圧縮データの転送速度が、前記データ記録手段がデータをメディアに書き込む速度を下回る時点を指示する予測信号を生成するアンダーフロー予測手段と、前記アンダーフロー予測手段が出力する予測信号に従って、データ圧縮率を変化させる圧縮率変更手段とを有し、そのことにより上記目的が達成される。
【0025】
本発明のさらに別のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、辞書リセットが発生してから比較的早い段階で辞書リセット処理が行なえ、その辞書リセット処理中にデータ圧縮部が出力する圧縮データ量が確実に確保される。このため、本発明のさらに別のデータ圧縮記録装置は、従来の辞書リセット処理によるアンダーフロー状態を確実に回避可能、常に圧縮データを記録媒体に記録可能である。また、本発明のさらに別のデータ圧縮記録装置は、サイズの小さいバッファメモリを有効に利用することができる。
【0026】
本発明のさらに別のデータ圧縮記録装置において、前記アンダーフロー予測手段が、外部から入力される時間情報および基底圧縮率に従い、予測信号を生成してもよい。
【0027】
本発明のさらに別のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、データ圧縮部への入力データ列の状態に依存して発生する高圧縮率状態を検出し、意図的に圧縮率を下げるように制御することができる。本発明のさらに別のデータ圧縮記録装置は、前記高圧縮率状態により発生するアンダーフローを容易に回避できる。また、本発明のさらに別のデータ圧縮記録装置では、長期的期間で考えると、圧縮率をその基底圧縮率に収束できる。
【0028】
本発明のさらに別のデータ圧縮記録装置において、前記データ圧縮記録装置が、前記データ圧縮手段の前段に配置され、前記入力されるデータ列を蓄積するバッファメモリを備え、前記アンダーフロー予測手段が、前記蓄積されたデータを前記データ圧縮手段に入力し、外部から指定入力される基底データ蓄積量に対する前記バッファメモリ内のデータ蓄積量の倍率を前記圧縮率変更手段に出力してもよい。
【0029】
本発明のさらに別のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、アンダーフロー状態を予測して意図的にデータ圧縮処理における圧縮率を低下させることが可能である。このことにより、本発明のさらに別のデータ圧縮記録装置では、バッファ内のデータ量不足により発生するアンダーフロー状態を容易に回避できる。
【0030】
本発明のさらに別のデータ圧縮記録装置において、前記データ圧縮記録装置が、前記データ圧縮手段の後段に配置され、前記データ圧縮手段から出力される圧縮データを蓄積するバッファメモリを備え、前記アンダーフロー予測手段が、前記蓄積されたデータを前記データ圧縮手段に入力し、外部から指定入力される基底データ蓄積量に対する前記バッファメモリ内のデータ蓄積量の倍率を前記圧縮率変更手段に出力してもよい。
【0031】
本発明のさらに別のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、アンダーフロー状態を予測して意図的にデータ圧縮処理における圧縮率を低下させることが可能である。このことにより、本発明のさらに別のデータ圧縮記録装置では、バッファ内のデータ量不足により発生するアンダーフロー状態を容易に回避できる。
【0034】
本発明の、さらに他のデータ圧縮記録装置は、入力されるデータ列を解析するデータ列解析手段、前記データ列解析手段によって生成されるデータ列が辞書に登録されているか否かを調べ、未登録の場合に前記辞書に辞書登録する辞書作成・検索手段、前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る時点を検出し、前記辞書作成・検出手段に辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段とを有するデータ圧縮手段と、外部からの入力データを前記データ圧縮手段によって圧縮した前記圧縮データをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、前記データ圧縮記録装置が、前記辞書の検索開始から前記辞書の検索終了までの時間を計測し、計測時間情報を生成する時間計測手段を備え、前記辞書作成・検索手段が、外部から入力された時間情報が、前記時間計測手段の計測時間情報を下回った時点で、辞書登録または検索を行う処理を強制的に中止し、前記強制中止直前に確定した圧縮コードを圧縮コード生成部に出力し、そのことにより上記目的が達成される。
【0035】
本発明の、さらに他のデータ圧縮記録装置は、辞書登録領域が少なくなるにつれて、辞書検索にかかる時間が長くなり、このために発生するアンダーフロー状態を容易に回避することができる。
【0036】
【発明の実施の形態】
(実施形態1)
以下に、図面を用いて、本発明のデータ圧縮記録装置における第1の実施形態を説明する。
【0037】
図1は、本発明のデータ圧縮記録装置における第1の実施形態を示す図である。
【0038】
図1に示すデータ圧縮記録装置1101は、コントローラ部1103、データ圧縮部1104、辞書部1105、およびフォーマッタ部1106を備えている。
【0039】
データ圧縮記録装置1101はホストコンピュータ1102と接続され、データ圧縮記録装置1101はホストコンピュータ1102と所定のプロトコルでデータのやりとりを行なう。データ圧縮記録装置1101では、データ圧縮部1104が、上記プロトコルを制御するコントローラ部1103を介してホストコンピュータ1102からのデータを受信する。受信されたデータは、通常、データ圧縮部1104にてデータ圧縮され、圧縮されたデータはフォーマッタ部1106において所定のデータ列にフォーマットされ、記録部1107に転送される。
【0040】
記録部1107は、メディア(記録媒体など)に上記フォーマットされたデータ列を書き込む。データ圧縮記録装置1101では、上述した一連の処理が行なわれる。
【0041】
辞書部1105には、データ圧縮部1104が作成した辞書の内容が格納される。なお、データ圧縮記録装置1101は記録部1107を有していてもよい。
【0042】
以下に、データ圧縮部1104の構成を説明する。
【0043】
データ圧縮部1104は、セレクタ101、データ列解析部1108、辞書作成・検索部1109、圧縮コード生成部1110、および圧縮率観測部1111を有してる。
【0044】
データ列解析部1108は、コントローラ部1103から入力されるデータ列を解析して、最低2バイトのデータ列(以後、『ユニーク列』と称する)を辞書作成・検索部1109に渡す。
【0045】
説明を簡単にするために、便宜上、辞書に登録されるユニーク列を表現する辞書コードは、264から昇順に生成されることとする。また、ユニーク列の最終バイトを『子』と呼び、最終バイトの値に+8した値を『子コード』と呼ぶ。
【0046】
ユニーク列のうち最終バイト以外を『親』と呼び、ユニーク列が2バイトの場合は先頭バイトに+8した値を『親コード』と呼ぶ。ただし、ユニーク列が3バイト以上の場合、親を代表する辞書コード自身を『親コード』と呼ぶこととする。
【0047】
『子コード』および『親コード』の詳細については、後述する。
【0048】
辞書作成・検索部1109は、ユニーク列が辞書部1105に登録されているかを調べる。
【0049】
もし、ユニーク列が辞書部1105に登録されていない場合、辞書作成・検索部1109はユニーク列を辞書部1105に所定のフォーマットで登録する。ユニーク列が辞書部1105に登録されてる場合、辞書作成・検索部1109は、ユニーク列が辞書部1105に登録されてる旨をデータ列解析部1108に知らせ、そのユニーク列に1バイト追加したデータ列を新しいユニーク列とし、辞書作成・検索部1109に渡す。上述したような処理化が繰り返され、辞書作成・検索部1109は辞書部1105に辞書を構築してゆく。
【0050】
ちなみに、ユニーク列を辞書部1105に登録する際、辞書部1105に書き込まれるデータは、辞書コード、親コード、子コード、および登録フラグの4種類であり、以後、それらをエントリと呼ぶ。登録フラグは、登録されたエントリにおけるユニーク列のバイト数を意味する。なお、ゼロ以外の数値が登録フラグに書き込まれた時点で、4種類のデータがエントリ領域に書き込まれたことを意味する。
【0051】
辞書作成・検索部1109は、辞書に新しいユニーク列を登録すると、エントリの中の親コードをセレクタ101を介して圧縮コード生成部1110に渡す。なお、セレクタ101の詳細な動作については後述する。
【0052】
圧縮コード生成部1110は、受信した親コード群やその他の制御コードを所定の圧縮データストリームに組み立てて、それらをフォーマット部1106へ出力する。
【0053】
ここで、制御コードとは、0〜7の値からなる。制御コードが0である場合、それは辞書フリーズコマンドを意味し、制御コードが1である場合、それは辞書リセットコマンドを意味し、制御コードが2〜7のうちの1つである場合、それは未使用を意味する。
【0054】
辞書フリーズコマンドとは、辞書部1105内に辞書登録すべき領域が無くなったことを辞書作成・検索部1109が検知すると、その後、辞書作成・検索部1109は辞書登録を中止することを意味する。つまり、辞書フリーズコマンドが出力された後は、現状の辞書の内容でデータ圧縮が行われる。
【0055】
辞書リセットコマンドとは、圧縮率観測部1111が辞書作成・検索部1109に辞書リセット信号1112を指示した時点で、圧縮コード生成部1110が出力する圧縮データストリームに埋め込む。
【0056】
圧縮率観測部1111は、データ圧縮部1104が受け取る入力データ量とデータ圧縮部1104が生成する圧縮出力データ量の比から圧縮率を常に計算している。圧縮率観測部1111が計算した圧縮率が外部から指定される圧縮率を下回る場合つまり、期待される圧縮率が得られない場合、圧縮率観測部1111は、辞書作成・検索部1109に対し辞書リセット信号1112を指示する。辞書リセット信号1112が発生すると、辞書部1105内の全エントリの登録フラグがゼロ値で初期化される。再び、入力データ列からユニーク列が切りだされ、辞書作成が行われる。
【0057】
以下に、辞書リセット信号1112が発行されていない期間における、データ圧縮記録装置1101のデータ圧縮部1104が受け取った入力データ列をデータ圧縮する処理(通常処理)を、図2および図3を用いて説明する。なお、データ圧縮記録装置1101がセレクタ101を有していない場合における、通常処理では、圧縮コード生成部1110が辞書作成・生成部1109から出力される信号を受け取る。
【0058】
図2は、データ圧縮部1104が受け取る入力データと、データ圧縮部1104が生成した出力データの一関係を示す図であり、図3は、辞書部の一構成を示す図である。以後、図3に示す辞書部を辞書部1105aと呼ぶ。
【0059】
図2に示す上段の数値列は、コントローラ部1103からデータ圧縮部1104へ入力されるデータ列で、左から順に入力され、16進数で表現されている。また、図2に示す下段の数値列は、その入力データ列がデータ圧縮部1104で圧縮され出力される圧縮データ列を示し、左から順に出力され、10進数で表現されている。
【0060】
図3に示す辞書部1105aは、1エントリ6バイトで構成される。辞書コード1302に2バイトが割り当てられ、親コード1303に2バイトが割り当てられ、子コード1304および登録フラグ1305に2バイトが割り当てられいる。
【0061】
エントリアドレス1301は、エントリの位置を示している。図3に示す左側の表の上から下へエントリアドレス1301が増加する。また、図3に示す右側の下が最終エントリアドレスとなる。
【0062】
以下に、図2に示す上段入力データ列に対して、データ圧縮部1104が行なう処理を説明する。
【0063】
データ圧縮処理に先立ち、辞書部1105aを辞書リセットするため、辞書作成・検索部1109は辞書部1105a内の全登録フラグ1305にゼロを書き込むとともに、圧縮コード生成部1110は辞書リセットコマンドである1201を、データ列解析部1108、セレクタ部101、および圧縮コード生成部1110に出力する。
【0064】
データ列解析部1108は、入力データ列から最初の2バイト、たとえば、0x61、0x62を切りだし、ユニーク列として辞書作成・検索部1109に渡す。辞書作成・検索部1109は、親値および子値を受け取り、親値および子値に基づいてエントリアドレス1301を生成する所定の関数(たとえば、ハッシュ関数)を用いて、親値0x61および子値0x62に対するエントリアドレスm1を得る。
【0065】
データ列解析部1108は、辞書部1105aのエントリアドレスm1の登録フラグ1305がゼロつまりこのエントリが未使用であることを確認すると(なお、図3では、すでにいくつかの辞書登録が行われた後の辞書部1105aの状態を示しているため、登録フラグには2が格納されている)、エントリアドレスm1に辞書コードの初期値である264を書き込み、エントリアドレスm1に親コード105=0x61+8を書き込み、エントリアドレスm1に子コードである106=0x62+8を書き込み、エントリアドレスm1にユニーク列バイト数である登録フラグ2を書き込む。
【0066】
辞書作成・検索部1109は、それらを辞書部1105aのエントリに書き込むとともに、圧縮コード生成部1110に圧縮データとして親コード105を渡す。
【0067】
データ列解析部1108は、先ほど子であった0x62を親として次入力0x63を子として辞書作成・検索部1109に渡す。
【0068】
辞書作成・検索部1109は、上述したように、親値0x62および子値0x63(ユニーク列)から、それに対応するエントリアドレスm2を得る。
【0069】
辞書作成・検索部1109が、エントリアドレスm2の登録フラグがゼロ(なお、図3では、すでにいくつかの辞書登録が行われた後の辞書部1105aの状態を示しているため、登録フラグには2が格納されている)、つまりこのエントリが未使用であることを確認すると、先ほどの辞書コードの初期値+1である265、親コード106=0x62+8、子コードである107=0x63+8、および、ユニーク列バイト数である登録フラグ2を、辞書部1105aのエントリアドレスm2に対応するエントリに書き込むとともに、圧縮コード生成部1110に圧縮データとして親コード106を渡す。
【0070】
同様にして、辞書作成・検索部1109は、ユニーク列0x63、0x64からエントリアドレスm3を得、ユニーク列0x64、0x61からエントリアドレスm4を得る。
【0071】
次に、ユニーク列0x61、0x62が切り出される。上述したように、切り出されるユニーク列0x61、0x62に対するエントリアドレスは、前記関数にて計算するとm1となる。エントリアドレスm1に対応する登録フラグがゼロ以外であり、かつ、エントリアドレスm1に対応するエントリ内の親コードがユニーク列0x61+8と一致し、子コードがユニーク列0x62+8と一致するので、辞書作成・検索部1109は、切り出されたユニーク列0x61、0x62が辞書内に存在していると判断する。
【0072】
辞書作成・検索部1109が、切り出されたユニーク列が辞書内に存在していると判断すると、辞書作成・検索部1109は、切り出されたユニーク列0x61、0x62を辞書コード264(10進数)で代表させ、親コードを264とし、切り出されたユニーク列0x61、0x62の次に入力される0x63を子とするユニーク列が辞書に存在するか否かを探す。
【0073】
親コード264(10進数)および子0x63(16進数)からエントリアドレスを計算すると、エントリアドレスはm5となる。
【0074】
エントリアドレスm5に対応するエントリの登録フラグはゼロなので(なお、図3では、すでにいくつかの辞書登録が行われた後の辞書部1105aの状態を示しているため、登録フラグには3が格納されている)、辞書作成・検索部1109が、エントリアドレスm5に対応するエントリの、辞書コードに268を書き込み、親コードに264を書き込み、子コードに107(10進数)=0x63+8(16進数)を書き込み、ユニーク列バイト数である登録フラグに3を書き込むとともに、圧縮コード生成部1110に圧縮データとして親コード264を渡す。
【0075】
同様にして、ユニーク列0x63、0x64、0x61はエントリアドレスm6に登録され、ユニーク列0x61、0x62、0x63、0x64はエントリアドレスm7に登録される。以下、エントリアドレスm10まで同様である。この例では、登録可能なユニーク列の最大バイト数をNバイトと決め、辞書部1105aのエントリ数はM個とする。N、Mとも自然数だが、一般には、N=128、M=4096などの例がある。
【0076】
図4は、データ圧縮処理の辞書作成・検索部1109の通常処理の一例を示す図である。
【0077】
ステップS10において、ホストコンピュータ1102からコントローラ部1103を介してデータ列解析部1108にデータが入力された場合、それを親とする。なお、データの入力は任意の時点で起きてもよい。
【0078】
ステップS20において、データが入力されたか否かが判定される。データが入力された場合、処理はステップS30に進み、データが入力されていない場合、処理はステップS40に進み、処理を終了する。
【0079】
ステップS30において、データ列解析部1108は、初期の親、子、各バイトを辞書作成・検索部1109に送る。
【0080】
ステップS50において、辞書作成・検索部1109は、前記親子が辞書内に存在するか調査するため、辞書部1105の検索を始める。
【0081】
ステップS60では、前記親子を所定関数によって演算することによって、エントリアドレスが生成される。
【0082】
ステップS70では、エントリアドレスに対応する登録フラグ1305の内容が取り出される。
【0083】
ステップS80では、エントリアドレスに対応する登録フラグ1305が0か否かが判定される。登録フラグ1305が0である場合、処理はステップS90に進み、登録フラグ1305が0でない場合、処理はステップS100に進む。
【0084】
ステップS90では、そのエントリは未使用なので、先程データ列解析部1108から入手した親子情報を辞書に登録1303、1304し、現在の親コード1303を圧縮コード生成部1110へ渡し、現在の子を次の親としておく。その後処理はステップS20に進み、ステップS20では、次に入力されるデータを子とする。
【0085】
ステップS100では、登録フラグ1305が0でない場合、たとえば、登録フラグ1305が2の場合、前記エントリアドレスが指すエントリの親子情報が取り出される。
【0086】
ステップS110では、取り出された親子情報とデータ列解析部1108から入手した親子情報が一致するかが判定される。親子情報が一致する場合、処理はステップS120に進む。また、親子情報が一致しない場合、処理はステップS60に進み、前記入手した親子情報に基づき再度所定関数を用いて新たなエントリアドレスを取得して検索を続ける。
【0087】
ステップS120では、現在の親子データ列を親とし、子バイトをデータ列解析部1108から入手して新たなユニーク列を準備して、再び、所定関数によりその親子情報からエントリアドレスを取得して検索を続ける。その後処理はステップS60に進む。なお、圧縮コード生成部1110は、圧縮ストリーム化してフォーマッタ1106に出力する、という圧縮処理(通常処理)を行なう。
【0088】
しかしながら、圧縮率観測部1111は、現在の圧縮率が外部指定圧縮率を下回る場合、辞書部1105aを初期化する処理を促す辞書リセット信号1112を生成する。前記辞書リセット信号1112が発行された場合、データ列解析部1108、および辞書作成・検索部1109が、上述した通常の処理を停止する。
【0089】
そのような場合、セレクタ部101は、圧縮コード生成部1110から出力される信号105を出力するのではなく、コントローラ部1103から送られてくるデータ値102を出力する。セレクタ部101は、辞書リセット信号1112に応じてそのような切り替えを行う。つまり、そのデータ値102を受信した圧縮コード生成部1110は、データ値102をそのままフォーマッタ部1106に出力する。このことによって、辞書部1105が初期化される時間の間、記録が途絶えることがない。
【0090】
データ値102がフォーマッタ部1106に出力されている間に、辞書作成・検索部1109は、図3に示す辞書部1105a内の全エントリの登録フラグにゼロ値を書きこんで辞書の初期化を行なう。
【0091】
辞書部1105aの初期化が終了すると、セレクタ部101は、前記辞書リセット信号1112が非アクティブとなったことに応じて、圧縮コード生成部1110に出力される値をデータ値102から辞書コード105に切り替え、かつデータ列解析部1108、辞書作成・検索部1109は、前記辞書リセット信号1112が非アクティブとなったことに応じて、上述した通常処理に戻る。
【0092】
以下に、前記辞書リセット処理に伴う、圧縮コード生成部1110の処理を説明する。
【0093】
辞書リセット信号1112が発行されると、圧縮コード生成部1110は制御コード値1を出力して、辞書が初期化されることを出力データ列に記録し、次に、制御コード値6を出力して、以降出力されるデータ列が非圧縮であることを出力データ列に記録し、以降コントローラ部1103からのデータ列102をセレクタ部101を介して圧縮コード生成部1110が出力し続ける。この時、圧縮コード生成部1110は入力データバイト値に8を足した値を出力する。引き続いて、辞書リセット処理が終了すると、圧縮コード生成部1110は、制御コード値7を出力し、その非圧縮データ列が終了することを出力データ列に記録し、以降、通常の圧縮処理がなされた圧縮データが出力される。
【0094】
図5は、辞書部1105の他の構成を示す図である。以後、図5に示す辞書部を辞書部1105bと呼ぶ。
【0095】
図5に示す辞書部1105bにおける、エントリアドレス1301、辞書コード1302、親コード1303、子コード1304の内容は、図3に示す辞書部1105aのものと同じである。ただし、図5に示す辞書部1105bおよびデータ圧縮部1104は、登録フラグ1305を格納する領域の代わりに、登録バイト数201を格納する領域およびフラグ202を格納する領域を有している。
【0096】
図3に示す登録フラグ1305および図5に示す登録バイト数201はともに、エントリ登録されたユニーク列のバイト数を示す。一方、登録フラグ1305が辞書リセット処理によってゼロ初期化されるのに対し、登録バイト数201は辞書リセット処理によってゼロ初期化されない。
【0097】
その代わり、エントリに辞書登録されたかどうかを示すフラグ202が、辞書部1105bと別に、データ圧縮部1104に内蔵されるレジスタメモリに格納される。レジスタメモリの一例を図5に示す。図5に示すレジスタメモリは、1ビット×M個のフラグを格納することができる。なお、データ圧縮記録装置1101は、レジスタメモリの1ビットを辞書部1105bにおける1つのエントリに対応づけるフラグセレクタ手段を備えていてもよい。フラグセレクタ手段は、辞書部1105bのエントリアドレス1301によって、レジスタメモリの特定の1ビットが選択される。
【0098】
図3に示す辞書部1105aのリセット処理では、辞書部1105内の全登録フラグ1305の欄にゼロ値が書き込まれる。一方、図5に示す辞書部1105bの通常圧縮処理では、エントリに登録すべきユニーク列のバイト数がそのまま辞書部1105b内の登録バイト数201に記録され、そのエントリが辞書登録に使用されると、そのエントリに対応するフラグ202に値1が記録される。図5に示す辞書部1105bのリセット処理では、辞書部1105bに対してアクセスを行うことなく、図5に示す、データ圧縮部1104内のレジスタメモリ202の全ビット記憶がゼロ値にされる。
【0099】
レジスタメモリでは、各エントリに対して1ビットのフリップフロップ型記憶素子が割り当てられている。つまり、フリップフロップ型記憶素子の数は、エントリ数と同数である。1システムクロック期間の辞書リセット信号でレジスタメモリがゼロに初期化される。たとえば、1システムクロック期間が40MHzである場合、25nsでレジスタメモリがゼロに初期化される。
【0100】
以下に、辞書部1105の別の構成を説明する。
【0101】
図6は、辞書部1105の別の構成の一部である、メモリ空間を示す図である。図6に示すメモリ空間は、図5に示すフラグ202に相当する。辞書部1105の別の構成は、図5に示す、エントリアドレス1301、辞書コード1302、親コード1303、子コード1304、および登録バイト数201と、メモリ空間202aとを有している。メモリ空間202aの大きさは、たとえばZ+0〜Z+256とする。以後、メモリ空間を登録フラグ用テーブル202aと呼ぶ。また、辞書部1105をSRAMとする。
【0102】
辞書部1105であるSRAM内で、登録フラグ用テーブル202aが、エントリアドレス1301、辞書コード1302、親コード1303および子コード1304、登録バイト数201と重ならないようにZの値が決定される。
【0103】
図5に示す、エントリアドレス1301、辞書コード1302、親コード1303、子コード1304、および登録バイト数201のMが4096である場合、図6に示す登録フラグ用テーブルは、全部で4096ビット必要である。
【0104】
データバスが16ビットのSRAMの場合、全部で256ワードの領域が必要となる。前記辞書リセット処理では、その登録フラグ用テーブルの全ビットにゼロを記録するので、256回SRAMにワードのゼロ値を書き込むことになる。
【0105】
辞書登録が始まると、たとえば、図5に示すエントリアドレス12にユニーク列が登録されると、図6に示すZ番地のビット12に1が書き込まれる。図5に示すエントリアドレス23にユニーク列が登録されると、図6に示すZ+1番地のビット7に1が書き込まれる。
【0106】
同様にして、エントリアドレスXにユニーク列が登録されると、図6においては、Xを16で割った時の商がアドレスZ番地となり、剰余がビット番号となる。
【0107】
図1に示す辞書作成・検索部1109内に、前記X÷16の商、剰余を算出する手段を設け、通常のデータ圧縮処理中は、その商によりSRAMの登録フラグ用テーブルアドレスを、その剰余によって書き込むワードデータ内に1を記録するビット番号を作り、エントリに辞書登録されたことを記録として残してゆく。また、辞書リセット処理期間中は、ゼロ値のワードデータがZ番地からZ+256番地に順時書き込まれる。
【0108】
(実施形態2)
以下に、図面を用いて、本発明のデータ圧縮記録装置における第2の実施形態を説明する。
【0109】
図7は、本発明のデータ圧縮記録装置における第2の実施形態を示す図である。
【0110】
図7に示すデータ圧縮記録装置1201は、コントローラ部1103、データ圧縮部1204、辞書部1105、フォーマッタ部1106、記録部1107、およびマスク信号生成部402を備えている。
【0111】
データ圧縮部1204は、マスク部405、データ列解析部1108、辞書作成・検索部1109、圧縮コード生成部1110、および圧縮率観測部1111を有してる。
【0112】
なお、データ圧縮記録装置1201において、データ圧縮記録装置1101と同じ構成には同じ番号を付け、基本的には説明を省略する。
【0113】
記録部1107は、マスク信号生成部402に無記録期間信号401を送る。無記録期間信号401は、記録部1107がメディア(記録媒体など)にデータを記録していない時期を示す信号である。一般には、無記録期間とは、光ディスク記録装置におけるピックアップ、フロッピーディスクドライブにおける磁気ヘッドのシーク動作期間、もしくは、磁気テープドライブにおけるテープライト中のトラック移動期間などに代表される。
【0114】
マスク信号生成部402は、無記録期間信号401および外部から入力された外部辞書リセットマスク信号403に基づいて最終マスク信号404を生成し、それをマスク部405に送る。
【0115】
最終マスク信号404は、圧縮率観測部1111が発行する辞書リセット信号1112が辞書作成・検索部1109に伝わるのをマスクする信号である。信号406は最終的な辞書リセット信号である。
【0116】
外部から入力された外部辞書リセットマスク信号403は、マスク信号生成部402に入力され、記録部1107が通常処理でデータを記録している時は、無記録期間信号401は発行されず、外部から入力された外部辞書リセットマスク信号403が有効となり最終マスク信号404としてマスク部405に入力される。
【0117】
その有効な最終マスク信号404によりマスク部405は、辞書リセット信号1112をマスクし、辞書作成・検索部1109に辞書リセット信号を伝えなくする。よって、記録部1107が通常処理でデータを記録している時は、辞書リセット処理は行なわれず、そのまま辞書を作成しながらデータ圧縮処理を引続き行なう。
【0118】
記録部1107がメディア(記録媒体など)へデータ記録を行なわない期間が発生すると、無記録期間信号401が発行され、その期間中は外部辞書リセットマスク信号403は無効となり、最終マスク信号404も解除される。
【0119】
従って、マスク部405は先程までの辞書リセット信号1112を有効にし最終辞書リセット信号406によって辞書作成・検索部1109は辞書リセット処理を行なう。
【0120】
記録部1107がメディア(記録媒体など)にデータを記録していない期間は、機械的動作が伴うことが前提であり、数百マイクロ秒から数ミリ秒のオーダーであるため、辞書をリセットする処理にかかる時間を満たしており、余裕をもって辞書をリセットすることができる。
【0121】
また、辞書リセットが発行されてから前記機械的動作が発生するまでは、通常処理で辞書を作成しながらデータ圧縮を行なっている。辞書リセットは、期待する圧縮率を下回った場合に、発行される。上述したデータ圧縮処理では急激に圧縮率が低下しないという性質があるため、この性質を利用すれば、ある程度辞書リセット処理の時期を遅らせることは可能である。
【0122】
(実施形態3)
以下に、図面を用いて、本発明のデータ圧縮記録装置における第3の実施形態を説明する。
【0123】
図8は、本発明のデータ圧縮記録装置における第3の実施形態を示す図である。
【0124】
上述したように、図1に示すデータ圧縮記録装置1101では、辞書リセット期間中のみ、入力データを非圧縮データのままフォーマット化して出力する。一方、図8に示すデータ圧縮記録装置1301は、コントローラ部1103を介してホストコンピュータ1102から出力されるデータを一時的に蓄えるバッファメモリ501などを備えている。具体的には、図8に示すデータ圧縮記録装置1301は、コントローラ部1103、データ圧縮部1304、辞書部1105、フォーマッタ部1106、記録部1107、バッファメモリ501およびマスク信号生成部503を備えている。
【0125】
データ圧縮部1304は、マスク部506、データ列解析部1108、辞書作成・検索部1109、圧縮コード生成部1110、および圧縮率観測部1111を有してる。
【0126】
なお、データ圧縮記録装置1301において、データ圧縮記録装置1101と同じ構成には同じ番号を付け、基本的には説明を省略する。
【0127】
バッファメモリ501に蓄えられたデータは、コントローラ部1103を介してデータ列解析部1108に入力される。
【0128】
外部から入力された外部辞書リセットマスク信号504はマスク信号生成部503に入力され、信号504はコントローラ部1103が発行するデータ蓄積検知信号502によって制御される。データ蓄積検知信号502は、辞書リセット処理にかかる期間中、非圧縮のままデータをフォーマッタ部1106へ出力するのに要する転送データ量以上のデータがバッファメモリ501に蓄積された場合に発行される。
【0129】
マスク信号生成部503は、データ蓄積検知信号502が発行されていない時、外部辞書リセットマスク信号504をそのまま有効最終マスク信号505として出力する。マスク信号生成部503は、データ蓄積検知信号502が発行された時、外部辞書リセットマスク信号504をマスクし、最終マスク信号505はマスク無効信号となる。
【0130】
マスク部506は、最終マスク信号505が有効の場合、辞書リセット信号1112をマスクし、最終辞書リセット信号507が無効となり、辞書作成・検索部1109は辞書作成しながらデータ圧縮処理を行なう。
【0131】
マスク部506は、最終マスク信号505が無効の場合、辞書リセット信号1112のマスクを行なわず、最終辞書リセット信号507を生成し、辞書作成・検索部1109は、最終辞書リセット信号507に応じてデータ圧縮処理をやめ、辞書部1105の登録フラグを初期化する。同時にコントローラ部からの入力データは非圧縮のまま圧縮コード生成部1110に送られ、それらはフォーマット化されて出力される。その辞書リセット処理に必要な時間分の出力データ量がバッファメモリ501に確保されていることが保証されているため、システム全体としては常に記録部1107を停止させることなくデータをストリーミングさせることが可能となる。
【0132】
また、辞書リセットが発行されてからデータ蓄積検知信号502が発行されるまでは、通常処理で辞書を作成しながらデータ圧縮を行なっている。辞書リセットは期待する圧縮率を下回った場合に発行されるものであり、上述したデータ圧縮処理では急激に圧縮率が低下しないという性質があるため、この性質を利用すれば、ある程度辞書リセット処理の時期を遅らせることは可能である。
【0133】
(実施形態4)
以下に、図面を用いて、本発明のデータ圧縮記録装置における第4の実施形態を説明する。
【0134】
図9は、本発明のデータ圧縮記録装置における第4の実施形態を示す図である。
【0135】
上述したように、図1に示すデータ圧縮記録装置1101では、辞書リセット期間中のみ、入力データを非圧縮データのままフォーマット化して出力する。
【0136】
一方、図9に示すデータ圧縮記録装置1401は、データ圧縮部1404が出力する圧縮データ列を、フォーマッタ部1106を介して蓄積するバッファメモリ601などを備えている。具体的には、図9に示すデータ圧縮記録装置1401は、コントローラ部1103、データ圧縮部1404、辞書部1105、フォーマッタ部1106、記録部1107、バッファメモリ601、およびマスク信号生成部603を備えている。
【0137】
データ圧縮部1404は、マスク部606、データ列解析部1108、辞書作成・検索部1109、圧縮コード生成部1110、および圧縮率観測部1111を有してる。
【0138】
なお、データ圧縮記録装置1401において、データ圧縮記録装置1101と同じ構成には同じ番号を付け、基本的には説明を省略する。
【0139】
バッファメモリ601に蓄えられたデータはフォーマッタ部1106を介して記録部1107に入力される。外部から入力された外部辞書リセットマスク信号604はマスク信号生成部603に入力され、信号604はフォーマッタ部1106が発行するデータ蓄積検知信号602によって制御される。データ蓄積検知信号602は、辞書リセット処理にかかる期間中、圧縮データをフォーマッタ部1106から記録部1107へ出力するのに要する転送データ量以上のデータがバッファメモリ601に蓄積された場合に発行される。
【0140】
マスク信号生成部603は、データ蓄積検知信号602が発行されていない時、外部辞書リセットマスク信号604をそのまま有効最終マスク信号605として出力する。
【0141】
マスク信号生成部603は、データ蓄積検知信号602が発行された時、外部辞書リセットマスク信号604をマスクし、最終マスク信号605はマスク無効信号となる。
【0142】
マスク部606は、最終マスク信号605が有効の場合、辞書リセット信号1112をマスクし、最終辞書リセット信号607が無効となり、辞書作成・検索部1109は辞書作成しながらデータ圧縮処理を行なう。
【0143】
マスク部606は、最終マスク信号605が無効の場合、辞書リセット信号1112のマスクを行なわず、最終辞書リセット信号607として反映し、辞書作成・検索部1109はデータ圧縮処理をやめ辞書部1105の登録フラグを初期化する。同時に、記録部1107への入力データはバッファメモリ601からフォーマッタ部1106を介して入力される。
【0144】
その辞書リセット処理に必要な時間分の出力データ量がバッファメモリ601に確保されていることが保証されているため、システム全体としては常に記録部1107を停止させることなくデータをストリーミングさせることが可能となる。
【0145】
また、辞書リセットが発行されてからデータ蓄積検知信号602が発行されるまでは、通常処理で辞書を作成しながらデータ圧縮を行なっているが、辞書リセットは期待する圧縮率を下回った場合に発行されるものであり、上述したデータ圧縮処理では急激に圧縮率が低下しないという性質があるため、この性質を利用すれば、ある程度辞書リセット処理の時期を遅らせることは可能となる。
【0146】
(実施形態5)
以下に、図面を用いて、本発明のデータ圧縮記録装置における第5の実施形態を説明する。
【0147】
図10は、本発明のデータ圧縮記録装置における第5の実施形態を示す図である。
【0148】
図10に示すデータ圧縮記録装置1501は、コントローラ部1103、データ圧縮部1504、辞書部1105、フォーマッタ部1106、および記録部1107を備えている。
【0149】
データ圧縮部1504は、アンダーフロー予測部703、圧縮率変更部705、データ列解析部1108、辞書作成・検索部1109、圧縮コード生成部1110、および圧縮率観測部1111を有してる。
【0150】
なお、データ圧縮記録装置1501において、データ圧縮記録装置1101と同じ構成には同じ番号を付け、基本的には説明を省略する。
【0151】
アンダーフロー予測部703は、外部から入力される時間情報701と基底圧縮率702に基づいて、予測情報704を生成する。たとえば、アンダーフロー予測部703は、時間情報701に示されている時間の間にデータ圧縮部1504から出力された圧縮データ量を、データ圧縮部1504に入力されたデータ量で割って局所圧縮率を求め、さらにその局所圧縮率を基底圧縮率702で割る処理を行なう。
【0152】
図11は、アンダーフロー予測部703によって生成される予測情報と、局所圧縮率÷基底圧縮率の商との関係を示す図である。
【0153】
局所圧縮率÷基底圧縮率の商が1以下の場合、2ビット表現の0が予測情報704としてアンダーフロー予測部703から圧縮率変更部705に送られ、局所圧縮率÷基底圧縮率の商が1〜2の場合2ビット表現の1が予測情報704としてアンダーフロー予測部703から圧縮率変更部705に送られ、局所圧縮率÷基底圧縮率の商が2〜4の場合2ビット表現の2が予測情報704としてアンダーフロー予測部703から圧縮率変更部705に送られ、局所圧縮率÷基底圧縮率の商が4以上の場合2ビット表現の3が予測情報704としてアンダーフロー予測部703から圧縮率変更部705に送られる。
【0154】
圧縮率変更部705は、予測情報704に基づき、上限値706を生成し、それは辞書作成・検索部1109に送られる。ここで、上限値706とは、辞書作成・検索部1109が辞書作成時に登録できるユニーク列のバイト数の上限値706、および辞書作成・検索部1109が出力辞書コードに置き換えるユニーク列のバイト数の上限値706うちの少なくとも1つを意味する。
【0155】
たとえば、図11に示すように、予測情報704が0の時はその上限値706を128にし、予測情報704が1の時は上限値706を64にし、予測情報704が2の時は上限値706を32にし、予測情報704が3の時は上限値706を16にする。
【0156】
また、局所圧縮率が基底圧縮率以下の場合、つまり予測情報=0の場合、極力圧縮率を上げる方向に働かせるため、辞書登録できるユニーク列バイト数の上限を128バイトとして、局所圧縮率の向上が図られる。しかしながら、局所圧縮率が極端に上がった場合、たとえば予測情報=3の場合、記録部1107でアンダーフローが発生する可能性がある。このため、辞書登録できるユニーク列バイト数の上限を16バイトにし、局所圧縮率をある程度低減するように制御する。
【0157】
また、前記上限値を16バイトにした場合、たとえば、辞書登録だけでなく、入力されるデータ列が上限値を無視すれば30バイトまで辞書コードとして置き換えが可能であっても、16バイトまでで辞書コードに置き換えて、圧縮コード生成部1110に渡す。上述した処理のように、局所的な圧縮率の変動に対応して、辞書作成や圧縮コードの生成方法を制御することにより、記録部1107がアンダーフローにならずに、かつ、大局的にデータ圧縮率を安定させることが可能となる。
【0158】
(実施形態6)
以下に、図面を用いて、本発明のデータ圧縮記録装置における第6の実施形態を説明する。
【0159】
図12は、本発明のデータ圧縮記録装置における第6の実施形態を示す図である。
【0160】
図12に示すデータ圧縮記録装置1601は、バッファメモリ901、アンダーフロー予測部904、コントローラ部1103、データ圧縮部1604、辞書部1105、フォーマッタ部1106、および記録部1107を備えている。
【0161】
データ圧縮部1604は、圧縮率変更部906、データ列解析部1108、辞書作成・検索部1109、圧縮コード生成部1110、および圧縮率観測部1111を有してる。バッファメモリ901は、コントローラ部1103を介してホストコンピュータ1102からのデータを一時的に蓄える。
【0162】
なお、データ圧縮記録装置1601において、データ圧縮記録装置1101と同じ構成には同じ番号を付け、基本的には説明を省略する。
【0163】
バッファメモリ901に蓄えられたデータは、コントローラ部1103を介してデータ列解析部1108に入力される。コントローラ部1103は、バッファメモリ901に蓄積されたデータ量をバッファ蓄積量情報902としてアンダーフロー予測部904に常に開示している。アンダーフロー予測部904は、外部から入力される基底データ蓄積量903および前記バッファ蓄積量情報902に基づいて、予測情報905を生成する。たとえば、アンダーフロー予測部904は、
バッファ蓄積量の基底データ蓄積量に対する倍率値を生成し、それを予測情報905として圧縮率変更部906へ渡す。
【0164】
図11に示すように、バッファ蓄積量÷基底データ蓄積量の商と予測情報905の関係は、その商が2以上の時2ビット表現は0となり、その商が1.5〜2の時2ビット表現は1となり、その商が1〜1.5の時2ビット表現は2となり、その商が1以下の時2ビット表現は3となる。
【0165】
圧縮率変更部906は、前記倍率値905に基づいて上限値907を生成する。ここで、上限値907とは、辞書作成・検索部1109が辞書作成時に登録できるユニーク列のバイト数、および出力辞書コードに置き換えるユニーク列のバイト数の少なくとも一方である。
【0166】
予測情報905が0の時、その上限値907が128となり、予測情報905が1の時、その上限値907が64となり、予測情報905が2の時、その上限値907が32に、予測情報905が3の時、その上限値907が16となり、それぞれの上限値907が辞書作成・検索部1109に送られる。
【0167】
バッファ蓄積量902が基底蓄積量903の2倍以上ある場合、たとえば予測情報=0の場合、極力、圧縮率を上げる方向に働かせるため、辞書登録できるユニーク列バイト数の上限を128バイトとして局所圧縮率向上を図るが、バッファ蓄積量が極端に減った場合、たとえば予測情報=3の場合、記録部1107でアンダーフローが発生する可能性があるため、辞書登録できるユニーク列バイト数の上限を16バイトにしてバッファ蓄積量をある程度増加させるように制御する。
【0168】
また、前記上限値を16バイトにした場合、たとえば、辞書登録だけでなく、入力されるデータ列が上限値を無視すれば30バイトまで辞書コードとして置き換えが可能であっても、16バイトまでで辞書コードに置き換えて、圧縮コード生成部1110に渡す。
【0169】
上述した処理のように、データ圧縮部1104の前段バッファメモリのデータ蓄積量の変動に対応して、辞書作成や圧縮コードの生成方法を制御することにより、記録部1107がアンダーフローにならずに、かつ、大局的にデータ圧縮率を安定させることが可能となる。
【0170】
(実施形態7)
以下に、図面を用いて、本発明のデータ圧縮記録方法における第7の実施形態を説明する。
【0171】
図13は、データ圧縮記録方法の一例を示す図である。詳しくは、図13に示す方法は、データ圧縮記録装置1101の辞書作成・検索部1109に対し、外部から時間情報=Nクロック時間が入力される。その時間情報N以内に、あるユニーク列の辞書登録ができなかった場合、もしくは、あるユニーク列を辞書から見つけられなかった場合の、方法に関する。
【0172】
ステップS10において、ホストコンピュータ1102からコントローラ部1103を介してデータ列解析部1108にデータが入力された場合、それを親とする。なお、データの入力は任意の時点で起きてもよい。
【0173】
ステップS20において、データが入力されたか否かが判定される。データが入力された場合、処理はステップS30に進み、データが入力されていない場合、処理はステップS40に進み、処理を終了する。ここで、1クロック時間とは、所定クロックにおける1周期のパルス時間とする。
【0174】
ステップS30において、データ列解析部1108は、初期の親、子、各バイトを辞書作成・検索部1109に送る。
【0175】
ステップS1001では、辞書作成・検索部1109は、初期の親、子、各バイトがデータ列解析部1108から入手されると、タイマが初期化され、クロックの立ち上がりエッジによるカウントアップがイネーブルにされる。
【0176】
ステップS50において、辞書作成・検索部1109は、前記親子が辞書内に存在するか調査するため、辞書部1105の検索を始める。
【0177】
ステップS60では、前記親子を所定関数によって演算することによって、エントリアドレスが生成される。
【0178】
ステップS70では、エントリアドレスに対応する登録フラグ1305の内容が取り出される。
【0179】
ステップS80では、エントリアドレスに対応する登録フラグ1305が0か否かが判定される。登録フラグ1305が0である場合、処理はステップS90に進み、登録フラグ1305が0でない場合、処理はステップS100に進む。
【0180】
ステップS90では、そのエントリは未使用なので、先程データ列解析部1108から入手した親子情報を辞書に登録1303、1304し、現在の親コード1303を圧縮コード生成部1110へ渡し、現在の子を次の親としておく。その後処理はステップS20に進み、ステップS20では、次に入力されるデータを子とする。
【0181】
ステップS100では、登録フラグ1305が0でない場合、たとえば、登録フラグ1305が2の場合、前記エントリアドレスが指すエントリの親子情報が取り出される。
【0182】
ステップS110では、取り出された親子情報とデータ列解析部1108から入手した親子情報が一致するかが判定される。親子情報が一致する場合、処理はステップS1004に進み、親子情報が一致しない場合、処理はステップS1002に進む。
【0183】
ステップS1002では、ステップS1001で起動したタイマー値がNクロック時間を越えたか否かが調べられる。タイマー値がNクロック時間を越えた場合、処理はステップS1003に進み、タイマー値がNクロック時間を越えない場合、処理はステップS60に進む。
【0184】
ステップS1003では、タイマー値がNクロック時間以上、つまり、現ユニーク列の検索時間がNクロック時間以上かかっている場合は、これ以上検索を続けると記録部1107へ転送する圧縮データの量が足りなくなるため、検索を強制中止し、最近親子関係が一致した時の親コードが圧縮コード生成部1110に送られ、前回一致した時の子を次の親とし、現在の子を子とし、処理はステップS1001に進む。つまり、ステップS1001において、再びタイマー初期化および起動が行われる。
【0185】
ステップS1004では、ステップS1001で起動したタイマー値がNクロック時間を越えたか否かが調べられる。タイマー値がNクロック時間を越えた場合、処理はステップS1005に進み、タイマー値がNクロック時間を越えない場合、処理はステップS120に進む。
【0186】
前記タイマー値がNクロック時間を下回る場合(ステップS120)、つまり検索時間にまだ余裕がある場合、再び、現在の親子情報を元に所定関数により新たなエントリアドレスを取得して検索を続ける。言い換えると、ステップS120では、現在の親子データ列を親とし、子バイトをデータ列解析部1108から入手して新たなユニーク列を準備して、再び、所定関数によりその親子情報からエントリアドレスを取得して検索を続ける。その後処理はステップS60に進む。
【0187】
ステップS1005では、前記タイマー値がNクロック時間以上、つまり現ユニーク列の辞書登録にかかる時間がNクロック時間以上かかっている場合には、これ以上登録のための検索を続けると記録部1107へ転送する圧縮データの量が不足しアンダーフロー状態を起こすため、検索が強制中止される。現在の親コードが圧縮コード生成部1110に出力され、現在の子を次の親とし、処理はステップS20に進み、データが入力されるとそれを子として検索が再開される。
【0188】
以上の処理を、辞書作成・検索部1109に設けることにより、外部指定した所定時間内にユニーク列の辞書登録ができなかった場合、もしくは、ユニーク列の検索ができなかった場合に、登録・検索処理を強制的に中止させ、その時点で辞書に存在した最大長のユニーク列を、辞書コードに置き換えて、圧縮コード生成部1110に渡すことが可能になり、よって、検索時間の増大に起因する記録部1107のアンダーフロー状態を回避することが可能となる。
【0189】
なお、第1の実施形態〜第6の実施形態における辞書部1105は、RAM、たとえばSRAMであってもよい。また、辞書部1105の構造は、辞書部1105aおよび辞書部1105bの構造に限られるものではない。
【0190】
上述した第1の実施形態〜第7の実施形態によれば、データ圧縮記録装置における、入力データストリームの性格、データ圧縮手段特有の性質/処理、データ書き込み速度の向上、などにより発生するアンダーフロー状態を防ぎ、機械的動作の中断なく常にストリーミングするデータ圧縮記録装置を実現することが可能となる。このため、上記機械的動作の頻繁なる発生による、記録時間の増大、メディア(記録媒体など)の早期劣化、記録ヘッド/ドライブモータなどの記録系の寿命を縮める、という問題を回避可能となる。
【0191】
【発明の効果】
本発明のデータ圧縮記録装置は、圧縮率観測手段が辞書作成・検索手段に辞書の初期化を指示すると、初期化を指示した時点から辞書の初期化が終了するまでの期間中のみ、圧縮データ装置に入力されるデータ列がデータ記録手段に転送される。
【0192】
このため、本発明のデータ圧縮記録装置は、従来のデータ圧縮記録装置に比べて、データ圧縮処理中の辞書リセット処理期間中でも、データ圧縮処理部の出力が途切れることなく維持でき、アンダーフロー状態の回避が容易である。
【図面の簡単な説明】
【図1】本発明のデータ圧縮記録装置における第1の実施形態を示す図である。
【図2】データ圧縮部1104が受け取る入力データと、データ圧縮部1104が生成した出力データの一関係を示す図である。
【図3】辞書部の一構成を示す図である。
【図4】データ圧縮処理の辞書作成・検索部1109の処理を示す図である。
【図5】辞書部1105の他の構成を示す図である。
【図6】辞書部1105の別の構成の一部である、メモリ空間を示す図である。
【図7】本発明のデータ圧縮記録装置における第2の実施形態を示す図である。
【図8】本発明のデータ圧縮記録装置における第3の実施形態を示す図である。
【図9】本発明のデータ圧縮記録装置における第4の実施形態を示す図である。
【図10】本発明のデータ圧縮記録装置における第5の実施形態を示す図である。
【図11】アンダーフロー予測部703、904が生成する予測情報と、圧縮率変更部705、906の入出力との関係を示す図である。
【図12】本発明のデータ圧縮記録装置における第6の実施形態を示す図である。
【図13】データ圧縮記録装置1101の動作の一例を示す図である。
【符号の説明】
101 セレクタ部
102 コントローラ部からセレクタ部への入力データ列
103 コントローラ部からデータ列解析部への入力データ列
104 データ列解析部から辞書作成・検索部へ渡されるユニーク列情報
105 辞書作成・検索部からセレクタ部へ渡される圧縮コード
201 登録バイト数
202 辞書に登録したことを示すフラグ
301 SRAMアドレス
401 無記録期間信号
402 マスク信号生成部
403 外部辞書リセットマスク信号
404 最終マスク信号
405 マスク部
406 最終辞書リセット信号
501 バッファメモリ
502 データ蓄積検知信号
503 マスク信号生成部
504 外部辞書リセットマスク信号
505 最終マスク信号
506 マスク部
507 最終辞書リセット信号
601 バッファメモリ
602 データ蓄積検知信号
603 マスク信号生成部
604 外部辞書リセットマスク信号
605 最終マスク信号
606 マスク部
607 最終辞書リセット信号
701 外部入力の時間情報
702 外部入力の基底圧縮率
703 アンダーフロー予測部
704 予測情報
705 圧縮率変更部
706 ユニーク列バイト数の上限値
901 バッファメモリ
902 バッファ蓄積量
903 外部入力の基底データ蓄積量
904 アンダーフロー予測部
905 予測情報
906 圧縮率変更部
907 ユニーク列バイト数の上限値

Claims (11)

  1. 入力されるデータ列を解析するデータ列解析手段、
    前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、
    前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、
    前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、
    前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、
    前記圧縮率観測手段が前記辞書作成・検索手段に前記辞書の初期化を指示すると、前記初期化を指示した時点から前記辞書の初期化が終了するまでの期間中のみ、前記データ圧縮手段に入力されるデータ列が前記データ記録手段に転送される、データ圧縮記録装置。
  2. 前記データ圧縮記録装置は、前記辞書が記憶される領域とフラグ情報が記憶される領域を有するRAMをさらに備え、
    前記辞書が記憶される領域が、前記フラグ情報が記憶される領域と異なり、
    前記辞書が記憶される領域には、アドレスに対応してエントリが格納され、
    前記フラグ情報が記憶される領域には、前記アドレスに従い、前記辞書にエントリが登録されたか/未登録であるかを示すフラグ情報が、テーブル化して割り付けられている請求項1に記載のデータ圧縮記録装置。
  3. 入力されるデータ列を解析するデータ列解析手段、
    前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、
    前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、
    前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、
    前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、
    前記データ圧縮手段が、前記データ記録手段における機械的動作変更による一時的記録中断状態を検出する機械的記録中断検出手段、および
    外部からの辞書初期化禁止信号に従い、前記圧縮率観測手段によって生成された前記辞書初期化信号を無効にし、前記一時的記録中断状態において前記機械的記録中断検出手段が生成する機械的記録中断を示す信号を受信することで前記辞書初期化信号を有効にする初期化マスク手段を有するデータ圧縮記録装置。
  4. 前記データ圧縮記録装置が、
    前記データ圧縮手段の前段に配置され、前記入力されるデータ列を蓄積するバッファメモリと、
    前記バッファメモリに蓄積されたデータを前記データ圧縮手段に入力し、前記バッファメモリ内のデータ蓄積量が、前記辞書を初期化するのに必要な時間内に前記データ圧縮手段が非圧縮で出力するデータ量を上回ることを示すマスク解除信号を出力するバッファ管理手段と、
    外部からの辞書初期化禁止信号に従い、前記圧縮率観測手段が発行する辞書初期化信号を無効にし、前記バッファ管理手段が出力する前記マスク解除信号を受信することで、前記辞書初期化信号を有効にする初期化マスク手段とを備えた請求項1に記載のデータ圧縮記録装置。
  5. 入力されるデータ列を解析するデータ列解析手段、
    前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、
    前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、
    前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、
    前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、
    前記データ圧縮記録装置が、前記データ圧縮手段の後段に配置され、前記データ圧縮手段にて圧縮された圧縮データを蓄積するバッファメモリと、
    前記蓄積圧縮データが前記データ記録手段に送られ、前記バッファメモリに蓄積される前記圧縮データの量が、前記辞書を初期化するために必要な時間内に、前記データ圧縮手段が出力する圧縮データの量を上回ることを示すマスク解除信号を出力するバッファ管理手段と、
    外部からの辞書初期化禁止信号に従い、前記圧縮率観測手段が発行する辞書初期化信号を無効にし、前記バッファ管理手段が発行する前記マスク解除信号を受信することで、前記辞書初期化信号を有効にする初期化マスク手段とを備えたデータ圧縮記録装置。
  6. 入力されるデータ列を解析するデータ列解析手段、
    前記データ列解析手段によって生成されたデータが辞書に登録されているか否かを調べ、前記生成されたデータが前記辞書に未登録である場合、前記辞書に辞書登録する辞書作成・検索手段、
    前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、
    前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る場合、前記辞書作成・検索手段に前記辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段を有するデータ圧縮手段と、
    前記データ圧縮手段から出力されたデータをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、
    前記データ圧縮手段が、前記データ圧縮手段から出力される圧縮データの転送速度が、前記データ記録手段がデータをメディアに書き込む速度を下回る時点を指示する予測信号を生成するアンダーフロー予測手段と、
    前記アンダーフロー予測手段が出力する予測信号に従って、データ圧縮率を変化させる圧縮率変更手段とを有するデータ圧縮記録装置。
  7. 前記アンダーフロー予測手段が、外部から入力される時間情報および基底圧縮率に従い、予測信号を生成する請求項6に記載のデータ圧縮記録装置。
  8. 前記データ圧縮記録装置が、前記データ圧縮手段の前段に配置され、前記入力されるデータ列を蓄積するバッファメモリを備え、
    前記アンダーフロー予測手段が、前記蓄積されたデータを前記データ圧縮手段に入力し、外部から指定入力される基底データ蓄積量に対する前記バッファメモリ内のデータ蓄積量の倍率を前記圧縮率変更手段に出力する、請求項6に記載のデータ圧縮記録装置。
  9. 前記データ圧縮手段が、可変するデータ圧縮率を受け取り、辞書登録・検索対象となるデータ列の長さの上限値を出力とする変換手段を備え、
    前記辞書作成・検索手段が、辞書登録・検索されるデータ列が前記上限値の長さ以下に収まるように辞書を作成する、請求項6に記載のデータ圧縮記録装置。
  10. 入力されるデータ列を解析するデータ列解析手段、
    前記データ列解析手段によって生成されるデータ列が辞書に登録されているか否かを調べ、未登録の場合に前記辞書に辞書登録する辞書作成・検索手段、
    前記辞書作成・検索手段によって生成される圧縮コードを出力する圧縮コード生成部、および、
    前記入力されるデータ列のデータ量と前記圧縮コード生成部が出力する前記圧縮コードのデータ量との比率を示すデータ圧縮率を求め、該データ圧縮率が、外部から入力されたデータ圧縮率を下回る時点を検出し、前記辞書作成・検出手段に辞書の初期化を指示する辞書初期化信号を生成する圧縮率観測手段とを有するデータ圧縮手段と、
    外部からの入力データを前記データ圧縮手段によって圧縮した前記圧縮データをメディアに記録するデータ記録手段とを備えたデータ圧縮記録装置であって、
    前記データ圧縮記録装置が、前記辞書の検索開始から前記辞書の検索終了までの時間を計測し、計測時間情報を生成する時間計測手段を備え、
    前記辞書作成・検索手段が、外部から入力された時間情報が、前記時間計測手段の計測時間情報を下回った時点で、辞書登録または検索を行う処理を強制的に中止し、前記強制中止直前に確定した圧縮コードを圧縮コード生成部に出力する、データ圧縮記録装置。
  11. 前記データ圧縮手段に入力されるデータ列を前記データ記録手段に転送する前に、
    前記データ記憶手段に転送データが非圧縮データであることを示す第1の制御コードを前記データ記録手段に転送し、かつ、前記データ圧縮手段に入力されるデータ列を前記データ記録手段に転送し、
    前記データ列の転送が終了したことを示す第2の制御コードを前記データ列の転送終了後に前記データ記録手段に転送する圧縮コード生成部を有することを特徴とする請求項1またはに記載のデータ圧縮記録装置。
JP01770199A 1999-01-26 1999-01-26 データ圧縮記録装置 Expired - Fee Related JP3578445B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01770199A JP3578445B2 (ja) 1999-01-26 1999-01-26 データ圧縮記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01770199A JP3578445B2 (ja) 1999-01-26 1999-01-26 データ圧縮記録装置

Publications (2)

Publication Number Publication Date
JP2000216685A JP2000216685A (ja) 2000-08-04
JP3578445B2 true JP3578445B2 (ja) 2004-10-20

Family

ID=11951099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01770199A Expired - Fee Related JP3578445B2 (ja) 1999-01-26 1999-01-26 データ圧縮記録装置

Country Status (1)

Country Link
JP (1) JP3578445B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2775406A4 (en) 2011-11-04 2015-07-08 Fujitsu Ltd MATCHING CONTROL PROGRAM, MATCHING CONTROL DEVICE, AND MATCHING CONTROL METHOD

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2918360B2 (ja) * 1991-07-25 1999-07-12 富士通株式会社 逆量子化方法および画像データ復元装置
US5175543A (en) * 1991-09-25 1992-12-29 Hewlett-Packard Company Dictionary reset performance enhancement for data compression applications
US5686912A (en) * 1995-05-08 1997-11-11 Hewlett-Packard Company Data compression method and apparatus with optimized transitions between compressed and uncompressed modes
JP3337633B2 (ja) * 1997-12-03 2002-10-21 富士通株式会社 データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JP2000216685A (ja) 2000-08-04

Similar Documents

Publication Publication Date Title
US5237460A (en) Storage of compressed data on random access storage devices
JP4157294B2 (ja) 欠陥ファイルの修復を可能とするファイルシステム
US5298895A (en) Data compression method and apparatus utilizing an adaptive dictionary
US5280600A (en) Storage of compressed data with algorithm
US6816942B2 (en) Storage control apparatus and method for compressing data for disk storage
US6360300B1 (en) System and method for storing compressed and uncompressed data on a hard disk drive
JP3319751B2 (ja) テープ記憶装置
JP6794782B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
US20130297575A1 (en) Data management systems and methods using compression
JPH1027120A (ja) データベース・ログを保持するシステム
US20040190183A1 (en) Disk array device
EP0682306A2 (en) Data storage system and method
US20110082998A1 (en) Reducing occupancy of digital storage devices
US6032148A (en) Multilevel storage system with hybrid data compression
JPH02503966A (ja) 大容量複式デイスクの記憶方法及びその装置
JP3342798B2 (ja) 生データのストリームを圧縮する方法
US7219259B2 (en) Apparatus and method to preserve data integrity during a power loss
US7120766B2 (en) Apparatus and method to initialize information disposed in an information storage and retrieval system
JP3578445B2 (ja) データ圧縮記録装置
US7206908B2 (en) Apparatus and method to convert a plurality of sectors from a first sector format to a second sector format
EP0490239A2 (en) Storage of compressed data on random access storage devices
JP3061278B2 (ja) 可変ビット長コード語のビット長通信方法
CN113986604A (zh) 数据存储方法和数据存储装置
JP3097076B2 (ja) トレースデータ採取方式
JP3552246B2 (ja) 信号処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040622

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040712

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070723

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080723

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090723

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100723

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110723

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees