JP2018129702A - サーバおよび通信方法 - Google Patents
サーバおよび通信方法 Download PDFInfo
- Publication number
- JP2018129702A JP2018129702A JP2017021980A JP2017021980A JP2018129702A JP 2018129702 A JP2018129702 A JP 2018129702A JP 2017021980 A JP2017021980 A JP 2017021980A JP 2017021980 A JP2017021980 A JP 2017021980A JP 2018129702 A JP2018129702 A JP 2018129702A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- media stream
- server
- audio device
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】継続的なストリーム処理を実現する。【解決手段】サーバ100は、第1端末及び第2端末からメディアストリームを取得し、第1端末及び第2端末から取得した各メディアストリームに関する情報を記憶装置に格納する。サーバ100は、第1端末及び第2端末に対し、端末情報を所定期間毎に要求し、第1端末から要求に対する応答を受信し、第2端末から要求に対する応答を受信しない場合に、記憶装置に格納された各メディアストリームに関する情報の相関性を判定する。サーバ100は、各メディアストリームに関する情報に相関性があると判定された場合に、第2端末から取得すべきメディアストリームを、第1端末から取得する。【選択図】図1
Description
本発明は、サーバ等に関する。
図18は、メディアストリームを取り扱う従来のサーバの一例を説明するための図である。図18に示すように、サーバ10は、ネットワーク5を介して、デバイス1a、1b、・・・、1Nに接続される。以下の説明では、デバイス1a、1b、・・・、1nをまとめて適宜、デバイス1と表記する。
デバイス1は、スマートデバイス、PC(Personal Computer)等に対応し、付属のマイクを用いて、周辺の音声を集音し、集音した音声のデータを、音声ストリームとして、リアルタイムでサーバ10に送信する。デバイス1は、音声の他にも、ビデオやグラフィック等のその他のメディアのデータも、リアルタイムでサーバ10に送信する。以下の説明では、デバイス1がサーバ10に送信する各メディアのデータを、メディアストリームと表記する。
サーバ10は、ストリーム処理部10aを有する。ストリーム処理部10aは、デバイス1から受信したメディアストリームに対して、各種のストリーム処理を実行する。ストリーム処理は、リアルタイムに送信されるメディアストリームに対して、録音、音声認識、画像処理、ハイパス・ローパス等の各種フィルタ処理、ノイズキャンセル、圧縮等を継続的に行う処理の総称である。
しかしながら、上述した従来技術では、継続的なストリーム処理を実現することができないという問題がある。
例えば、デバイス1aに障害が発生した場合には、この障害の発生したデバイス1aからのメディアストリームが途絶える。このため、サーバ10は、切断期間中において、デバイス1aのメディアストリームに対するストリーム処理を中断することになる。他のデバイス1に障害が発生した場合も、同様に、ストリーム処理が中断される。
1つの側面では、本発明は、継続的なストリーム処理を実現することができるサーバおよび通信方法を提供することを目的とする。
第1の案では、サーバは、格納処理部と、判定部と、取得部とを有する。格納処理部は、第1端末及び第2端末からメディアストリームを取得し、第1端末及び第2端末から取得した各メディアストリームに関する情報を記憶部に格納する。判定部は、第1端末及び第2端末に対し、端末情報を所定期間毎に要求し、第1端末から要求に対する応答を受信し、第2端末から要求に対する応答を受信しない場合に、記憶部に格納された各メディアストリームに関する情報の相関性を判定する。取得部は、各メディアストリームに関する情報に相関性があると判定された場合に、第2端末から取得すべきメディアストリームを、第1端末から取得する。
代替するのに妥当な端末を選択することが可能になるため、継続的なストリーム処理を実現することができる。
以下に、本願の開示するサーバおよび通信方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係るシステムの構成を示す図である。図1に示すように、このシステムは、音声デバイス50a,50b,50c,50d,50eと、サーバ100とを有する。音声デバイス50a〜50eと、サーバ100とは、ネットワーク60を介して相互に接続される。図1に示す例では、音声デバイス50a〜50eを示すが、サーバ100は、図示しない他の音声デバイスに接続されていても良い。以下の説明では、適宜、音声デバイス50a〜50eをまとめて、音声デバイス50と表記する。
音声デバイス50は、マイクを用いて周辺の音声を集音し、集音した音声のデータを、メディアストリームとして、リアルタイムでサーバ100に送信する装置である。なお、本実施例では、メディアストリームを、音声のデータとして説明するが、音声デバイス50は、カメラを用いて、映像を撮影し、撮影した映像のデータを、メディアストリームとして、サーバ100に送信しても良い。
サーバ100は、各音声デバイス50からメディアストリームをそれぞれ受信し、受信したメディアストリームに対して、各種のストリーム処理を実行する装置である。ストリーム処理は、リアルタイムに送信されるメディアストリームに対して、録音、音声認識、ハイパス・ローパス等の各種フィルタ処理、ノイズキャンセル、圧縮等を継続的に行う処理の総称である。
ここで、サーバ100は、ある音声デバイスとの接続が切断された場合に、代替となる最適な音声デバイスを選択し、選択した音声デバイスからのメディアストリームを流用することで、継続的なストリーム処理を実現する。
例えば、サーバ100は、サーバ100と音声デバイス50aとの接続が切断された場合には、音声デバイス50aと最も相関性のある音声デバイスを特定する。各音声デバイスに相関性があるか否かは、各音声デバイス50から送信されるメディアストリームの相関係数、各音声デバイス50の位置情報により判定される。
例えば、音声デバイス50aと最も相関性のある音声デバイスを、音声デバイス50cとする。この場合には、サーバ100は、音声デバイス50cを選択し、音声デバイス50aのメディアストリームとして、音声デバイス50cのメディアストリームを流用し、継続的なストリーム処理を実現する。
次に、図1に示した音声デバイス50およびサーバ100の構成の一例について説明する。
図2は、本実施例に係る音声デバイスの構成を示す機能ブロック図である。ここでは一例として、音声デバイス50aの機能ブロック図について説明する。音声デバイス50b,50c,50d,50eの機能ブロック図は、音声デバイス50aの機能ブロック図と同様であるため、ここでは説明を省略する。
図2に示すように、この音声デバイス50aは、マイク51と、通信部52と、記憶部53と、制御部54とを有する。
マイク51は、周辺の音声のデータを集音するマイクである。マイク51は、音声のデータを、制御部54に出力する。例えば、マイク51は、制御部54から開始命令を受け付けると、集音を開始し、終了命令を受け付けると、集音を終了する。図2の説明では、マイク51が集音した音のデータを、音声データ53aと表記する。
通信部52は、ネットワーク60を介して、サーバ100とデータ通信を実行する処理部である。後述する制御部54は、通信部52を介して、サーバ100とデータをやり取りする。
記憶部53は、音声データ53aと、位置データ53bとを有する。記憶部53は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
音声データ53aは、マイク51により集音された音声データである。
位置データ53bは、音声デバイス50aの位置を示すデータである。位置データ53bは、後述する位置算出部54bにより生成される。
制御部54は、取得部54aと、位置算出部54bと、クライアント部54cとを有する。制御部54は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部54は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
取得部54aは、マイク51から音声データ53aを取得する処理部である。取得部54は、取得した音声データ53aを、記憶部53に格納する。取得部54は、マイク51が集音を開始してから集音を終了するまで、音声データ53aを記憶部53に格納する処理を継続して実行する。
位置算出部54bは、GPS(Global Positioning System)機能等を用いて、音声デバイス50aの位置を算出する処理部である。位置算出部54bが算出した位置のデータを、位置データ53bと表記する。位置算出部54bは、位置データ53bを、記憶部53に格納する。
クライアント部54cは、サーバ100に接続要求を行い、サーバ100に接続されると、マイク51によりリアルタイムに集音された音声データ53aを、メディアストリームとして、サーバ100に送信する処理部である。例えば、メディアストリームは、時刻毎の音声データである。以下に、クライアント部54cの処理の一例について説明する。
例えば、クライアント部54cは、サーバ100に接続要求を行うと、サーバ100からキープアライブリクエストを受信する。クライアント部54cは、キープアライブリクエストを受信すると、キープアライブレスポンスに、音声デバイス50aを識別する識別情報と、位置データ53bとを格納し、キープアライブレスポンスを、サーバ100に送信する。
クライアント部54cは、キープアライブレスポンスを送信した後に、マイク51に対して開始命令を出力することで、音声データ53aの集音を開始させる。クライアント部54cは、リアルタイムに、マイク51により集音される音声データ53aを、メディアストリームとして、サーバ100に送信する処理を開始する。クライアント部54cは、メディアストリームをサーバ100に送信する場合に、音声デバイス50aを識別する識別情報を通知しても良い。
クライアント部54cは、サーバ100または図示しない入力装置から停止要求を受け付けた場合には、メディアストリームの送信を終了する。また、クライアント部54cは、マイク51に対して、終了命令を出力する。
図3は、本実施例に係るサーバの構成を示す機能ブロック図である。図3に示すように、サーバ100は、通信部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
通信部110は、ネットワーク60を介して、音声デバイス50とデータ通信を実行する処理部である。後述する制御部150は、通信部110を介して、音声デバイス50とデータをやり取りする。
入力部120は、各種のデータをサーバ100に入力するための入力装置である。例えば、入力部120は、キーボードやマウス、タッチパネルに対応する。
表示部130は、制御部150から出力されるデータを表示する表示装置である。例えば、液晶ディスプレイやタッチパネルに対応する。
記憶部140は、バッファ141と、デバイステーブル142と、設定値データ143とを有する。記憶部150は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
バッファ141は、音声デバイス50からリアルタイムに送信されるメディアストリームをそれぞれ格納するバッファである。図4は、バッファのデータ構造の一例を示す図である。図4に示すように、バッファ141は、識別情報と、メディアストリームとを対応付ける。識別情報は、音声デバイス50を一意に識別する情報である。メディアストリームは、音声デバイス50から受信するものであり、識別情報に対応付けられる。
デバイステーブル142は、音声デバイス50に関連する各種の情報を保持するテーブルである。図5は、デバイステーブルのデータ構造の一例を示す図である。図5に示すように、このデバイステーブル142は、識別情報と、位置データと、距離データと、相関係数リストとを対応付ける。識別情報は、音声デバイス50を一意に識別するデータである。位置データは、識別情報により識別される音声デバイス50の位置を示す情報である。距離データは、基準となる音声デバイス50と、該当する音声デバイス50との距離を示す情報である。例えば、識別情報「音声デバイス50b」のレコードにおいて、基準となる音声デバイス50を音声デバイス50aとすると、距離データは、音声デバイス50aと音声デバイス50bとの距離を示す。以下の説明では、基準となる音声デバイス50を適宜「採用デバイス」と表記する。
相関係数リストは、採用デバイスのメディアストリームおよび該当する音声デバイス50のメディアストリームについて、時刻毎の相関係数の値を示すリストである。相関係数は、後述する判定部153により算出される。
設定値データ143は、重み付け係数W(t)、比較対象時間、監視間隔のデータを保持する。
重み付け係数W(t)は、後述する判定値を算出する場合に用いられる係数である。図6は、重み付け係数W(t)の一例を示す図である。図6において、横軸は時間に対応し、縦軸は重み付け係数に対応する。重み付け係数W(t)は、現在時刻を基準に、各時刻の重み付け係数W(t)の値が設定される。重み付け係数W(t)の値は、現在時刻t10において最大となり、現在時刻よりも前の時刻になるほど、値が小さくなる。
比較対象時間は、後述する相関係数を算出する場合に比較するメディアストリームの比較対象時間を示す情報である。例えば、比較対象時間を「10s」とする。利用者は、入力部120を操作して、比較対象時間を適宜設定変更しても良い。
監視間隔は、後述するリクエスト処理部151が、キープアライブリクエストを送信する時間間隔を示す情報である。例えば、監視間隔を「1s」とする。利用者は、入力部120を操作して、監視間隔を適宜設定変更しても良い。
制御部150は、リクエスト処理部151と、格納処理部152と、判定部153と、切替部154と、ストリーム処理部155とを有する。制御部150は、CPUやMPUなどによって実現できる。また、制御部150は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
リクエスト処理部151は、ネットワーク60を介して、音声デバイス50との間で、キープアライブリクエスト、キープアライブレスポンス等の送受信を行う処理部である。例えば、リクエスト処理部151は、音声デバイス50から接続要求を受け付けると、接続要求元の音声デバイス50に対して、キープアライブリクエストを送信する。
リクエスト処理部151は、キープアライブリクエストの送信先となる音声デバイス50から、キープアライブレスポンスを受信する。リクエスト処理部151は、キープアライブレスポンスに含まれる識別情報と、位置データ53bとを取得し、識別情報をキーにして、位置データ53bを、デバイステーブル142に格納する。
リクエスト処理部151は、監視間隔毎に、各音声デバイス50に対してキープアライブリクエストを送信し、キープアライブレスポンスを受信する処理を実行し、デバイステーブル142の位置データを更新する。なお、リクエスト処理部151が、キープアライブリクエストを送信し、送信先の音声デバイス50からキープアライブレスポンスを受信しない場合には、送信先の音声デバイス50に障害が発生したと判定する。リクエスト処理部151は、障害の発生した音声デバイス50の識別情報を、判定部153に出力する。
格納処理部152は、各音声デバイス50からメディアストリームをリアルタイムに受信し、受信したメディアストリームをバッファ141に格納する処理部である。図4に示すように、格納処理部152は、メディアストリームに含まれる識別情報をキーにして、各音声デバイス50から送信される各メディアストリームを区別して、バッファ141に格納する。
判定部153は、音声デバイス50のいずれかに障害が発生した場合に、障害の発生した音声デバイス50と相関性のある音声デバイス50を判定する処理部である。判定部153に関する以下の説明では、障害の発生した音声デバイス50を採用デバイスとして説明を行う。
判定部153は、障害の発生の有無にかかわらず、採用デバイスの時刻t10を起点とした比較対象時間のメディアストリームと、音声デバイス50の時刻t10を起点とした比較対象時間のメディアストリームとの相関係数を算出する。
例えば、比較対象時間を10sとすると、相関係数を算出するために比較するメディアストリームは、t10−10s〜t10のメディアストリームとなる。時刻t10は、現在時刻となる。判定部153は、採用デバイスの時刻t10を起点とした比較対象時間のメディアストリームと、音声デバイス50の時刻t10を起点とした比較対象時間のメディアストリームとを、バッファ141から取得する。
判定部153は、時間経過と共に、時刻t10を起点とした比較対象時間のメディアストリームの相関係数を算出し、該当する音声デバイス50のレコードの相関係数リストに、相関係数を格納する。以下の説明では適宜、時刻t10を起点とした比較対象時間のメディアストリームの相関係数を、時刻tの相関係数Fn(t)と表記する。
図7は、相関係数Fn(t)の一例を示す図である。図7に示す例では、採用デバイスを音声デバイス50aとした場合の、採用デバイスと各音声デバイス50b〜50eとの相関係数の一例を示す図である。図7において、横軸は時間に対応し、縦軸は相関係数の値に対応する。
また、判定部153は、障害の発生の有無にかかわらず、採用デバイスと、他の音声デバイス50との距離を算出し、算出した距離データを、デバイステーブル142に格納する。
判定部153は、採用デバイスに障害が発生した場合には、採用デバイスと、他の音声デバイス50との判定値をそれぞれ算出する。判定部153は、判定値が最大となる採用デバイスと音声デバイス50との組を特定し、特定した組の音声デバイス50を、採用デバイスと相関性のある音声デバイス50として特定する。判定部153は、障害の発生した採用デバイスの識別情報と、採用デバイスと関連性のある音声デバイス50の識別情報とを、切替部154に出力する。
例えば、判定部153は、式(1)に基づいて判定値を算出する。式(1)において、Fn(t)は、時刻tの相関係数を示すものである。時刻tは、t1〜t10の値を取る。W(t)は、ある時刻tの重み付け係数であり、図6に示すものとなる。
なお、判定部153は、採用デバイスと相関性のある音声デバイスを判定する場合に、採用デバイスとの距離が閾値未満となる音声デバイスを特定し、特定した音声デバイスに対して、上記判定値を算出しても良い。
切替部154は、障害の発生した採用デバイスの識別情報と相関性のある音声デバイス50の識別情報を受け付けた場合に、採用デバイスから取得するべきメディアストリームを、相関性のある音声デバイス50のメディアストリームに切り替える処理部である。切替部154は、取得部の一例である。
例えば、時刻tにおいて、採用デバイスに障害が発生し、かかる採用デバイスと相関性のある音声デバイスを音声デバイス50cとする。この場合には、切替部154は、時刻t以降のメディアストリームを、採用デバイスの代わりに、音声デバイス50cからのメディアストリームに切り替える切替命令を、格納処理部152に出力する。例えば、切替命令には、障害の発生した採用デバイスの識別情報と、相関性のある音声デバイスの識別情報とが含まれる。
格納処理部152は、切替命令を受け付けると、切替命令に基づいて、バッファ141にメディアストリームを格納する。例えば、障害の発生した採用デバイスを音声デバイス50aとし、音声デバイス50aと関連性のある音声デバイス50を音声デバイス50cとする。この場合には、格納処理部152は、音声デバイス50aに対応するメディアストリームとして、音声デバイス50cから受信するメディアストリームをバッファ141に格納する。
ストリーム処理部155は、バッファ141に格納された音声デバイス50のメディアストリームに対して、ストリーム処理を実行する処理部である。ストリーム処理部155は、処理結果を表示部130に表示しても良いし、外部装置に処理結果を通知しても良い。
ところで、上述した各処理部151〜155の説明では、採用デバイスを音声デバイス50aとして説明したが、採用デバイスは、他の音声デバイス50b〜50eのいずれの音声デバイス50であっても良い。また、各処理部151〜155は、各音声デバイス50a〜50eをそれぞれ採用デバイスとし、並列的に、上記処理を実行しても良い。
次に、本実施例に係るサーバ100の処理手順の一例について説明する。図8は、サーバが接続要求を受け付けた場合の処理手順を示すフローチャートである。図8に示すように、サーバ100のリクエスト処理部151は、音声デバイス50から接続要求を受け付ける(ステップS101)。リクエスト処理部151は、デバイステーブル142に、音声デバイス50の行を追加する(ステップS102)。
リクエスト処理部151は、音声デバイス50にキープアライブリクエストを送信する(ステップS103)。リクエスト処理部151は、音声デバイス50からキープアライブレスポンスを受信する(ステップS104)。
リクエスト処理部151は、音声デバイス50から受信したキープアライブレスポンスに位置データが格納されている場合に、位置データをデバイステーブル142に格納する(ステップS105)。
図9は、音声デバイスと接続中のサーバの処理手順を示すフローチャートである。サーバ100は、図9のステップS201〜S210に示す処理を、監視間隔毎に繰り返し実行する。図9に示すように、サーバ100の格納処理部152は、メディアストリームを受信し、バッファ141に格納する(ステップS201)。サーバ100のリクエスト処理部151は、各音声デバイス50にキープアライブリクエストを送信する(ステップS202)。リクエスト処理部151は、各音声デバイス50からキープアライブレスポンスを受信したか否かを判定する(ステップS203)。
リクエスト処理部151は、キープアライブレスポンスを受信しない場合には(ステップS204,No)、切り替え処理を実行する(ステップS205)。
一方、リクエスト処理部151は、キープアライブレスポンスを受信した場合には(ステップS204,Yes)、音声デバイス毎に位置データをデバイステーブル142に格納する(ステップS206)。
サーバ100の判定部153は、採用デバイスの位置データと他の音声デバイス50の位置データとを基にして、採用デバイスと他の音声デバイスとの距離を算出する(ステップS207)。判定部153は、音声デバイス毎に、距離データをデバイステーブル142に格納する(ステップS208)。
判定部153は、採用デバイスと他の各音声デバイス50との相関係数を算出する(ステップS209)。判定部153は、相関係数をデバイステーブル142に格納する(ステップS210)。
続いて、図9のステップS205に示した切り替え処理の一例について説明する。ここでは、2種類の切り替え処理について説明する。図10は、切り替え処理の一例を示すフローチャート(1)である。図10に示すように、サーバ100の判定部153は、採用デバイスと最も類似する音声デバイス50を判定する(ステップS301)。ステップS301において、判定部153は、採用デバイスと音声デバイス50との判定値をそれぞれ算出し、判定値が最大となる採用デバイスと音声デバイス50との組を特定する。判定部153は、特定した組に含まれる音声デバイス50を、採用デバイスと最も類似する音声デバイス50とする。
サーバ100の切替部154は、判定された音声デバイス50のメディアストリームを、採用デバイスの後段処理の入力に設定する(ステップS302)。
図11は、切り替え処理の一例を示すフローチャート(2)である。図11に示すように、サーバ100の判定部153は、採用デバイスと最も類似する音声デバイス50を判定する(ステップS401)。判定部153は、採用デバイスと最も類似する音声デバイスとの距離を算出する(ステップS402)。
判定部153は、距離データが閾値未満であるか否かを判定する(ステップS403)。判定部153は、距離データが閾値未満でない場合には(ステップS403,No)、処理を終了する。一方、距離データが閾値未満である場合には(ステップS403,Yes)、サーバ100の切替部154は、判定された音声デバイス50のメディアストリームを、採用デバイスの後段処理の入力に設定する(ステップS404)。
なお、図11に示す例では、採用デバイスと最も類似する音声デバイス50を判定した後に、距離データと閾値データとを比較していたが、これに限定されるものではない。例えば、判定部153は、距離データが閾値未満となる音声デバイスを、各音声デバイス50の中から絞り込んだ後に、採用デバイスと最も類似する音声デバイス50を判定しても良い。
次に、本実施例のシステムの処理手順の一例について説明する。図12は、音声デバイスがサーバに接続する場合のシステムの処理手順を示すフローチャートである。ここでは一例として、音声デバイス50aが、サーバ100に接続する場合について説明する。音声デバイス50b〜50eがサーバ100に接続する処理は、図12に示す処理と同様である。
図12に示すように、音声デバイス50aは、サーバ100に接続依頼を送信する(ステップS10)。サーバ100は、音声デバイス50aの行をデバイステーブル142に追加する(ステップS11)。
サーバ100は、キープアライブリクエストを音声デバイス50aに送信する(ステップS12)。音声デバイス50aは、位置を算出し(ステップS13)、サーバ100にキープアライブレスポンスを送信する(ステップS14)。
サーバ100は、デバイステーブル142に位置データを格納する(ステップS15)。音声デバイス50aは、メディアストリームの送信を開始する(ステップS16)。
サーバ100は、メディアストリームの蓄積を開始し(ステップS17)、ストリーム処理を開始する(ステップS18)。
各音声デバイス50と、サーバ100とが図12に示す処理を実行することで、サーバ100のデバイステーブル142は、図13に示すものとなる。図13は、デバイステーブルの一例を示す図(1)である。
図14は、音声デバイスとサーバとが接続している間のシステムの処理手順を示すフローチャートである。図14では一例として、音声デバイス50aが、サーバ100と接続している場合の処理について説明する。音声デバイス50b〜50eがサーバ100と接続している場合の処理は、図14に示す処理と同様である。図14において、ステップS23〜S28に示す処理は、監視間隔毎に繰り返し実行される。
図14に示すように、音声デバイス50aは、定常的にメディアストリームをサーバ100に送信する(ステップS20)。サーバ100はメディアストリームを蓄積し(ステップS21)、ストリーム処理を実行する(ステップS22)。
サーバ100は、キープアライブリクエストを音声デバイス50aに送信する(ステップS23)。音声デバイス50aは、位置を算出し(ステップS24)、キープアライブレスポンスをサーバ100に送信する(ステップS25)。
サーバ100は、デバイステーブル142に位置データを格納する(ステップS26)。サーバ100は、各音声デバイスの相関係数を算出し(ステップS27)、デバイステーブル142に相関係数を格納する(ステップS28)。
各音声デバイス50と、サーバ100とが図14に示す処理を実行することで、サーバ100のデバイステーブル142は、図15に示すものとなる。図15は、デバイステーブルの一例を示す図(2)である。図13に示したデバイステーブル142と比較して、図15に示したデバイステーブル142には、相関係数リストに相関係数が格納されている。
図16は、音声デバイスに障害が発生した場合のシステムの処理手順を示すフローチャートである。図16では一例として、音声デバイス(採用デバイス)50aに障害が発生したものとする。
図16に示すように、サーバ100はデバイステーブル142の相関係数リストを取得する(ステップS30)。サーバ100は、障害の発生した音声デバイス50aに関する各音声デバイス50の判定値を算出する(ステップS31)。
例えば、図15に示した相関係数リストを用いると、式(1)に基づき、音声デバイス50bの判定値A1および音声デバイス50cの判定値A2は、下記のようになる。他の音声デバイスの判定値の説明は省略すると、音声デバイス50cの判定値A2が最大となる。なお、重み付け係数W(t)を、下記に示すものとする。
判定値A1=0.4*0.1+0.3*0.2+0.5*0.3+0.4*0.4+0.4*0.5+0.5*0.6+0.3*0.7+0.2*0.8+0.4*0.9+0.4*1.0=1.74
判定値A2=0.8*0.1+0.7*0.2+0.8*0.3+0.8*0.4+0.8*0.5+0.6*0.6+0.8*0.7+0.8*0.8*0.7*0.9+0.7*1.0=4.07
重み付け係数W(t)=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0]
判定値A2=0.8*0.1+0.7*0.2+0.8*0.3+0.8*0.4+0.8*0.5+0.6*0.6+0.8*0.7+0.8*0.8*0.7*0.9+0.7*1.0=4.07
重み付け係数W(t)=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0]
サーバ100は、上記の判定値の算出結果に基づいて、音声デバイス50aのメディアストリームの代わりに、音声デバイス50cのメディアストリームを利用すると判定する(ステップS32)。サーバ100は、音声デバイス50cに、音声デバイス50aのメディアストリームとして流用する旨の通知を行う(ステップS33)。
音声デバイス50cは、メディアストリームを送信する(ステップS34)。サーバ100は、音声デバイス50aのメディアストリームとして、音声デバイス50cのメディアストリームを取得し、メディアストリームの蓄積を継続し(ステップS35)、ストリーム処理を継続する(ステップS36)。
次に、本実施例に係るサーバ100の効果について説明する。サーバ100は、複数の音声デバイス50からメディアストリームをそれぞれ受信し、ある音声デバイス50からの通信が途絶えた場合に、通信が途絶えた音声デバイス50と他の音声デバイス50との相関性を判定する。そして、サーバ100は、判定結果を基にして相関性のある音声デバイス50からのメディアストリームを、通信の途絶えた音声デバイス50からのメディアストリームとして取得する。これにより、継続的なストリーム処理を実現することができる。
サーバ100は、通信が途絶えた音声デバイス50について、他の音声デバイスとの判定値を算出し、判定値が最大となる音声デバイス50から、通信の途絶えた音声デバイス50の代わりとなるメディアストリームを受信する。このため、通知が途絶えた音声デバイス50と類似性のある他の音声デバイスを適切に判定することができる。
サーバ100は、通信の途絶えた音声デバイス50の代わりとなる他の音声デバイス50を、通信の途絶えた音声デバイス50との距離が閾値未満となる音声デバイス50から判定する。距離の離れた音声デバイス50は、通信の途絶えた音声デバイス50との類似性が低いと考えられるため、上記処理を実行することで、効率的に、代わりに音声デバイス50を選択することができる。
サーバ100は、判定値を算出する場合に、重み付け係数W(t)を用いる。このため、どの時刻に重きを置いて、類似性を判定するのかを、適宜調整可能となる。例えば、図6に示すように、現在時刻に近い重み付け係数W(t)をより大きくすることで、現在時刻に近い相関係数の影響を大きくすることができる。なお、重み付け係数W(t)は、図6のものに限られず、適宜調整可能であり、例えば、現在時刻よりも、過去の時刻の重み付け係数W(t)の値を大きく設定しても良い。
次に、上記実施例に示したサーバ100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図17は、サーバと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図17に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201〜207は、バス208に接続される。
ハードディスク装置207は、リクエスト処理プログラム207a、格納処理プログラム207b、判定プログラム207c、切替プログラム207d、ストリーム処理プログラム207eを格納する。CPU201は、各プログラム207a〜207eを読み出して、RAM206に展開する。
リクエスト処理プログラム207aは、リクエスト処理プロセス206aとして機能する。格納処理プログラム207bは、格納処理プロセス206bとして機能する。判定プログラム207cは、判定プロセス206cとして機能する。切替プログラム207dは、切替プロセス206dとして機能する。ストリーム処理プログラム207eは、ストリーム処理プロセス206eとして機能する。
リクエスト処理プロセス206aの処理は、リクエスト処理部151の処理に対応する。格納処理プロセス206bの処理は、格納処理部152の処理に対応する。判定プロセス206cの処理は、判定部153の処理に対応する。切替プロセス206dの処理は、切替部154の処理に対応する。ストリーム処理プロセス206eの処理は、ストリーム処理部155の処理に対応する。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)第1端末及び第2端末からメディアストリームを取得し、前記第1端末及び前記第2端末から取得した各メディアストリームに関する情報を記憶部に格納する格納処理部と、
前記第1端末及び前記第2端末に対し、端末情報を所定期間毎に要求し、前記第1端末から前記要求に対する応答を受信し、前記第2端末から前記要求に対する応答を受信しない場合に、前記記憶部に格納された各メディアストリームに関する情報の相関性を判定する判定部と、
各メディアストリームに関する情報に相関性があると判定された場合に、前記第2端末から取得すべきメディアストリームを、前記第1端末から取得する取得部と
を有することを特徴とするサーバ。
前記第1端末及び前記第2端末に対し、端末情報を所定期間毎に要求し、前記第1端末から前記要求に対する応答を受信し、前記第2端末から前記要求に対する応答を受信しない場合に、前記記憶部に格納された各メディアストリームに関する情報の相関性を判定する判定部と、
各メディアストリームに関する情報に相関性があると判定された場合に、前記第2端末から取得すべきメディアストリームを、前記第1端末から取得する取得部と
を有することを特徴とするサーバ。
(付記2)前記格納処理部は、複数の第1端末及び第2端末からメディアストリームを取得し、取得した各メディアストリームに関する情報を記憶部に格納し、前記判定部は、前記複数の第1端末の各メディアストリームと、第2端末のメディアストリームとの相関係数をそれぞれ算出し、算出した各相関係数のうち、最大の相関係数となる各メディアストリームの取得先となる第1端末と第2端末との組を判定し、前記取得部は、前記判定された組の第1端末からメディアストリームを取得することを特徴とする付記1に記載のサーバ。
(付記3)前記判定部は、前記第2端末からの距離が所定距離未満となる複数の第1端末の各メディアストリームと、第2端末のメディアストリームとの相関係数をそれぞれ算出し、算出した各相関係数のうち、最大の相関係数となる各メディアストリームの取得先となる第1端末と第2端末との組を判定することを特徴とする付記2に記載のサーバ。
(付記4)前記第1端末のメディアストリームおよび前記第2端末のメディアストリームは各時刻と対応付けられ、前記判定部は、時刻毎に値の異なる重み付け係数を利用して、前記第1端末のメディアストリームと、前記第2端末のメディアストリームとの相関係数を算出することを特徴とする付記1、2または3に記載のサーバ。
(付記5)コンピュータが実行する通信方法であって、
第1端末及び第2端末からメディアストリームを取得し、前記第1端末及び前記第2端末から取得した各メディアストリームに関する情報を記憶装置に格納し、
前記第1端末及び前記第2端末に対し、端末情報を所定期間毎に要求し、前記第1端末から前記要求に対する応答を受信し、前記第2端末から前記要求に対する応答を受信しない場合に、前記記憶装置に格納された各メディアストリームに関する情報の相関性を判定し、
各メディアストリームに関する情報に相関性があると判定された場合に、前記第2端末から取得すべきメディアストリームを、前記第1端末から取得する
処理を実行することを特徴とする通信方法。
第1端末及び第2端末からメディアストリームを取得し、前記第1端末及び前記第2端末から取得した各メディアストリームに関する情報を記憶装置に格納し、
前記第1端末及び前記第2端末に対し、端末情報を所定期間毎に要求し、前記第1端末から前記要求に対する応答を受信し、前記第2端末から前記要求に対する応答を受信しない場合に、前記記憶装置に格納された各メディアストリームに関する情報の相関性を判定し、
各メディアストリームに関する情報に相関性があると判定された場合に、前記第2端末から取得すべきメディアストリームを、前記第1端末から取得する
処理を実行することを特徴とする通信方法。
(付記6)前記格納する処理は、複数の第1端末及び第2端末からメディアストリームを取得し、取得した各メディアストリームに関する情報を記憶部に格納し、前記判定する処理は、前記複数の第1端末の各メディアストリームと、第2端末のメディアストリームとの相関係数をそれぞれ算出し、算出した各相関係数のうち、最大の相関係数となる各メディアストリームの取得先となる第1端末と第2端末との組を判定し、前記取得する処理は、前記判定された組の第1端末からメディアストリームを取得することを特徴とする付記5に記載の通信方法。
(付記7)前記判定する処理は、前記第2端末からの距離が所定距離未満となる複数の第1端末の各メディアストリームと、第2端末のメディアストリームとの相関係数をそれぞれ算出し、算出した各相関係数のうち、最大の相関係数となる各メディアストリームの取得先となる第1端末と第2端末との組を判定することを特徴とする付記6に記載の通信方法。
(付記8)前記第1端末のメディアストリームおよび前記第2端末のメディアストリームは各時刻と対応付けられ、前記判定する処理は、時刻毎に値の異なる重み付け係数を利用して、前記第1端末のメディアストリームと、前記第2端末のメディアストリームとの相関係数を算出することを特徴とする付記5、6または7に記載の通信方法。
50a,50b,50c,50d,50e 音声デバイス
100 サーバ
100 サーバ
Claims (5)
- 第1端末及び第2端末からメディアストリームを取得し、前記第1端末及び前記第2端末から取得した各メディアストリームに関する情報を記憶部に格納する格納処理部と、
前記第1端末及び前記第2端末に対し、端末情報を所定期間毎に要求し、前記第1端末から前記要求に対する応答を受信し、前記第2端末から前記要求に対する応答を受信しない場合に、前記記憶部に格納された各メディアストリームに関する情報の相関性を判定する判定部と、
各メディアストリームに関する情報に相関性があると判定された場合に、前記第2端末から取得すべきメディアストリームを、前記第1端末から取得する取得部と
を有することを特徴とするサーバ。 - 前記格納処理部は、複数の第1端末及び第2端末からメディアストリームを取得し、取得した各メディアストリームに関する情報を記憶部に格納し、前記判定部は、前記複数の第1端末の各メディアストリームと、第2端末のメディアストリームとの相関係数をそれぞれ算出し、算出した各相関係数のうち、最大の相関係数となる各メディアストリームの取得先となる第1端末と第2端末との組を判定し、前記取得部は、前記判定された組の第1端末からメディアストリームを取得することを特徴とする請求項1に記載のサーバ。
- 前記判定部は、前記第2端末からの距離が所定距離未満となる複数の第1端末の各メディアストリームと、第2端末のメディアストリームとの相関係数をそれぞれ算出し、算出した各相関係数のうち、最大の相関係数となる各メディアストリームの取得先となる第1端末と第2端末との組を判定することを特徴とする請求項2に記載のサーバ。
- 前記第1端末のメディアストリームおよび前記第2端末のメディアストリームは各時刻と対応付けられ、前記判定部は、時刻毎に値の異なる重み付け係数を利用して、前記第1端末のメディアストリームと、前記第2端末のメディアストリームとの相関係数を算出することを特徴とする請求項1、2または3に記載のサーバ。
- コンピュータが実行する通信方法であって、
第1端末及び第2端末からメディアストリームを取得し、前記第1端末及び前記第2端末から取得した各メディアストリームに関する情報を記憶装置に格納し、
前記第1端末及び前記第2端末に対し、端末情報を所定期間毎に要求し、前記第1端末から前記要求に対する応答を受信し、前記第2端末から前記要求に対する応答を受信しない場合に、前記記憶装置に格納された各メディアストリームに関する情報の相関性を判定し、
各メディアストリームに関する情報に相関性があると判定された場合に、前記第2端末から取得すべきメディアストリームを、前記第1端末から取得する
処理を実行することを特徴とする通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017021980A JP2018129702A (ja) | 2017-02-09 | 2017-02-09 | サーバおよび通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017021980A JP2018129702A (ja) | 2017-02-09 | 2017-02-09 | サーバおよび通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018129702A true JP2018129702A (ja) | 2018-08-16 |
Family
ID=63173227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017021980A Pending JP2018129702A (ja) | 2017-02-09 | 2017-02-09 | サーバおよび通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018129702A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003533099A (ja) * | 2000-05-03 | 2003-11-05 | パーセプチュアル ロボティクス, アイエヌシー. | カメラネットワーク管理システム |
JP2007312113A (ja) * | 2006-05-18 | 2007-11-29 | Matsushita Electric Ind Co Ltd | 映像切替装置および映像切替方法 |
JP2010136295A (ja) * | 2008-12-08 | 2010-06-17 | Xanavi Informatics Corp | 撮像表示制御装置と方法及びこれを用いたカーナビゲーションシステムとカメラシステム |
JP2016010145A (ja) * | 2014-06-23 | 2016-01-18 | パナソニックIpマネジメント株式会社 | 映像配信方法、映像受信方法、サーバ、端末装置及び映像配信システム |
-
2017
- 2017-02-09 JP JP2017021980A patent/JP2018129702A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003533099A (ja) * | 2000-05-03 | 2003-11-05 | パーセプチュアル ロボティクス, アイエヌシー. | カメラネットワーク管理システム |
JP2007312113A (ja) * | 2006-05-18 | 2007-11-29 | Matsushita Electric Ind Co Ltd | 映像切替装置および映像切替方法 |
JP2010136295A (ja) * | 2008-12-08 | 2010-06-17 | Xanavi Informatics Corp | 撮像表示制御装置と方法及びこれを用いたカーナビゲーションシステムとカメラシステム |
JP2016010145A (ja) * | 2014-06-23 | 2016-01-18 | パナソニックIpマネジメント株式会社 | 映像配信方法、映像受信方法、サーバ、端末装置及び映像配信システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9998684B2 (en) | Method and apparatus for virtual 3D model generation and navigation using opportunistically captured images | |
JP6300792B2 (ja) | キャプチャされたデータの強化 | |
JP4617268B2 (ja) | 記憶装置および記憶装置の処理方法 | |
CN111090687A (zh) | 数据处理方法及装置、***、计算机可读存储介质 | |
WO2007099762A1 (ja) | 被写体追跡コンピュータプログラム製品、被写体追跡装置、およびカメラ | |
EP3249919B1 (en) | Image processing apparatus, image processing method, and program | |
US9967473B2 (en) | Information processing apparatus, information processing method, and program | |
JP6415061B2 (ja) | 表示制御装置、制御方法及びプログラム | |
JP2014095979A (ja) | 電子機器、画像データ処理方法およびプログラム | |
CN106850692B (zh) | 一种流媒体播放模式确定方法及装置 | |
JP2016076766A (ja) | 情報処理装置および情報処理方法 | |
JP5392833B2 (ja) | ストーリー生成システム、方法、およびプログラム | |
US10984249B2 (en) | Information processing apparatus, system, control method for information processing apparatus, and non-transitory computer readable storage medium | |
US9269146B2 (en) | Target object angle determination using multiple cameras | |
CN113342170A (zh) | 手势控制方法、装置、终端和存储介质 | |
JP2012004643A (ja) | 録画装置、録画システム及び録画方法 | |
JP2018129702A (ja) | サーバおよび通信方法 | |
JP2018101916A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2013182450A (ja) | 所在管理プログラム及び所在管理装置 | |
JP5702269B2 (ja) | 並列映像解析装置、並列映像解析方法及び並列映像解析プログラム | |
KR100415838B1 (ko) | 캡쳐 불능 기간을 정확히 결정하여 캡쳐 효율을 향상시킨다채널 영상 신호 캡쳐 시스템 및 캡쳐 방법 | |
JP6734487B2 (ja) | 地域別笑顔度表示システム、地域別笑顔度表示方法及びプログラム | |
JP2023534792A (ja) | 内視鏡の挿入及び除去検出システム | |
JP5863180B2 (ja) | 映像解析処理装置、映像解析処理方法、および映像解析処理用プログラム | |
CN111683215A (zh) | 录像回放方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200804 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210216 |