JP2007228521A - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP2007228521A
JP2007228521A JP2006050264A JP2006050264A JP2007228521A JP 2007228521 A JP2007228521 A JP 2007228521A JP 2006050264 A JP2006050264 A JP 2006050264A JP 2006050264 A JP2006050264 A JP 2006050264A JP 2007228521 A JP2007228521 A JP 2007228521A
Authority
JP
Japan
Prior art keywords
print
image
images
buffer
image data
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.)
Pending
Application number
JP2006050264A
Other languages
English (en)
Inventor
Makoto Koyanagi
誠 小柳
Kanako Ide
加奈子 井手
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006050264A priority Critical patent/JP2007228521A/ja
Publication of JP2007228521A publication Critical patent/JP2007228521A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】用意されているバッファを効率よく利用して印刷処理の高速化を実現する。
【解決手段】印刷対象画像を表す印刷対象画像データに対して複数の特定の画像処理を実行するとともに、得られた画像データを、印刷レイアウト情報に基づいて処理することにより、1ページの印刷媒体上に前記印刷対象画像を配置した状態を示す印刷レイアウト画像データを生成する画像処理装置は、前記複数の特定の画像処理に利用される複数のバッファと、前記複数の特定の画像処理を実行する前に、前記印刷レイアウト情報から、前記印刷媒体上に配置される前記印刷対象画像の数に関する配置画像数を求め、求めた配置画像数に基づいて前記バッファの区分数を設定するバッファ設定部と、を備えることを特徴とする。
【選択図】図1

Description

