(57)【要約】【課題】印刷装置内に大量のメモリを必要することなく、複数画像のレイアウト印刷を実現し、かつ画像に依存することなく常に同じ色での文字や罫線の挿入した印刷結果を安価に得ることである。【解決手段】画像処理ユニット１００１，１００２により生成された複数画像の１ラスタライン画像データに対して、第２の画像処理を実行して１ラスタラインバッファ１２０上に配置し、さらに、該１ラスタラインバッファ１２０上に文字データと罫線データを配置した後、１ラスタラインデータに対して量子化処理部１２１が量子化処理を行って１ラスタライン単位に印刷データを出力する構成を特徴とする。【選択図】        図１
2005062919.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力画像データに対して第１の画像処理を施して、１もしくは複数のラスタラインデータを生成する画像データ生成手段と、
前記画像データ生成手段により生成された複数画像の１ラスタライン画像データに対して、第２の画像処理を実行して１ラスタラインバッファ上に配置する第１のレイアウト手段と、
前記第１のレイアウト手段により生成された１ラスタラインバッファ上に文字データと罫線データを配置する第２のレイアウト手段と、
前記第１，第２のレイアウト手段によりレイアウトされた１ラスタラインデータに対して量子化処理を行う量子化処理手段と、
前記量子化処理手段により量子化処理された１ラスタライン単位に印刷を行う印刷手段と、
を備えることを特徴とする印刷装置。
【請求項２】
前記第１のレイアウト手段は、前記第１の画像処理を実行して得られたデバイスカラーデータを前記１ラスタラインバッファ上に配置することを特徴とする請求項１記載の印刷装置。
【請求項３】
前記第２のレイアウト手段は、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする請求項１記載の印刷装置。
【請求項４】
前記第１の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする請求項１記載の印刷装置。
【請求項５】
前記第２の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする請求項１記載の印刷装置。
【請求項６】
複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする請求項１記載の印刷装置。
【請求項７】
複数の入力画像データに対して第１の画像処理を施して、１もしくは複数のラスタラインデータを生成する画像データ生成ステップと、
前記画像データ生成ステップにより生成された複数画像の１ラスタライン画像データに対して、第２の画像処理を実行して１ラスタラインバッファ上に配置する第１のレイアウトステップと、
前記第１のレイアウトステップにより生成された１ラスタラインバッファ上に文字データと罫線データを配置する第２のレイアウトステップと、
前記第１，第２のレイアウトステップによりレイアウトされた１ラスタラインデータに対して量子化処理を行う量子化処理ステップと、
前記量子化処理ステップにより量子化処理された１ラスタライン単位に印刷を行う印刷ステップと、
を備えることを特徴とする印刷制御方法。
【請求項８】
前記第１のレイアウトステップは、前記第１の画像処理を実行して得られたデバイスカラーデータを前記１ラスタラインバッファ上に配置することを特徴とする請求項７記載の印刷制御方法。
【請求項９】
前記第２のレイアウトステップは、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする請求項７記載の印刷制御方法。
【請求項１０】
前記第１の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする請求項７記載の印刷制御方法。
【請求項１１】
前記第２の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする請求項７記載の印刷制御方法。
【請求項１２】
複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする請求項７記載の印刷制御方法。
【請求項１３】
請求項７〜１２のいずれかに記載の印刷制御方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１４】
請求項７〜１２のいずれかに記載の印刷制御方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト装置等から入力される複数の画像データに所定の画像処理を施して、複数の画像データをレイアウトして印刷処理する印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【０００２】
【従来の技術】
従来、印刷システム、例えばパソコンなどのホスト装置側における印刷制御装置で作成されたデータを接続されるプリンタで印刷する場合、各印刷制御装置内のプリンタドライバにおいて、プリンタが印刷可能なデータを作成し、プリンタに送信するシステム一般的となっている。
【０００３】
しかし、近年にはこのシステムに加え、デジタルカメラ等のホスト装置を直接プリンタに接続して印刷するシステムや、プリンタに搭載されるリーダを介してメモリカード等のデータ保存デバイス内にあるデータから直接印刷を行うダイレクト印刷装置及びダイレクト印刷システム（例えば特許文献１参照）が出現している。
【０００４】
一方、上述したパソコン等を使用した印刷システムにおいては、各プリンタ特有のデータを作成するため、各システム内のプリンタドライバソフトウエア内において、画像に対してＣＲＴ等他の色空間からプリンタ色空間への変換を行う色補正処理、プリンタ色空間内での変換を行う色変換処理、量子化処理などを施し、プリンタに最適なデータを生成するのが一般的である。
【０００５】
しかしながら、上述したデジタルカメラやメモリカードなどから直接印刷を行うダイレクト印刷システムにおいてはホスト機器の能力に制限があるため機器内にプリンタドライバを搭載することが困難であることから、印刷対象画像をＪＰＥＧ等の一般的な画像フォーマットとして印刷装置に送信し、印刷装置内で上記処理を施して印刷を行う手法がとられている。
【０００６】
一方では、近年の急速なデジタルカメラの普及に伴いその印刷結果にも新たなニーズが現れている。
【０００７】
単に一枚印刷が可能なだけではなく、撮影日の日付けや画像ファイル名の印刷、複数の画像を様々なフォーマットで一枚に印刷するレイアウト印刷やインデックス印刷、コメント用の罫線やフレームの挿入などである。
【０００８】
これらのニーズはＰＣからの印刷時のみならずダイレクト印刷システムにおいても同様でありレイアウト機能の搭載など印刷装置においても対応が図られている。
【０００９】
【特許文献１】特開２００３−２５６７８号公報
【００１０】
【発明が解決しようとする課題】
しかしながら上記従来例においては、印刷装置内に上述した一連の画像処理機能や複数画像のレイアウト処理機能を実現するために、出力用のページメモリやワーク用のメモリ、複数の入力画像を同時に展開するための大量のワークバッファが必要となってしまっていた。
【００１１】
また、大量のバッファを用意した上でも画像の特性にあわせて処理を行う効果処理においては、出力用のページメモリ上に複数画像を展開した後に、各画像ごとに異なった処理を行うことが困難であった。
【００１２】
一方、文字や罫線の挿入機能においては、データサイズの削減などの理由から文字や罫線のデータをデバイス非依存な色として定義し、画像上に重ね合わせて配置する等の手法がとられている。
【００１３】
しかし、画像上に重ね合わせた後に、一連の画像処理が実行されるため、各画像ごとにその特性に合わせた効果処理を施すと、結果として画像ごとに異なった色で文字や罫線が印刷されるという問題もあった。
【００１４】
本発明は、上記の問題点を解決するためになされたもので、本発明は、生成された複数画像の１ラスタライン画像データに対して、第２の画像処理を実行して１ラスタラインバッファ上に配置し、さらに、該１ラスタラインバッファ上に文字データと罫線データを配置した後、１ラスタラインデータに対して量子化処理を行って１ラスタライン単位に印刷データを出力することにより、印刷装置内に大量のメモリを必要とすることなく、複数画像のレイアウト印刷を実現し、かつ画像に依存することなく常に同じ色での文字や罫線の挿入を可能とする安価な印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明に係る第１の発明は、複数の入力画像データに対して第１の画像処理を施して、１もしくは複数のラスタラインデータを生成する画像データ生成手段と、前記画像データ生成手段により生成された複数画像の１ラスタライン画像データに対して、第２の画像処理を実行して１ラスタラインバッファ上に配置する第１のレイアウト手段（例えば図１に示す第１の画像処理ユニット１００１，１００２）と、前記第１のレイアウト手段により生成された１ラスタラインバッファ（例えば図１に示すバッファ１２０）上に文字データと罫線データを配置する第２のレイアウト手段（例えば図３に示すＲＯＭ３０２に記憶される描画処理プログラム）と、前記第１，第２のレイアウト手段によりレイアウトされた１ラスタラインデータに対して量子化処理を行う量子化処理手段（例えば図１に示す量子化処理部１２１）と、前記量子化処理手段により量子化処理された１ラスタライン単位に印刷を行う印刷手段（図３に示す印刷装置３１４）とを備えることを特徴とする。
【００１６】
本発明に係る第２の発明は、前記第１のレイアウト手段は、前記第１の画像処理を実行して得られたデバイスカラーデータを前記１ラスタラインバッファ上に配置することを特徴とする。
【００１７】
本発明に係る第３の発明は、前記第２のレイアウト手段は、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする。
【００１８】
本発明に係る第４の発明は、前記第１の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする。
【００１９】
本発明に係る第５の発明は、前記第２の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする。
【００２０】
本発明に係る第６の発明は、複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする。
【００２１】
本発明に係る第７の発明は、複数の入力画像データに対して第１の画像処理を施して、１もしくは複数のラスタラインデータを生成する画像データ生成ステップと、前記画像データ生成ステップにより生成された複数画像の１ラスタライン画像データに対して、第２の画像処理を実行して１ラスタラインバッファ上に配置する第１のレイアウトステップ（例えば図１３に示すステップ（３００１）〜（３００９））と、前記第１のレイアウトステップにより生成された１ラスタラインバッファ上に文字データと罫線データを配置する第２のレイアウトステップ（図１３に示すステップ（３０１３），（３０１０））と、前記第１，第２のレイアウトステップによりレイアウトされた１ラスタラインデータに対して量子化処理を行う量子化処理ステップ（図８に示すステップ（１００９））と、前記量子化処理ステップにより量子化処理された１ラスタライン単位に印刷を行う印刷ステップとを備えることを特徴とする。
【００２２】
本発明に係る第８の発明は、前記第１のレイアウトステップは、前記第１の画像処理を実行して得られたデバイスカラーデータを前記１ラスタラインバッファ上に配置することを特徴とする。
【００２３】
本発明に係る第９の発明は、前記第２のレイアウトステップは、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする。
【００２４】
本発明に係る第１０の発明は、前記第１の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする。
【００２５】
本発明に係る第１１の発明は、前記第２の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする。
【００２６】
本発明に係る第１２の発明は、複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする。
【００２７】
本発明に係る第１３の発明は、第７〜第１２の発明のいずれかに記載の印刷制御方法を実現するプログラムをコンピュータが読み取り可能な記憶媒体に記憶したことを特徴とする。
【００２８】
本発明に係る第１４の発明は、第７〜第１２の発明のいずれかに記載の印刷制御方法を実現することを特徴とするプログラム。
【００２９】
【発明の実施の形態】
〔第１実施形態〕
以下、添付図面に従って本発明に係わる第１実施形態を詳細に説明する。
【００３０】
図１は、本発明の第１実施形態を示す印刷装置のデータ処理機構を説明するブロック図である。
【００３１】
図１において、１０１，１１１はＪＰＥＧ形式の印刷対象画像データ、１０２，１１２は復号化処理部、１０３，１１３は色空間変換処理部、１０４，１１４は色変換処理部、１０５，１１５は拡大処理部、１０６，１１６は各データの１ラスタラインのデータ、１２０は出力バッファを表す。なお、１００１は第１の画像処理ユニットで、１０２〜１０５から構成されている。また、１００２は第２の画像処理ユニットで、１１２〜１１５から構成されている。
【００３２】
また、１２１は量子化処理部であり、１２２は１ラスタラインの印刷結果、１２３は最終出力結果である。更に詳細に説明する。
【００３３】
印刷対象画像データ１０１，１１１は、図１では一例としてＪＰＥＧデータを使用するがデータフォーマットを規定するものではない。印刷対象画像データ１０１に対して、復号化処理部１０２において復号化処理が実行される。この時出力画像枠に応じて回転及び縮小の処理が実行される場合もある。
【００３４】
そして、復号化処理からは複数ラインのデータが生成されるが、各ラスタラインごとに以降の処理が実行される。色空間変換処理部１０３では復号化された１ラスタラインデータに対して色空間変換処理が実行されＲＧＢ等の色空間データが生成される。
【００３５】
色変換処理部１０４ではデバイス依存カラーへの色変換処理が実行され印刷装置に依存したデータが生成される。拡大処理部１０５では色変換処理部１０４において生成されたデバイス依存データに対して拡大処理が実行される。同様に、印刷対象画像データ１１１に対しては上述の処理が復号化処理部１１２から拡大処理部１１５として実行され、１ラスタラインのデータ１１６が生成される。
【００３６】
１２０は１ラスタラインのバッファであり、バッファ上に上述したデータ及び文字や罫線データの配置を行うことでレイアウト処理が実行される。使用される文字データや罫線データは上述の画像データと同じようにデバイス依存カラーで表現されている。全てレイアウトが終了した１ラスタラインデータは、量子化処理部１２１において量子化処理が施され、印刷がエンジン部１２２により行われる。以上の処理を繰り返すことにより最終出力結果１２３が得られる。
【００３７】
図２は、本発明に係る印刷装置を適用可能な印刷システムの一例を示すブロック図である。
【００３８】
本発明の実施形態に係わる印刷装置は、印刷対象データを提供するためのホスト装置２０１、本発明の手段を含む印刷装置２０３、及びホスト装置と印刷装置を接続する双方向インターフェース２０２で構成される。
【００３９】
ホスト装置２０１は、ＰＣ等のコンピュータのみならず、例えばデジタルカメラやスキャナ等のダイレクト印刷を行う場合のホスト機器である。
【００４０】
このように構成された印刷システムにおいて、例えばホスト装置２０１としてデジタルカメラを使用する場合、同ホスト装置２０１において撮影されたデータ、もしくは内蔵するメモリカード等の領域に保存されているデータが、双方向インターフェース２０２を介して印刷装置２０３に送信される。
【００４１】
この時ホスト装置２０１からは印刷対象データに加え、印刷時の付加情報もあわせて印刷装置２０３に送信されるものとする。この付加情報には印刷データに付随する様々な情報の他に、印刷データを紙面上に表現するためのレイアウト情報、印刷設定情報などが含まれる。
【００４２】
また、ホスト装置２０１を用いずに印刷を行う形態も可能である。
【００４３】
印刷装置２０３内には後述する図３におけるメモリ装置や操作パネル等の手段を含む場合もあり、この場合にはメモリ装置から印刷データを読み出し、上述のような情報を操作パネルから入手して印刷装置２０３単独での印刷が可能となる。
【００４４】
図３は、図２に示した印刷装置の内部構成を示す詳細ブロック図であり、本例に示す印刷装置２０３は、ＣＰＵ３０１、ＲＯＭ３０２、ＦｌｕｓｈＲＯＭ３０３、ＲＡＭ３０４、ＣＦコントローラ３０６、ＣＦ  Ｉ／Ｆ３０７、操作パネル３０８、操作パネルコントローラ３０９、通信装置３１０、通信装置コントローラ３１１、表示装置３１２、表示装置コントローラ３１３、印刷装置３１４、印刷装置コントローラ３１５で構成されている。
【００４５】
図３において、ＣＰＵ３０１によって読み出しのみ可能であるＲＯＭ３０２や、書き換え可能なＦｌｕｓｈＲＯＭ３０３に格納される制御プログラムまたは制御手順が実行されるとき、ＲＡＭ３０４は、ＣＰＵ３０１の演算、論理判断における各種データを一時的に記憶するワークメモリとして用いられる。
【００４６】
本発明の復号化処理、色空間変換処理、色変換処理、拡大処理、レイアウト処理、文字／罫線挿入処理、量子化処理などのプログラムは、ＲＯＭ３０２あるいはＦｌｕｓｈＲＯＭ３０３に格納されており、各々のプログラムにより生成されるデータ、例えば、レイアウト情報、ＪＰＥＧファイルの復号化結果、色空間変換結果、色変換結果、拡大結果、量子化結果などは、ＲＡＭ３０４のそれぞれの保存領域に保存される。
【００４７】
ＣＦ  Ｉ／Ｆ３０７は、コンパクトフラッシュ（登録商標）カードのインターフェースであり、ＣＦコントローラ３０６により駆動制御され、コンパクトフラッシュ（登録商標）カードに格納されたデジタルカメラ撮影ＪＰＥＧ画像の情報を、ＲＡＭ３０４上に読み出す為に使用される。
【００４８】
操作パネルコントローラ３０９は、操作者の指示を伝えるための入力インターフェースであり、操作した内容は、操作パネル３０８に表示され、印刷実行ボタン押下にて、印刷処理が起動される。
【００４９】
通信装置３１０は、ホスト装置２０１と印刷装置２０３間の通信を行うための装置であり、通信装置コントローラ３１１で駆動制御され、ホスト装置２０１からの操作およびデータを受信すると共に、印刷装置２０３からの応答ステータスを返信する目的で使用される。
【００５０】
印刷の操作指示は、操作パネル３０８からに加えて、ホスト装置２００からの印刷実行ボタン押下によっても、行えるようなシステム構成となっている。
【００５１】
表示装置３１２は、表示装置コントローラ３１３で駆動制御され、前記コンパクトフラッシュ（登録商標）（ＣＦ）より読み出された画像やエラーメッセージなどを表示するための出力装置であり、小型カラー液晶などが使用されている。
【００５２】
印刷装置３１４は装着された用紙に対して、装置内のヘッド、インクを使用して記録出力する装置部である。操作パネル３０８あるいはデジタルカメラからの印刷処理は、各インターフェースから受信した情報により、ＣＰＵ３０１がＲＯＭ３０２あるいはＦｌｕｓｈＲＯＭ３０３の印刷制御プログラムを実行し、印刷装置コントローラ３１５を駆動制御することにより、印刷装置内のインクヘッドを動作させ、用紙に対してインクヘッド内のインクを噴射することを繰り返すことにより行われる。
【００５３】
内部バス３１６は、ＣＰＵ３０１から印刷装置３１４での機器間で通信するための、共通通信路であり、印刷装置内の全ての機器間の通信は、この内部バスを経由して行われる構成となっている。
【００５４】
次に上述した印刷装置内における本発明に係わる処理について、図１〜図２、図４〜図６及び図７を用いて詳述する。
【００５５】
図４は、図３に示す印刷装置３１４から出力される印刷結果例を示す図であり、本例は４画像を１紙面上に配置して印刷を行った場合の結果であるが、その流れを以下説明する。
【００５６】
まず、図２において、ホスト装置２０１から４画像のデータが印刷装置２０３へと送信される。またデータの入手は上述したように印刷装置２０３内にある保存領域からでも構わない。また、印刷装置２０３での印刷データの入手時にあわせて、ホスト装置２０１もしくは内蔵する操作パネルから付随する情報の入手も行われる。
【００５７】
次に、入手されたデータを印刷するまでの一連の流れについて、図５を用いて説明する。
【００５８】
図５は、図２に示した印刷装置２０３による第１のレイアウト印刷処理状態を説明する模式図であり、太い矢印がデータ処理の流れに対応する。
【００５９】
図５において、状態５０１は、印刷画像データであり、本例では４画像が印刷対象データである。この４画像に対し、状態５０２において、印刷のためのレイアウト情報が決定される。本例は４画像を１面上に印刷するレイアウト印刷であるが、この場合▲１▼〜▲４▼の出力矩形枠が決定される。
【００６０】
また、本レイアウト決定が任意の矩形枠数及び任意の配置に対応可能であることは言うまでもない。次に、状態５０３において、実際の印刷処理が実行される。
【００６１】
本処理の詳細については後述するが副操作方向に１ラスタラインずつの処理が繰り返し実行される。
【００６２】
状態５０４は、▲１▼及び▲２▼の矩形枠に対して印刷が行われた直後の状態である。本レイアウトは４画像に対する処理であるが、２画像までの処理が終了した時点での紙面上の印刷結果を表している。
【００６３】
状態５０５は状態５０４から更に進み、▲３▼及び▲４▼の画像枠に対する処理が終了し４画像全ての印刷が終了した時点の状態である。
【００６４】
次に、図６を用いて、図５に示した状態５０３に挙げた１ラスタラインでの処理について詳述する。
【００６５】
図６は、図５に示した状態５０３における画像ラスタライズ処理を説明する模式図である。
【００６６】
図６において、６０１は画像枠▲１▼及び▲２▼に対して数ラインの処理が施された状態の印刷結果である。本結果を生成するために、まず、ソース画像分割例６０２に挙げるように副走査方向に画像をラスタラインごとに分割する。
【００６７】
ソース画像分割例６０２は、ソース２画像をそれぞれラスタライン毎に分割した状態である。分割された各ラスタラインデータは、図７を用いて後述する処理を施して出力バッファ上に配置される。状態６０３は２画像の各ラスタラインがバッファ上に配置された状態であるが、それぞれの画像用矩形枠にあわせて配置される。以上の処理を繰り返すことにより、印刷結果６０４が取得可能となる。
【００６８】
次に、図７を用いて、図６に挙げた１ラスタラインデータの生成処理の流れについて説明する。
【００６９】
図７は、図６に示した１ラスタラインデータの生成処理の流れを説明する概念図である。
【００７０】
なお、本説明では１画像データに対する処理を記述するが、複数画像データを用いたレイアウト印刷時には本処理が繰り返されることで実現される。
【００７１】
１５０１は印刷対象画像データであり、そのデータフォーマットは、特に規定しないが本例ではＪＰＥＧデータを用いる。対象データは復号化処理部１５０２において復号化が行われる。この復号化では出力枠情報に応じて同時に画像の回転及び縮小処理が実行される。
【００７２】
１５０３は１画像データ全てが復号化された結果データを表すが、本処理手段が使用できるバッファ量などに応じて１画像全てもしくは複数ラスタ単位での復号化が可能である。
【００７３】
次に、復号化された数ラスタデータ１５０４は主走査方向に１ラスタラインに分割され切り出され、色空間変換処理部１５０５に渡す。この時点でのデータは例えばＪＰＥＧデータを復号化したＹＣｂＣｒ空間で表現されるＮビットのＹＣｂＣｒデータである。色空間変換処理部１５０５によりＲＧＢ空間への変換が施され、ＭビットのＲＧＢデータが生成される。
【００７４】
次に、色変換処理部１５０６においてデバイス依存カラーでＣＭＹＫデータへの変換が施され、ＬビットＣＭＹＫデータが生成される。次に、拡大処理部１５０７において拡大処理が実行される。
【００７５】
本処理は、入力画素数を対応する出力枠の画素数に拡大する処理であり、出力されるデータは依然としてＬビットＣＭＹＫデータである。以上の処理で出力枠に応じたデバイス依存カラーデータでの１ラスタラインデータが生成される。
【００７６】
また、上記ＪＰＥＧデータ１５０１が拡大処理部１５０７までの処理を主走査方向の各画像枠に対して実行することで、複数画像レイアウトが実現可能となる。
【００７７】
一方、拡大後のデータは、量子化処理部１５０８においてＫビットＣＭＹＫデータに変換され、エンジン部１５０９に送信されることにより印刷されることとなる。また上述した色空間処理、色変換処理、拡大処理、量子化処理には公知の技術が利用可能である。
【００７８】
次に、上記の如く構成された本発明の実施形態に係る印刷装置において、図５、図８及び図９に示すフローチャートを用いて処理フローを詳述する。
【００７９】
図８は、本発明に係る印刷装置における第１のデータ処理手順の一例を示すフローチャートであり、画像データに対する副走査方向への画像処理手順に対応する。なお、（１００１）〜（１０１４）は各ステップを示す。
【００８０】
まず、処理開始時にバッファのクリア等の初期化処理を行い、ステップ（１００１）のレイアウト情報作成処理において、印刷対象画像の出力用紙上でのレイアウト情報を作成する。本処理は、図５に示したレイアウト決定処理５０２であり、出力画像数、出力順序、出力サイズ、レイアウト方法などにより、画像の出力枠、個数、枚数など配置情報を作成する。
【００８１】
また、画像出力矩形枠と画像の縦横の画素数などから、回転情報や拡大／縮小率の情報もあわせて作成する。この結果、図５に示すレイアウト決定処理５０２における▲１▼〜▲４▼枠の画像レイアウト情報が決定される。
【００８２】
なお、本処理を実行する上でホスト装置や記憶媒体から本装置に画像データが入力されるのは言うまでもない。
【００８３】
次に、作成されたレイアウト情報をもとに、画像矩形枠までの頭出し処理を実行する。本処理は、ステップ（１００２）において実行されるのであるが、エンジン部における給紙処理及び印刷領域枠までのラスタスキップ処理がその主たる内容である。この処理の結果、図５に示すレイアウト決定処理５０２における用紙上端から▲１▼及び▲２▼枠に上端までのスキップ処理が実行される。
【００８４】
次に、ステップ（１００３）において、主走査方向の画像情報の更新を行う。これは図５に示すレイアウト決定処理５０２においては、▲１▼及び▲２▼枠の画像からそれぞれの画像情報を入手するものであるが、入手する情報には画像ファイル名、画像ファイルサイズ、画像フォーマット、撮影日時情報、画像サイズ等がある。入手された情報は内部のバッファ領域に格納される。
【００８５】
次に、ステップ（１００４）において、後述する次の主走査方向画像情報更新のための内部フラグに「１」をセットする。以上で初期化処理が終了しメインループへと進む。
【００８６】
まず、ステップ（１００５）において、副走査方向の全ラスタの処理が終了したかの判断を行い、終了していないと判断した場合には、ステップ（１００６）へと進み、現対象ラスタが副走査方向の画像枠内かの判断を行う。
【００８７】
本処理は、図５に示したレイアウト決定処理５０２においては、現対象ラスタが主走査方向に▲１▼及び▲２▼の枠内かの判断を行うものである。
【００８８】
ここで、副走査方向画像枠内であると判断した場合には、ステップ（１００７）に進み上述したフラグに「１」を設定し、ステップ（１００８）に進み、図９において、後述する処理により主走査方向１ラスタラインの拡大後のデータを入手する。
【００８９】
本データは量子化前のデータであるためステップ（１００９）において、量子化処理を行いエンジン部が印刷可能なデータへと変換する。次に、ステップ（１０１０）において変換されたデータをエンジン部へ送信後、上述したステップ（１００５）の処理に戻り次のラスタへと移動する。
【００９０】
一方、ステップ（１００６）において、副走査方向画像枠外と判断された場合は、ステップ（１０１１）へと進む。
【００９１】
このケースは現対象ラスタが図５に示したレイアウト決定処理５０２における枠▲１▼及び枠▲２▼の画像枠下端と枠▲３▼及び枠▲４▼の画像枠上端の間に位置する場合となる。出力紙上は、図５に示した主走査方向−矩形枠終了状態５０４の状態であり、枠▲１▼及び枠▲２▼の画像の処理が終了し、枠▲３▼及び枠▲４▼に対する処理の開始前となっている。
【００９２】
ステップ（１０１１）では、画像枠外であるために印刷されるデータがＮＵＬＬラスタとなる。このため１ライン用のバッファをＮＵＬＬクリアする。次に、ステップ（１０１２）において、上述したフラグが「１」であるかの判定を行い、「１」でない場合にはそのままの状態で、ステップ（１００９）の量子化部に進み、ＮＵＬＬラスタに対して量子化処理を行う。
【００９３】
一方、ステップ（１０１２）で、フラグが「１」であると判断した場合には、ステップ（１０１３）へと進み、ステップ（１００３）と同様に主走査方向画像情報の更新を行う。
【００９４】
図５に示すレイアウト決定処理５０２においては、枠▲３▼及び枠▲４▼の画像に対する情報が本処理で設定される。
【００９５】
次に、ステップ（１０１４）へと進み上述したフラグに「０」を設定する。このことにより画像枠外に複数のＮＵＬＬラスタが存在した場合に二重の主走査方向画像情報更新処理が実行されることを防ぐ。
【００９６】
そして、ステップ（１０１４）の処理後は、ステップ（１００９）へと進み、ＮＵＬＬラスタに対して量子化処理を行いエンジン部へと送信する。
【００９７】
一方、ステップ（１００５）において、全ラスタに対する処理が終了したと判断された場合には、本処理を終了する。以上が本処理における副走査方向の処理であるが、本フローは処理の一例であり他のフローによる実現方法も可能である。
【００９８】
次に、図６、図７及び図９を用いて本処理における主走査方向のフローを詳述する。
【００９９】
図９は、本発明に係る印刷装置における第２のデータ処理手順の一例を示すフローチャートであり、本処理は、図８に示すステップ（１００８）における１ラスタラインデータの入手処理手順に対応する。なお、（２００１）〜（２０１１）は各ステップを示す。また、本処理により図６に示した１ラスタラインデータ６０３が作成されることになる。
【０１００】
まず、ステップ（２００１）において、１ラスタラインの出力用バッファの初期化を行う。次に、ステップ（２００２）に進み、出力用バッファへの書き込み用バッファポインタのアドレスを設定する。
【０１０１】
この場合、設定されるアドレスは、例えば図６に示したソース画像分割状態６０２においては、矩形幅▲１▼の左端である。
【０１０２】
次に、ステップ（２００３）において、主走査方向の全画像枠に対する処理が終了したかどうかの判断を行い、終了していないと判断した場合には、ステップ（２００４）に進み復号化用出力バッファにラスタラインデータが存在するかどうかの判断を行い、データがあると判断した場合には、ステップ（２００５）に進み復号化用出力バッファから１ラインのデータを入手する。
【０１０３】
この時、入手されるデータは例えばＪＰＥＧデータをデコードしたＹＣｂＣｒ空間で表現されるデータである。次に、ステップ（２００６）において、１ラスタラインデータに対する色空間変換処理を行い、１ラスタラインデータをＲＧＢ空間のデータへと変換する。
【０１０４】
更に、ステップ（２００７）において、ＲＧＢ空間で表現される１ラスタラインデータをデバイス依存カラーであるＣＭＹＫデータへと変換する色変換処理を実行し、ステップ（２００８）へと進む。
【０１０５】
そして、ステップ（２００８）では、デバイス依存カラーのＣＭＹＫデータに対し拡大処理を実行する。本拡大処理には単純拡大等の公知技術が利用可能であるが、その目的とするところは、図６に示したソース画像分割状態６０２における矩形幅▲１▼もしくは矩形幅▲２▼のような出力矩形幅にあわせて入力画像のラスタラインデータを拡大することにある。
【０１０６】
次に、ステップ（２００９）において、拡大された１ラスタラインのデバイス依存カラーデータを出力用バッファに保存する。
【０１０７】
図６を用いて概説すると、ステップ（２００４）からステップ（２００９）の処理により、図６に示したソース画像分割状態６０２の矩形幅▲１▼に対する処理が終了したことになる。
【０１０８】
次に、ステップ（２０１０）において、出力用バッファへの書き込み用バッファポインタのアドレスを移動し、ステップ（２００３）の処理へと戻る。この時に更新されたアドレスは、例えば図６に示したソース画像分割状態６０２においては画像▲２▼用枠の左端となっている。
【０１０９】
また、ステップ（２００４）において、復号化用出力バッファにラスタデータがない場合には、ステップ（２０１１）に進み、画像データに対する復号化処理を行い新たに数ラインのデータを生成して上述したステップ（２００５）の処理に進む。
【０１１０】
一方、ステップ（２００３）において、主走査方向における全画像枠に対する処理が終了したと判断された場合には処理を終了する。
【０１１１】
以上がデバイスカラーでの１ラスタラインデータの生成方法であるが、ステップ（２００４）〜（２００９）における処理を主走査方向の全画像枠に対して実行することで、１ラスタラインのバッファを使用して複数画像のレイアウト機能を実現することが可能となる。
【０１１２】
以上詳述した図８及び図９におけるフローを繰り返すことにより、主走査方向及び副走査方向に定義したレイアウト枠に対する画像の配置が可能となり、デバイス依存カラーでのレイアウト印刷機能が実現可能となる。以上が第１実施形態における印刷装置内の動作である。
【０１１３】
〔第２実施形態〕
以下、添付図面に従って本発明に係わる第２実施形態を詳細に説明する。なお、ハードディスク構成上は、第１実施形態に示した図１〜図７等の構成と同様であるので、図１〜図７に示す構成の説明は省略する。
【０１１４】
次に、上述した印刷装置内における本発明に係わる処理について、図１〜図３及び、図１０〜図１２を用いて詳述する。
【０１１５】
図１０は、本発明に係る印刷装置における印刷結果例を示す模式図であり、本例は文字枠を含む２画像と２罫線枠を１紙面上に配置して印刷を行った場合の結果であるが、その流れは、まず、図２において、ホスト装置２０１から文字枠情報を含む２画像のデータと２罫線枠のデータが印刷装置２０３へと送信される。またデータの入手は上述したように印刷装置内にある保存領域からでも構わない。また印刷装置での印刷データの入手時にあわせて、ホスト装置もしくは内蔵する操作パネルから付随する情報の入手も行われる。
【０１１６】
次に入手されたデータを印刷するまでの一連の流れについて、図１１を用いて説明する。
【０１１７】
図１１は、図２に示した印刷装置２０３による第２のレイアウト印刷処理状態を説明する模式図であり、太い矢印がデータ処理の流れに対応する。
【０１１８】
図１１において、８０１は印刷画像データであり、本例では文字枠を含む２画像と２罫線枠が印刷対象データである。この２画像、２罫線枠に対しレイアウト決定処理状態８０２において印刷のためのレイアウト情報（例えば４ｉｎ１で、左上、右上、左下、右下に順に配置）が決定される。
【０１１９】
本例は、２画像、２罫線枠を１面上に印刷するレイアウト印刷であるが、この場合の出力矩形枠▲１▼〜▲４▼が決定される。また、本レイアウト決定が任意の矩形枠数及び任意の配置に対応可能であることは言うまでもない。
【０１２０】
次に、ライン単位処理状態８０３において、実際の印刷処理が実行される。本処理の詳細については後述するが副操作方向に１ラスタラインずつの処理が繰り返し実行される。
【０１２１】
また、主走査方向第一矩形枠終了状態８０４では、枠▲１▼の画像及び枠▲２▼の罫線の矩形枠に対して印刷が行われた直後の状態である。
【０１２２】
本レイアウトは２画像、２罫線枠に対する処理であるが、文字枠を含む１画像、１罫線枠までの処理が終了した時点での紙面上の印刷結果を表している。
【０１２３】
８０５は印刷結果であり、主走査方向第一矩形枠終了状態８０４から更に進み、枠▲３▼の画像及び枠▲４▼の罫線に対する処理が終了し２画像、２罫線枠の全ての印刷が終了した時点の状態である。
【０１２４】
次に、図１２を参照して、図１１に示したライン単位処理状態８０３に挙げた１ラスタラインでの処理について詳述する。
【０１２５】
図１２は、図２に示した印刷装置２０３による第２のレイアウト印刷処理状態を説明する模式図である。
【０１２６】
図１２において、９０１は印刷結果で、画像枠▲１▼及び▲２▼の罫線枠に対して数ラインの処理が施された印刷状態に対応する。
【０１２７】
印刷結果９０１の結果を生成するために、まず、ソース画像と罫線分割状態９０２に挙げるように副走査方向に画像をラスタラインごとに分割する。
【０１２８】
ソース画像と罫線分割状態９０２の例は、枠▲１▼のソース画像と枠▲２▼のソース罫線枠をそれぞれラスタライン毎に分割した状態である。
【０１２９】
分割された各ラスタラインデータは、図７を用いて上述した処理を施して出力バッファ上に配置される。
【０１３０】
９０３は出力バッファ上の結果で、図１２に示した枠▲１▼の画像と枠▲２▼の罫線枠の各ラスタラインがバッファ上に配置された状態であるが、それぞれの矩形枠にあわせて配置される。以上の処理を繰り返すことにより、印刷結果９０１が取得可能となる。
【０１３１】
次に、文字枠を含む画像枠と罫線枠を含む印刷結果９０５を得るための処理方法について説明する。
【０１３２】
９０４は文字列データで、フォント復号化の結果の１例であり、印刷結果９０５の枠▲１▼の画像の下部の文字挿入位置に処理ラスタがきた時に、フォント復号化処理を呼び出し、その結果として得られるデータである。
【０１３３】
印刷結果９０５の結果は、図１２に示した枠▲１▼の画像の当該ラスタデータを生成する。次に、当該ラスタに相当する挿入文字パターンをフォント復号化処理より取得する。
【０１３４】
そして、画像データの上に文字パターンを挿入する、さらに、枠▲２▼の罫線枠の当該ラスタデータを合成する処理を行う。これらの処理を繰り返すことで、文字と罫線の挿入された印刷結果９０５を取得可能となる。
【０１３５】
次に、上記の如く構成された本発明の第２実施形態に係る印刷装置において、図１１及び図８，図１３のフローチャートを用いて処理フローを詳述する。なお、図８の詳細説明については省略し、各ステップにおける図１１，図１２等との対応を説明する。
【０１３６】
まず、処理開始時にバッファのクリア等の初期化処理を行い、ステップ（１００１）のレイアウト情報作成処理において印刷対象画像の出力用紙上でのレイアウト情報を作成する。本処理は、図１１に示したレイアウト決定処理状態８０２であり、出力画像数、出力順序、出力サイズ、レイアウト方法などにより、画像および罫線の出力枠、個数、枚数など配置情報を作成する。
【０１３７】
また、画像出力矩形枠と画像の縦横の画素数などから、回転情報や拡大／縮小率の情報もあわせて作成する。さらに、図１１に示したレイアウト決定処理状態８０２における枠▲１▼及び枠▲３▼の画像内に挿入する日付け枠の情報も作成する。日付け枠情報としては、文字挿入位置、文字サイズ、文字色などを作成する。
【０１３８】
この結果、図１１に示すレイアウト決定処理状態８０２における枠▲１▼〜▲４▼の画像レイアウト情報が決定される。なお本処理を実行する上でホスト装置や記憶媒体から本装置に画像データが入力されるのは言うまでもない。
【０１３９】
次に、作成されたレイアウト情報をもとに、画像矩形枠までの頭出し処理を実行する。本処理は、ステップ（１００２）において実行されるのであるが、エンジン部における給紙処理及び印刷領域枠までのラスタスキップ処理がその主たる内容である。この処理の結果、図１１に示したレイアウト決定処理状態８０２における用紙上端から枠▲１▼及び枠▲２▼に上端までのスキップ処理が実行される。
【０１４０】
次に、ステップ（１００３）において主走査方向の画像情報の更新を行う。これは図８に示したレイアウト決定処理状態８０２においては、枠▲１▼から画像情報そして枠▲２▼から罫線枠の情報を入手するものであるが、枠▲１▼から入手する情報には画像ファイル名、画像ファイルサイズ、画像フォーマット、撮影日時情報、画像サイズ等があり、枠▲２▼から入手する情報には、罫線種別、罫線色、罫線長、罫線幅、罫線間隔等がある。入手された情報は内部のバッファ領域に格納される。
【０１４１】
次に、ステップ（１００４）において、後述する次の主走査方向画像情報更新のための内部フラグに「１」をセットする。以上で初期化処理が終了しメインループへと進み。
【０１４２】
まず、ステップ（１００５）において、副走査方向の全ラスタの処理が終了したかの判断を行う。終了していないと判断した場合には、ステップ（１００６）へと進み、現対象ラスタが副走査方向の画像枠内かの判断を行う。本処理は図１１に示したレイアウト決定処理状態８０２においては、現対象ラスタが主走査方向に枠▲１▼及び枠▲２▼の枠内かの判断を行うものである。
【０１４３】
ここで、副走査方向画像枠内であると判断した場合には、ステップ（１００７）に進み上述したフラグに「１」を設定し、ステップ（１００８）に進み、図１３に後述する処理により主走査方向１ラスタラインの拡大後のデータを入手する。
【０１４４】
ここで、上記第１実施形態との違いは、入手するデータとして画像データに加えて文字データと罫線データが追加される点である。
【０１４５】
本データは量子化前のデータであるため、ステップ（１００９）において量子化処理を行いエンジン部が印刷可能なデータへと変換する。
【０１４６】
次に、ステップ（１０１０）において変換されたデータをエンジン部へ送信後、上述したステップ（１００５）の処理に戻り次のラスタへと移動する。
【０１４７】
一方、ステップ（１００６）において、副走査方向画像枠外と判断された場合はステップ（１０１１）へと進む。このケースは現対象ラスタが図１１に示したレイアウト決定処理８０２における枠▲１▼及び枠▲２▼の枠下端と枠▲３▼及び枠▲４▼の枠上端の間に位置する場合となる。
【０１４８】
出力紙上は、図１１に示した主走査方向第一矩形終了状態８０４であり、枠▲１▼の画像及び枠▲２▼の罫線枠の処理が終了し、枠▲３▼及び枠▲４▼に対する処理の開始前となっている。
【０１４９】
ステップ（１０１１）では画像枠外および罫線枠外であるために印刷されるデータがＮＵＬＬラスタとなる。このため、１ライン用のバッファをＮＵＬＬクリアする。
【０１５０】
次に、ステップ（１０１２）において、上述したフラグが「１」であるかの判定を行い、「１」でない場合にはそのままの状態で、ステップ（１００９）の量子化処理に進み、ＮＵＬＬラスタに対して量子化処理を行う。
【０１５１】
一方、フラグが「１」であると判断した場合には、ステップ（１０１３）へと進み、ステップ（１００３）と同様に主走査方向画像情報の更新を行う。
【０１５２】
図１１に示したレイアウト決定処理状態８０２においては、枠▲３▼の画像及び枠▲４▼の罫線枠に対する情報が本処理で設定される。
【０１５３】
次に、ステップ（１０１４）へと進み上述したフラグに「０」を設定する。このことにより枠外に複数のＮＵＬＬラスタが存在した場合に二重の主走査方向画像情報更新処理が実行されることを防ぐ。ステップ（１０１４）の処理後は、ステップ（１００９）へと進み、ＮＵＬＬラスタに対して量子化処理を行いエンジン部へと送信する。
【０１５４】
一方、ステップ（１００５）において、全ラスタに対する処理が終了したと判断された場合には処理を終了する。以上が本処理における副走査方向の処理であるが、本フローは処理の一例であり他のフローによる実現方法も可能である。
【０１５５】
次に、図１２および図１３及び図１４、図１５を参照して、本処理における主走査方向のフローを詳述する。なお本処理は、図８においては、１００８における１ラスタラインデータの入手処理である。
【０１５６】
図１３は、本発明に係る印刷装置における第３のデータ処理手順の一例を示すフローチャートであり、本処理における主走査方向のデータ処理手順に対応する。なお、（３００１）〜（３０１３）は各ステップを示す。また、図１２を用いた場合、本処理により図１２に示した出力バッファ状態９０３の１ラスタラインデータが作成されることになる。
【０１５７】
まず、ステップ（３００１）において、１ラスタラインの出力用バッファの初期化を行う。次に、ステップ（３００２）に進み、出力用バッファへの書き込み用バッファポインタのアドレスを設定する。設定されるアドレスは、例えば図１２に示した出力バッファ状態９０３においては、矩形幅▲１▼の左端である。
【０１５８】
次に、ステップ（３００３）において、主走査方向の全画像枠に対する処理が終了したかどうかの判断を行い、終了していないと判断した場合には、ステップ（３００４）に進み、復号化用出力バッファにラスタラインデータが存在するかどうかの判断を行い、データがあると判断した場合には、ステップ（３００５）に進み、復号化用出力バッファから１ラインのデータを入手する。この時入手されるデータは例えばＪＰＥＧデータをデコードしたＹＣｂＣｒ空間で表現されるデータである。
【０１５９】
次に、ステップ（３００６）において、１ラスタラインデータに対する色空間変換処理を行い、１ラスタラインデータをＲＧＢ空間のデータへと変換する。更に、ステップ（３００７）において、ＲＧＢ空間で表現される１ラスタラインデータをデバイス依存カラーであるＣＭＹＫデータへと変換する色変換処理を実行し、ステップ（３００８）へと進む。
【０１６０】
そして、ステップ（３００８）では、デバイス依存カラーのＣＭＹＫデータに対し拡大処理を実行する。
【０１６１】
本拡大処理には単純拡大等の公知技術が利用可能であるが、その目的とするところは図１２に示した出力バッファ状態９０３における矩形幅▲１▼もしくは▲３▼のような出力矩形幅にあわせて入力画像のラスタラインデータを拡大することにある。
【０１６２】
次に、ステップ（３００９）において、拡大された１ラスタラインのデバイス依存カラーデータを出力用バッファに保存する。図１２を用いて概説すると、ステップ（３００４）〜（３００９）の処理により、出力バッファ状態９０３の矩形幅▲１▼に対する処理が終了したことになる。
【０１６３】
次に、ステップ（３０１０）において、図１４において、後述する処理により主走査方向１ラスタラインの日付データの挿入を行う。
【０１６４】
次に、ステップ（３０１１）において、出力用バッファへの書き込み用バッファポインタのアドレスを移動し、ステップ（３００３）の処理へと戻る。この時に更新されたアドレスは、例えば図１２に示した出力バッファ状態９０３においては罫線▲２▼用枠の左端となっている。
【０１６５】
また、ステップ（３００４）において、復号化用出力バッファにラスタデータがない場合には、ステップ（３０１２）に進み、画像データに対する復号化処理を行い、新たに数ラインのデータを生成して上述したステップ（３００５）の処理に進む。
【０１６６】
一方、ステップ（３００３）において、主走査方向における全画像枠に対する処理が終了したと判断された場合には、ステップ（３０１３）において、図１４において、後述する処理により主走査方向１ラスタラインの罫線データ挿入を最後に行って処理を終了する。
【０１６７】
以上がデバイスカラーでの１ラスタラインデータの生成方法であり、以上の処理によって、画像、文字、罫線がマージされた１ラスタラインのデータを生成することができ、ステップ（３００４）〜（３０１３）における処理を主走査方向の全画像枠に対して実行することで、１ラスタラインのバッファを使用して文字および罫線を含めた複数画像のレイアウト機能を実現することが可能となる。
【０１６８】
次に、図１４を用いて本処理における画像内への日付挿入処理のフローについて詳述する。
【０１６９】
図１４は、本発明に係る印刷装置における第４のデータ処理手順の一例を示すフローチャートであり、本処理は、図１３においては、ステップ（３０１０）から呼び出される日付挿入処理手順の詳細手順に対応する。なお、図１２を用いた場合、本処理により図１２に示した文字列データ９０４の日付文字パターンの当該１ラインデータが作成されることになる。なお、（４００１）〜（４００５）は各ステップを示す。
【０１７０】
まず、ステップ（４００１）において、現在の処理ラスタが日付けを挿入するラスタかどうかの判断を、図８に示したステップ（１００１）のレイアウト情報作成処理で得た情報を参照して行う。
【０１７１】
ここで、日付けを挿入しないラインと判断した場合は、出力バッファにデータを出力することなく、処理を終了する。
【０１７２】
まず、ステップ（４００１）で、日付けを挿入するラインかどうかを判断して、日付けを挿入するラインであると判断した場合は、ステップ（４００２）のフォントの復号化処理を実行し、処理ラスタに該当する１ラスタ分のフォントパターンを生成する。
【０１７３】
次に、ステップ（４００３）で、生成されたフォントパターンをフォント復号化バッファから取り出しを行う。なお、ステップ（４００２）で生成されるフォントパターンは、例えば２値の情報であり、ステップ（４００４）では、このデータをデバイスカラー、例えばＣＭＹＫに変換する処理を行い、ステップ（４００５）で既に画像データが格納された出力バッファ上にフォントパターンのある部分のみ上書きする処理を行って、処理を終了する。以上が日付挿入処理の動作説明である。
【０１７４】
以上のように、日付文字を画像データ上に最後に且つデバイスカラーで出力することで、色空間変換処理や色変換処理などの画像処理の影響を受けることなく、常に同じ色の文字データの結果を得ることが実現可能となる。
【０１７５】
最後に、図１５を参照して、本処理における画像内への日付挿入処理のフローについて詳述する。
【０１７６】
図１５は、本発明に係る印刷装置における第５のデータ処理手順の一例を示すフローチャートであり、本処理は、図１３においては、ステップ（３０１３）から呼び出される罫線挿入処理である。なお、（５００１）〜（５００５）は各ステップを示す。図９を用いた場合、本処理により図１２に示した分割状態９０２の罫線パターンの当該１ラインデータが作成されることになる。
【０１７７】
まず、ステップ（５００１）において、現在の処理ラスタが罫線を挿入するラスタかどうかの判断を、図８に示したステップ（１００１）は、レイアウト情報作成処理で得た情報を参照して行う。ここで、罫線を挿入しないラインと判断した場合は、出力バッファにデータを出力することなく、処理を終了する。
【０１７８】
一方、ステップ（５００１）で、罫線を挿入するラインと判断した場合は、ステップ（５００２）の罫線の復号化処理を実行し、処理ラスタに該当する１ラスタ分の罫線パターンを生成する。
【０１７９】
次に、ステップ（５００３）で、生成された罫線パターンを罫線復号化バッファから取り出しを行う。なお、ステップ（５００２）で生成される罫線パターンは、例えば２値の情報であり、ステップ（５００４）ではこのデータをデバイスカラー、例えばＣＭＹＫに変換する処理を行い、ステップ（５００５）で既に画像データが格納された出力バッファ上に罫線データを上書きする処理を行って、処理を終了する。以上が罫線挿入処理の動作説明である。
【０１８０】
図１６は、本発明に係る印刷装置における第６のデータ処理手順の一例を示すフローチャートであり、フォント復号化処理手順に対応し、本処理は、図１４で示す罫線挿入処理のステップ（４００２）から呼び出される。なお、（６００１）〜（６００５）は各ステップを示す。
【０１８１】
図１７は、図１６に示すフォント復号化処理において上位プログラムから引き渡される入力パラメータと出力結果との対応を説明する図である。
【０１８２】
本実施形態では、上位プログラムからは、図１７で示すように、「文字コード列」，「文字サイズ」，「取得ラスタ数」等の入力パラメータが渡される。また、本例は、文字サイズが３６ドット×４８ドットで構成されている場合に対応する。
【０１８３】
本プログラムでは、まず、ステップ（６００１）で、渡されて文字コード列（２００３／０７／１８に対応する文字コード列）を先頭から順番に取り出す処理を行う。次に、ステップ（６００２）で、取り出した文字コードが有効文字であるかどうかを判定して、もし、ＮＵＬＬであったり、図３に示したＲＯＭ３０２に内蔵しない文字コードであると判断した場合は、処理を終了する。
【０１８４】
一方、ステップ（６００２）で、有効文字であると判断した場合は、ステップ（６００３）で、文字コードをキーとして、図１８で示すＲＯＭ内蔵フォントデータのＩＮＤＥＸ部を検索する。
【０１８５】
図１８は、図３に示したＲＯＭ３０２に内蔵されるフォトデータの構造を説明する図である。
【０１８６】
そして、文字コードに対応するフォントパターンの先頭アドレスを取得する。ＲＯＭ内蔵フォントデータは、図１７で示すように、文字コードと対応パターン格納先頭アドレスをペアとして持つＩＮＤＥＸ部とフォントパターン実体部から構成されており、格納されるフォントパターンのサイズは、本例では、幅３０ドット、高さ４０ドットとして図示している。もちろん、アウトラインフォントを格納する手段を搭載しても良いことは言うまでもない。
【０１８７】
続いて、ステップ（６００４）で、ＲＯＭ内蔵フォントサイズ（３０ドット×４０ドット）と「要求文字サイズ」を比較し、変倍率を決定する。図１７に示す例では、「文字コード列が２００３／０７／１８」，「文字サイズが３６ドット×４８ドット」，「取得ラスタ数が１」の場合の例を示しているが、この場合は、各々のフォントパターンが横縦共に１．２倍に拡大される結果となる。
【０１８８】
変倍処理は、「単純拡大処理」あるいは「１次補間拡大処理」などを実装して行われる。補間処理自体は本発明と直接関係しないので、説明を省略する。
【０１８９】
最後に、ステップ（６００５）で、ステップ（６００４）で決めた変倍率に基づき、ＲＯＭフォントパターンを拡大し、要求された「取得ラスタ数」に相当する１ラインのデータのみを、復号化バッファに格納する処理を行う。
【０１９０】
上位プログラムからは、「取得ラスタ１」より順番に、１ずつインクリメントを行い「取得ラスタ４８」まで本関数を呼び出すことで、フォントの全パターンを取得するような制御が行われる。このことは、本発明が省メモリで動作できるように１ラスタずつ単位で処理を行うことの前提から、このような処理が行われている。
【０１９１】
ステップ（６００５）処理後は、ステップ（６００１）に処理を戻すことで、全要求文字列に対して処理を行い、要求される文字列の要求ラスタのパターンを復号化して返却する処理を行っている。
【０１９２】
図１９は、本発明に係る印刷装置における第７のデータ処理手順の一例を示すフローチャートであり、罫線復号化処理手順に対応する。本処理は、図１５で示す罫線挿入処理のステップ（５００２）から呼び出される。なお、（７００１）〜（７００４）は各ステップを示す。
【０１９３】
図２０は、図３に示したＲＯＭ３０２に内蔵される罫線データの構造を説明する図であり、図２１は、図２０に示すＲＯＭ内蔵罫線データに対する入力パラメータと罫線出力結果との対応を示す図である。
【０１９４】
なお、本実施形態におけるＲＯＭ内蔵罫線データは、図２１で示すように、罫線種別コードと対応罫線パターン格納先頭アドレスをペアとして持つＩＮＤＥＸ部と罫線パターン実体部から構成されており、格納される罫線パターンのサイズは、本例では、幅３０ドット、高さ４０ドットとして図示している。もちろん、アウトラインフォントを格納する手段を搭載しても良いことは言うまでもない。
【０１９５】
上位プログラムからは、図２０で示すように、「罫線種別コード」，「罫線長」，「取得ラスタ数」が渡される。
【０１９６】
本プログラムでは、まず、ステップ（７００１）で、渡されて罫線種別コードを取り出す処理を行う。次に、ステップ（７００２）で取り出した文字コードが有効文字であるかどうかを判定して、もし、ＮＵＬＬであったり、図３に示したＲＯＭ３０２に内蔵しない罫線種別コードである場合は、処理を終了する。
【０１９７】
一方、ステップ（７００２）で、有効文字であったと判定した場合は、ステップ（７００３）で、罫線種別コードをキーとして、図２０で示すＲＯＭ内蔵罫線データのＩＮＤＥＸ部を検索する。そして、罫線種別コードに対応する罫線パターンの先頭アドレスを取得する。
【０１９８】
そして、最後に、ステップ（７００４）で、ＲＯＭ内蔵罫線サイズ（３０ドット×４０ドット）を基調として、上位プログラムから渡される「罫線長」分、横方向に拡大する処理を行う。
【０１９９】
ここでの拡大は、変倍処理ではなく、ＲＯＭ内蔵パターンを必要分横方向に並べることによって行われる。なお、端数がでた場合は、切り取ることで、要求された「罫線長」分のパターンを生成する処理が行われる。
【０２００】
そして、要求された「取得ラスタ数」に相当する１ラインのデータのみを、復号化バッファに格納する処理を行う。上位プログラムからは、「取得ラスタ１」より順番に、１ずつインクリメントを行い「取得ラスタ４０」まで本関数を呼び出すことで、罫線の全パターンを取得するような制御が行われる。このことは、本発明が省メモリで動作できるように１ラスタずつ単位で処理を行うことの前提から、このような処理が行われている。
【０２０１】
ステップ（７００４）処理により、罫線復号化処理は完結する。
【０２０２】
以上のように、罫線データを画像データ上に最後に且つデバイスカラーで出力することにより、色空間変換処理や色変換処理などの画像処理の影響を受けることなく、常に同じ色の罫線データの結果が得ることが実現可能となる。
【０２０３】
以上詳述した図８及び図１３、図１４、図１５，図１６，図１９におけるフローを繰り返すことにより、主走査方向及び副走査方向に定義したレイアウト枠に対する画像の配置が可能となり、且つ、デバイス依存カラーで文字、罫線を挿入することのできるレイアウト印刷機能が実現可能となる。以上が第２実施形態における印刷装置内の動作である。
【０２０４】
以下、図２２に示すメモリマップを参照して本発明に係る印刷装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０２０５】
図２２は、本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０２０６】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２０７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２０８】
本実施形態における図８，図９，図１３，図１４，図１５，図１６，図１９に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２０９】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２１０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２１１】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０２１２】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０２１３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２１４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０２１５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２１６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２１７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２１８】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０２１９】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０２２０】
【発明の効果】
以上説明したように、本発明によれば、生成された複数画像の１ラスタライン画像データに対して、第２の画像処理を実行して１ラスタラインバッファ上に配置し、さらに、該１ラスタラインバッファ上に文字データと罫線データを配置した後、１ラスタラインデータに対して量子化処理を行って１ラスタライン単位に印刷データを出力することにより、印刷装置内に大量のメモリを必要することなく、複数画像のレイアウト印刷を実現し、かつ画像に依存することなく常に同じ色での文字や罫線の挿入した印刷結果を安価に得ることができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示す印刷装置のデータ処理機構を説明するブロック図である。
【図２】本発明に係る印刷装置を適用可能な印刷システムの一例を示すブロック図である。
【図３】図２に示した印刷装置の内部構成を示す詳細ブロック図である。
【図４】図３に示す印刷装置から出力される印刷結果例を示す図である。
【図５】図２に示した印刷装置による第１のレイアウト印刷処理状態を説明する模式図である。
【図６】図５に示した状態における画像ラスタライズ処理を説明する模式図である。
【図７】図６に示した１ラスタラインデータの生成処理の流れを説明する概念図である。
【図８】本発明に係る印刷装置における第１のデータ処理手順の一例を示すフローチャートである。
【図９】本発明に係る印刷装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１０】本発明に係る印刷装置における印刷結果例を示す模式図である。
【図１１】図２に示した印刷装置による第２のレイアウト印刷処理状態を説明する模式図である。
【図１２】図２に示した印刷装置による第２のレイアウト印刷処理状態を説明する模式図である。
【図１３】本発明に係る印刷装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１４】本発明に係る印刷装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１５】本発明に係る印刷装置における第５のデータ処理手順の一例を示すフローチャートである。
【図１６】本発明に係る印刷装置における第６のデータ処理手順の一例を示すフローチャートである。
【図１７】図１６に示すフォント復号化処理において上位プログラムから引き渡される入力パラメータと出力結果との対応を説明する図である。
【図１８】図３に示したＲＯＭに内蔵されるフォトデータの構造を説明する図である。
【図１９】本発明に係る印刷装置における第７のデータ処理手順の一例を示すフローチャートである。
【図２０】図３に示したＲＯＭに内蔵される罫線データの構造を説明する図である。
【図２１】図２０に示すＲＯＭ内蔵罫線データに対する入力パラメータと罫線出力結果との対応を示す図である
【図２２】本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
１０１，１１１  ＪＰＥＧデータ
１０２，１１２  復号化処理部
１０３，１１３  色空間変換処理部
１０４，１１４  色変換処理部
１０５，１１５  拡大処理部
【図１】
2005062919.tif 000003
【図２】
2005062919.tif 000004
【図３】
2005062919.tif 000005
【図４】
2005062919.tif 000006
【図５】
2005062919.tif 000007
【図６】
2005062919.tif 000008
【図７】
2005062919.tif 000009
【図８】
2005062919.tif 000010
【図９】
2005062919.tif 000011
【図１０】
2005062919.tif 000012
【図１１】
2005062919.tif 000013
【図１２】
2005062919.tif 000014
【図１３】
2005062919.tif 000015
【図１４】
2005062919.tif 000016
【図１５】
2005062919.tif 000017
【図１６】
2005062919.tif 000018
【図１７】
2005062919.tif 000019
【図１８】
2005062919.tif 000020
【図１９】
2005062919.tif 000021
【図２０】
2005062919.tif 000022
【図２１】
2005062919.tif 000023
【図２２】
2005062919.tif 000024