説明

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

【課題】圧縮データの解凍処理の負担及び処理時間をより低減する。
【解決手段】プリンター20は、JPEGデータに対してエントロピー復号及びランレングス復号処理を実行した中間データ(例えばDCT係数)を生成し、生成した中間データをキャッシュであるSRAMに記憶し、この記憶した中間データを用いて第1処理部33が第1の間引率(例えば1/1)で第1画像データを生成する一方、記憶された中間データを用いて第2処理部34が第2の間引率(例えば1/8)で第2画像データを生成する。このように、中間データを記憶して複数の画像データの生成に利用するから、復号処理の重複実行をより抑制可能である。この画像生成部32は、ハードウエア処理による第1処理部33及びソフトウエア処理による第2処理部34により、第1画像データの生成と第2画像データの生成とを並行して行うものとしてもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
従来、画像処理装置としては、サンプリング対象のJPEG画像に対しハフマン復号化、ランレングスハフマン復号化及び逆量子化を行い、得られた8×8のブロックの各々に対して全64画素のうち画素値取得対象の画素を選択し、選択した画素のみについて逆DCT演算を行うことにより、圧縮画像をサンプリングして表示するものが提案されている(例えば、特許文献1参照)。この装置では、選択した画素のみについて逆DCT演算を行うことから、圧縮画像をサンプリングして表示するための処理負担を軽減してその処理時間長を短縮することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−271794号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の装置では、選択した画素のみについて逆DCT演算を行うことにより、処理負担を軽減してその処理時間長を短縮することができるが、処理負担の軽減はまだ充分ではなく、更なる処理負担の軽減及びその処理時間の短縮が望まれていた。
【0005】
本発明は、このような課題に鑑みなされたものであり、圧縮データの解凍処理の負担及び処理時間をより低減することができる画像処理装置及び画像処理方法を提供することを主目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の主目的を達成するために以下の手段を採った。
【0007】
本発明の画像処理装置は、
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理装置であって、
前記圧縮データに対してエントロピー復号及びランレングス復号処理を実行した中間データを生成する復号処理手段と、
前記生成した中間データを記憶する記憶手段と、
前記記憶した中間データを用いて第1の間引率で第1画像データを生成する一方、前記記憶された中間データを用いて前記第1の間引率と異なる第2の間引率で第2画像データを生成する画像生成手段と、を備えたものである。
【0008】
この画像処理装置では、DCT演算を伴う圧縮方式の圧縮データに対してエントロピー復号及びランレングス復号処理を実行した中間データを生成し、生成した中間データを記憶し、この記憶した中間データを用いて第1の間引率で第1画像データを生成する一方、記憶された中間データを用いて第1の間引率と異なる第2の間引率で第2画像データを生成する。このように、中間データを記憶して複数の画像データの生成に利用するから、復号処理の重複実行をより抑制可能である。したがって、圧縮データの解凍処理の負担及び処理時間をより低減することができる。ここで、中間データとは、例えば、量子化前のDCT係数としてもよいし、量子化後の量子化データとしてもよい。なお、「第1及び第2画像データを生成する」ものであるが、2以上の画像データを生成するものであればよく、第3の間引率で第3画像データを生成してもよいし、第mの間引率(mは2以上の整数)で第m画像データを生成してもよい。
【0009】
本発明の画像処理装置において、前記画像生成手段は、前記第1画像データの生成と前記第2画像データの生成とを並行して行うものとしてもよい。こうすれば、圧縮データの解凍処理の処理時間を更に低減することができる。このとき、前記画像生成手段は、ハードウエア処理により中間データから画像データを生成する第1処理部と、ソフトウエア処理により中間データから画像データを生成する第2処理部とを有し、前記第1処理部は、前記第2の間引率より間引きを行わない前記第1の間引率の第1画像データを生成するものとしてもよい。こうすれば、ハードウエア処理とソフトウエア処理に分担させることによって、より効率よく圧縮データの解凍処理の負担及び処理時間を低減することができる。
【0010】
本発明の画像処理装置において、前記画像生成手段は、印刷画像を生成し、印刷画像に複数のサイズの同一画像が含まれるときに、前記第1画像データと前記第2画像データとを前記印刷画像として生成するものとしてもよい。こうすれば、複数サイズの画像を印刷するときに、圧縮データの解凍処理の負担及び処理時間を低減することができる。
【0011】
本発明の画像処理装置において、前記画像生成手段は、前記画像データに施される補正内容を決定する際のサンプリングに利用されるサンプリング画像が複数のサイズであるときに、前記第1画像データと前記第2画像データとを生成するものとしてもよい。こうすれば、サンプリング画像の生成時に、圧縮データの解凍処理の負担及び処理時間を低減することができる。
【0012】
本発明の画像処理装置において、前記画像生成手段は、指定されているサイズ以上の大きさの画像となる前記第1及び第2の間引率で第1及び第2画像データを生成するものとしてもよい。こうすれば、画質の低下を抑制しつつ、圧縮データの解凍処理の負担及び処理時間をより低減することができる。
【0013】
前記圧縮データは、JPEGデータ、MPEGデータのうちいずれか1以上であるものとしてもよい。
【0014】
本発明の画像処理方法は、
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理方法であって、
(a)前記圧縮データに対してエントロピー復号及びランレングス復号処理を実行した中間データを生成するステップと、
(b)前記生成した中間データを記憶するステップと、
(c)前記記憶された中間データを用いて第1の間引率で第1画像データを生成する一方、前記記憶された中間データを用いて第1の間引率と異なる第2の間引率で第2画像データを生成するステップと、を含むものである。
【0015】
この画像処理方法は、上述した画像処理装置と同様に、中間データを記憶して複数の画像データの生成に利用するから、復号処理の重複実行をより抑制可能であるため、圧縮データの解凍処理の負担及び処理時間をより低減することができる。なお、この画像処理方法において、上述した画像処理装置の種々の態様を採用してもよいし、また、上述した画像処理装置の各機能を実現するようなステップを追加してもよい。
【0016】
本発明のプログラムは、上述した画像処理方法の各ステップを1以上のコンピューターに実現させるものである。このプログラムは、コンピューターが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピューターから別のコンピューターへ配信されてもよいし、その他どのような形で授受されてもよい。このプログラムを1つのコンピューターに実行させるか又は複数のコンピューターに各ステップを分担して実行させれば、上述した画像処理方法の各ステップが実行されるため、この画像処理方法と同様の作用効果が得られる。
【図面の簡単な説明】
【0017】
【図1】プリンターシステム10の構成の概略を示す構成図。
【図2】コントローラー21の機能ブロックの説明図。
【図3】印刷処理ルーチンの一例を示すフローチャート。
【図4】間引解凍処理ルーチンの一例を示すフローチャート。
【図5】間引解凍処理の概念図。
【図6】画像データ61をレイアウトしたレイアウト画像60の説明図。
【図7】レイアウト印刷処理ルーチンの一例を示すフローチャート。
【発明を実施するための形態】
【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を中心とするマイクロプロセッサーとして構成されており、各種処理プログラムを記憶しデータを書き換え可能なフラッシュメモリー23と、一時的にデータを記憶したりデータを保存したりするRAM24と、を備えている。このコントローラー21は、画像読取処理を実行するよう読取機構25を制御すると共に、印刷処理を実行するよう印刷機構26を制御する。
【0020】
また、このコントローラー21は、機能ブロックとして、復号処理部31、画像生成部32、サンプリング処理部35、補正実行処理部36及び印刷処理部38を備えている。図2は、コントローラー21の機能ブロックの説明図である。復号処理部31は、JPEGデータなど、DCT演算を伴う圧縮方式の圧縮データに対してエントロピー復号グループ復号及びランレングス復号処理を実行した中間データ50を生成する機能を有している。この中間データ50は、N×N(例えばN=8など)の成分ブロックにより構成されている。この中間データ50は、上記復号処理後且つ逆量子化前のDCT係数データとしてもよいし、逆量子化後のDCT係数データとしてもよい。ここでは、中間データ50は、逆量子化前のDCT係数データとする。この復号処理部31は、JPEGデータやこのJPEGデータの画像に施す補正情報、印刷指令などを受け、復号した中間データ50をCPU22のキャッシュであるSRAM22aに記憶させる処理を行う。画像生成部32は、1以上の間引率を用いて画素を間引きして逆量子化及び逆DCT演算を行い画像データを生成する機能を有している。この間引率とは、間引き前の画素数に対する間引き後の縦横の画素数の比率をいうものとし、間引率1は間引きなしであり、間引率1/2,1/4,1/8となると画像データの画素数が小さくなるように間引きを行うものとする。画像生成部32は、例えば、SRAM22aに記憶された中間データ50(DCT係数データ)を用いて第1の間引率で第1画像データ24aを生成する一方、第1の間引率と異なる第2の間引率で第2画像データ24bを生成する処理を、並行して行う。この画像生成部32は、ハードウエア処理(例えば所定の回路構成)により中間データから画像データを生成する第1処理部33と、ソフトウエア処理(例えばCPUによるソフトウエアの実行)により中間データから画像データを生成する第2処理部34とを有している。この第1処理部33は、高速処理可能であり、第2処理部34よりも間引きを行わない画像データを生成する。第2処理部34は、更に1/2解凍部34a、1/4解凍部34b及び1/8解凍部34cを備えている。この画像生成部32では、第1処理部33が1/1間引による画像生成を行い、第2処理部34の1/2解凍部34aが1/2間引による画像生成を行い、1/4解凍部34bが1/4間引による画像生成を行い、1/8解凍部34cが1/8間引による画像生成を行い、生成した画像データ(サンプリング画像)をRAM24の所定領域に記憶させる処理を行う。サンプリング処理部35は、解凍されたサンプリング画像を解析することにより、画像データに施す補正処理の補正値などを決定する処理を実行する。このサンプリング処理部35は、決定した補正値を補正実行処理部36へ出力する処理を行う。補正実行処理部36は、サンプリング処理部35により決定された補正値を用いて補正処理を画像データに施す処理を実行する。印刷処理部38は、生成した画像データから着色剤(インク)の吐出量を含む印刷データへ変換し、印刷ヘッドの1往動(印刷バンド)に応じた印刷データを印刷機構26の印刷ヘッドへ出力する機能を有する。
【0021】
読取機構25は、フラットベッド式であり、原稿台に載置された原稿を画像データ(圧縮データ)として読み取る読取センサーと、原稿を読み取る際に読取センサーを移動させる移動機構とを備えた周知のイメージスキャナーとして構成されている。読取センサーは、原稿に向かって発光したあとの反射光をレッド(R)、グリーン(G)、ブルー(B)の各色に分解してスキャンデータとするセンサーである。
【0022】
印刷機構26は、印刷媒体へインクを吐出することにより印刷を行う印刷ヘッドを備えた周知のインクジェット方式のカラープリンター機構として構成されている。印刷ヘッドは、圧電素子に電圧をかけることによりこの圧電素子を変形させてインクを加圧する方式によりノズルから各色のインクを吐出する。なお、インクへ圧力をかける機構は、ヒーターの熱による気泡の発生によるものとしてもよい。
【0023】
操作パネル28は、表示部28aと操作部28bとを備えている。表示部28aには、メニューの選択や設定を行う各種操作画面などが表示される。また、操作部28bは、電源をオンオフするための電源キーやカーソルを上下左右に移動させるカーソルキー、入力をキャンセルするキャンセルキー,選択内容を決定する決定キーなどがあり、コントローラー21へユーザーの指示を入力できるようになっている。
【0024】
メモリーカードリーダー30は、スロットに挿入されたメモリーカードとの間でデータの入出力を行う。このメモリーカードリーダー30は、メモリーカードが装着されているとき、メモリーカードに保存されているファイルを読み出してコントローラー21に送信したりコントローラー21からの命令を入力しこの命令に基づいてメモリーカードにデータを書き込んだりする。
【0025】
次に、こうして構成された本実施形態のプリンター20の動作、特に、JPEGデータを解凍し、解凍した画像に所定の補正を行い印刷処理を行う際の動作について説明する。ここでは、説明の便宜のため、主として、メモリーカードに記憶されたJPEGデータを読み込み、顔認識用と赤目補正用の画像データを画素の間引処理を行って生成し、補正処理して印刷する処理について具体的に説明する。まずユーザーは、メモリーカードリーダー30にメモリーカードを装着し、図示しない印刷選択画面で印刷を行うJPEGデータを選択する。この印刷選択画面では、操作部28bの操作により、印刷画像にどのような補正処理を施すかについても設定することができるものとする。ユーザーは、操作部28bの各種キーを操作して印刷したい画像を選択し、図示しない印刷実行キーを押下する。すると、CPU22は、フラッシュメモリー23に記憶された印刷処理ルーチンを実行する。図3は、コントローラー21のCPU22により実行される印刷処理ルーチンの一例を示すフローチャートである。このルーチンでは、CPU22は、復号処理部31、画像生成部32、サンプリング処理部35、補正実行処理部36及び印刷処理部38を利用してJPEGデータの解凍処理及び印刷用画像の生成処理を行う。
【0026】
図3の印刷処理ルーチンが開始されると、CPU22は、まず、画像データに合わせた補正内容を取得する補正情報取得処理を実行し(ステップS100)、JPEGデータ(圧縮データ)を復号してDCT係数を得る係数復号処理を実行し(ステップS110)、復号した中間データ50(DCT係数データ)をSRAM22aに保存する(ステップS120)。補正情報取得処理では、CPU22は、JPEGデータのタグに格納された情報や、操作パネル28での入力内容から補正情報を取得する。ここでは、シーン補正の有無、画像シーンの種別(風景、夜景、人物など)、顔認識や赤目補正を補正処理に関連して実行するか否かの情報などを取得する。また、係数復号処理では、JPEGデータをエントロピー復号(ハフマン復号)し、グループ復号し、ランレングス復号する。これらの復号処理は、非常に処理時間のかかる高負荷処理である。そして、この結果、N×N(例えばN=8)の量子化前のDCT係数の周波数ブロックが得られる。この状態で、N×Nのブロックから所望の値だけを用いる、いわゆる間引処理が可能な状態になる。このような量子化前のDCT係数データを利用可能に中間データ50としてSRAM22aに保存する(図2参照)。
【0027】
次に、CPU22は、補正値の決定に関する間引解凍処理と赤目補正に関する処理とを並行して実行する(ステップS130〜S150,S160〜S180)。ここでは、1/1解凍処理としての赤目検出に関する画像生成処理を第1処理部33で行い、間引解凍に関する画像生成処理を第2処理部34で並行して行うものとする。まず、ステップS130の間引解凍処理について説明する。図4は、間引解凍処理ルーチンの一例を示すフローチャートである。この間引解凍処理は、印刷画像に対する補正内容の補正値を決定するサンプリング画像を生成する処理である。このルーチンを実行すると、CPU22は、要求サイズがJPEGデータを解凍したときの画像サイズの1/8を超えるか否かを判定し(ステップS400)、要求サイズが画像サイズ/8を超えないとき、即ち1/8間引を実行しても要求サイズよりも画像サイズが大きいときには、1/8解凍部34cにより1/8間引解凍処理を行い画像データを生成してこのルーチンを終了する。
【0028】
ここで、間引復号について説明する。図5は、間引解凍処理の概念図である。図5に示すように、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係数に対して、DCT係数の周波数ブロックに対してDCT係数の逆量子化を行い、逆離散コサイン変換(IDCT)を行い、最小符号化ユニット(MCU)処理及び色変換を行い画素データとするのである。なお、ステップS410では、間引率1/8で間引き復号する。この処理の中で、逆DCT演算が最も処理負担が大きく、処理に時間を要する。この逆DCT演算などは、特開2002−271794号公報などに詳しいのでその説明を省略する。また、MCU処理及び色変換は、例えば、処理で得られた画素値を補正するものとしてもよい。なお、DCT係数の逆量子化、逆離散コサイン変換は、必要に応じてY,Cb,Crの各プレーン毎に行うものとする。このように、処理負担の大きい逆DCT演算の回数を間引率に応じて低減することができ、処理負担及び処理時間の低減をより図ることができる。なお、各DCT係数を処理する際には、図5上段に示すように、ジグザグスキャンするものとしてもよい。こうすれば、より処理の高速化を図ることができる。
【0029】
一方、ステップS400で、要求サイズが画像サイズ/8を超えるとき、即ち1/8間引を実行すると要求サイズよりも画像サイズが小さくなるときには、CPU22は、要求サイズが画像サイズの1/4を超えるか否かを判定する(ステップS420)。要求サイズが画像サイズ/4を超えないとき、即ち1/4間引を実行しても要求サイズよりも画像サイズが大きいときには、図5に示したように、1/4解凍部34bにより1/4間引解凍処理を行い画像データを生成し(ステップS430)、このルーチンを終了する。一方、ステップS420で、要求サイズが画像サイズ/4を超えるとき、即ち1/4間引を実行すると要求サイズよりも画像サイズが小さくなるときには、CPU22は、要求サイズが画像サイズの1/2を超えるか否かを判定する(ステップS440)。要求サイズが画像サイズ/2を超えないとき、即ち1/2間引を実行しても要求サイズよりも画像サイズが大きいときには、図5に示したように、1/2解凍部34aにより1/2間引解凍処理を行い画像データを生成し(ステップS450)、このルーチンを終了する。一方、ステップS440で、要求サイズが画像サイズ/2を超えるとき、即ち1/2間引を実行すると要求サイズよりも画像サイズが小さくなるときには、CPU22は、間引処理を実行せずに第1処理部33により画像データを生成し(ステップS460)、このルーチンを終了する。このように、指定されている要求サイズよりも大きなサイズの画像となるように間引処理を行い、補正実行用のサンプリング画像を生成するのである。
【0030】
さて、図3の印刷処理ルーチンの説明に戻る。ステップS130で、間引解凍処理を実行すると、CPU22は、画像データを所定の顔認識用の画像サイズに縮小保存し(ステップS140)、上記生成したサンプリング画像を用い、サンプリング処理部35を利用して、Y,R,G,B,H,L,Sの各ヒストグラム計算を行い、各補正内容の補正値などを決定する(ステップS150)。ここでは、補正内容として、シャープネス処理、色補正処理、ノイズ除去処理のうち1以上が設定されている。
【0031】
一方、ステップS120で中間データ50(DCT係数データ)を保存したあと、CPU22は、赤目補正ありか否かを取得した補正情報に基づいて判定し(ステップS160)、赤目補正ありであるときには、第1処理部33により1/1解凍処理を行う(ステップS170)。1/1解凍処理では、処理を行うDCT係数の間引きを行わず、すべてのDCT係数に対して、DCT係数の周波数ブロックに対してDCT係数の逆量子化を行い、IDCTを行い、MCU処理及び色変換を行い画像データを生成する。赤目補正処理では、間引きを行わずに縮小しない画像を生成することにより、処理精度を確保するのである。ここでは、ステップS130の間引解凍処理とステップS170の1/1解凍処理とを、同じ中間データ50(DCT係数データ)を用いて並行して行うのである。ここでは、ハードウエア処理により1/1解凍処理を実行するから、処理負担の大きい1/1解凍処理を比較的高速に実行可能であり、間引解凍処理において1/1解凍処理を行わない場合には、1/1解凍処理と間引解凍処理とを並行して実行することができる。ステップS170のあと、CPU22は、周知の赤目検出処理を実行する(ステップS180)。ここでは、目の形状を判定したり、目の位置、口、鼻に該当する領域を画像の色の濃淡に基づいて判定し、目が赤色になっている領域を検出するものとした。ここでは、赤目領域が検出されると、その座標を保持するものとした。このように、画像データに施される補正内容を決定する際のサンプリングに利用されるサンプリング画像が複数のサイズであるときに、複数の画像データを生成するのである。
【0032】
ステップS150、S180、及びステップS160で赤目補正がないときなどの処理が全て終了すると、CPU22は、補正内容に顔認識があるか否かを判定し(ステップS190)、補正内容に顔認識があるときには、ステップS140で縮小保存した画像データを用い、周知の顔認識処理を実行する(ステップS200)。顔認識処理では、目の領域及びその近傍に口に該当する領域があるか否かなどに基づいて、顔が存在する領域を特定する処理を実行する。なお、赤目検出処理を行った場合は、その結果を利用してもよい。続いて、画像に顔領域があるか否かを判定し(ステップS210)、顔領域がないとき、又は、ステップS190で補正内容に顔認識がないときには、ぼけ度などを考慮し、画像全体の最適化を図るエンハンスパラメータ計算を実行し(ステップS220)、そのJPEGデータのエンハンスパラメータを決定する。一方、ステップS210で顔領域があるときには、ぼけ度などを考慮し、顔色の最適化を図るエンハンスパラメータ計算を実行し(ステップS230)、そのJPEGデータのエンハンスパラメータを決定する。
【0033】
ステップS220、S230のあと、CPU22は、印刷に用いる画像データ(印刷用画像データ)に対して、必要に応じて赤目補正処理を実行する(ステップS240)。ここで、印刷用画像データは、指定された印刷サイズよりも大きい、解凍後の画像データを用いるものとする。なお、間引処理した画像データしかなく、印刷サイズよりも大きい画像データがない場合は、ステップS170と同様の1/1解凍処理を実行して印刷用画像データを得るものとしてもよい。また、赤目補正処理では、ステップS180で検出した赤目領域を無彩色(例えば黒)へ変換する処理を実行する。なお、画像に赤目領域がない場合は、この赤目補正処理をスキップする。続いて、必要に応じてシャープネス処理を実行し(ステップS250)、必要に応じて色補正処理を実行し(ステップS260)、必要に応じてノイズ除去処理を実行する(ステップS270)。これらの補正処理は、ステップS220,S230で設定されたエンハンスパラメータを用い、補正実行処理部36が実行するものとする。
【0034】
次に、指定されている印刷サイズに基づいて印刷画像のリサイズ処理を実行し(ステップS280)、印刷画像を用いて印刷処理を実行する(ステップS290)。ここでは、印刷ヘッドを1往復動させる際に必要な印刷データを印刷用画像データから生成し、この印刷データを印刷機構26へ出力し、印刷機構26により印刷処理を実行するものとする。この印刷データは、例えば、印刷用画像データのY,Cb,Crの各値からC,M,Y,Kの各値へ、ルックアップテーブルなどを用いて変換し、ハーフトーン処理を行い、各色のインク吐出量に変換して生成するものとしてもよい。そして、印刷が終了したか否かを判定し(ステップS300)、印刷が終了していないときにはステップS100以降の処理を実行し、印刷が終了したときにはこのルーチンを終了する。このように、サンプリング画像を生成する際に、中間データ50を複数回に亘り利用し、係数復号処理の重複実行をより抑制し、効率よく画像解凍処理を行うのである。
【0035】
次に、印刷画像に複数のサイズの同一画像が含まれるレイアウト印刷を実行する場合について説明する。図6は、画像データ61をレイアウトしたレイアウト画像60の説明図である。また、図7は、レイアウト印刷処理ルーチンの一例を示すフローチャートである。ここでは、画像データ61を複数サイズ、複数個配列したレイアウト画像60を印刷する処理について説明する。以下説明するレイアウト印刷処理においても、図3の印刷処理ルーチンと同様に、印刷画像に対する補正処理を行うものとするが、説明の便宜のため、複数のサイズの画像を印刷する点について説明し、この補正処理については詳細な説明を省略する。まず、ユーザーは、操作部28bの各種キーを操作して印刷したい画像を選択すると共に、画像を配置するレイアウトを選択し、図示しない印刷実行キーを押下する。すると、CPU22は、フラッシュメモリー23に記憶されたレイアウト印刷処理ルーチンを実行する。このルーチンでは、CPU22は、復号処理部31、画像生成部32、サンプリング処理部35、補正実行処理部36及び印刷処理部38を利用してJPEGデータの解凍処理及び印刷用画像の生成処理を行う。
【0036】
このレイアウト印刷処理ルーチンを実行すると、まず、CPU22は、選択されたレイアウト情報を取得し(ステップS500)、ステップS110と同様の係数復号処理を実行し(ステップS510)、復号した中間データ50(DCT係数データ)をSRAM22aに保存する(ステップS520)。係数復号処理では、上述したように、JPEGデータをエントロピー復号(ハフマン復号)し、グループ復号し、ランレングス復号する。この結果、N×N(例えばN=8)の量子化前のDCT係数の周波数ブロックが得られる。
【0037】
次に、CPU22は、次に印刷を実行する印刷実行位置の情報を取得し(ステップS530)、1/1解凍処理と、それ以外の間引解凍処理とを並行して実行する(ステップS540〜S560,S570〜S650)。ここでは、1/1解凍処理の画像生成処理をハードウエア構成の第1処理部33で行い、間引解凍の画像生成処理をソフトウエア構成の第2処理部34で並行して行うものとする。また、ここでは、印刷ヘッドの往復動時にインクを吐出する印刷バンド62を1単位として印刷データを生成するものとして以下説明する。
【0038】
CPU22は、ステップS530のあと、まず、レイアウトの印刷実行位置に含まれる1以上の画像サイズに基づいて、1/1解凍要求があるか否かを判定する(ステップS540)。ここでは、指定されている要求サイズ以上の大きさの画像となる間引率が間引率1/1であるときに1/1解凍要求があると判定するものとした。1/1解凍要求があるときには、保存した中間データのうち、印刷バンド62に含まれる範囲のデータに対して1/1解凍処理を実行し(ステップS550)、リサイズ及びレイアウト処理を行う(ステップS560)。ここで、1/1解凍処理では、間引処理を行わずに画像データを生成するものとする。また、リサイズ処理は、レイアウト画像の1以上の該当範囲に合うような倍率で、解凍した画像のリサイズ処理(縮小処理)を実行する。また、レイアウト処理は、レイアウト画像の1以上の該当位置に、リサイズした画像を配置する処理を行う。このように、ハードウエア処理により1/1解凍処理を実行するから、処理負担の大きい1/1解凍処理を比較的高速に実行可能であり、1/1解凍処理と間引解凍処理とを並行して実行することができる。
【0039】
一方、ステップS530のあと、レイアウトの印刷実行位置に含まれる1以上の画像サイズに基づいて、1/2解凍要求があるか否かを判定する(ステップS570)。ここでは、最大の間引処理を行ったときに、指定されている要求サイズ以上の大きさの画像となる間引率が間引率1/2であるときに1/2解凍要求があると判定するものとした。1/2解凍要求があるときには、保存した中間データのうち、印刷バンド62に含まれる範囲のデータに対して1/2解凍処理を実行し(ステップS580)、リサイズ及びレイアウト処理を行う(ステップS590)。ここで、リサイズ処理及びレイアウト処理は、以下の説明においても、上記ステップS560と同様の処理を行うものとし、その説明を省略する。一方、ステップS590のあと、またはステップS570で1/2解凍要求がないときには、上記と同様の手法により、1/4解凍要求があるか否かを判定し(ステップS600)、1/4解凍要求があるときには、保存した中間データのうち、印刷バンド62に含まれる範囲のデータに対して1/4解凍処理を実行し(ステップS610)、リサイズ及びレイアウト処理を行う(ステップS620)。一方、ステップS620のあと、またはステップS600で1/4解凍要求がないときには、上記と同様の手法により、1/8解凍要求があるか否かを判定し(ステップS630)、1/8解凍要求があるときには、保存した中間データのうち、印刷バンド62に含まれる範囲のデータに対して1/8解凍処理を実行し(ステップS640)、リサイズ及びレイアウト処理を行う(ステップS650)。なお、1/2解凍処理、1/4解凍処理及び1/8解凍処理では、上記ステップS130と同様の処理を行うものとし、その説明を省略する(図5参照)。また、このリサイズ及びレイアウト処理において、上記補正処理を実行してもよい。
【0040】
さて、ステップS560のあと、ステップS540で1/1解凍要求がないとき、ステップS650のあと、またはステップS630で1/8解凍要求がないときなどの処理が全て終了すると、CPU22は、印刷データを生成し、生成した印刷データを印刷機構26へ出力する処理を実行する(ステップS660)。印刷データ(CMYKデータ)の生成では、リサイズ、レイアウト処理を施して生成した印刷バンド62の画像データ(YCCデータ)のY,Cb,Crの各値からC,M,Y,Kの各値へ、ルックアップテーブルなどを用いて変換し、ハーフトーン処理を行い、各色のインク吐出量に変換するものとしてもよい。続いて、CPU22は、印刷が終了したか否かを判定し(ステップS670)、印刷が終了していないときにはステップS530以降の処理を実行し、印刷が終了したときにはこのルーチンを終了する。このように、複数サイズの印刷画像を生成する際に、中間データ50を複数回に亘り利用し、係数復号処理の重複実行をより抑制し、効率よく画像解凍処理を行うのである。
【0041】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の復号処理部31が本発明の復号処理手段に相当し、SRAM22aが記憶手段に相当し、画像生成部32が画像生成手段に相当し、圧縮データがJPEGデータに相当し、中間データが中間データ50に相当し、第1処理部33が第1処理部に相当し、第2処理部34が第2処理部に相当する。なお、本実施形態では、プリンター20の動作を説明することにより本発明の画像処理方法の一例も明らかにしている。
【0042】
以上詳述した本実施形態のプリンター20によれば、DCT演算を伴う圧縮方式のJPEGデータ(圧縮データ)に対してエントロピー復号及びランレングス復号処理を実行した中間データ50を生成し、生成した中間データ50をSRAM22aに記憶し、この記憶した中間データ50を用いて第1の間引率(例えば1/2)で第1画像データ24aを生成する一方、記憶された中間データ50を用いて第2の間引率(例えば1/8)で第2画像データ24bを生成する。このように、中間データ50を記憶して複数の画像データの生成に利用するから、非常に負荷の高いエントロピー復号(ハフマン復号)からランレングス復号(DC・AC係数の復号)までの復号処理の重複実行をより抑制可能であるため、圧縮データの解凍処理の負担及び処理時間をより低減することができる。また、ハードウエア処理による第1処理部33及びソフトウエア処理による第2処理部34により、第1画像データの生成と第2画像データの生成とを並行して行うため、圧縮データの解凍処理の負担及び処理時間を更に低減することができる。また、ハードウエア処理とソフトウエア処理に分担させることによって、より効率よく圧縮データの解凍処理の負担及び処理時間を低減することができる。更に、印刷画像に複数のサイズの同一画像が含まれるときに、間引率の異なる第1画像データと第2画像データとを印刷画像として生成するため、複数サイズの画像を印刷するときに、圧縮データの解凍処理の負担及び処理時間を低減することができる。更にまた、サンプリング画像が複数のサイズであるときに、間引率の異なる第1画像データと第2画像データとを生成するため、サンプリング画像の生成時に、圧縮データの解凍処理の負担及び処理時間を低減することができる。そして、指定されているサイズ(印刷又はサンプリングの要求サイズ)以上の大きさの画像となる第1及び第2の間引率で第1及び第2画像データを生成するため、画質の低下を抑制しつつ、圧縮データの解凍処理の負担及び処理時間をより低減することができる。
【0043】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0044】
例えば、上述した実施形態では、第1の間引率で処理した第1画像データと第1の間引率と異なる第2の間引率で第2画像データを生成する処理を並行して行うものとしたが、中間データを共用して複数の画像データを生成するものとすれば、特にこれに限定されず、並行して行わずに別々に画像データを生成するものとしてもよい。こうしても、復号処理の重複実行をより抑制可能であるため、圧縮データの解凍処理の負担及び処理時間をより低減することができる。
【0045】
上述した実施形態では、画像生成部32は、ハードウエア処理を実行する第1処理部33と、ソフトウエア処理を実行する第2処理部34とを備えるものとしたが、特にこれに限定されない。例えば、第2処理部34をハードウエア処理を実行する回路構成としてもよいし、第1処理部33をソフトウエア処理を実行する構成としてもよい。また、2以上の処理部を設けるものとしてもよい。また、上述した実施形態では、第2処理部34は、ソフトウエア処理を実行する1/2解凍部34a、1/4解凍部34b、1/8解凍部34cを備えるものとしたが、これらのうち1以上を適宜、ハードウエア処理を行う構成にしてもよい。
【0046】
上述した実施形態では、印刷画像に複数のサイズの同一画像が含まれるときに、間引率の異なる第1画像データと第2画像データとを印刷画像として生成するものとしたが、間引率の異なる第1画像データと第2画像データとを生成するものとすれば、特にこれに限定されない。また、サンプリング画像が複数のサイズであるときに、間引率の異なる第1画像データと第2画像データとを生成するものとしたが、間引率の異なる第1画像データと第2画像データとを生成するものとすれば、特にこれに限定されない。
【0047】
上述した実施形態では、指定されているサイズ以上の大きさの画像となる第1の間引率及び第2の間引率で第1画像データ及び第2画像データをそれぞれ生成するものとしたが、特にこれに限定されず、指定されているサイズに関係ない間引率により画像データを生成するものとしてもよい。こうしても、復号処理の重複実行をより抑制可能であるため、圧縮データの解凍処理の負担及び処理時間をより低減することができる。
【0048】
上述した実施形態では、中間データ50を量子化前のDCT係数としたが、特にこれに限定されず、量子化後の量子化データとしてもよい。また、上述した実施形態では、間引率を1/2n(nは0以上の整数)として説明したが、特にこれに限定されず、1/X(Xは1以上の整数)としてもよい。
【0049】
上述した実施形態では、印刷バンド単位で印刷データを生成するものとしたが、特にこれに限定されず、複数の印刷バンド単位で印刷データを生成するものとしてもよいし、印刷画像単位で印刷データを生成するものとしてもよい。
【0050】
上述した実施形態では、第1処理部33は、1/1解凍処理を行うハードウエアとして説明したが、例えば、第1処理部にセレクタースイッチなどを設け、複数の間引率での間引解凍処理を実行可能に構成し、第2処理部に対して間引きを行わない解凍処理を実行するものとし、第1処理部と第2処理部とにより並行処理により複数の画像データを生成するものとしてもよい。こうすれば、並行処理をより確実に実行することができる。
【0051】
上述した実施形態では、メモリーカードリーダー30に装着されたメモリーカードに記憶された圧縮データを解凍して印刷するものとしたが、DCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成するものとすれば特にこれに限定されず、例えば、読取機構25で読み取った圧縮データを解凍する際や、PC40から送信された圧縮データを解凍する際としてもよい。
【0052】
上述した実施形態では、圧縮データをJPEGデータとして説明したが、DCT演算を伴う圧縮方式の圧縮データであれば特にこれに限定されず、例えば、MPEGデータとしてもよい。
【0053】
上述した実施形態では、印刷、スキャン及びコピーを実行可能なマルチファンクションプリンターを本発明の画像処理装置として説明したが、プリンター単体やスキャナー単体、FAXなどとしてもよい。あるいは、DCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する装置であれば特に限定されず、例えば、パソコンやノートパソコンなどの情報処理機器、デジタルスチルカメラやデジタルビデオカメラなどの撮影機器、デジタルテレビやHDDレコーダーなどの映像機器、携帯用及び家庭用のゲーム機器、携帯電話などの通信機器などとしてもよい。また、読取機構25は、原稿を固定し読取センサーを移動して画像を読み取るフラットベッド式としたが、読取センサーを固定し原稿を移動して読み取る方式を採用してもよい。また、印刷機構26は、インクジェット方式としたが、電子写真方式や、熱転写方式、ドットインパクト方式としてもよい。また、プリンター20の態様で本発明を説明したが、画像処理方法の態様としてもよいし、この方法のプログラムの態様としてもよい。
【符号の説明】
【0054】
10 プリンターシステム、20 プリンター、21 コントローラー、22 CPU、22a SRAM、23 フラッシュメモリー、24 RAM、24a 第1画像データ、24b 第2画像データ、25 読取機構、26 印刷機構、27 インターフェイス(I/F)、28 操作パネル、28a 表示部、28b 操作部、29 バス、30 メモリーカードリーダー、31 復号処理部、32 画像生成部、33 第1処理部、34 第2処理部、34a 1/2解凍部、34b 1/4解凍部、34c 1/8解凍部、35 サンプリング処理部、36 補正実行処理部、38 印刷処理部、40 パソコン(PC)、47 入力装置、48 ディスプレイ、50 中間データ、60 レイアウト画像、61 画像データ、62 印刷バンド。

