(57)【要約】【課題】複数のコンテンツからコンテンツを選択するときに使用するメモリ容量を少なくできるコンテンツ選択装置を提供する。【解決手段】  コンテンツ選択装置１０は、メモリ１と数値選択部２と算出部３とを備える。メモリ１は２つの数列ＳＥＱ１、ＳＥＱ２を記憶する。数値選択部２は数列ＳＥＱ１内の複数の数値から数値ＴＥＲＭ１を、数列ＳＥＱ２内の複数の数値から数値ＴＥＲＭ２をそれぞれ選択する。算出部３は数値選択部２が選択したＴＥＲＭ１及びＴＥＲＭ２に基づいて曲番号ＣＩＤを算出する。【選択図】図１
2005092937.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンテンツ番号に対応した複数のコンテンツの中から再生すべきコンテンツを選択するコンテンツ選択装置であって、
複数の数列を記憶する記憶手段と、
前記数列の各々から数値を選択する数値選択手段と、
前記複数のコンテンツの中から再生すべきコンテンツのコンテンツ番号を前記選択された数値に基づいて算出する算出手段とを備えることを特徴とするコンテンツ選択装置。
【請求項２】
請求項１に記載のコンテンツ選択装置であって、
前記数値選択手段は、前記数列の各々から数値をランダムに選択することを特徴とするコンテンツ選択装置。
【請求項３】
請求項２に記載のコンテンツ選択装置であって、
前記数値選択手段は、
前記数列の各々において、複数の項を選択して前記複数の項の数値を互いに入れ替える入替手段を含み、
前記数列の各々において、前記入替手段による項の選択及び数値の入れ替えを１回又は複数回実行した後、前記数列の各々から数値を選択することを特徴とするコンテンツ選択装置。
【請求項４】
請求項１〜請求項３のいずれか１項に記載のコンテンツ選択装置であって、
前記算出手段は、前記選択された数値の各々に係数を乗じた値に基づいて前記コンテンツ番号を算出することを特徴とするコンテンツ選択装置。
【請求項５】
請求項１〜請求項４のいずれか１項に記載のコンテンツ選択装置であって、
前記数列の各々が有する項数の積は前記コンテンツ数よりも大きく、
前記数値選択手段は、前記数列の各々から選択された数値の組合せを全て選択することを特徴とするコンテンツ選択装置。
【請求項６】
請求項１〜請求項４のいずれか１項に記載のコンテンツ選択装置であって、
前記複数の数列は第１の数列と第２の数列とで構成され、
前記第１の数列の項数ＴＮ１は前記第２の数列の項数ＴＮ２と異なり、
前記数値選択手段は第Ｎ回目の選択で前記第１の数列内の第Ｐ１項の数値と前記第２の数列内の第Ｐ２項の数値とを選択し、
前記Ｐ１は式（１）の剰余値であり、前記Ｐ２は式（２）の剰余値であることを特徴とするコンテンツ選択装置。
（α×Ｎ−α＋１）／ＴＮ１  （１）
（β×Ｎ−β＋１）／ＴＮ２  （２）
ただし、前記式（１）の剰余値が０のときは、Ｐ１＝ＴＮ１とし、前記式（２）の剰余値が０のときはＰ２＝ＴＮ２とする。また、α、β、Ｎはともに自然数であり、α≠１のとき、ＴＮ１はαの１以外の約数の倍数ではなく、β≠１のとき、ＴＮ２はβの１以外の約数の倍数ではない。
【請求項７】
複数のコンテンツ番号に対応した複数のコンテンツの中から再生すべきコンテンツの選択をコンピュータに実行させるためのコンテンツ選択プログラムであって、
記憶手段に複数の数列を記憶するステップと、
前記数列の各々から数値を選択するステップと、
前記複数のコンテンツの中から再生すべきコンテンツのコンテンツ番号を前記選択された数値に基づいて算出するステップとをコンピュータに実行させるためのコンテンツ選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ選択装置及びそのプログラムに関し、さらに詳しくは、コンテンツ再生装置が再生するコンテンツを、複数のコンテンツ番号に対応した複数のコンテンツの中から選択するコンテンツ選択装置及びそのプログラムに関する。
【背景技術】
【０００２】
音楽や映像といったコンテンツを再生する再生装置の中には、複数のコンテンツ番号に対応した複数のコンテンツの中から再生するコンテンツをランダムに選択するコンテンツ選択装置を備えたものがある。コンテンツ選択装置が再生するコンテンツをランダムに、かつ重複せずに選択する方法として代表的なものに以下の２つがある。
（１）あらかじめ選択するコンテンツ番号の順番を示したテーブルを乱数を用いて作成し、そのテーブルに基づいて再生するコンテンツを選択する。
（２）再生済みのコンテンツ番号を記憶しておき、乱数を用いて未再生のコンテンツ番号の中から再生するコンテンツ番号を選択する。
【０００３】
近年、コンピュータの発達により１０００以上のコンテンツを連続して再生可能なコンテンツ再生装置が登場している。たとえば、複数のコンテンツを蓄積したサーバにアクセスすることでコンテンツの再生が可能なＡＶクライアントは、数千から数万といった膨大な数のコンテンツを連続して再生できる。連続再生できるコンテンツ数が多い場合でも、それらのコンテンツをランダムに選択し、再生できる方が好ましい。
【０００４】
しかしながら、従来のコンテンツ選択装置では、コンテンツ数が多い程、コンテンツ番号の選択に使用されるメモリ容量は大きくなる。たとえば、１００００曲の音楽をランダムに選択するとき、上記（１）の方法では、選択時に使用するメモリ容量は２バイト整数×１００００曲＝２００００バイト必要である。
【０００５】
また、上記（２）の方法では、複数のコンテンツを重複せずに選択するためだけに１ビット×１００００＝１００００ビット＝１２５０バイトの容量が必要となる。
【０００６】
【特許文献１】特開平８−１２４３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、複数のコンテンツからコンテンツを選択するときに使用するメモリ容量を少なくできるコンテンツ選択装置を提供することである。
【０００８】
また、本発明の他の目的は、複数のコンテンツからランダムにコンテンツを選択するコンテンツ選択装置を提供することである。
【０００９】
また、本発明の他の目的は、複数のコンテンツから全てのコンテンツを重複せずに選択できるコンテンツ選択装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明によるコンテンツ選択装置は、複数のコンテンツ番号に対応した複数のコンテンツの中から再生すべきコンテンツを選択するコンテンツ選択装置であって、記憶手段と、数値選択手段と、算出手段とを備える。記憶手段は複数の数値を記憶する。数値選択手段は数列の各々から数値を選択する。算出手段は複数のコンテンツの中から再生すべきコンテンツのコンテンツ番号を選択された数値に基づいて算出する。
【００１１】
本発明の場合、複数の数列から選択された数値に基づいてコンテンツ番号を算出する。複数の数列からコンテンツ番号を算出することで、コンテンツの選択に使用するメモリ容量を小さくできる。たとえば、１００個のコンテンツから再生するコンテンツを選択する場合、従来の方法では、１００個×１バイト＝１００バイトのメモリ容量が必要であったが、本発明のコンテンツ選択装置では、たとえばそれぞれの項数が１０の２つの数列を用いれば、１０×１０＝１００個のコンテンツを特定できる。そのため、１バイト×２＝２バイトのメモリ容量で全てのコンテンツを選択できる。なお、数列を２よりも多くすれば、さらにメモリ容量を少なくできる。
【００１２】
好ましくは、前記数値選択手段は、数列の各々から数値をランダムに選択する。
【００１３】
この場合、数値選択手段は複数の数列の各々からランダムに数値を選択するため、ランダムに選択された数値に基づいて算出されたコンテンツ番号もランダムに算出される。その結果、再生するコンテンツをランダムに選択できる。
【００１４】
好ましくは、数値選択手段は、数列の各々において、複数の項を選択して複数の項の数値を互いに入れ替える入替手段を含み、数列の各々において、入替手段による項の選択及び数値の入れ替えを１回又は複数回実行した後、数列の各々から数値を選択する。
【００１５】
この場合、数値選択手段は、複数の数列の各々において、複数の項を選択してその項の数値を入れ替える。たとえば、数列ＳＥＱ１の項数が１０である場合、数値選択手段は数列ＳＥＱ１の初項と第５項とを選択し、初項の数値と第５項の数値とを入れ替える。なお、複数の項の選択に乱数を用いてもよい。このような数値の入替を数列ごとに１回または複数回行った後、各数列から数値を選択する。これにより、数値選択手段はランダムに数値を選択できる。なお、数値の入替を複数回行う程、数値選択手段はランダムに数値を選択できる。
【００１６】
好ましくは、算出手段は、選択された数値の各々に係数を乗じた値に基づいてコンテンツ番号を算出する。
【００１７】
この場合、算出手段は数値選択手段により選択された数値に係数を乗じる。そのため、選択された数値をそのまま用いてコンテンツ番号を算出する場合よりもランダムにコンテンツ番号を算出できる。なお、係数は変数であってもよい。さらに、選択された数値の桁ごとに変数を乗じても良い。たとえば、選択された数値が「１２」であった場合、「１２」に係数「５」を乗じた値に基づいてコンテンツ番号を算出してもよいし、「１２」の１桁目の数値である「２」に係数「３」を、「１２」の２桁目の数値である「１」に係数「２」をそれぞれ乗じた値に基づいてコンテンツ番号を算出してもよい。
【００１８】
好ましくは、数列の各々が有する項数の積はコンテンツ数よりも大きく、数値選択手段は、数列の各々から選択された数値の組合せを全て選択する。
【００１９】
この場合、数列の各々が有する項数の積、すなわち、数列の各々から選択された数値の全ての組合せ数がコンテンツ数よりも大きいため、数列の各々から選択された数値の組合せにより全てのコンテンツを特定できる。そのため、数値選択手段がその全ての組合せを選択すれば、全てのコンテンツを選択することができる。
【００２０】
好ましくは、複数の数列は第１の数列と第２の数列とで構成され、第１の数列の項数ＴＮ１は第２の数列の項数ＴＮ２と異なり、数値選択手段は第Ｎ回目の選択で第１の数列内の第Ｐ１項の数値と第２の数列内の第Ｐ２項の数値とを選択し、Ｐ１は式（１）の剰余値であり、Ｐ２は式（２）の剰余値である。
（α×Ｎ−α＋１）／ＴＮ１  （１）
（β×Ｎ−β＋１）／ＴＮ２  （２）
【００２１】
ただし、式（１）の剰余値が０のときは、Ｐ１＝ＴＮ１とし、式（２）の剰余値が０のときはＰ２＝ＴＮ２とする。また、α、β、Ｎはともに自然数であり、α≠１のとき、ＴＮ１はαの１以外の約数の倍数ではなく、β≠１のとき、ＴＮ２はβの１以外の約数の倍数ではない。
【００２２】
この場合、数値選択手段が式（１）、（２）に基づいて第１の数列の第Ｐ１項の数値と第２の数列の第Ｐ２項の数値とを選択するため、第１の数列の数値と第２の数列の数値との全ての組合せを重複せずに選択できる。このため、複数のコンテンツから再生するコンテンツを選択するとき、従来のようにコンテンツ番号を記録したテーブル等を利用する必要はなく、また、再生済みのコンテンツ番号を記憶する必要もない。式（１）、（２）に従えば、すべての数値の組合せを選択できるからである。よって、使用するメモリ容量を少なくできる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２４】
［全体構成］
図１を参照して、コンテンツ選択装置１０はオーディオクライアント２０に含まれる。オーディオクライアント２０はコンテンツ選択装置１０の他に再生部４を備える。
【００２５】
オーディオクライアント２０はネットワーク４０を介してサーバ３０に接続される。サーバ３０は記憶装置５を備える。記憶装置５は複数の曲番号ＣＩＤ（Contents Identification）に対応した複数の曲データを記憶する。
【００２６】
オーディオクライアント２０内の再生部４はコンテンツ選択装置１０が選択した曲番号ＣＩＤの曲データをサーバ３０内の記憶装置５から読み出して再生する。
【００２７】
コンテンツ選択装置１０はメモリ１と数値選択部２と算出部３とを備える。メモリ１は２つの数列ＳＥＱ１，ＳＥＱ２を記憶する。数列ＳＥＱ１はＴＮ１個の項を有し、各項の数値は０〜ＴＮ１−１のいずれかである。数列ＳＥＱ２はＴＮ２個の項を有し、各項の数値は０〜ＴＮ２−２及びＤＵＭ（Dummy）のいずれかである。ＤＵＭは０〜ＴＮ２−２以外の任意の数値である。たとえば、ＴＮ１＝１０、ＴＮ２＝１１の場合、数列ＳＥＱ１の有する数値は０〜９であり、数列ＳＥＱ２の有する数値は０〜９及びＤＵＭ＝２５（他の任意の数値でもよい）の１１個である。ＤＵＭは数値選択部２が数列ＳＥＱ１の数値と数列ＳＥＱ２の数値との組合せを全て選択するために必要となる。ＤＵＭについては後述する。メモリ１はさらに、サーバ３０内の記憶装置５に蓄積された曲データの総数ＴＣＮ（Total Contents Number）と、再生した曲データ数をカウントしたカウント値ＣＮ（Count Number）とを記憶する。全ての曲データを再生したか判断するためである。
【００２８】
数値選択部２は、各数列ＳＥＱ１，ＳＥＱ２からそれぞれ１つずつ数値を選択する。数値選択部２は入替部２１を含む。入替部２１は数列ＳＥＱ１内の複数の項の数値を互いに入れ替える。同様に、入替部２１は数列ＳＥＱ２内の複数の項の数値を互いに入れ替える。たとえば、数列ＳＥＱ１内の初項の数値が「１」であり、第５項の数値が「５」である場合、入替部２１は初項の数値を「５」とし、第５項の数値を「１」とする。このように、項の数値を入れ替えることで、コンテンツ選択装置１０はランダムに再生する曲データを選択できる。数値選択部２は入替部２１が数値を入れ替えた後、各数列ＳＥＱ１，ＳＥＱ２からそれぞれ数値を選択する。
【００２９】
算出部３は、数値選択部２により選択された２つの数値に基づいて再生する曲データの曲番号ＣＩＤを算出する。数列ＳＥＱ１から選択された数値をＴＥＲＭ１、数列ＳＥＱ２から選択された数値をＴＥＲＭ２とすると、算出部３はＴＥＲＭ１，ＴＥＲＭ２に係数を乗ずる。具体的には、算出部３は２進数のＴＥＲＭ１、ＴＥＲＭ２の各桁の数値に表１に示した各桁に対応した重み付け係数を乗じてＴＥＲＭ１０、ＴＥＲＭ２０を算出する。
【００３０】
【表１】
2005092937.tif 000003
【００３１】
２進数のＴＥＲＭ１のｎ桁目の数値をＴ１ｎ、ＴＥＲＭ２のｎ桁目の数値をＴ２ｎとすると、ＴＥＲＭ１０、ＴＥＲＭ２０は以下の式（３）、（４）で表される。
ＴＥＲＭ１０＝Ｔ１７×８１９２＋Ｔ１６×２０４８＋Ｔ１５×２５６＋Ｔ１４×１２８＋Ｔ１３×１６＋Ｔ１２×８＋Ｔ１１×１  （３）
ＴＥＲＭ２０＝Ｔ２７×４０９６＋Ｔ２６×１０２４＋Ｔ２５×５１２＋Ｔ２４×６４＋Ｔ２３×３２＋Ｔ２２×４＋Ｔ２１×２  （４）
【００３２】
算出部３はＴＥＲＭ１０及びＴＥＲＭ２０に基づいて曲番号ＣＩＤを以下の式（５）で算出する。
ＣＩＤ＝ＴＥＲＭ１０＋ＴＥＲＭ２０  （５）
【００３３】
たとえば、１０進数でＴＥＲＭ１＝５０、ＴＥＲＭ２＝５の場合、２進数では、ＴＥＲＭ１＝１１００１０である。よって、ＴＥＲＭ１０は式（３）より、次式（６）で算出される。
ＴＥＲＭ１０＝０×８１９２＋１×２０４８＋１×２５６＋０×１２８＋０×１６＋１×８＋０×１＝２３１２  （６）
一方、２進数のＴＥＲＭ２＝１０１であるから、ＴＥＲＭ２０は式（４）より、次式（７）で算出される。
ＴＥＲＭ２０＝０×４０９６＋０×１０２４＋０×５１２＋０×６４＋１×３２＋０×４＋１×２＝３４  （７）
よって、曲番号ＣＩＤは式（５）より、次式（８）で算出される。
ＣＩＤ＝ＴＥＲＭ１０＋ＴＥＲＭ２０＝２３１２＋３４＝２３４６  （８）
【００３４】
よって、曲番号ＣＩＤ＝２３４６となる。このように、重み付けを行うことによって、よりランダムに曲番号ＣＩＤを算出できる。なお、ＴＥＲＭ１とＴＥＲＭ２との組合せが異なれば、曲番号ＣＩＤは異なる値となる。つまり、ＴＥＲＭ１とＴＥＲＭ２との組合せが異なれば、算出部３が同じ曲番号ＣＩＤを算出しないように表１の重み付け係数は決定される。そのため、後述するように、コンテンツ選択装置１０はコンテンツを重複することなく選択できる。
【００３５】
図１ではオーディオクライアント２０とサーバ３０とを示したが、記憶装置５はオーディオクライアント２０内にあってもよく、その場合、オーディオクライアント２０はサーバ３０から独立してもよい。また、コンテンツ選択装置１０がオーディオクライアント２０から独立してもよい。
【００３６】
なお、コンピュータにコンテンツ選択プログラムをインストールすることで、そのコンピュータはコンテンツ選択装置１０として動作する。
【００３７】
また、本実施の形態では、コンテンツを曲データとしたが、映像データであってもよいし、他のコンテンツであってもよい。
【００３８】
［コンテンツ選択装置の動作］
コンテンツ選択装置１０は、数列ＳＥＱ１及びＳＥＱ２からそれぞれ１つの数値ＴＥＲＭ１、ＴＥＲＭ２を選択し、ＴＥＲＭ１、ＴＥＲＭ２に基づいて曲番号ＣＩＤを算出する。コンテンツ選択装置１０はこの動作を数列ＳＥＱ１内のＴＥＲＭ１と数列ＳＥＱ２内のＴＥＲＭ２とのすべての組合せについて行う。たとえば、ＳＥＱ１の項数ＴＮ１＝１０であり、ＳＥＱ２の項数ＴＮ２＝１１である場合、ＴＥＲＭ１とＴＥＲＭ２との組合せは１０×１１＝１１０通り存在する。このとき、コンテンツ選択装置１０は１１０通りの全ての組合せごとに曲番号ＣＩＤを算出する。以下、曲データ総数ＴＣＮ＝１００００の場合におけるコンテンツ選択装置１０の動作を説明する。
【００３９】
図２を参照して、コンテンツ選択装置１０は数列ＳＥＱ１の項数ＴＮ１及び数列ＳＥＱ２の項数ＴＮ２を決定する（Ｓ１）。ＴＮ１、ＴＮ２の決定方法の詳細を以下に示す。
【００４０】
図３を参照して、初めに、コンテンツ選択装置１０は第Ｎ回目に選択する曲データの曲番号ＣＩＤを算出するために必要な２つの数値ＴＥＲＭ１、ＴＥＲＭ２の選択方法について決定する。第Ｎ回目に数列ＳＥＱ１内の第Ｐ１項のＴＥＲＭ１を選択し、数列ＳＥＱ２内の第Ｐ２項のＴＥＲＭ２を選択する場合、コンテンツ選択装置１０は式（１）の剰余値をＰ１とし、式（２）の剰余値をＰ２とする。（Ｓ１００１）。
（αＮ−α＋１）／ＴＮ１  （１）
（βＮ−β＋１）／ＴＮ２  （２）
【００４１】
ここで、α、βは自然数である。ただし、式（１）の剰余値が０の場合、Ｐ１＝ＴＮ１とする。また、式（２）の剰余値が０のとき、Ｐ２＝ＴＮ２とする。
【００４２】
続いて、曲データ総数ＴＣＮ及び表１に示した重み付け係数に基づいて、項数ＴＮ１及びＴＮ２を決定する。このとき、項数ＴＮ１及びＴＮ２を以下の条件１〜条件６を満たすように決定する（Ｓ１００２）。
条件１：ＴＮ１×ＴＮ２≧ＴＣＮ
条件２：ＴＮ１は２のべき乗とする。
条件３：ＴＮ２＝ＴＮ１＋γ
条件４：α≠１のとき、ＴＮ１はαの約数（１を除く）の倍数でないこと
条件５：β≠１のとき、ＴＮ２はβの約数（１を除く）の倍数でないこと
条件６：｜ＴＮ２−ＴＮ１｜＝γが最小になること
【００４３】
ここで、γは自然数である。
【００４４】
条件１は項数の積、すなわち数列ＳＥＱ１から選択された数値と数列ＳＥＱ２から選択された数値との組合せの総数が曲データ総数ＴＣＮよりも多くなければ、全ての曲データを再生できないために生じる条件である。
【００４５】
条件２は表１の重み付け係数に基づいて制約される条件である。本実施の形態では、ＣＩＤをランダムに、かつ重複せずに選択するために、ＴＥＲＭ１及びＴＥＲＭ２と表１の重み付け係数に基づいてＴＥＲＭ１０及びＴＥＲＭ２０を算出し、式（５）によりＣＩＤが選択される。よって、式（５）により１００００曲全てのＣＩＤが重複することなく選択されなければならない。そのためにはＴＮ１を２のべき乗にする必要がある。
【００４６】
条件３〜条件５は第Ｎ回目に選択されたＰ１とＰ２との組合せが以前に選択されたＰ１及びＰ２の組合せと異なる組合せにするための条件である。すなわち、条件３〜条件５を満足すれば、コンテンツ選択装置１０は数列ＳＥＱ１内のＴＥＲＭ１と数列ＳＥＱ２内のＴＥＲＭ２との組合せを重複せずに全て選択できる。ＴＥＲＭ１とＴＥＲＭ２との組合せを重複せずに全て選択し、記憶装置５内に記憶された全ての曲データを選択するために必要な条件であり、いずれかの条件が欠けると、コンテンツ選択装置１０はＴＥＲＭ１とＴＥＲＭ２との組合せを全て選択する前に、以前に選択した組合せと重複した組合せを選択してしまう。その結果、コンテンツ選択装置１０は全ての曲番号ＣＩＤを選択する前に、以前に選択した曲番号ＣＩＤと重複した曲番号ＣＩＤを選択することになる。
【００４７】
条件６は使用するメモリ容量を最小にするための条件である。
【００４８】
本実施の形態においてα＝１、β＝２とすると、Ｎに対するＰ１及びＰ２は表２のようになる。
【００４９】
【表２】
2005092937.tif 000004
【００５０】
このとき、条件１〜条件６より、ＴＮ１＝１２８、ＴＮ２＝１２９（γ＝１）と決定される。数列ＳＥＱ１の数値であるＴＥＲＭ１は０〜１２７のいずれかであり、数列ＳＥＱ２の数値であるＴＥＲＭ２は０〜１２７及びＤＵＭのいずれかである。ここで、ＤＵＭ＝２５５とする。ＤＵＭは曲番号ＣＩＤを選択するためのものではなく、重複せずに、ＴＥＲＭ１とＴＥＲＭ２との組合せを全て選択するための条件３〜条件５を満たすために必要なものである。
【００５１】
図２に戻って、項数ＴＮ１及びＴＮ２を決定した後、数値選択部２内の入替部２１は、数列ＳＥＱ１内の２つの項を選択し、それらの項の数値ＴＥＲＭ１を互いに入れ替える（Ｓ２）。具体的には、２つの乱数Ｘ及びＹを生成し、数列ＳＥＱ１内の第Ｘ番目の項のＴＥＲＭ１と第Ｙ番目の項のＴＥＲＭ１とを入れ替える。この動作を複数回繰り返す。以上の動作により数列ＳＥＱ１内のＴＥＲＭ１はランダムに配列される。数列ＳＥＱ２についても同様に、乱数によりＴＥＲＭ２の入れ替えを行う。これにより、曲番号ＣＩＤを算出するときの規則性は排除でき、ランダムに曲番号ＣＩＤを算出できる。
【００５２】
続いて、Ｐ１及びＰ２をリセットし、さらに、カウント値ＣＮもリセットする（Ｓ３）。続いて、数列ＳＥＱ１及びＳＥＱ２内のＴＥＲＭ１、ＴＥＲＭ２を選択する（Ｓ４）。具体的には、表２を参照して、選択Ｎ＝１回目のときのＰ１＝１、Ｐ２＝１であるため、数列ＳＥＱ１の初項のＴＥＲＭ１と数列ＳＥＱ２の初項のＴＥＲＭ２とを選択する。続いて、ＴＥＲＭ２がＤＵＭか否かを判断する（Ｓ５）。ＤＵＭは曲番号ＣＩＤを算出するためのものではなく、重複せずに、ＴＥＲＭ１とＴＥＲＭ２との組合せを全て選択するためのものである。よって、ＴＥＲＭ２がＤＵＭの場合、コンテンツ選択装置１０は曲番号ＣＩＤを算出せずに、Ｎをカウントアップし、新たなＴＥＲＭ１、ＴＥＲＭ２を選択する。詳しくはステップＳ１０で説明する。
【００５３】
一方、判断の結果、ＴＥＲＭ２がＤＵＭでない場合、算出部３はＴＥＲＭ１及びＴＥＲＭ２と表１とに基づいて、式（３）から（５）により曲番号ＣＩＤを算出する（Ｓ６）。
【００５４】
曲番号ＣＩＤを算出後、曲番号ＣＩＤが曲データ総数ＴＣＮ以内であるか否かを判断する（Ｓ７）。ＴＥＲＭ１及びＴＥＲＭ２に表１による重み付け係数を乗じるために、ＴＥＲＭ１とＴＥＲＭ２との組合せによっては、式（５）により算出される曲番号ＣＩＤが曲データ総数ＴＣＮを超える場合もある。そのため、算出された曲番号ＣＩＤが曲データ総数ＴＣＮを超えた場合は曲の再生を行わず、新たなＴＥＲＭ１、ＴＥＲＭ２を選択する。
【００５５】
一方、曲番号ＣＩＤが曲データ総数ＴＣＮ以内の場合、コンテンツ選択装置１０はカウント値ＣＮをカウントアップした後（Ｓ８）、再生部４に算出した曲番号ＣＩＤの曲データを再生するように要求する（Ｓ９）。このとき、コンテンツ選択装置１０からの要求に基づきオーディオクライアント２０は算出された曲番号ＣＩＤの曲データをサーバ３０内の記憶装置５から取得する。曲データを取得後、オーディオクライアント２０は再生部４でその曲データを再生する。再生部４が再生を開始した後、コンテンツ選択装置１０は、次に再生する曲番号ＣＩＤを決定すべく、項選択処理を実行する（Ｓ１０）。
【００５６】
図４を参照して、コンテンツ選択装置１０は、初めにＮをカウントアップする（Ｓ１０１）。続いて、式（１）に基づいて、カウントアップしたＮに対応するＰ１を算出する（Ｓ１０２）。具体的には、Ｎ＝２の場合の式（１）の剰余値を算出し、その剰余値をＰ１とする。ただし、剰余値が０の場合、Ｐ１＝ＴＮ１とする。
【００５７】
同様に、式（２）に基づいて、カウントアップしたＮに対応するＰ２を算出する（Ｓ１０３）。具体的には、Ｎ＝２の場合の式（２）の剰余値をＰ２とする。ただし、剰余値が０の場合、Ｐ２＝ＴＮ２とする。
【００５８】
たとえば、カウントアップした結果Ｎ＝２となった場合、ステップＳ１０２、Ｓ１０３よりＰ１＝２となり、Ｐ２＝３となる。
【００５９】
図２に戻って、項選択処理を終了後、ステップＳ８で求めたカウント値ＣＮが曲データ総数ＴＣＮ以下であるか否かを判断する（Ｓ１１）。判断の結果、カウント値ＣＮが曲データ総数ＴＣＮ以下である場合、コンテンツ選択装置１０はステップＳ４に戻って動作を繰り返す。この動作を繰り返すことにより、コンテンツ選択装置１０はＰ１、Ｐ２の組合せを重複することなく全て選択できる。
【００６０】
第Ｎ回目に選択されたＰ１、Ｐ２の組合せを表３に示す。
【００６１】
【表３】
2005092937.tif 000005
【００６２】
表３を参照して、Ｐ１を行に、Ｐ２を列にそれぞれ示す。式（１）、（２）より、第１回目に選択される（Ｐ１，Ｐ２）は（１，１）となり、第２回目に選択される（Ｐ１，Ｐ２）は（２，３）となる。同様に第６４回目に選択される（Ｐ１，Ｐ２）は（６４，１２７）となり、第６５回目に選択される（Ｐ１，Ｐ２）は（６５，１２９）となる。続いて、第６６回目に選択される（Ｐ１，Ｐ２）は（６６，２）となる。同様に、Ｎをカウントアップして式（１）、（２）に基づいてＰ１、Ｐ２を算出すれば、表３内のすべての空白を重複せずに埋めることができる。
【００６３】
以上のようにコンテンツ選択装置１０は、式（１）、（２）に基づいてＰ１、Ｐ２の組合せを重複することなく、全て選択できる。つまり、コンテンツ選択装置１０は式（１）、（２）に従えば、表３に示すようなテーブルをメモリ１で管理する必要はない。
【００６４】
図２でのステップＳ１１での判断の結果、カウント値ＣＮが曲データ総数ＴＣＮよりも大きい場合、コンテンツ選択装置１０は全ての曲データを選択したことになるため、動作を終了する。
【００６５】
以上の動作により、本実施の形態によるコンテンツ選択装置は、複数の数列を用いて曲番号ＣＩＤを算出するため、再生する曲データの選択に使用するメモリ容量を従来よりも少なくできる。また、式（１）、（２）に基づいて、数列ＳＥＱ１、ＳＥＱ２から選択する項Ｐ１、Ｐ２を決定することで、コンテンツ選択装置１０は数列ＳＥＱ１内の数値ＴＥＲＭ１と数列ＳＥＱ２内の数値ＴＥＲＭ２との組合せの全てを重複せずに選択できる。さらに、ＴＥＲＭ１及びＴＥＲＭ２の組合せが異なる限り、表１に示す重み付け係数に基づいて算出される曲番号ＣＩＤは同じ値にならない。その結果、従来のように、テーブルを用いて選択した曲番号ＣＩＤを管理する必要はなく、再生済みの曲番号ＣＩＤを管理する必要もない。そのため、従来よりも使用するメモリ容量は大幅に縮小できる。
【００６６】
本実施の形態では、数列ＳＥＱ１に１バイト×１２８使用し、数列ＳＥＱ２に１バイト×１２９使用し、Ｐ１及びＰ２合わせて１バイト×２使用し、曲データ総数ＴＣＮに２バイト使用し、カウント値ＣＮに２バイト使用する。よって、再生する曲データを選択するために必要なメモリ容量は、以下の式（９）に示すように２６３バイトとなる。
１バイト×（１２８＋１２９＋２）＋２バイト×２＝２６３バイト  （９）
【００６７】
また、曲番号ＣＩＤを算出するとき、コンテンツ選択装置１０は、ステップＳ２において、数列ＳＥＱ１及びＳＥＱ２内の数値の入れ替えを行い、さらに、ステップＳ６でＴＥＲＭ１及びＴＥＲＭ２に表１に示す重み付け係数を乗じて曲番号ＣＩＤを算出する。そのため、コンテンツ選択装置１０はランダムに曲番号ＣＩＤを算出でき、その結果、ランダムに曲データを選択できる。
【００６８】
なお、本実施の形態では、サーバ３０内の記憶装置５内の複数の曲データは複数の曲番号ＣＩＤに対応して記憶したが、複数の曲データは複数のアドレスで特定でき、オーディオクライアント２０内で複数の曲番号ＣＩＤに対応する複数の曲データのアドレスを管理してもよい。この場合、オーディオクライアント２０は、コンテンツ選択装置１０が算出した曲番号ＣＩＤに基づいて再生すべき曲データのアドレスを選択し、選択したアドレスに基づいてサーバ３０に再生すべき曲データを要求してもよい。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施の形態によるコンテンツ選択装置を含むコンテンツ再生装置の全体構成を示す機能ブロック図である。
【図２】図１に示したコンテンツ選択装置の動作を示すフロー図である。
【図３】図２中のステップＳ１の動作の詳細を示すフロー図である。
【図４】図２中のステップＳ１０の動作の詳細を示すフロー図である。
【符号の説明】
【００７０】
１  メモリ
２  数値選択部
３  算出部
４  再生部
５  記憶装置
１０  コンテンツ選択装置
２０  オーディオクライアント
３０  サーバ
ＣＩＤ    曲番号
ＣＮ  カウント値
ＳＥＱ１，ＳＥＱ２  数列
ＴＣＮ  曲データ総数
ＴＥＲＭ１，ＴＥＲＭ２  数値
ＴＮ１，ＴＮ２  項数
【図１】
2005092937.tif 000006
【図２】
2005092937.tif 000007
【図３】
2005092937.tif 000008
【図４】
2005092937.tif 000009