(57)【要約】  【課題】  上位互換性を保証する圧縮及び復元方法及び装置を提供する。  【解決手段】  本発明によるデータ圧縮復元装置は、圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出する圧縮ファイルパーシング部と、前記圧縮データを復元して原本ファイルを生成する原本ファイル生成部と、を含む。ただし、前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと、一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むことが好ましい。また、前記圧縮ファイルパーシング部は、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップすることが好ましい。【選択図】  図２
2013500676.tif 000002
【特許請求の範囲】
【請求項１】
圧縮対象データに対して圧縮アルゴリズムを適用して圧縮データを生成する圧縮部と、
前記圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルを生成する圧縮ファイル生成部と、を含み、
前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むデータ圧縮装置。
【請求項２】
前記ヘッダは含む情報によって第１ヘッダ、第２ヘッダ、第３ヘッダに区分し、前記拡張フィールドも含む情報によって第１拡張フィールド、第２拡張フィールド、第３拡張フィールド及び第４拡張フィールドに区分し、
前記第１拡張フィールドは、前記第１ヘッダの後に位置し、前記第２拡張フィールドは、  前記第２ヘッダの後に位置し、前記第３拡張フィールドは、前記第３ヘッダの後に位置し、前記第４拡張フィールドは、前記圧縮ファイルの最後に位置する請求項１に記載のデータ圧縮装置。
【請求項３】
前記圧縮ファイルは、
圧縮フォーマットを識別できる前記第１ヘッダ、前記第１ヘッダに関する情報を含む前記第１拡張フィールド、前記圧縮ファイルに含まれた原本ファイルに関する情報を含む前記第２ヘッダ、前記第２ヘッダに関する情報を含む第２拡張フィールド、前記原本ファイル内の各ブロックに対する情報を含む前記第３ヘッダ、前記第３ヘッダに関する情報を含む前記第３拡張フィールド、前記第３ヘッダに対応するブロックの前記圧縮データ、前記圧縮ファイルの終了を示す前記第４拡張フィールドが順に位置する構成を有する請求項２に記載のデータ圧縮装置。
【請求項４】
圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出する圧縮ファイルパーシング部と、
前記圧縮データを復元して原本ファイルを生成する原本ファイル生成部と、を含み、
前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含み、
前記圧縮ファイルパーシング部は、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップする圧縮データの復元装置。
【請求項５】
前記圧縮ファイルパーシング部は、
前記データ識別コードをパーシングすることによって前記ヘッダ及び前記拡張フィールドユニットの種類を識別する請求項４に記載の圧縮データの復元装置。
【請求項６】
前記圧縮ファイルパーシング部は、
前記拡張フィールドユニットに含まれたデータから前記原本ファイル生成に反映するデータを、前記拡張フィールド終了コードを発見するときまで前記原本ファイル生成部に提供し、
前記原本ファイル生成部は、
前記圧縮ファイルパーシング部が提供した前記拡張フィールドユニットに含まれたデータを反映して前記原本ファイルを生成する請求項５に記載の圧縮データの復元装置。
【請求項７】
圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出するステップと、
前記圧縮データを復元して原本ファイルを生成するステップと、を含み、
前記拡張フィールドは、拡張フィールドユニットを含む領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含み、
前記圧縮ファイルをパーシングして前記圧縮データを抽出するステップは、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップするステップを含む圧縮データの復元方法。
【請求項８】
圧縮対象データに対して圧縮アルゴリズムを適用して圧縮データを生成する機能と、
前記圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルを生成する機能と、を含み、
前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むプログラムを記録したコンピュータで読み取ることができる記録媒体。
【請求項９】
圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出する機能と、
前記圧縮データを復元して原本ファイルを生成する機能と、を含み、
前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含み、
前記圧縮ファイルをパーシングして前記圧縮データを抽出する機能は、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップする機能をさらに含むプログラムを記録したコンピュータで読み取ることができる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は上位互換性を保証する圧縮及び復元方法並びに装置に関するものである。より詳細には、原本ファイルを圧縮して圧縮ファイルを生成し、圧縮ファイルの圧縮を復元する方法及び装置において、上位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで圧縮したファイルを、下位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで復元する場合も、基本的なデータの圧縮復元が正常に行われるようにする圧縮及び復元方法及び装置に関するものである。
【背景技術】
【０００２】
データ圧縮技術は、データを伝送したり記憶したりする際に、必要のない部分を除去することにより伝送時間の短縮やメモリ空間（ｓｐａｃｅ）の節約を試みる技術をいう。例えば、書類をファクシミリで送信する場合、文字と文字の間や行間の空白の部分まで共に伝送するため、時間がかかる。したがって、空白の部分の位置やサイズを他の簡略化した信号を利用して伝送したり、繰り返しデータを簡略化したりすることによって、データを圧縮して伝送時間を短縮する。磁気テープやディスクにデータを記憶させる際、この技術を使用するとメモリが節約される。
【０００３】
データ圧縮及び復元技術は、圧縮アルゴリズム及び圧縮ファイルのフォーマットが主な構成要素である。すなわち、いかなるアルゴリズムを利用してデータが占める空間を減少させるか、また圧縮させたデータに関する情報をいかなる構成で格納するかが重要である。
【０００４】
圧縮ファイルのフォーマットは、提供する技術の追加及び性能の改善によっていくつかのバージョン（ｖｅｒｓｉｏｎ）がある。一般的には下位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで圧縮したファイルは、上位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで問題なく復元される。これは、圧縮ファイルのバージョンアップをする際に下位バージョンに基づき下位互換性を念頭に置いて圧縮ファイルの構成を設計するからである。
【０００５】
しかし、逆の場合、すなわち、上位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで圧縮したファイルを、下位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで復元する際には問題が生じ得る。上位バージョンで新たに追加した圧縮ファイルフォーマットの構成などが含まれた圧縮ファイルは下位バージョンで認識できない場合が発生するからである。したがって、上位バージョンの圧縮ファイルフォーマットによって格納された圧縮ファイルであっても基本的なデータ復元が可能で、かつ上位互換性が保証される圧縮ファイルフォーマットの提供が要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする技術的課題は、上位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで圧縮したファイルを、下位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで復元する場合も、基本的なデータの圧縮復元が正常に行われるようにする圧縮ファイルを生成するデータ圧縮装置及び方法を提供することにある。
【０００７】
本発明が解決しようとする他の技術的課題は、上位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで圧縮したファイルを、下位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで復元する場合も、基本的なデータの圧縮復元が正常に行われるようにする圧縮データの復元装置及び方法を提供することにある。
【０００８】
本発明の技術的課題は、以上で言及した技術的課題に制限されず、言及されていない他の技術的課題は、次の記載から当業者に明確に理解されるであろう。
【課題を解決するための手段】
【０００９】
前記技術的課題を達成するための本発明の一実施形態によるデータ圧縮装置は、圧縮対象データに対して圧縮アルゴリズムを適用して圧縮データを生成する圧縮部と、前記圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルを生成する圧縮ファイル生成部と、を含む。前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むことが好ましい。
【００１０】
前記技術的課題を達成するための本発明の他の実施形態による圧縮データの復元装置は、圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出する圧縮ファイルパーシング部と、前記圧縮データを復元して原本ファイルを生成する原本ファイル生成部と、を含む。ただし、前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むことが好ましい。また前記圧縮ファイルパーシング部は、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップすることが好ましい。
【００１１】
前記技術的課題を達成するための本発明のまた他の実施形態による圧縮データの復元方法は、圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出するステップと、前記圧縮データを復元して原本ファイルを生成するステップと、を含み、前記拡張フィールドは、拡張フィールドユニットを含む領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含み、前記圧縮ファイルをパーシングして前記圧縮データを抽出するステップは、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップするステップを含む。
【００１２】
前記技術的課題を達成するための本発明のまた他の実施形態によるプログラムを記録したコンピュータで読み取ることができる記録媒体は、圧縮対象データに対して圧縮アルゴリズムを適用して圧縮データを生成する機能と、前記圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルを生成する機能と、を含み、前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むプログラムを記録したものである。
【００１３】
前記技術的課題を達成するための本発明のまた他の実施形態によるプログラムを記録したコンピュータで読み取ることができる記録媒体は、圧縮データ、前記圧縮データに関する情報を含むヘッダ及び拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出する機能と、前記圧縮データを復元して原本ファイルを生成する機能と、を含み、前記拡張フィールドは、拡張フィールドユニットを含み得る領域が終了することを意味する拡張フィールド終了コードと一つ以上の前記拡張フィールドユニットで構成され、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含み、前記圧縮ファイルをパーシングして前記圧縮データを抽出する機能は、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップする機能をさらに含むプログラムを記録したものである。
【発明の効果】
【００１４】
前記のような本発明によれば、上位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで圧縮したファイルを、下位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで復元する場合も、基本的なデータの圧縮復元が正常に行われるようにする効果がある。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態によるデータ圧縮装置の構成図である。
【図２】本発明の一実施形態によるデータ圧縮装置によって生成される圧縮ファイルの構成を示す図である。
【図３】本発明の一実施形態によるデータ圧縮装置によって生成される圧縮ファイルの構成中、ヘッダのうち一つである第２ヘッダの構成を示す図である。
【図４】本発明の一実施形態によるデータ圧縮装置によって生成される圧縮ファイルの構成中、拡張フィールドに含まれる拡張フィールドユニットのうち一つのファイルパスデータの拡張フィールドユニットの構成を示す図である。
【図５】本発明の一実施形態による圧縮データの復元装置の構成図である。
【発明を実施するための形態】
【００１６】
本発明の利点、特徴、およびそれらを達成する方法は、添付される図面と共に詳細に後述される実施形態を参照すれば明確になるであろう。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で具現されることが可能である。本実施形態は、単に本発明の開示が完全になるように、本発明が属する技術分野で通常の知識を有する者に対して発明の範疇を完全に知らせるために提供されるものであり、本発明は、特許請求の範囲によってのみ定義される。なお、明細書全体にかけて、同一の参照符号は同一の構成要素を指すものとする。
【００１７】
以下、本発明の実施形態によって、上位互換性を保証する圧縮及び復元方法並びに装置について説明するためのブロック図または処理フローチャートを参照して本発明について説明する。この時、フローチャートの各ブロックとフロ−チャートの組合せは、コンピュータプログラムインストラクションにより実行可能であることが理解できるであろう。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーに搭載され得るので、コンピュータまたはその他のプログラマブルデータプロセッシング装備のプロセッサーにより実行されるそのインストラクションがフローチャートのブロックで説明された機能を行う手段を生成するように機構を作れる。これらコンピュータプログラムインストラクションは特定方式で機能を具現するためにコンピュータまたはその他のプログラマブルデータプロセッシング装備を指向できるコンピュータ利用可能またはコンピュータ判読可能メモリに保存されることも可能であるため、そのコンピュータ利用可能またはコンピュータ判読可能メモリに保存されたインストラクションはフローチャートのブロックで説明された機能を行うインストラクション手段を内包する製造品目を生産することも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他のプログラマブルデータプロセッシング装備上に搭載することも可能であるため、コンピュータまたはその他のプログラマブルデータプロセッシング装備上で一連の動作段階が実行されてコンピュータで実行されるプロセスを生成し、コンピュータまたはその他のプログラマブルデータプロセッシング装備を行うインストラクションはフローチャートのブロックで説明された機能を実行するための段階を提供することも可能である。
【００１８】
また、各ブロックは特定の論理的機能を行うための一つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、いくつかの代替実行例では、ブロックで言及された機能が順序から外れて発生することも可能であるということに注目しなければならない。例えば、連続して図示されている二つのブロックは、実質的に同時に行われてもよく、またはそのブロックが時々該当する機能によって逆順に行われてもよい。
【００１９】
以下、図１を参照して本発明の一実施形態によるデータ圧縮装置の構成及び動作について説明する。図１は、本実施形態によるデータ圧縮装置の構成図である。本実施形態によるデータ圧縮装置は、特定機能があるプログラムが汎用コンピュータシステムで実行中である状態を意味する。
【００２０】
図１に図示するように、本実施形態によるデータ圧縮装置は、ユーザインターフェース１００、制御部１０２、格納部１０６、圧縮部１０８及び圧縮ファイル生成部１１０を含む。
【００２１】
ユーザインターフェース１００は、データ圧縮装置のユーザにより圧縮対象である原本ファイルが指定されると、前記原本ファイルの情報を制御部１０２に提供する。以下、「原本ファイル」は、圧縮しようとするデータグループを指す用語として使用され、汎用コンピュータシステムでデータを保存する単位で使用するファイル（ｆｉｌｅ）と同意語として解釈されないことに注意しなければならない。すなわち、「原本ファイル」は、一つのグループの圧縮対象データを意味する。前記原本ファイルは、例えばオペレーティングシステムが支援するファイルシステム（Ｆｉｌｅ  Ｓｙｓｔｅｍ）上の保存単位であるファイル、メモリに臨時に格納されたデータであり得る。
【００２２】
制御部１０２は、前記原本ファイルに関する情報をブロック設定部１０４に伝達し、圧縮部１０８が格納部１０６から前記原本ファイルをローディングして圧縮するように制御する。
【００２３】
格納部１０６は、原本ファイル及び圧縮ファイル生成部１１０によって生成された圧縮ファイルを格納する。格納部１０６は、キャッシュ（Ｃａｃｈｅ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭＥＥＰＲＯＭ）及びフラッシュメモリ（Ｆｌａｓｈ  ｍｅｍｏｒｙ）のような不揮発性メモリ素子、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性メモリ素子、及びハードディスクドライブ（Ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）のような記憶媒体のうち少なくとも一つにより実現されるがこれに限定されない。また、図１には格納部１０６が圧縮部１０８及び圧縮ファイル生成部１１０と直接連結されているものと図示しているが、格納部１０６は、本実施形態によるデータ圧縮装置と分離しており、ネットワークを介してブロック設定部１０４及び圧縮ファイル生成部１１０と連結され得る。
【００２４】
圧縮部１０８は、圧縮対象データに対し、圧縮アルゴリズムを適用して圧縮データを生成する。
【００２５】
圧縮ファイル生成部１１０は、圧縮部１０８によって生成された前記圧縮データ、前記圧縮データに関する情報を含むヘッダと、一つ以上の拡張フィールドユニットと拡張フィールド終了コードで構成された拡張フィールドを含む圧縮ファイルを生成する。前記圧縮ファイルは格納部１０６に提供されて格納され得る。この時、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むことが好ましい。
【００２６】
すなわち、圧縮ファイル生成部１１０によって生成される圧縮ファイルは、前記ヘッダ、前記拡張フィールド及び前記圧縮データの３つの構成要素からなることを理解することができる。この時、前記ヘッダ及び前記拡張フィールドは、格納している情報の種類によって二つ以上存在し得る。
【００２７】
例えば、前記ヘッダは、含む情報によって第１ヘッダ、第２ヘッダ、及び第３ヘッダに区分し、前記拡張フィールドも含む情報によって第１拡張フィールド、第２拡張フィールド、第３拡張フィールド及び第４拡張フィールドに区分する。この時、前記第１拡張フィールドは、前記第１ヘッダの後に位置し、前記第２拡張フィールドは前記第２ヘッダの後に位置し、前記第３拡張フィールドは前記第３ヘッダの後に位置し、前記第４拡張フィールドは前記圧縮ファイルの最後に位置することが好ましい。より詳細には、前記圧縮ファイルは、圧縮フォーマットを識別できる前記第１ヘッダ、前記第１ヘッダに関する情報を含む前記第１拡張フィールド、前記圧縮ファイルに含まれた原本ファイルに関する情報を含む前記第２ヘッダ、前記第２ヘッダに関する情報を含む第２拡張フィールド、前記原本ファイル内の各ブロックに対する情報を含む前記第３ヘッダ、前記第３ヘッダに関する情報を含む前記第３拡張フィールド、前記第３ヘッダに対応するブロックの前記圧縮データ、前記圧縮ファイルの終了を示す前記第４拡張フィールドが順に位置する構成を有し得る。
【００２８】
以下、図２を参照して圧縮ファイル生成部１１０が生成する圧縮ファイルの構成についてさらに詳細に説明する。図２は、本実施形態によるデータ圧縮装置によって生成される圧縮ファイルの構成を示す図である。
【００２９】
図２に図示するように、圧縮ファイル生成部１１０によって生成される圧縮ファイルは、圧縮ファイルのフォーマットを識別できる情報を含む第１ヘッダ２００、圧縮ファイルが分割圧縮されたのか、ソリッド（ｓｏｌｉｄ）圧縮されたのかに関する情報を含み得る圧縮ファイルヘッダ拡張フィールド２０２、圧縮ファイルに含まれた原本ファイルに関する情報を含む第２ヘッダ２０４、第２ヘッダ２０４に含まれない前記原本ファイルの付加情報を含む第２拡張フィールド２０６、ブロックに関する情報を含む第３ヘッダ２０８、前記ブロックの付加情報を含み得る第３拡張フィールド２１０、前記ブロックのデータを含む圧縮データ２１２、圧縮ファイルに対するコメントまたは圧縮ファイルが終了することを知らせるコードを含む第４拡張フィールド２１４を含み得る。
【００３０】
図２を理解するにあたって、次のことに留意しなければならない。第１拡張フィールド２０２、第２拡張フィールド２０６、及び第３拡張フィールド２１０は、それぞれ第１ヘッダ２００、第２ヘッダ２０４、第３ヘッダ２０８に記載されない内容を記載する領域をいう。したがって、第１拡張フィールド２０２、第２拡張フィールド２０６、第３拡張フィールド２１０にそれぞれ含まれる情報は、図２に図示するものに限定されず、図２に図示していないデータを新たに定義して該当領域に位置させることができる。
【００３１】
すなわち、図２の第１拡張フィールド２０２に含まれた分割圧縮情報、ソリッド圧縮情報などは、あらかじめ定義された構成を有する拡張フィールドユニット（ｕｎｉｔ）であり、第１拡張フィールド２０２、第２拡張フィールド２０６、第３拡張フィールド２１０、終了拡張フィールド２１４は、前記拡張フィールドユニットが位置できる領域を指し示すものと理解することができる。また、図２に図示するように拡張フィールドは拡張フィールド終了コードにより終了することが分かる。
【００３２】
すなわち、前記拡張フィールドは必ず拡張フィールド終了コードにより終了し、一つ以上の前記拡張フィールドユニットを含み得る。しかし、前記拡張フィールドユニットを含まず、拡張フィールド終了コードのみを含む拡張フィールドもあり得ることに留意しなければならない。
【００３３】
図２を理解するにあたって、次のことに留意しなければならない。各データ構成要素の右側のセルに図示する数字は該当データ構成要素が該当圧縮ファイル内に存在できる個数である。
【００３４】
例えば、第２ヘッダ２０４は、各原本ファイルごとに一つ存在し得るため、原本圧縮ファイル内には原本圧縮ファイルの圧縮を復元すると、原本ファイルの個数だけ生成された第２ヘッダ２０４が存在し得る。また、それぞれの原本ファイルは一つ以上のブロックに分割されるため、一つの第２ヘッダ２０４に連結される第３ヘッダ２０８及びブロックボディ２１２の対は、前記原本ファイルヘッダ２０４内に存在するブロックの数だけ存在し得る。ただし、前記原本ファイルがフォルダまたはディレクトリである場合、前記原本ファイルはブロックの数が０であることに注意しなければならない。
【００３５】
例えば、圧縮ファイルが３個の原本ファイル、すなわちＸファイル、Ｙファイル、Ｚファイルを含み、ＸファイルはＡブロックとＢブロック、ＹファイルはＣブロック、Ｄブロック、及びＥブロック、ＺファイルはＦブロックでそれぞれ構成されると仮定すると、図２の圧縮ファイル構成例による前記圧縮ファイルは、次の順序で構成され得る。第１ヘッダ２００→Ｘ第２ヘッダ２０４→Ａ第３ヘッダ２０８→Ａブロックボディ２１２→Ｂ第３ヘッダ２０８→Ｂブロックボディ２１２→Ｙ第２ヘッダ２０４→Ｃ第３ヘッダ２０８→Ｃブロックボディ２１２→Ｄ第３ヘッダ２０８→Ｄブロックボディ２１２→Ｅ第３ヘッダ２０８→Ｅブロックボディ２１２→Ｚ第２ヘッダ２０４→Ｆ第３ヘッダ２０８→Ｆブロックボディ２１２。
【００３６】
以下、前記ヘッダと前記拡張フィールドユニットの構成について図３と図４を参照して比較して説明する。
【００３７】
図３は、前記ヘッダのうち一つである第２ヘッダ２０４の構成を示す図である。図３に図示するように、最初に４バイトの原本ファイルヘッダ識別コードというデータ識別コードが位置していることが分かる。前記拡張フィールドユニットのうち一つであるファイルパスデータの拡張フィールドユニットの構成を示す図４を調べると、前記ヘッダと同様に最初の４バイトが原本ファイルパス識別コードというデータ識別コードであることが分かる。すなわち、最初の一定のバイト数にある前記データ識別コードによりデータの種類が分かる。言い換えれば、あらかじめ定められた第１ヘッダ２００、第２ヘッダ２０４、第３ヘッダ２０８の最初の一定のバイト数はあらかじめ定められた該当ヘッダのデータ識別コードが位置し、その他のデータ識別コードが認識されると、そのデータは前記拡張フィールドユニットと判断することができる。しかし、データ識別コードが前記ヘッダの識別コードでもなく、前記拡張フィールドユニットのものでもなければ、該当圧縮ファイルは上位バージョンの圧縮ファイルとして、該当拡張フィールドユニットは処理せず、スキップしなければならない。これに関する動作についてさらに詳細に説明する。
【００３８】
以下、本発明の他の実施形態による圧縮データの復元装置の構成及び動作について図５を参照して説明する。図５は、本実施形態による圧縮データの復元装置の構成図である。本実施形態による圧縮データの復元装置は、前記データ圧縮装置によって生成された圧縮ファイルを復元することができる。本実施形態による圧縮データの復元装置は、図１に図示する構成をさらに含むことによって前記データ圧縮装置の機能も果たすことができる。
【００３９】
図５に図示するように、本実施形態による圧縮データの復元装置は、ユーザインターフェース５００、制御部５０２、圧縮ファイルパーシング部５０４、格納部５０６及び原本ファイル生成部５０８を含み得る。
【００４０】
ユーザインターフェース５００は、データ圧縮装置のユーザにより圧縮復元対象である圧縮ファイルが指定されると、前記圧縮ファイルの情報を制御部５０２に提供する。
【００４１】
制御部５０２は、前記圧縮ファイルに関する情報を圧縮ファイルパーシング部５０４に伝達する。
【００４２】
圧縮ファイルパーシング部５０４は、圧縮データ、前記圧縮データに関する情報を含むヘッダ及び一つ以上の拡張フィールドユニットと拡張フィールド終了コードで構成された拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出する。この時、前記ヘッダ及び前記拡張データユニットは、同じバイト数のデータ識別コードで開始し、前記拡張データユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むことが好ましい。圧縮ファイルパーシング部５０４は、前記データ識別コードに基づき前記パーシングを行い、前記拡張データユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張データユニットを処理せずスキップすることが好ましい。
【００４３】
圧縮ファイルパーシング部５０４は、前記データ識別コードをパーシングすることによって前記ヘッダ及び前記拡張データユニットの種類を識別することができる。前記データ識別コードを認識するため、前記データ識別コードのバイト数は、圧縮ファイルフォーマットのバージョンが変更されても一定に維持しなければならず、位置もまた一定に維持しなければならないことが明確にわかる。
【００４４】
前記データ識別コードがすでに知られているヘッダの識別コードであれば圧縮ファイルパーシング部５０４は後に位置するデータがヘッダであると判断し、該当ヘッダの形式によりデータを解凍（ｕｎｐａｃｋｉｎｇ）して原本ファイル生成に参照できるように該当解凍したデータを原本ファイル生成部５０８に提供することができる。
【００４５】
前記データ識別コードがすでに知らされているヘッダの識別コードではなく、知らされている拡張データユニットの識別コードであれば、圧縮ファイルパーシング部５０４は、後に位置するデータが拡張データユニットであると判断し、該当拡張データユニットの形式によりデータを解凍（ｕｎｐａｃｋｉｎｇ）し、原本ファイル生成に参照できるように該当解凍したデータを原本ファイル生成部５０８に提供することができる。
【００４６】
圧縮ファイルパーシング部５０４は、前記データ識別コードが拡張データユニットの識別コードであると判断し、前記拡張フィールドに入ったものと判断した場合、前記拡張フィールド終了コードを発見する時まで前記拡張データユニットに含まれたデータのうち、前記原本ファイル生成に反映するデータを原本ファイル生成部５０８に提供し、原本ファイル生成部５０８は、圧縮ファイルパーシング部５０４が提供した前記拡張データユニットに含まれたデータを反映して前記原本ファイルを生成することができる。
【００４７】
一方、前記データ識別コードがすでに知らされているヘッダの識別コードではなく、知らされている拡張データユニットの識別コードでもなければ、圧縮ファイルパーシング部５０４は、後に位置するデータは上位バージョンの圧縮フォーマットの新たに支援される拡張データユニットであると判断し、前記長さデータを利用して該当拡張データユニットを処理せずスキップすることが好ましい。例えば、図４に図示する原本ファイルのパス情報に関する拡張データユニットが知らされていないものであれば、圧縮ファイルパーシング部５０４は、１バイト（Ｂｉｔ  ｆｌａｇ）をスキップし、その次に２バイトのあいだに存在する前記拡張データユニットの長さデータを利用し、その次の拡張データユニットまたは拡張フィールド終了コードにジャンプし、上位バージョンの新たに支援される機能を利用して圧縮したことにより、基本的な圧縮復元も不可能である問題点を解決することができる。ただし、すべての拡張データユニットは、圧縮フォーマットのバージョンに関係なく、同じ位置に該当拡張データユニットの長さデータを含まなければならないことに注意しなければならない。
【００４８】
格納部５０６は、圧縮ファイル及び原本ファイル生成部５０８が生成した原本ファイルを格納する。
【００４９】
原本ファイル生成部５０８は、前記圧縮データを復元して原本ファイルを生成する。以下、本発明のまた他の実施形態による圧縮データの復元方法について説明する。本実施形態による圧縮データの復元方法は、前記説明した本発明の他の実施形態による圧縮データの復元装置の技術的特徴を適用できることに留意しなければならない。
【００５０】
先に、圧縮データ、前記圧縮データに関する情報を含むヘッダ及び一つ以上の拡張フィールドユニットと拡張フィールド終了コードで構成された拡張フィールドを含む圧縮ファイルをパーシングして前記圧縮データを抽出する。
【００５１】
前記圧縮ファイルをパーシングして前記圧縮データを抽出するステップは、前記データ識別コードに基づき前記パーシングを行い、前記拡張データユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張データユニットを処理せずスキップするステップを含み得る。
【００５２】
より詳細には、前記ヘッダ及び前記拡張フィールドユニットの最初に位置するデータ識別コードを抽出して認識した後、前記データ識別コードがすでに知らされているヘッダの識別コードであれば、後に位置するデータがヘッダであると判断し、該当ヘッダの形式によりデータを解凍（ｕｎｐａｃｋｉｎｇ）し、原本ファイル生成に参照できるようにする。
【００５３】
また、前記データ識別コードがすでに知らされているヘッダの識別コードではなく、知らされている拡張データユニットの識別コードであれば、後に位置するデータが拡張データユニットであると判断し、該当拡張データユニットの形式によりデータを解凍（ｕｎｐａｃｋｉｎｇ）し、原本ファイル生成に参照できるようにする。前記データ識別コードが拡張データユニットの識別コードであると判断し、前記拡張フィールドに入ったと判断した場合、前記拡張フィールド終了コードを発見する時まで前記拡張データユニットに含まれたデータを前記原本ファイル生成に反映する。
【００５４】
一方、前記データ識別コードがすでに知らされているヘッダの識別コードではなく、知らされている拡張データユニットの識別コードでもなければ、後に位置するデータは、上位バージョンの圧縮フォーマットの新たに支援される拡張データユニットであると判断し、前記長さデータを利用して該当拡張データユニットを処理せずスキップすることが好ましい。
【００５５】
前記ヘッダ及び前記拡張データユニットは、同じバイト数のデータ識別コードで開始し、前記拡張データユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むことが好ましい。
【００５６】
次に、前記ヘッダ及び拡張データユニットから抽出したデータに基づいて圧縮データを復元して原本ファイルを生成する。
【００５７】
以下、本発明のまた他の実施形態によるプログラムを記録したコンピュータで読み取ることができる記録媒体について説明する。前記説明した本発明の他の実施形態によるデータ圧縮装置及び圧縮データの復元装置の技術的特徴を適用できることに留意しなければならない。
【００５８】
前記記録媒体は、キャッシュ（Ｃａｃｈｅ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）及びフラッシュメモリ（Ｆｌａｓｈ  ｍｅｍｏｒｙ）のような不揮発性メモリ素子、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性メモリ素子、及びハードディスクドライブ（Ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）のような記憶媒体のうち少なくとも一つであり得る。
【００５９】
本実施形態によるプログラムを記録したコンピュータで読み取ることができる記録媒体は、圧縮対象データに対して圧縮アルゴリズムを適用して圧縮データを生成する機能及び前記圧縮データ、前記圧縮データに関する情報を含むヘッダ及び一つ以上の拡張フィールドユニットと拡張フィールド終了コードで構成された拡張フィールドを含む圧縮ファイルを生成する機能を含み、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含むプログラムを記録したものである。
【００６０】
本実施形態によるプログラムを記録したコンピュータで読み取ることができるまた他の記録媒体は、圧縮データ、前記圧縮データに関する情報を含むヘッダ及び一つ以上の拡張フィールドユニットと拡張フィールド終了コードで構成された拡張フィールドとを含む圧縮ファイルをパーシングして前記圧縮データを抽出する機能と、前記圧縮データを復元して原本ファイルを生成する機能を含み、前記ヘッダ及び前記拡張フィールドユニットは、同じバイト数のデータ識別コードで開始し、前記拡張フィールドユニットは、自身のデータ識別コードから一定のバイト数離れて位置する自身の長さデータをさらに含み、前記圧縮ファイルをパーシングして前記圧縮データを抽出する機能は、前記データ識別コードに基づき前記パーシングを行い、前記拡張フィールドユニットの前記データ識別コードが定義されていないものである場合、前記長さデータを利用して該当拡張フィールドユニットを処理せずスキップする機能をさらにプログラムを含むものである。
【００６１】
以上添付する図面を参照して本発明の実施形態について説明したが、本発明が属する技術分野で通常の知識を有する者は、本発明が、その技術的思想や必須の特徴を変更しない範囲で他の具体的な形態で実施され得ることを理解することができる。したがって、上記実施形態は、すべての面で例示的なものであり、限定的なものでないと理解しなければならない。
【産業上の利用可能性】
【００６２】
本発明をデータ圧縮技術に適用することによって、上位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで圧縮したファイルを、下位バージョンの圧縮ファイルフォーマットを支援するアプリケーションで復元できる効果がある。
【図１】
2013500676.tif 000003
【図２】
2013500676.tif 000004
【図３】
2013500676.tif 000005
【図４】
2013500676.tif 000006
【図５】
2013500676.tif 000007
【国際調査報告】
2013500676.tif 000008
2013500676.tif 000009
2013500676.tif 000010
2013500676.tif 000011