以下、本発明を実施するための形態について、図面を参照しながら説明する。各図中、同一符号は、同一または同等の構成要素を示している。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る放送システム1の構成例を示す図である。
図1に示す放送システム1は、放送設備10と、WEBサーバ20と、受信機30とを備える。
放送設備10は、第1の伝送路2を介してIPパケットを伝送し、放送サービスを提供する(放送を行う)。放送設備10が伝送するIPパケットは、放送サービスにおける映像・音声のコーデックの処理単位であるMPUをペイロードに格納したMMTパケットをIPパケット化したものである。各MPUには、そのMPUを一意に特定するシーケンス番号(MPUシーケンス番号)が割り当てられ、対応するMPUとともに伝送される。したがって、放送設備10は、放送サービスにおける映像・音声のコーデックの処理単位であり、シーケンス番号が割り当てられたMPUを第1の伝送路2を介して伝送する。また、放送設備10は、MPUをWEBサーバ20に出力する。
WEBサーバ20は、映像・音声などの配信に用いられる一般的なサーバ装置である。WEBサーバ20は、放送設備10から出力されたMPUを、受信機30において損失したMPUを補完するための補完MPUとして格納する。WEBサーバ20は、第2の伝送路3を介した通信により、受信機30からのリクエストに応じて、補完MPUを受信機30に送信する。
第1の伝送路2を介した放送は、例えば、無線電波によるデジタル放送、有線によるケーブルテレビ放送、FTTH(Fiber to the Home)回線によるIP放送、モバイル回線によるMBMSなどである。また、第2の伝送路3は、WEBサーバ20と受信機30とで相互に送受信が可能な双方向伝送路である。第2の伝送路3は、例えば、モバイル回線あるいはFTTH回線などをアクセス回線として用いた広域インターネットであってもよいし、特定の通信事業者の管理下にある閉域ネットワークであってもよい。また、以下では、MMTによって伝送されるMPUを例として説明するが、本発明はこれに限られるものではない。MPUは、MMT規格で定義された用語であるが、ROUTE(Real-Time Object Delivery over Unidirectional Transport)など、その他のプロトコルを用いて、映像・音声のコーデックの処理単位を識別しながら伝送することも可能である。ROUTEでは、MPUに相当する映像・音声のコーデックの処理単位はDASH(Dynamic Adaptive Streaming over HTTP)セグメントと呼ばれることがある。以下では、MPUおよびDASHセグメントといった、放送サービスにおける映像・音声のコーデックの処理単位をセグメントと称することがある。また、補完MPUのような、セグメントを補完するためのファイルを補完セグメントと称することがある。
受信機30は、第1の伝送路2を介して放送設備10から伝送されたIPパケットを取得し、取得したIPパケットからMPUを再構成する。ここで、受信機30は、受信すべきMPUの損失を検出すると、その損失したMPUに対応する補完MPU(損失したMPUを補完するための補完MPU)の配信を要求するリクエストを、第2の伝送路3を介してWEBサーバ20に送信する。受信機30は、そのリクエストに応じてWEBサーバ20から第2の伝送路3を介して送信されてきた補完MPUを受信する。そして、受信機30は、MPUおよび補完MPUをMPUシーケンス番号順に復号して、映像・音声を再生する。
次に、放送設備10および受信機30の構成について説明する。なお、WEBサーバ20は、映像・音声などの配信に用いられる一般的なサーバ装置であり、その構成は当業者によく知られているため、詳細な説明は省略する。まず、放送設備10の構成について説明する。
図2は、放送設備10の構成例を示す図である。図2においては、放送設備10が、放送電波(無線電波)を用いた放送を行う場合の構成例を示す。
図2に示す放送設備10は、符号化部としての映像・音声符号化装置11と、映像・音声コンテンツサーバ12と、制御情報生成部としての制御情報生成装置13と、多重化部としての多重化装置14と、再多重化装置15と、通信機器19とを備える。
放送設備10から放送される番組に関する番組送出情報に基づき、放送される番組の映像・音声信号が映像・音声符号化装置11に入力される。映像・音声符号化装置11は、入力された映像・音声信号を所定の処理単位で符号化して生成したMPUを多重化装置14に出力する。
映像・音声コンテンツサーバ12は、番組送出情報に基づき、放送される番組のデータ(番組内容データ、字幕データ、データ放送のデータなど)を多重化装置14に出力する。
制御情報生成装置13は、番組送出情報に含まれるメタデータ(番組タイトル、番組ID、放送日時など)と、番組の映像・音声を符号化したMPUを補完する補完MPUを格納するWEBサーバ20のアドレス情報であるURL(Uniform Resource Locator)情報とが入力される。制御情報生成装置13は、入力されたメタデータおよびWEBサーバ20のURL情報に基づき、補完MPUの格納先に関する基本URL情報を記述した制御情報を生成する。以下では、この制御情報をMPUセグメント記述子と称する。
図3は、MPUセグメント記述子のデータ構造の一例を示す図である。なお、図3においては、補完MPUのビットレートが複数のビットレート(図3の例では、1000kbpsおよび2000kbps)の中から選択可能である例を示している。図3の例では、バイナリデータの構造体を定義しているが、同様の情報を記述したテキストデータを制御情報として伝送することも考えられる。例えば、制御情報の記述に用いられるテキストフォーマットとして、XML(Extensible Markup Language)やJSON(JavaScript (登録商標) Object Notation)などが知られている。
MPUセグメント記述子で記述される基本URL情報は、補完MPUの格納先のURLのテンプレート(テンプレートURL(テンプレートアドレス))である。基本URL情報は、すべての補完MPUに共通の“base_URL”と、補完MPUのビットレートに応じて異なるセグメントURL(“segment_URL”)とを含む。“base_URL”には、補完MPUを格納するWEBサーバ20のURL(例えば、“http://www.example.com/service1/”)が入力され、“segment_URL”には、補完MPUのビットレートが1000kbpsである場合には、例えば、“1000kbps_segment/$Number$.m4s”が入力され、補完MPUのビットレートが2000kbpsである場合には、“2000kbps_segment/$Number$.m4s”が入力される。したがって、図3に示すMPUセグメント記述子は、1000kbps用の“http://www.example.com/service1/1000kbps_segment/$Number$.m4s”と、2000kbps用の“http://www.example.com/service1/2000kbps_segment/$Number$.m4s”という2つの基本URL情報(テンプレートURL)を記述する。このように、テンプレートURLは、補完MPUの複数のビットレートそれぞれに対応して設けられる。
補完MPUのテンプレートURLのうち、“$Number$”の部分は、補完MPUのMPUシーケンス番号、すなわち、補完MPUに対応するMPUのMPUシーケンス番号に応じて予め定められた規則に従い置き換えられる。したがって、テンプレートURLは、各補完セグメントに共通の共通部(図3の例では、“http://www.example.com/service1/”および“.m4s”)と、セグメントに割り当てられたシーケンス番号に応じて、予め定められた規則に従い置き換えられる置換部(図3の例では、“$Number$”)とを含む。
補完MPUの格納先のURLは、各補完MPUで異なる必要がある。本実施形態においては、テンプレートURLの置換部を、MPUシーケンス番号に応じて置き換えることで、各補完MPUの格納先のURLを異ならせることができる。
なお、図3においては、補完MPUのビットレートが複数のビットレートの中から選択可能である例を示しているが、補完MPUのビットレートは1つだけであってもよい。
図2を再び参照すると、制御情報生成装置13は、生成した制御情報(MPUセグメント記述子)を多重化装置14に出力する。
多重化装置14は、映像・音声符号化装置11から出力されたMPUと、映像・音声コンテンツサーバ12から出力されたデータと、制御情報生成装置13から出力されたMPUセグメント記述子(基本URL情報)とを多重化してMMTパケットのペイロードに格納し、そのMMTパケットをIPパケット化して再多重化装置15および通信機器19に出力する。なお、MMTパケットには、そのMMTパケットに格納されるMPUのMPUシーケンス番号も格納される。
再多重化装置15は、1または複数の階層それぞれに対応して設けられた多重化装置14からの出力を1系統に多重化し、STL(Studio to Transmitter Link)回線を介して、送信所設備16に送信する。
送信所設備16は、再多重化装置15から送信されたIPパケットを受信し、第1の伝送路2を介して受信機30に伝送する。送信所設備16は、放送波変調装置17と、送信機18とを備える。
放送波変調装置17は、再多重化装置15の出力を変調して放送波を生成し、送信機18に出力する。送信機18は、放送波変調装置17から出力された放送波を第1の伝送路2を介して伝送する。放送波変調装置17および送信機18により構成される送信所設備16は、第1の伝送路2を介して放送を行う送信部に相当する。多重化装置14から出力されたIPパケットは、再多重化装置15を介して送信所設備16に入力される。したがって、多重化装置14は、セグメント(MPU)と、基本URL情報に示されるテンプレートアドレス(テンプレートURL)とを多重化し、第1の伝送路2を介して放送を行う送信所設備16(送信部)に出力する多重化部に相当する。
通信機器19は、多重化装置14の出力を、IP回線を介して、WEBサーバ20に送信する。通信機器19は、例えば、スイッチ、ルータ、回線終端装置などである。
図2においては、WEBサーバ20が、WEBサーバ21と、WEBサーバ21とCDN網を介して接続された複数のWEBサーバ22とからなる例を示している。WEBサーバ21は、放送設備10から出力されたMPUを格納するオリジンサーバである。したがって、テンプレートURLの共通部には、WEBサーバ21のアドレスが入力される。WEBサーバ22は、第2の伝送路3を介して受信機30と通信を行うエッジサーバである。WEBサーバ22は、受信機30からのリクエストに応じて、WEBサーバ21に格納されている補完MPUを取得し、受信機30に送信する。なお、WEBサーバ21は、放送設備10に設けられてもよい。
図4は、放送設備10の他の構成例を示す図である。図4においては、放送設備10が、5Gなどの通信インフラを用いたIP放送を行う場合の構成例である。図4において、図2と同様の構成については同じ符号を付し、説明を省略する。
図4に示す放送設備10は、図2に示す放送設備10と比較して、再多重化装置15を削除して、通信機器19Aを追加した点が異なる。
通信機器19Aは、多重化装置14の出力(IPパケット)を、広域通信網である広域バックボーンを介して、複数のヘッドエンド設備16Aに送信する。通信機器19Aは、例えば、スイッチ、ルータ、回線終端装置などである。
ヘッドエンド設備16Aは、通信機器19Aから送信されたIPパケットを受信し、地域毎の地域アクセス網などのIPネットワーク(第1の伝送路2)を介して受信機30に伝送する。ヘッドエンド設備16Aは、放送サービスを提供するエリア内の地域アクセス網ごとに設けられている。ヘッドエンド設備16Aは、通信機器17Aと、収容装置18Aとを備える。
通信機器17Aは、通信機器19Aから送信されたIPパケットを受信し、収容装置18Aに出力する。通信機器17Aは、例えば、スイッチ、ルータ、回線終端装置などである。収容装置18Aは、通信機器17Aから出力されたIPパケットを、地域アクセス網を介して、受信機30に伝送する。通信機器17Aおよび収容装置18Aにより構成されるヘッドエンド設備16Aは、第1の伝送路2を介して放送を行う送信部に相当する。多重化装置14から出力されたIPパケットは、再多重化装置15を介してヘッドエンド設備16Aに入力される。したがって、多重化装置14は、セグメント(MPU)と、基本URL情報に示されるテンプレートアドレス(テンプレートURL)とを多重化し、第1の伝送路2を介して放送を行うヘッドエンド設備16A(送信部)に出力する多重化部に相当する。
次に、受信機30の構成について説明する。
図5は、本実施形態に係る受信機30の構成例を示す図である。
図5に示す受信機30は、放送インタフェース部31と、第1の取得部としての放送多重分離部32と、生成部としてのリクエストURL生成部33と、通信インタフェース部34と、第2の取得部としてのHTTP(Hypertext Transfer Protocol)クライアント部35と、通信多重分離部36と、MPUバッファ部37と、映像・音声復号部38とを備える。
放送インタフェース部31は、放送設備10により第1の伝送路2を介して伝送される放送信号を受信するためのインタフェースである。具体的には、放送インタフェース部31は、放送設備10から第1の伝送路2を介して伝送された放送信号を受信し、受信した放送信号を復調してIPパケットを取得し、放送多重分離部32に出力する。上述したように、放送設備10から伝送されるIPパケットは、MPUおよびMPUセグメント記述子などが格納されている。また、IPパケットには、MPUシーケンス番号も格納されている。
放送多重分離部32は、放送インタフェース部31から出力されたIPパケットを取得し、取得したIPパケットからMPUを再構成する。ここで、放送多重分離部32は、受信パケット列のパケットシーケンス番号の連続性を確認することで、MPUの破損の有無を検査する。また、放送多重分離部32は、再構成したMPUのMPUシーケンス番号の連続性を確認し、MPUの欠落の有無を検査する。また、放送多重分離部32は、一定の時間、新たなMPUが再構成されない場合には、放送の受信断を検知する。放送多重分離部32は、再構成したMPU単位の映像・音声の符号データをMPUバッファ部37に出力する。ここで、放送多重分離部32は、再構成したMPUの破損を検出した場合には、そのMPUについてはMPUバッファ部37に出力せず、破棄する。
放送多重分離部32は、MPUの破損、MPUの欠落あるいは放送の受信断による受信すべきMPUの損失を検出すると、損失したMPUのMPUシーケンス番号と、MPUセグメント記述子に記述された基本URL情報(テンプレートURL)とをリクエストURL生成部33に出力する。なお、損失したMPUとは、破損したMPU、欠落したMPU、あるいは、受信断の直前に取得したMPUの次のMPUシーケンス番号のMPUである。
上述したように、基本URL情報(テンプレートURL)は、各補完MPUに共通の共通部と、MPUに割り当てられたシーケンス番号に応じて、予め定められた規則に従い置き換えられる置換部(図3の例では、“$Number$”)とを含む。リクエストURL生成部33は、放送多重分離部32から出力されたMPUシーケンス番号と、テンプレートURLとに基づき、損失したMPUに対応する補完MPUの格納先を示すリクエストURL(リクエストアドレス)を生成する。具体的には、リクエストURL生成部33は、放送多重分離部32から出力されたMPUシーケンス番号に応じて、予め定められた規則に従い、テンプレートURLの置換部を置き換えてリクエストURLを生成する。
図3の例では、リクエストURL生成部33は、ビットレートが1000kbpsの補完MPUを要求する場合、損失したMPUのMPUシーケンス番号に基づき、1000kbps用のテンプレートURL“http://www.example.com/service1/1000kbps_segment/$Number$.m4s”の置換部である“$Number$”を、予め定められた規則に従い置き換えて、リクエストURLを生成する。また、リクエストURL生成部33は、ビットレートが2000kbpsの補完MPUを要求する場合、損失したMPUのMPUシーケンス番号に基づき、2000kbps用のテンプレートURL“http://www.example.com/service1/2000kbps_segment/$Number$.m4s”の置換部である“$Number$”を、予め定められた規則に従い置き換えて、リクエストURLを生成する。例えば、取得する補完MPUのビットレートが1000kbpsであり、MPUシーケンス番号が100番である場合、リクエストURL生成部33は、1000kbps用のテンプレートURL“http://www.example.com/service1/1000kbps_segment/$Number$.m4s”の置換部である“$Number$”を、“100”に置き換えた“http://www.example.com/service1/1000kbps_segment/100.m4s”という文字列をリクエストURLとして生成する。なお、置換部としては、“$Number$”の他にも、“%d”あるいは“*”など、送信側と受信側とで予め定められた任意の文字列を用いることができる。放送型のサービスにおいては、この置換部として扱う文字列を予め運用仕様として定め、サービスに対応する全ての受信機において既知のものとすることが考えられる。
リクエストURL生成部33は、生成したリクエストURLをHTTPクライアント部35に出力する。
通信インタフェース部34は、有線LAN(Local Area Network)、無線LAN、USB(Universal Serial Bus)など種々の通信方式、通信規格に従い、双方向伝送路である第2の伝送路3を介してWEBサーバ20と通信を行うためのインタフェースである。
HTTPクライアント部35は、リクエストURL生成部33から出力されたリクエストURLを用いて、通信インタフェース部34を経由して、双方向伝送路である第2の伝送路3を介して、損失したMPUに対応する補完MPUをWEBサーバ20から取得する。
具体的には、HTTPクライアント部35は、リクエストURLを用いて、損失したMPUに対応する補完MPUの配信を要求するリクエストを、通信インタフェース部34を経由して、第2の伝送路3を介して、WEBサーバ20に送信する。そして、HTTPクライアント部35は、そのリクエストに応じて第2の伝送路3を介してWEBサーバ20から送信されてきた補完MPUを、通信インタフェース部34を経由して取得する。
WEBサーバ20からファイルを取得するためのプロトコルとして、現在では、HTTP/TCP(Transmission Control Protocol)あるいはHTTPS(HTTP over Secure Socket)/TCPの利用が一般的である。HTTPクライアント部35は、例えば、これらのプロトコルを用いて、補完MPUをWEBサーバ20から取得する。なお、セキュリティ意識の高まりから、個人情報および機密情報などの秘匿性の高い情報を含まない通信にも、通信内容を暗号化して保護するHTTPSが常時使用されることが多くなっている。HTTPおよびTCPを改良したプロトコルとして、HTTP2およびQUIC(Quick UDP Internet Connections)などが開発され、徐々に利用され始めている。QUICは、UDPを用いて、低遅延かつ信頼性の高い双方向接続を行うプロトコルである。HTTPクライアント部35は、例えば、QUICとHTTP2とを組み合わせて、補完MPUをWEBサーバ20から取得してもよい。
HTTPクライアント部35は、取得した補完MPUを通信多重分離部36に出力する。
通信多重分離部36は、HTTPクライアント部35から出力された補完MPUをMPUバッファ部37に出力する。具体的には、通信多重分離部36は、補完MPUのファイルフォーマットがISOBMFF形式である場合には、ISOBMFF形式のデータ構造から映像・音声の符号データを分離してMPUバッファ部37に出力する。
MPUバッファ部37は、放送多重分離部32から出力されたMPU単位の映像・音声の符号データを、MPUシーケンス番号順に格納し、所定の蓄積時間だけ蓄積した後、格納順に映像・音声復号部38に出力する。ここで、MPUバッファ部37は、通信多重分離部36から補完MPUの映像・音声の符号データが出力されると、その補完MPUに対応するMPUのMPUシーケンス番号の位置に、補完MPUの映像・音声の符号データを割り込ませ、映像・音声復号部38に出力する。したがって、映像・音声復号部38には、取得経路に関係なく、MPUシーケンス番号の順に整列したMPU単位の映像・音声の符号化データが入力される。
映像・音声復号部38は、MPUバッファ部37から出力された映像・音声の符号化データを順に復号する。上述したように、映像・音声復号部38には、MPUシーケンス番号の順に整列した映像・音声の符号化データが入力されるので、シームレスな復号処理が可能となる。
一般に、MPUは、概ね一定周期の時間で区切られた映像・音声のデータを含む。そのため、本線信号(第1の伝送路2からの信号)が完全に途絶えた場合にも、MPUの更新周期で定期的に、第2の伝送路3を介して新しいMPUに対応する補完MPUを取得することで、放送サービスの視聴が可能となる。例えば、毎秒60フレームの映像信号において、32フレームを1つのMPUとする場合、映像のMPUの更新周期はおよそ0.533秒となる。一定周期で新しい補完MPUを取得する以外の方法として、MPUバッファ部37内にバッファされるMPUの数が常に一定数になるように、映像・音声復号部38に1つのMPUを出力したタイミングで新しい補完MPUをひとつ取得する方法も考えられる。また、映像と音声のMPUの更新周期を互いに異なる時間とする場合、音声のMPUの更新周期には一般に、映像のMPUの更新周期よりも短い時間が用いられる。MPUをISOBMFF形式のファイルに変換する際には、映像のMPUと音声のMPUとをそれぞれ個別のファイルとして処理することも、1つの映像のMPUと複数の音声のMPUとを多重化して1つのファイルとして処理することも可能である。また、複数の映像のMPUと、複数の音声のMPUとを多重化して1つのファイルとして処理することも可能である。
このように本実施形態においては、放送設備10は、放送サービスにおける映像・音声のコーデックの処理単位であり、シーケンス番号が割り当てられたセグメントを生成する映像・音声符号化装置11(符号化部)と、セグメントを補完する補完セグメントを格納し、格納する補完セグメントを双方向伝送路である第2の伝送路3を介して受信機30に伝送するWEBサーバ20(サーバ装置)のアドレス情報に基づき、各補完セグメントに共通の共通部と、セグメントに割り当てられたシーケンス番号に応じて、予め定められた規則に従い置き換えられる置換部とを含む、補完セグメントの格納先を示すテンプレートアドレス(テンプレートURL)を生成する制御情報生成装置13(制御情報生成部)と、セグメントおよびテンプレートアドレスを多重化し、第1の伝送路2を介して放送を行う送信部(送信所設備16、ヘッドエンド設備16A)に出力する多重化装置14(多重化部)とを備える。
また、受信機30は、第1の伝送路2を介して伝送された、セグメントと、セグメントを補完する補完セグメントの格納先を示し、各補完セグメントに共通の共通部と、セグメントに割り当てられたシーケンス番号に応じて、予め定められた規則に従い置き換えられる置換部とを含むテンプレートアドレスとを取得し、取得すべきセグメントの損失を検出する放送多重分離部32(第1の取得部)と、放送多重分離部32により検出された損失したセグメントに割り当てられたシーケンス番号に基づき、予め定められた規則に従いテンプレートアドレスの置換部を置き換えて、損失したセグメントに対応する補完セグメントの格納先を示すリクエストアドレスを生成するリクエストURL生成部33(生成部)と、生成されたリクエストアドレスを用いて、双方向伝送路である第2の伝送路3を介して、損失したセグメントに対応する補完セグメントをWEBサーバ20(サーバ装置)から取得するHTTPクライアント部35(第2の取得部)と、を備える。
セグメントが損失した場合、損失したセグメントのシーケンス番号に基づき、テンプレートアドレスの置換部を置き換えてリクエストURLを生成し、そのリクエストURLを用いて、損失したセグメントに対応する補完セグメントをWEBサーバ20から取得することで、放送サービスにおいて、映像・音声の途切れおよび乱れを防ぎ、サービス品質の向上を図ることができる。また、セグメントを処理単位とするため、IPパケットあるいはMMTパケットを処理単位とする場合と異なり、CDN網のような汎用的なコンテンツ配信基盤を利用して、サービス品質の向上を図ることができる。
なお、本実施形態においては、受信機30が、第1の伝送路2を介して放送設備10から伝送された放送信号を受信する放送インタフェース部31を備える(放送インタフェース部31を内蔵する)例を用いて説明したが、これに限られるものではない。
図6は、受信機30の他の構成例を示す図である。
図6に示す受信機30は、図5に示す受信機30と比較して、放送インタフェース部31を削除した点と、通信インタフェース部34を通信インタフェース部34aに変更した点とが異なる。また、図6においては、受信機30の外部に設けられ、第1の伝送路2を介して放送設備10から伝送される放送信号を受信し、受信した放送信号を復調してIPパケットを取得する放送インタフェース部31aが設けられている点が異なる。放送インタフェース部31aは、例えば、受信機30に取り付け可能な外付けチューナである。その他にも、宅内LANに接続されて受信機30にIPパケットを中継可能なテレビや単体チューナ、LTEなどの無線通信基地局に設置され受信機30にIPパケットを中継可能な放送受信設備など、さまざまな形態をとり得る。
通信インタフェース部34aは、通信インタフェース部34と同様に、第2の伝送路3を介してWEBサーバ20と通信を行う。また、通信インタフェース部34aは、有線LAN、無線LAN、USBなど種々の通信方式、通信規格に従い、放送インタフェース部31aと通信を行い、放送インタフェース部31aからIPパケットを取得する。
図6に示すように、受信機30は、放送インタフェース部31を内蔵せず、外部の放送インタフェース部31aから、放送設備10から伝送されたIPパケットを取得してもよい。
(第2の実施形態)
図7は、本発明の第2の実施形態に係る受信機30Aの構成例を示す図である。図7において、図5と同様の構成については同じ符号を付し、説明を省略する。
図7に示す受信機30Aは、図5に示す受信機30と比較して、記憶部としての基本URL情報キャッシュ部41を追加した点と、リクエストURL生成部33をリクエストURL生成部33Aに変更した点とが主に異なる。なお、本実施形態においては、放送多重分離部32は、基本URL情報をリクエストURL生成部33Aと、基本URL情報キャッシュ部41とに出力する。
基本URL情報キャッシュ部41は、放送多重分離部32から出力された基本URL情報(テンプレートURL)をキャッシュする。具体的には、基本URL情報キャッシュ部41は、最後に放送を受信した際に取得したMPUセグメント記述子から得られた基本URL情報を受信終了後も保持する。
最後の放送の受信終了後、受信機能が再び起動された際に、放送を受信できず、第1の伝送路2を介して伝送される最新のMPUのMPUシーケンス番号を取得することができない場合がある。この場合、受信機30は、最新のMPUのMPUシーケンス番号が分からないため、最新のMPUに対応する補完MPUの配信をWEBサーバ20に要求することができない。
リクエストURL生成部33Aは、第1の伝送路2を介した放送を受信することができず、第1の伝送路2を介して伝送される最新のMPUのMPUシーケンス番号を取得することができない場合、基本URL情報キャッシュ部41にキャッシュされた基本URL情報を読み出す。そして、リクエストURL生成部33Aは、読み出した基本URL情報に基づき、最新の補完MPUのMPUシーケンス番号を記述したファイルの格納先を示すリクエストURLを生成する。なお、WEBサーバ20は、放送設備10からのMPUの出力に応じて、最新の補完MPUのMPUシーケンス番号を記述したファイルを更新し、記憶している。
図8は、本実施形態におけるMPUセグメント記述子のデータ構造の一例を示す図である。
図8に示すように、本実施形態においては、最新の補完MPUのシーケンス番号を記述したファイルの格納先を指定する“sequence_num_URL”に関する定義が追加されている。
リクエストURL生成部33Aは、共通部である“Base_URL”に、“sequence_num_URL”として送信側と受信側とで共有されるファイル名(最新の補完MPUのMPUシーケンス番号を記述したファイルのファイル名)を連結して、リクエストURLを生成する。具体的には、リクエストURL生成部33Aは、“Base_URL”(例えば、“http://www.example.com/service1/”)に、“sequence_num_URL”(例えば、“sequence_number”)を連結した“http://www.example.com/service1/ sequence_number”をリクエストURLとして生成する。図8では、MPUセグメント記述子に“sequence_num_URL”に関する定義を追加したが、図3の構造を用いて“sequence_num_URL”に相当する文字列を既知のものとすることも考えられる。放送型のサービスにおいては、この文字列を予め運用仕様として定め、サービスに対応する全ての受信機において既知のものとすることが考えられる。
リクエストURL生成部33Aは、生成したリクエストURLをHTTPクライアント部35に出力する。HTTPクライアント部35は、第1の実施形態と同様に、リクエストURLにより格納先が示されるファイル(最新の補完MPUのMPUシーケンス番号を記述したファイル)をWEBサーバ20から取得する。リクエストURL生成部33Aは、このファイルを参照し、最新の補完MPUシーケンス番号の補完MPUの配信を要求するリクエストURLを生成する。
なお、本線信号のプロトコルにMMTを用いる場合、テンプレートURLの伝送方法として、上述したMPUセグメント記述子の他に、MMT_general_location_infoのlocation_type=0x05の構造を用いてもよい。この場合、テンプレートURL全体が1つの文字列として伝送される。例えば、“http://www.example.com/service1/1000kbps_segment/$Number$.m4s”が1つの文字列として伝送される。
MMT_general_location_infoでは、複数のロケーションを併記することができる。そのため、ビットレートの異なる複数の補完MPUの格納先のURLを併記してもよい。ただし、この場合、受信機30が所望のビットレートの補完MPUがどのURLに格納されるかを判断するために、テンプレートURLの文字列からビットレートを判断するための、送信側と受信側とで予め既知の規則を設ける必要がある。テンプレートURLの伝送には、MPUセグメント記述子およびMMT_general_location_infoの両方が用いられてもよいし、いずれか一方が用いられてもよい。
また、本実施形態においては、受信機30は、最新の補完MPUシーケンス番号を記述したファイルを取得し、その後、そのファイルに基づき、最新の補完MPUシーケンス番号の補完MPUを取得するためのリクエストURLを生成する例を用いて説明したが、これに限られるものではない。
例えば、WEBサーバ20は、特定のURL(例えば、“http://www.example.com/service1/1000kbps_segment/latest.m4s”)により最新の補完MPUシーケンス番号のMPUを要求するリクエストを受信機30から受信すると、最新のMPUシーケンス番号の補完MPUを受信機30に送信してもよい。こうすることで、WEBサーバ20と受信機30との間の通信を減らすことができる。この場合、WEBサーバ20に、最新の補完MPUシーケンス番号を記述したファイルを参照し、最新のMPUシーケンス番号の補完MPUを特定して、受信機30に送信する機能を搭載する必要がある。また、最新のMPUシーケンス番号を取得するためのURLについて、MPUセグメント記述子に定義を追加するか、“Base_URL”に追加する文字列をサービスの運用仕様として既知のものとする必要が考えられる。
このように本実施形態においては、受信機30Aは、放送多重分離部32が取得した基本URL情報(テンプレートURL)をキャッシュする基本URL情報キャッシュ部41(記憶部)をさらに備える。リクエストURL生成部33Aは、第1の伝送路2を介して伝送される最新のセグメントのシーケンス番号を取得することができない場合、テンプレートURLの共通部に予め定められた所定の文字列を付加した、最新の補完セグメントのシーケンス番号を記述したファイルの格納先を示すリクエストURLを生成する。また、HTTPクライアント部35は、リクエストURL生成部33Aにより生成されたリクエストURLを用いて、第2の伝送路3を介して、最新の補完セグメントのシーケンス番号を示すファイルをWEBサーバ20から取得する。
こうすることで、第1の伝送路2を介して最新のMPUシーケンス番号を取得することができない場合にも、第2の伝送路3を介して最新の補完MPUのMPUシーケンス番号を取得することができる。
(第3の実施形態)
図9は、本発明の第3の実施形態に係る受信機30Bの構成例を示す図である。図9において、図5と同様の構成については同じ符号を付し、説明を省略する。
図9に示す受信機30Bは、図5に示す受信機30と比較して、事前DNS(Domain Name System)解決部42と、事前TCP接続部43とを追加した点が主に異なる。なお、本実施形態においては、放送多重分離部32は、基本URL情報(テンプレートURL)をリクエストURL生成部33と、事前DNS解決部42と、事前TCP接続部43とに出力する。
事前DNS解決部42は、リクエストURL生成部33によるリクエストURLの生成の有無に関わらず、すなわち、受信品質の低下などによるMPUの損失の有無に関わらず、基本URL情報に示されるWEBサーバ20のドメイン名を問い合わせる名前解決リクエストを、通信インタフェース部34を経由して、DNSサーバ4に送信する。そして、事前DNS解決部42は、名前解決リクエストに応じてDNSサーバ4から取得したドメイン名をIPアドレスに変換して保存しておく。例えば、事前DNS解決部42は、“www.example.com”のようなWEBサーバ20のドメイン名を、「192.168.100.100」、「2001::35」のようなIPアドレスに変換する。
事前TCP接続部43は、リクエストURL生成部33によるリクエストURLの生成の有無に関わらず、すなわち、受信品質の低下などによるMPUの損失の有無に関わらず、基本URL情報に示されるWEBサーバ20に対してTCP接続を行い、接続状態を維持する。事前TCP接続部43は、WEBサーバ20との接続状態を維持するために、TCP接続確立後も継続して定期的な通信を行ってもよい。
事前DNS解決部42によるDNS名前解決および事前TCP接続部43によるTCP接続は、受信機30がWEBサーバ20からファイルを取得するために必要な前処理である。したがって、事前DNS解決部42および事前TCP接続部43は、リクエストURL生成部33によるリクエストURLの生成の有無に関わらず、WEBサーバ20からファイルを取得するための前処理を予め行う前処理部44を構成する。
受信機30のMPUバッファ部37には、WEBサーバ20と受信機30との通信による補完MPUの取得における遅延時間の最大値を想定した蓄積時間が必要となる。一般に、HTTPあるいはHTTPSによるファイル取得では、初めにWEBサーバ20に接続する際に、DNS名前解決、TCP接続などの複数の手続きを要する。そのため、ファイル取得の完了までに大きな遅延時間が生じる。
そこで、本実施形態のように、前処理部44により、リクエストURLの生成の有無に関わらず、WEBサーバ20からファイルを取得するための前処理を予め行うことで、リクエストURLの生成後、補完MPUの取得完了までの遅延時間を短くすることができる。その結果、MPUバッファ部37の蓄積時間も短くすることができる。
なお、図9においては、受信機30Bは、事前DNS解決部42および事前TCP接続部43の両者を備える例を用いて説明したが、これに限られるものではない。TCP接続を行うためにはDNS名前解決が必要であるため、事前TCP接続部43が事前DNS解決部42を内包していてもよい。また、受信機30Bは、事前TCP接続部43を備えず、事前DNS解決部42だけを備えた構成としてもよい。
また、WEBサーバ20からのファイル取得にHTTPSが用いられる場合、事前TCP接続部43は、SSL(Secure Sockets Layer)あるいはTLS(Transport Layer Security)の認証処理を行ってもよい。
(第4の実施形態)
図10は、本発明の第4の実施形態に係る受信機30Cの構成例を示す図である。図10において、図9と同様の構成については同じ符号を付し、説明を省略する。
図10に示す受信機30Cは、図9に示す受信機30Bと比較して、受信品質測定部45を追加した点と、事前DNS解決部42および事前TCP接続部43をそれぞれ、事前DNS解決部42Cおよび事前TCP接続部43Cに変更した点とが異なる。
受信品質測定部45は、放送インタフェース部31による、第1の伝送路2を介した放送設備10からの放送の受信品質(受信電界強度、受信CN比など)を測定し、測定結果を示す受信品質情報を事前DNS解決部42Cおよび事前TCP接続部43Cに出力する。
事前DNS解決部42Cは、受信品質測定部45により測定された受信品質が、放送サービスの視聴に必要な所定の受信品質よりも所定値だけ高い閾値を下回ると、DNS名前解決を行う。また、事前TCP接続部43Cは、受信品質測定部45により測定された受信品質が、放送サービスの視聴に必要な所定の受信品質よりも所定値だけ高い閾値を下回ると、TCP接続を行う。したがって、事前DNS解決部42Cおよび事前TCP接続部43Cは、受信品質測定部45により測定された受信品質が、放送サービスの視聴に必要な所定の受信品質より所定値だけ高い閾値を下回ると、WEBサーバ20からファイルを取得するための前処理を予め行う前処理部44Cを構成する。
第3の実施形態のように、リクエストURL生成部33によるリクエストURLの生成の有無に関わらず無条件にDNS名前解決およびTCP接続などの前処理を行う場合、補完MPUの取得が必要とならなかった場合には、これらの処理は無駄となる。その結果、例えば、受信機30の消費電力や通信量の増大を招いてしまう。
一方、本実施形態では、測定された受信品質が、放送サービスの視聴に必要な所定の受信品質よりも所定値だけ高い閾値を下回ると、DNS名前解決およびTCP接続などの前処理を行う。そのため、受信品質がある程度低下し、補完MPUの取得が必要になることが予測される場合に、DNS名前解決およびTCP接続などの前処理を行うことで、受信機30の消費電力の増大などの無駄の発生を抑制しつつ、リクエストURLの生成後、補完MPUの取得完了までの遅延時間を短くすることができる。
上述した各実施形態は適宜、組み合わせることが可能である。例えば、受信機30Bおよび受信機30Cがそれぞれ、基本URL情報キャッシュ部41およびリクエストURL生成部33Aを備えていてもよい。また、受信機30A,受信機30Bおよび受信機30Cがそれぞれ、放送インタフェース部31を内蔵せず、図6に示すように、放送インタフェース部31aが外付けされる構成を有していてもよい。
また、上述した各実施形態において、MPUバッファ部37の蓄積時間として、予めHTTPあるいはHTTPSによる補完MPUの取得に要する遅延時間を想定した固定値を設定することが考えられる。しかしながら、蓄積時間を超える遅延が生じた場合などには、状況に応じて蓄積時間を変化させてもよい。この場合、表示フレームレートを変化させず、一時的なフリーズあるいはフレームドロップを許容する方法、あるいは、表示フレームレートを動的に調整して、フリーズあるいはフレームドロップを起こさずに調整する方法を用いることが考えられる。
MPUバッファ部37の蓄積時間を動的に変化させる1つの例として、受信機30の受信機能の起動時に本線信号(第1の伝送路2を介して伝送される放送信号)を受信することができる場合には、MPUバッファ部37の蓄積時間を、補完MPUの取得を想定した蓄積時間を加えない最短の蓄積時間とし、はじめて補完MPUの取得が必要となったときに、一時的に音声・映像をフリーズさせて、補完MPUの取得に要する時間Tの分だけ、MPUバッファ部37の蓄積時間を拡張するという例が考えられる。一般に、双方向伝送路におけるファイルの取得時間は変動する。そのため、補完MPUの取得に要する時間Tに対して倍率α(≧1)を掛け合わせた、αT秒だけMPUバッファ部37の蓄積時間を拡張することも考えられる。この場合、後続の補完MPUの取得時間T’がαT以下(T’≦αT)であれば、映像・音声を再びフリーズさせてMPUバッファ部37の蓄積時間を拡張する必要が無くなる。
また、上述した各実施形態においては、WEBサーバ20からの補完MPUの取得のために双方向伝送路である第2の伝送路3で用いるプロトコルがHTTP(S)/TCPである例を用いて説明したが、これに限られるものではなく、HTTP2(HTTP version2)/TCP、HTTP2/QUIC/UDPなどのプロトコルを用いてもよい。HTTP2を用いる場合には、HTTPクライアント部35は、HTTP2に従い、WEBサーバ20と通信を行うことで、補完MPUを取得する。また、QUICを用いる場合には、TCPを用いないため、事前TCP接続部43,43Cは、事前QUIC接続を行う。また、QUICを用いる場合には、事前TCP接続部43,43Cは、TLSによる認証処理を行ってもよい。HTTP2/QUIC/UDPを用いる場合、HTTP(S)/TCPを用いる場合と比べて、ファイル取得の低遅延化を図ることができるので、MPUバッファ部37の蓄積時間を短くし、映像・音声の再生の遅延時間を低減することができる。
以上、受信機30,30A,30B,30Cについて説明したが、受信機30,30A,30B,30Cとして機能させるために、コンピュータを用いることも可能である。そのようなコンピュータは、受信機30,30A,30B,30Cの各機能を実現する処理内容を記述したプログラムを、該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。
また、プログラムは、コンピュータが読取り可能な記録媒体に記録されていてもよい。このような記録媒体を用いれば、プログラムをコンピュータにインストールすることが可能である。ここで、プログラムが記録された記録媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD−ROMおよびDVD−ROMなどの記録媒体であってもよい。
上述の実施形態は代表的な例として説明したが、本発明の趣旨および範囲内で、多くの変更および置換が可能であることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形および変更が可能である。例えば、実施形態の構成図に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。