JP2005062919A - Printing device, print control method, storage medium in which computer-readable program is stored, and program - Google Patents

Printing device, print control method, storage medium in which computer-readable program is stored, and program Download PDF

Info

Publication number
JP2005062919A
JP2005062919A JP2003206830A JP2003206830A JP2005062919A JP 2005062919 A JP2005062919 A JP 2005062919A JP 2003206830 A JP2003206830 A JP 2003206830A JP 2003206830 A JP2003206830 A JP 2003206830A JP 2005062919 A JP2005062919 A JP 2005062919A
Authority
JP
Japan
Prior art keywords
data
processing
image
layout
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003206830A
Other languages
Japanese (ja)
Other versions
JP4323885B2 (en
Inventor
Tomoyuki Watanabe
知行 渡辺
Takuya Matsuno
卓也 松野
Hirokazu Ishii
宏和 石井
Yoshio Onuma
宣雄 大沼
Masao Kato
真夫 加藤
Tetsuya Suwa
徹哉 諏訪
Mitsuhiro Ono
光洋 小野
Kazuya Imafuku
和也 今福
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003206830A priority Critical patent/JP4323885B2/en
Publication of JP2005062919A publication Critical patent/JP2005062919A/en
Application granted granted Critical
Publication of JP4323885B2 publication Critical patent/JP4323885B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Color Image Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To realize the layout print of a plurality of images without a large-capacity memory in a printing device and obtain inexpensively prints in which characters and ruled lines with the same color are always inserted independently of the images. <P>SOLUTION: Second image processing is executed to one raster line image data of a plurality of images generated by image processing units 1001 and 1002 to arrange the result on a one raster line buffer 120. Then, after character data and ruled line data are arranged on the one raster line buffer 120, a quantization processing part 121 executes quantization processing to one raster line data to output print data in one raster line unit. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ホスト装置等から入力される複数の画像データに所定の画像処理を施して、複数の画像データをレイアウトして印刷処理する印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【0002】
【従来の技術】
従来、印刷システム、例えばパソコンなどのホスト装置側における印刷制御装置で作成されたデータを接続されるプリンタで印刷する場合、各印刷制御装置内のプリンタドライバにおいて、プリンタが印刷可能なデータを作成し、プリンタに送信するシステム一般的となっている。
【0003】
しかし、近年にはこのシステムに加え、デジタルカメラ等のホスト装置を直接プリンタに接続して印刷するシステムや、プリンタに搭載されるリーダを介してメモリカード等のデータ保存デバイス内にあるデータから直接印刷を行うダイレクト印刷装置及びダイレクト印刷システム(例えば特許文献1参照)が出現している。
【0004】
一方、上述したパソコン等を使用した印刷システムにおいては、各プリンタ特有のデータを作成するため、各システム内のプリンタドライバソフトウエア内において、画像に対してCRT等他の色空間からプリンタ色空間への変換を行う色補正処理、プリンタ色空間内での変換を行う色変換処理、量子化処理などを施し、プリンタに最適なデータを生成するのが一般的である。
【0005】
しかしながら、上述したデジタルカメラやメモリカードなどから直接印刷を行うダイレクト印刷システムにおいてはホスト機器の能力に制限があるため機器内にプリンタドライバを搭載することが困難であることから、印刷対象画像をJPEG等の一般的な画像フォーマットとして印刷装置に送信し、印刷装置内で上記処理を施して印刷を行う手法がとられている。
【0006】
一方では、近年の急速なデジタルカメラの普及に伴いその印刷結果にも新たなニーズが現れている。
【0007】
単に一枚印刷が可能なだけではなく、撮影日の日付けや画像ファイル名の印刷、複数の画像を様々なフォーマットで一枚に印刷するレイアウト印刷やインデックス印刷、コメント用の罫線やフレームの挿入などである。
【0008】
これらのニーズはPCからの印刷時のみならずダイレクト印刷システムにおいても同様でありレイアウト機能の搭載など印刷装置においても対応が図られている。
【0009】
【特許文献1】特開2003−25678号公報
【0010】
【発明が解決しようとする課題】
しかしながら上記従来例においては、印刷装置内に上述した一連の画像処理機能や複数画像のレイアウト処理機能を実現するために、出力用のページメモリやワーク用のメモリ、複数の入力画像を同時に展開するための大量のワークバッファが必要となってしまっていた。
【0011】
また、大量のバッファを用意した上でも画像の特性にあわせて処理を行う効果処理においては、出力用のページメモリ上に複数画像を展開した後に、各画像ごとに異なった処理を行うことが困難であった。
【0012】
一方、文字や罫線の挿入機能においては、データサイズの削減などの理由から文字や罫線のデータをデバイス非依存な色として定義し、画像上に重ね合わせて配置する等の手法がとられている。
【0013】
しかし、画像上に重ね合わせた後に、一連の画像処理が実行されるため、各画像ごとにその特性に合わせた効果処理を施すと、結果として画像ごとに異なった色で文字や罫線が印刷されるという問題もあった。
【0014】
本発明は、上記の問題点を解決するためになされたもので、本発明は、生成された複数画像の1ラスタライン画像データに対して、第2の画像処理を実行して1ラスタラインバッファ上に配置し、さらに、該1ラスタラインバッファ上に文字データと罫線データを配置した後、1ラスタラインデータに対して量子化処理を行って1ラスタライン単位に印刷データを出力することにより、印刷装置内に大量のメモリを必要とすることなく、複数画像のレイアウト印刷を実現し、かつ画像に依存することなく常に同じ色での文字や罫線の挿入を可能とする安価な印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明に係る第1の発明は、複数の入力画像データに対して第1の画像処理を施して、1もしくは複数のラスタラインデータを生成する画像データ生成手段と、前記画像データ生成手段により生成された複数画像の1ラスタライン画像データに対して、第2の画像処理を実行して1ラスタラインバッファ上に配置する第1のレイアウト手段(例えば図1に示す第1の画像処理ユニット1001,1002)と、前記第1のレイアウト手段により生成された1ラスタラインバッファ(例えば図1に示すバッファ120)上に文字データと罫線データを配置する第2のレイアウト手段(例えば図3に示すROM302に記憶される描画処理プログラム)と、前記第1,第2のレイアウト手段によりレイアウトされた1ラスタラインデータに対して量子化処理を行う量子化処理手段(例えば図1に示す量子化処理部121)と、前記量子化処理手段により量子化処理された1ラスタライン単位に印刷を行う印刷手段(図3に示す印刷装置314)とを備えることを特徴とする。
【0016】
本発明に係る第2の発明は、前記第1のレイアウト手段は、前記第1の画像処理を実行して得られたデバイスカラーデータを前記1ラスタラインバッファ上に配置することを特徴とする。
【0017】
本発明に係る第3の発明は、前記第2のレイアウト手段は、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする。
【0018】
本発明に係る第4の発明は、前記第1の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする。
【0019】
本発明に係る第5の発明は、前記第2の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする。
【0020】
本発明に係る第6の発明は、複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする。
【0021】
本発明に係る第7の発明は、複数の入力画像データに対して第1の画像処理を施して、1もしくは複数のラスタラインデータを生成する画像データ生成ステップと、前記画像データ生成ステップにより生成された複数画像の1ラスタライン画像データに対して、第2の画像処理を実行して1ラスタラインバッファ上に配置する第1のレイアウトステップ(例えば図13に示すステップ(3001)〜(3009))と、前記第1のレイアウトステップにより生成された1ラスタラインバッファ上に文字データと罫線データを配置する第2のレイアウトステップ(図13に示すステップ(3013),(3010))と、前記第1,第2のレイアウトステップによりレイアウトされた1ラスタラインデータに対して量子化処理を行う量子化処理ステップ(図8に示すステップ(1009))と、前記量子化処理ステップにより量子化処理された1ラスタライン単位に印刷を行う印刷ステップとを備えることを特徴とする。
【0022】
本発明に係る第8の発明は、前記第1のレイアウトステップは、前記第1の画像処理を実行して得られたデバイスカラーデータを前記1ラスタラインバッファ上に配置することを特徴とする。
【0023】
本発明に係る第9の発明は、前記第2のレイアウトステップは、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする。
【0024】
本発明に係る第10の発明は、前記第1の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする。
【0025】
本発明に係る第11の発明は、前記第2の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする。
【0026】
本発明に係る第12の発明は、複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする。
【0027】
本発明に係る第13の発明は、第7〜第12の発明のいずれかに記載の印刷制御方法を実現するプログラムをコンピュータが読み取り可能な記憶媒体に記憶したことを特徴とする。
【0028】
本発明に係る第14の発明は、第7〜第12の発明のいずれかに記載の印刷制御方法を実現することを特徴とするプログラム。
【0029】
【発明の実施の形態】
〔第1実施形態〕
以下、添付図面に従って本発明に係わる第1実施形態を詳細に説明する。
【0030】
図1は、本発明の第1実施形態を示す印刷装置のデータ処理機構を説明するブロック図である。
【0031】
図1において、101,111はJPEG形式の印刷対象画像データ、102,112は復号化処理部、103,113は色空間変換処理部、104,114は色変換処理部、105,115は拡大処理部、106,116は各データの1ラスタラインのデータ、120は出力バッファを表す。なお、1001は第1の画像処理ユニットで、102〜105から構成されている。また、1002は第2の画像処理ユニットで、112〜115から構成されている。
【0032】
また、121は量子化処理部であり、122は1ラスタラインの印刷結果、123は最終出力結果である。更に詳細に説明する。
【0033】
印刷対象画像データ101,111は、図1では一例としてJPEGデータを使用するがデータフォーマットを規定するものではない。印刷対象画像データ101に対して、復号化処理部102において復号化処理が実行される。この時出力画像枠に応じて回転及び縮小の処理が実行される場合もある。
【0034】
そして、復号化処理からは複数ラインのデータが生成されるが、各ラスタラインごとに以降の処理が実行される。色空間変換処理部103では復号化された1ラスタラインデータに対して色空間変換処理が実行されRGB等の色空間データが生成される。
【0035】
色変換処理部104ではデバイス依存カラーへの色変換処理が実行され印刷装置に依存したデータが生成される。拡大処理部105では色変換処理部104において生成されたデバイス依存データに対して拡大処理が実行される。同様に、印刷対象画像データ111に対しては上述の処理が復号化処理部112から拡大処理部115として実行され、1ラスタラインのデータ116が生成される。
【0036】
120は1ラスタラインのバッファであり、バッファ上に上述したデータ及び文字や罫線データの配置を行うことでレイアウト処理が実行される。使用される文字データや罫線データは上述の画像データと同じようにデバイス依存カラーで表現されている。全てレイアウトが終了した1ラスタラインデータは、量子化処理部121において量子化処理が施され、印刷がエンジン部122により行われる。以上の処理を繰り返すことにより最終出力結果123が得られる。
【0037】
図2は、本発明に係る印刷装置を適用可能な印刷システムの一例を示すブロック図である。
【0038】
本発明の実施形態に係わる印刷装置は、印刷対象データを提供するためのホスト装置201、本発明の手段を含む印刷装置203、及びホスト装置と印刷装置を接続する双方向インターフェース202で構成される。
【0039】
ホスト装置201は、PC等のコンピュータのみならず、例えばデジタルカメラやスキャナ等のダイレクト印刷を行う場合のホスト機器である。
【0040】
このように構成された印刷システムにおいて、例えばホスト装置201としてデジタルカメラを使用する場合、同ホスト装置201において撮影されたデータ、もしくは内蔵するメモリカード等の領域に保存されているデータが、双方向インターフェース202を介して印刷装置203に送信される。
【0041】
この時ホスト装置201からは印刷対象データに加え、印刷時の付加情報もあわせて印刷装置203に送信されるものとする。この付加情報には印刷データに付随する様々な情報の他に、印刷データを紙面上に表現するためのレイアウト情報、印刷設定情報などが含まれる。
【0042】
また、ホスト装置201を用いずに印刷を行う形態も可能である。
【0043】
印刷装置203内には後述する図3におけるメモリ装置や操作パネル等の手段を含む場合もあり、この場合にはメモリ装置から印刷データを読み出し、上述のような情報を操作パネルから入手して印刷装置203単独での印刷が可能となる。
【0044】
図3は、図2に示した印刷装置の内部構成を示す詳細ブロック図であり、本例に示す印刷装置203は、CPU301、ROM302、FlushROM303、RAM304、CFコントローラ306、CF I/F307、操作パネル308、操作パネルコントローラ309、通信装置310、通信装置コントローラ311、表示装置312、表示装置コントローラ313、印刷装置314、印刷装置コントローラ315で構成されている。
【0045】
図3において、CPU301によって読み出しのみ可能であるROM302や、書き換え可能なFlushROM303に格納される制御プログラムまたは制御手順が実行されるとき、RAM304は、CPU301の演算、論理判断における各種データを一時的に記憶するワークメモリとして用いられる。
【0046】
本発明の復号化処理、色空間変換処理、色変換処理、拡大処理、レイアウト処理、文字/罫線挿入処理、量子化処理などのプログラムは、ROM302あるいはFlushROM303に格納されており、各々のプログラムにより生成されるデータ、例えば、レイアウト情報、JPEGファイルの復号化結果、色空間変換結果、色変換結果、拡大結果、量子化結果などは、RAM304のそれぞれの保存領域に保存される。
【0047】
CF I/F307は、コンパクトフラッシュ(登録商標)カードのインターフェースであり、CFコントローラ306により駆動制御され、コンパクトフラッシュ(登録商標)カードに格納されたデジタルカメラ撮影JPEG画像の情報を、RAM304上に読み出す為に使用される。
【0048】
操作パネルコントローラ309は、操作者の指示を伝えるための入力インターフェースであり、操作した内容は、操作パネル308に表示され、印刷実行ボタン押下にて、印刷処理が起動される。
【0049】
通信装置310は、ホスト装置201と印刷装置203間の通信を行うための装置であり、通信装置コントローラ311で駆動制御され、ホスト装置201からの操作およびデータを受信すると共に、印刷装置203からの応答ステータスを返信する目的で使用される。
【0050】
印刷の操作指示は、操作パネル308からに加えて、ホスト装置200からの印刷実行ボタン押下によっても、行えるようなシステム構成となっている。
【0051】
表示装置312は、表示装置コントローラ313で駆動制御され、前記コンパクトフラッシュ(登録商標)(CF)より読み出された画像やエラーメッセージなどを表示するための出力装置であり、小型カラー液晶などが使用されている。
【0052】
印刷装置314は装着された用紙に対して、装置内のヘッド、インクを使用して記録出力する装置部である。操作パネル308あるいはデジタルカメラからの印刷処理は、各インターフェースから受信した情報により、CPU301がROM302あるいはFlushROM303の印刷制御プログラムを実行し、印刷装置コントローラ315を駆動制御することにより、印刷装置内のインクヘッドを動作させ、用紙に対してインクヘッド内のインクを噴射することを繰り返すことにより行われる。
【0053】
内部バス316は、CPU301から印刷装置314での機器間で通信するための、共通通信路であり、印刷装置内の全ての機器間の通信は、この内部バスを経由して行われる構成となっている。
【0054】
次に上述した印刷装置内における本発明に係わる処理について、図1〜図2、図4〜図6及び図7を用いて詳述する。
【0055】
図4は、図3に示す印刷装置314から出力される印刷結果例を示す図であり、本例は4画像を1紙面上に配置して印刷を行った場合の結果であるが、その流れを以下説明する。
【0056】
まず、図2において、ホスト装置201から4画像のデータが印刷装置203へと送信される。またデータの入手は上述したように印刷装置203内にある保存領域からでも構わない。また、印刷装置203での印刷データの入手時にあわせて、ホスト装置201もしくは内蔵する操作パネルから付随する情報の入手も行われる。
【0057】
次に、入手されたデータを印刷するまでの一連の流れについて、図5を用いて説明する。
【0058】
図5は、図2に示した印刷装置203による第1のレイアウト印刷処理状態を説明する模式図であり、太い矢印がデータ処理の流れに対応する。
【0059】
図5において、状態501は、印刷画像データであり、本例では4画像が印刷対象データである。この4画像に対し、状態502において、印刷のためのレイアウト情報が決定される。本例は4画像を1面上に印刷するレイアウト印刷であるが、この場合▲1▼〜▲4▼の出力矩形枠が決定される。
【0060】
また、本レイアウト決定が任意の矩形枠数及び任意の配置に対応可能であることは言うまでもない。次に、状態503において、実際の印刷処理が実行される。
【0061】
本処理の詳細については後述するが副操作方向に1ラスタラインずつの処理が繰り返し実行される。
【0062】
状態504は、▲1▼及び▲2▼の矩形枠に対して印刷が行われた直後の状態である。本レイアウトは4画像に対する処理であるが、2画像までの処理が終了した時点での紙面上の印刷結果を表している。
【0063】
状態505は状態504から更に進み、▲3▼及び▲4▼の画像枠に対する処理が終了し4画像全ての印刷が終了した時点の状態である。
【0064】
次に、図6を用いて、図5に示した状態503に挙げた1ラスタラインでの処理について詳述する。
【0065】
図6は、図5に示した状態503における画像ラスタライズ処理を説明する模式図である。
【0066】
図6において、601は画像枠▲1▼及び▲2▼に対して数ラインの処理が施された状態の印刷結果である。本結果を生成するために、まず、ソース画像分割例602に挙げるように副走査方向に画像をラスタラインごとに分割する。
【0067】
ソース画像分割例602は、ソース2画像をそれぞれラスタライン毎に分割した状態である。分割された各ラスタラインデータは、図7を用いて後述する処理を施して出力バッファ上に配置される。状態603は2画像の各ラスタラインがバッファ上に配置された状態であるが、それぞれの画像用矩形枠にあわせて配置される。以上の処理を繰り返すことにより、印刷結果604が取得可能となる。
【0068】
次に、図7を用いて、図6に挙げた1ラスタラインデータの生成処理の流れについて説明する。
【0069】
図7は、図6に示した1ラスタラインデータの生成処理の流れを説明する概念図である。
【0070】
なお、本説明では1画像データに対する処理を記述するが、複数画像データを用いたレイアウト印刷時には本処理が繰り返されることで実現される。
【0071】
1501は印刷対象画像データであり、そのデータフォーマットは、特に規定しないが本例ではJPEGデータを用いる。対象データは復号化処理部1502において復号化が行われる。この復号化では出力枠情報に応じて同時に画像の回転及び縮小処理が実行される。
【0072】
1503は1画像データ全てが復号化された結果データを表すが、本処理手段が使用できるバッファ量などに応じて1画像全てもしくは複数ラスタ単位での復号化が可能である。
【0073】
次に、復号化された数ラスタデータ1504は主走査方向に1ラスタラインに分割され切り出され、色空間変換処理部1505に渡す。この時点でのデータは例えばJPEGデータを復号化したYCbCr空間で表現されるNビットのYCbCrデータである。色空間変換処理部1505によりRGB空間への変換が施され、MビットのRGBデータが生成される。
【0074】
次に、色変換処理部1506においてデバイス依存カラーでCMYKデータへの変換が施され、LビットCMYKデータが生成される。次に、拡大処理部1507において拡大処理が実行される。
【0075】
本処理は、入力画素数を対応する出力枠の画素数に拡大する処理であり、出力されるデータは依然としてLビットCMYKデータである。以上の処理で出力枠に応じたデバイス依存カラーデータでの1ラスタラインデータが生成される。
【0076】
また、上記JPEGデータ1501が拡大処理部1507までの処理を主走査方向の各画像枠に対して実行することで、複数画像レイアウトが実現可能となる。
【0077】
一方、拡大後のデータは、量子化処理部1508においてKビットCMYKデータに変換され、エンジン部1509に送信されることにより印刷されることとなる。また上述した色空間処理、色変換処理、拡大処理、量子化処理には公知の技術が利用可能である。
【0078】
次に、上記の如く構成された本発明の実施形態に係る印刷装置において、図5、図8及び図9に示すフローチャートを用いて処理フローを詳述する。
【0079】
図8は、本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートであり、画像データに対する副走査方向への画像処理手順に対応する。なお、(1001)〜(1014)は各ステップを示す。
【0080】
まず、処理開始時にバッファのクリア等の初期化処理を行い、ステップ(1001)のレイアウト情報作成処理において、印刷対象画像の出力用紙上でのレイアウト情報を作成する。本処理は、図5に示したレイアウト決定処理502であり、出力画像数、出力順序、出力サイズ、レイアウト方法などにより、画像の出力枠、個数、枚数など配置情報を作成する。
【0081】
また、画像出力矩形枠と画像の縦横の画素数などから、回転情報や拡大/縮小率の情報もあわせて作成する。この結果、図5に示すレイアウト決定処理502における▲1▼〜▲4▼枠の画像レイアウト情報が決定される。
【0082】
なお、本処理を実行する上でホスト装置や記憶媒体から本装置に画像データが入力されるのは言うまでもない。
【0083】
次に、作成されたレイアウト情報をもとに、画像矩形枠までの頭出し処理を実行する。本処理は、ステップ(1002)において実行されるのであるが、エンジン部における給紙処理及び印刷領域枠までのラスタスキップ処理がその主たる内容である。この処理の結果、図5に示すレイアウト決定処理502における用紙上端から▲1▼及び▲2▼枠に上端までのスキップ処理が実行される。
【0084】
次に、ステップ(1003)において、主走査方向の画像情報の更新を行う。これは図5に示すレイアウト決定処理502においては、▲1▼及び▲2▼枠の画像からそれぞれの画像情報を入手するものであるが、入手する情報には画像ファイル名、画像ファイルサイズ、画像フォーマット、撮影日時情報、画像サイズ等がある。入手された情報は内部のバッファ領域に格納される。
【0085】
次に、ステップ(1004)において、後述する次の主走査方向画像情報更新のための内部フラグに「1」をセットする。以上で初期化処理が終了しメインループへと進む。
【0086】
まず、ステップ(1005)において、副走査方向の全ラスタの処理が終了したかの判断を行い、終了していないと判断した場合には、ステップ(1006)へと進み、現対象ラスタが副走査方向の画像枠内かの判断を行う。
【0087】
本処理は、図5に示したレイアウト決定処理502においては、現対象ラスタが主走査方向に▲1▼及び▲2▼の枠内かの判断を行うものである。
【0088】
ここで、副走査方向画像枠内であると判断した場合には、ステップ(1007)に進み上述したフラグに「1」を設定し、ステップ(1008)に進み、図9において、後述する処理により主走査方向1ラスタラインの拡大後のデータを入手する。
【0089】
本データは量子化前のデータであるためステップ(1009)において、量子化処理を行いエンジン部が印刷可能なデータへと変換する。次に、ステップ(1010)において変換されたデータをエンジン部へ送信後、上述したステップ(1005)の処理に戻り次のラスタへと移動する。
【0090】
一方、ステップ(1006)において、副走査方向画像枠外と判断された場合は、ステップ(1011)へと進む。
【0091】
このケースは現対象ラスタが図5に示したレイアウト決定処理502における枠▲1▼及び枠▲2▼の画像枠下端と枠▲3▼及び枠▲4▼の画像枠上端の間に位置する場合となる。出力紙上は、図5に示した主走査方向−矩形枠終了状態504の状態であり、枠▲1▼及び枠▲2▼の画像の処理が終了し、枠▲3▼及び枠▲4▼に対する処理の開始前となっている。
【0092】
ステップ(1011)では、画像枠外であるために印刷されるデータがNULLラスタとなる。このため1ライン用のバッファをNULLクリアする。次に、ステップ(1012)において、上述したフラグが「1」であるかの判定を行い、「1」でない場合にはそのままの状態で、ステップ(1009)の量子化部に進み、NULLラスタに対して量子化処理を行う。
【0093】
一方、ステップ(1012)で、フラグが「1」であると判断した場合には、ステップ(1013)へと進み、ステップ(1003)と同様に主走査方向画像情報の更新を行う。
【0094】
図5に示すレイアウト決定処理502においては、枠▲3▼及び枠▲4▼の画像に対する情報が本処理で設定される。
【0095】
次に、ステップ(1014)へと進み上述したフラグに「0」を設定する。このことにより画像枠外に複数のNULLラスタが存在した場合に二重の主走査方向画像情報更新処理が実行されることを防ぐ。
【0096】
そして、ステップ(1014)の処理後は、ステップ(1009)へと進み、NULLラスタに対して量子化処理を行いエンジン部へと送信する。
【0097】
一方、ステップ(1005)において、全ラスタに対する処理が終了したと判断された場合には、本処理を終了する。以上が本処理における副走査方向の処理であるが、本フローは処理の一例であり他のフローによる実現方法も可能である。
【0098】
次に、図6、図7及び図9を用いて本処理における主走査方向のフローを詳述する。
【0099】
図9は、本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートであり、本処理は、図8に示すステップ(1008)における1ラスタラインデータの入手処理手順に対応する。なお、(2001)〜(2011)は各ステップを示す。また、本処理により図6に示した1ラスタラインデータ603が作成されることになる。
【0100】
まず、ステップ(2001)において、1ラスタラインの出力用バッファの初期化を行う。次に、ステップ(2002)に進み、出力用バッファへの書き込み用バッファポインタのアドレスを設定する。
【0101】
この場合、設定されるアドレスは、例えば図6に示したソース画像分割状態602においては、矩形幅▲1▼の左端である。
【0102】
次に、ステップ(2003)において、主走査方向の全画像枠に対する処理が終了したかどうかの判断を行い、終了していないと判断した場合には、ステップ(2004)に進み復号化用出力バッファにラスタラインデータが存在するかどうかの判断を行い、データがあると判断した場合には、ステップ(2005)に進み復号化用出力バッファから1ラインのデータを入手する。
【0103】
この時、入手されるデータは例えばJPEGデータをデコードしたYCbCr空間で表現されるデータである。次に、ステップ(2006)において、1ラスタラインデータに対する色空間変換処理を行い、1ラスタラインデータをRGB空間のデータへと変換する。
【0104】
更に、ステップ(2007)において、RGB空間で表現される1ラスタラインデータをデバイス依存カラーであるCMYKデータへと変換する色変換処理を実行し、ステップ(2008)へと進む。
【0105】
そして、ステップ(2008)では、デバイス依存カラーのCMYKデータに対し拡大処理を実行する。本拡大処理には単純拡大等の公知技術が利用可能であるが、その目的とするところは、図6に示したソース画像分割状態602における矩形幅▲1▼もしくは矩形幅▲2▼のような出力矩形幅にあわせて入力画像のラスタラインデータを拡大することにある。
【0106】
次に、ステップ(2009)において、拡大された1ラスタラインのデバイス依存カラーデータを出力用バッファに保存する。
【0107】
図6を用いて概説すると、ステップ(2004)からステップ(2009)の処理により、図6に示したソース画像分割状態602の矩形幅▲1▼に対する処理が終了したことになる。
【0108】
次に、ステップ(2010)において、出力用バッファへの書き込み用バッファポインタのアドレスを移動し、ステップ(2003)の処理へと戻る。この時に更新されたアドレスは、例えば図6に示したソース画像分割状態602においては画像▲2▼用枠の左端となっている。
【0109】
また、ステップ(2004)において、復号化用出力バッファにラスタデータがない場合には、ステップ(2011)に進み、画像データに対する復号化処理を行い新たに数ラインのデータを生成して上述したステップ(2005)の処理に進む。
【0110】
一方、ステップ(2003)において、主走査方向における全画像枠に対する処理が終了したと判断された場合には処理を終了する。
【0111】
以上がデバイスカラーでの1ラスタラインデータの生成方法であるが、ステップ(2004)〜(2009)における処理を主走査方向の全画像枠に対して実行することで、1ラスタラインのバッファを使用して複数画像のレイアウト機能を実現することが可能となる。
【0112】
以上詳述した図8及び図9におけるフローを繰り返すことにより、主走査方向及び副走査方向に定義したレイアウト枠に対する画像の配置が可能となり、デバイス依存カラーでのレイアウト印刷機能が実現可能となる。以上が第1実施形態における印刷装置内の動作である。
【0113】
〔第2実施形態〕
以下、添付図面に従って本発明に係わる第2実施形態を詳細に説明する。なお、ハードディスク構成上は、第1実施形態に示した図1〜図7等の構成と同様であるので、図1〜図7に示す構成の説明は省略する。
【0114】
次に、上述した印刷装置内における本発明に係わる処理について、図1〜図3及び、図10〜図12を用いて詳述する。
【0115】
図10は、本発明に係る印刷装置における印刷結果例を示す模式図であり、本例は文字枠を含む2画像と2罫線枠を1紙面上に配置して印刷を行った場合の結果であるが、その流れは、まず、図2において、ホスト装置201から文字枠情報を含む2画像のデータと2罫線枠のデータが印刷装置203へと送信される。またデータの入手は上述したように印刷装置内にある保存領域からでも構わない。また印刷装置での印刷データの入手時にあわせて、ホスト装置もしくは内蔵する操作パネルから付随する情報の入手も行われる。
【0116】
次に入手されたデータを印刷するまでの一連の流れについて、図11を用いて説明する。
【0117】
図11は、図2に示した印刷装置203による第2のレイアウト印刷処理状態を説明する模式図であり、太い矢印がデータ処理の流れに対応する。
【0118】
図11において、801は印刷画像データであり、本例では文字枠を含む2画像と2罫線枠が印刷対象データである。この2画像、2罫線枠に対しレイアウト決定処理状態802において印刷のためのレイアウト情報(例えば4in1で、左上、右上、左下、右下に順に配置)が決定される。
【0119】
本例は、2画像、2罫線枠を1面上に印刷するレイアウト印刷であるが、この場合の出力矩形枠▲1▼〜▲4▼が決定される。また、本レイアウト決定が任意の矩形枠数及び任意の配置に対応可能であることは言うまでもない。
【0120】
次に、ライン単位処理状態803において、実際の印刷処理が実行される。本処理の詳細については後述するが副操作方向に1ラスタラインずつの処理が繰り返し実行される。
【0121】
また、主走査方向第一矩形枠終了状態804では、枠▲1▼の画像及び枠▲2▼の罫線の矩形枠に対して印刷が行われた直後の状態である。
【0122】
本レイアウトは2画像、2罫線枠に対する処理であるが、文字枠を含む1画像、1罫線枠までの処理が終了した時点での紙面上の印刷結果を表している。
【0123】
805は印刷結果であり、主走査方向第一矩形枠終了状態804から更に進み、枠▲3▼の画像及び枠▲4▼の罫線に対する処理が終了し2画像、2罫線枠の全ての印刷が終了した時点の状態である。
【0124】
次に、図12を参照して、図11に示したライン単位処理状態803に挙げた1ラスタラインでの処理について詳述する。
【0125】
図12は、図2に示した印刷装置203による第2のレイアウト印刷処理状態を説明する模式図である。
【0126】
図12において、901は印刷結果で、画像枠▲1▼及び▲2▼の罫線枠に対して数ラインの処理が施された印刷状態に対応する。
【0127】
印刷結果901の結果を生成するために、まず、ソース画像と罫線分割状態902に挙げるように副走査方向に画像をラスタラインごとに分割する。
【0128】
ソース画像と罫線分割状態902の例は、枠▲1▼のソース画像と枠▲2▼のソース罫線枠をそれぞれラスタライン毎に分割した状態である。
【0129】
分割された各ラスタラインデータは、図7を用いて上述した処理を施して出力バッファ上に配置される。
【0130】
903は出力バッファ上の結果で、図12に示した枠▲1▼の画像と枠▲2▼の罫線枠の各ラスタラインがバッファ上に配置された状態であるが、それぞれの矩形枠にあわせて配置される。以上の処理を繰り返すことにより、印刷結果901が取得可能となる。
【0131】
次に、文字枠を含む画像枠と罫線枠を含む印刷結果905を得るための処理方法について説明する。
【0132】
904は文字列データで、フォント復号化の結果の1例であり、印刷結果905の枠▲1▼の画像の下部の文字挿入位置に処理ラスタがきた時に、フォント復号化処理を呼び出し、その結果として得られるデータである。
【0133】
印刷結果905の結果は、図12に示した枠▲1▼の画像の当該ラスタデータを生成する。次に、当該ラスタに相当する挿入文字パターンをフォント復号化処理より取得する。
【0134】
そして、画像データの上に文字パターンを挿入する、さらに、枠▲2▼の罫線枠の当該ラスタデータを合成する処理を行う。これらの処理を繰り返すことで、文字と罫線の挿入された印刷結果905を取得可能となる。
【0135】
次に、上記の如く構成された本発明の第2実施形態に係る印刷装置において、図11及び図8,図13のフローチャートを用いて処理フローを詳述する。なお、図8の詳細説明については省略し、各ステップにおける図11,図12等との対応を説明する。
【0136】
まず、処理開始時にバッファのクリア等の初期化処理を行い、ステップ(1001)のレイアウト情報作成処理において印刷対象画像の出力用紙上でのレイアウト情報を作成する。本処理は、図11に示したレイアウト決定処理状態802であり、出力画像数、出力順序、出力サイズ、レイアウト方法などにより、画像および罫線の出力枠、個数、枚数など配置情報を作成する。
【0137】
また、画像出力矩形枠と画像の縦横の画素数などから、回転情報や拡大/縮小率の情報もあわせて作成する。さらに、図11に示したレイアウト決定処理状態802における枠▲1▼及び枠▲3▼の画像内に挿入する日付け枠の情報も作成する。日付け枠情報としては、文字挿入位置、文字サイズ、文字色などを作成する。
【0138】
この結果、図11に示すレイアウト決定処理状態802における枠▲1▼〜▲4▼の画像レイアウト情報が決定される。なお本処理を実行する上でホスト装置や記憶媒体から本装置に画像データが入力されるのは言うまでもない。
【0139】
次に、作成されたレイアウト情報をもとに、画像矩形枠までの頭出し処理を実行する。本処理は、ステップ(1002)において実行されるのであるが、エンジン部における給紙処理及び印刷領域枠までのラスタスキップ処理がその主たる内容である。この処理の結果、図11に示したレイアウト決定処理状態802における用紙上端から枠▲1▼及び枠▲2▼に上端までのスキップ処理が実行される。
【0140】
次に、ステップ(1003)において主走査方向の画像情報の更新を行う。これは図8に示したレイアウト決定処理状態802においては、枠▲1▼から画像情報そして枠▲2▼から罫線枠の情報を入手するものであるが、枠▲1▼から入手する情報には画像ファイル名、画像ファイルサイズ、画像フォーマット、撮影日時情報、画像サイズ等があり、枠▲2▼から入手する情報には、罫線種別、罫線色、罫線長、罫線幅、罫線間隔等がある。入手された情報は内部のバッファ領域に格納される。
【0141】
次に、ステップ(1004)において、後述する次の主走査方向画像情報更新のための内部フラグに「1」をセットする。以上で初期化処理が終了しメインループへと進み。
【0142】
まず、ステップ(1005)において、副走査方向の全ラスタの処理が終了したかの判断を行う。終了していないと判断した場合には、ステップ(1006)へと進み、現対象ラスタが副走査方向の画像枠内かの判断を行う。本処理は図11に示したレイアウト決定処理状態802においては、現対象ラスタが主走査方向に枠▲1▼及び枠▲2▼の枠内かの判断を行うものである。
【0143】
ここで、副走査方向画像枠内であると判断した場合には、ステップ(1007)に進み上述したフラグに「1」を設定し、ステップ(1008)に進み、図13に後述する処理により主走査方向1ラスタラインの拡大後のデータを入手する。
【0144】
ここで、上記第1実施形態との違いは、入手するデータとして画像データに加えて文字データと罫線データが追加される点である。
【0145】
本データは量子化前のデータであるため、ステップ(1009)において量子化処理を行いエンジン部が印刷可能なデータへと変換する。
【0146】
次に、ステップ(1010)において変換されたデータをエンジン部へ送信後、上述したステップ(1005)の処理に戻り次のラスタへと移動する。
【0147】
一方、ステップ(1006)において、副走査方向画像枠外と判断された場合はステップ(1011)へと進む。このケースは現対象ラスタが図11に示したレイアウト決定処理802における枠▲1▼及び枠▲2▼の枠下端と枠▲3▼及び枠▲4▼の枠上端の間に位置する場合となる。
【0148】
出力紙上は、図11に示した主走査方向第一矩形終了状態804であり、枠▲1▼の画像及び枠▲2▼の罫線枠の処理が終了し、枠▲3▼及び枠▲4▼に対する処理の開始前となっている。
【0149】
ステップ(1011)では画像枠外および罫線枠外であるために印刷されるデータがNULLラスタとなる。このため、1ライン用のバッファをNULLクリアする。
【0150】
次に、ステップ(1012)において、上述したフラグが「1」であるかの判定を行い、「1」でない場合にはそのままの状態で、ステップ(1009)の量子化処理に進み、NULLラスタに対して量子化処理を行う。
【0151】
一方、フラグが「1」であると判断した場合には、ステップ(1013)へと進み、ステップ(1003)と同様に主走査方向画像情報の更新を行う。
【0152】
図11に示したレイアウト決定処理状態802においては、枠▲3▼の画像及び枠▲4▼の罫線枠に対する情報が本処理で設定される。
【0153】
次に、ステップ(1014)へと進み上述したフラグに「0」を設定する。このことにより枠外に複数のNULLラスタが存在した場合に二重の主走査方向画像情報更新処理が実行されることを防ぐ。ステップ(1014)の処理後は、ステップ(1009)へと進み、NULLラスタに対して量子化処理を行いエンジン部へと送信する。
【0154】
一方、ステップ(1005)において、全ラスタに対する処理が終了したと判断された場合には処理を終了する。以上が本処理における副走査方向の処理であるが、本フローは処理の一例であり他のフローによる実現方法も可能である。
【0155】
次に、図12および図13及び図14、図15を参照して、本処理における主走査方向のフローを詳述する。なお本処理は、図8においては、1008における1ラスタラインデータの入手処理である。
【0156】
図13は、本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートであり、本処理における主走査方向のデータ処理手順に対応する。なお、(3001)〜(3013)は各ステップを示す。また、図12を用いた場合、本処理により図12に示した出力バッファ状態903の1ラスタラインデータが作成されることになる。
【0157】
まず、ステップ(3001)において、1ラスタラインの出力用バッファの初期化を行う。次に、ステップ(3002)に進み、出力用バッファへの書き込み用バッファポインタのアドレスを設定する。設定されるアドレスは、例えば図12に示した出力バッファ状態903においては、矩形幅▲1▼の左端である。
【0158】
次に、ステップ(3003)において、主走査方向の全画像枠に対する処理が終了したかどうかの判断を行い、終了していないと判断した場合には、ステップ(3004)に進み、復号化用出力バッファにラスタラインデータが存在するかどうかの判断を行い、データがあると判断した場合には、ステップ(3005)に進み、復号化用出力バッファから1ラインのデータを入手する。この時入手されるデータは例えばJPEGデータをデコードしたYCbCr空間で表現されるデータである。
【0159】
次に、ステップ(3006)において、1ラスタラインデータに対する色空間変換処理を行い、1ラスタラインデータをRGB空間のデータへと変換する。更に、ステップ(3007)において、RGB空間で表現される1ラスタラインデータをデバイス依存カラーであるCMYKデータへと変換する色変換処理を実行し、ステップ(3008)へと進む。
【0160】
そして、ステップ(3008)では、デバイス依存カラーのCMYKデータに対し拡大処理を実行する。
【0161】
本拡大処理には単純拡大等の公知技術が利用可能であるが、その目的とするところは図12に示した出力バッファ状態903における矩形幅▲1▼もしくは▲3▼のような出力矩形幅にあわせて入力画像のラスタラインデータを拡大することにある。
【0162】
次に、ステップ(3009)において、拡大された1ラスタラインのデバイス依存カラーデータを出力用バッファに保存する。図12を用いて概説すると、ステップ(3004)〜(3009)の処理により、出力バッファ状態903の矩形幅▲1▼に対する処理が終了したことになる。
【0163】
次に、ステップ(3010)において、図14において、後述する処理により主走査方向1ラスタラインの日付データの挿入を行う。
【0164】
次に、ステップ(3011)において、出力用バッファへの書き込み用バッファポインタのアドレスを移動し、ステップ(3003)の処理へと戻る。この時に更新されたアドレスは、例えば図12に示した出力バッファ状態903においては罫線▲2▼用枠の左端となっている。
【0165】
また、ステップ(3004)において、復号化用出力バッファにラスタデータがない場合には、ステップ(3012)に進み、画像データに対する復号化処理を行い、新たに数ラインのデータを生成して上述したステップ(3005)の処理に進む。
【0166】
一方、ステップ(3003)において、主走査方向における全画像枠に対する処理が終了したと判断された場合には、ステップ(3013)において、図14において、後述する処理により主走査方向1ラスタラインの罫線データ挿入を最後に行って処理を終了する。
【0167】
以上がデバイスカラーでの1ラスタラインデータの生成方法であり、以上の処理によって、画像、文字、罫線がマージされた1ラスタラインのデータを生成することができ、ステップ(3004)〜(3013)における処理を主走査方向の全画像枠に対して実行することで、1ラスタラインのバッファを使用して文字および罫線を含めた複数画像のレイアウト機能を実現することが可能となる。
【0168】
次に、図14を用いて本処理における画像内への日付挿入処理のフローについて詳述する。
【0169】
図14は、本発明に係る印刷装置における第4のデータ処理手順の一例を示すフローチャートであり、本処理は、図13においては、ステップ(3010)から呼び出される日付挿入処理手順の詳細手順に対応する。なお、図12を用いた場合、本処理により図12に示した文字列データ904の日付文字パターンの当該1ラインデータが作成されることになる。なお、(4001)〜(4005)は各ステップを示す。
【0170】
まず、ステップ(4001)において、現在の処理ラスタが日付けを挿入するラスタかどうかの判断を、図8に示したステップ(1001)のレイアウト情報作成処理で得た情報を参照して行う。
【0171】
ここで、日付けを挿入しないラインと判断した場合は、出力バッファにデータを出力することなく、処理を終了する。
【0172】
まず、ステップ(4001)で、日付けを挿入するラインかどうかを判断して、日付けを挿入するラインであると判断した場合は、ステップ(4002)のフォントの復号化処理を実行し、処理ラスタに該当する1ラスタ分のフォントパターンを生成する。
【0173】
次に、ステップ(4003)で、生成されたフォントパターンをフォント復号化バッファから取り出しを行う。なお、ステップ(4002)で生成されるフォントパターンは、例えば2値の情報であり、ステップ(4004)では、このデータをデバイスカラー、例えばCMYKに変換する処理を行い、ステップ(4005)で既に画像データが格納された出力バッファ上にフォントパターンのある部分のみ上書きする処理を行って、処理を終了する。以上が日付挿入処理の動作説明である。
【0174】
以上のように、日付文字を画像データ上に最後に且つデバイスカラーで出力することで、色空間変換処理や色変換処理などの画像処理の影響を受けることなく、常に同じ色の文字データの結果を得ることが実現可能となる。
【0175】
最後に、図15を参照して、本処理における画像内への日付挿入処理のフローについて詳述する。
【0176】
図15は、本発明に係る印刷装置における第5のデータ処理手順の一例を示すフローチャートであり、本処理は、図13においては、ステップ(3013)から呼び出される罫線挿入処理である。なお、(5001)〜(5005)は各ステップを示す。図9を用いた場合、本処理により図12に示した分割状態902の罫線パターンの当該1ラインデータが作成されることになる。
【0177】
まず、ステップ(5001)において、現在の処理ラスタが罫線を挿入するラスタかどうかの判断を、図8に示したステップ(1001)は、レイアウト情報作成処理で得た情報を参照して行う。ここで、罫線を挿入しないラインと判断した場合は、出力バッファにデータを出力することなく、処理を終了する。
【0178】
一方、ステップ(5001)で、罫線を挿入するラインと判断した場合は、ステップ(5002)の罫線の復号化処理を実行し、処理ラスタに該当する1ラスタ分の罫線パターンを生成する。
【0179】
次に、ステップ(5003)で、生成された罫線パターンを罫線復号化バッファから取り出しを行う。なお、ステップ(5002)で生成される罫線パターンは、例えば2値の情報であり、ステップ(5004)ではこのデータをデバイスカラー、例えばCMYKに変換する処理を行い、ステップ(5005)で既に画像データが格納された出力バッファ上に罫線データを上書きする処理を行って、処理を終了する。以上が罫線挿入処理の動作説明である。
【0180】
図16は、本発明に係る印刷装置における第6のデータ処理手順の一例を示すフローチャートであり、フォント復号化処理手順に対応し、本処理は、図14で示す罫線挿入処理のステップ(4002)から呼び出される。なお、(6001)〜(6005)は各ステップを示す。
【0181】
図17は、図16に示すフォント復号化処理において上位プログラムから引き渡される入力パラメータと出力結果との対応を説明する図である。
【0182】
本実施形態では、上位プログラムからは、図17で示すように、「文字コード列」,「文字サイズ」,「取得ラスタ数」等の入力パラメータが渡される。また、本例は、文字サイズが36ドット×48ドットで構成されている場合に対応する。
【0183】
本プログラムでは、まず、ステップ(6001)で、渡されて文字コード列(2003/07/18に対応する文字コード列)を先頭から順番に取り出す処理を行う。次に、ステップ(6002)で、取り出した文字コードが有効文字であるかどうかを判定して、もし、NULLであったり、図3に示したROM302に内蔵しない文字コードであると判断した場合は、処理を終了する。
【0184】
一方、ステップ(6002)で、有効文字であると判断した場合は、ステップ(6003)で、文字コードをキーとして、図18で示すROM内蔵フォントデータのINDEX部を検索する。
【0185】
図18は、図3に示したROM302に内蔵されるフォトデータの構造を説明する図である。
【0186】
そして、文字コードに対応するフォントパターンの先頭アドレスを取得する。ROM内蔵フォントデータは、図17で示すように、文字コードと対応パターン格納先頭アドレスをペアとして持つINDEX部とフォントパターン実体部から構成されており、格納されるフォントパターンのサイズは、本例では、幅30ドット、高さ40ドットとして図示している。もちろん、アウトラインフォントを格納する手段を搭載しても良いことは言うまでもない。
【0187】
続いて、ステップ(6004)で、ROM内蔵フォントサイズ(30ドット×40ドット)と「要求文字サイズ」を比較し、変倍率を決定する。図17に示す例では、「文字コード列が2003/07/18」,「文字サイズが36ドット×48ドット」,「取得ラスタ数が1」の場合の例を示しているが、この場合は、各々のフォントパターンが横縦共に1.2倍に拡大される結果となる。
【0188】
変倍処理は、「単純拡大処理」あるいは「1次補間拡大処理」などを実装して行われる。補間処理自体は本発明と直接関係しないので、説明を省略する。
【0189】
最後に、ステップ(6005)で、ステップ(6004)で決めた変倍率に基づき、ROMフォントパターンを拡大し、要求された「取得ラスタ数」に相当する1ラインのデータのみを、復号化バッファに格納する処理を行う。
【0190】
上位プログラムからは、「取得ラスタ1」より順番に、1ずつインクリメントを行い「取得ラスタ48」まで本関数を呼び出すことで、フォントの全パターンを取得するような制御が行われる。このことは、本発明が省メモリで動作できるように1ラスタずつ単位で処理を行うことの前提から、このような処理が行われている。
【0191】
ステップ(6005)処理後は、ステップ(6001)に処理を戻すことで、全要求文字列に対して処理を行い、要求される文字列の要求ラスタのパターンを復号化して返却する処理を行っている。
【0192】
図19は、本発明に係る印刷装置における第7のデータ処理手順の一例を示すフローチャートであり、罫線復号化処理手順に対応する。本処理は、図15で示す罫線挿入処理のステップ(5002)から呼び出される。なお、(7001)〜(7004)は各ステップを示す。
【0193】
図20は、図3に示したROM302に内蔵される罫線データの構造を説明する図であり、図21は、図20に示すROM内蔵罫線データに対する入力パラメータと罫線出力結果との対応を示す図である。
【0194】
なお、本実施形態におけるROM内蔵罫線データは、図21で示すように、罫線種別コードと対応罫線パターン格納先頭アドレスをペアとして持つINDEX部と罫線パターン実体部から構成されており、格納される罫線パターンのサイズは、本例では、幅30ドット、高さ40ドットとして図示している。もちろん、アウトラインフォントを格納する手段を搭載しても良いことは言うまでもない。
【0195】
上位プログラムからは、図20で示すように、「罫線種別コード」,「罫線長」,「取得ラスタ数」が渡される。
【0196】
本プログラムでは、まず、ステップ(7001)で、渡されて罫線種別コードを取り出す処理を行う。次に、ステップ(7002)で取り出した文字コードが有効文字であるかどうかを判定して、もし、NULLであったり、図3に示したROM302に内蔵しない罫線種別コードである場合は、処理を終了する。
【0197】
一方、ステップ(7002)で、有効文字であったと判定した場合は、ステップ(7003)で、罫線種別コードをキーとして、図20で示すROM内蔵罫線データのINDEX部を検索する。そして、罫線種別コードに対応する罫線パターンの先頭アドレスを取得する。
【0198】
そして、最後に、ステップ(7004)で、ROM内蔵罫線サイズ(30ドット×40ドット)を基調として、上位プログラムから渡される「罫線長」分、横方向に拡大する処理を行う。
【0199】
ここでの拡大は、変倍処理ではなく、ROM内蔵パターンを必要分横方向に並べることによって行われる。なお、端数がでた場合は、切り取ることで、要求された「罫線長」分のパターンを生成する処理が行われる。
【0200】
そして、要求された「取得ラスタ数」に相当する1ラインのデータのみを、復号化バッファに格納する処理を行う。上位プログラムからは、「取得ラスタ1」より順番に、1ずつインクリメントを行い「取得ラスタ40」まで本関数を呼び出すことで、罫線の全パターンを取得するような制御が行われる。このことは、本発明が省メモリで動作できるように1ラスタずつ単位で処理を行うことの前提から、このような処理が行われている。
【0201】
ステップ(7004)処理により、罫線復号化処理は完結する。
【0202】
以上のように、罫線データを画像データ上に最後に且つデバイスカラーで出力することにより、色空間変換処理や色変換処理などの画像処理の影響を受けることなく、常に同じ色の罫線データの結果が得ることが実現可能となる。
【0203】
以上詳述した図8及び図13、図14、図15,図16,図19におけるフローを繰り返すことにより、主走査方向及び副走査方向に定義したレイアウト枠に対する画像の配置が可能となり、且つ、デバイス依存カラーで文字、罫線を挿入することのできるレイアウト印刷機能が実現可能となる。以上が第2実施形態における印刷装置内の動作である。
【0204】
以下、図22に示すメモリマップを参照して本発明に係る印刷装置で読み取り可能なデータ処理プログラムの構成について説明する。
【0205】
図22は、本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【0206】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0207】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0208】
本実施形態における図8,図9,図13,図14,図15,図16,図19に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0209】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0210】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0211】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0212】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0213】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0214】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
【0215】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0216】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0217】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0218】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0219】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【0220】
【発明の効果】
以上説明したように、本発明によれば、生成された複数画像の1ラスタライン画像データに対して、第2の画像処理を実行して1ラスタラインバッファ上に配置し、さらに、該1ラスタラインバッファ上に文字データと罫線データを配置した後、1ラスタラインデータに対して量子化処理を行って1ラスタライン単位に印刷データを出力することにより、印刷装置内に大量のメモリを必要することなく、複数画像のレイアウト印刷を実現し、かつ画像に依存することなく常に同じ色での文字や罫線の挿入した印刷結果を安価に得ることができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示す印刷装置のデータ処理機構を説明するブロック図である。
【図2】本発明に係る印刷装置を適用可能な印刷システムの一例を示すブロック図である。
【図3】図2に示した印刷装置の内部構成を示す詳細ブロック図である。
【図4】図3に示す印刷装置から出力される印刷結果例を示す図である。
【図5】図2に示した印刷装置による第1のレイアウト印刷処理状態を説明する模式図である。
【図6】図5に示した状態における画像ラスタライズ処理を説明する模式図である。
【図7】図6に示した1ラスタラインデータの生成処理の流れを説明する概念図である。
【図8】本発明に係る印刷装置における第1のデータ処理手順の一例を示すフローチャートである。
【図9】本発明に係る印刷装置における第2のデータ処理手順の一例を示すフローチャートである。
【図10】本発明に係る印刷装置における印刷結果例を示す模式図である。
【図11】図2に示した印刷装置による第2のレイアウト印刷処理状態を説明する模式図である。
【図12】図2に示した印刷装置による第2のレイアウト印刷処理状態を説明する模式図である。
【図13】本発明に係る印刷装置における第3のデータ処理手順の一例を示すフローチャートである。
【図14】本発明に係る印刷装置における第4のデータ処理手順の一例を示すフローチャートである。
【図15】本発明に係る印刷装置における第5のデータ処理手順の一例を示すフローチャートである。
【図16】本発明に係る印刷装置における第6のデータ処理手順の一例を示すフローチャートである。
【図17】図16に示すフォント復号化処理において上位プログラムから引き渡される入力パラメータと出力結果との対応を説明する図である。
【図18】図3に示したROMに内蔵されるフォトデータの構造を説明する図である。
【図19】本発明に係る印刷装置における第7のデータ処理手順の一例を示すフローチャートである。
【図20】図3に示したROMに内蔵される罫線データの構造を説明する図である。
【図21】図20に示すROM内蔵罫線データに対する入力パラメータと罫線出力結果との対応を示す図である
【図22】本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
101,111 JPEGデータ
102,112 復号化処理部
103,113 色空間変換処理部
104,114 色変換処理部
105,115 拡大処理部
[0001]
BACKGROUND OF THE INVENTION
The present invention stores a printing apparatus, a printing control method, and a computer-readable program for performing predetermined image processing on a plurality of image data input from a host device or the like, and laying out and printing the plurality of image data. The present invention relates to a storage medium and a program.
[0002]
[Prior art]
Conventionally, when printing data created by a printing control device on the host device side such as a personal computer, for example, by a connected printer, the printer driver in each printing control device creates data that can be printed by the printer. A system for transmitting to a printer has become common.
[0003]
In recent years, however, in addition to this system, a host device such as a digital camera is directly connected to the printer for printing, or data stored in a data storage device such as a memory card is directly connected via a reader mounted on the printer. Direct printing apparatuses and direct printing systems that perform printing (for example, see Patent Document 1) have appeared.
[0004]
On the other hand, in the above-described printing system using a personal computer or the like, data specific to each printer is created. Therefore, in the printer driver software in each system, an image is transferred from another color space such as a CRT to the printer color space. In general, color correction processing for performing the above conversion, color conversion processing for conversion in the printer color space, quantization processing, and the like are performed to generate optimum data for the printer.
[0005]
However, in the direct printing system that performs printing directly from the above-described digital camera, memory card, or the like, it is difficult to mount a printer driver in the device because of the limited capability of the host device. A general image format such as the above is transmitted to a printing apparatus, and the above processing is performed in the printing apparatus to perform printing.
[0006]
On the other hand, with the rapid spread of digital cameras in recent years, new needs have appeared in the printing results.
[0007]
It is not only possible to print a single sheet, but also the date of shooting, printing of image file names, layout printing and index printing to print multiple images in one format in various formats, insertion of ruled lines and frames for comments Etc.
[0008]
These needs are the same not only in printing from a PC but also in a direct printing system, and are being dealt with in a printing apparatus such as a layout function.
[0009]
[Patent Document 1] Japanese Patent Application Laid-Open No. 2003-25678
[0010]
[Problems to be solved by the invention]
However, in the above-described conventional example, in order to realize the above-described series of image processing functions and multiple image layout processing functions in the printing apparatus, an output page memory, work memory, and a plurality of input images are simultaneously developed. A large amount of work buffer was required.
[0011]
Also, in the effect processing that performs processing according to the characteristics of the image even when a large number of buffers are prepared, it is difficult to perform different processing for each image after developing multiple images on the output page memory. Met.
[0012]
On the other hand, in the function for inserting characters and ruled lines, for example, the data of the characters and ruled lines is defined as device-independent colors for reasons such as reduction of the data size, and is placed on the image in a superimposed manner. .
[0013]
However, since a series of image processing is performed after overlaying on the image, if an effect process that matches the characteristics of each image is performed, characters and ruled lines are printed in different colors for each image. There was also a problem that.
[0014]
The present invention has been made to solve the above-described problems, and the present invention executes a second image process on one raster line image data of a plurality of generated images, and performs one raster line buffer. By arranging the character data and ruled line data on the one raster line buffer and then performing quantization processing on the one raster line data and outputting print data in units of one raster line, Inexpensive printing device and printing that realizes layout printing of multiple images without requiring a large amount of memory in the printing device, and can always insert characters and ruled lines in the same color without depending on the image It is an object to provide a control method, a storage medium storing a computer-readable program, and a program.
[0015]
[Means for Solving the Problems]
According to a first aspect of the present invention, an image data generating unit that performs a first image processing on a plurality of input image data to generate one or a plurality of raster line data, and the image data generating unit The first layout means (for example, the first image processing unit 1001, shown in FIG. 1) that executes the second image processing on the one raster line image data of the plurality of images and places it on one raster line buffer. 1002) and second layout means (for example, ROM 302 shown in FIG. 3) that arranges character data and ruled line data on one raster line buffer (eg, buffer 120 shown in FIG. 1) generated by the first layout means. A stored drawing processing program) and one raster line data laid out by the first and second layout means Quantization processing means (for example, the quantization processing unit 121 shown in FIG. 1) for performing child processing, and printing means (printing shown in FIG. 3) for printing in units of one raster line quantized by the quantization processing means. Device 314).
[0016]
The second invention according to the present invention is characterized in that the first layout means arranges device color data obtained by executing the first image processing on the one raster line buffer.
[0017]
According to a third aspect of the present invention, the second layout means is characterized in that character data and ruled line data are formed depending on device color data.
[0018]
According to a fourth aspect of the present invention, the first image processing includes decoding processing, rotation processing, and reduction processing.
[0019]
According to a fifth aspect of the present invention, the second image processing includes color space conversion processing, color conversion processing, and enlargement processing.
[0020]
According to a sixth aspect of the present invention, a plurality of input image data is read out and input from a storage unit of a host device.
[0021]
According to a seventh aspect of the present invention, there is provided an image data generation step for generating a single or a plurality of raster line data by performing a first image processing on a plurality of input image data, and the image data generation step. A first layout step (for example, steps (3001) to (3009) shown in FIG. 13) for executing the second image processing on the one raster line image data of the plurality of images and arranging them on one raster line buffer. ), A second layout step (steps (3013) and (3010) shown in FIG. 13) for arranging character data and ruled line data on one raster line buffer generated by the first layout step, and the first Quantization processing for performing quantization processing on one raster line data laid out in the first and second layout steps And step (step shown in FIG. 8 (1009)), characterized in that it comprises a printing step for printing on one raster line units processed quantized by the quantization processing step.
[0022]
According to an eighth aspect of the present invention, in the first layout step, device color data obtained by executing the first image processing is arranged on the one raster line buffer.
[0023]
According to a ninth aspect of the present invention, in the second layout step, character data and ruled line data are formed depending on device color data.
[0024]
According to a tenth aspect of the present invention, the first image processing includes a decoding process, a rotation process, and a reduction process.
[0025]
According to an eleventh aspect of the present invention, the second image processing includes color space conversion processing, color conversion processing, and enlargement processing.
[0026]
According to a twelfth aspect of the present invention, a plurality of input image data is read from a storage unit of a host device and inputted.
[0027]
A thirteenth aspect of the present invention is characterized in that a program for realizing the printing control method according to any of the seventh to twelfth aspects is stored in a computer-readable storage medium.
[0028]
According to a fourteenth aspect of the present invention, there is provided a program for realizing the printing control method according to any one of the seventh to twelfth aspects.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
Hereinafter, a first embodiment according to the present invention will be described in detail with reference to the accompanying drawings.
[0030]
FIG. 1 is a block diagram illustrating a data processing mechanism of a printing apparatus showing a first embodiment of the present invention.
[0031]
In FIG. 1, 101 and 111 are JPEG format print target image data, 102 and 112 are decoding processing units, 103 and 113 are color space conversion processing units, 104 and 114 are color conversion processing units, and 105 and 115 are enlargement processings. , 106 and 116 are data of one raster line of each data, and 120 is an output buffer. Reference numeral 1001 denotes a first image processing unit, which is composed of 102 to 105. Reference numeral 1002 denotes a second image processing unit, which includes 112 to 115.
[0032]
Reference numeral 121 denotes a quantization processing unit, 122 denotes a print result of one raster line, and 123 denotes a final output result. Further details will be described.
[0033]
As the print target image data 101 and 111, JPEG data is used as an example in FIG. 1, but the data format is not specified. The decoding processing unit 102 performs a decoding process on the print target image data 101. At this time, rotation and reduction processing may be executed according to the output image frame.
[0034]
A plurality of lines of data are generated from the decoding process, and the subsequent processes are executed for each raster line. The color space conversion processing unit 103 executes color space conversion processing on the decoded one raster line data to generate color space data such as RGB.
[0035]
The color conversion processing unit 104 performs color conversion processing to device-dependent colors and generates data dependent on the printing apparatus. The enlargement processing unit 105 executes enlargement processing on the device-dependent data generated by the color conversion processing unit 104. Similarly, the above-described processing is executed as the enlargement processing unit 115 from the decoding processing unit 112 to the print target image data 111, and one raster line data 116 is generated.
[0036]
Reference numeral 120 denotes a buffer of one raster line, and layout processing is executed by arranging the above-described data, characters, and ruled line data on the buffer. The character data and ruled line data to be used are expressed in device-dependent colors in the same manner as the image data described above. One raster line data for which layout has been completed is subjected to quantization processing by the quantization processing unit 121 and is printed by the engine unit 122. The final output result 123 is obtained by repeating the above processing.
[0037]
FIG. 2 is a block diagram showing an example of a printing system to which the printing apparatus according to the present invention can be applied.
[0038]
A printing apparatus according to an embodiment of the present invention includes a host apparatus 201 for providing print target data, a printing apparatus 203 including means of the present invention, and a bidirectional interface 202 that connects the host apparatus and the printing apparatus. .
[0039]
The host device 201 is not only a computer such as a PC but also a host device for performing direct printing such as a digital camera or a scanner.
[0040]
In the printing system configured as described above, for example, when a digital camera is used as the host device 201, data captured by the host device 201 or data stored in an area such as a built-in memory card is bidirectional. The data is transmitted to the printing apparatus 203 via the interface 202.
[0041]
At this time, it is assumed that additional information at the time of printing is transmitted from the host apparatus 201 to the printing apparatus 203 in addition to the print target data. This additional information includes, in addition to various information associated with the print data, layout information for expressing the print data on the paper, print setting information, and the like.
[0042]
Further, a form in which printing is performed without using the host device 201 is also possible.
[0043]
The printing device 203 may include means such as a memory device and an operation panel in FIG. 3 described later. In this case, print data is read from the memory device, and the above information is obtained from the operation panel and printed. Printing by the apparatus 203 alone becomes possible.
[0044]
3 is a detailed block diagram showing the internal configuration of the printing apparatus shown in FIG. 2. The printing apparatus 203 shown in this example includes a CPU 301, a ROM 302, a flash ROM 303, a RAM 304, a CF controller 306, a CF I / F 307, and an operation panel. 308, an operation panel controller 309, a communication device 310, a communication device controller 311, a display device 312, a display device controller 313, a printing device 314, and a printing device controller 315.
[0045]
In FIG. 3, when a control program or control procedure stored in a ROM 302 that can only be read by the CPU 301 or a rewritable flash ROM 303 is executed, the RAM 304 temporarily stores various data in the calculation and logic judgment of the CPU 301. Used as work memory.
[0046]
Programs such as decoding processing, color space conversion processing, color conversion processing, enlargement processing, layout processing, character / ruled line insertion processing, and quantization processing according to the present invention are stored in the ROM 302 or the Flash ROM 303, and are generated by each program. Data to be processed, for example, layout information, JPEG file decoding result, color space conversion result, color conversion result, enlargement result, quantization result, and the like are stored in respective storage areas of the RAM 304.
[0047]
A CF I / F 307 is an interface of a compact flash (registered trademark) card, and is driven and controlled by the CF controller 306 to read out information on a JPEG image taken by a digital camera stored in the compact flash (registered trademark) card onto the RAM 304. Used for the purpose.
[0048]
The operation panel controller 309 is an input interface for transmitting an operator's instruction. The operated content is displayed on the operation panel 308, and the printing process is started when the print execution button is pressed.
[0049]
The communication device 310 is a device for performing communication between the host device 201 and the printing device 203. The communication device 310 is driven and controlled by the communication device controller 311, receives operations and data from the host device 201, and receives data from the printing device 203. Used to send response status back.
[0050]
The system configuration is such that a print operation instruction can be performed by pressing the print execution button from the host device 200 in addition to the operation panel 308.
[0051]
The display device 312 is an output device that is driven and controlled by the display device controller 313 and displays images, error messages, and the like read from the compact flash (registered trademark) (CF), and uses a small color liquid crystal or the like. Has been.
[0052]
The printing device 314 is a device unit that records and outputs the mounted paper using a head and ink in the device. In the printing process from the operation panel 308 or the digital camera, the CPU 301 executes the printing control program of the ROM 302 or the flash ROM 303 according to the information received from each interface, and drives the printing apparatus controller 315 to control the ink head in the printing apparatus. This is performed by repeating the operation of ejecting ink in the ink head onto the paper.
[0053]
The internal bus 316 is a common communication path for communicating between devices in the printing apparatus 314 from the CPU 301, and communication between all the apparatuses in the printing apparatus is performed via this internal bus. ing.
[0054]
Next, processing according to the present invention in the above-described printing apparatus will be described in detail with reference to FIGS. 1 to 2, 4 to 6, and 7.
[0055]
FIG. 4 is a diagram showing an example of a printing result output from the printing apparatus 314 shown in FIG. 3, and this example shows a result when printing is performed by arranging four images on one sheet. Is described below.
[0056]
First, in FIG. 2, four image data is transmitted from the host device 201 to the printing device 203. The data may be obtained from a storage area in the printing apparatus 203 as described above. Accompanying the acquisition of print data with the printing apparatus 203, the accompanying information is also acquired from the host apparatus 201 or the built-in operation panel.
[0057]
Next, a series of flow until the obtained data is printed will be described with reference to FIG.
[0058]
FIG. 5 is a schematic diagram for explaining a first layout printing process state by the printing apparatus 203 shown in FIG. 2, and a thick arrow corresponds to a data processing flow.
[0059]
In FIG. 5, a state 501 is print image data. In this example, four images are print target data. For the four images, layout information for printing is determined in state 502. In this example, layout printing is performed to print four images on one surface. In this case, output rectangular frames (1) to (4) are determined.
[0060]
Further, it goes without saying that this layout determination can correspond to an arbitrary number of rectangular frames and an arbitrary arrangement. Next, in the state 503, the actual printing process is executed.
[0061]
Although details of this processing will be described later, processing for each raster line is repeatedly executed in the sub-operation direction.
[0062]
A state 504 is a state immediately after printing is performed on the rectangular frames (1) and (2). This layout is a process for four images, but represents the print result on the paper at the time when the process for up to two images is completed.
[0063]
A state 505 further proceeds from the state 504, and is a state at the time when the processing for the image frames of (3) and (4) is completed and printing of all four images is completed.
[0064]
Next, the processing in one raster line listed in the state 503 shown in FIG. 5 will be described in detail with reference to FIG.
[0065]
FIG. 6 is a schematic diagram for explaining the image rasterization process in the state 503 shown in FIG.
[0066]
In FIG. 6, reference numeral 601 denotes a printing result in a state where several lines of processing have been performed on the image frames (1) and (2). In order to generate this result, first, as exemplified in the source image division example 602, the image is divided into raster lines in the sub-scanning direction.
[0067]
The source image division example 602 is a state in which the source 2 image is divided for each raster line. Each of the divided raster line data is subjected to processing described later with reference to FIG. 7 and is arranged on the output buffer. The state 603 is a state in which the raster lines of the two images are arranged on the buffer, but are arranged in accordance with the respective image rectangular frames. By repeating the above processing, the print result 604 can be acquired.
[0068]
Next, referring to FIG. 7, the flow of the processing for generating one raster line data shown in FIG. 6 will be described.
[0069]
FIG. 7 is a conceptual diagram for explaining the flow of processing for generating one raster line data shown in FIG.
[0070]
In this description, processing for one image data is described, but this processing is realized by repeating this processing at the time of layout printing using a plurality of image data.
[0071]
Reference numeral 1501 denotes print target image data. Although the data format is not particularly defined, JPEG data is used in this example. The target data is decrypted in the decryption processing unit 1502. In this decoding, image rotation and reduction processes are executed simultaneously according to the output frame information.
[0072]
Reference numeral 1503 represents result data obtained by decoding all of one image data. However, all of one image or a plurality of rasters can be decoded according to a buffer amount that can be used by the processing means.
[0073]
Next, the decoded number raster data 1504 is divided into one raster line in the main scanning direction, cut out, and passed to the color space conversion processing unit 1505. The data at this time is, for example, N-bit YCbCr data expressed in a YCbCr space obtained by decoding JPEG data. The color space conversion processing unit 1505 performs conversion to the RGB space, and M-bit RGB data is generated.
[0074]
Next, the color conversion processing unit 1506 performs conversion into CMYK data using device-dependent colors, and generates L-bit CMYK data. Next, enlargement processing is executed in the enlargement processing unit 1507.
[0075]
This process is a process of expanding the number of input pixels to the number of pixels in the corresponding output frame, and the output data is still L-bit CMYK data. Through the above processing, one raster line data with device-dependent color data corresponding to the output frame is generated.
[0076]
Further, by executing the processing up to the enlargement processing unit 1507 by the JPEG data 1501 for each image frame in the main scanning direction, a multiple image layout can be realized.
[0077]
On the other hand, the enlarged data is converted into K-bit CMYK data by the quantization processing unit 1508 and transmitted to the engine unit 1509 to be printed. Also, known techniques can be used for the color space processing, color conversion processing, enlargement processing, and quantization processing described above.
[0078]
Next, in the printing apparatus according to the embodiment of the present invention configured as described above, the processing flow will be described in detail using the flowcharts shown in FIGS.
[0079]
FIG. 8 is a flowchart showing an example of a first data processing procedure in the printing apparatus according to the present invention, and corresponds to an image processing procedure in the sub-scanning direction for image data. In addition, (1001)-(1014) show each step.
[0080]
First, initialization processing such as buffer clearing is performed at the start of processing, and layout information on an output sheet of an image to be printed is created in the layout information creation processing in step (1001). This process is the layout determination process 502 shown in FIG. 5 and creates arrangement information such as the output frame, number, and number of images according to the number of output images, output order, output size, layout method, and the like.
[0081]
In addition, rotation information and enlargement / reduction ratio information are also created from the image output rectangular frame and the number of vertical and horizontal pixels of the image. As a result, the image layout information of the frames (1) to (4) in the layout determination process 502 shown in FIG. 5 is determined.
[0082]
Needless to say, image data is input to the apparatus from a host device or a storage medium when executing the processing.
[0083]
Next, cueing processing up to an image rectangular frame is executed based on the created layout information. This process is executed in step (1002), and the main contents are a paper feed process in the engine unit and a raster skip process up to the print area frame. As a result of this process, a skip process from the top edge of the sheet to the top edge in the frames (1) and (2) in the layout determination process 502 shown in FIG. 5 is executed.
[0084]
In step (1003), image information in the main scanning direction is updated. In the layout determination process 502 shown in FIG. 5, the image information is obtained from the images of the frames (1) and (2). The information to be obtained includes an image file name, an image file size, and an image. Format, shooting date / time information, image size, etc. The obtained information is stored in an internal buffer area.
[0085]
Next, in step (1004), "1" is set to an internal flag for updating the next main scanning direction image information described later. This completes the initialization process and proceeds to the main loop.
[0086]
First, in step (1005), it is determined whether processing of all rasters in the sub-scanning direction has been completed. If it is determined that processing has not ended, the process proceeds to step (1006), where the current target raster is sub-scanned. It is determined whether the image frame is within the direction.
[0087]
In this layout determination process 502 shown in FIG. 5, it is determined whether the current target raster is within the frames (1) and (2) in the main scanning direction.
[0088]
If it is determined that the image frame is within the sub-scanning direction image frame, the process proceeds to step (1007) to set “1” in the flag described above, and then proceeds to step (1008). Data after enlarging one raster line in the main scanning direction is obtained.
[0089]
Since this data is data before quantization, in step (1009), quantization processing is performed and the engine unit converts the data into printable data. Next, after the data converted in step (1010) is transmitted to the engine unit, the processing returns to the above-described step (1005) and moves to the next raster.
[0090]
On the other hand, if it is determined in step (1006) that the image is outside the sub-scanning direction image frame, the process proceeds to step (1011).
[0091]
In this case, the current target raster is located between the lower end of the image frame of the frames (1) and (2) and the upper end of the image frames of the frames (3) and (4) in the layout determination processing 502 shown in FIG. It becomes. The output paper is in the state of the main scanning direction-rectangular frame end state 504 shown in FIG. 5, and the processing of the images in the frames {circle around (1)} and {circle around (2)} is completed. It is before the start of processing.
[0092]
In step (1011), the data to be printed becomes NULL raster because it is outside the image frame. For this reason, the buffer for one line is NULL cleared. Next, in step (1012), it is determined whether or not the flag is “1”. If it is not “1”, the process proceeds to the quantization unit in step (1009), and a NULL raster is set. Quantization processing is performed on it.
[0093]
On the other hand, if it is determined in step (1012) that the flag is “1”, the process proceeds to step (1013), and the image information in the main scanning direction is updated as in step (1003).
[0094]
In the layout determination process 502 shown in FIG. 5, information for the images in the frames (3) and (4) is set in this process.
[0095]
Next, the process proceeds to step (1014), and "0" is set to the flag described above. This prevents the double main scanning direction image information update processing from being executed when a plurality of NULL rasters exist outside the image frame.
[0096]
Then, after the process of step (1014), the process proceeds to step (1009), where a quantization process is performed on the NULL raster and the result is transmitted to the engine unit.
[0097]
On the other hand, if it is determined in step (1005) that the processing for all the rasters has been completed, this processing ends. The above is the processing in the sub-scanning direction in this processing, but this flow is an example of processing, and an implementation method using other flows is also possible.
[0098]
Next, the flow in the main scanning direction in this process will be described in detail with reference to FIGS.
[0099]
FIG. 9 is a flowchart showing an example of a second data processing procedure in the printing apparatus according to the present invention. This processing corresponds to the one raster line data acquisition processing procedure in step (1008) shown in FIG. In addition, (2001)-(2011) shows each step. Further, one raster line data 603 shown in FIG. 6 is created by this processing.
[0100]
First, in step (2001), one raster line output buffer is initialized. Next, proceeding to step (2002), the address of the write buffer pointer to the output buffer is set.
[0101]
In this case, the set address is, for example, the left end of the rectangular width (1) in the source image division state 602 shown in FIG.
[0102]
Next, in step (2003), it is determined whether or not the processing for all image frames in the main scanning direction has been completed. If it is determined that the processing has not ended, the process proceeds to step (2004) and the output buffer for decoding is output. Whether or not raster line data exists is determined. If it is determined that there is data, the process proceeds to step (2005), and one line of data is obtained from the decoding output buffer.
[0103]
At this time, the obtained data is, for example, data expressed in a YCbCr space obtained by decoding JPEG data. Next, in step (2006), color space conversion processing is performed on one raster line data to convert the one raster line data into RGB space data.
[0104]
Further, in step (2007), color conversion processing for converting one raster line data expressed in the RGB space into CMYK data which is a device-dependent color is executed, and the process proceeds to step (2008).
[0105]
In step (2008), enlargement processing is executed on the CMYK data of the device-dependent color. For this enlargement process, a known technique such as simple enlargement can be used. The purpose of this enlargement process is the rectangular width (1) or the rectangular width (2) in the source image division state 602 shown in FIG. The raster line data of the input image is enlarged in accordance with the output rectangular width.
[0106]
Next, in step (2009), the enlarged device-dependent color data of one raster line is stored in the output buffer.
[0107]
Outlined using FIG. 6, the processing for the rectangular width (1) of the source image division state 602 shown in FIG. 6 is completed by the processing from step (2004) to step (2009).
[0108]
Next, in step (2010), the address of the write buffer pointer to the output buffer is moved, and the process returns to step (2003). The address updated at this time is, for example, the left end of the frame for image (2) in the source image division state 602 shown in FIG.
[0109]
If there is no raster data in the decoding output buffer in step (2004), the process proceeds to step (2011) to perform decoding processing on the image data to newly generate several lines of data and to perform the above steps. The process proceeds to (2005).
[0110]
On the other hand, if it is determined in step (2003) that the processing has been completed for all image frames in the main scanning direction, the processing ends.
[0111]
The method for generating one raster line data in the device color is as described above. By executing the processing in steps (2004) to (2009) for all image frames in the main scanning direction, a buffer for one raster line is used. As a result, a layout function for a plurality of images can be realized.
[0112]
By repeating the flow in FIG. 8 and FIG. 9 described in detail above, it is possible to arrange an image with respect to the layout frame defined in the main scanning direction and the sub scanning direction, and it is possible to realize a layout printing function in a device-dependent color. The above is the operation in the printing apparatus according to the first embodiment.
[0113]
[Second Embodiment]
Hereinafter, a second embodiment according to the present invention will be described in detail with reference to the accompanying drawings. The configuration of the hard disk is the same as the configuration of FIGS. 1 to 7 and the like shown in the first embodiment, and thus the description of the configuration shown in FIGS.
[0114]
Next, processing according to the present invention in the above-described printing apparatus will be described in detail with reference to FIGS. 1 to 3 and FIGS. 10 to 12.
[0115]
FIG. 10 is a schematic diagram showing an example of a printing result in the printing apparatus according to the present invention. This example shows a result when printing is performed by arranging two images including a character frame and two ruled line frames on one sheet. First, in FIG. 2, the host apparatus 201 transmits two image data including character frame information and two ruled line frame data to the printing apparatus 203. The data can be obtained from a storage area in the printing apparatus as described above. Accompanying the acquisition of print data with the printing apparatus, the accompanying information is also acquired from the host apparatus or the built-in operation panel.
[0116]
Next, a series of flow until the obtained data is printed will be described with reference to FIG.
[0117]
FIG. 11 is a schematic diagram for explaining a second layout printing process state by the printing apparatus 203 shown in FIG. 2, and a thick arrow corresponds to a data processing flow.
[0118]
In FIG. 11, reference numeral 801 denotes print image data. In this example, two images including a character frame and two ruled line frames are print target data. In the layout determination processing state 802, layout information (for example, 4in1 is arranged in the order of upper left, upper right, lower left, and lower right) is determined for the two images and the two ruled line frames.
[0119]
This example is layout printing in which two images and two ruled line frames are printed on one surface. In this case, output rectangular frames (1) to (4) are determined. Further, it goes without saying that this layout determination can correspond to an arbitrary number of rectangular frames and an arbitrary arrangement.
[0120]
Next, in the line unit processing state 803, actual printing processing is executed. Although details of this processing will be described later, processing for each raster line is repeatedly executed in the sub-operation direction.
[0121]
The main scanning direction first rectangular frame end state 804 is a state immediately after printing is performed on the rectangular frame of the image of frame (1) and the ruled line of frame (2).
[0122]
This layout is a process for two images and two ruled line frames, but represents a print result on paper at the time when the process for one image including character frames and one ruled line frame is completed.
[0123]
Reference numeral 805 denotes a print result, which further proceeds from the main scanning direction first rectangular frame end state 804, and the processing for the image of the frame (3) and the ruled line of the frame (4) is completed. It is the state at the time of termination.
[0124]
Next, with reference to FIG. 12, the processing in one raster line listed in the line unit processing state 803 shown in FIG. 11 will be described in detail.
[0125]
FIG. 12 is a schematic diagram for explaining a second layout printing process state by the printing apparatus 203 shown in FIG.
[0126]
In FIG. 12, reference numeral 901 denotes a print result corresponding to a print state in which several lines of processing have been performed on the ruled line frames of the image frames (1) and (2).
[0127]
In order to generate the result of the print result 901, first, the image is divided into raster lines in the sub-scanning direction as listed in the source image and ruled line division state 902.
[0128]
An example of the source image and ruled line division state 902 is a state in which the source image of frame (1) and the source ruled line frame of frame (2) are divided for each raster line.
[0129]
Each divided raster line data is subjected to the processing described above with reference to FIG.
[0130]
Reference numeral 903 denotes the result on the output buffer. The raster line of the image of frame (1) and the ruled line frame of frame (2) shown in FIG. 12 is arranged on the buffer. Arranged. By repeating the above processing, the print result 901 can be acquired.
[0131]
Next, a processing method for obtaining a print result 905 including an image frame including a character frame and a ruled line frame will be described.
[0132]
904 is character string data, which is an example of the font decoding result. When the processing raster arrives at the character insertion position at the bottom of the image (1) in the frame (1) of the printing result 905, the font decoding process is called. Is obtained as
[0133]
As the result of the print result 905, the raster data of the image of frame (1) shown in FIG. 12 is generated. Next, an insertion character pattern corresponding to the raster is obtained from the font decoding process.
[0134]
Then, the character pattern is inserted on the image data, and further, the raster data of the ruled line frame of frame (2) is synthesized. By repeating these processes, the print result 905 with the characters and ruled lines inserted can be acquired.
[0135]
Next, in the printing apparatus according to the second embodiment of the present invention configured as described above, the processing flow will be described in detail using the flowcharts of FIGS. 11, 8, and 13. Detailed explanation of FIG. 8 will be omitted, and correspondence with FIG. 11, FIG.
[0136]
First, initialization processing such as buffer clearing is performed at the start of processing, and layout information on an output sheet of an image to be printed is created in the layout information creation processing in step (1001). This processing is the layout determination processing state 802 shown in FIG. 11, and creates arrangement information such as the output frame, number, and number of images and ruled lines according to the number of output images, output order, output size, layout method, and the like.
[0137]
In addition, rotation information and enlargement / reduction ratio information are also created from the image output rectangular frame and the number of vertical and horizontal pixels of the image. Further, date frame information to be inserted into the images of the frames (1) and (3) in the layout determination processing state 802 shown in FIG. 11 is also created. As date frame information, a character insertion position, a character size, a character color, and the like are created.
[0138]
As a result, the image layout information of the frames (1) to (4) in the layout determination processing state 802 shown in FIG. 11 is determined. Needless to say, image data is input to the apparatus from a host device or a storage medium when executing the processing.
[0139]
Next, cueing processing up to an image rectangular frame is executed based on the created layout information. This process is executed in step (1002), and the main contents are a paper feed process in the engine unit and a raster skip process up to the print area frame. As a result of this processing, the skip processing from the upper end of the sheet to the upper end in the frames (1) and (2) in the layout determination processing state 802 shown in FIG. 11 is executed.
[0140]
In step (1003), the image information in the main scanning direction is updated. In the layout determination processing state 802 shown in FIG. 8, the image information is obtained from the frame {circle around (1)} and the ruled line frame information is obtained from the frame {circle around (2)}. There are an image file name, an image file size, an image format, shooting date / time information, an image size, and the like. Information acquired from the frame (2) includes a ruled line type, a ruled line color, a ruled line length, a ruled line width, and a ruled line interval. The obtained information is stored in an internal buffer area.
[0141]
Next, in step (1004), "1" is set to an internal flag for updating the next main scanning direction image information described later. This completes the initialization process and proceeds to the main loop.
[0142]
First, in step (1005), it is determined whether all rasters in the sub-scanning direction have been processed. If it is determined that the process has not been completed, the process proceeds to step (1006), and it is determined whether the current target raster is within the image frame in the sub-scanning direction. In the layout determination processing state 802 shown in FIG. 11, this processing is performed to determine whether the current target raster is within the frames (1) and (2) in the main scanning direction.
[0143]
If it is determined that the image is within the image frame in the sub-scanning direction, the process proceeds to step (1007), where “1” is set in the flag described above, and the process proceeds to step (1008). Data after enlargement of one raster line in the scanning direction is obtained.
[0144]
Here, the difference from the first embodiment is that character data and ruled line data are added as data to be obtained in addition to image data.
[0145]
Since this data is data before quantization, in step (1009), quantization processing is performed to convert the data into printable data by the engine unit.
[0146]
Next, after the data converted in step (1010) is transmitted to the engine unit, the processing returns to the above-described step (1005) and moves to the next raster.
[0147]
On the other hand, if it is determined in step (1006) that the image is outside the sub-scanning direction image frame, the process proceeds to step (1011). In this case, the current target raster is located between the lower end of the frames (1) and (2) and the upper end of the frames (3) and (4) in the layout determination process 802 shown in FIG. .
[0148]
On the output paper is the first rectangular end state 804 in the main scanning direction shown in FIG. 11, and the processing of the image of frame {circle around (1)} and the ruled line frame of frame {circle around (2)} is completed. It is before the start of processing for.
[0149]
In step (1011), the data to be printed is NULL raster because it is outside the image frame and the ruled line frame. For this reason, the buffer for one line is NULL cleared.
[0150]
Next, in step (1012), it is determined whether or not the flag is “1”. If it is not “1”, the process proceeds to the quantization process in step (1009) as it is, and a NULL raster is set. Quantization processing is performed on it.
[0151]
On the other hand, if it is determined that the flag is “1”, the process proceeds to step (1013), and the image information in the main scanning direction is updated as in step (1003).
[0152]
In the layout determination processing state 802 shown in FIG. 11, information on the image of frame (3) and the ruled line frame of frame (4) is set in this processing.
[0153]
Next, the process proceeds to step (1014), and "0" is set to the flag described above. This prevents double main scanning direction image information update processing from being executed when a plurality of NULL rasters exist outside the frame. After the process of step (1014), the process proceeds to step (1009), where the quantization process is performed on the NULL raster and the result is transmitted to the engine unit.
[0154]
On the other hand, if it is determined in step (1005) that the processing for all the rasters has been completed, the processing ends. The above is the processing in the sub-scanning direction in this processing, but this flow is an example of processing, and an implementation method using other flows is also possible.
[0155]
Next, the flow in the main scanning direction in this process will be described in detail with reference to FIGS. 12, 13, 14, and 15. Note that this processing is processing for obtaining one raster line data in 1008 in FIG.
[0156]
FIG. 13 is a flowchart showing an example of a third data processing procedure in the printing apparatus according to the present invention, and corresponds to the data processing procedure in the main scanning direction in this processing. In addition, (3001)-(3013) show each step. When FIG. 12 is used, one raster line data in the output buffer state 903 shown in FIG. 12 is created by this processing.
[0157]
First, in step (3001), the output buffer for one raster line is initialized. In step (3002), the address of the write buffer pointer to the output buffer is set. For example, in the output buffer state 903 shown in FIG. 12, the set address is the left end of the rectangular width (1).
[0158]
Next, in step (3003), it is determined whether or not the processing for all image frames in the main scanning direction has been completed. If it is determined that the processing has not been completed, the process proceeds to step (3004) to output for decoding. It is determined whether or not raster line data exists in the buffer. If it is determined that there is data, the process proceeds to step (3005), and one line of data is obtained from the decoding output buffer. The data obtained at this time is, for example, data expressed in a YCbCr space obtained by decoding JPEG data.
[0159]
Next, in step (3006), color space conversion processing is performed on one raster line data to convert the one raster line data into RGB space data. Further, in step (3007), color conversion processing for converting one raster line data expressed in RGB space into CMYK data which is a device-dependent color is executed, and the process proceeds to step (3008).
[0160]
In step (3008), enlargement processing is performed on the CMYK data of the device-dependent color.
[0161]
A publicly-known technique such as simple enlargement can be used for the enlargement process. The purpose of the enlargement process is to set an output rectangular width such as the rectangular width (1) or (3) in the output buffer state 903 shown in FIG. In addition, the raster line data of the input image is enlarged.
[0162]
Next, in step (3009), the enlarged device-dependent color data of one raster line is stored in the output buffer. Outlined using FIG. 12, the processing for the rectangular width (1) of the output buffer state 903 is completed by the processing of steps (3004) to (3009).
[0163]
Next, in step (3010), in FIG. 14, date data of one raster line in the main scanning direction is inserted by a process described later.
[0164]
Next, in step (3011), the address of the write buffer pointer to the output buffer is moved, and the process returns to step (3003). The address updated at this time is, for example, the left end of the ruled line (2) frame in the output buffer state 903 shown in FIG.
[0165]
In step (3004), if there is no raster data in the decoding output buffer, the flow advances to step (3012) to perform decoding processing on the image data and newly generate several lines of data as described above. The process proceeds to step (3005).
[0166]
On the other hand, if it is determined in step (3003) that the processing for all image frames in the main scanning direction has been completed, the ruled line of one raster line in the main scanning direction is processed in FIG. The data insertion is performed at the end and the process is terminated.
[0167]
The method for generating one raster line data in the device color is as described above. Through the above processing, data of one raster line in which images, characters, and ruled lines are merged can be generated, and steps (3004) to (3013) are performed. By executing the above process on all image frames in the main scanning direction, it is possible to realize a layout function for a plurality of images including characters and ruled lines using a buffer of one raster line.
[0168]
Next, the flow of the date insertion process in the image in this process will be described in detail with reference to FIG.
[0169]
FIG. 14 is a flowchart showing an example of a fourth data processing procedure in the printing apparatus according to the present invention. This processing corresponds to the detailed procedure of the date insertion processing procedure called from step (3010) in FIG. To do. When FIG. 12 is used, the one-line data of the date character pattern of the character string data 904 shown in FIG. 12 is created by this processing. In addition, (4001)-(4005) show each step.
[0170]
First, in step (4001), whether or not the current processing raster is a raster into which a date is inserted is determined with reference to the information obtained in the layout information creation processing in step (1001) shown in FIG.
[0171]
If it is determined that the line does not include a date, the process ends without outputting data to the output buffer.
[0172]
First, in step (4001), it is determined whether or not the line is for inserting a date, and if it is determined that the line is for inserting a date, the font decoding process in step (4002) is executed. A font pattern for one raster corresponding to the raster is generated.
[0173]
In step (4003), the generated font pattern is extracted from the font decoding buffer. Note that the font pattern generated in step (4002) is, for example, binary information. In step (4004), this data is converted into a device color, such as CMYK, and the image is already displayed in step (4005). A process of overwriting only a portion having a font pattern on the output buffer storing the data is performed, and the process is terminated. The above is the description of the operation of the date insertion process.
[0174]
As described above, by outputting the date character last on the image data in the device color, the result of character data of the same color is always obtained without being affected by image processing such as color space conversion processing and color conversion processing. Can be realized.
[0175]
Finally, with reference to FIG. 15, the flow of the date insertion processing in the image in this processing will be described in detail.
[0176]
FIG. 15 is a flowchart showing an example of a fifth data processing procedure in the printing apparatus according to the present invention. This processing is ruled line insertion processing called from step (3013) in FIG. In addition, (5001)-(5005) show each step. When FIG. 9 is used, the one line data of the ruled line pattern in the division state 902 shown in FIG. 12 is created by this processing.
[0177]
First, in step (5001), whether or not the current processing raster is a raster into which a ruled line is inserted is determined by referring to information obtained in the layout information creation processing in step (1001) shown in FIG. If it is determined that the ruled line is not inserted, the process ends without outputting data to the output buffer.
[0178]
On the other hand, if it is determined in step (5001) that the ruled line is to be inserted, the ruled line decoding process in step (5002) is executed to generate a ruled line pattern for one raster corresponding to the processed raster.
[0179]
Next, in step (5003), the generated ruled line pattern is extracted from the ruled line decoding buffer. The ruled line pattern generated in step (5002) is, for example, binary information. In step (5004), this data is converted into a device color, for example, CMYK, and image data has already been converted in step (5005). Is overwritten on the output buffer in which is stored, and the process is terminated. The above is the description of the operation of the ruled line insertion process.
[0180]
FIG. 16 is a flowchart showing an example of a sixth data processing procedure in the printing apparatus according to the present invention, corresponding to the font decoding processing procedure, and this processing is a step (4002) of ruled line insertion processing shown in FIG. It is called from. Note that (6001) to (6005) indicate each step.
[0181]
FIG. 17 is a diagram for explaining the correspondence between the input parameters delivered from the higher-level program and the output results in the font decoding process shown in FIG.
[0182]
In the present embodiment, as shown in FIG. 17, input parameters such as “character code string”, “character size”, and “number of acquired rasters” are passed from the host program. This example corresponds to the case where the character size is composed of 36 dots × 48 dots.
[0183]
In this program, first, in step (6001), a process is performed in which the passed character code string (character code string corresponding to 2003/07/18) is extracted in order from the beginning. Next, in step (6002), it is determined whether or not the extracted character code is a valid character. If it is determined that the character code is NULL or not included in the ROM 302 shown in FIG. The process is terminated.
[0184]
On the other hand, if it is determined in step (6002) that the character is valid, in step (6003), the INDEX portion of the ROM built-in font data shown in FIG. 18 is searched using the character code as a key.
[0185]
FIG. 18 is a view for explaining the structure of photo data built in the ROM 302 shown in FIG.
[0186]
Then, the head address of the font pattern corresponding to the character code is acquired. As shown in FIG. 17, the ROM built-in font data is composed of an INDEX portion having a character code and a corresponding pattern storage start address as a pair, and a font pattern entity portion. , The width is 30 dots and the height is 40 dots. Of course, it goes without saying that means for storing outline fonts may be installed.
[0187]
In step (6004), the ROM built-in font size (30 dots × 40 dots) is compared with the “required character size” to determine the scaling factor. In the example shown in FIG. 17, an example is shown in which “character code string is 2003/07/18”, “character size is 36 dots × 48 dots”, and “number of acquired rasters is 1”. As a result, each font pattern is enlarged 1.2 times both horizontally and vertically.
[0188]
The scaling process is performed by implementing “simple enlargement process” or “primary interpolation enlargement process”. Since the interpolation process itself is not directly related to the present invention, the description is omitted.
[0189]
Finally, in step (6005), the ROM font pattern is enlarged based on the scaling ratio determined in step (6004), and only one line of data corresponding to the requested “number of acquired rasters” is stored in the decoding buffer. Process to store.
[0190]
From the upper program, control is performed so as to acquire all the font patterns by incrementing one by one in order from “acquisition raster 1” and calling this function until “acquisition raster 48”. This is because such processing is performed on the premise that processing is performed in units of rasters so that the present invention can operate in a memory-saving manner.
[0191]
After the processing of step (6005), the processing is returned to step (6001) to perform processing for all the requested character strings, and perform processing of decoding and returning the requested raster pattern of the requested character strings. Yes.
[0192]
FIG. 19 is a flowchart showing an example of a seventh data processing procedure in the printing apparatus according to the present invention, and corresponds to the ruled line decoding processing procedure. This processing is called from the ruled line insertion processing step (5002) shown in FIG. Note that (7001) to (7004) indicate each step.
[0193]
20 is a diagram for explaining the structure of ruled line data built in the ROM 302 shown in FIG. 3, and FIG. 21 is a diagram showing the correspondence between input parameters and ruled line output results for the ROM built-in ruled line data shown in FIG. It is.
[0194]
The ROM built-in ruled line data in this embodiment is composed of an INDEX part having a ruled line type code and a corresponding ruled line pattern storage start address as a pair and a ruled line pattern entity part as shown in FIG. In this example, the pattern size is shown as 30 dots wide and 40 dots high. Of course, it goes without saying that means for storing outline fonts may be installed.
[0195]
As shown in FIG. 20, a “ruled line type code”, “ruled line length”, and “number of acquired rasters” are passed from the host program.
[0196]
In this program, first, in step (7001), a process of extracting the ruled line type code that has been passed is performed. Next, it is determined whether or not the character code extracted in step (7002) is a valid character. If the character code is NULL or is a ruled line type code not incorporated in the ROM 302 shown in FIG. finish.
[0197]
On the other hand, if it is determined in step (7002) that the character is a valid character, in step (7003), the INDEX portion of the ROM built-in ruled line data shown in FIG. 20 is searched using the ruled line type code as a key. Then, the head address of the ruled line pattern corresponding to the ruled line type code is acquired.
[0198]
Finally, in step (7004), a process of enlarging in the horizontal direction is performed by the “ruled line length” passed from the host program based on the ROM built-in ruled line size (30 dots × 40 dots).
[0199]
The enlargement here is not performed by scaling but by arranging the ROM built-in patterns in the horizontal direction as much as necessary. If the fraction is rounded off, a process for generating a pattern for the requested “ruled line length” is performed.
[0200]
Then, only one line of data corresponding to the requested “number of acquired rasters” is stored in the decoding buffer. From the upper program, control is performed so as to acquire all the ruled line patterns by incrementing one by one in order from “acquisition raster 1” and calling this function until “acquisition raster 40”. This is because such processing is performed on the premise that processing is performed in units of rasters so that the present invention can operate in a memory-saving manner.
[0201]
By the step (7004) process, the ruled line decoding process is completed.
[0202]
As described above, the ruled line data is always output on the image data in the device color, so that the result of ruled line data of the same color is always obtained without being affected by image processing such as color space conversion processing and color conversion processing. Can be achieved.
[0203]
By repeating the flow in FIGS. 8, 13, 14, 15, 16, and 19 described in detail above, it is possible to place an image with respect to the layout frame defined in the main scanning direction and the sub-scanning direction, and A layout printing function that can insert characters and ruled lines in device-dependent colors can be realized. The above is the operation in the printing apparatus according to the second embodiment.
[0204]
The configuration of a data processing program that can be read by the printing apparatus according to the present invention will be described below with reference to the memory map shown in FIG.
[0205]
FIG. 22 is a diagram illustrating a memory map of a storage medium that stores various data processing programs readable by the printing apparatus according to the present invention.
[0206]
Although not particularly illustrated, information for managing a program group stored in the storage medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.
[0207]
Further, data depending on various programs is also managed in the directory. In addition, a program for installing various programs in the computer, and a program for decompressing when the program to be installed is compressed may be stored.
[0208]
The functions shown in FIGS. 8, 9, 13, 14, 15, 16, and 19 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Is.
[0209]
As described above, a storage medium storing software program codes for realizing the functions of the above-described embodiments is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the storage medium in the storage medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the programmed program code.
[0210]
In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.
[0211]
Therefore, as long as it has the function of the program, the form of the program such as an object code, a program executed by an interpreter, or script data supplied to the OS is not limited.
[0212]
As a storage medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD, etc. Can be used.
[0213]
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
[0214]
As another program supply method, a browser of a client computer is used to connect to a homepage on the Internet, and the computer program itself of the present invention or a compressed file including an automatic installation function is stored on a recording medium such as a hard disk from the homepage. It can also be supplied by downloading. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server, an ftp server, and the like that allow a plurality of users to download a program file for realizing the functional processing of the present invention on a computer are also included in the claims of the present invention.
[0215]
In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.
[0216]
Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
[0217]
Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
[0218]
The present invention is not limited to the above embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and these are excluded from the scope of the present invention. is not.
[0219]
Although various examples and embodiments of the present invention have been shown and described, those skilled in the art will not limit the spirit and scope of the present invention to the specific description in the present specification.
[0220]
【The invention's effect】
As described above, according to the present invention, the second image processing is performed on one generated raster line image data of a plurality of images and arranged on one raster line buffer. After arranging character data and ruled line data on the line buffer, quantizing one raster line data and outputting print data in units of one raster line, a large amount of memory is required in the printing apparatus. Thus, the layout printing of a plurality of images can be realized, and the printing result in which characters and ruled lines with the same color are always inserted can be obtained at low cost without depending on the images.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a data processing mechanism of a printing apparatus according to a first embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of a printing system to which the printing apparatus according to the present invention can be applied.
FIG. 3 is a detailed block diagram showing an internal configuration of the printing apparatus shown in FIG. 2;
FIG. 4 is a diagram illustrating an example of a print result output from the printing apparatus illustrated in FIG.
FIG. 5 is a schematic diagram for explaining a first layout printing process state by the printing apparatus shown in FIG. 2;
6 is a schematic diagram illustrating image rasterization processing in the state illustrated in FIG. 5. FIG.
7 is a conceptual diagram illustrating the flow of processing for generating one raster line data shown in FIG.
FIG. 8 is a flowchart illustrating an example of a first data processing procedure in the printing apparatus according to the present invention.
FIG. 9 is a flowchart showing an example of a second data processing procedure in the printing apparatus according to the present invention.
FIG. 10 is a schematic diagram illustrating an example of a printing result in the printing apparatus according to the present invention.
FIG. 11 is a schematic diagram illustrating a second layout printing process state by the printing apparatus illustrated in FIG. 2;
FIG. 12 is a schematic diagram illustrating a second layout printing process state by the printing apparatus illustrated in FIG. 2;
FIG. 13 is a flowchart illustrating an example of a third data processing procedure in the printing apparatus according to the present invention.
FIG. 14 is a flowchart illustrating an example of a fourth data processing procedure in the printing apparatus according to the present invention.
FIG. 15 is a flowchart illustrating an example of a fifth data processing procedure in the printing apparatus according to the present invention.
FIG. 16 is a flowchart showing an example of a sixth data processing procedure in the printing apparatus according to the present invention.
FIG. 17 is a diagram for explaining the correspondence between input parameters delivered from a higher-level program and output results in the font decoding process shown in FIG. 16;
18 is a view for explaining the structure of photo data built in the ROM shown in FIG. 3;
FIG. 19 is a flowchart showing an example of a seventh data processing procedure in the printing apparatus according to the present invention.
20 is a diagram for explaining the structure of ruled line data built in the ROM shown in FIG. 3; FIG.
FIG. 21 is a diagram showing a correspondence between input parameters and ruled line output results for the ROM built-in ruled line data shown in FIG. 20;
FIG. 22 is a diagram illustrating a memory map of a storage medium that stores various data processing programs readable by the printing apparatus according to the present invention.
[Explanation of symbols]
101,111 JPEG data
102, 112 Decoding processing unit
103,113 color space conversion processing unit
104,114 color conversion processing unit
105,115 Enlargement processing unit