本発明は、印刷を実行するための印刷制御装置に関する。
プリンタなどの印刷装置では、印刷対象の画像(以下、「印刷対象画像」とも呼ぶ。)を印刷媒体上に配置した画像(以下、「印刷レイアウト画像」とも呼ぶ。)を表す画像データ(以下、「印刷レイアウト画像データ」とも呼ぶ。)を生成し、生成した印刷レイアウト画像データに基づいて、印刷媒体上のドットの配置を表す2値データ(以下、「印刷データ」とも呼ぶ。)を生成し、生成した印刷データに基づいて印刷媒体上に画像を印刷する印刷処理を行っている。
近年、デジタルカメラによって撮影してメモリカード等の記録媒体に記録した写真(以下、「フォト画像」とも呼ぶ。)のデータ(以下、「フォト画像データ」とも呼ぶ。)を、パーソナルコンピュータを介さずに直接プリンタに読み込んで、印刷を行うことが可能なプリンタが普及している。このようなプリンタでは、印刷対象画像としてフォト画像を選択し、印刷媒体上に印刷することが可能である。
メモリカードに記録されたフォト画像データは、通常、JPEG(Joint photographic Coding Experts Group)形式の圧縮された画像データ(以下、「圧縮画像データ」とも呼ぶ。)により構成されているので、このようなフォト画像データの表すフォト画像をプリンタで印刷する場合には、印刷レイアウト画像データを生成する前に、圧縮画像データを展開処理して圧縮されていないビットマップ形式の画像データ(以下、「非圧縮画像データ」あるいは「原画像データ」とも呼ぶ。)に変換する画像処理(「デコード処理」とも呼ぶ。)が必要となる。また、デコード処理後の原画像データに対して色補正処理、シャープネス調整処理、ノイズ除去処理等の画像処理(「画質補正処理」とも呼ぶ。)を行う場合もある。さらに、印刷媒体中に印刷する画像の大きさ(以下、「印刷サイズ」とも呼ぶ。)に合わせて、原画像データの画素数を拡大/縮小する画像処理(「リサイズ処理」あるいは「解像度変換処理」とも呼ぶ。)を行う場合もある。なお、以下では、上記各画像処理のそれぞれを印刷画像処理と呼び場合もあり、また、各画像処理をまとめて印刷画像処理とも呼ぶ場合もある。
従来のプリンタは、プリンタに設けられたCPUが上記印刷処理を実行するための印刷制御装置として機能し、上記種々の印刷のための画像処理を実行している(例えば、特許文献1,2参照)。また、印刷画像処理の高速化を図るために、CPUと専用のハードウェア回路とを組み合わせて印刷制御装置を構成し、CPUの制御下で動作するハードウェア回路が画像処理を実行するものもある(例えば、特許文献3参照)。
特開2001−138584号公報 特開2003−101940号公報 特開2000−198240号公報
ここで、上記各画像処理においては、処理前の画像データを保存しているバッファから処理前の画像データを読み出して処理し、処理後の画像データを保存するためのバッファに、処理後の画像データを保存することが行われる。これらのバッファの容量は、その処理の高速化の点や、後段に続く処理の高速化の点等から、ある程度大きくするほうが好ましい。特に、各画像処理の並列動作を考えた場合には、バッファの容量をある程度大きくするほうが、各画像処理の並列動作期間を長くすることができるので、処理の高速化の点で有利である。しかしながら、実際の設計では、サイズやコスト等の面からメモリ容量が制限される場合が多い。
そこで、実際のプリンタの設計においては、1ページの印刷媒体上の横方向に配置可能な最大画像数(異なるレイヤに配置されて重ね合わされる画像も含む画像数)を規定し、規定した最大画像数と、1つの印刷対象画像の画像データの処理のために少なくとも必要と想定される各画像処理における容量と、を考慮して、各画像処理についてのバッファの容量を設定している。そして、設定したバッファの容量を、規定した最大画像数を区分数として区分することにより、1つの印刷対象画像の画像データの処理に利用できるバッファの区分容量を、決定している。
しかしながら、実際の処理において、1ページの印刷媒体上の横方向に配置される画像数は、上記最大画像数よりも少ない場合が多く、各画像処理についてのバッファには、利用されない無駄な領域が発生する場合が多い。例えば、ある画像処理で利用されるバッファの容量をCb、区分数を20と規定すると、1つの区分容量はCb/20と設定されるのに対して、4面割付印刷の場合に横方向に配置される画像数は2枚となるため、(Cb・20/20)のバッファの領域のうち、利用される領域は(Cb・2/20)のみであり、(Cb・18/20)の領域が利用されない無駄な領域となる。すなわち、用意されているバッファを効率よく利用していない場合が多く、上記したように、処理の高速化の点から好ましくない。
本発明は、上述の課題を解決するためになされたものであり、用意されているバッファを効率よく利用し、結果として印刷処理の高速化を実現することが可能な技術を提供することを目的とする。
上述の課題の少なくとも一部を解決するために、本発明の態様は、
印刷対象画像を表す印刷対象画像データに対して複数の特定の画像処理を実行するとともに、得られた画像データを、印刷レイアウト情報に基づいて処理することにより、1ページの印刷媒体上に前記印刷対象画像を配置した状態を示す印刷レイアウト画像を表す印刷レイアウト画像データを生成する画像処理装置であって、
前記複数の特定の画像処理に利用される複数のバッファと、
前記複数の特定の画像処理を実行する前に、前記印刷レイアウト情報から、前記印刷媒体上に配置される前記印刷対象画像の数に関する配置画像数を求め、求めた配置画像数に基づいて前記バッファの区分数を決定するバッファ設定部と、
を備えることを特徴とする。
上記画像処理装置によれば、複数の特定の画像処理を実行する前に、レイアウト情報から、印刷媒体上に配置される対象画像の数に関する配置画像数を求め、求めた配置画像数に基づいてバッファの区分数を決定することができるので、バッファを効率よく利用することができ、結果として、印刷処理の高速化を実現することが可能となる。
そして、前記バッファ設定部は、前記印刷レイアウト情報が、前記印刷制御装置における所定の内部情報に基づいて設定された情報である場合には前記配置画像数として、前記印刷媒体上の副走査方向に沿って配置される印刷対象画像の数を求め、求めた配置画像数を前記バッファの区分数に設定することが好ましい。
このようにすれば、バッファの区分数を印刷媒体上の副走査方向に沿って配置される印刷対象画像の数に設定することができるので、バッファの区分数を最適な数に設定し、バッファを効率よく区分することが可能となる。
また、前記バッファ設定部は、前記印刷レイアウト情報が、PIF形式のファイルで表された情報である場合には、前記配置画像数として、前記印刷媒体上に配置される全ての印刷対象画像の数を求め、求めた配置画像数と、あらかじめ定義されている所定のレイヤ数との積を、前記バッファの区分数に設定することが好ましい。
ここで、PIF形式のファイルで表された印刷レイアウト情報の場合、印刷レイアウト情報に基づいて、印刷レイアウト画像データを生成する処理を実行しなければ、印刷媒体上の副走査方向に沿って配置される印刷対象画像の数を知ることができないが、上記のようにすれば、PIF形式のファイルで表された印刷レイアウト情報から比較的簡単に知ることができる、印刷媒体上に配置される全ての印刷対象画像の数と、あらかじめ定義されている所定のレイヤ数との積をバッファの区分数に設定することにより、バッファを比較的効率よく区分することが可能となる。
なお、上記画像処理装置は、
複数のプロセッサを有するマルチプロセッサシステムにより構成されており、
前記複数の特定の画像処理は、それぞれ、対応するプロセッサにおいて実行されることが好ましい。
複数の特定の画像処理が、それぞれ、対応するプロセッサにおいて実行される場合において、レイアウト情報から、印刷媒体上に配置される対象画像の数に関する配置画像数を求め、求めた配置画像数に基づいてバッファの区分数を決定するようにすれば、複数の特定の画像処理を、より効率よく実行することが可能となる。
本発明は、上記画像処理装置としての構成のほか、印刷制御装置や印刷装置として構成することもできる。また、これら装置発明の態様に限ることなく、画像処理方法、印刷制御方法、印刷方法、といった方法発明の態様で実現することも可能である。さらには、それら方法や装置を実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、印刷制御装置や画像処理装置の動作を制御するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやCD−ROM、DVD−ROM、光磁気ディスク、ICカード、ROMカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置(RAMやROMなどのメモリ)および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
A.実施例:
A1.印刷制御装置の構成および動作概要:
A2.メモリカード印刷処理:
A3.印刷画像処理:
A4.処理単位決定処理:
A5.バッファ設定の具体例:
A5.1.設定バッファ容量:
A5.2.内部レイアウトの場合:
A5.3.外部レイアウトの場合:
A6.実施例の効果:
B.変形例:
A.実施例:
A1.印刷制御装置の構成および動作概要:
図1は、本発明の一実施例としての印刷制御装置を備えるプリンタの構成概要を示す機能ブロック図である。印刷制御装置10は、複数のプロセッサを備えるマルチプロセッサシステムを、1つの半導体基板上に集積化したマイクロプロセッサである。各プロセッサは、それぞれ、CPUや、メモリ、バスコントローラ等の周辺回路を含むユニットを意味している。なお、本実施例では、図1に示すように、1つのメインプロセッサ100と、4つのサブプロセッサ200A〜200D(図中、「サブプロセッサ1」〜「サブプロセッサ4」と表記されている。)と、を備える場合を例に示している。また、印刷制御装置10は、複数のプロセッサの他、プリンタの印刷機構部50の動作を制御する回路であるプリンタエンジン500や、操作部80による入力動作を制御する回路である入力I/F部800、表示装置である液晶パネル(LCD)70による表示動作を制御するLCDコントローラ(LCDC)500、カードスロット60に装着されるメモリカード62からのデータの読み取り動作を制御する回路であるカードI/F部600、専用メモリ30に対するメインプロセッサ100からのアクセスを制御する専用メモリコントローラ300、共有メモリ40に対する各プロセッサ100,200A〜200Dからのアクセスを制御する共有メモリコントローラ400等の種々の周辺回路を備えている。なお、本発明に特に関係のない周辺回路については図示を省略している。
印刷制御装置10を構成する各プロセッサは、専用メモリ30に格納されている各プロセッサ用の所定のプログラムを読み出して実行することにより、それぞれ対応する各機能部として動作する。具体的には、メインプロセッサ100は、専用メモリ30に格納されているメインプロセッサ100のためのプログラムを読み出して実行することにより、以下で説明する機能部として動作する。また、各サブプロセッサ200A〜200Dは、メインプロセッサ100のためのプログラムが読み出される際に、専用メモリ30から読み出されて共有メモリ40に格納されているプログラムを、共有メモリ40から読み出して実行することにより、それぞれ、以下で説明する機能部として動作する。
メインプロセッサ100は、印刷処理動作を全体として制御する機能部(以下、「印刷制御部」と呼ぶ。)として動作する。なお、以下では、メインプロセッサ100を、「印刷制御部100」とも呼ぶ。印刷制御部100は、具体的には、ユーザインタフェース部(「UI部」とも呼ぶ。)110、印刷画像処理制御部120、および、印刷実行制御部130等の各機能部として動作する。
UI部110は、ユーザが操作部80を操作することにより、ユーザが印刷を希望するフォト画像の選択や印刷レイアウトの選択設定、印刷の実行指示等の動作を制御する機能部である。
印刷画像処理制御部120は、印刷レイアウトに従った印刷媒体上の対応する位置に印刷対象画像を配置した画像(印刷レイアウト画像)を表す画像データ(印刷レイアウト画像データ)を生成するとともに、生成した印刷レイアウト画像データに対応する印刷データを生成する処理を制御する機能部である。
印刷画像処理制御部120は、具体的には、画像データ処理条件設定部122、画像データ処理制御部124、および、印刷データ生成制御部126等の各機能部として動作する。
画像データ処理条件設定部122は、後述するように、印刷レイアウト情報に基づいて、画像処理の処理条件を決定する機能部である。
画像データ処理制御部124は、デコード処理、画像補正処理、リサイズ処理、および、レイアウト処理を制御して、印刷レイアウト画像データの生成を制御する機能部である。印刷レイアウト画像データは、例えば、以下のようにして生成される。
図2は、印刷レイアウト情報に従って生成された印刷レイアウト画像の一例を示す説明図である。この印刷レイアウト画像は、印刷対象画像としての1つのフレーム画像の上に、印刷対象画像としての1つのフォト画像を重ね合わせて配置する印刷レイアウト情報に従って、1つのレイヤに配置されるフレーム画像である画像Bの上に、他のレイヤに配置されるフォト画像である画像Aが重ね合わされた印刷レイアウト画像を示している。この印刷レイアウト画像を表す印刷レイアウト画像データは、図2に示す画像の上側から所定の処理単位ごとに、順番に、画像Aの画像データがメモリカード62から読み出されるとともに、画像Bの画像データが、内部レイアウトの場合には専用メモリ30から、外部レイアウトの場合にはメモリカード62から読み出されて、それぞれ、デコード処理、画像補正処理、リサイズ処理が実行され、リサイズ処理されたそれぞれの画像データが、印刷レイアウト情報に応じた位置に配置されるようにレイアウト処理されることにより、生成される。
なお、画像データ処理制御部124の制御により実行される各処理のうち、デコード処理はこれを実行する機能部として動作する第2のサブプロセッサ200Bが実行し、画像補正処理はこれを実行する機能部として動作する第3のサブプロセッサ200Cが実行し、リサイズ処理およびレイアウト処理はこれらを実行する機能部として動作する第1のサブプロセッサ200Aが実行する。
印刷データ生成制御部126は、印刷レイアウト画像データに基づく印刷データの生成を制御する機能部である。印刷データとは、印刷媒体上に実際に画像を印刷するために用いられるデータであり、例えば、インクジェット形式のプリンタの場合には、印刷媒体上のドットの配置を表す2値データを意味している。ただし、印刷データ生成制御部126の制御により実行される処理は、実際には、印刷データを生成する処理を実行する機能部として動作する第4のサブプロセッサ200Dが実行する。
第2のサブプロセッサ200Bは、JPEG形式の圧縮された画像データのデコード処理(「画像展開処理」とも呼ぶ。)を実行する機能部(以下、「デコード処理実行部」と呼ぶ。)として動作する。このデコード処理は、通常、メモリカード62等のメモリに格納された印刷対象画像を表す画像データ(以下、「印刷対象画像データ」とも呼ぶ。)が、JPEG(Joint Photographic Coding Experts Group)形式の圧縮データ(以下、「JPEG画像データ」とも呼ぶ。)であるため、このようなJPEG画像データを、ビットマップ形式の圧縮されていない画像データ(「原画像データ」あるいは「展開画像データ」とも呼ぶ。)に展開処理するものである。なお、以下では、第2のサブプロセッサ200Bを、「デコード処理実行部200B」と呼ぶ場合もある。
第3のサブプロセッサ200Cは、デコード処理により得られた原画像データに対して、色補正、明るさ補正、コントラスト補正、彩度補正、ノイズ除去、平滑化、輪郭補正等の種々の画質を補正するための画像補正処理を実行する機能部(以下、「補正処理実行部」と呼ぶ。)として動作する。なお、以下では、第3のサブプロセッサ200Cを、「補正処理実行部200C」とも呼ぶ。
第1のサブプロセッサ200Aは、画像データ取得制御部200Aa、リサイズ処理実行部200Ab、および、レイアウト処理実行部200Acの機能部として動作する。
リサイズ処理実行部200Abは、補正処理後の原画像データを、印刷媒体上の大きさに対応する解像度の画像データに変換するリサイズ処理を実行する機能部である。
画像データ取得制御部200Aaは、画像データ処理制御部124の代わりに、デコード処理実行部200B、補正処理実行部200C、および、リサイズ処理実行部200Abの動作を制御する機能ブロックである。
レイアウト処理実行部200Acは、印刷レイアウト画像データを生成する処理を実行する機能部である。
第4のサブプロセッサ200Dは、印刷データを生成する処理を実行する機能ブロック(「印刷データ生成実行部」と呼ぶ。)として動作する。なお、以下では、第4のサブプロセッサ200Dを、「印刷データ生成実行部200D」とも呼ぶ。
共有メモリ40には、入力バッファ40A、画像処理バッファ40B、出力バッファ40C、レイアウトバッファ40D、および、印刷データバッファ40Eの各バッファ領域が設けられている。入力バッファ40Aは、印刷レイアウト画像データを生成するために必要とされる画像データ、例えば、図2の例では、画像Aの画像データおよび画像Bの画像データを、後述するようにして決定される所定の処理単位ごとに、そのデータが格納されているメモリから順に読み出して、一時保存するためのバッファである。画像処理バッファ40Bは、入力バッファ40Aに保存された画像データを読み出してデコード処理し、これにより得られた原画像データを一時保存するとともに、保存した原画像データを読み出して補正処理し、これにより得られた画像データ(以下、「補正画像データ」とも呼ぶ。)を再度保存するためのバッファである。出力バッファ40Cは、画像処理バッファ40Bに保存した補正画像データを読み出してリサイズ処理し、これにより得られた画像データ(以下、「リサイズ画像データ」とも呼ぶ。)を一時保存するためのバッファである。レイアウトバッファ40Dは、出力バッファ40Cに保存されているリサイズ画像データを読み出してレイアウト処理を実行し、これにより得られた印刷レイアウト画像データを一時保存するためのバッファである。印刷データバッファ40Eは、レイアウトバッファ40Dに保存されている印刷レイアウト画像データを読み出して印刷データ生成処理を実行し、得られた印刷データを一時保存するためのバッファである。
A2.メモリカード印刷処理:
図3は、メモリカード印刷処理の手順を示す説明図である。例えば、UI部110(図1参照。)によってLCD400に表示されたメニュー画面(図示省略)から、ユーザが操作部80を操作して、「メモリカード印刷メニュー」を選択することにより、メモリカード印刷が実行される。
メモリカード印刷は、印刷を希望する画像(印刷対象画像)の選択(ステップS10)、印刷レイアウトの選択(ステップS20)、印刷画像処理の実行(ステップS30)の順に実行される。
ステップS10における画像選択では、UI部110によってLCD40に画像選択画面(図示省略)が表示され、ユーザが操作部80を操作することにより、印刷を希望する1枚以上のフォト画像を印刷対象画像として選択指定することができる。
次に、ステップS20における印刷レイアウト選択では、UI部110によってLCD40に印刷レイアウト選択画面(図示省略)が表示され、ユーザが操作部80を操作することにより、内部レイアウトか外部レイアウトかの選択が可能である。内部レイアウトは、あらかじめ専用メモリ30に格納されている印刷レイアウト情報の表す印刷レイアウトであり、例えば、L判1枚印刷レイアウトや、2面、4面、8面、…等の多面割付印刷レイアウト等が選択可能である。また、図2に示した印刷レイアウト画像のように、ユーザが印刷を希望するフォト画像に重ねて印刷するフレーム画像が複数種類用意されており、希望するフレーム画像を印刷対象画像として選択指定して、選択したフレーム画像を希望する位置に配置した印刷レイアウトとすることが可能である。外部レイアウトは、メモリカード62に格納されている印刷レイアウト情報の表す印刷レイアウトであり、PIF2形式のファイルで表される印刷レイアウト情報の表す印刷レイアウトまたはPIF3形式のファイルで表される印刷レイアウト情報の表す印刷レイアウトのいずれかを選択可能である。
そして、ステップS30における印刷画像処理では、ユーザが操作部80を操作し印刷の実行を指示することにより、以下で説明するように、ステップS10において選択指定したフォト画像を、ステップS20において選択した印刷レイアウトに従って印刷するための印刷画像処理が実行される。
A3.印刷画像処理:
図4は、メモリカード印刷処理において実行される印刷画像処理の手順を示す説明図である。
印刷画像処理が開始されると、まず、印刷画像処理制御部120の画像データ処理条件設定部122(図1参照。)が、処理単位決定処理を実行し(ステップS310)、印刷レイアウトに応じた印刷レイアウト画像を表す印刷レイアウト画像データを生成するために、後述するように、入力バッファ40A、画像処理バッファ40B、および、出力バッファ40Cの区分設定を行うとともに、画像処理を実行する所定の処理単位を決定する。決定されたバッファの区分設定情報は、画像データ処理制御部124を介して、それぞれのバッファを利用する処理実行部に伝えられる。
次に、画像データ処理制御部124(図1参照。)は、印刷レイアウト情報に応じた印刷レイアウト画像データを生成するために、その対象となる画像データ(印刷対象画像データ)の取得処理の実行を、所定の処理単位ごとに、画像データ取得制御部200Aaに対して指示し、デコード処理実行部200B、補正処理実行部200C、および、リサイズ処理実行部200Ab(図1参照。)を動作させて、画像データ取得処理を実行する(ステップS320)。具体的には、ステップS310で決定された所定の処理単位で、デコード処理実行部200Bがデコード処理を実行し(ステップS322)、補正処理実行部200Cが補正処理を実行し(ステップS324)、リサイズ処理実行部200Abがリサイズ処理を実行する(ステップS326)。
ステップS322のデコード処理では、デコード処理実行部200Bは、実行が指示された所定の処理単位のJPEG画像データを、データが格納されているメモリから読み出して、入力バッファ40Aに保存する。なお、入力バッファ40Aは、後述するようにして設定される区分数に応じて複数の区分領域に区分されており、横方向に配置される画像ごとに、それぞれ、入力バッファ40Aの対応する区分領域に保存される。そして、デコード処理実行部200Bは、入力バッファ40Aに保存された所定の処理単位のJPEG画像データを読み出して、デコード処理を実行し、得られた原画像データを画像処理バッファ40Bに保存する。なお、画像処理バッファ40Bも、後述するようにして設定される区分数に応じて複数の区分領域に区分されており、横方向に配置される画像ごとに、それぞれ、画像処理バッファ40Bの対応する区分領域に保存される。
ステップS324の補正処理では、補正処理実行部200Cは、デコード処理の終了した処理単位の原画像データごとに、画像処理バッファ40Bから読み出して補正処理を実行し、画像処理バッファ40Bの読み出した原画像データを補正画像データに書き換える。
ステップS326のリサイズ処理では、リサイズ処理実行部200Abは、補正処理の終了した補正画像データごとに、画像処理バッファ40Bから読み出してリサイズ処理を実行し、得られたリサイズ画像データを出力バッファ40Cに保存する。なお、出力バッファ40Cも、後述するように、後述するようにして設定される区分数に応じて複数の区分領域に区分されており、横方向に配置される印刷対象画像ごとに、それぞれ、出力バッファ40Cの対応する区分領域に保存される。
例えば、図2に示すように、印刷媒体の横方向(副走査方向)に複数の画像が配置される(異なるレイヤの複数の画像が重ね合わされる場合も含む。)印刷レイアウトの場合には、その数(以下、「横方向配置数」と呼ぶ。)に応じた数の画像のそれぞれについて、所定の処理単位ごとに、画像データ取得処理の実行が、指示される。具体的には、図2に示すように、2つの画像A,Bが横方向に配置される場合には、画像Aの所定の処理単位ごとの画像部分をA1,A2,A3,…、画像Bの所定の処理単位ごとの画像部分をB1,B2,B3…とすると、画像部分A1,画像部分B1,画像部分A2,画像部分B2,画像部分A3,画像部分B3,…の順番で、画像データ取得処理の実行が指示される。そして、実行が指示された順に、まず、デコード処理が実行され、デコード処理が終了した順に画像補正処理が実行され、画像補正処理が終了した順にリサイズ処理が実行される。
このように、各処理実行部における画像処理は、所定の処理単位で入力バッファ40Aに保存された画像データごとに、それぞれ、独立して繰り返し実行される。すなわち、各処理実行部における画像処理は、並列して実行される。
そして、画像データ処理制御部124は、レイアウト処理実行部200Acを動作させて、ステップS320の画像データ取得処理により得られた画像データ(印刷対象画像データ)について、レイアウト処理を実行する(ステップS330)。このとき、レイアウト処理実行部200Acは、ステップS320の画像データ取得処理により得られた得られた処理単位のリサイズ画像データを、出力バッファ40Cから読み出してレイアウト処理を実行し、得られた印刷レイアウト画像データをレイアウトバッファ40Dに保存する。なお、このレイアウト処理実行部200Acにおける画像処理も、上記した処理単位の画像データごとに、繰り返し実行され、並列動作が可能である。ただし、リサイズ処理実行部200Abとレイアウト処理実行部200Acとは、同じ第1のサブプロセッサ200Aの機能部であるので、あらかじめ定められた優先順位のもと、順番に実行される。
そして、印刷データ生成制御部126(図1参照。)は、印刷データ生成実行部200Dを動作させて、レイアウト処理により得られた印刷レイアウト画像データに基づいて、印刷データ生成処理を実行する(ステップS340)。このとき、印刷データ生成実行部200Dは、生成された印刷レイアウト画像データを、レイアウトバッファ40Dから読み出し、これに基づいて印刷データを生成し、生成した印刷データを印刷データバッファ40Eに保存する。なお、この印刷データ生成実行部200Dにおける画像処理も、上記した処理単位の画像データごとに、繰り返し実行され、並列動作が可能である。
そして、印刷データバッファ40Eに保存されている印刷データは、印刷実行制御部130によって読み出されて、プリンタエンジン500を制御して印刷機構部50を動作させることにより、印刷媒体上に印刷データに対応する画像が印刷される。
なお、上記画像データ取得処理、レイアウト処理、および、印刷データ生成処理は、ステップS350において、全ての画像データについて処理が実行され、印刷データが生成されたと判断されるまで、繰り返し実行される。
A4.処理単位決定処理:
図5は、印刷画像処理において実行される処理単位決定処理の手順を示す説明図である。
処理単位決定処理が開始されると、まず、印刷レイアウト情報を取得する(ステップS311)。ここで、ステップS20の印刷レイアウト選択(図2参照。)において内部レイアウトが選択された場合には、共有メモリ40に保存されている印刷レイアウト情報を読み出して取得する。一方、外部レイアウト選択された場合には、メモリカード62に保存されている印刷レイアウト情報を読み出して取得する。
そして、内部レイアウトの場合には(ステップS312:YES)、印刷レイアウト情報を参照して、配置画像数を取得し(ステップS313a)、取得した配置画像数に基づいてバッファの区分数を決定する(ステップS314a)
ここで、内部レイアウトの場合には、印刷レイアウト情報を参照すれば、1ページの印刷媒体の印刷レイアウトにおいて、横方向に配置される印刷対象画像の全画像数(異なるレイヤに配置され重ね合わされる画像も含む画像数)を、簡単に知ることができる。そこで、内部レイアウトの場合には、横方向に配置される全画像数(以下、「横方向配置画像数」とも呼ぶ。)を配置画像数として取得することとし、取得した横方向配置画像数をバッファの区分数に設定することとする。例えば、図2に示す印刷レイアウト画像の場合には、横方向配置画像数は「2」となり、バッファの区分数は「2」となる。
一方、外部レイアウトの場合には(ステップS312:NO)、印刷レイアウト情報を参照して、配置画像数を取得し(ステップS313b)、取得した配置画像数および所定のレイヤ数に基づいてバッファの区分数を決定する(ステップS314b)。
ここで、外部レイアウトの場合には、印刷レイアウト情報は、PIF(Program Information File)形式のファイルで示されており、このファイル中のスクリプトに従った処理を実行するまで、横方向配置画像数を知ることは出来ない。そこで、外部レイアウトの場合には、配置画像数として1ページ中に配置する全画像数を取得することとする。また、あらかじめ定められている利用可能なレイヤ数の最大値が装置において定められているので、この定められている最大値を所定のレイヤ数とすることとする。そして、配置画像数と所定のレイヤ数を乗算した値をバッファの区分数に設定することとする。例えば、図2に示す印刷レイアウト画像の場合には、配置画像数は「2」となり、所定のレイヤ数を「3」とすると、バッファの区分数は「6」となる。
なお、1ページ中に配置する印刷対象画像の全画像数については、スクリプトを実行するまでもなく、以下のように簡単に取得することができる。例えば、PIF2形式のファイルの場合には、スクリプト中の「DrawPicture」命令の数を数えることにより簡単に取得することができる。PIF3形式のファイルの場合には、バイナリ形式で示されている情報中の流し込み画像数を参照することにより簡単に取得することができる。
そして、ステップS315では、設定した区分数およびバッファ容量から1つの区分領域に保存可能なデータ容量を求め、これに基づいて所定の処理単位を決定することができる。
A5.バッファ設定の具体例:
なお、入力バッファ40A,画像処理バッファ40B,出力バッファ40Cの各バッファの区分設定の方法は、バッファの種類に関係なく全く同じであるので、以下では、入力バッファ40Aを例に説明する。また、図2に示す印刷レイアウト画像データを生成する場合を例に説明することとする。
A5.1.設定バッファ容量:
図6は、入力バッファの設定容量について示す説明図である。入力バッファ40Aに割り当られるバッファ容量Cinは、以下で説明するように設定される。
1ページの印刷レイアウトにおいて、横方向に配置可能な画像数(異なるレイヤに配置され重ね合わされる画像も含む画像数)は、通常、所定の画像数Npx(以下、「横方向配置可能最大数」と呼ぶ。)に制限されている。また、1つの画像の画像データの処理のために少なくとも必要と想定される容量(基準容量)Cstが、要求される処理性能,コスト等を考慮して設計上設定される。この結果、バッファ容量Cinは、Cin=(Npx*Cst)に設定される。
言い換えると、配置画像数Npが横方向配置可能最大数Npx(以下、例えば、Npx=20とする。)に等しい値に設定されている場合には、バッファの区分数Sinは、設定されている配置画像数、すなわち、横方向配置可能最大数Npxに等しい値に設定される。そして、1つの区分領域の容量Cstbは、バッファ容量Cinを区分数Sin(=Npx)で割った値(Cin/Npx)、すなわち、基準容量Cstに等しい値に設定される。
A5.2.内部レイアウトの場合:
図7は、内部レイアウトの場合の入力バッファの区分設定について示す説明図である。内部レイアウトの場合、上記した処理単位決定処理において説明したように、1ページの印刷レイアウトにおいて、横方向配置画像数が配置画像数Npとして取得され、この配置画像数Npがバッファ区分数Sinとして設定される。そして、このときの1つの区分容量Cstbは、バッファ容量Cinを区分数Sin(=Np)で割った値(Cin/Np)に設定される。
例えば、図2に示す印刷レイアウト画像の場合、配置画像数Npは「2」となり、区分数Sinは「2」に設定される。そして、1つの区分領域の区分容量Cstbは、バッファ容量Cinを区分数Sinで割った値(Cin/2)に設定される。すなわち、入力バッファ40Aは、区分数Sin(=2)に従って2等分され、1つの区分領域の区分容量Cstbはバッファ容量Cinを2等分した値に設定される。ここで、配置画像数Npを横方向配置可能最大数Npx(=20)で表すとすると、配置画像数NpはNp=(Npx*2/20)で表され、区分数SinもSin=(Npx*2/20)で表される。この結果、区分容量Cstbは、Cstb=(Cst*10)で表される。従って、この場合の区分容量Cstbは、基準容量Cstの10倍の容量に設定されることになる。そして、設定された2つの区分領域のうち、一方の領域が画像Aの画像データの保存領域に割り当てられ、他方の領域が画像Bの画像データの保存領域に割り当てられる。
以上の説明からわかるように、内部レイアウトの場合において、横方向配置画像数に基づいて決定される区分数に従って、入力バッファ40Aを効率効率よく区分することが可能である。
A5.3.外部レイアウトの場合:
(1)PIF2形式のファイルによる外部レイアウトの場合
図8は、PIF2形式のファイルによる印刷レイアウト情報に基づく入力バッファの区分設定について示す説明図である。外部レイアウトの場合、上記したように、1ページの印刷レイアウトにおいて、配置される全画像数が配置画像数Npとして取得される。また、装置において、あらかじめ定められている利用可能なレイヤ数の最大値が所定のレイヤ数NLとされる。そして、配置画像数Npと所定のレイヤ数NLを乗算した値(Np*NL)がバッファの区分数Sinとして設定される。そして、このときの1つの区分容量Cstbは、バッファ容量Cinを区分数Sin(=Np*NL)で割った値(Cin/(Np*NL))に設定される。
例えば、図2に示す印刷レイアウトの場合、配置画像数Npは「2」となり、所定のレイヤ数NLを「3」とすると、バッファの区分数Sinは「6」に設定される。そして、1つの区分容量Cstbは、バッファ容量Cinを区分数Sinで割った値(Cin/6)に設定される。すなわち、入力バッファ40Aは、区分数Sin(=6)に従って6等分され、1つの区分領域の区分容量Cstbはバッファ容量Cinを6等分した値に設定される。ここで、区分数Sinを横方向配置可能最大数Npx(=20)で表すとすると、区分数Sinは、Sin=(Npx*6/20)で表される。この結果、区分容量Cstbは、Cstb=(Cst*10/3)で表される。従って、この場合の区分容量Cstbは、基準容量Cstの(10/3)倍の容量に設定されることになる。そして、設定された6つの区分領域のうち、1つの領域が画像Aの画像データの保存領域に割り当てられ、他の1つの領域が画像Bの画像データの保存領域に割り当てられる。
以上の説明からわかるように、PIF2形式のファイルによる外部レイアウトの場合には、内部レイアウトの場合に比べると、効率は悪くなるが、配置画像数およびレイヤ数に基づいて決定される区分数に従って、入力バッファ40Aを比較的効率よく区分することが可能である。
(2)PIF3形式のファイルによる外部レイアウトの場合
図9は、PIF3形式のファイルによる印刷レイアウト情報に基づく入力バッファの区分設定について示す説明図である。PIF3形式のファイルによる外部レイアウトの場合にも、PIF2形式のファイルによる場合と同様に、1ページの印刷レイアウトにおいて、配置される全画像数が配置画像数Npとして取得される。また、装置において、あらかじめ定められている利用可能なレイヤ数の最大値が所定のレイヤ数NLとされる。そして、配置画像数Npと所定のレイヤ数NLを乗算した値(Np*NL)がバッファの区分数Sinとして設定される。そして、1つの区分領域の区分容量Cstbは、バッファ容量Cinではなく、以下で説明するバッファ容量Cinaを区分数Sin(=Np*NL)で割った値(Cina/(Np*NL))に設定される。
PIF3形式の場合には、例えば、1ページ中に印刷すべき文字について、対応するフォントデータが存在しない場合に、その代替として印刷する画像(代替画像)が定義可能であるため、このための画像データを保存する領域(以下、「代替領域」)を確保する必要がある。
そこで、PIF3形式の場合には、バッファ容量Cinのうち、代替領域としてあらかじ必要と想定される容量Cinbを確保し、残った容量Cina(=Cin−Cinb)をバッファ容量として、PIF2形式の場合と同様に、区分数Sinに従って区分すればよい。ただし、代替画像を定義しない場合には、PIF2形式の場合と同様にすればよい。
例えば、図2に示す印刷レイアウトの場合、PIF3の場合も配置画像数Npは「2」となり、所定のレイヤ数NLを「3」とすると、バッファの区分数Sinは「6」に設定される。そして、1つの区分領域の区分容量Cstbは、バッファ容量Cinaを区分数Sinで割った値(Cina/6)に設定される。すなわち、入力バッファ40Aは、代替領域を除いた残りのバッファ容量Cinaの領域が区分数Sin(=6)に従って6等分され、1つの区分領域のバッファ容量Cinaを6等分した値に設定される。ここで、区分数Sinを横方向配置可能最大数Npx(=20)で表すとすると、区分数Sinは、Sin=(Npx*6/20)で表される。また、代替領域のバッファ容量Cinbを全体のバッファ容量Cinの1/3とすると、残りのバッファ容量Cinaは全体のバッファ容量Cinの2/3となり、この容量を、基準容量Cstおよび横方向配置可能最大数Npx(=20)で表すと、バッファ容量Cinaは、Cina=(Cst*Npx*2/3)で現される。この結果、区分容量Cstbは、Cstb=(Cst*20/9)で表される。従って、この場合の区分容量Cstbは、基準容量Cstの(20/9)倍の容量に設定されることになる。そして、設定された6つの区分領域のうち、1つの領域が画像Aの画像データの保存領域に割り当てられ、他の1つの領域が画像Bの画像データの保存領域に割り当てられる。
以上の説明からわかるように、PIF3形式のファイルによる外部レイアウトの場合には、内部レイアウトの場合およびPIF2形式の場合に比べると、効率は悪くなるが、配置画像数およびレイヤ数に基づいて決定される区分数に従って、入力バッファ40Aを比較的効率よく区分することが可能である。
A6.実施例の効果:
以上説明したように、上記実施例の印刷制御装置10では、印刷画像処理のために利用されるバッファを、内部レイアウトの場合には、1ページの印刷媒体上に横方向に配置される画像数(異なるレイヤに配置され重ね合わされる画像も含む画像数)に基づいて求められる区分数に従って区分し、1つの区分領域の容量を変更することができるので、印刷制御装置10による印刷画像処理の効率を向上させることができ、結果として、処理の高速化を図ることが可能である。また、外部レイアウトの場合にも、印刷画像処理のために利用されるバッファを、1ページの印刷媒体上に配置される全画像数と、あらかじめ設定されている利用可能なレイヤ数の最大値と、に基づいて求められる区分数に従って区分し、1つの区分領域の容量を変更することができるので、印刷制御装置10による印刷画像処理の効率を向上させることができ、結果として、処理の高速化を図ることが可能である。
B.変形例:
以上、本発明の実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
例えば、上記実施例では、内部レイアウトの場合において、配置画像数として、横方向に配置される全画像数(異なるレイヤに配置されて重ね合わされる画像も含む画像数)である横方向配置画像数を取得し、この横方向配置画像数をバッファの区分数と設定しているが、多面割り付け印刷のように、横方向に多面割り付け配置されるフォト画像の数と、重ね合わせに利用されるレイヤ数との積を求めて、バッファの区分数に設定するようにしてもよい。この場合には、実施例の場合に比べて効率は低下するが、外部レイアウトと同じようにして、区分数を計算することができるという利点がある。
また、上記実施例では、印刷制御装置において実行されるデコード処理、補正処理、リサイズ処理、レイアウト処理、印刷データ生成処理のそれぞれを、対応するプロセッサで実行するマルチプロセッサシステムを例に説明しているが、1つのCPUと専用のハードウェア回路とを組み合わせて上記各処理を実行する場合にも適用可能である。この場合にも、同様の効果を期待することができる。また、1つのCPU(シングルプロセッサ)により上記各処理を実行する場合にも適用可能である。この場合には、実施例のように、各処理を並列に実行する場合に比べて効果は低いが、1つの区分領域の区分容量を大きくすることにより、1つの印刷対象画像データをバッファに書き込み、また、読み出す回数を削減することが可能であり、処理効率の向上が期待できる。
本発明の一実施例としての印刷制御装置を備えるプリンタの構成概要を示す機能ブロック図である。 印刷レイアウト情報に従って生成された印刷レイアウト画像の一例を示す説明図である。 メモリカード印刷処理の手順を示す説明図である。 メモリカード印刷処理において実行される印刷画像処理の手順を示す説明図である。 印刷画像処理において実行される処理単位決定処理の手順を示す説明図である。 入力バッファの設定容量について示す説明図である。 内部レイアウトの場合の入力バッファの区分設定について示す説明図である。 PIF2形式のファイルによる印刷レイアウト情報に基づく入力バッファの区分設定について示す説明図である。 PIF3形式のファイルによる印刷レイアウト情報に基づく入力バッファの区分設定について示す説明図である。
符号の説明
10…印刷制御装置
30…専用メモリ
40…共有メモリ
40A…入力バッファ
40B…画像処理バッファ
40C…出力バッファ
40D…レイアウトバッファ
40E…印刷データバッファ
50…印刷機構部
60…カードスロット
62…メモリカード
70…液晶パネル(LCD)
80…操作部
100…メインプロセッサ(印刷制御部)
110…ユーザインタフェース部(UI部)
120…印刷画像処理制御部
122…画像データ処理条件設定部
124…画像データ処理制御部
126…印刷データ生成制御部
130…印刷実行制御部
200A…第1のサブプロセッサ
200Aa…画像データ取得制御部
200Ab…リサイズ処理実行部
200Ac…レイアウト処理実行部
200B…第2のサブプロセッサ(デコード処理実行部)
200C…第3のサブプロセッサ(補正処理実行部)
200D…第4のサブプロセッサ(印刷データ生成実行部)
300…専用メモリコントローラ
400…共有メモリコントローラ
500…プリンタエンジン
600…カードI/F部
700…LCDコントローラ(LCDC)
800…入力I/F部

