(57)【特許請求の範囲】
【請求項１】
入力画像データに対して画像処理を施して出力する画像処理方法において、
前記入力画像データを前記画像処理の特性に応じた容量の小容量画像データに順次分割し、
該小容量画像データに対して順次前記画像処理を施して処理済み小容量画像データを順次取得し、
該処理済み小容量画像データを出力先に順次出力するに際し、
前記入力画像データの入力先の特性および前記出力先の出力特性に基づいて、前記出力先に基づく画像処理が有効であるか否かを判断し、
前記出力先に基づく画像処理が有効な場合は、前記画像処理に代えて該出力先に基づく画像処理を行うことを特徴とする画像処理方法。
【請求項２】
前記入力画像データのアクセス特性にも応じて該入力画像データを前記小容量画像データに分割することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記入力画像データをキャッシュし、
該キャッシュされた入力画像データを前記小容量画像データに分割することを特徴とする請求項１または２記載の画像処理方法。
【請求項４】
前記処理済み小容量画像データを順次キャッシュし、
該キャッシュされた処理済み小容量画像データから、前記出力先の特性に応じた出力データを出力することを特徴とする請求項１から３のいずれか１項記載の画像処理方法。
【請求項５】
前記画像処理は、前記入力画像データの特性および／または前記出力先の特性に応じた画像処理であることを特徴とする請求項１から４のいずれか１項記載の画像処理方法。
【請求項６】
入力画像データに対して画像処理を施して出力する画像処理装置において、
前記入力画像データを前記画像処理の特性に応じた容量の小容量画像データに順次分割する入力手段と、
該小容量画像データに対して順次前記画像処理を施して処理済み小容量画像データを順次取得する処理手段と、
該処理済み小容量画像データを出力先に順次出力する出力手段と、
前記入力画像データの入力先の特性および前記出力先の出力特性に基づいて、前記出力先に基づく画像処理が有効であるか否かを判断し、前記出力先に基づく画像処理が有効な場合は、前記画像処理に代えて該出力先に基づく画像処理を行うよう前記処理手段を制御する制御手段とを備えたことを特徴とする画像処理装置。
【請求項７】
前記入力手段は、前記入力画像データのアクセス特性にも応じて前記入力画像データを前記小容量画像データに分割する手段であることを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記入力画像データをキャッシュする入力キャッシュ手段をさらに備え、
前記入力手段は、該キャッシュされた入力画像データを前記小容量画像データに分割する手段であることを特徴とする請求項６または７記載の画像処理装置。
【請求項９】
前記処理済み小容量画像データを順次キャッシュする出力キャッシュ手段をさらに備え、
前記出力手段は、該キャッシュされた処理済み小容量画像データから、前記出力先の特性に応じた出力データを出力する手段であることを特徴とする請求項６から８のいずれか１項記載の画像処理装置。
【請求項１０】
前記処理手段は、前記入力画像データの特性および／または前記出力先の特性に応じた画像処理を行う手段であることを特徴とする請求項６から９のいずれか１項記載の画像処理装置。
【請求項１１】
入力画像データに対して画像処理を施して出力する画像処理方法をコンピュータに実行させるためのプログラムにおいて、
前記入力画像データを前記画像処理の特性に応じた容量の小容量画像データに順次分割する手順と、
該小容量画像データに対して順次前記画像処理を施して処理済み小容量画像データを順次取得する手順と、
該処理済み小容量画像データを出力先に順次出力する手順と、
前記入力画像データの入力先の特性および前記出力先の出力特性に基づいて、前記出力先に基づく画像処理が有効であるか否かを判断する手順と、
前記出力先に基づく画像処理が有効な場合は、前記画像処理に代えて該出力先に基づく画像処理を行う手順とをコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
前記入力画像データを前記小容量画像データに分割する手順は、前記入力画像データのアクセス特性にも応じて前記入力画像データを前記小容量画像データに分割する手順であることを特徴とする請求項１１記載のプログラム。
【請求項１３】
前記入力画像データをキャッシュする手順をさらに有し、
前記入力画像データを前記小容量画像データに分割する手順は、該キャッシュされた入力画像データを前記小容量画像データに分割する手順であることを特徴とする請求項１１または１２記載のプログラム。
【請求項１４】
前記処理済み小容量画像データを順次キャッシュする手順をさらに有し、
前記処理済み小容量画像データを出力する手順は、該キャッシュされた処理済み小容量画像データから、前記出力先の特性に応じた出力データを出力する手順であることを特徴とする請求項１１から１３のいずれか１項記載のプログラム。
【請求項１５】
前記処理済み小容量画像データを得る手順は、前記入力画像データの特性および／または前記出力先の特性に応じた画像処理を行う手順であることを特徴とする請求項１１から１４のいずれか１項記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データに対して拡大縮小処理、色変換処理、シャープネス強調処理、階調処理等の画像処理を施して処理済み画像データを得る画像処理方法および装置並びに画像処理方法をコンピュータに実行させるためのプログラムに関するものである。
【０００２】
【従来の技術】
デジタルカメラ等の撮像デバイスにより取得された画像データや、写真フイルムに記録された画像をスキャナにより読取ることにより得られた画像データを、プリンタやモニタのような出力デバイスを用いて再生するシステムが知られている。このようなシステムにおいては、再生される画像の画質を向上させるために、画像データに対して、拡大縮小処理、シャープネス強調処理、階調補正処理、回転等様々な画像処理が施される。
【０００３】
図８は従来の画像処理の概略を示す概略ブロック図である。なお、図８に示す画像処理は、画像データＳ１００により表される画像の解像度を３００ｄｐｉから６００ｄｐｉに変換する解像度変換処理とし、解像度変換された処理済み画像データＳ１１０をプリント出力するものとする。また、画像処理は、パーソナルコンピュータ（パソコンとする）において行われるものとする。
【０００４】
画像処理が施される画像データＳ１００は、多様な入力装置において得られることから、ＪＰＥＧ形式、ビットマップ形式、ウィンドウズのようなＯＳが標準で扱う画像形式であるＤＩＢ形式、あるいは画像処理を行うための標準ファイル形式であるＲＡＷ形式等様々なファイル形式のものが存在する。ここで、ＤＩＢ形式は画像データの左下隅を読み出しの起点とし、ＲＡＷ形式は画像データの左上隅を画像データの読み出しの起点とするものである。画像処理を行う際にはこのような種々のファイル形式の画像データＳ１００がパソコンに入力される。なお、ここでは画像データＳ１００はＡ４サイズの画像を３００ｄｐｉの解像度で再現可能なものとし、データ容量を２５ＭＢとする。まず、画像入力処理において画像データＳ１００の入力を受け付け、入力された画像データＳ１００をＤＩＢ形式の画像データＳ１０１に変換する画像入力処理を行う。なお、入力される画像データがＤＩＢ形式であればこの変換は必要ない。これにより、ＤＩＢ形式の画像データＳ１０１がメモリ上に展開される。なお、図８においてはメモリに展開された画像データを破線で示す。
【０００５】
次いで、ＤＩＢ形式の画像データＳ１０１を画像処理の標準ファイル形式であるＲＡＷ形式の画像データＳ１０２に変換するためのＤＩＢ−ＲＡＷ変換を行い、ＲＡＷ形式の画像データＳ１０２を得る。そして、このＲＡＷ形式の画像データＳ１０２に対して解像度変換処理を施して処理済みの画像データＳ１０３を得る。なお、処理済みの画像データＳ１０３は、画像データＳ１００の４倍の１００ＭＢの容量を有するものとなる。そして、この処理済みの画像データＳ１０３を画像出力処理が扱うファイル形式であるＤＩＢ形式に変換するためのＲＡＷ−ＤＩＢ変換を行い、ＤＩＢ形式の画像データＳ１０４を得る。
【０００６】
次いで、画像データＳ１０４をプリンタに適したファイル形式に変換する画像出力処理が行われる。ここで、プリンタは多様な機種（図８においてはプリンタＡ〜Ｃ）が使用されることから、画像出力処理は、ＯＳに標準のＡＰＩ（Application Program Interface）およびプリンタＡ〜Ｃのドライバにより、プリンタＡ〜Ｃの特性に応じて行われる。
【０００７】
なお、パソコンによる解像度変換処理ではなく、プリンタにおいて解像度変換処理を行う場合があるが、この場合もプリンタにおいて上記ＤＩＢ−ＲＡＷ変換、拡大縮小処理およびＲＡＷ−ＤＩＢ変換が行われて処理済み画像データＳ１１０が得られる。
【０００８】
【発明が解決しようとする課題】
上述した解像度変換処理等の画像処理は、高画質の画像を得るためには非常に多くの演算を実行する必要があることから、処理に長時間を要する。とくに一般ユーザ向けのパソコンでは、メモリ容量に限界があることから、高画質の処理済み画像を得るための画像処理を行うと、演算に非常に長い時間を要することとなる。
【０００９】
また、プリンタ等の出力デバイスのドライバを用いて画像処理を行う場合、出力デバイス毎に異なるドライバを使用するが、得られる画質がドライバ毎に異なることから、出力デバイスに拘わらす一定の画質を有する処理済み画像を得ることは困難であった。また、高解像の画像を再生可能な大容量の画像データについては、出力デバイスに一括して出力することができないことから、分割して出力する必要がある。しかしながら、画像データを分割するためには、大量のテンポラリーファイルをパソコンのハードディスク上に大量に生成させる必要があるため、パソコンのパーフォーマンスが大幅に低下し、処理に長時間を要するものとなる。
【００１０】
さらに、画像処理を施す画像データは、その画像データが生成されるデバイスに応じて多種多様な形式のものが存在するため、画像処理を施すには、入力された画像データを画像処理に標準のＲＡＷ形式の画像データに変換する必要がある。しかしながら、このような変換を行うためには、画像データをメモリに一時的に記憶する必要があるため、画像データの容量が大きいと多量のメモリを消費し、変換処理に長時間を要するものとなってしまう。とくに、一般ユーザのパソコンはメモリ容量がそれほど多くないため、画像処理を行う場合にテンポラリーファイルが大量に生成され、さらに処理速度が低下するという問題がある。
【００１１】
一方、簡易な演算による画像処理を行えば処理速度を向上させることも可能であるが、その場合は高度な演算による画像処理を行う場合と比較して、処理済み画像の画質が劣化してしまうという問題がある。
【００１２】
本発明は上記事情に鑑みなされたものであり、多様な画像データに対して高画質な処理済み画像を得る画像処理を高速に施すことができる画像処理方法および装置並びに画像処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体を提供することを目的とするものである。
【００１３】
【課題を解決するための手段】
本発明による画像処理方法は、入力画像データに対して画像処理を施して出力する画像処理方法において、
前記入力画像データを前記画像処理の特性に応じた容量の小容量画像データに順次分割し、
該小容量画像データに対して順次前記画像処理を施して処理済み小容量画像データを順次取得し、
該処理済み小容量画像データを出力先に順次出力することを特徴とするものである。
【００１４】
「入力画像データ」は、メモリカードやＦＤ、ＣＤ−ＲＯＭ等の記録媒体に記録されたもの、スキャナやデジタルカメラ等の入力デバイスから直接入力されるもの、本発明を実施するための装置とネットワーク接続された外部装置から入力されるもの等、どのようなものをも用いることができる。なお、入力デバイスや外部装置からの画像データに対して画像処理を施す場合には、画像データはこれらから直接入力されるものであってもよく、入力デバイスあるいは外部装置のドライバを制御することにより入力されるものであってもよい。
【００１５】
「画像処理の特性に応じた容量」とは、入力画像データにより表される画像のある１画素に対して処理を施すために必要な容量のことをいう。例えば、画像処理が解像度変換処理であり、解像度変換後の１画素の画素値を求めるために入力画像データの４ライン分のデータが必要な場合には、「画像処理の特性に応じた容量」としては入力画像データの４ライン分のデータ容量となる。なお、小容量データの容量は、本発明を実施する装置（具体的にはパソコン）の処理能力により異なるものである。また、本発明においては、複数種類の画像処理を行うようにしてもよく、この場合、パイプライン的に、複数の画像処理を連続して行うようにすればよい。
【００１６】
「順次分割する」とは、入力画像データの全体に対して画像処理が施されるように、入力画像データにより表される入力画像を複数の小領域に分割し、それぞれの小領域の画像を表す画像データを小容量画像データとして取得することを意味する。
【００１７】
「順次画像処理を施す」とは、入力画像データを順次分割することにより取得された小容量画像データに対して、取得された順に画像処理を施すことを意味する。
【００１８】
処理済み小容量画像データの出力先としては、メモリカードやＦＤ、ＣＤ−Ｒ等の記録媒体、プリンタ、ディスプレイ、ネットワーク接続された外部装置等いかなるものをも適用することができる。
【００１９】
なお、本発明による画像処理方法においては、前記入力画像データのアクセス特性にも応じて前記入力画像データを前記小容量画像データに分割することが好ましい。
【００２０】
ここで、入力画像データは、そのファイル形式に応じて、データ単位（すなわちライン単位で画像データが形成されているか、ブロック単位で画像データが形成されているか）、圧縮／非圧縮、データの読み出しの起点（ＤＩＢ形式のような左下隅か、ＲＡＷ形式のように左上隅か）等が異なる。「入力画像データのアクセス特性」とは、入力画像データのファイル形式に応じたデータ単位、圧縮の有無、データの読み出しの起点等を表すものである。
【００２１】
「入力画像データのアクセス特性にも応じて入力画像データを小容量画像データに分割する」とは、入力画像データを入力画像データのアクセス特性および画像処理の特性に応じた容量の小容量画像データに分割することを意味する。例えば、入力画像データの読み出しの起点が左上隅である場合には、左上隅からデータから順に画像処理の特性に応じた容量の小容量画像データを取得すればよい。また、入力画像データのアクセス特性がライン単位であり、画像処理の特性が８×８画素で画像処理を行うというものである場合、８ラインが小容量画像データの容量となる。さらに、入力画像データのアクセス特性が８×８画素のブロック単位であり、画像処理の特性が４ラインを用いて画像処理を行うというものである場合、８ラインが小容量画像データの容量となる。なお、装置の処理能力に余裕がある場合には、小容量画像データの容量をこれよりも大きくすることができる。
【００２２】
また、本発明による画像処理方法においては、前記入力画像データをキャッシュし、
該キャッシュされた入力画像データを前記小容量画像データに分割することが好ましい。
【００２３】
さらに、本発明による画像処理方法においては、前記処理済み小容量画像データを順次キャッシュし、
該キャッシュされた処理済み小容量画像データから、前記出力先の特性に応じた出力データを出力することが好ましい。
【００２４】
「出力先の特性」とは、出力先において一度に処理可能なデータ容量、出力先が扱う画像データの形式（ＤＩＢ形式、ＲＡＷ形式等）、１画素当たりのチャンネル数（ＲＧＢ３チャンネルか、ＲＧＢ＋透明度を表すチャンネルαの４チャンネルか等）、画像データの形式に応じた余白の有無（画素数が必ず４の倍数となるファイル形式の画像データにおいては画像部分のみで４の倍数とならない場合には、余白を設けて全画素数が４の倍数となるようにしている）等を表すものである。
【００２５】
また、本発明による画像処理方法においては、前記画像処理は、前記入力画像データの特性および／または前記出力先の特性に応じた画像処理であることが好ましい。
【００２６】
「入力画像データの特性」とは、画像データの形式（ＤＩＢ形式、ＲＡＷ形式等）、１画素当たりのチャンネル数、画像データの形式に応じた余白の有無等を表すものである。
【００２７】
「入力画像データの特性に応じて画像処理を施す」とは、入力画像データがどのような特性であっても、その特性に拘わらず一律の画像処理を施すことを意味する。例えば、画像データの形式によっては、画像の読み出しの起点が左上隅あるいは左下隅のように異なるため、この場合は、小容量画像データの読み出しの起点から順に画像処理が施される。また、１画素当たりのチャンネル数によっては、各画素についてのデータの取得の順序が異なるものとなる。例えば、ＲＧＢ３チャンネルの場合には、各画素においては、Ｒ，Ｇ，Ｂ，Ｒ，Ｇ，Ｂ…の順序でデータが取得されるが、ＲＧＢα４チャンネルの場合には、Ｒ，Ｇ，Ｂ，α，Ｒ，Ｇ，Ｂ，α…の順序でデータが取得される。ここで、画像処理に用いられるのは、Ｒ，Ｇ，Ｂのチャンネルのみであるため、αチャンネルについては画像処理を施す必要はない。したがって、入力画像データがＲＧＢαの４チャンネルの画像データの場合には、αチャンネルをスキップさせるように画像処理が施される。さらに、画像中に余白が存在する場合、その余白については画像処理を行わないため、余白の部分をスキップして画像処理が行われる。
【００２８】
「出力先の特性に応じて画像処理を施す」とは、出力先が処理可能な処理済み小容量画像データが得られるように画像処理を施すことを意味する。例えば、出力先によっては、出力の基準位置が画像の左上隅あるいは左下隅のように異なるため、この場合は、基準位置を開始位置として画像処理が行われる。また、出力先に応じて１画素当たりのチャンネル数が異なる場合がある。例えば、画像処理においてはＲＧＢ３チャンネルを用いて処理が行われるが、出力先においてはＲＧＢα４チャンネルの情報が必要な場合がある。したがって、この場合には、αチャンネルの情報を加える処理が行われる。さらに、出力先が扱うデータの形式が例えば４の倍数の画素数である必要がある場合、出力される処理済み画像データの画素数を４の倍数とする必要がある。したがって、この場合には処理済み画像データにより表される画像の縁部に余白を加える処理が行われて画素数が４の倍数とされる。
【００２９】
さらに、本発明による画像処理方法においては、前記入力画像データの入力先の特性および前記出力先の出力特性に基づいて、前記出力先に基づく画像処理が有効であるか否かを判断し、
前記出力先に基づく画像処理が有効な場合は、前記画像処理に代えて該出力先に基づく画像処理を行うことが好ましい。
【００３０】
「入力画像データの入力先の特性」とは、入力画像データが生成されたデバイスのメーカー、機種、解像度、有効画素数、色空間等を意味する。
【００３１】
「出力先の出力特性」とは、処理済み画像データを出力するデバイスのメーカー、機種、解像度、有効画素数、色空間、画像処理能力、画像処理特性等を意味する。
【００３２】
「出力先に基づく画像処理」とは、プリンタ等の出力先のデバイスのドライバが実行する画像処理を意味する。ここで、入力画像データを生成したデバイスの特性と出力先の出力特性とが一致する場合には、出力先に基づく画像処理を行った方が高画質の画像を得られる場合が多い。したがって、「出力先に基づく画像処理が有効である」とは、出力先に基づく画像処理を行うことにより、一層高画質の画像を再生可能な小容量処理済み画像データが得られることを意味する。そして、これにより、より高画質の画像を再現可能な処理済み画像データを得ることができる。
【００３３】
本発明による画像処理装置は、入力画像データに対して画像処理を施して出力する画像処理装置において、
前記入力画像データを前記画像処理の特性に応じた容量の小容量画像データに順次分割する入力手段と、
該小容量画像データに対して順次前記画像処理を施して処理済み小容量画像データを順次取得する処理手段と、
該処理済み小容量画像データを出力先に順次出力する出力手段とを備えたことを特徴とするものである。
【００３４】
なお、本発明による画像処理装置においては、前記入力手段は、前記入力画像データのアクセス特性にも応じて該入力画像データを前記小容量画像データに分割する手段であることが好ましい。
【００３５】
また、本発明による画像処理装置においては、前記入力画像データをキャッシュする入力キャッシュ手段をさらに備えるものとし、
前記入力手段は、該キャッシュされた入力画像データを前記小容量画像データに分割する手段であることが好ましい。
【００３６】
さらに、本発明による画像処理装置においては、前記処理済み小容量画像データを順次キャッシュする出力キャッシュ手段をさらに備えるものとし、
前記出力手段は、該キャッシュされた処理済み小容量画像データから、前記出力先の特性に応じた出力データを出力する手段とすることが好ましい。
【００３７】
また、本発明による画像処理装置においては、前記処理手段は、前記入力画像データの特性および／または前記出力先の特性に応じた画像処理を行う手段であることが好ましい。
【００３８】
さらに、本発明による画像処理装置においては、前記入力画像データの入力先の特性および前記出力先の出力特性に基づいて、前記出力先に基づく画像処理が有効であるか否かを判断し、
前記出力先に基づく画像処理が有効な場合は、前記画像処理に代えて該出力先に基づく画像処理を行うよう前記処理手段を制御する制御手段をさらに備えることが好ましい。
【００３９】
なお、本発明による画像処理方法をコンピュータに実行させるためのプログラムとして、コンピュータ読取り可能な記録媒体に記録して提供してもよい。
【００４０】
【発明の効果】
本発明によれば、画像処理の特性に応じた容量の小容量画像データに入力画像データを順次分割し、小容量画像データに対して順次画像処理を施して処理済み小容量画像データを得、これを出力するようにしたものである。このため、本発明を実施するための装置（例えばパソコン）のメモリ容量が少なくても、従来のように画像の全体に対して一度に画像処理を施す場合と比較して、高画質の処理済み画像を得ることが可能な画像処理を高速に行うことができる。また、小容量画像データを順次取得して画像処理を施して出力しているため、大量なテンポラリーファイルの発生を防止でき、本発明を実施する装置のパフォーマンスの低下を防止することができる。さらに、従来は画像処理を行うための標準形式の画像データへの変換が必要な場合には、変換時に多量のメモリを消費し、さらに変換のための処理時間を必要としていたが、本発明によれば、小容量画像データに対して画像処理を行っているため、画像データを変換する必要がある場合にも多量のメモリを必要としない。また、小容量画像データに分割すれば、画像データを変換する必要がある場合にも、画像データの変換と画像処理とを並列させて実行することができるため、画像データの全体を変換した後に画像処理を行う場合と比較して、処理時間を短縮することができる。
【００４１】
【発明の実施の形態】
以下図面を参照して本発明の実施形態について説明する。
【００４２】
図１は本発明の第１の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図である。図１に示すように、第１の実施形態による画像出力システムは、メモリカード、ＦＤ、ＣＤ−Ｒ等のメディア１に記録された画像データＳ０に対して画像処理を施すためのものであり、画像データＳ０に画像処理を施して処理済み画像データＳ１を得る画像処理装置としてのパソコン２と、処理済み画像データＳ１をプリント出力するプリンタ３とを備える。
【００４３】
パソコン２は、ＣＰＵ、ハードディスク、メモリ、キーボードやマウス等の入力手段、メディアから画像データＳ０を読み出す読出装置、およびプリンタとのインターフェースを備え、画像処理を実行するためのアプリケーションソフトおよびプリンタドライバがインストールされてなるものである。なお、画像処理を実行するためのアプリケーションソフトは、画像入力処理を行うアプリケーション、画像処理を行うアプリケーション、画像出力処理を行うアプリケーションおよびこれらのアプリケーションを動作させるための上位アプリケーションとからなる。また、パソコン２には３台のプリンタ３Ａ〜３Ｃが接続されているものとし、これらに対応してプリンタドライバＡ〜Ｃがインストールされているものとする。
【００４４】
また、第１の実施形態においては、画像処理として拡大縮小処理を行うものとする。この拡大縮小処理は、画像データＳ０により表される画像上にＸＹ座標を設定し、まずＸ方向についての拡大縮小処理を行い、続いてＹ方向についての拡大縮小処理を行うものとする。なお、Ｘ方向についての拡大縮小処理は例えばｍ１ライン分同時に行われ、Ｙ方向についての拡大縮小処理はｍ２ライン分のデータを用いて行われるものとする。
【００４５】
次いで、第１の実施形態の動作について説明する。図２は第１の実施形態の動作を示すフローチャートである。まず、メディア１に記録された画像データＳ０を読出装置において読み出す（ステップＳ１）。ここで、画像データＳ０にはＪＰＥＧ形式、ビットマップ形式、ＲＡＷ形式等そのアクセス特性が異なるものがあるため、アクセス特性および後述する画像処理の特性に応じた画像入力処理が行われる（ステップＳ２）。ここで、画像データＳ０は、そのファイル形式に応じてデータ単位（すなわちライン単位で画像データＳ０が形成されているか、ブロック単位で画像データＳ０が形成されているか）、圧縮／非圧縮、あるいはデータの読み出しの起点（ＤＩＢ形式のような左下隅か、ＲＡＷ形式のように左上隅か）等が異なる。画像データＳ０のアクセス特性とは、画像データＳ０のファイル形式に応じたデータ単位、圧縮の有無、データの読み出しの起点等を表すものである。
【００４６】
ここで、例えば、画像データＳ０の読み出しの起点が左上隅である場合には、左上隅からデータを取得するよう画像入力処理が行われる。また、画像データＳ０のアクセス特性がライン単位である場合、ライン単位でデータを取得するよう画像入力処理が行われる。さらに、画像データＳ０のアクセス特性が８×８画素のブロック単位である場合、８×８画素のブロック単位でデータを取得するよう画像入力処理が行われる。また、画像データＳ０がＪＰＥＧ形式であれば解凍する画像入力処理が行われる。
【００４７】
したがって、画像入力処理には、画像データＳ０のアクセス特性に応じた処理モジュールが用意されている。具体的には、ＪＰＥＧ形式の画像データＳ０のアクセス特性に応じた処理モジュール、ビットマップ形式の画像データＳ０のアクセス特性に応じた処理モジュール、ＲＡＷ形式の画像データのアクセス特性に応じた処理モジュール等が用意され、入力される画像データＳ０のアクセス特性に応じた処理モジュールが上位アプリケーションにおいて選択されて画像入力処理が行われる。
【００４８】
本実施形態においては、画像データＳ０のアクセス特性が１ライン単位であり、画像データＳ０に対してＸ方向に延在する１ライン毎に画像入力処理が行われるものとする。これにより、先読み用キャッシュバッファＢ１にｎライン分（ｎ＞ｍ１）のデータが一時的に保管される（ステップＳ３）。この際、入力される画像データＳ０のアクセス特性に応じて順次先読み用キャッシュバッファＢ１にデータが保管される。例えば、ＲＡＷ形式の画像データは画像の左下隅が読み出し起点となるため、画像の左下隅の画素からデータが読み出されて先読み用キャッシュバッファＢ１に保管される。
【００４９】
次いで、画像処理において、先読みキャッシュバッファＢ１からＸ方向拡大縮小処理に必要なｍ１ライン分の画像データＳｍ１（小容量画像データ）が読み出され、この画像データＳｍ１に対してＸ方向に拡大縮小処理が施されて（ステップＳ４）、処理が施された画像データＳｍ１が画像シフトバッファＢ２に一時的に保管される（ステップＳ５）。画像シフトバッファＢ２にＹ方向拡大縮小処理に必要なｍ２ライン分のデータが保管されると、ｍ２ライン分の画像データＳｍ２が読み出されてＹ方向拡大縮小処理が施される（ステップＳ６）。
【００５０】
なお、画像処理においては、画像データＳ０のファイル形式、１画素当たりのチャンネル数、余白の有無に応じた処理が行われる。例えば、画像データの形式によっては、画像の読み出しの起点が左上隅あるいは左下隅のように異なるため、この場合は、先読み用キャッシュバッファＢ１に保管されたデータの読み出しの起点から画像処理が施される。また、１画素当たりのチャンネル数によっては、各画素についてのデータの取得の順序が異なるものとなる。例えば、ＲＧＢ３チャンネルの場合には、各画素においては、Ｒ，Ｇ，Ｂ，Ｒ，Ｇ，Ｂ…の順序でデータが取得されるが、ＲＧＢα４チャンネルの場合には、Ｒ，Ｇ，Ｂ，α，Ｒ，Ｇ，Ｂ，α…の順序でデータが取得される。ここで、画像処理に用いられるのは、Ｒ，Ｇ，Ｂのチャンネルのみであるため、αチャンネルについては画像処理を施す必要はない。したがって、画像データＳ０がＲＧＢαの４チャンネルの画像データの場合には、αチャンネルをスキップさせるように画像処理が施される。さらに、画像中に余白が存在する場合、その余白については画像処理を行わないため、余白の部分をスキップしてデータに対して画像処理を施せばよい。
【００５１】
なお、画像処理においては、プリンタ３の特性に応じて画像処理を施してもよい。例えば、出力する画像の基準位置はプリンタ３の種類に応じて画像の左上隅あるいは左下隅のように異なるため、基準位置を画像処理の開始位置とすればよい。また、プリンタ３の種類に応じて１画素当たりのチャンネル数が異なる場合もある。例えば、画像処理においてはＲＧＢ３チャンネルを用いて処理が行われるが、ある種類のプリンタ３においてはＲＧＢα４チャンネルの情報が必要となる場合がある。したがって、この場合には、αチャンネルの情報を加える処理を行えばよい。さらに、プリンタ３が扱うデータの形式が例えば４の倍数の画素数である必要がある場合、出力画像の画素数を４の倍数とする必要がある。したがって、この場合には処理済み画像データＳ１により表される画像の縁部に余白を加える処理を行って処理済み画像データＳ１の画素数を４の倍数とすればよい。
【００５２】
処理が施されたデータは１ライン毎に画像出力処理が施される（ステップＳ７）。この画像出力処理は、ＯＳに標準のＡＰＩおよびいずれかのプリンタＡ〜Ｃに対応したプリンタドライバを用いてプリンタに適合した形式の処理済み画像データＳ１となるようにＹ方向拡大縮小処理が施されたデータを変換する処理である。したがって、画像出力処理には、プリンタドライバＡを用いた処理モジュール、プリンタドライバＢを用いた処理モジュール、およびプリンタドライバＣを用いた処理モジュールが存在し、上位アプリケーションにおいて処理済み画像データＳ１を出力するプリンタに応じた処理モジュールが選択されて画像出力処理が行われる。画像出力処理が施された画像データＳ１′は、画像バッファＢ３に一時的に保管される（ステップＳ８）。
【００５３】
そして、出力するプリンタに対応したライン数の画像データＳ１′が画像バッファＢ３に保管されると、パソコン２のＯＳに標準のＡＰＩおよびプリンタのドライバによりｐライン単位（プリンタ３において処理可能なライン単位）で処理済み画像データＳ１をプリンタに入力するとともにプリント出力が行われ（ステップＳ９）、処理を終了する。
【００５４】
なお、本実施形態においては、画像入力処理、画像処理および画像出力処理を並列に行うことも可能である。
【００５５】
このように、第１の実施形態においては、画像データＳ０の全体ではなく、画像データＳ０を小容量の画像データに順次分割して画像処理を施すようにしたため、パソコン２のメモリ容量が少なくても、従来のように画像の全体に対して一度に画像処理を施す場合と比較して、高画質の処理済み画像を得ることが可能な画像処理を高速に行うことができる。また、小容量の画像データＳｍ１，Ｓｍ２を順次取得して画像処理を施して出力しているため、大量なテンポラリーファイルの発生を防止でき、パソコン２のパフォーマンスの低下を防止することができる。さらに、従来は画像処理を行うための標準形式の画像データへの変換が必要な場合には、変換時に多量のメモリを消費し、さらに変換のための処理時間を必要としていたが、本実施形態によれば、小容量の画像データＳｍ１，Ｓｍ２に対して画像処理を行っているため、画像データを変換する必要がある場合にも多量のメモリを必要としない。また、画像データＳ０を変換する必要がある場合にも、画像データＳ０の変換と画像処理とを並列させて実行することができるため、画像データの全体を変換した後に画像処理を行う場合と比較して、処理時間を短縮することができる。
【００５６】
次いで、本発明の第２の実施形態について説明する。図３は本発明の第２の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図である。図３に示すように、第２の実施形態による画像出力システムは、スキャナ５Ａやデジタルカメラ５Ｂ等の入力デバイス５において取得された画像データＳ０に対して画像処理を施し、処理済み画像データＳ１を画像ファイルとしてメディア６に記録するようにした点が第１の実施形態と異なるものである。なお、第２の実施形態においては、画像処理は色空間変換処理および解像度変換処理を行うものとする。
【００５７】
第２の実施形態においては、パソコン２への画像データＳ０の入力は、パソコン２のＯＳに標準のＡＰＩおよび入力デバイス５のドライバにより行われる。なお、入力デバイス５に応じてＴＷＡＩＮドライバ、ＳＣＳＩドライバおよびＵＳＢドライバからいずれかのドライバが選択されて用いられる。入力された画像データＳ０は上記第１の実施形態と同様に画像入力処理が行われ、色空間変換処理および解像度変換処理が施され、さらに画像出力処理が施されてメディア６に記録される。なお、ドライバを介することなく直接パソコン２に画像データＳ０を入力してもよい。
【００５８】
次いで、本発明の第３の実施形態について説明する。図４は本発明の第３に実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図である。図４に示すように、第３の実施形態による画像出力システムは、メディア１に記録された画像データＳ０に対して画像処理を施し、処理済み画像データＳ１をディスプレイ７に表示するようにした点が第１の実施形態と異なるものである。なお、第３の実施形態においては、画像処理は解像度変換処理および色補正処理を行うものとする。また、パソコン２には３台のディスプレイ７Ａ〜７Ｃが接続され、各ディスプレイ７Ａ〜７Ｃに対応したドライバＡ〜Ｃがインストールされているものとする。
【００５９】
第３の実施形態においては、第１の実施形態と同様に画像入力処理が行われ、解像度変換処理および色補正処理が行われて、画像出力処理が行われる。さらに、パソコン２のＯＳに標準のＡＰＩおよびディスプレイ７のドライバによりｐライン単位で処理済み画像データＳ１をいずれかのディスプレイ７Ａ〜７Ｃに入力することにより処理済み画像データＳ１が表示されることとなる。
【００６０】
次いで、本発明の第４の実施形態について説明する。図５は本発明の第４の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図である。図５に示すように、第４の実施形態による画像出力システムは、パソコン２とネットワーク９を介して接続されたサーバ８から取得された画像データＳ０に対して画像処理を施してプリンタ３からプリント出力するようにした点が第１の実施形態と異なるものである。なお、第４の実施形態においては、画像処理は色空間変換処理および解像度変換処理を行うものとする。また、パソコン２には第１の実施形態と同様に３台のプリンタ３Ａ〜３Ｃが接続されているものとする。
【００６１】
第４の実施形態においては、パソコン２への画像データＳ０の入力は、パソコン２のＯＳに標準のＡＰＩおよびネットワークドライバにより行われる。入力された画像データＳ０は画像入力処理が行われるが、この際、ネットワーク９の負荷、プロトコルあるいはパケットサイズ等に応じた画像入力処理が行われる。次いで、色空間変換処理および解像度変換処理が行われ、さらに第１の実施形態と同様に画像出力処理が行われて、さらにパソコン２のＯＳに標準のＡＰＩおよびプリンタ３のドライバによりｐライン単位で画像データをいずれかのプリンタ３Ａ〜３Ｃに入力することにより処理済み画像データＳ１がプリント出力されることとなる。
【００６２】
次いで、本発明の第５の実施形態について説明する。図６は本発明の第５に実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図である。図６に示すように、第５の実施形態による画像出力システムは、スキャナ５Ａやデジタルカメラ５Ｂ等の入力デバイス５において取得された画像データＳ０に対して画像処理を施し、ネットワーク９を介してサーバ８に処理済み画像データＳ１を出力するようにした点が第１の実施形態と異なるものである。なお、第４の実施形態においては、画像処理は色空間変換処理および解像度変換処理を行うものとする。
【００６３】
第５の実施形態においては、パソコン２への画像データＳ０の入力は、パソコン２のＯＳに標準のＡＰＩおよび入力デバイス５のドライバ（ＴＷＡＩＮドライバ、ＳＣＳＩドライバ、ＵＳＢドライバ）により行われる。入力された画像データＳ０は上記第１の実施形態と同様に画像入力処理が行われる。次いで、色空間変換処理および解像度変換処理が施され、さらに画像出力処理が施される。そして、パソコン２のＯＳに標準のＡＰＩおよびネットワークドライバにより、処理済み画像データＳ１がネットワーク９を経由してサーバ８に入力される。
【００６４】
なお、上記第１から第５の実施形態においては、画像データＳ０の入力先として、メディア１、入力デバイス５、サーバ８を、出力先としてプリンタ３、メディア６、ディスプレイ７、サーバ８を用いているが、これに限定されるものではなく、任意のデバイスにおいて生成された、あるいは保管された画像データＳ０に対して画像処理を施し、処理済み画像データＳ１を何らかの出力先に出力するものであれば、本発明を適用できる。また、入力先および出力先の組み合わせとしても、上記実施形態に限定されるものではない。
【００６５】
さらに、上記第１から第５の実施形態においては、先読み用キャッシュバッファＢ１および画像バッファＢ３を用いて、画像データＳ０および画像出力処理が出力した画像データを一時的に保管しているが、これらのバッファＢ１，Ｂ３を設けることなく処理を行うことも可能である。この場合、画像入力処理が施された画像データＳ０は順次画像処理が施され、さらに順次画像出力処理が施されて出力されることとなる。
【００６６】
また、上記実施形態においては、パソコン２にインストールされたアプリケーションにおいて画像データＳ０に対して画像処理を施しているが、画像データＳ０の入力先の特性（入力画像データを生成したデバイスのメーカー、機種、解像度、有効画素数、色空間等）および出力先の特性（処理済み画像データを出力するデバイスのメーカー、機種、解像度、有効画素数、色空間、画像処理能力、画像処理特性等）に基づいて、出力先に基づく画像処理が有効であるか否かを判断し、有効である場合には、出力先に基づく画像処理を行うことが好ましい。以下、これを第６の実施形態として説明する。なお、第６の実施形態においては、第１の実施形態と同様に、画像データＳ０はメディア１に記録されており、処理済み画像データＳ１の出力先はプリンタ３とする。したがって、第６の実施形態における画像処理システムは第１の実施形態における画像処理システムと同一の構成を有する。
【００６７】
次いで、第６の実施形態の動作について説明する。図７は第６の実施形態の動作を示すフローチャートである。なお、第６の実施形態においては、画像データＳ０が生成された入力デバイスのメーカーが既知であり、入力デバイスのメーカーおよび３台のプリンタ３Ａ〜３Ｃのうち、プリント出力を行うプリンタのメーカーに基づいて、プリンタドライバＡ〜Ｃにおいて画像処理を行うか、パソコン２にインストールされたアプリケーションにおいて画像処理を行うかを判断するようにしたものである。
【００６８】
まず、パソコン２にインストールされた上位アプリケーションにおいて、入力される画像データＳ０が生成されたデバイスのメーカーおよびプリント出力を行うプリンタのメーカーが比較される（ステップＳ１１）。そして、メーカーが同一であるか否かが判断され（ステップＳ１２）、メーカーが同一である場合には、プリンタドライバによる画像処理を行うようにパソコン２を設定する（ステップＳ１３）。一方、メーカーが異なる場合には、アプリケーションによる画像処理を行うようにパソコン２を設定する（ステップＳ１４）。
【００６９】
そして、ステップＳ１５からステップＳ２３において、第１の実施形態のステップＳ１〜ステップＳ９と同様に画像入力処理、画像処理および画像出力処理を行い、処理を終了する。なお、ステップＳ１２が肯定された場合は、ステップＳ１８およびステップＳ２０の処理はプリンタドライバにより行われ、ステップＳ１２が否定された場合はステップＳ１８およびステップＳ２０の処理はアプリケーションにより行われる。
【００７０】
ここで、画像データＳ０を生成した入力デバイスの特性（ここではメーカー）と出力先の出力特性（メーカー）とが一致する場合には、出力先に基づく画像処理（プリンタドライバによる画像処理）を行った方が高画質の画像を得られる場合が多い。したがって、ステップＳ１２が肯定された場合には、プリンタドライバによる画像処理を行うことにより、一層高画質の画像を再生可能な小容量処理済み画像データが得られることとなる。
【００７１】
なお、上記各実施形態においては、パソコン２に画像入力処理、画像処理および画像出力処理を行うアプリケーションをインストールして各処理を行っているが、画像入力処理、画像処理および画像出力処理を行うハードウェア（すなわち、画像入力手段、画像処理手段および画像出力手段）を設け、各手段において画像入力処理、画像処理および画像出力処理を行うようにしてもよい。
【図面の簡単な説明】
【図１】本発明の第１の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図
【図２】第１の実施形態の動作を示すフローチャート
【図３】本発明の第２の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図
【図４】本発明の第３の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図
【図５】本発明の第４の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図
【図６】本発明の第５の実施形態による画像処理装置を適用した画像出力システムの構成を示す概略ブロック図
【図７】本発明の第６の実施形態において行われる処理を示すフローチャート
【図８】従来の画像処理装置の構成を示す概略ブロック図
【符号の説明】
１，６    メディア
２    パソコン
３    プリンタ
５    入力デバイス
７    ディスプレイ
８    サーバ
９    ネットワーク
【図１】
0004112187.tif 000002
【図２】
0004112187.tif 000003
【図３】
0004112187.tif 000004
【図４】
0004112187.tif 000005
【図５】
0004112187.tif 000006
【図６】
0004112187.tif 000007
【図７】
0004112187.tif 000008
【図８】
0004112187.tif 000009