(57)【要約】【課題】  マージソートを従来に比べて短時間で行うことができるデータ処理装置を提供する。【解決手段】  マージソートで最初のマージを行う際に隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断し、前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理する。その後、隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行う。【選択図】  図１６
2006146331.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ内に順に配置された複数の要素データを、前記要素データあるいは当該要素データに対応付けられた属性データが示す属性を所定の基準に従って再配置して第２のデータを生成するデータ処理装置であって、
前記第１のデータ内の隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断し、前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理した第２のデータを生成し、前記第２のデータ内の前記隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返す処理回路
を有するデータ処理装置。
【請求項２】
前記要素データは、コンテンツデータの識別データであり、
前記属性データは、前記コンテンツデータの名前を示す名前データであり、
前記処理回路は、前記識別データに対応付けられた前記名前データが示す名前が名前順であることを前記所定の基準として用いる
請求項１に記載のデータ処理装置。
【請求項３】
前記第１のデータおよび前記属性データを記憶するメモリ
をさらに有し、
前記処理回路は、前記メモリに記憶された前記第１のデータ内の前記隣接した２つの要素データに対応する前記属性データを前記メモリから読み出して前記２つの要素データが前記所定の基準に従って配置されているか否かを判断し、前記所定の基準に従って配置されていないと判断した場合に、前記メモリに記憶された前記２つの要素データをスワップ処理して前記第２のデータを生成し、隣接する２つの組の前記要素データを前記メモリから読み出して前記所定の基準に従って再配置して当該２つの組を併合した新たな組として前記メモリに書き込む前記併合処理を行う
請求項１に記載のデータ処理装置。
【請求項４】
前記第２のデータを記憶する第１の記憶領域と、前記第１の記憶領域に記憶された前記第２のデータの前記要素データを退避する第２の記憶領域とを有するメモリ
をさらに有し、
前記処理回路は、
前記メモリの前記第１の記憶領域に記憶された前記第２のデータ内の前記隣接する２つの前記組のうち、一方の組の前記要素データを前記メモリの前記第２の記憶領域に退避する退避処理と、前記２つの組の要素データを前記所定の基準に従って、前記第１の記憶領域のうち前記一方の組が記憶されていた記憶領域から順に書き込んで前記第１のデータ内の前記２つの組の要素データを再配置する再配置処理とを有する前記併合処理を行う
請求項１に記載のデータ処理装置。
【請求項５】
前記処理回路は、前記属性データを構成する文字データを前記所定の基準に応じて規定された比較値に変換し、前記２つの組の要素データの間で前記比較値を比較して、前記再配置処理を行う
請求項１に記載のデータ処理装置。
【請求項６】
前記文字データを表現する複数の文字コードを採用している場合に、
前記処理回路は、前記文字データを、当該文字データが採用している前記文字コードに応じた前記比較値に変換する
請求項５に記載のデータ処理装置。
【請求項７】
前記文字コードがサポートしている文字データと制御文字データとを組み合わせて当該文字コードがサポートしていない文字データを表現し、前記属性データが前記サポートしていない文字データを表現している場合に、
前記処理回路は、前記属性データを前記サポートしていない文字データに予め変換し、当該変換した属性データと前記識別データとを対応付けて示す管理データを生成し、前記管理データを参照して前記比較値への変換を行う
請求項６に記載のデータ処理装置。
【請求項８】
前記処理回路は、所定の条件を満たすと、動作周波数を第１の動作周波数から当該第１の動作周波数より高い第２の動作周波数に変更し、当該第２の動作周波数で動作して、前記スワップ処理および併合処理を行い、前記スワップ処理および併合処理を終了後に前記動作周波数を前記第２の動作周波数から前記第１の動作周波数に切り換える
請求項１に記載のデータ処理装置。
【請求項９】
第１のデータ内に順に配置された複数の要素データを、前記要素データあるいは当該要素データに対応付けられた属性データが示す属性を所定の基準に従って再配置して第２のデータを生成するデータ処理方法であって、
前記第１のデータ内の隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断する第１の工程と、
前記第１の工程において前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理した第２のデータを生成する第２の工程と、
前記第２の工程で生成した前記第２のデータ内の前記隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返す第３の工程と
を有するデータ処理方法。
【請求項１０】
第１のデータ内に順に配置された複数の要素データを、前記要素データあるいは当該要素データに対応付けられた属性データが示す属性を所定の基準に従って再配置して第２のデータを生成するデータ処理装置が実行するプログラムであって、
前記第１のデータ内の隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断する第１の手順と、
前記第１の手順において前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理した第２のデータを生成する第２の手順と、
前記第２の手順で生成した前記第２のデータ内の前記隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返す第３の手順と
を前記データ処理装置に実行させるプログラム。
【請求項１１】
コンテンツデータの識別データと当該コンテンツデータの名前を示す名前データとを対応付けて記憶し、複数の前記識別データを順に配置して構成される第１のデータを記憶するメモリと、
前記コンテンツデータを記録する記録媒体と、
表示手段と、
前記メモリに記憶された前記第１のデータ内の隣接した２つの識別データに対応付けられた前記名前データを読み出して比較し、当該２つの識別データが所定の基準に従って配置されていないと判断した場合に前記メモリに記憶された前記２つの識別データをスワップ処理した第２のデータに前記第１のデータを書き換え、前記第２のデータ内の前記隣接する２つの要素データを組とし、前記メモリに隣接する２つの組の前記要素データを前記所定の基準に従って配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返し、指示に応じてメモリに記憶された前記第１のデータ内に配置される前記識別データの順に従って当該識別データに対応する前記名前データを前記表示手段に表示する処理回路と、
前記表示手段の表示を基に指定された前記名前データに対応した前記コンテンツデータを前記記録媒体から読み出して再生する再生手段と
を有する再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マージソートを行うデータ処理装置、データ処理方法、プログラムおよび再生装置に関する。
【背景技術】
【０００２】
例えば、ＣＤ（Compact Disc）、ＭＤ（Mini Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク（Blue-Ray Disc）など、各種のディスクメディアが開発され、オーディオデータやビデオデータなどの各種データを記録再生するシステムで利用されている。
このようなシステムは、例えばオーディオデータ（楽曲等）を記録する場合、単に再生出力するオーディオデータだけでなく、曲名、アーティスト名などの文字データを付加的に記録している。
例えばＭＤシステムでは、オーディオデータがトラック単位で記録され、また各トラックが管理情報で管理されるが、その管理情報において、各トラックに対応させて曲名等の文字データが記録される。そして例えばトラックの再生中に、そのトラックの曲名が表示されるなどして、記録された文字データが利用されている。
なお、ここで言うトラックとは例えば音楽等の１曲としての単位に相当するものであり、コンテンツ又はプログラムなどと呼ばれることもある単位である。
【０００３】
【特許文献１】特開２０００−１１３５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、近年の記録媒体の大容量化やデータ圧縮技術の向上により、例えばオーディオデータ等のトラックとしても、１枚のディスクに非常に多数のトラックが収録可能である。
例えばＭＤでは、７４分のオーディオデータが記録可能であり、その管理情報形態により最大２５５曲のトラックを収録可能であったが、Ｈｉ−ＭＤでは、収録可能時間も大幅に長時間化され、またトラック数としては最大２０４７トラックが管理可能である。
もちろんその場合、２０４７トラックのそれぞれに対して曲名、アーティスト名、アルバム名等を対応させて管理できるものとされる。
【０００５】
このように大量のトラックが１枚のディスクに収録可能な状況を考えると、再生装置はトラックネームを例えば名前順でソートして一覧表示させ、表示上で聞きたい曲をユーザに選択させることが望ましい。このようなソートしては、例えば、マージソートが用いられる。
しかしながら、従来のマージソートを用いたシステムでは、ユーザが一覧表示指示を出してから、トラックネームを名前順でマージソートした一覧を表示させるまでに要する時間が長く、応答性が悪いという問題がある。
同様の問題は、マージソートを採用する他のシステムにおいても生じる。
【０００６】
本発明は上述した従来技術の問題点に鑑みてなされ、マージソートを従来に比べて短時間で行うことができるデータ処理装置、データ処理方法およびプログラムを提供することを目的とする。
また、本発明は、コンテンツデータの識別データを、当該識別データに対応付けられた名前データを基に従来に比べて短時間でマージソートできる再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した従来技術の問題点を解決し、上述した目的を達成するため、第１の観点の発明は、第１のデータ内に順に配置された複数の要素データを、前記要素データあるいは当該要素データに対応付けられた属性データが示す属性を所定の基準に従って再配置して第２のデータを生成するデータ処理装置であって、前記第１のデータ内の隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断し、前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理した第２のデータを生成し、前記第２のデータ内の前記隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返す処理回路を有する。
【０００８】
第１の観点の発明のデータ処理装置の作用は以下のようになる。
先ず、処理回路が、第１のデータ内の隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断する。
次に、前記処理回路が、前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理した第２のデータを生成する。
次に、前記処理回路が、前記第２のデータ内の前記隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返す。
【０００９】
第２の観点の発明は、第１のデータ内に順に配置された複数の要素データを、前記要素データあるいは当該要素データに対応付けられた属性データが示す属性を所定の基準に従って再配置して第２のデータを生成するデータ処理方法であって、前記第１のデータ内の隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断する第１の工程と、前記第１の工程において前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理した第２のデータを生成する第２の工程と、前記第２の工程で生成した前記第２のデータ内の前記隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返す第３の工程とを有する。
【００１０】
第３の観点の発明は、第１のデータ内に順に配置された複数の要素データを、前記要素データあるいは当該要素データに対応付けられた属性データが示す属性を所定の基準に従って再配置して第２のデータを生成するデータ処理装置が実行するプログラムであって、前記第１のデータ内の隣接した２つの要素データが前記所定の基準に従って配置されているか否かを判断する第１の手順と、前記第１の手順において前記所定の基準に従って配置されていないと判断した場合に前記２つの要素データをスワップ処理した第２のデータを生成する第２の手順と、前記第２の手順で生成した前記第２のデータ内の前記隣接する２つの要素データを組とし、隣接する２つの組の前記要素データを前記所定の基準に従って再配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返す第３の手順とを前記データ処理装置に実行させる。
【００１１】
第４の観点の発明の再生装置は、コンテンツデータの識別データと当該コンテンツデータの名前を示す名前データとを対応付けて記憶し、複数の前記識別データを順に配置して構成される第１のデータを記憶するメモリと、前記コンテンツデータを記録する記録媒体と、表示手段と、前記メモリに記憶された前記第１のデータ内の隣接した２つの識別データに対応付けられた前記名前データを読み出して比較し、当該２つの識別データが所定の基準に従って配置されていないと判断した場合に前記メモリに記憶された前記２つの識別データをスワップ処理した第２のデータに前記第１のデータを書き換え、前記第２のデータ内の前記隣接する２つの要素データを組とし、前記メモリに隣接する２つの組の前記要素データを前記所定の基準に従って配置して当該２つの組を併合した新たな組を生成する併合処理を行い、前記併合処理を前記組が１つになるまで繰り返し、指示に応じてメモリに記憶された前記第１のデータ内に配置される前記識別データの順に従って当該識別データに対応する前記名前データを前記表示手段に表示する処理回路と、前記表示手段の表示を基に指定された前記名前データに対応した前記コンテンツデータを前記記録媒体から読み出して再生する再生手段とを有する。
【発明の効果】
【００１２】
本発明によれば、マージソートを従来に比べて短時間で行うことができるデータ処理装置、データ処理方法およびプログラムを提供することができる。
また、本発明によれば、コンテンツデータの識別データを、当該識別データに対応付けられた名前データを基に従来に比べて短時間でマージソートできる再生装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明のデータ処理装置、データ処理方法、プログラムおよび再生装置が適用された記録再生装置について説明する。
＜第１実施形態＞
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
記録再生装置１が本発明のデータ処理装置あるいは再生装置に対応している。
図１に示すＲＡＭ１１が本発明のメモリに対応し、システムコントローラ８が本発明の処理回路に対応している。
また、図１に示す記録媒体ＤＩＳＫが本発明の記録媒体に対応し、入出力処理部５が本発明の再生手段に対応し、表示部６が本発明の表示手段に対応している。
また、本実施形態のトラック番号ＴＮＯが本発明の要素データに対応し、トラックネームＴＮ、アーティストネームＡＲＮ、アルバムネームＡＬＮおよびグループネームＧＮの各々が本発明の属性データに対応している。
また、ソート対象のトラックネームランクテーブルＴＮＲＴ、アーティストネームランクテーブルＡＲＮＲＴ、アルバムネームランクテーブルＡＬＮＲＴおよびグループネームランクテーブルＧＮＲＴが本発明の第１のデータに対応している。
また、ソート後のトラックネームランクテーブルＴＮＲＴ、アーティストネームランクテーブルＡＲＮＲＴ、アルバムネームランクテーブルＡＬＮＲＴおよびグループネームランクテーブルＧＮＲＴが本発明の第２のデータに対応している。
なお、本実施形態では、属性データが示す属性が所定の基準に従って配置されていることを本発明の所定の基準として用いるが、上記要素データ自体が例えば名前を示しこれが所定の名前順で配置されていることを上記所定の基準として用いてもよい。
また、本実施形態のトラックデータが本発明のコンテンツデータに対応している。
また、図１６および図２４に示す処理が本発明のスワップ処理に対応し、図１７〜図２３および図２５，図２６に示す処理が本発明の併合処理に対応している。
また、図５に示すテーブル記憶領域ＴＡＢＬＥが本発明の第１の記憶領域に対応し、ワーク領域ＷＯＲＫが本発明の第２の記憶領域に対応している。
【００１４】
また、図２４に示すステップＳＴ７３，ＳＴ７４が第２の観点の発明の第１の工程に対応し、ステップＳＴ７５が第２の発明の第２の工程に対応し、図２５および図２６が第２の発明の第３の工程に対応している。
また、図１に示すプログラムＰＲＧが第３の観点の発明のプログラムに対応している。
【００１５】
図１は、本発明の実施形態に係わる記録再生装置１の全体構成図である。
図１に示すように、記録再生装置１は、例えば、ストレージ部２、キャッシュメモリ３、インタフェース４、入出力処理部５、表示部６、操作部７、システムコントローラ８、ＲＯＭ(Read Only Memory)１０およびＲＡＭ(Random Access Memory)１１を有する。
ストレージ部２は、記録媒体ＤＩＳＫに対してデータの書き込みおよび読み出しなどのアクセスを行う。
本実施形態では、記録媒体ＤＩＳＫとして、例えば、ＭＤやＨｉ−ＭＤなどの光磁気ディスクが用いられる。本実施形態では、記録媒体ＤＩＳＫとしてＨｉ−ＭＤを用いた場合を例示する。
本実施形態では、上記記録媒体ＤＩＳＫは、複数のトラックデータを記憶し、各トラックデータには、図２に示すように、トラック番号ＴＮＯが割り当てられている。
本実施形態では、トラックデータは、例えば、オーディオの楽曲データを含む。
また、各トラックデータには、図２に示すように、ユーザによって規定されたトラックネームＴＮ、アーティストネームＡＲＮ、アルバムネームＡＬＮおよびグループネームＧＮが含まれる。これらのデータは、記録媒体ＤＩＳＫに記憶されると共に、ＲＡＭ１１にも読み込まれる。
トラックネームＴＮは、例えば、トラックデータ内の楽曲データのタイトルを示している。
アーティストネームＡＲＮは、例えば、トラックデータ内の楽曲データの作曲者や演奏者の名前を示している。
アルバムネームＡＬＮは、例えば、トラックデータ内の楽曲データが属するアルバムの名前を示している。
グループネームＧＮは、トラックデータが属するグループの名前を示している。
当該グループは、例えば、ユーザによって規定される。
【００１６】
キャッシュメモリ３は、ストレージ部２が記録媒体ＤＩＳＫに記録するデータ、並びにストレージ部２が上記記録媒体ＤＩＳＫから読み出したデータをバッファリングする。
キャッシュメモリ３は、例えば、ＤＲＡＭより構成される。
キャッシュメモリ３へのデータの書込／読出は、システムコントローラ８によって制御される。
インタフェース４は、例えばパーソナルコンピュータ２０とＵＳＢケーブルとしての伝送路で接続された際のデータ伝送のための処理を行う。
【００１７】
入出力処理部５は、例えば記録再生装置１が単体でオーディオ機器として機能する場合に記録再生データの入出力のための処理を行う。
この入出力処理部５は、例えば入力系として、ライン入力回路／マイクロホン入力回路等のアナログ音声信号入力部、Ａ／Ｄ変換器や、デジタルオーディオデータ入力部を備える。またＡＴＲＡＣ(Adaptive Transform Acoustic Coding)圧縮エンコーダ／デコーダを備える。ＡＴＲＡＣ圧縮エンコーダ／デコーダは、ＡＴＲＡＣ方式によるオーディオデータの圧縮／伸長処理を実行するための回路である。なお、本実施の形態の記録再生装置としては、例えばＭＰ３などの他のフォーマットによる圧縮オーディオデータが記録再生可能な構成を採ってもよく、この場合には、これらの圧縮オーディオデータのフォーマットに対応したエンコーダ／デコーダを備えればよい。
また、本実施の形態としては、ビデオデータに関しては特に記録再生可能なフォーマットの限定は行わないが、例えばＭＰＥＧ４などが考えられる。そして、入出力処理部５としては、このようなフォーマットに対応したエンコーダ／デコーダを備えればよい。
さらに入出力処理部５は、出力系として、デジタルオーディオデータ出力部や、Ｄ／Ａ変換器及びライン出力回路／ヘッドホン出力回路等のアナログ音声信号出力部を備える。
【００１８】
そして、この場合の入出力処理部５内には、暗号処理部（図示せず）が備えられる。暗号処理部においては、例えば記録媒体ＤＩＳＫに記録すべきＡＶデータについて、所定のアルゴリズムによる暗号化処理を施すようにされる。また、例えば記録媒体ＤＩＳＫから読み出されたＡＶデータについて暗号化が施されている場合には、必要に応じて暗号解読のための復号処理を実行するようにもされている。
【００１９】
入出力処理部５を介した処理として、記録媒体ＤＩＳＫにオーディオデータが記録されるのは、例えば入力ＴINとして入出力処理部５にデジタルオーディオデータ（又はアナログ音声信号）が入力される場合である。入力されたリニアＰＣＭデジタルオーディオデータ、或いはアナログ音声信号で入力されＡ／Ｄ変換器で変換されて得られたリニアＰＣＭオーディオデータは、必要に応じてＡＴＲＡＣ圧縮エンコードされてキャッシュメモリ３に蓄積される。そして所定タイミング（ＡＤＩＰクラスタ相当のデータ単位）でキャッシュメモリ３から読み出されてストレージ部２に転送される。ストレージ部２では、転送されてくる圧縮データを所定の変調方式で変調して記録媒体ＤＩＳＫに記録する。
【００２０】
記録媒体ＤＩＳＫからミニディスク方式のオーディオデータが再生される場合は、ストレージ部２は再生データをＡＴＲＡＣ圧縮データ状態に復調してキャッシュメモリ３に転送する。
そしてキャッシュメモリ３から読み出されて入出力処理部５に転送される。入出力処理部５は、供給されてくる圧縮オーディオデータに対してＡＴＲＡＣ圧縮デコードを行ってリニアＰＣＭオーディオデータとし、デジタルオーディオデータ出力部から出力する。或いはＤ／Ａ変換器によりアナログ音声信号としてライン出力／ヘッドホン出力を行う。
【００２１】
システムコントローラ８は、記録再生装置１内の全体の制御を行うと共に、接続されたパーソナルコンピュータ２０との間の通信制御を行う。
【００２２】
ＲＯＭ１０には、システムコントローラ８の動作を規定したプログラムＰＲＧ、並びに各種データが記憶される。
当該プログラムＰＲＧは、例えば、後述するように、記録媒体ＤＩＳＫに記録されたトラックデータのソートの処理を規定している。
【００２３】
ＲＡＭ１１は、システムコントローラ８によるワーク領域として用いられ、また各種必要なデータを記憶する。
ＲＡＭ１１は、例えば、後述するように、記録媒体ＤＩＳＫに記録されたトラックデータのソートの処理に用いられる各種テーブルデータなどを記憶する。
当該テーブルデータは、システムコントローラ８によって生成され、ＲＡＭ１１に書き込まれる。
【００２４】
キャッシュ管理メモリ９は、例えばＳ−ＲＡＭで構成され、キャッシュメモリ３の状態を管理する情報が格納される。システムコントローラ８はキャッシュ管理メモリ９を参照しながらデータキャッシュ処理の制御を行う。
【００２５】
表示部６は、システムコントローラ８の制御に基づいて、ユーザに対して提示すべき各種情報の表示を行う。例えば動作状態、モード状態、楽曲等の名称などの文字データ、トラックナンバー、時間情報、その他の情報表示を行う。
【００２６】
操作部７には、ユーザの操作のための各種操作子として、各種操作ボタンやジョグダイヤルなどが形成される。ユーザは、この操作部７に対する操作により記録再生装置１に対する所定の動作指示を行う。システムコントローラ８は操作部７によって入力された操作指示に基づいて所定の制御処理を行う。
【００２７】
なお、これまでに説明した記録再生装置１の構成はあくまでも一例であり、例えば入出力処理部５は、オーディオデータだけでなく、ビデオデータに対応する入出力処理系を備えるようにしてもよい。
【００２８】
システムコントローラ８は、ＲＯＭ１０から読み出したプログラムＰＲＧに基づいて、本実施形態で規定した以下に示す各種の処理を行う。
以下、図１に示すシステムコントローラ８が、ユーザによる操作部７の操作に応じて行われた選曲処理について説明する。
図１に示す操作部７をユーザが操作して表示部６に図３に示す選曲画面ＤＩＳＰ１を表示させる。
選曲画面ＤＩＳＰ１には、「ノーマル」、「グループ」、「アーティスト」、「アルバム」、「ブックマーク」および「プログラム」が選択項目として表示されている。
選曲画面ＤＩＳＰ１上でユーザが「ノーマル」を選択すると、収録曲順にトラックネームＴＮが表示される。
選曲画面ＤＩＳＰ１上でユーザが「グループ」を選択すると、収録曲順にグループネームＧＮが表示される。
そして、ユーザがグループを選択すると、当該グループに属するトラックデータのトラックネームＴＮが収録曲順に表示される。
選曲画面ＤＩＳＰ１上でユーザが「アーティスト」を選択すると、アーティスト名がソートされて表示される。
そして、ユーザがアーティストを選択すると、当該アーティストに属するトラックデータのトラックネームＴＮが収録曲順に表示される。
選曲画面ＤＩＳＰ１上でユーザが「アルバム」を選択すると、アルバ名がソートされて表示される。
そして、ユーザがアルバム名を選択すると、当該アルバムに属するトラックデータのトラックネームＴＮが収録曲順に表示される。
【００２９】
選曲画面ＤＩＳＰ１上でユーザが「プログラム」（トラックプログラム）を選択すると、「トラック」、「グループ」、「アーティスト」および「アルバム」が選択項目として表示される。そして、ユーザが、「トラック」を選択するとトラックネームＴＮがソートされて表示される。また、ユーザが、「グループ」を選択するとグループネームＧＮがソートされて表示される。また、ユーザが、「アーティスト」を選択するとアーティストネームＡＲＮがソートされて表示される。また、ユーザが、「アルバム」を選択するとアルバムネームＡＬＮがソートされて表示される。
選曲画面ＤＩＳＰ１上でユーザが「プログラム」（グループプログラム）を選択すると、グループプログラムがソートされて表示される。
【００３０】
また、図１に示す操作部７をユーザが操作して表示部６に図４に示す検索画面ＤＩＳＰ２を表示させる。
検索画面ＤＩＳＰ２には、「ｂｙ  トラック」、「ｂｙ  グループ」、「ｂｙ  アーティスト」、「ｂｙ  アルバム」および「ｂｙ  トラック番号」が選択項目として表示されている。
そして、ユーザが、「ｂｙ  トラック」を選択するとトラックネームＴＮがソートされて表示される。また、ユーザが、「ｂｙ  グループ」を選択するとグループネームＧＮがソートされて表示される。また、ユーザが、「ｂｙ  アーティスト」を選択するとアーティストネームＡＲＮがソートされて表示される。また、ユーザが、「ｂｙ  アルバム」を選択するとアルバムネームＡＬＮがソートされて表示される。また、ユーザが、「ｂｙ  トラック番号」を選択するとトラック番号順にトラックネームＴＮがソートされて表示される。
【００３１】
システムコントローラ８は、上述したトラックネームＴＮ、グループネームＧＮ、アーティストネームＡＲＮ、アルバムネームＡＬＮのソートを行う。
システムコントローラ８は、ソート指示を受けると、動作周波数を通常動作周波数からそれより高いソート時動作周波数に切り換えて、以下に示す手順により、図５に示すトラック番号テーブルＴＮＯＴ、トラックネームランクテーブルＴＮＲＴ、アーティストネームランクテーブルＡＲＮＲＴ、アーティストネームリストテーブルＡＲＮＬＴ、アーティストネームインデックステーブルＡＲＮＩＴ、アルバムネームランクテーブルＡＬＮＲＴ、アルバムネームリストテーブルＡＬＮＬＴ、アルバムネームインデックステーブルＡＬＮＩＴおよびグループネームランクテーブルＧＮＲＴを生成し、これをＲＡＭ１１内のテーブル記憶領域ＴＡＢＬＥに書き込む。
システムコントローラ８は、上述したテーブル生成動作を終了後、その動作周波数を通常動作周波数に切り換える。
記録再生装置１では、このようなテーブルを生成してＲＡＭ１１に書き込むことで、ソート指示や、ソートに関連する所定の指示を受けた場合に、後述するように、ＲＡＭ１１から当該テーブルを読み出してソートに関連した処理結果を出力することができ、ソートに関連する指示を受けてからその結果を得るまでの時間を従来に比べて短縮できる。また、当該テーブルは、以下のような構成を有し、比較的データ量が小さく、ＲＡＭ１１は従来に比べて大規模な記憶容量を必要としない。
なお、システムコントローラ８は、ソート指示を受けたとき以外に、処理負荷が所定の基準以下のときに、テーブル生成処理を行う。
【００３２】
記録再生装置１による後述する名前順のソートは、後述する比較値変換テーブルＴＲＡＮが規定する比較値を基に、例えば、以下の順で優先順位で行われる。
本実施形態では、後述するように、ソート対象のトラックネームＴＮを構成する文字には、優先順位が高くなるに従って大きい比較値（後述）が割り当てられる。
具体的には、SPACE、記号 (Music外字の絵文字なども含む)、数字 (丸付き，ローマ数字なども含む)、アルファベット (欧州文字，UnicodeのISO 8859-1領域を含む)、ひらがな、カタカナ、ギリシア文字、キリール文字、罫線素片、漢字、外字、UnicodeのISO 8859-1領域以外の順で高い優先順位がつけられる。
文字コードについては、ASCII(MD1)、ISO 8859-1 (Hi-MD)、Shift JISの1バイト文字(Hi-MD)、Music Shift JIS(MD1)、Shift JISの2バイト文字 (Hi-MD)、Unicode (Hi-MD)の順で高い優先順位がつけられる。
また、半角と全角では半角に高い優先順位がつけられる。
ASCII(半角扱い)、ISO 8859-1    (半角扱い)、Shift JISの1バイト文字(半角扱い)、Music外字の半角(半角扱い)、Music Shift JISの全角(全角扱い)、Shift JISの2バイト文字(全角扱い)、Music外字の全角(全角扱い)、Unicode          (全角扱い)の順とする。
また、数字自体は、「数」ではなくてコード順とする。
アルファベットはアルファベット順で，大文字には小文字に比べて高い優先順位を付ける。
仮名は50音順で，ひらがなをカタカナより高い優先順位とする。例えば、小さいひらがな、小さいカタカナ、ひらがな、            カタカナ、ひらがな(濁音)、カタカナ(濁音)、ひらがな(半濁音)、カタカナ(半濁音)の順で高い優先順位を付ける。
同順位はトラック番号順で、ソートする。トラックネームＴＮが無いトラックデータは最も低い優先順位とする。
【００３３】
システムコントローラ８は、トラックネームＴＮのソートにおいて、同じトラック名のトラックデータはトラック番号順に並べる。
また、システムコントローラ８は、トラックネームＴＮの無いトラックデータは、上記ソート対象のトラックデータに対して低い優先順位を付けて、トラック番号ＴＮＯ順で並べる。
また、システムコントローラ８は、トラックネームＴＮの無いトラックデータと未対応の文字コードをトラックネームＴＮに用いたトラックデータとは区別せずに、トラック番号順に並べる。
【００３４】
システムコントローラ８は、グループネームＧＮのソートを、基本的に、上述したトラックネームＴＮと同様の手法で行う。
また、システムコントローラ８は、アーティストネームＡＲＮのソートにおいて、同じアーティストネームＡＲＮのトラックデータはトラック番号ＴＮＯ順に並べる。
また、システムコントローラ８は、アーティストネームＡＲＮのソートにおいて、アーティストネームＡＲＮの無いトラックデータ、並びに対応していない文字コードを用いたアーティストネームＡＲＮを用いない。
また、システムコントローラ８は、アルバムネームＡＬＮのソートにおいて、同じアルバムネームＡＬＮはトラック番号ＴＮＯ順に並べ、アーティストネームＡＲＮについては判断しない。
また、システムコントローラ８は、アルバムネームＡＬＮのソートにおいて、アルバムネームＡＬＮの無いトラックデータ、並びに対応していない文字コードを用いたアーティストネームＡＲＮを用いない。
【００３５】
以下、システムコントローラ８において生成され、ＲＡＭ１１に記憶される上記各種テーブルについて説明する。
トラックネームランクテーブルＴＮＲＴは、図６に示すように、記録媒体ＤＩＳＫに記録された楽曲データの総曲数と、ソートされた順序で並べられた複数のトラックネーム（トラック名）とを示し、これらがＲＡＭ１１内のアドレスに順に記憶されている。
アーティストネームリストテーブルＡＲＮＬＴは、図６に示すように、重複を除いた総アーティスト数と、重複を除いたアーティスト名をアーティスト名でソートした結果の順序で並べられた各アーティスト名についての最初のアーティスト名からの総曲数の累積値とを示し、これらがＲＡＭ１１内のアドレスに順に記憶されている。本実施形態において、重複を除いたとは、同じアーティスト名を重複して総数に入れないこと、並びにソートの対象としないことを示している。
アーティストネームランクテーブルＡＲＮＲＴは、図６に示すように、記録媒体ＤＩＳＫに記録された楽曲データの総曲数と、アーティスト名順でソートされた順序で並べられた複数のトラックデータのトラック番号ＴＮＯとを示し、これらがＲＡＭ１１内のアドレスに順に記憶されている。
アルバムネームリストテーブルＡＬＮＬＴは、図７に示すように、重複を除いた総アルバム数と、重複を除いたアルバム名をアルバム名でソートした結果の順序で並べられた各アルバム名についての最初のアルバム名からの総曲数の累積値とを示し、これらがＲＡＭ１１内のアドレスに順に記憶されている。アルバムネームランクテーブルＡＬＮＲＴは、図７に示すように、記録媒体ＤＩＳＫに記録された楽曲データの総曲数と、アルバム名順でソートされた順序で並べられた複数のトラックデータのトラック番号ＴＮＯとを示し、これらがＲＡＭ１１内のアドレスに順に記憶されている。
グループネームランクテーブルＧＮＲＴは、図７に示すように、記録媒体ＤＩＳＫに記録された楽曲データに対して規定されたグループ名の総数と、グループ名順でソートされた順序で並べられた複数のグループのグループ番号ＧＮＯとを示し、これらがＲＡＭ１１内のアドレスに順に記憶されている。
【００３６】
アーティストネームインデックステーブルＡＲＮＩＴは、図８に示すように、トラックデータの各々について、重複しないアーティスト名をアーティスト名を基にソートした結果における当該トラックデータのアーティスト名の順位をｘ（ｘは２以上の整数値で、例えば、８）で除算した値の整数値をトラック番号順に示し、ＲＡＭ１１内のアドレスに順に記憶されている。
アルバムネームインデックステーブルＡＬＮＩＴは、図８に示すように、トラックデータの各々について、重複しないアルバム名をアルバム名を基にソートした結果における当該トラックデータのアルバム名の順位をｘ（ｘは２以上の整数値で、例えば、８）で除算した値の整数値をトラック番号順に示し、ＲＡＭ１１内のアドレスに順に記憶されている。
【００３７】
図９および図１０は、システムコントローラ８による図５に示す各種テーブルの生成処理を説明するためのフローチャートである。
なお、システムコントローラ８は、以下に示す処理を行う過程で、ＲＡＭ１１に記憶された上述した各種のデータを書き換える場合に、書き換え前のデータをＲＡＭ１１から読み出す処理、並びに書き換え後のデータをＲＡＭ１１に書き込む処理を行う。
ステップＳＴ１１：
システムコントローラ８は、所定の条件を満たすと、動作周波数を、通常動作周波数から、その通常動作周波数より高いソート時動作周波数に切り換えて動作する。
これにより、システムコントローラ８は、ソート処理に要する時間を短縮できる。
ステップＳＴ１２：
システムコントローラ８は、所定の初期化処理を行う。
【００３８】
ステップＳＴ１３：
システムコントローラ８は、図６に示すトラックネームランクテーブルＴＮＲＴの初期化処理を行う。
ステップＳＴ１４：
システムコントローラ８は、ステップＳＴ１３で初期化したトラックネームランクテーブルＴＮＲＴを、トラックネーム順にソートして更新する。
【００３９】
ステップＳＴ１５：
システムコントローラ８は、図７に示すアーティストネームランクテーブルＡＲＮＲＴの初期化処理を行う。
ステップＳＴ１６：
システムコントローラ８は、ステップＳＴ１５で初期化したアーティストネームランクテーブルＡＲＮＲＴを、アーティストネーム順にソートして更新する。
ステップＳＴ１７：
システムコントローラ８は、図７に示すアーティストネームリストテーブルＡＲＮＬＴを生成する。
ステップＳＴ１８：
システムコントローラ８は、図８に示すアーティストネームインデックステーブルＡＲＮＩＴを生成する。
【００４０】
ステップＳＴ１９：
システムコントローラ８は、図７に示すアルバムネームランクテーブルＡＬＮＲＴの初期化処理を行う。
ステップＳＴ２０：
システムコントローラ８は、ステップＳＴ１９で初期化したアルバムネームランクテーブルＡＬＮＲＴを、アルバムネーム順にソートして更新する。
ステップＳＴ２１：
システムコントローラ８は、図７に示すアルバムネームリストテーブルＡＬＮＬＴを生成する。
ステップＳＴ２２：
システムコントローラ８は、図８に示すアルバムネームインデックステーブルＡＬＮＩＴを生成する。
【００４１】
ステップＳＴ２３：
システムコントローラ８は、グループネームランクテーブルＧＮＲＴの初期化処理を行う。
ステップＳＴ２４：
システムコントローラ８は、ステップＳＴ２３で初期化したグループネームランクテーブルＧＮＲＴを、グループネーム順にソートして更新する。
ステップＳＴ２５：
システムコントローラ８は、動作周波数を、ソート時動作周波数から通常動作周波数に切り換えて動作する。
【００４２】
［ステップＳＴ１３（トラックネームランクテーブルＴＮＲＴの初期化処理）］
以下、図９に示すトラックネームランクテーブルＴＮＲＴの初期化処理（ステップＳＴ１３）について説明する。
図１１は、図９に示すステップＳＴ１３の処理を説明するためのフローチャートである。
ステップＳＴ３１：
システムコントローラ８は、予め規定した所定の変数ｎに初期値「１」を代入し、変数ｔｏｔａｌに初期値として記録媒体ＤＩＳＫの総曲数（記録媒体ＤＩＳＫに記憶されたトラックデータの数）を代入する。
ステップＳＴ３２：
システムコントローラ８は、所定の変数ｔｏｐに初期値「１」を代入し、変数ｅｎｄに上記変数ｔｏｔａｌの値を代入する。
【００４３】
ステップＳＴ３３：
システムコントローラ８は、トラック番号ＴＮＯが「ｎ」のトラックデータのトラックネームＴＮが存在するか否かを判断し、存在すると判断するとステップＳＴ３４に進み、存在しないと判断するとステップＳＴ３５に進む。
ステップＳＴ３４：
システムコントローラ８は、トラックネームランクテーブルＴＮＲＴの配列データｒａｎｋ＿ｔａｂｌｅ［ｔｏｐ］に変数ｎの値を代入する。
また、システムコントローラ８は、変数ｔｏｐを１インクリメントする。
ステップＳＴ３５：
システムコントローラ８は、トラックネームランクテーブルＴＮＲＴの配列データｒａｎｋ＿ｔａｂｌｅ［ｅｎｄ］に変数ｎの値を代入する。
また、システムコントローラ８は、変数ｅｎｄを１デクリメントする。
ステップＳＴ３６：
システムコントローラ８は、変数ｎを１インクリメントする。
ステップＳＴ３７：
システムコントローラ８は、変数ｎの値が変数ｔｏｔａｌの値以下であるか否かを判断し、以下であると判断した場合にはステップＳＴ３３に戻り、そうでない場合にはステップＳＴ３８に進む。
【００４４】
ステップＳＴ３８：
システムコントローラ８は、変数ｎに「（ｔｏｔａｌ−ｅｎｄ）／２」を代入する。
システムコントローラ８は、変数ｔｏｐに、「ｅｎｄ＋１」を代入する。
システムコントローラ８は、変数ｅｎｄに、変数ｔｏｔａｌの値を代入する。
ステップＳＴ３９：
システムコントローラ８は、トラックネームランクテーブルＴＮＲＴにおいて配列データｒａｎｋ＿ｔａｂｌｅ［ｔｏｐ］と配列データｒａｎｋ＿ｔａｂｌｅ［ｅｎｄ］とを入れ換える（スワップする）。
ステップＳＴ４０：
システムコントローラ８は、変数ｎを１だけデクリメントする。
ステップＳＴ４１：
システムコントローラ８は、変数ｎの値が「０」より大きいか否かを判断し、大きいと判断するとステップＳＴ３９に戻り、そうでない場合には処理を終了する。
【００４５】
図１１に示すステップＳＴ３１〜ＳＴ３７による処理ＰＲ１は、例えば、図１２に示すように、トラック番号テーブルＴＮＯＴを基に、トラックネームＴＮが存在するトラックデータのトラック番号ＴＮＯをトラックネームランクテーブルＴＮＲＴの配列番号が小さい位置から順に割り当て、トラックネームＴＮが存在しないトラックデータのトラック番号ＴＮＯを配列番号が大きい位置から順に割り当てる処理である。
ここで、処理ＰＲ１の終了後は、トラックネームＴＮが存在しないトラックデータは、トラック番号ＴＮＯが降順（大きいものから順）に並べられている。
図１１に示すステップＳＴ３８〜ＳＴ４１による処理ＰＲ２は、例えば、図１３に示すように、トラックネームランクテーブルＴＮＲＴの配列番号の大きい側に割り当てられたトラックネームＴＮが存在しないトラックデータを、トラック番号ＴＮＯが昇順（小さいものから順）になるように並べ替える。
上述したトラックネームランクテーブルＴＮＲＴの初期化処理が完了すると、例えば、図１４（Ａ）に示すように、トラックネームランクテーブルＴＮＲＴの配列データｒａｎｋ＿ｔａｂｌｅ［０］には配列データの数「１４」が格納され、配列データｒａｎｋ＿ｔａｂｌｅ［１］〜［１１］にはトラックネームＴＮが有るトラックデータのトラック番号ＴＮＯが格納され、配列データｒａｎｋ＿ｔａｂｌｅ［１２］〜［１４］にはトラックネームＴＮが無いトラックデータのトラック番号ＴＮＯが格納される。
【００４６】
なお、図９に示すアーティストネームランクテーブルＡＲＮＲＴの初期化処理（ステップＳＴ１５）、アルバムネームランクテーブルＡＬＮＲＴの初期化処理（ステップＳＴ１９）は、トラックネームランクテーブルＴＮＲＴについて行われた図１１の処理を、それぞれアーティストネームランクテーブルＡＲＮＲＴおよびアルバムネームランクテーブルＡＬＮＲＴについて行う点を除いて同様である。
【００４７】
［ステップＳＴ１４（トラックネームランクテーブルＴＮＲＴのソート）］
システムコントローラ８は、ステップＳＴ１４において、ステップＳＴ１３で初期化したトラックネームランクテーブルＴＮＲＴを、トラックネーム順にソートして更新する。
システムコントローラ８は、例えば、上記ソートとして、マージソートを行う。
マージソートは、例えば、図１５に示すように、ソート対象の配列を要素データに分割し、隣接した２つの要素データからなる複数の組の各々についてソートを行い、続いて、ソートが完了した隣接した２つの組の要素データをソートして新たな１つの組を生成する併合処理を行い、当該併合処理を最終的に組が１つになるまで繰り返す手法である。
【００４８】
以下、図１６〜図２３は、トラックネームランクテーブルＴＮＲＴのソート処理の一例を説明するための図である。
図１６〜図２３において、配列データに対応して示される矩形内の数字は、比較値を示している。
システムコントローラ８は、例えば、図１６に示すように、先ず、例えば図１および図５に示すＲＡＭ１１内のテーブル記憶領域ＴＡＢＬＥに記憶されたトラックネームランクテーブルＴＮＲＴの隣接する配列データｒａｎｋ＿ｔａｂｌｅ［１］と［２］とに格納されたトラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較して、配列データｒａｎｋ＿ｔａｂｌｅ［２］の比較値が配列データｒａｎｋ＿ｔａｂｌｅ［１］の比較値より大きい（高位な）ので、配列データｒａｎｋ＿ｔａｂｌｅ［１］と［２］でトラック番号ＴＮＯをスワップする（入れ換える）。
また、システムコントローラ８は、例えば、図１６に示すように、隣接する配列データｒａｎｋ＿ｔａｂｌｅ［３］と［４］とに格納されたトラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較して、配列データｒａｎｋ＿ｔａｂｌｅ［４］の比較値が配列データｒａｎｋ＿ｔａｂｌｅ［３］の比較値より大きいので、配列データｒａｎｋ＿ｔａｂｌｅ［３］と［４］とでトラック番号ＴＮＯをスワップする。
【００４９】
また、システムコントローラ８は、例えば、図１６に示すように、隣接する配列データｒａｎｋ＿ｔａｂｌｅ［５］と［６］とに格納されたトラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較して、配列データｒａｎｋ＿ｔａｂｌｅ［６］の比較値が配列データｒａｎｋ＿ｔａｂｌｅ［５］の比較値より大きいので、配列データｒａｎｋ＿ｔａｂｌｅ［５］と［６］とでトラック番号ＴＮＯをスワップする。
また、システムコントローラ８は、例えば、図１６に示すように、隣接する配列データｒａｎｋ＿ｔａｂｌｅ［７］と［８］とに格納されたトラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較して、配列データｒａｎｋ＿ｔａｂｌｅ［８］の比較値が配列データｒａｎｋ＿ｔａｂｌｅ［７］の比較値より大きいので、配列データｒａｎｋ＿ｔａｂｌｅ［７］と［８］とでトラック番号ＴＮＯをスワップする。
また、システムコントローラ８は、例えば、図１６に示すように、隣接する配列データｒａｎｋ＿ｔａｂｌｅ［９］と［１０］とに格納されたトラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較して、配列データｒａｎｋ＿ｔａｂｌｅ［１０］の比較値が配列データｒａｎｋ＿ｔａｂｌｅ［９］の比較値より大きいので、配列データｒａｎｋ＿ｔａｂｌｅ［９］と［１０］とでトラック番号ＴＮＯをスワップする。
【００５０】
次に、システムコントローラ８は、図１７に示すように、配列データｒａｎｋ＿ｔａｂｌｅ［１］と［２］を要素とする組に属するトラック番号ＴＮＯを、例えば、図５に示すＲＡＭ１１のワーク領域ＷＯＲＫにワーク配列データ［０］，［１］に退避する（書き込む）。
次に、システムコントローラ８は、上記退避した配列データｒａｎｋ＿ｔａｂｌｅ［１］と［２］に格納されていたトラック番号ＴＮＯと、その組に対して配列番号が大きい側に隣接して位置する組の要素である配列データｒａｎｋ＿ｔａｂｌｅ［３］と［４］に格納されているトラック番号ＴＮＯについて、当該トラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較する。
そして、システムコントローラ８は、上記比較の結果を基に、比較値が最大（「４」）の配列データｒａｎｋ＿ｔａｂｌｅ［３］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［１］に格納し、次に比較値が大きい配列データｒａｎｋ＿ｔａｂｌｅ［４］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［２］に格納する。
続いて、システムコントローラ８は、ワーク配列データ［０］，［１］に格納されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［３］，［４］にそれぞれ書き込む。
【００５１】
また、システムコントローラ８は、図１８に示すように、配列データｒａｎｋ＿ｔａｂｌｅ［５］と［６］を要素とする組に属するトラック番号ＴＮＯを、例えば、図５に示すＲＡＭ１１のワーク領域ＷＯＲＫにワーク配列データ［０］，［１］に退避する（書き込む）。
次に、システムコントローラ８は、上記退避した配列データｒａｎｋ＿ｔａｂｌｅ［５］と［６］に格納されていたトラック番号ＴＮＯと、その組に対して配列番号が大きい側に隣接して位置する組の要素である配列データｒａｎｋ＿ｔａｂｌｅ［７］と［８］に格納されているトラック番号ＴＮＯについて、当該トラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較する。
そして、システムコントローラ８は、上記比較の結果を基に、比較値が最大（「８」）の配列データｒａｎｋ＿ｔａｂｌｅ［７］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［５］に格納し、次に比較値が大きい配列データｒａｎｋ＿ｔａｂｌｅ［８］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［６］に格納する。
続いて、システムコントローラ８は、ワーク配列データ［０］，［１］に格納されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［７］，［８］にそれぞれ書き込む。
【００５２】
また、システムコントローラ８は、図１９に示すように、配列データｒａｎｋ＿ｔａｂｌｅ［９］と［１０］を要素とする組に属するトラック番号ＴＮＯを、例えば、図５に示すＲＡＭ１１のワーク領域ＷＯＲＫにワーク配列データ［０］，［１］に退避する（書き込む）。
次に、システムコントローラ８は、上記退避した配列データｒａｎｋ＿ｔａｂｌｅ［９］と［１０］に格納されていたトラック番号ＴＮＯと、その組に対して配列番号が大きい側に隣接して位置する組の要素である配列データｒａｎｋ＿ｔａｂｌｅ［１１］に格納されているトラック番号ＴＮＯについて、当該トラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較する。なお、図１９に示す配列データｒａｎｋ＿ｔａｂｌｅ［１１］が属する組は、図１４（Ａ）に示すようにトラックネームランクテーブルＴＮＲＴトラックデータ内のソート対象となる最後の組であり、この場合は、その要素は１つである。
そして、システムコントローラ８は、上記比較の結果を基に、比較値が最大（「１１」）の配列データｒａｎｋ＿ｔａｂｌｅ［１１］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［９］に格納する。
続いて、システムコントローラ８は、ワーク配列データ［０］，［１］に退避されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［１０］，［１１］にそれぞれ書き込む。
上述した図１７〜図１９を用いて説明した併合処理により、その内部の要素がソート済みの３つの組が得られる。
【００５３】
次に、システムコントローラ８は、図２０に示すように、配列データｒａｎｋ＿ｔａｂｌｅ［１］，［２］，［３］，［４］を要素とする組に属するトラック番号ＴＮＯを、例えば、図５に示すＲＡＭ１１のワーク領域ＷＯＲＫにワーク配列データ［０］，［１］，［２］，［３］に退避する（書き込む）。
次に、システムコントローラ８は、上記退避した配列データｒａｎｋ＿ｔａｂｌｅ［１］，［２］，［３］，［４］に格納されていたトラック番号ＴＮＯと、その組に対して配列番号が大きい側に隣接して位置する組の要素である配列データｒａｎｋ＿ｔａｂｌｅ［５］，［６］，［７］，［８］に格納されているトラック番号ＴＮＯについて、当該トラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較する。
そして、システムコントローラ８は、上記比較の結果を基に、比較値が最大（「８」）の配列データｒａｎｋ＿ｔａｂｌｅ［５］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［１］に格納する。
また、システムコントローラ８は、次に比較値が大きい（「７」）配列データｒａｎｋ＿ｔａｂｌｅ［６］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［２］に格納する。
また、システムコントローラ８は、次に比較値が大きい（「６」）配列データｒａｎｋ＿ｔａｂｌｅ［７］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［３］に格納する。
また、システムコントローラ８は、図２１に示すように、次に比較値が大きい（「５」）配列データｒａｎｋ＿ｔａｂｌｅ［８］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［４］に格納する。
続いて、システムコントローラ８は、ワーク配列データ［０］，［１］，［２］，［３］に格納されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［５］，［６］，［７］，［８］にそれぞれ書き込む。
【００５４】
次に、システムコントローラ８は、図２２に示すように、配列データｒａｎｋ＿ｔａｂｌｅ［１］，［２］，［３］，［４］，［５］，［６］，［７］，［８］を要素とする組に属するトラック番号ＴＮＯを、例えば、図５に示すＲＡＭ１１のワーク領域ＷＯＲＫにワーク配列データ［０］，［１］，［２］，［３］，［４］，［５］，［６］，［７］に退避する（書き込む）。
次に、システムコントローラ８は、上記退避した配列データｒａｎｋ＿ｔａｂｌｅ［１］，［２］，［３］，［４］，［５］，［６］，［７］，［８］に格納されていたトラック番号ＴＮＯと、その組に対して配列番号が大きい側に隣接して位置する組の要素である配列データｒａｎｋ＿ｔａｂｌｅ［９］，［１０］，［１１］に格納されているトラック番号ＴＮＯについて、当該トラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較する。
そして、システムコントローラ８は、上記比較の結果を基に、比較値が最大（「１１」）の配列データｒａｎｋ＿ｔａｂｌｅ［９］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［１］に格納する。
また、システムコントローラ８は、次に比較値が大きい（「１０」）配列データｒａｎｋ＿ｔａｂｌｅ［１０］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［２］に格納する。
また、システムコントローラ８は、図２３に示すように次に比較値が大きい（「９」）配列データｒａｎｋ＿ｔａｂｌｅ［１１］に格納されているトラック番号ＴＮＯを配列データｒａｎｋ＿ｔａｂｌｅ［３］に格納する。
続いて、システムコントローラ８は、ワーク配列データ［０］，［１］，［２］，［３］，［４］，［５］，［６］，［７］，［８］に格納されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［４］，［５］，［６］，［７］，［８］，［９］，［１０］，［１１］にそれぞれ書き込む。
これにより、図１４（Ｂ）に示すようにトラックネームＴＮ内のトラックネームＴＮが有る要素が全てソートされる。
【００５５】
図２４〜図２６は、システムコントローラ８による上述したステップＳＴ１４（トラックネームランクテーブルＴＮＲＴのソート）の処理のフローチャートである。
以下に示す処理は、システムコントローラ８が、プログラムＰＲＧに従って、ＲＡＭ１１に記憶されたデータを用いて、ＲＡＭ１１をワーク領域として使用して行われる。
ステップＳＴ７１：
システムコントローラ８は、変数ｉに「１」を代入する。
また、システムコントローラ８は、図９に示すステップＳＴ１３において初期化によって得られたトラックネームＴＮが有るトラックデータの数を、変数ｎに代入する。
ステップＳＴ７２：
システムコントローラ８は、変数ｉの値が変数ｎの値より小さいか否かを判断し、小さいと判断するとステップＳＴ７７に進み、そうでない場合にはステップＳＴ７３に進む。
ステップＳＴ７３：
システムコントローラ８は、トラックネームランクテーブルＴＮＲＴ内の配列データｒａｎｋ＿ｔａｂｌｅ［ｉ］と［ｉ＋１］に格納されているトラック番号ＴＮＯについて、当該トラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較する。
ステップＳＴ７４：
システムコントローラ８は、ステップＳＴ７３の比較において、配列データｒａｎｋ＿ｔａｂｌｅ［ｉ＋１］のトラックネームＴＮの比較値が大きいと判断すると、ステップＳＴ７５に進み、そうでない場合にステップＳＴ７６に進む。
【００５６】
ステップＳＴ７５：
システムコントローラ８は、配列データｒａｎｋ＿ｔａｂｌｅ［ｉ］と［ｉ＋１］でトラック番号ＴＮＯをスワップする（入れ換える）。
ステップＳＴ７６：
システムコントローラ８は、変数ｉの値を「２」インクリメントする。
【００５７】
ステップＳＴ７７：
システムコントローラ８は、変数ｌｅｎに「２」を代入する。
ステップＳＴ７８：
システムコントローラ８は、変数ｌｅｎの値が変数ｎの値より小さいか否かを判断し、小さいと判断するとステップＳＴ７９に進み、そうでない場合には処理を終了する。
ステップＳＴ７９：
システムコントローラ８は、変数ｌｏｗに「１」を代入する。
ステップＳＴ８０：
システムコントローラ８は、変数ｌｏｗの値が、変数ｎの値から変数ｌｅｎの値を減じた値以下であるか否かを判断し、そうであると判断するとステップＳＴ８１に進み、そうでないと判断するとステップＳＴ９８に進む。
【００５８】
ステップＳＴ８１：
システムコントローラ８は、変数ｌｏｗの値に変数ｌｅｎの値を加算した値を、変数ｍｉｄに代入する。
また、システムコントローラ８は、変数ｍｉｄの値に変数ｌｅｎの値を加算した値を、変数ｈｉｇｈに代入する。
ステップＳＴ８２：
システムコントローラ８は、変数ｈｉｇｈから「１」を減じた値が、変数ｎの値より大きいか否かを判断し、大きいと判断するとステップＳＴ８３に進み、そうでない場合にはステップＳＴ８４に進む。
ステップＳＴ８３：
システムコントローラ８は、変数ｎの値に「１」を加算した値を、変数ｈｉｇｈに代入する。
【００５９】
ステップＳＴ８４：
システムコントローラ８は、変数ｐに「０」を代入する。
ステップＳＴ８５：
システムコントローラ８は、変数ｉに変数ｌｏｗの値を代入する。
ステップＳＴ８６：
システムコントローラ８は、変数ｉの値が、変数ｍｉｄの値より小さいか否かを判断し、小さいと判断するとステップＳＴ８７に進み、そうでない場合にはステップＳＴ８８に進む。
ステップＳＴ８７：
システムコントローラ８は、配列データｒａｎｋ＿ｔａｂｌｅ［ｉ］の値を、ＲＡＭ１１のワーク領域ＷＯＲＫに記憶されたワーク配列データｗｏｒｋ［ｐ］に格納する。
システムコントローラ８は、変数ｐの値を「１」だけインクリメントする。
システムコントローラ８は、変数ｉの値を「１」だけインクリメントする。
ステップＳＴ８８：
システムコントローラ８は、変数ｍｉｄの値を変数ｉに代入する。
また、システムコントローラ８は、変数ｊに「０」を代入する。
また、システムコントローラ８は、変数ｋに、変数ｌｏｗの値を代入する。
【００６０】
ステップＳＴ８９：
システムコントローラ８は、変数ｉの値が、変数ｈｉｇｈの値より小さいか否かを判断し、小さいと判断するとステップＳＴ９０に進み、そうでない場合にはステップＳＴ９５に進む。
ステップＳＴ９０：
システムコントローラ８は、変数ｊの値が、変数ｐの値より小さいか否かを判断し、小さいと判断するとステップＳＴ９１に進み、そうでない場合にはステップＳＴ９５に進む。
ステップＳＴ９１：
システムコントローラ８は、ワーク配列データｗｏｒｋ［ｊ］および配列データｒａｎｋ＿ｔａｂｌｅ［ｉ］に格納されているトラック番号ＴＮＯについて、当該トラック番号ＴＮＯに対応するトラックネームＴＮの比較値を比較する。
ステップＳＴ９２：
システムコントローラ８は、ステップＳＴ７３の比較において、ワーク配列データｗｏｒｋ［ｊ］のトラックネームＴＮの比較値が大きいと判断すると、ステップＳＴ９３に進み、そうでない場合にステップＳＴ９４に進む。
【００６１】
ステップＳＴ９３：
システムコントローラ８は、ワーク配列データｗｏｒｋ［ｊ］に格納されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［ｋ］に格納する。
また、システムコントローラ８は、変数ｋ、ｉの値を「１」だけインクリメントする。
ステップＳＴ９４：
システムコントローラ８は、配列データｒａｎｋ＿ｔａｂｌｅ［ｉ］に格納されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［ｋ］に格納する。
また、システムコントローラ８は、変数ｋ、ｉの値を「１」だけインクリメントする。
【００６２】
ステップＳＴ９５：
システムコントローラ８は、変数ｊの値が変数ｐの値より小さいか否かを判断し、小さいと判断するとステップＳＴ９６に進み、そうでない場合にはステップＳＴ９７に進む。
ステップＳＴ９６：
システムコントローラ８は、ワーク配列データｗｏｒｋ［ｊ］に格納されたトラック番号ＴＮＯを、配列データｒａｎｋ＿ｔａｂｌｅ［ｋ］に格納する。
また、システムコントローラ８は、変数ｋ、ｉの値を「１」だけインクリメントする。
ステップＳＴ９７：
システムコントローラ８は、変数ｈｉｇｈの値を変数ｌｏｗに代入する。
ステップＳＴ９８：
システムコントローラ８は、変数ｌｅｎに「２」を乗じた値を変数ｌｅｎに代入する。
【００６３】
上述したソート処理におけるトラックネームＴＮの比較処理について説明する。
当該比較処理は、例えば、図２４に示すステップＳＴ７３、図２６に示すステップＳＴ９１で行われる。
以下、トラック番号ＴＮＯが「ｉ」のトラックデータとトラック番号ＴＮＯが「ｊ」のトラックデータとでのトラックネームＴＮの比較処理を行う場合を例示する。
図２７は、当該処理を説明するためのフローチャートである。
ステップＳＴ１１１：
システムコントローラ８は、比較文字位置を示すカウンタ変数ｘに初期値「０」を設定する。
ステップＳＴ１１２：
システムコントローラ８は、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮの先頭からｘ文字目を、変数ｃｃ１に格納する。
ステップＳＴ１１３：
システムコントローラ８は、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮの先頭からｘ文字目を、変数ｃｃ２に格納する。
【００６４】
ステップＳＴ１１４：
システムコントローラ８は、ＲＯＭ１０あるいはＲＡＭ１１に記憶されている比較値変換テーブルＴＲＡＮを基に、変数ｃｃ１に格納した文字を比較値に変換し、これを変数ｃｃ１に格納する。比較値変換テーブルＴＲＡＮは、各文字に対応する比較値を示し、名前順のソートにおいて高い優先順位を付ける文字に、それより低い優先順位を付ける文字に比べて大きな比較値を規定している。
当該比較値変換テーブルＴＲＡＮについては、後に詳細に説明する。
ステップＳＴ１１５：
システムコントローラ８は、上記比較値変換テーブルＴＲＡＮを基に、変数ｃｃ２に格納した文字を比較値に変換し、これを変数ｃｃ２に格納する。
【００６５】
ステップＳＴ１１６：
システムコントローラ８は、ステップＳＴ１１４で変数ｃｃ１に格納された比較値と、ステップＳＴ１１５で変数ｃｃ２に格納された比較値とを比較し、変数ｃｃ２に格納した比較値が大きい場合に、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
一方、システムコントローラ８は、上記比較において変数ｃｃ２に格納した比較値の方が大きくないと判断するとステップＳＴ１１７に進む。
ステップＳＴ１１７：
システムコントローラ８は、ステップＳＴ１１４で変数ｃｃ１に格納された比較値と、ステップＳＴ１１５で変数ｃｃ２に格納された比較値とを比較し、変数ｃｃ２に格納した比較値が小さい場合に、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
一方、システムコントローラ８は、上記比較において変数ｃｃ２に格納した比較値の方が小さくないと判断するとステップＳＴ１１８に進む。
【００６６】
ステップＳＴ１１８：
システムコントローラ８は、変数ｘを「１」だけインクリメントする。
ステップＳＴ１１９：
システムコントローラ８は、変数ｘが示す文字数が最大文字数以下であるか否かを判断し、最大文字数以下であると判断するとステップＳＴ１１２に戻り、そうでない場合にはステップＳＴ１２０に進む。
ステップＳＴ１２０：
システムコントローラ８は、変数ｉの値が変数ｊの値より小さいか否かを判断し、小さいと判断すると、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
一方、システムコントローラ８は、上記判断で上記小さくないと判断すると、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
【００６７】
［比較値変換テーブルＴＲＡＮ］
以下、上述した図２７に示すステップＳＴ１１４，ＳＴ１１５で用いる比較値変換テーブルＴＲＡＮについて説明する。
図２８は、比較値変換テーブルＴＲＡＮを説明するための図である。
図２８に示すように、比較値変換テーブルＴＲＡＮは、ASCII、ISO 8859-1、Music Shift JIS 、Shift JIS、Unicodeの各々についての変換テーブルを有する。
また、比較値変換テーブルＴＲＡＮは、各文字に、名前順のソートにおける優先順位が高くなるに従って大きい比較値を割り当てている。
具体的には、SPACE、記号 (Music外字の絵文字なども含む)、数字 (丸付き，ローマ数字なども含む)、アルファベット (欧州文字，UnicodeのISO 8859-1領域を含む)、ひらがな、カタカナ、ギリシア文字、キリール文字、罫線素片、漢字、外字、UnicodeのISO 8859-1領域以外。    文字コードについては、ASCII(MD1)、ISO 8859-1 (Hi-MD)、Shift JISの1バイト文字(Hi-MD)、Music Shift JIS(MD1)、Shift JISの2バイト文字 (Hi-MD)、Unicode (Hi-MD)の順で高い優先順位がつけられる。
また、半角と全角では半角に高い優先順位がつけられる。
ASCII(半角扱い)、ISO 8859-1    (半角扱い)、Shift JISの1バイト文字(半角扱い)、Music外字の半角(半角扱い)、Music Shift JISの全角(全角扱い)、Shift JISの2バイト文字(全角扱い)、Music外字の全角(全角扱い)、Unicode          (全角扱い)の順とする。
また、数字自体は、「数」ではなくてコード順とする。
アルファベットはアルファベット順で，大文字に小文字に比べて高い優先順位を付ける。
仮名は50音順で，ひらがなをカタカナより高い優先順位とする。例えば、小さいひらがな、小さいカタカナ、ひらがな、            カタカナ、ひらがな(濁音)、カタカナ(濁音)、ひらがな(半濁音)、カタカナ(半濁音)の順で高い優先順位を付ける。
【００６８】
また、比較値変換テーブルＴＲＡＮは、例えば、Music Shift JISのギリシャ文字、キリール文字、罫線素片、漢字については変換テーブルを有さない。システムコントローラ８は、これらの文字については、そのMusic Shift JISのコードをそのまま比較値とする。
また、比較値変換テーブルＴＲＡＮは、Shift JISのギリシャ文字、キリール文字、罫線素片、漢字については変換テーブルを有さない。システムコントローラ８は、これらの文字については、そのShift JISのコードをそのまま比較値とする。
また、比較値変換テーブルＴＲＡＮは、Unicode のＢＭＰ面等についても、変換テーブルを有さない。システムコントローラ８は、これらの文字については、そのコードに「１００００ｈ」を加算した値を比較値とする。
記録再生装置１によれば、このように、上述した所定の文字について変換テーブルを用いずに、そのコードや当該コードに所定の値を加算した値をその比較値とすることで、比較値変換テーブルＴＲＡＮのデータ量を削減でき、ＲＡＭ１１あるいはＲＯＭ１０の記憶容量を効率的に利用できる。
【００６９】
なお、本実施形態では、Ｈｉ−ＭＤシステムを想定しているため、比較値変換テーブルＴＲＡＮとして、図２８に示す各種変換テーブルのうち、ISO 8859-1、Shift JIS、Unicodeの変換テーブルを含み、それ以外の変換テーブルを含まないものが用いられる。
【００７０】
上述した例では、システムコントローラ８が、図１１〜図２８を用いて説明したようにトラックネームランクテーブルＴＮＲＴを生成する場合を例示したが、システムコントローラ８は、アーティストネームランクテーブルＡＲＮＲＴ、アルバムネームランクテーブルＡＬＮＲＴについても、それぞれアーティストネームおよびアルバムネームについて処理を行う点を除いて、図１１〜図２８に示すのと同じ処理で生成する。
【００７１】
以下、図１０に示すグループネームランクテーブルＧＮＲＴの初期化処理（ステップＳＴ２３）について説明する。
図２９は、図１０に示すステップＳＴ２３の処理を説明するためのフローチャートである。
図２９においてステップＳＴ１３１，ＳＴ１３２，ＳＴ１３４〜ＳＴ１４１は、それぞれ図１１に示すステップＳＴ３１，ＳＴ３２，ＳＴ３４〜ＳＴ４１と同じである。
グループネームランクテーブルＧＮＲＴの初期化処理は、図２９に示すステップＳＴ１３３において、システムコントローラ８は、グループ番号ＧＮＯが「ｎ」のグループネームＧＮが存在するか否かを判断し、存在すると判断するとステップＳＴ１３４に進み、存在しないと判断するとステップＳＴ１３５に進む。
【００７２】
図２９に示すステップＳＴ１３１〜ＳＴ１３７による処理ＰＲ３は、例えば、図３０に示すように、グループ番号テーブルＧＮＯＴを基に、グループネームＧＮが存在するグループのグループ番号ＧＮＯをグループネームランクテーブルＧＮＲＴの配列番号が小さい位置から順に割り当て、グループネームＧＮが存在しないグループのグループ番号ＧＮＯを配列番号が大きい位置から順に割り当てる処理である。
ここで、処理ＰＲ３の終了後は、グループネームＧＮが存在しないグループデータは、グループ番号ＧＮＯが降順（大きいものから順）に並べられている。
図２９に示すステップＳＴ１３８〜ＳＴ１４１による処理ＰＲ４は、例えば、図３１に示すように、グループネームランクテーブルＧＮＲＴの配列番号の大きい側に割り当てられたグループネームＧＮが存在しないグループを、グループ番号ＧＮＯが昇順（小さいものから順）になるように並べ替える。
なお、システムコントローラ８は、グループネームランクテーブルＧＮＲＴの生成処理においても、図１４〜図２８で説明した手順でグループネームのソート処理を行う。
【００７３】
以下、図１に示す記録再生装置１による各種テーブルを利用した表示（出力）処理について説明する。
図３２は、当該処理を説明するためのフローチャートである。
ステップＳＴ１６１：
図１に示すシステムコントローラ８は、図３および図４を用いて説明した選曲画面を表示部６に表示中に、ユーザによる操作部７の操作に応じて、トラックネームＴＮのソート結果の表示要求を受けるとステップＳＴ１６２に進み、そうでない場合にはステップＳＴ１６３に進む。
ステップＳＴ１６２：
システムコントローラ８は、図９に示すステップＳＴ１４のソート処理を経てＲＡＭ１１に記憶されたトラックネームランクテーブルＴＮＲＴを基に、記録ディスクＤＩＳＫに記憶されたトラックデータのトラックネームＴＮを、名前順に表示部６に表示する。ユーザは、表示部６の表示を基に、選曲操作を行う。
本実施形態において、システムコントローラ８は、選曲操作に応じてトラックデータが指定されると、ストレージ部２を制御して、当該指定されたトラックデータを記録媒体ＤＩＳＫから読み出し、これを入出力処理部５に出力して再生させる。
【００７４】
ステップＳＴ１６３：
図１に示すシステムコントローラ８は、図３および図４を用いて説明した選曲画面を表示部６に表示中に、ユーザによる操作部７の操作に応じて、アーティストネームのソート結果の表示要求を受けるとステップＳＴ１６４に進み、そうでない場合にはステップＳＴ１６５に進む。
ステップＳＴ１６４：
システムコントローラ８は、図９に示すステップＳＴ１６のソート処理を経てＲＡＭ１１に記憶されたアーティストネームランクテーブルＡＲＮＲＴを基に、記録ディスクＤＩＳＫに記憶されたトラックデータのアーティストネームを、名前順に表示部６に表示する。ユーザは、表示部６の表示を基に、選曲操作を行う。
【００７５】
ステップＳＴ１６５：
図１に示すシステムコントローラ８は、図３および図４を用いて説明した選曲画面を表示部６に表示中に、ユーザによる操作部７の操作に応じて、アルバムネームのソート結果の表示要求を受けるとステップＳＴ１６６に進み、そうでない場合にはステップＳＴ１６７に進む。
ステップＳＴ１６６：
システムコントローラ８は、図１０に示すステップＳＴ２０のソート処理を経てＲＡＭ１１に記憶されたアルバムネームランクテーブルＡＬＮＲＴを基に、記録ディスクＤＩＳＫに記憶されたトラックデータのアルバムネームを、名前順に表示部６に表示する。ユーザは、表示部６の表示を基に、選曲操作を行う。
【００７６】
ステップＳＴ１６７：
図１に示すシステムコントローラ８は、図３および図４を用いて説明した選曲画面を表示部６に表示中に、ユーザによる操作部７の操作に応じて、グループネームのソート結果の表示要求を受けるとステップＳＴ１６８に進み、そうでない場合にはステップＳＴ１６１に戻る。
ステップＳＴ１６８：
システムコントローラ８は、図１０に示すステップＳＴ２４のソート処理を経てＲＡＭ１１に記憶されたグループネームランクテーブルＧＮＲＴを基に、記録ディスクＤＩＳＫに記憶されたトラックデータのグループネームを、名前順に表示部６に表示する。ユーザは、表示部６の表示を基に、選曲操作を行う。
なお、図９に示すステップＳＴ１６、図１０に示すＳＴ２０、ＳＴ２２、ＳＴ２４においても、前述したステップＳＴ１４と同様にソート処理が行われる。
【００７７】
以上説明したように、記録再生装置１によれば、システムコントローラ８が、ソート処理の過程で、図１６および図２４に示すように、ソート対象のトラックネームランクテーブルＴＮＲＴをそれぞれ単数の配列データｒａｎｋ＿ｔａｂｌｅ［］から構成される組に分割し、各組について、当該組と隣接する組の配列データｒａｎｋ＿ｔａｂｌｅ［］を対象としてソートを行い、２つの配列データｒａｎｋ＿ｔａｂｌｅ［］から構成される新たな組を生成する際に、図２５〜図２６を用いて説明した処理ではなく、図２４を用いて説明したスワップ処理を行うことで、当該ソート時間を従来に比べて短縮できる。
【００７８】
また、記録再生装置１によれば、図２８を用いて説明したように、例えば、ギリシャ文字、キリール文字、罫線素片、漢字、並びにUnicode のＢＭＰ面等については、比較値変換テーブルＴＲＡＮにおいて比較値との対応関係を規定しない。そのため、記録再生装置１によれば、従来に比べて比較値変換テーブルＴＲＡＮのデータ量を削減でき、ＲＡＭ１１あるいはＲＯＭ１０の記憶容量を効率的に利用できる。
また、記録再生装置１によれば、システムコントローラ８は、上記比較値変換テーブルＴＲＡＮに比較値との対応関係を規定しない文字について、そのコードや当該コードに所定の値を加算した値をその比較値として生成する。これにより、図２８に示すように、これらの文字についての優先順位を反映させた比較値を生成することができ、所望のソート結果を得ることができる。
【００７９】
＜第２実施形態＞
上述した第１実施形態では、図１に示す記録媒体ＤＩＳＫとしてＨｉ−ＭＤを用いた場合を例示したが、本実施形態では、記録媒体ＤＩＳＫとしてＭＤを用いた場合を例示する。
図３３は、本発明の実施形態に係わる記録再生装置１０１の全体構成図である。
図３３に示すように、記録再生装置１０１は、例えば、ストレージ部１０２、キャッシュメモリ３、インタフェース４、入出力処理部５、表示部６、操作部７、システムコントローラ１０８、キャッシュ管理メモリ９、ＲＯＭ１１０およびＲＡＭ１１１を有する。
図３３において、図１と同じ符号を付した構成要素は、第１実施形態で説明したものと同じである。
ストレージ部１０２は、記録媒体ＤＩＳＫａに対してデータの書き込みおよび読み出しなどのアクセスを行う。
本実施形態では、記録媒体ＤＩＳＫａとして、ＭＤを用いた場合を例示する。
本実施形態では、上記記録媒体ＤＩＳＫａは、複数のトラックデータを記憶し、各トラックデータには、図３４に示すように、トラック番号ＴＮＯが割り当てられている。
本実施形態では、トラックデータは、例えば、オーディオの楽曲データを含む。
また、各トラックデータには、図３４に示すように、ユーザによって規定されたトラックネームＴＮおよびグループネームＧＮが含まれる。これらのデータは、記録媒体ＤＩＳＫａに記憶されると共に、ＲＡＭ１１１にも読み込まれる。
トラックネームＴＮは、例えば、トラックデータ内の楽曲データのタイトルを示している。
グループネームＧＮは、トラックデータが属するグループの名前を示している。
当該グループは、例えば、ユーザによって規定される。
【００８０】
システムコントローラ１０８は、記録再生装置１０１の全体の制御を行うと共に、接続されたパーソナルコンピュータ２０との間の通信制御を行う。
【００８１】
ＲＯＭ１１０には、システムコントローラ１０８の動作を規定したプログラムＰＲＧａ、並びに各種データが記憶される。
当該プログラムＰＲＧａは、例えば、後述するように、記録媒体ＤＩＳＫａに記録されたトラックデータのソートの処理を規定している。
【００８２】
ＲＡＭ１１１は、システムコントローラ１０８によるワーク領域として用いられ、また各種必要なデータを記憶する。
ＲＡＭ１１１は、例えば、後述するように、記録媒体ＤＩＳＫａに記録されたトラックデータのソートの処理に用いられる各種テーブルデータなどを記憶する。
当該テーブルデータは、システムコントローラ１０８によって生成され、ＲＡＭ１１１に書き込まれる。
【００８３】
システムコントローラ１０８は、ＲＯＭ１１０から読み出したプログラムＰＲＧａに基づいて、本実施形態で規定した以下に示す各種の処理を行う。
システムコントローラ１０８は、上述したトラックネームＴＮおよびグループネームＧＮのソートを行う。
システムコントローラ１０８は、ソート指示を受けると、動作周波数を通常動作周波数からそれより高いソート時動作周波数に切り換えて、以下に示す手順により、図３５に示すトラック番号テーブルＴＮＯＴ、トラックネームランクテーブルＴＮＲＴ、グループネームランクテーブルＧＮＲＴ、ネームバッファインデックステーブルＮＢＩＴ、ネームバッファテーブルＮＢＴおよびミュージックシフトＪＩＳテーブルＭＳＪＴを生成し、これをＲＡＭ１１１内のテーブル記憶領域ＴＡＢＬＥに書き込む。
システムコントローラ１０８は、上述したテーブル生成動作を終了後、その動作周波数を通常動作周波数に切り換える。
記録再生装置１０１では、このようなテーブルを生成してＲＡＭ１１１に書き込むことで、ソート指示や、ソートに関連する所定の指示を受けた場合に、後述するように、ＲＡＭ１１から当該テーブルを読み出してソートに関連した処理結果を出力することができ、ソートに関連する指示を受けてからその結果を得るまでの時間を従来に比べて短縮できる。また、当該テーブルは、以下のような構成を有し、比較的データ量が小さく、ＲＡＭ１１１は従来に比べて大規模な記憶容量を必要としない。
なお、システムコントローラ１０８は、ソート指示を受けたとき以外に、処理負荷が所定の基準以下のときに、テーブル生成処理を行う。
【００８４】
記録再生装置１０１による後述する名前順のソートは、前述した比較値変換テーブルＴＲＡＮが規定する比較値を基に行われる。
本実施形態では、システムコントローラ１０８は、図２８を用いて第１実施形態で説明した優先順位でソートを行う。
このとき、文字コートとしては、ＡＳＣＩＩおよびＭｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳが用いられる。
ところで、文字コードＡＳＣＩＩは、カタカナにコードが直接的に割り当てられていない。従って、文字コードＡＳＣＩＩでは、カタカナをローマ字入力した場合のアルファベットの文字列の前後に「＾」が付けてカタカナを表現している。例えば、カタカナの「アイウ」は、ＡＳＣＩＩにおいて、「＾ＡＩＵ＾」と表現される。
従来では、ＡＳＣＩＩで表現されたカタカナをソートする場合に、「＾（カタカナ）＾」をカタカナに変換した後に、比較値変換テーブルを基に比較値を取得している。
本実施形態では、システムコントローラ１０８は、トラックネームＴＮが、ＡＳＣＩＩで表現されたカタカナである場合に、それをカタカナとして直接表現したデータとトラック番号ＴＮＯとを対応付けて示すたテーブルを作成し、ソート時に当該テーブルを基に比較値を取得する。これにより、ＡＳＣＩＩで表現されたカタカナのネームの比較値を短時間で得ることができる。
【００８５】
システムコントローラ１０８は、トラックネームＴＮのソートにおいて、同じトラック名のトラックデータはトラック番号順に並べる。
また、システムコントローラ１０８は、トラックネームＴＮの無いトラックデータは、上記ソート対象のトラックデータに対して低い優先順位を付けて、トラック番号ＴＮＯ順で並べる。
また、システムコントローラ１０８は、トラックネームＴＮの無いトラックデータと未対応の文字コードをトラックネームＴＮに用いたトラックデータとは区別せずに、トラック番号順に並べる。
【００８６】
システムコントローラ１０８は、グループネームＧＮのソートを、基本的に、上述したトラックネームＴＮと同様の手法で行う。
【００８７】
以下、システムコントローラ１０８において生成され、ＲＡＭ１１１に記憶される上記各種テーブルについて説明する。
トラックネームランクテーブルＴＮＲＴは、図３６に示すように、記録媒体ＤＩＳＫａに記録された楽曲データの総曲数と、ソートされた順序で並べられた複数のトラックネーム（トラック名）とを示し、これらがＲＡＭ１１１内のアドレスに順に記憶されている。
グループネームランクテーブルＧＮＲＴは、図３６に示すように、記録媒体ＤＩＳＫａに記録された楽曲データに対して規定されたグループ名の総数と、グループ名順でソートされた順序で並べられた複数のグループのグループ番号ＧＮＯとを示し、これらがＲＡＭ１１１内のアドレスに順に記憶されている。
【００８８】
ネームバッファインデックステーブルＮＢＩＴは、図３７に示すように、「１」〜「２５５」のトラック番号ＴＮＯのトラックデータのトラックネームＴＮが格納されたネームバッファテーブルＮＢＴの先頭のスロット番号を順に示している。
ネームバッファテーブルＮＢＴは、図３７に示すように、「１」〜「２５５」のスロット番号が付されたスロットに、トラックネームＴＮを格納している。
ミュージックシフトＪＩＳテーブルＭＳＪＴは、トラックネームランクテーブルＴＮＲＴにおいてソート対象とされたトラック番号、並びにグループネームランクテーブルＧＮＲＴにおいてソート対象とされたグループ番号の各々に対応するビットを備えている。
ミュージックシフトＪＩＳテーブルＭＳＪＴは、文字コートとしてＭｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳが用いられたトラックネームＴＮおよびグループネームＧＮに対応付けられたトラック番号およびグループ番号に対応するビットに第１の論理値（例えば「１」）が設定され、それ以外のビットに第２の論理値（例えば「０」）が設定される。
【００８９】
図３９は、システムコントローラ１０８による図３５に示す各種テーブルの生成処理を説明するためのフローチャートである。
ステップＳＴ２０１：
システムコントローラ１０８は、所定の条件を満たすと、動作周波数を、通常動作周波数から、その通常動作周波数より高いソート時動作周波数に切り換えて動作する。
これにより、システムコントローラ１０８は、ソート処理に要する時間を短縮できる。
ステップＳＴ２０２：
システムコントローラ１０８は、所定の初期化処理を行う。
【００９０】
ステップＳＴ２０３：
システムコントローラ１０８は、図３６に示すトラックネームランクテーブルＴＮＲＴの初期化処理を行う。
また、システムコントローラ１０８は、ネームバッファインデックステーブルＮＢＩＴ、ネームバッファテーブルＮＢＴおよびミュージックシフトＪＩＳテーブルＭＳＪＴ内のトラックネームＴＮに関する項目の生成処理を行う。
ステップＳＴ２０４：
システムコントローラ１０８は、ステップＳＴ２０３で初期化したトラックネームランクテーブルＴＮＲＴを、トラックネーム順にソートして更新する。
【００９１】
ステップＳＴ２０５：
システムコントローラ１０８は、グループネームランクテーブルＧＮＲＴの初期化処理を行う。
また、システムコントローラ１０８は、ネームバッファインデックステーブルＮＢＩＴ、ネームバッファテーブルＮＢＴおよびミュージックシフトＪＩＳテーブルＭＳＪＴ内のグループネームＧＮに関する項目の生成処理を行う。
ステップＳＴ２０６：
システムコントローラ１０８は、ステップＳＴ２０５で初期化したグループネームランクテーブルＧＮＲＴを、グループネーム順にソートして更新する。
ステップＳＴ２０７：
システムコントローラ１０８は、動作周波数を、ソート時動作周波数から通常動作周波数に切り換えて動作する。
【００９２】
［ステップＳＴ２０３（トラックネームランクテーブルＴＮＲＴの初期化処理等）］
以下、図３９に示すトラックネームランクテーブルＴＮＲＴの初期化処理、並びにネームバッファインデックステーブルＮＢＩＴ、ネームバッファテーブルＮＢＴおよびミュージックシフトＪＩＳテーブルＭＳＪＴ内のトラックネームＴＮに関する項目の生成処理を説明する。
図４０および図４１は、図３９に示すステップＳＴ２０３の処理を説明するためのフローチャートである。
ステップＳＴ２２１：
システムコントローラ１０８は、予め規定した所定の変数ｎに初期値「１」を代入し、変数ｔｏｔａｌに初期値として記録媒体ＤＩＳＫａの総曲数（記録媒体ＤＩＳＫａに記憶されたトラックデータの数）を代入する。
ステップＳＴ２２２：
システムコントローラ１０８は、所定の変数ｔｏｐに初期値「１」を代入し、変数ｅｎｄに上記変数ｔｏｔａｌの値を代入する。
ステップＳＴ２２３：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｎ」のトラックデータのトラックネームＴＮ内に、文字コートとしてＭｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳが含まれているか否かを判断し、含まれていると判断するとステップＳＴ２３４に進み、そうでない場合にはステップＳＴ２２５に進む。
【００９３】
ステップＳＴ２２４：
システムコントローラ１０８は、図３８に示すミュージックシフトＪＩＳテーブルＭＳＪＴ内のトラック番号ＴＮＯに対応するビットに第１の論理値を設定する。
ステップＳＴ２２５：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｎ」のトラックデータのトラックネームＴＮ内に、文字コートとしてＡＳＣＩＩが含まれているか否かを判断し、含まれていると判断するとステップＳＴ２２６に進み、そうでない場合にはステップＳＴ２２８に進む。
ステップＳＴ２２６：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｎ」のトラックデータのトラックネームＴＮを、ネームバッファテーブルＮＢＴ内の空スロットに書き込む。
また、システムコントローラ１０８は、上記書き込んだ空スロットのトラック番号ＴＮＯを、ネームバッファインデックステーブルＮＢＩＴ内のトラック番号ＴＮＯが「ｎ」に対応した領域に書き込む。
【００９４】
ステップＳＴ２２７：
システムコントローラ１０８は、トラックネームランクテーブルＴＮＲＴの配列データｒａｎｋ＿ｔａｂｌｅ［ｔｏｐ］に変数ｎの値を代入する。
また、システムコントローラ１０８は、変数ｔｏｐを１インクリメントする。
ステップＳＴ２２８：
システムコントローラ１０８は、トラックネームランクテーブルＴＮＲＴの配列データｒａｎｋ＿ｔａｂｌｅ［ｅｎｄ］に変数ｎの値を代入する。
また、システムコントローラ１０８は、変数ｅｎｄを１デクリメントする。
ステップＳＴ２２９：
システムコントローラ１０８は、変数ｎを１インクリメントする。
ステップＳＴ２３０：
システムコントローラ１０８は、変数ｎの値が変数ｔｏｔａｌの値以下であるか否かを判断し、以下であると判断した場合にはステップＳＴ２２３に戻り、そうでない場合には図４１に示すステップＳＴ２３１に進む。
【００９５】
ステップＳＴ２３１：
システムコントローラ１０８は、変数ｎに「（ｔｏｔａｌ−ｅｎｄ）／２」を代入する。
システムコントローラ１０８は、変数ｔｏｐに、「ｅｎｄ＋１」を代入する。
システムコントローラ１０８は、変数ｅｎｄに、変数ｔｏｔａｌの値を代入する。
ステップＳＴ２３２：
システムコントローラ１０８は、トラックネームランクテーブルＴＮＲＴにおいて配列データｒａｎｋ＿ｔａｂｌｅ［ｔｏｐ］と配列データｒａｎｋ＿ｔａｂｌｅ［ｅｎｄ］とを入れ換える（スワップする）。
ステップＳＴ２３３：
システムコントローラ１０８は、変数ｎを１だけデクリメントする。
ステップＳＴ２３４：
システムコントローラ１０８は、変数ｎの値が「０」より大きいか否かを判断し、大きいと判断するとステップＳＴ２３２に戻り、そうでない場合には処理を終了する。
【００９６】
図４０に示すステップＳＴ２２１〜ＳＴ２３０による処理ＰＲ３１は、例えば、図４２に示すように、トラック番号テーブルＴＮＯＴを基に、トラックネームＴＮが存在するトラックデータのトラック番号ＴＮＯをトラックネームランクテーブルＴＮＲＴの配列番号が小さい位置から順に割り当て、トラックネームＴＮが存在しないトラックデータのトラック番号ＴＮＯを配列番号が大きい位置から順に割り当てる処理である。
また、処理ＰＲ３１は、図４２に示すように、ミュージックシフトＪＩＳテーブルＭＳＪＴ内の各ビットを設定する処理である。
また、処理ＰＲ３１は、図４３に示すように、ネームバッファテーブルＮＢＴおよびネームバッファインデックステーブルＮＢＩＴを設定する処理である。
ここで、処理ＰＲ３１の終了後は、トラックネームＴＮが存在しないトラックデータは、トラック番号ＴＮＯが降順（大きいものから順）に並べられている。
図４１に示すステップＳＴ２３１〜ＳＴ２３４による処理ＰＲ３２は、例えば、図４４に示すように、トラックネームランクテーブルＴＮＲＴの配列番号の大きい側に割り当てられたトラックネームＴＮが存在しないトラックデータを、トラック番号ＴＮＯが昇順（小さいものから順）になるように並べ替える。
【００９７】
システムコントローラ１０８は、図３９に示すステップＳＴ２０４のソート処理を、例えば、図２４、図２５および図２６を用いて第１実施形態で説明した処理と同様の処理で行う。
この場合に、システムコントローラ１０８は、当該ソート処理におけるトラックネームＴＮの比較処理を、例えば、図４５〜図４７に示すように行う。
当該比較処理は、例えば、図２４に示すステップＳＴ７３、図２６に示すステップＳＴ９１と同様に行われる。
以下、トラック番号ＴＮＯが「ｉ」のトラックデータとトラック番号ＴＮＯが「ｊ」のトラックデータとでのトラックネームＴＮの比較処理を行う場合を例示する。
図４５〜４７は、当該処理を説明するためのフローチャートである。
ステップＳＴ２５１：
システムコントローラ１０８は、比較文字位置を示すカウンタ変数ｘに初期値「０」を設定する。
ステップＳＴ２５２：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｉ」のトラックデータに対応したトラックネームＴＮ内に文字コートとしてＭｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳが含まれているか否かを判断し、含まれていると判断するとステップＳＴ２５３に進み、そうでない場合にはステップＳＴ２５５に進む。
【００９８】
ステップＳＴ２５３：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｉ」のトラックデータのＭｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳのトラックネームＴＮの先頭からｘ文字目を、変数ｃｃ１に格納する。
ステップＳＴ２５４：
システムコントローラ１０８は、ＲＯＭ１１０あるいはＲＡＭ１１１に記憶されている比較値変換テーブルＴＲＡＮを基に、変数ｃｃ１に格納した文字を比較値に変換し、これを変数ｃｃ１に格納する。比較値変換テーブルＴＲＡＮとしては、Ｍｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳに関する図２８を用いて説明したものが用いられる。
【００９９】
ステップＳＴ２５５：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｉ」のトラックデータのＡＳＣＩＩのトラックネームＴＮの先頭からｘ文字目を、変数ｃｃ１に格納する。
ステップＳＴ２５６：
システムコントローラ１０８は、ＲＯＭ１１０あるいはＲＡＭ１１１に記憶されている比較値変換テーブルＴＲＡＮを基に、変数ｃｃ１に格納した文字を比較値に変換し、これを変数ｃｃ１に格納する。比較値変換テーブルＴＲＡＮとしては、ＡＳＣＩＩに関する図２８を用いて説明したものが用いられる。
【０１００】
ステップＳＴ２５７：
システムコントローラ１０８は、ミュージックシフトＪＩＳテーブルＭＳＪＴを基に、トラック番号ＴＮＯが「ｊ」のトラックデータのＡＳＣＩＩのトラックネームＴＮの文字コードがＭｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳであるか否かを判断し、Ｍｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳであると判断するとステップＳＴ２５８に進み、そうでない場合にはステップＳＴ２６０に進む。
ステップＳＴ２５８：
ステップＳＴ２５５：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮの先頭からｘ文字目を、変数ｃｃ２に格納する。
ステップＳＴ２５９：
システムコントローラ１０８は、ＲＯＭ１１０あるいはＲＡＭ１１１に記憶されているＭｕｓｉｃ  Ｓｈｉｆｔ  ＪＩＳの比較値変換テーブルＴＲＡＮを基に、変数ｃｃ２に格納した文字を比較値に変換し、これを変数ｃｃ２に格納する。
【０１０１】
ステップＳＴ２６０：
システムコントローラ１０８は、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮの先頭からｘ文字目を、変数ｃｃ２に格納する。
ステップＳＴ２６１：
システムコントローラ１０８は、ＲＯＭ１１０あるいはＲＡＭ１１１に記憶されているＡＳＣＩＩの比較値変換テーブルＴＲＡＮを基に、変数ｃｃ２に格納した文字を比較値に変換し、これを変数ｃｃ２に格納する。
【０１０２】
ステップＳＴ２６２：
システムコントローラ１０８は、変数ｃｃ１に格納された比較値と、変数ｃｃ２に格納された比較値とを比較し、変数ｃｃ２に格納した比較値が大きい場合に、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
一方、システムコントローラ１０８は、上記比較において変数ｃｃ２に格納した比較値の方が大きくないと判断するとステップＳＴ２６３に進む。
ステップＳＴ２６３：
システムコントローラ１０８は、変数ｃｃ１に格納された比較値と、変数ｃｃ２に格納された比較値とを比較し、変数ｃｃ２に格納した比較値が小さい場合に、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
一方、システムコントローラ１０８は、上記比較において変数ｃｃ２に格納した比較値の方が小さくないと判断するとステップＳＴ２６４に進む。
【０１０３】
ステップＳＴ２６４：
システムコントローラ１０８は、変数ｘを「１」だけインクリメントする。
ステップＳＴ２６５：
システムコントローラ１０８は、変数ｘが示す文字数が最大文字数以下であるか否かを判断し、最大文字数以下であると判断するとステップＳＴ２５２に戻り、そうでない場合にはステップＳＴ２６６に進む。
ステップＳＴ２６６：
システムコントローラ１０８は、変数ｉの値が変数ｊの値より小さいか否かを判断し、小さいと判断すると、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
一方、システムコントローラ８は、上記判断で上記小さくないと判断すると、トラック番号ＴＮＯが「ｊ」のトラックデータのトラックネームＴＮを、トラック番号ＴＮＯが「ｉ」のトラックデータのトラックネームＴＮに比べて昇側にソートする。
【０１０４】
また、図３９に示すステップＳＴ２０６においても、ステップＳＴ２０４と同様の手法でソート処理が行われる。
【０１０５】
記録再生装置１０１によっても第１実施形態の記録再生装置１と同様の効果が得られる。
【０１０６】
本発明は上述した実施形態には限定されない。
上述した実施形態では、本発明の主データとしてオーディオデータを例示したが、静止画あるいは動画などのイメージデータや、プログラムデータであってもよい。
【産業上の利用可能性】
【０１０７】
本発明は、ソートを行うシステムに適用可能である。
【図面の簡単な説明】
【０１０８】
【図１】図１は、本発明の第１実施形態に係わる記録再生装置の全体構成図である。
【図２】図２は、図１に示す記録媒体ＤＩＳＫに記憶されるトラックデータを説明するための図である。
【図３】図３は、図１に示す記録再生装置の選曲処理を説明するための図である。
【図４】図４は、図１に示す記録再生装置の検索処理を説明するための図である。
【図５】図５は、図１に示すＲＡＭに記憶されるデータを説明するための図である。
【図６】図６は、図５に示すトラックネームランクテーブルＴＮＲＴ、アーティストネームリストテーブルＡＲＮＬＴ、並びにアーティストネームランクテーブルＡＲＮＲＴを説明するための図である。
【図７】図７は、図５に示すアルバムネームリストテーブルＡＬＮＬＴ、アルバムネームランクテーブルＡＬＮＲＴ、並びにグループネームランクテーブルＧＮＲＴを説明するための図である。
【図８】図８は、図５に示すアーティストネームインデックステーブルＡＲＮＩＴと、アルバムネームインデックステーブルＡＬＮＩＴを説明するための図である。
【図９】図９は、図１に示すシステムコントロールによる図５に示す各種テーブルの生成処理を説明するためのフローチャートである。
【図１０】図１０は、図１に示すシステムコントロールによる図５に示す各種テーブルの生成処理を説明するための図９の続きのフローチャートである。
【図１１】図１１は、図９に示すステップＳＴ１３の処理を説明するためのフローチャートである。
【図１２】図１２は、図１１に示す処理ＰＲ１を説明するための図である。
【図１３】図１３は、図１１に示す処理ＰＲ２を説明するための図である。
【図１４】図１４は、図１０に示すステップＳＴ２３の処理を説明するためのフローチャートである。
【図１５】図１５は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図１６】図１６は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図１７】図１７は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図１８】図１８は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図１９】図１９は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図２０】図２０は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図２１】図２１は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図２２】図２２は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図２３】図２３は、図９に示すステップＳＴ１４のソート処理を説明するための図である。
【図２４】図２４は、図９に示すステップＳＴ１４のソート処理を説明するためのフローチャートである。
【図２５】図２５は、図９に示すステップＳＴ１４のソート処理を説明するための図２４の続きのフローチャートである。
【図２６】図２６は、図９に示すステップＳＴ１４のソート処理を説明するための図２５の続きのフローチャートである。
【図２７】図２７は、図９に示すステップＳＴ１４のソート処理を説明するための図２６の続きのフローチャートである。
【図２８】図２８は、図９に示すステップＳＴ１４のソート処理で用いられる比較値変換テーブルＴＲＡＮを説明するための図である。
【図２９】図２９は、図１０に示すステップＳＴ２３の処理を説明するためのフローチャートである。
【図３０】図３０は、図２９に示す処理ＰＲ３を説明するための図である。
【図３１】図３１は、図２９に示す処理ＰＲ４を説明するための図である。
【図３２】図３２は、図１に示す記録再生装置による各種テーブルを利用した表示（出力）処理にいて説明するためのフローチャートである。
【図３３】図３３は、本発明の第２実施形態に係わる記録再生装置の全体構成図である。
【図３４】図３４は、図３３に示す記録媒体ＤＩＳＫに記憶されるトラックデータを説明するための図である。
【図３５】図３５は、図３３に示すＲＡＭに記憶されるデータを説明するための図である。
【図３６】図３６は、図３５に示すトラックネームランクテーブルＴＮＲＴ、並びにグループネームランクテーブルＧＮＲＴを説明するための図である。
【図３７】図３７は、図３５に示すネームバッファインデックステーブルＮＢＩＴおよびネームバッファテーブルＮＢＴを説明するための図である。
【図３８】図３８は、図３５に示すミュージックシフトＪＩＳテーブルＭＳＪＴを説明するための図である。
【図３９】図３９は、図３３に示すシステムコントロールによる図３５に示す各種テーブルの生成処理を説明するためのフローチャートである。
【図４０】図４０は、図３９に示すステップＳＴ２０３の処理を説明するためのフローチャートである。
【図４１】図４１は、図３９に示すステップＳＴ２０３の処理を説明するための図４０の続きのフローチャートである。
【図４２】図４２は、図４０に示す処理ＰＲ３１を説明するための図である。
【図４３】図４３は、図４０に示す処理ＰＲ３１を説明するための図である。
【図４４】図４４は、図４１に示す処理ＰＲ３２を説明するための図である。
【図４５】図４５は、図３９に示すソート処理（ステップＳＴ２０４）を説明するためのフローチャートである。
【図４６】図４６は、図３９に示すソート処理（ステップＳＴ２０４）を説明するための図４５の続きのフローチャートである。
【図４７】図４７は、図３９に示すソート処理（ステップＳＴ２０４）を説明するための図４６の続きのフローチャートである。
【符号の説明】
【０１０９】
１、１０１…記録再生装置、２、１０２…ストレージ部、３…キャッシュメモリ、４…インタフェース、５…入出力処理部、６…表示部、７…操作部、８、１０８…システムコントローラ、１０、１１０…ＲＯＭ、１１、１１１…ＲＡＭ、２０…パーソナルコンピュータ
【図１】
2006146331.tif 000003
【図２】
2006146331.tif 000004
【図３】
2006146331.tif 000005
【図４】
2006146331.tif 000006
【図５】
2006146331.tif 000007
【図６】
2006146331.tif 000008
【図７】
2006146331.tif 000009
【図８】
2006146331.tif 000010
【図９】
2006146331.tif 000011
【図１０】
2006146331.tif 000012
【図１１】
2006146331.tif 000013
【図１２】
2006146331.tif 000014
【図１３】
2006146331.tif 000015
【図１４】
2006146331.tif 000016
【図１５】
2006146331.tif 000017
【図１６】
2006146331.tif 000018
【図１７】
2006146331.tif 000019
【図１８】
2006146331.tif 000020
【図１９】
2006146331.tif 000021
【図２０】
2006146331.tif 000022
【図２１】
2006146331.tif 000023
【図２２】
2006146331.tif 000024
【図２３】
2006146331.tif 000025
【図２４】
2006146331.tif 000026
【図２５】
2006146331.tif 000027
【図２６】
2006146331.tif 000028
【図２７】
2006146331.tif 000029
【図２８】
2006146331.tif 000030
【図２９】
2006146331.tif 000031
【図３０】
2006146331.tif 000032
【図３１】
2006146331.tif 000033
【図３２】
2006146331.tif 000034
【図３３】
2006146331.tif 000035
【図３４】
2006146331.tif 000036
【図３５】
2006146331.tif 000037
【図３６】
2006146331.tif 000038
【図３７】
2006146331.tif 000039
【図３８】
2006146331.tif 000040
【図３９】
2006146331.tif 000041
【図４０】
2006146331.tif 000042
【図４１】
2006146331.tif 000043
【図４２】
2006146331.tif 000044
【図４３】
2006146331.tif 000045
【図４４】
2006146331.tif 000046
【図４５】
2006146331.tif 000047
【図４６】
2006146331.tif 000048
【図４７】
2006146331.tif 000049