(57)【要約】【課題】コンテンツ間に生じる無音部分を少なくすることができ、かつ、プレイリストの変更を再生装置の再生に容易に反映できるネットワークＡＶシステムを提供する。【解決手段】コントロールポイントＣＰは、メディアレンダラＭＲ１が曲を再生するごとに、プレイリスト３０上の再生曲の次に列挙された曲（次再生曲）のＵＲＩを次再生予約として送信する。メディアレンダラＭＲ１は、曲の再生を完了後、次再生予約の曲ＵＲＩに基づいて直ちに曲を再生する。メディアレンダラＭＲ１は、送信された次再生予約をコントロールポイントＣＰに送信する。メディアレンダラＭＲ１が曲の再生を完了したとき、コントロールポイントＣＰは、プレイリスト３０上の次再生曲のＵＲＩが次再生予約に含まれる曲のＵＲＩと異なる場合、メディアレンダラＭＲ１にプレイリスト３０上の次再生曲を再生するよう変更指示を送信する。【選択図】図７Ｂ
2007287196.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンテンツを再生する再生装置と、前記再生装置に接続され、前記再生装置を制御するコントローラとを備えたネットワークＡＶシステムであって、
前記コントローラは、
前記コンテンツを再生順に列挙したプレイリストを作成する作成手段と、
前記再生装置がコンテンツを再生するごとに、前記プレイリスト上で再生コンテンツの次に列挙されたコンテンツを特定し、前記特定されたコンテンツを示す次再生予約を前記再生装置に送信する次再生予約手段と、
前記プレイリストに変更を加える変更手段とを備え、
前記再生装置は、
前記次再生予約を受信する受信手段と、
前記コンテンツの再生を完了するごとに、前記次再生予約に示されるコンテンツの再生を開始する再生手段とを備えることを特徴とするネットワークＡＶシステム。
【請求項２】
請求項１に記載のネットワークＡＶシステムであって、
前記再生装置はさらに、
前記受信された次再生予約を前記コントローラに送信する予約通知手段と、
前記コンテンツの再生を完了するごとに、再生完了通知を前記コントローラに送信する再生完了通知手段とを備え、
前記コントローラはさらに、
前記再生完了通知を受信したとき、前記プレイリスト上で前記再生コンテンツの次に列挙されたコンテンツを特定し、前記特定されたコンテンツが前記送信された次再生予約に示されるコンテンツと同じか否かを判断する次再生判断手段と、
前記特定されたコンテンツが前記次再生予約に示されるコンテンツと異なる場合、前記特定されたコンテンツを示す変更指示を送信する変更指示手段とを備え、
前記再生手段は、前記変更指示を受信したとき、前記次再生予約に示されるコンテンツに代えて、前記変更指示に示されるコンテンツの再生を開始することを特徴とするネットワークＡＶシステム。
【請求項３】
請求項２に記載のネットワークＡＶシステムであって、
前記コントローラは、
前記次再生判断手段が判断した後、前記特定されたコンテンツを前記プレイリスト上での再生コンテンツとして管理する再生管理手段を備えることを特徴とするネットワークＡＶシステム。
【請求項４】
請求項３に記載のネットワークＡＶシステムであって、
前記コントローラを複数備え、
前記再生手段は、前記コンテンツの再生中に、当該他のコントローラから新たなコンテンツの再生指示を受信したとき、前記コンテンツの再生を停止して前記新たなコンテンツの再生を開始し、
前記再生装置はさらに、
前記新たなコンテンツの再生を開始するとき、前記再生を開始するコンテンツを示す再生情報を前記複数のコントローラに送信する再生通知手段を備え、
前記コントローラはさらに、
前記再生情報を受信したとき、前記プレイリスト上の再生コンテンツが前記再生情報に示されるコンテンツと同じか否かを判断する再生判断手段と、
前記判断の結果、前記再生情報に示されるコンテンツが前記プレイリスト上の再生コンテンツと異なる場合、前記再生装置の制御を解除する解除手段を備えることを特徴とするネットワークＡＶシステム。
【請求項５】
複数のコンテンツを再生する再生装置と接続可能であり、前記再生装置を制御するコントローラであって、
前記コンテンツを再生順に列挙したプレイリストを作成する作成手段と、
前記再生装置がコンテンツを再生するごとに、前記プレイリスト上で再生コンテンツの次に列挙されたコンテンツを特定し、前記特定されたコンテンツを再生中のコンテンツの次に前記再生装置に再生させるために、前記特定されたコンテンツを示す次再生予約を前記再生装置に送信する次再生予約手段と、
前記プレイリストに変更を加える変更手段とを備えることを特徴とするコントローラ。
【請求項６】
請求項５に記載のコントローラであってさらに、
自身が送信した前記次再生予約を前記再生装置から受信する手段と、
前記前記コンテンツの再生が完了したときに前記再生装置から送信される再生完了通知を受信したとき、前記プレイリスト上で前記再生コンテンツの次に列挙されたコンテンツを特定し、前記特定されたコンテンツが前記受信された次再生予約に示されるコンテンツと同じか否かを判断する次再生判断手段と、
前記特定されたコンテンツが前記次再生予約に示されるコンテンツと異なる場合、前記次再生予約に示されるコンテンツに代えて前記特定されたコンテンツを前記再生装置に再生させるために、前記特定されたコンテンツを示す変更指示を前記再生装置に送信する変更指示手段とを備えることを特徴とするコントローラ。
【請求項７】
請求項６に記載のコントローラであって、
前記次再生判断手段が判断した後、前記特定されたコンテンツを前記プレイリスト上での再生コンテンツとして管理する再生管理手段を備えることを特徴とするコントローラ。
【請求項８】
請求項７に記載のコントローラであってさらに、
新たなコンテンツの再生を開始するときに前記再生装置から送信され前記再生を開始するコンテンツを示す再生情報を受信したとき、前記プレイリスト上の再生コンテンツが前記再生情報に示されるコンテンツと同じか否かを判断する再生判断手段と、
前記判断の結果、前記再生情報に示されるコンテンツが前記プレイリスト上の再生コンテンツと異なる場合、前記再生装置の制御を解除する解除手段とを備えることを特徴とするコントローラ。
【請求項９】
複数のコンテンツを再生順に列挙したプレイリストを有するコントローラと接続可能であり、前記コントローラからの指示に応じて複数のコンテンツを再生する再生装置であって、
前記コンテンツを再生するごとに、前記プレイリスト上で再生コンテンツの次に列挙されたコンテンツを示す次再生予約を受信する受信手段と、
前記コンテンツの再生を完了するごとに、前記次再生予約に示されるコンテンツの再生を開始する再生手段とを備えることを特徴とする再生装置。
【請求項１０】
請求項９に記載の再生装置であってさらに、
前記受信された次再生予約を前記コントローラに送信する予約通知手段と、
前記コンテンツの再生を完了するごとに、再生完了通知を前記コントローラに送信する再生完了通知手段とを備え、
前記再生手段は、前記再生完了通知を受信したコントローラから送信され前記プレイリスト上で再生コンテンツの次に列挙されたコンテンツを示す変更指示を受信したとき、前記次再生予約に示されるコンテンツに代えて、前記変更指示に示されるコンテンツの再生を開始することを特徴とする再生装置。
【請求項１１】
請求項１０に記載の再生装置であって、
再生完了通知を認識しないコントローラと接続可能であり、
前記再生装置はさらに、
コンテンツの再生を完了するごとに、再生装置がコンテンツの再生を停止した状態であることを示す停止ステータス通知を前記コントローラに送信する停止ステータス通知手段を備えることを特徴とする再生装置。
【請求項１２】
請求項５〜請求項８のいずれか１項に記載の手段をコンピュータに実現させるためのコントローラプログラム。
【請求項１３】
請求項９〜請求項１１のいずれか１項に記載の手段をコンピュータに実現させるための再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークＡＶシステム、再生装置及びコントローラ及びそれらのプログラムに関し、さらに詳しくは、複数のコンテンツを再生する再生装置と、再生装置に接続され、再生装置を制御するコントローラとを備えたネットワークＡＶシステム、再生装置及びコントローラ及びそれらのプログラムに関する。
【背景技術】
【０００２】
従来から、クライアントサーバシステムを利用したネットワークＡＶシステムが提供されている。国際公開第０３／１０２９１９号パンフレット（特許文献１）には、複数のコンテンツを蓄積したサーバと、ＬＡＮ(Local Area Network)経由でサーバと接続され、コンテンツの再生装置であるオーディオクライアントと、サーバ経由でオーディオクライアントを制御するコントローラとを備えるネットワークＡＶシステムを開示している。特許文献１によるネットワークＡＶシステムでは、コントローラが、曲を再生順に列挙したプレイリスト（曲リスト）を所有する。オーディオクライアントが曲の再生を終了するごとに、コントローラは、プレイリストに基づいて次の曲の再生をオーディオクライアントに指示する。これにより、コントローラは、プレイリストの再生順にオーディオクライアントに曲を連続再生させることができる。
【０００３】
しかしながら、このネットワークＡＶシステムでは、コントローラが曲の再生完了を認識した後、オーディオクライアントに次の曲の再生を指示する。したがって、再生が終了した曲と次に再生を開始する曲との間に生じる無音部分が長くなる。
【０００４】
ところで、最近、家庭内のパーソナルコンピュータやＡＶ（Audio Visual）機器を相互に接続するためのプロトコルであるＵＰｎＰ（Universal Plug and Play：ユニバーサルプラグアンドプレイ）に基づくネットワークＡＶシステムが登場している。ＵＰｎＰプロトコルに基づくネットワークＡＶシステムでは、コントロールポイントと呼ばれるコントローラが、映像や音楽といったコンテンツを蓄積するソースデバイスであるメディアサーバと、コンテンツを再生する再生装置（シンクデバイス）であるメディアレンダラとを制御する。コントロールポイントは、メディアサーバが蓄積する複数のコンテンツに関する情報を取得し、所望のコンテンツを再生するようメディアレンダラに指示する。メディアレンダラは、メディアサーバに所望のコンテンツを要求する。メディアサーバは、要求に応じて所望のコンテンツをストリーミング配信し、メディアレンダラは、ストリーミング配信されたコンテンツを再生する。
【０００５】
このようなＵＰｎＰ規格に基づくネットワークＡＶシステムでも、プレイリストを用いて連続再生することができる。しかしながら、連続再生中に、プレイリスト中の再生順を変更したり、プレイリスト中の曲を他の曲に変更する等、プレイリストに変更を加えることができない。そのため、プレイリストに変更を加えても、メディアレンダラの再生には反映されない。
【特許文献１】国際公開第０３／１０２９１９号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、コンテンツ間に生じる無音部分を少なくすることができ、かつ、コンテンツの連続再生中にプレイリストに変更を加えても、プレイリストの変更を再生装置の再生に容易に反映できるネットワークＡＶシステムを提供することである。
【課題を解決するための手段及び発明の効果】
【０００７】
本発明によるネットワークＡＶシステムは、複数のコンテンツを再生する再生装置と、再生装置に接続され、再生装置を制御するコントローラとを備える。
コントローラは、作成手段と、次再生予約手段と、変更手段とを備える。作成手段は、コンテンツを再生順に列挙したプレイリストを作成する。次再生予約手段は、再生装置がコンテンツを再生するごとに、プレイリスト上で再生コンテンツの次に列挙されたコンテンツを特定し、特定されたコンテンツを示す次再生予約を再生装置に送信する。変更手段は、プレイリストに変更を加える。
再生装置は、受信手段と、再生手段とを備える。受信手段は、次再生予約を受信する。再生手段は、コンテンツの再生を完了するごとに、次再生予約に示されるコンテンツの再生を開始する。
【０００８】
本発明によるネットワークＡＶシステムでは、再生装置は、コンテンツを再生したとき、次に再生する予定のコンテンツを示す次再生予約を予め取得する。そのため、再生装置は、コンテンツの再生が完了した後、すぐに次のコンテンツを再生できる。コンテンツの再生を完了した後、コントローラから次のコンテンツの再生指示を待つ必要がない。そのため、連続再生中のコンテンツ間に生じる無音部分を少なくすることができる。
【０００９】
また、コントローラは、再生装置がコンテンツを連続再生中にプレイリストを変更する場合もある。コントローラが、プレイリスト全体を再生装置に送信し、再生装置が送信されたプレイリストに基づいてコンテンツを連続再生するのであれば、プレイリストを変更するごとに、コントローラは再生装置のプレイリストを更新しなければならないが、本発明によるネットワークＡＶシステムでは、コントローラはプレイリスト全体を再生装置に送信せず、次のコンテンツを示す次再生予約のみを送信する。そのため、プレイリストを変更するごとに再生装置に対して更新処理を実施する必要はなく、プレイリストの変更を再生装置の再生に容易に反映させることができる。
【００１０】
好ましくは、再生装置はさらに、予約通知手段と、再生完了通知手段とを備える。予約通知手段は、受信された次再生予約をコントローラに送信する。再生完了通知手段は、コンテンツの再生を完了するごとに、再生完了通知をコントローラに送信する。
コントローラはさらに、次再生判断手段と、変更指示手段とを備える。次再生判断手段は、再生完了通知を受信したとき、プレイリスト上で再生コンテンツの次に列挙されたコンテンツを特定し、特定されたコンテンツが送信された次再生予約に示されるコンテンツと同じか否かを判断する。変更指示手段は、特定されたコンテンツが次再生予約に示されるコンテンツと異なる場合、特定されたコンテンツを示す変更指示を送信する。再生手段は、変更指示を受信したとき、次再生予約に示されるコンテンツに代えて、変更指示に示されるコンテンツの再生を開始する。
【００１１】
この場合、コントローラは、自身が予め送信した次再生予約を再生装置から受信する。そして、再生完了通知を受信したとき、つまり、再生装置がコンテンツの再生を完了したとき、コントローラは、プレイリスト上の再生コンテンツの次に列挙されたコンテンツと次再生予約に示されるコンテンツとが同じか否かを確認する。これにより、コントローラは、次再生予約を送信してからコンテンツの再生が完了するまでの間に、再生コンテンツの次に列挙されたコンテンツが変更されたか否かを判断できる。変更されている場合、コントローラは変更指示を送信し、再生装置は、変更指示を受けることで、変更されたコンテンツを再生できる。そのため、プレイリストの変更の全てを再生装置の再生に反映させることができる。
【００１２】
好ましくは、コントローラは、再生管理手段を備える。再生管理手段は、次再生判断手段が判断した後、特定されたコンテンツをプレイリスト上での再生コンテンツとして管理する。
【００１３】
この場合、コントローラは、再生装置が再生中のコンテンツをプレイリスト上で管理できる。
【００１４】
好ましくは、本発明によるネットワークＡＶシステムは、コントローラを複数備える。再生手段は、コンテンツの再生中に、当該他のコントローラから新たなコンテンツの再生指示を受信したとき、コンテンツの再生を停止して新たなコンテンツの再生を開始する。再生装置はさらに、再生通知手段を備える。再生通知手段は、新たなコンテンツの再生を開始するとき、再生を開始するコンテンツを示す再生情報を複数のコントローラに送信する。
コントローラはさらに、再生判断手段と、解除手段とを備える。再生判断手段は、再生情報を受信したとき、プレイリスト上の再生コンテンツが再生情報に示されるコンテンツと同じか否かを判断する。解除手段は、判断の結果、再生情報に示されるコンテンツがプレイリスト上の再生コンテンツと異なる場合、再生装置の制御を解除する。
【００１５】
この場合、再生装置の制御主体が他のコントローラに変更されたとき、コントローラは再生装置の制御を解除できる。
【００１６】
本発明によるコントローラは、上記ネットワークＡＶシステムに使用されるコントローラであり、本発明による再生装置は、上記ネットワークＡＶシステムに使用される再生装置である。
【００１７】
再生装置はさらに、再生完了通知を認識しないコントローラと接続可能であり、コンテンツの再生を完了するごとに、再生装置がコンテンツの再生を停止した状態であることを示す停止ステータス通知を送信する。
【００１８】
再生完了通知を認識しないコントローラは、再生完了通知を受信しても、再生装置がコンテンツの再生を終了して停止状態であることを認識できない。そこで、再生装置が再生完了通知とともに、停止ステータス通知を送信することにより、コントローラが再生完了通知を認識できなくても、停止ステータス通知により再生装置が停止状態であることを認識できる。
【００１９】
本発明によるコントローラプログラムは、上記ネットワークシステムに使用されるコントローラの各手段をコンピュータに実現させるためのプログラムであり、本発明による再生プログラムは、上記ネットワークシステムに使用される再生装置の各手段をコンピュータに実現させるためのプログラムである。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２１】
［全体構成］
図１を参照して、本実施の形態によるネットワークＡＶシステムは、コントローラとして機能するコントロールポイントＣＰと、曲を配信するメディアサーバＭＳと、再生装置として機能するメディアレンダラＭＲ（ＭＲ１及びＭＲ２）とを備える。これらは、ＵＰｎＰプロトコルに基づいて相互に接続される。図１では、１つのコントロールポイントＣＰに対して１つのメディアサーバＭＳ及び２つのメディアレンダラＭＲを示したが、コントロールポイントＣＰ及びメディアサーバＭＳは複数あってもよい。また、メディアレンダラＭＲは１つでもよいし、３以上あってもよい。
【００２２】
メディアサーバＭＳは、データ圧縮された複数の曲データを格納し、要求に応じて曲データをメディアレンダラＭＲにストリーミング配信する。メディアレンダラＭＲは、ストリーミング配信された曲データを受け、曲を再生する。
【００２３】
コントロールポイントＣＰは、メディアサーバＭＳ及びメディアレンダラＭＲを制御する。コントロールポイントＣＰは、複数の曲を再生順に列挙したプレイリストを作成し、プレイリストに基づいて、メディアレンダラＭＲに曲を連続再生させる。以下、メディアサーバＭＳ、メディアレンダラＭＲ、コントロールポイントＣＰの構成をそれぞれ説明する。
【００２４】
［メディアサーバ］
メディアサーバＭＳは、コンテントディレクトリサービス２１と、コネクションマネージャサービス２２と、複数の曲データを格納したコンテンツデータベース２３と、複数の曲情報を格納したコンテンツ情報データベース２４とを備える。これらは、図示しないハードディスクドライブ又はメモリに記憶される。曲情報は、コンテンツデータベース２３に格納された各曲データに関する情報であり、各曲データの所在を示すＵＲＩ（Uniform Resource Identifier）と、各曲データの曲名、ジャンル、アーティスト名等を含むメタデータとを含む。
【００２５】
コンテントディレクトリサービス２１及びコネクションマネージャサービス２２は、メモリにロードされ、図示しないＣＰＵで実行されることにより、以下の動作を実現する。
【００２６】
コンテントディレクトリサービス２１は、コンテンツデータベース２３を管理し、曲データをメディアレンダラＭＲにストリーミング配信する。コンテントディレクトリサービス２１はまた、曲情報をコントロールポイントＣＰに送信する。
【００２７】
コネクションマネージャサービス２２は、メディアサーバＭＳからメディアレンダラＭＲに曲データをストリーミング配信するためのコネクションを確立し、管理する。
【００２８】
メディアサーバＭＳは、たとえばコンピュータ装置である。また、ＤＶＤプレーヤ、ＨＤＤプレイヤー等であってもよく、ＣＤプレイヤやＭＰ３プレイヤ等のオーディオプレイヤであってもよい。
【００２９】
［メディアレンダラ］
メディアレンダラＭＲは、再生プログラムを含む。再生プログラムは、コネクションマネージャサービス３１と、ＡＶトランスポートサービス３２とを含む。再生プログラムは図示しないハードディスクドライブに記憶される。再生プログラムが図示しないメモリにロードされ、図示しないＣＰＵで実行されることにより、メディアレンダラＭＲは以下の動作を実現する。
【００３０】
コネクションマネージャサービス３１は、メディアサーバＭＳから曲を受信するためのコネクションを確立し、管理する。
【００３１】
ＡＶトランスポートサービス３２は、コントロールポイントＣＰからの指示に応じて曲の連続再生を実施する。ＡＶトランスポートサービス３２は、図２に示すＵＲＩ管理テーブル２０を管理する。ＵＲＩ管理テーブル２０は、メディアレンダラＭＲ内の図示しないメモリに登録される。
【００３２】
ＵＲＩ管理テーブル２０は、AVTransportURIを登録するためのフィールドと、NextAVTransportURIを登録するためのフィールドとを有する。AVTransportURIは、ＵＰｎＰプロトコルに規定された変数であり、再生を開始する曲のＵＲＩである。NextAVTransportURIは、ＵＰｎＰプロトコルに規定された変数であり、AVTransportURIの曲の次に再生される予定の曲のＵＲＩである。以降、NextAVTransportURIを次再生予約ともいう。
【００３３】
曲の連続再生を開始するとき、ＡＶトランスポートサービス３２は、コントロールポイントＣＰから、AVTransportURIを受信し、ＵＲＩ管理テーブル２０に登録する。登録後、ＡＶトランスポートサービス３２は、AVTransportURIの曲をメディアサーバＭＳに要求して取得し、曲の再生を開始する。
【００３４】
ＡＶトランスポートサービス３２はさらに、AVTransportURIの曲の再生を開始するごとに、次再生予約（NextAVTransportURI）を受信し、ＵＲＩ管理テーブル２０に登録する。AVTransportURIの曲を最後まで再生したとき、つまり、曲の再生を完了したとき、ＡＶトランスポートサービス３２は、NextAVTransportURIの曲の再生を開始する。再生曲のＵＲＩは、AVTransportURIとしてＵＲＩ管理テーブル２０に登録される。ＡＶトランスポートサービス３２は、ＵＲＩ管理テーブル２０に登録されたAVTransportURIを再生情報としてコントロールポイントＣＰに送信する。
【００３５】
以上の動作により、メディアレンダラＭＲは曲の連続再生が可能となる。メディアレンダラＭＲは、次再生予約を受信することにより、予め次再生曲のＵＲＩを取得する。そのため、曲の再生を完了したとき、コントロールポイントＣＰから再生指示を待つことなく、すぐに次の曲を再生できる。そのため、曲間に生じる無音部分を少なく抑えることができる。
【００３６】
ＡＶトランスポートサービス３２はまた、ＵＰｎＰプロトコルに基づいて、メディアレンダラＭＲのステータスや再生する曲が変更されるごとにLastchange通知をコントロールポイントＣＰに送信し、変更されたステータス及び変更された曲を通知する。LastChange通知に含まれる変数が"TransportState"である場合、メディアレンダラＭＲのステータスが変更されたことを示す。ステータスとは、メディアレンダラＭＲの再生状態を示し、ＵＰｎＰ規格では、TransportStateとして、再生(PLAY)、一時停止(PAUSED_STOPPED)、停止(STOPPED)が規定されている。
【００３７】
本実施の形態では、これらのステータスと異なる新たなステータスとして、曲の再生完了を示す"COMPLETE"を追加する。本実施の形態によるコントロールポイントＣＰは、LastChange通知に"COMPLETE"が含まれる場合、曲の再生が完了したと認識する。以下、"COMPLETE"を含むLastChange通知を再生完了通知をいう。
【００３８】
LastChange通知は、TransportStateの他に、NextAVTransportURIやAVTransportURIを含む場合もある。LastChane通知は、その通知の送信主体であるメディアレンダラＭＲの識別子であるServiceIDを含む。ＡＶトランスポートサービス３２は、メディアレンダラＭＲの監視を希望する全てのコントロールポイントＣＰにLastChange通知を送信する。
【００３９】
メディアレンダラＭＲは、たとえばコンピュータ装置である。また、テレビ、ステレオ、スピーカ、オーディオプレイヤであってもよい。
【００４０】
［コントロールポイント］
図３を参照して、コントロールポイントＣＰは、ＣＰＵ１１と、メモリ１２と、キーボードやマウス等の入力部１３と、コントローラプログラムを格納するハードディスクドライブ（ＨＤＤ）１４と、外部と通信するための通信部（Ｉ／Ｆ）１５と、ディスプレイ１６とを備える。これらはバスで相互に接続される。ＨＤＤ１４に記憶されたコントローラプログラムをメモリ１２にロードしてＣＰＵ１１で実行することにより、コントロールポイントＣＰは、以下の動作を実現する。
【００４１】
コントロールポイントＣＰは、ネットワーク上のメディアレンダラＭＲ（ＭＲ１及びＭＲ２）を探し出し、図４に示すように、ディスプレイ１６の画面１００内のメディアレンダラ表示ウィンドウ１０１に表示する。図４では、２つのメディアレンダラＭＲ１及びＭＲ２が表示されており、ネットワークＡＶシステム上に２つのメディアレンダラＭＲが存在することを示している。コントロールポイントＣＰは、制御対象に選択されたメディアレンダラＭＲ（図４ではＭＲ１）を強調して表示する。
【００４２】
コントロールポイントＣＰは、メディアサーバＭＳから曲情報を取得し、取得された曲情報を曲情報表示ウィンドウ１０２に表示する。曲情報表示ウィンドウ１０２は、コンテナツリー表示ウィンドウ１０２Ａと、アイテム表示ウィンドウ１０２Ｂとを含む。コンテナツリー表示ウィンドウ１０２Ａは、「アーティスト」、「アルバム」、「ジャンル」といった複数のコンテナをツリー状に表示する。アイテム表示ウィンドウ１０２Ｂは、コンテナツリー表示ウィンドウ１０２Ａに表示された複数のコンテナのうち、選択されたコンテナ（図４では「アルバム」）内のメタデータ（図４では曲名ＡＡＡ、ＢＢＢ等）を列挙して表示する。以降、たとえば、曲名ＡＡＡの曲を曲ＡＡＡという。
【００４３】
コントロールポイントＣＰは、ユーザに操作に応じて作成されるプレイリストをプレイリスト表示ウィンドウ１０３に表示する。コントロールポイントＣＰのユーザは、入力部１３を用いてドラッグ&ドロップ操作により、曲情報表示ウィンドウ１０２に表示された複数の曲から、所望の曲を複数選択し、選択された複数の曲をプレイリスト表示ウィンドウ１０３に再生順に列挙する。
【００４４】
コントロールポイントＣＰは、ユーザ操作によりプレイリスト表示ウィンドウ１０３に列挙された曲に基づいて、図５に示すプレイリスト３０を作成し、メモリ１２に記憶する。図５を参照して、プレイリスト３０には、再生順に曲のＵＲＩが登録される。プレイリスト３０は、トラック番号が登録されるフィールドと、曲のＵＲＩが登録されるフィールドとを含む。
【００４５】
コントロールポイントＣＰはさらに、連続再生を実行するメディアレンダラＭＲを制御するために図６に示す制御対象テーブル４０を作成する。図６を参照して、制御対象テーブル４０内の対象ＭＲフィールドには、コントロールポイントＣＰが制御するメディアレンダラＭＲの識別子であるServiceIDが登録される。プレイリストフィールドには、作成されたプレイリスト３０が登録される。トラック番号フィールドには、再生中の曲（再生曲）のトラック番号が登録される。メディアレンダラＭＲの再生曲を管理し、かつ、プレイリスト３０上で再生曲の次に列挙された曲を特定するためである。
【００４６】
AVTransportURIフィールドには、メディアレンダラＭＲから送信される再生情報に含まれるAVTransportURIが登録される。つまり、メディアレンダラＭＲで再生中の曲（再生曲）のＵＲＩが登録される。NextAVTransportURIフィールドには、メディアレンダラＭＲで再生中の曲の次に再生予定の曲（次再生曲）のＵＲＩであるNextAVTransportURIが登録される。NextAVTransportURIは、メディアレンダラＭＲから送信される。たとえば、図５中のトラック番号２に対応する曲ＡＡＡが再生されている場合、トラック番号フィールドには「２」が登録されており、AVTransportURIフィールドには、再生曲である曲ＡＡＡのＵＲＩが登録されている。また、NextAVTransportURIフィールドには、次再生曲である曲ＢＢＢのＵＲＩが登録されている。
【００４７】
図４に戻って、コントロールポイントＣＰは、制御対象として選択されたメディアレンダラＭＲ１のステータス（停止、再生、一時停止等）を監視ウィンドウ１０４に表示する。たとえば、制御対象であるメディアレンダラＭＲ１が再生中のとき、コントロールポイントＣＰは通常再生ボタン１０５を強調して表示する。
【００４８】
コントロールポイントＣＰは、メディアレンダラＭＲ１がプレイリスト３０に基づいて曲を連続再生している最中であっても、ユーザ操作に基づいて、プレイリスト３０に変更を加えることができる。たとえば、図５中の曲ＡＡＡをを再生中に、トラック番号３の曲ＢＢＢを曲ＤＤＤに変更してもよいし、トラック番号４の曲ＦＦＦを曲ＨＨＨに変更してもよい。本実施の形態によるネットワークＡＶシステムでは、連続再生中にプレイリスト３０に変更が加えられても、以下の動作により、変更されたプレイリスト３０の再生順をメディアレンダラＭＲの再生に反映させることができる。
【００４９】
［動作］
以下、本実施の形態におけるネットワークＡＶシステムの動作の詳細を説明する。
【００５０】
図７Ａを参照して、コントロールポイントＣＰは、プレイリスト３０に基づいて、制御対象としたメディアレンダラＭＲ１に曲の連続再生を指示する。このとき、コントロールポイントＣＰは、プレイリスト３０全体をメディアレンダラＭＲ１に送信するのではなく、メディアレンダラＭＲ１が曲を再生するごとに、次に再生予定の曲（次再生曲）のＵＲＩであるNextAVTransportURIを次再生予約として順次送信する。たとえば、メディアレンダラＭＲが曲ＡＡＡの再生を開始したとき、コントロールポイントＣＰは、プレイリスト３０上で曲ＡＡＡの次に列挙された曲ＢＢＢのＵＲＩをSetNextAVTransportURIコマンドで送信する。
【００５１】
この動作により、メディアレンダラＭＲ１は、曲ＡＡＡを再生中に、次再生曲ＢＢＢのＵＲＩを予め取得できる。そのため、メディアレンダラＭＲ１は、曲ＡＡＡの再生が完了した後、すぐに次の曲ＢＢＢをメディアサーバＭＳから取得して再生できる。このように、メディアレンダラＭＲ１は、曲の再生が完了したとき、次再生曲の再生指示を待つ必要がないため、曲間に生じる無音部分を少なくすることができる。
【００５２】
仮にコントロールポイントＣＰが、プレイリスト３０全体を予めメディアレンダラＭＲ１に送信すれば、プレイリスト３０に変更を加えるごとに、コントロールポイントＣＰはメディアレンダラＭＲ１が持つプレイリスト３０を更新しなければならない。しかしながら、本実施の形態によるネットワークＡＶシステムは、曲を再生するごとに、次再生曲のＵＲＩのみを次再生予約として送信する。そのため、プレイリスト３０を変更しても、メディアレンダラＭＲ１に与える影響は少なく、プレイリスト３０の変更をメディアレンダラＭＲ１の再生に容易に反映させることができる。
【００５３】
さらに、コントロールポイントＣＰは、メディアレンダラＭＲ１が曲の再生を完了するごとに、メディアレンダラＭＲ１が次に再生予定の曲を確認する（次再生曲確認処理）。この次再生曲確認処理を実施すれば、プレイリスト３０の変更をメディアレンダラＭＲに完全に反映できる。
【００５４】
図７Ｂを参照して、メディアレンダラＭＲが曲ＡＡＡを再生中に、コントロールポイントＣＰが次再生予約として曲ＢＢＢのＵＲＩをSetNextAVTransportURIコマンドで送信した後（図中（１））、プレイリスト３０上の曲ＢＢＢを曲ＤＤＤに変更した（図中（２））と仮定する。
【００５５】
メディアレンダラＭＲ１は、コントロールポイントＣＰから次再生予約を受信したとき、その次再生予約をコントロールポイントＣＰに返信する。具体的には、メディアレンダラＭＲ１は曲ＡＡＡの再生中に、曲ＢＢＢのＵＲＩを含むSetNextAVTransportURIコマンドを受信する（図中（１））。このとき、メディアレンダラＭＲ１は、LastChange通知に受信した曲ＢＢＢのＵＲＩを含め、コントロールポイントＣＰに送信する（図中（３））。コントロールポイントＣＰは、LastChange通知を受信し、曲ＢＢＢのＵＲＩをNextAVTransportURIとして制御対象テーブル４０に登録する（図中（４））。
【００５６】
メディアレンダラＭＲ１は、曲ＡＡＡの再生を完了したとき、再生完了通知をコントロールポイントＣＰに送信する（図中（５））。具体的には、メディアレンダラＭＲ１は、再生完了通知として、変数"COMPLETE"を含むLastChange通知をコントロールポイントＣＰに送信する。
【００５７】
コントロールポイントＣＰは、再生完了通知を受信したとき、曲ＡＡＡの再生が完了したと認識し、次再生確認処理を実施する。コントロールポイントＣＰは、プレイリスト３０上で再生曲（曲ＡＡＡ）の次に列挙された曲を特定し、特定された曲が、制御対象テーブル４０に登録された次再生予約（曲ＢＢＢのＵＲＩ）と同じか否かを判断する（図中（６））。
【００５８】
コントロールポイントＣＰは、プレイリスト３０上で曲ＡＡＡの次に列挙された曲ＤＤＤのＵＲＩが登録された曲ＢＢＢのＵＲＩと異なると判断する。このとき、コントロールポイントＣＰは、メディアレンダラＭＲ１に対して次再生曲の変更指示を送信する（図中（７））。具体的には、コントロールポイントＣＰは、曲ＤＤＤのＵＲＩを含むSetAVTransportURIコマンドをメディアレンダラＭＲ１に送信する。
【００５９】
プレイリスト３０に変更がない場合、メディアレンダラＭＲ１は、曲ＡＡＡの再生を完了した後、直ちに曲ＢＢＢの再生を開始する。しかしながら、コントロールポイントＣＰからSetAVTransportURIコマンド（変更指示）を受けたとき、曲ＢＢＢに代えて曲ＤＤＤの再生を開始する（図中（８））。
【００６０】
このように、コントロールポイントＣＰは、曲の再生完了時に、次に再生予定の曲を確認し、プレイリスト３０上の曲と異なる場合は変更指示を送信する。これにより、プレイリスト３０の変更をメディアレンダラＭＲ１の再生順に完全に反映できる。
【００６１】
なお、コントロールポイントＣＰが変更指示を送信するのは、次再生予約を送信した後、次再生予約で特定される曲が変更された場合のみである。それ以外の曲が変更された場合、変更指示を送信する必要がない。なぜなら、コントロールポイントＣＰは、プレイリスト３０全体をメディアレンダラＭＲ１に送信するのではなく、曲を再生するごとに、次再生曲のＵＲＩのみを送信するからである。したがって、次再生確認処理を実施しない場合であっても、変更されたプレイリスト３０をメディアレンダラＭＲ１の再生にほぼ反映できる。
【００６２】
以下、コントロールポイントＣＰ及びメディアレンダラＭＲの動作の詳細を説明する。
【００６３】
［コントロールポイントの動作］
コントロールポイントＣＰは、曲の連続再生を開始するときに連続再生開始処理を実行し（Ｓ１００）、連続再生開始処理を実行した後、連続再生継続処理（Ｓ３００）を実行する。
【００６４】
［連続再生開始処理］
図８を参照して、コントロールポイントＣＰはまず、制御対象テーブル４０を作成する（Ｓ１１０）。コントロールポイントＣＰは、ネットワーク上のメディアレンダラＭＲ１及びＭＲ２を探し出し、メディアレンダラ表示ウィンドウ１０１に表示する。コントロールポイントＣＰのユーザが入力部１３を用いてメディアレンダラＭＲ１を選択したとき、コントロールポイントＣＰ１は、このユーザ操作に基づいて、メディアレンダラＭＲ１を選択し、メディアレンダラＭＲ１のServiceIDを制御対象テーブル４０内の対象ＭＲフィールドに登録する（Ｓ１０１）。
【００６５】
続いて、コントロールポイントＣＰは、プレイリスト３０を作成する（Ｓ１０２）。コントロールポイントＣＰは、プレイリスト３０を作成する前に、予めメディアサーバＭＳから曲情報を取得し、取得された曲情報の詳細を曲情報表示ウィンドウ１０２に表示する。ユーザはウィンドウを参照しながら、入力部１３を用いてプレイリスト表示ウィンドウ１０３に曲を再生順に列挙する。このユーザ操作に基づいて、コントロールポイントＣＰは図５に示すプレイリスト３０を作成する。コントロールポイントＣＰは、作成されたプレイリスト３０を制御対象テーブル４０内のプレイリストフィールドに登録する。
【００６６】
プレイリスト３０を作成した後、コントロールポイントＣＰは、制御対象テーブル４０内のトラック番号フィールドにプレイリスト３０内の最初のトラック番号である「１」を登録する（Ｓ１０３）。つまり、トラック番号１の曲ＣＣＣを再生曲として管理する。このとき、制御対象テーブル４０内のAVTransportURIフィールドとNextAVTransportURIフィールドには、データが登録されていない。以上の動作により作成された制御対象テーブル４０は、メモリ１２に格納される。
【００６７】
制御対象テーブル４０を作成後、コントロールポイントＣＰは、メディアレンダラＭＲ１に対して連続再生の開始を指示する（Ｓ１０４〜Ｓ１０５）。コントロールポイントＣＰはまず、制御対象テーブル４０内のトラック番号フィールドに登録されたトラック番号１を読み出し、プレイリスト３０上のトラック番号１の曲ＣＣＣのＵＲＩをAVTransportURIとし、SetAVTransportURIコマンドをメディアレンダラＭＲ１に送信する（Ｓ１０４）。SetAVTransportURIを送信後、コントロールポイントＣＰは、SetAVTransportURIに含まれるＵＲＩに基づく曲ＣＣＣの再生を指示するPLAYコマンドをメディアレンダラＭＲ１に送信する（Ｓ１０５）。以上の動作により、メディアレンダラＭＲ１は、曲ＣＣＣの再生を開始する。
【００６８】
続いて、コントロールポイントＣＰは、再生曲ＣＣＣの次に列挙された曲を特定する。コントロールポイントＣＰは、トラック番号１の次のトラック番号２に対応した曲ＡＡＡを特定する（Ｓ１０６）。特定後、コントロールポイントＣＰは、特定された曲ＡＡＡのＵＲＩをNextAVTransportURIとして、SetNextAVTransportURIコマンドをメディアレンダラＭＲ１に送信する（Ｓ１０７）。メディアレンダラＭＲ１が曲ＣＣＣの再生を完了後、すぐに次の曲ＡＡＡの再生を開始できるようにするためである。
【００６９】
［連続再生継続処理］
メディアレンダラＭＲ１は、コントロールポイントＣＰから次再生予約（NextAVTransportURI）を含むSetNextAVTransportURIコマンドを受けたとき、受信した次再生予約をNextAVTransportURIとして含むLastChange通知をコントロールポイントＣＰに送信する。以降、NextAVTransportURIが曲ＢＢＢのＵＲＩであり、再生中の曲が曲ＡＡＡであると仮定して説明する。
図９を参照して、コントロールポイントＣＰは、LastChange通知を受けたとき（Ｓ３２０でＹＥＳ）、受けた通知が制御対象としているメディアレンダラＭＲ１からのものか否かを判断する（Ｓ３０１）。コントロールポイントＣＰは、LastChange通知内のServiceIDを読み出し、読み出されたServiceIDが制御対象テーブル４０内のServiceIDと同じか否か判断する。LastChange通知内のServiceIDが制御対象テーブル４０内のServiceIDと同じであるとき（Ｓ３０１でＹＥＳ）、受けた通知はメディアレンダラＭＲ１からのものであると判断する。
【００７０】
続いて、コントロールポイントＣＰは、LastChange通知内のStateVariableを確認する。StateVariableはNextAVTransportURIであるため（Ｓ３０２及びＳ３１２でＮＯ、Ｓ３１５でＹＥＳ）、コントロールポイントＣＰは、受信した次再生予約である曲ＢＢＢのＵＲＩを制御対象テーブル４０内のNextAVTransportURIフィールドに登録する（Ｓ３１６）。
【００７１】
再生中の曲ＡＡＡの再生が完了したとき、メディアレンダラＭＲ１は、"COMPLETE"を含むLastChange通知を再生完了通知としてコントロールポイントＣＰに送信する。再生完了通知を送信後、メディアレンダラＭＲ１はＵＲＩ管理テーブル２０上のNextAVTransportURIに登録された曲ＢＢＢの再生を開始する。
【００７２】
コントロールポイントＣＰは、メディアレンダラＭＲ１から送信されたLastChange通知を受信し、LastChange通知が再生完了通知か否かを判断する（Ｓ３０２及びＳ３０３）。LastChange通知がTransportStateの値として"COMPLETE"を含むとき（Ｓ３０２及びＳ３０３でＹＥＳ）、コントロールポイントＣＰは、メディアレンダラＭＲ１から再生完了通知を受信したと判断し、メディアレンダラＭＲ１で曲の再生が完了したと判断する。
【００７３】
このときコントロールポイントＣＰは、メディアレンダラＭＲ１が次に再生する予定の曲を確認する（Ｓ３１０：次再生曲確認処理）。コントロールポイントＣＰは次再生曲確認処理を実行することにより、プレイリスト３０に変更が加えられた場合であっても、変更されたプレイリスト３０の再生順をメディアレンダラＭＲ１での曲の再生順に反映できる。以下、次再生曲が変更されていない場合と、次再生曲が変更された場合とに分けて、次再生曲確認処理について詳細を説明する。
【００７４】
［次再生曲が変更されていない場合］
連続再生を実施中、プレイリスト３０に変更が加えられなかった場合、及び、プレイリスト３０に変更が加えられたものの、次再生曲より後の曲が変更された場合の次再生曲確認処理を説明する。
【００７５】
コントロールポイントＣＰはまず、プレイリスト上で再生曲の次に列挙された曲が制御対象テーブル４０内のNextAVTransportURIフィールドに登録された曲と同じか否か判断する（Ｓ３１７及びＳ３０４）。コントロールポイントＣＰは、制御対象テーブル４０内のトラック番号１を読み出し、読み出されたトラック番号１の次のトラック番号２に対応する曲ＢＢＢのＵＲＩをプレイリスト３０から読み出す。これによりコントロールポイントＣＰは次再生曲を曲ＢＢＢと特定する（Ｓ３１７）。
【００７６】
続いて、コントロールポイントＣＰは特定された曲ＢＢＢのＵＲＩが、制御対象テーブル４０内のNextAVTransportURIと同じか否かを判断する（Ｓ３０４）。ここでは、NextAVTransportURIは曲ＢＢＢのＵＲＩであるため、特定された曲は次再生予約と同じであると判断する（Ｓ３０４でＹＥＳ）。
【００７７】
このとき、コントロールポイントＣＰは、制御対象テーブル４０のトラック番号をインクリメントして「２」から「３」に更新する（Ｓ３０７）。これにより、コントロールポイントＣＰは、メディアレンダラＭＲ１が再生を開始した曲（再生曲）がトラック番号３の曲ＢＢＢであることを認識できる。つまり、プレイリスト３０上で再生曲を管理できる。
【００７８】
トラック番号を更新後、コントロールポイントＣＰは、次再生予約をメディアレンダラＭＲ１に送信する。コントロールポイントＣＰは、制御対象テーブル４０内のトラック番号３の次のトラック番号４に対応する曲ＦＦＦのＵＲＩを特定し（Ｓ３１８）、特定された曲ＦＦＦのＵＲＩをNextAVTransportURIとして含むSetNextAVTransportURIコマンドをメディアレンダラＭＲ１に送信する（Ｓ３０８）。これにより、メディアレンダラＭＲ１は、曲ＢＢＢの再生が完了したとき、直ちに曲ＦＦＦを再生できる。
【００７９】
［次再生曲が変更された場合］
図５で示すプレイリスト３０上の曲ＡＡＡが再生中であって、コントロールポイントＣＰが次再生予約として既に曲ＢＢＢのＵＲＩをメディアレンダラＭＲ１に送信した後、プレイリスト３０上の曲ＢＢＢを曲ＤＤＤに変更した場合（図７Ｂに相当）の次再生曲確認処理について説明する。
【００８０】
まず、次再生予約として曲ＢＢＢのＵＲＩを受信したメディアレンダラＭＲ１は、LastChange通知に次再生予約（曲ＢＢＢのＵＲＩ）を含めてコントロールポイントＣＰ１に送信する。コントロールポイントＣＰはLastChange通知を受け（Ｓ３２０でＹＥＳ）、LastChange通知が次再生予約を含むと判断した後（Ｓ３０２及びＳ３１２でＮＯ、Ｓ３１５でＹＥＳ）、次再生予約である曲ＢＢＢのＵＲＩを制御対象テーブル４０に登録する（Ｓ３１６）。登録後、ユーザ操作に応じてコントロールポイントＣＰは、プレイリスト３０上の曲ＢＢＢを曲ＤＤＤに変更する。
【００８１】
メディアレンダラＭＲ１から再生完了通知を受信したとき（Ｓ３２０でＹＥＳ、Ｓ３０１〜Ｓ３０３でＹＥＳ）、コントロールポイントＣＰは、次再生曲確認処理を実行する（Ｓ３１０）。このとき、コントロールポイントＣＰは、特定された次再生曲のＵＲＩ（曲ＤＤＤのＵＲＩ）が、制御対象テーブル４０内のNextAVTransportURI（曲ＢＢＢのＵＲＩ）と異なると判断する（Ｓ３０４でＮＯ）。
【００８２】
このとき、コントロールポイントＣＰは、次再生曲の変更指示を送信する（Ｓ３０５及びＳ３０６）。具体的には、ステップＳ３１７で特定された曲ＤＤＤのＵＲＩをAVTransportURIとして含むSetAVTransportURIコマンドをメディアレンダラＭＲ１に送信し（Ｓ３０５）、かつ、PLAYコマンドをメディアレンダラＭＲ１に送信する（Ｓ３０６）。メディアレンダラＭＲ１はSetAVTransportURIコマンドを受け、曲ＢＢＢに代えて曲ＤＤＤをメディアサーバＭＳに要求するため、メディアレンダラＭＲ１は変更された次再生曲ＤＤＤを再生できる。
【００８３】
PLAYコマンドを送信後、ステップＳ３０７に進み、プレイリスト３０上で再生曲ＤＤＤの次に列挙された曲ＦＦＦを特定し（Ｓ３１８）、曲ＦＦＦのＵＲＩを次再生予約としてメディアレンダラＭＲ１に送信する（Ｓ３０８）。
【００８４】
以上の動作により、次再生予約を送信した後にプレイリスト３０上の次再生曲が変更されても、メディアレンダラＭＲ１は変更された次再生曲を再生できる。
【００８５】
［メディアレンダラの動作］
コントロールポイントＣＰから再生開始指示を受け、メディアレンダラＭＲ１は図１０に示す連続再生処理（Ｓ２００）を実行する。以下、次再生曲が変更されなかった場合と、次再生曲が変更された場合とに分けて、連続再生処理の動作を説明する。
【００８６】
［次再生曲が変更されなかった場合］
図１０を参照して、メディアレンダラＭＲ１はまず、連続再生開始の指示を待つ。具体的には、メディアレンダラＭＲ１は、SetAVTransportURIコマンドの受信を監視する（Ｓ２０１）。SetAVTransportURIコマンドを受信したとき（Ｓ２０１でＹＥＳ）、コマンドに含まれるAVTransportURI、つまり、プレイリスト３０上で最初に列挙された曲ＣＣＣのＵＲＩをＵＲＩ管理テーブル２０内のAVTransportURIフィールドに登録する（Ｓ２０２）。登録後、メディアレンダラＭＲ１は、登録されたAVTransportURIを再生情報としてLastChange通知に含め、コントロールポイントＣＰに送信する（Ｓ２１６）。コントロールポイントＣＰはLastChange通知を受信し、AVTransportURIを制御対象テーブル４０に登録する。メディアレンダラＭＲ１で再生中の曲がプレイリスト３０上の再生曲と同じか否かをコントロールポイントＣＰが判断するためである。この点については後述する。
メディアレンダラＭＲ１は、再生情報を送信後、PLAYコマンドの受信を監視する（Ｓ２０３）。
【００８７】
PLAYコマンドを受信したとき（Ｓ２０３でＹＥＳ）、メディアレンダラＭＲ１は連続再生を開始する（Ｓ２０４及びＳ２０５）。メディアレンダラＭＲ１はまず、ＵＲＩ管理テーブル２０に登録されたAVTransportURI（曲ＣＣＣのＵＲＩ）を含む配信要求コマンドをメディアサーバＭＳに送信する（Ｓ２０４）。メディアサーバＭＳは配信要求コマンドを受け、コマンドに含まれるAVTransportURIに基づいて、曲ＣＣＣデータをストリーミング配信する。メディアレンダラＭＲ１はストリーミングデータを受信し、曲ＣＣＣを再生する（Ｓ２０５）。
【００８８】
メディアレンダラＭＲ１は、曲ＣＣＣの再生を開始した後、次再生予約の受信を監視する（Ｓ２０６）。SetNextAVTransportURIコマンドを受信したとき（Ｓ２０６でＹＥＳ）、メディアレンダラＭＲ１は、コマンド内に含まれる次再生予約（ここでは、曲ＡＡＡのＵＲＩ）をＵＲＩ管理テーブル２０内のNextAVTransportURIフィールドに登録する（Ｓ２０７）。以上の動作により、AVTransportURIの曲ＣＣＣの再生中に、次再生曲ＡＡＡが予め登録される。
【００８９】
メディアレンダラＭＲ１はさらに、ステップＳ２０７でＵＲＩ管理テーブル２０に登録されたNextAVTransportURIをコントロールポイントＣＰに送信する（Ｓ２１５）。つまり、コントロールポイントＣＰから受けた次再生予約を、コントロールポイントＣＰに通知（予約通知）する。これにより、コントロールポイントＣＰは、曲の再生完了時に次再生曲確認処理（Ｓ３１０）を実行できる。
【００９０】
続いて、メディアレンダラＭＲ１は曲ＣＣＣの再生が完了したか否かを監視する（Ｓ２０８）。再生が完了したとき（Ｓ２０８でＹＥＳ）、メディアレンダラＭＲ１は、再生完了通知を送信する（Ｓ２０９）。具体的には、LastChange通知にTransportStateの値として"COMPLETE"を含め、コントロールポイントＣＰ１に送信する。
【００９１】
メディアレンダラＭＲ１は再生完了通知を送信後、再度LastChange通知を送信する（Ｓ２１０：停止ステータス通知）。ステップＳ２１０で送信するLastChange通知は、TransportStateの値として"STOPPED"を含む。ステップＳ２１０で再度LastChange通知を送信する理由については後述する。
【００９２】
ステップＳ２１０でLastChange通知を送信後、ＵＲＩ管理テーブル２０内にNextAVTransportURIが登録されているため（Ｓ２１１でＹＥＳ）、NextAVTransportURIである曲ＡＡＡのＵＲＩをAVTransportURIフィールドに登録する（Ｓ２１２）。このとき、曲ＡＡＡのＵＲＩはＵＲＩ管理テーブル２０内のNextAVTransportURIフィールドから削除される。要するに、メディアレンダラＭＲ１は、曲ＡＡＡのＵＲＩをNextAVTransportURIフィールドからAVTransportURIフィールドにシフトする。そして、メディアレンダラＭＲ１は、Lastchange通知を用いて、ＵＲＩ管理テーブル２０内のNextAVTransportURIフィールド内の情報をコントロールポイントＣＰに送信する（Ｓ２１８）。ステップＳ２１８の時点でＵＲＩ管理テーブル２０内のNextAVTransportURIフィールドに情報（曲のＵＲＩ）が登録されてない場合、メディアレンダラＭＲ１はNextAVTransportURIが登録されていない旨の通知を行う。
【００９３】
コントロールポイントＣＰがプレイリスト３０上における次再生曲を変更していなければ、メディアレンダラＭＲ１は、曲の変更指示（SetAVTransportURI）を受信しないため（Ｓ２１３でＮＯ）、ステップＳ２１２でAVTransportURIに登録された曲ＡＡＡのＵＲＩを再生情報としてLastChange通知に含め、コントロールポイントＣＰに送信する（Ｓ２１７）。送信後、ステップＳ２０４に戻って、次の曲ＡＡＡを再生する（Ｓ２０４及びＳ２０５）。メディアレンダラＭＲ１は曲を再生するごとに、コントロールポイントＣＰからSetNextTransportURIコマンドを受け（Ｓ２０６でＹＥＳ）、制御対象テーブル４０内のNextAVTransportURIに登録する（Ｓ２０７）。以上の動作により、メディアレンダラＭＲ１は連続再生を実行できる。
【００９４】
［次再生曲が変更された場合］
プレイリスト３０上の曲ＡＡＡが再生中であって、コントロールポイントＣＰが次再生曲情報として既に曲ＢＢＢのＵＲＩをメディアレンダラＭＲに送信した後、プレイリスト３０上の曲ＢＢＢを曲ＤＤＤに変更した場合（図７Ｂに相当）の連続再生処理について説明する。
【００９５】
メディアレンダラＭＲ１で曲ＡＡＡの再生が完了したとき、メディアレンダラＭＲ１は、再生完了通知を送信する（Ｓ２０９）。コントロールポイントＣＰは、再生完了通知を受けたとき（Ｓ３０２及びＳ３０３でＹＥＳ）、次再生曲確認処理（Ｓ３１０）を実行し、曲ＤＤＤのＵＲＩを含む変更指示（SetAVTransportURIコマンド）及びPLAYコマンドをメディアレンダラＭＲ１に送信する（Ｓ３０５及びＳ３０６）。
【００９６】
メディアレンダラＭＲ１は、再生完了通知後（Ｓ２０９）、ＵＲＩ管理テーブル２０内のNextTransportURIフィールドに登録された曲ＢＢＢのＵＲＩをAVTransportURIフィールドにシフトさせ（Ｓ２１２）、曲ＢＢＢの配信要求を送信する準備に入る。しかしながら、メディアレンダラＭＲ１はコントロールポイントＣＰから変更指示であるSetAVTransportURIコマンド及びPLAYコマンドを受信するため（Ｓ２１３でＹＥＳ）、SetAVTransportURIに含まれるAVTransportURI（つまり、曲ＤＤＤのＵＲＩ）をＵＲＩ管理テーブル２０内のAVTransportURIフィールドに登録する（Ｓ２１４）。登録された曲ＤＤＤのＵＲＩを再生情報としてLastChange通知に含め、コントロールポイントＣＰに送信した後（Ｓ２１７）、曲ＢＢＢに代えて、曲ＤＤＤの配信要求を送信する（Ｓ２０４）。
【００９７】
以上の動作により、メディアレンダラＭＲ１は、次再生曲が変更されても、プレイリスト３０の曲順番に沿って、次再生曲を再生できる。
【００９８】
［再生完了通知を認識しないコントロールポイントを含むネットワークＡＶシステム］
上述のとおり、ＵＰｎＰプロトコルでは、TransportStateの値として"COMPLETE"は定義されていない。そのため、図１１に示すように、CONPLETEを含む再生完了通知を認識できるコントロールポイントＣＰ１と、COMPLETEを含む再生完了通知を認識できない従来のコントロールポイントＣＰ２とがネットワーク上に存在する場合であって、コントロールポイントＣＰ２がメディアレンダラＭＲ１を制御対象としたとき、コントロールポイントＣＰ２は再生完了通知を認識できない。そのため、メディアレンダラＭＲ１が曲の再生を完了し、曲の再生を停止している状態（ステータス）であっても、コントロールポイントＣＰ２はメディアレンダラＭＲ１のステータスを正確に認識できない。
【００９９】
このような事態を防止するため、図１０に示すように、メディアレンダラＭＲ１はステップＳ２０９で再生完了通知を送信後、停止ステータス通知としてLastChange通知を送信する（Ｓ２１０）。ステップＳ２１０で送信するLastChange通知は、ＵＰｎＰプロトコルでTransportStateの値として定義されている"STOPPED"を含む。そのため、コントロールポイントＣＰ２は、ステップＳ２０９で通知される再生完了通知を認識できなくても、ステップＳ２１０で停止ステータス通知を受け、メディアレンダラＭＲ１のステータスが「停止」であると認識できる。
【０１００】
［メディアレンダラＭＲ１の制御主体が変更された場合］
図１１に示すＵＰｎＰネットワークにおいて、コントロールポイントＣＰ１がメディアレンダラＭＲ１に連続再生を実行させている途中で、コントロールポイントＣＰ２がメディアレンダラＭＲ１に新たな曲ＪＪＪの再生を指示したとき、メディアレンダラＭＲ１は、最新の再生指示に従う。つまり、メディアレンダラＭＲ１は新たな曲ＪＪＪの再生を開始する。
【０１０１】
しかしながら、コントロールポイントＣＰ１が、メディアレンダラＭＲ１が新たな曲ＪＪＪの再生を開始したと認識していなければ、依然としてメディアレンダラＭＲ１を制御し、SetNextAVTransportURIコマンド等のコマンドをメディアレンダラＭＲ１に送信してしまう。このように２つのコントロールポイントＣＰ１及びＣＰ２からコマンドが送信されれば、メディアレンダラＭＲ１の動作が混乱する。したがって、メディアレンダラＭＲ１の制御主体がコントロールポイントＣＰ１からＣＰ２に変更された場合、コントロールポイントＣＰ１は、メディアレンダラＭＲ１を制御対象から外し、連続再生処理を停止する方が好ましい。
【０１０２】
メディアレンダラＭＲ１は、新たな曲を再生するごとに、新たに再生を開始する曲のＵＲＩを再生情報（AVTransportURI）として含むLastChange通知をコントロールポイントＣＰ１及びＣＰ２に送信する（図１０中のＳ２１６及びＳ２１７）。コントロールポイントＣＰ１がメディアレンダラＭＲ１に連続再生を実行させている途中で、コントロールポイントＣＰ２がメディアレンダラＭＲ１に新たな曲ＪＪＪの再生を指示したとき、メディアレンダラＭＲ１は、再生情報（AVTransportURI）として曲ＪＪＪのＵＲＩを含むLastChange通知をコントロールポイントＣＰ１に送信する。
【０１０３】
図９を参照して、コントロールポイントＣＰ１は、メディアレンダラＭＲ１から送信されたLastChange通知を受け（Ｓ３２０でＹＥＳ）、メディアレンダラＭＲ１からの通知であると判断した後（Ｓ３０１でＹＥＳ）、LastChange通知内のStateVariableの値がAVTransportURIであると判断する（Ｓ３１２でＹＥＳ）。そのため、コントロールポイントＣＰは、送信されたAVTransportURI（曲ＪＪＪのＵＲＩ）を制御対象テーブル４０内のAVTransportURIフィールドに登録する（Ｓ３１７）。
【０１０４】
続いて、コントロールポイントＣＰ１は、制御対象テーブル４０に登録されたAVTransportURIがプレイリスト３０上の再生曲のＵＲＩと同じか否かを判断する（Ｓ３１３）。コントロールポイントＣＰは、制御対象テーブル４０内のトラック番号に対応する曲のＵＲＩをプレイリスト３０に基づいて特定し、特定された曲のＵＲＩが制御対象テーブル４０に登録されたAVTransportURIである曲ＪＪＪのＵＲＩと異なると判断する（Ｓ３１３でＮＯ）。このとき、コントロールポイントＣＰ１は、メディアレンダラＭＲ１が他のコントローラにより制御されていると判断し、メディアレンダラＭＲ１の制御を解除する（Ｓ３１４）。具体的には、メディアレンダラＭＲ１の制御対象テーブル４０を削除する。これにより、コントロールポイントＣＰ１はメディアレンダラＭＲ１に対するコマンドの送信を停止する。
【０１０５】
以上のように、本発明の実施の形態によれば、メディアレンダラＭＲは、曲を再生するごとに、次に再生予定の曲（次再生曲）のＵＲＩを取得するため、曲の再生が完了した後、すぐに次の曲の再生を開始できる。メディアレンダラＭＲは、曲の再生が完了したとき、次に再生する予定の曲の再生指示を待つ必要がないため、曲間の無音部分を少なくすることができる。
【０１０６】
さらに、コントロールポイントＣＰは、メディアレンダラＭＲが曲の再生を完了するごとに、メディアレンダラＭＲが次に再生予定の曲を確認する。この確認処理により、プレイリスト３０の変更をメディアレンダラＭＲの曲の再生順に全て反映できる。
【０１０７】
本実施の形態では、コントロールポイントＣＰと、メディアサーバＭＳと、メディアレンダラＭＲとを互いに独立したデバイスとしたが、１つのデバイスがコントロールポイントＣＰとメディアサーバＭＳとを備えていてもよいし、１つのデバイスがコントロールポイントＣＰとメディアレンダラＭＲとを備えていてもよい。
【０１０８】
また、本実施の形態では、コンテンツを曲としたが、他のコンテンツでもよい。たとえば、映像や音声等でもよい。
【０１０９】
また、本実施の形態では、次再生予約を曲のＵＲＩとしたが、次再生予約はこれに限らず、曲を特定できる情報であればよい。たとえば、曲名であってもよいし、他の特定情報であってもよい。
【０１１０】
また、コントロールポイントＣＰは、メディアレンダラＭＲ１が曲の再生を開始してから完了するまでの間に次再生予約を送信すればよい。同様に、メディアレンダラＭＲ１は、受信した次再生予約を曲の再生が完了するまでにコントロールポイントＣＰに送信すればよい。再生完了通知に受信した次再生予約を含めて送信してもよい。
【０１１１】
また、メディアレンダラＭＲ１は、メディアレンダラＭＲ１の監視を希望する全てのコントロールポイントＣＰにLastChange通知を送信するとしたが、ネットワーク上に存在する全てのコントロールポイントＣＰにLastChange通知を送信してもよい。
【０１１２】
また、本実施の形態では、メディアサーバＭＳ、メディアレンダラＭＲ、コントロールポイントＣＰが、ＵＰｎＰプロトコルにより互いに接続されるとしたが、他のプロトコルに基づいて接続されてもよい。
【０１１３】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【図面の簡単な説明】
【０１１４】
【図１】本発明の実施の形態によるネットワークＡＶシステムの構成を示す機能ブロック図である。
【図２】図１に示したメディアレンダラが記憶するＵＲＩ管理テーブルのデータ構造を示す図である。
【図３】図１中のコントローラの構成の詳細を示す機能ブロック図である。
【図４】図３中のディスプレイに表示される画面の一例である。
【図５】図３に示したコントローラが記憶するプレイリストのデータ構造を示す図である。
【図６】図３に示したコントローラが記憶する制御対象テーブルのデータ構造を示す図である。
【図７Ａ】図１に示したネットワークＡＶシステムの動作概要を説明するための模式図である。
【図７Ｂ】図１に示したネットワークＡＶシステムの動作概要を説明するための、図７と異なる模式図である。
【図８】図１中のコントローラの連続再生開始処理の詳細を示すフロー図である。
【図９】図１中のコントローラの連続再生継続処理の詳細を示すフロー図である。
【図１０】図１中のメディアレンダラの連続再生処理の詳細を示すフロー図である。
【図１１】図１に示したネットワークＡＶシステムの他の構成例を示す機能ブロック図である。
【符号の説明】
【０１１５】
１２  メモリ
１３  入力部
１６  ディスプレイ
２０  ＵＲＩ管理テーブル
２１  コンテントディレクトリサービス
２２，３１  コネクションマネージャサービス
２３  コンテンツデータベース
２４  コンテンツ情報データベース
３０  プレイリスト
３２  ＡＶトランスポートサービス
４０  制御対象テーブル
ＣＰ  コントロールポイント
ＭＲ  メディアレンダラ
ＭＳ  メディアサーバ
【図１】
2007287196.tif 000003
【図２】
2007287196.tif 000004
【図３】
2007287196.tif 000005
【図４】
2007287196.tif 000006
【図５】
2007287196.tif 000007
【図６】
2007287196.tif 000008
【図７Ａ】
2007287196.tif 000009
【図７Ｂ】
2007287196.tif 000010
【図８】
2007287196.tif 000011
【図９】
2007287196.tif 000012
【図１０】
2007287196.tif 000013
【図１１】
2007287196.tif 000014