(57)【要約】【課題】映像発信装置１で、ＤＳＰ１１とＣＰＵ１２との間の映像データの転送を効率化する。【解決手段】アナログの映像をデジタルの映像データへ変換するＤＳＰと、デジタル化された映像データを格納するＤＳＰ側のメモリ１３と、メモリに格納された映像データを取得して発信するＣＰＵを有する。メモリには、ＣＰＵへ次に転送すべき映像データが格納される先頭アドレスを含む指定情報を格納する指定情報格納領域と、映像データ格納領域を設ける。ＤＳＰ側転送処理手段は、メモリの指定情報格納領域に指定情報を格納し、指定情報により指定される映像データ格納領域のアドレス位置に次に転送すべき映像データを格納し、ＣＰＵ側転送処理手段は、メモリに格納された指定情報により指定される映像データ格納領域のアドレス位置から格納された映像データを取得する。【選択図】  図１
2008015798.tif 000002
【特許請求の範囲】
【請求項１】
映像データを発信する映像発信装置において、
アナログの映像をデジタルの映像データへ変換するＤＳＰと、
前記ＤＳＰによりデジタル化された映像データを格納する前記ＤＳＰ側のメモリと、
前記ＤＳＰ側のメモリに格納された前記映像データを取得して発信するＣＰＵと、を有し、
前記ＤＳＰ側のメモリには、前記ＣＰＵへ次に転送すべき映像データが格納される先頭アドレスを含む指定情報を格納する指定情報格納領域と、前記ＤＳＰによりデジタル化された映像データを格納する映像データ格納領域を設け、
前記ＤＳＰは、前記ＤＳＰ側のメモリの前記指定情報格納領域に次に転送すべき映像データの先頭アドレスを含む指定情報を格納するとともに、当該指定情報により指定される前記映像データ格納領域のアドレス位置に当該次に転送すべき映像データを格納するＤＳＰ側転送処理手段を備え、
前記ＣＰＵは、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された指定情報に基づいて、当該指定情報により指定される前記映像データ格納領域のアドレス位置から格納された映像データを取得するＣＰＵ側転送処理手段を備えた、
ことを特徴とする映像発信装置。
【請求項２】
請求項１に記載の映像発信装置において、
前記ＤＳＰ側のメモリの前記指定情報格納領域には、前記ＣＰＵにより映像データの取得が完了したことを示す状態或いは前記ＤＳＰにより映像データの格納が完了したことを示す状態を取るフラグの情報が格納され、
前記ＤＳＰの前記ＤＳＰ側転送処理手段は、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された前記フラグが前記ＣＰＵにより映像データの取得が完了したことを示す状態である場合に、前記ＤＳＰ側のメモリの前記指定情報格納領域に次に転送すべき映像データの先頭アドレスを含む指定情報を格納するとともに、当該指定情報により指定される前記映像データ格納領域のアドレス位置に当該次に転送すべき映像データを格納して、当該フラグを前記ＤＳＰにより映像データの格納が完了したことを示す状態へ書き換え、
前記ＣＰＵの前記ＣＰＵ側転送処理手段は、次に転送すべき映像データを取得するときには、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された前記フラグが前記ＤＳＰにより映像データの格納が完了したことを示す状態である場合に、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された指定情報に基づいて、当該指定情報により指定される前記映像データ格納領域のアドレス位置から格納された映像データを取得して、当該フラグを前記ＣＰＵにより映像データの取得が完了したことを示す状態へ書き換え、
前記ＣＰＵの前記ＣＰＵ側転送処理手段は、次に転送すべき映像データの取得を間引くときには、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された前記フラグが前記ＤＳＰにより映像データの格納が完了したことを示す状態である場合に、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された指定情報により指定される前記映像データ格納領域のアドレス位置から格納された映像データを取得せずに、当該フラグを前記ＣＰＵにより映像データの取得が完了したことを示す状態へ書き換える、
ことを特徴とする映像発信装置。
【請求項３】
請求項１又は請求項２に記載の映像発信装置において、
映像データとして、１フレーム分の映像データが１単位として処理される、
ことを特徴とする映像発信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を発信するカメラなどの映像発信装置に関し、特に、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）とＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）との間の映像データの転送を効率化した映像発信装置に関する。
【背景技術】
【０００２】
例えば、撮像した映像のデータをネットワークへ発信するネットワークカメラなどの映像発信装置が用いられている。映像発信装置から発信された映像データは、ネットワークを介して、例えば、映像受信装置により受信されて再生され、或いは、映像蓄積装置により受信されて蓄積される。
映像発信装置の内部では、ＤＳＰとＣＰＵとの間にＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリを配置し、ＤＳＰとＣＰＵの両者がＦＩＦＯメモリを共通にアクセスすることができるメモリ空間として用いて、ＤＳＰからＣＰＵへのデータ転送が行われていた。ＤＳＰとＣＰＵとの間では、全てのデータ転送がＦＩＦＯメモリを介して行われていた。
【０００３】
なお、上記技術は、発明者が既に知られていることと認識して記述したものであるが、適切な文献が見出せなかったので、従来技術文献情報の記載をしていない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のようなデータ転送の方式では、ＦＩＦＯメモリを用いることから、処理の柔軟性が十分ではない点があった。
例えば、現状或いは将来的にシステムの改良などにより映像データの量が多くなった場合などに、ＤＳＰとＣＰＵとの間に配置されるＦＩＦＯメモリのサイズが小さいと、１フレームの映像データを分割して転送することになるが、このような分割のプロセス及び分割されたフレームを復元するプロセスに処理時間を取られてしまう。一例として、１フレームが１００ｋバイトで、ＦＩＦＯメモリが１０ｋバイトであれば、１０分割することになる。このため、システムの変更などに合わせてＦＩＦＯメモリを大きく高価なものへ交換する必要が発生することも考えられる。
【０００５】
また、ＤＳＰは全ての映像データをＦＩＦＯメモリへ伝送するため、ＣＰＵが読み捨てようとする映像データがある場合においても、ＣＰＵはいったんその映像データを読み込んでから破棄する必要があり、無駄なデータ転送処理が行われていた。一例として、連続した１番目〜６番目の映像データのうちでＣＰＵが５番目及び６番目の映像データのみを必要としても、ＤＳＰにより全ての映像データがその順にＦＩＦＯメモリへ格納されるため、ＣＰＵは最初の１番目〜４番目の映像データをいったん読み込んでから破棄する必要がある。
【０００６】
本発明は、このような従来の事情に鑑み為されたもので、ＤＳＰとＣＰＵとの間の映像データの転送を効率化することができる映像発信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る映像発信装置では、次のような構成とした。
すなわち、映像発信装置は、アナログの映像をデジタルの映像データへ変換するＤＳＰと、前記ＤＳＰによりデジタル化された映像データを格納する前記ＤＳＰ側のメモリと、前記ＤＳＰ側のメモリに格納された前記映像データを取得して発信するＣＰＵを有する。
前記ＤＳＰ側のメモリには、前記ＣＰＵへ次に転送すべき映像データが格納される先頭アドレスを含む指定情報を格納する指定情報格納領域と、前記ＤＳＰによりデジタル化された映像データを格納する映像データ格納領域を設けた。
前記ＤＳＰでは、ＤＳＰ側転送処理手段が、前記ＤＳＰ側のメモリの前記指定情報格納領域に次に転送すべき映像データの先頭アドレスを含む指定情報を格納するとともに、当該指定情報により指定される前記映像データ格納領域のアドレス位置に当該次に転送すべき映像データを格納する。
前記ＣＰＵでは、ＣＰＵ側転送処理手段が、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された指定情報に基づいて、当該指定情報により指定される前記映像データ格納領域のアドレス位置から格納された映像データを取得する。
【０００８】
従って、ＤＳＰからＣＰＵへ映像データを転送するに際して、ＤＳＰ側のメモリに次に転送すべき映像データが格納される先頭アドレス等の指定情報を格納する領域と映像データを格納する領域を設け、当該指定情報を参照してＤＳＰからＣＰＵへのデータ転送が行われるため、ＤＳＰとＣＰＵとの間の映像データの転送を効率化することができ、例えば、ＤＳＰ側のメモリでは、指定情報を格納する領域以外の領域についてはメモリマップの変更が任意に行われても、ＣＰＵ側の変更を不要とすることが可能であり、柔軟性の高い装置を実現することができる。
【０００９】
ここで、メモリとしては、種々なものが用いられてもよく、好ましい態様例として、ＲＡＭを用いることができる。
また、次に転送すべき映像データに関する指定情報としては、種々なものが用いられてもよく、例えば、先頭アドレスやサイズなどの情報を用いることができる。
また、ＣＰＵによりＤＳＰ側のメモリに格納された映像データを取得する態様としては、例えば、ＣＰＵがＤＳＰ側のメモリから映像データを読み出す態様や、ＣＰＵがＤＳＰに命令してＤＳＰ側のメモリに格納された映像データを送らせる態様や、ＤＭＡを用いる態様など、種々な態様が用いられてもよい。
また、ＤＳＰとＣＰＵとを接続する線としては、種々なものが用いられてもよく、例えば、ＰＣＩバスを用いることができる。
また、ＤＳＰにより処理されるアナログの映像としては、種々なものが用いられてもよく、例えば、内部又は外部の撮像素子により撮像された映像などを用いることができる。
また、ＣＰＵにより映像データを発信する先としては、種々なものが用いられてもよく、例えば、ネットワークなどを用いることができる。
【００１０】
本発明に係る映像発信装置では、一構成例として、次のような構成とした。
すなわち、前記ＤＳＰ側のメモリの前記指定情報格納領域には、前記ＣＰＵにより映像データの取得が完了したことを示す状態（例えば、「Ｒｅａｄ  ＯＫ」の状態）或いは前記ＤＳＰにより映像データの格納が完了したことを示す状態（例えば、「Ｗｒｉｔｅ  ＯＫ」の状態）を取るフラグの情報が格納される。
前記ＤＳＰの前記ＤＳＰ側転送処理手段は、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された前記フラグが前記ＣＰＵにより映像データの取得が完了したことを示す状態である場合に、前記ＤＳＰ側のメモリの前記指定情報格納領域に次に転送すべき映像データの先頭アドレスを含む指定情報を格納するとともに、当該指定情報により指定される前記映像データ格納領域のアドレス位置に当該次に転送すべき映像データを格納して、当該フラグを前記ＤＳＰにより映像データの格納が完了したことを示す状態へ書き換える。
前記ＣＰＵの前記ＣＰＵ側転送処理手段は、次に転送すべき映像データを取得するときには、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された前記フラグが前記ＤＳＰにより映像データの格納が完了したことを示す状態である場合に、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された指定情報に基づいて、当該指定情報により指定される前記映像データ格納領域のアドレス位置から格納された映像データを取得して、当該フラグを前記ＣＰＵにより映像データの取得が完了したことを示す状態へ書き換える。
前記ＣＰＵの前記ＣＰＵ側転送処理手段は、次に転送すべき映像データの取得を間引く（省略する）ときには、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された前記フラグが前記ＤＳＰにより映像データの格納が完了したことを示す状態である場合に、前記ＤＳＰ側のメモリの前記指定情報格納領域に格納された指定情報により指定される前記映像データ格納領域のアドレス位置から格納された映像データを取得せずに（非取得として）、当該フラグを前記ＣＰＵにより映像データの取得が完了したことを示す状態へ書き換える。
【００１１】
従って、フラグの状態に応じて、ＤＳＰによるＤＳＰ側のメモリへの指定情報及び映像データの格納と、ＣＰＵによるＤＳＰ側のメモリに格納された映像データの取得が行われる場合に、ＣＰＵが不要な映像データについては実際には取得しないでフラグを取得した場合と同じ状態へ書き換えることが行われるため、不要な映像データについてはＤＳＰからＣＰＵへの転送を行うことなく、次の映像データの格納及び取得へ移行することができ、データ転送の効率化を図ることができる。
ここで、フラグの情報としては、種々な情報が用いられてもよい。
【００１２】
本発明に係る映像発信装置では、一構成例として、次のような構成とした。
すなわち、映像データとして、１フレーム分の映像データが１単位として処理される。
従って、１フレーム分の映像データ毎を単位として、メモリへの格納や、メモリからの読み出しなどが行われるため、例えば、１フレーム分の映像データを複数に分割して処理するような場合と比べて、効率化を図ることができる。
【００１３】
なお、本発明は、方法や、プログラムや、記録媒体などとして提供することも可能である。
本発明に係る方法では、装置等において各手段が各種の処理を実行する。
本発明に係るプログラムでは、装置等を構成するコンピュータに実行させるものであって、各種の機能を当該コンピュータにより実現する。
本発明に係る記録媒体では、装置等を構成するコンピュータに実行させるプログラムを当該コンピュータの入力手段により読み取り可能に記録したものであって、当該プログラムは各種の処理を当該コンピュータに実行させる。
【発明の効果】
【００１４】
以上説明したように、本発明では、ＤＳＰとＣＰＵとの間でデータ転送を行う装置において、ＤＳＰとＣＰＵとの間でデータ転送を行うための回路構成や、ＤＳＰ側のメモリの領域の使用方法や、フラグの使用方法などについて工夫することにより、データ転送を効率化することができる。
【発明を実施するための最良の形態】
【００１５】
本発明に係る実施例を図面を参照して説明する。
図１には、本発明の一実施例に係るネットワークカメラ１の一例を示してある。
本例のネットワークカメラ１は、ＤＳＰ１１と、当該ＤＳＰ１１のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、ＣＰＵ１２と、当該ＣＰＵ１２のＲＡＭ１４と、ＤＳＰ１１とＣＰＵ１２とを接続するＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス２１と、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの撮像素子１５を備えている。
なお、一般に、ＲＡＭは、ＦＩＦＯメモリと比べて容量が大きい。
【００１６】
本例のネットワークカメラにおいて行われる動作の概略を説明する。
撮像素子１５は、撮像対象となるものを撮像し、撮像したアナログの映像（画像）を取得する。なお、マイクを備えて音声を取得することも可能であり、本例の映像には、例えば、その映像を撮像したときに取得された音声が一体として又は別体として含まれていてもよい。
ＤＳＰ１１は、撮像素子１５により取得されたアナログの映像をデジタルの映像データへ変換してＲＡＭ１３に格納する。また、これに際して、ＤＳＰ１１は、例えば、映像に対して、ＪＰＥＧやＭＰＥＧなどの画像圧縮処理などの画像処理を行い、ＲＡＭ１３には画像処理後の映像データが格納される。なお、本例では、画像圧縮方式としてＪＰＥＧが使用される場合を示す。
ＣＰＵ１２は、ＤＳＰ１１によりデジタル化された映像データをＲＡＭ１３から読み出し、読み出した映像データをネットワークへ発信（出力）する。また、ＣＰＵ１２は、ネットワークが混雑しているときには、映像データを間引いてネットワークへ発信する。なお、ＣＰＵ１２は、必要に応じて、映像データの一時的な格納などにＲＡＭ１４を使用することも可能である。
ＤＳＰ１１とＣＰＵ１２との間のデータ転送は、ＰＣＩバス２１を介して行われる。
【００１７】
ここで、本例では、ＤＳＰ１１とＣＰＵ１２との間のデータ転送の態様として、ＣＰＵ１２がＤＳＰ１１のＲＡＭ１３に格納された映像データを読み出す態様を用いるが、他の構成例として、ＣＰＵ１２がＤＳＰ１１に命令して映像データをＣＰＵ１２へ送らせる態様や、或いは、ＤＳＰ１１とＣＰＵ１２のそれぞれの側にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラを設けてＤＭＡを行う態様などを用いることも可能である。
【００１８】
図２〜図６を参照して、ＤＳＰ１１とＣＰＵ１２との間のデータ転送について詳しく説明する。
図２には、ＤＳＰ１１のＲＡＭ１３のメモリマップ（メモリ配置）の一例を示してある。
本例のＲＡＭ１３には、データ先頭アドレスやデータサイズやデータフラグなどを格納するシーケンス領域（例えば、１００バイト等の領域）と、ＤＳＰ１１のプログラムを格納するプログラム領域と、映像データを格納するデータ領域が設けられている。
シーケンス領域としてはＣＰＵ１２から見て固定的に設定されたアドレス（固定アドレス）の領域が用いられており、プログラム領域やデータ領域としてはＣＰＵ１２から見て可変なアドレス（可変アドレス）の領域が用いられている。
つまり、ＣＰＵ１２は、ＲＡＭ１３の中のシーケンス領域にあるデータ先頭アドレスやデータサイズやデータフラグのそれぞれのアドレス位置を記憶しており、それぞれにアクセスすることができる。
【００１９】
ここで、データ先頭アドレスの領域には、次にＣＰＵ１２へ渡す映像データの先頭アドレスがＤＳＰ１１により書き込まれる。本例では、この先頭アドレスは、データ領域の中のいずれかのアドレスを示す。
また、データサイズの領域には、次にＣＰＵ１２へ渡す映像データのサイズ（容量）がＤＳＰ１１により書き込まれる。
また、データフラグの領域には、例えば、「Ｒｅａｄ  ＯＫ」の状態と「Ｗｒｉｔｅ  ＯＫ」の状態の２値を取るフラグが格納され、これによりＤＳＰ１１とＣＰＵ１２との間でそれぞれの状態を通知する。
ＤＳＰ１１やＣＰＵ１２は、このフラグの状態を常に監視する。なお、例えば、ＤＳＰ１１が、ＲＡＭ１３のシーケンス領域のデータフラグを書き換えた場合には、割り込みパルスをＣＰＵ１２へ送信して、準備ができたことをＣＰＵ１２へ通知するようにしてもよく、この場合、ＣＰＵ１２は当該通知によりシーケンス領域のデータフラグが書き換えられたことを把握する。
【００２０】
本例では、フラグが「Ｒｅａｄ  ＯＫ」の状態のときにＤＳＰ１１が映像データをＲＡＭ１３に書き込んで（例えば、ＣＰＵ１２により読み出された映像データのアドレス位置に上書きして）フラグを「Ｗｒｉｔｅ  ＯＫ」の状態へ書き換え、フラグが「Ｗｒｉｔｅ  ＯＫ」の状態のときにＣＰＵ１２が映像データをＲＡＭ１３から読み出してフラグを「Ｒｅａｄ  ＯＫ」の状態へ書き換えることを繰り返す。また、ＣＰＵ１２は映像データを読まずにフラグを「Ｗｒｉｔｅ  ＯＫ」の状態から「Ｒｅａｄ  ＯＫ」の状態へ書き換えることで映像データの読み出しをスキップ（省略）することも可能である。
【００２１】
なお、このようにフラグの状態に応じてＤＳＰ１１による映像データの書き込みとＣＰＵ１２による映像データの読み出しを交互に行うと、例えばデータ領域の各記憶領域をループ状に繰り返して使用するような場合に有効であるが、例えば、ＲＡＭ１３のデータ領域に空きがあるときには、ＤＳＰ１１はフラグの状態とは無関係に映像データを順次データ領域に書き込んでいくことも可能である。また、ＲＡＭ１３のデータ領域に複数の映像データが格納されるようなときには、他の構成例として、ＣＰＵ１２はフラグの状態とは無関係に映像データを順次データ領域から読み出すことも可能である。
【００２２】
ＤＳＰ１１は、データ転送の状況に応じて（本例では、フラグの状態に応じて）、ＲＡＭ１３のシーケンス領域のデータ先頭アドレスやデータサイズやデータフラグの情報を順次書き換え、また、撮像素子１５により取得されたアナログ映像をデジタル化した映像データを１フレーム分ずつの単位で順次ＲＡＭ１３のデータ領域に格納していく。本例では、それぞれの１フレーム分の映像データはデータ領域内で連続した位置に格納される。
【００２３】
ＣＰＵ１２は、ＲＡＭ１３のシーケンス領域のデータ先頭アドレスやデータサイズの情報を読み取り、これらに基づいてデータ領域に格納された映像データを読み出す。具体的には、ＣＰＵ１２は、シーケンス領域のデータ先頭アドレスの情報により次に読み出すべき映像データが格納された先頭アドレスを把握することができ、シーケンス領域のデータサイズの情報により次に読み出すべき映像データのサイズを把握することができ、これらに基づいてデータ領域から次に読み出すべき映像データを読み出すことができる。本例では、ＣＰＵ１２による１回のデータ転送処理（例えば、データ転送命令など）により、１フレーム分の映像データが転送される。
【００２４】
図３には、ＤＳＰ１１のＲＡＭ１３のデータ領域に映像データが格納された様子の一例を示してある。
この例では、アドレス１〜アドレス５のそれぞれの位置を先頭として、それぞれの１フレーム分の映像データがデータ領域に格納されている。この場合、例えば、アドレス１〜アドレス５の順に時間的に早く取得された映像データが格納されているとすると、最も古い映像データを格納したアドレス１がシーケンス領域のデータ先頭アドレスの情報として設定され、当該アドレス１に格納された１フレーム分の映像データのサイズがシーケンス領域のデータサイズの情報として設定される。
なお、本例では、１フレーム分の映像データを連続したメモリ領域に格納するが、例えば、それぞれの１フレーム分の映像データが格納される順序（この例では、アドレス１〜アドレス５の存在する場所）としては、必ずしも時間順に並べられなくともよく、任意の並び順が用いられてもよい。
【００２５】
図４には、ＣＰＵ１２によりＤＳＰ１１のＲＡＭ１３に格納された映像データを読み取る様子の一例を示してある。
この例では、ＣＰＵ１２が、ＲＡＭ１３のアドレス１〜アドレス５のそれぞれに格納された１フレーム分の映像データを順次読み取るに際して、ネットワークが混雑していることから、アドレス３に格納された映像データは取得せずにネットワークへ発信しない場合を示す。
具体的には、ＣＰＵ１２とＤＳＰ１１との間でアドレス１からアドレス５まで順に１フレーム分ずつ映像データを転送するに際して、シーケンス領域のデータ先頭アドレスにアドレス３が格納されたときには、ＣＰＵ１２は、当該アドレス３に格納された映像データをＲＡＭ１３から読まずに、シーケンス領域のデータフラグを「Ｗｒｉｔｅ  ＯＫ」の状態から「Ｒｅａｄ  ＯＫ」の状態へ書き換える。これにより、ＤＳＰ１１は、アドレス３に格納された映像データがＣＰＵ１２により読まれたものと認識して（実際には読まれていないが）、データ先頭アドレスに次のアドレス４を設定する。
このように、アドレス３の映像データをＤＳＰ１１からＣＰＵ１２へ転送することなく、データの読み捨て（本例では、フレームスキップ）を行うことができる。
【００２６】
図５には、ＣＰＵ１２がＤＳＰ１１との間の通信制御を行う手順の一例を示してある。
ＣＰＵ１２は、ネットワークの混雑具合に基づいてネットワークへ映像データを流す余裕があるか否かを判定し（ステップＳ１）、ネットワークに余裕がある場合には、ＤＳＰ１１のＲＡＭ１３のシーケンス領域にあるデータ先頭アドレスの番地に対応するデータ領域の位置から、シーケンス領域にあるデータサイズに相当するサイズ分だけの映像データの転送（本例では、読み取り）を行い（ステップＳ２）、シーケンス領域にあるデータフラグを「Ｗｒｉｔｅ  ＯＫ」の状態から「Ｒｅａｄ  ＯＫ」の状態へ書き換える（ステップＳ３）。
一方、ネットワークが混雑していて余裕が無い場合には（ステップＳ１）、ＣＰＵ１２は、ＤＳＰ１１のＲＡＭ１３のシーケンス領域にあるデータ先頭アドレスで示された映像データを読まずに、シーケンス領域にあるデータフラグを「Ｗｒｉｔｅ  ＯＫ」の状態から「Ｒｅａｄ  ＯＫ」の状態へ書き換えることで、その映像データの読み取りをスキップする（ステップＳ３）。
【００２７】
そして、映像データを読み取ってネットワークへ発信する場合には、ＣＰＵ１２は、読み取った映像データのフレームに付加情報（例えば、ＪＰＥＧのアプリケーションマーカ等）を付加した後に（ステップＳ４）、そのフレームをネットワークへ転送（発信）する（ステップＳ５）。その後、ＣＰＵ１２は、再び、以上と同様な処理（ステップＳ１〜ステップＳ５の処理）を行う。
ここで、付加情報の一例であるアプリケーションマーカは、ＪＰＥＧのユーザデータ領域に格納される時間データ等のユーザデータのことを表している。ユーザデータとしては、種々なものが用いられてもよく、例えば、カメラにライトが備えられている場合に、映像データが取得された時にライトがオン状態であったか或いはオフ状態であったかを示すデータなどを用いることも可能である。
本例では、１フレーム単位で映像データが処理されるため、１フレーム分の映像データに対してユーザデータの付加が１回で済む。
【００２８】
図６には、ＤＳＰ１１がＣＰＵ１２との間の通信制御を行う手順の一例を示してある。
ＤＳＰ１１は、ＲＡＭ１３のシーケンス領域にあるデータ先頭アドレスの位置に格納された映像データについて、シーケンス領域にあるデータフラグが「Ｒｅａｄ  ＯＫ」の状態であるか否かを判定し（ステップＳ１１）、このデータフラグが「Ｒｅａｄ  ＯＫ」の状態である場合には、その映像データがＣＰＵ１２により既に読み出されたものと認識して、その映像データが格納されていた記憶領域を使用してデータ格納領域に新たな映像データを上書きする（ステップＳ１２）。なお、ここでは、同じ記憶領域をループ状に繰り返して使用する場合の例を示したが、データ領域に十分な空きがあれば、フラグの状態とは無関係に、データ領域に映像データを書き込むことも可能である。
また、ＤＳＰ１１は、次にＣＰＵ１２へ転送すべき映像データについて、ＲＡＭ１３のシーケンス領域にデータ先頭アドレスとデータサイズを書き込むとともに、データフラグを「Ｒｅａｄ  ＯＫ」の状態から「Ｗｒｉｔｅ  ＯＫ」の状態へ書き換えて、準備ができたことをＣＰＵ１２へ通知する（ステップＳ１３）。その後、ＤＳＰ１１は、再び、以上と同様な処理（ステップＳ１１〜ステップＳ１３の処理）を行う。
【００２９】
以上のように、本例のネットワークカメラ１におけるデータ転送では、例えば、図２に示されるようなＤＳＰ１１のＲＡＭ１３のメモリマップにおいて、シーケンス領域のアドレス位置をＣＰＵ１２との間で取り決めた位置に固定しておけば、他の領域（プログラム領域やデータ領域）については任意に変更しても、ＣＰＵ１２のプログラムを書き換える必要は無い。また、仮に、ＤＳＰ１１そのものを変更してデータ領域のアドレスが変わったとしても、シーケンス領域が不変であれば、ＣＰＵ１２はシーケンス領域に基づいて通知された先頭アドレスからサイズ分の映像データを読み出すため、通信に支障をきたすことなく、柔軟なプログラム変更が可能である。
【００３０】
本例では、例えば、ＤＳＰ１１だけ変更することや、ＣＰＵ１２だけ変更することや、ＤＳＰ１１のプログラムだけ変更することや、ＤＳＰ１１のＲＡＭ１３のデータ領域の構成だけ変更することなどが可能であり、非常に柔軟性が高い。一例として、ＲＡＭ１３のデータ領域において、ＪＰＥＧにより処理された映像データの格納領域、ＭＰＥＧにより処理された映像データの格納領域、Ａｕｄｉｏのデータ（音声データ）の格納領域などの種々な格納領域の位置や大きさを任意に変更することが可能である。
【００３１】
これに対して、例えば、ＤＳＰとＣＰＵとで、予め、映像データを読み出すデータ領域中のアドレスが設定されているような場合には、ＤＳＰにおいてデータ領域中の構造を変える場合にはＣＰＵにおいてもプログラムなどを変える必要がある。このため、ＤＳＰがデータ領域のアドレスを変更しようとしてプログラムを変更すると、その変更を全てＣＰＵのプログラムなどに反映する必要があり、本例の場合と比べて、柔軟性のあるプログラムとは言えない。
【００３２】
また、本例のネットワークカメラ１におけるデータ転送では、ＣＰＵ１２が映像データを伝送する先となるネットワークが混雑しているなどの理由から一部の映像データを破棄する必要がある場合には、ＤＳＰ１１からＣＰＵ１２へ該当する映像データを転送することなく、ＣＰＵ１２がその映像データを（実際には読み出さないが）読み出したことを表すフラグ「Ｒｅａｄ  ＯＫ」をＲＡＭ１３のシーケンス領域に書き込むことにより、ＤＳＰ１１に次のフレームの先頭アドレスとサイズを通知させることができる。このように、本例では、ＣＰＵ１２がＲＡＭ１３のシーケンス領域のデータフラグを書き換えるという簡易な処理を行うだけで、フレームスキップを実現することができる。
【００３３】
また、本例のネットワークカメラ１におけるデータ転送では、ＤＳＰ１１のＲＡＭ１３のシーケンス領域にデータ先頭アドレス及びデータサイズを設定し、それにより示される１フレーム分の映像データをデータ領域に格納した構成を用いて、１回の転送処理（例えば、１回の転送命令）で１フレーム分の映像データを処理することができるため、データ転送の効率が良く、処理の複雑さから解放される。具体的には、本例では、フレームの分割及び復元が不要であり、例えば、フレームを分割した場合に先頭や末尾に付加情報（ヘッダ等）を付ける処理や復元時にそれを解析する処理が不要となる。
ここで、本例では、好ましい態様として、１フレーム分の映像データを分割せずにまとめて格納や転送などする構成を示したが、他の構成例として、１フレーム分の映像データを１／２フレームずつや１／３フレームずつなどのように複数に分割して格納や転送などする構成とすることも可能であり、この場合、フレームの分割や復元を行う。
【００３４】
なお、映像発信装置の一例である本例のネットワークカメラ１では、ＲＡＭ１３によりＤＳＰ１１側のメモリが構成されており、ＲＡＭ１４によりＣＰＵ１２側のメモリが構成されており、ＤＳＰ１１がデータ転送のための処理を行う機能によりＤＳＰ側転送処理手段が構成されており、ＣＰＵ１２がデータ転送のための処理を行う機能によりＣＰＵ側転送処理手段が構成されている。また、ＤＳＰ１１側のメモリであるＲＡＭ１３では、データ先頭アドレスやデータサイズの情報により指定情報が構成されており、シーケンス領域により指定情報格納領域が構成されており、データ領域により映像データ格納領域が構成されている。
【００３５】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々なシステムや装置として提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施例に係るネットワークカメラの構成例を示す図である。
【図２】ＤＳＰのＲＡＭのメモリマップの一例を示す図である。
【図３】ＤＳＰのＲＡＭのデータ領域の一例を示す図である。
【図４】ＣＰＵによる映像データの読み取りの様子の一例を示す図である。
【図５】ＣＰＵにより行われる処理の手順の一例を示す図である。
【図６】ＤＳＰにより行われる処理の手順の一例を示す図である。
【符号の説明】
【００３７】
１・・ネットワークカメラ、  １１・・ＤＳＰ、  １２・・ＣＰＵ、  １３、１４・・ＲＡＭ、  １５・・撮像素子、  ２１・・ＰＣＩバス、
【図１】
2008015798.tif 000003
【図２】
2008015798.tif 000004
【図３】
2008015798.tif 000005
【図４】
2008015798.tif 000006
【図５】
2008015798.tif 000007
【図６】
2008015798.tif 000008