JP2007241859A - 画像処理装置及びその処理方法 - Google Patents
画像処理装置及びその処理方法 Download PDFInfo
- Publication number
- JP2007241859A JP2007241859A JP2006066033A JP2006066033A JP2007241859A JP 2007241859 A JP2007241859 A JP 2007241859A JP 2006066033 A JP2006066033 A JP 2006066033A JP 2006066033 A JP2006066033 A JP 2006066033A JP 2007241859 A JP2007241859 A JP 2007241859A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- output
- line buffer
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】回路規模を抑えながら、入力画像サイズや拡大率を限定しない画像処理装置を提供すること。
【解決手段】制御手段6は、入力フレームバッファ1から入力ラインバッファ2に入力分割ラインデータサイズ単位でデータを転送させ、補間処理手段3による補間処理後の画素データを出力ラインバッファ4の先頭から順次格納し、出力ラインバッファ4の最後まで格納したら出力ラインバッファ4のデータを出力フレームバッファ5の対応する座標に転送させる。
【選択図】図1
【解決手段】制御手段6は、入力フレームバッファ1から入力ラインバッファ2に入力分割ラインデータサイズ単位でデータを転送させ、補間処理手段3による補間処理後の画素データを出力ラインバッファ4の先頭から順次格納し、出力ラインバッファ4の最後まで格納したら出力ラインバッファ4のデータを出力フレームバッファ5の対応する座標に転送させる。
【選択図】図1
Description
本発明は、画像を任意の比率で拡大・縮小する画像処理装置に関するものである。
携帯電話や携帯端末において画像の表示及び格納を行う際、入力画像と出力画像の画素数が異なる場合は、拡大・縮小処理を行う必要がある。
任意の拡大・縮小率で所望画像サイズを得る場合、例えばバイリニアなどのアルゴリズムが用いられる。
ここで、バイリニアによる画像の拡大・縮小方法を説明する。バイリニアにおける出力画素値の算出方法を図9に示す。
図9において、出力画像の座標を(X,Y)、水平方向の補間係数をp、垂直方向の補間係数をq、出力画像の座標(X,Y)に対応する入力画像の座標を(x+p,y+q)とする。但し、x、y、X、Yは整数、p、qは0≦p≦1、0≦q≦1の範囲の実数とする。
入力画像に対する出力画像の水平方向の変換比率を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
で求められ、このような演算により任意の比率での画像の拡大・縮小を行う。
(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に一定値を加算する(この場合、整数部は切り捨てられる)累積加算手段を設けることで、比較的小規模の回路で実現できる構成が考案されている(例えば、特許文献1参照)。
特開平9−326958号公報(図2)
しかしながら、このような従来の画像処理装置においては、入力画像データを一時的に記憶する入力ラインバッファは、少なくとも入力画像の水平方向画素数分のサイズが必要であり、出力画像データを一時的に記憶する出力ラインバッファは、入力画像の水平方向画素数以上のサイズが必要であり、この出力ラインバッファサイズに依存して画像拡大の範囲が限定されていた。
このため、大きな入力画像や大きな拡大率に対応しようとすると、大きなラインバッファを備えなければならず、回路規模が拡大してしまうという問題があった。
本発明は、従来の問題を解決するためになされたもので、回路規模を抑えながら、入力画像サイズや拡大率を限定しない画像処理装置を提供することを目的とする。
本発明の画像処理装置は、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求める制御手段と、前記補間係数を使って補間処理を行う補間処理手段と、前記補間処理後の画素データを一時的に記憶する出力ラインバッファと、出力画像を記憶する出力フレームバッファとを備え、前記制御手段は、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行わせて求めた画素データを前記出力ラインバッファに順次格納し、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくように制御する構成を有している。
この構成により、出力画像のラインデータが順次出力ラインバッファに格納され、ラインデータの途中で出力ラインバッファの最後までデータが格納されると、出力フレームバッファにデータが転送され、ラインデータの後続のデータは出力ラインバッファの先頭から格納されることとなる。
ここで、前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正する構成とした。
この構成により、出力画像サイズに依存しない出力ラインバッファの座標に基づいて補間係数が算出されることとなる。
本発明の画像処理装置は、入力画像を記憶する入力フレームバッファと、前記入力フレームバッファのラインデータから入力分割ラインデータサイズ分のデータを一時的に記憶する入力ラインバッファと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行う補間処理手段と、前記補間処理手段で必要なデータが前記入力ラインバッファに存在しないとき、前記入力フレームバッファから必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するように制御する制御手段とを備える構成を有している。
この構成により、補間処理に必要なデータが入力ラインバッファに存在しない場合は、必要なデータを含むラインデータが入力ラインバッファに転送されることとなる。
ここで、前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにした構成とした。
この構成により、入力ラインバッファのサイズと入力分割ラインデータサイズとの差の分のデータが新しいデータの転送後も残ることとなる。
本発明の画像処理方法は、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを備える構成を有している。
この構成により、出力画像のラインデータが順次出力ラインバッファに格納され、ラインデータの途中で出力ラインバッファの最後までデータが格納されると、出力フレームバッファにデータが転送され、ラインデータの後続のデータは出力ラインバッファの先頭から格納されることとなる。
ここで、前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正する構成とした。
この構成により、出力画像サイズに依存しない出力ラインバッファの座標に基づいて補間係数が算出されることとなる。
本発明の画像処理方法は、入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを備える構成を有している。
この構成により、補間処理に必要なデータが入力ラインバッファに存在しない場合は、必要なデータを含むラインデータが入力ラインバッファに転送されることとなる。
ここで、前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにした構成とした。
この構成により、入力ラインバッファのサイズと入力分割ラインデータサイズとの差の分のデータが新しいデータの転送後も残ることとなる。
本発明のプログラムは、コンピュータに、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを実行させる構成を有している。
この構成により、出力画像のラインデータが順次出力ラインバッファに格納され、ラインデータの途中で出力ラインバッファの最後までデータが格納されると、出力フレームバッファにデータが転送され、ラインデータの後続のデータは出力ラインバッファの先頭から格納されることとなる。
ここで、前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正する構成とした。
この構成により、出力画像サイズに依存しない出力ラインバッファの座標に基づいて補間係数が算出されることとなる。
本発明のプログラムは、コンピュータに、入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを実行させる構成を有している。
この構成により、補間処理に必要なデータが入力ラインバッファに存在しない場合は、必要なデータを含むラインデータが入力ラインバッファに転送されることとなる。
ここで、前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにした構成とした。
この構成により、入力ラインバッファのサイズと入力分割ラインデータサイズとの差の分のデータが新しいデータの転送後も残ることとなる。
本発明によれば、補間処理後の画素データを順次出力ラインバッファに格納し、出力ラインバッファの最後までデータを格納したとき、出力ラインバッファのデータを出力フレームバッファに転送することにより、回路規模を抑えながら、拡大率を限定しないで、任意サイズの出力画像の拡大処理を行うことができる。
以下、本発明の実施の形態について、図面を参照して説明する。
(第1の実施の形態)
図1は本発明の第1の実施の形態の画像処理装置を示す図である。
図1は本発明の第1の実施の形態の画像処理装置を示す図である。
図1において、本実施の形態の画像処理装置は、入力画像を記憶する入力フレームバッファ1と、入力画像の水平方向2ライン分の分割された画像データを一時的に記憶する入力ラインバッファ2と、拡大・縮小の際に補間処理を行う補間処理手段3と、補間処理後の1ラインの一部の画像データを一時的に記憶する出力ラインバッファ4と、出力画像を記憶する出力フレームバッファ5と、補間処理手段3による補間処理の制御を行う制御手段6と、入力画像の水平方向の座標x,x+1と入力ラインバッファ2に格納されたデータサイズの比較、及び出力画像の水平方向の座標Xと水平方向の出力画像サイズN、出力ラインバッファサイズLとの比較を行う比較器7と、出力ラインバッファ4に記憶されている画像データの先頭の画素の出力画像における水平方向の座標値を記憶する出力座標レジスタ8と、入力ラインバッファ2に記憶されている画像データの先頭の画素の入力画像における水平方向の座標値を記憶する入力座標レジスタ9とを備えている。
ここで、本実施の形態の画像処理装置においては、水平方向の入力画像サイズnが入力ラインバッファサイズlより大きい(n>l)とき、図2に示すように、入力フレームバッファ1内の1ライン分のデータを分割し、複数回に分けて入力ラインバッファ2へ転送するようになっている。ここで、入力フレームバッファ1のラインデータを分割し入力ラインバッファ2へ転送する制御を入力画像分割転送制御と呼び、入力画像分割転送制御で分割され転送されるデータを入力分割ラインデータと呼ぶ。本実施の形態では、入力分割ラインデータサイズを入力ラインバッファサイズlと等しくする。なお、入力分割ラインデータサイズは、入力ラインバッファサイズl以下であれば任意に設定してよい。
入力座標レジスタ9は、入力分割ラインデータの入力画像での水平方向の先頭座標を記憶する。入力分割ラインデータを転送する際、入力座標レジスタ9の値Cの座標から入力分割ラインデータのサイズ分のデータを入力ラインバッファ2に転送する。入力座標レジスタ9の初期値は0を設定し、入力フレームバッファ1の1ライン分の処理が終了した時点で入力座標レジスタ9の値を0に初期化する。
また、水平方向の出力画像サイズNが出力ラインバッファサイズLより大きい(N>L)とき、図2に示すように、出力ラインバッファ4のデータを複数回に分けて、出力フレームバッファ5の同一ラインへ転送する。出力ラインバッファ4のデータは出力フレームバッファ5の1ラインのデータが分割されていると見なすことができるため、複数回に分けて出力ラインバッファ4のデータを転送する制御を行う。この制御を出力画像分割転送制御と呼び、転送される出力ラインバッファのデータを出力分割ラインデータと呼ぶ。
出力座標レジスタ8は、出力分割ラインデータの出力画像での水平方向の先頭座標を記憶する。出力分割ラインデータを転送する際、出力分割ラインデータを出力フレームバッファ5の出力座標レジスタ8の値Dが指す座標へ転送し、転送後Dに出力ラインバッファ4のサイズLを加算し、Dは次の出力フレームバッファ5上の転送先の座標となる。出力座標レジスタ8の初期値は0を設定し、出力フレームバッファ5の1ライン分の処理が終了した時点で出力座標レジスタ8の値を0に初期化する。
また、補間アルゴリズムとしてバイリニアを用いて説明する。なお、補間アルゴリズムとしてバイリニア以外のアルゴリズムを用いてもよい。
制御手段6は、入力画像の水平方向の画素数n、垂直方向の画素数m、出力画像の水平方向の画素数N、垂直方向の画素数Mを入力され、内部に記憶された出力画像の座標(X,Y)を基に補間処理に必要な制御を行う。
制御手段6で行う制御は、入力フレームバッファ1の2ライン分のデータを入力ラインバッファ2へ転送する制御と、補間処理手段3で補間処理された画素データを出力ラインバッファ4へ転送する制御と、出力ラインバッファ4のデータを出力フレームバッファ5へ転送する制御と、補間処理に用いる補間係数を算出し、補間処理手段3へ転送する制御である。
まず、制御手段6は、入力画像の画素数及び出力画像の画素数に基づいて変換比率を算出する。水平方向の変換比率A、垂直方向の変換比率Bはそれぞれ、
A=(N-1)/(n-1)
B=(M-1)/(m-1)
となる。
A=(N-1)/(n-1)
B=(M-1)/(m-1)
となる。
次に、制御手段6は、入力座標レジスタ9に初期値0を設定し、入力フレームバッファ1の水平方向の座標0から入力ラインバッファ2のサイズ分の垂直方向の座標0から2ライン分のデータを入力ラインバッファ2に転送する。
そして、出力画像の座標(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=X/A=X(n-1)/(N-1)
y=Y/B=Y(m-1)/(M-1)
から算出される。
ここで、(x,y)は座標を表すため、上式の整数部となる。
上式で得られた入力画像の水平座標xから、x及びx+1のデータが入力ラインバッファ2に格納されているかを比較器7により判断する。
比較器7では、入力座標レジスタ9の値と、入力座標レジスタ9の値に入力分割ラインデータサイズを加算した値との間にx及びx+1の値が入るかを比較する。
比較の結果、x及びx+1が入力ラインバッファ2に格納されていない場合は、x及びx+1が格納された入力分割ラインデータを転送するために入力座標レジスタ9の値Cを設定し、Cが示す座標を先頭に、入力フレームバッファ1から入力ラインバッファ2へ上述の四点が格納された入力分割ラインデータを転送する。通常、Cの値は、重複したデータ転送を抑えるため、入力分割ラインデータサイズを加算する。
比較の結果、x及びx+1が入力ラインバッファ2に格納されている場合は、入力分割ラインデータの転送は行わない。
比較の結果、xまたはx+1の画素データのどちらか一方のみが入力ラインバッファ2に格納されている場合、格納済のxまたはx+1の画素データの重複転送になるが、xとx+1の両方を含むようなCを設定し、入力分割ラインデータを入力ラインバッファ2へ転送する。通常、Cの値はxを設定する。
次に、制御手段6は、補間係数p,qを算出し、補間処理手段3へ転送する。水平方向の補間係数pはX/Aの小数部、垂直方向の補間係数qはY/Bの小数部として算出する。
補間処理手段3は、補間係数p,qを受け取ると、必要な四点(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)の画素データを入力ラインバッファ2から参照し、バイリニアを用いて出力画像の座標(X,Y)における画素値を算出する。
次に、制御手段6は、X mod L(X/Lの剰余)が示す出力ラインバッファ4の座標へ補間処理後の画素データを転送する。
次に、X mod L=L-1であるかを比較器7により判断する。X mod L=L-1であれば、制御手段6は、出力ラインバッファ4に格納された0からL-1までの画素データを出力フレームバッファ5の出力座標レジスタ8の値Dが示す座標を先頭として転送する制御を行う。このとき、次に作成する出力分割ラインデータの垂直方向の座標は変わらないため、出力画像の垂直方向の座標Yのインクリメントは行わない。そして、出力座標レジスタ8の値DにLを加算する。
次に、X=N-1であるかを比較器7により判断する。X=N-1でなければ、Xをインクリメントし、出力画像の座標(X+1,Y)についても、上述の画素値の算出に必要な四点の算出から繰り返し、補間処理データを算出し、X+1 mod Lが示す出力ラインバッファ4の座標へ補間処理後の画素データを転送する。
X=N-1であれば、制御手段6は、Yをインクリメントし、Y=Mとなったか判断する。Y=Mであれば1フレームの処理を終了する。
Y=Mでなければ、制御手段6は、出力ラインバッファ4に格納された画素データを出力フレームバッファ5の出力座標レジスタ8の値Dが示す座標を先頭として転送する制御を行い、Xに0を設定し、出力座標レジスタ8に0を設定し、次のラインの処理に移る。
図3は出力ラインバッファサイズLと出力画像の関係を示す図である。図3(a)に示すように、L≧Nの場合、出力ラインバッファ4に出力画像の1ライン分の画像データを全て格納することができるため、出力画像を分割する必要はなく、一段の処理で出力ラインバッファ4から出力フレームバッファ5の0からN-1画素のデータを転送することができる。
しかし、図3(b)に示すように、L<Nの場合、k段階に分割し(kは画像の分割数を表し、N/Lの小数部を切り上げた整数値である)、初めに0からL-1の出力分割ラインデータを出力フレームバッファ5に転送し、次にLから2L-1、最後にk×LからN-1の出力分割ラインデータを転送する制御を行う。
このように、水平方向の入力画像サイズnが入力ラインバッファ2のサイズlより大きい場合でも、必要に応じて入力画像を分割し、入力画像の同一ラインの画素データを繰り返し入力ラインバッファ2へ転送することにより、任意のサイズの入力画像に対して処理を行うことができる。
このように、水平方向の入力画像サイズnが入力ラインバッファ2のサイズlより大きい場合でも、必要に応じて入力画像を分割し、入力画像の同一ラインの画素データを繰り返し入力ラインバッファ2へ転送することにより、任意のサイズの入力画像に対して処理を行うことができる。
また、水平方向の出力画像サイズNが出力ラインバッファ4のサイズLより大きい場合でも、必要に応じて出力画像を分割し、出力ラインバッファ4の画素データを出力フレームバッファ5の同一ラインへ繰り返し転送することにより、拡大率を限定することなく、任意サイズの出力画像の拡大処理を行うことができる。
なお、入力画像分割転送制御と出力画像分割転送制御は独立であり、両方を行うようにしても、どちらか一方を行うようにしてもよい。
また、入力画像の水平方向の画素数n、垂直方向の画素数m、出力画像の水平方向の画素数N、垂直方向の画素数Mを入力された時点で分割制御を行うかを判定して処理をしてもよい。
(第2の実施の形態)
次に、図4は本発明の第2の実施の形態の画像処理装置を示す図である。なお、本実施の形態は、上述の第1の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
次に、図4は本発明の第2の実施の形態の画像処理装置を示す図である。なお、本実施の形態は、上述の第1の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
本実施の形態は、出力画像のサイズが大きくなったときの補間係数pの演算負荷を抑えるため、制御手段11が補間係数を出力ラインバッファ4の座標(X mod L、以降Xbufと表す)で計算し、算出した補間係数の誤差を修正する補間係数補正手段12を備えたことを特徴とする。
図5は、出力ラインバッファ4の座標Xbufと出力画像の座標Xとの関係を示す図である。
出力ラインバッファ4の座標Xbufは出力ラインバッファ4のアドレスの相対的な値であり、その範囲は0≦Xbuf<Lとなる。
図6は、補間係数の算出の結果の一例を示す図である。図5、図6は、出力画像の水平方向の座標をX、水平方向の画素数をN、出力ラインバッファ4の座標をXbuf、水平方向の変換比率をA=0.7、出力ラインバッファサイズをL=256、現在処理中の分割段数をfとし、以上の値より補間係数を算出している。fと出力座標レジスタ8の値DにはD=f×Lの関係が成り立つ。
図6に示す補間係数は、出力画像の座標Xを用いて計算した補間係数pnon、pnonにオフセット値offsetを付加した補間係数poffset、出力画像の座標Xの画素値算出に必要とされる入力画像の座標x+pとする。但し、p、pnon、poffset、offsetは計算結果の小数部のみとする。
補間係数pは、水平方向の変換比率Aの逆数1/Aと出力画像の座標Xを掛け合わせた値の小数部である。よって補間係数pは、
p=X/A
で求めることができる。
p=X/A
で求めることができる。
しかし、Xは出力画像サイズに依存する値であり、Xが大きくなると補間係数pの演算負荷が上昇する。そこで、出力画像サイズに依存しない出力ラインバッファ4の座標Xbufを基に計算した補間係数pnonを
pnon=Xbuf/A
として算出する。
pnon=Xbuf/A
として算出する。
しかし、この補間係数pnonは、図6に示すように、f≧1でpとpnonの値に誤差が生じる。誤差を補正するためにオフセット値
offset=f×L/A
をpnonに加算した補間係数poffset
poffset=pnon+offset
を用いることで、出力ラインバッファ4の座標Xbufから正確な補間係数の算出が可能である。
offset=f×L/A
をpnonに加算した補間係数poffset
poffset=pnon+offset
を用いることで、出力ラインバッファ4の座標Xbufから正確な補間係数の算出が可能である。
制御手段11は、補間係数pnonを算出し、補間係数補正手段12で補間係数pnonを補正して補間係数poffsetを算出する。
このように、画像分割時に出力画像の座標Xを用いずに、出力ラインバッファ4の座標Xbufを用いて補間係数pnonを算出しているので、補間係数算出の演算付加を軽減させることができる。
出力ラインバッファ4の座標Xbufを用いて算出した補間係数pnonの誤差を補間係数補正手段12で補正しているので、正確な補間係数を算出することができる。
(第3の実施の形態)
次に、図7は本発明の第3の実施の形態の画像処理装置を示す図である。なお、本実施の形態は、上述の第1の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
次に、図7は本発明の第3の実施の形態の画像処理装置を示す図である。なお、本実施の形態は、上述の第1の実施の形態と略同様に構成されているので、同様な構成には同一の符号を付して特徴部分のみ説明する。
本実施の形態の入力ラインバッファ22は、データをリング型に格納(既に格納しているデータの後にデータを格納し、入力ラインバッファ22の最後まで格納したら次は先頭に戻って格納を続ける)し、制御手段21は、入力分割ラインデータサイズを入力ラインバッファ22のサイズより小さくし、補間処理に必要なx及びx+1の画素の一方が入力ラインバッファ22に格納されていない場合、続きのデータを入力ラインバッファ22に転送することでx及びx+1の画素の両方を参照できるようになっている。
図8は、入力分割ラインデータサイズをl-2とし、入力分割ラインデータを入力ラインバッファに非リング型、リング型で格納した際の概念図である。ここで、非リング型とは、入力ラインバッファの先頭から入力分割ラインデータを上書きすることである。
図8では、補間処理にx及びx+1の画素データを用いる。図8の左に示す入力ラインバッファは入力座標レジスタ9の値Cからxまでの画素データが格納されている。
しかし、この状態ではx及びx+1の画素データを得ることができないので、入力座標レジスタ9に値を設定して入力ラインバッファに入力分割ラインデータを転送してx及びx+1の画素データを得られるようにする。
非リング型の場合、図8の右上の入力ラインバッファに示すように、入力座標レジスタ9にxを設定して入力分割ラインデータを転送することにより、xからx+l-2までの画素データを入力ラインバッファに転送し、x及びx+1の画素データを得ることができる。しかし、xは格納済みであるため重複転送となる。
リング型の場合、図8の右下の入力ラインバッファに示すように、入力座標レジスタ9にx+1を設定して入力分割ラインデータを転送することにより、xからx+l-2までの画素データを入力ラインバッファに転送するとともに、x-1及びxの画素データを残しておくことができ、x及びx+1の画素データを得ることができる。
この場合、入力分割ラインデータにxは含まれていないが、入力ラインバッファ上のデータがリング型に格納されるため、二画素分のデータが入力ラインバッファ上に上書きされずに残り、xの重複転送を抑えることができる。
具体的には、制御手段21は、入力画像の水平方向の画素数n、垂直方向の画素数m、出力画像の水平方向の画素数N、垂直方向の画素数Mを入力されると、入力画像の水平方向の画素数nと入力ラインバッファ22のサイズlとを比較し、入力画像の水平方向の画素数nが入力ラインバッファ22のサイズlより大きい場合、入力分割ラインデータサイズをl-2とする。
次に、制御手段21は、上述の実施の形態同様、入力画像の画素数及び出力画像の画素数に基づいて変換比率を算出する。
そして、制御手段21は、入力座標レジスタ9に初期値0を設定し、入力フレームバッファ1の水平方向の座標0から入力分割ラインデータサイズ分の垂直方向の座標0から2ライン分のデータを入力ラインバッファ22に転送する。
そして、上述の実施の形態同様、出力画像の座標(X,Y)の画素値の算出に必要な四点(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)を算出し、得られた入力画像の水平座標xから、x及びx+1のデータが入力ラインバッファ22に格納されているかを比較器7により判断する。
比較の結果、x及びx+1が入力ラインバッファ22に格納されていない場合、x及びx+1が格納された入力分割ラインデータを転送するために入力座標レジスタ9の値Cに入力分割ラインデータサイズを加算した値を設定し、Cが示す座標を先頭に、入力フレームバッファ1から入力ラインバッファ22へ上述の四点が格納された入力分割ラインデータを転送する。
比較の結果、x及びx+1が入力ラインバッファ2に格納されている場合は、入力分割ラインデータの転送は行わない。
比較の結果、xまたはx+1の画素データのどちらか一方のみが入力ラインバッファ22に格納されている場合、格納されていない画素データを入力ラインバッファ22に転送するため、入力座標レジスタ9の値Cに入力分割ラインデータサイズを加算した値を設定し、Cが示す座標を先頭に、入力フレームバッファ1から入力ラインバッファ22へ上述の四点が格納された入力分割ラインデータを転送する。以降、上述の実施の形態同様に処理を行う。
このように、入力ラインバッファ22に画素データをリング型に格納し、入力分割ラインデータサイズを入力ラインバッファサイズより小さくすることで、新たな入力分割ラインデータが入力ラインバッファ22に格納されても、格納済の画素データの一部を上書きせずに残すことができ、同一画素の重複転送を抑えることができる。
なお、本実施の形態においては、上述の第1の実施の形態の入力ラインバッファにリング型にデータを格納する場合について示したが、同様に、上述の第2の実施の形態の入力ラインバッファにリング型にデータを格納するようにすることもできる。
以上のように、本発明にかかる画像処理装置は、回路規模を抑えながら、拡大率を限定しないで、任意サイズの出力画像の拡大処理を行うことができるという効果を有し、回路規模に制限のある携帯機器等で大きなサイズの画像処理を行うのに有用である。
1 入力フレームバッファ
2 入力ラインバッファ
3 補間処理手段
4 出力ラインバッファ
5 出力フレームバッファ
6 制御手段
7 比較器
8 出力座標レジスタ
9 入力座標レジスタ
11 制御手段
12 補間係数補正手段
21 制御手段
22 入力ラインバッファ
2 入力ラインバッファ
3 補間処理手段
4 出力ラインバッファ
5 出力フレームバッファ
6 制御手段
7 比較器
8 出力座標レジスタ
9 入力座標レジスタ
11 制御手段
12 補間係数補正手段
21 制御手段
22 入力ラインバッファ
Claims (12)
- 入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求める制御手段と、前記補間係数を使って補間処理を行う補間処理手段と、前記補間処理後の画素データを一時的に記憶する出力ラインバッファと、出力画像を記憶する出力フレームバッファとを備え、前記制御手段は、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行わせて求めた画素データを前記出力ラインバッファに順次格納し、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくように制御することを特徴とする画像処理装置。
- 前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正することを特徴とする請求項1に記載の画像処理装置。
- 入力画像を記憶する入力フレームバッファと、前記入力フレームバッファのラインデータから入力分割ラインデータサイズ分のデータを一時的に記憶する入力ラインバッファと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行う補間処理手段と、前記補間処理手段で必要なデータが前記入力ラインバッファに存在しないとき、前記入力フレームバッファから必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するように制御する制御手段とを備えることを特徴とする画像処理装置。
- 前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにしたことを特徴とする請求項3に記載の画像処理装置。
- 入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを備えることを特徴とする画像処理方法。
- 前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正することを特徴とする請求項5に記載の画像処理方法。
- 入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを備えることを特徴とする画像処理方法。
- 前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにしたことを特徴とする請求項7に記載の画像処理方法。
- コンピュータに、入力画像の拡大または縮小のための補間係数を出力画像の座標に基づいて求めるステップと、前記補間係数を使って補間処理を行うステップと、前記出力画像のラインデータの連続した画素データを求める前記補間処理を順次行って求めた画素データを出力ラインバッファに順次格納するステップと、前記ラインデータの全ての画素データを求め前記出力ラインバッファに格納したら前記出力ラインバッファのデータを対応する出力フレームバッファに転送するステップと、前記ラインデータの途中で前記出力ラインバッファの最後まで前記画素データを格納したら前記出力ラインバッファのデータを対応する前記出力フレームバッファに転送し、後続の前記補間処理後の画素データは前記出力ラインバッファの先頭から順次格納していくステップとを実行させるためのプログラム。
- 前記補間処理に使う補間係数を前記出力ラインバッファの座標に基づいて算出し、算出した補間係数を前記出力画像の座標に基づいた補間係数に補正することを特徴とする請求項9に記載のプログラム。
- コンピュータに、入力画像のラインデータから入力分割ラインデータサイズ分のデータを入力ラインバッファに一時的に記憶するステップと、前記入力ラインバッファのデータを使い前記入力画像の拡大または縮小のための補間処理を行うステップと、前記補間処理に必要なデータが前記入力ラインバッファに存在しないとき、前記入力画像から必要なデータを含む前記入力分割ラインデータサイズ分のデータを前記入力ラインバッファに転送するステップとを実行させるためのプログラム。
- 前記入力分割ラインデータサイズを前記入力ラインバッファのサイズより小さくし、前記入力ラインバッファにデータをリング型に格納するようにしたことを特徴とする請求項11に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006066033A JP2007241859A (ja) | 2006-03-10 | 2006-03-10 | 画像処理装置及びその処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006066033A JP2007241859A (ja) | 2006-03-10 | 2006-03-10 | 画像処理装置及びその処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007241859A true JP2007241859A (ja) | 2007-09-20 |
Family
ID=38587307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006066033A Pending JP2007241859A (ja) | 2006-03-10 | 2006-03-10 | 画像処理装置及びその処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007241859A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009164906A (ja) * | 2008-01-07 | 2009-07-23 | Ricoh Co Ltd | 画像変倍処理方法、画像変倍処理装置、画像処理装置および画像形成装置 |
JP2010068124A (ja) * | 2008-09-09 | 2010-03-25 | Canon Inc | 画像読取装置 |
CN111145078A (zh) * | 2019-12-27 | 2020-05-12 | 深圳云天励飞技术有限公司 | 图像预处理的装置及方法 |
-
2006
- 2006-03-10 JP JP2006066033A patent/JP2007241859A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009164906A (ja) * | 2008-01-07 | 2009-07-23 | Ricoh Co Ltd | 画像変倍処理方法、画像変倍処理装置、画像処理装置および画像形成装置 |
JP2010068124A (ja) * | 2008-09-09 | 2010-03-25 | Canon Inc | 画像読取装置 |
CN111145078A (zh) * | 2019-12-27 | 2020-05-12 | 深圳云天励飞技术有限公司 | 图像预处理的装置及方法 |
CN111145078B (zh) * | 2019-12-27 | 2024-03-08 | 深圳云天励飞技术股份有限公司 | 图像预处理的装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4886583B2 (ja) | 画像拡大装置および方法 | |
JP2013178671A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
EP2613290A1 (en) | Image processing device, image processing method, and image processing program | |
JP2006251861A (ja) | 画像処理装置、画像処理方法、表示コントローラ及び電子機器 | |
CN111724304B (zh) | 一种图像缩放方法、装置、终端设备及存储介质 | |
JP2009187546A (ja) | 画像形成方法、画像サイズの変更方法およびサイズ変更器 | |
JP2009027612A (ja) | 映像信号処理装置、映像信号処理方法及び表示装置 | |
JP2001054123A (ja) | 画像処理装置 | |
JP4317624B2 (ja) | 画像処理装置 | |
JP2007241859A (ja) | 画像処理装置及びその処理方法 | |
US8412003B2 (en) | Image processing methods, apparatus and computer program products using interdependent pixel interpolation operations | |
JP2020046817A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JP2009004952A (ja) | 画像処理装置及びプログラム | |
US8902474B2 (en) | Image processing apparatus, control method of the same, and program | |
WO2023070862A1 (zh) | 校正广角镜头图像畸变的方法、装置及照相设备 | |
JP6295619B2 (ja) | 画像処理装置及び方法、並びに電子機器 | |
JP2018120536A (ja) | データ補間装置及びその方法、画像処理装置 | |
JP6278716B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP6795411B2 (ja) | 画像補正装置および画像補正方法とプログラム | |
JP2005352703A (ja) | 画像処理装置 | |
JP2016095667A (ja) | 画像処理装置および電子機器 | |
JP2005293265A (ja) | 画像処理装置及び方法 | |
JP3243293B2 (ja) | 輪郭線補正方法 | |
JP2011009814A (ja) | 縮小画像生成装置 | |
JP2021189458A (ja) | 装置、方法、及びプログラム |