【特許請求の範囲】
【請求項1】
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理装置であって、
前記圧縮データに対してエントロピー復号及びランレングス復号処理を実行した中間データを生成する復号処理手段と、
前記生成した中間データを記憶する記憶手段と、
前記記憶した中間データを用いて第1の間引率で第1画像データを生成する一方、前記記憶された中間データを用いて前記第1の間引率と異なる第2の間引率で第2画像データを生成する画像生成手段と、
を備えた画像処理装置。
【請求項2】
前記画像生成手段は、前記第1画像データの生成と前記第2画像データの生成とを並行して行う、請求項1に記載の画像処理装置。
【請求項3】
前記画像生成手段は、ハードウエア処理により中間データから画像データを生成する第1処理部と、ソフトウエア処理により中間データから画像データを生成する第2処理部とを有し、前記第1処理部は、前記第2の間引率より間引きを行わない前記第1の間引率の第1画像データを生成する、請求項2に記載の画像処理装置。
【請求項4】
前記画像生成手段は、印刷画像を生成し、印刷画像に複数のサイズの同一画像が含まれるときに、前記第1画像データと前記第2画像データとを前記印刷画像として生成する、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記画像生成手段は、前記画像データに施される補正内容を決定する際のサンプリングに利用されるサンプリング画像が複数のサイズであるときに、前記第1画像データと前記第2画像データとを生成する、請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
前記画像生成手段は、指定されているサイズ以上の大きさの画像となる前記第1及び第2の間引率で第1及び第2画像データを生成する、請求項1〜5のいずれか1項に記載の画像処理装置。
【請求項7】
前記圧縮データは、JPEGデータ、MPEGデータのうちいずれか1以上である、請求項1〜6のいずれか1項に記載の画像処理装置。
【請求項8】
複数のプレーンを有しDCT演算を伴う圧縮方式の圧縮データを解凍して画像データを生成する画像処理方法であって、
(a)前記圧縮データに対してエントロピー復号及びランレングス復号処理を実行した中間データを生成するステップと、
(b)前記生成した中間データを記憶するステップと、
(c)前記記憶された中間データを用いて第1の間引率で第1画像データを生成する一方、前記記憶された中間データを用いて第1の間引率と異なる第2の間引率で第2画像データを生成するステップと、
を含む画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


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