以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(本開示の一形態を得るに至った経緯)
近年、FTTH(Fiber To The Home)/HFC(Hybrid Fiber Coaxial)等の高速ネット回線の普及により、有料放送サービス事業者が高速ネット回線を用いたIP放送サービスの提供が進みつつある。従来の放送波を介した放送の場合、一般的に、受信機がチューナにより電波強度を計測して、電波強度を数値で表示する機能を有する。一方、IP放送では、FTTHを用いる場合にはONU(Optical Network Unit)が、HFCを用いる場合にはCM(Cable Modem)が、回線信号を受信する。そして、ONU又はCMとONU又はCMより先の受信機とは、宅内のネットワーク機器による近距離回線により接続される。そのため、受信機におけるネットワーク通信の信号強度の計測は、回線信号の受信状況を表す指標としては有益でない。よって、IP放送では、受信機に流れるストリーム(IPストリーム)のパケット損失率やパケット到着揺らぎが計測され、ユーザに提示されることが望ましい。
また、パケット損失率では、例えば、A個のパケットの受信に対してB個のパケットの損失があるかが計測される。さらに、パケット損失は、一般的に非常に小さな頻度で発生するので、例えば10のマイナス何乗といった一般ユーザには理解し難い指標になり得る。
また、パケット到着揺らぎでは、例えば、C個のパケットの受信において、平均してどれくらいのパケット到着間隔であり、どのくらいパケット到着間隔が狭まったか又は広がったかが計測される。そのため、パケット到着揺らぎの値が100msecなど、一般ユーザには理解し難い指標になり得る。
以下の実施形態では、IP放送における受信データの品質を可視化し、視聴者にも事業者にも品質状態を確認し易くできるIP放送受信装置及びIP放送受信方法について説明する。
以下の実施形態のIP放送は、配信側がIPパケットを用いて自主放送(IP自主放送)を行うことを含んでよい。また、IP放送は、配信側が放送波を介して番組コンテンツを取得し、IPパケットを用いて番組コンテンツを再送信(IP再送信)することを含んでよい。
(第1の実施形態)
図1は、第1の実施形態におけるIP放送システム5の構成例を示すブロック図である。IP放送システム5は、受信機100、配信サーバ200、ルータ300、及び伝送設備400を備える。受信機100は、宅内TNに設置されてよい。宅内TNには、受信機100の他に、受信設備150及びルータ160が設置されてよい。
受信機100は、例えば、各家庭に設置されたセットトップボックスやTV放送受信機やレコーダでよい。受信機100は、配信サーバ200によりネットワークが(IPネットワーク)を介して送出された番組コンテンツのストリームのIPパケットを受信する。受信機100がセットトップボックスやレコーダの場合、受信機100は、例えばHDMI(登録商標)(High-Definition Multimedia Interface)を介して、番組コンテンツをTV放送受信機やレコーダに出力してよい。TV放送受信機は番組コンテンツを再生可能であり、レコーダは番組コンテンツを記録(例えば録画、録音、データ保存)可能である。なお、受信機100自身が、取得された番組コンテンツを再生又は記録可能でもよい。
配信サーバ200と受信機100との間は、ネットワークを介して接続される。ネットワークは、インターネットや通信事業者が敷設する閉域網やケーブルテレビ局が敷設する閉域網を含んでよい。ネットワークは、FTTHネットワーク又はHFCネットワークを含んでよい。FTTHネットワークでは、伝送設備400から加入者宅の宅内TNに設置された受信設備(光回線終端装置(V−ONU))まで、全て光ファイバを介してデータを伝送する。HFCネットワークでは、伝送設備400から光ノードまで光ファイバを介してデータを伝送し、光ノードから加入者の宅内TNまで同軸ケーブルを介してデータを伝送する。
配信サーバ200は、例えば、番組コンテンツを自主放送する事業者のセンタに設置されてよい。配信サーバ200は、IP放送用のIPパケットストリームを生成し、送出(送信)する。
配信サーバ200は、図示せぬ放送用ヘッドエンド設備から映像データを含む映像ストリーム、音声データを含む音声ストリーム、データ放送用データを含むデータ放送ストリーム、及びSI(Service Information)/PSI(Program Specific Information)データの入力を受けて多重化し、番組コンテンツのストリームを生成してよい。つまり、番組コンテンツは、映像データ、音声データ、データ放送用のデータ、SI/PSIデータを含んでよい。SI/PSIデータは、SI及びPSIの少なくとも一方を含み、番組表、字幕データ、等を含んでよい。映像データは、H.265方式(HEVC(High Efficiency Video Coding)方式)、等で符号化されてよい。音声データは、MPEG−2 AAC(Advanced Audio Coding)、MPEG−4 AAC、MPEG−4 ALS(Audio Lossless Coding)等で符号化されていてよい。ここでの多重化方式は、MMT(MPEG Media Transport)・TLV(Type Length Value)方式、等でよい。配信サーバ200は、番組コンテンツを含むストリームを送信(配信)する。
ルータ300は、伝送設備400を介して、配信サーバ200から受信機100へのストリームの伝送を中継する。ルータ300は、接続されるネットワークのネットワーク状況を基に、経路選択を行って、ストリームを伝送してよい。選択される経路によって、IPパケットが受信側に不達となるパケット損失(パケット欠損)が生じたり、IPパケットが受信側に到着するタイミングが遅れるパケット到着遅延やパケット到着揺らぎが生じたりし得る。なお、パケット到着遅延は、定常的な遅延を含む。ネットワーク上では同じ機器が使用されるので、同じ遅延が発生する。この遅延が揺らいでいることが、パケット到着揺らぎとなる。
伝送設備400は、配信サーバ200からルータ300を介して取得された電気信号を光信号に変換し、ネットワークを介して受信設備150へ送信する。ネットワークがFTTHネットワークである場合、伝送設備400はOLT(Optical Line Terminal)でよい。ネットワークがHFCネットワークである場合、伝送設備400はCMTS(Cable Modem Termination System)でよい。
受信設備150は、ネットワークを介して伝送設備400から取得された光信号を電気信号に変換し、ルータ160を介して受信機100へ送信する。ネットワークがFTTHネットワークである場合、受信設備150はONU(Optical Network Unit)でよい。ネットワークがHFCネットワークである場合、受信設備150はCM(Cable Modem)でよい。
ルータ160は、受信設備150を介して、配信サーバ200から受信機100へのストリームの伝送を中継する。ルータ160は、ネットワークのネットワーク状況を基に、経路選択を行って、ストリームを伝送してよい。
受信機100は、制御部102、IP通信部104、クロック105、デマルチプレクサ106、映像デコーダ108、音声デコーダ110、データ処理部112、IPログ蓄積部114、IPデータ分析部116、及び表示部118を備える。
制御部102は、受信機100の各部を制御する。例えば、制御部102は、IP通信部104による通信を制御してよい。制御部102は、IPログ蓄積部114への情報蓄積を制御してよい。制御部102は、IPデータ分析部116によるデータ分析を補助してよい。制御部102は、表示部118により表示するための制御や演算を行う。
IP通信部104は、IPパケットを用いてデータを通信する。IP通信部104は、配信サーバ200からの番組コンテンツのストリームを受信し、デマルチプレクサ106に送る。クロック105は、ストリームにおけるIPパケットを受信した受信時刻を計時する。計時された受信時刻は、IPログ蓄積部114に蓄積されてよい。
デマルチプレクサ106は、IP通信部104からの多重化して生成された番組コンテンツのストリームを、複数のストリームに分割する。具体的には、デマルチプレクサ204は、番組コンテンツのストリームを、映像ストリーム、音声ストリーム、データ放送ストリーム、及びSI(Service Information)/PSI(Program Specific Information)データに分割する。デマルチプレクサ106による分割方式は、配信サーバ200のマルチプレクサの多重化方式に対応する方式でよい。
映像デコーダ108は、デマルチプレクサ106からの映像ストリームを取得し、映像ストリームの映像データをデコード(復号化)する。音声デコーダ110は、デマルチプレクサ106からの音声ストリームを取得し、音声ストリームの音声データをデコードする。データ処理部112は、デマルチプレクサ106からのデータ放送ストリームを取得し、データ放送ストリームのデータ放送データをデコードする。データ処理部112は、デマルチプレクサ106からのSI/PSIデータを取得する。SI/PSIデータは、番組管理データを含み、例えばEPG(Electronic Program Guide)、字幕データを含んでよい。
IPログ蓄積部114は、IP通信部104により受信されたストリームに含まれるIPパケットの受信に関する情報を含むパケット受信情報を取得し、蓄積する。パケット受信情報は、受信ログとして機能するので、受信ログとも称される。受信ログは、各構成部(例えばIPデータ分析部116)に参照される。パケット受信情報つまり受信ログには、計時された受信情報も含まれてよい。
IPデータ分析部116は、IPログ蓄積部114に蓄積された受信ログを取得し、受信ログに基づくデータ分析を行う。データ分析は、IPパケットの受信に係る受信品質の分析を含む。受信品質は、パケット損失に関するパケット損失情報(例えばパケット損失率)、パケットの受信(到着)の揺らぎに関するパケット到着揺らぎ情報(例えばパケット到着揺らぎ値)、その他の受信品質を含んでよい。
表示部118は、各種データを表示する。表示部118は、データ分析の結果に基づく情報を表示してよい。例えば、表示部118は、受信品質を示す情報を表示してよい。
次に、チャネルの選局の一例について説明する。
IP通信部104は、受信機100の起動時に、チャネルを選局し、番組コンテンツを受信してよい。この場合、受信機100が起動すると、制御部102は、IP通信部104に対して、選局対象のチャネルを示すIPマルチキャストのマルチキャストアドレスを指定した選局指示を送る。IP通信部104は、指定されたマルチキャストアドレスに対するjoinメッセージ(例えばIGMP(Internet Group Management Protocol)joinメッセージ)を上位のネットワーク装置(例えば配信サーバ200)に送信し、上位のネットワーク装置からIPマルチキャストストリームを受信する。IPマルチキャストストリームは、ストリームの一例である。
また、IP通信部104は、受信機100によるチャネル選局指示を受けた場合に、チャネルを選局し、番組コンテンツを受信してよい。この場合、制御部102は、図示しないリモコン制御、予約録画、又は予約視聴制御によりチャネル選局指示を受けると、図示しないチャネルとIPマルチキャストアドレスの対応表とを基に、選局指示されたチャンネルに対応するIPマルチキャストアドレスを導出し、IP通信部104に対して選局変更指示を送る。選局変更指示を受けたIP通信部104は、現在受信しているIPマルチキャストから離脱するため、上位ルータ(例えばルータ160)に対して例えばIGMPリーブグループメッセージを送信する。その後、IP通信部104は、新しい選局対象のIPマルチキャストアドレスに対するjoinメッセージを送信し、該当するIPマルチキャストストリームを受信する。なお、上記の対応表の情報とは、受信機100が備えるメモリ(不図示)に保持されていてよい。
次に、受信ログの蓄積の一例について説明する。
IP通信部104は、例えば制御部102からの受信ログの蓄積指示を基に、IPログ蓄積部114へ受信ログを蓄積させてよい。
制御部102は、受信機100の主電源が入っている期間において、常時、蓄積指示を行ってよい。つまり、制御部102は、受信機100の主電源がオンの期間(電源が投入されている期間、受信機100が動作可能な期間)に、選局指示及び受信ログの蓄積指示をIP通信部104に送ってよい。受信機100は、受信ログを常時蓄積することで、受信品質としてのパケット損失の発生確率が小さくても、パケットの監視時間を長く確保できるので、パケット損失を検出し易くできる。
また、制御部102は、受信機100の主電源が入っているが起動していない期間(番組コンテンツが視聴又は録画されていない期間)において、受信ログの蓄積指示を行ってよい。その後、リモコン操作等で視聴状態又は録画状態になった場合、つまり受信機100がリモコン操作信号を受けて番組コンテンツの再生や録画を開始した場合、制御部102は、受信ログの蓄積停止指示をIP通信部104に送ってよい。
また、制御部102は、受信機100の主電源が入っており起動している期間(番組コンテンツが使用又は録画されている期間)において、受信ログの蓄積指示をIP通信部104に送ってよい。
図2は、受信機100による受信ログを蓄積する場合の動作例を示すフローチャートである。なお、受信機100のメモリがログ蓄積フラグを保持しており、ログ蓄積フラグの初期状態はオフである。
IP通信部104は、受信機100の他の構成部や受信機100以外の装置から指示を受信する(S101)。IP通信部104は、受信した指示が受信ログの蓄積指示であるか否かを判定する(S102)。
IP通信部104は、受信した指示が受信ログの蓄積指示である場合、ログ蓄積フラグをオンに設定する(S103)。
IP通信部104は、ログ蓄積テーブルT1の該当する項目に、オールゼロのレコードに追加する(S104)。オールゼロのレコードとは、ログ蓄積テーブルT1が保持する全ての項目に値0が設定されたデータ(ログ蓄積テーブルT1の1行分のデータ)である。なお、0以外の値が設定されてもよく、具体的な受信ログの情報が蓄積されるレコードと区別可能であればよい。
IP通信部104は、後述するログ蓄積処理を行う(S105)。
S102において受信した指示が受信ログの蓄積指示でない場合、IP通信部104は、受信した指示が受信ログの蓄積停止指示であるか否かを判定する(S106)。受信した指示が受信ログの蓄積停止指示である場合、IP通信部104は、受信ログの蓄積フラグをオフに設定する(S107)。そして、IP通信部104は、IPログ蓄積部114が有するログ蓄積テーブルT1に受信ログの蓄積を停止させる(S108)。
S106において受信した指示が受信ログの蓄積停止指示でない場合、IP通信部104は、受信した指示が選局指示であるか否かを判定する(S109)。受信した指示が選局指示である場合、IP通信部104は、ログ蓄積フラグがオンに設定されているかオフに設定されているかを判定する(S110)。
ログ蓄積フラグがオンに設定されている場合、IP通信部104は、受信ログの蓄積停止するよう、パケット受信情報のIPログ蓄積部114への送信を停止する(S111)。IP通信部104は、ログ蓄積テーブルT1に、オールゼロのレコードを追加する(S112)。制御部102は、選局指示により指示されたチャネルを選局する(S113)。つまり、受信機100は、前回選局されていたチャネルの受信ログをオールゼロのレコードで仕切り、今回選局されるチャネルの受信ログを蓄積するための準備ができる。より具体的には、受信機100には、選局して元のマルチキャストからリーブすると、選局するまでの間はパケットが届かない。この場合でも、受信機100は、選局切り替えの際にオールゼロを挿入することで、パケット損失が発生したと誤認することを抑制できる。
IP通信部104は、後述するログ蓄積処理を行う(S114)。ここでのログ蓄積処理では、IP通信部104は、選局されたチャネルのストリームの受信に関するパケット受信情報(受信ログ)を蓄積するよう、パケット受信情報をIPログ蓄積部114へ送り、蓄積させる。
S110においてログ蓄積フラグがオフに設定されている場合、IP通信部104は、選局指示に応じた選局を行う。
図3は、ログ蓄積処理の一例を示すフローチャートである。
IP通信部104は、ストリームのIPパケット(例えばRTP(Real-time Transport Protocol)パケット)を受信する(S201)。RTPパケットには、IPヘッダ、UDPヘッダ、RTPヘッダが含まれる。RTPパケットには、例えば、7つ分のTS(TS:Transport Stream)パケット、TTS(TTS:Timestamped Transport Stream)パケット、TLVをTSパケットと同じサイズで等間隔に分割した分割TLV(Type Length Value)パケット、又はタイムスタンプ付きTLVパケットが含まれる。
IP通信部104は、S201においてIPパケットを受信した時刻(パケット受信時刻、計時された受信時刻)を、クロック105から取得する(S202)。また、IP通信部104は、受信したIPパケットのヘッダに含まれる送信元IPマルチキャストアドレスを取得する。IP通信部104は、受信したIPパケットからUDPパケットを取り出し、UDPパケットのペイロードに含まれるRTPパケットのヘッダから、タイムスタンプ及びシーケンス番号を取得する。
IP通信部203は、パケット受信情報をIPログ蓄積部114に送る(S203)。パケット受信情報は、パケット受信時刻、送信元IPマルチキャストアドレス、タイムスタンプ(RTPタイムスタンプ)及びシーケンス番号の情報を含んでよい。パケット受信情報は、上記以外の情報を含んでよい。パケット受信情報の少なくとも一部が、受信ログとなる。
IP通信部104は、制御部102から受信ログの蓄積停止指示を受けたか否かを判定する(S204)。IP通信部104は、蓄積停止指示を受けていない場合、S201に進む。一方、IP通信部104は、蓄積停止指示を受けた場合、図3の処理を終了する。
このような受信ログを蓄積する場合の動作によれば、受信機100は、ストリームに含まれるIPパケットの受信に関するパケット受信情報を、蓄積できる。パケット受信情報は受信ログとして参照可能であり、受信品質等のデータ分析に利用可能である。
図4は、ログ蓄積テーブルTB1(TB11)に蓄積された情報の一例を示す図である。
ログ蓄積テーブルTB1は、受信ログ(パケット受信情報)を蓄積する。受信ログは、レコード番号(No.)、到着時刻、IPアドレス、RTPタイムスタンプ、シーケンス番号、の各項目を含んでよい。到着時刻は、パケット受信時刻に相当する。IPアドレスは、送信元IPマルチキャストアドレスに相当する。IPアドレスは、例えば、IPv4のIPアドレスでもよいし、IPv6のIPアドレスでもよい。RTPタイムスタンプは、RTPパケットのヘッダに含まれるタイムスタンプに相当する。シーケンス番号は、RTPパケットのヘッダに含まれるシーケンス番号に相当する。
図4では、レコード番号100番の位置にオールゼロが挿入され、レコード番号100番の前後でIPアドレスの末尾の数字が「23」から「24」に変化している。つまり、レコード番号100番の前後で、選局されたチャネルが変化したことを示している。
図4では、6Mbpsのストリームが175466ナノ秒に1回の割合で、定常的にIPパケットが届くことを示している。また、図4では、IPパケットの受信においてパケット損失やパケット到着揺らぎ等の損失や遅延が発生していない。
次に、受信ログに基づくデータ分析について説明する。
図5は、受信機100による受信ログに基づくデータ分析を行う場合の動作例を示すフローチャートである。このデータ分析は、所定のタイミングでよい。データ分析は、定期的に行われてよく、例えばn日に一回、定時に行われてよい。また、ユーザ操作によりデータ分析の指示を行うリモコンから、データ分析の指示を受けた場合に、行われてよい。
IPデータ分析部116は、IPログ蓄積部114から受信ログに含まれるデータを取得する(S301)。ログデータは、ログ蓄積テーブルTB1に蓄積された情報の少なくとも一部である。IPデータ分析部116は、取得されたログデータに基づいて、パケット損失演算処理を実行する(S302)。パケット損失演算処理の詳細については後述する。IPデータ分析部116は、取得されたログデータに基づいて、パケット到着揺らぎを演算する(S303)。パケット到着揺らぎの演算処理の詳細については後述する。IPデータ分析部116は、パケット損失率及びパケット到着揺らぎの少なくとも一方の演算結果を、後述する結果管理テーブルTB3に記憶させる(S304)。
図6は、ログ蓄積テーブルTB1(TB12)に蓄積された情報の一例を示す図である。図6では、パケット損失が発生していることを例示する。図6では、6番目(レコード番号No6)のシーケンス番号(23428)と7番目(レコード番号No7)のシーケンス番号(23430)との間に、不在のシーケンス番号(23429)が存在する。つまり、1つ分のパケット損失が発生していることを示す。
図7は、パケット損失演算処理の一例を示すフローチャートである。なお、パケット登録番号を示す変数i、比較シーケンス番号、エラーパケット数、総パケット数、の情報は、受信機100のメモリに保持されてよい。パケット登録番号は、ログ蓄積テーブルTB1におけるレコード番号に対応する。
IPデータ分析部116は、変数i、比較シーケンス番号、エラーパケット数、総パケット数、のそれぞれの値を初期化し、初期値=0を設定する(S401)。IPデータ分析部116は、i番目のデータがあるか否かを判定する(S402)。i番目のデータがある場合、i番目のデータ(例えば受信ログの「到着時刻」、「IPアドレス」、「RTPタイムスタンプ」、「シーケンス番号」のうち少なくとも1つの情報)を取得する(S403)。
IPデータ分析部116は、取得されたi番目のデータがオールゼロであるか否かを判定する(S404)。i番目のデータがオールゼロである場合、IPデータ分析部116は、比較シーケンス番号をクリアし、つまり比較シーケンス番号に初期値0を設定する(S405)。そして、IPデータ分析部116は、変数iをインクリメントし、値1を加算する(S411)。S411の後、S402に進む。
S404においてi番目のデータがオールゼロでない場合、IPデータ分析部116は、総パケット数をインクリメントし、値1を加算する(S406)。比較シーケンス番号があるか、つまり比較シーケンス番号が値1以上であるか否かを判定する(S407)。比較シーケンス番号が値1未満、つまり比較シーケンス番号が初期値0(クリアされた状態)である場合、比較シーケンス番号をi番目のデータのシーケンス番号とする(S408)。そして、IPデータ分析部116は、変数iをインクリメントし、値1を加算する(S411)。
S407において比較シーケンス番号が値1以上である場合、IPデータ分析部116は、i番目のデータのシーケンス番号と比較シーケンス番号に値1を加算した値とが等しいか否かを判定する(S409)。i番目のデータのシーケンス番号と比較シーケンス番号に値1を加算した値とが等しい場合、IPデータ分析部116は、比較シーケンス番号をインクリメントし、値1を加算する(S410)。そして、IPデータ分析部116は、変数iをインクリメントし、値1を加算する(S411)。
S409においてi番目のデータのシーケンス番号と比較シーケンス番号に値1を加算した値とが等しくない場合、IPデータ分析部411は、i番目のデータのシーケンス番号から、比較シーケンス番号に値1を加算した値を減算して、減算値を得る。つまり、減算値=i番目のデータのシーケンス番号−(比較シーケンス番号+1)である。IPデータ分析部411は、エラーパケット数に、上記の減算値を加算する(S412)。そして、IPデータ分析部116は、比較シーケンス番号をi番目のデータのシーケンス番号とする(S408)。そして、IPデータ分析部116は、変数iをインクリメントし、値1を加算する(S411)。
S402においてi番目のデータが無い場合、つまり、ログ蓄積テーブルTB1に蓄積された残りのレコードが存在しない場合、IPデータ分析部166は、エラーパケット数及び総パケット数に基づいて、パケット損失率を算出する(S413)。具体的には、以下の式(1)に従ってパケット損失率を算出してよい。
パケット損失率(%)=(エラーパケット数/総パケット数)×100 …(1)
図6に示された受信ログのデータがログ蓄積テーブルTB1に保持されているとする。レコード番号に対応するi=0の場合、データがオールゼロなので、S404からS405に進む。i=1の場合、データがオールゼロでなく、比較シーケンス番号は値0であるので、S404からS406に進み、S407からS408に進む。i=2,3,4,5,6の場合、データがオールゼロでなく、比較シーケンス番号は値0でなく、S409の条件を満たすので、S404からS406に進み、S407からS409に進み、S409からS410に進む。この場合、シーケンス番号が連続する番号となっているので、受信機100は、パケット損失が発生していないと判別できる。i=7の場合、データがオールゼロでなく、比較シーケンス番号は値0でなく、S409の条件を満たさないので、S404からS406に進み、S407からS409に進み、S409からS412に進む。この場合、シーケンス番号が連続する番号となっていないので、受信機100は、パケット損失が発生していると判別できる。8番目のレコード(i=8)は存在しないため、S402からS413に進む。つまり、この場合のパケット損失率は、(1/8)×100=12.5%となる。
このようなパケット損失演算処理によれば、受信機100は、簡単な演算処理により、受信品質の一例であるパケット損失の有無やパケット損失率を導出できる。受信機100は、パケット損失率に基づいて受信品質を分かり易く表示することで、視聴者にも事業者にも品質状態を確認し易くできる。
図8は、ログ蓄積テーブルTB1(TB13)に蓄積された情報の一例を示す図である。図8では、パケット到着揺らぎが発生していることを例示する。図8の到着時刻を参照すると、レコード番号No3以外のIPパケットは、1,754,666nsec間隔でパケットが到着しているが、レコード番号No3のIPパケットは、1,754,666nsecの2倍の3,509,332nsec間隔で到着している。ここでは、配信側においてIPパケットが同等の時間間隔で送出されているが、受信側においてIPパケットを受信する間隔が一定でなく、揺らぎが発生していることが理解できる。
図9は、パケット到着揺らぎ演算処理の一例を示すフローチャートである。なお、パケット登録番号を示す変数i、比較到着時刻、総パケット数、の情報は、受信機100のメモリに保持されてよい。パケット登録番号は、ログ蓄積テーブルTB1におけるレコード番号に対応する。
IPデータ分析部116は、変数i、比較到着時刻、総パケット数、のそれぞれを初期化する(S501)。この場合、変数i及び総パケット数を初期値=0に設定し、比較到着時刻に初期値を設定する。IPデータ分析部116は、i番目のデータがあるか否かを判定する(S502)。i番目のデータがある場合、i番目のデータ(例えばログ蓄積テーブルTB1の「到着時刻」、「IPアドレス」、「RTPタイムスタンプ」、「シーケンス番号」のうち少なくとも1つの情報)を取得する(S503)。
IPデータ分析部116は、取得されたi番目のデータがオールゼロであるか否かを判定する(S504)。i番目のデータがオールゼロである場合、IPデータ分析部116は、比較到着時刻を初期化し、つまり比較到着時刻に初期値0を設定する(S505)。比較到着時刻の初期値は0以外の値であってもよい。そして、IPデータ分析部116は、変数iをインクリメントし、値1を加算する(S511)。
S504においてi番目のデータがオールゼロでない場合、IPデータ分析部116は、総パケット数をインクリメントし、値1を加算する(S506)。IPデータ分析部116は、比較到着時刻があるか、つまり比較到着時刻があるか否か、つまり初期値以外であるか否かを判定する(S507)。比較到着時刻が初期値である場合、比較到着時刻をi番目のデータの到着時刻とする(S508)。そして、IPデータ分析部116は、変数iをインクリメントし、値1を加算する(S511)。
S507において比較到着時刻が初期値以外である場合、IPデータ分析部116は、i番目のデータの到着時刻と比較到着時刻との差を、到着時刻間隔として算出する(S509)。IPデータ分析部116は、算出された差(到着時刻間隔)の情報を、到着間隔テーブルTB2(例えば図10参照)に保持させる(S510)。そして、IPデータ分析部116は、変数iをインクリメントし、値1を加算する(S511)。
図10は、到着間隔テーブルTB2の一例を示す図である。到着間隔テーブルTB2では、登録順に付与される登録番号と、到着時刻間隔と、の項目が保持され、その他の情報が保持されてもよい。図10の場合、2番目(登録番号No2)の到着時刻間隔が最大の到着時刻間隔であり、その値は3,509,332である。2番目以外(登録番号No1,3,4,5,6)の到着時刻間隔が最小の到着時刻間隔であり、その値は1,754,666である。つまり、受信されるIPパケットによって到着時刻の間隔にばらつきがあることが理解できる。
S502においてi番目のデータが無い場合、つまり、ログ蓄積テーブルTB1に蓄積された残りのレコードが存在しない場合、IPデータ分析部166は、パケット到着揺らぎ(ジッタ)の値(揺らぎ量)を算出する(S512)。パケット到着揺らぎは、公知の方法に従って算出されてよい。
IPデータ分析部166は、RFC(Request for Comments)3550に従う場合、送信装置(ここでは配信サーバ200)と受信装置(ここでは受信機100)との通信において受信されたIPパケットのRTPタイムスタンプSiと到着時刻Riとに基づいて、パケット到着揺らぎ(ジッタ)を算出してよい。
RFC3500では、式(2)によってジッタJ(i)が算出されてよい。図11は、ジッタの算出例を説明するための図である。
J(i)=J(i−1)+(|D(i−1,i)|−J(i−1))/16 …(2)
なお、D(i,j)=(Rj−Ri)−(Sj−Si)である。
IPデータ分析部166は、ITU−T Rec.Y1541に従う場合、受信されたIPパケットのRTPタイムスタンプを用いずに、到着時刻に基づいて、パケット到着揺らぎ(ジッタ)を算出してよい。例えば、パケット到着揺らぎは、最大の到着時刻間隔と最小の到着時刻間隔との差分として算出されてよい。
したがって、ITU−T Rec.Y1541に従う場合、図10に示す到着間隔テーブルTB2に保持された情報が得られている場合、パケット到着揺らぎは、以下のようになる。
パケット到着揺らぎ=最大の到着時刻間隔−最小の到着時刻間隔
=3,509,332−1,754,666
=1,754,666(nsec)
≒1.7(msec)
図9に示された受信ログのデータがログ蓄積テーブルTB1に保持されているとする。レコード番号に対応するi=0の場合、データがオールゼロなので、S504からS505に進む。i=1の場合、データがオールゼロでなく、比較到着時刻は初期値であるので、S504からS506に進み、S507からS508に進む。i=2,3,4,5,6,7の場合、データがオールゼロでなく、比較到着時刻は初期値でないので、S504からS506に進み、S507からS508に進む。8番目のレコード(i=8)は存在しないため、S502からS512に進み、パケット到着揺らぎが算出される。この場合のパケット到着揺らぎは、ITU−T Rec.Y1541に従う場合には、上述のように、約1.7(msec)となる。
なお、ITU−T Rec.Y1541に従う場合、パケット到着揺らぎの算出において、RTPタイムスタンプの情報を用いない。この場合、RTPタイムスタンプが不要となる。
このようなパケット到着揺らぎ演算処理によれば、受信機100は、簡単な演算処理により、受信品質の一例であるパケット到着揺らぎを示す値を導出できる。受信機100は、パケット到着揺らぎを示す値に基づいて受信品質を分かり易く表示することで、視聴者にも事業者にも品質状態を確認し易くできる。
図12は、結果管理テーブルTB3に蓄積された情報の一例を示す図である。
結果管理テーブルTB3は、分析日時、ログ開始日時、ログ終了日時、総パケット数、パケット損失率、パケット到着揺らぎ、の各項目を含む。分析日時は、図5の動作が実行された日時でよい。ログ開始日時は、分析対象となったデータがログ蓄積テーブルTB1に登録された日時のうち、最初のデータの登録日時でよい。ログ終了日時は、分析対象となったデータがログ蓄積テーブルTB1に登録された日時のうち、最後のデータの登録日時でよい。総パケット数は、図7のパケット損失演算処理及び図9のパケット到着揺らぎ演算処理で用いられる総パケット数でよい。パケット損失率は、図7のパケット損失演算処理の結果得られたパケット損失率でよい。パケット到着揺らぎは、図9のパケット到着揺らぎ演算処理の結果得られたパケット到着揺らぎでよい。なお、結果管理テーブルTB3には、パケット損失やパケット到着揺らぎ以外の受信品質を示す指標が導出されて登録されてもよい。
次に、表示部118による表示について説明する。
表示部118は、パケット損失演算処理の結果得られたパケット損失率に基づく情報を表示する。表示部118は、パケット到着揺らぎ演算処理の結果得られたパケット到着揺らぎに基づく情報を表示する。ここで、パケット損失率やパケット到着揺らぎの値をそのまま表示しても、ユーザが理解し難いので、ユーザに理解し易い形式で情報を表示する。例えば、パケット到着揺らぎが1.7msecである、パケット損失が0.000001である、等の表示では、欠損が多いのか、パケット到着揺らぎが大きいのか、等をユーザが理解し難い。なお、表示を行うための演算や制御は、制御部102によって行われてよい。
本実施形態では、IPパケットの受信品質(ネットワーク品質)をユーザが理解し易いように、受信品質の情報を表示する。受信品質は、パケット損失率、パケット到着揺らぎ、パケット入れ替え、パケット到達遅延、等を含んでよい。パケット入れ替えは、IP通信部104により受信されたIPパケットの受信順序が入れ替わることである。パケット到達遅延は、IP通信部104によるIPパケットの受信時刻が、送信時刻から想定される受信予定時刻よりも遅延することである。
制御部102は、1つ以上の閾値th(th1、th2、・・・)を設けて、パケット損失率やパケット到着揺らぎを評価してよい。表示部118は、この評価結果を表示してよい。評価結果は、一例として、最良、良好、不良、その他の評価を含んでよい。評価結果は、例えば文字情報で表示されてもよいし、図形情報により表示されてもよい、LEDの点灯や点滅の色により示されてよい。図形情報は、顔のイラスト情報を含んでよく、最良が笑顔、良好が普通顔、不良が泣き顔、等で表現されてよい。
例えば、閾値th1を10−4、閾値th2を10−3としてよい。制御部102は、0≦パケット損失率<th1を満たす場合、受信品質が最良であると評価してよい。制御部102は、th1≦パケット損失率<th2を満たす場合、受信品質が良好であると評価してよい。制御部102は、th2≦パケット損失率を満たす場合、受信品質が不良であると評価してよい。
例えば、閾値th3を100msec、閾値th4を200msecとしてよい。制御部102は、0≦パケット到着揺らぎ<th3を満たす場合、受信品質が最良であると評価してよい。制御部102は、th3≦パケット到着揺らぎ<th4を満たす場合、受信品質が良好であると評価してよい。制御部102は、th4≦パケット損失率を満たす場合、受信品質が不良であると評価してよい。
これにより、パケット損失率が「0.00000001」等となり、一般ユーザが受信品質を実感することが困難であっても、受信品質を理解し易くなる。
また、制御部102は、具体的なパケット損失率やパケット到着揺らぎの値において、この値に含まれる文字列(数字、文字、小数点、単位、同一の数字の連続する数、等)を、この文字列に対応する他の文字列に置換してよい。文字列は、1つの数字、文字、小数点、単位、等であってもよい。例えば、「0」が「A」、「1」が「B」、「2」が「C」、・・・、等に置換されてよい。小数点「.」が「X」に置換されてよい。同一の数字の連続数がこの連続数を示す数字に置換されてよい。この場合、以下のように置換され得る。
「0.0000001」→「AX6AB」
「200」→「C2A」
これにより、パケット損失率が「0.00000001」等となり、桁数が多い場合や0の連続数が多い場合でも、受信機100は、ユーザが0の数を誤認することを抑制できる。なお、制御部102は、パケット到着揺らぎの値に含まれる一部の情報を、パケット損失率と同様に、他の文字列に置換してもよい。
図13は、表示部118による受信品質の表示例を示す図である。受信品質は、パケット損失に関するパケット損失情報(例えばパケット損失率)、パケット到着揺らぎに関するパケット到着揺らぎ情報(例えばパケット到着揺らぎ率)、を含んでよい。図13では、表示部118は、パケット損失情報及びパケット到着揺らぎ情報についての評価情報(最良、不良等)と、パケット損失率及びパケット到着揺らぎ率を示す他の文字列に置換された情報(AX6AB、C2A等)と、を表示している。なお、図13では、評価情報と他の文字列に置換された情報との双方が同時に表示されることを例示しているが、いずれか一方が表示されてもよい。
このように、IP放送システム5では、受信機100は、IP放送の受信品質を受信強度ではなく、ストリームのIPパケットがどのくらいの確率で欠損しているか、どのくらいの頻度で遅延しているかを示す情報を導出する。したがって、放送波を介したストリームの受信品質(受信強度)と比較すると、別の指標で示される。FTTHネットワークの場合、電気信号の信号強度を測定可能であり、受信機100の前段の受信設備150(ONU)で測定可能であるが、受信設備150より受信された光信号の光強度を検出しても、どのくらいデータが欠損しているかを正確に把握することは困難である。これに対し、本実施形態の受信機100は、IPパケットの受信状況でパケット損失等の受信品質を導出するので、受信品質の判定精度を向上できる。また、受信機100は、パケット到着揺らぎに起因する影響(例えば、IPパケットに基づく出画が所定時刻に追いつかずに出画停止やブロックノイズの出現が発生すること)がどの程度となるかを、ユーザに分かり易く提示できる。
また、パケット損失は稀であるためパケット損失率は非常に小さい値(例えば0.0000001)となり易い。この数値が表示される場合、このパケット損失率が大きいか小さいかを一般のユーザが判断するのは困難である。これに対し、受信機100は、受信品質を一般のユーザに分かり易い形式(例えば、閾値thに基づく受信品質の評価情報、他の文字列に置換された情報)で、視聴者や事業者に可視化できる。
なお、IP通信部104は、IPログ蓄積部114に蓄積された受信ログやIPデータ分析部116により分析された分析結果を、外部サーバに送信してもよい。例えば、IPログ通知部としてのIP通信部104が、図4に記載した受信ログ又は図12に記載した結果管理テーブルTB3のデータを、外部サーバとしてのログ収集サーバに送信してもよい。送信タイミングは、例えば1日1回固定時刻でもよいし、IPデータ分析部116が結果管理テーブルTB3を生成したタイミングでもよい。送信方法としては、例えばHTTPのPOSTメッセージに乗せて送信してもよい。
IP通信部104は、受信ログを分析せずに、受信ログに含まれる情報の少なくとも一部を外部サーバに送信してよい。この場合、外部サーバが、受信ログに基づいて受信品質を導出(例えば算出)し、表示等を行ってよい。また、IP通信部104は、受信品質を示す値(例えばパケット損失率やパケット到着揺らぎを示す値)を外部サーバに送ってもよい。この場合、サーバが、受信品質を示す値を基に、受信品質を示す情報(例えば評価結果の情報、他の文字列に置換された情報)を生成し、表示等してよい。また、IP通信部104は、受信品質を示す情報を外部サーバに送ってもよい。この場合、サーバが、受信品質を示す情報を表示等してよい。このように、受信機100と外部サーバとが連携して、受信ログや受信品質の出力に関する処理を行ってよい。外部サーバは、IP放送システム5に含まれてよい。また、送信機50は複数存在してよい。受信機100は複数存在してよい。
以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
上記実施形態では、表示例として閾値を用いて受信品質を評価したり、小数点や同一の数字の連続数等を、対応する他の文字列に置換したりすることで、受信品質を示す情報を表示することを例示したが、その他の方法により受信品質を示す情報を表示してよい。例えば、制御部102は、受信品質の数値化ルールを定め、棒グラフにして表示させてよい。例えば、想定される最低の受信品質が値0、最高の受信品質が値100となるように、受信品質を調整(例えば線形に調整)し、棒グラフ等で表示させてよい。
上記実施形態では、データ放送に関する処理が省略されてもよい。つまり、配信サーバ200によるデータ放送のデータやデータ放送のストリームに関する処理、受信機100によるデータ放送のデータやデータ放送のストリームに関する処理が省略されてもよい。
上記実施形態では、図1等に示したIP放送システム5の各構成部を専用のハードウェアで構成してもよいし、汎用のハードウェアを用いてソフトウェアにより各構成部の機能を実現してもよい。専用のハードウェアや汎用のハードウェアは、各種のプロセッサを含んでよい。
上記実施形態では、プロセッサは、物理的にどのように構成してもよい。また、プログラム可能なプロセッサを用いれば、プログラムの変更により処理内容を変更できるので、プロセッサの設計の自由度を高めることができる。プロセッサは、1つの半導体チップで構成してもよいし、物理的に複数の半導体チップで構成してもよい。複数の半導体チップで構成する場合、第1の実施形態の各制御をそれぞれ別の半導体チップで実現してもよい。この場合、それらの複数の半導体チップで1つのプロセッサを構成すると考えることができる。また、プロセッサは、半導体チップと別の機能を有する部材(コンデンサ等)で構成してもよい。また、プロセッサが有する機能とそれ以外の機能とを実現するように、1つの半導体チップを構成してもよい。
以上のように、本実施形態のIP放送受信装置(例えば受信機100)は、IPパケットを用いてストリーム(例えば番組コンテンツのストリーム)を受信する。受信装置は、受信部(例えばIP通信部104)、取得部(例えばIPデータ分析部116)、算出部(例えばIPデータ分析部116)、生成部(例えば制御部102)、及び表示部(例えば表示部118)を備えてよい。受信部は、ネットワークを介してストリームを受信してよい。取得部は、ストリームにおける複数のIPパケットの受信に関するパケット受信情報を取得してよい。算出部は、パケット受信情報に基づいて、ストリームの受信品質を示す値を算出してよい。生成部は、受信品質を示す値を加工して、受信品質を示す情報を生成する生成してよい。表示部は、受信品質を示す情報を表示してよい。
これにより、IP放送受信装置は、パケット受信情報を基に、IPパケットが伝送されるネットワーク品質をより的確に表現する受信品質の値を導出できる。また、IP放送受信装置は、受信品質の値をそのまま表示するのではなく、受信品質の値を加工して表示することで、ユーザに分かり易い形式で受信品質を提示できる。したがって、したがって、IP放送受信装置は、IP放送における受信データの品質を可視化し、視聴者にも事業者にも品質状態を確認し易くできる。
また、生成部は、受信品質を示す値に含まれる文字列を、文字列に対応する他の文字列に置換して、受信品質を示す情報を生成してよい。
これにより、IP放送受信装置は、例えば受信品質が桁数の多い値として導出された場合でも、ユーザが受信品質を誤認識し難い形式で、受信品質を提示できる。
また、生成部は、受信品質を示す値と閾値thとを比較して、比較の結果に応じて受信品質を示す情報を生成してよい。
これにより、IP放送受信装置は、閾値thを基に受信品質を評価し、この評価を認識し易い形式で提示できる。よって、視聴者等のIPパケットの品質を見慣れていないユーザであっても、受信品質を容易に理解できる。
また、取得部は、受信部によりストリームにおける複数のIPパケットが受信された時刻が計時された計時受信時刻を取得してよい。受信品質は、複数の連続するIPパケットが受信部に受信された時刻のばらつきを示すパケット到着揺らぎを含んでよい。算出部は、計時受信時刻に基づいて、パケット到着揺らぎを示す値を算出してよい。
これにより、IP放送受信装置は、パケット揺らぎの情報を視聴者にも事業者にも確認し易く提示できる。
また、取得部は、ストリームにおける複数のIPパケットに含まれる複数のタイムスタンプ(例えばRTPタイムスタンプ)を取得してよい。算出部は、取得された複数のタイムスタンプに基づいて、前記パケット到着揺らぎを算出してよい。
これにより、IP放送受信装置は、例えばITU−T Rec.Y1541に従ってパケット到着揺らぎを導出する場合でも、パケット揺らぎの情報を視聴者にも事業者にも確認し易く提示できる。
また、取得部は、ストリームにおける複数のIPパケットの受信順序(例えばシーケンス番号)を取得してよい。受信品質は、IPパケットの欠損を示すパケット損失を含んでよい。算出部は、取得された複数のIPパケットの受信順序に基づいて、パケット損失に関するパケット損失情報(例えばパケット損失率、その他のパケット損失を示す値)を算出してよい。
これにより、IP放送受信装置は、例えば受信されたIPパケットの受信順序の連続性を確認することで、パケット損失の情報を視聴者にも事業者にも確認し易く提示できる。
また、IP放送受信装置は、パケット受信情報を蓄積する蓄積部(例えばIPログ蓄積部114)を備えてよい。受信部は、IP放送受信装置の電源が投入されている期間の少なくとも一部の期間において、パケット受信情報を蓄積部に蓄積させてよい。取得部は、蓄積部からパケット受信情報を取得してよい。
これにより、IP放送受信装置は、過去に蓄積されたパケット受信情報を基に、受信品質を提示できる。また、IP放送受信装置は、例えば長期間にわたってパケット受信情報を蓄積する場合、僅かな頻度で発生する受信品質の指標であっても、受信品質を示す値を導出できる。
また、受信部は、IP放送受信装置の電源がオンであり、ストリームの再生又は録画が行われていない期間、パケット受信情報を蓄積部に蓄積させてよい。
これにより、IP放送受信装置は、視聴者がIP放送の視聴や録画を行わない期間に、受信品質を示す値を導出できる。よって、IP放送受信装置において所定期間に処理負荷が集中することを抑制できる。
また、受信部は、IP放送受信装置の電源がオンであり、ストリームの再生又は録画が行われている期間、パケット受信情報を前記蓄積部に蓄積させてよい。
これにより、IP放送受信装置は、視聴者がIP放送の視聴や録画を行う期間に、あわせて受信品質を示す値を導出できる。これにより、IP放送受信装置は、パケット受信情報の蓄積とIP放送の視聴や録画を同時に行うことができ、IP放送の視聴や録画以外の期間において他の処理を行って動作効率を向上したり、IP放送受信装置を省電力化したりできる。
また、IP放送受信装置は、パケット受信情報をサーバに送信する送信部(例えばIP通信部104)を備えてよい。また、送信部は、パケット受信情報に基づくストリームの受信品質を示す値を送信してよい。また、送信部は、受信品質を示す値が加工された受信品質を示す情報を送信してよい。
これにより、IP放送受信装置は、サーバと連携して、IP放送における受信データの品質を可視化し、視聴者にも事業者にも品質状態を確認し易くできる。つまり、IP放送受信装置又はサーバが、IPパケットが伝送されるネットワーク品質をより的確に表現する受信品質の値を導出できる。また、IP放送受信装置又はサーバが、受信品質の値を加工して受信品質を示す情報を導出できる。よって、サーバが、ユーザに分かり易い形式で受信品質を提示できる。したがって、IP放送受信装置及びサーバは、IP放送における受信データの品質を可視化し、視聴者にも事業者にも品質状態を確認し易くできる。
また、IP放送受信装置から各種情報を受信したサーバは、IPデータ分析を行うことができる。また、サーバは、最良、良好、不良、等を評価するための、パケット損失率やパケット到着揺らぎの評価の閾値を、後から(例えばIP放送受信装置からの情報の受信後に)変更できる。また、サーバは、パケット到着揺らぎの算出式を変更できる。また、サーバを運用するサーバ運用者が、IP放送システム5における全ての受信機100の受信品質を一元管理できる。