(57)【要約】【課題】バッファ容量を可及的に削減した画像処理プロセッサを提供する。【解決手段】デジタル映像信号が入力されてから画像処理が実行されるまでの遅延量を示す情報を有する命令を取得し、該遅延量と外部から入力された画素数のカウンタ値とに基づいて画素位置を算出し、画素位置が有効領域に位置する場合、取得した命令を実行し、画素位置が無効領域に位置する場合、取得した命令を実行しないように構成した。【選択図】        図１
2010108284.tif 000002
【特許請求の範囲】
【請求項１】
固定のデータレートで入力されてくるデジタル映像信号に対し、デジタル映像信号の入力に同期して順次画像処理を実行する画像処理プロセッサにおいて、
入力されてくるデジタル映像信号の画素数をカウントするとともに入力されてくるデジタル映像信号を順次第１のバッファに書き込み、前記第１のバッファに書き込まれたデジタル映像信号を読み出して第２のバッファに書き込む入力ユニットと、
デジタル映像信号が前記入力ユニットに入力されてから自身の命令による画像処理が開始されるまでの遅延量を示す処理遅延情報が付加された画像処理命令を記憶している命令記憶部と、
前記命令記憶部から画像処理命令を取得し、該取得した画像処理命令に付加されている処理遅延情報および前記入力ユニットによる画素数のカウンタ値に基づいて前記取得した画像処理命令による画像処理対象の画素のデジタル映像信号の画像フレームにおける画素位置を算出し、該算出した画素位置が有効な領域に位置する場合、前記取得した画像処理命令を発行し、前記算出した画素位置が有効な領域に位置しない場合、前記取得した画像処理命令を発行しない命令取得／発行部と、
前記命令取得／発行部が発行した画像処理命令を実行することにより前記第２のバッファに書き込まれている前記画像処理対象の画素に対して画像処理を実行する命令実行部と、
を備えることを特徴とする画像処理プロセッサ。
【請求項２】
前記入力ユニットは、所定数の画素が入力される毎に同期タイミング信号を発行する同期タイミング信号発行部を備え、同期タイミング信号が発行される毎に所定数の画素を前記第１のバッファから読み出して前記第２のバッファに書き込み、
前記命令取得／発行部は、同期タイミング信号が発行されてから次の同期タイミング信号が発行されるまでの間に前記第２のバッファに書き込まれている所定数の画素に対する画像処理を完了し、前記次の同期タイミング信号が発行されるまで次の画像処理命令の取得を待機する、
ことを特徴とする請求項１に記載の画像処理プロセッサ。
【請求項３】
前記命令実行部は、所定数の画素に対して同時に同一の画像処理を実行することが可能に構成される、ことを特徴とする請求項２に記載の画像処理プロセッサ。
【請求項４】
前記同期タイミング信号発行部は、デジタル映像信号の各ラインの先頭が入力されてくるタイミングで同期タイミング信号を発行するように同期タイミング信号の発行間隔を調節する、ことを特徴とする請求項３に記載の画像処理プロセッサ。
【請求項５】
前記処理遅延情報は、直接的にまたはレジスタを用いて間接的に遅延量を示す、ことを特徴とする請求項１〜４のうちの何れか一つに記載の画像処理プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理プロセッサに関する。
【背景技術】
【０００２】
従来、ビデオカメラやデジタルスチルカメラなどの撮像装置などに搭載され、ＣＭＯＳセンサなどから出力された画像データに対して画像処理を実行する画像処理プロセッサは、固定のデータレートで連続的に入力されるラスタスキャン順の画像データに対して逐次画像処理を実行するために、画像データを一時的に格納するバッファを使用し、パイプライン処理を実行する構成となっている。
【０００３】
一方、このような画像処理プロセッサに関し、一般的に、要求される物理的な面積の制約が厳しいため、バッファの容量を小さくして画像処理プロセッサの面積を小さくしたいという要望がある。この要望に対する解決策として、同期のポイントを多く（同期の周期を小さく）することによって一回の同期の動作において受け渡しされる画像データのサイズを小さくし、バッファの容量を削減するということが考えられる。
【０００４】
特許文献１によれば、受け付けた画像データが一定量に達したとき同期を行うように構成することによって、受け渡しされる画像データのサイズを１ラインの画素数以下のサイズにする技術が開示されている。しかしながら、該技術によれば、外部から入力されてくる画像データが一時的に格納される入力バッファおよび外部に出力する画像データが一時的に格納される出力バッファの容量は削減できるが、プロセッサコアが中間データを一時的に格納する中間バッファにおいては画素位置をメモリアドレスで管理可能なように画像データを格納するように構成されているので、中間バッファは少なくともライン単位やフレーム単位の容量を必要とする。したがって、バッファ容量の削減には限界があった。
【０００５】
【特許文献１】特開２００３−２９９７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、バッファ容量を可及的に削減した画像処理プロセッサを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願発明の一態様によれば、固定のデータレートで入力されてくるデジタル映像信号に対し、デジタル映像信号の入力に同期して順次画像処理を実行する画像処理プロセッサにおいて、入力されてくるデジタル映像信号の画素数をカウントするとともに入力されてくるデジタル映像信号を順次第１のバッファに書き込み、前記第１のバッファに書き込まれたデジタル映像信号を読み出して第２のバッファに書き込む入力ユニットと、デジタル映像信号が前記入力ユニットに入力されてから自身の命令による画像処理が開始されるまでの遅延量を示す処理遅延情報が付加された画像処理命令を記憶している命令記憶部と、前記命令記憶部から画像処理命令を取得し、該取得した画像処理命令に付加されている処理遅延情報および前記入力ユニットによる画素数のカウンタ値に基づいて前記取得した画像処理命令による画像処理対象の画素のデジタル映像信号の画像フレームにおける画素位置を算出し、該算出した画素位置が有効な領域に位置する場合、前記取得した画像処理命令を発行し、前記算出した画素位置が有効な領域に位置しない場合、前記取得した画像処理命令を発行しない命令取得／発行部と、前記命令取得／発行部が発行した画像処理命令を実行することにより前記第２のバッファに書き込まれている前記画像処理対象の画素に対して画像処理を実行する命令実行部と、を備える画像処理プロセッサが提供される。
【発明の効果】
【０００８】
本発明によれば、バッファ容量を可及的に削減した画像処理プロセッサを提供することができるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下に添付図面を参照して、この発明にかかる画像処理プロセッサの最良な実施の形態を詳細に説明する。
【００１０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる画像処理プロセッサの構成を示すブロック図である。図示するように、第１の実施の形態の画像処理プロセッサ１は、外部から１映像クロック毎に１画素ずつラスタスキャン順に入力されてくるデジタル映像信号（以下、単に画像データという）を受ける入力ユニット２と、入力ユニット２が受けた画像データに対して例えばレンズシェーディング処理や補間処理などの画像処理を行うプロセッサコア３と、プロセッサコア３が画像処理を行った画像データを１映像クロック毎に１画素ずつラスタスキャン順に外部に出力する出力ユニット４とを備える。
【００１１】
ここで、バッファおよび画像データの流れについて説明する。入力ユニット２は、ラスタスキャン順に入力されてくる画像データを一時的に蓄える入力バッファ２４を備える。プロセッサコア３は、画像処理の作業領域として使用する中間バッファ３５を備える。入力バッファ２４は、入力ユニット２は、入力バッファ２４から画像データを読み出して中間バッファ３５に書き込む。中間バッファ３５は、画像処理対象の画素（注目画素）と該注目画素に対する画像処理に使用される周辺画素の画素データ、および該画像処理によって発生する中間データを記憶する。出力ユニット４は、出力バッファ４１を備え、画像処理結果の画像データを中間バッファ３５から読み出して、出力バッファ４１に一時的に蓄える。出力バッファ４１に蓄えられた画像データは、外部にラスタスキャン順に出力される。
【００１２】
入力バッファ２４から画像データを読み出して中間バッファ３５に書き込む動作、中間バッファ３５に書き込まれた画像データに対する画像処理、出力バッファ４１に画像処理結果を書き込む動作、および出力バッファ４１から外部に画像データが出力される動作は、外部からの画像データの入力に同期して同期のポイントから次の同期のポイントまでに入力される画像データの画素数である処理単位画素数毎にパイプライン処理的に実行される。したがって、入力バッファ２４および出力バッファ４１の容量は、処理単位画素数に応じた容量を有するように構成されている。例えば入力バッファ２４および出力バッファ４１は、処理単位画素数と同一または倍程度の容量を有する。入力バッファ２４および出力バッファ４１の容量を削減するために、処理単位画素数は例えば１画素分などできるだけ小さい値となるように、同期の周期は小さく設定される。
【００１３】
外部から入力されてくる画像データについて説明する。外部から入力されてくる画像データはブランキング期間などの無効な領域を含む。図２は、画像フレームの一例を示す図である。図示するように、Ｈ方向１０画素×Ｖ方向３画素の画像フレームにおいて、１、２ラインの右側２画素と３ライン目の全ての画素が無効領域となっている。画像処理プロセッサ１は、画像処理のための命令をフェッチ（取得）する毎に該命令の注目画素の画素位置をハードウェア的に算出し、該注目画素が有効領域（無効領域ではない領域）に位置するか否かを判定し、該注目画素が無効領域に位置する場合、フェッチした命令を実行しないようにする機能を有する。
【００１４】
図１に戻り、入力ユニット２は、入力バッファ２４と、入力された画素数をカウントする画素カウンタ２２と、処理単位画素数分の画像データが入力される毎に同期タイミング信号を発行する同期タイミング信号生成部２３と、注目画素が有効領域に位置するか否かを判定するために使用される有効領域レジスタ２１と、を備える。
【００１５】
プロセッサコア３は、中間バッファ３５と、画像処理にかかる命令（画像処理命令）を記憶する命令記憶部である命令メモリ３１と、命令を実行する命令実行部である演算ユニット３３およびロードストアユニット３４と、命令メモリ３１から命令をフェッチして演算ユニット３３およびロードストアユニット３４に命令を発行する命令取得／発行部である命令フェッチ／発行ユニット３２と、を備える。ロードストアユニット３４は、中間バッファ３５に対する画像データの読み書きを行う。
【００１６】
命令メモリ３１に記憶されている命令のフォーマットについて説明する。命令メモリ３１に記憶されている命令（以下、命令列という）は、同時に実行できる複数の命令（以下、小命令という）が組み込まれた構成となっている。図３は、命令メモリ３１に記憶されている命令列のフォーマットの一例を説明する図である。図３において、一つの命令列は、夫々小命令を格納する第１の領域、第２の領域、および第３の領域と、注目画素指定命令を格納する第４の領域と、を有する。
【００１７】
注目画素指定命令は、注目画素が属する画像フレームの先頭画素が外部から入力されてから該先頭画素に対して同じ命令列の小命令による操作が開始されるまでの遅延量を示す処理遅延情報を有し、該処理遅延情報および画素カウンタ２２のカウンタ値に基づいて注目画素の画素位置を算出し、該注目画素が有効領域にある場合、同じ命令列の小命令を実行させ、該注目画素が無効領域にある場合、同じ命令列の小命令を実行させないようにする命令である。なお、処理遅延情報に示される遅延量は、同期ポイントから別の同期ポイントまでの入力画素数または該入力画素数に対応する映像クロック数などの時間で示される。
【００１８】
第１の領域、第２の領域および第３の領域に格納される小命令には、画像データを読み出し先から読み出すロード命令、画像データを書き込み先に書き込むストア命令、画像処理を実行する演算命令など、画素の操作を実行させる命令のほか、外部からの画像データの入力と入力された画像データに対する画像処理の実行との間に同期を取るための同期命令と、次の命令列の取得先のアドレスを変更させるジャンプ命令とがある。
【００１９】
命令フェッチ／発行ユニット３２は、命令列をフェッチした後、該命令列に含まれている小命令を発行する。すなわち、命令フェッチ／発行ユニット３２は、演算命令を演算ユニット３３に発行し、ロード命令、ストア命令をロードストアユニット３４に発行する。ただし、命令フェッチ／発行ユニット３２は、同期命令、ジャンプ命令および注目画素指定命令を自身が実行する。
【００２０】
命令フェッチ／発行ユニット３２は、注目画素指定命令を実行するために、注目画素指定命令が有する処理遅延情報と画素カウンタ２２の値に基づき注目画素の位置を算出する画素位置算出部３２１と、算出した注目画素の画素位置が有効領域にあるか否かを有効領域レジスタ２１の値に基づいて判定し、該画素位置が有効領域でない場合、同じ命令列に含まれる小命令を演算ユニット３３、ロードストアユニット３４に発行しないようにする命令無効化部３２２とを有する。
【００２１】
また、命令フェッチ／発行ユニット３２は、同期命令を実行する同期ユニット３２３を有する。同期ユニット３２３は、フェッチした命令列に同期命令が含まれていた場合、該同期命令を解釈し、同期タイミング信号生成部２３から次の同期タイミング信号が発行されるまで命令フェッチ／発行ユニット３２に命令列をフェッチする動作を待機させる制御を実行する。同期ユニット３２３は、次の同期タイミング信号が発行されたとき、命令をフェッチする動作の待機を解除し、命令フェッチ／発行ユニット３２に次の命令列をフェッチさせる。
【００２２】
命令フェッチ／発行ユニット３２は、ジャンプ命令を実行したとき、該ジャンプ命令に指定される命令メモリ３１の読み出し先から次の命令列を読み出す。
【００２３】
出力ユニット４は、前述したように出力バッファ４１を備える。
【００２４】
次に、以上のように構成される第１の実施の形態の画像処理プロセッサ１の動作を説明する。なお、以下の動作の説明においては、図２に示す画像フレームが入力されることとし、同期タイミング信号生成部２３は、１画素入力される毎に同期タイミング信号を発行し、画素カウンタ２２のカウンタ値は、画像フレームの先頭画素が入力されたときリセットされて１を示すようにすることとする。
【００２５】
図４は、第１の実施の形態の画像処理プロセッサ１が、入力される画像データと画像処理の実行の間で同期をとる動作を説明するフローチャートである。図４左図は、入力ユニット２の動作を説明するフローチャートである。図示するように、入力ユニット２は、１画素入力されると（ステップＳ１）、同期タイミング信号を発行して、入力ユニット２は入力された１画素を入力バッファ２４に書き込み、画素カウンタ２２のインクリメントを行う（ステップＳ２）。そして、入力ユニット２は入力バッファ２４に入力された１画素を中間バッファ３５に書き込む（ステップＳ３）。そして、ステップＳ１に移行する。
【００２６】
プロセッサコア３は、同期タイミング信号を検知してから次の同期タイミング信号を検知するまでに、中間バッファ３５に書き込まれている注目画素１画素に対して種々の画像処理を実行する動作を、同期命令が組み込まれていない命令列１〜命令列ｎ−１および同期命令が組み込まれた命令列ｎに基づいてパイプライン処理的に実行する。図４右図は、プロセッサコア３の動作を説明するフローチャートである。
【００２７】
図４右図において、プロセッサコア３は、同期ユニット３２３が同期タイミング信号の発行を検知したとき（ステップＳ１１）、命令フェッチ／発行ユニット３２は、命令列１をフェッチし（ステップＳ１２）、命令列１の注目画素１画素に対して該命令列１が実行される（ステップＳ１３）。命令列のフェッチおよびフェッチした命令列の実行は、命令列ｎ−１に至るまで繰り返される（ステップＳ１４〜ステップＳ１６）。続いて、命令フェッチ／発行ユニット３２は、同期命令が組み込まれた命令列ｎをフェッチし（ステップＳ１７）、命令列ｎが実行されると（ステップＳ１８）、同期命令を解釈した同期ユニット３２３により、命令フェッチ／発行ユニット３２は次の同期タイミング信号の発行を検知するまで新たな命令列のフェッチを待機する状態に移行する（ステップＳ１９）。その後、同期ユニット３２３が同期タイミング信号の発行を検知すると（ステップＳ１１）、次の画素についてステップＳ１２〜ステップＳ１９の動作が実行される。なお、プロセッサコア３はパイプライン処理的にステップＳ１１〜ステップＳ１９の動作を実行するので、命令列１〜ｎに基づく各操作が対象とする画素は全て同一の画素を指しているとは限らない。
【００２８】
このように、入力ユニット２に入力される画像データと、プロセッサコア３による画像データに対する画像処理とが同期される。なお、他の同期の方式として、入力ユニット２、出力ユニット４内部に処理単位画素数の画像データが蓄えられたことを示すレジスタを配備し、該レジスタをプロセッサコア３が一定の間隔で読み出すことにより同期を取るポーリング方式や、入力ユニット２が処理単位画素数の画像データが蓄えられたときハードウェア信号として通知し、受け側をプロセッサコア３の割込コントローラに接続する割込方式などがあるが、上述した第１の実施の形態の同期方式はこれらの他の同期方式よりも同期のオーバーヘッドが少ないため、より高速な同期を実現する。すなわち、ポーリング方式や割込方式にくらべ、オーバーヘッドの増加量を抑えつつ同期の周期を短く設定することが可能である。
【００２９】
図５は、フェッチされた命令列の実行（ステップＳ１３、ステップＳ１５、・・・、ステップＳ１８）をさらに詳しく説明するフローチャートである。
【００３０】
図５において、命令フェッチ／発行ユニット３２は、命令列をフェッチすると、画素位置算出部３２１は画素カウンタ２２のカウンタ値および注目画素指定命令に含まれる処理遅延情報に基づき、該命令列に含まれる小命令が操作対象とする画素の画素位置を算出する（ステップＳ２１）。以下に画素位置の求め方の一例を説明する。
【００３１】
図２の画像フレームにおける操作対象の画素の位置をＹライン目のＸ画素目とし、処理遅延情報が示す遅延量をＤ画素とし、現在のカウンタ値をＣとすると、
Ｃ−Ｄ＝（Ｘ−１）＋（Ｙ−１）×１０      （式１）
（ただしＸ、Ｙは、１≦Ｘ≦１０、１≦Ｙ≦３を満たす整数）
の関係が成り立つ。したがって、カウンタ値Ｃおよび遅延量ＤによりＸ、Ｙを算出することができる。例えば、現在の画素カウンタ２２のカウンタ値が１４であり、遅延量がＤ画素である場合、（Ｘ、Ｙ）＝（３、１）と求まる。すなわち、操作対象の画素の画素位置は１ライン目の３画素目であることがわかる。
【００３２】
ステップＳ２１に続いて、命令無効化部３２２は、有効領域レジスタ２１を参照し、求めた画素位置が有効領域であるか否かを判定する（ステップＳ２２）。有効領域レジスタ２１による有効領域を示す形態は特に限定されるものではないが、図２の画像フレームにおける有効領域は、１≦Ｘ≦８、かつ１≦Ｙ≦２の範囲であるため、例えば４つのレジスタを用いてＸ、Ｙの有効領域における最小値と最大値を並べ、１、８、１、２のように表現するようにしてよい。
【００３３】
画素位置が有効領域であった場合（ステップＳ２２、Ｙｅｓ）、命令フェッチ／発行ユニット３２は、第１〜第３の領域に格納されている小命令を発行する（ステップＳ２３）。画素位置が有効領域ではなかった場合（ステップＳ２２、Ｎｏ）、命令無効化部３２２は命令列に含まれる小命令を無効とし、命令フェッチ／発行ユニット３２に該小命令を発行しないで命令列の実行を終了する。ただし、ステップＳ１７においてフェッチされた命令列ｎが扱う画素が無効領域に位置する場合でも次の同期タイミング信号まで待機するために、画素位置が有効領域ではなかった場合でも同期命令のみ例外として同期ユニット３２３に発行される。
【００３４】
このように、命令フェッチ／発行ユニット３２は、フェッチした命令列が含んでいる遅延量を示す処理遅延情報とカウンタ値に基づき、該命令列に含まれる小命令の操作対象の画素の画素位置を算出するので、中間バッファ３５は、画素の格納先のアドレスで画像位置を管理する特許文献１の技術が受けるライン単位やフレーム単位のような大きな容量を必要とするという制約を受けなくなるため、中間バッファ３５の容量を削減することができる。例えば、Ｈ方向３画素×Ｖ方向３画素の画素を用いて中心の画素に関する画像処理の演算を行うように構成されている場合、特許文献１の技術によれば、例え処理単位画素数が１ライン以下のサイズであっても、中間バッファは画像処理前の注目画素と該注目画素に関する画像処理の演算に使用される周辺画素の画像データを格納する領域だけでも少なくとも３ライン分の容量が必要となる。これに対し、画像処理プロセッサ１は、処理単位画素数を１画素に設定すると、２ライン分＋３画素分の容量まで削減できる。
【００３５】
また、算出した画素位置が無効領域の場合、命令列に含まれる小命令を発行しない動作を行うので、中間バッファ３５は、無効領域の画素に関する画像処理の中間データを記憶するための容量を必要としない。すなわち、中間バッファ３５は、無効領域分の中間データを格納する分の容量をさらに削減することができる。
【００３６】
また、注目画素の画素位置を算出する動作と、該算出した画素位置が有効領域に位置するか否かを判定する動作とをソフトウェアで実行すると、いくつかの条件分岐の処理を要し、該条件分岐の処理に起因するオーバーヘッドが大きくなるが、画像処理プロセッサ１は、これらの動作をハードウェアで実現するため、ソフトウェアで実現する場合に比して高速に実行することができる。
【００３７】
図６は、画像データの流れの具体例を説明するタイミングチャートである。図６において、最上段は映像クロック、２段目はフレームの先頭でアサートされ、フレームの終わりでデアサートされる垂直同期信号、３段目はＨ方向の有効領域の画像でアサートされ、有効領域の画素の終わりでデアサートされる水平同期信号、４段目は入力されてくる画素を示している。最上段から最下段に至る直線は１画素毎に発行されている同期タイミング信号を示している。ここで、入力ユニット２は、水平同期信号に基づき無効領域の画素は入力バッファ２４に書き込まないこととしている。
【００３８】
入力ユニット２は、最上段〜４段目に示すように入力ユニット２に入力されてくる画像データに対し、５段目に示すように１画素ずつ順次画像データを入力バッファ２４に書き込む。そして、入力ユニット２は、該書き込んだ画像データを中間バッファ３５に１画素ずつ順次書き込む。プロセッサコア３は、命令列１〜ｎに基づき、６段目に示す処理Ａおよび７段目に示す処理Ｂと、を実行する。出力ユニット４は、８段目に示すように、処理Ｂが実行された後の画像データを１画素ずつ読み出して出力バッファ４１に書き込む。
【００３９】
処理Ａに係る操作を実行させる命令列は、図中矢印（１）に示すように１１画素の遅延量が指定されている処理遅延情報を有する注目画素指定命令を有する。カウンタ値が１１のとき処理Ａに係る命令列が実行されたとき、該命令列の注目画素は式（１）により画像フレームの先頭画素であると認識される。処理Ａに関し、カウンタ値が１９、２０、２９、および３０のとき、式（１）および有効領域レジスタ２１により、注目画素は無効領域に位置すると認識され、小命令が実行されず、中間データの読み書きは実行されない。同様に、処理Ｂに係る操作を実行させる命令列は、図中矢印（２）に示すように１４画素の遅延量が指定されている処理遅延情報を有する注目画素指定命令を有する。カウンタ値が１４のとき処理Ｂに関する命令列が実行されたとき、該命令列の注目画素は画像フレームの先頭画素であると認識される。処理Ｂに関しても、カウンタ値が２２、２３、３２および３３のとき、中間データの読み書きは実行されない。このように、無効領域の画素に関する中間データの読み書きは実行されないので、中間バッファ３５は、無効領域の画素データに関する中間データを格納する領域分だけ削減することができることがわかる。
【００４０】
以上述べたように、第１の実施の形態によれば、デジタル映像信号が入力されてから画像処理が実行されるまでの遅延量を示す情報を有する命令を取得し、該遅延量と外部から入力された画素数のカウンタ値とに基づいて画素位置を算出し、画素位置が有効領域に位置する場合、取得した命令を実行し、画素位置が無効領域に位置する場合、取得した命令を実行しないように構成したので、同期の周期を短く設定すると、入力バッファ、出力バッファおよび中間バッファの容量を削減することができるので、バッファの容量を可及的に削減した画像処理プロセッサを提供することができるようになる。
【００４１】
ところで、以上の説明において、入力ユニット２、プロセッサコア３、出力ユニット４は夫々入力バッファ２４、中間バッファ３５、出力バッファ４１を備えるとしたが、各バッファが配備される位置はこれに限定しない。
【００４２】
また、画素カウンタ２２は、例として画像フレームの先頭画素が入力されたときリセットされて１を示す動作を行うとして説明したが、画素位置とカウンタ値との対応付けがなされ、カウンタ値と遅延量との関係から画素位置が算出できるように構成される限りどのようにリセットされるように構成されてもよい。例えば、画素カウンタ２２は、Ｈ方向およびＶ方向の２種類のカウンタからなる２次元カウンタとし、Ｈ方向に１画素入力される毎にＨ方向のカウンタ値をインクリメントし、１ライン分の画素が入力される毎にＶ方向のカウンタ値をインクリメントするようにしてもよい。同様に、遅延量に関してもＨ方向およびＶ方向の２種類の量で表現されるように構成してもよい。
【００４３】
また、処理遅延情報が遅延量をどのように示すかについては特に言及しなかったが、遅延量の数値を直接示すようにしてもよいし、遅延量の数値が格納されたレジスタを示す、いわゆるレジスタ間接で示すようにしてもよい。
【００４４】
また、有効領域レジスタ２１が示す値の設定方法については特に言及しなかったが、初期設定時に設定されるようにしてもよいし、例えば水平同期信号および垂直同期信号に基づいて自動で設定する機能を入力ユニット２に付すようにしてもよい。自動で設定する機能を付すように構成した場合、有効領域レジスタ２１の初期設定の手間を削減することができる。
【００４５】
また、同期命令にジャンプ命令の機能を持たせるようにしてもよい。このようにすることにより、ジャンプ命令を同期命令とは別に命令列に組み込む必要をなくすることができる。なお、同期命令にジャンプ命令の機能を持たせる場合、予め定められたアドレスにジャンプさせるようにしてもよいし、同期命令中に即値やレジスタ間接指定などによりジャンプ先のアドレスを指定するようにしてもよい。
【００４６】
（第２の実施の形態）
次に、本発明の第２の実施の形態の画像処理プロセッサについて説明する。図７は、本発明の第２の実施の形態の画像処理プロセッサ５の構成を説明するブロック図である。図７に示す画像処理プロセッサ５が有する各構成要素に関し、実施の形態１と同一の機能を有する構成要素には同一の符号を記し、詳細な説明を省略する。
【００４７】
図７において、画像処理プロセッサ５は、外部から１映像クロック毎に１画素ずつラスタスキャン順に入力されてくる画像データを受ける入力ユニット６と、入力ユニット６が受けた画像データに対して画像処理を行うプロセッサコア７と、プロセッサコア７が画像処理を行った画像データを１映像クロック毎に１画素ずつラスタスキャン順に外部に出力する出力ユニット４とを備える。
【００４８】
プロセッサコア７はＳＩＭＤ（Single  Instruction  Multiple  Data）型のデータに対する画像処理を行う構成となっている。すなわち、プロセッサコア７は、演算ユニット３３の代わりに、一つの演算命令で複数の画素に対して同時に同一の演算を実行するＳＩＭＤ演算ユニット７１を備える。処理単位画素数は、ＳＩＭＤ演算ユニット７１が演算可能な画素数、すなわちＳＩＭＤ幅に設定される。
【００４９】
入力ユニット６は、同期タイミング信号生成部２３の替わりに同期タイミング信号生成部６１を備える。同期タイミング信号生成部６１は、処理単位画素数分、すなわちＳＩＭＤ幅分の画像データが入力される毎に同期タイミング信号を発行する。ただし、同期タイミング信号生成部６１は、水平画素数がＳＩＭＤ幅の整数倍ではない場合、同じＳＩＭＤデータに異なるラインの画像データを含まないように、次のラインの先頭に同期ポイントがくるように同期タイミング信号の発行間隔を一部調節する。
【００５０】
以上のように構成される画像処理プロセッサ５における画像データの流れを説明する。図８は画像データの流れを説明するタイミングチャートである。なお、図８においては、図８に示す画像フレームが入力されたものとし、ＳＩＭＤ幅は３画素であるとしている。
【００５１】
図示するように、１ライン分の画素データが入力バッファ２４に順次書き込まれるとき、ＳＩＭＤ幅である３映像クロック毎に同期タイミング信号が発行され、１ラインの最後の同期タイミング信号は、前回の同期タイミング信号が発行されてから４画素入力されたとき発行される。これによって、ＳＩＭＤデータ、すなわち処理単位画素数のデータにラインの異なる画素が混在することが防止されている。
【００５２】
以上述べたように、第２の実施の形態によれば、処理単位画素数の画素に対して同一の演算を実行することができるように構成したので、第１の実施に形態に比して命令フェッチ／発行ユニットの動作を効率化できるようになる。
【図面の簡単な説明】
【００５３】
【図１】第１の実施形態の画像処理プロセッサの構成を示すブロック図。
【図２】画像フレームの一例を説明する図。
【図３】命令列のフォーマットの一例を説明する図。
【図４】第１の実施形態の画像処理プロセッサの画像データの入力と画像処理の実行との間の同期の動作を説明するフローチャート。
【図５】第１の実施形態の画像処理プロセッサの命令列の実行を説明するフローチャート。
【図６】第１の実施形態の画像処理プロセッサにおける画像データの流れを説明するタイミングチャート。
【図７】第２の実施形態の画像処理プロセッサの構成を示すブロック図。
【図８】第２の実施形態の画像処理プロセッサにおける画像データの流れを説明するタイミングチャート。
【符号の説明】
【００５４】
１  画像処理プロセッサ、２  入力ユニット、３  プロセッサコア、４  出力ユニット、５  画像処理プロセッサ、６  入力ユニット、７  プロセッサコア、２１  有効領域レジスタ、２２  画素カウンタ、２３  同期タイミング信号生成部、２４  入力バッファ、３１命令メモリ、３２  命令フェッチ／発行ユニット、３３  演算ユニット、３４  ロードストアユニット、３５  中間バッファ、４１  出力バッファ、６１  同期タイミング信号生成部、７１  ＳＩＭＤ演算ユニット、３２１  画素位置算出部、３２２  命令無効化部、３２３  同期ユニット。
【図１】
2010108284.tif 000003
【図２】
2010108284.tif 000004
【図３】
2010108284.tif 000005
【図４】
2010108284.tif 000006
【図５】
2010108284.tif 000007
【図６】
2010108284.tif 000008
【図７】
2010108284.tif 000009
【図８】
2010108284.tif 000010