Claims (14)

複数の入力画像データに対して第1の画像処理を施して、1もしくは複数のラスタラインデータを生成する画像データ生成手段と、
前記画像データ生成手段により生成された複数画像の1ラスタライン画像データに対して、第2の画像処理を実行して1ラスタラインバッファ上に配置する第1のレイアウト手段と、
前記第1のレイアウト手段により生成された1ラスタラインバッファ上に文字データと罫線データを配置する第2のレイアウト手段と、
前記第1,第2のレイアウト手段によりレイアウトされた1ラスタラインデータに対して量子化処理を行う量子化処理手段と、
前記量子化処理手段により量子化処理された1ラスタライン単位に印刷を行う印刷手段と、
を備えることを特徴とする印刷装置。
Image data generating means for performing first image processing on a plurality of input image data to generate one or a plurality of raster line data;
First layout means for executing second image processing on one raster line image data of a plurality of images generated by the image data generating means and placing the data on one raster line buffer;
Second layout means for arranging character data and ruled line data on one raster line buffer generated by the first layout means;
Quantization processing means for performing quantization processing on one raster line data laid out by the first and second layout means;
Printing means for performing printing in units of one raster line quantized by the quantization processing means;
A printing apparatus comprising:
前記第1のレイアウト手段は、前記第1の画像処理を実行して得られたデバイスカラーデータを前記1ラスタラインバッファ上に配置することを特徴とする請求項1記載の印刷装置。2. The printing apparatus according to claim 1, wherein the first layout unit arranges device color data obtained by executing the first image processing on the one raster line buffer. 前記第2のレイアウト手段は、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする請求項1記載の印刷装置。The printing apparatus according to claim 1, wherein the second layout unit forms character data and ruled line data depending on device color data. 前記第1の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする請求項1記載の印刷装置。The printing apparatus according to claim 1, wherein the first image processing includes decoding processing, rotation processing, and reduction processing. 前記第2の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする請求項1記載の印刷装置。The printing apparatus according to claim 1, wherein the second image processing includes color space conversion processing, color conversion processing, and enlargement processing. 複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする請求項1記載の印刷装置。The printing apparatus according to claim 1, wherein the plurality of input image data is read and input from a storage unit of the host apparatus. 複数の入力画像データに対して第1の画像処理を施して、1もしくは複数のラスタラインデータを生成する画像データ生成ステップと、
前記画像データ生成ステップにより生成された複数画像の1ラスタライン画像データに対して、第2の画像処理を実行して1ラスタラインバッファ上に配置する第1のレイアウトステップと、
前記第1のレイアウトステップにより生成された1ラスタラインバッファ上に文字データと罫線データを配置する第2のレイアウトステップと、
前記第1,第2のレイアウトステップによりレイアウトされた1ラスタラインデータに対して量子化処理を行う量子化処理ステップと、
前記量子化処理ステップにより量子化処理された1ラスタライン単位に印刷を行う印刷ステップと、
を備えることを特徴とする印刷制御方法。
An image data generation step of performing a first image processing on a plurality of input image data to generate one or a plurality of raster line data;
A first layout step of performing second image processing on one raster line image data of a plurality of images generated by the image data generation step and placing the image data on one raster line buffer;
A second layout step of arranging character data and ruled line data on one raster line buffer generated by the first layout step;
A quantization processing step for performing quantization processing on one raster line data laid out by the first and second layout steps;
A printing step for printing in units of one raster line quantized by the quantization processing step;
A printing control method comprising:
前記第1のレイアウトステップは、前記第1の画像処理を実行して得られたデバイスカラーデータを前記1ラスタラインバッファ上に配置することを特徴とする請求項7記載の印刷制御方法。8. The print control method according to claim 7, wherein in the first layout step, device color data obtained by executing the first image processing is arranged on the one raster line buffer. 前記第2のレイアウトステップは、文字データと罫線データが、デバイスカラーデータに依存して形成されていることを特徴とする請求項7記載の印刷制御方法。8. The print control method according to claim 7, wherein in the second layout step, character data and ruled line data are formed depending on device color data. 前記第1の画像処理は、復号化処理、回転処理、縮小処理を含むことを特徴とする請求項7記載の印刷制御方法。The print control method according to claim 7, wherein the first image processing includes decoding processing, rotation processing, and reduction processing. 前記第2の画像処理は、色空間変換処理、色変換処理、拡大処理を含むことを特徴とする請求項7記載の印刷制御方法。The print control method according to claim 7, wherein the second image processing includes color space conversion processing, color conversion processing, and enlargement processing. 複数の入力画像データは、ホスト装置の記憶部から読み出されて入力されることを特徴とする請求項7記載の印刷制御方法。The print control method according to claim 7, wherein the plurality of input image data are read from the storage unit of the host device and input. 請求項7〜12のいずれかに記載の印刷制御方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。A computer-readable storage medium storing a program for realizing the printing control method according to claim 7. 請求項7〜12のいずれかに記載の印刷制御方法を実現することを特徴とするプログラム。The program which implement | achieves the printing control method in any one of Claims 7-12.
JP2003206830A 2003-08-08 2003-08-08 Printing apparatus, printing control method, storage medium, and program Expired - Fee Related JP4323885B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003206830A JP4323885B2 (en) 2003-08-08 2003-08-08 Printing apparatus, printing control method, storage medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003206830A JP4323885B2 (en) 2003-08-08 2003-08-08 Printing apparatus, printing control method, storage medium, and program