Claims (5)

  1. 印刷対象画像を表す印刷対象画像データに対して複数の特定の画像処理を実行するとともに、得られた画像データを、印刷レイアウト情報に基づいて処理することにより、1ページの印刷媒体上に前記印刷対象画像を配置した状態を示す印刷レイアウト画像データを生成する画像処理装置であって、
    前記複数の特定の画像処理に利用される複数のバッファと、
    前記複数の特定の画像処理を実行する前に、前記印刷レイアウト情報から、前記印刷媒体上に配置される前記印刷対象画像の数に関する配置画像数を求め、求めた配置画像数に基づいて前記バッファの区分数を設定するバッファ設定部と、
    を備えることを特徴とする画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記バッファ設定部は、前記印刷レイアウト情報が、前記印刷制御装置における所定の内部情報に基づいて設定された情報である場合には前記配置画像数として、前記印刷媒体上の副走査方向に沿って配置される印刷対象画像の数を求め、求めた配置画像数を前記バッファの区分数に設定する、
    ことを特徴とする画像処理装置。
  3. 請求項1に記載の画像処理装置であって、
    前記バッファ設定部は、前記印刷レイアウト情報が、PIF形式のファイルで表された情報である場合には、前記配置画像数として、前記印刷媒体上に配置される全ての印刷対象画像の数を求め、求めた配置画像数と、あらかじめ定義されている所定のレイヤ数との積を、前記バッファの区分数に設定する、
    ことを特徴とする画像処理装置。
  4. 請求項1ないし請求項3のいずれかに記載の画像処理装置であって、
    複数のプロセッサを有するマルチプロセッサシステムにより構成されており、
    前記複数の特定の画像処理は、それぞれ、対応するプロセッサにおいて実行される、
    ことを特徴とする画像処理装置。
  5. 印刷対象画像を表す印刷対象画像データに対して複数の特定の画像処理を実行するとともに、得られた画像データを、印刷レイアウト情報に基づいて処理することにより、1ページの印刷媒体上に前記印刷対象画像を配置した状態を示す印刷レイアウト画像を表す印刷レイアウト画像データを生成する画像処理方法であって、
    前記複数の特定の画像処理を実行する前に、前記印刷レイアウト情報から、前記印刷媒体上に配置される前記印刷対象画像の数に関する配置画像数を求め、求めた配置画像数に基づいて、前記複数の特定の画像処理に利用される複数のバッファの区分数を設定する、
    ことを特徴とする画像処理方法。
