説明

画像形成装置

【課題】 メモリなどのリソースを節約するとともに印刷データの処理速度を高くする。
【解決手段】 データ受信部31は、ホスト装置などから印刷データを受信する。データ解析部32は、その印刷データをブロックごとに解析し、印刷データに含まれるデータ構造情報に基づいて、印刷データに基づく印刷に使用しないブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列する。そして、描画データ処理部33および描画部34は、データ解析部32により処理された印刷データに基づいて印刷画像データ(ビットマップ)を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置に関するものである。
【背景技術】
【0002】
プリンタなどの画像形成装置で印刷を行う場合、パーソナルコンピュータなどのホスト装置から印刷データを画像形成装置へ送信し、画像形成装置で印刷を実行させる。
【0003】
ホスト装置は、印刷データを一旦スプールし、順次プリンタへ送信する。第1の技術では、ホスト装置は、データサイズの大きい印刷データを分割し、分割データのうち、印刷が完了したものを順次削除していく(例えば特許文献1参照)。これにより、ホスト装置におけるリソース(メモリなど)が有効に使用される。
【0004】
また、第2の技術では、ホスト装置は、印刷処理に使用する印刷データを保存しておき、後に再印刷を行う際に、再印刷の要求に従ってその印刷データを再構成し、再構成した印刷データをプリンタへ送信する(例えば特許文献2参照)。これにより、再印刷時におけるホスト装置での処理時間が短くなる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−243028号公報
【特許文献2】特開2005−346357号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の第1および第2の技術では、ホスト装置で印刷データを分割したり再構成する。このため、画像形成装置側では、通常どおり印刷データを受信し、印刷データを処理して印刷を行うため、画像形成装置内での処理時間の短縮、リソースの節約などにはあまり貢献しない。
【0007】
また、仮に、上述の第1の技術を、画像形成装置内で受信した印刷データに適用した場合、画像形成装置内で印刷データを先頭から最後尾まで順番にデータが処理されていくのであれば使用リソースが節約されるが、印刷データがディレクトリ構造などの構造化されており、かつ印刷データ内のデータ配列順序が処理順序と一致しない場合には、分割データが削除可能になるタイミングが遅くなるため、リソース節約の効果が低減するとともに、分割データの管理(生成および削除)が煩雑になり、結果的に、画像形成装置内での処理時間が長くなる可能性もある。
【0008】
また、仮に、上述の第2の技術を、画像形成装置内で受信した印刷データに適用した場合、1回目の印刷では、受信した印刷データをそのまま使用して印刷を行うので、1回目の印刷について、処理速度の短縮、リソース節約などの効果は得られない。
【0009】
本発明は、上記の問題に鑑みてなされたものであり、メモリなどのリソースを節約するとともに印刷データの処理速度を高くすることができる画像形成装置を得ることを目的とする。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本発明では以下のようにした。
【0011】
本発明に係る画像形成装置は、印刷データを受信するデータ受信部と、印刷データをブロックごとに解析し、印刷データに含まれるデータ構造情報に基づいて、印刷データに基づく印刷に使用しないブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列するデータ解析部と、データ解析部により処理された印刷データに基づいて印刷画像データを生成する印刷画像生成部とを備える。
【0012】
これにより、前処理で印刷に不要なデータブロックを削除し後続のデータ処理に適した順序でデータブロックが再配列されるため、メモリなどのリソースを節約するとともに印刷データの処理速度を高くすることができる。
【0013】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ受信部は、受信した印刷データのブロックをメモリに格納し、データ解析部は、印刷データに含まれるすべてのデータ構造情報を取得した時点で、データ構造情報に基づいて、印刷に使用しないブロックを特定し、印刷に使用しないブロックをメモリから削除する。
【0014】
これにより、メモリなどのリソースをさらに節約することできる。
【0015】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ解析部は、印刷データに含まれるすべてのデータ構造情報を取得した後に受信されたブロックについて、データ構造情報に基づいて、印刷に使用するか否かを特定し、印刷に使用しないブロックをメモリに格納せずに削除する。
【0016】
これにより、メモリなどのリソースをさらに節約することできる。
【0017】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、データ構造情報は、印刷データに含まれるドキュメント、および各ドキュメントに含まれるページを示す情報である。
【0018】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、印刷データは、XPSデータであり、上述のブロックはXPSデータ内のファイルである。
【発明の効果】
【0019】
本発明によれば、メモリなどのリソースを節約するとともに印刷データの処理速度を高くすることができる。
【図面の簡単な説明】
【0020】
【図1】図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図2】図2は、図1の装置において画像処理プログラムにより実現される処理部の構成を示すブロック図である。
【図3】図3は、図1に示す画像形成装置におけるデータ解析部の動作を説明するフローチャートである。
【図4】図4は、図1に示す画像形成装置により受信された印刷データのデータ構成の一例を示す図である。
【図5】図5は、図4に示す印刷データを再構成した後の印刷データのデータ構成の一例を示す図である。
【図6】図6は、図1に示す画像形成装置により受信されたXPS印刷データのデータ構成の一例を示す図である。
【図7】図7は、図6に示す印刷データを再構成した後のXPS印刷データのデータ構成の一例を示す図である。
【発明を実施するための形態】
【0021】
以下、図に基づいて本発明の実施の形態を説明する。
【0022】
図1は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【0023】
図1において、演算処理装置1は、プログラムに従って処理を実行するコンピュータである。データ格納装置2は、プログラム、データなどが記録された記録媒体を有する装置である。データ格納装置2には、画像処理プログラム21が格納されている。このような装置としては、フラッシュメモリ、ハードディスク駆動装置、コンパクトディスクなどの可搬性記録媒体およびその駆動装置などが使用される。通信インタフェース3は、他の装置との間でデータ通信を行う装置である。通信インタフェース3としては、周辺機器インタフェース、ネットワークインタフェースなどが使用される。出力装置4は、プリンタ、ディスプレイなどといった、画像を出力する装置である。
【0024】
演算処理装置1は、バスやコントローラを介して互いにデータ通信可能な、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、VRAM(Video RAM)14、およびインタフェース15〜17を有する。
【0025】
CPU11は、データ格納装置2またはROM12に格納されているプログラムをRAM13にロードして実行し、プログラムに記述された処理を実行する演算処理装置である。また、ROM12は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM13は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
【0026】
VRAM14は、出力装置4に対応する描画領域における各画素の色値を格納するメモリである。
【0027】
また、インタフェース15は、データ格納装置2を接続可能なインタフェース回路である。インタフェース16は、通信インタフェース3を接続可能なインタフェース回路である。インタフェース17は、出力装置4を接続可能なインタフェース回路である。
【0028】
演算処理装置1により画像処理プログラム21が実行されると、各種処理部が実現される。図2は、図1の装置において、画像処理プログラム21により実現される処理部の構成を示すブロック図である。
【0029】
図2において、データ受信部31は、通信インタフェース3を介して、ホストコンピュータなどの装置との間でデータ通信を行う処理部である。
【0030】
また、データ解析部32は、受信されたデータを解析し描画命令などを抽出する処理部である。この実施の形態では、データ解析部32は、受信された印刷データをブロックごとに解析し、印刷データに含まれるデータ構造情報に基づいて、印刷データに基づく印刷に使用しないブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列する。この実施の形態では、データ構造情報は、前記印刷データに含まれるドキュメント、および各ドキュメントに含まれるページを示す情報である。印刷データがXPS(XML Paper Specification)データである場合、データ構造情報は、[Content_Types].xmlおよび_rels¥.relsを少なくとも含み、さらに、[Content_Types].xmlおよび_rels¥.relsにおいて指定される他のファイル(例えばFixedDocSeq.fdseqなど)を含む。
【0031】
また、描画データ処理部33は、データ解析部32により抽出された描画命令に対応する描画処理を描画部34に実行させる処理部である。描画部34は、描画データ処理部33により生成されたディスプレイリストに基づくビットマップをVRAM14に書き込む処理部である。これらの描画データ処理部33および描画部34は、データ解析部32により処理された印刷データに基づいて印刷画像データ(ビットマップデータ)を生成する印刷画像生成部として機能する。
【0032】
また、出力部35は、VRAM14におけるビットマップを出力装置4に供給し、出力装置4に画像出力(印刷等)を実行させる処理部である。
【0033】
また、メモリ管理部36は、演算処理装置1内のメモリを管理する処理部である。システム制御部37は、演算処理装置1内の各部の制御を行う処理部である。
【0034】
次に、上記装置(主にデータ解析部32)の動作について説明する。
【0035】
図3は、図1に示す画像形成装置におけるデータ解析部32の動作を説明するフローチャートである。
【0036】
データ受信部31が、通信インタフェース3で印刷データにおけるデータブロックを受信すると(ステップS1)、データ解析部32は、そのデータブロックがデータ構造情報のブロックであるか否かを判定する(ステップS2)。
【0037】
このとき、印刷データがXPSデータである場合、XPSデータは1つのZIPアーカイブとなっており、複数のデータブロックとして複数のファイルを含む。それらのファイルのうち、[Content_Types].xml、FixedDocSeq.fdseq、FixedDoc.fdoc、1.fpage.relsなどの所定のファイルがデータ構造情報のブロックであると判定される。
【0038】
受信されたデータブロックがデータ構造情報のブロックではない場合、データ解析部32は、この印刷データについてのすべてのデータ構造情報が受信されているか否かを判定する(ステップS3)。
【0039】
この印刷データについて受信されていないデータ構造情報がある場合、データ解析部32は、受信されたデータブロックをRAM13にスプールし、RAM13におけるデータブロックリストに追加する(ステップS4)。つまり、この時点では、すべてのデータ構造情報が明らかになっていないため、受信されたデータブロックが印刷に必要か否か、およびデータブロックの最適な配置位置が不明であるため、受信されたデータブロックは、一旦RAM13にスプールされる。
【0040】
一方、データ解析部32は、受信されたデータブロックがデータ構造情報のブロックである場合(ステップS2)、そのデータ構造情報を、既に受信済みのデータ構造情報とともにRAM13にスプールする(ステップS5)。そして、データ解析部32は、この印刷データについてのすべてのデータ構造情報が受信されたか否かを判定する(ステップS6)。
【0041】
そして、データ解析部32は、この印刷データについてのすべてのデータ構造情報が受信された場合、そのデータ構造情報に基づいて、この時点でRAM13にスプールされているデータブロックのうち、この印刷データに基づく印刷に使用されないデータブロックを特定しRAM13から削除する(ステップS7)。データ解析部32は、この印刷データについて受信されていないデータ構造情報がある場合、ステップS7の処理を行わない。つまり、この印刷データについてのすべてのデータ構造情報が明らかになった時点で、不要なデータブロックが削除される。
【0042】
また、データ解析部32は、データ構造情報以外のブロックが受信されたときに、既にすべてのデータ構造情報のデータブロックが受信されている場合には、そのデータ構造情報に基づいて、受信されたそのデータブロックが、この印刷データに基づく印刷に使用されないデータブロックであるか否かを判定する(ステップS8)。受信されたそのデータブロックが、この印刷データに基づく印刷に使用されるブロックである場合には、データ解析部32は、そのデータブロックをRAM13にスプールし、RAM13におけるデータブロックリストに追加する(ステップS4)。一方、受信されたそのデータブロックが、この印刷データに基づく印刷に使用されないブロックである場合には、データ解析部32は、そのデータブロックを削除する。
【0043】
このようにして、印刷データのデータブロックごとにステップS1〜S8の処理が実行される。そして、データ受信部31およびデータ解析部32は、印刷データのすべてのデータブロックが受信されたか否かを判定し(ステップS9)、次のデータブロックについてステップS1〜S8の処理を実行する。
【0044】
そして、印刷データのすべてのデータブロックが受信されると、データ解析部32は、受信されたデータ構造情報に基づいて、データブロックの配列順序が後続の処理に対して最適になるように、データ構造情報の内容を更新し(ステップS10)、データブロックを再配列する(ステップS11)。
【0045】
図4は、図1に示す画像形成装置により受信された印刷データのデータ構成の一例を示す図である。図5は、図4に示す印刷データを再構成した後の印刷データのデータ構成の一例を示す図である。
【0046】
図4に示す印刷データでは、データブロックは、ページごとに纏まって配列されていないとともに、印刷に不要なデータを含んでいる。なお、この形式の印刷データでは、データ構造情報が、印刷データに含まれるデータブロックを指定しているため、データブロックの配列順序は任意である。また、図4に示す印刷データでは、データ構造情報が印刷データ全体についてのデータ構造情報と各ページのデータ構造情報とからなる階層構造を有する。このような図4に示す印刷データについて上述の処理を実行することで、図5に示すように、不要なデータブロックが削除されるとともに、ページごとに連続するようにデータブロックが再配列される。
【0047】
図6は、図1に示す画像形成装置により受信されたXPS印刷データのデータ構成の一例を示す図である。図7は、図6に示す印刷データを再構成した後のXPS印刷データのデータ構成の一例を示す図である。
【0048】
図6に示すXPS印刷データでは、[Content_Types].xml、FixedDocSeq.fdseq、FixedDoc.fdoc、および各ページのi.fpage.rels(iはページ番号、i=1,・・・)がデータ構造情報となる。[Content_Types].xmlは、データブロックのファイル拡張子の定義を含むファイルである。FixedDocSeq.fdseqは、印刷データに含まれる1または複数のドキュメントのリストを含むファイルである(ここでは、FixedDoc.fdocがドキュメントとして含まれる)。FixedDoc.fdocは、このドキュメントに含まれるページのリストを含むファイルである。i.fpage.relsは、ページiで使用するフォント、画像ファイルなどを指定するファイルである。また、データ構造情報以外のデータブロックとして、図6に示すXPS印刷データは、次のものを有する。i.fpageは、ページiの内容をXML(Extensible Markup Language)で記述したファイルである。また、1.jpegは、第1ページで使用される画像データファイルである。また、font.odttfは、第1ページで使用するフォントを指定するファイルである。また、thumbnail.jpgは、第1ページのサムネイルファイルであり、印刷には使用されない。なお、上述の各ファイルのXPS印刷データ(ZIPファイル)内でのパスは、\[Content_Types].xml、\FixedDocSeq.fdseq、\Documents\j\FixedDoc.fdoc(j番目のドキュメント)、\Documents\j\Pages\_rels\i.fpage.rels(j番目のドキュメントのi番目のページ)、\Documents\j\Pages\i.fpage(j番目のドキュメントのi番目のページ)、\Resources\font.odttf、および\docProps\thumbnail.jpgである。このような図6に示す印刷データについて上述の処理を実行することで、図7に示すように、不要なサムネイル画像のデータブロックが削除されるとともに、ページごとに連続するようにデータブロックが再配列される。
【0049】
そして、このように再配列された印刷データから、印刷画像データが描画データ処理部33および描画部34により生成され、その印刷画像データに基づいて出力部35は、出力装置4を制御して画像出力(印刷等)を行う。
【0050】
以上のように、上記実施の形態によれば、データ解析部32は、印刷データをブロックごとに解析し、印刷データに含まれるデータ構造情報に基づいて、印刷データに基づく印刷に使用しないブロックを削除するとともに、印刷データに基づき印刷されるページの順序で、印刷データにおけるブロックを再配列する。
【0051】
これにより、スプール時に前処理で印刷に不要なデータブロックを削除し後続のデータ処理に適した順書でデータブロックが再配列されるため、メモリなどのリソースを節約するとともに、後続のデータ処理速度を高くすることができる。
【0052】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【0053】
例えば、上記実施の形態において、印刷データはXPSデータ以外の形式でもよい。
【産業上の利用可能性】
【0054】
本発明は、例えば、プリンタなどの画像形成装置に適用可能である。
【符号の説明】
【0055】
13 RAM(メモリの一例)
31 データ受信部
32 データ解析部
33 描画データ処理部(印刷画像生成部の一例)
34 描画部(印刷画像生成部の一例)

