以下、実施例について図面を用いて説明する。なお、図面において、同一符号は、同一または相当部分を示す。また、本発明は、図示例に限定されるものではない。
本実施例は、番組情報送信装置からネットワークを介して取得した番組情報を用いて、番組情報受信装置が番組情報送信装置に対し、放送番組の予約録画設定を行うネットワーク経由の予約録画方式について説明する。
図1は本実施例のシステム構成の例である。
1は放送を受信するユーザ宅、2および3は放送局、4は外部ネットワーク、5は放送局3が送出する放送を伝送する伝送路である。
本実施例において放送局2と放送局3は異なる放送方式で放送を送出する。ここでは放送局2は地上波を用いた地上デジタル放送を送出し、放送局3は伝送路3を介してデジタルケーブルテレビ(CATV)放送を送出する場合を例に説明する。なお、放送局2と放送局3の放送方式はそれぞれが異なる方式であれば良く、衛星波で送出されるBSデジタル放送とCATV放送などの組み合わせでも良い。
ユーザ宅1、放送局2、放送局3は外部ネットワーク4に接続してもよい。外部ネットワーク4に接続した場合、放送局2、3は図示していないコンテンツサーバを用いて放送番組に関するコンテンツなどを提供できる。ユーザ宅1は外部ネットワーク4からコンテンツサーバに接続し、放送局2、3が提供するコンテンツを利用できる。
ユーザ宅1において、11は放送受信アンテナ、12および13は分配器、14はルータ、15はアクセスポイント、16はハブ、110および120は放送局3が送出するCATV放送を受信するデジタル放送受信装置、130、140、150は放送局2が送出する地上デジタル放送を受信するデジタル放送受信装置、160はモバイル機器である。20はユーザ宅1の部屋の境界線を示している。ここでは、境界線20の下がユーザ宅1の1階、上を2階とする。
放送受信アンテナ11は放送局2が送出する地上デジタル放送を受信し、受信したデジタル放送は分配器12を介して地上デジタル放送を受信できるデジタル放送受信装置130、140、150に分配される。ここでは地上デジタル放送の受信装置として130はデジタルテレビ(DTV)、140は録画機能を備えたデジタルテレビ(録画機能付きDTV)、150はレコーダを例に示している。
放送局3が送出するCATV放送は伝送路5を介してユーザ宅1に送出され、分配器13を介してCATV放送を受信できるデジタル放送受信装置110と120に分配される。ここではCATV放送の受信装置として110は録画機能を備えたセットトップボックス(録画機能付きSTB)、120はセットトップボックス(STB)を例に示している。録画機能付きSTB110とSTB120が受信したデジタル放送や録画機能付きSTB110が再生したコンテンツはDTV130に出力され表示される。
ユーザ宅1のデジタル放送受信装置110、120、130、140、150はハブ16を介して相互に接続可能であり、ハブ16に接続された装置でユーザ宅1のホームネットワークを構築し、ルータ14を介して外部ネットワークにも接続できる。モバイル機器160はアクセスポイント15を介してハブ16に接続し、ホームネットワークを構成する装置となる。デジタル放送受信装置110、120、130、140、150はハブ16を介して相互に接続可能であり、ルータ14を介して外部ネットワークにも接続できる。
なお、図1のシステムにおいて、デジタル放送受信装置110は本実施例に係る番組情報送信装置として動作し、ネットワークを介して放送の番組情報を提供する「EPGサーバ機能」を備える。デジタル放送受信装置140は本実施例に係る番組情報受信装置として動作し、ネットワークを介して番組情報を取得しユーザに提供する「EPGクライアント機能」を備える。以下、デジタル放送受信装置110を番組情報送信装置110と、デジタル放送受信装置140は番組情報受信装置140と表記する。
図2は本実施例に係る番組情報送信装置110の構成図例を示すブロック図である。
番組情報送信装置110は、チューナ部201、復調復号部202、デマックス部203、音声デコード部205、映像デコード部206、データデコード部207、合成部208、ネットワーク接続部209、記録再生部210、制御211、メモリ213、入出力部214、操作I/F部215、限定受信I/F部216、限定受信情報記憶部217、アンテナ接続端子221、デジタル音声信号出力端子222、デジタル映像信号出力端子223、ネットワーク端子224、操作信号受信部226を有し、CATV放送を受信するデジタル放送受信装置である。
CATV放送は、アンテナ接続端子221からチューナ201に入力される。チューナ201は、受信すべきチャンネルのチャンネル周波数帯を抽出し、抽出したチャンネル周波数帯を直交復調によりベースバンド信号として復調復号部202に出力する。
復調復号部202は、ベースバンド信号に対して、例えば8PSK(Phase Shift Keying)を用いた同期復調を行い、ビタビ復号やRS(リード・ソロモン)復号などの誤り訂正を施し、デジタル放送信号を復号してデマックス部203に出力する。
ここでは、デジタル放送信号として、MPEG(Moving Picture Experts Groupe)方式によって圧縮符号化され、TS(Transport Stream)方式で多重化されたMPEG2−TSを扱う場合について説明する。
デマックス部203は、多重化されたMPEG2−TSから後段で使われる音声信号、映像信号、字幕やデータ放送信号を分離・抽出する。そして、限定受信I/F部217を介して限定受信情報記憶部217に保持されている鍵情報などを取得し、この情報を用いて著作権保護のためにMPEG2−TSにかけられているスクランブルを解除し、放送番組などコンテンツを構成する映像信号や音声信号や字幕の信号ストリームであるPES(Packetized Elementary Stream)あるいはES(Elementary Stream)やデータ放送などのデータを出力する。
音声デコード部205はデマックス部203で分離・抽出された音声信号のPESあるいはESをデコードし、デジタル音声信号出力端子222に出力する。映像デコード部206はデマックス部203で分離・抽出された映像信号のPESあるいはESをデコードし、合成部208に出力する。データデコード部207はデマックス部203で分離・抽出された字幕やデータ放送信号をデコードし、合成部208に出力する。合成部208は映像デコード部206、データデコード部207から入力された信号を合成して表示画面を構成し、デジタル映像信号出力端子223へ出力する。
ネットワーク接続部209は通信処理部と伝送コンテンツ保護部を備えネットワーク端子224を介してハブ16に接続された他の機器やネットワーク3に接続された宅外のサーバなどとデータやコンテンツの送受信を行う。通信処理部は通信プロトコルの解釈や、通信データのフロー制御をおこなう。伝送コンテンツ保護部は、コンテンツに課された著作権保護に応じて機器認証処理を行ったり、ネットワークへ出力するコンテンツの暗号処理や、ネットワークから受信したコンテンツの復号処理を施す。
記録再生部210は記録媒体と暗号・復号処理部を備え、受信した放送番組などのコンテンツやネットワークを介して取得したコンテンツを記録媒体に書き込む記録処理、および、記録したコンテンツを記録媒体から読み出し出力する再生処理、記録したコンテンツの削除処理などを担う。また、コンテンツを記録媒体に記録する際には暗号・復号処理部で適切な暗号化処理を施し、コンテンツを記録媒体から読み出す場合は、記録時に施された暗号を復号して出力する。なお記録媒体は、ハードディスクのような取り外せない記録媒体、もしくは光ディスク、リムーバブルハードディスク、メモリカードのような取り外し可能な記録媒体のどちらか、もしく両方を備える。また、ハードディスクと光ディスクとメモリカードなどのように数種類の記録媒体を備えても良い。
制御部211はOS(Operating System)やアプリケーションの実行処理を行い、番組情報送信装置110を機能させる。
メモリ213は揮発性メモリおよび不揮発性メモリで構成する。不揮発性メモリにはOSやアプリケーションなどの番組情報送信装置110を動作させるためのソフトウェアを格納する。揮発性メモリにはソフトウェアの動作に必要なデータなどを一時的に格納する。
操作I/F部215は、操作信号受信部226を介して操作装置230からの入力信号を受信し、制御部211へ出力する。操作装置230は、例えばリモコンやマウス、キーボード、タッチパネルなどである。操作信号受信部226は赤外線などを用いて無線で操作装置230からの入力信号を受信しても良いし、接続端子を介して操作装置230を有線接続し、入力信号を受信しても良い。
システムバス227は番組情報送信装置110の構成要素に接続されるデータバスである。各構成要素の間で、制御信号やデータ信号の通信に使用される。
限定受信I/F部216は限定受信情報記憶部217を接続するインターフェースである。限定受信情報記憶部217はスクランブルを解除するための鍵情報などを保持する。
デジタル音声信号出力端子222、デジタル映像信号出力端子223は番組情報送信装置110が受信した放送番組や記録した放送番組等のコンテンツを視聴するために、外付けのテレビなどに非圧縮のデジタル音声信号、デジタル映像信号を出力する出力端子である。デジタル音声信号出力端子222、デジタル映像信号出力端子223は物理的に分離されたコネクタから出力されても良いし、複数の出力端子を備えるコネクタを用いて1つのコネクタから出力されるように実装しても良い。また、コネクタに制御信号出力端子を割り当て、ディスプレイなど外部接続された表示機器を制御するための表示機器制御信号を出力しても良い。
図3は本実施例に係る番組情報受信装置140の構成図例を示すブロック図である。図3において図2と同一または相当部分は同一符号で示し、説明を省略する。
番組情報受信装置140は番組情報送信装置110の構成に加え、音声出力部301、映像表示部302、音声入力切替部303、映像入力切替部304、デジタル音声信号入力端子305、デジタル映像信号入力端子306を備える。
音声デコード部205でデコードされた音声信号はデジタル音声信号出力端子222と音声入力切替部303に出力される。
合成部306から出力される映像信号はデジタル映像信号出力端子223と映像入力切替部304に出力される。
デジタル音声信号入力端子305、デジタル映像信号入力端子306は外部からの音声信号、映像信号を入力する端子である。入力された信号は音声入力切替部303、映像入力切替部304を介して音声出力部301、映像表示部302へ出力される。
音声入力切替部303と映像入力切替部304は、音声出力部310や映像表示部302に、外部から入力された信号を出力するか、内部で生成した信号を出力するかの切り替えは、制御部211によって制御される。
なお、デジタル音声信号出力端子222、デジタル映像信号出力端子223は物理的に分離されたコネクタから出力されても良いし、複数の出力端子を備えるコネクタを用いて1つのコネクタから出力されるように実装しても良い。また、コネクタに制御信号出力端子を割り当て、ディスプレイなど外部接続された表示機器を制御するための表示機器制御信号を出力しても良い。
また、デジタル音声信号入力端子305、デジタル映像信号入力端子306も物理的に分離されたコネクタから出力されても良いし、複数の出力端子を備えるコネクタを用いて1つのコネクタから出力されるように実装しても良い。また、コネクタに制御信号入力端子を割り当て、番組情報受信装置140を表示機器として制御させるための表示機器制御信号が入力されても良い。制御部211は、入力された制御信号に基づき、著作権保護のための暗号を復号したり、入力された映像信号の階調数を判断したり、2D映像か3D(立体)映像かを判断したりし、それによって、出力する表示及び音声を制御する。
図4は図2に示した番組情報送信装置110のソフトウェア構成例を示す図である。
番組情報送信装置110の機能を実現する制御ソフトウェア400は番組情報送信装置110のメモリ213に展開され制御部211で実行される。
制御ソフトウェア400は番組表生成部410、番組情報処理部411、番組情報変換部412、コンテンツ管理部413、予約管理部414、ネットワーク通信処理部420、メッセージ解析部421、メッセージ生成部422、メディア配信サービス423、機器情報サービス424、コンテンツディレクトリサービス425、番組情報提供部426、コンテンツ情報提供部427、ストリーミング接続サービス428、予約録画サービス429、アプリ管理部450で構成される。
なお、アプリ管理部450は制御ソフトウェア400を構成するほとんど全てのソフトウェアブロックと制御やデータ参照などの関係を持つが、図が煩雑になるため他のソフトウェアブロックに対する関係線は省略する。
番組表生成部410は、番組情報処理部411を参照して取得した放送番組の情報を用いてユーザが放送予定の番組の情報を閲覧したり、所望の番組を選択して選局、あるいは所望の番組の録画や視聴の予約を可能にするユーザインターフェース(UI)を提供する電子番組表を生成する。
番組情報処理部411は、デマックス部203により分離・抽出された放送番組の情報を含むPESあるいはESから、放送スケジュール、番組タイトルなどの番組情報を取得して番組情報テーブルを構成し、メモリ213もしくは記録再生部210に記録する。
番組情報処理部411は、受信装置が受信できる放送局の番組情報を取得する。そして、取得した番組情報の変更や新しい番組情報を取得した場合には、その都度、番組情報テーブルを更新する。番組情報は、例えば、MPEG−TSの番組特定情報(PSI:Program Specific Information)、あるいは、番組配列情報(SI:Service Information)に挿入されるものである。
番組情報変換部412は、番組情報をデジタル放送で用いられる書式(以下、放送書式と表現する)から、ネットワーク送出で用いられる書式(以下、ネットワーク書式と表現する)に変換してネットワーク書式番組表データをメモリ213もしくは記録再生部210に記録する。ネットワーク書式番組表データは番組情報テーブルの更新に同期して更新される。また、番組情報変換部412は、番組情報サービス426の問い合わせに対し、照会条件を満たす番組情報を抽出し、ネットワーク書式で番組情報を出力する。
コンテンツ管理部413は、記録再生部210にコンテンツを記録する際に、そのコンテンツのコンテンツ情報を生成し、メモリ213もしくは記録再生部210に記録する。コンテンツ情報とは、例えば、コンテンツを一意に定める識別子(コンテンツID)、ファイル名、サイズ、コンテンツの種類、データフォーマット、記録日時や、タイトル名、ジャンル、コピー制御情報、などの番組情報である。ここで、コンテンツの種類とは映像、音声、画像などを示し、データフォーマットとはMPEG(Moving Picture Experts Group)やMP3(MPEG Audio Layer‐3)などコンテンツの符号化方式を示す。コンテンツ情報は、記録するコンテンツが放送番組の場合は番組情報処理部411から取得し、ネットワークを介して取得したコンテンツの場合はコンテンツの送信元から取得する。また、コンテンツとコンテンツ情報の対応付けや、コンテンツが削除されたり移動した場合のコンテンツ情報の更新、コピー回数に制限があるコンテンツについてのコピー回数の管理などを行う。また、コンテンツ情報を基に記録したコンテンツの一覧を提示するUIを生成しユーザに提示する。更に、ユーザの指示により、ユーザが選択したコンテンツを再生したり、コピーや移動の処理を行う。
予約管理部414は、ユーザが電子番組表などを操作して設定する録画および視聴の予約や、予約録画サービス429から指定される録画の予約を受け付け、予約情報を管理する。予約情報はメモリ213もしくは記録再生部210に記録する。また、予約された番組の開始時刻を監視し、チャンネル部201で受信するチャンネルを適切に設定したり、録画予約の場合は、放送番組などコンテンツを構成するストリームがデマックス部203から記録再生部210に出力されるように設定するなど、予約を実行するときの設定処理も行う。
ネットワーク通信処理部420は、ネットワークで接続された他の機器との間でコンテンツや制御メッセージを送受信する際に通信プロトコルに従って通信データの処理を行う。
メッセージ解析部421は、ネットワーク上の機器の間で送受信される所定の形式に従って生成された制御要求などのメッセージを解釈し、要求された制御を処理するサービスに振り分ける。
サービスとは、機器が他の機器に対して提供する機能であり、他の機器はネットワークを介して遠隔操作で機器が提供するサービスを利用できる。図4では、メディア配信サービス423、機器情報サービス424、コンテンツディレクトリサービス425、ストリーミング接続サービス428、予約録画サービス429がこれに相当する。
メッセージ生成部422は、各種サービスが出力する、他の機器からの制御要求に対する応答や、他の機器に対しての制御要求を、ネットワーク上の機器の間で用いられる所定の形式に従ったメッセージで生成する。生成したメッセージは、例えば図11(a)、図11(b)のような形式で作成され、ネットワーク通信処理部420を介して適切な通信プロトコルで他の機器に送信される。
メディア配信サービス423は、指定されたコンテンツを、ホームネットワーク、あるいは、公衆ネットワーク網4を介して他の機器に送出するサービスを提供する。メディア配信サービス423は、他の機器からの要求に従って、番組情報送信装置110が受信した放送番組や記録再生部210に記録した放送番組などのコンテンツを、ネットワーク通信処理部420に出力する。また、ネットワークを介して、配信の開始や停止、一時停止、スキップなどコンテンツの配信を制御するためのインターフェースを提供する。また、対応する転送プロトコルの情報をメモリ213もしくは記録再生部210に記録する。転送プロトコルとはHTTP GETやRTP(Real‐time Transport Protocol)などの事である。
機器情報サービス424は、自身の機器について記述した機器記述情報や、自身の機器が提供するサービスの詳細について記述したサービス詳細情報などを他の機器に提供する。また、自身の機器がネットワークへ接続したり、ネットワークから離脱するときにホームネットワーク上に通知したり、他の機器からのデバイス検索に対して応答を行う。機器記述情報およびサービス詳細情報については後で説明する。
コンテンツディレクトリサービス425は、番組情報送信装置110が他の機器に提供できる全てのコンテンツに関して、コンテンツのタイトル、ジャンルなどのメタデータ情報を提供する。コンテンツディレクトリサービス425は記録再生部210に記録されたコンテンツに関してはコンテンツ情報提供部427から、放送のEPG情報に関しては番組情報提供部426からメタデータ情報を収集する。
番組情報提供部426は、番組情報変換部412を参照して、コンテンツディレクトリサービス425からの要求に従って、編成チャンネルの一覧情報や指定されたチャンネルの番組一覧情報、各番組の情報などを提供する。
コンテンツ情報提供部427は、コンテンツディレクトリサービス425からの要求に従って、コンテンツ管理部413が作成したコンテンツ情報を参照し、録画番組の一覧情報や、指定された録画番組の詳細情報などを提供する。
ストリーミング接続サービス428は、配信サービス423が対応する転送プロトコルやコンテンツの種類、データフォーマットの情報を提供する。転送プロトコルはメディア配信サービス423から取得し、コンテンツの種類やデータフォーマットはコンテンツ管理部413が作成したコンテンツ情報を参照して取得する。
予約録画サービス429は、ネットワークを介した予約録画の登録や削除を予約管理部414に設定したり、予約されている録画の一覧情報などを予約管理部414から取得して提供する。
アプリ管理部450は、番組情報受信装置140で動作する各ソフトウェアの動作を管理するものである。アプリ管理部450は、操作装置230から所定の操作ボタンの押下を示す信号の入力を受けた場合に所定のアプリを起動するなどのような制御を行う。
図5は、図3に示した番組情報受信装置140のソフトウェア構成図である
番組情報受信装置140の機能を実現する制御ソフトウェア500は番組情報受信装置140のメモリ213に展開され制御部211で実行される。
制御ソフトウェア500は番組表生成部410、番組情報処理部411、コンテンツ管理部413、ネットワーク通信処理部420、メッセージ解析部421、メッセージ生成部422、機器情報サービス424、ネットワーク予約録画アプリ501、取得番組表生成部510、予約設定管理部514、メディア受信コントローラ523、コンテンツディレクトリコントローラ525、番組情報取得部526、コンテンツ情報取得部527、ストリーミング接続コントローラ528、予約録画設定コントローラ529、機器検出部530、アプリ管理部450で構成する。
図中、図4と同一の符号は、同一または相当部分を示すため、説明は割愛する。
ネットワーク予約録画アプリ501は、ホームネットワーク上の他の機器へ録画予約を行うネットワーク経由の予約録画機能をユーザに提供するアプリケーションである。ネットワーク予約録画アプリ501は機器検出部530やコンテンツディレクトリコントローラ525、予約録画設定コントローラ529などを制御して、ホームネットワーク上の他の機器を検索し、その機器から番組情報を取得して予約録画を設定する。ネットワーク経由の予約録画機能の処理については後で詳細を説明する。
なお、アプリ管理部450、及び、ネットワーク予約録画アプリ501は制御ソフトウェア500を構成するほとんど全てのソフトウェアブロックと制御やデータ参照などの関係を持つが、図が煩雑になるため他のソフトウェアブロックに対する関係線は省略する。
取得番組表生成部510は、番組情報取得部526を参照して、他の機器から取得した放送に対する電子番組表を生成する。これにより他機器が受信する放送の番組を選択して選局、あるいは所望の番組の録画や視聴の予約を可能にするユーザインターフェース(UI)を提供する。
予約設定管理部514は、予約録画設定コントローラ529を介して他の機器に設定した予約録画設定の情報を保持し、管理する。
メディア受信コントローラ523は、ホームネットワーク、あるいは、公衆ネットワーク網4を介して送出されたコンテンツを受信し、記録再生部210に記録したり、あるいは、デマックス部203に出力する。また、ユーザ操作により配信の開始や停止、一時停止、スキップなどコンテンツの配信を制御するコマンドをコンテンツの配信元に送出する。また、対応する転送プロトコルの情報をメモリ213もしくは記録再生部210に記録する。
コンテンツディレクトリコントローラ525は、ネットワーク予約録画アプリ501などの指示により、コンテンツのタイトル、ジャンルなどのメタデータ情報を要求し取得する。EPGのメタデータ情報を取得した場合は番番組情報取得部526に出力し、その他の映像や音声、画像などのコンテンツのメタデータ情報を取得した場合はコンテンツ情報取得部527に出力する。
番組情報取得部526は、他の機器から取得した番組情報を番組表データはメモリ213もしくは記録再生部210に記録する。このとき、番組情報の提供元の機器をホームネットワーク上で一意に識別するためのネットワークIDと対応付けて記録する。また、参照要求に応じて番組情報を取得番組表生成部510へ出力する。
コンテンツ情報取得部527はコンテンツディレクトリコントローラ525が取得したコンテンツのメタデータ情報を保持し、ユーザにネットワークを介して取得可能なコンテンツの情報を提供するUI画面を生成する。
ストリーミング接続コントローラ528は、他の機器に対して転送プロトコルやコンテンツの種類、データフォーマットの情報を要求する。
予約録画設定コントローラ529は、他の機器に対して予約録画の登録や削除の設定や、予約されている録画の一覧情報などを要求する。
機器検出部530は他の機器のネットワークへの接続や離脱の通知を検知し、制御対象の機器の接続を検知した場合には、その機器の機器記述情報や、サービス詳細情報を取得し、ネットワークIDやデバイスタイプなどで参照できる形式でメモリ213もしくは記録再生部210に記録する。また、接続状態管理情報として、接続の状態を示す接続状態情報と更新時刻情報(接続または離脱した日時を示す値)などを機器を特定するネットワークIDなどで参照できる形式で記録する。また、必要に応じて、ホームネットワーク上の所望の制御対象機器を検索するデバイス検索要求を送信する。離脱の通知を検知した場合は、接続状態を、離脱を示す値に更新、更新時刻情報を離脱の通知を検知した時刻に更新する。離脱した機器の機器記述情報や、サービス詳細情報は、離脱を検知したときに削除しても良いし、離脱から所定の時間(24時間など)経過した後に削除しても良い。
ここで、機器情報サービス424が提供する機器記述情報の詳細について説明する。
機器記述情報はデバイス情報とサービス情報リストなどの情報を含む。
デバイス情報は、機器についての基本的な情報を記述したもので、デバイスタイプ、機器の名称、メーカ名、モデル名、シリアル番号、ネットワークID、バージョン、アイコン情報などの情報を含む。
デバイスタイプとは、機器がネットワークに提供する機能を示すものである。例えば、映像、音声、EPGの情報などコンテンツを配信する機能を持つ機器をメディアサーバ(MediaServer)、ネットワークを介してコンテンツを受信して再生する機能を持つ機器をメディアレンダラ(MediaRenderer)のように定義する。
ネットワークIDとは、ホームネットワーク上で機器を一意に識別するためのIDでメモリ213の不揮発性メモリに保持されている。
サービス情報リストは、機器が実装するデバイスタイプによってネットワークに提供されるサービスの一覧情報である。サービス毎に、サービスタイプ、サービスID、サービス記述URL(Uniform Resource Locator)、コントロールURL、イベントURLなどで構成される。
デバイスタイプがメディアサーバ(MediaServer)である場合は、コンテンツディレクトリサービス(ContentDirectoryService)、ストリーミング接続サービス(ConnectionManagerService)、予約録画サービス(ScheduledRecordingService)などのサービスを提供する。
サービスタイプとは、各サービスの機能を示すもので、上記したコンテンツディレクトリなどがこれに該当する。
サービスIDは、この機器記述情報の範囲でサービスを一意に識別するIDである。
サービス記述URLは、サービスが提供する制御を利用するための制御方法(アクション)の詳細について記述したサービス詳細情報を取得するためアクセス先である。
コントロールURLは、サービスを使用して制御を行うためのアクションコマンドの送信先である。
イベントURLはサービスでイベントが発生したときにその通知を受けるためにイベント配信登録を送信する登録先である。
サービス詳細情報は、アクションリストとサービス状態テーブルなどの情報を持つ。
アクションリストは1つ以上のアクションの情報を含むリストである。アクションとはサービスが提供する制御を利用するための制御方法についての記述で、アクション名、および、引数毎に引数名、引数の入出力方向、型定義名を定めた一覧情報である引数リストなどの情報を持つ。
サービス状態テーブルは1つ以上の状態変数情報を含むテーブルである。状態変数情報とはアクション使われる引数の型定義名、string、ui4など引数のデータ型、必要に応じてデフォルト値、設定可能な値のリスト、設定可能な値の範囲などの情報を持つ。
図6は、番組情報送信装置110の機器記述情報の一例である。本実施例では機器記述情報600はデバイス情報610、サービス情報リスト620に加えて付加機能リスト630を持ち、デバイスタイプ611で定義されたデバイスが付加機能を提供する。
図6において、番組情報送信装置110は、デバイス情報610内の611の記述でデバイスタイプが「MediaServer」であることが定義されている。サービス情報リスト620には、番組情報送信装置110が提供するサービス毎にサービスの情報を記述する。
本実施例では番組情報送信装置110はサービス621、622などを提供している。
サービス621は、サービスタイプ625が「ContentDirectory」で、サービス記述URL626に記述された「ContentDirectoryURL」にアクセスしてサービス詳細情報を取得できることを示している。
コントロールURL627に記述された「CDControlURL」は、アクション要求の送信先を示す。
付加機能リスト630は、デバイスタイプ611で定義されたデバイスの基本機能に付加された付加機能を付加機能タイプで記述する。
631の「EpgServer」は、番組情報送信装置110が受信した放送の番組情報を提供するEPGサーバ機能を提供することを示す。
632の「EpgDirectScheduledRecorder」は、ネットワークを介して行う番組の予約録画を、EPGサーバにより提供される番組アイテムのIDプロパティを用いて設定できるEpgダイレクト予約録画機能を提供することを示す。
このように、機器記述情報600に付加機能リスト630を追加することにより、他の機器は、機器記述情報600を取得するだけで、番組情報送信装置110がコンテンツを配信するメディアサーバであり、付加機能としてEPGサーバ機能とEpgダイレクト予約録画機能をネットワーク上の他の機器に提供していることを知ることができる。 ここで、番組情報送信装置110におけるEPGサーバ機能の実現方法について説明する。EPGサーバ機能はコンテンツディレクトリサービス425で提供する。
コンテンツディレクトリサービス425は、番組情報送信装置110がネットワークに配信するコンテンツのメタデータを、サービスを受ける機器に提供し、提供されたメタデータの制御方法(アクション)はサービス詳細情報で提供する。
ネットワークに配信するコンテンツの例としては、記録再生部210に記録した放送番組や写真などのAVコンテンツや、番組情報やチューナ情報などの情報コンテンツなどが挙げられる。メタデータとは、コンテンツのタイトル、ジャンル、コピー制御情報など、そのコンテンツに関するプロパティ情報である。
図7にコンテンツディレクトリサービス425のサービス詳細情報のアクションリストの一例を示す。
図に示すように、アクション毎にアクション名と引数リストを設定する。図7では710、720、730、740、750、760、770が各アクションを示す。アクション710のアクション名が711、引数リストが712である。引数リストには1つ以上の引数の情報を列挙する。
図7では1行で1つの引数の情報を示している。791の列は引数名、792の列は入出力方向(INまたはOUT)、793の列は型定義名を示す。型定義名で示された型(状態変数)の詳細情報は図8のサービス状態テーブルに記述される。
図8はコンテンツディレクトリサービス425のサービス詳細情報のサービス状態テーブルの一例である。図8で810、820、830、840、850、860が状態変数の詳細情報である。状態変数の詳細情報は状態変数の名前831、データ型832、および、必要に応じて設定可能な値の定義(許可値)834、835を1つ以上含む許可値リスト833などで構成する。
コンテンツディレクトリサービス425を利用する装置は、アクションの引数の型定義名を用いてサービス状態テーブルを参照し、引数のデータ型名などの詳細情報を取得できる。一例を示すと、アクション720のBrowseの引数BrowseFlagの型定義名はA_ARG_TYPE_BrowseFlagである。この装置は、型定義名がA_ARG_TYPE_BrowseFlagである場合、サービス状態テーブル(図8)を参照し、名前が一致する状態変数の詳細情報830から引数のデータ型がstringで、設定できる値が“BrowseMetadata”、“BrowseDirectChildren”であることを知ることができる。
アクションの要求メッセージと応答メッセージは、例えば、HTTPプロトコルを用いてSOAPメッセージでカプセル化して送信する。このとき、アクション名や入出力の引数はSOAPボディにXML(Extensible Markup Language)形式で記述される。アクション要求の送付先は、機器記述情報600のサービス情報リスト620で、サービス毎にコントロールURL627として記述される。
以下、図7に示されたアクションの中で本実施例に係る番組情報の送信に関連するアクションである710について説明する。
GetFeatureList711はコンテンツディレクトリサービス425がAVコンテンツの他に情報コンテンツも提供する場合に、提供できる情報コンテンツの名前などの情報を提供するアクションである。図9はアクションGetFeatureListのアクション要求により、コンテンツディレクトリサービス425から応答メッセージとして送信されるFeatureListの一例である。
910は、FeatureListを記述したXMLドキュメントである。
920は、XMLヘッダである。
930に示すように、<Features>タグでコンテンツディレクトリサービス425が提供する情報コンテンツの情報の一覧を記述する。各情報コンテンツの情報は931、932に示すように<Feature>タグで記述する
。<Feature>タグのname属性は、情報コンテンツの名前を示す。
“EPG”は番組情報を、“TUNER”はチューナ情報を提供することを示す。
<objectIDs>タグにはname属性で指定された情報コンテンツを特定するIDを記述する。情報コンテンツを複数提供する場合は932に示すように“,(カンマ)”で区切ってIDを列挙する。
なお、“EPG”のobjectIDは提供する番組情報のrootコンテナであるEPGコンテナの@idプロパティ(図12)に対応する。EPGコンテナはCATV放送、地上デジタル放送、BS放送のような放送システムの単位で提供する。放送システム単位で提供することで、EPGクライアント機能を持つ機器は、EPGサーバ機能を持つ機器がネットワーク上に複数存在する場合でも、所望の放送システムのEPGを提供する機器を容易に探索できる。EPGコンテナは放送システムの情報を保持するコンテナである。
ここで、図10でEPGサーバ機能が提供する番組情報の全体構成例を説明する。
EPGコンテナ(epg container)1001は、番組情報の最上位のrootコンテナであり、放送システムの情報を保持する。EPGコンテナ1001は、この放送システムで提供する編成チャンネルの数だけチャンネルコンテナを持つ。チャンネルコンテナにはテレビ放送のような映像放送を示すビデオチャンネルコンテナ(epgVideoChannel container)1010、1020と、ラジオ放送のような音声放送を示すオーディオチャンネルコンテナ(epgAudioChannel container)1030を定義する。さらにチャンネルコンテナは、そのチャンネルで放送する番組の情報を提供する番組アイテムを持つ。番組アイテムには映像番組を示すEPGビデオ番組アイテム(videoProgram item)1011、1012、1013、1021,1022,1023と音声番組を示すEPGオーディオ番組アイテム(audioProgram item)1031、1032を定義する。なお、本実施例では、EPGコンテナ、チャンネルコンテナ、番組アイテムを総称してEPGオブジェクトと呼ぶ。
各コンテナ、アイテムに定義されるプロパティ情報の詳細を図12、図13、図14、図15に示す。ここで定義するプロパティはネットワーク書式の番組情報であるEPGオブジェクトに用いるものである。番組情報変換部412が番組情報をデジタル放送で用いられる放送書式の番組情報を用いて変換し、生成する。
図12は番組情報を提供するコンテナ、および、アイテムに共通に定義されるプロパティである。”@”はこのプロパティが属性情報であることを示す。以後、「属性id」と記述した場合は図12の「@id」であることを表す。同様に、「属性parentID」と記述した場合は図12の「@restricted」であることを、「属性restricted」と記述した場合は図12の「@restricted」であることを表す。番組アイテムにおいて属性idはその番組アイテムに記述された番組を一意に特定する識別情報である。属性parentIDはその番組アイテムを持つチャンネルコンテナの属性idを示す。
図13はEPGコンテナ、図14(a)〜(b)はビデオチャンネルコンテナ、図15(a)〜(h)はEPGビデオ番組アイテムのプロパティ情報である。オーディオチャンネルコンテナのプロパティ情報は図14のビデオチャンネルコンテナのプロパティと“catv:class”プロパティの値が異なるだけなので記載を省略する。
オーディオチャンネルコンテナでは、”object.container.epgContainer.epgAudioChannel”と半角文字列で記述する。EPGオーディオ番組アイテムのプロパティ情報は図15のEPGビデオ番組アイテムのプロパティと“upnp:class”プロパティの値が異なるだけなので記載を省略する。EPGオーディオ番組アイテムでは“object.item.epgItem.audioProgram”と半角文字列で記述する。
図16はEPGコンテナを例に、プロパティ定義をXMLドキュメントで記述した場合を示す。1610はEPGコンテナのXMLドキュメントである。EPGコンテナはcontainerオブジェクトなので1611、1615に示すように<container></container>タグで囲む。そして、1620で破線で囲って示すように、<container></container>タグの中に、図13で定義したEPGコンテナのプロパティ情報を列挙する。図に示すように、プロパティ名をそれぞれXMLタグとして記述する。
1162のid、1163のparentID、1164のrestrictedは図12で定義されたコンテナ、および、アイテムに共通の属性情報である。 EPGコンテナにおいて、id(属性id)1162にはそのEPGを提供する放送システムを一意に識別する識別子として、NITに含まれるnetwork_id(ネットワーク識別)の値を記述する。parentID(属性parentID)には親コンテナの属性IDを記述する。最上位コンテナ(rootコンテナ)の場合は“−1”と記述する。図16の例では、複数の放送システムのEPGを提供できるシステムを想定して、EPGコンテナの上位コンテナの属性idを“epgTop”と記述している。restricted(属性restricted)1164にはオブジェクトを変更できるかどうかを記述する。EPGの情報は基本的に、受信した放送のPESあるいはESに含まれる番組特定情報(PSI)、あるいは、番組配列情報(SI)から取得し、変更できない情報である。そのため、EPGオブジェクトには変更が許可されないことを示す“1”を指定する。
なお、番組特定情報(PSI)には伝送路の情報などを記述するネットワーク情報テーブル(NIT:Network Information Table)などが有り、番組配列情報(SI)には放送局などサービス(編成チャンネル)に関する情報を記述するサービス記述テーブル(SDT:Service Description Table)や、電子番組表で利用する番組の放送時間、番組名(イベント名)、番組の内容を説明する番組記述など番組に関する情報を記述するイベント情報テーブル(EIT:Event Information Table)などが有る。
ビデオチャンネルコンテナなど他のcontainerオブジェクトも構成は同じである。<container></container>タグが<item></item>タグとなる。それ以外の構成は図16と同じである。
ビデオチャンネルコンテナにおいて、属性idには、その編成チャンネルを一意に特定する識別子として、SDTに含まれるservice_id(サービス識別)の値を記述する。属性parentIDには、親コンテナ、すなわち、その編成チャンネル提供する放送システムのEPGコンテナの属性idを記述する。図10で説明すると、ビデオチャンネルコンテナ1010の属性parentIDには、EPGコンテナ1001の属性idが記述される。
EPGビデオ番組アイテムにおいて、属性idにはその番組を一意に特定する識別子として、EITに含まれるevent_id(イベント識別)の値を記述する。属性parentIDには、親コンテナ、すなわち、その番組を提供するチャンネルのチャンネルコンテナの属性idを記述する。図10で説明すると、EPGビデオ番組アイテム1011、1012、1013の属性parentIDには、ビデオチャンネルコンテナ1010の属性idが記述される。
なお、コンテナは1つ以上のコンテナ、あるいは、アイテムを含むことができる。
図17はEPGコンテナがチャンネルコンテナ、番組アイテムを含む場合のXMLドキュメントの例である。図中、実線はコンテナ、もしくは、アイテムを示し、破線はコンテナのプロパティ情報、もしくは、アイテムのプロパティ情報を列挙したものである。コンテナ、もしくは、アイテムは1つ以上のプロパティ情報を持つ。
図において、1710はEPGコンテナ1001で、内部に複数のチャンネルコンテナ1712、1718などを含む。さらに、チャンネルコンテナ1712は複数の番組アイテム1714、1716などを含む。このように、番組情報の階層構成をXMLドキュメントで表すことができる。
図7の740、750、760、770はEPGサーバ機能として番組情報を提供するために定義したアクションである。各アクションの詳細を以下で説明する。
740のX_EPG_ChannelLineup741は、放送システムが提供する編成チャンネルの一覧情報を返すアクションである。
入力引数ObjectIDには「GetFeatureList」アクションで取得したEPGコンテナの識別子を指定する。
図11(a)、図11(b)に「X_EPG_ChannelLineup」アクションの要求メッセージと応答メッセージの一例を示す。図11(a)が要求メッセージ「Request」で、図11(b)が応答メッセージ「Response」である。
1101は、要求メッセージに与える引数objectIDである。この例では「GetFeatureList」アクションで取得したEPGコンテナの識別子“catvEPG”931を指定している。
1110は、要求メッセージで得られるResultを記述したXMLドキュメントである。
1120は、XMLヘッダである。1130、1140、1150はチャンネルコンテナである。1つのチャンネルコンテナを<container></container>タグで囲んで表し、放送システムが提供する編成チャンネルの数だけ列挙する。
container id属性は、そのコンテナを一意に特定する識別子である。
parentID属性は、このコンテナの親コンテナを特定する識別子である。すなわち、このチャンネルを提供する放送システムを示す。
<restricted>属性はオブジェクトを変更できるかどうかを示す。ここでは、番組情報を取得した側で変更することが許可されないことを示す“1”を指定する。なお、変更することが許可されている場合は“0”を指定する
X_EPG_Program751は放送システムで提供される放送プログラムの情報を返すものである。入力引数ObjectIDに放送システムのIDを指定した場合は、その放送システムで提供する全番組の情報の一覧を、チャンネルのIDを指定した場合はそのチャンネルで提供する全番組の情報の一覧を返す。
放送システムのIDとは「GetFeatureList」アクションで取得した“catvEPG”(図9、931のobjectIDsタグの記述)であり、チャンネルのIDとは「X_EPG_ChannelLineup」アクションで取得した“ch−001”(図11(b)、1130のcontainerタグのid属性1132)などである。
入力引数TermCriteriaには取得する番組情報のフィルタリング条件を入力する。例えば、番組名にサッカーを含む番組の番組情報を取得したい場合は、”dc:title contains “サッカー””のように記述する。入力引数TermCriteriaを指定しない場合は、入力引数ObjectIDで指定されたオブジェクトが提供する全番組の情報を返す。
図18は「X_EPG_Program」アクションに対する応答メッセージで得られるResultを記述したXMLドキュメントの一例である。
図18は入力引数ObjectIDにチャンネルのID“ch−001”を指定した場合の例である。図中、実線は図17と同様にアイテムを示し、破線はアイテムのプロパティ情報を示す。アイテムは1つ以上のプロパティ情報を持つ。
1820は、XMLヘッダである。
図に示すように、「X_EPG_Program」アクションに対する応答メッセージには、入力引数ObjectIDで指定されたチャンネルのID“ch−001”が提供する放送番組の情報である番組アイテムを<Item>タグで表して列挙する。1831、1833、1835がそれぞれ番組アイテムである。
<Item>タグの属性idは、そのアイテムを一意に特定するIDである。
属性parentIDは親コンテナのIDである。すなわち、この番組がチャンネル“ch−001”で提供されるものであることを示す。
<restricted>属性はオブジェクトを変更できるかどうかを示す。ここでは、番組情報を取得した側で変更することが許可されないことを示す“1”を指定する。
番組アイテム1831、1833、1835は、1832、1834、1836に示すように、それぞれのプロパティ情報を持つ。
1832の<dc:title>タグは図15(a)で説明した通り番組のイベント名(番組タイトル)である。
<upnp:class>タグは、図15(h)で説明した通り、オブジェクトの分類、本例の場合は番組アイテムの分類を定義するものである。
object.item.epgItem.videoProgramは、このアイテムがEPGビデオ番組アイテムであることを示している。1832に挙げたプロパティ情報は番組アイテムのプロパティ情報の一例であり、全てではない。また、1834、1836には具体例を挙げていないが構成は1832と同様である。
X_EPG_CurrentNextProgram761は現在放送中の番組と、その次に放送予定の番組の放送プログラムの情報を返すものである。入力引数ObjectIDに放送システムのIDを指定した場合は、その放送システムで提供する全チャンネルについて、チャンネルのIDを指定した場合はそのチャンネルに関して、現在と次の番組の放送番組のプロパティ情報の一覧を返す。応答メッセージは、出力引数Resultに含まれる番組アイテムを現在の放送番組と次の放送予定番組で構成すること以外は図18と同様の形式となる。
X_EPG_KeywordSearchProgram771は、キーワードを満たす番組のプロパティ情報を返すものである。入力引数ObjectIDに放送システムのIDを指定した場合は、その放送システムで提供する全チャンネルについて、チャンネルのIDを指定した場合はそのチャンネルに関して、キーワードを満たす番組の放送全番組のプロパティ情報の一覧を返す。
応答メッセージは、出力引数Resultに含まれる番組アイテムをキーワードを満たす番組で構成すること以外は図18と同様の形式となる。
なお、アクション740、750、760、770の入出力引数は一例である。例えば、入力引数として、応答のデータ量を制限するために応答に含まれる<container>あるいは<item>の数を制限する引数などを追加してもよい。
以上説明したように、番組情報送信装置110は、コンテンツディレクトリサービス425で番組情報を返すアクションを提供することでEPGサーバ機能を実現する。
次に、番組情報受信装置140が、ネットワークに接続された番組情報送信装置110を探索し、ネットワーク経由で番組情報送信装置110に予約録画を設定する手順を説明する。
図19は番組情報受信装置140がネットワーク上にある番組情報送信装置110を探索し、EPGサーバ情報を取得する手順である。番組情報受信装置140における探索処理はネットワーク予約録画アプリ501のEPGサーバ探索シーケンスとして実行される。
S1910:番組情報受信装置140の機器検出部530はネットワーク予約録画アプリ501の指示に従って、メッセージ生成部422、ネットワーク通信処理部420を介してネットワーク上のEPGサーバを探索するため、EPGサーバ機能を提供するMediaServer(DMS)を探索する「デバイス探索」メッセージをホームネットワークを構成する全ての機器に送信する。
S1911:DMSを探索する「デバイス探索」メッセージを受信した番組情報送信装置110は、機器情報サービス424でそのメッセージを処理する。番組情報送信装置110のデバイスタイプはMediaServerであるので、機器情報サービス424は自身の機器記述情報の取得先を示すURI(Uniform Resource Identifier)を含むメッセージを生成し、番組情報受信装置140に応答する。
S1912:応答を受信した番組情報受信装置140の機器検出部530は、応答メッセージに含まれるURIにアクセスし、番組情報送信装置110へ機器記述情報を要求する「デバイス情報要求」メッセージを送信する。
S1913:機器記述情報の取得先URIへの「デバイス情報要求」メッセージを受信した番組情報送信装置110は、機器情報サービス424でそのメッセージを処理する。そして、図6に示した機器記述情報を含むメッセージを生成し、番組情報受信装置140に応答する。機器記述情報は、XMLなどの形式で応答メッセージに記述される。
S1914:応答を受信した番組情報受信装置140の機器検出部530は、応答メッセージを解釈し、番組情報送信装置110がコンテンツディレクトリサービス425(ContentDirectoryService)や予約録画サービス429(ScheduledRecordingService)などを提供することを認識し、各サービスのサービス記述URLにアクセスし、番組情報送信装置110へサービスの詳細情報を要求する「サービス情報要求」メッセージを送信する。
S1915:コンテンツディレクトリサービス425と予約録画サービス429のサービス記述URLへの「サービス情報要求」メッセージを受信した番組情報送信装置110は、機器情報サービス424でそのメッセージを処理する。そして、図7、図8に示したようにとしてアクションリストとサービス状態テーブルとを含むサービスの詳細情報を用いて応答メッセージを生成し、番組情報受信装置140に応答する。
S1916:応答を受信した番組情報受信装置140の機器検出部530は、コンテンツディレクトリサービスのサービス詳細情報をコンテンツディレクトリコントローラ525へ渡す。予約録画サービスのサービス詳細情報は予約録画設定コントローラ529に渡す。各コントローラはサービス詳細情報を解釈し、各サービスが提供するアクションを認識する。そして、コンテンツディレクトリコントローラ525はネットワーク予約録画アプリ501の指示に従って、番組情報送信装置110のコンテンツディレクトリサービスがEPGを提供するかを確認するためにFeatureListアクションを送信する。
S1917:FeatureListアクションを受信した番組情報送信装置110は、コンテンツディレクトリサービス425でそのメッセージを処理する。そして、図9に示したような、番組情報送信装置110が提供する情報コンテンツ一覧情報を返すメッセージを生成し、番組情報受信装置140に応答する。応答メッセージを受信したコンテンツディレクトリコントローラ525は<Features>タグ930に含まれる<Feature>931、932のname属性に“EPG”を含むものが存在することから、番組情報送信装置110が番組情報を提供するEPGサーバであることを認識し、また、その<objectIDs>タグからEPGを取得するためのIDを得る(931)。ネットワーク予約録画アプリ501は探索したEPGサーバ(番組情報送信装置)110の機器記述情報、サービスの詳細情報、および、FeatureListアクションで取得した情報コンテンツ一覧情報などEPGサーバ情報を、番組情報送信装置110のネットワークIDなどで参照できる形式でメモリ213に記憶する。
S1910の「デバイス探索」メッセージに対して複数の番組情報送信装置から応答があった場合は、それぞれの番組情報送信装置に対してS1912からS1917のシーケンスを行いEPGサーバ(番組情報送信装置)のEPGサーバ情報を取得しメモリ213に記憶する。また、発見したEPGサーバの数もメモリ213に記憶する。
以上の手順で、番組情報受信装置140は番組情報送信装置110を探索する。この探索手順の実行タイミングは番組情報受信装置140がネットワークに接続されたときでも、ユーザがネットワーク上のEPGサーバの探索を要求したときでもよい。ユーザの要求にかかわらず、ネットワークに接続されたときに探索する場合は、ユーザから要求があった際にユーザを待たせず探索結果を提示できる利点がある。
図20は番組情報受信装置140がネットワーク上にある番組情報送信装置110からEPG情報を取得する手順である。番組情報受信装置140におけるEPG情報取得処理はネットワーク予約録画アプリ501によってEPG情報取得シーケンスとして実行される。
S2010:番組情報受信装置140のコンテンツディレクトリコントローラ525はネットワーク予約録画アプリ501の指示に従って、番組情報送信装置110が提供するEPGの編成チャンネルの一覧情報を取得するためにX_EPG_ChannelLineupアクションを送信する。
このとき、入力引数ObjectIDには図19のS1917で取得した情報コンテンツ一覧情報に含まれる<Features>のname属性が“EPG”である要素の<objectIDs>を用いる。アクションメッセージはメッセージ生成部422、ネットワーク通信処理部420を介して送出される。アクションメッセージの例を図11(a)に示す。
S2011:X_EPG_ChannelLineupアクションを受信した番組情報送信装置110は、コンテンツディレクトリサービス425でそのメッセージを処理する。そして、図11(b)に示したような応答メッセージを生成し、番組情報受信装置140に応答する。
応答メッセージを受信したコンテンツディレクトリコントローラ525は応答メッセージから、提供するEPGの編成チャンネルの数やテレビ放送チャンネルかラジオ放送チャンネルかの放送の種類、編成チャンネルのIDなどの情報を得る。
S2012:番組情報受信装置140のコンテンツディレクトリコントローラ525はネットワーク予約録画アプリ501の指示に従って、各編成チャンネルで提供する番組情報を取得するためにX_EPG_Programアクションを送信する。このとき、入力引数ObjectIDにはS2011で取得した編成チャンネルのIDである、チャンネルコンテナのid属性(図11(b)の1132)を用いる。
S2013:X_EPG_Programアクションを受信した番組情報送信装置110は、コンテンツディレクトリサービス425でそのメッセージを処理する。そして、図18に示したような応答メッセージを生成し、番組情報受信装置140に応答する。応答メッセージを受信したコンテンツディレクトリコントローラ525は応答メッセージから、各番組のタイトル(イベント名)やジャンル、番組を識別するIDなどの情報を得る。
ネットワーク予約録画アプリ501はS1712、S1713の処理をEPGサーバが提供する全編成チャンネル分繰り返し、EPGサーバが提供する全番組の番組情報を取得し、メモリ213または記録再生部210に記録する。以上の手順で取得した番組情報を用いて取得番組表生成部510が番組表を生成する。ネットワーク予約録画アプリ501は生成した番組表をユーザに提示し、予約録画する番組を選択させる。
なお、S1917で取得した情報コンテンツ一覧情報に複数のEPGのIDが含まれる場合はすべてのEPGの情報を取得するため図20のシーケンスを繰り返す。 図22は取得番組表生成部510が生成する電子番組表の一例である。
電子番組表2200は放送種別欄2210、放送システム欄2211、番組表提供装置欄2212、放送日欄2213、チャンネル欄2216、時間欄2217と2218、番組欄2219で構成する。
放送種別欄2210は、テレビ放送やラジオ放送などの放送種別を表示する欄である。テレビ放送であるかラジオ放送であるかは、チャンネルコンテナのcatv:classプロパティで判断できる。テレビ放送の場合は”object.container.epgContainer.epgVideoChannel”、ラジオ放送の場合は”object.container.epgContainer.epgAudioChannel”と設定される。
本実施例ではテレビ放送とラジオ放送の両方の放送が存在する場合は表示を別ける画面構成とした。ユーザはリモコンに割り当てられた放送切換えボタンなどでテレビ放送の電子番組表を表示するか、ラジオ放送の電子番組表を表示するかを切り替える。放送種別欄2210はテレビの電子番組表が選択されている様子を示している。このように、どちらが選択されているかを見た目で判断できる様に表示する。どちらか一方しかない場合は、その放送種別だけを表示する。
放送システム欄2211は、ケーブルテレビや地上デジタル放送など、表示している電子番組表の放送システムの名称を表す。放送システムの名称はEPGコンテナのdc:titleプロパティから取得する。2211は1つの放送システムの番組情報だけを取得した場合の例である。複数の放送システムに対する番組情報を取得した場合は放送種別欄2210と同様に、ユーザが放送システムを選択して表示を切り替えられる様に構成する。
番組表提供装置欄2212は番組情報を提供した番組情報送信装置110の名前である。
番組情報送信装置110の名前は、例えば、機器記述情報600のデバイス情報610に含まれる機器の名称を表示する。番組情報の提供元の名前を示すことで、ユーザにネットワーク経由で取得した番組情報であることを明示的に知らせる事が出来る。
放送日欄2213は番組情報が提供する放送日を表示する欄で、当日から所定の日数分選択できるようにする。選択方法や表示形式は放送種別欄2210と同様である。
チャンネル欄2216は放送システムで提供されるチャンネルの一覧を提示する欄である。各チャンネル欄の列の下に、そのチャンネルで放送される番組の番組情報が配置される。チャンネル一覧の情報は前述したようにX_EPG_ChannelLineupアクションを用いて取得する。
1つのチャンネルのチャンネル欄2220はチャンネル名欄2221、アイコン欄2222、チャンネル番号欄2223で構成する。チャンネル欄2220には、そのチャンネルのチャンネルコンテナのupnp:channelNameプロパティから取得した編成チャンネル名を表示する。アイコン欄2222には、チャンネルコンテナのupnp:iconプロパティで取得した編成チャンネルのロゴを表示する。ロゴのサイズはupnp:icon@arib:resolutionプロパティから取得する。チャンネルコンテナがupnp:iconプロパティを持たない場合はチャンネル番号欄2223を表示しない。
時間欄2217、2218は放送時を表示する欄である。電子番組表を表示するときは、表示時の時間を一番上に配置する。表示時間帯は一般的な電子番組表と同様にユーザのリモコン操作などで移動できる。本実施例では時間欄は電子番組表の両脇に1つずつ配置しているが、画面の大きさなどによっては1つまたは3つ以上配置してもよい。
番組欄2219は各番組の番組情報である各番組欄2230を表示する欄である。図に示すように各番組欄2230は番組欄2219に格子状に配置する。各番組欄2230はその番組が放送されるチャンネルのチャンネル欄の列に配置する。縦軸の位置は、番組開始時刻で定まる。例えば1時間の欄を15分単位で4分割して、0分から15分(15分は含まない)までの開始は4分割の一番上の位置、15分から30分(30分は含まない)までの開始は4分割の上から2番目の位置に配置する。
番組開始時刻は、番組アイテムのupnp:scheduledStartTimeプロパティから取得する。upnp:scheduledStartTimeプロパティが存在しない場合、該当番組の各番組欄2230は表示しない。
各番組欄2230の時間方向の長さ2234は、番組アイテムのプロパティ情報として番組終了時刻を示すupnp:scheduledEndTimeプロパティ、もしくは、番組の時間の長さを表すres@durationプロパティのどちらかを用いて算出する。例えば、番組の時間の長さが2時間の場合は1時間の欄の長さ2つ分を、30分なら1時間の欄の長さの半分を割当てる。
upnp:scheduledEndTimeプロパティもres@durationプロパティも提供されない場合は、次の番組の番組開始時刻まで時間方向の長さ2234をとる。
各番組欄2230は、番組開始時刻表示欄2231、番組名表示欄2232、番組説明表示欄2233などで構成する。
番組開始時刻表示欄2231には、”15”などのように番組開始時刻の分の値をする。時間の値は各番組欄2230の縦軸の位置で判断できるため番組開始時刻表示欄2231には表示しない。番組開始時刻は、upnp:scheduledStartTimeプロパティから取得する。
番組名表示欄2232には、番組アイテムのdc:titleプロパティから取得した番組名を表示する。
番組説明表示欄2233には、番組アイテムのdc:descriptionプロパティから取得した番組記述を表示する。
番組名表示欄2232、番組説明表示欄2233ともに、取得した情報の文字数が表示可能な文字数より多い場合は、表示可能な文字数までの情報を表示する。
各番組欄2230には、番組コンテンツか有料であることを示すアイコンなどを表示してもよい。番組が有料か無料かは番組アイテムのarib:caProgramInfoプロパティで取得できる。また、ドラマ、スポーツなど番組のジャンル別に番組名表示欄2232の背景の色を設定し、より番組を選択しやすい表示にしてもよい。番組のジャンル情報は、番組アイテムのupnp:genreプロパティから取得できる。
なお、図22で示した電子番組表2200の構成は一例である。時間欄2217とチャンネル欄2216の配置を入れ替えても良いし、一つのチャンネルについて所定の日数分の番組情報を表示する構成をとっても良い。
以上のように、取得番組表生成部510は番組情報送信装置110から取得した番組情報を用いて、電子番組表を生成する。
図21はユーザが先約した予約録画を番組情報送信装置110に設定する手順である。番組情報受信装置140における予約録画設定処理はネットワーク予約録画アプリ501によって予約録画シーケンスとして実行される。
S2110:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ501の指示に従って、ユーザが選択した番組の予約録画を設定する「予約録画オブジェクト作成要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。「予約録画オブジェクト作成要求」メッセージの引数は予約する番組の情報を記述した「予約情報」である。本実施例では、番組情報送信装置110がEpgダイレクト予約録画機能を提供するため、番組アイテムのタイトルとIDプロパティだけで予約設定できる。
S2111:「予約録画オブジェクト作成要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約管理部414を参照し、予約の重複がなければ、その番組予約を予約管理部414に設定する。予約を受け付た場合は、予約録画を参照するための識別子である予約IDと、予約結果の情報であるResultを返す。
図24にEpgダイレクト予約録画を行う場合の「予約録画オブジェクト作成要求」アクションの要求メッセージと応答メッセージの一例を示す。
「Request」は要求メッセージである。
2410は、要求メッセージに与える引数「予約情報」を記述したXMLドキュメントである。
2411は、XMLヘッダ、2412は引数「予約情報」の値を表すitemオブジェクトである。
item id(属性id)は、予約録画を一意に特定する予約IDである。属性idは番組情報送信装置110が設定するため、予約録画を要求する「予約録画オブジェクト作成要求」アクションの要求メッセージには値を指定しない。
<title>タグ2413は、予約録画する番組の番組名である。ユーザが電子番組表2200から選択した番組の番組アイテムのdc:titleプロパティの値を設定する。
<class>タグ2414は、itemオブジェクト2412の分類を示す。
2414の”object.recordschedule.direct.cdsepg”は、Epgダイレクト予約録画を設定するitemオブジェクトであることを表す。
<scheduledCDSObjectID>タグ2415には、番組情報を提供したEPGサーバが予約録画する番組を特定するためのIDを設定する。よって、ユーザが選択した番組の番組アイテムの属性idを設定する。
「Response」は応答メッセージである。
2420は、出力引数「予約ID」であり、予約録画を一意に特定するIDが設定される。この予約IDは設定した予約録画を削除する場合などに用いられる。
2430は、予約結果の情報である「Result」を記述したXMLドキュメントである。
2431は、XMLヘッダ、2432は「Result」の値を表すitemオブジェクトである。
属性idは、予約録画を一意に特定する予約IDは設定される。この値は2420に設定された値と等しい。
<title>タグ2433は2413と、<class>タグ2434は2414と、<scheduledCDSObjectID>タグ2435は2415と同じである。
<mediaRemainAlertID>タグ2436は、予約録画を設定された番組情報送信装置110が指定された予約録画を実行する際に、メディアの残量不足の警告を知らせるものである。一例として、値”0”は残量不足の恐れがないことを表し、値”1”は残量不足のため録画できない可能性があることを示す。
図25(a)は、Epgダイレクトではない標準予約録画を行う場合の「予約録画オブジェクト作成要求」アクションの要求メッセージと応答メッセージの一例を示したものである。EPGサーバ機能のみ提供し、Epgダイレクト予約録画を提供しない番組情報送信装置の場合はこの書式で設定する。
「Request」は要求メッセージである。
2510は、要求メッセージに与える引数「予約情報」を記述したXMLドキュメントである。
2511は、XMLヘッダ、2512は引数「予約情報」の値を表すitemオブジェクトである。
属性idは、予約録画を一意に特定する予約IDである。属性idは番組情報送信装置110が設定するため、予約録画を要求する「予約録画オブジェクト作成要求」アクションの要求メッセージには値を指定しない。
<title>タグ2513は2413と同じである。
<class>タグ2514には、Epgダイレクトではない標準予約録画であることを表す”object.recordschedule.direct.cdsNonepg”を設定する。要求するのはEpgダイレクトではない標準録画であるので<scheduledCDSObjectID>タグは無く、チャンネル番号と、番組開始時刻、番組時間の長さで予約録画する番組を指定する。
<scheduledChannelID>タグ2515、はユーザが選択した番組のチャンネル番号を指定し、番組アイテムのupnp:channelNrプロパティを設定する。
<scheduledStartDateTime>タグ2516は、番組開始時刻であり、番組アイテムのupnp:scheduledStartTimeプロパティを設定する。
<scheduledDuration>タグ2517は、番組時間の長さであり、番組アイテムのres@durationプロパティを設定する。
「Response」の構成は、図24の「Response」と同じ構成なので説明を省略する。<class>タグの値が”object.recordschedule.direct.cdsNonepg”である点だけが異なる。
図25(b)は標準予約録画の引数「予約情報」の他の書式である。res@durationプロパティが提供されていない場合にこの書式を用いる。図25(b)では<scheduledDuration>タグ2517ではなく、番組終了時刻を設定する。<scheduledEndDateTime>タグ2518に番組アイテムのupnp:scheduledEndTimeプロパティを設定する。
以上のように、本実施例に係る番組情報送信装置110は、ネットワーク上の他の機器にEPG情報を提供し、そのEPG情報から得た番組情報を用いて番組情報送信装置110に予約録画を設定するインターフェースを提供する。
また、本実施例に係るEPGクライアント搭載機器である番組情報受信装置140は、ネットワークに接続されたEPGサーバ搭載機器である番組情報送信装置110を探索し、EPG情報を取得し、その情報から電子番組表画面を生成しユーザに提示する。そして、提示された番組を選択して予約録画する手段をユーザに与える。そのため、ユーザは操作している機器へ予約録画を設定する場合と同じ感覚で、ネットワーク経由で番組情報送信装置110に予約録画を設定できる。 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
本実施例では、番組情報受信装置がユーザのリモコンなど操作装置230を操作してネットワークで接続された番組情報送信装置から番組情報を取得して、電子番組表を生成しユーザに提示する方式について説明する。
番組情報送信装置110、番組情報受信装置140の構成は各々図2、図3に示した例と同じである。また、番組情報送信装置110のソフトウェア構成も図4と同じであるため説明は省略する。
図26は本実施例に係る番組情報受信装置140のソフトウェア構成図である。図26において図5と同一または相当部分は同一符号で示し、説明を省略する。
番組情報受信装置140の機能を実現する制御ソフトウェア2600は番組情報受信装置140のメモリ213に展開され制御部211で実行される。
図26では図5で示した番組情報受信装置140のソフトウェア構成に対して、統合番組表生成アプリ2610を追加したものである。
統合番組表生成アプリ2610は番組表生成部410が生成する番組情報受信装置140自身が受信する放送システムの電子番組表と、番組情報送信装置110から取得し取得番組表生成部510で生成した電子番組表とを、ユーザが電子番組表情報の提供元の違いを意識することなく選択できるようにするアプリケーションである。
ネットワーク予約録画アプリ2611は、先に説明した図5のネットワーク予約録画アプリ501と同様に、ホームネットワーク上の他の機器へ録画予約を行うネットワーク経由の予約録画機能をユーザに提供するアプリケーションである。ネットワーク予約録画アプリ501ではEPGサーバ探索する処理やEPG情報取得する処理も担っていたが、本実施例においてはこれらの処理は統合番組表生成アプリ2610が担う。ネットワーク予約録画アプリ2611は統合番組表生成アプリ2610からの要求に従って、ユーザが選択した番組の予約録画を番組情報送信装置110に設定する処理を担う。
アプリ管理部450、統合番組表生成アプリ2610、及び、ネットワーク予約録画アプリ2611は制御ソフトウェア500を構成する各ソフトウェアブロックと制御やデータ参照などの関係を持つが、図が煩雑になるため他のソフトウェアブロックに対する関係線は省略する。
図27は統合番組表生成アプリ2610が生成する電子番組表の一例である。図27において図22と同一または相当部分は同一符号で示し、説明を省略する。
統合番組表生成アプリ2610が生成する電子番組表2700では図22の電子番組表に対して統合EPG欄2701を追加する。
統合EPG欄2701は利用できるEPGの種類をユーザに提示する。図27では番組情報受信装置140自身が受信できる放送システムの電子番組表である「本体EPG」として地上デジタル放送とBSデジタル放送と、ネットワークを介して番組情報を取得して生成する電子番組表である「ネットEPG」を利用できることをアイコンでユーザに提示している。2702は「ネットEPG」を利用できること示すネットEPGアイコンである。表示する電子番組表はユーザが操作装置230を操作し指示することで選択される。なお、本実施例においては「本体EPG」を「EPG」と記載する場合もある。
図30は操作装置230の一例である。3001は電子番組表を表示させる番組表ボタンである。表示中に番組表ボタン3001が押下された場合、電子番組表は非表示になる。3002は決定ボタンである。予約録画番組の決定する場合などに用いる。3003は戻るボタンである。操作をキャンセルし前の操作画面に戻る場合などに用いる。3004、3005、3006、3007は操作画面上のカーソル位置の移動などに用いるカーソル操作ボタンである。3004は上ボタン、3005は下ボタン、3006は左ボタン、3007は右ボタンである。3008は電子番組表の表示日を選択する日にちボタンである。例えば、上側(△)で前日、下側(▽)で翌日に電子番組表の表示を切替える。3009は電子番組表の表示時間帯を選択するページボタンである。例えば、上側(△)で前の時間帯、下側(▽)で後の時間帯に電子番組表の表示を切替える。地デジボタン3011、BSボタン3012は放送システムを選択するボタンである。ネットEPGを選択するネットEPGボタン3013はネットEPGを選択するボタンである。
次に、統合番組表生成アプリ2610の動作について説明する。
はじめに、統合番組表生成アプリ2610の起動処理について説明する。
起動処理はアプリ管理部450からの起動要求をトリガに開始される。アプリ管理部450は操作装置230の操作ボタンの押下を監視し、番組表ボタン3001、または、ネットEPGボタン3013の押下を検知すると統合番組表生成アプリ2610の起動要求を発行する。このとき、押下されたボタンに応じて統合番組表生成アプリ2610の起動モードを設定する。番組表ボタン3001が押下された場合は起動モードを「EPGモード」に、ネットEPGボタン3013が押下された場合は起動モードを「ネットEPGモード」に設定する。「EPGモード」とは、番組情報受信装置140が受信する放送システムの電子番組表である「本体EPG」を表示するモードである。「ネットEPGモード」とは、番組情報送信装置110から取得した番組情報を用いて生成した電子番組表である「ネットEPG」表示するモードである。
図28は統合番組表生成アプリ2610の起動処理フローである。
S2801:はじめに統合番組表生成アプリ2610は、ホームネットワーク上のEPGサーバを探索する。EPGサーバ探索は、図19で説明したEPGサーバ探索シーケンスと同じ処理である。EPGサーバ探索により、ホームネットワーク上のEPGサーバ数、各EPGサーバのEPGサーバ情報を取得する。
S2802:次に、起動モードとEPGサーバ数で生成する電子番組表を決定する。起動モードが「ネットEPGモード」、且つ、EPGサーバ数が1以上の場合は、統合番組表生成アプリ2610の動作状態を、ネットEPGを生成する「ネットEPG生成」に遷移し起動処理フローを終了する(S2803)。その他の場合は、統合番組表生成アプリ2610の動作状態を、本体EPGを生成する「EPG生成」に遷移し起動処理フローを終了する(S2804)。すなわち、ネットEPGボタン3013が押下された場合であっても、ホームネットワーク上にEPGサーバが存在しない場合は本体EPGを生成する。
図29は統合番組表生成アプリ2610によるEPG生成処理フローである。EPG生成処理フローは動作状態が「EPG生成」または「ネットEPG生成」の場合に実行される。
S2901:統合番組表生成アプリ2610は自身の動作状態を確認する。「EPG生成」の場合はS2902の処理に分岐する。「ネットEPG生成」の場合はS2904の処理に分岐する。
S2902:統合番組表生成アプリ2610は番組表生成部410へ番組表の生成を要求して、S2903へ遷移する。
S2903:統合番組表生成アプリ2610は自身の動作状態を、EPGを表示する「EPG表示」に遷移しEPG生成処理フローを終了する。
S2904:統合番組表生成アプリ2610はメモリ213を参照し、EPGサーバの数を確認する。EPGサーバの数は、先に図28で説明した起動処理フローで取得したものである。EPGサーバの数>1、すなわちホームネットワーク上に複数のEPGサーバが存在する場合はS2905へ遷移する。その他の場合は、S2906へ遷移する。
S2905:EPGサーバの機器の名称などを提示するUI(User Interface)画面を表示し、ユーザに電子番組表を表示するEPGサーバを選択させる。
S2906:統合番組表生成アプリ2610はコンテンツディレクトリコントローラ525へ、EPGサーバからの番組情報取得を要求する。コンテンツディレクトリコントローラ525は図20に示したEPG情報取得シーケンスで番組情報を取得する。ホームネットワーク上にEPGサーバが複数存在する場合はS2906でユーザが選択したEPGサーバからの番組情報取得を要求する。
S2907:統合番組表生成アプリ2610は取得番組表生成部510へ番組表の生成を要求して、S2908へ遷移する。
S2908:統合番組表生成アプリ2610は自身の動作状態を、ネットEPGを表示する「ネットEPG表示」に遷移しEPG生成処理フローを終了する。
図31は統合番組表生成アプリ2610によるEPG表示処理フローである。EPG表示処理フローは動作状態が「EPG表示」または「ネットEPG表示」の場合に実行される。
S3101:統合番組表生成アプリ2610はメモリ213に記憶されたEPGサーバ数を参照し統合EPG欄2701の表示状態を定める。EPGサーバ数が0、すなわちホームネットワーク上にEPGサーバが存在しない場合は、統合EPG欄2701のネットEPGアイコン2702をグレイアウトし、ネットEPGを利用できないことをユーザに示す(S3102)。EPGサーバ数が0でない場合は、ネットEPGアイコン2702を表示しネットEPGを利用できることをユーザに示す(S3103)。
S3104:次に、統合番組表生成アプリ2610の状態に応じて表示する電子番組表を定める。状態が「EPG表示」の場合はS3105へ遷移し本体EPG表示処理を行う。状態が「ネットEPG表示」の場合はS3107へ遷移しネットEPG表示処理を行う。
S3105:統合番組表生成アプリ2610は番組表生成部410が生成した本体EPGを表示させる。このとき、本体EPGの層よりも統合EPG欄2701の層のほうが上の層になるように表示する。
S3106:そして、統合番組表生成アプリ2610は自身の状態を「EPG表示中」に遷移させEPG表示処理フローを終了する。
S3107:統合番組表生成アプリ2610は取得番組表生成部510が生成したネットEPGを表示させる。このとき、ネットEPGの層よりも統合EPG欄2701の層のほうが上の層になるように表示する。
S3108:そして、統合番組表生成アプリ2610は自身の状態を「ネットEPG表示中」に遷移させEPG表示処理フローを終了する。
図32は統合番組表生成アプリ2610の状態遷移テーブルの一例である。図は、統合番組表生成アプリ2610の状態が「EPG表示中」または「ネットEPG表示中」あったときに、操作装置230からの入力、すなわち、ボタン押下によって遷移する状態を示している。3211はEPG表示中、3212はネットEPG表示中の状態を示す。3221、3222、3223、3224、3325、3226は操作装置230の押下ボタンを示す。スラッシュ(“/”)は“OR”を意味する。
状態「EPG表示中」3211において、番組表ボタン、または、戻るボタンが押下された場合(3221)、統合番組表生成アプリ2610は表示中のEPGを非表示にし、統合番組表生成処理を終了する。ネットEPGボタンが押下された場合(3222)は状態を「ネットEPG生成」に遷移し図29で説明したEPG生成処理フローを実行する。地デジボタン、または、BSボタンが押下された場合(3223)は必要に応じてEPGの表示を切り替える。例えば、BSのEPG表示中にBSボタンが押下された場合は、現在のEPG表示を維持する。決定ボタンが押下された場合(3224)は、現在の時間の番組が選択された場合は、チューナ部201に選局を依頼し、表示中のEPGを非表示にして統合番組表生成処理を終了する。未来の番組が選択された場合は、予約設定管理部514へ予約処理を要求する。日にちボタンが押下された場合(3325)はEPG表示の表示日を前日あるいは翌日へ切替える。ページボタンが押下された場合(3326)はEPG表示の表示時間帯を前の時間帯、あるいは次の時間帯へ切替える。
状態「ネットEPG表示中」3212において、番組表ボタン、または、戻るボタンが押下された場合(3221)、統合番組表生成アプリ2610は表示中のEPGを非表示にし、統合番組表生成処理を終了する。ネットEPGボタンが押下された場合(3222)も同様に統合番組表生成処理を終了する。地デジボタン、または、BSボタンが押下された場合(3223)は状態を「EPG生成」に遷移し、図29で説明したEPG生成処理フローを実行する。決定ボタンが押下された場合(3224)は、ネットワーク予約録画アプリ2611にネットEPG表示中のEPGサーバに対し、選択された番組の予約録画を設定する録画予約要求を行う。ネットワーク予約録画アプリ2611は図21に示した予約録画シーケンスにより選択された番組を予約録画の設定を実行する。日にちボタンが押下された場合(3325)、ページボタンが押下された場合(3326)は表示する日にち及び時間帯の範囲を指定して「EPG生成」に遷移し、図29で説明したEPG生成処理フローを実行する。このとき、S2906でのコンテンツディレクトリコントローラ525への番組情報取得要求に日にち及び時間帯の範囲を指定する。
コンテンツディレクトリコントローラ525が番組情報取得要求に応じて、日にち及び時間帯の範囲を指定する場合の「X_EPG_Program」アクション751要求の一例を図33に示す。3301に示すように第2引数に条件を記述する。3301では条件として番組の開始時刻の時間範囲を設定している。3301ように設定することで、EPGサーバが提供する番組情報の中から指定した条件を満たす番組の番組情報だけを取得できる。
なお、日にちボタンや、ページボタンが押下されたときのような表示条件が指定される場合以外においても日時の範囲を設定しても良い。例えば、電子番組表の一画面に表示可能な時間分だけの番組情報を取得するよう条件を指定した場合、伝送される情報量が少なくなるので、ネットEPG表示のユーザ要求から提示までの時間を短縮する効果がある。
以上のように、本実施例に係る番組情報受信装置140は、「本体EPG」と「ネットEPG」とを、操作装置230の操作で双方向に表示切替可能な構成で生成する。そのため、ユーザは「ネットEPG」も「本体EPG」と区別することなく利用できる。
また、操作装置230のネットEPGボタンの押下などをトリガに番組情報を取得するため、「ネットEPG」においても「本体EPG」と同様に最も新しい情報で構成した電子番組表を提供することができる。
さらに、実施例1の番組情報受信装置140と同様に、提示された番組を選択して予約録画する手段をユーザに与える。そのため、ユーザは操作している機器へ予約録画を設定する場合と同じ感覚で、ネットワーク経由で番組情報送信装置110に予約録画を設定できる。
本実施例では、番組情報送信装置110が番組情報を送出する際に、番組に設定された予約録画の情報も付加する場合について説明する。
図34は図15に示したEPGビデオ番組アイテムのプロパティ情報に追加する予約録画に関するプロパティである。
番組情報提供部426は番組情報を提供する際に、予約管理部414を参照し番組に予約録画が設定されているかを確認する。予約録画が設定されている番組の場合は、予約録画設定プロパティであるcatv:recordScheduleの値を“1”に設定し、catv:recordSchedule@idの値は、予約録画シーケンス(図21)で設定した予約ID(図24、2420)を設定する。
図35は予約録画に関するプロパティが付加されていた場合の取得番組表生成部510が生成する電子番組表の一例である。図35において図27と同一または相当部分は同一符号で示し、説明を省略する。
3502、3501は予約録画された番組を示す予約録画アイコンの一例である。catv:recordScheduleプロパティの値が“1”に設定されていた番組の各番組欄に予約録画アイコンを表示する。このように、番組情報送信装置110から番組の予約録画の設定情報を取得できるため、EPGサーバから取得したネットEPGを表示する場合も、予約録画の状態を表示できる。ユーザはEPGを表示する操作で、予約録画した番組の確認もできるため使い勝手で良くなる。
図36は予約録画に関するプロパティが付加されていた場合の取得番組表生成部510が生成する各番組欄2230の一例である。図36の例では、アイコン欄3601を設け、そこに予約録画アイコン3602を配置する。本例の場合は、各番組欄2230の高さが変化しても予約録画アイコン3602を変える必要がないため、取得番組表生成部510の処理が簡単にできる効果がある。
以上のように、本実施例の番組情報送信装置110は予約録画が設定されている番組の場合は、番組情報として予約録画設定プロパティも提供する。これより、番組情報受信装置140は予約録画設定状態を電子番組表に表示することができ、ユーザの使い勝手が向上する。
本実施例は、番組情報送信装置からネットワークを介して取得した番組情報を用いて、番組情報受信装置が番組情報送信装置に対し、録画装置への放送番組の録画を行う予約録画設定を行うネットワーク経由の予約録画方式について説明する。
図1のシステムにおいて、デジタル放送受信装置110は本実施例に係る番組情報送信装置として動作し、ネットワークを介して放送の番組情報を提供する「EPGサーバ機能」を備える。レコーダ150は本実施例に掛かる番組情報受信装置として動作し、ネットワークを介して番組情報を取得しユーザに提供する「EPGクライアント機能」を備える。デジタル放送受信装置140は本実施例に係る録画装置として動作し、ネットワークを介して放送コンテンツを取得し記録する「録画サーバ機能」を備える。
番組情報送信装置110、録画装置140の構成は各々図2、図3に示した例と同じであるため説明は省略する。
レコーダ150の構成は図2に示した例と同じであるため説明は省略する。
番組情報送信装置110のソフトウェア構成は図4に示した例と同じであるため説明は省略する。
番組情報受信装置150、録画装置140のソフトウェア構成は図5に示した例と同じであるため説明は省略する。
次に、番組情報受信装置150が、ネットワークに接続された番組情報送信装置110を探索し、ネットワークに接続された録画装置140を探索し、ネットワーク経由で番組情報送信装置110に録画装置140へのネットワークを介した録画を行う予約録画を設定する手順を説明する。
番組情報受信装置150がネットワーク上にある番組情報送信装置110を探索する手順は図19と同じであるため説明は省略する。
図38は番組情報受信装置150がネットワーク上にある録画装置140を探索する手順の一例である。番組情報受信装置150における探索処理はネットワーク予約録画アプリ501の録画サーバ探索シーケンスとして実行される。
S3810:番組情報受信装置150の機器検出部530はネットワーク予約録画アプリ501の指示に従って、メッセージ生成部422、ネットワーク通信処理部420を介してネットワーク上の録画サーバを探索するため、録画サーバ機能を提供するMediaServer(DMS)を探索する「デバイス探索」メッセージをホームネットワークを構成する全ての機器に送信する。
S3811:DMSを探索する「デバイス探索」メッセージを受信した録画装置140は、機器情報サービス424でそのメッセージを処理する。録画装置140のデバイスタイプはMediaServerであるので、機器情報サービス424は自身の機器記述情報の取得先を示すURI(Uniform Resource Identifier)を含むメッセージを生成し、番組情報受信装置150に応答する。
S3812:応答を受信した番組情報受信装置150の機器検出部530は、応答メッセージに含まれるURIにアクセスし、録画装置140へ機器記述情報を要求する「デバイス情報要求」メッセージを送信する。
S3813:機器記述情報の取得先URIへの「デバイス情報要求」メッセージを受信した録画装置140は、機器情報サービス424でそのメッセージを処理する。そして、図6に示した機器記述情報を含むメッセージを生成し、番組情報受信装置150に応答する。機器記述情報は、XMLなどの形式で応答メッセージに記述される。
図37は録画装置150の機器記述情報の一例である。録画装置140の機器記述情報は図6に示した例と同じであるため説明は省略する。3701の「av−upload」はネットワークを介して映像音声コンテンツを受信し記録再生部210に記録するアップロードオプション機能を提供することを示す。
S3814:応答を受信した番組情報受信装置150の機器検出部530は、応答メッセージを解釈し、録画装置140がコンテンツディレクトリサービス(ContentDirectoryService)や予約録画サービス(ScheduledRecordingService)、アップロードオプション機能(av−upload)などを提供することを認識し、各サービスのサービス記述URLにアクセスし、録画装置140へサービスの詳細情報を要求する「サービス情報要求」メッセージを送信する。
S3815:コンテンツディレクトリサービスと予約録画サービスの機能サービス記述URLへの「サービス情報要求」メッセージを受信した録画装置110は、機器情報サービス424でそのメッセージを処理する。そして、図7、図8に示したようにアクションリストとサービス状態テーブルとを含むサービスの詳細情報で応答メッセージを生成し、番組情報受信装置150に応答する。
S3816:応答を受信した番組情報受信装置150の機器検出部530は、コンテンツディレクトリサービスのサービス詳細情報をコンテンツディレクトリコントローラ525へ、予約録画サービスのサービス詳細情報を予約録画設定コントローラ529に渡す。各コントローラはサービス詳細情報を解釈し、各サービスが提供するアクションを認識する。そして、コンテンツディレクトリコントローラ525はネットワーク予約録画アプリ501の指示に従って、録画装置140のコンテンツディレクトリサービスがEPGを提供するかを確認するためにFeatureListアクションを送信する。
S3817:FeatureListアクションを受信した録画装置140は、コンテンツディレクトリサービス425でそのメッセージを処理する。そして、録画装置140は、コンテンツディレクトリサービス425で、図9に示したような、録画装置140が提供する情報コンテンツ一覧情報を返すメッセージを生成し、番組情報受信装置150に応答する。応答メッセージを受信したコンテンツディレクトリコントローラ525は<Features>タグ930に含まれる<Feature>931、932のname属性に“EPG”を含むものが存在することから、録画装置140が番組情報を提供するEPGサーバであることを認識し、また、その<objectIDs>タグからEPGを取得するためのIDを得る(931)。
ネットワーク予約録画アプリ501は探索した録画サーバ(録画装置)140の機器記述情報、サービスの詳細情報、および、FeatureListアクションで取得した情報コンテンツ一覧情報など録画サーバ情報を、録画装置140のネットワークIDなどで参照できる形式でメモリ213に記憶する。
S3810の「デバイス探索」メッセージに対して複数の録画装置から応答があった場合は、それぞれの録画装置に対してS3812からS3817のシーケンスを行い録画サーバ(録画装置)の録画サーバ情報を取得しメモリ213に記憶する。また、発見した録画サーバの数もメモリ213に記憶する。
以上の手順で、番組情報受信装置150は録画装置140を探索する。この探索手順の実行タイミングは番組情報受信装置150がネットワークに接続されたときでも、ユーザがネットワーク上の録画サーバの探索を要求したときでもよい。ユーザの要求にかかわらず、ネットワークに接続されたときに探索する場合は、ユーザから要求があった際にユーザを待たせず探索結果を提示できる利点がある。
番組情報受信装置150がネットワーク上にある番組情報送信装置110からEPG情報を取得する手順は図20と同じであるため省略する。
ユーザが予約した予約録画を番組情報送信装置110に設定する手順は図21と同じである。
図41にEPGダイレクト予約録画を行う場合の「予約録画オブジェクト作成要求」アクションの要求メッセージの一例を示す。図41において図24と同一または相当部分は同一符号で示し、説明を省略する。
<recordDestination>タグ4101は予約録画の録画先機器名を示す。<recordDestination>タグで特定される文字列により、図6に示した機器の名称を特定する。
<desiredRecordQuality>タグ4102で特定される文字列により録画品質を特定する。
図42にEPGダイレクトでない標準予約録画を行う場合の「予約録画オブジェクト作成要求」アクションの要求メッセージの一例を示す。図42において図25(a)と同一または相当部分は同一符号で示し、説明を省略する。
<recordDestination@mediaType>タグ4201により特定される文字列により、録画装置140が複数の記録部を有する場合の録画先を特定する。
<recordDestination@targetURL>タグ4202で特定される文字列により、録画装置140のURLを特定する。
<desiredRecordQuality@type>タグ4203で特定される文字列により、録画品質を特定する。録画品質にDEFAULTを設定すると、番組情報送信装置110で設定されている録画品質で録画を行う。
図39は番組情報送信装置110がネットワーク上にある録画装置140にアップロード録画を行う手順である。
S3910:番組情報送信装置110は予約管理部で管理した録画予約の時刻になると、予約録画オブジェクトとして受信した情報に基づき、メッセージ生成部422、ネットワーク通信処理部420を介してネットワーク上の録画サーバ140に録画オブジェクト作成要求する。
S3911:録画サーバ140は受信した録画オブジェクト作成要求に従い、コンテンツ管理部で録画ID、URLを生成し、結果(Result)とともに、メッセージ生成部422、ネットワーク通信処理部420を介してネットワーク上の番組情報送信装置110に応答する。
S3912:応答を受信した番組情報送信装置110は、録画確認を行うためにメディア配信サービス423、ネットワーク通信処理部420を介して応答メッセージに含まれるURLに対し、HTTPプロトコルのHeaderのみを送信(POST)する。
S3913:Headerを受信した録画装置140は、正常に録画が可能であることを通知するために、メディア受信コントローラ523、ネットワーク通信処理部420を介して、HTTPプロトコルのレスポンスで正常(100 continue)を送信する。
S3914:レスポンスを受信した番組情報送信装置110は、録画を行うためにメディア配信サービス423、ネットワーク通信処理部420を介して応答メッセージに含まれるURLに対し、HTTPプロトコルのBodyを送信(POST)する。
S3915:番組情報送信装置110は、予約録画を終了するためにメディア配信サービス423、ネットワーク通信処理部420を介して応答メッセージに含まれるURLに対し、HTTPプロトコルのBodyの送信終了(POST End)通知する。
S3916:POST Endを受信した録画装置140は、正常に録画が終了したこと通知するために、メディア受信コントローラ523、ネットワーク通信処理部420を介して、HTTPプロトコルのPOSTレスポンス(POST Response)を送信する。
図40は取得番組表生成部510が生成する電子番組表の一例である。図40において図22と同一または相当部分は同一符号で示し、説明を省略する。
予約ダイヤログ4000は、予約時刻情報4001、番組情報4002、録画先情報4003、録画モード情報4004などから構成される。
予約時刻情報4001にはユーザが予約を指定した番組の日時情報を表示する。ユーザが時刻情報を変更することも可能である。
番組情報4002にはチャンネル、番組名を表示する。
録画先情報4003には、録画可能な機器をUPnPのフレンドリネーム表示し、どの機器に録画するかユーザが選択できる。フレンドリネームは録画可能な機器を識別する情報である。
ユーザ指示により録画機能付STB110が選択されると番組情報送信装置110に録画予約を行い、番組情報送信装置110で録画を行う。
ユーザ指示により録画機能付DTVが選択されると、番組情報送信装置110に録画予約を行い、録画装置140にネットワーク録画を行う。
ユーザ指示によりDTV130が選択されると、番組情報送信装置110と番組情報受信装置150に録画予約を行い、番組情報受信装置150にネットワーク録画を行う。DTV150自身で受信可能な番組であれば、番組情報受信装置150に録画予約を行い、番組情報送信装置110で録画を行う。
録画モード情報4004にはハイビジョン画質(HD)、標準画質(XP)等の録画モードを表示し、ユーザが変更できる。
予約ダイヤログ4000で選択された「番組に関する情報」は、予約録画オブジェクト作成要求に反映され、その情報は、さらに録画オブジェクト作成要求に反映される。ここでいう「番組に関する情報」には、EPGダイレクト予約の場合、番組名2413、その番組の属性id2415、録画先機器名4101、録画品質4102を含む。また、ここでいう「番組に関する情報」には、EPGダイレクト予約でない標準予約録画の場合、さらに録画装置が複数の記録部を有する場合の録画先4201、録画装置のURL4202を含めることができる。図42中、図25と共通する番号の要素は、図25と同様のため、説明を省略する。
以上のように、本実施例に掛かる番組情報送信装置110は、ネットワーク上の他の機器にEPG情報を提供し、そのEPG情報から得た番組情報を用いて番組情報送信装置110に予約録画を設定するインターフェースを提供する。
また、本実施例に掛かるEPGクライアント搭載機器である番組情報受信装置150は、ネットワークに接続されたEPGサーバ搭載機器である番組情報送信装置110を探索し、EPG情報を取得し、ネットワークに接続された録画サーバ搭載機器である録画装置140を探索し、その情報から電子番組表画面を生成しユーザに提示する。そして、提示された番組を選択して予約録画する手段をユーザに与える。そのため、ユーザは操作している機器へ予約録画を設定する場合と同じ感覚で、ネットワーク経由で番組情報送信装置110に録画装置140へのネットワーク録画を行う予約録画を設定できる。
本実施例では、番組情報受信装置がユーザのリモコンなど操作装置230を操作してネットワークで接続された番組情報送信装置から番組情報を取得し、取得したEPGオブジェクトに登録されている番組のプロパティ情報を基に、番組情報の取得や番組の録画を行なうものである。本実施例では、実施例1で図12から図15を用いて説明したプロパティ情報に追加するプロパティ情報について説明し、これら追加されたプロパティ情報を用いた処理について説明する。
図1のシステムにおいて、デジタル放送受信装置110は本実施例に掛かる番組情報送信装置110として動作し、ネットワークを介して放送の番組情報を提供する「EPGサーバ機能」を備える。録画機能付DTV140は本実施例に掛かる番組情報受信装置140として動作し、ネットワークを介して番組情報を取得しユーザに提供する「EPGクライアント機能」を備える。ここでは説明の便宜上録画機能付DTV140を番組情報受信装置の一例として説明するが、レコーダ150を本実施例の番組情報受信装置としてもよい。
番組情報送信装置110、番組情報受信装置140の構成は各々図2、図3に示した例と同じであるため説明は省略する。また、番組情報送信装置110のソフトウェア構成も図4に示した例と同じであるため説明は省略する。番組情報受信装置140のソフトウェア構成は、番組表を提示する場合は図26に示した例と同じであり、予約録画を設定する場合は図5に示した例と同じであるため説明は省略する。
図43(a)から図43(g)は、各コンテナ、アイテムに定義されるプロパティ情報の詳細を示す。ここで定義するプロパティはネットワーク書式の番組情報であるEPGオブジェクトに用いるものである。番組情報変換部412が、デジタル放送で用いられる放送書式の番組情報を変換し、ネットワーク書式の番組情報を生成する。
ここで例えば図43(b)に示している“upnp:seriesTitle”プロパティについて説明する。本“upnp:seriesTitle”プロパティは、同一の性質を持つ番組の集合に関して定義されるタイトル、例えば連続ドラマの番組名(AAAAとする)である。上記プロパティ情報を番組情報送信装置110から番組情報受信装置140へ向けて送信する場合、図18のXMLドキュメント内に示す番組アイテム1834に以下を追加する。図18のXMLドキュメント内に示す番組アイテム1834に既に登録されている<upnp:genre>ドラマ</upnp:genre>の下に、<upnp:seriesTitle>AAAAA</upnp:seriesTitle>を追加すれば良い。処理シーケンスについては相手がネットワーク上にある番組情報送信装置110のときは図20となる。各々の処理については前記しているので説明を省略する。
番組情報受信装置140は上記シーケンスで図18に示すXMLドキュメントを受信し、番組アイテム1834の情報を取得する。例えば受信したXMLドキュメントに<upnp:seriesTitle>AAAAA</upnp:seriesTitle>が存在すると、“AAAAA”という番組名のTVシリーズのドラマということがわかる。例えばユーザが番組情報受信装置140を操作装置230で操作して“AAAAA”という番組名のドラマの一連の番組情報を表示したい場合、受信したXMLドキュメント内、属性“upnp:seriesTitle”が“AAAAA”であるEPGビデオアイテムを持つ番組情報を、番組情報を格納した場所(記録再生部210またはメモリ213等)から読み出せば、TVシリーズのドラマを一括して表示することができる。また、番組情報受信装置140がネットワークを介して録画サーバと接続されていたならば、番組名“AAAAA”のTVシリーズのドラマが一括で録画予約が可能となる。TVシリーズのドラマを一括して録画予約するためには、ユーザによる“AAAAA”という番組の指定に従い、番組情報受信装置140が、プロパティ“upnp:seriesTitle”が“AAAAA”を持つEPGビデオ番組アイテムの数だけ、予約録画オブジェクトを作成するよう、番組情報送信装置110に要求すればよい。各予約録画オブジェクトにおいて各番組を特定するには、図24および図41のように、作成される各予約録画オブジェクトの属性“scheduledCDSObjectID”に、読み出したEPGビデオ番組アイテムの属性idをそれぞれセットすればよい。または、予約録画される各番組を予約録画オブジェクトにおいて特定する他の方法として、図25(a)および図42のように、読み出したEPGビデオ番組アイテムの番組名(dc:Title)、番組開始時刻(scheduledStartTime)、番組の時間の長さ(res@duration)を、予約録画オブジェクトに設定することも可能である。TVシリーズのドラマを一括で録画予約する、さらに他の方法として、予約録画オブジェクトにおいて“upnp:seriesTitle”を指定することもできる。この場合、番組情報送信装置110が、受信した予約録画オブジェクト作成要求を処理する中で、“upnp:seriesTitle”が“AAAAA”であることを検索条件として、予め格納された番組情報から、“AAAAA”に関するEPGビデオ番組アイテムを読み出し、各予約録画オブジェクトを作成することも可能である。
図43(b)に示す“upnp:seriesID”プロパティは、上記で一例として紹介した番組名“AAAAA”の連続ドラマにユニークなIDを付与したものである。上記同様にユニークなIDを基に番組情報の一括取得や、一括録画予約が可能となる。その手順は、上述の番組情報の一括取得と一括録画予約の手順の説明で“upnp:seriesTitle”としたところを、“upnp:seriesID”と読み替えれば良い。
図43(c)から図43(d)は、番組の出演者、製作者、原作者などの名前を登録するものである。例えば、upnp:artistプロパティを使用して図18に示すXMLドキュメントに<upnp:artist>BBBB</upnp:artist>を追加したとき、番組情報受信装置140は、出演者“BBBB”の番組情報の取得や録画予約を行なうことができる。また、出演者“BBBB”を基に“BBBB”が出演している番組情報の一括取得や一括録画予約を行なうことが可能となる。また、他のプロパティによる番組情報の一括取得や一括録画も可能である。一括取得や一括録画の手順は、上述の番組情報の一括取得の手順の説明で“upnp:seriesTitle”としたところを、“upnp:artist”や他のプロパティに読み替えれば良い。一括録画においては、一括取得された番組情報の中から視聴者の所望の番組の指定を受け付けるためのダイアログを番組情報受信装置140が表示し、そのダイアログボックスに表示された番組の中から視聴者に選択された番組について録画予約オブジェクト作成要求を番組情報送信装置に送信しても良い。
以上、図43(a)から図43(g)に示した各コンテナ、アイテムに定義されるプロパティ情報のうち幾つか説明した。例えば本実施例で説明したupnp:seriesTitleプロパティとupnp:artistプロパティを同時に使用するとupnp:seriesTitleプロパティに示されている番組名“AAAAA”のupnp:artistプロパティに示されている出演者“BBBB”で、更に限定した番組情報の取得や録画予約を行なうことが可能になる。本実施例では、upnp:seriesTitleプロパティで連続ドラマの番組名を、upnp:artistプロパティで出演者を指定したが、図43(a)から図43(g)に示したプロパティ情報を組み合わせることで、ユーザの嗜好に合わせた番組情報の取得や録画予約が可能となる。
以上、説明してきた通り本実施例では、番組を特定するプロパティ情報を番組情報受信装置で持つことにより、リモコンなど操作装置230においてユーザの嗜好に合わせた操作をすることが可能になる。
本実施例は、番組情報送信装置からネットワークを介して取得した番組情報を用いて番組情報受信装置が番組情報送信装置に対し予約録画を設定する際に、設定する予約録画が他の予約録画と重複した場合の予約録画方式について説明する。
図1のシステムにおいて、デジタル放送受信装置110は本実施例に係る番組情報送信装置110として動作し、ネットワークを介して放送の番組情報を提供する「EPGサーバ機能」を備える。レコーダ150は本実施例に係る番組情報受信装置140として動作し、ネットワークを介して番組情報を取得しユーザに提供する「EPGクライアント機能」を備える。
番組情報送信装置110、番組情報受信装置140のハードウェア構成は各々図2、図3に示した例と同じであるため説明は省略する。
番組情報送信装置110のソフトウェア構成は図4に示した例と同じである。
本実施例において、予約管理部414は、実施例1に示した機能に加え、予約録画サービス429から指定される録画の予約を受け付け、予約の重複の有無を検出する。
予約録画サービス429は、実施例1に示した機能に加え、ネットワークを介した予約録画の登録を予約管理部414に設定した際に、予約録画サービス429が検出した予約の重複有無を確認し、予約の重複がある場合には、予約が重複している旨、または、予約管理部414から取得した重複している予約番組の情報を、予約録画のリクエストを送信した機器に対して提供する。その他の構成は実施例1と同じであるため説明は省略する。
番組情報受信装置140のソフトウェア構成は図26に示した例と同じであるため説明は省略する。
次に、番組情報受信装置140が、ネットワークに接続された番組情報送信装置110を探索し、ネットワーク経由で番組情報送信装置110に対して番組情報送信装置110へ予約録画(予約録画2)を設定する際に、番組情報送信装置110にすでに設定されている他の予約録画(予約録画1)と重複した場合の予約録画方式について説明する。
図44はユーザが先約した予約録画を番組情報送信装置110に設定する手順であり、番組情報送信装置110は、予約重複応答をする際に重複があることのみを応答する機能を持つ場合の手順である。
番組情報受信装置140における予約録画設定処理はネットワーク予約録画アプリ2611によって予約録画シーケンスとして実行される。
S4410:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、ユーザが選択した番組の予約録画1を設定する「予約録画オブジェクト作成要求」メッセージを送信する。
メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。「予約録画オブジェクト作成要求」メッセージの引数は予約する番組の情報を記述した「予約情報1」である。本実施例では、番組情報送信装置110がEpgダイレクト予約録画機能を提供するため、番組アイテムのタイトルとIDプロパティだけで予約設定できる。
S4411:「予約録画オブジェクト作成要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、予約の重複がなければ、その番組予約を予約管理部414に設定する。予約を受け付た場合は、予約録画1を参照するための識別子である予約ID1と、予約結果の情報であるResultを番組情報受信装置140に返す。
S4412:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、ユーザが選択した番組の予約録画2を設定する「予約録画オブジェクト作成要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。
「予約録画オブジェクト作成要求」メッセージの引数は予約する番組の情報を記述した「予約情報2」である。本実施例では、番組情報送信装置110がEpgダイレクト予約録画機能を提供するため、番組アイテムのタイトルとIDプロパティだけで予約設定できる。
S4413:「予約録画オブジェクト作成要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、予約録画2が予約録画1と予約の重複があるため、その番組予約を予約管理部414に設定せず、番組情報受信装置140へ予約が重複している応答を返す。応答を受信した番組情報受信装置140は、後述する図47に示す画面を出力し、操作信号受信部226を介したユーザからの指示を受け付ける。
ユーザが「終了4704」を選択した場合は図44の予約録画設定処理を終了し、「予約一覧4703」を選択した場合はS4414に進む。
S4414:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、予約一覧を要求する「予約一覧要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。
S4415:「予約一覧要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、設定された予約の予約IDと予約録画時刻を含む予約一覧を応答として、番組情報受信装置140へ返す。予約一覧には、図12、13、14、15、43で示した各プロパティをの情報を含む。
予約一覧応答を受信した番組情報受信装置140は、後述する図49、図50に示す画面を表示し、操作信号受信部226を介して削除する予約録画の入力を受け付ける。
図49に示す画面において、ユーザが「キャンセル4904」を選択した場合は図44の予約録画設定処理を終了し、予約一覧に記載された特定の予約録画を選択した場合は図50に示す画面が表示される。
図50に示す画面では、図49の画面においてユーザが選択された予約録画の情報が表示される。図50において、ユーザが「キャンセル5002」を選択した場合は図44の予約録画設定処理を終了し、「削除5003」を選択した場合はS4416に進む。
S4416:番組情報受信装置140の予約録画設定コントローラ529は、選択された予約録画2と重複する予約録画1の予約ID1を指定し、「予約削除要求」メッセージを番組情報送信装置110へ送信する。
S4417:「予約削除要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、指定された予約ID1の予約オブジェクトを削除する。削除が実行された場合は、予約削除した応答を番組情報受信装置140に返す。
S4418:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、ユーザが選択した番組の予約録画を設定する「予約録画オブジェクト作成要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。「予約録画オブジェクト作成要求」メッセージの引数は予約する番組の情報を記述した「予約情報2」である。本実施例では、番組情報送信装置110がEpgダイレクト予約録画機能を提供するため、番組アイテムのタイトルとIDプロパティだけで予約設定できる。
S4419:「予約録画オブジェクト作成要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。また、予約管理部414を参照し、予約の重複がなければ、その番組予約を予約管理部414に設定する。予約を受け付た場合は、予約録画を参照するための識別子である予約ID2と、予約結果の情報であるResultを返す。
以上により、予約情報2と重複する予約情報1を削除し、予約情報2を設定することができる。
図45は、ユーザが先約した予約録画を番組情報送信装置110に設定する手順であり、番組情報送信装置110は、予約重複応答時に重複する予約を併せて応答する機能を持つ場合の手順である。番組情報受信装置140における予約録画設定処理はネットワーク予約録画アプリ2611によって予約録画シーケンスとして実行される。
S4510:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、ユーザが選択した番組の予約録画1を設定する「予約録画オブジェクト作成要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。「予約録画オブジェクト作成要求」メッセージの引数は予約する番組の情報を記述した「予約情報1」である。本実施例では、番組情報送信装置110がEpgダイレクト予約録画機能を提供するため、番組アイテムのタイトルとIDプロパティだけで予約設定できる。
S4511:「予約録画オブジェクト作成要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、予約の重複がなければ、その番組予約を予約管理部414に設定する。予約を受け付た場合は、予約録画を参照するための識別子である予約ID1と、予約結果の情報であるResultを番組情報受信装置140に返す。
S4512:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、ユーザが選択した番組の予約録画2を設定する「予約録画オブジェクト作成要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。「予約録画オブジェクト作成要求」メッセージの引数は予約する番組の情報を記述した「予約情報2」である。本実施例では、番組情報送信装置110がEpgダイレクト予約録画機能を提供するため、番組アイテムのタイトルとIDプロパティだけで予約設定できる。
S4513:「予約録画オブジェクト作成要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、予約録画2が予約録画1と予約の重複があるため、予約情報2に対応した番組予約を予約管理部414に設定し、番組情報受信装置140へ予約録画を参照するための識別子である予約ID2と予約が重複している応答を返す。
S4514:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、予約ID2と重複する予約録画の予約IDを要求する「重複予約ID要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。
S4515:「重複予約ID要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、予約ID2と重複する予約ID1を応答として、番組情報受信装置140へ返す。
S4516:重複予約応答を受信した番組情報受信装置140の予約録画設定コントローラ529は、予約ID1を指定し、「予約情報要求」メッセージを番組情報送信装置110へ送信する。
S4517:「予約情報要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、指定された予約ID1の番組情報、開始・終了時刻等を含む予約情報を取得する。取得した予約ID1の予約情報を番組情報受信装置140に応答する。予約情報には、図12、13、14、15、43で示した各プロパティをの情報を含む。
予約一覧応答を受信した番組情報受信装置140は、後述する図48に示す画面を表示し、操作信号受信部226を介して予約録画1を削除するか否かの入力を受け付ける。
図48に示す画面において、ユーザが「キャンセル5002」を選択した場合は図45の予約録画設定処理を終了し、「削除5003」を選択した場合はS4518に進む。 S4518:番組情報受信装置140は、予約録画2と重複する予約録画1の予約ID1を指定し、「予約削除要求」メッセージを番組情報送信装置110へ送信する。
S4419:「予約削除要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約録画サービス429は、予約管理部414を参照し、指定された予約ID1の予約オブジェクトを削除する。削除が実行された場合は、予約削除した応答を番組情報受信装置140に返す。
以上により、予約情報2と重複する予約情報1を削除し、予約情報2を設定することができる。
図46に予約録画サービス429のサービス詳細情報のアクションリストの一例を示す。
図に示すように、アクション毎にアクション名と引数リストを設定する。図46では4610、4620、4630、4640、4650が各アクションを示す。アクション4610のアクション名が4611、引数リストが4612である。引数リストには1つ以上の引数の情報を列挙する。
図46では1行で1つの引数の情報を示している。4691の列は引数名、4692の列は入出力方向(INまたはOUT)、4693の列は型定義名を示す。
CreateRecordSchedule4611は、予約録画オブジェクト作成要求である。
DeleteRecordScedule4621は、予約削除要求である。
GetRecordSchedule4631は、予約IDであるRecordScheduleIDで指定される予約録画の予約情報要求である。
GetScheduleConflicts4641は、予約IDであるRecordScheduleIDと重複する予約IDを取得する重複予約ID要求である。
BrowseRecordSchedule4651は、予約一覧要求である。
図47は、図44のS4413で予約重複を受信した際の番組情報受信装置140の画面の一例である。予約録画設定コントローラで予約の重複を受信すると、統合番組表生成アプリ2611は、予約重複ダイヤログ4700を表示する。4701はS4412で指定した予約情報に対応する番組情報である。終了4704を指定すると、予約を設定せず番組表に戻り、4703を指定すると、統合番組表生成アプリ2611は、予約一覧を表示するために予約録画コントローラに予約一覧取得を依頼する。
図48は、図45のS4517で予約重複する予約IDの予約情報を受信した際の番組情報受信装置140の画面の一例である。なお、予約録画設定コントローラ529で予約の重複を受信すると、統合番組表生成アプリ2611は、予約重複ダイヤログ4700を表示する。
4804、4805は、S4517で受信した予約ID1に対応する予約情報1に含まれる予約録画情報である。終了4807を指定すると番組表に戻り、4806を指定すると、統合番組表生成アプリ2611は、予約一覧を表示するために予約録画コントローラに予約一覧取得を依頼する。
図49は、図44のS4415で予約一覧を受信した際の番組情報受信装置140の画面の一例である。予約一覧4900には、予約録画の情報に併せ、情報4910欄に予約が重複していることを示す重複マーク4902、4903を表示し、ユーザはリモコン230の操作により修正する予約を指定する。
図50は、図49で指定した削除対象の予約録画を表示する番組情報受信装置140の画面の一例である。予約削除ダイヤログ5000には、削除対象の予約録画情報5001を表示し、キャンセル5002を指定すると削除を行わず予約一覧に戻り、削除5003を指定すると、指定した予約録画情報に対応する予約IDを引数に予約削除要求S4416を実行する。
図51は、図45のS4517で予約重複する予約IDの予約情報を受信した際の番組情報受信装置140の画面の図48とは別の画面の一例である。予約録画設定コントローラ529で予約の重複を受信すると、統合番組表生成アプリ2611は、予約重複ダイヤログ5100を表示する。
5101は、S4512で送信した予約ID2に対応する予約録画情報である。5102は、S4517で受信した予約ID1に対応する予約情報1に含まれる予約録画情報である。終了4807を指定すると番組表に戻り、4806を指定すると、統合番組表生成アプリ2611は、予約一覧を表示するために予約録画コントローラ529に予約一覧取得を依頼する。
ユーザはリモコン230の操作により、キャンセル5105を指定すると予約録画削除を行わず、予約が重複したまま番組表3500に戻り、5103、5104を選択することにより削除対象の予約録画を指定し、決定5106を指定すると、予約録画コントローラ529は、予約ID1を削除する予約削除要求を実行する。
図52は、図44、45で示した手順の予約重複応答に重複予約を含む場合と含まない場合の番組情報受信装置140の処理フローである。
S5201:図44におけるS4413、図45における4513で予約録画オブジェクト作成要求の応答を受信する。
S5202:予約の重複を確認し、重なりが無ければ終了する。
S5203:S5202で予約の重複を検出した場合、応答に予約IDがあるか確認する。
S5204:S5203で予約IDが無い場合、ユーザに予約一覧表示するか否か確認し、ユーザが予約一覧を要求しない場合、終了する。
S5205:S5204でユーザが予約一覧を要求した場合、予約一覧要求を送信する。
S5206:応答として取得した予約一覧を表示する。
S5207:S5203で予約IDがある場合、重複予約要求を送信し、受信した予約IDと重複する予約録画の予約IDを取得し、取得した予約IDを引数に予約情報要求を送信し、指定した予約IDに対応する予約情報を応答として取得する。
S5208:応答として取得した予約情報を表示する。
以上、説明した通り本実施例では、EPGクライアント搭載機器である番組情報受信装置140は、ネットワークに接続されたEPGサーバ搭載機器である番組情報送信装置110を探索し、EPG情報を取得し、ネットワークに接続された録画サーバ搭載機器である録画装置140を探索し、その情報から電子番組表画面を生成しユーザに提示する。そして、提示された番組を選択して予約録画する手段をユーザに与え、予約録画が重複した場合に予約録画を修正する手段をユーザに与える。そのため、ユーザは操作している機器へ予約録画を設定する場合と同じ感覚で、ネットワーク経由で番組情報送信装置110に録画装置140へのネットワーク録画を行う予約録画を設定できる。
本実施例は、ネットワーク上の他の装置に対してWebブラウザで閲覧できる形式で番組表を提供する番組情報送信装置とその番組情報提供方式、および、この番組表を用いて放送番組の予約録画設定を行うネットワーク経由の予約録画方式について説明する。
図1のシステムにおいて、デジタル放送受信装置110は本実施例に係る番組情報送信装置として動作し、ネットワークを介して放送の番組情報を提供する「EPGサーバ機能」を備える。デジタル放送受信装置140は本実施例に係る番組情報受信装置として動作し、ネットワークを介して番組情報を取得しユーザに提供する「EPGクライアント機能」を備える。以下、デジタル放送受信装置110を番組情報送信装置110と、デジタル放送受信装置140は番組情報受信装置140と表記する。
番組情報送信装置110、番組情報受信装置140の構成は各々図2、図3に示した例と同じであるため説明は省略する。
図53に本実施例における番組情報送信装置110のソフトウェア構成を示す。図53において図4と同等の機能を提供する構成要素は同じ番号で示し説明を省略する。本実施例では図4に対してWebサーバ5310とWeb番組表生成部5311を制御ソフトウェア400の構成要素に追加する。
Webサーバ5310は、Webブラウザなどクライアントの要求に応じて、ネットワーク通信処理部420を介しHTML(HyperText Markup Language)文書や静止画や動画などの画像や音声などの情報を送信する。本実施例において、Webサーバ5310は、Web番組表生成部5311が生成する電子番組表である「WebEPG」を、送信する情報の1つとして提供する。
Web番組表生成部5311は、番組情報処理部411を参照して取得した放送番組の情報を用いて、Webブラウザで閲覧できる形式の電子番組表である「WebEPG」を生成する。「WebEPG」によってユーザは、番組情報受信装置140のWebブラウザを使い、ネットワークを介して番組情報送信装置110が受信する放送の番組表を閲覧できる。Web番組表生成部5311が生成する「WebEPG」には、ユーザが所望の番組を選択して選局したり、あるいは所望の番組の録画や視聴の予約の実行を行ったり、番組表の表示形式をカスタマイズする制御スクリプトを含む。なお、Webブラウザで閲覧できるWebページの文書の代表的なものとして、マークアップ言語の1つであるHTMLで記述されたHTML文書が挙げられる。
番組情報処理部411は、先に実施例1で説明したように、デマックス部203によってデジタル放送信号から分離・抽出された放送番組の情報を含むPESあるいはESから、放送スケジュール、番組タイトルなどの番組情報を取得する。そして、取得した番組情報で番組情報テーブルを構成し、メモリ213もしくは記録再生部210に記録する。また、番組情報の変更情報や新しい番組情報を受信した場合には、その都度、番組情報テーブルを更新し、最新の番組情報を番組情報テーブルに保持する。
図54に番組情報受信装置150のソフトウェア構成を示す。図54において図26と同等の機能を提供する構成要素は同じ番号で示し説明を省略する。本実施例では図26に対してWebブラウザ5410をソフトウェアの構成要素に追加する。
Webブラウザ5410は、Webページを閲覧するためのソフトウェアである。ホームネットワーク上のWebサーバや、外部のWebサーバに接続してHTMLや静止画や動画などの画像や音声などをダウンロードし、レイアウトを解析して表示・再生する。また、本実施例においては、統合番組表生成アプリ2610の要求に従って、番組情報送信装置110が提供する「WebEpg」を取得し、ユーザに提示しする。
統合番組表生成アプリ2610は、番組表生成部410が生成する番組情報受信装置140が受信しているデジタル放送信号から生成する電子番組表と、ネットワークを介して番組情報送信装置110から取得した電子番組表とを統括的に表示するアプリケーションである。実施例2では、ネットワークを介して取得する番組表は、番組情報送信装置110から取得した番組情報を用いて番組情報受信装置140が生成する電子番組表である「ネットEPG」であった。本実施例では、これに加えて番組情報送信装置110が提供する「WebEpg」も統括表示の対象とする。統合番組表生成アプリ2610はユーザのリモコン操作などによって「WebEpg」の表示要求を受け付けた場合、Webブラウザ5410を起動し、Webブラウザ5410に番組情報送信装置110が提供する「WebEpg」の取得先URLにアクセスさせることで番組情報送信装置110が受信するデジタル放送の番組表を表示する。
ここで、番組情報送信装置110のWeb番組表生成部5311が、番組情報処理部411により放送番組の情報を含むPESあるいはESから抽出された番組情報から「WebEpg」を生成するための具体的方法について説明する。
図56は、Web番組表生成部5311が生成する電子番組表である「WebEpg」ページの画面の一例である。図57は、電子番組表に配置する各番組欄の具体例の一つである。図58は、「WebEpg」を構成するHTMLタグの定義の一例を示す図である。
図56に示すように、「WebEpg」の画面5600は放送システム欄5611、番組表提供装置欄5612、放送日欄5651、5652、5653、5654、5655、5656、5657、5658、5659、チャンネル欄5616、時間欄5617、5618、番組欄5619で構成する。
各構成要素のHTMLタグの定義を図58(a)(b)に示す。また、一部の要素については図12、図13、図14、図15に示したプロパティをHTMLタグの記述として利用する。
なお、「WebEpg」の画面5600への各要素の配置は、「WebEpg」ページにスクリプト言語で配置プログラムを記述したり、あるいは、サーバー上のプログラムを呼び出して「WebEpg」ページを動的に生成して送出する方式を用いることができる。Webブラウザからの要求に応じて所望のプログラムを呼び出して、その実行結果をブラウザに返す方式としては、例えばCGI(Commom Gateway Interface)などが利用される。スクリプト言語はJavaScript(登録商標)やPHP(Hypertext Preprocesser)などがある。本実施例では、Web番組表生成部5311が「WebEpg」ページを動的に生成して番組情報受信装置140に返す。
ここでは、各構成要素を構成するHTMLタグの定義と、タグの内容の取得方法についてについて説明する。タグ定義とその内容の取得方法については図58に一覧を記載する。
放送システム欄5611は、ケーブルテレビや地上デジタル放送など、表示している電子番組表の放送システムの名称を表示する欄である。放送システムの名称はタグ<EpgTitle>と定義する。<EpgTitle>はNIT(Network Information Table)の第1ループ(ネットワークループ)に含まれるネットワーク名記述子のcharフィールドから取得する。
番組表提供装置欄5612は、番組情報を提供した番組情報送信装置110の名前を表示する欄であり、図58(a)に示すように<WebEpgServerName>タグで定義する。<WebEpgServerName>タグには機器記述情報600のデバイス情報610に含まれる「機器の名称」を記述する。
5651、5652、5653、5654、5655、5656、5657、5658は放送日欄である。現在以降数日間を選択できる。本実施例ではテレビサービスで伝送される8日間の番組情報を選択可能にするため8個の放送日欄を用意している。放送日欄は図58に示すように<EpgDate>タグと定義する。
<EpgDate>タグは、”21(土)”などのように日付と曜日を示す文字列を含み、その内容が放送日欄に表示される。放送日欄5651の<EpgDate>の内容には「WebEpg」が要求された時点の日付情報が挿入され、その他の放送日欄5652〜5658には次の日から8日目までの日付と曜日を示す文字情報が挿入される。また<EpgDate>は、属性「href」と属性「viewflag」を持つ。属性hrefには、<EpgDate>で表されている日のWebEpgを取得先URLが記述される。本実施例はCGIを利用する場合を例に記載している。引数として日にちdateと時間timeを設定する。本実施例では、「WebEpg」が要求された時点の日時からWeb番組表生成部5311により自動的に設定される。例えば、放送日欄5653の場合、図56の「WebEpg」では表示の始まり時刻は午後6時で、放送日欄5653の日付は「23(月)」なので、属性hrefはhref=“http://WebEpg_uuid/epg.cgi?date=20120123&time=18”のように記述される。属性「viewflag」は、<EpgDate>で示している日にちの番組表を表示しているかどうかを示ものである。図56では放送日欄5651の番組表を表示しているので、放送日欄5651の属性「viewflag」の値が“1”で、その他は“0”と記載される。この属性値は、図56で放送日欄の中で放送日欄5651だけを太線で示しているように、現在表示中の番組表の日付をわかりやすく表示する目的などに使われる。放送日欄に属性hrefを持たせる構成とすることで、番組情報受信装置140のユーザは画面に表示された放送日欄から所望のものを選択するだけで、日時を指定した番組表を表示させることができる。
チャンネル欄5616は放送システムで提供されるチャンネルの一覧を提示する欄であり、各チャンネル欄5620を並べて配置する。それぞれの各チャンネル欄5620の列の下には、そのチャンネルで放送される番組の番組情報を配置する。
1つのチャンネルの各チャンネル欄5620はチャンネル名欄5621、アイコン欄5622、チャンネル番号欄5623で構成する。
チャンネル名欄5621には編成チャンネル名を表示する。また、チャンネル名欄5621を示すために図14(b)で定義した<upnp:channelName>をタグとして用いる。<upnp:channelName>には、SDT(Service Description Table)のサービスループに含まれる「サービス記述子」の、第2ループに含まれるcharの情報を挿入する。
アイコン欄5622には編成チャンネルのロゴを表示する。また、アイコン欄5622を示すために図14(a)で定義した<upnp:icon>をタグとして用いる。アイコン欄5622には当該サービス(編成チャンネル)のロゴを表示する。ロゴの情報は番組情報送信装置110が保持し、Web番組表生成部5311がそのロゴを取得するためのURLを生成して、<channelIcon>タグに記述する。
チャンネル番号欄5623には、編成チャンネルを識別するチャンネル番号を表示する。また、チャンネル番号欄5623を示すために図14(b)で定義した<upnp:channelNr>をタグとして用いる。図14(b)に記述した通り、チャンネル番号は[ワンタッチ選局番号]と[3桁番号]であらわす。[3桁番号]はNIT(Network Information Table)の第2ループ(TSループ)に含まれる「サービスリスト記述子」のservice_idを用いる。
時間欄5617、5618は放送時を表示する欄である。電子番組表を表示するときは、表示時の時間を一番上に配置する。表示時間帯は一般的な電子番組表と同様にユーザのリモコン操作などで移動できる。本実施例では時間欄は電子番組表の両脇に1つずつ配置しているが、画面の大きさなどによっては1つまたは3つ以上配置してもよい。
番組欄5619は各番組の番組情報である各番組欄5630を表示する欄である。図に示すように各番組欄5630は番組欄5619に格子状に配置する。
図58(b)を用いて、各番組欄5630を記述するタグを説明する。各番組欄5630は番組開始時刻表示欄5731、番組名表示欄5732、番組説明表示欄5733、予約アイコン欄5720、録画ボタン5741、視聴ボタン5742などで構成する。
番組名表示欄5732にはイベント名(番組名)を表示する。イベント名を示すタグとして<eventName>を定義する。<eventName>タグには、EIT(Event Information Table)のイベントループに含まれる「短形式イベント記述子」の、第1ループに含まれるevent_name_char の情報を挿入する。<eventName>タグは属性情報として属性「eventId」と属性「serviceID」を持つ。属性「eventId」はそのイベント(番組)を提供するサービス(チャンネル)内で番組を一意に特定する識別子である。属性「serviceID」は編成チャンネルを識別するチャンネル番号である。それぞれ、<eventName>の属するEITに含まれるevent_idとservice_idを使用する。
番組開始時刻表示欄5731は<startTime>タグで定義する。番組開始時間の分の部分を示す内容をMMの形式で持つ。例えば、10時15分に開始する番組の場合、<startTime>15</startTime>のように表現される。<startTime>タグは属性「scheduledStartTime」と属性「scheduledEndTime」を持つ。属性「scheduledStartTime」は番組の開始時刻を表し。EITからeventName@eventIdに対応するstart_timeの値を取得して挿入する。<startTime>はstart_timeから分を表す部分を抜き出したものである。属性「scheduledEndTime」は、EITからeventName@eventIdに対応するstart_timeおよび、対象イベントの時間の長さを表すdurationから終了時刻を生成して挿入する。
番組説明表示欄5733にはイベント(番組)についての説明を記述する。また、番組説明表示欄5733を示すために図15(b)で定義した<dc:description>をタグとして用いる。<eventName>の属するEITのイベントループに含まれる短形式イベント記述子の、第2ループに含まれるtext_charを挿入する。
予約アイコン欄5720は各番組欄に示される番組に設定されている予約を表示する欄であり、録画予約や視聴予約を示すアイコンを参照するためのURLが記述される。予約の設定状態はWeb番組表生成部410が予約管理部414を参照して取得する。予約管理部414には<eventName>タグの持つ属性「serviceID」と属性「eventId」で予約を参照できる形で予約情報が管理されている。録画予約や視聴予約を示すアイコンはメモリ213もしくは記録再生部210に記録されている。
録画ボタン5741は<recordReq>タグで定義する。対象イベント(番組)の録画予約要求を「http://WebEpg_uuid/recReq.cgi?serviceID=103&eventID=123」のように記述する。Webブラウザ5410からのリクエストをWebサーバ5310を介して受けたWeb番組表生成部5311は、録画予約要求の引数として付加されたserviceID=103とeventID=123を用いて予約管理部414に録画予約の設定を依頼する。Web番組表生成部5311は、予約管理部414から録画予約の設定結果を受け取り、その結果表示する画面を生成し、Webブラウザ5410に返す。
視聴ボタン5742は<playReq>タグで定義する。対象イベント(番組)の視聴予約要求を「http://WebEpg_uuid/playReq.cgi?serviceID=103&eventID=123」のように記述する。Webブラウザ5410からのリクエストをWebサーバ5310を介して受けたWeb番組表生成部5311は、視聴予約要求の引数として付加されたserviceID=103とeventID=123を用いて該当番組が今現在放送中であるか否かを判断する。放送中の場合はその番組を取得するためのURLを応答として返す。そうでない場合は、引数として付加されたserviceID=103とeventID=123を用いて予約管理部414に視聴予約を依頼する。Web番組表生成部5311は、予約管理部414から視聴予約の設定結果を受け取り、その結果表示する画面を生成し、Webブラウザ5410に返す。
各番組欄2230はその番組が放送されるチャンネルのチャンネル欄の列に配置される。各番組欄5630をどのチャンネル欄5616の列に配置するかは、<eventName>タグの属性「serviceID」と<upnp:channelNr>タグ(図14(b))の値で対応付ける。縦軸の位置は、番組開始時刻で定まる。例えば1時間の欄を15分単位で4分割して、0分から15分(15分は含まない)までの開始は4分割の一番上の位置、15分から30分(30分は含まない)までの開始は4分割の上から2番目の位置に配置する。
次に、ネットワーク上の装置が「WebEPG」を提供する番組情報送信装置110を探索する手順について説明する。
図55は本実施例における番組情報送信装置110の機器記述情報である。図55において図6と同等の要素は同じ番号で示し説明を省略する。本実施例では、番組情報送信装置110が提供するサービスとして「WebEPG」機能を追加する。そして、図55の5510に示すように、機器記述情報のサービス情報リスト620にWebEPGサービス5510を追加する。WebEPGサービス5510に関するサービスの記述は、サービスタイプ、サービスID、アクセスページURLで構成する。
WebEPGサービス5510では5511に示すようにサービスタイプを「WebStyleEpg」と定める。WebEPGサービス5510ではサービスの記述にサービス記述URLとコントロールURLを持たず、アクセスページURL5512を持つことで制御コマンドによる操作ではなく、Webブラウザで閲覧できる形式でサービスを提供していることを示している。アクセスページURL5512に記述した「WebStyleEpgURL」は「WebEPG」を閲覧するためのアクセス先を示している。
ここで、番組情報受信装置140が「WebEPG」を提供する番組情報送信装置110を探索する方法について2つの例を説明する。
第1の方式は、図19に示したEPGサーバ機能を提供するMediaServer(DMS)を探索する「デバイス探索」をする方式である。
番組情報受信装置140はDMS探索する「デバイス探索」(S1910)への応答(1911)を受信すると、応答を送信した装置へS1912のデバイス情報要求を送信する。そして、それに対する応答S1913により図55に示した機器記述情報を取得する。そして、サービス情報リスト620を解釈し、サービスタイプが「WebStyleEpg」であるサービスを検知することで番組情報送信装置110が「WebEPG」を提供することを知り、アクセスページURL5512から「WebEPG」のアクセス先情報を取得できる。更に、図19の処理を進め、S1914以降の処理を実行することで、番組情報送信装置110が「ネットEpg」も提供するEPGサーバであることを検知できる。
このように、第1の方式では「ネットEpg」を探索する場合と同じ方式で「WebEPG」を探索できる利点がある。
第2の方式はサービスタイプが「WebStyleEpg」を探索する「サービス探索」をする方式である。図59(a)と図59(b)に「WebStyleEpg」を探索する「サービス探索」メッセージと「応答」メッセージの一例を示す。
図59(a)は「サービス探索」メッセージである。
「M−SEARCH」はこのメッセージが探索要求であることを示す。
「HOST: 239.255.255.250:1900」はこのメッセージをホームネットワークを構成する全ての機器に送信するマルチキャストメッセージであることを示す。「MAN: ”ssdp:discover”」は探索プロトコルとしてSSDP (Simple Service Discovery Protocol)を用いることを示す。「MX:」はこのメッセージに対する応答の最大待ち時間を記述する要素で、「MX: 1」は最大待ち時間が1秒であることを示している。「ST:」は探索対象(Search Target)を記述する要素である。ここに、サービスタイプが「WebStyleEpg」を持つ装置を探索することを示す「service:WebStyleEpg」を記述する。なお、DMS探索する「デバイス探索」の場合は、「ST:」の要素として「device:MediaServer」と記述する。
図59(b)は「サービス探索」メッセージに対する「応答」メッセージである。
「HTTP/1.1 200 OK」はこのメッセージが応「応答」メッセージであることを示す。
「CACHE−CONTROL: max−age = 1800」はこのメッセージの内容の有効期間(秒)を表す。本例では1800秒と指定している。
「LOCATION:」は「応答」メッセージの送信元である装置の機器記述情報を取得するためのデバイス情報要求の送信先を示すURLを記述する要素である。
「Content−Location:」はサービスタイプが「WebStyleEpg」のサービスを探索した場合に追加される要素である。ここには、アクセスページURL(図55、5512)の内容を記述する。
「SERVER:」はOSのバージョンなど「応答」メッセージの送信元である装置に関する情報を記述する要素である。
「ST:」は探索対象(Search Target)を記述する要素である。本実施例の場合は図59(a)で探索対象とした「service:WebStyleEpg」を記述する。
「USN:」には「応答」メッセージの送信元である装置を一意に特定する識別子であるuuid(Universally Unique Identifier)を記述する。
このように、第2の方式である「WebStyleEpg」を探索する「サービス探索」をする方式では、「応答」メッセージに「WebStyleEpg」サービスが提供する「アクセスページURL」を含ませる。第1の方式では、「WebEPG」のアクセス先URLを取得するために「デバイス探索」した後、その応答で得られた「LOCATION:」に示されたURLへデバイス情報要求を送信するし、機器記述情報を取得する必要があった。これに対して第2の方式では、「サービス探索」の「応答」メッセージに含まれる「Content−Location:」で「WebStyleEpg」サービスが提供する「アクセスページURL」を取得できる。従って、「WebEPG」のアクセス先をより簡単に取得することができ、番組情報受信装置140のソフトウェアをより簡素化できる。
以上のように、本実施例に係る番組情報送信装置110は、ネットワーク上の他の機器にWebブラウザでEPG情報を提供し、そのEPG情報から得た番組情報を用いて番組情報送信装置110に予約録画を設定するインターフェースを提供する。
そのため、ユーザは操作している機器へ予約録画を設定する場合と同じ感覚で、ネットワーク経由で番組情報送信装置110に予約録画を設定できる。
本実施例は、番組情報送信装置からネットワークを介して取得した番組情報を用いて、番組情報受信装置が番組情報送信装置に対して予約録画を設定した後に、予約録画を中止する場合の予約録画中止方式について説明する。
図1のシステムにおいて、デジタル放送受信装置110は本実施例に係る番組情報送信装置110として動作し、ネットワークを介して放送の番組情報を提供する「EPGサーバ機能」を備える。録画装置140は本実施例に係る番組情報受信装置140として動作し、ネットワークを介して番組情報を取得しユーザに提供する「EPGクライアント機能」を備える。
番組情報送信装置110、番組情報受信装置140の構成は各々図2、図3に示した例と同じであるため説明は省略する。
番組情報送信装置110のソフトウェア構成は図4に示した例と同じである。本実施例において、予約管理部414は、実施例1に示した機能に加え、予約録画サービス429から指定されている録画の予約を受け付け、予約録画最中に予約録画中止を検出する。
予約録画サービス429は、実施例1に示した機能に加え、ネットワークを介した予約録画中止の登録を予約管理部414に設定した際、予約録画を中止し、中止した予約番組の情報を予約管理部414から取得して提供する。その他の構成は実施例1と同じであるため説明は省略する。
番組情報受信装置140のソフトウェア構成は図26に示した例と同じであるため説明は省略する。
次に、番組情報受信装置140が、ネットワーク経由で番組情報送信装置110に予約録画中止する方式について説明する。
図60はユーザが予約録画を番組情報送信装置110に設定後、予約録画が開始され、予約録画中にユーザが予約録画中止を番組情報送信装置110に設定するにあたり、番組情報送信装置110と番組情報受信装置140との間で行われる通信の手順を示す。番組情報受信装置140における予約録画中止処理はネットワーク予約録画アプリ2611によって予約録画中止シーケンスとして実行される。
S6010:番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、ユーザが選択した番組の予約録画を設定する「予約録画オブジェクト作成要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。「予約録画オブジェクト作成要求」メッセージの引数は予約する番組の情報を記述した「予約情報」である。本実施例では、番組情報送信装置110がEpgダイレクト予約録画機能を提供するため、番組アイテムのタイトルとIDプロパティだけで予約設定できる。
S6011:「予約録画オブジェクト作成要求」メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約管理部414を参照し、その番組予約を予約管理部414に設定する。予約を受け付た場合は、予約録画を参照するための識別子である予約IDと、予約結果の情報であるResultを返す。
その後、番組情報送信装置110は所定の予約時間になると番組の予約録画を開始する。
S6012:ユーザが予約録画中止を設定すると、番組情報受信装置140の予約録画設定コントローラ529はネットワーク予約録画アプリ2611の指示に従って、予約一覧を要求する「予約一覧要求」メッセージを送信する。メッセージの送出先は、ユーザが選択した番組の情報を提供した番組情報送信装置110である。
S6013:予約一覧要求メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。予約管理部414を参照し、設定された予約の予約IDと予約録画時刻を含む予約一覧を応答として、番組情報受信装置140へ返す。予約一覧には、図12、13、14、15、43で示した各プロパティの情報を含む。
S6014:予約一覧応答を受信した番組情報受信装置140は、現在予約中、あるいは予約録画中の番組の中からユーザの希望する中止したい番組の予約IDを指定し、予約録画中止要求メッセージを番組情報送信装置110へ送信する。
S6015:予約録画中止要求メッセージを受信した番組情報送信装置110は、予約録画サービス429でそのメッセージを処理する。また、本当に予約録画を中止して良いかどうかをユーザに問い合わせる確認要求をつけて、番組情報受信装置140に送信する。
図61に予約録画サービス429のサービス詳細情報のアクションリストの一例を示す。図に示すように、アクション毎にアクション名と引数リストを設定する。図61では、6110、6120、6130、6140、6150が各アクションを示す。アクション6110のアクション名が6111、引数リストが6112である。引数リストには1つ以上の引数の情報を列挙する。
図61では1行で1つの引数の情報を示している。6191の列は引数名、6192の列は入出力方向(INまたはOUT)、6193の列は型定義名を示す。
CreateRecordSchedule6111は予約録画オブジェクト作成要求である。DeleteRecordSchedule6121は予約録画中止要求である。GetRecordSchedule6131は、予約IDであるRecordScheduleIDで指定される予約録画の予約情報要求である。BrowseRecordSchedule6141は、予約一覧要求である。DeleteRecordSchedule6121のDeleteRecordTask6122で示されるA_ARG_TYPE_ObjectIDに該当する番組の予約録画を予約録画の最中に中止することができる。
図62は、図53のS5313で予約一覧応答を受信した際の番組情報受信装置140の画面の一例である。予約一覧6200には、予約録画の情報に併せ、情報6201欄に予約録画中のマーク6202を表示し、ユーザはリモコン230の操作により予約録画中止する番組を指定する。
図63は、図60のS6015で確認要求を受信した際の番組情報受信装置140の画面の一例である。予約設定コントローラで予約録画中止を受信すると、統合番組表生成アプリ2611は、予約録画中止ダイヤログ6300を表示する。6301、6302はS6010で指定した予約情報に対応する番組情報である。ユーザがリモコン230で「いいえ」を指定すると予約録画は録画を続行する。「はい」を選択すると予約録画している番組の録画を中止する。
図64は、図60で示した手順の予約録画中止処理に関する処理フローである。
S6401:番組情報受信装置140は、図60におけるS536011の予約録画オブジェクト作成要求の応答を受信する。
S576402:番組情報受信装置140は番組情報送信装置110より予約一覧を受信する。
S576403:上記受信した予約一覧より、ユーザが予約録画を中止したい番組を選択する。
選択しない場合は、番組情報送信装置110の予約録画は続行S6407される。
S6404:ユーザが予約録画の中止を選択した場合、番組情報送信装置110より予約録画中止確認を受信する。
S6405:ユーザがリモコン230で予約録画中止を確認した場合、番組情報受信装置140は番組情報送信装置110へ向けて予約録画中止実行要求を送信する。番組情報送信装置110は、上記要求を受信すると、予約録画を中止6406する。
以上、説明した通り本実施例では、EPGクライアント搭載機器である番組情報受信装置140は、ネットワークに接続されたEPGサーバ搭載機器である番組情報送信装置110から、EPG情報を取得し、ネットワークに接続された録画サーバ搭載機器である録画装置140を探索し、その情報から電子番組表画面を生成しユーザに提示する。そして、提示された番組を選択して予約録画中の番組の録画を中止する手段をユーザに与える。そのため、ユーザは機器への操作と同様に、ネットワークを介して予約録画中の番組の録画の中止を設定できるようになる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。