(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-15
(45)【発行日】2024-03-26
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06F 3/0338 20130101AFI20240318BHJP
G06F 3/0484 20220101ALI20240318BHJP
H04N 23/695 20230101ALI20240318BHJP
H04N 23/66 20230101ALI20240318BHJP
【FI】
G06F3/0338 412
G06F3/0484
H04N23/695
H04N23/66
(21)【出願番号】P 2020090278
(22)【出願日】2020-05-25
【審査請求日】2023-04-03
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100109380
【氏名又は名称】小西 恵
(74)【代理人】
【識別番号】100109036
【氏名又は名称】永岡 重幸
(72)【発明者】
【氏名】水間 拳士郎
【審査官】木村 慎太郎
(56)【参考文献】
【文献】特開平11-275434(JP,A)
【文献】特開2008-217734(JP,A)
【文献】特開2002-041236(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0338
G06F 3/0484
H04N 23/695
H04N 23/66
(57)【特許請求の範囲】
【請求項1】
撮像装置の撮像方向を制御するために用いるジョイスティックの傾斜量と、前記撮像方向を変更する変更速度とを対応付けた情報である第1マッピング情報を取得する取得手段と、
ユーザ操作による前記ジョイスティックの傾斜量と、前記第1マッピング情報とに基づき、前記撮像方向の変更速度を決定する決定手段と、
前記決定手段により決定された前記撮像方向の変更速度に基づき、前記ジョイスティックの傾斜量と前記撮像方向の変更速度とを対応付けた情報である第2マッピング情報を生成する生成手段と
を有
し、
前記生成手段は、所定期間において前記決定手段により決定された前記撮像方向の変更速度に基づき、ユーザによる使用頻度が閾値以上の変更速度の範囲を特定し、特定した変更速度の範囲に従って、前記第2マッピング情報を生成することを特徴とする情報処理装置。
【請求項2】
前記決定手段は、前記第2マッピング情報が生成されたのち、ユーザ操作による前記ジョイスティックの傾斜量と、前記第2マッピング情報とに基づき、前記撮像方向の変更速度を決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記決定手段により決定された変更速度に従って前記撮像装置の撮像方向を制御する処理を実行する制御手段
を更に有することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記撮像装置は、パン方向およびチルト方向において前記撮像方向を変更可能であり、
前記第1マッピング情報は、前記パン方向における前記撮像方向の変更速度の決定に用いられる第1パンマッピング情報と、前記チルト方向における前記撮像方向の変更速度の決定に用いられる第1チルトマッピング情報とを含み、
前記決定手段は、ユーザによる前記ジョイスティックの傾斜量および傾斜方向と、前記第1マッピング情報に含まれる前記第1パンマッピング情報および前記第1チルトマッピング情報とに基づき、前記パン方向における前記撮像方向の変更速度と、前記チルト方向における前記撮像方向の変更速度とをそれぞれ決定する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記生成手段は、所定期間において前記決定手段により決定された前記パン方向における前記撮像方向の変更速度と前記チルト方向における前記撮像方向の変更速度とに基づき、前記パン方向における前記撮像方向の変更速度の決定に用いられる第2パンマッピング情報と、前記チルト方向における前記撮像方向の変更速度の決定に用いられる第2チルトマッピング情報とを含む前記第2マッピング情報を生成する
ことを特徴とする請求項
4に記載の情報処理装置。
【請求項6】
情報処理装置によって実行される情報処理方法であって、
撮像装置の撮像方向を制御するために用いるジョイスティックの傾斜量と、前記撮像方向を変更する変更速度とを対応付けた情報である第1マッピング情報を取得し、
ユーザ操作による前記ジョイスティックの傾斜量と、前記第1マッピング情報とに基づき、前記撮像方向の変更速度を決定し、
所定期間において決定された前記撮像方向の変更速度に基づき、ユーザによる使用頻度が閾値以上の変更速度の範囲を特定し、特定した変更速度の範囲に従って、前記ジョイスティックの傾斜量と前記撮像方向の変更速度とを対応付けた情報である第2マッピング情報を生成する
ことを特徴とする情報処理方法。
【請求項7】
コンピュータを、請求項1から
5のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
従来、動画配信や映像制作の現場で使用されるリモートカメラのパンチルト操作(PT操作)を制御する入力装置として、ジョイスティックが用いられている。ジョイスティックによりカメラのPT操作を行う場合、ジョイスティックの傾きの大きさとPT速度とを対応付けて制御する。
ジョイスティックは、コンピュータのカーソルの操作やゲームのキャラクターの移動の操作等、カメラのPT操作以外にも使用される。ジョイスティックの傾きと操作対象の動作速度とのマッピングには、直線的なマッピングや曲線的なマッピングなどの選択肢がある。特許文献1には、ジョイスティックによるコンピュータのカーソル操作におけるマッピングとして、動作速度の一番遅い速度域と一番速い速度域との傾きが緩やかになるようにシグモイド関数を用いたマッピング方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に記載の技術では、ジョイスティックのマッピングをキャリブレーションするということは行っておらず、ユーザごとにジョイスティック操作の仕方が異なる場合でもすべてのユーザで同一のマッピングを使用している。そのため、ユーザによっては操作性が悪いと感じる場合がある。
そこで、本発明は、ユーザごとの入力装置の操作の特徴を考慮して、適切に入力装置の操作量と操作対象の動作速度とのマッピングを行うことを課題としている。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る情報処理装置の一態様は、撮像装置の撮像方向を制御するために用いるジョイスティックの傾斜量と、前記撮像方向を変更する変更速度とを対応付けた情報である第1マッピング情報を取得する取得手段と、ユーザ操作による前記ジョイスティックの傾斜量と、前記第1マッピング情報とに基づき、前記撮像方向の変更速度を決定する決定手段と、前記決定手段により決定された前記撮像方向の変更速度に基づき、前記ジョイスティックの傾斜量と前記撮像方向の変更速度とを対応付けた情報である第2マッピング情報を生成する生成手段と、を有し、前記生成手段は、所定期間において前記決定手段により決定された前記撮像方向の変更速度に基づき、ユーザによる使用頻度が閾値以上の変更速度の範囲を特定し、特定した変更速度の範囲に従って、前記第2マッピング情報を生成する。
【発明の効果】
【0006】
本発明によれば、ユーザごとの入力装置の操作の特徴を考慮して、適切に入力装置の操作量と操作対象の動作速度とのマッピングを行うことができる。
【図面の簡単な説明】
【0007】
【
図1】本実施形態におけるカメラシステムの一例を示す構成図。
【
図5】第一の実施形態における制御装置の記憶装置の構成例を示す図。
【
図6】第一の実施形態のPT速度決定処理の一例を示すフローチャート。
【
図7】第一の実施形態のマッピング処理の一例を示すフローチャート。
【
図8】第一の実施形態のパン速度データのヒストグラムの一例を示すグラフ。
【
図9】第一の実施形態におけるマッピングの一例を示すグラフ。
【
図10】第二の実施形態における制御装置の記憶装置の構成例を示す図。
【
図11】第二の実施形態のPT速度決定処理の一例を示すフローチャート。
【
図12】第二の実施形態のマッピング処理の一例を示すフローチャート。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【0009】
図1は、本実施形態におけるカメラシステム1000の構成例を示すブロック図である。カメラシステム1000は、撮像装置100と、制御装置200と、を備える。撮像装置100と制御装置200とは、ネットワーク300によって相互に通信可能に接続されている。
ネットワーク300は、例えば、Ethernet(登録商標)の通信規格に準拠する複数のルータ、スイッチ、ケーブル等から構成される。なお、ネットワーク300は、撮像装置100と制御装置200との間で通信可能な構成であれば、その通信規格、規模および構成は問わない。ネットワーク300は、インターネットや有線LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、若しくはこれらの複合により実現してもよい。
【0010】
撮像装置100は、レンズを介して画像データや動画データを撮像するネットワークカメラ(以下、単に「カメラ」という。)である。本実施形態において、カメラ100は、撮像領域を変更可能に構成されたPTZカメラ(パン・チルト・ズームカメラ)である。
カメラ100は、クライアントからのリクエストに応じて、撮像した画像データ等を、ネットワーク300を介してクライアント装置に送信することができる。また、カメラ100は、予め接続されたクライアント装置に対して能動的に画像データ等を送信してもよい。ここで、上記クライアント装置は、制御装置200であってもよい。
【0011】
制御装置200は、パーソナルコンピュータ(PC)やスマートフォン、タブレット型PCといった一般的な端末装置により構成される情報処理装置である。また、制御装置200は、リモートカメラを操作するための専用コントローラ機器等であってもよい。
制御装置200は、カメラ100のPTZ制御を行うことができる。なお、制御装置200は、PTZ制御のみではなく、フォーカスやホワイトバランス等、カメラ100の設定や制御を司るカメラ制御装置であってよい。
【0012】
図2は、カメラ100のハードウェア構成例である。
カメラ100は、CPU101、一次記憶装置102、二次記憶装置103、画像入力I/F104、撮像部105、PTZ駆動部106およびネットワークI/F107を備える。CPU101、一次記憶装置102、二次記憶装置103、画像入力I/F104、撮像部105、PTZ駆動部106およびネットワークI/F107は、内部バス108に接続されている。
【0013】
CPU101は、カメラ100における動作を統括的に制御する。
一次記憶装置102は、例えば、RAMに代表される書き込み可能な高速の記憶装置である。この一次記憶装置102は、例えば、OS(オペレーティングシステム)や各種のプログラムおよび各種のデータ等がロードされ、また、CPU101がOSや各種のプログラム等を実行する際の作業領域としても使用される。
カメラ100の機能や処理は、CPU101が一次記憶装置102に格納されているプログラムを読み出し、そのプログラムを実行することで実現することができる。
二次記憶装置103は、例えば、HDD、フラッシュメモリ、SDカード等に代表される不揮発性の記憶装置であり、着脱可能な構成であってもよい。この二次記憶装置103は、OSや各種のプログラムおよび各種のデータ等の永続的な記憶領域として使用される他に、短期的な各種のデータ等の記憶領域としても使用される。
【0014】
画像入力I/F104は、接続されている撮像部105から画像データを入力するためのインタフェースである。
撮像部105は、撮像光学系を構成するレンズ部や撮像素子を備える。撮像素子は、CCD(Charge Coupled Device)センサやCMOS(Complementary Metal Oxide Semiconductor)センサなどを備え、その受光面上に形成された像を電気信号に変換する。
PTZ駆動部106は、モータ等を制御してカメラ100のPTZを制御する。
ネットワークI/F107は、ネットワーク300と接続するためのインタフェースである。制御装置200からのネットワーク通信は、ネットワークI/F107を通じて各種プログラムへと伝達される。
【0015】
図3は、制御装置200のハードウェア構成例である。
クライアント装置200は、CPU201、一次記憶装置202、二次記憶装置203、ユーザ入出力I/F204、入力装置205、表示装置206およびネットワークI/F207を備える。CPU201、一次記憶装置202、二次記憶装置203、ユーザ入出力I/F204、入力装置205、表示装置206およびネットワークI/F207は、内部バス208に接続されている。
【0016】
クライアント装置200は、
図2の画像入力I/F104、撮像部105およびPTZ駆動部106に替えて、ユーザ入出力I/F204、入力装置205および表示装置206を具備した構成を有する。CPU201、一次記憶装置202、二次記憶装置203、ネットワークI/F207の構成は、
図2のCPU101、一次記憶装置102、二次記憶装置103、ネットワークI/F107の構成と同様である。
ユーザ入出力I/F204は、制御装置200がユーザからの操作を受け付けたり、ユーザに対して映像等を提示したりするためのインタフェースである。このユーザ入出力I/F204を介して、ユーザによるタッチ操作やマウス操作、音声入力、撮像画像を用いた処理などが各種プログラムへと伝達される。
【0017】
入力装置205は、ユーザが操作可能な入力装置であり、スティックを傾けることにより入力が行えるジョイスティックを備える。ジョイスティックは、ユーザにより操作量が調整可能な入力装置である。制御装置200がPC等である場合、ジョイスティック205はUSB等により接続され、CPU201においてスティックの傾きに応じた入力値が取得可能である。また、制御装置200がコントローラ機器等である場合は、当該機器にジョイスティック205がマウントされており、CPU201において入力値が取得可能である。CPU201において取得できる値については後述する。
なお、入力装置205は、例えば、キーボードやマウス等のポインティングデバイスを含む、ユーザが操作可能なI/O機器を備えていてもよい。
【0018】
表示装置206は、ユーザインタフェース(UI)画像や、カメラ100にて撮像された画像などを、画面上に表示するための装置である。表示装置206は、液晶ディスプレイ(LCD)や有機ELディスプレイ等のモニタを備える。
なお、後述する制御装置200の機能や処理は、CPU201が一次記憶装置202に格納されているプログラムを読み出し、そのプログラムを実行することにより実現されるものである。
【0019】
図4は、ジョイスティック205の概略を示す図である。
ジョイスティック205は、傾斜回動可能な操作部として、ユーザが把持して操作するスティック部205aを備える。ユーザは、スティック部205aをニュートラルの位置から傾かせることでジョイスティック205を操作することができる。ジョイスティック205の操作量を示す値として、左右方向に対する傾斜量と、上下方向に対する傾斜量との2種類の値を取得することが可能である。
図4に示すジョイスティック205では、左右方向にX軸、上下方向にY軸を取り、X軸の右方向が+側で左方向が-側、Y軸の上方向(奥方向)が+側で下方向(手前方向)が-側としている。
【0020】
X軸は、スティック部205aの左右方向に関する傾きの軸であり、スティック部205aが左右方向に傾いた場合、その傾き度合いをX軸の座標形式で表すことができる。以下、本実施形態ではこの値をxとする。xの値は、スティック部205aが右側に傾いているときは正となり、左側に傾いているときは負となる。
Y軸は、スティック部205aの上下方向に関する傾きの軸であり、スティック部205aが上下方向に傾いた場合、その傾き度合いをY軸の座標形式で表すことができる。以下、本実施形態ではこの値をyとする。yの値は、スティック部205aが上側に傾いているときは正となり、下側に傾いているときは負となる。
ジョイスティック205がニュートラルの位置のときは、(x,y)=(0,0)となる。また、スティック部205aを倒し切ったときの絶対値は上下左右で同じである。
【0021】
本実施形態では、制御装置200は、ジョイスティック205の傾斜方向とカメラ100の旋回方向(パン方向、チルト方向)とを対応付けて制御する。また、制御装置200は、ジョイスティック205の傾斜量とカメラ100の旋回速度(パン速度、チルト速度)とを対応付けて制御する。ここで、後者においては、対応付けたテーブルをどのようにマッピングさせるか、ということがジョイスティック205の操作感に大きく関わる。
【0022】
ジョイスティック205の傾斜量とカメラ100の動作速度(PT速度)のマッピングには、直線的なマッピングや曲線的なマッピングなどの選択肢がある。曲線的なマッピングにおいては、曲線の傾きが緩やかな領域ほどジョイスティック205の傾斜量の変化に対するカメラ100の動作速度の変化が緩やかであり、傾きが急な領域ほど傾斜量の変化に対する動作速度の変化が急であるという特徴がある。つまり、傾きが緩やかな領域ほどカメラ100の動作速度の調節が容易であり、傾きが急な領域では動作速度の調節が困難となる。
そのため、ジョイスティック205の傾斜量とカメラ100の動作速度とのマッピングでは、よりユーザの使用頻度の高い動作速度域の傾きを緩やかにして、使用頻度の低い動作速度域の傾きを急にすれば、高頻度で使用する速度域の速度調節がしやすくなる。
【0023】
そこで、本実施形態では、制御装置200は、ジョイスティック205に対するユーザの操作の特徴を示すデータを取得し、取得されたデータに基づいて、ジョイスティック205の傾斜量とカメラ100の動作速度とを対応付けたテーブルを作成する。具体的には、制御装置200は、取得された上記データに基づいて、カメラ100の撮像時にユーザが高頻度で使用する動作速度域を算出する。そして、制御装置200は、算出された動作速度域におけるジョイスティック205の傾斜量の変化に対するカメラ100の動作速度の変化が緩やかになるように、ジョイスティック205のマッピングを行う。
なお、本実施形態では、制御装置200が、ジョイスティック205の操作量とカメラ100の動作速度とを対応付けるテーブルを作成する情報処理装置として動作する場合について説明する。しかしながら、カメラ100や、カメラ100と通信可能に接続された一般のPCや他の機器等が上記の情報処理装置として動作してもよい。
【0024】
図5は、
図3に示す制御装置200の一次記憶装置202および二次記憶装置203に記憶される各種プログラムや各種データ等の一例を示す図である。
一次記憶装置202には、OS211、通信制御プログラム212、表示プログラム213、PT速度決定プログラム214、マッピングプログラム215がロードされる。
二次記憶装置203には、X軸用テーブル221、Y軸用テーブル222、パン速度データ223、チルト速度データ224が保存される。
なお、本実施形態においては、X軸用テーブル221、Y軸用テーブル222、パン速度データ223、チルト速度データ224を二次記憶装置203へ保存する場合について説明するが、一時的な情報として一次記憶装置202へ保存してもよい。
【0025】
OS211は、制御装置200の全体を制御するための基本プログラムである。ここで、各種プログラム(212~215)の一次記憶装置202における位置(番地)やサイズは、OS211が管理する。
通信制御プログラム212は、ネットワークI/F207からネットワーク300を通じて、カメラ100との通信を制御するためのプログラムである。通信の内容の一例としては、カメラ100の撮像部105が撮像した画像に対する取得リクエストの送信や、カメラ100のPTZ駆動部106に対するPTZの制御リクエストの送信を行うことが挙げられる。なお、カメラ100へ送信するリクエストは、例えばhttp(ハイパーテキスト・トランスファー・プロトコル)など、一般的な通信プロトコルを使用してもよい。
【0026】
表示プログラム213は、制御装置200が備えるユーザ入出力I/F204を通じて表示装置206へ、カメラ100から取得した映像データや、カメラ100を制御するためのアイコンなどを表示するプログラムである。また、マウスやキーボードなどの外部デバイスを用いた入力や、表示装置206がタッチディスプレイなどであればタッチ操作などをユーザからの入力として受け取ることができる。
【0027】
PT速度決定プログラム214は、ジョイスティック205が傾倒操作されたときに、その傾きに対応するカメラ100のPT速度とPT方向とを決定するプログラムである。
マッピングプログラム215は、X軸用テーブル221、Y軸用テーブル222を作成するためのプログラムである。本実施形態では、マッピングプログラム215は、デフォルトのテーブルをキャリブレーションして、X軸用テーブル221、Y軸用テーブル222を更新するプログラムである。
【0028】
X軸用テーブル221は、ジョイスティック205のX軸の傾斜量とカメラ100のパン速度とを対応付けたテーブルである。X軸用テーブル221は、デフォルトでは、ジョイスティック205の傾きの大きさに対するカメラ100のパン速度の関係を直線的にマッピングしたテーブルとなっている。
Y軸用テーブル222は、ジョイスティック205のY軸の傾斜量とカメラ100のチルト速度とを対応付けたテーブルである。Y軸用テーブル222は、デフォルトでは、ジョイスティック205の傾きの大きさに対するカメラ100のチルト速度の関係を直線的にマッピングしたテーブルとなっている。
【0029】
パン速度データ223は、ユーザによるパン操作が行われた際に記録されるパン速度のデータであり、チルト速度データ224は、ユーザによるチルト操作が行われた際に記録されるチルト速度のデータである。パン速度データ223およびチルト速度データ224は、マッピングプログラム215を実行した際に取得されるデータであり、ユーザに撮像本番と同等にジョイスティック205を操作させた際のPT速度情報である。このPT速度情報は、撮像時にユーザが使用する頻度の高いPT速度域を示す。
【0030】
図6は、制御装置200が実行するPT速度決定処理を示すフローチャートである。
制御装置200は、CPU201がPT速度決定プログラム214を読み出して実行することにより、
図6に示す処理を実現することができる。
PT速度決定プログラム214は、ジョイスティック205が傾倒操作されたときに、その傾斜量に対応するカメラ100のPT速度をテーブルでルックアップし、PT速度を決定するプログラムである。このプログラムを一定間隔でループさせて、ジョイスティック205の値をポーリングすることにより、ジョイスティック205の傾きに応じた、カメラ100のPT操作が可能になる。以下、各ステップについて説明する。以降、アルファベットSはフローチャートにおけるステップを意味するものとする。
【0031】
S1において、制御装置200は、ジョイスティック205の値(x,y)を取得し、S2に移行する。
S2では、制御装置200は、S1において取得されたxの値が0であるか否かを判定する。つまり、制御装置200は、ジョイスティック205に、左右方向への傾きがあるか否かを判定する。そして、xが0であると判定された場合はS3に移行し、xが0でないと判定された場合はS4に移行する。
S3では、制御装置200は、ジョイスティック205には左右方向への傾きが無いと判定して、カメラ100のパン操作をストップさせることを決定し、S8に移行する。
【0032】
S4では、制御装置200は、xの値が正であるか否かを判定する。つまり、制御装置200は、ジョイスティック205が右に傾いているか左に傾いているかを判定する。そして、xの値が正の場合はS5に移行し、xの値が負の場合はS6に移行する。
S5では、制御装置200は、ジョイスティック205が右に傾けられていると判定して、カメラ100のパン操作の方向を右で決定し、S7に移行する。一方、S6では、制御装置200は、ジョイスティック205が左に傾けられていると判定して、カメラ100のパン操作の方向を左で決定し、S7に移行する。
S7では、制御装置200は、X軸用テーブル221をルックアップし、ジョイスティック205の値xに対応するパン速度を決定し、S8に移行する。
【0033】
S8では、制御装置200は、S1において取得されたyの値が0であるか否かを判定する。つまり、制御装置200は、ジョイスティック205に、上下方向への傾きがあるか否かを判定する。そして、yが0であると判定された場合はS9に移行し、yが0でないと判定された場合はS10に移行する。
S9では、制御装置200は、ジョイスティック205には上下方向への傾きが無いと判定して、カメラ100のチルト操作をストップさせることを決定し、S14に移行する。
【0034】
S10では、制御装置200は、yの値が正であるか否かを判定する。つまり、制御装置200は、ジョイスティック205が上に傾いているか下に傾いているか判定する。そして、yの値が正の場合はS11に移行し、yの値が負の場合はS12に移行する。
S11では、制御装置200は、ジョイスティック205が上に傾けられていると判定して、カメラ100のチルト操作の方向を上で決定し、S13に移行する。一方、S12では、制御装置200は、ジョイスティック205が下に傾けられていると判定して、カメラ100のチルト操作の方向を下で決定し、S13に移行する。
S13では、制御装置200は、Y軸用テーブル222をルックアップし、ジョイスティック205の値yに対応するチルト速度を決定し、S14に移行する。
S14では、制御装置200は、ここまでのフローで決定されたPT速度とPT方向とをもとにカメラ100にPTコマンドを送信し、
図6の処理を終了する。
【0035】
図7は、制御装置200が実行するマッピング処理を示すフローチャートである。
制御装置200は、CPU201がマッピングプログラム215を読み出して実行することにより、
図7に示す処理を実現することができる。
マッピングプログラム215は、X軸用テーブル221、Y軸用テーブル222のマッピングをキャリブレーションするためのプログラムである。なお、本実施形態において、マッピングプログラム215は、ボタン操作などのユーザ操作をトリガーに起動してもよいし、制御装置200の起動時等に自動的に起動されてもよい。以下、各ステップについて説明する。
【0036】
S21において、制御装置200は、ユーザに対してジョイスティック205の操作条件を指示する。本実施形態では、制御装置200は、表示装置206等を介して、ユーザに「本番と同じようにカメラワークを行ってください」といった指示を行う。ユーザに、撮像本番で行うPT操作と同等のPT操作を行ってもらうためである。なお、このときのPT操作では、X軸用テーブル221、Y軸用テーブル222として、デフォルトの直線的なマッピングのテーブルを使用する。キャリブレーションを行うにあたり、全ての速度域で操作のしやすさが同等な状態で操作してもらうためである。
【0037】
S22では、制御装置200は、ユーザがS21の指示に従ってジョイスティック205を操作した際のジョイスティック205の操作量(x,y)に対応するカメラ100の動作速度情報を取得する。具体的には、制御装置200は、デフォルトの直線的なマッピングのテーブルを参照し、ジョイスティック205の操作量(x,y)に対応するPT速度情報を取得する。PT速度情報を取得する。ここで取得されるデータは、撮像中にユーザが実際に使用するPT速度域のデータ、つまり、撮像中にメインで使うPT速度域のデータとして扱うことができる。制御装置200は、取得されたパン操作のデータをパン速度データ223として保存し、取得されたチルト操作のデータをチルト速度データ224として保存する。
【0038】
S23では、制御装置200は、パン速度データ223の中で、頻度の高いデータを算出する。つまり、制御装置200は、ユーザが撮像中のパン操作で使用する頻度の高い速度域を算出する。使用頻度の高い速度域の算出方法については
図8の説明で後述する。
次に、S24では、制御装置200は、S23において算出された使用頻度の高い速度域が緩やかになるマッピングを施して、X軸用テーブル221を更新する。マッピングのイメージ図については
図9の説明で後述する。
【0039】
S25では、制御装置200は、S23と同様の方法で、チルト速度データ224の中で、頻度の高いデータを算出する。つまり、制御装置200は、ユーザが撮像中のチルト操作で使用する頻度の高い速度域を算出する。
次に、S26では、制御装置200は、S24と同様の方法で、S25において算出された使用頻度の高い速度域が緩やかになるマッピングを施して、Y軸用テーブル222を更新し、
図7の処理を終了する。なお、本実施形態では、X軸用テーブル221を更新してから、Y軸用テーブル222を更新しているが、逆の順番でも構わない。
【0040】
以下、
図7のS23、S25における使用頻度の高い速度域の算出方法について説明する。ここでは、S23におけるパン操作の使用頻度の高い速度域の算出方法を例に説明する。
図8は、パン速度データ223をヒストグラムにしたグラフの一例を示すイメージ図である。縦軸は頻度、横軸はパン速度を表している。この
図8において、v
maxは、カメラ100のパン速度の最大値である。ここでは、パン速度の一定の範囲を一つのブロックとして、ブロックごとに頻度を求める方法について説明する。
【0041】
図8において点線で示すTHは、使用頻度の高い速度域であるか否かを判定するための所定の閾値である。
図8に示すパン速度データ223では、パン速度が0からv1までの速度域において、使用頻度が所定の閾値THよりも高いため、この速度域を使用頻度の高い速度域であると判定することができる。
このようにして、
図7のS23、S25では、制御装置200は、速度データのヒストグラムと閾値とを比較することで、ユーザの使用頻度の高い動作速度域を算出することができる。
【0042】
図9は、
図7のS24、S26において、ユーザの使用頻度の高い速度域の傾きが緩やかになるようにマッピングを施したテーブルのイメージ図である。
この
図9において、V
maxは、カメラ100の旋回速度の最大値である。つまり、最大値V
maxは、X軸用テーブル221のマッピングの場合はパン速度の最大値v
maxであり、Y軸用テーブル222のマッピングの場合はチルト速度の最大値である。また、
図9において、F
maxは、ジョイスティック205の傾きの最大値である。つまり、最大値F
maxは、X軸用テーブル221のマッピングの場合はジョイスティック205のX軸方向の傾きの最大値であり、Y軸用テーブル222のマッピングの場合はジョイスティック205のY軸方向の傾きの最大値である。
【0043】
ここで、カメラ速度V1は、使用頻度の高い速度域と使用頻度の低い速度域との境界となる閾値である。
図9に示す例の場合、カメラ速度V1よりも遅い速度域は使用頻度の高い速度域であり、カメラ速度V1よりも速い速度域は使用頻度の低い速度域である。カメラ速度V1は、X軸用テーブル221のマッピングの場合、
図8に示すパン速度v1に相当する。
【0044】
また、
図9において点線で示す直線401は、更新前のテーブルのマッピングを表したものである。そして、
図9において実線で示す曲線402は、更新後のテーブルのマッピングを表したものである。曲線402は、原点(0,0)と点403と座標(F
max,V
max)とを通る2次関数である。
ここで、点403は、曲線402上においてカメラ速度がV1となる点であり、曲線402の接線404の傾きが直線401の傾きと一致する点である。つまり、曲線402は、点403よりも低い部分では傾きが緩やかであり、点403よりも高い部分では傾きが急であるという特徴を有する。
このようにして、
図7のS24、S26では、制御装置200は、撮像中のPT操作で使う頻度の高い速度域が緩やかになるマッピングを施して、X軸用テーブル221、Y軸用テーブル222を更新する。
【0045】
以上説明したように、制御装置200は、入力装置であるジョイスティック205に対するユーザの操作の特徴を示すデータを取得する。そして、制御装置200は、取得されたデータに基づいて、ジョイスティック205の操作量とカメラ100の動作速度とを対応付けたテーブルを作成する。ここで、カメラ100の動作速度は、パン方向の速度およびチルト方向の速度の少なくとも一方である。制御装置200は、上記テーブルを参照し、ユーザによるジョイスティック205の傾斜量に基づいて、当該傾斜量に対応するカメラ100のPT速度を決定し、決定されたPT速度でカメラ100を動作させる。
このように、制御装置200は、ユーザごとのジョイスティック205の操作の特徴を考慮して、ジョイスティック205の傾斜量とカメラ100のPT速度とのマッピングを行うことができる。したがって、ユーザによるジョイスティック205の操作性を向上させることができる。
【0046】
制御装置200は、ジョイスティック205に対するユーザの操作の特徴を示すデータの取得に際し、ユーザに対してジョイスティック205の操作条件を指示する。そして、その操作条件に従ってユーザがジョイスティック205を操作した際のジョイスティック205の傾斜量に関する情報を、ジョイスティック205に対するユーザの操作の特徴を示すデータとして取得する。したがって、ユーザごとにジョイスティック操作の仕方に違いがある場合でも、その違いを容易に把握することができる。
具体的には、制御装置200は、ユーザが操作条件に従って本番と同等にジョイスティック205を操作した際のジョイスティック205の傾斜量に対応するカメラ100の動作速度情報(PT速度情報)を取得する。そのため、制御装置200は、取得されたPT速度情報をもとに、ユーザが撮像中にメインで使う速度域を容易に把握することができる。
【0047】
制御装置200は、取得されたPT速度情報に基づいて、
図8に示すように、ユーザの使用頻度が所定の閾値THよりも高い速度域を容易に算出することができる。したがって、
図9のようなマッピングを容易に行うことができる。つまり、制御装置200は、使用頻度が閾値THよりも高い速度域(0からV1の速度域)における傾きが、使用頻度が閾値THよりも低い速度域(V1からV
maxの速度域)における傾きよりも小さくなるようにマッピングを施すことができる。このようにして作成されたテーブルを用いることで、ユーザは、撮像時に主に使用する速度域において容易に速度調節することができる。
【0048】
このように、本実施形態における制御装置200は、ユーザごとにそれぞれマッピングを変更することができるので、ユーザが決め打ちの操作感に合わせる必要がなく、操作性を向上させることができる。
【0049】
なお、本実施形態においては、
図8に示すように、使用頻度の高い速度域が低速域に固まっている例について説明した。そのため、
図8の例に対応するマッピングは、
図9に示すように低速域では傾きが緩やかで、高速域では傾きが急なマッピングとなる。しかしながら、マッピングの曲線は2次関数のような曲線に限定されるものではない。
例えば、使用頻度の高い速度域が低速域と高速域との両方に存在する場合は、シグモイド関数のような曲線でマッピングを行うことで低速域と高速域との傾きを緩やかにすることができる。また、他の例として、中速域が使用頻度の高い速度域である場合は、タンジェント曲線のような曲線でマッピングを行うことで中速域の傾きを緩やかにすることができる。
【0050】
(第二の実施形態)
次に、本発明における第二の実施形態について説明する。
上述した第一の実施形態では、PT速度のテーブルとして、上下方向と左右方向の2種類のテーブルを用いる場合について説明した。この第二の実施形態では、PT速度のテーブルとして、上下左右それぞれの方向のテーブルを用いる場合について説明する。
【0051】
図10は、本実施形態における制御装置200の一次記憶装置202および二次記憶装置203に記憶される各種プログラムや各種データ等の一例を示す図である。なお、一次記憶装置102に記憶される各種プログラムは、上述した第一の実施形態と同様であるため、説明を省略する。
二次記憶装置203には、右用テーブル231、左用テーブル232、上用テーブル233、下用テーブル234、右速度データ235、左速度データ236、上速度データ237、下速度データ238が保存される。
【0052】
各種テーブル231~234は、ジョイスティック205の上下左右それぞれの方向のテーブルである。
ジョイスティック205の傾斜の方向ごとにテーブルを作成することで、例えば、右方向へのパン操作と左方向へのパン操作とで使用頻度の高い速度域に違いがある場合でも、それぞれに適したマッピングを行うことが可能となる。なお、各種テーブル231~234は、デフォルトでは、ジョイスティック205の傾斜量に対するカメラ100のPT速度の関係を直線的にマッピングしたテーブルとなっている。
各種速度データ235~238は、マッピングプログラム215を実行した際に取得されるデータであり、ユーザに撮像本番と同等にジョイスティック205を操作させた際のPT速度情報である。本実施形態では、上下左右別々に速度データを保持する。
【0053】
図11は、本実施形態における制御装置200が実行するPT速度決定処理を示すフローチャートである。この
図11において、
図6と同一処理を行うステップには
図6と同一ステップ番号を付し、以下、処理の異なる部分を中心に説明する。
制御装置200は、S4においてxの値が正であると判定するとS5aに移行する。S5aでは、制御装置200は、ジョイスティック205が右に傾いていると判定し、カメラ100のパン操作の方向を右で決定する。そして、制御装置200は、右用テーブル231をルックアップし、ジョイスティック205の値xに対応するパン速度を決定してS8に移行する。
【0054】
制御装置200は、S4においてxの値が負であると判定するとS6aに移行する。S6aでは、制御装置200は、ジョイスティック205が左に傾いていると判定し、カメラ100のパン操作の方向を左で決定する。そして、制御装置200は、左用テーブル232をルックアップし、ジョイスティック205の値xに対応するパン速度を決定してS8に移行する。
【0055】
同様に、制御装置200は、S10においてyの値が正であると判定するとS11aに移行する。S11aでは、制御装置200は、ジョイスティック205が上に傾いていると判定し、カメラ100のパン操作の方向を上で決定する。そして、制御装置200は、上用テーブル233をルックアップし、ジョイスティック205の値yに対応するパン速度を決定してS14に移行する。
【0056】
また、制御装置200は、S10においてyの値が負であると判定するとS12aに移行する。S12aでは、制御装置200は、ジョイスティック205が下に傾いていると判定し、カメラ100のパン操作の方向を下で決定する。そして、制御装置200は、下用テーブル234をルックアップし、ジョイスティック205の値yに対応するパン速度を決定してS14に移行する。
このように、本実施形態では、上下左右それぞれの方向でテーブルを持っているので、ジョイスティック205の傾斜方向に応じて、該当するテーブルをルックアップし、PT速度を決定する。
【0057】
図12は、本実施形態における制御装置200が実行するマッピング処理を示すフローチャートである。
制御装置200は、CPU201がマッピングプログラム215を読み出して実行することにより、
図12に示す処理を実現することができる。
マッピングプログラム215は、右用テーブル231、左用テーブル232、上用テーブル233、下用テーブル234のマッピングをキャリブレーションするためのプログラムである。なお、本実施形態において、マッピングプログラム215は、ボタン操作などのユーザ操作をトリガーに起動してもよいし、制御装置200の起動時等に自動的に起動されてもよい。以下、各ステップについて説明する。
【0058】
S31では、制御装置200は、
図7のS21と同様に、表示装置206等を介して、ユーザに「本番と同じようにカメラワークを行ってください」といった指示を行う。
S32では、制御装置200は、
図7のS22と同様に、S31の指示を受けてユーザが操作しているジョイスティック205の値(x,y)に対応するPT速度情報を取得する。そして、制御装置200は、取得されたデータのうち、右方向へのパン操作のデータを右速度データ235として保存し、左方向へのパン操作のデータを左速度データ236として保存する。また、制御装置200は、取得されたデータのうち、上方向へのチルト操作のデータを上速度データ237として保存し、下方向へのチルト操作のデータを下速度データ238として保存する。
【0059】
S33では、制御装置200は、右速度データ235の中で、頻度の高いデータを算出する。つまり、制御装置200は、ユーザが撮像中の右方向へのパン操作で使用する頻度の高い速度域を算出する。使用頻度の高い速度域の算出方法については、上述した第一の実施形態と同様である。
次に、S34では、制御装置200は、S33において算出された使用頻度の高い速度域が緩やかになるマッピングを施して、右用テーブル231を更新する。マッピングのイメージ図については、上述した第一の実施形態と同様である。
【0060】
S35では、制御装置200は、S33と同様に、左速度データ236の中で、頻度の高いデータを算出する。つまり、制御装置200は、ユーザが撮像中の左方向へのパン操作で使用する頻度の高い速度域を算出する。
次に、S36では、制御装置200は、S34と同様に、S35において算出された使用頻度の高い速度域が緩やかになるマッピングを施して、左用テーブル232を更新する。
【0061】
同様に、S37では、制御装置200は、上速度データ237の中で、頻度の高いデータを算出する。つまり、制御装置200は、ユーザが撮像中の上方向へのチルト操作で使用する頻度の高い速度域を算出する。
次に、S38では、制御装置200は、S37において算出された使用頻度の高い速度域が緩やかになるマッピングを施して、上用テーブル233を更新する。
【0062】
S39では、制御装置200は、下速度データ238の中で、頻度の高いデータを算出する。つまり、制御装置200は、ユーザが撮像中の下方向へのチルト操作で使用する頻度の高い速度域を算出する。
次に、S40では、制御装置200は、S39において算出された使用頻度の高い速度域が緩やかになるマッピングを施して、下用テーブル234を更新する。
なお、本実施形態では、右用テーブル231、左用テーブル232、上用テーブル233、下用テーブル234の順に更新しているが、更新の順番は上記に限定されない。
【0063】
以上説明したように、本実施形態における制御装置200は、ジョイスティック205の傾斜の方向ごとにテーブルを作成することができる。つまり、ジョイスティック205が上下左右それぞれの方向に操作可能な構成である場合、上下左右それぞれの方向に適したマッピングを行うことができる。したがって、よりユーザの操作性を向上させることができる。
【0064】
(変形例)
上記各実施形態においては、ユーザに本番と同等にカメラワークを行ってもらうことで取得したPT速度情報を、ジョイスティックに対するユーザの操作の特徴を示すデータとして取得し、ジョイスティック205のマッピングを行う場合について説明した。しかしながら、キャリブレーション方法は上記に限定されない。例えば、カメラと被写体との距離やズーム位置などから、その画角で使用するのに最適なPT動作速度域を算出し、算出された速度域をユーザが使用すべき速度域として、当該速度域においてPT速度変化が緩やかになるマッピングを施すようにしてもよい。
【0065】
また、ユーザにジョイスティック205を一定の傾きのまま一周回してもらった際のジョイスティック205の傾斜量を取得し、上下左右でのジョイスティック205の倒し具合の差を評価してもよい。この場合、制御装置200は、表示装置206等を介して、ユーザに「ジョイスティックを一定の角度で倒したまま周回させてください」といった指示を行う。そして、ジョイスティック205の倒し具合の差に基づいて、それぞれ上下左右のテーブルをキャリブレーションする。これにより、ユーザごとのジョイスティック205の倒し方の癖などを考慮して、上下左右で操作感に違和感のないマッピングが行える。
なお、ユーザにジョイスティック205を複数回(例えば3回)周回してもらい、上下左右でそれぞれ傾斜量の平均値をとってジョイスティック205の倒し具合の差を評価してもよい。また、ジョイスティック205を周回させるのではなく、「ジョイスティックを上下左右に同じ倒し具合で倒してください」という指示を出す方法でもよい。また、ユーザが右利きであるか左利きであるかによって、ジョイスティック205に対する力加減のしやすさが左右方向で変わるため、ユーザの利き手を示すデータをジョイスティック205に対するユーザの操作の特徴を示すデータとして取得してもよい。
【0066】
さらに、ユーザにカメラを所定の速度で旋回させた場合の映像を提示し、その映像の旋回速度の感覚に一致するようにジョイスティック205を倒してもらい、テーブルをキャリブレーションするようにしてもよい。この場合、制御装置200は、表示装置206等を介して、ユーザに「カメラを〇〇[°/s]の速度で動かします。映像を見て、映像の速度の感覚に合うところでジョイスティックをキープしてください」といった指示を行う。これにより、ユーザの感覚に適切に合致するマッピングが行える。
なお、ユーザに提示する映像は、実際にカメラを旋回させて撮像した映像でなくてもよい。つまり、予め該当速度で動く映像を準備しておき、その映像をユーザに提示するようにしてもよい。
【0067】
また、上記各実施形態において、ジョイスティック205は2軸に限定されるものではなく、1軸であってもよい。つまり、ジョイスティック205の操作により制御される動作は、カメラ100のパン方向の動作およびチルト方向の動作のいずれか一方であってもよい。
さらに、上記各実施形態においては、操作対象の動作がカメラ100のPT動作であり、操作対象の動作を制御する入力装置205がジョイスティックである場合について説明した。しかしながら、操作対象の動作はカメラのPT動作に限定されず、例えば、カーソルの移動やキャラクターの移動であってもよい。また、入力装置205はジョイスティックに限定されず、操作対象の動作速度を制御するために操作量が調整可能な入力装置であればよい。
ジョイスティックを用いてカーソルを操作するシステムの場合、例えば、ユーザに、ジョイスティックによってカーソルを操作してモニタ上で所定の速度で移動する目標を追いかけてもらい、各速度域における追従性を評価するようにしてもよい。この場合、追いかけるのが苦手な速度域において、ジョイスティックの操作量の変化に対するカーソルの動作速度の変化が緩やかになるマッピングを行うことができる。
【0068】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0069】
100…撮像装置、105…撮像部、106…PTZ駆動部、200…制御装置、205…入力装置、206…表示装置、300…ネットワーク、1000…カメラシステム