(57)【要約】【課題】本発明は、画像の主走査方向にスキャンされたラインデータをデータ供給速度に合わせてシーケンシャルに処理することにより任意倍率の拡大・縮小処理を実行可能な画像処理装置を提供することを目的とする。【解決手段】画像処理装置は、画像を主走査方向へスキャンしたラインデータが供給されるデータ供給端と、データ供給端に結合され整数倍の拡大率で画像を拡大する拡大処理をラインデータに適用することにより拡大データを出力端に生成する画像拡大ユニットと、画像拡大ユニットの出力端に結合され拡大後の画像を所望の縮小率で縮小する縮小処理を拡大データに適用することにより縮小データを出力端に生成する画像縮小ユニットを含むことを特徴とする。【選択図】図１
2007109204.tif 000002
【特許請求の範囲】
【請求項１】
画像を主走査方向へスキャンしたラインデータが供給されるデータ供給端と、
該データ供給端に結合され整数倍の拡大率で該画像を拡大する拡大処理を該ラインデータに適用することにより拡大データを出力端に生成する画像拡大ユニットと、
該画像拡大ユニットの該出力端に結合され該拡大後の画像を所望の縮小率で縮小する縮小処理を該拡大データに適用することにより縮小データを出力端に生成する画像縮小ユニット
を含むことを特徴とする画像処理装置。
【請求項２】
画像データを出力端に出力するイメージセンサと、
該イメージセンサの該出力端と該データ供給端との間に結合され、該画像データの一部を切り出した切り出し後の画像データを該ラインデータとして該データ供給端に供給する画像切り出しユニット
を更に含むことを特徴とする請求項１記載の画像処理装置。
【請求項３】
該画像縮小ユニットの該出力端に結合されるシステムバスと、
該システムバスに結合され該縮小データを格納するフレームメモリ
を更に含むことを特徴とする請求項２記載の画像処理装置。
【請求項４】
該画像拡大ユニットは該画像切り出しユニットの該出力端にフレームメモリを介することなく結合されることを特徴とする請求項２記載の画像処理装置。
【請求項５】
該画像拡大ユニットによる該拡大処理の該拡大率は少なくとも１つの固定の倍率であり該画像縮小ユニットによる該縮小処理の該縮小率は任意に設定可能な倍率であることを特徴とする請求項１記載の画像処理装置。
【請求項６】
該画像拡大ユニットによる該拡大処理はニアレストネイバー法による拡大処理であり、該画像縮小ユニットは該拡大データをローパスフィルタリングするフィルタリングユニットを含むことを特徴とする請求項１記載の画像処理装置。
【請求項７】
該画像縮小ユニットによる該縮小処理はバイリニア法又はバイキュービック法による縮小処理であることを特徴とする請求項６記載の画像処理装置。
【請求項８】
該画像縮小ユニットは該画像拡大ユニットの該出力端にフレームメモリを介することなく結合されることを特徴とする請求項１記載の画像処理装置。
【請求項９】
画像データを入力として受け取り、該画像データを水平方向に縮小する水平縮小処理を施して得られたデータを該ラインデータとして該データ供給端に供給する水平縮小ユニットを更に含むことを特徴とする請求項１記載の画像処理装置。
【請求項１０】
該画像拡大ユニットはニアレストネイバー法により各画素値をコピーして該画像を拡大することを特徴とする請求項９記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に画像処理装置及び画像処理方法に関し、詳しくは画像を拡大・縮小する画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
デジタル画像の拡大・縮小処理は、元画像の画素位置に対応するサンプリング間隔を他のサンプリング間隔に変換する処理であり、一般には元画像の画素値を補間して新たな画素値を生成する必要がある。この補間処理として代表的なものに、ニアレストネイバー法、バイリニア法、バイキュービック法等がある。
【０００３】
ニアレストネイバー法は、画素値を求めるべき着目点に最も近い位置の画素の値をその着目点の画素値とする方法であり、最も単純な補間方法である。バイリニア法は、画素値を求めるべき着目点の上下左右の４近傍の画素の値から、その着目点の画素値を線形補間により求める方法である。バイキュービック法は３次式による補間方法であり、一般には画素値を求めるべき着目点の１６近傍の画素（縦４画素×横４画素）の値に基づいて３次の多項式を計算し、その着目点の画素値を求める方法である。他にもｓｉｎｃ関数を用いた補間方法等があるが、計算処理量と画質との兼ね合いにおいて、バイキュービック法が良好な結果をもたらす方法として一般に用いられることが多い。
【０００４】
デジタルカメラ等にはデジタルズーム機能が搭載されている。デジタルズーム処理においては、ＣＣＤ/ＣＭＯＳイメージセンサが撮像した画像データの一部分を切り出して、この切り出した部分画像を所望の画像サイズになるように拡大又は縮小する。従来の構成では、イメージセンサの出力データに対してカラープロセッサによる画像の切り出し処理を行い、一旦フレームメモリに画像データを格納し、その後に拡大・縮小処理を別モジュールであるスケーラを用いて実行している。
【０００５】
ここでカラープロセッサは、イメージセンサの撮像データを入力とし、画像信号中の欠陥画素のデータを処理して欠陥を補正する欠陥画素補正、ＲＧＢベイヤ配列の色情報に基づいて各画素に対する色データを求める色補間、色データをもとにレンズのひずみを補正するシェーディング補正等の信号処理を実行する部分である。またスケーラは、カラープロセッサとは別モジュールとして設けられ、フレームメモリに格納された画像データにバイキュービック法等を適用することで、画像の拡大・縮小処理を実行する部分である。
【０００６】
このように従来の構成において、カラープロセッサによる切り出し処理とスケーラによる拡大・縮小処理との間にフレームメモリが介在するのは、任意倍率の拡大処理をイメージセンサ出力の速度に合わせてシーケンシャルに処理することは困難だからである。イメージセンサの出力は、主走査方向にスキャンされたスキャンラインデータとして所定の速度で供給される。従って、画像データをフレームメモリに格納することなく拡大・縮小処理を実行しようとすると、スキャンラインデータとして供給される画像データストリームを供給速度と同じ速度で処理して出力する必要がある。
【０００７】
イメージセンサから出力されるラインデータをデータ供給速度に合わせてシーケンシャルに処理するためには、各画素又は各画像ブロックに対する処理を一定時間間隔で繰り返し実行しなければならない。しかし任意倍率の拡大処理においては、サンプリング数を増加する補間処理のために同じ画素の値を何回も参照する必要があるとともに、整数倍でない拡大倍率の場合には画素値を参照する回数が画素毎に異なることがある。
【０００８】
例えば、ニアレストネイバー法で１．５倍に拡大する場合、水平拡大については、ｎ−１番目の画素を１回参照し、ｎ番目の画素を２回参照し、ｎ＋１番目の画素を１回参照するという動作を繰り返すことになる。また垂直拡大については、ｎ−１番目のラインの各画素を１回参照し、ｎ番目のラインの各画素を２回参照し、ｎ＋１番目のラインの各画素を１回参照するという動作を繰り返すことになる。このように画素値を参照する回数が一定とならず、しかも参照回数は拡大率に応じて変化するので、任意の拡大率に対して一定時間間隔でのシーケンシャルな処理を実行することは困難となる。
【０００９】
従って従来のデジタルズーム処理では、画像の切り出し処理と拡大・縮小処理との間にフレームメモリを介在させることで、不必要に複雑な処理及び回路構成とすることなく拡大・縮小処理を実行している。しかしこのような構成では、画像の切り出し処理と拡大・縮小処理との間にメモリアクセスが介在するので、処理効率が悪いという問題がある。また中間データをメモリに格納するので、余計なメモリ領域を消費してしまうという問題もある。
【００１０】
なお特許文献１には、水平・垂直画素サイズ設定作業および画素数変換の処理を無くし、切り出し動作の高速化を図る技術が示されている。また特許文献２には、照度が低い被写体の撮影において画素加算により感度を増加させる構成において、画素加算により生成し表示するサイズの画像データに対して水平ｎ倍、垂直ｍ倍に画像データをリサイズした後に、水平ｎ×垂直ｍの画素加算を実行することで、所望サイズで高感度の画像データを得る技術が示されている。
【特許文献１】特開２００４−２８２３０５号公報
【特許文献２】特開２００５−１１５５９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
以上を鑑みて、本発明は、画像の主走査方向にスキャンされたラインデータをデータ供給速度に合わせてシーケンシャルに処理することにより任意倍率の拡大・縮小処理を実行可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による画像処理装置は、画像を主走査方向へスキャンしたラインデータが供給されるデータ供給端と、該データ供給端に結合され整数倍の拡大率で該画像を拡大する拡大処理を該ラインデータに適用することにより拡大データを出力端に生成する画像拡大ユニットと、該画像拡大ユニットの該出力端に結合され該拡大後の画像を所望の縮小率で縮小する縮小処理を該拡大データに適用することにより縮小データを出力端に生成する画像縮小ユニットを含むことを特徴とする。
【００１３】
また本発明による画像処理方法は、画像を主走査方向へスキャンしたラインデータを所定のデータ速度で受け取り、整数倍の拡大率で該画像を拡大する拡大処理を該ラインデータに適用することにより拡大データを生成し、該拡大後の画像を所望の縮小率で縮小する縮小処理を該拡大データに適用することにより縮小データを生成する各段階を含み、該各段階を一連の処理として該データ速度に合わせて実行することを特徴とする。
【発明の効果】
【００１４】
本発明の少なくとも１つの実施例によれば、整数倍の拡大処理を実行した後に縮小処理を実行することで、所望の倍率の画像を生成する。これにより、画像の主走査方向にスキャンされたラインデータをデータ供給速度に合わせてシーケンシャルに処理することが容易となり、比較的単純な回路構成でフレームメモリを介在させることなく、また中間データによってメモリを浪費することなく、任意倍率の拡大・縮小処理を実行することができる。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【００１６】
図１は、本発明による画像処理装置の構成の一例を示す構成図である。図１の画像処理装置１０は、イメージセンサ１１、画素補間ユニット１２、画像切り出しユニット１３、画像拡大ユニット１４、画像縮小ユニット１５、ＣＰＵ１６、メモリ１７、及びシステムバス１８を含む。
【００１７】
イメージセンサ１１は、ＣＣＤやＣＭＯＳ等の固体撮像素子であり、受光部には複数のホトダイオードが縦横に配列され、撮像用の画素（ピクセル）を構成する。この画素単位で入射光が光電変換され、光電変換された電荷が電荷蓄積部分に蓄積され読み出される。読み出された画像信号は、増幅されＡ／Ｄ変換され、デジタル画像データとして次段に供給される。
【００１８】
この際、デジタル画像データと共に、画像データ信号に同期した垂直同期信号、水平同期信号、及びクロック信号が供給される。出力されるデジタル画像データは、主走査方向にスキャンされたスキャンラインデータであり、所定の速度で供給（出力）される。
【００１９】
画素補間ユニット１２は、イメージセンサ１１からのデジタル画像データを入力とし、ＲＧＢベイヤ配列の色情報に基づいて各画素に対する色データを求める色補間処理を実行する。なお画像信号中の欠陥画素のデータを処理して欠陥を補正する欠陥画素補正、色データをもとにレンズのひずみを補正するシェーディング補正等の信号処理も、適宜実行してよい。画素補間ユニット１２により処理された画像データは画像切り出しユニット１３に供給される。この供給画像データは、主走査方向にスキャンされたスキャンラインデータであり、所定の速度で供給される。
【００２０】
画像切り出しユニット１３は、供給される画像データから、指定された部分領域の部分画像データを切り出す。この切り出し処理により、元画像データのスキャンラインデータのうちで指定された部分領域に対応する画像データのみが有効データとして、画像拡大ユニット１４に供給される。この供給画像データは、主走査方向にスキャンされたスキャンラインデータであり、所定の速度で供給される。
【００２１】
画像拡大ユニット１４は、供給される画像データに対して固定倍率の拡大処理を実行する。ここで固定倍率とは、任意に指定可能な倍率ではなく、１倍、２倍、４倍、・・・、ｎ倍等の整数倍の拡大倍率のことをいう。例えば４倍という一種類の整数倍の拡大倍率に固定であってもよいし、１倍、２倍、４倍、・・・、ｎ倍等の複数種類の整数倍の拡大倍率を用意しておき、適宜拡大倍率を選択する構成としてもよい。
【００２２】
画像拡大ユニット１４においては、拡大処理を任意の拡大率ではなく、整数倍の拡大率で実行する。例えばニアレストネイバー法を採用する場合、水平方向にｎ倍に拡大する場合には同じ画素データをｎ回ずつ出力し、垂直方向にｎ倍に拡大する場合は同じラインデータをｎ回ずつ出力すればよい。従って、拡大処理においてラインデータをラインバッファに保持する時間を一定時間とし、一定時間間隔での繰り返し処理として拡大処理を実行することができるので、データ供給速度に合わせたシーケンシャルな処理を容易に実行することができる。なおニアレストネイバー法以外の方法、例えばバイリニア法やバイキュービック法を用いた場合でも、一定のデータ保持時間で一定間隔の繰り返し処理として拡大処理を実行できることは同様である。
【００２３】
画像拡大ユニット１４により整数倍に拡大された画像の画像データは、画像縮小ユニット１５に供給される。この供給画像データは、主走査方向にスキャンされたスキャンラインデータであり、所定の速度で供給される。
【００２４】
画像縮小ユニット１５は、任意の倍率での画像縮小処理を実行可能なように構成される。画像縮小ユニット１５は、所望の画像サイズに画像を変換するために、画像拡大ユニット１４により一旦拡大された画像の画像データに対して、所望の画像サイズと拡大画像サイズとの比として定まる縮小率での画像縮小処理を実行する。
【００２５】
説明の都合上、単純な場合としてニアレストネイバー法で２／３倍に縮小する場合、水平縮小については、連続する３画素のうち２画素を１回参照し残りの１画素は参照しないという動作を繰り返すことになる。また垂直縮小については、連続する３ラインのうち２ラインの各画素を１回ずつ参照し残りの１ラインの各画素は参照しないという動作を繰り返すことになる。この場合、ラインデータをラインバッファに保持する時間を一定として、一定時間間隔の処理を間引きしながら実行するだけでよいので、データ供給速度に合わせたシーケンシャルな処理を容易に実行することができる。なおニアレストネイバー法以外の方法、例えばバイリニア法やバイキュービック法を用いた場合であっても、一定のデータ保持時間で一定間隔の繰り返し処理を間引きしながら縮小処理を実行できることは同様である。
【００２６】
この縮小処理において、好ましくは画像データはバイリニア法やバイキュービック法などの補間方法によって処理される。また好ましくは縮小処理の前にローパスフィルタ処理をすることにより、ニアレストネイバー法でそのままの画素値を用いて拡大した画像の画質が改善される。なお画像縮小ユニット１５は、デジタルズーム以外にフレームメモリ（メモリ１７）に格納するデータサイズを削減するための処理にも使用される。このときは拡大率を１倍に設定する。
【００２７】
画像縮小ユニット１５から出力される所望のサイズの画像の画像データは、システムバス１８を介してメモリ１７（フレームメモリ）に格納される。ＣＰＵ１６は、画像処理装置１０の各部の動作を制御する。
【００２８】
このように本発明による図１に示す画像処理装置１０においては、整数倍の拡大処理を実行した後に縮小処理を実行することで、所望の倍率の画像を生成する。これにより、画像の主走査方向にスキャンされたラインデータをデータ供給速度に合わせてシーケンシャルに処理することが容易となり、比較的単純な回路構成でフレームメモリを介在させることなく、任意倍率の拡大・縮小処理を実行することができる。なおこの際、所望の倍率の画像が元画像に対する縮小サイズであれば、拡大処理は実行しない構成であってよい。
【００２９】
図２は、本発明による画像拡大処理を模式的に示す図である。元画像はＳＸＧＡ（１２８０×９６０ピクセル）であり、その一部分を切り出して１０倍ズーム（拡大）を実行する様子を示している。フレームメモリに格納すべき所望の画像サイズはＱＶＧＡ（３２０×２４０ピクセル）とする。
【００３０】
まず画像切り出しユニット１３により、イメージセンサ１１が撮像した画像の縦横１／１０の領域、つまり１２８×９６ピクセルの領域を部分画像として切り出す。次に画像拡大ユニット１４により、この切り出した部分画像を拡大して、所望のサイズであるＱＶＧＡ以上のサイズの画像を生成する。例えば、設定可能な拡大率が１倍、２倍、４倍の何れかである場合には、拡大率を４倍に設定すればよい。最後に、画像縮小ユニット１５により、５１２×３８４ピクセルに拡大された画像を縦横０．６２５倍に縮小し、所望のサイズであるＱＶＧＡの画像を得る。
【００３１】
図３は、画像拡大ユニット１４及び画像縮小ユニット１５の構成の一例を示す構成図である。図３に示されるように、画像拡大ユニット１４は、水平拡大ユニット２１、ラインバッファ２２、及び垂直拡大ユニット２３を含む。また画像縮小ユニット１５は、水平ローパスフィルタ３１、水平縮小ユニット３２、ラインバッファ３３、垂直ローパスフィルタ３４、ラインバッファ３５、及び垂直縮小ユニット３６を含む。
【００３２】
水平拡大ユニット２１は、ニアレストネイバー法により、各画素値をそのまま水平方向（主走査方向）に拡大倍率に応じた数だけ繰り返す構成でよい。より高画質な拡大処理が必要な場合には、バイリニア法やバイキュービック法などの補間方式を用いる構成としてよい。
【００３３】
垂直拡大ユニット２３は、ニアレストネイバー法により、各画素値をそのまま垂直方向（副走査方向）に拡大倍率に応じた数だけ繰り返す構成でよい。より高画質な拡大処理が必要な場合には、バイリニア法やバイキュービック法などの補間方式を用いる構成としてよい。
【００３４】
ラインバッファ２２は、水平拡大ユニット２１の出力である水平拡大後のラインデータを保持するものであり、ラインバッファ２２が保持している画素値を繰り返し参照することにより、垂直拡大ユニット２３においてニアレストネイバー法による垂直拡大処理を実行する。ニアレストネイバー法の場合には、水平１ラインに相当する一段のラインバッファがあればよい。また処理効率を向上させるために、図４に示すようなダブルバッファ構成としてもよい。図４のダブルバッファ構成では、ラインバッファ２２Ａとラインバッファ２２Ｂとの２つのラインバッファを設け、一方のラインバッファにデータを書き込む間に、他方のラインバッファからデータを読み出して処理する。
【００３５】
なおバイリニア法やバイキュービック法などの補間方式を用いる場合には、ラインバッファ２２としては複数の水平ラインに相当する複数段のラインバッファが必要になる。これら複数段のラインバッファの保持する画素値を参照して、線形或いは３次式の所定の補間式に従ってライン間の補間値を計算することにより、元画像の水平ライン間に挿入する新たな水平ラインの画素値を計算することになる。
【００３６】
水平ローパスフィルタ３１は、水平方向にローパスフィルタ処理を実行することで、縮小後のエイリアスノイズの原因となる高周波成分をあらかじめ取り除く。水平縮小ユニット３２は、バイリニア法やバイキュービック法等の補間方式を用いて画像データを水平方向に縮小する。垂直ローパスフィルタ３４は、垂直方向にローパスフィルタ処理を実行することで、縮小後のエイリアスノイズの原因となる高周波成分をあらかじめ取り除く。
【００３７】
ラインバッファ３３は、水平縮小ユニット３２の出力である水平縮小後のラインデータを保持するものであり、垂直ローパスフィルタ３４のタップ数に応じた段数のラインバッファを含む。例えば垂直ローパスフィルタ３４のタップ数が３であり、垂直方向に３画素分の広がりを有したローパスフィルタ処理を実行する場合、ラインバッファ３３としては例えば図５の構成としてよい。
【００３８】
図５に示すラインバッファ３３は、それぞれ水平１ラインに相当するラインバッフ３３Ａとラインバッファ３３Ｂとを含む２段構成となっている。１ライン分の水平縮小後の各画素値が水平縮小ユニット３２から順次供給され、ラインバッファ３３Ａに順次格納されていき、ラインバッファ３３Ａに１ライン分の画像データが格納される。その後次の１ライン分の水平縮小後の各画素値が水平縮小ユニット３２から供給され、ラインバッファ３３Ａに順次格納されていくと共に、既にラインバッファ３３Ａに格納されている１ライン分の各画素値が順次出力され、ラインバッファ３３Ｂに順次格納されていく。このようにして垂直ローパスフィルタ３４には、水平縮小ユニット３２から直接供給される第ｎ＋２ラインのある水平位置の画素値、ラインバッファ３３Ａから供給される第ｎ＋１ラインの同一水平位置の画素値、及びラインバッファ３３Ｂから供給される第ｎラインの同一水平位置の画素値が供給されることになる。
【００３９】
垂直縮小ユニット３６は、バイリニア法やバイキュービック法などの補間方式を用いて、垂直ローパスフィルタ３４から出力されるラインデータを垂直方向に縮小する。この際、ラインバッファ３５により垂直ローパスフィルタ３４から出力されるラインデータを保持しておき、この保持されるラインデータの各画素値を参照することで、垂直縮小ユニット３６において縮小処理が実行される。
【００４０】
バイリニア法やバイキュービック法などの補間方式を用いる場合、ラインバッファ３５としては複数の水平ラインに相当する複数段のラインバッファが必要になる。これら複数段のラインバッファの保持する画素値を参照して、線形或いは３次式の所定の補間式に従ってライン間の補間値を計算することにより、元画像の水平ライン間に位置する縮小後画像の水平ラインの画素値を計算することになる。
【００４１】
ラインバッファ３５の段数は補間方式に依存する。例えばバイキュービック方式の場合は、４×４画素の画素値を参照するので、図６のような構成が考えられる。
【００４２】
図６に示すラインバッファ３５は、それぞれ水平１ラインに相当するラインバッフ３５Ａ、ラインバッファ３５Ｂ、及びラインバッファ３５Ｃを含む３段構成となっている。１ライン分の各画素値が垂直ローパスフィルタ３４から順次供給され、ラインバッファ３５Ａに順次格納されていき、ラインバッファ３５Ａに１ライン分の画像データが格納される。その後次の１ライン分の各画素値が垂直ローパスフィルタ３４から供給され、ラインバッファ３５Ａに順次格納されていくと共に、既にラインバッファ３５Ａに格納されている１ライン分の各画素値が順次出力され、ラインバッファ３５Ｂに順次格納されていく。その後次の１ライン分の各画素値が垂直ローパスフィルタ３４から供給され、ラインバッファ３５Ａに順次格納されていくと共に、既にラインバッファ３５Ａに格納されている１ライン分の各画素値が順次出力されてラインバッファ３５Ｂに順次格納され、既にラインバッファ３５Ｂに格納されている１ライン分の各画素値が順次出力されてラインバッファ３５Ｃに順次格納されていく。
【００４３】
このようにして垂直縮小ユニット３６には、垂直ローパスフィルタ３４から直接供給される第ｎ＋３ラインのある水平位置の画素値、ラインバッファ３５Ａから供給される第ｎ＋２ラインの同一水平位置の画素値、ラインバッファ３５Ｂから供給される第ｎ＋１ラインの同一水平位置の画素値、及びラインバッファ３５Ｃから供給される第ｎラインの同一水平位置の画素値が供給されることになる。垂直縮小ユニット３６は、これら４つの画素値に基づいて所定の３次補間式を計算することで、元画像の水平ライン間に位置する縮小後画像の水平ラインの画素値を計算することになる。
【００４４】
図７は、画像処理装置１０による画像拡大処理の各処理段階における画像データを示す図である。図７において、各信号波形のＨＩＧＨ部分はデータ有効期間を示し、ＬＯＷ部分はデータ無効期間を示す。また図７の例は、図２の例に対応し、元画像データから切り出した部分画像データを４倍に拡大し、その後０．６２５倍に縮小する場合の各処理段階の画像データが示される。
【００４５】
（ａ）は撮像画像データを示す。（ａ）に示されるように、イメージセンサ１１により撮像されたデジタル画像データは、１つの水平ラインの画像データを一纏まりとして、各水平ラインの画像データが各纏まり毎に順次出力される。各水平ライン間には絞り調整等に要する時間のためのマージンとして、画像データの存在しないブランキング期間が設けられる。
【００４６】
（ａ）は撮像画像データの一部分を切り出すことで、（ｂ）に示す画像切り出し後の画像データが得られる。ここでは、垂直方向に第ｍ水平ラインから画像の切り出しをする場合の例が示される。第ｍ水平ライン以前には切り出し画像データは存在せず、図示される第ｍ乃至ｍ＋２ライン（図示外を含めると例えばｍ乃至ｍ＋９５ライン）については切り出し画像データが存在する。また図示される第ｍ乃至ｍ＋２ラインの各々において、水平１ラインのデータの長さ（有効期間の長さ）が切り出しにより短くなっている。
【００４７】
（ｂ）の画像切り出し後の画像データを水平方向に整数倍（図７の例では４倍）に拡大する。（ｃ）は水平拡大後の画像データを示し、（ｂ）の画像切り出し後の画像データに対して水平１ラインのデータの長さ（有効期間の長さ）が４倍となっている。これは水平方向の画素数が４倍となったことを示している。
【００４８】
更に（ｃ）の水平拡大後の画像データを垂直方向に整数倍（図７の例では４倍）に拡大する。（ｄ）は垂直拡大後の画像データを示し、（ｃ）の水平拡大後の画像データの各水平ライン毎に４つの水平ライン分のデータが生成されている。
【００４９】
次に（ｄ）の垂直拡大後の画像データを水平方向に０．６２５倍に縮小する。（ｅ）は水平縮小後の画像データを示し、（ｄ）の垂直拡大後の画像データに対して各水平ラインのデータの長さ（有効期間の長さ）が０．６２５倍となっている。これは水平方向の画素数が０．６２５倍となったことを示している。
【００５０】
最後に（ｅ）の水平縮小後の画像データを垂直方向に０．６２５倍に縮小する。（ｆ）は垂直縮小後の画像データを示し、（ｅ）の水平縮小後の画像データに対して水平ライン数が０．６２５倍となっている。この際、ニアレストネイバー法であれば単にｎ本の水平ラインのうちの０．６２５ｎ本を選択して出力するだけであるが、バイリニア法やバイキュービック法などの補間方式を用いる場合、複数の水平ラインの画素値を参照して、線形或いは３次式の所定の補間式に従ってライン間の補間値を計算して、０．６２５ｎ本の水平ラインのデータを生成することになる。
【００５１】
図８乃至図１５は、画像処理装置１０による画像拡大処理の各処理段階における画像データを２次元配列形式で示す図である。図８においてＡｍ，ｎは、本発明による拡大処理を実行する前の画像の座標（ｍ，ｎ）における画素値である。図８に示す撮像画像データから部分画像４０を切り出すことで、図９に示す切り出し後の部分画像が得られる。ここで切り出された部分画像はＡｍ，ｎ、Ａｍ，ｎ＋１、Ａｍ＋１，ｎ、及びＡｍ＋１，ｎ＋１の画素値から構成される。
【００５２】
図９の切り出し部分画像を図３の水平拡大ユニット２１により水平方向に例えば４倍に拡大する。ニアレストネイバー法を用いる場合には同一画素値を４回繰り返すことにより４倍の拡大処理が実現される。図１０は水平拡大後の画像を示す。図１０に示されるように、水平方向に同一画素値が４回ずつ繰り返されている。また各水平ラインのデータは図３のラインバッファ２２に順次格納される。
【００５３】
ラインバッファ２２に格納された画素値を図３の垂直拡大ユニット２３により垂直方向に繰り返すことで、垂直方向への拡大処理が実行される。図１１は垂直拡大後の画像を示す。図１１に示されるように、垂直方向に同一画素値が４回ずつ繰り返されている。
【００５４】
図１１の垂直拡大後の画像を図３の水平ローパスフィルタ３１により水平方向にローパスフィルタ処理する。図１２は水平ローパスフィルタ後の画像を示す。ローパスフィルタ処理により画素値が変化するので、図１２では変化後の画素値をＡ'で示してある。また３行目以降は図示を省略してあるが、図１１と同様に垂直方向には８ライン分のデータが存在する。
【００５５】
図１２に示す黒丸は、水平ローパスフィルタ処理後の画像に対して水平方向縮小処理を適用する際の縮小後の画像の画素位置（画素座標）を示すものである。この黒丸の座標位置での画素値Ｂ１，１、Ｂ１，２、・・・を求めるために、図３の水平縮小ユニット３２ではバイリニア法やバイキュービック法などの補間方式を用いる。即ち、水平方向に並ぶ複数の画素の値に基づいて所定の補間式を計算し、黒丸の座標位置での画素値を求める。
【００５６】
図１３は、水平縮小ユニット３２の出力である水平縮小後の画像を示す。各水平ラインのデータは図３のラインバッファ３３に順次格納される。
【００５７】
ラインバッファ３３に格納された画素値を図３の垂直ローパスフィルタ３４により垂直方向にローパスフィルタ処理する。図１４は垂直ローパスフィルタ後の画像を示す。ローパスフィルタ処理により画素値が変化するので、図１４では変化後の画素値をＢ'で示してある。また３行目以降は図示を省略してあるが、図１１と同様に垂直方向には８ライン分のデータが存在する。図１４の各水平ラインのデータは図３のラインバッファ３５に順次格納される。
【００５８】
図１４に示す黒丸は、垂直ローパスフィルタ処理後の画像に対して垂直方向縮小処理を適用する際の縮小後の画像の画素位置（画素座標）を示すものである。この黒丸の座標位置での画素値Ｃ１，１、Ｃ１，２、・・・を求めるために、図３の垂直縮小ユニット３６ではバイリニア法やバイキュービック法などの補間方式を用いる。即ち、ラインバッファ３５に格納された垂直方向に並ぶ複数の画素の値に基づいて所定の補間式を計算し、黒丸の座標位置での画素値を求める。このようにして、図１５に示されるような垂直縮小後の画像が得られる。
【００５９】
図１６Ａ及び図１６Ｂは、本発明による画像切り出し及び画像拡大・縮小処理の処理手順を示すフローチャートである。この処理手順において、イメージセンサ１１によって撮像された画像サイズをＸｓ×Ｙｓ画素、メモリ１７（フレームメモリ）に格納する画像サイズをＸｄ×Ｙｄ画素、画像拡大ユニット１４で用いる固定拡大倍率をＥ、画像縮小ユニット１５で用いる任意縮小倍率をＲとする。またイメージセンサ１１は原色フィルタを搭載していると仮定する。なお撮像画像から切り出す量は、必ずしも水平・垂直とも同じ割合で切り出すとは限らず、アスペクト比を変更することができる。また種々の画像処理効果を得るために、固定拡大倍率Ｅ及び任意縮小倍率Ｒを、水平方向の倍率Ｅｘ及びＲｘと垂直方向の倍率Ｅｙ及びＲｙとに分解し、それぞれ独立に設定可能な構成としてもよい。
【００６０】
図１６ＡのステップＳ１において、イメージセンサ１１により原色ベイヤ配列の撮像素子から取り込まれたアナログ電気信号をデジタルデータに変換する。ステップＳ２において、画素補間ユニット１２によりベイヤ配列のデジタルデータを画素補間して色データ（ＹＣｂＣｒ又はＲＧＢ等）に変換する。
【００６１】
ステップＳ３において、Ｘｓ×Ｙｓ画素の撮像画像から、縦横１／Ｚサイズの領域を切り出す（１／Ｚ：撮像画像の内の切り出す画像部分の比率）。ステップＳ４において、ＸｄとＸｓ／Ｚの大小関係（又はＹｄとＹｓ／Ｚの大小関係）を判断する。
【００６２】
ＸｄがＸｓ／Ｚよりも小さい場合には、最終的にメモリ格納する画像サイズが切り出し画像よりも小さいので、縮小処理のみを実行すればよい。従ってこの場合、ステップＳ５において、（Ｘｓ／Ｚ）×（Ｙｓ／Ｚ）画素の画像を、縮小倍率Ｒ＝Ｘｄ（Ｚ／Ｘｓ）即ちＹｄ（Ｚ／Ｙｓ）で縮小する。引き続きステップＳ６において、Ｓ５の縮小処理で得られたＸｄ×Ｙｄ画素の画像データをフレームメモリに転送して格納する。
【００６３】
ＸｄがＸｓ／Ｚと等しい場合には、最終的にメモリ格納する画像サイズが切り出し画像と同じであるので、切り出し画像のサイズを変更する必要はない。従ってこの場合、ステップＳ６に進み、Ｓ３の切り出し処理で得られたＸｄ×Ｙｄ画素の画像データをフレームメモリに転送して格納する。
【００６４】
ＸｄがＸｓ／Ｚよりも大きい場合には、最終的にメモリ格納する画像サイズが切り出し画像よりも大きいので、拡大処理及び縮小処理の組み合わせが必要となる可能性がある。従ってこの場合、図１６ＢのステップＳ７において、ＸｄとＸｓ（Ｅ／Ｚ）の大小関係（又はＹｄとＹｓ（Ｅ／Ｚ）の大小関係）を判断する。
【００６５】
ＸｄがＸｓ（Ｅ／Ｚ）よりも小さい場合には、最終的にメモリ格納する画像サイズが切り出し画像のＥ倍（固定倍率）よりも小さいので、拡大処理と縮小処理との両方を実行する必要がある。従ってこの場合、ステップＳ８において、（Ｘｓ／Ｚ）×（Ｙｓ／Ｚ）画素の画像を、固定倍率Ｅで拡大する。引き続きステップＳ９で、（Ｘｓ（Ｅ／Ｚ））×（Ｙｓ（Ｅ／Ｚ））画素の画像を、縮小倍率Ｒ＝（ＸｄＺ）／（ＸｓＥ）即ち（ＹｄＺ）／（ＹｓＥ）で縮小する。引き続きステップＳ１０において、Ｓ９の縮小処理で得られたＸｄ×Ｙｄ画素の画像データをフレームメモリに転送して格納する。
【００６６】
ＸｄがＸｓ（Ｅ／Ｚ）と等しい場合には、最終的にメモリ格納する画像サイズが切り出し画像のＥ倍（固定倍率）と同じであるので、拡大処理のみ実行すればよい。従ってこの場合、ステップＳ１１において、（Ｘｓ／Ｚ）×（Ｙｓ／Ｚ）画素の画像を、固定倍率Ｅで拡大する。引き続きステップＳ１０において、Ｓ１１の拡大処理で得られたＸｄ×Ｙｄ画素の画像データをフレームメモリに転送して格納する。
【００６７】
ＸｄがＸｓ（Ｅ／Ｚ）より大きい場合には、最終的にメモリ格納する画像サイズが切り出し画像のＥ倍（固定倍率）より大きいので、処理不可として処理を終了する。なおこの場合、固定倍率Ｅ倍が唯一利用可能な拡大率であり、その他の整数倍の拡大率は利用できないものと仮定している。例えば２，４，８，・・・倍のように複数の整数倍の拡大率が利用可能であり、その中から所望の拡大率を選択して拡大処理可能な構成としてもよい。
【００６８】
以下に、本発明による画像処理装置の変形例について説明する。本発明による画像処理装置の変形例は、処理に必要なラインメモリ（ラインバッファ）のサイズを縮小するように構成されている。
【００６９】
デジタルカメラ等の撮像機器においては、より高精細な画像で撮影したいというユーザの要求に応えて、ＣＣＤやＣＭＯＳ等の固体撮像素子の画素数が増大している。しかし一水平ラインあたりの画素数が増大すると、拡大・縮小処理で必要とされるラインメモリ（ラインバッファ）のサイズが大きくなり、回路規模が増大することになる。
【００７０】
従来技術の欄で説明したように、従来のデジタルズーム処理（リサイズ処理）においては、イメージセンサの出力データに対してカラープロセッサによる画像の切り出し処理を行い、一旦フレームメモリに画像データを格納し、その後に拡大・縮小処理を別モジュールであるスケーラを用いて実行している。仮にフレームメモリを介さずに拡大・縮小処理を実行しようとすると、イメージセンサから次々に送られてくるラインデータをシーケンシャルに処理することになり、特に任意倍率拡大処理においては、画像処理回路内に一時バッファとして多くのラインメモリを設ける必要がある。そのようなラインメモリを数多く必要とすることは、回路規模の観点から好ましくない。
【００７１】
しかしながらリサイズ処理前の画像データ（中間データ）を一旦フレームメモリに格納する方式では、回路規模は抑えられるが、中間データ分だけメモリ領域を余計に消費してしまうという問題がある。また拡大・縮小処理中にフレームメモリに何度もアクセスする必要があるために、システムバスを長い時間占有してしまうという問題がある。
【００７２】
それに対して上記説明した本発明による画像処理装置では、まず整数倍の拡大処理を実行し、その後に任意倍率設定可能な縮小処理を実行する。ニアレストネイバー法による整数倍の拡大処理は、一水平ライン分のラインメモリの格納データを複数回繰り返して読み出す（複数回コピーする）ことにより実現可能であるので、一水平ライン分のラインメモリを設けるだけでよい。また縮小処理は、もともと拡大処理に比較して少ない数のラインメモリで実現可能である。このように整数倍の拡大処理と任意倍率の縮小処理とを組み合わせることで、ラインメモリの規模を削減しながらも、任意倍率のリサイズ処理（デジタルズーム）を実現することができる。
【００７３】
しかし本発明によるこのような画像処理装置の構成においても、固体撮像素子の画素数増大により一水平ラインあたりの画素数が増大すると、整数倍の拡大処理で必要とされる一水平ライン分のラインメモリの規模が回路実装の面からは無視できない大きさとなる。従って、整数倍の拡大処理で必要とされる一水平ライン分のラインメモリの規模を削減可能な構成が望ましい。
【００７４】
図１７は、本発明による画像処理装置の変形例の構成を示す図である。図１７において、図１と同一の構成要素は同一の番号で参照し、その説明は省略する。
【００７５】
図１７の画像処理装置１００は、カメラモジュール１０１、切り出し処理を実行する画像切り出しユニット１３、１／Ｎの水平縮小処理を実行する水平縮小ユニット１１０、Ｍ倍（Ｍ：整数）の簡易拡大処理を実行する拡大ユニット１１１、任意倍率の縮小処理を実行する画像縮小ユニット１５、ＣＰＵ１６、メモリ１７、及びシステムバス１８を含む。画像切り出しユニット１３、水平縮小ユニット１１０、拡大ユニット１１１、及び画像縮小ユニット１５で画像処理回路１０２を構成する。
【００７６】
カメラモジュール１０１は、イメージセンサ１１及び画素補間ユニット１２（図１参照）を含む。カメラモジュール１０１から出力されるデジタル画像データは、主走査方向にスキャンされたスキャンラインデータであり、所定の速度で供給（出力）される。
【００７７】
図１７に示す画像処理装置１００は、図１に示す画像処理装置１０と比較して、画像切り出しユニット１３と拡大ユニット１１１との間に水平縮小ユニット１１０が挿入されている点が主に異なる。また拡大ユニット１１１は、ニアレストネイバー法により各画素値をそのまま垂直方向（副走査方向）に拡大倍率に応じた数だけ繰り返すとともに、ニアレストネイバー法により各画素値をそのまま水平方向（主走査方向）に拡大倍率×Ｎに応じた数だけ繰り返す構成である。なお垂直拡大倍率と水平拡大倍率は、整数であれば互いに独立の倍数でよい。
【００７８】
水平縮小ユニット１１０により１／Ｎの水平縮小処理を実行することにより、即ち水平画素数を１／Ｎに削減することにより、拡大ユニット１１１に供給される画像の水平ラインの画素数が１／Ｎになる。従って、拡大ユニット１１１で必要なラインメモリの回路規模が１／Ｎとなり、拡大ユニット１１１の回路規模を大幅に削減することができる。
【００７９】
図１８は、画像処理回路１０２の動作を説明するための模式図である。図１８において、画像処理回路１０２は縦の画素数がＶ０で横の画素数がＨ０である撮像画像を入力画像とし、縦の画素数がＶ１で横の画素数がＨ１である画像を出力画像とする。
【００８０】
まずＶ０×Ｈ０の入力画像が主走査方向（水平方向）にスキャンされたスキャンラインデータとして画像処理回路１０２に供給されると、画像切り出しユニット１３が入力画像中の指定部分を切り出す。画像切り出しユニット１３により切れ出された画像データはスキャンラインデータとして水平縮小ユニット１１０に供給される。水平縮小ユニット１１０に供給されるスキャンラインデータの一水平ラインの最大画素数はＨ０である。
【００８１】
水平縮小ユニット１１０は、供給されたデータの画素を所定割合で間引いたり、所定数の画素データの平均をとったりすることにより、水平画素数を１／Ｎに削減した画像データを出力する。水平縮小ユニット１１０が出力するスキャンラインデータの一水平ラインの最大画素数はＨ０／Ｎである。
【００８２】
水平縮小ユニット１１０から供給されるスキャンラインデータに基づいて、拡大ユニット１１１が、ニアレストネイバー法による整数倍の拡大処理を実行する。この際、供給される一水平ラインの複数の画素値をそのまま垂直方向（副走査方向）に垂直拡大倍率に応じた数だけ繰り返すとともに、各画素値をそのまま水平方向（主走査方向）に水平拡大倍率×Ｎに応じた数だけ繰り返すことにより拡大処理が実行される（なお垂直拡大倍率と水平拡大倍率は、整数であれば互いに独立の倍数でよい）。従って、拡大ユニット１１１には、図１８に模式的に示されるように、入力画像データの一水平ライン分のラインメモリが一個設けられていればよい。この例の場合、一水平ラインの最大画素数はＨ０／Ｎであるので、画素数がＨ０／Ｎのラインメモリが１つ設けられていればよいことになる。
【００８３】
拡大ユニット１１１が拡大した画像データは、画像縮小ユニット１５に供給される。画像縮小ユニット１５は、供給された画像データに基づいて、指定された任意の縮小倍率での画像縮小処理を実行する。この際、バイリニア法やバイキュービック法などの補間方式を用いる場合、図１８に模式的に示されるように、ラインメモリとしては複数の水平ラインに相当する複数段のラインメモリが必要になる。即ち、これら複数段のラインメモリの保持する画素値を参照して、線形或いは３次式の所定の補間式に従ってライン間の補間値を計算することにより、元画像の水平ライン間に位置する縮小後画像の水平ラインの画素値を計算することになる。ラインメモリ一段（一本）あたりの画素数は、出力画像の一水平ラインの画素数に等しくてよく、この例の場合はＨ１である。
【００８４】
このように図１８に示す構成の場合、水平縮小ユニット１１０を設けることにより、拡大ユニット１１１のラインメモリの回路規模を1／Ｎに削減することが可能となる。なお後述するように、水平縮小ユニット１１０の回路の規模は小さくてすむので、何千という画素数のラインメモリの規模を１／Ｎに縮小することによる回路規模削減の効果は、水平縮小ユニット１１０の追加による回路増大の影響を遙かに上回るものである。
【００８５】
図１９は、図１７に示す画像処理装置１００の動作の別の一例を説明するための模式図である。図１９においては、画像処理回路１０２は縦の画素数がＶ２で横の画素数がＨ２（＝Ｈ０×Ｎ）である撮像画像を入力画像とし、縦の画素数がＶ１で横の画素数がＨ１である画像を出力画像とする。
【００８６】
水平縮小ユニット１１０は、画像切り出しユニット１３から供給されたデータの画素を所定割合で間引いたり、所定数の画素データの平均をとったりすることにより、水平画素数を１／Ｎに削減した画像データを出力する。この例の場合、水平縮小ユニット１１０が出力するスキャンラインデータの一水平ラインの最大画素数はＨ０（＝Ｈ２／Ｎ）である。
【００８７】
水平縮小ユニット１１０から供給されるスキャンラインデータに基づいて、拡大ユニット１１１が、ニアレストネイバー法による整数倍の拡大処理を実行する。従って、拡大ユニット１１１には、図１９に模式的に示されるように、入力画像データの一水平ライン分のラインメモリが一個設けられていればよい。この例の場合、一水平ラインの最大画素数はＨ０であるので、画素数がＨ０のラインメモリが１つ設けられていればよいことになる。
【００８８】
このように図１９に示す構成の場合、拡大ユニット１１１のラインメモリの規模を削減せずに水平縮小ユニット１１０を設けることにより、処理可能な画像の規模を少なくとも水平方向にＮ倍にすることができる。即ち、既存の画像処理回路があった場合に、水平縮小ユニット１１０という極めて小さな回路を追加するだけで、それまで処理可能であった画像に対して水平方向にＮ倍に拡大した画像を処理することが可能となる。
【００８９】
図２０は、画像処理装置１００による画像処理の一例を示す図である。図２０においては、高画素データ（約８００万画素）に対して任意倍率のデジタルズーム処理を実行する際に、ズーム倍率が１倍から徐々に上がっていく過程における１．０６倍ズームの瞬間の処理が示される。
【００９０】
入力画像１２１のサイズは３２００×２４００画素であり、最終出力画像１２５のサイズは同様に３２００×２４００画素である。まず画像切り出し処理により、入力画像１２１全体に対して縦横１／１．０６倍の領域、即ち３０１８×２２６４画素の領域１２２を切り出す。次に水平縮小処理により、切り出し画像１２２の水平サイズを１／２に縮小し、１５０９×２２６４画素の水平縮小画像１２３を生成する。次に、整数倍の簡易拡大処理を行うために水平縮小画像１２３のラインデータを拡大ユニット１１１（図１７参照）のラインメモリ１３０に順次格納する。この際、上記水平縮小処理を設けたことにより、約２００万画素規格のラインメモリ１３０（水平ライン１６００画素分のメモリ）でもデータを受け渡すことが可能になる。この後、拡大ユニット１１１において、画像サイズを水平方向に４倍、垂直方向に２倍に拡大して、６０３６×４５２８画素の拡大画像１２４を生成する。更に、任意倍率設定可能な縮小処理により、拡大画像１２４を縮小して最終的に３２００×２４００画素の１．０６倍ズーム画像１２５を得ることができる。
【００９１】
図２１は、水平縮小ユニット１１０の回路構成の一例を示す図である。図２１の水平縮小ユニット１１０は、隣接２画素の平均値をとりサブサンプリングすることにより１／２の縮小処理を実行する回路であり、フリップフロップ１４１、フリップフロップ１４２、補間処理回路１４３、第１の組み合わせ論理回路１４４、第２の組み合わせ論理回路１４５、第３の組み合わせ論理回路１４６、及び輝度データカウンタ１４７を含む。画像データは一般に色差データと輝度データとを含むが、図２１では輝度データに対する処理のみを示してある。色差データに対しても同様の処理を実行すればよい。なお図２１に示す隣接２画素の平均値をとる構成は限定的なものではなく、水平縮小ユニット１１０は、連続Ｎ画素の平均値をとりサブサンプリングすることにより１／Ｎの縮小処理を実行するように構成してよい。
【００９２】
輝度データが入力クロックに同期してフリップフロップ１４１とフリップフロップ１４２とに供給される。フリップフロップ１４１及び１４２は、輝度データカウンタ１４７のカウント値に応じた第１の組み合わせ論理回路１４４の出力及び第２の組み合わせ論理回路１４５の出力にそれぞれ応答して、輝度データの偶数番目の画素値（輝度データ）及び奇数番目の画素値（輝度データ）をそれぞれ取り込む。
【００９３】
補間処理回路１４３は、フリップフロップ１４１から供給される輝度データの偶数番目の画素値とフリップフロップ１４２から供給される輝度データの奇数番目の画素値との平均値を計算し、計算した値を補間処理後輝度データとして出力する。補間処理回路１４３が平均値を出力するタイミングは、輝度データカウンタ１４７のカウント値に応じた第３の組み合わせ論理回路１４６の出力により制御され、入力クロックの１／２のレートで平均値が出力される。
【００９４】
補間処理回路１４３としては、２つの入力値を加算し、加算結果を右方向に１ビットシフトする構成でよい。即ち、加算器及びシフト演算器だけで補間処理回路１４３を構成することができる。従って、水平縮小ユニット１１０の回路規模を非常に小さくすることが可能である。
【００９５】
図２２は、図２１の水平縮小ユニット１１０の動作を説明するためのタイミング図である。図２２は、図面上から、入力クロックＡ、輝度データバリッドＢ、輝度データＣ、輝度データカウンタ出力Ｄ、偶数番目輝度データ取り込みイネーブルＥ、偶数番目輝度データＦ、奇数番目輝度データ取り込みイネーブルＧ、奇数番目輝度データＨ、補間処理後輝度データバリッドＩ、及び補間処理後輝度データＪを示す。それぞれの信号は、図２１の回路中に示されている。
【００９６】
入力クロックＡ、輝度データバリッドＢ、及び輝度データＣは、水平縮小ユニット１１０に入力される信号であり、補間処理後輝度データバリッドＩ及び補間処理後輝度データＪは、水平縮小ユニット１１０から出力される信号である。全ての信号は入力クロックＡの立ち上がりエッジに同期して変化する。水平縮小率は図２１で説明したように１／２である。
【００９７】
有効な輝度データを示す輝度データバリッド信号Ｂと共に輝度データＣが水平縮小ユニット１１０に入力されると、輝度データカウンタ１４７により、有効な輝度データがカウントされる。このカウント値が輝度データカウンタ出力Ｄとして図２２に示される。
【００９８】
フリップフロップ１４１へのイネーブル入力である偶数番目輝度データ取り込みイネーブルＥは、輝度データカウンタ出力Ｄが偶数値を示す期間ＨＩＧＨになる。またフリップフロップ１４２へのイネーブル入力である奇数番目輝度データ取り込みイネーブルＧは、輝度データカウンタ出力Ｄが奇数値を示す期間ＨＩＧＨになる。これによりフリップフロップ１４１には偶数番目のデータが格納され、フリップフロップ１４２には奇数番目のデータが格納される。フリップフロップ１４１の出力が偶数番目輝度データＦ、フリップフロップ１４２の出力が奇数番目輝度データＨとして、図２２に示される。
【００９９】
補間処理後輝度データバリッドＩは、補間処理回路１４３に供給される信号であり、輝度データカウンタ出力Ｄが偶数値を示す期間ＨＩＧＨになる。補間処理後輝度データバリッドＩがＨＩＧＨである期間に、補間処理回路１４３が、偶数番目輝度データＦ及び奇数番目輝度データＨの平均値を計算して出力する。計算され出力された平均値が、補間処理後輝度データＪとして図２２に示される。
【０１００】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【０１０１】
なお本発明は、以下の内容を含むものである。
（付記１）
画像を主走査方向へスキャンしたラインデータが供給されるデータ供給端と、
該データ供給端に結合され整数倍の拡大率で該画像を拡大する拡大処理を該ラインデータに適用することにより拡大データを出力端に生成する画像拡大ユニットと、
該画像拡大ユニットの該出力端に結合され該拡大後の画像を所望の縮小率で縮小する縮小処理を該拡大データに適用することにより縮小データを出力端に生成する画像縮小ユニット
を含むことを特徴とする画像処理装置。
（付記２）
画像データを出力端に出力するイメージセンサと、
該イメージセンサの該出力端と該データ供給端との間に結合され、該画像データの一部を切り出した切り出し後の画像データを該ラインデータとして該データ供給端に供給する画像切り出しユニット
を更に含むことを特徴とする付記１記載の画像処理装置。
（付記３）
該画像縮小ユニットの該出力端に結合されるシステムバスと、
該システムバスに結合され該縮小データを格納するフレームメモリ
を更に含むことを特徴とする付記２記載の画像処理装置。
（付記４）
該画像拡大ユニットは該画像切り出しユニットの該出力端にフレームメモリを介することなく結合されることを特徴とする付記２記載の画像処理装置。
（付記５）
該画像拡大ユニットによる該拡大処理の該拡大率は少なくとも１つの固定の倍率であり該画像縮小ユニットによる該縮小処理の該縮小率は任意に設定可能な倍率であることを特徴とする付記１記載の画像処理装置。
（付記６）
該画像拡大ユニットによる該拡大処理はニアレストネイバー法による拡大処理であり、該画像縮小ユニットは該拡大データをローパスフィルタリングするフィルタリングユニットを含むことを特徴とする付記１記載の画像処理装置。
（付記７）
該画像縮小ユニットによる該縮小処理はバイリニア法又はバイキュービック法による縮小処理であることを特徴とする付記６記載の画像処理装置。
（付記８）
該画像縮小ユニットは該画像拡大ユニットの該出力端にフレームメモリを介することなく結合されることを特徴とする付記１記載の画像処理装置。
（付記９）
画像データを入力として受け取り、該画像データを水平方向に縮小する水平縮小処理を施して得られたデータを該ラインデータとして該データ供給端に供給する水平縮小ユニットを更に含むことを特徴とする付記１記載の画像処理装置。
（付記１０）
該画像拡大ユニットはニアレストネイバー法により各画素値をコピーして該画像を拡大することを特徴とする付記９記載の画像処理装置。
（付記１１）
該水平縮小ユニットは該画像データの複数の画素の平均値をとりサブサンプリングすることにより該水平縮小処理を実行することを特徴とする付記９記載の画像処理装置。
（付記１２）
該水平縮小ユニットは、加算器とシフト演算器とにより該平均値を算出することを特徴とする付記１１記載の画像処理装置。
（付記１３）
画像を主走査方向へスキャンしたラインデータを所定のデータ速度で受け取り、
整数倍の拡大率で該画像を拡大する拡大処理を該ラインデータに適用することにより拡大データを生成し、
該拡大後の画像を所望の縮小率で縮小する縮小処理を該拡大データに適用することにより縮小データを生成する
各段階を含み、該各段階を一連の処理として該データ速度に合わせて実行することを特徴とする画像処理方法。
（付記１４）
元画像の一部を部分画像として切り出す段階を更に含み、該ラインデータは該部分画像のラインデータであることを特徴とする付記１３記載の画像処理方法。
【図面の簡単な説明】
【０１０２】
【図１】本発明による画像処理装置の構成の一例を示す構成図である。
【図２】本発明による画像拡大処理を模式的に示す図である。
【図３】画像拡大ユニット及び画像縮小ユニットの構成の一例を示す構成図である。
【図４】垂直拡大処理のためのラインバッファのダブルバッファ構成の一例を示す図である。
【図５】垂直ローパスフィルタ処理のためのラインバッファの構成の一例を示す図である。
【図６】垂直縮小処理のためのラインバッファの構成の一例を示す図である。
【図７】画像処理装置による画像拡大処理の各処理段階における画像データを示す図である。
【図８】撮像画像データを模式的に示す図である。
【図９】画像切り出し後の画像データを模式的に示す図である。
【図１０】水平拡大後の画像データを模式的に示す図である。
【図１１】垂直拡大後の画像データを模式的に示す図である。
【図１２】水平ローパスフィルタ処理後の画像データを模式的に示す図である。
【図１３】水平縮小後の画像データを模式的に示す図である。
【図１４】垂直ローパスフィルタ処理後の画像データを模式的に示す図である。
【図１５】垂直縮小後の画像データを模式的に示す図である。
【図１６Ａ】画像切り出し及び画像拡大・縮小処理の処理手順を示すフローチャートである。
【図１６Ｂ】画像切り出し及び画像拡大・縮小処理の処理手順を示すフローチャートである。
【図１７】本発明による画像処理装置の変形例の構成を示す図である。
【図１８】図１７の画像処理回路の動作を説明するための模式図である。
【図１９】図１７の画像処理装置の動作の別の一例を説明するための模式図である。
【図２０】図１７の画像処理装置による画像処理の一例を示す図である。
【図２１】水平縮小ユニットの回路構成の一例を示す図である。
【図２２】図２２は、図２１の水平縮小ユニットの動作を説明するためのタイミング図である。
【符号の説明】
【０１０３】
１０  画像処理装置
１１  イメージセンサ
１２  画素補間ユニット
１３  画像切り出しユニット
１４  画像拡大ユニット
１５  画像縮小ユニット
１６  ＣＰＵ
１７  メモリ
１８  システムバス
２１  水平拡大ユニット
２２  ラインバッファ
２３  垂直拡大ユニット
３１  水平ローパスフィルタ
３２  水平縮小ユニット
３３  ラインバッファ
３４  垂直ローパスフィルタ
３５  ラインバッファ
３６  垂直縮小ユニット
１０１  カメラモジュール
１０２  画像処理回路
１１０  水平縮小ユニット
１１１  拡大ユニット
【図１】
2007109204.tif 000003
【図２】
2007109204.tif 000004
【図３】
2007109204.tif 000005
【図４】
2007109204.tif 000006
【図５】
2007109204.tif 000007
【図６】
2007109204.tif 000008
【図７】
2007109204.tif 000009
【図８】
2007109204.tif 000010
【図９】
2007109204.tif 000011
【図１０】
2007109204.tif 000012
【図１１】
2007109204.tif 000013
【図１２】
2007109204.tif 000014
【図１３】
2007109204.tif 000015
【図１４】
2007109204.tif 000016
【図１５】
2007109204.tif 000017
【図１６Ａ】
2007109204.tif 000018
【図１６Ｂ】
2007109204.tif 000019
【図１７】
2007109204.tif 000020
【図１８】
2007109204.tif 000021
【図１９】
2007109204.tif 000022
【図２０】
2007109204.tif 000023
【図２１】
2007109204.tif 000024
【図２２】
2007109204.tif 000025