(第1実施形態)
本発明の第1実施形態について、以下、図面を参照しながら説明する。
本発明の第1実施形態にかかるコンテンツデータファイル加工システムは、各CDに収録されている楽曲の曲名、アーティスト名、ジャンルなどを示すデータ(以下、これらのデータを「楽曲メタデータ」と呼ぶ)とそれらのCDに記録されたTOCデータとを対応付けたデータベースを有している。そして、CDの各楽曲をリッピング(オーディオデータファイル化)する装置からのTOCデータの発信と引き換えに、データベースから読み出したそのCDの各楽曲メタデータを配信し、各々のオーディオデータファイルへ埋め込ませるようになっている。このコンテンツデータ加工システムの特徴は、TOCデータにより特定されるCDの楽曲の中に別のCDにも収録されているものがあるとき、その楽曲のプライオリティが高いことを示すプライオリティデータを併せて埋め込ませるようにした点である。
図1は、本発明の第1実施形態にかかるコンテンツデータ加工システムを含むデータ配信システムの全体構成を示す図である。図1に示すように、このシステムは、楽曲メタデータ配信装置10(「コンテンツデータファイル加工システム」の一部に相当)、オーディオ再生記録装置30(「コンテンツデータファイル加工システム」の一部に相当)、パーソナルコンピュータ50、モデム61などを有する。オーディオ再生記録装置30およびパーソナルコンピュータ50は、LAN(Local Area Network)ケーブル60によりモデム61と繋がれ、そのモデム61からインターネット通信網62を介して楽曲メタデータ配信装置10と接続される。
図2は、楽曲メタデータ配信装置10のハードウェア構成を示すブロック図である。図2に示すように、楽曲メタデータ配信装置10は、CPU11(「判断手段」、「第1の判断手段」および「第2の判断手段」に相当)、RAM12、ROM13、ハードディスクドライブ14、イーサネット(登録商標)コントローラ15を有している。CPU11は、RAM12をワークエリアとして利用しつつ、ROM13やハードディスクドライブ14に記憶された各種プログラムを実行する。ハードディスクドライブ14には、CDデータベース16と楽曲メタデータ配信プログラム17とが記憶される。
図3は、CDデータベース16のデータ構造図である。このCDデータベース16は、各々が、各レーベルからリリースされているCDと対応する複数のレコードの集合体である。それらのCDは、1曲から4曲程度の楽曲が収録されたシングルCDと、それ以上の楽曲が収録されたアルバムCDの双方を含む。このデータベース16を構成する各レコードは、「TOC」、「タイトル」、「トラック」、「曲名」、「アーティスト」の5つのフィールドを有している。そして、1つのCDと対応するレコードの「トラック」、「曲名」、「アーティスト」のフィールドは、そのCDに収録された楽曲と同じ数に分かれている。
「TOC」のフィールドには、各CDのTOCデータが記憶される。TOCデータは、CDに収録される各楽曲の再生開始までの時間長を示すバイナリデータであり、CDのリードイン領域に記録される。CDに収録される楽曲の各々の再生開始までの時間長の組み合わせは固有であるため、このTOCデータをキーとして検索を行うことにより、対応する唯一のCDのレコードを特定することが可能である。「タイトル」のフィールドには、CDのタイトルを示すタイトルデータ(「集合体データ」に相当)が記憶される。
「トラック」、「曲名」、「アーティスト」のフィールドには、楽曲メタデータをなす、トラックデータ、曲名データ、およびアーティスト名データがそれぞれ記憶される。トラックデータ(「収録順データ」に相当)は、CDに収録された各楽曲のトラック番号を示すデータである。また、曲名データは、CDに収録された各楽曲の曲名を示すデータであり、アーティスト名データは、それらの各楽曲の収録にかかわった一又は複数のアーティストの名称を示すデータである。
図2において、楽曲メタデータ配信プログラム17は、TOCデータを含むリクエストをオーディオ再生記録装置30から受信し、リクエストに含まれるTOCデータをキーとして検索して特定された楽曲メタデータをその発信元へ配信するプログラムである。
図4は、オーディオ再生記録装置30のハードウェア構成を示す図である。図4に示すように、オーディオ再生記録装置30は、ADC(Analog Digital Converter)31、DAC(Digital Analog Converter)32、DSP(Digital Signal Processor)33、チューナ34、イーサネット(登録商標)コントローラ35、USB(Universal Serial Bus)コントローラ36、操作部37、表示部38、CDドライブ39、CPU(Central Processing Unit:「第1の取得手段」、「第2の取得手段」、「第3の取得手段」、「埋込手段」に相当)40、EEPROM(Electrically Erasable Programmable Read Only Memory)41、フラッシュメモリ42、SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory) 43、ハードディスクドライブ44を有する。
ADC31は、マイクロホンなどの収音機器(図示せず)と接続され、それらの機器から供給されるアナログ信号をデジタル信号に変換する。ADC31にて変換された信号は、DSP33を経由してCPU40へ供給される。DAC32は、スピーカやヘッドフォンなどの放音機器(図示せず)と接続され、CPU40からDAC32を経由して供給されるデジタル信号をアナログ信号に変換する。DAC32にて変換された信号は、放音機器へ供給される。DSP33は、CPU40による制御の下、自らを経由するデジタル信号へ信号処理を施す。
チューナ34は、CPU40による制御の下、アンテナ45により受信される搬送波を復調して得た信号をCPU40に供給し、そのアンテナの最大感度の周波数を特定の放送局の周波数へ同調させるなどといった処理を行う。
イーサネット(登録商標)コントローラ35は、モデム61やパーソナルコンピュータ50とLANケーブル60を介して接続され、所定のプロトコルに従ってそれらの装置との間でデータの送受信を行う。USBコントローラ36は、ポータブルメモリプレーヤなどの各種音楽再生端末(図示せず)とUSBケーブル(図示せず)を介して接続され、所定のプロトコルに従ってそれらの端末との間でデータの送受信を行う。
操作部37は、タッチパネルやつまみなどの操作子を有し、それらの操作子による操作を示す信号をCPU40へ供給する。表示部38は、例えば、液晶ディスプレイを有し、CPU40から供給される信号を基にそのディスプレイへ各種情報を表示させる。
CDドライブ39は、CD載置トレイ、光学ヘッド、デコーダなどを有する。このCDドライブ39は、CPU40による制御の下、CDのプログラム領域から読み取ったPCM(Pulse Code Modulation)オーディオデータの信号、およびそのリードイン領域から読み取ったTOCデータの信号をCPU40へ供給する。
CPU40は、SDRAM43をワークエリアとして利用しつつ、EEPROM41、フラッシュメモリ42、ハードディスクドライブ44に記憶された各種プログラムを実行する。それらのプログラムを実行するCPU40は、CDドライブ39やチューナ34から供給されるデジタル信号をDAC32を介して放音機器へ供給して放音させたり、そのデジタル信号から得たオーディオデータファイルをハードディスクドライブ44に記憶させたりといった処理を行う、また、ハードディスクドライブ44に記憶させたオーディオデータファイルを、イーサネット(登録商標)コントローラ35やUSBコントローラ36から、外部の端末やパーソナルコンピュータ50へ伝送させるなどといった処理も行う。
パーソナルコンピュータ50は、オーディオ再生記録装置30を操作するためのコマンドを自らのイーサネット(登録商標)コントローラ(図示せず)からオーディオ再生記録装置30へ供給したり、また、オーディオ再生記録装置30がCDから生成したオーディオデータファイルを取得し、再生する。パーソナルコンピュータ50のハードウェア構成は、ハードディスクドライブの記憶内容を除いて図2に示した楽曲メタデータ配信装置10と同様である。ただし、パーソナルコンピュータ50に、オーディオ再生記録装置30のハードウェア構成を持たせ、上述のオーディオ再生記録装置30と同様の処理を行うようにしてもよい。
次に、本実施形態の動作を説明する。図5および図6は、本実施形態の特徴的な処理を示すフローチャートである。このフローチャートに示す一連の処理は、オーディオ再生記録装置30のCDドライブ39にCDが装填された状態で、操作部37の操作を通じてオーディオデータファイルの生成の指示が下されると開始される。
オーディオデータファイルの生成の指示が下されると、オーディオ再生記録装置30のCPU40は、CDドライブ39に装填されたCDのプログラム領域から読み出された各楽曲のPCMオーディオデータを取得するとともに(S100)、そのリードイン領域から読み出した各楽曲のTOCデータ(「属性データ」に相当)を取得する(S110)。
続いて、CPU40は、ステップS110で取得したTOCデータを含むHTTP(Hypertext Transfer Protocol)リクエストをイーサネット(登録商標)コントローラ35から楽曲メタデータ配信装置10に宛てて送信させた後(S120)、ステップS100で取得したPCMオーディオデータを圧縮して得たオーディオデータとステップS110で取得したTOCデータとを含む各楽曲毎のオーディオデータファイルを取得する(S130)。
ここで、ステップS130におけるPCMオーディオデータの圧縮は、MP3やWAVのデータ圧縮アルゴリズムに従って行われることが望ましい。その場合、ステップS130で取得される各オーディオデータファイルの拡張子は、MP3やWAVとなる。また、各々のファイル名は、「Track 1」や「Track 2」などといった、CDへの収録順を示す文字列となる。また、ステップS130で取得されたオーディオデータファイルは、SDRAM43に記憶される。送信されたリクエストは、モデム61、およびインターネット通信網62をなす一または複数のノードを経由して、楽曲メタデータ配信装置10へ送信される。
HTTPリクエストを受信した楽曲メタデータ配信装置10のCPU11は、受信したリクエストに含まれるTOCデータをRAM12に記憶した後、そのTOCデータを「TOC」のフィールドに記憶したレコードがCDデータベース16にあるか否か判断する(S140)。ステップS140にて、TOCデータを記憶したレコードがないと判断したとき(S140:No)、CPU11は、そのことを示すメッセージを含むHTTPレスポンスをリクエストの発信元に宛てて送信する(S150)。TOCデータを記憶したレコードがないことを示すメッセージを含むHTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、楽曲メタデータが存在しないことを示す文字列を表示部38に表示させた後(S160)、処理を終了する。
ステップS140にて、TOCデータを記憶したレコードがあると判断したとき(S140:Yes)、CPU11は、そのレコードの「トラック」、「曲名」、「アーティスト」などのフィールドに記憶されたデータの纏まりである楽曲メタデータを、各楽曲ごとに読み出す(S170)。例えば、CDに10の楽曲が収録されている場合、本ステップS170では、それらの10の楽曲の各々と対応する楽曲メタデータがCDデータベース16から読み出される。
CPU11は、ステップS170で読み出した楽曲メタデータを含むHTTPレスポンスをリクエストの発信元へ送信する(S180)。送信されたレスポンスは、インターネット通信網62の一又は複数のノードおよびモデム61を経由して、オーディオ再生記録装置30へ送信される。
HTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、受信したレスポンスに含まれる各楽曲メタデータを、ステップS130で取得したオーディオデータファイルの各々へ、タグデータとして埋め込む(S190)。MP3などのオーディオデータファイルに埋め込み得るタグデータのデータ形式としては、ID3v1(ID3 Tag Version 1)やID3v2(ID3 Tag Version 2)などがある。よって、ステップS190では、各楽曲メタデータをこれらのデータ形式に変換した上でオーディオデータへ埋め込むとよい。オーディオデータファイルのファイル名はCDへの収録順を示す文字列である一方、楽曲メタデータの一部をなすトラックデータは、CDに収録された各楽曲のトラック番号を示すデータである。よって、そのトラックデータと各オーディオデータのファイル名とを基に両者の対応付けを行うとよい。
CPU40は、ステップS190にてタグデータを埋め込んだ各オーディオデータファイルのうち、最初の楽曲のオーディオデータファイル、つまり、最初のトラックのトラックデータを埋め込んだオーディオデータファイルを特定する(S200)。
続いて、CPU40は、ステップS200で特定したオーディオデータファイルにタグデータとして埋め込まれている曲名データを取得し、その曲名データを含むHTTPリクエストをイーサネット(登録商標)コントローラ35から楽曲メタデータ配信装置10に宛てて送信させる(S210)。送信されたリクエストは、モデム61、およびインターネット通信網62をなす一または複数のノードを経由して、楽曲メタデータ配信装置10へ送信される。
HTTPリクエストを受信した楽曲メタデータ配信装置10のCPU11は、受信したリクエストに含まれる曲名データが、ステップS170にて楽曲メタデータを読み出したレコードと別のレコードに記憶されているか否か判断する(S220)。曲名データにより特定される楽曲が人気のある楽曲で複数のCDに収録されている場合、ステップS220の判断結果は「Yes」となり、そうでない場合、ステップS220の判断結果は「No」となる。
ステップS220にて、リクエストに含まれる曲名データが別のレコードに記憶されていると判断されたとき(S220:Yes)、CPU11は、曲名データを記憶した別のレコードがあることを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S230)。一方、ステップS220にて、リクエストに含まれる曲名データが別のレコードに含まれていないと判断したとき(S220:No)、CPU11は、曲名データを記憶した別のレコードがないことを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S240)。送信されたレスポンスは、インターネット通信網62の一又は複数のノードおよびモデム61を経由して、オーディオ再生記録装置30へ送信される。
HTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、そのレスポンスに含まれるメッセージが、曲名データを記憶した別のレコードがあることを示すものであるか、そのようなレコードがないことを示すものであるかを判断する(S250)。ステップS250にて、曲名データを記憶した別のレコードがあることを示すメッセージであると判断したとき(S250:Yes)、CPU40は、プライオリティデータをステップS200で特定したオーディオデータファイルへタグデータとして埋め込む(S260)。プライオリティデータは、楽曲の優先度が高いことを示すデータである。一方、ステップS250にて、曲名データを記憶した別のレコードがないことを示すメッセージであると判断したとき(S250:No)、CPU40は、ステップS260を実行することなく次のステップへ進む。
CPU40は、ステップS190にて楽曲メタデータを埋め込んだ各オーディオデータファイルのうち、ステップS200で特定したオーディオデータファイルの次の楽曲のオーディオデータファイルがあるか否か判断する(S270)。ステップS270にて、次のオーディオデータファイルがあると判断したとき(S270:Yes)、CPU40は、そのオーディオデータファイルを特定した後(S280)、特定したオーディオデータファイルを対象としてステップS210以降の処理を実行する。一方、ステップS270にて、次のオーディオデータファイルがないと判断したとき(S270:No)、CPU40は、CDのリッピングが終了したことを示す文字列を表示部38に表示させた後(S290)、処理を終了する。上述した一連のステップにより得られたオーディオデータファイルは、ハードディスクドライブ44に記憶され、オーディオデータファイル再生アプリケーションにより再生される。
以上説明した本実施形態では、オーディオ再生記録装置30のCDドライブ39に装填されたCDの各楽曲をリッピングしてオーディオデータファイルを生成する際、それらの楽曲の各々が別のCDにも収録されているか否かを判断する。そして、別のCDに収録されている楽曲については、優先度の高い楽曲であることを示すプライオリティデータがそのオーディオデータファイルへタグデータとして埋め込まれる。埋め込まれたプライオリティデータは、曲名やアーティスト名のタグデータと同様に、オーディオデータファイル再生アプリケーションによって参照可能である。よって、このプライオリティデータを参照することにより、複数のCDに収録されているような人気の楽曲を、ハードディスクドライブ44に記憶された複数のオーディオデータファイルの中から容易に検索することが可能となる。また、曲名やアーティスト名をキーとして検索した複数のオーディオデータファイルを、複数のCDに収録されている人気曲から順にソートして表示させることも可能となる。
(第2実施形態)
本発明の第2実施形態について、以下、図面を参照しながら説明する。
第1実施形態では、CD一枚に収録される全ての楽曲のリッピング、およびそのリッピングにより得たオーディオデータファイルの全部又は一部へのプライオリティデータの埋め込みが連続して行われるようになっている。これに対し、本実施形態では、CDのリッピングとプライオリティデータの埋め込みを別の手続きとして行い、オーディオ再生記録装置30のハードディスクドライブ44に記憶された一又は複数のオーディオデータファイルの中から選択されたオーディオデータファイルごとに、プライオリティデータの埋め込みの有無を判断する。
本実施形態にかかるデータ配信システムをなす、楽曲メタデータ配信装置10、オーディオ再生記録装置30、パーソナルコンピュータ50、およびモデム61のハードウェア構成は第1実施形態と同様であり、再度の説明を割愛する。
次に、本実施形態の動作を説明する。図7は、本実施形態の特徴的な処理を示すフローチャートである。このフローチャートに示す一連の処理は、一又は複数のオーディオデータファイルがハードディスクドライブ44に記憶された状態で、操作部37の操作を通じてそれらのいずれかが選択されると開始される。なお、選択の対象となり得るオーディオデータファイルは、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたり、または、ネットワーク経由でダウンロードしたオーディオデータファイルであり、且つその後の操作部37からの操作や楽曲メタデータ配信装置10へのアクセスを通じて曲名とアーティスト名のタグデータが埋め込まれたオーディオデータファイルである。
オーディオデータファイルが選択されると、CPU40は、そのオーディオデータファイルにタグデータとして埋め込まれている曲名とアーティスト名とを取得した後(S300)、取得した曲名を示す曲名データ(「属性データ」の一部に相当)とアーティスト名を示すアーティスト名データ(「属性データ」の一部に相当)とを含むHTTPリクエストをイーサネット(登録商標)コントローラ35から楽曲メタデータ配信装置10に宛てて送信させる(S310)。
HTTPリクエストを受信した楽曲メタデータ配信装置10のCPU11は、受信したリクエストに含まれる曲名データを「曲名」のフィールドに記憶し、そのリクエストに含まれるアーティスト名データを「アーティスト」のフィールドに記憶したレコードがCDデータベース16にあるか否か判断する(S320)。つまり、本ステップS320では、曲名とアーティスト名の組み合わせをキーとして検索が行われる。
ステップS320にて、曲名データおよびアーティスト名データを記憶したレコードがないと判断したとき(S320:No)、CPU11は、そのことを示すメッセージを含むHTTPレスポンスをリクエストの発信元に宛てて送信する(S330)。曲名データおよびアーティスト名データを記憶したレコードがないことを示すメッセージを含むHTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、楽曲メタデータが存在しないことを示す文字列を表示部38に表示させた後(S340)、処理を終了する。
ステップS320にて、曲名データおよびアーティスト名データを記憶したレコードがあると判断したとき(S320:Yes)、CPU11は、そのレコードの「曲名」のフィールドに記憶された曲名データが、別のレコードの「曲名」のフィールドにも記憶されているか否か判断する(S350)。曲名データにより特定される楽曲が人気のある楽曲で複数のCDに収録されている場合、ステップS350の判断結果は「Yes」となり、そうでない場合、ステップS350の判断結果は「No」となる。
ステップS350にて、リクエストに含まれる曲名データが別のレコードに記憶されていると判断したとき(S350:Yes)、CPU11は、曲名データを記憶した別のレコードがあることを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S360)。一方、ステップS350にて、リクエストに含まれる曲名データが別のレコードに記憶されていないと判断したとき(S350:No)、CPU11は、曲名データを記憶した別のレコードがないことを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S370)。
HTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、そのレスポンスに含まれるメッセージが、曲名データを記憶した別のレコードがあることを示すものであるか、そのようなレコードがないことを示すものであるかを判断する(S380)。ステップS380にて、曲名データを記憶した別のレコードがあることを示すメッセージであると判断したとき(S380:Yes)、CPU40は、オーディオデータファイルへプライオリティデータをタグデータとして埋め込んだ後(S390)、処理を終了する。一方、ステップS380にて、曲名データを記憶した別のレコードがないことを示すメッセージであると判断したとき(S380:No)、CPU40は、ステップS390を実行することなく、処理を終了する。
以上説明した本実施形態では、オーディオデータファイルへのプライオリティデータの埋め込みが、CDのリッピングによるそのオーディオデータファイルの生成とは別の手続きとして行われる。また、TOCデータの代わりに、オーディオデータファイルにタグデータとして埋め込まれている曲名とアーティスト名とをキーとしてCDデータベース16の検索が行われる。よって、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたり、または、ネットワーク経由でダウンロードしたオーディオデータファイルのようにその収録元のCDからTOCデータを取得しえないものについても、プライオリティデータの埋め込みの有無の判断を行うことができる。
(第3実施形態)
本発明の第3実施形態について、以下、図面を参照しながら説明する。
第2実施形態では、オーディオデータファイルの楽曲の曲名とアーティスト名とをキーとしてCDデータベース16を検索し、参照するレコードを特定するようになっている。これに対し、本実施形態では、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたり、または、ネットワーク経由でダウンロードしたオーディオデータファイルのファイル名が、その楽曲名に変更された上でハードディスクドライブ44に記憶されることが多いことから、オーディオデータファイルのファイル名を曲名のキーとみなしてCDデータベース16の検索を行う。
本実施形態にかかるデータ配信システムをなす、楽曲メタデータ配信装置10、オーディオ再生記録装置30、パーソナルコンピュータ50、およびモデム61のハードウェア構成は上記両実施形態と同様であり、再度の説明を割愛する。
次に、本実施形態の動作を説明する。図8および図9は、本実施形態の特徴的な処理を示すフローチャートである。このフローチャートに示す一連の処理は、一又は複数のオーディオデータファイルがハードディスクドライブ44に記憶された状態で、操作部37の操作を通じてそれらのいずれかが選択されると開始される。なお、選択の対象となり得るオーディオデータファイルは、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたり、または、ネットワーク経由でダウンロードしたオーディオデータファイルであり、且つ操作部37からの操作によってそのファイル名が楽曲の曲名に変更されたオーディオデータファイルである。ただし、第2実施形態と異なり、それらのオーディオデータファイルに曲名やアーティスト名がタグデータとして埋め込まれている必要はない。
オーディオデータファイルが選択されると、CPU40は、そのオーディオデータファイルのファイル名を示す文字列を取得した後(S400)、取得した文字列を示すファイル名データ(「属性データ」に相当)を含むHTTPリクエストをイーサネット(登録商標)コントローラ35から楽曲メタデータ配信装置10に宛てて送信させる(S410)。
HTTPリクエストを受信した楽曲メタデータ配信装置10のCPU11は、受信したリクエストに含まれるファイル名データと同じ文字列からなる曲名データを「曲名」のフィールドに記憶したレコードが、CDデータベース16にあるか否か判断する(S420)。つまり、本ステップS420では、ファイル名データが示す文字列が曲名と同じであるとみなし、その文字列をキーとして検索が行われる。
ステップS420にて、ファイル名データと同じ文字列の曲名データを記憶したレコードがないと判断したとき(S420:No)、CPU11は、そのことを示すメッセージを含むHTTPレスポンスをリクエストの発信元に宛てて送信する(S430)。ファイル名データと同じ文字列の曲名データを記憶したレコードがないことを示すメッセージを含むHTTPレスポンスを受信したオーディオ再生記録装置30のCPU11は、楽曲メタデータが存在しないことを示す文字列を表示部38に表示させた後(S440)、処理を終了する。
ステップS420にて、ファイル名データと同じ文字列の曲名データを記憶したレコードがあると判断したとき(S420:Yes)、CPU11は、そのレコードの「曲名」のフィールドに記憶された曲名データが、「アーティスト」のフィールドの記憶内容を異にする複数のレコードに記憶されているか否か判断する(S450)。つまり、このステップS450では、同じ曲名の楽曲が、別々のアーティストが収録にかかわったCDの収録曲になっているか否かが判断される。
ステップS450にて、「アーティスト」のフィールドの記憶内容を異にする複数のレコードに曲名データが記憶されていると判断したとき(S450:Yes)、CPU11は、それらの複数のレコードの「アーティスト」のフィールドに記憶されたアーティスト名データを読み出し、それらのアーティスト名データを含むHTTPレスポンスをリクエストの発信元に宛てて送信する(S460)。
HTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、そのレスポンスに含まれる複数のアーティスト名データを基にレイアウトしたアーティスト選択画面を表示部38に表示させる(S470)。アーティスト選択画面は、「アーティストを選択してください」という文字列と、複数のアーティスト名を示す文字列とを並べた画面である。この画面を参照したユーザは、操作部37の操作を通じ、いずれかのアーティスト名を選択する。
アーティスト名が選択されると(S480:Yes)、CPU40は、その選択されたアーティスト名のアーティスト名データを含むHTTPリクエストをイーサネット(登録商標)コントローラ35から楽曲メタデータ配信装置10に宛てて送信させる(S490)。
HTTPリクエストを受信した楽曲メタデータ配信装置10のCPU11は、そのリクエストに含まれるアーティスト名データを「アーティスト」のフィールドに記憶し、且つステップS420の判断に用いたファイル名データと同じ文字列の曲名データを「曲名」のフィールドに記憶した複数のレコードがあるか否か判断する(S500)。つまり、このステップS500では、オーディオデータファイルのファイル名により特定され且つユーザの選択にかかるアーティストの楽曲が複数のCDに収録されているか、それとも、そのようなCDは一枚であるかが判断される。なお、ステップS450にて、「アーティスト」のフィールドの記憶内容を異にする複数のレコードに曲名データが記憶されていないと判断したとき、ステップS460からステップS490が実行されることなく、ステップS500へ進む。
ステップS500にて、同じ文字列の曲名データを記憶した複数のレコードがあると判断したとき(S500:Yes)、CPU11は、そのことを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S510)。一方、ステップS500にて、同じ文字列の曲名データを記憶した複数のレコードがないと判断したとき(S500:No)、CPU11は、そのことを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S520)。HTTPレスポンスを受信した楽曲メタデータ配信装置10は、図7のステップS380およびステップS390と同様の処理を行う(S530およびS540)。
以上説明した本実施形態では、オーディオデータファイルのファイル名の文字列がその曲名と同じであるとみなし、ファイル名をキーとしてCDデータベース16の検索を行うようになっている。よって、操作部37からの操作や楽曲メタデータ配信装置10へのアクセスを通じて曲名やアーティスト名のタグデータが埋め込まれていないオーディオデータファイルであっても、プライオリティデータの埋め込みの有無を判断することができる。
(第4実施形態)
本発明の第4実施形態について、以下、図面を参照しながら説明する。
第2実施形態では、あるオーディオデータファイルの楽曲の曲名およびアーティスト名をキーとしてCDデータベース16から特定したレコードと「曲名」のフィールドの記憶内容を同じくする別のレコードがあるとき、プライオリティデータをそのオーディオデータファイルへ埋め込むようになっている。これに対し、本実施形態では、人気のある楽曲の曲名はCDそのもののタイトルになっていることが多いことから、あるオーディオデータファイルの楽曲の曲名と「タイトル」のフィールドの記憶内容を同じくする別のレコードがあるとき、プライオリティデータをそのオーディオデータファイルへ埋め込む。
本実施形態にかかるデータ配信システムをなす、楽曲メタデータ配信装置10、オーディオ再生記録装置30、パーソナルコンピュータ50、およびモデム61のハードウェア構成は上記の3つの実施形態と同様であり、再度の説明を割愛する。
次に、本実施形態の動作を説明する。図10は、本実施形態の特徴的な処理を示すフローチャートである。このフローチャートに示す一連の処理は、一又は複数のオーディオデータファイルがハードディスクドライブ44に記憶された状態で、操作部37の操作を通じてそれらのいずれかが選択されると開始される。なお、選択の対象となり得るオーディオデータファイルは、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたり、または、ネットワーク経由でダウンロードしたオーディオデータファイルであり、且つその後の操作部37からの操作や楽曲メタデータ配信装置10へのアクセスを通じて曲名とアーティスト名のタグデータが埋め込まれたオーディオデータファイルである。
オーディオデータファイルが選択されると、CPU40は、そのオーディオデータファイルにタグデータとして埋め込まれている曲名とアーティスト名とを取得した後(S600)、取得した曲名を示す曲名データ(「属性データ」の一部に相当)とアーティスト名を示すアーティスト名データ(「属性データ」の一部に相当)とを含むHTTPリクエストをイーサネット(登録商標)コントローラ35から楽曲メタデータ配信装置10に宛てて送信させる(S610)。
HTTPリクエストを受信した楽曲メタデータ配信装置10のCPU11は、受信したリクエストに含まれる曲名データを「曲名」のフィールドに記憶し、そのリクエストに含まれるアーティスト名データを「アーティスト」のフィールドに記憶したレコードがCDデータベース16にあるか否か判断する(S620)。
ステップS620にて、曲名データおよびアーティスト名データを記憶したレコードがないと判断したとき(S620:No)、CPU11は、そのことを示すメッセージを含むHTTPレスポンスをリクエストの発信元に宛てて送信する(S630)。曲名データおよびアーティスト名データを記憶したレコードがないことを示すメッセージを含むHTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、楽曲メタデータが存在しないことを示す文字列を表示部38に表示させた後(S640)、処理を終了する。
ステップS620にて、曲名データおよびアーティスト名データを記憶したレコードがあると判断したとき(S620:Yes)、CPU11は、そのレコードの「曲名」のフィールドに記憶された曲名データと同じ文字列からなるタイトルデータが、同じレコードまたは別のレコードの「タイトル」のフィールドに記憶されているか否か判断する(S650)。曲名データにより特定される楽曲が人気のある楽曲でその曲名がCDそのもののタイトルになっている場合、ステップS650の判断結果は「Yes」となり、そうでない場合、ステップS650の判断結果は「No」となる。
ステップS650にて、曲名データと同じ文字列からなるタイトルデータが、同じレコードまたは別のレコードの「タイトル」のフィールドに記憶されていると判断したとき(S650:Yes)、CPU11は、曲名データと同じ文字列のタイトルデータを記憶したレコードがあることを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S660)。一方、ステップS650にて、リクエストに含まれる曲名データが同じまたは別のレコードに含まれていないと判断したとき(S650:No)、CPU11は、曲名データと同じ文字列のタイトルデータを記憶したレコードがないことを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S670)。HTTPレスポンスを受信した楽曲メタデータ配信装置10は、そのレスポンスに含まれるメッセージが、曲名データと同じ文字列のタイトルデータを記憶したレコードがあることを示すものであるか、そのようなレコードがないことを示すものであるかを判断し(S680)、その判断の結果を基に図7のステップS390と同様の処理を行う(S690)。
以上説明した本実施形態によると、オーディオデータファイルの楽曲の曲名とその楽曲を収録したCD、または別のCDのタイトル名とが一致するか否かの判断に基づいて、プライオリティデータの埋め込みの有無の判断を行うようになっている。このような手順によっても、プライオリティデータを埋め込むのに相応しい楽曲を高確度に特定することができる。
(第5実施形態)
本発明の第5実施形態について、以下、図面を参照しながら説明する。
第2実施形態では、あるオーディオデータファイルの楽曲の曲名およびアーティスト名をキーとしてCDデータベース16から特定したレコードと「曲名」のフィールドの記憶内容を同じくする別のレコードがあるとき、プライオリティデータをそのオーディオデータファイルへ埋め込むようになっている。これに対し、本実施形態では、収録曲が1曲から4曲程度のシングルCDの最初に収録された楽曲は人気が高いものであることが多いことから、あるオーディオデータファイルの楽曲の曲名およびアーティスト名をキーとしてCDデータベース16から特定したレコードに記憶されたトラックデータの数が4つ以下であり、且つそのオーディオデータファイルのトラックデータが「Track 1」を示すものであるとき、プライオリティデータをそのオーディオデータファイルへ埋め込む。
本実施形態にかかるデータ配信システムをなす、楽曲メタデータ配信装置10、オーディオ再生記録装置30、パーソナルコンピュータ50、およびモデム61のハードウェア構成は上記の4つの実施形態と同様であり、再度の説明を割愛する。
次に、本実施形態の動作を説明する。図11は、本実施形態の特徴的な処理を示すフローチャートである。このフローチャートに示す一連の処理は、一又は複数のオーディオデータファイルがハードディスクドライブ44に記憶された状態で、操作部37の操作を通じてそれらのいずれかが選択されると開始される。なお、選択の対象となり得るオーディオデータファイルは、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたり、または、ネットワーク経由でダウンロードしたオーディオデータファイルであり、且つその後の操作部37からの操作や楽曲メタデータ配信装置10へのアクセスを通じて曲名とアーティスト名のタグデータが埋め込まれたオーディオデータファイルである。
オーディオデータファイルが選択されると、図7のステップS300からステップS320と同様の処理が実行され(S700からS720)、ステップS720にて、リクエストに含まれる曲名データ(「属性データ」の一部に相当)およびアーティスト名データ(「属性データ」の一部に相当)を記憶したレコードがCDデータベース16にないとCPU11が判断すると(S720:No)、図7のステップS330からステップS340と同様の処理が実行される(S730からS740)。
ステップS720にて、リクエストに含まれる曲名データおよびアーティスト名データを記憶したレコードがCDデータベース16にあると判断すると(S720:Yes)、CPU11は、そのレコードの「トラック」のフィールドに記憶されたトラックデータの数が4つ以下であるか否か判断する(S750)。曲名データにより特定される楽曲がシングルCDに収録されている場合、ステップS750の判断結果は「Yes」となり、そうでない場合、ステップS750の判断結果は「No」となる。
ステップS750にて、「トラック」のフィールドに記憶されたトラックデータの数が4つ以下であると判断したとき(S750:Yes)、CPU11は、リクエストに含まれる曲名データと対応するトラックデータが「Track 1」を示すものであるか否か判断する(S751)。つまり、本ステップS751では、曲名データによって特定される楽曲が、シングルCDの最初に収録されているか否かが判断される。
ステップS751にて、リクエストに含まれる曲名データと対応するトラックデータが「Track 1」を示すものであると判断したとき(S751:Yes)、CPU11は、曲名データと対応するトラックデータが、4つ以上あるうちの「Track 1」であることを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S760)。一方、ステップS750にて、「トラック」のフィールドに記憶されたトラックデータの数が4つよりも多いと判断したとき(S750:No)、または、ステップS751にて、リクエストに含まれる曲名データと対応するトラックデータが「Track 1」を示すものでないと判断したとき(S751:No)、CPU11は、曲名データと対応するトラックデータが、4つ以上あるうちの「Track 1」でないことを示すメッセージを含むHTTPレスポンスをリクエストの発信元へ送信する(S770)。HTTPレスポンスを受信した楽曲メタデータ配信装置10は、そのレスポンスに含まれるメッセージが、4つ以上あるうちの「Track 1」であることを示すものであるかを判断し(S780)、その判断の結果を基に図7のステップS390と同様の処理を行う(S790)。
以上説明した本実施形態では、あるオーディオデータファイルの楽曲の曲名およびアーティスト名をキーとしてCDデータベース16から特定したレコードの「トラック」のフィールドに記憶されたトラックデータの数が4つ以下であるかを判断したあと、そのオーディーデータの楽曲のトラックデータが「Track 1」を示すものであるかを判断する。そして、それらの両要件を満たした楽曲のオーディオデータファイルへプライオリティデータを埋め込む。よって、シングルCDの最初に収録されるような極めて人気の高い楽曲(シングルカット曲)のオーディオデータファイルについてのみ、プライオリティデータを埋め込むことができる。
(第6実施形態)
本発明の第6実施形態について、以下、図面を参照しながら説明する。
第2実施形態では、あるオーディオデータファイルの楽曲の曲名およびアーティスト名をキーとしてCDデータベース16から特定したレコードと「曲名」のフィールドの記憶内容を同じくする別のレコードがあるとき、つまり、同じ楽曲を収録した2以上のCDがあるとき、プライオリティデータをそのオーディオデータファイルへ埋め込むようになっている。これに対し、本実施形態では、いくつのCDに収録されている楽曲かに応じ、オーディオデータファイルに埋め込むプライオリティデータをランク分けする。
本実施形態にかかるデータ配信システムをなす、楽曲メタデータ配信装置10、オーディオ再生記録装置30、パーソナルコンピュータ50、およびモデム61のハードウェア構成は上記の5つの実施形態と同様であり、再度の説明を割愛する。
次に、本実施形態の動作を説明する。図12は、本実施形態の特徴的な処理を示すフローチャートである。このフローチャートに示す一連の処理は、一又は複数のオーディオデータファイルがハードディスクドライブ44に記憶された状態で、操作部37の操作を通じてそれらのいずれかが選択されると開始される。なお、選択の対象となり得るオーディオデータファイルは、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたり、または、ネットワーク経由でダウンロードしたオーディオデータファイルであり、且つその後の操作部37からの操作や楽曲メタデータ配信装置10へのアクセスを通じて曲名とアーティスト名のタグデータが埋め込まれたオーディオデータファイルである。
オーディオデータファイルが選択されると、図7のステップS300からステップS320と同様の処理が実行され(S800からS820)、ステップS820にて、リクエストに含まれる曲名データ(「属性データ」の一部に相当)およびアーティスト名データ(「属性データ」の一部に相当)を記憶したレコードがCDデータベース16にないとCPU11が判断すると、図7のステップS330からステップS340と同様の処理が実行される(S830からS840)。
ステップS820にて、リクエストに含まれる曲名データおよびアーティスト名データを記憶したレコードがCDデータベース16にあると判断すると、CPU11は、そのリクエストに含まれるものと同じ曲名データを「曲名」のフィールドに記憶したCDデータベース16のレコードの数を特定し、その数を含むHTTPレスポンスをリクエストの発信元へ送信する(S850)。
HTTPレスポンスを受信したオーディオ再生記録装置30のCPU40は、そのレスポンスに含まれる数が2以上であるか、つまり、自らがリクエストに含めて送信した曲名データがCDデータベース16の2以上のレコードの「曲名」のフィールドに記憶されているかを判断する(S860)。
ステップS860にて、レスポンスに含まれる数が2以上であると判断したとき(S860:Yes)、CPU40は、その数が3以上であるか、つまり、自らがリクエストに含めて送信した曲名データがCDデータベース16の3つ以上のレコードの「曲名」のフィールドに記憶されているかを判断する(S870)。
ステップS870にて、レスポンスに含まれる数が3以上であると判断したとき(S870:Yes)、CPU11は、「ランク1」のプライオリティデータをオーディオデータファイルへタグデータとして埋め込む(S880)。ステップS870にて、レスポンスに含まれる数が3以上でないと判断したとき(S870:No)、CPU11は、「ランク2」のプライオリティデータをオーディオデータファイルへタグデータとして埋め込む(S890)。「ランク1」のプライオリティデータは、楽曲の優先度が最も高いことを示すデータであり、「ランク2」のプライオリティデータは、優先度がその次に高いことを示すデータである。また、ステップS860にて、レスポンスに含まれる数が2以上でないと判断したとき(S860:No)、CPU11は、ステップS880およびステップS890を実行することなく、処理を終了する。
以上説明した本実施形態では、あるオーディオデータファイルの楽曲の曲名と同じ曲名データを記憶したレコードの数が2つであるときは、「ランク2」のプライオリティデータをそのオーディオデータに埋め込み、レコードの数が3つ以上であるときは、「ランク1」のプライオリティデータをオーディオデータに埋め込む。このように、同じ曲名の楽曲を収録したCDの数に応じて異なるランクのプライオリティデータを埋め込むことにより、曲名やアーティスト名をキーとして検索した複数のオーディオデータファイルを、プライオリティデータのランク別にソートして表示させることが可能となる。
(他の実施の形態)
本発明は、上述の実施形態に限定されることなく、種々の変形実施が可能である。
第1実施形態では、オーディオ再生記録装置30が自らのCDドライブ39に装填されたCDから取得したTOCデータをHTTPリクエストに含めて楽曲メタデータ配信装置10へ送信し、そのTOCデータをキーとしてCDデータベース16の検索を行うようになっている。これに対し、CDのPCMオーディオデータのオーディオ波形から得られるいわゆるサウンド指紋をキーとして、CDデータベース16の検索を行ってもよい。
上記第1から第6実施形態において、CDデータベース16は、楽曲メタデータ配信装置10に設けられ、その楽曲メタデータ配信装置10に宛てたリクエストに対するレスポンスに応じて、オーディオ再生記録装置30がプライオリティデータの埋め込みの有無を判断している。これに対し、CDデータベース16をパーソナルコンピュータ50に設け、このパーソナルコンピュータ50がオーディオ再生記録装置30からのリクエストに応じて同様の判断を行ってもよい。また、オーディオ再生記録装置30のハードディスクドライブ44にCDデータベース16を設け、オーディオ再生記録装置30がコンテンツデータシステムとして、自らのCDデータベース16への問い合わせを基にプライオリティデータの埋め込みの有無を判断してもよい。また、楽曲メタデータ配信装置10がプライオリティデータの埋め込みの有無を判断してもよい。
上記第1から第6実施形態において、オーディオ再生記録装置30によってプライオリティデータが埋め込まれるファイルは、CDをリッピングして得られるオーディオデータファイル、他のオーディオ再生記録装置30やパーソナルコンピュータ50から伝送されたオーディオデータファイル、または、ネットワーク経由でダウンロードしたオーディオデータファイルである。これに対し、チューナ34やADC31を介して供給される信号から得たオーディオデータファイルへプライオリティデータを埋め込んでもよい。また、静止画像や動画像などといった、オーディオデータとは異なるコンテンツデータのファイルへプライオリティデータを埋め込んでもよい。
上記第4実施形態では、あるオーディオデータファイルの楽曲の曲名と同じタイトル名のCDがあるときに、そのオーディオデータファイルへプライオリティデータを埋め込むようになっている。これに対し、あるオーディオデータファイルの楽曲の曲名とまったく同じタイトル名でなくても、データをなす文字列の一致度が所定の範囲にあるような(例えば、一文字違い、大文字小文字の違い、片仮名と平仮名の違いなど)CDがあるときに、そのオーディオデータファイルへプライオリティデータを埋め込むようにしてもよい。
上記第5実施形態では、あるオーディオデータファイルの楽曲の曲名およびアーティスト名をキーとしてCDデータベース16から特定したレコードに記憶されたトラックデータの数が4つ以下であり、且つそのオーディオデータファイルのトラックデータが「Track 1」を示すものであるとき、プライオリティデータをそのオーディオデータファイルへ埋め込むようになっている。これに対し、あるオーディオデータファイルの楽曲の曲名およびアーティスト名をキーとしてCDデータベース16から特定したレコードに記憶されたトラックデータの数が4つ以下であるときは、その楽曲のトラックデータが「Track 1」でなくてもプライオリティデータを埋め込むようにしてもよい。この変形例によると、両A面CDやカラオケCDの収録曲のオーディオデータファイルにもプライオリティデータを埋め込むことができる。また、上記第5実施形態において、ステップS540でプライオリティデータをタグデータとして埋め込んだ後、ステップS480で選択されたアーティスト名を示すタグデータを併せて埋め込むようにしてもよい。
上記第6実施形態では、オーディオデータに埋め込むプライオリティデータのランクを、「ランク1」と「ランク2」の2段階に分けている。これに対し、そのランクを3段階以上に分けてもよい。
上記第1から第6実施形態において、オーディオ再生記録装置30は、SDRAM43やハードディスクドライブ44を有し、そのSDRAM43やハードディスクドライブ44にオーディオデータファイルを記憶させるようになっている。これに対し、フラッシュメモリやEEPROMなどのメモリデバイス、USB接続のストレージ機器などにオーディオデータファイルを記憶させるようにしてもよい。
10…楽曲メタデータ配信装置、30…オーディオ再生記録装置、50…パーソナルコンピュータ、60…LANケーブル、61…モデム、11,40…CPU(11は「判断手段」、「第1の判断手段」、「第2の判断手段」に相当、40は「第1の取得手段」、「第2の取得手段」、「第3の取得手段」、「埋込手段」に相当)、12…RAM、13…ROM、14,44…ハードディスクドライブ、15,35…イーサネット(登録商標)コントローラ、16…CDデータベース、17…楽曲メタデータ配信プログラム、31…ADC、32…DAC、33…DSP、34…チューナ、36…USBコントローラ、37…操作部、38…表示部、39…CDドライブ、41…EEPROM、42…フラッシュメモリ、43…SDRAM、45…アンテナ