(57)【特許請求の範囲】
【請求項１】
装着された記録媒体に記録されたコンテンツデータを再生する再生方法において、
前記記録媒体に同様に記録され、前記コンテンツデータに関連する情報を所定サイズの関連データ単位で管理する関連情報を読み出し、
各関連データに含まれ、当該関連データの種類を識別するための関連データ識別情報を判定し、
前記判定によりある関連データが前記関連情報のサイズに関する情報を含むと判定された場合は、当該サイズに関する情報に基づき当該関連情報に関するサイズを計算し、
前記計算が行われた後に、さらに同様の判定により他の関連データが前記関連情報の一部または全部を含むと判定された場合は、計算された前記サイズに基づき当該関連情報を記憶する
ことを特徴とする再生方法。
【請求項２】
計算された前記サイズに基づき前記関連情報を記憶する際に、記憶する当該関連情報の最大値を指定する
ことを特徴とする請求項１記載の再生方法。
【請求項３】
前記コンテンツデータはオーディオデータであり、前記関連情報はタイトル情報またはアーチスト情報である
ことを特徴とする請求項１記載の再生方法。
【請求項４】
任意の関連データに含まれる関連データ識別情報に対応する処理を実行できない場合は、前記記録媒体を再生不可とする
ことを特徴とする請求項1 記載の再生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、オーディオデータが記録されている記録媒体、特にＣＤテキストフォーマットに従ってオーディオデータおよびそれに付随するデータが記録されているディジタルオーディオデータ用ＣＤ（コンパクトディスク）の再生方法に関する。
【０００２】
【従来の技術】
従来、ＣＤプレーヤのシステムをコントロールするマイクロ・コンピュータにおいて、ＣＤテキストが記録されているコンパクトディスクからＣＤテキストデータを読込む場合には、１ヶ国語につき４０９６バイトのＲＡＭ(Random Access Memory)容量を必要とする。さらに、ディスクに記録されている全てのテキストデータ（例えば８ヶ国語）を読込む場合には、４０９６×８＝３２７６８バイトものＲＡＭ容量を必要とする。
【０００３】
また、ＣＤプレーヤのシステムをコントロールするマイクロ・コンピュータ内に設けられるＲＡＭの容量は、通常２０００〜４０００バイト程度であるが、その大半がシステムをコントロールするために使用されてしまい、１ヶ国語分のＣＤテキストデータを読込むために充分なＲＡＭ容量が残存することはない場合が多い。
【０００４】
従って、ＣＤテキストデータを読込むためには、マイクロコンピュータに容量の大きいＲＡＭを接続する構成とする必要がある。このような構成においてはコストアップが招来されるため、低価格の機種でＣＤテキストデータを読込む機能を実現することは不可能であった。
【０００５】
【発明が解決しようとする課題】
従って、この発明の目的は、低コストのハードウエアを用いて、記録媒体から、ＣＤテキストデータ等の情報量の多いデータを読込むことを可能とする再生方法を提供することにある。
【０００６】
【課題を解決するための手段】
請求項１の発明は、装着された記録媒体に記録されたコンテンツデータを再生する再生方法において、
前記記録媒体に同様に記録され、前記コンテンツデータに関連する情報を所定サイズの関連データ単位で管理する関連情報を読み出し、
各関連データに含まれ、当該関連データの種類を識別するための関連データ識別情報を判定し、
前記判定によりある関連データが前記関連情報のサイズに関する情報を含むと判定された場合は、当該サイズに関する情報に基づき当該関連情報に関するサイズを計算し、
前記計算が行われた後に、さらに同様の判定により他の関連データが前記関連情報の一部または全部を含むと判定された場合は、計算された前記サイズに基づき当該関連情報を記憶する
ことを特徴とする再生方法である。
【００１２】
以上のような発明によれば、ＣＤテキストフォーマット等に従ってＣＤ等の記録媒体に記録された情報が読込まれるＲＡＭ等を効率的に使用することができる。
【００１３】
【発明の実施の形態】
以下、この発明の一実施形態について説明する。この発明を適用することが可能な再生装置の全体的な構成の一例を図１に示す。着脱自在なトレイ５０１を有するローディング機構にディスク１が装着されると、搬送モータ５０２によって発生する動力を与えられる搬送機構がディスク１をチャッキング位置まで搬送する。ディスク１は、スピンドルモータ２によってＣＬＶ(Constant Linear Velocity)回転駆動される。そして、光学ヘッド３によってディスク１上のピット情報が読取られる。ここで、トレイ５０１に装着されたディスク１については、スピンドルモータ２によって回転させられる状態でのディスク１と大きさが異なるように図示されているが、これは記載スペースを考慮したためであり、搬送時および回転駆動時の何れにおいてもディスク１の大きさは一定である。
【００１４】
図示は省略するが、光学ヘッド３内には、レーザダイオードと、回折格子、ビームスプリッタ、１／４波長板等からなる光学系とが設けられ、かかる光学系によって、レーザダイオードから出射されるレーザ光が所定の状態（例えば所定のスポット径を有する等）とされてディスク１の記録面に照射される。そして、その反射光が上述の光学系に入射し、ビームスプリッタによって照射光と分離して取出されて、シリンドリカルレンズ等を介してディテクタに導かれる。ディテクタは、入射する光を電気信号に変換する。
【００１５】
ディテクタが生成する電気信号が光学ヘッド３による読取り信号としてＲＦ演算部４に供給される。ＲＦ演算部４は、供給される信号に基づいて、再生データとしてのＲＦ信号、フォーカスエラー信号ＥＦ，およびトラッキングエラー信号ＥＴを生成する。フォーカスエラー信号ＥＦおよびトラッキングエラー信号ＥＴは、サーボ回路５に供給される。サーボ回路５は、供給されるフォーカスエラー信号ＥＦおよびトラッキングエラー信号ＥＴに基づいてフォーカスドライブ信号ＦＤ，トラッキングドライブ信号ＴＤを生成し、生成したフォーカスドライブ信号ＦＤ，トラッキングドライブ信号ＴＤを、光学ヘッド３の対物レンズの位置制御を行う２軸機構（図示せず）に供給する。
【００１６】
２軸機構は、供給される信号に従って対物レンズの位置を変位させる。これにより、適正な読取り信号が得られるための所定の範囲内に、フォーカスエラーおよびトラッキングエラーが収められる。また、サーボ回路５は、供給されるトラッキングエラー信号ＥＴに基づいてスレッドドライブ信号ＳＤを生成し、生成したスレッドドライブ信号ＳＤを、光学ヘッド３をディスク１の半径方向に駆動するスレッド機構６に供給する。これにより、例えばアクセスすべき目標トラックへの移動等の、ディスク１の半径方向の比較的大きな規模の位置制御がなされる。サーボ回路５には、さらに、スピンドルサーボ信号ＳＳおよびトラックジャンプ信号ＴＪ等が供給され、これらの信号に基づく動作を行うが、これらについては後述する。
【００１７】
一方、ＲＦ信号は、ＲＦ演算部４からデコーダ７に供給される。デコーダ７は、供給されるＲＦ信号に、ＥＦＭ変調，ＣＩＲＣ(Cross Interleave Read-Solomon Code)エラー訂正処理等を施し、これらの処理によって生成した信号をＤ／Ａ変換器８に供給する。Ｄ／Ａ変換器８は、供給される信号を例えば２チャンネルのアナログ音声信号Ｌ，Ｒに変換する。そして、アナログ音声信号Ｌ，Ｒに基づいて増幅回路９がスピーカ１０ａ，１０ｂを駆動することにより、音声出力を発生させる。ここでは２チャンネルの場合について説明したが、チャンネル数は２に限定されるものでは無い。一般的には、チャンネル数に等しい数のスピーカが設けられる。
【００１８】
また、デコーダ６は、供給されるＲＦ信号からサブコードデータＣＳＵＢ，ＣＤテキストデータＣＤＴＥＸＴ，およびスピンドルサーボを行うためのクロック誤差信号ＥＳＰ等を取出し、取出したデータをコントローラ１００に供給する。コントローラ１００は、マイクロコンピュータと、ＲＡＭ(Random Access Memory ）１００ａ等を有する。コントローラ１００は、ユーザーが行う操作、サブコードデータＣＳＵＢ，ＣＤテキストデータＣＤＴＥＸＴ等に応じて装置内の各構成要素を制御する。また、コントローラ１００は、ＲＡＭ１００ａに、ディスク１から再生される、ＴＯＣデータ、ＣＤテキストデータＣＤＴＥＸＴ等を記憶する。なお、図１では、ＲＡＭ１００ａがコントローラ１００内に内蔵される場合を示したが、ＲＡＭ１００ａと同じ機能を有するＲＡＭを、コントローラ１００とは別個に設けても良い。
【００１９】
例えば、スピンドルサーボ信号ＳＳおよびトラックジャンプ信号ＴＪをサーボ回路５に供給する。サーボ回路５は、供給されるスピンドルサーボ信号ＳＳに基づいてスピンドルドライブ信号ＳＰＤを生成し、スピンドルドライブ信号ＳＰＤをスピンドルモータ２に供給することにより、スピンドルサーボすなわちスピンドルモータ２の制御を行う。また、サーボ回路５は、トラックジャンプ信号ＴＪに基づいてスレッド機構６等を制御し、光学ヘッド３をユーザーが行う操作等に対応する適正なトラックにアクセスさせる。
【００２０】
ユーザーが行う操作は、操作部２００を介して入力される。操作部２００は、装置の外筐パネル上に設けられた、各種操作キーを有する操作部である。操作部２００には、ローディング機構等の動作によってチャッキング位置等に装着が完了したディスク１に対する操作に係る再生キー、停止キー、早送りキー、早戻しキー、ＡＭＳ（頭出し）キー等のＣＤ操作キー、およびシャッフル再生、プログラム再生等の再生モード操作キー等を有する。
【００２１】
操作部２００には、さらに、ユーザーによる電源操作（２次電源）に係る操作スイッチ、ディスク１（トレイ５０１）の収納／取出し等の指令を入力するためのオープン／クローズキー等が設けられる。オープン／クローズキーを操作することによって、例えば、チャッキング位置からトレイ５０１がイジェクトされ、そのトレイ５０１に対してディスク１を装填／脱却することができる。また、表示部３００には、再生中のＣＤの時間情報、各種モード状態等がコントローラ１００の制御に基づいて表示される。
【００２２】
一方、電源回路４００は、商用交流電源から供給される電流を整流、平滑して直流動作電源電圧を生成し、生成した直流動作電源電圧を各構成要素に供給する。コンセントが商用交流電源に接続された状態では、１次電源がオンとされ、スタンバイ電源電圧Ｖ２を出力する。スタンバイ電源電圧Ｖ２は、コントローラ１００等に供給される。また、ユーザーが例えば操作部２００に設置された電源操作スイッチをオンとすることに応じて、動作電源電圧Ｖ１を各構成要素に供給する。
【００２３】
コンセントが商用交流電源に接続された状態では、コントローラ１００には常にスタンバイ電源電圧Ｖ２が供給される。このため、スタンバイ状態においてもある程度の動作を行うことができる。例えば、所定の条件が満たされる場合に電源回路４００に対して自動的に動作電源電圧Ｖ１を出力させる等の制御も可能である。
【００２４】
モータドライバ部５００は、トレイ５０１を搬送するローディング機構に動力を与える搬送モータ５０２を駆動する。すなわち、モータドライバ部５００は、コントローラ１００から供給されるモータ制御情報ＳＭＤに従ってトレイ５０１の搬送モータ５０２に動作電流を印加する。これにより、搬送モータ５０２の回転方向および回転動作期間がコントローラ１００によって制御されることになる。
【００２５】
また、ローディング機構からコントローラ１００には、各種センサからの信号が供給される。すなわち、チャッキング検出スイッチ５０３から信号ＳＥＮ、アウトスイッチ５０４から信号ＳＳＥＮがコントローラ１００に供給される。これらの信号により、コントローラ１００がローディング機構における各種状態を検知することができる。
【００２６】
上述したような構成において、現在時点において再生準備状態となっていないディスク、すなわちＴＯＣおよびＣＤテキストを未だ読込んでいないディスクについて、当該ディスクがイジェクトからチャッキング位置に搬送された後にＴＯＣおよびＣＤテキストの読込みが実行される。
【００２７】
ＣＤテキストデータについて以下に説明する。図２に、ＣＤテキストデータのフォーマットの一例を示す。ＩＤ１，ＩＤ２，ＩＤ３およびＩＤ４は、例えば８ビット（１バイト）からなる識別データである。これらの識別データに後続する位置に、各８ビット（１バイト）からなる１２個のテキストデータｔｅｘｔ１〜ｔｅｘｔ１２が設けられる。そして、これら１６バイトで１パックを構成する。
【００２８】
ＩＤ１〜ＩＤ４について説明する。ＩＤ１は、８ビットの内の上位４ビットの内、ＭＳＢから始まる上位３ビットがモード４を表現する”１００”とされる。上位４ビット中の残りの１ビットは０とされるので、上位４ビットは、”１０００”とされる。なお、モード４は、ＣＤ−テキストフォーマットが提案される以前には未定義のモードである。これにより、ＣＤ−テキストフォーマットに対応しない既存の再生装置にＣＤ−テキストフォーマットに従って記録されたディスクが装着された場合には認識不可能なモードが検出されて再生不可能と判断され、誤動作が防止される。
【００２９】
また、下位４ビットが以下に説明するようにＩＤ１で始まるパックが扱うデータの内容（１６種類）を表す。すなわち、ＩＤ１は、（８ｘｈ）（ｈは１６進数を意味し、また、ｘが下位４ビットの値を意味する）と表現される。具体的には、ＩＤ１が（８０ｈ）の場合は、ｔｅｘｔ１〜ｔｅｘｔ１２の文字がアルバム・タイトル／トラック・タイトルを示し、（８１ｈ）の場合には、ｔｅｘｔ１〜ｔｅｘｔ１２の文字がアルバム・アーチスト／トラック・アーチストを示す。また、ＩＤ１が（８２ｈ）の場合は作詩者、（８３ｈ）の場合は作曲者、（８４ｈ）の場合は編曲者、（８５ｈ）の場合はメッセージ、（８６ｈ）の場合はｄｉｓｃＩＤ、（８７ｈ）の場合はジャンルＩＤ、（８８ｈ）の場合はＴＯＣ情報、（８９ｈ）の場合は２ｎｄＴＯＣ情報が扱われる。
【００３０】
さらに、（８ａｈ），（８ｂｈ）および（８ｃｈ）は予約、すなわち現在は未定義であることを意味する。とされる。そして、ＩＤ１が８ｄｈの場合はクローズド情報、（８ｅｈ）の場合はアルバムのＵＰＣ／ＥＡＮ（ＰＯＳコード）および各トラックのＩＳＲＣ(International Standard Recording Code) が扱われる。また、ＩＤ１が（８ｆｈ）の場合は、ＩＤ１で始まるパックによってブロックのサイズ情報が扱われる。すなわち、ＩＤ１が（８ｆｈ）とされているパックは、サイズパックである。
【００３１】
ＩＤ２は、１ビットの拡張フラグと７ビットのトラックナンバーまたはパックエレメントナンバーを含む。トラックナンバーは、そのパックのテキストデータの最初の文字が属するトラックナンバーを示す。ＩＤ３は、パックに付された連続番号（シーケンスナンバー）である。この連続番号は、０から２５５（００ｈからｆｆｈ）までである。ＩＤ４は、１ビット（ＭＳＢ）のＤＢＣＣ(Double Byte Character Code)識別ビットと、３ビットのブロックナンバーと、そのパックの文字位置を示す４ビットからなる。
【００３２】
次に、テキストデータは、ＩＤ１によって示されるパックの情報に依存した文字列あるいはバイナリー情報を含む。（ＩＤ１＝８８ｈ），（ＩＤ１＝８９ｈ），（ＩＤ１＝８ｆｈ）とされるパック以外のパックにおいては、テキストデータが文字列で表される。文字列は、文字の系列と終端子としてのヌルコードとからなる。また、（ＩＤ１＝８ｆｈ）の場合、当該パックはサイズ・パックである。サイズ・パックの一例を図３に示す。ｔｅｘｔ１は、そのブロックの文字（キャラクタ）コードを示す。ｔｅｘｔ２およびｔｅｘｔ３は、それぞれ、最初のトラックナンバーおよび最後のトラックナンバーを示す。ｔｅｘｔ４は、コピー制御フラッグを示す。ｔｅｘｔ５〜ｔｅｘｔ１２は、（ＩＤ１＝８０ｈ）〜（ＩＤ１＝８７ｈ）を有するパックの総数をそれぞれ表す。
【００３３】
ＣＤテキストのデータ・フォーマットは、上述したような１６バイトからなる１パックのデータを、１ヶ国語について最大２５６パック（４０９６バイト）含むブロックから構成される。なお、１枚のディスク１には、最大で８ヶ国語に相当する８ブロック（すなわち最大で３２７６８バイト）を記録することが可能である。以上のようなＣＤテキストのデータ・フォーマットにおいては、１ヶ国語のＣＤテキストデータを読込むために必要なＲＡＭ容量は、通常、４０９６バイトである。
【００３４】
この発明の一実施形態では、限られたＲＡＭ容量の下でＣＤテキストの読込みを実行するために、コントローラ１００内のＲＡＭ１００ａに対して、以下のような割り付けを行う。すなわち、図４Ａに示すように、ＣＤテキストデータの内の識別データＩＤ１〜ＩＤ４を除いた、ｔｅｘｔ１〜ｔｅｘｔ１２をＲＡＭ１００ａに割り付ける。この場合、図４Ｂに示すように、ＲＡＭ１００ａ上では、ｔｅｘｔ１〜ｔｅｘｔ１２の計１２バイトを１パケットとして扱い、ＲＡＭ１００ａ上のアドレスを縦／横について、ｓａｖｅ＿ｐａｃｋ＿ｎｏ／ｓａｖｅ＿ｔｅｘｔ＿ｎｏとして表す。
【００３５】
次に、ＣＤテキストデータを１パケット読込んで、ＲＡＭ１００ａに格納する処理について図５のフローチャートを参照して説明する。ステップＳ１として、〔フラグ８Ｆ００〕＝ＯＦＦとする。かかる処理は、ＩＤ１＝８Ｆであるサイズ・パックのデータを読込んだか否かについての記憶を行うためのフラグの初期化である。次に、ステップＳ２としてＣＤテキストデータが１パケット読込まれたか判定し、読込まれた場合にはステップＳ３に移行し、読込まれていない場合には再度ステップＳ２に移行する。すなわち、ステップＳ２は、ＣＤテキストデータが１パケット読込まれるまで待機して、その後ステップＳ３に移行するステップである。
【００３６】
ステップＳ３では、ＩＤ１＝８Ｆであるか否か、すなわち読込まれた１パックがサイズ・パックであるか否かを判定する。ＩＤ１＝８Ｆである場合にはステップＳ４に移行し、それ以外の場合にはステップＳ９に移行する。ステップＳ４では、ＩＤ２＝００であるか否かを判定し、ＩＤ２＝００である場合にはステップＳ５に移行し、それ以外の場合にはステップＳ２に移行して、後続の１パケットが読込まれるまで待機する。ステップＳ５では、〔フラグ８Ｆ００〕＝ＯＦＦであるか否かを判定する。〔フラグ８Ｆ００〕＝ＯＦＦである場合には最初にＩＤ１＝８Ｆとなった場合、すなわち、最初のサイズ・パックが読込まれた場合には、ステップＳ６に移行し、それ以外の場合にはステップＳ２に移行して、後続の１パケットが読込まれるまで待機する。
【００３７】
ステップＳ６では、読込まれたサイズ・パックのデータに基づいてテキスト・サイズ計算を行う。そして、ステップＳ７に移行し、〔フラグ８Ｆ００〕＝ＯＮとする。これにより、ステップＳ６が１度行われたことが記憶される。さらに、ステップＳ１１に移行する。
【００３８】
一方、ステップＳ９では、〔フラグ８Ｆ００〕＝ＯＮであるか否かを判定する。〔フラグ８Ｆ００〕＝ＯＮと判定される場合にはテキスト・サイズ計算が既に完了しているので、この場合にはステップＳ１０に移行してフォント・データ格納を実行する。一方、ステップＳ９で〔フラグ８Ｆ００〕＝ＯＦＦと判定される場合にはステップＳ２に移行して、後続の１パケットが読込まれるまで待機する。
【００３９】
ステップＳ６におけるテキスト・サイズ計算について図６および図７のフローチャートを参照して詳細に説明する。ここで、２個の図面に分けて記載したのは記載スペースの都合によるものであり、以下の説明においては、図６および図７を一体として参照する。なお、図６および図７の連結位置を（Ａ），（Ｂ）として示した。ステップＳ１０１としてタイトル曲数(title＿track ) を計算する。例えば、最後のタイトル曲が記録されているトラックナンバー(last ＿track)から最初のタイトル曲が記録されているトラックナンバー(start＿track)を差し引いて、その差に１を加える演算によってタイトル曲数を計算することができる。次に、ステップＳ１０２に移行し、変数pack＿80の値としてｔｅｘｔ５＝タイトルの総パック数（図３参照）を設定する。次に、ステップＳ１０３に移行して、変数pack＿81の値としてｔｅｘｔ６＝アーチストの総パック数（図３参照）を設定する。
【００４０】
次に、ステップＳ１０４に移行し、最後のパック番号＝「タイトル総パック数」＋「アーチスト総パック数」−１とする。次に、ステップＳ１０５に移行し、アーチストを格納する文字数として予め定義されているMAX ＿ARTIST＿FONTをパケット数に変換し、artist＿packとする。１パケットが１２バイトなので、変換式は、MAX ＿ARTIST＿FONT÷１２であり、この除算において余りが生じる時は商に１を加えたものをartist＿packの値とする。次に、ステップＳ１０６に移行し、タイトル割り当て分のＲＡＭ容量をパケット単位で求める。すなわち、タイトル・パック（title ＿pack) ＝MAX ＿TEXT＿PACK−artist＿packと計算する。ここで、MAX ＿TEXT＿PACKは、テキストデータを格納するＲＡＭ容量を定義する。
【００４１】
次に、ステップ１０７に移行し、変数pack＿80の値（ステップＳ１０２においてｔｅｘｔ５＝タイトルの総パック数が設定されている）がタイトルパック（title ＿pack) 以下であるか否かを判定する。変数pack＿80の値がタイトルパック数（title ＿pack) 以下である場合にはタイトルの総パック数がタイトルパックに入りきるとの判断の下に、ステップＳ１０８に移行する。それ以外の場合にはタイトルの総パック数がタイトルパックに入りきらないとの判断の下に、ステップＳ２００に移行する。
【００４２】
ステップＳ１０８に移行し、タイトル文字数（title ＿font）＝変数pack＿80の値（ステップＳ１０２においてｔｅｘｔ５＝タイトルの総パック数が設定されている）×１２とする。次に、ステップＳ１０９に移行し、アーチスト文字数（artist＿font）＝（MAX ＿TEXT＿PACK−変数pack＿80の値）×１２と計算する。次に、ステップＳ１１１に移行し、タイトルパック数（title ＿pack) ＝タイトル総パック数（pack＿80の値）として格納する。次に、ステップＳ１１２に移行し、タイトルの、残りＲＡＭを再計算するためのフラグ（２nd＿cal)を再計算しないようにＯＦＦとする。そして、ステップＳ３０１に移行する。
【００４３】
一方、ステップＳ１０７において変数pack＿80の値がタイトルパック数（title ＿pack) 以下であると判定される場合以外に場合には、ステップＳ２００に移行し、MAX ＿TITLE ＿TRACK ＜タイトル曲数（title ＿track)であるか否かをチェックする。ここで、MAX ＿TITLE ＿TRACK は、タイトルを格納する曲数を定義する。MAX ＿TITLE ＿TRACK ＝０の時はアルバム・タイトルのみとなる。MAX ＿TITLE ＿TRACK ＜タイトル曲数（title ＿track)である場合にはステップＳ２０１に移行し、それ以外の場合にはステップＳ２０３に移行する。ステップＳ２０１では、タイトル曲数（title ＿track)＝MAX ＿TITLE ＿TRACK と設定する。次に、ステップＳ２０２に移行し、最後のトラックナンバー(last ＿track)＝最初のトラックナンバー(start＿track)＋MAX ＿TITLE ＿TRACK −１と設定する。そして、ステップＳ２０３に移行する。
【００４４】
ステップＳ２０３として、タイトル文字数（title ＿font) ＝タイトルパック数（title ＿pack) ×１２÷（タイトル曲数（title ＿track)＋１（アルバム分））とする。次に、ステップ２０４に移行し、アーチスト文字数（artist＿font）＝MAX ＿ARTIST＿FONTと設定する。次に、ステップ２０５に移行し、タイトルの、残りＲＡＭを再計算するためのフラグ（２nd＿cal)を再計算するようにＯＮとする。そして、ステップＳ３０１に移行する。
【００４５】
ステップＳ３０１として、テキストデータ読込みのＩＤ３の番号を指定する。すなわち、リードＩＤ３（read＿id3)＝０とする。次に、ステップＳ３０２に移行し、格納するＲＡＭのアドレスを示す変数の値を設定する。すなわち、パケットナンバー(save ＿pack＿no) ＝０，テキストナンバー(save ＿text＿no) ＝０とする。次に、ステップＳ３０３に移行し、格納したトラック数(save ＿track)＝０とする。次に、ステップＳ３０４に移行し、格納した文字数(save ＿font) ＝０にする。
【００４６】
次に、図５中のステップＳ１０におけるフォント・データ格納について、図８および図９のフローチャートを参照して説明する。ここで、２個の図面に分けて記載したのは記載スペースの都合によるものであり、以下の説明においては、図８および図９を一体として参照する。なお、図８および図９の連結位置を（Ｃ），（Ｄ），（Ｅ），（Ｆ）として示した。フォント・データの格納は、ＣＤテキストデータ読み込みのＩＤ３の番号を指定する、リードＩＤ３(read ＿id3)に従って読込むことによって行われるので、ステップＳ４０１として、ＩＤ３＝リードＩＤ３(read ＿id3)であるか否かをチェックする。ＩＤ３＝リードＩＤ３(read ＿id3)であると判定される場合にはステップＳ４０２に移行し、それ以外の場合には、後続するパケットを待つ。
【００４７】
ステップＳ４０２として、ＣＤテキストデータのＩＤ１＝８０ｈ（タイトル）か否かをチェックする。ＩＤ１＝８０ｈであると判定される場合にはステップＳ４０４に移行し、それ以外の場合には、ステップＳ４０３に移行する。ステップＳ４０３として、ＣＤテキストデータのＩＤ１＝８１ｈ（アーチスト）である否かをチェックする。ＩＤ１＝８１ｈであると判定される場合にはステップＳ４０６に移行し、それ以外の場合には、格納を終了する。従って、ＣＤテキストデータのＩＤ１が８０ｈ，８１ｈの何れでもない場合に、格納が終了することになる。
【００４８】
ステップＳ４０２においてＩＤ１＝８０ｈであると判定される場合には、ステップＳ４０４において格納最大曲数(track＿max)＝タイトル・トラック(title＿track)と設定し、さらに、ステップＳ４０５において格納最大文字数(font ＿max)＝タイトル文字数(title＿font) と設定する。そして、ステップＳ４０８に移行する。一方、ステップＳ４０３においてＩＤ１＝８１ｈであると判定される場合には、ステップＳ４０６において格納最大曲数(track＿max)＝０と設定し（タイトル・トラックと同様に設定しても良い）、さらに、ステップＳ４０７において格納最大文字数(font ＿max)＝アーチスチト文字数(artist ＿font) と設定する。そして、ステップＳ４０８に移行する。
【００４９】
ステップＳ４０８においては、ＣＤテキストデータのｔｅｘｔ１〜ｔｅｘｔ１２までについて１バイトずつチェックし、格納済ならばステップＳ５００に移行し、それ以外の場合にはステップＳ４０９に移行し、格納する。ステップＳ５００では、ＣＤテキストデータ読込みのＩＤ３の番号を指定する変数であるリードＩＤ３(read ＿id3)に１を加算して、後続の１パケットを待つ。一方、ステップＳ４１０では、格納したｔｅｘｔをチェックする。すなわち、ヌル・データ（００）である場合にはステップＳ６０１に移行し、それ以外の場合にはＳ４１１に移行する。
【００５０】
ステップＳ４１１では、格納した文字数(save ＿font) をチェックし、格納した文字数(save ＿font) ＜格納最大文字数(font ＿max)であるか否かを判定する。そして、格納した文字数(save ＿font) ＜格納最大文字数(font ＿max)である場合にはステップＳ４１２に移行し、それ以外の場合にはステップＳ４１３に移行する。ステップＳ４１２では、格納した文字数(save ＿font) に１を加算し、さらに、ステップＳ４１４に移行して、格納アドレス(save ＿pack＿no,save ＿text＿no) に１を加算する。そして、ステップＳ４０８に移行し、残りのｔｅｘｔをチェックする。
【００５１】
一方、ステップＳ４１３では、格納した文字数(save ＿font) 、格納アドレス(save ＿pack＿no,save ＿text＿no) はそのままとされる。また、格納した文字数(save ＿font) ＜格納最大文字数(font ＿max)でない場合には格納最大アドレスを一度はみ出したので、残りＲＡＭ容量を再計算するためのフラグ（２nd＿cal)を、再計算しないようにＯＦＦする。そして、ステップＳ４０８に移行し、残りのｔｅｘｔをチェックする。
【００５２】
一方、ステップＳ６０１は、格納した文字数(save ＿font) ＝０とし、さらに、ステップＳ６０２に移行して、格納したトラック数(save ＿track)に１を加算する。次に、ステップＳ６０３に移行し、格納したトラック数(save ＿track)≦格納最大曲数(track＿max)であるか否かを判定する。格納したトラック数(save ＿track)≦格納最大曲数(track＿max)である場合にはステップＳ６０４に移行し、それ以外の場合にはステップＳ６０５に移行する。
【００５３】
ステップＳ６０４では、格納アドレス(save ＿pack＿no,save ＿text＿no) に１を加算する。次に、ステップＳ６０６に移行し、残りＲＡＭ容量を再計算するためのフラグ（２nd＿cal)をチェックする。再計算しない（ＯＦＦ）とされている場合にはステップＳ４０８に移行し、残りのｔｅｘｔをチェックする。一方、再計算する（ＯＮ）とされている場合にはステップＳ６０７に移行する。ステップＳ６０７では、ＣＤテキストデータのＩＤ１＝８０ｈ（タイトル）であるか否かをチェックする。ＩＤ１＝８０ｈ（タイトル）でない場合には、ステップＳ４０８に移行し、残りのｔｅｘｔをチェックする。一方、ＩＤ１＝８０ｈ（タイトル）である場合には、ステップＳ６０８に移行する。
【００５４】
ステップＳ６０８では、残りＲＡＭ容量を再計算する。すなわち、タイトル割当て文字数を、「タイトル割当て文字数」＝「タイトル・パック(title＿pack) 」×１２として計算し、格納した文字数を、「格納した文字数」＝「格納アドレス(save ＿pack＿no×１２＋save＿text＿no）」として計算する。これらの計算値に基づいて、タイトル残りＲＡＭ容量を、「タイトル残りＲＡＭ容量」＝「タイトル割当て文字数」−「格納した文字数」として計算する。
【００５５】
また、残り曲数を、「残り曲数」＝「タイトル曲数(title＿track)」−「格納したトラック数（save＿track)」＋１として計算し、残りの、１曲当たりの文字数を、「残りの、１曲当たりの文字数」＝「タイトル残りＲＡＭ容量」÷「残り曲数」として計算する。なお、この計算では残りＲＡＭ容量を文字数に割振ったが、曲数に割振っても良い。残りＲＡＭ容量を再計算した後に、格納最大文字数(font ＿max)を，〔格納最大文字数(font ＿max)〕＝タイトル文字(title＿font) ＝「残りの、１曲当たりの文字数」とする。そして、ステップＳ４０８に移行し、残りのｔｅｘｔをチェックする。
【００５６】
一方、ステップＳ６０５では、「格納したトラック数（save＿track)＝０」と設定し、ステップＳ６０９に移行する。ステップＳ６０９では、格納アドレスのｔｅｘｔ１２までヌル・データ（００）を格納し、ステップＳ６１０に移行する。ステップＳ６１０では、格納アドレスを設定する。すなわち、save＿pack＿noに１を加算し、save＿text＿noの値を０とする。
【００５７】
次に、ステップＳ６１１に移行し、ＩＤ１＝８０ｈ（タイトル）であるか否かをチェックし、ＩＤ１＝８０ｈ（タイトル）である場合にはステップＳ６１２に移行し、それ以外の場合にはステップＳ６１３に移行する。ステップＳ６１２では、次のＣＤテキストデータ読込みのＩＤ３の番号リードＩＤ３(read ＿id3)を、「リードＩＤ３(read ＿id3)＝タイトルの総パック数(pack ＿80) 」  （アーチストの先頭パックＮｏ．）とし、ステップＳ６１４に移行する。ステップＳ６１４では、「タイトルの総パック数(pack ＿80) ＝格納アドレス(save ＿pack＿no) 」（格納したパック数）に設定する。そして、ステップＳ６１５に移行する。
【００５８】
ステップＳ６１５では、アーチストの総パック数＝０であるか否かを判定する。アーチストの総パック数＝０、すなわちアーチスト無しの場合には、格納を終了する。それ以外の場合には、ステップＳ６１６に移行する。ステップＳ６１６では、「アーチスト文字数＝(MAX＿TEXT＿PACK−save＿pack＿no) ×１２」（残りＲＡＭ容量の全て）として、後続の１パケットを待つ。一方、ステップＳ６１３では、「アーチストの総パック数(pack ＿81) ＝格納アドレス(save ＿pack＿no) （格納したパック数）−格納したタイトルの総パック数(pack ＿80) に設定し、格納を終了する。
【００５９】
図５、図６および図７、並びに図８および図９を参照して上述したようなアルゴリズム、すなわち、ＣＤテキストデータを例えば１パケット（１２バイト）読込んで、そのパケットがサイズパックである場合にはテキスト・サイズ計算を行い、そのパケットがサイズパックでない場合にはフォント・データ格納を行うアルゴリズムにより、限られたＲＡＭ容量の下で、MAX ＿TEXT＿PACK, MAX ＿TITLE ＿TRACK,  およびMAX ＿ARTIST＿FONTを指定することにより、CDテキストデータを的確に読込むことが可能となる。なお、MAX ＿TEXT＿PACKとしては、例えば６０パケット（上述したように１パケットは１２バイトである）、MAX ＿TITLE ＿TRACK としては例えば２０曲、MAX ＿ARTIST＿FONTとしては例えば３０文字等をそれぞれ設定することができる。
【００６０】
上述したアルゴリズムの他に、別の定義の仕方を用いたアルゴリズムを用いるようにしても良い。例えば、MAX ＿TEXT＿PACK（ＲＡＭ容量）、MAX ＿TRACK(MAX ＿TITLE ＿TRACK,MAX ＿ARTIST＿TRACK)（曲数）、およびMAX ＿FONT(MAX＿TITLE ＿FONT,MAX＿ARTIST＿FONT）（文字数）の定義を行うことにより、サイズパックを読込んだ時に、ユーザ指定のＲＡＭ容量にタイトル、アーチスト、その他について、どのように読込むかを算出するようにしたアルゴリズムも可能である。具体的には、以下のような処理を行うことが可能である。
【００６１】
（１）ＲＡＭ容量÷ディスク総曲数なる計算によって最大文字数を定義し、一定とすることも可能である。また、データを格納しながら、残りＲＡＭ容量から最大文字数を増加することも可能である。
【００６２】
（２）ＲＡＭ容量÷ディスク総文字数なる計算によって最大曲数を定義し、一定とすることも可能である。また、データを格納しながら、残りＲＡＭ容量から最大曲数を増加することも可能である。
【００６３】
（３）ＲＡＭ容量÷MAX ＿TRACK なる計算によって最大文字数を定義し、一定とすることも可能である。また、データを格納しながら、残りＲＡＭ容量から最大文字数を増加することも可能である。
【００６４】
（４）ＲＡＭ容量÷MAX ＿FONTなる計算によって最大曲数を定義し、一定とすることも可能である。また、データを格納しながら、残りＲＡＭ容量から最大曲数を増加することも可能である。
【００６５】
上述したこの発明の一実施形態は、ＣＤに対してこの発明を適用したものであるが、この発明は、ＣＤテキストと同様な記録フォーマットを使用するものであれば、他の情報記録媒体を再生する場合においても適用することができる。
【００６６】
また、この発明は、上述した実施の形態に限定されることなく、この発明の要旨を逸脱しない範囲で種々の応用および変形が考えられる。
【００６７】
【発明の効果】
上述したように、この発明によれば、テキストデータを読込むために割り当てられる総記憶容量、テキストデータから読込む文字数、テキストデータから読込む曲数を規定するパラメータの内の少なくとも１個を使用し、このようなパラメータを使用した所定の処理を含むアルゴリズムを用いることによって、例えば装置各部の動作を制御するコントローラ内に設けられる、テキストデータを読込むためのＲＡＭ等の記憶回路の記憶容量をより効率的に使用することができる。
【００６８】
このため、テキストデータを読込むために割り当てられる記憶容量が限定される場合にも、テキストデータを適切に読込むことができる。従って、再生装置の機能を損なうことなくテキストデータを読込むために割り当てられる記憶容量を削減することができる。
【００６９】
このため、装置の機能を損なうことなく、若しくはその程度を最小限としながら、装置内の記憶回路の総記憶容量を削減することができ、装置のコスト低減に寄与することができる。
【図面の簡単な説明】
【図１】この発明を適用することができる再生装置の構成について説明するためのブロック図である。
【図２】ＣＤテキストデータのフォーマット（１パック）の一例を示す略線図である。
【図３】サイズ・パックのフォーマットの一例を示す略線図である。
【図４】この発明の一実施形態における、ＣＤテキストデータを格納するＲＡＭの割り付けについて説明するための略線図である。
【図５】この発明の一実施形態において、ＣＤテキストデータを１パケット読込んで、ＲＡＭに格納する処理について説明するためのフローチャートである。
【図６】図５に示す処理の一部分（テキスト・サイズ計算）について詳細に説明するためのフローチャートの一部である。
【図７】図５に示す処理の一部分（テキスト・サイズ計算）について詳細に説明するためのフローチャートの他の一部である。
【図８】図５に示す処理の他の一部分（フォント・データ格納）について詳細に説明するためのフローチャートの一部である。
【図９】図５に示す処理の他の一部分（フォント・データ格納）について詳細に説明するためのフローチャートの他の一部である。
【符号の説明】
１００・・・コントローラ、１００ａ・・・ＲＡＭ
【図１】
0004016167.tif 000002
【図２】
0004016167.tif 000003
【図３】
0004016167.tif 000004
【図４】
0004016167.tif 000005
【図５】
0004016167.tif 000006
【図６】
0004016167.tif 000007
【図７】
0004016167.tif 000008
【図８】
0004016167.tif 000009
【図９】
0004016167.tif 000010