本発明は、複数のコンテンツデータのそれぞれが、個別ファイルとして記録される場合におけるコンテンツデータ記録装置に関する。
従来、CD−RやDVDなど、取り外し可能(リムーバブル)な記録媒体(以下、“リムーバブル記録媒体”と適宜省略する)にオーディオデータなどのコンテンツデータを記録するためのフォーマットとして、UDF(Universal Disk Format)が広く用いられて
いる。
また、UDFを拡張して、リムーバブル記録媒体に記録されるコンテンツデータの知的財産権(例えば、著作権)を保護するためのアクセス制御など、セキュリティの確保に関する機能を提供するセキュアUDFの規格も策定されている(非特許文献1参照)。
"セキュアUDF規格1.00版(Secure UDF Specification Revision 1.00)"、[online]、2002年2月26日、オスタ(OSTA)、全文、[平成16年11月26日検索]、インターネット<URL:http://www.osta.org/specs/pdf/SecureUDF_1_00.pdf>
上述したように、セキュアUDFでは、暗号化など、セキュリティの確保に関する様々な仕様が規定されているが、リムーバブル記録媒体に記録されているコンテンツデータを取り扱う利用者の利便性については、さらに改善の余地があった。
そこで、本発明は、このような状況に鑑みてなされたものであり、取り外し可能(リムーバブル)な記録媒体に記録されたオーディオデータなどのコンテンツデータの取扱いに係る利便性を向上させることができるコンテンツデータ構造、コンテンツデータ記録媒体及びコンテンツデータ記録装置を提供することを目的とする。
上述した問題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第1の特徴は、記録媒体に記録されたコンテンツデータを視聴させるための制御手段と、前記コンテンツデータにアクセスするアクセス手段とを備える記録装置であって、前記記録媒体は、コンテンツデータを含むコンテンツファイル群と、前記コンテンツデータの管理情報であるトラックリンクを含むトラックリンクファイルを有し、前記トラックリンクファイルは、視聴に制限がある第1のコンテンツデータを管理するための第1のトラックリンクファイルと、視聴に制限のない第2のコンテンツデータを管理するための第2のトラックリンクファイルとを有するように構成されており、前記コンテンツファイル群は、コンテンツデータを記録するコンテンツファイルと、前記コンテンツデータの付加情報である可変長のメタデータを記録するメタデータファイルを含み、前記トラックリンクは、固定長のデータ構造を有し、かつ、前記コンテンツファイルへのリンク情報と、前記可変長のメタデータが所定の長さより長い場合、前記可変長のメタデータから、その長い部分を削除することで生成した固定長のメタデータを含み、前記制御手段は、前記第1のコンテンツデータを視聴するためのライセンスが取得されると、前記ライセンス情報を格納するライセンスファイルを生成する手段と、前記ライセンスファイルを前記第1のコンテンツデータを含むコンテンツファイルに関連付ける手段と、前記第1のコンテンツデータに対応したライセンスが取得されたことより、前記第1のコンテンツデータの視聴が許可されると、前記ライセンスが取得された第1のコンテンツデータに対応する第1のトラックリンクを、前記第1のトラックリンクファイルから前記第2のトラックリンクファイルへ移動する移動手段とを備え、前記アクセス手段は、前記トラックリンクのリンク情報を参照することで、前記コンテンツデータにアクセスすることを要旨とする。
本発明の第2の特徴は、本発明の第1の特徴に係り、前記記録装置は、前記固定長のメタデータに基づき、前記コンテンツデータのソートを実行することを要旨とする。
かかる特徴によれば、コンテンツデータ(例えば、音楽コンテンツなどのオーディオデータ)を利用するユーザは、リンク情報及びメタデータ(例えば、音楽コンテンツのタイトルやアーティスト名)とを含む管理ファイルを用いるため、コンテンツデータの検索、再生がさらに容易かつ速やかに行え、コンテンツデータの取扱いに係る利便性を向上させることができる。
本発明の特徴によれば、取り外し可能(リムーバブル)な記録媒体に記録されたオーディオデータなどのコンテンツデータの取扱いに係る利便性を向上させることができるコンテンツデータ構造、コンテンツデータ記録媒体及びコンテンツデータ記録装置を提供することができる。
次に、本発明の実施形態の一例について、図面を参照しながら説明する。なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。
(本実施形態に係るコンテンツデータ構造)
まず、本実施形態に係るコンテンツデータ構造、具体的には、ハードディスクや、書き換え可能な光ディスク、メモリカードなどのリムーバブル記録媒体に音楽コンテンツ(オーディオデータ)を蓄積する場合に用いられるファイルフォーマットの概要、ディレクトリ構成、及び各ファイル構成について説明する。
(1) ファイルフォーマットの概要
図1は、本実施形態に係るファイルフォーマット(オーディオフォーマット)の概要を示している。“記録済音楽コンテンツ”(Recorded Music Contents、以下、MCと省略する)は、リムーバブル記録媒体に蓄積される音楽コンテンツの実体である。
(1.1)記録済音楽コンテンツ(Recorded Music Contents)
MC301,302は、CDをリッピングしたり、通信ネットワークを介して配信されたりしたコンテンツである。
MC301,302は、音楽でいうところの1曲で構成される場合、及び複数曲で構成される場合がある。いわゆる“音楽アルバム”という単位は、1つのMCで表現することも可能である。なお、“トラック”は、音楽1曲分で構成され、“音楽アルバム”は、複数の曲によって構成される。
また、MC301,302は、音楽コンテンツのみではなく、当該音楽コンテンツのメタデータ(曲のタイトルやアーティスト名など)を含む。
さらに、音楽コンテンツが暗号化されている場合には、MC301,302は、暗号化された当該音楽コンテンツを復号するための復号鍵や、当該音楽コンテンツの利用条件などが記載されたライセンスファイルとの関連性を示す情報を有する。なお、MC301,302に含まれる音楽コンテンツ(オーディオデータ)は、圧縮された状態でリムーバブル記録媒体に記録することも、もちろん可能である。
(1.2)トラックリンク(Track Link)
“トラックリンク”(Track Link、以下TLと省略する)は、MCの中の1曲へのリンク情報(トラックリンク情報)である。TL201〜20N+1によって、音楽コンテンツへの1曲単位のアクセスが可能となる。また、TL201〜20N+1は、MC301,302へのトラックリンク情報以外に、TLのID、ユーザの検索・提示用のメタデータ、最後に再生された音楽コンテンツの位置を記録するリジューム情報、及び後述する“トラックグループ”からのリンク数を記録するリンクカウント情報などを有する。
(1.3)トラックグループ(Track Group)
“トラックグループ”(Track Group、以下TGと省略する)は、TLの集合体(TLのリストで表現される)、またはTGの集合体(TGのリストで表現される)である。
TLの集合体によって表現されるTG10は、当該リストの順序に意味がある場合と、意味がない場合とに区別される。例えば、“音楽アルバム”や、ユーザが気に入った曲を集めた“プレイリスト”などは、リストの順序に意味がある。なお、“プレイリスト”は、ユーザが自由に作成可能であり、複数の曲のリストによって構成される。
一方、TG10が、リムーバブル記録媒体に記録された全曲を管理する“基本トラックセット”である場合、リストの順序に意味がない。また、TGの集合体で表現されるTGは、リストの順序に意味がない。当該TGの使用例としては、プレイリストを集めたトッププレイリストなどがある。
TGには、グループリストや、TGのIDが記録される。また、リストの順序に意味がある場合、リジューム情報などが記録される。
(2)ディレクトリ・ファイル構成
図2は、本実施形態において用いられるディレクトリ及びファイルの構成(ファイルシステム)を示している。なお、本実施形態では、ファイルシステムとして、セキュアUDFが使用される。
AUR_ROOTディレクトリ110は、ROOTディレクトリ100の配下に位置し、音楽コンテンツ(オーディオデータ)をリムーバブル記録媒体に記録するアプリケーションのルートディレクトリ、つまり、オーディオフォーマット用のルートディレクトリである。
AUD_SET.MGR120は、リムーバブル記録媒体に記録済みである全ての音楽コンテンツを管理するファイルである。なお、AUD_SET.MGR120では、上述したTLやTGも管理される。
RT_AURSディレクトリ130は、音楽コンテンツの実体が記録されているディレクトリである。具体的には、AUDxxxxxxx.AIFファイル140が音楽コンテンツの実体である。“xxxxxxx”には、7桁(00000000〜9999999まで)の数字(ASCIIコード)が記述される。
(3)AUD_SET.MGRの構成
図3は、AUD_SET.MGRの構成を示している。主ファイルであるAUD_SET.MGR120には、UDFによって定義されるストリームファイルがいくつか付属している。AUD_SET.MGR120は、ユーザインタフェースへのエントリ情報、TL及びTGの管理情報を有する。
TrackLinksストリームファイルは、再生可能な状態の全てのトラックリンク情報を管理する。TG_0000は、TrackLinksストリームファイルに記述されている全トラックを管理しているTGであり、リムーバブル記録媒体を使用する装置(例えば、コンテンツデータ記録装置)によってメンテナンスが実行される。
PRTLsストリームファイルは、再生可能な状態にない全てのトラックリンク情報を管理している。TG_9999は、PRTLsに記述されている全トラックを管理しているTGであり、プリセットモデルの場合にのみ存在する。TG_xxxxは、ユーザあるいは機器が自由に定義できるTGである。xxxxは、4桁(0000〜9999まで)の数字(ASCIIコード)が記述される。なお、プリセットモデルの内容については、後述する。
(3.1)AUD_SET.MGRファイル
主ファイルであるAUD_SET.MGR120は、表1に示すようなモジュールの列、すなわち、(i)ユーザインタフェースエントリ情報、(ii)トラックリンク管理情報、及び(iii)トラックグループ管理情報によって構成される。
(3.1.1)ユーザインタフェースエントリ情報
ユーザインタフェースエントリ情報は、表2に示すようなエントリ構造を有する。
“Audio Format Identifier”には、ASCIIコードによって、“AUDIO”と記述される。“Book Version”には、ブックのバージョンが記述される。バージョン1.0の場合は、“0x10”と記述する。
“Flag”は、表3に示すような構造を有する。
“Reserved”(bit7〜1)は、将来のためにリザーブされているビットであり、0bに設定される。“Preset”(bit0)は、プリセットモデルなどにおいて、ライセンスを購入していない音楽コンテンツが存在する場合には1b、当該音楽コンテンツが存在しない場合には0bに設定される。
“Last Accessed UIE TG_ID”(表2参照)には、最後にアクセスしたTGのIDが記述される。Last Accessed UIE TG_IDは、リジュームポイント(Resume Point)に使用される。
“Resume Support Flag”は、表4に示すような構造を有する。
“Reserved”(bit7〜1)は、将来のためにリザーブされているビットであり、0bに設定される。“Resume”(bit0)は、リジューム機能をサポートしている機器では1b、リジューム機能をサポートしていない機器では0bと記述される。
“Last Accessed UIE TG_ID recorded Date”(表2参照)には、最後にアクセスしたTGのIDが記録された時刻が記述される。“TIME”フォーマットは、14バイト分のASCIIコードによって、次のように表現される。すなわち、西暦4桁、月2桁、日2桁、時2桁(24時間表示)、分2桁、及び秒2桁で表現される。タイマーを有しない機器の場合では、オール0に設定される。
“Number of UIE TGs”には、AUD_SET.MGR120の配下に位置するユーザインタフェースのエントリとなる最上位TGのIDの総数が記述される。
“UIE TG_ID(1) for Base Track Set”には、1番目のUIE TG_IDが記述される。具体的には、ASCIIコードで0000が記述される。当該UIE TG_IDは、ストリームファイルTG_0000に対応している。UIE TG_IDは、ストリームファイルTG_xxxxのうち、xxxxに対応する。TG_0000は、全トラックを管理するTGとして必ず存在する。
“UIE TG_ID(1) Name”には、ASCIIコードでUIE TG_ID(1)の名前が記述される。すなわち、対応するTG構造体のTG Specific Structure Nameがコピーされる。具体的には、UIE TG_ID(1) Name”には、TrackSetBaseと記述される。
“UIE TG_ID(2)”には、2番目のUIE TG_IDが記述される。具体的には、4桁の数字がASCIIコードで記述される。4桁の数字は、ストリームファイルTG_xxxxに対応している。
“UIE TG_ID(2) Name”には、“UIE TG_ID(1) Name”と同様に、ASCIIコードでUIE TG_ID(2)の名前が記述される。
“UIE TG_ID(n)”には、n番目のUIE TG_IDが記述される。具体的には、4桁の数字がASCIIコードで記述される。4桁の数字は、ストリームファイルTG_xxxxに対応している。また、“UIE TG_ID(n) Name”には、“UIE TG_ID(1) Name”と同様に、ASCIIコードでUIE TG_ID(n)の名前が記述される。
(3.1.2)トラックリンク管理情報
トラックリンク管理情報は、表5に示すようなエントリ構造を有する。
“Track Link Location”には、TLが記録されるファイル名(TrackLinks)が、ASCIIコードで記述される。
“Prerecorded Track Link Location”には、リムーバ
ブル記録媒体の購入時から記録されているTLが記録されるファイル名が、ASCIIコードで記述される。“Prerecorded Track Link Location”は、プリセットモデルにおいて使用される。プリセットモデルの場合、“Prerecorded Track Link Location”には、PRTLsと記述される。プリセットモデル以外では、“Prerecorded Track Link Location”は、無視される。
(3.1.3)トラックグループ管理情報
トラックグループ管理情報は、表6に示すようなエントリ構造を有する。
“Number of Track Groups”には、TGの総数が記述される。“Maximum Track Group ID”には、TG_IDの最大値が記述される。具体的には、4桁の数字がASCIIコードで記述される。ただし、“9999”は、プリセットモデル用として割り当てられるため、当該最大値として考慮しない。
(3.2)TrackLinksストリームファイル・PRTLsストリームファイル
TrackLinksストリームファイル及びPRTLsストリームファイルは、表7に示すような構造を有する。
“Number of Track Links”には、TrackLinksストリームファイルまたはPRTLsストリームファイルに含まれているTLの総数が記述される。“Number of Valid Track Links”には、TrackLinksストリームファイル及びPRTLsストリームファイルに含まれているTLの中で有効なTL数が記述される。
“Track Link Information(1)〜(n)”は、TL構造体がn個並んだ構造である。nは、“Number of Track Links”フィールドの数値である。TLのIDは、表7に示したように、“1”から昇順で割り当てられる。
なお、本実施形態では、TrackLinksストリームファイルのTLのIDは、TL_IDと表記され、PRTLsストリームファイルのTLのIDは、PRTL_IDと表記される。
(3.2.1)TL構造体
TL構造体は、表8に示すような構造を有する。
“TL TYPE”には、TL Specificな構造体のTYPE(表9参照)が記述される。なお、本実施形態では、日本方式(TYPE1)が定義されている。
“Length of Structure”(表8参照)には、TL構造体の長さ(バイト数)が記述される。
“TL Flag”は、表10に示すような構造を有する。
“V(bit7)”には、TL構造体が有効であるか否かを示す情報が記述される。具体的には、TL構造体が有効である場合、“V(bit7)”は、1bに設定される。TL構造体が無効である場合、“V(bit7)”は、0bに設定される。“V(bit7)”は、TL構造体の簡易消去に利用される。
“Reserved(bit6〜3)”は、将来のためにリザーブされているビットであり、0bに設定される。“PS(bit2)”では、プリセットモデルに係る曲へのリンクの場合には1b、そうでない場合には0bが設定される。
“PE(bit1)”では、再生可能な曲へのリンクの場合、つまり、その曲のライセンスを有している場合、またはその曲が暗号化されてない場合には1b、再生が不可能な場合、つまり、その曲が暗号化されており、その曲のライセンスを有していない場合には0bが設定される。
“Part(bit0)”では、MCとして複数曲が記録されている場合であって、その一部を指定する場合には、1bに設定される。MCが1曲の場合には、0bとに設定される。“Part(bit0)”が1bのときに限って、“Start Point in Contents File”及び“Content Length”フィールドが有効となる。
“Link Count”(表8参照)には、TGからリンクされているリンク総数が記述される。“Music Contents ID”には、Music Contents IDが記述される。具体的には、コンテンツファイルのAUDxxxxxxx.AIFファイルのxxxxxxxに相当する数字がASCIIコードで記述される。
“Start Point in Contents File”では、音楽コンテンツファイルのリンク開始位置が、当該ファイルの先頭からのバイト位置によって指定される。“Content Length”には、音楽コンテンツファイルへのリンク範囲(バイト長)が記述される。上述したように、TL_FlagのPartビット(表10参照)が1bの場合にのみ、“Start Point in Contents File”及びContent Length”フィールドが有効となる。
“Last Accessed Time”には、最後に再生された音楽コンテンツファイルへのアクセス時刻が記録される。“Resume Point”では、音楽コンテンツファイル(AUDxxxxxxx.AIFファイル)の再生開始位置が、当該ファイルの先頭からのバイト位置によって指定される。
“Playback Counter”には、再生開始を指示した回数が記述される。なお、“Playback Counter”フィールドに記述される回数には、リジュームによる再生は含まない。“My Rating Info”には、ユーザによって入力される10段階の重み付け情報が記述される。
“Character Set of Metadata”では、メタデータフィールドの文字コード(表11参照)が定義される。
“Title(MetaData、以下MD)”(表8参照)には、トラックタイトルが記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Titleカナ(MD)”には、トラックタイトルの検索用カナが、全角カタカナによって記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Artist Name(MD)”には、アーティスト名が記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Artist Nameカナ(MD)”には、アーティスト名の検索用カナが、全角カタカナによって記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Genre(MD)”には、ジャンルが記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Genreカナ(MD)”には、ジャンルの検索用カナが、全角カタカナによって記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Composer(MD)”には、作曲者名が、全角カタカナによって記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Album Title(MD)”には、音楽アルバム(CD)のタイトルが、全角カタカナによって記述される。文字コードは、“Character Set of Metadata”フィールドにおいて指定されたものが使用される。トラックタイトルの終端は、NULL文字を格納することによって行われる。
“Track Number in CD(MD)”では、音楽アルバムの場合におけるトラック番号が記述される。
(3.3)TG_xxxxストリームファイル
TG_xxxxストリームファイルは、表12に示すような構造を有する。
“TG Specific Structure TYPE”には、TG Specificな構造体のTYPE(表13参照)が記述される。
“TG Flag”は、表14に示すような構造を有する。
“Reserved(bit7〜2)”は、将来のためにリザーブされているビットであり、0bに設定される。なお、このビットは、文字コードの識別情報用として使用される予定である。
“TL/TG(bit1)”では、TLのリストの場合には1b、TGのリストの場合には0bに設定される。“S/G(bit0)”では、リストの順序が再生順である場合には1b、再生順でない場合には0bに設定される。
“TG Specific Structure Name”(表12参照)には、TG Specificな構造体の名前が、ASCIIコードで記述される。“Link Count”には、TGからリンクされているリンク総数が記述される。なお、ユーザインタフェースエントリ情報から参照されている場合も、リンク数1としてカウントされる。
“Resume element”には、リジュームのエレメントの番号が記述される。当該番号は、element ID(x)のxに相当する番号である。“Resume element”は、TG_FlagのS/Gビットが1の場合にのみ有効となる。
“TG Specific Structure TYPE Specific Area”は、TG Specificな構造体に依存した構造を定義するための領域である。“Number of elements”には、TGに属するelementの総数が記述される。“element ID(1)〜(n)”には、各element IDが記述される。
“element ID(1) Name〜element ID(n) Name”には、element IDの名前が記述される。
(3.3.1)TG_0000ストリームファイル
TG_0000ストリームファイルは、TrackLinksストリームファイルによって管理されているTLを管理するTGである。上述したTG_xxxx構造体(TG_xxxxストリームファイル)で定義されるが、次のような制約がある。
・ TG Specific Structure TYPE = 0x00
・ TG Flag = 0x2
・ TG Specific Structure Name = Track_Bas
e
・ Link Count = 0
・ Number of elements: TrackLinksストリームファイルによって管理されている有効なTL数と一致する
・ element ID(1)〜(n): TL_IDが記述される
(3.3.2)TG_9999ストリームファイル
TG_9999ストリームファイルは、プリセットモデルの場合にのみ、初期状態において存在し、PRTLsストリームファイルによって管理されているTLを管理するTGである。上述したTG_xxxx構造体(TG_xxxxストリームファイル)で定義されるが、次のような制約がある。
・ TG Specific Structure TYPE = 0xFF
・ TG Flag = 0x2
・ TG Specific Structure Name = Preset_Tr
ack_Base
・ Link Count = 0
・ Number of elements: PRTLsストリームファイルによって管理されている有効なTL数と一致する
・ element ID(1)〜(n): PRTL_IDが記述される
(3.3.3)TG_xxxxストリームファイル
TG_xxxxストリームファイルは、TLのリストまたはTGのリストによって表現される。TLのリストで表現される場合は、element_IDには、TrackLinksストリームファイルによって管理されているTL_IDが記述されなければならない。なお、PRTLsストリームファイルのPRTL_IDは、参照することができない。
(4)AUDxxxxxxx.AIFファイルの構成
図4は、AUDxxxxxxx.AIFファイルの構成を示している。同図に示すように、AUDxxxxxxx.AIFファイル140は、AudioDataストリームファイル(AudioData)、MetaDataストリームファイル(MetaData)、及び*UDF_LICENCEセキュアストリームファイル(*UDF_LICENCE)によって構成されている。
(4.1)AUDxxxxxxx.AIFファイル
主ファイルであるAUDxxxxxxx.AIFファイル140は、表15に示すようなモジュールの列、すなわち、(i)オーディデータ管理情報、(ii)メタデータ管理情報、及び(iii)ライセンス管理情報によって構成される。
(4.1.1)オーディデータ管理情報
オーディデータ管理情報は、表16に示すようなエントリ構造を有する。
“Number of Tracks”には、AudioDataストリームファイルに記録されているトラック数が記述される。
“AUD Flag”は、表17に示すような構造を有する。
“Reserved(bit7〜1)”は、将来のためにリザーブされているビットであり、0bに設定される。“Enc(bit0)”には、AudioDataストリームファイルのTrack Data部分が暗号化されている場合には1b、暗号化されてい
ない場合には0bに設定される。
“Playback Time”(表16参照)には、全トラックの再生時間が記述される。“File Size”には、AudioDataストリームファイルのファイルサイズが記述される。“Audio Format(Codec)”には、Audio Format(表18参照)が記述される。
“Bit Rate”(表16参照)には、ビットレート(単位:kbps)が記述される。“File Create Date”には、ファイル作成日が記述される。“Audio File Location”には、オーディオデータが記録されるファイル名が、ASCIIコードで記述(AudioDataと記述)される。
(4.1.2)メタデータ管理情報
メタデータ管理情報は、表19に示すような構造を有する。
“Character Set in Metadata File”では、MetaDataストリームファイルの文字コード(表20参照)が定義される。
“MetaData Format”には、TG Specificな構造体のTYPE(表21参照)が記述される。
“MetaData File Location”(表19参照)には、メタデータが記録されるファイル名が、ASCIIコードで記述(MetaDataと記述)される。
(4.1.3)ライセンス管理情報
ライセンス管理情報は、表22に示すような構造を有する。
“License Flag”は、表23に示すような構造を有する。
“Reserved(bit7〜2)”は、将来のためにリザーブされているビットであり、0bに設定される。
“PS(bit1)”では、プリセットモデルの場合には1b、そうでない場合には0bが設定される。“LE(bit0)”では、ライセンスが存在する場合には1b、存在しない場合には0bに設定される。
“License File Location”(表22参照)には、ライセンス(復号鍵及び利用条件)が記録されるファイル名がASCIIコードで記述される。具体的には、License FlagのLEビットが1bの場合のみ、*UDF_LICENSEと記述される。
(4.2)AudioDataストリームファイル
AudioDataストリームファイルは、表24に示すようなモジュールの列、すなわち、(i)Audio Data Header及び(ii)Track Dataによって構成される。
(4.2.1)Audio Data Header
Audio Data Headerは、表25に示すようなエントリ構造を有する。なお、Audio Data Headerは、暗号化の対象とならない。
“Length of Audio Data Header”には、Audio Dat
a Header長(バイト数)が記述される。“Number of Tracks”に
は、AudioDataストリームファイルに記録されているトラック数が記述される。“Length of Track Data(#1)〜(#n)には、Track Data長(バイト数)が記述される。
(4.2.2)Track Data
Track Dataには、Audio Formatに準じたデータが記録される。なお、Track Dataは、暗号化されている場合もある。
(4.3)MetaDataストリームファイル
MetaDataストリームファイルは、表26に示すような構造を有する。
(4.4)*UDF_LICENCEセキュアストリームファイル
*UDF_LICENCEセキュアストリームファイルには、ライセンス(復号鍵及び
利用条件)が記述されている。アプリケーションは、*UDF_LICENCEセキュア
ストリームファイルが存在すれば、暗号化されたAudioDataストリームファイルを復号できる。
(音楽コンテンツ管理モデル構成例)
次に、上述した本実施形態に係るコンテンツデータ構造を用いた音楽コンテンツの管理モデル構成例について説明する。
(1)構成例1
図5は、“Track_Base(TG10TB)”を用いたモデル構成例を示している。
Track_Base(TG10TB)は、視聴可能状態で記録されたトラックの全リストを管理しているTGである。なお、音楽コンテンツ(MC301,302)が暗号化されている場合には、復号するためのライセンスが必要となる。
Track_Base(TG10TB)は、AUD_SET.MGRファイルの配下において、TG_0000ストリームファイルとして存在する。Track_Base(TG10TB)は、AUD_SET.MGRファイルの配下において、TrackLinksストリームファイルとして管理されている全てのTL(TL201〜20N+1)を管理する。
(2)構成例2
図6は、Preset_Track_Base(TG10PTB)を用いたモデル構成例を示しているPreset_Track_Base(TG10PTB)は、“プリセットモデル”の場合にのみ存在するファイル(TG)である。
プリセットモデルとは、暗号化された音楽コンテンツ(MC303,304)をリムーバブル記録媒体に記録した状態でユーザに販売し、ユーザは、表示されるリストの中から気に入ったトラックを購入するというビジネスモデルである。
プリセットモデルでは、ユーザは、気に入ったトラックの購入時に暗号化された音楽コンテンツ(MC303,304)を復号するためのライセンスのみを取得すれば良い。このため、ユーザは、気に入ったトラック(音楽コンテンツ)をサーバなどからダウンロードする必要がなく、速やかに音楽コンテンツを購入できる。
また、プリセットモデルでは、暗号化された音楽コンテンツ(MC303,304)は、視聴可能な音楽コンテンツと同様にRT_AURSディレクトリ130の配下に位置するAUDxxxxxxx.AIFファイル140(図2参照)に記録される。ただし、当初は、ライセンス(*UDF_LICENCEセキュアストリームファイル)がない状態であるため、そのままでは、暗号化された音楽コンテンツ(MC303,304)は、再生することができない。
TL211〜21N+1は、AUD_SET.MGRファイルの配下において、PRTLsストリームファイルとして管理され、視聴可能な音楽コンテンツを管理しているTrackLinksストリームファイルとは別に管理される。
さらに、プリセットモデルでは、視聴が不可能な状態で記録された、つまり、復号するためのライセンスを有していないトラックの全リストを管理しているTGが、AUD_SET.MGRファイルの配下において、TG_9999ストリームファイルとして存在する。
TG_9999ストリームファイルは、AUD_SET.MGRファイルの配下に位置するPRTLsストリームファイルとして管理されている全てのTLを管理する。PRTLsストリームファイルとして管理されているTLは、ユーザが定義するTGからリンクすることができないという制限を有する。
ユーザが、暗号化された音楽コンテンツのライセンスを取得(購入)した場合、当該MCに対応するTLは、PRTLsストリームファイルから削除され、TrackLinksストリームファイルに追加される。
図7及び図8は、ユーザが、暗号化された音楽コンテンツのライセンスを取得(購入)した場合に、当該MCに対応するTLが、PRTLsストリームファイルから削除され、TrackLinksストリームファイルに追加される様子を示している。
図7は、ライセンス(復号鍵及び利用条件)の取得前における音楽コンテンツの管理状態を示している。図7に示すように、MC303,304については、ライセンスが取得済み(図において、“Licence”と表記されている)である。一方、MC301,302,30Mについては、ライセンスがまだ取得されていない状態である。
ここで、ユーザは、MC302のライセンスを新たに取得したものとする。図8は、MC302のライセンスが取得された後における音楽コンテンツの管理状態を示している。図8に示すように、PRTLsストリームファイルから、MC302に対応するTL212が削除されている。
一方、TrackLinksストリームファイルには、MC302に対応するTLとして、TL203(TL_ID#3)が追加されている。
(3)構成例3
図9は、音楽コンテンツ(オーディオデータ)管理モデルの基本的な構成例を示している。図9に示すように、AUD_SET.MGRファイルに含まれるユーザインタフェースエントリ情報(表2参照)に、最初にアクセスするべきUIE TG_IDのリストが存在する。
図9に示した構成例では、2つのリストが存在する。1つは、TG_IDが0000であるTrack_Base(TG10TB)であり、視聴可能な全てのTLを管理する。Track_Base(TG10TB)は、必ず存在し、コンテンツデータ記録装置は、Track_Base(TG10TB)の内容をメンテナンスする必要がある。
もう1つは、TG_IDが0001であり、プレイリストのエントリとなるPlay List Top(10PLT)である。Play List Top(10PLT)は、TGのリストとして表現される。図9に示した構成例では、3つのプレイリストを管理している。
Play List#1,#2,#3(TG10PL1,10PL2,10PL3)は、TG_ID0002,0003,0004にそれぞれ対応している。ユーザは、Play List#1,#2,#3(TG10PL1,10PL2,10PL3)を新規に作成したり、消去したりすることができる。また、ユーザは、Play List#1,#2,#3(TG10PL1,10PL2,10PL3)の内容を編集することができる。それぞれのプレイリストは、TL(TL201〜20N)のリストで表現されている。
(4)構成例4
図10は、音楽アルバムを管理する場合における構成例を示している。図9に示したプレイリスト(Play List#1,#2,#3(TG10PL1,10PL2,10PL3))との違いは、CDをリッピングする際にコンテンツデータ記録装置が、関連するフォルダ及びファイル(Album Top(TG10AT),Artist A(TG10A),Artist B(TG10B),Album#1,#2,#3(TG10A1,TG10A2,TG10A3)を生成し、当該フォルダ及びファイルは、ユーザからの編集が不可となることである。
また、本構成例では、Track_Base(TG10TB)は、音楽アルバムの情報については管理しない。
次に、上述したコンテンツデータ構造を用いた実施例について、図面を参照しながら説明する。
(コンテンツデータ記録装置の構成)
図11は、本実施例に係る音楽レコーダ1000(コンテンツデータ記録装置)の構成を示している。
図11に示すように、音楽レコーダ1000は、CD1101をドライブするCDドライブ1102を有している。
AACエンコーダ1104は、CDドライブ1102によって読み込まれた音楽コンテンツ(オーディオデータ)のデータ量を圧縮するものである。具体的には、AACエンコーダ1104は、MPEG−4 AAC(ISO/IEC14496−3)に基づいて、オーディオデータを圧縮する。
暗号化処理部1106は、AACエンコーダ1104によって圧縮されたオーディオデータを暗号化するものである。また、復号化処理部1108は、暗号化されたオーディオデータを復号化するものである。
AACデコーダ1110は、復号化処理部1108によって出力され、MPEG−4 AACに基づいて圧縮されているオーディオデータを復号(伸長)するものである、D/A変換部1112は、AACデコーダ1110によって出力されたオーディオデータを、アナログ信号に変換するものである。D/A変換部1112によって出力されたアナログ信号は、スピーカ1114を駆動する。
制御部1116は、MPUなどによって構成されており、制御部1116と接続されている各部を制御するものである。また、制御部1116は、タイマーを内蔵しており、日付や時刻の情報を取得することができる。
制御部1116は、リムーバブルHDD1126上におけるMCの位置及びサイズなどを示すトラックリンク情報(リンク情報)を生成するものであり、本実施形態では、リンク情報生成部を構成する。
また、制御部1116は、MCの内容(例えば、タイトルやアーティスト名)を記述し、MC(個別ファイル)の検索に用いられるメタデータを取得するものであり、本実施形態では、モデム1128とともに、メタデータ取得部を構成する。
さらに、制御部1116は、トラックリンク情報とメタデータとを含むAUD_SET.MGRファイル(管理ファイル)を生成するものであり、本実施形態では、管理ファイル生成部を構成する。
また、制御部1116は、AUD_SET.MGRファイルを用いて、MCを検索するものであり、本実施形態では、コンテンツ検索部を構成する。なお、AUD_SET.MGRファイルには、上述したように、MCの再生を許可するライセンス管理情報(*UDF_LICENCEセキュアストリームファイル)が含まれている。制御部1116は、当該ライセンス管理情報に基づいて、MCを再生するものであり、本実施形態では、復号化処理部1108とともに、コンテンツ再生部を構成する。
表示部1118は、制御部1116によって出力された情報、例えば、音楽コンテンツのトラック数、トラック番号、及びタイトルやアーティスト名などのメタデータを表示するものである。リモコン受光部1120は、リモコン1122から送信された赤外線光を受光するものである。
ATAインタフェース1124は、制御部1116とリムーバブルHDD1126とを通信可能に接続するためのインタフェース(At Attachment)である。
リムーバブルHDD1126は、音楽レコーダ1000からの取り外しが可能なリムーバブル記録媒体である。リムーバブルHDD1126は、CD1101からリッピングされたオーディオデータを記録し、上述したコンテンツデータ構造によって当該オーディオデータが管理される。
リムーバブルHDD1126には、上述したように、複数の音楽コンテンツ(MC301,302など)のそれぞれが、個別ファイルとして記録される。
モデム1128は、音楽レコーダ1000(制御部1116)と、コンテンツサーバ1132及びメタデータサーバ1134とを、インターネット網1130を介して通信可能に接続するための通信デバイスである。
なお、音楽レコーダ1000は、インターネット網1130との接続に用いられる通信回線の方式に基づいて、モデム1128以外の通信デバイス、例えば、メディアコンバータなどを実装することもできる。
(コンテンツデータ記録装置の動作)
次に、上述した本実施例に係る音楽レコーダ1000(コンテンツデータ記録装置)の動作について説明する。
(1)リムーバルHDDの初期化
図12は、音楽レコーダ1000に接続されるリムーバブルHDD1126の初期化処理フローを示している。
図12に示すように、ステップS10において、音楽レコーダ1000は、AUR_ROOTディレクトリを作成する。
ステップS20において、音楽レコーダ1000は、AUD_SET.MGRファイルを作成する。具体的には、AUD_SET.MGRファイルを構成するフィールドは、以下のように設定される。
・ Flag = 0
・ Num of UIE TGs = 1
・ UIE TG ID(1) = 0000(ASCII)
・ Track Link Location = “./PROG_SET.MGR#TrackLinks”
・ Number of Track Groups = 1
・ Maximum Track Group ID = 0000
ステップS30において、音楽レコーダ1000は、TrackLinksストリームファイルを作成する。具体的には、TrackLinksストリームファイルを構成するフィールドは、以下のように設定される。
・ Number of Track Links = 0
・ Number of Valid Track Links = 0
ステップS40において、音楽レコーダ1000は、TG_0000ストリームファイルを作成する。具体的には、TG_0000ストリームファイルを構成するフィールドは、以下のように設定される。
・ TG Specific Structure TYPE = 0x00
・ TG Flag = 0x02
・ TG specific structure name = “Track Base”
・ Link Count = 0
・ Number of elements = 0
ステップS50において、音楽レコーダ1000は、RT_AURSディレクトリを作成する。
(2)CDリッピング(1曲)
図13は、CD1101(図11参照)に含まれる音楽コンテンツ(オーディオデータ)から、1曲分のオーディオデータをリッピングし、リムーバブルHDD1126に記録するフローを示している。
図13に示すように、ステップS110において、音楽レコーダ1000は、CD1101に含まれるオーディオデータに基づいて、AUDxxxxxxx.AIFファイルを作成する。具体的には、AUDxxxxxxx.AIFファイルを構成するフィールドは、以下のように設定される。なお、以下に示すフィールドにおいて、具体的な内容がないフィールドについては、AUDxxxxxxx.AIFファイルの内容に応じて適切なデータが記述される。
・ Number of Tracks = 1
・ AUD Flag
・ Playback Time
・ File Size
・ Audio Format = (AAC)
・ Bit rate
・ File Created Date
・ Character Set (Unicode)
・ MetaDataFile Format
・ License Flag
・ License File Location
ステップS120において、音楽レコーダ1000は、TrackLinksストリームファイルの内容を更新する。具体的には、音楽レコーダ1000は、以下に示すように、TrackLinksストリームファイルの内容を更新する。なお、以下に示すフィールドにおいて、具体的な内容がないフィールドについては、AUDxxxxxxx.AIFファイルの内容などに応じて適切なデータが記述される。
・ Number of Track Links = n+1
・ Number of Valid Track Links = n+1
・ TL構造体追加
・ TL Specific Structure TYPE = 0x1
・ TL Flag
・ Link Count = 1 (from TG_0000)
・ Music Content ID = xxxxxxx
・ MetaData
・ My Rate Info
・ Last Accessed Time
・ Playback Counter
・ Resume Point
ステップS130において、音楽レコーダ1000は、TG_0000ストリームファイルの内容を更新する。具体的には、音楽レコーダ1000は、以下に示すように、TG_0000ストリームファイルの内容を更新する。
・ Number of elements = n+1
・ element IDを追加
(3)CDリッピング(音楽アルバム)
図14は、CD1101に含まれる音楽コンテンツ(オーディオデータ)から、複数曲によって構成されるオーディオデータをリッピングし、リムーバブルHDD1126に記録するフローを示している。
図14に示すように、ステップS210において、音楽レコーダ1000は、CD1101に含まれるオーディオデータに基づいて、AUDxxxxxxx.AIFファイルを作成する。具体的には、AUDxxxxxxx.AIFファイルを構成するフィールドは、以下のように設定される。なお、以下に示すフィールドにおいて、具体的な内容がないフィールドについては、AUDxxxxxxx.AIFファイルの内容に応じて適切なデータが記述される。
・ Number of Tracks = m(音楽アルバムにm曲収容されている)
・ AUD Flag
・ Playback Time
・ File Size
・ Audio Format = (AAC)
・ Bit rate
・ File Created Date
・ Character Set (Unicode)
・ MetaDataFile Format
・ License Flag
・ License File Location
ステップS220において、音楽レコーダ1000は、TrackLinksストリームファイルの内容を更新する。具体的には、音楽レコーダ1000は、以下に示すように、TrackLinksストリームファイルの内容を更新する。なお、以下に示すフィールドにおいて、具体的な内容がないフィールドについては、AUDxxxxxxx.AIFファイルの内容などに応じて適切なデータが記述される。
・ Number of Track Links = n+m
・ Number of Valid Track Links = n+m
・ m個のTL構造体追加
ステップS230において、音楽レコーダ1000は、TG_0000ストリームファイルの内容を更新する。具体的には、音楽レコーダ1000は、以下に示すように、TG_0000ストリームファイルの内容を更新する。
・ Number of elements = n+m
・ element IDを追加(m個)
ステップS240において、音楽レコーダ1000は、TG_xxxxストリームファイルを作成する。具体的には、TG_xxxxストリームファイルを構成するフィールドは、以下のように設定される。
・ TG Specific Structure TYPE = 0x01
・ TG Flag = 0x03
・ TG specific structure name = アルバムタイトル
・ Link Count = 0
・ Number of elements = m
・ element ID: m個のIDを追加する
・ 各elementのTL構造体に含まれるLink Countに“1”を加算
ステップS250において、音楽レコーダ1000は、ステップS240において作成したTG_xxxxストリームファイルがリンクされる上位のTG(例えば、図10に示したTG10A)があるか否かを判定する。
TG_xxxxストリームファイルがリンクされる上位のTGがある場合(ステップS250のYes)、ステップS260において、音楽レコーダ1000は、当該上位TGについてメンテナンスを実行する。具体的には、以下のようなメンテナンスが実行される。
・ Number of elements = n+1
・ element ID: 追加したTG_xxxxストリームファイルのxxx
x部分を追加
TG_xxxxストリームファイルがリンクされる上位のTGがない場合(ステップS250のNo)、ステップS270において、音楽レコーダ1000は、AUD_SET.MGRファイルの内容を更新する。具体的には、音楽レコーダ1000は、以下に示すように、AUD_SET.MGRファイルの内容を更新する。
・ Flag = 0
・ Num of UIE TGs = 2
・ UIE TG ID(2) = xxxx(ASCII)
・ Number of Track Groups = 2
・ UIE TG ID(2) Name = アルバムタイトル
・ Maximum Track Group ID = xxxx
以上、音楽レコーダ1000が、CD1101に含まれる音楽コンテンツ(音楽コンテンツ)をリッピングする場合の動作について説明したが、音楽レコーダ1000は、インターネット網1130を介して接続されているコンテンツサーバ1132に格納されている音楽コンテンツをダウンロードし、リムーバブルHDD1126に記録することもできる。
(4)CDDBからのメタデータ取得
図15は、CDDBから、音楽コンテンツに関するメタデータを取得するフローを示している。
図15に示すように、ステップS310において、ユーザは、CD1101をCDドライブ1102(図11参照)に挿入する。
CD1101がCDドライブ1102(図11参照)に挿入されると、ステップS320において、音楽レコーダ1000は、メタデータサーバ1134からCD1101に対応するメタデータを取得する。
具体的には、音楽レコーダ1000は、AUDxxxxxxx.AIFファイルのメタデータ管理情報を取得し、取得したメタデータ管理情報に基づいて、MetaDataストリームファイルにメタデータを登録する。なお、音楽レコーダ1000は、必要により、メタデータに用いられる文字コードを変換する。
ステップS330において、音楽レコーダ1000は、対応するTL構造体(表8参照)にメタデータを登録する。音楽レコーダ1000は、登録対象のメタデータがフィールド長より長い場合、当該フィールドに記述することができない当該メタデータの部分を削除する。
(5)再生(タイトル検索・メタデータ表示)
図16は、リムーバブルHDD1126に含まれる音楽コンテンツ(オーディオデータ)を再生するフローを示している。
図16に示すように、ステップS410において、音楽レコーダ1000は、AUR_ROOTディレクトリの配下に位置するAUD_SET.MGRファイルをオープンし、UIE TG_IDのリスト及び名前をユーザに表示する。
ステップS420において、ユーザは、UIE TG_IDのリストの中から、1つの
TG_IDを選択する。
ステップS430において、音楽レコーダ1000は、選択されたTG_IDに対応するTG_xxxxストリームファイルをオープンし、element_IDのリストをユーザに表示する。
ステップS440において、音楽レコーダ1000は、elementがTGか否かを判定する。
elementがTGの場合(ステップS440のYes)、音楽レコーダ1000は、ステップS420からの処理を繰り返す。elementがTGでない場合、すなわち、elementがTLの場合(ステップS440のNo)、ステップS450において、ユーザは、element_IDのリストの中から、1つのTL_IDを選択する。
ステップS460において、音楽レコーダ1000は、TrackLinksストリームファイルから、選択されたTL_IDに対応するTL構造体を取得する。
ステップS470において、音楽レコーダ1000は、取得したTL構造体の“Music Contents ID”、“Start Point in Contents File”及び“Contents Length”から、AUDxxxxxxxx.AIFファイルに含まれるAudioDataストリームファイルの再生位置を確保する。
ステップS480において、音楽レコーダ1000は、*UDF_LICENCEセキュアストリームファイルから、ライセンスファイル(復号鍵)を取得する。
ステップS490において、音楽レコーダ1000は、取得した復号鍵を用いて、AudioDataストリームファイルに含まれるオーディオデータを復号して再生する。
ステップS500において、音楽レコーダ1000は、TL構造体のPlayback Counterに“1”加算する。なお、Playback Counterに加算するタイミングは、再生開始時ままたは再生終了時の何れでもよい。
ステップS510において、音楽レコーダ1000は、オーディオデータ、つまり、音楽コンテンツの再生が途中で停止されたか否かを判定する。
音楽コンテンツの再生が途中で停止された場合(ステップS510のYes)、ステップS520において、音楽レコーダ1000は、当該停止した位置に対して、リジュームポイントを設定する。
(6)プレイリスト作成(TG)
図17は、プレイリスト(TG)を作成するフローを示している。
図17に示すように、ステップS610において、ユーザは、プレイリストのフォルダを作成する。プレイリストのフォルダがユーザによって作成されると、音楽レコーダ1000は、TG_xxxxストリームファイルを生成する。具体的には、当該TG_xxxxストリームファイルを構成するフィールドは、以下のように設定される。
・ TG Specific Structure TYPE = 0x02
・ TG Flag = 0x03
・ TG specific structure name = プレーリストタイト
ル
・ Link Count = 0
・ Number of elements = 0
ステップS620において、ユーザは、TG_0000ストリームファイルからユーザがプレイリストに登録するものをピックアップする。
ステップS630において、音楽レコーダ1000は、TG_xxxxストリームファイルの内容を更新する。具体的には、音楽レコーダ1000は、以下に示すように、TG_xxxxストリームファイルの内容を更新する。
・ Number of elements = n+1
・ element ID: 選択されたTL_IDを追加
・ 各elementのTL構造体に含まれるLink Countに“1”を加算
ステップS640において、音楽レコーダ1000は、さらにプレイリストに追加するものがあるか否かを判定する。
さらにプレイリストに追加するものがある場合(ステップS640のYes)、ユーザは、ステップS620からの処理を繰り返す。
プレイリストに追加するものがない場合(ステップS640のNo)、ステップS650において、音楽レコーダ1000は、ステップS630において更新したTG_xxxxストリームファイルがリンクされる上位のTG(例えば、図10に示したTG10A)があるか否かを判定する。
TG_xxxxストリームファイルがリンクされる上位のTGがある場合(ステップS650のYes)、ステップS660において、音楽レコーダ1000は、当該上位TGについて、メンテナンスを実行する。具体的には、ステップS260と同様なメンテナンスが実行される。
TG_xxxxストリームファイルがリンクされる上位のTGがない場合(ステップS250のNo)、ステップS670において、音楽レコーダ1000は、AUD_SET.MGRファイルの内容を更新する。具体的には、音楽レコーダ1000は、ステップS270と同様に、AUD_SET.MGRファイルの内容を更新する。
なお、音楽レコーダ1000がTG_xxxxストリームファイルを生成する場合、“xxxx”部分の簡易的な割り当て方法としては、“Maximum Track Group ID”フィールド(表6参照)を参照して、現状の最大値に“1”を加算した値を割り当てるとともに、“Maximum Track Group ID”フィールドにも、現状の最大値に“1”を加算した値を割り当てる方法が用いられる。
また、他の割り当て方法としては、全てのTG_IDをサーチして、欠損している番号(例えば、一度生成されて、その後削除した場合)があれば、当該番号を割り当てる方法がある。この場合、欠損している番号がなければ、上述したように、現状の最大値に“1”を加算した値を割り当てるとともに、“Maximum Track Group ID”フィールドにも、現状の最大値に“1”を加算した値を割り当てる。
すなわち、簡易的な割り当て方法では、全てのTG_IDをサーチする必要がなく、より高速に“xxxx”部分の割り当て処理を実行することができる。
(7)メタデータによるリストのソート
図18は、メタデータによって、リストをソートするフローを示している。図18に示すように、ステップS710において、ユーザは、TLのリストで表現されているTGを選択する。
ステップS720において、ユーザは、AUDxxxxxxx.AIFファイルに含まれるMetaDataストリームファイル(メタデータ構造体)から検索したいフィールドを選択する。
ステップS730において、音楽レコーダ1000は、TGのelementであるTLに対応するAUDxxxxxxx.AIFファイルのMetaDataストリームファイルから候補のメタデータを検索する。ステップS740において、音楽レコーダ1000は、該当するTLをメタデータ順にソートする。
より具体的には、図26に示すように、5つのトラック(TL201〜205,MC301〜MC305)から構成されるTrack_Base(TG10TB)からメタデータによってリストをソートする場合、音楽レコーダ1000は、TL_ID #1〜TL_ID #5のTLについて、以下の処理を実行する。
(i) TL_ID #n(n=1〜5)のTL(TL201〜205)に対して、AUDxxxxxxx.AIFファイルに属するMetaDataストリームファイルをオープンする。
(ii) MetaDataストリームファイルの先頭から、“Genre”フィールドの先頭までのバイト数を演算する(表26において、1+a+1+b+1+c+1+dを演算することに該当)。
(iii) “Length of Genre”フィールドの値(=e)を取得する。
(iv) “Length of Genre”フィールドに続く“Genre”フィールドに記述されているデータを取得する。
(v) TL_IDとGenreデータとのリストを、既に取得したリスト(例えば、TL_ID#3の場合、TL_ID#1及びTL_ID#2に係るリスト)と比較し、アルファベット順(日本語の場合は50音順)にソートする。
TL_ID #1〜TL_ID #5のTL(TL201〜205)について、上述した(i)〜(v)の処理を実行した音楽レコーダ1000は、ソートされたTL_ID順にリストの内容を表示する。
(8)メタデータによるリストの高速ソート
図19は、メタデータによって、リストを高速にソートするフローを示している。図19に示すように、ステップS710Aにおいて、ユーザは、TLのリストで表現されているTGを選択する。
ステップS720Aにおいて、ユーザは、TL構造体によって定義されているメタデータフィールドから、検索したいフィールドを選択する。
ステップS730Aにおいて、音楽レコーダ1000は、TGのelementであるTLに対応するTL構造体から候補のメタデータを検索する。ステップS740Aにおいて、音楽レコーダ1000は、該当するTLをメタデータ順にソートする。
すなわち、図18に示したメタデータによるリストのソート方法では、AUDxxxxxxx.AIFファイルに含まれるMetaDataストリームファイル(メタデータ構造体)をオープンして内容を検索しなければならないが、図19に示したメタデータによるリストのソート方法では、324バイトの固定長を有するTL構造体(表8参照)が用いられるため、より高速にソートを実行することができる。
より具体的には、図26に示すように、5つのトラック(TL201〜205,MC301〜MC305)から構成されるTrack_Base(TG10TB)からメタデータによってリストを高速にソートする場合、音楽レコーダ1000は、TrackLinksストリームファイルをオープンし、以下の処理を実行する。
(i) TL_ID #1の“Genre”フィールドの先頭位置を取得する。具体的には、TL_ID #1の“Genre”フィールドの先頭位置が、TrackLinksストリームファイルの先頭から210バイト目(表7において、TL_ID #1に係るTL構造体のデータは、8バイト目から開始され、表8において、“Genre”フィールドは、202バイト目から開始されている)であることを認識する。
(ii) “Genre”フィールドに記述されているデータを取得し、TL_IDとGenreデータとのリストを記憶する。
(iii) TL_ID #2の“Genre”フィールドの先頭位置(534バイト目(210+324バイト、表7及び表8参照))を取得する。同様に、TL_ID #3,#4,#5の先頭位置は、(210+2×324)バイト目、(210+3×324)バイト目、(210+4×324)バイト目となる。
(iv) TL_IDとGenreデータとのリストを、既に取得したリスト(例えば、TL_ID#3の場合、TL_ID#1及びTL_ID#2に係るリスト)と比較し、アルファベット順(日本語の場合は50音順)にソートする。
TL_ID #1〜TL_ID #5のTL(TL201〜205)について、上述した(i)〜(iv)の処理を実行した音楽レコーダ1000は、ソートされたTL_ID順にリストの内容を表示する。
(9)メタデータによるリストの高速検索
図20は、メタデータによって、リストを高速に検索するフローを示している。図20に示すように、ステップS810において、ユーザは、TLのリストで表現されているTGを選択する。
ステップS820において、ユーザは、TL構造体によって定義されているメタデータフィールドから、検索したいフィールドを選択する。
ステップS830において、ユーザは、選択したフィールドに対応する文字を入力する。
ステップS840において、音楽レコーダ1000は、TGのelementであるTLに対応するTL構造体からメタデータを検索し、ユーザが入力した文字とマッチングを実行する。ステップS850において、音楽レコーダ1000は、該当するTLのリストをユーザに表示する。
本検索方法でも、324バイトの固定長を有するTL構造体(表8参照)が用いられるため、MetaDataストリームファイルをオープンする場合と比較して、より高速な検索を実行することができる。
(10)リジュームポイントの設定
図21は、リジュームポイントを設定するフローを示している。図21に示すように、ステップS910において、音楽レコーダ1000は、AUD_SET.MGRファイルからUIE TGのリストをユーザに表示する。
ステップS920において、ユーザは、UIE TGリストから1つのTGを選択する。ステップS930において、音楽レコーダ1000は、“Last Accessed UIE TG_ID”フィールドに選択されたTG_IDを記述する。また、音楽レコーダ1000は、当該TG_IDを記述した時刻を“Last Accessed UIE TG_ID recorded date”に記述する。
ステップS940において、音楽レコーダ1000は、選択されたTGのelementリストをユーザに表示する。
elementがTGである場合(ステップS950のNo)、ステップS980において、ユーザは、TGリストから1つのTGを選択する。ステップS990において、音楽レコーダ1000は、“Resume element”に当該TG_IDを追加する
。
elementがTLである場合(ステップS950のYes)、ステップS960において、ユーザは、TLリストから、1つのTLを選択する。ステップS970において、音楽レコーダ1000は、“Resume element”に当該TL_IDを追加する。
以降、音楽レコーダ1000は、選択されたTL_IDと対応するTL構造体に基づいて、オーディオデータを再生する(図16のステップS470以降の処理を参照)。
(11)リジューム再生
図22は、リジュームポイントに基づいて、オーディオデータを再生(リジューム再生)するフローを示している。図22に示すように、ステップS1010において、音楽レコーダ1000は、AUD_SET.MGRファイルの“Last Accessed UIE TG_ID”に記述されているTG_IDに該当するTG_xxxxストリームファイルをオープンする。
ステップS1020において、音楽レコーダ1000は、該当するTGの“Resume element”に記述されているelement_IDを取得する。
ステップS1030において、音楽レコーダ1000は、elementがTGか否かを判定する。elementがTGの場合(ステップS1030のYes)、音楽レコーダ1000は、ステップS1020からの処理を繰り返す。
elementがTLの場合(ステップS1030のNo)、ステップS1040において、音楽レコーダ1000は、リジュームポイントが設定されているか否かを判定する。
リジュームポイントが設定されている場合(ステップS1040のYes)、ステップS1050において、音楽レコーダ1000は、リジュームポイントからオーディオデータを再生する。一方、リジュームポイントが設定されていない場合(ステップS1040のNo)、ステップS1060において、音楽レコーダ1000は、曲(または音楽アルバム)の最初からオーディオデータを再生する。
なお、リジュームポイント設定をオプション仕様とする場合、上述したように、AUD_SET.MGRファイルの“Resume Support Flag”が使用される。リジュームをサポートしている音楽レコーダなど(コンテンツデータ記録装置)は、立上げ時(電源投入時など)に1bを記録する。一方、リジュームをサポートしていない音楽レコーダなどは、立上げ時に0bを記録する。
また、リムーバブルHDD1126(リムーバブル記録媒体)を移動後、他の音楽レコーダなどで再生する場合、当該他の音楽レコーダなどは、まず、AUD_SET.MGRファイルの“Resume Support Flag”の内容を読み込み、値が1bの場合にはリジューム再生を行い、値が0bの場合にはリジューム再生を行わない。
(12)タイトル削除
図23は、音楽コンテンツ(オーディオデータ)と対応付けられているタイトルを削除するフローを示している。図23に示すように、ステップS1110において、音楽レコーダ1000は、TG_0000ストリームファイル(Track_Base(TG10TB))をオープンし、element_IDのリストと名前をユーザに表示する。
ステップS1120において、ユーザは、削除するタイトルを1つ選択する。ステップS1130において、音楽レコーダ1000は、当該タイトルのTLとリンクされているAUDxxxxxxx.AIFファイルが1トラックのみで構成されているか否かを判定する。
AUDxxxxxxx.AIFファイルが1トラックのみで構成されている場合(ステップS1130のYes)、ステップS1160において、音楽レコーダ1000は、当該AUDxxxxxxx.AIFファイルを削除する。
AUDxxxxxxx.AIFファイルが1トラックのみで構成されていない場合(ステップS1130のNo)、すなわち、複数曲で構成されている場合、ステップS1140において、音楽レコーダ1000は、TLから当該AUDxxxxxxx.AIFファイルへのリンクをサーチする。
ステップS1150において、音楽レコーダ1000は、TLから当該AUDxxxxxxx.AIFファイルへのリンクが1以上存在するか否かを判定する。
当該AUDxxxxxxx.AIFファイルへのリンクが1以上存在する場合(ステップS1150のYes)、音楽レコーダ1000は、当該AUDxxxxxxx.AIFファイルを削除せず、ステップS1170の処理を実行する。
一方、当該AUDxxxxxxx.AIFファイルへのリンクが全く存在しない場合(ステップS1150のNo)、ステップS1160において、音楽レコーダ1000は、当該AUDxxxxxxx.AIFファイルを削除する。
ステップS1170において、音楽レコーダ1000は、当該AUDxxxxxxx.AIFファイルと対応付けられているTL構造体を削除するとともに、当該TL構造体をリンクしているTGから、当該TLへのリンクを削除する。具体的には、TL構造体の“Link Count”にTGからリンクされている数が記述されているため、音楽レコーダ1000は、“Link Count”に基づいて、当該TLへのリンクを削除する。
また、TrackLinksストリームファイルからTL構造体を削除した場合、他のTL_IDが、“1”づつ小さくなる(TL_IDは、並び順のため)。このため、全てのTGに対して、削除したTLのTL_ID、及び当該TL以降のTL_IDのメンテナンスが必要となる。
すなわち、音楽レコーダ1000は、削除されたTL_IDの値よりも大きな値のTL_IDをリンクしているTGのメンテナンスを実行する。具体的には、当該TL_IDの値が、それぞれ“1”減らされる。
図24は、図23に示した“タイトル削除”のフローの変更部分を示している。図24に示すステップS1141及びステップS1142の処理は、図23に示すS1170の処理に代えて、実行される。
ステップS1141において、音楽レコーダ1000は、削除するTL構造体をリンクしているTGから、当該TLのリンクを削除する
ステップS1142において、音楽レコーダ1000は、当該TL構造体のValidビッドをOFFにするとともに、当該TL構造体をリンクしているTGから、当該TLへのリンクを削除する
なお、この場合、上述したTL_IDのメンテナンスは必要ない。つまり、TL構造体自体は削除されないためTL_IDが変化しない。ただし、TGに対しては、削除したTL_IDの削除が必要となる。この簡易的な方法によれば、次回TLを追加する場合、ValidビッドがOFFとなっている領域を再使用することができる。
(13)プリセットモデルにおける購入
図25は、リムーバブルHDD1126に予め暗号化された音楽コンテンツ(オーディオデータ)が記録されたプリセットモデルにおいて、ユーザが、所望の音楽コンテンツを購入するフローを示している。
プリセットモデルの場合、オーディオデータ(AudioDataストリームファイル)は、AUDxxxxxxx.AIFファイルに記録される。また、TLは、プリセットモデル専用にPRTLsストリームファイルに記録される。ユーザは、このようにオーディオデータや各種ファイルが記録されたリムーバブルHDD1126を入手(購入)する。
この状態では、ユーザは、リムーバブルHDD1126に記録されている音楽コンテンツ(オーディオデータ)を視聴することができないため、購入手続きを行う必要がある。具体的には、図25に示すように、ステップS1210において、ユーザは、音楽レコーダ1000による高速検索(図20参照)などを利用して、購入する音楽コンテンツを選択する。
ステップS1220において、ユーザは、当該音楽コンテンツを視聴するためのライセンス(復号鍵及び利用条件)を購入する。具体的には、ユーザは、コンテンツサーバ1132などにアクセスして、当該ライセンスを購入する。
ユーザによってライセンスが購入されると、ステップS1230において、音楽レコーダ1000は、購入した音楽コンテンツに係るAUDxxxxxxx.AIFファイルに含まれるライセンス管理情報である“License Flag”をセットすると同時に、*UDF_LICENCEセキュアストリームファイルを生成する。
ステップS1240において、音楽レコーダ1000は、当該TLをPRTLsストリームファイルからTrackLinksストリームファイルに移動する(詳細については、上述した図7及び図8に係る説明を参照)。なお、PRTLsストリームファイルにおけるタイトルは、図24に示した簡易的な方法によって削除される。
(作用・効果)
以上説明した本実施形態及び本実施例によれば、音楽コンテンツなどのオーディオデータを利用するユーザは、トラックリンク情報及びメタデータ管理情報(MetaDataストリームファイル)を含むAUD_SET.MGRファイルを用いるため、音楽コンテンツの検索、再生がさらに容易かつ速やかに行え、音楽コンテンツの取扱いに係る利便性を向上させることができる。
(その他の実施形態)
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態が明らかとなろう。
例えば、上述した本発明の実施形態では、音楽コンテンツ(オーディオデータ)を例として説明したが、本発明は、音楽コンテンツのみではなく、例えば、静止画像や動画のコンテンツに適用することもできる。
また、上述した本発明の実施形態では、リムーバブルHDD1126(リムーバブル記録媒体)を例として説明したが、本発明は、コンテンツデータ記録装置などに内蔵されるハードディスクドライブ(HDD)などにも適用することができる。
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは、もちろんである。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
本発明の実施形態に係るファイルフォーマットの概要を示す図である。
本発明の実施形態に係るディレクトリ及びファイルの構成を示す図である。
本発明の実施形態に係るAUD_SET.MGRの構成を示す図である。
本発明の実施形態に係るAUDxxxxxxx.AIFファイルの構成を示す図である。
本発明の実施形態に係る“Track_Base”を用いたモデル構成例を示す図である。
本発明の実施形態に係る“Preset_Track_Base”を用いたモデル構成例を示す図である。
本発明の実施形態に係るモデル構成例において、暗号化された音楽コンテンツのライセンスが取得(購入)される前の状態を示す図である。
本発明の実施形態に係るモデル構成例において、暗号化された音楽コンテンツのライセンスが取得(購入)された後の状態を示す図である。
本発明の実施形態に係る音楽コンテンツ管理モデルの基本的な構成例を示す図である。
本発明の実施形態において、音楽アルバムを管理する場合における構成例を示している。
本発明の実施例に係る音楽レコーダ(コンテンツデータ記録装置)の構成を示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダの動作フローを示す図である。
本発明の実施例に係る音楽レコーダにおいて実行されるトラックリンクのソート動作を説明するためのモデル構成図である。
符号の説明
10,10A,10A1〜10A3,10AT,10B,10PL1〜10PL3,10PLT,10PTB,10TB…TG(トラックグループ)
201〜20N+1,211〜21N+1…TL(トラックリンク)
301〜304,30M…MC(記録済み音楽コンテンツ)
100…ROOTディレクトリ
110…AUR_ROOTディレクトリ
120…AUD_SET.MGR
130…RT_AURSディレクトリ
140…AUDxxxxxxx.AIFファイル
1000…音楽レコーダ
1101…CD
1102…CDドライブ
1104…AACエンコーダ
1106…暗号化処理部
1108…復号化処理部
1110…AACデコーダ
1112…D/A変換部
1114…スピーカ
1116…制御部
1118…表示部
1120…リモコン受光部
1122…リモコン
1124…ATAインタフェース
1126…リムーバブルHDD
1128…モデム
1130…インターネット網
1132…コンテンツサーバ
1134…メタデータサーバ