JP2006050264A 2006-02-27 2006-02-27 画像処理装置および画像処理方法 Pending JP2007228521A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006050264A JP2007228521A (ja) 2006-02-27 2006-02-27 画像処理装置および画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006050264A JP2007228521A (ja) 2006-02-27 2006-02-27 画像処理装置および画像処理方法

Publications (1)

Publication Number Publication Date
JP2007228521A true JP2007228521A (ja) 2007-09-06

Family

ID=38549840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006050264A Pending JP2007228521A (ja) 2006-02-27 2006-02-27 画像処理装置および画像処理方法

Country Status (1)

Country Link
JP (1) JP2007228521A (ja)

Similar Documents

Publication Publication Date Title
JP4704288B2 (ja) 画像処理装置およびプログラム
JP2004318581A (ja) 情報処理装置及び印刷プレビュー表示方法
US20060075362A1 (en) Image processing apparatus, method, and recording medium on which program is recorded for displaying thumbnail/preview image
JP4367418B2 (ja) 印刷制御装置
JP2001063155A (ja) プリンタホスト、印刷コマンド生成装置およびプログラムが記憶されている記憶媒体
JP4175625B2 (ja) 印刷プレビューのための装置および方法
JP4844307B2 (ja) 印刷制御装置および印刷制御方法
JP6917285B2 (ja) 画像形成装置
JP6904717B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP4752690B2 (ja) 印刷制御装置および印刷制御方法
JP2005123911A (ja) 割付領域への原画像の割り付け
US11301975B2 (en) Apparatus, control method, and storage medium
JP2007228521A (ja) 画像処理装置および画像処理方法
JP4612231B2 (ja) 印刷システム
JP2000132151A (ja) 情報処理システム及びその表示方法
JP6015478B2 (ja) 制御装置、制御方法およびプリンタードライバプログラム
JP2008245184A (ja) 画像形成装置
JP4063152B2 (ja) 印刷コマンド作成装置及びそのプログラムが記憶されている記憶媒体
JP2007034371A (ja) 画像処理装置、画像処理方法及びプログラム
US11574158B2 (en) Information processing method, information processing system, and storage medium that perform predetermined processing on a target region in an image based on a target region setting
JP2012222560A (ja) 画像処理装置及びプログラム
JP4415359B2 (ja) 画像処理装置及びプリンタ
JP2009295044A (ja) プリンタドライバプログラムのインストール処理装置及びインストールプログラム
JP6016483B2 (ja) 画像処理装置、画像形成方法及びプログラム
JP4495048B2 (ja) データ転送装置及びそれを用いた操作表示装置及び画像形成装置