| 【発明の名称】 |
画像処理装置、画像処理プログラム |
| 【発明者】 |
【氏名】奥山 潤一
|
| 【要約】 |
【課題】メモリへのアクセス量を低減する。
【構成】共用メモリ18は、共用バス12を通じて、CPUや画像処理部16からアクセスされる。この共用メモリ18には、スキャンにより生成され、主走査方向の伸びる画素データ列が副走査方向に連なる画像データ50が記憶されている。画像処理部16が画像データ50の縮小処理を行う場合、副走査ライン抽出部20は、副走査方向に間引いて画素データ列を読み出す。そして、副走査補間部28が、副走査方向に補間を行い、主走査補間部36が主走査方向に補間を行って、縮小した出力画像データ39を生成する。 |
【特許請求の範囲】
【請求項1】 独立して演算処理可能な複数のプロセッサと、 各プロセッサからアクセス可能な共有メモリと、 を備え、 共有メモリは、ある物理次元方向に伸びる複数の画素データ列を含んで構成される高解像度画像データを記憶し、 一または二以上のプロセッサは、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する生成手段を備える、 ことを特徴とする画像処理装置。 【請求項2】 請求項1に記載の画像処理装置において、 各プロセッサ及び共有メモリと接続され、各プロセッサから共有メモリへのアクセスが行われる共通バスと、 各プロセッサからの競合するアクセスを調停する調停手段と、 を備える画像処理装置。 【請求項3】 請求項1に記載の画像処理装置において、 生成手段は、間引き方向に補間を行って低解像度画像データを生成する画像処理装置。 【請求項4】 請求項1または3に記載の画像処理装置において、 生成手段は、ある解像度の低解像度データを生成するにあたり、間引く画素データ列の数を変えて生成精度を変更する精度変更手段を備える画像処理装置。 【請求項5】 請求項4に記載の画像処理装置において、 高解像度画像データの一部をサンプリングして間引き方向の画像特性を評価する評価手段を備え、 精度変更手段は、画像特性の評価結果に基づいて、間引き方向の位置に応じて間引く画素データ列の数を変える画像処理装置。 【請求項6】 請求項5に記載の画像処理装置において、 評価手段は、予め高解像度画像データから評価用の画素データ列を生成し、共有メモリに連続的に記憶させる画像処理装置。 【請求項7】 請求項1に記載の画像処理装置において、 生成手段は、各画素データ列が伸びる物理次元方向にも低解像度化を行う画像処理装置。 【請求項8】 請求項7に記載の画像処理装置において、 生成手段は、各画素データ列が伸びる物理次元方向に一部の画素データを間引いて高解像度画像データを読み取る画像処理装置。 【請求項9】 請求項1に記載の画像処理装置において、 共有メモリは、高解像度画像データに含まれる複数の画素データ列をそれぞれ連続的に記憶し、 生成手段は、画素データ列を構成する画素データを間引きを行わずに読み取る画像処理装置。 【請求項10】 請求項1に記載の画像処理装置において、 複数のプロセッサには、汎用処理用のCPUと画像処理用のコプロセッサが含まれ、 少なくともコプロセッサは生成手段を備える画像処理装置。 【請求項11】 請求項1に記載の画像処理装置において、 主走査方向のスキャンを副走査方向に繰り返すスキャナを備え、 高解像度データは、スキャナにより生成された空間二次元データであり、 各画素データ列が伸びる物理次元方向は主走査方向であり、 間引き方向は副走査方向である画像処理装置。 【請求項12】 独立して演算処理可能な複数のプロセッサと、 各プロセッサからアクセス可能な共有メモリと、 を備えたコンピュータに対し、 共有メモリに、ある物理次元方向に伸びる複数の画素データ列をそれぞれ連続的に記憶することで、これらの画素データ列を含んで構成される高解像度画像データを記憶させる手順と、 一または二以上のプロセッサに、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する手順と、 を実行させることを特徴とする画像処理プログラム。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、画像処理装置、及び画像処理プログラムに関する。 【背景技術】 【0002】 下記特許文献1には、画像メモリに記憶された画像データ全体を画像処理部に取り込み、濃度階調を間引いて再び画像メモリに格納することで、その後のバストラフィック量を減少させる技術が開示されている。 【0003】 下記特許文献2には、画像メモリに記憶された画像データ全体を1ラインづつラインバッファに読み込み、矩形エリア(ブロック)毎に縮小処理を行う技術が開示されている。 【0004】 下記特許文献3には、メモリに記憶された圧縮画像データをバスに流し、伸長して画像処理を実施し、再度圧縮してバス経由で出力する技術が開示されている。 【0005】 下記特許文献4には、画像メモリから画像データ全体を画像処理部に転送し、処理時間の短い解像度変換を行う技術が開示されている。 【0006】 下記特許文献5には、あらかじめ複数の解像度の画像データをメモリに保持し、必要とする解像度に最も近いデータを取得して使用する技術が開示されている。 【0007】 下記特許文献6,7には、画像データをバンドに区切って複数の色にイメージ展開し、既に重複するバンドが存在しない場合にのみ、その記憶を行う技術が開示されている。 【0008】 【特許文献1】特開2001−053961号公報 【特許文献2】特開2004−288198号公報 【特許文献3】特開2003−115964号公報 【特許文献4】特開2004−112579号公報 【特許文献5】特開2000−196867号公報 【特許文献6】特開2000−225735号公報 【特許文献7】特開2002−211052号公報 【発明の開示】 【発明が解決しようとする課題】 【0009】 本発明の課題は、メモリへのアクセス量を低減する新たな画像処理技術を開発することにある。 【課題を解決するための手段】 【0010】 本発明の画像処理装置は、独立して演算処理可能な複数のプロセッサと、各プロセッサからアクセス可能な共有メモリと、を備え、共有メモリは、ある物理次元方向に伸びる複数の画素データ列を含んで構成される高解像度画像データを記憶し、一または二以上のプロセッサは、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する生成手段を備える。 【0011】 本発明の画像処理装置の一態様においては、各プロセッサ及び共有メモリと接続され、各プロセッサから共有メモリへのアクセスが行われる共通バスと、各プロセッサからの競合するアクセスを調停する調停手段と、を備える。 【0012】 本発明の画像処理装置の一態様においては、生成手段は、間引き方向に補間を行って低解像度画像データを生成する。 【0013】 本発明の画像処理装置の一態様においては、生成手段は、ある解像度の低解像度データを生成するにあたり、間引く画素データ列の数を変えて生成精度を変更する精度変更手段を備える。 【0014】 本発明の画像処理装置の一態様においては、高解像度画像データの一部をサンプリングして間引き方向の画像特性を評価する評価手段を備え、精度変更手段は、画像特性の評価結果に基づいて、間引き方向の位置に応じて間引く画素データ列の数を変える。 【0015】 本発明の画像処理装置の一態様においては、評価手段は、予め高解像度画像データから評価用の画素データ列を生成し、共有メモリに連続的に記憶させる。 【0016】 本発明の画像処理装置の一態様においては、生成手段は、各画素データ列が伸びる物理次元方向にも低解像度化を行う。 【0017】 本発明の画像処理装置の一態様においては、生成手段は、各画素データ列が伸びる物理次元方向に一部の画素データを間引いて高解像度画像データを読み取る。 【0018】 本発明の画像処理装置の一態様においては、共有メモリは、高解像度画像データに含まれる複数の画素データ列をそれぞれ連続的に記憶し、生成手段は、画素データ列を構成する画素データを間引きを行わずに読み取る。 【0019】 本発明の画像処理装置の一態様においては、複数のプロセッサには、汎用処理用のCPUと画像処理用のコプロセッサが含まれ、少なくともコプロセッサは生成手段を備える。 【0020】 本発明の画像処理装置の一態様においては、主走査方向のスキャンを副走査方向に繰り返すスキャナを備え、高解像度データは、スキャナにより生成された空間二次元データであり、各画素データ列が伸びる物理次元方向は主走査方向であり、間引き方向は副走査方向である。 【0021】 本発明の画像処理プログラムは、独立して演算処理可能な複数のプロセッサと、各プロセッサからアクセス可能な共有メモリと、を備えたコンピュータに対し、共有メモリに、ある物理次元方向に伸びる複数の画素データ列をそれぞれ連続的に記憶することで、これらの画素データ列を含んで構成される高解像度画像データを記憶させる手順と、一または二以上のプロセッサに、一部の画素データ列を間引いて高解像度画像データを読み取り、少なくとも間引き方向の解像度が低い低解像度画像データを生成する手順と、を実行させる。 【発明の効果】 【0022】 請求項1の本発明によれば、間引き処理により必要な画素データ列だけが読み取られるため、共用メモリへのアクセス時間を短縮することができる。 【0023】 請求項2の本発明によれば、バストラフィックを小さくし、他のプロセッサからの共用メモリに対するアクセス待ち時間を短縮することが可能となる。 【0024】 請求項3の本発明によれば、高解像度画像データと低解像度画像データの座標位置が対応しない場合でも、補間により低解像度画像データを得ることが可能となる。 【0025】 請求項4の本発明によれば、ユーザの要望、高解像度画像データの特性やサイズ、低解像度画像データの重要性などに応じて適宜低解像度画像データの精度を制御することが可能となる。 【0026】 請求項5の本発明によれば、画像特性により補間精度が決定されるため、精度向上と処理時間短縮とが両立した処理が行われる。 【0027】 請求項6の本発明によれば、予め評価用の画素データ列が生成されるため、特性評価の時間が短縮される。 【0028】 請求項7の本発明によれば、間引き方向と他の方向との解像度のバランスが向上する。 【0029】 請求項8の本発明によれば、各画素データ列の読み取り時間の短縮化が図られる。 【0030】 請求項9の本発明によれば、各画素データ列については、間引きを行わなくても、比較的高速な読み取りが可能となる。 【0031】 請求項10の本発明によれば、コプロセッサの画像処理によるCPUの演算処理効率の低下のボトルネックを小さくし、画像処理装置全体のパフォーマンスを向上させることが可能となる。 【0032】 請求項11の本発明によれば、スキャンにより生成した高解像度画像データの低解像度化が高速化される。 【発明を実施するための最良の形態】 【0033】 以下に本発明の実施の形態を例示する。 【0034】 [実施形態1] 図1は、本実施の形態にかかる画像処理装置10の概略構成を説明するブロック図である。画像処理装置10はデータ通信路である共用バス12を備え、共用バス12には、CPU(中央処理装置)14、画像処理部16、及び共用メモリ18が接続されている。CPU14は、プログラミングに従って、画像処理装置10における各種演算処理を行う装置である。また、画像処理部16は、画像処理に特化した演算処理装置であり、例えば、DSP(デジタルシグナルプロセッサ)、ASIC(特定用途向け処理装置)、FPGA(フィールドプログラマブルゲートアレイ)などによって作ることができる。共用メモリ18は、半導体メモリやハードディスクなどにより構成される記憶装置であり、CPU14からも画像処理部16からも読み込みあるいは書き込みなどのアクセスが可能に設定されている。共用メモリ18へのアクセスの調停は、例えば、CPU14によって行うこともできるし、DMAC(直接メモリアクセスコントローラ)を導入して行うことも可能である。 【0035】 画像処理装置10は、PC(パーソナルコンピュータ)などの汎用的コンピュータを構成するものであってもよいし、プリンタやスキャナなどの画像処理に特化した装置を構成するものであってもよい。また、画像処理装置10におけるハードウエア構成は様々に設定可能であり、例えば、CPU14と画像処理部16は別々のチップとして形成されても、同一のチップ上に形成されてもよい。 【0036】 続いて、図2を用いて、画像処理部16が、共用メモリ18に記憶された画像データの縮小処理を行う機能構成について説明する。縮小処理は、低解像度化の処理の一種であるとみなせる。図2は、画像処理装置10の一部分を詳しく説明するブロック図であり、図1と同一の構成には同一の番号を付している。 【0037】 この例では、共用メモリ18には、画像データ50が記憶されている。画像データ50は、スキャナにより生成されたデータであり、主走査方向のスキャンにより生成された画素データ列52,54,56,...が、副走査方向60に順次並べられて記憶されている。主走査方向に伸びる画素データ列52,54,56,...は、同じ副走査位置における画素データ列であるため、以下では「副走査ライン」と表現する場合がある。各副走査ラインに属する個々の画素データは、共有メモリ上で連続したアドレス(番地)に記憶され、迅速に読み書きされる。 【0038】 画像処理部16には、副走査ライン抽出部20が設けられている。副走査ライン抽出部20は、画像データ50における副走査ライン上の画素のアドレスを順次生成して、メモリ制御部40に送信する。また、メモリ制御部40は、DMACなどとして実装された装置であり、共用メモリ18から副走査ライン上の画素データを順次を取り出して、画像処理部16に送信する。 【0039】 画像処理部16には、こうして次々と入力される副走査ラインに対し、縮小処理を行い、出力画像データ39を生成する処理回路系列が形成されている。具体的には、ラインバッファ制御部22、副走査補間部28、主走査画素抽出部34、及び主走査補間部36が設けられており、この順で副走査ラインを処理して、出力画像データ39を出力する。ラインバッファ制御部22は、作業用の記憶領域としてラインバッファ24,26を備えており、必要に応じて数本分の副走査ラインを記憶し、副走査補間部28に出力する。副走査補間部28は、ラインバッファ30,32を備えており、複数の副走査ラインをもとに2点補間(狭義の補間と補外とを含む)を行って新たな副走査ラインを生成する。主走査画素抽出部34は、副走査補間部28から入力した新たな副走査ラインについて、縮小率に応じた間引きを行い、主走査補間部36に出力する。主走査補間部36は、ラインバッファ38を利用して、複数の画素データをもとに新たな画素データの値を計算する。これを副走査ライン及び各画素について繰り返すことで、出力画像データ39が出力される。出力画像データ39は、画像処理装置10の内部または外部に設けられた表示装置(ディスプレイ)、印刷装置、記憶装置などに出力されたり、ネットワークを経由して外部装置に出力されたりする。 【0040】 図3は、図2に示した副走査ライン抽出部20の構成例を説明する図である。副走査ライン抽出部20においては、縮小率の逆数70の入力と、副走査方向カウンタ72からの整数の入力が乗算器74に対して行われる。そして、この乗算結果と、主走査方向画像サイズ76とが、乗算器80に入力される。乗算器80からの出力は、加算器82に入力される。加算器82では、さらに主走査方向カウンタ84からの整数の入力と、この画像の先頭アドレス86の入力が行われて、メモリアクセスアドレス90が生成される。主走査方向カウンタ84は、0,1,2,3,...のように順次カウントアップして、主走査方向の画素アドレスを順次生成する。そして、主走査方向画像サイズに達すると、主走査方向カウンタ84が0に初期化されるとともに、副走査方向カウンタ72を1だけ増分させる。副走査方向カウンタ72は、0を初期値として、1,2,3,...のように順次カウントアップする。この結果、縮小率が1、つまり縮小を行わない場合には、副走査ラインは間引かれることなく、順次取り出されることになる。しかし、縮小される場合、すなわち縮小率が1よりも小さく設定された場合(例えば1/2や1/3)には、その逆数に対応する飛び幅で副走査ラインの抽出が行われる。 【0041】 図4は、図2に示した副走査補間部28、主走査画素抽出部34、主走査補間部36の具体的構成例を説明する図である。副走査補間部28に対しては、入力画像データ100がラインバッファ制御部22から入力される。入力画像データ100は、分岐されて、一方は乗算器102に入力され、他方は、ラインバッファ30で一回分遅延されて乗算器106に入力される。また、乗算器102,106には、係数算出部108から、重みづけの係数がそれぞれ入力され、入力画像データ100と掛け合わされる。そして、乗算器102,106の出力は、ともに加算器110に入力されて足し合わされ、補間が行われる。こうして生成された新たな副走査ラインは、ラインバッファ32に出力される。 【0042】 主走査画素抽出部34は、ラインバッファ32に格納された副走査ラインから、データを画素単位で入力して、選択回路120に格納する。選択回路120は、二つある出力先を順次切り替える回路である。選択回路120には、ピクセルカウンタ122からバッファアドレスが入力されている。ピクセルカウンタ122は、整数0,1,2,3,...に対し、縮小率の逆数124を乗じた値をバッファアドレスとして生成する。そして、選択回路120は、ラインバッファからこのバッファアドレスに対応する画素データを入力し、順次出力先を切り替えて主走査補間部36に出力する。 【0043】 主走査補間部36は、乗算器130,132を備え、これらに選択回路120の出力結果を入力する。また、乗算器130,132には、係数算出部134から重みづけの係数が入力されて、掛け合わせが行われる。各乗算器130,132の掛け合わせ結果は、ともに加算器136に入力されて加算され、これにより主走査方向の補間が行われる。補間された新たな画素データは、ラインバッファ38に出力され、各副走査ラインについての処理が終わるたびに新たな出力画像データ39の副走査ラインとして出力される。 【0044】 続いて、図5乃至図8のフローチャートを用いて、画像処理装置10の動作について説明する。図5は、画像処理装置10の全体の動作を示すフローチャートである。画像データの縮小を行う場合、ユーザ入力により、または、プログラミングに基づいて、縮小率と、元の高解像度画像データにおける画像サイズとがセットされる(S10)。例えば、縮小率として1/10がセットされ、X−Y空間2次元画像データの画像サイズとしてX=1000,Y=1000がセットされる。これらの設定処理は、例えば、CPU14によって行われ、CPU14から画像処理部16に対し、縮小処理の実行命令がなされる。画像処理部16では、指示に基づいて縮小処理を行い(S12)、そのラインバッファ38から出力画像データ39を出力する(S14)。上述の例では、X,Y方向ともに1/10に画素数を縮小されたX=100,Y=100のサイズの画像データが出力される。 【0045】 図6は、図5のS12の縮小処理について示したフローチャートである。副走査ライン抽出部20では、間引き間隔として、縮小率の逆数70をセットし、さらに、主走査方向カウンタ84と副走査方向カウンタ72の初期化を行う(S20)。順次カウントアップを行うことで、副走査ラインを抽出する(S22)。副走査補間部28では、複数の副走査ラインを基に、所望の副走査位置への補間処理を行う(S24)。主走査画素抽出部34では、縮小率の逆数124のセットと、ピクセルカウンタ122の初期化が行われる(S26)。そして、副走査補間部28から主走査方向の画素を抽出して(S28)、主走査補間部36に入力し、主走査補間部36では、主走査補間処理を行い(S30)、ラインバッファ38に書き込む(S32)。ステップS28〜S32の処理は、全ての副走査ラインを参照するまで行われる(S34)。 【0046】 図7は、図6のS22の副走査ライン抽出処理について示したフローチャートである。副走査ライン抽出部20では、主走査方向カウンタ84と副走査方向カウンタ72から適当な値が与えられて、メモリアクセスアドレス90が生成される。メモリ制御部40では、このメモリアクセスアドレス90をリードアドレスとして設定し(S40)、共用メモリ18にアクセスすることで、そのアドレスの画素値を得る。この過程を、主走査方向カウンタ84をカウントアップさせて繰り返すことで、一つの副走査ラインの読み込みが行われる(S42)。続いて、主走査方向カウンタ84のリセットと、副走査方向カウンタ72のカウントアップが行われることで、メモリアクセスアドレス90は、間引き分だけ増分することになる(S44)。 【0047】 図8は、図6のS28の主走査画素抽出処理について説明するフローチャートである。主走査画素抽出部34では、ピクセルカウンタによってバッファアドレスが与えられ、副走査補間部28のラインバッファ32からその画素値を読み取る(S50)。そして、ピクセルカウンタ122が増分すると、縮小率の逆数124だけ増分値が拡大されて、バッファアドレスが生成される。これにより、画素を間引いて読み取る処理が可能となる(S52)。 【0048】 以上に示した例では、補間として2点補間、つまり、線形近似を行う一次精度の補間を採用した。2点補間を採用することで、入力した副走査ラインと出力したい副走査ラインの空間座標、あるいは、入力した主走査方向の画素と出力したい主走査方向の画素の空間座標が異なる場合にも、簡易に適当な値を求めることが可能となる。もちろん、入力した主走査方向の画素と出力したい主走査方向の画素の空間座標が同じである場合には、補間処理をせずに、対応する画素値をそのまま採用することもできる。 【0049】 [実施形態2] 続いて、補間の精度を向上させる「高画質モード」の態様について説明する。 【0050】 図9は、図4の副走査補間部28に代えて採用する副走査補間部150の概略構成を示す図である。副走査補間部150には、第1副走査補間処理部152、ラインバッファ154、第2副走査補間処理部156、及びラインバッファ158が設けられている。第1副走査補間処理部152とラインバッファ154は、2点補間の回路を構成している。すなわち、入力画像データ100は、分岐され、一方は直接第1副走査補間処理部152に入力され、他方はラインバッファ154で1ステップ分だけ遅延された後に第1副走査補間処理部152に入力される。つまり、第1副走査補間処理部152には、前後する二つの副走査ラインが入力され、2点補間の結果が出力される。また、次のステップでは、この二つの副走査ラインに続く別の二つの副走査ラインが入力され、2点補間がなされる。 【0051】 同様にして、第2副走査補間処理部156とラインバッファ158は、2点補間の回路を構成している。そして、第2副走査補間処理部156には、先行する二つの副走査ラインによる補間結果と、後続する二つの副走査ラインによる補間結果とが入力されて、二点補間が行われる。こうして得られる出力結果は、数値計算の理論からも明らかなように、係数の設定を適当に行いさえすれば、四つの副走査ラインを用いた4点補間(3次の補間)値となる。次のステップでは、先に4点補間に用いられたうちの二つの副走査ラインと、後続する二つの対象として4点補間が行われる。 【0052】 この構成を、主走査補間部に対しても適用することで、主走査方向及び副走査方向にそれぞれ4点補間を行うことが可能となる。この場合の処理の流れについて、図10,11を用いて説明する。 【0053】 図10は、図5に対応する図であり、画像処理装置での大まかな処理の流れを示すフローチャートである。この場合には、縮小率と画像サイズに加え、高画質モードの設定が行われる(S60)。そして、画像処理部では、高画質モードの縮小処理を行って(S62)、ラインバッファから結果を出力する(S64)。 【0054】 図11は、図6に対応する図であり、図10のS62における高画質モードの画像処理について説明するフローチャートである。この処理においては、副走査ライン抽出部では、間引き間隔として、縮小率の逆数の1/2がセットされたのち、カウンタの初期化が行われる(S70)。つまり、ノーマルモードに比べて、間引き間隔が半分に設定される。副走査ラインの抽出は、こうして設定された間引き間隔に従って、図6のS22と同様に行われる。そして、得られた副走査ラインに対しては、図9の副走査補間部150により、第1副走査補間処理(S74)と第2副走査補間処理(S76)が行われる。 【0055】 主走査方向についても、同様に、ピクセルカウンタの初期化(S78)と、主走査画素抽出処理(S80)が行われ、得られた画素データに対し第1主走査補間処理(S82)と第2主走査補間処理(S84)による4点補間が行われる。補間結果は、順次ラインバッファに出力され(S86)、副走査ラインを全て参照するまで、S80〜S86の処理が繰り返される(S90)。 【0056】 なお、ここに示した例では、補間として4点補間(3次の補間)を行ったが、これ以外にも様々な補間を行うことが可能である。具体的には、3点補間や5点補間の例を挙げることができる。また、上記例では、出力したい副走査ラインの倍の副走査ラインを入力して、4点補間を行った。しかし、出力したい副走査ラインの数と、入力する副走査ラインの数は、精度の次数や解像度(縮小率)を同じにする場合であっても、様々に設定することが可能である。一般には、入力する副走査ラインの数が出力したい副走査ラインの空間座標の数よりも多いほど、精度の良い結果が得られるが、副走査ラインの読み込み時間を含む演算処理量は多くなる。 【0057】 また、入力する副走査ラインが出力したい副走査ラインの空間座標の近傍に位置する方が、精度の良い結果が得られると考えられる。そこで、入力する副走査ラインと出力したい副走査ラインの空間座標とを一致または最も近くするように、副走査ラインを不当間隔で間引いて入力することも有効である。 【0058】 [実施形態3] 次に、画像の特性に応じて、縮小画像中の補間精度を変更する「適応モード」の態様について説明する。 【0059】 適応モードにおいては、縮小処理に先立って、画像データの副走査方向の画像特性が評価され、高精度(高画質)の補間が必要か否かが判定される。評価・判定を行う処理は、画像処理部等に設けることができる。そして、高精度の補間が必要と判定された領域については、実施形態2で説明した補間が行われ、ノーマルの補間で良いと判定された領域については、実施形態1で説明した補間が行われる。 【0060】 図12のフローチャートは、図5に対応する図であり、この例における画像処理装置の全体処理の流れを示している。ここでは、まず、縮小率と画像サイズがセットされるほか、適応モードの指定が行われる(S100)。そして、画像処理部では、画像特性を判定する処理を行い(S102)、その判定結果に応じて、ノーマルモードと高画質モードとを切り替える適応縮小処理を行う(S104)。これにより、異なる精度の補間が混在した画像データが、ラインバッファから出力される(S106)。 【0061】 図13は、図12のS102の画像特性判定処理を説明するフローチャートであり、図14は、この過程について例示した模式図である。 【0062】 図14(a)には、縮小処理の対象となる画像データ160が示されている。画像データ160は、主走査方向162と副走査方向164とからなり、主走査方向に伸びる複数の副走査ラインによって形成されている。画像特性判定処理においては、まず、副走査方向の適当な位置にモニタリングライン170が設定され、ライン上の画素データが抽出される(S110)。そして、抽出された画素データに対しては、輝度の勾配が計算される(S112)。図14(b)は、モニタリングライン170上の画素データにおける輝度値を示しており、図14(c)は、輝度値の勾配の絶対値を示している。 【0063】 次に、輝度値の勾配の絶対値が、閾値180よりも小さいか大きいかが判定され(S114)、小さい場合には、ノーマルモードの領域であると設定され、大きい場合には、高画質モードの領域であると設定される(S116)。つまり、輝度値の絶対値が小さい領域では、画像の変化が小さいため、補間を粗く行う設定がなされ、輝度値の絶対値が大きい領域では、画像の変化が大きいため、補間を細かく行う設定がなされる。図14(d)には、こうして決定されたモードの別が描かれている。具体的には、白色領域190,192,194,...は、ノーマルモードが設定された領域であり、暗色領域200,202,204,..は、高画質モードが設定された領域である。 【0064】 図15は、図12のS104の適応縮小処理を説明するフローチャートであり、図6に対応する図である。ここでは、まず、副走査ライン抽出部に、ノーマルモードと高画質モードの間引き間隔がセットされ、ラインカウンタが初期化される(S120)。そして、モードに応じて副走査ラインの抽出処理が行われる(S122)。すなわち、モードの判定が行われ(S124)、ノーマルモードである場合には、実施形態1に示したような副走査補間処理が行われ(S126)、高画質モードである場合には、実施形態2に示したような副走査補間処理が行われる(S128)。 【0065】 続いて、ピクセルカウンタが初期化され(S130)、高画質モードに対応する4点補間の方式で主走査画素抽出処理(S132)と主走査補間処理(S134)が行われ、補間結果がラインバッファへ書き込まれる(S136)。これは、主走査方向については、全ての画素データが得られているため、4点補間が容易に行えるためである。また、主走査方向については、画像特性を判定しておらず、副走査方向の判定結果に基づいて精度を低下させることを避けたいとの理由も挙げられる。もちろん、主走査方向に対しても、画像特性を評価して、補間精度を異ならせるようにしてもよい。 【0066】 以上の説明においては、空間2次元の画像データに対する縮小処理を例に挙げて説明を行った。しかし、空間3次元の画像データや、時間軸を含む画像データに対しても同様に縮小処理を行うことができる。また、以上の説明では、画像処理部は、縮小処理を行うための専用的なハードウエア構成を有するものとしたが、汎用的な演算ハードウエアを有し、ソフトウエア的に処理を実行するものであってもよい。さらに、以上の説明では、低解像度化処理の典型として縮小処理を例に挙げたが、画像サイズを変更しないまま画素密度を減らすなどの様々な低解像度処理にも、上記技術を適用できることは言うまでもない。 【図面の簡単な説明】 【0067】 【図1】画像処理装置の概略的な構成例を示す図である。 【図2】画像処理部を中心としたやや詳細な構成例を示す図である。 【図3】画像処理部の構成例を詳細に示す図である。 【図4】画像処理部の構成例を詳細に示す図である。 【図5】縮小処理の流れを大まかに示すフローチャートである。 【図6】縮小処理の流れをやや詳細に示すフローチャートである。 【図7】縮小処理の流れを詳細に示すフローチャートである。 【図8】縮小処理の流れを詳細に示すフローチャートである。 【図9】高画質な補間を行うための装置構成例を示す図である。 【図10】高画質な補間における処理の流れを大まかに示すフローチャートである。 【図11】高画質補間の処理の流れを詳細に示すフローチャートである。 【図12】適応モードにおける全体的処理の流れを示すフローチャートである。 【図13】適応モードにおける処理の流れを詳細に示すフローチャートである。 【図14】適応モードによる画像特性判定の具体例を示す模式図である。 【図15】適応モードにおける処理の流れを詳細に示すフローチャートである。 【符号の説明】 【0068】 10 画像処理装置、12 共用バス、16 画像処理部、18 共用メモリ、20 副走査ライン抽出部、22 ラインバッファ制御部、24,26,30,32,38,154,158 ラインバッファ、28 副走査補間部、34 主走査画素抽出部、36 主走査補間部、39 出力画像データ、40 メモリ制御部、50 画像データ、52,54,56 画素データ列、60 副走査方向、70,124 縮小率の逆数、72 副走査方向カウンタ、74,80,102,106,130,132 乗算器、76 主走査方向画像サイズ、82,110,136 加算器、84 主走査方向カウンタ、86 先頭アドレス、90 メモリアクセスアドレス、100 入力画像データ、108 係数算出部、120 選択回路、122 ピクセルカウンタ、134 係数算出部、150 副走査補間部、152 第1副走査補間処理部、156 第2副走査補間処理部。
|
| 【出願人】 |
【識別番号】000005496 【氏名又は名称】富士ゼロックス株式会社
|
| 【出願日】 |
平成18年8月1日(2006.8.1) |
| 【代理人】 |
【識別番号】100075258 【弁理士】 【氏名又は名称】吉田 研二
【識別番号】100096976 【弁理士】 【氏名又は名称】石田 純
|
| 【公開番号】 |
特開2008−35455(P2008−35455A) |
| 【公開日】 |
平成20年2月14日(2008.2.14) |
| 【出願番号】 |
特願2006−209461(P2006−209461) |
|