(57)【特許請求の範囲】
【請求項１】
コンピュータに、
複数のページを有する印刷データが符号化された圧縮データであって、前記印刷データに含まれるページ情報に関する項目が他の項目とは独立して符号化された結果、ページ区切りを識別可能な状態で符号化された前記圧縮データ、および、前記符号化に用いられた符号化辞書を受信し、
前記符号化辞書を用いて、受信された前記圧縮データのページの区切りを識別してページ単位で前記印刷データに部分伸張し、
伸張された順に前記印刷データを出力する
処理を実行させる出力プログラム。 
【請求項２】
前記受信する処理は、前記符号化辞書を前記圧縮データよりも先に受信する
請求項１に記載の出力プログラム。 
【請求項３】
前記印刷データは、複数の項目を有し、
前記圧縮データは、前記複数の項目がそれぞれ異なる符号で符号化された結果、ページ区切りを識別可能な状態で符号化されている、
請求項１に記載の出力プログラム。 
【請求項４】
コンピュータが、
複数のページを有する印刷データが符号化された圧縮データであって、前記印刷データに含まれるページ情報に関する項目が他の項目とは独立して符号化された結果、ページ区切りを識別可能な状態で符号化された前記圧縮データ、および、前記符号化に用いられた符号化辞書を受信し、
前記符号化辞書を用いて、受信された前記圧縮データのページの区切りを識別してページ単位で前記印刷データに部分伸張し、
伸張された順に前記印刷データを出力する
処理を実行する出力方法。 
【請求項５】
複数のページを有する印刷データが符号化された圧縮データであって、前記印刷データに含まれるページ情報に関する項目が他の項目とは独立して符号化された結果、ページ区切りを識別可能な状態で符号化された前記圧縮データを作成する圧縮部と、
前記符号化に用いられた符号化辞書を作成する作成部と、
前記作成部によって作成された前記符号化辞書を他の場所に転送し、前記圧縮部によって作成された前記圧縮データを分割して順に前記他の場所に転送する転送部と、
前記転送部によって転送された前記符号化辞書、および前記転送部によって順に転送された前記圧縮データを前記他の場所で受信する受信部と、
前記受信部によって受信した前記符号化辞書を用いて、前記受信部によって受信した前記圧縮データのページの区切りを識別してページ単位で前記印刷データに部分伸張する伸張部と、
前記伸張部によって伸張された順に前記印刷データを出力する出力部と
を有する出力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力プログラム、出力方法および出力システムに関する。
【背景技術】
【０００２】
従来、例えば、帳票用データを別の拠点に転送してプリントなどの出力を行う場合、転送元は、帳票用データ全体を圧縮し、圧縮した圧縮データを出力拠点に転送する。転送先の拠点では、圧縮データを伸張して出力する。帳票用データの圧縮には、例えば、圧縮率の比較的高いＺＩＰ圧縮が用いられる。これにより、データの転送容量を小さくし、圧縮データの転送を開始してから帳票用データの出力を完了するまでの時間を短縮している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３３２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＺＩＰ圧縮によって圧縮された圧縮データが転送先の拠点において受信され、一括して伸長された後に、帳票用データの印刷出力が開始される。そのため、帳票用データの出力が指示されてから最初の出力（ファーストプリント）を開始するまでの時間が長くなる。【０００５】
一つの側面では、ファーストプリントを開始するまでの時間を短くする出力プログラム、出力方法および出力システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の案では、出力プログラムは、コンピュータに、複数のページを有する印刷データがページ区切りを識別可能な状態で符号化された圧縮データ、および、符号化に用いられた符号化辞書を受信する処理を実行させる。出力プログラムは、コンピュータに、符号化辞書を用いて、受信された圧縮データのページの区切りを識別してページ単位で印刷データに部分伸張する処理を実行させる。出力プログラムは、コンピュータに、伸張した順に印刷データを出力する処理を実行させる。
【発明の効果】
【０００７】
本発明の１実施態様によれば、ファーストプリントを開始するまでの時間を短くするという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、帳票を印刷する流れを概略的に示した図である。
【図２】図２は、符号化装置の構成の一例を示す図である。
【図３】図３は、符号化前のテキストファイルの一例を示す図である。
【図４】図４は、符号化データの一例を示す図である。
【図５】図５は、符号化辞書の一例を示す図である。
【図６】図６は、復号化装置の構成の一例を示す図である。
【図７】図７は、復号化装置が受信した符号化データの一例を示す図である。
【図８】図８は、帳票を印刷するまでの処理時間の一例を示す図である。
【図９】図９は、ページ単位で符号化する一例を示す図である。
【図１０】図１０は、符号化処理の手順の一例を示すフローチャートである。
【図１１】図１１は、印刷処理の手順の一例を示すフローチャートである。
【図１２】図１２は、符号化プログラムを実行するコンピュータの一例を示す図である。
【図１３】図１３は、印刷プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する出力プログラム、出力方法および出力システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの権利範囲が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１０】
［処理概要］
最初に、図１を用いて、テキストファイルの符号化および復号化の概要について説明する。以下では、帳票を印刷するシステムに適用した場合を例に説明する。図１は、帳票を印刷する流れを概略的に示した図である。図１には、基幹システム１１と、印刷拠点１２が示されている。基幹システム１１は、ＤＢ（database）１３を有する。ＤＢ１３には、帳票の情報が格納されている。帳票の情報は、例えば、「ｉｔｅｍＮａｍｅ」に対応づけた、「ｉｔｅｍＩＤ」、「Ｎｕｍ」、「ＳｈｏｐＩＤ」および「ｐａｇｅＮｕｍ」であるが、これに限定されるものではない。【００１１】
「ｉｔｅｍＮａｍｅ」は、商品の名前を示す項目である。「ｉｔｅｍＩＤ」は、商品ごとに付与され、商品を識別するための番号などを示す項目である。「Ｎｕｍ」は、商品の数量を示す項目である。「ＳｈｏｐＩＤ」は、商品を発注した店舗を識別するための番号などを示す項目である。「ｐａｇｅＮｕｍ」は、帳票のページを示す項目であり、ページの区切りを示す区切情報である。【００１２】
基幹システム１１は、帳票処理部１５と、符号化処理部１６とを有する。帳票処理部１５は、印刷する帳票に応じて、印刷データである帳票用データ１７を生成する。例えば、帳票処理部１５は、帳票の様式や各項目の配置位置などを定めた定義体データ１８、各項目のデータを記憶したＣＳＶ（Comma-Separated  Values）ファイル１９などを含んだ帳票用データ１７を作成する。ＣＳＶファイル１９には、カンマにより区切られた複数の項目のデータからなる複数のレコードが記憶されている。【００１３】
ここで、多数の項目について帳票を印刷する場合、ＣＳＶファイル１９は、数百ＭＢ〜数ＧＢのデータ量になる場合がある。大容量のＣＳＶファイル１９を保管・転送等する場合、圧縮などの符号化を行うことにより、リソースや転送時間の効率化が行われる。【００１４】
そこで、符号化処理部１６は、帳票用データ１７に含まれるＣＳＶファイル１９の符号化を行う。符号化処理部１６には、符号化の対象となる帳票用データ１７が入力される。符号化処理部１６は、入力された帳票用データ１７を符号化して符号化ファイル２２を生成する。符号化処理部１６は、帳票用データ１７に含まれるＣＳＶファイル１９の複数のレコードに含まれる各項目の各データを単語または数値単位で独立して符号化した、符号化データ２０および符号化辞書２１を生成する。例えば、符号化処理部１６は、「ｉｔｅｍＮａｍｅ」の項目の各データを単語で符号化し、符号化データ２０を作成する。また、例えば、符号化処理部１６は、「ｉｔｅｍＮａｍｅ」の項目の各データと、各データを符号化した符号とを関連付けた符号化辞書２１を作成する。以下において、帳票用データ１７に含まれるＣＳＶファイル１９のデータを符号化することを、単に、帳票用データ１７を符号化する、ともいう。このようにして、作成された符号化データ２０は、ページ区切りを識別可能な状態で符号化された圧縮データである。【００１５】
符号化ファイル２２は、印刷拠点１２へ転送される。なお、印刷拠点１２が符号化辞書２１を記憶している場合や、別途取得可能である場合、符号化辞書２１は、印刷拠点１２へ転送されなくてもよい。符号化データ２０は、ブロックに分割され、ブロックごとに順に転送される。ブロックは、例えば、ＣＳＶファイル１９の２つのレコードに含まれる各項目の各データを符号化した符号を含むデータであるが、これに限定されることはない。符号化辞書２１は、例えば、符号化データ２０の最初のブロックが転送される前に印刷拠点１２へ転送される。なお、符号化辞書２１は、符号化データ２０の最初のブロックが転送されると同時に印刷拠点１２へ転送されてもよい。【００１６】
印刷拠点１２は、復号化処理部２５と、印刷処理部２６とを有する。復号化処理部２５は、ブロックごとに転送される符号化データ２０を順に受信する。復号化処理部２５は、受信した符号化データ２０からページの区切りを識別すると、符号化辞書２１を用いて、符号化データ２０の各符号をＣＳＶファイル１９のデータに部分的に復号化する。例えば、復号化処理部２５は、ページ単位の符号化データ２０を受信すると、全ての符号化データ２０の受信が完了する前に、ページ単位で、符号化データ２０の各符号をＣＳＶファイル１９のデータに復号化する。ページ単位は、例えば、１ページであるが、これに限定されることはない。復号化処理部２５は、定義体データ１８や、部分的に復号化されたＣＳＶファイル１９のデータを用いて帳票用データ１７を作成する。以下において、符号化データ２０の各符号を、ＣＳＶファイル１９のデータに復号化することを、単に、符号化データ２０を帳票用データ１７に伸張する、ともいう。【００１７】
印刷処理部２６は、伸張された順に、帳票用データ１７を印刷する。なお、印刷処理部２６は、伸張された帳票用データ１７を用いてＰＤＦ（Portable  Document  Format）などの印刷イメージのデータを生成して出力してもよい。このように、印刷拠点１２では、符号化データ２０のページの区切りが識別され、ページ単位で符号化データ２０が帳票用データ１７に部分伸張され、伸張された順に帳票用データ１７の印刷が開始される。【００１８】
［装置構成］
次に、各装置の構成について説明する。最初に、符号化装置３０の構成について説明する。図２は、符号化装置３０の構成の一例を示す図である。符号化装置３０は、帳票用データに圧縮などの符号化を行う装置である。符号化装置３０は、例えば、パーソナルコンピュータ、サーバコンピュータなどのコンピュータや、タブレット端末、スマートフォンなどの情報処理装置である。例えば、図１の例では、符号化装置３０は、基幹システム１１として動作するコンピュータである。符号化装置３０は、１台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、符号化装置３０を１台のコンピュータとした場合を例として説明する。図２に示すように、符号化装置３０は、外部Ｉ／Ｆ（interface）部３１と、記憶部３２と、制御部３３とを有する。なお、符号化装置３０は、コンピュータや情報処理装置が有する上記の機器以外の他の機器を有してもよい。【００１９】
外部Ｉ／Ｆ部３１は、例えば、他の装置と各種の情報を送受信するインタフェースである。外部Ｉ／Ｆ部３１は、フラッシュメモリなどの記憶媒体に対してデータを入出力するポート、ケーブルなどにより有線通信を行う通信ポート、または無線通信を行う通信インタフェースである。【００２０】
記憶部３２は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの記憶装置である。なお、記憶部３２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリであってもよい。【００２１】
記憶部３２は、制御部３３で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。例えば、記憶部３２は、後述する符号化処理を行うプログラムを記憶する。さらに、記憶部３２は、制御部３３で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部３２は、テキストファイル４０と、符号化辞書４１と、符号化データ４２と、符号化ファイル４３と、定義体データ４４とを記憶する。【００２２】
テキストファイル４０は、符号化対象である帳票用データの情報が記憶されたデータである。例えば、テキストファイル４０は、図１の例のＣＳＶファイル１９など、デリミタにより区切られた複数の項目からなる複数のレコードを有する。【００２３】
符号化辞書４１は、帳票用データの符号化および復号化に用いる辞書のデータである。例えば、符号化辞書４１は、図１の例の符号化辞書２１が対応する。符号化辞書４１には、符号化する帳票用データの項目ごとに、項目の各データに対応する異なる符号が記憶される。例えば、符号化辞書４１は、符号化する項目ごとに、項目の各データに出現する単語または数値単位に、単語または数値単位の特性に対応して、動的に割り当てられた符号が記憶される。例えば、出現頻度の高い単語または数値に対して短い符号を割り当てており、符号化辞書４１には、動的に割り当てられた符号が記憶される。なお、符号化する項目ごとに、項目の各データに出現する文字列や数字などのパターンが特定のパターンに定まる場合は、符号化辞書４１には、特定のパターンと符号とを対応付けて予め記憶させてもよい。また、符号化辞書４１には、符号化した項目を示す項目情報を含めてもよい。【００２４】
符号化データ４２は、テキストファイル４０の各項目の各データを符号化辞書４１により符号化して圧縮したデータである。例えば、符号化データ４２は、図１の例の符号化データ２０が対応する。【００２５】
符号化ファイル４３は、符号化データ４２と、当該符号化データ４２の符号化された各項目の符号化辞書４１と、定義体データ４４とを１つのファイルにまとめたデータである。定義体データ４４は、図１の例の定義体データ１８が対応する。【００２６】
制御部３３は、符号化装置３０を制御するデバイスである。制御部３３としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部３３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部３３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部３３は、データ生成部５０と、符号化処理部５１とを有する。【００２７】
データ生成部５０は、複数の項目のデータをデリミタにより区切った複数のレコードを有するテキストファイル４０を生成する。データ生成部５０は、図１の例の帳票処理部１５が対応する。なお、テキストファイル４０は、他の装置で生成されたものであってもよい。【００２８】
符号化処理部５１は、テキストファイル４０の各項目の各データを、項目に応じた符号化方式により符号化する。符号化処理部５１は、図１の例の符号化処理部１６が対応する。符号化処理部５１は、入力部５２と、生成部（圧縮部）５３と、出力部（転送部）５４とを有する。【００２９】
入力部５２は、符号化対象のテキストデータの入力を受け付ける。例えば、入力部５２には、テキストファイル４０が入力される。【００３０】
生成部５３は、テキストファイル４０の各項目の各データを符号化した符号化データ４２および符号化辞書４１を生成する。例えば、生成部５３は、テキストファイル４０の各項目の各データに符号を割り当て、当該項目に対応した符号化辞書４１に、符号と当該符号を割り当てたデータとを対応付けて登録する。符号は、各項目のデータに含まれる単語または数値に対して出現頻度を求め、出現頻度の高い単語または数値に対して短い符号を割り当てる。なお、出現する文字列や数字などのパターンが特定のパターンに定まる場合は、符号化辞書４１には、特定のパターンと符号を対応付けて予め記憶させてもよい。また、生成部５３は、異なるデータが出現するごとに、短い符号から順に割り当ててもよい。【００３１】
そして、生成部５３は、テキストファイル４０の項目ごとに、当該項目に対応した符号化辞書４１を用いて、データを符号に変換し、データを符号に変換した符号化データ４２を生成する。例えば、生成部５３は、テキストファイル４０の項目のデータに単語または数値が含まれる場合、テキストファイル４０の項目のデータを符号化辞書４１に記憶された単語または数値に対応した符号に変換する。生成部５３は、生成した符号化データ４２および当該符号化データ４２の符号化に用いた符号化辞書４１を有する符号化ファイル４３を生成する。【００３２】
なお、生成部５３は、符号化辞書４１に、符号化した項目を示す項目情報を含めて符号化ファイル４３を生成してもよい。生成部５３は、符号化する項目ごとに、一意となるように符号を割り当てて、当該項目に対応した符号化辞書４１に登録してもよい。すなわち、符号化する項目ごとに、符号が重複してもよい。例えば、生成部５３は、テキストファイル４０の項目ごとに、当該項目のデータに対して一意となるように符号を割り当て、当該項目に対応した符号化辞書４１に登録する。符号は、項目ごとに、データに含まれる単語または数値に対して出現頻度を求め、出現頻度の高い単語または数値に対して短い符号を割り当てる。このように、符号化する項目ごとに、一意となるように符号を割り当てることにより、符号化する項目ごとに、短い符号を重複させて割り当てることができるため、符号化する項目ごとに、データを高い圧縮率で符号化できる。なお、符号化する項目ごとに、出現する文字列や数字などのパターンが特定のパターンに定まる場合は、符号化する項目に対応する符号化辞書４１には、特定のパターンと符号を対応付けて予め記憶させてもよい。また、生成部５３は、符号化する項目ごとに、異なるデータが出現するごとに、短い符号から順に割り当ててもよい。【００３３】
出力部５４は、符号化ファイル４３を、外部Ｉ／Ｆ部３１を介して後述する復号化装置６０へ転送する。出力部５４は、符号化データ４２を分割して、分割した符号化データ４２をブロックごとに順に復号化装置６０へ転送する。出力部５４は、例えば、最初のブロックの転送よりも先に符号化辞書４１を復号化装置６０へ転送する。なお、出力部５４は、最初のブロックの転送と同時に符号化辞書４１を復号化装置６０へ転送してもよい。【００３４】
図３は、符号化前のテキストファイル４０の一例を示す図である。図３には、帳票用データの項目として「ｉｔｅｍＮａｍｅ」、「ｉｔｅｍＩＤ」、「Ｎｕｍ」、「ＳｈｏｐＩＤ」および「ｐａｇｅＮｕｍ」を有するレコードが複数示されている。図３に示す符号化前のテキストファイル４０には、帳票用データの１００ページに、「ｉｔｅｍＡ」および「ｉｔｅｍＢ」に関する情報が記載されており、帳票用データの１０１ページに、「ｉｔｅｍＣ」に関する情報が記載されていることが示されている。また、符号化前のテキストファイル４０には、帳票用データの１０２ページに、「ｉｔｅｍＤ」に関する情報が記載されていることが示されている。なお、図３における、帳票用データの項目、および１ページ中のレコードは、一例であり、例えば、１ページ中には、図３に示す例よりも多くのレコードが含まれる。【００３５】
図４は、符号化データ４２の一例を示す図である。図４に示す符号化データ４２では、図３において破線で囲む各項目の各データが、それぞれ符号化される。例えば、「ｉｔｅｍＮａｍｅ」の項目の「ｉｔｅｍＡ」が「Ａ」に符号化され、「ｉｔｅｍＢ」が「Ｂ」に符号化され、「ｉｔｅｍＣ」が「Ｃ」に符号化される。また、「ｉｔｅｍＩＤ」の項目の「ＩＤ０１」が「０１」に符号化され、「ＩＤ０２」が「０２」に符号化される。また、「Ｎｕｍ」の項目の「２０」が「Ｎ２」に符号化され、「１０」が「Ｎ１」に符号化される。また、「ＳｈｏｐＩＤ」の項目の「ＳｈｏｐＡ」が「ＳＡ」に符号化され、「ＳｈｏｐＢ」が「ＳＢ」に符号化される。また、「ｐａｇｅＮｕｍ」の項目の「１００」が「Ａ０」に符号化され、「１０１」が「Ａ１」に符号化され、「１１０」が「Ａ１０」に符号化される。符号化データ４２は、２つのレコードのデータを符号化した符号を１つのブロックとして分割される。例えば、１つのブロックには、「ｉｔｅｍＡ」が属していたレコードの各データを符号化した符号、および「ｉｔｅｍＢ」が属したレコードの各データを符号化した符号が含まれる。分割された符号化データ４２は、ブロックごとに、順に復号化装置６０へ転送される。【００３６】
図５は、符号化辞書４１の一例を示す図である。図５に示す符号化辞書４１では、図３に示す符号化前のテキストファイル４０の各項目の各データと、図４に示す符号化データ４２の各項目の各符号とが関連付けて記憶される。例えば、「ＣＯＤＥ」の「Ａ」が、「ＶＡＬＵＥ」の「ｉｔｅｍＡ」に関連付けて記憶され、「ＣＯＤＥ」の「Ｂ」が、「ＶＡＬＵＥ」の「ｉｔｅｍＢ」に関連付けて記憶される。【００３７】
次に、復号化装置６０の構成について説明する。図６は、復号化装置６０の構成の一例を示す図である。復号化装置６０は、符号化データ４２を帳票用データに復号化し、帳票を印刷する装置である。復号化装置６０は、例えば、パーソナルコンピュータ、サーバコンピュータなどのコンピュータや、タブレット端末、スマートフォンなどの情報処理装置である。例えば、図１の例では、復号化装置６０は、印刷拠点１２として動作するコンピュータである。復号化装置６０は、１台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、復号化装置６０を１台のコンピュータとした場合を例として説明する。図６に示すように、復号化装置６０は、外部Ｉ／Ｆ部（受信部）６１と、記憶部６２と、制御部６３とを有する。なお、復号化装置６０は、コンピュータや情報処理装置が有する上記の機器以外の他の機器を有してもよい。【００３８】
外部Ｉ／Ｆ部６１は、例えば、他の装置と各種の情報を送受信するインタフェースである。外部Ｉ／Ｆ部６１は、フラッシュメモリなどの記憶媒体に対してデータを入出力するポート、ケーブルなどにより有線通信を行う通信ポート、または無線通信を行う通信インタフェースである。【００３９】
記憶部６２は、ハードディスク、ＳＳＤ、光ディスクなどの記憶装置である。なお、記憶部６２は、ＲＡＭ、フラッシュメモリ、ＮＶＳＲＡＭなどのデータを書き換え可能な半導体メモリであってもよい。【００４０】
記憶部６２は、制御部６３で実行されるＯＳや各種プログラムを記憶する。例えば、記憶部６２は、後述する印刷処理を行うプログラムを記憶する。さらに、記憶部６２は、制御部６３で実行されるプログラムで用いられる各種データを記憶する。また、例えば、記憶部６２は、外部Ｉ／Ｆ部６１を介して転送された符号化ファイル４３に含まれる、符号化辞書４１と、符号化データ４２と、定義体データ４４と、テキストファイル４０とを記憶する。記憶部６２は、符号化データ４２を、符号化装置３０から転送されるブロック順に記憶する。【００４１】
制御部６３は、復号化装置６０を制御するデバイスである。制御部６３としては、ＣＰＵ、ＭＰＵ等の電子回路や、ＡＳＩＣ、ＦＰＧＡ等の集積回路を採用できる。制御部６３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部６３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部６３は、復号化処理部８０と、印刷処理部８１とを有する。【００４２】
復号化処理部８０は、符号化データ４２を復号化する。復号化処理部８０は、図１の例の復号化処理部２５が対応する。復号化処理部８０は、入力部８２と、復号化部（伸張部）８３と、出力部８４とを有する。【００４３】
入力部８２は、符号化辞書４１の入力および復号化対象の符号化データ４２の入力を受け付ける。入力部８２には、符号化データ４２が、符号化装置３０から転送されるブロック順に入力する。また、入力部８２には、記憶部６２に記憶された符号化辞書４１が入力する。【００４４】
復号化部８３は、符号化辞書４１を用いて符号化データ４２を復号化する。復号化部８３は、符号化辞書４１を用いて、符号化データ４２のページの区切りを識別して、ページ単位で符号化データ４２を復号化する。例えば、復号化部８３は、符号化データ４２のページの区切りを識別して、１ページ分のテキストファイル４０に対応する符号化データ４２が入力されると、符号化データ４２をテキストファイル４０に部分的に復号化する。すなわち、復号化部８３は、１ページ分の符号化データ４２を、符号化辞書４１を用いて帳票用データに部分伸張する。【００４５】
図７は、復号化装置６０が受信した符号化データ４２の一例を示す図である。図７には、図４に示す符号化データ４２が受信された符号化データ４２が示されている。符号化データ４２が分割され、ブロックごとに、復号化装置６０に転送されると、復号化装置６０は、転送された順に符号化データ４２を受信する。２つのブロックを受信すると、ページの区切りを示す情報である「ｐａｇｅＮｕｍ」の符号が「Ａ０」から「Ａ１」に変わっている。そのため、１ページ分の符号化データ４２の受信が完了したことがわかる。復号化部８３は、１ページ分の符号化データ４２を、符号化辞書４１を用いて帳票用データに部分伸張する。なお、図７に示す例では、２つ目のブロックを受信することで、ページの区切りを示す情報である「ｐａｇｅＮｕｍ」の符号が「Ａ１」から「Ａ２」に変わっている。そのため、さらに１ページ分の符号化データ４２の受信が完了したことがわかる。復号化部８３は、２ページ分の符号化データ４２を、符号化辞書４１を用いて帳票用データに部分伸張してもよい。【００４６】
出力部８４は、復号化部８３によって、部分的に復号化したテキストファイル４０を、符号化した順に印刷処理部８１に出力する。【００４７】
印刷処理部８１は、出力部８４によって出力されたテキストファイル４０を、定義体データ４４を用いて出力された順に印刷する。印刷処理部８１は、全ての符号化データ４２の受信、および復号化を待つことなく、ページ単位で復号化されたテキストファイル４０の印刷を開始する。【００４８】
ここで、帳票を印刷するまでの処理時間の一例を説明する。図８は、帳票を印刷するまでの処理時間の一例を示す図である。【００４９】
本実施例では、符号化装置３０は、テキストファイル４０の各項目の各データを、項目ごとに符号化して符号化データ４２を作成する。そのため、符号化装置３０は、符号化データ４２における圧縮率を高くすることができる。これにより、符号化データ４２の転送時間（符号化データ４２の受信時間）が短くなる。【００５０】
復号化装置６０は、時間ｔ０において、符号化データ４２の受信を開始すると、ブロックごとに転送される符号化データ４２の中からページの区切りを識別する。復号化装置６０は、時間ｔ１において、最初のページの区切りを識別すると、最初のページの符号化データ４２の部分伸張を開始する。そして、復号化装置６０は、時間ｔ２において、最初のページの符号化データ４２の部分伸張が完了すると、最初のページの帳票の印刷を開始する。これにより、ファーストプリントが開始されるまでの時間が短くなる。【００５１】
これに対し、例えば、帳票用データであるテキストファイルを符号化する場合、テキストファイルを、Ｚｉｐ形式などの圧縮形式を用いてＺＩＰファイルなどに圧縮して、復号化装置へ転送する方法が考えられる。これによっても、ＺＩＰファイルの転送時間が短くなる。【００５２】
しかし、ＺＩＰファイルの性質上、ＺＩＰファイルは部分的に伸張することができない。この比較例では、時間ｔ０において、ＺＩＰファイルの転送が開始されると、ＺＩＰファイルの転送が完了する時間ｔ１’において、ＺＩＰファイルの伸張が開始される。そして、ＺＩＰファイルの伸張が完了する時間ｔ２’において、帳票の印刷が開始される。そのため、ファーストプリントが開始されるまでの時間が長くなる。【００５３】
また、例えば、テキストファイルをページ単位で符号化し、符号化データを復号化装置へ転送することが考えられる。【００５４】
しかし、この比較例のように、テキストファイルをページ単位で符号化すると、図９に示すように、各項目に含まれるデータが少なくなる。図９は、ページ単位で符号化する一例を示す図である。図９では、ページ単位に含まれる各レコードが破線で囲まれている。各項目に含まれるデータが少なくなると、項目ごとのデータに含まれる単語または数値に対し、出現頻度の高い単語または数値を判別することができず、圧縮率が低下する。そのため、転送容量が大きくなり、転送時間が長くなる。図８に示すように、例えば、時間ｔ０において、圧縮データの転送が開始されると、転送時間が長いので、圧縮データの伸張を開始する時間ｔ１”までの時間が長くなる。さらに、帳票の印刷を開始するまでの時間ｔ２”が長くなり、ファーストプリントが開始されるまでの時間が長くなる。また、帳票の印刷が完了するまでの時間が長くなる。【００５５】
なお、本実施例において符号化辞書４１を復号化装置６０が有している場合には、上記比較例に対し、ファーストプリントを開始するまでの時間をさらに短くすることができる。【００５６】
[処理の流れ]
次に、本実施例に係る符号化装置３０および復号化装置６０が実行する各種の処理の流れについて説明する。最初に、符号化装置３０がテキストファイル４０を符号化する符号化処理の流れについて説明する。図１０は、符号化処理の手順の一例を示すフローチャートである。この符号化処理は、所定のタイミング、例えば、データ生成部５０の処理が実行されたタイミングで実行される。【００５７】
図１０に示すように、入力部５２は、符号化対象のテキストファイル４０の入力を受け付ける（Ｓ１０）。【００５８】
生成部５３は、テキストファイル４０の各項目の各データに符号を割り当て、符号化データ４２を作成する（Ｓ１１）。生成部５３は、テキストファイル４０の各項目の各データと、各データに割り当てた符号とを関連付けて符号化辞書４１を生成する（Ｓ１２）。【００５９】
出力部５４は、符号化辞書４１を復号化装置６０に転送する（Ｓ１３）。出力部５４は、符号化データ４２を分割し、分割した符号化データ４２をブロックごとに転送する（Ｓ１４）。出力部５４は、未転送の符号化データ４２のブロックが有るか否かを判定する（Ｓ１５）。未転送のブロックが有る場合（Ｓ１５肯定）、Ｓ１４へ移行する。一方、未転送のブロックが無い場合（Ｓ１５否定）、符号化処理を終了する。【００６０】
次に、復号化装置６０が符号化データ４２を復号化し、印刷する印刷処理の流れについて説明する。図１１は、印刷処理の手順の一例を示すフローチャートである。この印刷処理は、所定のタイミング、例えば、符号化装置３０から印刷の指示がされたタイミングで実行される。【００６１】
図１１に示すように、入力部８２は、符号化辞書４１の入力を受け付ける（Ｓ２０）。入力部８２は、分割された符号化データ４２をブロックごとに受け付ける（Ｓ２１）。【００６２】
復号化部８３は、符号化データ４２のページの区切りを識別し、ページ単位の符号化データ４２を受け付けたか否かを判定する（Ｓ２２）。ページ単位の符号化データ４２を受け付けた場合（Ｓ２２肯定）、復号化部８３は、符号化辞書４１を用いて、ページ単位の符号化データ４２を帳票用データに部分伸張する（Ｓ２３）。一方、ページ単位の符号化データ４２を受け付けていない場合（Ｓ２２否定）、Ｓ２１へ移行する。【００６３】
印刷処理部８１は、伸張されたページ単位の帳票を印刷する（Ｓ２４）。【００６４】
復号化部８３は、未印刷の帳票が有るか否かを判定する（Ｓ２５）。未印刷の帳票が有る場合（Ｓ２５肯定）、Ｓ２１へ移行する。【００６５】
一方、未印刷の帳票が無い場合（Ｓ２５否定）、復号化部８３は、印刷処理を終了する。【００６６】
[効果]
本実施例に係る復号化装置６０は、複数のページを有する帳票用データ（印刷データ）がページ区切りを識別可能な状態で符号化された符号化データ４２（圧縮データ）、および、符号化に用いられた符号化辞書４１を受信する。復号化装置６０は、符号化辞書４１を用いて、受信された符号化データ４２のページの区切りを識別してページ単位で帳票用データに部分伸張する。復号化装置６０は、伸張された順に帳票用データを出力する。これにより、復号化装置６０は、ファーストプリントを開始するまでの時間を短くすることができる。【００６７】
また、本実施例に係る復号化装置６０は、符号化辞書４１を符号化データ４２よりも先に受信する。これにより、復号化装置６０は、符号化辞書４１を用いて、符号化データ４２に含まれるページの区切りに基づいて、符号化データ４２を帳票用データに部分伸張することができる。そのため、復号化装置６０は、部分伸張した帳票用データを印刷することができ、ファーストプリントを開始するまでの時間を短くすることができる。【００６８】
また、本実施例に係る符号化データ４２は、帳票用データに含まれるページ情報に関する項目が他の項目とは独立して符号化されることにより、ページ区切りが識別可能な状態で符号化される。これにより、復号化装置６０は、符号化データ４２に含まれるページの区切りに基づいて、符号化データ４２を帳票用データに部分伸張することができる。そのため、復号化装置６０は、部分伸張した帳票用データを印刷することができ、ファーストプリントを開始するまでの時間を短くすることができる。【００６９】
また、本実施例に係る帳票用データは、複数の項目を有し、符号化データ４２は、複数の項目がそれぞれ異なる符号で符号化される。これにより、帳票用データに複数の項目が含まれる場合であっても、項目ごとに、高い圧縮率で符号化することができ、符号化データ４２の転送時間を短くし、帳票用データの出力が完了するまでの時間を短くすることができる。
【実施例２】
【００７０】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。【００７１】
上記実施例では、テキストファイル４０の帳票のページを示す項目の符号に基づいてページの区切りを判定する場合を例に説明したが、開示の装置はこれに限定されない。例えば、符号化データ４２は、ページの終わりに、改ページの情報を符号として有してもよい。復号化部８３は、改ページの情報の符号に基づいて、ページの区切りを判定してもよい。【００７２】
また、上記実施例では、ページ単位を、例えば１ページとする場合を例に説明したが、開示の装置はこれに限定されない。例えば、符号化装置３０、復号化装置６０の少なくとも一方で、ページ単位を設定可能としてもよい。【００７３】
また、上記実施例では、分割されたブロック順に符号化データ４２を転送する例に説明したが、開示の装置はこれに限定されない。例えば、「ｐａｇｅＮｕｍ」の情報をブロックごとに参照し、部分伸張し、印刷を開始してもよい。これによっても、復号化装置６０は、ファーストプリントを開始するまでの時間を短くすることができる。【００７４】
例えば、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、符号化処理部５１の入力部５２、生成部５３、出力部５４、復号化処理部８０の入力部８２、復号化部８３、出力部８４、印刷処理部８１の各処理部が適宜統合されてもよい。上記各処理部の処理が適宜複数の処理部の処理に分離されてもよい。また、上記各処理部は、１つの装置が備えてもよい。例えば、符号化装置３０が、印刷処理部８１、復号化処理部８０の入力部８２、復号化部８３、出力部８４をさらに備えてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００７５】
［符号化プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。最初に、符号化処理を行う符号化プログラムについて説明する。図１２は、符号化プログラムを実行するコンピュータの一例を示す図である。【００７６】
図１２に示すように、コンピュータ４００は、ＣＰＵ（Central  Processing  Unit）４１０、ＨＤＤ（Hard  Disk  Drive）４２０、ＲＡＭ（Random  Access  Memory）４４０を有する。これら４００〜４４０の各部は、バス５００を介して接続される。【００７７】
ＨＤＤ４２０には上記の符号化装置３０の符号化処理部５１（入力部５２、生成部５３、出力部５４）と同様の機能を発揮する符号化プログラム４２０ａが予め記憶される。なお、符号化プログラム４２０ａについては、適宜分離してもよい。【００７８】
また、ＨＤＤ４２０は、各種情報を記憶する。例えば、ＨＤＤ４２０は、ＯＳや符号化に用いる各種データを記憶する。【００７９】
そして、ＣＰＵ４１０が、符号化プログラム４２０ａをＨＤＤ４２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、符号化プログラム４２０ａは、符号化処理部５１と同様の動作を実行する。【００８０】
なお、上記した符号化プログラム４２０ａについては、必ずしも最初からＨＤＤ４２０に記憶させることを要しない。【００８１】
［印刷プログラム］
次に、印刷処理を行う印刷プログラムについて説明する。図１３は、印刷プログラムを実行するコンピュータの一例を示す図である。なお、図１２と同一の部分については同一の符号を付して、説明を省略する。【００８２】
図１３に示すように、ＨＤＤ４２０には上記の復号化装置６０の復号化処理部８０（入力部８２、復号化部８３、出力部８４）、印刷処理部８１と同様の機能を発揮する印刷プログラム４２０ｂが予め記憶される。なお、印刷プログラム４２０ｂについては、適宜分離してもよい。【００８３】
また、ＨＤＤ４２０は、各種情報を記憶する。例えば、ＨＤＤ４２０は、ＯＳや検索に用いる各種データを記憶する。【００８４】
そして、ＣＰＵ４１０が、印刷プログラム４２０ｂをＨＤＤ４２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、印刷プログラム４２０ｂは、復号化処理部８０、印刷処理部８１と同様の動作を実行する。【００８５】
なお、上記した印刷プログラム４２０ｂについても、必ずしも最初からＨＤＤ４２０に記憶させることを要しない。【００８６】
また、例えば、符号化プログラム４２０ａおよび印刷プログラム４２０ｂは、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に記憶させてもよい。そして、コンピュータ４００がこれらからプログラムを読み出して実行するようにしてもよい。【００８７】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ４００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ４００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００８８】
１１    基幹システム
１２    印刷拠点
１５    帳票処理部
１６    符号化処理部
１７    帳票用データ
２０    符号化データ
２１    符号化辞書
２５    復号化処理部
２６    印刷処理部
３０    符号化装置
３２    記憶部
３３    制御部
４０    テキストファイル
４１    符号化辞書
４２    符号化データ
５０    データ生成部
５１    符号化処理部
５２    入力部
５３    生成部（圧縮部）
５４    出力部（転送部）
６０    復号化装置
６１    外部Ｉ／Ｆ部（受信部）
６２    記憶部
６３    制御部
８０    復号化処理部
８１    印刷処理部
８２    入力部
８３    復号化部（伸張部）
８４    出力部（出力部）
【図１】
0006658908.tif 000002
【図２】
0006658908.tif 000003
【図３】
0006658908.tif 000004
【図４】
0006658908.tif 000005
【図５】
0006658908.tif 000006
【図６】
0006658908.tif 000007
【図７】
0006658908.tif 000008
【図８】
0006658908.tif 000009
【図９】
0006658908.tif 000010
【図１０】
0006658908.tif 000011
【図１１】
0006658908.tif 000012
【図１２】
0006658908.tif 000013
【図１３】
0006658908.tif 000014