(57)【特許請求の範囲】
【請求項１】
ドットマトリクス状の画素で表される画像の画像ファイルに基づいて前記画像の特徴量を取得する画像特徴量取得装置であって、
前記画像ファイルを参照して、本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを記録しているか否かを判断するサムネール有無判断手段と、
前記画像ファイルから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビッドマップイメージの画素値を合計して前記サムネールデータの全画素値を集計するサムネール集計手段と、
前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行なうサンプリング集計手段と、
前記サムネール有無判断手段の判断結果を利用して前記サムネール集計手段か前記サンプリング集計手段かのいずれかで対象画像の画素値を集計させる集計選択手段と、
前記集計された画素値の分布を基に前記元画像データの特徴を表す特徴量を取得する特徴量取得手段とを具備することを特徴とする画像特徴量取得装置。
【請求項２】
前記請求項１に記載の画像特徴量取得装置において、
前記特徴量の精度を選択させる選択手段を有し、
この選択手段にて画質を問わない画像ファイルが選択されて、且つ前記サムネールデータが前記画像ファイルに記録されている場合には、前記サムネール集計手段を選択することを特徴とする画像特徴量取得装置。
【請求項３】
前記請求項２に記載の画像特徴量取得装置において、前記特徴量の精度は、画像補正処理で要求される画質に対応することを特徴とする画像特徴量取得装置。
【請求項４】
ドットマトリクス状の画素で表される画像の画像ファイルを対象として画素値の集計処理をして前記画像の特徴量を取得する画像特徴量取得方法であって、前記画像ファイルを参照して本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを有するか否かを判断し、前記サムネールデータが有ると判断された場合には前記画像ファイルから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行ない、前記サムネールデータが無いと判断された場合には前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行ない、前記サムネールデータの全画素値の分布または前記元画像データの画素値の分布に基づいて前記元画像データの特徴を表す特徴量を取得することを特徴とする画像特徴量取得方法。
【請求項５】
前記請求項４に記載の画像特徴量取得方法において、前記特徴量の精度を選択させ、画質を問わない画像ファイルを選択させ、且つ前記画像ファイルが前記サムネールデータを有する場合には、前記サムネールデータをサンプリングして画素値の集計を行なうことを特徴とする画像特徴量取得方法。
【請求項６】
前記請求項５に記載の画像特徴量取得方法において、前記特徴量の精度は、画像補正処理で要求される画質に対応することを特徴とする画像特徴量取得方法。
【請求項７】
コンピュータにドットマトリクス状の画素で表される画像の画像ファイルを対象として画素値の集計処理をさせて前記画像の特徴量を取得させるための画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記画像ファイルを参照して本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを有するか否かを判断するサムネール有無判断機能と、
前記画像データから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行なうサムネール集計機能と、
前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行なうサンプリング集計機能と、
前記サムネール有無判断機能の判断結果を利用して前記サムネール集計機能か前記サンプリング集計機能のいずれかで対照画像の画素値を集計させる集計選択機能と、
前記集計された画素値の分布を基に前記元画像データの特徴を表す特徴量を取得する特徴量取得機能とをコンピュータに実現させる画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
前記請求項７に記載の画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体において、前記特徴量の精度を選択させ、画質を問わない画像ファイルを選択させ、且つ前記画像ファイルが前記サムネールデータを有する場合には前記サムネールデータをサンプリングして画素値の集計を行なうことを特徴とする画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項９】
前記請求項８に記載の画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体において、前記特徴量の精度は、画像補正処理で要求される画質に対応することを特徴とする画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
ドットマトリクス状の画素で表される画像の画像ファイルを対象として画素値の集計処理を経て前記画像の特徴量を得、前記特徴量を利用して修整パラメータを決定して前記画像の画像修整する画像修整装置であって、
前記画像ファイルを参照して本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを有するか否かを判断するサムネール有無判断手段と、
前記画像ファイルから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行なうサムネール集計手段と、
前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行なうサンプリング集計手段と、
前記サムネール有無判断手段の判断結果を利用して前記サムネール集計手段か前記サンプリング集計手段のいずれかで対象画像の画素値を集計させる集計選択手段と、
前記集計された画素値の分布に基づいて前記元画像データの特徴を表す特徴量を取得する特徴量取得手段と、
前記特徴量に基づいて修整パラメータを算出するパラメータ算出手段と、
前記算出された修整パラメータを利用して前記元画像データについて画像修整処理する画像修整手段とを具備することを特徴とする画像修整装置。
【請求項１１】
ドットマトリクス状の画素で表される画像の画像ファイルを対象として画素値の集計処理を経て前記画像の特徴量を得、前記特徴量を利用して修整パラメータを決定して前記画像の画像修整する画像修整方法であって、
前記画像ファイルを参照して本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮されて記録されたサムネールデータを有するか否かを判断し、前記サムネールデータが有ると判断された場合には前記画像データから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行ない、前記サムネールデータが無いと判断された場合には前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行ない、前記サムネールデータの全画素値の分布または前記元画像データの画素値の分布を利用して前記元画像データの特徴を表す特徴量を取得し、前記特徴量に基づいて修整パラメータを算出し、前記算出された修整パラメータを利用して前記元画像データについて画像修整処理することを特徴とする画像修整方法。
【請求項１２】
コンピュータにてドットマトリクス状の画素で表される画像の前記画像ファイルを対象として画素値の集計処理を経て前記画像の特徴量を得、前記特徴量を利用して修整パラメータを決定して前記画像の画像修整する画像修整プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記画像データを参照して元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを有するか否かを判断するサムネール有無判断機能と、
前記画像データから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行なうサムネール集計機能と、
前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行なうサンプリング集計機能と、
前記サムネール有無判断機能の判断結果を利用して前記サムネール集計機能か前記サンプリング集計機能のいずれかで対象画像の画素値を集計させる集計選択機能と、
前記集計された画素値の分布を利用して前記元画像データの特徴を表す特徴量を取得する特徴量取得機能と、
前記特徴量に基づいて修整パラメータを算出するパラメータ算出機能と、
前記算出された修整パラメータを利用して前記元画像データについて画像修整処理する画像修整機能とをコンピュータに実現させることを特徴とする画像修整プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１３】
圧縮された元画像データを含む画像ファイルを記録したメモリカードから前記画像ファイルを選択する画像ファイル選択手段と、
画像処理の品質を選択する画像品質選択手段と、
前記メモリカードから前記選択された画像ファイルを読み出す画像データ読出手段と、
前記画像ファイルを参照して本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを有するか否かを判断するサムネール有無判断手段と、
前記画像ファイルから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行なうサムネール集計手段と、
前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行なうサンプリング集計手段と、
前記サムネール有無判断手段の判断結果と前記画像品質選択手段の選択結果を利用して前記サムネール集計手段か前記サンプリング集計手段のいずれかで対象画像の画素値を集計させる集計選択手段と、
前記集計された画素値の分布を利用して前記元画像データの特徴を表す特徴量を取得する特徴量取得手段と、
前記特徴量に基づいて修整パラメータを算出するパラメータ算出手段と、
前記算出された修整パラメータを利用して前記元画像データを復元しつつ画像修整処理する画像修整手段と、
前記画像修整された元画像データに基づいて印刷を実行する印刷手段とを具備することを特徴とする画像印刷装置。
【請求項１４】
圧縮された元画像データを含む画像ファイルを記録したメモリカードから前記画像ファイルを選択させるとともに、画像処理の品質を選択させ、前記メモリカードから前記選択させた画像ファイルを読み出した後、前記画像ファイルを参照して本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを有するか否かを判断し、前記サムネールデータが有ると判断された場合には前記画像ファイルから前記サムネールデータを取得して前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行ない、前記サムネールデータが無いと判断された場合には前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行ない、前記サムネールデータの全画素値の分布または前記元画像データの画素値の分布を利用して前記元画像データの特徴を表す特徴量を取得し、前記特徴量に基づいて修整パラメータを算出し、前記算出された修整パラメータを利用して前記元画像データについて画像修整処理し、前記画像修整された元画像データに基づいて印刷を実行することを特徴とする画像印刷方法。
【請求項１５】
圧縮された元画像データを含む画像ファイルを記録したメモリカードから前記画像ファイルを選択する画像データ選択機能と、
画像処理の品質を選択させる画像品質選択機能と、
前記メモリカードから前記選択された画像ファイルを読み出す画像データ読出機能と、
前記画像ファイルを参照して本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを有するか否かを判断するサムネール有無判断機能と、
前記画像ファイルから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビットマップイメージの画素値を合計して前記サムネールデータの全画素値の集計を行なうサムネール集計機能と、
前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行なうサンプリング集計機能と、
前記サムネール有無判断機能の判断結果と前記画像品質選択機能の選択結果を利用して前記サムネール集計機能か前記サンプリング集計手段のいずれかで対象画像の画素値を集計させる集計選択機能と、
前記集計された画素値の分布を利用して前記元画像データの特徴を表す特徴量を取得する特徴量取得機能と、
前記特徴量に基づいて修整パラメータを算出するパラメータ算出機能と、
前記算出された修整パラメータを利用して前記元画像データを復元しつつ画像修整処理する画像修整機能と、
前記画像修整された元画像データに基づいて印刷を実行する印刷機能とをコンピュータに実現させることを特徴とする画像印刷プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像特徴量取得装置、画像特徴量取得方法、画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体、画像修整装置、画像修整方法、画像修整プログラムを記録したコンピュータ読み取り可能な記録媒体、画像印刷装置、画像印刷方法、画像印刷プログラムを記録したコンピュータ読み取り可能な媒体に関する。
【０００２】
【従来の技術】
従来、カラーインクジェットプリンタで脱着式のメモリカードを読み込み可能にするとともに、当該メモリカードに記録されたＪＰＥＧ方式の画像データを読み込んでカラー印刷する画像印刷装置が知られている。
【０００３】
この画像印刷装置の内部では、画像データを印刷データに変換する他、画像を美しく見せるための画像処理を自動的に設定して実行する。画像処理などを実現するため、内部にはメカ的な印刷を処理するメカコントロール部の他、画像処理部を備えている。画像処理部はＣＰＵやメモリなどを備えるが、通常のパーソナルコンピュータとは異なり、メモリ容量の制約から小容量のメモリしか備えていない。
【０００４】
画像処理を自動的に設定するため、本画像印刷装置はＪＰＥＧ方式の画像データを復元した上でサンプリングし、画素数を減じた上で集計処理を実施する。そして、集計結果に基づいて画像処理のパラメータを決定し、再度、画像データを復元しながらメカコントロール部へ印刷データを出力している。すると、メカコントロール部が印字ヘッドからのインク吐出、印字ヘッドの桁方向移動、用紙送りを適宜制御してカラー印刷を実施する。
【０００５】
【発明が解決しようとする課題】
上述した従来の画像印刷装置においては、次のような課題があった。
画像印刷の前処理として画像処理を自動的に行うため、画像データを復元した上でサンプリングして集計処理をしなければならない。しかしながら、ＪＰＥＧ方式で圧縮されているので必ず所定ライン数分だけはビットマップイメージに展開しなければサンプリングできず、近年の画像データは大容量化してきているので、メモリ容量が足りなくなることがある。
【０００６】
本発明は、上記課題にかんがみてなされたもので、メモリに制約があるような状況でも画像データの特徴を簡易に知ることが可能な画像特徴量取得装置、画像特徴量取得方法、画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体、画像修整装置、画像修整方法、画像修整プログラムを記録したコンピュータ読み取り可能な記録媒体、画像印刷装置、画像印刷方法、画像印刷プログラムを記録したコンピュータ読み取り可能な記録媒体の提供を目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、ドットマトリクス状の画素で表される画像の画像ファイルに基づいて前記画像の特徴量を取得する画像特徴量取得装置であって、前記画像ファイルを参照して、本来の元画像データに加えて前記元画像データの所定の画素単位ごとに圧縮して記録されたサムネールデータを記録しているか否かを判断するサムネール有無判断手段と、前記画像ファイルから前記サムネールデータを取得して、前記サムネールデータの前記圧縮における画素単位のうち所定の一方向の少なくとも１列の画素単位ごとに前記サムネールデータの画素をビットマップイメージとしてバッファに展開するとともに、展開された前記サムネールデータの少なくとも１列の画素単位分のビットマップイメージの画素値を集計し、前記集計された少なくとも１列の画素単位分のビッドマップイメージの画素値を合計して前記サムネールデータの全画素値を集計するサムネール集計手段と、前記元画像データの所定の一方向の少なくとも１列の画素ごとに画素値をサンプリングし、前記サンプリングされた少なくとも１列の画素分の画素値を合計して前記元画像データの画素値の集計を行なうサンプリング集計手段と、前記サムネール有無判断手段の判断結果を利用して前記サムネール集計手段か前記サンプリング集計手段かのいずれかで対象画像の画素値を集計させる集計選択手段と、前記集計された画素値の分布を基に前記元画像データの特徴を表す特徴量を取得する特徴量取得手段とを具備する構成としてある。
【０００８】
上記のように構成した請求項１にかかる発明においては、画像データが本来の元画像データに加えてサムネールデータを有するか否かをサムネール有無判断手段が判断すると、集計選択手段はその判断結果を利用してサムネール集計手段かサンプリング集計手段のいずれで集計させるかを選択する。サムネールデータがあればサムネール集計手段でこのサムネールデータについて集計を行なうし、サムネールデータがなければサンプリング集計手段が元画像データをサンプリングして集計を行なう。そして、集計結果が得られれるとこれを利用して特徴量取得手段は元画像データの特徴を表す特徴量を取得する。
【０００９】
すなわち、画像データの規格によってはサムネールデータを含む場合があるから、サムネールデータがあれば元画像データのサンプリング結果と同様に扱って集計に利用している。
メモリの制約の少ないパーソナルコンピュータでＯＳを備えているものでは、通常、ＪＰＥＧファイルの展開をＯＳが担当するので、ＪＰＥＧファイルといっても集計のためにサンプリングする作業はさほどの負担ではない。また、ＯＳが担当しないものであってもメモリの制約が少なければＪＰＥＧファイルの展開は容易である。
【００１０】
しかしながら、メモリの限られた状況でＪＰＥＧファイルを展開して集計処理するのは非常に時間がかかり、さらに前処理のためだけにこの過程を踏まなければならないのでは好ましくない。
一般に、サムネールは元画像データを小さくする目的で作成されており、元画像データの特徴を再現しているものではない。従って、従来はサムネールデータから元画像データの特徴を把握することはありえなかった。
【００１１】
このような背景の中で、本発明は敢えて元画像データであるＪＰＥＧファイルの展開を行うことなくサムネールデータで集計処理を行っている。また、請求項２にかかる発明は、上記請求項１に記載の画像特徴量取得装置において、上記特徴量の精度を選択する選択手段を有し、この選択手段にて画質を問わない画像ファイルが選択されて、且つサムネールデータを記録する場合にはサムネール集計手段を選択する構成としてある。
【００１２】
上記のように構成した請求項２にかかる発明においては、選択手段で特徴量の精度を選択できるようにしてあり、この選択手段にて精度を問わないものが選択されている場合、上記画像ファイルがサムネールデータを有する場合に、上記サムネール集計手段を選択する。
上述したようにサムネールデータは元画像データをサンプリングして作成されているわけではないため、特徴量を表しているとは限らない。従って、精度の良い特徴量を得たい場合にはサムネールデータで集計するのではなく、元画像データをサンプリングして集計してもよい。
【００１３】
さらに、請求項３にかかる発明は、上記請求項２に記載の画像特徴量取得装置において、上記特徴量の精度は、画像補正処理で要求される画質に対応する構成としてある。
画像データの特徴量はユーザーが直接に利用したり、指定するようなものではないが、間接的には日常的に指定しているものである。このため、上記のように構成した請求項３にかかる発明においては、画像補正処理で画質の高いものを望む場合には特徴量としても精度の高いものが要求されていると判断し、画像補正処理で画質よりも高速化が望まれている場合には特徴量も精度の低いものが要求されていると判断する。
【００１４】
さらに、上記サムネールデータは上記画像ファイル上に圧縮して記録され、上記サムネール集計手段は、圧縮されたサムネールデータについて所定ライン分の画素をビットマップイメージに展開するとともに、展開された画像データの画素値を集計し、これを全ラインが終了するまで繰り返すことで、集計結果を合計して上記サムネールデータの全画素値を集計する構成としてもよい。
上記のように構成した発明においては、上記サムネールデータ自身も圧縮して記録されているため、上記サムネール集計手段は、所定ライン分の画素をビットマップイメージに展開するとともに、展開された画像データを集計し、これを全ラインが終了するまで繰り返して集計を完了する。
【００１５】
すなわち、サムネールデータであるとしても一度に必要なワークエリアは小サイズ化されたサムネール画像の所定ライン数分に過ぎない。
さらに、本発明は、ドットマトリクス状の画素で表される画像の画像ファイルを対象として集計処理を経て画像の特徴量を得、同特徴量を利用して修整パラメータを決定して画像修整する画像修整装置であって、上記画像ファイルを参照して本来の元画像データに加えてサムネールデータを有するか否かを判断するサムネール有無判断手段と、上記画像ファイルからサムネールデータを取得して、画素値の集計を行なうサムネール集計手段と、上記元画像データをサンプリングして画素値の集計を行なうサンプリング集計手段と、上記サムネール有無判断手段の判断結果を利用して上記サムネール集計手段かサンプリング集計手段のいずれかで集計させる集計選択手段と、集計結果の分布に基づいて上記元画像データの特徴を表す特徴量を取得する特徴量取得手段と、上記特徴量に基づいて修整パラメータを算出するパラメータ算出手段と、算出された修整パラメータを利用して上記元画像データについて画像修整処理する画像修整手段とを具備する構成としてもよい。
【００１６】
上記のように構成した発明においては、以上のようにして特徴量を得た上で画像修整のパラメータを設定する。すなわち、えられた特徴量を利用してパラメータ演算手段が修整パラメータを演算するので、画像修整手段は演算された修整パラメータを利用して上記元画像データについて画像修整処理する。
さらに、圧縮された元画像データを含む画像ファイルを記録したメモリカードから同画像ファイルを選択する画像ファイル選択手段と、画像処理の品質を選択する画像品質選択手段と、上記メモリカードから上記選択された画像ファイルを読み出す画像データ読出手段と、上記画像ファイルを参照して本来の元画像データに加えてサムネールデータを有するか否かを判断するサムネール有無判断手段と、上記画像ファイルからサムネールデータを取得して画素値の集計を行なうサムネール集計手段と、上記元画像データをサンプリングして画素値の集計を行なうサンプリング集計手段と、上記サムネール有無判断手段の判断結果と上記画像品質選択手段の選択結果を利用して上記サムネール集計手段かサンプリング集計手段のいずれかで集計させる集計選択手段と、集計結果の分布を利用して上記元画像データの特徴を表す特徴量を取得する特徴量取得手段と、上記特徴量に基づいて修整パラメータを算出するパラメータ算出手段と、算出された修整パラメータを利用して上記元画像データを復元しつつ画像修整処理する画像修整手段と、画像修整された元画像データに基づいて印刷を実行する印刷手段とを具備する構成としてもよい。
【００１７】
上記のように構成した発明においては、メモリカードには圧縮された元画像データを含む画像データが記録されており、画像データ選択手段にてメモリカードから同画像データを選択するとともに、画像品質選択手段にて画像処理の品質を選択すると、画像データ読出手段が上記メモリカードから上記選択された画像データを読み出す。すると、サムネール有無判断手段は上記画像データが本来の元画像データに加えてサムネールデータを有するか否かを判断し、集計選択手段がこのサムネール有無判断手段の判断結果と上記画像品質選択手段の選択結果を利用して上記サムネール集計手段かサンプリング集計手段のいずれかで集計させる。すなわち、、サムネール集計手段が選択されれば上記画像データからサムネールデータを取得して集計を行なうし、サンプリング集計手段が選択されれば上記元画像データをサンプリングして集計を行なう。
【００１８】
次に、特徴量取得手段は得られた集計結果を利用して上記元画像データの特徴を表す特徴量を取得するので、パラメータ演算手段が同特徴量を利用して修整パラメータを演算し、演算された修整パラメータを利用して画像修整手段は上記元画像データを復元しつつ画像修整処理する。そして、このように画像修整された元画像データに基づいて印刷手段が印刷を実行する。
すなわち、一体の印刷装置としてメモリカードから画像データを読み込んで所定の修整を経て印刷を行なうにあたり、修整のためのパラメータをサムネールデータに基づいて集計するので、前処理に要する時間が短くなる。
【００１９】
このように、サムネールデータで元画像データの集計を代替する手法は必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。このため、画像特徴量取得方法、画像修整方法および画像印刷方法として構成することもできる。すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【００２０】
ところで、このような画像特徴量取得装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
発明の思想の具現化例として画像特徴量取得装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
【００２１】
このため、画像特徴量取得プログラムを記録したコンピュータ読み取り可能な記録媒体、画像修整プログラムを記録したコンピュータ読み取り可能な記録媒体および画像印刷プログラムを記録したコンピュータ読み取り可能な記録媒体として構成することもできる。すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
【００２２】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００２３】
本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。例えば、補間処理するために画像データを入力する処理といっても、その実現方法はオペレーティングシステムにおける所定の関数を呼び出して処理することも可能であれば、このような関数を呼び出すことなくハードウェアから入力することも可能である。そして、実際にはオペレーティングシステムの介在のもとで実現するとしても、プログラムが媒体に記録されて流通される過程においては、このプログラムだけで本発明を実施できるものと理解することができる。
【００２４】
また、本発明をソフトウェアで実施する場合、発明がプログラムを記録した媒体として実現されるのみならず、本発明がプログラム自体として実現されるのは当然であり、プログラム自体も本発明に含まれる。
【００２５】
【発明の効果】
以上説明したように本発明は、画像データに含まれるサムネールデータを利用するため、メモリに制約があるような状況でも画像データの特徴を簡易に知ることが可能な画像特徴量取得装置を提供することができる。また、読み込むサムネールデータは全体として小容量であるので、ファイルアクセスの時間が激減して高速化を図れる。
【００２６】
また、請求項２にかかる発明によれば、画質を問わないモードの場合にはサムネールデータによる集計を行なうことにより処理すべきデータ量を減らすので、処理の高速化に貢献することができる。
さらに、請求項３にかかる発明によれば、ユーザーは画質の概念だけを理解すればよく、選択を自動化して簡便さを向上させることができる。
さらに、本発明によれば、圧縮されたサムネールデータであってもさらにメモリを節約して集計を計ることができる。
【００２７】
さらに、請求項４〜請求項６にかかる発明によれば、同様の効果を奏する画像特徴量取得方法を提供でき、請求項７〜請求項９にかかる発明によれば、画像特徴量取得プログラムを記録した媒体を提供することができる。さらに、請求項１０〜請求項１２にかかる発明によれば、同様にメモリの制約がある場合でも画像データの特徴を簡易にしつつ最適な修整度合いを選択して自動的に修整する画像修整装置、画像修整方法、画像修整プログラムを記録した媒体を提供でき、請求項１３〜請求項１５にかかる発明によれば、さらに印刷までを実行する画像印刷装置、画像印刷方法、画像印刷プログラムを記録した媒体を提供することができる。
【００２８】
【発明の実施の形態】
以下、図面にもとづいて本発明の実施形態を説明する。
図１は、本発明の一実施形態にかかる画像特徴量取得装置を適用したカラーインクジェットプリンタを概略ブロック図により示しており、図２は外形を斜視図により示している。
図において、本プリンタ１０は、メカコントローラ部２０と高速シリアルＩ／Ｏ３０とコントローラ部４０とから構成されている。メカコントローラ部２０は一般的なカラーインクジェットプリンタであり、モータ２１にて駆動されるヘッド部２２と紙送り部２３とを有しており、メカコントローラＣＰＵ２４がモータ２１とヘッド部２２とを駆動制御して印刷を実行する。この制御はＲＡＭ２５をワークエリアとして使用しつつＲＯＭ２６に記録されたファームウェアを実行して行われている。メカコントローラＣＰＵ２４は所定の印刷データを受信して印刷を実行するが、この印刷データはコントローラ部４０にて生成され高速シリアルＩ／Ｏ３０を介して入力される。
【００２９】
コントローラ部４０は、印刷制御の中心を担うものとして、各種の制御を実行するコントローラＣＰＵ４１と、ワークエリアとしてのＲＡＭ４２と、印刷制御プログラムやファームウェアやデータなどを記録したＲＯＭ４３とを備えている。一般のプリンタの場合、このコントローラ部４０は外部のコンピュータ本体が相当する。このようなコンピュータ本体では充実したＲＡＭが確保され、印刷の実行時にＲＡＭが不足するような自体は考えにくい。なぜなら、ＲＡＭ自身が潤沢にあるし、不足するとしても一部をハードディスクなどにスワップすることができるからである。これに対してコントローラ部４０のメモリ量はプリンタとして必要な限度に限られており、絶対量の不足が起こり得るし、不足したからといってスワップする外部記憶装置もない。従って、各種の処理のすべてでメモリの節約を考慮しなければならない。なお、コンピュータ本体でアプリケーションが画像を扱う場合、画像データのフォーマットを意識する必要がないこともある。すなわち、オペレーティングシステムがかかる画像フォーマットを展開するので、この場合はアプリケーションはビットマップイメージとして処理すれば足りる。
【００３０】
また、外部とのインターフェイスを担うものとして、ユーザーが操作を行うための入力スイッチ部４４や、設定状況などを表示するＬＣＤ／ＬＥＤユニット４５や、音声で操作説明などを行うための音声デコードＩＣ４６や、画像データが記録されたメモリカードであるＰＣカードを装着するＰＣカードスロット４７などを備えている。
すなわち、入力スイッチ部４４によるスイッチで印刷内容を操作すると、選択状況などが逐次ＬＣＤ／ＬＥＤユニット４５に表示されると共に、操作が順を追って音声デコードＩＣ４６を経て音声出力され、選択された画像データがＰＣカードスロット４７を介して読み込まれて印刷処理される。
【００３１】
なお、図２に示すように、ＬＣＤパネル４５ａは筐体上面右方奥側に配置され、入力スイッチ部４４は同右方手前側と正面右方中程位置に配置され、音声デコードＩＣ４６に接続されたスピーカ４６ａは正面右方下側に配置され、ＰＣカードスロット４７は正面右方上側に配置されている。
図３は筐体上面右方に配置されたＬＣＤパネル４５ａと入力スイッチ部４４の一部を示している。表示の一つとして「画質」の欄４５ａ１があり、選択操作に応じて「高画質」、「高速」、「超高画質」のいずれかが選択表示されるようになっている。ここで、「高速」が選ばれると印刷実行に至る過程で選択可能な画像処理のうち、できるだけ高速化を図ることができるものを選択する。また、「高画質」や「超高画質」が選ばれると印刷実行に時間はかかるもののできるだけ高画質な結果が得られる処理を選択する。また、「自動調整」４５ａ２の欄は画像を判別し、自動的に最適なパラメータを設定して修整する「オートフォトファイン」を実行するか否かを選択表示する欄である。画像の判別は画像データを集計処理した結果を利用する。集計する対象は画像修整の内容に応じて異なるが、一例として輝度の分布を集計する場合を説明する。
【００３２】
図４は集計処理の概略の流れを示している。画像はドットマトリクス状の画素で表示されており、写真画像の場合、各画素は２５６階調のＲＧＢデータで表示されていることが多い。従って、元の画像データは図４（ａ）に示すように各画素をｘｙ座標で表して、各画素ごとに（Ｒxy，Ｇxy，Ｂxy）のデータを備えることになる。画像データが輝度を要素として備えていれば直接に集計が可能であるが、直接には輝度の値を持っていない。一般には輝度を簡略に求めるために次式の変換式を利用する。なお、輝度自身も２５６階調で表すことにする。
Ｙxy＝０．３０Ｒxy＋０．５９Ｇxy＋０．１１Ｂxy
また、このように輝度を厳密に求める必要はないので、
Ｙxy＝（Ｒxy＋Ｇxy＋Ｂxy）／３
としてもよいし、さらには、各成分の重みの相違からＧ成分だけを概略値とすることも可能であり、
Ｙ＝Ｇxy
としてもよい。
【００３３】
このように輝度変換した状態を図４（ｂ）に示している。そして、画像の特徴を知るためには輝度分布を求めることが有効であり、図４（ｃ）に示すようにヒストグラムを求めることにする。
図５はヒストグラムに表れるコントラストの狭い画像をコントラストの広い画像に修整する手法をヒストグラムとの関係から示しており、図６は具体的な演算手法を概略的に示している。図５に示すようにコントラストの幅の狭い画像は輝度分布で集計したヒストグラムの山の幅が狭く、この山の幅を広げてやればコントラストは拡大される。また、この変換はリニアな変換が可能であり、入力輝度Ｙに対して変換後の輝度Ｙ’とすると、
Ｙ’＝ａＹ＋ｂ
なる関係で変換する。変換元の最大輝度Ｙｍａｘと最小輝度Ｙｍｉｎの画素の差はａ＞１の場合において変換後において大きくなる。輝度分布の幅Ｙｄｉｆを最大輝度Ｙｍａｘと最小輝度Ｙｍｉｎの差とすると、
Ｙｄｉｆ＝Ｙｍａｘ−Ｙｍｉｎ
となる。この輝度分布の幅Ｙｄｉｆは画像データを集計して得られる特徴量であり、輝度分布の幅Ｙｄｉｆに基づいてコントラストを拡大するために上述した傾きａとオフセットｂを決定する。例えば、
ａ＝２５５／（Ｙｍａｘ−Ｙｍｉｎ）
ｂ＝−ａ・Ｙｍｉｎあるいは２５５−ａ・Ｙｍａｘ
とおくとすると、せまい幅を持った輝度分布を広げることができる。なお、ハイライト部分が白く抜けてしまったり、ハイシャドウ部分が黒くつぶれてしまうことがないように、階調値の範囲の上端と下端に拡大しない範囲として輝度値で「５」ぐらいを残すようにする。この結果、変換式のパラメータは次式のようになる。
ａ＝２４５／（Ｙｍａｘ−Ｙｍｉｎ）
ｂ＝５−ａ・Ｙｍｉｎあるいは２５０−ａ・Ｙｍａｘ
そして、この場合にはＹ＜Ｙｍｉｎと、Ｙ＞Ｙｍａｘの範囲においては変換を行わないようにする。また、このように変換するにあたって、毎回計算する必要はなく、変換テーブルを形成しておく。
【００３４】
また、ヒストグラムの集計結果から画像を明るくしたり暗くしたりする指標も得られる。図７は輝度のヒストグラムを示しているが、実線で示すように輝度分布の山が全体的に暗い側に寄っている場合には一点鎖線で示すように全体的に明るい側に山を移動させればよい。むろん、この逆も可能である。このような場合には図６に示すようなリニアな輝度の変換を施すのではなく、図８に示すようないわゆるγ曲線を利用した輝度の変換を行なう。γ曲線による補正ではγ＜１において全体的に明るくなるし、γ＞１において全体的に暗くなる。
【００３５】
明るくすべきか否かはヒストグラムから得られる中央値Ｙｍｅｄで判断する。明度の理想値をＹｍｅｄ＿ｔａｒｇｅｔとすると、その差（Ｙｍｅｄ＿ｔａｒｇｅｔ−Ｙｍｅｄ）を算出する。理想値Ｙｍｅｄ＿ｔａｒｇｅｔの実際の値は「１０６」を使用するが、固定的なものではない。そして、中央値Ｙｍｅｄが理想値Ｙｍｅｄ＿ｔａｒｇｅｔと比較して大きいか小さいかで画像が明るいか否かを評価する。例えば、中央値Ｙｍｅｄが「８５」であるとすれば理想値Ｙｍｅｄ＿ｔａｒｇｅｔの「１０６」よりも小さいので、第一次的に「暗い」と評価されるし、第二次的に暗さの程度は「１０６−８５」と数値的に表現される。そして、自動的にγの値を設定するには、
γ＝Ｙｍｅｄ／１０６
あるいは、
γ＝（Ｙｍｅｄ／１０６）**（１／２）
としてγの値を求める。
【００３６】
画像の自動修整はこれ以外にも彩度の修整やシャープネスの修整なども可能であるが、ここでは説明を省略する。
本実施例では、このような「オートフォトファイン」を選択した上で、「高速」が選ばれた場合にのみサムネールデータを利用して集計を行うことになる。
図９はＰＣカードスロット４７を介して読み込まれる画像データであるＪＰＥＧファイルの構成を示している。従来より、ＪＰＥＧファイルは高圧縮が可能であるとして写真画像の画像データに利用されている。画像の復元には量子化テーブルやハフマンテーブルが最低限必要となり、これをいわゆるヘッダ領域に備えている。また、ヘッダ領域には拡張領域を配置することも可能であり、その一例としてアプリケーションデータを配置できる。図９の左列はもっともシンプルな構成を示しており、圧縮データ（量子化データ）の先頭と最後尾を示すＳＯＩマーカとＥＯＩマーカの間には、アプリケーションデータ領域ＡＰＰ１と、量子化テーブル領域ＤＱＴと、ハフマンテーブル領域ＤＨＴと、フレームヘッダＳＯＦと、スキャンヘッダＳＯＳ領域などからなるヘッダ領域が配置され、続いて圧縮データの領域が連続する。なお、圧縮データは例えば８×８画素のブロックごとに生成され、各ブロックごとにＭＣＵデータを構成している。
【００３７】
また、アプリケーションデータ領域ＡＰＰ１は同図中列に示すように、最初にＡＰＰ１マーカが配置されるとともに、その直後にアプリケーションデータ領域ＡＰＰ１の長さＬＥＮＧＴＨが続き、以下、ＬＥＮＧＴＨで確保された領域に各種の情報を配置可能となっている。
従来はその利用方が各社に委ねられて各社各様の利用をしていたが、近年では規格化され、ここにＪＰＥＧサムネールデータを配置するものが多くなってきた。この場合、アプリケーションデータ領域ＡＰＰ１がそのような利用をされていることを示すヘッダに続き、ＪＰＥＧサムネールデータが配置される。
【００３８】
ＪＰＥＧサムネールデータのフォーマットは図９右列に示すように元画像データのフォーマットと何ら異なることはない。ただし、サムネールを作成する手法は各社各様である。例えば、縮小比率に応じたサンプリングだけでサムネールデータを作成することも可能であるし、元の画素とサムネールの画素との間で変換画像間で補間演算を経て中間値的な画素を生成する場合もある。このような差異は元画像の特徴を把握するために集計処理する上で差異となって表れるが、これについては後述する。
【００３９】
ＪＰＥＧファイルがこのようなＪＰＥＧサムネールデータを有していれば先の条件の下でサムネールデータを利用して集計を行うことが可能であるし、先の条件が成立してもＪＰＥＧファイルにサムネールデータがなければサムネールデータを利用した集計は不可能である。なお、サムネールデータは必ずしもＪＰＥＧ圧縮されている必要はない。なぜなら、画素数が少ないためビットマップイメージデータとして備えたとしてもファイル全体の容量が大きくなるわけではないからである。
【００４０】
また、本来のＪＰＥＧ圧縮データの画像を元画像及び元画像データと呼び、ＪＰＥＧサムネールデータの画像をサムネール画像およびサムネールデータと呼ぶ。
図１０〜図１３はプリンタ１０にて印刷する手順をフローチャートにより示している。以下、このフローチャートを参照して具体的な印刷実行に至る過程を説明する。なお、電源投入後は、最初にコントローラＣＰＵ４１やメカコントローラＣＰＵ２４は初期化を実行してあるものとする。
【００４１】
ステップ１００では、ＰＣカードスロット４７に画像データを記録したＰＣカードの装着を待機する。カードの装着後、ステップ１０２（選択手段）では、画質の選択や自動調整の選択の操作を受け付ける。本来、印刷する写真を選択したり、印刷する用紙種類を選択するがこれらについては適宜選択されているものとする。そして、入力スイッチ部４４に配置されたプリント開始キー４４ａが押し下げられると以下の処理を開始する。
【００４２】
ステップ１０６〜ステップ１０８では集計処理をサムネールデータに基づいて実行するための条件を判断する。上述したように、サムネールデータの作成基準は統一されていないため、判別できない。従って、自動調整の前提として元画像データを集計処理するとしても本来、このサムネールデータを集計に利用できるのか分からないはずである。例えば、本来の集計が元画像データをサンプリングして行われるとすると、サムネールデータが元画像データをサンプリングして行われているのであれば概ね集計結果に相違はないはずである。しかしながら、サムネールデータを生成する際に色数を減らしたり、シャープネスの調整を行っていたりということが行われていると、元画像データをサンプリングして集計する場合の画像データとは異なるため、集計結果もずれてくるはずである。従って、予めこれらの検証が行われなければサムネールデータを集計に利用することはできないはずである。
【００４３】
しかしながら、高速化が優先され、場合によっては画質の低下も許容できる状況があればサムネールデータを利用する価値は大きい。このため、ステップ１０４で自動調整として「オートフォトファイン」を実行することが選択され、ステップ１０６で画質として優れているとは言えない「高速」が選択されているという実体的な条件が成立し、さらに、ステップ１０８（サムネール有無判断手段）にてＪＰＥＧファイルにサムネールデータが含まれているかという物理的条件が成立しているときには、ステップ１１０にてサンプリングの種別を示すフラグ（サンプリングフラグ）に「サムネール」を設定する。そして、いずれか一つでも条件がはずれているときには、ステップ１１２にて同フラグに「元画像データ」を設定する。むろん、フラグの設定はビットで設定すれば十分であるから、実質的には”１”ビットのフラグを利用する。
【００４４】
集計の手法が決まったら、ステップ１１４にて上記フラグを参照し、ステップ１１６〜ステップ１２２でバッファを確保する準備を行なう。本プリンタ１０はメモリを節約しなければならないので、画像データをメモリ上に展開することはできない。一方、少なくとも横二列分のＭＣＵブロックを展開できれば境界を含めて印刷処理や集計処理を実現できる。従って、バッファは展開する画像の横幅長に基づいて確保する。
【００４５】
サムネールデータを集計する場合はステップ１１６にてサムネール領域のヘッダから画像サイズを取得する。この場合、図９右列に示すように、アプリケーションデータ領域ＡＰＰ１に記録されたＪＰＥＧサムネール領域のヘッダを読み込む。また、元画像データをサンプリングして集計する場合はステップ１１８にて元画像データに対する圧縮データのヘッダから画像サイズを取得する。すなわち、図９左列に示すヘッダを読み込む。
【００４６】
これらの場合において画像サイズを参照するのは横幅長だけであり、二列分のＭＣＵで１６列となり、それぞれＲＧＢの３バイトを要する。このため、バッファサイズは、
（横幅長）×３×１６
バイトとなる。元画像が２００万画素（１６００×１２００（ピクセル））の場合だと、
１６００×３（バイト）×１６（列）＝７５Ｋ（バイト）
となるし、サムネール画像が１６０×１２０（ピクセル）の場合だと、
１６０×３（バイト）×１６（列）＝７．５Ｋ（バイト）
となる。すなわち、サムネールデータで集計するのであれば、バッファサイズは１／１０になる。ステップ１２２ではこのようにして決定した必要量のバッファを確保する。
【００４７】
次に、図１２に示すステップ１２４〜ステップ１４２にて集計処理を行う。ステップ１２４（集計選択手段）にてサンプリングフラグを参照して「サムネール」が設定されていれば、ステップ１２６〜１３２（サムネール集計手段）を繰り返してサムネールデータの画素値を集計する。まず、ステップ１２６ではサムネールデータにおける一列分のＭＣＵを読み込み、バッファへＪＰＥＧ展開する。バッファに展開された状態で各画素の階調値を参照できるようになり、ステップ１２８にて画素値の集計を行う。この場合、サンプリングすることなく、全画素にわたって集計する。集計は上述したような輝度のヒストグラムを求める処理であり、対象となる画素の輝度を求めたら、各階調値ごとに設けておいた変数のうち該当する階調値の変数の内容をインクリメントする。
【００４８】
一列分のＭＣＵについて全画素の集計が終了したらステップ１３０で次の列のＭＣＵへポインタを移動させる。画像サイズを読み込んだときに縦方向の長さも分かっているため、終了位置のＭＣＵが分かる。従って、移動後のポインタを参照して全てのＭＣＵについて展開が終了しているか否かを判断し、終了していなければステップ１２６に戻って次の一列分のＭＣＵを展開する。また、終了していればヒストグラムを作成する集計自体も終了しているので、ステップ１４４以下の印刷処理へと進む。
【００４９】
一方、ステップ１２４にてサンプリングフラグに「サムネール」が設定されていなければ、ステップ１３４〜１４２（サンプリング集計手段）を繰り返して元画像データの画素値を集計する。ステップ１３６では元画像データにおける一列分のＭＣＵを読み込み、バッファへＪＰＥＧ展開する。元画像データの場合は画素数が圧倒的に多く、全画素の集計を行うには時間がかかりすぎるため、ステップ１３６にて必要画素数のサンプリングを行う。このサンプリングは乱数を利用してサンプリング画素を決定しても良いし、一定の画素数ごとにサンプリング画素を決定するものであるなど、適宜変形可能である。そして、集計する画素が決まったらステップ１３８にて画素値の集計を行なう。
【００５０】
この後、サムネールデータの場合と同様にステップ１４０にてポインタの移動し、ステップ１４２にて全てのＭＣＵを終了したか判断してステップ１３４以下を繰り返すか、次の印刷処理へと進むかを判断する。
ここで、サムネールデータを集計する場合も元画像データを集計する場合も、集計する画素数については特に異なるものではない。すなわち、サムネールデータの画素数分だけ元画像データの画素をサンプリングすれば集計に要する処理自体は基本的に同じようになるとも思われる。しかしながら、図９に示すようにＪＰＥＧサムネールデータはＪＰＥＧファイルにおける先頭側のアプリケーションデータ領域ＡＰＰ１にて比較的小容量の領域にだけ存在する。このため、ＪＰＥＧ展開するために読み出さなければならないデータの量は多くなく、ファイルアクセスに要する時間は短い。これに対して、元画像データについては圧縮データ全てを読み込んでＪＰＥＧ展開することになり、アクセスすべきデータ量が多く、処理に要する時間が長くなる。この点でサムネールデータを集計する場合は「高速」化に貢献する。
【００５１】
ステップ１２８やステップ１３８において集計された結果は、図４（ｃ）に示すようなヒストグラムである。ステップ１４４（特徴量取得手段）では印刷処理を開始するにあたって元画像データを自動修整するための修整パラメータを演算する。
コントラストを自動修整するための修整パラメータは、「ａおよびｂ」であり、上述した演算式を実行するためにはヒストグラムから最大輝度Ｙｍａｘと最小輝度Ｙｍｉｎを求める必要がある。ただし、真っ白のノイズや真っ黒のノイズの画素は階調値として「２５５」あるいは「０」であり、本来の最大値や最小値を選択すると殆どの場合が最大輝度Ｙｍａｘは「２５５」となり、最小輝度Ｙｍｉｎは「０」となってしまう。このため、集計処理に加えて統計的な処理として上端と下端の０．５％ずつの画素を無視して最大輝度Ｙｍａｘと最小輝度Ｙｍｉｎを求める。これにより、ノイズの画素は除かれ、概ね輝度分布の幅を表すのに妥当な最大輝度Ｙｍａｘと最小輝度Ｙｍｉｎを得ることができる。
【００５２】
次に、中間値Ｙｍｅｄを求め、γを計算する。中間値については特にノイズの画素を考慮する必要はない。ただし、Ｙｍｅｄが最適値である「１０６」と大きくずれているときにはヒストグラムのデータについてγ補正を行って分布を修整した後、最大輝度Ｙｍａｘと最小輝度Ｙｍｉｎを得てコントラストの修整パラメータを演算するようにしても良い。
以上のようにして修整パラメータａ，ｂ，γを求められたらステップ１４６〜ステップ１６２のループを繰り返して印刷を実行する。一般のコンピュータ本体で印刷するときには、バッファの制限がないため、一頁ごとに各頁に存在するオブジェクトを全て展開して画面イメージを再現する。しかしながら、本プリンタ１０のＲＡＭ４２は少ないし、ハードディスクなどにスワップすることもできない。このため、画像の展開は印刷に必要な最小限だけ行なうように、ステップ１４６では元画像データをＭＣＵの一列ごとにバッファへと展開していくことにする。
【００５３】
バッファには画像がビットマップイメージで展開されているので、ステップ１４８で先に得られた修整パラメータに基づいて画像処理を実行する。コントラストの拡大や明度の修整などは変換前も変換後も２５６階調の範囲でしか存在しないため、予め全階調にわたって変換結果を演算しておき、対応関係でルックアップテーブルを作成しておく。すると、修整処理は変換元の輝度でテーブルを参照して対応する変換後の輝度を読み出すだけで済む。
【００５４】
全画素についてこのようなオートフォトファイン処理を実施したら、ステップ１５０では拡大・縮小処理を実行する。拡大・縮小処理に利用する補間演算はバイキュービック補間演算であったりニアリスト法など、適宜、倍率に応じて選択する。一例として拡大率が大きい場合にはバイキュービック補間演算を利用するのが好ましい。
なお、拡大縮小処理によって実際の印刷時における解像度となるが、このためのバッファはプリンタ１０自身の解像度であるから固定的である。本実施例では、７２０ｄｐｉか１４４０ｄｐｉを選択でき、上述した画質として「超高画質」が選択された場合に１４４０ｄｐｉに対応するバッファが確保され、それ以外は７２０ｄｐｉに対応するバッファが確保されている。
【００５５】
ステップ１５２では印刷の実行に必要なバンドごとに処理を分断する。従って、以後のステップ１５４における色変換・ハーフトーン処理やステップ１５６におけるインターレース処理も同様にして処理される。バンド処理に対応して必要量の印刷データが作成された時点でステップ２５８のメカコントロールデータ出力処理が実行され、高速シリアルＩ／Ｏ３０を介してコントローラＣＰＵ４１からメカコントローラＣＰＵ２４へと印刷データが出力される。この印刷データはＲＡＭ２５のバッファに展開され、メカコントローラＣＰＵ２４は同データを参照してモータ２１の駆動制御やヘッド部２２の駆動制御を実行する。
【００５６】
このメカコントローラ部２０の駆動制御と並行してコントローラ部４０はさらに次の印刷データを生成すべくステップ１６０にてポインタを次のＭＣＵへ移動させ、ステップ１６２にて全てのＭＣＵについて終了したと判断されるまで繰り返す。
このように、画像データを自動修整するために画像の特徴量を取得するにあたり、高速な処理を望む場合には、画像データにサムネールデータが含まれているか否かを判断し（ステップ１０８）、サムネールデータがあればサンプリングフラグに「サムネール」を設定し（ステップ１１０）、サムネールデータに応じた展開用のバッファを確保し（ステップ１１６，ステップ１２０）、サムネールデータをバッファへ展開して全画素について集計を行う（ステップ１２６〜ステップ１３２）ようにし、元画像データを展開してサンプリングする場合に比べて高速化を図ることができるようになった。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる画像特徴量取得装置を適用したカラーインクジェットプリンタの概略ブロック図である。
【図２】プリンタの外観斜視図である。
【図３】ＬＣＤパネルと入力スイッチ部の一部を示す図である。
【図４】集計処理の概略を示す図である。
【図５】コントラストの拡大処理を示す図である。
【図６】コントラストの拡大手法を示す図である。
【図７】明度の修整処理を示す図である。
【図８】明度の修整手法を示す図である。
【図９】ＪＰＥＧファイルの構造を示す図である。
【図１０】印刷処理のフローチャートの一部である。
【図１１】印刷処理のフローチャートの一部である。
【図１２】印刷処理のフローチャートの一部である。
【図１３】印刷処理のフローチャートの一部である。
【符号の説明】
１０…プリンタ
２０…メカコントローラ部
２１…モータ
２２…ヘッド部
２３…紙送り部
２４…メカコントローラＣＰＵ
２５…ＲＡＭ
２６…ＲＯＭ
３０…高速シリアルＩ／Ｏ
４０…コントローラ部
４１…コントローラＣＰＵ
４２…ＲＡＭ
４３…ＲＯＭ
４４…入力スイッチ部
４４ａ…プリント開始キー
４５…ＬＥＤユニット
４５ａ…ＬＣＤパネル
４５ａ１…「画質」の欄
４５ａ２…「自動調整」の欄
４６…音声デコードＩＣ
４６ａ…スピーカ
４７…ＰＣカードスロット
ＳＯＦ…フレームヘッダ
ＳＯＳ…スキャンヘッダ
【図１】
0004290303.tif 000002
【図２】
0004290303.tif 000003
【図３】
0004290303.tif 000004
【図４】
0004290303.tif 000005
【図５】
0004290303.tif 000006
【図６】
0004290303.tif 000007
【図７】
0004290303.tif 000008
【図８】
0004290303.tif 000009
【図９】
0004290303.tif 000010
【図１０】
0004290303.tif 000011
【図１１】
0004290303.tif 000012
【図１２】
0004290303.tif 000013
【図１３】
0004290303.tif 000014