(57)【要約】【課題】新しい非再帰的乱数発生手段を提供し、大幅に処理時間を短縮して多数のアイテムを簡単に扱えるようにする。【解決手段】アイテムリストから未選択アイテムの番号１〜Ｍの範囲にある数Ｘを乱数化し、アイテムリストを走査してＸ位置の未選択アイテムを見出し、Ｘ位置の未選択アイテムを出力する。【選択図】図２
2005346713.tif 000002
【特許請求の範囲】
【請求項１】
アイテムリストから未選択アイテムの番号１〜Ｍの範囲にある数Ｘを乱数化するステップと、
アイテムリストを走査してＸ位置の未選択アイテムを見出すステップと、
Ｘ位置の未選択アイテムを出力するステップとを有する
ことを特徴とするアイテムリストからアイテムを選択するための乱数発生方法。
【請求項２】
アイテムリストを走査してＸ位置の未選択アイテムを見出すステップにおいて、
アイテムリストを複数のセグメントへ分割し、
セグメントｎにおける未選択アイテムの数を表すセグメントカウンタ値Ｃｎを定義し、
乱数Ｘおよびカウンタ値Ｃｎを用いて目標セグメントＳおよび目標セグメント内の目標アイテムＹを求め、
目標セグメントＳを走査してＹ位置の未選択アイテムを見出す、
請求項１記載の方法。
【請求項３】
アイテムリストを複数のセグメントへ分割するステップと、
セグメントｎにおける未選択アイテムの数を表すセグメントカウンタ値Ｃｎを定義するステップと、
少なくとも１つの未選択アイテムを含むセグメントの番号１〜Ｑまでの範囲の第１の数Ｚを乱数化することにより目標セグメントＳを求めるステップと、
求められた目標セグメントにおいて、当該のセグメントのカウンタ値１〜Ｃｎまでの範囲の第２の数Ｙを乱数化することにより目標アイテムＹを求めるステップと、
目標セグメントＳを走査してＹ位置の未選択アイテムを見出すステップとを有する、
ことを特徴とするアイテムリストからアイテムを選択するための乱数発生方法。
【請求項４】
さらに、アイテムリストからアイテムに関連する少なくとも１つの選択基準に基づいてアイテムのサブリストを形成するステップと、
アイテムのサブリストに対してのみ乱数を発生するステップとを有する、
請求項１から３までのいずれか１項記載の方法。
【請求項５】
メタデータを選択基準として用いる、請求項４記載の方法。
【請求項６】
アイテムはマルチメディアファイルである、請求項１から５までのいずれか１項記載の方法。
【請求項７】
選択基準は、専用フォルダまたは選択されたフォルダまたはユーザの指定したプログラムリストにマルチメディアファイルが入っていることである、請求項４記載の方法。
【請求項８】
請求項１から７までのいずれか１項記載の乱数発生方法を実行し、非再帰的な番号のシーケンスを発生してマルチメディアファイルをランダム再生する
ことを特徴とするマルチメディアファイルの再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アイテムリストからアイテムを選択するための乱数発生方法およびマルチメディアファイルの再生装置に関する。本発明は特に記録媒体の読み出し／書き込み装置に基づいている。
【背景技術】
【０００２】
ＣＤなどの光学記録媒体に記録されたオーディオトラックのランダム再生には乱数発生器が使用されている。ただしユーザはふつうは真のランダム順序でトラックを聴取したいわけではない。なぜならその場合には幾つかのトラックが反復されてしまうからである。全てのトラックがいちどずつランダムに再生されるほうが良い。したがって一般には非再帰的乱数発生器が使用される。
【０００３】
シンプルな非再帰的乱数発生器は次のように構成されている。すなわち、第１のステップで、スタートトラックからエンドトラックまでの範囲にある番号Ｘが乱数化される。第２のステップで番号Ｘがすでに発生されたか否かが検査される。発生されていなかった場合には、番号Ｘが再生に用いられる。発生されていた場合には、新たなＸが得られるまで次々に番号が乱数化される。
【０００４】
上述の乱数発生器には幾つかの欠点が存在する。例えば、小さなデータセット（典型的には１００個以下のアイテム）に対しては良好に機能するが、データサイズが大きくなると著しくパフォーマンスが低下することが挙げられる。これは、多数のアイテムを再生する場合、以前に発生されていない番号が得られるまでに多くの番号を乱数化しなければならないからである。また上述の乱数発生器ではパフォーマンスが偶発的で予測不能であることも不都合である。
【０００５】
これら２つの重大な欠点のため、前述の従来のシンプルな非再帰的乱数発生器は多数のアイテムを乱数化しなければならない場合には受け入れがたい。また処理時間の短縮が要求される分野ではその適用が大幅に阻害されてしまう。こうした問題は例えば圧縮オーディオファイル（ＭＰ３ファイルなど）または圧縮静止画像（ＪＰＥＧファイルなど）の再生装置で生じる。いまや圧縮により多数のファイルを記憶媒体に記憶できるようになっており（例えば１枚のＣＤまたはメモリカードに数千枚の静止画像を記憶可能である）、ハードディスクではなおさらである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、新しい非再帰的乱数発生手段を提供し、大幅に処理時間を短縮して多数のアイテムを簡単に扱えるようにすることである。
【課題を解決するための手段】
【０００７】
この課題は、アイテムリストから未選択アイテムの番号１〜Ｍの範囲にある数Ｘを乱数化し、アイテムリストを走査してＸ位置の未選択アイテムを見出し、Ｘ位置の未選択アイテムを出力することにより解決される。
【０００８】
課題はまた、アイテムリストを複数のセグメントへ分割し、セグメントｎにおける未選択アイテムの数を表すセグメントカウンタ値Ｃｎを定義し、少なくとも１つの未選択アイテムを含むセグメントの番号１〜Ｑまでの範囲の第１の数Ｚを乱数化することにより目標セグメントＳを求め、求められた目標セグメントにおいて、当該のセグメントのカウンタ値１〜Ｃｎまでの範囲の第２の数Ｙを乱数化することにより目標アイテムＹを求め、目標セグメントＳを走査してＹ位置の未選択アイテムを見出すことにより解決される。
【発明を実施するための最良の形態】
【０００９】
本発明の第１の方法では、未選択アイテムを反復して乱数化および探索する必要がなく、パフォーマンスを予測できる。本発明の第１の方法は従来技術の方法に比べて格段に迅速であるが、アイテムリストが厖大になると幾分パフォーマンスが劣化する。このパフォーマンスの劣化は未選択アイテムを見出すためにいちいちリストを走査することに由来している。
【００１０】
したがって、上述の第１の方法を少し修正し、アイテムリストを走査してＸ位置の未選択アイテムを見出すステップにおいて、アイテムリストを複数のセグメントへ分割し、セグメントｎにおける未選択アイテムの数を表すセグメントカウンタ値Ｃｎを定義し、乱数Ｘおよびカウンタ値Ｃｎを用いて目標セグメントＳおよびこのセグメント内の目標アイテムＹを求め、目標セグメントＳを走査してＹ位置の未選択アイテムを見出すようにすると有利である。
【００１１】
これは非再帰的な乱数を発生するのに効率の良い手段である。速度を最適化する鍵となるのは、リストのセグメント分割と各セグメントへのカウンタ値の割り当てとの２つである。このようにすれば未選択アイテムの探索が目標アイテムの近傍で開始され、探索時間が低減される。さらにこの方法ではアイテムリストのサイズがどれほど大きくてもパフォーマンスは劣化しない。
【００１２】
本発明の第２の方法によれば、リストのうち１つのセグメントのみを走査するだけで良く、未選択アイテムのＸ位置を探索するのにかかる時間がリスト全体を走査する場合に比べて格段に低減される。
【００１３】
有利には、本発明の方法はさらに、アイテムリストからアイテムに関連する少なくとも１つの選択基準に基づいてアイテムのサブリストを形成するステップと、アイテムのサブリストに対してのみ乱数を発生するステップとを含む。
【００１４】
この手段には、特定のタイプのアイテムのみが選択されるようにユーザ設定を行えるという利点がある。例えば、或るユーザが、所定の期間にわたって編集されたリストのうち、特定の日付よりも後から（またはそれ以前に）加えられたアイテムのみを選択したいとする。どのアイテムが選択基準に相応するかはアイテムに関連するメタデータを用いて求められる。アイテムがマルチメディアファイルである場合、選択基準はファイルタイプ、すなわちオーディオファイル、画像ファイル、ビデオファイルまたはテキストファイルなどの区別である。また、専用フォルダまたは選択されたフォルダにマルチメディアファイルが入れられていることを選択基準としても良い。つまりこのときには特定のフォルダ内に格納されたファイルのみが選択される。構成に応じて特定のサブフォルダ内のファイルを選択することとしてもよい。同様にマルチメディアファイルをユーザの指定したプログラムリストへ入れることによってサブリストを形成し、ユーザの選択した範囲内でランダム再生を行うこともできる。
【００１５】
有利には、本発明の非再帰的な乱数発生方法は、記録媒体の読み出し／書き込み装置におけるマルチメディアファイル（ＭＰ３ファイルまたはＪＰＥＧファイル）のランダム再生に用いられる。マルチメディアファイルは例えばリムーバブル記録媒体、例えばメモリカードまたは光ディスク、または機器の内部メモリ、例えばＲＡＭまたはハードディスクドライブに記憶される。本発明の方法を拡張してメモリなしの機器に適用することもできる。その場合には選択されたマルチメディアファイルは乱数発生によるファイルの決定後にサーバから要求される。全てのタイプの機器において、次のマルチメディアファイルをランダムに決定するのにかかる時間は無視できる程度に短くなる。そうでなければ機器のユーザは満足しないであろう。
【実施例】
【００１６】
本発明をより良く理解してもらうために、以下に図に則して本発明の実施例を詳細に説明する。ただし本発明はこれらの実施例のみに限定されるものではなく、種々の特徴は単独であるいは任意に組み合わせて、また当該の分野の技術者により本発明の範囲内で修正されても、本発明の対象となりうる。
【００１７】
以下の説明には記録媒体のトラック再生の実施例を用いるが、本発明の適用はこれに限定されるものではない。本発明の方法はアイテムリストから反復なしにアイテムをランダムに選択するあらゆるケースに適用可能である。
【００１８】
図１のａ）には従来技術による非再帰的な乱数発生方法が示されている。ステップ１で数Ｘが乱数化される。数Ｘはスタートトラックの番号１からエンドトラックの番号Ｎまでの範囲にある。次にステップ２で、数Ｘが既に発生されているか否か、つまりトラックＸは既に選択されているか否かが検査される。まだ選択されていない場合には、ステップ３でトラックＸが再生される。既に選択されている場合にはステップ１に戻り、選択されていない数が得られるまで新たな数が乱数化される。
【００１９】
図１のｂ）には従来技術による非再帰的な乱数発生方法のトラックテーブルが示されている。第１列には利用可能なトラックｔｒａｃｋ１〜ｔｒａｃｋＮが挙げられている。既に選択済みのトラックはイタリック体で示されている。第２列には各トラックを選択する場合に発生すべき乱数が挙げられている。このテーブルからわかるように、幾つかの乱数は既に再生済みのトラックに対応している。これらが選択されると新たな乱数を取得しなければならなくなる。未選択の乱数が発生される確率は残りのトラック数が低下するにつれて低下する。
【００２０】
図２のａ）には本発明による非再帰的な乱数発生方法が示されている。従来技術と同様に、ステップ１で数Ｘが乱数化される。ただしこの場合、数Ｘはトラックリストの未選択トラックの番号１〜Ｍまでの範囲にある。乱数Ｘが発生されると、ステップ４でトラックリストが走査され、目標トラックＸ、すなわちＸ位置の未選択トラックが見出される。見出されたトラックはステップ３で再生される。
【００２１】
図２のｂ）からわかるように、ここでは全ての乱数Ｘが未選択トラックに対応している。したがって付加的な乱数を発生する必要がない。その代わり、トラックが見出されるたびに対応する乱数の範囲１〜Ｍが１ずつ低減される。
【００２２】
図３のａ）には本発明の非再帰的な乱数発生方法の速度をさらに最適化する第１の手段が示されている。ここではトラックリストがセグメント１〜Ｐへ分割されており、そのことが図３のｂ）のテーブルの第３列Ｓに表されている。この実施例では各セグメントは４つのトラックを含む。もちろんセグメントは任意の数のトラックを含んでいてよいし、全てのセグメントが必ずしも同数のトラックを含まなくてもよい。テーブルの第４列Ｃｎに示されているように、各セグメントは、セグメント内の未選択トラックの数を表すカウンタ値Ｃｎに関連づけられている。
【００２３】
前述の実施例と同様に、ステップ１で、トラックリストの未選択トラックの番号１〜Ｍの範囲の数Ｘが乱数化される。乱数Ｘに基づいて目標セグメントＳおよびそのなかの目標トラックＹがステップ５で求められる。このことはテーブルの第５列に示されている。これは例えば
【００２４】
【数１】
2005346713.tif 000003
を計算し、和がＸを超えるカウンタ値ｍを求めることによって得られる。目標セグメントはセグメントｍである。目標セグメントＳの目標アイテムＹは、この場合
【００２５】
【数２】
2005346713.tif 000004
である。次にステップ６で目標セグメントＳが走査され、Ｙ位置の未選択トラックが見出される。こうしてステップ３で再生が行われる。ステップ６ではトラックリスト全体でなく１つのセグメントのみを走査すればよいので、Ｙ位置の未選択トラックを見出すまでにかかる時間は著しく低減される。
【００２６】
未選択トラックの番号１〜Ｍまでの範囲の数Ｘを乱数化し、相応の目標セグメントＳおよび目標トラックＹを求めることに代えて、図４に示されているように、まず少なくとも１つの未選択トラックを含むセグメント、すなわちカウンタ値Ｃｎ＞０のセグメントの番号１〜Ｑまでの範囲の第１の数Ｚを乱数化し、そののち選択されたセグメントのカウンタ値１〜Ｃｎまでの範囲の第２の数Ｙを乱数化することもできる。これにより目標トラックの番号Ｙが取得される。この場合もトラックを見出すために１つのセグメントを走査するだけで済む。
【００２７】
図５にはトラックのサブリストを形成する様子が示されている。図５左方のトラックテーブルの第２列ｓｅｌは各トラックが所定の選択基準を満足するか否かを表している。選択基準を満たすトラックは図５右方の選択テーブルへ参照され、非再帰的な乱数発生の基礎となる。選択基準は例えば‘ユーザ１によって記憶されたトラック’または‘少なくとも１月にわたって再生されていないトラック’などである。特にトラックがハードディスクまたはメモリカードに記憶されたデータファイルである場合、複数のメタデータアイテムを選択基準として利用可能である。またトラックがフォルダに格納されている場合には、選択基準は‘フォルダＸＹＺに入っているトラック’などであってもよい。つまりこのときには特定のフォルダ内のトラックのみが選択される。構成によっては特定のサブフォルダ内のトラックを選択することとしてもよい。同様にユーザの指定した再生プログラムをサブリストとして使用することもできる。
【図面の簡単な説明】
【００２８】
【図１】従来技術の非再帰的な乱数発生方法を示す図である。
【図２】本発明の非再帰的な乱数発生方法を示す図である。
【図３】本発明の非再帰的な乱数発生方法において速度を最適化する第１の手段を示す図である。
【図４】本発明の非再帰的な乱数発生方法において速度を最適化する第２の手段を示す図である。
【図５】選択可能アイテムのサブリストを形成する様子を示す図である。
【図１】
2005346713.tif 000005
【図２】
2005346713.tif 000006
【図３】
2005346713.tif 000007
【図４】
2005346713.tif 000008
【図５】
2005346713.tif 000009