(57)【要約】【課題】全方位カメラを用いた映像通信システムを多人数で使用する場合に、送信データ量の増大や計算量の増大を防止する。【解決手段】カメラを有するサーバ装置からクライアント装置へ映像を送信する映像通信システムに用いられるサーバ装置１−１であって、全方位を撮影可能なカメラ１−１１と、カメラから出力される全方位映像を所定の規則に基づいて分割する映像処理部１−１３と、クライアント装置１−２からのコマンドに基づいて、映像処理部により分割された映像の内のどの映像をクライアント装置に送信するかを選択する選択部１−１６と、分割された映像を別々のストリームでクライアント装置に配送する映像配送部１−１０とを具備する。【選択図】      図２
2005167397.tif 000002
【特許請求の範囲】
【請求項１】
カメラを有するサーバ装置からクライアント装置へ映像を送信する映像通信システムに用いられるサーバ装置であって、
全方位を撮影可能なカメラと、
該カメラから出力される全方位映像を所定の規則に基づいて分割する映像処理手段と、
前記クライアント装置からのコマンドに基づいて、前記映像処理手段により分割された映像の内のどの映像を前記クライアント装置に送信するかを選択する選択手段と、
前記分割された映像を別々のストリームで前記クライアント装置に配送する映像配送手段と、
を具備することを特徴とするサーバ装置。
【請求項２】
前記映像処理手段は、前記カメラから出力される全方位映像を取り込む映像入力部と、取り込まれた全方位映像を分割する映像分割部と、分割された映像を圧縮する映像圧縮部とを備えることを特徴とする請求項１に記載のサーバ装置。
【請求項３】
前記全方位映像は、該全方位映像の中心を通る直線で分割されることを特徴とする請求項１に記載のサーバ装置。
【請求項４】
前記全方位映像は、該全方位映像の中心の回りに等角度の扇形に分割されることを特徴とする請求項３に記載のサーバ装置。
【請求項５】
前記全方位映像は、不要な部分を単色の画像でマスクすることにより分割されることを特徴とする請求項１に記載のサーバ装置。
【請求項６】
前記単色とは黒であることを特徴とする請求項５に記載のサーバ装置。
【請求項７】
前記マスクは扇形を含む矩形形状であることを特徴とする請求項５に記載のサーバ装置。
【請求項８】
前記不要な部分とは、画像が表示されていない部分で、扇形のうち、全方位映像の中心から画像が表示されている下端までの内側部分と、画像が表示されている上端から全方位映像の外周までの外側部分であることを特徴とする請求項７に記載のサーバ装置。
【請求項９】
前記クライアント装置から要求のあったパン角度に応じて、必要なストリームを要求のあった前記クライアント装置に送信することを特徴とする請求項１に記載のサーバ装置。
【請求項１０】
前記クライアント装置から要求のあったズーム倍率に応じて、必要なストリームを要求のあった前記クライアント装置に送信することを特徴とする請求項１に記載のサーバ装置。
【請求項１１】
前記クライアント装置は複数であり、該複数のクライアント装置から要求される任意のパン角度、又はズーム倍率に対応する映像範囲を前記クライアント装置に送信することを特徴とする請求項９又は１０に記載のサーバ装置。
【請求項１２】
前記複数のクライアント装置のうち、少なくとも２つのクライアント装置が同じ映像範囲を要求した場合には、複数のストリームを送信することを特徴とする請求項１１に記載のサーバ装置。
【請求項１３】
全方位を撮影可能なカメラを有するサーバ装置からクライアント装置へ映像を送信する映像通信システムに用いられるサーバ装置を制御する方法であって、
前記カメラから出力される全方位映像を所定の規則に基づいて分割する映像処理工程と、
前記クライアント装置からのコマンドに基づいて、前記映像処理工程において分割された映像の内のどの映像を前記クライアント装置に送信するかを選択する選択工程と、
前記分割された映像を別々のストリームで前記クライアント装置に配送する映像配送工程と、
を具備することを特徴とするサーバ装置の制御方法。
【請求項１４】
請求項１３に記載の制御方法をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は全方位カメラを用いた映像通信技術に関するものである。
【背景技術】
【０００２】
ビデオカメラの映像を遠隔地の多地点から観察できるシステムにおいて、単にカメラ映像を観察するだけでなくカメラのパン・チルト角度やズーム倍率を遠隔制御可能にしたものがある。例えば、インターネット上のＷＷＷ（World Wide Web）のサーバにコンピュータ制御可能なカメラを接続し、カメラから撮影したリアルタイム映像をアクセス者に配送するだけでなく、そのカメラの制御も許すようなシステムが開発されている。このようなシステムにおいては、パン・チルトで方向を変える機能を有するカメラあるいは雲台を使用している。
【０００３】
一方、特開平１１−１１９３０３号公報（特許文献１）に開示されているような超広角の魚眼カメラや水平方向３６０度パノラマが一度に撮影できるカメラ（全方位カメラと呼ぶ、）などが存在し、そのようなカメラを用いた撮影システムなども存在する。このようなカメラで撮影した画像は、そのままでは歪みが大きく、通常は画像の必要な部分を見やすい形に変換してから提示するようになっている。
【特許文献１】特開平１１−１１９３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
物理的に制御可能なカメラでインターネット経由で多人数に画像を配送する場合、カメラ制御できるのは同時には一人だけであり、複数人で同時に制御することはできなかった。それを解決するために全方位カメラを用いた映像通信システムがある。しかし全方位カメラは同時に３６０°パノラマ方向を撮影し、操作者の見たい部分以外の映像も取り込む。そのため、通常、クライアントに映像を配送する場合、全映像を送るか、操作者の見たい部分だけを切り取って送ることになる。
【０００５】
全映像を送る場合、送信データ量の増大を招き、また、操作者の見たい部分だけ切り取る場合は多数の操作者が同時にアクセスした場合は操作者毎に切り取る部分を計算するため膨大な計算量が発生し処理時間がかかる。
【０００６】
従って、本発明は上述した課題に鑑みてなされたものであり、全方位カメラを用いた映像通信システムを多人数で使用する場合に、送信データ量の増大や計算量の増大を防止することである。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係わるサーバ装置は、  カメラを有するサーバ装置からクライアント装置へ映像を送信する映像通信システムに用いられるサーバ装置であって、全方位を撮影可能なカメラと、該カメラから出力される全方位映像を所定の規則に基づいて分割する映像処理手段と、前記クライアント装置からのコマンドに基づいて、前記映像処理手段により分割された映像の内のどの映像を前記クライアント装置に送信するかを選択する選択手段と、前記分割された映像を別々のストリームで前記クライアント装置に配送する映像配送手段と、を具備することを特徴とする。
【０００８】
また、この発明に係わるサーバ装置において、前記映像処理手段は、前記カメラから出力される全方位映像を取り込む映像入力部と、取り込まれた全方位映像を分割する映像分割部と、分割された映像を圧縮する映像圧縮部とを備えることを特徴とする。
【０００９】
また、この発明に係わるサーバ装置において、前記全方位映像は、該全方位映像の中心を通る直線で分割されることを特徴とする。
【００１０】
また、この発明に係わるサーバ装置において、前記全方位映像は、該全方位映像の中心の回りに等角度の扇形に分割されることを特徴とする。
【００１１】
また、この発明に係わるサーバ装置において、前記全方位映像は、不要な部分を単色の画像でマスクすることにより分割されることを特徴とする。
【００１２】
また、この発明に係わるサーバ装置において、前記単色とは黒であることを特徴とする。
【００１３】
また、この発明に係わるサーバ装置において、前記マスクは扇形を含む矩形形状であることを特徴とする。
【００１４】
また、この発明に係わるサーバ装置において、前記不要な部分とは、画像が表示されていない部分で、扇形のうち、全方位映像の中心から画像が表示されている下端までの内側部分と、画像が表示されている上端から全方位映像の外周までの外側部分であることを特徴とする。
【００１５】
また、この発明に係わるサーバ装置において、前記クライアント装置から要求のあったパン角度に応じて、必要なストリームを要求のあった前記クライアント装置に送信することを特徴とする。
【００１６】
また、この発明に係わるサーバ装置において、前記クライアント装置から要求のあったズーム倍率に応じて、必要なストリームを要求のあった前記クライアント装置に送信することを特徴とする。
【００１７】
また、この発明に係わるサーバ装置において、前記クライアント装置は複数であり、該複数のクライアント装置から要求される任意のパン角度、又はズーム倍率に対応する映像範囲を前記クライアント装置に送信することを特徴とする。
【００１８】
また、この発明に係わるサーバ装置において、前記複数のクライアント装置のうち、少なくとも２つのクライアント装置が同じ映像範囲を要求した場合には、複数のストリームを送信することを特徴とする。
【００１９】
また、本発明に係わるサーバ装置の制御方法は、全方位を撮影可能なカメラを有するサーバ装置からクライアント装置へ映像を送信する映像通信システムに用いられるサーバ装置を制御する方法であって、前記カメラから出力される全方位映像を所定の規則に基づいて分割する映像処理工程と、前記クライアント装置からのコマンドに基づいて、前記映像処理工程において分割された映像の内のどの映像を前記クライアント装置に送信するかを選択する選択工程と、前記分割された映像を別々のストリームで前記クライアント装置に配送する映像配送工程と、を具備することを特徴とする。
【００２０】
また、本発明に係わる記憶媒体は、上記の制御方法をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記憶したことを特徴とする。
【発明の効果】
【００２１】
本発明によれば、全方位カメラを用いた映像通信システムを多人数で使用する場合に、送信データ量の増大や計算量の増大を防止することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の好適な一実施形態について説明する。
【００２３】
本実施形態では以下のようにして従来の問題の解決を図る。
（１）全方位カメラで撮影された映像を一定の角度で分割する。
（２）分割された映像を別々のストリームで配信する。
【００２４】
（１）の画像分割は方角別の決まった単純な形状で行うことによって計算を簡単にし、また、操作者毎に対して切り出し画像の計算を行わないことにより計算量を大幅に軽減出来る。また、（２）の配信方法により全方位映像をそのまま送る場合に比べてデータ量を大幅に軽減できる。ストリーム毎に映像サーバを立ち上げた場合には角度別にサーバの負荷が分散される。例えば１００人のユーザが同時にアクセスした場合、それぞれ見る方向が均等に分散されると各サーバに負荷が均等に分散される。
【００２５】
本実施形態は、サーバ側で全方位カメラから映像を取り込み、ネットワークを経由してクライアントであたかもカメラ制御操作を行ったかのような映像を表示するシステムである。
【００２６】
以下、図面を参照して本発明の一実施形態に係わる映像通信システムについて詳細に説明する。
【００２７】
図１は本実施形態の映像通信システムの構成を示すブロック図である。
【００２８】
図１において、１−１はサーバ装置であり、１−２，１−３，１−４は表示操作装置であり、これらはネットワーク１−５によってサーバ装置１−１に接続されている。サーバ装置１−１には，全方位カメラ１−１１が接続されており、全方位カメラ１−１１（撮像装置）で撮影した映像（動画あるいは静止画）をネットワーク１−５を経由して表示操作装置１−２，１−３，１−４などで見ることができる。また、表示操作装置１−２，１−３，１−４からは、全方位カメラ１−１１の表示範囲の変更操作などが可能である。ネットワーク上にサーバ装置、表示操作装置はいくつあっても構わないが、本実施形態では説明の便宜のために各々１台ずつ（サーバ装置１−１と表示操作装置１−２）と仮定する。
【００２９】
ネットワーク１−５に関しても、後で述べるカメラ制御信号、圧縮した映像信号を通すのに十分な帯域があるインターネットやイントラネット等のディジタルネットワークであればなんでもよい。なお、ここではネットワークプロトコルとしてＴＣＰ／ＩＰ（ＵＤＰ／ＩＰ）プロトコルを仮定し、以下アドレスといった場合にはＩＰアドレスを指すこととする。また、カメラサーバ装置１−１、表示操作装置１−２共にＩＰアドレスを割り当てられているものとする。全方位カメラ１−１１は図９に示す。
【００３０】
図９の全方位カメラでは、レンズの光軸を鉛直方向に向けて撮影した場合、上側の双曲面の単葉側のミラーにより、水平方向３６０度のパノラマ画像が同時に撮影できるものである。撮影画像は、図１０（ａ）のようなドーナッツ状の画像であり、そのままでは歪が大きく、画像を見て直感的に内容を把握しにくい。これをパノラマ展開（幾何画像変換）することで、図１０（ｂ）のような横長の画像が得られる。図１０（ｂ）は、横方向が３６０度のパノラマ画像になっており、直感的な把握はしやすい。
【００３１】
なお、本実施形態では、全方位カメラの画像を通常のレンズで撮影される画角に対応する画像に変換して表示することを想定している。つまり、広くてもおおむね９０度以下の画角に変換する。ただし、本実施形態では、画角の数値にこだわるものではなく、撮影した生の画像を、通常のレンズで撮影したような見やすい画像に幾何画像変換をするということが重要である。
【００３２】
なお、本実施形態では、全方位カメラの映像に対してパン、チルト、ズーム操作を可能にするものとする。例えば、全方位カメラの画像は図１０−（ａ）のような形で得られるが、ここから１０−１のような扇型の範囲を切り出し、幾何変換して矩形に変形する。すると、実際は１０−２のような画像を見ていることになる。扇型の切り出し範囲を変更することで、仮想的な（電子的な）パン、チルト、ズーム操作が可能となる。なお、１０−（ａ）の画像を１０−（ｂ）に変換した画像では当然ながら円周内側の解像度が外側よりも低くなる。つまり１０（ｂ）では、画像の上側が下側よりも解像度が高くなる。しかし、撮影時の解像度が幾何変換後に得られる画像の解像度よりも十分高ければ問題にはならない。この点に関しては、本実施形態では扱わない。
【００３３】
本実施形態は全方位画像を分割して配信するところに特徴を持つ。
【００３４】
クライアントはサーバより必要とする視野角の分割映像のストリームを受信する。それは１つの分割映像の場合もあるし、複数の分割映像になる場合もある。
【００３５】
図１１は全方位カメラの画像を分割した様子を表した図である。
【００３６】
いずれも全方位画像中心を中心とした等角度の扇型に分割している。
（ａ）は９０°の扇型に４つに分割したものである。（ｂ）は１８０°ずつ２つに分割したものである。（ｃ）は１８０°ずつ分割したものを９０°毎に構成したものである。この例のように分割画像を他の分割画像とかぶせる場合もある。これは、どの方向を見ても１枚の画像で済ませる場合に有効である。
【００３７】
扇型の角度−何度毎に構成するかの角度＝１枚の画像で済む最大の角度
となる。
【００３８】
（ｃ）の場合１８０°−９０°＝９０°で９０°が１枚の画像で済む最大の角度となる。
【００３９】
説明のために（ａ）〜（ｃ）を用意したが本実施形態では（ａ）に示すように９０°で４分割を行う。
【００４０】
次に全周囲画像から分割画像を作る方法を説明する。
【００４１】
映像サーバは起動時にレジストリやファイル等から設定された分割角度（扇型の分割画像の角度）とステップ角度（何度毎に扇型を構成するかの角度）を読み取り、分割枚数分それぞれの角度に応じたマスクを作る。分割枚数は３６０°÷ステップ角度となるので、ステップ角度は３６０を正の整数で割った数でなくてはならない。分割角度とステップ角度が一致する場合は分割画像がそれぞれ重ならないように構成される。
【００４２】
例えば分割角度６０°、ステップ角度４５°の場合は角度６０°の扇型がくりぬかれて、その扇型がぴったりおさまる長方形のマスクが８枚（３６０°÷４５°＝８）作られる。マスクは単色で通常は黒を用いる。
【００４３】
図１２で実際にマスクを使った分割画像の作成方法を説明する。
【００４４】
（ａ）全方位画像をキャプチャする、（ｂ）キャプチャされた全方位画像の上にマスクを被せる、（ｃ）マスクをかけた部分を切り取り圧縮工程へ送る、という手順で全方位画像キャプチャから圧縮工程まで進行する。
【００４５】
次に図１３を使ってパン方向の変化によってどのように選択される分割画像が変遷していくかを説明する。この例では分割角度９０°、ステップ角度９０°に分割されている。  便宜上全方位画像の垂直上方向を０°とし右回り方向に角度が増えていくとし、Ａ〜Ｄストリームと名づける。
【００４６】
よってＡストリームは０〜９０°の分割映像の右上の部分を、Ｂストリームは９０〜１８０°の分割映像の右下の部分を、Ｃストリームは１８０〜２７０°の分割映像の左下の部分を、Ｄストリームは２７０〜３６０°の分割映像の左上の部分を担当する。
（ａ）現在操作者は画角３０°で４５°方向を向いている。その時サーバからはＡストリーム１つを取得している。この状態から右回りに９０°回転する。
（ｂ）右回りに回転していくと、ＡストリームとＢストリームの２つの分割映像にまたがる場所が出てくる。その一例である９０°方向の場合、ＡストリームとＢストリームの２つの分割映像が送られてくる。
（ｃ）さらに４５°回転して１３５°方向を向くとＢストリームの分割映像だけが送られてくる。
【００４７】
図２は図１をより詳しく説明する図である。
【００４８】
カメラサーバ装置（サーバ）１−１は、全方位カメラ１−１１で撮影した映像を、要求のあった表示操作装置（クライアント）１−２に配送すると共に、表示操作装置１−２からのカメラ制御コマンドを受け付け、パン、チルト、ズーム操作に応じた画像の選択と画像の幾何変換処理（１−１３）を行う。
【００４９】
サーバ装置１−１は、全方位カメラ１−１１からの映像（動画および静止画）を取り込む映像入力部１−１２、取り込んだ全方位映像を分割する映像分割部１−１３、分割された映像をクライアントの処理能力が足りない場合にパノラマ展開する映像展開部１−１４、分割映像を圧縮する映像圧縮部１−１５、圧縮した映像データをネットワーク１−５上に配送する映像配送部１−１０、ネットワーク１−５経由での表示操作装置１−２からのコマンドを解釈するコマンド解釈部１−１７、パン、チルト、ズームコマンドから画角を計算してクライアントに送信する分割映像を選択する映像選択部１−１６、各部のデータ受け渡しに用いる記憶装置１−１８、映像分割部１−１３内の像変換部を備えて構成される。なお、パノラマ展開処理が不要であれば、映像展開部１−１４はスルーされる。１−１９は、カメラ情報設定部であり、全方位カメラ１−１１の画像幾何変換に必要なレンズパラメータ（光学的なパラメータ）を設定するためのものである。
【００５０】
なお映像圧縮部１−１５は、全方位カメラ１−１１からのＮＴＳＣ映像信号を取り込みＡ／Ｄ変換後、MotionJEPGで圧縮して、 映像配送部１−１０に渡しネットワーク１−５に送出する。なお、ここでは映像の圧縮形式として、MotionJEPG圧縮としたが、MPEG4などでもよく、本発明は圧縮形式にこだわるものではない。
【００５１】
次に表示操作装置１−２について述べる。
【００５２】
表示操作装置１−２は、任意のサーバ装置１−１にカメラサーバ装置毎に有しているＩＰアドレスを指定して接続し、サーバ装置１−１から配送されてきた圧縮映像データを、通信制御部１−２１を通じて受信し、映像伸長部１−２５で伸長し、必要に応じて映像切り出し処理部１−２６で映像の切り出し・幾何変換処理を行い、映像表示部１−２７で表示する。また、ユーザインタフェース（GUI）操作によりカメラ制御や画像蓄積保存操作、等ができるようになっている。これらの画面表示・操作の制御は表示制御部１−２４が行っているものとする。
【００５３】
映像表示部１−２７には、ビットマップデスプレイが含まれており、図３のような画面を構成できるWindows（登録商標）やX−Window等の、何らかのウィンドウシステムがカメラクライアント装置１−２上で稼働しており、図３のようなユーザインタフェース画面が表示されているものとする。図３において、３−１は映像が表示される映像表示パネル、３−２はカメラ操作のためのカメラ制御パネルであり、スクロールバー３−２２、３−２３の操作で、それぞれカメラのパン、チルトを制御できるようになっている。またボタン３−２４〜３−２７でもカメラのパン、チルト制御が可能である。スクロールバー３−２８ではズーム操作ができる。なお、表示操作装置におけるパン、チルト操作は画像の切り出し範囲の変更になる。ズーム操作でも同様である。
【００５４】
図４は、本実施形態のプロセス構成図である。
【００５５】
ここでプロセスとはWindows（登録商標）やＵＮＩＸ（登録商標）等のマルチタスクオペレーティングシステムのプロセスを意味する。定常状態のサーバ装置側では、少なくとも以下のプロセス４−１１、４−１２、４−２１が稼動しているものとする。
・映像サーバプロセス４−１１：映像表示要求の受付、カメラ映像の送信先を管理する。
・映像獲得プロセス４−１２：カメラ映像の取り込みを行う。
・カメラ制御プロセス４−２１：カメラのパン、チルト、ズームを制御する。
【００５６】
以下のプロセス４−１３、４−２２はクライアントプロセスからの接続に応じて、クライアントプロセスに１対１に対応して動的に生成される。
・映像送信プロセス４−１３：カメラ映像の、圧縮・送信を行う。必要に応じて切り出し処理を行う。
・制御処理プロセス４−２２：クライアントプロセスからのカメラ制御命令を受け取り、カメラ制御部に命令を出してカメラ制御あるいは映像切り出し制御を行う。
【００５７】
図５、図６にこれらのプロセスの動作の詳細を示す。
【００５８】
なお、カメラ情報レジスタ４−３１、ＰＴＺ（パン、チルト、ズーム）値レジスタ４−３２、クライアント情報レジスタ４−３３、映像バッファ４−３４は、プロセス間でデータの受け渡しに用いる共有メモリである。
・カメラ情報レジスタ４−３１：レンズパラメータ（焦点距離などレンズ特性）が格納される。この内容は、カメラ情報設定部１−１９にて設定される。
・ＰＴＺ値レジスタ４−３２：クライアントからのカメラ制御命令に応じてカメラ制御を行った結果の常に最新のパン、チルト、ズーム値を格納する。
・クライアント情報レジスタ４−３３：クライアント側の画像展開処理能力を示す。カメラが、画像をクライアント側で変換出来る（ＯＫ）か否か（ＮＧ）を格納する。
・映像バッファ４−３４：リングバッファ等の構成により、画像フレーム単位で書き込みと読出しが同時にできるようになっているものとする。
【００５９】
なお、ＰＴＺ値レジスタ４−３２、クライアント情報レジスタ４−３３は、クライアントプロセスに１対１に対応してエントリが生成される。
【００６０】
一方、表示操作装置１−２上では、クライアントプロセス４−４１が動作しており、その動作の詳細は図７に示す。
【００６１】
以下、本実施形態の動作を図５乃至図７のフローチャートを用いて説明する。
【００６２】
なお、クライアントプロセスとサーバプロセス間でやり取りされるパケットとしては図８のような形式のものがある。なお、厳密には、ＴＣＰ／ＩＰやＵＤＰ／ＩＰ等のパケットで用いられているフォーマットを使用することになるが、図８では本実施形態の説明に必要なパケット情報のみの概念的な記述とすることにする。
【００６３】
まず、図５のフローチャートを用いて映像サーバプロセス４−１１、映像獲得プロセス４−１２、映像送信プロセス４−１３について説明する。
【００６４】
映像サーバプロセス４−１１が起動されると（Ｓ５００）、映像獲得プロセス４−１２を生成し（Ｓ５０２）、クライアントプロセス４−４１からのイベント（コマンド）を待つ（Ｓ５０３）。ここで、イベントが映像表示開始要求コマンド（図８（５））であれば（Ｓ５０４）、映像表示要求パケットに含まれているクライアントの画像切り出し処理能力フラグ（図８（５）の”flag”部分）とパケットの送信元アドレスをクライアント情報レジスタ４−３３に新規エントリとして保存し（Ｓ５０５）、映像送信プロセス４−１３を生成する（Ｓ５０６）。さらに、クライアントプロセスには，カメラの情報を示すカメラ情報レジスタ４−３１の内容を返送する（Ｓ５０７）。映像表示終了要求コマンドであれば（Ｓ５０９）、同様に映像表示終了要求パケットに含まれているパケットの送信元アドレスに対応する映像送信プロセスを終了させ、対応するクライアント情報レジスタ４−３３のエントリを削除する（Ｓ５１０）。
【００６５】
映像獲得プロセス４−１２は、起動されると、カメラ映像をフレームとしてキャプチャーし（Ｓ５２２）、一定角度で方角別に画像を分割し（Ｓ５２３）、映像バッファ４−３４に書き込むという動作をある一定周期（例えば秒３０回など）で繰り返す（Ｓ５２４）。
【００６６】
映像送信プロセス４−１３は、クライアントからの映像表示要求に応じて、すなわちクライアントプロセスに一対一に対応して、生成起動され、クライアントから映像表示終了要求を受信してプロセスを終了するまで以下の操作を繰り返す。
【００６７】
基本的には、映像バッファ４−３４から最新の映像を取り込み（Ｓ５３２）、圧縮を行い（Ｓ５３９）、この圧縮された映像データを、図８（９）の形式にパケット化し、要求元に対応するクライアントに送信する（Ｓ５４０）。その際、圧縮、送信の前に、必要に応じて画像変換処理を行う（Ｓ５３８）。
【００６８】
具体的には、ＰＴＺ（パン、チルト、ズーム）値を読み出し（Ｓ５３３）、そのＰＴＺ値に対応した分割画像を選択する（Ｓ５３５）。次にクライアント情報を確認し（Ｓ５３６）、変換処理能力が十分（ＯＫ）であれば、サーバ側で変換処理せず、撮影したそのままの画像をクライアントに送信する。この場合、クライアント側で変換処理をすることになる。
【００６９】
一方、展開処理能力が不十分（ＮＧ）であれば、カメラ情報レジスタ４−３１の内容に含まれるカメラの種類とレンズパラメータ情報に応じて、幾何変換処理を行う。
【００７０】
次に、図６のフローチャートを用いてカメラ制御プロセス、制御処理プロセスについて説明する。
【００７１】
カメラ制御プロセス４−２１は、クライアントプロセス４−４１からの接続要求を常に受け付けるため、以下の処理を繰り返し行う。すなわち、クライアントプロセス４−４１から接続要求（図８（１））があると、まずカメラ情報レジスタ４−３１を確認する。
【００７２】
接続要求のあったクライアントプロセスに応じて制御処理プロセス４−２２を１対１で生成し（Ｓ６０２）、接続受付処理を行う（Ｓ６０９）。
【００７３】
制御処理プロセス４−２２では、プロセスが生成されると、接続のあった操作クライアントプロセス４−４１から送信されてくるカメラ制御コマンド（図８（３）、（４））に対して、プロセスが終了するまで適切な処理を行う。カメラ制御コマンド（図８（３）、（４））が来ると（Ｓ６２４）、ＰＴＺ値レジスタ４−３２のＰＴＺ値を制御コマンドに沿って更新し（Ｓ６２８）、ＰＴＺ値に応じた送信画像の選択を行う（Ｓ６２９）。
【００７４】
なお、クライアントプロセス４−４１から受け取ったカメラ制御コマンドは、コマンド解釈部１−１７、カメラ制御部を通じて、コマンドに応じたカメラ制御を行うが、カメラ制御コマンドとしては、本実施形態では説明の便宜のため、次の命令があるものとする。
【００７５】
パンチルト角度変更命令
ANG θ φ
ズーム倍率変更命令
ZOM γ
ただし、θ、φ、γは、それぞれ、パン角度、チルト角度、ズーム倍率をあらわすパラメータであり、このカメラ制御コマンドには、他にも逆光補正やオートフォーカス、マニュアルフォーカス値設定等、各種ありえるが、ここでは説明を省略する。
【００７６】
図７にクライアント装置１−２で動作しているクライアントプロセス４−４１の動作を示す。
【００７７】
まず、プロセス起動時に、接続するカメラサーバ装置１−１のアドレス（ＩＰアドレス、ここでは"ADDR_C"とする）を指定して起動すると、クライアント自体の画像切り出し能力を確認し（Ｓ７０２）、映像表示開始要求をADDR_Cに対応するカメラサーバ装置に送信する（Ｓ７０３）。その際、映像表示開始要求には、画像切り出し能力（flag）を設定する。パケット形式は図８の（５）のようになる。ここで、ADDR_Cに対応するカメラサーバ装置からカメラ情報（図８ （８））が返ってこなければ（Ｓ７０４）、アドレスが間違っている等、動作異常なので、クライアントプロセスを終了する。
【００７８】
カメラ情報通知パケット図８（８）のcameraにはカメラの種類、paramには画像の切り出し幾何変換処理に必要なカメラパラメータが含まれている。カメラ情報（図８ （８））データが返ってくれば接続成功なので、カメラ情報をカメラ情報レジスタ４−５１に記憶しておく（Ｓ７０５）。なお、カメラ情報は、接続先のサーバのカメラ情報レジスタ４−３１と同等の内容である。以降イベント、すなわちユーザからユーザインタフェースの操作またはカメラサーバ装置１−１からの各種パケットの到着を繰り返し待ち、イベントにあわせた処理を次々に行う（Ｓ７０６）。
【００７９】
ここで、ユーザが操作開始ボタン３−２１を押すと（Ｓ７０７）。自分が既にカメラ制御を開始している状態かどうか（操作中）を確認し（Ｓ７０８）、既に操作中＝ＹＥＳならＳ７０６に戻るが、操作中＝ＹＥＳでなければ、カメラ制御接続要求（図８（１））をカメラ制御サーバプロセスに対して発行し（Ｓ７０９）、接続が受け付けられるか否かを待つ（Ｓ７１０）。ここで受付られれば、カメラ制御サーバプロセスに対して接続が成立し、クライアントの状態を操作中＝ＹＥＳにし（Ｓ７１２）、カメラ制御パネル３−２の操作を有効にして、カメラ制御パネル３−２でカメラ制御できるようになる。
【００８０】
カメラ制御パネル３−２の操作が有効になっている間は、カメラ制御パネル３−２の操作に対応したカメラ制御命令が生成され、カメラサーバプロセスに発行される（Ｓ７２２）。このとき、クライアント側で切り出し処理が必要な場合には、映像データ受信時にＳ７２６で画像切り出し処理ができるよう、カメラ制御命令中のＰＴＺ値の最新の値を更新・保持しておく。
【００８１】
メニューなどの操作によって発行されるクライアントプロセス終了要求（Ｓ７３０）に対しては、映像表示終了要求（図８（６））を発行し（Ｓ７３１）、クライアントプロセスを終了する。
【００８２】
パケットが到着した場合には（Ｓ７２３）、それが映像データ（図８（９））の場合（Ｓ７２４）、映像データ中の圧縮映像データを読み出し、伸長処理を行った後（Ｓ７２５）、この映像フレームデータを用いて、映像表示パネル３−１の表示映像を更新する（Ｓ７２９）。なお、クライアント側で画像展開処理が必要な場合には、伸長後の画像データから画像展開処理を行った後で（Ｓ７２７）、ＰＴＺに応じた切り出し処理を行い表示映像を更新する（Ｓ７２９）。その際カメラ情報に含まれているレンズ等のパラメータを用いることは言うまでもない。
【００８３】
以上説明したように、上記の実施形態によれば、全方位カメラの映像をあらかじめ決められた角度とステップで分割し別々のストリームで配送すると、同時に多人数のカメラ制御を受けた時に、それぞれのクライアント毎の画角についてサーバで複雑な計算をする必要がなく画角に応じたストリームをそれぞれクライアントに選択させるだけでよい。
【００８４】
また円形の全方位画像をマスクを利用して分割画像を作成するので分割画像の作成は簡単な処理になるのでサーバの負荷は低くなる。
【００８５】
また、画像を分割して配送することにより全画像を配送する場合に比べてデータ量が小さくなり、フレームレートを上げることが出来るようになる。
【００８６】
（他の実施形態）
また、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００８９】
【図１】本発明の一実施形態の映像通信システムの構成を示すブロック図である。
【図２】図１に示すシステムの詳細なブロック図である。
【図３】表示操作装置における操作画面例を示す図である。
【図４】一実施形態の映像通信システムにおけるプロセス構成図である。
【図５】映像サーバプロセスの動作を示すフローチャートである。
【図６】カメラ制御サーバプロセスの動作を示すフローチャートである。
【図７】クライアントプロセスの動作を示すフローチャートである。
【図８】パケット形式の一覧を示す図である。
【図９】全方位カメラを示す図である。
【図１０】全方位カメラにより撮影された全方位画像を示す図である。
【図１１】全方位画像の分割例を示す図である。
【図１２】全方位画像の分割方法を示す図である。
【図１３】分割された全方位分割画像の選択方法を示す図である。
【符号の説明】
【００９０】
３−１  映像表示パネル
３−２  カメラ制御パネル
３−２２，３−２３，３−２８  スクロールバー
３−２４，３−２５，３−２６，３−２７  ボタン
１０−１，１０−２  切り出し範囲
【図１】
2005167397.tif 000003
【図２】
2005167397.tif 000004
【図３】
2005167397.tif 000005
【図４】
2005167397.tif 000006
【図５】
2005167397.tif 000007
【図６】
2005167397.tif 000008
【図７】
2005167397.tif 000009
【図８】
2005167397.tif 000010
【図９】
2005167397.tif 000011
【図１０】
2005167397.tif 000012
【図１１】
2005167397.tif 000013
【図１２】
2005167397.tif 000014
【図１３】
2005167397.tif 000015