(57)【要約】【課題】回路規模を抑えながら、入力画像サイズや拡大率を限定しない画像処理装置を提供すること。【解決手段】制御手段６は、入力フレームバッファ１から入力ラインバッファ２に入力分割ラインデータサイズ単位でデータを転送させ、補間処理手段３による補間処理後の画素データを出力ラインバッファ４の先頭から順次格納し、出力ラインバッファ４の最後まで格納したら出力ラインバッファ４のデータを出力フレームバッファ５の対応する座標に転送させる。【選択図】図１
2007241859.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求める制御手段と、前記補間係数を使って補間処理を行う補間処理手段と、前記補間処理後の画素データを一時的に記憶する出力ラインバッファと、出力画像を記憶する出力フレームバッファとを備え、前記制御手段は、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行わせて求めた画素データを前記出力ラインバッファに順次格納し、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくように制御することを特徴とする画像処理装置。
【請求項２】
前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
入力画像を記憶する入力フレームバッファと、前記入力フレームバッファのラインデータから入力分割ラインデータサイズ分のデータを一時的に記憶する入力ラインバッファと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行う補間処理手段と、前記補間処理手段で必要なデータが前記入力ラインバッファに存在しないとき、前記入力フレームバッファから必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するように制御する制御手段とを備えることを特徴とする画像処理装置。
【請求項４】
前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにしたことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを備えることを特徴とする画像処理方法。
【請求項６】
前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを備えることを特徴とする画像処理方法。
【請求項８】
前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにしたことを特徴とする請求項７に記載の画像処理方法。
【請求項９】
コンピュータに、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを実行させるためのプログラム。
【請求項１０】
前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正することを特徴とする請求項９に記載のプログラム。
【請求項１１】
コンピュータに、入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを実行させるためのプログラム。
【請求項１２】
前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにしたことを特徴とする請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を任意の比率で拡大・縮小する画像処理装置に関するものである。
【背景技術】
【０００２】
携帯電話や携帯端末において画像の表示及び格納を行う際、入力画像と出力画像の画素数が異なる場合は、拡大・縮小処理を行う必要がある。
【０００３】
任意の拡大・縮小率で所望画像サイズを得る場合、例えばバイリニアなどのアルゴリズムが用いられる。
【０００４】
ここで、バイリニアによる画像の拡大・縮小方法を説明する。バイリニアにおける出力画素値の算出方法を図９に示す。
【０００５】
図９において、出力画像の座標を(X,Y)、水平方向の補間係数をp、垂直方向の補間係数をq、出力画像の座標(X,Y)に対応する入力画像の座標を(x+p,y+q)とする。但し、x、y、X、Yは整数、p、qは０≦p≦１、０≦q≦１の範囲の実数とする。
【０００６】
入力画像に対する出力画像の水平方向の変換比率をA、垂直方向の変換比率をBとすると、X/Aの小数部がp、整数部がx、Y/Bの小数部がq、整数部がyとなる。
【０００７】
入力画像の座標(x+p,y+q)は存在しないため、近傍の座標から画素値を補間する必要がある。バイリニアでは、(x+p,y+q)の画素値を(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)の四点から線形補間により算出する。
【０００８】
座標(i,j)における画素値を(i,j)valueとすると（i,jは整数）、(x+p,y+q)valueは、
(x+p,y)value=(1-p)×(x,y)value+p×(x+1,y)value
(x+p,y+1)value=(1-p)×(x,y+1)value+p×(x+1,y+1)value
(x+p,y+q)value=(1-q)×(x+p,y)value+q×(x+p,y+1)value
で求められ、このような演算により任意の比率での画像の拡大・縮小を行う。
【０００９】
また、出力座標の増加に比例して対応する入力座標が増加する性質を利用して、補間係数p及びqに一定値を加算する（この場合、整数部は切り捨てられる）累積加算手段を設けることで、比較的小規模の回路で実現できる構成が考案されている（例えば、特許文献１参照）。
【特許文献１】特開平９−３２６９５８号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、このような従来の画像処理装置においては、入力画像データを一時的に記憶する入力ラインバッファは、少なくとも入力画像の水平方向画素数分のサイズが必要であり、出力画像データを一時的に記憶する出力ラインバッファは、入力画像の水平方向画素数以上のサイズが必要であり、この出力ラインバッファサイズに依存して画像拡大の範囲が限定されていた。
【００１１】
このため、大きな入力画像や大きな拡大率に対応しようとすると、大きなラインバッファを備えなければならず、回路規模が拡大してしまうという問題があった。
【００１２】
本発明は、従来の問題を解決するためになされたもので、回路規模を抑えながら、入力画像サイズや拡大率を限定しない画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の画像処理装置は、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求める制御手段と、前記補間係数を使って補間処理を行う補間処理手段と、前記補間処理後の画素データを一時的に記憶する出力ラインバッファと、出力画像を記憶する出力フレームバッファとを備え、前記制御手段は、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行わせて求めた画素データを前記出力ラインバッファに順次格納し、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくように制御する構成を有している。
【００１４】
この構成により、出力画像のラインデータが順次出力ラインバッファに格納され、ラインデータの途中で出力ラインバッファの最後までデータが格納されると、出力フレームバッファにデータが転送され、ラインデータの後続のデータは出力ラインバッファの先頭から格納されることとなる。
【００１５】
ここで、前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正する構成とした。
【００１６】
この構成により、出力画像サイズに依存しない出力ラインバッファの座標に基づいて補間係数が算出されることとなる。
【００１７】
本発明の画像処理装置は、入力画像を記憶する入力フレームバッファと、前記入力フレームバッファのラインデータから入力分割ラインデータサイズ分のデータを一時的に記憶する入力ラインバッファと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行う補間処理手段と、前記補間処理手段で必要なデータが前記入力ラインバッファに存在しないとき、前記入力フレームバッファから必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するように制御する制御手段とを備える構成を有している。
【００１８】
この構成により、補間処理に必要なデータが入力ラインバッファに存在しない場合は、必要なデータを含むラインデータが入力ラインバッファに転送されることとなる。
【００１９】
ここで、前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにした構成とした。
【００２０】
この構成により、入力ラインバッファのサイズと入力分割ラインデータサイズとの差の分のデータが新しいデータの転送後も残ることとなる。
【００２１】
本発明の画像処理方法は、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを備える構成を有している。
【００２２】
この構成により、出力画像のラインデータが順次出力ラインバッファに格納され、ラインデータの途中で出力ラインバッファの最後までデータが格納されると、出力フレームバッファにデータが転送され、ラインデータの後続のデータは出力ラインバッファの先頭から格納されることとなる。
【００２３】
ここで、前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正する構成とした。
【００２４】
この構成により、出力画像サイズに依存しない出力ラインバッファの座標に基づいて補間係数が算出されることとなる。
【００２５】
本発明の画像処理方法は、入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを備える構成を有している。
【００２６】
この構成により、補間処理に必要なデータが入力ラインバッファに存在しない場合は、必要なデータを含むラインデータが入力ラインバッファに転送されることとなる。
【００２７】
ここで、前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにした構成とした。
【００２８】
この構成により、入力ラインバッファのサイズと入力分割ラインデータサイズとの差の分のデータが新しいデータの転送後も残ることとなる。
【００２９】
本発明のプログラムは、コンピュータに、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを実行させる構成を有している。
【００３０】
この構成により、出力画像のラインデータが順次出力ラインバッファに格納され、ラインデータの途中で出力ラインバッファの最後までデータが格納されると、出力フレームバッファにデータが転送され、ラインデータの後続のデータは出力ラインバッファの先頭から格納されることとなる。
【００３１】
ここで、前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正する構成とした。
【００３２】
この構成により、出力画像サイズに依存しない出力ラインバッファの座標に基づいて補間係数が算出されることとなる。
【００３３】
本発明のプログラムは、コンピュータに、入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを実行させる構成を有している。
【００３４】
この構成により、補間処理に必要なデータが入力ラインバッファに存在しない場合は、必要なデータを含むラインデータが入力ラインバッファに転送されることとなる。
【００３５】
ここで、前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにした構成とした。
【００３６】
この構成により、入力ラインバッファのサイズと入力分割ラインデータサイズとの差の分のデータが新しいデータの転送後も残ることとなる。
【発明の効果】
【００３７】
本発明によれば、補間処理後の画素データを順次出力ラインバッファに格納し、出力ラインバッファの最後までデータを格納したとき、出力ラインバッファのデータを出力フレームバッファに転送することにより、回路規模を抑えながら、拡大率を限定しないで、任意サイズの出力画像の拡大処理を行うことができる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施の形態について、図面を参照して説明する。
【００３９】
（第１の実施の形態）
図１は本発明の第１の実施の形態の画像処理装置を示す図である。
【００４０】
図１において、本実施の形態の画像処理装置は、入力画像を記憶する入力フレームバッファ１と、入力画像の水平方向２ライン分の分割された画像データを一時的に記憶する入力ラインバッファ２と、拡大・縮小の際に補間処理を行う補間処理手段３と、補間処理後の１ラインの一部の画像データを一時的に記憶する出力ラインバッファ４と、出力画像を記憶する出力フレームバッファ５と、補間処理手段３による補間処理の制御を行う制御手段６と、入力画像の水平方向の座標x,x+1と入力ラインバッファ２に格納されたデータサイズの比較、及び出力画像の水平方向の座標Xと水平方向の出力画像サイズN、出力ラインバッファサイズLとの比較を行う比較器７と、出力ラインバッファ４に記憶されている画像データの先頭の画素の出力画像における水平方向の座標値を記憶する出力座標レジスタ８と、入力ラインバッファ２に記憶されている画像データの先頭の画素の入力画像における水平方向の座標値を記憶する入力座標レジスタ９とを備えている。
【００４１】
ここで、本実施の形態の画像処理装置においては、水平方向の入力画像サイズnが入力ラインバッファサイズlより大きい(n>l)とき、図２に示すように、入力フレームバッファ１内の１ライン分のデータを分割し、複数回に分けて入力ラインバッファ２へ転送するようになっている。ここで、入力フレームバッファ１のラインデータを分割し入力ラインバッファ２へ転送する制御を入力画像分割転送制御と呼び、入力画像分割転送制御で分割され転送されるデータを入力分割ラインデータと呼ぶ。本実施の形態では、入力分割ラインデータサイズを入力ラインバッファサイズlと等しくする。なお、入力分割ラインデータサイズは、入力ラインバッファサイズl以下であれば任意に設定してよい。
【００４２】
入力座標レジスタ９は、入力分割ラインデータの入力画像での水平方向の先頭座標を記憶する。入力分割ラインデータを転送する際、入力座標レジスタ９の値Cの座標から入力分割ラインデータのサイズ分のデータを入力ラインバッファ２に転送する。入力座標レジスタ９の初期値は０を設定し、入力フレームバッファ１の１ライン分の処理が終了した時点で入力座標レジスタ９の値を０に初期化する。
【００４３】
また、水平方向の出力画像サイズNが出力ラインバッファサイズLより大きい(N>L)とき、図２に示すように、出力ラインバッファ４のデータを複数回に分けて、出力フレームバッファ５の同一ラインへ転送する。出力ラインバッファ４のデータは出力フレームバッファ５の１ラインのデータが分割されていると見なすことができるため、複数回に分けて出力ラインバッファ４のデータを転送する制御を行う。この制御を出力画像分割転送制御と呼び、転送される出力ラインバッファのデータを出力分割ラインデータと呼ぶ。
【００４４】
出力座標レジスタ８は、出力分割ラインデータの出力画像での水平方向の先頭座標を記憶する。出力分割ラインデータを転送する際、出力分割ラインデータを出力フレームバッファ５の出力座標レジスタ８の値Dが指す座標へ転送し、転送後Dに出力ラインバッファ４のサイズLを加算し、Dは次の出力フレームバッファ５上の転送先の座標となる。出力座標レジスタ８の初期値は０を設定し、出力フレームバッファ５の１ライン分の処理が終了した時点で出力座標レジスタ８の値を０に初期化する。
【００４５】
また、補間アルゴリズムとしてバイリニアを用いて説明する。なお、補間アルゴリズムとしてバイリニア以外のアルゴリズムを用いてもよい。
【００４６】
制御手段６は、入力画像の水平方向の画素数n、垂直方向の画素数m、出力画像の水平方向の画素数N、垂直方向の画素数Mを入力され、内部に記憶された出力画像の座標（X,Y）を基に補間処理に必要な制御を行う。
【００４７】
制御手段６で行う制御は、入力フレームバッファ１の２ライン分のデータを入力ラインバッファ２へ転送する制御と、補間処理手段３で補間処理された画素データを出力ラインバッファ４へ転送する制御と、出力ラインバッファ４のデータを出力フレームバッファ５へ転送する制御と、補間処理に用いる補間係数を算出し、補間処理手段３へ転送する制御である。
【００４８】
まず、制御手段６は、入力画像の画素数及び出力画像の画素数に基づいて変換比率を算出する。水平方向の変換比率A、垂直方向の変換比率Bはそれぞれ、
A=(N-1)/(n-1)
B=(M-1)/(m-1)
となる。
【００４９】
次に、制御手段６は、入力座標レジスタ９に初期値０を設定し、入力フレームバッファ１の水平方向の座標０から入力ラインバッファ２のサイズ分の垂直方向の座標０から２ライン分のデータを入力ラインバッファ２に転送する。
【００５０】
そして、出力画像の座標（X,Y）の画素値の算出に必要な四点(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)を算出する。
【００５１】
x及びyは、それぞれ
x=X/A=X(n-1)/(N-1)
y=Y/B=Y(m-1)/(M-1)
から算出される。
【００５２】
ここで、(x,y)は座標を表すため、上式の整数部となる。
【００５３】
上式で得られた入力画像の水平座標xから、x及びx+1のデータが入力ラインバッファ２に格納されているかを比較器７により判断する。
【００５４】
比較器７では、入力座標レジスタ９の値と、入力座標レジスタ９の値に入力分割ラインデータサイズを加算した値との間にx及びx+1の値が入るかを比較する。
【００５５】
比較の結果、x及びx+1が入力ラインバッファ２に格納されていない場合は、x及びx+1が格納された入力分割ラインデータを転送するために入力座標レジスタ９の値Cを設定し、Cが示す座標を先頭に、入力フレームバッファ１から入力ラインバッファ２へ上述の四点が格納された入力分割ラインデータを転送する。通常、Cの値は、重複したデータ転送を抑えるため、入力分割ラインデータサイズを加算する。
【００５６】
比較の結果、x及びx+1が入力ラインバッファ２に格納されている場合は、入力分割ラインデータの転送は行わない。
【００５７】
比較の結果、xまたはx+1の画素データのどちらか一方のみが入力ラインバッファ２に格納されている場合、格納済のxまたはx+1の画素データの重複転送になるが、xとx+1の両方を含むようなCを設定し、入力分割ラインデータを入力ラインバッファ２へ転送する。通常、Cの値はxを設定する。
【００５８】
次に、制御手段６は、補間係数p,qを算出し、補間処理手段３へ転送する。水平方向の補間係数pはX/Aの小数部、垂直方向の補間係数qはY/Bの小数部として算出する。
【００５９】
補間処理手段３は、補間係数p,qを受け取ると、必要な四点(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)の画素データを入力ラインバッファ２から参照し、バイリニアを用いて出力画像の座標(X,Y)における画素値を算出する。
【００６０】
次に、制御手段６は、X mod L（X/Lの剰余）が示す出力ラインバッファ４の座標へ補間処理後の画素データを転送する。
【００６１】
次に、X mod L=L-1であるかを比較器７により判断する。X mod L=L-1であれば、制御手段６は、出力ラインバッファ４に格納された0からL-1までの画素データを出力フレームバッファ５の出力座標レジスタ８の値Dが示す座標を先頭として転送する制御を行う。このとき、次に作成する出力分割ラインデータの垂直方向の座標は変わらないため、出力画像の垂直方向の座標Yのインクリメントは行わない。そして、出力座標レジスタ８の値DにLを加算する。
【００６２】
次に、X=N-1であるかを比較器７により判断する。X=N-1でなければ、Xをインクリメントし、出力画像の座標(X+1,Y)についても、上述の画素値の算出に必要な四点の算出から繰り返し、補間処理データを算出し、X+1 mod Lが示す出力ラインバッファ４の座標へ補間処理後の画素データを転送する。
【００６３】
X=N-1であれば、制御手段６は、Yをインクリメントし、Y=Mとなったか判断する。Y=Mであれば１フレームの処理を終了する。
【００６４】
Y=Mでなければ、制御手段６は、出力ラインバッファ４に格納された画素データを出力フレームバッファ５の出力座標レジスタ８の値Dが示す座標を先頭として転送する制御を行い、Xに０を設定し、出力座標レジスタ８に０を設定し、次のラインの処理に移る。
【００６５】
図３は出力ラインバッファサイズLと出力画像の関係を示す図である。図３（ａ）に示すように、L≧Nの場合、出力ラインバッファ４に出力画像の１ライン分の画像データを全て格納することができるため、出力画像を分割する必要はなく、一段の処理で出力ラインバッファ４から出力フレームバッファ５の０からN-1画素のデータを転送することができる。
【００６６】
しかし、図３（ｂ）に示すように、L<Nの場合、ｋ段階に分割し（ｋは画像の分割数を表し、N/Lの小数部を切り上げた整数値である）、初めに０からL-1の出力分割ラインデータを出力フレームバッファ５に転送し、次にLから２L-1、最後にk×LからN-1の出力分割ラインデータを転送する制御を行う。  
このように、水平方向の入力画像サイズnが入力ラインバッファ２のサイズlより大きい場合でも、必要に応じて入力画像を分割し、入力画像の同一ラインの画素データを繰り返し入力ラインバッファ２へ転送することにより、任意のサイズの入力画像に対して処理を行うことができる。
【００６７】
また、水平方向の出力画像サイズNが出力ラインバッファ４のサイズLより大きい場合でも、必要に応じて出力画像を分割し、出力ラインバッファ４の画素データを出力フレームバッファ５の同一ラインへ繰り返し転送することにより、拡大率を限定することなく、任意サイズの出力画像の拡大処理を行うことができる。
【００６８】
なお、入力画像分割転送制御と出力画像分割転送制御は独立であり、両方を行うようにしても、どちらか一方を行うようにしてもよい。
【００６９】
また、入力画像の水平方向の画素数n、垂直方向の画素数m、出力画像の水平方向の画素数N、垂直方向の画素数Mを入力された時点で分割制御を行うかを判定して処理をしてもよい。
【００７０】
（第２の実施の形態）
次に、図４は本発明の第２の実施の形態の画像処理装置を示す図である。なお、本実施の形態は、上述の第１の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
【００７１】
本実施の形態は、出力画像のサイズが大きくなったときの補間係数pの演算負荷を抑えるため、制御手段１１が補間係数を出力ラインバッファ４の座標（X mod L、以降Xbufと表す）で計算し、算出した補間係数の誤差を修正する補間係数補正手段１２を備えたことを特徴とする。
【００７２】
図５は、出力ラインバッファ４の座標Xbufと出力画像の座標Xとの関係を示す図である。
【００７３】
出力ラインバッファ４の座標Xbufは出力ラインバッファ４のアドレスの相対的な値であり、その範囲は０≦Xbuf＜Lとなる。
【００７４】
図６は、補間係数の算出の結果の一例を示す図である。図５、図６は、出力画像の水平方向の座標をX、水平方向の画素数をN、出力ラインバッファ４の座標をXbuf、水平方向の変換比率をA=0.7、出力ラインバッファサイズをL=256、現在処理中の分割段数をfとし、以上の値より補間係数を算出している。fと出力座標レジスタ８の値DにはD=f×Lの関係が成り立つ。
【００７５】
図６に示す補間係数は、出力画像の座標Xを用いて計算した補間係数pnon、pnonにオフセット値offsetを付加した補間係数poffset、出力画像の座標Xの画素値算出に必要とされる入力画像の座標x+pとする。但し、p、pnon、poffset、offsetは計算結果の小数部のみとする。
【００７６】
補間係数pは、水平方向の変換比率Aの逆数1/Aと出力画像の座標Xを掛け合わせた値の小数部である。よって補間係数pは、
p=X/A
で求めることができる。
【００７７】
しかし、Xは出力画像サイズに依存する値であり、Xが大きくなると補間係数pの演算負荷が上昇する。そこで、出力画像サイズに依存しない出力ラインバッファ４の座標Xbufを基に計算した補間係数pnonを
pnon=Xbuf/A
として算出する。
【００７８】
しかし、この補間係数pnonは、図６に示すように、f≧１でpとpnonの値に誤差が生じる。誤差を補正するためにオフセット値
offset=f×L/A
をpnonに加算した補間係数poffset
poffset=pnon+offset
を用いることで、出力ラインバッファ４の座標Xbufから正確な補間係数の算出が可能である。
【００７９】
制御手段１１は、補間係数pnonを算出し、補間係数補正手段１２で補間係数pnonを補正して補間係数poffsetを算出する。
【００８０】
このように、画像分割時に出力画像の座標Xを用いずに、出力ラインバッファ４の座標Xbufを用いて補間係数pnonを算出しているので、補間係数算出の演算付加を軽減させることができる。
【００８１】
出力ラインバッファ４の座標Xbufを用いて算出した補間係数pnonの誤差を補間係数補正手段１２で補正しているので、正確な補間係数を算出することができる。
【００８２】
（第３の実施の形態）
次に、図７は本発明の第３の実施の形態の画像処理装置を示す図である。なお、本実施の形態は、上述の第１の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
【００８３】
本実施の形態の入力ラインバッファ２２は、データをリング型に格納（既に格納しているデータの後にデータを格納し、入力ラインバッファ２２の最後まで格納したら次は先頭に戻って格納を続ける）し、制御手段２１は、入力分割ラインデータサイズを入力ラインバッファ２２のサイズより小さくし、補間処理に必要なx及びx+1の画素の一方が入力ラインバッファ２２に格納されていない場合、続きのデータを入力ラインバッファ２２に転送することでx及びx+1の画素の両方を参照できるようになっている。
【００８４】
図８は、入力分割ラインデータサイズをl-2とし、入力分割ラインデータを入力ラインバッファに非リング型、リング型で格納した際の概念図である。ここで、非リング型とは、入力ラインバッファの先頭から入力分割ラインデータを上書きすることである。
【００８５】
図８では、補間処理にx及びx+1の画素データを用いる。図８の左に示す入力ラインバッファは入力座標レジスタ９の値Cからxまでの画素データが格納されている。
【００８６】
しかし、この状態ではx及びx+1の画素データを得ることができないので、入力座標レジスタ９に値を設定して入力ラインバッファに入力分割ラインデータを転送してx及びx+1の画素データを得られるようにする。
【００８７】
非リング型の場合、図８の右上の入力ラインバッファに示すように、入力座標レジスタ９にxを設定して入力分割ラインデータを転送することにより、xからx+l-2までの画素データを入力ラインバッファに転送し、x及びx+1の画素データを得ることができる。しかし、xは格納済みであるため重複転送となる。
【００８８】
リング型の場合、図８の右下の入力ラインバッファに示すように、入力座標レジスタ９にx+1を設定して入力分割ラインデータを転送することにより、xからx+l-2までの画素データを入力ラインバッファに転送するとともに、x-1及びxの画素データを残しておくことができ、x及びx+1の画素データを得ることができる。
【００８９】
この場合、入力分割ラインデータにxは含まれていないが、入力ラインバッファ上のデータがリング型に格納されるため、二画素分のデータが入力ラインバッファ上に上書きされずに残り、xの重複転送を抑えることができる。
【００９０】
具体的には、制御手段２１は、入力画像の水平方向の画素数n、垂直方向の画素数m、出力画像の水平方向の画素数N、垂直方向の画素数Mを入力されると、入力画像の水平方向の画素数nと入力ラインバッファ２２のサイズlとを比較し、入力画像の水平方向の画素数nが入力ラインバッファ２２のサイズlより大きい場合、入力分割ラインデータサイズをl-2とする。
【００９１】
次に、制御手段２１は、上述の実施の形態同様、入力画像の画素数及び出力画像の画素数に基づいて変換比率を算出する。
【００９２】
そして、制御手段２１は、入力座標レジスタ９に初期値０を設定し、入力フレームバッファ１の水平方向の座標０から入力分割ラインデータサイズ分の垂直方向の座標０から２ライン分のデータを入力ラインバッファ２２に転送する。
【００９３】
そして、上述の実施の形態同様、出力画像の座標（X,Y）の画素値の算出に必要な四点(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)を算出し、得られた入力画像の水平座標xから、x及びx+1のデータが入力ラインバッファ２２に格納されているかを比較器７により判断する。
【００９４】
比較の結果、x及びx+1が入力ラインバッファ２２に格納されていない場合、x及びx+1が格納された入力分割ラインデータを転送するために入力座標レジスタ９の値Cに入力分割ラインデータサイズを加算した値を設定し、Cが示す座標を先頭に、入力フレームバッファ１から入力ラインバッファ２２へ上述の四点が格納された入力分割ラインデータを転送する。
【００９５】
比較の結果、x及びx+1が入力ラインバッファ２に格納されている場合は、入力分割ラインデータの転送は行わない。
【００９６】
比較の結果、xまたはx+1の画素データのどちらか一方のみが入力ラインバッファ２２に格納されている場合、格納されていない画素データを入力ラインバッファ２２に転送するため、入力座標レジスタ９の値Cに入力分割ラインデータサイズを加算した値を設定し、Cが示す座標を先頭に、入力フレームバッファ１から入力ラインバッファ２２へ上述の四点が格納された入力分割ラインデータを転送する。以降、上述の実施の形態同様に処理を行う。
【００９７】
このように、入力ラインバッファ２２に画素データをリング型に格納し、入力分割ラインデータサイズを入力ラインバッファサイズより小さくすることで、新たな入力分割ラインデータが入力ラインバッファ２２に格納されても、格納済の画素データの一部を上書きせずに残すことができ、同一画素の重複転送を抑えることができる。
【００９８】
なお、本実施の形態においては、上述の第１の実施の形態の入力ラインバッファにリング型にデータを格納する場合について示したが、同様に、上述の第２の実施の形態の入力ラインバッファにリング型にデータを格納するようにすることもできる。
【産業上の利用可能性】
【００９９】
以上のように、本発明にかかる画像処理装置は、回路規模を抑えながら、拡大率を限定しないで、任意サイズの出力画像の拡大処理を行うことができるという効果を有し、回路規模に制限のある携帯機器等で大きなサイズの画像処理を行うのに有用である。
【図面の簡単な説明】
【０１００】
【図１】本発明の第１の実施の形態における画像処理装置のブロック図
【図２】本発明の第１の実施の形態における画像処理装置の入力画像の分割及び出力画像の分割の様子を示す図
【図３】（ａ）本発明の第１の実施の形態における画像処理装置の出力分割ラインデータサイズが出力画像の水平方向サイズ以上の場合を示す図  （ｂ）本発明の第１の実施の形態における画像処理装置の出力分割ラインデータサイズが出力画像の水平方向サイズより大きい場合を示す図
【図４】本発明の第２の実施の形態における画像処理装置のブロック図
【図５】本発明の第２の実施の形態における画像処理装置の出力ラインバッファの座標と出力画像の座標の関係を示す図
【図６】本発明の第２の実施の形態における画像処理装置の補間係数の算出結果の一例を示す図
【図７】本発明の第３の実施の形態における画像処理装置のブロック図
【図８】本発明の第３の実施の形態における画像処理装置の入力ラインバッファのリング型と非リング型との比較図
【図９】バイリニアによる出力画素値の算出方法を示す図
【符号の説明】
【０１０１】
１  入力フレームバッファ
２  入力ラインバッファ
３  補間処理手段
４  出力ラインバッファ
５  出力フレームバッファ
６  制御手段
７  比較器
８  出力座標レジスタ
９  入力座標レジスタ
１１  制御手段
１２  補間係数補正手段
２１  制御手段
２２  入力ラインバッファ
【図１】
2007241859.tif 000003
【図３】
2007241859.tif 000004
【図４】
2007241859.tif 000005
【図５】
2007241859.tif 000006
【図６】
2007241859.tif 000007
【図７】
2007241859.tif 000008
【図８】
2007241859.tif 000009
【図９】
2007241859.tif 000010
【図２】
2007241859.tif 000011