(57)【要約】【課題】  複雑な印刷ページの場合、印刷データ量が増加してしまい、プリンティングシステムとしてスループット低下を招く恐れがある。【解決手段】  アプリケーションからの印刷データを解析し、エッジリストを生成し、  生成されたエッジリストをスキャンライン順に走査し、エッジを抽出し、  抽出したエッジからエッジリストを再生成し、  イメージ変換を行なうか否かを判別し、  再生成したエッジリストからイメージデータへの変換を行ない、  再生成されたエッジリスト、あるいはイメージデータを印刷装置に送信することを特徴とする。【選択図】  図３
2006012059.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからの印刷データを解析し、エッジリストを生成する第一のエッジリスト生成手段と、
前記エッジリストをスキャンライン順に走査し、エッジを抽出するエッジ抽出手段と、
前記エッジ抽出手段で抽出したエッジからエッジリストを再生成する第二のエッジリスト生成手段と、
前記イメージ変換手段を行なうか否かを判別する判別手段と、
前記第二のエッジリスト生成手段で生成したエッジリストからイメージデータへの変換を行なうイメージ変換手段と、
前記第二のエッジリスト生成手段により再生成されたエッジリスト、あるいは前記イメージ変換手段により変換されたイメージデータを印刷装置に送信する送信手段とを有することを特徴とする情報処理装置。
【請求項２】
前記エッジ抽出手段は、エッジリストの重なりを検知し、最上位層のエッジを抽出することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記エッジ抽出手段は、下位のエッジリストの影響を受けない層までの上位のエッジを抽出することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記第二のエッジリスト生成手段は、複数層のエッジリストの影響を受ける部分については、それらのエッジリストを合成した結果を含むエッジリストを生成することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記判別手段は、第二のエッジリスト生成手段により生成されたエッジリストのサイズを参照することにより判別を行なうことを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記イメージ変換手段は、前記判別手段により、第二のエッジリスト生成手段により生成した印刷コードのサイズが所定サイズより大きいと判別された場合、イメージデータへの変換を行うことを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記イメージ変換手段は、前記判別手段により、第二のエッジリスト生成手段により生成したエッジリストのサイズが所定数より多いと判別された場合、イメージデータへの変換を行うことを特徴とする請求項１記載の情報処理装置。
【請求項８】
アプリケーションからの印刷データを解析し、エッジリストを生成する第一のエッジリスト生成ステップと、
前記エッジリストをスキャンライン順に走査し、エッジを抽出するエッジ抽出ステップと、
前記エッジ抽出ステップで抽出したエッジからエッジリストを再生成する第二のエッジリスト生成ステップと、
前記イメージ変換ステップを行なうか否かを判別する判別ステップと、
前記第二のエッジリスト生成ステップで生成したエッジリストからイメージデータへの変換を行なうイメージ変換ステップと、
前記第二のエッジリスト生成ステップにより再生成されたエッジリスト、あるいは前記イメージ変換ステップにより変換されたイメージデータを印刷装置に送信する送信ステップとを有することを特徴とする情報処理方法。
【請求項９】
前記エッジ抽出ステップは、エッジリストの重なりを検知し、最上位層のエッジを抽出することを特徴とする請求項８記載の情報処理方法。
【請求項１０】
前記エッジ抽出ステップは、下位のエッジリストの影響を受けない層までの上位のエッジを抽出することを特徴とする請求項８記載の情報処理方法。
【請求項１１】
前記第二のエッジリスト生成ステップは、複数層のエッジリストの影響を受ける部分については、それらのエッジリストを合成した結果を含むエッジリストを生成することを特徴とする請求項８記載の情報処理方法。
【請求項１２】
前記判別ステップは、第二のエッジリスト生成ステップにより生成されたエッジリストのサイズを参照することにより判別を行なうことを特徴とする請求項８記載の情報処理方法。
【請求項１３】
前記イメージ変換ステップは、前記判別ステップにより、第二のエッジリスト生成ステップにより生成した印刷コードのサイズが所定サイズより大きいと判別された場合、イメージデータへの変換を行うことを特徴とする請求項８記載の情報処理方法。
【請求項１４】
前記イメージ変換ステップは、前記判別ステップにより、第二のエッジリスト生成ステップにより生成したエッジリストのサイズが所定数より多いと判別された場合、イメージデータへの変換を行うことを特徴とする請求項８記載の情報処理方法。
【請求項１５】
アプリケーションからの印刷データを解析し、エッジリストを生成する第一のエッジリスト生成ステップと、
前記エッジリストをスキャンライン順に走査し、エッジを抽出するエッジ抽出ステップと、
前記エッジ抽出ステップで抽出したエッジからエッジリストを再生成する第二のエッジリスト生成ステップと、
前記イメージ変換ステップを行なうか否かを判別する判別ステップと、
前記第二のエッジリスト生成ステップで生成したエッジリストからイメージデータへの変換を行なうイメージ変換ステップと、
前記第二のエッジリスト生成ステップにより再生成されたエッジリスト、あるいは前記イメージ変換ステップにより変換されたイメージデータを印刷装置に送信する送信ステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
【請求項１６】
前記エッジ抽出ステップは、エッジリストの重なりを検知し、最上位層のエッジを抽出することを特徴とする請求項１５記載のコンピュータ読み取り可能なプログラム。
【請求項１７】
前記エッジ抽出ステップは、下位のエッジリストの影響を受けない層までの上位のエッジを抽出することを特徴とする請求項１５記載のコンピュータ読み取り可能なプログラム。
【請求項１８】
前記第二のエッジリスト生成ステップは、複数層のエッジリストの影響を受ける部分については、それらのエッジリストを合成した結果を含むエッジリストを生成することを特徴とする請求項１記載のコンピュータ読み取り可能なプログラム。
【請求項１９】
前記判別ステップは、第二のエッジリスト生成ステップにより生成されたエッジリストのサイズを参照することにより判別を行なうことを特徴とする請求項１５記載のコンピュータ読み取り可能なプログラム。
【請求項２０】
前記イメージ変換ステップは、前記判別ステップにより、第二のエッジリスト生成ステップにより生成したエッジリストのサイズが所定サイズより大きいと判別された場合、イメージデータへの変換を行うことを特徴とする請求項１５記載のコンピュータ読み取り可能なプログラム。
【請求項２１】
前記イメージ変換ステップは、前記判別ステップにより、第二のエッジリスト生成ステップにより生成したエッジリストのサイズが所定数より多いと判別された場合、イメージデータへの変換を行うことを特徴とする請求項１５記載のコンピュータ読み取り可能なプログラム。
【請求項２２】
請求項１５乃至２１いずれか記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置で印刷する印刷データを生成する情報処理装置、情報処理方法、プログラム、及び、記憶媒体に関するものである。
【背景技術】
【０００２】
従来の印刷システムにおいては、アプリケーション等からの指定に基づき印刷を行なう際、アプリケーションから入力される印刷描画データを解析し、順次印刷装置が処理可能な印刷コードへの変換を行い、印刷装置にデータ転送を行なうことで印刷を行なっている。（特許文献１）
【特許文献１】特開２００２−１３３４２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来例では、比較的簡単なページであれば、データ量も多くならないため印刷時間は問題とならないが、複雑な印刷ページの場合、印刷データ量が増加してしまい、プリンティングシステムとしてスループット低下を招く恐れがある。複雑なページの場合、描画オブジェクトの重なりが発生するが、従来例では描画データからそのまま印刷データを生成するため、最終的には不要であるはずの隠れた部分の印刷データまで処理する必要があるため、転送データ量の増加によるスループットの低下、より多くの処理メモリを必要とするためシステム全体としてのスループットの低下、描画オブジェクト数が多いことによるスループットの低下を招くことになる。また、システムによっては、描画不正を招くことにもなる。また、複雑なデータの重なり部分を最適化しようとすると、印刷データによっては逆にデータサイズが大きくなり、パフォーマンスが低下することもある。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために本発明に係る情報処理装置は、アプリケーションからの印刷データを解析し、エッジリストを生成する第一のエッジリスト生成手段と、
前記エッジリストをスキャンライン順に走査し、エッジを抽出するエッジ抽出手段と、
前記エッジ抽出手段で抽出したエッジからエッジリストを再生成する第二のエッジリスト生成手段と、
前記イメージ変換手段を行なうか否かを判別する判別手段と、
前記第二のエッジリスト生成手段で生成したエッジリストからイメージデータへの変換を行なうイメージ変換手段と、
前記第二のエッジリスト生成手段により再生成されたエッジリスト、あるいは前記イメージ変換手段により変換されたイメージデータを印刷装置に送信する送信手段とを有することを特徴とする。
【発明の効果】
【０００５】
以上説明したように本発明によれば、描画オブジェクトの重なり部分を取り除くことにより、複雑な印刷データの、データ量削減、低メモリでの動作、描画不正の回避が可能となり、またシステム全体としてもメモリサイズ、データ転送能力、あるいは描画能力といったハード的な必要条件を低く抑えることができ、廉価な構成が可能な印刷システムを提供することが可能となる。また、重なりが多い複雑なデータの印刷処理時間を低下させることなく印刷を行なうことが可能となる。また、それでもデータ量が大きい場合には、さらにイメージ化することで、一定サイズ以上にデータ量が増大することを防ぐことが可能となる。
【発明を実施するための最良の形態】
【０００６】
以下、添付図面に従って本発明に係わる実施の形態を詳細に説明する。また本実施の形態ではホスト装置と印刷装置がＵＳＢインタフェースで接続されたシステムに応用した例について説明する。このインタフェース形式は、本発明における重要な構成要件ではなく、赤外線通信、無線、セントロやＩＥＥＥ１３９４規格で定義されたインタフェースあるいは、様々なネットワーク接続形態であっても容易に応用可能である。
【０００７】
図１は、本発明の特徴を最もよく表わす図面であり、同図において１は後述する本発明の印刷システムにおけるクライアントコンピュータ本体であり、後述する印刷装置とはＵＳＢインタフェースにより接続されている。２は本発明におけるユーザが印刷装置に対しての用紙サイズ、両面指定、印刷解像度、印刷階調など各種印刷設定等を入力したり、印刷開始指示を行なうためのキーボード、マウス等からなるユーザインタフェース部である。３は画像を表示するための液晶表示部で印刷データのプレビュー表示を行う。４は後述するフローチャートに関わるＲＯＭまたはハードディスクに記憶されるプログラムを実行するＣＰＵからなる印刷データ制御部で、アプリケーションから指定される印刷命令指示を受け、印刷データの解析を行なうプログラムモジュールであるデータ解析部５がある。６はプログラムモジュールであるエッジリスト生成部で、印刷データを左右対のＹ座標下方向のエッジ列からなるエッジリストに変換し、エッジリストの開始Ｙ座標の昇順に並び替え、保持する処理を行なう。ここでのエッジリスト生成処理は、印刷データが文字であれば、文字輪郭のエッジ情報を抽出し、左右のエッジリストペアとして作成し、内部をフィルする情報、描画論理情報および描画順情報と共にエッジリスト生成する。印刷データが図形であれば、図形のパス情報を抽出し、左右のエッジリストペアとして作成し、内部をフィルする情報、描画論理情報および描画順情報と共にエッジリスト生成する。また、印刷データが矩形イメージであれば、矩形イメージの左右のエッジリストペアとして生成し、イメージパターン情報および描画順情報と共にエッジリスト生成する。また、後述するエッジ抽出部８で抽出したエッジ情報から、エッジリストの再生成処理を行なう。エッジリスト生成部では生成したエッジリストを格納し、保持する。７はプログラムモジュールであるエッジ抽出部で、エッジリストから最上位層、つまり最終描画画像としてユーザから見える部分に相当する部分のエッジを取り出す処理を行なう。また、最上位層が下位の描画層の影響を受ける場合、影響を受けない層までのエッジを抽出し画像合成処理を行なう。８はプログラムモジュールであるイメージ生成部で、エッジリスト生成部６で生成したエッジリストからビットマップイメージへの変換処理を行なう。９は、生成された印刷コードデータの送信や印刷装置の能力を取得する処理を含め印刷装置と送受信するコマンド全体を制御するプログラムモジュールである印刷コマンド制御部である。１０はＵＳＢ接続により印刷装置とのデータ送受信を行なうデータ送受信部（インターフェース）である。
【０００８】
１１は電子写真式の印刷装置であり、接続されたホスト装置１からの指示に応じた印刷処理あるいは印刷状態の応答等を行なう。印刷装置１１には、さらにＵＳＢ接続されたホスト装置とデータ送受信を行なうためのデータ送受信部１２と、データ送受信部１２で受信したデータを解析しまた印刷装置の能力をコマンド形式にしてデータ送受信部１２を介してホスト装置に送信するためのデータ生成を行なうためプログラムを記憶するＲＯＭ、そのプログラムを実行するＣＰＵからなる印刷装置制御部１３がある。１４は印刷コードデータ処理部で、ホスト装置１より送信された印刷コードデータの印刷データを逐次解析し、最終印刷画像生成までを行うプログラムを記憶するＲＯＭとそのプログラムを実行するＣＰＵからなる。１５はＲＡＭまたはハードディスク等からなる印刷データ保存部で、印刷コードデータ処理部で生成した各バンドバッファメモリのビットマップを、最終印刷画像データとして保存する。１６はプリントエンジンである出力部で、印刷データ保存部に保存された印刷データを取り出し、伸張処理して印刷出力を行う。
【０００９】
図２は、本実施の形態におけるエッジリストを示す図である。図２中、（Ａ）は、上位のアプリケーションから入力される描画データであり、４つの描画オブジェクトを示している。まず少し濃い目の「上書１」で示す平行四辺形の図形描画が入力され、続いて少し薄目の「上書２」で示す矩形図形が入力され、さらに続いてさらに薄目の「上書３」で示す矩形図形が入力され、さらに続いてさらに薄目の「上書４」で示す矩形図形が入力されることを示している。（Ｂ）はページ内レイアウトを示す図で、（Ａ）で入力された図形がページ内でどのように描画されるかを示している。（Ｃ）はエッジリストの状態を示す図で、前述した４つのオブジェクトがそれぞれ左エッジと右エッジで構成されている。（Ｄ）はエッジ抽出を示す概念図で、エッジリストを水平方向に走査し、最上位エッジを決定し抽出することを示している。（Ｅ）は再生成されたエッジリストを示す図で、（Ｄ）で抽出したエッジからエッジリストを再生成している。（Ｃ）ではエッジリストの重なりがあったが、（Ｅ）では、重なり部分が無くなっている。（Ｆ）はビットマップイメージデータを示す図で、（Ｅ）の再生成エッジリストから生成されたイメージデータを示している。本実施の形態では、（Ａ）で示すアプリケーションからの入力描画データから、（Ｆ）で示すイメージデータを生成することが可能となる。
【００１０】
図３乃至図５は、上述した本実施の形態のフローチャートである。このフローチャートに従って、本実施の形態の動作を説明する。なお、このフローチャートにか関わるプログラムはホスト装置のハードディスクに記憶されており、ホスト装置のＣＰＵによりＲＡＭに読み出され実行される。
【００１１】
図３は、ホスト装置１の処理動作の一部を示すフローチャートで、まず本ホスト装置における印刷処理が起動されると、ステップＳ３０１でホスト装置１の初期化を行い、また印刷装置１１から印刷装置の印刷能力情報を取得し、印刷装置１１で印刷処理させるための準備を行なう。ステップＳ３０２でアプリケーションより印刷データの入力があるかを判別し、印刷データの入力であれば、ステップＳ３０３でアプリケーションからの印刷データに基づきデータ解析部５にて、印刷データの解析処理を行ない、ステップＳ３０４でエッジリスト生成部６によりエッジリストの生成を行ない保持する。ここで生成されるエッジリストは、図２の（Ｃ）で図示されるような左右のエッジデータ、およびその間をフィルするための色、パターンあるいはイメージ等の情報、上書あるいは透過描画といった描画論理情報を含んでいる。次にステップＳ３０５で、そのページが終了か否かを判別し、終了でなければステップＳ３０２に戻り、終了であれば、ステップＳ３０６で、図４で後述するエッジリスト最適化処理を行ない、ステップＳ３０７で、エッジリスト生成部６に格納されているエッジリストを取り出し、ステップＳ３０８でエッジリストのサイズ比較を行なう。ここでのサイズ比較は、用紙サイズ、印刷解像度、色数および印刷階調等によりあらかじめ定義されたサイズとの比較で行なう。例えば、Ａ４サイズで、６００ｄｐｉ、ＹＭＣＫ、１ｂｉｔの場合、エッジリストのサイズが４Ｍバイトより大きいか否かで判別する。あるいは、総エッジ数があらかじめ決めておいた値より大きいか否かにより判別しても良い。ここでの比較で、エッジリストのサイズの方が小さければ（総エッジ数が少なければ）ステップＳ３１０に進み、エッジリストのサイズの方が大きければ（総エッジ数が多ければ）ステップＳ３０９でイメージ生成部８により、ビットマップイメージへの変換処理を行ない、ビットマップイメージ形式のエッジリストを生成し、エッジリスト生成部６に保持する。次にステップＳ３１０で、エッジリスト生成部に保持しているエッジリストデータを印刷コマンド制御部９により印刷コマンド形式に変換しデータ送受信部１０により、印刷装置１１にデータ送信し、ステップＳ３０２に戻る。
【００１２】
一方、ステップＳ３０２の判別で、アプリケーションからの入力がその他の処理指定であれば、ステップＳ３１１でその指定に従った処理を行いステップＳ３０２に戻る。
【００１３】
以上が、本実施の形態におけるホスト装置内の印刷処理の動作である。
【００１４】
次に図４を用いて、本実施の形態におけるエッジリスト最適化処理について説明する。図４は、エッジリスト最適化処理動作の一部を示すフローチャートである。なお、このフローチャートにか関わるプログラムはホスト装置のハードディスクに記憶されており、ホスト装置のＣＰＵによりＲＡＭに読み出され実行される。
【００１５】
まずステップＳ４０１でエッジ抽出部７の初期化を行なう。この初期化処理では、有効なエッジリストをＹ座標の昇順に取り出し処理するためのＹ座標位置情報や、取り出した有効なエッジリストを格納する処理部を初期化する。ステップＳ４０２でエッジリスト生成部６に格納されたエッジリストを検索し、処理すべきエッジリストがあるか否かを判別する。ここでの判別処理は、エッジリストは開始Ｙ座標が昇順にソートされ格納されているので、取り出したいＹ座標値を順次インクリメントし、そのＹ座標値に該当するエッジリストが格納されているか否かにより判断する。ステップＳ４０２の判別で、エッジリストがあればステップＳ４０３で左右のエッジリストのペアを取り出し、現在有効なエッジリストとしてエッジ抽出部７に追加格納し、ステップＳ４０４で現在有効なエッジリストをＸ座標の昇順にソートし、ステップＳ４０２に戻る。一方ステップＳ４０２の判別で、追加すべきエッジリストがなければ、ステップＳ４０５でエッジ抽出部７に、現在有効なエッジリストが格納されているかを判別し、あればステップＳ４０６で有効なエッジリストからＸ昇順にエッジリストを取り出す。ここで抽出すべきエッジリストがあれば、ステップＳ４０７で抽出したエッジの描画順情報を参照し、一番最後のエッジ、つまり最上位エッジを抽出する。次にステップＳ４０８で、最上位エッジの描画論理属性を判別し、描画が決定する論理であるか否かを判別する。例えば、上書属性であればそのエッジが最終描画として決定するが、透過属性であればそのエッジだけでは描画が決定しないため、さらに下位のエッジを参照する必要がある。このステップＳ４０８の判別でＮＯであれば、ステップＳ４０９で次の描画順のエッジ抽出を行ない、ステップＳ４１０で最上位エッジとの合成処理を行なう。この合成処理では、最上位エッジが透過描画論理であれば、下位のエッジと透過相当の論理演算を行ない、色あるいはフィルパターンの合成を行ない、ステップＳ４０８に戻る。一方ステップＳ４０８の判別でＹＥＳの場合には、ステップＳ４１１で、図２の（Ｅ）で示すように、最上位部分、あるいは合成結果による最終描画部分のエッジリストのみの再生成を行い、ステップＳ４１２で新たなエッジリストとしてエッジリスト生成部６に追加保存し、ステップＳ４０６に戻る。また、ステップＳ４０６の判別で、抽出すべきエッジリストがなければ、そのスキャンラインで存在する全てのエッジリストの重なりチェックを終了したということで、ステップＳ４１３で、そのスキャンラインで終了となるＹ座標値を持つエッジリストを有効エッジリストから削除し、ステップＳ４０２に戻る。また、ステップＳ４０５の判別で、有効なエッジリストがなくなれば、エッジリスト最適化処理を終了し、呼び出し元に戻る。
【００１６】
以上が、本実施の形態におけるエッジリスト最適化処理の動作である。
【００１７】
次に図５を用いて、本実施の形態における印刷装置処理について説明する。図５は、印刷装置１１の処理動作の一部を示すフローチャートである。なお、このフローチャートにか関わるプログラムは印刷装置のＲＯＭに記憶されており、印刷装置のＣＰＵによりＲＡＭに読み出され実行される。
【００１８】
まず本印刷装置における印刷処理が起動されると、ステップＳ５０１で印刷装置１１の初期化を行ない、印刷処理するための準備を行なう。ステップＳ５０２でデータ送受信部１２によりホスト装置からエッジリストまたはイメージデータからなる印刷コードデータを受信し、ステップＳ５０３で印刷コードデータ処理部１４により、印刷コードがエッジリストであればエンジンで印刷可能な形式にイメージ化し、印刷コードがイメージデータであれば印刷データ保存部に格納する処理を行う。ステップＳ５０４で出力部１６により印刷処理を行い、ステップＳ５０２に戻る。
【００１９】
以上が、本実施の形態における印刷装置内の印刷処理の動作である。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態の印刷システム全体構成を示すブロック図である。
【図２】本発明の実施の形態のエッジリストを示す図である。
【図３】本発明の実施の形態の制御手順を示すフローチャートである。
【図４】本発明の実施の形態の制御手順を示すフローチャートである。
【図５】本発明の実施の形態の制御手順を示すフローチャートである。
【符号の説明】
【００２１】
１  ホスト装置
２  ユーザインタフェース部
３  表示部
４  印刷データ制御部
５  データ解析部
６  エッジリスト生成部
７  エッジ抽出部
８  イメージ生成部
９  印刷コマンド制御部
１０  データ送受信部
１１  印刷装置
１２  データ送受信部
１３  印刷装置制御部
１４  印刷コードデータ処理部
１５  印刷データ保存部
１６  出力部
【図１】
2006012059.tif 000003
【図２】
2006012059.tif 000004
【図３】
2006012059.tif 000005
【図４】
2006012059.tif 000006
【図５】
2006012059.tif 000007