JP2009130590A - プリンタ及びその制御方法 - Google Patents

プリンタ及びその制御方法 Download PDF

Info

Publication number
JP2009130590A
JP2009130590A JP2007302944A JP2007302944A JP2009130590A JP 2009130590 A JP2009130590 A JP 2009130590A JP 2007302944 A JP2007302944 A JP 2007302944A JP 2007302944 A JP2007302944 A JP 2007302944A JP 2009130590 A JP2009130590 A JP 2009130590A
Authority
JP
Japan
Prior art keywords
image
red
eye
print
reduced image
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.)
Withdrawn
Application number
JP2007302944A
Other languages
English (en)
Inventor
Masatoshi Matsudaira
平 正 年 松
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 JP2007302944A priority Critical patent/JP2009130590A/ja
Publication of JP2009130590A publication Critical patent/JP2009130590A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ユーザの印刷待ち時間の増大を回避しつつ、赤目の位置を検出するための赤目位置検出処理の際におけるメモリ使用量の削減を図ったプリンタ及びその制御方法を提供する。
【解決手段】プリンタは、元画像を縮小することにより、縮小画像を生成する、縮小画像生成手段と、前記縮小画像に基づいて、赤目の位置を検出するための処理を行う、第1赤目位置検出手段と、元画像に基づいて画像の印刷をするために、印刷用の画像データの一部を一時的に印刷データ記憶装置に格納する、格納実行手段と、前記印刷データ記憶装置に格納されている画像データに基づいて、赤目の位置を検出するための処理を行う、第2赤目位置検出手段と、前記第1赤目位置検出手段及び前記第2赤目位置検出手段とで検出された赤目の位置に基づいて赤目補正を行う、赤目補正手段と、を備えて構成されている。
【選択図】図1

Description

