(57)【特許請求の範囲】
【請求項１】
オーディオトラックのデータを取得する第１の取得手段と、
１つの前記オーディオトラックに対応する複数の画像のデータを取得する第２の取得手段と、
前記第１の取得手段により取得された前記オーディオトラックのデータを記録すると共に、前記第２の取得手段により取得された前記複数の画像のデータを、前記オーディオトラックと対応付けて記録する記録手段と
を備え、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とする記録装置。
【請求項２】
前記記録手段は、前記複数の画像のデータを、前記時間情報と、対応する前記オーディオトラックの名称に基づいて設定された名称でそれぞれ記録する
ことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記複数の画像は、前記時間情報に基づいて、対応する前記オーディオトラックの再生中にスライドショーのように表示される
ことを特徴とする請求項１に記載の記録装置。
【請求項４】
前記時間情報は、演出効果のための時間情報をさらに含む
ことを特徴とする請求項１に記載の記録装置。
【請求項５】
オーディオトラックのデータを取得する第１の取得ステップと、
１つの前記オーディオトラックに対応する複数の画像のデータを取得する第２の取得ステップと、
前記第１の取得ステップの処理により取得された前記オーディオトラックのデータを記録すると共に、前記第２の取得ステップの処理により取得された前記複数の画像のデータを、前記オーディオトラックと対応付けて記録する記録ステップと
を含み、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とする記録方法。
【請求項６】
オーディオトラックのデータを取得する第１の取得ステップと、
１つの前記オーディオトラックに対応する複数の画像のデータを取得する第２の取得ステップと、
前記第１の取得ステップの処理により取得された前記オーディオトラックのデータを記録すると共に、前記第２の取得ステップの処理により取得された前記複数の画像のデータを、前記オーディオトラックと対応付けて記録する記録ステップと
を含み、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
オーディオトラックのデータを取得する第１の取得ステップと、
１つの前記オーディオトラックに対応する複数の画像のデータを取得する第２の取得ステップと、
前記第１の取得ステップの処理により取得された前記オーディオトラックのデータを記録すると共に、前記第２の取得ステップの処理により取得された前記複数の画像のデータを、前記オーディオトラックと対応付けて記録するように制御する記録制御ステップと
をコンピュータに実行させ、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とするプログラム。
【請求項８】
オーディオトラックのデータを再生する再生手段と、
前記再生手段により前記オーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得手段と、
前記取得手段により取得された前記複数の画像のデータを、前記再生手段により再生されていた１つの前記オーディオトラックと対応付けて記録する記録手段と
を備え、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とする記録装置。
【請求項９】
前記記録手段は、前記複数の画像のデータを、前記時間情報と、対応する前記オーディオトラックの名称に基づいて設定された名称でそれぞれ記録する
ことを特徴とする請求項８に記載の記録装置。
【請求項１０】
前記複数の画像は、前記時間情報に基づいて、対応する前記オーディオトラックの再生中にスライドショーのように表示される
ことを特徴とする請求項８に記載の記録装置。
【請求項１１】
前記時間情報は、演出効果のための時間情報をさらに含む
ことを特徴とする請求項８に記載の記録装置。
【請求項１２】
オーディオトラックのデータを再生する再生ステップと、
前記再生ステップの処理により前記オーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得ステップと、
前記取得ステップの処理により取得された前記複数の画像のデータを、前記再生ステップの処理により再生されていた１つの前記オーディオトラックと対応付けて記録する記録ステップと
を含み、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とする記録方法。
【請求項１３】
オーディオトラックのデータを再生する再生ステップと、
前記再生ステップの処理により前記オーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得ステップと、
前記取得ステップの処理により取得された前記複数の画像のデータを、前記再生ステップの処理により再生されていた１つの前記オーディオトラックと対応付けて記録するように制御する記録制御ステップと
を含み、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１４】
オーディオトラックのデータを再生する再生ステップと、
前記再生ステップの処理により前記オーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得ステップと、
前記取得ステップの処理により取得された前記複数の画像のデータを、前記再生ステップの処理により再生されていた１つの前記オーディオトラックと対応付けて記録するように制御する記録制御ステップと
をコンピュータに実行させ、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とするプログラム。
【請求項１５】
オーディオトラックのデータが記録されるとともに、複数の画像のデータが、１つの前記オーディオトラックを識別する識別情報を含む情報により、前記オーディオトラックと対応付けて記録されており、
前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含む
ことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記録装置および方法、記録媒体、並びにプログラムに関し、特に、より迅速に目的の曲を検索することができるようにした記録装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、記録メディアの記録容量の大容量化、および音声の圧縮技術の進歩により、１つの記録メディアに、多数の音楽データを記録することができるようになってきている。
【０００３】
例えば、MP(MPEG-1 Audio Layer)3、WMA(Windows(R) Media Audio)、およびATRAC(Adaptive TRansform Acoustic Coding)3などのオーディオ圧縮技術を用いることにより、CD(Compact Disk)なら200曲前後、MD(Mini Disk(商標))なら100曲前後が、1枚の記録メディアに記録可能となる。
【０００４】
このように、多数の曲が記録された記録メディアを再生する場合、ユーザは、曲名、トラック番号、アーティスト名などの文字情報を昇順に並べたリストを参照して、目的の曲を検索する。この場合、ユーザは、何百曲もあるリストの中から、目的の曲を探し出さなくてはならず、ユーザにとって使い勝手がよくなかった。
【０００５】
そのような問題を解決するために、CDでは、パーソナルコンピュータなどで利用されているISO9660やUDF(Universal Disk Format) file systemを採用し、フォルダ(サブディレクトリ)を作成して、複数の曲を、音楽の分野毎、アーティスト毎、またはアルバム毎に、まとめることが一般的になってきている。また、MDにおいては、グループ機能などが提案されている。
【０００６】
このようにする事により、多数の曲を、アルバムタイトルやアーティスト毎にまとめて管理することが可能となり、ユーザは、より迅速に目的の曲を探し出すことができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、従来のような曲の管理方法においては、ユーザが、アルバムや曲のタイトルをしっかりと記憶していることを前提としており、ユーザがアルバムや曲のタイトルをうろ覚えであったり、知らなかったりした場合、ユーザは、目的の曲を検索するまでに、長時間要したり、探し出すことができないことがあるという課題があった。特に、ハードディスクや、CDなどの記録媒体に、数百のトラック、またはアルバムが記録されている場合、そのタイトルのリストも数百になるため、その中から所望の曲を探し出すことは、ユーザにとって、負担であった。
【０００８】
また、ユーザは、頻繁に聴く曲のタイトルは記憶している場合が多いが、たまにしか聴かない曲のタイトルは、うろ覚えである場合が多い。従って、聴きたい曲のタイトルをはっきりと記憶していない場合、ユーザは、結局、曲をまとめてある複数のフォルダを、１つ１つ開いて、目的の曲らしいと思われるタイトルの曲を、1つ1つ再生してみなければならないことがあった。
【０００９】
このような課題が発生する原因として、多数の曲を管理する際に、アルバムや曲のタイトルなどの文字情報により管理しているため、それらの文字情報がユーザの記憶に残りづらいことが挙げられる。
【００１０】
また、文字情報により複数の曲を管理する場合、新たに曲を記録するときに、アルバムや曲のタイトルを取得する必要がある。予めアルバムや曲のタイトルが音楽データに付されていたり、インターネットを介して供給されている場合、そこからタイトルを取得して、タイトルを登録することができるが、アルバムや曲のタイトルが、音楽データに付されていなかったり、インターネットを介して供給されていない場合、ユーザは、操作部を操作して、タイトルを手入力しなければならず、ユーザに負担を強いるという課題があった。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、より迅速に曲を検索することができるようにすることを目的とする。
【００１２】
【課題を解決するための手段】
本発明の第１の記録装置は、オーディオトラックのデータを取得する第１の取得手段と、１つのオーディオトラックに対応する複数の画像のデータを取得する第２の取得手段と、第１の取得手段により取得されたオーディオトラックのデータを記録すると共に、第２の取得手段により取得された複数の画像のデータを、オーディオトラックと対応付けて記録する記録手段とを備え、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００１３】
前記記録手段は、前記複数の画像のデータを、前記時間情報と、対応する前記オーディオトラックの名称に基づいて設定された名称でそれぞれ記録するようにすることができる。
【００１５】
前記複数の画像は、前記時間情報に基づいて、対応する前記オーディオトラックの再生中にスライドショーのように表示されるようにすることができる。
【００１６】
前記時間情報は、演出効果のための時間情報をさらに含むようにすることができる。
【００１９】
本発明の第１の記録方法は、オーディオトラックのデータを取得する第１の取得ステップと、１つのオーディオトラックに対応する複数の画像のデータを取得する第２の取得ステップと、第１の取得ステップの処理により取得されたオーディオトラックのデータを記録すると共に、第２の取得ステップの処理により取得された複数の画像のデータを、オーディオトラックと対応付けて記録する記録ステップとを含み、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００２０】
本発明の第１の記録媒体のプログラムは、オーディオトラックのデータを取得する第１の取得ステップと、１つのオーディオトラックに対応する複数の画像のデータを取得する第２の取得ステップと、第１の取得ステップの処理により取得されたオーディオトラックのデータを記録すると共に、第２の取得ステップの処理により取得された複数の画像のデータを、オーディオトラックと対応付けて記録する記録ステップとを含み、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００２１】
本発明の第１のプログラムは、オーディオトラックのデータを取得する第１の取得ステップと、１つのオーディオトラックに対応する複数の画像のデータを取得する第２の取得ステップと、第１の取得ステップの処理により取得されたオーディオトラックのデータを記録すると共に、第２の取得ステップの処理により取得された複数の画像のデータを、オーディオトラックと対応付けて記録するように制御する記録制御ステップとをコンピュータに実行させ、前記オーディオトラックと対応付けて記録される前記複数の画像のデータの名称は、前記オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００２２】
本発明の第２の記録装置は、オーディオトラックのデータを再生する再生手段と、再生手段によりオーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得手段と、取得手段により取得された複数の画像のデータを、再生手段により再生されていた１つのオーディオトラックと対応付けて記録する記録手段とを備え、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００２３】
前記記録手段は、前記複数の画像のデータを、前記時間情報と、対応する前記オーディオトラックの名称に基づいて設定された名称でそれぞれ記録するようにすることができる。
【００２５】
前記複数の画像は、前記時間情報に基づいて、対応する前記オーディオトラックの再生中にスライドショーのように表示されるようにすることができる。
【００２６】
前記時間情報は、演出効果のための時間情報をさらに含むようにすることができる。
【００２８】
本発明の第２の記録方法は、オーディオトラックのデータを再生する再生ステップと、再生ステップの処理によりオーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得ステップと、取得ステップの処理により取得された複数の画像のデータを、再生ステップの処理により再生されていた１つのオーディオトラックと対応付けて記録する記録ステップとを含み、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００２９】
本発明の第２の記録媒体のプログラムは、オーディオトラックのデータを再生する再生ステップと、再生ステップの処理によりオーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得ステップと、取得ステップの処理により取得された複数の画像のデータを、再生ステップの処理により再生されていた１つのオーディオトラックと対応付けて記録する記録ステップとを含み、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００３０】
本発明の第２のプログラムは、オーディオトラックのデータを再生する再生ステップと、再生ステップの処理によりオーディオトラックのデータが再生されている間に、複数の画像のデータを取得する取得ステップと、取得ステップの処理により取得された複数の画像のデータを、再生ステップの処理により再生されていた１つのオーディオトラックと対応付けて記録するように制御する記録制御ステップとをコンピュータに実行させ、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００３１】
本発明の第３の記録媒体は、オーディオトラックのデータが記録されるとともに、複数の画像のデータが、１つのオーディオトラックを識別する識別情報を含む情報により、オーディオトラックと対応付けて記録されており、オーディオトラックと対応付けて記録される複数の画像のデータの名称は、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報を含むことを特徴とする。
【００３２】
本発明の第１の記録装置および方法、記録媒体、並びにプログラムにおいては、オーディオトラックのデータが取得され、１つのオーディオトラックに対応する複数の画像のデータが取得される。そして、取得されたオーディオトラックのデータを記録すると共に、取得された複数の画像のデータが、オーディオトラックと対応付けて記録される。このオーディオトラックと対応付けて記録される複数の画像のデータの名称には、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報が含まれる。
【００３３】
本発明の第２の記録装置および方法、記録媒体、並びにプログラムにおいては、オーディオトラックのデータが再生されている間に、複数の画像のデータが取得された場合、取得された複数の画像のデータが、そのとき再生されていた１つのオーディオトラックと対応付けて記録される。このオーディオトラックと対応付けて記録される複数の画像のデータの名称には、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報が含まれる。
【００３４】
本発明の第３の記録媒体においては、オーディオトラックのデータが記録されるとともに、複数の画像のデータが、１つのオーディオトラックを識別する識別情報を含む情報により、オーディオトラックと対応付けて記録される。このオーディオトラックと対応付けて記録される複数の画像のデータの名称には、オーディオトラックの再生中のどのタイミングで画像を表示するかを示す時間情報が含まれる。
【００３５】
なお、記録装置は、独立した装置であっても良いし、記録再生装置の記録処理を行うブロックであっても良い。
【００３６】
【発明の実施の形態】
図１は、本発明を適用した光ディスク記録再生装置１の構成例を表している。図１において、CPU１１は、ROM１２に記憶されているプログラム、または記憶部２０からRAM１３にロードされたプログラムに従って各種の処理を実行する。RAM１３にはまた、CPU１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００３７】
CPU１１、ROM１２、およびRAM１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インタフェース１５も接続されている。
【００３８】
入出力インタフェース１５には、ユーザからの操作の入力を受け付ける複数のボタンなどにより構成される操作入力部１６、スピーカ１８からの音声の出力を制御する音声出力制御部１７、CRT（Cathode-Ray Tube）、LCD（Liquid Crystal Display）などよりなるディスプレイ１９、ハードディスクなどより構成される記憶部２０、モデム、ターミナルアダプタなどより構成される通信部２１、書き込み、書き換えが可能な光ディスク２３への情報の書き込み、書き換えを行うCD-R/RWドライブ２２が接続されている。通信部２１は、インターネットを含むネットワークを介しての通信処理を行う。
【００３９】
入出力インタフェース１５にはまた、必要に応じてドライブ２４が接続され、磁気ディスク２５、光ディスク２６、光磁気ディスク２７、或いは半導体メモリ２８などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２０にインストールされる。
【００４０】
次に、図２のフローチャートを参照して、光ディスク記録再生装置１の光ディスク２３への音楽の記録処理について説明する。なお、図２のフローチャートの処理は、基本的に、CPU１１が光ディスク記録再生装置１の全体を制御することにより実行される。
【００４１】
記憶部２０、磁気ディスク２５、光ディスク２６、光磁気ディスク２７、もしくは半導体メモリ２８には、事前にオーディオトラック(音楽のデータのこと。以下、オーディオデータとも称する)が記録されており、記憶部２０、磁気ディスク２５、光ディスク２６、光磁気ディスク２７、もしくは半導体メモリ２８に記録されたオーディオトラックの光ディスク２３への記録の指示が操作入力部１６から入力されたのち、ステップＳ１において、操作入力部１６を介して、光ディスク２３に記録するオーディオトラックの選択を受け付ける。
【００４２】
ステップＳ２において、CPU１１は、ディスプレイ１９にステップＳ１で選択を受け付けたオーディオトラックに対応して記録する画像データを指定するように、ユーザに促す案内を表示させ、画像データが指定されたか否かを判定し、画像データが指定された場合、ステップＳ３に進み、CPU１１は、ユーザにより指定された画像データを取得する。その後、ステップＳ４に進む。
【００４３】
なお、ステップＳ２において、ユーザは、通信部２０を介してインターネット上から受信した画像データ、または、記憶部２０、磁気ディスク２５、光ディスク２６、光磁気ディスク２７、もしくは半導体メモリ２８に記録されている画像データの中から、所望の画像データを指定することが可能である。
【００４４】
ステップＳ２において、操作入力部１６を介して、ユーザより、画像データが指定されなかった場合、ステップＳ３をスキップして、ステップＳ４に進む。
【００４５】
ステップＳ４において、CPU１１は、ステップＳ２でユーザにより選択されたオーディオトラックの、光ディスク２３への記録が指示されたか否かを判定し、光ディスク２３への記録が指示されていない場合、ステップＳ１に戻って、光ディスク２３に、さらに記録するオーディオトラックの選択を受け付ける。
【００４６】
このようにして、ステップＳ１乃至ステップＳ４を繰り返して、ユーザより、光ディスク２３に記録する１以上のオーディオトラックの選択を受け付けることができる。図３は、ステップＳ１乃至ステップＳ４を繰り返して、ユーザにより選択されたオーディオトラック、および対応する画像データの例を示している。図３には、ユーザにより光ディスク２３への記録が指定された順番に、オーディオトラックＡ、オーディオトラックＢ、およびオーディオトラックＣが示されている。また、各オーディオトラックにそれぞれ対応する画像データＡ乃至画像データＣが示されている。
【００４７】
その後、操作入力部１６より、光ディスク２３への記録の指示が入力されると、ステップＳ４において、CPU１１が、オーディオトラックの、光ディスク２３への記録が指示されたと判定し、処理はステップＳ５に進む。
【００４８】
ステップＳ５において、CPU１１は、ステップＳ１乃至ステップＳ４で、光ディスク２３への記録が指定された１以上のオーディオトラックの、光ディスク２３への記録の順番の指定を受け付ける。ユーザは、操作入力部１６を介して、光ディスク２３へのオーディオトラックの記録の順番を指定することができる。
【００４９】
なお、ステップＳ１乃至ステップＳ４で、光ディスク２３への記録が指定されたオーディオトラックが１つだけだった場合、ステップＳ５はスキップされる。
【００５０】
ステップＳ６において、CPU１１は、ステップＳ５で、ユーザにより指定された記録順に、オーディオトラックのリストを作成する。
【００５１】
図４は、ステップＳ１乃至ステップＳ４で、図３に示されるように選択されたオーディオトラックＡ乃至オーディオトラックＣが、ユーザにより、光ディスク２３への記録順に従って並べ変えられたリストを示している。
【００５２】
すなわち、図４は、ユーザにより、オーディオトラックＣ、オーディオトラックＡ、オーディオトラックＢの順番で記録することが指定された例を示している。
【００５３】
ステップＳ７において、CPU１１は、オーディオトラックを記録する順番に対応して、画像データのファイル名を設定する。CPU１１は、光ディスク２３に１番目に記録させるオーディオトラックに対応する画像データのファイル名を「１」に、光ディスク２３に２番目に記録させるオーディオトラックに対応する画像データのファイル名を「２」に、光ディスク２３に３番目に記録させるオーディオトラックに対応する画像データのファイル名を「３」にという具合に、光ディスク２３にｎ番目に記録させるオーディオトラックに対応する画像データのファイル名を「ｎ」に設定する。
【００５４】
例えば、図４に示されるように、光ディスク２３に１番目に記録されるオーディオトラックＣに対応する画像データＣのファイル名を「０１．ＢＭＰ」と設定し、光ディスク２３に２番目に記録されるオーディオトラックＡに対応する画像データＡのファイル名を「０２．ＢＭＰ」と設定し、光ディスク２３に３番目に記録されるオーディオトラックＢに対応する画像データＢのファイル名を「０３．ＢＭＰ」と設定する。
【００５５】
このように、光ディスク２３へ記録する順番を、ファイル名として採用することにより、オーディオトラックと画像データの対応付けを容易に実現することが可能となる。
【００５６】
なお、「ＢＭＰ」は、画像の圧縮フォーマットの１種であるBitMap（ビットマップ）の拡張子である。画像データの圧縮方法は、ビットマップファイルに限定されるものではなく、それ以外のもの、例えば、JPEG(Joint Photographic Experts Group)、TIF(Tagged Image File Format)などを採用しても良い。以下、本明細書中で説明する、その他の画像データも、上記の画像データと同様に、任意の圧縮フォーマットとすることができる。
【００５７】
ステップＳ８において、CPU１１からの指令により、CD-R/RWドライブ２２は、ステップＳ５で指定された記録順に従って、オーディオトラックを光ディスク２３のオーディオ記録領域に記録すると共に、ステップＳ７でファイル名が設定された画像データを、光ディスク２３のデータ領域に記録する。
【００５８】
以上のようにして、光ディスク２３に、オーディオトラック、およびオーディオトラックに対応する画像データが記録される。
【００５９】
次に、図５乃至図７を参照しつつ、光ディスク２３へのオーディオトラック、および画像データの記録様式について説明する。まず、図５および図６を参照して、通常の光ディスク３０の記録様式と、本発明を適用したCD-EXTRAディスク４０の記録様式について比較する。
【００６０】
図５は、通常の光ディスク３０の記録様式を示している。図５に示すように、光ディスク３０は内周からリードインエリア３１、ユーザデータエリア３２、およびリードアウトエリア３３という記録領域を持っている。また、リードインエリア３１には、ディスク３０内のコンテンツの配置情報など、ディスク３０を再生する装置の、ディスク３０へのアクセスに必要なデータの目次情報であるTOC(Table Of Contents)が記録される。ユーザデータエリア３２には、オーディオトラックやデータトラックなどのコンテンツ自体が記録される。リードアウトエリア３３はユーザデータエリア３２の終端であることを示す領域である。
【００６１】
それに対して、図６は、CD-EXTRAディスク４０の記録様式を示している。図６において、ファーストセッションリードインエリア４１、ファーストセッションユーザデータエリア４２、およびファーストセッションリードアウトエリア４３は、１つのセッションとしてまとめられている。同様に、図６において、セカンドセッションリードインエリア４４、セカンドセッションユーザデータエリア４５、およびセカンドセッションリードアウトエリア４６は、１つのセッションとしてまとめられている。
【００６２】
リードインエリア、ユーザデータエリア、およびリードアウトエリアの３領域を１つのセッションとしてまとめて扱い、このセッションを繰り返し追記するようにしたディスクを、マルチセッションディスクと呼ぶ。このマルチセッションディスクはパソコンなどに搭載されているCD-Rドライブ、およびCD-RWドライブなどで簡単に作成する事が可能である。
【００６３】
図６に示されるように、CD-EXTRAディスク４０は２つのセッションを持つマルチセッションディスクであり、内周側の第1セッションにオーディオトラックのみが記録され、外周側の第２セッションに、オーディオトラック以外のデータが記録される。ディスクの内周側の第1セッションにオーディオトラックのみを記録することにより、過去に出荷された光ディスク再生装置との互換性や、データ領域を読み取れないオーディオ専用機種（民生機器）との互換性を保っている。
【００６４】
また、外周側の第２セッションのデータ領域には、コンピュータプログラムや画像情報などのデータ（＝音声情報以外）が記録されている。パーソナルコンピュータなどのデータ領域も読み取れる機器は、第２セッションに書かれたデータ（コンテンツ）を読み出して、利用することができる。
【００６５】
次に、図７は、図６に示されたCD-EXTRAディスク４０へのオーディオトラック、および画像データの記録例を示している。内周の第１セッション(ファーストセッションリードインエリア４１、ファーストセッションユーザデータエリア４２、およびファーストセッションリードアウトエリア４３)にはオーディオトラックのみが記録されている。このようにすることにより、過去に発売された光ディスク再生装置との互換性が保たれる（過去に発売された光ディスク再生装置でも、オーディオトラックの再生をすることができる）。
【００６６】
外周の第２セッションのユーザデータエリア４５には画像データが、ISO9660, UDF などのファイルシステムを構築して記録されている。
【００６７】
ここで、画像ファイル名を第１セッションに保存したトラックナンバにすることで、画像データとオーディオトラックのリンクが容易に可能になる。
【００６８】
すなわち、図７において、第１セッションには、１番目にオーディオトラックＣが、２番目にオーディオトラックＡが、３番目オーディオトラックＢが記録されている。第２セッションには、第１セッションにオーディオトラックを記録した順番(トラックナンバ)を、画像データのファイル名として記録している。なお、図７において示されている０１．ＢＭＰ５１、０２．ＢＭＰ５２、および０３．ＢＭＰ５３は、セカンドユーザデータトラック４５に記録される画像データを概念的に示したものであり、実際に、画像そのものがCD-EXTRAディスク４０に印加されるわけではない(以下、他の図においても同様)。
【００６９】
レッドブック(Red book)、および、オレンジブック(Orange book) 規格によって、CD-EXTRAディスク４０に記録可能なオーディオトラックは１〜９９までと規定されているため、画像データのファイル名は最大で、"01.BMP"乃至"99.BMP"になる。ただし、拡張子は、「.BMP」に限られるものではなく、画像データの圧縮タイプにより、例えば".BMP"、".JPG"、".TIF"などになる。
【００７０】
上記のようにトラック番号を画像ファイル名にすることにより、２つのコンテンツをリンクする為の「対応表」や「制御情報」を、別途、光ディスク２３に記録することが不要になり、組み込み機器などの資源が限られたシステムでも容易にオーディオトラックと画像データの対応付けを実現することができる。
【００７１】
さらに、スライドショーのように１曲に複数の画像ファイルを対応させる場合は、再生中のどのタイミングで画像を表示するかという情報も含めてファイル名にすれば良い。
【００７２】
例えば、１曲目の先頭（経過時間００分００秒）で表示するにはファイル名を "01-0000.BMP" とし、経過時間１５秒で表示する静止画は "01-0015.BMP" というファイル名で保存すれば良い。よって、１０秒ごとに画像を更新するスライドショーでは、"01-0000.BMP", "01-0010.BMP", "01-0020.BMP", "01-0030.BMP"乃至"01-0100.BMP"というように、画像データのファイル名を設定すれば良い。
【００７３】
また、スライドショーを見せるときに画像を紙芝居のように瞬間的に切り替えるだけでなく、フェードイン、フェードアウトのような演出も選択できるようにしても良い。このときも上記手法と同じようにフェードイン、フェードアウトのタイミングをファイル名に設定することにより、音楽の再生時には、音楽と画像データの表示を同期させる事が可能である。
【００７４】
ところで、光ディスク記録再生装置１は、光ディスク２３に、オーディオデータ、および画像データを記録する際に、複数の曲をフォルダに分類して記録することも可能である。その場合、光ディスク記録再生装置１は、オーディオデータ（曲）を、ISO9660やUDFなどのファイルシステムにより管理する。すなわち、光ディスク記録再生装置１は、オーディオデータを、トラック番号により管理する代わりに、ファイル名により管理する。そこで、光ディスク記録再生装置１は、オーディオデータと画像データを対応付けて、光ディスクに記録するために、オーディオデータと画像データのファイル名を同一にして、光ディスクに記録する。
【００７５】
例えば、オーディオデータのファイル名が、「HURUSATO．MP3」である場合、光ディスク記録再生装置１は、そのオーディオデータにと対応する画像データに、例えば「HURUSATO．BMP」のようなファイル名を設定し、光ディスクに記録する。すなわち、光ディスク記録再生装置１は、オーディオデータの拡張子「．MP3」を除いた部分「HURUSATO」を、画像データのファイル名「HURUSATO．BMP」に設定する（なお、「．BMP」は、画像データの拡張子）。
【００７６】
以上のようにして、オーディオデータと画像データを、対応付けて記録することにより、後に、その光ディスクを再生する場合、光ディスク記録再生装置１は、ユーザからの指示に従って、まず、光ディスクに記録されている1以上の画像データを表示する。そして、表示された画像データの中から、ユーザにより所望の画像データ（例えば、「HURUSATO．BMP」）が選択された場合、光ディスク記録再生装置１は、画像データと同一のファイル名（「HURUSATO」）により光ディスクに記録されているオーディオデータ（「HURUSATO．MP3」）を検索し、再生する。
【００７７】
次に、図８のフローチャートを参照して、複数の曲をフォルダに分類して記録する場合の、光ディスク記録再生装置１の、光ディスク２３へのオーディオデータ、および画像データの記録処理について説明する。
【００７８】
図８のステップＳ１１乃至ステップＳ１４の処理は、図２のステップＳ１乃至ステップＳ４の処理と同様である。すなわち、ステップＳ１１において、CPU１１は、操作入力部１６を介して、光ディスク２３に記録するオーディオデータの選択を受け付け、ステップＳ１２において、ユーザより、画像データが指定されたか否かを判定し、画像データが指定された場合、ステップＳ１３に進み、ユーザにより指定された画像データを取得する。その後、ステップＳ１４に進む。
【００７９】
ステップＳ１２において、操作入力部１６を介して、ユーザより、画像データが指定されなかった場合、CPU１１は、ステップＳ１３の処理をスキップして、ステップＳ１４に進む。
【００８０】
ステップＳ１４において、CPU１１は、ステップＳ１２でユーザにより選択されたオーディオデータの、光ディスク２３への記録が指示されたか否かを判定し、光ディスク２３への記録が指示されていない場合、ステップＳ１１に戻って、光ディスク２３に、さらに記録するオーディオデータの選択を受け付ける。
【００８１】
ステップＳ１４において、CPU１１が、ステップＳ１２でユーザにより選択されたオーディオデータの、光ディスク２３への記録が指示されたと判定した場合、処理はステップＳ１５に進む。
【００８２】
ステップＳ１５において、CPU１１は、オーディオデータのファイル名に対応して、画像データのファイル名を設定する。
【００８３】
図９は、ステップＳ１１乃至ステップＳ１４の処理によって、光ディスク２３への記録が指定され、ステップＳ１５に処理によって、画像データのファイル名が設定されたオーディオデータの例を示している。図９においては、オーディオデータＡ乃至オーディオデータＥが指定され、対応する画像データＡ乃至画像データＥが指定されていることを示している。
【００８４】
また、オーディオデータＡ乃至オーディオデータＥのファイル名は、それぞれタイトルＡ.MP3乃至タイトルＥ.MP3であり、画像データＡ乃至画像データＥのファイル名は、オーディオデータＡ乃至オーディオデータＥのファイル名に対応して、タイトルＡ.BMP乃至タイトルＥ.BMPであることを示している。このように、画像データのファイル名は、オーディオデータのファイル名に対応して、同一名称に設定される（ただし、勿論、拡張子は異なる）。
【００８５】
次に、ステップＳ１６において、CPU１１は、操作入力部１６を介して、ユーザより、オーディオデータのフォルダ管理の指示を受け付ける。すなわち、ユーザより、複数の曲が選択された後、選択された複数の曲をまとめるフォルダの生成要求を受け付ける。そして、CPU１１は、操作入力部１６を介して、ユーザより、フォルダ名の入力を受け付ける。
【００８６】
図１０は、ステップＳ１１乃至ステップＳ１４で、図９に示されるように選択されたオーディオデータＡ乃至オーディオデータＥが、ユーザにより、フォルダＭとフォルダＮに分けられ、光ディスク２３への記録順に従って並べ変えられたリストを示している。すなわち、図１０には、フォルダＭにオーディオデータＡ、オーディオデータＣ、およびオーディオデータＤが分類され、フォルダＮにオーディオデータＢ、およびオーディオデータＥが分類された場合の例が示されている。
【００８７】
ステップＳ１７において、CPU１１は、フォルダと対応付けて記録する画像データの指定を受け付ける。ステップＳ１８において、CPU１１は、ステップＳ１７で指定された画像データのファイル名を、ステップＳ１６で入力されたフォルダ名と同一の名称に設定する。
【００８８】
図１１は、図１０に示されたフォルダＭおよびフォルダＮに対応して、それぞれ指定された画像データＭ、および画像データＮを示している。また、ステップＳ１７において、画像データＭに「Ｍ.ＢＭＰ」の名称が、画像データＮに「Ｎ.ＢＭＰ」の名称が、それぞれ設定されたことを示している。
【００８９】
ステップＳ１９において、CPU１１からの指令により、CD-R/RWドライブ２２は、オーディオデータおよび画像データを光ディスク２３に記録する。
【００９０】
光ディスク２３に記録されたオーディオデータおよび画像データのファイルの、ディレクトリ構造について図１２に示す（なお、ファイル管理の詳細については、後述する）。図１２において、ルートディレクトリ６１の１つ下の階層には、M.BMP６２−１、フォルダＭ６３−１、N.BMP６２−２、およびフォルダＮ６３−２が配置されている。ここで、M.BMP６２−１は、フォルダＭ６３−１に対応付けられた画像データであり、N.BMP６２−２は、フォルダＮ６３−２に対応付けられた画像データである。
【００９１】
また、フォルダＭ６３−１の１つ下の階層には、タイトルＡ.BMP６４−１、タイトルＡ.MP3６５−１、タイトルＣ.BMP６４−２、タイトルＣ.MP3６５−２、タイトルＤ.BMP６４−３、およびタイトルＤ.MP3６５−３が配置されている。ここで、タイトルＡ.MP3６５−１、タイトルＣ.MP3６５−２、およびタイトルＤ.MP3６５−３は、図９に示されているオーディオデータに対応している。また、タイトルＡ.BMP６４−１は、タイトルＡ.MP3６５−１に対応付けられている画像データであり、タイトルＣ.BMP６４−２は、タイトルＣ.MP3６５−２に対応付けられている画像データであり、タイトルＤ.BMP６４−３は、タイトルＤ.MP3６５−３に対応付けられている画像データである。
【００９２】
また、フォルダＮ６３−２の１つ下の階層には、タイトルＢ.BMP６４−４、タイトルＢ.MP3６５−４、タイトルＥ.BMP６４−５、およびタイトルＥ.MP3６５−５が配置されている。ここで、タイトルＢ.MP3６５−４、およびタイトルＥ.MP3６５−５は、図９に示されているオーディオデータに対応している。また、タイトルＢ.BMP６４−４は、タイトルＢ.MP3６５−４に対応付けられている画像データであり、タイトルＥ.BMP６４−５は、タイトルＥ.MP3６５−５に対応付けられている画像データである。
【００９３】
以上のようにして、光ディスク２３に、オーディオデータ、オーディオデータに対応する画像データ、およびフォルダに対応する画像データが、記録される。なお、オーディオデータは、所定の方法により圧縮してから、光ディスクに記録するようにしても良い。
【００９４】
次に、MP3やMPEG-2 AAC(Moving Picture Experts Group-2 Advanced Audio Coding)などで圧縮されたオーディオトラックの、光ディスク２３への記録方法について、図１３を参照しつつ説明する。MP3やMPEG-2 AACなどで圧縮されたオーディオトラックにはID3 TAGなどの埋め込みタグにより、トラック名、アーティスト名、アルバム名を埋め込むことが可能である。さらにID3 TAG規格version 2.2以降ではジャケット写真や、アーティスト写真などの画像データも含むようにすることが可能である。
【００９５】
これらのMP3やMPEG-2 AACなどで圧縮されたオーディオトラックおよび埋め込まれた画像データをCDやMDに記録する場合、光ディスク記録再生装置１は、画像データを扱えない機器でも、光ディスク２３を再生できるようにするために、先に図７を参照して説明したように、オーディオトラックを記録する領域と画像データを記録する領域を分けて記録する。この場合にも画像情報のファイル名をトラックナンバにする事で、オーディオトラックと画像データをリンクする為の「対応表」や「制御情報」を、別途、作成および記録することが不要になり、組み込み機器などの資源が限られた機器でも、オーディオトラックと画像データを対応付けることが容易に実現できる。
【００９６】
図１３に示されるように、ID3 TAG version 2.x を有するMP3ファイル８１は、通常、ファイルの後半にエンコードされたMP3オーディオデータ８２があるので、このMP3オーディオデータ８２をデコードした後に、CD-EXTRAディスクのファーストユーザデータエリア４２に記録する。また、MP3ファイルの先頭にあるID3 TAG情報８３には画像データが含まれていることがあるので、この画像データを抜き出し、先のオーディオトラックのトラックナンバと同じファイル名でCD-EXTRAディスク４０の外周にあるセカンドユーザデータエリア４５に記録する。
【００９７】
次に、図１４のフローチャートを参照しつつ、光ディスク記録再生装置１の光ディスク２３の再生処理について説明する。
【００９８】
CD-R/RWドライブ２２に、光ディスク２３が挿入されたとき、ステップＳ４１において、CPU１１は、CD-R/RWドライブ２２を駆動して、光ディスク２３に、オーディオトラックと共に画像データが記録されているか否かを判定し、光ディスク２３に、オーディオトラックと共に画像データが記録されていた場合(図７に示されるようなCD−EXTRAディスク４０であった場合)、ステップＳ４２に進み、画像データを読み出し、ディスプレイ１９に表示させる。
【００９９】
ディスプレイ１９には、例えば、図１５に示されるように、光ディスク２３に記録されている曲に対応する画像データ、および曲のタイトルが表示される。ここで、光ディスク２３には、例えば、図４に示されるようにオーディオトラック、および画像データが記録されていたとする。すなわち、図４の画像データＣが、図１５の１番左側に表示され、図４の画像データＡが、図１５の中央に表示され、図４の画像データＢが、図１５の右側に標示されているものとする。
【０１００】
ユーザは、操作入力部１６を操作することにより、ディスプレイ１９に表示された画像データの中から、所望の画像データを選択することができ、ステップＳ４３において、CPU１１は、操作入力部１６を介した、ユーザからの画像データの指定を受け付ける。例えば、ここで、ユーザにより、図１５の１番右側の画像データＢ(曲のタイトルはタイトルＢ)が選択されたとする。
【０１０１】
ステップＳ４４において、CPU１１は、ステップＳ４３で選択された画像データに対応するオーディオトラックを特定する。例えば、ステップＳ４３で、図１５の１番右側の画像データＢ(曲のタイトルはタイトルＢ)が選択された場合、CPU１１は、画像データＢのファイル名を検出する。画像データＢのファイル名は「０３．ＢＭＰ」なので、CPU１１は、トラックナンバが３番のオーディオトラックが再生するべきトラックであると特定する。
【０１０２】
ステップＳ４７において、CPU１１は、CD-R/RWドライブ２２を駆動して、ステップＳ４４で特定されたオーディオトラックの音声データを読み出し、音声出力制御部１７に供給する。音声出力制御部１７は、供給された音声データに基づいて、スピーカ１８より、音声を出力させる。例えば、ステップＳ４４で、トラックナンバが３番のオーディオトラックが再生するべきトラックであると特定された場合、ステップＳ４７において、スピーカ１８より、トラックナンバが３番の曲が出力される。
【０１０３】
ステップＳ４１において、CPU１１が、光ディスク２３に、オーディオトラックと共に画像データは記録されていないと判定した場合、処理はステップＳ４５に進む。
【０１０４】
ステップＳ４５において、CPU１１は、CD-R/RWドライブ２２を駆動して、光ディスク２３より、オーディオトラックのタイトル(曲名)を読み出し、ディスプレイ１９に表示させる。
【０１０５】
ステップＳ４６において、CPU１１は、操作入力部１６を介して、ユーザより、再生するオーディオトラックの選択を受け付ける。
【０１０６】
ステップＳ４７において、CPU１１は、ステップＳ４６で選択されたオーディオトラックの音声データを読み出し、音声出力制御部１７に供給する。音声出力制御部１７は、供給された音声データに基づいて、スピーカ１８より、音声を出力させる。
【０１０７】
ステップＳ４８において、CPU１１は、光ディスク２３に画像データが記録されているか否かを判定し、光ディスク２３に画像データが記録されている場合、ステップＳ４９に進み、CPU１１は、画像データ、および演奏時間をディスプレイ１９に表示させる。ステップＳ４８において、CPU１１が、光ディスク２３に画像データは記録されていないと判定した場合、ステップＳ５０に進み、CPU１１は、演奏時間をディスプレイ１９に表示させる。
【０１０８】
ステップＳ５１において、CPU１１は、オーディオトラックの再生が終了するか否かを判定し、再生が終了するまで、ステップＳ４８に戻って、ステップＳ４８以降の処理を繰り返す。再生中のオーディオトラックの再生がすべて終了した場合、または、ユーザにより、再生の終了指示が入力された場合、ステップＳ５１において、CPU１１は、オーディオトラックの再生を終了すると判定し、画像データ、および演奏時間の表示を終了する。
【０１０９】
以上のようにして、図７のように、光ディスク２３に画像データが記録されていた場合、光ディスク記録再生装置１は、画像データを表示させて、画像データを選択させることにより、ユーザに、再生する曲を選択させる。
【０１１０】
なお、ステップＳ４２で読み出され表示される画像データのうち、再生されたオーディオトラックに対応する画像データが、ステップＳ４９で、ディスプレイ１９に表示される。
【０１１１】
また、上述においては、オーディオトラックをフォルダに分類せずに記録させた光ディスク２３を再生する場合を例として説明したが、光ディスク２３に、例えば図１２に示されるように、フォルダに分類してオーディオトラックが記録されていた場合の再生処理は、以下のようになる。まず、CPU１１は、CD-R/RWドライブ２２を駆動して、フォルダＭおよびフォルダＮに対応する画像データ、すなわちM.BMP、およびN.BMPを読み出し、図１６に示されるように、ディスプレイ１９に表示させ、操作入力部１６を介した、ユーザからのフォルダの選択を受け付ける。
【０１１２】
例えば、図１６の右側の画像データM.BMPが、ユーザにより選択された場合、CPU１１は、この画像データの名称に基づいて、画像データと同一名称のフォルダ、すなわちフォルダＭを特定し、次に、特定されたフォルダＭに分類されているオーディオデータに対応する画像データ、すなわち、タイトルＡ.BMP、タイトルＢ.BMP、およびタイトルＣ.BMPを読み出して、図１７に示されるように、ディスプレイ１９に表示させる。そして、図１７に示される画像データの中から、ユーザからの画像データの選択を受け付ける。
【０１１３】
そして、画像データ（例えば、タイトルＡ.BMP）が選択された場合、CPU１１は、選択された画像データの名称（タイトルＡ）に基づいて、同一の名称のオーディオデータ（タイトルＡ.MP3）を特定し、そのオーディオデータの再生を開始させる。その後、CPU１１は、オーディオデータの再生中に、再生中のオーディオデータ（タイトルＡ.MP3）に対応する画像データ（タイトルＡ.BMP）および演奏時間をディスプレイ１９に表示させる。なお、この場合、フォルダに対応する画像データ（M.BMP）、および再生中のオーディオデータに対応する画像データ（タイトルＡ.BMP）の両方を、ディスプレイ１９に表示するようにさせることもできる。
【０１１４】
以上のようにして、光ディスク記録再生装置１は、光ディスク２３に、オーディオトラックと画像データを記録すると共に、光ディスク２３から、オーディオトラックと画像データを読み出して、表示および再生することができる。
【０１１５】
次に、光ディスク２３ではなく、ハードディスクにオーディオトラック、および画像データを記憶させ、再生する場合について、オーディオサーバを例にして説明する。本発明の一実施の形態であるオーディオサーバの概要について、図１８を参照して説明する。このオーディオサーバ２０１は、音楽ＣＤ２０３に記録されているPCM(Pulse Code Modulation)データを読み出し、ATRAC３方式によってエンコードし、得られる符号化データをハードディスクドライブ２５８（図２３）に記録し、記録した符号化データを、上層側からフォルダリスト、フォルダ、アルバム、およびトラックなどの階層構造をなすオブジェクトに対応付けて管理する。
【０１１６】
フォルダリストには、１段下の階層に位置する複数のフォルダおよびフォルダに対応する画像を含めることができる。フォルダには、１段下の階層に位置する複数のアルバムおよびアルバムに対応する画像を含めることができる。アルバムには、１段下の階層に位置する複数のトラックおよびトラックに対応する画像を含めることができる。階層構造の最下層に位置するトラックは、１曲分の符号化データと１対１に対応する。なお、フォルダリストの１段下の階層に、アルバムを配置したり、トラックを配置するようにすることも可能である。また、フォルダの１段下の階層に、トラックを配置するようにすることも可能である。
【０１１７】
以下、符号化データをコンテンツデータとも記述する。フォルダリスト、フォルダ、アルバム、トラック、および画像データをオブジェクトとも記述する。ユーザは、オブジェクトを指定して各種のコマンドを指令する。なお、オブジェクトの階層構造の詳細については、図５５乃至図５７を参照して後述する。
【０１１８】
また、オーディオサーバ２０１は、音楽ＣＤ２０３を再生したり、ハードディスクドライブ（以下、HDDと記述する）２５８に記録されている符号化データをデコードしたりして、得られる音声信号をスピーカ２０２から出力する。
【０１１９】
さらに、オーディオサーバ２０１は、ＭＳスロット２４５（図２２）に挿入されたマジックゲート（商標）に対応するメモリースティック（商標）（以下、ＭＳと記述する）２０４や、コネクタ２４３（図２２）に接続されるネットワークウォークマン（商標）などのポータブルデバイス（以下、ＰＤと記述する）２０５に対して、HDD２５８に記録されている符号化データを、チェックアウト処理またはムーブアウト処理によって記録するとともに、ＭＳ２０４やＰＤ２０５に記録されている符号化データを、チェックイン処理、ムーブイン処理、またはインポート処理によってHDD２５８に記録する。
【０１２０】
ここで、マジックゲートとは、マジックゲートに対応するＭＳ２０４に記録するデータの暗号化と、ＭＳ２０４を挿入して使用するオーディオサーバ２０１の相互認証との２つの技術によりデータの著作権を保護するための技術であり、ディジタルオーディオデータの不正なコピー、再生、改ざんを防止することが可能である。マジックゲートは、SDMI(Secure Digital Music Initiative)規格に準拠している。
【０１２１】
なお、HDD２５８に記録されているコンテンツデータをチェックアウトする処理とは、HDD２５８に記録されているコンテンツデータのコピーをＭＳ２０４などに一時的に作成して利用するための処理である。コンテンツデータのチェックアウト可能回数は予め設定されており、チェックアウト処理によってチェックアウト可能回数は１ずつ減少する。
【０１２２】
また、ＭＳ２０４に記録されているコンテンツデータをチェックインする処理とは、HDD２５８からＭＳ２０４に一時的に再生したコンテンツデータのコピーを消去するとともに、HDD２５８のチェックアウト可能回数を１だけインクリメントして、チェックアウト可能回数を元の値に復元する処理である。
【０１２３】
また、HDD２５８に記録されているコンテンツデータをＭＳ２０４にムーブアウトする処理とは、HDD２５８に記録されているコンテンツデータをＭＳ２０４にコピーした後、HDD２５８に記録されていたコンテンツデータを削除する一連の処理である。
【０１２４】
また、ＭＳ２０４に記録されているコンテンツデータをHDD２５８にムーブインする処理、およびインポートする処理とは、ＭＳ２０４に記録されているコンテンツデータをHDD２５８にコピーした後、ＭＳ２０４に記録されていたコンテンツデータを削除する一連の処理である。なお、オーディオサーバ２０１は、ムーブイン処理によってHDD２５８に記録されたコンテンツデータを、他のＭＳ２０４やＰＤ２０５などに、ムーブアウトすることが可能であり、かつ、チェックアウトすることが可能である。しかしながら、オーディオサーバ１は、インポート処理によってHDD２５８に記録されたコンテンツデータを、他のＭＳ２０４やＰＤ２０５などに、チェックアウトすることは可能であるが、ムーブアウトすることは不可能である。
【０１２５】
符号化データが記録されたＭＳ２０４は、オーディオサーバ２０１から取り出され、例えば、パーソナルコンピュータ２０６に装着されて、記録されている符号化データが読み出されてデコードされる。
【０１２６】
符号化データが記録されたＰＤ２０５は、符号化データをデコードし、得られる音声信号をヘッドホンから出力する。
【０１２７】
リモートコントローラ２０７は、ユーザからの操作を受け付けて、対応する制御信号をオーディオサーバ２０１に送信する。なお、ユーザからの操作には、画像を選択する操作が含まれる。
【０１２８】
次に、オーディオサーバ２０１の外観について、図１９乃至図２２を参照して説明する。図１９は、オーディオサーバ２０１の正面上方からの外観図である。図２０は、オーディオサーバ２０１の上面図である。図２１は、オーディオサーバ２０１の背面図である。図２２は、正面図である。
【０１２９】
オーディオサーバ２０１の上面には、ＣＤを装着するＣＤトレイ（不図示）の蓋２４０が設けられており、蓋２４０には、図２０に示すように、パワーボタン２１１などのボタン類の他、各種の情報を表示するディスプレイ２１５が配置されている。パワー(POWER)ボタン２１１は、オーディオサーバ２０１の電源をオン・オフさせるときに操作される。ファンクション(FUNCTION)ボタン２１２は、音源として、音楽ＣＤ２０３、HDD２５８、AUXイン端子２３１、ＭＳ２０４、およびＰＤ２０５のうちの１つを選択するときに操作される。
【０１３０】
プレイモード(PLAY MODE)ボタン２１３は、再生モードを、再生エリアに含まれる全てのトラックを順次１回ずつ再生するノーマル再生、再生エリアに含まれる全てのトラックを順次再生することを繰り返す全曲リピート、１トラックだけを繰り返し再生する１曲リピート、再生エリアに含まれる全てのトラックのなかからランダムに選択して再生することを繰り返すランダムリピート、または、HDD全体に含まれる全てのトラックのなかからランダムに選択する様子のアニメーションを表示するとともに選択したトラックを再生することを繰り返すスロットマシン再生に切り替えるときに操作される。
【０１３１】
ディスプレイ(DISPLAY)ボタン２１４は、ディスプレイ２１５の表示内容を切り替えるときに操作される。LCD(Liquid Crystal Display)などよりなるディスプレイ２１５は、動作状況やオーディオデータに関わる情報を表示する。
【０１３２】
音量(VOLUME)ボタン２１６は、出力する音量を増減させるときに操作される。カーソルボタン２１７は、ディスプレイ２１５に表示されるカーソルを移動させるときに操作される。セレクト(SELECT)ボタン２１８は、ディスプレイ２１５のカーソルで示されているオブジェクトなどを選択するときや、検索時の昇順、降順を切り替えるときに操作される。イレーズ(ELASE)ボタン２１９は、トラックなどのオブジェクトを消去するときに操作される。エンタ(ENTER)ボタン２２０は、表示されているメニューや、選択されているトラックなどのオブジェクトを決定するときに操作される。メニュー／キャンセル(MENU/CANCEL)ボタン２２１は、階層的に設けられている各種の操作メニューを表示させるとき、またはキャンセルするときに操作される。エクスチェンジ(EXCHANGE)ボタン２２２は、ＭＳ２０４、またはＰＤ２０５に対して、自動的にチェックイン処理およびチェックアウト処理を施すときに操作される。
【０１３３】
レコード(RECORD)ボタン２２３は、音楽ＣＤ２０３のオーディオデータを再生しながらHDD２５８に録音するときに操作される。ハイスピードレコード(HI SPEED RECORD)ボタン２２４は、音楽ＣＤ２０３のオーディオデータをHDD２５８に高速録音するときに操作される。なお、この際にも録音されるオーディオデータの音声がスピーカ２０２などから出力される。停止ボタン２２５は、実行中の再生や録音を中止するときに操作される。再生／一時停止ボタン２２６は、再生の開始、再生ポーズ、再生ポーズの解除を指示するときに操作される。頭出しボタン２２７は、現在のトラックまたは前のトラックの頭出し、あるいは、巻き戻し再生を指示するときに操作される。頭出しボタン２２８は、次のトラックの頭出し、または早送り再生を指示するときに操作される。
【０１３４】
なお、図示は省略するが、リモートコントローラ２０７には、蓋２４０に配置されているパワーボタン２１１などのボタン類と同等の機能を有するボタンが配置されている。
【０１３５】
オーディオサーバ２０１の背面には、図２１に示すように、AUXイン端子２３１、ラインアウト端子２３２、サブウーファ端子２３３、スピーカ（L,R）端子２３４、リセットボタン２３５、およびＤＣイン端子２３６が配置されている。
【０１３６】
AUXイン端子２３１は、オーディオ出力機器（不図示）を接続することができ、接続したオーディオ出力機器からのディジタルオーディオデータ、またはアナログの音声信号を入力することができる。ラインアウト端子２３２は、増幅機器（不図示）などを接続することができ、接続した増幅機器にアナログ音声信号を出力することができる。サブウーファ端子２３３は、サブウーファ（不図示）を接続することができ、サブウーファに再生した音声信号の低周波成分を出力することができる。スピーカ（L,R）端子２３４は、スピーカ２０２を接続し、接続したスピーカ２０２に再生した音声信号を出力することができる。リセットボタン２３５は、オーディオサーバ２０１をリセットするときに操作される。ＤＣイン端子２３６には、ＡＣパワーアダプタ（不図示）からのＤＣ電力が供給される。
【０１３７】
オーディオサーバ２０１の正面には、図２２に示すように、オープンレバー２４１、受光部２４２、コネクタ２４３、アクセスランプ２４４、ＭＳスロット２４５、取り出しレバー２４６、およびヘッドホン端子２４７が配置されている。オープンレバー２４１は、蓋２４０を開けるときにスライドされる。受光部２４２は、リモートコントローラ２０７から送信される制御信号を受信する。コネクタ２４３には、USB(Universal Serial Bus)端子が設けられており、USBケーブルを介して、ＰＤ２０５、外付けHDD、キーボードなどを接続することができる。
【０１３８】
なお、コネクタ２４３に、IEEE１３９４端子を設けるようにし、IEEE１３９４ケーブルを介してＰＤ２０５などを接続するようにしてもよい。または、いわゆるBluetooth（商標）、あるいは、IEEE８０２．１１ｂ（いわゆる無線ＬＡＮ）用の端子を設けて、無線通信によってＰＤ２０５などを接続するようにしてもよい。
【０１３９】
アクセスランプ２４４は、ＭＳスロット２４５に挿入されているＭＳ２０４、またはコネクタ２４３に接続されているＰＤ２０５などに対してデータの読み書きが実行されている時に点滅する。ＭＳスロット２４５には、ＭＳ２０４が挿入される。取り出しレバー２４６は、ＭＳスロット２４５に挿入されているＭＳ２０４を取り出すときに操作される。ヘッドホン端子２４７は、ヘッドホンを接続することができ、接続したヘッドホンに再生した音声信号を出力することができる。
【０１４０】
次に、オーディオサーバ２０１のハードウェア的な構成例について、図２３を参照して説明する。オーディオサーバ２０１は、オーディオサーバ２０１の全体を制御するメインCPU(Central Processing Unit)２５１を内蔵している。メインCPU２５１には、バス２６６を介して、フラッシュROM２５２、SDRAM２５３、USBホストコンとローラ２５４、DMAコントローラ２５５、信号処理部２６０、イーサネット（登録商標）コントローラ／コネクタ２６７、およびPCMCIAコントローラ２６８が接続されている。
【０１４１】
フラッシュROM２５２には、電源がオンとされると直ちにメインCPU２５１によって起動が完了されるRTOS(Real Time Operating System)２７１（図２４）、各種の機能を実現するためにRTOS２７１上で実行されるファームウェア（Firmware、図２４を参照して後述する）の他、機器ＩＤ、暗号キーなどが記憶されている。SDRAM(Synchronous Dynamic Random Access Memory)２５３は、メインCPU２５１が各種の処理を実行する際、所定のデータやプログラムを一時的に記憶する。USBホストコンとローラ２５４は、コネクタ２４３を介して接続されるＰＤ２０５などとのデータ通信を制御する。
【０１４２】
DMA(Direct Memory Access)コントローラ２５５は、バッファ２５６、CD-ROMドライブ２５７、HDD２５８、およびエンコーダ/デコーダ２５９の間のデータ転送を制御する。SDRAMなどよりなるバッファ２５６は、DMAコントローラ２５５が転送を制御するデータを一時的にバッファリングする。CD-ROMドライブ２５７は、CAV８倍速で音楽ＣＤ２０３に記録されているオーディオデータを読み出す。HDD２５８は、エンコーダ/デコーダ２５９が生成した符号化データなどを記憶する。
【０１４３】
エンコーダ/デコーダ２５９は、CD-ROMドライブ２５７が読み出したPCMデータや、AUXイン端子２３１から入力されたオーディオデータを、１３２Kbpsモード、１０５Kbpsモード、または６６KbpsモードのATRAC３方式を用い、最大８倍速、平均５倍速でエンコードして符号化データを生成する。また、エンコーダ/デコーダ２５９は、HDD２５８が記憶する符号化データをデコードする。さらに、エンコーダ/デコーダ２５９は、DES(Data Encryption Standard)エンジンを有しており、符号化データを、オーディオサーバ２０１を構成する所定の部品の機器ＩＤと時刻とに基づいて生成する暗号キーを用いて暗号化する。
【０１４４】
例えば、HDD２５８が９ギガバイトの容量を有し、エンコーダ/デコーダ２５９が１０５KbpsモードのATRAC３方式でエンコードする場合、HDD２５８には、約１００枚分の音楽ＣＤ２０３（６０分／枚）を録音することができる。
【０１４５】
信号処理部２６０は、マジックゲートメモリースティックインタフェース（以下、MGMS I/Fと記述する）２６０−１、ウォータマークスクリーン（以下、ＷＭスクリーンと記述する）２６０−２、オーディオＩ／Ｆ２６０−３、およびサンプリングレートコンバータ（以下、SRCと記述する）２６０−４からなる。
【０１４６】
MGMS I/F２６０−１は、MSコネクタ２６１を介し、ＭＳスロット２４５に挿入されるＭＳ２０４に対して相互認証を行い、その結果に基づいてデータの暗号化、および暗号化されたデータの復号を実行する。ＷＭスクリーン２６０−２は、信号処理部２６０を通過するオーディオデータに埋め込まれているSDMI規格のウォータマーク（電子すかし、コピーの可否などを示す情報など）を検出する。
【０１４７】
オーディオＩ／Ｆ２６０−３は、AUXイン端子２３１を介してディジタルオーディオデータを取得し、SRC２６０−４に供給する。また、オーディオＩ／Ｆ２６０−３は、バッファ２５６などから転送されたディジタルオーディオデータを、内蔵するバッファに適宜バッファリングした後、ＡＤ／ＤＡ２６２に出力する。
【０１４８】
SRC２６０−４は、オーディオＩ／Ｆ２６０−３からのディジタルオーディオデータのサンプリングレートを、４４．１KHzに変換してエンコーダ/デコーダ２５９に出力する。
【０１４９】
なお、図示は省略するが、さらに、信号処理部２６０は、１倍速で動作するATRAC３方式のエンコーダ／デコーダを内蔵している。
【０１５０】
MSコネクタ２６１は、挿入されるＭＳ２０４とMGMS I/F２６０−１とのデータ通信を中継する。ＡＤ／ＤＡ２６２は、信号処理部２６０のオーディオＩ／Ｆ２６０−３から入力されるディジタルオーディオデータをアナログの音声信号に変換して、ラインアウト端子２３２、スピーカ端子２３４、またはヘッドホン端子２４７に出力する。また、ＡＤ／ＤＡ２６２は、AUXイン端子２３１から入力されるアナログの音声信号をディジタル化してエンコーダ/デコーダ２５９に出力する。
【０１５１】
イーサネット（登録商標）コントローラ／コネクタ２６７は、イーサネット（登録商標）を介する他の電子機器とのデータ通信を制御する。PCMCIA(Personal Computer Memory Card International Association)コントローラ２６８は、PCMCIA規格のＩＣカードインタフェースを装備している.
【０１５２】
メインCPU２５１には、ディスプレイドライバ２６３、およびサブCPU２６４が接続されている。ディスプレイドライバ２６３は、ディスプレイ２１５の表示を制御する。サブCPU２６４は、特に、電源がオフであるときにおいて、電源部２６５の制御、本体のリセット制御、内蔵時計のカウント、パワーボタン２１１などに対する操作の検知、受光部２４２の制御、ＡＤ／ＤＡ２６２の制御などを実行する。電源部２６５は、ＤＣイン端子２３６から供給されるＤＣ電圧を所定の電圧に変換し、オーディオサーバ２０１の全体に供給する。
【０１５３】
次に、以下に挙げるオーディオサーバ２０１の機能を実際に行うためにメインCPU２５１がフラッシュROM２５２から読み出して実行するファームウェアについて、図２４を参照して説明する。なお、オーディオサーバ２０１の機能は、ＣＤリッピング、ＣＤレコーディング、ＨＤレコーディング（ディジタル入力）、ＨＤレコーディング（アナログ入力）、ＨＤプレイ、ＣＤプレイ、ＭＳプレイ、チェックアウト／チェックイン、インポート、ムーブアウト／ムーブインなどであるが、その詳細とファームウェアとの対応については、図４５乃至図５４を参照して後述する。
【０１５４】
ファームウェアは、４つのレイヤ、すなわち、アプリケーションレイヤ(APP)２７２、アッパーミドルウェアレイヤ(UMW)２７３、ロワーミドルウェアレイヤ(LMW)２７４、およびデバイスドライバレイヤ(DD)２７５をなしている。
【０１５５】
アプリケーションレイヤ２７２には、メインアプリケーション（以下、メインAPPと記述する）２７６、ハードディスクアプリケーション（以下、HD APPと記述する）２７７、ＣＤアプリケーション（以下、CD APPと記述する）２７８、メモリースティックアプリケーション（以下、MS APPと記述する）２７９、ポータブルデバイスアプリケーション（以下、PD APPと記述する）２８０、および仮名漢字変換アプリケーション（以下、FEP(Front End Processor)と記述する）２８１の各モジュールが含まれる。
【０１５６】
アプリケーションレイヤ２７２の各モジュールは、オーディオサーバ２０１が実行可能な機能に関わるユーザの操作に対応して、アッパーミドルウェアレイヤ２７３の対応するモジュールに処理を要求し、処理の状況の表示を制御することによってユーザインタフェースを提供する。
【０１５７】
メインAPP２７６は、アプリケーションレイヤ２７２の各モジュールを統制する。例えば、起動時において、起動画面を作成し、各モジュールを起動する。インプットミドルウェア２９８から通知されるユーザの操作を受け付けて、対応するモジュールに通知する。各モジュールからの表示データをディスプレイデバイスドライバ３０６に供給する。各モジュールの切替を実行する。ユーザからの音量変更の操作に対応して、オーディオＩＯミドルウェア(AIO)２９５に通知する。ユーザからのセットアップ操作に対応して、各モジュールに設定値を通知する。各モジュールで共通の設定情報（プレイモードなど）を保持する。パワーオフの操作に対応して各モジュールを終了させ、システムコントロールミドルウェア(SYSTEM)２９９にパワーオフを要求する。
【０１５８】
HD APP２７７は、HDD２５８を駆動させる操作を受け付けて、ハードディスクミドルウェア２８２に通知し、ハードディスクミドルウェア２８２の動作状態を取得して表示データを生成する。
【０１５９】
CD APP２７８は、CD-ROMドライブ２５７を駆動させる操作を受け付けて、ＣＤミドルウェア２８９に通知し、ＣＤミドルウェア２８９の動作状態を取得して表示データを生成する。
【０１６０】
MS APP２７９は、ＭＳスロット２４５に挿入されたＭＳ２０４に関わる操作を受け付けて、ＭＳミドルウェア２９０に通知し、ＭＳミドルウェア２９０の動作状態を取得して表示データを生成する。
【０１６１】
PD APP２８０は、コネクタ２４３に接続されたＰＤ２０５に関わる操作を受け付けて、ＰＤミドルウェア２９１に通知し、ＰＤミドルウェア２９１の動作状態を取得して表示データを生成する。
【０１６２】
FEP２８１は、録音する音楽ＣＤ２０３のタイトルなどを入力する際の仮名漢字変換を実行する。
【０１６３】
アッパーミドルウェアレイヤ２７３には、オーディオサーバ２０１の各機能をモデル化して実装した以下のモジュールから構成される。すなわち、ハードディスクミドルウェア（以下、HD MWと記述する）２８２、ＣＤミドルウェア（以下、CD MWと記述する）２８９、ＭＳミドルウェア（以下、MS MWと記述する）２９０、およびＰＤミドルウェア（以下、PD MWと記述する）２９１の各モジュールが含まれる。
【０１６４】
HD MW２８２は、HDD２５８に記憶されている符号化データを管理するHDCC２８３、CD MW２８９と連携して音楽ＣＤ２０３のオーディオデータを圧縮し、暗号化してHDD２５８に記録するCD RIPPING２８４、オーディオＩＯミドルウェア２９５と連携してHDD２５８に記録されている符号化データを復号し、伸張するHD PLAY２８５、オーディオＩＯミドルウェア２９５と連携してAUXイン端子２３１から入力されるオーディオデータを圧縮し、暗号化してHDD２５８に記録するHD REC２８６、オーディオデータ、アルバム、フォルダ、およびフォルダリストの名称を基に、画像データの名称を設定するIMAGE LINK２８７、MS MW２９０またはPD MW２９１と連携して、ＭＳ２０４またはＰＤ２０５とのチェックイン、チェックアウトを制御するC IN/C OUT２８８から構成される。
【０１６５】
CD MW２８９は、ＣＤデバイスドライバ３０３にCD-ROMドライブ２５７を制御させることによってＣＤプレーヤとしての機能を実現する。MD MW２９０は、オーディオＩＯミドルウェア２９５、およびＭＳファイルシステムミドルウェア２９６と連携してＭＳプレーヤとしての機能を実現する。PD MW２９１は、USBホストミドルウェア２９７およびUSBホストデバイスドライバ３０５と連携することによってＰＤ２０５を制御する。
【０１６６】
ロワーミドルウェアレイヤ２７４には、アッパーミドルレイヤ２７３の各モジュールが共用できる機能をモデル化して実装した以下のモジュール、すなわち、ハードディスクオブジェクトデータベースミドルウェア（以下、HD DBと記述する）２９２、ハードディスクファイルシステムミドルウェア（以下、HD FSと記述する）２９３、ＭＧＲミドルウェア(MGR)２９４、オーディオＩＯミドルウェア(AIO)２９５、メモリースティックファイルシステムミドルウェア(MS FS)２９６、USBホストミドルウェア(USB)２９７、インプットハンドルミドルウェア(INPUT)２９８、およびシステムコントロールミドルウェア(SYSTEM)２９９が含まれる。ロワーミドルウェアレイヤ２７４に含まれる各モジュールは、アッパーミドルレイヤ２７３を構成する各モジュールから呼び出される。
【０１６７】
デバイスドライバレイヤ(DD)２７５には、各ハードウェアデバイスをモデル化した以下のモジュール、すなわち、ハードディスクデバイスドライバ３００、デコーダ／エンコーダデバイスドライバ３０１、DMAデバイスドライバ３０２、ＣＤデバイスドライバ３０３、信号処理部デバイスドライバ３０４、USBホストデバイスドライバ３０５、ディスプレイデバイスドライバ３０６、通信ドライバ３０７、オーディオデバイスドライバ３０８、キーデバイスドライバ３０９、パワーデバイスドライバ３１０、およびクロックデバイスドライバ３１１が含まれる。なお、図２４において、破線で囲まれたオーディオデバイスドライバ３０８乃至クロックデバイスドライバ３１１は、サブCPU２６４によって実行される。各モジュールは、主に、ライブラリで構成されており、アッパーミドルウェアレイヤ２７３またはロワーミドルウェア２７４に含まれるモジュールから、そのAPI(Application Program Interface)が呼び出される。
【０１６８】
次に、HDD２５８に適用されるFAT(File Allocation Table)型ファイルシステム（データフォーマット）について、図２５乃至図３７を参照して説明する。図２５に示すように、HDD２５８には、符号化データ（コンテンツデータ）をファイルとして記録するためのファイル記録領域３２１と、ファイル記録領域３２１に記録されたコンテンツデータが記録された位置を特定するための情報を含むオブジェクトが記録されるオブジェクト記録領域３２２が設けられる。
【０１６９】
ファイル管理部３２３は、ファイルの作成、新規に作成するファイルに対するＩＤの発行、ファイル記録領域３２１に対する書き込み、読み出し、削除などのファイルに関わる一切の処理を実行する。ファイル管理部３２３は、ロワーミドルウェアレイヤ２７４に含まれるHD FS２９３に相当する。
【０１７０】
オブジェクト管理部３２４は、オブジェクト記録領域３２２におけるオブジェクトの物理位置を認識し、オブジェクトの書き込み、読み出し、削除などを実行する。オブジェクト管理部３２４は、ロワーミドルウェアレイヤ２７４に含まれるHD DB２９２に相当する。なお、オブジェクトのデータベースによる管理については、図３８乃至図５４を参照して後述する。
【０１７１】
図２６は、ファイル記録領域３２１の論理構造を示している。ファイル記録領域３２１は、ファイル記録領域３２１における書き込み、読み出しの最小単位である所定の容量のセクタに区画されている。全てのセクタには、シリアルなセクタ番号が付与されている。ファイル記録領域３２１は、所定の数のセクタによって構成されるFATエリア、システムエリア、複数のクラスタによって構成される。各クラスタには、固定長のクラスタ番号が付与されている。ファイル記録領域３２１に記録されるファイルは、複数のクラスタが結合されて構成される。
【０１７２】
複数のクラスタの結合状態は、FAT３４１（図２７）と称されるテーブルに記録されている。FAT３４１は、ファイル記録領域３２１のFATエリアに記録されているが、ファイル管理部３２３が動作する際にはSDRAM２５３にも転送される。
【０１７３】
図２７は、FAT３４１の構造を示している。FAT３４１は、FATヘッダ３４２と、各クラスタにそれぞれ対応する複数のFATエントリ３４４から構成される。ヘッダ３４２には、空きクラスタリスト開始番号記録領域３４３が含まれている。空きクラスタリスト開始番号記録領域３４３には、データが記録されていない一連の空きクラスタの先頭のクラスタ番号が記録される。空きクラスタが存在しない場合、空きクラスタリスト開始番号記録領域３４３には、−１＝0xFFFFFFFFが記録される。
【０１７４】
FATエントリ３４４には、対応するクラスタに付与されているクラスタ番号と同一のエントリ番号が付与されている。例えば、クラスタ番号１に対応するFATエントリには、エントリ番号１が付与されている。以下、エントリ番号１のFATエントリを、FATエントリＥ（１）とも記述する。FATエントリ３４４は、Ｐ欄３４５とＮ欄３４６に区分けられている。
【０１７５】
FATエントリ３４４のＰ欄３４５には、対応するクラスタの前方に連結されるクラスタに付与されているクラスタ番号が記録される。前方に連結されるクラスタが存在しない場合、すなわち、対応するクラスタがファイルの先頭である場合、Ｐ欄３４５には、0xFFFFFFFFが記録される。
【０１７６】
FATエントリ３４４のＮ欄３４６には、対応するクラスタの後方に連結されるクラスタに付与されているクラスタ番号が記録される。後方に連結されるクラスタが存在しない場合、すなわち、対応するクラスタがファイルの末尾である場合、Ｎ欄３４６には、0xFFFFFFFFが記録される。
【０１７７】
例えば、ファイル記録領域３２１に１つのファイルだけが、クラスタ番号１，５，６，８，１２が付与されている５つのクラスタに記録されている場合、図２８に示すように、エントリ番号１（0x00000001）のFATエントリＥ（１）のＰ欄には、前方に連結されるクラスタが存在しないことを示す0xFFFFFFFFが記録され、Ｎ欄には、後方に連結されるクラスタに付与されているクラスタ番号５（0xFFFFFFFF）が記録される。
【０１７８】
エントリ番号５（0x00000005）のFATエントリＥ（５）のＰ欄には、前方に連結されるクラスタに付与されているクラスタ番号１（0x00000001）が記録され、Ｎ欄には、後方に連結されるクラスタに付与されているクラスタ番号６（0x00000006）が記録される。
【０１７９】
エントリ番号６，８のFATエントリＥ（６），Ｅ（８）にも、同様に記録がなされる。
【０１８０】
エントリ番号１２（0x0000000C）のFATエントリＥ（１２）のＰ欄には、前方に連結されるクラスタに付与されているクラスタ番号８（0x00000008）が記録され、Ｎ欄には、後方に連結されるクラスタが存在しないことを示す0xFFFFFFFFが記録される。
【０１８１】
空きクラスタリスト開始番号記録領域３４３には、いまの場合、クラスタ番号（0x00000002）のクラスタから、クラスタ番号（0x00000014）までの一連のクラスタが空きクラスタであるので、その先頭を示すクラスタ番号（0x00000002）が記録される。
【０１８２】
図２９は、クラスタ番号１，５，６，８，１２が付与されている５つのクラスタに１つのファイルが記録される様子を示している。ファイルの先頭のクラスタ（いまの場合、クラスタ１）には、ファイルのサイズの関わる情報を記録するサイズ記録領域３５１が設けられる。ファイルのデータは、２番目のクラスタ（いまの場合、クラスタ５）以降に記録される。なお、サイズ記録領域３５１をファイルの最後尾のクラスタ（いまの場合、クラスタ１２）に設けるようにしてもよい。
【０１８３】
図３０は、サイズ記録領域３５１の構成例を示している。サイズ記録領域３５１には、有効サイズ記録領域３５２、最終クラスタ番号記録領域３５３、および占有クラスタ数記録領域３５４が設けられている。有効サイズ記録領域３５２には、最後尾のクラスタ（いまの場合、クラスタ１２）の有効バイト数が記録される。通常、その値は、１以上であり、クラスタサイズ以下の値が記録される。最終クラスタ番号記録領域３５３には、最後尾のクラスタ（いまの場合、クラスタ１２）のクラスタ番号（いまの場合、0x0000000C）が記録される。占有クラスタ数記録領域３５４には、ファイルのデータ記録部分を構成するクラスタの数（いまの場合、４）が記録される。
【０１８４】
次に、FATを利用するファイルの作成処理（すなわち、コンテンツデータの記録処理）、ファイルの読み出し処理、およびファイルの逆読み出し（すなわち、コンテンツデータの逆方向からの読み出し処理）について、図３１乃至図３７のフローチャートを参照して説明する。なお、これらの処理は、ファイル管理部３２３、すなわち、ファームウェアのロワーミドルウェアレイヤ２７４に属するHD
FS２９３によって制御される。
【０１８５】
始めに、ファイルの作成処理について、図３１のフローチャートを参照して説明する。ステップＳ２０１において、HD FS２９３は、HDD２５８に記録するコンテンツデータを、クラスタサイズ毎にCM-ROMドライブ５７などからバッファ２５６に転送させる（転送されたデータ量をＳバイトとする）。ステップＳ２０２において、HD FS２９３は、ファイル記録領域３２１の空きクラスタを検索して取得（確保）する。
【０１８６】
この空きクラスタ取得処理について、図３２のフローチャートを参照して説明する。ステップＳ２２１において、HD FS２９３は、FATヘッダ３４２に記録されている空きクラスタリスト開始番号記録領域３４３に記録されている値Ｑを読み取る。ステップＳ２２２において、HD FS２９３は、値Ｑが−１であるか、すなわち、空きクラスタが存在しないか否かを判定する。値Ｑが−１ではない、すなわち、空きクラスタが存在すると判定された場合、処理はステップＳ２２３に進む。ステップＳ２２３において、HD FS２９３は、値Ｑ（空きクラスタのクラスタ番号）に対応するFATエントリＥ（Ｑ）を読み取る。
【０１８７】
FATエントリＥ（Ｑ）を読み出す処理に関連し、任意のクラスタ番号Ｘに対応するFATエントリＥ（Ｘ）を読み取る処理について、図３３のフローチャートを参照して説明する。ステップＳ２４１において、HD FS２９３は、既知のFATエントリ開始アドレスに既知のFATヘッダサイズを加算し、その和に、値Ｘから１を減算した値（Ｘ−１）に、既知のエントリサイズを乗算した積を加算して、アドレスＡを算出する。ステップＳ２４２において、HD FS２９３は、アドレスＡを先頭として、１エントリサイズ分だけデータを読み出す。以上、任意のクラスタ番号Ｘに対応するFATエントリＥ（Ｘ）を読み取る処理の説明を終了する。
【０１８８】
図３２に戻り、ステップＳ２２４において、HD FS２９３は、FATエントリＥ（Ｑ）のＮ欄の値が−１(0xFFFFFFFF)であるか否かを判定する。FATエントリＥ（Ｑ）のＮ欄の値が−１ではないと判定された場合、処理はステップＳ２２５に進む。
【０１８９】
ステップＳ２２５において、HD FS２９３は、変数ＭにFATエントリＥ（Ｑ）のＮ欄の値を代入する。ステップＳ２２６において、HD FS２９３は、クラスタ番号Ｍに対応するFATエントリＥ（Ｍ）を読み取る。ステップＳ２２７において、HD FS２９３は、FATエントリＥ（Ｍ）のＰ欄に−１(0xFFFFFFFF)を記録する。
【０１９０】
ステップＳ２２８において、HD FS２９３は、FATエントリＥ（Ｑ）のＮ欄に−１(0xFFFFFFFF)を記録し、FATエントリＥ（Ｑ）のＰ欄に−１(0xFFFFFFFF)を記録する。ステップＳ２２９において、HD FS２９３は、クラスタ番号Ｑの空きクラスタが存在するとして、図３１にリターンする。以上、空きクラスタ取得処理の説明を終了する。
【０１９１】
なお、ステップＳ２２４において、FATエントリＥ（Ｑ）のＮ欄の値が−１であると判定された場合、ステップＳ２２５乃至ステップＳ２２７の処理はスキップされる。
【０１９２】
また、ステップＳ２２２において、空きクラスタリスト開始番号記録領域３４３に記録されている値Ｑが−１であると判定された場合、処理はステップＳ２３０に進む。ステップＳ２３０において、HD FS２９３は、空きクラスタが存在しないとして図３１にリターンする。ただし、空きクラスタが存在しない場合、HDD２５８が一杯であるとして、図３１のファイル作成処理は終了される。
【０１９３】
以下、取得したクラスタ番号Ｑの空きクラスタを、クラスタ番号Ｖの空きクラスタと読み替えて説明を継続する。ステップＳ２０３において、HD FS２９３は、変数Ｘと変数Ａに空きクラスタのクラスタ番号Ｖを代入する。ステップＳ２０４において、HD FS２９３は、占有クラスタ数Ｔに０を代入する。ステップＳ２０５において、HD FS２９３は、上述したステップＳ２０２の処理と同様に、新たに空きクラスタを取得する。取得した空きクラスタのクラスタ番号をＶとする。ここで、新たに空きクラスタが取得できない場合、このファイル作成処理は終了される。
【０１９４】
ステップＳ２０６において、HD FS２９３は、変数Ｂに値Ｖを代入する。ステップＳ２０７において、HD FS２９３は、占有クラスタ数Ｔを１だけインクリメントする。ステップＳ２０８において、HD FS２９３は、クラスタ番号Ｂをセクタ番号に変換する（例えば、図２６に示すようにセクタとクラスタが対応付けられている場合、クラスタ番号２はセクタ番号２８乃至３５に変換される）。クラスタ番号Ｂに対応するセクタ番号を判別する）。ステップＳ２０９において、HD FS２９３は、ステップＳ２０１でバッファリングしたコンテンツデータを、ファイル記録領域３２１の変換したセクタ番号に記録させる。
【０１９５】
バッファリングしたコンテンツデータの記録が終了した後、ステップＳ２１０において、HD FS２９３は、クラスタ番号Ａのクラスタ（この時では空きクラスタである）に、クラスタ番号Ｂのクラスタを連結する。この連結処理について、図３４のフローチャートを参照して説明する。
【０１９６】
図３３を参照して上述した処理と同様、HD FS２９３は、ステップＳ２５１において、クラスタ番号Ａに対応するFATエントリＥ（Ａ）を読み取り、ステップＳ２５２において、クラスタ番号Ｂに対応するFATエントリＥ（Ｂ）を読み取る。ステップＳ２５３において、HD FS２９３は、FATエントリＥ（Ａ）のＮ欄にクラスタ番号Ｂを記録し、FATエントリＥ（Ｂ）のＰ欄にクラスタ番号Ａを記録する。なお、ステップＳ２５３の処理は、SDRAM２５３に展開しているFAT３４１に対して実行する。以上、クラスタ番号Ａのクラスタと、クラスタ番号Ｂのクラスタの連結処理の説明を終了する。
【０１９７】
図３１に戻り、ステップＳ２１１において、HD FS２９３は、ステップＳ２０９で記録したコンテンツのデータ量Ｓがクラスタサイズに等しいか否かを判定する。ステップＳ２０９で記録したコンテンツのデータ量Ｓがクラスタサイズに等しいと判定された場合、記録すべきコンテンツデータの記録が完了していないので、処理はステップＳ２１２に進む。
【０１９８】
ステップＳ２１２において、先程記録したコンテンツデータの続きを、クラスタサイズ分だけ、バッファ２５６に転送させる。ステップＳ２１３において、変数Ａにクラスタ番号Ｂを代入する。ステップＳ２１４において、HD FS２９３は、上述したステップＳ２０２の処理と同様に、新たに空きクラスタを取得する。取得した空きクラスタのクラスタ番号をＶとする。なお、ステップＳ２１４で、新たに空きクラスタが取得できなかった場合には、処理はステップＳ２１７に進む。ステップＳ２１５において、HD FS２９３は、変数Ｂに値Ｖを代入する。ステップＳ２１６において、HD FS２９３は、占有クラスタ数Ｔを１だけインクリメントする。
【０１９９】
この後、処理はステップＳ２０８に戻り、以降の処理が繰り返される。そして、ステップＳ２１１において、ステップＳ２０９で記録したコンテンツのデータ量Ｓがクラスタサイズに等しくないと判定された場合、記録すべきコンテンツデータの記録が完了したので、処理はステップＳ２１７に進む。
【０２００】
ステップＳ２１７において、HD FS２９３は、ステップＳ２０２で取得したクラスタ番号Ｘの空きクラスタにサイズ記録領域３５１を設け、その有効サイズ記録領域３５２に最後尾のクラスタに記録したデータ量Ｓを記録し、最終クラスタ番号記録領域３５３に変数Ｂの値を記録し、占有クラスタ数記録領域３５４に変数Ｔの値を記録する。
【０２０１】
ステップＳ２１８において、ステップＳ２１０の処理で書き換えたFAT３４１で、ファイル記録領域３２１のFATエリアに記録されているFAT３４１を更新する。以上説明したようにして、新たにファイルが作成される。なお、作成されたファイルには、コンテンツデータが記録された一連のクラスタの先頭のクラスタ番号と同じ値のファイル識別子が発行される。
【０２０２】
次に、ファイル識別子がＸであるファイル（以下、ファイルＸと記述する）の読み出し処理について、図３５のフローチャートを参照して説明する。ステップＳ２６１において、HD FS２９３は、ファイルＸが存在するか否かを判別するための検索処理を実行する。
【０２０３】
ファイルＸの検索処理について、図３６のフローチャートを参照して説明する。ステップＳ２８１において、HD FS２９３は、エントリ番号Ｘに対応するFATエントリＥ（Ｘ）を取得する。ステップＳ２８２において、HD FS２９３は、FATエントリＥ（Ｘ）のＰ欄の値が−１(0xFFFFFFFF)であるか否かを判定する。FATエントリＥ（Ｘ）のＰ欄の値が−１であると判定された場合、処理はステップＳ２８３に進む。ステップＳ２８３において、HD FS２９３は、エントリ番号Ｘ（＝クラスタ番号Ｘ）のクラスタは、ファイルが記録されている一連のクラスタのうちの先頭のクラスタであるので、ファイルＸは存在すると判断して、図３５のファイル読み出し処理に戻る。
【０２０４】
反対に、ステップＳ２８２において、FATエントリＥ（Ｘ）のＰ欄の値が−１ではないと判定された場合、処理はステップＳ２８４に進む。ステップＳ２８４において、HD FS２９３は、エントリ番Ｘ（＝クラスタ番号Ｘ）のクラスタは、ファイルが記録されている一連のクラスタのうちの先頭のクラスタではないので、ファイルＸは存在しないと判断して、図３５のファイル読み出し処理に戻る。以上、ファイルＸの検索処理の説明を終了する。
【０２０５】
以下、ファイル検索処理において、ファイルＸが存在すると判断されたとして、説明を継続する。ステップＳ２６２において、HD FS２９３は、FATエントリＥ（Ｘ）のＮ欄の値が−１(0xFFFFFFFF)であるか否かを判定する。FATエントリＥ（Ｘ）のＮ欄の値が−１であると判定された場合、ファイルＸにはデータが存在しないので、読み出し処理を終了する。
【０２０６】
ステップＳ２６２において、FATエントリＥ（Ｘ）のＮ欄の値が−１ではない処理はステップＳ２６３に進む。ステップＳ２６３において、HD FS２９３は、クラスタ番号Ｘ（先頭のクラスタ）をセクタ番号に変換する。ステップＳ２６４において、HD FS２９３は、DMAコントローラ２５５を制御して、変換したセクタ番号に記録されているサイズ記録領域３５１を読み出してバッファ２５６にバッファリングさせる。ステップＳ２６５において、HD FS２９３は、ステップＳ２６３でバッファリンクしたサイズ記録領域３５１の有効サイズ記録領域３５２に記録されている有効サイズＳ（ファイルＸが記録されている一連のクラスタのうちの最後尾のクラスタに記録されているデータ量）を読み取る。
【０２０７】
ステップＳ２６６において、HD FS２９３は、変数ＣにFATエントリＥ（Ｘ）のＮ欄の値を代入する。ステップＳ２６７において、HD FS２９３は、図３３を参照して上述した処理と同様に、クラスタ番号Ｃに対応する、すなわち、２番目のクラスタに対応するFATエントリＥ（Ｃ）を読み取る。ステップＳ２６８において、HD FS２９３は、クラスタ番号Ｃをセクタ番号に変換する。ステップＳ２６９において、HD FS２９３は、DMAコントローラ２５５を制御して、変換したセクタ番号のセクタに記録されている１クラスタ分のコンテンツデータを読み出し、バッファ２５６にバッファリングさせる。
【０２０８】
ステップＳ２７０において、HD FS２９３は、FATエントリＥ（Ｃ）のＮ欄の値が−１(0xFFFFFFFF)であるか否かを判定する。FATエントリＥ（Ｃ）のＮ欄の値が−１ではないと判定された場合、処理はステップＳ２７１に進む。ステップＳ２７１において、HD FS２９３は、DMAコントローラ２５５を制御して、バッファ２５６がバッファリングしているデータの全てを、エンコーダ/デコーダ２５９などに出力させる。ファイルＸのコンテンツデータの全てはまだ読み出されていないので、処理はステップＳ２７２に進む。ステップＳ２７２において、HD FS２９３は、変数ＣにFATエントリＥ（Ｃ）のＮ欄の値を代入する。処理はステップＳ２６７に戻り、以降の処理が繰り返される。
【０２０９】
その後、ステップＳ２７０において、FATエントリＥ（Ｃ）のＮ欄の値が−１であると判定された場合、ファイルＸのコンテンツデータが記録されている最後尾のクラスタからの読み出しが完了したので、処理はステップＳ２７３に進む。ステップＳ２７３において、HD FS２９３は、DMAコントローラ２５５を制御して、バッファ２５６がバッファリングしている、コンテンツデータの最後尾である有効データサイズＳ分のデータを、エンコーダ/デコーダ２５９などに出力させる。
【０２１０】
なお、ステップＳ２６１のファイル検索処理において、ファイルＸが存在しないと判断された場合、処理はステップＳ２７４に進み、エラー判定がなされて、ファイルＸのファイル読み出し処理は終了となる。以上、ファイルＸの読み出し処理の説明を終了する。
【０２１１】
次に、ファイルＸの逆読み出し処理について、図３７のフローチャートを参照して説明する。ここで、逆読み出し処理とは、例えば、再生時間が１００秒間であるコンテンツデータを、９０秒目から１００ミリ秒程度だけ再生した後、８０秒目から１００ミリ秒程度だけ再生し、次に、７０秒目から１００ミリ秒程度だけ再生するように、数秒間ごとに遡って再生させる場合に用いることができる処理である。
【０２１２】
ステップＳ２９１において、HD FS２９３は、ファイルＸのファイル識別子（＝Ｘ、以下、ＩＤ（Ｘ）と記述する）を、セクタ番号に変換する。ただし、ＩＤ（Ｘ）は、ファイルＸが記録されている一連のクラスタのうち、先頭のクラスタのクラスタ番号と同一である。
【０２１３】
ステップＳ２９２において、クラスタＸに対応するFATエントリＥ（Ｘ）を読み取る。ステップＳ２９３において、HD FS２９３は、DMAコントローラ２５５を制御して、ステップＳ２９１で変換したセクタ番号のセクタに記録されているサイズ記録領域３５１を読み出してバッファ２５６にバッファリングさせる。ステップＳ２９４において、HD FS２９３は、ステップＳ２９３でバッファリンクしたサイズ記録領域３５１の有効サイズ記録領域３５２から有効サイズＳを、最終クラスタ番号記録領域３５３から最終クラスタ番号Ｚを読み取る。
【０２１４】
ステップＳ２９５において、HD FS２９３は、最終クラスタ番号ＺとＩＤ（Ｘ）が同一であるか否かを判定する。最終クラスタ番号ＺとＩＤ（Ｘ）が同一であると判定された場合、ファイルＸにコンテンツデータは存在しないので、逆読み出し処理を終了する。
【０２１５】
最終クラスタ番号ＺとＩＤ（Ｘ）が同一ではないと判定された場合、処理はステップＳ２９６に進む。ステップＳ２９６において、HD FS２９３は、最終クラスタ番号Ｚをセクタ番号に変換する。ステップＳ２９７において、HD FS２９３は、DMAコントローラ２５５を制御して、ステップＳ２９６で変換したセクタ番号に記録されているコンテンツデータの最後尾の部分を含むデータを読み出し、バッファ２５６にバッファリングさせる。ステップＳ２９８において、HD FS２９３は、DMAコントローラ２５５を制御して、バッファ２５６でバッファリングされているデータのうちのＳバイト分、すなわち、コンテンツデータの最後尾の部分だけを、エンコーダ/デコーダ２５９などに出力させる。
【０２１６】
ステップＳ２９９において、HD FS２９３は、最終クラスタ番号Ｚに対応するFATエントリＥ（Ｚ）を読み取る。ステップＳ３００において、HD FS２９３は、FATエントリＥ（Ｚ）のＰ欄の値がＩＤ（Ｘ）と同一であるか否かを判定する。FATエントリＥ（Ｚ）のＰ欄の値がＩＤ（Ｘ）と同一であると判定された場合、ファイルＸのコンテンツデータは最後尾の１クラスタだけに記録されていたことになるので、逆読み出し処理を終了する。
【０２１７】
FATエントリＥ（Ｚ）のＰ欄の値がＩＤ（Ｘ）と同一ではないと判定された場合、最後尾側から１クラスタ分だけ遡って読み出すために、処理はステップＳ３０１に進む。ステップＳ３０１において、HD FS２９３は、変数ＣにFATエントリＥ（Ｚ）のＰ欄の値を代入する。
【０２１８】
ステップＳ３０２において、HD FS２９３は、クラスタ番号Ｃに対応するFATエントリＥ（Ｃ）を読み取る。ステップＳ３０３において、HD FS２９３は、クラスタ番号Ｃをセクタ番号に変換する。ステップＳ３０４において、HD FS２９３は、DMAコントローラ２５５を制御して、ステップＳ３０３で変換したセクタ番号に記録されているコンテンツデータを読み出し、バッファ２５６にバッファリングさせる。ステップＳ３０５において、HD FS２９３は、DMAコントローラ２５５を制御して、バッファ２５６でバッファリングされている１クラスタ分のコンテンツデータを、エンコーダ/デコーダ２５９などに出力させる。
【０２１９】
ステップＳ３０６において、HD FS２９３は、クラスタ番号Ｃに対応するFATエントリＥ（Ｃ）のＰ欄の値がＩＤ（Ｘ）と同一であるか否かを判定する。FATエントリＥ（Ｃ）のＰ欄の値がＩＤ（Ｘ）と同一ではないと判定された場合、ファイルＸの全てを読み出していないことになるので、１クラスタ分だけ遡って読み出すために、処理はステップＳ３０７に進む。ステップＳ３０７において、HD FS２９３は、変数ＣにFATエントリＥ（Ｃ）のＰ欄の値を代入する。処理はステップＳ３０２に戻り、其れ以降の処理が繰り替えされる。
【０２２０】
その後、ステップＳ３０６において、FATエントリＥ（Ｃ）のＰ欄の値がＩＤ（Ｘ）と同一であると判定された場合、ファイルＸを先頭まで全て読み出したことになるので、逆読み出し処理を終了する。以上、ファイルＸの逆読み出し処理の説明を終了する。
【０２２１】
以上説明したように、オーディオサーバ２０１のHD FS２９３によれば、ファイルを特定するためのファイル識別子として、固定長の値である、そのファイルが記録される領域の先頭クラスタのクラスタ番号を付与するようにしたので、ファイルの記録位置を簡単に特定することができる。よって、ファイル名が固定長ではない場合に較べて、ファイルの検索時間を大幅に減らすことができる。
【０２２２】
また、ファイル識別子が固定長であることにより、ファイルの検索に要する時間を均一化することができる。
【０２２３】
また、オーディオサーバ２０１のHD FS２９３によれば、記録するファイルのサイズに制限がないので、オーディオデータだけでなく、ビデオデータのようなより大きなサイズのデータをファイルとして記録することができる。
【０２２４】
また、オーディオサーバ２０１のHD FS２９３によれば、１つのファイルを区負数のクラスタに亘って記録する場合、順方向にクラスタを利用するので、記録時や再生時には、シークが一定方向となる。よって、記録時の記録漏れや再生時の音飛びの発生が抑止される。
【０２２５】
次に、フォルダ、アルバム、またはトラックに対応するオブジェクトについて、図３８乃至図４４を参照して説明する。図３８は、オブジェクトが記録されるオブジェクト記録領域３２２の論理構造を示している。オブジェクト記録領域３２２は、システムエリア３６１と、所定の容量に区画された複数のチャンクから構成される。オブジェクトは、チャンクに記録される。
【０２２６】
システムエリア３６１には、ヘッダ３６２、オブジェクト型記録領域３６３、および領域情報記録領域３６４が設けられている。複数のチャンクには、その先頭から順番に１以降のシリアルな番号が付与されている、以下、例えば、番号１が付与されているチャンクをチャンク１、番号２が付与されているチャンクをチャンク２などと記述する。
【０２２７】
チャンクは、さらに所定の容量のページに区画されている。チャンクを構成するページには、その先頭から順番に０以降のシリアルな番号が付与されている、以下、例えば、番号０が付与されているページをページ０、番号１が付与されているページをページ０などと記述する。
【０２２８】
図３９は、システムエリア３６１のオブジェクト型記録領域３６３の構造を示している。ヘッダ３６５とＴ個のエントリから構成される。Ｔは予め設定されている定数である。ヘッダ３６５には、エントリ数記録領域３６６が設けられている。エントリ数記録領域３６６には、現在登録されているエントリの数（最大値はＴである）が記録される。
【０２２９】
オブジェクト型記録領域３６３の各エントリには、サイズ記録領域３６７、基本オブジェクト型番号記録領域３６８、およびパラメータ記録領域３６９が設けられている。例えば、エントリｔには、オブジェクト型番号ｔに関する情報が記録される。すなわち、エントリｔのサイズ記録領域３６７には、オブジェクト型番号ｔのオブジェクトのサイズが記録される。エントリｔの基本オブジェクト型番号記録領域３６８には、オブジェクト型番号ｔのオブジェクトが属する基本オブジェクト型を示す基本オブジェクト型番号が記録される。エントリｔのパラメータ記録領域３６９には、オブジェクト型番号ｔのオブジェクトのサイズが可変長である場合のサイズに関する情報が記録される。
【０２３０】
図４０は、システムエリア３６１の領域情報記録領域３６４を示している。領域情報記録領域３６４は、オブジェクト記録領域３２２のページ総数（チャンクの総数に１チャンクを構成するページ数を乗算した値）のビット列で構成される。ただし、図４０は、説明の便宜上、領域情報記録領域３６４を、（チャンクの総数）列×（１チャンクを構成するページ数）行のマトリクスを用いて示している。例えば、図４０において、ｑ列ｐ行の"○"で示すビットは、チャンクｑのページｐに対応しており、チャンクｑのページｐが使用中である場合、"○"で示すビットには１が記録される。反対に、チャンクｑのページｐが使用中ではない場合、"○"で示すビットには０が記録される。
【０２３１】
図４１は、ロワーミドルウェアレイヤ２７４に含まれるHD DB２９２に相当するオブジェクト管理部３２４の構成例を示している。オブジェクト管理部３２４は、オブジェクト型登録部３７１、記憶領域管理部３７２、セッション管理部３７３、およびキャッシュ管理部３７４から構成される。
【０２３２】
オブジェクト型登録部３７１は、オブジェクト型の登録（オブジェクト型記録領域３６３への書き込み）を行う。また、オブジェクト型登録部３７１は、オブジェクト型の問い合わせに対する応答（オブジェクト型記録領域３６３からの読み出し）を行う。
【０２３３】
記憶領域管理部３７２は、領域情報記録領域３６４の所定のビットの反転させる。また、記憶領域管理部３７２は、領域情報記録領域３６４のビットを読み出すことにより、所定のページ数の連続未使用領域を検索する。さらに、記憶領域管理部３７２は、各オブジェクトに対して識別子を発行する。
【０２３４】
セッション管理部３７３は、現在実行中のセッションに対してセッション番号を発行するとともに、セッション管理情報３８１（図４２）を管理する。ここで、セッションとは、データの書き込み、読み出しなどを制御する処理を示す用語ある。
【０２３５】
図４２は、セッション管理情報３８１の構成例を示している。セッション管理情報３８１は、現在開かれているセッションの数（以下、カレントセッション数と記述する）が格納されるカレントセッション数格納領域３８２と、各オブジェクトに対応し、そのアクセス権を保有しているセッションの情報が記録されているＳ個のエントリから構成される。カレントセッション数の最大値と値Ｓは、予め設定されている。
【０２３６】
セッション管理情報３８１のエントリには、オブジェクト識別子格納領域３８３、リードライトセッション番号格納領域３８４、リードオンリセッション番号格納領域３８５乃至３８８、オブジェクト状態格納領域３８９、リードキャッシュアドレス格納領域３９０、ライトキャッシュアドレス格納領域３９１、およびアクセス時刻格納領域３９２が設けられている。
【０２３７】
オブジェクト識別子格納領域３８３には、対応するオブジェクトのオブジェクト識別子（図４４）が格納される。リードライトセッション番号格納領域３８４には、対応するオブジェクトに対して書き込み権を有するセッションのセッション番号が格納される。リードオンリセッション番号格納領域３８５乃至３８８には、対応するオブジェクトに対して読み出し権を有するセッションのセッション番号が格納される。なお、オブジェクトに対して読み出し権を有する複数のセッションが同時に存在してもよく、図４２は、４つまでの読み出し権を有すると、１つだけの書き込みおよび読み出し権を有する場合を示している。
【０２３８】
オブジェクト状態格納領域３８９には、対応するオブジェクトの状態を示す情報（作成を示す"CREATE"、更新を示す"UPDATE"、または削除を示す"REMOVE"）が格納される。リードキャッシュアドレス格納領域３９０には、読み出すオブジェクトを一時的に記憶させるリードキャッシュのアドレスが格納される。ライトキャッシュアドレス格納領域３９１には、書き込むオブジェクトを一時的に記憶させるライトキャッシュのアドレスが格納される。アクセス時刻格納領域３９２には、対応するオブジェクトに対する最終アクセス時刻が格納される。
【０２３９】
なお、オブジェクト識別子格納領域３８３乃至アクセス時刻格納領域３９２に格納すべき情報が存在しない場合、０を格納する。
【０２４０】
図４３は、チャンクに記録されるオブジェクトの２種類の基本オブジェクト型である基本オブジェクト第１型と基本オブジェクト第２型の構成例を示している。
【０２４１】
基本オブジェクト第１型は、図４３Ａに示すように、自己のオブジェクト識別子が記録されるオブジェクト識別子記憶領域４０１、および任意のデータ（例えば、ユーザが設定するオブジェクトの名前などのデータ）が記録される任意データ記録領域２０２から構成される。基本オブジェクト第１型には、フォルダリスト、フォルダ、およびアルバムのオブジェクトが含まれる。
【０２４２】
基本オブジェクト第２型は、図４３Ｂに示すように、自己のオブジェクト識別子が記録されるオブジェクト識別子記憶領域４０１、任意のデータが記録される任意データ記録領域４０２、および自己（オブジェクト）に対応するファイルのファイル識別子が記録されるファイル識別子記録領域４０３から構成される。基本オブジェクト第２型には、トラックのオブジェクトが含まれる。
【０２４３】
オブジェクト識別子記憶領域４０１に記録されるオブジェクト識別子は、図４４に示すように、対応するオブジェクトが格納されている一連のページの先頭を示す、チャンク番号とそのページ番号、型番号から構成される。型番号は、対応するオブジェクトが属する基本オブジェクト型番号（基本オブジェクト第１型、または基本オブジェクト第２型の一方）と、対応するオブジェクトの型が登録されているオブジェクト型記録領域３６３のエントリ番号から構成される。
【０２４４】
次に、オブジェクトの作成処理、オブジェクトの検索処理、オブジェクトの更新処理、ストリームオブジェクトの作成処理、およびストリームオブジェクトの検索処理について、図４５乃至図５４のフローチャートを参照して説明する。ここで、ストリームオブジェクトとは、特に、ファイル記録領域３２１に記録されたコンテンツデータと１対１に対応するオブジェクト、すなわち、トラックを指す用語である。ストリームオブジェクトは、基本オブジェクト第２型（図４３Ｂ）に属する。したがって、ストリームオブジェクトではないオブジェクトは、フォルダまたはアルバムのオブジェクトであり、基本オブジェクト第１型に属する。
【０２４５】
なお、これらの処理は、オブジェクト管理部３２４、すなわち、ファームウェアのロワーミドルウェアレイヤ２７４に属するHD DB２９２によって制御される。
【０２４６】
始めに、ストリームオブジェクトではないオブジェクトの作成処理について、オブジェクト型番号ｔのオブジェクトを作成する場合を例に、図４５のフローチャートを参照して説明する。なお、オブジェクト型番号ｔには、図４４に示したように、基本型番号（いまの場合、基本オブジェクト第１型）とエントリ番号が含まれている。
【０２４７】
ステップＳ３２１において、HD DB２９２は、ライトセッションを開設する。ライトセッションを開設する処理について、図４６のフローチャートを参照して説明する。ステップＳ３４１において、HD DB２９２は、セッション管理情報３８１のカレントセッション数格納領域３８２に格納されているカレントセッション数を読み出し、読み出したカレントセッション数が予め設定されている最大値よりも小さいか否かを判定する。カレントセッション数が予め設定されている最大値よりも小さいと判定された場合、処理はステップＳ３４２に進む。
【０２４８】
ステップＳ３４２において、HD DB２９２は、セッション管理情報３８１のカレントセッション数格納領域３８２に格納されているカレントセッション数を１だけインクリメントする。ステップＳ３４３において、HD DB２９２は、ライトセッションを開設し、例えば、乱数などによってセッション番号Ｚを発行する。処理は図４５に戻る。
【０２４９】
なお、ステップＳ３４１において、カレントセッション数が予め設定されている最大値よりも小さくないと判定された場合、さらにセッションを開設することができないので、処理はステップＳ３４４に進み、ステップＳ３４４において、HD DB２９２は、エラーと判断する。セッション開設処理は終了され、図４５のオブジェクト作成処理は中断される。
【０２５０】
図４５のステップＳ３２２において、HD DB２９２は、オブジェクト型番号ｔのオブジェクトを記録するチャンクのページを確保するために、オブジェクト型記録領域３６３のエントリｔのサイズ記録領域３６７から、オブジェクト型番号ｔのオブジェクトのサイズを読み出し、そのサイズに相当するチャンクのページ数を算出する。算出したページ数をｇとする。
【０２５１】
ステップＳ３２３において、HD DB２９２は、セッション管理情報３８１を構成する複数のエントリのうちの空きエントリを確保する。空きエントリを確保する処理について、図４７のフローチャートを参照して説明する。
【０２５２】
ステップＳ３５１において、HD DB２９２は、変数Ｍを１に初期化する。ステップＳ３５２において、HD DB２９２は、変数Ｍがセッション管理情報３８１を構成するエントリの数Ｓ以下であるか否かを判定する。変数Ｍがエントリの数Ｓ以下であると判定された場合、処理はステップＳ３５３に進む。ステップＳ３５３において、HD DB２９２は、セッション管理情報３８１を構成するエントリＭのオブジェクト識別子格納領域３８３の値を読み出す。ステップＳ３５４において、HD DB２９２は、読み出したエントリＭのオブジェクト識別子格納領域３８３の値が０であるか否かを判定する。エントリＭのオブジェクト識別子格納領域３８３の値が０であると判定された場合、エントリＭは空きエントリであると判断できるので、エントリＭを確保して図４５に戻る。
【０２５３】
ステップＳ３５４において、エントリＭのオブジェクト識別子格納領域３８３の値が０ではないと判定された場合、処理はステップＳ３５５に進む。ステップＳ３５５において、HD DB２９２は、変数Ｍを１だけインクリメントする。処理はステップＳ３５２に戻り、以降の処理が繰り返される。その後、ステップＳ３５４において、エントリＭのオブジェクト識別子格納領域３８３の値が０であると判定されることなく、ステップＳ３５２において、変数Ｍがエントリの数Ｓ以下ではないと判定された場合、現状では空きエントリが存在しないので、空きエントリを作り出すために、処理はステップＳ３５６に進む。
【０２５４】
ステップＳ３５６において、HD DB２９２は、セッション管理情報３８１を構成するエントリのうち、リードライトセッション番号格納部１８４およびリードオンリセッション番号格納部１８５乃至１８８の値の値が全て０であるエントリが存在するか否かを判定する。そのようなエントリが存在すると判定された場合、処理はステップＳ３５７に進む。ステップＳ３５７において、HD DB２９２は、リードライトセッション番号格納部１８４およびリードオンリセッション番号格納部１８５乃至１８８の値の値が全て０であるエントリのうち、アクセス時刻格納領域３９２の値が最も小さいエントリ（すなわち、最も古いアクセス時刻のエントリ）を抽出する。
【０２５５】
ステップＳ３５８において、HD DB２９２は、抽出したエントリのオブジェクト識別子格納領域１８２乃至アクセス時刻格納領域３９２の値を０にクリアし、そのエントリを空きエントリＭとして確保する。処理は図４５に戻る。
【０２５６】
なお、ステップＳ３５６において、セッション管理情報３８１を構成するエントリのうち、リードライトセッション番号格納部１８４およびリードオンリセッション番号格納部１８５乃至１８８の値の値が全て０であるエントリが存在しないと判定された場合、空きエントリは確保できないので、ステップＳ３５９に進む。ステップＳ３５９において、HD DB２９２は、エラーと判断する。空きエントリ確保処理は終了され、図４５のオブジェクト作成処理は中断される。
【０２５７】
図４５に戻り、ステップＳ３２４において、HD DB２９２は、領域情報記録領域３６４のビット列のうち、ｇビット連続して０が記録されているビット列を検索する。検索したｇビット連続して０が記録されているビット列の先頭の位置をｑ列ｐ行とする。ステップＳ３２５において、HD DB２９２は、確保したエントリＭのオブジェクト識別子格納領域３８３に、図４４に示したように、チャンク番号ｑ、ページ番号ｐ、オブジェクト型番号ｔからなるオブジェクト識別子OID(q,p,t)を格納する。また、HD DB２９２は、セッション管理情報３８１のエントリＭのリードライトセッション番号格納領域３８４にセッション番号Ｚを格納し、さらに、オブジェクト状態格納領域３８９に作成を示す"CREATE"を記録する。
【０２５８】
ステップＳ３２６において、HD DB２９２は、オブジェクトのサイズであるページ数ｇに等しいライトキャッシュ領域ｄをバッファ２５６に確保する。ステップＳ３２７において、HD DB２９２は、セッション管理情報３８１のエントリＭのライトキャッシュアドレス格納領域３９１に、確保したバッファ２５６におけるライトキャッシュ領域ｄのアドレスを格納する。
【０２５９】
ステップＳ３２８において、HD DB２９２は、バッファ２５６に確保したライトキャッシュ領域ｄに、図４３Ａに示したオブジェクト基本第１型のオブジェクトＸの記録を開始するが、その始めとして、ライトキャッシュ領域ｄのオブジェクト識別子記憶領域４０１に、オブジェクト識別子OID(q,p,t)を記録する。ステップＳ３２９において、HD DB２９２は、作成するオブジェクトの任意のデータ（例えば、作成するオブジェクトの名称など）を、ライトキャッシュ領域ｄの任意データ記録領域４０２に記録する。
【０２６０】
ステップＳ３３０において、HD DB２９２は、ユーザの操作に対応する信号Ｉの入力を待つ。ステップＳ３３１において、HD DB２９２は、信号Iがcommit、すなわち、セッション作成を確定するものであるか否かを判定する。信号Iがcommitであると判定された場合、処理はステップＳ３３２に進み、ライトセッションＺが確定される。反対に、信号Iがcommitではないと判定された場合、処理はステップＳ３３３に進み、ライトセッションＺが破棄される。
【０２６１】
ステップＳ３３２のライトセッションを確定する処理について、図４８のフローチャートを参照して説明する。なお、セッションを確定するとは、当該セッションが開設された後に行われたオブジェクトの作成、更新、移動などに、オブジェクト記録領域３２２の記録を反映し、確定することである。
【０２６２】
ステップＳ３７１において、HD DB２９２は、変数Ｍを１に初期化する。ステップＳ３７２において、HD DB２９２は、変数Ｍがセッション管理情報３８１を構成するエントリの数Ｓ以下であるか否かを判定する。変数Ｍがエントリの数Ｓ以下であると判定された場合、処理はステップＳ３７３に進む。ステップＳ３７３において、HD DB２９２は、セッション管理情報３８１を構成するエントリＭのリードライトセッション番号格納領域３８４の値を読み出し、セッション番号Ｚと一致するか否かを判定する。エントリＭのリードライトセッション番号格納領域３８４の値とセッション番号Ｚが一致しないと判定された場合、エントリＭのリードライトセッション番号格納領域３８４の値とセッション番号Ｚが一致するエントリを検索するために、処理はステップＳ３７４に進む。
【０２６３】
ステップＳ３７４において、HD DB２９２は、変数Ｍを１だけインクリメントする。処理はステップＳ３７２に戻り、以降の処理が繰り返される。ステップＳ３７３において、エントリＭのリードライトセッション番号格納領域３８４の値とセッション番号Ｚが一致すると判定された場合、処理はステップＳ３７５に進む。すなわち、リードライトセッション番号格納領域３８４にセッション番号Ｚが格納されているエントリだけが抽出されて、ステップＳ３７５以降の処理が施される。
【０２６４】
ステップＳ３７５において、HD DB２９２は、リードライトセッション番号格納領域３８４にセッション番号Ｚが格納されているエントリＭのオブジェクト識別子格納領域３８３からオブジェクト識別子を読み出す。ステップＳ３７６において、HD DB２９２は、リードライトセッション番号格納領域３８４にセッション番号Ｚが格納されているエントリＭのオブジェクト状態格納領域３８９からオブジェクト状態を示す情報Ｊを読み出す。ステップＳ３７６において、HD DB２９２は、オブジェクト状態を示す情報Ｊが"CREATE"，"UPDATE"、または"REMOVE"の何れであるかを判定する。
【０２６５】
ステップＳ３７７において、オブジェクト状態を示す情報Ｊが"CREATE"であると判定された場合、処理はステップＳ３７８に進む。ステップＳ３７８において、HD DB２９２は、バッファ２５６に確保したライトキャッシュ領域ｄに記録されているオブジェクトを、オブジェクト記録領域３２２のチャンクｐのページｑ以降に記録する。ステップＳ３７９において、HD DB２９２は、領域情報記録領域３６４のｑ列ｐ行以降のｇビットに１を記録する。
【０２６６】
ステップＳ３８０において、HD DB２９２は、エントリＭのライトキャッシュアドレス格納領域３９１の値を、リードキャッシュアドレス格納領域３９０にコピーする。このとき、リードキャッシュアドレス格納領域３９０に０以外の値が格納されていたならば、その値が示すバッファ２５６の設けられるリードキャッシュ領域を解放する。
【０２６７】
ステップＳ３８１において、HD DB２９２は、エントリＭのリードライトセッション番号格納領域３８４、およびライトキャッシュアドレス格納領域３９１に０を格納する。ステップＳ３８２において、HD DB２９２は、エントリＭのアクセス時刻格納領域３９２の値を現在の時刻で更新する。
【０２６８】
ステップＳ３７７において、オブジェクト状態を示す情報Ｊが"UPDATE"であると判定された場合、処理はステップＳ３８３に進む。ステップＳ３８３において、HD DB２９２は、バッファ２５６に確保したライトキャッシュ領域ｄに記録されているオブジェクトを、オブジェクト記録領域３２２のチャンクｐのページｑ以降に記録する。処理はステップＳ３８０に進む。
【０２６９】
ステップＳ３７７において、オブジェクト状態を示す情報Ｊが"REMOVE"であると判定された場合、処理はステップＳ３８４に進む。ステップＳ３８４において、HD DB２９２は、領域情報記録領域３６４のｑ列ｐ行以降のｇビットに０を記録する。ステップＳ３８５において、HD DB２９２は、エントリＭがバッファ２５６に確保しているライトキャッシュとリードキャッシュを解放する。ステップＳ３８６において、HD DB２９２は、エントリＭのオブジェクト識別子格納領域３８３乃至アクセス時刻格納領域３９２に０を格納する。処理はステップＳ３７４に進む。
【０２７０】
その後、ステップＳ３７２において、変数Ｍがエントリの数Ｓ以下ではないと判定されるまで、以降の処理が繰り返される。変数Ｍがエントリの数Ｓ以下ではないと判定された場合、ライトセッションを確定する処理が完了される。
【０２７１】
図４５のステップＳ３３３の処理、すなわち、ライトセッションを破棄する処理について、図４９のフローチャートを参照して説明する。ステップＳ３９１において、HD DB２９２は、変数Ｍを１に初期化する。ステップＳ３９２において、HD DB２９２は、変数Ｍがセッション管理情報３８１を構成するエントリの数Ｓ以下であるか否かを判定する。変数Ｍがエントリの数Ｓ以下であると判定された場合、処理はステップＳ３９３に進む。
【０２７２】
ステップＳ３９３において、HD DB２９２は、セッション管理情報３８１を構成するエントリＭのリードライトセッション番号格納領域３８４の値を読み出し、セッション番号Ｚと一致するか否かを判定する。エントリＭのリードライトセッション番号格納領域３８４の値とセッション番号Ｚが一致しないと判定された場合、エントリＭのリードライトセッション番号格納領域３８４の値とセッション番号Ｚが一致するエントリを検索するために、処理はステップＳ３９４に進む。ステップＳ３９４において、HD DB２９２は、変数Ｍを１だけインクリメントする。処理はステップＳ３９２に戻り、以降の処理が繰り返される。
【０２７３】
ステップＳ３９３において、エントリＭのリードライトセッション番号格納領域３８４の値とセッション番号Ｚが一致すると判定された場合、処理はステップＳ３９５に進む。すなわち、リードライトセッション番号格納領域３８４にセッション番号Ｚが格納されているエントリだけが抽出されて、ステップＳ３９５以降の処理が施される。
【０２７４】
ステップＳ３９５において、HD DB２９２は、エントリＭがバッファ２５６に確保しているライトキャッシュ領域を解放する。ステップＳ３９６において、HD DB２９２は、エントリＭのオブジェクト状態格納領域３８９に格納されているオブジェクト状態が"CREATE"であるか否かを判定し、オブジェクト状態が"CREATE"であるはないと判定した場合、ステップＳ３９７に進む。
【０２７５】
ステップＳ３９７において、HD DB２９２は、エントリＭのリードライトセッション番号格納領域３８４、およびライトキャッシュアドレス格納領域３９１に０を格納する。ステップＳ３９８において、HD DB２９２は、エントリＭのアクセス時刻格納領域３９２の値を現在の時刻で更新する。処理はステップＳ３９４に進む。
【０２７６】
なお、ステップＳ３９６において、エントリＭのオブジェクト状態格納領域３８９に格納されているオブジェクト状態が"CREATE"であると判定された場合、処理はステップＳ３９９に進む。ステップＳ３９９において、HD DB２９２は、エントリＭのリードライトセッション番号格納領域３８４、およびライトキャッシュアドレス格納領域３９１以外、すなわち、オブジェクト識別子格納領域３８３、リードオンリセッション番号格納領域３８５乃至３８８、オブジェクト状態格納領域３８９、リードキャッシュアドレス格納領域３９０、およびアクセス時刻格納領域３９２に０を格納する。処理はステップＳ３９４に進む。
【０２７７】
その後、ステップＳ３９２において、変数Ｍがエントリの数Ｓ以下ではないと判定されるまで、以降の処理が繰り返される。変数Ｍがエントリの数Ｓ以下ではないと判定された場合、ライトセッションを破棄する処理が完了される。
【０２７８】
次に、オブジェクトの検索処理について、オブジェクト識別子OID＝Ｘであるオブジェクト（以下、オブジェクトＸと記述する）を検索する場合を例として、図５０のフローチャートを参照して説明する。なお、セッションは既に開設されているものとする。
【０２７９】
ステップＳ４０１において、HD DB２９２は、オブジェクトＸに対応するエントリＭを取得する。オブジェクトＸに対応するエントリを取得する処理について、図５１のフローチャートを参照して説明する。
【０２８０】
ステップＳ４１１において、HD DB２９２は、変数Ｍを１に初期化する。ステップＳ４１２において、HD DB２９２は、変数Ｍがセッション管理情報３８１を構成するエントリの数Ｓ以下であるか否かを判定する。変数Ｍがエントリの数Ｓ以下であると判定された場合、処理はステップＳ４１３に進む。
【０２８１】
ステップＳ４１３において、HD DB２９２は、セッション管理情報３８１を構成するエントリＭのオブジェクト識別子格納領域３８３の値を読み出し、オブジェクトＸのオブジェクト識別子OID＝Ｘと一致するか否かを判定する。エントリＭのオブジェクト識別子格納領域３８３の値と、オブジェクトＸのオブジェクト識別子OID＝Ｘが一致しないと判定された場合、オブジェクト識別子格納領域３８３の値と、オブジェクトＸのオブジェクト識別子OID＝Ｘが一致するエントリを検索するために、処理はステップＳ４１４に進む。
【０２８２】
ステップＳ４１４において、HD DB２９２は、変数Ｍを１だけインクリメントする。処理はステップＳ４１２に戻り、以降の処理が繰り返される。ステップＳ４１３において、エントリＭのオブジェクト識別子格納領域３８３の値と、オブジェクトＸのオブジェクト識別子OID＝Ｘが一致すると判定された場合、オブジェクトＸに対応するエントリＭを取得することができたので、この処理が終了され、処理は図５０に戻る。
【０２８３】
なお、ステップＳ４１３において、エントリＭのオブジェクト識別子格納領域３８３の値と、オブジェクトＸのオブジェクト識別子OID＝Ｘが一致しないと判定される場合が続き、ステップＳ４１２において、変数Ｍがエントリの数Ｓ以下ではないと判定された場合、処理はステップＳ４１５に進む。ステップＳ４１５において、HD DB２９２は、エラーである、すなわち、オブジェクトＸに対応するエントリＭを取得することができなかったと判断して、この処理を終了する。処理は図５０に戻る。
【０２８４】
図５０に戻り、ステップＳ４０１の処理でオブジェクトＸに対応するエントリＭを取得できた場合、処理はステップＳ４０２に進む。ステップＳ４０２において、HD DB２９２は、オブジェクトＸに対応するエントリＭを取得できたので、オブジェクトＸはバッファ２５６に存在すると判断して、処理を終了する。
【０２８５】
反対に、ステップＳ４０１の処理でオブジェクトＸに対応するエントリＭを取得できなかった場合、処理はステップＳ４０３に進み。ステップＳ４０３において、HD DB２９２は、オブジェクトＸのオブジェクト識別子OID＝Ｘを分解して、オブジェクトが記録されているオブジェクト記録領域３２２のチャンク番号、ページ番号、オブジェクトＸの型番号ｔを取得する。
【０２８６】
ステップＳ４０４において、HD DB２９２は、オブジェクト型記録領域３６３から、型番号ｔに対応するエントリのサイズ記録領域３６７の値を読み出し、その値に基づいてオブジェクトＸを記録するために必要なページ数ｇを算出する。
【０２８７】
ステップＳ４０５において、HD DB２９２は、領域情報記憶領域３６４を参照し、ｑ行ｐ列以降のｇビットが１であるか否かを判定する。領域情報記憶領域３６４のｑ行ｐ列以降のｇビットが１であると判定された場合、処理はステップＳ４０６に進む。ステップＳ４０６において、HD DB２９２は、ページ数ｇに相当するリードキャッシュ領域ｃをバッファ２５６に設定する。ステップＳ４０７において、HD DB２９２は、オブジェクト記録領域３２２のチャンクｑのページｐ以降のページ数ｇに記録されているデータを、バッファ２５６のリードキャッシュ領域ｃにコピーする。
【０２８８】
ステップＳ４０８において、HD DB２９２は、リードキャッシュ領域ｃにコピーしたデータのオブジェクト識別子記憶領域４０１に相当する部分に記録されているオブジェクト識別子と、オブジェクト識別子Ｘが一致するか否かを判定する。一致すると判定された場合、リードキャッシュ領域ｃにキャッシュされているデータがオブジェクトＸであるので、処理はステップＳ４０２に進む。
【０２８９】
ステップＳ４０８において、リードキャッシュ領域ｃにコピーしたデータのオブジェクト識別子記憶領域４０１に相当する部分に記録されているオブジェクト識別子と、オブジェクト識別子Ｘが一致しないと判定された場合、処理はステップＳ４０９に進む。ステップＳ４０９において、HD DB２９２は、オブジェクト記録領域３２２にもオブジェクトＸは存在していないと断定して処理を終了する。
【０２９０】
次に、オブジェクトＸの更新処理について、図５２のフローチャートを参照して説明する。ここで、オブジェクトＸの更新処理とは、オブジェクトＸの任意データを書き換える処理である。
【０２９１】
ステップＳ４２１において、HD DB２９２は、図４６を参照して上述したステップＳ３２１の処理と同様に、ライトセッションＺを開設する。ステップＳ４２２において、HD DB２９２は、図５１を参照して上述したステップＳ４０１の処理と同様に、オブジェクトＸに対するエントリＭを取得する。
【０２９２】
ステップＳ４２２の処理でオブジェクトＸに対応するエントリＭを取得できた場合、オブジェクトＸはバッファ２５６に設定されているリードキャッシュ領域ｃにキャッシュされていると判断して、処理はステップＳ４２３に進む。ステップＳ４２３において、HD DB２９２は、エントリＭのリードライトセッション番号格納領域３８４の値が０であるか否かを判定する。エントリＭのリードライトセッション番号格納領域３８４の値が０であると判定された場合、処理はステップＳ４２４に進む。
【０２９３】
ステップＳ４２４にいて、HD DB２９２は、エントリＭのリードライトセッション番号格納領域３８４に、ステップＳ４２１で開設したライトセッションのセッション番号Ｚを格納する。ステップＳ４２５において、HD DB２９２は、オブジェクトＸのオブジェクト識別子OID＝Ｘを分解して、オブジェクトが記録されているオブジェクト記録領域３２２のチャンク番号、ページ番号、オブジェクトＸの型番号ｔを取得する。
【０２９４】
ステップＳ４２６において、HD DB２９２は、オブジェクト型記録領域３６３から、型番号ｔに対応するエントリのサイズ記録領域３６７の値を読み出し、その値に基づいてオブジェクトＸを記録するために必要なページ数ｇを算出する。ステップＳ４２７において、HD DB２９２は、ページ数ｇに相当するライトキャッシュ領域ｄをバッファ２５６に設定する。ステップＳ４２８において、HD DB２９２は、エントリＭのライトキャッシュアドレス格納領域３９１に、ライトキャッシュ領域ｄのアドレスを格納する。
【０２９５】
ステップＳ４２９において、HD DB２９２は、バッファ２５６のリードキャッシュ領域ｃのデータを、ライトキャッシュ領域ｄにコピーする。ステップＳ４３０において、HD DB２９２は、オブジェクトＸの更新する任意データを、ライトキャッシュ領域ｄにコピーされたオブジェクトＸの任意データ記録領域４０２に記録する。ステップＳ４３１において、HD DB２９２は、エントリＭのオブジェクト状態格納領域３８９に更新を示す情報"UPDATE"を格納する。
【０２９６】
ステップＳ４３２において、HD DB２９２は、ユーザの操作に対応する信号Ｉの入力を待つ。ステップＳ４３３において、HD DB２９２は、信号Iがcommit、すなわち、セッション更新を確定するものであるか否かを判定する。信号Iがcommitであると判定された場合、処理はステップＳ４３４に進む。ステップＳ４３４において、HD DB２９２は、図４８を参照して上述したステップＳ３３２の処理と同様に、ライトセッションＺを確定する。反対に、信号Iがcommitではないと判定された場合、処理はステップＳ４３５に進む。ステップＳ４３５において、HD DB２９２は、図４９を参照して上述したステップＳ３３３の処理と同様に、ライトセッションＺを破棄する。
【０２９７】
なお、ステップＳ４２３において、エントリＭのリードライトセッション番号格納領域３８４の値が０ではないと判定された場合、オブジェクトＸはセッションＺ以外の他のセッションによって更新中であると判断できるので、処理はステップＳ４３５に進む。
【０２９８】
また、ステップＳ４２２の処理において、オブジェクトＸに対応するエントリＭを取得できなかった場合、処理はステップＳ４３６に進み。ステップＳ４３６において、HD DB２９２は、図４７を参照して上述したステップＳ３２３の処理と同様に、空きエントリＭを確保する。
【０２９９】
ステップＳ４３７において、HD DB２９２は、オブジェクトＸのオブジェクト識別子OID＝Ｘを分解して、オブジェクトが記録されているオブジェクト記録領域３２２のチャンク番号、ページ番号、オブジェクトＸの型番号ｔを取得する。ステップＳ４３８において、HD DB２９２は、オブジェクト型記録領域３６３から、型番号ｔに対応するエントリのサイズ記録領域３６７の値を読み出し、その値に基づいてオブジェクトＸを記録するために必要なページ数ｇを算出する。ステップＳ４３９において、HD DB２９２は、ページ数ｇに相当するリードキャッシュ領域ｃとライトキャッシュ領域ｄをバッファ２５６に設定する。
【０３００】
ステップＳ４４０において、HD DB２９２は、エントリＭのリードキャッシュアドレス格納領域３９０にリードキャッシュ領域ｃのアドレスを格納し、エントリＭのライトキャッシュアドレス格納領域３９１にライトキャッシュ領域ｄのアドレスを格納し、エントリＭのオブジェクト識別子格納領域３８３にオブジェクトＸのオブジェクト識別子IOD＝Ｘを格納する。
【０３０１】
ステップＳ４４１において、HD DB２９２は、オブジェクト記録領域３２２のチャンクｑのページｐ以降のページ数ｇまでに記録されているオブジェクトＸのデータを、バッファ２５６のリードキャッシュ領域ｃにコピーする。処理はステップＳ４２９に進む。
【０３０２】
以上説明したように、ファイルＸの更新処理では、リードキャッシュ領域ｃからライトキャッシュ領域ｄにファイルＸのデータがコピーされ、ライトキャッシュ領域ｄにキャッシュされているファイルＸのデータが書き換えられ、書き換えられた結果が、セッションを確定する処理により、オブジェクト記録領域３２２に記録される。
【０３０３】
次に、ファイル記録領域３２１に記録されるコンテンツデータと１対１に対応するトラックのオブジェクト、すなわち、オブジェクト型番号ｔ'のストリームオブジェクトを作成する処理について、図５３のフローチャートを参照して説明する。なお、オブジェクト型番号ｔ'には、図４４に示したように、基本型番号（いまの場合、基本オブジェクト第２型）とエントリ番号が含まれている。
【０３０４】
ステップＳ４５１において、HD DB２９２は、図４６のフローチャートを参照して上述したステップＳ３２１の処理と同様に、ライトセッションを開設する。ステップＳ４５２において、HD DB２９２は、オブジェクト型番号ｔ'のストリームオブジェクトを記録するチャンクのページを確保するために、オブジェクト型記録領域３６３のエントリｔ'のサイズ記録領域３６７から、オブジェクト型番号ｔ'のオブジェクトのサイズを読み出し、そのサイズに相当するチャンクのページ数を算出する。算出したページ数をｇとする。
【０３０５】
ステップＳ４５３において、HD DB２９２は、図４７のフローチャートを参照して上述したステップＳ３２３の処理と同様に、セッション管理情報３８１を構成する複数のエントリのうちの空きエントリＭを確保する。ステップＳ４５４において、HD DB２９２は、領域情報記録領域３６４のビット列のうち、ｇビット連続して０が記録されているビット列を検索する。検索したｇビット連続して０が記録されているビット列の先頭の位置をｑ列ｐ行とする。ステップＳ４５５において、HD DB２９２は、確保したエントリＭのオブジェクト識別子格納領域３８３に、図４４に示したように、チャンク番号ｑ、ページ番号ｐ、オブジェクト型番号ｔ'からなるオブジェクト識別子OID(q,p,t')を格納する。また、HD DB２９２は、セッション管理情報３８１のエントリＭのリードライトセッション番号格納領域３８４にセッション番号Ｚを格納し、さらに、オブジェクト状態格納領域３８９に作成を示す"CREATE"を記録する。
【０３０６】
ステップＳ４５６において、HD DB２９２は、ストリームオブジェクトのサイズであるページ数ｇに等しいライトキャッシュ領域ｄをバッファ２５６に確保する。ステップＳ４５７において、HD DB２９２は、セッション管理情報３８１のエントリＭのライトキャッシュアドレス格納領域３９１に、確保したバッファ２５６におけるライトキャッシュ領域ｄのアドレスを格納する。
【０３０７】
ステップＳ４５８において、HD DB２９２は、バッファ２５６に確保したライトキャッシュ領域ｄに、図４３Ｂに示したオブジェクト基本第２型のストリームオブジェクトＸの記録を開始するが、その始めとして、ライトキャッシュ領域ｄのオブジェクト識別子記憶領域４０１に、オブジェクト識別子OID(q,p,t')を記録する。ステップＳ４５９において、HD DB２９２は、ストリームオブジェクトに対応する、HD FS２９３によって作成されるコンテンツデータのファイル識別子Ｆ（このコンテンツデータが記録された一連のクラスタの先頭のクラスタ番号と同じ値）を取得する。ステップＳ４６０において、HD DB２９２は、ライトキャッシュ領域ｄのファイル識別子記録領域１０３にファイル識別子Ｆを記録する。
【０３０８】
ステップＳ４６１において、HD DB２９２は、作成するストリームオブジェクトの任意データ（例えば、作成するストリームオブジェクトの名称など）の取得を開始する。ステップＳ４６２において、HD DB２９２は、任意データの取得が完了するまで待機する。なお、ステップＳ４６１およびＳ２６２の処理の間に、HD FS２９３により、当該ストリームオブジェクトに対応するファイル識別子Ｆのコンテンツデータのファイルが作成されてファイル記録領域３２１に記録される。
【０３０９】
ステップＳ４６３において、HD DB２９２は、ライトキャッシュ領域ｄの任意データ記録領域４０２に、取得した任意データを記録する。
【０３１０】
ステップＳ４６４において、HD DB２９２は、ユーザの操作に対応する信号Ｉの入力を待つ。ステップＳ４６５において、HD DB２９２は、信号Iがcommit、すなわち、セッション作成を確定するものであるか否かを判定する。信号Iがcommitであると判定された場合、処理はステップＳ４６６に進む。ステップＳ４６６において、HD DB２９２は、図４８を参照して上述したステップＳ３３２に処理と同様に、ライトセッションＺを確定する。
【０３１１】
反対に、ステップＳ４６５において、信号Iがcommitではないと判定された場合、処理はステップＳ４６７に進む。ステップＳ４６７において、HD DB２９２は、図４９を参照して上述したステップＳ３３３に処理と同様に、ライトセッションＺを破棄する。ステップＳ４６８において、HD DB２９２は、HD FS２９３にファイルＦの削除を依頼する。以上、ストリームオブジェクトの作成処理の説明を終了する。
【０３１２】
次に、オブジェクト識別子OID＝Ｘであるストリームオブジェクト（以下、ストリームオブジェクトＸと記述する）を検索する処理について、図５４のフローチャートを参照して説明する。なお、セッションは既に開設されているものとする。
【０３１３】
ステップＳ４７１において、HD DB２９２は、図５０を参照して上述したオブジェクトＸの検索処理と同様の処理を実行する。ステップＳ４７２において、ステップＳ４７１の処理で検索されたオブジェクトＸのオブジェクト識別子OID＝Ｘに含まれるオブジェクト型番号を取得する。取得したオブジェクト型番号をｔとする。さらに、HD DB２９２は、オブジェクト型番号ｔに含まれるオブジェクト基本型番号を取得する。
【０３１４】
ステップＳ４７３において、HD DB２９２は、検索されたオブジェクトＸの基本オブジェクト型番号が、基本オブジェクト第２型であるか否かを判定する。検索されたオブジェクトＸの基本オブジェクト型番号が基本オブジェクト第２型であると判定された場合、検索されたオブジェクトＸがストリームオブジェクトであるので、処理はステップＳ４７４に進む。ステップＳ４７４において、HD DB２９２は、検索されたストリームオブジェクトＸのファイル識別子記録領域４０３からファイル識別子を読み取りHD FS２９３に供給する。
【０３１５】
なお、ステップＳ４７１において、オブジェクト識別子OID＝Ｘのオブジェクトを検索できなかった場合、処理はステップＳ４７５に進む。また、ステップＳ４７３において、検索されたオブジェクトＸの基本オブジェクト型番号が基本オブジェクト第２型ではないと判定された場合も、処理はステップＳ４７５に進む。ステップＳ４７５において、HD DB２９２は、エラー、すなわち、ストリームオブジェクトＸは存在しないと判断してストリームオブジェクト検索処理を終了する。
【０３１６】
次に、図５５乃至図５７は、オブジェクト記録領域３２２に記録されるオブジェクトのディレクトリ構造の例を示している。図５５において、オブジェクト記録領域３２２には、ルート５０１の下、アーティストオブジェクト５０３−１，５０３−２(以下の説明において、アーティストオブジェクト５０３−１とアーティストオブジェクト５０３−２のそれぞれを個々に区別する必要がない場合、まとめてアーティストオブジェクト５０３と称する。以下の説明においては、その他のものについてもすべて同様とする)、アルバムオブジェクト５０４−１乃至５０４−３、およびトラックオブジェクト５０５−１乃至５０５−６が階層構造をなしている。また、アーティストオブジェクト５０３、アルバムオブジェクト５０４、およびトラックオブジェクト５０５のそれぞれに対して、対応する画像オブジェクト５０２−１乃至５０２−１１が配置されている。
【０３１７】
これらの、画像オブジェクト５０２−１乃至５０２−１１のファイル名は、対応するオブジェクトのファイル名と同一とされる。
【０３１８】
HD DB２９２は、アーティストオブジェクト５０３の下に、複数のアルバムオブジェクト５０４を生成することができる。アルバムオブジェクト５０４の下には、複数のトラックオブジェクト５０５を生成することができる。トラックオブジェクト５０５は、１曲分のコンテンツデータに対応している。
【０３１９】
アーティストオブジェクト５０３、アルバムオブジェクト５０４、およびトラックオブジェクト５０５は、再生する楽曲を選択する際などにユーザに提示されるオブジェクトである。HD DB２９２は、ユーザに提示されるオブジェクトではない他の情報のオブジェクトを、ルート２１１、またはアーティストオブジェクト５０３の下に生成することができる。
【０３２０】
図５６および図５７は、オブジェクト記録領域３２２に記録されるオブジェクトのディレクトリ構造の、図５５とは異なる例を示している。図５６においては、図５５とは異なり、アーティストオブジェクト５０３およびアルバムオブジェクト５０４には、対応する画像オブジェクト５０２が配置されているが、トラックオブジェクト５０５には、対応する画像オブジェクト５０２は配置されていない。この場合、ユーザは、曲を検索する際に、アーティストを識別するための画像とアルバムを識別するための画像を頼りに、目的の曲を検索することになる。
【０３２１】
図５７においては、アーティストオブジェクト５１２−１の１段下の階層に、アルバムオブジェクト５１４−１以外に、トラックオブジェクト５１５−１,５１５−２およびトラックオブジェクトに対応する画像オブジェクト５１１−４，５１１−５が配置されている。このように、アーティストオブジェクト５１２の１段下の階層に、直にトラックオブジェクト５１５を配置するようにすることも可能である。また、ルート５０１の１段下の階層に、曲をロック、クラシック、ジャズなどのように分類オブジェクト５１３を設けるようにすることも可能である。このように、ユーザは、必要に応じて、いくつかのオブジェクトを１つにまとめるため、１階層上のオブジェクトを作成することができる。
【０３２２】
図５８は、ＣＤリッピングが実行される際のデータの流れを示している。音楽ＣＤ２０３を高速で録音するＣＤリッピングでは、CD MW２８９の制御により、音楽ＣＤ２０３のディジタルオーディオデータは、CD-ROMドライブ２５７によってCAV８倍速で読み出されて、バッファ２５６にバッファリングされる。また、HD MW２８２の制御により、バッファ２５６にバッファリングされたディジタルオーディオデータは、ＷＭスクリーン２６０−２に入力されてウォータマークが検出される。次に、HD MW２８２の制御により、バッファ２５６にバッファリングされていたディジタルオーディオデータは、エンコーダ２５９によって平均５倍速でATRAC３方式によりエンコードされて暗号化され、得られた符号化データは、バッファ２５６でバッファリングされた後、HDD２５８に転送されて記録される。なお、図示は省略したが、ＣＤリッピングの最中には、録音されているディジタルオーディオデータに対応する音声がスピーカ２０２から出力される。
【０３２３】
図５９は、ＣＤレコーディングが実行される際のデータの流れを示している。音楽ＣＤ２０３を再生しながら録音するＣＤレコーディングでは、CD MW２８９の制御により、音楽ＣＤ２０３のディジタルオーディオデータは、CD-ROMドライブ２５７によってCAV８倍速で読み出されてバッファ２５６にバッファリングされる。次に、HD MW２８２の制御により、バッファ２５６にバッファリングされていたディジタルオーディオデータは、エンコーダ２５９によって平均５倍速でATRAC３方式によりエンコードされて暗号化され、得られた符号化データは、バッファ２５６でバッファリングされた後、HDD２５８に転送されて記録される。また、HD MW２８２の制御により、バッファ２５６にバッファリングされたオーディオデータは、ＷＭスクリーン２６０−２に供給されてウォータマークが検出される。
【０３２４】
一方、モニタ音声のために、バッファリングされていたディジタルオーディオデータは、HD MW２８２の制御により、HDD２５８に設けられるバッファ（不図示）に一時的に記録された後、読み出されてオーディオＩ／Ｆ２６０−３に入力される。次に、AIO MW２９５の制御により、ディジタルオーディオデータは、Ｄ／Ａ２６２に転送されてアナログ化され、スピーカ２０２から対応する音声が出力される。
【０３２５】
図６０は、ＨＤプレイが実行される際のデータの流れを示している。HDD２５８の符号化データを再生するＨＤプレイでは、HD MW２８２の制御により、HDD２５８から読み出された符号化データは、バッファ２５６にバッファリングされた後、デコーダ２５９によって復号、デコードされる。得られたディジタルオーディオデータは、バッファ２５６にバッファリングされた後、オーディオＩ／Ｆ２６０−３に転送される。次に、AIO MW２９５の制御により、ディジタルオーディオデータは、オーディオＩ／Ｆ２６０−３によってＤ／Ａ２６２に転送されてアナログ化され、スピーカ２０２から出力される。
【０３２６】
図６１は、ＣＤプレイが実行される際のデータの流れを示している。音楽ＣＤ２０３を再生するＣＤプレイでは、CD MW２８９の制御により、音楽ＣＤ２０３のディジタルオーディオデータは、CD-ROMドライブ２５７によって読み出され、バッファ２５６にバッファリングされた後、オーディオＩ／Ｆ２６０−３に転送される。次に、AIO MW２９５の制御により、ディジタルオーディオデータは、オーディオＩ／Ｆ２６０−３によってＤ／Ａ２６２に転送され、アナログ化されてスピーカ２０２から出力される。
【０３２７】
ＣＤリッピングとＣＤレコーディングの違いについて、図６２および図６３を参照して説明する。図６２Ａは、ＣＤリッピングにおけるモニタ音声出力の期間を示している。図６２Ｂは、ＣＤリッピングにおける録音の処理（符号化して記録する処理）の期間を示している。図６３Ａは、ＣＤレコーディングにおけるモニタ音声出力の期間を示している。図６３Ｂは、ＣＤレコーディングにおける録音の処理（符号化し、記録する処理）の期間を示している。
【０３２８】
図６２Ｂと図６３Ｂを比較して明らかなように、ＣＤリッピングとＣＤレコーディングでは、その録音の処理に要する合計時間は同じである。すなわち、音楽ＣＤ２０３のオーディオデータ（PCMデータ）をATRAC３方式によって符号化し、HDD２５８に記録する処理は、オーディオデータの再生速度に対して平均５倍速で行われる。
【０３２９】
例えば、再生時間が１０分間である曲が６曲記録されていて総再生時間が６０分間である音楽ＣＤ２０３を、ＣＤリッピングまたはＣＤレコーディングによって、録音する場合、１曲当たり約２分間を要して順次録音される。
【０３３０】
ＣＤリッピングとＣＤレコーディングとの相違点は、モニタ音声出力の期間である。
【０３３１】
ＣＤリッピングの場合、モニタ音声出力は、対応するオーディオデータの録音処理が行われている期間だけ、モニタ音声が出力される。上述した音楽ＣＤ２０３の例では、第１曲目の先頭から約２分間の音声が通常の再生速度で出力され、次に、第２曲目の先頭から約２分間の音声が通常の速度で出力され、以降、各曲の先頭から約２分間の音声が通常の速度で出力される。したがって、録音処理の終了と同時に、モニタ音声出力も終了される。
【０３３２】
ＣＤレコーディングの場合、モニタ音声出力は、対応するオーディオデータの録音処理の進捗状況に関係なく、モニタ音声が出力される。上述した音楽ＣＤ２０３の例では、第１曲目の全ての音声が通常の再生速度で出力され、次に、第２曲目の全ての音声が通常の速度で出力され、以降、各曲の全ての音声が通常の速度で出力される。したがって、録音処理が終了しても、対応するオーディオデータのモニタ音声出力は最後の第６曲目の終わりまで継続される。
【０３３３】
なお、ＣＤリッピングとＣＤレコーディングは、その処理の途中において適宜切り替えることが可能である。
【０３３４】
次に、図６４のフローチャートを参照しつつ、オーディオサーバ２０１の画像登録処理について説明する。この画像登録処理は、例えば、図５６に示されるようなディレクトリ構造において、トラックオブジェクト５０５−１「トラックＡ」に対応する画像データを登録する場合に実行される。なお、以下の説明における「トラック」は、「オーディオトラック」と、同義の用語として使用する。
【０３３５】
インプットハンドルミドルウェア２９８は、各種のボタンに対するユーザからの操作の監視を常時おこなっており、各種のボタンに対するユーザからの操作があったと判定された場合、その情報をメインAPP２７６に通知する。メインAPP２７６は、ステップＳ６０１において、ユーザからの操作は、トラックオブジェクトへの画像オブジェクトのリンクの指示であるか否かを判定し、ユーザからの操作が、トラックオブジェクトへの画像オブジェクトのリンクの指示である場合、処理はステップＳ６０２に進む。
【０３３６】
ステップＳ６０２において、メインAPP２７６は、トラックオブジェクトへの画像オブジェクトのリンクの指示があったことを、HD APP２７７に通知する。HD APP２７７は、トラックオブジェクトへの画像オブジェクトのリンクの指示があったことを、HD MW２８２のIMAGE LINK２８７に伝達する。IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に、トラックオブジェクトにリンクさせる画像の選択を促す案内を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、トラックオブジェクトにリンクさせる画像の選択を促す案内を表示させる。
【０３３７】
ユーザは、イーサネット(R)コントローラ/コネクタ２６７、またはPCMCIAコントローラ２６８を介して受信した画像データ、予めHDD２５８に記憶されている画像データ、CD-ROMドライブ２５７を介して、光ディスクから読み出された画像データ、およびMSコネクタ２６１を介して、MS２０４から読み出された画像データなどの中から、所望の画像データを選択することができる。ユーザにより、画像データを選択する操作が入力されると、インプットハンドルミドルウェア２９８は、ユーザからの操作があった旨の情報をメインAPP２７６に通知する。メインAPP２７６は、ユーザより画像データが選択されたことをHD APP２７７に通知する。HD APP２７７は、ユーザより画像データが選択されたことを、HD MW２８２のIMAGE LINK２８７に伝達する。
【０３３８】
ステップＳ６０３において、IMAGE LINK２８７は、ステップＳ６０２で伝達されてきた、トラックオブジェクトへの画像オブジェクトのリンクの指示情報に基づいて、画像オブジェクトをリンクさせるトラックを特定し、そのトラックのタイトル（トラック名）を取得する。
【０３３９】
ステップＳ６０４において、IMAGE LINK２８７は、ステップＳ６０２で、指定された画像データのファイル名を、ステップＳ６０３で取得したトラックのタイトルと同一のファイル名にした、HDD２５８への記録用の画像オブジェクトを作成し、ステップＳ６０５において、ステップＳ６０４で作成された画像オブジェクトを、リンクさせるトラックと同一階層のディレクトリに記録する。
【０３４０】
以上のようにして、画像オブジェクトが登録されると、例えば、図５６のトラックオブジェクト５０５−１「トラックＡ」の隣（同一階層）に、「トラックＡ．ＢＭＰ」のように画像オブジェクトが登録される。なお、図６４のフローチャートにおいては、トラックオブジェクトに対して画像オブジェクトをリンクさせる場合を例にして、オブジェクトへの画像のリンク処理について説明したが、アーティストオブジェクト、およびアルバムオブジェクトなど、トラックオブジェクト以外のオブジェクトに画像オブジェクトをリンクさせる場合も、上述した処理と同様の処理が実行される。
【０３４１】
ところで、オーディオサーバ２０１は、上述のように、画像オブジェクトをリンクさせるオブジェクトを指定してから、画像オブジェクトをリンクさせる処理を行うことも可能であるが、再生中、または記録中のトラックに、画像オブジェクトを自動的にリンクさせることも可能である。次に、図６５のフローチャートを参照しつつ、オーディオサーバ２０１が、画像オブジェクトを自動的にリンクさせる処理について説明する。
【０３４２】
先にも述べたように、ユーザは、イーサネット(R)コントローラ/コネクタ２６７、PCMCIAコントローラ２６８、HDD２５８、CD-ROMドライブ２５７、およびMSコネクタ２６１などから、所望の画像データを選択することができる。インプットハンドルミドルウェア２９８は、ユーザから、画像データを選択する操作が入力されると、その情報をメインAPP２７６に通知する。メインAPP２７６は、ステップＳ６３１において、ユーザからの操作は、画像データを選択する操作であるか否かを判定し、画像データを選択する操作である場合、画像データを選択する操作が入力された旨の情報をHD APP２７７に通知する。HD APP２７７は、ユーザより画像データが選択されたことを、HD MW２８２のIMAGE LINK２８７に伝達する。
【０３４３】
ステップＳ６３２において、メインAPP２７６は、HD APP２７７が実行中の処理が、HDD２５８に記録されたトラックの再生であるか否かを判定すると共に、CD APP２７８が実行中の処理が、CD-ROMドライブ２５７に挿入された光ディスクの再生であるか否かを判定し、HDD２５８に記録されたトラックの再生であると判定するか、CD APP２７８が実行中の処理が、CD-ROMドライブ２５７に挿入された光ディスクの再生であると判定した場合、ステップＳ６３６に進む。
【０３４４】
ステップＳ６３２において、メインAPP２７６が、HD APP２７７が実行中の処理は、HDD２５８に記録されたトラックの再生ではないと判定し、かつ、CD APP２７８が実行中の処理は、CD-ROMドライブ２５７に挿入された光ディスクの再生ではない判定した場合、ステップＳ６３３に進む。
【０３４５】
ステップＳ６３３において、メインAPP２７６は、HD APP２７７が実行中の処理が、HDD２５８へのトラックの記録であるか否かを判定し、HDD２５８へのトラックの記録であると判定した場合、ステップＳ６３６に進む。
【０３４６】
ステップＳ６３３において、メインAPP２７６が、HD APP２７７が実行中の処理は、HDD２５８へのトラックの記録ではないと判定した場合、ステップＳ６３４に進む。
【０３４７】
ステップＳ６３４において、メインAPP２７６は、トラックが再生中でも記録中でもないことをHD APP２７７に通知する。HD APP２７７は、トラックが再生中でも記録中でもないことを、HD MW２８２のIMAGE LINK２８７に伝達する。IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に、ステップＳ６３１でユーザにより選択された画像データをリンクさせるトラックオブジェクトの選択を促す案内を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、画像データをリンクさせるトラックオブジェクトの選択を促す案内を表示させる。
【０３４８】
ステップＳ６３５において、IMAGE LINK２８７は、ユーザによりトラックが選択されるまで待機する。
【０３４９】
ユーザは、HDD２５８にすでに記録されたトラックの中から、所望のトラックを選択することができる。ユーザにより、トラックを選択する操作が入力されると、インプットハンドルミドルウェア２９８は、ユーザからの操作があった旨の情報をメインAPP２７６に通知する。メインAPP２７６は、ユーザよりトラックが選択されたことをHD APP２７７に通知する。HD APP２７７は、ユーザよりトラックが選択されたことを、HD MW２８２のIMAGE LINK２８７に伝達する。処理はステップＳ６３６に進む。
【０３５０】
ステップＳ６３６において、IMAGE LINK２８７は、ステップＳ６３２で再生中と判定されたトラック、またはステップＳ６３５でユーザにより選択されたトラックには、すでに他の画像オブジェクトがリンクされているか否かを判定し、すでに他の画像オブジェクトがリンクされてはいないと判定した場合、ステップＳ６３７に進む。なお、ステップＳ６３３で記録中と判定されたトラックの場合、まだ、画像オブジェクトはトラックにリンクされていないので、ステップＳ６３６はスキップして、ステップＳ６３７の処理に進む。
【０３５１】
ステップＳ６３７において、IMAGE LINK２８７は、画像オブジェクトをリンクさせるトラックを特定し、そのトラックのタイトル（トラック名）を取得する。
【０３５２】
ステップＳ６３８において、IMAGE LINK２８７は、ステップＳ６３１で、選択された画像データのファイル名を、ステップＳ６３７で取得したトラックのタイトルと同一のファイル名にした、HDD２５８への記録用の画像オブジェクトを作成し、ステップＳ６３９において、ステップＳ６３８で作成された画像オブジェクトを、リンクさせるトラックと同一階層のディレクトリに記録する。
【０３５３】
ステップＳ６３６において、IMAGE LINK２８７が、ステップＳ６３２で再生中と判定されたトラック、またはステップＳ６３５でユーザにより選択されたトラックには、すでに他の画像オブジェクトがリンクされていると判定した場合、ステップＳ６４０に進み、IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に、トラックオブジェクトにリンクさせる画像オブジェクトを変更してよいか否かの選択を促す案内を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、トラックオブジェクトにリンクさせる画像オブジェクトを変更してよいか否かの選択を促す案内を表示させる。
【０３５４】
ユーザは、トラックにリンクさせる画像オブジェクトを変更することができる。ユーザにより、トラックにリンクさせる画像オブジェクトを変更するか否かを決定する操作が入力されると、インプットハンドルミドルウェア２９８は、ユーザからの操作があった旨の情報をメインAPP２７６に通知する。メインAPP２７６は、ユーザよりトラックにリンクさせる画像オブジェクトを変更するか否かを決定する操作があったことをHD APP２７７に通知する。HD APP２７７は、ユーザよりトラックにリンクさせる画像オブジェクトを変更するか否かを決定する操作があったことを、HD MW２８２のIMAGE LINK２８７に伝達する。処理はステップＳ６４１に進む。
【０３５５】
ステップＳ６４１において、IMAGE LINK２８７は、伝達されてきた情報に基づいて、トラックにリンクさせる画像オブジェクトを変更するか否かを判定し、トラックにリンクさせる画像オブジェクトを変更すると判定した場合、処理はステップＳ６３７に進み、ステップＳ６３１で選択された画像データをトラックにリンクさせる、ステップＳ６３７以降の処理を実行する。ステップＳ６４１において、IMAGE LINK２８７が、トラックにリンクさせる画像オブジェクトは変更しないと判定した場合、図６５のフローチャートの処理を終了する。
【０３５６】
以上のように、画像オブジェクトが選択された時点で、トラックが再生中、または記録中だった場合、自動的に画像データを再生中（記録中）のトラックにリンクさせることにより、ユーザは、画像を選択するだけの簡単な操作により画像オブジェクトをトラックにリンクさせることができる。また、すでに画像オブジェクトがトラックにリンクされていた場合でも、ごく簡単な操作により、リンクさせる画像オブジェクトを変更することが可能となる。
【０３５７】
ところで、オーディオサーバ２０１は、再生中のトラックに画像オブジェクトがリンクされていない場合、ユーザに画像オブジェクトをリンクさせるように案内するようにすることができる。次に、図６６のフローチャートを参照しつつ、再生中のトラックに画像オブジェクトがリンクされていない場合のトラックへの画像オブジェクトのリンク処理について説明する。
【０３５８】
インプットハンドルミドルウェア２９８は、ユーザから、トラックの再生を指示する操作が入力されると、その情報をメインAPP２７６に通知する。メインAPP２７６は、ステップＳ６６１において、ユーザからの操作は、トラックの再生を指示する操作であるか否かを判定し、トラックの再生を指示する操作である場合、トラックの再生を指示する操作が入力された旨の情報をHD APP２７７に通知する。HD APP２７７は、ユーザよりトラックの再生を指示する操作が入力されたことを、HD MW２８２のHD PLAY２８５、およびIMAGE LINK２８７に伝達する。
【０３５９】
ステップＳ６６２において、HD PLAY８５は再生トラックに対応するコンテンツデータを再生する。具体的には、再生トラックに対応するトラックオブジェクトがＣＣデータに基づいて特定され、特定されたトラックオブジェクトのファイル識別子記録領域４０３の値に基づいて対応するコンテンツデータのファイル識別子が特定され、特定されたファイル識別子（＝ファイル記録領域３２１のクラスタ番号）に基づいてコンテンツデータが読み出される。次に、読み出されたコンテンツデータがデコードされて出力される。
【０３６０】
ステップＳ６６３において、IMAGE LINK２８７は、ステップＳ６６２で再生を開始したトラックには、すでに画像オブジェクトがリンクされているか否かを判定し、ステップＳ６６２で再生を開始したトラックには、すでに画像オブジェクトがリンクされていると判定した場合、処理を終了する。
【０３６１】
ステップＳ６６３において、IMAGE LINK２８７が、ステップＳ６６２で再生を開始したトラックには、まだ画像オブジェクトはリンクされていないと判定した場合、ステップＳ６６４に進み、ディスプレイドライバ３０６に、ディスプレイ２１５に、トラックオブジェクトに画像オブジェクトをリンクさせるか否かの選択を促す案内を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、トラックオブジェクトに画像オブジェクトをリンクさせるか否かの選択を促す案内を表示させる。
【０３６２】
ユーザは、画像オブジェクトがリンクされていないトラックに画像オブジェクトをリンクさせることができる。ユーザにより、トラックに画像オブジェクトをリンクさせるか否かを決定する操作が入力されると、インプットハンドルミドルウェア２９８は、ユーザからの操作があった旨の情報をメインAPP２７６に通知する。メインAPP２７６は、ユーザよりトラックに画像オブジェクトをリンクさせるか否かを決定する操作があったことをHD APP２７７に通知する。HD APP２７７は、ユーザよりトラックに画像オブジェクトをリンクさせるか否かを決定する操作があったことを、HD MW２８２のIMAGE LINK２８７に伝達する。処理はステップＳ６６５に進む。
【０３６３】
ステップＳ６６５において、IMAGE LINK２８７は、伝達されてきた情報に基づいて、トラックに画像オブジェクトをリンクさせるか否かを判定し、トラックに画像オブジェクトをリンクさせないと判定した場合、処理を終了する。ステップＳ６６５において、IMAGE LINK２８７が、トラックに画像オブジェクトをリンクさせると判定した場合、処理はステップＳ６６６に進む。
【０３６４】
ステップＳ６６６において、IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に、トラックオブジェクトにリンクさせる画像の選択を促す案内を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、トラックオブジェクトにリンクさせる画像の選択を促す案内を表示させる。
【０３６５】
ユーザにより、画像データを選択する操作が入力されると、インプットハンドルミドルウェア２９８は、ユーザからの操作があった旨の情報をメインAPP２７６に通知する。メインAPP２７６は、ユーザより画像データが選択されたことをHD APP２７７に通知する。HD APP２７７は、ユーザより画像データが選択されたことを、HD MW２８２のIMAGE LINK２８７に伝達する。
【０３６６】
ステップＳ６６７において、IMAGE LINK２８７は、ステップＳ６６２で再生が開始されたのタイトル（トラック名）を取得する。
【０３６７】
ステップＳ６６８において、IMAGE LINK２８７は、ステップＳ６６６で、指定された画像データのファイル名を、ステップＳ６６７で取得したトラックのタイトルと同一のファイル名にした、HDD２５８への記録用の画像オブジェクトを作成し、ステップＳ６６９において、ステップＳ６６８で作成された画像オブジェクトを、リンクさせるトラックと同一階層のディレクトリに記録する。
【０３６８】
以上のようにして、再生中のトラックに画像オブジェクトがリンクされていなかった場合、オーディオサーバ２０１は、トラックに画像オブジェクトをリンクさせるか否かの案内を表示し、ユーザにより選択された画像を再生中のトラックにリンクさせる。このようにすることにより、ユーザは、画像オブジェクトがまだリンクされていないトラックをわざわざ探し出さなくても、必要に応じて、画像オブジェクトをトラックにリンクさせることができる。なお、再生中のトラックに画像オブジェクトがリンクされていない場合でも、トラックに画像オブジェクトをリンクさせるか否かの案内を表示しないように、オーディオサーバ２０１を設定することも可能である。
【０３６９】
ところで、オーディオサーバ２０１は、新規にアーティストフォルダなどのフォルダオブジェクトが作成される場合、作成されるフォルダオブジェクトに、画像オブジェクトをリンクさせるか否かを、ユーザに選択を促すようにすることができる。
【０３７０】
次に、図６７のフローチャートを参照しつつ、新規フォルダオブジェクトが作成される場合の、画像オブジェクトのリンク処理について説明する。
【０３７１】
インプットハンドルミドルウェア２９８は、ユーザから、新規フォルダ作成を指示する操作が入力されると、その情報をメインAPP２７６に通知する。メインAPP２７６は、ステップＳ７０１において、ユーザからの操作は、新規フォルダ作成を指示する操作であるか否かを判定し、新規フォルダ作成を指示する操作である場合、新規フォルダ作成を指示する操作が入力された旨の情報をHD APP２７７に通知する。HD APP２７７は、ユーザより新規フォルダ作成を指示する操作が入力されたことを、HD MW２８２に伝達する。HD MW２８２は、ユーザより新規フォルダ作成を指示する操作が入力されたことを、IMAGE LINK２８７に伝達すると共に、HD DB２９２、およびHD FS２９６にも伝達する。
【０３７２】
ステップＳ７０２において、HD FS２９６は新規フォルダファイルを作成し、HD DB２９２は、新規フォルダファイルに対応する新規フォルダオブジェクトを作成する。なお、この際に、新規フォルダのフォルダ名が、ユーザにより入力される。
【０３７３】
ステップＳ７０３において、IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に、新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かの選択を促す案内を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かの選択を促す案内を表示させる。
【０３７４】
ユーザは、新規フォルダオブジェクトに画像オブジェクトをリンクさせることができる。ユーザにより、新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かを決定する操作が入力されると、インプットハンドルミドルウェア２９８は、ユーザからの操作があった旨の情報をメインAPP２７６に通知する。メインAPP２７６は、ユーザより新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かを決定する操作があったことをHD APP２７７に通知する。HD APP２７７は、ユーザより新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かを決定する操作があったことを、HD MW２８２のIMAGE LINK２８７に伝達する。処理はステップＳ７０４に進む。
【０３７５】
ステップＳ７０４において、IMAGE LINK２８７は、伝達されてきた情報に基づいて、新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かを判定し、新規フォルダオブジェクトに画像オブジェクトをリンクさせないと判定した場合、処理を終了する。ステップＳ７０４において、IMAGE LINK２８７が、新規フォルダオブジェクトに画像オブジェクトをリンクさせると判定した場合、処理は、ステップＳ７０５に進む。
【０３７６】
ステップＳ７０５において、IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に、新規フォルダオブジェクトにリンクさせる画像の選択を促す案内を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、新規フォルダオブジェクトにリンクさせる画像の選択を促す案内を表示させる。
【０３７７】
ユーザにより、画像データを選択する操作が入力されると、インプットハンドルミドルウェア２９８は、ユーザからの操作があった旨の情報をメインAPP２７６に通知する。メインAPP２７６は、ユーザより画像データが選択されたことをHD APP２７７に通知する。HD APP２７７は、ユーザより画像データが選択されたことを、HD MW２８２のIMAGE LINK２８７に伝達する。
【０３７８】
ステップＳ７０６において、IMAGE LINK２８７は、ステップＳ７０２で作成された新規フォルダオブジェクトのタイトル（フォルダ名）を取得する。
【０３７９】
ステップＳ７０７において、IMAGE LINK２８７は、ステップＳ７０５で、指定された画像データのファイル名を、ステップＳ７０６で取得した新規フォルダオブジェクトのタイトルと同一のファイル名にした、HDD２５８への記録用の画像オブジェクトを作成し、ステップＳ７０８において、ステップＳ７０６で作成された画像オブジェクトを、リンクさせる新規フォルダオブジェクトと同一階層のディレクトリに記録する。
【０３８０】
以上のようにして、新規フォルダが作成されると、オーディオサーバ２０１は、新規フォルダに画像オブジェクトをリンクさせるか否かの選択を促す案内を表示させ、新規フォルダに画像オブジェクトをリンクさせることができる。このようにすることにより、ユーザは、新規フォルダを作成する場合、新規フォルダの作成後に、わざわざフォルダに画像オブジェクトをリンクさせる処理を行わなくてもよくなり、利便性が増す。
【０３８１】
以上のようにして、画像オブジェクトがトラックに対応付けて登録された結果、例えば、図６８に示されるように、画像オブジェクトが、ディレクトリの中に配置される。
【０３８２】
次に、オーディオサーバ２０１が、上述のようにして登録された画像オブジェクトを表示させ、トラックを再生させるまでの処理について、図６９のフローチャートを参照しつつ、説明する。
【０３８３】
インプットハンドルミドルウェア２９８は、ユーザから、音楽のリストの表示を指示する操作が入力されると、その情報をメインAPP２７６に通知する。メインAPP２７６は、ステップＳ７３１において、ユーザからの操作は、音楽のリストの表示を指示する操作であるか否かを判定し、音楽のリストの表示を指示する操作である場合、音楽のリストの表示を指示する操作が入力された旨の情報をHD APP２７７に通知する。HD APP２７７は、ユーザより音楽のリストの表示を指示する操作が入力されたことを、HD MW２８２のIMAGE LINK２８７に伝達する。
【０３８４】
ステップＳ７３２において、IMAGE LINK２８７は、最上位階層のディレクトリの項目を読み出し、ディスプレイドライバ３０６に、ディスプレイ２１５に、最上位階層のディレクトリの項目を表示するように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、最上位階層のディレクトリの項目を表示させる。例えば、図５５に示されるようなディレクトリ構造をしていた場合、ディスプレイ２１５には、画像オブジェクト５０２−１と、画像オブジェクト５０２−２が表示されるとともに、各画像オブジェクトの近辺に、それぞれのアーティスト名（「アーティストＡ」、および「アーティストＢ」）が表示される。なお、アーティスト名に対応する画像オブジェクトが登録されていなかった場合、そのアーティストに対応する画像オブジェクトは表示されず、アーティスト名のみが表示される。
【０３８５】
ステップＳ７３３において、ユーザより、項目の選択を受け付けられると、ステップＳ７３４において、IMAGE LINK２８７は、ステップＳ７３３で選択された項目は、トラックオブジェクトに対応する項目であるか否かを判定し、トラックオブジェクトに対応する項目ではない場合、ステップＳ７３５に進む。例えば、画像オブジェクトがディスプレイ２１５に表示されていた場合、ユーザは、所望の画像オブジェクトを選択することにより、項目を選択することができる。また、画像オブジェクトではなく、文字情報としての項目が表示されていた場合、ユーザは、その中から所望の項目を選択することもできる。
【０３８６】
ステップＳ７３５において、IMAGE LINK２８７は、ステップＳ７３４で選択された項目の１段下の階層に配置されているオブジェクトの項目を読み出し、ディスプレイドライバ３０６に、ディスプレイ２１５に表示させるように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、指示されたディレクトリの項目を表示させる。例えば、図５５のようなディレクトリ構造である場合、画像オブジェクト５０２−１（アーティストＡのフォルダ）が選択されたとき、IMAGE LINK２８７は、画像オブジェクト５０２−３および画像オブジェクト５０２−４を読み出し、ディスプレイドライバ３０６に、画像オブジェクト５０２−３および画像オブジェクト５０２−４をディスプレイ２１５に表示させるように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、画像オブジェクト５０２−３および画像オブジェクト５０２−４を表示させる。その後、処理は、ステップＳ７３５に戻り、ステップＳ７３５以降の処理が繰り返される。
【０３８７】
そして、ステップＳ７３４において、IMAGE LINK２８７が、ステップＳ７３３で選択された項目は、トラックオブジェクトに対応する項目であると判定した場合、処理はステップＳ７３６に進み、選択されたHD PLAY285に対して、選択された項目に対応するトラックのコンテンツデータの再生処理を行わせる。例えば、図５５のようなディレクトリ構造である場合、画像オブジェクト５０２−６（トラックＡに対応する画像オブジェクト）が選択されたとき、IMAGE LINK２８７はトラックオブジェクトが選択されたと判定し、ステップＳ７３６において、HD PLAY285に、トラックＡのコンテンツデータの再生を開始させる。
【０３８８】
ステップＳ７３６で、再生が開始された後、すぐにステップＳ７３７において、IMAGE LINK２８７は、再生中のトラックに対応する画像オブジェクトが記録されているか否かを判定し、再生中のトラックに対応する画像オブジェクトが記録されている場合、ステップＳ７３８に進み、IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に画像オブジェクト、および演奏時間を表示させるように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、指示された画像オブジェクトを表示させると共に、演奏時間を表示させる。
【０３８９】
ステップＳ７３７において、IMAGE LINK２８７が、再生中のトラックに対応する画像オブジェクトが記録されてはいないと判定した場合、ステップＳ７３９に進み、IMAGE LINK２８７は、ディスプレイドライバ３０６に、ディスプレイ２１５に演奏時間を表示させるように指示する。ディスプレイドライバ３０６は、ディスプレイ２１５に、演奏時間を表示させる。
【０３９０】
ステップＳ７４０において、メインAPP２７６は、再生終了のボタンが操作されたか否かを判定し、再生終了のボタンが操作されるまで、ステップＳ７３７以降の処理を繰り返す。再生終了のボタンが操作されたとき、メインAPP２７６は、HD APP２７７に、再生を終了するように通知する。HD APP２７７は、メインAPP２７６からの通知をHD PLAY２８５に通知し、トラックの再生を終了させる。
【０３９１】
オーディオサーバ２０１は、以上のようにして、登録されている画像オブジェクトをディスプレイ２１５に表示し、ユーザに画像オブジェクトを選択させることにより、アーティスト、アルバム、および再生するトラックを決定させるようにすることができる。
【０３９２】
ところで、上述したオーディオサーバ２０１においては、ユーザは、イーサネット(R)コントローラ/コネクタ２６７、またはPCMCIAコントローラ２６８を介して受信した画像データ、予めHDD２５８に記憶されている画像データ、CD-ROMドライブ２５７を介して、光ディスクから読み出された画像データ、およびMSコネクタ２６１を介して、MS２０４から読み出された画像データなどの中から、所望の画像データを選択して、画像オブジェクトとすることができる。
【０３９３】
しかしながら、ユーザが、例えばＣＤジャケットなどの写真を画像オブジェクトとして登録したい場合、所望する画像データがすぐに探し出せるとは限らず、ユーザにとって、不便であることがある。また、ユーザが、ユーザ個人の持ち物などを、画像オブジェクトとして登録したい場合、ユーザは、一旦、デジタルカメラなどの機器により、画像を取り込んで、その画像データを記録媒体に記録し、オーディオサーバ２０１にその記録媒体を挿入して、記録媒体から画像データを読み出さなくてはならず、大変不便である。
【０３９４】
そこで、次に、画像を撮影する機能を備えたオーディオサーバの例について説明する。図７０には、画像を撮影する機能を備えた、携帯可能なサイズのポータブルオーディオサーバ６０１の外観が示されている。図７０において、ポータブルオーディオサーバ６０１は、本体６１１と、リモートコマンダ６１２により構成され、リモートコマンダ６１２に、画像を撮影するためのCCD６２１が設置されている。このCCD６２１により、例えば、CDのジャケット写真６３１が撮影され、リモートコマンダ６１２より本体６１１に、撮影された画像データが送信される。
【０３９５】
本体６１１には、オーディオサーバ２０１と同様に、複数の操作入力用のボタン、および入出力用のインターフェースが備えられているが、図７０においては、図示を省略する。リモートコマンダ６１２は、画像を撮影するためのCCD６２１の他に、ユーザからの操作の入力を受け付ける操作入力部６２２、および音声を出力するイヤホン６２３、および本体６１１との間で、無線により各種のデータを送受信する通信部６５２(図７１)により構成される。操作入力部６２２は、リモートコマンダ６１２の内部方向に押下されることにより、ユーザからの画像取り込みの指示も受け付ける(カメラのシャッタに相当する)。
【０３９６】
このように、本体６１１とリモートコマンダ６１２の間で、無線により通信させることにより、ユーザは、本体６１１から所定の範囲内で、リモートコマンダ６１２だけを持ち歩いて、音楽を聴くことができる。また、本体６１１とリモートコマンダ６１２の間で、無線により通信させることにより、ユーザは、リモートコマンダ６１２を、より自由に、所望するアングルに向けて、CCD６２１による撮影を行うことができる。なお、詳細は後述するが、本体６１１とリモートコマンダ６１２の間を、有線で接続するようにすることもできる。
【０３９７】
次に、図７１は、ポータブルオーディオサーバ６０１の本体６１１の内部の構成を示すブロック図である。図７１に示されるように、ポータブルオーディオサーバ６０１は、オーディオサーバ２０１の構成における受光部２４２を、通信部６５２に変更し、電源部２６５とDCイン端子２３６の間に、電力を貯蔵するためのバッテリ６５１を備えた構成になっており、それ以外の基本的な構成は、オーディオサーバ２０１と同様である。通信部６５２は、リモートコマンダ６１２の通信部６７６との間で、無線通信を行う。
【０３９８】
なお、本体６１１が実行するファームウェアの基本的な構成は、図２４に示されたものと同様である。
【０３９９】
次に、図７２は、リモートコマンダ６１２の内部の構成を示すブロック図である。図７２において、制御部６７１は、リモートコマンダ６１２全体を制御する。操作入力部６２２は、ボタン、および回転式のダイヤルより構成され、ユーザからの操作入力を受け付ける。また操作入力部６２２は、押下されることにより、ユーザからの画像撮影の指示の入力を受け付ける。なお、以下の説明において、画像撮影の指示の入力のために操作入力部６２２を押下することを、カメラになぞらえて、「シャッタを押す」とも称する。
【０４００】
メモリ６７２は、CCDカメラ６２１により撮影された画像データを記憶し、適宜、通信部６７６に供給する。また、メモリ６７２は、通信部６７６が、本体６１１より受信した音声データを一時的に記憶し、音声出力制御部６７７に供給する。LCD２１５は、本体６１１の動作状況やリモートコマンダ６１２に入力された操作状況を表示する。撮影部６７４は、CCDカメラ６２１とCCDカメラ６２１を制御するCCDカメラ制御部６７５により構成される。
【０４０１】
通信部６７６は、リモートコマンダ６１２の操作入力部６２２に入力された操作の操作情報を本体６１１に向けて送信すると共に、CCDカメラ６２１により撮影され、メモリ６７２に記憶された画像データを本体６１１に送信する。また、通信部６７６は、本体６１１より、再生されているトラックの音声データやその他のデータを受信する。
【０４０２】
音声出力制御部６７７は、メモリ６７２に一時的に記憶された音声データが供給されると、イヤホン６２３より音声を出力させる。
【０４０３】
なお、図７０においては、本体６１１の通信部６５２、およびリモートコマンダ６１２の通信部６７６の間の通信は、無線により行うようにしているが、このことは、本発明における本体６１１とリモートコマンダ６１２間の通信が、無線による通信に限定されることを意味するものではない。すなわち、本体６１１とリモートコマンダ６１２の間で、有線により種々のデータの送受信を行うようにしても良い。本体６１１とリモートコマンダ６１２の間で、無線通信によりデータの送受信を行う場合、他の無線と混信することがあったり、消費電力量が大きくなるなどの問題がある。それに対して、有線により本体６１１とリモートコマンダ６１２間で通信を行うことにより、上述したような問題を解決することができる。
【０４０４】
次に、図７３を参照しつつ、ポータブルオーディオサーバ６０１が、ＣＤに記録されているオーディオトラックをHDD２５８に記録する処理について説明する。
【０４０５】
CD-ROMドライブ２５７に光ディスクが挿入され、光ディスクに記録されたオーディオトラックのHDD２５８への記録が指示されたとき、ステップＳ７６１において、ポータブルオーディオサーバ６０１のメインCPU２５１は、CD-ROMドライブ２５７に挿入された光ディスクは、CD-EXTRAディスク４０であるか否かを判定し、CD-EXTRAディスク４０であった場合、ステップＳ７６６に進み、CD-EXTRAディスク４０に記録されている、オーディオトラックの曲名、アーティスト名、演奏時間などの付加情報を読み出してHDD２５８に記録した後、ステップＳ７６７において、CD-EXTRAディスク４０に記録されているオーディオトラックを読み出し、付加情報と対応付けてHDD２５８に記録する。
【０４０６】
ステップＳ７６１において、メインCPU２５１が、CD-ROMドライブ２５７に挿入された光ディスクは、CD-EXTRAディスク４０ではないと判定した場合、ステップＳ７６２に進み、メインCPU７６１は、光ディスクにCD-TEXT情報が記録されているか否かを判定し、光ディスクにCD-TEXT情報が記録されている場合、ステップＳ７６６に進み、光ディスクに記録されている付加情報読み出して、HDD２５８に記録した後、ステップＳ７６７において、光ディスクに記録されているオーディオトラックを読み出し、付加情報と対応付けてHDD２５８に記録する。
【０４０７】
ステップＳ７６２において、メインCPU２５１が、光ディスクにはCD-TEXT情報は記録されていないと判定した場合、ステップＳ７６３に進む。
【０４０８】
インターネット上には、音楽用CDの情報が登録されたパブリックデータベースであるCDデータベースが設置されている。CDデータベースは、販売された音楽CDのアルバム名、アーティスト名、および各トラックの曲名などのデータ（以下、CDデータと称する）を保有している。そして、例えば、所定のソフトウェアがインストールされた汎用のパーソナルコンピュータから、CDデータベースにアクセスすることにより、ユーザは、パーソナルコンピュータのCD-ROMドライブにセットされている音楽CDのCDデータを、CDデータベースから取得することができるようになっている。
【０４０９】
ところで、ポータブルオーディオサーバ６０１は、イーサネット(R)コントローラ/コネクタ２６７を介して、インターネットを含むネットワークに接続することができる。そこで、メインCPU２５１は、ステップＳ７６３において、イーサネット(R)コントローラ/コネクタ２６７を介して、インターネット上に設置されたCDデータベースにアクセスし、CD-ROMドライブ２５７に挿入された光ディスクに対応するCDデータを要求する。そして、CDデータベースから、CD-ROMドライブ２５７に挿入された光ディスクに対応するCDデータが供給されたか否かを判定し、光ディスクに対応するCDデータが供給された場合、ステップＳ７６６に進み、取得したCDデータ（付加情報）をHDD２５８に記録した後、ステップＳ７６７において、光ディスクに記録されているオーディオトラックを読み出し、付加情報と対応付けてHDD２５８に記録する。
【０４１０】
なお、CDデータベースは、既存のものを利用するようにしても良いし、ポータブルオーディオサーバ６０１用に、専用のサーバを、インターネット上に設置するようにしても良い。
【０４１１】
ステップＳ７６３において、メインCPU２５１が、CDデータベースから、CD-ROMドライブ２５７に挿入された光ディスクに対応するCDデータが供給されなかったと判定した場合、処理はステップＳ７６４に進み、メインCPU２５１は、ディスプレイ２５１に、ユーザにオーディオトラックの曲名などの付加情報を入力するように促す案内を表示させ、付加情報の入力を受け付ける。
【０４１２】
ステップＳ７６５において、メインCPU２５１は、ステップＳ７６４で入力を受け付けた付加情報をHDD２５８に記録する。ステップＳ７６７において、メインCPU２５１は、光ディスクに記録されているオーディオトラックを読み出し、HDD２５８に記録する。
【０４１３】
以上のようにして、ポータブルオーディオサーバ６０１は、CD-ROMドライブ２５７に挿入された光ディスクよりオーディオトラックのデータを読み出しHDD２５８に記録すると共に、オーディオトラックに対応する付加情報をHDD２５８に記録する。
【０４１４】
次に、図７４のフローチャートを参照して、ポータブルオーディオサーバ６０１の画像登録処理について説明する。ステップＳ７８１において、ユーザにより、リモートコマンダ６１２の操作入力部６２２が操作され、シャッタが押されると、ステップＳ７８２において、制御部６７１は、撮影部６７４のCCDカメラ制御部６７５に、撮影するように指令する。CCDカメラ制御部６７５は、CCDカメラ６２１を駆動して、撮影処理を実行し、画像データを生成する。
【０４１５】
生成された画像データは、一時的にメモリ６７２に蓄えられた後、通信部６７６より、本体６１１に送信される。なお、この際、シャッタが押された回数が１回か、それとも所定の短時間に２回連続シャッタが押されたか(以下、ダブルクリックとも称する)に関する情報も、本体６１１に送信される。本体６１１は、通信部６５２を介して、リモートコマンダ６１２より画像データを受信すると、これを一時的にバッファ２５６に記憶させる。
【０４１６】
ステップＳ７８３において、メインCPU２５１は、CD-ROMドライブ２５７に挿入された光ディスクを再生中であるか、またはHDD２５８に記録されているトラックが再生中であるか否かを判定し、CD-ROMドライブ２５７に挿入された光ディスクを再生中であるか、またはHDD２５８に記録されているトラックが再生中であった場合、処理は図７５のステップＳ７９３に進む。ステップＳ７８３において、メインCPU２５１が、CD-ROMドライブ２５７に挿入された光ディスクは再生中ではなく、かつ、HDD２５８に記録されているトラックが再生中でもないと判定した場合、ステップＳ７８４に進み、メインCPU２５１は、CD-ROMドライブ２５７に挿入された光ディスクに記録されたオーディオトラックを、HDD２５８に記録中であるか否かを判定し、CD-ROMドライブ２５７に挿入された光ディスクに記録されたオーディオトラックを、HDD２５８に記録中である場合、処理は図７５のステップＳ７９３に進む。
【０４１７】
ステップＳ７８４において、メインCPU２５１が、CD-ROMドライブ２５７に挿入された光ディスクに記録されたオーディオトラックを、HDD２５８に記録中ではないと判定した場合、ステップＳ７８５に進み、メインCPU２５１は、ディスプレイ２１５に、ステップＳ７８２で生成された画像データをリンクさせるオーディオトラックの選択を促す案内を表示させる。
【０４１８】
ステップＳ７８６において、メインCPU２５１は、画像データをリンクさせるオーディオトラックが選択されるまで待機し、画像データをリンクさせるオーディオトラックが選択されたとき、ステップＳ７８７に進み、ステップＳ７８６で選択されたと判定されたオーディオトラックには、すでに他の画像オブジェクトがリンクされているか否かを判定し、オーディオトラックには、他の画像オブジェクトがリンクされていなかった場合、ステップＳ７８８に進む。
【０４１９】
ステップＳ７８８において、メインCPU２５１は、ステップＳ７８６で選択されたと判定されたオーディオトラックのタイトルを取得し、ステップＳ７８９において、バッファ２５６に記憶させていた画像データのファイル名を、ステップＳ７８８で取得したタイトルと同一の名称に設定した画像オブジェクトを作成し、ステップＳ７９０において、画像オブジェクトを、HDD２５８内のオーディオトラックと同一の階層のディレクトリに記録する。
【０４２０】
ステップＳ７８７において、ステップＳ７８６で選択されたと判定されたオーディオトラックには、すでに他の画像オブジェクトがリンクされていると判定した場合、ステップＳ７９１に進み、メインCPU２５１は、オーディオトラックにリンクさせる画像オブジェクトを変更するか否か選択を促す案内をディスプレイ２１５に表示させる。
【０４２１】
ユーザより、オーディオトラックにリンクさせる画像オブジェクトを変更するか否かを決定する操作が入力されると、ステップＳ７９２において、メインCPU２５１は、ユーザより入力された操作が、オーディオトラックにリンクさせる画像オブジェクトを変更する操作か否かを判定し、オーディオトラックにリンクさせる画像オブジェクトを変更する操作であった場合、ステップＳ７８８に進み、上述したステップＳ７８８以降の処理が実行される。
【０４２２】
ステップＳ７９２において、メインCPU２５１が、ユーザより入力された操作は、オーディオトラックにリンクさせる画像オブジェクトを変更しない操作であると判定した場合、図７４の一連の処理を終了し、バッファ２５６に一時的に記憶させていた画像データを破棄する。
【０４２３】
図７５のステップＳ７９３において、メインCPU２５１は、リモートコマンダ６１２より受信した情報にもとづいて、ステップＳ７８１で、シャッタが所定の短時間に２回連続で押されていたか（ダブルクリックされたか）否かを判定し、シャッタが所定の短時間に２回連続で押されてはいなかった場合、図７４のステップＳ７８７に進み、再生中、あるいは記録中のオーディオトラックに関して、上述したステップＳ７８７以降の処理が実行される。
【０４２４】
ステップＳ７９３において、メインCPU２５１が、ステップＳ７８１で、シャッタが所定の短時間に２回連続で押されていた（ダブルクリックされた）と判定した場合、処理はステップＳ７９４に進み、メインCPU２５１は、再生中（または記録中）のオーディオトラックの１段上の階層にあるアルバムオブジェクトを特定する。
【０４２５】
ステップＳ７９５において、メインCPU２５１は、ステップＳ７９４で特定されたアルバムオブジェクトには、すでに他の画像オブジェクトがリンクされているか否かを判定し、アルバムオブジェクトには、他の画像オブジェクトがリンクされていなかった場合、ステップＳ７９６に進む。
【０４２６】
ステップＳ７９６において、メインCPU２５１は、ステップＳ７９４で特定されたアルバムオブジェクトのタイトルを取得し、ステップＳ７９７において、バッファ２５６に記憶させていた画像データのファイル名を、ステップＳ７９４で取得したタイトルと同一の名称に設定した画像オブジェクトを作成し、ステップＳ７９８において、画像オブジェクトを、HDD２５８内のアルバムオブジェクトと同一の階層のディレクトリに記録する。
【０４２７】
ステップＳ７９５において、ステップＳ７９４で特定されたアルバムオブジェクトには、すでに他の画像オブジェクトがリンクされていると判定した場合、ステップＳ７９９に進み、メインCPU２５１は、アルバムオブジェクトにリンクさせる画像オブジェクトを変更するか否か選択を促す案内をディスプレイ２１５に表示させる。
【０４２８】
ユーザより、アルバムオブジェクトにリンクさせる画像オブジェクトを変更するか否かを決定する操作が入力されると、ステップＳ８００において、メインCPU２５１は、ユーザより入力された操作が、アルバムオブジェクトにリンクさせる画像オブジェクトを変更する操作か否かを判定し、アルバムオブジェクトにリンクさせる画像オブジェクトを変更する操作であった場合、ステップＳ７９６に進み、上述したステップＳ７９６以降の処理が実行される。
【０４２９】
ステップＳ８００において、メインCPU２５１が、ユーザより入力された操作は、アルバムオブジェクトにリンクさせる画像オブジェクトを変更しない操作であると判定した場合、図７４および図７５の一連の処理を終了し、バッファ２５６に一時的に記憶させていた画像データを破棄する。
【０４３０】
以上のようにして、CCDカメラ６２１により撮影された画像が、画像オブジェクトとして、トラックオブジェクト、またはアルバムオブジェクトにリンクされる。
【０４３１】
ところで、ポータブルオーディオサーバ６０１の画像登録処理の方法として、上述した以外の方法でも、画像を登録することが可能である。次に、図７６乃至図７８のフローチャートを参照しつつ、図７４および図７５で説明した手順とは異なる画像の登録処理について説明する。
【０４３２】
図７６のステップＳ８５１において、ユーザにより、リモートコマンダ６１２の操作入力部６２２が操作され、シャッタが押されると、ステップＳ８５２において、制御部６７１は、撮影部６７４のCCDカメラ制御部６７５に、撮影するように指令する。CCDカメラ制御部６７５は、CCDカメラ６２１を駆動して、撮影処理を実行し、画像データを生成する。
【０４３３】
生成された画像データは、一時的にメモリ６７２に蓄えられた後、通信部６７６より、本体６１１に送信される。本体６１１は、通信部６５２を介して、リモートコマンダ６１２より画像データを受信すると、これを一時的にバッファ２５６に記憶させる。
【０４３４】
ステップＳ８５３において、メインCPU２５１は、CD−ROMドライブ２５７に挿入された光ディスクを再生中であるか、またはHDD２５８に記録されているトラックが再生中であるか否かを判定し、CD−ROMドライブ２５７に挿入された光ディスクを再生中であるか、またはHDD２５８に記録されているトラックが再生中であった場合、処理は図７７のステップＳ８６３に進む。
【０４３５】
ステップＳ８５３において、メインCPU２５１が、CD−ROMドライブ２５７に挿入された光ディスクは再生中ではなく、かつ、HDD２５８に記録されているトラックが再生中でもないと判定した場合、ステップＳ８５４に進み、メインCPU２５１は、CD-ROMドライブ２５７に挿入された光ディスクに記録されたオーディオトラックを、HDD２５８に記録中であるか否かを判定し、CD-ROMドライブ２５７に挿入された光ディスクに記録されたオーディオトラックを、HDD２５８に記録中である場合、ステップＳ８６３に進む。
【０４３６】
ステップＳ８５４において、メインCPU２５１が、CD-ROMドライブ２５７に挿入された光ディスクに記録されたオーディオトラックを、HDD２５８に記録中ではないと判定した場合、ステップＳ８５５に進み、メインCPU２５１は、ディスプレイ２１５に、ステップＳ８５２で生成された画像データをリンクさせるオーディオトラックの選択を促す案内を表示させる。
【０４３７】
ステップＳ８５６において、メインCPU２５１は、画像データをリンクさせるオーディオトラックが選択されるまで待機し、画像データをリンクさせるオーディオトラックが選択されたとき、ステップＳ８５７に進み、ステップＳ８５６で選択されたと判定されたオーディオトラックには、すでに他の画像オブジェクトがリンクされているか否かを判定し、オーディオトラックには、他の画像オブジェクトがリンクされていなかった場合、ステップＳ８５８に進む。
【０４３８】
ステップＳ８５８において、メインCPU２５１は、ステップＳ８５６で選択されたと判定されたオーディオトラックのタイトルを取得し、ステップＳ８５９において、バッファ２５６に記憶させていた画像データのファイル名を、ステップＳ８５８で取得したタイトルと同一の名称に設定し、画像オブジェクトを作成し、ステップＳ８６０において、画像オブジェクトを、HDD２５８内のオーディオトラックと同一の階層のディレクトリに記録する。
【０４３９】
ステップＳ８５７において、メインCPU２５１が、ステップＳ８５６で選択されたと判定されたオーディオトラックには、すでに他の画像オブジェクトがリンクされていると判定した場合、ステップＳ８６１に進み、メインCPU２５１は、オーディオトラックにリンクさせる画像オブジェクトを変更するか否か選択を促す案内をディスプレイ２１５に表示させる。
【０４４０】
ユーザより、オーディオトラックにリンクさせる画像オブジェクトを変更するか否かを決定する操作が入力されると、ステップＳ８６２において、メインCPU２５１は、ユーザより入力された操作が、オーディオトラックにリンクさせる画像オブジェクトを変更する操作か否かを判定し、オーディオトラックにリンクさせる画像オブジェクトを変更する操作であった場合、ステップＳ８５８に進み、上述したステップＳ８５８以降の処理が実行される。ステップＳ８６２において、メインCPU２５１が、ユーザより入力された操作は、オーディオトラックにリンクさせる画像オブジェクトを変更しない操作であると判定した場合、図７６の一連の処理を終了し、バッファ２５６に一時的に記憶させていた画像データを破棄する。
【０４４１】
図７７のステップＳ８６３において、メインCPU２５１は、リモートコマンダ６１２より画像データが送信されてきたか否かを判定することにより、リモートコマンダ６１２のシャッタが押下されたか否かを判定し、リモートコマンダ６１２のシャッタが押下されない場合、ステップＳ８６４に進み、メインCPU２５１は、オーディオトラックの再生(または記録)は終了したか否かを判定する。その結果、オーディオトラックの再生(または記録)が終了していないと判定した場合、ステップＳ８６３に戻って、シャッタボタンが押下されたか否かを、再度判定する。
【０４４２】
ステップＳ８６４において、メインCPU２５１が、オーディオトラックの再生(または記録)が終了したと判定した場合、処理は、図７８のステップＳ８８０に進み、ステップＳ８８０以降の処理が実行される。
【０４４３】
オーディオトラックが再生(または記録)されている間、メインCPU２５１は、ステップＳ８６３およびステップＳ８６４の処理を繰り返すが、ステップＳ８６３において、シャッタボタンが操作されたと判定した場合、すなわち、リモートコマンダ６１２より、画像データが受信された場合、処理はステップＳ８６５に進み、メインCPU２５１は、受信した画像データを、一時的にバッファ２５６に記憶させる。
【０４４４】
その後、メインCPU２５１は、ステップＳ８６６において、さらにシャッタが押されたか否かを判定し、シャッタが押された場合、すなわち、リモートコマンダ６１２より画像データを受信した場合、ステップＳ８６５に戻り、上述したステップＳ８６５の処理を繰り返し、バッファ２５６に画像データを記憶させる。このようにして、複数個の画像データがバッファ２５６に記憶される。
【０４４５】
また、ステップＳ８６６において、メインCPU２５１が、シャッタが押されていないと判定した場合、ステップＳ８６７に進み、メインCPU２５１は、オーディオトラックの再生(または記録)は終了したか否かを判定する。その結果、オーディオトラックの再生(または記録)は終了していないと判定した場合、ステップＳ８６６に戻り、上述したステップＳ８６６の処理が繰り返される。
【０４４６】
ステップＳ８６７において、メインCPU２５１が、オーディオトラックの再生(または記録)は終了したと判定した場合、処理はステップＳ８６８に進む。ステップＳ８６８において、メインCPU２５１は、ステップＳ８５３で再生中であると判定され(ステップＳ８５４で記録中であると判定され)、ステップＳ８６８で、再生(記録)が終了されたと判定された１以上のオーディオトラックには、すでに他の画像オブジェクトがリンクされているか否かを判定し、オーディオトラックには、他の画像オブジェクトがリンクされていなかった場合、ステップＳ８６９に進む。
【０４４７】
すなわち、画像オブジェクトがリンクされていない複数のオーディオトラックが再生（または記録）されている間に、複数回シャッタが押された場合、オーディオトラックの再生後（または記録後）に、メインCPU２５１は、ステップＳ８６９以降の処理を実行する。
【０４４８】
ステップＳ８６９において、メインCPU２５１は、再生(または記録)された１以上のオーディオトラックに対応する１以上のタイトルを取得し、ステップＳ８７０において、バッファ２５６に記憶させていた複数の画像データのファイル名を、それぞれ、ステップＳ８６９で取得したタイトルと同一の名称に設定し、画像オブジェクトを作成し、ステップＳ８７１において、画像オブジェクトを、HDD２５８内の、再生(記録)されていたオーディオトラックと同一の階層のディレクトリに記録する。
【０４４９】
ステップＳ８７２において、メインCPU２５１は、再生(記録)されていたオーディオトラックの１段上の階層のアルバムオブジェクトに、画像オブジェクトをリンクさせるか否かを選択するように促す案内をディスプレイ２１５に表示させる。ユーザは、アルバムオブジェクトに画像オブジェクトをリンクさせるか否かを選択することができる。
【０４５０】
そこで、ユーザがアルバムオブジェクトに画像オブジェクトをリンクさせないことを選択する操作を入力した場合、メインCPU２５１は、アルバムオブジェクトに画像オブジェクトをリンクさせないと判定し、処理を終了する。ステップＳ８７３において、ユーザがアルバムオブジェクトに画像オブジェクトをリンクさせることを選択する操作を入力した場合、メインCPU２５１は、アルバムオブジェクトに画像オブジェクトをリンクさせると判定し、処理は、図７８のステップＳ８７６に進む。
【０４５１】
ステップＳ８６８において、メインCPU２５１が、再生(記録)されていたオーディオトラックには、すでに他の画像オブジェクトがリンクされていると判定した場合、ステップＳ８７４に進み、メインCPU２５１は、オーディオトラックにリンクさせる画像オブジェクトを変更するか否か選択を促す案内をディスプレイ２１５に表示させる。
【０４５２】
ユーザより、オーディオトラックにリンクさせる画像オブジェクトを変更するか否かを決定する操作が入力されると、ステップＳ８７５において、メインCPU２５１は、ユーザより入力された操作が、オーディオトラックにリンクさせる画像オブジェクトを変更する操作か否かを判定し、オーディオトラックにリンクさせる画像オブジェクトを変更する操作であった場合、ステップＳ８６９に進み、上述したステップＳ８６９以降の処理が実行される。ステップＳ８７５において、メインCPU２５１が、ユーザより入力された操作は、オーディオトラックにリンクさせる画像オブジェクトを変更しない操作であると判定した場合、図７６および図７７の一連の処理を終了し、バッファ２５６に一時的に記憶させていた画像データを破棄する。
【０４５３】
図７８のステップＳ８７６において、メインCPU６１２は、アルバムオブジェクトにリンクさせる画像オブジェクトを、予め設定された所定の時間内に撮影するように案内をディスプレイ２１５に表示させる。
【０４５４】
ステップＳ８７７において、メインCPU２５１は、シャッタが押下されたか否かを判定し、シャッタが押下されていない場合、ステップＳ８７８に進み、メインCPU２５１は、予め設定された所定の時間が経過したか否かを判定する。その結果、所定時間が経過していないと判定した場合、処理は、ステップＳ８７７に戻り、ステップＳ８７７の処理が繰り返される。ステップＳ８７８において、メインCPU２５１が、所定時間が経過したと判定した場合、処理は、ステップＳ８７２に戻り、ステップＳ８７２以降の処理が実行される。
【０４５５】
ステップＳ８７７において、メインCPU２５１が、シャッタが押下されたと判定した場合、すなわち、リモートコマンダ６１２より画像データを受信した場合、処理はステップＳ８７９に進み、メインCPU２５１は、受信した画像データを、一時的にバッファ２５６に記憶させる。
【０４５６】
ステップＳ８８０において、メインCPU２５１は、記録、または再生していたオーディオトラックが含まれているアルバムオブジェクトには、すでに他の画像オブジェクトがリンクされているか否かを判定し、アルバムオブジェクトに、他の画像オブジェクトがリンクされていなかった場合、ステップＳ８８１に進む。
【０４５７】
ステップＳ８８１において、メインCPU２５１は、記録、または再生していたオーディオトラックが含まれているアルバムオブジェクトのタイトルを取得し、ステップＳ８８２において、バッファ２５６に記憶させていた画像データのファイル名を、ステップＳ８８１で取得したタイトルと同一の名称に設定し、画像オブジェクトを作成し、ステップＳ８８３において、画像オブジェクトを、ステップＳ８７３で画像オブジェクトをリンクさせると判定されたアルバムオブジェクトと同一の階層のディレクトリに記録する。
【０４５８】
ステップＳ８８０において、メインCPU２５１が、記録、または再生していたオーディオトラックが含まれているアルバムオブジェクトには、すでに他の画像オブジェクトがリンクされていると判定した場合、ステップＳ８８４に進み、メインCPU２５１は、アルバムオブジェクトにリンクさせる画像オブジェクトを変更するか否か選択を促す案内をディスプレイ２１５に表示させる。
【０４５９】
ユーザより、アルバムオブジェクトにリンクさせる画像オブジェクトを変更するか否かを決定する操作が入力されると、ステップＳ８８５において、メインCPU２５１は、ユーザより入力された操作が、アルバムオブジェクトにリンクさせる画像オブジェクトを変更する操作か否かを判定し、アルバムオブジェクトにリンクさせる画像オブジェクトを変更する操作であった場合、ステップＳ８８１に進み、上述したステップＳ８８１以降の処理が実行される。ステップＳ８８５において、メインCPU２５１が、ユーザより入力された操作は、アルバムオブジェクトにリンクさせる画像オブジェクトを変更しない操作であると判定した場合、図７６乃至図７８の一連の処理を終了し、バッファ２５６に一時的に記憶させていた画像データを破棄する。
【０４６０】
以上のようにして、画像を登録するようにすることもできる。
【０４６１】
次に、新規フォルダオブジェクトが作成された場合に、新規フォルダオブジェクトに画像オブジェクトのリンクさせる処理について、図７９のフローチャートを参照して説明する。
【０４６２】
ステップＳ９０１において、メインCPU２５１は、ユーザより、新規フォルダオブジェクトの作成が指示されたか否かを判定し、ユーザより、新規フォルダオブジェクトの作成が指示されたと判定した場合、ステップＳ９０２に進み、メインCPU２５１は、新規フォルダオブジェクトを作成する処理を実行する。なお、この際に、新規フォルダオブジェクトのファイル名が、ユーザにより入力される。ステップＳ９０３において、メインCPU２５１は、ディスプレイ２１５に、新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かの選択を促す案内を表示させる。
【０４６３】
ユーザにより、新規フォルダオブジェクトに画像オブジェクトをリンクさせるか否かを決定する操作が入力されると、ステップＳ９０４において、メインCPU２５１は、ユーザからの指示は、新規フォルダオブジェクトに画像オブジェクトをリンクさせる指示か否かを判定し、ユーザからの指示は、新規フォルダオブジェクトに画像オブジェクトをリンクさせる指示ではない場合、処理を終了する。ステップＳ９０４において、メインCPU２５１が、ユーザからの指示は、新規フォルダオブジェクトに画像オブジェクトをリンクさせる指示であると判定した場合、処理はステップＳ９０５に進む。
【０４６４】
ステップＳ９０５において、メインCPU２５１は、新規フォルダオブジェクトにリンクさせる画像オブジェクトを、予め設定された所定の時間内に撮影するように案内をディスプレイ２１５に表示させる。
【０４６５】
ステップＳ９０６において、メインCPU２５１は、シャッタが押下されたか否かを判定し、シャッタが押下されていない場合、ステップＳ９０７に進み、メインCPU２５１は、予め設定された所定の時間が経過したか否かを判定する。その結果、所定時間が経過していないと判定した場合、処理は、ステップＳ９０６に戻り、ステップＳ９０６の処理が繰り返される。ステップＳ９０７において、メインCPU２５１が、所定時間が経過したと判定した場合、図７９の一連の処理を終了する。
【０４６６】
ステップＳ９０６において、メインCPU２５１が、シャッタが押下されたと判定した場合、すなわち、リモートコマンダ６１２より画像データを受信した場合、処理はステップＳ９０８に進み、メインCPU２５１は、受信した画像データを、一時的にバッファ２５６に記憶させる。
【０４６７】
ステップＳ９０９において、メインCPU２５１は、ステップＳ９０２で作成された新規フォルダオブジェクトのタイトルを取得し、ステップＳ９１０において、ステップＳ９０８でバッファ２５６に記憶させていた画像データのファイル名を、ステップＳ９０９で取得した新規フォルダオブジェクトのタイトルと同一の名称に設定し、画像オブジェクトを作成し、ステップＳ９１１において、画像オブジェクトを、ステップＳ９０２で作成された新規フォルダオブジェクトと同一の階層のディレクトリに記録する。
【０４６８】
以上のようにして、新規フォルダオブジェクトが作成されるタイミングで、画像オブジェクトをリンクさせるようにすることもできる。
【０４６９】
以上のようにして、登録された画像オブジェクトは、オーディオサーバ２０１と同様にして、ディスプレイ２１５に表示させ、ユーザに選択させることにより、再生させるオーディオトラックを決定することができる。
【０４７０】
また、ポータブルオーディオサーバ６０１においては、データをディレクトリ構造ではなく、図８０に示されるようなテーブルとして管理することも可能である。
【０４７１】
すなわち、図８０においては、画像オブジェクト、アーティスト名、および記録終了時刻が、オーディオトラック毎に記録されている。このように記録されたオーディオトラックを再生する場合、ポータブルオーディオサーバ６０１のディスプレイ２１５には、まず図８１に示されるように、画像オブジェクト、アーティスト名、および記録終了時刻が表示される。なお、所定の操作が入力されることにより、この表示は、スクロールされ、これ以外に記録されたオーディオトラックのデータも表示される。また、図８２に示されるように、画像オブジェクトのみを一覧表示することも可能である。図８２において示されている画像オブジェクトの内、ユーザにより選択された画像オブジェクトに対応するオーディオトラックが再生される。
【０４７２】
ところで、上述した一連の処理は、オーディオサーバ２０１、またはポータブルオーディオサーバ６０１のような専用機器によって実行させることもできるが、汎用のパーソナルコンピュータなどに、図２４に示したようなファームウェアをインストールして実行させることによっても実現することができる。
【０４７３】
このファームウェアは、汎用のコンピュータとは別に、ユーザにプログラムを提供するために配布される、ファームウェアが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、ファームウェアが記録されているROMやハードディスクなどで構成される。
【０４７４】
なお、本明細書において、プログラム（ファームウェア）を記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０４７５】
【発明の効果】
以上のごとく、本発明によれば、オーディオトラックを、アルバム、アーティスト、その他、ユーザが所望する分類に従って、記録、管理することが可能となる。
【０４７６】
また、本発明によれば、オーディオトラック、およびアルバム、アーティストなどを識別するための画像を登録することができる。また、本発明によれば、オーディオトラック、アルバム、およびアーティストなどの項目を、表示された画像により識別して、迅速に検索することが可能となる。
【０４７７】
さらに、本発明によれば、ユーザが撮影した所望の画像を、オーディオトラック、アルバム、アーティスト、その他のフォルダにリンクさせることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である光ディスク記録再生装置のハードウェア的な構成例を示すブロック図である。
【図２】光ディスク記録再生装置の記録処理を説明するフローチャートである。
【図３】光ディスクに記録されるオーディオトラックのリストを示す図である。
【図４】光ディスクに記録されるオーディオトラックに対応する画像データのファイル名を示す図である。
【図５】  CD-EXTRAディスクと比較するための通常の光ディスクを示す図である。
【図６】  CD-EXTRAディスクの構造を示す図である。
【図７】  CD-EXTRAディスクへの画像データの記録を説明するための図である。
【図８】光ディスク記録再生装置の記録処理の、他の例を説明するフローチャートである。
【図９】光ディスクに記録されるオーディオデータのリストの例を示す図である。
【図１０】光ディスクに記録されるオーディオデータのフォルダへの分類を説明する図である。
【図１１】光ディスクに記録されるフォルダに対応する画像データのファイル名を説明する図である。
【図１２】光ディスクに記録されるオーディオデータ、および画像データのファイル管理を説明する図である。
【図１３】  MP3フォーマットのトラックの光ディスクへの記録位置を説明する図である。
【図１４】光ディスク記録再生装置の再生処理を説明するフローチャートである。
【図１５】光ディスク記録再生装置のディスプレイへの表示例を示す図である。
【図１６】光ディスク記録再生装置のディスプレイへの他の表示例を示す図である。
【図１７】光ディスク記録再生装置のディスプレイへの、さらに他の表示例を示す図である。
【図１８】本発明の一実施の形態であるオーディオサーバの概要を説明するための図である。
【図１９】オーディオサーバの外観図である。
【図２０】オーディオサーバの上面図である。
【図２１】オーディオサーバの背面図である。
【図２２】オーディオサーバの正面図である。
【図２３】オーディオサーバのハードウェア的な構成例を示すブロック図である。
【図２４】オーディオサーバが実行するファームウェアを示す図である。
【図２５】  HDDに適用されるFAT型ファイルシステム（データフォーマット）を説明するための図である。
【図２６】ファイル記録領域の論理構造を示す図である。
【図２７】  FATの構成を示す図である。
【図２８】  FATの一例を示す図である。
【図２９】ファイル記録領域の記録の一例を示す図である。
【図３０】サイズ記録領域の構成を示す図である。
【図３１】ファイル作成処理を説明するフローチャートである。
【図３２】空きクラスタ取得処理を説明するフローチャートである。
【図３３】  FATエントリ読み取り処理を説明するフローチャートである。
【図３４】連結処理を説明するフローチャートである。
【図３５】ファイルＸの読み出し処理を説明するフローチャートである。
【図３６】ファイルＸの検索処理を説明するフローチャートである。
【図３７】ファイルＸの逆読み出し処理を説明するフローチャートである。
【図３８】オブジェクト記録領域の論理構造を示す図である。
【図３９】オブジェクト型記録領域の構成を示す図である。
【図４０】領域情報記録領域を説明するための図である。
【図４１】オブジェクト管理部の構成を示す図である。
【図４２】セッション管理情報の構成を示す図である。
【図４３】２種類の基本オブジェクト型を示す図である。
【図４４】オブジェクト識別子の構成を示す図である。
【図４５】オブジェクト作成処理を説明するフローチャートである。
【図４６】セッション開設処理を説明するフローチャートである。
【図４７】空きエントリ確保処理を説明するフローチャートである。
【図４８】ライトセッション確定処理を説明するフローチャートである。
【図４９】セッション破棄処理を説明するフローチャートである。
【図５０】オブジェクト検索処理を説明するフローチャートである。
【図５１】エントリ取得処理を説明するフローチャートである。
【図５２】オブジェクト更新処理を説明するフローチャートである。
【図５３】ストリームオブジェクト作成処理を説明するフローチャートである。
【図５４】ストリームオブジェクト検索処理を説明するフローチャートである。
【図５５】オブジェクトのディレクトリ構造の例を示す図である。
【図５６】オブジェクトのディレクトリ構造の別の例を示す図である。
【図５７】オブジェクトのディレクトリ構造のさらに別の例を示す図である。
【図５８】ＣＤリッピングが実行される際のデータの流れを示す図である。
【図５９】ＣＤレコーディングが実行される際のデータの流れを示す図である。
【図６０】ＨＤプレイが実行される際のデータの流れを示す図である。
【図６１】ＣＤプレイが実行される際のデータの流れを示す図である。
【図６２】ＣＤリッピングを説明するための図である。
【図６３】ＣＤレコーディングを説明するための図である。
【図６４】オーディオサーバの画像登録処理を説明するフローチャートである。
【図６５】オーディオサーバの画像自動登録処理を説明するフローチャートである。
【図６６】オーディオサーバの再生中の画像登録処理を説明するフローチャートである。
【図６７】オーディオサーバの新規フォルダへの画像登録処理を説明するフローチャートである。
【図６８】画像オブジェクトの階層構造の例を示す図である。
【図６９】オーディオサーバの再生処理を説明するフローチャートである。
【図７０】ポータブルオーディオサーバの外観を示す図である。
【図７１】ポータブルオーディオサーバのハードウェア的な構成例を示すブロック図である。
【図７２】リモートコマンダのハードウェア的な構成例を示すブロック図である。
【図７３】ポータブルオーディオサーバのオーディオトラック記録処理を説明するフローチャートである。
【図７４】ポータブルオーディオサーバの画像登録処理を説明するフローチャートである。
【図７５】ポータブルオーディオサーバの画像登録処理を説明する、図７４に続くフローチャートである。
【図７６】ポータブルオーディオサーバの画像登録処理の他の例を説明するフローチャートである。
【図７７】ポータブルオーディオサーバの画像登録処理の他の例を説明する、図７６に続くフローチャートである。
【図７８】ポータブルオーディオサーバの画像登録処理の他の例を説明する、図７７に続くフローチャートである。
【図７９】ポータブルオーディオサーバの新規フォルダへの画像登録処理を説明するフローチャートである。
【図８０】  HDDに記憶されるデータの例を示す図である。
【図８１】ポータブルオーディオサーバのディスプレイの表示例を示す図である。
【図８２】ポータブルオーディオサーバのディスプレイの、他の表示例を示す図である。
【符号の説明】
１１  CPU，  １２  ROM，  １３  RAM，  １４  バス，  １５  入出力インターフェース，  １６  操作入力部，  １７  音声出力制御部，  １８  スピーカ，  １９  ディスプレイ  ２０  記憶部，  ２１  通信部，  ２２  CD-R/RWドライブ，  ２３  光ディスク，  ２４  ドライブ，  ２５  磁気ディスク，  ２６  光ディスク，  ２７  光磁気ディスク，  ２８  半導体メモリ
【図１】
0003856217.tif 000002
【図２】
0003856217.tif 000003
【図３】
0003856217.tif 000004
【図４】
0003856217.tif 000005
【図５】
0003856217.tif 000006
【図６】
0003856217.tif 000007
【図７】
0003856217.tif 000008
【図８】
0003856217.tif 000009
【図９】
0003856217.tif 000010
【図１０】
0003856217.tif 000011
【図１１】
0003856217.tif 000012
【図１２】
0003856217.tif 000013
【図１３】
0003856217.tif 000014
【図１４】
0003856217.tif 000015
【図１５】
0003856217.tif 000016
【図１６】
0003856217.tif 000017
【図１７】
0003856217.tif 000018
【図１８】
0003856217.tif 000019
【図１９】
0003856217.tif 000020
【図２０】
0003856217.tif 000021
【図２１】
0003856217.tif 000022
【図２２】
0003856217.tif 000023
【図２３】
0003856217.tif 000024
【図２４】
0003856217.tif 000025
【図２５】
0003856217.tif 000026
【図２６】
0003856217.tif 000027
【図２７】
0003856217.tif 000028
【図２８】
0003856217.tif 000029
【図２９】
0003856217.tif 000030
【図３０】
0003856217.tif 000031
【図３１】
0003856217.tif 000032
【図３２】
0003856217.tif 000033
【図３３】
0003856217.tif 000034
【図３４】
0003856217.tif 000035
【図３５】
0003856217.tif 000036
【図３６】
0003856217.tif 000037
【図３７】
0003856217.tif 000038
【図３８】
0003856217.tif 000039
【図３９】
0003856217.tif 000040
【図４０】
0003856217.tif 000041
【図４１】
0003856217.tif 000042
【図４２】
0003856217.tif 000043
【図４３】
0003856217.tif 000044
【図４４】
0003856217.tif 000045
【図４５】
0003856217.tif 000046
【図４６】
0003856217.tif 000047
【図４７】
0003856217.tif 000048
【図４８】
0003856217.tif 000049
【図４９】
0003856217.tif 000050
【図５０】
0003856217.tif 000051
【図５１】
0003856217.tif 000052
【図５２】
0003856217.tif 000053
【図５３】
0003856217.tif 000054
【図５４】
0003856217.tif 000055
【図５５】
0003856217.tif 000056
【図５６】
0003856217.tif 000057
【図５７】
0003856217.tif 000058
【図５８】
0003856217.tif 000059
【図５９】
0003856217.tif 000060
【図６０】
0003856217.tif 000061
【図６１】
0003856217.tif 000062
【図６２】
0003856217.tif 000063
【図６３】
0003856217.tif 000064
【図６４】
0003856217.tif 000065
【図６５】
0003856217.tif 000066
【図６６】
0003856217.tif 000067
【図６７】
0003856217.tif 000068
【図６８】
0003856217.tif 000069
【図６９】
0003856217.tif 000070
【図７０】
0003856217.tif 000071
【図７１】
0003856217.tif 000072
【図７２】
0003856217.tif 000073
【図７３】
0003856217.tif 000074
【図７４】
0003856217.tif 000075
【図７５】
0003856217.tif 000076
【図７６】
0003856217.tif 000077
【図７７】
0003856217.tif 000078
【図７８】
0003856217.tif 000079
【図７９】
0003856217.tif 000080
【図８０】
0003856217.tif 000081
【図８１】
0003856217.tif 000082
【図８２】
0003856217.tif 000083