(57)【要約】【課題】  ブランキング期間にCPU負荷が大きい場合においても、ブランキング期間内にレジスタ設定を完了することを可能にした映像処理装置を提供すること。【解決手段】  映像データを処理する映像処理部と、前記映像処理部の映像処理条件を変更する第一のＣＰＵと、前記映像処理部の映像処理条件を変更する第二のＣＰＵと、前記第一のＣＰＵがブランキング期間中に実行する処理にかかる期間がブランキング期間を超えるか否かを判定する判定手段とを備え、前記判定手段がブランキング期間を超えると判定した場合に、前記第二のＣＰＵは前記映像データのブランキング期間に、前記映像処理部の映像処理条件を変更することを特徴とする構成とした。【選択図】  図１
2018074213.tif 000002
【特許請求の範囲】
【請求項１】
映像データを処理する映像処理部と、
前記映像処理部の映像処理条件を変更する第一のＣＰＵと、
前記映像処理部の映像処理条件を変更する第二のＣＰＵと、
前記第一のＣＰＵがブランキング期間中に実行する処理にかかる期間がブランキング期間を超えるか否かを判定する判定手段とを備え、
前記判定手段がブランキング期間を超えると判定した場合に、前記第二のＣＰＵは前記映像データのブランキング期間に、前記映像処理部の映像処理条件を変更することを特徴とする映像処理装置。
【請求項２】
前記第二のＣＰＵによる映像条件の変更は、前記第二のＣＰＵから、前記第一のＣＰＵのレジスタ空間に接続可能なバスを介して行うことを特徴とする請求項１に記載の映像処理装置。
【請求項３】
前記映像データ中の人物を検出する人物検出装置を持ち、前記人物検出装置により検出された人数が一定以上の場合に、前記判定装置は、ブランキング期間を超えるものと判定することを特徴とする請求項１に記載の映像処理装置。
【請求項４】
前記映像データを符号化する符号化装置を持ち、前記符号化装置の符号化量が一定以上の場合に、前記判定装置は、ブランキング期間を超えるものと判定することを特徴とする請求項１に記載の映像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像処理装置に関する。
【背景技術】
【０００２】
映像信号を表示装置に表示処理するための表示出力部、およびそれを制御するＣＰＵから構成される映像処理装置において、表示出力部に対する各種表示設定データを更新するには、映像が表示装置に表示されていない非表示期間において行われる必要がある。表示期間中において各種表示設定データの変更を行った場合、表示装置に表示された映像の画質が劣化したり、画面のチラツキが発生したりするためである。
【０００３】
従来から、映像が映像装置に表示されていない期間（ブランキング期間）内に映像信号処理パラメータの変更を行うための技術が開示されている。たとえば、特許文献１では、CPUから画像処理部へのパラメータ変更コマンドを一旦メモリへ格納しておき、カメラのブランキング期間内にそのメモリを高速で読み出し、パラメータの書き換えを行う。そうすることで、ブランキング期間内に映像信号処理パラメータの変更を行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１１６０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、ブランキング期間中にパラメータ（レジスタ）設定処理が集中してしまうことを想定していなかった。ブランキング期間中にレジスタ設定処理が集中すると、期間内に完了すべきレジスタ設定が期間をオーバーしてしまう可能性がある。その場合は、たとえば、各種表示設定が映像表示期間中に行われることになり、前述の問題が発生する。
【０００６】
上記のケースを説明するため、図５に、4K60pの映像データを処理する場合の映像処理装置構成例を示す。4K60pを例に挙げた理由は、処理すべき映像データ量が膨大で、ＣＰＵ負荷が大きく、ブランキング期間中にレジスタ設定処理が集中しやすいこと、および、ブランキング期間が短く、ブランキング期間中にレジスタ設定が完了しない可能性が高いためである。
【０００７】
本構成では、映像処理装置の処理能力の観点から、1つの映像処理装置は4K30p の映像データを処理し、マスター側映像処理装置１０３とスレーブ側映像処理装置１０４の2つの映像処理装置を用いて映像データを結合することで4K60pを実現している。マスター側映像処理装置１０３およびスレーブ側映像処理装置１０４はＣＰＵを内蔵し、ＣＰＵを介して各映像処理装置の内部あるいは外部モジュールへのレジスタ設定が可能である。
【０００８】
マスター側映像処理装置１０３とスレーブ側映像処理装置１０４間はPCIeバス１０５で接続されており、お互いにデータの送受信を行うことができる。なお、表示装置１０６と記憶装置１０７はマスター側にのみ接続されている。撮像部１０１からの映像データは、ＦＰＧＡ１０２を介して、マスター側、スレーブ側のそれぞれの映像処理装置に出力される。マスター側、スレーブ側の各映像処理装置は上記映像データに対して4k30pで各々信号処理、符号化を行う。
【０００９】
マスター側映像処理装置１０３は、さらに、PCIeバス１０５を介してのスレーブ側映像処理装置１０４から映像データの受信、表示装置１０６への映像データの表示、および符号化ストリームの結合と4k60pの映像データの記憶装置１０７への出力を行っている。表示装置１０６へのレジスタ設定は、表示装置１０６が接続されているマスター側映像処理装置１０３から、映像データのブランキング期間内に行う必要がある。以上のような2つの映像処理装置を用いる構成では、スレーブ側映像処理装置１０４に比べマスター側映像処理装置１０３のＣＰＵの処理量が多くなり、マスター側のＣＰＵの負荷が大きくなる。
【００１０】
さらにブランキング期間にレジスタ設定しなければならない量も、表示装置１０６が存在する分、マスター側のほうが多くなる。これに予想外のケースが発生した場合、たとえば、処理するストリームのデータ量が想定以上だった場合などは、その対応のためにさらにCPUの負荷が大きくなるため、処理がブランキング期間をオーバーしてしまう可能性も高くなる。
【００１１】
そこで、本発明の目的は、上記のようなブランキング期間にCPU負荷が大きい場合においても、ブランキング期間内にレジスタ設定を完了することを可能にした装置を提供することである。
【課題を解決するための手段】
【００１２】
映像データを処理する映像処理部と、前記映像処理部の映像処理条件を変更する第一のＣＰＵと、前記映像処理部の映像処理条件を変更する第二のＣＰＵと、前記第一のＣＰＵがブランキング期間中に実行する処理にかかる期間がブランキング期間を超えるか否かを判定する判定手段とを備え、前記判定手段がブランキング期間を超えると判定した場合に、前記第二のＣＰＵは前記映像データのブランキング期間に、前記映像処理部の映像処理条件を変更する映像データを処理する映像処理部と前記映像処理部の映像処理条件を変更する。
【発明の効果】
【００１３】
本発明によればブランキング期間にCPU処理が集中する場合においても、ブランキング期間中にレジスタ設定を完了することができる。
【図面の簡単な説明】
【００１４】
【図１】映像処理装置の構成について示す説明図。
【図２】動画記録動作を説明するフローチャート。
【図３】バス帯域とＣＰＵ処理内容を説明するタイミングチャート。
【図４】バス帯域とＣＰＵ処理内容を説明するタイミングチャート。
【図５】4K60pの映像データを処理する場合の映像処理装置構成例。
【発明を実施するための形態】
【００１５】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。図１は、本実施形態における映像処理装置の構成例を示すブロック図である。撮像部１０１、ＦＰＧＡ１０２、マスター側映像処理装置１０３、スレーブ側映像処理装置１０４、PCIeバス１０５、表示装置１０６、記憶装置１０７から構成される。
【００１６】
撮像部１０１はズームレンズ、フォーカスレンズを含むレンズ群、光学像を電気信号に変換するＣＣＤやＣＭＯＳ素子等で構成される撮像素子、撮像素子からのアナログ信号をデジタル信号に変換するＡ／Ｄ変換器から構成されるカメラユニットである。ＦＰＧＡ１０２は、撮像部１０１からの映像データを分配し、マスター側、スレーブ側のそれぞれの映像処理装置に出力する。マスター側映像処理装置１０３、スレーブ側映像処理装置１０４は入力されてきた映像データに対し各種映像処理を行い、処理後の映像データを外部装置に出力する。
【００１７】
PCIeバス１０５はPCIeプロトコルを用いて映像処理装置間の通信を行う。表示装置１０６は画像や各種情報を表示するＬＣＤ等の表示装置である。記録装置１０７はメモリカードやハードディスク等の記録媒体である。
【００１８】
以下、図１におけるマスター側映像処理装置１０３の内部構成について説明する。内部バス２０５に対してCPU２０１、コーデック２０２、画像処理部２０３、PCIe IF２０４、表示制御部２０６、記録装置ＩＦ２０７、DRAM２０８、ROM２０９、ＣＰＵ負荷判定部２１０が接続される。内部バス２０５に接続される各部は、内部バス２０５を介してお互いにデータのやりとりを行うことができる。
【００１９】
CPU２０１は、ROM２０９上に記憶されているプログラムに従い、DRAM２０８をワークメモリとして利用し、内部バス２０５に接続される各部を制御する。コーデック２０２は符号化方式を使って映像データのエンコードとデコードを双方向にできる装置である。ＦＰＧＡ１０２から出力される映像データ又は、ＤＲＡＭ２０８からの映像データに対し、エンコードあるいはデコード処理を行い、ＤＲＡＭ２０８に格納する。
【００２０】
画像処理部２０３は、ＦＰＧＡ１０２から出力される映像データ又は、ＤＲＡＭ２０８からの映像データに対し画素補間、縮小といったリサイズ処理や色変換処理、ガンマ補正処理、人物検出処理などを行う。画像処理部２０３により処理された映像データは、DRAM２０８に直接書き込まれる。
【００２１】
PCIe IF２０４は内部バスプロトコルとPCIeプロトコルの相互変換のためのインターフェースである。PCIeプロトコルでは、他のプロトコルと同様、映像データを送受信することが可能であるが、PCIeプロトコル特有の機能として、レジスタ設定データ（映像処理装置内部デバイスのレジスタアドレスとリードライトデータ）を直接送受信することができる。他のプロトコルでは、ＣＰＵが受信データを解析し、その中からレジスタアドレスとリードライトデータを取り出し、接続先モジュールのレジスタ設定を行う必要があったが、PCIeではCPUを介在させず、直接のレジスタ設定が可能である。
【００２２】
本実施例ではこの機能をエンドポイントレジスタアクセス機能と呼ぶ。表示制御部２０６は、表示部１０６に対して画像を表示させるための表示信号を出力する。たとえば、表示制御部２０６に対して、CPU２０１がプログラムに従い生成した表示制御信号が供給される。表示制御部２０６は、この表示制御信号に基づき表示信号を生成して表示部１０６に対して出力する。
【００２３】
記憶装置ＩＦ２０７は、メモリカードやハードディスク等の記憶装置１０７とのインターフェースである。DRAM２０８は、撮像部１０１によって得られ画像処理部２０３、コーデック２０２によって処理された映像データや、表示装置１０６に表示するための映像データを格納する。ＲＯＭ２０９はＣＰＵが実行するプログラムを格納する。ＣＰＵ負荷判定部２１０は、次のブランキング期間で処理すべきレジスタ設定が、ブランキング期間をオーバーしてしまう可能性があるか否かを判定する。
【００２４】
更新命令生成部２１１は、次のブランキング期間でもう一方の映像処理装置に処理してもらいたいレジスタ設定データを保持する。また、更新命令生成部２１１は、ＦＰＧＡ１０２から映像データの垂直同期信号を受け取り、次のブランキング開始タイミングを知ることができる。
【００２５】
図１におけるスレーブ側映像処理装置１０４の内部構成については、マスター側映像処理装置１０３とまったく同じで、３０１〜３１１はマスター側映像処理装置１０３の２０１〜２１１に相当する。ただし、外部に接続されている装置が異なり、表示装置１０６、記憶装置１０７はスレーブ側には接続されていない。
【００２６】
マスター側映像処理装置１０３とスレーブ側映像処理装置１０４間は、PCIe IF２０４、３０４を経由し、PCIeプロトコルでPCIeバス１０５を介して、お互いにデータの送受信を行うことができる。ＣＰＵ３０１は、PCIeバス１０５を介してエンドポイントレジスタアクセス機能によりもう片方のＣＰＵ２０１のレジスタ空間に直接アクセスでき、内部バス２０５を介して各部のレジスタ設定が可能である。
【００２７】
次に、図２、図２のフローチャートを参照しながら、本実施例における映像処理装置の動作について説明する。図２において、まず、ステップS１００で使用者は映像処理装置を起動させる。映像処理装置起動方法には電源スイッチを用いた方法が考えられる。映像処理装置が起動すると、ステップS１０１にて、撮像部１０１はＦＰＧＡ１０２に映像データを送信し、ＦＰＧＡ１０２はマスター側、スレーブ側の映像処理装置にその映像データを送信する。ステップS１０２にて、マスター側に入力された映像データは画像処理部２０３に送られ、表示用の映像データが作成される。作成された表示用映像データはＤＲＡＭ２０８に格納される。
【００２８】
ステップS１０３にて、まず、CPU２０１は表示制御部２０６に対して、プログラムに従い生成した表示制御信号を出力する。表示制御部２０６は、この表示制御信号に基づき表示信号を生成して表示部１０６に出力する。表示装置１０６はこの表示信号により、ＤＲＡＭ２０８から読みだした表示用映像データとともにバッテリーや記憶領域の残量など諸々の情報を表示する。
【００２９】
次に、CPU１０１は、ステップS１０４にて、使用者により動画記録指示が出されたか否かを判定する。動画記録指示の方法としては、録画開始ボタンを押す方法、表示部に表示されるメニューにより、録画開始を選択する方法などが考えられる。動画記録指示が行われなかった場合は、ステップS１０１を繰り返す。
【００３０】
次に図２に移り、使用者による動画記録指示が行われた場合、ステップS２０１にて、コーデック２０２、３０２部は映像データのエンコード、ＣＰＵ２０１は映像データの結合、記憶装置ＩＦ２０７は記憶処理を行う。ステップS２０１ではまず、マスター側、スレーブ側に入力された各映像データを、各コーデック部２０２、３０２にてエンコードする。スレーブ側のコーデック３０２にてエンコードされた映像データはPCIeバス１０５を介してスレーブ側からマスター側に送信され、マスター側は送信されたエンコード済みの映像データを受信する。
【００３１】
次にマスター側のCPU２０１はスレーブ側から送信されてきた映像データ（4K30pの映像データ）と、マスター側のコーデック部２０２によりエンコードされた映像データ（4K30pの映像データ）を結合し、ＤＲＡＭ２０８に記録する。ＤＲＡＭ２０８に記録された結合映像データ（4K60pの映像データ）はＣＰＵ２０１からの指示により、順次記録ＩＦ２０７に出力され、記録装置１０７にて記録される。これらの映像記録処理は、次の動画記録終了指示が出されない限り、毎Ｖごとに繰り返し行われる。
【００３２】
次に、CPU２０１は、ステップS２０２にて、使用者により動画記録終了指示が出されたか否かを判定する。動画記録終了指示の方法としては、録画開始ボタンを再度押す方法、録画開始から一定時間が経過することによる終了方法などが考えられる。動画記録終了指示が行われた場合は、ステップS２０７で記録処理を終了する。
【００３３】
使用者による動画記録終了指示が行われない場合、ステップS２０３にて、CPU負荷判定部２１０はブランキング期間にレジスタ処理が間に合わない可能性があるか判定する。レジスタ処理が間に合わないケースとしては、たとえば、画像処理部２０３が検出した人物の数が所定量以上の場合（人物の認識処理に時間がかかりＣＰＵ処理が間に合わないと判定）や、マスター側ＣＰＵ２０１が処理する映像データ量が所定値以上の場合（データ量が増えることでメモリアクセス時間とCPUの処理するデータ量が増え、ＣＰＵ処理が間に合わないと判定）が考えられる。
【００３４】
ブランキング期間にレジスタ処理が間に合わないと判定された場合、ステップS２０４にて、CPU負荷判定部２１０は間に合わない可能性があるレジスタ設定データを、PCIeバス１０５を介して更新命令生成部３１１に送信する。更新命令生成部３１１は、レジスタ設定データを受信し、マスター側モジュールへのレジスタ設定命令を生成、記憶する。このとき生成するレジスタ設定更新命令としては、たとえば、表示制御部２０６に対するガンマ補正、ホワイトバランスパラメータ、コーデック部２０２に対する動き探索や量子化パラメータの更新命令が考えられる。
【００３５】
ステップS２０４にて、レジスタ設定更新命令が生成完了した場合、あるいはステップS２０３にて、ブランキング期間にレジスタ処理が間に合わない可能性がないと判定された場合、処理はステップS２０５に進む。更新命令生成部３１１はステップS２０５にて次のブランキングが開始したか否かを判定する。次のブランキングが開始したと判定された場合、更新命令生成部３１１はブランキングの開始タイミングにおいてステップＳ２０４で生成されたＣＰＵ３０１に送る。
【００３６】
ＣＰＵ３０１はそのレジスタ設定データをPCIeバス１０５を介してマスター側映像処理装置１０３に送信し、マスター側では送られたレジスタ設定更新命令に従い、内部バス２０５を介して各部のレジスタ更新が行われる。
【００３７】
次に、図３、図４のタイミングチャートを参照しながら、本実施例適用前後における動作の詳細について説明する。図３は本実施例適用前のタイミングチャートである。上半分はFPGA出力およびPCIeバスのバス帯域を示している。左斜線部は映像データを示し、ブランキング期間以外の映像が有効な期間においては、ＦＰＧＡから映像データが出力され、PCIeバス１０５上においても、映像データが流れている。ブランキング期間ではＦＰＧＡ、PCIeバス１０５には映像データは流れず、空きが発生する。下半分はブランキング期間におけるマスター側、スレーブ側のＣＰＵ処理内容を示している。
【００３８】
ブランキング期間におけるCPU処理は、マスター側ＣＰＵ２０１では設定A、B、Cの３つのレジスタ設定処理が存在し、設定Cの処理のみがブランキング期間をオーバーしている。一方、スレーブ側ＣＰＵ３０１においては、設定Dの処理しかなく、ブランキング期間をオーバーしていない。CPU負荷判定部２１０は図３のように、ブランキング期間においてCPU処理が期間をオーバーすると判定した場合、オーバーする処理、ここでは設定Cのレジスタ設定データをスレーブ側のＣＰＵ更新命令生成部３１１に送信する（図２のステップＳ２０３、Ｓ２０４）。
【００３９】
図４は本実施例適用後のタイミングチャートである。ＣＰＵ更新命令生成部３１１はマスターＣＰＵ２０１がブランキング期間をオーバーする設定Cの処理を、スレーブＣＰＵ３０１の処理に割り当てる。スレーブＣＰＵ３０１はブランキング期間内に上記Cの処理を実施し、レジスタ設定データを、PCIeバス１０５を介してマスター側に送信する(図２のステップＳ２０５、Ｓ２０６)。そのため、スレーブＣＰＵ３０１の処理は設定Cの分増加し、PCIeのバス帯域はブランキング期間にレジスタ設定データの送信分増えている（右斜線部）。
【００４０】
しかし、全体のレジスタ設定処理としては、設定A〜Dまでの処理をブランキング期間内に収めることが可能となる。
【００４１】
上記のように、ブランキング期間以外の映像が有効な期間はPCIeバスを介してスレーブ側からマスター側に映像ストリームを送信する。また、次のブランキング期間で間に合わないレジスタ設定更新処理が存在するか否かをモニタしておく。間に合わない処理がある場合、ブランキング期間にてPCIeバスに空きが発生する期間を利用して、PCIeバスを介してスレーブ側ＣＰＵからマスター側CPUのモジュールに直接レジスタ更新を行う。このような装置にすることで、スレーブ側ＣＰＵがマスター側ＣＰＵの処理の一部を担当し、ブランキング期間中に処理すべきレジスタ設定を間に合わせることが可能となる。
【００４２】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。たとえば、本実施例では動画記録処理を例にしたが、静止画記録処理に本構成を適用してもよい。
【符号の説明】
【００４３】
１０１    撮像部、１０２    ＦＰＧＡ、１０３    マスター側映像処理装置、
１０４    スレーブ側映像処理装置、１０５    PCIeバス、１０６    表示装置
１０７    記憶装置
【図１】
2018074213.tif 000003
【図２】
2018074213.tif 000004
【図３】
2018074213.tif 000005
【図４】
2018074213.tif 000006
【図５】
2018074213.tif 000007