本発明は、プリンタ及びその制御方法に関し、特に、赤目位置検出処理の際のメモリ使用量の削減を図ったプリンタ及びその制御方法に関する。
プリンタなどの画像処理装置の中には、事前に画像をサンプリングして縮小画像を生成し、このサンプリングした縮小画像に基づいて画像認識処理を行った上で、実際の画像処理を行うことのできる装置がある。例えば、サンプリングした縮小画像に基づいて赤目の位置を検出する赤目位置検出処理を行い、赤目が検出された場合には、その検出された赤目の位置に基づいて赤目補正処理を行った上で印刷を行うプリンタがある(例えば、特開2004−164276号公報参照)。
一般的に、赤目補正処理のために赤目位置検出処理を行う場合、VGAサイズ(640×480ピクセル)以上の大きさの画像が必要になる。このため、赤目位置検出処理を精度良く行うために、VGAサイズの画像を用意するという手法も考えられる。
しかし、VGAサイズの画像のRGB画像データを保持するだけで900KB程度のメモリ容量が必要となり、メモリ容量が小さい画像処理装置にとっては、負担が大きい。特に、この赤目位置検出処理を含む赤目補正処理を予め組み込んでおく組み込み型のプリンタなどにおいては、搭載されているメモリサイズが小さく、必ずしも十分なメモリ容量を、この画像認識処理のために確保できない場合も多い。
さらに、画像処理装置によっては、GUI(Graphical User Interface)画面に、縮小画像を高速表示するために、CPUの空き時間を利用して、事前に、元画像データから縮小画像を生成するようにしている。そして、この生成した縮小画像をキャッシュメモリに格納しておき、GUI画面に表示する必要が生じた場合には、このキャッシュメモリに格納された縮小画像を読み出して表示する。
このような画像処理装置において、キャッシュされている縮小画像を用いて、画像認識処理を行おうとすると、キャッシュメモリに格納する縮小画像もVGAで生成しなければならない。しかし、例えば20枚の縮小画像をキャッシュメモリに格納しようとすると、縮小画像をキャッシュするために大きなメモリ容量を確保しなければならず、その分、コストアップになってしまうという問題がある。
一方、キャッシュメモリに格納されている縮小画像を利用することなく、赤目位置検出処理を含む赤目補正処理の都度、元画像データに基づいて、VGAサイズの画像を生成するのでは、画像生成に余分な時間がかかってしまう。特に、この赤目補正処理は、プリンタで印刷を開始する直前に行うことが多いため、縮小画像を生成するための時間が、そのままユーザの印刷待ち時間になってしまう。このため、ユーザの印刷待ち時間の増大を招き、ユーザにとって、使い勝手が悪くなるという問題が生じる。
一方で、プリンタが印刷を行う場合、印刷時に元画像データに基づいて、フルサイズの画像を取得する。このため、このフルサイズの画像に基づいて、赤目位置検出処理を行う手法も考えられる。しかし、フルサイズの画像で赤目位置検出処理を行う場合、赤目の直径と同等以上の大きさの印刷データバッファを用意しなければならない。このため、元画像に占める割合が大きい赤目まで検出しようとすると、印刷データバッファのサイズもそれだけ大きくなり、やはりメモリ容量の増大を招いてしまう。
その一方で、VGAサイズより小さいQVGAサイズ(320×240ピクセル)の画像に基づいて赤目位置検出処理を行うだけでは、大きな赤目は検出できても、小さい赤目が検出できず、検出精度の低下が避けられないという問題がある。
特開2004−164276号公報
そこで本発明は、前記課題に鑑みてなされたものであり、ユーザの印刷待ち時間の増大を回避しつつ、赤目の位置を検出するための赤目位置検出処理の際におけるメモリ使用量の削減を図ったプリンタ及びその制御方法を提供することを目的とする。
上記課題を解決するため、本発明に係るプリンタは、
元画像を縮小することにより、縮小画像を生成する、縮小画像生成手段と、
前記縮小画像に基づいて、赤目の位置を検出するための処理を行う、第1赤目位置検出手段と、
元画像に基づいて画像の印刷をするために、印刷用の画像データの一部を一時的に印刷データ記憶装置に格納する、格納実行手段と、
前記印刷データ記憶装置に格納されている画像データに基づいて、赤目の位置を検出するための処理を行う、第2赤目位置検出手段と、
前記第1赤目位置検出手段及び前記第2赤目位置検出手段とで検出された赤目の位置に基づいて赤目補正を行う、赤目補正手段と、
を備えることを特徴とする。
この場合、前記第1赤目位置検出手段で検出する赤目の元画像に占める大きさの割合は、前記第2赤目位置検出手段で検出する赤目の元画像に占める大きさの割合よりも、大きいようにしてもよい。
また、前記縮小画像生成手段は、CPUの空き時間を用いて前記縮小画像を予め生成して縮小画像記憶装置に格納しておき、
前記第1赤目位置検出手段は、前記縮小画像記憶装置から、この縮小画像を取得して、赤目の位置を検出するための処理を行うようにしてもよい。
この場合、前記縮小画像記憶装置に格納されている縮小画像を読み出して、表示画面に表示する、縮小画像表示手段を、さらに備えるようにしてもよい。
また、前記格納実行手段は、元画像のデータから得られたフルサイズの画像データを、印刷用の画像データとして、前記印刷データ記憶装置に格納するようにしてもよい。
また、前記赤目補正手段で赤目補正をした後に、その画像の印刷を行う、印刷実行手段を、さらに備えるようにしてもよい。
本発明に係るプリンタの制御方法は、
元画像を縮小することにより、縮小画像を生成する工程と、
前記縮小画像に基づいて、赤目の位置を検出するための処理を行う工程と、
元画像に基づいて画像の印刷をするために、印刷用の画像データの一部を一時的に印刷データ記憶装置に格納する工程と、
前記印刷データ記憶装置に格納されている画像データに基づいて、赤目の位置を検出するための処理を行う工程と、
前記縮小画像に基づいて検出された赤目の位置と、前記印刷データ記憶装置に格納されている画像データに基づいて検出された赤目の位置とに基づいて、赤目補正を行う工程と、
を備えることを特徴とする。
発明を実施するための形態
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
図1は、本実施形態に係る画像処理装置10の内部構成の一例を説明するブロック図である。この図1から分かるように、本実施形態における画像処理装置10は、プリンタにより構成されており、より具体的には、カラーのインクジェットプリンタにより構成されている。但し、画像処理装置10は、プリンタに限定されるものではなく、例えばフォトビューアなどの画像表示装置により、構成することもできる。
図1に示すように、画像処理装置10は、CPU(Central Processing Unit)20と、ROM(Read Only Memory)22と、カードインターフェース24と、通信インターフェース26と、画面インターフェース28と、装置制御部30とを備えて構成されており、これらは内部バス32を介して、相互に接続されている。
CPU20には、専用の揮発性記憶装置であるRAM(Random Access Memory)34が接続されている。例えば、このCPU20は、ROM22に格納されている各種のプログラムを読み込んで実行することにより、この画像処理装置10の各種の制御を行う。プログラムを実行する際には、CPU20は、必要に応じて、RAM34に一時的なデータを格納する。
ROM22は、不揮発性記憶装置の一例であり、画像処理装置10における各種のプログラムやデータが、不揮発的に格納されている。カードインターフェース24は、画像処理装置10に、PCカードなどのカード型外部デバイス100を挿入して利用するためのインターフェースである。例えば、PCカードの場合、フラッシュメモリカード、ハードディスク、SCSIカード、モデムカードなどの様々な種類がある。
通信インターフェース26は、画像処理装置10に、カメラなどの撮像装置や、ノート型やディスクトップ型のパーソナルコンピュータなど、各種の外部デバイス102を接続するためのインターフェースである。画像処理装置10と外部デバイス102との間の接続規格は、USBやRS232Cなどの有線規格を用いてもよいし、IrDAやBluethoothなどの無線規格を用いてもよい。
画面インターフェース28は、画像処理装置10に設けられている表示画面36のインターフェースである。表示画面36は、例えばLCD(Liquid Crystal Display)により構成されている。本実施形態では、この表示画面36には、例えば、印刷する画像をユーザが任意に選択するための縮小画像が表示される。また、この表示画面36は、タッチパネルで構成されており、ユーザが画像処理装置10に指示を入力するためのユーザインターフェースも兼ねている。
装置制御部30は、RAM40と、印刷ヘッド42と、キャリッジ44と、紙送り機構46と、スキャナ48とに接続されており、これら印刷ヘッド42と、キャリッジ44と、紙送り機構46と、スキャナ48についての機械的な制御を行う。RAM40は、装置制御部30専用の揮発性記憶装置であり、装置制御部30が、これら機械的制御を行う上で必要なデータが一時的に格納される。この装置制御部30は、例えば、ASIC(Application Specific IC)により構成されている。
本実施形態においては、特に、装置制御部30は、印刷ヘッド42とキャリッジ44と紙送り機構46とを用いた印刷の全体的な制御を行う。すなわち、キャリッジ44に搭載された印刷ヘッド42から印刷インクを吐出させつつ、キャリッジ44を走査方向(紙送り方向と交差する方向)に交互に移動させながら紙などの印刷媒体に印刷を行う。紙送り機構46は、紙などの印刷媒体を、キャリッジ44による印刷に合わせて、紙送り方向に順次送り出すことにより、印刷媒体に対する印刷を行わせる。
また、装置制御部30は、スキャナ48を用いた画像読み込み時の制御も行う。例えば、ユーザがスキャナ48の画像読み取り面にセットした原稿を、ラインイメージセンサを用いて読み込み、RAM44に画像データとして一時的に格納するための一連の処理の制御を行う。
次に、図2及び図3に基づいて、本実施形態に係る画像処理装置10が実行する印刷実行処理について説明する。これら図2及び図3は、画像処理装置10が実行する印刷実行処理の一例を説明するためのフローチャートを示す図である。この印刷実行処理は、例えば、ROM22に格納されている印刷実行処理プログラムをCPU20が読み込んで実行することにより、実現される処理である。また、この印刷実行処理は、ユーザが画像処理装置10に、印刷を行う画像やレイアウトなどを指定して、印刷を指示した場合に、起動される処理である。
まず、図2に示すように、画像処理装置10は、印刷ライン位置の初期化を行って、変数Nに1をセットする(ステップS10)。つまり、印刷ライン位置を、その印刷媒体のページの先頭に設定する。
次に、画像処理装置10は、印刷ライン位置Nにある画像の画像ファイルを検索して取得する(ステップS12)。例えば、ユーザが印刷を指定した画像が、カード型外部デバイス100に格納されている場合には、画像処理装置10は、カード型外部デバイス100を検索して、ユーザの指定した画像の画像データを取得する。また、既にRAM34に画像データを読み込んでいる場合には、RAM34から印刷ライン位置Nにおける画像ファイルを取得する。なお、印刷ライン位置Nを印刷するのに複数の画像ファイルが必要であれば、必要なすべての画像ファイルを取得する。
次に、画像処理装置10は、ステップS12で取得した画像ファイルの印刷ライン位置Nにおける画像の解凍処理を行う(ステップS14)。この解凍処理についての詳細は、後述する。
次に、画像処理装置10は、ユーザが赤目補正をするように指定しているかどうかを判断する(ステップS16)。ユーザが赤目補正をするように指定している場合(ステップS16:YES)には、画像処理装置10は、小さなサイズの赤目の位置を検出する処理を行う(ステップS17)。すなわち、本実施形態に係る画像処理装置10は、例えば、RAM34に数十ライン分の印刷データバッファを備えている。この印刷データバッファには、印刷する際に、元画像データを解凍したフルサイズの画像データが一時的に格納されるとともに、この画像データに基づいて画像処理装置10は印刷を行っていく。印刷が完了した画像データについては、消去され、或いは、新しい画像データが上書きされて、循環的に印刷データバッファの領域は使用される。本実施形態においては、このフルサイズの画像について数十ライン分のデータを、この印刷データバッファに保持しておき、印刷バッファに保持されている数十ライン分の画像に基づいて、小さいなサイズの赤目の位置を検出することとしている。換言すれば、数十ライン分のフルサイズの画像データに収まるサイズの赤目の位置を、ステップS17では検出する。
次に、画像処理装置10は、ステップS14で解凍することにより得られた画像について、赤目補正処理を行う(ステップS18)。すなわち、印刷データバッファに格納されている画像データに基づいて、赤目補正処理を行う。本実施形態では、画像処理装置10は、ステップS17で検出された赤目の位置に基づいて、赤目補正処理を行うとともに、後述する画像ファイル解凍処理のステップS84で検出された大きなサイズの赤目の位置に基づいても、赤目補正処理を行う。赤目補正処理を行った後の画像データは、再び、印刷データバッファに格納される。一方、赤目補正をするように指定されていない場合(ステップS16:NO)には、これらステップS17及びステップS18の処理をスキップする。
次に、画像処理装置10は、ユーザが自動画像補正をするように指定しているかどうかを判断する(ステップS20)。ユーザが自動画像補正をするように指定している場合(ステップS20:YES)には、ステップS14で解凍することにより得られた画像について、自動画像補正を行う(ステップS22)。すなわち、印刷データバッファに格納されている画像データを用いて、画像全体の明度、彩度、輝度などについての統計情報を取得し、この統計情報に基づいて、これら明度、彩度、輝度のバランスを最適化する処理を行う。自動画像補正処理を行った後の画像データは、再び、印刷データバッファに格納される。一方、自動画像補正をするように指定されていない場合(ステップS20:NO)には、このステップS22の処理をスキップする。
次に、図3に示すように、画像処理装置10は、印刷データバッファに格納されている画像データを取得して、ユーザに指定されたサイズに画像サイズを変換し、この印刷データバッファとは別の領域に形成されている第2の印刷データバッファに格納する(ステップS30)。本実施形態においては、例えば、この第2の印刷データバッファも、RAM34に形成されている。続いて、画像処理装置10は、第2の印刷データバッファから得られた画像を指定されたレイアウトに配置する(ステップS32)。例えば、指定されたレイアウトにおいては、印刷ライン位置Nの走査方向に複数の画像が配置されている場合には、画像処理装置10は、これら複数の画像を指定されたレイアウトで配置する。
次に、画像処理装置10は、ステップS32で得られた画像についてハーフトーン処理を行った上で(ステップS34)、印刷ライン位置Nの印刷を実行する(ステップS36)。すなわち、キャリッジ44を走査方向に移動して、印刷ライン位置Nの印刷を行う。
次に、画像処理装置10は、変数Nに1を加算し(ステップS38)、変数Nが印刷媒体のページ長より長くなったかどうかを判断する(ステップS40)。すなわち、印刷媒体のページの最後まで印刷を行ったかどうかを判断する。変数Nが印刷媒体のページ長以下である場合(ステップS40:NO)には、上述したステップS12からを繰り返す。
一方、変数Nが印刷媒体のページ長を越えていた場合(ステップS40:YES)、すなわち印刷媒体の最後まで印刷を終えた場合には、画像処理装置10は、この印刷実行処理を終了する。
次に、図4乃至図6に基づいて、本実施形態に係る画像処理装置10が実行する画像ファイル解凍処理について説明する。これら図4乃至図6は、画像処理装置10が実行する画像ファイル解凍処理の一例を説明するためのフローチャートを示す図である。この画像ファイル解凍処理は、例えば、ROM22に格納されている画像ファイル解凍処理プログラムをCPU20が読み込んで実行することにより、実現される処理である。また、この画像ファイル解凍処理は、上述した図2のステップS14で実行される処理である。
まず、図4に示すように、画像処理装置10は、印刷ライン位置Nが画像の先頭であるかどうかを判断する(ステップS50)。すなわち、印刷ライン位置Nに、画像の先頭となる部分が含まれているかどうかを判断する。印刷ライン位置Nが画像の先頭である場合(ステップS50:YES)には、ユーザによる印刷の指定が、自動画像補正又は赤目補正の少なくとも一方を行うように指定しているかどうかを判断する(ステップS52)。
自動画像補正又は赤目補正のうちの少なくとも一方を行う指定になっている場合(ステップS52:YES)には、処理対象になっている画像の縮小画像が、キャッシュメモリに存在するかどうかを判断する(ステップS54)。例えば、本実施形態においては、RAM34にキャッシュメモリが形成されており、画像処理装置10は、このRAM34のキャッシュメモリの領域に、処理対象となっている画像の縮小画像が存在するかどうかを判断する。なお、印刷ライン位置Nに複数の画像が含まれている場合には、その複数の画像のすべての縮小画像が、キャッシュメモリに存在するかどうかを判断する。
本実施形態においては、画像処理装置10は、CPU20の空き時間を利用して、カード型外部デバイス100に格納されている画像ファイルに基づいて、縮小画像を生成するよう設計されている。例えば、カード型外部デバイス100には、JPG等の形式で、元画像のデータである画像ファイルが格納されている。この画像ファイルに基づいて、例えば、QVGA(320×240ピクセル)のサイズの縮小画像を、順次生成して、キャッシュメモリに格納しておく。そして、表示画面36に縮小画像を表示する処理が発生した場合には、キャッシュメモリに格納されているQVGAサイズの縮小画像のデータを読み出して、そのまま表示に使えるようにしている。
このようにすることにより、表示画面36に縮小画像を表示する際に生じるユーザの待ち時間の短縮を図っている。特に、表示画面36に複数の縮小画像を並べて表示する場合、必要になった時点で、すべての縮小画像を元画像から生成すると、相応の処理時間がかかってしまう。このため、CPU20の空き時間を利用して、縮小画像を予め生成しておくことにより、縮小画像の一覧を表示し終えるのに要する時間を格段に短くすることができるのである。
また、本実施形態では、CPU20が元画像から縮小画像を生成する際には、例えば、Bi−Linear法や、Bi−Cubic法による補間アルゴリズムを用いる。Bi−Linear法や、Bi−Cubic法は、縮小した画像を再度、同じ補間アルゴリズムを用いて拡大すると、縮小時に畳み込まれた画像情報が、再度取り出せる圧縮手法の一例である。無論、縮小時に失われた情報までもが、再現できる訳ではない。
ステップS54において、処理対象になっている画像の縮小画像が、キャッシュメモリに存在しないと判断した場合(ステップS54:NO)には、画像処理装置10は、処理対象の画像ファイルの解凍を行う(ステップS56)。例えば、ステップS12で取得した画像ファイルがJPG形式であった場合には、JPG形式の画像ファイルの解凍を行う。
次に、画像処理装置10は、ステップS56で得られた画像の縮小を行う(ステップS58)。すなわち、本実施形態では、ステップS56で得られた元画像を、QVGAサイズに縮小する。元画像を縮小する際には、例えば、上述したBi−Linear法や、Bi−Cubic法などの補間アルゴリズムを用いる。なお、1/2、1/4、1/8などの所定の圧縮率である場合には、ステップS56でJPG形式の画像を解凍する際に、圧縮された状態で解凍することも可能である。この場合、ステップS58は省略可能である。
次に、画像処理装置10は、生成したQVGAサイズの縮小画像を、キャッシュメモリに格納する(ステップS60)。すなわち、ステップS58で生成された縮小画像を、RAM34のキャッシュメモリの領域に格納する。
次に、画像処理装置10は、処理対象となっているすべての画像の画像ファイルの解凍が終了したかどうかを判断する(ステップS62)。処理対象となっている画像の画像ファイルが複数の場合には、画像処理装置10は、処理対象となっているすべての画像の縮小画像が、キャッシュメモリに格納されているかどうかを判断する。
処理対象となっているすべての画像の画像ファイルの解凍が終了していないと判断した場合(ステップS62:NO)には、上述したステップS56に戻り、次の画像ファイルの解凍を続ける。
一方、処理対象となっているすべての画像の画像ファイルの解凍が終了したと判断した場合(ステップS62:YES)、及び、処理対象のすべての画像の縮小画像がキャッシュメモリに格納されていると判断した場合(ステップS54:YES)には、画像処理装置10は、ユーザが自動画像補正を指定しているかどうかを判断する(ステップS64)。
ユーザが自動画像補正を指定している場合(ステップS64:YES)には、画像処理装置10は、キャッシュメモリに格納されているQVGAサイズの縮小画像に基づいて、顔認識処理を行う(ステップS66)。すなわち、人間の顔はある程度の大きさを備えているため、VGAサイズより小さいQVGAサイズの縮小画像を用いても精度良く認識することが可能であり、処理時間も短くすることができる。このため、本実施形態では、顔認識処理は、キャッシュメモリに格納されているQVGAサイズの縮小画像を用いて行うこととしている。
次に、画像処理装置10は、認識された顔の画像の肌色が綺麗に見え、且つ、背景等も綺麗に見えるように色補正するためのパラメータを決定する(ステップS68)。すなわち、画像全体を統計的に計算することにより、明度、彩度、輝度のバランスを最適化するパラメータを決定する。この決定されたパラメータに基づいて、上述したステップS22では、自動画像補正処理を行う。
次に、このステップS68の処理の後、又は、上述したステップS64でユーザが自動画像補正を指定していないと判断した場合(ステップS64:NO)には、画像処理装置10は、図5に示すように、ユーザが赤目補正を指定したかどうかを判断する(ステップS80)。
ユーザが赤目補正を指定したと判断した場合(ステップS80:YES)には、画像処理装置10は、キャッシュメモリに格納されているQVGAサイズの画像を取得して、この取得した画像に基づいて赤目の位置を検出する処理を行う(ステップS84)。すなわち、小さなサイズの画像を用いて、赤目の元画像に占める大きさの割合が、ステップS17で検出しようとしている赤目の元画像に占める大きさの割合よりも、大きい赤目を検出する。このステップS84で赤目が検出された場合には、検出された赤目の位置に基づいて、上述したステップS18で赤目補正処理を行う。すなわち、大きな赤目の位置については、このステップS84で検出し、この検出位置に基づいて、赤目補正処理を行う。
なお、ステップS84で大きな赤目が検出され、且つ、ステップS17でも小さな赤目が検出された場合には、ステップS18では、双方の位置にある赤目について補正処理を行う。また、ステップS84で検出された赤目の位置とステップS17で検出された赤目の位置が同じ場合もあり得る。つまり、ステップS17とステップS84で、同じ赤目を検出することもあり得る。この場合、ステップS18では、双方の位置に基づいて赤目補正をするようにしてもよいし、或いは、どちらか一方の位置に基づいて赤目補正をするようにしてもよい。
このステップS84の処理の後、又は、上述したステップS80で赤目補正が指定されていないと判断した場合(ステップS80:NO)、又は、上述したステップS52で自動画像補正及び赤目補正のいずれも指定されていないと判断した場合(ステップS52:NO)には、画像処理装置10は、処理対象の画像が回転(ローテート)を必要とする画像であるかどうかを判断する(ステップS86)。すなわち、画像によっては、例えば、時計回り方向又は反時計回り方向に90度回転して、印刷する必要があるので、そのような指定がなされているかどうかを判断する。
処理対象の画像が回転を必要とする画像である場合(ステップS86:YES)には、画像処理装置10は、ローテート情報マップを作成する(ステップS88)。次に、画像処理装置10は、画像内で解凍処理が済んだ位置を特定するためのファイルポインタをリセットする(ステップS90)。
このステップS90の後、又は、上述したステップS86で画像の回転がないと判断した場合(ステップS86:NO)、又は、上述したステップS50で印刷ライン位置Nに画像の先頭が含まれていないと判断した場合(ステップS50:NO)には、画像処理装置10は、印刷データバッファに、印刷ライン位置Nの画像データがあるかどうかを判断する(ステップS92)。すなわち、解凍を終えた印刷ライン位置Nのフルサイズの画像データが、印刷データバッファにあるかどうかを判断する。なお、本実施形態においては、上述したように印刷データバッファは、RAM34に形成されており、その大きさは、例えばフルサイズの画像の数十ライン分である。また、印刷ライン位置Nに複数の画像がある場合には、これらすべての画像の画像データが、印刷データバッファにあるかどうかを判断する。
印刷データバッファに印刷ライン位置Nの画像データがないと判断した場合(ステップS92:NO)には、画像処理装置10は、ハフマンテーブル、量子化テーブルを用いて、印刷ライン位置Nの画像データについて、ハフマン解凍を行い(ステップS94)、逆量子化を行う(ステップS96)。そして、画像処理装置10は、さらに、逆DCT(Discrete Cosine Transform)変換を行い(ステップS98)、YCCの色空間で定義されている画像データを、RGBの色空間の定義に変換する(ステップS100)。そして、画像処理装置10は、得られた画像データを、RAM34に形成されている印刷データバッフに格納する(ステップS102)。このステップS102で格納する画像データが、フルサイズの画像データであり、上述したステップS17で、元画像に占める相対的な割合が小さい赤目を検出するために用いられる。
次に、画像処理装置10は、図6に示すように、処理対象の画像が回転(ローテート)を必要とする画像であるかどうかを判断する(ステップS110)。処理対象の画像が回転を必要とする画像である場合(ステップS110:YES)には、画像処理装置10は、ローテート情報マップを更新する(ステップS112)。一方、処理対象の画像が回転を必要とする画像でない場合(ステップS110:NO)には、このステップS112の処理はスキップする。
次に、画像処理装置10は、画像内で解凍処理が済んだ位置を特定するためのファイルポインタを更新し、セーブしておく(ステップS114)。
このステップS114の後、又は、上述したステップS92で印刷データバッファに印刷ライン位置Nの画像データが存在すると判断した場合(ステップS92:YES)には、画像処理装置10は、印刷データバッファから印刷ライン位置Nの画像データを取得する(ステップS116)。
次に、画像処理装置10は、印刷ライン位置Nが、処理対象の画像の最後の位置であるかどうかを判断する(ステップS118)。すなわち、印刷ライン位置Nに処理対象の画像の最後の位置が含まれているかどうかを判断する。印刷ライン位置Nが処理対象の画像の最後の位置である場合(ステップS118:YES)には、この解凍処理をしていた画像ファイルをクローズし、解凍処理を行うために取得していたハフマンテーブル及び量子化テーブルを解放する(ステップS120)。一方、印刷ライン位置Nが処理対象の画像の最後の位置ではない場合(ステップS118:NO)には、画像処理装置10は、このステップS120をスキップする。
これにより、本実施形態に係る画像ファイル解凍処理が終了する。すなわち、印刷実行処理のステップS14が終了する。
以上のように、本実施形態に係る画像処理装置10によれば、QVGAサイズの画像に基づいて、元画像に対して大きな割合を占める大サイズの赤目の位置を検出するための第1の赤目位置検出処理を行い、印刷時のフルサイズの画像に基づいて、元画像に対して小さな割合しか占めない小サイズの赤目の位置を検出するための第2の赤目位置検出処理を行うこととした。このように赤目の位置検出を二段階で行うことにより、赤目の位置検出の精度を向上させることができる。
また、小さなサイズの赤目を検出するための処理は、印刷時に生成されるフルサイズの画像データに基づいて行うこととしたため、小さなサイズの赤目を検出するために元画像のデータを別途解凍する必要はない。このため、画像処理装置10の処理負荷の増大を回避できるとともに、ユーザの印刷待ち時間が長くなってしまうという問題も避けることができる。
さらに、印刷時に生成されるフルサイズの画像を格納するための印刷データバッファも、数十ライン分程度確保すれば、小さな赤目を検出するという目的を達成できる。これは、フルサイズの画像を用いる際には小さな赤目を検出することを目的としており、大きな赤目についてはQVGAサイズの画像を用いて既に検出されていることを前提としているためである。このため、メモリ容量の浪費を抑制することができる。
具体的に、大きなサイズの赤目の位置検出にQVGAサイズの画像を用いる場合における、小さなサイズの赤目の位置検出に必要な印刷データバッファの大きさを計算してみる。印刷媒体のサイズがA4のときの画像データは、約3000×4000ピクセルであり、QVGAサイズの画像に換算すると、およそ13×13個分、配列される。QVGAサイズの画像で検出される最小の赤目の大きさが2×2ピクセルであると仮定すると、(13×2)×(13×2)=26×26ピクセル以下の赤目が、QVGAサイズの画像では未検出であると推定できる。したがって、縦26ライン分の印刷バッファメモリを確保すれば、QVGAサイズの赤目位置検出で取りこぼした小さいサイズの赤目を、ステップS17で検出することができるようになる。
この場合の印刷バッファメモリの容量は、3000ピクセル×26ライン×3となり、これは、およそ229KBとなる。この容量は、VGAサイズの画像を保持するために必要な容量である約900KBより、大幅に少ない。
また、大きな赤目を検出するために用いるQVGAサイズの画像は、CPU20の空き時間を利用して、キャッシュメモリに既に格納されている可能性があり、キャッシュメモリにQVGAサイズの画像が格納されている場合には、新たにQVGAサイズの縮小画像を生成する必要はなく、大きな赤目検出に要する処理時間の増大を回避することができる。
また、キャッシュメモリにQVGAサイズの画像が格納されていない場合には、元画像に基づいて、QVGAサイズの画像を生成することになるが、このQVGAサイズの画像は、自動画像補正処理をする際にも必要となる画像であるため、大きなサイズの赤目を検出するためだけに、QVGAサイズの画像生成するという事態が生じるのを極力避けることができる。
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、キャッシュメモリに格納される画像のサイズが320×240ピクセルのQVGAである場合を例に説明したが、この画像のサイズは、これに限定されるものではない。
また、上述した実施形態では、画像を縮小する補間アルゴリズムとして、Bi−Linear法、Bi−Cubic法を用いた例を説明したが、他の補間アルゴリズムを用いて画像を縮小することもできる。例えば、単純間引きによる手法で、元画像から縮小画像を生成するようにしてもよい。ここで、単純間引きとは、例えば、元画像を構成するピクセルをふるいにかけて、10ピクセル毎に抽出するような縮小手法である。
さらに、上述した実施形態では、大きな赤目の位置を検出する処理と、小さな赤目の位置を検出する処理の双方を行うようにしたが、小さな赤目の位置を検出する処理は選択的な処理としてもよい。例えば、印刷モードが通常モードである場合には、小さな赤目の位置を検出する処理は実行せず、印刷モードが高精細モードである場合には、小さな赤目の位置を検出する処理も実行するようにしてもよい。
さらに、上述の実施形態で説明した印刷実行処理及び画像ファイル解凍処理については、これら各処理を実行するためのプログラムをフレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、ROM、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムを画像処理装置10に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
また、画像処理装置10は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、画像処理装置10の備える他のプログラムを活用するために、その画像処理装置10が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、画像処理装置10に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ画像処理装置10は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
また、上述した実施形態では、印刷実行処理及び画像ファイル解凍処理をソフトウェアにより実現する場合を例に説明したが、これらの各処理をASIC(Application Specific IC)などのハードウェアにより実現するようにしてもよい。さらには、これらの各処理を、ソフトウェアとハードウェアとが協働して実現するようにしてもよい。
本実施形態に係る画像処理装置の内部構成の一例を説明するブロック図。 本実施形態に係る画像処理装置で実行される印刷実行処理の一例を説明するフローチャートを示す図(その1)。 本実施形態に係る画像処理装置で実行される印刷実行処理の一例を説明するフローチャートを示す図(その2)。 本実施形態に係る画像処理装置で実行される画像ファイル解凍処理の一例を説明するフローチャートを示す図(その1)。 本実施形態に係る画像処理装置で実行される画像ファイル解凍処理の一例を説明するフローチャートを示す図(その2)。 本実施形態に係る画像処理装置で実行される画像ファイル解凍処理の一例を説明するフローチャートを示す図(その3)。
符号の説明
10 画像処理装置
20 CPU
22 ROM
24 カードインターフェース
26 通信インターフェース
28 画面インターフェース
30 装置制御部
32 内部バス
34 RAM
40 RAM
42 印刷ヘッド
44 キャリッジ
46 紙送り機構
48 スキャナ
100 カード型外部デバイス
102 外部デバイス

Claims (7)

  1. 元画像を縮小することにより、縮小画像を生成する、縮小画像生成手段と、
    前記縮小画像に基づいて、赤目の位置を検出するための処理を行う、第1赤目位置検出手段と、
    元画像に基づいて画像の印刷をするために、印刷用の画像データの一部を一時的に印刷データ記憶装置に格納する、格納実行手段と、
    前記印刷データ記憶装置に格納されている画像データに基づいて、赤目の位置を検出するための処理を行う、第2赤目位置検出手段と、
    前記第1赤目位置検出手段及び前記第2赤目位置検出手段とで検出された赤目の位置に基づいて赤目補正を行う、赤目補正手段と、
    を備えることを特徴とするプリンタ。
  2. 前記第1赤目位置検出手段で検出する赤目の元画像に占める大きさの割合は、前記第2赤目位置検出手段で検出する赤目の元画像に占める大きさの割合よりも、大きい、ことを特徴とする請求項1に記載のプリンタ。
  3. 前記縮小画像生成手段は、CPUの空き時間を用いて前記縮小画像を予め生成して縮小画像記憶装置に格納しておき、
    前記第1赤目位置検出手段は、前記縮小画像記憶装置から、この縮小画像を取得して、赤目の位置を検出するための処理を行う、
    ことを特徴とする請求項1又は請求項2に記載のプリンタ。
  4. 前記縮小画像記憶装置に格納されている縮小画像を読み出して、表示画面に表示する、縮小画像表示手段を、さらに備えることを特徴とする請求項3に記載のプリンタ。
  5. 前記格納実行手段は、元画像のデータから得られたフルサイズの画像データを、印刷用の画像データとして、前記印刷データ記憶装置に格納する、請求項1乃至請求項4のいずれかに記載のプリンタ。
  6. 前記赤目補正手段で赤目補正をした後に、その画像の印刷を行う、印刷実行手段を、さらに備えることを特徴とする請求項1乃至請求項5のいずれかに記載のプリンタ。
  7. 元画像を縮小することにより、縮小画像を生成する工程と、
    前記縮小画像に基づいて、赤目の位置を検出するための処理を行う工程と、
    元画像に基づいて画像の印刷をするために、印刷用の画像データの一部を一時的に印刷データ記憶装置に格納する工程と、
    前記印刷データ記憶装置に格納されている画像データに基づいて、赤目の位置を検出するための処理を行う工程と、
    前記縮小画像に基づいて検出された赤目の位置と、前記印刷データ記憶装置に格納されている画像データに基づいて検出された赤目の位置とに基づいて、赤目補正を行う工程と、
    を備えることを特徴とするプリンタの制御方法。
JP2007302944A 2007-11-22 2007-11-22 プリンタ及びその制御方法 Withdrawn JP2009130590A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007302944A JP2009130590A (ja) 2007-11-22 2007-11-22 プリンタ及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007302944A JP2009130590A (ja) 2007-11-22 2007-11-22 プリンタ及びその制御方法

Publications (1)

Publication Number Publication Date
JP2009130590A true JP2009130590A (ja) 2009-06-11

Family

ID=40821085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007302944A Withdrawn JP2009130590A (ja) 2007-11-22 2007-11-22 プリンタ及びその制御方法

Country Status (1)

Country Link
JP (1) JP2009130590A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533922A (ja) * 2009-07-17 2012-12-27 サムスン エレクトロニクス カンパニー リミテッド 映像処理方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533922A (ja) * 2009-07-17 2012-12-27 サムスン エレクトロニクス カンパニー リミテッド 映像処理方法及び装置
US8934025B2 (en) 2009-07-17 2015-01-13 Samsung Electronics Co., Ltd. Method and apparatus for processing image

Similar Documents

Publication Publication Date Title
JP5213687B2 (ja) 画像処理装置及びその制御方法
US20120033236A1 (en) Controlling device
JP4532917B2 (ja) 印刷システム、撮像装置、および、撮像装置の制御方法
US9176935B2 (en) Image forming apparatus capable of displaying print preview on screen
JP4968888B2 (ja) 印刷システム、撮像装置及びその制御方法、プログラム並びに記憶媒体
JP4112187B2 (ja) 画像処理方法および装置並びにプログラム
WO2000015442A1 (fr) Imprimante, dispositif de traitement d'images, procede de traitement d'images et support d'enregistrement
JP2006325186A (ja) 画像処理装置
US8125680B2 (en) Image processing apparatus and control method thereof
JP4136825B2 (ja) 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2009130590A (ja) プリンタ及びその制御方法
JP2007201935A (ja) 画像処理装置の制御方法及び画像処理装置
US11301975B2 (en) Apparatus, control method, and storage medium
US8125682B2 (en) Image processing apparatus and method of controlling the same
JP5441676B2 (ja) 画像処理装置及びその処理方法
JP2009128990A (ja) 画像処理装置及びその制御方法
JP2007215001A (ja) 画像処理装置、画像処理システム及び画像処理方法
US11314995B2 (en) Image processing apparatus, image processing method, and storage medium
JP2008213406A (ja) 印刷処理装置、印刷処理方法及びそのプログラム
JP6008770B2 (ja) 画像形成装置
JP5200890B2 (ja) 画像処理装置及びその制御方法
JP2004112303A (ja) 画像処理方法、画像処理装置及び画像処理システム
JP2009060486A (ja) 画像処理装置およびこれを備えるプリンタ、画像処理方法
JP4821576B2 (ja) 情報処理装置及び情報処理方法
JP2007226326A (ja) ダイレクトプリントシステム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110201