(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023072525
(43)【公開日】2023-05-24
(54)【発明の名称】端末装置、切替方法及び切替プログラム
(51)【国際特許分類】
H04N 21/462 20110101AFI20230517BHJP
H04N 21/442 20110101ALI20230517BHJP
【FI】
H04N21/462
H04N21/442
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021185141
(22)【出願日】2021-11-12
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】遠藤 雅和
(72)【発明者】
【氏名】小松 健作
(72)【発明者】
【氏名】澤田 州市
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164UB41P
5C164UC27P
5C164YA21
5C164YA24
(57)【要約】
【課題】低遅延のライブ配信の視聴を可能にし、利用者の望む過去時間の映像データも容易に視聴させること。
【解決手段】端末装置100は、ネットワークを介して、映像ソースから取得した映像データを配信する第1サーバから映像データを受信するのか、映像ソースから取得した映像データを映像ファイルに変換して保存した後に、映像データを配信する第2サーバから映像データを受信するのかを、所定の条件を満たすか否かを基にして判定する判定部と、判定部の判定結果を基にして、第1サーバまたは第2サーバに対して、映像データの配信要求を行う切替部とを備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ネットワークを介して、映像ソースから取得した映像データを配信する第1サーバから映像データを受信するのか、前記映像ソースから取得した映像データを映像ファイルに変換して保存した後に、映像データを配信する第2サーバから映像データを受信するのかを、所定の条件を満たすか否かを基にして判定する判定部と、
前記判定部の判定結果を基にして、前記第1サーバまたは前記第2サーバに対して、映像データの配信要求を行う切替部と
を備えることを特徴とする端末装置。
【請求項2】
前記第1サーバから受信する映像データまたは前記第2サーバから受信する映像データを再生する再生領域と、映像データの開始時間から総時間までの時間幅に対応付けられたシークバー上のポインタであって、映像データの現在の再生時間を示す前記ポインタの移動操作を受け付ける操作領域とを含んだ画面情報を表示する表示制御部を更に有し、
前記判定部は、前記ポインタの位置が前記シークバーの総時間に相当する位置となる場合に、前記第1サーバから映像データを受信すると判定し、前記ポインタの位置が前記シークバーの総時間に相当する位置以外に移動した場合に、前記第2サーバから映像データを受信すると判定することを特徴とする請求項1に記載の端末装置。
【請求項3】
前記切替部は、前記判定部によって、前記第2サーバから映像データを受信すると判定された場合に、前記ポインタに示される再生時間に対応する映像データの配信要求を、前記第2サーバに対して行うことを特徴とする請求項2に記載の端末装置。
【請求項4】
前記判定部は、映像データの総時間と、映像データの現在の再生時間とを更に取得し、前記総時間と前記現在の再生時間とが一致する場合に、前記第1サーバから映像データを受信すると判定し、前記総時間と前記現在の再生時間とが一致しない場合には、前記第2サーバから映像データを受信すると判定することを特徴とする請求項1に記載の端末装置。
【請求項5】
前記判定部は、前記ネットワークの品質を基にして、前記第1サーバから映像データを受信するのか、前記第2サーバから映像データを受信するのかを判定することを特徴とする請求項1に記載の端末装置。
【請求項6】
ネットワークを介して、映像ソースから取得した映像データを配信する第1サーバから映像データを受信するのか、前記映像ソースから取得した映像データを映像ファイルに変換して保存した後に、映像データを配信する第2サーバから映像データを受信するのかを、所定の条件を満たすか否かを基にして判定する判定工程と、
前記判定工程の判定結果を基にして、前記第1サーバまたは前記第2サーバに対して、映像データの配信要求を行う切替工程と
を含んだことを特徴とする切替方法。
【請求項7】
ネットワークを介して、映像ソースから取得した映像データを配信する第1サーバから映像データを受信するのか、前記映像ソースから取得した映像データを映像ファイルに変換して保存した後に、映像データを配信する第2サーバから映像データを受信するのかを、所定の条件を満たすか否かを基にして判定する判定ステップと、
前記判定ステップの判定結果を基にして、前記第1サーバまたは前記第2サーバに対して、映像データの配信要求を行う切替ステップと
をコンピュータに実行させるための切替プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置、切替方法及び切替プログラム等に関する。
【背景技術】
【0002】
映像データのライブ配信を行うための技術として、WebRTC(Web Real-Time Communication)や、HLS(Http Live Streaming)等の技術がある。
【0003】
WebRTCに基づいてライブ配信を行うサーバ(以下、WebRTC配信サーバ)は、ストリーム型のライブ配信を行う。たとえば、WebRTC配信サーバは、映像ソースからリアルタイムに取得する映像データを、映像ファイルに変換することなく、そのまま利用者の端末に配信し、端末は、受信した映像データをメモリ上に展開して再生することで、低遅延のライブ配信を実現している。
【0004】
一方、HLSに基づいてライブ配信を行うサーバ(以下、HLS配信サーバ)は、セグメント・ダウンロード型のライブ配信を行う。たとえば、HLS配信サーバは、映像ソースからリアルタイムに取得する映像データを、一定時間(数十秒程度)単位の映像ファイルに変換して保存しつつ、映像データを利用者の端末に配信し、端末は、受信した映像ファイルを内部ストレージに一時的に保存して再生する。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】“「WebRTC」とは?”、[online]、[2021年11月1日検索]、インターネット<https://www.freshvoice.net/knowledge/basic/7437/>
【非特許文献2】“What is HLS?”、[online]、[2021年11月1日検索]、インターネット<https://www.dpsj.co.jp/tech-articles/wowza-blog-hls>
【発明の概要】
【発明が解決しようとする課題】
【0006】
WebRTC配信サーバは、低遅延のライブ配信を実現できるが、配信済みの映像データが、WebRTC配信サーバおよび映像データを受信した端末上に残っていないため、過去時間から映像データを再配信することができない。一方、HLS配信サーバおよび映像データを受信した端末には、映像ファイルが残っているため、過去時間から映像データを再配信および再生することが可能であるが、映像ファイルを作成するため、低遅延のライブ配信を実現することができない。
【0007】
上記問題に対して、利用者側で、WebRTC配信サーバから配信される映像データを視聴するWebRTC視聴プレイヤと、HLS配信サーバから配信される映像データを視聴するHLS視聴プレイヤとを別々に用意して、映像データを視聴することも考えられるが、利用者は、快適に映像データを視聴することができない。
【0008】
たとえば、WebRTC視聴プレイヤを用いて映像データを視聴中に過去時間の映像データを確認するべく、HLS視聴プレイヤに切り替えて映像データを視聴する場合を想定すると、WebRTC視聴プレイヤを用いてそれまで視聴した映像データの再生時間との関連が分かりづらく、利用者の望む過去時間の映像データを容易に視聴することができない。
【0009】
本発明は、上記に鑑みてなされたものであって、低遅延のライブ配信の視聴を可能にし、利用者の望む過去時間の映像データも容易に視聴できる端末装置、切替方法及び切替プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決し、目的を達成するために、本発明に係る端末装置は、ネットワークを介して、映像ソースから取得した映像データを配信する第1サーバから映像データを受信するのか、前記映像ソースから取得した映像データを映像ファイルに変換して保存した後に、映像データを配信する第2サーバから映像データを受信するのかを、所定の条件を満たすか否かを基にして判定する判定部と、前記判定部の判定結果を基にして、前記第1サーバまたは前記第2サーバに対して、映像データの配信要求を行う切替部とを備える。
【発明の効果】
【0011】
本発明によれば、低遅延のライブ配信の視聴を可能にし、利用者の望む過去時間の映像データも容易に視聴させることができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、本実施例1に係るシステムの一例を示す図である。
【
図2】
図2は、本実施例1に係る端末装置の処理を説明するための図(1)である。
【
図3】
図3は、本実施例1に係る端末装置の処理を説明するための図(2)である。
【
図4】
図4は、本実施例1に係る端末装置の処理を説明するための図(3)である。
【
図5】
図5は、本実施例1に係る端末装置の構成を示す機能ブロック図である。
【
図6】
図6は、本実施例1に係る端末装置の処理手順を示すフローチャートである。
【
図7】
図7は、本実施例2に係る端末装置の構成を示す機能ブロック図である。
【
図8】
図8は、本実施例2に係る端末装置の処理手順を示すフローチャートである。
【
図9】
図9は、本実施例3に係るシステムの一例を示す図である。
【
図10】
図10は、本実施例3に係る端末装置の構成を示す機能ブロック図である。
【
図11】
図11は、本実施例3に係る端末装置の処理手順を示すフローチャートである。
【
図12】
図12は、切替プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する端末装置、切替方法及び切替プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0014】
図1は、本実施例1に係るシステムの一例を示す図である。
図1に示すように、このシステムは、映像ソース10と、WebRTC配信サーバ20と、HLS配信サーバ30と、端末装置100とを有する。映像ソース10と、WebRTC配信サーバ20とは、無線または有線によって相互に接続される。映像ソース10と、HLS配信サーバ30とは、無線または有線によって相互に接続される。WebRTC配信サーバ20と、端末装置100とは、ネットワーク50を介して相互に接続される。HLS配信サーバ30と、端末装置100とは、ネットワーク50を介して相互に接続される。
【0015】
映像ソース10は、カメラ等の撮影装置に対応する。映像ソース10は、撮影した映像データをリアルタイムに、WebRTC配信サーバ20およびHLS配信サーバ30に出力する。
【0016】
WebRTC配信サーバ20は、端末装置100から、映像データの配信要求を受け付けた場合に、ストリーム型のライブ配信を行う。たとえば、WebRTC配信サーバ20は、映像ソース10からリアルタイムに取得する映像データを、映像ファイルに変換して記憶装置に記憶することなく、端末装置100に配信する。WebRTC配信サーバ20は、配信後の映像データを保持しない。
【0017】
HLS配信サーバ30は、映像データの配信要求を受け付けた場合に、セグメント・ダウンロード型のライブ配信を行う。たとえば、HLS配信サーバ30は、映像ソース10からリアルタイムに取得する映像データを、一定時間(数十秒程度)単位の映像ファイルに変換して、映像DB35に格納する。
【0018】
HLS配信サーバ30は、配信要求にて指定されるセグメントファイル情報に対応する映像データを、映像DB35から取得し、取得した映像データを、端末装置100に配信する。
【0019】
端末装置100は、WebRTC配信サーバ20またはHLS配信サーバ30から映像データを受信し、受信した映像データを再生する。ここで、端末装置100は、所定の条件を満たすか否かを基にして、WebRTC配信サーバ20から映像データを受信するのか、HLS配信サーバ30から映像データを受信するのかを判定し、判定結果を基にして、WebRTC配信サーバ20またはHLS配信サーバ30に対して映像データの配信要求を行う(配信要求を送信する)。
【0020】
図2~
図4は、本実施例1に係る端末装置の処理を説明するための図である。まず、
図2について説明する。端末装置100は、UI(User Interface)60を表示する。UI60には、再生領域60aと、操作領域60bとが含まれる。再生領域60aは、映像データが再生される領域である。操作領域60bは、利用者が映像データを再生する時間を操作する領域である。
【0021】
操作領域60bには、シークバー61と、ポインタ62とが含まれる。シークバー61上の位置は、映像データの開始時間からの経過時間に対応付けられる。シークバー61の左端は、映像データの開始時間に対応する。以下の説明では、ポインタ62に示される時間であって、開始時間からの時間を「再生時間」と表記する。シークバー61の位置が右側に移行するほど、時間が増え、シークバー61の右端が、現在までの映像データの総時間に対応する。リアルタイムのライブ配信が継続している限り、総時間は増加し続ける。本実施例1では、シークバー61の長さを固定とし、総時間の増加に伴って、シークバー61上の時間が調整されるものとする。
【0022】
シークバー61上に設定されるポインタ62の位置に応じた再生時間の映像データが、再生領域60aで再生される。利用者は、リアルタイムの映像データを視聴する場合には、ポインタ62の位置を、シークバー61の右端に設定する。利用者は、過去時間の映像データを視聴する場合には、ポインタ62の位置を、所望する過去時間に対応した再生時間の位置に移動させる。
【0023】
図3の説明に移行する。
図3に示すように、端末装置100は、ポインタ62の位置が、シークバー61の右端に設定されている場合には、WebRTC配信サーバ20に対して、映像データの配信要求を行い、リアルタイムの映像データを再生する。
【0024】
図4の説明に移行する。
図4に示すように、端末装置100は、ポインタ62の位置が、シークバー61の右端以外の位置に設定されている場合には、HLS配信サーバ30に対して、ポインタ62の位置に応じた過去時間の映像データの配信要求を行い、過去時間からの映像データを再生する。端末装置100は、HLS配信サーバ30に対して、映像データの配信要求を行う場合には、ポインタ62の位置に対応するセグメントファイル情報を、HLS配信サーバ30に通知する。セグメントファイル情報は、ポインタ62の位置の時間情報に対応する。
【0025】
上記のように、本実施例1に係る端末装置100は、ポインタ62の位置が、シークバー61の右端に設定されている場合には、WebRTC配信サーバ20に対して、映像データの配信要求を行い、シークバー61の右端以外の位置に設定されている場合には、HLS配信サーバ30に対して、ポインタ62の位置に応じた時間の映像データの配信要求を行い、WebRTC配信サーバ20またはHLS配信サーバ30から配信される映像データをUI60の再生領域60aに表示する。これによって、低遅延のライブ配信の視聴を可能にし、利用者の望む過去時間の映像データも容易に視聴させることができる。
【0026】
たとえば、ポインタ62を移動させる場合に、シークバー61の右端が、リアルタイムの時間に対応するため、リアルタイムの時間と比較して、どのくらい前の映像データであるのかを容易に確認できる。
【0027】
次に、本実施例1に係る端末装置100の構成例について説明する。
図5は、本実施例1に係る端末装置の構成を示す機能ブロック図である。
図5に示すように、この端末装置100は、通信制御部110と、入力部120と、表示部130と、記憶部140と、制御部150とを有する。
【0028】
通信制御部110は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やネットワーク50を介したWebRTC配信サーバ20と制御部150との通信、HLS配信サーバ30と制御部150との通信を制御する。通信制御部110は、他の外部装置と通信を実行してもよい。
【0029】
入力部120は、キーボードやマウス等の入力デバイスを用いて実現され、利用者による入力操作に対応して、制御部150に対して各種の情報を入力する。たとえば、利用者は、入力部120を操作して、
図2等で説明したUI60のポインタ62の位置を所望の位置に移動させる。
【0030】
表示部130は、制御部150から取得した情報を出力する出力デバイスであり、液晶ディスプレイなどの表示装置によって実現される。表示部130は、
図2等で説明したUI60等を表示する。
【0031】
記憶部140は、制御部150等で利用する各種の情報を記憶する。記憶部140は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク等の記憶装置によって実現される。
【0032】
制御部150は、切替部151、第1受信部152、第2受信部153、表示制御部154、判定部155を有する。制御部150は、CPU(Central Processing Unit)等に対応する。
【0033】
切替部151は、判定部155の判定結果を基にして、WebRTC配信サーバ20またはHLS配信サーバ30に対して、映像データの配信要求を送信する。
【0034】
切替部151は、判定部155によって、WebRTC配信サーバ20から映像データを受信すると判定された場合に、WebRTC配信サーバ20に対して、映像データの配信要求を送信する。切替部151は、判定部155によって、WebRTC配信サーバ20から映像データを受信すると判定された時点において、HLS配信サーバ30から映像データを受信している場合には、HLS配信サーバ30に対して、配信の停止要求を行う。
【0035】
切替部151は、既にWebRTC配信サーバ20から映像データを受信している場合には、配信要求を行わなくてもよい。
【0036】
切替部151は、判定部155によって、HLS配信サーバ30から映像データを受信すると判定された場合に、HLS配信サーバ30に対して、映像データの配信要求を送信する。HLS配信サーバ30に対して行う配信要求には、ポインタ62の位置に対応するセグメントファイル情報が含まれる。切替部151は、判定部155によって、HLS配信サーバ30から映像データを受信すると判定された時点において、WebRTC配信サーバ20から映像データを受信している場合には、WebRTC配信サーバ20に対して、配信の停止要求を行う。
【0037】
切替部151は、ポインタ62の位置が更新されるたびに、ポインタ62の位置に対応するセグメントファイル情報の配信要求を、HLS配信サーバ30に対して行う。
【0038】
なお、切替部151は、処理の開始時に、判定部155の判定結果にかかわらず、WebRTC配信サーバ20に対して、映像データの配信要求を行うものとする。
【0039】
第1受信部152は、WebRTC配信サーバ20から配信される映像データを受信する。第1受信部152は、受信した映像データを、表示制御部154に出力する。
【0040】
第2受信部153は、HLS配信サーバ30から配信される映像データを受信する。第2受信部153は、受信した映像データを、表示制御部154に出力する。
【0041】
表示制御部154は、入力部120を操作する利用者によって、UI60の表示要求を受け付けた場合に、
図2に示したUI60を、表示部130に出力して表示させる。
【0042】
表示制御部154は、第1受信部152または第2受信部153から映像データを取得し、取得した映像データを、再生領域60aにおいて再生する。
【0043】
ここで、表示制御部154は、入力部120を操作する利用者からのポインタ62の移動操作を受け付けた場合には、移動操作に応じて、ポインタ62の位置を移動させる。表示制御部154は、ポインタ62の移動操作を受け付ける度に、ポインタ62の移動操作情報を生成し、判定部155に出力する。
【0044】
表示制御部154が、判定部155に出力する移動操作情報には、ポインタ62がシークバー61の右端に位置しているか否かの情報が含まれる。また、ポインタ62がシークバー61の右端に位置していない場合には、ポインタ62に位置に応じたセグメントファイル情報が、移動操作情報に含まれる。
【0045】
判定部155は、表示制御部154から取得する移動操作情報を基にして、WebRTC配信サーバ20から映像データを受信するのか、HLS配信サーバ30から映像データを受信するかを判定し、判定結果を切替部151に出力する。
【0046】
判定部155は、移動操作情報を基にして、ポインタ62がシークバー61の右端に位置している場合には、WebRTC配信サーバ20から映像データを受信すると判定する。
【0047】
一方、判定部155は、移動操作情報を基にして、ポインタ62がシークバー61の右端に位置していない場合には、HLS配信サーバ30から映像データを受信すると判定する。判定部155は、移動操作情報に含まれる時間情報を、切替部151に出力する。
【0048】
次に、本実施例1に係る端末装置100の処理手順の一例について説明する。
図6は、本実施例1に係る端末装置の処理手順を示すフローチャートである。
図6に示すように、端末装置100の表示制御部154は、UI60を表示部130に表示させる(ステップS101)。
【0049】
端末装置100の切替部151は、WebRTC配信サーバ20に配信要求を送信し、第1受信部152は、映像データを受信する(ステップS102)。表示制御部154は、映像データの再生を開始する(ステップS103)。
【0050】
表示制御部154は、ポインタ62の移動操作を受け付けていない場合には(ステップS104,No)、再度、ステップS104に移行する。一方、表示制御部154は、ポインタ62の移動操作を受け付けた場合には(ステップS104,Yes)、ステップS105に移行する。
【0051】
判定部155は、移動操作後のポインタ62の位置が右端か否かを判定する(ステップS105)。判定部155は、ポインタ62の位置が右端の場合には(ステップS106,Yes)、ステップS107に移行する。判定部155は、ポインタ62の位置が右端ではない場合には(ステップS106,No)、ステップS108に移行する。
【0052】
切替部151は、WebRTC配信サーバ20に配信要求を送信し、第1受信部152は、映像データを受信し(ステップS107)、ステップS110に移行する。
【0053】
切替部151は、ポインタ62の位置に応じたセグメントファイル情報を配信要求に設定する(ステップS108)。切替部151は、HLS配信サーバ30に配信要求を送信し、第2受信部153は、映像データを受信し(ステップS109)、ステップS110に移行する。
【0054】
端末装置100は、再生を終了しない場合には(ステップS110,No)、ステップS104に移行する。端末装置100は、再生を終了する場合には(ステップS110,Yes)、処理を終了する。
【0055】
次に、本実施例1に係る端末装置100の効果について説明する。端末装置100は、ポインタ62の位置が、シークバー61の右端に設定されている場合には、WebRTC配信サーバ20に対して、映像データの配信要求を行い、シークバー61の右端以外の位置に設定されている場合には、HLS配信サーバ30に対して、ポインタ62の位置に応じた時間の映像データの配信要求を行い、WebRTC配信サーバ20またはHLS配信サーバ30から配信される映像データをUI60の再生領域60aに表示する。これによって、低遅延のライブ配信の視聴を可能にし、利用者の望む過去時間の映像データも容易に視聴させることができる。
【0056】
なお、上述した端末装置100は、ポインタ62の位置が右端か否かに応じて、WebRTC配信サーバ20に対して映像データの配信要求を行うのか、HLS配信サーバ30に対して映像データの配信要求を行うのかを判定していたが、これに限定されるものではない。
【0057】
端末装置100は、表示制御部154から、映像データの総時間と、UI60で現在再生されている映像データの再生時間(現在再生時間)の情報とを取得し、総時間と、現在再生時間とを基にして、WebRTC配信サーバ20に対して映像データの配信要求を行うのか、HLS配信サーバ30に対して映像データの配信要求を行うのかを判定してもよい。たとえば、端末装置100の判定部155は、総時間と、現在再生時間が一致する場合には、WebRTC配信サーバ20に対して、映像データの配信要求を行うと判定する。一方、端末装置100は、総時間と、現在再生時間が一致しない場合には、HLS配信サーバ30に対して、映像データの配信要求を行う。この場合、切替部151は、現在再生時間を時間情報として設定し、HLS配信サーバ30に配信要求を送信する。
【0058】
これによって、総時間と現在再生時間とを用いて、低遅延のライブ配信の視聴を可能にし、利用者の望む過去時間の映像データも容易に視聴させることができる。
次に、本実施例2に係るシステムの一例について説明する。本実施例2に係るシステムの構成は、実施例1で説明したシステムと同様であるため、説明を省略する。本実施例2に係る端末装置は、WebRTC配信サーバ20およびHLS配信サーバ30とにネットワーク50を介して接続される。
本実施例2に係る端末装置は、ネットワーク50の通信品質を基にして、映像データを受信するサーバを、WebRTC配信サーバ20からHLS配信サーバ30に切り替える。たとえば、端末装置は、ネットワーク50の通信品質が一定の品質を維持している間は、WebRTC配信サーバ20から映像データを受信する。一方、端末装置は、ネットワーク50の通信品質が一定品質を下回った場合に、HLS配信サーバ30から映像データを受信する。これによって、利用者が自身で切替操作等を行わなくても、ネットワーク50の通信品質に応じた映像データを視聴可能とすることができる。
通信制御部210、入力部220、表示部230、記憶部240に関する説明は、実施例1で説明した通信制御部110、入力部120、表示部130、記憶部140に関する説明と同様である。
制御部250は、切替部251、第1受信部252、第2受信部253、表示制御部254、統計データ取得部255、判定部256を有する。制御部250は、CPU等に対応する。
切替部251は、判定部256の判定結果を基にして、WebRTC配信サーバ20またはHLS配信サーバ30に対して、映像データの配信要求を送信する。切替部251は、処理の開始時に、判定部256の判定結果にかかわらず、WebRTC配信サーバ20に対して、映像データの配信要求を行うものとする。切替部251に関するその他の処理の説明は、実施例1で説明した切替部151に関する説明と同様である。
第1受信部252は、WebRTC配信サーバ20から配信される映像データを受信する。第1受信部252は、受信した映像データを、表示制御部254および統計データ取得部255に出力する。
第1受信部252は、切替部251の切替制御によって、HLS配信サーバ30から、第2受信部253に対して映像データが配信されている間は、定期的に、WebRTC配信サーバ20にアクセスして映像データを受信し、受信した映像データを、統計データ取得部255に出力する。
表示制御部254は、入力部220を操作する利用者によって、映像データを視聴するためのUIの表示要求を受け付けた場合に、UIを表示部230に出力して表示させる。表示制御部254は、第1受信部252または第2受信部253から映像データを取得し、取得した映像データを、UIの再生領域において再生する。
統計データ取得部255は、WebRTC配信サーバ20から取得する映像データを基にして、ネットワーク50のレイテンシーと、パケットロス率とを取得する。統計データ取得部255は、レイテンシーと、パケットロス率との情報を、判定部256に出力する。
判定部256は、統計データ取得部255から取得するレイテンシーと、パケットロス率との情報を基にして、WebRTC配信サーバ20から映像データを受信するのか、HLS配信サーバ30から映像データを受信するかを判定し、判定結果を切替部251に出力する。
判定部256は、レイテンシーが閾値Th1未満、かつ、パケットロス率が閾値Th2未満の場合には、ネットワーク50の通信品質が一定の品質を維持していると判定する。閾値Th1、閾値Th2の値は、事前に設定される。判定部256は、ネットワーク50の通信品質が一定の品質を維持している場合には、WebRTC配信サーバ20から映像データを受信すると判定する。
一方、判定部256は、レイテンシーが閾値Th1以上、または、パケットロス率が閾値Th2以上の場合には、ネットワーク50の通信品質が一定の品質を維持していないと判定する。判定部256は、ネットワーク50の通信品質が一定の品質を維持していない場合には、HLS配信サーバ30から映像データを受信すると判定する。
端末装置200の切替部251は、WebRTC配信サーバ20に配信要求を送信し、第1受信部252は、映像データを受信する(ステップS202)。表示制御部254は、映像データの再生を開始する(ステップS203)。
端末装置200の判定部256は、ネットワーク50の通信品質が一定の品質以上でない場合には(ステップS205,No)、ステップS206に移行する。切替部251は、HLS配信サーバ30に配信要求を送信し、第2受信部253は、HLS配信サーバ30から映像データを受信し(ステップS206)、ステップS209に移行する。
一方、判定部256は、ネットワーク50の通信品質が一定の品質以上の場合には(ステップS205,Yes)、ステップS207に移行する。切替部251は、WebRTC配信サーバ20から映像データを受信中であるか否かを判定する(ステップS207)。
判定部256は、WebRTC配信サーバ20から映像データを受信中である場合には(ステップS207,Yes)、ステップS209に移行する。一方、判定部256は、WebRTC配信サーバ20から映像データを受信中でない場合には(ステップS207,No)、ステップS208に移行する。
切替部251は、WebRTC配信サーバ20に配信要求を送信し、第1受信部252は、WebRTC配信サーバ20から映像データを受信し(ステップS208)、ステップS209に移行する。
端末装置200は、一定時間待機する(ステップS209)。端末装置200は、再生を終了しない場合には(ステップS210,No)、ステップS204に移行する。端末装置200は、再生を終了する場合には(ステップS210,Yes)、処理を終了する。
次に、本実施例2に係る端末装置200の効果について説明する。端末装置200は、ネットワーク50の通信品質を基にして、映像データを受信するサーバを、WebRTC配信サーバ20からHLS配信サーバ30に切り替える。たとえば、端末装置200は、ネットワーク50の通信品質が一定の品質を維持している間は、WebRTC配信サーバ20から映像データを受信する。一方、端末装置200は、ネットワーク50の通信品質が一定品質を下回った場合に、HLS配信サーバ30から映像データを受信する。これによって、利用者が自身で切替操作等を行わなくても、ネットワーク50の通信品質に応じた映像データを視聴可能とすることができる。