(57)【要約】【課題】  補間処理において、処理対象画素の近傍画素群に基づいてエッジを算出することにより、少ない演算量でより鮮鋭な画像データを得る。【解決手段】  入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置であって、変換前の注目画素がエッジかどうかを判定する判定手段と、前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出する検出手段と、前記検出手段の結果から、前記エッジの境界を示す直線を算出する算出手段と、前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定する決定手段とを有する。【選択図】  図１
2013240014.tif 000002
【特許請求の範囲】
【請求項１】
入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置であって、
変換前の注目画素がエッジかどうかを判定する判定手段と、
前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出する検出手段と、
前記検出手段の結果から、前記エッジの境界を示す直線を算出する算出手段と、
前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定する決定手段とを有することを特徴とする画像処理装置。
【請求項２】
前記直線は、前記注目画素上を通ることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記注目画素と、前記近傍画素群における画素との差分値に基づいて判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記判定手段は、ラプラシアンフィルタを用いることにより判定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記検出手段は、前記注目画素に最も近いエッジ画素を検出した後、前記最も近いエッジ画素の周囲で前記エッジの境界を形成する画素を検出することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記検出手段は、前記注目画素と前記近傍画素群に対して二値化処理した後に検出することを特徴とする請求項１乃至５の何れか一項に記載の画像処理装置。
【請求項７】
前記決定手段は、前記注目画素と前記近傍画素群の入力画素値を用いて補間処理することにより、前記変換後の画素値それぞれを決定することを特徴とする請求項１乃至６の何れか一項に記載の画像処理装置。
【請求項８】
前記決定手段は、前記注目画素に対応する前記変換後の画素を前記直線によって２つに分類し、前記分類された画素群それぞれに代表値を置換することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像処理装置は、前記入力画像データを解像度変換することを特徴とする請求項１乃至８の何れか一項に記載の画像処理装置。
【請求項１０】
前記画像処理装置は、前記入力画像デ―タを拡大することを特徴とする請求項１乃至８の何れか一項に記載の画像処理装置。
【請求項１１】
コンピュータに読み込み込ませ実行させることで、前記コンピュータを請求項１乃至１０の何れか一項に記載された画像形成装置として機能させることを特徴とするコンピュータプログラム。
【請求項１２】
判定手段、検出手段、算出手段、決定手段を有し、入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置ための画像処理方法であって、
前記判定手段が、変換前の注目画素がエッジかどうかを判定し、
前記検出手段が、前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出し、
前記算出手段が、前記検出手段の結果から、前記エッジの境界を示す直線を算出し、
前記決定手段が、前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをより画素数の多い画像データに変換するための補間処理をおこなう画像処理装置およびその制御方法に関する。
【背景技術】
【０００２】
従来、画像データをより画素数の多い画像データに変換する技術が知られている。例えば、画像データの取得、保持、転送にかかるコストを低減するために、低解像度の画像データを撮影しておき、必要に応じて高解像度な画像データに高解像度化する技術が知られている。このように画像データを画素数の多い画像データに変換する場合、増えた画素を元の画像データに基づいて補間する必要がある。ところが補間処理をすると、入力画像データにおけるエッジ部がぼやけてしまうという問題があった。
入力画像データをより画素数の多い画像データに変換する処理によってエッジ部がぼやけてしまうことを低減する技術として、特許文献１に記載された方法が知られている。特許文献１では、画像データを拡大する際にエッジ・マップを作成し、エッジ・マップにおける境界と交差しない位置にある１つ以上の画素をもとに補間処理して得られる画素値を追加画素として決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７―０３０２３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述の特許文献１によれば、画像における複雑なエッジを忠実にマッピングするため、膨大な演算が必要である。本発明は、画像データをより画素数の多い画像データに変換するための補間処理において、処理対象画素の近傍画素群に基づいてエッジを算出することにより、少ない演算量で鮮鋭な画像データを得ることを主な目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために本発明は、入力画像データを、前記入力画像データよりも画素数の多い画像データに変換するために、前記入力画像データに基づいて変換後の画像データを補間する画像処理装置であって、変換前の注目画素がエッジかどうかを判定する判定手段と、前記判定手段により前記注目画素がエッジであると判定された場合、前記注目画素と、前記注目画素の近傍画素群とに基づいて、前記近傍画素群においてエッジの境界を形成する画素を検出する検出手段と、前記検出手段の結果から、前記エッジの境界を示す直線を算出する算出手段と、前記注目画素に対応する変換後の画素ブロックにおける前記直線の位置に基づいて、前記画素ブロックを構成する各値を決定する決定手段とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像データをより画素数の多い画像データに変換するための補間処理において、処理対象画素の近傍画素群に基づいてエッジを算出することにより、少ない演算量でより鮮鋭な画像データを得ることができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置の構成を示すブロック図
【図２】エッジ画素検出処理のフローチャート
【図３】エッジ画素検出処理を説明する図
【図４】エッジ直線算出処理のフローチャート
【図５】解像度変換処理を説明する図
【図６】画像処理装置の構成を示すブロック図
【図７】エッジ判定処理を説明する図
【図８】ラプラシアンフィルタの係数を示す図
【図９】二値化処理を説明する図
【図１０】エッジ形成画素検出回路図
【図１１】エッジ形成画素検出回路の各フリップフロップ値の遷移を説明する図
【図１２】エッジ形成画素検出回路の各フリップフロップ値の意味を説明する図
【発明を実施するための形態】
【０００８】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【０００９】
＜第１の実施形態＞
第１の実施形態では、入力された画像データをより高解像度な画像データに変換する場合について説明する。処理対象画素とその近傍画素群とに基づいて、処理対象画素を横断するエッジ直線を算出する。そして、算出したエッジ直線に応じて、処理対象画素に対応する変換後の画素値それぞれを決定する。
【００１０】
図１は、第１の実施形態に適用可能な画像処理装置の構成を示すブロック図である。画像処理装置は、画像入力部１００、入力画像バッファ１０１、エッジ画素検出部１０２、細線算出部１０３、解像度変換部１０４を有する。画像入力部１００は、例えば、スキャナやデジタルカメラなどの画像入力機器やＨＤＤなどの記憶装置から多値のデジタル画像データを取得するインターフェースである。画像入力部１００が取得した入力画像データは、入力画像バッファ１０１に格納される。入力画像バッファ１０１は、一般的な画像処理装置で用いられるバッファと同様に、複数段のラインメモリから構成することもできるし、以降の各処理部が十分な内部メモリを有する場合には、この入力画像バッファ１０１を省略することもできる。
【００１１】
エッジ画素検出部１０２は、入力画像データを構成する画素ごとに、エッジ画素であるかどうかを検出する。処理対象画素がエッジ画素であるかどうかは、処理対象画素の周囲画素を参照して決定する。エッジ画素検出部１０２は、検出結果を直線算出部１０３と解像度変換部１０４に出力する。直線算出部１０３は、エッジ画素検出部１０２によって処理対象画素がエッジ画素であると検出された場合、所定領域内における処理対象画素近傍のエッジ直線を算出する。エッジ直線とは、エッジの境界を示す線である。直線算出部１０３は、算出したエッジ直線を示す情報を解像度変換部１０４に出力する。詳細については後述する。
【００１２】
高解像度変換部１０４は、処理対象画素をより高解像度に変換する高解像度化を行う。高解像度化は変換率に従って処理対象画素に対応する画素数を決定し、処理対象画素の画素値に基づいて変換後の各画素値を決定する。例えば、変換率が縦４倍、横４倍である場合、処理対象の１画素は１６画素に変換されることになり、１６画素の画素値それぞれを決定する。この高解像度化を行うことにより、入力画像データを構成する画素の数が増え、より高解像度な画像データが得られることになる。高解像度変換部１０４は、処理対象画素がエッジ画素であると検出された場合、エッジ直線に基づいて処理対象画素に対応する変換後の画素値それぞれを決定する。処理対象画素がエッジ画素であると検出されなかった場合は、従来の補間処理を用いて処理対象画素に対応する変換後の画素値を決定すればよい。
【００１３】
次に、エッジ画素検出部１０２によるエッジ画素検出処理を詳細に説明する。図２（ａ）は入力画像データを示し、画素３００を処理対象とする。図２（ｃ）は、エッジ画素検出部１０２におけるエッジ画素検出処理のフローチャートである。
【００１４】
まず、ステップＳ２００において、処理対象画素の近傍画素群のうち、近い順に１つ画素を選択する。図３（ｂ）は、処理対象画素の近傍画素群において選択される順番を示す。次に、ステップＳ２０１において、処理対象画素の画素値と選択した近傍画素の画素値とを比較し、その差分が所定値以上かどうかを判定する。ここで所定値は１０とする。１０以上の差分がある場合、処理対象画素をエッジ画素であると判定する。
【００１５】
処理対象画素の画素値と選択した近傍画素の画素値との差分が所定値以上となった場合には、ステップＳ２０２において、処理対象画素をエッジ画素と設定し、処理を終了する。また、選択した近傍画素を、処理対象画素の最近傍にあるエッジ画素（以下、最近傍エッジ画素）として設定する。処理対象画素と最近傍エッジ画素の間には、エッジの境界が存在すると言える。処理対象画素の画素値と選択した全ての近傍画素の画素値との差分が所定値以上とならなかった場合には、ステップＳ２０３にすすむ。
【００１６】
ステップＳ２０３おいて、処理対象画素の近傍画素群のうち、他に選択すべき近傍画素が存在するかどうかを判定する。本実施例では、図２（ｂ）が示すように２４番目の近傍画素まで選択する。まだ選択していな近傍画素がある場合には、ステップＳ２００に戻り、次の近傍画素を設定する。ステップＳ２０３において、全ての近傍画素について処理対象画素との差分が所定値を超えなかった場合には、ステップＳ２０４において、エッジ画素を設定せずに処理を終了する。
【００１７】
以上のエッジ画素検出処理の結果、エッジ画素検出部１０２は、処理対象画素３００をエッジ画素であると検出する。また処理対象画素３００に対して、３番目に選択した近傍画素３０１を処理対象画素に最近傍エッジ画素として検出する。なおここでは、処理対象画素がエッジ画素かどうかを判定する方法として近傍画素との画素値の差分を用いたが、これに限らない。例えば公知技術であるラプラシアンなどを用いてエッジ度を算出し、このエッジ度が所定の値よりも大きい場合に処理対象画素をエッジ画素としてもよい。更に近傍画素については、エッジ度に比例し処理対象画素からの距離に反比例する評価値を用いて、評価値が最も大きい画素を最近傍エッジ画素として検出しても良い。
【００１８】
次に、直線算出部１０３によるエッジ直線算出処理を説明する。なお前述の通りエッジ直線とは、エッジの境界を示す直線である。直線算出部１０３は、処理対象画素の最近傍にあるエッジ画素を基準にエッジ直線を算出する。まず直線算出部１０３は、所定領域内でエッジ画素検出部１０２が設定した最近傍エッジ画素３０１を基準に、エッジ直線を形成する画素を検出する。処理対象画素３００と最近傍エッジ画素３０１との位置関係から、エッジ直線を形成する画素を探索する方向を決める。探索対象となった近傍画素の画素値と処理対象画素３００の画素値との差分が所定値以上となるかどうかを判定する。次に、すでにエッジ直線を形成する画素として判定された画素との相対的な位置に応じて、エッジ直線となりうるかどうかを判定する。以上の処理を繰り返すことにより、処理対象画素の近傍画素群に基づいて、エッジ直線を形成する画素を検出し、エッジ直線を算出する。
【００１９】
図４は、エッジ直線算出処理のフローチャートである。
【００２０】
ステップＳ４０１において、エッジ検出部がエッジ画素として検出した処理対象画素と、その最近傍エッジ画素を入力する。ここでは図３（ｃ）が示すように、処理対象画素として画素３００が、最近傍エッジ画素として３０１が設定される。
【００２１】
ステップ４０２において、最近傍エッジ画素を囲む８個の画素に対して、エッジ画素を探索する。エッジ画素は、最近傍エッジ画素と同様に処理対象画素３００に対するエッジ度に基づいて判定される。探索の対象として選択された最近傍エッジ画素３０１の周囲にある画素の画素値と、処理対象画素３００の画素値との差分が所定値以上であればエッジ画素として判定される。探索する方向は、処理対象画素３００と最近傍エッジ画素３０１との相対的な位置関係によって決まる。最近傍エッジ画素３０１は処理対象画素３００に対して所定値以上の差分をもつ画素であり、処理対象画素３００と最近傍エッジ画素３０１の間にエッジの境界が存在するとみなせる。つまりエッジ直線は処理対象画素３００と最近傍エッジ画素３０１とを結ぶ線に直交する方向に伸びている。従って図３（ｄ）が示すように、エッジ直線が伸びうる左右の方向にエッジ画素を探索し、最近傍エッジ画素３０１の上下に位置する画素は探索の対象としない。このようにエッジ画素の探索は、異なる２つの方向に行い、処理対象画素３００に近い方から順にエッジ画素かどうかを判定していく。例えば最近傍エッジ画素３０１の右方向を探索する場合、画素３０２、３０３、３０４の順に判定する。このとき、画素３０２がエッジ画素として検出される。１つの探索方向においてエッジ画素が１つ判定されたら、その探索方向におけるエッジ画素の探索を終了する。同様に、エッジ直線が伸びうる方向にある画素３０５、３０６、３０７に関しても順に判定すると、画素３０６がエッジ画素として検出される。以上のようにステップＳ４０２において、最近傍エッジ画素３０１の周囲画素のうちエッジ画素を探索し、２つまたは１つのエッジ画素が検出されればステップＳ４０３に進む。最近傍エッジ画素の周囲に１つもエッジ画素が見つからなかった場合は、ステップＳ４０８に進み、エッジ直線算出処理を終了する。ただし、２つの画素がエッジ画素として検出され、且つ、両方の画素が、エッジ直線が存在すると推定される位置（処理対象画素と最近傍エッジ画素を結ぶ直線に直交する線）よりも注目画素３００側にある場合、ステップＳ４０８に進み処理を終了する。具体的には、最近傍エッジ画素３０１に対して、左右両方向において斜め上に位置する２つの画素が検出された場合、あるいは斜め下に位置する２つの画素が検出された場合である。これは、処理対象画素に対して１つのエッジ直線を算出できない可能性が高いためである。
【００２２】
次にステップＳ４０３において、検出した画素３０２及び画素３０６がエッジ直線を形成する画素となるかどうかを判定する。判定には、最近傍エッジ画素３０１と連結した場合に、直線を形成しうるかどうかによって判定する。例えば、ステップＳ４０２において検出された１つまたは２つのエッジ画素を最近傍エッジ画素３０１に連結した場合、縦又は横に連続して並ぶか、縦又は横のいずれか一方のみに±１だけ異なるという条件を満たせば、エッジ直線になりうると判定する。図３（ｅ）に示すように、最近傍エッジ画素３０１に対して、ステップＳ４０２で検出された画素３０２と３０６を連結した場合、３つの画素は、縦方向に＋１異なる範囲で横方向に並んでいる。つまり、画素３０２と画素３０６はエッジ直線をなす条件を満たし、エッジ直線を形成する画素であると判定される。エッジ直線にならないと判定された場合は、ステップＳ４０８に進み、エッジ直線算出処理を終了する。なお、縦方向に連続する画素数と横方向に連続する画素数のうち、より多くの画素が連続する方向をエッジ直線の伸びる方向として、エッジ形成条件を判定する。
【００２３】
次に、ステップＳ４０４において、直前の処理においてエッジ直線を形成する画素として検出された画素を基準エッジ画素として、基準エッジ画素の周囲にある画素からエッジ画素を探索する。ここでは画素３０２および画素３０６が基準エッジ画素となる。エッジ画素の検出はステップＳ４０２と同様に、処理対象画素３００の画素値と探索の対象として選択した画素の画素値との差分が所定値以上であるかどうかに基づいて判定する。各画素値の差分が所定値以上であれば、探索の対象として選択した画素をエッジ画素として検出する。ただし探索方向は、基準エッジ画素と、直前にエッジ直線を形成する画素として設定されたエッジ画素との相対的な位置関係に応じて決まる。ここでは、直前にエッジ直線を形成する画素として設定されたエッジ画素と基準エッジ画素を結ぶ直線方向に探す。画素３０２の場合、直前にエッジ直線を形成する画素として設定されたエッジ画素は最近傍エッジ画素３０１であり、２つを結ぶ直線状にエッジ画素を探索する。つまりエッジ画素３０２の周囲に位置する画素のうち、上、右上、右に隣接する画素が探索の対象となる。
【００２４】
ただし２つの画素を基準エッジ画素として２方向にエッジ画素を探索する場合、２つの基準画素の位置関係によって探索範囲を省略する。エッジ直線を形成する画素である最近傍エッジ画素３０１、画素３０２、３０６を連結したとき、画素３０２は上方向に移動している。ここでもう一方の画素３０６でも上方向に移動すると処理対象画素近傍のエッジの境界を算出できないため、画素３０６における探索方向から上に隣接する画素を除く。そのため画素３０６については、左、左下に隣接する画素を探索の対象とする。判定を行う順序は、エッジ直線の概ねの位置に応じて決められる。エッジ直線を形成する画素として検出された画素３０１、３０２、３０６を連結した画素群は、処理対象不画素３００の右下に位置する。これは、エッジ直線が処理対象画素３００から見て右下の方向にあるといえる。そこでエッジ直線に沿うように、左上にある画素から順に判定される。例えば画素３０２を基準エッジ画素として探索する場合には、画素３０２の上、右上、右の画素順に探索する。図３（ｆ）に示すように、画素３０８及び画素３０９がそれぞれの基準エッジ画素の周囲にあるエッジ画素として検出される。
【００２５】
ステップＳ４０４において、１つまたは２つのエッジ画素が検出されればステップＳ４０５に進む。基準エッジ画素の周囲にエッジ画素が検出されなければ、ステップＳ４０９にすすむ。
【００２６】
次にステップＳ４０５において、ステップＳ４０４で検出されたエッジ画素がエッジ曲線を形成する画素かどうかを判定する。画素３０８及び画素３０９と、今までにエッジ直線を形成する画素と判定された画素３０１、３０２、及び３０６を連結させると、横方向に連結する。つまり画素３０８および画素３０９は、それまでに得られたエッジ直線を形成する画素３０１、３０２、３０６が連結する方向に位置する。そのため画素３０８および３０９は、エッジ直線を形成する条件を満たすと判定する。
【００２７】
ステップＳ４０６において、所定領域内でエッジ直線を形成する画素の探索が終了したかを判定する。ここで所定領域は、処理対象画素を中心に画素７×７の領域である。全ての探索が終了すると、ステップＳ４０７に進む。所定領域内で探索する対象がある場合は、ステップＳ４０４に戻る。
【００２８】
図３（ｇ）は以上の結果を繰り返した結果を示す。図３（ｆ）において、画素３０８と画素３０９のそれぞれを基準エッジ画素として周囲にエッジ画素を探索し、エッジ直線を形成する画素かどうかを判定すると、エッジ直線を形成する画素として画素３１０が検出される。図３（ｇ）において、直前の処理で検出されたエッジ直線を形成する画素３１０を基準エッジ画素として、周囲のエッジ画素を探索し、エッジ直線を形成する画素かどうかを判定する。所定領域内に条件を満たす画素はないので、エッジ直線を形成する画素の検出は終了する。
【００２９】
上記のように、最近傍エッジ画素の他に１つ以上の画素がエッジ直線を形成する画素であると判定されると、ステップＳ４０７においてエッジ直線を算出する。ここでは図４（ｈ）が示すように、画素３０１、３０２、３０６、３０８、３０９、３１０がエッジ直線を形成する画素として検出されている。これらの画素に基づいて、エッジ直線の方程式を算出する。
【００３０】
まずエッジ直線の傾きを算出する。エッジ直線の傾きは、エッジ直線を形成する画素を連結させた画素群から算出する。本実施例では、エッジ直線を形成する画素は、横方向に連結し、その連続する画素数が２または３となる。そこで、傾きは連続する画素数の平均値をとって横に２．５画素とする。即ち、横に＋２．５画素移動すると縦に＋１画素移動するような傾きを持つ直線となる。そして最後に検出された画素３１０の中心位置と算出した傾きからエッジ直線の傾きを得ることができる。エッジ直線は、処理対象画素３００の近傍に位置するエッジの境界を示す。本実施例では、エッジ直線と処理対象画素３００の相対的な位置関係を算出する。その方法として、例えば、所定領域の左上端を原点（０，０）の座標空間を設定し、エッジ直線の方程式と処理対象画素３００の位置関係とから、処理対象画素３００の枠とエッジ直線との交点を算出するなどすればよい。その結果図５（ａ）が示すように、エッジ直線は処理対象画素３００上を通過することがわかる。
【００３１】
以上のフローによって直線検出部１０３は処理対象画素近傍のエッジ直線を算出する。
【００３２】
解像度変換部１０４における処理対象画素に対応する変換後の画素値の決定方法を説明する。図５は、解像度変換部における処理の結果の一例を示す。本実施例では、処理対象画素を横４倍、縦４倍に変換する変換率に従って高解像度化をする。これにより処理対象の１画素に対して１５画素ふえて、処理対象画素に対応する画素数は１から１６に変換される。
【００３３】
解像度変換部１０４は、エッジ画素検出部１０２によって処理対象画素がエッジ画素として検出された場合、直線算出部１０３が算出したエッジ直線３１１を用いて解像度変換後の処理画素値を決定する。本実施例では、解像度変換後の画素位置がエッジ直線を境界にして、高濃度側にあるか低濃度側にあるかに応じて、高濃度側の代表値で置換するか低濃度側の代表値で置換するかを決める。図５（ａ）は図３（ａ）が示す入力画像データにおける処理対象画素３００を示している。変換率に従って、４×４画素に分割されている。
【００３４】
本実施例のエッジの境界を示すエッジ直線３１２は、処理対象画素３００上を通るエッジの境界である。また処理対象画素３００の画素値は４６、エッジ画素３０１の画素値は９８である。そこで、エッジ直線３１２を境界にしてエッジ画素３０１のある右下方側を高濃度側とし、高濃度側の代表値をエッジ画素の画素値９８とする。また、エッジ直線３１１を境界にして処理画素３００のある左上方側を低濃度側とし、低濃度側の代表値を処理画素の画素値４６とする。図５（ｂ）は、処理対象画素３００の変換処理結果を示している。変処理対象画素３００の変換後の出力結果は、階段状ではなく直線によって示されたエッジ境界をもとに画素値が決定されているため、変換率をどのように設定しても解像度変換後の画像にジャギーが発生しにくい。
【００３５】
解像度変換処理部１０４は、処理対象画素３００がエッジ画素として検出されなかった場合、処理対象画素の周囲にはエッジが存在しないことになるため、従来の補間方法を用いて変換後の画素値を決定する。また、処理対象画素３００がエッジ画素として検出された場合でも、エッジ直線がないあるいは、エッジ直線が処理対象画素上を通らないときは、従来の変換処理を用いて変換処理をする。
【００３６】
以上のように、処理対象画素がエッジ画素である場合、所定領域における処理対象画素の近傍画素群に基づいて、処理対象画素の近傍にあるエッジの境界を示す直線を算出する。このエッジの境界を示す直線を用いて、変換後の画素値を決定する補間処理をすることで、エッジのジャギーを低減することができる。また本実施形態では、複数かつ複雑なエッジを検出することなく、エッジである処理対象画素の近傍に存在するエッジを予め一つの直線に限定して算出する。任意のエッジを忠実にマッピングする場合、入力画像データと同じ解像度のデータにマッピングすると、エッジ境界が階段状になり、ジャギーを低減できない。一方、任意のエッジを高解像度化後の解像度のデータにマッピングすると、画素値を決定する度に大量にデータアクセスが必要になったり、エッジ・マップによる領域分離等の処理が必要となったりする。本実施形態によれば、近傍画素群に基づいて簡易的にエッジ直線を算出するため、エッジ直線を算出する際も、算出したエッジを補間処理に利用する際にも演算量を大幅に削減することができる。
【００３７】
なお図５（ｃ）は、変換率を縦３倍、横２．５倍とする例である。処理対象画素の枠と解像度変換後の画素それぞれの枠が一致しない場合でも、画素群３１４のようにジャギーを生じない出力結果が得られる。このように、予め定められる変換率は整数でなくても良いし、縦横が異なる変換率でも良い。
【００３８】
なお本実施例では、エッジ直線を形成する画素を、最近傍エッジ画素を中心に検出した。しかしながら、処理対象画素の近傍画素に基づいて処理対象画素上を通るエッジの境界を算出できればよい。例えば、処理対象画素を囲む周囲８つの画素において、ｘ座標、ｙ座標いずれも異なる２つの画素の組み合わせのうち、最もエッジ量が大きい組み合わせを選択する。そして選択した２つの画素を結ぶ直線をエッジ直線としてもよい。
【００３９】
＜第２実施形態＞
第２実施形態では、より演算を簡略化するため、入力された画像データを二値化した後、二値化された画像データに基づいてエッジ直線を算出する例を説明する。
【００４０】
図６は第２実施形態に適用可能な画像処理装置の構成を示すブロック図である。本実施形態の画像処理装置は、画像入力部１００、入力画像バッファ１０１、エッジ判定部１０５、二値化部１０６、エッジ形成画素検出部１０７、解像度変換部１０４から構成される。尚、同符号がつけられた構成要素については、図１に示す実施例１の画像処理装置の構成と同一であり、その詳細説明を省略する。
【００４１】
エッジ判定部１０５は、入力された画像データにラプラシアンフィルタをかけ、処理対象画素がエッジ画素かどうかを判定する。図８はラプラシアンフィルタの一例を示す。処理対象画素とその近傍画素にラプラシアンフィルタをかけることにより処理対象画素のエッジ度を算出し、エッジ度が所定値よりも大きければ処理対象画素をエッジ画素として判定する。図７（ａ）は入力画像データを示し、図７（ａ）は入力画像データにラプラシアンフィルタをかけた結果を示している。ここでは、１００を所定値としてエッジ画素かどうかを判定する。処理対象画素７００は、エッジ度が１６８であり所定値を超えるので、エッジ画素であると判定される。なお、ラプラシアンフィルタを用いたエッジ判定はこの限りでない。図８に示したフィルタとは異なるラプラシアンフィルタでもよいし、所定値も適宜設定すればよい。
【００４２】
二値化部１０６は、閾値を用いて入力画像データを二値化する。図９は、二値化部１０６における二値化処理を説明するための図である。図９（ａ）は図７（ａ）が示す画素群に行番号と列番号を付加したものである。この画素群に対し、閾値よりも大きいか小さいかによって二値化処理する。ここでは画素７００を処理対象画素とするとき、閾値は処理対象画素７００とその８近傍の画素において、最小の画素値と最大の画素値２つの平均を用いる。図９（ａ）において最小画素値となるのは処理対象画素７００の左に隣接する画素の画素値３７、最大画素値となるのは処理対象画素７００の下に隣接する画素の画素値９８なので閾値は６７．５となる。この閾値よりも大きいか小さいかで１と０の二値に変換すると、エッジ直線を算出するための所定領域内の画素はそれぞれ図９（ｂ）のように二値化される。この二値化した画素群は、入力画像データにおけるエッジ形状を保持している。なお、閾値はこれに限らない。入力レンジの中央値（８ｂｉｔデータの場合、例えば１２５）や、所定領域内の平均値などを用いてもよい。
【００４３】
エッジ直線検出部１０７では、二値化部１０６によって二値化された画素群に基づいて、処理対処画素近傍を通るエッジ直線を形成する画素を検出する。なお、画像データにおける画素の並びに平行または垂直なエッジは、高解像度化に伴う補間処理をしてもジャギーが発生しにくい。そこで本実施形態では、処理対象画素を通る斜めのエッジ直線を形成する画素を検出する。エッジ直線検出部１０７は、縦及び横の中央３ラインにおいて、横方向又は縦方向に並ぶ３画素についてエッジ直線形成する条件を満たす画素が連続する数をカウントすることにより、エッジ直線を検出する。
【００４４】
エッジ直線を形成する条件は、以下２通りある。エッジ直線が横方向に伸びている場合、行Ｒ３に位置する画素において、二値化後の処理対象画素７００と同じ二値化値をもち、その上下に隣接する画素のいずれか一方が処理対象画素７００と異なる二値化値である場合、エッジ直線を形成する条件を満たす。同様に、縦方向にエッジ直線がのびている場合には、列Ｃ３に位置する画素において二値化後の処理対象画素７００と同じ二値化値である、その左右に隣接する画素のいずれか一方が処理対象画素と異なる二値化値である場合もエッジ直線を形成する条件である。またここでは、処理対象画素上を通るエッジの境界のみに注目しているため、エッジ形成条件を満たす画素が連続していても、その中に処理対象画素を含まない場合には無効とする。
【００４５】
まずは、図９（ｂ）に示す二値化した画素群のうち、中央付近の横３ラインの行Ｒ２、Ｒ３、Ｒ４でエッジ直線を検出することを考える。処理対象画素７００の画素値は０なので、エッジ形成条件は、縦に並ぶ３画素において、行Ｒ３の画素値が０、行Ｒ２又は行Ｒ４のいずれか画素値が１となる画素群があるかということになる。以上のような条件を満たす画素列が連続して何回続くかを検出するには、図１０に示すようなエッジ直線検出回路を用いて行うことができる。図１０が示す回路には、所定領域におけるＲ２，Ｒ３，Ｒ４に位置する縦３画素がＣ０から順に入力される。
【００４６】
フリップフロップ１０００には、加算器１００１によってカウントアップされるエッジ形成条件を満たす縦３画素が連続する数（以下、連続数）が保持される。また、エッジ形成条件を満たさない縦３画素が入力された時点でこのフリップフロップ１０００はクリアされて、カウント値は０となる。
【００４７】
フリップフロップ１００２には、入力された縦３画素が処理対象画素７００を含む縦３画素である場合「１」が保持され、以降、入力された縦３画素がエッジ形成条件を満たし続ける限り「１」が保持される。フリップフロップ１００３はフリップフロップ１００２が「１」を保持したあと、処理対象画素を含む縦３画素が入力された時の連続数であるフリップフロップ１０００の値を保持する。フリップフロップ１００４は、ライン中央の縦３画素が入力されたときのフリップフロップ１０００のカウント値を保持する。これにより、これは、エッジ形成条件を満たす画素の連続において、処理対象画素の位置を保持することができる。フリップフロップ１００５は、エッジ形成条件を満たす縦３画素の連続が終了した時点での特定の値を保持する。フリップフロップ１００５は、直線の傾きが正か負かを示す情報を保持する。図１２（ｂ）は、レジスタ１００５の値を示す。図１２（ｂ）に示すように、エッジ形成条件を満たす縦３画素の連続が途切れたときの行Ｒ３の値とその直前の行Ｒ２及び行Ｒ４の値から、エッジの傾きの符号を決定することができる。
【００４８】
図１１は、図１０に示すエッジ直線検出回路に、Ｃ０からＣ６まで順に、行Ｒ２、Ｒ３、Ｒ４の縦３画素を入力していく際の各フリップフロップ値の遷移を示す。Ｃ０の縦３画素は、Ｒ３の二値化値が処理対象画素７００の二値化値と異なるのでエッジ形成条件を満たさない。そのため、各フリップフロップ値は０が保持される。次にＣ１の縦３画素が入力されると、Ｒ３の二値化値が処理対象画素７００の二値化値と同じであり、その上下に隣接する画素のいずれか一方が処理対象画素７００と異なる二値化値をもつので、エッジ形成条件を満たす。フリップフロップ１０００に「１」が保持される。Ｃ２の縦３画素も同様にエッジ形成条件を満たすため、フリップフロップ１００には、エッジ形成条件を満たす縦３画素が２つ連続したことを意味する「２」が保持される。Ｃ３の縦３画素も同様にエッジ形成条件を満たし、フリップフロップ１０００には連続数「３」が保持される。また、Ｃ３のＲ３は処理対象画素７００であるため、フリッピフロップ１００２に１が保持され、処理対象画素を含む縦３画素が入力された時点でのカウント値「２」がフリップフロップ１００４に保持される。次にＣ４の縦３画素が入力されると、Ｒ３の二値化値が処理対象画素７００の二値化値と異なるため、エッジ形成条件を満たさず、フリップフロップ１０００には０が保持される。また、ここでエッジ形成条件を満たす画素の連続が終了するため、フリップフロップ１００５は、連続数が終了したＣ４とその直前Ｃ３の縦３画素を参照し、傾きを示す特定値を保持する。ここでは図１２（ｂ）が示すように傾きはプラスなので、「０」が保持される。フリップフロップ１００３は、処理対象画素が入る欲された次のタイミングで、処理対象画素を含む連続数「３」が保持される。Ｃ５，Ｃ６はエッジ形成条件を満たさない。
【００４９】
最終的に各フリップフロップに保持された値からエッジ直線を算出することができる。図１２（ａ）が示すように、フリップフロップ１００３に保持された連続数である３は、エッジが縦に１画素移動するとき、横に３画素移動することを示す。また、フリップフロップ１００５から傾きは＋であるので、＋１／３がエッジ直線の傾きとして算出される。
【００５０】
同様に、図１０に示すエッジ直線検出回路に右端から左端まで行Ｒ２、Ｒ３、Ｒ４の縦３画素を入力した場合でも、最終的な各フリップフロップ値はほぼ同様の結果が得られる。
【００５１】
解像度変換部１０４は、エッジ判定部１０５における判定結果に従って、入力画像データを高解像度な画像データに変換する。処理対象画素がエッジ画素でないと判定さえた場合には、従来の補間処理を行い、変換後の画素値を決定する。一方解像度変換部１０４は、処理対象画素がエッジ画素であるという判定がされた場合は、エッジ直線検出部１０７によって検出したエッジ直線を形成する画素情報に基づいて補間処理を行う。各フリップフロップに保持された情報から、処理対象画素とその近傍画素群は、図１２（ａ）に示すようにエッジを形成することがわかる。そこでエッジ直線の傾きと、エッジの端に位置する画素の中心とからエッジ直線を算出する。ここで、フリップフロップ１００４の値から、エッジ形成画素における処理対象画素の位置がわかる。エッジ直線と処理対象画素の位置関係を参照し、エッジ直線が処理対処画素上を通らない場合は、従来の補間処理を行う。エッジ直線が処理対象画素上を通る場合、算出したエッジ直線に基づいて補間処理をする。エッジ直線を考慮した補間処理については、第１実施形態と同様の方法で行えばよい。
【００５２】
本実施形態のようにエッジの境界を示す直線を二値化した画像データに基づいて検出する場合にも、処理画素近傍のエッジに対するエッジ直線は、本来のエッジ形状に相似であるため、十分な効果を得ることができる。
【００５３】
また、エッジ判定部１０５で処理対象画素がエッジであると判定されなかった場合には、処理対象画素上を通るエッジの境界はないことになるため、従来の補間方法を用いて補間ぼけもジャギーも生じない鮮明な画像が得られる。
【００５４】
上記のように、本実施形態では、二値化した画素群に対して、簡単な回路で、エッジを形成する画素を検出することができる。そのため、複雑な小数点演算などを必要とせず、さらに演算量を抑えることができる。尚、本実施形態では、エッジ形成画素検出部１０７を専用の回路によって実現する例を説明したが、これはＣＰＵによる演算でも実現可能であり、同様に演算量も抑えることができる。
【００５５】
本発明は、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）がコンピュータが読み取り可能に記憶媒体に格納されたプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【図１】
2013240014.tif 000003
【図２】
2013240014.tif 000004
【図３】
2013240014.tif 000005
【図４】
2013240014.tif 000006
【図５】
2013240014.tif 000007
【図６】
2013240014.tif 000008
【図７】
2013240014.tif 000009
【図８】
2013240014.tif 000010
【図９】
2013240014.tif 000011
【図１０】
2013240014.tif 000012
【図１１】
2013240014.tif 000013
【図１２】
2013240014.tif 000014