以下、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態による情報処理装置の構成の一例を示すブロック図である。
図1において、情報処理装置100はディスプレイ(CRT)101、VRAM(ビデオメモリ)102、BMU(ビットムーブユニット)103、キーボード104、PD(ポインティングデバイス)105、CPU106、ROM107、RAM108、HDD(ハードディスクドライブ)109、FDD(フレキシブルディスクドライブ)110、およびネットワークインタフェース(NET I/F)111を備えている。
ディスプレイ101には、CPU106の制御下でVRAM102を介して、例えば、画像データであるコンテンツの一覧、その他の編集情報、アイコン、メッセージ、メニュー、そして、その他のユーザインタフェース情報が表示される。VRAM102にはディスプレイ101に表示するための画像データが書き込まれる。
VRAM102に書き込まれた画像データは、CPU106の制御下で所定の規定に従ってディスプレイ101に転送され、これによってディスプレイ101に画像データに応じた画像が表示される。
BMU103は、CPU106の制御下で、例えば、メモリ間(例えば、VRAM102と他のメモリとの間)のデータ転送、そして、メモリと各I/Oデバイス(例えば、ネットワークI/F111)との間のデータ転送を制御する。キーボード104は、文字などの文書を入力するためのものであり、各種キーを備えている。
PD105は、例えば、ディスプレイ101に表示されたアイコン、メニュー、又はその他のコンテンツを指示する際に用いられる。また、PD105は指示したオブジェクトをドラッグドロップする際に用いられる。
CPU106は、ROM107、HDD109、又はフレキシブルディスクに格納された制御プログラムに基づいて情報処理装置全体の制御を行う。ROM107には各種制御プログラムおよびデータなどが保存される。RAM108は、CPU106のワーク領域、エラー処理の際のデータの退避領域、および制御プログラムのロード領域などとして用いられる。HDD109には情報処理装置で実行される制御プログラム、コンテンツ、およびデータが格納される。
FDD110は、CPU106の制御下でフロッピー(登録商標)に代表されるフレキシブルディスクに対するアクセスを行う。NET I/F111は、CPU106の制御下で、他の情報処理装置(図示せず)およびプリンタ(図示せず)とネットワークを介して通信を行う。
なお、VRAM102、BMU103、キーボード104、PD105、CPU106、ROM107、RAM108、HDD109、FDD110、およびNET I/F111はCPUバス112で相互に接続されており、CPUバス112はアドレスバス、データバス、およびコントロールバスを有している。
また、CPU106に対して制御プログラムを提供する際には、NET I/F111を介してネットワーク経由で他の情報処理装置から制御プログラムをロードするようにしてもよい。
図2は、情報処理装置100におけるコンテンツの表示を説明するための概念図である。
ここでは、多量のコンテンツを表示する際、多量のコンテンツを互いに重複させて分割し、当該分割部分を表示区間として表示をする。なお、以下の説明では、表示対象のコンテンツ群を画像群と呼ぶことがある。
いま、図示の例では、表示対象である全画像(コンテンツ群)201が複数の表示区間”1”から”5”に分割される。そして、表示区間”1”は表示区間”2”と一部分が重複し、表示区間”2”は表示区間”3”と一部分が重複している。また、表示区間”3”は表示区間”4”と一部分が重複し、表示区間”4”は表示区間”5”と一部分が重複している。
なお、コンテンツ群201は、例えば、ユーザの操作に応じて選択された特定のフォルダに属する全てのコンテンツ群である。
上記の表示区間”1”〜”5”の各々には、コンテンツ群201がその属性情報に基づいて所定の順番で分類される。この属性情報は、例えば、コンテンツの作成日時、更新日時、ファイル名、およびファイルサイズであり、ここでは、所定の順番として降順又は昇順が用いられる。
コンテンツは、例えば、画像ファイル又は音楽ファイルであり、コンテンツが画像ファイルの場合には、属性情報として撮影日時、撮影場所、撮影者名、および情報処理装置への取り込み日時が含まれる。
CPU106はユーザの操作に応じてスクロールバー207を移動し、これによって、表示区間”1”〜”5”のいずれか1つをスクロールする。これによって、スクロール対象の表示区間に含まれるコンテンツのうち、現在表示されていないコンテンツ群が画面表示され、代わりに表示されているコンテンツ群が画面から消えて画面の表示内容を変更することができる。なお、所定の操作に応答して、スクロール対象の表示区間は切り替わる。
なお、図2においては、現在画面表示されているコンテンツ群(画像)204は、表示区間”2”および”3”に重複して割り当てられている。そして、ディスプレイ101にはコンテンツ群204が表示領域205で表示される。なお、図2に示す例では、表示区間”3”のうち一部がコンテンツ群204としてディスプレイ101に表示されている。そして、スクロールバー207が移動することに応じて、表示区間“3”のうち、ディスプレイ101に表示されるコンテンツ群204が変化する。
コンテンツ群204は複数のコンテンツ206を有し、コンテンツ群204が複数の画像ファイルの場合には、ディスプレイ101には画像ファイルの各々の内容を示すサムネイル画像がコンテンツ206として表示される。また、コンテンツが複数の音楽ファイルの場合には、音楽ファイルの各々の内容を示す画像がコンテンツ206としてディスプレイ101に表示される。図示の例では、コンテンツ206(F3)は、コンテンツ群204に含まれ、表示区間”2”および”3”に含まれていることが示されている。
図3は、情報処理装置100で行われるコンテンツの一覧表示を説明するためのフローチャートである。なお、図3に示すフローチャートはCPU106がHDD109に格納された制御プログラムを読み出して起動し、各ユニットを制御することで実行される。
ユーザの操作によって特定のフォルダが選択されると、CPU106は当該フォルダに属する全てのコンテンツ群の数を表示対象のコンテンツ数として取得する(ステップS301)。ここで、表示対象のコンテンツ数は、図2に示すコンテンツ群201のコンテンツ数である。
続いて、CPU106はHDD109から表示区間毎のコンテンツ数を取得する(ステップS302)。表示区間毎のコンテンツ数(以下表示区間コンテンツ数と呼ぶ)は予め設定されており、この表示区間コンテンツ数はHDD109に記憶される。なお、表示区間コンテンツ数は、図2に示す重複部分を含む表示区間”1”〜”5”毎(つまり、1つの表示区間)のコンテンツ数である。
次に、CPU106はHDD109から連続する表示区間においてコンテンツを重複する割合(重複割合)を取得する(ステップS303)。この重複割合は予め設定されており、HDD109に記憶される。
続いて、CPU106は表示区間コンテンツ数および重複割合に応じて連続する表示区間で重複するコンテンツ数を求める(ステップS304)。例えば、表示区間コンテンツ数が1000で、重複割合が50%であると、CPU106は連続する表示区間で重複するコンテンツ数を500とする。なお、連続する表示区間で重複するコンテンツ数が整数とならない場合には、CPU106は小数点以下の切り上げ又は切り下げなどを行って、連続する表示区間で重複するコンテンツ数を整数とする。以下、連続する表示区間で重複するコンテンツ数を重複コンテンツ数と呼ぶ。
次に、CPU106は表示対象のコンテンツ数、表示区間のコンテンツ数、および重複コンテンツ数に応じて、表示区間の各々の先頭におけるコンテンツの起点(以下コンテンツ表示起点と呼ぶ)を求める(ステップS305)。例えば、表示対象のコンテンツ数が3000、表示区間コンテンツ数が1000、そして、重複コンテンツ数が500であると、図2に示す表示区間”1”におけるコンテンツ表示起点は1番目のコンテンツとなり、表示区間”2”におけるコンテンツ表示起点は501番目のコンテンツとなる。そして、表示区間”3”におけるコンテンツ表示起点は1001番目のコンテンツとなり、表示区間”4”におけるコンテンツ表示起点はコンテンツ1501番目のコンテンツとなる。また、表示区間”5”におけるコンテンツ表示起点は2001番目のコンテンツとなる。
続いて、CPU106はどの表示区間におけるコンテンツ群を表示領域205に表示してスクロール操作の対象とするかを選択する(ステップS306)。この際には、CPU106はスクロール操作の対象とする表示区間を、ユーザ操作によるスクロールバーの移動操作に応じて選択する。例えば、現在ユーザのスクロールバーの移動操作によって表示区間”2”におけるコンテンツ群が選択されている場合には、CPU106は表示区間”2”をスクロール操作の対象とする表示区間とする。
なお、最初にスクロール操作の対象とする表示区間として、CPU106は全てのコンテンツの中央に位置するコンテンツが属する表示区間を選択するようにしてもよい。また、CPU106は前回の表示終了の際に表示領域205に表示された表示区間をHDD109に記憶して、HDD109に記憶した表示区間を今回のスクロール操作の対象とする表示区間として選択するようにしてもよい。
次に、CPU106はステップS306で選択した表示区間(以下選択表示区間と呼ぶ)を表示領域205に表示する直前に、表示領域205に選択表示区間の前又は後に位置する表示区間が表示領域205に表示されていたか否かを確認する(ステップS307)。選択表示区間の前又は後に位置する表示区間が表示されていると(ステップS307において、YES)、CPU106は、選択表示区間におけるコンテンツ表示起点から当該選択表示区間におけるコンテンツ数分のコンテンツのうち、直前に表示されていた表示区間と重複しないコンテンツをのみをHDD109から取得する(ステップS308)。
そして、CPU106は選択表示区間に属するコンテンツのうち、現在のスクロールバーの位置と対応する範囲のコンテンツを表示領域205に表示する(ステップS309)。
一方、選択表示区間の前および後に位置する表示区間が表示されていないと(ステップS307において、NO)、CPU106は選択表示区間におけるコンテンツ表示起点から当該選択表示区間におけるコンテンツ数分のコンテンツをHDD109から取得する(ステップS310)。そして、CPU106はステップS309の処理に進んで、選択表示区間に属するコンテンツのうち、現在のスクロールバーの位置と対応する範囲のコンテンツを表示領域205に表示する。
このように、本発明の第1の実施形態では、連続する表示区間においてコンテンツを重複して割り当てて、スクロール操作に応じて選択表示区間におけるコンテンツを表示領域205に表示するようにしたので、ユーザは表示区間の境界にあるコンテンツを連続性を保ってスクロール操作して表示させることができる。
さらに、表示区間の切り替えの際においては、重複するコンテンツが継続的に表示されることになるので、ユーザが切り替え前に注目していたコンテンツを見失うということがなくなる。
[第2の実施形態]
続いて、本発明の第2の実施形態による情報処理装置について説明する。なお、第2の実施形態における情報処理装置の構成は図1に示す情報処理装置と同様であり、第2の実施形態における情報処理装置についても図2で説明したように、表示対象における表示区間のコンテンツを表示領域に表示する。以下、第2の実施形態では、表示区間の切り替えによるコンテンツ群の表示について説明する。
図4は、本発明の第2の実施形態による情報処理装置における表示区間の切り替えを概念的に説明するための図である。
図4において、表示区間401、405、および409は連続する表示区間であり、表示区間401と表示区間405とはその一部分が重複し、表示区間405と表示区間409とはその一部分が重複する。そして、表示区間401、405、および409の各々には表示対象であるコンテンツ群が含まれている。図示の例では、表示区間401の次の表示区間が表示区間405であり、表示区間405の次の表示区間が表示区間409である。
説明の便宜上、図4においては、表示領域402、406、および410が示され、表示領域402には表示区間401の最後部側に位置するコンテンツ群が表示された状態が示されている。ここでは、表示領域402にはコンテンツ群としてコンテンツG1〜L1が表示されている。
表示領域406には、表示区間401から次の表示区間405に表示の切り替えを行った場合又は表示区間409から前の表示区間405に表示の切り替えた場合における表示状態が示されている。ここでは、表示領域406にはコンテンツ群としてコンテンツI2〜O1が表示されている。
表示領域410には、表示区間409の最前部側に位置するコンテンツ群が表示された状態が示されている。ここでは、表示領域410にはコンテンツ群としてコンテンツL2〜Q2が表示されている。
表示領域402、406、および410にはそれぞれスクロールバー403、407、および411が表示され、ユーザがスクロールバー403、407、又は411を操作すると、CPU106は表示領域に表示されたコンテンツ群が含まれる表示区間内をスクロールする。これによって、表示領域に表示させるコンテンツ群を変更することができる。なお、表示区間を切り替えた際には、CPU106はスクロールバーを制御して表示領域に表示されるコンテンツを変更する。
表示領域402および410にはそれぞれ表示区間切り替えボタン404および412が表示されている。CPU106は表示区間を最初又は最後までスクロールさせた際に表示領域402および410に表示区間切り替えボタン404および412を表示する。なお、CPU106は前又は次の表示区間が存在する場合にのみ表示切り替えボタン404および412の表示を行う。
前述のように、表示領域406には、表示区間の切り替えを行った際のコンテンツ群が表示される。図示の例では、表示領域406にはコンテンツ群408および413が表示される。ここでは、コンテンツ群408としてコンテンツI2〜L1が表示領域406に表示される。コンテンツI2〜L1は表示領域402においても表示され、表示区間を表示区間401から表示区間405に切り替えた際における表示領域406においても、CPU109はコンテンツI2〜L1を表示する。
同様に、コンテンツ群413としてコンテンツL2〜O1が表示領域406に表示される。コンテンツL2〜O1は表示領域410においても表示され、表示区間を表示区間409から表示区間405に切り替えた際における表示領域406においても、CPU106はコンテンツを表示する。
図5は、本発明の第2の実施形態による情報処理装置における表示区間の切り替えを行う際の表示制御を説明するためのフローチャートである。なお、図5に示すフローチャートにおける処理はCPU106がHDD109に格納された制御プログラムを読み出して起動し、各ユニットを制御することで実行される。
ユーザの操作によって特定のフォルダが選択されると、CPU106は当該フォルダに属する全てのコンテンツ群の数を表示対象のコンテンツ数として取得する(ステップS501)。続いて、CPU106はHDD109から表示区間毎のコンテンツ数を取得する(ステップS502)。次に、CPU106は隣接する表示区間で重複するコンテンツの数を示す重なり数をHDD109から取得する(ステップS503)。この重なり数は予めHDD109に記憶されている。
ユーザによって表示区間切り替えボタンが操作されると、CPU106は表示区間の切り替えによって表示される表示区間が現在の表示区間の次の表示区間であるか又は前の表示区間であるかを判定する(ステップS504)。ここでは、CPU106は、図4に示す表示区間切り替えボタン304および表示区間切り替えボタン312のいずれが操作されたかを判定することになる。
切り替え表示区間が次の表示区間であると(ステップS504において、次の表示区間)、CPU106はHDD109から切り替え前の表示区間における末尾コンテンツの全コンテンツにおける位置を全体位置として取得する(ステップS505)。なお、全体位置とは、全コンテンツを所定の順序で並べた際の位置(先頭からの順序)である。また、末尾コンテンツとは、表示区間に含まれるコンテンツ群の中で最後に位置するコンテンツをいう。
ここで、ステップS502で取得したコンテンツ数を100、ステップS503で取得した重なり数を50とし、図4に示す表示区間401が1番目の表示区間であるとすると、表示区間401における末尾コンテンツの全体位置は100となる。そして、表示区間401においては、表示領域402の最後(右下端)に表示されているコンテンツL1が末尾コンテンツとなる。
次に、CPU106は表示区間切り替え後において表示領域に残すべきコンテンツ数を求める(ステップS506)。いま、切り替え前の表示領域に表示されているコンテンツ群の列数をn、行数をmとすると、式(1)又は式(2)によって表示領域に残すべきコンテンツ数Cが求められる。
列数nが偶数の場合、C=n/2×m (1)
列数nが奇数の場合、C=(n+1)/2×m (2)
図4に示す表示領域402においては、列数が7、行数が3であるので、CPU106は式(2)によって残すべきコンテンツ数C=12とする。この結果、末尾コンテンツL1を含む12のコンテンツが残すべきコンテンツとされる。
続いて、CPU106は末尾コンテンツの全体位置と残すべきコンテンツ数とに応じて、表示区間切り替え後の表示領域に表示される第1の表示コンテンツを求める(ステップS507)。ここで、第1の表示コンテンツとは、表示領域の先頭(左上隅)に表示されるコンテンツをいう。
いま、末尾コンテンツの全体位置x、残すべきコンテンツ数yとすると、第1の表示コンテンツの全体位置Pは、式(3)によって求められる。これによって、第1の表示コンテンツを特定することができる。
P=x−y+1 (3)
例えば、表示領域402において、末尾コンテンツの全体位置xを100とすると、残すべきコンテンツ数y=12であるので、式(3)から100−12+1=89となる。つまり、89番目に位置するコンテンツI2が表示区間切り替え後の表示領域における第1の表示コンテンツとなる。その後、CPU106は後述するステップS511の処理に進む。
切り替え表示区間が前の表示区間であると(ステップS504において、前の表示区間)、CPU106は切り替え前の表示区間における先頭コンテンツの全体位置を取得する(ステップS508)。ここで、先頭コンテンツとは、切り替え前の表示区間に含まれるコンテンツ群の中でその全体位置が先頭に位置するコンテンツをいう。
例えば、ステップS502で取得したコンテンツ数を100、ステップS503で取得した重なり数を50とし、表示区間409が3番目の表示区間であるとすると、先頭コンテンツの全体位置は101となる。図4に示す表示区間409においては、表示領域410の先頭(左上隅)に表示されているコンテンツL2が先頭コンテンツとなる。
続いて、CPU106は表示区間切り替え後の表示領域に残すべきコンテンツ数を求める(ステップS509)。ステップS509においては、上記の式(1)又は式(2)によって残すべきコンテンツ数が求められる。
図4に示す表示領域410においてはコンテンツ群の列数7、行数3であるので、残すべきコンテンツ数は12となる。この結果、先頭コンテンツL2を含む12のコンテンツ群が残ることになる。
次に、CPU106は先頭コンテンツの全体位置と残すべきコンテンツ数に応じて、表示区間切り替え後の表示領域における第1の表示コンテンツを求める(ステップS510)。
いま、先頭コンテンツの全体位置をx、残すべきコンテンツ数をyとすると、表示区間切り替え後の表示領域の第1の表示コンテンツの位置Pは式(4)によって得られ、第1の表示コンテンツが特定される。
P=x−y (4)
例えば、表示領域410において、先頭コンテンツの全体位置を101とすると、第1の表示コンテンツの位置は、101−12=89となる。この結果、89番目に位置するコンテンツI2が表示区間切り替え後の表示領域における第1の表示コンテンツとなる。
続いて、CPU106は表示区間の重なり数と表示領域に残すべきコンテンツ数とを比較して、重なり数<残すべきコンテンツ数であるか否かを判定する(ステップS511)。重なり数<残すべきコンテンツ数であると(ステップS511において、YES)、切り替え後の表示区間にステップS507又はステップS510で求めた第1の表示コンテンツが含まれていないので、CPU106は表示区間の先頭コンテンツを表示領域における第1の表示コンテンツに設定する(ステップS512)。
例えば、ステップS502で取得したコンテンツ数を100、ステップS503で取得した重なり数を10とすると、表示区間401では全体位置1〜100、そして、表示区間405では全体位置91〜190のコンテンツが含まれることになる。よって、表示区間401から表示区間405に切り替えた場合、CPU106は第1の表示コンテンツとして全体位置91のコンテンツを設定する。
続いて、CPU106は全コンテンツから表示区間切り替え後の対象コンテンツ群を取得する(ステップS513)。なお、重なり数が残すべきコンテンツ数以上であると(ステップS511において、NO)、CPU106はステップS513の処理に進む。
次に、CPU106は表示区間の横幅をコンテンツ数およびコンテンツサイズで調整して、ステップS513で取得したコンテンツ群を所定の順番で配置する(ステップS514)。そして、CPU106は上述のようにして求めた第1の表示コンテンツが表示領域の先頭(左上隅)に表示されるように表示区間をスクロールし(ステップS515)、切り替え後の表示制御を終了する。
ここでは、切り替え前の表示区間が表示区間401および409のいずれであっても、表示区間405に切り替え後に表示される表示領域406においては、その先頭にコンテンツI2が表示されるようにスクロール量が調整される。
なお、ステップS506などで用いた式は一例であり、計算式を変更すれば切り替え後に残すべきコンテンツ数を変更することができる。
このように、本発明の第2の実施形態では、表示区間の切り替えの際に、表示領域に表示されたコンテンツ群の一部分を表示区間の切り替えの方向に応じて切り替え後の表示領域に残して表示するようにしたので、ユーザは切り替え前に注目していたコンテンツを見失うことがなく表示区間の切り替わりを容易に把握することができる。
さらに、表示区間の切り替え方向(前方向又は後方向)に応じてコンテンツ群の一部を表示領域に残すようにしたので、ユーザはさらなるスクロール操作を行う必要がない。
[第3の実施形態]
次に、本発明の第3の実施形態による情報処理装置について説明する。なお、第3の実施形態における情報処理装置の構成は図1に示す情報処理装置と同様であり、第3の実施形態における情報処理装置についても図2で説明したように、表示対象における表示区間のコンテンツを表示領域に表示する。以下、第3の実施形態における表示区間のコンテンツ表示について説明する。
図6は本発明の第3の実施形態による情報処理装置で行われる表示区間のコンテンツ表示を説明するための図である。そして、図6(A)は、1番目の表示区間を最初までスクロールさせた際の表示領域の状態を示す図であり、図6(B)はスクロールバーの操作によって表示区間内のコンテンツ表示位置を変更させた際の表示領域の状態を示す図である。また、図6(C)は最後の表示区間を最後までスクロールさせた際の表示領域の状態を示す図であり、図6(D)は次の表示区間が存在する場合に表示区間を最後までスクロールさせた際の表示領域の状態を示す図である。さらに、図6(E)は前の表示区間が存在する場合に表示区間を最初までスクロールさせた際の表示領域の状態を示す図である。
図6(A)において、ディスプレイ101には画面600が表示され、この画面600にはコンテンツの表示領域601が規定されている。画面600にはスクロールバー602が表示され、このスクロールバー602によって表示領域601に表示されたコンテンツ群の表示区間内における位置が表される。さらに、ユーザ操作に応じてスクロールバー602が移動して、現在表示されていないコンテンツが表示領域601に表示され、代わりに現在表示されているコンテンツが非表示とされて、表示領域601に表示されるコンテンツを変更することができる。
図6(D)において、表示領域601には次の表示区間に切り替えるための表示区間切り替えボタン603が表示される。また、図6(E)において、表示領域601には前の表示区間に切り替えるための表示区間切り替えボタン604が表示される。なお、図6(D)および図6(E)に示す例では、表示区間切り替えをボタン603および604が表示領域601に表示されるが、切り替え制御を行うことができれば、ボタンの代わりにアイコン又は画像を指示入力情報として表示するようにしてもよい。
図6(A)に示すように、1番目の表示区間(例えば、図2に示す表示区間”1”)を最初までスクロールさせる。この場合、当該表示区間よりも前に表示区間が存在しないので、図6(E)に示す表示区間切り替えボタン604は表示領域601に表示されない。そして、表示領域601にはコンテンツ群のみが表示される。
図6(B)に示すように、スクロールバー602によって表示区間内のコンテンツ表示位置を変更させる。この場合、表示区間の途中であるので、切り替えボタン603および604は表示されない。つまり、表示区間内を最初又は最後までスクロールした状態でなければ、前後に位置する表示区間の存在に関係なく、表示領域601にはコンテンツ群のみが表示される。
図6(C)に示すように、最後の表示区間(例えば、図2に示す表示区間”5”)を最後までスクロールさせる。この場合には、次の表示区間が存在しないので、表示区間切り替えボタン603は表示されず、表示領域601にはコンテンツ群のみが表示される。
図6(D)に示すように、次の表示区間が存在する表示区間(例えば、図2に示す表示区間”1”、”2”、”3”、および”4”)を最後までスクロールさせる。この場合には、次の表示区間が存在するので、表示領域601には表示区間切り替えボタン603およびコンテンツ群が表示される。
図6(E)に示すように、前の表示区間が存在する表示区間(例えば、図2に示す表示区間”2”、”3”、”4”、および”5”)を最初までスクロールさせる。この場合には、前の表示区間が存在するので、表示領域601には表示区間切り替えボタン604およびコンテンツ群が表示される。
図7は、本発明の第3の実施形態による情報処理装置で行われる表示制御を説明するためのフローチャートである。なお、図7に示すフローチャートにおける処理はCPU106がHDD109に格納された制御プログラムを読み出して起動し、各ユニットを制御することで行われる。
情報処理装置100が起動され、ユーザの操作によって特定のフォルダが選択されると、CPU106は当該フォルダに属する全てのコンテンツ群の数を表示対象のコンテンツ数として取得する(ステップS701)。続いて、CPU106はHDD109から表示区間毎のコンテンツ数を取得する(ステップS702)。表示区間毎のコンテンツ数は、図2に示す1つの表示区間203に含まれるコンテンツの個数である。
続いて、CPU106はスクロール対象である表示区間の最初のコンテンツの全体位置を求める(ステップS703)。例えば、ステップS702で取得したコンテンツ数が100で、重なり数が50であると、図2に示す表示区間”2”における最初のコンテンツの全体位置は「51」となる。
次に、CPU106はスクロール対象である表示区間の最後のコンテンツの全体位置を求める(ステップS704)。例えば、ステップS702で取得したコンテンツ数が100で、重なり数が50であると、図2に示す表示区間”2”における最後のコンテンツの全体位置は「150」となる。
続いて、CPU106はスクロール対象である表示区間に属するコンテンツをHDD109から取得する(ステップS705)。ここでは、CPU106は全コンテンツのうち、最初のコンテンツの全体位置から表示区間のコンテンツ数分のコンテンツを取得する。例えば、スクロール対象の表示区間が図2に示す表示区間”2”である場合には、CPU106は全体位置51〜150のコンテンツを取得する。
次に、CPU106はコンテンツサイズおよびコンテンツ数に応じてスクロール対象の表示区間の横幅を求める(ステップS706)。そして、CPU106はステップS703で求めた最初のコンテンツの全体位置が「1」であるか否かを判定する(ステップS707)。
最初のコンテンツの全体位置が「1」でないと(ステップS707において、NO)、CPU106はステップS706で求めた表示区間の横幅に表示区間切り替えボタン604を表示するための領域を追加する。つまり、CPU106は切り替えボタン604を表示するため、表示区間の横幅を拡張する(ステップS708)。
その後、CPU106は前に表示区間があることを示す表示区間切り替えボタン604を当該表示区間の先頭に配置する(ステップS709:図6(E)参照)。そして、CPU106はステップS705で取得したコンテンツを所定の順番で配置する(ステップS710)。なお、最初のコンテンツの全体位置が「1」であると(ステップS707において、YES)、CPU106は該当表示区間が1番目の表示区間(図2に示す例では、表示区間”1”)であるとする。そして、CPU106はステップS710の処理に進む。ステップS710の処理では、CPU106は表示区間切り替えボタン604が配置されていると、表示区間切り替えボタン604の後にコンテンツを配置し、表示区間切り替えボタン604配置されていなければ、表示区間の先頭からコンテンツを配置する。
続いて、CPU106はステップS704で求めた最後のコンテンツの全体位置がステップS701で取得した全コンテンツ数と同一であるか否かを判定する(ステップS711)。最後のコンテンツの全体位置が全コンテンツ数と同一でないと(ステップS711において、NO)、CPU106は表示区間の横幅に表示区間切り替えボタン603を表示するための領域を追加する。つまり、CPU106は切り替えボタン603を表示するため、表示区間の横幅を拡張する(ステップS712)。
次に、CPU106は次に表示区間があることを示す表示区間切り替えボタン603をコンテンツの後に配置する(ステップS713)。そして、CPU106は表示領域601にスクロールバー602の位置と対応する範囲において表示区間のコンテンツ群を表示して、つまり、スクロール調整して(ステップS714)、表示制御を終了する。
なお、最後のコンテンツの全体位置が全コンテンツ数と同一である(ステップS711において、YES)、CPU106は該当表示区間は最後の表示区間(図2に示す例では表示区間”5”)であるとして、ステップS714の処理に進む。
ここでは、スクロールバー602の位置と対応する範囲に表示区間切り替えボタン603又は604が配置されていると、CPU106は表示区間切り替えボタン603又は604を表示領域301に表示する。そして、ユーザの操作によって表示区間切り替えボタン603又は604の押下操作を検知すると、CPU106はスクロール対象の表示区間を変更して、ステップS701の処理を開始する。
このように、本発明の第3の実施形態では、スクロール範囲、つまり、スクロールバーの位置と対応する範囲で表示区間切り替え用ボタンを表示するようにしたので、ユーザは表示区間の切り替えを極めて容易に行うことができる。
[第4の実施形態]
続いて、本発明の第4の実施形態による情報処理装置について説明する。なお、第4の実施形態における情報処理装置の構成は図1に示す情報処理装置と同様であり、第4の実施形態における情報処理装置についても図2で説明したように、表示対象における表示区間のコンテンツを表示領域に表示する。以下、第4の実施形態における表示区間のコンテンツ表示について説明する。
図8は、本発明の第4の実施形態による情報処理装置で行われる表示制御の際の指定位置と重複する表示区間を示す図である。
図8において、表示区間801には、「1」から「1000」までのコンテンツが属している。また、表示区間802には、「501」から「1500」までのコンテンツが属している。同様に、表示区間803には、「1001」から「2000」までのコンテンツが属している。そして、図8では、501番目のコンテンツが指定位置(第1の指定位置)804に対応している。図示のように、指定位置804は表示区間801および802のいずれにも属している。また、1500番目のコンテンツが指定位置(第2の指定位置)805に対応している。図示のように、指定位置805は表示区間802および803のいずれにも属している。
ここで、指定位置に位置するコンテンツの表示について説明する。ここでは、第4の実施形態の理解を容易にするため、従来例と比較して説明する。
図9は、本発明の第4の実施形態による情報処理装置による指定位置に位置するコンテンツの表示を示す図である。そして、図9(A)は、図8に示す第1の指定位置に位置するコンテンツの表示を示す図であり、図9(B)は図8に示す第2の指定位置に位置するコンテンツの表示を示す図である。
図10は、図9との比較のため指定位置に位置するコンテンツの表示を示す図である。そして、図10(A)は、図8に示す第1の指定位置に位置するコンテンツの表示を示す図であり、図10(B)は図8に示す第2の指定位置に位置するコンテンツの表示を示す図である。
図9(A)において、表示領域901には複数のコンテンツ(497番目から506番目のコンテンツ)が表示されている。そして、ここでは、図8に示す指定位置804に対応する501番目のコンテンツ902が表示されている。
同様に、図9(B)においては、表示領域901には1496番目から1505番目のコンテンツが表示されている。そして、ここでは、図8に示す指定位置805に対応する1500番目のコンテンツ904が表示されている。
一方、図10(A)では、表示領域1001には501番目から508番目のコンテンツが表示され、さらに、前の表示区間への切り替えを行うための表示切り替えボタン1003が表示されている。
同様に、図10(B)では、表示領域1001には1493番目から1500番目のコンテンツが表示され、さらに、次の表示区間への切り替えを行うための表示切り替えボタン1005が表示されている。そして、図10(A)および図10(B)ではそれぞれ指定位置804および805に対応する501番目のコンテンツ1002および1500番目のコンテンツ1004が表示されている。
もし、図8に示す表示区間において、指定位置804に対応する501番目のコンテンツを表示するため表示区間802が選択され、例えば、図10(A)に示すように、指定位置804に対応する501番目のコンテンツ1002が表示されたとする。この場合、501番目のコンテンツ1002の前に位置するコンテンツは表示切り替えボタン1003を操作しないと表示することができず、ユーザの操作負荷が増えるという問題がある。
一方、図9(A)では、501番目のコンテンツ902を表示するため、表示区間801が選択されると、501番目のコンテンツ902が表示領域901のほぼ中央に表示される。この結果、図10(A)においては、ユーザは指定位置804に対応するコンテンツ902とその近くに位置するコンテンツを一度に参照することができる。
また、もし、図8に示す表示区間において、指定位置805に対応する1500番目のコンテンツを表示するため表示区間802が選択され、例えば、図10(B)に示すように、指定位置805に対応する1500番目のコンテンツ1004が表示されたとする。この場合、1500番目のコンテンツ1004の後に位置するコンテンツは表示切り替えボタン1005を操作しないと表示することができず、ユーザの操作負荷が増えるという問題がある。
一方、図9(B)では、1500番目のコンテンツ904を表示するため、表示区間803が選択されると、1500番目のコンテンツ904が表示領域901のほぼ中央に表示される。この結果、図10(B)においては、ユーザは指定位置805に対応するコンテンツ904とその近くに位置するコンテンツを一度に参照することができる。
このように、図9(A)および図9(B)に示す例では、指定位置804又は805に対応するコンテンツを表示領域901のほぼ中央に表示して、指定位置804又は805に対応するコンテンツの近辺に位置するコンテンツを何ら操作することなく参照可能とする。
以下、図9に示す画面を表示する際の表示制御について説明する。
図11は、本発明の第4の実施形態による情報処理装置で行われる表示制御を説明するためのフローチャートである。なお、図11に示すフローチャートにおける処理はCPU106がHDD109に格納された制御プログラムを読み出して起動し、各ユニットを制御することで行われる。
情報処理装置100が起動され、ユーザの操作によって特定のフォルダが選択されると、CPU106は変数INDEXおよび変数TRAGETの初期化を行って、ゼロを設定する(ステップS1101)。なお、ここでは、表示区間の配列は0から始まるものとする。
続いて、CPU106は変数INTERVALに表示区間の各々に属するコンテンツ数を設定する(ステップS1102)。図8に示す例では、表示区間の各々には1000のコンテンツが属するので、CPU106は変数INTERVALに「1000」を設定する。
次に、CPU106は表示区間の総数を取得して(ステップS1103)、表示区間の総数(表示区間数)と変数INDEXと比較し、INDEX<表示区間数であるか否かを判定する(ステップS1104)。INDEX≧表示区間数であると(ステップS1104において、NO)、CPU106は表示制御を終了する。
一方、INDEX<表示区間数であると(ステップS1104において、YES)、CPU106は変数INDEXで示される表示区間を取得する(ステップS1105)。
続いて、CPU106は前述の指定位置とステップS1105で取得した変数INDEXが示す表示区間とを比較して、指定位置が当該表示区間内に位置するか否かを判定する(ステップS1106)。
指定位置が変数INDEXで示す表示区間内に位置すると(ステップS1106において、YES)、CPU106は変数INDEXで示す表示区間の中央から指定位置までの距離(絶対値)を求める(ステップS1107)。そして、CPU106は当該距離と変数INTERVALとを比較して、距離<INTERVALであるか否かを判定する(ステップS1108)。
距離<INTERVALであると(ステップS1108において、YES)、CPU106は変数INTERVALに上記の距離を設定するとともに、変数TRAGETに変数INDEXの値を設定する(ステップS1109)。そして、CPU106は変数INDEXをインクリメント(INDEX=INDEX+1)して(ステップS1110)、ステップS1104の処理に戻る。
なお、ステップS1106において、指定位置が変数INDEXで示す表示区間内に位置しないと(ステップS1106において、NO)、CPU106はステップS1110の処理に進む。また、ステップS1108において、距離≧INTERVALであると(ステップS1108において、NO)、CPU106はステップS1110の処理に進む。
このようにして、表示制御を行うと、例えば、図8に示す表示区間において、指定位置804に対応する501番目のコンテンツについて表示区間801が選択されると、図9(A)に示すように501番目のコンテンツ902が表示領域901の中央に表示される。
同様に、図8に示す表示区間において、指定位置805に対応する1500番目のコンテンツについて表示区間803が選択されると、図9(B)に示すように1500番目のコンテンツ904が表示領域901の中央に表示される。
図12は、本発明の第4の実施形態による情報処理装置で行われる表示区間の選択を説明するための図である。そして、図12(A)はコンテンツ数が2500である場合の表示区間の選択を示す図であり、図12(B)はコンテンツ数が2501である場合の表示区間の選択を示す図である。
図12(A)および図12(B)において、表示区間1201には1番目から1000番目のコンテンツが属し、表示区間1202には501番目から1500番目のコンテンツが属している。同様に、表示区間1203には1001番目から2000番目のコンテンツが属し、表示区間1204には1501番目から2500番目のコンテンツが属している。そして、表示区間1205には2001番目から2500番目のコンテンツが属し、表示区間1210には2001番目から2500番目のコンテンツが属している。
なお、図12(A)に示す表示区間1205に属するコンテンツは表示区間1204に属するコンテンツに含まれるので、表示区間1205は不要であるが、図12(B)に示す表示区間1210と対比させるため図示されている。
また、図12(A)および図12(B)に示す表示区間1206〜1209、1211、および1212は前述の指定位置から選択される選択表示区間である。図示のように、選択表示区間1206には、表示区間1201に属するコンテンツのうち1番目から750番目のコンテンツが属する。選択表示区間1207には、表示区間1202に属するコンテンツのうち751番目から1250番目のコンテンツが属する。
選択表示区間1208には、表示区間1203に属するコンテンツのうち1251番目から1750番目のコンテンツが属する。選択表示区間1209には、表示区間1204に属するコンテンツのうち1751番目から2500番目のコンテンツが属する。
このように、図示の例では表示区間の重複を考慮して選択表示区間が選択される。なお、選択表示区間1206は選択表示区間が前に存在しないので選択表示区間1207および選択表示区間1208より広い範囲とされる。
また、選択表示区間1209においては、表示区間1205に属するコンテンツが表示区間1204のコンテンツに含まれるので、選択表示区間1207および選択表示区間1208より広い範囲とされる。
図12(B)において、表示区間1210には2001番目から2501番目のコンテンツが属する。選択表示区間1211には表示区間1204に属する1751番目から2250番目のコンテンツが属する。選択表示区間1212には、表示区間1210に属する2251番目から2501番目のコンテンツが属する。
ここでは、後述するように最後の表示区間の状態に応じて選択表示区間が調整される。以下、選択表示区間の選択および調整について説明する。
図13は、本発明の第4の実施形態による情報処理装置で行われる選択表示区間の選択および調整を説明するためのフローチャートである。なお、図13に示すフローチャートにおける処理はCPU106がHDD109に格納された制御プログラムを読み出して起動し、各ユニットを制御することで行われる。
情報処理装置100が起動され、ユーザの操作によって特定のフォルダが選択されると、CPU106は変数OVERLAPに表示区間の重なり(重複)数を設定する(ステップS1301)。図12に示す例においては、表示区間の重なり数は「500」となる。
続いて、CPU106は変数WIDTHに表示区間当たりのコンテンツ数から変数OVERLAPを減算した値を設定する(ステップS1302)。図12に示す例では、変数WIDTHは「500」となる。
次に、CPU106は指定位置から「1」を減算した後、さらに変数OVERLAP×1/2を減算した値を、変数SEARCHに設定する(ステップS1303)。なお、ここでは、指定位置が1から始まるものとしているので「1」を減算する。
続いて、CPU106は変数SEARCHを変数WIDTHで除算した値を変数TARGETに設定する(ステップS1304)。例えば、指定位置を1500番目のコンテンツとした場合には、変数TARGET=(1500−1−500/2)/500で求められ、その結果、変数TARGETは「2」となる。つまり、図8に示す表示区間において、指定位置805に対応する1500番目のコンテンツについて表示区間803が選択されていることになる。
続いて、CPU106は変数TARGETと0とを比較して、TARGET≧0であるか否かを判定する(ステップS1305)。変数TARGET<0であると(ステップS1305において、NO)、CPU106は変数TARGETに0を設定して(ステップS1306)、処理を終了する。これによって、図12に示す選択表示区間1206を選択することができる。
変数TARGET≧0であると(ステップS1305において、YES)、CPU106は表示区間の最後が1つ前の表示区間の重なり範囲であるか否かを確認する(ステップS1307)。表示区間の最後が1つ前の表示区間の重なり範囲であると(ステップS1307において、YES)、CPU106は表示区間の最終位置を取得する(ステップS1308)。例えば、図12(A)においては、表示区間の最終位置は「4」となる。
続いて、CPU106は変数TARGETとステップS1308で取得した表示区間の最終位置とを比較して、変数TARGET=最終位置であるか否かを判定する(ステップS1309)。変数TARGET=最終位置であると(ステップS1309において、YES)、CPU106は(最終位置−1)を変数TARGETに設定して(ステップS1310)、処理を終了する。この結果、図12に示す選択表示区間1212を選択することができる。
なお、ステップS1307において、表示区間の最後が1つ前の表示区間の重なり範囲でないと(ステップS1307において、NO)、CPU106は処理を終了する。また、ステップS1309において、変数TARGETが最終位置でないと(ステップS1309において、NO)、CPU106は処理を終了する。
ステップS1307の処理においては、例えば、図12(A)に示す表示区間1205のように、そのコンテンツが表示区間1204の重なり範囲である場合には、CPU106はステップS1308の処理に進む。一方、図12(B)に示す表示区間1210のように、そのコンテンツが表示区間1204の重なり範囲でない場合には、CPU106は処理を終了する。
例えば、図8に示す表示区間において、指定位置804に対応する501番目のコンテンツについて表示区間801が選択されると、図9(A)に示すように指定位置804に対応する501番目のコンテンツが表示領域901の中央に表示される。
同様に、図8に示す表示区間において、指定位置805に対応する1500番目のコンテンツについて表示区間803が選択されると、図9(B)に示す指定位置805に対応する1500番目のコンテンツが表示領域901の中央に表示される。
なお、上述のようにして選択された表示区間が現在表示している表示区間であった場合には、表示領域をスクロールするだけでよい。
このように、本発明の第4の実施形態では、ユーザが指定したコンテンツが属する表示区間が2以上となる際に、ユーザが指定したコンテンツが表示区間の中央付近に位置する表示区間が選択される。この結果、ユーザは表示区間の切り替えた際にユーザが指定したコンテンツとその近辺を一度に参照することができ、操作性が向上する。
上述の説明から明らかなように、図1に示す例においては、CPU106が選択手段、表示制御手段、および判定手段として機能することになる。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
この際、制御方法および制御プログラムの各々は、少なくとも選択ステップおよび表示制御ステップを有することになる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。