【特許請求の範囲】
【請求項1】
印刷データを受信するデータ受信部と、
前記印刷データをブロックごとに解析し、前記印刷データに含まれるデータ構造情報に基づいて、前記印刷データに基づく印刷に使用しないブロックを削除するとともに、前記印刷データに基づき印刷されるページの順序で、前記印刷データにおける前記ブロックを再配列するデータ解析部と、
前記データ解析部により処理された前記印刷データに基づいて印刷画像データを生成する印刷画像生成部と、
を備えることを特徴とする画像形成装置。
【請求項2】
前記データ受信部は、受信した前記印刷データのブロックをメモリに格納し、
前記データ解析部は、前記印刷データに含まれるすべての前記データ構造情報を取得した時点で、前記データ構造情報に基づいて、前記印刷に使用しないブロックを特定し、前記印刷に使用しないブロックを前記メモリから削除すること、
を特徴とする請求項1記載の画像形成装置。
【請求項3】
前記データ解析部は、前記印刷データに含まれるすべての前記データ構造情報を取得した後に受信されたブロックについて、前記データ構造情報に基づいて、前記印刷に使用するか否かを特定し、前記印刷に使用しないブロックを前記メモリに格納せずに削除することを特徴とする請求項2記載の画像形成装置。
【請求項4】
前記データ構造情報は、前記印刷データに含まれるドキュメント、および各ドキュメントに含まれるページを示す情報であることを特徴とする請求項1から請求項3のいずれか1項記載の画像形成装置。
【請求項5】
前記印刷データは、XPSデータであり、前記ブロックは、前記XPSデータ内のファイルであることを特徴とする請求項1から請求項4のうちのいずれか1項記載の画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−113231(P2011−113231A)
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2009−268196(P2009−268196)
【出願日】平成21年11月26日(2009.11.26)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】