JP2004326215A - Signal processor and signal processing method - Google Patents
Signal processor and signal processing method Download PDFInfo
- Publication number
- JP2004326215A JP2004326215A JP2003116497A JP2003116497A JP2004326215A JP 2004326215 A JP2004326215 A JP 2004326215A JP 2003116497 A JP2003116497 A JP 2003116497A JP 2003116497 A JP2003116497 A JP 2003116497A JP 2004326215 A JP2004326215 A JP 2004326215A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal processing
- bus
- video
- processing
- 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.)
- Abandoned
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、複数のCPUを用いて映像信号を処理する信号処理装置および信号処理方法に関する。
【0002】
【従来の技術】
放送局やプロダクションは、放送用の映像等を編集するために、業務用画像エフェクタを備えた編集室を設けていることが多い。業務用画像エフェクタは、テレビカメラで得られるライブ映像や、既に記録されている映像等に対して、画像の拡大、縮小処理といった特殊効果処理を施すなどの編集、加工を行う機器である。
【0003】
放送局等では、この業務用画像エフェクタによって編集、加工された映像に他の映像を組み合わせ、更にCG(Computer Graphics)画像やサウンドを付加するなどして放送用の映像を作成する。例えば、テレビカメラから得られた映像を拡大または縮小したものを他の映像にはめ込み、更にその映像にテロップを挿入することによって、放送用の映像を作成する。
【0004】
こうした映像処理は、例えば、ライブ中継で複数のテレビカメラからの映像を同時に一画面に出力するように編集して、一度に多くの情報を伝えると共に、現場の臨場感を持たせることができる。また、映像に様々な特殊効果処理を施し、更にCG映像等を挿入することによって、番組の表現にバリエーションを持たせることも可能である。
【0005】
上記業務用画像エフェクタとして使用されるものにディジタルマルチエフェクトシステムがある。このシステムは、ディジタル映像信号について、特殊効果処理を施す等の編集、加工を行うものであり、複数の入力映像について並列的かつリアルタイムに処理することができる。
【0006】
また、ディジタルマルチエフェクトシステムは、映像信号経路の切り換えを行うスイッチャと組み合わされ、ディジタルマルチエフェクトスイッチャとして利用されることもある。
【0007】
ディジタルマルチエフェクトシステムは、複数のモニタなどの表示装置と、キーボード、スイッチ、ジョイスティックなどの入力装置を備え、ユーザの入力装置に対する操作に応じて、テレビカメラなどから送信されてくる入力映像や、VTR(Video Tape Recorder)などで再生された映像素材といった、複数の映像信号を用いて編集処理を行う。
【0008】
ディジタルマルチエフェクトシステムでは、この編集作業の際に、例えば画像の拡大、縮小処理といった特殊効果処理を、映像信号に対して施すことができる。この特殊効果処理は、例えばビデオプロセッサを用いて行われる。一例として、ユーザの入力装置に対する操作に応じてCPU(Central Processing Unit)から制御信号が出力され、この制御信号によりビデオプロセッサが制御され、入力された映像信号に対して所定の処理がなされる。ビデオプロセッサは、例えばDSP(Digital Signal Processor)からなり、レジスタに係数を設定することで、入力された信号に対して所望の処理を施すようにされている。
【0009】
図9は、このような、入力された映像信号に対してビデオプロセッサを用いて特殊効果などを施すようにされた、従来の技術によるビデオ処理部120の一例の構成を示す。このビデオ処理部120は、例えば上述のディジタルマルチエフェクトシステムに組み込まれて用いられる。
【0010】
ビデオ処理部120は、RAM/ROM200、CPUモジュール210、I/Oポート220およびビデオプロセッサ230を有し、それぞれがローカルバス240に接続され、互いにデータのやりとりなどが可能なようにされている。RAM/ROM200は、CPUモジュール210によって使用されるプログラム等を記憶し、また、必要に応じて実行時に使用されるデータを一時的に記憶する。
【0011】
また、I/Oポート220は、外部との制御データのやりとりを行う。例えばこのビデオ処理部120が組み込まれるディジタルマルチエフェクトシステムの全体を制御するメインCPUから、ユーザの入力装置に対する操作に応じて生成された制御データが、I/Oポート220を介して入力され、CPUモジュール210に供給される。
【0012】
一方、処理されるべきビデオデータは、ビデオプロセッサ230に入力される。ビデオプロセッサ230は、レジスタに設定されたフィルタ係数に応じた処理を、入力されたビデオデータに対して施す。例えば、上述のI/Oポート220を介して供給された制御データに基づきCPUモジュール210でフィルタ係数が生成され、ビデオプロセッサ230に設定される。ビデオプロセッサ230に入力されたビデオデータは、ビデオプロセッサ230で、設定されたフィルタ係数に応じた処理を施され、出力される。
【0013】
すなわち、ビデオプロセッサ230では、CPUモジュール210によるレジスタ設定によってビデオデータの出力が変化する。この処理をフレーム周期内で実行することで、ビデオプロセッサ230による画像処理が実現される。
【0014】
ここで、ビデオ処理部120は、複数チャンネルのビデオデータに対して並列的に処理を行うことが可能とされる。例えば、ビデオ処理部120が4チャンネルのビデオデータ入力に対応可能であるとすると、並列的に入力された4チャンネルのビデオデータは、4チャンネル分のフレームが1フレームの期間内に収まるようにそれぞれ時間方向に圧縮され、1チャンネルのデータに時分割多重されてビデオプロセッサ230に供給される。CPUモジュール210は、1フレームの期間内に時分割多重された4チャンネルのビデオデータそれぞれに対するフィルタ係数を、それぞれのチャンネルに同期するように切り換えながら、ビデオプロセッサ230のレジスタに設定する。ビデオプロセッサ230では、供給されたビデオデータに対してレジスタに設定されたフィルタ係数に応じた処理を施し、出力する。出力されたビデオデータは、時分割多重を解かれ、再び元の4チャンネルのビデオデータに組み立て直されて、チャンネル毎個別に出力される。
【0015】
ここで、ビデオプロセッサ230から出力されたビデオデータが正常に再生できるためには、1フレーム分の画像に関する指定された処理が1フレーム周期内に完了しなければならない。この処理が1フレーム周期内に完了しない場合は、映像の一部の欠落や映像の乱れが生じることになる。例えば、処理するビデオデータのチャンネル数が増加したり、ビデオプロセッサ230の機能が向上し、より複雑な画像処理が可能となってくると、ビデオプロセッサ230内のレジスタ数が単純に増加することになり、CPUモジュール210によるフィルタ係数の演算やビデオプロセッサ230に対するレジスタ設定が1フレーム内で完了できない可能性がある。
【0016】
図10を用いて説明する。図10は、CPUモジュール210の処理時間をフレーム毎に示す一例のタイミングチャートである。ここで、図10Aに示されるように、1フレーム周期が時間tであるとする。
【0017】
図10Bは、ビデオデータの第1フレームから第4フレームまでのフレーム画像に対して処理を施す場合に、CPUモジュール210による必要なフィルタ係数の生成やレジスタ設定などの処理が、それぞれ1フレーム周期t内に完了している例である。なお、各フレーム画像に対する処理内容が異なる場合、CPUモジュール210の処理時間もフレーム毎に変動する。
【0018】
図10Cは、図10Bと同様のビデオデータを処理する場合において、上述したような機能アップや入力チャンネル数の増加などによってCPUモジュール210の処理時間が長くなった場合を表している。この図10Cに示される例では、図10Bに例示される場合に比べ、CPUモジュール210の処理時間は、各フレームについてほぼ倍になっている。この例では、第1、第2および第4フレームについては、1フレーム周期t内でCPUモジュール210の処理が終了しているが、第3フレームについては、CPUモジュール210の処理時間が1フレーム周期tを上回っており、第3フレームの処理がフレーム周期内で完全には終了しなかったことを示している。この時点で、第3フレームの処理は、破綻を来している。
【0019】
こうした処理の破綻によって、第3フレームがリアルタイム処理に間に合わず、処理が完全に終わらない状態でビデオデータ出力として送信され、その結果、映像の一部が欠落したり、映像の乱れが生じたりする。
【0020】
このような、フレーム周期内に処理が完了しない問題を解消するために、マルチメディアデータの処理を高速化する方法として、PCIローカルバスを利用してオーディオデータ、ビデオデータ、およびグラフィックスデータを高速に同時処理する統合マルチメディアボード回路(特許文献1)、およびコマンドの実行順序を調整することによってシステムのデータ処理速度を向上させたバスシステムおよび実行順序の調整方法(特許文献2)がある。
【0021】
【特許文献1】
特開平7−262130号公報
【特許文献2】
特開2002−41449号公報
【0022】
【発明が解決しようとする課題】
ところで、このような処理の破綻を回避する他の手段として、単純にCPUモジュール210の演算処理速度(動作周波数)を上げてCPUの演算時間を短縮する方法が考えられる。
【0023】
しかしながら、CPUモジュールの演算処理速度を速くすると、RAM/ROMなどのメモリ、各種データインタフェース、バス等の、CPUモジュールと同期して動作する構成要素もこれに対応させる必要があり、また、別途ソフトウエアの開発が必要となる場合もある。従って、CPUの演算処理速度を速くする場合は、ハードウエアの交換・調整やソフトウエアの開発に多大なコストが必要になるという問題点があった。更に、ソフトウエアの開発については、場合によっては極めて長い期間を要するという問題点があった。
【0024】
こうした事情から、CPUモジュールの演算処理速度を単に上げるという手段を容易に選択することはできず、コストおよび期間の面でより制約のない別のアプローチが必要になる。
【0025】
従って、この発明の目的は、ビデオプロセッサの機能アップや入力チャンネル数の増加があっても、ビデオデータに対する処理が破綻を来さないような信号処理装置および信号処理方法を提供することにある。
【0026】
【課題を解決するための手段】
この発明は、上述した課題を解決するために、受信したデータによるレジスタの更新結果に応じて所定の処理を実行する処理手段と、処理手段のためのデータを生成し、データを送信する複数の制御手段と、複数の制御手段のそれぞれに対応して設けられ、制御手段から送信されたデータを一時的に記憶する複数の記憶手段と、記憶手段を、少なくとも制御手段のデータ送信周期よりも短い周期で選択し、選択された記憶手段に記憶されているデータを、順次、処理手段に送信する切換手段とを有することを特徴とする信号処理装置である。
【0027】
また、この発明は、受信したデータによるレジスタの更新結果に応じて所定の処理を実行する処理のステップと、処理のステップのためのデータを生成データを送信する複数の制御のステップと、複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、複数の制御のステップから送信されたデータを一時的にそれぞれ記憶する複数の記憶のステップと、記憶手段を、少なくとも制御のステップのデータ送信周期よりも短い周期で選択し、選択された記憶手段に記憶されているデータを、順次、処理のステップに送信する切換のステップとを有することを特徴とする信号処理方法である。
【0028】
また、この発明は、受信したコマンドによるレジスタの更新結果に応じて所定の処理を実行する処理手段と、処理手段のためのデータを生成し、データを送信する複数の制御手段と、複数の制御手段のそれぞれに対応して設けられ、制御手段から送信されたデータを一時的に記憶する複数の記憶手段と、複数の記憶手段に対応して設けられ、複数の記憶手段内のデータ数をそれぞれ検出する検出手段と、検出手段により検出されたデータ数に基づき複数の記憶手段から1の記憶手段を選択し、選択された記憶手段に記憶されているデータを、少なくとも制御手段のデータ送信周期よりも短い周期で順次、処理手段に送信する切換手段とを有することを特徴とする信号処理装置である。
【0029】
また、この発明は、受信したコマンドによるレジスタの更新結果に応じて所定の処理を実行する処理のステップと、処理のステップのためのデータを生成し、データを送信する複数の制御のステップと、複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、複数の制御のステップから送信されたデータを一時的にそれぞれ記憶する複数の記憶のステップと、複数の記憶手段に対応して設けられ、複数の記憶手段内のデータ数をそれぞれ検出する検出のステップと、検出のステップにより検出されたデータ数に基づき複数の記憶手段から1の記憶手段を選択し、選択された記憶手段に記憶されているデータを、少なくとも制御のステップのデータ送信周期よりも短い周期で順次、処理のステップに送信する切換のステップとを有することを特徴とする信号処理装置である。
【0030】
上述したように、この発明は、複数のCPUモジュールにより生成されたデータを複数のメモリにそれぞれ一時的に記憶し、メモリを少なくともCPUモジュールによるデータ送信周期よりも短い周期で選択し、選択されたメモリに記憶されているデータを順次、プロセッサに送信するようにしているため、プロセッサに送信するデータを生成する負荷が複数のCPUモジュールに分散される。
【0031】
また、この発明は、複数のCPUモジュールにより生成されたデータを複数のメモリにそれぞれ一時的に記憶し、複数のメモリにそれぞれ記憶されたデータ数を検出した結果に基づき複数のメモリから1を選択し、選択されたメモリに記憶されているデータを少なくともCPUモジュールのデータ送信周期よりも短い周期で順次、プロセッサに送信するようにしているため、プロセッサに送信するデータを生成する負荷が複数のCPUモジュールに対して適応的に分散できる。
【0032】
【発明の実施の形態】
以下、この発明の実施の第1の形態を、図面を参照しながら説明する。図1は、この発明が適用できるディジタルマルチエフェクトシステムの一例の構成を示す。デジタルマルチエフェクトシステム100は、メインバス140に接続されたメインCPU110、ビデオ処理部170A、170Bおよび170C、ビデオI/F130を備える。メインCPU110には、操作パネル150が接続される。
【0033】
図示は省略するが、操作パネル150は、複数のモニタなどの表示装置と、キーボード、スイッチ、ジョイスティックなどの入力装置を備える。複数のモニタは、テレビカメラなどから供給される映像や、このディジタルマルチエフェクトシステムで処理された映像をそれぞれ表示する。ユーザは、ディジタルマルチエフェクトシステム100の操作パネル150に備えられたキーボードやスイッチなどを操作することで、テレビカメラなどから供給される複数の入力映像やVTRにより再生された映像素材をどのように編集するかを指示する。ライブ映像の中継映像を提供するような場面においては、ユーザは、幾つかのテレビカメラの映像から必要なものを選択すると共に、操作パネル150のキーボードなどを操作して、選択された各映像に所望の処理を施す。
【0034】
次に、図1を参照して、デジタルマルチエフェクトシステム100の処理をより詳細に説明する。ここでは、テレビカメラからの映像や記録されている映像素材等から、複数チャンネルのデジタルビデオデータがディジタルマルチエフェクトシステム100に対して入力されるものとする。
【0035】
複数チャンネルのビデオデータがビデオI/F130に入力され、ビデオ処理部170A、170Bおよび170Cにそれぞれ転送される。ビデオデータの転送は、例えば、ビデオI/F130からビデオ処理部170との間にチャンネル毎に設けられた信号線160を介して行われる。なお、図1では、信号線160は、ビデオI/F130とビデオ処理部170Bとの間だけが示されており、他は省略されている。
【0036】
一方、ユーザによって、操作パネル150の入力装置によりどのチャンネルのビデオデータにどのような処理を施すのかといった編集指示がなされ、この指示がメインCPU110に送信される。メインCPU110は、この編集指示の内容に基づいて、ビデオデータを処理するビデオ処理部をビデオ処理部170A、170Bおよび170Cの中から選択し(例えばビデオ処理部170B)、選択されたビデオ処理部170BとビデオI/F130との間のビデオデータの転送と、当該ビデオ処理部170Bにおけるビデオデータの処理動作を制御する。この制御は、例えばメインCPU110からビデオ処理部170およびビデオI/F130に対して、バス140を介して制御データを送信することにより行われる。
【0037】
ビデオ処理部170は、信号線160を介してビデオI/F130からビデオデータを受信すると、そのビデオデータに対して指示されている処理を施して出力する。この出力は、信号線160を介してビデオI/F130に送信され、出力ビデオデータとしてディジタルマルチエフェクトシステム100の外部に出力される。ディジタルマルチエフェクトシステム100内部におけるこれらのビデオデータの送受信は、上述したように、チャンネル毎に設けられた信号線160を介して個別に行われる。
【0038】
図2は、この発明の実施の第1の形態によるビデオ処理部の一例の構成を示す。図2において、ビデオ処理部1は、上述の図1に示されるビデオ処理部170A、170Bおよび170Cにそれぞれ対応する。ビデオプロセッサ3は、上述の従来の技術で説明したビデオプロセッサ230と同等のもので、入力されたビデオデータに対して、レジスタに設定されたフィルタ係数に応じて処理を施す。また、詳細は後述するが、ビデオプロセッサ3は、複数チャンネルのビデオデータを並列的に入力してそれぞれ処理を行うことができる。
【0039】
ビデオ処理部1は、このように構成されるため、従来技術で説明したビデオ処理部120と共通のインタフェースを多く有している。したがって、ソフトウエアの基本アーキテクチャ等を変更せずに、従来のビデオ処理部120をこの発明のビデオ処理部1に置き換えることによって、この発明の効果を奏するディジタルマルチエフェクトシステムが容易に構成されうる。
【0040】
ビデオ処理部1は、レジスタバス2にそれぞれ接続されたビデオプロセッサ3およびバスI/F4を有し、バスI/F4には、さらに、ローカルバス8およびローカルバス12が並列的に接続される。
【0041】
ローカルバス8には、RAM/ROM5、CPUモジュール6、およびI/Oポート7が接続される。RAM/ROM5は、CPUモジュール6によって使用されるプログラム等を記憶し、また、必要に応じて実行時に使用されるデータを一時的に記憶する。I/Oポート7は、図1におけるメインCPU110との間で制御データのやりとりを行う。さらに、制御データは、ローカルバス8を介して、I/Oポート7とCPUモジュール6との間でやりとりされる。
【0042】
ローカルバス12も、ローカルバス8と同様の構成とされる。すなわち、ローカルバス12に対して、RAM/ROM9、CPUモジュール10およびI/Oポート11が接続され、I/Oポート11とメインCPU110との間で制御データがやりとりされる。さらに、制御データは、ローカルバス12を介して、I/Oポート11とCPUモジュール10との間でやりとりされる。
【0043】
なお、この例では、ローカルバス8およびレジスタバス2の間の双方向性、ならびに、ローカルバス12およびレジスタバス2の間の双方向性は確保されるが、ローカルバス8および12間でのデータのやりとりは想定されない。また、この例では、レジスタバス2、ローカルバス8、12のバス幅は、例えば32ビットとされる。なお、この発明によるシステムの前提条件として、ビデオプロセッサ3に対するレジスタのアクセスによるバスの占有率は、単位フレーム時間に対して低いものとする。これは、後述するこの発明の実施の第1の形態の変形例および実施の第2の形態においても、同様である。
【0044】
ビデオプロセッサ3に対して、図1のビデオI/F130からビデオデータが入力される。また、ビデオプロセッサ3から出力されたビデオデータは、ビデオI/F130に供給される。また、CPUモジュール6および/または10で生成されたフィルタ係数がバスI/F4を介してレジスタバス2に供給され、ビデオプロセッサ3のレジスタに所定に設定される。バスI/F4は、ローカルバス8、12とレジスタバス2とを接続するブリッジのような役割を担う。
【0045】
なお、上述したように、ローカルバス8とローカルバス12との間では、基本的にデータのやり取りは発生しない。したがって、メインCPU110は、CPUモジュール6、10を制御する上位のCPUに相当する。メインCPU110によって、このビデオ処理部1におけるCPUモジュール6および10間での動的な最適化が図られる。
【0046】
図3は、ビデオプロセッサ3の一例の構成を示す。ビデオプロセッサ3は、例えばDSPからなる演算器300を備えると共に、多重装置310および分離装置320を有している。図3の例では、第1チャンネルから第4チャンネルまでの、4チャンネル分のビデオデータが独立的に多重装置310に入力される。多重装置310は、パラレルに提供された上記第1チャンネルから第4チャンネルまでのビデオデータを時分割多重してシリアルに演算器300に渡す。
【0047】
演算器300には、レジスタバス2が接続され、上述の図2で示したCPUモジュール6および10で生成されたフィルタ係数がレジスタバス2を介して供給される。フィルタ係数は、演算器300のレジスタに所定に設定される。
【0048】
演算器300は、レジスタに設定されたフィルタ係数の内容に従って、時分割多重された第1チャンネルから第4チャンネルのうちの何れかのチャンネルのビデオデータに対して、例えば、1フレームまたは1ラインなどの単位で処理を施す。第1〜第4チャンネルそれぞれのビデオデータが入力されるタイミングに従って演算器300に設定するフィルタ係数を入れ替えることで、チャンネル毎の独立的な処理を実現することができる。こうして得られた各チャンネルのビデオデータは、分離装置320で元のチャンネル単位に組み立てられ、第1チャンネルから第4チャンネルのビデオデータとして独立的に出力される。
【0049】
次に、この発明の実施の第1の形態によるビデオ処理部1の動作について、より具体的に説明する。CPUモジュール6、CPUモジュール10は、ビデオデータに対する処理の機能毎および/またはチャンネル毎に負荷が分散される。チャンネル毎に負荷分散がなされる場合、例えば、ビデオプロセッサ3に4チャンネル分のビデオデータが入力されていると仮定すると、第1チャンネルと第3チャンネルに対してなされる処理のためのフィルタ係数の演算は、CPUモジュール6が行い、第2チャンネルと第4チャンネルに対してなされる処理のためのフィルタ係数の演算は、CPUモジュール10が行うように制御することが可能である。このような負荷分散についての制御は、メインCPU110からの制御データによって行われる。
【0050】
バスI/F4は、ローカルバス8、12とビデオプロセッサ3との接続を一定周期で交互に切り換えることによって、CPUモジュール6およびCPUモジュール10から出力される、ビデオプロセッサ3に対する命令(例えばフィルタ係数をレジスタに設定するためのライトコマンド)を、交互にビデオプロセッサ3に供給する。その結果、ビデオプロセッサ3は、CPUモジュール6からのコマンドとCPUモジュール10からのコマンドを交互に受け取ってレジスタに設定し、設定されたレジスタの内容に基づく処理を、入力されたビデオデータに対して繰り返し実行する。
【0051】
図4は、この実施の第1の形態によるフレーム毎の処理時間を表した一例のタイミングチャートである。この図4で示される第1フレーム1〜第4フレームの各フレーム画像に対する処理内容は、上述した図10に示すものと同様であるものとする。ここで、図4Aに示されるように、1フレーム周期が時間tであるとする。図4Bは、ビデオデータの第1フレームから第4フレームまでのフレーム画像に対して処理を施す場合に、CPUモジュール6および10による必要なフィルタ係数の生成やレジスタ設定などの処理が、それぞれ1フレーム周期t内に完了している例である。
【0052】
図4Cは、ビデオプロセッサ3の機能アップや、入力チャンネル数が増加した場合を想定している。この実施の第1の形態では、2つのCPUモジュール6および10を備えるビデオ処理部1を使用してCPUモジュール6および10に負荷を分散した結果、各CPUモジュール6および10の処理時間を1フレーム周期内に収めることができる。
【0053】
次に、この実施の第1の形態におけるバスI/F4の構成、ならびに、ビデオプロセッサ3、バスI/F4およびCPUモジュール6、10間の動作について、図5および図6を参照して、より詳細に説明する。
【0054】
図5は、バスI/F4の一例の構成をより詳細に示すと共に、バスI/F4とCPUモジュール6および10との接続、ならびに、バスI/F4とビデオプロセッサ3との接続を示す。
【0055】
なお、以下において、ローカルバス8および12は、それぞれCPUモジュール6および10の出力するクロックに同期したバスである。また、レジスタバス2も、クロックに同期したバスである。レジスタバス2のクロックは、CPUモジュール6およびCPUモジュール10の何れか一方のクロックに同期される。以下では、レジスタバス2のクロックがCPUモジュール6のクロックに同期しているものとする。
【0056】
バスI/F4は、バススイッチ15、アドレスデコーダ16、ライトFIFO17、リードFIFO18、アドレスデコーダ19、ライトFIFO20、リードFIFO21、およびレジスタバスI/F22を備える。
【0057】
CPUモジュール6側から説明する。CPUモジュール6からアドレス(1)データおよびリード/ライトコマンドが出力され、ローカルバス8を介してアドレスデコーダ16に供給される。また、CPUモジュール6とアドレスデコーダ16との間で、ローカルバス8を介してデータのやりとりがなされる。CPUモジュール6から出力されるデータは、例えばビデオプロセッサ3のレジスタに設定するためのフィルタ係数である。
【0058】
ライト/リードコマンドは、アドレスデコーダ16で解釈され、ビデオプロセッサ3に対するアクセスであれば、アドレス(1)データおよびデータ(1)と共に、先入れ先出し方式(Fast−In Fast−Out)のメモリであるライトFIFO17に書き込まれる。このとき、アドレス(1)データは、例えばビデオプロセッサ3のレジスタを指定するためのアドレスである。
【0059】
CPUモジュール10側も、CPUモジュール6側と同様である。すなわち、CPUモジュール10から出力されたアドレス(2)データおよびリード/ライトコマンドは、ローカルバス12を介してアドレスデコーダ19に供給されると共に、CPUモジュール10とアドレスデコーダ19との間で、ローカルバス12を介してデータのやりとりがなされる。リード/ライトコマンドは、アドレスデコーダ19で解釈され、ビデオプロセッサ3に対するアクセスであれば、アドレス(2)データおよびデータ(2)と共に、ライトFIFO20に書き込まれる。
【0060】
バススイッチ15では、ライトFIFO17から供給されたアドレス(1)データ、リード/ライトコマンドおよびデータ(1)と、ライトFIFO20から供給されたアドレス(2)データ、リード/ライトコマンドおよびデータ(2)とを所定の周期で切り換え、交互に出力する。
【0061】
このとき、バススイッチ15により、ライトFIFO17または20から読み出されたアドレスデータ、リード/ライトコマンドおよびデータは、CPUモジュール6のクロックに同期させてレジスタバス2側に転送される。また、バスI/F4では、ローカルバス8および12からの制御を時間方向に圧縮させて、ビデオプロセッサ3に対して出力する。これにより、レジスタバス2におけるローカルバス8および12への時間的な影響を無くしている。
【0062】
例えば、レジスタバス2のクロック周波数を、CPUモジュール6のクロック周波数よりも高くする。このレジスタバス2のクロック周波数に基づきバススイッチ15を交互に切り換え、ライトFIFO17および20から交互にデータを読み出す。好適な例として、レジスタバス2のクロック周波数を、CPUモジュール6のクロック周波数の2倍とし、このタイミングでバススイッチ15を切り換えると共にライトFIFO17および20から交互にデータを読み出す。
【0063】
バススイッチ15から出力されたアドレスデータ、リード/ライトコマンドおよびデータは、レジスタバスI/F22に供給される。アドレスデータ、リード/ライトコマンドおよびデータは、レジスタバスI/F22からレジスタバス2を介してビデオプロセッサ3に供給される。ビデオプロセッサ3では、例えば、コマンドがライトコマンドであれば、アドレスデータにより指定されるレジスタに対してデータ(フィルタ係数)を設定する。
【0064】
ビデオプロセッサ3に供給されるコマンドがリードコマンドであれば、例えば、ビデオプロセッサ3からアドレスで指定されたレジスタからデータが読み出され、レジスタバス2を介してレジスタバスI/F22に供給される。このデータは、レジスタバスI/F22からバススイッチ15に供給され、所定に切り換えられ例えばデータ(1)としてリードFIFO18に書き込まれる。データ(1)は、リードFIFO18から読み出され、アドレスデコーダ16およびローカルバス8を介してCPUモジュール6に供給される。
【0065】
CPUモジュール10側でも同様に、バススイッチ15からデータ(2)として出力され、リードFIFO21に書き込まれる。データ(2)は、リードFIFO21から読み出され、アドレスデコーダ19およびローカルバス12を介してCPUモジュール10に供給される。
【0066】
なお、上述において、バススイッチ15、レジスタバスI/F22およびビデオプロセッサ3は、同期して動作する。一方、CPUモジュール6およびアドレスデコーダ16と、CPUモジュール10およびアドレスデコーダ19は、互いに非同期とすることができる。CPUモジュール6およびアドレスデコーダ16と、CPUモジュール10およびアドレスデコーダ19の組から非同期に送信されるコマンドなどは、ライトFIFO17、20を用いてタイミングの調整がなされ、バススイッチ15、レジスタバスI/F22、およびビデオプロセッサ3の組と同期が取られる。
【0067】
この図5の例では、リード/ライトコマンドなどを一時的に格納する待ち行列としてFIFOが用いられている。この実施の第1の形態のように、要求順に処理が行われていくようなケースでは、FIFOのような先入れ先出し方式が一般的であるが、更新順序その他の事情により、他の方式を使用することも可能である。
【0068】
CPUモジュール6からリードコマンドが発行される場合、アドレス(1)データは、例えばビデオプロセッサ3のレジスタを指定する。リードコマンドの応答データは、ビデオプロセッサ3のアドレス(1)データで指定されたレジスタから読み出されたデータがレジスタバスI/F22およびバススイッチ15を介してリードFIFO18に書き込まれる。その後、その応答データは、アドレスデコーダ16を介してCPUモジュール6に供給される。こうしたリードコマンドは、例えば、頻繁に更新されるFPGAのバージョン情報を読み取る命令であったり、処理対象のビデオデータの一部をサンプルするための命令であったりする。なお、バススイッチ15は、リードコマンドをビデオプロセッサ3に送信した後、ホールド状態となる。
【0069】
図6は、ローカルバス8、12およびレジスタバス2における、リード/ライトコマンドの転送タイミングを示す一例のタイミングチャートである。図6Aおよび図6Bは、それぞれローカルバス8および12におけるタイミングを示し、図6Cは、レジスタバス2におけるタイミングを示す。
【0070】
図6において、ローカルバス8からのライトコマンドC1−1、C1−2、およびローカルバス12からのライトコマンドC2−1、C2−2、リードコマンドC2−3までは、ライトFIFO17、20に書き込まれた順序で、レジスタバス2に時間圧縮されて出力される。また、上述のように、リードコマンドC2−3のようなコマンドが発生すると、ローカルバス12側にはウエイト信号が出力されて、バススイッチ15の動作がホールドされる。
【0071】
リードコマンドC2−3は、ビデオプロセッサ3で処理される。当該リードコマンドC2−3による処理の結果得られた応答データがビデオプロセッサ3から取り出され、レジスタバス2、レジスタバスI/F22、バススイッチ15、リードFIFO21、アドレスデコーダ19およびローカルバス12を介してCPUモジュール10に転送される。
【0072】
リードコマンドC2−3に対する応答データがレジスタバス2に現れるまで、ローカルバス8側からのリード/ライトコマンドは、ライトFIFO17に溜め込まれる。リードコマンドC2−3に対する応答データがレジスタバス2に現れると上述したバススイッチ15の動作のホールドが解除されるので、その後、ライトFIFO17、20から、順次レジスタバス2にリード/ライトコマンドが転送される。
【0073】
このとき、レジスタバス2側の最小コマンドサイクルと、ローカルバス8、12からのリードコマンドとライトコマンドの発生頻度によって、ローカルバス8、12側のコマンドサイクルと最低限必要なライトFIFO17、20の深さ(容量)を見積もることができる。
【0074】
ここで、レジスタバス2における処理タイミングを、図6Cのタイミングチャートに沿って説明する。レジスタバス2の最初のコマンドサイクルCS1の時点においては、ローカルバス8、ローカルバス12共に、ライトコマンド(C1−1、C2−1)、アドレス、およびデータの転送を完了しておらず、処理を行わない(ノーオペレーション(NOP))。次のコマンドサイクルCS2においては、ローカルバス8からライトコマンドC1−1が、ローカルバス12からライトコマンドC2−1が転送され、それぞれライトFIFO17、20に、アドレスおよびデータと共に書き込まれる。この時点でバススイッチ15が、最初にライトFIFO20のコマンドの方をレジスタバス2に供給するものとすると、図のように、コマンドサイクルCS2では、ライトコマンドC2−1がアドレスおよびデータと共にレジスタバス2に転送される。
【0075】
次のコマンドサイクルCS3においては、バススイッチ15が切り換えられ、ライトFIFO17から、ライトコマンドC1−1が、アドレス(1)データおよびデータ(1)と共にレジスタバス2に転送される。
【0076】
コマンドサイクルCS4においては、CS2の場合と同様に、ライトFIFO17、20にコマンドC2−2およびC1−2が記憶されており、コマンドC2−2および対応するアドレス(1)データおよびデータ(1)がレジスタバス2に転送され、以降同様の処理が繰り返される。
【0077】
レジスタバス2が、コマンドサイクルCS6でリードコマンドを受け取ると、上述のようにレジスタバス2の動作はホールドされるので、ビデオプロセッサ3からリードコマンドの応答があるまで、レジスタバス2は、新たなコマンドを受け取らない。
【0078】
リードコマンドの応答がビデオプロセッサ3からあった時点で、ライトFIFO17にはライトコマンドC1−3、C1−4、C1−5が記憶されており、ライトFIFO20には何も記憶されていない。ここで、コマンドサイクルCS7においては、ライトFIFO17から転送が行われるので、ライトコマンドC1−3とアドレスデータがレジスタバス2に提供される。次のコマンドサイクルCS8では、バススイッチ15がライトFIFO20からレジスタバス2への転送を行うよう試みるが、この時点では、まだローカルバス12からコマンドC2−4、アドレスおよびデータの転送が完了しておらず、レジスタバス2はNOPとなる。
【0079】
コマンドサイクルCS9以降は、ライトFIFO17、20から交互にライトコマンド、アドレス、およびデータがレジスタバス2に転送される。
【0080】
上述のこの発明の実施の第1の形態では、2つのCPUモジュール6、10を有するように構成しているように説明したが、これはこの例に限らず、例えばCPUモジュールを3つ以上有するように構成することも可能である。
【0081】
図7は、上述した実施の第1の形態の変形例による、3以上のCPUモジュールを有するビデオ処理部の一例の構成を示す。バスI/F25には、3以上のローカルバス24A、24B、24C、・・・が接続されており、その点で図2に示すビデオ処理部1の構成と異なる。処理を指定する対象となるビデオプロセッサ3に対して、複数個のCPUモジュール22A、22B、22C、・・・を設け、これらのCPUモジュール22A、22B、22C、・・・がそれぞれ接続されるローカルバス24A、24B、24C、・・・とビデオプロセッサ3との間を、バスI/F25で接続する。なお、ビデオプロセッサ3は、上述の実施の第1の形態で用いたものと同様のものを用いることができる。
【0082】
バスI/F25は、上述の図5に示されるバスI/F4の構成を参照して、ローカルバス24A、24B、24C、・・・にそれぞれ対応するアドレスデコーダ、ライトFIFO、リードFIFOをそれぞれ有し、ローカルバス24A、24B、24C、・・・にそれぞれ対応するライトFIFO、リードFIFOを切り換えるバススイッチを有する。バススイッチは、レジスタバス26を介してビデオプロセッサ3と接続される。
【0083】
バスI/F25は、上述の図示されないバススイッチにより、これらローカルバス24A、24B、24C、・・・にそれぞれ対応する各FIFOとレジスタバス26との接続を周期的に切り換え、各FIFO内のデータが均等にビデオプロセッサ3に提供されるようにする。これと同時に、レジスタバス26において最適のタイミングとなるように、コマンドサイクルを時間的に圧縮する。
【0084】
また、バスI/F25内のFIFOおよびバススイッチは、図5で説明したように、双方向のデータ切り換えに対応できる構成とする。これによって、CPUモジュール22A、22B、22C、・・・からビデオプロセッサ3に対する、図5を用いて説明したようなリード/ライト動作が実現できる。
【0085】
この実施の第1の形態の変形例においては、バスI/F25のバススイッチの切り換え周期およびレジスタバス26のクロック周波数を短縮し、これに合わせてビデオプロセッサ3のクロック周波数を上げれば、より多くのCPUモジュールを接続することができる。
【0086】
次に、この発明の実施の第2の形態について、図8を参照して説明する。この実施の第2の形態では、バススイッチの切り換え方式を、上述の実施の第1の形態のような周期的なものではなく、動的なものとする。この構成は、FIFOに記憶されたローカルバス側からのリード/ライトコマンドの量によって、バススイッチ15の切り換えを制御し、2つのローカルバス間で、リード/ライトコマンドの待ち時間を同等にしようとするものである。
【0087】
図8は、実施の第2の形態におけるバスI/F4’の一例の構成をより詳細に示すと共に、バスI/F4’とCPUモジュール6および10との接続、ならびに、バスI/F4’とビデオプロセッサ3との接続を示す。なお、図8において、上述の図5と共通する部分には同一の符号を付し、詳細な説明を省略する。この実施の第2の形態による構成は、基本的には、上述の実施の第1の形態において図5に示した、CPUモジュール6および10、バスI/F4、およびビデオプロセッサ3からなる構成と同様である。
【0088】
この実施の第2の形態では、図5のバスI/F4に対応するバスI/F4’において、リクエストカウンタ33、37が新たに設けられている。リクエストカウンタ33および37は、それぞれ、ライトFIFO17および20内に保持されているデータ数を逐次検出する。
【0089】
例えば、アドレスデコーダ16からライトFIFO17へリード/ライトコマンドを転送する際には、リクエストカウンタ33の内容が例えば1だけカウントアップされる。一方、リード/ライトコマンドがライトFIFO17からレジスタバス2側に転送された場合には、リクエストカウンタ33の内容が、例えば1だけ減じられる。同様に、アドレスデコーダ19からライトFIFO20へリード/ライトコマンドを転送する際には、リクエストカウンタ37の内容が例えば1だけカウントアップされる。また、リード/ライトコマンドがライトFIFO20からレジスタバス2側に転送された場合には、リクエストカウンタ37の内容が、例えば1だけ減じられる。このようにすることで、リクエストカウンタ33および37を用いて、ライトFIFO17および20内のデータ数の逐次検出が可能である。
【0090】
勿論、ライトFIFO17および20内のデータ数を、他の方法によって検出してもよい。例えば、クロックに基づきライトFIFO17および20にアクセスし、書き込まれているデータ数を検出するようにできる。
【0091】
上述の実施の第1の形態では、バススイッチ15は、複数のライトFIFO17および20とレジスタバス2との接続を、単に周期的に切り換えていた。この実施の第2の形態では、バススイッチ15’は、上述のリクエストカウンタ33および37によるライトFIFO17および20内のデータ数の検出結果に基づき、バススイッチ15’の切り換えタイミングを動的に制御する。これにより、ローカルバス8および12のコマンドの待ち数を均一化する。
【0092】
より具体的には、リクエストカウンタ33の値(カウント値(1)とする)およびリクエストカウンタ37の値(カウント値(2)とする)を読み込み、両者を比較する。比較の結果、カウント値(1)>=カウント値(2)の場合は、ライトFIFO17とレジスタバスI/F22’との間を接続するようにバススイッチ15’を制御し、それ以外の場合は、ライトFIFO20とレジスタバスI/F22’との間を接続するようにバススイッチ15’を制御する。カウント値(1)、カウント値(2)は、それぞれライトFIFO17、ライトFIFO20におけるリード/ライトコマンドの待ち数を意味する。
【0093】
リードコマンドを受け付けた場合は、上述の実施の第1の形態の場合と同様、バススイッチ15’をホールドさせる。
【0094】
ここで、バススイッチ15’は、それ自身が、上述のカウント値(1)とカウント値(2)を読み込み、それらを比較して接続先の判断を行うようにプログラムされ得る。これはこの例に限らず、図1に示したメインCPU110によってこのような接続制御処理が行われるように構成することもできる。
【0095】
なお、上述では、この発明がディジタルマルチエフェクトシステムのビデオ処理部に対して適用されるように説明したが、この発明はこの例に限定されるものではない。例えば、この発明は、こうしたフレーム画像に対する処理を行う構成に限られず、信号を入力して一定の処理を行うプロセッサに広く適用することが可能である。
【0096】
【発明の効果】
この発明によれば、画像に特殊効果処理などを施すためのパラメータの演算、生成を、複数のCPUモジュールで分散して処理することができるため、CPUモジュールに対する負荷がより高くなるような場合でも、1フレーム周期内に処理を完了させることが可能となるという効果がある。
【0097】
また、この発明によるビデオ処理部の変更を行っても、同一性能のCPUモジュールを増設し、従来のビデオプロセッサをそのまま使用するため、ビデオプロセッサの機能アップや入力チャンネル数の増加があった場合でも、ソフトウエアの基本アーキテクチャに変更を加えることなく、システム全体の処理速度を向上させることができ、その結果、経済的、かつ短期にビデオプロセッサの機能アップ等に対応することができる効果がある。
【0098】
さらに、この発明の実施の第2の形態によれば、複数のCPUモジュールからのリクエストに応じてバススイッチの切り換えタイミングを適応的に制御できるので、より効率的な処理が可能となるという効果がある。
【図面の簡単な説明】
【図1】この発明が適用できるディジタルマルチエフェクトシステムの一例の構成を示すブロック図である。
【図2】この発明の実施の第1の形態によるビデオ処理部の一例の構成を示すブロック図である。
【図3】ビデオプロセッサの一例の構成を示すブロック図である。
【図4】この実施の第1の形態によるフレーム毎の処理時間を表した一例のタイミングチャートである。
【図5】バスI/Fの一例の構成をより詳細に示すと共に、バスI/Fと2つのCPUモジュールとの接続、ならびに、バスI/Fとビデオプロセッサとの接続を示す略線図である。
【図6】2つのローカルバスおよびレジスタバスにおけるリード/ライトコマンドの転送タイミングを示す一例のタイミングチャートである。
【図7】実施の第1の形態の変形例による、3以上のCPUモジュールを有するビデオ処理部の一例の構成を示すブロック図である。
【図8】実施の第2の形態におけるバスI/Fの一例の構成をより詳細に示すと共に、バスI/Fと2つのCPUモジュールとの接続、ならびに、バスI/Fとビデオプロセッサとの接続を示す略線図である。
【図9】従来の技術によるビデオ処理部の一例の構成を示すブロック図である。
【図10】CPUモジュールの処理時間をフレーム毎に示す一例のタイミングチャートである。
【符号の説明】
1・・・ビデオ処理部、2・・・レジスタバス、3・・・ビデオプロセッサ、4・・・バスI/F、5、9・・・RAM/ROM、6、10・・・CPUモジュール、7、11・・・I/Oポート、8、12・・・ローカルバス、17、20・・・ライトFIFO[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a signal processing device and a signal processing method for processing a video signal using a plurality of CPUs.
[0002]
[Prior art]
Broadcasting stations and productions often have an editing room equipped with a business-use image effector for editing broadcast videos and the like. The professional image effector is a device that performs editing and processing such as performing special effect processing such as image enlargement and reduction processing on live video obtained by a television camera, already recorded video, and the like.
[0003]
A broadcast station or the like combines a video edited and processed by the business-use image effector with another video, and further adds a CG (Computer Graphics) image or a sound to create a broadcast video. For example, an image obtained by enlarging or reducing an image obtained from a television camera is inserted into another image, and a telop is inserted into the image to create a broadcast image.
[0004]
In such video processing, for example, video from a plurality of television cameras can be edited so as to be simultaneously output on a single screen in a live broadcast, so that a large amount of information can be transmitted at a time and a sense of realism can be given to the site. It is also possible to give a variation to the expression of the program by performing various special effect processing on the video and further inserting a CG video or the like.
[0005]
A digital multi-effect system is used as the commercial image effector. This system edits and processes digital video signals, such as performing special effect processing, and can process a plurality of input videos in parallel and in real time.
[0006]
Further, the digital multi-effect system may be used as a digital multi-effect switcher in combination with a switcher for switching a video signal path.
[0007]
A digital multi-effect system includes a display device such as a plurality of monitors, and input devices such as a keyboard, a switch, and a joystick, and receives input video transmitted from a television camera or the like in response to a user's operation on the input device, a VTR, and the like. The editing process is performed using a plurality of video signals such as video materials reproduced by (Video Tape Recorder) or the like.
[0008]
In the digital multi-effect system, at the time of this editing work, special effect processing such as enlargement and reduction processing of an image can be performed on a video signal. This special effect processing is performed using, for example, a video processor. As an example, a control signal is output from a CPU (Central Processing Unit) in response to a user operation on an input device, and a video processor is controlled by the control signal, and a predetermined process is performed on an input video signal. The video processor includes, for example, a DSP (Digital Signal Processor), and performs a desired process on an input signal by setting a coefficient in a register.
[0009]
FIG. 9 shows an example of a configuration of a video processing unit 120 according to the related art in which a special effect is applied to such an input video signal using a video processor. The video processing unit 120 is used by being incorporated in, for example, the digital multi-effect system described above.
[0010]
The video processing unit 120 has a RAM /
[0011]
The I /
[0012]
Meanwhile, the video data to be processed is input to the
[0013]
That is, in the
[0014]
Here, the video processing unit 120 can perform processing on video data of a plurality of channels in parallel. For example, assuming that the video processing unit 120 can support the input of the video data of four channels, the video data of four channels input in parallel is set so that the frames of four channels are included in the period of one frame. The data is compressed in the time direction, time-division multiplexed into one-channel data, and supplied to the
[0015]
Here, in order for the video data output from the
[0016]
This will be described with reference to FIG. FIG. 10 is an example timing chart showing the processing time of the
[0017]
FIG. 10B shows that, when processing is performed on the frame images from the first frame to the fourth frame of the video data, the processing such as the generation of the necessary filter coefficients and the register setting by the
[0018]
FIG. 10C illustrates a case where the processing time of the
[0019]
Due to such a failure of the processing, the third frame is not made in time for the real-time processing and is transmitted as a video data output in a state where the processing is not completely completed. As a result, a part of the video is lost or the video is disturbed. .
[0020]
In order to solve such a problem that the processing is not completed within the frame period, as a method of increasing the processing speed of multimedia data, audio data, video data, and graphics data are speeded up using a PCI local bus. (Patent Document 1), a bus system that improves the data processing speed of the system by adjusting the execution order of commands, and an execution order adjustment method (Patent Document 2).
[0021]
[Patent Document 1]
JP-A-7-262130
[Patent Document 2]
JP 2002-41449 A
[0022]
[Problems to be solved by the invention]
By the way, as another means for avoiding such a failure of the processing, there is a method of simply increasing the operation processing speed (operating frequency) of the
[0023]
However, when the arithmetic processing speed of the CPU module is increased, components operating in synchronization with the CPU module, such as a memory such as a RAM / ROM, various data interfaces, and a bus, need to correspond to this. Wear development may be required. Therefore, when the arithmetic processing speed of the CPU is increased, there is a problem that a great deal of cost is required for hardware replacement / adjustment and software development. Further, there is a problem that software development takes an extremely long time in some cases.
[0024]
Under these circumstances, it is not possible to easily select a means for simply increasing the arithmetic processing speed of the CPU module, and another approach is required which is less restrictive in terms of cost and time.
[0025]
Therefore, an object of the present invention is to provide a signal processing device and a signal processing method that do not cause a failure in processing of video data even if the function of a video processor is improved or the number of input channels is increased.
[0026]
[Means for Solving the Problems]
In order to solve the above-described problem, the present invention provides a processing unit that executes a predetermined process in accordance with a result of updating a register with received data, and a plurality of units that generate data for the processing unit and transmit the data. Control means, a plurality of storage means provided corresponding to each of the plurality of control means, for temporarily storing data transmitted from the control means, and the storage means being at least shorter than a data transmission cycle of the control means. A signal processing device comprising: a switching unit for selecting data periodically and transmitting the data stored in the selected storage unit to the processing unit sequentially.
[0027]
Further, the present invention provides a processing step of executing a predetermined process in accordance with a result of updating a register with received data, a plurality of control steps of transmitting data for generating data for the processing step, and a plurality of control steps. For a plurality of storage means provided corresponding to each of the control steps, a plurality of storage steps for temporarily storing data transmitted from the plurality of control steps, and a storage means, A switching step of selecting data in a cycle shorter than the data transmission cycle of the step and sequentially transmitting data stored in the selected storage means to a processing step. .
[0028]
Also, the present invention provides a processing unit for executing a predetermined process according to a result of updating a register by a received command, a plurality of control units for generating data for the processing unit and transmitting the data, and a plurality of control units. A plurality of storage means provided in correspondence with each of the means and temporarily storing data transmitted from the control means; and a plurality of storage means provided in correspondence with the plurality of storage means and the number of data in the plurality of storage means respectively. One detecting means is selected from the plurality of storing means based on the detecting means for detecting and the number of data detected by the detecting means, and the data stored in the selected storing means is determined by at least the data transmission cycle of the control means. And a switching means for sequentially transmitting to the processing means in a short cycle.
[0029]
Also, the present invention provides a process step of executing a predetermined process according to a result of updating a register by a received command, a plurality of control steps of generating data for the process step and transmitting the data, For a plurality of storage means provided corresponding to each of the plurality of control steps, a plurality of storage steps for temporarily storing data transmitted from the plurality of control steps, and a plurality of storage means. A corresponding step is provided, wherein a detecting step for detecting the number of data in each of the plurality of storage means, and one of the plurality of storage means is selected based on the number of data detected in the detecting step. A switching step of sequentially transmitting data stored in the storage means to a processing step at least in a cycle shorter than a data transmission cycle in a control step; A signal processing apparatus characterized by having a flop.
[0030]
As described above, the present invention temporarily stores data generated by a plurality of CPU modules in a plurality of memories, respectively, and selects a memory at least in a cycle shorter than a data transmission cycle by the CPU module. Since the data stored in the memory is sequentially transmitted to the processor, the load for generating the data to be transmitted to the processor is distributed to the plurality of CPU modules.
[0031]
In addition, the present invention temporarily stores data generated by a plurality of CPU modules in a plurality of memories, respectively, and selects one from the plurality of memories based on a result of detecting the number of data stored in the plurality of memories. In addition, since the data stored in the selected memory is sequentially transmitted to the processor at least in a cycle shorter than the data transmission cycle of the CPU module, a load for generating data to be transmitted to the processor is reduced by a plurality of CPUs. Can be adaptively distributed to modules.
[0032]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows a configuration of an example of a digital multi-effect system to which the present invention can be applied. The digital multi-effect system 100 includes a
[0033]
Although not shown, the
[0034]
Next, the processing of the digital multi-effect system 100 will be described in more detail with reference to FIG. Here, it is assumed that digital video data of a plurality of channels is input to the digital multi-effect system 100 from video from a television camera or recorded video material.
[0035]
Video data of a plurality of channels is input to the video I /
[0036]
On the other hand, the user issues an editing instruction such as what processing is to be performed on the video data of which channel by the input device of the
[0037]
Upon receiving the video data from the video I /
[0038]
FIG. 2 shows a configuration of an example of the video processing unit according to the first embodiment of the present invention. 2, the
[0039]
Since the
[0040]
The
[0041]
The RAM /
[0042]
The
[0043]
In this example, the bidirectionality between the local bus 8 and the
[0044]
Video data is input to the video processor 3 from the video I /
[0045]
As described above, basically, no data exchange occurs between the local bus 8 and the
[0046]
FIG. 3 shows an example of the configuration of the video processor 3. The video processor 3 includes an
[0047]
The
[0048]
The
[0049]
Next, the operation of the
[0050]
The bus I /
[0051]
FIG. 4 is a timing chart showing an example of a processing time for each frame according to the first embodiment. It is assumed that the processing content for each of the first to fourth frame images shown in FIG. 4 is the same as that shown in FIG. 10 described above. Here, as shown in FIG. 4A, it is assumed that one frame period is time t. FIG. 4B shows that when processing is performed on frame images from the first frame to the fourth frame of video data, processing such as generation of necessary filter coefficients and register setting by the
[0052]
FIG. 4C assumes a case where the function of the video processor 3 is improved and the number of input channels is increased. In the first embodiment, as a result of distributing the load to the
[0053]
Next, the configuration of the bus I /
[0054]
FIG. 5 shows an example of the configuration of the bus I /
[0055]
In the following,
[0056]
The bus I /
[0057]
The description starts from the
[0058]
The write / read command is interpreted by the
[0059]
The
[0060]
In the
[0061]
At this time, the address data, read / write command and data read from the
[0062]
For example, the clock frequency of the
[0063]
The address data, read / write command and data output from the
[0064]
If the command supplied to the video processor 3 is a read command, for example, data is read from the register specified by the address from the video processor 3 and supplied to the register bus I /
[0065]
Similarly, on the
[0066]
In the above description, the
[0067]
In the example of FIG. 5, a FIFO is used as a queue for temporarily storing read / write commands and the like. In the case where processing is performed in the order of requests as in the first embodiment, a first-in first-out method such as FIFO is generally used, but another method is used depending on the update order and other circumstances. It is also possible.
[0068]
When a read command is issued from the
[0069]
FIG. 6 is an example timing chart showing the transfer timing of the read / write command in the
[0070]
6, write commands C1-1 and C1-2 from the local bus 8 and write commands C2-1 and C2-2 and a read command C2-3 from the
[0071]
The read command C2-3 is processed by the video processor 3. Response data obtained as a result of the processing by the read command C2-3 is taken out from the video processor 3, and is passed through the
[0072]
Until response data to the read command C2-3 appears on the
[0073]
At this time, depending on the minimum command cycle on the
[0074]
Here, the processing timing in the
[0075]
In the next command cycle CS3, the
[0076]
In the command cycle CS4, as in the case of CS2, the commands C2-2 and C1-2 are stored in the
[0077]
When the
[0078]
When a response to the read command is received from the video processor 3, the
[0079]
After the command cycle CS9, a write command, an address, and data are alternately transferred from the
[0080]
In the above-described first embodiment of the present invention, the description has been made so as to have two
[0081]
FIG. 7 shows an example of a configuration of a video processing unit having three or more CPU modules according to a modification of the first embodiment described above. The bus I /
[0082]
The bus I /
[0083]
The bus I /
[0084]
The FIFO and the bus switch in the bus I /
[0085]
In the modification of the first embodiment, if the switching cycle of the bus switch of the bus I /
[0086]
Next, a second embodiment of the present invention will be described with reference to FIG. In the second embodiment, the switching method of the bus switch is dynamic rather than periodic as in the first embodiment. This configuration controls the switching of the
[0087]
FIG. 8 shows an example of the configuration of the bus I /
[0088]
In the second embodiment, request counters 33 and 37 are newly provided in a bus I /
[0089]
For example, when transferring a read / write command from the
[0090]
Of course, the number of data in the
[0091]
In the first embodiment described above, the
[0092]
More specifically, the value of the request counter 33 (referred to as a count value (1)) and the value of the request counter 37 (referred to as a count value (2)) are read and compared. As a result of the comparison, when the count value (1)> = the count value (2), the bus switch 15 'is controlled so as to connect the
[0093]
When the read command is received, the bus switch 15 'is held as in the case of the first embodiment.
[0094]
Here, the bus switch 15 'itself can be programmed to read the above-mentioned count value (1) and count value (2) and compare them to determine the connection destination. This is not limited to this example, and it is also possible to configure such that such a connection control process is performed by the
[0095]
In the above description, the present invention has been described as applied to the video processing unit of the digital multi-effect system, but the present invention is not limited to this example. For example, the present invention is not limited to a configuration for performing processing on such a frame image, but can be widely applied to a processor that performs a certain processing by inputting a signal.
[0096]
【The invention's effect】
According to the present invention, calculation and generation of parameters for performing special effect processing and the like on an image can be distributed and processed by a plurality of CPU modules, so that even when the load on the CPU modules becomes higher, There is an effect that the processing can be completed within one frame period.
[0097]
Further, even if the video processing unit according to the present invention is changed, CPU modules with the same performance are added and the conventional video processor is used as it is, so that even if the function of the video processor is improved or the number of input channels is increased, In addition, the processing speed of the entire system can be improved without changing the basic architecture of the software. As a result, there is an effect that the function of the video processor can be improved economically and in a short time.
[0098]
Further, according to the second embodiment of the present invention, the switching timing of the bus switch can be adaptively controlled according to requests from a plurality of CPU modules, so that more efficient processing can be performed. is there.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an example of a digital multi-effect system to which the present invention can be applied.
FIG. 2 is a block diagram illustrating a configuration of an example of a video processing unit according to the first embodiment of the present invention.
FIG. 3 is a block diagram illustrating a configuration of an example of a video processor.
FIG. 4 is a timing chart illustrating an example of a processing time for each frame according to the first embodiment;
FIG. 5 is a schematic diagram showing an example of the configuration of a bus I / F in more detail, and showing a connection between the bus I / F and two CPU modules and a connection between the bus I / F and a video processor; is there.
FIG. 6 is a timing chart showing an example of a transfer timing of a read / write command on two local buses and a register bus.
FIG. 7 is a block diagram illustrating a configuration of an example of a video processing unit having three or more CPU modules according to a modification of the first embodiment.
FIG. 8 shows an example of the configuration of a bus I / F according to the second embodiment in more detail, and shows a connection between the bus I / F and two CPU modules, and a connection between the bus I / F and a video processor. It is an approximate line figure showing connection.
FIG. 9 is a block diagram showing a configuration of an example of a video processing unit according to a conventional technique.
FIG. 10 is an example timing chart showing the processing time of the CPU module for each frame.
[Explanation of symbols]
DESCRIPTION OF
Claims (15)
上記処理手段のための上記データを生成し、該データを送信する複数の制御手段と、
上記複数の制御手段のそれぞれに対応して設けられ、上記制御手段から送信された上記データを一時的に記憶する複数の記憶手段と、
上記記憶手段を、少なくとも上記制御手段のデータ送信周期よりも短い周期で選択し、上記選択された記憶手段に記憶されている上記データを、順次、上記処理手段に送信する切換手段と
を有することを特徴とする信号処理装置。Processing means for executing a predetermined process in accordance with a result of updating the register by the received data;
A plurality of control means for generating the data for the processing means and transmitting the data;
A plurality of storage means provided corresponding to each of the plurality of control means, temporarily store the data transmitted from the control means,
Switching means for selecting the storage means at least in a cycle shorter than a data transmission cycle of the control means, and sequentially transmitting the data stored in the selected storage means to the processing means; A signal processing device characterized by the above-mentioned.
上記処理手段は、映像信号に対し所定の信号処理を実行することを特徴とする信号処理装置。The signal processing device according to claim 1,
The signal processing device according to claim 1, wherein the processing unit performs predetermined signal processing on the video signal.
上記切換手段は、上記データを時間方向に圧縮させて上記処理手段に送信するようにしたことを特徴とする信号処理装置。The signal processing device according to claim 1,
The signal processing device, wherein the switching means compresses the data in a time direction and transmits the data to the processing means.
上記複数の制御手段は、互いに非同期的にデータを送信することを特徴とする信号処理装置。The signal processing device according to claim 1,
The signal processing device, wherein the plurality of control units transmit data asynchronously with each other.
上記切換手段による上記処理手段に対するデータの送信は、上記複数の制御手段のうち少なくとも1の上記制御手段によるデータの送信周期と同期的にされることを特徴とする信号処理装置。The signal processing device according to claim 1,
The signal processing device according to claim 1, wherein transmission of data to said processing means by said switching means is synchronized with a data transmission cycle of at least one of said plurality of control means.
上記データがリードコマンドを含み、上記切換手段が上記リードコマンドを上記処理手段に送信した場合に、上記処理手段から上記リードコマンドに対する応答メッセージを受信するまで、上記記憶手段の周期的な選択を停止し、当該リードコマンドを記憶していた記憶手段と上記処理手段を固定的に接続することを特徴とする信号処理装置。The signal processing device according to claim 1,
When the data includes a read command, and when the switching means transmits the read command to the processing means, the periodic selection of the storage means is stopped until a response message to the read command is received from the processing means. And a storage unit storing the read command and the processing unit fixedly connected.
上記処理のステップのための上記データを生成し、該データを送信する複数の制御のステップと、
上記複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、上記複数の制御のステップから送信された上記データを一時的にそれぞれ記憶する複数の記憶のステップと、
上記記憶手段を、少なくとも上記制御のステップのデータ送信周期よりも短い周期で選択し、上記選択された記憶手段に記憶されている上記データを、順次、上記処理のステップに送信する切換のステップと
を有することを特徴とする信号処理方法。A step of executing a predetermined process according to a result of updating the register by the received data;
A plurality of control steps for generating the data for the processing steps and transmitting the data;
For a plurality of storage means provided corresponding to each of the plurality of control steps, a plurality of storage steps for temporarily storing the data transmitted from the plurality of control steps,
A switching step of selecting the storage means at least in a cycle shorter than a data transmission cycle of the control step, and sequentially transmitting the data stored in the selected storage means to the processing step; A signal processing method comprising:
上記処理手段のための上記データを生成し、該データを送信する複数の制御手段と、
上記複数の制御手段のそれぞれに対応して設けられ、上記制御手段から送信された上記データを一時的に記憶する複数の記憶手段と、
上記複数の記憶手段に対応して設けられ、上記複数の記憶手段内のデータ数をそれぞれ検出する検出手段と、
上記検出手段により検出されたデータ数に基づき上記複数の記憶手段から1の上記記憶手段を選択し、上記選択された記憶手段に記憶されている上記データを、少なくとも上記制御手段のデータ送信周期よりも短い周期で順次、上記処理手段に送信する切換手段と
を有することを特徴とする信号処理装置。Processing means for executing predetermined processing in accordance with a result of updating the register by the received command;
A plurality of control means for generating the data for the processing means and transmitting the data;
A plurality of storage means provided corresponding to each of the plurality of control means, temporarily store the data transmitted from the control means,
Detection means provided corresponding to the plurality of storage means, for detecting the number of data in the plurality of storage means,
One of the plurality of storage units is selected based on the number of data detected by the detection unit, and the data stored in the selected storage unit is determined by at least a data transmission cycle of the control unit. And a switching unit for sequentially transmitting the data to the processing unit in a short cycle.
上記切換手段は、上記複数の記憶手段から上記検出手段により検出されたデータ数が最も多い記憶手段を上記選択するようにしたことを特徴とする信号処理装置。The signal processing device according to claim 8,
The signal processing device, wherein the switching means selects the storage means having the largest number of data detected by the detection means from the plurality of storage means.
上記処理手段は、映像信号に対し所定の信号処理を実行することを特徴とする信号処理装置。The signal processing device according to claim 8,
The signal processing device according to claim 1, wherein the processing unit performs predetermined signal processing on the video signal.
上記切換手段は、上記データを時間方向に圧縮させて上記処理手段に送信するようにしたことを特徴とする信号処理装置。The signal processing device according to claim 8,
The signal processing device, wherein the switching means compresses the data in a time direction and transmits the data to the processing means.
上記複数の制御手段は、互いに非同期的にデータを送信することを特徴とする信号処理装置。The signal processing device according to claim 8,
The signal processing device, wherein the plurality of control units transmit data asynchronously with each other.
上記切換手段による上記処理手段に対するデータの送信は、上記複数の制御手段のうち少なくとも1の上記制御手段によるデータの送信周期と同期的にされることを特徴とする信号処理装置。The signal processing device according to claim 8,
The signal processing device according to claim 1, wherein transmission of data to said processing means by said switching means is synchronized with a data transmission cycle of at least one of said plurality of control means.
上記データがリードコマンドを含み、上記切換手段が上記リードコマンドを上記処理手段に送信した場合に、上記処理手段から上記リードコマンドに対する応答メッセージを受信するまで、上記記憶手段の周期的な選択を停止し、当該リードコマンドを記憶していた記憶手段と上記処理手段を固定的に接続することを特徴とする信号処理装置。The signal processing device according to claim 8,
When the data includes a read command, and when the switching means transmits the read command to the processing means, the periodic selection of the storage means is stopped until a response message to the read command is received from the processing means. And a storage unit storing the read command and the processing unit fixedly connected.
上記処理のステップのための上記データを生成し、該データを送信する複数の制御のステップと、
上記複数の制御のステップのそれぞれに対応して設けられた複数の記憶手段に対し、上記複数の制御のステップから送信された上記データを一時的にそれぞれ記憶する複数の記憶のステップと、
上記複数の記憶手段に対応して設けられ、上記複数の記憶手段内のデータ数をそれぞれ検出する検出のステップと、
上記検出のステップにより検出されたデータ数に基づき上記複数の記憶手段から1の上記記憶手段を選択し、上記選択された記憶手段に記憶されている上記データを、少なくとも上記制御のステップのデータ送信周期よりも短い周期で順次、上記処理のステップに送信する切換のステップと
を有することを特徴とする信号処理装置。A step of executing predetermined processing according to a result of updating the register by the received command;
A plurality of control steps for generating the data for the processing steps and transmitting the data;
For a plurality of storage means provided corresponding to each of the plurality of control steps, a plurality of storage steps for temporarily storing the data transmitted from the plurality of control steps,
A detection step provided corresponding to the plurality of storage means, and detecting the number of data in the plurality of storage means,
One of the plurality of storage means is selected based on the number of data detected in the detection step, and the data stored in the selected storage means is transmitted to at least the data in the control step. A switching step of sequentially transmitting to the above processing steps in a cycle shorter than the cycle.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003116497A JP2004326215A (en) | 2003-04-22 | 2003-04-22 | Signal processor and signal processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003116497A JP2004326215A (en) | 2003-04-22 | 2003-04-22 | Signal processor and signal processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004326215A true JP2004326215A (en) | 2004-11-18 |
Family
ID=33496677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003116497A Abandoned JP2004326215A (en) | 2003-04-22 | 2003-04-22 | Signal processor and signal processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004326215A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011249908A (en) * | 2010-05-24 | 2011-12-08 | Mitsubishi Electric Corp | Image display method |
JP2013089226A (en) * | 2011-10-13 | 2013-05-13 | Nuvoton Technology Corp | Memory control device |
-
2003
- 2003-04-22 JP JP2003116497A patent/JP2004326215A/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011249908A (en) * | 2010-05-24 | 2011-12-08 | Mitsubishi Electric Corp | Image display method |
JP2013089226A (en) * | 2011-10-13 | 2013-05-13 | Nuvoton Technology Corp | Memory control device |
US8788744B2 (en) | 2011-10-13 | 2014-07-22 | Nuvoton Technology Corporation | Memory control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6327253B1 (en) | Method and apparatus for controlling switching of connections among data processing devices | |
US8581915B2 (en) | System and method for configuring a display pipeline using a network | |
EP0988756B1 (en) | Apparatus and method for controlling transfer of data between processing elements | |
US8619191B2 (en) | Filter module for a video decoding system | |
US20090254683A1 (en) | Video multiviewer system using direct memory access (dma) registers and block ram | |
JP2007060388A (en) | Video processor, video processing method and program | |
US20060212612A1 (en) | I/O controller, signal processing system, and method of transferring data | |
US20130138842A1 (en) | Multi-pass system and method supporting multiple streams of video | |
US6904475B1 (en) | Programmable first-in first-out (FIFO) memory buffer for concurrent data stream handling | |
US6868096B1 (en) | Data multiplexing apparatus having single external memory | |
JP2004326215A (en) | Signal processor and signal processing method | |
JP4083849B2 (en) | Image processing method | |
US7903172B2 (en) | System and method for video processing | |
JPH04356844A (en) | Multimedia server and communication system using server thereof | |
JP2003304481A (en) | Image processor and image processing method | |
JP2000188752A (en) | Multiple separation controller | |
JPWO2020022101A1 (en) | Image processing device and image processing method | |
JP2918049B2 (en) | Storage method for picture-in-picture | |
JPH09247237A (en) | Protocol processing unit | |
JP2001094598A (en) | Server device, server node device, client node device, and network system | |
JPH11328038A (en) | Device and method for multiplexing and recording method | |
JPH09182094A (en) | Digital signal processor and television receiver | |
JPS61251970A (en) | Image processor | |
JP2002300577A (en) | Moving image reproducing apparatus, and reproduction control system | |
JP2002504723A (en) | Apparatus for hierarchically and distributedly controlling programmable modules in a highly integrated system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060314 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20070615 |