以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
<基盤技術に関する説明>
まず、本発明に係る好適な実施形態について詳細な説明をするに先立ち、本実施形態を実現する上で基盤を成す技術的事項について述べる。なお、本実施形態は、以下に記載する基盤技術の上に改良を加えることにより、より顕著な効果を得ることができるように構成されたものである。従って、その改良に係る技術こそが本実施形態の特徴を成す部分である。つまり、本実施形態は、ここで述べる技術的事項の基礎概念を踏襲するが、その本質はむしろ改良部分に集約されており、その構成が明確に相違すると共に、その効果において基盤技術とは一線を画するものであることに注意されたい。
図23は、一般的なIPTVシステム900におけるマルチキャスト映像配信に関するネットワーク構成図である。図23に示したように、一般的なIPTVシステム900は、例えば、それぞれのチャンネルに対応した複数のコンテンツサーバ901と、スイッチ903,909と、ルータ905,907と、視聴者が使用する複数の端末911と、を主に備える。
コンテンツサーバ901は、映像音声信号(映像音声コンテンツ)を符号化するエンコーダと、配信サーバとから構成される。各TVチャンネル(例えば、総数300チャンネルとする。)の映像信号は、例えばH.264/AVCを利用してリアルタイムでエンコードされ、各TVチャンネルのオーディオ信号は、HE−AAC(High−Efficiency Advanced Audio Coding)などの高能率音声符号化技術を利用してリアルタイムでエンコードされる。その後、エンコーダは、エンコードした各信号をMPEG2−TS(MPEG2−Transport Stream)の形式に多重化した後、ストリームデータとして配信サーバに伝送する。配信サーバは、それら複数のMPEG2−TSのパケットをRTP(Real−time Transport Protocol)のパケットフォーマットにし、MPEG2−TSパケットを入れた上でさらにUDP(User Datagram Protocol)の伝送プロトコルによりIPネットワークにマルチキャスト配信する。
各チャンネルのストリームのIPパケットは、個別のマルチキャストアドレスが指定され、コアネットワーク、アクセスネットワークを経由して端末911に配信される。コアネットワークは、光ファイバーを利用し、WDM(Wavelength Division Multiplexing)などの技術を用いて、毎秒数ギガ〜数十ギガビットのデータ伝送が可能な広帯域ネットワークが用いられる。他方、IPTVサービス加入者宅(すなわち、エッジスイッチ909から端末911)までのアクセスネットワークは、例えば、既存のアナログ電話回線の銅線配線を利用したADSL(Asymmetric Digital Subscriber Line)などの技術が利用される。ADSLにもさまざまな規格があり、データ帯域は回線の長さにも依存するが、例えば、ADSL2という規格を用いれば、基地局から4キロメートル以下であれば、毎秒10メガビット以上の帯域を実現でき、ハイビジョンテレビの解像度の映像信号を一本は配信することが可能である。
このように、コアネットワークは十分な帯域があり、IPTVサービスが提供するすべてのチャンネルのストリームを配信できるのに対し、アクセスネットワークのデータ帯域は限られているため、アクセスネットワークには、端末が受信しているチャンネルのデータのみを配信する必要がある。このマルチキャストデータの配信制御に、一般にはIGMP(Internet Group Management Protocol)が利用される。
端末911は、受信したいチャンネルのデータのマルチキャストグループに加入するためにIGMPメッセージをネットワークに送信すると、エッジルータ907は要求があったネットワークのみにマルチキャストデータを配信する。ただし、エッジルータ907の配下に複数の端末が接続されている場合、エッジルータ907は、該当するマルチキャストデータを受信していない端末911が接続されたアクセスネットワークに対しても、データを配信してしまう。そこで、IGMPによるマルチキャストグループへの加入要求をしていない端末911が接続されたアクセスワークへの配信を防ぐ必要がある。そのため、エッジスイッチ909であるDSLAM(Digital Subscriber Line Access Multiplexer)などは、IGMP SNOOPINGが実装されている。DSLAMは、端末911から送信されたIGMPパケットを盗みみて、要求を受けた端末911が接続されるアクセスネットワークのみにマルチキャストグループのデータを配信するように、フィルタリング制御をなっている。
本発明の各実施形態に係るIPTVシステムは、上述のような一般的なアーキテクチャーのIPTVシステムを踏襲した上で、なされたものである。以下に、本発明の各実施形態について、詳細に説明する。
(第1の実施形態)
<コンテンツ配信システムについて>
まず、図1を参照しながら、本発明の第1の実施形態に係るコンテンツ配信システムについて、詳細に説明する。図1は、本実施形態に係るコンテンツ配信システムを説明するための説明図である。なお、以下の説明では、コンテンツ配信システムの一例として、IPTVシステムを例に挙げながら、詳細に説明する。
本実施形態に係るコンテンツ配信システム1は、例えば図1に示したように、それぞれのチャンネルに対応した複数のコンテンツサーバ10A,10B,10Cと、スイッチ12,18と、ルータ14,16と、視聴者が使用する複数の情報処理装置20A,20B,20C,20Dと、配信予定時刻情報送信サーバ30と、基準クロックサーバ40と、を主に備える。
コンテンツサーバ10は、IPTVシステムにおける各チャンネルの放送局に対応しており、映像音声コンテンツ(映像音声信号)を所定の方式で符号化して圧縮データストリームとし、所定の伝送プロトコルを用いて、IPネットワークにマルチキャスト配信する。図1では、コンテンツサーバ10は、3つしか図示されていないが、コンテンツサーバ10は、例えばIPTVシステム上のチャンネル数と同じ数だけ存在し、チャンネル総数が300である場合には、コンテンツ配信システム1上には、300台のコンテンツサーバ10が存在することとなる。
スイッチ12は、コアネットワーク上を流れるパケットの交換機能(スイッチング機能)を有する通信装置であり、スイッチ18は、アクセスネットワーク上を流れるパケットの交換機能を有する通信装置であり、コアネットワークの周辺にあるため特にエッジスイッチと呼ばれる。これらのスイッチ12,18は、パケットの宛先を判断して、特定の相手にのみ通信を取り次ぐように設定されている。
ルータ14,16は、ネットワーク上を流れるパケット等のデータを中継する装置である。これらのルータは、いわゆるOSI参照モデルでいうネットワーク層やトランスポート層の一部のプロトコルを解析して、データの転送を行う。また、ネットワーク層に記載されているアドレスを解析して、どの経路を通じてデータを転送すべきかを判断する経路選択機能を有する。
情報処理装置20は、コンテンツ配信システム1の視聴者が使用する端末であって、各コンテンツサーバ10が配信している複数の映像音声コンテンツの中から、視聴したいコンテンツを取得し、取得したコンテンツを再生する。
なお、上述のコンテンツサーバ10および情報処理装置20については、以下で改めて詳細に説明する。
配信予定時刻情報送信サーバ30は、個々のコンテンツサーバ10から出力される基準圧縮映像データ配信予定時刻情報をそれぞれ受信して、コンテンツ配信システム1上に存在するコンテンツサーバ10全ての基準圧縮映像データ配信予定時刻情報を取りまとめる。また、配信予定時刻情報送信サーバ30は、取りまとめた基準圧縮映像データ配信予定時刻情報を、システムに接続されている情報処理装置20に対して、所定の時間間隔(例えば、10ミリ秒〜20ミリ秒周期)で送信する。なお、上述の基準圧縮映像データ配信予定時刻情報については、以下で詳細に説明する。
基準クロックサーバ40は、例えば1万分の1秒精度の時刻情報源を有するサーバであり、例えばNTP(Network Time Protocol)を利用して、コンテンツ配信システム1に接続されているコンテンツサーバ10や情報処理装置20等のコンピュータの内部クロックを、基準クロックサーバ40が有する時刻情報源に同期させる。
以上、本実施形態に係るコンテンツ配信システム1について、説明を行った。続いて、図2および図3を参照しながら、本実施形態に係るコンテンツサーバ10および情報処理装置20について、詳細に説明する。
<コンテンツサーバの構成について>
次に、図2を参照しながら、本実施形態に係るコンテンツサーバ10の構成について、詳細に説明する。図2は、本実施形態に係るコンテンツサーバ10の構成について説明するためのブロック図である。
本実施形態に係るコンテンツサーバ10は、当該コンテンツサーバ10内のクロックがコンテンツ配信システム1上に存在する基準クロックサーバ40と同期している。コンテンツサーバ10は、サーバの起動時や、コンテンツサーバ10の管理者が内部クロックの更新命令を入力した時などの任意のタイミングで、例えばNTPを用いて内部クロックを基準クロックサーバ40の時刻と同期させることが可能である。
本実施形態に係るコンテンツサーバ10の各処理部は、基準クロックサーバ40に同期している内部クロックの現在時刻を参照しながら、所定の処理を実施する。
本実施形態に係るコンテンツサーバ10は、例えば図2に示したように、プレビュー用ストリーム処理部11Aと、視聴用ストリーム処理部11Bと、を備える。プレビュー用ストリーム処理部11Aおよび視聴用ストリーム処理部11Bには、同一のチャンネルの映像音声信号がそれぞれ入力される。
プレビュー用ストリーム処理部11Aは、図2に示したように、例えば、第1符号化部101と、第1配信部105と、記憶部109と、を主に備える。また、視聴用ストリーム処理部11Bは、図2に示したように、例えば、第2符号化部103と、第2配信部107と、記憶部111と、を主に備える。
図2に示したように、プレビュー用ストリーム処理部11Aおよび視聴用ストリーム処理部11Bは、一つの符号化部および一つの配信部からなる組を少なくとも1つ備える処理部であり、各符号化部および各配信部は、それぞれ互いに独立して機能する。
第1符号化部101および第2符号化部103は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)から構成されている。第1符号化部101および第2符号化部103は、入力された映像音声信号のうち、映像信号を、例えばH.264/AVCを利用してリアルタイムで符号化(以下、エンコードとも称する。)するとともに、音声信号を、例えばHE−AAC等の高能率音声符号化技術を利用してリアルタイムでエンコードする。続いて、第1符号化部101は、エンコードした各信号をMPEG2−TSの形式に多重化した後、第1圧縮データストリームとして、第1配信部105に伝送する。また、第2符号化部103は、エンコードした各信号をMPEG2−TSの形式に多重化した後、第2圧縮データストリームとして、第2配信部107に伝送する。
ここで、第1符号化部101は、チャンネルあたりのデータを伝送するために確保されたデータ帯域の範囲において、秒あたりのピクチャ数を減らすことにより、基準圧縮映像データの出現頻度ができる限り多くなるように、チャンネルの映像音声信号を符号化(エンコード)して、圧縮映像データストリームを生成する。この際、第1符号化部101により生成される圧縮映像データストリームは、基準圧縮映像データのみから構成される。このようにして生成される圧縮映像データストリームを含む第1圧縮データストリームは、高速プレビュー用のデータストリームとして利用される。
また、第2符号化部103は、入力された映像音声信号のフレームレートと同様のピクチャ数(例えば、60Hzのインターレースであれば、毎秒30枚のピクチャ数)となり、かつ、配信ネットワークで確保されたデータ帯域の範囲において、映像画質ができる限り良好なものとなるように、チャンネルの映像音声信号を符号化して、圧縮映像データストリームを生成する。この際、第2符号化部103により生成される圧縮映像データストリームは、基準圧縮映像データと、この基準圧縮映像データを用いて生成される圧縮映像データと、から構成される。このようにして生成される圧縮映像データストリームを含む第2圧縮データストリームは、チャンネル視聴用のデータストリームとして利用される。
ここで、基準圧縮映像データは、この映像データよりも時間的に前の圧縮映像データを参照することなく、映像データを復号可能な圧縮映像データを意味している。このような基準圧縮映像データの例として、例えば、H.264/AVCでのIDR(Instantaneous Decoder Refresh:デコーダ復号動作の瞬時リフレッシュ)ピクチャや、MPEG2ビデオでのIピクチャ(Intra picture:ピクチャ内符号化ピクチャ)を挙げることができる。
また、基準圧縮映像データを用いて生成される圧縮映像データは、動き補償フレーム間予測符号化(motion compensated interframe prediction)を用いて符号化され、基準圧縮映像データからの差分のみを表すデータから構成される圧縮映像データを意味している。このような基準圧縮映像データを用いて生成される圧縮映像データの一例として、Pピクチャ(Predictive picture:予測符号化ピクチャ)およびBピクチャ(Bi−predictive Picture:双予測ピクチャ)を挙げることができる。
なお、第1符号化部101および第2符号化部103は、映像音声信号の符号化に際して、それぞれ後述する記憶部109および記憶部111に記録されている各種のデータベース等を参照することが可能である。また、第1符号化部101および第2符号化部103は、生成した圧縮データストリームを、それぞれ記憶部109および記憶部111に記録してもよい。
第1配信部105および第2配信部107は、例えば、CPU、ROM、RAM、通信装置等から構成されており、いわゆるRTP(Real−Time Transport Protocol)サーバの機能を有している。第1配信部105および第2配信部107は、それぞれ第1符号化部101および第2符号化部103が生成したMPEG2−TSのパケットを、RTPパケットおよびUDPパケットに格納した上で、IPマルチキャストパケットに格納して、送信する。これらのIPパケットは、例えば、スイッチ12等を経由して、IPネットワークにより配信される。
また、第1配信部105および第2配信部107は、第1符号化部101および第2符号化部103によって生成された基準圧縮映像データが配信される配信予定時刻を算出し、この配信予定時刻が記載された基準圧縮映像データ配信予定時刻情報(以下、配信予定時刻情報と略記する。)を定期的に生成する。配信予定時刻の算出方法については、以下で改めて詳細に説明する。
第1配信部105および第2配信部107は、それぞれが生成した配信予定時刻情報を、配信予定時刻情報送信サーバ30へと定期的に出力する。また、第1配信部105および第2配信部107は、生成した配信予定時刻情報を、それぞれ記憶部109および記憶部111に記録してもよい。
記憶部109は、本実施形態に係るプレビュー用ストリーム処理部11Aが、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録される。記憶部109は、第1符号化部101および第1配信部105等が、自由に読み書きを行うことが可能である。
同様に、記憶部111には、本実施形態に係る視聴用ストリーム処理部11Bが、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録される。記憶部111は、第2符号化部103および第2配信部107等が、自由に読み書きを行うことが可能である。
また、プレビュー用ストリーム処理部11Aおよび視聴用ストリーム処理部11Bは、1台のコンテンツサーバの筐体内に設けられていてもよい。また、プレビュー用ストリーム処理部11Aおよび視聴用ストリーム処理部11Bがそれぞれ一つの装置として独立しており、これらの装置が並列に複数台接続されていてもよい。
以上、本実施形態に係るコンテンツサーバ10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
<情報処理装置の構成について>
続いて、図3を参照しながら、本実施形態に係る情報処理装置20の構成について、詳細に説明する。図3は、本実施形態に係る情報処理装置20の構成を説明するためのブロック図である。
本実施形態に係る情報処理装置20は、当該情報処理装置20内のクロックがコンテンツ配信システム1上に存在する基準クロックサーバ40と同期している。情報処理装置20は、装置の起動時や、情報処理装置20の使用者が内部クロックの更新命令を入力した時などの任意のタイミングで、例えばNTPを用いて内部クロックを基準クロックサーバ40の時刻と同期させることが可能である。
本実施形態に係る情報処理装置20は、例えば図3に示したように、チャンネル選択部201と、取得ストリーム選択部203と、コンテンツ取得部205と、コンテンツ再生部207と、記憶部209と、を主に備える。
チャンネル選択部201は、例えば、CPU、ROM、RAM等から構成されている。ユーザが、情報処理装置20に設けられたチャンネル選択スイッチ、チャンネル選択ボタン等の操作部や、リモートコントローラ等を操作して、配信されている複数のチャンネルの中から特定のチャンネルを選択した場合に、チャンネル選択部201は、チャンネル選択スイッチやチャンネル選択ボタン等による入力を所定の信号に変換する。また、チャンネル選択部201は、ユーザ入力を変換した所定の信号を、後述する取得ストリーム選択部203に出力する。
取得ストリーム選択部203は、例えば、CPU、ROM、RAM、通信装置等から構成されており、基準クロックサーバ40に同期している内部クロックの現在時刻を参照しながら、以下で説明するような処理を実施する。
取得ストリーム選択部203は、チャンネル選択部201から、あるチャンネルを指定されると、指定されたチャンネルから配信された視聴用圧縮データストリームを取得するように、後述するコンテンツ取得部205に通知する。また、あるタイミングで、視聴者がチャンネルザッピングを開始して、チャンネル選択部201から、異なるチャンネルを指定された場合には、該当するチャンネルから配信されたプレビュー用圧縮データストリームを取得するように、後述するコンテンツ取得部205に通知する。その後、視聴者がチャンネルザッピングを終了し、視聴するチャンネルが確定すると、取得ストリーム選択部203は、確定したチャンネルから配信された視聴用圧縮データストリームを取得するように、後述するコンテンツ取得部205に通知する。
また、取得ストリーム選択部203は、個々のコンテンツサーバ10から出力され、配信予定時刻情報送信サーバ30によって取りまとめられた配信予定時刻情報を、配信予定時刻情報送信サーバ30から定期的に受信する。取得ストリーム選択部203は、受信した配信予定時刻情報を参照して、高速チャンネル切り替え時にプレビュー用圧縮データストリームから他のプレビュー用圧縮データストリームの切り替えタイミングの判断、および、プレビュー用圧縮データストリームから視聴用圧縮データストリームへ切り替えるタイミングを判断する。
より詳細には、取得ストリーム選択部203は、チャンネル選択部201から通知されたチャンネルの圧縮データストリームを取得して切り替えるために要する切替所要時間と、取得する圧縮データストリームの選択処理を開始した時刻とを用いて、取得した圧縮データストリームの切り替えを完了する切替完了予想時刻を算出する。ここで、上述の切替所要時間は、現在表示しているチャンネルから異なるチャンネルにチャンネル切り替えを行った際に、新たなチャンネルで配信されているコンテンツが表示されるまでに要する時間を意味するものである。取得ストリーム選択部203は、算出した切替完了予想時刻と、配信予定時刻情報送信サーバ30から取得した配信予定時刻情報とを比較して、切替完了予想時刻以降の直近の配信予定時刻を有する圧縮データストリームを受信できるように、取得するデータストリームの切り替えを通知する。
なお、これらの選択処理を行うにあたって、取得ストリーム選択部203は、後述する記憶部209に記録されている各種のデータベース等を参照しながら処理を行うことが可能である。
また、取得ストリーム選択部203は、配信予定時刻と、圧縮データストリームの切替完了予想時刻との間の時間間隔が所定の閾値以下であれば、選択結果をコンテンツ取得部205に通知する。また、取得ストリーム選択部203は、上記時間間隔が所定の閾値超過であれば、新たに配信予定時刻情報送信サーバ30から通知される配信予定時刻情報に基づいて、再度圧縮データストリームの選択処理を実行し、選択結果をコンテンツ取得部205に通知する。
切替完了予想時刻と、配信予定時刻との間に、所定の値以上の時間間隔が存在する場合には、取得ストリーム選択部203の選択結果に基づいて表示切り替えを行ったとしても、表示画面は、画面に黒などの色を表示するブラックアウト状態のままとなる。そのため、新たに配信予定時刻情報送信サーバ30から通知される配信予定時刻情報を待っている間は、切り替え前のチャンネルのストリームが継続して取得されているので、その映像を画面表示続けることで、視聴者の使用感を損なうことなく、圧縮データストリームの選択処理を再度実行することができる。
上述のような取得ストリームの選択方法については、以下で改めて詳細に説明する。
コンテンツ取得部205は、例えば、CPU、ROM、RAM、通信装置等から構成されており、配信されている複数のチャンネルの中から、取得ストリーム選択部203から伝送された選択結果に対応したチャンネルが配信しているコンテンツを取得する。本実施形態に係るコンテンツ配信システムでは、1つのチャンネルに属するコンテンツに対して、プレビュー用の圧縮データストリームと、視聴用の圧縮データストリームとが配信されているため、コンテンツ取得部205は、取得ストリーム選択部203から通知された選択結果に基づいて、圧縮データストリームの取得を行う。
なお、コンテンツの取得に際して、コンテンツ取得部205は、後述する記憶部209に記録されている各種のデータベース等を参照しながら、コンテンツの取得処理を実行することが可能である。
コンテンツ再生部207は、例えば、CPU、ROM、RAM等から構成されており、コンテンツ取得部205が取得したコンテンツを再生して、情報処理装置20が備える表示部(図示せず。)に表示する。ここで、コンテンツの再生とは、コンテンツ取得部205から伝送された圧縮データストリームの復号を行った上で、復号されたコンテンツを再生すること、および、圧縮データストリームの復号を行いながら、コンテンツを再生することを含む。コンテンツ再生部207は、コンテンツの復号やコンテンツの再生を行う際に、後述する記憶部209に記録されているデータベース等を参照することが可能である。
記憶部209は、本実施形態に係る情報処理装置20が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等が、適宜記録される。記憶部209は、チャンネル選択部201、取得ストリーム選択部203、コンテンツ取得部205、コンテンツ再生部207等が、自由に読み書きを行うことが可能である。
以上、本実施形態に係る情報処理装置20の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
<コンテンツ配信方法について>
続いて、図4〜図12を参照しながら、本実施形態に係るコンテンツサーバ10が実行するコンテンツ配信方法について、詳細に説明する。
[圧縮映像データストリームのピクチャ構造について]
図4は、プレビュー用ストリーム処理部11Aおよび視聴用ストリーム処理部11Bから出力される圧縮映像データストリームのピクチャ構造を説明するための説明図である。以下では、例えば、アクセスネットワークの帯域を毎秒8メガビット確保し、ハイビジョン解像度(1920X1024)で毎秒60フレームのインターレースの元信号を配信するIPTVシステムを例にとって、説明を行う。
このようなシステムでは、例えば、毎秒7メガビット程度の帯域がMPEGビデオのストリームに割り当てられている。H.264/AVCにてエンコードする場合は、図4のコンテンツ視聴用データストリームのピクチャ構造に示すように、毎秒30枚のMPEGピクチャがエンコードされる。なお、MPEG2ビデオのGOP(Group Of Picture)の表記に従い、本明細書では、IDRピクチャを先頭に含む複数のピクチャのまとまりを、GOPと示すこととする。
IDRピクチャ、Pピクチャ、Bピクチャの出現パターンも動的に変えることも可能であるが、本実施形態に係る第2符号化部103では、GOPを毎秒30ピクチャになるように設定されており、Pピクチャ、Bピクチャも固定パターンでエンコードされる。ここで、IDRピクチャ、PピクチャおよびBピクチャに割り当てられるデータ量の割合は異なっており、例えば、3対2対1のデータ量となるように設定される。ただし、図4では、便宜上、各ピクチャの大きさはデータ量には比例せずに、一定の大きさで図示している。
他方、本実施形態にかかるプレビュー用ストリーム処理部11Aから出力されるチャンネルプレビュー用の圧縮データストリームは、図4に示したように、IDRピクチャのみから構成されている。プレビュー用の圧縮データストリームを構成するIDRピクチャは、視聴用ストリーム処理部11Bから出力されるデータストリームと同一の解像度および同等の品質となるように第1符号化部101によりエンコードされる。このようにして生成された圧縮データストリームは、例えば図4に示したように、1秒間に10枚のIDRピクチャから構成される。ここで、第1符号化部101は、IDRピクチャのデータ量が一定となるように符号化を行う。第1配信部105によりMPEG2−TSパケットがRTP・UDPパケットに格納される際に、後述するように、各UDPパケットの間隔がほぼ等間隔となるようにシェーピングされ、ネットワーク上に配信される。そのため、情報処理装置20がプレビュー用圧縮データストリームを受信する場合には、約100ミリ秒おきにIDRピクチャを受信開始できるタイミングが実現できる。
[UDPパケットのフォーマットについて]
図5は、本実施形態に係る配信部105,107が送出するUDPパケットのフォーマットを説明するための説明図である。コンテンツサーバ10が備える各符号化部101,103で生成されたMPEG2−TSパケットは、それぞれの符号化部が属する処理部に設けられた配信部に出力され、IPパケットとして伝送される。このIPパケットは、例えば図5に示したようなフォーマットを有する。
図5に示したように、IPマルチキャストのUDPパケットは、IPヘッダと、UDPヘッダと、RTPヘッダと、RTPペイロードと、から構成される。コンテンツサーバ10の各符号化部101,103で生成されたMPEG2−TSパケットは、RTPペイロードに格納される。通常、RTPペイロードには、図5に示したように、7個のMPEG2−TSパケットが格納される。
コンテンツサーバ10の各配信部105,107は、図5のようなUDPパケットを生成し、マルチキャスト配信する。
ここで、図5に示したように7個のMPEG2−TSパケットが格納される場合には、一つのUDPパケットは1356バイト程度となる。ここで、アクセスネットワークの最大帯域である毎秒8メガビットまで利用してストリームを伝送する場合には、約737個のUDPパケットが一秒間に伝送されることとなり、一つのIDRピクチャは、約74個のUDPパケットに分割される。UDPパケットは、後述するようなシーピング処理を施された上で配信されるため、UDPパケットは、平均1.3ミリ秒間隔で伝送されることになる。
[プレビュー用圧縮データストリームの配信について]
続いて、図6を参照しながら、各チャンネルのプレビュー用ストリームを利用して、複数チャンネルを高速にプレビューする方法について説明する。図6は、本実施形態に係るプレビュー用圧縮データストリームを説明するための説明図である。
例えば、視聴者の操作によりチャンネルプレビュー操作が開始されると、視聴者は、各チャンネルあたり、例えば、1枚〜3枚程度の映像フレーム(時間的には0.1秒〜0.3秒程度のチャンネル映像)を見ただけで、チャンネルで放送されている番組名やジャンル(例えば、ニュース、ドラマ、出演中のアーティスト等)を認識したり、番組の盛り上がり状況(例えば、スポーツ番組における盛り上がり状況)などを認識したりすることは十分可能である。そのため、視聴者は通常、リモートコントローラ等のプレビューボタンを長押しすることで、プレビューしているチャンネルの切り替えを行う。このチャンネル切り替えの際、端末である情報処理装置20は、できる限り取りこぼしなく、切り替わり元と切り替わり先のチャンネルの双方のストリームのUDPパケットを、受信することが望ましい。
ここで、図6に示すように、各チャンネルから配信されるプレビュー用圧縮データストリームにおいて、毎秒10枚のIDRピクチャが配信されている場合について考える。シームレスな映像切り替えを視聴者に提供するために、情報処理装置20は、理想的には、以下のようにUDPパケットを受信することが望ましい。すなわち、例えばチャンネル1のストリームからチャンネル2のストリームに配信を切り替える際に、情報処理装置20は、チャンネル1の5番目のIDRピクチャを格納する全てのUDPパケット受信し、かつチャンネル2の6番目のIDRピクチャを格納する全てのUDPパケットを受信する。このようにUDPパケットを受信することで、情報処理装置20では、シームレスに映像を切り替えることが可能となる。このためには、アクセスネットワーク経由で情報処理装置20に配信されるチャンネル1とチャンネル2のストリームの切り替えを、約1.3ミリ秒以内に処理することが求められる。
このようなストリーム切り替えは、端末である情報処理装置20がIGMPメッセージを発行することによって行われる。図7Aおよび図7Bは、RFC3376で規定されるIGMPバージョン3における、情報処理装置20からマルチキャストデータ配信制御を行うためのIGMPメッセージのフォーマットである。
情報処理装置20がマルチキャストグループに参加および離脱する場合は、図7Aに示したレポートフォーマットのIGMPメッセージを利用する。そのほか、マルチキャストルータがマルチキャストグループに加入していることを確認するクエリーフォーマットのIGMPメッセージもあるが、これらIGMPの仕様についての詳細説明は、省略する。
図7Aに示したように、レポートフォーマットのIGMPメッセージには、「Number of Group Records」という欄に、当該レポートに含まれるレコードの数が明記されており、続いて、明記されたレコードの数の分だけ、「Group Record」が記載される。図7Bは、各グループレコードのフォーマットである。図7Bに示したように、グループレコードのフォーマットには、「Record Type」という欄が存在し、この欄に所定の値を入力することで、マルチキャストグループへの参加や離脱を指定することが可能である。
しかしながら、IGMPによるマルチキャスト配信の切り替えには、通常、例えば50〜100ミリ程度の時間を要する。上述のようなIMGPバージョン3の機能を利用し、一つのIGMPレポートメッセージでマルチキャストグループへの加入および離脱を行う方式を採用し、かつ、IGMPスヌーピングを行うエッジスイッチ(例えば、DSLAM)の配信切り替え処理の高速化を図ったとしても、配信の切り替えには、数十ミリ程度必要となる。そのため、マルチキャスト配信の切り替えを、上述のように1.3ミリ秒以下で行うことは、技術的に困難を伴う。
[パケットのシェーピング処理について]
この問題を解決するために、本実施形態に係るコンテンツサーバ10の各配信部では、MPEGストリームを配信する際に、図8に示すシェーピングを行う。図8は、本実施形態に係るコンテンツサーバが実施するパケットのシェーピング処理を説明するための説明図である。
本実施形態に係る第1配信部105は、ストリームの各IDRピクチャを含むMPEG2−TSパケットが格納されるUDPパケットをチャンク(chunk)にまとめ、このチャンクの区間で、各UDPパケットが等間隔に配置されるようにシェーピングする。また、チャンクとチャンクとの間には、UDPパケットをアクセスネットワークに配信しない未配信期間を設ける。すなわち、本実施形態に係る第1配信部105が生成する圧縮データストリームは、図8に示したように、UDPパケットを配信する期間(データ配信期間)と、UDPパケットが配信されない期間(データ未配信期間)とから構成されており、データパケットが間欠的に配信されることとなる。
また、周期的に出現するデータ未配信期間は、他のチャンネルのプレビュー用データストリームのデータ未配信期間と、同時刻に同じ期間だけ出現するようにするために、各コンテンツサーバ10の符号化部は、各映像音声コンテンツのIDRピクチャが出現する時間的位置が、他のコンテンツサーバ10と同時刻になるように映像音声コンテンツをエンコードする。例えば、IDRピクチャが毎秒10枚、固定的な時間位置に相当するように設定し、符号化部は、IDRピクチャの出現する時刻を、基準クロックを元に合わせるようにすることで、実現可能である。なお、このために、H.264.AVCのエンコーダやMPEG2の多重化のシステムクロックが、互いに同期している必要はない。
上記の方法により、各コンテンツサーバ10のプレビュー用圧縮データストリームのIDRピクチャの存在時刻を合わせることができるので、同じデータ未送信期間の長さを各配信部に設定すれば、各コンテンツサーバから配信されるパケットのデータ未送信期間が同時刻、同区間で起こるようにシェーピングを実現できる。
また、各視聴用圧縮データストリームについても同様のシェーピングを行うことにより、スムーズに視聴用ストリームへの切り替えを行うことができる。この場合のシェーピングは、視聴用ストリームの各IDRピクチャの直前にデータ未送信区間が存在し、かつ、そのデータ未送信期間が、プレビュー用圧縮データの何れかのデータ未送信期間と同時刻、同期間に出現するようにシェーピングする。視聴用圧縮データストリームが固定用のGOPにて、例えば、1秒に1回出現するようにエンコードを設定すれば、プレビュー用圧縮データストリームのデータ未送信期間の10回目ごとに、視聴用データストリームのデータ未送信期間が同時刻に出現するようにシェーピングできる。
このデータ未配信期間は、端末である情報処理装置20がチャンネル切り替えを行う際に、配信切り替え時間として利用される。
本実施形態では、このデータ未配信期間を例えば20ミリ秒とし、残り80ミリ秒の間にUDPパケットを送信する(すなわち、データ配信期間を80ミリ秒とする)ことで、100ミリ秒ごとに、IDRピクチャのデータを送信することが可能となる。一つのIDRピクチャを含むMPEG2−TSパケットは、74個程度のUDPパケットから構成されるので、この場合は、約1ミリ間隔でUDPパケットが送出されることとなる。この際、送出するUDPパケットの合計数は従来のものと変わらないため、アクセスネットワークに配信するデータ帯域は変わらない。しかしながら、局所的なシェーピングが、同じくアクセスネットワークに送出する他のトラフィックに影響がある場合は、プレビュー用ストリームの画像音声の品質などを落としてエンコードしてもよい。このようにすることで、MPEGストリームのビットレートを約毎秒6.1メガビット程度低減し、一つのIDRピクチャを含むMPEG2−TSパケットを格納するUDPパケットの数を、約57個にすることができ、通常にシェーピングした場合と同じUDPパケット間隔が実現できる。プレビューなど切り替わりながら表示される映像に対しては、映像品質の劣化は、人間の感覚の特性として、比較的問題にならない。
[配信予定時刻の算出について]
次に、図9を参照しながら、本実施形態に係るコンテンツサーバ10が備える各配信部が実施する配信予定時刻の算出方法について、詳細に説明する。本実施形態に係るコンテンツサーバは、プレビュー用ストリーム処理部11Aおよび視聴用ストリーム処理部11Bから送出されるUDPパケットそれぞれについて、各IDRピクチャを含む先頭のMPEG2−TSパケットを格納したUDPパケットが配信される予定時刻を、配信予定時刻として算出する。以下では、視聴用ストリーム処理部11Bにおける配信予定時刻の算出方法を例にとって、詳細に説明する。図9は、本実施形態に係るコンテンツサーバが実施する配信予定時刻の算出方法について説明するための説明図である。
本実施形態に係る視聴用ストリーム処理部11Bが備える第2配信部107は、IDRピクチャの配信予定時刻の算出を行うが、この算出処理は、以下の式を用いて行われる。
算出時刻CでのIDRピクチャ配信予定時刻:時刻F=時刻C+時間D+時間E
・・・(式1)
ここで、上記式1において、時間Dは、図9に示したように、時間D=(時刻B−時刻A)を用いて算出することができる。この時間Dは、第2符号化部103から生成されたIDRピクチャのデータを含むMPEG2−TSパケットが生成されてから、IPマルチパケットにて送出されるまでの遅延時間として考えることができる。
図9における時刻Bは、IDRピクチャのデータが含まれる最初のMPEG2−TSパケットの生成時間であり、時刻Aは、そのMPEG2−TSパケットが第2配信部107から送信される時刻である。この遅延時間Dは、通常は、ほぼ一定であるので、一回の計測で得られた値を使用してもよいし、固定値をつかってもよいし、IDRピクチャの送出ごとに計算してもよい。
図9における時間Eは、時刻Cの時点における次のIDRピクチャの最初のデータが含まれるMPEG2−TSパケットの生成までにかかる時間である。時間Eは、時刻Cの経過とともに更新されるので、IDRピクチャ配信予定時刻の計測のたびに、第2符号化部103に問い合わせる必要がある。通常、リアルタイムエンコードでは、エンコードによる遅延を小さくするために、IDRピクチャ配信予定時刻は第2符号化部103が予測した時間となる。例えば、第2符号化部103が、毎秒1秒ごとに固定間隔でIDRピクチャを生成するように設定されている場合は、時間Eは容易に求めることができる。そうではない場合も、符号化部によって生成され記憶部等に記録されているエンコーダバッファ管理情報を元に、時間Eの予測は十分可能である。既に時刻Cの時点で未送出のIDRパケットが存在する場合は、時間Eはマイナスの値をとる。
本実施形態に係るコンテンツサーバが備える各配信部は、上述のような方法を用いて、基準圧縮映像データ配信予定時刻を算出する。配信部は、このようにして算出された配信予定時刻を、配信部自身に割り当てられている所在情報(例えば、IPアドレス番号)に関連付けて、配信予定時刻情報として配信予定時刻情報送出サーバ40に出力する。
[配信予定時刻情報の例について]
続いて、図10を参照しながら、上述のような方法で算出された配信予定時刻情報の具体的な記述例について、詳細に説明する。図10は、本実施形態に係る基準圧縮映像データ配信予定時刻情報の具体例を説明するための説明図である。
基準圧縮映像データ配信予定時刻情報の一例であるIDRピクチャ配信予定時刻情報は、例えば図10に示したように、IPヘッダと、UDPヘッダと、RTPヘッダと、RTPペイロードと、から構成されている。IDRピクチャ配信予定時刻情報は、図10に示したように、UDPパケットのRTPペイロードに格納され、12バイトのヘッダとともにM個のIDRピクチャ送出予定時刻レコードが記述される。
IDRピクチャ配信予定時刻情報のヘッダには、このUDPパケットがIDRピクチャ配信予定時刻情報のパケット形式であることを示す識別子や、バージョン番号等が指定される。ひとつのMPEGストリームのIDRピクチャ配信予定時刻情報は、IPマルチキャストアドレス(4バイト)と、配信予定時刻(4バイト)とからなる8バイトで表記され、ひとつのUDPパケットは、M=150個ほどのMPEGストリームに対する配信予定時刻が記述可能である。
ひとつのレコードのIPマルチキャストアドレスは、以下で説明するようなブロードキャストディスカバリーレコードの各チャンネルのIPMulticastAddressに対応するものであり、該当するIPマルチキャストのストリームのIDRピクチャを含むIPパケットが、次に配信される予定時刻が記録されている。
配信予定時刻は、例えば1000分の1秒程度の精度で十分であるが、10000分の1秒つまり0.1ミリ秒の精度とすることが好ましい。この配信予定時刻は、少なくとも同じチャンネルのIPマルチキャストストリームを送出する各処理部11間において、同じクロックで計測されていれば十分であるが、すべての処理部にて同じクロックにて配信予定時刻の計測をおこなってもよい。
次に、図10を参照しながら、コンテンツ配信システム1の各コンテンツサーバ10で計測されたIDRピクチャの配信予定時刻情報を集計して、端末である情報処理装置20に伝送する仕組みを説明する。
前述のように、すべてのコンテンツサーバ10および情報処理装置20のクロックは、NTP(Network Time Protocol)によってネットワークに接続された基準クロックサーバ40のクロックと同期するように設定されており、各コンテンツサーバ10は、この基準クロックにNTPにて自身のクロックを同期させ、同期したクロックにて次のIDRピクチャが配信される予定時刻を算出する。コンテンツサーバ10の処理部11内に設けられた配信部は、前述のように、算出した時刻を、IDRピクチャ配信予定時刻情報送信サーバ30に送信する。
この場合、各処理部11の配信部は、図10で示したUDPパケットを、IPユニキャストにて送信する。このUDPパケットには、その処理部11が送出するIPパケットストリームについての配信予定時刻レコードのみ記録される。換言すれば、図10のUDPパケットは、M=1となる。IDRピクチャ配信予定時刻情報送信サーバ30は、各コンテンツサーバ10(より詳細には、各処理部11)から送信されたIDRピクチャ配信予定時刻を集計して、図10に示したようなUDPパケットを生成する。
図1および図2に示したように、コンテンツ配信システム1上に300チャンネル(すなわち、300台のコンテンツサーバ10)が存在し、各チャンネルあたり2つの処理部11がある場合は、図10に示したUDPパケットは、600個のIPマルチキャストストリームの情報となる。そのため、各UDPパケットでは、M=150となり、4つのUDPパケットに分割されて送信される。UDPパケットの喪失の恐れがネットワーク環境においては、重複して同一のパケットを送信する。
配信予定時刻情報送信サーバ30から送信されるUDPパケットのIPマルチキャストアドレスは、後述するようなブロードキャストディスカバリーレコードのChannelChangeInfoに指定したIPマルチキャストアドレスである。各情報処理装置20は、IDRピクチャ配信予定時刻情報を受信するためには、このIPマルチキャストアドレスを指定してIGMPにてマルチキャストグループへの加入を行う。IDRピクチャの配信時刻情報の送出は、例えば、1秒間に100回ほどの頻度、つまり10ミリ秒周期にておこなわれ、情報処理装置20は、10ミリ秒ごとに最新のIDRピクチャ配信予定時刻情報を受信できる。
なお、本実施形態に基づけば、本来、各コンテンツサーバ10から配信されるプレビュー用ストリームのIDRピクチャは同時刻に配信されるので、送出予定時刻情報も同一であり、各コンテンツサーバ10はこれについて通知する必要はない。しかしながら、本実施形態に係る配信予定時刻情報送信サーバ30は、各プレビュー用ストリーム処理部11Aから出力される情報についても集計する。
視聴用ストリーム処理部11Bから出力される配信予定時刻は、情報処理装置20がチャンネルザッピングから、チャンネルの視聴へとマルチキャスト配信を切り替える際に、視聴用データストリームのIDRピクチャを情報処理装置20が受信するまでの待ち時間を最適化して、シームレスにストリームを移行するために利用される。
[IPパケットの伝送について]
次に、図11および図12を参照しながら、本実施形態に係るIPパケットが情報処理装置へ伝送される仕組みについて、詳細に説明する。なお、以下では、IPTVシステムの規格であるDVB−IP(ETSI TS102 034)に基づき、詳細に説明を行う。
端末である情報処理装置20は、各チャンネルに対するMPEGストリームを受信するために、チャンネルのデータが配信されるIPマルチキャストアドレスを知る必要がある。DVB−IPでは、チャンネルの情報は、SD&Sのブロードキャストディスカバリーレコードに記述される。このブロードキャストディスカバリーレコードは、EPGサーバ等のIPTVアプリケーションサーバ(図示せず。)から情報処理装置20へと、DVB−IP規定のDVB SD&S Transport Protocol(DVB STP)によりマルチキャストで伝送される。なお、このブロードキャストディスカバリーレコードは、MPEG2−TSストリームとは別のIPマルチキャストアドレスにて転送される。
そのため、本実施形態に係るコンテンツ配信システム1内に存在するコンテンツサーバ10は、事前に、コンテンツサーバ10の各処理部11に割り当てられているIPマルチキャストアドレスや、各種のチャンネル情報を、IPTVアプリケーションサーバに通知しておく必要がある。
図11は、DVB−IPのブロードキャストディスカバリーレコードのデータ形式を説明するための説明図である。ブロードキャストディスカバリーレコードには、IPTVサービスが提供するすべてのチャンネルの情報が記述されている。例えば、300チャンネル放送するIPTVサービスであれば、端末である情報処理装置20は、300個のチャンネルの情報が記述されたブロードキャストディスカバリーレコードを受信する。
チャンネル情報としては、例えば図11に示したように、TextualIdentifier@ServiceNameにはチャンネル名が文字列で記述され、チャンネル名を表示するのに使用される。また、IPMulticastAddress@AddressとIPMulticastAddress@Portには、視聴用ストリーム処理部11Bから配信されるIPマルチキャストパケットのIPマルチキャストアドレスとポート番号とが記述されている。
端末である情報処理装置20は、IGMPにて、ブロードキャストディスカバリーレコードに記載されているIPマルチキャストアドレスグループに加入することで、希望のチャンネルのIPマルチキャストパケットの配信が開始され、IPマルチキャストパケットを受信可能となる。
さらに、本実施形態に係るブロードキャストディスカバリーレコードでは、DVB−IP規格におけるブロードキャストディスカバリーレコードを拡張し、<xx:PreviewServiceLocation>というXMLエレメントを設ける。本実施形態に係るブロードキャストディスカバリーレコードでは、このXMLエレメントに、プレビュー用ストリーム処理部11Aから出力されるIPマルチキャストパケットのIPマルチキャストアドレスとポート番号とが記述される。
図12は、ブロードキャストディスカバリーレコードをXML表記した場合の例を説明するための説明図である。このブロードキャストディスカバリーレコードの例では、300チャンネル分のサービス情報が記述されており、各「<SingleService>」のXMLエレメントが、チャンネルひとつ分の情報に相当する。
例えば、先頭のチャンネル情報には、チャンネル名(ServiceName)である「Channel 1」が記載されている。さらに、視聴用ストリーム処理部11Bから出力されるIPパケットのマルチキャストアドレス(アドレス224.0.1.1、ポート番号1600)と、プレビュー用ストリーム処理部11Aから出力されるIPパケットのマルチキャストアドレス(アドレス224.0.1.1、ポート番号1600)とが記述されている。次に列挙されているチャンネル情報では、チャンネル名である「Channel 2」と、視聴用およびプレビュー用の2種類のマルチキャストアドレスが記述されている。以下、チャンネル情報の記述は省略されているが、合計300チャンネル分の情報が列挙されて記述されることになる。以上のブロードキャストディスカバリーレコードにより、情報処理装置20は、各チャンネルにおけるプレビュー用と視聴用の2つのチャンネルアドレスを知ることが可能となる。
次に、各マルチキャストアドレスで配信されるMPEG2−TSストリームでのIDRピクチャ配信予定情報の取得方法について、説明する。本実施形態では、DVB−IP規定のブロードキャストディスカバリーレコードを拡張し、「<ChannelChangeInfo>」というXMLエレメントを記述する。「<ChannelChangeInfo>」のXMLエレメントでは、IPTVサービスから配信されるすべてのMPEGストリームのIDRピクチャ配信予定時刻情報を取得可能な、配信予定時刻情報送信サーバ30のマルチキャストアドレスが、「<IPMulticastAddress>」に指定されている。図12に示した例では、IDRピクチャ配信予定時刻情報は、アドレス224.0.1.0のポート番号1500から取得できることが示されている。
以上説明したように、本実施形態に係るコンテンツ配信方法では、一つのチャンネルに対して、プレビュー用に符号化された圧縮データストリームと、視聴用に符号化された圧縮データストリームの2種類が配信されることとなる。プレビュー用に符号化された圧縮データストリームは、IDRピクチャに例示される基準圧縮映像データのみから構成されており、このデータストリームが格納されたパケットは、高速チャンネルザッピングに適したシェーピングがなされる。その結果、本実施形態に係るコンテンツ配信方法では、端末である情報処理装置がプレビュー用圧縮データストリームを取得し、その再生を複数チャンネルに対して繰り返すことによって、高速チャンネルザッピングを実現することが可能となる。
<情報処理方法について>
続いて、図13〜図20を参照しながら、本実施形態に係る情報処理装置20が実行する情報処理方法について、詳細に説明する。図12は、本実施形態に係る情報処理装置20が実施する情報処理方法を説明するための流れ図である。
視聴者(ユーザ)により、本実施形態に係る情報処理装置20の電源が投入された場合や、IPTVのサービスメニュー等からTVサービスが選択された場合には、本実施形態に係る情報処理装置20は、TV視聴処理を開始する。
まず、情報処理装置20は、装置に備えられているCPU、ROM、RAM、通信装置等を利用して、EPGサーバ等のIPTVアプリケーションサーバ(図示せず。)からブロードキャストディスカバリーレコードを取得する(ステップS101)。このブロードキャストディスカバリーレコードは、図12に示したようなDVB−IP規定のプロトコルに基づいて記載されており、情報処理装置20は各チャンネルに対応したチャンネル情報を取得することができる。チャンネル情報が頻繁には変わらない場合には、既にIPTVサービスから取得済みのチャンネル情報を利用するようにしてもよい。
次に、情報処理装置20は、装置に備えられているCPU、ROM、RAM、通信装置等を利用して、IDRピクチャ配信予定時刻情報の配信開始要請のためのIGMPメッセージの発行と、この配信予定時刻情報に関するマルチキャストパケットの受信を開始する(ステップS103)。
情報処理装置20がマルチキャストグループに参加および離脱する場合は、図7Aに示したレポートフォーマットのIGMPメッセージを利用する。
より詳細には、情報処理装置20がIDRピクチャ配信予定時刻情報を配信しているマルチキャストグループの配信開始を指示するには、図14Aに示したようなIGMPメッセージを発行する。「Record Type」の欄に指定されている「1」という値は、MODE_IS_INCLUDEを示し、上述のステップS101にて取得したマルチキャストアドレス(例では224.0.1.0)に対して、マルチキャストグループに参加することを示すものである。このIGMPによるマルチキャストグループへの参加により、配信予定時刻情報送信サーバ30から、IDRピクチャ配信予定時刻情報が定期的(例えば、10ミリ秒周期)に情報処理装置20へ配信されることとなる。情報処理装置20は、IDRピクチャ配信予定時刻情報を受信し、記憶部209に常に最新の情報を保持しておく。
続いて、情報処理装置20のチャンネル選択部201は、チャンネル選択情報の初期設定を実施する(ステップS105)。初期設定されるチャンネル選択情報は、「CurrentChan」、「CurrentAddress」、「SelectChan」、「SelectAddr」という4つのパラメータである。
パラメータ「CurrentChan」は、情報処理装置20が現在選局中のチャンネルのポジションを示すパラメータであり、パラメータ「CurrentAddress」は、現在選局されているチャンネルが配信されているマルチキャストアドレスを示すパラメータである。初期設定では、これら2つのパラメータともに−1を設定する。これは、現在、チャンネル選局がおこなわれていないことを示す値である。また、パラメータ「SelectChan」は、これから選局するチャンネルのチャンネルポジションを示すパラメータであり、パラメータ「SelectAddr」は、選局されたチャンネルのMPEG2−TSストリームが配信されるマルチキャストアドレスを示すパラメータである。初期設定では、「SelectChan」には1を設定する。もし、以前に選曲したチャンネル情報を端末が保持している場合は、そのチャンネルポジションを指定する。「SelectAddress」には、−1を設定して初期化を行う。
続いて、チャンネル選択部201は、パラメータ「SelectChan」に示されたチャンネルを取得ストリーム選択部203に通知する。取得ストリーム選択部203は、パラメータ「SelectChan」に設定されたチャンネルの視聴用圧縮データストリームを取得するようにコンテンツ取得部205に通知し、コンテンツ取得部205は、視聴用ストリームへの切り替え処理を行う(ステップS107)。この視聴用ストリームへの切り替え処理については、以下で改めて詳細に説明する。この処理により、情報処理装置20の表示部(図示せず。)の画面には、チャンネルの映像が表示され、スピーカからは音声が再生される。
視聴用ストリームへの切り替え処理が終了すると、チャンネル選択部201は、現在選局中のチャンネルに関するチャンネル情報を更新する(ステップS109)。すなわち、パラメータ「CurrentChan」にはパラメータ「SelectChan」の値が設定され、パラメータ「CurrentAddr」にはパラメータ「SelectAddr」の値が設定される。
続いて、情報処理装置20のチャンネル選択部201は、ユーザ操作の入力を待ち受ける(ステップS111)。
ここで、ユーザにより、例えば、リモコンの電源オフボタンを押すなど終了操作が入力された場合には(ステップS113)、チャンネル選択部201は、入力された操作に応じた信号を生成し、ステップS123のチャンネル受信終了処理に進む。また、ユーザにより、チャンネルを切り替えてチャンネルプレビューを行う旨の操作が入力された場合には(ステップS115)、後述するステップS117に進む。そうでなかった場合は、ステップS111に戻り、ユーザ操作の待ちうけを行う。実際には、これらの制御以外にも、ボリューム制御等の他のユーザ操作の処理もあるが、図13での記述は省略する。
ユーザにより、チャンネル切り替え操作、例えば、リモートコントローラのチャンネルアップボタンやチャンネルダウンボタンが操作された場合には、情報処理装置20は、チャンネルプレビュー処理を行う(ステップS117)。このチャンネルプレビュー処理については、以下で改めて詳細に説明する。
その後、チャンネル選択部201は、ステップS109と同様に、現在選局中のチャンネルに関するチャンネル情報を更新する(ステップS119)。
続いて、情報処理装置20のチャンネル選択部201は、ユーザ操作の入力を待ち受け、TV視聴が続く。
他方、ユーザ操作が終了操作であった場合には、コンテンツ取得部205は、チャンネル受信終了処理を実施する(ステップS121)。チャンネル受信終了処理については、以下で改めて詳細に説明する。
その後、情報処理装置20は、装置に備えられているCPU、ROM、RAM、通信装置等を利用して、ステップS103にて開始したIDRピクチャ配信予定時刻情報の配信を停止させ、配信予定時刻情報のマルチキャストパケットの受信も終了する(ステップS123)。情報処理装置20は、図14Bに示したようなIGMPメッセージを送信することで、配信を停止可能である。ここで、図14Bにおける「RecordType=2」は、MODE_IS_EXCLUDEであることを示し、224.0.1.0のマルチキャストグループからの離脱を意味する。
続いて、情報処理装置20は、TV視聴を終了し、他のIPTVサービスメニューに戻るか、端末の他の機能に移行する。
[チャンネルプレビュー処理について]
続いて、図15を参照しながら、本実施形態に係る情報処理装置20が実施するチャンネルプレビュー処理について、詳細に説明する。図15は、本実施形態に係る情報処理方法におけるチャンネルプレビュー処理を説明するための流れ図である。
チャンネルプレビュー処理は、各チャンネルに対応するプレビュー用圧縮データストリームの映像を順番に切り替えて再生する。この際に、最初は例えば0.8秒間隔でチャンネル切り替えを行い、視聴者がチャンネルプレビュー操作を継続し続ける(例えば、チャンネル切替ボタン等を押し続ける)と、チャンネルの切り替えが早くなるように設定される。チャンネル切り替えの時間間隔(換言すれば、チャンネル切替速度)の最小値は、任意に設定することが可能であるが、例えば0.1秒間隔で映像の切り替えを行うことが可能である。本処理では、チャンネル切替速度を変更するタイミングを判定するために利用される切替速度変更時間が定義される。この切替速度変更時間は、例えば2秒程度に設定することが可能である。
まず、チャンネル選択部201は、チャンネルプレビューに関する2つのパラメータである、パラメータ「PreviewInterval」と、パラメータ「PreviewTimer」とを初期化する(ステップS201)。ここで、パラメータ「PreviewInterval」は、チャンネルを切り替えるタイミングの基準として利用され、本ステップでは、例えば800ミリ秒(0.8秒)に設定される。これにより、視聴者がチャンネルプレビュー操作を継続していた場合には、0.8秒間隔でチャンネル切り替えが行われる。また、パラメータ「PreviewTimer」は、チャンネル切り替えのタイミングを計測するためのタイマーとして利用され、本ステップでは、既にチャンネルプレビューを開始しているので、初期値として現在時刻が設定される。
続いて、チャンネル選択部201は、チャンネルプレビューで次に切り替えるチャンネルの設定を行う(ステップS203)。例えば、リモートコントローラのNEXTボタンのように、チャンネル番号を増加させてプレビューを行う操作がなされた場合には、チャンネル選択部201は、パラメータ「CurrentChan」に1を加算した値を、パラメータ「SelectChan」に設定する。また、チャンネル番号を減少させてプレビューを行う操作がなされた場合には、チャンネル選択部201は、パラメータ「CurrentChan」に1を減算した値を、パラメータ「SelectChan」に設定する。また、チャンネル選択部201は、パラメータ「PreviewSwitchTime」を設定する。このパラメータは、次のチャンネルへの切り替え操作の実行を決定する際に利用されるパラメータであり、本ステップでは、現在時刻が設定される。
次に、情報処理装置20は、パラメータ「SelectChan」に設定されたチャンネルのプレビュー用圧縮データストリームへの切り替えを行う(ステップS205)。このプレビュー用ストリームへの切り替え処理については、以下で詳細に説明する。
プレビュー用圧縮データストリームへの切り替え後に、チャンネル選択部201は、現在プレビュー中のチャンネルに関するチャンネル情報を更新する(ステップS207)。すなわち、パラメータ「CurrentChan」にはパラメータ「SelectChan」の値が設定され、パラメータ「CurrentAddr」にはパラメータ「SelectAddr」の値が設定される。
続いて、チャンネル選択部201は、視聴者がプレビュー操作(チャンネルザッピング操作)を継続しているかを確認する(ステップS209)。より詳細には、例えば、チャンネル選択部201にチャンネルの変更に関する入力信号が入力されたか否かに基づいて確認することが可能である。視聴者が切り替えたプレビュー用圧縮データストリームに対応するチャンネルを視聴することにし、チャンネルを決定した場合には、後述するステップS211が実施される。また、視聴者がプレビュー操作を継続している場合には、後述するステップS213が実施される。
視聴するチャンネルが決定した場合には、情報処理装置20は、視聴用圧縮データストリームへの切り替え処理を行う(ステップS211)。この視聴用圧縮データストリームへの切り替え処理については、以下で詳細に説明する。
このようにして、チャンネルのプレビュー処理は終了し、そのままIPTVテレビ視聴は継続することとなる。
他方、プレビュー操作が継続している場合には、情報処理装置20の取得ストリーム選択部203は、チャンネルの切替速度を変更するか否かを判定する(ステップS213)。より詳細には、取得ストリーム選択部203は、パラメータ「PreviewTimer」から現在時刻を減算して得られた時間が、切替速度変更時間よりも大きいか否かに基づいて行われる。減算して得られた時間が切替速度変更時間よりも大きい場合には、後述するステップS215が実施される。また、減算して得られた時間が切替速度変更時間以下である場合には、後述するステップS217が実施される。
減算して得られた時間が切替速度変更時間よりも大きい場合には、取得ストリーム選択部203は、パラメータ「PreviewInterval」の値が最小値になっているか否かを判定する(ステップS215)。パラメータ「PreviewInterval」の値が最小値以下である場合には、チャンネルの切替速度を変更せずに、後述するステップS219を実施する。また、パラメータ「PreviewInterval」の値が最小値超過である場合には、後述するステップS217を実施する。
チャンネルの切替速度が最小値よりも大きい場合には、取得ストリーム選択部203は、チャンネルの切替速度を変更する(ステップS217)。例えば、取得ストリーム選択部203は、現在設定されている切替速度の半分の値を、新たな切替速度として設定することが可能である。本実施形態では、パラメータ「PreviewInterval」は800ミリ秒に初期設定されており、プレビュー操作を継続中の場合には、例えば切替速度変更時間毎に切替速度の変更が行われる。その後、切替速度の変更に伴い、パラメータ「PreviewInterval」の値は、800ミリ秒、400ミリ秒、200ミリ秒、100ミリ秒の4段階で変更される。なお、上述の切替速度の変更方法は、あくまでも一例であって、チャンネルプレビューの画面構成や、リモートコントローラのボタン操作や、視聴者の嗜好等に応じて、様々な切替速度の変更方法が適用可能である。
続いて、取得ストリーム選択部203は、パラメータ「PreviewInterval」に設定されている時間が、以前のチャンネル切り替えから経過しているか否かを判定する(ステップS219)。より詳細には、取得ストリーム選択部203は、パラメータ「PreviewSwitchTimer」の値にパラメータ「PreviewInterval」の値を加算した時刻が、現在時刻を経過しているか否かを判定する。現在時刻を経過していない場合には、このステップで待機を行う。また、現在時刻を経過している場合には、前述のステップS203に戻って、次のチャンネルのプレビュー用圧縮データストリームへの切り替えを行う。
[プレビュー用圧縮データストリームへの切り替え処理について]
続いて、図16を参照しながら、本実施形態に係る情報処理装置20が実施するプレビュー用圧縮データストリームへの切り替え処理について、詳細に説明する。図16は、本実施形態に係る情報処理方法におけるプレビュー用圧縮データストリームへの切り替え処理を説明するための流れ図である。
まず、取得ストリーム選択部203は、記憶部209等に記録されている最新のIDRピクチャ配信予定時刻情報から、パラメータ「SelectChan」に該当するチャンネル情報を取得する(ステップS301)。
より詳細には、取得ストリーム選択部203は、まず、ブロードキャストディスカバリーレコードからチャンネルのマルチキャストアドレスを取得する。図12に示した例では、パラメータ「SelectChan」が1に設定されている場合、先頭位置の「<SingleService>」が該当するチャンネル情報である。このチャンネル情報の「<ServiceLocation>」には、図12に示したように、プレビュー用圧縮データストリームおよび視聴用圧縮データストリームの2種類のマルチキャストアドレスが記述されている。図12の例では、パラメータ「xx:PreviewServiceLocation」に記載されている<IPMulticastAddress>の値より、224.0.1.2が設定される。
次に、取得ストリーム選択部203は、最新のIDRピクチャ配信予定時刻情報から、各マルチキャストアドレスの配信予定時刻情報レコードを検索し、IDRピクチャ配信予定時刻を「NextTime」に設定する。ただし、IDRピクチャの配信時刻はコンテンツサーバ10の各配信部から送出された時刻であり、本来、IDRピクチャを含む先頭のMPEG2−TSパケットが情報処理装置20に届くまでには遅延がある。そのため、遅延時間が大きく無視できない場合は、コンテンツサーバ10から情報処理装置20までのネットワークの条件に合わせて、「NextTime」に適宜遅延時間を加算する必要がある。
次に、取得ストリーム選択部203は、マルチキャスト配信の切替完了予想時刻を算出する(ステップS303)。この切替完了予想時刻は、直ちにIGMPメッセージを発行して配信の開始や切り替えを行った場合に、新規に加入したマルチキャストグループの最初のパケットが到着するまでの予想時間である。この切替完了予想時刻「SwitchTime」は、現在時刻に切替所要時間を加算することで得ることができる。ここで、切替所要時間は、以下に示した時間の総和となる。
(1) 情報処理装置20がIGMPメッセージを発行するまでに要する時間
(2) IGMPメッセージがIGMPプロクシーをおこなっているエッジスイッチ、(例えば、DSLAM)に到達するまでの所要時間
(3) エッジスイッチが、現在、端末の接続されているアクセスネットワークに配信しているマルチキャストグループのパケットの配信を停止し、新たに加入したマルチキャストグループのパケットの配信を開始するまでの所要時間
(4) エッジスイッチが配信を開始した最初のパケットが情報処理装置20に到達するまでの所要時間
(5) 情報処理装置20が最初のパケットを受信して保存するのに要する時間
上記(1)〜(5)の値は、IPTVサービスのネットワークおよび情報処理装置20の性能に依存し、情報処理装置20やネットワークの条件に対応する切替所要時間の最大値が、予め情報処理装置20に設定されているものとする。例えば、切替所要時間の最大値を、8ミリ秒程度に設定することが可能である。
また、上記(3)において、加入者宅に複数台の情報処理装置20が接続されている場合は、パケット配信の停止に際して、他の情報処理装置20が同じマルチキャストグループへ加入していないかを確認するために要する時間も含む。通常、この確認は、RFC−3376に規定されているように、定期的なIGMPクエリーメッセージによって行われる。また、複数の情報処理装置20が、個別のマルチキャストグループへの加入、つまり、複数の情報処理装置20にて異なるチャンネルを視聴する場合には、アクセスネットワークには、複数のチャンネル分のマルチキャストを流すのに十分なデータ帯域が必要となる。このためのネットワークの帯域保障には、例えば、IMS(IP Multimedia Subsystem)などのQoS(Quality of Service)制御が利用可能である。
続いて、取得ストリーム選択部203は、配信の切り替えを実行するか否かを判定する(ステップS305)。より詳細には、取得ストリーム選択部203は、プレビュー用ストリームのIDRピクチャを含むIPパケット到着時刻と、算出した切替完了予定時刻SwitchTimeとの差を、所定の閾値と比較する。算出した差が閾値よりも大きい場合は、配信の切り替えは行わず、次のIDRピクチャ配信予定時刻情報のパケットまで待って(ステップS307)、ステップS301からの処理を実施する。
この切り替え実行に関する判定は、以下のような理由のために設定される。すなわち、直ちに表示の切り替えを実施したとしても、パケットの受信を開始してIDRピクチャが到着するまでは、情報処理装置20のコンテンツ再生部207は映像を伸張できない。そのため、画像が停止してしまう期間(以下、フリーズ期間と称する。)が生じてしまう。この判定により、フリーズ期間を短縮することが可能である。シームレスな映像の切り替えには、フリーズ期間をできるだけ短くするのが望ましいが、IDRピクチャの配信予定時刻のパケットの送出周期よりも長くする必要がある。そのため、フリーズ期間の最大値(以下、フリーズ許容時間と称する。)は、例えば、10ミリ秒に設定することが好ましい。
上述のような条件判定に基づき、取得ストリーム選択部203によってタイミングの決定がなされると、選局結果が、取得ストリーム選択部203からコンテンツ取得部205へと伝送される。コンテンツ取得部205は、選局結果に基づいてIGMPメッセージを発行して、情報処理装置20が接続しているアクセスネットワークへ配信されるマルチキャストパケットの配信切り替えを行う(ステップS309)。このIGMPメッセージの発行は、図7Aおよび図7Bに示したRFC−3376規定のIGMPバージョン3のレポートフォーマットにて行われる。
図17A〜図17CにIGMPパケットの例を示す。図17Aは、パラメータ「CurrentChan」が−1の場合、つまり、既に配信しているマルチキャストがない場合のものである。図17Aでは、パラメータ「SelectChan」(例では1)のマルチキャストアドレス「SelectAddress」(例では224.0.1.1)のマルチキャストグループに対して、RecordType=1(MODE_IS_INCLUDE)を指定して、マルチキャストデータ配信を開始するためにマルチキャストアドレスに加入することを意味している。図17Bは、パラメータ「CurrentChan」が−1以外の場合、つまり、既に配信しているマルチキャストアドレスがある場合のものである。例えば、「CurrentChan」(例では1)の「CurrentAddress」(例224.0.1.0)のマルチキャストグループに、RecordType=2(MODE_IS_EXCLUDE)を指定して配信の停止を指示し、「SelectChannel」(例では2)のマルチキャストアドレス「SelectAddress」(例では224.0.1.4)のマルチキャストグループに、RecordType=1(MODE_IS_INCLUDE)を指定して配信の開始を指示している。
IMGPバージョン3では、図17Bに示したように、ひとつのIGMPパケットによって一括して指示がおこなえるので、切り替え時にアクセスネットワークに重複してマルチキャストアドレスが配信されないような実装が可能であるという利点がある。
これにより、コンテンツ取得部205は、「SelectAddress」のマルチキャストパケットの受信を開始することとなる(ステップS311)。
配信の切り替えが完了するまでは、最大切替所要時間の間待機する必要があるので、マルチキャストパケットを受信していない場合は待機する(ステップS313)。ネットワークにてIGMPパケットの喪失の恐れがある場合は、複数のパケットをステップS309にて送信しておくか、ステップS309にてタイムアウトなどを設けて、IGMPパケットの再送信の処理を行うようにしてもよい。
ステップS313で待機した結果、待機後にはマルチキャストの配信切り替えが終了しているので、以前選局していたチャンネルが存在する場合には、コンテンツ取得部205は、該当する「CurrentAddress」のマルチキャストパケットの受信を終了する(ステップS315)。
その後、コンテンツ取得部205は、受信したマルチキャストパケットをコンテンツ再生部207に伝送し、コンテンツ再生部207は、新たに受信を開始したチャンネルのマルチキャストパケットに格納されているMPEG2−TSの再生を開始する(ステップS317)。実際には、IDRピクチャを含むMPEG2−TSパケットを受信してから、映像が情報処理装置20の表示部(図示せず。)に表示されることになる。このようにして、プレビュー用圧縮データストリームの切り替え処理は終了し、そのままチャンネルプレビューは継続することとなる。
[視聴用圧縮データストリームへの切り替え処理について]
続いて、図18を参照しながら、本実施形態に係る情報処理装置20が実施する視聴用圧縮データストリームへの切り替え処理について、詳細に説明する。図18は、本実施形態に係る情報処理方法における視聴用圧縮データストリームへの切り替え処理を説明するための流れ図である。
本実施形態に係る情報処理方法における視聴用圧縮データストリームへの切り替え処理は、図18に示したように、図16に示したプレビュー用圧縮データストリームへの切り替え処理と同様の流れにより行われる。本実施形態に係る視聴用圧縮データストリームへの切り替え処理は、図16におけるプレビュー用圧縮データストリームに関するパラメータに換えて視聴用圧縮データストリームに関するパラメータを適用することで実行可能である。
ここで、図18に示した配信の切り替え実行判定(ステップS405)において、以下のような観点で判断がなされる。すなわち、プレビュー用ストリームから視聴用ストリームに切り替える場合にも、取得ストリーム選択部203は、スムーズな切り替え、ブラックアウトや画面のフリーズ等を起こさないように処理を行う。そのため、取得ストリーム選択部203は、図19に示すような場合分けにて、切り替えタイミングの判断を行う。この場合、前述のように、視聴用ストリームもデータ未送信期間があるようにシェーピングして配信され、そのデータ未送信期間がプレビュー用ストリームのデータ未送信期間と同時刻に存在するようになっているため、よりスムーズに切り替えを行うことができる。
図19は、本実施形態に係る情報処理方法におけるデータストリームの切り替えタイミングの場合分けを説明するための説明図である。図19に示した(ケース1)では、ストリームの切り替えがIDRピクチャの到着までに間に合わないため、次のIDRピクチャの到着を待ってから、視聴用ストリームへの切り替えを行う。また、図19に示した(ケース2)では、ストリームの切り替えを行ったとしても、視聴用ストリームにおける次のIDRピクチャを受信するまでは遅延が生じることとなる。そのため、視聴用ストリームの次のIDRピクチャの受信を待ちながら、プレビュー用ストリームを受信し続ける。また、図19に示した(ケース3)では、実際にプレビュー用ストリームから視聴用ストリームへと切り替えを行う。
[チャンネル受信終了処理について]
続いて、図20を参照しながら、情報処理装置20が実施するチャンネル受信終了の処理について詳細に説明する。
まず、コンテンツ取得部205は、現在、受信中のマルチキャストパケットを停止する。マルチキャストパケットの受信停止は、図17Cに示したIGMPレポートメッセージを送信することで停止可能である(ステップS501)。図17Cに示したように、コンテンツ取得部205は、パラメータ「CurrentAddress」(例では224.0.1.4)のマルチキャストグループに対して、RecordType=2(MODE_IS_EXCLUDE)を指定してIGMPメッセージを送信することで、マルチキャストパケット配信の停止ができる。
次に、コンテンツ取得部205は、マルチキャストの受信を終了する(ステップS503)。その後、コンテンツ再生部207は、MPEG2−TSストリームの再生を終了する(ステップS505)。このような処理を行うことで、チャンネル受信終了の処理は完了する。
以上、本実施形態に係るIPTVシステムの高速チャンネル切り替えについて説明した。上記実施形態のみならず、本発明によれば、別の実施形態を考案することは容易であり、例えば、以下のような別の実施形態が考えられる。
また、本発明に係る実施形態では、H.264/AVCの場合について説明したが、MPEG2の映像圧縮を利用した場合でもIDRピクチャをIピクチャと考えることで、MPEG2の映像圧縮を利用したIPTVシステムにも、本発明を容易に適用することが可能である。
また、本発明に係る実施形態では、圧縮映像データと音声データとをMPEG2−TSにて多重化して送信したが、圧縮映像、音声データを個別にIPパケットにて配信する場合でも、本発明を適用することで、それらIPパケット配信を切り替えて高速チャンネル切り替えを実現するIPTVシステムを容易に実現することが可能である。
また、本発明に係る実施形態では、ひとつの映像音声信号のみを、圧縮映像データおよび音声データとしてMPEG2−TSにて多重化し、IPパケットに格納した上で配信の切り替えを行う。しかしながら、MPEG2−TSに複数の映像音声信号の圧縮映像データおよび音声データを多重化して配信し、情報処理装置20へのネットワーク経路にて、選択された映像音声信号に該当する圧縮映像・音声パケットのみをフィルターして送信することで、本実施形態と同様の高速チャンネル切り替えを実現したIPTVシステムを容易に実現可能である。
また、本発明に係る実施形態では、IDRピクチャの配信予定時刻情報は、次に送出される一つのIDRピクチャのみ端末である情報処理装置20に送信した。ここで、IDRピクチャの配信予定時刻レコードに複数のIDRピクチャについての配信予定時刻を指定して送信するようにすれば、情報処理装置20は、より厳密にチャンネル選択時におけるマルチキャストアドレスの選択を行うことができるのは自明である。
また、本発明に係る実施形態では、プレビュー用圧縮データストリームは、IDRピクチャのMPEG2−TSパケットのみが配置されるように符号化されるが、データ未配信期間に区切られたチャンクには、IDRピクチャ以外のPピクチャやBピクチャを数枚配置するようにしてもよい。このようにすることで、スムーズにプレビュー映像を再生することが可能である。ただし、この場合には、プレビュー用圧縮データストリームの画像解像度や毎秒のピクチャ数等を減らすなどして、アクセスネットワークに確保されるデータ帯域の制限を超えないようにする必要がある。
また、本発明に係る実施形態では、IGMPバージョン3の機能を利用し、一つのIGMPパケットにてマルチキャストグループの配信切り替えを行うことで、切り替え中にパケットが重複してアクセスネットワークに配信されないようにし、アクセスネットワークでIPTVシステムが使用するデータ帯域を制限するようにした。しかしながら、IGMPバージョン2を利用の場合でも、マルチキャストグループへの離脱を行って、配信が停止された後、切り替えるマルチキャストグループに加入する処理をすることで、同様にIPTVシステムで使用するデータ帯域を制限することは可能である。
また、本発明に係る実施形態では、コンテンツサーバ10が各チャンネルの複数MPEG2−TSストリームをエンコードし、コアネットワーク経由にて配信した。ここで、コアネットワークの帯域に制限のある環境では、以下のようなことを実施することも可能である。すなわち、コンテンツサーバ10では各チャンネルあたり一つの符号化されたパケットをコアネットワークにて配信を行い、アクセスネットワーク等の配信ネットワークの途中に、エッジサーバまたはエッジルータなどの別のコンテンツサーバを配置する。これらの別のコンテンツサーバにて、受信したMPEG2−TSストリームに対して、映像音声信号を元にIDRピクチャの配信タイミングが異なるMPEG2−TSストリームを生成して、配信する。このようにすることで、コアネットワークの帯域を制限しながら、本実施形態で説明したITPVシステムと同様の高速チャンネルスイッチを実現することができる。
また、本発明に係る実施形態では、端末である情報処理装置20にIDRピクチャの配信予定時刻情報を送信し、情報処理装置20が、チャンネルのマルチキャストアドレスの選択およびアクセスネットワークに送信するマルチキャストパケットの切り替のタイミングの判断を行った。ここで、IDRピクチャの配信予定時刻を、実際に配信切り替えを実行するIGMPスヌーピングをおこなうエッジスイッチ、または、エッジルータに配信し、情報処理装置20は、チャンネル選局処理が開始した時点で、直ちにマルチキャスト配信切り替え指示を行うようにする。指示を受信したエッジスイッチ、エッジルータは、IDRピクチャの配信予定情報を用いて、図13に示した情報処理装置の選局処理と同等の判断にて、マルチキャストアドレスの選択および配信切り替えタイミングを制御してもよい。
この場合には、エッジスイッチ、エッジルータ等のネットワーク機器は、図3に示した情報処理装置20が備える各処理部と同様の機能を有する処理部(例えば、コンテンツ取得部および取得ストリーム選択部)を有し、さらに、取得した圧縮データストリームを、所定のネットワークを介して情報処理装置20へと配信する配信制御部を備えることが好ましい。かかる処理部を有するネットワーク機器は、エッジサーバとして機能することが可能となる。
<プレビュー画面の一例について>
続いて、図21を参照しながら、本実施形態に係る情報処理方法を利用したIPTVのプレビュー画面の一例を示す。図21は、本実施形態に係る情報処理方法を利用したIPTVのプレビュー画面の一例を説明するための説明図である。
本実施形態に係る情報処理方法では、表示部(図示せず。)の表示画面全体にプレビュー画面ひとつのみを表示し、高速にチャンネルプレビューを切り替えることが可能である。しかしながら、表示部の表示画面501に複数のプレビューウィンドウを表示させて、チャンネルプレビューを実現することも可能である。
ここで、本実施形態に係る情報処理方法では、現在プレビューしているチャンネルの動画を、動画表示ウィンドウ503に表示しつつ、既にプレビューされたチャンネルの静止画を記憶部209にキャプチャーしておき、静止画表示ウィンドウ505に表示させることが可能である。このようなユーザインタフェースを実現させることで、視聴者は前後のチャンネルの映像を見ることが可能である。
なお、本発明の各実施形態では、プレビュー用圧縮データストリームは1種類のみ配信されているが、図21に示したようなユーザインタフェースでは、プレビュー用ストリームは視聴用ストリームよりも低い画像解像度で良いため、ビットレートを低くすることができる。そのため、アクセスネットワークに同時に複数のプレビュー用ストリームを配信することが可能となる。例えば、視聴用の画面がハイディフィニション(1920×1024ピクセル)の場合であれば、同じデータ帯域で、解像度がスタンダード(720×480ピクセル)である4〜5のストリームが配信できる。5つのプレビュー用ストリームを同時に受信し、プレビュー切り替え時に1つのストリームの配信切り替えに本発明の各実施形態に係る切り替え方法を適用することで、切り替え時にIDRピクチャのデータの取りこぼしを防ぐことができる。その結果、スムーズにプレビュー画面の切り替えを行うことができ、図21に示した画像を全て動画とすることができる。
<ハードウェア構成について>
次に、図22を参照しながら、本発明の各実施形態に係るコンテンツサーバ10および情報処理装置20のハードウェア構成について、詳細に説明する。図22は、本実施形態に係るコンテンツサーバ10および情報処理装置20のハードウェア構成を説明するためのブロック図である。
コンテンツサーバ10および情報処理装置20は、主に、CPU701と、ROM703と、RAM705と、ホストバス707と、ブリッジ709と、外部バス711と、インターフェース713と、入力装置715と、出力装置717と、ストレージ装置719と、ドライブ721と、接続ポート723と、通信装置725とを備える。
CPU701は、演算処理装置および制御装置として機能し、ROM703、RAM705、ストレージ装置719、またはリムーバブル記録媒体727に記録された各種プログラムに従って、コンテンツサーバ10および情報処理装置20内の動作全般またはその一部を制御する。ROM703は、CPU701が使用するプログラムや演算パラメータ等を記憶する。RAM705は、CPU701の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス707により相互に接続されている。
ホストバス707は、ブリッジ709を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス711に接続されている。
入力装置715は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置715は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、コンテンツサーバ10および情報処理装置20の操作に対応した携帯電話やPDA等の外部接続機器729であってもよい。さらに、入力装置715は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU701に出力する入力制御回路などから構成されている。コンテンツサーバ10または情報処理装置20のユーザは、この入力装置715を操作することにより、コンテンツサーバ10または情報処理装置20に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置717は、例えば、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなど、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置717は、例えば、コンテンツサーバ10および情報処理装置20が行った各種処理により得られた結果を出力する。具体的には、表示装置は、コンテンツサーバ10および情報処理装置20が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
ストレージ装置719は、コンテンツサーバ10および情報処理装置20の記憶部の一例として構成されたデータ格納用の装置であり、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置719は、CPU701が実行するプログラムや各種データ、および外部から取得した音響信号データや画像信号データなどを格納する。
ドライブ721は、記録媒体用リーダライタであり、コンテンツサーバ10および情報処理装置20に内蔵、あるいは外付けされる。ドライブ721は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体727に記録されている情報を読み出して、RAM705に出力する。また、ドライブ721は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体727に記録を書き込むことも可能である。リムーバブル記録媒体727は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、メモリースティック、または、SDメモリカード(Secure Digital memory card)等である。また、リムーバブル記録媒体727は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
接続ポート723は、例えば、USB(Universal Serial Bus)ポート、i.Link等のIEEE1394ポート、SCSI(Small Computer System Interface)ポート、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等の、機器をコンテンツサーバ10および情報処理装置20に直接接続するためのポートである。この接続ポート723に外部接続機器729を接続することで、コンテンツサーバ10および情報処理装置20は、外部接続機器729から直接音響信号データや画像信号データを取得したり、外部接続機器729に音響信号データや画像信号データを提供したりする。
通信装置725は、例えば、通信網731に接続するための通信デバイス等で構成された通信インターフェースである。通信装置725は、例えば、有線または無線LAN(Local Area Network)、Bluetooth、またはWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等である。この通信装置725は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置725に接続される通信網731は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
以上、本発明の各実施形態に係るコンテンツサーバ10および情報処理装置20の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
なお、本発明の各実施形態に係るコンテンツサーバ10は、以下に示すような機能を有するプログラムとして提供されることも可能である。このプログラムは、コンピュータに、映像音声コンテンツを符号化し、映像信号の圧縮によって生成された時系列データにおいて、以前のデータに依存せずに、それ以降の映像信号の復号化を開始できるデータである基準圧縮映像データのみからなる圧縮映像データストリームと、圧縮音声データストリームと、を有する第1圧縮データストリームを生成する第1符号化機能と、前記映像音声コンテンツを符号化し、前記基準圧縮映像データおよび当該基準圧縮映像データを用いて生成される圧縮映像データを含む圧縮映像データストリームと、圧縮音声データストリームと、を有する第2圧縮データストリームを生成する第2符号化機能と、前記第1圧縮データストリームを取得して、当該第1圧縮データストリームを、データ配信期間とデータ未配信期間とに区分し、区分した前記データ未配信期間と他のコンテンツサーバから配信される第1圧縮データストリームのデータ未配信期間とが互いに一致するように間欠的に配信する第1配信機能と、前記第2圧縮データストリームを取得して配信する第2配信機能と、を実現させるためのプログラムである。
このコンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、コンピュータを上記のコンテンツサーバ10として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
また、本発明の各実施形態に係る情報処理装置20は、以下に示すような機能を有するプログラムとして提供されることも可能である。このプログラムは、コンピュータに、一つの映像音声コンテンツに対応して、映像信号の圧縮によって生成された時系列データにおいて、以前のデータに依存せずに、それ以降の映像信号の復号化を開始できるデータである基準圧縮映像データのみからなる圧縮映像データストリームおよび圧縮音声データストリームを有し、データパケットがデータ配信期間とデータ未配信期間とに区分され、区分された前記データ未配信期間と他のコンテンツサーバから配信される第1圧縮データストリームのデータ未配信期間とが互いに一致するように間欠的に配信される第1圧縮データストリームと、前記基準圧縮映像データおよび当該基準圧縮映像データを用いて生成される圧縮映像データを含む圧縮映像データストリームならびに圧縮音声データストリームを有する第2圧縮データストリームと、を配信するコンテンツサーバが複数存在し、配信されている複数の前記映像音声コンテンツに対応した複数の圧縮データストリームの中から、取得する前記圧縮データストリームを選択する取得ストリーム選択機能と、選択した前記圧縮データストリームを取得するコンテンツ取得機能と、を実現させるためのプログラムである。
このコンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、コンピュータを上記の情報処理装置20として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
以上説明したように、本発明の各実施形態によれば、IPTVの加入者宅へのアクセスネットワークのデータ帯域が限定される環境でも、高品位な映像にて複数のチャンネルを高速に切り替えながらプレビューを実現することができる。その結果、本発明の各実施形態では、従来のアナログ放送のテレビと同等、またはそれ以上に、視聴したいチャンネルを快適に探す方法をチャンネル利用者に提供できる。
また、本発明の各実施形態によれば、プレビューのストリーム、視聴用のストリームに切り替えをおこなう際、映像が表示されないブラックアウト期間、または、プレビューのストリームの映像を停止状態で表示しておく時間を最小にすることが可能である。その結果、視聴者にはシームレスなチャンネル切り替えを提供することができる。
また、本発明の各実施形態によれば、視聴用ストリームだけ受信すれば、なんら従来のIPTVシステムと変わりない。そのため、本発明の各実施形態に基づく高速プレビューをサポートしない端末(既存の端末)も共存したIPTVシステムを構築可能である。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。