実施例1.
図1は、本発明の実施例1におけるシステム全体を示す構成図である。
図1において、本システムは、コンテンツを配信するサーバ装置1と、コンテンツを受信し再生する端末装置2とがネットワーク3を介して接続されている。端末装置2は1つでも複数あっても良い。また、本実施例においては、コンテンツが音楽である場合を説明するが、これに限定するものではなく、映画、TV番組等の映像(動画)データや、写真などの静止画データ等、他の種類のデータであっても良い。
図2は、図1に示す実施例1のサーバ装置1の構成例を示すブロック図である。
図2において、サーバ装置1は、プレイリスト格納部10と、プレイリスト構造データ格納部11と、送受信部12と、制御部13とを有している。また、サーバ装置1には、サーバ装置1の管理者が操作を行うためのキーボードやマウス等の入力装置20と、ディスプレイ等の表示装置21が接続されている。なお、サーバ装置1は、CPU、RAM、ROM、ハードディスクドライブ等により構成される一般的なコンピュータを用いて、CPUがROMやハードディスクドライブ等に格納されたコンピュータプログラムを実行するソフトウェア処理で実現することも可能である。このことは、後述する他の実施例のサーバ装置でも同様である。また、本実施例においては、プレイリスト格納部10と、プレイリスト構造データ格納部11とを同じサーバ装置1内に配置しているが、これらを別々のサーバ装置に配置することも可能である。
図3は、プレイリスト格納部10が格納するデータの一例を示す図である。図3に示すように、プレイリスト格納部10には複数(P個、P≧2)のプレイリストが格納されている。各々のプレイリストは、プレイリストIDと、コンテンツの再生順序と、コンテンツのタイトルと、制作者(アーティスト)と、コンテンツの取得情報とが関連付けられたデータである。また各々のプレイリストには1つ以上のコンテンツが関連付けられている。プレイリストIDは、プレイリストを一意に識別できる数値またはテキストデータである。コンテンツの取得情報は、図3に示した例では、コンテンツ(配信ファイル)の所在を示すURL(Uniform Resource Locator)等である。なお、本発明の実施例1〜実施例4において、コンテンツを格納する装置と、コンテンツを利用(取得)する装置が同一の装置である場合は、必ずしもURL等を用いる必要はなく、コンテンツを一意に識別する識別子(コンテンツID)やコンテンツ含むファイルのパス名などをコンテンツの取得情報として用いることができる。例えば後述するように、サーバ装置1がコンテンツを格納しており、そのコンテンツを取得して配信する場合には、プレイリストに記述された取得情報として、コンテンツが格納されたファイルのパス名や、コンテンツを格納するデータベースにおけるコンテンツIDなどを用いても良い。
コンテンツは、サーバ装置1のコンテンツ格納手段(図2では不図示)に格納されていても良いし、端末装置2からアクセス可能なサーバ装置1とは別の装置に格納されていても良い。また、制作年、ジャンル、再生に適した状況・場所などの情報がプレイリストに含まれていても良い。また、コンテンツのタイトルや制作者の情報を省略しても良い。
本実施例においてプレイリストは、サーバの運営者や管理者により作成されているものとするが、端末装置2を使用する利用者にプレイリストを作成させたり、利用者にプレイリストの内容の一部を変更させても良い。本実施例においてプレイリストは、コンテンツのジャンル、制作年代、コンテンツの持つ雰囲気、コンテンツを再生するのに適する状況/場所、などの情報を用いて作成されている。
図4は、プレイリスト構造データ格納部11が格納するデータの一例を示す図である。
すなわち、プレイリスト構造データ格納部11は、図4に示すような形式で、プレイリスト構造データIDと、複数のプレイリスト間の関係性を示すプレイリスト構造データと、遷移コマンドデータと、説明データとを関連付けて格納し、さらに最優先構造データIDとを格納している。プレイリスト構造データIDは、複数のプレイリスト構造データを一意に識別するためのIDである。最優先構造データIDは、最も優先して使用するプレイリスト構造データIDである。図4の例では、M個の各データが格納されている(M≧1)。プレイリスト構造データを複数種類ではなく、1つだけ格納するようにしても良い。1つだけ格納する場合、プレイリスト構造データIDと、最優先構造データIDとを省略することも可能である。また後述するように、遷移コマンドデータと説明データを省略することも可能である。各々のプレイリスト構造データは、プレイリスト格納部10に格納されたプレイリストの内の一部または全部のプレイリストと、共通するプレイリストIDを用いて関連付けられている。1つのプレイリスト構造データに関連するプレイリストの数は、プレイリスト構造データ毎に異なっていて良い。各プレイリスト構造データには、以下に説明する形式でデータが格納されている。
本実施例では、プレイリスト構造データの基本的な形式として、以下の図5〜図7の3つの形式を用いる。いずれの形式においても、プレイリスト構造データは、複数のプレイリスト(プレイリストID)間の関係を示す数値で構成されている。
図5は、プレイリスト構造データの第1形式の例を示している。
第1形式は、図5(A)に示すように、複数(N個、N≧2)のプレイリストのプレイリストIDと、それらを所定の基準に従って順位付けた場合の順位1〜Nとを対応させたものである。
図5(B)は、音楽ジャンル別にプレイリストを作成した場合のプレイリスト構造データの第1形式の一例を示している。図5(B)では、「Classic」、「Easy Listening」、 「Folk」、 「Rock」、 「Heavy Metal」の5個のジャンルを用い、各々のジャンルに対応する5個のプレイリストを作成している。この例における順位は、そのジャンルの典型的な楽曲の音圧の強さやビートの強さ、あるいは主観的な「激しさ」の程度などを基準に決められており、「1」が最も弱く、「5」が最も強いことを表わしている。
図6は、プレイリスト構造データの第2形式の例を示している。
第2形式は、図6(A)に示すように、複数(N個、N≧2)のプレイリストのプレイリストIDと、それらを所定の座標系に配置した場合の座標値とを対応させたものである。座標の次元数をL(L≧1)としている。
図6(B)は、図5(B)と同様に、音楽ジャンル別にプレイリストを作成した場合のプレイリスト構造データの第2形式の一例を示している。この例では、座標の次元数は1であり、座標値として、そのジャンルの典型的な楽曲の音圧の強さやビートの強さ、あるいは主観的な「激しさ」の程度などを示す数値を座標値として用いている。
図7は、プレイリスト構造データの第3形式の例を示している。
第3形式は、図7(A)のように、N個(N≧2)のプレイリストの内の任意の2つのプレイリスト間の類似度を行列形式で表現したものである。行および列はプレイリストIDで構成されている。行列の要素は、2つのプレイリスト間の類似度を表わしており、例えば、図7(A)の「類似度13」は、「プレイリスト1」と「プレイリスト3」との類似度を表わしている。
図7(B)は、図5(B)、図6(B)と同様に、音楽ジャンル別にプレイリストを作成した場合のプレイリスト構造データの第3形式の一例を示している。この例において、行列の要素は、「0.0」〜「1.0」の数値であり、「1.0」は最も類似度が高く、「0.0」は最も類似度が低いことを示している。行列の対角要素は、同一のプレイリスト間の類似度になるので、全て「1.0」である。この例のように対称行列になる場合は、同じ値となる対称要素を省略しても良い。
以上がプレイリスト構造データの基本的な形式の説明であるが、プレイリストを複数の階層にすることも可能である。
図8は、プレイリストを複数の階層にしたプレイリスト構造データの一例を示す図である。
図8では、音楽ジャンルと制作年代を組み合わせてプレイリストを作成しており、階層1(上位プレイリスト)がジャンル、階層2(下位プレイリスト)が年代に対応した、2階層の構造を持っている。上位プレイリストは1つ以上の下位プレイリストに対応しており、下位プレイリストは1つの上位プレイリストに対応している。各々の上位プレイリストおよび各々の下位プレイリストには、上述したような順位が対応付けられている。例えば図8において、階層2が「バロック」であるプレイリストは、ジャンルが「Classic」で、かつ年代が「バロック」であるコンテンツを集めたプレイリストである。また、3つ以上の階層構造を用いることも可能である。図4に示した例では、M個のプレイリスト構造データが、上述した形式のいずれかの形式で格納されている。M個のプレイリスト構造データは、全て同じ形式であっても良いし、プレイリスト構造データ毎に異なる形式であっても良い。
次に、プレイリスト構造データ格納部11に格納される遷移コマンドデータ(図4参照)について説明する。
遷移コマンドデータは、後述するように、端末装置2においてプレイリストを変更する際に使用するデータである。
図9は、遷移コマンドデータの一例を示している。
図9に示した例では、K個の遷移コマンドが格納されており、各々の遷移コマンドは、遷移コマンドIDと、方向と、変化量と、表示メッセージとが対応付けられたデータである。遷移コマンドIDは、遷移コマンドを一意に識別するための数値またはテキストデータである。
本実施例1では、遷移コマンドデータの方向と変化量は、端末装置2において、コンテンツ再生に用いるプレイリストを変更、すなわち切り替える際に使われる情報である。これらの使われ方については、端末装置2の再生処理を説明する際に詳しく説明する。
方向は、「0」、「+」、「−」の3種類のいずれかである。「0」は方向性が無いことを表わし、「+」は上述した順位および座標値の数値が大きくなる方向の変化を表わし、「−」は順位および座標値の数値が小さくなる方向の変化を表わしている。
変化量は、プレイリスト構造データの格納形式(第1形式〜第3形式)に応じた形式で格納されている。図9(A)の例は、プレイリスト構造データの第1形式として説明した順位を用いた場合であり、「3」は3つ順位が異なるプレイリストに変更することを示し、「1」は1つ順位が異なるプレイリストに変更することを示している。また、図9(B)の例は、プレイリスト構造データとして、図6に示す第2形式の座標値を用いる場合である。この変化量の項目は、座標系の次元数(L個)だけ変化量を並べて格納する形式になる。これらの数値は、各々の次元の座標値に加算または減算するための数値である。次元数が1である場合は、変化量の項目は1つになる。また、図9(C)の例は、プレイリスト構造データとして、図7に示す第3形式の類似度を用いる場合である。変化量の数値は、その値に近い類似度を持つプレイリストに変更することを示しており、「0.1」といったような1つの数値になる。類似度を単独で用いる場合は、方向が「0」のコマンドしか格納できない。ただし、図10に示すように、プレイリスト構造データとして類似度と順位を合わせて格納し、端末装置2において方向の判定に順位を使い、変化量として類似度を使用することにより、類似度を用いてなおかつ方向性のあるコマンドを利用することも可能である。また、類似度と座標値を合わせて格納し、端末装置2において方向の判定に座標値を使い、変化量として類似度を使用しても良い。なお、本実施例1においては上述したように、遷移コマンドデータの方向と変化量を分けて扱っているが、変化量に符号を加えることにより、方向を省略することも可能である。
また、遷移コマンドデータの表示メッセージは、端末装置2が出力装置41に表示するためのテキストデータである。なお、表示メッセージは、遷移コマンドデータの方向と変化量とに基づいて、端末装置2側で作成されるようにしても良い。この場合には、表示メッセージの格納は省略できる。
図11は、プレイリスト構造データが複数の階層を持つ場合の遷移コマンドデータの一例を示している。
図11では、図9の遷移コマンドデータに対し「階層」が追加されている。これはプレイリストの複数の階層のうち最上位の階層から数えて何番目の階層を対象とするかを示す情報である。その他は、図9に示す遷移コマンドデータと同じである。
図4に戻り、プレイリスト構造データ格納部11に格納される説明データは、端末装置2を使う利用者に各プレイリスト構造データの特徴を伝えるためのもので、利用者が複数のプレイリスト構造データの中から1つを選択する際に使用するデータである。
図12は、図1に示す端末装置2の構成例を示すブロック図である。
図12において、端末装置2は、プレイリスト記憶部30と、プレイリスト構造データ記憶部31と、コンテンツ取得部32と、再生部33と、送受信部34と、制御部35と、状態記憶部36とを有しており、入力装置40と、表示装置41と、音声出力装置42とが接続されている。
入力装置40は、利用者からの操作指示を受け付けるためのキーボード、マウス、リモコン、タッチパネル等の装置である。また、表示装置41は、コンテンツの再生および情報を表示するためのディスプレイ等の装置である。音声出力装置42は、コンテンツの再生に必要なスピーカー、ヘッドホン等の装置である。なお、端末装置2も、CPU、RAM、ROM、ハードディスクドライブ等により構成される一般的なコンピュータを用いて、コンテンツ再生用プログラムの実行によるソフトウェア処理として実現することも可能である。このことは、後述する他の実施例の端末装置や再生装置等でも同様である。
図13は、電源投入直後に端末装置2の制御部35が表示装置41に表示するメニュー画面の一例を示している。
図13において、メニュー画面131には、「制御用データのダウンロード」と「コンテンツの再生」の2種類の選択メニューが表示されている。左側の矢印はカーソル132の位置を表わしている。利用者が入力装置40を使って所望のメニュー項目にカーソルを合わせ、決定ボタン133を押すことにより、各メニュー項目に対応した処理が開始される。
次に、メニュー画面131から2種類の選択メニューが選択された場合の端末装置2およびサーバ装置1の動作を、フローチャートを参照して説明する。
図14は、利用者が「制御用データのダウンロード」のメニュー項目を選択した場合の端末装置2およびサーバ装置1における制御用データのダウンロード処理を示すフローチャートである。
まず、端末装置2側にて、利用者が図13に示すメニュー画面131から「制御用データのダウンロード」のメニュー項目を選択すると、端末装置2の制御部35が送受信部34を介してサーバ装置1に対して制御用データを要求するメッセージを送信する(S100)。
すると、サーバ装置1では、制御部13が送受信部12を介して制御用データ要求のメッセージを受信し(S110)、プレイリスト構造データ格納部11の中の最優先構造データIDを参照し、それに該当するプレイリスト構造データIDを持つプレイリスト構造データと遷移コマンドデータとを制御用データとして読み出す(S120)。プレイリスト構造データ格納部11に1種類しかデータが格納されていない場合は、それを読み出す。なお、本実施例においてはサーバ装置1から端末装置2に遷移コマンドデータを送信するものとしているが、端末装置2が予め遷移コマンドデータを格納しておくことにより、サーバ装置1のプレイリスト構造データ11に遷移コマンドデータを格納することを省略し、S120でプレイリスト構造データのみを制御用データとして読み出すようにすることも可能である。
次に、サーバ装置1の制御部13は、S120で読み出したプレイリスト構造データに含まれるプレイリストIDを取得し、プレイリスト格納部10を参照しながら、取得したプレイリストIDに該当する全てのプレイリストを読み出す(S130)。
そして、サーバ装置1の制御部13は、S120で読み出した制御用データと、S130で読み出したプレイリストとを送受信部12を介して端末装置2に送信する(S140)。
端末装置2の制御部35は、送受信部34を介しサーバ装置1から制御用データであるプレイリスト構造データおよび遷移コマンドデータと、プレイリストとを受信すると、制御用データをプレイリスト構造データ記憶部31に記憶する一方、プレイリストをプレイリスト記憶部30に記憶する(S150)。
以上の制御用データのダウンロード処理によれば、利用者が条件を選択する等の操作が不要なため、端末装置3の操作を簡単にしたい場合に適している。なお、端末装置2のプレイリスト記憶部30にあらかじめプレイリスト構造データに対応したプレイリストを記憶させておくことにより、S130と、S140におけるプレイリストの送信を省略することも可能である。
次に制御用データのダウンロード処理の別の例を、図15のフローチャートを用いて説明する。
この処理では、サーバ装置1のプレイリスト構造データ格納部11に説明データが格納されている必要があり、この処理を行わない場合は、説明データは省略可能である。
この場合、まず、端末装置2の制御部35が送受信部34を介してサーバ装置1に、プレイリスト構造データの一覧であるプレイリスト構造データリストを要求するメッセージを送信する(S200)。
すると、サーバ装置1側では、制御部13が送受信部12を介してプレイリスト構造データリスト要求のメッセージを受信し(S210)、プレイリスト構造データ格納部11からデータを読み出してプレイリスト構造データリストを作成する(S220)。具体的には、プレイリスト構造データ格納部11に格納されている全てのプレイリスト構造データIDと、説明データとを対応づけて読み出し、これらをプレイリスト構造データリストとする。
次に、制御部13は、作成したプレイリスト構造データリストを、送受信部12を介して端末装置2に送信する(S230)。
端末装置2では、制御部35が送受信部34を介してサーバ装置1からプレイリスト構造データリストを受信し、表示装置41にプレイリスト構造データリストを表示する(S240)。
図16は、表示装置41に表示されるプレイリスト構造データリストの一例を示す図である。
図16に示すプレイリスト構造データリスト161では、プレイリスト構造データIDと、説明データとを対応させて表示しているが、説明データのみ表示するようにしても良い。左側の矢印はカーソル162の位置を表わしている。利用者は、説明データを読んで所望のプレイリスト構造データを決めた後、入力装置40を使って所望のメニュー項目にカーソルを合わせ、決定ボタン163を押すことにより、プレイリスト構造データが選択される。
図15に戻り、表示装置41に表示されたプレイリスト構造データリスト161にて利用者がプレイリスト構造データを選択すると、制御部35は、入力装置40を介して利用者からの指示を受け付け、その指示に該当するプレイリスト構造データIDを、送受信部34を介してサーバ装置1に送信する(S250)。
サーバ装置1では、制御部13が送受信部12を介して端末装置2からプレイリスト構造データIDを受信し(S260)、受信したプレイリスト構造データIDに対応するプレイリスト構造データと遷移コマンドデータとを制御用データとしてプレイリスト構造データ格納部11から読み出す(S270)。
次に制御部13は、S270で読み出したプレイリスト構造データに含まれるプレイリストIDを取得し、プレイリスト格納部10を参照して、取得したプレイリストIDに該当する全てのプレイリストを読み出し(S280)、S270にて読み出した制御用データと、S280にて読み出したプレイリストとを送受信部12を介して端末装置2に送信する(S290)。
端末装置2では、制御部35が送受信部34を介してサーバ装置1から制御用データとプレイリストとを受信し、制御用データをプレイリスト構造データ記憶部31に記憶する一方、プレイリストをプレイリスト記憶部30に記憶する(S300)。
以上の制御用データダウンロード処理によれば、利用者が複数種類のプレイリスト構造データの中から好きなものを選択することができるので、利用者の満足度をより高めることができる。
本実施例1では、図14または図15のどちらの制御用データダウンロード処理を用いても良い。また上記の説明では、利用者のメニュー選択により処理が開始される場合を説明したが、これ以外に、所定の時間毎に端末装置2からサーバ装置1に対し制御用データの要求メッセージを送信するようにしても良い。また、利用者から「コンテンツ再生」の指示を受けた時に、プレイリストと制御用データの有無を確認し、それらが無い場合にはコンテンツ再生に先立って、それらをダウンロードする処理を自動的に行っても良い。また、サーバ装置1から端末装置2にプレイリストの一覧情報を送信して表示装置41に表示し、利用者にダウンロードするプレイリストを選択させた上で、選択されたプレイリストおよびその再生に必要な制御用データをサーバ装置1から端末装置2にダウンロードするようにしても良い。更に、プレイリストと制御用データとを予め端末装置2に記憶しておいても良い。
図17は、メニュー画面131から「コンテンツの再生」のメニュー項目が選択された場合のコンテンツ再生処理を示すフローチャートである。
まず、端末装置2の制御部35が、プレイリスト構造データ記憶部31を参照し、そこに格納されているプレイリスト構造データに記述された複数のプレイリストIDの中から再生に使用するプレイリストのプレイリストIDを1つ初期値として選択して、それを状態記憶部36に記憶する(S600)。プレイリスト構造データが複数の階層で構成されている場合は、例えば、最下位の階層のプレイリストのプレイリストIDを選択する。プレイリストIDの選択方法としては、以下の3つを用いることができる。
第1の方法は、ランダムにプレイリストIDを選択する方法である。乱数を利用するなどして選択すれば良い。
また、第2の方法は、前回使用したプレイリストIDを選択する方法である。状態記憶部36を不揮発性メモリで構成し、前回使用したプレイリストIDが保存されている場合は、それを用いても良い。
また、第3の方法は、利用者に所望のプレイリストのプレイリストIDを選択させる方法である。この場合、制御部35はプレイリスト記憶部30からプレイリストを読み出し、プレイリストの一覧を作成して表示装置41に表示させる。利用者は入力装置40を用いて、表示装置41に表示されたプレイリスト一覧の中から1つのプレイリストを選択させ、そのプレイリストIDを状態記憶部36に記憶する。なお、第3の方法として上記の他に、制御部35がプレイリスト構造データ記憶部31からプレイリストIDを読み出し、プレイリストIDの一覧を作成して表示装置41に表示させ、利用者にプレイリストIDを選択させても良い。
すると、コンテンツ取得部32は、状態記憶部36に記憶されたプレイリストIDを読み出し、それに対応するプレイリストに従って順次コンテンツを取得する(S610)。具体的には、状態記憶部36に記憶されたプレイリストIDに対応するプレイリストをプレイリスト記憶部30から読み出し、そのプレイリストに記述されている再生順序に従って、コンテンツの取得情報を読み出し、送受信手段34を介してコンテンツである配信ファイルを取得し、コンテンツ取得部32に一時的に記憶する。本実施例1では、コンテンツは、サーバ装置1、あるいは端末装置2からアクセス可能な他の装置に配信ファイルとして配置されているものして説明するが、端末装置2にコンテンツ記憶部を設けて、予めそこに記憶させておいても良い。
次に、再生部33がコンテンツ取得部32に記憶されているコンテンツを読み出して、デコード等の必要な処理を行った後に表示装置41および音声出力装置42に出力することにより、コンテンツを再生する(S620)。
次に、制御部35は、再生中のコンテンツの情報およびコンテンツ再生に用いるプレイリストを変更するための遷移コマンドを表示装置41に表示する(S630)。つまり、制御部35は、プレイリスト構造データ記憶部31から遷移コマンドデータの表示メッセージ(図9、図11等参照)を読み出したり、または方向と変化量とに基づいて表示メッセージを作成すると共に、再生中のコンテンツのタイトルや制作者などの情報をプレイリスト格納部30から読み出して、それらを表示装置41に表示する。
図18は、S630により表示装置41に表示される表示画面の一例を示している。
この例では、画面上部にコンテンツのタイトル211と、制作者212とを表示しており、画面下部に遷移コマンドの表示メッセージ213を表示している。左側の矢印214は、カーソル位置を表わしている。利用者が入力装置40を使って所望の遷移コマンドの表示メッセージ213にカーソル214を合わせ、決定ボタン215を押すことにより、コンテンツ再生に用いるプレイリストを変更することができる。なおここで、現在使用できない状態にある遷移コマンドの表示メッセージ213を表示しない処理を行っても良い。例えば、「1」〜「5」の順位があるプレイリスト構造データが使われており、現在「5」の順位のプレイリストが選択されている場合は、それ以上順位の数値を増やすことは出来ないので、順位の数値を増やす遷移コマンドの表示メッセージ213を表示しないようにしても良い。
また、再生中止ボタン216があり、利用者がこのボタン216を押すと、再生中止コマンドとして制御部35に検知される。遷移コマンドと再生中止コマンドを合わせて、以下ではコマンドと表記する。また、画面中央部にはコンテンツ再生領域217があるが、コンテンツの種類によっては省略しても良い。また、タイトル211、制作者212、遷移コマンド等の情報をコンテンツ再生領域217にオーバーラップして表示するようにしても良い。
図17の説明に戻り、制御部35は、コンテンツの再生が終了したか否かを判定し(S640)、再生が終了した場合(S640“YES”)、S610に戻り、コンテンツ取得部32に現在使用中のプレイリスト内で次の再生順序のコンテンツを取得させる。
これに対し、コンテンツの再生が終了していない場合(S640“NO”)、制御部35は、利用者によりコマンド入力があるか否かを判断し(S650)、コマンド入力がない場合(S650“NO”)、S640に戻り処理を繰り返す。
その一方、コマンド入力がある場合(S650“YES”)、制御部35は、入力されたコマンドが再生中止コマンドであるか否かを判断し(S660)、再生中止コマンドの場合(S660“YES”)、コンテンツ再生処理を終了する。
これに対し、再生終了コマンドでない場合(S660“NO”)、制御部35は、プレイリスト構造データおよび入力された遷移コマンドに基づいてコンテンツ再生に用いる一のプレイリストを変更し、新たなプレイリストIDを状態記憶部36に記憶し(S670)、S610の処理に戻り、S610以降の処理の処理を繰り返す。
なお、プレイリスト記憶部30または状態記憶部36に、各プレイリスト毎に再生したコンテンツの情報を記憶し、ステップS610において、該当するプレイリストの先頭のコンテンツからではなく、該当するプレイリストで前回再生したコンテンツの次の再生順序を持つコンテンツから取得するようにしても良い。このような処理を行うことで、プレイリストを切り替えた時に、同じコンテンツが頻繁に再生されることを防ぐことが可能になり、利用者が飽きにくいという効果が得られる。また、必ずしもプレイリストに記述された再生順序通りにコンテンツを再生する必要はなく、再生順序をランダムに決めたり、再生順序を変更して再生しても良い。
図19は、図17のS670のプレイリスト変更処理を詳細に示すフローチャートである。
図17のS670のプレイリスト変更処理では、まず、制御部35は、入力された遷移コマンドに対応する遷移コマンドデータの「方向」および「変化量」をプレイリスト構造データ記憶部31から読み出す(S800)。その際、プレイリストが複数の階層で構成されていて、図11に示したように遷移コマンドデータに「階層」が含まれている場合は、「階層」も読み出す。以下の処理は、ここで読み出した「階層」を対象にして行う。
次に、制御部35は、プレイリスト構造データ記憶部31に記憶されているプレイリスト構造データの中から、状態記憶部36に記憶されている使用中のプレイリストのプレイリストIDに該当する数値を読み出し、その数値とS800で読み出した方向および変化量とを用いて、新たなプレイリストのプレイリストIDを選出し(S810)、状態記憶部36に記憶する(S820)。このS810の処理の詳細は、プレイリスト構造データの格納形式によって異なる。
次に、図19におけるS810の処理の詳細について、プレイリスト構造データの形式別に説明する。
まず、プレイリスト構造データが図5に示す「順位」を用いた第1形式、または図6に示す「座標値」を用いた第2形式である場合について説明する。この場合は、プレイリスト構造データの内から、状態記憶部36に記憶されている使用中のプレイリストのプレイリストIDに該当する数値である順位または座標値を読み出し、その数値とS800で読み出した方向および変化量を用いて加算や減算等の数値演算を行い、数値演算の結果に基づき新たなプレイリストのプレイリストIDを選出する。
図20は、プレイリスト構造データが図5に示す「順位」を用いた第1形式、または図6に示す「座標値」を用いた第2形式である場合のS810の詳細な処理を示すフローチャートである。
まず、制御部35は、S800で読み出した「方向」が「0」であるか「+」であるか「−」であるかを判定し(S900)、「0」である場合はS910に進む一方、「+」である場合はS930に進み、「−」である場合はS940に進む。
S910では、制御部35は、「+」か「−」の方向を、乱数を用いてランダムに決定し、続くS920により、S910で決定された方向が「+」であるか判定し、「+」である場合はS930に進み、そうでない場合はS940に進む。
次にS930では、制御部35は、使用中のプレイリスト、すなわち状態記憶部36に格納されているプレイリストIDに対応するプレイリストの「順位」または「座標値」をプレイリスト構造データ記憶部31から読み出し、この値にS800で読み出した「変化量」を加算した値を算出する。複数の次元を持つ座標値の場合は、次元毎に加算する。そしてS950に進む。
一方、S940では、制御部35は、使用中のプレイリストの「順位」または「座標値」をプレイリスト構造データ記憶部31から読み出し、この値からS800で読み出した「変化量」を減算した値を算出し、S950に進む。
そして、S950では、制御部35は、プレイリスト構造データ記憶部31を参照しながら、S930またはS940で算出した値に最も近い、すなわち差が小さい「順位」または「座標値」を持つプレイリストのプレイリストIDを選定する。この時に、現在使用中のプレイリストである状態記憶部36に記憶されているプレイリストIDに対応するプレイリストを除外して選定するようにし、プレイリストの変更が必ず行われるようにする。
以上がプレイリスト構造データに「順位」または「座標値」が用いられている場合のS810の処理の詳細である。上述した処理において、遷移コマンドデータの方向および変化量は、変更前のプレイリストである使用中のプレイリストと、変更後のプレイリストである新たなプレイリストとのプレイリスト構造データ内の数値の違い、すなわち順位または座標値の差に関する目標値であると言える。遷移コマンドデータの方向および変化量に完全に一致するようにプレイリストの変更が行われるとは限らないが、それに近い条件のプレイリストが新たに選出される。
ここで、図5(B)および図9(A)に示した「順位」を用いた一例における具体的な数値例を示す。状態記憶部36に格納されているプレイリストIDが「Classic」(順位「1」)であり、図9(A)の「コマンド3」(方向「+」、変化量「1」)が選択された場合、S930において「1+1=2」という演算が行われ、S950において、順位「2」に相当する(最も近い)プレイリストIDである「Easy Listening」が選定される。
次に、図6(B)および図9(B)に示した「座標値」を用いた一例における具体的な数値例を示す。ただし、座標系の次元数は1であり、図9(B)の次元1に相当する数値のみ格納されているものとする。状態記憶部36に格納されているプレイリストIDが「Easy Listening」(座標値「0.6」)であり、図9(B)の「コマンド3」(方向「+」、変化量「0.2」が選択された場合、S930において「0.6+0.2=0.8」という演算が行われ、S950において、座標値「0.8」に相当する(最も近い)プレイリストIDである「Folk」(座標値「0.8」)が選定される。この例の場合は、演算の結果得られた目標座標値と、プレイリスト構造データにあるプレイリストの座標値が完全に一致するが、もちろん一致しない場合もある。
次に、プレイリスト構造データが、図7に示す「類似度」を用いた形式である場合のS810の処理について説明する。この場合は、プレイリスト構造データの中から、状態記憶部36に記憶されているプレイリストIDである使用中のプレイリストに関連する全ての数値(類似度)を読み出し、それらの数値とS800で読み出した変化量との比較演算を行い、比較演算の結果に基づき新たなプレイリストのプレイリストIDを選出する。この処理の詳細について、図21に示すフローチャートを用いて説明する。
まず、制御部35は、プレイリスト構造データである類似度の行列データの中から状態記憶部36に記憶されているプレイリストIDに該当する列を読み出す(S1500)。
次に制御部35は、この列のデータの中からS800で読み出した「変化量」との差が最も少ない値を持つ要素を選択する(S1510)。「変化量」との差が同じ要素が複数ある場合は、そのうちのどれか1つを乱数などを用いて適当に選べば良い。
そして制御部35は、S1510で選択された要素に該当するプレイリストのプレイリストIDを選択し(S1520)、S810を終了する。
ここで、図7(B)および図9(C)に示した「類似度」を用いた一例における具体的な数値例を示す。状態記憶部36に格納されているプレイリストIDが「Easy Listening」であり、図9(C)の「コマンド2」(変化量「0.4」)が選択された場合、S1500において、図7(B)の行列データから「Easy Listening」の列(「0.8」、「1.0」、「0.7」、「0.3」、「0.1」)が読み出される。S1510では、これらの数値の中から変化量「0.4」に最も近い値を持つ要素「0.3」を選択する。そしてS1520で、それに該当するプレイリストIDである「Rock」を選定する。
類似度を用いたプレイリスト構造データの場合でも同様に、遷移コマンドデータの変化量は、変更前のプレイリストである使用中のプレイリストと、変更後のプレイリストである新たなプレイリストとの類似度に関する目標値であると言える。「類似度」と「違いの度合」は、対をなす概念であるので、遷移コマンドデータの変化量は、変更前のプレイリストと変更後のプレイリストの違いの度合に関する目標値であるとも言える。
以上がコンテンツ再生処理の説明である。上述したコンテンツ再生処理により、プレイリストの名称を表示装置41に表示して利用者に選択させる方法に比べて、より直感的な操作が可能になる。
なお、本実施例では、図17に示したフローチャートのS600において、再生に使用するプレイリストの初期設定を行っているが、これに限定される訳ではなく、このステップを別の方法に変えることも可能である。例えば、コンテンツ再生処理の最初において、利用者に所望のコンテンツを選択させ、そのコンテンツを含むプレイリストをプレイリストの初期値として用いても良い。
上述した方法において利用者は、現在再生中のコンテンツを基準にした相対的な変化を意識して遷移コマンドを選択すればよい。一般的に、現在再生中のコンテンツを基準にして相対的な変化を予想することは容易である。その一方、プレイリストの名称等を表示装置に表示して利用者に選択させる方法では、利用者は再生中のコンテンツとは関係なく、文字情報だけを頼りに各々のプレイリストの内容を予想する必要があり、直感的な操作がやり難い。例えば、「刺激が非常に強い」、「刺激がやや強い」、「刺激がやや弱い」、「刺激が非常に弱い」等々の名称のプレイリストがあった場合、それらの名称を見ることだけで、各プレイリストの刺激の絶対的な程度を予想し、それらに対応するコンテンツを事前に(再生前に)予想することは、かなり難しい。一方で、現在再生中のコンテンツを基準にして、「少し刺激を強く」あるいは「少し刺激を弱く」といった相対的な変化を示す選択肢を選択することは、再生中のコンテンツという具体的な判断基準があることと、文字情報だけでなく、コンテンツに関わる聴覚情報/視覚情報などの手掛かりを使って判断できるため、利用者にとって直感的であり、比較的容易である。
このように、本実施例によれば、サーバ装置1は、複数のプレイリスト間の関係を数値で表したプレイリスト構造データを、ネットワーク3を介し端末装置2に対し送信し、端末装置2ではそのプレイリスト構造データを受信して、コンテンツ再生の際、プレイリスト構造データに基づいてコンテンツのプレイリストを変更して、変更したプレイリストのコンテンツを再生するようにしたので、大量のコンテンツの中から、その時々の利用者の気分に合ったコンテンツを簡単な操作で再生できる。
また、本実施例では、プレイリスト構造データ毎に、対応する複数のプレイリスト間の変更する方向と変化量とを示す遷移コマンドと、その遷移コマンドの変化量に応じた表示メッセージとが付加されているので、端末装置2では、その表示メッセージを表示して利用者に選択させることにより、再生コンテンツをプレイリストを基準にして、それとの相対的な変化を指定する方法で、別のプレイリストに切り替えてコンテンツ再生することができる。
そのため、事前に複数の印象の遷移を指定したプレイリストを作成する手間が不要であり、様々なプレイリストを直感的な操作で切り替えながらコンテンツを再生できる。その結果、コンテンツ購入前にサーバ装置1の提供する大量のコンテンツを試聴させる用途などにも好適である。
更に、本実施例によれば、端末装置2の利用者は、複数のプレイリスト構造データの中から好みのものをサーバ装置1に対し要求し送信させて使用することができるので、プレイリストの変化の仕方を自分の好みに合わせて設定することができる。そのため、利用者の好みに応じてプレイリスト構造データを変更することにより、利用者が既に使用しているコンテンツについても、プレイリストの変化の仕方が新しいものになるので、利用者が飽きにくく、利用者のコンテンツや配信サービスに対する興味や関心を維持し易い。また、利用者は、既に知っている馴染みのコンテンツを再生する場合でも、プレイリスト構造データにより、再生コンテンツのプレイリストを変更しながらコンテンツを再生するので、コンテンツ同士の意外な類似性/共通性を発見する等のチャンスが増え、多面的にコンテンツを楽しむことができる。
実施例2.
次に本発明の実施例2を説明する。実施例2のシステム全体の構成は、図1と同様であるが、サーバ装置1の代わりにサーバ装置1aがネットワーク3を介して端末装置2と接続されている。実施例2における端末装置2の構成および処理動作は、実施例1と同じであるので、サーバ装置1aについてのみ説明する。
図22は、実施例2のサーバ装置1aの構成例を示している。
実施例2のサーバ装置1aでは、実施例1のサーバ装置1の構成と比べて、音響分析部14と、コンテンツ格納部15と、プレイリスト作成部16とが追加されている他、制御部13aが若干異なる。他の構成要素は実施例1と同じである。なお、本実施例2では、サーバ装置1aにコンテンツ格納部15を設けているが、コンテンツをサーバ装置1aとは別の装置に格納し、コンテンツ取得手段をサーバ装置1aに設けるようにしても良い。
本実施例においては、コンテンツであるオーディオデータ、ないしはコンテンツに付随または含まれるオーディオデータを音響分析部14で分析することにより、コンテンツの音楽ジャンルおよびコンテンツの持つ雰囲気を自動的に判別して利用する。本実施例におけるコンテンツは、例えば、音楽オーディオデータ、ミュージックビデオ等の音声付映像データ、静止画と音楽オーディオデータを合わせたスライドショーのデータなどである。
コンテンツ格納部15は、プレイリスト格納部10に格納されたプレイリストに記述されているコンテンツを含む配信ファイルを格納している。
図23は、本実施例においてコンテンツ格納部15に格納される配信ファイルの格納形式の一例を示している。各々の配信ファイルは、図23に示すように、ヘッダ61とコンテンツ本体62とで構成されている。ヘッダ61には、コンテンツのタイトル、制作者(アーティスト)、ジャンル、制作年代等のコンテンツの属性情報と、音響分析フラグと、分類カテゴリが含まれている。
図24は、実施例2の音響分析部14の音響分析処理を示すフローチャートである。
この音響分析処理は、制御部13aがコンテンツ格納部15に新しい配信ファイルが追加されたことを検出し、音響処理部14に指示を与えることにより開始される。また、サーバ装置1aの管理者が入力装置20を介してサーバ装置1aに音響分析処理の開始を指示しても良い。
つまり、音響分析部14は、コンテンツ格納部15からまだ音響分析処理を行っていない未処理のコンテンツを探す(S1000)。音響分析処理を行った配信ファイルのヘッダ61には、後述するように音響分析済みを示すフラグが記録されることになっており、これを調べることにより、音響分析処理の有無を確認することができる。
次に、音響分析部14は、音響分析処理が未処理の配信ファイルが有るか否かを判断し(S1010)、未処理の配信ファイルが無い場合は(S1010“NO”)、処理を終了する一方、未処理の配信ファイルがある場合は(S1010“YES”)、配信ファイルのコンテンツ本体62に含まれるオーディオデータを読み出し、音響特徴量を抽出する(S1020)。
音響特徴量を抽出する方法としては、例えば、特開2007−322598号公報に開示されている技術を用いることができる。またこの他に、オーディオ信号の強度、周波数分布、テンポ、ビート強度などを検出して音響特徴量としても良い。更に、オーディオデータを分析してオーディオデータの中で音楽が記録されていると推定できる区間を特定した後、その区間を対象にして音響特徴量を抽出するようにしても良い。
次に、音響分析部14は、音響特徴量を用いてコンテンツを所定の分類カテゴリに対応させる(S1030)。音響特徴量を分類カテゴリに対応させる方法としても、特開2007−322598号公報に開示されている技術を用いることができる。分類カテゴリとしては、「クラシック」、「ロック」、「ジャズ」などの音楽ジャンルを用いることができる。また「静か」、「力強い」、「ノリの良い」といったコンテンツの持つ雰囲気を分類カテゴリとすることもできる。
次に、音響分析部14は、S1030の処理の結果得られた分類カテゴリを配信ファイルに記録し、コンテンツ格納部15に格納し(S1040)、S1000の処理に戻る。
コンテンツが作成された段階では、音響分析フラグは「0」にセットされている。S1040において分類カテゴリを記録すると同時に、音響分析フラグを「1」に変更する。以上が音響分析処理の説明である。なお、S1030において、1つのコンテンツを複数の分類カテゴリに対応させ、S1040において、1つのコンテンツの配信ファイルに複数の分類カテゴリを記録しても良い。
プレイリスト構造データ格納部11は、実施例1と同様であるが、プレイリストIDとして、上述した分類カテゴリに対応するものが記録されている。
次に、プレイリスト作成部16におけるプレイリスト作成処理について、図25のフローチャートを用いて説明する。
まずプレイリスト作成部16が、コンテンツ格納部15から配信ファイルを順次読み出して、分類カテゴリ別のコンテンツ集合を作成する(S1500)。
次にプレイリスト作成部16は、S1500で作成されたコンテンツ集合毎にコンテンツの再生順序を決定する(S1510)。再生順序は配信ファイルのヘッダ情報を用いて決めることができる。例えば、制作年代の古い順にしたり、タイトルや制作者の表記で順序を決めれば良い。なお、1つのコンテンツ集合に含まれるコンテンツ全てをプレイリストに入れる必要はなく、1つのプレイリストに入れるコンテンツ数を制限しても良い。また、コンテンツ集合に含まれるコンテンツの再生順序を、サーバ装置1の運営者または端末装置2の利用者に決めさせても良い。
次にプレイリスト作成部16は、再生順序と、コンテンツの取得情報を関連付けてコンテンツ集合毎のプレイリストを作成し、プレイリスト格納部10に格納する(S1520)。プレイリスト格納部10におけるプレイリストIDは、プレイリスト構造データ格納部11におけるプレイリストIDと同じであり、音響分析部14で用いた分類カテゴリに対応したものである。以上がプレイリスト作成処理である。
従って、実施例1のサーバ装置1では、コンテンツ制作者またはサーバ装置1の運営者や管理者がプレイリストを作成する必要があったが、実施例2のサーバ装置1aによれば、音響分析部14やプレイリスト作成部16等により、人手を介することなく、自動的にプレイリストを作成することができる。
このように、本実施例2によれば、実施例1の効果に加え、さらに、コンテンツ配信に関わる工数やコストを大幅に削減することができる。また、実施例1と実施例2を合わせることにより、人手により作成されたプレイリストと、音響分析により自動的に作成されたプレイリストを併用することも可能であり、より多様で多面的なプレイリストを提供することが可能になる。
実施例3.
次に本発明の実施例3を説明する。
図26は、実施例3のシステム全体の構成を示すブロック図である。
本実施例におけるサーバ装置として、図2に示す実施例1のサーバ装置1と、図22に示す実施例2のサーバ装置1aのどちらでも用いることができるが、説明の簡略化のため、以下ではサーバ装置1と記述する。また、サーバ装置の動作は、実施例1または実施例2と同じであるので、説明を省略する。
本実施例では、ネットワーク3を介してサーバ装置1に接続されている端末装置2aに、再生装置4がインタフェース5を介して接続されている。端末装置2aと再生装置4との接続は、随時切り離すことが可能になっている。インタフェース5としては、有線/無線LANや、USB、IEEE1394等の各種インタフェースを用いることができる。またメモリカード等を用いて端末装置2aと再生装置4とのデータ交換を行って、インタフェース5の代わりとしても良い。
図27は、端末装置2aの構成例を示すブロック図である。
図27において、端末装置2aは、プレイリスト記憶部30と、プレイリスト構造データ記憶部31と、コンテンツ取得部32aと、送受信部34と、制御部35aと、インタフェース制御部38と、コンテンツ記憶部50とを有しており、入力装置40と、表示装置41が接続されている。
図28は、再生装置4の構成例を示すブロック図である。
図28において、再生装置4は、プレイリスト記憶部30bと、プレイリスト構造データ記憶部31bと、コンテンツ取得部32bと、再生部33bと、制御部35bと、状態記憶部36bと、インタフェース制御部38bと、コンテンツ記憶部50bを有しており、入力装置40bと、表示装置41bと、音声出力装置42bが接続されている。なお、再生装置4と、入力装置40bおよび表示装置41bおよび音声出力装置42bとを1つの装置として構成し、携帯型の再生装置としても良い。
図29は、電源投入直後に、端末装置2aの制御部35aが表示装置41に表示するメニュー画面291の一例を示している。
図29に示すメニュー画面291では、「制御用データのダウンロード」と、「コンテンツのダウンロード」と、「再生装置への転送」の3種類のメニューを表示している。左側の矢印292は、カーソルの位置を表わしている。利用者が入力装置40を使って所望のメニュー項目にカーソルを合わせ、決定ボタン293を押すことにより、各メニュー項目に対応した処理が開始される。
ここで、利用者が「制御用データのダウンロード」メニュー項目を選択した場合の端末装置2aおよびサーバ装置1の動作は、実施例1と同様である。
図30は、利用者がメニュー画面131から「コンテンツのダウンロード」のメニュー項目を選択した場合の端末装置2およびサーバ装置1におけるコンテンツのダウンロード処理を示すフローチャートである。
まず、端末装置2aの制御部35aが、プレイリスト格納部30を読み出して、コンテンツダウンロード処理を行っていない未処理のプレイリストがあるか否か判定する(S1600)。プレイリスト格納部30には、プレイリスト毎にダウンロード処理を行ったか否かを示すフラグが記録されている。
次に、端末装置2aの制御部35aが、未処理のプレイリストを1つ選択する(S1610)。
そして、端末装置2aのコンテンツ取得部32aが、S1610で選択されたプレイリストに従ってコンテンツを順次取得し、コンテンツ記憶部50に記憶する(S1620)。具体的には、プレイリスト格納部30を参照しながら、該当するプレイリストに記述されている再生順序に従って、コンテンツの取得情報を読み出し、送受信手段34を介してコンテンツを取得し、コンテンツ記憶部50に記憶する。コンテンツの配信ファイルは、サーバ装置1、あるいは端末装置2からアクセス可能な他の装置に配置されている。
次に、端末装置2aのコンテンツ取得部32aが、S1610で選択されたプレイリストに記述されている全てのコンテンツを取得したか否かを判定する(S1630)。全て取得した場合はS1640に進み、そうでない場合はS1620に戻り、次のコンテンツを取得する。
S1640では、端末装置2aの制御部35aが、プレイリスト格納部30に記録されているダウンロード処理済みを示すフラグを設定する。そして、S1600に戻って処理をくり返す。以上がコンテンツのダウンロード処理である。なお、端末装置2のコンテンツ記憶部50にあらかじめコンテンツを記憶させておけば、コンテンツのダウンロード処理を省略しても良い。
図31は、利用者が「再生装置へ転送」メニュー項目を選択した場合の端末装置2aおよび再生装置4の動作を示すフローチャートである。
まず、端末装置2aのインタフェース制御部38は、インタフェース5を介して再生装置4と接続され、データを受信できる状態にあるか否かチェックする(S1100)。データ受信不可状態であれば(S1100“YES”)、警告メッセージ等を表示装置41に表示し(S1110)、その後の処理を終了する。
これに対し、データ受信可能あれば(S1100“YES”)、インタフェース制御部38は、プレイリスト構造データ記憶部31からプレイリスト構造データを読み出すと共に、プレイリスト記憶部30からプレイリストを読み出し、インタフェース5を介して再生装置4に送信する(S1120)。
すると、再生装置4では、インタフェース制御部38bが、端末装置2aからのプレイリスト構造データを受信し、プレイリスト構造データ記憶部31bに記憶する一方、プレイリストを受信してプレイリスト記憶部30bに記憶する(S1130)。この際、必要あれば、インタフェース制御部38bまたは制御部35bは、プレイリストに記述されているコンテンツの取得情報によりコンテンツ記憶部50bに記憶されているコンテンツを参照できるように、コンテンツの取得情報を変更する。なお、図28に示す場合、取得情報は、再生装置4のコンテンツ取得部32bが同一装置のコンテンツ記憶部50bからコンテンツを読み出すための情報なので、必ずしもURL等を使う必要はなく、再生装置4でコンテンツを一意に識別できるコンテンツIDやファイルのパス名などを用いても良い。
次に、端末装置2aのインタフェース制御部38は、コンテンツ記憶部50に格納されているコンテンツをインタフェース5を介して再生装置4に送信する(S1140)。
すると、再生装置4では、インタフェース制御部38bがそのデータを受信し、再生装置4のコンテンツ記憶部50bに記憶し(S1150)、次いで端末装置2に転送完了メッセージを送信する(S1160)。
端末装置2aでは、再生装置4からの転送完了メッセージを受信すると(S1170)、処理を終了する。
以上が端末装置2aから再生装置4への転送処理である。転送処理が完了すると、利用者は適宜、再生装置4をインタフェース5から切り離して再生動作を開始することができる。
再生装置4の再生動作は、図17のフローチャートに示した実施例1における端末装置2の再生動作と同様である。すなわち、再生装置4のプレイリスト記憶部30bと端末装置2のプレイリスト記憶部30、再生装置4のプレイリスト構造データ記憶部31bと端末装置2のプレイリスト構造データ記憶部31、再生装置4のコンテンツ取得部32bと端末装置2のコンテンツ取得部32、再生装置4の再生部33bと端末装置2の再生部33、再生装置4の制御部35bと端末装置2の制御部35、再生装置4の状態記憶部36bと端末装置2の状態記憶部36は、各々同じ動作を行う。ただし、再生装置4のコンテンツ取得部32bの動作は、端末装置2のコンテンツ取得部32の動作と異なり、再生時に使用するコンテンツは既にコンテンツ記憶部50bに記憶されているので、コンテンツ記憶部50bからコンテンツを取得すれば良い。サーバ装置1やネットワーク3上の他の装置からコンテンツを取得する必要はない。
このように、本実施例3によれば、ネットワーク3を介してサーバ装置1と直接接続できない再生装置4においても、通信機能を有する端末装置2aを介してサーバ装置1と接続して、プレイリスト構造データ、プレイリスト、コンテンツなどをダウンロードすることにより、複数のプレイリストを簡単に切り替えながらコンテンツの再生ができるので、利用者のその時々の気分に合ったコンテンツを再生できる。
実施例4.
次に、本発明の実施例4を説明する。
図32は、実施例4のサーバ装置1cの構成例を示すブロック図である。
実施例4のサーバ装置1cは、プレイリスト格納部10と、プレイリスト構造データ格納部11と、送受信部12と、制御部13cと、コンテンツ取得部32cと、状態記憶部36cとを有しており、入力装置20と、表示装置21が接続されている。ここで、プレイリスト格納部10、プレイリスト構造データ格納部11および送受信部12は、実施例1のものと同じ動作である。また、コンテンツ取得部32cおよび状態記憶部36cは、各々実施例1における端末装置2のコンテンツ取得部32および状態記憶部36と同様な動作を行う。また、本実施例4では省略するが、実施例2と同様にサーバ装置1cが音響分析部14、プレイリスト作成部16を持つようにしても良い。また、実施例2と同様に、サーバ装置1cがコンテンツを格納するコンテンツ格納手段を備えていても良い。
図33は、実施例4の端末装置2cの構成例を示すブロック図である。
実施例4の端末装置2cは、再生部33と、送受信部34と、制御部35cと、遷移コマンドデータ記憶部39とを有しており、入力装置40と、表示装置41と、音声出力装置42が接続されている。本実施例4においては、端末装置2cはプレイリストとプレイリスト構造データを記憶しなくても良い。
遷移コマンドデータ記憶部39には、図9または図11に示すような遷移コマンドデータが記憶されている。また、遷移コマンドデータ記憶部39には、遷移コマンドデータに対応するプレイリスト構造データIDが記憶されている。これらのデータは、実施例1のプレイリストダウンロード処理と同様に、所定のメニュー選択によりサーバ装置1cから端末装置2cに送信するようにしても良いし、再生処理に先立ってこれらのデータをサーバ装置1cから送信するようにしても良い。ただし、実施例1とは異なり、プレイリストおよびプレイリスト構造データは送信する必要はなく、遷移コマンドデータとプレイリスト構造データIDを制御用データとしてサーバ装置1cから端末装置2cに送信すれば良い。また、あらかじめ端末装置2cに遷移コマンドデータとプレイリスト構造データIDを記憶させておいても良い。更に、サーバ装置1cのプレイリスト構造データ格納部11において、1種類のプレイリスト構造データのみ格納されている場合は、遷移コマンドデータ記憶部39にプレイリスト構造データIDを記憶させること、および後述するS1200におけるプレイリスト構造データIDの送信を省略しても良い。
次に動作を説明する。
図34は、実施例4のサーバ装置1cおよび端末装置2cにおけるコンテンツ再生処理を示すフローチャートである。
再生処理は、利用者が入力装置40を介して端末装置2cに所定の指示を与えることにより開始される。
まず、端末装置2cの制御部35cは、遷移コマンドデータ記憶部39からプレイリスト構造データIDを読み出し、これを再生開始メッセージに含めて、送受信部34を介してサーバ装置1cに送信する(S1200)。
すると、サーバ装置1cでは、制御部13cが送受信部12を介して再生開始メッセージを受信して(ステップS1210)、再生開始メッセージに含まれるプレイリスト構造データIDを状態記憶部36cに記憶する。
次に、制御部13cは、プレイリスト構造データ格納部11から、状態記憶部36cに記憶されているプレイリスト構造データIDに対応するプレイリスト構造データを読み出し、そのプレイリスト構造データに含まれるプレイリストIDの中から再生に使用するプレイリストIDを1つ初期値として選択して、それを状態記憶部36cに記憶する(S1220)。プレイリスト構造データが複数の階層で構成されている場合は、例えば最下位の階層のプレイリストIDを選択する。
次に、コンテンツ取得部32cが、状態記憶部36cに記憶されているプレイリストIDのプレイリストに従って、コンテンツを取得する(S1230)。具体的には、プレイリスト格納部10を参照しながら、該当するプレイリストに記述されている再生順序に従って、コンテンツの取得情報を読み出し、送受信手段12を介してコンテンツ(配信ファイル)を取得し、コンテンツ取得部32cに一時的に記憶する。コンテンツ(配信ファイル)は、サーバ装置1cのコンテンツ格納手段(図32には不図示)またはサーバ装置1からアクセス可能な他の装置に配置されている。なお、サーバ装置1cがコンテンツ格納手段を持つ場合には、この取得情報は必ずしもURL等である必要はなく、コンテンツ格納手段内でコンテンツを一意に識別できるコンテンツIDまたはファイルのパス名などを取得情報として用いても良い。
次に、制御部13cは、コンテンツ取得部32cに記憶されているコンテンツ(配信ファイル)を読み出し、送受信部12を介して端末装置2cにストリーミング送信する(S1240)。コンテンツ(配信ファイル)には、コンテンツの情報が記述されたヘッダ61とコンテンツ本体62とが含まれている。
すると、端末装置2cでは、制御部35cが送受信部34を介してコンテンツを受信し、再生部33がデコード等の必要な処理を行った後に、表示装置41および音声出力装置42に出力してコンテンツを再生する(S1250)。サーバ装置1cはストリーミング送信しているので、端末装置2cは配信ファイル全体を受信しなくてもコンテンツの再生を開始することが可能である。
次に、制御部35cは、受信したコンテンツのヘッダ61に含まれるコンテンツの情報を表示装置41に表示すると共に、遷移コマンドデータ記憶部39を読み出して、プレイリストを変更するための遷移コマンドを表示装置41に表示する(S1260)。遷移コマンドデータ記憶部39には図9または図11に示すような形式で遷移コマンドデータが格納されているので、コマンド1〜コマンドKに対応した表示メッセージを読み出して表示する。表示画面は、上述した図18と同様であり、この表示画面を使用しての利用者の操作も図18の場合と同じであるので省略する。
次に、制御部35cは、状態変化があったか否かを判定する(S1270)。状態変化とは、1つのコンテンツの再生が終了したか、遷移コマンドが入力されたか、再生中止コマンドが入力されたかのいずれかである。
そして、状態変化があった場合のみ(S1270“YES”)、制御部35cは、状態変化の種類に応じた状態変化メッセージ、すなわち、再生終了メッセージ、再生中止メッセージ、遷移メッセージのいずれかを送受信部34を介してサーバ装置1cに送信する(S1280)。遷移メッセージの場合は、入力された遷移コマンドに対応した、階層、方向、変化量の情報もあわせて送信する。
すると、サーバ装置1cでは、制御部13cが、送受信部12を介して状態変化メッセージを受信し(S1290)、受信した状態変化メッセージが、再生終了メッセージであるか否かを判定する(S1300)。再生終了メッセージの場合(S1300“YES”)、S1230の処理に戻り、コンテンツ取得部32cに次のコンテンツを取得させる。
これに対し、再生終了メッセージでない場合(S1300“NO”)、制御部13cは、再生中止メッセージであるか否かを判定し(S1310)、再生中止メッセージの場合は(S1310“YES”)、コンテンツ再生処理を終了する。
これに対し、再生中止メッセージでない場合は(S1310“NO”)、遷移メッセージの場合であるので、制御部13cは、遷移メッセージに含まれる「階層」、「方向」、「変化量」の情報と、S1210でサーバ装置1cの状態記憶部36cに記憶されたプレイリスト構造データIDに対応するプレイリスト構造データに基づいてプレイリストを変更し(S1320)、新たなプレイリストのプレイリストIDを状態記憶部36cに記憶し、S1230に戻り、以上の処理を繰り返す。なお、S1280で遷移メッセージを送信する際に、階層、方向、変化量の情報を送信する代わりに、遷移コマンドID(コマンド1〜コマンドKのいずれか)を送信し、S1320においてサーバ装置1cのプレイリスト構造データ格納部11に格納されている遷移コマンドデータと送信された遷移コマンドIDを照合し、階層、方向、変化量の情報を特定した上で、プレイリストを変更するようにしても良い。
ここで、S1210でサーバ装置1cの状態記憶部36cに記憶されたプレイリスト構造データIDに対応するプレイリスト構造データが、図5に示した「順位」を用いた形式または図6に示した「座標値」を用いた形式である場合、S1320における遷移メッセージに応じたプレイリストの変更処理は、図20に示す実施例1の処理とほぼ同じで、図20に示すS900〜S950の処理を行った後、選定したプレイリストのプレイリストIDを状態記憶部36cに記憶する。ただし実施例1とは異なり、端末装置2(2c)ではなく、サーバ装置1cの各部により処理が行われる。
プレイリスト構造データが、図7に示す「類似度」を用いた形式である場合のS1320の詳細も、図21に示す実施例1の処理とほぼ同じであり、図21に示すS1500〜S1520の処理を行った後、選定したプレイリストのプレイリストIDを状態記憶部36cに記憶する。この場合も実施例1とは異なり、端末装置2(2c)ではなく、サーバ装置1cの各部により処理が行われる。
その他の処理は、上記実施例1〜3と同様である。
このように、本実施例4によれば、サーバ装置1cがストリームでコンテンツを配信する場合、端末装置2cではプレイリストおよびプレイリスト構造データを格納したり、プレイリストに従ってコンテンツを取得する必要がないので、安価なコストで端末装置2cを実現することができる。また、サーバ装置1cまたはネットワーク3上の他の装置に格納されたコンテンツを対象にして、様々なプレイリストを直感的な操作で切り替えながらコンテンツを再生できるので、コンテンツ購入前にサーバ装置またはネットワーク3上の他の装置の提供する大量のコンテンツを試聴させる用途などにも適している。
なお、上記実施例4では、端末装置2cにプレイリスト構造データ記憶部31を設けず、サーバ装置1cからは端末装置2cにプレイリスト構造データを送信していないが、本発明ではこれに限定するものではない。例えば、実施例1と同様に、履歴コマンドデータ記憶部39に代えてプレイリスト構造データ記憶部31を端末装置2cに設け、サーバ装置1cから端末装置2cにプレイリスト構造データと遷移コマンドデータを送信した上で、実施例1と同様にS1220およびS1320に相当する処理を端末装置2cで行うと共に、S1230のコンテンツ選出処理をサーバ装置1cで行うようにしても良い。すなわち、端末装置2cにおいて、プレイリスト構造データ記憶部31に記憶されたプレイリスト構造データに基づき選出したプレイリストIDを、端末装置2cからサーバ装置1cに送信すると共に、サーバ装置1cにおいて、プレイリスト格納部10を参照しながら、受信したプレイリストIDに対応するプレイリストに従ってコンテンツを取得し、それを端末装置2cに送信するようにしても良い。
また、上記実施例1〜4では、サーバ装置1またはネットワーク3上の他の装置が、コンテンツも配信ファイルとして配信するように説明したが、本発明では、これに限らず、コンテンツはCDやDVD、BD等の光ディスク等のメディアによって端末装置に提供するようにしても、さらに、放送装置によって放送によって提供しても勿論よい。