(57)【要約】【課題】プロセッサの機能向上や入力チャンネル数が増加しても、ビデオデータに対する処理が破綻を来さないようにする。【解決手段】ＣＰＵ６で生成したデータを、バス８を介してデコーダ１６に供給し、ＦＩＦＯ１７に書き込む。同様に、ＣＰＵ１０で生成したデータを、バス１２を介してデコーダ１９に供給し、ＦＩＦＯ２０に書き込む。バススイッチ１５は、ＦＩＦＯ１７及び２０を例えばバス８のクロックに同期して交互に切り換え、選択された側のデータを読み出し時間方向に圧縮してバス２側に供給する。バス２に供給されたデータは、プロセッサ３のレジスタに設定される。ＣＰＵのクロックの高速化やインターフェイスの変更をしなくても、ＣＰＵの負荷を分散することができ、ＣＰＵに対する負荷がより高い処理の場合でも、プロセッサ３のレジスタに対するデータ設定処理などを１フレーム周期で完了できる。【選択図】  図５
2004326215.tif 000002
【特許請求の範囲】
【請求項１】
受信したデータによるレジスタの更新結果に応じて所定の処理を実行する処理手段と、
上記処理手段のための上記データを生成し、該データを送信する複数の制御手段と、
上記複数の制御手段のそれぞれに対応して設けられ、上記制御手段から送信された上記データを一時的に記憶する複数の記憶手段と、
上記記憶手段を、少なくとも上記制御手段のデータ送信周期よりも短い周期で選択し、上記選択された記憶手段に記憶されている上記データを、順次、上記処理手段に送信する切換手段と
を有することを特徴とする信号処理装置。
【請求項２】
請求項１に記載の信号処理装置において、
上記処理手段は、映像信号に対し所定の信号処理を実行することを特徴とする信号処理装置。
【請求項３】
請求項１に記載の信号処理装置において、
上記切換手段は、上記データを時間方向に圧縮させて上記処理手段に送信するようにしたことを特徴とする信号処理装置。
【請求項４】
請求項１に記載の信号処理装置において、
上記複数の制御手段は、互いに非同期的にデータを送信することを特徴とする信号処理装置。
【請求項５】
請求項１に記載の信号処理装置において、
上記切換手段による上記処理手段に対するデータの送信は、上記複数の制御手段のうち少なくとも１の上記制御手段によるデータの送信周期と同期的にされることを特徴とする信号処理装置。
【請求項６】
請求項１に記載の信号処理装置において、
上記データがリードコマンドを含み、上記切換手段が上記リードコマンドを上記処理手段に送信した場合に、上記処理手段から上記リードコマンドに対する応答メッセージを受信するまで、上記記憶手段の周期的な選択を停止し、当該リードコマンドを記憶していた記憶手段と上記処理手段を固定的に接続することを特徴とする信号処理装置。
【請求項７】
受信したデータによるレジスタの更新結果に応じて所定の処理を実行する処理のステップと、
上記処理のステップのための上記データを生成し、該データを送信する複数の制御のステップと、
上記複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、上記複数の制御のステップから送信された上記データを一時的にそれぞれ記憶する複数の記憶のステップと、
上記記憶手段を、少なくとも上記制御のステップのデータ送信周期よりも短い周期で選択し、上記選択された記憶手段に記憶されている上記データを、順次、上記処理のステップに送信する切換のステップと
を有することを特徴とする信号処理方法。
【請求項８】
受信したコマンドによるレジスタの更新結果に応じて所定の処理を実行する処理手段と、
上記処理手段のための上記データを生成し、該データを送信する複数の制御手段と、
上記複数の制御手段のそれぞれに対応して設けられ、上記制御手段から送信された上記データを一時的に記憶する複数の記憶手段と、
上記複数の記憶手段に対応して設けられ、上記複数の記憶手段内のデータ数をそれぞれ検出する検出手段と、
上記検出手段により検出されたデータ数に基づき上記複数の記憶手段から１の上記記憶手段を選択し、上記選択された記憶手段に記憶されている上記データを、少なくとも上記制御手段のデータ送信周期よりも短い周期で順次、上記処理手段に送信する切換手段と
を有することを特徴とする信号処理装置。
【請求項９】
請求項８に記載の信号処理装置において、
上記切換手段は、上記複数の記憶手段から上記検出手段により検出されたデータ数が最も多い記憶手段を上記選択するようにしたことを特徴とする信号処理装置。
【請求項１０】
請求項８に記載の信号処理装置において、
上記処理手段は、映像信号に対し所定の信号処理を実行することを特徴とする信号処理装置。
【請求項１１】
請求項８に記載の信号処理装置において、
上記切換手段は、上記データを時間方向に圧縮させて上記処理手段に送信するようにしたことを特徴とする信号処理装置。
【請求項１２】
請求項８に記載の信号処理装置において、
上記複数の制御手段は、互いに非同期的にデータを送信することを特徴とする信号処理装置。
【請求項１３】
請求項８に記載の信号処理装置において、
上記切換手段による上記処理手段に対するデータの送信は、上記複数の制御手段のうち少なくとも１の上記制御手段によるデータの送信周期と同期的にされることを特徴とする信号処理装置。
【請求項１４】
請求項８に記載の信号処理装置において、
上記データがリードコマンドを含み、上記切換手段が上記リードコマンドを上記処理手段に送信した場合に、上記処理手段から上記リードコマンドに対する応答メッセージを受信するまで、上記記憶手段の周期的な選択を停止し、当該リードコマンドを記憶していた記憶手段と上記処理手段を固定的に接続することを特徴とする信号処理装置。
【請求項１５】
受信したコマンドによるレジスタの更新結果に応じて所定の処理を実行する処理のステップと、
上記処理のステップのための上記データを生成し、該データを送信する複数の制御のステップと、
上記複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、上記複数の制御のステップから送信された上記データを一時的にそれぞれ記憶する複数の記憶のステップと、
上記複数の記憶手段に対応して設けられ、上記複数の記憶手段内のデータ数をそれぞれ検出する検出のステップと、
上記検出のステップにより検出されたデータ数に基づき上記複数の記憶手段から１の上記記憶手段を選択し、上記選択された記憶手段に記憶されている上記データを、少なくとも上記制御のステップのデータ送信周期よりも短い周期で順次、上記処理のステップに送信する切換のステップと
を有することを特徴とする信号処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のＣＰＵを用いて映像信号を処理する信号処理装置および信号処理方法に関する。
【０００２】
【従来の技術】
放送局やプロダクションは、放送用の映像等を編集するために、業務用画像エフェクタを備えた編集室を設けていることが多い。業務用画像エフェクタは、テレビカメラで得られるライブ映像や、既に記録されている映像等に対して、画像の拡大、縮小処理といった特殊効果処理を施すなどの編集、加工を行う機器である。
【０００３】
放送局等では、この業務用画像エフェクタによって編集、加工された映像に他の映像を組み合わせ、更にＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）画像やサウンドを付加するなどして放送用の映像を作成する。例えば、テレビカメラから得られた映像を拡大または縮小したものを他の映像にはめ込み、更にその映像にテロップを挿入することによって、放送用の映像を作成する。
【０００４】
こうした映像処理は、例えば、ライブ中継で複数のテレビカメラからの映像を同時に一画面に出力するように編集して、一度に多くの情報を伝えると共に、現場の臨場感を持たせることができる。また、映像に様々な特殊効果処理を施し、更にＣＧ映像等を挿入することによって、番組の表現にバリエーションを持たせることも可能である。
【０００５】
上記業務用画像エフェクタとして使用されるものにディジタルマルチエフェクトシステムがある。このシステムは、ディジタル映像信号について、特殊効果処理を施す等の編集、加工を行うものであり、複数の入力映像について並列的かつリアルタイムに処理することができる。
【０００６】
また、ディジタルマルチエフェクトシステムは、映像信号経路の切り換えを行うスイッチャと組み合わされ、ディジタルマルチエフェクトスイッチャとして利用されることもある。
【０００７】
ディジタルマルチエフェクトシステムは、複数のモニタなどの表示装置と、キーボード、スイッチ、ジョイスティックなどの入力装置を備え、ユーザの入力装置に対する操作に応じて、テレビカメラなどから送信されてくる入力映像や、ＶＴＲ（Ｖｉｄｅｏ  Ｔａｐｅ  Ｒｅｃｏｒｄｅｒ）などで再生された映像素材といった、複数の映像信号を用いて編集処理を行う。
【０００８】
ディジタルマルチエフェクトシステムでは、この編集作業の際に、例えば画像の拡大、縮小処理といった特殊効果処理を、映像信号に対して施すことができる。この特殊効果処理は、例えばビデオプロセッサを用いて行われる。一例として、ユーザの入力装置に対する操作に応じてＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）から制御信号が出力され、この制御信号によりビデオプロセッサが制御され、入力された映像信号に対して所定の処理がなされる。ビデオプロセッサは、例えばＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）からなり、レジスタに係数を設定することで、入力された信号に対して所望の処理を施すようにされている。
【０００９】
図９は、このような、入力された映像信号に対してビデオプロセッサを用いて特殊効果などを施すようにされた、従来の技術によるビデオ処理部１２０の一例の構成を示す。このビデオ処理部１２０は、例えば上述のディジタルマルチエフェクトシステムに組み込まれて用いられる。
【００１０】
ビデオ処理部１２０は、ＲＡＭ／ＲＯＭ２００、ＣＰＵモジュール２１０、Ｉ／Ｏポート２２０およびビデオプロセッサ２３０を有し、それぞれがローカルバス２４０に接続され、互いにデータのやりとりなどが可能なようにされている。ＲＡＭ／ＲＯＭ２００は、ＣＰＵモジュール２１０によって使用されるプログラム等を記憶し、また、必要に応じて実行時に使用されるデータを一時的に記憶する。
【００１１】
また、Ｉ／Ｏポート２２０は、外部との制御データのやりとりを行う。例えばこのビデオ処理部１２０が組み込まれるディジタルマルチエフェクトシステムの全体を制御するメインＣＰＵから、ユーザの入力装置に対する操作に応じて生成された制御データが、Ｉ／Ｏポート２２０を介して入力され、ＣＰＵモジュール２１０に供給される。
【００１２】
一方、処理されるべきビデオデータは、ビデオプロセッサ２３０に入力される。ビデオプロセッサ２３０は、レジスタに設定されたフィルタ係数に応じた処理を、入力されたビデオデータに対して施す。例えば、上述のＩ／Ｏポート２２０を介して供給された制御データに基づきＣＰＵモジュール２１０でフィルタ係数が生成され、ビデオプロセッサ２３０に設定される。ビデオプロセッサ２３０に入力されたビデオデータは、ビデオプロセッサ２３０で、設定されたフィルタ係数に応じた処理を施され、出力される。
【００１３】
すなわち、ビデオプロセッサ２３０では、ＣＰＵモジュール２１０によるレジスタ設定によってビデオデータの出力が変化する。この処理をフレーム周期内で実行することで、ビデオプロセッサ２３０による画像処理が実現される。
【００１４】
ここで、ビデオ処理部１２０は、複数チャンネルのビデオデータに対して並列的に処理を行うことが可能とされる。例えば、ビデオ処理部１２０が４チャンネルのビデオデータ入力に対応可能であるとすると、並列的に入力された４チャンネルのビデオデータは、４チャンネル分のフレームが１フレームの期間内に収まるようにそれぞれ時間方向に圧縮され、１チャンネルのデータに時分割多重されてビデオプロセッサ２３０に供給される。ＣＰＵモジュール２１０は、１フレームの期間内に時分割多重された４チャンネルのビデオデータそれぞれに対するフィルタ係数を、それぞれのチャンネルに同期するように切り換えながら、ビデオプロセッサ２３０のレジスタに設定する。ビデオプロセッサ２３０では、供給されたビデオデータに対してレジスタに設定されたフィルタ係数に応じた処理を施し、出力する。出力されたビデオデータは、時分割多重を解かれ、再び元の４チャンネルのビデオデータに組み立て直されて、チャンネル毎個別に出力される。
【００１５】
ここで、ビデオプロセッサ２３０から出力されたビデオデータが正常に再生できるためには、１フレーム分の画像に関する指定された処理が１フレーム周期内に完了しなければならない。この処理が１フレーム周期内に完了しない場合は、映像の一部の欠落や映像の乱れが生じることになる。例えば、処理するビデオデータのチャンネル数が増加したり、ビデオプロセッサ２３０の機能が向上し、より複雑な画像処理が可能となってくると、ビデオプロセッサ２３０内のレジスタ数が単純に増加することになり、ＣＰＵモジュール２１０によるフィルタ係数の演算やビデオプロセッサ２３０に対するレジスタ設定が１フレーム内で完了できない可能性がある。
【００１６】
図１０を用いて説明する。図１０は、ＣＰＵモジュール２１０の処理時間をフレーム毎に示す一例のタイミングチャートである。ここで、図１０Ａに示されるように、１フレーム周期が時間ｔであるとする。
【００１７】
図１０Ｂは、ビデオデータの第１フレームから第４フレームまでのフレーム画像に対して処理を施す場合に、ＣＰＵモジュール２１０による必要なフィルタ係数の生成やレジスタ設定などの処理が、それぞれ１フレーム周期ｔ内に完了している例である。なお、各フレーム画像に対する処理内容が異なる場合、ＣＰＵモジュール２１０の処理時間もフレーム毎に変動する。
【００１８】
図１０Ｃは、図１０Ｂと同様のビデオデータを処理する場合において、上述したような機能アップや入力チャンネル数の増加などによってＣＰＵモジュール２１０の処理時間が長くなった場合を表している。この図１０Ｃに示される例では、図１０Ｂに例示される場合に比べ、ＣＰＵモジュール２１０の処理時間は、各フレームについてほぼ倍になっている。この例では、第１、第２および第４フレームについては、１フレーム周期ｔ内でＣＰＵモジュール２１０の処理が終了しているが、第３フレームについては、ＣＰＵモジュール２１０の処理時間が１フレーム周期ｔを上回っており、第３フレームの処理がフレーム周期内で完全には終了しなかったことを示している。この時点で、第３フレームの処理は、破綻を来している。
【００１９】
こうした処理の破綻によって、第３フレームがリアルタイム処理に間に合わず、処理が完全に終わらない状態でビデオデータ出力として送信され、その結果、映像の一部が欠落したり、映像の乱れが生じたりする。
【００２０】
このような、フレーム周期内に処理が完了しない問題を解消するために、マルチメディアデータの処理を高速化する方法として、ＰＣＩローカルバスを利用してオーディオデータ、ビデオデータ、およびグラフィックスデータを高速に同時処理する統合マルチメディアボード回路（特許文献１）、およびコマンドの実行順序を調整することによってシステムのデータ処理速度を向上させたバスシステムおよび実行順序の調整方法（特許文献２）がある。
【００２１】
【特許文献１】
特開平７−２６２１３０号公報
【特許文献２】
特開２００２−４１４４９号公報
【００２２】
【発明が解決しようとする課題】
ところで、このような処理の破綻を回避する他の手段として、単純にＣＰＵモジュール２１０の演算処理速度（動作周波数）を上げてＣＰＵの演算時間を短縮する方法が考えられる。
【００２３】
しかしながら、ＣＰＵモジュールの演算処理速度を速くすると、ＲＡＭ／ＲＯＭなどのメモリ、各種データインタフェース、バス等の、ＣＰＵモジュールと同期して動作する構成要素もこれに対応させる必要があり、また、別途ソフトウエアの開発が必要となる場合もある。従って、ＣＰＵの演算処理速度を速くする場合は、ハードウエアの交換・調整やソフトウエアの開発に多大なコストが必要になるという問題点があった。更に、ソフトウエアの開発については、場合によっては極めて長い期間を要するという問題点があった。
【００２４】
こうした事情から、ＣＰＵモジュールの演算処理速度を単に上げるという手段を容易に選択することはできず、コストおよび期間の面でより制約のない別のアプローチが必要になる。
【００２５】
従って、この発明の目的は、ビデオプロセッサの機能アップや入力チャンネル数の増加があっても、ビデオデータに対する処理が破綻を来さないような信号処理装置および信号処理方法を提供することにある。
【００２６】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、受信したデータによるレジスタの更新結果に応じて所定の処理を実行する処理手段と、処理手段のためのデータを生成し、データを送信する複数の制御手段と、複数の制御手段のそれぞれに対応して設けられ、制御手段から送信されたデータを一時的に記憶する複数の記憶手段と、記憶手段を、少なくとも制御手段のデータ送信周期よりも短い周期で選択し、選択された記憶手段に記憶されているデータを、順次、処理手段に送信する切換手段とを有することを特徴とする信号処理装置である。
【００２７】
また、この発明は、受信したデータによるレジスタの更新結果に応じて所定の処理を実行する処理のステップと、処理のステップのためのデータを生成データを送信する複数の制御のステップと、複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、複数の制御のステップから送信されたデータを一時的にそれぞれ記憶する複数の記憶のステップと、記憶手段を、少なくとも制御のステップのデータ送信周期よりも短い周期で選択し、選択された記憶手段に記憶されているデータを、順次、処理のステップに送信する切換のステップとを有することを特徴とする信号処理方法である。
【００２８】
また、この発明は、受信したコマンドによるレジスタの更新結果に応じて所定の処理を実行する処理手段と、処理手段のためのデータを生成し、データを送信する複数の制御手段と、複数の制御手段のそれぞれに対応して設けられ、制御手段から送信されたデータを一時的に記憶する複数の記憶手段と、複数の記憶手段に対応して設けられ、複数の記憶手段内のデータ数をそれぞれ検出する検出手段と、検出手段により検出されたデータ数に基づき複数の記憶手段から１の記憶手段を選択し、選択された記憶手段に記憶されているデータを、少なくとも制御手段のデータ送信周期よりも短い周期で順次、処理手段に送信する切換手段とを有することを特徴とする信号処理装置である。
【００２９】
また、この発明は、受信したコマンドによるレジスタの更新結果に応じて所定の処理を実行する処理のステップと、処理のステップのためのデータを生成し、データを送信する複数の制御のステップと、複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、複数の制御のステップから送信されたデータを一時的にそれぞれ記憶する複数の記憶のステップと、複数の記憶手段に対応して設けられ、複数の記憶手段内のデータ数をそれぞれ検出する検出のステップと、検出のステップにより検出されたデータ数に基づき複数の記憶手段から１の記憶手段を選択し、選択された記憶手段に記憶されているデータを、少なくとも制御のステップのデータ送信周期よりも短い周期で順次、処理のステップに送信する切換のステップとを有することを特徴とする信号処理装置である。
【００３０】
上述したように、この発明は、複数のＣＰＵモジュールにより生成されたデータを複数のメモリにそれぞれ一時的に記憶し、メモリを少なくともＣＰＵモジュールによるデータ送信周期よりも短い周期で選択し、選択されたメモリに記憶されているデータを順次、プロセッサに送信するようにしているため、プロセッサに送信するデータを生成する負荷が複数のＣＰＵモジュールに分散される。
【００３１】
また、この発明は、複数のＣＰＵモジュールにより生成されたデータを複数のメモリにそれぞれ一時的に記憶し、複数のメモリにそれぞれ記憶されたデータ数を検出した結果に基づき複数のメモリから１を選択し、選択されたメモリに記憶されているデータを少なくともＣＰＵモジュールのデータ送信周期よりも短い周期で順次、プロセッサに送信するようにしているため、プロセッサに送信するデータを生成する負荷が複数のＣＰＵモジュールに対して適応的に分散できる。
【００３２】
【発明の実施の形態】
以下、この発明の実施の第１の形態を、図面を参照しながら説明する。図１は、この発明が適用できるディジタルマルチエフェクトシステムの一例の構成を示す。デジタルマルチエフェクトシステム１００は、メインバス１４０に接続されたメインＣＰＵ１１０、ビデオ処理部１７０Ａ、１７０Ｂおよび１７０Ｃ、ビデオＩ／Ｆ１３０を備える。メインＣＰＵ１１０には、操作パネル１５０が接続される。
【００３３】
図示は省略するが、操作パネル１５０は、複数のモニタなどの表示装置と、キーボード、スイッチ、ジョイスティックなどの入力装置を備える。複数のモニタは、テレビカメラなどから供給される映像や、このディジタルマルチエフェクトシステムで処理された映像をそれぞれ表示する。ユーザは、ディジタルマルチエフェクトシステム１００の操作パネル１５０に備えられたキーボードやスイッチなどを操作することで、テレビカメラなどから供給される複数の入力映像やＶＴＲにより再生された映像素材をどのように編集するかを指示する。ライブ映像の中継映像を提供するような場面においては、ユーザは、幾つかのテレビカメラの映像から必要なものを選択すると共に、操作パネル１５０のキーボードなどを操作して、選択された各映像に所望の処理を施す。
【００３４】
次に、図１を参照して、デジタルマルチエフェクトシステム１００の処理をより詳細に説明する。ここでは、テレビカメラからの映像や記録されている映像素材等から、複数チャンネルのデジタルビデオデータがディジタルマルチエフェクトシステム１００に対して入力されるものとする。
【００３５】
複数チャンネルのビデオデータがビデオＩ／Ｆ１３０に入力され、ビデオ処理部１７０Ａ、１７０Ｂおよび１７０Ｃにそれぞれ転送される。ビデオデータの転送は、例えば、ビデオＩ／Ｆ１３０からビデオ処理部１７０との間にチャンネル毎に設けられた信号線１６０を介して行われる。なお、図１では、信号線１６０は、ビデオＩ／Ｆ１３０とビデオ処理部１７０Ｂとの間だけが示されており、他は省略されている。
【００３６】
一方、ユーザによって、操作パネル１５０の入力装置によりどのチャンネルのビデオデータにどのような処理を施すのかといった編集指示がなされ、この指示がメインＣＰＵ１１０に送信される。メインＣＰＵ１１０は、この編集指示の内容に基づいて、ビデオデータを処理するビデオ処理部をビデオ処理部１７０Ａ、１７０Ｂおよび１７０Ｃの中から選択し（例えばビデオ処理部１７０Ｂ）、選択されたビデオ処理部１７０ＢとビデオＩ／Ｆ１３０との間のビデオデータの転送と、当該ビデオ処理部１７０Ｂにおけるビデオデータの処理動作を制御する。この制御は、例えばメインＣＰＵ１１０からビデオ処理部１７０およびビデオＩ／Ｆ１３０に対して、バス１４０を介して制御データを送信することにより行われる。
【００３７】
ビデオ処理部１７０は、信号線１６０を介してビデオＩ／Ｆ１３０からビデオデータを受信すると、そのビデオデータに対して指示されている処理を施して出力する。この出力は、信号線１６０を介してビデオＩ／Ｆ１３０に送信され、出力ビデオデータとしてディジタルマルチエフェクトシステム１００の外部に出力される。ディジタルマルチエフェクトシステム１００内部におけるこれらのビデオデータの送受信は、上述したように、チャンネル毎に設けられた信号線１６０を介して個別に行われる。
【００３８】
図２は、この発明の実施の第１の形態によるビデオ処理部の一例の構成を示す。図２において、ビデオ処理部１は、上述の図１に示されるビデオ処理部１７０Ａ、１７０Ｂおよび１７０Ｃにそれぞれ対応する。ビデオプロセッサ３は、上述の従来の技術で説明したビデオプロセッサ２３０と同等のもので、入力されたビデオデータに対して、レジスタに設定されたフィルタ係数に応じて処理を施す。また、詳細は後述するが、ビデオプロセッサ３は、複数チャンネルのビデオデータを並列的に入力してそれぞれ処理を行うことができる。
【００３９】
ビデオ処理部１は、このように構成されるため、従来技術で説明したビデオ処理部１２０と共通のインタフェースを多く有している。したがって、ソフトウエアの基本アーキテクチャ等を変更せずに、従来のビデオ処理部１２０をこの発明のビデオ処理部１に置き換えることによって、この発明の効果を奏するディジタルマルチエフェクトシステムが容易に構成されうる。
【００４０】
ビデオ処理部１は、レジスタバス２にそれぞれ接続されたビデオプロセッサ３およびバスＩ／Ｆ４を有し、バスＩ／Ｆ４には、さらに、ローカルバス８およびローカルバス１２が並列的に接続される。
【００４１】
ローカルバス８には、ＲＡＭ／ＲＯＭ５、ＣＰＵモジュール６、およびＩ／Ｏポート７が接続される。ＲＡＭ／ＲＯＭ５は、ＣＰＵモジュール６によって使用されるプログラム等を記憶し、また、必要に応じて実行時に使用されるデータを一時的に記憶する。Ｉ／Ｏポート７は、図１におけるメインＣＰＵ１１０との間で制御データのやりとりを行う。さらに、制御データは、ローカルバス８を介して、Ｉ／Ｏポート７とＣＰＵモジュール６との間でやりとりされる。
【００４２】
ローカルバス１２も、ローカルバス８と同様の構成とされる。すなわち、ローカルバス１２に対して、ＲＡＭ／ＲＯＭ９、ＣＰＵモジュール１０およびＩ／Ｏポート１１が接続され、Ｉ／Ｏポート１１とメインＣＰＵ１１０との間で制御データがやりとりされる。さらに、制御データは、ローカルバス１２を介して、Ｉ／Ｏポート１１とＣＰＵモジュール１０との間でやりとりされる。
【００４３】
なお、この例では、ローカルバス８およびレジスタバス２の間の双方向性、ならびに、ローカルバス１２およびレジスタバス２の間の双方向性は確保されるが、ローカルバス８および１２間でのデータのやりとりは想定されない。また、この例では、レジスタバス２、ローカルバス８、１２のバス幅は、例えば３２ビットとされる。なお、この発明によるシステムの前提条件として、ビデオプロセッサ３に対するレジスタのアクセスによるバスの占有率は、単位フレーム時間に対して低いものとする。これは、後述するこの発明の実施の第１の形態の変形例および実施の第２の形態においても、同様である。
【００４４】
ビデオプロセッサ３に対して、図１のビデオＩ／Ｆ１３０からビデオデータが入力される。また、ビデオプロセッサ３から出力されたビデオデータは、ビデオＩ／Ｆ１３０に供給される。また、ＣＰＵモジュール６および／または１０で生成されたフィルタ係数がバスＩ／Ｆ４を介してレジスタバス２に供給され、ビデオプロセッサ３のレジスタに所定に設定される。バスＩ／Ｆ４は、ローカルバス８、１２とレジスタバス２とを接続するブリッジのような役割を担う。
【００４５】
なお、上述したように、ローカルバス８とローカルバス１２との間では、基本的にデータのやり取りは発生しない。したがって、メインＣＰＵ１１０は、ＣＰＵモジュール６、１０を制御する上位のＣＰＵに相当する。メインＣＰＵ１１０によって、このビデオ処理部１におけるＣＰＵモジュール６および１０間での動的な最適化が図られる。
【００４６】
図３は、ビデオプロセッサ３の一例の構成を示す。ビデオプロセッサ３は、例えばＤＳＰからなる演算器３００を備えると共に、多重装置３１０および分離装置３２０を有している。図３の例では、第１チャンネルから第４チャンネルまでの、４チャンネル分のビデオデータが独立的に多重装置３１０に入力される。多重装置３１０は、パラレルに提供された上記第１チャンネルから第４チャンネルまでのビデオデータを時分割多重してシリアルに演算器３００に渡す。
【００４７】
演算器３００には、レジスタバス２が接続され、上述の図２で示したＣＰＵモジュール６および１０で生成されたフィルタ係数がレジスタバス２を介して供給される。フィルタ係数は、演算器３００のレジスタに所定に設定される。
【００４８】
演算器３００は、レジスタに設定されたフィルタ係数の内容に従って、時分割多重された第１チャンネルから第４チャンネルのうちの何れかのチャンネルのビデオデータに対して、例えば、１フレームまたは１ラインなどの単位で処理を施す。第１〜第４チャンネルそれぞれのビデオデータが入力されるタイミングに従って演算器３００に設定するフィルタ係数を入れ替えることで、チャンネル毎の独立的な処理を実現することができる。こうして得られた各チャンネルのビデオデータは、分離装置３２０で元のチャンネル単位に組み立てられ、第１チャンネルから第４チャンネルのビデオデータとして独立的に出力される。
【００４９】
次に、この発明の実施の第１の形態によるビデオ処理部１の動作について、より具体的に説明する。ＣＰＵモジュール６、ＣＰＵモジュール１０は、ビデオデータに対する処理の機能毎および／またはチャンネル毎に負荷が分散される。チャンネル毎に負荷分散がなされる場合、例えば、ビデオプロセッサ３に４チャンネル分のビデオデータが入力されていると仮定すると、第１チャンネルと第３チャンネルに対してなされる処理のためのフィルタ係数の演算は、ＣＰＵモジュール６が行い、第２チャンネルと第４チャンネルに対してなされる処理のためのフィルタ係数の演算は、ＣＰＵモジュール１０が行うように制御することが可能である。このような負荷分散についての制御は、メインＣＰＵ１１０からの制御データによって行われる。
【００５０】
バスＩ／Ｆ４は、ローカルバス８、１２とビデオプロセッサ３との接続を一定周期で交互に切り換えることによって、ＣＰＵモジュール６およびＣＰＵモジュール１０から出力される、ビデオプロセッサ３に対する命令（例えばフィルタ係数をレジスタに設定するためのライトコマンド）を、交互にビデオプロセッサ３に供給する。その結果、ビデオプロセッサ３は、ＣＰＵモジュール６からのコマンドとＣＰＵモジュール１０からのコマンドを交互に受け取ってレジスタに設定し、設定されたレジスタの内容に基づく処理を、入力されたビデオデータに対して繰り返し実行する。
【００５１】
図４は、この実施の第１の形態によるフレーム毎の処理時間を表した一例のタイミングチャートである。この図４で示される第１フレーム１〜第４フレームの各フレーム画像に対する処理内容は、上述した図１０に示すものと同様であるものとする。ここで、図４Ａに示されるように、１フレーム周期が時間ｔであるとする。図４Ｂは、ビデオデータの第１フレームから第４フレームまでのフレーム画像に対して処理を施す場合に、ＣＰＵモジュール６および１０による必要なフィルタ係数の生成やレジスタ設定などの処理が、それぞれ１フレーム周期ｔ内に完了している例である。
【００５２】
図４Ｃは、ビデオプロセッサ３の機能アップや、入力チャンネル数が増加した場合を想定している。この実施の第１の形態では、２つのＣＰＵモジュール６および１０を備えるビデオ処理部１を使用してＣＰＵモジュール６および１０に負荷を分散した結果、各ＣＰＵモジュール６および１０の処理時間を１フレーム周期内に収めることができる。
【００５３】
次に、この実施の第１の形態におけるバスＩ／Ｆ４の構成、ならびに、ビデオプロセッサ３、バスＩ／Ｆ４およびＣＰＵモジュール６、１０間の動作について、図５および図６を参照して、より詳細に説明する。
【００５４】
図５は、バスＩ／Ｆ４の一例の構成をより詳細に示すと共に、バスＩ／Ｆ４とＣＰＵモジュール６および１０との接続、ならびに、バスＩ／Ｆ４とビデオプロセッサ３との接続を示す。
【００５５】
なお、以下において、ローカルバス８および１２は、それぞれＣＰＵモジュール６および１０の出力するクロックに同期したバスである。また、レジスタバス２も、クロックに同期したバスである。レジスタバス２のクロックは、ＣＰＵモジュール６およびＣＰＵモジュール１０の何れか一方のクロックに同期される。以下では、レジスタバス２のクロックがＣＰＵモジュール６のクロックに同期しているものとする。
【００５６】
バスＩ／Ｆ４は、バススイッチ１５、アドレスデコーダ１６、ライトＦＩＦＯ１７、リードＦＩＦＯ１８、アドレスデコーダ１９、ライトＦＩＦＯ２０、リードＦＩＦＯ２１、およびレジスタバスＩ／Ｆ２２を備える。
【００５７】
ＣＰＵモジュール６側から説明する。ＣＰＵモジュール６からアドレス（１）データおよびリード／ライトコマンドが出力され、ローカルバス８を介してアドレスデコーダ１６に供給される。また、ＣＰＵモジュール６とアドレスデコーダ１６との間で、ローカルバス８を介してデータのやりとりがなされる。ＣＰＵモジュール６から出力されるデータは、例えばビデオプロセッサ３のレジスタに設定するためのフィルタ係数である。
【００５８】
ライト／リードコマンドは、アドレスデコーダ１６で解釈され、ビデオプロセッサ３に対するアクセスであれば、アドレス（１）データおよびデータ（１）と共に、先入れ先出し方式（Ｆａｓｔ−Ｉｎ  Ｆａｓｔ−Ｏｕｔ）のメモリであるライトＦＩＦＯ１７に書き込まれる。このとき、アドレス（１）データは、例えばビデオプロセッサ３のレジスタを指定するためのアドレスである。
【００５９】
ＣＰＵモジュール１０側も、ＣＰＵモジュール６側と同様である。すなわち、ＣＰＵモジュール１０から出力されたアドレス（２）データおよびリード／ライトコマンドは、ローカルバス１２を介してアドレスデコーダ１９に供給されると共に、ＣＰＵモジュール１０とアドレスデコーダ１９との間で、ローカルバス１２を介してデータのやりとりがなされる。リード／ライトコマンドは、アドレスデコーダ１９で解釈され、ビデオプロセッサ３に対するアクセスであれば、アドレス（２）データおよびデータ（２）と共に、ライトＦＩＦＯ２０に書き込まれる。
【００６０】
バススイッチ１５では、ライトＦＩＦＯ１７から供給されたアドレス（１）データ、リード／ライトコマンドおよびデータ（１）と、ライトＦＩＦＯ２０から供給されたアドレス（２）データ、リード／ライトコマンドおよびデータ（２）とを所定の周期で切り換え、交互に出力する。
【００６１】
このとき、バススイッチ１５により、ライトＦＩＦＯ１７または２０から読み出されたアドレスデータ、リード／ライトコマンドおよびデータは、ＣＰＵモジュール６のクロックに同期させてレジスタバス２側に転送される。また、バスＩ／Ｆ４では、ローカルバス８および１２からの制御を時間方向に圧縮させて、ビデオプロセッサ３に対して出力する。これにより、レジスタバス２におけるローカルバス８および１２への時間的な影響を無くしている。
【００６２】
例えば、レジスタバス２のクロック周波数を、ＣＰＵモジュール６のクロック周波数よりも高くする。このレジスタバス２のクロック周波数に基づきバススイッチ１５を交互に切り換え、ライトＦＩＦＯ１７および２０から交互にデータを読み出す。好適な例として、レジスタバス２のクロック周波数を、ＣＰＵモジュール６のクロック周波数の２倍とし、このタイミングでバススイッチ１５を切り換えると共にライトＦＩＦＯ１７および２０から交互にデータを読み出す。
【００６３】
バススイッチ１５から出力されたアドレスデータ、リード／ライトコマンドおよびデータは、レジスタバスＩ／Ｆ２２に供給される。アドレスデータ、リード／ライトコマンドおよびデータは、レジスタバスＩ／Ｆ２２からレジスタバス２を介してビデオプロセッサ３に供給される。ビデオプロセッサ３では、例えば、コマンドがライトコマンドであれば、アドレスデータにより指定されるレジスタに対してデータ（フィルタ係数）を設定する。
【００６４】
ビデオプロセッサ３に供給されるコマンドがリードコマンドであれば、例えば、ビデオプロセッサ３からアドレスで指定されたレジスタからデータが読み出され、レジスタバス２を介してレジスタバスＩ／Ｆ２２に供給される。このデータは、レジスタバスＩ／Ｆ２２からバススイッチ１５に供給され、所定に切り換えられ例えばデータ（１）としてリードＦＩＦＯ１８に書き込まれる。データ（１）は、リードＦＩＦＯ１８から読み出され、アドレスデコーダ１６およびローカルバス８を介してＣＰＵモジュール６に供給される。
【００６５】
ＣＰＵモジュール１０側でも同様に、バススイッチ１５からデータ（２）として出力され、リードＦＩＦＯ２１に書き込まれる。データ（２）は、リードＦＩＦＯ２１から読み出され、アドレスデコーダ１９およびローカルバス１２を介してＣＰＵモジュール１０に供給される。
【００６６】
なお、上述において、バススイッチ１５、レジスタバスＩ／Ｆ２２およびビデオプロセッサ３は、同期して動作する。一方、ＣＰＵモジュール６およびアドレスデコーダ１６と、ＣＰＵモジュール１０およびアドレスデコーダ１９は、互いに非同期とすることができる。ＣＰＵモジュール６およびアドレスデコーダ１６と、ＣＰＵモジュール１０およびアドレスデコーダ１９の組から非同期に送信されるコマンドなどは、ライトＦＩＦＯ１７、２０を用いてタイミングの調整がなされ、バススイッチ１５、レジスタバスＩ／Ｆ２２、およびビデオプロセッサ３の組と同期が取られる。
【００６７】
この図５の例では、リード／ライトコマンドなどを一時的に格納する待ち行列としてＦＩＦＯが用いられている。この実施の第１の形態のように、要求順に処理が行われていくようなケースでは、ＦＩＦＯのような先入れ先出し方式が一般的であるが、更新順序その他の事情により、他の方式を使用することも可能である。
【００６８】
ＣＰＵモジュール６からリードコマンドが発行される場合、アドレス（１）データは、例えばビデオプロセッサ３のレジスタを指定する。リードコマンドの応答データは、ビデオプロセッサ３のアドレス（１）データで指定されたレジスタから読み出されたデータがレジスタバスＩ／Ｆ２２およびバススイッチ１５を介してリードＦＩＦＯ１８に書き込まれる。その後、その応答データは、アドレスデコーダ１６を介してＣＰＵモジュール６に供給される。こうしたリードコマンドは、例えば、頻繁に更新されるＦＰＧＡのバージョン情報を読み取る命令であったり、処理対象のビデオデータの一部をサンプルするための命令であったりする。なお、バススイッチ１５は、リードコマンドをビデオプロセッサ３に送信した後、ホールド状態となる。
【００６９】
図６は、ローカルバス８、１２およびレジスタバス２における、リード／ライトコマンドの転送タイミングを示す一例のタイミングチャートである。図６Ａおよび図６Ｂは、それぞれローカルバス８および１２におけるタイミングを示し、図６Ｃは、レジスタバス２におけるタイミングを示す。
【００７０】
図６において、ローカルバス８からのライトコマンドＣ１−１、Ｃ１−２、およびローカルバス１２からのライトコマンドＣ２−１、Ｃ２−２、リードコマンドＣ２−３までは、ライトＦＩＦＯ１７、２０に書き込まれた順序で、レジスタバス２に時間圧縮されて出力される。また、上述のように、リードコマンドＣ２−３のようなコマンドが発生すると、ローカルバス１２側にはウエイト信号が出力されて、バススイッチ１５の動作がホールドされる。
【００７１】
リードコマンドＣ２−３は、ビデオプロセッサ３で処理される。当該リードコマンドＣ２−３による処理の結果得られた応答データがビデオプロセッサ３から取り出され、レジスタバス２、レジスタバスＩ／Ｆ２２、バススイッチ１５、リードＦＩＦＯ２１、アドレスデコーダ１９およびローカルバス１２を介してＣＰＵモジュール１０に転送される。
【００７２】
リードコマンドＣ２−３に対する応答データがレジスタバス２に現れるまで、ローカルバス８側からのリード／ライトコマンドは、ライトＦＩＦＯ１７に溜め込まれる。リードコマンドＣ２−３に対する応答データがレジスタバス２に現れると上述したバススイッチ１５の動作のホールドが解除されるので、その後、ライトＦＩＦＯ１７、２０から、順次レジスタバス２にリード／ライトコマンドが転送される。
【００７３】
このとき、レジスタバス２側の最小コマンドサイクルと、ローカルバス８、１２からのリードコマンドとライトコマンドの発生頻度によって、ローカルバス８、１２側のコマンドサイクルと最低限必要なライトＦＩＦＯ１７、２０の深さ（容量）を見積もることができる。
【００７４】
ここで、レジスタバス２における処理タイミングを、図６Ｃのタイミングチャートに沿って説明する。レジスタバス２の最初のコマンドサイクルＣＳ１の時点においては、ローカルバス８、ローカルバス１２共に、ライトコマンド（Ｃ１−１、Ｃ２−１）、アドレス、およびデータの転送を完了しておらず、処理を行わない（ノーオペレーション（ＮＯＰ））。次のコマンドサイクルＣＳ２においては、ローカルバス８からライトコマンドＣ１−１が、ローカルバス１２からライトコマンドＣ２−１が転送され、それぞれライトＦＩＦＯ１７、２０に、アドレスおよびデータと共に書き込まれる。この時点でバススイッチ１５が、最初にライトＦＩＦＯ２０のコマンドの方をレジスタバス２に供給するものとすると、図のように、コマンドサイクルＣＳ２では、ライトコマンドＣ２−１がアドレスおよびデータと共にレジスタバス２に転送される。
【００７５】
次のコマンドサイクルＣＳ３においては、バススイッチ１５が切り換えられ、ライトＦＩＦＯ１７から、ライトコマンドＣ１−１が、アドレス（１）データおよびデータ（１）と共にレジスタバス２に転送される。
【００７６】
コマンドサイクルＣＳ４においては、ＣＳ２の場合と同様に、ライトＦＩＦＯ１７、２０にコマンドＣ２−２およびＣ１−２が記憶されており、コマンドＣ２−２および対応するアドレス（１）データおよびデータ（１）がレジスタバス２に転送され、以降同様の処理が繰り返される。
【００７７】
レジスタバス２が、コマンドサイクルＣＳ６でリードコマンドを受け取ると、上述のようにレジスタバス２の動作はホールドされるので、ビデオプロセッサ３からリードコマンドの応答があるまで、レジスタバス２は、新たなコマンドを受け取らない。
【００７８】
リードコマンドの応答がビデオプロセッサ３からあった時点で、ライトＦＩＦＯ１７にはライトコマンドＣ１−３、Ｃ１−４、Ｃ１−５が記憶されており、ライトＦＩＦＯ２０には何も記憶されていない。ここで、コマンドサイクルＣＳ７においては、ライトＦＩＦＯ１７から転送が行われるので、ライトコマンドＣ１−３とアドレスデータがレジスタバス２に提供される。次のコマンドサイクルＣＳ８では、バススイッチ１５がライトＦＩＦＯ２０からレジスタバス２への転送を行うよう試みるが、この時点では、まだローカルバス１２からコマンドＣ２−４、アドレスおよびデータの転送が完了しておらず、レジスタバス２はＮＯＰとなる。
【００７９】
コマンドサイクルＣＳ９以降は、ライトＦＩＦＯ１７、２０から交互にライトコマンド、アドレス、およびデータがレジスタバス２に転送される。
【００８０】
上述のこの発明の実施の第１の形態では、２つのＣＰＵモジュール６、１０を有するように構成しているように説明したが、これはこの例に限らず、例えばＣＰＵモジュールを３つ以上有するように構成することも可能である。
【００８１】
図７は、上述した実施の第１の形態の変形例による、３以上のＣＰＵモジュールを有するビデオ処理部の一例の構成を示す。バスＩ／Ｆ２５には、３以上のローカルバス２４Ａ、２４Ｂ、２４Ｃ、・・・が接続されており、その点で図２に示すビデオ処理部１の構成と異なる。処理を指定する対象となるビデオプロセッサ３に対して、複数個のＣＰＵモジュール２２Ａ、２２Ｂ、２２Ｃ、・・・を設け、これらのＣＰＵモジュール２２Ａ、２２Ｂ、２２Ｃ、・・・がそれぞれ接続されるローカルバス２４Ａ、２４Ｂ、２４Ｃ、・・・とビデオプロセッサ３との間を、バスＩ／Ｆ２５で接続する。なお、ビデオプロセッサ３は、上述の実施の第１の形態で用いたものと同様のものを用いることができる。
【００８２】
バスＩ／Ｆ２５は、上述の図５に示されるバスＩ／Ｆ４の構成を参照して、ローカルバス２４Ａ、２４Ｂ、２４Ｃ、・・・にそれぞれ対応するアドレスデコーダ、ライトＦＩＦＯ、リードＦＩＦＯをそれぞれ有し、ローカルバス２４Ａ、２４Ｂ、２４Ｃ、・・・にそれぞれ対応するライトＦＩＦＯ、リードＦＩＦＯを切り換えるバススイッチを有する。バススイッチは、レジスタバス２６を介してビデオプロセッサ３と接続される。
【００８３】
バスＩ／Ｆ２５は、上述の図示されないバススイッチにより、これらローカルバス２４Ａ、２４Ｂ、２４Ｃ、・・・にそれぞれ対応する各ＦＩＦＯとレジスタバス２６との接続を周期的に切り換え、各ＦＩＦＯ内のデータが均等にビデオプロセッサ３に提供されるようにする。これと同時に、レジスタバス２６において最適のタイミングとなるように、コマンドサイクルを時間的に圧縮する。
【００８４】
また、バスＩ／Ｆ２５内のＦＩＦＯおよびバススイッチは、図５で説明したように、双方向のデータ切り換えに対応できる構成とする。これによって、ＣＰＵモジュール２２Ａ、２２Ｂ、２２Ｃ、・・・からビデオプロセッサ３に対する、図５を用いて説明したようなリード／ライト動作が実現できる。
【００８５】
この実施の第１の形態の変形例においては、バスＩ／Ｆ２５のバススイッチの切り換え周期およびレジスタバス２６のクロック周波数を短縮し、これに合わせてビデオプロセッサ３のクロック周波数を上げれば、より多くのＣＰＵモジュールを接続することができる。
【００８６】
次に、この発明の実施の第２の形態について、図８を参照して説明する。この実施の第２の形態では、バススイッチの切り換え方式を、上述の実施の第１の形態のような周期的なものではなく、動的なものとする。この構成は、ＦＩＦＯに記憶されたローカルバス側からのリード／ライトコマンドの量によって、バススイッチ１５の切り換えを制御し、２つのローカルバス間で、リード／ライトコマンドの待ち時間を同等にしようとするものである。
【００８７】
図８は、実施の第２の形態におけるバスＩ／Ｆ４’の一例の構成をより詳細に示すと共に、バスＩ／Ｆ４’とＣＰＵモジュール６および１０との接続、ならびに、バスＩ／Ｆ４’とビデオプロセッサ３との接続を示す。なお、図８において、上述の図５と共通する部分には同一の符号を付し、詳細な説明を省略する。この実施の第２の形態による構成は、基本的には、上述の実施の第１の形態において図５に示した、ＣＰＵモジュール６および１０、バスＩ／Ｆ４、およびビデオプロセッサ３からなる構成と同様である。
【００８８】
この実施の第２の形態では、図５のバスＩ／Ｆ４に対応するバスＩ／Ｆ４’において、リクエストカウンタ３３、３７が新たに設けられている。リクエストカウンタ３３および３７は、それぞれ、ライトＦＩＦＯ１７および２０内に保持されているデータ数を逐次検出する。
【００８９】
例えば、アドレスデコーダ１６からライトＦＩＦＯ１７へリード／ライトコマンドを転送する際には、リクエストカウンタ３３の内容が例えば１だけカウントアップされる。一方、リード／ライトコマンドがライトＦＩＦＯ１７からレジスタバス２側に転送された場合には、リクエストカウンタ３３の内容が、例えば１だけ減じられる。同様に、アドレスデコーダ１９からライトＦＩＦＯ２０へリード／ライトコマンドを転送する際には、リクエストカウンタ３７の内容が例えば１だけカウントアップされる。また、リード／ライトコマンドがライトＦＩＦＯ２０からレジスタバス２側に転送された場合には、リクエストカウンタ３７の内容が、例えば１だけ減じられる。このようにすることで、リクエストカウンタ３３および３７を用いて、ライトＦＩＦＯ１７および２０内のデータ数の逐次検出が可能である。
【００９０】
勿論、ライトＦＩＦＯ１７および２０内のデータ数を、他の方法によって検出してもよい。例えば、クロックに基づきライトＦＩＦＯ１７および２０にアクセスし、書き込まれているデータ数を検出するようにできる。
【００９１】
上述の実施の第１の形態では、バススイッチ１５は、複数のライトＦＩＦＯ１７および２０とレジスタバス２との接続を、単に周期的に切り換えていた。この実施の第２の形態では、バススイッチ１５’は、上述のリクエストカウンタ３３および３７によるライトＦＩＦＯ１７および２０内のデータ数の検出結果に基づき、バススイッチ１５’の切り換えタイミングを動的に制御する。これにより、ローカルバス８および１２のコマンドの待ち数を均一化する。
【００９２】
より具体的には、リクエストカウンタ３３の値（カウント値（１）とする）およびリクエストカウンタ３７の値（カウント値（２）とする）を読み込み、両者を比較する。比較の結果、カウント値（１）＞＝カウント値（２）の場合は、ライトＦＩＦＯ１７とレジスタバスＩ／Ｆ２２’との間を接続するようにバススイッチ１５’を制御し、それ以外の場合は、ライトＦＩＦＯ２０とレジスタバスＩ／Ｆ２２’との間を接続するようにバススイッチ１５’を制御する。カウント値（１）、カウント値（２）は、それぞれライトＦＩＦＯ１７、ライトＦＩＦＯ２０におけるリード／ライトコマンドの待ち数を意味する。
【００９３】
リードコマンドを受け付けた場合は、上述の実施の第１の形態の場合と同様、バススイッチ１５’をホールドさせる。
【００９４】
ここで、バススイッチ１５’は、それ自身が、上述のカウント値（１）とカウント値（２）を読み込み、それらを比較して接続先の判断を行うようにプログラムされ得る。これはこの例に限らず、図１に示したメインＣＰＵ１１０によってこのような接続制御処理が行われるように構成することもできる。
【００９５】
なお、上述では、この発明がディジタルマルチエフェクトシステムのビデオ処理部に対して適用されるように説明したが、この発明はこの例に限定されるものではない。例えば、この発明は、こうしたフレーム画像に対する処理を行う構成に限られず、信号を入力して一定の処理を行うプロセッサに広く適用することが可能である。
【００９６】
【発明の効果】
この発明によれば、画像に特殊効果処理などを施すためのパラメータの演算、生成を、複数のＣＰＵモジュールで分散して処理することができるため、ＣＰＵモジュールに対する負荷がより高くなるような場合でも、１フレーム周期内に処理を完了させることが可能となるという効果がある。
【００９７】
また、この発明によるビデオ処理部の変更を行っても、同一性能のＣＰＵモジュールを増設し、従来のビデオプロセッサをそのまま使用するため、ビデオプロセッサの機能アップや入力チャンネル数の増加があった場合でも、ソフトウエアの基本アーキテクチャに変更を加えることなく、システム全体の処理速度を向上させることができ、その結果、経済的、かつ短期にビデオプロセッサの機能アップ等に対応することができる効果がある。
【００９８】
さらに、この発明の実施の第２の形態によれば、複数のＣＰＵモジュールからのリクエストに応じてバススイッチの切り換えタイミングを適応的に制御できるので、より効率的な処理が可能となるという効果がある。
【図面の簡単な説明】
【図１】この発明が適用できるディジタルマルチエフェクトシステムの一例の構成を示すブロック図である。
【図２】この発明の実施の第１の形態によるビデオ処理部の一例の構成を示すブロック図である。
【図３】ビデオプロセッサの一例の構成を示すブロック図である。
【図４】この実施の第１の形態によるフレーム毎の処理時間を表した一例のタイミングチャートである。
【図５】バスＩ／Ｆの一例の構成をより詳細に示すと共に、バスＩ／Ｆと２つのＣＰＵモジュールとの接続、ならびに、バスＩ／Ｆとビデオプロセッサとの接続を示す略線図である。
【図６】２つのローカルバスおよびレジスタバスにおけるリード／ライトコマンドの転送タイミングを示す一例のタイミングチャートである。
【図７】実施の第１の形態の変形例による、３以上のＣＰＵモジュールを有するビデオ処理部の一例の構成を示すブロック図である。
【図８】実施の第２の形態におけるバスＩ／Ｆの一例の構成をより詳細に示すと共に、バスＩ／Ｆと２つのＣＰＵモジュールとの接続、ならびに、バスＩ／Ｆとビデオプロセッサとの接続を示す略線図である。
【図９】従来の技術によるビデオ処理部の一例の構成を示すブロック図である。
【図１０】ＣＰＵモジュールの処理時間をフレーム毎に示す一例のタイミングチャートである。
【符号の説明】
１・・・ビデオ処理部、２・・・レジスタバス、３・・・ビデオプロセッサ、４・・・バスＩ／Ｆ、５、９・・・ＲＡＭ／ＲＯＭ、６、１０・・・ＣＰＵモジュール、７、１１・・・Ｉ／Ｏポート、８、１２・・・ローカルバス、１７、２０・・・ライトＦＩＦＯ
【図１】
2004326215.tif 000003
【図２】
2004326215.tif 000004
【図３】
2004326215.tif 000005
【図４】
2004326215.tif 000006
【図５】
2004326215.tif 000007
【図６】
2004326215.tif 000008
【図７】
2004326215.tif 000009
【図８】
2004326215.tif 000010
【図９】
2004326215.tif 000011
【図１０】
2004326215.tif 000012