(57)【特許請求の範囲】
【請求項１】
複数の画素を縦方向及び横方向に並べて構成される二次元配列の入力画像を拡大又は縮小して前記入力画像とは画素数が異なる二次元配列の出力画像を生成するための画像処理装置であって、
前記縦方向又は前記横方向のどちらか一方の軸方向に並ぶ隣接する３以上の画素のそれぞれに関する情報を入力するための３以上のタップを備えた第１のフィルタ手段と、
前記軸方向に並ぶ隣接する２つの画素のそれぞれに関する情報を入力するための２つのタップを備えた第２のフィルタ手段と、
前記入力画像を前記第１のフィルタ手段を用いて処理した後、前記第２のフィルタ手段を用いて前記出力画像を生成する組み合わせ制御手段と、を設けた画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
予め用意された複数の優先条件の中から適用すべき優先条件を選択するための優先条件選択手段を更に設け、
前記組み合わせ制御手段は、前記優先条件選択手段によって選択された優先条件に従って、前記第１のフィルタ手段及び第２のフィルタ手段の動作パラメータを動的に決定する画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記優先条件選択手段は、処理中に使用されるワークメモリの使用量を抑制することを優先する第１の優先条件と、処理速度を上げることを優先する第２の優先条件と、前記出力画像に関する画質の向上を優先する第３の優先条件との中から１つの優先条件を選択する画像処理装置。
【請求項４】
請求項１に記載の画像処理装置において、
前記組み合わせ制御手段は、前記入力画像と出力画像との各軸方向の画素数の比率を表す指定変換比率と、前記第１のフィルタ手段の選択可能ないずれかの変換比率とが一致しない場合には、前記第１のフィルタ手段の選択可能な複数の変換比率の中で前記指定変換比率との誤差が最も小さい特定の変換比率を選択し、選択された前記変換比率と前記指定変換比率との誤差相当について、前記第２のフィルタ手段で処理する画像処理装置。
【請求項５】
請求項１に記載の画像処理装置において、
前記組み合わせ制御手段は、前記入力画像と出力画像との各軸方向の画素数の比率を表す指定変換比率と、前記第１のフィルタ手段の選択可能ないずれかの変換比率とが一致しない場合には、前記第１のフィルタ手段の選択可能な複数の変換比率の中で前記指定変換比率に近い２つの変換比率を選択し、更に選択された２つの変換比率のいずれか一方を、変換が拡大か縮小かに応じて選択し、選択された前記変換比率と前記指定変換比率との誤差相当について、前記第２のフィルタ手段で処理する画像処理装置。
【請求項６】
複数の画素を縦方向及び横方向に並べて構成される二次元配列の入力画像を拡大又は縮小して前記入力画像とは画素数が異なる二次元配列の出力画像を生成するための画像処理方法であって、
前記縦方向又は前記横方向のどちらか一方の軸方向に並ぶ隣接する３以上の画素のそれぞれに関する情報を入力するための３以上のタップを備えた第１のフィルタ手段と、前記軸方向に並ぶ隣接する２つの画素のそれぞれに関する情報を入力するための２つのタップを備えた第２のフィルタ手段とを予め用意しておき、
前記入力画像を前記第１のフィルタ手段を用いて処理した後、前記第２のフィルタ手段を用いて前記出力画像を生成する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法及び画像処理装置に関し、特に、携帯端末などを利用する場合に拡大や縮小によって画像の解像度（画素数）を変換しようとする際に適用されるフィルタリング技術に関する。
【背景技術】
【０００２】
携帯端末などを利用するユーザにおいては、事前に取得した画像のサイズを希望する大きさに拡大又は縮小したいという要望がしばしば生じる。このような要望については、画像を構成する画素数を増減し解像度を変えることにより対応可能である。
【０００３】
例えば、原画像の画素毎に１画素から横方向２画素、縦方向２画素を生成し、生成された画素を横方向及び縦方向に並べれば縦横それぞれ２倍に拡大された出力画像が得られる。また、原画像において横方向に隣接する２画素毎に、１画素の間引きを行うと共に、縦方向については１行毎に間引きを行って出力画像を生成することにより、縦横それぞれ１／２に縮小された画像が得られる。
【０００４】
しかし、画素の追加や間引きを単純に行うだけでは、拡大の場合は出力画像にギザギザが生じるし、縮小の場合には情報量の欠落によって画像品質の低下が生じてしまう。そこで、画像の拡大や縮小を実施する場合には、従来より様々なフィルタリング処理を行うことが試みられている。
【０００５】
また、本発明と関連のある従来技術として、例えば特許文献１、特許文献２、特許文献３に開示された技術が知られている。特許文献１においては、フィルタリングに関する省メモリ技術を開示している。特許文献２においては、離散コサイン変換（ＤＣＴ）を用いるフィルタリング技術について開示している。特許文献３においては、解像度変換後にエッジ強調により画像を鮮明化する技術について開示している。
【０００６】
また、従来よりソフトウェアを用いて画像の解像度を変換する場合には、ＣＰＵ負荷の軽減及び処理時間の短縮のために比較的単純な処理が実施される場合が多い。すなわち、一般的には画素の単純間引き又は単純補間処理を行うか、又はバイリニアフィルタ処理を行っている。バイリニアフィルタ処理については、例えば入力画像上で１つの軸方向に隣接している２画素に基づいて１つの出力画素を生成するように処理する。
【０００７】
また、従来よりハードウェア（専用の電子回路）を用いて画像の解像度を変換する場合には、多数の入力端子を備える線形フィルタを利用して画像の処理を行っている。例えば、入力画像上で１つの軸方向に隣接している３以上のに基づいて１つの出力画素を生成するように処理する。
【０００８】
なお、一次元のフィルタであっても、例えば横方向の画素の並びについて処理を行った後で縦方向の画素の並びについて処理を行うことにより二次元画像の解像度変換（画素数の変換）を実現することができる。
【特許文献１】特開２００２−０４４４２４号公報
【特許文献２】特開２００２−２６９５５６号公報
【特許文献３】特開２００４−５２４６３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、バイリニアフィルタ処理を行う場合には、処理が単純であるため、変換後に得られる出力画像の品質はあまり良くない。また、線形フィルタを利用して画像の処理を行う場合には、比較的品質の高い出力画像を得ることができるが、入力画像と出力画像との間の画素数変換倍率の自由度が低い。例えば、１／２倍や２倍のような予め定めた特定倍率での変換を行うことはできるが、任意の倍率について変換を行うことは線形フィルタではできない。しかし、ユーザは任意のサイズの入力画像から任意のサイズの高品質の出力画像を生成することを希望すると考えられる。
【００１０】
本発明は、解像度あるいは画素数の変換倍率に関する自由度が高く、しかも高品質の出力画像を得ることが可能な画像処理方法及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
１番目の発明は、複数の画素を縦方向及び横方向に並べて構成される二次元配列の入力画像を拡大又は縮小して前記入力画像とは画素数が異なる二次元配列の出力画像を生成するための画像処理装置であって、前記縦方向又は前記横方向のどちらか一方の軸方向に並ぶ隣接する３以上の画素のそれぞれに関する情報を入力するための３以上のタップを備えた第１のフィルタ手段と、前記軸方向に並ぶ隣接する２つの画素のそれぞれに関する情報を入力するための２つのタップを備えた第２のフィルタ手段と、前記入力画像を前記第１のフィルタ手段を用いて処理した後、前記第２のフィルタ手段を用いて前記出力画像を生成する組み合わせ制御手段とを設けたことを特徴とする。
【００１２】
１番目の発明では、互いに種類の異なる第１のフィルタ手段及び第２のフィルタ手段を組み合わせて画像のフィルタリング処理を実施するので、変換倍率に関する自由度が高く、しかも高品質の出力画像を得ることが可能になる。前記第１のフィルタ手段は、一般的にＦＩＲ(Finite Impulse Response)フィルタと呼ばれる線形の空間フィルタに相当する。第１のフィルタ手段は、線形フィルタであるため高品質の画像を生成可能であるが、変換倍率の自由度が非常に小さい。一方、前記第２のフィルタ手段は実行すべき処理が単純であり、変換倍率の自由度が高いが、高品質の画像を生成できない。しかし、第１のフィルタ手段と第２のフィルタ手段とを組み合わせて使用することにより、変換倍率の自由度が高くなり、高品質の出力画像を得ることも可能になる。更に、前記組み合わせ制御手段が、前記入力画像を前記第１のフィルタ手段を用いて処理した後、前記第２のフィルタ手段を用いて前記出力画像を生成するので、任意の画素数の入力画像及び任意の画素数の出力画像に対応可能になり、更に、より品質の高い出力画像を得ることが可能になる。
【００１３】
２番目の発明は、１番目の発明において、予め用意された複数の優先条件の中から適用すべき優先条件を選択するための優先条件選択手段を更に設け、前記組み合わせ制御手段は、前記優先条件選択手段によって選択された優先条件に従って、前記第１のフィルタ手段及び第２のフィルタ手段の動作パラメータを動的に決定することを特徴とする。
【００１４】
２番目の発明では、予め用意された複数の優先条件の１つを選択して処理を行うことができるので、例えばユーザの希望やハードウェアの制約などの環境の違いに対して、最適な条件でフィルタリング処理を実行することが可能になる。
【００１５】
３番目の発明は、２番目の発明において、前記優先条件選択手段は、処理中に使用されるワークメモリの使用量を抑制することを優先する第１の優先条件と、処理速度を上げることを優先する第２の優先条件と、前記出力画像に関する画質の向上を優先する第３の優先条件との中から１つの優先条件を選択することを特徴とする。
【００１６】
３番目の発明では、前記第１の優先条件を選択することにより処理中に使用されるワークメモリの使用量を抑制することができ、前記第２の優先条件を選択することにより処理速度を上げることができ、前記第３の優先条件を選択することにより前記出力画像に関する画質を向上させることができる。
【００１７】
４番目の発明は、１番目の発明において、前記組み合わせ制御手段は、前記入力画像と出力画像との各軸方向の画素数の比率を表す指定変換比率と、前記第１のフィルタ手段の選択可能ないずれかの変換比率とが一致しない場合には、前記第１のフィルタ手段の選択可能な複数の変換比率の中で前記指定変換比率との誤差が最も小さい特定の変換比率を選択し、選択された前記変換比率と前記指定変換比率との誤差相当について、前記第２のフィルタ手段で処理するように制御することを特徴とする。
【００１８】
前記第１のフィルタ手段は前記変換倍率に関する制約が大きく、前記指定変換比率と、前記第１のフィルタ手段の選択可能ないずれかの変換比率とが一致しない場合が多い。４番目の発明では、前記指定変換比率と前記第１のフィルタ手段の選択可能ないずれかの変換比率とが一致しない場合に、前記第１のフィルタ手段の選択可能な複数の変換比率の中で前記指定変換比率との誤差が最も小さい特定の変換比率を選択し、選択された前記変換比率と前記指定変換比率との誤差相当について、前記第２のフィルタ手段で処理するので、画質に関する前記第２のフィルタ手段の影響度が小さくなり、より高品質の出力画像を得ることが可能になる。
【００１９】
５番目の発明は、１番目の発明において、前記組み合わせ制御手段は、前記入力画像と出力画像との各軸方向の画素数の比率を表す指定変換比率と、前記第１のフィルタ手段の選択可能ないずれかの変換比率とが一致しない場合には、前記第１のフィルタ手段の選択可能な複数の変換比率の中で前記指定変換比率に近い２つの変換比率を選択し、更に選択された２つの変換比率のいずれか一方を、変換が拡大か縮小かに応じて選択し、選択された前記変換比率と前記指定変換比率との誤差相当について、前記第２のフィルタ手段で処理するように制御することを特徴とする。
【００２０】
５番目の発明では、前記指定変換比率と、前記第１のフィルタ手段の選択可能ないずれかの変換比率とが一致しない場合に、前記第１のフィルタ手段の選択可能な複数の変換比率の中で前記指定変換比率に近い２つの変換比率を選択し、更に選択された２つの変換比率のいずれか一方を、変換が拡大か縮小かに応じて選択し、選択された前記変換比率と前記指定変換比率との誤差相当について、前記第２のフィルタ手段で処理するので、画像を拡大する場合と縮小する場合とのいずれにおいても、最適な条件で処理を行うことが可能になる。
【００２３】
６番目の発明は、複数の画素を縦方向及び横方向に並べて構成される二次元配列の入力画像を拡大又は縮小して前記入力画像とは画素数が異なる二次元配列の出力画像を生成するための画像処理方法であって、前記縦方向又は前記横方向のどちらか一方の軸方向に並ぶ隣接する３以上の画素のそれぞれに関する情報を入力するための３以上のタップを備えた第１のフィルタ手段と、前記軸方向に並ぶ隣接する２つの画素のそれぞれに関する情報を入力するための２つのタップを備えた第２のフィルタ手段とを予め用意しておき、前記入力画像を前記第１のフィルタ手段を用いて処理した後、前記第２のフィルタ手段を用いて前記出力画像を生成することを特徴とする。
【００２４】
７番目の発明の方法を実施することにより、１番目の発明の装置と同様な結果が得られる。
【発明の効果】
【００２５】
本発明によれば、互いに種類の異なる第１のフィルタ手段及び第２のフィルタ手段を組み合わせて画像のフィルタリング処理を実施するので、変換倍率に関する自由度が高く、しかも高品質の出力画像を得ることが可能になる。更に、前記組み合わせ制御手段が、前記第１のフィルタ手段及び第２のフィルタ手段のそれぞれを使用するか否かと、前記第１のフィルタ手段及び第２のフィルタ手段の処理順序と、前記第１のフィルタ手段及び第２のフィルタ手段の動作パラメータと、の少なくとも１つを入力画像の画素数と出力画像の画素数とに応じて動的に決定するので、任意の画素数の入力画像及び任意の画素数の出力画像に対応可能になる。
【発明を実施するための最良の形態】
【００２６】
本発明の画像処理方法及び画像処理装置に関する１つの実施の形態について、図１〜図１２を参照しながら以下に説明する。
【００２７】
図１は実施の形態の画像処理装置に関する主要な構成要素を示すブロック図である。図２は本発明を実施する装置のハードウェアの構成例を示すブロック図である。図３は実施の形態の画像処理装置に関する制御のための主要な処理を示すフローチャートである。図４はＭＮフィルタ部の基本的な構成を示すブロック図である。図５はＭＮフィルタ部の具体的な構成例を示すブロック図である。図６はＭＮフィルタ部及びバイリニアフィルタ部の接続形態の変形例を示すブロック図である。図７は実施の形態の画像処理装置に関する制御の動作例を示す模式図である。図８は実施の形態の画像処理装置に関する制御の動作例を示す模式図である。図９は実施の形態の画像処理装置に関する画像変換の動作例を示す模式図である。図１０は実施の形態の画像処理装置に関する画像変換の動作例を示す模式図である。図１１は実施の形態の画像処理装置に関する画像変換の動作例を示す模式図である。図１２はフィルタ処理の違いに応じた画像品質の変化例を示す模式図である。
【００２８】
携帯電話端末や携帯型情報端末（ＰＤＡ）において本発明を実施する場合には、具体例として、例えば図２に示すような構成の電子回路のハードウェアを用いることが想定される。勿論、目的や必要とされる性能などに応じて使用するハードウェアの構成は様々に変更してもよい。また、使用するハードウェアを最小限のコンピュータだけにして、必要とされるフィルタリング処理などの機能をプログラムの実行により実現しても良い。
【００２９】
図２を参照すると、この画像処理装置には、マイクロプロセッサ（ＣＰＵ）１０と、フィルタ処理コア２０と、外部メモリ３０と、ＤＭＡコントローラ４０と、液晶表示部（ＬＣＤ）５０と、操作部６０とが備わっている。
【００３０】
マイクロプロセッサ１０は、装置全体の動作を制御するために備わっている。フィルタ処理コア２０は、画像の拡大及び縮小の際に用いられるフィルタリング処理の機能を提供する専用のハードウェア回路である。外部メモリ３０は、処理前の画像及び処理後の画像を一時的に保存するために利用される記憶回路である。ＤＭＡコントローラ４０は、外部メモリ３０上に存在する画像などのデータを液晶表示部５０などに対して高速転送するための動作に利用される。液晶表示部５０は、処理前の画像や、処理後の画像や、必要な文字列情報などを必要に応じて二次元画面上に表示する機能を有する。操作部６０は、ユーザの入力操作に応じた信号を生成する回路であり、例えば拡大／縮小後の画像サイズ（画素数）あるいは拡大／縮小の倍率を指定したり、拡大／縮小処理に関する優先順位を変更するために利用される。なお、操作部６０は本発明において必須の構成ではなく、操作部６０が構成に含まれていない場合には、本発明の画像処理装置は、固定値の画像サイズ、倍率、あるいは優先順位に基づいて、拡大／縮小処理を行う。
【００３１】
画像の拡大や縮小の処理を行う場合には、図２に示す画像処理装置は次に示すような手順で動作する。なお、詳細な動作については後で説明する。
１．マイクロプロセッサ１０がフィルタ処理コア２０に対して命令を発行する。
２．フィルタ処理コア２０はマイクロプロセッサ１０から与えられた命令に従って、外部メモリ３０上に存在する入力画像を読み込み、フィルタ処理コア２０の内部で画像の解像度（画素数）を変換して出力画像を生成し、この出力画像を外部メモリ３０に書き戻す。
３．外部メモリ３０上に書き込まれた出力画像をＤＭＡコントローラ４０を利用して液晶表示部５０に高速転送し、液晶表示部５０の画面に拡大又は縮小された出力画像を表示する。
【００３２】
図１に示すように、フィルタ処理コア２０上には、ＭＮフィルタ部２１とバイリニアフィルタ部２２とが備わっており、これらは制御部１１によって制御される。制御部１１は、図１に示すマイクロプロセッサ１０の処理によって実現される機能である。なお、ＭＮフィルタ部２１及びバイリニアフィルタ部２２のいずれか一方、もしくは両方の機能をマイクロプロセッサ１０が実行するプログラムにより実現することも可能である。但し、ＭＮフィルタ部２１については比較的複雑な処理になるので、マイクロプロセッサ１０の処理能力や処理にかかる所要時間を考慮すると専用のハードウェアを採用するのが現実的である。
【００３３】
制御部１１は、入力画像の画素数と、出力画像の画素数と、優先条件指定信号とに基づいて、ＭＮフィルタ部２１及びバイリニアフィルタ部２２の接続状態や処理の際に使用する各種パラメータを決定する。通常の状態では、図１に示すようにＭＮフィルタ部２１の後方にバイリニアフィルタ部２２が接続され、２種類のフィルタリング処理が順番に実行される。但し、ＭＮフィルタ部２１及びバイリニアフィルタ部２２のいずれか、又は両方をバイパスするように画像処理の経路を定めることもできるし、図６に示すように、バイリニアフィルタ部２２を前に配置してその後方にＭＮフィルタ部２１を接続するように、接続状態を変更することもできる。
【００３４】
ＭＮフィルタ部２１は、ＦＩＲフィルタと呼ばれる線形の空間フィルタであり、１軸方向に隣接して並ぶ３以上の画素の情報を入力するための３以上の入力タップを有している。具体的には、ＭＮフィルタ部２１は図４及び図５に示すような構成になっている。
【００３５】
図４を参照すると、このＭＮフィルタ部２１にはセレクタ１１０と、ｎ個の乗算器１１１(1)〜１１１(n)と、加算器１１２とが備わっている（ｎ≧３）。セレクタ１１０の入力には、拡大／縮小の倍率を決定する値Ｍ、Ｎと、フィルタ係数とが印加される。セレクタ１１０は、入力されるフィルタ係数の中から、入力値Ｍ、Ｎに基づいて特定のフィルタ係数を選択する。
【００３６】
ｎ個の乗算器１１１(1)〜１１１(n)は、セレクタ１１０が選択したフィルタ係数と該当する画素の値とを乗算してその結果を出力する。例えば、図５に示すように互いに隣接する５つの画素の値Ｄ(1)、Ｄ(2)、Ｄ(3)、Ｄ(4)、Ｄ(5)を同時に入力する場合には乗算器１１１(1)が画素の値Ｄ(1)とフィルタ係数ｋ１とを乗算した結果を出力し、乗算器１１１(2)が画素の値Ｄ(2)とフィルタ係数ｋ２とを乗算した結果を出力し、乗算器１１１(3)が画素の値Ｄ(3)とフィルタ係数ｋ３とを乗算した結果を出力し、乗算器１１１(4)が画素の値Ｄ(4)とフィルタ係数ｋ４とを乗算した結果を出力し、乗算器１１１(5)が画素の値Ｄ(5)とフィルタ係数ｋ５とを乗算した結果を出力する。そして、加算器１１２は５個の乗算器１１１(1)〜１１１(5)の出力値の総和を求めて出力する。つまり、参照している５画素の各々の内容に基づいて１つの出力画素を決定することができる。
【００３７】
画像の拡大や縮小を行う際に、上記のようなＭＮフィルタ部２１を用いてフィルタリングを行うことにより、例えば図１２に示すように出力画像としてギザギザのない滑らかな画像を生成することが可能になる。但し、ＭＮフィルタ部２１は線形フィルタであるため、処理可能な倍率を決定する値（Ｍ、Ｎ）がハードウェアの制約のため有限の値に限定され、任意倍率の変換には対応できない。
【００３８】
一方、バイリニアフィルタ部２２は、図示しないが、２つの入力画素に基づいて１つの出力画素を生成するので、処理の内容は非常に単純である。そのため、任意倍率の変換にも対応できる。但し、バイリニアフィルタ部２２によって生成される出力画像の品質はあまり良くない。
【００３９】
そこで、この形態では図１に示すようにＭＮフィルタ部２１とバイリニアフィルタ部２２とを組み合わせて使用できるように構成してある。実際の処理については、入力画像の画素数と、出力画像の画素数と、優先条件指定とに基づいて制御部１１が最適な処理条件を決定する。
【００４０】
次に、変換動作の具体例について説明する。図７に示す例では、入力画像が横方向にｐ画素、縦方向にｑ画素であり、出力画像が横方向にｒ画素、縦方向にｓ画素の場合を想定している。また、ＭＮフィルタ部２１が処理に利用可能なＭ、Ｎについては、自然数であり上限値が規定されている。
【００４１】
ここで、画像をまず横方向について変換する場合を想定すると、入力画像の画素数がｐ、出力画像の画素数がｒなので、（ｒ／ｐ）倍に変換する必要がある。ＭＮフィルタ部２１においては（Ｍ／Ｎ）倍の変換が可能であるが、Ｍ、Ｎの値が有限であるため、（ｒ／ｐ）と（Ｍ／Ｎ）とが一致するようなＭ、Ｎが利用できることは少ない。
【００４２】
図７においては、ＭＮフィルタ部２１が実際に利用可能なＭの値としてＭ１、Ｍ２、Ｍ３、・・・が存在し、実際に利用可能なＮの値としてＮ１、Ｎ２、Ｎ３、・・・が存在し、（ｒ／ｐ）に近い値として、（Ｍ１／Ｎ１）、（Ｍ２／Ｎ２）、（Ｍ３／Ｎ３）が存在する場合を想定している。
【００４３】
つまり、図７に示す例では（ｒ／ｐ）と一致する（Ｍ／Ｎ）が存在しないので、ＭＮフィルタ部２１では（ｒ／ｐ）と異なる倍率で変換せざるを得ない。ここで、実際にどの倍率を使用するかが問題になるが、例えば次に示すような基準に従って選択すれば望ましい結果が期待できる。
【００４４】
１．（ｒ／ｐ）に隣接する（Ｍ／Ｎ）の中で、誤差が最も小さいものを選択する。例えば、図７の例では（（Ｍ１／Ｎ１）−（ｒ／ｐ））と（（Ｍ２／Ｎ２）−（ｒ／ｐ））とを比べて小さい方を選択すればよい。
【００４５】
２．（ｒ／ｐ）に隣接する（Ｍ１／Ｎ１）と（Ｍ２／Ｎ２）のうち、縮小時は（Ｍ２／Ｎ２）を選択し、拡大時は（Ｍ１／Ｎ１）を選択する。
【００４６】
更に具体的な例について説明する。図８においては、入力画像が横方向に１００画素、縦方向に１００画素であり、出力画像が横方向に８８画素、縦方向に８８画素の場合を想定している。また、ＭＮフィルタ部２１が処理に利用可能なＭ、Ｎについては、（１〜１６）の範囲内の自然数に限定される場合を想定している。
【００４７】
ここで、指定された変換倍率（ｒ／ｐ）は（２２／２５）であるが、実際にＭＮフィルタ部２１が使用可能な近い（Ｍ／Ｎ）として（４／５）、（９／１０）が存在する。そこで、（（４／５）−（２２／２５））と（（９／１０）−（２２／２５））とを比較すると後者の方が小さいので（Ｍ／Ｎ）として（９／１０）を採用し、ＭＮフィルタ部２１で９０％の倍率の縮小処理を行う。これにより得られる画像のサイズは９０画素×９０画素であり、指定された８８画素×８８画素とは違いがあるので、この誤差分についてバイリニアフィルタ部２２を使用して更に変換処理を行う。バイリニアフィルタ部２２が行う処理はＭＮフィルタ部２１における変換倍率の誤差分だけなので、バイリニアフィルタ部２２の影響度は小さくなり、出力画像の品質劣化はあまり生じない。しかも、任意倍率の変換が可能になる。
【００４８】
なお、図８に示した例では、（Ｍ／Ｎ）として（４／５）を選択し、ＭＮフィルタ部２１で８０％の縮小処理を行った後で、バイリニアフィルタ部２２を用いて（８０画素×８０画素）のサイズから（８８画素×８８画素）のサイズに拡大しても良い。この場合、出力画像の画質が多少劣化するが、処理中に必要なワークメモリの容量を減らすことが可能になるので、ハードウェアの制約が大きい場合には利用する価値が高い。
【００４９】
実際には二次元画像を処理することになるので、例えば図９に示すような変換処理を行うことになる。図９に示す例では、入力画像が横方向に１００画素、縦方向に１００画素であり、出力画像が横方向に５２画素、縦方向に５２画素の場合を想定している。また、この例では出力画像における画質を優先することを想定しているので、ＭＮフィルタ部２１で各軸方向に（３／５）倍の変換を行って（６０画素×６０画素）の画像を生成した後で、バイリニアフィルタ部２２を用いて（５２画素×５２画素）の出力画像を生成している。
【００５０】
ところで、ＭＮフィルタ部２１及びバイリニアフィルタ部２２については二次元フィルタである必要はなく、一次元フィルタであっても途中で処理の方向を変え、２回に分けて処理を行うことにより、図１０及び図１１に示すように画像のサイズを変換することができる。例えば携帯電話端末のようにハードウェア資源の制約が大きい装置で本発明を実施しようとする場合には、一次元フィルタを採用する価値が高い。但し、一次元フィルタを用いる場合には、中間バッファ（メモリ）を使用する必要がある。
【００５１】
図１１に示す例では、入力画像が横方向に１００画素、縦方向に７５画素であり、出力画像が横方向に５２画素、縦方向に３９画素の場合に、一次元フィルタとして構成されたＭＮフィルタ部２１及びバイリニアフィルタ部２２を用いて縮小処理する場合を想定している。
【００５２】
図１１に示す例では、最初に入力画像２０１上をＸ軸方向に走査して一次元フィルタ（２１、２２）でＸ軸方向の１００画素を５２画素に縮小し、その結果の中間画像２０２を中間バッファ上で方向を変えてＹ軸方向に書き込む。これで、（５２画素×７５画素）構成の中間画像２０２ができあがる。
【００５３】
次に、中間バッファ上の中間画像２０２をＸ軸方向に走査して一次元フィルタ（２１、２２）でＸ軸方向の７５画素を３９画素に縮小し、その結果の出力画像２０３をメモリ（３０）上で方向を変えてＹ軸方向に書き込む。これで、（５２画素×３９画素）構成の出力画像２０３ができあがる。
【００５４】
次に、図１に示す制御部１１がフィルタ処理コア２０を制御する場合の処理手順について、図３を参照しながら説明する。入力画像の画素数及び出力画像（変換後の画像）の画素数が定まった後で、制御部１１の処理は図３のステップＳ１１に進む。
【００５５】
ステップＳ１１では、制御部１１は指定された入力画像の画素数及び出力画像の画素数に基づいて、フィルタ処理に必要な各種パラメータの候補を求める。パラメータの候補としては、例えば前述の（ｒ／ｐ）に近い（Ｍ１／Ｎ１）、（Ｍ２／Ｎ２）、（Ｍ３／Ｎ３）が想定される。
【００５６】
ステップＳ１２では、制御部１１はステップＳ１１で抽出されたパラメータの候補の中から実際に使用するパラメータを選択したり、ＭＮフィルタ部２１バイリニアフィルタ部２２の並び順やバイパス経路の使用の有無などの決定を行う。これらの決定を行う際には、優先度の条件を考慮して最適な処理条件になるように制御する。
【００５７】
なお、ＭＮフィルタ部２１に与えるフィルタ係数については、ハードウェアの制約により定まるＭ、Ｎの上限値に合わせて予め必要数の係数を用意しておき、実際に使用するＭ、Ｎの値に適したフィルタ係数を選択して使用する。
【００５８】
優先度については、条件保持部１２に複数種類の優先条件が事前に保持されている。優先条件選択部１３は、操作部６０からの入力などに応じて決定される優先度指定情報に従って、条件保持部１２が保持している複数の優先条件の中から１つの優先条件を選択する。その選択結果がステップＳ１２で参照される。
【００５９】
具体的に想定される優先条件としては、例えば次に例示するものがある。
１．処理中に使用されるワークメモリの使用量を抑制することを優先する。
２．処理速度を上げることを優先する。
３．出力画像に関する画質の向上を優先する。
【００６０】
ステップＳ１３では、制御部１１はステップＳ１２で決定したパラメータなどに従って、フィルタ処理コア２０を制御する。すなわち、使用すべき前述の（Ｍ／Ｎ）のパラメータを与えたり、バイパス経路の有無を決定したり、ＭＮフィルタ部２１とバイリニアフィルタ部２２との並び順（処理順）を変更したりする。
【００６１】
従って、例えば「画質の向上を優先する」優先条件が優先条件選択部１３で選択されているときに、図７に示すような条件で処理する場合には、図中の「判定基準例１」に従って、誤差が最小になる（Ｍ２／Ｎ２）のパラメータを選択してＭＮフィルタ部２１に与え、誤差分の処理をバイリニアフィルタ部２２で実行することになる。
【００６２】
また、例えば「ワークメモリの使用量を抑制する」優先条件が優先条件選択部１３で選択されているときに、図７に示すような条件で処理する場合には、図中の「判定基準例２」に従って、縮小か拡大かに応じて（Ｍ２／Ｎ２）又は（Ｍ１／Ｎ１）のパラメータを選択してＭＮフィルタ部２１に与え、誤差分の処理をバイリニアフィルタ部２２で実行することになる。
【００６３】
また、「処理速度を上げることを優先する」優先条件が優先条件選択部１３で選択されているときには、ＭＮフィルタ部２１及びバイリニアフィルタ部２２のいずれか一方又は両方の処理をバイパスし、単純な間引きや補間だけで処理を完結する場合もある。
【００６４】
また、入力画像と出力画像との画素数の比率（ｒ／ｐ）が例えば（１／２）の場合のように、（ｒ／ｐ）と一致する（Ｍ／Ｎ）を使用できる場合には、ＭＮフィルタ部２１の処理だけで希望する出力画像が得られるので、バイリニアフィルタ部２２の処理をバイパスして省略することができる。また、あまり高い画質を要求されない場合には、ＭＮフィルタ部２１の処理をバイパスし、バイリニアフィルタ部２２だけで拡大又は縮小の処理を実施することもできる。
【００６５】
なお、例えばハードウェアの制約などによりＭＮフィルタ部２１とバイリニアフィルタ部２２との処理の順序を予め固定するような場合には、ＭＮフィルタ部２１の処理を先に行い、その後でバイリニアフィルタ部２２の処理を行うように構成した方が出力画像の品質の点で望ましい結果が得られる。
【産業上の利用可能性】
【００６６】
以上のように、本発明の画像処理方法又は画像処理装置を適用することにより、変換倍率に関する自由度が高く、しかも高品質の出力画像を得ることが可能になる。例えば、携帯電話端末や携帯型情報端末のようにハードウェアの制約が大きくマイクロプロセッサの処理能力が小さい場合であっても、本発明を適用することにより、任意のサイズの入力画像から、任意の倍率で高品質の出力画像を生成することが可能になる。
【図面の簡単な説明】
【００６７】
【図１】実施の形態の画像処理装置に関する主要な構成要素を示すブロック図である。
【図２】本発明を実施する装置のハードウェアの構成例を示すブロック図である。
【図３】実施の形態の画像処理装置に関する制御のための主要な処理を示すフローチャートである。
【図４】ＭＮフィルタ部の基本的な構成を示すブロック図である。
【図５】ＭＮフィルタ部の具体的な構成例を示すブロック図である。
【図６】ＭＮフィルタ部及びバイリニアフィルタ部の接続形態の変形例を示すブロック図である。
【図７】実施の形態の画像処理装置に関する制御の動作例を示す模式図である。
【図８】実施の形態の画像処理装置に関する制御の動作例を示す模式図である。
【図９】実施の形態の画像処理装置に関する画像変換の動作例を示す模式図である。
【図１０】実施の形態の画像処理装置に関する画像変換の動作例を示す模式図である。
【図１１】実施の形態の画像処理装置に関する画像変換の動作例を示す模式図である。
【図１２】フィルタ処理の違いに応じた画像品質の変化例を示す模式図である。
【符号の説明】
【００６８】
１０  マイクロプロセッサ
１１  制御部
１２  条件保持部
１３  優先条件選択部
２０  フィルタ処理コア
２１  ＭＮフィルタ部
２２  バイリニアフィルタ部
３０  外部メモリ
４０  ＤＭＡコントローラ
５０  液晶表示部
６０  操作部
１１０  セレクタ
１１１  乗算器
１１２  加算器
【図１】
0004815255.tif 000002
【図２】
0004815255.tif 000003
【図３】
0004815255.tif 000004
【図４】
0004815255.tif 000005
【図５】
0004815255.tif 000006
【図６】
0004815255.tif 000007
【図７】
0004815255.tif 000008
【図８】
0004815255.tif 000009
【図９】
0004815255.tif 000010
【図１０】
0004815255.tif 000011
【図１１】
0004815255.tif 000012
【図１２】
0004815255.tif 000013