(57)【特許請求の範囲】
【請求項１】
送信装置が受信装置に全方位映像をネットワークを介して配信する画像配信システムにおいて、
前記送信装置は、
前記受信装置から視点情報を受信する受信手段と、
前記受信手段により受信された前記視点情報に含まれる移動ベクトルと、前記ネットワークのラウンドトリップタイムに基づいて、前記全方位映像から抽出すべき画像のサイズおよび前記全方位映像中における位置を変化させて第１の画像を抽出する抽出手段と、
前記抽出手段により抽出された前記第１の画像を前記受信装置に送信する第１の送信手段と
を備え、
前記受信装置は、
前記視点情報を取得する取得手段と、
前記取得手段により取得された前記視点情報を前記送信装置に送信する第２の送信手段と、
前記送信装置から送信されてきた前記第１の画像を受信する受信手段と、
前記受信手段により受信された前記第１の画像を記憶する記憶手段と、
前記記憶手段に記憶された前記第１の画像から、前記取得手段により取得された前記視点情報に基づき第２の画像を抽出し、出力する出力手段と
を備えることを特徴とする画像配信システム。
【請求項２】
送信装置が受信装置に全方位映像をネットワークを介して配信する画像配信システムの画像配信方法において、
前記送信装置は、
前記受信装置から視点情報を受信する受信ステップと、
前記受信ステップの処理により受信された前記視点情報に含まれる移動ベクトルと、前記ネットワークのラウンドトリップタイムに基づいて、前記全方位映像から抽出すべき画像のサイズおよび前記全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記第１の画像を前記受信装置に送信する第１の送信ステップと
を含み、
前記受信装置は、
前記視点情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記視点情報を前記送信装置に送信する第２の送信ステップと、
前記送信装置から送信されてきた前記第１の画像を受信する受信ステップと、
前記受信ステップの処理により受信された前記第１の画像を記憶する記憶ステップと、
前記記憶ステップの処理により記憶された前記第１の画像から、前記取得ステップの処理により取得された前記視点情報に基づき第２の画像を抽出し、出力する出力ステップと
を含むことを特徴とする画像配信方法。
【請求項３】
受信装置に全方位映像をネットワークを介して配信する画像配信装置において、
前記受信装置から視点情報を受信する受信手段と、
前記受信手段により受信された前記視点情報に含まれる移動ベクトルと、前記ネットワークのラウンドトリップタイムに基づいて、前記全方位映像から抽出すべき画像のサイズおよび前記全方位映像中における位置を変化させて第１の画像を抽出する抽出手段と、
前記抽出手段により抽出された前記第１の画像を前記受信装置に送信する送信手段と
を備えることを特徴とする画像配信装置。
【請求項４】
前記視点情報に対応して前記受信装置が出力する画像のサイズおよび当該画像に対するマージンを計算する計算手段をさらに備え、
前記抽出手段は、前記受信手段が受信した前記視点情報とともに、前記計算手段により計算された前記マージンと、前記画像のサイズの双方に基づいて、前記全方位映像から前記第１の画像を抽出する
ことを特徴とする請求項３に記載の画像配信装置。
【請求項５】
受信装置に全方位映像をネットワークを介して配信する画像配信装置の画像配信方法において、
前記受信装置から視点情報を受信する受信ステップと、
前記受信ステップの処理により受信された前記視点情報に含まれる移動ベクトルと、前記ネットワークのラウンドトリップタイムに基づいて、前記全方位映像から抽出すべき画像のサイズおよび前記全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記第１の画像を前記受信装置に送信する送信ステップと
を含むことを特徴とする画像配信方法。
【請求項６】
受信装置に全方位映像をネットワークを介して配信する画像配信装置のプログラムであって、
前記受信装置から視点情報を受信する受信ステップと、
前記受信ステップの処理により受信された前記視点情報に含まれる移動ベクトルと、前記ネットワークのラウンドトリップタイムに基づいて、前記全方位映像から抽出すべき画像のサイズおよび前記全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記第１の画像を前記受信装置に送信する送信ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
受信装置に全方位映像をネットワークを介して配信する画像配信装置を制御するコンピュータに、
前記受信装置から視点情報を受信する受信ステップと、
前記受信ステップの処理により受信された前記視点情報に含まれる移動ベクトルと、前記ネットワークのラウンドトリップタイムに基づいて、前記全方位映像から抽出すべき画像のサイズおよび前記全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記第１の画像を前記受信装置に送信する送信ステップと
を実行させるプログラム。
【請求項８】
送信装置からネットワークを介して全方位映像の配信を受ける画像受信装置において、
視点情報を取得する取得手段と、
前記取得手段により取得された前記視点情報を前記送信装置に送信する送信手段と、
前記送信装置から送信されてきた前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信手段と、
前記受信手段により受信された前記第１の画像を記憶する記憶手段と、
前記記憶手段に記憶された前記第１の画像から、前記取得手段により取得された前記視点情報に基づき、前記第１の画像から抽出すべき画像のサイズおよび前記第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力手段と、
前記第１の画像に対する前記第２の画像のマージンを計算する計算手段と
を備え、
前記送信手段は、前記計算手段により計算された前記マージンに基づいて、前記視点情報を前記送信装置に送信する
ことを特徴とする画像受信装置。
【請求項９】
前記出力手段は、前記算出されたマージンと、ラウンドトリップタイムに基づいて、前記第２の画像に対応する前記第１の画像中における位置の変化量を変化させる
ことを特徴とする請求項８に記載の画像受信装置。
【請求項１０】
前記出力手段は、
前記受信手段によって受信された前記第１の画像のサイズと、
前記第２の画像に対応する前記第１の画像中における位置の変化量と、
ラウンドトリップタイムと
に基づいて、前記第２の画像として抽出すべき画像のサイズを決定する
ことを特徴とする請求項８に記載の画像受信装置。
【請求項１１】
送信装置からネットワークを介して全方位映像の配信を受ける画像受信装置の画像受信方法において、
視点情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記視点情報を前記送信装置に送信する送信ステップと、
前記送信装置から送信されてきた前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信ステップと、
前記受信ステップの処理により受信された前記第１の画像を記憶する記憶ステップと、
前記記憶ステップの処理により記憶された前記第１の画像から、前記取得ステップの処理により取得された前記視点情報に基づき、前記第１の画像から抽出すべき画像のサイズおよび前記第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力ステップと、
前記第１の画像に対する前記第２の画像のマージンを計算する計算ステップと
を含み、
前記送信ステップにおいて、前記計算ステップの処理により計算された前記マージンに基づいて、前記視点情報を前記送信装置に送信する
ことを特徴とする画像受信方法。
【請求項１２】
送信装置からネットワークを介して全方位映像の配信を受ける画像受信装置のプログラムであって、
視点情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記視点情報を前記送信装置に送信する送信ステップと、
前記送信装置から送信されてきた前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信ステップと、
前記受信ステップの処理により受信された前記第１の画像を記憶する記憶ステップと、
前記記憶ステップの処理により記憶された前記第１の画像から、前記取得ステップの処理により取得された前記視点情報に基づき、前記第１の画像から抽出すべき画像のサイズおよび前記第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力ステップと、
前記第１の画像に対する前記第２の画像のマージンを計算する計算ステップと
を含み、
前記送信ステップにおいて、前記計算ステップの処理により計算された前記マージンに基づいて、前記視点情報を前記送信装置に送信する
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１３】
送信装置からネットワークを介して全方位映像の配信を受ける画像受信装置を制御するコンピュータに、
視点情報を取得する取得ステップと、
前記取得ステップの処理により取得された前記視点情報を前記送信装置に送信する送信ステップと、
前記送信装置から送信されてきた前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信ステップと、
前記受信ステップの処理により受信された前記第１の画像を記憶する記憶ステップと、
前記記憶ステップの処理により記憶された前記第１の画像から、前記取得ステップの処理により取得された前記視点情報に基づき、前記第１の画像から抽出すべき画像のサイズおよび前記第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力ステップと、
前記第１の画像に対する前記第２の画像のマージンを計算する計算ステップと
を含み、
前記送信ステップにおいて、前記計算ステップの処理により計算された前記マージンに基づいて、前記視点情報を前記送信装置に送信する
処理を実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像配信システムおよび方法、画像配信装置および方法、画像受信装置および方法、記録媒体、並びにプログラムに関し、特に、ネットワークを混雑させることなく、画像を配信することができるようにした画像配信システムおよび方法、画像配信装置および方法、画像受信装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
全方位映像のような様々な視点を持つ映像から、ユーザが自分の好む視点を選択して見ることを可能とする新しい映像空間のサービスが始まりつつある。全方位映像のような多視点映像は、ユーザが実際に見ている映像(あるいは表示されている映像)以外に空間全体を構成する映像を含むので、そのデータ量は膨大である。
【０００３】
そのような映像をインターネットなどの伝送路を介してストリーミング配信する場合、RealVideo社のRealServerやApple社のQuickTime StreamingServer（いずれも商標）に代表される既存のストリーミング配信システムでは、映像空間を構成する全ての映像をサーバがクライアントに配信することになる。これは、全方位映像のようなアプリケーションが想定されていないためである。
【０００４】
特開平11-205772号公報には、全方位映像のネットワーク配信について記述されているが、同公報の発明では、送信側は全ての映像を送信し、受信側で表示部分の切り出しを行なっている。
【０００５】
このような配信方法では、大部分は表示されない映像であるにも関わらず全ての映像を配信するので、ネットワーク帯域が圧迫される。また、配信される画像が圧縮された画像の場合、デコードサイズが大きくなり、クライアントの処理負荷が増大し、リアルタイムに処理することが困難になるなどの問題を引き起こす。
【０００６】
【発明が解決しようとする課題】
そのため、全ての映像を配信するのでなく必要な映像だけを配信するというアプローチが必要になる。特開2000-132674公報では、全方位映像において視点映像部分を送受信するシステムが提案されている。ここでの提案方式は、クライアントが視点映像を座標で指定し、サーバは指定された座標の映像のみを送信するという方式であるが、主に静止画像を想定したシステム構成であるため、ユーザの急な視点移動要求に対して、ネットワークの応答遅延などにより即座には要求する視点の画像を提供できず、スムーズな視点移動を実現できない。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、ネットワークを混雑させることなく、また、受信側の負荷を増大させることなく、スムーズに視点移動が可能な画像を配信できるようにするものである。
【０００８】
【課題を解決するための手段】
本発明の画像配信システムは、送信装置は、受信装置から視点情報を受信する受信手段と、受信手段により受信された視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置を変化させて第１の画像を抽出する抽出手段と、抽出手段により抽出された第１の画像を受信装置に送信する第１の送信手段とを備え、受信装置は、視点情報を取得する取得手段と、取得手段により取得された視点情報を送信装置に送信する第２の送信手段と、送信装置から送信されてきた第１の画像を受信する受信手段と、受信手段により受信された第１の画像を記憶する記憶手段と、記憶手段に記憶された第１の画像から、取得手段により取得された視点情報に基づき第２の画像を抽出し、出力する出力手段とを備えることを特徴とする。
【０００９】
本発明の画像配信方法は、送信装置は、受信装置から視点情報を受信する受信ステップと、受信ステップの処理により受信された視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、抽出ステップの処理により抽出された第１の画像を受信装置に送信する第１の送信ステップとを含み、受信装置は、視点情報を取得する取得ステップと、取得ステップの処理により取得された視点情報を送信装置に送信する第２の送信ステップと、送信装置から送信されてきた第１の画像を受信する受信ステップと、受信ステップの処理により受信された第１の画像を記憶する記憶ステップと、記憶ステップの処理により記憶された第１の画像から、取得ステップの処理により取得された視点情報に基づき第２の画像を抽出し、出力する出力ステップとを含むことを特徴とする。
【００１０】
本発明の画像配信装置は、受信装置から視点情報を受信する受信手段と、受信手段により受信された視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置を変化させて第１の画像を抽出する抽出手段と、抽出手段により抽出された第１の画像を受信装置に送信する送信手段とを備えることを特徴とする。
【００１２】
視点情報に対応して受信装置が出力する画像のサイズおよび当該画像に対するマージンを計算する計算手段をさらに備え、抽出手段は、受信手段が受信した視点情報とともに、計算手段により計算されたマージンと、画像のサイズの双方に基づいて、全方位映像から第１の画像を抽出することができる。
【００１３】
本発明の画像配信方法は、受信装置から視点情報を受信する受信ステップと、受信ステップの処理により受信された視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、抽出ステップの処理により抽出された第１の画像を受信装置に送信する送信ステップとを含むことを特徴とする。
【００１４】
本発明の第１の記録媒体のプログラムは、受信装置に全方位映像をネットワークを介して配信する画像配信装置のプログラムであって、受信装置から視点情報を受信する受信ステップと、受信ステップの処理により受信された視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、抽出ステップの処理により抽出された第１の画像を受信装置に送信する送信ステップとを含むことを特徴とする。
【００１５】
本発明の第１のプログラムは、受信装置に全方位映像をネットワークを介して配信する画像配信装置を制御するコンピュータに、受信装置から視点情報を受信する受信ステップと、受信ステップの処理により受信された視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置を変化させて第１の画像を抽出する抽出ステップと、抽出ステップの処理により抽出された第１の画像を受信装置に送信する送信ステップとを実行させる。
【００１６】
本発明の画像受信装置は、視点情報を取得する取得手段と、取得手段により取得された視点情報を送信装置に送信する送信手段と、送信装置から送信されてきた、前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信手段と、受信手段により受信された第１の画像を記憶する記憶手段と、記憶手段に記憶された第１の画像から、取得手段により取得された視点情報に基づき、第１の画像から抽出すべき画像のサイズおよび第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力手段と、第１の画像に対する第２の画像のマージンを計算する計算手段とを備え、送信手段は、計算手段により計算されたマージンに基づいて、視点情報を送信装置に送信することを特徴とする。
【００１７】
前記出力手段は、算出されたマージンと、ラウンドトリップタイムに基づいて、第２の画像に対応する第１の画像中における位置の変化量を変化させることができる。
前記出力手段は、受信手段によって受信された第１の画像のサイズと、第２の画像に対応する第１の画像中における位置の変化量と、ラウンドトリップタイムとに基づいて、第２の画像として抽出すべき画像のサイズを決定することができる。
【００１８】
本発明の画像受信方法は、視点情報を取得する取得ステップと、取得ステップの処理により取得された視点情報を送信装置に送信する送信ステップと、送信装置から送信されてきた、前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信ステップと、受信ステップの処理により受信された第１の画像を記憶する記憶ステップと、記憶ステップの処理により記憶された第１の画像から、取得ステップの処理により取得された視点情報に基づき、第１の画像から抽出すべき画像のサイズおよび第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力ステップと、第１の画像に対する第２の画像のマージンを計算する計算ステップとを含み、送信ステップにおいて、計算ステップの処理により計算されたマージンに基づいて、視点情報を送信装置に送信することを特徴とする。
【００１９】
本発明の第２の記録媒体のプログラムは、送信装置からネットワークを介して全方位映像の配信を受ける画像受信装置のプログラムであって、視点情報を取得する取得ステップと、取得ステップの処理により取得された視点情報を送信装置に送信する送信ステップと、送信装置から送信されてきた、前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信ステップと、受信ステップの処理により受信された第１の画像を記憶する記憶ステップと、記憶ステップの処理により記憶された第１の画像から、取得ステップの処理により取得された視点情報に基づき、第１の画像から抽出すべき画像のサイズおよび第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力ステップと、第１の画像に対する第２の画像のマージンを計算する計算ステップとを含み、送信ステップにおいて、計算ステップの処理により計算されたマージンに基づいて、視点情報を送信装置に送信することを特徴とする。
【００２０】
本発明の第２のプログラムは、送信装置からネットワークを介して全方位映像の配信を受ける画像受信装置を制御するコンピュータに、視点情報を取得する取得ステップと、取得ステップの処理により取得された視点情報を送信装置に送信する送信ステップと、送信装置から送信されてきた、前記全方位映像の所定の範囲から抽出された第１の画像を受信する受信ステップと、受信ステップの処理により受信された第１の画像を記憶する記憶ステップと、記憶ステップの処理により記憶された第１の画像から、取得ステップの処理により取得された視点情報に基づき、第１の画像から抽出すべき画像のサイズおよび第１の画像中における位置を変化させて第２の画像を抽出し、出力する出力ステップと、第１の画像に対する第２の画像のマージンを計算する計算ステップとを含み、送信ステップにおいて、計算ステップの処理により計算されたマージンに基づいて、視点情報を送信装置に送信する処理を実行させる。
【００２１】
本発明の画像配信システムおよび方法においては、受信装置から送信装置に対して、視点情報が送信され、その視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置が変化させて第１の画像が抽出され、送信装置から受信装置に送信される。
【００２２】
本発明の画像配信装置および方法、記録媒体、並びにプログラムにおいては、受信装置から受信された視点情報に含まれる移動ベクトルと、ネットワークのラウンドトリップタイムに基づいて、全方位映像から抽出すべき画像のサイズおよび全方位映像中における位置が変化させて第１の画像が抽出され、抽出された第１の画像が受信装置に送信される。
【００２３】
本発明の画像受信装置および方法、記録媒体、並びにプログラムにおいては、視点情報が送信装置に送信され、その視点情報に基づいて、送信装置から送信されてきた第１の画像が記憶され、記憶された第１の画像から視点情報に基づき、第１の画像から抽出すべき画像のサイズおよび第１の画像中における位置が変化させて第２の画像が抽出され、出力される。また、第１の画像に対する第２の画像のマージンが計算され、計算されたマージンに基づいて、視点情報が送信装置に送信される。
【００２４】
【発明の実施の形態】
本発明では、全方位映像をネットワークで配信するときにユーザが選択した視点の映像およびその周辺部を送信することで、ユーザの急な視点移動要求に対処できる配信方法が採用される。下に図を参照して本発明について具体的に説明する。
【００２５】
最初に、図１乃至図４を参照して、システム全体の構成と動作について説明し、その後に、図５乃至図１７を参照して、より詳細について説明する。
【００２６】
図1は本発明を適用した全方位映像配信システムの構成図であり、全方位映像のような多視点映像ストリームを生成する映像送信装置１と、映像送信装置１からの映像ストリームを受信し、任意視点の映像を表示する映像受信装置２から成り、それらはインターネット、ＬＡＮ、ＷＡＮなどを含むネットワーク３を介して接続されている。
【００２７】
映像送信装置１は、映像入力部１１、ストリーム制御部１２、視点情報受信部１３、およびストリーム送信部１４から構成される。なお図示は省略するが、複数の映像受信装置２がネットワーク３を介して映像送信装置１に接続されている。
【００２８】
映像入力部１１は、例えばビデオカメラ、映像ファイルが蓄積されたディスク装置などを有し、映像入力部１１から入力された映像はストリーム制御部１２に渡される。ストリーム制御部１２に渡される映像は圧縮符号化された映像ストリームであってもよい。
【００２９】
視点情報受信部１３は、映像受信装置２から送られて来る視点情報を受信する部分であり、ネットワークインターフェイスを有する。ストリーム制御部１２は、視点情報受信部１３からの視点情報と、映像入力部１１からの映像ストリームを入力とし、映像受信装置２の視点映像に適したストリームを生成する。
【００３０】
ストリーム制御部１２から出力される映像ストリームは、画像を空間的に複数のブロックに分割した複数ストリームとして出力されてもよい。ブロック分割の方法としては、例えばJPEG2000画像におけるタイル分割の方法が考えられる。その詳細は、図５を参照して後述する。
【００３１】
ストリーム送信部１４は、 RTP(Real-time Transport Protocol)などを用いて映像ストリームのパケット化処理を行ない、映像受信装置２に送信する部分であり、ネットワークインターフェイスを有する。
【００３２】
映像受信装置２は、ユーザの視点情報が入力される視点情報入力部３１、表示映像制御部３２、視点情報送信部３３、ストリーム受信部３４、および映像出力部３５から構成される。視点情報入力部３１は、例えばマウス、キーボード、ヘッドトラッカ、ジョイスティックなどの入力装置を有し、ここから入力された視点情報は表示映像制御部３２および視点情報送信部３３に渡される。
【００３３】
視点情報送信部３３は、視点情報を映像送信装置１に送信する部分であり、ネットワークインターフェイスを有する。ストリーム受信部３４は、ネットワークインターフェイスを有し、受信した映像ストリームを表示映像制御部３２に渡す。表示映像制御部３２は、視点情報に基づいて、受信した映像ストリームから表示すべき映像を作り出す。複数の映像ストリームを受信した場合の同期処理なども表示映像制御部３２で行なわれる。映像出力部３５は、例えばディスプレイなどを有し、表示映像制御部３２が生成した画像を出力、表示する。
【００３４】
図2は、図1のシステムにおいて、映像受信装置２の視点が変化したときの映像受信装置２と映像送信装置１との間のやりとりを示している。映像送信装置１のストリーム制御部１２は、視点情報受信部１３からネットワーク３を介して映像受信装置２から受信した視点情報に基づき、映像入力部１１から、全方位映像のような多視点映像における空間全体の画像201のうちの所定の範囲の（一部分の）送信画像202を抽出し、ステップＳ１，Ｓ２などにおいて、ストリーム送信部１４から、ネットワーク３を介して、映像受信装置２に送信する。
【００３５】
映像受信装置２の表示映像制御部３２は、ストリーム受信部３４を介して受信した画像202を、内蔵する記憶部に一旦記憶させる。表示映像制御部３２は、視点情報入力部３１から、ユーザの操作に基づく視点（座標）に関する情報（視点情報）を取り込み、記憶された画像202の中から、この視点に対応する範囲の表示画像を再構成して、ユーザの視点画像204として、映像出力部３５に出力し、表示する。
【００３６】
映像受信装置２において、ユーザの操作に基づいて、矢印205の方向に視点移動が発生したことが、視点情報入力部３１から入力された場合、視点情報送信部３３は、ステップＳ１１で、ネットワーク３を介して映像送信装置１へ、この視点移動を通知する。しかしながら、視点移動発生後、直ちに視点移動通知が送信されたとしても、ネットワーク３の伝搬遅延や映像送信装置１での処理遅延などにより、視点移動が反映された画像を映像受信装置２が受信するまでに、ある程度の時間を要する(以下、この時間を応答時間ＴDと呼ぶ)。視点移動が反映された画像が届くまでの間(応答時間ＴDの期間)、映像受信装置２の表示映像制御部３２は、移動した方向に合わせて新たな表示位置の画像207を決定し、映像出力部３５に表示させる。
【００３７】
一方、ステップＳ３で、映像送信装置１のストリーム制御部１２は、視点情報受信部１３を介して受信した視点移動情報に基づき、直ちに、次に送信すべき画像位置の画像208を決定し、それを映像入力部１１から入力して、ストリーム送信部１４から送信する。
【００３８】
視点移動が反映された画像208をストリーム受信部３４を介して受信した映像受信装置２の表示映像制御部３２は、それを記憶するとともに、記憶されている受信画像208の中から、視点情報入力部３１より入力された座標（視点）に対応する位置の画像210を決定、抽出し、映像出力部３５に出力し、表示する。
【００３９】
以上の動作は、視点移動が終了するまで、映像送信装置１と映像受信装置２において継続的に実行される。
【００４０】
図3は、受信(送信)画像サイズと表示画像サイズの関係を利用した視点移動制御について示した図である。図2で示したように、映像受信装置２が視点移動通知を送信しても、すぐには受信画像に反映されないため、応答時間ＴD内において、表示画像302が受信画像301の枠外に出ないような制御が必要である。表示映像制御部３２は、この制御方法として、次の方法のいずれかを採用する。
【００４１】
第１の方法は、表示画像のマージン（垂直方向のマージン303と水平方向のマージン304）、並びに応答時間ＴDから、映像受信装置２における視点移動速度の上限を決定する方法である。なお、マージン303は、表示画像302の水平方向の端部（この例の場合、上の端部）と受信画像301の水平方向の端部（上側の端部）との距離意味し、マージン304は、表示画像302の垂直方向の端部（右の端部）と、受信画像３０１の垂直方向の端部（右の端部）の距離を意味する。
【００４２】
この場合、視点移動速度の上限は、次式で規定される。
(視点移動速度の上限) ≦ (画像マージン) ／ 応答時間      （１）
【００４３】
移動方向が任意方向の場合には、移動方向成分を水平方向と垂直方向に分解して計算する。例えば、図3に示されるように、矢印（移動ベクトル）305 の方向に視点移動がある場合には、移動ベクトル305の移動方向成分を、水平方向成分307と垂直方向成分306に分けて考える。移動方向と水平方向の間の角度をθとすると、次式が成立する。
0003951695.tif 000002
なお Min(A，B)は、AとBのうち最小値を意味する。また、水平方向成分304と垂直方向成分303は、長さの絶対値を表す。
【００４４】
同様に、視点のズームインまたはズームアウトは、表示画像が４方向へ移動していると考えることで、式(2)を適用することができる。
【００４５】
第２の方法は、視点移動速度は一定として応答時間から送信画像サイズを決定する方法である。この場合、式(1)を変形すると、
(画像マージン) ≧ (視点移動速度)× 応答時間        (3)
なので、送信画像サイズは、
0003951695.tif 000003
で表される。
【００４６】
第３の方法は、送信画像サイズと視点移動速度は一定として応答時間から表示画素数を決定する方法である。
【００４７】
式(4)を、
表示画像サイズ＝表示画素数
送信画像サイズ＝受信画像サイズ
であることに注意して変形すると、次式が得られる。
0003951695.tif 000004
この場合、表示画素数を少なくした分、デジタルズーム処理などにより、見かけ上の表示画像サイズを大きくするなどの処理と組み合わせる方法も考えられる。
【００４８】
第４の方法は、上記した第１乃至第３の方法を応答時間の長短に応じて柔軟に切り替える方法である。
【００４９】
応答時間が長い場合には、第１の方法だと、視点移動が非常に遅くなる可能性があるので、第２の方法に切り替える方法などが考えられる。
【００５０】
なお、上記方法で使用される応答時間は、
0003951695.tif 000005
として表されるが、各値は映像送信装置１と映像受信装置２の間でモニタリング情報を交換するなどして既知であるものとすることができる。
【００５１】
また、この応答時間の一部を構成するRTT（Round Trip Time）は、次のようにして測定することもできる。
【００５２】
RTCP(Real-time Control Protocol)を使ったRTTの測定には、映像送信装置１が映像受信装置２に定期的に送信する送信報告メッセージ(Sender Report (SR))及び映像受信装置２が映像送信装置１に返す受信報告メッセージ(Receiver Report(RR))を用いる。SR, RRともにRTCPメッセージの１つである。SRには、その送信時刻が記述されており、RRには、SRに記述されていた送信時刻およびSRを受信してからRRを送信するまでの時間が記述されている。
【００５３】
図４は、映像送信装置１と映像受信装置２の間のSRおよびRRのやりとりを示す。
【００５４】
時刻Ｔ１に、映像送信装置１が映像受信装置２にSR４０１を送信する。このとき、SR４０１には、この送信時刻Ｔ１が書かれている。時刻Ｔ２にSRを受信した映像受信装置２の表示映像制御部３２は、以下の式により、片道遅延時間（RTT/２）を計算し、その結果を２倍してRTTとする。
【００５５】
片道遅延時間（RTT/２）＝Ｔ２−Ｔ１          （６）
【００５６】
なお、この処理は、映像送信装置１と映像受信装置２の内部時計が同期していることが前提となる。内部時計の同期方法の説明は省略するが、インターネットで一般的に用いられているNTP(Network Time Protocol)あるいはNTPに代わる独自プロトコルを用いて、内部時計は同期させることができる。
【００５７】
映像受信装置２は、一定時間delay経過後、時刻Ｔ３において、RR４０２を送信する。このとき、RR４０２には、送信時刻Ｔ１およびSR４０１を受信してからRR４０２を送信するまでの時間(delay＝Ｔ３−Ｔ２)が書かれている。時刻Ｔ４にRR４０２を受信した映像送信装置１のストリーム制御部１２は、
RTT＝Ｔ４−Ｔ１−delay ＝ Ｔ４−Ｔ１−（Ｔ３−Ｔ２）          （７）
によりRTTを計算する。映像送信装置１でのRTTの計算においては、RRにdelay時間が記録されているため、映像送信装置１と映像受信装置２の内部時計の同期は、必ずしも必要ない。式（７）の方法は、RFC１８８９にも記述されている方法である。
【００５８】
このように、本発明を利用することで、全方位映像のような多視点映像をネットワーク３を介して配信するときに、ネットワーク３の使用帯域や受信端末の処理負荷を軽減でき、無線ネットワークのような比較的低帯域のネットワークや、PDA(Personal Digital Assistants)、携帯電話機のような非力な端末に対しても、全方位映像をベースとした映像空間サービスを提供することが可能となる。
【００５９】
映像がMotion JPEG（Joint Photographic Expert Group）2000だった場合、JPEG2000にはエンコード機能として画面を部分画面に分割するタイル分割機能を有しているため、部分画像を配信した場合に、配信画像が全体画像のどの部分に当たるかの情報を別に配信する必要がなく、送信装置と受信装置間のプロトコルが単純になり、それ故に簡単に視点移動制御を行える。
【００６０】
次に、以上のシステムを実現する具体例についてさらに説明する。
【００６１】
最初に、全方位映像のデータフォーマットについて説明する。
【００６２】
映像入力部１１は、全方位映像のデータフォーマットを、円筒型の全方位映像とし、画像の圧縮形式としてJPEG2000を用いる。画像圧縮形式としてJPEG2000を用いると次のような利点が生じる。
【００６３】
すなわち、JPEG2000は画像フレーム間の差分をとらない画像圧縮方式であり、全方位映像の伝送に適している。全方位映像のように空間全体を構成する画像サイズが非常に大きく、表示されるのは任意の視点方向の一部の映像のみであり、ユーザがランダムに視点を移動させる使われ方の場合、MPEG（Moving Picture Coding Experts Group／Moving Picture Experts Group）などで使われている予測符号化方式はほとんど役に立たない。また、インターネットでの伝送を考えた場合、フレーム間差分を取るMPEG方式ではパケットロス時に、後続フレームにエラーが伝搬してしまう。フレーム間差分をとらないJPEG2000にはそのような問題は発生しない。
【００６４】
また、JPEG2000では、画像をタイルと呼ばれる幾つかの任意領域に分割して一部のタイルだけをデコードすることが可能である。各タイルサイズはエンコード時に指定したサイズで一定となり、タイルサイズはJPEG2000のヘッダに記述されている。また各タイルには全体画像の左上から右下方向に向かってインデックス番号がついているため、タイルインデックス番号が分かれば、そのタイル画像が全体画像のどの部分の画像かを容易に判断できるという利点がある。さらに、それぞれの部分に対して独立に符号化を行なうことが可能であり、ユーザがあまり注目しない部分(たとえば円筒形にマッピングされた空間画像の上端や下端部分)は画質を落とし圧縮率を上げることで、記憶領域やネットワーク帯域を更に節約することができる。
【００６５】
この映像配信システムでは、図２を参照して説明したように、視点映像およびその周辺部を含む任意の数のタイルよりなる画像（例えば、図２の画像202）を配信する方法を取る。JPEG2000には、TRUNCATE画像(エンコードされたデータの一部分)をデコーダ（表示映像制御部３２）に入力してもデコードできる機能を有するため、必要なタイルだけを配信することが可能になる。図５に画像を10個のタイルに分割した例を示す。タイルには0から９まで順番に、インデックス番号が振られているため、例えば、インデックス3のタイル画像の左上の座標は、(tile_width×3，0)と容易に知ることができる。なお、図５に示されるように、tile_widthは、タイルの幅を表す。また、tile_heigthは、タイルの高さを表す。
【００６６】
次に、視点移動時のプロトコルについて説明する。
【００６７】
映像受信装置２の視点が変化したとき、映像受信装置(クライアント)２と映像送信装置(サーバ)１の間で交わされるプロトコルは、以下のことを考慮したプロトコルとなる。ここでは、RTSP(Real Time Streaming Protocol) を拡張した例について説明するが、独自プロトコルを新たに設計してもよい。RTSPを拡張すると、ストリーム制御において共通化できる部分が多くあるため、簡単な命令の定義で済むという利点がある。
【００６８】
考慮する条件は、次の通りである。
（１）視点移動要求は、信頼性のある通信路あるいは通信プロトコルを使って伝えられなければならない。TCP上のプロトコルがこれに該当する。
（２）クライアントからサーバに対して、視点の移動方向あるいは移動ベクトルが伝えられなければならない。移動ベクトルとは、移動方向だけでなく、単位時間当たりの移動量(移動速度)の表現も含まれているものである。
（３）視点移動要求が反映された部分画像の到着予定情報を、サーバがクライアントに伝えることができるのが望ましい。到着予定情報とは、クライアントが前もって知っておく、どのパケットから受信画像の座標が変化するかの情報であり、RTPを使って画像を伝送する場合には、RTPパケットのタイムスタンプ情報やシーケンス番号などである。到着予定情報をクライアントが前もって知っておくことにより、受信側での視点移動速度の上限が決定しやすくなる。
（４）送信すべき部分画像を簡単に再構成できることが望ましい。
（５）受信した部分画像の座標が簡単に分かることか望ましい。
【００６９】
次に、プロトコルの具体例について説明する。
【００７０】
RTSPを拡張したプロトコルについて説明する。RTSPの詳細は、RFC2326に開示されているが、RTSPは、実時間性を持つデータの配信をアプリケーションレベルで制御するプロトコルであり、トランスポート層プロトコルとしてTCPを使うことができる。これは上記した条件(1)を満たす。
【００７１】
RTSPには、ストリームを制御する命令として、PLAY，STOP，PAUSEなどが定義されているが、視点移動のような視聴方法は想定されていない。そこで、視点移動に対する命令を新たに定義する。RTSPは拡張性に富んでおり、簡単に新たな命令を定義することできる。命令の追加方法としては、従来から存在するメソッド(PLAY，STOP，PAUSEなど)に対して新たなパラメータを追加する方法と、新たなメソッドを追加する方法が考えられるが、命令追加により新たな状態ができることから、メソッドを追加する方法が好ましい。そこで、以下ではメソッド追加の例について説明する。ただし、パラメータ追加による拡張を行う方法は、メソッドの追加に比べて、実装が簡単になるという利点がある。
【００７２】
RTSPでは、図６のような状態遷移を取るが、視点移動命令を追加することで、図７のような状態遷移を取るようになる。図６と図７で丸に囲まれた部分が状態であり、矢印が遷移を示す。矢印の添字はメソッド名であり、そのメソッドが発せられることにより状態が遷移することを示す。
【００７３】
すなわち、図６に示すRTSPの状態遷移においては、PLAY状態からTEARDOWNのメソッドが発せられることにより、状態がINITに遷移する。また、PLAY状態からPAUSEメソッドが発せられることにより、READY状態に遷移する。INIT状態は、SETUPメソッドが発せられることにより、READY状態に遷移し、READY状態は、TEARDOWNメソッドが発せられることにより、INIT状態に遷移し、PLAYメソッドが発せられることにより、PLAY状態に遷移する。
【００７４】
図７に示されるMOVEPLAYメソッドが追加されたRTSPの状態遷移においては、図６に示される状態遷移に加えて、MOVEPLAY状態と、INIT状態、PLAY状態、または状態READYとの遷移が発生する。
【００７５】
すなわち、MOVEPLAY状態は、TEARDOWNメソッドが発せられることにより、INIT状態に遷移し、MOVESTOPメソッドが発せられることにより、PLAY状態に遷移し、PAUSEメソッドが発せられることにより、READY状態に遷移する。PLAY状態は、MOVEPLAYメソッドが発せられることにより、MOVEPLAY状態に遷移する。
【００７６】
本発明では、このMOVEPLAYメソッドが追加される。MOVEPLAYメソッドは視点移動を示すメソッドであり、視点移動開始時に送られる。MOVEPLAYメソッドが解釈するパラメータはPLAYメソッドと同様であるが、視点移動を表すVectorパラメータおよびズームを表すZOOMパラメータを取る点がPLAYメソッドと異なる。視点の移動ベクトルやズーム率が変わらない場合、引き続き視点移動を行うとき、MOVEPLAYメソッドをサーバに再度送る必要はない。
【００７７】
次に、Vectorパラメータについて説明する。視点移動が発生すると、クライアントはサーバへ以下のリクエストを送る。
【００７８】
MOVEPLAY rtsp://video.example.com/video RTSP/1.0
Cseq: 835
Session: 123456
Vector: xy 10 -30
【００７９】
最初の視点移動停止要求は移動速度 0 を指定する。
【００８０】
Vectorパラメータの一般的な書式は以下の通りである。
Vector: xy  (X軸方向への移動速度)  [(Y軸方向への移動速度)]
または
Vector: polar (X軸を0°とする回転角)  [(移動速度)]
【００８１】
例えば、
vector: xy 10 -30
のように、XY座標系による指定が行われた場合、XY座標系で単位時間(1秒間)あたりにX方向(右方向)に10pixel、Y方向(上方向)に-30pixel(即ち下方向へ30pixel)の速度で視点移動することを表す。Y軸方向への移動速度が 0 の場合には省略してもよい。
【００８２】
また、例えば、
Vector: polar 90 20
のように、極座標系で移動ベクトルが指定された場合、単位時間(1秒間)に半時計回りに90°の方向(上方向)に20pixelの速度で視点移動することを表す。視点移動速度が固定の場合には、XY座標系よりも極座標系の方が指定が簡単である。移動速度が固定であり、アプリケーションの仕様として、あるいはセッション開始時のネゴシエーションにより、サーバとクライアント間で同意が得られている場合には移動速度は省略してもよい。
【００８３】
次に、ZOOMパラメータについて説明する。
ZOOMパラメータは、ズームインまたはズームアウトを要求するためのパラメータであり、Vectorパラメータと同様に扱う。
Zoom: (ズーム速度)
ズーム速度は0以上の正値を指定する。1.0は等倍ズームを意味し、1.0より大きい値はズームイン(拡大方向)、1.0より小さい値はズームアウト(縮小方向)を示す。1.0より離れれば離れる程、拡大率あるいは縮小率は大きくなる。例えば、ズーム速度2.0の場合、１コマごとに2倍の拡大率でズームしていくことを意味し、ズーム速度3.0は1コマごとに3倍の拡大率でズームしていくことを意味する。サーバは、0以下のズーム速度値を指定されたときや、これ以上ズームできない場合にはエラーを返す。
【００８４】
次に、MOVESTOPメソッドについて説明する。
【００８５】
MOVESTOPメソッドは視点移動停止を表す命令であり、視点移動を停止するときに使われる。MOVESTOPが解釈するパラメータはSTOPメソッドと同様である。
【００８６】
次に、サーバのリプライについて説明する。
【００８７】
MOVEPLAYメソッドまたはMOVESTOPメソッドを受け取ったサーバは、メソッドを解釈できない場合には、RFC2326で定義されているように「Method Not Allowed」エラーを返す。解釈できる場合には、PLAYメソッドやSTOPメソッドに準じたリプライを返すが、要求内容がRTPのどのシーケンスから反映されるかを示すために、以下に示すように RTP-Infoヘッダ を含めるようにする。
【００８８】
RTSP/1.0 200 OK
Cseq: 835
Session: 123456
RTP-Info:url=rtsp://video.example.com/video;
seq=3456;rtptime=789012
【００８９】
映像送信装置１側では、映像受信装置２側からの要求に応えて画像を送信するというサーバの役割を果たすため、RTSPと同じ状態遷移を取る。したがって、映像送信装置１側は、INIT状態、READY状態、PLAY状態、MOVEPLAY状態の4つの状態を持っている。各々の状態における処理フローを図８乃至図１１に示す。INIT状態におけるステップＳ１２（図８）、PLAY状態におけるステップＳ５１、Ｓ５２、Ｓ５５（図１０）、およびMOVEPLAY状態の処理フロー全体（図１１）がRTSPメソッドの拡張により追加された処理である。
【００９０】
図８に示されるように、プロセスが起動されると、ステップＳ１１において、ストリーム制御部１２は、INIT状態を設定し、ステップＳ１２において、送信タイル番号の初期化を実行する。
【００９１】
次に、ステップＳ１３において、ストリーム制御部１２は、SETUPメソッドが受信されたか否かを判定し、受信されていない場合には、ステップＳ１４において、終了シグナルを受信したか否かを判定する。終了シグナルが受信されていない場合には、ステップＳ１３に戻り、それ以降の処理が繰り返し実行される。
【００９２】
ステップＳ１３において、SETUPメソッドが受信されたと判定された場合、ステップＳ１５に進み、状態は、READY状態に遷移する（図７）。ステップＳ１４において、終了シグナルが受信されたと判定された場合、プロセスは終了される。
【００９３】
図９に示されるREADY状態においては、ストリーム制御部１２は、ステップＳ３１において、PLAYメソッドを受信したか否かを判定し、受信していなければ、ステップＳ３２に進み、TEARDOWNメソッドを受信したか否かを判定する。TEARDOWNメソッドが受信されていない場合には、ステップＳ３１に戻り、それ以降の処理が繰り返し実行される。
【００９４】
ステップＳ３１において、PLAYメソッドが受信されたと判定された場合、ステップＳ３３に進み、ストリーム制御部１２は、状態をPLAY状態に遷移させる（図７）。
【００９５】
ステップＳ３２において、TEARDOWNメソッドが受信されたと判定された場合、ステップＳ３４に進み、ストリーム制御部１２は、状態をINIT状態に遷移させる（図７）。
【００９６】
図１０のPLAY状態においては、ステップＳ５１において、ストリーム制御部１２は、選択されたタイルを送信する。ステップＳ５２において、ストリーム制御部１２は、MOVEPLAYメソッドを受信したか否かを判定し、受信した場合には、ステップＳ５５に進み、状態をMOVEPLAY状態に遷移させる（図７）。ステップＳ５２において、MOVEPLAYメソッドが受信されていないと判定された場合、ステップＳ５３に進み、PAUSEメソッドが受信されたか否かが判定される。PAUSEメソッドが受信されたと判定された場合、ステップＳ５６に進み、状態は、READY状態に遷移する（図７）。
【００９７】
ステップＳ５３において、PAUSEメソッドが受信されていないと判定された場合、ステップＳ５４に進み、TEARDOWNメソッドが受信されたか否かが判定され、受信されたと判定された場合、ステップＳ５７に進み、状態は、INIT状態に遷移する（図７）。
【００９８】
ステップＳ５４において、TEARDOWNメソッドが受信されていないと判定された場合、ステップＳ５１に戻り、それ以降の処理が繰り返し実行される。
【００９９】
図１１のMOVEPLAY状態においては、ステップＳ７１において、ストリーム制御部１２は、経過時間にRTTを設定する。 このRTTは、図４を参照して説明した、測定された値である。
【０１００】
ステップＳ７２において、ストリーム制御部１２は、次式に基づいて、視点の移動量を計算する。
【０１０１】
移動量＝移動ベクトル×経過時間
【０１０２】
この経過時間は、ステップＳ７１で設定された値が用いられる。
【０１０３】
ステップＳ７３において、ストリーム制御部１２は、送信タイルを再度選択する処理を実行する。ステップＳ７４において、ストリーム制御部１２は、ステップＳ７３の処理で選択された送信タイルをストリーム送信部１４を介して送信させる。
【０１０４】
ステップＳ７５において、ストリーム制御部１２は、MOVESTOPメソッドを受信したか否かを判定し、受信した場合には、ステップＳ７９において、状態をPLAY状態に遷移させる（図７）。
【０１０５】
ステップＳ７５において、MOVESTOPメソッドが受信されていないと判定された場合、ステップＳ７６に進み、ストリーム制御部１２は、PAUSEメソッドが受信されたか否かを判定する。PAUSEメソッドが受信されたと判定された場合、ステップＳ８０に進み、ストリーム制御部１２は、全てのタイルを送信する処理を実行する。そして、ステップＳ８１に進み、状態をREADY状態に遷移させる（図７）。
【０１０６】
ステップＳ７６において、PAUSEメソッドが受信されていないと判定された場合、ステップＳ７７に進み、TEARDOWNメソッドが受信されたか否かが判定される。TEARDOWNメソッドが受信されたと判定された場合、ステップＳ８０に進み、状態は、INIT状態に遷移される（図７）。
【０１０７】
ステップＳ７７において、TEARDOWNメソッドが受信されていないと判定された場合、ステップＳ７８に進み、経過時間にフレームレートの逆数が設定され、その後、ステップＳ７２に戻り、それ以降の処理が繰り返し実行される。
【０１０８】
映像受信装置２側では、映像送信装置１側とのプロトコル動作の他に、ユーザからのインタラクティブな要求にも応えなければならない。したがって、映像受信装置２側の状態は、図７に示した送信側の状態に、受信装置内で閉じた状態であるMOVE状態がさらに追加され、図１２のような状態遷移を取る。図１２における各状態の意味は図７と同じである。状態遷移はユーザからの要求に対して行われるので、各状態遷移の矢印にはユーザからの要求を記してある。
【０１０９】
すなわち、図１２の例においては、PLAY状態からSTOP要求が出されると、状態は、INIT状態に遷移し、PAUSE要求が出されると、状態は、READY状態に遷移し、視点移動要求が出されると、状態は、MOVEPLAY状態に遷移する。
【０１１０】
INIT状態においては、PLAY要求が出されると、状態は、READY状態に遷移する。
【０１１１】
READY状態においては、PLAY要求が出されると、状態がPLAY状態に遷移し、STOP要求が出されると、状態は、INIT状態に遷移し、視点移動要求が出されると、状態は、MOVE状態に遷移する。
【０１１２】
MOVE状態においては、視点停止要求が出されると、状態は、READY状態に遷移する。
【０１１３】
MOVEPLAY状態においては、STOP要求が出されると、状態は、INIT状態に遷移し、視点停止要求が出されると、状態は、PLAY状態に遷移し、PAUSE要求が出されると、状態は、READY状態に遷移する。
【０１１４】
各々の状態における処理フローを図１３乃至図１７に示す。READY状態におけるステップＳ１２３、Ｓ１２５、Ｓ１２９、Ｓ１３０（図１４）、PLAY状態におけるステップＳ１４２、Ｓ１４３、Ｓ１４６、Ｓ１４７（図１５）およびMOVEPLAY状態（図１６）、MOVE状態（図１７）の処理フロー全体が追加された処理である。なお、MOVE状態は送信装置側とメッセージのやりとりを伴わない。
【０１１５】
図１３のINIT状態においては、ステップＳ１０１において、INIT状態が設定された状態で、ステップＳ１０２において、表示映像制御部３２は、PLAY要求がなされたか否かを判定する。PLAY要求がなされたと判定された場合には、ステップＳ１０４に進み、表示映像制御部３２は、SETUPメソッドを送信する処理を実行する。そして、ステップＳ１０５において、表示映像制御部３２は、状態をREADY状態に遷移させる（図１２）。
【０１１６】
ステップＳ１０２において、PLAY要求が出されていないと判定された場合、ステップＳ１０３に進み、表示映像制御部３２は、終了シグナルが発生されたか否かを判定する。終了シグナルが発生されていないと判定された場合、ステップＳ１０２に戻り、それ以降の処理が繰り返し実行され、終了シグナルが発生されていると判定された場合、プロセスが終了される。
【０１１７】
図１４のREADY状態においては、ステップＳ１２１において、表示映像制御部３２は、PLAY要求が出されたか否かを判定し、出されていなければ、ステップＳ１２２において、STOP要求が出されたか否かを判定し、出されていなければ、さらに、ステップＳ１２３に進み、視点移動要求が出されたか否かを判定する。視点移動要求も出されていないと判定された場合には、ステップＳ１２１に戻り、それ以降の処理が繰り返し実行される。
【０１１８】
ステップＳ１２１において、PLAY要求が出されたと判定された場合、表示映像制御部３２は、ステップＳ１２４に進み、PLAYメソッドを送信する。そして、ステップＳ１２５において、表示映像制御部３２は、視点画像に対する受信画像のマージン値の初期化処理を実行する。その後、ステップＳ１２６に進み、表示映像制御部３２の状態をPLAY状態に遷移させる（図１２）。
【０１１９】
ステップＳ１２２において、STOP要求が出されたと判定された場合、ステップＳ１２７に進み、表示映像制御部３２は、TEARDOWNメソッドを送信する。そして、ステップＳ１２８において、表示映像制御部３２は、状態をINIT状態に遷移させる（図１２）。
【０１２０】
ステップＳ１２３において、視点移動要求が出されたと判定された場合、ステップＳ１２９に進み、表示映像制御部３２は、全タイルを受信したか否かを判定し、受信していない場合には、ステップＳ１２１に戻り、それ以降の処理を繰り返し実行する。ステップＳ１２９において、全タイルを受信したと判定された場合、ステップＳ１３０に進み、表示映像制御部３２は、状態をMOVE状態に遷移させる（図１２）。
【０１２１】
図１５のPLAY状態においては、表示映像制御部３２は、ステップＳ１４１において、タイル画像を受信し、ステップＳ１４２において、ステップＳ１４１の処理で受信し、内蔵するメモリに記憶させたタイル画像から、視点画像に対応する部分を切り出し、映像出力部３５に出力し、表示させる。
【０１２２】
ステップＳ１４３において、表示映像制御部３２は、視点移動要求が出されたか否かを判定し、出されていなければ、ステップＳ１４４に進み、PAUSE要求が出されたか否かを判定する。PAUSE要求も出されていないと判定された場合には、ステップＳ１４５に進み、表示映像制御部３２は、STOP要求が出されたか否かを判定する。STOP要求が出されていない場合には、ステップＳ１４１に戻り、それ以降の処理が繰り返し実行される。
【０１２３】
ステップＳ１４３において、視点移動要求が出されたと判定された場合、ステップＳ１４６に進み、表示映像制御部３２は、MOVEPLAYメソッドを送信する処理を実行する。そして、ステップＳ１４７において、表示映像制御３２は、状態をMOVEPLAY状態に遷移させる（図１２）。
【０１２４】
ステップＳ１４４において、PAUSE要求が出されたと判定された場合、ステップＳ１４８に進み、表示映像制御部３２は、PAUSEメソッドを送信させる。そして、表示映像制御部３２は、ステップＳ１４９において、ストリーム受信部３４を介して、全てのタイルを受信する処理を実行し、ステップＳ１５０において、状態をREADY状態に遷移させる（図１２）。
【０１２５】
ステップＳ１４５において、STOP要求が出されたと判定された場合、ステップＳ１５１に進み、表示映像制御部３２は、TEARDOWNメソッドを送信する。そして、ステップＳ１５０において、表示映像制御部３２は、状態をINIT状態に遷移させる（図１２）。
【０１２６】
図１６のMOVEPLAY状態において、表示映像制御部３２は、ステップＳ１６１において、画像を受信すると、ステップＳ１６２において、ステップＳ１６１の処理で受信した画像は、視点移動要求が反映された画像であるか否かを判定する。視点移動要求が反映された画像でない場合には、ステップＳ１６３に進み、表示映像制御部３２は、移動方向のマージン値を更新する。すなわち、これにより、移動量分だけ移動方向のマージンが増減される。
【０１２７】
ステップＳ１６２において、受信した画像は、視点移動要求が反映された画像であると判定された場合、ステップＳ１６４に進み、表示映像制御部３２は、マージン値を再計算する処理を実行する。
【０１２８】
ステップＳ１６３またはステップＳ１６４の処理の後、ステップＳ１６５に進み、表示映像制御部３２は、視点情報入力部３１より入力された視点に対応する画像を抽出するとともに、抽出した画像を映像出力部３５に出力し、表示させる。
【０１２９】
次に、ステップＳ１６６に進み、表示映像制御部３２は、移動ベクトルが変更されたか否かを判定し、変更されていなければ、ステップＳ１６１に戻り、それ以降の処理を繰り返し実行する。
【０１３０】
ステップＳ１６６において、移動ベクトルが変更されたと判定された場合、ステップＳ１６７に進み、表示映像制御部３２は、移動ベクトルを再計算する処理を実行する。すなわち、表示映像制御部３２は、視点情報入力部３１から移動方向をさらに取得し、次式より移動速度を演算する。
【０１３１】
移動速度＝マージン／RTT
【０１３２】
次に、ステップＳ１６８に進み、表示映像制御部３２は、MOVEPLAYメソッドを送信する。
【０１３３】
次に、ステップＳ１６９において、表示映像制御部３２は、視点停止要求が出されたか否かを判定し、出されていなければ、ステップＳ１７０に進み、PAUSE要求が出されたか否かを判定する。PAUSE要求も出されていない場合には、ステップＳ１７１に進み、表示映像制御部３２は、STOP要求が出されたか否かを判定する。STOP要求が出されていない場合には、ステップＳ１６１に戻り、それ以降の処理が繰り返し実行される。
【０１３４】
ステップＳ１６９において、視点停止要求が出されたと判定された場合、表示映像制御部３２は、ステップＳ１７２に進み、MOVESTOPメソッドを送信する。そして、ステップＳ１７３において、表示映像制御部３２は、状態をPLAY状態に遷移させる（図１２）。
【０１３５】
ステップＳ１７０において、PAUSE要求が出されたと判定された場合、ステップＳ１７４に進み、表示映像制御部３２は、PAUSEメソッドを送信し、ステップＳ１７５において、ストリーム受信部３４を介して、全タイルを受信する処理を実行する。そして、ステップＳ１７６において、表示映像制御部３２は、状態をREADY状態に遷移させる（図１２）。
【０１３６】
ステップＳ１７１において、STOP要求が出されたと判定された場合、ステップＳ１７７に進み、表示映像制御部３２は、TEARDOWNメソッドを送信する処理を実行し、ステップＳ１７８において、状態をINIT状態に遷移させる（図１２）。
【０１３７】
図１７のMOVE状態の処理フローにおいて、ステップＳ１９１において、表示映像制御部３２は、次式に基づいて、移動量を計算する処理を実行する。
【０１３８】
移動量＝移動ベクトル／フレームレート
【０１３９】
次に、ステップＳ１９２に進み、表示映像制御部３２は、視点情報入力部３１からの視点情報に対応する画像を切り出し、映像出力部３５に出力し、表示させる処理を実行する。
【０１４０】
ステップＳ１９３において、表示映像制御部３２は、視点移動があったか否かを判定し、視点移動があった場合には、ステップＳ１９１に戻り、それ以降の処理を繰り返し実行する（図１２）。
【０１４１】
ステップＳ１９３において、視点移動がないと判定された場合、ステップＳ１９４に進み、表示映像制御部３２は、状態をREADY状態に遷移させる。
【０１４２】
実際に見ている部分だけを送信するというアイディアは、インターネットを使ったカーナビゲーションシステムを構築する場合にも適用できる。この場合、全体の地図情報をJPEG2000画像として持ち、例えば緯度／経度単位でタイル分割を行うことで、その制御方法を全方位映像の部分配信と同様に扱うことができる。
【０１４３】
以上においては、映像送信装置１から映像受信装置２に送信された映像の範囲に対する、映像受信装置２が実際に出力（表示）する範囲のマージンの計算を、映像受信装置２側において実行するようにしたが、映像送信装置１側において実行するようにしてもよい。この場合、映像送信装置１は、映像受信装置２からの視点情報と、自らが計算したマージンに基づいて、全方位映像の中から映像受信装置２に送信する映像の範囲を決定、抽出し、送信する。
【０１４４】
このとき、送信映像のサイズは、映像送信装置１がRTCPを用いて応答時間を計測して決定したり、映像受信装置２が決定し、映像送信装置１に通知したりすることができる。
【０１４５】
また、このとき、セッション開始前、セットアップ時、またはセッション中に、例えば、RTSPを用いて映像送信装置１と映像受信装置２との間で、視点移動速度について相互に合意を得るものとする。
【０１４６】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１４７】
この記録媒体は、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、ハードディスクなどで構成される。
【０１４８】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４９】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１５０】
【発明の効果】
以上の如く、本発明によれば、ネットワークのトラフィックを混雑させることなく、受信装置に送信装置から画像を配信することが可能となる。また、受信側においては、視点が移動された場合にも、リアルタイムで新たな視点の画像を出力、表示させることが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した全方位映像配信システムの構成を示すブロック図である。
【図２】図１のシステムにおける視点変化時の動作を説明する図である。
【図３】視点移動制御の原理を説明する図である。
【図４】  RTCPによるRTT測定処理を説明する図である。
【図５】画像のタイル分割を説明する図である。
【図６】  RTSPの状態遷移を説明する図である。
【図７】  MOVEPLAYメソッドを追加した場合のRTSPの状態遷移を説明する図である。
【図８】送信側のINIT状態時の処理を説明するフローチャートである。
【図９】送信側のREADY状態における処理を説明するフローチャートである。
【図１０】送信側のPLAY状態における処理を説明するフローチャートである。
【図１１】送信側のMOVEPLAY状態の処理を説明するフローチャートである。
【図１２】受信側の状態遷移を説明する図である。
【図１３】受信側のINIT状態の処理を説明するフローチャートである。
【図１４】受信側のREADY状態の処理を説明するフローチャートである。
【図１５】受信側のPLAY状態の処理を説明するフローチャートである。
【図１６】受信側のMOVEPLAY状態の処理を説明するフローチャートである。
【図１７】受信側のMOVE状態の処理を説明するフローチャートである。
【符号の説明】
１  映像送信装置，  ２  映像受信装置，  ３  ネットワーク，  １１  映像入力部，  １２  ストリーム制御部，  １３  視点情報受信部，  １４  ストリーム送信部，  ３１  視点情報入力部，  ３２  表示映像制御部，  ３３  視点情報送信部，  ３４  ストリーム受信部，  ３５  映像出力部
【図１】
0003951695.tif 000006
【図２】
0003951695.tif 000007
【図３】
0003951695.tif 000008
【図４】
0003951695.tif 000009
【図５】
0003951695.tif 000010
【図６】
0003951695.tif 000011
【図７】
0003951695.tif 000012
【図８】
0003951695.tif 000013
【図９】
0003951695.tif 000014
【図１０】
0003951695.tif 000015
【図１１】
0003951695.tif 000016
【図１２】
0003951695.tif 000017
【図１３】
0003951695.tif 000018
【図１４】
0003951695.tif 000019
【図１５】
0003951695.tif 000020
【図１６】
0003951695.tif 000021
【図１７】
0003951695.tif 000022