(57)【要約】【課題】各種データを格納したパケットのロスが発生する環境における当該データの再現性を向上させる。【解決手段】ネットワークを介して入力装置から操作データを格納したパケットを受信する受信手段と、前記入力装置が送信する操作データのサンプリング周期に基づいてパケットがロスしたか否かを判断する判断手段と、前記判断手段がロスしたと判断したパケットを、前記入力装置から受信したパケットに格納された操作データを用いて作成するパケット補完手段と、前記パケット補完手段により作成したパケットを送信する送信手段とを設ける。【選択図】図３
2017034401.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して入力装置から操作データを格納したパケットを受信する受信手段と、
前記入力装置が送信する操作データのサンプリング周期に基づいてパケットがロスしたか否かを判断する判断手段と、
前記判断手段がロスしたと判断したパケットを、前記入力装置から受信したパケットに格納された操作データを用いて作成するパケット補完手段と、
前記パケット補完手段により作成したパケットを送信する送信手段とを有することを特徴とする受信装置。
【請求項２】
前記送信手段は、前記入力装置が複数の場合、前記入力装置がそれぞれ送信する操作データのサンプリング周期を揃えて送信することを特徴とする請求項１に記載の受信装置。
【請求項３】
前記判断手段は、前記操作データを受信するたびに、前回に受信した前記操作データから取得した時刻との時刻差を計算して前記サンプリング周期と比較し、前記計算した時刻差が前記サンプリング周期より大きい場合は、パケットがロスしたと判断することを特徴とする請求項１または２に記載の受信装置。
【請求項４】
ネットワークを介して入力装置から操作データを格納したパケットを受信する受信工程と、
前記入力装置が送信する操作データのサンプリング周期に基づいてパケットがロスしたか否かを判断する判断工程と、
前記判断工程がロスしたと判断したパケットを、前記入力装置から受信したパケットに格納された操作データを用いて作成するパケット補完工程と、
前記パケット補完工程により作成したパケットを送信する送信工程とを有することを特徴とする受信装置の制御方法。
【請求項５】
ネットワークを介して入力装置から操作データを格納したパケットを受信する受信工程と、
前記入力装置が送信する操作データのサンプリング周期に基づいてパケットがロスしたか否かを判断する判断工程と、
前記判断工程がロスしたと判断したパケットを、前記入力装置から受信したパケットに格納された操作データを用いて作成するパケット補完工程と、
前記パケット補完工程により作成したパケットを送信する送信工程とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロスしたパケットに対応するデータを生成するための技術に関する。
【背景技術】
【０００２】
インターネット会議システムでは全ての参加者の映像、音声やデジタイザ(digitizer)など操作情報などの時間軸をそろえて合成、再生することが望ましい。このため、会議のセッション中の全てのタイムスタンプを共通の時間軸上で対応づける同期の仕組みが必要になる。
【０００３】
インターネット会議システムにおいては、インターネット映像配信関連プロトコルとしてはRTP（Real Time Transport Protocol）、RTCP（RTP Control Protocol）、NTP（Network Time Protocol）などの複数のプロトコルを組み合わせている。そして、これらのプロトコルにより映像、音声やデジタイザ操作情報などを同期させることを実現している。
具体的には、RTPがメディア内同期を、RTCPがメディア間同期を、NTPはNTPサーバに接続し正確に各会議拠点間同士の時刻を合わせている。
【０００４】
また特許文献１には、異なるストリームで配信される複数ストリームを時刻情報によってタイミングを合わせて再配信することで複数のストリームを同期して再生する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１７１６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述のようなRTPなどのプロトコルはUDP（User Datagram Protocol）を使用しているため、ネットワーク上などでパケットをロスすることがある。
【０００７】
パケットをロスした場合、受信装置側で各メディアデータの合成及び再生をした時には映像や音声が途切れたり、デジタイザなどで書き出した軌跡が途切れたり、実際に書き出した軌跡と異なって再生されたりする不具合があり、再現性が低下する問題点があった。
本発明は前述の問題点に鑑み、各種データを格納したパケットのロスが発生する環境における当該データの再現性を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の受信装置は、ネットワークを介して入力装置から操作データを格納したパケットを受信する受信手段と、前記入力装置が送信する操作データのサンプリング周期に基づいてパケットがロスしたか否かを判断する判断手段と、前記判断手段がロスしたと判断したパケットを、前記入力装置から受信したパケットに格納された操作データを用いて作成するパケット補完手段と、前記パケット補完手段により作成したパケットを送信する送信手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、各種データを格納するパケットのロスが発生する環境における当該データの再現性を向上できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る遠隔会議システムの全体構成を説明する図である。
【図２】第１の実施形態に係る受信装置のハードウェア構成を示したブロック図である。
【図３】第１の実施形態に係るシステムの処理手順の概要を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１２】
＜第１の実施形態＞
図１を用いて遠隔会議システムの全体構成を説明する。
図１は、第１の実施形態に係る遠隔会議システムの全体構成の一例を示す図である。
遠隔会議システムは、拠点２１及び拠点３１がネットワーク１０に接続し、データ受信装置１００（以下、受信装置１００）を介して、拠点間で画像、音声、データをリアルタイムに共有することができる。本実施形態では２拠点間の遠隔会議システムについて説明する。なお、３拠点以上で会議を行ってもよいし、各拠点にいる人物の数は限定しない。さらに、受信装置１００が物理的に独立した構成になっているが受信装置１００の機能を拠点の会議装置に組み込んでも同様の効果を発揮可能である。なお、本実施形態では、特に断りがない限り、画像は、静止画であってもよいし、動画であってもよい。
【００１３】
拠点２１には、デジタイザ２００、人物監視装置２０１（以下、監視装置２０１）、人物撮影装置２０２（以下、撮影装置２０２）が設置されており、人物２２、人物２３、人物２４が会議に参加している。
拠点３１には、表示装置３００が設置され、人物３２が会議に参加している。なお、拠点２１、拠点３１には、音声マイク、スピーカ、データ共有やチャットアプリ用のＰＣ、スマートフォンやタブレット等も設置し、拠点間で音声、データ共有を行ってもよい。
【００１４】
デジタイザ２００は、人物により指示された位置を検出する。また、デジタイザ２００は、デジタイザ２００に対するユーザ操作を特定するための操作データを受信装置１００に対して送信する。より具体的には、デジタイザ２００は、人物によるデジタイザ２００に対する操作の開始、終了、及び移動軌跡等のイベント情報と、操作された位置に関する位置情報を受信装置１００にストリーミング送信する。なお、デジタイザ２００には、撮影装置２０２により撮影された画像や、電子ファイルに応じた画像や、デジタイザ２００に入力された操作データに応じた操作軌跡２５を表示させることができる。デジタイザ２００における上記のような表示は、プロジェクタを用いて実現してもよいし、デジタイザ２００自体がディスプレイの機能を有するようにしてもよい。また、デジタイザ２００は、同時に複数の人物から操作データの入力を受付けた場合、各入力された操作データを受信装置１００にストリーミング送信する。本実施形態は、デジタイザ２００を入力装置として用いた例を示している。
【００１５】
監視装置２０１は、人物を特定して人物情報を取得すると共に、特定した人物の位置情報を取得する装置である。監視装置２０１は、取得した人物情報及び位置情報を受信装置１００へ送信する。監視装置２０１は、人物の特定と、位置情報の取得の方法として、ＲＦＩＤ(Radio Frequency Identification)やＢＬＥ（Bluetooth（登録商標） Low Energy）等で通信されるセンサ情報を利用してもよいし、人物が含まれる撮影画像に対し画像解析を実施する方法を用いてよい。人物情報は、人物の名前、ニックネーム、社員番号等である。また、人物情報が人物の年齢、性別などの特徴情報であってもよい。
【００１６】
撮影装置２０２は、デジタイザ２００付近や、拠点２１の中を撮影しており、撮影画像の中から人物２２、人物２３、人物２３を切りぬいた人物映像の其々を受信装置１００へ送信する。なお、監視装置２０１と撮影装置２０２は、同じ装置内で動作してもよいし、例えばデジタイザ２００と一体であってもよい。また、撮影装置２０２は、デジタイザ２００と人物の相対位置によって人物映像の受信装置１００への送信開始や停止を行ってもよい。
例えば、撮影装置２０２は、デジタイザ２００に近い人物２２の人物映像だけを受信装置１００に送信するようにしてもよい。また、撮影装置２０２は、人物２３がデジタイザ２００に近づくと人物２３の人物映像の送信を開始し、人物２２がデジタイザ２００から離れると、人物２２の人物映像の送信を停止する、などのように人物映像の送信を制御してもよい。
【００１７】
受信装置１００は、デジタイザ２００から上記したイベント情報と位置情報を受信する。また、受信装置１００は、監視装置２０１から上記した人物情報と人物の位置情報を受信すると共に、撮影装置２０２から人物映像を受信する。
受信装置１００は、デジタイザ２００に入力された操作データとしてのイベント情報と位置情報を表示装置３００へ転送する。また、受信装置１００は、デジタイザ２００に操作データを入力した人物を特定するための人物情報、及び操作データを入力した人物の撮影画像である人物映像を表示装置３００へ転送する。本実施形態においては、受信装置１００が中継装置として動作する。
【００１８】
表示装置３００は、デジタイザ２００に対する操作を特定するための操作データ、当該操作を行った人物を特定するための人物情報、及び人物映像を受信装置１００から受信し、受信した情報を重畳表示する。
デジタイザ２００に入力されたデータは、表示装置３００に操作軌跡３４として軌跡が表示される。また、表示装置３００は、デジタイザ２００に対して操作を行った人物２２の人物情報３３や、人物２２の人物映像３５を重畳表示する。
【００１９】
表示装置３００に表示している操作軌跡３４、人物情報３３、人物映像３５は、表示する一例であり、表示する場所や内容を変更してもよい。例えば、表示するサイズを拡大・縮小や、予め人物に関連するアバタを準備しておきアバタに差替えて表示してもよい。
【００２０】
図２は、受信装置１００のハードウェア構成例を示したブロック図である。
図２において、ＣＰＵ１０１は、コンピュータシステムの制御をつかさどる中央演算装置である。ＣＰＵ１０１が、制御プログラムに基づいて、情報の演算や加工、各ハードウェアの制御を実行することにより後述する各機能を構成し、各処理を実現する。
ＲＡＭ１０２は、ランダムアクセスメモリであり、ＣＰＵ１０１の主メモリとして、実行プログラムのロードやプログラム実行に必要なワークメモリとして機能する。
【００２１】
ＲＯＭ１０３は、ＣＰＵ１０１の動作処理手順を規定する制御プログラムを記録しているリードオンリーメモリーである。ＲＯＭ１０３には、コンピュータシステムの機器制御を行うシステムプログラムである基本ソフト（ＯＳ）を記録した領域と、システムを稼動するために必要な情報などが記録された領域がある。ＲＯＭ１０３の代わりに後述のＨＤＤ１０５を用いる場合もある。
【００２２】
ＮＥＴＩＦ１０４は、ネットワークインターフェースであり、ネットワーク１０を介して送受信されるデータの入出力制御を行う。
ＨＤＤ１０５は、ハードディスクドライブ（ＨＤＤ）であり、記憶装置である。ＨＤＤ１０５は、アプリケーションプログラムや、画像情報などのデータ保存用に用いられる。
バス１０６は、前述した各ユニット間でデータをやりとりするための入出力バス（アドレスバス、データバス、及び制御バス）である。
【００２３】
表示部１１０は、複数の操作画面を表示し、表示した操作画面をユーザが操作するためにタッチすると、タッチに関する情報を取得するタッチパネルを備えた、タッチ入力機能を有する。
【００２４】
＜デジタイザデータのシステムフロー＞
以下、拠点２１から拠点３１へデジタイザ操作情報（以下、操作データ）を受信装置１００を介して送信する場合の受信装置１００の処理手順の概要を説明する。ここで説明する通常時とは、拠点２１から送信する操作データが拠点３１で受信する間のネットワーク１０でパケットがロスしない場合である。なお、操作データとは、デジタイザ２００に対するユーザ操作を特定するための情報であり、デジタイザ２００に対する操作の開始、停止、及び移動軌跡等に関するイベント情報や操作された位置に関する位置情報が含まれる。
【００２５】
拠点２１のデジタイザ２００は、会議参加者が描いた軌跡を操作データとして取得する。取得するタイミング（サンプリング周期）は任意の時刻とすることができるが、そのシステムや通信路の伝送速度などを考慮して決められる。
また、取得した操作データを任意のタイミングで受信装置１００に送信する。この送信する操作データは、取得タイミングによりデータ量は可変になる。
【００２６】
次に、デジタイザ２００と受信装置１００の通信路間で操作データを梱包しているパケットがロスした場合に、受信装置１００で行われる処理手順の一例を図３のフローチャートを参照しながら説明する。図３のフローチャートは、ＣＰＵ１０１がＲＯＭ１０３に記録されたプログラムをＲＡＭ１０２のワークメモリ領域に展開して実行し、受信装置１００の各部を制御することで実現する。
【００２７】
Ｓ３００１において、拠点２１のデジタイザ２００が操作データを送信する。この時、デジタイザ２００が送信する操作データには、デジタイザ画面にポイントを示した位置情報、例えばX、Y座標の操作座標情報がある。また、画面へのタッチまたはその逆の操作などの情報である、操作手順情報と、前述の情報を取得した時刻の情報がある。時刻は任意の時間間隔で取得されたものになる。
【００２８】
Ｓ３００２において、受信装置１００はデジタイザ２００から送信された操作データを受信する操作データ受信処理を行う。この時、受信装置１００は、操作データを受信してその中に記述されている時刻を取得し記録、管理する処理を行う。
受信装置１００のＣＰＵ１０１は、操作データを受信するたびに時刻を取得し記録することを繰り返す。受信装置１００は、操作データの受信時刻を記録及び管理するためにデータベースやリストを用いることができる。
【００２９】
Ｓ３００３において、ＣＰＵ１０１は、操作データを受信し、時刻を記録すると同時に操作データそのもののコピーを作成し任意の箇所に保存する。操作データの保存は新しい操作データを受信するたびに上書き保存される。
Ｓ３００４において、ＣＰＵ１０１は、会議開始準備や会議開始からある一定時間経過したのち、デジタイザ２００で行われている、操作データの取得のサンプリング周期を推測する。
【００３０】
この開始準備や会議開始からの一定時間は任意であり、その時間をより多くとることにより精度の高いものになる。また、前述の一定時間は受信装置１００の外部から設定しても内部で予め設定されていても本実施形態は可能である。前述のデジタイザ操作情報のサンプリング周期の値を任意の箇所に保存する。
【００３１】
Ｓ３００５において、ＣＰＵ１０１は、会議が開始された時点から操作データを受信するたびに、前回に受信した操作データから取得した時刻との時刻差を計算する。
Ｓ３００６において、ＣＰＵ１０１は、Ｓ３００５において計算した計算結果とＳ３００４で推測した操作データのサンプリング周期とを比較する。
【００３２】
Ｓ３００６においてその時刻差がサンプリング周期より大きい場合は、Ｓ３００７において、ＣＰＵ１０１は操作データを梱包したパケットがロスしたと判断する。
時刻差がサンプリング周期より小さい場合は、Ｓ３０１０において、ＣＰＵ１０１はパケットがロスしていないと判断して、前述の受信した操作データを会議システムの表示装置３００などに送信する。なお、受信装置１００（中継装置）は、複数の入力装置からの操作データを中継する場合、複数の入力装置それぞれの操作データのサンプリング周期を揃えて受信側拠点に操作データを送信することができる。
【００３３】
Ｓ３００７においてＣＰＵ１０１が操作データを梱包するパケットがロスしたと判断し、Ｓ３００８に進む。
Ｓ３００８において、ＣＰＵ１０１は受信したパケットに梱包されている操作データと前述の操作データのコピーからロスしたパケットが梱包したであろう操作データを作成するパケット補完処理を行う。具体的には、ロスしたパケットの前後のパケットから操作データを読み取り、それぞれの値から適切な値を算出し、その値を操作データとしてパケッタイズする機能を有する。
【００３４】
Ｓ３００９において、ＣＰＵ１０１はＳ３００８で作成した操作データを会議システムの表示装置３００などに送信する。
続いて、Ｓ３０１０において、ＣＰＵ１０１はＳ３００２で受信した操作データを会議システムの表示装置３００などに送信する。
【００３５】
前述のように、本実施形態のシステムは、デジタイザ２００への操作データを格納した複数のパケットが、送信側拠点から中継装置（受信装置１００）を介して受信側拠点へ送信される場合において、中継装置と受信側拠点の間でのパケットロスの有無を予測する。そして、デジタイザ２００のポインティング情報（操作データ）がロスしたと判定された場合、受信装置１００（中継装置）においてロスした操作データを推定してパケットを作成し、受信側拠点に対して送信する。このような構成により、パケットロスが発生しうる環境において、受信側拠点における操作データの再現性を向上できる。
なお、本実施形態では、中継装置（受信装置１００）においてパケットロスの有無の判定と、補完処理を実行する例を中心に説明したが、同様の処理が受信側拠点において行われるようにしてもよい。
また、上記の実施形態では、デジタイザ２００に対する操作に応じた操作データを格納したパケットのロスの有無を判断し、当該判断結果に応じてパケットの補完処理を実行する例を中心に説明したが、操作データに限らない。例えば、画像データや音声データなど各種データに対してサンプリング周期に基づくパケットロスの有無の判断や、パケット補完処理を実行させることができる。
【００３６】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００３７】
１０  ネットワーク
２１  拠点
３１  拠点
１００  データ受信装置
２００  デジタイザ
２０１  人物監視装置
２０２  人物撮影装置
３００  表示装置
【図１】
2017034401.tif 000003
【図２】
2017034401.tif 000004
【図３】
2017034401.tif 000005