Publications (2)

Publication Number Publication Date
JP2005062919A true JP2005062919A (en) 2005-03-10
JP4323885B2 JP4323885B2 (en) 2009-09-02

Family

ID=34363547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003206830A Expired - Fee Related JP4323885B2 (en) 2003-08-08 2003-08-08 Printing apparatus, printing control method, storage medium, and program

Country Status (1)

Country Link
JP (1) JP4323885B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166560A (en) * 2005-12-17 2007-06-28 Fuji Xerox Co Ltd Apparatus, method, and program for image processing and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166560A (en) * 2005-12-17 2007-06-28 Fuji Xerox Co Ltd Apparatus, method, and program for image processing and storage medium
JP4623300B2 (en) * 2005-12-17 2011-02-02 富士ゼロックス株式会社 Image processing apparatus and image processing program

Also Published As

Publication number Publication date
JP4323885B2 (en) 2009-09-02

Similar Documents

Publication Publication Date Title
EP2093708B1 (en) Rendering apparatus, rendering method, and storage medium
JP4757120B2 (en) Image processing apparatus and control method thereof
US8339664B2 (en) Image processing method, image processing apparatus, and control method thereof
US6860203B2 (en) Method and apparatus for printing computer generated images
JP2008117379A (en) System, method and computer program for encoded raster document generation
JP4310023B2 (en) Reduced image creation method and apparatus, and storage medium
JP4323885B2 (en) Printing apparatus, printing control method, storage medium, and program
US7616822B2 (en) Image coding apparatus and image coding method
JP2006155308A (en) Image forming apparatus
JP4035907B2 (en) Image forming system and control method thereof
US8368947B2 (en) Technique for creating print data
JP2008146415A (en) Image processor and its control method, program
JP4447931B2 (en) Image processing apparatus, image processing method, computer-readable storage medium storing program, and program
JP2004192394A (en) Information processor
JP3308663B2 (en) Image forming device
JP2007140953A (en) Information processor, image forming system, and data generating method
JP2001128007A (en) Picture processing method and picture processor
JPH06208442A (en) Image processing system
JP3624155B2 (en) Image compression apparatus, image compression method, and information processing system
JP2007249403A (en) Image data processing system and method for it
JP4058157B2 (en) Image processing method, image forming apparatus, and recording medium
JP2007142986A (en) Image processor and image processing method
US20060139693A1 (en) Printing system, computer readable medium recording a driver program, and printing device
JP2003167702A (en) Image processor, control method for image processor, program, and storage medium
JP4095450B2 (en) Image output apparatus and control method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060808

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090519

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090605

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees