説明

画像処理装置及び画像処理方法

【課題】圧縮データの解凍処理の負担及び処理時間をより適切に低減する。
【解決手段】プリンター20は、補正内容設定部33が1以上の補正内容を設定し、設定した補正内容に基づいて間引率設定部34がJPEGデータ(圧縮データ)のY,Cb,Crの各プレーンの間引率を設定し、設定された間引率で画素を間引きして解凍処理部37がJPEGデータを解凍し画像データを生成する。このように、複数の補正内容に応じた間引処理を行うため、補正内容に応じて例えば逆量子化処理や逆DCT演算処理などを省略することができる。この解凍処理は、画像データに施される補正内容を決定する際のサンプリングに利用されるサンプリング画像や、印刷に用いられる印刷用画像に対して実行するものとしてもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
従来、画像処理装置としては、サンプリング対象のJPEG画像に対しハフマン復号化、ランレングスハフマン復号化及び逆量子化を行い、得られた8×8のブロックの各々に対して全64画素のうち画素値取得対象の画素を選択し、選択した画素のみについて逆DCT演算を行うことにより、圧縮画像をサンプリングして表示するものが提案されている(例えば、特許文献1参照)。この装置では、選択した画素のみについて逆DCT演算を行うことから、圧縮画像をサンプリングして表示するための処理負担を軽減してその処理時間長を短縮することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−271794号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の装置では、選択した画素のみについて逆DCT演算を行うことにより、処理負担を軽減してその処理時間長を短縮することができるが、処理負担の軽減はまだ充分ではなく、更なる処理負担の軽減及びその処理時間の短縮が望まれていた。
【0005】
本発明は、このような課題に鑑みなされたものであり、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる画像処理装置及び画像処理方法を提供することを主目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の主目的を達成するために以下の手段を採った。
【0007】
本発明の画像処理装置は、
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理装置であって、
前記画像データに関する1以上の補正内容を設定する補正内容設定手段と、
前記設定された補正内容に基づいて前記複数のプレーン毎の間引率を設定する間引率設定手段と、
前記複数のプレーン毎に設定された間引率で画素を間引きして前記圧縮データを解凍して前記画像データを生成する解凍処理手段と、
を備えたものである。
【0008】
この画像処理装置では、1以上の補正内容を設定し、設定した補正内容に基づいて圧縮データの各プレーンの間引率を設定し、設定された間引率で画素を間引きして、圧縮データを解凍し画像データを生成する。このように、補正内容に応じた間引処理を行うため、補正内容に応じて例えば逆量子化処理や逆DCT演算処理などを省略することができる。したがって、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。ここで、「間引率」とは、間引き前の画素数に対する間引き後の縦横の画素数の比率をいうものとし、間引率1は間引きなしであり、間引率1/2,1/4,1/8となると画像データの画素数が小さくなるように間引きを行うものとする。また、前記解凍処理手段は、前記設定された間引率を用いて画素を間引きして逆量子化及び逆DCT演算を行い前記画像データを生成するものとしてもよい。
【0009】
本発明の画像処理装置において、前記補正内容設定手段は、顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度のいずれか1以上を含む補正内容を設定し、前記間引率設定手段は、顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度のいずれか1以上を含む前記補正内容に応じて前記プレーンの間引率を設定するものとしてもよい。こうすれば、顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度に応じて間引処理を行うから、各補正内容に応じて、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。
【0010】
本発明の画像処理装置において、前記間引率設定手段は、前記画像データに施される補正内容を決定する際のサンプリングに利用されるサンプリング画像の間引率を設定し、前記解凍処理手段は、前記設定された間引率で画素を間引きして前記サンプリング画像を生成するものとしてもよい。こうすれば、サンプリング画像の生成時に、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。このとき、前記間引率設定手段は、画像の詳細を把握する補正内容の間引きに比して画像全体の傾向を把握する補正内容の間引きが大きくなる傾向に前記プレーンの間引率を設定するものとしてもよい。こうすれば、画像の詳細を把握する補正内容については間引きが小さい(間引きしない)傾向で処理し、画像全体の傾向を把握する補正内容については間引きが大きい(多く間引きする)傾向で処理するため、より適正な間引処理を実行してサンプリング画像を生成することができる。このとき、画像の詳細を把握する補正内容としては、例えば、顔の情報、ぼけ度、ノイズ度などが挙げられ、画像全体の傾向を把握する補正内容としては、例えば、露出度、彩度、コントラストなどが挙げられる。なお、「大きくなる傾向」とは、間引率の序列にばらつきがあってもよい趣旨である。
【0011】
本発明の画像処理装置において、前記補正内容設定手段は、前記画像データの印刷用画像に施される補正内容を設定し、前記間引率設定手段は、前記印刷用画像データの間引率を設定し、前記解凍処理手段は、前記設定された間引率で画素を間引きして前記印刷用画像を生成するものとしてもよい。こうすれば、印刷用画像データの生成時に、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。このとき、前記間引率設定手段は、指定された印刷サイズ以上の大きさの画像となるように前記印刷用画像データの間引率を設定するものとしてもよい。こうすれば、印刷画像の画質低下をより抑制しつつ、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。
【0012】
本発明の画像処理装置において、前記補正内容設定手段は、複数の補正内容を設定し、前記間引率設定手段は、前記設定した複数の前記補正内容の各々に対応付けられた間引率のうち、より大きい画像データとなる間引率を前記プレーンの間引率に設定するものとしてもよい。こうすれば、画像データの画質低下をより抑制しつつ、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。
【0013】
本発明の画像処理装置において、前記圧縮データは、JPEGデータ、MPEGデータのうちいずれか1以上であるものとしてもよい。
【0014】
本発明の画像処理方法は、
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理方法であって、
(a)前記画像データに関する1以上の補正内容を設定するステップと、
(b)前記設定した補正内容に基づいて前記複数のプレーン毎の間引率を設定するステップと、
(c)前記複数のプレーン毎に設定した間引率で画素を間引きして前記圧縮データを解凍して前記画像データを生成するステップと、
を含むものである。
【0015】
この画像処理方法では、上述した画像処理方法と同様に、補正内容に応じた間引処理を行うため、補正内容に応じて例えば逆量子化処理や逆DCT演算処理などを省略することができる。したがって、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。なお、この画像処理方法において、上述した画像処理装置の種々の態様を採用してもよいし、また、上述した画像処理装置の各機能を実現するようなステップを追加してもよい。
【0016】
本発明のプログラムは、上述した画像処理方法の制御方法の各ステップを1以上のコンピューターに実現させるものである。このプログラムは、コンピューターが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピューターから別のコンピューターへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを1つのコンピューターに実行させるか又は複数のコンピューターに各ステップを分担して実行させれば、上述した画像処理方法の各ステップが実行されるため、この画像処理方法と同様の作用効果が得られる。
【図面の簡単な説明】
【0017】
【図1】プリンターシステム10の構成の概略を示す構成図。
【図2】サンプリング間引率情報31及びエンハンス間引率情報32の説明図。
【図3】印刷処理ルーチンの一例を示すフローチャート。
【図4】補正情報設定ルーチンの一例を示すフローチャート。
【図5】サンプリング間引率設定処理ルーチンの一例を示すフローチャート。
【図6】間引率計算処理ルーチンの一例を示すフローチャート。
【図7】間引解凍処理ルーチンの一例を示すフローチャート。
【図8】間引解凍処理の概念図。
【図9】エンハンス間引率設定処理ルーチンの一例を示すフローチャート。
【発明を実施するための形態】
【0018】
次に、本発明の実施の形態の一例を図面を用いて説明する。図1は本実施形態であるプリンターシステム10の構成の概略を示す構成図である。本実施形態のプリンターシステム10は、本発明の画像処理装置としてのプリンター20と、プリンター20に接続され入力装置47及びディスプレイ48を備え印刷指示などを行うパソコン(PC)40とを備えている。プリンター20は、プリンター20の全体をコントロールするコントローラー21と、ガラス面に載置された読取原稿を読み取る読取機構25と、着色剤を用い印刷媒体に画像を形成する印刷機構26とを備えている。また、プリンター20は、外部機器との情報のやりとりを行うインターフェイス(I/F)27と、各種情報の表示やユーザーからの入力を受け付ける操作パネル28と、メモリーカードとのデータの入出力を司るメモリーカードリーダー30とを備えている。このプリンター20は、読取機構25と印刷機構26とを備え、プリンター機能、スキャナー機能及びコピー機能を有するマルチファンクションプリンターとして構成されている。このプリンター20では、コントローラー21や読取機構25、印刷機構26、I/F27、操作パネル28及びメモリーカードリーダー30は、バス29によって電気的に接続されている。
【0019】
コントローラー21は、CPU22を中心とするマイクロプロセッサーとして構成されており、一時的にデータを記憶したりデータを保存したりするRAM23と、各種処理プログラムを記憶しデータを書き換え可能なフラッシュメモリー24とを備えている。このコントローラー21は、画像読取処理を実行するよう読取機構25を制御すると共に、印刷処理を実行するよう印刷機構26を制御する。
【0020】
フラッシュメモリー24には、サンプリング間引率情報31とエンハンス間引率情報32とが記憶されている。図2は、サンプリング間引率情報31及びエンハンス間引率情報32の説明図である。サンプリング間引率情報31は、画像データに施される補正処理の補正値を決定する際のサンプリングに利用されるサンプリング画像を解凍する際の間引率を設定するときに用いられる。ここで、「間引率」とは、間引き前の画素数に対する間引き後の縦横の画素数の比率をいうものとし、間引率1は間引きなしであり、間引率1/2,1/4,1/8となると画像データの画素数が小さくなるように間引きを行うものとする。このサンプリング間引率情報31では、補正内容としての、顔位置、露出値、彩度、コントラスト値、ぼけ度、ノイズ度などに間引率が対応付けられており、補正内容が与えられると間引率を導くことができる。ここでは、間引率は、図2に示すように、DCT演算を伴う圧縮方式の圧縮データとしてのJPEGデータのYプレーン、Cbプレーン及びCrプレーンの各々に規定されている。具体的には、顔位置にはYプレーンが320画素以上、露出値にはYプレーンに間引率1/8、彩度・コントラスト値には全プレーンに間引率1/8、ぼけ度にはYプレーンに間引率1/2、ノイズ度には全プレーンに間引率1/4が対応付けられている。このサンプリング間引率情報31では、画像の詳細を把握する補正内容の間引きに比して画像全体の傾向を把握する補正内容の間引きが大きくなる傾向に各プレーンの間引率が対応付けられている。例えば、画像の詳細を把握する補正内容は、顔位置、ぼけ度、ノイズ度などであり、画像全体の傾向を把握する補正内容は、露出度、彩度、コントラストなどである。エンハンス間引率情報32は、印刷処理に利用される印刷用画像を解凍する際の間引率を設定するときに用いられる。このエンハンス間引率情報32では、補正内容としての、露出補正、色補正、シャープネス、ノイズ除去などに間引率が対応付けられており、補正内容が与えられると間引率を導くことができる。ここでは、間引率は、図2に示すように、露出補正及び色補正には、Yプレーンに「印刷サイズ以上」、Cbプレーン及びCrプレーンには「Yと同じ間引率」が対応付けられている。また、シャープネスには全プレーンに「印刷サイズ以上」が対応付けられている。また、ノイズ除去には、Yプレーンに「印刷サイズ以上」、Cbプレーン及びCrプレーンには「Yの1/4サイズ」が対応付けられている。
【0021】
また、このコントローラー21は、機能ブロックとして、補正内容設定部33、間引率設定部34、サンプリング処理部35、補正実行処理部36及び解凍処理部37を備えている。補正内容設定部33は、画像データに関する1以上の補正内容、例えば、画像データの印刷用画像に施される補正内容を設定する処理を実行する。この補正内容設定部33は、補正内容として、例えば、顔の情報(顔位置)、露出度、彩度、コントラスト、ぼけ度及びノイズ度のいずれか1以上を設定する。間引率設定部34は、設定された補正内容に基づいてJPEGデータのYプレーン、Cbプレーン及びCrプレーンの間引率をサンプリング間引率情報31やエンハンス間引率情報32を用いて設定する処理を実行する。この間引率設定部34は、画像データに施される補正内容を決定する際のサンプリングに利用されるサンプリング画像の間引率や、印刷に利用される印刷用画像データの間引率を顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度を含む補正内容に応じて設定する。サンプリング処理部35は、解凍されたサンプリング画像を用いて補正処理の実行を行う補正値などを決定する処理を実行する。補正実行処理部36は、補正内容設定部33により設定された補正内容をサンプリング処理部35により決定された補正値を用いて画像データに反映させる処理を実行する。解凍処理部37は、設定された間引率で画素を間引きしてJPEGデータを解凍して、サンプリング画像を生成したり、印刷用画像を生成したりする処理を実行する。この解凍処理部37は、設定された間引率を用いて画素を間引きして逆量子化及び逆DCT演算を行い画像データを生成する。
【0022】
読取機構25は、フラットベッド式であり、原稿台に載置された原稿を画像データ(圧縮データ)として読み取る読取センサーと、原稿を読み取る際に読取センサーを移動させる移動機構とを備えた周知のイメージスキャナーとして構成されている。読取センサーは、原稿に向かって発光したあとの反射光をレッド(R)、グリーン(G)、ブルー(B)の各色に分解してスキャンデータとするセンサーである。
【0023】
印刷機構26は、印刷媒体へインクを吐出することにより印刷を行う印刷ヘッドを備えた周知のインクジェット方式のカラープリンター機構として構成されている。印刷ヘッドは、圧電素子に電圧をかけることによりこの圧電素子を変形させてインクを加圧する方式によりノズルから各色のインクを吐出する。なお、インクへ圧力をかける機構は、ヒーターの熱による気泡の発生によるものとしてもよい。
【0024】
操作パネル28は、表示部28aと操作部28bとを備えている。表示部28aには、メニューの選択や設定を行う各種操作画面などが表示される。また、操作部28bは、電源をオンオフするための電源キーやカーソルを上下左右に移動させるカーソルキー、入力をキャンセルするキャンセルキー,選択内容を決定する決定キーなどがあり、コントローラー21へユーザーの指示を入力できるようになっている。
【0025】
メモリーカードリーダー30は、スロットに挿入されたメモリーカードとの間でデータの入出力を行う。このメモリーカードリーダー30は、メモリーカードが装着されているとき、メモリーカードに保存されているファイルを読み出してコントローラー21に送信したりコントローラー21からの命令を入力しこの命令に基づいてメモリーカードにデータを書き込んだりする。
【0026】
次に、こうして構成された本実施形態のプリンター20の動作、特に、JPEGデータを解凍し、解凍した画像に所定の補正を行い印刷処理を行う際の動作について説明する。ここでは、主として、メモリーカードに記憶されたJPEGデータを読み込み、画素の間引処理を行い、このJPEGデータを解凍する処理について具体的に説明する。まずユーザーは、メモリーカードリーダー30にメモリーカードを装着し、図示しない印刷選択画面で印刷を行うJPEGデータを選択する。この印刷選択画面では、操作部28bの操作により、印刷画像にどのような補正処理を施すかについても設定することができるものとする。ユーザーは、操作部28bの各種キーを操作して印刷したい画像を選択し、図示しない印刷実行キーを押下する。すると、CPU22は、フラッシュメモリー24に記憶された印刷処理ルーチンを実行する。図3は、コントローラー21のCPU22により実行される印刷処理ルーチンの一例を示すフローチャートである。このルーチンでは、CPU22は、補正内容設定部33、間引率設定部34、サンプリング処理部35、補正実行処理部36及び解凍処理部37を利用してJPEGデータの解凍処理及び印刷用画像の生成処理を行う。
【0027】
図3の印刷処理ルーチンが開始されると、CPU22は、まず、画像データに合わせた補正内容を設定する補正情報設定処理を実行し(ステップS100)、サンプリング画像に対する設定した補正内容に応じた間引率を設定するサンプリング間引率設定処理を実行し(ステップS110)、設定した間引率を用いてサンプリング画像の間引解凍処理を実行する(ステップS120)。以下、各々の処理について具体的に説明する。
【0028】
まず、ステップS100の補正情報設定処理について説明する。図4は、補正情報設定ルーチンの一例を示すフローチャートである。このルーチンは、補正内容設定部33を利用して実行される。このルーチンを実行すると、CPU22は、JPEGデータのタグに格納された情報や、操作パネル28での入力内容から補正情報を取得する(ステップS300)。ここでは、シーン補正の有無、画像シーンの種別(風景、夜景、人物など)、個別設定の有無などの情報を取得する。次に、CPU22は、シーン補正があるか否かを判定し(ステップS310)、シーン補正がない場合は、このJPEGデータに対して補正内容を補正なしに設定する(ステップS320)。具体的には、顔認識処理、露出補正処理、彩度コントラスト処理、シャープネス処理及びノイズ除去処理のいずれも「なし」に設定する。なお、これらの補正内容は、例えば強弱など数段階に経験的に設定することができる。一方、シーン補正があるときは、シーンが風景であるか否かを判定し(ステップS330)、シーンが風景であるときは、メリハリのある画像が好まれることから、顔認識処理はなし、露出補正処理は標準、彩度コントラスト処理は強、シャープネス処理はあり、ノイズ除去処理はなしに補正内容を設定する(ステップS340)。
【0029】
一方、ステップS330でシーンが風景でないときは、CPU22は、シーンが夜景であるか否かを判定し(ステップS350)、シーンが夜景であるときは、暗い画像であることから、顔認識処理はなし、露出補正処理はなし、彩度コントラスト処理は標準、シャープネス処理はなし、ノイズ除去処理は強に補正内容を設定する(ステップS360)。一方、ステップS350でシーンが夜景でないときは、シーンが人物であるか否かを判定し(ステップS370)、シーンが人物であるときは、肌の補正などを考慮し、顔認識処理はあり、露出補正処理は標準、彩度コントラスト処理は弱、シャープネス処理はなし、ノイズ除去処理は弱に補正内容を設定する(ステップS380)。一方、ステップS370でシーンが人物でないときは、CPU22は、シーンがその他であるものとみなし、以下の標準的な設定、顔認識処理はあり、露出補正処理は標準、彩度コントラスト処理は標準、シャープネス処理はなし、ノイズ除去処理はなしに補正内容を設定する(ステップS390)。
【0030】
さて、ステップS320、S340,S360,S380,S390のあと、CPU22は、個別設定があるか否かを判定し(ステップS400)、個別設定がないときには、そのままこのルーチンを終了する。個別設定があるときには、露出補正値、彩度コントラスト値、シャープネス値、ノイズ除去処理値などを個別に設定し(ステップS410)、このルーチンを終了する。この個別設定は、例えばJPEGのタグに個別に設定されている情報(例えば露出値=Xなど)や、操作パネル28でユーザーが個別に設定した情報である。また、この個別設定は、上記処理で設定した値に個別の設定値を加算して設定するものとしてもよい。そして、印刷するJPEGデータが複数あるときには、上記補正情報設定ルーチンをJPEGデータの数だけ繰り返し実行し、JPEGデータに各々対応づけた補正内容をRAM23の所定領域に格納するものとした。
【0031】
次に、ステップS110のサンプリング間引率設定処理について説明する。図5は、サンプリング間引率設定処理ルーチンの一例を示すフローチャートである。このサンプリング間引率設定処理は、サンプリング間引率情報31を用い、間引率設定部34を利用して実行される。このルーチンでは、設定された補正内容から画像の要求サイズを設定し(S500〜S575)、設定された要求サイズから具体的に実行する間引率を設定する処理を行う(S580)。このルーチンを実行すると、CPU22は、JPEGデータの画像サイズの情報を取得する(ステップS500)。画像サイズの情報としては、JPEGのコンポーネントが4:2:0、4:2:2、4:4:4であるかの情報や、JPEGのYプレーンのサイズSOY、CbプレーンのサイズSOCb、CrプレーンのサイズSOCrなどを取得する。以下、各プレーンの長辺を選択して処理を行うものとする。また、JPEGのコンポーネントが4:2:0である場合、大きさを合わせるよう、SOY=SOCb×2=SOCr×2とする。
【0032】
次に、各プレーンの要求サイズを初期化する(ステップS505)。ここでは、Yプレーンの要求サイズSYと、Cbプレーンの要求サイズSCbと、Crプレーンの要求サイズSCrとを、SY=SCb=SCr=0に設定する。続いて、CPU22は、顔認識を行うか否かをRAM23に格納された補正内容に基づいて判定し(ステップS510)、顔認識ありであるときには、サンプリング間引率情報31の対応情報に基づき、要求サイズSYに320画素(長辺)を設定する(ステップS515)。以下同様に、RAM23に格納された補正内容と、サンプリング間引率情報31の対応情報に基づいて要求サイズSY、要求サイズSCb及び要求サイズSCrを設定する。
【0033】
ステップS510で顔認識なしであるとき、又はステップS515のあと、CPU22は、露出補正があるか否かを判定し(ステップS520)、露出補正があるときには、YサイズSOYを8で除算した値が要求サイズSYを超えている場合には、要求サイズSYにサイズSOY/8を設定する(ステップS525)。次に、ステップS520で露出補正なしであるとき、又はステップS525のあと、彩度コントラスト補正があるか否かを判定する(ステップS530)。彩度コントラスト補正があるときには、サイズSOYを8で除算した値が要求サイズSYを超えている場合には、要求サイズSYにサイズSOY/8を設定する(ステップS535)。また、サイズSOCbを8で除算した値が要求サイズSCbを超えている場合には、要求サイズSCbにサイズSOCb/8を設定する(ステップS540)。また、サイズSOCrを8で除算した値が要求サイズSCrを超えている場合には、要求サイズSCrにサイズSOCr/8を設定する(ステップS545)。次に、ステップS530で彩度コントラスト補正なしであるとき、又はステップS545のあと、シャープネス補正があるか否かを判定する(ステップS550)。シャープネス補正(ぼけ度の補正)があるときには、サイズSOYを2で除算した値が要求サイズSYを超えている場合には、要求サイズSYにサイズSOY/2を設定する(ステップS555)。次に、ステップS550でシャープネスなしであるとき、又はステップS555のあと、ノイズ除去があるか否かを判定する(ステップS560)。ノイズ除去があるときには、サイズSOYを4で除算した値が要求サイズSYを超えている場合には、要求サイズSYにサイズSOY/4を設定する(ステップS565)。また、サイズSOCbを4で除算した値が要求サイズSCbを超えている場合には、要求サイズSCbにサイズSOCb/4を設定する(ステップS570)。また、サイズSOCrを4で除算した値が要求サイズSCrを超えている場合には、要求サイズSCrにサイズSOCr/4を設定する(ステップS575)。
【0034】
続いて、ステップS560でノイズ除去がないとき、又はステップS575のあと、CPU22は、各プレーンに適用する間引率を計算する間引率計算処理を実行し(ステップS580)、このルーチンを終了する。図6は、間引率計算処理ルーチンの一例を示すフローチャートである。このルーチンを実行すると、CPU22は、要求サイズSYが0を超えるか否かを判定し(ステップS600)、要求サイズSYが0を超えないときは、Yプレーンの間引率RYに値0を設定する(ステップS602)。間引率「0」とは、すべての画素を間引く、即ちそのプレーンを解凍しないことを意味する。一方、ステップS600で要求サイズSYが0を超えるときには、要求サイズSYがサイズSOY/8を超えるか否かを判定し(ステップS604)、要求サイズSYがサイズSOY/8を超えないときには、間引率RYに1/8を設定する(ステップS606)。一方、ステップS604で要求サイズSYがサイズSOY/8を超えるときには、要求サイズSYがサイズSOY/4を超えるか否かを判定し(ステップS608)、要求サイズSYがサイズSOY/4を超えないときには、間引率RYに1/4を設定する(ステップS610)。一方、ステップS608で要求サイズSYがサイズSOY/4を超えるときには、要求サイズSYがサイズSOY/2を超えるか否かを判定し(ステップS612)、要求サイズSYがサイズSOY/2を超えないときには、間引率RYに1/2を設定する(ステップS614)。一方、ステップS612で要求サイズSYがサイズSOY/2を超えるときには、間引率RYに値1を設定する(ステップS616)。間引率が値1とは、間引きを行わずにそのプレーンの解凍処理を行うことを意味する。Cbプレーンに対しても、Yプレーンと同様の処理を行い(ステップS618〜S634)、Crプレーンに対しても、Yプレーンと同様の処理を行い(ステップS636〜S652)、このルーチンを終了する。そして、印刷するJPEGデータが複数あるときには、上記サンプリング間引率設定処理ルーチンをJPEGデータの数だけ繰り返し実行し、JPEGデータに各々対応づけた間引率をRAM23の所定領域に格納するものとした。このような処理を行うことにより、各プレーンのサイズに基づき、要求サイズよりも大きな画像サイズになるよう各プレーンの間引率を設定するのである。また、設定した複数の補正内容の各々に対応付けられた間引率のうち、より大きい画像データとなる間引率を各プレーンの間引率に設定するのである。
【0035】
次に、ステップS120の間引解凍処理について説明する。図7は、間引解凍処理ルーチンの一例を示すフローチャートである。このルーチンは、解凍処理部37を利用して実行される。ステップS120の間引解凍処理では、サンプリング画像の解凍処理を実行する。このルーチンを実行すると、CPU22は、JPEGデータをエントロピー復号(ハフマン復号)し(ステップS700)、グループ復号し(ステップS705)、ランレングス復号する(ステップS710)。この結果、N×N(例えばN=8)の量子化前のDCT係数の周波数ブロックが得られる。この状態で、N×Nのブロックから所望の値だけを用いる、いわゆる間引処理が可能な状態になる。次に、CPU22は、間引解凍処理を行うか否かをJPEGデータに対応付けられた間引率に基づいて判定し(ステップS715)、間引解凍処理を行わない場合は、DCT係数の周波数ブロックに対してDCT係数の逆量子化を行い(ステップS720)、逆離散コサイン変換(IDCT)を行い(ステップS725)、最小符号化ユニット(MCU)処理及び色変換を行い(ステップS730)、画像データを記憶し(ステップS735)、このルーチンを終了する。この処理の中で、逆DCT演算が最も処理負担が大きく、処理に時間を要する。この逆DCT演算などは、特開2002−271794号公報などに詳しいのでその説明を省略する。また、MCU処理及び色変換は、例えば、処理で得られた画素値を補正するものとしてもよい。なお、DCT係数の逆量子化、逆離散コサイン変換は、必要に応じて各プレーン毎に行うものとする。
【0036】
一方、ステップS715で間引解凍処理を行う場合は、Yプレーンを間引率RYで間引き解凍する(ステップS740)。図8は、間引解凍処理の概念図である。図8に示すように、8×8のDCT係数の周波数ブロックを間引率1/2で間引きする場合は、例えば、8×8ブロックの全64個のうち、縦横それぞれ1/2を乗じた4×4個、計16個が分散的に残るように、以降の処理を行う周波数成分を選択する。また、間引率1/4で間引きする場合は、例えば、8×8ブロックの全64個のうち、縦横それぞれ1/4を乗じた2×2個、計4個が分散的に残るように、以降の処理を行う周波数成分を選択する。また、間引率1/8で間引きする場合は、例えば、8×8ブロックの全64個のうち、縦横それぞれ1/8を乗じた1個が残るように、以降の処理を行う周波数成分を選択する。そして、選択したDCT係数に対して、上記ステップS720〜S730と同様の、DCT係数の逆量子化、IDCT、MCU処理及び色変換を行い、Yプレーンの画素とするのである。このように、処理負担の大きい逆DCT演算の回数を間引率に応じて低減することができ、処理負担及び処理時間の低減をより図ることができる。なお、各DCT係数を処理する際には、図8上段に示すように、ジグザグスキャンするものとしてもよい。こうすれば、より処理の高速化を図ることができる。
【0037】
続いて、CPU22は、Cbプレーンの間引率RCbが値0を超えているか否かを判定し(ステップS745)、間引率RCbが値0を超えているときには、上記Yプレーンと同様の処理により、Cbプレーンを間引率RCbで間引き解凍し(ステップS750)、Yプレーンと同じ解像度になるように画素の単純水増し処理を行う(ステップS755)。一方、間引率RCbが値0を超えていないとき、即ち、RCb=0であるときには、Cbプレーンの解凍は行わず、Yプレーンと同じ解像度とする処理を行う(ステップS760)。具体的には、値128でプレーン全体を埋める処理を行う。次に、CPU22は、Crプレーンの間引率RCrが値0を超えているか否かを判定し(ステップS765)、間引率RCrが値0を超えているときには、上記Yプレーンと同様の処理により、Crプレーンを間引率RCrで間引き解凍し(ステップS770)、Yプレーンと同じ解像度になるように画素の単純水増し処理を行う(ステップS775)。一方、間引率RCrが値0を超えていないとき、即ち、RCr=0であるときには、Crプレーンの解凍は行わず、Yプレーンと同じ解像度とする処理を行う(ステップS780)。具体的には、値128でプレーン全体を埋める処理を行う。そして、Y,Cb,Crプレーンを用い、画像データを作成し、RAM23の所定領域に記憶させ(ステップS735)、このルーチンを終了する。このように、間引処理を行い、各プレーンを解凍するのである。
【0038】
さて、図3の印刷処理ルーチンの説明に戻る。ステップS120で、間引解凍処理を実行すると、CPU22は、YCCの画像データからRGB/HLS色空間の画像データに変換し(ステップS130)、画像データを縮小保存する(ステップS140)。この色空間の変換処理は、例えば、YCC色空間からRGB色空間への変換を、ルックアップテーブルなど用いた周知の方法で行うものとしてもよい。また、画像データの縮小保存では、間引処理の有無にかかわらず、解凍した画像データを顔認識用の所定の小サイズに縮小保存するものとする。続いて、CPU22は、解凍したサンプリング画像を用い、サンプリング処理部35を利用して、Y,R,G,B,H,L,Sの各ヒストグラム計算を行い、各補正内容の補正値などを決定し(ステップS150)、サンプリングが終了したか否かを判定する(ステップS160)。サンプリングが終了していないときには、ステップS120以降の処理を繰り返し、JPEGデータに各々対応づけたサンプリング画像をRAM23の所定領域に格納する。
【0039】
ステップS160でサンプリングが終了したときには、CPU22は、補正内容に顔認識があるか否かを判定し(ステップS170)、補正内容に顔認識があるときには、ステップS140で縮小保存した画像データを用い、周知の顔認識処理を実行する(ステップS180)。顔認識処理では、目の領域及びその近傍に口に該当する領域があるか否かなどに基づいて、顔が存在する領域を特定する処理を実行する。続いて、画像に顔領域があるか否かを判定し(ステップS190)、顔領域がないとき、又は、ステップS170で補正内容に顔認識がないときには、ぼけ度などを考慮し、画像全体の最適化を図るエンハンスパラメータ計算を実行し(ステップS200)、そのJPEGデータのエンハンスパラメータを決定する。一方、ステップS190で顔領域があるときには、ぼけ度などを考慮し、顔色の最適化を図るエンハンスパラメータ計算を実行し(ステップS210)、そのJPEGデータのエンハンスパラメータを決定する。このエンハンスパラメータの計算は、ステップS150での各補正内容の補正値を適宜用いて行うものとする。
【0040】
ステップS200、S210のあと、CPU22は、印刷用画像データの解凍時の間引率を設定するエンハンス間引率設定処理を実行する(ステップS220)。図9は、エンハンス間引率設定処理ルーチンの一例を示すフローチャートである。このエンハンス間引率設定処理は、エンハンス間引率情報32を用い、間引率設定部34を利用して実行される。このルーチンでは、設定された補正内容から画像の要求サイズを設定し(S800〜S860)、設定された要求サイズから具体的に実行する間引率を設定する処理を行う(S870)。このルーチンが実行されると、まず、CPU22は、JPEGデータの画像サイズSOY,SOCb、SOCrを取得し(ステップS800)、印刷設定から印刷サイズSPを取得する(ステップS810)。ここでも、各プレーンの長辺を選択して処理を行うものとし、JPEGのコンポーネントが4:2:0である場合、大きさを合わせるよう、SOY=SOCb×2=SOCr×2とする。次に、Y,Cb,Crの各プレーンの要求サイズの初期設定を行う(ステップS820)。ここでは、Yプレーンの要求サイズSYに印刷サイズSPを設定する。また、Cbプレーンの要求サイズSCbとして、画像サイズSOCbに印刷サイズSPを乗算し画像サイズSOYで除算した値(SP×SOCb/SOY)を設定する。また、Crプレーンの要求サイズSCrとして、画像サイズSOCrに印刷サイズSPを乗算し画像サイズSOYで除算した値(SP×SOCr/SOY)を設定する。この処理では、露出補正・色補正のYプレーンが印刷サイズ以上、Cb,CrプレーンがYプレーンと同じ間引率に設定されることを意味する。露出補正のように色を補正する処理では、解像度についての特別な考慮は不要であるので、画質と処理速度のバランスを考慮し、すべてのプレーンで同じ間引率とするのである。
【0041】
続いて、補正内容にシャープネスがあるか否かを判定し(ステップS830)、シャープネスがあるときには、Cb,Crプレーンの要求サイズSCb,SCrにYプレーンの要求サイズSYをそれぞれ設定する(ステップS840)。即ち、シャープネスを実行する際には、各プレーン共に要求サイズを印刷サイズ以上に設定する。シャープネスについては、解像度が優先されることから、間引率をぎりぎりまで下げるべく、例えば4:2:0のコンポーネントのJPEGデータのように、Cb,CrプレーンがYプレーンの1/2である画像でもCb,Crプレーンの要求サイズをYプレーンと同じにする(間引率をYの2倍とする)ことにより、Cb,Crプレーンの画素値を有効活用するのである。ステップS840のあと、又はステップS830で補正内容にシャープネスがないときには、補正内容にノイズ除去があるか否かを判定し(ステップS850)、ノイズ除去があるときには、Cb,Crプレーンの要求サイズSCb,SCrに印刷サイズSP/4をそれぞれ設定する(ステップS860)。即ち、ノイズ除去を実行する際には、Cb、Crプレーン共に要求サイズをYプレーンの1/4サイズに設定する。ノイズ除去では、例えば、デジタルカメラの光量不足などのノイズが色差成分であるCb,Crプレーンに含まれることがあることから、Cb,Crプレーンの間引率を上げて相対的に面積を減らし、より広い範囲で平滑化フィルタをかけるのである。なお、間引処理は、単純な低解像度化のみならず、平滑化の作用もあることから、間引処理そのものによってもノイズ除去を実行可能であるというメリットがある。そして、ステップS860のあと、又はステップS850で補正内容にノイズ除去がないときには、間引率計算処理を実行し(ステップS870)、このルーチンを終了する。この間引率計算処理は、上述した図6に示す間引率計算処理ルーチンを実行し、Y,Cb,Crの各プレーンの間引率を設定するものとする。ここでは、各プレーンのサイズに基づき、印刷サイズよりも大きな画像サイズになるよう各プレーンの間引率を設定する。また、複数の補正内容の各々に対応付けられた間引率のうち、より大きい印刷用画像データとなる間引率を各プレーンの間引率に設定するのである。
【0042】
さて、図3の印刷処理ルーチンの説明に戻る。ステップS220でエンハンス間引率設定処理を実行すると、CPU22は、間引解凍処理を実行する(ステップS230)。ここでは、ステップS220で設定した間引率に基づき、解凍処理部37を用いて、図7の間引解凍処理をステップS120と同様に実行するものとする。ステップS230の間引解凍処理では、印刷用画像の解凍処理を実行する。このステップS230においても、補正内容に応じて設定された間引率で画素を間引いて印刷用のJPEGデータを解凍処理するため、処理負担の大きい逆DCT演算の回数を間引率に応じて低減することができ、処理負担及び処理時間の低減をより図ることができる。
【0043】
間引解凍処理を実行すると、CPU22は、YCCの画像データからRGB/HLS色空間の画像データに変換し(ステップS240)、必要に応じてシャープネス処理を実行し(ステップS250)、必要に応じて色補正処理を実行し(ステップS260)、必要に応じてノイズ除去処理を実行する(ステップS270)。これらの補正処理は、ステップS200,S210で設定されたエンハンスパラメータを用い、補正実行処理部36が実行するものとする。そして、解凍された印刷用画像データを用いて印刷処理を実行する(ステップS280)。そして、印刷が終了したか否かを、印刷用に選択されたJPEGデータのすべてが処理されたか否かに基づいて判定し(ステップS290)、印刷が終了していないときにはステップS230以降の処理を実行し、印刷が終了したときにはこのルーチンを終了する。
【0044】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の補正内容設定部33が本発明の補正内容設定手段に相当し、間引率設定部34が間引率設定手段に相当し、解凍処理部37が解凍処理手段に相当する。なお、本実施形態では、プリンター20の動作を説明することにより本発明の画像処理方法の一例も明らかにしている。
【0045】
以上詳述した本実施形態のプリンター20によれば、1以上の補正内容を設定し、設定した補正内容に基づいてJPEGデータ(圧縮データ)のY,Cb,Crの各プレーンの間引率を設定し、設定された間引率で画素を間引きして、JPEGデータを解凍し画像データを生成する。このように、複数の補正内容に応じた間引処理を行うため、補正内容に応じて例えば逆量子化処理や逆DCT演算処理などを省略することができる。したがって、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。また、顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度に応じて間引処理を行うから、各補正内容に応じて、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。更に、サンプリング画像の生成時及び印刷用画像データの生成時に、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。更にまた、画像の詳細を把握する補正内容については間引きが小さい傾向で処理し、画像全体の傾向を把握する補正内容については間引きが大きい傾向で処理するため、より適正な間引処理を実行してサンプリング画像を生成することができる。そして、指定された印刷サイズ以上の大きさの画像となるように印刷用画像データの間引率を設定するため、印刷画像の画質低下をより抑制しつつ、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。そしてまた、設定した複数の補正内容の各々に対応付けられた間引率のうち、より大きい画像データとなる間引率を各プレーンの間引率に設定するため、画像データの画質低下をより抑制しつつ、圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。そして更に、プリンター20などの機器では、コントローラーの性能に限りがあることから、本発明を適用する意義が高い。
【0046】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0047】
例えば、上述した実施形態では、補正内容を、顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度として説明したが、特にこれに限定されず、これらのいずれか1以上を省略してもよいし、これら以外の補正内容を加えてもよい。こうしても、補正内容に応じて圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。
【0048】
上述した実施形態では、サンプリング画像や印刷用画像の解凍時に、補正内容に応じた間引率で解凍処理を行うものとしたが、いずれか一方としてもよいし、その他の画像の解凍時、例えば表示用画像などの解凍時に補正内容に応じた間引率で解凍処理を行うものとしてもよい。こうしても、補正内容に応じて圧縮データの解凍処理の負担及び処理時間をより適切に低減することができる。
【0049】
上述した実施形態では、画像の詳細を把握する補正内容の間引きに比して画像全体の傾向を把握する補正内容の間引きが大きくなる傾向に各プレーンの間引率を設定するものとしたが、特にこれに限定されず、間引き率の設定は、補正内容などに応じて経験的に定めるものとしてもよい。また、上述した実施形態では、印刷サイズ以上の大きさの画像となるように印刷用画像データの間引率を設定するものとしたが、特にこれに限定されない。
【0050】
上述した実施形態では、印刷処理を実行する際に間引き処理を実行して圧縮データを解凍して画像データを生成するものとしたが、特にこれに限定されず、圧縮データを解凍して表示用画像データを生成するものとしてもよい。
【0051】
上述した実施形態では、メモリーカードリーダー30に装着されたメモリーカードに記憶された圧縮データを解凍して印刷するものとしたが、DCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成するものとすれば特にこれに限定されず、例えば、読取機構25で読み取った圧縮データを解凍する際や、PC40から送信された圧縮データを解凍する際としてもよい。
【0052】
上述した実施形態では、圧縮データをJPEGデータとして説明したが、DCT演算を伴う圧縮方式の圧縮データであれば特にこれに限定されず、例えば、MPEGデータとしてもよい。
【0053】
上述した実施形態では、印刷、スキャン及びコピーを実行可能なマルチファンクションプリンターを本発明の画像処理装置として説明したが、プリンター単体やスキャナー単体、FAXなどとしてもよい。あるいは、DCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する装置であれば特に限定されず、例えば、パソコンやノートパソコンなどの情報処理機器、デジタルスチルカメラやデジタルビデオカメラなどの撮影機器、デジタルテレビやHDDレコーダーなどの映像機器、携帯用及び家庭用のゲーム機器、携帯電話などの通信機器などとしてもよい。また、読取機構25は、原稿を固定し読取センサーを移動して画像を読み取るフラットベッド式としたが、読取センサーを固定し原稿を移動して読み取る方式を採用してもよい。また、印刷機構26は、インクジェット方式としたが、電子写真方式や、熱転写方式、ドットインパクト方式としてもよい。また、プリンター20の態様で本発明を説明したが、画像処理方法の態様としてもよいし、この方法のプログラムの態様としてもよい。
【符号の説明】
【0054】
10 プリンターシステム、20 プリンター、21 コントローラー、22 CPU、23 RAM、24 フラッシュメモリー、25 読取機構、26 印刷機構、27 インターフェイス(I/F)、28 操作パネル、28a 表示部、28b 操作部、29 バス、30 メモリーカードリーダー、31 サンプリング間引率情報、32 エンハンス間引率情報、33 補正内容設定部、34 間引率設定部、35 サンプリング処理部、36 補正実行処理部、37 解凍処理部、40 パソコン(PC)、47 入力装置、48 ディスプレイ。

【特許請求の範囲】
【請求項1】
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理装置であって、
前記画像データに関する1以上の補正内容を設定する補正内容設定手段と、
前記設定された補正内容に基づいて前記複数のプレーン毎の間引率を設定する間引率設定手段と、
前記複数のプレーン毎に設定された間引率で画素を間引きして前記圧縮データを解凍して前記画像データを生成する解凍処理手段と、
を備えた画像処理装置。
【請求項2】
前記補正内容設定手段は、顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度のいずれか1以上を含む補正内容を設定し、
前記間引率設定手段は、顔の情報、露出度、彩度、コントラスト、ぼけ度及びノイズ度のいずれか1以上を含む前記補正内容に応じて前記プレーンの間引率を設定する、請求項1に記載の画像処理装置。
【請求項3】
前記間引率設定手段は、前記画像データに施される補正内容を決定する際のサンプリングに利用されるサンプリング画像の間引率を設定し、
前記解凍処理手段は、前記設定された間引率で画素を間引きして前記サンプリング画像を生成する、請求項1又は2に記載の画像処理装置。
【請求項4】
前記間引率設定手段は、画像の詳細を把握する補正内容の間引きに比して画像全体の傾向を把握する補正内容の間引きが大きくなる傾向に前記プレーンの間引率を設定する、請求項3に記載の画像処理装置。
【請求項5】
前記補正内容設定手段は、前記画像データの印刷用画像に施される補正内容を設定し、
前記間引率設定手段は、前記印刷用画像データの間引率を設定し、
前記解凍処理手段は、前記設定された間引率で画素を間引きして前記印刷用画像を生成する、請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
前記間引率設定手段は、指定された印刷サイズ以上の大きさの画像となるように前記印刷用画像データの間引率を設定する、請求項5に記載の画像処理装置。
【請求項7】
前記補正内容設定手段は、複数の補正内容を設定し、
前記間引率設定手段は、前記設定した複数の前記補正内容の各々に対応付けられた間引率のうち、より大きい画像データとなる間引率を前記プレーンの間引率に設定する、請求項1〜6のいずれか1項に記載の画像処理装置。
【請求項8】
前記圧縮データは、JPEGデータ、MPEGデータのうちいずれか1以上である、請求項1〜7のいずれか1項に記載の画像処理装置。
【請求項9】
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理方法であって、
(a)前記画像データに関する1以上の補正内容を設定するステップと、
(b)前記設定した補正内容に基づいて前記複数のプレーン毎の間引率を設定するステップと、
(c)前記複数のプレーン毎に設定した間引率で画素を間引きして前記圧縮データを解凍して前記画像データを生成するステップと、
を含む画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−106122(P2013−106122A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−247148(P2011−247148)
【出願日】平成23年11月11日(2011.11.11)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】