(57)【特許請求の範囲】
【請求項１】
複数の項目を所定の順序で並べることによって一覧表示画面に一覧表示する表示手段と、
ユーザによる前記一覧表示画面のスクロール指示を受け付ける操作手段と、
前記操作手段によるスクロール指示に応じて、前記一覧表示画面をスクロールさせるスクロール制御手段と、を有し、
前記スクロール制御手段は、前記所定の順序で並べられた複数の項目の先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示された状態において、最後尾から先頭または先頭から最後尾への所定方向へのスクロール指示を受け付けた場合、前記所定方向にスクロールさせた後に前記所定方向と反対方向へスクロールさせて、前記先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示された状態へ戻す跳ね返り処理を行い、前記跳ね返り処理の後さらに前記所定方向へのスクロール指示を受け付けたことに応じて、前記先頭および最後尾のいずれか一方の項目が表示されていた端部に他方の項目が表示されるようにスクロールさせ、その後、当該他方の項目が前記端部と逆側の端部に表示された状態で前記スクロールを一旦停止させる反転処理を行うように制御し、
さらに、前記スクロール制御手段は、前記反転処理により前記他方の項目が前記一覧表示画面の端部に表示されている状態で、最後尾から先頭または先頭から最後尾へのスクロール指示を受け付けた場合、前記先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示されている状態であっても、前記跳ね返り処理を行わずに、前記反転処理を行うように制御することを特徴とする表示制御装置。
【請求項２】
前記スクロール制御手段は、前記前記反転処理においてスクロールを一旦停止させた後、前記スクロールを再開させることを特徴とする請求項１に記載の表示制御装置。
【請求項３】
前記スクロール制御手段は、前記跳ね返り処理において、前記反対方向に規定量だけスクロールさせることを特徴とする請求項１または２に記載の表示制御装置。
【請求項４】
前記スクロール制御手段は、前記反転処理において、前記先頭および最後尾のいずれか一方の項目と前記他方の項目との間に項目を表示させない非表示領域を設けてスクロールさせることを特徴とする請求項１ないし３のいずれか１項に記載の表示制御装置。
【請求項５】
前記所定方向のスクロールとは、前記一覧表示画面に表示される項目の表示位置が、所定方向に移動するスクロールであり、
前記スクロール制御手段は、前記先頭および最後尾のいずれか一方の項目が、前記一覧表示画面の前記所定方向と逆側の端部に表示された場合、前記先頭および最後尾のいずれか一方の項目の後に、他方の項目を前記一覧表示画面の端部に表示されるようにスクロールさせることを特徴とする請求項１ないし４のいずれか１項に記載の表示制御装置。
【請求項６】
前記スクロール制御手段は、前記所定の順序で並べられた複数の項目の先頭および最後尾のいずれか一方の項目が、前記一覧表示画面の端部に表示された状態で、前記操作手段により前記所定方向のスクロール指示があった場合に、前記先頭および最後尾のいずれか一方の項目の後に、他方の項目を前記一覧表示画面の端部に表示されるようにスクロールさせることを特徴とする請求項１ないし５のいずれか１項に記載の表示制御装置。
【請求項７】
前記スクロール制御手段は、前記反転処理の後に、前記操作手段により前記所定方向へのスクロール指示があった場合に、前記スクロールを再開させることを特徴とする請求項１ないし６のいずれか１項に記載の表示制御装置。
【請求項８】
前記一覧表示画面では、前記複数の項目が複数の行および複数の列に並べられて表示され、
前記所定の方向へのスクロールは、行が移動する方向のスクロールであり、
前記スクロール制御手段は、前記先頭および最後尾のいずれか一方の項目が含まれる行が、前記一覧表示画面の端部に表示された状態において前記所定方向へスクロール指示を受け付けた場合に、前記跳ね返り処理または前記反転処理を行うことを特徴とする請求項１ないし７のいずれか１項に記載の表示制御装置。
【請求項９】
前記操作手段は、タッチパネルであることを特徴とする請求項１ないし８のいずれか１項に記載の表示制御装置。
【請求項１０】
前記操作手段は、十字ボタンであることを特徴とする請求項１ないし９のいずれか１項に記載の表示制御装置。
【請求項１１】
前記操作手段は、回転ホイールであることを特徴とする請求項１ないし９のいずれか１項に記載の表示制御装置。
【請求項１２】
前記複数の項目は、複数の画像であることを特徴とする請求項１ないし１１のいずれか１項に記載の表示制御装置。
【請求項１３】
スクロール指示を受け付ける第２の操作手段をさらに有し、
前記所定の順序で並べられた複数の項目の先頭および最後尾のいずれか一方の項目が、前記一覧表示画面の端部に表示された状態において前記所定方向のスクロール指示を受け付けた場合であっても、前記第２の操作手段によるスクロール指示である場合には、前記所定方向へのスクロールを停止させることを特徴とする請求項１ないし１２のいずれか１項に記載の表示制御装置。
【請求項１４】
前記跳ね返り処理は第１の跳ね返り処理と第２の跳ね返り処理を有し、前記反転処理は第１の反転処理と第２の反転処理を有し、
前記スクロール制御手段は、
前記所定の順序で並べられた複数の項目の先頭の項目が前記一覧表示画面の第１の端部に表示された状態において、先頭から最後尾への第１の方向へのスクロール指示を受け付けた場合、前記第１の方向にスクロールさせた後に前記第１の方向と反対の第２の方向へスクロールさせて、前記先頭の項目が前記第１の端部に表示された状態へ戻す第１の跳ね返り処理を行い、
前記第１の跳ね返り処理の後、さらに前記第１の方向へのスクロール指示を受け付けたことに応じて、前記先頭の項目が表示されていた前記第１の端部に最後尾の項目が表示されるようにスクロールさせ、その後、前記最後尾の項目が前記第１の端部と逆側の第２の端部に表示された状態で前記スクロールを一旦停止させる第１の反転処理を行い、
前記最後尾の項目が前記第２の端部に表示された状態において、最後尾から先頭への前記第２の方向へのスクロール指示を受け付けた場合、前記第２の方向にスクロールさせた後に前記第１の方向へスクロールさせて前記最後尾の項目が前記第２の端部に表示された状態へ戻す第２の跳ね返り処理を行い、
前記第２の跳ね返り処理の後、さらに前記第２の方向へのスクロール指示を受け付けたことに応じて、前記最後尾の項目が表示されていた前記第２の端部に前記先頭の項目が表示されるようにスクロールさせ、その後、前記先頭の項目が前記第１の端部に表示された状態で前記スクロールを一旦停止させる第２の反転処理を行い、
さらに、前記第１の反転処理により前記最後尾の項目が前記第２の端部に表示された状態においては、前記第２の方向へのスクロール指示を受け付けた場合であっても、前記第２の跳ね返り処理は行わずに前記第２の反転処理を行うように制御し、前記第２の反転処理により前記先頭の項目が前記第１の端部に表示された状態においては、前記第１の方向へのスクロール指示を受け付けた場合であっても、前記第１の跳ね返り処理は行わずに前記第１の反転処理を行うように制御することを特徴とする請求項１ないし１３のいずれか１項に記載の表示制御装置。
【請求項１５】
複数の項目を所定の順序で並べることによって一覧表示画面に一覧表示する表示手段への表示を制御する表示制御方法であって、
ユーザによる前記一覧表示画面のスクロール指示を受け付ける受付工程と、
前記スクロール指示に応じて、前記一覧表示画面をスクロールさせるスクロール制御手段工程と、を有し、
前記スクロール制御工程では、前記所定の順序で並べられた複数の項目の先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示された状態において、最後尾から先頭または先頭から最後尾への所定方向へのスクロール指示を受け付けた場合、前記所定方向にスクロールさせた後に前記所定方向と反対方向へスクロールさせて、前記先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示された状態へ戻す跳ね返り処理を行い、前記跳ね返り処理の後さらに前記所定方向へのスクロール指示を受け付けたことに応じて、前記前記先頭および最後尾のいずれか一方の項目が表示されていた端部に他方の項目が表示されるようにスクロールさせ、その後、当該他方の項目が前記端部と逆側の端部に表示された状態で前記スクロールを一旦停止させる反転処理を行うように制御し、
さらに、前記スクロール制御工程では、前記反転処理により前記他方の項目が前記一覧表示画面の端部に表示されている状態で、最後尾から先頭または先頭から最後尾へのスクロール指示を受け付けた場合、前記先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示されている状態であっても、前記跳ね返り処理を行わずに、前記反転処理を行うように制御することを特徴とする表示制御方法。
【請求項１６】
コンピュータを、請求項１ないし１４のいずれか１項に記載の表示制御装置の各手段として機能させるためのプログラム。
【請求項１７】
コンピュータを、請求項１ないし１４のいずれか１項に記載の表示制御装置の各手段として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。
【請求項１８】
コンピュータに請求項１５に記載の表示制御方法を実行させるためのプログラム。
【請求項１９】
コンピュータに請求項１５に記載の表示制御方法を実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面をスクロールするための表示制御技術に関する。
【背景技術】
【０００２】
最近のデジタル撮影機器は、複数の画像を所定の順序で並べて画面に一覧表示できるものが一般的であるが、一画面に表示できる画像数には限りがある。このため、機器が保有する画像ファイル数が一画面に表示できる枚数を超えている場合には、ユーザは画面を上下方向にスクロールする操作を行うことによって、未表示の画像を画面に表示させることになる。このスクロールの途中に、特定の区切りに到達すると、すぐさま画面が反対側の端部（逆端）からの一覧表示に切り替わる。例えば、ファイル番号順で並べられた画像群において、先頭の画像列（上端）に到達すると、すぐさま画面が最後尾の画像列（下端）からの一覧表示に切り替わるような表示制御がなされる。しかしながら、スクロールの途中に、特定の区切りに到達すると、すぐさま画面が逆端からの一覧表示に切り替わってしまうと、上端と下端の画像の区切りを明確に把握できない。
【０００３】
例えば、特許文献１には、連続的なスクロール指示が行われている場合には、特定の区切りに到達しても、すぐさま画面が逆端からの一覧表示に切り替わらず、スクロール指示が不連続な場合にのみ、逆端への切り替えをすぐに行う技術が提案されている。また、特許文献２には、スクロールの途中であっても、画像群の端部に到達すると、それまでのスクロール操作に要した時間分だけ逆端への切り替えを一時的に停止する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−０７１１６５号公報
【特許文献２】特開２００６−２５２３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１では、逆端への切り替えをすぐに行いたい場合、スクロール操作を一旦停止し、再度行うという煩雑な操作が必要となる。また、特許文献２では、逆端への切り替えが一時的に停止されるため、停止中に表示される項目は確認しやすいものの、一定時間が経過して逆端への切り替え後に、すぐにスクロールが開始されるため、逆端側の項目の確認が困難となる場合がある。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、スクロールの途中に、一覧表示された項目における特定の区切りを容易に把握でき、端部に位置する項目の確認が容易にできる表示制御技術を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明の表示制御装置は、複数の項目を所定の順序で並べることによって一覧表示画面に一覧表示する表示手段と、ユーザによる前記一覧表示画面のスクロール指示を受け付ける操作手段と、前記操作手段によるスクロール指示に応じて、前記一覧表示画面をスクロールさせるスクロール制御手段と、を有し、前記スクロール制御手段は、前記所定の順序で並べられた複数の項目の先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示された状態において、最後尾から先頭または先頭から最後尾への所定方向へのスクロール指示を受け付けた場合、前記所定方向にスクロールさせた後に前記所定方向と反対方向へスクロールさせて、前記先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示された状態へ戻す跳ね返り処理を行い、前記跳ね返り処理の後さらに前記所定方向へのスクロール指示を受け付けたことに応じて、前記先頭および最後尾のいずれか一方の項目が表示されていた端部に他方の項目が表示されるようにスクロールさせ、その後、当該他方の項目が前記端部と逆側の端部に表示された状態で前記スクロールを一旦停止させる反転処理を行うように制御し、さらに、前記スクロール制御手段は、前記反転処理により前記他方の項目が前記一覧表示画面の端部に表示されている状態で、最後尾から先頭または先頭から最後尾へのスクロール指示を受け付けた場合、前記先頭および最後尾のいずれか一方の項目が前記一覧表示画面の端部に表示されている状態であっても、前記跳ね返り処理を行わずに、前記反転処理を行うように制御する。
【発明の効果】
【０００８】
本発明によれば、スクロールの途中に、一覧表示された項目における特定の区切りを容易に把握でき、端部に位置する項目の確認が容易にできる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る実施形態のデジタルカメラの外観図。
【図２】本実施形態のデジタルカメラのブロック図。
【図３】本実施形態の一覧表示画面においてスクロールを行った場合の模式図。
【図４】本実施形態のスクロール制御における跳ね返り処理を示す模式図。
【図５】本実施形態のスクロール制御における反転処理を示す模式図。
【図６】本実施形態によるスクロール制御処理を示すフローチャート。
【図７】本実施形態によるスクロール状態判定処理を示すフローチャート。
【図８】本実施形態によるスムーズスクロール処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための最良の形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１１】
［装置構成］図１及び図２を参照して、本発明の表示制御装置を適用した実施形態の撮像装置の構成について説明する。
【００１２】
本実施形態の撮像装置としてのデジタルカメラ１００の外観を示す図１において、１０１は撮影画像や各種情報をユーザに視認可能に表示するＬＣＤパネル等の表示部である。１０２はユーザが撮影指示を行うためのシャッターボタンである。１０３はユーザが各種モードを切り替えるためのモード切替スイッチである。１０４はユーザからの各種操作を受け付ける各種スイッチ、ボタン、タッチパネル等の操作部である。１０６は操作部１０４に含まれて、ユーザによる回転操作が可能なコントローラホイールである。１０５はユーザが電源のオン／オフを切り替える電源スイッチである。１０７はデジタルカメラ１００と外部機器（ＰＣやテレビ等）とをケーブル１０８で接続するためのコネクタである。１０９はメモリカードやハードディスク等の記録媒体である。１１０は記録媒体１０９を格納するためのスロットである。スロット１１０に格納された記録媒体１０９は、デジタルカメラ１００との通信が可能となる。１１１はスロット１１０を開閉するカバーである。
【００１３】
本実施形態のデジタルカメラ１００のブロック構成を示す図２において、２０１はフォーカスレンズを含む撮影レンズ、２０２は絞り機能を備えるシャッター、２０３は光学像を電気信号に変換するＣＣＤやＣＭＯＳ素子等で構成される撮像部である。２０４はＡ／Ｄ変換器であり、アナログ信号をデジタル信号に変換する。Ａ／Ｄ変換器２０４は、撮像部２０３から出力されるアナログ信号をデジタル信号に変換する。２０５はバリアであり、デジタルカメラ１００の、撮影レンズ２０１を含む撮像部を覆うことにより、撮影レンズ２０１、シャッター２０２、撮像部２０３を含む撮像系の汚れや破損を防止する。
【００１４】
２０６は画像処理部であり、Ａ／Ｄ変換器２０４からのデータ、又は、メモリ制御部２０７からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部２０６では、撮像した画像データを用いて所定の演算処理が行われ、得られた演算結果に基づいてシステム制御部２００が露光制御、測距制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＥＦ（フラッシュプリ発光）処理が行われる。画像処理部２０６では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてＴＴＬ方式のＡＷＢ（オートホワイトバランス）処理も行っている。
【００１５】
Ａ／Ｄ変換器２０４からの出力データは、画像処理部２０６及びメモリ制御部２０７を介して、或いは、メモリ制御部２０７を介してメモリ２０８に直接書き込まれる。メモリ２０８は、撮像部２０３によって得られＡ／Ｄ変換器２０４によりデジタルデータに変換された画像データや、表示部１０１に表示するための画像データを格納する。メモリ２０８は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
【００１６】
また、メモリ２０８は画像表示用のメモリ（ビデオメモリ）を兼ねている。２０９はＤ／Ａ変換器であり、メモリ２０８に格納されている画像表示用のデータをアナログ信号に変換して表示部１０１に供給する。こうして、メモリ２０８に書き込まれた表示用の画像データはＤ／Ａ変換器２０９を介して表示部１０１により表示される。表示部１０１は、ＬＣＤ等の表示画面にＤ／Ａ変換器２０９からのアナログ信号に応じた表示を行う。Ａ／Ｄ変換器２０４によって一旦Ａ／Ｄ変換されてメモリ２０８に蓄積されたデジタル信号をＤ／Ａ変換器２０９においてアナログ変換し、表示部１０１に逐次転送してスルー画像表示することで、電子ビューファインダ（ＥＶＦ）として機能する。
【００１７】
不揮発性メモリ２１０は、電気的に消去・記録可能なメモリであり、例えばＥＥＰＲＯＭ等が用いられる。不揮発性メモリ２１０には、システム制御部２００の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは主として、図６乃至図８で後述するフローチャートを実行するためのプログラムのことである。
【００１８】
２００はシステム制御部であり、デジタルカメラ１００全体を制御する。前述した不揮発性メモリ２１０に格納されたプログラムを実行することで、後述するフローチャートの各処理を実現する。２１１はシステムメモリであり、ＲＡＭが用いられる。システムメモリ２１１には、システム制御部２００の動作用の定数、変数、不揮発性メモリ２１０から読み出したプログラム等を展開する。また、システム制御部２００はメモリ２０８、Ｄ／Ａ変換器２０９、表示部１０１等を制御することにより表示制御も行う。システムタイマー２１２は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
【００１９】
モード切替スイッチ１０３、操作部１０４、シャッタースイッチ２１３，２１４はシステム制御部２００に各種の動作指示を入力するための操作手段である。モード切替スイッチ１０３は、システム制御部２００の動作モードを静止画記録モード、動画記録モード、再生モード等のいずれかに切り替える。シャッタースイッチ２１３は、デジタルカメラ１００に設けられたシャッターボタン１０２の操作途中、いわゆる半押し（撮影準備指示）でオンとなり第１シャッタースイッチ信号ＳＷ１を発生する。第１シャッタースイッチ信号ＳＷ１により、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の動作を開始する。
【００２０】
シャッタースイッチ２１４は、シャッターボタン１０２の操作完了、いわゆる全押し（撮影指示）でオンとなり、第２シャッタースイッチ信号ＳＷ２を発生する。システム制御部２００は、第２シャッタースイッチ信号ＳＷ２により、撮像部２０３からの信号の読み出しから記録媒体１０９に画像データを書き込むまでの一連の撮影処理の動作を開始する。
【００２１】
操作部１０４の各操作部材は、表示部１０１に表示される種々の機能アイコンを選択操作することなどにより、場面ごとに適宜機能が割り当てられ、各種機能ボタンとして作用する。機能ボタンとしては、例えば終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン、属性変更ボタン等がある。例えば、メニューボタンが押されると各種の設定可能なメニュー画面が表示部１０１に表示される。ユーザは、表示部１０１に表示されたメニュー画面と、４方向ボタンやＳＥＴボタンとを用いて直感的に各種設定を行うことができる。
【００２２】
コントローラホイール１０６は、操作部１０４に含まれる回転操作可能な操作部材であり、方向ボタンと共に選択項目を指示する際などに使用される。コントローラホイール１０６を回転操作すると、操作量に応じて電気的なパルス信号が発生し、このパルス信号に基づいてシステム制御部２００はデジタルカメラ１００の各部を制御する。このパルス信号によって、コントローラホイール１０６が回転操作された角度や、何回転したかなどを判定することができる。なお、コントローラホイール１０６は回転操作が検出できる操作部材であればどのようなものでもよい。例えば、ユーザの回転操作に応じてコントローラホイール１０６自体が回転してパルス信号を発生するダイヤル操作部材であってもよい。また、タッチセンサよりなる操作部材で、コントローラホイール１０６自体は回転せず、コントローラホイール１０６上でのユーザの指の回転動作などを検出するものであってもよい（所謂、タッチホイール）。
【００２３】
２１５は電源制御部であり、電池検出回路、ＤＣ−ＤＣコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部２１５は、その検出結果及びシステム制御部２００の指示に基づいてＤＣ−ＤＣコンバータを制御し、必要な電圧を必要な期間、記録媒体１０９を含む各部へ供給する。
【００２４】
２１６は電源部であり、アルカリ電池やリチウム電池等の一次電池やＮｉＣｄ電池やＮｉＭＨ電池、Ｌｉ電池等の二次電池、ＡＣアダプター等からなる。２１７はメモリカードやハードディスク等の記録媒体１０９とのインターフェースである。記録媒体１０９は、メモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
【００２５】
［スクロールによる一覧表示画面の挙動］以下に、図３〜図５を参照して、一覧表示画面をスクロールする場合の表示形態について説明する。本実施形態では、スクロールの途中に、特定の区切りに到達すると、反対方向にわずかにスクロールしてまた元のスクロール方向に戻る（跳ね返り処理）や、区切りを跨ぐ際にスクロールを一旦停止した後、元の方向へのスクロールを再開する（反転処理）を行う。
【００２６】
本実施形態における一覧表示画面では、複数の画像（項目）が縦（列）方向及び横（行）方向に行列状に配列されるものとする。一覧表示画面中での画像の配置される位置は、ある行の左端から右端、続いて次の行の左端から右端という順に、画像ファイル名順、画像番号順、撮影日時順等の所定の順序で配置されるものとする。全ての画像を１画面に表示しきれない場合は、画面をスクロールすることによって更に前、あるいは更に後の行に配置される画像を表示することができる。
【００２７】
図３は本実施形態の一覧表示画面においてスクロールを行った場合の模式図である。
【００２８】
図３（ａ）はスクロールする前の静止した状態を示している。本実施形態では、一覧表示の際には、１画面に６行７列の４２枚の画像が表示されるものとする。なお、以下では、Ｙ行目のＸ列目に表示される画像を便宜的に画像Ｙ：Ｘと表記する。
【００２９】
図３（ｂ）は、図３（ａ）の状態から、わずかに上から下にスクロールした状態を示している。図３（ｂ）では、図３（ａ）に比べて全ての画像が上から下に移動している。以下では、この場合のスクロール方向を下と表記する（すなわち、スクロールにおける画像の移動方向をスクロール方向とする）。図３（ｂ）では、スクロール前の１行目の画像が一部表示されており、スクロールの移動量は１行未満である。
【００３０】
図３（ｃ）は、図３（ａ）の状態から図３（ｂ）の状態を経て、図３（ａ）よりちょうど１行分だけ下にスクロールした状態を示している。
【００３１】
図４は本実施形態の一覧表示画面においてスクロールを行い画面端部まで到達した場合にスクロールが跳ね返る処理を示す模式図である。
【００３２】
図４（ａ）は、図３（ａ）〜（ｃ）の状態を経て更に図３（ｃ）よりちょうど１行分下にスクロールし、上端に到達した状態を示しており、画像０：１が全ての画像における先頭画像であり、０行目が上端となる。
【００３３】
図４（ｂ）は、図３（ａ）〜（ｃ）及び図４（ａ）の状態を経て更に下にスクロールした状態を示しており、先頭画像を含む０行目が最上段となる位置から規定量だけ下にスクロールを行う。ここで、図４（ａ）から図４（ｂ）までの状態を跳ね返り（行き）中と呼ぶ。
【００３４】
図４（ｃ）は、図３（ａ）〜（ｃ）及び図４（ａ）〜図４（ｂ）の状態を経た後、上に跳ね返って反対方向にスクロールし、図４（ａ）と同じ位置で停止した状態を示している。ここで、図４（ｂ）から図４（ｃ）までの状態を跳ね返り（戻り）中と呼ぶ。
【００３５】
このように一覧表示画面の上端に到達した際に跳ね返り処理を実行することで、上端に到達したことが明示でき、かつユーザがスクロールを停止する時間的な余裕ができるため、端部でスクロールを停止することが容易になる。
【００３６】
また、上端の更に上側領域に画像が非表示とされる空白領域４００を設けることで、現在位置が端部であることをユーザが認識しやすくなる。
【００３７】
図５は、図４（ｃ）の状態から下にスクロールを行い一覧表示画面の上端から反対側の端部（逆端）である下端へ一覧表示を反転する処理を示す模式図であり、この状態を反転中と呼ぶ。
【００３８】
図５（ａ）は、逆端側である下端へスクロールを反転している状態を示しており、先頭画像を含む０行目と、最後尾画像を含む行（２０行目）の間には画像が非表示とされる空白領域５００が設けられている。
【００３９】
図５（ｂ）は、図５（ａ）の状態から逆端側である下端への一覧表示の反転が完了した状態、すなわち最後尾の画像２０：７を含む２０行目が最下段となる位置になった状態を示している。図示のタイミングでスクロールを一旦停止し（数百ｍｓｅｃ程度で、スクロールの速度がゼロになる瞬間があれば良い）、元の方向へのスクロールを再開する。これにより、ユーザは逆端側の画像をも容易に確認することができる。
【００４０】
なお、図３乃至図５では画面を下にスクロールし、一覧表示を上端から下端に反転した例を説明したが、画面を上にスクロールし、下端から上端に反転させる場合には上記と反対の動作になる。
【００４１】
［一覧表示処理］図６乃至図８を参照して、本実施形態による一覧表示処理について説明する。なお、図６乃至図８のフローチャートは、システム制御部２００が不揮発性メモリ２１０に格納されたプログラムをシステムメモリ２１１のワークエリアに展開して実行し、デジタルカメラ１００の各部を制御することで実現する。
【００４２】
なお、図６乃至図８のフローチャートの説明に登場する用語の意味は下記の通りである。
【００４３】
正位置：一覧表示される画像群が一覧表画面の開始位置からちょうど整数行分移動した位置。
【００４４】
行Ｏｆｆｓｅｔ：スクロールを１行単位よりも細かい滑らかな動作（以下、アニメーション）とするため、正位置から１行以下でずらしていく位置を示すための変数（整数値）（システムメモリ２１１に記憶される）。
【００４５】
行Ｏｆｆｓｅｔの規定値：ちょうど１行分のスクロールを行う間にアニメーションのために表示を更新する回数を示す定数。換言すると、ちょうど１行分ずらした際の行Ｏｆｆｓｅｔの値を示す定数（不揮発性メモリ２１０に予め記憶されている）。この行Ｏｆｆｓｅｔの規定値が大きいほどアニメーションはより細く滑らかになり、規定値が小さいほどアニメーションはより粗くなる（下記式参照）。
【００４６】
［アニメーションにおける１回の表示更新での表示画像の表示画面上での移動量］＝［１行分表示するのに必要な表示用ＶＲＡＭの縦方向ライン数］／［行Ｏｆｆｓｅｔの規定値］
スクロールカウンタ：ある時点において更にスクロールすべき行数を示す変数。ユーザからのスクロール指示に応じて加算あるいは減算される。実際にスクロール操作が行われるとスクロールされた行数分を加算または減算する。
【００４７】
アニメーションタイマー：スクロール中に表示を１回更新するまでの周期をカウントするタイマー。一般的にはこの逆数を以てフレームレートを表す。この値が小さくなるほどアニメーションのフレームレートは上がるが、システムの負荷も高くなる（この周期は定数。数１０ｍｓｅｃ程度）。
【００４８】
跳ね返り行数の規定値：先頭画像を含む行が最上段に表示される正位置から跳ね返る際に移動する最大行数（不揮発性メモリ２１０に予め記憶されている）。
【００４９】
空白行数の規定値：先頭画像を含む行と最後尾画像を含む行の間にある画像を表示しない行の数（不揮発性メモリ２１０に予め記憶されている）。
【００５０】
スクロール状態：跳ね返り（行き）、跳ね返り（戻り）、反転中以外の通常状態（システムメモリ２１１に記憶される）。
【００５１】
＜スクロール制御（図６）＞次に、図６を参照して、本実施形態のスクロール制御処理について説明する。
【００５２】
図６において、Ｓ６０１では、システム制御部２００は、スクロール状態判定処理を行う。この処理の詳細は図７を用いて後述する。
【００５３】
Ｓ６０２では、システム制御部２００はアニメーションタイマーが稼動中か否かを判定する。すなわち、スクロールの途中であるか否かの判定である。アニメーションタイマーが稼動中でない（スクロールの途中ではない）と判定した場合は、Ｓ６０４に進み、ユーザからのスクロール指示を受け付けたか否かを判定する。
【００５４】
本実施形態では、スクロール指示に応じて上方向か下方向の任意の方向にスクロールを行うことができる。例えば、操作部１０４に含まれる十字に配置された方向ボタンのうち上ボタンが押下されると、下方向へのスクロール（表示画像の位置を下に移動し、現在表示している画像より上に配置された画像を閲覧するためのスクロール）の指示を受け付けたと判定する。反対に、下ボタンが押下されると、上方向へのスクロール（表示画像の位置を上に移動し、現在表示している画像よりも下に配置された画像を閲覧するためのスクロール）の指示を受け付けたと判定する。
【００５５】
タッチパネルでスクロール指示を行える機器ならば、タッチパネルを下から上になぞる操作で上方向へのスクロール、上から下になぞる操作で下方向へのスクロールの指示を受け付けたと判定する。また、回転ホイールを回転する操作で、回転方向に応じたスクロールの指示を受け付けたと判定しても良い。
【００５６】
Ｓ６０４で、スクロール指示を受け付けていないと判定した場合は図６の処理を終了し、スクロール指示を受け付けたと判定した場合は、Ｓ６０５に進み、アニメーションタイマーをスタートさせ図６の処理を終了する。
【００５７】
Ｓ６０３では、システム制御部２００はスムーズスクロール処理を行う。スムーズスクロール処理は、アニメーションタイマーがタイムアウトするごとに行Ｏｆｆｓｅｔの分だけ正位置よりずらすことで、滑らかなアニメーションのスクロールを実行する処理である。スムーズスクロール処理の詳細は図８を用いて後述する。
【００５８】
Ｓ６０６では、システム制御部２００は行Ｏｆｆｓｅｔがゼロであるか否かを判定する。行Ｏｆｆｓｅｔがゼロであると判定した場合はＳ６０７に進む。行Ｏｆｆｓｅｔがゼロである場合とは、一覧表示される画像群が正位置に表示されている状態である。一方、行Ｏｆｆｓｅｔがゼロでないと判定した場合は図６の処理を終了する。行Ｏｆｆｓｅｔがゼロでない場合とは、一覧表示される画像群がちょうど整数行分の位置から行Ｏｆｆｓｅｔ分だけずれた位置に表示されている状態である。スクロールの途中の状態であり、アニメーションタイマーが稼動している。
【００５９】
Ｓ６０７では、システム制御部２００はスクロールカウンタがゼロであるか否かを判定する。これは、一覧表示される画像群の表示位置がちょうど整数分の位置である場合に、更にスクロールを行うべきか否かの判定である。スクロールカウンタがゼロであると判定した場合は、これ以上スクロールを行う必要がないので、図６の処理を終了する。スクロールカウンタがゼロでないと判定した場合はＳ６０８へ進み、更にもう１行スクロールするための処理を行う。
【００６０】
Ｓ６０８では、システム制御部２００はスクロールカウンタの値がゼロ以下であるか否かを判定する。スクロールカウンタが負の値であればスクロール方向は下方向である。逆に、スクロールカウンタが正の値であればスクロール方向は上方向である。スクロールカウンタの値がゼロ以下であると判定すると、Ｓ６０９へ進み、スクロールカウンタの値が正の値であるとＳ６１０へ進む。
【００６１】
Ｓ６０９では、正位置を１行下にずらし、スクロールカウンタの値を１インクリメントする。
【００６２】
Ｓ６１０では、正位置を１行上にずらし、スクロールカウンタの値を１ディクリメントする。
【００６３】
Ｓ６０９あるいはＳ６１０の処理を終えると、図６の処理を終了する。
【００６４】
＜スクロール状態判定処理（図７）＞次に、図７を参照して、図６のＳ６０１におけるスクロール状態判定処理について説明する。
【００６５】
図７において、Ｓ７０１では、システム制御部２００は行Ｏｆｆｓｅｔがゼロであり、かつスクロールカウンタがゼロであるか否かを判定する。そして、行Ｏｆｆｓｅｔ及びスクロールカウンタの少なくともいずれかがゼロでない場合は、スクロール状態は変更せず、図７の処理を終了する。一方、行Ｏｆｆｓｅｔ及びスクロールカウンタが共にゼロの場合はＳ７０２に進む。
【００６６】
Ｓ７０２では、システム制御部２００はスクロール状態が跳ね返り（行き）中であるか否かを判定する。スクロール状態が跳ね返り（行き）中である場合はＳ７１２に進み、そうでなければＳ７０３に進む。
【００６７】
（跳ね返り（戻り）状態）
Ｓ７１２では、システム制御部２００はスクロール状態を跳ね返り（戻り）状態であると判定し、システムメモリ２１１に記憶し、Ｓ７１３に進む。
【００６８】
Ｓ７１３では、システム制御部２００は上端が跳ね返り中であるか否かを判定し、上端跳ね返り中の場合はＳ７１４に進み、そうでなければＳ７１５に進む。
【００６９】
Ｓ７１４では、システム制御部２００はスクロールカウンタに−（跳ね返り行数の規定値）をセットする。
【００７０】
Ｓ７１５では、システム制御部２００はスクロールカウンタに（跳ね返り行数の規定値）をセットする。
【００７１】
Ｓ７０３では、システム制御部２００はユーザからのスクロール指示を受け付けたか否かを判定する。スクロール指示を受け付けた場合はＳ７０４に進み、そうでなければＳ７１６に進む。
【００７２】
（通常状態）
Ｓ７１６では、システム制御部２００はスクロール状態を通常状態であると判定し、システムメモリ２１１に記憶する。
【００７３】
Ｓ７０４では、システム制御部２００はスクロール状態が跳ね返り（戻り）状態であるか否かを判定する。スクロール状態が跳ね返り（戻り）状態である場合はＳ７０５に進み、そうでなければＳ７０７に進む。
【００７４】
Ｓ７０５では、システム制御部２００は上端が最上端にあり、かつ下方向へのスクロール指示を受け付けたか否かを判定する。上端が最上段にあり、かつ下方向へのスクロール指示を受け付けた場合はＳ７１７に進み、そうでなければＳ７０６に進む。
【００７５】
Ｓ７０６では、システム制御部２００は下端が最下段であり、かつ上方向へのスクロール指示を受け付けたか否かを判定する。下端が最下段であり、かつ上方向へのスクロール指示を受け付けた場合はＳ７１７に進み、そうでなければＳ７２１に進む。
【００７６】
（反転中）
Ｓ７１７では、システム制御部２００はスクロール状態を反転中であると判定し、システムメモリ２１１に記憶し、Ｓ７１８に進む。
【００７７】
Ｓ７１８では、システム制御部２００は下方向へのスクロール指示を受け付けたか否かを判定する。下方向へのスクロール指示を受け付けた場合はＳ７１９に進み、そうでなければＳ７２０に進む。
【００７８】
Ｓ７１９では、システム制御部２００はスクロールカウンタに−（空白行数の規定値）をセットする。
【００７９】
Ｓ７２０では、システム制御部２００はスクロールカウンタに（空白行数の規定値）をセットする。
【００８０】
Ｓ７０７では、システム制御部２００はスクロール状態が反転中であるか否かを判定する。反転中である場合はＳ７０８に進み、そうでなければＳ７１０に進む。
【００８１】
Ｓ７０８では、システム制御部２００は反転が上端から下端であり、かつ下方向へのスクロール指示を受け付けたか否かを判定する。反転が上端から下端であり、かつ下方向へのスクロール指示を受け付けた場合はＳ７２１に進み、そうでなければＳ７０９に進む。
【００８２】
Ｓ７０９では、システム制御部２００は反転が下端から上端であり、かつ上方向へのスクロール指示を受け付けたか否かを判定する。反転が下端から上端であり、かつ上方向へのスクロール指示を受け付けた場合はＳ７２１に進み、そうでなければＳ７１７に進む。
【００８３】
（通常状態）
Ｓ７２１では、システム制御部２００はスクロール状態を通常状態であると判定し、システムメモリ２１１に記憶し、Ｓ７２２に進む。
【００８４】
Ｓ７２２では、システム制御部２００は下方向へのスクロール指示を受け付けたか否かを判定する。下方向へのスクロール指示を受け付けた場合はＳ７２３に進み、そうでなければＳ７２４に進む。
【００８５】
Ｓ７２３では、システム制御部２００はスクロールカウンタを１ディクリメントする。
【００８６】
Ｓ７２４では、システム制御部２００はスクロールカウンタを１インクリメントする。
【００８７】
Ｓ７１０では、システム制御部２００は上端が最上段であり、かつ下方向へのスクロール指示を受け付けたか否かを判定する。上端が最上段であり、かつ下方向へのスクロール指示を受け付けた場合はＳ７２５に進み、そうでなければＳ７１１に進む。
【００８８】
Ｓ７１１では、システム制御部２００は下端が最上段であり、かつ上方向へのスクロール指示を受け付けたか否かを判定する。下端が最上段であり、かつ上方向へのスクロール指示を受け付けた場合はＳ７２５に進み、そうでなければＳ７２１に進む。
【００８９】
（跳ね返り（行き）状態）
Ｓ７２５では、システム制御部２００はスクロール状態を跳ね返り（行き）中であると判定し、システムメモリ２１１に記憶し、Ｓ７２６に進む。
【００９０】
Ｓ７２６では、システム制御部２００は上端が最上段に表示されているか否かを判定する。最上端である場合はＳ７２７に進み、そうでなければＳ７２８に進む。
【００９１】
Ｓ７２７では、システム制御部２００はスクロールカウンタに（跳ね返り行数の規定値）をセットする。
【００９２】
Ｓ７２８では、システム制御部２００はスクロールカウンタに−（跳ね返り行数の規定値）をセットする。
【００９３】
上記Ｓ７１４、Ｓ７１５、Ｓ７１６、Ｓ７１９、Ｓ７２０、Ｓ７２３、Ｓ７２４、Ｓ７２７、Ｓ７２８の各処理を終えると、図７の処理を終了する。
【００９４】
＜スムーズスクロール処理（図８）＞次に、図８を参照して、図６のＳ６０３におけるスムーズスクロール処理について説明する。
【００９５】
図８において、Ｓ８０１では、システム制御部２００はアニメーションタイマーが稼動中か否かを判定する。アニメーションタイマーが稼動中でない場合は、スクロールのアニメーション表示を行う必要がないので図８の処理を終了し、図６のＳ６０６へ進み、アニメーションタイマーが稼動中である場合はＳ８０２に進む。
【００９６】
Ｓ８０２では、システム制御部２００はアニメーションタイマーがタイムアウトしたか否かを判定する。アニメーションタイマーがタイムアウトしていない場合は、まだ表示を更新する必要がないので図８の処理を終了し、図６のＳ６０６に進み、アニメーションタイマーがタイムアウトした場合は表示を更新する必要があるのでＳ８０３へ進む。
【００９７】
Ｓ８０３では、システム制御部２００は行Ｏｆｆｓｅｔがゼロであるか否かを判定する。行Ｏｆｆｓｅｔがゼロでない場合は、一覧表示される画像群が、ちょうど整数行分の位置から行Ｏｆｆｓｅｔの分だけずれた位置に表示されている状態であり、スクロールの途中の状態である。よって、行Ｏｆｆｓｅｔがゼロでない場合はＳ８０５に進み、次の表示更新までの時間を計測するためにアニメーションタイマーをリスタートする。一方、行Ｏｆｆｓｅｔがゼロである場合はＳ８０４へ進む。
【００９８】
Ｓ８０４では、システム制御部２００はスクロールカウンタがゼロであるか否かを判定する。行Ｏｆｆｓｅｔがゼロでスクロールカウンタもゼロである場合は、画像群はちょうど整数行分の位置に表示されており、それ以上の行をスクロールする必要もないので、アニメーションのための表示更新は行わず、図８の処理を終了し、図６のＳ６０６に進む。一方、スクロールカウンタがゼロでない場合は、更にスクロールする必要があるので、Ｓ８０５へ進む。
【００９９】
Ｓ８０５では、システム制御部２００はアニメーションの次の表示更新までの時間を計測するためにアニメーションタイマーをリスタートする。
【０１００】
Ｓ８０６では、システム制御部２００はスクロールカウンタの値がゼロ以下であるか否かを判定する。スクロールカウンタが負の値であればスクロール方向は下方向である。スクロールカウンタの値がゼロ以下である場合はＳ８０７へ進み、スクロールカウンタが正の値である場合はＳ８０８へ進む。
【０１０１】
Ｓ８０７では、下方向へのスクロールの際にアニメーションとして表示された画像群を１段階下方へ移動するように、行Ｏｆｆｓｅｔを１ディクリメントする。
【０１０２】
Ｓ８０８では、Ｓ８０７とは反対に、上方向へのスクロールの際にアニメーションとして表示された画像群を１段階上方へ移動するように、行Ｏｆｆｓｅｔを１インクリメントする。
【０１０３】
Ｓ８０９では、システム制御部２００は表示部１０１の画面に正位置より行Ｏｆｆｓｅｔずらした位置に画像群を表示する。
【０１０４】
Ｓ８１０では、システム制御部２００は行Ｏｆｆｓｅｔの絶対値が規定値に達したか否かを判定する。規定値に達した場合はＳ８１１に進む。ここで規定値に達した場合とは、ちょうど１行分のスクロールが行われた場合である。規定値に達していない場合は図８の処理を終了して図６のＳ６０６に進む。
【０１０５】
Ｓ８１１では、システム制御部２００は行Ｏｆｆｓｅｔをゼロに設定すると同時に、スクロール方向に合わせて正位置を１行繰り下げるか１行繰り上げるようにように更新する。
【０１０６】
Ｓ８１１の処理を終えると図８の処理を終了し、図６のＳ６０６に進む。
【０１０７】
以上説明した図６乃至図８の処理によって図３乃至図５で示した動作を実現する。図６乃至図８の処理によれば、図３乃至図５でも説明したように、跳ね返り動作によって端部の画像の確認が行えるようになり、更に跳ね返り中にスクロール指示を停止することができるので意図しない反転を防ぐことができる。
【０１０８】
また、端部と端部の間に画像を表示しない領域を作ることで、端部であることが分かりやすくなる。更に、逆端側への反転を完了したタイミングでスクロールが停止することで、逆端側の画像の確認が容易となる。また、跳ね返りや反転時にユーザが特別な操作を行うことなく、スクロール指示を継続できるので操作が容易である。
【０１０９】
なお、操作部材に応じてスクロール指示を受けても反転を行わない構成としても良い。例えば、上下ボタンでは循環的なスクロールを行うが、コントローラホイール１０６によるスクロール指示では反転を行わず、端部で必ず停止するようにする。これにより、ユーザは操作部材を使い分けることで、端部でのスクロールを制御できる。
【０１１０】
また、上述した図６乃至図８の各処理は１つのハードウェアであるシステム制御部２００が行うものとして説明したが、それに限らず、複数のハードウェアが処理を分担することで行っても良い。
【０１１１】
また、上述した実施形態においては、本発明をデジタルカメラに適用した場合を例にして説明したが、これはこの例に限定されない。すなわち、本発明はパーソナルコンピュータやＰＤＡ、携帯電話端末や携帯型画像ビューワ、ディスプレイ付きプリンタ装置、デジタルフォトフレーム、ゲーム機、音楽プレーヤーなど、複数の画像をスクロール可能な表示制御装置であれば適用可能である。
【０１１２】
［他の実施形態］本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
0005676952.tif 000002
【図２】
0005676952.tif 000003
【図３】
0005676952.tif 000004
【図４】
0005676952.tif 000005
【図５】
0005676952.tif 000006
【図６】
0005676952.tif 000007
【図７】
0005676952.tif 000008
【図８】
0005676952.tif 000009