(57)【特許請求の範囲】
【請求項１】
複数の画素を有する画像フレームの第１の方向と前記第１の方向に交差する第２の方向で表わされる前記複数の画素の画素値を用いて演算を行うマトリクス処理を前記画像フレームの画像データに対して行う画像演算部と、
前記複数の画素のサイズと、前記画像データにおける前記画像フレームの端にある画素の画素値を複製した画素値を用いて前記マトリクス処理を行う端処理の有無とに基づいて、前記画像データにおける第１及び第２の前記画像フレーム間の待ち画素数を算出するスケジューリング部と、
前記第１の画像フレームの前記画像データを前記画像演算部に出力し、前記第２の画像フレームの前記画像データの出力を前記待ち画素数分遅延させた後、前記第２の画像フレームの前記画像データを前記画像演算部に出力する画像データ入力制御部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像演算部は、第１及び第２の前記マトリクス処理を順次行い、
前記スケジューリング部は、前記第１及び第２のマトリクス処理における夫々の前記複数の画素のサイズと前記端処理の有無とに基づいて、前記待ち画素数を算出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記スケジューリング部は、前記複数の画素のサイズと前記端処理の有無に基づいて、前記マトリクス処理前後における遅延ライン数を算出し、前記遅延ライン数に基づいて前記待ち画素数を算出することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記スケジューリング部は、前記画像演算部の前記マトリクス処理における、前記画像フレームの先頭ラインの前記画像データが入力された後から前記マトリクス処理後の前記先頭ラインの前記画像データが出力されるまでの遅延ライン数を、前記複数の画素のサイズと前記端処理の有無とに基づいて、削除ライン数として算出する削除ライン数算出部と、
前記画像演算部の前記マトリクス処理における、前記画像フレームの最終ラインの前記画像データが入力された後から前記マトリクス処理後の前記最終ラインの前記画像データが出力されるまでの遅延ライン数を、前記複数の画素のサイズと前記端処理の有無とに基づいて、伸長ライン数として算出する伸長ライン数算出部と、
前記削除ライン数と前記伸長ライン数とに基づいて前記待ち画素数を算出する待ちライン数算出部と
を備えることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記画像演算部は、第１及び第２の前記マトリクス処理を順次行い、
前記待ちライン数算出部は、前記第１のマトリクス処理の前記削除ライン数と前記第２のマトリクス処理の前記伸長ライン数とに基づいて前記待ち画素数を算出することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記複数の画素のサイズと前記端処理の有無とを命令として出力する中央処理部を備え、
前記スケジューリング部は前記中央処理部から出力された前記マトリクスのサイズと前記端処理の有無とに基づいて前記待ち画素数を算出することを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記複数の画素のサイズは、前記第１の方向の画素数と前記第２の方向の画素数とが同一であり、かつ前記画素数が１より大きい前記第１の方向の画素数又は前記第２の方向の画素数であることを特徴とする請求項１記載の画像処理装置。
【請求項８】
複数の画素を有する画像フレームの第１の方向と前記第１の方向に交差する第２の方向で表わされる前記複数の画素の画素値を用いて演算を行うマトリクス処理を前記画像フレームの画像データに対して行い、
前記複数の画素のサイズと、前記画像データにおける前記画像フレームの端にある画素の画素値を複製した画素値を用いて前記マトリクス処理を行う端処理の有無とに基づいて、前記画像データにおける第１及び第２の前記画像フレーム間の待ち画素数を算出し、
前記第１の画像フレームの前記画像データに対して前記マトリックス処理を行う画像演算部に出力し、前記第２の画像フレームの前記画像データの出力を前記待ち画素数分遅延させた後、前記第２の画像フレームの前記画像データを前記画像演算部に画像データ入力制御部により出力する、
を備えることを特徴とする画像処理方法。
【請求項９】
複数の画素を有する画像フレームの第１の方向と前記第１の方向に交差する第２の方向で表わされる前記複数の画素の画素値を用いて演算を行うマトリクス処理を前記画像フレームの画像データに対して行う画像演算部に対するスケジューリング装置において、
前記複数の画素のサイズと、前記画像データにおける前記画像フレームの端にある画素の画素値を複製した画素値を用いて前記マトリクス処理を行う端処理の有無とに基づいて、前記画像データにおける第１及び第２の前記画像フレーム間の待ち画素数を算出する待ちライン数算出部を備え、
前記第１の画像フレームの前記画像データが前記画像演算部に出力され、前記第２の画像フレームの前記画像データの出力が前記待ち画素数分遅延された後、前記第２の画像フレームの前記画像データが前記画像演算部に出力されることを特徴とするスケジューリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像通信装置、画像処理方法、及びスケジューリング装置に関する。
【背景技術】
【０００２】
従来から、デジタルカメラやカメラ付携帯電話などの画像処理装置は、画像データに対して種々の画像処理を行うことで、画像データを表示部に表示させたり、外部に出力したりしている。
【０００３】
画像処理装置における画像処理として、例えば、メモリから画像データを読み出して画像処理を行い、その結果を再度メモリに記憶させるようにしたものもある。例えば、色補正処理などの画像処理は、複数画素を用いて処理を行うため、メモリに記憶された複数画素の画素値を読み出して補正処理を行い、再度メモリに記憶させるようにしている。
【０００４】
このようなメモリを用いた画像処理において、例えば、画像フレームが順次入力される場合、メモリに記憶された前フレームの画像データが読み出される前に、次フレームの画像データがメモリに記憶されると、画像フレームの順番に対する整合性が保てなくなる。
【０００５】
また、例えば、複数の画像処理が順次パイプラインで処理される場合、画像処理後の画像データがメモリに記憶される前に、次の画像処理を行うためにメモリから画像データが読み出されると、画像処理順に対する整合性が保てなくなる。
【０００６】
このように画像フレームの順序や画像処理の順序に対する整合性が保てなくなると、最終的な画像処理後の画像データは、正常でない画像データが出力される場合もあり、画像データ自体の整合性が保たれなくなる。
【０００７】
画像データに対する整合性を保つ技術として、例えば以下のようなものがある。すなわち、処理したいデータと同じ座標のデータが現在処理中かを判定するためにデータ座標をチェック部に出力し、チェック部はパイプライン処理部から入力されたデータ座標が現在処理中と判定するとパイプライン処理部の動作を停止させるようにしたものがある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−１６１７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、上述したデータ座標を用いて判定する技術は、データの全座標位置に対して現在処理中かを判定するようにしているため、例えば、入力される画像データの全画素に対して監視を行うことになる。このような場合、複数フレームの画像データが入力されると、全てのフレームの全画素を判定することになり、上述した技術では、処理時間や消費電力が非常に大きくなる。
【００１０】
そこで、本発明の一目的は、画像データの整合性を保つようにした画像処理装置、画像処理方法、及びスケジューリング装置を提供することにある。
【００１１】
また、本発明の他の目的は、処理時間や消費電力を向上させるようにした画像処理装置、画像処理方法、及びスケジューリング装置を提供することにある。
【課題を解決するための手段】
【００１２】
一態様によれば、画像データに対して画像処理を行う画像処理装置において、第１の方向と前記第１の方向に交差する第２の方向で表わされる複数の画素の画素値を用いて演算を行うマトリクス処理を含む画像処理を前記画像データに対して行う画像演算部と、前記複数の画素のサイズと、複製した画素値を用いて前記マトリクス処理を行う端処理の有無とに基づいて、前記画像データにおける第１及び第２の画像フレーム間の待ち画素数を算出するスケジューリング部と、前記第１の画像フレームの前記画像データを前記画像演算部に出力し、前記第２の画像フレームの前記画像データの出力を前記待ち画素数分遅延させた後、前記第２の画像フレームの前記画像データを前記画像演算部に出力する画像データ入力制御部とを備える。
【発明の効果】
【００１３】
画像データの整合性を保つようにした画像処理装置、画像処理方法、及び半導体装置を提供することができる。また処理時間や消費電力を向上させるようにした画像処理装置、画像処理方法、及びスケジューリング装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１（Ａ）はデジタルカメラ、図１（Ｂ）はカメラ付き携帯電話の各外観図の例を示す図である。
【図２】図２はデジタルカメラの構成例を示す図である。
【図３】図３は画像データ入力制御回路の構成例を示す図である。
【図４】図４（Ａ）及び図４（Ｂ）はマトリクス処理の例を示す図である。
【図５】図５は命令の例を示す図である。
【図６】図６はスケジューリング回路３５の構成例を示す図である。
【図７】図７（Ａ）〜図７（Ｋ）は端処理ありのマトリクス処理の例を示す図である。
【図８】図８（Ａ）〜図８（Ｇ）は端処理ありのマトリクス処理における波形の例を示す図である。
【図９】図９（Ａ）〜図９（Ｇ）は端処理なしのマトリクス処理の例を示す図である。
【図１０】図１０（Ａ）〜図１０（Ｇ）は端処理なしのマトリクス処理における波形の例を示す図である。
【図１１】図１１（Ａ）〜図１１（Ｄ）は他のマトリクス処理における波形の例を示す図である。
【図１２】図１２は待ちライン数算出処理の動作例を示すフローチャートである。
【図１３】図１３（Ａ）は削除ライン数算出処理、図１３（Ｂ）は伸長ライン数算出処理の各動作例を示すフローチャートである。
【図１４】図１４は待ちライン数算出処理の処理対象の例を示す図である。
【図１５】図１５は待ちライン数算出処理の処理対象の例を示す図である。
【図１６】図１６（Ａ）〜図１６（Ｇ）は各画像処理ブロックにおける波形の例を示す図である。
【図１７】図１７（Ａ）〜図１７（Ｄ）は各画像処理ブロックにおける波形の例を示す図である。
【図１８】図１８（Ａ）〜図１８（Ｅ）は各画像処理ブロックにおける波形の例を示す図である。
【図１９】図１９はＰＤＡの構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について説明する。
【００１６】
図１（Ａ）及び同図（Ｂ）は画像処理装置の例を示す外観図である。図１（Ａ）はデジタルカメラ１００、図１（Ｂ)はカメラ付き携帯電話２００の各例を夫々示している。デジタルカメラ１００やカメラ付き携帯電話２００は、それぞれ撮像部１１０，２１０を備える。撮像部１１０，２１０は、画像を撮像して画像データを生成する。デジタルカメラ１００やカメラ付き携帯電話２００は、撮像部１１０，２１０で生成された画像データに対して画像処理を行うことができる。本実施例では、画像処理装置としてデジタルカメラ１００の例で説明することにする。
【００１７】
＜画像処理装置の構成例＞
図２は画像処理装置の一例としてデジタルカメラ１００の構成例を示す図である。デジタルカメラ１００は、撮像回路１０と画像処理回路２０とを備える。
【００１８】
撮像回路１０（又は撮像部１１０）は、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）などの撮像素子であり、撮像した画像を画像データとして出力する。
【００１９】
画像処理回路２０は、画像データに対して種々の画像処理等を行う。画像処理回路２０は、ＣＰＵ２１と、画像処理演算回路３０を備える。また、画像処理演算回路３０は、画像データ入力制御回路３１と、画像演算回路３２と、メモリ３３と、アドレスデコード回路３４と、スケジューリング回路３５とを備える。
【００２０】
ＣＰＵ（又は中央処理部）２１は、例えば電源投入後、種々の命令をアドレスデコード回路３４に出力する。命令の種類については後述する。
【００２１】
画像データ入力制御回路（又は画像データ入力制御部）３１は、撮像回路１０から出力された画像データを入力し、スケジューリング回路３５から出力された「次フレーム入力までの待ちライン数」（以下、待ちライン数）に基づいて、次フレームの画像データを出力する。例えば、待ちライン数は待ちライン数分の画素数としてもよく、この場合、待ちライン数は待ちラインに含まれる画素数分の「待ち画素数」となる。
【００２２】
図３は画像データ入力制御回路３１の構成例を示す図である。画像データ入力制御回路３１は、メモリ３１１と制御部３１２とを備える。
【００２３】
メモリ３１１は、撮像回路１０から出力された画像データを記憶し、制御部３１２の制御により記憶した画像データを画像演算回路３２に出力する。
【００２４】
制御部３１２は、例えば、メモリ３１１から前フレームの最終ラインを出力後、待ちライン数分のライン数だけ遅延させて（または待ちライン数分の時間経過後）、メモリ３１１に記憶された次フレームの先頭ラインの画像データを出力するようにメモリ３１１を制御する。動作の詳細は後述する。
【００２５】
図２に戻り、画像演算回路（又は画像演算部、或いは画像演算装置）３２は画像データに対して種々の画像処理を行う回路であり、図２の例では、ゲイン処理回路３２１と、ＲＧＢ／ＹＵＶ変換回路３２２と、平滑化回路３２３と、色補正処理回路３２４と、バンドパスフィルタ回路３２５とを備える。
【００２６】
ゲイン処理回路３２１は、例えば、増幅器（アンプ）などであり、入力画像データの画素値を一定以上の値に増加させることで、出力される画像データの画素値（又は階調値）を一定に保つようにする。例えば、デジタルカメラ１００は、暗い場所で撮像した画像の画像データはその画素値が一定以下の低い値となっているため、ゲイン処理回路３２１により一定以上の画像データを得ることができる。
【００２７】
ＲＧＢ／ＹＵＶ変換回路３２２は、ゲイン処理後のＲＧＢ系の画像データをＹＵＶ系の画像データに色変換する。ＲＧＢ／ＹＵＶ変換回路３２２は、例えば、内部に変換用の数式を保持し、当該数式を入力されるＲＧＢ系の画像データに適用することで、ＹＵＶ系の画像データに色変換する。例えば、ＹＵＶ系の画像データを変換させることで、表示部（図示せず）に画像データを表示させることができる。
【００２８】
平滑化回路３２３は、例えば、色変換後の注目画素の画素値と周辺画素の画素値とに対して係数（例えば平滑化係数）や一定の数式を乗算する等により、他の画素の画素値と大きくかい離した画素値を平均化又は除去する。
【００２９】
色補正処理回路３２４は、例えば、内部に保持した数式や種々の係数（例えば色補正係数）を用いて、注目画素と周辺画素の画素値に対して、各画素の画素値を上下させることで、撮像画像の色合いを調整する。
【００３０】
バンドパスフィルタ回路３２５は、例えば、抵抗やコイル等で構成され、色補正後の画像データに対して、特定波長域の画像データを透過させることで、ユーザの見やすい画像を表示させることができる。
【００３１】
なお、本実施例において、画像演算回路３２の各画像処理ブロック３２１〜３２５はマトリクス処理を行うものとする。図４（Ａ）及び図４（Ｂ）はマトリクス処理の例を示す図である。マトリクス処理とは、例えば、複数ラインに跨る複数画素の画素値を用いて演算を行うことである。例えば、画像フレームの水平方向と垂直方向の各方向において複数画素の四角形で表わせる範囲をマトリクスとし、マトリクス処理はマトリクス範囲内の画素値を用いて処理を行う。例えば、マトリクスは、第１の方向の画素数と第１の方向に交差する第２の方向の画素数とが同一であるときの第１の方向の画素数、又は第２の方向の画素数ということもできる。或いは、例えば、マトリクスは、複数ラインに跨って配列された複数の画素の範囲であり、かつ、各ラインにおいて配列された複数の画素の範囲でもあり、更に、各範囲における複数の画素の数が同一である範囲をいう。
【００３２】
図４（Ａ）及び図４（Ｂ）の例では、３画素×３画素がマトリクス範囲となっており、マトリクス処理により、中心画素（ｂ，２）の画素値を出力している例を示している。なお、マトリクス処理以外でも複数ラインに跨る処理を行うことができればどのような処理でも実施できる。
【００３３】
例えば、ゲイン処理回路３２１は、マトリクス範囲内で９個の画素の画素値に対して係数を乗算して平均化する等により中心画素の画素値に対してゲイン処理を行う。また、ＲＧＢ／ＹＵＶ変換回路３２２は、例えば、９個の画素の画素値を用いて数式に値を代入するなどして、中心画素の画素値に対するＹＵＶ系の画素値に変換する。平滑化回路３２３や色補正処理回路３２４、バンドパスフィルタ回路３２５についても同様にマトリクス範囲内の複数画素を用いて処理を行っている。このマトリクス処理自体が各画像処理ブロック３２１〜３２５における画像処理としてもよいし、各画像処理ブロック３２１〜３２５においてマトリクス処理を行った後に各画像処理を行うようにしてもよい。画像処理は、例えば、マトリクス処理を含んでいる。
【００３４】
なお、マトリクス処理におけるマトリクスの範囲は、例えば、中心画素が配置されるような画素数の範囲内であれば、３画素×３画素以外にも、７×７、９×９、１１×１１等でもよい。マトリクス処理の詳細は後述する。
【００３５】
図２に戻り、メモリ３３は、バンドパスフィルタ回路３２５から出力された画像データを記憶する。メモリ３３はある一定期間画像データを記憶してもよいし、ＣＰＵ２１等からの削除指示を入力するまで記憶してもよい。メモリ３３は、デジタルカメラ１００から着脱可能なように設けられてもよい。また、例えば、デジタルカメラ１００の表示部に画像を表示させる場合、表示部の制御によりメモリ３３から画像データが読み出されて表示部に表示される。
【００３６】
アドレスデコード回路３４は、ＣＰＵ２１からの命令に対して、例えば、内部に保持したメモリの所定アドレスに命令に含まれるデータを記憶し、記憶したデータをスケジューリング回路３５や画像演算回路３２に出力する。
【００３７】
図５は命令の例を示す図である。ＣＰＵ２１から出力される命令は、「アドレス」と「データ」を１つの命令のセットとし、例えば「アドレス」はアドレスデコード回路３４におけるメモリのアドレスを示し、当該アドレスには予め決められた命令の「データ」が記憶される。命令における「データ」はその命令の値を示す。図５に示す例では、アドレス「０００１」はアドレスデコード回路３４においてマトリクスサイズの値を保持するアドレスを示し、そのアドレスにマトリクスサイズの値（３×３画素のマトリクスのときは、例えば「３」）が記憶される。また、命令には、端処理の有無を示す命令がある。端処理は、マトリクス処理を行う際の処理であり、マトリクス処理において端処理が行われる場合と行われない場合とがあるため、端処理を示す命令にはデータとしてその有無（例えば「１」のとき端処理あり、「０」のとき端処理なし）を示す値が含まれる。端処理については後述する。ＣＰＵ２１は、上述したように、例えばデジタルカメラ１００の電源投入後、命令をアドレスデコード回路３４に出力する。
【００３８】
図２に戻り、アドレスデコード回路３４は、ＣＰＵ２１から出力された命令を入力し、命令の種類毎に所定のアドレスに命令に含まれるデータを記憶し、命令の種類に応じて命令に含まれるデータを出力する。例えば、アドレスデコード回路３４は、マトリクスサイズ値と端処理の有無とをスケジューリング回路３５に出力し、平滑化係数を平滑化回路３２３に出力し、色補正係数を色補正処理回路３２４に出力する。
【００３９】
スケジューリング回路（又はスケジューリング部、あるいはスケジューリング装置）３５は、マトリクスサイズ値と端処理の有無に基づいて、待ちライン数を算出し、算出した待ちライン数を画像データ入力制御回路３１に出力する。
【００４０】
図６はスケジューリング回路３５の構成例を示す図である。スケジューリング回路３５は、削除ライン数算出部３５１と、伸長ライン数算出部３５２と、待ちライン数算出部３５３とを備える。
【００４１】
削除ライン数算出部３５１は、マトリクスサイズ値と端処理の有無とに基づいて、削除ライン数を算出し、算出した削除ライン数を待ちライン数算出部３５３に出力する。
【００４２】
＜マトリクス処理について＞
ここで削除ライン数を説明するために、マトリクス処理について説明する。図７（Ａ）〜図１１（Ｄ）はマトリクス処理の例を示す図である。このうち、図７（Ａ）〜図７（Ｄ）は端処理ありの場合における３×３画素のマトリクス処理の動作例を説明するための図である。
【００４３】
マトリクス処理を行う各画像処理ブロック３２１〜３２５は、例えば、入力された画像データの１ライン目の画素（ａ，１）について、この状態のままでは、これを中心画素とした３×３画素のマトリクスを作成することができない（例えば図７（Ｂ））。そこで、各画像処理ブロック３２１〜３２５は、画像フレームの１ライン目と最終ライン目、及び１列目と最終列目の画素の画素値を複製により補間し、画像フレームを引延ばす（例えば図７（Ｃ））。すなわち、画像フレームの端にある画素を複製して引延ばしている。これにより、例えば、画素（ａ，１）を中心画素とした９個の画素（（ａ，１）〜（ａ，３）、（ａ，１）〜（ａ，３），及び（ｂ，１）〜（ｂ，３））によりマトリクスが作成可能となる。また、最終ラインにある画素（ｈ，８）についても同様で、９個の画素（（ｇ，７）〜（ｇ，８）、（ｈ，７）〜（ｈ，８），（ｈ，７）〜（ｈ，８））によりマトリクスが作成可能となる。
【００４４】
マトリクス作成後、各画像処理ブロック３２１〜３２５は、作成したマトリクスを用いて、中心画素の画素値を算出する。
【００４５】
そして、各画像処理ブロック３２１〜３２５は、出力画像データを出力するとき、入力画像データと同じ画素数になるように処理して出力画像データを出力する（例えば、図７（Ｄ））。
【００４６】
このように端処理とは、例えば、複製（コピー）した画素値を用いてマトリクス処理を開始する処理のことである。または、端処理とは、例えば、フレームの端（際）にある画素を複製により補間してマトリクス処理を開始し、その後出力画像データを入力画像データと同じ画素数になるように処理することになる。
【００４７】
図８（Ａ）〜同図（Ｇ）は、ある画像処理ブロック３２１〜３２５における端処理ありの場合における３×３画素のマトリクス処理における波形図の例を示す。このうち、図８（Ａ）は１ライン分の画像データが入力されるタイミングを示し、「ＨＩＧＨ」のときに画像データが入力される。また、各画像処理ブロック３２１〜３２５は、例えば、入力バッファと、２つのラインバッファ（ＬＢ‐１とＬＢ‐２）とを備える。図８（Ｂ）〜同図（Ｄ）は、入力バッファや２つのラインバッファにどのラインの画像データが入力されるかを示す。さらに、図８（Ｅ）は、１ライン分の画像データが出力されるタイミングを示し、「ＨＩＧＨ」のときに画像データが出力される。
【００４８】
図８（Ｃ）及び図８（Ｄ）に示すように、各画像処理ブロック３２１〜３２５は、例えばライン「ａ」の画像データの入力と同時に、当該画像データを入力バッファに書き込み（図８（Ｄ））、さらにラインバッファＬＢ‐１にも書き込む（図８（Ｃ））。これにより、１番目のライン「ａ」の画像データが複製され画像フレームが引延ばされる（例えば、図７（Ｃ)）。最終ライン「ｈ」については、入力バッファへの書き込みの次のタイミングでラインバッファＬＢ‐１への書き込みが行われている。
【００４９】
そして、例えば、２ライン目の「ｂ」の画像データが入力されると、２つのラインバッファＬＢ‐１，ＬＢ‐２には夫々ライン「ａ」の画像データ、入力バッファにはライン「ｂ」の画像データが記憶される。よって、「ａ」と「ａ」と「ｂ」の各ラインを用いてマトリクスが作成できるため、１番目のライン「ａ」に対するマトリクス処理が行われ、１番目のライン「ａ’」の出力データを出力できる（例えば、図８（Ｅ））。以後、ライン順にこれを繰り返す。
【００５０】
図８（Ｆ）及び同図（Ｇ）は、それぞれ図８（Ａ）及び同図（Ｅ）と同じものであり、入力と出力の関係を見やすくするために記載している。図８（Ｆ）及び同図（Ｇ）に示すように、３×３画素のマトリクス処理において、端処理ありの場合、先頭ラインに着目すると、入力タイミングと出力タイミングは１ライン削除されたように画像データが出力される。出力タイミングは、入力タイミングに対して、マトリクス処理の関係から１ライン遅延して画像データが出力される。このように、マトリクス処理において、マトリクス処理の処理時間の影響により先頭ラインの出力波形が入力波形に対して所定ライン分削除（又は遅延）されたように出力される場合がある。この差分のライン数を例えば削除ライン数と呼ぶ。例えば、３×３画素のマトリクス処理において、端処理ありの場合、削除ライン数は「１」となる。
【００５１】
また、図８（Ｆ）及び同図（Ｇ）において、最終ラインの波形に着目すると、最終ライン「ｈ」の画像データの入力後に、１ライン分の出力波形がある。この場合も、マトリクスの作成が最終ラインの画像データの入力後に行われているため（例えば、図８（Ｃ）及び図８（Ｄ））、入力画像データに対する出力画像データの出力タイミングに１ライン分の遅延が生じている。このように、マトリクス処理において、マトリクス処理の処理時間の影響により最終ラインの出力波形が入力波形に対して所定ライン数引伸ばされて（遅延して）出力される場合がある。この差分のライン数を例えば伸長ライン数と呼ぶ。例えば、３×３画素のマトリクス処理において、端処理ありの場合、伸長ライン数は「１」となる。
【００５２】
次に端処理なしの場合における３×３画素のマトリクス処理について説明する。図９（Ａ）〜同図（Ｇ）は端処理なしの場合におけるマトリクス処理の例を示す図である。
【００５３】
例えば、処理対象の画素が画像フレームの端にある場合（例えば、画素（ａ，１））、各画像処理ブロック３２１〜３２５はマトリクスを作成することができない。この場合、処理可能な画素は画像フレームの端から１画素内側にある画素（例えば、画素（ｂ，２））である。端処理なしとは、例えば、画像フレームの端にある画素を処理対象とはせずに、端から１画素内側にある画素を処理対象とした関係で、画像フレームの端にある周辺画素を削ったように出力する処理のことである。端処理なしの場合、図９（Ｃ）に示すように、斜線で囲った画素が削られて１画素内側にある画素の画素値が出力データとして出力される。端処理なしの場合でも、複数画素を用いて中心画素の画素値を得るようにしている点は、端処理ありの場合と同様である（例えば、図９（Ｄ）〜同図（Ｇ））。
【００５４】
図１０（Ａ）〜同図（Ｇ）は、端処理なしの場合におけるマトリクス処理の波形図の例を示す図である。このうち、図１０（Ａ）は１ライン分の画像データが入力されるタイミングを示し、「ＨＩＧＨ」のときに画像データがある画像処理ブロック３２１〜３２５に入力される。また、図１０（Ｂ）〜同図（Ｄ）はどのラインの画像データが入力されるかを示す。さらに、図１０（Ｅ）は、１ライン分の画像データが出力されるタイミングを示し、「ＨＩＧＨ」のときに画像データが出力される。
【００５５】
例えば、画像フレームの最初のライン「ａ」が入力されるタイミングで、入力バッファにライン「ａ」の画像データが記憶される。次いで、次のライン「ｂ」の画像データが入力されるタイミングで入力バッファに記憶されたライン「ａ」の画像データがラインバッファＬＢ‐１に記憶され、入力されたライン「ｂ」の画像データが入力バッファに記憶される。そして、次のライン「ｃ」の画像データが入力されるタイミングで、入力バッファにはライン「ｃ」、ラインバッファＬＢ‐１にはライン「ｂ」、ラインバッファＬＢ‐２にはライン「ａ」の各画像データが記憶される。そして、３ライン分の画像データが揃うことになるため、各画像処理ブロック３２１〜３２５はマトリクスを作成でき（例えば、図９（Ｄ）と同図（Ｆ））、このライン「ｃ」の画像データが入力されるタイミングで最初のライン「ｂ’」の出力データを出力できる。以後、ライン順にこれを繰り返す。
【００５６】
図１０（Ｆ）及び同図（Ｇ）は、図１０（Ａ）及び同図（Ｅ）と同じものであり、入力と出力の関係をわかりやすくするために記載している。図１０（Ｆ）及び同図（Ｇ）に示すように、先頭ラインに着目すると、入力と出力の関係では、出力波形は入力波形に対して２ライン分遅延して出力されている。よって、３×３画素のマトリクス処理において端処理なしの場合、削除ライン数は「２」となる。一方、出力ライン数に着目すると、入力波形と出力波形は同じタイミングで終了している。よって、この場合の伸長ライン数は「０」となる。
【００５７】
まとめると、３×３画素のマトリクス処理において端処理ありの場合、削除ライン数は「１」、伸長ライン数は「１」となり、３×３画素のマトリクス処理において端処理なしの場合、削除ライン数は「２」、伸長ライン数は「０」となる。
【００５８】
このように、この削除ライン数と伸長ライン数は、同じマトリクスサイズでも端処理の有無に応じて異なる値となる場合もある。一方、削除ライン数と伸長ライン数は、マトリクスサイズに応じて異なる値を取り得る。図１１（Ａ）及び同図（Ｂ）は、５×５画素のマトリクス処理における端処理ありの場合の入力波形と出力波形の例を夫々示す図である。また、図１１（Ｃ）及び同図（Ｄ）は、５×５画素のマトリクス処理における端処理なしの場合の入力波形と出力波形の例を夫々示す図である。
【００５９】
５×５画素のマトリクス処理において、端処理ありの場合、例えば、最初の１ライン分の入力に対して、２回複製して２ライン分画像データを作成し、さらに、３ライン目の画像データが入力したときに、最初の１ライン目に対するマトリクスが作成される。よって、図１１（Ｂ）に示すように、削除ライン数は「２」となる。一方、最終ラインにおいても、最終ライン入力後に２回複製して２ライン分の画像データが作成されるため、伸長ライン数は「２」となる。
【００６０】
図１１（Ｃ）及び同図（Ｄ）は、５×５画素のマトリクス処理において端処理なしの場合の入力波形と出力波形の関係を示す図である。この場合、詳細な説明は省略するが、削除ライン数は「４」、伸長ライン数は「０」となる。
【００６１】
このように、マトリクスのサイズと、端処理の有無に応じて、削除ライン数と伸長ライン数は異なるものとなる。図６に戻り、削除ライン数算出部３５１は、入力されたマトリクスサイズの値と端処理の有無とに基づいて、上述した削除ライン数を算出する。算出処理の詳細は後述する。
【００６２】
伸長ライン数算出部３５２は、アドレスデコード回路３４から出力されたマトリクスサイズ値と端処理の有無に基づいて、上述した伸長ライン数を算出する。算出処理の詳細は後述する。
【００６３】
待ちライン数算出部３５３は、算出された削除ライン数と伸長ライン数とに基づいて待ちライン数を算出し、画像データ入力制御回路３１に出力する。待ちライン数算出処理の詳細は後述する。
【００６４】
＜画像処理装置の動作例＞
次に動作例を説明する。図１２はスケジューリング回路３５における待ちライン数算出処理の動作例を示すフローチャートである。
【００６５】
待ちライン数算出処理は、例えば、ＣＰＵ２１が電源立ち上げの際に命令を出力するため、かかる際に行われるもので、画像データに対する画像処理（画像演算回路３２で行われる画像処理）とは独立して行われる。待ちライン数算出処理は、画像データに対する画像処理が行われる前に処理を行い、待ちライン数を画像データ入力制御回路３１に出力することになる。
【００６６】
また、待ちライン数算出処理は、画像処理を行う画像演算回路３２の各画像処理ブロック３２１〜３２５を対象として、各画像処理ブロック３２１〜３２５におけるマトリクス処理の削除ライン数と伸長ライン数とに基づいて算出を行うようにしている。
【００６７】
図１４は待ちライン算出処理における処理対象の例を示す図である。待ちライン数算出処理は、画像演算回路３２内の画像処理ブロック数に応じて複数回のループを行い（Ｓ１３〜Ｓ１８）、各ループ内で待ちライン数を算出しながらループ数を重ねて待ちライン数を累積し、最後のループの終了後に最終的なライン数を算出している。例えば、スケジューリング回路３５は、最初のループで、ゲイン処理回路３２１とＲＧＢ／ＹＵＶ変換回路３２２との区間（処理I）における待ちライン数を算出する。スケジューリング回路３５は、次のループでＲＧＢ／ＹＵＶ変換回路３２２と平滑化回路３２３の区間（処理II）における待ちライン数を算出する。このように、スケジューリング回路３５は待ちライン数算出処理により、処理Iから処理IVまでを処理対象として待ちライン数を算出している。
【００６８】
図１５は、待ちライン数算出処理において、待ちライン数を算出する場合処理Iから処理IVのどの部分を考慮して処理を行っているかの例を示す図である。図１５に示すように、待ちライン算出処理では、処理Iにおいて、ゲイン処理回路３２１におけるマトリクス処理（図１５では「処理Ａ」）の削除ライン数と、次処理ブロックであるＲＧＢ／ＹＵＶ変換回路３２２におけるマトリクス処理（図１５では「処理Ｂ」）の伸長ライン数とに基づいて算出を行う。処理IIにおいては、ＲＧＢ／ＹＵＶ変換回路３２２におけるマトリクス処理（「処理Ｂ」）における削除ライン数と、平滑化回路３２３におけるマトリクス処理（図１５では「処理Ｃ」）の伸長ライン数とに基づいて、待ちライン数が算出される。処理III及び処理IVについても、図１５に示すような削除ライン数と伸長ライン数とを処理対象として待ちライン数算出処理が行われる。このように、同一ブロックではなく、次マトリクス処理ブロックを考慮して算出している理由については後述する。
【００６９】
なお、図１５に示す例では、ゲイン処理回路３２１は３×３画素の端処理なしのマトリクス処理（「処理Ａ」）を行い、ＲＧＢ／ＹＵＶ変換回路３２２は９×９の端処理ありのマトリクス処理（「処理Ｂ」）を行うものとしている。また、平滑化回路３２３は５×５画素の端処理ありのマトリクス処理（「処理Ｃ」）、色補正処理回路３２４は１１×１１画素の端処理ありのマトリクス処理（「処理Ｄ」）、バンドパスフィルタ回路３２５は５×５画素の端処理なしのマトリクス処理（「処理Ｅ」）を行う。
【００７０】
後述する削除ライン算出処理と伸長ライン算出処理とにより、「処理Ａ」の削除ライン数は「２」、伸長ライン数は「０」と算出され、「処理Ｂ」の削除ライン数は「４」、伸長ライン数は「４」と算出される。図１５には各算出処理で算出された結果が示されている。
【００７１】
図１２に戻り、待ちライン数算出処理について以下説明する。ここで、理解を容易にするため、各画像処理ブロック３２１〜３２５におけるマトリクス処理は、処理Ａについては３×３画素の端処理なし、処理Ｂは９×９画素の端処理あり等とした上述の例とする。削除ライン数と伸長ライン数は後述する算出処理により図１５に示すように計算される。
【００７２】
スケジューリング回路３５は、待ちライン数算出処理を開始すると（Ｓ１０）、次フレーム入力までの待ちライン数を「０」にセットする（Ｓ１１）。例えば、待ちライン数算出部３５３が初期値として待ちライン数を「０」にセットする。
【００７３】
次いで、スケジューリング回路３５は実装処理分のループ数をｎとし、ループ回数ｋに（ｎ−１）をセットする（Ｓ１２）。例えば、待ちライン数算出部３５３がセットする。また、例えば、待ちライン数算出部３５３は、最初のループのため処理Iを処理対象とする。
【００７４】
次いで、スケジューリング回路３５は削除ライン数算出処理を行う（Ｓ１３）。例えば、削除ライン数算出部３５１がかかる処理を行う。
【００７５】
図１３（Ａ）は削除ライン数算出処理の動作例を示すフローチャートである。削除ライン数算出部３５１は処理を開始すると（Ｓ１３１）、アドレスデコード回路３４から出力された端処理の有無を確認する（Ｓ１３２）。
【００７６】
そして、削除ライン数算出部３５１は、端処理有りのとき、削除ライン数として（マトリクスサイズ値／２（但し少数点は切り捨て））を計算する（Ｓ１３２で「有り」，Ｓ１３３）。
【００７７】
一方、削除ライン数算出部３５１は、端処理なしのとき、削除ライン数として（マトリクスサイズ値／２＋１（但し、少数点は切り捨て））を計算する（Ｓ１３２で「無し」，Ｓ１３４）。
【００７８】
例えば、図１５に示す例では、処理Iにおいては「処理Ａ」（ゲイン処理回路３２１）に対して端処理は無し、マトリクスサイズ値は「３」（３×３画素を示す）であるため、Ｓ１３２でＮとなりＳ１３４の処理を行うこととなる。この場合、削除ライン数は、「３／２＋１」と計算され少数点を切り捨てると「２」となる。
【００７９】
削除ライン数算出部３５１は、削除ライン数を算出すると（Ｓ１３３，Ｓ１３４）、削除ライン算出処理を終了する（Ｓ１３５）。
【００８０】
図１２に戻り、スケジューリング回路３５は、次いで、直後に位置するマトリクス処理ブロックの伸長ライン数算出処理を行う（Ｓ１４）。直後に位置するマトリクス処理ブロックとは、例えば、削除ライン数算出処理（Ｓ１３）で算出した削除ライン数の対象となる画像処理ブロックに対して、次段のマトリクス処理を行う画像処理ブロックのことである。ゲイン処理回路３２１の削除ライン数が算出された場合（Ｓ１３）、直後のマトリクス処理ブロックはＲＧＢ／ＹＵＶ変換回路３２２となる。
【００８１】
図１３（Ｂ）は伸長ライン数算出処理の動作例を示すフローチャートである。伸長ライン数算出部３５２は処理を開始すると（Ｓ１４１）、アドレスデコード回路３４から出力された端処理の有無を確認する（Ｓ１４２）。
【００８２】
そして、伸長ライン数算出部３５２は、端処理有りのとき、伸長ライン数として（マトリクスサイズ値／２（ただし少数点は切り捨て））を計算する（Ｓ１４２で「有り」，Ｓ１４３）。
【００８３】
一方、伸長ライン数算出部３５２は、端処理なしのとき、伸長ライン数として「０」を算出する（Ｓ１４２で「無し」、Ｓ１４４）。端処理がない場合、図１０（Ｇ）や図１１（Ｄ）に示したように、最終ライン入力中にマトリクスを作成できマトリクス処理を終了させることができるため、伸長ライン数は「０」となる。
【００８４】
図１５の例では、「処理Ｂ」（ＲＧＢ／ＹＵＶ変換回路３２２）におけるマトリクス処理は、９×９の端処理ありのマトリクス処理であるため、Ｓ１４２で「有り」となり、Ｓ１３３において、伸長ライン数「４」が算出される。
【００８５】
図１２に戻り、次いで、待ちライン数算出部３５３は、削除ライン数に前ループで計算した待ちライン数（Ｓ１７）を加算する（Ｓ１５）。最初のループ（処理I）では、待ちライン数の初期値として「０」がセットされている（Ｓ１１）ため、待ちライン数算出部３５３は、削除ライン数「２」に「０」を加算する。
【００８６】
次いで、待ちライン数算出部３５３は、Ｓ１５で計算した（削除ライン数＋待ちライン数＝Ｘ）から、Ｓ１４で算出した伸長ライン数を減算し、減算値が「０」以下か否かを判別する（Ｓ１６）。
【００８７】
詳細は後述するが、減算値が「０」以下のとき、各処理ブロックにおいて、例えば１フレーム目の最終ラインの出力タイミングと２フレーム目の先頭ラインの入力タイミングが重複している部分がある場合となっている。一方、減算値が「１」以上のとき、各処理ブロックにおいて、例えば１フレーム目における最終ラインの出力タイミングの後、２フレーム目の先頭ラインを入力する場合となっている。
【００８８】
このＳ１６の処理により、スケジューリング回路３５は、例えば、各フレーム間において所定ライン数分遅延させるか否か、あるいは待ちライン数を算出すべきか否かを判別している。
【００８９】
そして、スケジューリング回路３５は、減算値が「０」以下のとき（Ｓ１６でＹ）、減算値分を待ちライン数として算出する（Ｓ１７）。例えば、待ちライン数算出部３５３が算出を行い、は減算値が「−２」のとき、待ちライン数として「２」、減算値が「−５」のとき待ちライン数として「５」を夫々算出する。
【００９０】
図１５の例では、処理Iにおいて、ゲイン処理回路３２１におけるマトリクス処理の削除ライン数は「２」（Ｓ１３）、ＲＧＢ／ＹＵＶ変換回路３２２におけるマトリクス処理の伸長ライン数は「４」（Ｓ１４）であり、減算値は「−２」となり、待ちライン数「２」が算出される（Ｓ１７）。待ちライン数算出部３５３は、算出された待ちライン数を前のループまでに算出した待ちライン数に加算する。処理Iの例では、最初のループのため、Ｓ１１でセットされた「０」に対し、算出された待ちライン数「２」が加算される。
【００９１】
一方、スケジューリング回路３５は、減算値が「０」以下でないとき（Ｓ１６でＮ）、待ちライン数の算出を行うことなく、Ｓ１８の処理を行う。上述したように、減算値が「０」以下でないとき、フレーム間で前フレームの最終ラインが出力された後、次フレームの先頭ラインが入力されるため、スケジューリング回路３５は待ちライン数を算出しないてもよい（前ループまでに算出された待ちライン数を維持する）。
【００９２】
スケジューリング回路３５は、待ちライン数を加算するか（Ｓ１７）、減算値が「０」でないとき（Ｓ１６でＮ）、次いで、ループ回数を１つ減算するべくｋに（ｋ−１）をセットし、セットしたｋが「０」か否かを判別する（Ｓ１７）。図１５の例では、処理Iから処理IVまでのループが終了したか否かが判別される。
【００９３】
全ての処理が終了すると（ｋ＝０となるとき、Ｓ１８でＹ）、スケジューリング回路３５はこれまでのループで累積した待ちライン数を最終的な待ちライン数として決定し（Ｓ１９）、これを画像データ入力制御回路３１に出力し、待ちライン数算出処理を終了する（Ｓ２０）。
【００９４】
一方、待ちライン数算出部３５３は、全ての処理が終了していないとき（ｋ＝０とならないとき、Ｓ１８でＮ）、再びＳ１３へ移行し上述の処理を繰り返す。
【００９５】
図１５の例では、処理I終了後、再度、Ｓ１３〜Ｓ１８のループを繰り返すことになる。２回目のループでは、処理IIに対する待ちライン数が算出され、この場合、Ｘとして、削除ライン数「４」＋待ちライン数「２」＝「６」となり、伸長ライン数「２」を減算しても「０」以下とならないため（Ｓ１６でＮ）、待ちライン数は算出されない。この場合、待ちライン数の累積値は「２」のままとなる。
【００９６】
３回目のループでは、処理IIIに対する待ちライン数が算出され、Ｘ＝削除ライン数「２」＋待ちライン数「２」＝「４」となり、伸長ライン数「５」を減算すると「−１」となる（Ｓ１６でＹ）。この場合、待ちライン数算出部３５３は、待ちライン数「１」を算出し、これまで算出した待ちライン数「２」に加算した「３」を待ちライン数とする。
【００９７】
４回目のループでは、処理IVに対する待ちライン数が算出され、Ｘ＝削除ライン数「５」＋待ちライン数「３」＝「８」となり、伸長ライン数「０」を減算すると「８」となり「０」以下とならない（Ｓ１６でＮ）。この場合、待ちライン数算出部３５３は、処理対象分の待ちライン数を算出したことになり（ｋ＝０となり、Ｓ１８でＹ）、待ちライン数「３」が最終的な待ちライン数となる（Ｓ１９）。
【００９８】
待ちライン数算出部３５３は、待ちライン数「３」を「次フレーム入力までの待ちライン数」として画像データ入力制御回路３１に出力する。画像データ入力制御回路３１は、入力される画像データのフレームの最終ライン出力後、次のタイミングで２フレーム目の先頭ラインを出力するのではなく、「３」ライン分遅延させて、２フレーム目の先頭ラインをゲイン処理回路３２１に出力する。これにより、画像演算回路３２におけるすべての画像処理ブロック（ゲイン処理回路３２１〜バンドパスフィルタ回路３２５）では、前フレームの画像データを出力した後に、次フレームの画像データを入力することができ、画像データの整合性を保つことができる。また、入力されるフレーム順に順次各画像処理が施された画像データがメモリ３３に記憶される。
【００９９】
図１６（Ａ）〜図１６（Ｇ）は、待ちライン数が「３」のとき、各画像処理ブロックの波形の例を示す図である。同図（Ａ）〜同図（Ｇ）の円内の矢印で示すように、各画像処理ブロックにおいて、１フレーム目の出力と２フレーム目の入力とが重複したタイミングとなっていない。例えば、図１６（Ｅ）に示すように、処理Ｄ（色補正処理回路３２４）においては、１フレーム目の画像データの最終ラインを出力後、次のタイミングで２フレーム目の画像データの先頭ラインが入力されている。同図（Ａ）〜同図（Ｇ）に示す波形図からも、本実施例によるデータの整合性が保たれていることが理解される。
【０１００】
また、本画像処理装置は、入力画像データの全フレームの全画素を判定する処理は行われず、削除ライン数の算出や減算値の比較等の処理だけであるため、全画素を判定する場合と比較して、処理時間や消費電力を削減することができる。
【０１０１】
＜減算値を計算している理由等について＞
次に、待ちライン数算出処理（例えば図１２）において、計算した減算値に基づいて待ちライン数を算出している（Ｓ１６，Ｓ１７）理由等について説明する。
【０１０２】
図１７（Ａ）〜図１８（Ｅ）は各画像処理ブロック３２１〜３２４における波形の例を示す図である。このうち、図１７（Ａ）は待ちライン数がなく連続したタイミングでフレームがゲイン処理回路３２１（「処理Ａ」）に入力される場合におけるフレーム間の波形図の例を示す。各画像処理ブロック３２１〜３２４のマトリクス処理の例は図１５の例を用いる。
【０１０３】
画像データ入力制御回路３１は待ちライン数分遅延することなく連続したタイミングで各フレームを出力するとき、ゲイン処理回路３２１は、図１７（Ａ）に示すようなタイミングで画像データが入力される。同図（Ａ）に示すように、ゲイン処理回路３２１は、１フレーム目の最終ラインを入力後、次のタイミングで２フレーム目の先頭ラインを入力する。
【０１０４】
この場合、ゲイン処理回路３２１では、削除ライン数が「２」のため、ゲイン処理回路３２１から出力される１フレーム目と２フレーム目のフレーム間における波形図は、例えば図１７（Ｂ）に示すようなものとなる。入力と出力の関係では、「２ライン」削除されたようにして２フレーム目の先頭ラインが出力される。
【０１０５】
この波形は、例えばそのままＲＧＢ／ＹＵＶ変換回路３２２に入力される。このとき、ＲＧＢ／ＹＵＶ変換回路３２２（「処理Ｂ」）では伸長ライン数が「４」のため、ＲＧＢ／ＹＵＶ変換回路３２２から出力される波形図は、例えば図１７（Ｃ）に示すようなものとなる。
【０１０６】
図１７（Ｂ）と同図（Ｃ）に着目すると、ＲＧＢ／ＹＵＶ変換回路３２２では、１フレーム目の画像データの出力が全て終了する前に（図１７（Ｃ））、２フレーム目の画像データが入力されている（図１７（Ｂ））。１フレーム目の最後の２ラインと、２フレーム目の最初の２ラインが重複したタイミングでＲＧＢ／ＹＵＶ変換回路３２２にて処理が行われることとなる。このような場合、画像データのフレーム間の整合性がとれていない状態で処理が行われる。
【０１０７】
待ちライン数算出処理（例えば図１２）において、減算値（Ｘ−伸長ライン数）が「０」以下か否かを判別した（Ｓ１６）。この例の場合、削除ライン数が「４」、伸長ライン数が「２」で減算値が「−２」となるが、この「−２」は重複しているライン数が「２」ラインあることを示している。
【０１０８】
そこで、スケジューリング回路３５は待ちライン数＝２として、画像データ入力制御回路３１に待ちライン数を出力し、画像データ入力制御回路３１は、次フレームの出力タイミングを「２」ライン分遅延させて出力する。ゲイン処理回路３２１も２ライン分遅延されて次フレームが出力される。図１７（Ｄ）は、ゲイン処理回路３２１における１フレーム目と２フレーム目の出力波形（又はＲＧＢ／ＹＵＶ変換回路３２２の入力波形）の例を示す図である。図１７（Ｃ）と同図（Ｄ）を比較すると、ＲＧＢ／ＹＵＶ変換回路３２２では、１フレーム目の最終ラインの出力後（図１７（Ｃ））、２フレーム目の先頭ラインが入力されることになり（図１７（Ｄ））、画像データのフレーム間の整合性が保たれている。
【０１０９】
図１８（Ａ）及び同図（Ｂ）は、待ちライン数＝２とした場合の平滑化回路３２３（「処理Ｃ」）における１フレーム目と２フレーム目のフレーム間における波形図の例を示す。
【０１１０】
図１８（Ａ）に示すように、平滑化回路３２３の入力波形は、ＲＧＢ／ＹＵＶ変換回路３２２の出力波形をそのまま入力しているものとする。平滑化回路３２３の伸長ライン数は「２」と計算され（例えば、図１３（Ｂ）、図１５）、よって、平滑化回路３２３の出力波形は、例えば図１８（Ｂ）に示すような波形図となる。
【０１１１】
ここで、図１８（Ａ）と図１８（Ｂ）とを比較すると、平滑化回路３２３において１フレーム目の最終ラインが出力された後に（図１８（Ｂ））、２フレーム目の先頭ラインが入力されている（図１８（Ａ））。よって、フレームの整合性が保たれている状態となっている。待ちライン数算出処理における減算値は、「４」となり、「０」以下とならず待ちライン数を計算しなくてもよい（図１２のＳ１６でＮ）。図１８（Ａ）及び同図（Ｂ）に示すように、減算値「４」は平滑化回路３２３において、例えば、フレームの最終ライン出力後、次フレームの先頭ラインが入力するまでに遅延させる遅延ライン数を示している。
【０１１２】
図１８（Ｃ）及び同図（Ｄ）は、待ちライン数＝２とした場合の色補正処理回路３２４（「処理Ｄ」）における１フレーム目と２フレーム目のフレーム間における波形図の例を示す。
【０１１３】
図１８（Ｃ）に示すように、平滑化回路３２３の出力がそのまま色補正処理回路３２４の入力となっているものとしている。色補正処理回路３２４の伸長ライン数は「５」と計算され（例えば、図１３（Ｂ）、図１５）、よって、色補正処理回路３２４の出力波形は、例えば図１８（Ｄ）に示すようなものとなっている。
【０１１４】
ここで、図１８（Ｃ）と同図（Ｄ）とを比較すると、色補正処理回路３２４において、１フレーム目の最終ラインが出力されるときに（図１８（Ｄ））、２フレーム目の先頭ラインが出力されている（図１８（Ｃ））。この例では１ライン分の重複期間が生じている。待ちライン数算出処理においては、減算値が「−１」と計算されて「０」以下となる（図１２のＳ１６でＹ）。
【０１１５】
そこで、スケジューリング回路３５は、減算値分の「１」を待ちライン数に加算し、合計「３」を待ちライン数として計算する。これにより、図１８（Ｅ）に示すように、色補正処理回路３２４において１フレーム目の最終ラインを出力後（図１８（Ｄ））、２フレーム目の先頭ラインを入力している（図１８（Ｅ））ため、整合性が保たれている。
【０１１６】
このように、待ちライン数算出処理において、減算値を計算しているのは、例えば、フレーム間において前フレームの最終ラインと次フレームの先頭ラインとが重複しているかを確認し（Ｓ１６）、重複していれば、重複ライン数分を待ちライン数として計算している（Ｓ１７）。
【０１１７】
＜その他の例＞
上述した例は、画像処理装置の例としてデジタルカメラ１００を例にして説明した。例えば、画像処理装置として、携帯電話やＰＤＡ(Personal Digital Assistance)などの情報携帯端末でもよい。上述した例では、画像を撮像するようにしたデジタルカメラ１００やカメラ付携帯電話２００の例で説明したが、無線通信により画像データを受信する携帯電話やＰＤＡなどの情報携帯端末でもよい。
【０１１８】
図１９はＰＤＡ３００の構成例を示す図である。ＰＤＡ３００は更に通信部６０を備える。通信部６０は、基地局等、外部装置から無線通信により画像データを受信し、画像処理回路２０に出力する。また、通信部６０は無線通信ではなく有線通信により外部装置から画像データを受信することもできる。この場合、図１９に示す画像処理装置はＰＤＡに代えて、パーソナルコンピュータとすることもできる。
【０１１９】
図１９または図２に示す画像処理装置において、メモリ３３は記憶部として例えばハードディスクやＤＶＤ（Digital Video Disk）などのランダムアクセス可能な円盤状記録媒体でもよく、その場合、画像処理装置は、例えばハードディスクやＤＶＤ内蔵の記録再生装置となる。画像処理回路２０を含む装置であれば、どのような装置でも本実施例を適用することができる。または、画像処理回路２０又は画像処理演算回路３０を画像処理装置とし、この画像処理装置を含む装置であればどのような装置でも実施できる。
【０１２０】
以上まとめると付記のようになる。
【０１２１】
（付記１）
画像データに対して画像処理を行う画像処理装置において、
第１の方向と前記第１の方向に交差する第２の方向で表わされる複数の画素の画素値を用いて演算を行うマトリクス処理を含む画像処理を前記画像データに対して行う画像演算部と、
前記複数の画素のサイズと、複製した画素値を用いて前記マトリクス処理を行う端処理の有無とに基づいて、前記画像データにおける第１及び第２の画像フレーム間の待ち画素数を算出するスケジューリング部と、
前記第１の画像フレームの前記画像データを前記画像演算部に出力し、前記第２の画像フレームの前記画像データの出力を前記待ち画素数分遅延させた後、前記第２の画像フレームの前記画像データを前記画像演算部に出力する画像データ入力制御部と
を備えることを特徴とする画像処理装置。
【０１２２】
（付記２）
前記画像演算部は、第１及び第２のマトリクス処理を順次行い、
前記スケジューリング部は、前記第１及び第２のマトリクス処理における夫々の前記複数の画素のサイズと前記端処理の有無とに基づいて、前記待ち画素数を算出することを特徴とする付記１記載の画像処理装置。
【０１２３】
（付記３）
前記スケジューリング部は、前記複数の画素のサイズと前記端処理の有無に基づいて、前記マトリクス処理前後における遅延ライン数を算出し、前記遅延ライン数に基づいて前記待ち画素数を算出することを特徴とする付記１記載の画像処理装置。
【０１２４】
（付記４）
前記スケジューリング部は、前記画像演算部における前記マトリクス処理において、画像フレームの先頭ラインの前記画像データが入力された後、前記マトリクス処理後の前記先頭ラインの前記画像データが出力されるまでの遅延ライン数を、前記複数の画素のサイズと前記端処理の有無とに基づいて、削除ライン数として算出する削除ライン数算出部と、前記画像演算部における前記マトリクス処理において、前記画像フレームの最終ラインの前記画像データが入力された後、前記マトリクス処理後の前記最終ラインの前記画像データが出力されるまでの遅延ライン数を、前記複数の画素のサイズと前記端処理の有無とに基づいて、伸長ライン数として算出する伸長ライン数算出部と、前記削除ライン数と前記伸長ライン数とに基づいて前記待ち画素数を算出する待ちライン数算出部とを備えることを特徴とする付記１記載の画像処理装置。
【０１２５】
（付記５）
前記画像演算部は、第１及び第２のマトリクス処理を順次行い、
前記待ちライン数算出部は、前記第１の前記マトリクス処理の前記削除ライン数と前記第２の前記マトリクス処理の前記伸長ライン数とに基づいて前記待ち画素数を算出することを特徴とする付記４記載の画像処理装置。
【０１２６】
（付記６）
更に、前記複数の画素のサイズと前記端処理の有無とを命令として出力する中央処理部を備え、
前記スケジューリング部は前記中央処理部から出力された前記マトリクスのサイズと前記端処理の有無とに基づいて前記待ち画素数を算出することを特徴とする付記１記載の画像処理装置。
【０１２７】
（付記７）
前記複数の画素のサイズは、前記第１の方向の画素数と前記第２の方向の画素数とが同一であり、かつ前記画素数が１より大きい前記第１の方向の画素数又は前記第２の方向の画素数であることを特徴とする付記１記載の画像処理装置。
【０１２８】
（付記８）
前記画像演算部は、画像フレームの端にある画素の画素値を複製し、当該複製した画素値を用いて前記マトリクス処理を行うことで前記端処理を行い、前記画像フレームの端にある前記画素の画素値を前記マトリクス処理後の画素値として用いないで前記マトリクス処理を行うことで前記端処理を行わないようにすることを特徴とする付記１記載の画像処理装置。
【０１２９】
（付記９）
更に、前記画像演算部から出力される、画像処理後の前記画像データを記憶する記憶部を備えることを特徴とする付記１記載の画像処理装置。
【０１３０】
（付記１０）
更に、画像を撮像して前記画像データを生成する撮像部を備え、
前記撮像部は前記画像データとして前記画像データ入力制御部に出力することを特徴とする付記１記載の画像処理装置。
【０１３１】
（付記１１）
更に、外部装置から送信された前記画像データを受信する通信部を備え、
前記通信部は受信した前記画像データを前記画像データ入力制御部に出力することを特徴とする付記１記載の画像処理装置。
【０１３２】
（付記１２）
画像データに対して画像処理を行う画像処理装置における画像処理方法であって、
第１の方向と前記第１の方向に交差する第２の方向で表わされる複数の画素の画素値を用いて演算を行うマトリクス処理を含む画像処理を画像演算部において行うとき、前記複数の画素のサイズと、複製した画素値を用いて前記マトリクス処理を行う端処理の有無とに基づいて、前記画像データにおける第１及び第２の画像フレーム間の待ち画素数をスケジューリング部において算出し、
前記第１の画像フレームの前記画像データを前記画像演算部に出力し、前記第２の画像フレームの前記画像データの出力を前記待ち画素数分遅延させた後、前記第２の画像フレームの前記画像データを前記画像演算部に画像データ入力制御部により出力する、
を備えることを特徴とする画像処理方法。
【０１３３】
（付記１３）
第１の方向と前記第１の方向に交差する第２の方向で表わされる複数の画素の画素値を用いて演算を行うマトリクス処理を含む画像処理を前記画像データに対して行う画像演算装置に対するスケジューリング装置において、
前記複数の画素のサイズと、複製した画素値を用いて前記マトリクス処理を行う端処理の有無とに基づいて、前記画像データにおける第１及び第２の画像フレーム間の待ち画素数を算出する待ちライン数算出部を備え、
前記第１の画像フレームの前記画像データが前記画像演算部に出力され、前記第２の画像フレームの前記画像データの出力が前記待ち画素数分遅延された後、前記第２の画像フレームの前記画像データが前記画像演算部に出力されることを特徴とするスケジューリング装置。
【符号の説明】
【０１３４】
１０：撮像回路                        ２０：画像処理回路
３０：画像処理演算回路                ３１：画像データ入力制御回路
３１１：メモリ                        ３１２：制御部
３２：画像演算回路                    ３２１：ゲイン処理回路
３２２：ＲＧＢ／ＹＵＶ変換回路        ３２３：平滑化回路
３２４：色補正処理回路                ３２５：バンドパスフィルタ回路
３３：メモリ                          ３４：アドレスデコード回路
３５：スケジューリング回路            ３５１：削除ライン数算出部
３５２：伸長ライン数算出部            ３５３：待ちライン数算出部
１００：デジタルカメラ（画像処理装置）
１１０，２１０：撮像部                ２００：携帯電話（画像処理装置）
３００：ＰＤＡ（画像処理装置）
【図１】
0005593975.tif 000002
【図２】
0005593975.tif 000003
【図３】
0005593975.tif 000004
【図４】
0005593975.tif 000005
【図５】
0005593975.tif 000006
【図６】
0005593975.tif 000007
【図７】
0005593975.tif 000008
【図８】
0005593975.tif 000009
【図９】
0005593975.tif 000010
【図１０】
0005593975.tif 000011
【図１１】
0005593975.tif 000012
【図１２】
0005593975.tif 000013
【図１３】
0005593975.tif 000014
【図１４】
0005593975.tif 000015
【図１５】
0005593975.tif 000016
【図１６】
0005593975.tif 000017
【図１７】
0005593975.tif 000018
【図１８】
0005593975.tif 000019
【図１９】
0005593975.tif 000020