以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
まず、本発明の一実施形態にかかるコンテンツ授受システムについて説明する。図1は、本発明の一実施形態にかかるコンテンツ授受システム10について説明する説明図である。以下、図1を用いて本発明の一実施形態にかかるコンテンツ授受システム10について説明する。
図1に示したように、本発明の一実施形態にかかるコンテンツ授受システム10は、情報処理装置100と、携帯端末200と、を含んで構成される。図1に示したコンテンツ授受システム10は、情報処理装置100と携帯端末200との間でコンテンツをやり取りするものである。例えば、コンパクトディスク(CD)から情報処理装置100に取り込んだ楽曲を携帯端末200に転送したり、携帯端末200で楽曲配信事業者等のサーバから通信ネットワーク経由でダウンロードした楽曲を、情報処理装置100にバックアップしたりすることができる。情報処理装置100と携帯端末200とは、例えばUSB(Universal Serial Bus)ケーブルやIEEE1394に準拠したケーブル等で接続することができる。
情報処理装置100は、例えばパーソナルコンピュータ(PC)のような、内部に各種情報を格納して使用する機器である。本実施形態においては、情報処理装置100と携帯端末200との間でコンテンツの授受を行ったり、情報処理装置100から携帯端末200に記憶されているコンテンツの管理(例えばコンテンツの編集、削除等)を行ったりする。情報処理装置100の内部構成については後に詳述する。
携帯端末200は、例えば携帯電話、携帯型ゲーム機、携帯型音楽再生装置等のように、携帯して持ち運ぶための小型の端末である。本実施形態では、携帯端末200として携帯電話を例に挙げて説明する。携帯端末200の内部構成については後に詳述する。
以上、本発明の一実施形態にかかるコンテンツ授受システム10について説明した。次に、本発明の一実施形態にかかる情報処理装置100の構成について説明する。
図2は、本発明の一実施形態にかかる情報処理装置100の構成について説明する説明図である。以下、図2を用いて本発明の一実施形態にかかる情報処理装置100の構成について説明する。
図2に示したように、本発明の一実施形態にかかる情報処理装置100は、CPU(Central Processing Unit)102と、ROM(Read Only Memory)104と、RAM(Random Access Memory)106と、内部バス108と、入出力インタフェース110と、表示部112と、入力部114と、音声出力部115と、HDD(Hard Disk Drive)116と、ドライブ117と、ネットワークインタフェース118と、外部インタフェース119と、を含んで構成される。
CPU102は、数値計算や情報処理、機器制御等を行うものであり、ROM104に格納されたプログラムや、RAM106に格納されたデータを順次読み出すことによって、また、例えば情報処理装置100のユーザが入力部114から入力した指令に対応する信号や、ネットワークインタフェース118を介して外部の機器から送信された信号に基づいて、数値計算や情報処理、機器制御を行う。
ROM104は、CPU102が数値計算や情報処理、機器制御等を行う際に使用するプログラムや演算用のパラメータのうち、基本的に変更されず固定のデータを格納するものである。また、RAM106は、CPU102が数値計算や情報処理、機器制御等を行う際に使用するプログラムや演算用のパラメータのうち、基本的に各種処理の際に適宜変化するデータを格納するものである。
内部バス108は、情報処理装置100の内部でデータの交換を行う際の経路である。CPU102、ROM104、RAM106は、内部バス108によってそれぞれ相互に接続されている。また、内部バスは入出力インタフェース110とも接続されており、入出力インタフェース110を介して送られる、入力部114から入力した指令に対応する信号や、ネットワークインタフェース118を介して情報処理装置100とネットワークで接続される他の機器から送信された信号をCPU102に渡す。
入出力インタフェース110は、情報の入出力のやり取りの仲介を行うものである。入出力インタフェース110は、表示部112、入力部114、音声出力部115、ドライブ117、ネットワークインタフェース118および外部インタフェース119に接続される。また入出力インタフェース110は、上述のように内部バス108とも接続されており、入力部114から入力した指令に対応する信号や、ネットワークインタフェース118を介して情報処理装置100とネットワークで接続される他の機器から送信された信号を、内部バス108を介してCPU102に渡す。
表示部112は、入力部114から入力された内容や、CPU102で数値計算や情報処理、機器制御等を行った結果等に関する情報を表示するものである。表示部112は、例えば液晶表示装置や有機EL表示装置等からなる。
入力部114は、例えば情報処理装置100のユーザが、CPU102に対して各種の指令を入力する際に操作されるものである。入力部114としては、例えばボタン、キーボードやタッチパッド等からなる。
音声出力部115は、情報処理装置100において音声の出力を伴うような処理を実行した際に、当該処理において発生する音声を出力するものである。HDD116は、内部にハードディスクを設け、設けられたハードディスクを駆動し、CPU102によって読み出されて実行されるプログラムや情報(例えば音声ファイルや動画ファイルなど)を記録・再生するものである。ドライブ117は、持ち運び可能な記録媒体が装着され、装着された記録媒体と情報処理装置100との間でデータの授受を行うものである。持ち運び可能な記録媒体として、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等を用いてもよく、ドライブ117はこれらの記録媒体を読み取ることができるような装置を用いることができる。
ネットワークインタフェース118は、情報処理装置100とネットワークで接続される他の機器、例えば携帯端末200との間で無線または有線によって情報の授受を行うものである。外部インタフェース119は、情報処理装置100に接続して使用する周辺機器、例えば携帯端末200との間で情報のやり取りの仲介を行うものである。外部インタフェース119として、例えばUSB(Universal Serial Bus)ポート等からなる。
以上、本発明の一実施形態にかかる情報処理装置100の構成について説明した。次に、本発明の一実施形態にかかる情報処理装置100の機能構成について説明する。
図3は、本発明の一実施形態にかかる情報処理装置100の機能構成について説明する説明図である。以下、図3を用いて本発明の一実施形態にかかる情報処理装置100の機能構成について説明する。
図3に示したように、本発明の一実施形態にかかる情報処理装置100は、ユーザインタフェース(UI)部120と、アプリケーション制御部122と、自動転送制御部124と、手動転送制御部126と、転送候補抽出部128と、転送スケジューラ部130と、コンテンツ管理部132と、移動機データベース管理部134と、移動機転送管理部136と、コンテンツデータベース138と、移動機データベース140と、コンテンツ変換管理部142と、移動機転送処理部144と、コンテンツファイル146と、コンテンツ変換部148と、コンテンツ転送部150と、を含んで構成される。
ユーザインタフェース(UI)部120は、ジュークボックスプログラムに、情報処理装置100に保存されているアルバム、楽曲、動画、プレイリストの一覧および携帯端末200に記憶されているアルバム、楽曲、動画、プレイリストの一覧を表示部112に表示するものである。ユーザの指示に従って、ユーザインタフェース部120によって表示部112に表示された一覧からユーザが選択した楽曲を再生したり、携帯端末200に転送したりする。なお、ユーザインタフェース部120によって表示部112に表示されるジュークボックスプログラムの表示内容については後述する。
アプリケーション制御部122は、ユーザインタフェース部120によって表示部112に表示された画面に対するユーザの操作内容を受け取り、ジュークボックスプログラムの全体的な動作を制御するものである。
自動転送制御部124は、情報処理装置100と携帯端末200との間でコンテンツを自動的に転送する場合において、コンテンツの転送を制御するものである。情報処理装置100と携帯端末200との間でコンテンツを自動的に転送する場合には、後述の転送候補抽出部128において抽出されたコンテンツの転送候補を受け取り、受け取った転送候補にかかるコンテンツの情報を、転送スケジューラ部130に渡すことによって行う。
手動転送制御部126は、情報処理装置100と携帯端末200との間でコンテンツを手動で転送する場合において、コンテンツの転送を制御するものである。情報処理装置100と携帯端末200との間でコンテンツを手動で転送する場合には、ユーザがジュークボックスプログラム上で転送するコンテンツや、複数のコンテンツが包括されたプレイリストを選択し、選択したコンテンツやプレイリストの情報を転送スケジューラ部130に渡すことによって行う。
転送候補抽出部128は、情報処理装置100と携帯端末200との間でコンテンツを自動的に転送する場合において、情報処理装置100から携帯端末200に転送するコンテンツの候補を抽出するものである。転送するコンテンツの候補の抽出は、後述するコンテンツデータベース138および移動機データベース140に格納されているデータの内容を比較することによって行う。
転送スケジューラ部130は、転送候補のコンテンツやプレイリストの情報を自動転送制御部124および手動転送制御部126から受け取り、受け取った情報を基に、一つずつコンテンツを順に移動機転送管理部136に引き渡すものである。
コンテンツ管理部132は、ジュークボックスプログラムで再生するコンテンツや、ジュークボックスプログラムで作成されたプレイリストを管理するものである。コンテンツ管理部132は、転送候補抽出部128からコンテンツの転送候補の抽出指示を受けると、コンテンツ管理部132はコンテンツデータベース138からコンテンツやプレイリストの情報を取得し、取得した情報を転送候補抽出部128に渡す。
移動機データベース管理部134は、移動機(例えば、携帯端末200)に記憶されているコンテンツの一覧のキャッシュを管理するものである。移動機に記憶されているコンテンツの一覧のキャッシュは移動機データベース140に格納されている。情報処理装置100と携帯端末200との間でコンテンツを自動的に転送する場合は、予め携帯端末200に記憶されているコンテンツの一覧を移動機データベース140にキャッシュとして保持しておき、移動機データベース140から情報を取得することにより、転送候補の抽出を高速に行うことができる。携帯端末200に記憶されているコンテンツの一覧を、移動機データベース140にキャッシュとして保持するために取得するタイミングは、例えば情報処理装置100に携帯端末200を接続し、ユーザがジュークボックスプログラムを情報処理装置100で実行した時点で行ってもよい。
移動機転送管理部136は、移動機への出力処理や移動機からの入力処理をとりまとめるものである。情報処理装置100に移動機が接続されると、接続された移動機に含まれている曲一覧を読み出して、読み出した内容を移動機データベース管理部134へ渡す。内容を渡された移動機データベース管理部134は、移動機データベース140に移動機転送管理部136が読み出した内容を格納することで、移動機に記憶されている曲一覧のキャッシュを作成する。また、移動機転送管理部136は転送スケジューラ部130から移動機へのコンテンツ転送指示を受け取り、指定された楽曲・プレイリストを移動機へ転送する。
コンテンツデータベース138は、コンテンツに関するデータを格納するデータベースである。コンテンツに関するデータとしては、コンテンツに紐付けて記録されているコンテンツを識別するコンテンツ識別情報、例えば、コンテンツの種別、コンテンツの題名、コンテンツが楽曲である場合にコンテンツが含まれているアルバム名、アーティスト名、作者名、コンテンツが格納される場所、プレイリスト名等がある。コンテンツデータベース138に格納されるデータはコンテンツファイル146と対応付けられている。コンテンツファイル146は楽曲や映像等のコンテンツが記録されているファイルの総称を指し、例えばHDD116等に格納されている。
移動機データベース140は、移動機の曲一覧の内容を格納して管理するものである。移動機との通信速度が遅い場合には、移動機との間のコンテンツや情報の授受に時間を要してしまう場合がある。そのため、情報処理装置100に移動機が接続された時点で、接続された移動機に含まれている曲一覧の情報を取得し、情報処理装置100でキャッシュするために、移動機データベース140を保持している。
コンテンツ変換管理部142は、情報処理装置100に記憶されているコンテンツを、移動機で再生できる形式に変換するために、コンテンツ変換部148を制御するものである。コンテンツ変換部148は、コンテンツ変換管理部142からの制御に基づいて、情報処理装置100に記憶されているコンテンツを、移動機で再生できる形式へ変換するものである。なお、コンテンツ変換部148は、例えば、いわゆるプラグイン形式で情報処理装置100に格納されていてもよい。
移動機転送処理部144は、移動機へのコンテンツの転送を処理するものである。移動機へ転送するコンテンツは、自動転送制御部124または手動転送制御部126で決定される。コンテンツ転送部150は、移動機転送処理部144からの指示により、移動機へのコンテンツの転送を実行するものである。なお、コンテンツ転送部150は、例えば、いわゆるプラグイン形式で情報処理装置100に格納されていてもよく、プラグイン形式で格納される場合には、移動機の機種毎にプラグインを設けていてもよい。
図4は、本発明の一実施形態にかかるコンテンツデータベース138の構造の一例を示す説明図であり、図5は、本発明の一実施形態にかかる移動機データベース140の構造の一例を示す説明図である。
図4に示したコンテンツデータベース138の構造において、“mbjPackage”テーブルはプレイリストの情報が格納されるテーブルであり、“t_containment”テーブルはプレイリストと楽曲とを関連付けるテーブルであり、“mbjContent”テーブルは楽曲の情報が格納されるテーブルである。
“mbjPackage”テーブルには、ID列とタイトル列とが含まれる。ID列はプレイリストを管理するために一意に規定すされるデータが格納され、タイトル列には、ユーザが任意に設定可能なプレイリストの名称が格納される。
“mbjContent”テーブルには、ID列、曲名列、アルバム名列、トラック番号列、ファイル名列およびContentID列が含まれる。ID列は、コンテンツを管理するために一意に規定されるデータが格納され、曲名列には楽曲の曲名が格納され、アルバム名列には当該楽曲が含まれているアルバムの名称が格納され、トラック番号列には当該アルバムにおけるトラック番号が格納されている。トラック番号は1から始まる数字であり、アルバム単位で番号が順次割り当てられる。また、ファイル名列には楽曲のファイル(コンテンツファイル146)が保存されている場所をフルパスで記述したものが格納され、ContentID列には楽曲に一意に付与されるIDが格納される。
また、“mbjContent”には、コンテンツを情報処理装置100に登録した(保存した)登録日時を格納するための登録日時列を設けてもよい。
“t_containment”テーブルは、“mbjPackage”テーブルに格納されているデータと“mbjContent”テーブルに格納されているデータとを結びつける中間テーブルの役割を有する。“t_containment”テーブルは、ID列、ParentId列、ChildId列およびOrder列を含んでいる。ID列には一意に規定されるデータが格納されており、ParentId列には“mbjPackage”テーブルのID列に対応するデータが格納されており、ChildId列には“mbjContent”テーブルのID列に対応するデータが格納されている。また、Order列にはプレイリストにおける楽曲の曲順の情報が格納されている。曲順は1から始まる数字であり、プレイリスト単位で番号が順次割り当てられる。
一方、図5に示した移動機データベース140の構造において、“mbjPdMirror”テーブルは移動機に記憶されているコンテンツの情報を格納するテーブルである。“mbjPdMirror”テーブルは、ID列、種別列、曲名列、アルバム名列、ContentID列、existdOnPd列およびnewContent列を含む。
ID列は、移動機に記憶されているコンテンツを管理するために一意に規定されるデータが格納されており、種別列には、その行がどのコンテンツなのかを識別する情報が格納されている。本実施形態においては、その行が楽曲であれば“mbjContent”というデータが格納され、その行がプレイリストであれば“mbjPackage”というデータが格納される。曲名列には楽曲の曲名が格納され、アルバム名列には当該楽曲が含まれているアルバムの名称が格納され、ContentID列にはコンテンツに一意に付与されるIDが格納される。
また、existdOnPd列には、当該コンテンツが移動機上に実際に存在するか否かを現すための情報が格納され、newContent列には、当該コンテンツが移動機上で新規に生成されたものか否かを現すための情報が格納される。
もちろん、コンテンツデータベース138や移動機データベース140には、図4および図5に示したテーブル以外のテーブルを含んでいてもよい。また、コンテンツデータベース138のテーブル構造は、プレイリストと楽曲とが対応付けられるような構成であれば図4に示した例に限られないことは言うまでもない。
以上、本発明の一実施形態にかかる情報処理装置100の機能構成について説明した。次に、本発明の一実施形態にかかる携帯端末200の構成について説明する。
図6は、本発明の一実施形態にかかる携帯端末200の構成について説明する説明図である。以下、図6を用いて本発明の一実施形態にかかる携帯端末200の構成について説明する。
図6に示したように、本発明の一実施形態にかかる携帯端末200は、CPU202と、ROM204と、RAM206と、内部バス208と、入出力インタフェース210と、表示部212と、入力部214と、音声出力部215と、音声入力部216と、フラッシュメモリ217と、ネットワークインタフェース218と、外部インタフェース219と、を含んで構成される。
ここで、CPU202、ROM204、RAM206、内部バス208、入出力インタフェース210、表示部212、入力部214、音声出力部215、音声入力部216、ネットワークインタフェース218、および外部インタフェース219は、図2に示した情報処理装置100における、CPU102、ROM104、RAM106、内部バス108、入出力インタフェース110、表示部112、入力部114、音声出力部115、ネットワークインタフェース118、および外部インタフェース119と同様の機能を有するため、詳細な説明は省略する。なお、携帯端末200におけるこれらの構成要素は、携帯して使用するという性質上、情報処理装置100におけるこれらの構成要素と比較して機能面での制限を有している場合がある。
フラッシュメモリ217は、書き換え可能なメモリであり、RAM206とは異なり、電源を切ってもデータが消去されない不揮発性のメモリである。従って、フラッシュメモリ217に電話帳のデータ、携帯端末200で受信したメール、通信ネットワーク経由でダウンロードしたり情報処理装置100から転送されたりしたコンテンツの保存に適している。
なお、図6には図示していないが、携帯端末200には、メモリースティック(商標)のような小型の記録媒体を装填可能なスロットを設けていてもよい。スロットに小型の記録媒体を装填することで、フラッシュメモリ217以外にもコンテンツを格納することができる。
以上、図6を用いて本発明の一実施形態にかかる携帯端末200の構成について説明した。次に、本発明の一実施形態にかかるコンテンツ授受システム10で用いるために情報処理装置100に表示する画面について説明する。
図7、図8および図9は、本発明の一実施形態にかかるコンテンツ授受システム10で用いるために情報処理装置100の表示部112に表示される画面の一例を示す説明図である。以下、図7、図8および図9を用いて本発明の一実施形態にかかるコンテンツ授受システム10で用いるために情報処理装置100に表示する画面について説明する。
図7は、本発明の一実施形態にかかるジュークボックスプログラム160を情報処理装置100で実行した場合に、表示部112に表示される画面について示したものである。ジュークボックスプログラム160は、例えばHDD116にプログラム本体が格納され、当該プログラムをRAM106にロードして、CPU102からRAM106にロードされたプログラムを順次実行することによって実行される。本発明の一実施形態にかかるジュークボックスプログラム160によって、コンテンツ操作部162と、サイドバー164と、PCコンテンツ表示部166と、を含んだ情報が表示部112に表示される。
コンテンツ操作部162は、PCコンテンツ表示部166に表示されているコンテンツに対して、コンテンツの再生、一時停止、停止、再生中のコンテンツの音量の調整、再生位置の調整、コンテンツのスキップ、繰り返し再生、シャッフル再生等を指示するものである。また、コンテンツ操作部162には、再生中のコンテンツのジャケットや、再生中のコンテンツに関連する画像等を表示してもよい。
サイドバー164は、PCコンテンツ表示部166へのコンテンツ表示を切り替えたり、情報処理装置100と携帯端末200との間のコンテンツの授受を実行したりするものである。例えば、サイドバー164において「ライブラリ」の「ミュージックライブラリ」をマウスのクリック等で選択すると、PCコンテンツ表示部166には情報処理装置100で再生が可能な、音楽に関するコンテンツが一覧表示される。「ミュージックライブラリ」以下の「ミュージック」を選択すると、音楽に関するコンテンツの中から、MP3(MPEG Audio Layer−3)やAAC(Advanced Audio Coding)、ATRAC(Adaptive Transform Acoustic Coding)等の圧縮方式で符号化された楽曲ファイルが抽出されてPCコンテンツ表示部166に表示される。もちろん、種別を問わずに全てのコンテンツを一覧表示するようにサイドバー164から選択することもできる。
PCコンテンツ表示部166は、情報処理装置100で再生が可能なコンテンツの一覧が表示されるものである。PCコンテンツ表示部166に表示されるコンテンツの一覧は、サイドバー164を操作することによって変化する。PCコンテンツ表示部166には、コンテンツの属性情報が一覧形式で表示され、コンテンツの属性情報としては、例えばコンテンツのタイトル、コンテンツの再生時間、コンテンツのアーティスト名、コンテンツが含まれているアルバム名、ユーザがコンテンツに対して設定した評価、コンテンツのサイズ、コンテンツの情報処理装置100への登録日時、コンテンツのジャンル等を含んでいてもよい。これらのコンテンツの属性情報はメタデータの形式で情報処理装置100の内部、例えばHDD116に格納される。
図8および図9は、ジュークボックスプログラムを用いてプレイリストを作成する場合の画面の一例を示したものである。図8および図9では図7と比べてPCコンテンツ表示部166の幅が短くなっており、新たにプレイリスト表示部168が表示されている。PCコンテンツ表示部166に表示された楽曲のリストから、プレイリストに加えたい楽曲を選択すると、図9に示したように、プレイリスト表示部168に選択した楽曲が表示される。そして、作成したプレイリストを保存することで、情報処理装置100においてプレイリストに従った楽曲の再生はもちろん、プレイリストを楽曲データと共に携帯端末200等の移動機に転送することで、移動機においても、情報処理装置100においてユーザが作成したプレイリストに従ってコンテンツを再生することができる。
以上、本発明の一実施形態にかかるコンテンツ授受システム10で用いるために情報処理装置100に表示する画面について説明した。次に、本発明の一実施形態にかかるコンテンツ転送方法について説明する。
図10Aおよび図10Bは、本発明の一実施形態にかかるコンテンツ転送方法について説明する流れ図である。以下、図10Aおよび図10Bは、本発明の一実施形態にかかるコンテンツ転送方法について説明する。図10Aおよび図10Bは、いずれもコンテンツを自動で情報処理装置100から携帯端末200に転送する場合について示したものであり、ここでは、コンテンツの例として楽曲ファイルを情報処理装置100から携帯端末200に転送する場合を例に挙げて説明する。なお、自動で情報処理装置100から携帯端末200に転送する際には、予め携帯端末200に記憶されている楽曲の情報が情報処理装置100にキャッシュされているものとする。
まず、図10Aを用いて本発明の一実施形態にかかるコンテンツ転送方法について説明する。最初に、利用者がユーザインタフェース部120に対して楽曲の自動転送開始を指示する(ステップS102)。本実施形態では、この自動転送開始の指示は、例えばジュークボックスプログラムに表示された転送ボタン(後述)をマウスでクリックすることによって行ってもよい。
利用者がユーザインタフェース部120に対して楽曲の自動転送開始を指示すると、ユーザインタフェース部120はアプリケーション制御部122に対して楽曲の自動転送開始を指示する(ステップS104)。さらに、指示を受けたアプリケーション制御部122は自動転送制御部124に対して楽曲の自動転送開始を指示する(ステップS106)。
自動転送制御部124は、アプリケーション制御部122からのコンテンツの自動転送開始の指示を受けると、転送候補抽出部128に対して携帯端末200に転送する楽曲の候補の抽出を指示する。指示を受けた転送候補抽出部128は、指示に基づいて転送候補の楽曲を抽出する(ステップS108)。ここで、抽出する楽曲は携帯端末200に記憶されていない楽曲が対象となり、抽出する際のソート順はアルバム名、CDトラック番号の昇順とする。また、ここで抽出される楽曲には、アルバムの中の楽曲だけでなく、ユーザが作成したプレイリストに登録された楽曲も含まれる。なお、転送候補抽出部128における転送候補の楽曲の抽出方法については、後に詳述する。
転送候補抽出部128で転送候補の楽曲を抽出すると、転送スケジューラ部130に対して、抽出した楽曲のうち、まず曲一覧の転送、すなわち、本発明の第1の属性の一例であるアルバム単位での楽曲の転送を指示する(ステップS116)。曲一覧の転送の指示を受けた転送スケジューラ部130は、転送候補抽出部128で抽出した楽曲のうち、曲一覧として転送する楽曲の順序をアルバム単位で反転する(ステップS118)。すなわち、転送スケジューラ部130は、CDトラック番号の昇順でソートされていた楽曲の一覧を反転させて、CDトラック番号の降順に並び替える。
ステップS118で楽曲の順序を並び替えると、並び替えた順番で楽曲を携帯端末200に転送するように移動機転送管理部136に指示する(ステップS120)。指示を受けた移動機転送管理部136は、移動機転送処理部144に対して、並び替えた順番で楽曲を携帯端末200に転送するように指示する(ステップS122)。そして、指示を受けた移動機転送処理部144は、コンテンツ転送部150に対して、並び替えた順番で楽曲を携帯端末200に転送するように指示し(ステップS124)、指示を受けたコンテンツ転送部150は、指定された順番で楽曲を1曲ずつ携帯端末200に転送する(ステップS126)。
曲一覧の転送が完了すると、転送候補抽出部128は、続いてプレイリスト一覧の転送、すなわち、本発明の第2の属性の一例である、ユーザが作成したプレイリストに属する楽曲の転送を転送スケジューラ部130に対して指示する(ステップS128)。プレイリスト一覧の転送指示を受けた転送スケジューラ部130は、プレイリスト一覧として転送する楽曲の並び順を、プレイリスト単位で反転する(ステップS130)。すなわち、転送スケジューラ部130は、“t_containment”テーブルのOrder列の昇順でソートされていた並び順をプレイリスト単位で反転させて、Order列の降順に並び替える。
ステップS130で並び替えると、並び替えた順番で楽曲を携帯端末200に転送するように移動機転送管理部136に指示する(ステップS132)。指示を受けた移動機転送管理部136は、移動機転送処理部144に対して、並び替えた順番で楽曲を携帯端末200に転送するように指示する(ステップS134)。そして、指示を受けた移動機転送処理部144は、コンテンツ転送部150に対して、並び替えた順番で楽曲を携帯端末200に転送するように指示し(ステップS136)、指示を受けたコンテンツ転送部150は、指定された順番で楽曲を1曲ずつ携帯端末200に転送する(ステップS138)。
以上、図10Aを用いて本発明の一実施形態にかかるコンテンツ転送方法について説明した。なお、コンテンツを情報処理装置100から携帯端末200に転送する際に、転送候補のコンテンツを情報処理装置100で抽出しても、携帯端末200に空き容量が存在せず、抽出したコンテンツを全て転送できない場合もある。図10Bは、かかる場合を考慮した、本発明の一実施形態にかかるコンテンツ転送方法について説明する流れ図である。
図10Bでは、ステップS102においてユーザが自動転送の開始を指示してから、ステップS108において自動転送制御部124が転送候補の楽曲を抽出するまでは、図10Aと同一である。ここで、抽出された楽曲の合計容量が、携帯端末200の空き容量未満である場合には、自動転送制御部124はユーザインタフェース部120に対して容量不足を通知し(ステップS110)、ユーザインタフェース部120はユーザに対して転送方法(シンク方法)を選択する画面を表示する(ステップS112)。転送方法は、携帯端末200の容量が許す限りできるだけ楽曲を自動で転送するか、手動で転送する楽曲を選択して転送するか(つまり自動転送を中止するか)を選択することができる。
ステップS112で、ユーザが携帯端末200の容量が許す限りできるだけ楽曲を自動で転送する方法を選択すると、自動転送制御部124は再び転送候補の楽曲を抽出する(ステップS114)。ステップS114において抽出する際には、抽出する楽曲は携帯端末200に記憶されていない楽曲が対象となり、情報処理装置100に登録された日時が新しい楽曲から順に楽曲を選択して抽出する。
ステップS114で転送候補の楽曲の抽出が完了すると、その後のステップS116における、転送スケジューラ部130する曲一覧の転送以降は、図10Aと同一であるため詳細な説明は省略する。
なお、図10Aおよび図10Bにおいて、ステップS126およびステップS138において、コンテンツ転送部150から携帯端末200への楽曲の転送が完了すると、楽曲の転送が完了した旨を、コンテンツ転送部150から転送スケジューラ部130まで逆に辿って通知してもよい。
以上、図10Aおよび図10Bは、本発明の一実施形態にかかるコンテンツ転送方法について説明した。続いて、本発明の一実施形態にかかるコンテンツ転送方法における、個々の処理の詳細について説明する。
図11は、本発明の一実施形態にかかるコンテンツ転送方法について説明する流れ図である。以下、図11を用いて本発明の一実施形態にかかるコンテンツ転送方法について説明する。
上述したように、情報処理装置100から携帯端末200へ転送する楽曲を自動で抽出して、情報処理装置100から携帯端末200へ抽出した楽曲を転送する際には、まず自動転送制御部124で、転送する楽曲の候補を抽出する(ステップS142)。転送候補を抽出する際には、楽曲をアルバム名およびCDトラック番号の昇順でソートしておく。
ステップS142で自動転送制御部124が転送する楽曲の候補を抽出すると、自動転送制御部124は抽出した楽曲の合計データサイズを算出し(ステップS144)、続いて、携帯端末200の空き容量を算出する(ステップS146)。楽曲の合計データサイズの算出と、携帯端末200の空き容量の算出とは逆に行ってもよい。
抽出した楽曲の合計データサイズの算出および携帯端末200の空き容量の算出が完了すると、携帯端末200の空き容量が抽出した楽曲の合計データサイズ未満かどうかを判定する(ステップS148)。携帯端末200の空き容量が抽出した楽曲の合計データサイズ未満であれば、自動転送制御部124はユーザインタフェース部120に対して、携帯端末200の容量が不足しており、シンク方法の選択肢を表示する旨を通知する(ステップS150)。
続いて、携帯端末200の容量が許す限りできるだけ楽曲を転送することをユーザが選択したかどうかをユーザインタフェース部120で判断し(ステップS152)、できるだけ楽曲を転送することをユーザが選択した場合には、自動転送制御部124で、再度転送する楽曲の候補を抽出する(ステップS154)。ステップS154では、情報処理装置100への登録日時が新しい楽曲から順に携帯端末200の空き容量に達するまで抽出する。
上記ステップS148で携帯端末200の空き容量が抽出した楽曲の合計データサイズより大きいと判断した場合、または上記ステップS154で転送候補の楽曲の抽出が完了した場合には、抽出した転送候補の中からまず曲一覧を転送する(ステップS156)。曲一覧を転送するとは、抽出した楽曲をアルバム単位で転送することである。曲一覧を転送すると、続いて抽出した転送候補の中からプレイリスト一覧を転送する(ステップS158)。プレイリスト一覧を転送するとは、ユーザが作成したプレイリスト及び当該プレイリストに含まれ、抽出した転送候補に含まれている楽曲を転送することである。
なお、上記ステップS152において、できるだけ楽曲を転送することをユーザが選択しなかった場合には、自動での携帯端末200への転送処理を中止する(ステップS160)。
以上、図11を用いて本発明の一実施形態にかかるコンテンツ転送方法について説明した。次に、本発明の一実施形態にかかるコンテンツ転送方法において、手動でコンテンツの転送を行う場合について説明する。
図12は、本発明の一実施形態にかかるコンテンツ転送方法において、手動でコンテンツの転送を行う場合について説明する流れ図である。図12に示したように、手動でコンテンツの転送を行う場合には、まずユーザインタフェース部120でユーザの選択内容を取得する(ステップS162)。ユーザインタフェース部120が取得したユーザの選択内容は、アプリケーション制御部122を介して手動転送制御部126に送られる。手動転送制御部126は、ユーザの選択内容が楽曲単位での転送であるのか、アルバムまたはプレイリスト単位での転送であるのかを判断する(ステップS164)。
ステップS164での判断の結果、ユーザが楽曲単位での転送を選択していた場合には、楽曲単位での転送を行うように、手動転送制御部126から転送スケジューラ部130に対して制御する(ステップS166)。一方、ステップS164での判断の結果、ユーザがアルバムまたはプレイリスト単位での転送を選択していた場合には、アルバムまたはプレイリスト単位での転送を行うように、手動転送制御部126から転送スケジューラ部130に対して制御する(ステップS168)。
このようにユーザの選択内容に基づいて、どのようにコンテンツを転送するかについて情報処理装置100を制御することにより、情報処理装置100から携帯端末200への手動によるコンテンツ転送を実行することができる。
以上、図12を用いて本発明の一実施形態にかかるコンテンツ転送方法において、手動でコンテンツの転送を行う場合について説明した。次に、本発明の一実施形態にかかるコンテンツ転送方法において、自動で転送するコンテンツを選択する場合におけるコンテンツ抽出方法について説明する。
図13は、本発明の一実施形態にかかるコンテンツ転送方法において、自動で転送するコンテンツを選択する場合におけるコンテンツ抽出方法について説明する流れ図である。以下、図13を用いて、本発明の一実施形態にかかるコンテンツ抽出方法について説明する。
転送する楽曲を抽出するには、まず転送候補抽出部128において、コンテンツ管理部132を介してコンテンツデータベース138の内容を取得する(ステップS172)。コンテンツデータベース138の内容を取得すると、続いて転送候補抽出部128において、移動機データベース管理部134を介して移動機データベース140の内容を取得する(ステップS174)。なお、内容を取得する順番は逆であってもよい。
上記ステップS172およびステップS174において、転送候補抽出部128がコンテンツデータベース138および移動機データベース140の内容を取得すると、転送候補抽出部128は、取得した内容から、コンテンツデータベース138に存在し、移動機データベース140に存在しない楽曲やプレイリストを検索して、レコードセットを取得する(ステップS176)。転送候補抽出部128でレコードセットを取得すると、上位から指定されたソート順に従ってレコードセットのソートを行う(ステップS178)。つまり、通常は第1ソートキーをアルバム名、第2ソートキーをCDトラック番号としてソートし、携帯端末200の空き容量が足りずに、携帯端末200に出来るだけコンテンツを転送する場合には、第1ソートキーを登録日時としてソートする。
レコードセットをソートすると、楽曲とプレイリストに分けて自動転送制御部124に返すために、レコードセットのデータを配列変数に格納する。本実施形態においては、aContent[]およびaPlaylist[]の2種類の配列変数にソートしたレコードセットのデータを格納する。aContent[]は楽曲のレコードが格納される配列変数であり、aPlaylist[]はプレイリストのレコードが格納される配列変数である。まずは、aContent[]およびaPlaylist[]に空(Empty)を格納することで、配列変数の内容を初期化する(ステップS180)。内容を初期化すると、上記ステップS176でソートしたレコードセットの最初のレコードへ移動する(ステップS182)。
続いて、現在のレコードが最終レコードか否かを判断する(ステップS184)。最終レコードで無い場合には、現在のレコードの種類が楽曲かプレイリストかを判断する(ステップS186)。現在のレコードの種類が楽曲である場合にはaContent[]にレコードの内容を追加し(ステップS188)、次のレコードに移動する(ステップS192)。一方、現在のレコードの種類がプレイリストである場合にはaPlaylist[]にレコードの内容を追加し(ステップS190)、次のレコードに移動する(ステップS192)。
このようにレコードの内容を配列変数に追加し、上記ステップS184において現在のレコードが最終レコードであると判断されるまでレコードの内容の配列変数への追加を繰り返す。そして、上記ステップS184において現在のレコードが最終レコードであると判断されると、aContent[]およびaPlaylist[]の内容を呼び出し元(本実施形態においては、自動転送制御部124)に返して(ステップS194)、処理を終了する。
以上、図13を用いて、本発明の一実施形態にかかるコンテンツ抽出方法について説明した。次に、転送スケジューラ部130における、抽出したコンテンツを転送する順序のスケジューリング処理について説明する。
図14は、本発明の一実施形態にかかるコンテンツ転送方法において、抽出したコンテンツを転送する順序のスケジューリング処理について説明する流れ図である。以下、図14を用いて本発明の一実施形態にかかるスケジューリング処理について詳細に説明する。
まず、転送スケジューラ部130より上位のレイヤーに位置する自動転送制御部124から送られてきた、転送候補の種類を確認する(ステップS202)。転送候補が楽曲であれば、自動転送制御部124から送られてきたaContent[]の内容を受け取る(ステップS204)。aContent[]の内容は、携帯端末200への転送が指定された楽曲の一覧である。
転送スケジューラ部130は、aContent[]の内容を受け取ると、aContent[]に格納されているレコードの並び順を逆転させる(ステップS206)。そして、逆転させた順番で、aContent[]に格納されている各要素を転送する(ステップS208)。本実施形態では、転送スケジューラ部130から移動機転送管理部136に対して、逆転させた順番で、aContent[]に格納されている各要素を転送するように指示を行う。
一方、上記ステップS202での判断の結果、転送候補がプレイリストであれば、自動転送制御部124から送られてきたaPlaylist[]の内容を受け取る(ステップS210)。aPlaylist[]の内容は、携帯端末200への転送が指定されたプレイリストの一覧である。
プレイリストを携帯端末200に転送する際には、プレイリストだけでなく、プレイリストに属している楽曲も転送する。まず、aPlaylist[]に格納されている各要素を携帯端末200へ転送する(ステップS212)。そして、n番目(nは自然数)の転送候補のプレイリストが格納されているaPlaylist[n]に含まれている楽曲をコンテンツデータベース138から取得する。取得した楽曲の一覧はaContent[]に格納する(ステップS214)。また、aContent[]に格納する際の並び順はプレイリスト上の楽曲の順番と同じ順序とする。
aContent[]に楽曲の一覧を格納すると、aContent[]に格納されているレコードの並び順を反転させる(ステップS216)。そして、反転させた順番で、aContent[]に格納されている各要素を転送する(ステップS218)。本実施形態では、転送スケジューラ部130から移動機転送管理部136に対して、反転させた順番で、aContent[]に格納されている各要素を転送するように指示を行う。
aContent[]の各要素の転送が完了すると、全てのプレイリストについて楽曲の転送が完了したかどうかを判断する(ステップS220)。全てのプレイリストについて楽曲の転送が完了していれば、そのまま処理を終了する。一方、全てのプレイリストについて楽曲の転送が完了していなければ、aPlaylist[]に格納され、携帯端末200に転送されていない残りの各要素について繰り返して処理を続行する。
なお、上記ステップS208およびステップS218において、既に携帯端末200に格納されている楽曲については、携帯端末200には転送されない。
以上、本発明の一実施形態にかかるスケジューリング処理について説明した。このような情報処理装置100から携帯端末200への楽曲転送処理について、図面を用いてさらに詳細に説明する。
図15〜図17は、本発明の一実施形態にかかる情報処理装置100の表示部112に表示される画面の一例を示す説明図である。
まず図15について説明する。図15は、情報処理装置100に携帯端末200を接続し、情報処理装置100でジュークボックスプログラムを起動した場合に、表示部112に表示される画面の一例を示したものである。なお、説明の便宜上、情報処理装置100には一つのアルバムに属する楽曲の情報のみがジュークボックスプログラムに表示されているものとする。また、携帯端末200には何もコンテンツが格納されていないものとする。
図15には、図7〜図9とは異なり、情報処理装置100と携帯端末200との間でコンテンツをやり取りするためのコンテンツ転送ボタン172、174、176が表示されている。また、携帯端末200に記憶されているコンテンツの情報を表示するための端末コンテンツ表示部169が表示されている。コンテンツ転送ボタン172は、情報処理装置100と携帯端末200との間でのコンテンツの授受を自動で行うためのボタンであり、コンテンツ転送ボタン174は、情報処理装置100から携帯端末200に転送するコンテンツをユーザが指定してコンテンツを転送するためのボタンであり、コンテンツ転送ボタン176は、携帯端末200から情報処理装置100に転送するコンテンツをユーザが指定してコンテンツを転送するためのボタンである。
ここで、コンテンツ転送ボタン172をマウスのクリック等で押下すると、自動的に転送対象となるコンテンツが抽出され、抽出されたコンテンツが情報処理装置100から携帯端末200に転送される。
図16は、図15においてコンテンツ転送ボタン172をマウスのクリック等で押下した場合の画面の一例を示したものである。上述したように、情報処理装置100から携帯端末200にコンテンツを転送する際にはコンテンツの並び順を反転させる。従って、図16に示したように、端末コンテンツ表示部169に表示されているコンテンツは、情報処理装置100における順序と正反対の順序で表示されている。このように並び替えてジュークボックスプログラム160に表示することで、楽曲ファイルの送信順序を把握することができる。また、端末コンテンツ表示部169には、楽曲ファイルの送信状況を示すアイコン(図16では、各楽曲やプレイリストに付された右向き矢印のアイコン)を表示することで、楽曲ファイルの送信進捗状況を把握することができる。
図17は、情報処理装置100から携帯端末200への楽曲の転送が完了した場合の画面の一例を示したものである。図17に示したように、転送完了後は情報処理装置100における順序と携帯端末200に転送する順序とが一致するように端末コンテンツ表示部169にコンテンツの情報を表示することで、情報処理装置100から携帯端末200へ楽曲が正しく転送されたことをユーザに示すことができる。
続いて、携帯端末200に表示される画面の一例を説明する。図18および図19は、本発明の一実施形態にかかる携帯端末200の表示部212に表示される画面の一例を示す説明図である。図18は、携帯端末200で音楽再生ソフトウェアを実行した際のメニュー画面の一例を示したものである。また、図19の(a)は、図18で「ミュージックライブラリ」を選択した場合に表示される画面の一例を示したものであり、図19の(b)は、図18で「プレイリスト」を選択した場合に表示される画面の一例を示したものである。図19の(a)および(b)に示したように、携帯端末200においてアルバムやプレイリストの並び順に楽曲が表示されていることが分かる。
以上、情報処理装置100から携帯端末200への楽曲転送処理について説明した。以上説明したように、本実施形態によれば、情報処理装置100から携帯端末200へコンテンツを自動的に転送する場合において、コンテンツの並び順を情報処理装置100で逆転させて転送することで、携帯端末200においてアルバムやプレイリストの並び順に楽曲が表示される。コンテンツの並び順を逆転させて転送することで、携帯端末200においてコンテンツを一覧表示した際に、コンテンツをアルバムごとにまとめて表示することができる。
そして、本実施形態では、まずアルバム単位でコンテンツを転送し、続いてプレイリスト及びプレイリストが参照するコンテンツを転送することにより、アルバム内の楽曲が携帯端末200において散乱してしまうことを防ぐ。また、アルバム内の各楽曲をCDトラック番号の降順に転送することにより、携帯端末200においてコンテンツがトラック番号の昇順に表示されるようになる。
続いて、本実施形態の変形例について説明する。
(変形例1)
図20は、本発明の一実施形態にかかるコンテンツ転送方法において、抽出したコンテンツを転送する順序のスケジューリング処理の変形例について説明する流れ図である。図14と異なるのは、転送先が携帯端末であるか否かを判断するステップが新たに追加されている点である。
最初に、図14と同様に、転送スケジューラ部130より上位のレイヤーに位置する自動転送制御部124から送られてきた、転送候補の種類を確認する(ステップS232)。転送候補が楽曲であれば、自動転送制御部124から送られてきたaContent[]の内容を受け取る(ステップS234)。
転送スケジューラ部130は、aContent[]の内容を受け取ると、情報処理装置100に接続されているのが携帯端末200か否かを判断する(ステップS236)。情報処理装置100に接続されているのが携帯端末200であれば、aContent[]に格納されているレコードの並び順を逆転させる(ステップS238)。そして、逆転させた順番で、aContent[]に格納されている各要素を転送する(ステップS240)。他方、情報処理装置100に接続されているのが携帯端末200でなければ、例えば携帯型の音楽再生装置であれば、そのままの順番でaContent[]に格納されている各要素を転送する(ステップS240)。
一方、上記ステップS232での判断の結果、転送候補がプレイリストであれば、自動転送制御部124から送られてきたaPlaylist[]の内容を受け取る(ステップS242)。そして、aPlaylist[]に格納されている各要素を携帯端末200へ転送する(ステップS244)。そして、n番目(nは自然数)の転送候補のプレイリストが格納されているaPlaylist[n]に含まれている楽曲をコンテンツデータベース138から取得する。取得した楽曲の一覧はaContent[]に格納する(ステップS246)。また、aContent[]に格納する際の並び順はプレイリスト上の楽曲の順番と同じ順序とする。
aContent[]に楽曲の一覧を格納すると、情報処理装置100に接続されているのが携帯端末200か否かを判断する(ステップS248)。情報処理装置100に接続されているのが携帯端末200である場合には、aContent[]に格納されているレコードの並び順を逆転させる(ステップS250)。そして、逆転した順番で、aContent[]に格納されている各要素を転送する(ステップS252)。他方、情報処理装置100に接続されているのが携帯端末200でなければ、例えば携帯型の音楽再生装置であれば、そのままの順番でaContent[]に格納されている各要素を転送する(ステップS252)。
aContent[]の各要素の転送が完了すると、全てのプレイリストについて楽曲の転送が完了したかどうかを判断する(ステップS254)。全てのプレイリストについて楽曲の転送が完了していれば、そのまま処理を終了する。一方、全てのプレイリストについて楽曲の転送が完了していなければ、aPlaylist[]に格納されている各要素について繰り返して処理を続行する。
このように、情報処理装置100に接続された転送先の機種によってレコードの並び順を逆転させるか否かを判断することで、並び順を逆転して転送する必要がある機種に対してはレコードの並び順を逆転させて転送し、逆転して転送する必要がない機種に対してはそのままの順序で転送することができる。
(変形例2)
図21は、本発明の一実施形態にかかるコンテンツ転送方法の変形例について説明する流れ図である。図11と異なるのは、転送候補を抽出する際に、ソート順をアルバムの登録日時、アルバム名、CDトラック番号としている点である。
情報処理装置100から携帯端末200へ転送する楽曲を自動で抽出して、情報処理装置100から携帯端末200へ抽出した楽曲を転送する際には、まず自動転送制御部124で、転送する楽曲の候補を抽出するが、図11では、転送候補を抽出する際には、楽曲をアルバム名およびCDトラック番号の昇順でソートしておいたのに対し、図21では、アルバムの登録日時、アルバム名、CDトラック番号の昇順でソートする(ステップS262)。ここでアルバムの登録日時の情報は、例えばコンテンツデータベース138の“mbjContent”の登録日時から取得してもよい。すなわち、転送候補となるアルバムの最初の楽曲の登録日時をアルバムの登録日時として、当該登録日時を用いてソートを行ってもよい。以後は図11と同様の処理を実行するので簡潔に流れを説明する。転送候補を抽出すると、自動転送制御部124で抽出した楽曲の合計データサイズを算出し(ステップS264)、携帯端末200の空き容量を算出する(ステップS266)。算出が完了すると両者を比較し(ステップS268)、携帯端末200の空き容量の方が小さければ、自動転送制御部124はユーザインタフェース部120に対してシンク方法の選択肢を表示する旨を通知する(ステップS270)。できるだけ楽曲を転送することをユーザが選択したかどうかをユーザインタフェース部120で判断し(ステップS272)、できるだけ楽曲を転送することをユーザが選択した場合には、自動転送制御部124で再度転送する楽曲の候補を抽出する(ステップS274)。ステップS268で楽曲のデータサイズの方が大きいと判断した場合、またはステップS274で転送候補の楽曲の抽出が完了した場合には、抽出した転送候補の中からまず曲一覧を転送し(ステップS276)、続いて抽出した転送候補の中からプレイリスト一覧を転送する(ステップS278)。なお、上記ステップS272において、できるだけ楽曲を転送することをユーザが選択しなかった場合には、自動での携帯端末200への転送処理を中止する(ステップS280)。
なお、上述した各方法は、図3に示したような構成で動作するように記述され、情報処理装置100の内部(例えばHDD116)に格納したコンピュータプログラムを、CPU102が順次読み出して実行することによって行ってもよい。また、当該コンピュータプログラムが記憶された、コンピュータで読み取り可能な記録媒体も提供される。このような記録媒体は、例えば磁気ディスクや光ディスクなどである。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述した実施形態において、情報処理装置100における各ステップは、必ずしも図面に記載された順序に沿って時系列に処理する必要はない。例えば、情報処理装置100の処理における各ステップは、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)を含んでもよい。