(57)【要約】【課題】メモリへのアクセス量を低減する。【解決手段】共用メモリ１８は、共用バス１２を通じて、ＣＰＵや画像処理部１６からアクセスされる。この共用メモリ１８には、スキャンにより生成され、主走査方向の伸びる画素データ列が副走査方向に連なる画像データ５０が記憶されている。画像処理部１６が画像データ５０の縮小処理を行う場合、副走査ライン抽出部２０は、副走査方向に間引いて画素データ列を読み出す。そして、副走査補間部２８が、副走査方向に補間を行い、主走査補間部３６が主走査方向に補間を行って、縮小した出力画像データ３９を生成する。【選択図】図２
2008035455.tif 000002
【特許請求の範囲】
【請求項１】
独立して演算処理可能な複数のプロセッサと、
各プロセッサからアクセス可能な共有メモリと、
を備え、
共有メモリは、ある物理次元方向に伸びる複数の画素データ列を含んで構成される高解像度画像データを記憶し、
一または二以上のプロセッサは、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する生成手段を備える、
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
各プロセッサ及び共有メモリと接続され、各プロセッサから共有メモリへのアクセスが行われる共通バスと、
各プロセッサからの競合するアクセスを調停する調停手段と、
を備える画像処理装置。
【請求項３】
請求項１に記載の画像処理装置において、
生成手段は、間引き方向に補間を行って低解像度画像データを生成する画像処理装置。
【請求項４】
請求項１または３に記載の画像処理装置において、
生成手段は、ある解像度の低解像度データを生成するにあたり、間引く画素データ列の数を変えて生成精度を変更する精度変更手段を備える画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
高解像度画像データの一部をサンプリングして間引き方向の画像特性を評価する評価手段を備え、
精度変更手段は、画像特性の評価結果に基づいて、間引き方向の位置に応じて間引く画素データ列の数を変える画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
評価手段は、予め高解像度画像データから評価用の画素データ列を生成し、共有メモリに連続的に記憶させる画像処理装置。
【請求項７】
請求項１に記載の画像処理装置において、
生成手段は、各画素データ列が伸びる物理次元方向にも低解像度化を行う画像処理装置。
【請求項８】
請求項７に記載の画像処理装置において、
生成手段は、各画素データ列が伸びる物理次元方向に一部の画素データを間引いて高解像度画像データを読み取る画像処理装置。
【請求項９】
請求項１に記載の画像処理装置において、
共有メモリは、高解像度画像データに含まれる複数の画素データ列をそれぞれ連続的に記憶し、
生成手段は、画素データ列を構成する画素データを間引きを行わずに読み取る画像処理装置。
【請求項１０】
請求項１に記載の画像処理装置において、
複数のプロセッサには、汎用処理用のＣＰＵと画像処理用のコプロセッサが含まれ、
少なくともコプロセッサは生成手段を備える画像処理装置。
【請求項１１】
請求項１に記載の画像処理装置において、
主走査方向のスキャンを副走査方向に繰り返すスキャナを備え、
高解像度データは、スキャナにより生成された空間二次元データであり、
各画素データ列が伸びる物理次元方向は主走査方向であり、
間引き方向は副走査方向である画像処理装置。
【請求項１２】
独立して演算処理可能な複数のプロセッサと、
各プロセッサからアクセス可能な共有メモリと、
を備えたコンピュータに対し、
共有メモリに、ある物理次元方向に伸びる複数の画素データ列をそれぞれ連続的に記憶することで、これらの画素データ列を含んで構成される高解像度画像データを記憶させる手順と、
一または二以上のプロセッサに、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する手順と、
を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及び画像処理プログラムに関する。
【背景技術】
【０００２】
下記特許文献１には、画像メモリに記憶された画像データ全体を画像処理部に取り込み、濃度階調を間引いて再び画像メモリに格納することで、その後のバストラフィック量を減少させる技術が開示されている。
【０００３】
下記特許文献２には、画像メモリに記憶された画像データ全体を１ラインづつラインバッファに読み込み、矩形エリア（ブロック）毎に縮小処理を行う技術が開示されている。
【０００４】
下記特許文献３には、メモリに記憶された圧縮画像データをバスに流し、伸長して画像処理を実施し、再度圧縮してバス経由で出力する技術が開示されている。
【０００５】
下記特許文献４には、画像メモリから画像データ全体を画像処理部に転送し、処理時間の短い解像度変換を行う技術が開示されている。
【０００６】
下記特許文献５には、あらかじめ複数の解像度の画像データをメモリに保持し、必要とする解像度に最も近いデータを取得して使用する技術が開示されている。
【０００７】
下記特許文献６，７には、画像データをバンドに区切って複数の色にイメージ展開し、既に重複するバンドが存在しない場合にのみ、その記憶を行う技術が開示されている。
【０００８】
【特許文献１】特開２００１−０５３９６１号公報
【特許文献２】特開２００４−２８８１９８号公報
【特許文献３】特開２００３−１１５９６４号公報
【特許文献４】特開２００４−１１２５７９号公報
【特許文献５】特開２０００−１９６８６７号公報
【特許文献６】特開２０００−２２５７３５号公報
【特許文献７】特開２００２−２１１０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、メモリへのアクセス量を低減する新たな画像処理技術を開発することにある。
【課題を解決するための手段】
【００１０】
本発明の画像処理装置は、独立して演算処理可能な複数のプロセッサと、各プロセッサからアクセス可能な共有メモリと、を備え、共有メモリは、ある物理次元方向に伸びる複数の画素データ列を含んで構成される高解像度画像データを記憶し、一または二以上のプロセッサは、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する生成手段を備える。
【００１１】
本発明の画像処理装置の一態様においては、各プロセッサ及び共有メモリと接続され、各プロセッサから共有メモリへのアクセスが行われる共通バスと、各プロセッサからの競合するアクセスを調停する調停手段と、を備える。
【００１２】
本発明の画像処理装置の一態様においては、生成手段は、間引き方向に補間を行って低解像度画像データを生成する。
【００１３】
本発明の画像処理装置の一態様においては、生成手段は、ある解像度の低解像度データを生成するにあたり、間引く画素データ列の数を変えて生成精度を変更する精度変更手段を備える。
【００１４】
本発明の画像処理装置の一態様においては、高解像度画像データの一部をサンプリングして間引き方向の画像特性を評価する評価手段を備え、精度変更手段は、画像特性の評価結果に基づいて、間引き方向の位置に応じて間引く画素データ列の数を変える。
【００１５】
本発明の画像処理装置の一態様においては、評価手段は、予め高解像度画像データから評価用の画素データ列を生成し、共有メモリに連続的に記憶させる。
【００１６】
本発明の画像処理装置の一態様においては、生成手段は、各画素データ列が伸びる物理次元方向にも低解像度化を行う。
【００１７】
本発明の画像処理装置の一態様においては、生成手段は、各画素データ列が伸びる物理次元方向に一部の画素データを間引いて高解像度画像データを読み取る。
【００１８】
本発明の画像処理装置の一態様においては、共有メモリは、高解像度画像データに含まれる複数の画素データ列をそれぞれ連続的に記憶し、生成手段は、画素データ列を構成する画素データを間引きを行わずに読み取る。
【００１９】
本発明の画像処理装置の一態様においては、複数のプロセッサには、汎用処理用のＣＰＵと画像処理用のコプロセッサが含まれ、少なくともコプロセッサは生成手段を備える。
【００２０】
本発明の画像処理装置の一態様においては、主走査方向のスキャンを副走査方向に繰り返すスキャナを備え、高解像度データは、スキャナにより生成された空間二次元データであり、各画素データ列が伸びる物理次元方向は主走査方向であり、間引き方向は副走査方向である。
【００２１】
本発明の画像処理プログラムは、独立して演算処理可能な複数のプロセッサと、各プロセッサからアクセス可能な共有メモリと、を備えたコンピュータに対し、共有メモリに、ある物理次元方向に伸びる複数の画素データ列をそれぞれ連続的に記憶することで、これらの画素データ列を含んで構成される高解像度画像データを記憶させる手順と、一または二以上のプロセッサに、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する手順と、を実行させる。
【発明の効果】
【００２２】
請求項１の本発明によれば、間引き処理により必要な画素データ列だけが読み取られるため、共用メモリへのアクセス時間を短縮することができる。
【００２３】
請求項２の本発明によれば、バストラフィックを小さくし、他のプロセッサからの共用メモリに対するアクセス待ち時間を短縮することが可能となる。
【００２４】
請求項３の本発明によれば、高解像度画像データと低解像度画像データの座標位置が対応しない場合でも、補間により低解像度画像データを得ることが可能となる。
【００２５】
請求項４の本発明によれば、ユーザの要望、高解像度画像データの特性やサイズ、低解像度画像データの重要性などに応じて適宜低解像度画像データの精度を制御することが可能となる。
【００２６】
請求項５の本発明によれば、画像特性により補間精度が決定されるため、精度向上と処理時間短縮とが両立した処理が行われる。
【００２７】
請求項６の本発明によれば、予め評価用の画素データ列が生成されるため、特性評価の時間が短縮される。
【００２８】
請求項７の本発明によれば、間引き方向と他の方向との解像度のバランスが向上する。
【００２９】
請求項８の本発明によれば、各画素データ列の読み取り時間の短縮化が図られる。
【００３０】
請求項９の本発明によれば、各画素データ列については、間引きを行わなくても、比較的高速な読み取りが可能となる。
【００３１】
請求項１０の本発明によれば、コプロセッサの画像処理によるＣＰＵの演算処理効率の低下のボトルネックを小さくし、画像処理装置全体のパフォーマンスを向上させることが可能となる。
【００３２】
請求項１１の本発明によれば、スキャンにより生成した高解像度画像データの低解像度化が高速化される。
【発明を実施するための最良の形態】
【００３３】
以下に本発明の実施の形態を例示する。
【００３４】
［実施形態１］  図１は、本実施の形態にかかる画像処理装置１０の概略構成を説明するブロック図である。画像処理装置１０はデータ通信路である共用バス１２を備え、共用バス１２には、ＣＰＵ（中央処理装置）１４、画像処理部１６、及び共用メモリ１８が接続されている。ＣＰＵ１４は、プログラミングに従って、画像処理装置１０における各種演算処理を行う装置である。また、画像処理部１６は、画像処理に特化した演算処理装置であり、例えば、ＤＳＰ（デジタルシグナルプロセッサ）、ＡＳＩＣ（特定用途向け処理装置）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）などによって作ることができる。共用メモリ１８は、半導体メモリやハードディスクなどにより構成される記憶装置であり、ＣＰＵ１４からも画像処理部１６からも読み込みあるいは書き込みなどのアクセスが可能に設定されている。共用メモリ１８へのアクセスの調停は、例えば、ＣＰＵ１４によって行うこともできるし、ＤＭＡＣ（直接メモリアクセスコントローラ）を導入して行うことも可能である。
【００３５】
画像処理装置１０は、ＰＣ（パーソナルコンピュータ）などの汎用的コンピュータを構成するものであってもよいし、プリンタやスキャナなどの画像処理に特化した装置を構成するものであってもよい。また、画像処理装置１０におけるハードウエア構成は様々に設定可能であり、例えば、ＣＰＵ１４と画像処理部１６は別々のチップとして形成されても、同一のチップ上に形成されてもよい。
【００３６】
続いて、図２を用いて、画像処理部１６が、共用メモリ１８に記憶された画像データの縮小処理を行う機能構成について説明する。縮小処理は、低解像度化の処理の一種であるとみなせる。図２は、画像処理装置１０の一部分を詳しく説明するブロック図であり、図１と同一の構成には同一の番号を付している。
【００３７】
この例では、共用メモリ１８には、画像データ５０が記憶されている。画像データ５０は、スキャナにより生成されたデータであり、主走査方向のスキャンにより生成された画素データ列５２，５４，５６，．．．が、副走査方向６０に順次並べられて記憶されている。主走査方向に伸びる画素データ列５２，５４，５６，．．．は、同じ副走査位置における画素データ列であるため、以下では「副走査ライン」と表現する場合がある。各副走査ラインに属する個々の画素データは、共有メモリ上で連続したアドレス（番地）に記憶され、迅速に読み書きされる。
【００３８】
画像処理部１６には、副走査ライン抽出部２０が設けられている。副走査ライン抽出部２０は、画像データ５０における副走査ライン上の画素のアドレスを順次生成して、メモリ制御部４０に送信する。また、メモリ制御部４０は、ＤＭＡＣなどとして実装された装置であり、共用メモリ１８から副走査ライン上の画素データを順次を取り出して、画像処理部１６に送信する。
【００３９】
画像処理部１６には、こうして次々と入力される副走査ラインに対し、縮小処理を行い、出力画像データ３９を生成する処理回路系列が形成されている。具体的には、ラインバッファ制御部２２、副走査補間部２８、主走査画素抽出部３４、及び主走査補間部３６が設けられており、この順で副走査ラインを処理して、出力画像データ３９を出力する。ラインバッファ制御部２２は、作業用の記憶領域としてラインバッファ２４，２６を備えており、必要に応じて数本分の副走査ラインを記憶し、副走査補間部２８に出力する。副走査補間部２８は、ラインバッファ３０，３２を備えており、複数の副走査ラインをもとに２点補間（狭義の補間と補外とを含む）を行って新たな副走査ラインを生成する。主走査画素抽出部３４は、副走査補間部２８から入力した新たな副走査ラインについて、縮小率に応じた間引きを行い、主走査補間部３６に出力する。主走査補間部３６は、ラインバッファ３８を利用して、複数の画素データをもとに新たな画素データの値を計算する。これを副走査ライン及び各画素について繰り返すことで、出力画像データ３９が出力される。出力画像データ３９は、画像処理装置１０の内部または外部に設けられた表示装置（ディスプレイ）、印刷装置、記憶装置などに出力されたり、ネットワークを経由して外部装置に出力されたりする。
【００４０】
図３は、図２に示した副走査ライン抽出部２０の構成例を説明する図である。副走査ライン抽出部２０においては、縮小率の逆数７０の入力と、副走査方向カウンタ７２からの整数の入力が乗算器７４に対して行われる。そして、この乗算結果と、主走査方向画像サイズ７６とが、乗算器８０に入力される。乗算器８０からの出力は、加算器８２に入力される。加算器８２では、さらに主走査方向カウンタ８４からの整数の入力と、この画像の先頭アドレス８６の入力が行われて、メモリアクセスアドレス９０が生成される。主走査方向カウンタ８４は、０，１，２，３，．．．のように順次カウントアップして、主走査方向の画素アドレスを順次生成する。そして、主走査方向画像サイズに達すると、主走査方向カウンタ８４が０に初期化されるとともに、副走査方向カウンタ７２を１だけ増分させる。副走査方向カウンタ７２は、０を初期値として、１，２，３，．．．のように順次カウントアップする。この結果、縮小率が１、つまり縮小を行わない場合には、副走査ラインは間引かれることなく、順次取り出されることになる。しかし、縮小される場合、すなわち縮小率が１よりも小さく設定された場合（例えば１／２や１／３）には、その逆数に対応する飛び幅で副走査ラインの抽出が行われる。
【００４１】
図４は、図２に示した副走査補間部２８、主走査画素抽出部３４、主走査補間部３６の具体的構成例を説明する図である。副走査補間部２８に対しては、入力画像データ１００がラインバッファ制御部２２から入力される。入力画像データ１００は、分岐されて、一方は乗算器１０２に入力され、他方は、ラインバッファ３０で一回分遅延されて乗算器１０６に入力される。また、乗算器１０２，１０６には、係数算出部１０８から、重みづけの係数がそれぞれ入力され、入力画像データ１００と掛け合わされる。そして、乗算器１０２，１０６の出力は、ともに加算器１１０に入力されて足し合わされ、補間が行われる。こうして生成された新たな副走査ラインは、ラインバッファ３２に出力される。
【００４２】
主走査画素抽出部３４は、ラインバッファ３２に格納された副走査ラインから、データを画素単位で入力して、選択回路１２０に格納する。選択回路１２０は、二つある出力先を順次切り替える回路である。選択回路１２０には、ピクセルカウンタ１２２からバッファアドレスが入力されている。ピクセルカウンタ１２２は、整数０，１，２，３，．．．に対し、縮小率の逆数１２４を乗じた値をバッファアドレスとして生成する。そして、選択回路１２０は、ラインバッファからこのバッファアドレスに対応する画素データを入力し、順次出力先を切り替えて主走査補間部３６に出力する。
【００４３】
主走査補間部３６は、乗算器１３０，１３２を備え、これらに選択回路１２０の出力結果を入力する。また、乗算器１３０，１３２には、係数算出部１３４から重みづけの係数が入力されて、掛け合わせが行われる。各乗算器１３０，１３２の掛け合わせ結果は、ともに加算器１３６に入力されて加算され、これにより主走査方向の補間が行われる。補間された新たな画素データは、ラインバッファ３８に出力され、各副走査ラインについての処理が終わるたびに新たな出力画像データ３９の副走査ラインとして出力される。
【００４４】
続いて、図５乃至図８のフローチャートを用いて、画像処理装置１０の動作について説明する。図５は、画像処理装置１０の全体の動作を示すフローチャートである。画像データの縮小を行う場合、ユーザ入力により、または、プログラミングに基づいて、縮小率と、元の高解像度画像データにおける画像サイズとがセットされる（Ｓ１０）。例えば、縮小率として１／１０がセットされ、Ｘ−Ｙ空間２次元画像データの画像サイズとしてＸ＝１０００，Ｙ＝１０００がセットされる。これらの設定処理は、例えば、ＣＰＵ１４によって行われ、ＣＰＵ１４から画像処理部１６に対し、縮小処理の実行命令がなされる。画像処理部１６では、指示に基づいて縮小処理を行い（Ｓ１２）、そのラインバッファ３８から出力画像データ３９を出力する（Ｓ１４）。上述の例では、Ｘ，Ｙ方向ともに１／１０に画素数を縮小されたＸ＝１００，Ｙ＝１００のサイズの画像データが出力される。
【００４５】
図６は、図５のＳ１２の縮小処理について示したフローチャートである。副走査ライン抽出部２０では、間引き間隔として、縮小率の逆数７０をセットし、さらに、主走査方向カウンタ８４と副走査方向カウンタ７２の初期化を行う（Ｓ２０）。順次カウントアップを行うことで、副走査ラインを抽出する（Ｓ２２）。副走査補間部２８では、複数の副走査ラインを基に、所望の副走査位置への補間処理を行う（Ｓ２４）。主走査画素抽出部３４では、縮小率の逆数１２４のセットと、ピクセルカウンタ１２２の初期化が行われる（Ｓ２６）。そして、副走査補間部２８から主走査方向の画素を抽出して（Ｓ２８）、主走査補間部３６に入力し、主走査補間部３６では、主走査補間処理を行い（Ｓ３０）、ラインバッファ３８に書き込む（Ｓ３２）。ステップＳ２８〜Ｓ３２の処理は、全ての副走査ラインを参照するまで行われる（Ｓ３４）。
【００４６】
図７は、図６のＳ２２の副走査ライン抽出処理について示したフローチャートである。副走査ライン抽出部２０では、主走査方向カウンタ８４と副走査方向カウンタ７２から適当な値が与えられて、メモリアクセスアドレス９０が生成される。メモリ制御部４０では、このメモリアクセスアドレス９０をリードアドレスとして設定し（Ｓ４０）、共用メモリ１８にアクセスすることで、そのアドレスの画素値を得る。この過程を、主走査方向カウンタ８４をカウントアップさせて繰り返すことで、一つの副走査ラインの読み込みが行われる（Ｓ４２）。続いて、主走査方向カウンタ８４のリセットと、副走査方向カウンタ７２のカウントアップが行われることで、メモリアクセスアドレス９０は、間引き分だけ増分することになる（Ｓ４４）。
【００４７】
図８は、図６のＳ２８の主走査画素抽出処理について説明するフローチャートである。主走査画素抽出部３４では、ピクセルカウンタによってバッファアドレスが与えられ、副走査補間部２８のラインバッファ３２からその画素値を読み取る（Ｓ５０）。そして、ピクセルカウンタ１２２が増分すると、縮小率の逆数１２４だけ増分値が拡大されて、バッファアドレスが生成される。これにより、画素を間引いて読み取る処理が可能となる（Ｓ５２）。
【００４８】
以上に示した例では、補間として２点補間、つまり、線形近似を行う一次精度の補間を採用した。２点補間を採用することで、入力した副走査ラインと出力したい副走査ラインの空間座標、あるいは、入力した主走査方向の画素と出力したい主走査方向の画素の空間座標が異なる場合にも、簡易に適当な値を求めることが可能となる。もちろん、入力した主走査方向の画素と出力したい主走査方向の画素の空間座標が同じである場合には、補間処理をせずに、対応する画素値をそのまま採用することもできる。
【００４９】
［実施形態２］  続いて、補間の精度を向上させる「高画質モード」の態様について説明する。
【００５０】
図９は、図４の副走査補間部２８に代えて採用する副走査補間部１５０の概略構成を示す図である。副走査補間部１５０には、第１副走査補間処理部１５２、ラインバッファ１５４、第２副走査補間処理部１５６、及びラインバッファ１５８が設けられている。第１副走査補間処理部１５２とラインバッファ１５４は、２点補間の回路を構成している。すなわち、入力画像データ１００は、分岐され、一方は直接第１副走査補間処理部１５２に入力され、他方はラインバッファ１５４で１ステップ分だけ遅延された後に第１副走査補間処理部１５２に入力される。つまり、第１副走査補間処理部１５２には、前後する二つの副走査ラインが入力され、２点補間の結果が出力される。また、次のステップでは、この二つの副走査ラインに続く別の二つの副走査ラインが入力され、２点補間がなされる。
【００５１】
同様にして、第２副走査補間処理部１５６とラインバッファ１５８は、２点補間の回路を構成している。そして、第２副走査補間処理部１５６には、先行する二つの副走査ラインによる補間結果と、後続する二つの副走査ラインによる補間結果とが入力されて、二点補間が行われる。こうして得られる出力結果は、数値計算の理論からも明らかなように、係数の設定を適当に行いさえすれば、四つの副走査ラインを用いた４点補間（３次の補間）値となる。次のステップでは、先に４点補間に用いられたうちの二つの副走査ラインと、後続する二つの対象として４点補間が行われる。
【００５２】
この構成を、主走査補間部に対しても適用することで、主走査方向及び副走査方向にそれぞれ４点補間を行うことが可能となる。この場合の処理の流れについて、図１０，１１を用いて説明する。
【００５３】
図１０は、図５に対応する図であり、画像処理装置での大まかな処理の流れを示すフローチャートである。この場合には、縮小率と画像サイズに加え、高画質モードの設定が行われる（Ｓ６０）。そして、画像処理部では、高画質モードの縮小処理を行って（Ｓ６２）、ラインバッファから結果を出力する（Ｓ６４）。
【００５４】
図１１は、図６に対応する図であり、図１０のＳ６２における高画質モードの画像処理について説明するフローチャートである。この処理においては、副走査ライン抽出部では、間引き間隔として、縮小率の逆数の１／２がセットされたのち、カウンタの初期化が行われる（Ｓ７０）。つまり、ノーマルモードに比べて、間引き間隔が半分に設定される。副走査ラインの抽出は、こうして設定された間引き間隔に従って、図６のＳ２２と同様に行われる。そして、得られた副走査ラインに対しては、図９の副走査補間部１５０により、第１副走査補間処理（Ｓ７４）と第２副走査補間処理（Ｓ７６）が行われる。
【００５５】
主走査方向についても、同様に、ピクセルカウンタの初期化（Ｓ７８）と、主走査画素抽出処理（Ｓ８０）が行われ、得られた画素データに対し第１主走査補間処理（Ｓ８２）と第２主走査補間処理（Ｓ８４）による４点補間が行われる。補間結果は、順次ラインバッファに出力され（Ｓ８６）、副走査ラインを全て参照するまで、Ｓ８０〜Ｓ８６の処理が繰り返される（Ｓ９０）。
【００５６】
なお、ここに示した例では、補間として４点補間（３次の補間）を行ったが、これ以外にも様々な補間を行うことが可能である。具体的には、３点補間や５点補間の例を挙げることができる。また、上記例では、出力したい副走査ラインの倍の副走査ラインを入力して、４点補間を行った。しかし、出力したい副走査ラインの数と、入力する副走査ラインの数は、精度の次数や解像度（縮小率）を同じにする場合であっても、様々に設定することが可能である。一般には、入力する副走査ラインの数が出力したい副走査ラインの空間座標の数よりも多いほど、精度の良い結果が得られるが、副走査ラインの読み込み時間を含む演算処理量は多くなる。
【００５７】
また、入力する副走査ラインが出力したい副走査ラインの空間座標の近傍に位置する方が、精度の良い結果が得られると考えられる。そこで、入力する副走査ラインと出力したい副走査ラインの空間座標とを一致または最も近くするように、副走査ラインを不当間隔で間引いて入力することも有効である。
【００５８】
［実施形態３］  次に、画像の特性に応じて、縮小画像中の補間精度を変更する「適応モード」の態様について説明する。
【００５９】
適応モードにおいては、縮小処理に先立って、画像データの副走査方向の画像特性が評価され、高精度（高画質）の補間が必要か否かが判定される。評価・判定を行う処理は、画像処理部等に設けることができる。そして、高精度の補間が必要と判定された領域については、実施形態２で説明した補間が行われ、ノーマルの補間で良いと判定された領域については、実施形態１で説明した補間が行われる。
【００６０】
図１２のフローチャートは、図５に対応する図であり、この例における画像処理装置の全体処理の流れを示している。ここでは、まず、縮小率と画像サイズがセットされるほか、適応モードの指定が行われる（Ｓ１００）。そして、画像処理部では、画像特性を判定する処理を行い（Ｓ１０２）、その判定結果に応じて、ノーマルモードと高画質モードとを切り替える適応縮小処理を行う（Ｓ１０４）。これにより、異なる精度の補間が混在した画像データが、ラインバッファから出力される（Ｓ１０６）。
【００６１】
図１３は、図１２のＳ１０２の画像特性判定処理を説明するフローチャートであり、図１４は、この過程について例示した模式図である。
【００６２】
図１４（ａ）には、縮小処理の対象となる画像データ１６０が示されている。画像データ１６０は、主走査方向１６２と副走査方向１６４とからなり、主走査方向に伸びる複数の副走査ラインによって形成されている。画像特性判定処理においては、まず、副走査方向の適当な位置にモニタリングライン１７０が設定され、ライン上の画素データが抽出される（Ｓ１１０）。そして、抽出された画素データに対しては、輝度の勾配が計算される（Ｓ１１２）。図１４（ｂ）は、モニタリングライン１７０上の画素データにおける輝度値を示しており、図１４（ｃ）は、輝度値の勾配の絶対値を示している。
【００６３】
次に、輝度値の勾配の絶対値が、閾値１８０よりも小さいか大きいかが判定され（Ｓ１１４）、小さい場合には、ノーマルモードの領域であると設定され、大きい場合には、高画質モードの領域であると設定される（Ｓ１１６）。つまり、輝度値の絶対値が小さい領域では、画像の変化が小さいため、補間を粗く行う設定がなされ、輝度値の絶対値が大きい領域では、画像の変化が大きいため、補間を細かく行う設定がなされる。図１４（ｄ）には、こうして決定されたモードの別が描かれている。具体的には、白色領域１９０，１９２，１９４，．．．は、ノーマルモードが設定された領域であり、暗色領域２００，２０２，２０４，．．は、高画質モードが設定された領域である。
【００６４】
図１５は、図１２のＳ１０４の適応縮小処理を説明するフローチャートであり、図６に対応する図である。ここでは、まず、副走査ライン抽出部に、ノーマルモードと高画質モードの間引き間隔がセットされ、ラインカウンタが初期化される（Ｓ１２０）。そして、モードに応じて副走査ラインの抽出処理が行われる（Ｓ１２２）。すなわち、モードの判定が行われ（Ｓ１２４）、ノーマルモードである場合には、実施形態１に示したような副走査補間処理が行われ（Ｓ１２６）、高画質モードである場合には、実施形態２に示したような副走査補間処理が行われる（Ｓ１２８）。
【００６５】
続いて、ピクセルカウンタが初期化され（Ｓ１３０）、高画質モードに対応する４点補間の方式で主走査画素抽出処理（Ｓ１３２）と主走査補間処理（Ｓ１３４）が行われ、補間結果がラインバッファへ書き込まれる（Ｓ１３６）。これは、主走査方向については、全ての画素データが得られているため、４点補間が容易に行えるためである。また、主走査方向については、画像特性を判定しておらず、副走査方向の判定結果に基づいて精度を低下させることを避けたいとの理由も挙げられる。もちろん、主走査方向に対しても、画像特性を評価して、補間精度を異ならせるようにしてもよい。
【００６６】
以上の説明においては、空間２次元の画像データに対する縮小処理を例に挙げて説明を行った。しかし、空間３次元の画像データや、時間軸を含む画像データに対しても同様に縮小処理を行うことができる。また、以上の説明では、画像処理部は、縮小処理を行うための専用的なハードウエア構成を有するものとしたが、汎用的な演算ハードウエアを有し、ソフトウエア的に処理を実行するものであってもよい。さらに、以上の説明では、低解像度化処理の典型として縮小処理を例に挙げたが、画像サイズを変更しないまま画素密度を減らすなどの様々な低解像度処理にも、上記技術を適用できることは言うまでもない。
【図面の簡単な説明】
【００６７】
【図１】画像処理装置の概略的な構成例を示す図である。
【図２】画像処理部を中心としたやや詳細な構成例を示す図である。
【図３】画像処理部の構成例を詳細に示す図である。
【図４】画像処理部の構成例を詳細に示す図である。
【図５】縮小処理の流れを大まかに示すフローチャートである。
【図６】縮小処理の流れをやや詳細に示すフローチャートである。
【図７】縮小処理の流れを詳細に示すフローチャートである。
【図８】縮小処理の流れを詳細に示すフローチャートである。
【図９】高画質な補間を行うための装置構成例を示す図である。
【図１０】高画質な補間における処理の流れを大まかに示すフローチャートである。
【図１１】高画質補間の処理の流れを詳細に示すフローチャートである。
【図１２】適応モードにおける全体的処理の流れを示すフローチャートである。
【図１３】適応モードにおける処理の流れを詳細に示すフローチャートである。
【図１４】適応モードによる画像特性判定の具体例を示す模式図である。
【図１５】適応モードにおける処理の流れを詳細に示すフローチャートである。
【符号の説明】
【００６８】
１０  画像処理装置、１２  共用バス、１６  画像処理部、１８  共用メモリ、２０  副走査ライン抽出部、２２  ラインバッファ制御部、２４，２６，３０，３２，３８，１５４，１５８  ラインバッファ、２８  副走査補間部、３４  主走査画素抽出部、３６  主走査補間部、３９  出力画像データ、４０  メモリ制御部、５０  画像データ、５２，５４，５６  画素データ列、６０  副走査方向、７０，１２４  縮小率の逆数、７２  副走査方向カウンタ、７４，８０，１０２，１０６，１３０，１３２  乗算器、７６  主走査方向画像サイズ、８２，１１０，１３６  加算器、８４  主走査方向カウンタ、８６  先頭アドレス、９０  メモリアクセスアドレス、１００  入力画像データ、１０８  係数算出部、１２０  選択回路、１２２  ピクセルカウンタ、１３４  係数算出部、１５０  副走査補間部、１５２  第１副走査補間処理部、１５６  第２副走査補間処理部。
【図１】
2008035455.tif 000003
【図２】
2008035455.tif 000004
【図３】
2008035455.tif 000005
【図４】
2008035455.tif 000006
【図５】
2008035455.tif 000007
【図６】
2008035455.tif 000008
【図７】
2008035455.tif 000009
【図８】
2008035455.tif 000010
【図９】
2008035455.tif 000011
【図１０】
2008035455.tif 000012
【図１１】
2008035455.tif 000013
【図１２】
2008035455.tif 000014
【図１３】
2008035455.tif 000015
【図１４】
2008035455.tif 000016
【図１５】
2008035455.tif 000017