(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段は、前記プロファイル取得コマンドに含まれるサービス名に応じて、サポートされていないエンコード種別が設定されているビデオエンコーダ設定を含むプロファイルを最後に前記外部装置に送信するよう制御することを特徴とする請求項4記載の撮像装置。
【背景技術】
【0002】
従来、クライアント装置へ撮像画像を送信する監視カメラにおいて、外部装置から監視カメラの設定変更や、画像の配信の開始を指示するコマンド群が実装されている。そのようなコマンド群の例として、ONVIF(Open Network Video Interface Forum)により策定された規格によって定義されるものが知られている(非特許文献1)。
ONVIFでは監視カメラの設定(コンフィグレーション)として、以下のものが設定されている。即ち、画像の歪み補正、切り出し範囲の有無や種類を決定するデワープ情報やセンサーが出力可能な解像度を含むビデオソース設定(Video Source Configuration)が定義されている。また、画像の符号化のエンコード種別や解像度等を含むビデオエンコーダ設定(Video Encoder Configuration)が定義されている。また、パン・チルト・ズームをサポートする・しない等を含むPTZ設定(PTZ Configuration)等が定義されている。
これらのコンフィグレーションは監視カメラの制御に指定するプロファイル(Profile)にマッピング(関連付け)され、監視カメラは、そのプロファイルにマッピングされたコンフィグレーションの内容で映像配信やPTZ制御等を行う。プロファイルとは、上記の各設定の集合であり、例えば、クライアント装置が、監視カメラから映像ストリームを受信する際に使う。例えば、クライアント装置は、プロファイルに含まれる各設定を指定し、その各設定に基づく映像ストリームを送信するよう、監視カメラに指示する。
図1は、ONVIFでコンフィグレーションをプロファイルにマッピングする一例を示す図である。このように1つ以上のビデオソース設定、ビデオエンコーダ設定、PTZ設定からそれぞれ1つを選択し、プロファイルにマッピングする。
監視カメラが各コンフィグレーションをマッピング済みのプロファイルを準備するか、クライアント装置が監視カメラから各コンフィグレーションを取得し、そのコンフィグレーションをプロファイルにマッピングする方法がある。クライアント装置でプロファイルにマッピングする場合は、各コンフィグレーション間の依存関係を考慮してマッピングする必要がある。
例えば、全方位カメラで魚眼、パノラマ画像、魚眼からの一部切り出し画像等、複数の画像を生成できるカメラの場合、画像のデワープ情報はビデオソース設定で指定する。
監視カメラから魚眼画像を配信する場合には、魚眼画像に対応したビデオソース設定をプロファイルにマッピングするが、その際に魚眼画像で設定可能な解像度を持つビデオエンコーダ設定を設定する必要がある。
また、魚眼画像でPTZできない場合は、PTZ設定はプロファイルにマッピングできない。
このように配信する画像のデワープ情報によって、それに対応したビデオソース設定、ビデオエンコーダ設定、PTZ設定をプロファイルにマッピングする必要があり、正しくマッピングしないと監視カメラは映像配信、PTZ制御が行えない。
また、特許文献1には、ビデオソース設定とビデオエンコーダ設定との設定値間を調整する撮像装置が開示されている。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面に基づいて説明する。
【0010】
<実施形態1>
図2は、監視カメラ10を含むシステム構成の一例を示す図である。監視カメラ10とクライアント装置20とは、ネットワーク35を介して相互に通信可能な状態に接続されている。クライアント装置20は、監視カメラ10に対して、プロファイル紐付け設定コマンドやプロファイル取得コマンド等の各制御コマンドを送信する外部装置である。監視カメラ10は、コマンドに対するレスポンスをクライアント装置20に送信する。
以下の説明において、デワープ情報とは、デワープ処理に関する情報である。例えば、魚眼レンズを介して撮影された魚眼画像に対して、デワープ処理と呼ばれる、画像の切出しと歪み補正の両方の処理が行わることが多い。切出された画像は、その切出し位置や、切出す数、切出し位置の変更が可能かによって、様々な呼ばれ方をする。例えば、切出し範囲が広い場合はパノラマと呼ばれることがある。また、魚眼画像から、切出し位置を変更可能な4つの画像を切出す場合は、4画面モードや4画切出しモードと呼ばれることがある。2つのパノラマ映像を切出す場合はダブルパノラマモードと呼ばれることがある。
また、デワープ処理における歪み補正処理は魚眼レンズに起因する歪みや傾きを調整し、人が視認している状態とほぼ同じ状態の画像に変換する処理である。
各実施形態では少なくとも上記の補正処理を行うことをデワープ処理と称し、それに関する情報をデワープ情報と称することとする。つまり、デワープ処理を行ったか否か(又はデワープ処理をすべきか否か)を示す情報や、どのようなデワープ処理を行ったかを示す情報(その名称)等をデワープ情報と称することとする。デワープ情報は、単に魚眼画像に係る各映像ストリームの名称(魚眼、切出し、パノラマ等)を示すものであったり、その名称を示すインデックスであったりしてもよい。少なくとも監視カメラと、クライアント装置との間で、魚眼画像に基づくどのような映像ストリームが送受信されるかが分かる情報であればよい。
【0011】
図3(a)は、監視カメラ10のハードウェア構成の一例を示す図である。
CPU11は、監視カメラ10の全体の制御を行う。
メモリ12は、様々なデータの格納領域として使用される。格納領域としては、CPU11が実行するプログラム格納領域、プログラム実行中のワーク領域等がある。また、格納領域としては、監視カメラの設定値(コンフィグレーション)、プロファイル、プロファイルとデワープ情報との紐付け設定、天井付けや壁付け等のカメラの設置状況等の設定値格納領域がある。
また、格納領域としては、コンフィグレーション間の依存関係テーブル、デワープ情報ごとのパン・チルト・ズームサポート情報等の情報格納領域、後述する撮像部13が生成する画像データの格納領域等がある。また、コンフィグレーションとして、画像の歪み補正と切り出し範囲の有無や種類を決定するデワープ情報やセンサーが出力可能な解像度を含むビデオソース設定(Video Source Configuration)等がある。また、コンフィグレーションとして、画像の符号化のエンコード種別や解像度等を含むビデオエンコーダ設定(Video Encoder Configuration)等がある。また、コンフィグレーションとして、パン・チルト・ズームをサポートする・しない等を含むPTZ設定(PTZ Configuration)等がある。また、コンフィグレーションは監視カメラの制御に指定するプロファイル(Profile)にマッピング(対応付け)され、監視カメラはそのプロファイルにマッピングされたコンフィグレーションの内容で映像配信やPTZ制御等を行う。
撮像部13は、監視カメラ10の撮像光学系により結像された被写体の像を撮像して取得したアナログ信号をデジタルデータに変換し、撮像画像としてメモリ12に出力する。撮像画像がメモリ12に出力されたとき、CPU11は撮像部13から画像取得イベントを受信する。
通信部14は、プロファイル取得等の各制御コマンドを外部機器から受信する場合、また各制御コマンドに対するレスポンスを外部機器へ送信する場合に使用される。外部機器からコマンドを受信した場合、CPU11は通信部14からコマンド受信イベントを受信する。
CPU11がメモリ12に記憶されたプログラムに基づき処理を実行することによって、後述する
図4(a)のソフトウェア構成及び
図5のシーケンス図の監視カメラ10の処理、
図7〜
図11のフローチャートの処理が実現される。
ここで、
図3(a)に示した監視カメラ10のハードウェア構成は一例であり、
図3(a)に示したもの以外に、監視カメラ10は、音声入力部、音声出力部、画像解析処理部等をハードウェアとして有していてもよい。
【0012】
図3(b)は、クライアント装置20のハードウェア構成の一例を示す図である。
CPU21は、クライアント装置20の全体の制御を行う。
メモリ22は、主にCPU21が実行するプログラム格納領域、プログラム実行中のワーク領域等、様々なデータの格納領域として使用される。
表示部23は、例えばLCD、有機ELディスプレイ等で構成される。表示部23は、クライアント装置20の使用者に対して、プロファイルとデワープ情報との紐付けを行う設定画面を含む様々な設定画面や表示画面、監視カメラ10から受信する映像のビューワ、各種メッセージ等を表示する。
入力部24は、例えばボタン、十字キー、タッチパネル、マウス等で構成され、使用者による画面操作の内容をCPU21に通知する。
通信部25は、プロファイル紐付け設定コマンドやプロファイル取得を含む各制御コマンドを監視カメラ10に対して送信する場合、各制御コマンドに対するレスポンスや、映像ストリームを監視カメラ10から受信する場合等に使用される。
CPU21がメモリ22に記憶されたプログラムに基づき処理を実行することによって、後述する
図4(b)のソフトウェア構成及び
図5のシーケンス図のクライアント装置20の処理が実現される。
【0013】
図4(a)は、監視カメラ10のソフトウェア構成の一例を示す図である。
制御部100は、監視カメラ10の全体の処理を制御する。
撮像制御部101は、撮像部13を制御する。例えば、撮像制御部101は、制御部100が入力するパン、チルト、或いはズームの値に従って、撮像部13の撮像範囲をチルト駆動、パン駆動、或いはズーム駆動に変更させる。
圧縮符号化部102は、撮像部13が出力した撮像画像に対してJPEG或いはH.264、H.265等の形式に基づき圧縮符号化処理を行うことにより画像データを生成し、メモリ12に出力する。
撮像制御部101は、ハードウェア構成として監視カメラ10に実装されていてもよい。同様に、圧縮符号化部102も、ハードウェア構成として監視カメラ10に実装されていてもよい。
【0014】
図4(b)は、クライアント装置20のソフトウェア構成の一例を示す図である。
制御部200は、クライアント装置20の全体の処理を制御する。
復号部201は、通信部25を介して受信された圧縮符号化されている画像データをJPEG、或いはH.264、H.265等の形式に基づいて復号化し、メモリ22に展開する。
復号部201は、ハードウェア構成としてクライアント装置20に実装してもよい。
【0015】
図5は、監視カメラ10のプロファイル紐付け設定コマンドとプロファイル取得コマンドとに係る処理のシーケンス図である。
クライアント装置20の制御部200は、プロファイルとデワープ情報との紐付け情報を含むプロファイル紐付け設定コマンドを送信する。監視カメラ10の制御部100は、プロファイル紐付け設定コマンドを受信し、プロファイル紐付け設定コマンド処理30を行い、その応答としてプロファイル紐付け設定レスポンスをクライアント装置20に送信する。クライアント装置20の制御部200は、プロファイル紐付け設定レスポンスを受信する。プロファイルは、
図1等に示されるように、複数の設定情報を含む設定情報群である。また、紐付け情報は、プロファイルとデワープ情報との関連を示す情報の一例である。
クライアント装置20の制御部200は、プロファイル取得コマンドを送信する。監視カメラ10の制御部100は、プロファイル取得コマンドを受信し、プロファイル取得コマンド処理31を行い、その応答としてプロファイル取得レスポンスをクライアント装置20に送信する。クライアント装置20の制御部200は、プロファイル取得レスポンスを受信する。
図5では同一のクライアント装置20からプロファイル紐付け設定コマンドとプロファイル取得コマンドとを送信しているが、異なるクライアント装置20から各コマンドを送信してもよい。また、各コマンドのプロトコルを制限するものではなく、コマンドのプロトコルはONVIFや監視カメラ独自の制御プロトコル等である。
プロファイル紐付け設定コマンド処理30、プロファイル取得コマンド処理31は、情報処理の一例である。
【0016】
図6は、プロファイルとデワープ情報との紐付けを行う設定画面である。
図6の設定画面は、クライアント装置20の表示部23に表示される。プロファイルID一覧表示エリア41には監視カメラ10に設定されているプロファイルの識別子IDの一覧が表示される。ユーザはクライアント装置20の入力部24を操作し、デワープ情報選択ボックス42からプロファイルに紐付けるデワープ情報を選択する。ユーザが紐付け設定43を選択すると、クライアント装置20の制御部200は、プロファイル紐付け設定コマンドを監視カメラ10に送信する。
図6の設定画面を表示するためのデータは、クライアント装置20が有していてもよいし、監視カメラ10が有しており、クライアント装置20からの要求に応じて、クライアント装置20のWebブラウザ等に表示されるようにしてもよい。
【0017】
図7は、プロファイル紐付け設定コマンド処理30の一例を示すフローチャートである。
S51で、制御部100は、プロファイル紐付け設定コマンドにより指定されたプロファイル紐付け情報(プロファイルとデワープ情報との紐付け情報)をメモリ12に格納し、S52に遷移する。
S52で、制御部100は、メモリ12から、ビデオソース設定、ビデオエンコーダ設定、PTZ設定の依存関係テーブル60を取得し、S53に遷移する。
図8は、プロファイルにマッピング可能なコンフィグレーション間の依存関係テーブルの一例を示す図である。ビデオソース設定1と一緒にプロファイルにマッピング可能なビデオエンコーダ設定はビデオエンコーダ設定1で、PTZ設定はない。また、ビデオソース設定2と一緒にプロファイルにマッピング可能なビデオエンコーダ設定はビデオエンコーダ設定2で、PTZ設定はPTZ設定1である。
【0018】
S53で、制御部100は、メモリ12から、プロファイルとデワープ情報との紐付け情報を取得し、デワープ情報に対応するビデオソース設定をプロファイルにマッピングし、S54に遷移する。S53の処理は、プロファイルとデワープ情報との紐付け情報を取得する処理の一例である。
S54で、制御部100は、依存関係テーブルの内容で、マッピングしたビデオソース設定に対応するビデオエンコード設定とPTZ設定とをプロファイルにマッピングする。
S53及びS54の処理は、紐付け情報に基づいてビデオソース設定とビデオエンコード設定とPTZ設定とをプロファイルに対応付ける対応付け処理の一例である。また、S54の処理は、依存関係テーブルに基づき、マッピングしたビデオソース設定に設定可能なビデオエンコード設定とPTZ設定とプロファイルにマッピングする処理の一例である。
S55で、制御部100は、プロファイル紐付け設定コマンドの応答を生成し、クライアント装置20にプロファイル紐付け設定コマンドの応答を送信する。
【0019】
図9は、プロファイル取得コマンド処理31の一例を示すフローチャートである。
S71で、制御部100は、プロファイル設定コマンドに含まれるONVIFサービス名を取得し、ONVIFサービス名がビデオエンコーディングとしてJPEG、H.264をサポートするMeidaサービスであるか否かを判定する。制御部100は、ONVIFサービス名がビデオエンコーディングとしてJPEG、H.264をサポートするMeidaサービスである場合、S72に遷移し、それ以外の場合はS73に遷移する。
S72で、制御部100は、プロファイル取得コマンドの応答として返すプロファイルの順番を並べ替える。まず、制御部100は、プロファイルに含まれるビデオエンコーダ設定のエンコード種別がH.264、JPEG、H.265の順番でプロファイルを並べ替える。そして、制御部100は、同じエンコード種別のプロファイルは更にプロファイルIDのアルファベット昇順で並べ替え、S76に遷移する。
【0020】
S73で、制御部100は、プロファイル設定コマンドに含まれるONVIFサービス名を取得し、ONVIFサービス名がビデオエンコーディングとしてJPEG、H.264、H.265をサポートするMedia2サービスであるか否かを判定する。制御部100は、ONVIFサービス名がビデオエンコーディングとしてJPEG、H.264、H.265をサポートするMedia2サービスであった場合、S74に遷移し、それ以外であった場合、S75に遷移する。
S74で、制御部100は、プロファイル取得コマンドの応答として返すプロファイルの順番を並べ替える。まず、制御部100は、プロファイルに含まれるビデオエンコーダ設定のエンコード種別がH.265、H.264、JPEGの順番でプロファイルを並べ替える。その後、制御部100は、同じエンコード種別のプロファイルは更にプロファイルIDのアルファベット昇順で並べ替え、S76に遷移する。
S75で、制御部100は、プロファイル取得コマンドの応答として返すプロファイルの順番を並べ替える。制御部100は、プロファイルIDのアルファベット昇順でプロファイルを並べ替え、S76に遷移する。
S76で、制御部100は、プロファイル取得コマンドの応答を並べ替えたプロファイルで作成し、クライアント装置20にプロファイル取得コマンドの応答を送信する。
図9では、プロファイル取得コマンドに含まれるサービス名に応じて、応答するプロファイルの順番を決定する制御の一例を示したが、サービス名の替わりにバージョン情報に応じて、応答するプロファイルの順番を決定する制御をするようにしてもよい。
図9の処理は、プロファイル取得コマンドに含まれるサービス名に応じて、サポートされていないエンコード種別が設定されているビデオエンコーダ設定を含むプロファイルを最後にクライアント装置20に送信するよう制御する処理の一例である。
【0021】
以上、説明したように、実施形態1では、ユーザはビデオソース設定、ビデオエンコーダ設定、PTZ設定間の依存関係を考慮する必要がない。監視カメラ10がコンフィグレーション間の依存関係テーブルを基に、ユーザがプロファイルに紐付けたデワープ情報に適合したビデオソース設定、ビデオエンコーダ設定、PTZ設定をプロファイルにマッピングすることができる。そのため、適切な映像配信、PTZ制御を行うことができる。
また、プロファイル取得コマンドで返すプロファイルを、クライアント装置20が扱うことが可能なプロファイルで優先的に返すことができる。
【0022】
<実施形態2>
以下、
図10を参照して、実施形態2に係る監視カメラ10のプロファイル紐付け設定コマンド受信時のプロファイル紐付け設定コマンド処理30について説明する。実施形態1と同じ部分については説明を省略する。
S81で、制御部100は、プロファイル紐付け設定コマンドに指定されたプロファイル紐付け情報をメモリ12に格納し、S82に遷移する。
S82で、制御部100は、メモリ12から、デワープ情報毎のパン・チルト・ズーム可能かを表すパン・チルト・ズームサポート情報を取得し、S83に遷移する。
S83で、制御部100は、メモリ12から、デワープ情報に対応するビデオソース設定をプロファイルにマッピングし、S84に遷移する。
S84で、制御部100は、ビデオソース設定のセンサーが出力可能な解像度を含む解像度を持つビデオエンコード設定をプロファイルにマッピングし、S85に遷移する。
S85で、制御部100は、パン・チルト・ズームサポート情報からデワープ情報がパン・チルト・ズームの何れかをサポートするか否かを判定する。制御部100は、デワープ情報がパン・チルト・ズームの何れかをサポートする場合、S86に遷移し、何れもサポートしない場合、S87に遷移する。
S86で、制御部100は、パン・チルト・ズームサポート情報に一致するPTZ設定をプロファイルにマッピングし、S87に遷移する。
S87で、制御部100は、プロファイル紐付け設定コマンドの応答を生成し、クライアント装置20にプロファイル紐付け設定コマンドの応答を送信する。
【0023】
以上、説明したように、実施形態2では、ユーザはビデオソース設定、ビデオエンコーダ設定、PTZ設定間の依存関係を考慮する必要がない。監視カメラ10がビデオソース設定及びビデオエンコーダ設定の解像度とパン・チルト・ズームサポート情報とから適合するビデオソース設定、ビデオエンコーダ設定、PTZ設定をプロファイルにマッピングすることができる。そのため、適切な映像配信、PTZ制御を行うことができる。
また、プロファイル取得コマンドで返すプロファイルを、クライアント装置20が扱うことが可能なプロファイルで優先的に返すことができる。
【0024】
<実施形態3>
以下、
図11を参照して、実施形態3に係る監視カメラ10のプロファイル取得コマンド受信時のプロファイル取得コマンド処理31について説明する。実施形態1と同じ部分については説明を省略する。
S91で、制御部100は、メモリ12からカメラの設置状態を取得し、天井付けであるか否かを判定する。制御部100は、天井付けであった場合、S92に遷移し、それ以外の場合は、S93に遷移する。
S92で、制御部100は、プロファイル取得コマンドの応答として返すプロファイルの順番を並べ替える。まず、制御部100は、プロファイルに含まれるビデオソース設定のデワープ情報が魚眼(デワープ処理無し)、切り出し1(デワープ処理ありで2次元的に切出し位置の変更が可能)、パノラマ(デワープ処理ありで、2次元的な切出し位置の変更は不可)の順番でプロファイルを並べ替えた後、同じデワープ情報のプロファイルは更にプロファイルIDのアルファベット昇順で並べ替え、S96に遷移する。
【0025】
S93で、制御部100は、メモリ12からカメラの設置状態を取得し、壁付けであるか否かを判定する。制御部100は、壁付けであった場合、S94に遷移し、それ以外の場合は、S95に遷移する。
S94で、制御部100は、プロファイル取得コマンドの応答として返すプロファイルの順番を並べ替える。まず、制御部100は、プロファイルに含まれるビデオソース設定のデワープ情報がパノラマ、切り出し1、魚眼の順番でプロファイルを並べ替えた後、同じデワープ情報のプロファイルは更にプロファイルIDのアルファベット昇順で並べ替え、S96に遷移する。
S95で、制御部100は、プロファイル取得コマンドの応答として返すプロファイルの順番を並べ替える。制御部100は、プロファイルIDのアルファベット昇順で並べ替え、S96に遷移する。
S96で、制御部100は、プロファイル取得コマンドの応答を並べ替えたプロファイルで作成し、クライアント装置20にプロファイル取得コマンドの応答を送信する。
【0026】
以上、説明したように、実施形態3では、ユーザはビデオソース設定、ビデオエンコーダ設定、PTZ設定間の依存関係を考慮する必要がない。監視カメラ10がコンフィグレーション間の依存関係テーブルを基に、ユーザがプロファイルに紐付けたデワープ情報に適合したビデオソース設定、ビデオエンコーダ設定、PTZ設定をプロファイルにマッピングすることができる。そのため、適切な映像配信、PTZ制御を行うことができる。
また、プロファイル取得コマンドで返すプロファイルを、天井付けや壁付け等の監視カメラの設置状態で使用されることが想定されるプロファイルで優先的に返すことができる。
【0027】
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0028】
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
上述した監視カメラ10のハードウェア構成は一例であり、例えば、CPUやメモリ、通信部等は複数有していてもよい。また、複数のCPUがプログラムに基づき、複数のメモリに記憶されたデータ等を用いながら処理を実行するようにしてもよい。また、CPUに替えてGPU(Graphics Processing Unit)を用いることとしてもよい。
また、上述した実施形態を任意に組み合わせて実施してもよい。