JP4586317B2 - Recording / reproducing apparatus and method, recording medium, and program - Google Patents

Recording / reproducing apparatus and method, recording medium, and program Download PDF

Info

Publication number
JP4586317B2
JP4586317B2 JP2001252911A JP2001252911A JP4586317B2 JP 4586317 B2 JP4586317 B2 JP 4586317B2 JP 2001252911 A JP2001252911 A JP 2001252911A JP 2001252911 A JP2001252911 A JP 2001252911A JP 4586317 B2 JP4586317 B2 JP 4586317B2
Authority
JP
Japan
Prior art keywords
recording
data
hash value
identifier
recorded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001252911A
Other languages
Japanese (ja)
Other versions
JP2003059180A (en
Inventor
健 岩津
啓 井上
正博 登
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001252911A priority Critical patent/JP4586317B2/en
Publication of JP2003059180A publication Critical patent/JP2003059180A/en
Application granted granted Critical
Publication of JP4586317B2 publication Critical patent/JP4586317B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、記録再生装置および方法、記録媒体、並びにプログラムに関し、例えば、音楽CDに記録されているPCM(Pulse Code Modulation)データを符号化してハードディスクに蓄積し、蓄積した符号化データを、半導体メモリやポータブルデバイスに供給する場合に用いて好適な記録再生装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
【0003】
音楽CDのPCMデータを圧縮符号化してハードディスクドライブに蓄積しておくことができる記録再生装置が開発されている。
【0004】
【発明が解決しようとする課題】
しかしながら、従来の記録再生装置は、例えば、他の記録再生装置により音楽CDが蓄積されたハードディスクドライブからでも、その音楽CDを読み出し再生することができた。すなわち、ハードディスクに蓄積された音楽CDが、任意の記録再生装置において利用可能となり、音楽CDが不正利用される課題があった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、例えば、ハードディスクに蓄積されたデータの不正利用を防止することができる装置を実現することを目的とする。
【0006】
【課題を解決するための手段】
本発明の一側面の記録再生装置は、データの記録再生処理を制御する記録再生装置であって、前記記録再生装置自身を識別するための置用識別子を記憶する記憶手段と、前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段と、前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得手段と、前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較手段と、前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御手段と、前記記録手段に記録されている前記データのバックアップデータを生成する生成手段と、前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込み手段と、前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録手段と、前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録手段と、前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得手段と、前記第2の取得手段により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込み手段とを備え、前記第1の取得手段は、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込み手段により書き込まれた新たな前記第1のハッシュ値を取得する。
【0007】
記録部は、ハードディスクとすることができる。
【0009】
本発明の一側面の記録再生方法は、データの記録再生処理を制御する記録再生装置の記録再生方法であって、前記記録再生装置自身を識別するための第1の装置用識別子の記憶を制御する記憶制御ステップと、前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得ステップと、前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較ステップと、前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御ステップと、前記記録手段に記録されている前記データのバックアップデータを生成する生成ステップと、前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込みステップと、前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録ステップと、前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録ステップと、前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得ステップと、前記第2の取得ステップの処理により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込みステップとを含み、前記第1の取得ステップは、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込みステップの処理により書き込まれた新たな前記第1のハッシュ値を取得する。
【0010】
本発明の一側面の記録媒体は、データの記録再生処理を制御する記録再生装置を制御するプログラムが記録されている記録媒体であって、前記記録再生装置自身を識別するための第1の装置用識別子の記憶を制御する記憶制御ステップと、前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得ステップと、前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較ステップと、前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御ステップと、前記記録手段に記録されている前記データのバックアップデータを生成する生成ステップと、前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込みステップと、前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録ステップと、前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録ステップと、前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得ステップと、前記第2の取得ステップの処理により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込みステップとを含み、前記第1の取得ステップは、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込みステップの処理により書き込まれた新たな前記第1のハッシュ値を取得する処理をコンピュータに実行させるためのコンピュータ読み取り可能なプログラム記録ている。
【0011】
本発明の一側面のプログラムは、データの記録再生処理を制御する記録再生装置を制御するプログラムであって、前記記録再生装置自身を識別するための第1の装置用識別子の記憶を制御する記憶制御ステップと、前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得ステップと、前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較ステップと、前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御ステップと、前記記録手段に記録されている前記データのバックアップデータを生成する生成ステップと、前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込みステップと、前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録ステップと、前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録ステップと、前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得ステップと、前記第2の取得ステップの処理により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込みステップとを含み、前記第1の取得ステップは、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込みステップの処理により書き込まれた新たな前記第1のハッシュ値を取得する処理をコンピュータに実行させる。
【0012】
本発明の一側面の記録再生装置および方法、並びにプログラムにおいては、前記記録再生装置自身を識別するための置用識別子が記憶され、前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値が取得され、前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値が比較され、前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理が制御され、前記記録手段に記録されている前記データのバックアップデータが生成され、前記第2のハッシュ値が、前記バックアップデータに書き込まれ、前記第2のハッシュ値が書き込まれた前記バックアップデータが、外部の記録部であって、バックアップ用の記録部に出力して記録され、前記バックアップ用の記録部に記録されている前記バックアップデータが、リストア対象の記録手段に入力して記録され、前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値が取得され、取得された前記第2のハッシュ値が、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込まれ、前記リストア対象の記録手段から、前記記録手段用識別子、および書き込まれた新たな前記第1のハッシュ値が取得される。
【0018】
【発明の実施の形態】
本発明の一実施の形態であるオーディオサーバの概要について、図1を参照して説明する。このオーディオサーバ1は、音楽CD3に記録されているPCM(Pulse Code Modulation)データを読み出し、ATRAC(Adaptive Transform Acoustic Coding)3方式によってエンコードし、得られる符号化データをハードディスクドライブ58(図6)に記録し、記録した符号化データを、上層側からフォルダリスト、フォルダ、アルバム、およびトラックなどの階層構造をなすオブジェクトに対応付けて管理する。
【0019】
フォルダリストには、1段下の階層に位置する複数のフォルダを含めることができる。フォルダには、1段下の階層に位置する複数のアルバムを含めることができる。アルバムには、1段下の階層に位置する複数のトラックを含めることができる。階層構造の最下層に位置するトラックは、1曲分の符号化データと1対1に対応する。
【0020】
以下、符号化データをコンテンツデータとも記述する。フォルダリスト、フォルダ、アルバム、およびトラックをオブジェクトとも記述する。ユーザは、オブジェクトを指定して各種のコマンドを指令する。なお、オブジェクトの階層構造の詳細については、図38を参照して後述する。
【0021】
また、オーディオサーバ1は、音楽CD3を再生したり、ハードディスクドライブ(以下、HDDと記述する)58に記録されている符号化データをデコードしたりして、得られる音声信号をスピーカ2から出力する。
【0022】
さらに、オーディオサーバ1は、MSスロット45(図5)に挿入されたマジックゲート(商標)に対応するメモリースティック(商標)(以下、MSと記述する)4や、コネクタ43(図5)に接続されるネットワークウォークマン(商標)などのポータブルデバイス(以下、PDと記述する)5に対して、HDD58に記録されている符号化データを、チェックアウト処理またはムーブアウト処理によって記録するとともに、MS4やPD5に記録されている符号化データを、チェックイン処理、ムーブイン処理、またはインポート処理によってHDD58に記録する。
【0023】
ここで、マジックゲートとは、マジックゲートに対応するMS4に記録するデータの暗号化と、MS4を挿入して使用するオーディオサーバ1の相互認証との2つの技術によりデータの著作権を保護するための技術であり、ディジタルオーディオデータの不正なコピー、再生、改ざんを防止することが可能である。マジックゲートは、SDMI(Secure Digital Music Initiative)規格に準拠している。
【0024】
なお、オーディオサーバ1と、MS4またはPD5との間のチェックアウト処理、チェックイン処理、ムーブアウト処理、ムーブイン処理、およびインポート処理については後述する。
【0025】
符号化データが記録されたMS4は、オーディオサーバ1から取り出され、例えば、パーソナルコンピュータ6に装着されて、記録されている符号化データが読み出されてデコードされる。
【0026】
符号化データが記録されたPD5は、符号化データをデコードし、得られる音声信号をヘッドホンから出力する。
【0027】
リモートコントローラ7は、ユーザからの操作を受け付けて、対応する制御信号をオーディオサーバ1に送信する。
【0028】
次に、オーディオサーバ1の外観について、図2乃至図5を参照して説明する。図2は、オーディオサーバ1の正面上方からの外観図である。図3は、オーディオサーバ1の上面図である。図4は、オーディオサーバ1の背面図である。図5は、正面図である。
【0029】
オーディオサーバ1の上面には、CDを装着するCDトレイ(不図示)の蓋40が設けられており、蓋40には、図3に示すように、パワーボタン11などのボタン類の他、各種の情報を表示するディスプレイ15が配置されている。パワー(POWER)ボタン11は、オーディオサーバ1の電源をオン・オフさせるときに操作される。ファンクション(FUNCTION)ボタン12は、音源として、音楽CD3、HDD58、AUXイン端子31、MS4、およびPD5のうちの1つを選択するときに操作される。
【0030】
プレイモード(PLAY MODE)ボタン13は、再生モードを、再生エリアに含まれる全てのトラックを順次1回ずつ再生するノーマル再生、再生エリアに含まれる全てのトラックを順次再生することを繰り返す全曲リピート、1トラックだけを繰り返し再生する1曲リピート、再生エリアに含まれる全てのトラックのなかからランダムに選択して再生することを繰り返すランダムリピート、または、HDD全体に含まれる全てのトラックのなかからランダムに選択する様子のアニメーションを表示するとともに選択したトラックを再生することを繰り返すスロットマシン再生に切り替えるときに操作される。なお、再生エリアについては、図71を参照して後述する。
【0031】
ディスプレイ(DISPLAY)ボタン14は、ディスプレイ15の表示内容を切り替えるときに操作される。LCD(Liquid Crystal Display)などよりなるディスプレイ15は、動作状況やオーディオデータに関わる情報を表示する。
【0032】
音量(VOLUME)ボタン16は、出力する音量を増減させるときに操作される。カーソルボタン17は、ディスプレイ15に表示されるカーソルを移動させるときに操作される。セレクト(SELECT)ボタン18は、ディスプレイ15のカーソルで示されているオブジェクトなどを選択するときや、検索時の昇順、降順を切り替えるときに操作される。イレーズ(ELASE)ボタン19は、トラックなどのオブジェクトを消去するときに操作される。エンタ(ENTER)ボタン20は、表示されているメニューや、選択されているトラックなどのオブジェクトを決定するときに操作される。メニュー/キャンセル(MENU/CANCEL)ボタン21は、階層的に設けられている各種の操作メニューを表示させるとき、またはキャンセルするときに操作される。エクスチェンジ(EXCHANGE)ボタン22は、MS4、またはPD5に対して、自動的にチェックイン処理およびチェックアウト処理を施すときに操作される。
【0033】
レコード(RECORD)ボタン23は、音楽CD3のオーディオデータを再生しながらHDD58に録音するときに操作される。ハイスピードレコード(HI SPEED RECORD)ボタン24は、音楽CD3のオーディオデータをHDD58に高速録音するときに操作される。なお、この際にも録音されるオーディオデータの音声がスピーカ2などから出力される。停止ボタン25は、実行中の再生や録音を中止するときに操作される。再生/一時停止ボタン26は、再生の開始、再生ポーズ、再生ポーズの解除を指示するときに操作される。頭出しボタン27は、現在のトラックまたは前のトラックの頭出し、あるいは、巻き戻し再生を指示するときに操作される。頭出しボタン28は、次のトラックの頭出し、または早送り再生を指示するときに操作される。
【0034】
なお、図示は省略するが、リモートコントローラ7には、蓋40に配置されているパワーボタン11などのボタン類と同等の機能を有するボタンが配置されている。
【0035】
オーディオサーバ1の背面には、図4に示すように、AUXイン端子31、ラインアウト端子32、サブウーファ端子33、スピーカ(L,R)端子34、リセットボタン35、およびDCイン端子36が配置されている。
【0036】
AUXイン端子31は、オーディオ出力機器(不図示)を接続することができ、接続したオーディオ出力機器からのディジタルオーディオデータ、またはアナログの音声信号を入力することができる。ラインアウト端子32は、増幅機器(不図示)などを接続することができ、接続した増幅機器にアナログ音声信号を出力することができる。サブウーファ端子33は、サブウーファ(不図示)を接続することができ、サブウーファに再生した音声信号の低周波成分を出力することができる。スピーカ(L,R)端子34は、スピーカ2を接続し、接続したスピーカ2に再生した音声信号を出力することができる。リセットボタン35は、オーディオサーバ1をリセットするときに操作される。DCイン端子36には、ACパワーアダプタ(不図示)からのDC電力が供給される。
【0037】
オーディオサーバ1の正面には、図5に示すように、オープンレバー41、受光部42、コネクタ43、アクセスランプ44、MSスロット45、取り出しレバー46、およびヘッドホン端子47が配置されている。オープンレバー41は、蓋40を開けるときにスライドされる。受光部42は、リモートコントローラ7から送信される制御信号を受信する。コネクタ43には、USB(Universal Serial Bus)端子が設けられており、USBケーブルを介して、PD5、外付けHDD、キーボードなどを接続することができる。
【0038】
なお、コネクタ43に、IEEE1394端子を設けるようにし、IEEE1394ケーブルを介してPD5などを接続するようにしてもよい。または、いわゆるBluetooth(商標)、あるいは、IEEE802.11b(いわゆる無線LAN)用の端子を設けて、無線通信によってPD5などを接続するようにしてもよい。
【0039】
アクセスランプ44は、MSスロット45に挿入されているMS4、またはコネクタ43に接続されているPD5などに対してデータの読み書きが実行されている時に点滅する。MSスロット45には、MS4が挿入される。取り出しレバー46は、MSスロット45に挿入されているMS4を取り出すときに操作される。ヘッドホン端子47は、ヘッドホンを接続することができ、接続したヘッドホンに再生した音声信号を出力することができる。
【0040】
次に、オーディオサーバ1のハードウェア的な構成例について、図6を参照して説明する。オーディオサーバ1は、オーディオサーバ1の全体を制御するメインCPU(Central Processing Unit)51を内蔵している。メインCPU51には、バス66を介して、フラッシュROM52、SDRAM53、USBホストコントローラ54、DMAコントローラ55、信号処理部60、イーサネット(R)コントローラ/コネクタ67、およびPCMCIAコントローラ68が接続されている。
【0041】
フラッシュROM52には、電源がオンとされると直ちにメインCPU51によって起動が完了されるRTOS(Real Time Operating System)71(図7)、各種の機能を実現するためにRTOS71上で実行されるファームウェア(Firmware、図7を参照して後述する)の他、オーディオサーバ1の機器ID、暗号キーなどが記憶されている。SDRAM(Synchronous Dynamic Random Access Memory)53は、メインCPU51が各種の処理を実行する際、所定のデータやプログラムを一時的に記憶する。USBホストコントローラ54は、コネクタ43を介して接続されるPD5などとのデータ通信を制御する。
【0042】
DMA(Direct Memory Access)コントローラ55は、バッファ56、CD-ROMドライブ57、HDD58、およびエンコーダ/デコーダ59の間のデータ転送を制御する。SDRAMなどよりなるバッファ56は、DMAコントローラ55が転送を制御するデータを一時的にバッファリングする。CD-ROMドライブ57は、CAV8倍速で音楽CD3に記録されているオーディオデータを読み出す。HDD58は、エンコーダ/デコーダ59が生成した符号化データなどを記憶する。HDD58には、HDD58の機器ID、およびオーディオサーバ1の機器IDとHDD58の機器IDに基づくハッシュ値が書き込まれている。
【0043】
エンコーダ/デコーダ59は、CD-ROMドライブ57が読み出したPCMデータや、AUXイン端子31から入力されたオーディオデータを、132Kbpsモード、105Kbpsモード、または66KbpsモードのATRAC3方式を用い、最大8倍速、平均5倍速でエンコードして符号化データを生成する。また、エンコーダ/デコーダ59は、HDD58が記憶する符号化データをデコードする。さらに、エンコーダ/デコーダ59は、DES(Data Encryption Standard)エンジンを有しており、符号化データを、オーディオサーバ1を構成する所定の部品の機器IDと時刻と似基づいて生成する暗号キーを用いて暗号化する。
【0044】
例えば、HDD58が9ギガバイトの容量を有し、エンコーダ/デコーダ59が105KbpsモードのATRAC3方式でエンコードする場合、HDD58には、約100枚分の音楽CD3(60分/枚)を録音することができる。
【0045】
信号処理部60は、マジックゲートメモリースティックインタフェース(以下、MGMS I/Fと記述する)60−1、ウォータマークスクリーン(以下、WMスクリーンと記述する)60−2、オーディオI/F60−3、およびサンプリングレートコンバータ(以下、SRCと記述する)60−4からなる。
【0046】
MGMS I/F60−1は、MSコネクタ61を介し、MSスロット45に挿入されるMS4に対して相互認証を行い、その結果に基づいてデータの暗号化、および暗号化されたデータの復号を実行する。WMスクリーン60−2は、信号処理部60を通過するオーディオデータに埋め込まれているSDMI規格のウォータマーク(電子すかし、コピーの可否などを示す情報など)を検出する。
【0047】
オーディオI/F60−3は、AUXイン端子31を介してディジタルオーディオデータを取得し、SRC60−4に供給する。また、オーディオインタフェース60−3は、バッファ56などから転送されたディジタルオーディオデータを、内蔵するバッファ251(図62)に適宜バッファリングした後、AD/DA62に出力する。
【0048】
SRC60−4は、オーディオI/F60−3からのディジタルオーディオデータのサンプリングレートを、44.1KHzに変換してエンコーダ/デコーダ59に出力する。
【0049】
なお、図示は省略するが、さらに、信号処理部60は、1倍速で動作するATRAC3方式のエンコーダ/デコーダを内蔵している。
【0050】
MSコネクタ61は、挿入されるMS4とMGMS I/F60−1とのデータ通信を中継する。AD/DA62は、信号処理部60のオーディオI/F60−3から入力されるディジタルオーディオデータをアナログの音声信号に変換して、ラインアウト端子32、スピーカ端子34、またはヘッドホン端子47に出力する。また、AD/DA62は、AUXイン端子31から入力されるアナログの音声信号をディジタル化してエンコーダ/デコーダ59に出力する。
【0051】
イーサネット(R)コントローラ/コネクタ67は、イーサネット(登録商標)を介する他の電子機器とのデータ通信を制御する。PCMCIA(Personal Computer Memory Card International Association)コントローラ68は、PCMCIA規格のICカードインタフェースを装備している.
【0052】
メインCPU51には、ディスプレイドライバ63、およびサブCPU64が接続されている。ディスプレイドライバ63は、ディスプレイ15の表示を制御する。サブCPU64は、特に、電源がオフであるときにおいて、電源部65の制御、本体のリセット制御、内蔵時計のカウント、パワーボタン11などに対する操作の検知、受光部42の制御、AD/DA62の制御などを実行する。電源部65は、DCイン端子36から供給されるDC電圧を所定の電圧に変換し、オーディオサーバ1の全体に供給する。
【0053】
次に、以下に挙げるオーディオサーバ1の機能を実際に行うためにメインCPU51がフラッシュROM52から読み出して実行するファームウェアについて、図7を参照して説明する。なお、オーディオサーバ1の機能は、CDリッピング、CDレコーディング、HDレコーディング(ディジタル入力)、HDレコーディング(アナログ入力)、HDプレイ、CDプレイ、MSプレイ、チェックアウト/チェックイン、インポート、ムーブアウト/ムーブインなどであるが、その詳細とファームウェアとの対応については、図47乃至図56を参照して後述する。
【0054】
ファームウェアは、4つのレイヤ、すなわち、アプリケーションレイヤ(APP)72、アッパーミドルウェアレイヤ(UMW)73、ロワーミドルウェアレイヤ(LMW)74、およびデバイスドライバレイヤ(DD)75をなしている。
【0055】
アプリケーションレイヤ72には、メインアプリケーション(以下、メインAPPと記述する)76、ハードディスクアプリケーション(以下、HD APPと記述する)77、CDアプリケーション(以下、CD APPと記述する)78、メモリースティックアプリケーション(以下、MS APPと記述する)79、ポータブルデバイスアプリケーション(以下、PD APPと記述する)80、および仮名漢字変換アプリケーション(以下、FEP(Front End Processor)と記述する)81の各モジュールが含まれる。
【0056】
アプリケーションレイヤ72の各モジュールは、オーディオサーバ1が実行可能な機能に関わるユーザの操作に対応して、アッパーミドルウェアレイヤ73の対応するモジュールに処理を要求し、処理の状況の表示を制御することによってユーザインタフェースを提供する。
【0057】
メインAPP76は、アプリケーションレイヤ72の各モジュールを統制する。例えば、起動時において、起動画面を作成し、各モジュールを起動する。インプットミドルウェア97から通知されるユーザの操作を受け付けて、対応するモジュールに通知する。各モジュールからの表示データをディスプレイデバイスドライバ105に供給する。各モジュールの切替を実行する。ユーザからの音量変更の操作に対応して、オーディオIOミドルウェア(AIO)94に通知する。ユーザからのセットアップ操作に対応して、各モジュールに設定値を通知する。各モジュールで共通の設定情報(プレイモードなど)を保持する。パワーオフの操作に対応して各モジュールを終了させ、システムコントロールミドルウェア(SYSTEM)98にパワーオフを要求する。
【0058】
HD APP77は、HDD58を駆動させる操作を受け付けて、ハードディスクミドルウェア82に通知し、ハードディスクミドルウェア82の動作状態を取得して表示データを生成する。
【0059】
CD APP78は、CD-ROMドライブ57を駆動させる操作を受け付けて、CDミドルウェア88に通知し、CDミドルウェア88の動作状態を取得して表示データを生成する。
【0060】
MS APP79は、MSスロット45に挿入されたMS4に関わる操作を受け付けて、MSミドルウェア89に通知し、MSミドルウェア89の動作状態を取得して表示データを生成する。
【0061】
PD APP80は、コネクタ43に接続されたPD5に関わる操作を受け付けて、PDミドルウェア90に通知し、PDミドルウェア90の動作状態を取得して表示データを生成する。
【0062】
FEP81は、録音する音楽CD3のタイトルなどを入力する際の仮名漢字変換を実行する。
【0063】
アッパーミドルウェアレイヤ73には、オーディオサーバ1の各機能をモデル化して実装した以下のモジュールから構成される。すなわち、ハードディスクミドルウェア(以下、HD MWと記述する)82、CDミドルウェア(以下、CD MWと記述する)88、MSミドルウェア(以下、MS MWと記述する)89、およびPDミドルウェア(以下、PD MWと記述する)90の各モジュールが含まれる。
【0064】
HD MW82は、HDD58に記憶されている符号化データを管理するHDCC83、CD MW88と連携して音楽CD3のオーディオデータを圧縮し、暗号化してHDD58に記録するCD RIPPING84、オーディオIOミドルウェア94と連携してHDD58に記録されている符号化データを復号し、伸張するHD PLAY85、オーディオIOミドルウェア94と連携してAUXイン端子31から入力されるオーディオデータを圧縮し、暗号化してHDD58に記録するHD REC86、MS MW89またはPD MW90と連携して、MS4またはPD5とのチェックイン、チェックアウトを制御するC IN/C OUT87から構成される。
【0065】
CD MW88は、CDデバイスドライバ102にCD-ROMドライブ57を制御させることによってCDプレーヤとしての機能を実現する。MD MW89は、オーディオIOミドルウェア94、およびMSファイルシステムミドルウェア95と連携してMSプレーヤとしての機能を実現する。PD MW90は、USBホストミドルウェア96およびUSBホストデバイスドライバ104と連携することによってPD5を制御する。
【0066】
ロワーミドルウェアレイヤ74には、アッパーミドルレイヤ73の各モジュールが共用できる機能をモデル化して実装した以下のモジュール、すなわち、ハードディスクオブジェクトデータベースミドルウェア(以下、HD DBと記述する)91、ハードディスクファイルシステムミドルウェア(以下、HD FSと記述する)92、MGRミドルウェア(MGR)93、オーディオIOミドルウェア(AIO)94、メモリースティックファイルシステムミドルウェア(MS FS)95、USBホストミドルウェア(USB)96、インプットハンドルミドルウェア(INPUT)97、およびシステムコントロールミドルウェア(SYSTEM)98が含まれる。ロワーミドルウェアレイヤ74に含まれる各モジュールは、アッパーミドルレイヤ73を構成する各モジュールから呼び出される。
【0067】
デバイスドライバレイヤ(DD)75には、各ハードウェアデバイスをモデル化した以下のモジュール、すなわち、ハードディスクデバイスドライバ99、デコーダ/エンコーダデバイスドライバ100、DMAデバイスドライバ101、CDデバイスドライバ102、信号処理部デバイスドライバ103、USBホストデバイスドライバ104、ディスプレイデバイスドライバ105、オーディオデバイスドライバ106、キーデバイスドライバ107、パワーデバイスドライバ108、およびクロックデバイスドライバ109が含まれる。なお、図7において、破線で囲まれたオーディオデバイスドライバ106乃至クロックデバイスドライバ109は、サブCPU64によって実行される。各モジュールは、主に、ライブラリで構成されており、アッパーミドルウェアレイヤ73またはロワーミドルウェア74に含まれるモジュールから、そのAPI(Application Program Interface)が呼び出される。
【0068】
次に、HDD58に適用されるFAT(File Allocation Table)型ファイルシステム(データフォーマット)について、図8乃至図20を参照して説明する。図8に示すように、HDD58には、符号化データ(コンテンツデータ)をファイルとして記録するためのファイル記録領域121と、ファイル記録領域121に記録されたコンテンツデータが記録された位置を特定するための情報を含むオブジェクトが記録されるオブジェクト記録領域122が設けられる。
【0069】
ファイル管理部123は、ファイルの作成、新規に作成するファイルに対するIDの発行、ファイル記録領域121に対する書き込み、読み出し、削除などのファイルに関わる一切の処理を実行する。ファイル管理部123は、ロワーミドルウェアレイヤ74に含まれるHD FS92に相当する。
【0070】
オブジェクト管理部124は、オブジェクト記録領域122におけるオブジェクトの物理位置を認識し、オブジェクトの書き込み、読み出し、削除などを実行する。オブジェクト管理部124は、ロワーミドルウェアレイヤ74に含まれるHD DB91に相当する。なお、オブジェクトのデータベースによる管理については、図21乃至図37を参照して後述する。
【0071】
図9は、ファイル記録領域121の論理構造を示している。ファイル記録領域121は、ファイル記録領域121における書き込み、読み出しの最小単位である所定の容量のセクタに区画されている。全てのセクタには、シリアルなセクタ番号が付与されている。ファイル記録領域121は、所定の数のセクタによって構成されるFATエリア、システムエリア、複数のクラスタによって構成される。各クラスタには、固定長のクラスタ番号が付与されている。ファイル記録領域121に記録されるファイルは、複数のクラスタが結合されて構成される。
【0072】
複数のクラスタの結合状態は、FAT141(図10)と称されるテーブルに記録されている。FAT141は、ファイル記録領域121のFATエリアに記録されているが、ファイル管理部123が動作する際にはSDRAM53にも転送される。
【0073】
図10は、FAT141の構造を示している。FAT141は、FATヘッダ142と、各クラスタにそれぞれ対応する複数のFATエントリ144から構成される。ヘッダ142には、空きクラスタリスト開始番号記録領域143が含まれている。空きクラスタリスト開始番号記録領域143には、データが記録されていない一連の空きクラスタの先頭のクラスタ番号が記録される。空きクラスタが存在しない場合、空きクラスタリスト開始番号記録領域143には、−1=0xFFFFFFFFが記録される。
【0074】
FATエントリ144には、対応するクラスタに付与されているクラスタ番号と同一のエントリ番号が付与されている。例えば、クラスタ番号1に対応するFATエントリには、エントリ番号1が付与されている。以下、エントリ番号1のFATエントリを、FATエントリE(1)とも記述する。FATエントリ144は、P欄145とN欄146に区分けられている。
【0075】
FATエントリ144のP欄145には、対応するクラスタの前方に連結されるクラスタに付与されているクラスタ番号が記録される。前方に連結されるクラスタが存在しない場合、すなわち、対応するクラスタがファイルの先頭である場合、P欄146には、0xFFFFFFFFが記録される。
【0076】
FATエントリ144のN欄146には、対応するクラスタの後方に連結されるクラスタに付与されているクラスタ番号が記録される。後方に連結されるクラスタが存在しない場合、すなわち、対応するクラスタがファイルの末尾である場合、N欄146には、0xFFFFFFFFが記録される。
【0077】
例えば、ファイル記録領域121に1つのファイルだけが、クラスタ番号1,5,6,8,12が付与されている5つのクラスタに記録されている場合、図11に示すように、エントリ番号1(0x00000001)のFATエントリE(1)のP欄には、前方に連結されるクラスタが存在しないことを示す0xFFFFFFFFが記録され、N欄には、後方に連結されるクラスタに付与されているクラスタ番号5(0xFFFFFFFF)が記録される。
【0078】
エントリ番号5(0x00000005)のFATエントリE(5)のP欄には、前方に連結されるクラスタに付与されているクラスタ番号1(0x00000001)が記録され、N欄には、後方に連結されるクラスタに付与されているクラスタ番号6(0x00000006)が記録される。
【0079】
エントリ番号6,8のFATエントリE(6),E(8)にも、同様に記録がなされる。
【0080】
エントリ番号12(0x0000000C)のFATエントリE(12)のP欄には、前方に連結されるクラスタに付与されているクラスタ番号8(0x00000008)が記録され、N欄には、後方に連結されるクラスタが存在しないことを示す0xFFFFFFFFが記録される。
【0081】
空きクラスタリスト開始番号記録領域143には、いまの場合、クラスタ番号(0x00000002)のクラスタから、クラスタ番号(0x00000014)までの一連のクラスタが空きクラスタであるので、その先頭を示すクラスタ番号(0x00000002)が記録される。
【0082】
図12は、クラスタ番号1,5,6,8,12が付与されている5つのクラスタに1つのファイルが記録される様子を示している。ファイルの先頭のクラスタ(いまの場合、クラスタ1)には、ファイルのサイズの関わる情報を記録するサイズ記録領域151が設けられる。ファイルのデータは、2番目のクラスタ(いまの場合、クラスタ5)以降に記録される。なお、サイズ記録領域151をファイルの最後尾のクラスタ(いまの場合、クラスタ12)に設けるようにしてもよい。
【0083】
図13は、サイズ記録領域151の構成例を示している。サイズ記録領域151には、有効サイズ記録領域152、最終クラスタ番号記録領域153、および占有クラスタ数記録領域154が設けられている。有効サイズ記録領域152には、最後尾のクラスタ(いまの場合、クラスタ12)の有効バイト数が記録される。通常、その値は、1以上であり、クラスタサイズ以下の値が記録される。最終クラスタ番号記録領域153には、最後尾のクラスタ(いまの場合、クラスタ12)のクラスタ番号(いまの場合、0x0000000C)が記録される。占有クラスタ数記録領域154には、ファイルのデータ記録部分を構成するクラスタの数(いまの場合、4)が記録される。
【0084】
次に、FATを利用するファイルの作成処理(すなわち、コンテンツデータの記録処理)、ファイルの読み出し処理、およびファイルの逆読み出し(すなわち、コンテンツデータの逆方向からの読み出し処理)について、図14乃至図20のフローチャートを参照して説明する。なお、これらの処理は、ファイル管理部123、すなわち、ファームウェアのロワーミドルウェアレイヤ74に属するHD FS92によって制御される。
【0085】
始めに、ファイルの作成処理について、図14のフローチャートを参照して説明する。ステップS1において、HD FS92は、HDD58に記録するコンテンツデータを、クラスタサイズ毎にCM-ROMドライブ57などからバッファ56に転送させる(転送されたデータ量をSバイトとする)。ステップS2において、HD FS92は、ファイル記録領域121の空きクラスタを検索して取得(確保)する。
【0086】
この空きクラスタ取得処理について、図15のフローチャートを参照して説明する。ステップS21において、HD FS92は、FATヘッダ141に記録されている空きクラスタリスト開始番号記録領域143に記録されている値Qを読み取る。ステップS22において、HD FS92は、値Qが−1であるか、すなわち、空きクラスタが存在しないか否かを判定する。値Qが−1ではない、すなわち、空きクラスタが存在すると判定された場合、処理はステップS23に進む。ステップS23において、HD FS92は、値Q(空きクラスタのクラスタ番号)に対応するFATエントリE(Q)を読み取る。
【0087】
FATエントリE(Q)を読み出す処理に関連し、任意のクラスタ番号Xに対応するFATエントリE(X)を読み取る処理について、図16のフローチャートを参照して説明する。ステップS41において、HD FS92は、既知のFATエントリ開始アドレスに既知のFATヘッダサイズを加算し、その和に、値Xから1を減算した値(X−1)に、既知のエントリサイズを乗算した積を加算して、アドレスAを算出する。ステップS42において、HD FS92は、アドレスAを先頭として、1エントリサイズ分だけデータを読み出す。以上、任意のクラスタ番号Xに対応するFATエントリE(X)を読み取る処理の説明を終了する。
【0088】
図15に戻り、ステップS24において、HD FS92は、FATエントリE(Q)のN欄の値が−1(0xFFFFFFFF)であるか否かを判定する。FATエントリE(Q)のN欄の値が−1ではないと判定された場合、処理はステップS25に進む。
【0089】
ステップS25において、HD FS92は、変数MにFATエントリE(Q)のN欄の値を代入する。ステップS26において、HD FS92は、クラスタ番号Mに対応するFATエントリE(M)を読み取る。ステップS27において、HD FS92は、FATエントリE(M)のP欄に−1(0xFFFFFFFF)を記録する。
【0090】
ステップS28において、HD FS92は、FATエントリE(Q)のN欄に−1(0xFFFFFFFF)を記録し、FATエントリE(Q)のP欄に−1(0xFFFFFFFF)を記録する。ステップS29において、HD FS92は、クラスタ番号Qの空きクラスタが存在するとして、図14にリターンする。以上、空きクラスタ取得処理の説明を終了する。
【0091】
なお、ステップS24において、FATエントリE(Q)のN欄の値が−1であると判定された場合、ステップS25乃至ステップS27の処理はスキップされる。
【0092】
また、ステップS22において、空きクラスタリスト開始番号記録領域143に記録されている値Qが−1であると判定された場合、処理はステップS30に進む。ステップS30において、HD FS92は、空きクラスタが存在しないとして図14にリターンする。ただし、空きクラスタが存在しない場合、HDD58が一杯であるとして、図14のファイル作成処理は終了される。
【0093】
以下、取得したクラスタ番号Qの空きクラスタを、クラスタ番号Vの空きクラスタと読み替えて説明を継続する。ステップS3において、HD FS92は、変数Xと変数Aに空きクラスタのクラスタ番号Vを代入する。ステップS4において、HD FS92は、占有クラスタ数Tに0を代入する。ステップS5において、HD FS92は、上述したステップS2の処理と同様に、新たに空きクラスタを取得する。取得した空きクラスタのクラスタ番号をVとする。ここで、新たに空きクラスタが取得できない場合、このファイル作成処理は終了される。
【0094】
ステップS6において、HD FS92は、変数Bに値Vを代入する。ステップS7において、HD FS92は、占有クラスタ数Tを1だけインクリメントする。ステップS8において、HD FS92は、クラスタ番号Bをセクタ番号に変換する(例えば、図9に示すようにセクタとクラスタが対応付けられている場合、クラスタ番号2はセクタ番号28乃至35に変換される)。クラスタ番号Bに対応するセクタ番号を判別する)。ステップS9において、HD FS92は、ステップS1でバッファリングしたコンテンツデータを、ファイル記録領域121の変換したセクタ番号に記録させる。
【0095】
バッファリングしたコンテンツデータの記録が終了した後、ステップS10において、HD FS92は、クラスタ番号Aのクラスタ(この時では空きクラスタである)に、クラスタ番号Bのクラスタを連結する。この連結処理について、図17のフローチャートを参照して説明する。
【0096】
図16を参照して上述した処理と同様、HD FS92は、ステップS51において、クラスタ番号Aに対応するFATエントリE(A)を読み取り、ステップS52において、クラスタ番号Bに対応するFATエントリE(B)を読み取る。ステップS53において、HD FS92は、FATエントリE(A)のN欄にクラスタ番号Bを記録し、FATエントリE(B)のP欄にクラスタ番号Aを記録する。なお、ステップS53の処理は、SDRAM53に展開しているFAT141に対して実行する。以上、クラスタ番号Aのクラスタと、クラスタ番号Bのクラスタの連結処理の説明を終了する。
【0097】
図14に戻り、ステップS11において、HD FS92は、ステップS9で記録したコンテンツのデータ量Sがクラスタサイズに等しいか否かを判定する。ステップS9で記録したコンテンツのデータ量Sがクラスタサイズに等しいと判定された場合、記録すべきコンテンツデータの記録が完了していないので、処理はステップS12に進む。
【0098】
ステップS12において、先程記録したコンテンツデータの続きを、クラスタサイズ分だけ、バッファ56に転送させる。ステップS13において、変数Aにクラスタ番号Bを代入する。ステップS14において、HD FS92は、上述したステップS2の処理と同様に、新たに空きクラスタを取得する。取得した空きクラスタのクラスタ番号をVとする。なお、ステップS14で、新たに空きクラスタが取得できなかった場合には、処理はステップS17に進む。ステップS15において、HD FS92は、変数Bに値Vを代入する。ステップS16において、HD FS92は、占有クラスタ数Tを1だけインクリメントする。
【0099】
この後、処理はステップS8に戻り、以降の処理が繰り返される。そして、ステップS11において、ステップS9で記録したコンテンツのデータ量Sがクラスタサイズに等しくないと判定された場合、記録すべきコンテンツデータの記録が完了したので、処理はステップS17に進む。
【0100】
ステップS17において、HD FS92は、ステップS2で取得したクラスタ番号Xの空きクラスタにサイズ記録領域151を設け、その有効サイズ記録領域152に最後尾のクラスタに記録したデータ量Sを記録し、最終クラスタ番号記録領域153に変数Bの値を記録し、占有クラスタ数記録領域154に変数Tの値を記録する。
【0101】
ステップS18において、ステップS10の処理で書き換えたFAT141で、ファイル記録領域121のFATエリアに記録されているFAT141を更新する。以上説明したようにして、新たにファイルが作成される。なお、作成されたファイルには、コンテンツデータが記録された一連のクラスタの先頭のクラスタ番号と同じ値のファイル識別子が発行される。
【0102】
次に、ファイル識別子がXであるファイル(以下、ファイルXと記述する)の読み出し処理について、図18のフローチャートを参照して説明する。ステップS61において、HD FS92は、ファイルXが存在するか否かを判別するための検索処理を実行する。
【0103】
ファイルXの検索処理について、図19のフローチャートを参照して説明する。ステップS81において、HD FS92は、エントリ番号Xに対応するFATエントリE(X)を取得する。ステップS82において、HD FS92は、FATエントリE(X)のP欄の値が−1(0xFFFFFFFF)であるか否かを判定する。FATエントリE(X)のP欄の値が−1であると判定された場合、処理はステップS83に進む。ステップS83において、HD FS92は、エントリ番号X(=クラスタ番号X)のクラスタは、ファイルが記録されている一連のクラスタのうちの先頭のクラスタであるので、ファイルXは存在すると判断して、図18のファイル読み出し処理に戻る。
【0104】
反対に、ステップS82において、FATエントリE(X)のP欄の値が−1ではないと判定された場合、処理はステップS84に進む。ステップS84において、HD FS92は、エントリ番X(=クラスタ番号X)のクラスタは、ファイルが記録されている一連のクラスタのうちの先頭のクラスタではないので、ファイルXは存在しないと判断して、図18のファイル読み出し処理に戻る。以上、ファイルXの検索処理の説明を終了する。
【0105】
以下、ファイル検索処理において、ファイルXが存在すると判断されたとして、説明を継続する。ステップS62において、HD FS92は、FATエントリE(X)のN欄の値が−1(0xFFFFFFFF)であるか否かを判定する。FATエントリE(X)のN欄の値が−1であると判定された場合、ファイルXにはデータが存在しないので、読み出し処理を終了する。
【0106】
ステップS62において、FATエントリE(X)のN欄の値が−1ではない処理はステップS63に進む。ステップS63において、HD FS92は、クラスタ番号X(先頭のクラスタ)をセクタ番号に変換する。ステップS64において、HD FS92は、DMAコントローラ55を制御して、変換したセクタ番号に記録されているサイズ記録領域151を読み出してバッファ56にバッファリングさせる。ステップS64において、HD FS92は、ステップS63でバッファリンクしたサイズ記録領域151の有効サイズ記録領域152に記録されている有効サイズS(ファイルXが記録されている一連のクラスタのうちの最後尾のクラスタに記録されているデータ量)を読み取る。
【0107】
ステップS66において、HD FS92は、変数CにFATエントリE(X)のN欄の値を代入する。ステップS67において、HD FS92は、図16を参照して上述した処理と同様に、クラスタ番号Cに対応する、すなわち、2番目のクラスタに対応するFATエントリE(C)を読み取る。ステップS68において、HD FS92は、クラスタ番号Cをセクタ番号に変換する。ステップS69において、HD FS92は、DMAコントローラ55を制御して、変換したセクタ番号のセクタに記録されている1クラスタ分のコンテンツデータを読み出し、バッファ56にバッファリングさせる。
【0108】
ステップS70において、HD FS92は、FATエントリE(C)のN欄の値が−1(0xFFFFFFFF)であるか否かを判定する。FATエントリE(C)のN欄の値が−1ではないと判定された場合、処理はステップS71に進む。ステップS71において、HD FS92は、DMAコントローラ55を制御して、バッファ56がバッファリングしているデータの全てを、エンコーダ/デコーダ59などに出力させる。ファイルXのコンテンツデータの全てはまだ読み出されていないので、処理はステップS72に進む。ステップS72において、HD FS92は、変数CにFATエントリE(C)のN欄の値を代入する。処理はステップS67に戻り、以降の処理が繰り返される。
【0109】
その後、ステップS70において、FATエントリE(C)のN欄の値が−1であると判定された場合、ファイルXのコンテンツデータが記録されている最後尾のクラスタからの読み出しが完了したので、処理はステップS73に進む。ステップS73において、HD FS92は、DMAコントローラ55を制御して、バッファ56がバッファリングしている、コンテンツデータの最後尾である有効データサイズS分のデータを、エンコーダ/デコーダ59などに出力させる。
【0110】
なお、ステップS61のファイル検索処理において、ファイルXが存在しないと判断された場合、処理はステップS74に進み、エラー判定がなされて、ファイルXのファイル読み出し処理は終了となる。以上、ファイルXの読み出し処理の説明を終了する。
【0111】
次に、ファイルXの逆読み出し処理について、図20のフローチャートを参照して説明する。ここで、逆読み出し処理とは、例えば、再生時間が100秒間であるコンテンツデータを、90秒目から100ミリ秒程度だけ再生した後、80秒目から100ミリ秒程度だけ再生し、次に、70秒目から100ミリ秒程度だけ再生するように、数秒間ごとに遡って再生させる場合に用いることができる処理である。
【0112】
ステップS91において、HD FS92は、ファイルXのファイル識別子(=X、以下、ID(X)と記述する)を、セクタ番号に変換する。ただし、ID(X)は、ファイルXが記録されている一連のクラスタのうち、先頭のクラスタのクラスタ番号と同一である。
【0113】
ステップS92において、クラスタXに対応するFATエントリE(X)を読み取る。ステップS93において、HD FS92は、DMAコントローラ55を制御して、ステップS91で変換したセクタ番号のセクタに記録されているサイズ記録領域151を読み出してバッファ56にバッファリングさせる。ステップS94において、HD FS92は、ステップS93でバッファリンクしたサイズ記録領域151の有効サイズ記録領域152から有効サイズSを、最終クラスタ番号記録領域153から最終クラスタ番号Zを読み取る。
【0114】
ステップS95において、HD FS92は、最終クラスタ番号ZとID(X)が同一であるか否かを判定する。最終クラスタ番号ZとID(X)が同一であると判定された場合、ファイルXにコンテンツデータは存在しないので、逆読み出し処理を終了する。
【0115】
最終クラスタ番号ZとID(X)が同一ではないと判定された場合、処理はステップS96に進む。ステップS96において、HD FS92は、最終クラスタ番号Zをセクタ番号に変換する。ステップS97において、HD FS92は、DMAコントローラ55を制御して、ステップS96で変換したセクタ番号に記録されているコンテンツデータの最後尾の部分を含むデータを読み出し、バッファ56にバッファリングさせる。ステップS98において、HD FS92は、DMAコントローラ55を制御して、バッファ56でバッファリングされているデータのうちのSバイト分、すなわち、コンテンツデータの最後尾の部分だけを、エンコーダ/デコーダ59などに出力させる。
【0116】
ステップS99において、HD FS92は、最終クラスタ番号Zに対応するFATエントリE(Z)を読み取る。ステップS100において、HD FS92は、FATエントリE(Z)のP欄の値がID(X)と同一であるか否かを判定する。FATエントリE(Z)のP欄の値がID(X)と同一であると判定された場合、ファイルXのコンテンツデータは最後尾の1クラスタだけに記録されていたことになるので、逆読み出し処理を終了する。
【0117】
FATエントリE(Z)のP欄の値がID(X)と同一ではないと判定された場合、最後尾側から1クラスタ分だけ遡って読み出すために、処理はステップS101に進む。ステップS101において、HD FS92は、変数CにFATエントリE(Z)のP欄の値を代入する。
【0118】
ステップS102において、HD FS92は、クラスタ番号Cに対応するFATエントリE(C)を読み取る。ステップS103において、HD FS92は、クラスタ番号Cをセクタ番号に変換する。ステップS104において、HD FS92は、DMAコントローラ55を制御して、ステップS103で変換したセクタ番号に記録されているコンテンツデータを読み出し、バッファ56にバッファリングさせる。ステップS105において、HD FS92は、DMAコントローラ55を制御して、バッファ56でバッファリングされている1クラスタ分のコンテンツデータを、エンコーダ/デコーダ59などに出力させる。
【0119】
ステップS106において、HD FS92は、クラスタ番号Cに対応するFATエントリE(C)のP欄の値がID(X)と同一であるか否かを判定する。FATエントリE(C)のP欄の値がID(X)と同一ではないと判定された場合、ファイルXの全てを読み出していないことになるので、1クラスタ分だけ遡って読み出すために、処理はステップS107に進む。ステップS107において、HD FS92は、変数CにFATエントリE(C)のP欄の値を代入する。処理はステップS102に戻り、其れ以降の処理が繰り替えされる。
【0120】
その後、ステップS106において、FATエントリE(C)のP欄の値がID(X)と同一であると判定された場合、ファイルXを先頭まで全て読み出したことになるので、逆読み出し処理を終了する。以上、ファイルXの逆読み出し処理の説明を終了する。
【0121】
以上説明したように、オーディオサーバ1のHD FS92によれば、ファイルを特定するためのファイル識別子として、固定長の値である、そのファイルが記録される領域の先頭クラスタのクラスタ番号を付与するようにしたので、ファイルの記録位置を簡単に特定することができる。よって、ファイル名が固定長ではない場合に較べて、ファイルの検索時間を大幅に減らすことができる。
【0122】
また、ファイル識別子が固定長であることにより、ファイルの検索に要する時間を均一化することができる。
【0123】
また、オーディオサーバ1のHD FS92によれば、記録するファイルのサイズに制限がないので、オーディオデータだけでなく、ビデオデータのようなより大きなサイズのデータをファイルとして記録することができる。
【0124】
また、オーディオサーバ1のHD FS92によれば、1つのファイルを区負数のクラスタに亘って記録する場合、順方向にクラスタを利用するので、記録時や再生時には、シークが一定方向となる。よって、記録時の記録漏れや再生時の音飛びの発生が抑止される。
【0125】
次に、フォルダ、アルバム、またはトラックに対応するオブジェクトについて、図21乃至図27を参照して説明する。図21は、オブジェクトが記録されるオブジェクト記録領域122の論理構造を示している。オブジェクト記録領域122は、システムエリア161と、所定の容量に区画された複数のチャンクから構成される。オブジェクトは、チャンクに記録される。
【0126】
システムエリア161には、ヘッダ162、オブジェクト型記録領域163、および領域情報記録領域164が設けられている。複数のチャンクには、その先頭から順番に1以降のシリアルな番号が付与されている、以下、例えば、番号1が付与されているチャンクをチャンク1、番号2が付与されているチャンクをチャンク2などと記述する。
【0127】
チャンクは、さらに所定の容量のページに区画されている。チャンクを構成するページには、その先頭から順番に0以降のシリアルな番号が付与されている、以下、例えば、番号0が付与されているページをページ0、番号1が付与されているページをページ0などと記述する。
【0128】
図22は、システムエリア161のオブジェクト型記録領域163の構造を示している。ヘッダ165とT個のエントリから構成される。Tは予め設定されている定数である。ヘッダ165には、エントリ数記録領域166が設けられている。エントリ数記録領域166には、現在登録されているエントリの数(最大値はTである)が記録される。
【0129】
オブジェクト型記録領域163の各エントリには、サイズ記録領域167、基本オブジェクト型番号記録領域168、およびパラメータ記録領域169が設けられている。例えば、エントリtには、オブジェクト型番号tに関する情報が記録される。すなわち、エントリtのサイズ記録領域167には、オブジェクト型番号tのオブジェクトのサイズが記録される。エントリtの基本オブジェクト型番号記録領域168には、オブジェクト型番号tのオブジェクトが属する基本オブジェクト型を示す基本オブジェクト型番号が記録される。エントリtのパラメータ記録領域169には、オブジェクト型番号tのオブジェクトのサイズが可変長である場合のサイズに関する情報が記録される。
【0130】
図23は、システムエリア161の領域情報記録領域164を示している。領域情報記録領域164は、オブジェクト記録領域122のページ総数(チャンクの総数に1チャンクを構成するページ数を乗算した値)のビット列で構成される。ただし、図23は、説明の便宜上、領域情報記録領域164を、(チャンクの総数)列×(1チャンクを構成するページ数)行のマトリクスを用いて示している。例えば、図23において、q列p行の”○”で示すビットは、チャンクqのページpに対応しており、チャンクqのページpが使用中である場合、”○”で示すビットには1が記録される。反対に、チャンクqのページpが使用中ではない場合、”○”で示すビットには0が記録される。
【0131】
図24は、ロワーミドルウェアレイヤ74に含まれるHD DB91に相当するオブジェクト管理部124の構成例を示している。オブジェクト管理部124は、オブジェクト型登録部171、記憶領域管理部172、セッション管理部173、およびキャッシュ管理部174から構成される。
【0132】
オブジェクト型登録部171は、オブジェクト型の登録(オブジェクト型記録領域163への書き込み)を行う。また、オブジェクト型登録部171は、オブジェクト型の問い合わせに対する応答(オブジェクト型記録領域163からの読み出し)を行う。
【0133】
記憶領域管理部172は、領域情報記録領域164の所定のビットの反転させる。また、記憶領域管理部172は、領域情報記録領域164のビットを読み出すことにより、所定のページ数の連続未使用領域を検索する。さらに、記憶領域管理部172は、各オブジェクトに対して識別子を発行する。
【0134】
セッション管理部173は、現在実行中のセッションに対してセッション番号を発行するとともに、セッション管理情報181(図25)を管理する。ここで、セッションとは、データの書き込み、読み出しなどを制御する処理を示す用語である。
【0135】
図25は、セッション管理情報181の構成例を示している。セッション管理情報181は、現在開かれているセッションの数(以下、カレントセッション数と記述する)が格納されるカレントセッション数格納領域182と、各オブジェクトに対応し、そのアクセス権を保有しているセッションの情報が記録されているS個のエントリから構成される。カレントセッション数の最大値と値Sは、予め設定されている。
【0136】
セッション管理情報181のエントリには、オブジェクト識別子格納領域183、リードライトセッション番号格納領域184、リードオンリセッション番号格納領域185乃至188、オブジェクト状態格納領域189、リードキャッシュアドレス格納領域190、ライトキャッシュアドレス格納領域191、およびアクセス時刻格納領域192が設けられている。
【0137】
オブジェクト識別子格納領域183には、対応するオブジェクトのオブジェクト識別子(図27)が格納される。リードライトセッション番号格納領域184には、対応するオブジェクトに対して書き込み権を有するセッションのセッション番号が格納される。リードオンリセッション番号格納領域185乃至188には、対応するオブジェクトに対して読み出し権を有するセッションのセッション番号が格納される。なお、オブジェクトに対して読み出し権を有する複数のセッションが同時に存在してもよく、図25は、4つまでの読み出し権を有すると、1つだけの書き込みおよび読み出し権を有する場合を示している。
【0138】
オブジェクト状態格納領域189には、対応するオブジェクトの状態を示す情報(作成を示す”CREATE”、更新を示す”UPDATE”、または削除を示す”REMOVE”)が格納される。リードキャッシュアドレス格納領域190には、読み出すオブジェクトを一時的に記憶させるリードキャッシュのアドレスが格納される。ライトキャッシュアドレス格納領域191には、書き込むオブジェクトを一時的に記憶させるライトキャッシュのアドレスが格納される。アクセス時刻格納領域192には、対応するオブジェクトに対する最終アクセス時刻が格納される。
【0139】
なお、オブジェクト識別子格納領域183乃至アクセス時刻格納領域192に格納すべき情報が存在しない場合、0を格納する。
【0140】
図26は、チャンクに記録されるオブジェクトの2種類の基本オブジェクト型である基本オブジェクト第1型と基本オブジェクト第2型の構成例を示している。
【0141】
基本オブジェクト第1型は、図26(A)に示すように、自己のオブジェクト識別子が記録されるオブジェクト識別子記録領域201、および任意のデータ(例えば、ユーザが設定するオブジェクトの名前などのデータ)が記録される任意データ記録領域202から構成される。基本オブジェクト第1型には、フォルダリスト、フォルダ、およびアルバムのオブジェクトが含まれる。
【0142】
基本オブジェクト第2型は、図26(B)に示すように、自己のオブジェクト識別子が記録されるオブジェクト識別子記録領域201、任意のデータが記録される任意データ記録領域202、および自己(オブジェクト)に対応するファイルのファイル識別子が記録されるファイル識別子記録領域203から構成される。基本オブジェクト第2型には、トラックのオブジェクトが含まれる。
【0143】
オブジェクト識別子記録領域201に記録されるオブジェクト識別子は、図27に示すように、対応するオブジェクトが格納されている一連のページの先頭を示す、チャンク番号とそのページ番号、型番号から構成される。型番号は、対応するオブジェクトが属する基本オブジェクト型番号(基本オブジェクト第1型、または基本オブジェクト第2型の一方)と、対応するオブジェクトの型が登録されているオブジェクト型記録領域163のエントリ番号から構成される。
【0144】
次に、オブジェクトの作成処理、オブジェクトの検索処理、オブジェクトの更新処理、ストリームオブジェクトの作成処理、およびストリームオブジェクトの検索処理について、図28乃至図37のフローチャートを参照して説明する。ここで、ストリームオブジェクトとは、特に、ファイル記録領域121に記録されたコンテンツデータと1対1に対応するオブジェクト、すなわち、トラックを指す用語である。ストリームオブジェクトは、基本オブジェクト第2型(図26(B))に属する。したがって、ストリームオブジェクトではないオブジェクトは、フォルダまたはアルバムのオブジェクトであり、基本オブジェクト第1型に属する。
【0145】
なお、これらの処理は、オブジェクト管理部124、すなわち、ファームウェアのロワーミドルウェアレイヤ74に属するHD DB91によって制御される。
【0146】
始めに、ストリームオブジェクトではないオブジェクトの作成処理について、オブジェクト型番号tのオブジェクトを作成する場合を例に、図28のフローチャートを参照して説明する。なお、オブジェクト型番号tには、図27に示したように、基本型番号(いまの場合、基本オブジェクト第1型)とエントリ番号が含まれている。
【0147】
ステップS121において、HD DB91は、ライトセッションを開設する。ライトセッションを開設する処理について、図29のフローチャートを参照して説明する。ステップS141において、HD DB91は、セッション管理情報181のカレントセッション数格納領域182に格納されているカレントセッション数を読み出し、読み出したカレントセッション数が予め設定されている最大値よりも小さいか否かを判定する。カレントセッション数が予め設定されている最大値よりも小さいと判定された場合、処理はステップS142に進む。
【0148】
ステップS142において、HD DB91は、セッション管理情報181のカレントセッション数格納領域182に格納されているカレントセッション数を1だけインクリメントする。ステップS143において、HD DB91は、ライトセッションを開設し、例えば、乱数などによってセッション番号Zを発行する。処理は図28に戻る。
【0149】
なお、ステップS141において、カレントセッション数が予め設定されている最大値よりも小さくないと判定された場合、さらにセッションを開設することができないので、処理はステップS144に進み、ステップS144において、HD DB91は、エラーと判断する。セッション開設処理は終了され、図28のオブジェクト作成処理は中断される。
【0150】
図28のステップS122において、HD DB91は、オブジェクト型番号tのオブジェクトを記録するチャンクのページを確保するために、オブジェクト型記録領域163のエントリtのサイズ記録領域167から、オブジェクト型番号tのオブジェクトのサイズを読み出し、そのサイズに相当するチャンクのページ数を算出する。算出したページ数をgとする。
【0151】
ステップS123において、HD DB91は、セッション管理情報181を構成する複数のエントリのうちの空きエントリを確保する。空きエントリを確保する処理について、図30のフローチャートを参照して説明する。
【0152】
ステップS151において、HD DB91は、変数Mを1に初期化する。ステップS152において、HD DB91は、変数Mがセッション管理情報181を構成するエントリの数S以下であるか否かを判定する。変数Mがエントリの数S以下であると判定された場合、処理はステップS153に進む。ステップS153において、HD DB91は、セッション管理情報181を構成するエントリMのオブジェクト識別子格納領域183の値を読み出す。ステップS154において、HD DB91は、読み出したエントリMのオブジェクト識別子格納領域183の値が0であるか否かを判定する。エントリMのオブジェクト識別子格納領域183の値が0であると判定された場合、エントリMは空きエントリであると判断できるので、エントリMを確保して図28に戻る。
【0153】
ステップS154において、エントリMのオブジェクト識別子格納領域183の値が0ではないと判定された場合、処理はステップS155に進む。ステップS155において、HD DB91は、変数Mを1だけインクリメントする。処理はステップS152に戻り、以降の処理が繰り返される。その後、ステップS154において、エントリMのオブジェクト識別子格納領域183の値が0であると判定されることなく、ステップS152において、変数Mがエントリの数S以下ではないと判定された場合、現状では空きエントリが存在しないので、空きエントリを作り出すために、処理はステップS156に進む。
【0154】
ステップS156において、HD DB91は、セッション管理情報181を構成するエントリのうち、リードライトセッション番号格納部184およびリードオンリセッション番号格納部185乃至188の値の値が全て0であるエントリが存在するか否かを判定する。そのようなエントリが存在すると判定された場合、処理はステップS157に進む。ステップS157において、HD DB91は、リードライトセッション番号格納部184およびリードオンリセッション番号格納部185乃至188の値の値が全て0であるエントリのうち、アクセス時刻格納領域192の値が最も小さいエントリ(すなわち、最も古いアクセス時刻のエントリ)を抽出する。
【0155】
ステップS158において、HD DB91は、抽出したエントリのオブジェクト識別子格納領域182乃至アクセス時刻格納領域192の値を0にクリアし、そのエントリを空きエントリMとして確保する。処理は図28に戻る。
【0156】
なお、ステップS156において、セッション管理情報181を構成するエントリのうち、リードライトセッション番号格納部184およびリードオンリセッション番号格納部185乃至188の値の値が全て0であるエントリが存在しないと判定された場合、空きエントリは確保できないので、ステップS159に進む。ステップS159において、HD DB91は、エラーと判断する。空きエントリ確保処理は終了され、図28のオブジェクト作成処理は中断される。
【0157】
図28に戻り、ステップS124において、HD DB91は、領域情報記録領域164のビット列のうち、gビット連続して0が記録されているビット列を検索する。検索したgビット連続して0が記録されているビット列の先頭の位置をq列p行とする。ステップS125において、HD DB91は、確保したエントリMのオブジェクト識別子格納領域183に、図27に示したように、チャンク番号q、ページ番号p、オブジェクト型番号tからなるオブジェクト識別子OID(q,p,t)を格納する。また、HD DB91は、セッション管理情報181のエントリMのリードライトセッション番号格納領域184にセッション番号Zを格納し、さらに、オブジェクト状態格納領域189に作成を示す”CREATE”を記録する。
【0158】
ステップS126において、HD DB91は、オブジェクトのサイズであるページ数gに等しいライトキャッシュ領域dをバッファ56に確保する。ステップS127において、HD DB91は、セッション管理情報181のエントリMのライトキャッシュアドレス格納領域191に、確保したバッファ56におけるライトキャッシュ領域dのアドレスを格納する。
【0159】
ステップS128において、HD DB91は、バッファ56に確保したライトキャッシュ領域dに、図26(A)に示したオブジェクト基本第1型のオブジェクトXの記録を開始するが、その始めとして、ライトキャッシュ領域dのオブジェクト識別子記録領域201に、オブジェクト識別子OID(q,p,t)を記録する。ステップS129において、HD DB91は、作成するオブジェクトの任意のデータ(例えば、作成するオブジェクトの名称など)を、ライトキャッシュ領域dの任意データ記録領域202に記録する。
【0160】
ステップS130において、HD DB91は、ユーザの操作に対応する信号Iの入力を待つ。ステップS131において、HD DB91は、信号Iがcommit、すなわち、セッション作成を確定するものであるか否かを判定する。信号Iがcommitであると判定された場合、処理はステップS132に進み、ライトセッションZが確定される。反対に、信号Iがcommitではないと判定された場合、処理はステップS133に進み、ライトセッションZが破棄される。
【0161】
ステップS132のライトセッションを確定する処理について、図31のフローチャートを参照して説明する。なお、セッションを確定するとは、当該セッションが開設された後に行われたオブジェクトの作成、更新、移動などに、オブジェクト記録領域122の記録を反映し、確定することである。
【0162】
ステップS171において、HD DB91は、変数Mを1に初期化する。ステップS172において、HD DB91は、変数Mがセッション管理情報181を構成するエントリの数S以下であるか否かを判定する。変数Mがエントリの数S以下であると判定された場合、処理はステップS173に進む。ステップS173において、HD DB91は、セッション管理情報181を構成するエントリMのリードライトセッション番号格納領域184の値を読み出し、セッション番号Zと一致するか否かを判定する。エントリMのリードライトセッション番号格納領域184の値とセッション番号Zが一致しないと判定された場合、エントリMのリードライトセッション番号格納領域184の値とセッション番号Zが一致するエントリを検索するために、処理はステップS174に進む。
【0163】
ステップS174において、HD DB91は、変数Mを1だけインクリメントする。処理はステップS172に戻り、以降の処理が繰り返される。ステップS173において、エントリMのリードライトセッション番号格納領域184の値とセッション番号Zが一致すると判定された場合、処理はステップS175に進む。すなわち、リードライトセッション番号格納領域184にセッション番号Zが格納されているエントリだけが抽出されて、ステップS175以降の処理が施される。
【0164】
ステップS175において、HD DB91は、リードライトセッション番号格納領域184にセッション番号Zが格納されているエントリMのオブジェクト識別子格納領域183からオブジェクト識別子を読み出す。ステップS176において、HD DB91は、リードライトセッション番号格納領域184にセッション番号Zが格納されているエントリMのオブジェクト状態格納領域189からオブジェクト状態を示す情報Jを読み出す。ステップS176において、HD DB91は、オブジェクト状態を示す情報Jが”CREATE”,”UPTATE”、または”REMOVE”の何れであるかを判定する。
【0165】
ステップS177において、オブジェクト状態を示す情報Jが”CREATE”であると判定された場合、処理はステップS178に進む。ステップS178において、HD DB91は、バッファ56に確保したライトキャッシュ領域dに記録されているオブジェクトを、オブジェクト記録領域122のチャンクpのページq以降に記録する。ステップS179において、HD DB91は、領域情報記録領域164のq列p行以降のgビットに1を記録する。
【0166】
ステップS180において、HD DB91は、エントリMのライトキャッシュアドレス格納領域191の値を、リードキャッシュアドレス格納領域190にコピーする。このとき、リードキャッシュアドレス格納領域190に0以外の値が格納されていたならば、その値が示すバッファ56の設けられるリードキャッシュ領域を解放する。
【0167】
ステップS181において、HD DB91は、エントリMのリードライトセッション番号格納領域184、およびライトキャッシュアドレス格納領域191に0を格納する。ステップS182において、HD DB91は、エントリMのアクセス時刻格納領域192の値を現在の時刻で更新する。
【0168】
ステップS177において、オブジェクト状態を示す情報Jが”UPDATE”であると判定された場合、処理はステップS183に進む。ステップS183において、HD DB91は、バッファ56に確保したライトキャッシュ領域dに記録されているオブジェクトを、オブジェクト記録領域122のチャンクpのページq以降に記録する。処理はステップS180に進む。
【0169】
ステップS177において、オブジェクト状態を示す情報Jが”REMOVE”であると判定された場合、処理はステップS184に進む。ステップS184において、HD DB91は、領域情報記録領域164のq列p行以降のgビットに0を記録する。ステップS185において、HD DB91は、エントリMがバッファ56に確保しているライトキャッシュとリードキャッシュを解放する。ステップS186において、HD DB91は、エントリMのオブジェクト識別子格納領域183乃至アクセス時刻格納領域192に0を格納する。処理はステップS174に進む。
【0170】
その後、ステップS172において、変数Mがエントリの数S以下ではないと判定されるまで、以降の処理が繰り返される。変数Mがエントリの数S以下ではないと判定された場合、ライトセッションを確定する処理が完了される。
【0171】
図28のステップS133の処理、すなわち、ライトセッションを破棄する処理について、図32のフローチャートを参照して説明する。ステップS191において、HD DB91は、変数Mを1に初期化する。ステップS192において、HD DB91は、変数Mがセッション管理情報181を構成するエントリの数S以下であるか否かを判定する。変数Mがエントリの数S以下であると判定された場合、処理はステップS193に進む。
【0172】
ステップS193において、HD DB91は、セッション管理情報181を構成するエントリMのリードライトセッション番号格納領域184の値を読み出し、セッション番号Zと一致するか否かを判定する。エントリMのリードライトセッション番号格納領域184の値とセッション番号Zが一致しないと判定された場合、エントリMのリードライトセッション番号格納領域184の値とセッション番号Zが一致するエントリを検索するために、処理はステップS194に進む。ステップS194において、HD DB91は、変数Mを1だけインクリメントする。処理はステップS192に戻り、以降の処理が繰り返される。
【0173】
ステップS193において、エントリMのリードライトセッション番号格納領域184の値とセッション番号Zが一致すると判定された場合、処理はステップS195に進む。すなわち、リードライトセッション番号格納領域184にセッション番号Zが格納されているエントリだけが抽出されて、ステップS195以降の処理が施される。
【0174】
ステップS195において、HD DB91は、エントリMがバッファ56に確保しているライトキャッシュ領域を解放する。ステップS196において、HD DB91は、エントリMのオブジェクト状態格納領域189に格納されているオブジェクト状態が“CREATE”であるか否かを判定し、オブジェクト状態が“CREATE”であるはないと判定した場合、ステップS197に進む。
【0175】
ステップS197において、HD DB91は、エントリMのリードライトセッション番号格納領域184、およびライトキャッシュアドレス格納領域191に0を格納する。ステップS198において、HD DB91は、エントリMのアクセス時刻格納領域192の値を現在の時刻で更新する。処理はステップS194に進む。
【0176】
なお、ステップS196において、エントリMのオブジェクト状態格納領域189に格納されているオブジェクト状態が“CREATE”であると判定された場合、処理はステップS199に進む。ステップS199において、HD DB91は、エントリMのリードライトセッション番号格納領域184、およびライトキャッシュアドレス格納領域191以外、すなわち、オブジェクト識別子格納領域183、リードオンリセッション番号格納領域185乃至188、オブジェクト状態格納領域189、リードキャッシュアドレス格納領域190、およびアクセス時刻格納領域192に0を格納する。処理はステップS194に進む。
【0177】
その後、ステップS192において、変数Mがエントリの数S以下ではないと判定されるまで、以降の処理が繰り返される。変数Mがエントリの数S以下ではないと判定された場合、ライトセッションを破棄する処理が完了される。
【0178】
次に、オブジェクトの検索処理について、オブジェクト識別子OID=Xであるオブジェクト(以下、オブジェクトXと記述する)を検索する場合を例として、図33のフローチャートを参照して説明する。なお、セッションは既に開設されているものとする。
【0179】
ステップS201において、HD DB91は、オブジェクトXに対応するエントリMを取得する。オブジェクトXに対応するエントリを取得する処理について、図34のフローチャートを参照して説明する。
【0180】
ステップS211において、HD DB91は、変数Mを1に初期化する。ステップS212において、HD DB91は、変数Mがセッション管理情報181を構成するエントリの数S以下であるか否かを判定する。変数Mがエントリの数S以下であると判定された場合、処理はステップS213に進む。
【0181】
ステップS213において、HD DB91は、セッション管理情報181を構成するエントリMのオブジェクト識別子格納領域183の値を読み出し、オブジェクトXのオブジェクト識別子OID=Xと一致するか否かを判定する。エントリMのオブジェクト識別子格納領域183の値と、オブジェクトXのオブジェクト識別子OID=Xが一致しないと判定された場合、オブジェクト識別子格納領域183の値と、オブジェクトXのオブジェクト識別子OID=Xが一致するエントリを検索するために、処理はステップS214に進む。
【0182】
ステップS214において、HD DB91は、変数Mを1だけインクリメントする。処理はステップS212に戻り、以降の処理が繰り返される。ステップS213において、エントリMのオブジェクト識別子格納領域183の値と、オブジェクトXのオブジェクト識別子OID=Xが一致すると判定された場合、オブジェクトXに対応するエントリMを取得することができたので、この処理が終了され、処理は図33に戻る。
【0183】
なお、ステップS213において、エントリMのオブジェクト識別子格納領域183の値と、オブジェクトXのオブジェクト識別子OID=Xが一致しないと判定される場合が続き、ステップS212において、変数Mがエントリの数S以下ではないと判定された場合、処理はステップS215に進む。ステップS215において、HD DB91は、エラーである、すなわち、オブジェクトXに対応するエントリMを取得することができなかったと判断して、この処理を終了する。処理は図33に戻る。
【0184】
図33に戻り、ステップS201の処理でオブジェクトXに対応するエントリMを取得できた場合、処理はステップS202に進む。ステップS202において、HD DB91は、オブジェクトXに対応するエントリMを取得できたので、オブジェクトXはバッファ56に存在すると判断して、処理を終了する。
【0185】
反対に、ステップS201の処理でオブジェクトXに対応するエントリMを取得できなかった場合、処理はステップS203に進み。ステップS203において、HD DB91は、オブジェクトXのオブジェクト識別子OID=Xを分解して、オブジェクトが記録されているオブジェクト記録領域122のチャンク番号、ページ番号、オブジェクトXの型番号tを取得する。
【0186】
ステップS204において、HD DB91は、オブジェクト型記録領域163から、型番号tに対応するエントリのサイズ記録領域167の値を読み出し、その値に基づいてオブジェクトXを記録するために必要なページ数gを算出する。
【0187】
ステップS205において、HD DB91は、領域情報記憶領域164を参照し、q行p列以降のgビットが1であるか否かを判定する。領域情報記憶領域164のq行p列以降のgビットが1であると判定された場合、処理はステップS206に進む。ステップS206において、HD DB91は、ページ数gに相当するリードキャッシュ領域cをバッファ56に設定する。ステップS207において、HD DB91は、オブジェクト記録領域122のチャンクqのページp以降のページ数gに記録されているデータを、バッファ56のリードキャッシュ領域cにコピーする。
【0188】
ステップS208において、HD DB91は、リードキャッシュ領域cにコピーしたデータのオブジェクト識別子記録領域201に相当する部分に記録されているオブジェクト識別子と、オブジェクト識別子Xが一致するか否かを判定する。一致すると判定された場合、リードキャッシュ領域cにキャッシュされているデータがオブジェクトXであるので、処理はステップS202に進む。
【0189】
ステップS208において、リードキャッシュ領域cにコピーしたデータのオブジェクト識別子記録領域201に相当する部分に記録されているオブジェクト識別子と、オブジェクト識別子Xが一致しないと判定された場合、処理はステップS209に進む。ステップS209において、HD DB91は、オブジェクト記録領域122にもオブジェクトXは存在していないと断定して処理を終了する。
【0190】
次に、オブジェクトXの更新処理について、図35のフローチャートを参照して説明する。ここで、オブジェクトXの更新処理とは、オブジェクトXの任意データを書き換える処理である。
【0191】
ステップS221において、HD DB91は、図29を参照して上述したステップS121の処理と同様に、ライトセッションZを開設する。ステップS222において、HD DB91は、図34を参照して上述したステップS201の処理と同様に、オブジェクトXに対するエントリMを取得する。
【0192】
ステップS222の処理でオブジェクトXに対応するエントリMを取得できた場合、オブジェクトXはバッファ56に設定されているリードキャッシュ領域cにキャッシュされていると判断して、処理はステップS223に進む。ステップS223において、HD DB91は、エントリMのリードライトセッション番号格納領域184の値が0であるか否かを判定する。エントリMのリードライトセッション番号格納領域184の値が0であると判定された場合、処理はステップS224に進む。
【0193】
ステップS224にいて、HD DB91は、エントリMのリードライトセッション番号格納領域184に、ステップS221で開設したライトセッションのセッション番号Zを格納する。ステップS225において、HD DB91は、オブジェクトXのオブジェクト識別子OID=Xを分解して、オブジェクトが記録されているオブジェクト記録領域122のチャンク番号、ページ番号、オブジェクトXの型番号tを取得する。
【0194】
ステップS226において、HD DB91は、オブジェクト型記録領域163から、型番号tに対応するエントリのサイズ記録領域167の値を読み出し、その値に基づいてオブジェクトXを記録するために必要なページ数gを算出する。ステップS227において、HD DB91は、ページ数gに相当するライトキャッシュ領域dをバッファ56に設定する。ステップS228において、HD DB91は、エントリMのライトキャッシュアドレス格納領域191に、ライトキャッシュ領域dのアドレスを格納する。
【0195】
ステップS229において、HD DB91は、バッファ56のリードキャッシュ領域cのデータを、ライトキャッシュ領域dにコピーする。ステップS230において、HD DB91は、オブジェクトXの更新する任意データを、ライトキャッシュ領域dにコピーされたオブジェクトXの任意データ記録領域202に記録する。ステップS231において、HD DB91は、エントリMのオブジェクト状態格納領域189に更新を示す情報”UPDATE”を格納する。
【0196】
ステップS232において、HD DB91は、ユーザの操作に対応する信号Iの入力を待つ。ステップS233において、HD DB91は、信号Iがcommit、すなわち、セッション更新を確定するものであるか否かを判定する。信号Iがcommitであると判定された場合、処理はステップS234に進む。ステップS234において、HD DB91は、図31を参照して上述したステップS132の処理と同様に、ライトセッションZを確定する。反対に、信号Iがcommitではないと判定された場合、処理はステップS235に進む。ステップS235において、HD DB91は、図32を参照して上述したステップS133の処理と同様に、ライトセッションZを破棄する。
【0197】
なお、ステップS223において、エントリMのリードライトセッション番号格納領域184の値が0ではないと判定された場合、オブジェクトXはセッションZ以外の他のセッションによって更新中であると判断できるので、処理はステップS235に進む。
【0198】
また、ステップS222の処理において、オブジェクトXに対応するエントリMを取得できなかった場合、処理はステップS236に進み。ステップS236において、HD DB91は、図30を参照して上述したステップS123の処理と同様に、空きエントリMを確保する。
【0199】
ステップS237において、HD DB91は、オブジェクトXのオブジェクト識別子OID=Xを分解して、オブジェクトが記録されているオブジェクト記録領域122のチャンク番号、ページ番号、オブジェクトXの型番号tを取得する。ステップS238において、HD DB91は、オブジェクト型記録領域163から、型番号tに対応するエントリのサイズ記録領域167の値を読み出し、その値に基づいてオブジェクトXを記録するために必要なページ数gを算出する。ステップS239において、HD DB91は、ページ数gに相当するリードキャッシュ領域cとライトキャッシュ領域dをバッファ56に設定する。
【0200】
ステップS240において、HD DB91は、エントリMのリードキャッシュアドレス格納領域190にリードキャッシュ領域cのアドレスを格納し、エントリMのライトキャッシュアドレス格納領域191にライトキャッシュ領域dのアドレスを格納し、エントリMのオブジェクト識別子格納領域183にオブジェクトXのオブジェクト識別子IOD=Xを格納する。
【0201】
ステップS241において、HD DB91は、オブジェクト記録領域122のチャンクqのページp以降のページ数gまでに記録されているオブジェクトXのデータを、バッファ56のリードキャッシュ領域cにコピーする。処理はステップS229に進む。
【0202】
以上説明したように、ファイルXの更新処理では、リードキャッシュ領域cからライトキャッシュ領域dにファイルXのデータがコピーされ、ライトキャッシュ領域dにキャッシュされているファイルXのデータが書き換えられ、書き換えられた結果が、セッションを確定する処理により、オブジェクト記録領域122に記録される。
【0203】
次に、ファイル記録領域121に記録されるコンテンツデータと1対1に対応するトラックのオブジェクト、すなわち、オブジェクト型番号t’のストリームオブジェクトを作成する処理について、図36のフローチャートを参照して説明する。なお、オブジェクト型番号t’には、図27に示したように、基本型番号(いまの場合、基本オブジェクト第2型)とエントリ番号が含まれている。
【0204】
ステップS251において、HD DB91は、図29のフローチャートを参照して上述したステップS121の処理と同様に、ライトセッションを開設する。ステップS252において、HD DB91は、オブジェクト型番号t’のストリームオブジェクトを記録するチャンクのページを確保するために、オブジェクト型記録領域163のエントリt’のサイズ記録領域167から、オブジェクト型番号t’のオブジェクトのサイズを読み出し、そのサイズに相当するチャンクのページ数を算出する。算出したページ数をgとする。
【0205】
ステップS253において、HD DB91は、図30のフローチャートを参照して上述したステップS123の処理と同様に、セッション管理情報181を構成する複数のエントリのうちの空きエントリMを確保する。ステップS254において、HD DB91は、領域情報記録領域164のビット列のうち、gビット連続して0が記録されているビット列を検索する。検索したgビット連続して0が記録されているビット列の先頭の位置をq列p行とする。ステップS255において、HD DB91は、確保したエントリMのオブジェクト識別子格納領域183に、図27に示したように、チャンク番号q、ページ番号p、オブジェクト型番号t’からなるオブジェクト識別子OID(q,p,t')を格納する。また、HD DB91は、セッション管理情報181のエントリMのリードライトセッション番号格納領域184にセッション番号Zを格納し、さらに、オブジェクト状態格納領域189に作成を示す”CREATE”を記録する。
【0206】
ステップS256において、HD DB91は、ストリームオブジェクトのサイズであるページ数gに等しいライトキャッシュ領域dをバッファ56に確保する。ステップS257において、HD DB91は、セッション管理情報181のエントリMのライトキャッシュアドレス格納領域191に、確保したバッファ56におけるライトキャッシュ領域dのアドレスを格納する。
【0207】
ステップS258において、HD DB91は、バッファ56に確保したライトキャッシュ領域dに、図26(B)に示したオブジェクト基本第2型のストリームオブジェクトXの記録を開始するが、その始めとして、ライトキャッシュ領域dのオブジェクト識別子記録領域201に、オブジェクト識別子OID(q,p,t')を記録する。ステップS259において、HD DB91は、ストリームオブジェクトに対応する、HD FS92によって作成されるコンテンツデータのファイル識別子F(このコンテンツデータが記録された一連のクラスタの先頭のクラスタ番号と同じ値)を取得する。ステップS260において、HD DB91は、ライトキャッシュ領域dのファイル識別子記録領域103にファイル識別子Fを記録する。
【0208】
ステップS261において、HD DB91は、作成するストリームオブジェクトの任意データ(例えば、作成するストリームオブジェクトの名称など)の取得を開始する。ステップS262において、HD DB91は、任意データの取得が完了するまで待機する。なお、ステップS261およびS262の処理の間に、HD FS92により、当該ストリームオブジェクトに対応するファイル識別子Fのコンテンツデータのファイルが作成されてファイル記録領域121に記録される。
【0209】
ステップS263において、HD DB91は、ライトキャッシュ領域dの任意データ記録領域202に、取得した任意データを記録する。
【0210】
ステップS264において、HD DB91は、ユーザの操作に対応する信号Iの入力を待つ。ステップS265において、HD DB91は、信号Iがcommit、すなわち、セッション作成を確定するものであるか否かを判定する。信号Iがcommitであると判定された場合、処理はステップS266に進む。ステップS266において、HD DB91は、図31を参照して上述したステップS132に処理と同様に、ライトセッションZを確定する。
【0211】
反対に、ステップS265において、信号Iがcommitではないと判定された場合、処理はステップS267に進む。ステップS267において、HD DB91は、図32を参照して上述したステップS133に処理と同様に、ライトセッションZを破棄する。ステップS268において、HD DB91は、HD FS92にファイルFの削除を依頼する。以上、ストリームオブジェクトの作成処理の説明を終了する。
【0212】
次に、オブジェクト識別子OID=Xであるストリームオブジェクト(以下、ストリームオブジェクトXと記述する)を検索する処理について、図37のフローチャートを参照して説明する。なお、セッションは既に開設されているものとする。
【0213】
ステップS271において、HD DB91は、図33を参照して上述したオブジェクトXの検索処理と同様の処理を実行する。ステップS272において、ステップS271の処理で検索されたオブジェクトXのオブジェクト識別子OID=Xに含まれるオブジェクト型番号を取得する。取得したオブジェクト型番号をtとする。さらに、HD DB91は、オブジェクト型番号tに含まれるオブジェクト基本型番号を取得する。
【0214】
ステップS273において、HD DB91は、検索されたオブジェクトXの基本オブジェクト型番号が、基本オブジェクト第2型であるか否かを判定する。検索されたオブジェクトXの基本オブジェクト型番号が基本オブジェクト第2型であると判定された場合、検索されたオブジェクトXがストリームオブジェクトであるので、処理はステップS274に進む。ステップS274において、HD DB91は、検索されたストリームオブジェクトXのファイル識別子記録領域203からファイル識別子を読み取りHD FS92に供給する。
【0215】
なお、ステップS271において、オブジェクト識別子OID=Xのオブジェクトを検索できなかった場合、処理はステップS275に進む。また、ステップS273において、検索されたオブジェクトXの基本オブジェクト型番号が基本オブジェクト第2型ではないと判定された場合も、処理はステップS275に進む。ステップS275において、HD DB91は、エラー、すなわち、ストリームオブジェクトXは存在しないと判断してストリームオブジェクト検索処理を終了する。
【0216】
次に、図38は、オブジェクト記録領域122に記録されるオブジェクトのディレクトリ構造を示している。オブジェクト記録領域122には、ルート211の下、フォルダリストオブジェクト212、フォルダオブジェクト213、アルバムオブジェクト214、およびトラックオブジェクト215が階層構造をなしている。
【0217】
HD DB91は、フォルダリストオブジェクト212の下に、複数のフォルダオブジェクト213を生成することができる。フォルダオブジェクト213の下には、複数のアルバムオブジェクト214を生成することができる。アルバムオブジェクト214の下には、複数のトラックオブジェクト215を生成することができる。トラックオブジェクト215は、1曲分のコンテンツデータに対応している。
【0218】
フォルダオブジェクト213、アルバムオブジェクト214、およびトラックオブジェクト215は、再生する楽曲を選択する際などにユーザに提示されるオブジェクトである。HD DB91は、ユーザに提示されるオブジェクトではない他の情報のオブジェクト(CC(Content Control)オブジェクト216など)を、ルート211、フォルダリストオブジェクト212、またはフォルダオブジェクト213の下に生成することができる。
【0219】
さらに、HD DB91は、フォルダリストオブジェクト212の下にフォルダオブジェクト213を生成した場合、同じフォルダリストオブジェクト212の下にフォルダオブジェクト213以外の他のオブジェクトを禁止する。また、フォルダオブジェクト213の下にアルバムオブジェクト214を生成した場合、同じフォルダオブジェクト213の下にアルバムオブジェクト214以外のオブジェクトを生成することを禁止する。また、アルバムオブジェクト214の下には、トラックオブジェクト215以外のオブジェクトを生成することを禁止する。
【0220】
各オブジェクトは、上述した規則に従って記録されるので、オブジェクト記録領域122には、フォルダ群217、アルバム群218、およびトラック群219が構築される。
【0221】
次に、各オブジェクトのデータフォーマットについて説明する。
【0222】
図39は、フォルダリストオブジェクト212のデータフォーマットを示している。フォルダリストオブジェクト212は、図26(A)に示した基本オブジェクト第1型に属するので、オブジェクト識別子記録領域201、および任意データ記録領域202から構成される。フォルダリストオブジェクト212のオブジェクト識別子記録領域201には、4バイトのオブジェクト識別子OIDが記録される。
【0223】
フォルダリストオブジェクト212の任意データ記録領域202には、当該フォルダリストオブジェクト212の下に作成可能なフォルダオブジェクト213の最大値MAX(4バイト)、当該フォルダリストオブジェクト212の下に作成されているフォルダオブジェクト213の数N(4バイト)、および、当該フォルダリストオブジェクト212の下に作成されているフォルダオブジェクト213のIDの並びを示す4×100バイトのFolderが記録される。フォルダリストオブジェクト212の任意データ記録領域202には、612バイトのリザーブが設けられている。
【0224】
図40は、フォルダオブジェクト213のデータフォーマットを示している。フォルダオブジェクト213は、図26(A)に示した基本オブジェクト第1型に属するので、オブジェクト識別子記録領域201、および任意データ記録領域202から構成される。フォルダオブジェクト213のオブジェクト識別子記録領域201には、4バイトのオブジェクト識別子OIDが記録される。
【0225】
フォルダオブジェクト213の任意データ記録領域202には、当該フォルダオブジェクト213の下に作成可能なアルバムオブジェクト214の最大値MAX(4バイト)、当該フォルダオブジェクト213の下に作成されているアルバムオブジェクト214の数N(4バイト)、当該フォルダオブジェクト213の下に作成されているアルバムオブジェクト214のIDの並びを示す4×200バイトのAlbum、および当該フォルダオブジェクト213のフォルダ名を示す36バイトのTitleが記録される。フォルダオブジェクト213の任意データ記録領域202には、176バイトのリザーブが設けられている。
【0226】
図41は、アルバムオブジェクト214のデータフォーマットを示している。アルバムオブジェクト214は、図26(A)に示した基本オブジェクト第1型に属するので、オブジェクト識別子記録領域201、および任意データ記録領域202から構成される。アルバムオブジェクト214のオブジェクト識別子記録領域201には、4バイトのオブジェクト識別子OIDが記録される。
【0227】
アルバムオブジェクト214の任意データ記録領域202には、当該アルバムオブジェクト214の下に作成可能なトラックオブジェクト215の最大値MAX(4バイト)、当該アルバムオブジェクト214の下に作成されているトラックオブジェクト215の数N(4バイト)、当該アルバムオブジェクト214の下に作成されているトラックオブジェクト215のIDの並びを示す4×400バイトのTrack、当該アルバムオブジェクト214のタイトル名を示す516バイトのTitle、当該アルバムオブジェクト214のアーティスト名を示す260バイトのArtist、当該アルバムオブジェクト214の生成日時を示す8バイトのCreation Date、および当該アルバムオブジェクト214の元である音楽CD3のメディアキーを示す32バイトのメディアキーが記録される。アルバムオブジェクト214の任意データ記録領域202には、1660バイトのリザーブが設けられている。
【0228】
図42は、トラックオブジェクト215のデータフォーマットを示している。トラックオブジェクト215は、図26(B)に示した基本オブジェクト第2型に属するので、オブジェクト識別子記録領域201、任意データ記録領域202、およびファイル識別子記録領域203から構成される。トラックオブジェクト215のオブジェクト識別子記録領域201には、4バイトのオブジェクト識別子OIDが記録される。トラックオブジェクト215のファイル識別子記録領域203には、1対1に対応するコンテンツデータ(ファイル記録領域121に記録されている)のファイル識別子を示す4バイトのSOIDが記録される。
【0229】
トラックオブジェクト215の任意データ記録領域202には、当該トラックオブジェクト215の曲名を示す516バイトのTitle、当該トラックオブジェクト215のアーティスト名を示す260バイトのArtist、当該アルバムオブジェクト214の再生時間を示す8バイトのTime、当該トラックオブジェクト215に対して最後にアクセスした日時を示す8バイトのLast Access Date、および当該トラックオブジェクト215の再生回数を示す4バイトのプレイカウンタ(PC)、当該トラックオブジェクト215の制作日時を示す8バイトのCreation Date、および当該トラックオブジェクト215に対応するコンテンツデータの曲属性と再生制御情報(著作権保護のための情報)を示す12544バイトのACが記録される。トラックオブジェクト215の任意データ記録領域202には、980バイトのリザーブが設けられている。
【0230】
図43は、トラックオブジェクト215の任意データ記録領域202に記録される1255バイトのACの詳細を示している。ACには、コンテンツキ−を示す8バイトのCkey、コーデック識別値を示す1バイトのCodec、コーデック属性を示す1バイトのCodec Attr、再生制限情報を示す1バイトのLT、正当性チェック用フラグを示す1バイトのVLD、チェックアウト先の個数を示す1バイトのLCMLOGNUM、コーデック依存情報を示す16バイトのCDI、コンテンツシリアル番号を示す20バイトのCID、再生許可開始日時を示す8バイトのPBS、再生許可終了日時を示す8バイトのPBE、拡張CCを示す1バイトのXCC、再生回数の残りを示す1バイトのCT、コンテンツ制御情報を示す1バイトのCC、チェックアウト残り回数を示す1バイトのCN、ソース情報を示す40バイトのSRC、およびチェックアウト先の機器IDとフラグを含む情報を示す48×256バイトのLCMLOGが記録される。
【0231】
特に、コンテンツ制御情報を示す1バイトのCCは、MSB(Most Significant Bit)側からの1ビット目は、著作権の有無を示す(0:有、1:無)。MSB側からの2ビット目は、世代を示す(0:オリジナル、1:オリジナル以外)MSB側からの3,4ビット目は、不使用である。
【0232】
CCのMSB側からの5乃至7ビット目が示す情報は、以下のとおりである。すなわち、CCのMSB側からの5乃至7ビット目に010が記録されている場合、チェックアウト許可(エディットは許可)を示す。CCのMSB側からの5乃至7ビット目に011が記録されている場合、ムーブ許可(PD5でのエディットは禁止)を示す。CCのMSB側からの5乃至7ビット目に100が記録されている場合、インポート許可(PD5でのエディットは許可)を示す。CCのMSB側からの5乃至7ビット目に110が記録されている場合、インポート許可(PD5でのエディットは禁止)を示す。
【0233】
図44は、トラックオブジェクト215と1対1で対応するコンテンツデータのデータフォーマットを示している。コンテンツデータは、ATRAC3ヘッダを示す16キロバイトのAT3H、ATRAC3パーツを示す16キロバイトのPRT、およびサウンドユニット列を示す各16キロバイトのAT3SU-1乃至AT3SU-Nから構成される。
【0234】
図45は、CCオブジェクト216のデータフォーマットを示している。CCオブジェクト216は、図26(B)に示した基本オブジェクト第2型に属する。よって、CCオブジェクト216は、オブジェクト識別子記録領域201、および任意データ記録領域202から構成される。CCオブジェクト216のオブジェクト識別子記録領域201には、4バイトのオブジェクト識別子OIDが記録される。
【0235】
CCオブジェクト216の任意データ記録領域202には、16バイトのリザーブが設けられている。CCオブジェクト216のファイル識別子記録領域203には、対応するCCデータ(ファイル記録領域121に記録される)のファイル識別子を示す4バイトのSOIDが記録される。
【0236】
図46は、ファイル記録領域121に記録されるCCデータのフォーマットを示している。CCデータには、10キロバイトのCat Folder、200キロバイトのCat Album、および600キロバイトのCat Trackが含まれる。Cat Folderは、ユーザが選択するフォルダに対応するフォルダオブジェクト213のオブジェクト識別子OIDを示す情報が記録されている。Cat Albumには、ユーザが選択するアルバムに対応するアルバムオブジェクト214のオブジェクト識別子OIDを示す情報が記録されている。Cat Trackには、ユーザが選択するトラックに対応するトラックオブジェクト215のオブジェクト識別子OIDを示す情報が記録されている。
【0237】
したがって、例えば、再生時に、ユーザが再生させるトラックを選択すると、CCデータのCat Trackに基づいて、選択されたトラックに対応するトラックオブジェクト215のオブジェクト識別子OIDが判明し、判明したトラックオブジェクト215から対応するファイル識別子が取得されて、コンテンツデータが読み出されて再生される。
【0238】
次に、オーディオサーバ1の各機能が実行される際のデータの流れと、ファームウェアとの対応について、図47乃至図56を参照して説明する。
【0239】
図47は、CDリッピングが実行される際のデータの流れを示している。音楽CD3を高速で録音するCDリッピングでは、CD MW88の制御により、音楽CD3のディジタルオーディオデータは、CD-ROMドライブ57によってCAV8倍速で読み出されて、バッファ56にバッファリングされる。また、HD MW82の制御により、バッファ56にバッファリングされたディジタルオーディオデータは、WMスクリーン60−2に入力されてウォータマークが検出される。次に、HD MW82の制御により、バッファ56にバッファリングされていたディジタルオーディオデータは、エンコーダ59によって平均5倍速でATRAC3方式によりエンコードされて暗号化され、得られた符号化データは、バッファ56でバッファリングされた後、HDD58に転送されて記録される。なお、図示は省略したが、CDリッピングの最中には、録音されているディジタルオーディオデータに対応する音声がスピーカ2から出力される。
【0240】
図48は、CDレコーディングが実行される際のデータの流れを示している。音楽CD3を再生しながら録音するCDレコーディングでは、CD MW88の制御により、音楽CD3のディジタルオーディオデータは、CD-ROMドライブ57によってCAV8倍速で読み出されてバッファ56にバッファリングされる。次に、HD MW82の制御により、バッファ56にバッファリングされていたディジタルオーディオデータは、エンコーダ59によって平均5倍速でATRAC3方式によりエンコードされて暗号化され、得られた符号化データは、バッファ56でバッファリングされた後、HDD58に転送されて記録される。また、HD MW82の制御により、バッファ56にバッファリングされたオーディオデータは、WMスクリーン60−2に供給されてウォータマークが検出される。
【0241】
一方、モニタ音声のために、バッファリングされていたディジタルオーディオデータは、HD MW82の制御により、HDD58に設けられるリングバッファ241(図61)に一時的に記録された後、読み出されてオーディオI/F60−3に入力される。次に、AIO MW94の制御により、ディジタルオーディオデータは、D/A62に転送されてアナログ化され、スピーカ2から対応する音声が出力される。
【0242】
なお、CDリッピング、およびCDレコーディングの詳細については、図57乃至図70を参照して後述する。
【0243】
図49は、ディジタル入力に対するHDレコーディングが実行される際のデータの流れを示している。ディジタル入力を符号化してHDD58に記録するHDレコーディングでは、AIO MW94の制御により、AUXイン端子31から入力されるディジタルオーディオデータは、信号処理部60を介してエンコーダ59に供給される。次に、HD MW82の制御により、ディジタルオーディオデータは、エンコーダ59によってATRAC3方式に従ってエンコードされて暗号化され、得られた符号化データは、バッファ56に転送された後、HDD58に転送されて記録される。また、HD MW82の制御により、信号処理部60のWMスクリーン60−2でウォータマークが検出される。さらに、AIO MW94の制御により、信号処理部60のオーディオI/F60−3によってディジタルオーディオデータは、D/A62に転送されてアナログ化され、スピーカ2から出力される。
【0244】
図50は、アナログ入力に対するHDレコーディングが実行される際のデータの流れを示している。アナログ入力を符号化してHDD58に記録するHDレコーディングでは、AIO MW94の制御により、AUXイン端子31から入力されるアナログオーディオデータは、A/D62でディジタル化されてエンコーダ59に供給される。次に、HD MW82の制御により、ディジタルオーディオデータは、エンコーダ59によってATRAC3方式によりエンコードされて暗号化され、得られた符号化データがバッファ56に転送された後、HDD58に転送されて記録される。また、HD MW82の制御により、WMスクリーン60−2によって、A/D62のディジタル出力からウォータマークが検出される。さらに、AIO MW94の制御により、AUXイン端子31から入力されるアナログオーディオデータは、スピーカ2から出力される。
【0245】
図51は、HDプレイが実行される際のデータの流れを示している。HDD58の符号化データを再生するHDプレイでは、HD MW82の制御により、HDD58から読み出された符号化データは、バッファ56にバッファリングされた後、デコーダ59によって復号、デコードされる。得られたディジタルオーディオデータは、バッファ56にバッファリングされた後、オーディオI/F60−3に転送される。次に、AIO MW94の制御により、ディジタルオーディオデータは、オーディオI/F60−3によってD/A62に転送されてアナログ化され、スピーカ2から出力される。
【0246】
図52は、CDプレイが実行される際のデータの流れを示している。音楽CD3を再生するCDプレイでは、CD MW88の制御により、音楽CD3のディジタルオーディオデータは、CD-ROMドライブ57によって読み出され、バッファ56にバッファリングされた後、オーディオI/F60−3に転送される。次に、AIO MW94の制御により、ディジタルオーディオデータは、オーディオI/F60−3によってD/A62に転送され、アナログ化されてスピーカ2から出力される。
【0247】
図53は、MSプレイが実行される際のデータの流れを示している。MS4の符号化データを再生するMSプレイでは、同図(A)に示すように、MS MW89の制御により、MS4の符号化データは、MGMS I/F60−1に供給され、MGMS I/F60−1によって相互認証の後に復号され、信号処理部60が内蔵するデコーダによってデコードされる。次に、AIO MW94の制御により、オーディオI/F60−3によってデコードの結果得られたディジタルオーディオデータは、D/A62に転送され、アナログ化されてスピーカ2から出力される。
【0248】
または、同図(B)に示すように、MS MW89の制御により、MS4から符号化データが読み出されてMGMS I/F60−1に供給され、MGMS I/F60−1が相互認証の後に復号する。複合された符号化データは、バッファ56にバッファリングされ、デコーダ59によってデコードされ、得られたディジタルオーディオデータは、バッファ56を介してD/A62に出力される。次に、AIO MW94の制御により、D/A62でアナログ化されたオーディオデータがスピーカ2から出力される。
【0249】
図54は、MSチェックアウト/ムーブアウトが実行される際のデータの流れを示している。HDD58の符号化データをMS4にコピーするMSチェックアウト、およびHDD58の符号化データをMS4に移動するムーブアウトでは、HD MW82の制御により、HDD58から読み出された符号化データは、バッファ56にバッファリングされる。次に、MS MW89の制御により、バッファリングされている符号化データがMGMS I/F60−1に転送され、MS4に記録される。なお、チェックアウト、およびムーブアウトについては、後ほど詳述する。
【0250】
図55は、MSインポート/ムーブインが実行される際のデータの流れを示している。MS4の符号化データをHDD58に移動するMSインポート/ムーブインでは、MS MW89の制御により、MS4の符号化データがMGMS I/F60−1を介してバッファ56に転送される。次に、HD MW82の制御により、バッファリングされている符号化データがHDD58に転送されて記録される。なお、インポート/ムーブインについては、後ほど詳述する。
【0251】
図56は、PDチェックアウトが実行される際のデータの流れを示している。HDD58の符号化データをPD5にコピーするPDチェックアウトでは、HD MW82の制御により、HDD58から読み出された符号化データは、バッファ56にバッファリングされた後、エンコーダ/デコーダ59によって復号され、再び、PD5用に暗号化されて、バッファ56にバッファリングされる。次に、PD MW90の制御により、バッファリングされている符号化データが、USBホストコントローラ54、およびUSBコネクタ43を介してPD5に記録される。
【0252】
次に、CDリッピング、およびCDレコーディングの詳細について、図57乃至図70を参照して説明する。CDリッピングの処理は、ユーザによってハイスピードレコーディングボタン24が押下された場合に実行される処理である。CDレコーディングの処理は、ユーザによってレコーディングボタン23が押下された場合に実行される処理である。
【0253】
CDリッピングとCDレコーディングの違いについて、図57および図58を参照して説明する。図57(A)は、CDリッピングにおけるモニタ音声出力の期間を示している。図57(B)は、CDリッピングにおける録音の処理(符号化して記録する処理)の期間を示している。図58(A)は、CDレコーディングにおけるモニタ音声出力の期間を示している。図58(B)は、CDレコーディングにおける録音の処理(符号化し、記録する処理)の期間を示している。
【0254】
図57(B)と図58(B)を比較して明らかなように、CDリッピングとCDレコーディングでは、その録音の処理に要する合計時間は同じである。すなわち、音楽CD3のオーディオデータ(PCMデータ)をATRAC3方式によって符号化し、HDD58に記録する処理は、オーディオデータの再生速度に対して平均5倍速で行われる。
【0255】
例えば、再生時間が10分間である曲が6曲記録されていて総再生時間が60分間である音楽CD3を、CDリッピングまたはCDレコーディングによって、録音する場合、1曲当たり約2分間を要して順次録音される。
【0256】
CDリッピングとCDレコーディングとの相違点は、モニタ音声出力の期間である。
【0257】
CDリッピングの場合、モニタ音声出力は、対応するオーディオデータの録音処理が行われている期間だけ、モニタ音声が出力される。上述した音楽CD3の例では、第1曲目の先頭から約2分間の音声が通常の再生速度で出力され、次に、第2曲目の先頭から約2分間の音声が通常の速度で出力され、以降、各曲の先頭から約2分間の音声が通常の速度で出力される。したがって、録音処理の終了と同時に、モニタ音声出力も終了される。
【0258】
CDレコーディングの場合、モニタ音声出力は、対応するオーディオデータの録音処理の進捗状況に関係なく、モニタ音声が出力される。上述した音楽CD3の例では、第1曲目の全ての音声が通常の再生速度で出力され、次に、第2曲目の全ての音声が通常の速度で出力され、以降、各曲の全ての音声が通常の速度で出力される。したがって、録音処理が終了しても、対応するオーディオデータのモニタ音声出力は最後の第6曲目の終わりまで継続される。
【0259】
なお、CDリッピングとCDレコーディングは、その処理の途中において適宜切り替えることが可能である。
【0260】
次に、図59は、CDリッピングまたはCDレコーディングが実行される際のバッファ56の状態を示している。バッファ56には、音楽CD3から読み出された符号化される前のオーディオデータ(PCMデータ)をバッファリングするためのPCMデータ読み込みバッファ231と、エンコーダ/デコーダ59によって符号化されて暗号化された符号化データをバッファリングするための符号化データバッファ232が設けられる。
【0261】
図60は、バッファ56に設けられるPCMデータ読み込みバッファ231、および符号化データバッファ232、並びにオーディオI/F60−3に内蔵されるPCMデータ再生用バッファ251の状態遷移を示している。
【0262】
PCMデータ読み込みバッファ231、符号化データバッファ232、およびPCMデータ再生用バッファ251は、それぞれ、初期の書き込み可能状態、データの書き込みが開始されると遷移する書き込み中状態、データの書き込みが終了すると遷移する読み出し可能状態、データの読み出しが開始されると遷移する読み出し中状態のいずれかの状態にある。なお、読み出し中状態から、データの読み出しが終了すると書き込み可能状態に戻る。
【0263】
次に、図61は、CDリッピングまたはCDレコーディングが実行される際、モニタ音声出力用のPCMデータをバッファリングするためにHDD58に設けられるリングバッファ241の構造を示している。
【0264】
所定の容量(説明の便宜上、アドレス0乃至アドレスmaxとする)を有するリングバッファ241には、読み出し開始アドレスを示す読み出しポインタ242と、書き込み開始アドレスを示す書き込みポインタ243が設定される。リングバッファ241は、読み出しポインタ242が示すアドレスから順方向に書き込みポインタ243が示すアドレスまでの読み出し可能領域244と、書き込みポインタ243が示すアドレスから順方向に読み出しポインタ242が示すアドレスからまでの書き込み可能領域245に区分される。読み出し可能領域244の容量を、読み出しマージンと称する。書き込み可能領域245の容量を、書き込みマージンと称する。
【0265】
図62は、CDリッピングおよびCDレコーディングにおける各バッファ間のデータの流れを示している。音楽CD3のPCMデータは、CD-ROMドライブ57によって読み出されてバッファ56に設けられたPCMデータ読み込みバッファ231にバッファリングされる。PCMデータ読み込みバッファ231にバッファリングされたPCMデータは、エンコーダ/デコーダ59に転送され、符号化されて暗号化される。得られた符号化データは、バッファ56に設けられた符号化データバッファ232にバッファリングされる。符号化データバッファ232にバッファリングされた符号化データは、HDD58に転送されて、ファイル記録領域121に記録される。
【0266】
一方、PCMデータ読み込みバッファ231にバッファリングされたPCMデータは、HDD58に転送され、HDD58に設けられたリングバッファ241にバッファリングされる。リングバッファ241にバッファリングされたPCMデータは、オーディオI/F60−3に内蔵されたPCMデータ再生用バッファ251に転送されてバッファリングされた後、AD/DA62によってアナログ化されてスピーカ2から出力される。
【0267】
次に、CDリッピングおよびCDレコーディングに関する、録音速度設定処理について、図63のフローチャートを参照して説明する。この録音速度設定処理は、音源として音楽CD3が選択されている間、すなわち、CD-ROMドライブ57に音楽CD3が装着され、ファンクションボタン12によってCDが選択されている間、繰り返して実行される。
【0268】
ステップS281において、インプットハンドルミドルウェア97は、各種のボタンに対するユーザからの操作の監視を開始する。ステップS282において、インプットハンドルミドルウェア97は、各種のボタンに対するユーザからの操作があるまで待機し、各種のボタンに対するユーザからの操作があったと判定された場合、その情報をメインAPP76に通知する。メインAPP76は、レコードボタン23に対する操作であるか否かを判定する。レコードボタン23に対する操作であると判定された場合、処理はステップS283に進む。
【0269】
ステップS283において、メインAPP76は、レコードボタン23が操作されたことをHD APP77に通知する。HD APP77は、レコードボタン23が操作されたことを、HD MW82のCD RIPPING84に伝達する。CD RIPPING84は、自己がSDRAM53などに設けるハイスピード録音フラグをオフに設定する。処理はステップS281に戻る。
【0270】
ステップS282において、各種のボタンに対するユーザからの操作があったと判定され、それがレコードボタン23に対する操作ではないと判定された場合、処理はステップS284に進む。ステップS284において、メインAPP76は、ハイスピードレコードボタン24に対する操作であるか否かを判定する。ハイスピードレコードボタン24に対する操作であると判定された場合、処理はステップS285に進む。
【0271】
ステップS285において、メインAPP76は、ハイスピードレコードボタン24が操作されたことをHD APP77に通知する。HD APP77は、ハイスピードレコードボタン24が操作されたことを、HD MW82のCD RIPPING84に伝達する。CD RIPPING84は、ハイスピード録音フラグをオンに設定する。処理はステップS281に戻る。
【0272】
ステップS284において、ハイスピードレコードボタン24に対する操作ではないと判定された場合、処理はステップS281に戻る。
【0273】
以上説明した録音速度設定処理により、ハイスピードレコードボタン24が操作され、ハイスピード録音フラグがオンとされた場合には、図57に示したようなCDリッピングが実行される。反対に、レコードボタン23が操作され、ハイスピード録音フラグがオフとされた場合には、図58に示したようなCDレコーディングが実行される。なお、CDリッピングからCDレコーディングへの切替や、逆にCDレコーディングからCDリッピングへの切替は、ユーザのボタン操作に対応して任意のタイミングで行うことができる。
【0274】
次に、CD録音処理について、図64にフローチャートを参照して説明する。このCD録音処理は、HD MW82に含まれるCD RIPPING84によって制御される処理であり、音楽CD3が装着され、ファンクションボタン12が操作されて、音源がCDに設定された後、レコードボタン23、またはハイスピードボタン24が操作されたときに開始される。
【0275】
ステップS291において、ユーザは、レコードボタン23またはハイスピードボタン24が操作されたことによって録音一時停止状態にある間、音楽CD3の中から録音する曲を選曲する。具体的には、カーソルボタン17を操作して、音楽CD3に記録されている曲のなかから選曲し、エンタボタン20を操作して選曲を確定する。この一連の操作を繰り返すことにより、録音する曲を全て選曲する。なお、特に選曲の操作が行われない場合、音楽CD3に記録されている全ての曲が選曲されたことになる。
【0276】
ユーザは、選曲が完了した段階で、再生/一時停止ボタン26を操作する。処理はステップS292に進む。
【0277】
ステップS292において、CD RIPPING84は、リングバッファ241に設定する読み出しポインタ242が示す読み出し開始アドレスなどの情報からなるリングバッファ情報を初期化する。このリングバッファ情報初期化処理について、図65のフローチャートを参照して説明する。ステップS301において、CD RIPPING84は、読み出しポインタ242が示す読み出し開始アドレス、および書き込みポインタ243が示す書き込み開始アドレスをリングバッファ241のアドレス0に設定する。さらに、リングバッファ241の読み出しマージンを0に設定し、書き込みマージンをその最大値maxに設定する。以上、リングバッファ情報初期化処理の説明を終了する。
【0278】
図64に戻る。ステップS293において、CD RIPPING84は、ステップS291で選曲されたうちの1曲を順次選択して、1曲分の録音処理を実行する。1曲分の録音処理について、図66のフローチャートを参照して説明する。ステップS311において、CD RIPPING84は、CD MW88に依頼することにより、音楽CD3の録音する曲のPCMデータを所定のデータ量(例えば、2秒間分)ずつ、書き込み可能状態にあるPCMデータ読み込みバッファ231にバッファリングさせる。所定のデータ量のPCMデータの書き込み(バッファリング)が終了した場合、PCMデータ読み込みバッファ231の状態は読み出し可能状態に遷移する。
【0279】
ステップS312において、CD RIPPING84は、エンコーダ/デコーダ59に対して、PCMデータ読み込みバッファ231にバッファリングされている所定のデータ量のPCMデータをエンコードさせる(符号化して暗号化させる)。PCMデータ読み込みバッファ231からの所定のデータ量のPCMデータの読み出しが終了した場合、PCMデータ読み込みバッファ231の状態は書き込み可能状態に遷移する。
【0280】
また、CD RIPPING84は、モニタ音声出力処理を開始する。モニタ音声出力処理については、図67を参照して後述する。
【0281】
ステップS313において、CD RIPPING84は、エンコードよって得られた所定のデータ量の符号化データを、バッファ56の書き込み可能状態にある符号化データバッファ232にバッファリングさせる。所定のデータ量(例えば、2秒間分)の符号化データの書き込み(バッファリング)が終了した場合、符号化データバッファ232の状態は読み出し可能状態に遷移する。
【0282】
ステップS314において、CD RIPPING84は、符号化データバッファ232にバッファリングされている所定のデータ量の符号化データを、HDD58のファイル記録領域121に記録させる。なお、所定のデータ量ずつ符号化データをファイル記録領域121に記録させる処理は、図14を参照して上述したファイル作成処理に相当する。また、図28を参照して上述したオブジェクト作成処理も行われる。
【0283】
ステップS315において、CD RIPPING84は、1曲分の符号化データが記録されたか否かを判定する。1曲分の符号化データが記録されていないと判定された場合、処理はステップS311に戻り、以降の処理が繰り返される。その後、ステップS315において、1曲分の符号化データが記録されたと判定された場合、当該1曲分の録音処理は終了される。
【0284】
以上説明したようにして1曲分の録音処理が実行された後、処理は図64のステップS294に戻る。ステップS294において、CD RIPPING84は、ステップS291で選曲された全ての曲が録音されたか否かを判定する。選曲された全ての曲が録音されていないと判定された場合、処理は293に戻り、次の曲に対する1曲分の録音処理が行われる。
【0285】
その後、ステップS294において、選曲された全ての曲が録音されたと判定された場合、このCD録音処理は終了させる。
【0286】
ここで、ステップS312において開始されたモニタ音声出力処理について、図67のフローチャートを参照して説明する。ステップS321において、CD RIPPING84は、ハイスピード録音フラグがオンであるか否かを判定する。ハイスピード録音フラグがオンであると判定された場合、処理は322に進む。
【0287】
ステップS322において、CD RIPPING84は、対応するPCMデータに対する1曲分の録音処理が終了しているか否かを判定する。対応するPCMデータに対する1曲分の録音処理が終了していないと判定された場合、1曲分の録音処理が実行中のPCMデータのモニタ音声を出力するために、処理はステップS323に進む。
【0288】
ステップS323において、CD RIPPING84は、リンクバッファ241に対するPCMデータ読み込みバッファ231にバッファリングされているPCMデータの書き込み処理を開始する。ステップS323の処理の終了を待つことなく、ステップS324において、CD RIPPING84は、リンクバッファ241に記録されたPCMデータの読み出し処理を開始する。
【0289】
ステップS323におけるリングバッファ241に対する書き込み処理について、図68のフローチャートを参照して説明する。
【0290】
ステップS331において、CD RIPPING84は、ハイスピード録音フラグがオンであるか否かを判定する。ハイスピード録音フラグがオンであると判定された場合、処理は332に進む。ステップS332において、CD RIPPING84は、図65を参照して上述したリングバッファ情報初期化処理を実行する。
【0291】
ステップS333において、CD RIPPING84は、リンクバッファ情報の書き込みポインタ243が示す書き込み開始アドレス以降の書き込み可能領域245に、PCMデータ読み込みバッファ231に記録されているPCMデータの書き込みを開始する。ステップS334において、CD RIPPING84は、ステップS333で書き込んだPCMデータの分だけ、リンクバッファ情報に含まれる書き込みポインタ243が示す書き込み開始アドレスの値を順方向に進め、それに対応して、書き込みマージンおよび読み出しマージンの値を更新する。
【0292】
なお、ステップS331において、ハイスピード録音フラグがオンではないと判定された場合、処理は335に進む。ステップS335において、CD RIPPING84は、リングバッファ情報を参照することにより、PCMデータ読み込みバッファ231に記録されているPCMデータのサイズは、リングバッファ241の書き込みマージン以下であるか否かを判定する。PCMデータ読み込みバッファ231に記録されているPCMデータのサイズが、リングバッファ241の書き込みマージン以下であると判定された場合、処理はステップS333に進む。
【0293】
なお、ステップS335において、PCMデータ読み込みバッファ231に記録されているPCMデータのサイズが、リングバッファ241の書き込みマージン以下ではないと判定された場合、処理はステップS331に戻り、その後、録音速度の設定がユーザによって変更させることにより、ステップS331において、ハイスピード録音フラグがオンであると判定されるか、または、リングバッファ241の書き込みマージンが増加することにより、ステップS335において、PCMデータ読み込みバッファ231に記録されているPCMデータのサイズが、リングバッファ241の書き込みマージン以下ではないと判定されるまで、ステップS331、およびステップS335の処理が繰り返される。以上、リングバッファ241に対する書き込み処理の説明を終了する。
【0294】
ステップS324におけるリングバッファ241からの読み出し処理について、図69のフローチャートを参照して説明する。ステップS341において、CD RIPPING84は、オーディオI/F60−3に内蔵されるPCMデータ再生用バッファ251が書き込み可能状態であるか否かを判定し、PCMデータ再生用バッファが書き込み可能状態であると判定するまで待機する。PCMデータ再生用バッファが書き込み可能状態であると判定された場合、処理はステップS342に進む。
【0295】
ステップS342において、CD RIPPING84は、リングバッファ241の読み出しポインタ242が示す読み出し開始アドレスに従い、リングバッファ241の読み出し可能領域244に記録されているPCMデータを読み出して、PCMデータ再生用バッファ251に書き込ませる。
【0296】
ステップS343において、CD RIPPING84は、ステップS342で読み出したPCMデータの分だけ、リンクバッファ情報に含まれる読み出しポインタ242が示す読み出し開始アドレスの値を順方向に進め、それに対応して、書き込みマージンおよび読み出しマージンの値を更新する。
【0297】
ステップS344において、CD RIPPING84は、PCMデータ再生用バッファ251を読み出し可能状態に遷移させる。以上、リングバッファ241からの読み出し処理の説明を終了する。
【0298】
図67に戻る。ステップS325において、AIO MW94は、PCMデータ再生用バッファ251にバッファリングされているPCMデータを、AD/DA62に出力させる。AD/DA62は、入力されたPCMデータの再生を開始して対応する音声をスピーカ2から出力させる。
【0299】
ステップS326において、CD RIPPING84は、1曲分のPCMデータの再生が終了したか否かを判定する。1曲分のPCMデータの再生が終了していないと判定された場合、処理はステップS321に戻り、以降の処理が繰り返され、ステップS326において、1曲分のPCMデータの再生が終了していないと判定された場合、モニタ音声出力処理は終了される。
【0300】
なお、ステップS322において、対応するPCMデータに対する1曲分の録音処理が終了していると判定された場合、このモニタ音声出力処理は直ちに中止される。以上、CD録音処理の説明を終了する。
【0301】
なお、CD録音処理の過程においては、ユーザのレコーディングボタン23またはハイスピードレコーディングボタン24に対する操作に対応し、任意のタイミングで、CDリッピングからCDレコーディングへ、逆にCDレコーディングからCDリッピングへ切り替えることができる。
【0302】
ここで、CDリッピングが実行されるときのディスプレイ15の表示例を図70に示す。図70(A)は、録音が開始される直前に表示される、録音設定に関する情報の表示例である。このとき、ディスプレイ15には、表示エリア261乃至267が設けられる。この表示例において、表示エリア261には、録音元と録音先を示す情報が表示される。表示エリア262には、録音設定に関する情報が表示されている旨が表示される。表示エリア263には、保存場所を示すフォルダ名が表示される。表示エリア264には、録音するアルバムのアルバム名とアーティスト名が表示される。表示エリア265には、録音時のビットレートが表示される。表示エリア266には、録音時の録音レベルが表示される。
表示エリア267には、再生/一時停止ボタン26を押下すれば録音が開始される旨が表示される。録音時の録音レベルが表示される。
【0303】
図70(B)は、録音が実行されている最中の表示例である。このとき、ディスプレイ15には、表示エリア271乃至278が設けられる。この表示例において、表示エリア271には、録音元と録音先を示す情報が表示される。表示エリア272には、CDリッピング中であることを示す文字「高速録音中」が点滅表示される。表示エリア273には、録音中の曲のアルバム名、およびアーティスト名が表示される。表示エリア274には、録音中の曲の音楽CD3における曲番号が表示される。表示エリア275には、録音中の曲の再生経過時間が表示される。表示エリア276には、音楽CD3の再生残り時間が表示される。表示エリア277には、録音する総曲数に対する録音の進捗状況に比例して長さが変化するプログレスバー279が表示される。表示エリア278には、録音する曲の総数と、録音済または録音中の曲の数を示している。
【0304】
例えば、再生時間が60分間であるアルバムの全曲をCDリッピングしている場合、録音は約5倍速で行われるので、表示エリア277に表示されるプログレスバー279の長さは、録音の開始時から徐々に長くなり、約12分間で表示エリア277の全体を占める長さとなる。
【0305】
なお、表示エリア277のプログレスバー279の長さを、録音の進捗状況に合わせるのではなく、曲の再生経過時間に比例させて伸長させるようにしてもよい。
【0306】
次に、HDD58に記録したコンテンツデータを再生する方法について、図71乃至図77を参照して説明する。上述したように、オーディオサーバ1では、音楽CD3に記録されている曲をエンコードし、コンテンツデータをファイルとしてHDD58に記録しているが、再生する曲を指定させる場合には、ファイルではなく、階層構造をなすフォルダ、アルバム、およびトラックのオブジェクトを、ユーザに指定させる。
【0307】
HDD全体、任意のフォルダ、または任意のアルバムを再生エリアとして指定することにより、複数の曲を一括して再生する曲に指定することもできる。曲の再生は、指定された再生エリアに基づいて作成されるプレイリストに含まれるトラックに対応するコンテンツデータがデコードされることによって実現される。
【0308】
図71は、再生エリアの一例を示している。破線281で囲まれたHDD全体が再生エリアに指定された場合、図72に示すように、プレイリストには、HDD58のなかの全てのトラック番号が登録される。
【0309】
破線282で囲まれたマイセレクトフォルダF1が再生エリアに指定された場合、図73に示すように、プレイリストには、マイセレクトフォルダF1に属する全てのアルバムのアルバム番号が登録される。
【0310】
破線283に囲まれたマイセレクトフォルダF1のアルバムA1が再生エリアに指定された場合、図74に示すように、プレイリストには、マイセレクトフォルダF1のアルバムA1に属する全てのトラックのトラック番号が登録される。
【0311】
テンポラリフォルダF2に属するアルバムA1のトラックT1が再生する曲に指定された場合、図75に示すように、プレイリストには、テンポラリフォルダF2に属するアルバムA1のトラックT1が登録される。
【0312】
次に、指定された再生エリアに対応するプレイリストを作成する処理について、図76のフローチャートを参照して説明する。
【0313】
このプレイリスト作成処理は、HD MW82に含まれるHD PLAY85によって制御される処理であり、ファンクションボタン12が操作されて、音源がHDDに設定されたときに開始される。
【0314】
ステップS351において、HD PLAY85は、ユーザによって選択されている再生エリアを示すオブジェクトの階層が、HDD全体であるか否かを判定する。選択されているオブジェクトの階層がHDD全体ではないと判定された場合、処理はステップS352に進む。なお、ユーザが再生エリアを選択する方法は、リモートコントローラ7に設けられた再生エリア切り替えボタン(不図示)を操作するか、または、蓋40に設けられたカーソルボタン17、エンタボタン20、およびメニュー/キャンセルボタン21などを所定の順序で押下するかによって行われる。
【0315】
ステップS352において、HD PLAY85は、ユーザによって選択されているオブジェクトの階層がフォルダであるか否かを判定する。選択されているオブジェクトの階層がフォルダではないと判定された場合、処理はステップS353に進む。
【0316】
ステップS353において、HD PLAY85は、ユーザによって選択されているオブジェクトの階層がアルバムであると判定して、ステップS354に進む。
【0317】
ステップS354において、HD PLAY85は、再生/一時停止ボタン26が操作されたか否かを判定する。再生/一時停止ボタン26が操作されたと判定された場合、処理はステップS355に進む。ステップS355において、HD PLAY85は、選択されているオブジェクトの階層に対応するプレイリストが既成されているか否かを判定し、既成されていないと判定した場合、ステップS356に進む。なお、既成されていると判定された場合には、ステップS356はスキップされる。
【0318】
ステップS356において、HD PLAY85は、選択されているオブジェクトの階層に対応してプレイリストを作成する。
【0319】
なお、ステップS354において、再生/一時停止ボタン26が操作されていないと判定された場合、処理はステップS351に戻り、以降の処理が繰り返される。
【0320】
また、ステップS351において、選択されているオブジェクトの階層がHDD全体であると判定された場合、または、ステップS352において、選択されているオブジェクトの階層がフォルダであると判定された場合、処理はステップS354に進む。以上、プレイリスト作成処理の説明を終了する。
【0321】
なお、想定される様々な再生エリアに対応する複数のプレイリストを予め作成して、所定の場所に記録するようにし、ユーザによって再生エリアが指定された段階で、予め作成されて記録されているプレイリストのうち、対応するものを読み出すようにしてもよい。
【0322】
次に、上述したプレイリスト作成処理の終了に続けて実行される再生処理について、プレイモードが全曲リピートに設定されている場合を例に、図77のフローチャートを参照して説明する。
【0323】
ステップS361において、HD PLAY85は、停止ボタン25が操作されることにより、再生の終了が指示されたか否かを判定する。再生の終了が指示されていないと判定された場合、処理はステップS362に進む。ステップS362において、HD PLAY85は、プレイリストに含まれる全てのトラックのうち、順次1トラックずつ再生トラックに指定する。
【0324】
ステップS363において、HD PLAY85は再生トラックに対応するコンテンツデータを再生する。具体的には、再生トラックに対応するトラックオブジェクトがCCデータに基づいて特定され、特定されたトラックオブジェクトのファイル識別子記録領域203の値に基づいて対応するコンテンツデータのファイル識別子が特定され、特定されたファイル識別子(=ファイル記録領域121のクラスタ番号)に基づいてコンテンツデータが読み出される。次に、読み出されたコンテンツデータがデコードされて出力される。
【0325】
再生トラックに対応するコンテンツデータの再生が終了した後、処理はステップS361に戻り、以降の処理が繰り返される。その後、ステップS361において、停止ボタン25が操作されることにより、再生の終了が指示されたと判定された場合、再生モードが全曲リピートである場合の再生処理が終了される。
【0326】
なお、全曲リピート以外の再生モードにおいては、再生エリアと再生トラックの指定の方法が異なるだけであり、その処理の手順は同様である。
【0327】
次に、オーディオサーバ1のHDD58に記録されているコンテンツデータを、MS4にムーブアウトする処理について、図78乃至図81を参照して説明する。
【0328】
ここで、HDD58に記録されているコンテンツデータをMS4にムーブアウトする処理とは、HDD58に記録されているコンテンツデータをMS4にコピーした後、HDD58に記録されていたコンテンツデータを削除する一連の処理である。
【0329】
ムーブアウト処理について、図78のフローチャートを参照して説明する。なお、ムーブアウト処理は、MS MW89によって制御される。
【0330】
このムーブアウト処理は、MSスロット45にMS4が挿入されている状態で、ユーザがメニュー/キャンセルボタン21を操作してメニューを表示させ、カーソルボタン17を操作して「編集」を選択した後、エンタボタン20を操作して編集メニューを表示させ、カーソルボタン17を操作して「ムーブアウト」を選択した後、エンタボタン20を操作し、さらに、カーソルボタン17とセレクトボタン18を操作して、ムーブアウトするトラックを選択した後、エンタキー20を操作してムーブアウトするトラックのリストを表示させ、さらにエンタキー20を操作したときに開始される。
【0331】
ステップS371において、MS MW89は、C IN/C OUT87に依頼して、HDD58に記録されているムーブアウトするコンテンツデータを、権利無効データ(再生不可能なデータ)としてMS4にコピーする。なお、権利無効データとするには、コンテンツデータの属性情報に含まれる、権利の有無を示すフラグをオフとする。
【0332】
ステップS372において、C IN/C OUT87は、ムーブアウト処理を開始したことを示すムーブアウト履歴情報を生成してHDD58に記録する。ムーブアウト履歴情報には、ムーブアウトされるトラックを特定する情報が含まれる。ステップS373において、C IN/C OUT87は、HDD58に記録されているコンテンツデータの権利の有無を示すフラグをオフとして、HDD58のコンテンツデータを権利無効データとする。
【0333】
ステップS374において、MS MW89は、MS4にコピーされたコンテンツデータの権利の有無を示すフラグをオンとして、MS4のコンテンツデータを権利有効データとする。
【0334】
ステップS375において、C IN/C OUT87は、HDD58に記録されているコンテンツデータを削除する。ステップS376において、C IN/C OUT87は、ステップS372の処理で作成したムーブアウト履歴情報を削除する。
【0335】
以上説明したステップS371乃至S376の処理が1トラックに対応する1コンテンツデータのムーブアウト処理であり、選択された全てのトラックに対して、ステップS371乃至S376の処理が施される。
【0336】
なお、ムーブアウト処理の途中で電源が遮断するなどしてムーブアウト処理が中断された場合、それを補償するために電源復帰後に復帰処理が実行させる。なお、復帰処理については、図86乃至図88を参照して後述する。
【0337】
図79は、ムーブアウト処理の状態遷移を示している。状態1は、ムーブアウト処理が開始される前の状態である。すなわち、オーディオサーバ1のHDD58にコンテンツデータが記録されており、HDD58のコンテンツデータが権利有効である状態を示している。
【0338】
状態2は、ステップS371の処理が行われた後の状態である。すなわち、オーディオサーバ1のHDD58に記録されているコンテンツデータがMS4にコピーされることによって、HDD58とMS4の双方にコンテンツデータが記録されている状態であって、かつ、HDD58のコンテンツデータが権利有効であって、MS4のコンテンツデータが権利無効である状態を示している。
【0339】
状態3は、ステップS373の処理が行われた後の状態である。すなわち、HDD58とMS4の双方にコンテンツデータが記録されている状態であって、かつ、HDD58のコンテンツデータと、MS4のコンテンツデータが権利無効である状態を示している。
【0340】
状態4は、ステップS374の処理が行われた後の状態である。すなわち、HDD58とMS4の双方にコンテンツデータが記録されている状態であって、かつ、HDD58のコンテンツデータが権利無効であって、MS4のコンテンツデータが権利有効である状態を示している。
【0341】
状態5は、ステップS375の処理が行われた後の状態である。すなわち、HDD58のコンテンツデータが消去されることによって、MS4だけにコンテンツデータが記録されている状態であって、MS4のコンテンツデータが権利有効である状態を示している。
【0342】
図80は、ムーブアウトするトラックを選択するときのディスプレイ15の表示例を示している。ディスプレイ15にはムーブアウト可能な曲だけが表示される。
【0343】
図81は、ムーブアウト処理が行われている最中のディスプレイ15の表示例を示している。ディスプレイ15の表示エリア291には、ムーブアウト処理が実行中であることを示す文字”Move out”が点滅表示される。ムーブアウトが完了したトラックの横には、チェックマーク292が表示される。表示エリア293には、ムーブアウト処理の進捗状況を示す情報(ムーブアウト中またはムーブアウトが完了したトラックの数/ムーブアウトするトラックの総数)が表示される。
【0344】
次に、MS4に記録されているコンテンツデータを、オーディオサーバ1のHDD58にムーブインする処理について、図82乃至図81を参照して説明する。
【0345】
ここで、MS4に記録されているコンテンツデータをHDD58にムーブインする処理とは、MS4に記録されているコンテンツデータをHDD58にコピーした後、MS4に記録されていたコンテンツデータを削除する一連の処理である。
【0346】
ムーブイン処理について、図82のフローチャートを参照して説明する。なお、ムーブイン処理は、MS MW89によって制御される。
【0347】
このムーブイン処理は、MSスロット45にMS4が挿入されている状態で、ユーザがメニュー/キャンセルボタン21を操作してメニューを表示させ、カーソルボタン17を操作して「編集」を選択した後、エンタボタン20を操作して編集メニューを表示させ、カーソルボタン17を操作して「ムーブイン」を選択した後、エンタボタン20を操作し、さらに、カーソルボタン17とセレクトボタン18を操作して、MS4に記録されているコンテンツデータの中からムーブインするコンテンツデータを選択した後、エンタキー20を操作してムーブインするコンテンツデータのリストを表示させ、さらにエンタキー20を操作した後に再生/一時停止ボタン26を操作したときに開始される。
【0348】
ステップS381において、MS MW89は、C IN/C OUT87に依頼して、MS4に記録されているムーブインするコンテンツデータを、権利無効データとしてHDD58にコピーする。
【0349】
ステップS382において、MS MW89は、C IN/C OUT87に依頼して、ムーブイン処理を開始したことを示すムーブイン履歴情報を生成してHDD58に記録する。ムーブイン履歴情報には、ムーブインされるコンテンツデータを特定する情報が含まれる。ステップS383において、MS MW89は、MS4に記録されているコンテンツデータの権利の有無を示すフラグをオフとして、MS4のコンテンツデータを権利無効データとする。
【0350】
ステップS384において、MS MW89は、C IN/C OUT87に依頼して、HDD58にコピーされたコンテンツデータの権利の有無を示すフラグをオンとして、HDD58のコンテンツデータを権利有効データとする。
【0351】
ステップS385において、MS MW89は、MS4に記録されているコンテンツデータを削除する。ステップS386において、C IN/C OUT87は、ステップS382の処理で作成したムーブイン履歴情報を削除する。
【0352】
以上説明したステップS381乃至S386の処理が1トラックに対応する1コンテンツデータのムーブイン処理であり、選択された全てのトラックに対して、ステップS381乃至S386の処理が施される。
【0353】
なお、ムーブイン処理の途中で電源が遮断するなどしてムーブイン処理が中断された場合、それを補償するために、電源復帰後に復帰処理が実行される。
【0354】
図83は、ムーブイン処理の状態遷移を示している。状態11は、ムーブイン処理が開始される前の状態である。すなわち、MS4にコンテンツデータが記録されており、MS4のコンテンツデータが権利有効である状態を示している。
【0355】
状態12は、ステップS381の処理が行われた後の状態である。すなわち、MS4に記録されているコンテンツデータがHDD58にコピーされることによって、MS4とHDD58の双方にコンテンツデータが記録されている状態であって、かつ、MS4のコンテンツデータが権利有効であって、HDD58のコンテンツデータが権利無効である状態を示している。
【0356】
状態12は、ステップS381の処理が行われた後の状態である。すなわち、MS4に記録されているコンテンツデータがHDD58にコピーされることによって、MS4とHDD58の双方にコンテンツデータが記録されている状態であって、かつ、MS4のコンテンツデータが権利有効であって、HDD58のコンテンツデータが権利無効である状態を示している。
【0357】
状態13は、ステップS383の処理が行われた後の状態である。すなわち、MS4とHDD58の双方にコンテンツデータが記録されている状態であって、かつ、MS4のコンテンツデータと、HDD58のコンテンツデータが権利無効である状態を示している。
【0358】
状態14は、ステップS384の処理が行われた後の状態である。すなわち、MS4とHDD58の双方にコンテンツデータが記録されている状態であって、かつ、MS4のコンテンツデータが権利無効であって、HDD58のコンテンツデータが権利有効である状態を示している。
【0359】
状態15は、ステップS385の処理が行われた後の状態である。すなわち、MS4のコンテンツデータが消去されることによって、HDD58だけにコンテンツデータが記録されている状態であって、HDD58のコンテンツデータが権利有効である状態を示している。
【0360】
図84は、ムーブインするコンテンツデータを選択するときのディスプレイ15の表示例を示している。ディスプレイ15にはMS4に記録されているコンテンツデータのうち、ムーブアウト可能なコンテンツデータだけが表示される。
【0361】
図85は、ムーブイン処理が行われている最中のディスプレイ15の表示例を示している。ディスプレイ15の表示エリア301には、ムーブイン処理が実行中であることを示す文字”Move in”が点滅表示される。ムーブインが完了したコンテンツデータの横には、チェックマーク302が表示される。表示エリア303には、ムーブイン処理の進捗状況を示す情報(ムーブイン中またはムーブインが完了したコンテンツデータの数/ムーブインするコンテンツデータの総数)が表示される。
【0362】
以上、ムーブイン処理について説明したが、MS4からHDD58にコンテンツデータをインポートする処理も同様に処理される。ムーブイン処理とインポート処理の相違は、ムーブイン処理またはインポート処理によってHDD58に記録されたコンテンツデータの扱いにある。
【0363】
オーディオサーバ1は、ムーブイン処理によってHDD58に記録されたコンテンツデータを、他のMS4やPD5などに、ムーブアウトすることが可能であり、かつ、チェックアウトすることが可能である。しかしながら、オーディオサーバ1は、インポート処理によってHDD58に記録されたコンテンツデータを、他のMS4やPD5などに、チェックアウトすることは可能であるが、ムーブアウトすることは不可能である。
【0364】
次に、ムーブアウト処理やムーブイン処理の途中で電源が遮断するなどしてその処理が中断されたことを補償するための復帰処理について、図86を参照して説明する。この復帰処理は、電源復旧後、MS MW89によって直ちに開始される。
【0365】
ステップS391において、MS MW89は、HDD58にムーブアウト履歴情報が存在するか否かを判定する。HDD58にムーブアウト履歴情報が存在すると判定された場合、ムーブアウト処理が中断されたことを補償するために、処理はステップS392に進む。
【0366】
ステップS392において、MS MW89は、ムーブアウト復元処理を実行する。ムーブアウト復元処理について、図87のフローチャートを参照して説明する。
【0367】
ステップS401において、MS MW89は、HDD58のコンテンツデータは権利無効であるか否かを判定する。HDD58のコンテンツデータが権利無効であると判定された場合、処理はステップS402に進む。
【0368】
ステップS402において、MS MW89は、HDD58に存在するコンテンツデータを削除する。なお、ステップS401において、HDD58のコンテンツデータが権利無効ではないと判定された場合、ステップS402はスキップされる。
【0369】
ステップS403において、MS MW89は、HDD58のムーブアウト履歴情報を削除する。
【0370】
処理は、図86に戻る。ステップS393において、MS MW89は、HDD58にムーブイン履歴情報が存在するか否かを判定する。HDD58にムーブイン履歴情報が存在すると判定された場合、ムーブイン処理が中断されたことを補償するために、処理はステップS394に進む。
【0371】
ステップS394において、MS MW89は、ムーブイン復元処理を実行する。ムーブアウト復元処理について、図88のフローチャートを参照して説明する。
【0372】
ステップS421において、MS MW89は、HDD58のコンテンツデータは権利無効であるか否かを判定する。HDD58のコンテンツデータが権利無効であると判定された場合、処理はステップS422に進む。
【0373】
ステップS422において、MS MW89は、HDD58に存在するコンテンツデータを削除する。なお、ステップS421において、HDD58のコンテンツデータが権利無効ではないと判定された場合、ステップS422はスキップされる。
【0374】
ステップS423において、MS MW89は、HDD58のムーブイン履歴情報を削除する。以上、ムーブイン復元処理の説明を終了する。処理は、図86に戻り、復帰処理は終了される。
【0375】
なお、図86のステップS391において、HDD58にムーブアウト履歴情報が存在しないと判定された場合、ムーブアウト処理が正常に終了されているので、ステップS392の処理はスキップされる。また、ステップS393において、HDD58にムーブイン履歴情報が存在しないと判定された場合、ムーブイン処理が正常に終了されているので、ステップS394の処理はスキップされる。
【0376】
また、復帰処理が電源遮断後によって中断されたとしても、電源復旧後に再度ステップS391から実行されるので、その補償はなされることになる。以上、復帰処理の説明を終了する。
【0377】
次に、オーディオサーバ1のHDD58に記録されているコンテンツデータを、MS4にチェックアウトする処理について、図89乃至図91を参照して説明する。
【0378】
ここで、HDD58に記録されているコンテンツデータをチェックアウトする処理とは、HDD58に記録されているコンテンツデータのコピーをMS4などに一時的に作成して利用するための処理である。コンテンツデータのチェックアウト可能回数は予め設定されており、チェックアウト処理のよってチェックアウト可能回数は1ずつ減少するが、後述するチェックイン処理を実行することにより、減少したチェックアウト可能回数は1ずつ復元される。
【0379】
チェックアウト処理について、図89のフローチャートを参照して説明する。
なお、チェックアウト処理は、MS MW89によって制御される。
【0380】
このチェックアウト処理は、MSスロット45にMS4が挿入されている状態で、ユーザがメニュー/キャンセルボタン21を操作してメニューを表示させ、カーソルボタン17を操作して「編集」を選択した後、エンタボタン20を操作して編集メニューを表示させ、カーソルボタン17を操作して「チェックアウト」を選択した後、エンタボタン20を操作したときに開始される。
【0381】
ステップS441において、MS MW89は、C IN/C OUT87に依頼して、HS DB91を制御させ、現在選択されているアルバムに属する全てのトラックに対応するコンテンツデータのチェックアウト可能回数(チェックアウト残り回数)を取得する。コンテンツデータのチェックアウト可能回数は、対応するトラックオブジェクトのAC(図42)に含まれるCNに記録されている(図43)。
【0382】
ステップS442において、MS APP79は、関係するファームウェアに依頼して、チェックアウト可能回数が1以上あるトラックについての情報(曲タイトル、チェックアウト可能回数など)を、ディスプレイ15に表示させる。図90は、ディスプレイ15の表示例を示している。ディスプレイ15の表示エリア311には、チェックアウトの音源を示す情報として”HDD”が表示される。表示エリア312の表示は、各トラックに対応するコンテンツデータのチェックアウト可能回数を示している。
【0383】
ステップS443において、MS APP79は、ユーザがカーソルボタン17とセレクトボタン18を操作することにより、表示されたチェックアウト可能なトラックのうち、チェックアウトするトラックを選択したか否かを判定する。チェックアウトするトラックを選択したと判定された場合、処理はステップS444に進む。
【0384】
ステップS444において、MS APP79は、選択されたトラックをチェックアウトリストに追加する。ステップS445において、MS APP79は、選択されたトラックに対するコンテンツデータのチェックアウト可能回数の表示を1だけデクリメントさせる。処理は、ステップS441に戻り、以降の処理が繰り返される。
【0385】
なお、ステップS443において、チェックアウトするトラックが選択されないと判定された場合には、処理はステップS446に進む。ステップS446において、MS APP79は、ユーザがエンタキー20を操作することにより、チェックアウトするトラックのリストを表示させ、さらにエンタキー20を操作することにより、チェックアウトの実行を指示したか否かを判定する。チェックアウトの実行が指示されていないと判定された場合、処理はステップS441に戻り、以降の処理が繰り返される。
【0386】
その後、ステップS446において、チェックアウトの実行が指示されたと判定された場合、処理はステップS447に進む。ステップS447において、MS MW89は、チェックアウトリストに含まれるトラックに対応するコンテンツデータをHDD58から読み出し、MS MW89に依頼して、読み出したコンテンツデータをMS4にコピーさせる。なお、コンテンツデータのコピーには、チェックアウト元であるHDD58を特定する情報を含ませる。
【0387】
ステップS448において、MS MW89は、C IN/C OUT87に依頼して、コピーしたコンテンツデータに対応するトラックオブジェクトのACのCNに記録されているチェックアウト可能回数を1だけデクリメントしてCNの値を更新する。また、C IN/C OUT87は、ACのLCMLOGに、チェックアウト先の情報としてMS4を特定する情報を記録する。
【0388】
なお、説明は省略するが、このチェックアウト処理においても、上述したムーブアウト処理と同様に、再生の可否(権利の有効、または無効)を示すフラグを用いることにより、電源遮断などの補償と、不正なコピーの作成を抑止している。
【0389】
図91は、チェックアウト処理が実行されている最中のディスプレイ15の表示例を示している。表示エリア321には、チェックアウト中であることを示す文字”Check out”が点滅表示される。チェックアウトが完了したトラックの横には、チェックマーク322が表示される。現在チェックアウト中のトラックの横には、ポインタ323が表示される。表示エリア324には、チェックアウト処理の進捗状況を示す情報(チェックアウト中またはチェックアウトが完了したコンテンツデータの数/チェックアウトリストに含まれるコンテンツデータの総数)が表示される。以上、チェックアウト処理の説明を終了する。
【0390】
次に、MS4にチェックアウトしたコンテンツデータを、HDD58にチェックインする処理について、図92および図93を参照して説明する。
【0391】
ここで、MS4に記録されているコンテンツデータをチェックアウトする処理とは、HDD58からMS4に一時的に再生したコンテンツデータのコピーを消去するとともに、HDD58のチェックアウト可能回数を1だけインクリメントして、チェックアウト可能回数を元の値に復元する処理である。
【0392】
チェックイン処理について、図92のフローチャートを参照して説明する。なお、チェックイン処理は、MS MW89によって制御される。
【0393】
このチェックイン処理は、MSスロット45にMS4が挿入されている状態で、ユーザがメニュー/キャンセルボタン21を操作してメニューを表示させ、カーソルボタン17を操作して「編集」を選択した後、エンタボタン20を操作して編集メニューを表示させ、カーソルボタン17を操作して「チェックイン」を選択した後、エンタボタン20を操作したときに開始される。
【0394】
ステップS451において、MS APP79は、MS MW89に依頼して、MS4に記録されているデータのうち、チェックイン可能なコンテンツデータ(オーディオサーバ1のHDD58からチェックアウトされたコンテンツデータ)を識別し、関係するファームウェアに依頼して、チェックイン可能なコンテンツデータの情報をディスプレイ15に表示させる。
【0395】
ステップS452において、MS APP79は、チェックイン可能なトラックについての情報(曲タイトルなど)を、ディスプレイ15に表示させる。図93は、ディスプレイ15の表示例を示している。ディスプレイ15の表示エリア331には、チェックインの音源を示す情報として”MS”が表示される。コンテンツデータの曲タイトル名などの情報の後に表示される矢印332は、当該コンテンツデータがチェックイン可能であることを示している。
【0396】
ステップS452において、MS APP79は、ユーザがカーソルボタン17とセレクトボタン18を操作することにより、表示されたチェックイン可能なコンテンツデータのうち、チェックインするコンテンツデータを選択したか否かを判定する。チェックインするコンテンツデータを選択したと判定された場合、処理はステップS453に進む。
【0397】
ステップS453において、MS APP79は、選択されたコンテンツデータをチェックインリストに追加する。処理は、ステップS451に戻り、以降の処理が繰り返される。
【0398】
なお、ステップS452において、チェックインするコンテンツデータが選択されないと判定された場合には、処理はステップS454に進む。ステップS454において、MS APP79は、ユーザがエンタキー20を操作することにより、チェックインするコンテンツデータのリストを表示させ、さらにエンタキー20を操作することにより、チェックインの実行を指示したか否かを判定する。チェックインの実行が指示されていないと判定された場合、処理はステップS451に戻り、以降の処理が繰り返される。
【0399】
その後、ステップS454において、チェックインの実行が指示されたと判定された場合、処理はステップS455に進む。ステップS455において、MS APP79は、MS MW89に依頼して、チェックインリストに含まれるMS4のコンテンツデータを消去する(再生の可否を示すフラグを否、すなわち、権利無効とするだけでもよい)。
【0400】
ステップS456において、MS MW89は、C IN/C OUT87に依頼して、HDD58に記録されている元のコンテンツデータに対応するトラックオブジェクトのACのCNに記録されているチェックアウト可能回数を1だけインクリメントしてCNの値を更新する。また、C IN/C OUT87は、ACのLCMLOGからチェックアウト先の情報として記録していたMS4を特定する情報を削除する。以上、チェックイン処理の説明を終了する。
【0401】
次に、MS4に記録されているコンテンツデータをチェックインする処理と、HDプレイ機能によって最後に再生したトラックが含まれるアルバムに属する複数のトラックを一括してMS4にチェックアウトする処理とを連続して実行するエクスチェンジ処理について、図94乃至図97を参照して説明する。
【0402】
このエクスチェンジ処理は、MSスロット45にMS4が挿入された状態で、ユーザがエクスチェンジボタン22を操作したときに開始される。
【0403】
ステップS461において、MS APP79は、MS MW89に依頼して、MS4に記録されているデータのうち、チェックイン可能なコンテンツデータを識別する。ステップS462において、MS APP79は、MS MW89に依頼して、MS4のチェックイン可能なコンテンツデータを1コンテンツデータずつ、図92を参照して上述したチェックイン処理と同様にチェックインする。
【0404】
図95は、ステップS462の処理が行われている最中のディスプレイ15の表示例を示している。ディスプレイ15の表示エリア381には、チェックインの音源を示す情報として”MS”が表示される。表示エリア382には、チェックインが実行中であることを示す文字”Now Check in”が点滅表示される。コンテンツデータの曲タイトル名などの情報の前に表示される”×”印383は、当該コンテンツデータがチェックイン不可能であることを示している。チェックマーク384は、当該コンテンツデータのチェックインが完了していることを示している。ポインタ385は、当該コンテンツデータのチェックインが実行中であることを示している。
【0405】
ステップS463において、MS APP79は、MS4のチェックイン可能なコンテンツデータを全てチェックインしたか否かを判定する。MS4のチェックイン可能なコンテンツデータを全てチェックインしたと判定されない場合、処理はステップS462に戻り、次のコンテンツデータがチェックインされる。その後、ステップS463において、MS4のチェックイン可能なコンテンツデータを全てチェックインしたと判定された場合、処理はステップS464に進む。
【0406】
ステップS464において、MS APP79は、属するトラックを一括してチェックアウトするアルバムを決定する。具体的には、例えば、HD DB91がオブジェクト記録領域122に記録されている各トラックオブジェクトの最終アクセス日時(図42)に基づいて最後に再生されたトラックを判別し、そのトラックが属するアルバムをチェックアウトするアルバムに決定する。
【0407】
ステップS465において、MS APP79は、チェックアウトするアルバムから1トラック(すなわち、コンテンツデータ)を選択する。ステップS466において、C IN/C OUT87は、選択されたコンテンツデータがチェックアウト可能であるか否かを判定する。選択されたコンテンツデータがチェックアウト可能であると判定された場合、処理はS467に進む。
【0408】
ステップS467において、MS APP79は、MS MW89に依頼して、選択されたコンテンツデータをチェックアウトするだけの容量がMS4に空いているか否かを判定させる。選択されたコンテンツデータをチェックアウトするだけの容量がMS4に空いていると判定された場合、処理はステップS468に進む。
【0409】
ステップS468において、MS MW89は、選択されたコンテンツデータを、図89を参照して上述したチェックアウト処理と同様にチェックアウトする。
【0410】
図96は、ステップS468の処理が行われている最中のディスプレイ15の表示例を示している。ディスプレイ15の表示エリア391には、チェックアウトの音源を示す情報として”HDD”が表示される。表示エリア392には、チェックアウトが実行中であることを示す文字”Now Check out”が点滅表示される。コンテンツデータの曲タイトル名などの情報の前に表示される”×”印は、当該コンテンツデータがチェックアウト不可能であることを示しており、チェックマークは、当該コンテンツデータのチェックアウトが完了していることを示している。
【0411】
ステップS469において、MS APP79は、チェックアウトするアルバムに含まれる全てのトラック(すなわち、コンテンツデータ)を、ステップS465で選択したか否かを判定する。全てのコンテンツデータをステップS465で選択していないと判定された場合、処理はステップS465に戻り、以降の処理が繰り返され、ステップS469において、全てのコンテンツデータをステップS465で選択したと判定された場合、エクスチェンジ処理は終了される。
【0412】
なお、ステップS466において、選択されたコンテンツデータがチェックアウト可能でなないと判定された場合、ステップS467,S468はスキップされる。また、ステップS467において、選択されたコンテンツデータをチェックアウトするだけの容量がMS4に空いていないと判定された場合、ステップS468はスキップされる。
【0413】
図97は、エクスチェンジ処理が完了した直後のディスプレイ15の表示例を示している。ディスプレイ15の表示エリア401には、エクスチェンジ処理が完了したことを示す文字”COMPLETE”が表示される。
【0414】
以上説明したように、ユーザは、エクスチェンジボタン22を操作するだけで、MS4からHDD58に対するチェックイン処理と、HDD58からMS4に対するチェックアウト処理と自動的に実行させることが可能となる。以上、エクスチェンジ処理の説明を終了する。
【0415】
ところで、上述したムーブアウト処理、ムーブイン処理、インポート処理、チェックアウト処理、およびチェックイン処理は、HDD58とMS4との間だけでなく、HDD58とコネクタ43に接続されるPD5との間でも実行することが可能である。
【0416】
図98にPD5のハードウェア的な構成例を示す。PD5を実現するLSI(Large Scale Integration)410は、その全体を制御するCPU411を内蔵している。CPU411には、バス421を介して、ROM412、RAM413、DMAコントローラ414、DSP(Digital Signal Processor)415、バッファ416、LCDインタフェース(I/F)417、シリアルインタフェース(I/F)418、およびインタフェース419,420が接続されている。
【0417】
ROM412には、PD5の各種の機能を実現するプログラム、機器ID、暗号キーなどが記憶されている。RAM413は、CPU411が各種の処理を実行する際、所定のデータやプログラムを一時的に記憶する。DMAコントローラ414は、バッファ416、フラッシュメモリ426、およびシリアルインタフェース418を介するUSBコントローラ424の間のデータ転送を制御する。DSP415は、フラッシュメモリ426などに記録されているコンテンツデータをデコードする。また、DSP415は、DESエンジンを有しており、暗号キーを用いてコンテンツデータの暗号化/復号を行う。バッファ416は、DMAコントローラ417が転送を制御するデータを一時的にバッファリングする。
【0418】
LCDインタフェース417の後段には、LCDドライバ422、およびLCD423が接続される。シリアルインタフェース418の後段には、USBコントローラ424、およびUSBコネクタ425が接続される。USBコントローラ424は、USBコネクタ425を介して接続されるオーディオサーバ1とのデータ通信を制御する。インタフェース419を介して接続されるフラッシュメモリ426には、オーディオサーバ1からムーブアウトなどされたコンテンツデータと、その曲タイトルなどの付加情報が記録される。インタフェース420の後段には、DAC427および増幅器(AMP)428が接続される。電源部429は、LSI410に給電する。
【0419】
DSP415のデコードによって得られるオーディオデータは、インタフェース420、DAC427、および増幅器(AMP)428を介してヘッドホンなどに出力される。
【0420】
HDD58とMS4との間のムーブアウト処理などと、HDD58とPD5との間のムーブアウト処理などは、ほぼ同様であるので、その相違について説明する。
【0421】
MS4に記録するコンテンツデータの暗号化は、オーディオサーバ1のHDD58に記録されているコンテンツデータの暗号化と同じ暗号キーよって行われる。よって、HDD58とMS4との間では、暗号化されたコンテンツデータを復号することなく、そのままの状態でムーブアウトすることができる。
【0422】
それに対して、PD5に記録するコンテンツデータの暗号化は、オーディオサーバ1のHDD58に記録されているコンテンツデータの暗号化とは異なる暗号キーが用いられる。よって、HDD58とPD5との間では、図56を参照して上述したように、HDD58に記録されているコンテンツデータの暗号が復号され、再度、異なるPD5用の暗号キーを用いて暗号化されたコンテンツをムーブアウトするようにしている。
【0423】
以上、HDD58とPD5との間でのムーブアウト処理、ムーブイン処理、インポート処理、チェックアウト処理、およびチェックイン処理についての説明を終了する。
【0424】
次に、HDD58が使用可能な記録媒体であるか否かを確認するための処理について説明する。この処理は、音楽CD等が蓄積されている記録媒体の不正利用を防止するためのものであるが、この処理により記録媒体の不正利用を適切に防止することができるようにするために、HDD58には、出荷時に、オーディオサーバ1の機器IDとHDD58の機器IDより一意に決まる値(この例の場合、ハッシュ値)が書き込まれる。図99のフローチャートは、HDD58にハッシュ値を書き込むための処理の手順を示している。
【0425】
すなわち、ステップS501において、オーディオサーバ1の機器IDとHDD58の機器IDに基づいてハッシュ値が算出される。このハッシュ値は、オーディオサーバ1の機器IDとHDD58の機器IDより一意に決定する値である。
【0426】
ステップS502において、ステップS501で算出されたハッシュ値が、HDD58の所定の領域に書き込まれる。その後、処理は終了する。なお、HDD58の機器IDは、別途HDD58に書き込まれるものとする。
【0427】
図100のフローチャートは、HDD58が使用可能な記録媒体であるか否かを確認するための処理の手順を示している。
【0428】
ステップS511において、HD MW82は、HDD58に書き込まれているHDD58の機器IDを取得し、ステップS512において、そのHDD58の機器IDと、フラッシュROM52に記憶されているオーディオサーバ1の機器IDに基づいてハッシュ値を算出する。このハッシュ値は、上述したように、オーディオサーバ1の機器IDとHDD58の機器IDより一意に決まるものである。
【0429】
ステップS513において、HD MW82は、図99のステップS502でHDD58に書き込まれたハッシュ値を読み取る。
【0430】
次に、ステップS514において、HD MW82は、ステップS512で算出したハッシュ値と、ステップS513でHDD58から読み取ったハッシュ値が一致するか否かを判定し、一致すると判定した場合、ステップS515に進み、HDD58を利用可能な記録媒体であると認識する。すなわち、このことより、HDD58に対して、データの記録再生を行うことができるようになる。
【0431】
一方、ステップS514で、一致しないと判定された場合、ステップS516に進み、HD MW83は、HDD58を利用が禁止された記録媒体であると認識する。
【0432】
例えば、HDD58を他のオーディオサーバ(以下、適宜、オーディオサーバXと称する)に接続した場合、オーディオサーバXにおける図100の処理により、オーディオサーバXの機器IDとHDD58の機器IDに基づくハッシュ値と、HDD58のハッシュ値(オーディオサーバ1の機器IDとHDD58の機器IDに基づくハッシュ値)とは一致しないと判定され、その結果オーディオサーバXでは、HDD58を使用することができない。すなわち、HDD58を、オーディオサーバ1以外の装置で使用するという不正使用を防止することができる。
【0433】
なお、以上においては、HDD58の不正使用を防止する観点からHDDの使用確認処理を説明したが、例えば、HDDの機器IDを、記録媒体としての能力(例えば、記録容量、記録再生速度)毎に設定することで、一定の能力のHDDのみがオーディオサーバ1において動作するようにすることができる。これにより、オーディオサーバ1自身の能力に対応しない、記録媒体が使用されることにより発生するオーディオサーバ1やHDDの誤動作を防止することができる。
【0434】
次に、上述したHDD使用確認処理の原理を利用したバックアップ処理を、図101のフローチャートを参照して説明する。
【0435】
ステップS521において、HD MW82は、例えば、HDD58に記録されているデータのバックアップデータを生成する。
【0436】
次に、ステップS522において、HD MW82は、HDD58に書き込まれているHDD58の機器IDを取得し、ステップS523において、そのHDD58の機器IDと、フラッシュROM52に記憶されているオーディオサーバ1の機器IDに基づいてハッシュ値を算出する。
【0437】
ステップS524において、HD MW82は、ステップS523で算出したハッシュ値を、ステップS521で作成したバックアップデータに書き込み、ステップS525において、そのバックアップデータを記録(バックアップ)する他のHDD(以下、適宜、HDDXと称する)に供給し記録させる。
【0438】
その後、処理は終了する。
【0439】
このようにして、データのバックアップが行われる。
【0440】
次に、バックアップデータをリストアする場合(リストされたバックアップデータを使用することができるか否かを確認する場合)の処理手順を、図102のフローチャートを参照して説明する。
【0441】
ステップS531において、HD MW82は、HDDXから、バックアップデータを入力して、HDD58に記憶させる(リストアさせる)。
【0442】
次に、ステップS532において、HD MW82は、HDD58から、HDD58の機器IDを取得し、ステップS533において、そのHDD58の機器IDと、フラッシュROM52に記憶されているオーディオデータ1の機器IDに基づいてハッシュ値を算出する。
【0443】
ステップS534において、HD MW82は、ステップS531で入力したバックアップデータに書き込まれているハッシュ値を読み取り、それを、ステップS535において、HDD58にすでに書き込まれているハッシュ値に上書きする。
【0444】
ステップS536において、HD MW82は、ステップS533で算出したハッシュ値と、ステップS535でHDD58に書き込んだ、バックアップデータに書き込まれていたハッシュ値が一致するか否かを判定し、一致すると判定した場合、ステップS537に進み、HDD58を利用可能な記録媒体として認識する。
【0445】
一方、ステップS536で、一致しないと判定された場合、ステップS538に進み、HD MW82は、HDD58を利用が禁止された記録媒体であると認識する。
【0446】
すなわち、例えば、バックアップデータが、HDDXから他のHDD(以下、適宜、HDDYと称する)にリストアされた場合(ステップS531)、オーディオサーバ1の機器IDとHDDYのIDに基づくハッシュ値(ステップS533)と、バックアップデータに書き込まれたハッシュ値(オーディオサーバ1の機器IDとHDD58の機器IDに基づくハッシュ値)は一致しないので、HDDYは使用することができず、結局、そこにリストアされたバックアップデータも使用することができない。
【0447】
ところで、上述した一連の処理は、オーディオサーバ1のような専用機器によって実行させることもできるが、汎用のパーソナルコンピュータなどに、図7に示したようなファームウェアをインストールして実行させることによっても実現することができる。
【0448】
このファームウェアは、汎用のコンピュータとは別に、ユーザにプログラムを提供するために配布される、ファームウェアが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、ファームウェアが記録されているROMやハードディスクなどで構成される。
【0449】
なお、本明細書において、プログラム(ファームウェア)を記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0450】
【発明の効果】
本発明よれば記録部に蓄積されたデータの不正利用を防止することができる。
【0451】
本発明よればバックアップデータの不正利用を防止することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態であるオーディオサーバ1の概要を説明するための図である。
【図2】オーディオサーバ1の外観図である。
【図3】オーディオサーバ1の上面図である。
【図4】オーディオサーバ1の背面図である。
【図5】オーディオサーバ1の正面図である。
【図6】オーディオサーバ1のハードウェア的な構成例を示すブロック図である。
【図7】オーディオサーバ1が実行するファームウェアを示す図である。
【図8】 HDD58に適用されるFAT型ファイルシステム(データフォーマット)を説明するための図である。
【図9】ファイル記録領域121の論理構造を示す図である。
【図10】 FAT141の構成を示す図である。
【図11】 FAT141の一例を示す図である。
【図12】ファイル記録領域121の記録の一例を示す図である。
【図13】サイズ記録領域151の構成を示す図である。
【図14】ファイル作成処理を説明するフローチャートである。
【図15】空きクラスタ取得処理を説明するフローチャートである。
【図16】 FATエントリ読み取り処理を説明するフローチャートである。
【図17】連結処理を説明するフローチャートである。
【図18】ファイルXの読み出し処理を説明するフローチャートである。
【図19】ファイルXの検索処理を説明するフローチャートである。
【図20】ファイルXの逆読み出し処理を説明するフローチャートである。
【図21】オブジェクト記録領域122の論理構造を示す図である。
【図22】オブジェクト型記録領域163の構成を示す図である。
【図23】領域情報記録領域164を説明するための図である。
【図24】オブジェクト管理部124の構成を示す図である。
【図25】セッション管理情報181の構成を示す図である。
【図26】2種類の基本オブジェクト型を示す図である。
【図27】オブジェクト識別子の構成を示す図である。
【図28】オブジェクト作成処理を説明するフローチャートである。
【図29】セッション開設処理を説明するフローチャートである。
【図30】空きエントリ確保処理を説明するフローチャートである。
【図31】ライトセッション確定処理を説明するフローチャートである。
【図32】セッション破棄処理を説明するフローチャートである。
【図33】オブジェクト検索処理を説明するフローチャートである。
【図34】エントリ取得処理を説明するフローチャートである。
【図35】オブジェクト更新処理を説明するフローチャートである。
【図36】ストリームオブジェクト作成処理を説明するフローチャートである。
【図37】ストリームオブジェクト検索処理を説明するフローチャートである。
【図38】オブジェクトのディレクトリ構造を示す図である。
【図39】フォルダリストオブジェクトのフォーマットを示す図である。
【図40】フォルダオブジェクトのフォーマットを示す図である。
【図41】アルバムオブジェクトのフォーマットを示す図である。
【図42】トラックオブジェクトのフォーマットを示す図である。
【図43】トラックオブジェクトのACの詳細を示す図である。
【図44】コンテンツデータのフォーマットを示す図である。
【図45】CCオブジェクトのフォーマットを示す図である。
【図46】CCデータのフォーマットを示す図である。
【図47】CDリッピングが実行される際のデータの流れを示す図である。
【図48】CDレコーディングが実行される際のデータの流れを示す図である。
【図49】ディジタル入力に対するHDレコーディングが実行される際のデータの流れを示す図である。
【図50】アナログ入力に対するHDレコーディングが実行される際のデータの流れを示す図である。
【図51】HDプレイが実行される際のデータの流れを示す図である。
【図52】CDプレイが実行される際のデータの流れを示す図である。
【図53】MSプレイが実行される際のデータの流れを示す図である。
【図54】MSチェックアウト/ムーブアウトが実行される際のデータの流れを示す図である。
【図55】MSインポート/ムーブインが実行される際のデータの流れを示す図である。
【図56】PDチェックアウトが実行される際のデータの流れを示す図である。
【図57】CDリッピングを説明するための図である。
【図58】CDレコーディングを説明するための図である。
【図59】CDリッピングまたはCDレコーディングにおけるバッファ56の区分けを説明するための図である。
【図60】各バッファの状態遷移を示す図である。
【図61】 HDD58に設けられるリングバッファ241を示す図である。
【図62】CDリッピング時の各バッファ間のデータの流れを説明するための図である。
【図63】録音速度設定処理を説明するフローチャートである。
【図64】CD録音処理を説明するフローチャートである。
【図65】リングバッファ情報初期化処理を説明するフローチャートである。
【図66】1曲分の録音処理を説明するフローチャートである。
【図67】モニタ音声出力処理を説明するフローチャートである。
【図68】リングバッファに対する書き込み処理を説明するフローチャートである。
【図69】リングバッファに対する読み出し処理を説明するフローチャートである。
【図70】CDリッピング中のディスプレイ15の表示例を示す図である。
【図71】再生エリアの設定を説明するための図である。
【図72】プレイリストの一例を示す図である。
【図73】プレイリストの一例を示す図である。
【図74】プレイリストの一例を示す図である。
【図75】プレイリストの一例を示す図である。
【図76】プレイリスト作成処理を説明するフローチャートである。
【図77】全曲リピートの再生処理を説明するフローチャートである。
【図78】ムーブアウト処理を説明するフローチャートである。
【図79】ムーブアウト処理の状態遷移を示す図である。
【図80】ムーブアウト処理におけるディスプレイ15の表示例を示す図である。
【図81】ムーブアウト処理におけるディスプレイ15の表示例を示す図である。
【図82】ムーブイン処理を説明するフローチャートである。
【図83】ムーブイン処理の状態遷移を示す図である。
【図84】ムーブイン処理におけるディスプレイ15の表示例を示す図である。
【図85】ムーブイン処理におけるディスプレイ15の表示例を示す図である。
【図86】復帰処理を説明するフローチャートである。
【図87】ムーブアウト復元処理を説明するフローチャートである。
【図88】ムーブイン復元処理を説明するフローチャートである。
【図89】チェックアウト処理を説明するフローチャートである。
【図90】チェックアウト処理におけるディスプレイ15の表示例を示す図である。
【図91】チェックアウト処理におけるディスプレイ15の表示例を示す図である。
【図92】チェックイン処理を説明するフローチャートである。
【図93】チェックイン処理におけるディスプレイ15の表示例を示す図である。
【図94】エクスチェンジ処理を説明するフローチャートである。
【図95】エクスチェンジ処理におけるディスプレイ15の表示例を示す図である。
【図96】エクスチェンジ処理におけるディスプレイ15の表示例を示す図である。
【図97】エクスチェンジ処理におけるディスプレイ15の表示例を示す図である。
【図98】PD5のハードウェア的な構成例を示すブロック図である。
【図99】 HDD58にハッシュ値を書き込むための処理手順を示すフローチャートである。
【図100】 HDD使用確認処理を説明するフローチャートである。
【図101】バックアップ処理を説明するフローチャートである。
【図102】バックアップデータ使用確認処理を説明するフローチャートである。
【符号の説明】
1 オーディオサーバ, 2 スピーカ, 3 音楽CD, 4 MS, 5PD, 6 PC, 22 エクスチェンジボタン, 51 メインCPU, 71RTOS , 72 APP, 73 UMW, 74 LMW, 75 DD, 76メインAPP, 77 HD APP, 78 CD APP, 79 MS APP, 80 PD APP, 81 FEP, 82 HD MW, 83 HD CC, 84 CD RIPPING, 85 HD PLAY, 86 HD REC, 87 C IN/C OUT, 88 CD MW, 89 MS MW, 90 PD MW
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a recording / reproducing apparatus and method, a recording medium, and a program. For example, PCM (Pulse Code Modulation) data recorded on a music CD is encoded and stored in a hard disk, and the stored encoded data is stored in a semiconductor. The present invention relates to a recording / reproducing apparatus and method, a recording medium, and a program suitable for use in supplying to a memory or portable device.
[0002]
[Prior art]
[0003]
A recording / reproducing apparatus capable of compressing and encoding PCM data of a music CD and storing it in a hard disk drive has been developed.
[0004]
[Problems to be solved by the invention]
However, the conventional recording / reproducing apparatus can read and reproduce the music CD even from, for example, a hard disk drive in which the music CD is stored by another recording / reproducing apparatus. That is, the music CD stored in the hard disk can be used in any recording / reproducing apparatus, and there is a problem that the music CD is illegally used.
[0005]
The present invention has been made in view of such a situation, and an object of the present invention is to realize an apparatus capable of preventing unauthorized use of data stored in a hard disk, for example.
[0006]
[Means for Solving the Problems]
  A recording / reproducing apparatus according to one aspect of the present invention is a recording / reproducing apparatus that controls a data recording / reproducing process, for identifying the recording / reproducing apparatus itselfDressStorage means for storing an identifier for use;The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. The recording means in which a hash value is written in advance;The recordmeansFrom the recordmeansFirst acquisition means for acquiring an identifier for use and the first hash value;DressLocator identifier and said recordmeansA second hash value uniquely determined by the identifier for use,The obtained first hash valueWhenAnd when the second hash value and the first hash value match, the recording meansmeansAgainstSaidRecording / reproducing control means for controlling data recording / reproducing processing;Generating means for generating backup data of the data recorded in the recording means, first writing means for writing the second hash value to the backup data, and writing the second hash value Output recording means for outputting the backup data to an external recording unit and recording it to a backup recording unit; and recording the backup data recorded in the backup recording unit Input recording means for inputting to the recording means, second acquisition means for acquiring the second hash value written in the backup data recorded in the recording unit for backup, and the second The second hash value acquired by the acquisition unit is overwritten with the first hash value written in advance by overwriting. Te, a second writing means for writing in the recording means of said restore objectWithThe first acquisition unit acquires the recording unit identifier and the new first hash value written by the second writing unit from the recording unit to be restored.
[0007]
The recording unit can be a hard disk.
[0009]
  A recording / reproducing method according to one aspect of the present invention is a recording / reproducing method of a recording / reproducing apparatus for controlling data recording / reproducing processing, and controls storage of a first device identifier for identifying the recording / reproducing apparatus itself. A storage control step toThe recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. The recording means in which the hash value is written in advanceFrom the recordmeansA first obtaining step of obtaining an identifier for use and the first hash value;DressLocator identifier and said recordmeansA second hash value uniquely determined by the identifier for use,The obtained first hash valueWhenAnd when the second hash value and the first hash value match, the recording stepmeansAgainstSaidA recording / reproducing control step for controlling data recording / reproducing processing;A generation step of generating backup data of the data recorded in the recording means, a first writing step of writing the second hash value into the backup data, and the second hash value being written. An output recording step of outputting the backup data to an external recording unit and recording it to a backup recording unit; and recording the backup data recorded in the backup recording unit to be restored An input recording step for inputting to the means for recording; a second obtaining step for obtaining the second hash value written in the backup data recorded in the recording unit for backup; The second hash value acquired by the processing of the acquisition step is written in advance by overwriting As the first hash value and a second write step of writing to the recording means of said restore objectIncludingIn the first acquisition step, the recording unit identifier and the new first hash value written by the processing of the second writing step are acquired from the recording unit to be restored.
[0010]
  A recording medium according to one aspect of the present invention is a recording medium on which a program for controlling a recording / reproducing apparatus for controlling data recording / reproducing processing is recorded, and a first apparatus for identifying the recording / reproducing apparatus itself A storage control step for controlling storage of identifiers for use;The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. The recording means in which the hash value is written in advanceFrom the recordmeansA first obtaining step of obtaining an identifier for use and the first hash value;DressLocator identifier and said recordmeansA second hash value uniquely determined by the identifier for use,The obtained first hash valueWhenAnd when the second hash value and the first hash value match, the recording stepmeansAgainstSaidA recording / reproducing control step for controlling data recording / reproducing processing;A generation step of generating backup data of the data recorded in the recording means, a first writing step of writing the second hash value into the backup data, and the second hash value being written. An output recording step of outputting the backup data to an external recording unit and recording it to a backup recording unit; and recording the backup data recorded in the backup recording unit to be restored An input recording step for inputting to the means for recording; a second obtaining step for obtaining the second hash value written in the backup data recorded in the recording unit for backup; The second hash value acquired by the processing of the acquisition step is written in advance by overwriting As the first hash value and a second write step of writing to the recording means of said restore objectIncludingThus, in the first acquisition step, the recording unit identifier and the new first hash value written by the processing of the second writing step are acquired from the recording unit to be restored.Computer-readable program for causing a computer to execute processingTheRecordShiing.
[0011]
  A program according to one aspect of the present invention is a program for controlling a recording / reproducing apparatus for controlling data recording / reproducing processing, and a memory for controlling storage of a first device identifier for identifying the recording / reproducing apparatus itself. Control steps;The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. The recording means in which the hash value is written in advanceFrom the recordmeansA first obtaining step of obtaining an identifier for use and the first hash value;DressLocator identifier and said recordmeansA second hash value uniquely determined by the identifier for use,The obtained first hash valueWhenAnd when the second hash value and the first hash value match, the recording stepmeansAgainstSaidA recording / reproducing control step for controlling data recording / reproducing processing;A generation step of generating backup data of the data recorded in the recording means, a first writing step of writing the second hash value into the backup data, and the second hash value being written. An output recording step of outputting the backup data to an external recording unit and recording it to a backup recording unit; and recording the backup data recorded in the backup recording unit to be restored An input recording step for inputting to the means for recording; a second obtaining step for obtaining the second hash value written in the backup data recorded in the recording unit for backup; The second hash value acquired by the processing of the acquisition step is written in advance by overwriting As the first hash value and a second write step of writing to the recording means of said restore objectIncludingThus, in the first acquisition step, the recording unit identifier and the new first hash value written by the processing of the second writing step are acquired from the recording unit to be restored.Have the computer execute the process.
[0012]
  In the recording / reproducing apparatus and method and the program according to one aspect of the present invention, the recording / reproducing apparatus itself is identified.DressThe identifier is stored,The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. The recording means in which the hash value is written in advanceFrom the recordmeansAn identifier for the first and the first hash value are obtained,DressLocator identifier and said recordmeansA second hash value uniquely determined by the identifier for use,The obtained first hash valueWhenAre compared, and if the second hash value and the first hash value match, the recordmeansAgainstSaidData recording / playback processing is controlled.Backup data of the data recorded in the recording means is generated, the second hash value is written into the backup data, and the backup data into which the second hash value is written is external A recording unit that outputs and records to a backup recording unit, and the backup data recorded in the backup recording unit is input to a recording unit to be restored and recorded; The second hash value written in the backup data recorded in the recording unit is acquired, and the acquired second hash value is used as the first hash value written in advance by overwriting. , Written to the recording unit to be restored, from the recording unit to be restored, the recording unit identifier, And written a new first hash value is obtained.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
An outline of an audio server according to an embodiment of the present invention will be described with reference to FIG. The audio server 1 reads out PCM (Pulse Code Modulation) data recorded on the music CD 3 and encodes it by the ATRAC (Adaptive Transform Acoustic Coding) 3 method, and the obtained encoded data is stored in the hard disk drive 58 (FIG. 6). Recorded and recorded encoded data is managed in association with objects having a hierarchical structure such as a folder list, folder, album, and track from the upper layer side.
[0019]
The folder list can include a plurality of folders located in the lower hierarchy. A folder can include a plurality of albums located in the lower hierarchy. An album can include a plurality of tracks located one level below. A track located at the lowest layer of the hierarchical structure has a one-to-one correspondence with encoded data for one song.
[0020]
Hereinafter, the encoded data is also referred to as content data. Folder lists, folders, albums, and tracks are also described as objects. The user designates an object and issues various commands. Details of the hierarchical structure of the object will be described later with reference to FIG.
[0021]
Further, the audio server 1 outputs the audio signal obtained from the speaker 2 by playing back the music CD 3 or decoding the encoded data recorded in the hard disk drive (hereinafter referred to as HDD) 58. .
[0022]
Further, the audio server 1 is connected to a Memory Stick (trademark) (hereinafter referred to as MS) 4 corresponding to the Magic Gate (trademark) inserted into the MS slot 45 (FIG. 5) and a connector 43 (FIG. 5). The coded data recorded in the HDD 58 is recorded on the portable device (hereinafter referred to as PD) 5 such as the Network Walkman (trademark), by the checkout process or the moveout process, and is also recorded in the MS4 or PD5. The recorded encoded data is recorded on the HDD 58 by a check-in process, a move-in process, or an import process.
[0023]
Here, the magic gate is to protect the copyright of the data by two technologies, namely, encryption of data recorded in the MS 4 corresponding to the magic gate and mutual authentication of the audio server 1 used by inserting the MS 4. This technology can prevent unauthorized copying, reproduction, and alteration of digital audio data. MagicGate complies with the SDMI (Secure Digital Music Initiative) standard.
[0024]
The check-out process, check-in process, move-out process, move-in process, and import process between the audio server 1 and the MS 4 or PD 5 will be described later.
[0025]
The MS 4 on which the encoded data is recorded is taken out from the audio server 1 and mounted on the personal computer 6, for example, and the recorded encoded data is read out and decoded.
[0026]
The PD 5 on which the encoded data is recorded decodes the encoded data and outputs the obtained audio signal from the headphones.
[0027]
The remote controller 7 receives an operation from the user and transmits a corresponding control signal to the audio server 1.
[0028]
Next, the external appearance of the audio server 1 will be described with reference to FIGS. FIG. 2 is an external view from the front upper side of the audio server 1. FIG. 3 is a top view of the audio server 1. FIG. 4 is a rear view of the audio server 1. FIG. 5 is a front view.
[0029]
On the upper surface of the audio server 1, a lid 40 for a CD tray (not shown) on which a CD is mounted is provided. The lid 40 has various buttons in addition to buttons such as the power button 11 as shown in FIG. A display 15 for displaying the information is arranged. The power button 11 is operated when turning on / off the power of the audio server 1. The function (FUNCTION) button 12 is operated when one of music CD3, HDD 58, AUX IN terminal 31, MS4, and PD5 is selected as a sound source.
[0030]
The play mode (PLAY MODE) button 13 is a normal playback mode in which all the tracks included in the playback area are played one by one in order, the all-track repeat that repeats the sequential playback of all the tracks included in the playback area, One track repeat that plays only one track repeatedly, random repeat that repeats selecting and playing randomly from all tracks included in the playback area, or randomly from all tracks included in the entire HDD This is operated when switching to slot machine playback in which the animation of the selection state is displayed and the selected track is repeatedly played back. The reproduction area will be described later with reference to FIG.
[0031]
The display (DISPLAY) button 14 is operated when switching the display content of the display 15. A display 15 such as an LCD (Liquid Crystal Display) displays information related to the operation status and audio data.
[0032]
A volume (VOLUME) button 16 is operated to increase or decrease the output volume. The cursor button 17 is operated when moving the cursor displayed on the display 15. The select (SELECT) button 18 is operated when selecting an object or the like indicated by the cursor of the display 15 or when switching the ascending order or descending order at the time of search. An erase button 19 is operated when deleting an object such as a track. The enter button 20 is operated to determine an object such as a displayed menu or a selected track. The menu / cancel (MENU / CANCEL) button 21 is operated to display or cancel various operation menus provided hierarchically. The exchange (EXCHANGE) button 22 is operated when the check-in process and the check-out process are automatically performed on the MS 4 or the PD 5.
[0033]
The record (RECORD) button 23 is operated when recording to the HDD 58 while reproducing the audio data of the music CD 3. The high speed record (HI SPEED RECORD) button 24 is operated when the audio data of the music CD 3 is recorded on the HDD 58 at high speed. Also in this case, the sound of the audio data to be recorded is output from the speaker 2 or the like. The stop button 25 is operated to stop playback or recording being executed. The playback / pause button 26 is operated to instruct the start of playback, playback pause, and release of playback pause. The cue button 27 is operated to instruct the cueing of the current track or the previous track or the rewind reproduction. The cue button 28 is operated to instruct the cueing of the next track or the fast forward reproduction.
[0034]
Although illustration is omitted, the remote controller 7 is provided with buttons having functions equivalent to those of the buttons such as the power button 11 arranged on the lid 40.
[0035]
As shown in FIG. 4, an AUX-in terminal 31, a line-out terminal 32, a subwoofer terminal 33, a speaker (L, R) terminal 34, a reset button 35, and a DC-in terminal 36 are arranged on the rear surface of the audio server 1. ing.
[0036]
The AUX IN terminal 31 can be connected to an audio output device (not shown), and can input digital audio data or an analog audio signal from the connected audio output device. The line-out terminal 32 can be connected to an amplification device (not shown) or the like, and can output an analog audio signal to the connected amplification device. The subwoofer terminal 33 can be connected to a subwoofer (not shown), and can output a low frequency component of the reproduced audio signal to the subwoofer. The speaker (L, R) terminal 34 is connected to the speaker 2 and can output a reproduced audio signal to the connected speaker 2. The reset button 35 is operated when the audio server 1 is reset. DC power is supplied to the DC-in terminal 36 from an AC power adapter (not shown).
[0037]
As shown in FIG. 5, an open lever 41, a light receiving unit 42, a connector 43, an access lamp 44, an MS slot 45, a takeout lever 46, and a headphone terminal 47 are arranged on the front of the audio server 1. The open lever 41 is slid when the lid 40 is opened. The light receiving unit 42 receives a control signal transmitted from the remote controller 7. The connector 43 is provided with a USB (Universal Serial Bus) terminal, and a PD 5, an external HDD, a keyboard, and the like can be connected via a USB cable.
[0038]
The connector 43 may be provided with an IEEE 1394 terminal and connected to a PD 5 or the like via an IEEE 1394 cable. Alternatively, a terminal for so-called Bluetooth (trademark) or IEEE802.11b (so-called wireless LAN) may be provided to connect the PD 5 or the like by wireless communication.
[0039]
The access lamp 44 blinks when data is read from or written to the MS 4 inserted in the MS slot 45 or the PD 5 connected to the connector 43. The MS 4 is inserted into the MS slot 45. The take-out lever 46 is operated when taking out the MS 4 inserted in the MS slot 45. The headphone terminal 47 can be connected to headphones, and can output a sound signal reproduced on the connected headphones.
[0040]
Next, a hardware configuration example of the audio server 1 will be described with reference to FIG. The audio server 1 includes a main CPU (Central Processing Unit) 51 that controls the entire audio server 1. A flash ROM 52, SDRAM 53, USB host controller 54, DMA controller 55, signal processor 60, Ethernet (R) controller / connector 67, and PCMCIA controller 68 are connected to the main CPU 51 via a bus 66.
[0041]
The flash ROM 52 includes an RTOS (Real Time Operating System) 71 (FIG. 7) that is started up by the main CPU 51 as soon as the power is turned on, and firmware (on the RTOS 71 for realizing various functions). In addition to Firmware, which will be described later with reference to FIG. 7, the device ID of the audio server 1, the encryption key, and the like are stored. An SDRAM (Synchronous Dynamic Random Access Memory) 53 temporarily stores predetermined data and programs when the main CPU 51 executes various processes. The USB host controller 54 controls data communication with the PD 5 connected via the connector 43.
[0042]
A DMA (Direct Memory Access) controller 55 controls data transfer among the buffer 56, the CD-ROM drive 57, the HDD 58, and the encoder / decoder 59. A buffer 56 made of SDRAM or the like temporarily buffers data that the DMA controller 55 controls transfer. The CD-ROM drive 57 reads audio data recorded on the music CD 3 at CAV 8 × speed. The HDD 58 stores encoded data generated by the encoder / decoder 59 and the like. In the HDD 58, the device ID of the HDD 58 and the hash value based on the device ID of the audio server 1 and the device ID of the HDD 58 are written.
[0043]
The encoder / decoder 59 uses the ATRAC3 system of 132 Kbps mode, 105 Kbps mode, or 66 Kbps mode for the PCM data read by the CD-ROM drive 57 and the audio data input from the AUX IN terminal 31 at an average of up to 8 times speed. Encoded data is generated by encoding at 5 times speed. The encoder / decoder 59 decodes encoded data stored in the HDD 58. Furthermore, the encoder / decoder 59 has a DES (Data Encryption Standard) engine, and uses an encryption key that generates encoded data based on the device ID and time of a predetermined part constituting the audio server 1. To encrypt.
[0044]
For example, when the HDD 58 has a capacity of 9 gigabytes and the encoder / decoder 59 encodes with the ATRAC3 method in the 105 Kbps mode, about 100 music CDs (60 minutes / sheet) can be recorded on the HDD 58. .
[0045]
The signal processing unit 60 includes a magic gate memory stick interface (hereinafter referred to as MGMS I / F) 60-1, a watermark screen (hereinafter referred to as WM screen) 60-2, an audio I / F 60-3, and sampling. It comprises a rate converter (hereinafter referred to as SRC) 60-4.
[0046]
The MGMS I / F 60-1 performs mutual authentication with respect to the MS 4 inserted into the MS slot 45 via the MS connector 61, and executes encryption of data and decryption of the encrypted data based on the result. To do. The WM screen 60-2 detects SDMI standard watermarks (such as electronic watermarks and information indicating whether copying is possible) embedded in audio data passing through the signal processing unit 60.
[0047]
The audio I / F 60-3 acquires digital audio data via the AUX IN terminal 31 and supplies the digital audio data to the SRC 60-4. Also, the audio interface 60-3 appropriately buffers the digital audio data transferred from the buffer 56 or the like in the built-in buffer 251 (FIG. 62), and then outputs it to the AD / DA 62.
[0048]
The SRC 60-4 converts the sampling rate of the digital audio data from the audio I / F 60-3 to 44.1 KHz and outputs it to the encoder / decoder 59.
[0049]
Although not shown, the signal processor 60 further includes an ATRAC3 encoder / decoder that operates at a single speed.
[0050]
The MS connector 61 relays data communication between the inserted MS 4 and the MGMS I / F 60-1. The AD / DA 62 converts the digital audio data input from the audio I / F 60-3 of the signal processing unit 60 into an analog audio signal and outputs the analog audio signal to the line-out terminal 32, the speaker terminal 34, or the headphone terminal 47. The AD / DA 62 digitizes an analog audio signal input from the AUX IN terminal 31 and outputs the digitized audio signal to the encoder / decoder 59.
[0051]
The Ethernet (R) controller / connector 67 controls data communication with other electronic devices via Ethernet (registered trademark). A PCMCIA (Personal Computer Memory Card International Association) controller 68 is equipped with a PCMCIA standard IC card interface.
[0052]
A display driver 63 and a sub CPU 64 are connected to the main CPU 51. The display driver 63 controls display on the display 15. The sub CPU 64 controls the power supply unit 65, resets the main body, counts the built-in clock, detects operations on the power button 11, etc., controls the light receiving unit 42, and controls the AD / DA 62, particularly when the power is off. And so on. The power supply unit 65 converts the DC voltage supplied from the DC-in terminal 36 into a predetermined voltage and supplies it to the entire audio server 1.
[0053]
Next, firmware that is read from the flash ROM 52 and executed by the main CPU 51 to actually perform the following functions of the audio server 1 will be described with reference to FIG. The functions of the audio server 1 are CD ripping, CD recording, HD recording (digital input), HD recording (analog input), HD play, CD play, MS play, checkout / checkin, import, moveout / movein. The correspondence between the details and the firmware will be described later with reference to FIGS. 47 to 56.
[0054]
The firmware includes four layers, that is, an application layer (APP) 72, an upper middleware layer (UMW) 73, a lower middleware layer (LMW) 74, and a device driver layer (DD) 75.
[0055]
The application layer 72 includes a main application (hereinafter referred to as main APP) 76, a hard disk application (hereinafter referred to as HD APP) 77, a CD application (hereinafter referred to as CD APP) 78, a memory stick application (hereinafter referred to as “HD APP”). Each module includes a portable device application (hereinafter referred to as PD APP) 80, and a kana-kanji conversion application (hereinafter referred to as FEP (Front End Processor)) 81.
[0056]
Each module of the application layer 72 requests processing from the corresponding module of the upper middleware layer 73 in response to a user operation related to a function executable by the audio server 1, and controls display of the processing status. Provides a user interface.
[0057]
The main APP 76 controls each module of the application layer 72. For example, at startup, a startup screen is created and each module is started. The user's operation notified from the input middleware 97 is accepted and notified to the corresponding module. Display data from each module is supplied to the display device driver 105. Switch between modules. The audio IO middleware (AIO) 94 is notified in response to a volume change operation from the user. In response to the setup operation from the user, the setting value is notified to each module. Setting information (play mode, etc.) common to each module is held. Each module is terminated in response to the power-off operation, and the system control middleware (SYSTEM) 98 is requested to power off.
[0058]
The HD APP 77 receives an operation for driving the HDD 58, notifies the hard disk middleware 82, acquires the operating state of the hard disk middleware 82, and generates display data.
[0059]
The CD APP 78 accepts an operation for driving the CD-ROM drive 57, notifies the CD middleware 88, acquires the operating state of the CD middleware 88, and generates display data.
[0060]
The MS APP 79 receives an operation related to the MS 4 inserted into the MS slot 45, notifies the MS middleware 89, acquires the operating state of the MS middleware 89, and generates display data.
[0061]
The PD APP 80 receives an operation related to the PD 5 connected to the connector 43, notifies the PD middleware 90, acquires the operation state of the PD middleware 90, and generates display data.
[0062]
The FEP 81 executes kana-kanji conversion when inputting the title of the music CD 3 to be recorded.
[0063]
The upper middleware layer 73 includes the following modules in which the functions of the audio server 1 are modeled and mounted. That is, hard disk middleware (hereinafter referred to as HD MW) 82, CD middleware (hereinafter referred to as CD MW) 88, MS middleware (hereinafter referred to as MS MW) 89, and PD middleware (hereinafter referred to as PD MW). 90 modules are described.
[0064]
The HD MW 82 is linked with the HDCC 83 that manages the encoded data stored in the HDD 58 and the CD MW 88, and the CD RIPPING 84 that compresses the audio data of the music CD 3 and records it on the HDD 58 and the audio IO middleware 94. HD REC 85 that decodes the encoded data recorded on the HDD 58 and compresses the audio data input from the AUX IN terminal 31 in cooperation with the audio IO middleware 94 and encrypts it and records it on the HDD 58 And C IN / C OUT 87 for controlling check-in / check-out with MS 4 or PD 5 in cooperation with MS MW 89 or PD MW 90.
[0065]
The CD MW 88 realizes a function as a CD player by causing the CD device driver 102 to control the CD-ROM drive 57. The MD MW 89 realizes a function as an MS player in cooperation with the audio IO middleware 94 and the MS file system middleware 95. The PD MW 90 controls the PD 5 by cooperating with the USB host middleware 96 and the USB host device driver 104.
[0066]
The lower middleware layer 74 models and implements the functions that can be shared by the modules of the upper middle layer 73: a hard disk object database middleware (hereinafter referred to as HD DB) 91, a hard disk file system middleware ( (Hereinafter referred to as HD FS) 92, MGR middleware (MGR) 93, audio IO middleware (AIO) 94, Memory Stick file system middleware (MS FS) 95, USB host middleware (USB) 96, input handle middleware (INPUT) 97 , And system control middleware (SYSTEM) 98. Each module included in the lower middleware layer 74 is called from each module constituting the upper middle layer 73.
[0067]
The device driver layer (DD) 75 includes the following modules that model each hardware device: a hard disk device driver 99, a decoder / encoder device driver 100, a DMA device driver 101, a CD device driver 102, and a signal processor device. A driver 103, a USB host device driver 104, a display device driver 105, an audio device driver 106, a key device driver 107, a power device driver 108, and a clock device driver 109 are included. In FIG. 7, the audio device driver 106 to the clock device driver 109 surrounded by a broken line are executed by the sub CPU 64. Each module is mainly composed of a library, and an API (Application Program Interface) is called from a module included in the upper middleware layer 73 or the lower middleware 74.
[0068]
Next, a FAT (File Allocation Table) type file system (data format) applied to the HDD 58 will be described with reference to FIGS. As shown in FIG. 8, the HDD 58 specifies a file recording area 121 for recording encoded data (content data) as a file, and a position where the content data recorded in the file recording area 121 is recorded. An object recording area 122 in which an object including the information is recorded is provided.
[0069]
The file management unit 123 executes all processes related to the file, such as creation of a file, issuance of an ID for a newly created file, writing to the file recording area 121, reading, and deletion. The file management unit 123 corresponds to the HD FS 92 included in the lower middleware layer 74.
[0070]
The object management unit 124 recognizes the physical position of the object in the object recording area 122, and executes writing, reading, and deletion of the object. The object management unit 124 corresponds to the HD DB 91 included in the lower middleware layer 74. The management of the object database will be described later with reference to FIGS.
[0071]
FIG. 9 shows the logical structure of the file recording area 121. The file recording area 121 is partitioned into sectors of a predetermined capacity, which is the minimum unit of writing and reading in the file recording area 121. All sectors are given serial sector numbers. The file recording area 121 is composed of a FAT area composed of a predetermined number of sectors, a system area, and a plurality of clusters. Each cluster is given a fixed-length cluster number. A file recorded in the file recording area 121 is formed by combining a plurality of clusters.
[0072]
The combined state of a plurality of clusters is recorded in a table called FAT 141 (FIG. 10). The FAT 141 is recorded in the FAT area of the file recording area 121, but is also transferred to the SDRAM 53 when the file management unit 123 operates.
[0073]
FIG. 10 shows the structure of FAT141. The FAT 141 includes a FAT header 142 and a plurality of FAT entries 144 respectively corresponding to the clusters. The header 142 includes an empty cluster list start number recording area 143. In the free cluster list start number recording area 143, the first cluster number of a series of free clusters in which no data is recorded is recorded. When there is no empty cluster, −1 = 0xFFFFFFFF is recorded in the empty cluster list start number recording area 143.
[0074]
The FAT entry 144 is assigned the same entry number as the cluster number assigned to the corresponding cluster. For example, entry number 1 is assigned to the FAT entry corresponding to cluster number 1. Hereinafter, the FAT entry having the entry number 1 is also described as FAT entry E (1). The FAT entry 144 is divided into a P column 145 and an N column 146.
[0075]
In the P column 145 of the FAT entry 144, the cluster number assigned to the cluster connected in front of the corresponding cluster is recorded. When there is no cluster connected forward, that is, when the corresponding cluster is the head of the file, 0xFFFFFFFF is recorded in the P column 146.
[0076]
In the N column 146 of the FAT entry 144, a cluster number assigned to a cluster connected behind the corresponding cluster is recorded. When there is no cluster connected backward, that is, when the corresponding cluster is the end of the file, 0xFFFFFFFF is recorded in the N column 146.
[0077]
For example, if only one file is recorded in the file recording area 121 in five clusters assigned with cluster numbers 1, 5, 6, 8, and 12, as shown in FIG. 0x00000001) in the FAT entry E (1) in the P column is recorded with 0xFFFFFFFF indicating that there is no cluster connected in the front, and the N column is a cluster number assigned to the cluster connected in the rear 5 (0xFFFFFFFF) is recorded.
[0078]
In the P column of the FAT entry E (5) of entry number 5 (0x00000005), the cluster number 1 (0x00000001) assigned to the cluster linked forward is recorded, and the column N is linked backward. The cluster number 6 (0x00000006) assigned to the cluster is recorded.
[0079]
Recording is similarly performed on FAT entries E (6) and E (8) of entry numbers 6 and 8.
[0080]
In the P column of the FAT entry E (12) of the entry number 12 (0x0000000C), the cluster number 8 (0x00000008) assigned to the cluster linked forward is recorded, and the column N is linked backward. 0xFFFFFFFF indicating that no cluster exists is recorded.
[0081]
In the free cluster list start number recording area 143, since a series of clusters from the cluster with the cluster number (0x00000002) to the cluster number (0x00000014) are free clusters in this case, the cluster number (0x00000002) indicating the head of the cluster is present. Is recorded.
[0082]
FIG. 12 shows a state in which one file is recorded in five clusters to which cluster numbers 1, 5, 6, 8, and 12 are assigned. In the first cluster of the file (cluster 1 in this case), a size recording area 151 for recording information related to the file size is provided. The file data is recorded after the second cluster (in this case, cluster 5). The size recording area 151 may be provided in the last cluster of the file (in this case, the cluster 12).
[0083]
FIG. 13 shows a configuration example of the size recording area 151. In the size recording area 151, an effective size recording area 152, a final cluster number recording area 153, and an occupied cluster number recording area 154 are provided. In the effective size recording area 152, the number of effective bytes of the last cluster (cluster 12 in this case) is recorded. Usually, the value is 1 or more, and a value less than or equal to the cluster size is recorded. In the last cluster number recording area 153, the cluster number (0x0000000C in this case) of the last cluster (in this case, cluster 12) is recorded. In the occupied cluster number recording area 154, the number of clusters constituting the data recording portion of the file (in this case, 4) is recorded.
[0084]
Next, a file creation process (that is, content data recording process), a file read process, and a reverse file read (that is, content data read process from the reverse direction) using the FAT will be described with reference to FIGS. This will be described with reference to the flowchart of FIG. Note that these processes are controlled by the file management unit 123, that is, the HD FS 92 belonging to the lower middleware layer 74 of the firmware.
[0085]
First, file creation processing will be described with reference to the flowchart of FIG. In step S1, the HD FS 92 causes the content data to be recorded on the HDD 58 to be transferred from the CM-ROM drive 57 or the like to the buffer 56 for each cluster size (the amount of transferred data is S bytes). In step S2, the HD FS 92 searches for and acquires (reserves) an empty cluster in the file recording area 121.
[0086]
This free cluster acquisition process will be described with reference to the flowchart of FIG. In step S 21, the HD FS 92 reads the value Q recorded in the free cluster list start number recording area 143 recorded in the FAT header 141. In step S22, the HD FS 92 determines whether the value Q is −1, that is, whether there is no free cluster. If it is determined that the value Q is not −1, that is, there is an empty cluster, the process proceeds to step S23. In step S23, the HD FS 92 reads the FAT entry E (Q) corresponding to the value Q (cluster number of the free cluster).
[0087]
A process for reading the FAT entry E (X) corresponding to an arbitrary cluster number X in relation to the process for reading the FAT entry E (Q) will be described with reference to the flowchart of FIG. In step S41, the HD FS 92 adds the known FAT header size to the known FAT entry start address, and multiplies the sum by a known entry size by subtracting 1 from the value X (X-1). The product is added to calculate the address A. In step S42, the HD FS 92 reads data for one entry size starting from the address A. This is the end of the description of the process of reading the FAT entry E (X) corresponding to the arbitrary cluster number X.
[0088]
Returning to FIG. 15, in step S24, the HD FS 92 determines whether or not the value in the N column of the FAT entry E (Q) is −1 (0xFFFFFFFF). If it is determined that the value in the N column of the FAT entry E (Q) is not -1, the process proceeds to step S25.
[0089]
In step S25, the HD FS 92 substitutes the value of the N column of the FAT entry E (Q) for the variable M. In step S26, the HD FS 92 reads the FAT entry E (M) corresponding to the cluster number M. In step S27, the HD FS 92 records -1 (0xFFFFFFFF) in the P column of the FAT entry E (M).
[0090]
In step S28, the HD FS 92 records -1 (0xFFFFFFFF) in the N column of the FAT entry E (Q) and records -1 (0xFFFFFFFF) in the P column of the FAT entry E (Q). In step S29, the HD FS 92 returns to FIG. 14 assuming that there is an empty cluster with the cluster number Q. This is the end of the description of the free cluster acquisition process.
[0091]
If it is determined in step S24 that the value in the N column of the FAT entry E (Q) is -1, the processes in steps S25 to S27 are skipped.
[0092]
If it is determined in step S22 that the value Q recorded in the free cluster list start number recording area 143 is -1, the process proceeds to step S30. In step S30, the HD FS 92 returns to FIG. 14 assuming that there is no free cluster. However, if there is no free cluster, the HDD 58 is full and the file creation process in FIG. 14 is terminated.
[0093]
Hereinafter, the explanation will be continued by replacing the acquired empty cluster with the cluster number Q with the empty cluster with the cluster number V. In step S3, the HD FS 92 substitutes the cluster number V of the free cluster for the variables X and A. In step S4, the HD FS 92 substitutes 0 for the number of occupied clusters T. In step S5, the HD FS 92 acquires a new free cluster in the same manner as the process in step S2 described above. Let V be the cluster number of the acquired free cluster. Here, when a new free cluster cannot be acquired, this file creation process is terminated.
[0094]
In step S6, the HD FS 92 substitutes the value V for the variable B. In step S7, the HD FS 92 increments the occupied cluster number T by one. In step S8, the HD FS 92 converts the cluster number B into a sector number (for example, when sectors and clusters are associated as shown in FIG. 9, cluster number 2 is converted into sector numbers 28 to 35). ). The sector number corresponding to the cluster number B is determined). In step S 9, the HD FS 92 records the content data buffered in step S 1 in the converted sector number of the file recording area 121.
[0095]
After the recording of the buffered content data is completed, in step S10, the HD FS 92 connects the cluster with the cluster number B to the cluster with the cluster number A (which is an empty cluster at this time). This connection process will be described with reference to the flowchart of FIG.
[0096]
Similar to the processing described above with reference to FIG. 16, the HD FS 92 reads the FAT entry E (A) corresponding to the cluster number A in step S51, and in step S52, the FAT entry E (B) corresponding to the cluster number B. ). In step S53, the HD FS 92 records the cluster number B in the N column of the FAT entry E (A), and records the cluster number A in the P column of the FAT entry E (B). Note that the processing in step S53 is executed on the FAT 141 expanded in the SDRAM 53. This is the end of the description of the process of linking the cluster with cluster number A and the cluster with cluster number B.
[0097]
Returning to FIG. 14, in step S11, the HD FS 92 determines whether the data amount S of the content recorded in step S9 is equal to the cluster size. If it is determined that the data amount S of the content recorded in step S9 is equal to the cluster size, recording of the content data to be recorded has not been completed, and the process proceeds to step S12.
[0098]
In step S12, the continuation of the previously recorded content data is transferred to the buffer 56 by the cluster size. In step S13, the cluster number B is substituted into the variable A. In step S14, the HD FS 92 acquires a new free cluster in the same manner as the process in step S2 described above. Let V be the cluster number of the acquired free cluster. In step S14, when a new empty cluster cannot be acquired, the process proceeds to step S17. In step S15, the HD FS 92 substitutes the value V for the variable B. In step S16, the HD FS 92 increments the number of occupied clusters T by one.
[0099]
Thereafter, the process returns to step S8, and the subsequent processes are repeated. If it is determined in step S11 that the data amount S of the content recorded in step S9 is not equal to the cluster size, since the recording of the content data to be recorded has been completed, the process proceeds to step S17.
[0100]
In step S17, the HD FS 92 provides a size recording area 151 in the empty cluster with the cluster number X acquired in step S2, and records the data amount S recorded in the last cluster in the effective size recording area 152, and the final cluster The value of the variable B is recorded in the number recording area 153, and the value of the variable T is recorded in the occupied cluster number recording area 154.
[0101]
In step S18, the FAT 141 recorded in the FAT area of the file recording area 121 is updated with the FAT 141 rewritten in the process of step S10. As described above, a new file is created. A file identifier having the same value as the first cluster number of a series of clusters in which content data is recorded is issued to the created file.
[0102]
Next, read processing of a file whose file identifier is X (hereinafter referred to as file X) will be described with reference to the flowchart of FIG. In step S61, the HD FS 92 executes a search process for determining whether the file X exists.
[0103]
The file X search process will be described with reference to the flowchart of FIG. In step S81, the HD FS 92 acquires the FAT entry E (X) corresponding to the entry number X. In step S82, the HD FS 92 determines whether or not the value in the P column of the FAT entry E (X) is −1 (0xFFFFFFFF). If it is determined that the value in the P column of the FAT entry E (X) is -1, the process proceeds to step S83. In step S83, the HD FS 92 determines that the file X exists because the cluster having the entry number X (= cluster number X) is the first cluster in the series of clusters in which the file is recorded. The process returns to the 18 file reading process.
[0104]
Conversely, if it is determined in step S82 that the value in the P column of the FAT entry E (X) is not -1, the process proceeds to step S84. In step S84, the HD FS 92 determines that the file X does not exist because the cluster with the entry number X (= cluster number X) is not the first cluster in the series of clusters in which the file is recorded. Returning to the file reading process of FIG. This is the end of the description of the file X search process.
[0105]
Hereinafter, the description is continued assuming that the file X is determined to exist in the file search process. In step S62, the HD FS 92 determines whether or not the value in the N column of the FAT entry E (X) is −1 (0xFFFFFFFF). If it is determined that the value in the N column of the FAT entry E (X) is −1, data does not exist in the file X, so the reading process ends.
[0106]
In step S62, the process in which the value in the N column of the FAT entry E (X) is not −1 proceeds to step S63. In step S63, the HD FS 92 converts the cluster number X (first cluster) into a sector number. In step S 64, the HD FS 92 controls the DMA controller 55 to read the size recording area 151 recorded in the converted sector number and cause the buffer 56 to buffer it. In step S64, the HD FS 92 determines the effective size S (the last cluster in the series of clusters in which the file X is recorded) recorded in the effective size recording area 152 of the size recording area 151 buffer-linked in step S63. The amount of data recorded in the
[0107]
In step S66, the HD FS 92 substitutes the value of the N column of the FAT entry E (X) for the variable C. In step S67, the HD FS 92 reads the FAT entry E (C) corresponding to the cluster number C, that is, the second cluster, in the same manner as the processing described above with reference to FIG. In step S68, the HD FS 92 converts the cluster number C into a sector number. In step S <b> 69, the HD FS 92 controls the DMA controller 55 to read out the content data for one cluster recorded in the sector having the converted sector number and cause the buffer 56 to buffer the content data.
[0108]
In step S70, the HD FS 92 determines whether or not the value in the N column of the FAT entry E (C) is −1 (0xFFFFFFFF). If it is determined that the value in the N column of the FAT entry E (C) is not -1, the process proceeds to step S71. In step S71, the HD FS 92 controls the DMA controller 55 to output all the data buffered by the buffer 56 to the encoder / decoder 59 or the like. Since all of the content data of the file X has not been read yet, the process proceeds to step S72. In step S72, the HD FS 92 substitutes the value in the N column of the FAT entry E (C) for the variable C. The process returns to step S67, and the subsequent processes are repeated.
[0109]
Thereafter, when it is determined in step S70 that the value in the N column of the FAT entry E (C) is −1, reading from the last cluster in which the content data of the file X is recorded is completed. The process proceeds to step S73. In step S73, the HD FS 92 controls the DMA controller 55 to output the data corresponding to the effective data size S, which is the end of the content data, buffered by the buffer 56 to the encoder / decoder 59 or the like.
[0110]
If it is determined in the file search process in step S61 that the file X does not exist, the process proceeds to step S74, an error determination is made, and the file X file read process ends. This is the end of the description of the file X read processing.
[0111]
Next, the reverse reading process of the file X will be described with reference to the flowchart of FIG. Here, the reverse reading process is, for example, reproducing content data having a reproduction time of 100 seconds from about 90 seconds to about 100 milliseconds, then reproducing from about 80 seconds to about 100 milliseconds, This is a process that can be used when playing back every few seconds so as to play back only about 100 milliseconds from the 70th second.
[0112]
In step S91, the HD FS 92 converts the file identifier (= X, hereinafter referred to as ID (X)) of the file X into a sector number. However, ID (X) is the same as the cluster number of the first cluster in the series of clusters in which the file X is recorded.
[0113]
In step S92, the FAT entry E (X) corresponding to the cluster X is read. In step S93, the HD FS 92 controls the DMA controller 55 to read the size recording area 151 recorded in the sector of the sector number converted in step S91 and buffer it in the buffer 56. In step S94, the HD FS 92 reads the effective size S from the effective size recording area 152 of the size recording area 151 buffer-linked in step S93 and the final cluster number Z from the final cluster number recording area 153.
[0114]
In step S95, the HD FS 92 determines whether or not the final cluster number Z and ID (X) are the same. If it is determined that the final cluster number Z and the ID (X) are the same, the content data does not exist in the file X, so the reverse reading process is terminated.
[0115]
If it is determined that the final cluster number Z and ID (X) are not the same, the process proceeds to step S96. In step S96, the HD FS 92 converts the final cluster number Z into a sector number. In step S97, the HD FS 92 controls the DMA controller 55 to read out data including the tail part of the content data recorded in the sector number converted in step S96 and cause the buffer 56 to buffer the data. In step S98, the HD FS 92 controls the DMA controller 55 so that only S bytes of the data buffered in the buffer 56, that is, only the last part of the content data are sent to the encoder / decoder 59 and the like. Output.
[0116]
In step S99, the HD FS 92 reads the FAT entry E (Z) corresponding to the final cluster number Z. In step S100, the HD FS 92 determines whether or not the value in the P column of the FAT entry E (Z) is the same as ID (X). If it is determined that the value in the P column of the FAT entry E (Z) is the same as the ID (X), the content data of the file X is recorded in only the last one cluster, so reverse reading is performed. The process ends.
[0117]
If it is determined that the value in the P column of the FAT entry E (Z) is not the same as the ID (X), the process proceeds to step S101 to read back one cluster from the last side. In step S101, the HD FS 92 substitutes the value of the P column of the FAT entry E (Z) for the variable C.
[0118]
In step S102, the HD FS 92 reads the FAT entry E (C) corresponding to the cluster number C. In step S103, the HD FS 92 converts the cluster number C into a sector number. In step S104, the HD FS 92 controls the DMA controller 55 to read the content data recorded in the sector number converted in step S103 and cause the buffer 56 to buffer the content data. In step S105, the HD FS 92 controls the DMA controller 55 to output the content data for one cluster buffered by the buffer 56 to the encoder / decoder 59 or the like.
[0119]
In step S106, the HD FS 92 determines whether or not the value in the P column of the FAT entry E (C) corresponding to the cluster number C is the same as ID (X). If it is determined that the value in the P column of the FAT entry E (C) is not the same as the ID (X), the entire file X has not been read out. Advances to step S107. In step S107, the HD FS 92 substitutes the value of the P column of the FAT entry E (C) for the variable C. The processing returns to step S102, and the subsequent processing is repeated.
[0120]
After that, if it is determined in step S106 that the value in the P column of the FAT entry E (C) is the same as the ID (X), the file X is completely read up to the beginning, so the reverse reading process ends. To do. This is the end of the description of the reverse read processing of the file X.
[0121]
As described above, according to the HD FS92 of the audio server 1, the cluster number of the first cluster of the area in which the file is recorded, which is a fixed length value, is assigned as the file identifier for specifying the file. As a result, the recording position of the file can be easily specified. Therefore, compared with the case where the file name is not a fixed length, the file search time can be greatly reduced.
[0122]
In addition, since the file identifier has a fixed length, the time required for file search can be made uniform.
[0123]
Also, according to the HD FS92 of the audio server 1, since there is no limit on the size of the file to be recorded, not only audio data but also larger size data such as video data can be recorded as a file.
[0124]
Further, according to the HD FS92 of the audio server 1, when one file is recorded over a number of clusters, the cluster is used in the forward direction, so that the seek is in a fixed direction during recording and reproduction. Therefore, the occurrence of recording omission during recording and sound skipping during reproduction are suppressed.
[0125]
Next, objects corresponding to folders, albums, or tracks will be described with reference to FIGS. FIG. 21 shows the logical structure of the object recording area 122 in which objects are recorded. The object recording area 122 includes a system area 161 and a plurality of chunks partitioned into a predetermined capacity. Objects are recorded in chunks.
[0126]
In the system area 161, a header 162, an object type recording area 163, and an area information recording area 164 are provided. A plurality of chunks are assigned serial numbers starting with 1 in order from the beginning. Hereinafter, for example, a chunk assigned number 1 is chunk 1, and a chunk assigned number 2 is chunk 2. And so on.
[0127]
The chunk is further divided into pages having a predetermined capacity. The pages constituting the chunk are assigned serial numbers starting from 0 in order from the top. For example, pages assigned number 0 are page 0 and pages assigned number 1 are listed below. It is described as page 0.
[0128]
FIG. 22 shows the structure of the object type recording area 163 of the system area 161. It consists of a header 165 and T entries. T is a preset constant. In the header 165, an entry number recording area 166 is provided. In the entry number recording area 166, the number of entries currently registered (the maximum value is T) is recorded.
[0129]
In each entry of the object type recording area 163, a size recording area 167, a basic object type number recording area 168, and a parameter recording area 169 are provided. For example, information about the object type number t is recorded in the entry t. That is, the size of the object of the object type number t is recorded in the size recording area 167 of the entry t. In the basic object type number recording area 168 of the entry t, a basic object type number indicating the basic object type to which the object of the object type number t belongs is recorded. In the parameter recording area 169 of the entry t, information on the size when the size of the object of the object type number t is variable length is recorded.
[0130]
FIG. 23 shows the area information recording area 164 of the system area 161. The area information recording area 164 is composed of a bit string of the total number of pages of the object recording area 122 (a value obtained by multiplying the total number of chunks by the number of pages constituting one chunk). However, for convenience of explanation, FIG. 23 shows the area information recording area 164 using a matrix of (total number of chunks) columns × (number of pages constituting one chunk) rows. For example, in FIG. 23, the bit indicated by “◯” in the q column p row corresponds to the page p of the chunk q, and when the page p of the chunk q is in use, the bit indicated by “◯” 1 is recorded. On the other hand, when the page p of the chunk q is not in use, 0 is recorded in the bit indicated by “◯”.
[0131]
FIG. 24 shows a configuration example of the object management unit 124 corresponding to the HD DB 91 included in the lower middleware layer 74. The object management unit 124 includes an object type registration unit 171, a storage area management unit 172, a session management unit 173, and a cache management unit 174.
[0132]
The object type registration unit 171 performs registration of an object type (writing to the object type recording area 163). In addition, the object type registration unit 171 performs a response to the object type inquiry (reading from the object type recording area 163).
[0133]
The storage area management unit 172 inverts a predetermined bit in the area information recording area 164. In addition, the storage area management unit 172 retrieves a continuous unused area having a predetermined number of pages by reading the bits of the area information recording area 164. Further, the storage area management unit 172 issues an identifier for each object.
[0134]
The session management unit 173 issues a session number for the currently running session and manages the session management information 181 (FIG. 25). Here, the session is a term indicating processing for controlling data writing, reading, and the like.
[0135]
FIG. 25 shows a configuration example of the session management information 181. The session management information 181 has a current session number storage area 182 in which the number of currently open sessions (hereinafter referred to as the current session number) is stored, and has an access right corresponding to each object. It consists of S entries in which session information is recorded. The maximum value and the value S of the current session number are set in advance.
[0136]
The entries of the session management information 181 include an object identifier storage area 183, a read / write session number storage area 184, read only session number storage areas 185 to 188, an object state storage area 189, a read cache address storage area 190, and a write cache address storage. An area 191 and an access time storage area 192 are provided.
[0137]
The object identifier storage area 183 stores the object identifier (FIG. 27) of the corresponding object. The read / write session number storage area 184 stores a session number of a session having a write right for the corresponding object. In the read-only session number storage areas 185 to 188, session numbers of sessions having a read right for the corresponding object are stored. Note that a plurality of sessions having a read right for an object may exist at the same time, and FIG. 25 shows a case where only one write and read right is given when there are up to four read rights. .
[0138]
The object state storage area 189 stores information indicating the state of the corresponding object (“CREATE” indicating creation, “UPDATE” indicating update, or “REMOVE” indicating deletion). The read cache address storage area 190 stores a read cache address for temporarily storing an object to be read. The write cache address storage area 191 stores a write cache address for temporarily storing an object to be written. The access time storage area 192 stores the last access time for the corresponding object.
[0139]
If there is no information to be stored in the object identifier storage area 183 to the access time storage area 192, 0 is stored.
[0140]
FIG. 26 shows a configuration example of a basic object first type and a basic object second type, which are two types of basic object types of objects recorded in a chunk.
[0141]
As shown in FIG. 26A, the basic object type 1 includes an object identifier recording area 201 in which its own object identifier is recorded, and arbitrary data (for example, data such as the name of an object set by the user). It consists of an arbitrary data recording area 202 to be recorded. The basic object type 1 includes folder list, folder, and album objects.
[0142]
As shown in FIG. 26B, the basic object type 2 includes an object identifier recording area 201 in which its own object identifier is recorded, an arbitrary data recording area 202 in which arbitrary data is recorded, and self (object). The file identifier recording area 203 stores the file identifier of the corresponding file. The basic object type 2 includes a track object.
[0143]
As shown in FIG. 27, the object identifier recorded in the object identifier recording area 201 is composed of a chunk number, its page number, and a model number indicating the head of a series of pages in which the corresponding object is stored. The type number is based on the basic object type number to which the corresponding object belongs (one of the basic object first type or the basic object second type) and the entry number of the object type recording area 163 in which the type of the corresponding object is registered. Composed.
[0144]
Next, object creation processing, object search processing, object update processing, stream object creation processing, and stream object search processing will be described with reference to the flowcharts of FIGS. Here, the stream object is a term that particularly refers to an object that corresponds to the content data recorded in the file recording area 121 in a one-to-one relationship, that is, a track. The stream object belongs to the basic object type 2 (FIG. 26B). Therefore, an object that is not a stream object is a folder or album object and belongs to the basic object type 1.
[0145]
Note that these processes are controlled by the object management unit 124, that is, the HD DB 91 belonging to the lower middleware layer 74 of the firmware.
[0146]
First, the process of creating an object that is not a stream object will be described with reference to the flowchart of FIG. 28, taking as an example the case of creating an object of object type number t. The object type number t includes a basic type number (in this case, the basic object first type) and an entry number, as shown in FIG.
[0147]
In step S121, the HD DB 91 opens a write session. Processing for establishing a light session will be described with reference to the flowchart of FIG. In step S141, the HD DB 91 reads the current session number stored in the current session number storage area 182 of the session management information 181 and determines whether or not the read current session number is smaller than a preset maximum value. judge. If it is determined that the number of current sessions is smaller than the preset maximum value, the process proceeds to step S142.
[0148]
In step S142, the HD DB 91 increments the current session number stored in the current session number storage area 182 of the session management information 181 by one. In step S143, the HD DB 91 establishes a write session and issues a session number Z by a random number, for example. The processing returns to FIG.
[0149]
If it is determined in step S141 that the number of current sessions is not smaller than the preset maximum value, no more sessions can be opened, and the process proceeds to step S144. In step S144, the HD DB 91 Is determined to be an error. The session establishment process is terminated, and the object creation process in FIG. 28 is interrupted.
[0150]
In step S122 of FIG. 28, the HD DB 91 obtains the object of the object type number t from the size recording area 167 of the entry t of the object type recording area 163 in order to secure a chunk page for recording the object of the object type number t. And the number of chunk pages corresponding to the size is calculated. Let the calculated number of pages be g.
[0151]
In step S123, the HD DB 91 secures an empty entry among a plurality of entries constituting the session management information 181. Processing for securing a free entry will be described with reference to the flowchart of FIG.
[0152]
In step S151, the HD DB 91 initializes the variable M to 1. In step S152, the HD DB 91 determines whether or not the variable M is equal to or less than the number S of entries constituting the session management information 181. If it is determined that the variable M is equal to or less than the number S of entries, the process proceeds to step S153. In step S153, the HD DB 91 reads the value of the object identifier storage area 183 of the entry M configuring the session management information 181. In step S154, the HD DB 91 determines whether the value of the object identifier storage area 183 of the read entry M is 0. If it is determined that the value of the object identifier storage area 183 of the entry M is 0, it can be determined that the entry M is an empty entry, so the entry M is secured and the processing returns to FIG.
[0153]
If it is determined in step S154 that the value of the object identifier storage area 183 of entry M is not 0, the process proceeds to step S155. In step S155, the HD DB 91 increments the variable M by 1. The process returns to step S152, and the subsequent processes are repeated. After that, if it is determined in step S154 that the value of the object identifier storage area 183 of the entry M is not 0, and it is determined in step S152 that the variable M is not less than or equal to the number S of entries, it is currently empty. Since no entry exists, the process proceeds to step S156 to create a free entry.
[0154]
In step S156, the HD DB 91 determines whether there is an entry whose values of the read / write session number storage unit 184 and the read only session number storage units 185 to 188 are all 0 among the entries constituting the session management information 181. Determine whether or not. If it is determined that such an entry exists, the process proceeds to step S157. In step S157, the HD DB 91 determines the entry having the smallest value in the access time storage area 192 among the entries in which the values of the read / write session number storage unit 184 and the read only session number storage units 185 to 188 are all 0 ( That is, the oldest access time entry) is extracted.
[0155]
In step S158, the HD DB 91 clears the values of the extracted object identifier storage area 182 to access time storage area 192 to 0, and reserves the entry as a free entry M. The processing returns to FIG.
[0156]
In step S156, it is determined that there are no entries in which the values of the read / write session number storage unit 184 and the read-only session number storage units 185 to 188 are all 0 among the entries constituting the session management information 181. In such a case, an empty entry cannot be secured, and the process proceeds to step S159. In step S159, the HD DB 91 determines that an error has occurred. The empty entry securing process is terminated, and the object creation process in FIG. 28 is interrupted.
[0157]
Returning to FIG. 28, in step S124, the HD DB 91 searches the bit string of the area information recording area 164 for a bit string in which 0 is recorded continuously for g bits. The leading position of the searched bit string in which 0 is continuously recorded for g bits is defined as q column and p row. In step S125, the HD DB 91 stores in the object identifier storage area 183 of the reserved entry M the object identifier OID (q, p, q) including the chunk number q, page number p, and object type number t as shown in FIG. Store t). Also, the HD DB 91 stores the session number Z in the read / write session number storage area 184 of the entry M of the session management information 181, and further records “CREATE” indicating creation in the object state storage area 189.
[0158]
In step S126, the HD DB 91 reserves in the buffer 56 a write cache area d equal to the number of pages g that is the size of the object. In step S127, the HD DB 91 stores the address of the write cache area d in the secured buffer 56 in the write cache address storage area 191 of the entry M of the session management information 181.
[0159]
In step S128, the HD DB 91 starts recording the object basic first type object X shown in FIG. 26A in the write cache area d secured in the buffer 56. As the start, the write cache area d The object identifier OID (q, p, t) is recorded in the object identifier recording area 201. In step S129, the HD DB 91 records arbitrary data of the object to be created (for example, the name of the object to be created) in the arbitrary data recording area 202 of the write cache area d.
[0160]
In step S130, the HD DB 91 waits for the input of the signal I corresponding to the user operation. In step S131, the HD DB 91 determines whether or not the signal I is commit, that is, whether to confirm session creation. When it is determined that the signal I is commit, the process proceeds to step S132, and the light session Z is determined. On the other hand, if it is determined that the signal I is not commit, the process proceeds to step S133, and the light session Z is discarded.
[0161]
The process for determining the write session in step S132 will be described with reference to the flowchart of FIG. Note that “confirming a session” means that the recording of the object recording area 122 is reflected and confirmed in the creation, update, movement, etc. of an object performed after the session is established.
[0162]
In step S171, the HD DB 91 initializes the variable M to 1. In step S172, the HD DB 91 determines whether or not the variable M is equal to or less than the number S of entries constituting the session management information 181. If it is determined that the variable M is equal to or less than the number S of entries, the process proceeds to step S173. In step S173, the HD DB 91 reads the value of the read / write session number storage area 184 of the entry M configuring the session management information 181 and determines whether or not it matches the session number Z. When it is determined that the value of the read / write session number storage area 184 of the entry M and the session number Z do not match, in order to search for an entry in which the value of the read / write session number storage area 184 of the entry M matches the session number Z The process proceeds to step S174.
[0163]
In step S174, the HD DB 91 increments the variable M by 1. The process returns to step S172, and the subsequent processes are repeated. If it is determined in step S173 that the value of the read / write session number storage area 184 of the entry M matches the session number Z, the process proceeds to step S175. That is, only the entry in which the session number Z is stored in the read / write session number storage area 184 is extracted, and the processes after step S175 are performed.
[0164]
In step S175, the HD DB 91 reads the object identifier from the object identifier storage area 183 of the entry M in which the session number Z is stored in the read / write session number storage area 184. In step S176, the HD DB 91 reads information J indicating the object state from the object state storage area 189 of the entry M in which the session number Z is stored in the read / write session number storage area 184. In step S176, the HD DB 91 determines whether the information J indicating the object state is “CREATE”, “UPTATE”, or “REMOVE”.
[0165]
If it is determined in step S177 that the information J indicating the object state is “CREATE”, the process proceeds to step S178. In step S178, the HD DB 91 records the object recorded in the write cache area d secured in the buffer 56 after the page q of the chunk p in the object recording area 122. In step S179, the HD DB 91 records 1 in the g bits after the q column p rows in the area information recording area 164.
[0166]
In step S180, the HD DB 91 copies the value of the write cache address storage area 191 of the entry M to the read cache address storage area 190. At this time, if a value other than 0 is stored in the read cache address storage area 190, the read cache area provided with the buffer 56 indicated by the value is released.
[0167]
In step S181, the HD DB 91 stores 0 in the read / write session number storage area 184 and the write cache address storage area 191 of the entry M. In step S182, the HD DB 91 updates the value of the access time storage area 192 of the entry M with the current time.
[0168]
If it is determined in step S177 that the information J indicating the object state is “UPDATE”, the process proceeds to step S183. In step S183, the HD DB 91 records the object recorded in the write cache area d secured in the buffer 56 after the page q of the chunk p in the object recording area 122. The process proceeds to step S180.
[0169]
If it is determined in step S177 that the information J indicating the object state is “REMOVE”, the process proceeds to step S184. In step S184, the HD DB 91 records 0 in the g bits after the q column p rows in the area information recording area 164. In step S185, the HD DB 91 releases the write cache and read cache that the entry M has secured in the buffer 56. In step S186, the HD DB 91 stores 0 in the object identifier storage area 183 to the access time storage area 192 of the entry M. The process proceeds to step S174.
[0170]
Thereafter, the subsequent processing is repeated until it is determined in step S172 that the variable M is not less than or equal to the number S of entries. When it is determined that the variable M is not less than or equal to the number S of entries, the process for determining the write session is completed.
[0171]
The process of step S133 of FIG. 28, that is, the process of discarding the write session will be described with reference to the flowchart of FIG. In step S191, the HD DB 91 initializes the variable M to 1. In step S192, the HD DB 91 determines whether or not the variable M is equal to or less than the number S of entries constituting the session management information 181. If it is determined that the variable M is equal to or smaller than the number S of entries, the process proceeds to step S193.
[0172]
In step S193, the HD DB 91 reads the value of the read / write session number storage area 184 of the entry M configuring the session management information 181 and determines whether or not it matches the session number Z. When it is determined that the value of the read / write session number storage area 184 of the entry M and the session number Z do not match, in order to search for an entry in which the value of the read / write session number storage area 184 of the entry M matches the session number Z The process proceeds to step S194. In step S194, the HD DB 91 increments the variable M by 1. The process returns to step S192, and the subsequent processes are repeated.
[0173]
If it is determined in step S193 that the value of the read / write session number storage area 184 of the entry M matches the session number Z, the process proceeds to step S195. That is, only the entry in which the session number Z is stored in the read / write session number storage area 184 is extracted, and the processes after step S195 are performed.
[0174]
In step S195, the HD DB 91 releases the write cache area secured by the entry M in the buffer 56. In step S196, the HD DB 91 determines whether or not the object state stored in the object state storage area 189 of the entry M is “CREATE” and determines that the object state is not “CREATE”. The process proceeds to step S197.
[0175]
In step S197, the HD DB 91 stores 0 in the read / write session number storage area 184 and the write cache address storage area 191 of the entry M. In step S198, the HD DB 91 updates the value of the access time storage area 192 of the entry M with the current time. The process proceeds to step S194.
[0176]
If it is determined in step S196 that the object state stored in the object state storage area 189 of the entry M is “CREATE”, the process proceeds to step S199. In step S199, the HD DB 91 stores information other than the read / write session number storage area 184 and the write cache address storage area 191 of the entry M, that is, an object identifier storage area 183, read only session number storage areas 185 to 188, and an object state storage area. 189, 0 is stored in the read cache address storage area 190 and the access time storage area 192. The process proceeds to step S194.
[0177]
Thereafter, the subsequent processing is repeated until it is determined in step S192 that the variable M is not less than or equal to the number S of entries. If it is determined that the variable M is not less than or equal to the number S of entries, the process for discarding the write session is completed.
[0178]
Next, object search processing will be described with reference to the flowchart of FIG. 33, taking as an example the case of searching for an object with object identifier OID = X (hereinafter referred to as object X). It is assumed that a session has already been established.
[0179]
In step S201, the HD DB 91 acquires an entry M corresponding to the object X. Processing for acquiring an entry corresponding to the object X will be described with reference to the flowchart of FIG.
[0180]
In step S211, the HD DB 91 initializes the variable M to 1. In step S212, the HD DB 91 determines whether or not the variable M is equal to or less than the number S of entries constituting the session management information 181. If it is determined that the variable M is equal to or less than the number S of entries, the process proceeds to step S213.
[0181]
In step S213, the HD DB 91 reads the value of the object identifier storage area 183 of the entry M constituting the session management information 181 and determines whether or not the object identifier OID = X of the object X matches. When it is determined that the value of the object identifier storage area 183 of the entry M does not match the object identifier OID = X of the object X, the entry where the value of the object identifier storage area 183 and the object identifier OID = X of the object X match The process proceeds to step S214.
[0182]
In step S214, the HD DB 91 increments the variable M by 1. The process returns to step S212, and the subsequent processes are repeated. If it is determined in step S213 that the value of the object identifier storage area 183 of the entry M matches the object identifier OID = X of the object X, the entry M corresponding to the object X can be acquired. Is terminated, and the process returns to FIG.
[0183]
In step S213, it continues to be determined that the value of the object identifier storage area 183 of the entry M and the object identifier OID = X of the object X do not match. In step S212, if the variable M is equal to or less than the number of entries S. If it is determined that there is not, the process proceeds to step S215. In step S215, the HD DB 91 determines that there is an error, that is, the entry M corresponding to the object X could not be acquired, and ends this processing. The processing returns to FIG.
[0184]
Returning to FIG. 33, if the entry M corresponding to the object X can be acquired in the process of step S201, the process proceeds to step S202. In step S202, since the HD DB 91 has acquired the entry M corresponding to the object X, it is determined that the object X exists in the buffer 56, and the process ends.
[0185]
On the other hand, if the entry M corresponding to the object X cannot be acquired in the process of step S201, the process proceeds to step S203. In step S203, the HD DB 91 disassembles the object identifier OID = X of the object X, and obtains the chunk number, page number, and object X type number t of the object recording area 122 in which the object is recorded.
[0186]
In step S204, the HD DB 91 reads the value of the size recording area 167 of the entry corresponding to the model number t from the object type recording area 163, and calculates the number of pages g necessary for recording the object X based on the value. calculate.
[0187]
In step S <b> 205, the HD DB 91 refers to the area information storage area 164 and determines whether or not g bits after q rows and p columns are 1. If it is determined that the g bits after the q row and the p column in the area information storage area 164 are 1, the process proceeds to step S206. In step S <b> 206, the HD DB 91 sets the read cache area c corresponding to the page number g in the buffer 56. In step S <b> 207, the HD DB 91 copies the data recorded in the page number g after the page p of the chunk q in the object recording area 122 to the read cache area c in the buffer 56.
[0188]
In step S208, the HD DB 91 determines whether or not the object identifier recorded in the portion corresponding to the object identifier recording area 201 of the data copied to the read cache area c matches the object identifier X. If it is determined that they match, since the data cached in the read cache area c is the object X, the process proceeds to step S202.
[0189]
If it is determined in step S208 that the object identifier recorded in the portion corresponding to the object identifier recording area 201 of the data copied to the read cache area c does not match the object identifier X, the process proceeds to step S209. In step S209, the HD DB 91 determines that the object X does not exist in the object recording area 122, and ends the process.
[0190]
Next, the update process of the object X will be described with reference to the flowchart of FIG. Here, the update process of the object X is a process of rewriting arbitrary data of the object X.
[0191]
In step S221, the HD DB 91 opens a light session Z in the same manner as the process in step S121 described above with reference to FIG. In step S222, the HD DB 91 obtains the entry M for the object X in the same manner as the processing in step S201 described above with reference to FIG.
[0192]
If the entry M corresponding to the object X can be acquired in the process of step S222, it is determined that the object X is cached in the read cache area c set in the buffer 56, and the process proceeds to step S223. In step S223, the HD DB 91 determines whether or not the value of the read / write session number storage area 184 of the entry M is 0. If it is determined that the value of the read / write session number storage area 184 of the entry M is 0, the process proceeds to step S224.
[0193]
In step S224, the HD DB 91 stores the session number Z of the write session established in step S221 in the read / write session number storage area 184 of the entry M. In step S225, the HD DB 91 disassembles the object identifier OID = X of the object X, and acquires the chunk number, page number, and object X type number t of the object recording area 122 in which the object is recorded.
[0194]
In step S226, the HD DB 91 reads the value of the size recording area 167 of the entry corresponding to the model number t from the object type recording area 163, and calculates the number of pages g necessary for recording the object X based on the value. calculate. In step S227, the HD DB 91 sets the write cache area d corresponding to the page number g in the buffer 56. In step S228, the HD DB 91 stores the address of the write cache area d in the write cache address storage area 191 of the entry M.
[0195]
In step S229, the HD DB 91 copies the data in the read cache area c of the buffer 56 to the write cache area d. In step S230, the HD DB 91 records arbitrary data to be updated by the object X in the arbitrary data recording area 202 of the object X copied to the write cache area d. In step S231, the HD DB 91 stores information “UPDATE” indicating update in the object state storage area 189 of the entry M.
[0196]
In step S232, the HD DB 91 waits for input of the signal I corresponding to the user operation. In step S233, the HD DB 91 determines whether or not the signal I is commit, that is, whether to update the session. If it is determined that the signal I is commit, the process proceeds to step S234. In step S234, the HD DB 91 determines the light session Z in the same manner as in step S132 described above with reference to FIG. Conversely, if it is determined that the signal I is not a commit, the process proceeds to step S235. In step S235, the HD DB 91 discards the light session Z in the same manner as the process in step S133 described above with reference to FIG.
[0197]
If it is determined in step S223 that the value of the read / write session number storage area 184 of the entry M is not 0, it can be determined that the object X is being updated by a session other than the session Z. The process proceeds to step S235.
[0198]
If the entry M corresponding to the object X cannot be acquired in the process of step S222, the process proceeds to step S236. In step S236, the HD DB 91 secures a free entry M as in the process of step S123 described above with reference to FIG.
[0199]
In step S237, the HD DB 91 disassembles the object identifier OID = X of the object X, and acquires the chunk number, page number, and object X type number t of the object recording area 122 in which the object is recorded. In step S238, the HD DB 91 reads the value of the size recording area 167 of the entry corresponding to the model number t from the object type recording area 163, and calculates the number of pages g necessary for recording the object X based on the value. calculate. In step S239, the HD DB 91 sets the read cache area c and the write cache area d corresponding to the page number g in the buffer 56.
[0200]
In step S240, the HD DB 91 stores the address of the read cache area c in the read cache address storage area 190 of the entry M, stores the address of the write cache area d in the write cache address storage area 191 of the entry M, and The object identifier IOD = X of the object X is stored in the object identifier storage area 183.
[0201]
In step S <b> 241, the HD DB 91 copies the data of the object X recorded up to the page number g after the page p of the chunk q in the object recording area 122 to the read cache area c of the buffer 56. The process proceeds to step S229.
[0202]
As described above, in the update process of the file X, the data of the file X is copied from the read cache area c to the write cache area d, and the data of the file X cached in the write cache area d is rewritten and rewritten. The result is recorded in the object recording area 122 by the process of determining the session.
[0203]
Next, a process of creating a track object corresponding to the content data recorded in the file recording area 121, that is, a stream object having the object type number t ′ will be described with reference to the flowchart of FIG. . The object type number t ′ includes a basic type number (in this case, the basic object second type) and an entry number, as shown in FIG.
[0204]
In step S251, the HD DB 91 establishes a write session in the same manner as in step S121 described above with reference to the flowchart of FIG. In step S252, the HD DB 91 obtains the chunk type page for recording the stream object having the object type number t ′ from the size recording area 167 of the entry t ′ in the object type recording area 163, and the object type number t ′. The size of the object is read, and the number of chunk pages corresponding to the size is calculated. Let the calculated number of pages be g.
[0205]
In step S253, the HD DB 91 secures a free entry M among a plurality of entries constituting the session management information 181 as in the process of step S123 described above with reference to the flowchart of FIG. In step S254, the HD DB 91 searches the bit string in the area information recording area 164 for a bit string in which 0 is recorded continuously for g bits. The leading position of the searched bit string in which 0 is continuously recorded for g bits is defined as q column and p row. In step S255, the HD DB 91 stores the object identifier OID (q, p) including the chunk number q, the page number p, and the object type number t ′ in the object identifier storage area 183 of the reserved entry M as shown in FIG. , t '). Also, the HD DB 91 stores the session number Z in the read / write session number storage area 184 of the entry M of the session management information 181, and further records “CREATE” indicating creation in the object state storage area 189.
[0206]
In step S256, the HD DB 91 reserves in the buffer 56 a write cache area d equal to the page number g which is the size of the stream object. In step S257, the HD DB 91 stores the address of the write cache area d in the secured buffer 56 in the write cache address storage area 191 of the entry M of the session management information 181.
[0207]
In step S258, the HD DB 91 starts recording the object basic second type stream object X shown in FIG. 26B in the write cache area d secured in the buffer 56. As the start, the write cache area d The object identifier OID (q, p, t ′) is recorded in the object identifier recording area 201 of d. In step S259, the HD DB 91 acquires a file identifier F of content data created by the HD FS 92 corresponding to the stream object (the same value as the first cluster number of a series of clusters in which the content data is recorded). In step S260, the HD DB 91 records the file identifier F in the file identifier recording area 103 of the write cache area d.
[0208]
In step S261, the HD DB 91 starts acquiring arbitrary data of the stream object to be created (for example, the name of the stream object to be created). In step S262, the HD DB 91 waits until acquisition of arbitrary data is completed. Note that, during the processing of steps S261 and S262, a file of content data with the file identifier F corresponding to the stream object is created by the HD FS 92 and recorded in the file recording area 121.
[0209]
In step S263, the HD DB 91 records the acquired arbitrary data in the arbitrary data recording area 202 of the write cache area d.
[0210]
In step S264, the HD DB 91 waits for the input of the signal I corresponding to the user operation. In step S265, the HD DB 91 determines whether or not the signal I is commit, that is, whether to confirm session creation. If it is determined that the signal I is commit, the processing proceeds to step S266. In step S266, the HD DB 91 determines the light session Z in the same manner as the process in step S132 described above with reference to FIG.
[0211]
On the other hand, if it is determined in step S265 that the signal I is not commit, the process proceeds to step S267. In step S267, the HD DB 91 discards the light session Z in the same manner as the process in step S133 described above with reference to FIG. In step S268, the HD DB 91 requests the HD FS 92 to delete the file F. This is the end of the description of the stream object creation process.
[0212]
Next, a process for searching for a stream object with object identifier OID = X (hereinafter referred to as stream object X) will be described with reference to the flowchart of FIG. It is assumed that a session has already been established.
[0213]
In step S271, the HD DB 91 executes a process similar to the object X search process described above with reference to FIG. In step S272, the object type number included in the object identifier OID = X of the object X searched in the process of step S271 is acquired. Let the acquired object type number be t. Further, the HD DB 91 acquires the object basic type number included in the object type number t.
[0214]
In step S273, the HD DB 91 determines whether the basic object type number of the searched object X is the basic object second type. If it is determined that the basic object type number of the searched object X is the basic object type 2, since the searched object X is a stream object, the process proceeds to step S274. In step S274, the HD DB 91 reads the file identifier from the file identifier recording area 203 of the retrieved stream object X and supplies it to the HD FS 92.
[0215]
If the object with the object identifier OID = X cannot be searched in step S271, the process proceeds to step S275. If it is determined in step S273 that the basic object type number of the retrieved object X is not the basic object second type, the process also proceeds to step S275. In step S275, the HD DB 91 determines that there is an error, that is, the stream object X does not exist, and ends the stream object search process.
[0216]
Next, FIG. 38 shows a directory structure of objects recorded in the object recording area 122. In the object recording area 122, a folder list object 212, a folder object 213, an album object 214, and a track object 215 have a hierarchical structure under the root 211.
[0217]
The HD DB 91 can generate a plurality of folder objects 213 under the folder list object 212. Under the folder object 213, a plurality of album objects 214 can be generated. A plurality of track objects 215 can be generated under the album object 214. The track object 215 corresponds to content data for one song.
[0218]
The folder object 213, the album object 214, and the track object 215 are objects that are presented to the user when selecting music to be played. The HD DB 91 can generate another information object (such as a CC (Content Control) object 216) that is not an object presented to the user under the root 211, the folder list object 212, or the folder object 213.
[0219]
Further, when the HD DB 91 generates a folder object 213 under the folder list object 212, the HD DB 91 prohibits other objects other than the folder object 213 under the same folder list object 212. Further, when the album object 214 is generated under the folder object 213, it is prohibited to generate an object other than the album object 214 under the same folder object 213. In addition, it is prohibited to generate an object other than the track object 215 under the album object 214.
[0220]
Since each object is recorded according to the rules described above, a folder group 217, an album group 218, and a track group 219 are constructed in the object recording area 122.
[0221]
Next, the data format of each object will be described.
[0222]
FIG. 39 shows the data format of the folder list object 212. Since the folder list object 212 belongs to the basic object type 1 shown in FIG. 26A, the folder list object 212 includes an object identifier recording area 201 and an arbitrary data recording area 202. In the object identifier recording area 201 of the folder list object 212, a 4-byte object identifier OID is recorded.
[0223]
In the arbitrary data recording area 202 of the folder list object 212, the maximum value MAX (4 bytes) of the folder object 213 that can be created under the folder list object 212 and the folder object created under the folder list object 212. The number N of 213 (4 bytes) and a folder of 4 × 100 bytes indicating the array of IDs of the folder objects 213 created under the folder list object 212 are recorded. In the arbitrary data recording area 202 of the folder list object 212, a 612-byte reserve is provided.
[0224]
FIG. 40 shows the data format of the folder object 213. Since the folder object 213 belongs to the basic object first type shown in FIG. 26A, the folder object 213 includes an object identifier recording area 201 and an arbitrary data recording area 202. In the object identifier recording area 201 of the folder object 213, a 4-byte object identifier OID is recorded.
[0225]
In the arbitrary data recording area 202 of the folder object 213, the maximum value MAX (4 bytes) of the album object 214 that can be created under the folder object 213 and the number of album objects 214 created under the folder object 213. N (4 bytes), a 4 × 200 byte album indicating the ID array of the album object 214 created under the folder object 213, and a 36 byte title indicating the folder name of the folder object 213 are recorded. The In the arbitrary data recording area 202 of the folder object 213, a reserve of 176 bytes is provided.
[0226]
FIG. 41 shows the data format of the album object 214. Since the album object 214 belongs to the basic object type 1 shown in FIG. 26A, the album object 214 includes an object identifier recording area 201 and an arbitrary data recording area 202. In the object identifier recording area 201 of the album object 214, a 4-byte object identifier OID is recorded.
[0227]
In the arbitrary data recording area 202 of the album object 214, the maximum value MAX (4 bytes) of the track object 215 that can be created under the album object 214 and the number of track objects 215 created under the album object 214. N (4 bytes), 4 × 400 byte track indicating the ID array of the track object 215 created under the album object 214, 516 byte Title indicating the title name of the album object 214, the album object 260-byte Artist indicating the artist name of 214, 8-byte Creation Date indicating the generation date and time of the album object 214, and 32-byte media indicating the media key of the music CD 3 that is the source of the album object 214 A key is recorded. The optional data recording area 202 of the album object 214 is provided with a 1660-byte reserve.
[0228]
FIG. 42 shows the data format of the track object 215. Since the track object 215 belongs to the basic object type 2 shown in FIG. 26B, the track object 215 includes an object identifier recording area 201, an arbitrary data recording area 202, and a file identifier recording area 203. In the object identifier recording area 201 of the track object 215, a 4-byte object identifier OID is recorded. In the file identifier recording area 203 of the track object 215, a 4-byte SOID indicating the file identifier of the content data corresponding to one-to-one (recorded in the file recording area 121) is recorded.
[0229]
In the arbitrary data recording area 202 of the track object 215, a 516-byte Title indicating the track name of the track object 215, a 260-byte Artist indicating the artist name of the track object 215, and an 8-byte indicating the playback time of the album object 214 , The 8-byte Last Access Date indicating the date and time when the track object 215 was last accessed, the 4-byte play counter (PC) indicating the number of times the track object 215 was reproduced, and the production date and time of the track object 215 8 bytes Creation Date indicating the song attribute of the content data corresponding to the track object 215 and 12544 bytes AC indicating the playback control information (information for copyright protection) are recorded. In the arbitrary data recording area 202 of the track object 215, a reserve of 980 bytes is provided.
[0230]
FIG. 43 shows details of the 1255-byte AC recorded in the arbitrary data recording area 202 of the track object 215. The AC includes an 8-byte Ckey indicating a content key, a 1-byte Codec indicating a codec identification value, a 1-byte Codec Attr indicating a codec attribute, a 1-byte LT indicating playback restriction information, and a validity check flag. 1-byte VLD indicating 1-byte LCMLOGNUM indicating the number of checkout destinations, 16-byte CDI indicating codec dependency information, 20-byte CID indicating the content serial number, 8-byte PBS indicating the start date and time of playback permission, playback 8-byte PBE indicating permission end date, 1-byte XCC indicating extended CC, 1-byte CT indicating the remaining number of playbacks, 1-byte CC indicating content control information, 1-byte CN indicating the remaining number of checkouts , 40-byte SRC indicating source information and 48 × 256-byte LCMLOG indicating information including device ID and flag of checkout destination are recorded That.
[0231]
In particular, in a 1-byte CC indicating content control information, the first bit from the MSB (Most Significant Bit) side indicates the presence or absence of copyright (0: yes, 1: no). The second bit from the MSB side indicates the generation (0: original, 1: other than original), and the third and fourth bits from the MSB side are unused.
[0232]
The information indicated by the 5th to 7th bits from the MSB side of the CC is as follows. That is, when 010 is recorded in the 5th to 7th bits from the MSB side of the CC, it indicates checkout permission (editing is permitted). When 011 is recorded in the 5th to 7th bits from the MSB side of the CC, it indicates that the move is permitted (editing by PD5 is prohibited). When 100 is recorded in the 5th to 7th bits from the MSB side of the CC, this indicates import permission (editing in PD5 is permitted). When 110 is recorded in the 5th to 7th bits from the MSB side of CC, it indicates import permission (editing in PD5 is prohibited).
[0233]
FIG. 44 shows the data format of the content data corresponding to the track object 215 on a one-to-one basis. The content data is composed of 16 kilobytes of AT3H indicating the ATRAC3 header, 16 kilobytes of PRT indicating the ATRAC3 parts, and 16 kilobytes of AT3SU-1 to AT3SU-N indicating the sound unit sequence.
[0234]
FIG. 45 shows the data format of the CC object 216. The CC object 216 belongs to the basic object second type shown in FIG. Therefore, the CC object 216 includes an object identifier recording area 201 and an arbitrary data recording area 202. In the object identifier recording area 201 of the CC object 216, a 4-byte object identifier OID is recorded.
[0235]
The arbitrary data recording area 202 of the CC object 216 is provided with a 16-byte reserve. In the file identifier recording area 203 of the CC object 216, a 4-byte SOID indicating the file identifier of the corresponding CC data (recorded in the file recording area 121) is recorded.
[0236]
FIG. 46 shows the format of CC data recorded in the file recording area 121. The CC data includes a 10 kilobyte Cat Folder, a 200 kilobyte Cat Album, and a 600 kilobyte Cat Track. In the Cat Folder, information indicating the object identifier OID of the folder object 213 corresponding to the folder selected by the user is recorded. In Cat Album, information indicating the object identifier OID of the album object 214 corresponding to the album selected by the user is recorded. In the Cat Track, information indicating the object identifier OID of the track object 215 corresponding to the track selected by the user is recorded.
[0237]
Therefore, for example, when the user selects a track to be reproduced at the time of reproduction, the object identifier OID of the track object 215 corresponding to the selected track is determined based on the Cat Track of the CC data, and the corresponding track object 215 responds. The file identifier to be acquired is acquired, and the content data is read and reproduced.
[0238]
Next, the correspondence between the data flow when each function of the audio server 1 is executed and the firmware will be described with reference to FIGS. 47 to 56.
[0239]
FIG. 47 shows the data flow when CD ripping is executed. In the CD ripping for recording the music CD 3 at a high speed, the digital audio data of the music CD 3 is read by the CD-ROM drive 57 at the CAV 8 times speed and buffered in the buffer 56 under the control of the CD MW 88. Under the control of the HD MW 82, the digital audio data buffered in the buffer 56 is input to the WM screen 60-2 and a watermark is detected. Next, under the control of the HD MW 82, the digital audio data buffered in the buffer 56 is encoded and encrypted by the encoder 59 at an average 5 × speed by the ATRAC3 method, and the obtained encoded data is stored in the buffer 56. After being buffered, it is transferred to the HDD 58 and recorded. Although not shown, audio corresponding to the recorded digital audio data is output from the speaker 2 during CD ripping.
[0240]
FIG. 48 shows the data flow when CD recording is executed. In the CD recording for recording while reproducing the music CD 3, the digital audio data of the music CD 3 is read out by the CD-ROM drive 57 at the CAV 8 times speed and buffered in the buffer 56 under the control of the CD MW 88. Next, under the control of the HD MW 82, the digital audio data buffered in the buffer 56 is encoded and encrypted by the encoder 59 at an average 5 × speed by the ATRAC3 method, and the obtained encoded data is stored in the buffer 56. After being buffered, it is transferred to the HDD 58 and recorded. Also, under the control of the HD MW 82, the audio data buffered in the buffer 56 is supplied to the WM screen 60-2 and a watermark is detected.
[0241]
On the other hand, the buffered digital audio data for the monitor sound is temporarily recorded in the ring buffer 241 (FIG. 61) provided in the HDD 58 under the control of the HD MW 82, and then read out to obtain the audio I. / F60-3. Next, under the control of the AIO MW 94, the digital audio data is transferred to the D / A 62 and converted into an analog signal, and the corresponding sound is output from the speaker 2.
[0242]
Details of CD ripping and CD recording will be described later with reference to FIGS.
[0243]
FIG. 49 shows the data flow when HD recording is performed for digital input. In HD recording in which digital input is encoded and recorded on the HDD 58, digital audio data input from the AUX in terminal 31 is supplied to the encoder 59 via the signal processing unit 60 under the control of the AIO MW 94. Next, under the control of the HD MW 82, the digital audio data is encoded and encrypted in accordance with the ATRAC3 system by the encoder 59, and the obtained encoded data is transferred to the buffer 56 and then transferred to the HDD 58 for recording. The Further, the watermark is detected on the WM screen 60-2 of the signal processing unit 60 under the control of the HD MW 82. Further, under the control of the AIO MW 94, the digital audio data is transferred to the D / A 62 and analogized by the audio I / F 60-3 of the signal processing unit 60 and output from the speaker 2.
[0244]
FIG. 50 shows a data flow when HD recording for analog input is executed. In HD recording in which analog input is encoded and recorded on the HDD 58, the analog audio data input from the AUX IN terminal 31 is digitized by the A / D 62 and supplied to the encoder 59 under the control of the AIO MW 94. Next, under the control of the HD MW 82, the digital audio data is encoded and encoded by the encoder 59 according to the ATRAC3 method, and the obtained encoded data is transferred to the buffer 56 and then transferred to the HDD 58 and recorded. . Further, under the control of the HD MW 82, the watermark is detected from the digital output of the A / D 62 by the WM screen 60-2. Furthermore, analog audio data input from the AUX IN terminal 31 is output from the speaker 2 under the control of the AIO MW 94.
[0245]
FIG. 51 shows the data flow when HD play is executed. In HD play for reproducing the encoded data of the HDD 58, the encoded data read from the HDD 58 is buffered in the buffer 56 and then decoded and decoded by the decoder 59 under the control of the HD MW 82. The obtained digital audio data is buffered in the buffer 56 and then transferred to the audio I / F 60-3. Next, under the control of the AIO MW 94, the digital audio data is transferred to the D / A 62 by the audio I / F 60-3, converted to analog, and output from the speaker 2.
[0246]
FIG. 52 shows the data flow when CD play is executed. In the CD play for reproducing the music CD3, the digital audio data of the music CD3 is read by the CD-ROM drive 57, buffered in the buffer 56, and transferred to the audio I / F 60-3 under the control of the CD MW88. Is done. Next, under the control of the AIO MW 94, the digital audio data is transferred to the D / A 62 by the audio I / F 60-3, converted into analog, and output from the speaker 2.
[0247]
FIG. 53 shows the data flow when the MS play is executed. In the MS play for reproducing the encoded data of MS4, the encoded data of MS4 is supplied to MGMS I / F 60-1 under the control of MS MW89, as shown in FIG. 1 is decoded after mutual authentication, and is decoded by a decoder built in the signal processing unit 60. Next, under the control of the AIO MW 94, the digital audio data obtained as a result of decoding by the audio I / F 60-3 is transferred to the D / A 62, converted into analog, and output from the speaker 2.
[0248]
Alternatively, as shown in FIG. 5B, the encoded data is read from the MS 4 and supplied to the MGMS I / F 60-1 under the control of the MS MW 89, and the MGMS I / F 60-1 is decoded after mutual authentication. To do. The combined encoded data is buffered in the buffer 56 and decoded by the decoder 59. The obtained digital audio data is output to the D / A 62 via the buffer 56. Next, the audio data analogized by the D / A 62 is output from the speaker 2 under the control of the AIO MW94.
[0249]
FIG. 54 shows the data flow when MS checkout / moveout is executed. In the MS checkout for copying the encoded data of the HDD 58 to the MS 4 and the move-out for moving the encoded data of the HDD 58 to the MS 4, the encoded data read from the HDD 58 is buffered in the buffer 56 under the control of the HD MW 82. Be ringed. Next, under the control of the MS MW 89, the buffered encoded data is transferred to the MGMS I / F 60-1 and recorded in the MS 4. Checkout and moveout will be described in detail later.
[0250]
FIG. 55 shows the data flow when MS import / move-in is executed. In the MS import / move-in that moves the encoded data of MS4 to the HDD 58, the encoded data of MS4 is transferred to the buffer 56 via the MGMS I / F 60-1 under the control of the MS MW89. Next, under the control of the HD MW 82, the buffered encoded data is transferred to the HDD 58 and recorded. Import / move-in will be described in detail later.
[0251]
FIG. 56 shows a data flow when PD checkout is executed. In the PD checkout in which the encoded data of the HDD 58 is copied to the PD 5, the encoded data read from the HDD 58 is buffered in the buffer 56 and then decoded by the encoder / decoder 59 under the control of the HD MW 82. , Encrypted for PD5 and buffered in buffer 56. Next, under the control of the PD MW 90, the buffered encoded data is recorded in the PD 5 via the USB host controller 54 and the USB connector 43.
[0252]
Next, details of CD ripping and CD recording will be described with reference to FIGS. The CD ripping process is a process executed when the high-speed recording button 24 is pressed by the user. The CD recording process is a process executed when the recording button 23 is pressed by the user.
[0253]
The difference between CD ripping and CD recording will be described with reference to FIGS. FIG. 57A shows a period of monitor audio output in CD ripping. FIG. 57B shows a recording processing period (encoding and recording process) in CD ripping. FIG. 58A shows the period of monitor audio output in CD recording. FIG. 58B shows a period of recording processing (encoding and recording processing) in CD recording.
[0254]
As is clear from a comparison between FIGS. 57B and 58B, the total time required for the recording process is the same between CD ripping and CD recording. That is, the process of encoding the audio data (PCM data) of the music CD 3 by the ATRAC3 system and recording it on the HDD 58 is performed at an average 5 times speed relative to the audio data playback speed.
[0255]
For example, when recording a music CD3 in which 6 songs with a playback time of 10 minutes are recorded and the total playback time is 60 minutes by CD ripping or CD recording, it takes about 2 minutes per song. Recorded sequentially.
[0256]
The difference between CD ripping and CD recording is the monitor audio output period.
[0257]
In the case of CD ripping, the monitor sound is output only during the period when the recording process of the corresponding audio data is performed. In the example of the music CD 3 described above, the sound of about 2 minutes from the beginning of the first song is output at a normal playback speed, and then the sound of about 2 minutes from the beginning of the second song is output at a normal speed. Thereafter, a sound of about 2 minutes from the beginning of each song is output at a normal speed. Therefore, simultaneously with the end of the recording process, the monitor sound output is also ended.
[0258]
In the case of CD recording, the monitor sound is output regardless of the progress status of the recording process of the corresponding audio data. In the example of the music CD 3 described above, all the sounds of the first song are output at the normal playback speed, and then all the sounds of the second song are output at the normal speed. Is output at normal speed. Therefore, even if the recording process is completed, the monitor audio output of the corresponding audio data is continued until the end of the last sixth song.
[0259]
Note that CD ripping and CD recording can be appropriately switched during the processing.
[0260]
Next, FIG. 59 shows the state of the buffer 56 when CD ripping or CD recording is executed. The buffer 56 is encoded and encrypted by a PCM data reading buffer 231 for buffering unencoded audio data (PCM data) read from the music CD 3 and an encoder / decoder 59. An encoded data buffer 232 for buffering encoded data is provided.
[0261]
FIG. 60 shows state transitions of the PCM data reading buffer 231 and the encoded data buffer 232 provided in the buffer 56 and the PCM data reproduction buffer 251 built in the audio I / F 60-3.
[0262]
The PCM data read buffer 231, the encoded data buffer 232, and the PCM data reproduction buffer 251 respectively transition to an initial writable state, a writing state that transitions when data writing is started, and a data writing state that ends. The read-enabled state, and the reading-out state that transitions when data reading is started. Note that when reading of data is completed from the reading state, the state returns to the writable state.
[0263]
Next, FIG. 61 shows a structure of a ring buffer 241 provided in the HDD 58 for buffering PCM data for monitor audio output when CD ripping or CD recording is executed.
[0264]
A read pointer 242 indicating a read start address and a write pointer 243 indicating a write start address are set in the ring buffer 241 having a predetermined capacity (for convenience of description, address 0 to address max). The ring buffer 241 can write data from the address indicated by the read pointer 242 to the address indicated by the write pointer 243 in the forward direction and from the address indicated by the write pointer 243 to the address indicated by the read pointer 242 in the forward direction. It is divided into areas 245. The capacity of the readable area 244 is referred to as a read margin. The capacity of the writable area 245 is referred to as a write margin.
[0265]
FIG. 62 shows the data flow between the buffers in CD ripping and CD recording. The PCM data of the music CD 3 is read by the CD-ROM drive 57 and buffered in the PCM data reading buffer 231 provided in the buffer 56. The PCM data buffered in the PCM data reading buffer 231 is transferred to the encoder / decoder 59 where it is encoded and encrypted. The obtained encoded data is buffered in an encoded data buffer 232 provided in the buffer 56. The encoded data buffered in the encoded data buffer 232 is transferred to the HDD 58 and recorded in the file recording area 121.
[0266]
On the other hand, the PCM data buffered in the PCM data reading buffer 231 is transferred to the HDD 58 and buffered in a ring buffer 241 provided in the HDD 58. The PCM data buffered in the ring buffer 241 is transferred to the PCM data reproduction buffer 251 built in the audio I / F 60-3 and buffered, and then analogized by the AD / DA 62 and output from the speaker 2. Is done.
[0267]
Next, recording speed setting processing relating to CD ripping and CD recording will be described with reference to the flowchart of FIG. This recording speed setting process is repeatedly executed while the music CD 3 is selected as the sound source, that is, while the music CD 3 is loaded in the CD-ROM drive 57 and the CD is selected by the function button 12.
[0268]
In step S <b> 281, the input handle middleware 97 starts monitoring user operations on various buttons. In step S282, the input handle middleware 97 stands by until there is an operation from the user with respect to various buttons. When it is determined that there is an operation from the user with respect to various buttons, the input handle middleware 97 notifies the main APP 76 of the information. The main APP 76 determines whether or not the operation is for the record button 23. If it is determined that the operation is for the record button 23, the process proceeds to step S283.
[0269]
In step S283, the main APP 76 notifies the HD APP 77 that the record button 23 has been operated. The HD APP 77 transmits to the CD RIPPING 84 of the HD MW 82 that the record button 23 has been operated. CD RIPPING 84 sets the high speed recording flag provided in SDRAM 53 or the like to OFF. The process returns to step S281.
[0270]
If it is determined in step S282 that there has been an operation from the user with respect to various buttons, and it is determined that this is not an operation with respect to the record button 23, the process proceeds to step S284. In step S284, the main APP 76 determines whether the operation is for the high speed record button 24 or not. If it is determined that the operation is for the high speed record button 24, the process proceeds to step S285.
[0271]
In step S285, the main APP 76 notifies the HD APP 77 that the high speed record button 24 has been operated. The HD APP 77 transmits to the CD RIPPING 84 of the HD MW 82 that the high speed record button 24 has been operated. CD RIPPING 84 sets the high speed recording flag on. The process returns to step S281.
[0272]
If it is determined in step S284 that the operation is not for the high speed record button 24, the process returns to step S281.
[0273]
When the high speed record button 24 is operated and the high speed recording flag is turned on by the recording speed setting process described above, CD ripping as shown in FIG. 57 is executed. Conversely, when the record button 23 is operated and the high-speed recording flag is turned off, CD recording as shown in FIG. 58 is executed. Note that switching from CD ripping to CD recording, or conversely switching from CD recording to CD ripping, can be performed at an arbitrary timing corresponding to the user's button operation.
[0274]
Next, the CD recording process will be described with reference to the flowchart in FIG. This CD recording process is a process controlled by the CD RIPPING 84 included in the HD MW 82. After the music CD 3 is loaded and the function button 12 is operated to set the sound source to CD, the record button 23 or the high level is recorded. It is started when the speed button 24 is operated.
[0275]
In step S291, the user selects a song to be recorded from the music CD 3 while the recording button 23 or the high speed button 24 is operated and the recording pause state is set. More specifically, the cursor button 17 is operated to select music from among the music recorded on the music CD 3, and the enter button 20 is operated to confirm the music selection. By repeating this series of operations, all the songs to be recorded are selected. If no music selection operation is performed, all songs recorded on the music CD 3 are selected.
[0276]
The user operates the play / pause button 26 when the music selection is completed. The process proceeds to step S292.
[0277]
In step S292, the CD RIPPING 84 initializes ring buffer information including information such as a read start address indicated by the read pointer 242 set in the ring buffer 241. The ring buffer information initialization process will be described with reference to the flowchart of FIG. In step S301, the CD RIPPING 84 sets the read start address indicated by the read pointer 242 and the write start address indicated by the write pointer 243 to the address 0 of the ring buffer 241. Further, the read margin of the ring buffer 241 is set to 0, and the write margin is set to its maximum value max. This is the end of the description of the ring buffer information initialization process.
[0278]
Returning to FIG. In step S293, the CD RIPPING 84 sequentially selects one of the songs selected in step S291 and executes a recording process for one song. The recording process for one song will be described with reference to the flowchart of FIG. In step S311, the CD RIPPING 84 requests the CD MW 88 to write the PCM data of the song recorded on the music CD 3 into the PCM data reading buffer 231 in a writable state by a predetermined amount of data (for example, for 2 seconds). Buffer it. When writing (buffering) of PCM data of a predetermined data amount is completed, the state of the PCM data reading buffer 231 transitions to a readable state.
[0279]
In step S312, the CD RIPPING 84 causes the encoder / decoder 59 to encode (encode and encrypt) the predetermined amount of PCM data buffered in the PCM data reading buffer 231. When reading of a predetermined amount of PCM data from the PCM data reading buffer 231 is completed, the state of the PCM data reading buffer 231 transitions to a writable state.
[0280]
Also, the CD RIPPING 84 starts monitor audio output processing. The monitor audio output process will be described later with reference to FIG.
[0281]
In step S313, the CD RIPPING 84 causes the encoded data buffer 232 in the writable state of the buffer 56 to buffer the encoded data of a predetermined data amount obtained by encoding. When writing (buffering) of encoded data of a predetermined data amount (for example, for 2 seconds) is completed, the state of the encoded data buffer 232 transitions to a readable state.
[0282]
In step S <b> 314, the CD RIPPING 84 records the encoded data of a predetermined data amount buffered in the encoded data buffer 232 in the file recording area 121 of the HDD 58. Note that the process of recording the encoded data in the file recording area 121 by a predetermined amount of data corresponds to the file creation process described above with reference to FIG. Further, the object creation process described above with reference to FIG. 28 is also performed.
[0283]
In step S315, the CD RIPPING 84 determines whether or not encoded data for one song has been recorded. If it is determined that the encoded data for one song has not been recorded, the process returns to step S311 and the subsequent processes are repeated. Thereafter, when it is determined in step S315 that the encoded data for one song has been recorded, the recording process for the one song is ended.
[0284]
After the recording process for one song is executed as described above, the process returns to step S294 in FIG. In step S294, the CD RIPPING 84 determines whether all the songs selected in step S291 have been recorded. If it is determined that all the selected songs have not been recorded, the process returns to 293, and the recording process for one song for the next song is performed.
[0285]
Thereafter, if it is determined in step S294 that all the selected songs have been recorded, this CD recording process is terminated.
[0286]
Here, the monitor sound output process started in step S312 will be described with reference to the flowchart of FIG. In step S321, the CD RIPPING 84 determines whether or not the high speed recording flag is on. If it is determined that the high-speed recording flag is on, the process proceeds to 322.
[0287]
In step S322, the CD RIPPING 84 determines whether or not the recording process for one song for the corresponding PCM data has been completed. If it is determined that the recording process for one song for the corresponding PCM data is not completed, the process proceeds to step S323 in order to output the monitor sound of the PCM data for which the recording process for one song is being executed.
[0288]
In step S323, the CD RIPPING 84 starts a process of writing the PCM data buffered in the PCM data read buffer 231 with respect to the link buffer 241. In step S324, the CD RIPPING 84 starts reading PCM data recorded in the link buffer 241 without waiting for the end of the process in step S323.
[0289]
The writing process to the ring buffer 241 in step S323 will be described with reference to the flowchart in FIG.
[0290]
In step S331, the CD RIPPING 84 determines whether or not the high speed recording flag is on. If it is determined that the high-speed recording flag is on, the process proceeds to 332. In step S332, the CD RIPPING 84 executes the ring buffer information initialization process described above with reference to FIG.
[0291]
In step S333, the CD RIPPING 84 starts writing the PCM data recorded in the PCM data reading buffer 231 in the writable area 245 after the write start address indicated by the write pointer 243 of the link buffer information. In step S334, the CD RIPPING 84 advances the value of the write start address indicated by the write pointer 243 included in the link buffer information in the forward direction by the amount of the PCM data written in step S333, and correspondingly, the write margin and the read Update the margin value.
[0292]
If it is determined in step S331 that the high-speed recording flag is not on, the process proceeds to 335. In step S335, the CD RIPPING 84 determines whether or not the size of the PCM data recorded in the PCM data read buffer 231 is equal to or smaller than the write margin of the ring buffer 241 by referring to the ring buffer information. If it is determined that the size of the PCM data recorded in the PCM data read buffer 231 is equal to or smaller than the write margin of the ring buffer 241, the process proceeds to step S333.
[0293]
If it is determined in step S335 that the size of the PCM data recorded in the PCM data read buffer 231 is not less than the write margin of the ring buffer 241, the process returns to step S331, and then the recording speed is set. Is changed by the user in step S331, it is determined that the high-speed recording flag is on, or the write margin of the ring buffer 241 is increased, so that in step S335, the PCM data read buffer 231 is read. Steps S331 and S335 are repeated until it is determined that the size of the recorded PCM data is not less than the write margin of the ring buffer 241. This is the end of the description of the writing process for the ring buffer 241.
[0294]
The read processing from the ring buffer 241 in step S324 will be described with reference to the flowchart in FIG. In step S341, the CD RIPPING 84 determines whether the PCM data reproduction buffer 251 built in the audio I / F 60-3 is in a writable state, and determines that the PCM data reproduction buffer is in a writable state. Wait until If it is determined that the PCM data reproduction buffer is in a writable state, the process proceeds to step S342.
[0295]
In step S342, the CD RIPPING 84 reads the PCM data recorded in the readable area 244 of the ring buffer 241 in accordance with the read start address indicated by the read pointer 242 of the ring buffer 241, and causes the PCM data reproduction buffer 251 to write it. .
[0296]
In step S343, the CD RIPPING 84 advances the value of the read start address indicated by the read pointer 242 included in the link buffer information in the forward direction by the amount of the PCM data read in step S342, and correspondingly, the write margin and the read Update the margin value.
[0297]
In step S344, the CD RIPPING 84 changes the PCM data reproduction buffer 251 to a readable state. This is the end of the description of the reading process from the ring buffer 241.
[0298]
Returning to FIG. In step S325, the AIO MW 94 causes the AD / DA 62 to output the PCM data buffered in the PCM data reproduction buffer 251. The AD / DA 62 starts the reproduction of the input PCM data and outputs the corresponding sound from the speaker 2.
[0299]
In step S326, the CD RIPPING 84 determines whether or not the reproduction of the PCM data for one song has been completed. If it is determined that the playback of PCM data for one song has not ended, the process returns to step S321, and the subsequent processing is repeated. In step S326, the playback of PCM data for one song has not ended. If determined to be, the monitor sound output process is terminated.
[0300]
If it is determined in step S322 that the recording process for one song for the corresponding PCM data has been completed, the monitor sound output process is immediately stopped. This is the end of the description of the CD recording process.
[0301]
In the course of the CD recording process, in response to the user's operation on the recording button 23 or the high speed recording button 24, switching from CD ripping to CD recording and conversely switching from CD recording to CD ripping is possible at any timing. it can.
[0302]
Here, a display example of the display 15 when CD ripping is executed is shown in FIG. FIG. 70A is a display example of information relating to recording settings displayed immediately before recording is started. At this time, the display 15 is provided with display areas 261 to 267. In this display example, the display area 261 displays information indicating the recording source and the recording destination. In the display area 262, information indicating that the recording setting information is displayed is displayed. In the display area 263, a folder name indicating the storage location is displayed. The display area 264 displays the album name and artist name of the album to be recorded. In the display area 265, the bit rate at the time of recording is displayed. The display area 266 displays the recording level at the time of recording.
The display area 267 displays that recording is started when the play / pause button 26 is pressed. The recording level at the time of recording is displayed.
[0303]
FIG. 70B shows a display example in the middle of recording. At this time, the display 15 is provided with display areas 271 to 278. In this display example, the display area 271 displays information indicating the recording source and the recording destination. In the display area 272, the characters “High-speed recording” indicating that CD ripping is in progress are displayed blinking. The display area 273 displays the album name and artist name of the song being recorded. In the display area 274, the song number in the music CD 3 of the song being recorded is displayed. The display area 275 displays the elapsed playback time of the song being recorded. In the display area 276, the remaining playback time of the music CD 3 is displayed. In the display area 277, a progress bar 279 whose length changes in proportion to the progress of recording with respect to the total number of songs to be recorded is displayed. The display area 278 shows the total number of songs to be recorded and the number of songs that have been recorded or are being recorded.
[0304]
For example, when CD ripping is performed for all the songs of an album that has a playback time of 60 minutes, recording is performed at about 5 times speed, so the length of the progress bar 279 displayed in the display area 277 is from the start of recording. The length gradually increases, and the length occupies the entire display area 277 in about 12 minutes.
[0305]
Note that the length of the progress bar 279 in the display area 277 may be extended in proportion to the elapsed playback time of the music instead of matching the progress of recording.
[0306]
Next, a method for reproducing content data recorded on the HDD 58 will be described with reference to FIGS. As described above, the audio server 1 encodes the music recorded on the music CD 3 and records the content data as a file on the HDD 58. However, when the music to be played is designated, it is not a file but a hierarchy. Lets the user specify the folder, album, and track objects that make up the structure.
[0307]
By specifying the entire HDD, an arbitrary folder, or an arbitrary album as a playback area, a plurality of songs can be specified as songs to be played at once. The reproduction of the music is realized by decoding the content data corresponding to the track included in the playlist created based on the designated reproduction area.
[0308]
FIG. 71 shows an example of the playback area. When the entire HDD surrounded by the broken line 281 is designated as the playback area, all track numbers in the HDD 58 are registered in the playlist as shown in FIG.
[0309]
When the My Select folder F1 surrounded by the broken line 282 is designated as the playback area, as shown in FIG. 73, album numbers of all albums belonging to the My Select folder F1 are registered in the playlist.
[0310]
When the album A1 of the My Select folder F1 surrounded by the broken line 283 is designated as a playback area, as shown in FIG. 74, the playlist includes the track numbers of all the tracks belonging to the album A1 of the My Select folder F1. be registered.
[0311]
When the track T1 of the album A1 belonging to the temporary folder F2 is designated as a song to be reproduced, as shown in FIG. 75, the track T1 of the album A1 belonging to the temporary folder F2 is registered in the playlist.
[0312]
Next, processing for creating a playlist corresponding to the designated reproduction area will be described with reference to the flowchart of FIG.
[0313]
This playlist creation process is a process controlled by the HD PLAY 85 included in the HD MW 82, and is started when the function button 12 is operated and the sound source is set to the HDD.
[0314]
In step S351, the HD PLAY 85 determines whether or not the object hierarchy indicating the playback area selected by the user is the entire HDD. If it is determined that the hierarchy of the selected object is not the entire HDD, the process proceeds to step S352. The user can select a playback area by operating a playback area switching button (not shown) provided on the remote controller 7, or by operating the cursor button 17, the enter button 20 and the menu provided on the lid 40. / Cancel button 21 or the like is pressed according to a predetermined order.
[0315]
In step S352, the HD PLAY 85 determines whether or not the hierarchy of the object selected by the user is a folder. If it is determined that the hierarchy of the selected object is not a folder, the process proceeds to step S353.
[0316]
In step S353, the HD PLAY 85 determines that the layer of the object selected by the user is an album, and proceeds to step S354.
[0317]
In step S354, the HD PLAY 85 determines whether or not the play / pause button 26 has been operated. If it is determined that the play / pause button 26 has been operated, the process proceeds to step S355. In step S355, the HD PLAY 85 determines whether or not a playlist corresponding to the selected object hierarchy has already been established. If it is determined that the playlist has not been established, the process proceeds to step S356. If it is determined that it has been completed, step S356 is skipped.
[0318]
In step S356, the HD PLAY 85 creates a playlist corresponding to the hierarchy of the selected object.
[0319]
If it is determined in step S354 that the play / pause button 26 has not been operated, the process returns to step S351, and the subsequent processes are repeated.
[0320]
If it is determined in step S351 that the selected object hierarchy is the entire HDD, or if it is determined in step S352 that the selected object hierarchy is a folder, the process proceeds to step S351. The process proceeds to S354. This is the end of the description of the playlist creation process.
[0321]
A plurality of playlists corresponding to various assumed playback areas are created in advance and recorded in a predetermined location, and are created and recorded in advance when the playback area is designated by the user. A corresponding one of the playlists may be read out.
[0322]
Next, with reference to the flowchart of FIG. 77, an example of a case where the play mode is set to repeat all songs will be described with respect to the playback process executed following the end of the playlist creation process described above.
[0323]
In step S361, the HD PLAY 85 determines whether or not the end of reproduction has been instructed by operating the stop button 25. If it is determined that the end of reproduction has not been instructed, the process proceeds to step S362. In step S362, the HD PLAY 85 sequentially designates one track at a time as a playback track among all the tracks included in the playlist.
[0324]
In step S363, the HD PLAY 85 plays back the content data corresponding to the playback track. Specifically, the track object corresponding to the playback track is specified based on the CC data, and the file identifier of the corresponding content data is specified and specified based on the value of the file identifier recording area 203 of the specified track object. The content data is read based on the file identifier (= cluster number of the file recording area 121). Next, the read content data is decoded and output.
[0325]
After the reproduction of the content data corresponding to the reproduction track is completed, the process returns to step S361, and the subsequent processes are repeated. Thereafter, when it is determined in step S361 that the stop button 25 is operated to instruct the end of the reproduction, the reproduction process in the case where the reproduction mode is all-music repeat is ended.
[0326]
It should be noted that, in a playback mode other than all-music repeat, only the playback area and playback track designation method is different, and the processing procedure is the same.
[0327]
Next, processing for moving out the content data recorded on the HDD 58 of the audio server 1 to the MS 4 will be described with reference to FIGS. 78 to 81. FIG.
[0328]
Here, the process of moving out the content data recorded on the HDD 58 to the MS 4 is a series of processes for deleting the content data recorded on the HDD 58 after copying the content data recorded on the HDD 58 to the MS 4. It is.
[0329]
The move-out process will be described with reference to the flowchart in FIG. The move-out process is controlled by the MS MW89.
[0330]
In this move-out process, with the MS 4 inserted into the MS slot 45, the user operates the menu / cancel button 21 to display the menu, and operates the cursor button 17 to select “edit”. The enter menu 20 is operated to display the edit menu, the cursor button 17 is operated to select “move out”, the enter button 20 is operated, the cursor button 17 and the select button 18 are further operated, After selecting the track to be moved out, the enter key 20 is operated to display a list of tracks to be moved out, and when the enter key 20 is further operated, the process is started.
[0331]
In step S371, the MS MW 89 requests the C IN / C OUT 87 to copy the content data to be moved out recorded in the HDD 58 to the MS 4 as invalid right data (unreproducible data). In order to obtain rights invalid data, the flag indicating the presence or absence of rights included in the attribute information of the content data is turned off.
[0332]
In step S <b> 372, the C IN / C OUT 87 generates move-out history information indicating that the move-out process has been started and records it in the HDD 58. The move-out history information includes information for specifying a track to be moved out. In step S373, the C IN / C OUT 87 turns off the flag indicating the presence / absence of the right of the content data recorded in the HDD 58, and sets the content data in the HDD 58 as the right invalid data.
[0333]
In step S374, the MS MW 89 turns on the flag indicating the presence / absence of the right of the content data copied to the MS 4, and sets the content data of the MS 4 as the right valid data.
[0334]
In step S375, the C IN / C OUT 87 deletes the content data recorded on the HDD 58. In step S376, C IN / C OUT 87 deletes the move-out history information created in the process of step S372.
[0335]
The processes in steps S371 to S376 described above are the move-out process for one content data corresponding to one track, and the processes in steps S371 to S376 are performed on all selected tracks.
[0336]
Note that if the move-out process is interrupted due to, for example, the power being cut off during the move-out process, the return process is executed after the power is restored to compensate for the interruption. The return processing will be described later with reference to FIGS. 86 to 88.
[0337]
FIG. 79 shows the state transition of the move-out process. State 1 is a state before the move-out process is started. That is, the content data is recorded in the HDD 58 of the audio server 1 and the content data in the HDD 58 is valid.
[0338]
State 2 is a state after the process of step S371 is performed. That is, the content data recorded on the HDD 58 of the audio server 1 is copied to the MS 4 so that the content data is recorded on both the HDD 58 and the MS 4 and the content data on the HDD 58 is valid. In this case, the content data of the MS 4 is invalid.
[0339]
State 3 is a state after the process of step S373 is performed. That is, the content data is recorded in both the HDD 58 and the MS 4 and the content data in the HDD 58 and the content data in the MS 4 are invalid.
[0340]
State 4 is a state after the process of step S374 is performed. That is, the content data is recorded in both the HDD 58 and the MS 4, the content data in the HDD 58 is invalid, and the content data in the MS 4 is valid.
[0341]
State 5 is a state after the process of step S375 is performed. That is, the content data in the HDD 58 is erased, so that the content data is recorded only in the MS 4 and the content data in the MS 4 is valid.
[0342]
FIG. 80 shows a display example of the display 15 when a track to be moved out is selected. Only the songs that can be moved out are displayed on the display 15.
[0343]
FIG. 81 shows a display example of the display 15 during the move-out process. In the display area 291 of the display 15, the characters “Move out” indicating that the move-out process is being performed are displayed blinking. A check mark 292 is displayed next to the track for which the move-out has been completed. The display area 293 displays information indicating the progress status of the move-out process (the number of tracks during or after the move-out process / the total number of tracks to be moved-out).
[0344]
Next, a process for moving content data recorded in the MS 4 into the HDD 58 of the audio server 1 will be described with reference to FIGS. 82 to 81. FIG.
[0345]
Here, the process of moving the content data recorded in the MS 4 into the HDD 58 is a series of processes for deleting the content data recorded in the MS 4 after copying the content data recorded in the MS 4 to the HDD 58. is there.
[0346]
The move-in process will be described with reference to the flowchart of FIG. The move-in process is controlled by the MS MW89.
[0347]
In the move-in process, with the MS 4 inserted in the MS slot 45, the user operates the menu / cancel button 21 to display the menu, operates the cursor button 17 to select “edit”, and then enters the enter. The button 20 is operated to display the edit menu, the cursor button 17 is operated to select “Move In”, the enter button 20 is operated, and the cursor button 17 and the select button 18 are further operated to display the MS 4. After selecting the content data to be moved in from the recorded content data, the enter key 20 is operated to display a list of content data to be moved in, and then the play / pause button 26 is operated after the enter key 20 is operated. When it starts.
[0348]
In step S381, the MS MW 89 requests the C IN / C OUT 87 to copy the content data to be moved in recorded in the MS 4 to the HDD 58 as right invalid data.
[0349]
In step S382, the MS MW 89 requests the C IN / C OUT 87 to generate move-in history information indicating that the move-in process has been started, and record it in the HDD 58. The move-in history information includes information for specifying content data to be moved in. In step S383, the MS MW 89 turns off the flag indicating the presence / absence of the right of the content data recorded in the MS 4 and sets the content data of the MS 4 as the right invalid data.
[0350]
In step S384, the MS MW 89 requests the C IN / C OUT 87 to turn on the flag indicating the presence / absence of the right of the content data copied to the HDD 58, and sets the content data of the HDD 58 as the right valid data.
[0351]
In step S385, the MS MW 89 deletes the content data recorded in the MS 4. In step S386, C IN / C OUT 87 deletes the move-in history information created in step S382.
[0352]
The processes in steps S381 to S386 described above are the move-in process for one content data corresponding to one track, and the processes in steps S381 to S386 are performed on all selected tracks.
[0353]
Note that if the move-in process is interrupted, for example, when the power is shut off during the move-in process, the return process is executed after the power is restored to compensate for the interruption.
[0354]
FIG. 83 shows the state transition of the move-in process. State 11 is a state before the move-in process is started. That is, the content data is recorded in the MS 4 and the content data of the MS 4 is valid.
[0355]
The state 12 is a state after the process of step S381 is performed. That is, by copying the content data recorded in the MS 4 to the HDD 58, the content data is recorded in both the MS 4 and the HDD 58, and the content data in the MS 4 is valid, This shows a state in which the content data in the HDD 58 is invalid.
[0356]
The state 12 is a state after the process of step S381 is performed. That is, by copying the content data recorded in the MS 4 to the HDD 58, the content data is recorded in both the MS 4 and the HDD 58, and the content data in the MS 4 is valid, This shows a state in which the content data in the HDD 58 is invalid.
[0357]
The state 13 is a state after the process of step S383 is performed. That is, the content data is recorded on both the MS 4 and the HDD 58, and the content data on the MS 4 and the content data on the HDD 58 are invalid.
[0358]
The state 14 is a state after the process of step S384 is performed. That is, the content data is recorded in both the MS 4 and the HDD 58, the content data in the MS 4 is invalid, and the content data in the HDD 58 is valid.
[0359]
The state 15 is a state after the process of step S385 is performed. That is, the content data in the MS 4 is erased, so that the content data is recorded only in the HDD 58 and the content data in the HDD 58 is valid.
[0360]
FIG. 84 shows a display example of the display 15 when selecting content data to be moved in. Only the content data that can be moved out of the content data recorded in the MS 4 is displayed on the display 15.
[0361]
FIG. 85 shows a display example of the display 15 during the move-in process. In the display area 301 of the display 15, the characters “Move in” indicating that the move-in process is being executed are blinkingly displayed. A check mark 302 is displayed beside the content data for which the move-in has been completed. Display area 303 displays information indicating the progress status of the move-in process (the number of content data being moved in or having been moved in / the total number of content data to be moved in).
[0362]
Although the move-in process has been described above, the process of importing content data from the MS 4 to the HDD 58 is similarly processed. The difference between the move-in process and the import process is in the handling of content data recorded on the HDD 58 by the move-in process or the import process.
[0363]
The audio server 1 can move out and check out the content data recorded in the HDD 58 by the move-in process to another MS 4 or PD 5. However, the audio server 1 can check out the content data recorded in the HDD 58 by the import process to another MS 4 or PD 5, but cannot move it out.
[0364]
Next, with reference to FIG. 86, a description will be given of a return process for compensating for the interruption of the process due to, for example, the power being cut off during the move-out process or the move-in process. This restoration process is immediately started by the MS MW 89 after the power supply is restored.
[0365]
In step S391, the MS MW 89 determines whether or not the move-out history information exists in the HDD 58. If it is determined that the move-out history information exists in the HDD 58, the process proceeds to step S392 to compensate for the interruption of the move-out process.
[0366]
In step S392, the MS MW 89 executes a move-out restoration process. The move-out restoration process will be described with reference to the flowchart in FIG.
[0367]
In step S401, the MS MW 89 determines whether the content data in the HDD 58 is invalid. If it is determined that the content data in the HDD 58 is invalid, the process proceeds to step S402.
[0368]
In step S402, the MS MW 89 deletes the content data existing in the HDD 58. If it is determined in step S401 that the content data in the HDD 58 is not invalid, step S402 is skipped.
[0369]
In step S403, the MS MW 89 deletes the move-out history information of the HDD 58.
[0370]
The processing returns to FIG. In step S393, the MS MW 89 determines whether or not move-in history information exists in the HDD 58. If it is determined that the move-in history information exists in the HDD 58, the process proceeds to step S394 to compensate for the interruption of the move-in process.
[0371]
In step S394, the MS MW 89 executes a move-in restoration process. The move-out restoration process will be described with reference to the flowchart of FIG.
[0372]
In step S421, the MS MW 89 determines whether the content data in the HDD 58 is invalid. If it is determined that the content data in the HDD 58 is invalid, the process proceeds to step S422.
[0373]
In step S422, the MS MW 89 deletes the content data existing in the HDD 58. If it is determined in step S421 that the content data in the HDD 58 is not invalid, step S422 is skipped.
[0374]
In step S423, the MS MW 89 deletes the move-in history information of the HDD 58. This is the end of the description of the move-in restoration process. The processing returns to FIG. 86, and the return processing is terminated.
[0375]
If it is determined in step S391 in FIG. 86 that the move-out history information does not exist in the HDD 58, the move-out process has been completed normally, so the process in step S392 is skipped. If it is determined in step S393 that there is no move-in history information in the HDD 58, the move-in process has been completed normally, so the process in step S394 is skipped.
[0376]
Even if the return process is interrupted after the power is shut off, the process is executed again from step S391 after the power is restored, so that the compensation is made. This is the end of the description of the return process.
[0377]
Next, processing for checking out content data recorded in the HDD 58 of the audio server 1 to the MS 4 will be described with reference to FIGS. 89 to 91. FIG.
[0378]
Here, the process of checking out the content data recorded on the HDD 58 is a process for temporarily creating and using a copy of the content data recorded on the HDD 58 in the MS 4 or the like. The number of times that content data can be checked out is set in advance, and the number of possible checkouts is decreased by one by the checkout process, but the number of possible checkouts decreased by one by executing a checkin process described later. Restored.
[0379]
The checkout process will be described with reference to the flowchart in FIG.
The checkout process is controlled by the MS MW89.
[0380]
In this checkout process, with the MS 4 inserted in the MS slot 45, the user operates the menu / cancel button 21 to display the menu, and operates the cursor button 17 to select “edit”. This operation is started when the enter button 20 is operated after the enter button 20 is operated to display the edit menu, the cursor button 17 is operated to select “Checkout”.
[0381]
In step S441, the MS MW 89 requests the C IN / C OUT 87 to control the HS DB 91, and checks the number of times content data corresponding to all tracks belonging to the currently selected album can be checked out (the number of remaining checkouts). ) To get. The number of times that content data can be checked out is recorded in the CN included in the AC (FIG. 42) of the corresponding track object (FIG. 43).
[0382]
In step S442, the MS APP 79 requests the related firmware to display on the display 15 information (track title, number of checkouts, etc.) about the track having the number of checkouts of 1 or more. FIG. 90 shows a display example on the display 15. In the display area 311 of the display 15, “HDD” is displayed as information indicating the sound source to be checked out. The display in the display area 312 indicates the number of times content data corresponding to each track can be checked out.
[0383]
In step S443, the MS APP 79 determines whether or not the track to be checked out is selected from the displayed tracks that can be checked out by operating the cursor button 17 and the select button 18. If it is determined that the track to be checked out has been selected, the process proceeds to step S444.
[0384]
In step S444, the MS APP 79 adds the selected track to the checkout list. In step S445, the MS APP 79 decrements the display of the number of times that the content data can be checked out for the selected track by one. The process returns to step S441, and the subsequent processes are repeated.
[0385]
If it is determined in step S443 that the track to be checked out is not selected, the process proceeds to step S446. In step S <b> 446, the MS APP 79 displays a list of tracks to be checked out when the user operates the enter key 20, and further determines whether or not the execution of the check out is instructed by operating the enter key 20. . If it is determined that checkout execution is not instructed, the process returns to step S441, and the subsequent processes are repeated.
[0386]
Thereafter, when it is determined in step S446 that execution of checkout has been instructed, the process proceeds to step S447. In step S447, the MS MW 89 reads the content data corresponding to the track included in the checkout list from the HDD 58, and requests the MS MW 89 to copy the read content data to the MS 4. The copy of the content data includes information for specifying the HDD 58 that is the checkout source.
[0387]
In step S448, the MS MW 89 requests C IN / C OUT 87 to decrement the number of possible checkouts recorded in the AC CN of the track object corresponding to the copied content data by 1, and set the CN value. Update. In addition, the C IN / C OUT 87 records information for identifying the MS 4 as the check-out destination information in the AC LCMLOG.
[0388]
Although explanation is omitted, in this checkout process, similarly to the above-described moveout process, by using a flag indicating whether playback is possible (right is valid or invalid), compensation such as power interruption is performed. Illegal copy creation is suppressed.
[0389]
FIG. 91 shows a display example of the display 15 during the checkout process. In the display area 321, the characters “Check out” indicating that check-out is being performed are displayed blinking. A check mark 322 is displayed next to the track that has been checked out. A pointer 323 is displayed next to the track currently being checked out. The display area 324 displays information indicating the progress status of the checkout process (the number of content data being checked out or completed being checked out / the total number of content data included in the checkout list). This is the end of the description of the checkout process.
[0390]
Next, processing for checking in content data checked out to the MS 4 to the HDD 58 will be described with reference to FIGS. 92 and 93. FIG.
[0390]
Here, the process of checking out the content data recorded in the MS 4 is to erase a copy of the content data temporarily reproduced from the HDD 58 to the MS 4 and to increment the number of times that the HDD 58 can be checked out by 1. This process restores the number of possible checkouts to the original value.
[0392]
The check-in process will be described with reference to the flowchart in FIG. The check-in process is controlled by the MS MW 89.
[0393]
In this check-in process, with the MS 4 inserted in the MS slot 45, the user operates the menu / cancel button 21 to display the menu, and operates the cursor button 17 to select “edit”. The operation is started when the enter button 20 is operated after the enter button 20 is operated to display the edit menu, the cursor button 17 is operated to select “Check-in”.
[0394]
In step S451, the MS APP 79 requests the MS MW 89 to identify content data that can be checked in (content data checked out from the HDD 58 of the audio server 1) among the data recorded in the MS 4, and the relationship. Requesting the firmware to display the content data information that can be checked in on the display 15.
[0395]
In step S452, the MS APP 79 causes the display 15 to display information about a track that can be checked in (such as a song title). FIG. 93 shows a display example on the display 15. In the display area 331 of the display 15, “MS” is displayed as information indicating the sound source for check-in. An arrow 332 displayed after information such as the song title name of the content data indicates that the content data can be checked in.
[0396]
In step S <b> 452, the MS APP 79 determines whether content data to be checked in has been selected from the displayed content data that can be checked in by operating the cursor button 17 and the select button 18. If it is determined that the content data to be checked in has been selected, the process proceeds to step S453.
[0397]
In step S453, the MS APP 79 adds the selected content data to the check-in list. The process returns to step S451, and the subsequent processes are repeated.
[0398]
If it is determined in step S452 that content data to be checked in is not selected, the process proceeds to step S454. In step S454, the MS APP 79 displays a list of content data to be checked in when the user operates the enter key 20, and further determines whether or not the execution of check-in is instructed by operating the enter key 20. To do. If it is determined that check-in execution is not instructed, the process returns to step S451, and the subsequent processes are repeated.
[0399]
Thereafter, if it is determined in step S454 that execution of check-in has been instructed, the process proceeds to step S455. In step S455, the MS APP 79 requests the MS MW 89 to delete the content data of the MS 4 included in the check-in list (the flag indicating whether or not playback is possible may be rejected, ie, the right may be invalidated).
[0400]
In step S456, the MS MW 89 requests the C IN / C OUT 87 to increment the checkout possible number recorded in the AC CN of the track object corresponding to the original content data recorded in the HDD 58 by one. Then, the value of CN is updated. Further, C IN / C OUT 87 deletes information for identifying MS 4 recorded as check-out destination information from the AC LCMLOG. This is the end of the description of the check-in process.
[0401]
Next, the process of checking in the content data recorded in the MS 4 and the process of checking out a plurality of tracks belonging to the album including the track reproduced last by the HD play function to the MS 4 are continuously performed. The exchange process executed in this manner will be described with reference to FIGS.
[0402]
This exchange process is started when the user operates the exchange button 22 with the MS 4 inserted in the MS slot 45.
[0403]
In step S461, the MS APP 79 requests the MS MW 89 to identify content data that can be checked in among the data recorded in the MS 4. In step S462, the MS APP 79 requests the MS MW 89 to check in the content data that can be checked in by the MS 4 one by one, similar to the check-in process described above with reference to FIG.
[0404]
FIG. 95 shows a display example of the display 15 during the process of step S462. In the display area 381 of the display 15, “MS” is displayed as information indicating the sound source of check-in. In the display area 382, the characters “Now Check in” indicating that check-in is being performed are displayed in a blinking manner. The “x” mark 383 displayed before information such as the song title name of the content data indicates that the content data cannot be checked in. A check mark 384 indicates that the content data has been checked in. A pointer 385 indicates that the content data is being checked in.
[0405]
In step S463, the MS APP 79 determines whether or not all content data that can be checked in by the MS 4 has been checked in. If it is not determined that all content data that can be checked in by the MS 4 has been checked in, the process returns to step S462, and the next content data is checked in. Thereafter, when it is determined in step S463 that all content data that can be checked in by the MS 4 has been checked in, the process proceeds to step S464.
[0406]
In step S464, the MS APP 79 determines an album to check out the track to which it belongs. Specifically, for example, the HD DB 91 determines the last played track based on the last access date and time (FIG. 42) of each track object recorded in the object recording area 122, and checks the album to which the track belongs. Determine the album to be out.
[0407]
In step S465, the MS APP 79 selects one track (that is, content data) from the album to be checked out. In step S466, the C IN / C OUT 87 determines whether or not the selected content data can be checked out. If it is determined that the selected content data can be checked out, the process proceeds to S467.
[0408]
In step S467, the MS APP 79 requests the MS MW 89 to determine whether or not the MS 4 has enough capacity to check out the selected content data. If it is determined that the MS 4 has enough capacity to check out the selected content data, the process proceeds to step S468.
[0409]
In step S468, the MS MW 89 checks out the selected content data in the same manner as the check-out process described above with reference to FIG.
[0410]
FIG. 96 shows a display example of the display 15 during the process of step S468. In the display area 391 of the display 15, “HDD” is displayed as information indicating the sound source to be checked out. In the display area 392, the characters “Now Check out” indicating that the check-out is being performed are displayed blinking. The “x” mark displayed before the information such as the song title name of the content data indicates that the content data cannot be checked out, and the check mark indicates that the content data has been checked out. It shows that.
[0411]
In step S469, the MS APP 79 determines whether or not all tracks (that is, content data) included in the album to be checked out have been selected in step S465. If it is determined that all content data has not been selected in step S465, the process returns to step S465, and the subsequent processing is repeated. In step S469, it is determined that all content data has been selected in step S465. If so, the exchange process is terminated.
[0412]
If it is determined in step S466 that the selected content data cannot be checked out, steps S467 and S468 are skipped. If it is determined in step S467 that the MS 4 does not have enough capacity to check out the selected content data, step S468 is skipped.
[0413]
FIG. 97 shows a display example on the display 15 immediately after the exchange process is completed. In the display area 401 of the display 15, a character “COMPLETE” indicating that the exchange process has been completed is displayed.
[0414]
As described above, the user can automatically execute the check-in process from the MS 4 to the HDD 58 and the check-out process from the HDD 58 to the MS 4 simply by operating the exchange button 22. This is the end of the description of the exchange process.
[0415]
By the way, the above-described move-out process, move-in process, import process, check-out process, and check-in process are executed not only between the HDD 58 and the MS 4 but also between the HDD 58 and the PD 5 connected to the connector 43. Is possible.
[0416]
FIG. 98 shows a hardware configuration example of the PD 5. An LSI (Large Scale Integration) 410 that implements the PD 5 includes a CPU 411 that controls the whole. The CPU 411 includes a ROM 412, a RAM 413, a DMA controller 414, a DSP (Digital Signal Processor) 415, a buffer 416, an LCD interface (I / F) 417, a serial interface (I / F) 418, and an interface 419 via the bus 421. , 420 are connected.
[0417]
The ROM 412 stores a program for realizing various functions of the PD 5, a device ID, an encryption key, and the like. The RAM 413 temporarily stores predetermined data and programs when the CPU 411 executes various processes. The DMA controller 414 controls data transfer between the buffer 416, the flash memory 426, and the USB controller 424 via the serial interface 418. The DSP 415 decodes content data recorded in the flash memory 426 or the like. The DSP 415 has a DES engine, and encrypts / decrypts content data using an encryption key. The buffer 416 temporarily buffers data that the DMA controller 417 controls transfer.
[0418]
The LCD driver 422 and the LCD 423 are connected to the subsequent stage of the LCD interface 417. A USB controller 424 and a USB connector 425 are connected to the subsequent stage of the serial interface 418. The USB controller 424 controls data communication with the audio server 1 connected via the USB connector 425. The flash memory 426 connected via the interface 419 records content data moved out from the audio server 1 and additional information such as the song title. A DAC 427 and an amplifier (AMP) 428 are connected to the subsequent stage of the interface 420. The power supply unit 429 supplies power to the LSI 410.
[0419]
Audio data obtained by the decoding of the DSP 415 is output to headphones or the like via the interface 420, the DAC 427, and the amplifier (AMP) 428.
[0420]
Since the move-out process between the HDD 58 and the MS 4 and the move-out process between the HDD 58 and the PD 5 are almost the same, the difference will be described.
[0421]
The content data recorded in the MS 4 is encrypted using the same encryption key as the content data encrypted in the HDD 58 of the audio server 1. Therefore, the encrypted content data can be moved out as it is without being decrypted between the HDD 58 and the MS 4.
[0422]
On the other hand, the encryption of the content data recorded on the PD 5 uses an encryption key different from the encryption of the content data recorded on the HDD 58 of the audio server 1. Therefore, between the HDD 58 and the PD 5, as described above with reference to FIG. 56, the encryption of the content data recorded on the HDD 58 is decrypted and again encrypted using a different encryption key for PD 5. The content is moved out.
[0423]
The description of the move-out process, the move-in process, the import process, the check-out process, and the check-in process between the HDD 58 and the PD 5 is finished.
[0424]
Next, a process for confirming whether the HDD 58 is a usable recording medium will be described. This process is for preventing unauthorized use of a recording medium in which a music CD or the like is stored. To prevent unauthorized use of a recording medium by this process, the HDD 58 At the time of shipment, a value uniquely determined from the device ID of the audio server 1 and the device ID of the HDD 58 (in this example, a hash value) is written. The flowchart of FIG. 99 shows the procedure of processing for writing a hash value to the HDD 58.
[0425]
That is, in step S501, a hash value is calculated based on the device ID of the audio server 1 and the device ID of the HDD 58. This hash value is a value uniquely determined from the device ID of the audio server 1 and the device ID of the HDD 58.
[0426]
In step S502, the hash value calculated in step S501 is written in a predetermined area of the HDD 58. Thereafter, the process ends. Note that the device ID of the HDD 58 is written in the HDD 58 separately.
[0427]
The flowchart in FIG. 100 shows a processing procedure for confirming whether the HDD 58 is a usable recording medium.
[0428]
In step S511, the HD MW 82 acquires the device ID of the HDD 58 written in the HDD 58, and in step S512, the hash is based on the device ID of the HDD 58 and the device ID of the audio server 1 stored in the flash ROM 52. Calculate the value. As described above, this hash value is uniquely determined by the device ID of the audio server 1 and the device ID of the HDD 58.
[0429]
In step S513, the HD MW 82 reads the hash value written in the HDD 58 in step S502 of FIG.
[0430]
Next, in step S514, the HD MW 82 determines whether or not the hash value calculated in step S512 matches the hash value read from the HDD 58 in step S513, and if determined to match, the process proceeds to step S515. The HDD 58 is recognized as a usable recording medium. In other words, this makes it possible to record and reproduce data on the HDD 58.
[0431]
On the other hand, if it is determined in step S514 that they do not match, the process proceeds to step S516, and the HD MW 83 recognizes that the HDD 58 is a recording medium prohibited from being used.
[0432]
For example, when the HDD 58 is connected to another audio server (hereinafter, appropriately referred to as the audio server X), the hash value based on the device ID of the audio server X and the device ID of the HDD 58 is obtained by the processing in FIG. Therefore, it is determined that the hash value of the HDD 58 (the device ID of the audio server 1 and the hash value based on the device ID of the HDD 58) does not match, and as a result, the audio server X cannot use the HDD 58. That is, it is possible to prevent unauthorized use in which the HDD 58 is used by a device other than the audio server 1.
[0433]
In the above, the HDD use confirmation processing has been described from the viewpoint of preventing unauthorized use of the HDD 58. For example, the HDD device ID is assigned to each recording medium capability (for example, recording capacity, recording / reproducing speed). By setting, only the HDD having a certain capacity can be operated in the audio server 1. As a result, it is possible to prevent malfunction of the audio server 1 and the HDD caused by using a recording medium that does not correspond to the capability of the audio server 1 itself.
[0434]
Next, backup processing using the above-described principle of HDD use confirmation processing will be described with reference to the flowchart of FIG.
[0435]
In step S521, the HD MW 82 generates backup data of data recorded in the HDD 58, for example.
[0436]
Next, in step S522, the HD MW 82 acquires the device ID of the HDD 58 written in the HDD 58. In step S523, the HD MW 82 uses the device ID of the HDD 58 and the device ID of the audio server 1 stored in the flash ROM 52. Based on this, a hash value is calculated.
[0437]
In step S524, the HD MW 82 writes the hash value calculated in step S523 into the backup data created in step S521. In step S525, the HDD MW 82 records (backups) the backup data (hereinafter referred to as HDDX as appropriate). To be recorded).
[0438]
Thereafter, the process ends.
[0439]
In this way, data backup is performed.
[0440]
Next, a processing procedure for restoring backup data (when checking whether the listed backup data can be used) will be described with reference to the flowchart of FIG.
[0441]
In step S531, the HD MW 82 inputs backup data from the HDD X and stores (restores) the data in the HDD 58.
[0442]
Next, in step S532, the HD MW 82 acquires the device ID of the HDD 58 from the HDD 58. In step S533, the HD MW 82 hashes based on the device ID of the HDD 58 and the device ID of the audio data 1 stored in the flash ROM 52. Calculate the value.
[0443]
In step S534, the HD MW 82 reads the hash value written in the backup data input in step S531, and overwrites it with the hash value already written in the HDD 58 in step S535.
[0444]
In step S536, the HD MW 82 determines whether or not the hash value calculated in step S533 matches the hash value written in the backup data written in the HDD 58 in step S535. In step S537, the HDD 58 is recognized as an available recording medium.
[0445]
On the other hand, if it is determined in step S536 that they do not match, the process proceeds to step S538, and the HD MW 82 recognizes that the HDD 58 is a recording medium prohibited from being used.
[0446]
That is, for example, when backup data is restored from HDDX to another HDD (hereinafter referred to as HDDY as appropriate) (step S531), a hash value based on the device ID of the audio server 1 and the ID of HDDY (step S533). And the hash value written in the backup data (the device ID of the audio server 1 and the hash value based on the device ID of the HDD 58) do not match, the HDDY cannot be used, and eventually the backup data restored there Also can not be used.
[0447]
By the way, the series of processes described above can be executed by a dedicated device such as the audio server 1, but can also be realized by installing and executing firmware as shown in FIG. 7 in a general-purpose personal computer or the like. can do.
[0448]
This firmware is distributed separately from general-purpose computers to provide programs to users. Magnetic firmware (including floppy disks), optical disks (CD-ROM (Compact Disc-Read Only Memory) ), DVD (including Digital Versatile Disc), magneto-optical disc (including MD (Mini Disc)), or packaged media consisting of semiconductor memory, etc. It consists of a ROM, hard disk, etc. where firmware is provided.
[0449]
In this specification, the step of describing a program (firmware) is executed in parallel or individually even if not necessarily time-sequentially processed, as well as processing performed in time-sequentially according to the described order. It also includes processing.
[0450]
【The invention's effect】
  The present inventionInAccording to,Unauthorized use of data stored in the recording unit can be prevented.
[0451]
  The present inventionInAccording to,Unauthorized use of backup data can be prevented.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining an overview of an audio server 1 according to an embodiment of the present invention.
FIG. 2 is an external view of the audio server 1. FIG.
FIG. 3 is a top view of the audio server 1. FIG.
4 is a rear view of the audio server 1. FIG.
FIG. 5 is a front view of the audio server 1;
FIG. 6 is a block diagram illustrating a hardware configuration example of the audio server 1;
FIG. 7 is a diagram illustrating firmware executed by the audio server 1;
FIG. 8 is a diagram for explaining a FAT file system (data format) applied to the HDD 58;
9 is a diagram showing a logical structure of a file recording area 121. FIG.
FIG. 10 is a diagram showing the configuration of FAT141.
FIG. 11 is a diagram showing an example of FAT141.
12 is a diagram showing an example of recording in a file recording area 121. FIG.
13 is a diagram showing a configuration of a size recording area 151. FIG.
FIG. 14 is a flowchart illustrating file creation processing.
FIG. 15 is a flowchart illustrating an empty cluster acquisition process.
FIG. 16 is a flowchart for explaining FAT entry reading processing;
FIG. 17 is a flowchart illustrating a connection process.
FIG. 18 is a flowchart illustrating file X read processing.
FIG. 19 is a flowchart illustrating file X search processing;
FIG. 20 is a flowchart illustrating reverse read processing of file X.
21 is a diagram showing a logical structure of an object recording area 122. FIG.
22 is a diagram showing a configuration of an object type recording area 163. FIG.
FIG. 23 is a diagram for explaining an area information recording area 164;
24 is a diagram showing a configuration of an object management unit 124. FIG.
25 is a diagram showing the configuration of session management information 181. FIG.
FIG. 26 is a diagram showing two types of basic object types.
FIG. 27 is a diagram illustrating a configuration of an object identifier.
FIG. 28 is a flowchart for explaining object creation processing;
FIG. 29 is a flowchart illustrating session establishment processing.
FIG. 30 is a flowchart illustrating an empty entry securing process.
FIG. 31 is a flowchart illustrating a write session determination process.
FIG. 32 is a flowchart illustrating session discard processing.
FIG. 33 is a flowchart for describing object search processing;
FIG. 34 is a flowchart for describing entry acquisition processing;
FIG. 35 is a flowchart illustrating object update processing.
FIG. 36 is a flowchart for describing stream object creation processing;
FIG. 37 is a flowchart for describing stream object search processing;
FIG. 38 is a diagram illustrating a directory structure of an object.
FIG. 39 is a diagram showing a format of a folder list object.
FIG. 40 is a diagram illustrating a format of a folder object.
FIG. 41 is a diagram illustrating a format of an album object.
FIG. 42 is a diagram illustrating a format of a track object.
FIG. 43 is a diagram illustrating details of AC of a track object.
FIG. 44 is a diagram showing a format of content data.
FIG. 45 is a diagram illustrating a format of a CC object.
FIG. 46 is a diagram showing a format of CC data.
FIG. 47 is a diagram illustrating a data flow when CD ripping is executed.
FIG. 48 is a diagram showing a data flow when CD recording is executed.
FIG. 49 is a diagram illustrating a data flow when HD recording is performed on a digital input.
FIG. 50 is a diagram illustrating a data flow when HD recording is performed on an analog input.
FIG. 51 is a diagram illustrating a data flow when HD play is executed.
FIG. 52 is a diagram showing a data flow when CD play is executed.
FIG. 53 is a diagram showing a data flow when an MS play is executed.
FIG. 54 is a diagram showing a data flow when MS checkout / moveout is executed.
FIG. 55 is a diagram illustrating a data flow when MS import / move-in is executed.
FIG. 56 is a diagram showing a data flow when PD checkout is executed.
FIG. 57 is a diagram for explaining CD ripping;
FIG. 58 is a diagram for explaining CD recording;
FIG. 59 is a diagram for explaining division of a buffer 56 in CD ripping or CD recording.
FIG. 60 is a diagram illustrating state transition of each buffer.
61 is a diagram showing a ring buffer 241 provided in the HDD 58. FIG.
FIG. 62 is a diagram for explaining the flow of data between buffers during CD ripping.
FIG. 63 is a flowchart illustrating a recording speed setting process.
FIG. 64 is a flowchart for explaining a CD recording process.
FIG. 65 is a flowchart for describing ring buffer information initialization processing;
FIG. 66 is a flowchart illustrating a recording process for one song.
FIG. 67 is a flowchart for explaining monitor sound output processing;
FIG. 68 is a flowchart for describing write processing with respect to a ring buffer;
FIG. 69 is a flowchart illustrating a read process for a ring buffer.
FIG. 70 is a diagram showing a display example of the display 15 during CD ripping.
Fig. 71 is a diagram for describing setting of a reproduction area.
[Fig. 72] Fig. 72 is a diagram illustrating an example of a play list.
[Fig. 73] Fig. 73 is a diagram illustrating an example of a play list.
[Fig. 74] Fig. 74 is a diagram illustrating an example of a play list.
Fig. 75 is a diagram illustrating an example of a playlist.
FIG. 76 is a flowchart for describing play list creation processing;
FIG. 77 is a flowchart for explaining all-music repeat playback processing;
FIG. 78 is a flowchart illustrating a move-out process.
FIG. 79 is a diagram showing state transition of the move-out process.
FIG. 80 is a diagram showing a display example on the display 15 in the move-out process.
FIG. 81 is a diagram showing a display example on the display 15 in the move-out process.
FIG. 82 is a flowchart illustrating a move-in process.
FIG. 83 is a diagram showing state transition of a move-in process.
84 is a diagram showing a display example on the display 15 in the move-in process. FIG.
FIG. 85 is a diagram showing a display example on the display 15 in the move-in process.
FIG. 86 is a flowchart illustrating return processing.
FIG. 87 is a flowchart illustrating a move-out restoration process.
FIG. 88 is a flowchart for explaining move-in restoration processing;
FIG. 89 is a flowchart for describing checkout processing;
90 is a diagram showing a display example on the display 15 in the checkout process. FIG.
FIG. 91 is a diagram showing a display example on the display 15 in the checkout process.
FIG. 92 is a flowchart for describing check-in processing;
FIG. 93 is a diagram showing a display example on the display 15 in the check-in process.
FIG. 94 is a flowchart for explaining exchange processing;
FIG. 95 is a diagram showing a display example on the display 15 in exchange processing.
96 is a diagram showing a display example on the display 15 in the exchange process. FIG.
FIG. 97 is a diagram showing a display example on the display 15 in the exchange process.
FIG. 98 is a block diagram illustrating a hardware configuration example of a PD5.
FIG. 99 is a flowchart showing a processing procedure for writing a hash value to the HDD 58;
FIG. 100 is a flowchart for explaining HDD use confirmation processing;
FIG. 101 is a flowchart illustrating backup processing.
Fig. 102 is a flowchart for describing backup data use confirmation processing;
[Explanation of symbols]
1 Audio server, 2 Speaker, 3 Music CD, 4 MS, 5PD, 6 PC, 22 Exchange button, 51 Main CPU, 71 RTOS, 72 APP, 73 UMW, 74 LMW, 75 DD, 76 Main APP, 77 HD APP, 78 CD APP, 79 MS APP, 80 PD APP, 81 FEP, 82 HD MW, 83 HD CC, 84 CD RIPPING, 85 HD PLAY, 86 HD REC, 87 C IN / C OUT, 88 CD MW, 89 MS MW, 90 PD MW

Claims (5)

データの記録再生処理を制御する記録再生装置において、
前記記録再生装置自身を識別するための置用識別子を記憶する記憶手段と、
前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段と、
前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得手段と、
前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較手段と、
前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御手段と
前記記録手段に記録されている前記データのバックアップデータを生成する生成手段と、
前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込み手段と、
前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録手段と、
前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録手段と、
前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得手段と、
前記第2の取得手段により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込み手段と
を備え
前記第1の取得手段は、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込み手段により書き込まれた新たな前記第1のハッシュ値を取得する
記録再生装置。
In a recording / reproducing apparatus for controlling data recording / reproducing processing,
Storage means for storing the instrumentation置用identifier for identifying said recording and reproducing apparatus itself,
The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. The recording means in which a hash value is written in advance;
From said recording means, a first acquiring means for acquiring an identifier and the first hash value for the recording means,
Comparing means for comparing the second hash value is uniquely determined by the instrumentation置用identifier and said recording means identifier, and the acquired first hash value,
If the second hash value and the first hash value matches, the recording and reproduction control means for controlling the recording and reproduction processing of the data to the recording means,
Generating means for generating backup data of the data recorded in the recording means;
First writing means for writing the second hash value to the backup data;
An output recording means for outputting and recording the backup data in which the second hash value is written to an external recording unit to a recording unit for backup;
Input recording means for recording the backup data recorded in the recording unit for backup by inputting the data into the recording means to be restored; and
Second acquisition means for acquiring the second hash value written in the backup data recorded in the recording unit for backup;
A second writing unit for writing the second hash value acquired by the second acquiring unit to the recording unit to be restored as the first hash value written in advance by overwriting; ,
The recording / reproducing apparatus, wherein the first obtaining unit obtains the recording unit identifier and the new first hash value written by the second writing unit from the recording unit to be restored .
前記記録手段は、ハードディスクである
請求項1に記載の記録再生装置。
The recording / reproducing apparatus according to claim 1, wherein the recording unit is a hard disk.
データの記録再生処理を制御する記録再生装置の記録再生方法において、
前記記録再生装置自身を識別するための第1の装置用識別子の記憶を制御する記憶制御ステップと、
前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得ステップと、
前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較ステップと、
前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御ステップと
前記記録手段に記録されている前記データのバックアップデータを生成する生成ステップと、
前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込みステップと、
前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録ステップと、
前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録ステップと、
前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得ステップと、
前記第2の取得ステップの処理により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込みステップと
を含み、
前記第1の取得ステップは、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込みステップの処理により書き込まれた新たな前記第1のハッシュ値を取得する
記録再生方法。
In a recording / reproducing method of a recording / reproducing apparatus for controlling data recording / reproducing processing,
A storage control step for controlling storage of a first device identifier for identifying the recording / reproducing device itself;
The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. A first obtaining step of obtaining the recording means identifier and the first hash value from the recording means in which a hash value is written in advance ;
A comparing step of comparing the second hash value is uniquely determined by the instrumentation置用identifier and said recording means identifier, and the acquired first hash value,
If the second hash value and the first hash value matches, the recording control step of controlling the recording and reproduction processing of the data to the recording means,
A generation step of generating backup data of the data recorded in the recording means;
A first writing step of writing the second hash value to the backup data;
An output recording step in which the backup data in which the second hash value is written is an external recording unit and is output and recorded in a backup recording unit;
An input recording step in which the backup data recorded in the recording unit for backup is input to the recording means to be restored and recorded;
A second acquisition step of acquiring the second hash value written in the backup data recorded in the recording unit for backup;
A second writing step of writing the second hash value acquired by the processing of the second acquisition step into the recording unit to be restored as the first hash value written in advance by overwriting; only including,
In the recording / reproducing method, the first acquiring step acquires the recording unit identifier and the new first hash value written by the processing of the second writing step from the recording unit to be restored .
データの記録再生処理を制御する記録再生装置を制御するプログラムが記録されている記録媒体において、
前記記録再生装置自身を識別するための第1の装置用識別子の記憶を制御する記憶制御ステップと、
前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得ステップと、
前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較ステップと、
前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御ステップと
前記記録手段に記録されている前記データのバックアップデータを生成する生成ステップと、
前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込みステップと、
前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録ステップと、
前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録ステップと、
前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得ステップと、
前記第2の取得ステップの処理により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込みステップと
を含み、
前記第1の取得ステップは、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込みステップの処理により書き込まれた新たな前記第1のハッシュ値を取得する
理をコンピュータに実行させるためのコンピュータ読み取り可能なプログラムが記録されている記録媒体。
In a recording medium on which a program for controlling a recording / reproducing apparatus for controlling data recording / reproducing processing is recorded,
A storage control step for controlling storage of a first device identifier for identifying the recording / reproducing device itself;
The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. A first obtaining step of obtaining the recording means identifier and the first hash value from the recording means in which a hash value is written in advance ;
A comparing step of comparing the second hash value is uniquely determined by the instrumentation置用identifier and said recording means identifier, and the acquired first hash value,
If the second hash value and the first hash value matches, the recording control step of controlling the recording and reproduction processing of the data to the recording means,
A generation step of generating backup data of the data recorded in the recording means;
A first writing step of writing the second hash value to the backup data;
An output recording step in which the backup data in which the second hash value is written is an external recording unit and is output and recorded in a backup recording unit;
An input recording step in which the backup data recorded in the recording unit for backup is input to the recording means to be restored and recorded;
A second acquisition step of acquiring the second hash value written in the backup data recorded in the recording unit for backup;
A second writing step of writing the second hash value acquired by the processing of the second acquisition step into the recording unit to be restored as the first hash value written in advance by overwriting; only including,
The first obtaining step obtains the recording unit identifier and the new first hash value written by the processing of the second writing step from the recording unit to be restored.
Recording medium having a computer readable program for executing a processing on a computer is recorded.
データの記録再生処理を制御する記録再生装置を制御するプログラムにおいて、
前記記録再生装置自身を識別するための第1の装置用識別子の記憶を制御する記憶制御ステップと、
前記データを記録している記録手段を識別するための記録手段用識別子、および前記記録手段に対する前記データの記録再生処理が可能であるか否かを判断するために比較される値として、前記記録手段の能力毎に異なる前記記録手段用識別子と、複数の前記記録再生装置のうち、前記記録手段に対する前記データの記録再生処理が可能な記録再生装置の装置用識別子とにより一意に決まる第1のハッシュ値が予め書き込まれている前記記録手段から、前記記録手段用識別子および前記第1のハッシュ値を取得する第1の取得ステップと、
前記置用識別子と前記記録手段用識別子とにより一意に決まる第2のハッシュ値と取得された前記第1のハッシュ値を比較する比較ステップと、
前記第2のハッシュ値と前記第1のハッシュ値とが一致する場合、前記記録手段に対する前記データの記録再生処理を制御する記録再生制御ステップと
前記記録手段に記録されている前記データのバックアップデータを生成する生成ステップと、
前記第2のハッシュ値を、前記バックアップデータに書き込む第1の書き込みステップと、
前記第2のハッシュ値が書き込まれた前記バックアップデータを、外部の記録部であって、バックアップ用の記録部に出力して記録させる出力記録ステップと、
前記バックアップ用の記録部に記録されている前記バックアップデータを、リストア対象の記録手段に入力して記録させる入力記録ステップと、
前記バックアップ用の記録部に記録されている前記バックアップデータに書き込まれた前記第2のハッシュ値を取得する第2の取得ステップと、
前記第2の取得ステップの処理により取得された前記第2のハッシュ値を、上書きにより、予め書き込まれている前記第1のハッシュ値として、前記リストア対象の記録手段に書き込む第2の書き込みステップと
を含み、
前記第1の取得ステップは、前記リストア対象の記録手段から、前記記録手段用識別子、および前記第2の書き込みステップの処理により書き込まれた新たな前記第1のハッシュ値を取得する
理をコンピュータに実行させるためのプログラム。
In a program for controlling a recording / reproducing apparatus for controlling data recording / reproducing processing,
A storage control step for controlling storage of a first device identifier for identifying the recording / reproducing device itself;
The recording means identifier for identifying the recording means for recording the data, and the value to be compared to determine whether the recording / reproducing process of the data with respect to the recording means is possible A first identifier uniquely determined by the recording means identifier that is different for each capability of the means and a device identifier of a recording / reproducing apparatus capable of recording / reproducing the data to / from the recording means among the plurality of recording / reproducing apparatuses. A first obtaining step of obtaining the recording means identifier and the first hash value from the recording means in which a hash value is written in advance ;
A comparing step of comparing the second hash value is uniquely determined by the instrumentation置用identifier and said recording means identifier, and the acquired first hash value,
If the second hash value and the first hash value matches, the recording control step of controlling the recording and reproduction processing of the data to the recording means,
A generation step of generating backup data of the data recorded in the recording means;
A first writing step of writing the second hash value to the backup data;
An output recording step in which the backup data in which the second hash value is written is an external recording unit and is output and recorded in a backup recording unit;
An input recording step in which the backup data recorded in the recording unit for backup is input to the recording means to be restored and recorded;
A second acquisition step of acquiring the second hash value written in the backup data recorded in the recording unit for backup;
A second writing step of writing the second hash value acquired by the processing of the second acquisition step into the recording unit to be restored as the first hash value written in advance by overwriting; only including,
The first obtaining step obtains the recording unit identifier and the new first hash value written by the processing of the second writing step from the recording unit to be restored.
Program for executing the processing to the computer.
JP2001252911A 2001-08-23 2001-08-23 Recording / reproducing apparatus and method, recording medium, and program Expired - Fee Related JP4586317B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001252911A JP4586317B2 (en) 2001-08-23 2001-08-23 Recording / reproducing apparatus and method, recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001252911A JP4586317B2 (en) 2001-08-23 2001-08-23 Recording / reproducing apparatus and method, recording medium, and program

Publications (2)

Publication Number Publication Date
JP2003059180A JP2003059180A (en) 2003-02-28
JP4586317B2 true JP4586317B2 (en) 2010-11-24

Family

ID=19081311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001252911A Expired - Fee Related JP4586317B2 (en) 2001-08-23 2001-08-23 Recording / reproducing apparatus and method, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4586317B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141683A (en) 2003-11-10 2005-06-02 Sony Corp Content use management system, content reproducing apparatus, content use management method, content reproduction method, and computer program
JP4713304B2 (en) * 2005-11-07 2011-06-29 富士通テン株式会社 Data management device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134311A (en) * 1995-11-07 1997-05-20 Fujitsu Ltd Secrecy protection system
JP2000099403A (en) * 1998-09-18 2000-04-07 Fujitsu Ltd Method and device for managing information
JP2000286839A (en) * 1999-03-31 2000-10-13 Ricoh Co Ltd Information recorder, method for verifying authenticity and computer-readable recording medium storing program to allow computer to execute the method
JP2000305846A (en) * 1999-02-17 2000-11-02 Sony Corp Information processor, its method and program storing medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986048B1 (en) * 2000-01-24 2006-01-10 Koninklijke Philips Electronics N.V. Protecting content from illicit reproduction by proof of existence of a complete data set using security identifiers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134311A (en) * 1995-11-07 1997-05-20 Fujitsu Ltd Secrecy protection system
JP2000099403A (en) * 1998-09-18 2000-04-07 Fujitsu Ltd Method and device for managing information
JP2000305846A (en) * 1999-02-17 2000-11-02 Sony Corp Information processor, its method and program storing medium
JP2000286839A (en) * 1999-03-31 2000-10-13 Ricoh Co Ltd Information recorder, method for verifying authenticity and computer-readable recording medium storing program to allow computer to execute the method

Also Published As

Publication number Publication date
JP2003059180A (en) 2003-02-28

Similar Documents

Publication Publication Date Title
KR100915767B1 (en) Information processing apparatus and method
JP4038686B2 (en) RECORDING DEVICE, RECORDING METHOD, STORAGE MEDIUM, PROGRAM, AND COMMUNICATION DEVICE
JP4701550B2 (en) Recording apparatus and method, recording medium, and program
US6434103B1 (en) Recording medium, recording apparatus, recording method, editing apparatus and editing method
KR100632495B1 (en) Information processing apparatus and method and program storage medium
JP4830225B2 (en) Recording apparatus and method, recording medium, and program
KR20020082423A (en) Information processing apparatus and method, information processing system using the same, and recording medium and program used therewith
JP2002203366A (en) Digital audio signal sound recording system
JP2003069551A (en) Encrypting device and method, decrypting device and method, storage medium, as well as program
JP4618476B2 (en) Reproduction apparatus and method, recording medium, and program
JP4586317B2 (en) Recording / reproducing apparatus and method, recording medium, and program
JP2003087239A (en) Communication system, communication device and method, recording medium, and program
JP2003022656A (en) Recording device and method, recording medium and program
JP2003030966A (en) Device and method for reproduction, recording medium, and program
JP2006185589A (en) Data transfer system, data transfer method, and data transfer program
WO2003088249A1 (en) Recording/reproduction device and recording/reproduction method
JP2003030967A (en) Device and method for recording, recording medium, and program
JP2003066996A (en) Apparatus and method for recording and reproducing, storage medium and program
JP2003022606A (en) Recording and reproducing apparatus and its method, recording medium, and program
JP2003022663A (en) Recording device and method, recording medium, and program
JP2003022205A (en) Recorder, recording method, recording medium and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100810

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100823

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees