表示制御装置及び表示制御方法
【課題】画面上の表示エリアをボタンの配置(占有)で失うことなく、ブックマークするや今の場所を記憶させる、のようなボタンを押すなどの新しいボタンの使い方を覚えることなく、軟体的質感の軟体領域を有するアイテムリストの操作で、記憶と戻るという操作を行うことができる表示制御装置などを提供する。
【解決手段】ディスプレイ2205に表示されるアイテムに対するユーザのスクロール操作を受け付ける受付手段2202と、受け付けられたスクロール操作が所定の操作であるか否かを判断する判断手段2203と、スクロール操作が所定の操作である場合に、スクロール操作されたアイテムを指定アイテムとして指定し、指定アイテムとして指定されたアイテムの表示を所定の表示形式で表示させる表示制御手段2204とを備える。
【解決手段】ディスプレイ2205に表示されるアイテムに対するユーザのスクロール操作を受け付ける受付手段2202と、受け付けられたスクロール操作が所定の操作であるか否かを判断する判断手段2203と、スクロール操作が所定の操作である場合に、スクロール操作されたアイテムを指定アイテムとして指定し、指定アイテムとして指定されたアイテムの表示を所定の表示形式で表示させる表示制御手段2204とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスプレイ上に表示されるアイテムの表示を制御する表示制御装置及び表示制御方法に関する。
【背景技術】
【0002】
ユーザが、リスト(以下、アイテム列やアイテムリストとも言う)上に配置された複数のアイテムを、コントローラや指やマウスのドラッグ操作などによりスクロールさせて検索する技術がある(下記の特許文献1、図30を参照)。ユーザが、アイテムリスト上に配置されているアイテムのどれがよいかを漠然と模索する場合、ユーザはアイテムリスト上のアイテムをスクロールさせながら、くまなくキョロキョロ見渡す必要がある。
【0003】
従来のアイテムリストでは、アイテムを何個かスクロールさせると、元の位置に戻るためにはそれと同じ数だけ逆方向にスクロールさせる必要があった。そのため、ユーザは、自分が何個スクロールさせたか覚えておかなければいけなかった。仮に、「記憶」ボタンと「戻る」ボタンを設置させた場合には、後で戻りたいお気に入りの箇所で「記憶」ボタンを押して先へ進み、「記憶」ボタンを押した箇所へ戻りたい場合は「戻る」ボタンを押すことにより戻ることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−61631号公報(要約)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、スクロールするたびに「記憶」ボタンと「戻る」ボタンを押すという操作を行わなければならなく、ユーザにとって負担となる。元の位置に戻ることに対して負担のある作業が付随するとなると、新しいものを探すためにわざわざスクロールという行為をすることが面倒であるとユーザは感じてしまう恐れがある。また、「記憶」、「戻る」ボタンを設置すると、ボタンの領域分だけ画面上の表示エリアが占有されてしまう。さらに何のボタンなのか(どのような機能のボタンであるのか)覚えなければならず、アプリケーション全体の中でユーザが覚えなければいけない操作方法が増えることとなり、簡単なユーザインタフェースの提供という点で望ましくない。
【0006】
本発明は、上記の問題点に鑑み、上記ボタンを設置することなく、特定のアイテムを指定してブックマークさせ、そこに戻ったり先に進んだりという操作を物理的現象のような動きと交えて行うことができる表示制御装置及び表示制御方法を提供することを目的とする。
【0007】
すなわち、アイテムリスト上のアイテム間の間隔を一定の値ではなく、ユーザの指やマウスなどによる入力の動きに応じて変化させる。つまり、アイテムリストを指で寄せると折り込まれ、指を離すとその反動で伸びて戻る。アイテムリストを構成するアイテム間の間隔が一定(剛体)ではなく、変化する(軟体)という感覚をユーザに与える。このアイテム間の間隔が伸びたり縮んだりするアニメーションを体感することで、指を強く動かして、軟体であるアイテムリストのフレームに力を加えるとその形が変わるのでは?と直感的にユーザは予測できる。
【0008】
そして、それを裏付けるように、アイテム間に大きな収縮が起きた時点で、アイテムが折り込まれているという現象を発生させる。このアイテムリストを折り込むことによってユーザは任意のアイテムを指定できる。さらに、折り込まれたアイテムリストの上に、他のアイテムを積み重ねることができ、手を離すと積み重なりがほどけるという、質感、塑性力の演出によって、アイテムを指定してブックマークさせ、先に進んだりそこに戻ったりという直感的で容易な操作を達成させることができる。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明によれば、それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置であって、前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付ける受付手段と、受け付けられた前記スクロール操作が所定の操作であるか否かを判断する判断手段と、前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させる表示制御手段とを、備える表示制御装置が提供される。この構成により、特定のアイテムを指定してブックマークさせ、そこに戻ったり先に進んだりという操作を物理的現象のような動きと交えて行うことができる。なお、指定アイテムは、後述する折り込まれたアイテムに相当する。
【0010】
また、本発明の表示制御装置において、前記所定の操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を止める操作のいずれか1つであることは、本発明の好ましい態様である。
【0011】
また、本発明の表示制御装置において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0012】
また、本発明の表示制御装置において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0013】
また、本発明の表示制御装置において、前記所定の表示形式が、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式であることは、本発明の好ましい態様である。
【0014】
また、本発明の表示制御装置において、前記表示制御手段が、前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を前記受付手段が受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻すことは、本発明の好ましい態様である。
【0015】
また、本発明の表示制御装置において、前記表示制御手段が、前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させることは、本発明の好ましい態様である。なお、所定の位置は後述する停止線に相当する。
【0016】
また、本発明の表示制御装置において、前記表示制御手段が、前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置することは、本発明の好ましい態様である。なお、所定の表示エリアは後述する通常領域に相当し、他の所定の表示エリアは後述する近接領域に相当する。
【0017】
また、本発明の表示制御装置において、前記あらかじめ決められた操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作であることは、本発明の好ましい態様である。
【0018】
また、本発明の表示制御装置において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0019】
また、本発明の表示制御装置において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0020】
また、本発明の表示制御装置において、前記表示制御手段が、前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させることは、本発明の好ましい態様である。
【0021】
また、本発明の表示制御装置において、前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きいことは、好ましい態様である。
【0022】
また、本発明の表示制御装置において、前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記関数により表される力であることは、本発明の好ましい態様である。
【0023】
また、本発明によれば、それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置による表示制御方法であって、前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付けるステップと、受け付けられた前記スクロール操作が所定の操作であるか否かを判断するステップと、前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させるステップとを、有する表示制御方法が提供される。この構成により、特定のアイテムを指定してブックマークさせ、そこに戻ったり先に進んだりという操作を物理的現象のような動きと交えて行うことができる。なお、指定アイテムは、後述する折り込まれたアイテムに相当する。
【0024】
また、本発明の表示制御方法において、前記所定の操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を停止させる操作のいずれか1つであることは、本発明の好ましい態様である。
【0025】
また、本発明の表示制御方法において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0026】
また、本発明の表示制御方法において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0027】
また、本発明の表示制御方法において、前記所定の表示形式が、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式であることは、本発明の好ましい態様である。
【0028】
また、本発明の表示制御方法において、前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻すステップを更に有することは、本発明の好ましい態様である。
【0029】
また、本発明の表示制御方法において、前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させるステップを更に有することは、本発明の好ましい態様である。
【0030】
また、本発明の表示制御方法において、前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置するステップを更に有することは、本発明の好ましい態様である。
【0031】
また、本発明の表示制御方法において、前記あらかじめ決められた操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作であることは、本発明の好ましい態様である。
【0032】
また、本発明の表示制御方法において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0033】
また、本発明の表示制御方法において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0034】
また、本発明の表示制御方法において、前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させるステップを更に有することは、本発明の好ましい態様である。
【0035】
また、本発明の表示制御方法において、コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きいことは、本発明の好ましい態様である。
【0036】
また、本発明の表示制御方法において、コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記関数により表される力であることは、本発明の好ましい態様である。
【発明の効果】
【0037】
本発明の表示制御装置及び表示制御方法は、上記構成を有し、画面上の表示エリアをボタンの配置(占有)で失うことなく「ブックマークする」「今の場所を記憶させる」のようなボタンを押すなどの新しいボタンの使い方を覚えることなく、軟体的質感の軟体領域を有するアイテムリストの操作で「記憶」と「戻る」という操作を行うことができる。一度覚えたら忘れにくい操作であるため、表示制御装置及び表示制御方法は、より気軽で手軽な気持ちでユーザに操作させることができ、ユーザがマニュアルを読み返さなくても新しいアイテムの検索などをユーザにスクロールさせながら行わせることができる。
【図面の簡単な説明】
【0038】
【図1a】本発明の第1の実施の形態におけるアイテムリストの一例を示す図である。
【図1b】本発明の第1の実施の形態におけるアイテムリストがドラッグされた状態を示す図である。
【図2】本発明の第1の実施の形態のアイテムリストにおけるばねモデルの適用範囲を示す図である。
【図3a】本発明の第1の実態の形態におけるアイテムリストのばねモデルのパラメータの定義を説明するための図である。
【図3b】本発明の第1の実態の形態におけるばねモデルの計算プログラムコードの一例を示す図である。
【図3c】本発明の第1の実施の形態におけるアイテムが折り込まれた場合のばねモデルの計算プログラムコードの一例を示す図である。
【図4】本発明の第1の実態の形態におけるばねモデルのアイテムが移動する様子を示す図である。
【図5a】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子の一部を示す図である。
【図5b】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子の一部を示す図である。
【図5c】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子の一部を示す図である。
【図6a】本発明の第1の実施の形態におけるアイテムを上方向ドラッグ操作で折り込ませる様子の一部を示す図である。
【図6b】本発明の第1の実施の形態におけるアイテムを上方向ドラッグ操作で折り込ませる様子の一部を示す図である。
【図7a】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子を示す図である。
【図7b】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子を示す他の図である。
【図8a】本発明の第1の実施の形態におけるアイテムが逆方向に折り込まれた様子を示す図である。
【図8b】本発明の第1の実施の形態におけるアイテムにしおりのアイコンを描画させた様子を示す図である。
【図9a】本発明の第1の実施の形態における折り込まれたアイテムの右隣のアイテムを右へドラッグしている様子を示す図である。
【図9b】本発明の第1の実施の形態における折り込まれたアイテムの左隣のアイテムを左へドラッグしている様子を示す図である。
【図9c】本発明の第1の実施の形態における折り込まれたアイテムを左から右上にドラッグしている様子を示す図である。
【図9d】本発明の第1の実施の形態における折り込まれたアイテムを左右にドラッグしている様子を示す図である。
【図9e】本発明の第1の実施の形態における折り込まれたアイテムがほどけ、元の平坦なアイテムリストに戻った様子を示す図である。
【図10a】本発明の第1の実施の形態における折り込まれたアイテムの右側の領域を始点とする指のドラッグによる操作の定義について説明するための図である。
【図10b】本発明の第1の実施の形態における画面の枠内に設定された停止線を示す図である。
【図10c】本発明の第1の実施の形態におけるアイテムリストを右に弾いた様子を示す図である。
【図10d】本発明の第1の実施の形態における折り込まれたアイテムが停止線でスクロールを停止した様子を示す図である。
【図10e】本発明の第1の実施の形態におけるアイテムリストを左に弾いた様子を示す図である。
【図10f】本発明の第1の実施の形態における折り込まれたアイテムが停止線でスクロールを停止した様子を示す図である。
【図11a】本発明の第2の実施の形態における折り込まれたアイテムを示す図である。
【図11b】本発明の第2の実施の形態における折り込まれたアイテムに右からアイテムを積み重ねていく様子を示す図である。
【図11c】本発明の第2の実施の形態における折り込まれたアイテムと積み重なったアイテム群を左にドラッグする様子を示す図である。
【図11d】本発明の第2の実施の形態における折り込まれたアイテムに積み重なったアイテム群の右側のアイテムを始点として右側にドラッグしようとしている図である。
【図11e】本発明の第2の実施の形態における積み重なったアイテム群が崩れていく様子を示す図である。
【図11f】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図11g】本発明の第2の実施の形態におけるアイテムの積み重なりが一定時間放置されることにより自動的に崩れていく様子を示す図である。
【図11h】本発明の第2の実施の形態におけるアイテムの積み重なりが崩れて、折り込まれたアイテムだけが残った様子を示す図である。
【図12】本発明の第2の実施の形態における折り込まれたアイテムの右側の近接領域と通常領域での操作を説明するための図である。
【図13a】本発明の第2の実施の形態における近接領域を始点にした様子を示す図である。
【図13b】本発明の第2の実施の形態におけるアイテムリストをゆっくり左へドラッグしている様子を示す図である。
【図13c】本発明の第2の実施の形態におけるアイテムリストをゆっくり右へドラッグしている様子を示す図である。
【図14a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に左に弾こうとする様子を示す図である。
【図14b】本発明の第2の実施の形態におけるアイテムを左に弾いた様子を示す図である。
【図14c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図14d】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図15a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に右に弾こうとする様子を示す図である。
【図15b】本発明の第2の実施の形態におけるアイテムを右に弾いた様子を示す図である。
【図15c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図15d】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図16a】本発明の第2の実施の形態における折り込まれたアイテムを示す図である。
【図16b】本発明の第2の実施の形態における折り込まれたアイテムに左からアイテムを積み重ねていく様子を示す図である。
【図16c】本発明の第2の実施の形態における折り込まれたアイテムと積み重なったアイテム群を右にドラッグする様子を示す図である。
【図16d】本発明の第2の実施の形態における折り込まれたアイテムに積み重なったアイテムの左側のアイテムを始点として左側にドラッグしようとしている様子を示す図である。
【図16e】本発明の第2の実施の形態における積み重なったアイテムが崩れていく様子を示す図である。
【図16f】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図16g】本発明の第2の実施の形態におけるアイテムの積み重なりが一定時間放置され自動的に崩れていく様子を示す図である。
【図16h】本発明の第2の実施の形態におけるアイテムの積み重なりが崩れて、折り込まれたアイテムだけが残った様子を示す図である。
【図17】本発明の第2の実施の形態における折り込まれたアイテムの左側の近接領域と通常領域での操作を説明するための図である。
【図18a】本発明の第2の実施の形態における近接領域を始点にした様子を示す図である。
【図18b】本発明の第2の実施の形態におけるアイテムリストがゆっくりと左へドラッグしている様子を示す図である。
【図18c】本発明の第2の実施の形態におけるアイテムリストがゆっくりと右へドラッグしている様子を示す図である。
【図19a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に右に弾こうとする様子を示す図である。
【図19b】本発明の第2の実施の形態におけるアイテムを右に弾いた様子を示す図である。
【図19c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図19d】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図20a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に左に弾こうとする様子を示す図である。
【図20b】本発明の第2の実施の形態におけるアイテムを左に弾いた様子を示す図である。
【図20c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図20d】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図21a】本発明の第1、第2の実施の形態におけるイベントの分岐の処理フローの一例について説明するためのフローチャートである。
【図21b】本発明の第1、第2の実施の形態におけるアイテムスクロールが行われる際の分岐処理の処理フローの一例について説明するためのフローチャートである。
【図22】本発明の第2の実施の形態に係る表示制御装置の構成の一例を示す図である。
【図23a】本発明の第2の実施の形態における2つ目のアイテムの折り込みを入れようとしている様子を示す図である。
【図23b】本発明の第2の実施の形態における2つのアイテムが折り込まれた様子を示す図である。
【図23c】本発明の第2の実施の形態における2つのアイテムが平坦なアイテムの領域を間に持って折り込まれた様子を示す図である。
【図24a】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合を示す図である。
【図24b】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合の積み重なりの様子を示す図である。
【図24c】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合の反対側における積み重なりの様子を示す図である。
【図24d】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合の各領域の定義を説明するための図である。
【図25a】本発明の第2の実施の形態における2次元の平坦なアイテムリストを示す図である。
【図25b】本発明の第2の実施の形態におけるアイテムが折り込まれた2次元のアイテムリストを示す図である。
【図25c】本発明の第2の実施の形態におけるアイテムが折り込まれ積み重なった2次元のアイテムリストを示す図である。
【図25d】本発明の第2の実施の形態におけるアイテムが折り込まれ積み重なった2次元のアイテムリストを示す図である。
【図25e】本発明の第2の実施の形態における2次元の平坦なアイテムリストを示す図である。
【図25f】本発明の第2の実施の形態における折り込まれたアイテムの上下に積み重なった2次元のアイテムリストを示す図である。
【図25g】本発明の第2の実施の形態における折り込まれたアイテムの上に積み重なった2次元のアイテムリストを示す図である。
【図26a】本発明の第2の実施の形態におけるスティック型ハプティックコントローラを示す図である。
【図26b】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラを示す図である。
【図26c】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの移動角度と反発力を示す図である。
【図26d】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの移動距離と反発力を示す図である。
【図27a】本発明の第2の実施の形態における平坦なアイテムリストを示す図である。
【図27b】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの角度θと反発力Fの関係を示す図である。
【図27c】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの距離dXと反発力Fの関係を示す図である。
【図28a】本発明の第2の実施の形態におけるアイテムが折り込まれた様子を示す図である。
【図28b】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの角度θと反発力Fの関係を示す図である。
【図28c】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの距離dXと反発力Fの関係を示す図である。
【図29a】本発明の第2の実施の形態におけるアイテムを折り込もうとしている様子を示す図である。
【図29b】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの角度θと反発力Fの関係を示す図である。
【図29c】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの距離dXと反発力Fの関係を示す図である。
【図30】従来におけるコントローラや指やマウスのドラッグ操作でアイテムをスクロールさせる技術の例を示す図である。
【発明を実施するための形態】
【0039】
<第1の実施の形態>
以下、本発明の第1の実施の形態について述べる。図1a、図1bはアイテムリスト(上述のアイテム列に相当)10上に配置された複数のアイテムのスクロールの様子を示している。図1aは画面の中心(中心線上)にあるアイテム11が選択されている状態を示している。図1bはタッチパネルなどにより指でドラッグを行い、選択されたアイテム11が右に移った状態を示している。従来の技術であれば、これらアイテムを配置したアイテムリストのフレーム間隔、すなわちアイテム間の間隔は、ユーザがどのように指やマウスでジェスチャー入力しても、剛体のように固定されたもの(アイテム間の配置間隔が一定のもの)である。
【0040】
これに対し、本発明の提案するアイテムリストはアイテム間の連結部分(図2に示すエッジ21)に伸縮性を持たせたものとする。とりわけ、ここでは、ばねモデルを使ったものについて述べる。一般的なばねモデルの計算方法の一例(SOFTWARE-PRACTICE AND EXPERIENCE, VOL.21(1 1), 1129-1164(November 1991) Graph Drawing by Force-directed Placement)がある。
【0041】
図2はアイテムリストにどのようにばねモデルを適用しているのかを説明するための図である。図2に示すように、アイテム1つ1つの部分に、ばねモデルの点の部分であるノード20があり、ノード20間にはアイテム間の連結ばね部分であるエッジ21があるとする。ユーザからの入力によりばねの部分が伸縮する。
【0042】
実際には、アイテムリストが有するアイテムの数は1000個にも10000個にもなり得るため、すべてのアイテム間にばねをつけるのは計算量が膨大となり現実的ではない。ユーザがアイテムを直接操作できる領域は画面枠内のみであることから、画面の枠の内及び画面の枠の外の若干個数分のみを軟体領域(アイテム間が伸縮する領域)とし、その部分にのみアイテム間の伸縮を許可し、画面の中心から離れた画面上に表示されない部分は剛体領域(アイテム間が伸縮せずに一定の間隔の領域)とし、スクロールはしてもアイテム間の間隔(距離)は変わらないようにする。これにより計算量は減る。これは、物理現象で説明すると、ばねによる伸縮運動が摩擦によりすぐに失われてしまい遠くまで及ばない、画面の枠内からばねをいくら揺らしても、画面の枠から遠く離れたばねまでは伸縮運動を伝えることができないことと同様にして扱える。
【0043】
ここで、ばねモデルを使って本発明を実現させた場合の数値の定義について図3aから図3cを用いて説明する。図3aに示すように、あるアイテム1(Item1)に対しそのアイテム1の1次元の軸上の位置をItem1 Xとし、アイテム1の位置の微小移動量、すなわちある時間での速度をItem1 dXとする。隣接するアイテム間の距離は、隣接するアイテム同士の中心から中心までの距離としdeltaと定義する。アイテムは複数あるので、それぞれのアイテムごとにこれらの変数が定義される。
【0044】
図3bは、プログラムの一例としてばねモデルの計算プログラムコードと変数の定義を示している。このプログラムは、全体を繰り返し行う「forループ」で囲まれ、繰り返し回数「iteration」の数だけ計算を行う。これは、一回だけの計算結果があまりに変化のないものだった場合など、何回分かばね計算した結果をまとめて得たいときに繰り返し計算をさせる。
【0045】
プログラムそのものは大きく2つ(第1部と第2部)に分けられる。第1部がメインのばねによる計算部分で、第2部が第1部によって得られた新しいアイテムの速度、位置の値を更新する部分である。軟体領域にあるすべてのアイテムに付いているばねに関し、ばねの両側に付いているアイテムの移動距離を計算し、そのばねがどれだけ伸縮したかをdeltaとして計算する。deltaを下記の数式(1)に示す。ここでは、あるアイテムnに対し、右側に隣接するあるアイテムn+1との距離deltaを求めている。それに対するばねから発する力を「Force(delta)」として下記の数式(2)で定義する。これにより新たな位置や速度を求める。Lは力がかかってないときのばねの長さである。ここでは、すべてのばねが同一の長さLとなる。なお、kはばね係数である。
【0046】
delta=Item(n) X−Item(n+1) X・・・(1)
Force(delta)=−k×(L−delta)・・・(2)
【0047】
摩擦がないばねモデルであるとアイテム同士が伸縮を繰り返し、いつまでたっても止まらなくなってしまうため、ばね運動に摩擦による抵抗の効果を与える。プログラムの第2部の速度の更新部分で速度dXをdMaxかdXの小さいほうで切り取っている理由は摩擦を表現しているためである。はじめdMaxは大きいので影響はないが、減衰させる関数「dMax=Decrease(dMax)」によりdMaxをだんだん小さくしていくため、dXは最後には0(ゼロ)に落ち着く。減衰させる関数は入力値に対して、その入力値よりもさらに小さくした値を返す関数であり、適宜、安定させる関数を選択する。
【0048】
これらのプログラムは、ユーザが指やマウスを用いてドラッグや弾く操作を行い、軟体領域を有するアイテムリストに対して何らかの入力があると呼び出され(起動され)、新しいアイテムの位置と速度が更新されていく。図3cについては後で述べる。
【0049】
図4には、単純なばねモデルをアイテムリストに適用し、タッチパネルなどを介して指でアイテムを動かした場合のアイテムリストの動的変化の時系列が示されている。図4の(a)はアイテムリストに触れていない状態を示す。図4の(b)は画面の中心(画面の中心線上)にあるアイテムを指で左側にドラッグした瞬間を示す。図4(c)では、ある程度指を左にドラッグさせた後、指をパネルに触れたまま、指の動きを止めた様子を示す。図4(d)、(e)では、その後、指を離すと、ばねによりアイテムが左右に揺れだす様子を示す。
【0050】
ここまでは普通のばねモデルの説明であり、アイテムリストのあるアイテムでブックマークするといった操作とは直接関係ない。以降では、上述の指の動きによってユーザが軟体領域を有するアイテムリストを折り込むことで、如何にして任意のアイテムを指定できるかのアルゴリズムについて述べる。アイテムを指定するための折り込みのイベントが発生するトリガーはいくつか考えられるが、本発明では3つ提案する。
【0051】
1つ目の提案は、擬似的なばねモデルのようなアニメーション機能を備え、ジェスチャー認識で折り込むものである。図5a、図5bには、アイテムのドラッグ操作によりアイテムリストがスクロール(アイテムが配列される方向にスクロール)され、アイテムリストの隣接するアイテム同士の距離が個別に変わり、あるアイテムをドラッグさせると、アイテムのドラッグする方向側の隣接アイテム同士の距離は縮まり、アイテムのドラッグする逆方向側の隣接アイテム同士の距離は広がる様子が示されている。
【0052】
具体的な折り込みのイベントを発生させる方法としては、図6a、図6bに示すように、アイテムが並んでいる方向(アイテムが配列されている方向)とほぼ平行に移動してからその方向とほぼ垂直方向に移動するドラッグ操作で折り込みのイベントを発生させる方法がある。また、図5cに示すように、アイテムが並んでいる方向とほぼ平行に移動してからすぐにその方向と平行かつ逆の方向に動かすドラッグ操作で折り込みのイベントを発生させる方法もある。
【0053】
2つ目の提案も同様に、図7aのa〜e、図7bのf〜jのような擬似的なばねモデルのアニメーション機能を備え、かつ、イベントのトリガーはパラメータの値によるものである。図7aのbには、アイテムのドラッグ操作により、アイテムリストがスクロールし、アイテムリストの隣接するアイテム同士の距離が個別に変わり、あるアイテムをドラッグさせると、アイテムのドラッグする方向側の隣接アイテム同士の距離は縮まり、アイテムのドラッグする逆方向側の隣接アイテム同士の距離は広がる様子が示されている。
【0054】
折り込みのイベントを発生させる方法としては、図7aのcに示すように、あるアイテムをドラッグ操作により、ドラッグさせたアイテムと、それに隣接するアイテムとの距離(アイテム間の間隔であって、上述する所定の間隔に相当)がある一定の値を超えた、あるいは、ドラッグさせたアイテムと、それに隣接するアイテムとの距離の初期値からの変化量がある一定の値を超えたとき、折り込みのイベントを発生させる。図7aのdでは、アイテムが折り込まれた後、ばねモデルにより、アイテムが図4のd、eで示したように左右に揺れるべきであるが、本発明では異なる。本発明の特長としては、折り込まれたアイテムは、選択されたアイテムであり、それが画面内で左右に揺れると、ユーザが酔ってしまうという問題があるため、ばねモデルによる動きは、常に選択されたアイテムを画面に固定した形で、すなわち選択されたアイテムに相当するノードの部分の位置が固定されたまま、左右のノードが揺れるように計算される。図7aのd、eでは、図4のd、eと異なり、折り込まれたアイテムが画面内(ばねの固定位置)で固定されたまま、左右のアイテムが揺れて、次第に揺れがおさまる様子を示す。図7bのf〜jに関しても同様であり、後述する。
【0055】
3つ目の提案は、図7aのa〜eに示すばねモデルなどの力の方程式を使ったものであり、アイテムのスクロールにより、アイテムリストの隣接するアイテム同士の距離が個別に変わり、隣接するアイテム同士の距離の初期値からの変化量に依存する関数で表される力の方程式が定義される。その力が上述の隣接するアイテムに働き、それによりアイテムの位置や速度が計算され、ユーザがある特定のアイテムをドラッグさせることにより、ドラッグされたアイテムと隣接するアイテムとの間の距離が一定の値より変化した(一定の値を超えた)、あるいはドラッグされたアイテムと隣接するアイテムとの間に働く力が一定の値より変化した(一定の値を超えた)、あるいはドラッグされたアイテムとそれに隣接するアイテムとの速度(相対速度)が一定の値より変化した(一定の値を超えた)という条件により折り込みのイベントが発生する。
【0056】
これら3つに共通する折り込みの演出について説明する。図5aから図5cでは、アイテムリストが軟体領域を有することから、アイテム間の伸縮性を利用する。図5aで示すように、まず選択されている画面中心のアイテムに対し、指などのストロークにより右側にアイテムを移動させる。図5bに示すように、選択されたアイテムが右に移動したため左側のアイテムが右側に寄ってくる。そこで、図5cに示すように、左側にすばやく移動させると、右側に寄ってきた左側のアイテムと強く衝突することになり、アイテム間のばねが強く圧縮され、選択されていたアイテムが傾いてアイテムリスト上に折れ込んだ状態、すなわち、スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示(上述する所定の表示形式の一例)となる。
【0057】
この現象を、左右にドラッグさせるジェスチャー認識による判定(上述した1つ目の提案)で、アイテム間の距離やその距離の変化量の値からの判定(上述した2つ目の提案)で、力の方程式を定義し、アイテム間の距離やその距離の変化量、速度、力の値からの判定(上述した3つ目の提案)で、必要に応じて、それらをまぜて、アイテムの折れ込みイベントを発生させるようにできる。
【0058】
ばねモデルの動きを再現するための数学的手法についてプログラムの一例を図3bに示した。アイテムが折り込まれるまでは図3bで示されるようなコードになる。あるアイテムnに関して、隣接するアイテムn+1との距離はdelta、速度はItemn dX、隣接するアイテムn+1からの力はForceで定義され、その力の値からも折り込みイベントの判定を行う(上述した3つ目の提案)。
【0059】
上述した1つ目の提案のジェスチャー認識では、左右に揺らすというものの他に、図6a、図6bで示したような指のストロークによって、アイテムリストに平行な方向に、ある程度ドラッグしてアイテムリストの方向と垂直な方向へ方向転換してドラッグすることで、アイテムが折れ曲がってアイテムリストの中で配置されるというのも考えられる。この場合のジェスチャー認識において最も簡単なものとしては、ストロークの方向を上、右上、右、右下、下、左下、左、左上の8つの方向に分けておき、正解のテンプレートを「左」→「左上」→「上」とし、正解テンプレートと順番が同じであれば折り込ませる。もっと正確に行うには、微小ベクトルで表し、距離と方向のテンプレートマッチングから点数を出してある閾値より大きい場合、折り込ませるとする。
【0060】
いずれにせよ、アイテムの折り込みという特殊なイベントを起こさせるためには、普通のアイテムをスクロールさせるのとは異なる特殊な指の動きをする必要がある。実際には指のストロークのジェスチャー認識(上述した1つ目の提案)は、上述した2つ目の提案や3つ目の提案のアイテム間の距離、速度、力の条件との両方を併用して、精度の高い認識でアイテムの折り込みイベントを発生させることも可能である。
【0061】
図7aのa〜e、図7bのf〜jは、図5aから図5cで述べたようなばねを強く圧縮する方法でアイテムの折り込みを行った場合のアイテムリストの状況を詳細に時系列に示している。まず、図7aのa〜eまでについて述べる。図7aのaはアイテムリストに触れていない状態を示す。ユーザがたまたま画面の真ん中にある、動かすアイテムを指で触れてドラッグしようとしている。図7aのbは動かすアイテムを指で左側に移動させたときの状態を示す。ユーザの指によって無理やり右側にアイテムが移動させられたので、動くアイテムの右側のアイテム群のばねが圧縮されている。それと同時に、動くアイテムの左側のアイテム群は右側にドラッグされている動くアイテムに引っ張られて同様に右側に移動している。
【0062】
図7aのcでは、タッチパネル上で、ドラッグしていた指を突然止めることで、アイテムの移動を突然停止させた状態を示す。これにより、触れていたアイテムが選択され、折り込まれる。図7aのd、eでは、ばねモデルの計算により、折り込まれたアイテムが画面内で固定されたまま、その左右のアイテムが、左右に揺れ動き、やがてすべてが止まる様子を示す。
【0063】
図7bのf〜jについて述べる。図7bのfでは、アイテムリストに触れてない状態を示す。図7bのgでは、指でアイテムを右に移動させた場合を示す。図7bのhでは、突然、指を反対方向の左に移動させて、アイテムを逆方向に移動させる。これにより、このアイテムが折り込まれたアイテムとなる。図7bのi、jでは、ばねモデルの計算により、折り込まれたアイテムが画面内で固定されたまま、その左右のアイテムが、左右に揺れ動き、やがてすべてが止まる様子を示す。折り込みによって指定されたアイテムは、図8aに示すように逆向きに折り込まれたり、図8bに示すように指定されたアイテムにしおりのようなアイコンを描画させたりすることもできる。
【0064】
逆に、折り込んだアイテムを元に戻すという操作とそのためのイベント発生の条件について述べる。図9aから図9eには折り込まれたアイテムを元に戻すための操作が示めされている。図9aでは、折り込まれたアイテムの右隣のアイテムを右側に、ある一定以上の速度でドラッグする、あるいはばねモデルなどを適用した場合にある一定の力を与えてドラッグすることで、折り込まれたアイテムがあたかも強く引っ張られるという質感を演出しながら、図9eに示すような元の折り込まれてない状態に戻すことができる。
【0065】
また、図9aと同様な考え方で、図9bに示すように、折り込まれたアイテムの左隣のアイテムを左側に、ある一定以上の速度でドラッグする、あるいはばねモデルなどを適用した場合にある一定の力を与えてドラッグすることで折り込みをほどくことができる。また、図6aと同様な考え方で、図9cに示すように、折り込まれたアイテム上を始点として、アイテムリストの軸とほぼ垂直な方向に指を動かすことで折り込みを解除させることができる。
【0066】
また、図9dに示すように、折り込まれたアイテム上を始点として、アイテムリストの軸にほぼ平行に左右に一定の速度で移動させることで、あたかも折り込みを振り払う演出で、元の状態に戻すことができる。図9eには折り込みが解除された状態が示されている。折り込み解除のためのイベント発生の値は、折り込みのイベント発生のための値より緩く設定することも考えられる。
【0067】
以上により、特定のアイテムを折り込ませることで「指定したアイテム」にしたり、折り込みを元に戻すことで「指定を解除」したりすることがどのようにできるかを説明した。これは、上述のある特定のアイテムを「記憶」ボタンを押してブックマークさせておくということに相当する。
【0068】
次に、折り込みによって指定されたアイテムに対してどのように上述の「戻る」の操作を行うかについて図10aから図10fを用いて説明する。図10aには折り込みによって指定されたアイテムが示されている。図10bには画面内に指定された停止線が示されている。図10cは、アイテムリスト上で折り込まれたアイテムより右に離れた位置から折り込まれたアイテムの方向、つまり右方向へアイテムリストをスクロールしている状態を示している。図10dは、ユーザのコントローラや指がアイテムリストから離れた状態、つまりリリースされた状態で、アイテムリストが慣性力のみで移動しているときに、折り込まれたアイテムが停止線に差し掛かると、そこでスクロールが止まる様子を示している。
【0069】
図10eは、図10cと同様に、アイテムリスト上で折り込まれたアイテムより左に離れた位置から折り込まれたアイテムの方向、つまり左方向へアイテムリストをスクロールしている状態を示している。図10fは、ユーザのコントローラや指がアイテムリストから離れた状態、つまりリリースされた状態で、アイテムリストが慣性力のみで移動しているときに、折り込まれたアイテムが停止線に差し掛かると、そこでスクロールが止まる様子を示している。
【0070】
以上のように、折り込みによりアイテムを指定しておけば、アイテムリスト上で遠くのアイテムに移動しても、折り込まれたアイテムのほうにアイテムリストをスクロールすれば、指定したアイテムが画面内に移動して、画面内の指定された任意の停止位置でスクロールが強制的に停止させられ、アイテムを戻ってこさせることができる。いわば「記憶させる」、「戻る」の操作ボタンを作ることなく、アイテムをスクロールの指の軌道の延長上の動きでアイテムを指定して記憶させ、離れてもそこに戻させることができる。
【0071】
<第2の実施の形態>
上述した第1の実施の形態では、折り込むことでアイテムを指定できても、そこから遠くへスクロールさせてしまうと画面から折り込んだアイテムを見失い、折り込まれたアイテムがどのようなものだったのか同一画面で現在見ているアイテムと見比べにくい。これに対する対策として、アイテムが折り込まれると、スクロールされる他の複数のアイテムが折り込まれたアイテムに向かって近接し圧縮して並んでいく、すなわち折り込まれたアイテムの上に積み重ねられていくようにする。また、重なったアイテムを画面上で振り払うなどすると、重なりがほどけて元の間隔のアイテムリストに戻るようにもする。以下でこれらの機能について説明する。これらの操作や機能もアイテムリストが軟体領域を有するがゆえに可能となる。
【0072】
ここでは、図11aから図11h、図12、図13aから図13c、図14aから図14d、図15aから図15dに示すような、折り込まれたアイテムの右側に複数のアイテムが積み重ねられた場合と、図16aから図16h、図17、図18aから図18c、図19aから図19d、図20aから図20dに示すような、折り込まれたアイテムの左側に複数のアイテムが積み重ねられた場合とに分けて説明するが一般性は失わない。
【0073】
まず、折り込まれたアイテムの右側に、他の複数のアイテムを積み重ねていく場合について説明する。図11aは、折り込まれたアイテムと、通常の状態での隣接するアイテム間の距離(通常の隣接アイテム間の距離であって、上述する所定の間隔に相当)とを示している。図11bは、折り込まれたアイテムに向かってアイテムをドラッグ(スクロール)して、ドラッグされたアイテムが折り込まれたアイテムにあらかじめ決められた距離近づくと、折り込まれたアイテムにアイテムが積み重なっていく様子を示している。積み重なったアイテム同士は隣接するアイテム間の距離が近接して配置される。なお、折り込まれたアイテムとドラッグするアイテムとの間に他のアイテムが存在する場合も積み重ねは可能であり、その場合、他のアイテムが折り込まれたアイテムにあらかじめ決められた距離近づくと、折り込まれたアイテムに他のアイテムが積み重なっていく。
【0074】
図11cは、ドラッグしているアイテムが折り込まれたアイテムに積み重なった後も、さらに左側にドラッグされている様子を示している。その場合は、図11cに示すように、これ以上積み重ねができないので、アイテムリスト全体が左へスクロールするような設定などが適宜できる。
【0075】
図11dは、通常の隣接するアイテム間の距離で配置されているアイテムを、折り込まれたアイテムから逆の離れる方向にドラッグさせた場合について示している。図11eは、アイテムが右側にドラッグされることで、それに続いて積み重なっていたアイテムもほどけるように移動して、通常の隣接するアイテム間の距離に戻って並ぶ様子を示している。なお、ここでは、1つのアイテムをドラッグすることで積み重なっているアイテムそれぞれがほどかれて通常の隣接するアイテム間の距離で配置されることを示しているが、積み重ねをほどく際、アイテムごとに積み重ねをほどくためのドラッグ作業を行うようにしてもよい。図11fは、図11eの操作で、仮にユーザが右側に指をはじくなどをしてアイテムリスト全体が右に慣性力でスクロールすることがあったとしても、事前に決められた停止線で折り込まれたアイテムが停止する様子を示している。
【0076】
図11gは、図11cの状態でアイテムが積み重なり、そのままある一定の時間操作せずに放置するとアイテムが自然に崩れ始める様子を示しており、最終的には初期の図11aと同様の状態に戻る様子が図11hに示されている。これは、ユーザがアイテムをスクロールしていってみたが、興味のありそうなものがないと思ったとき、一切の操作をしなくても自動的に指定しておいたアイテムに戻ることができるというものである。
【0077】
図11aから図11hで述べた操作は、図12では操作[A]、[B]として表されている。つまり、隣接するアイテム間の距離が通常のものとなっているアイテムリストの領域である「通常領域」内を始点として指やコントローラでドラッグした場合である。その一方、折り込まれたアイテムに積み重なっているアイテム群の領域、つまり隣接するアイテム間の距離が近接している領域である「近接領域」を始点としてアイテムをドラッグさせた場合の操作については図12の[C]、[D]に示され、図13aから図13c、図14aから図14d、図15aから図15dを用いて説明する。
【0078】
図12に示したアイテムが積み重なっている「近接領域」のアイテムをドラッグする場合、ゆっくりと積み重なったアイテムを動かした場合と、積み重なりを指ではねてアイテムをほどいた場合の2通りが考えられる。図13aから図13cは、図12の「近接領域」を始点として、例えばある一定の速度より遅く左右にドラッグさせた場合について示している。図13aは「近接領域」に指を置いた状態を示している。図13bは、図12の[C]の操作であり、図13aの状態から左側へある一定の速度より遅くドラッグさせることにより、アイテムリスト全体が指に付随して左方向にスクロールされる様子を示している。
【0079】
図13cは、図12の[D]の操作であり、図13aの状態から逆に右側方向へある一定の速度より遅くドラッグさせることにより、アイテムリスト全体が指に付随して右方向にスクロールされる様子を示している。
【0080】
図14aから図14d、図15aから図15dでは、例えばある一定の速度以上の速い速度で移動させた場合、つまり積み重なったアイテム群をはねた場合について述べる。図14aは、図12の[C]の操作であり、「近接領域」に指を置いた状態を示している。図14bは、図14aの状態からある一定の速度以上の速度で左側にドラッグし、図14aの指の始点より左側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が左側に移動し、最終的に図14cに示すように、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになるという状態を示している。図14dは、図14cと全く同じだが、折り込まれたアイテムがそのまま折り込まれたままにしておくような設定も適宜できる。
【0081】
図15aは、図12の[D]の操作であり、「近接領域」に指を置いた状態を示している。図15bは、図15aの状態からある一定の速度以上の速度で右側にドラッグし、図15aの指の始点から右側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が右側に移動する様子を示している。そして、最終的に図15cに示すように、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになる。慣性力などでアイテムリストがさらにスクロールされている場合は、図15dに示すように停止線で折り込まれたアイテムが引っかかりスクロールが停止する。
【0082】
上述の図13aから図13cのようなゆっくりとドラッグして積み重なり全体をスクロールさせる場合と、図14aから図14d、図15aから図15dに示すような速くドラッグして積み重なりをはねてアイテムをほどく場合との判別の条件を以下に説明する。
【0083】
ジェスチャー認識による判別であって、アイテムリストとほぼ平行にドラッグして、その後平行であるが上述のドラッグの方向と逆の方向に一定時間内にドラッグした場合(上述の1つ目の提案)や、値による判別であって、ドラッグさせたアイテムとそれに隣接するアイテムとの距離がある一定の値を超えた、あるいはドラッグさせたアイテムとそれに隣接するアイテムとの距離の変化量がある一定の値を超えた場合(上述の2つ目の提案)や、力の方程式を使い、そのドラッグによりドラッグされたアイテムと隣接するアイテム間の距離が一定の値より変化した、あるいはドラッグされたアイテムと隣接するアイテム間に働く力が一定の値より変化した、あるいはドラッグされたアイテムと隣接するアイテムの速度が一定の値より変化した場合(上述の3つ目の提案)に、強いドラッグ(速いドラッグ)と判断される。
【0084】
そのように判断されると、図14aから図14d、図15aから図15dで定義した、ドラッグした始点にあるアイテムから最後にドラッグした方向に、連続して重なったアイテム群の全部若しくは一部がドラッグによりはねられ、最後にドラッグした方向に移動し、それらアイテムが元の通常の隣接するアイテム間の距離をもったアイテムリストに戻る。
【0085】
逆に、上述の強いドラッグでない場合、すなわち弱いドラッグ(ゆっくりのドラッグ)として判断されると、図13aから図13cで示したように、積み重なったアイテム群が積み重なったままドラッグされた方向にスクロールするだけである。
【0086】
図16aから図16h、図17、図18aから図18c、図19aから図19dでは、折り込まれたアイテムの左側にアイテムが積み重なった場合について述べる。この場合も、上述の折り込まれたアイテムの右側に積み重なった場合と方向が逆なだけで、全く同様に考えられる。
【0087】
図16aは折り込まれたアイテムの様子を示している。折り込まれたアイテムの右側にアイテムが積み重なっているが、これらがあっても無くてもここでの説明は一般性を失わない。図16bは、折り込まれたアイテムに向かってアイテムをドラッグして、折り込まれたアイテムにアイテムが積み重なっていく様子を示している。積み重なったアイテム同士は隣接するアイテム間の距離が近接して配置される。図16cは、ドラッグしているアイテムが折り込まれたアイテムに積み重なった後も、さらに右側にドラッグされている様子を示している。その場合は、図16cに示すように、アイテムリスト全体が右へスクロールするような設定など適宜できる。
【0088】
図16dは、逆に通常の隣接するアイテム間の距離で配置されているアイテムを、折り込まれたアイテムから離れる方向にドラッグさせた場合について示している。図16eは、アイテムが左側にドラッグされることで、それに続いて積み重なっていたアイテムもほどけるように移動して、通常の隣接するアイテム間の距離に戻って並ぶ様子を示している。図16fは、図16dの操作で、仮にユーザが左側に指をはじくなどをしてアイテムリスト全体が左側に慣性力でスクロールすることがあったとしても、事前に決められた停止線で折り込まれたアイテムが停止する様子を示している。
【0089】
図16gは、図16cの状態で、アイテムが積み重なり、そのままある一定の時間操作せずに放置するとアイテムが自然に崩れ始める状態を示し、図16hは、折り込まれたアイテムが初期の図16aの状態に戻った様子を示している。図16aから図16hで述べた操作は、図17では操作[A]、[B]として表される。つまり、隣接するアイテム間の距離が通常のものとなっているアイテムリストの領域である「通常領域」内を始点として、指やコントローラでドラッグした場合である。
【0090】
その一方、折り込まれたアイテムに積み重なっているアイテム群の領域、つまり隣接するアイテム間の距離が近接している領域である「近接領域」を始点として、アイテムをドラッグさせた場合の操作は、図17の[C]、[D]に示され、図18aから図18c、図19aから図19d、図20aから図20dを用いて説明する。
【0091】
図18aから図18c、図19aから図19d、図20aから図20dは、それぞれ、図13aから図13c、図14aから図14d、図15aから図15dと同様である。したがって、弱いドラッグの場合は、図13aから図13c、図18aから図18cに示すもの処理となり、強いドラッグの場合は、図14aから図14d、図15aから図15d、図19aから図19d、図20aから図20dに示す処理となる。
【0092】
図18aから図18cは、図17の「近接領域」を始点として、例えばある一定の速度より遅く左右にドラッグさせた場合を示している。図18aは「近接領域」に指を置いた状態を示している。図18bは、図17の[C]の操作であり、図18aの状態から左側へある一定の速度より遅くドラッグさせ、アイテムリスト全体が指に付随して左方向にスクロールされる様子を示している。図18cは、図17の[D]の操作であり、図18aの状態から逆に右側方向へある一定の速度より遅くドラッグさせ、アイテムリスト全体が指に付随して右方向にスクロールされる様子を示している。
【0093】
図19aから図19d、図20aから図20dでは、例えばある一定の速度以上の速い速度で移動させた場合について述べる。図19aは、図17の[C]の操作であり、「近接領域」に指を置いた状態を示している。図19bは、図19aの状態から、ある一定の速度以上の速度で右側にドラッグさせ、図19aでの指の始点から右側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が右側に移動し、最終的に図19cに示すような、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになるという状態を示している。
【0094】
図20aは、図17の[D]の操作であり、「近接領域」に指を置いた状態を示している。図20bは、図20aの状態から、ある一定の速度以上の速度で左側にドラッグさせ、図20aでの指の始点から左側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が左側に移動する様子を示している。そして、最終的に図20cに示すように、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになる。慣性力などでアイテムリストがさらにスクロールしている場合は、図20dに示すように、停止線で折り込まれたアイテムが引っかかりスクロールが停止する。
【0095】
ここで、図3aから図3cに戻り、折り込まれたアイテムに積み重なる場合のばねモデルの拡張について説明する。折り込まれたアイテムに連続して積み重なったアイテム群は、1つの大きな剛体、大きなノードとして扱うことができる。あるいは、積み重なった個別のアイテムに関して、別の力を定義する関数を適用させることができる。
【0096】
折り込まれた後の計算の一例を図3cに示す。折り込まれた場合、折り込まれたアイテム及びそのアイテムに積み重なったアイテムには、フラグb Foldedがtrueとなって個別にそのアイテムが積み重なったことを示す。あるアイテムが積み重なるべきか、あるいは通常の平坦なアイテムリストとして配置されるべきかの判断は、隣接する積み重なったアイテムとの距離がある定数distanceよりも小さいと積み重なると判断され、b Foldedをtrueと設定する。
【0097】
b Foldedがtrueなものに関しては、短いばねの長さと別の力との関数が適用される。その関数を式(3)に示す。
【0098】
Force_folded(delta)=−kf×(Lf−delta)・・・(3)
【0099】
積み重なったアイテム同士のばね定数はkf、短いばねの長さはLfと定義される。あるいは式(3)を適用せず、b Foldedがtrue、つまり積み重なっているものに関してはアイテム間の距離を近接したアイテム同士のある定数として、積み重なったアイテム群を1つのノードとして扱う。
【0100】
以上述べたイベントの分岐の処理フローの一例について図21aを用いて説明する。ユーザにより、指やコントローラなどであるアイテムがドラッグ(スクロール)されたとする(ステップS2101)。そして、ドラッグされたアイテムが図12や図17で定義された「通常領域」のアイテムか否かを判断する(ステップS2102)。ドラッグされたアイテムが「通常領域」のアイテムの場合、そのドラッグにより、上述した3つの提案で定義されたアイテムを折り込む条件を満たすか否かが判断され(ステップS2103)、条件を満たす場合、そのアイテムを新規の折り込みのアイテムとする(ステップS2104)。条件を満たしていない場合は、そのアイテムのスクロールが行われる(ステップS2105)。
【0101】
一方、ステップS2102で「通常領域」のアイテムではないと判断された場合、ドラッグされたアイテムが図12や図17で定義された「近接領域」でのアイテム、すなわち積み重なったアイテムか否かを判断し(ステップS2106)、「近接領域」でのアイテムである場合、積み重なったアイテムのドラッグの仕方が積み重なりの山を崩す条件を満たすか否かを判断され(ステップS2107)、条件を満たす場合、例えばある一定の速度を超えたものの場合、図14aから図14d、図15aから図15d、図19aから図19d、図20aから図20dで示したように、そのアイテムからドラッグした方向へ連続して積み重なっているアイテム群を積み重なりからほどく処理が行われ(ステップS2108)、アイテムのスクロールが行われる(ステップS2105)。条件を満たしていない場合、図13aから図13cや図18aから図18cで示したように、アイテムリスト全体がスクロールするようなアイテムのスクロールが行われる(ステップS2105)。
【0102】
また、一方、ステップS2106で「近接領域」のアイテムではないと判断された場合、すなわち、ドラッグされたアイテムが図7aのa〜eで定義された折り込まれたアイテムの場合、折り込まれたアイテムをドラッグする動きが、上述した3つの提案の折り込みを解除する図9で示したようなものであるか否かが判断され(ステップS2109)、折り込み解除の条件を満たす場合、折り込みの解除がなされる(ステップS2110)。条件を満たさない場合、アイテムのスクロールが行われる(ステップS2105)。
【0103】
上述したアイテムスクロールが行われる際の分岐処理のフローの一例について図21bを用いて説明する。まず、アイテムがスクロールされる際、ユーザが指やコントローラによる指示をアイテムリストから離した(リリースされた)かどうか、かつ折り込まれた指定されたアイテムが画面内に定義された停止線を横切ろうとしているか否かを調べる(ステップS2111)。横切ろうとしている場合は、図10aから図10f、図11f、図15c、図16f、図19d、図20eで示したように、アイテムリストのスクロールを停止させる(ステップS2112)。上述の条件を満たしていない場合は処理を続ける。
【0104】
そして、アイテムがドラッグ(スクロール)されている方向に折り込まれたアイテムがあるか否かを調べる(ステップS2113)。ある場合は、図11b、図16bで示したように、ドラッグするアイテムの延長上にあるアイテムを折り込まれたアイテムに積み重なるようにする(ステップS2114)。次に、アイテムがドラッグ(スクロール)されている方向と逆の方向に積み重なったアイテムがあるか否かを調べる(ステップS2115)。ある場合は、図11e、図16eで示したように、ドラッグするアイテムの逆方向の延長上にあるアイテムを積み重なりからほどく(ステップS2116)。
【0105】
図22には表示制御装置としての全体の構造の一例を示す。表示制御装置は、コントローラ2201(上述する受付手段に相当)、タッチパネル2202(上述する受付手段に相当)、判断部2203(上述する判断手段に相当)、計算部2204(上述する表示制御手段に相当)、ディスプレイ2205を備える。なお、表示制御装置は、ディスプレイ2205を構成要素とせず、外部の表示手段(不図示)に接続可能なインタフェースを有するものであってもよい。
【0106】
コントローラ2201やタッチパネル2202は、ユーザからの入力を受け付けるものであり、コントローラ2201やタッチパネル2202を介したユーザからの操作による入力信号が判断部2203に送られる。なお、表示制御装置は、コントローラ2201とタッチパネル2202の両方を備えるものでもよく、またどちらか一方のみを備えるものでもよい。判断部2203は、図21a、図21bに示すような入力されたユーザの指の動きから適切な判断を行う。判断を行った判断結果が計算部2204に送信される。
【0107】
計算部2204は、アイテム同士の物理法則、ばねモデルなどを使い、個々のアイテムの位置や速度を計算(決定)し、計算結果をディスプレイ2205に表示させる。計算部2204で計算された計算結果は判断部2203にも送られ、アイテムの動向、物理感を再現するためにコントローラ2201に対して反発力を判断部2203によって生成させる。タッチパネル2202に対しても、振動するハプティックタッチパネルの場合、反発力を表現するため、判断部2203はパネルを振動させる信号を適宜送る。ユーザは、それを感じてディスプレイ2205を見ながら、より直感的にコントローラ2201でアイテムを操作できる。
【0108】
本発明では、折り込まれるアイテムの数は1つに限定されない。図23aから図23cに示すように、複数の折り込みを入れることも可能である。例えば、図23aに示すように1つの折り込みがされており、さらに図23bや図23cで示すように、2つ目の折り込みを続けて入れることも可能である。図23bでは折り込まれたアイテムが2つある。その場合でも、「通常領域」が2つあるだけで図12に示す態様と変わらない。
【0109】
図23cは、折り込まれた2つのアイテム間に若干の距離がある場合である。この場合、「近接領域」の間に「通常領域」が挟まれている。このような場合、例えば右側の「近接領域」を始点として指を左にはねて、右の「近接領域」に重なっているアイテムを崩しても、左側の「近接領域」に重なっているアイテムは崩れないようにすることで、ユーザは1つ1つの独立した積み重なりの山を個別に崩すことができる。
【0110】
本発明では、折り込まれたアイテムに積み重なるアイテムの定義は、隣接するアイテム間の距離が小さくなり近接して並ぶこととする。したがって、その表現、演出方法は、図11に示すようなアイテムリストの軸に沿ったものに限定されない。すなわち、折り込まれるアイテムは、図24aから図24dに示すように、アイテムリストの奥(奥行き)に向かった軸に沿って並ばせることも可能である。
【0111】
図24aは、アイテムリストの奥に向かった軸に沿ってアイテムが折り込まれた様子を示している。図24bは、アイテムリストの奥に向かった軸に沿ってアイテムが積み重なる様子を示している。図24cは、アイテムリストの奥に向かった軸に沿って、折り込まれたアイテムの反対側からアイテムが積み重なる様子を示している。図24dは、このような場合の「近接領域」、「通常領域」を示している。ユーザは、アイテムリストの奥に向かった軸に沿って指をドラッグする必要がある。
【0112】
本発明では、アイテムリストを1次元から2次元へ拡張することも可能である。その状態を図25aから図25gに示す。図25aは、ユーザが操作する前の2次元アイテムリストを示している。図25bは、ある任意の方向にアイテムが指によってドラッグされ、折り込まれた状態を示している。アイテムリストが2次元であり、ドラッグされた方向が斜めであったことから、縦、横の2つの列のアイテムの折り込み(折り込まれたアイテム群)が生成される。図25cと図25dは、折り込まれたアイテム群の上に、さらにアイテムが積み重ねられていく様子を示している。この重なりによって、2次元アイテムリストでの「通常領域」と「近接領域」が定義される。
【0113】
図25eは、しばらく入力(ユーザによるドラッグなど)をしないで放置すると、積み重なったアイテムがほどけて元の平坦な状態に戻る様子を示している。図25fは、図25dの折り込まれたアイテム群の反対側にアイテムを積み重ねていく様子を示している。図25gは、入力しないで放置すると、積み重なったアイテムがほどけて元の平坦な状態に戻る様子を示している。
【0114】
本発明のアイテムリストにおけるアイテムの折り込みの操作は、通常のコントローラやタッチパネルでの指の操作だけでなく、ハプティック機能を備えたコントローラやタッチパネルでも可能である。ハプティックとは、ユーザが加える力に対する反発力や反動力をコントローラなどに加えることで、ユーザがコントローラを通して反発力や反動力を感じることができるものである。本発明では、アイテムが折り込まれた際のアイテムリストが持つ不均衡となった質感などを与えることができる。
【0115】
ここでは2種類のコントローラを例に挙げ、1つのコントローラを図26aに示し、もう1つのコントローラを図26bに示す。図26aに示すコントローラは、ユーザが力を加えることで図26cに示すようにある角度θ傾けることができ、図26bに示すコントローラは、図26dに示すようなある移動距離dXをドラッグすることができる。
【0116】
図27aに示すようにアイテムリストが平坦、つまり、すべてのアイテムが通常の隣接するアイテム間の距離を持っている場合では、図26a、図26bに示すそれぞれのコントローラは、移動分に対し左右に同一の反発力を持つ。一方、図28aに示すように、アイテムリストに折り込まれたアイテムがある場合、コントローラの移動分に応じて左右の反発力の均衡が崩れる。直感に沿った反発力を説明すると、図28aにおいて、さらなるアイテムを、折り込まれたアイテムの上に重ねていく操作をするには反発力がかかり、逆に、積み重なったアイテムの山をほどいていくほうには反発力がかからない感覚をユーザに与える。
【0117】
図28b、図28cでは、正の移動距離の方向を、図28aのアイテムリストのアイテムの左への移動と定義しているため、図28bではθ>0の方向ほど、図28cではdX>0ほどアイテムを左にもっていき山積みに載せるので重い操作の負担が必要となる。
【0118】
図29a、図29bでは、図7aのa〜eで示した軟体領域を有するアイテムリストの特定のアイテムに力を入れて折り込まれるという操作の中で、ドラッグしているアイテムにかかった理論上の力をそのままコントローラに与えることにより、力を加えたからアイテムが折り込まれ、指定されたアイテムにすることができたとユーザに感じさせることができる。
【0119】
図29aは、あるアイテムを右から左へとドラッグさせることでそのアイテムにかかる力を増やそうとしている様子を示している。図29b、図29cは、図29aの状況下でのばねモデルなどの計算から算出されるドラッグしているアイテムに加わる力を、コントローラにθ若しくはdXの関数として与える様子を示している。アイテムリストのうねりに反発する左側にドラッグさせようとすると、右勾配の反発力となって大きな反発力がユーザには感じられる。
【産業上の利用可能性】
【0120】
本発明に係る表示制御装置及び表示制御方法は、画面上の表示エリアをボタンの配置(占有)で失うことなく「ブックマークする」「今の場所を記憶させる」のようなボタンを押すなどの新しいボタンの使い方を覚えることなく、軟体的質感の軟体領域を有するアイテムリストの操作で「記憶」と「戻る」という操作を行うことができるため、ディスプレイ上に表示されるアイテムの表示を制御する表示制御装置及び表示制御方法などに有用である。
【符号の説明】
【0121】
10 アイテムリスト
11 アイテム
20 ノード
21 エッジ
100 折り込みによって指定されたアイテム
2201 コントローラ(受付手段)
2202 タッチパネル(受付手段)
2203 判断部(判断手段)
2204 計算部(表示制御手段)
2205 ディスプレイ
【技術分野】
【0001】
本発明は、ディスプレイ上に表示されるアイテムの表示を制御する表示制御装置及び表示制御方法に関する。
【背景技術】
【0002】
ユーザが、リスト(以下、アイテム列やアイテムリストとも言う)上に配置された複数のアイテムを、コントローラや指やマウスのドラッグ操作などによりスクロールさせて検索する技術がある(下記の特許文献1、図30を参照)。ユーザが、アイテムリスト上に配置されているアイテムのどれがよいかを漠然と模索する場合、ユーザはアイテムリスト上のアイテムをスクロールさせながら、くまなくキョロキョロ見渡す必要がある。
【0003】
従来のアイテムリストでは、アイテムを何個かスクロールさせると、元の位置に戻るためにはそれと同じ数だけ逆方向にスクロールさせる必要があった。そのため、ユーザは、自分が何個スクロールさせたか覚えておかなければいけなかった。仮に、「記憶」ボタンと「戻る」ボタンを設置させた場合には、後で戻りたいお気に入りの箇所で「記憶」ボタンを押して先へ進み、「記憶」ボタンを押した箇所へ戻りたい場合は「戻る」ボタンを押すことにより戻ることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−61631号公報(要約)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、スクロールするたびに「記憶」ボタンと「戻る」ボタンを押すという操作を行わなければならなく、ユーザにとって負担となる。元の位置に戻ることに対して負担のある作業が付随するとなると、新しいものを探すためにわざわざスクロールという行為をすることが面倒であるとユーザは感じてしまう恐れがある。また、「記憶」、「戻る」ボタンを設置すると、ボタンの領域分だけ画面上の表示エリアが占有されてしまう。さらに何のボタンなのか(どのような機能のボタンであるのか)覚えなければならず、アプリケーション全体の中でユーザが覚えなければいけない操作方法が増えることとなり、簡単なユーザインタフェースの提供という点で望ましくない。
【0006】
本発明は、上記の問題点に鑑み、上記ボタンを設置することなく、特定のアイテムを指定してブックマークさせ、そこに戻ったり先に進んだりという操作を物理的現象のような動きと交えて行うことができる表示制御装置及び表示制御方法を提供することを目的とする。
【0007】
すなわち、アイテムリスト上のアイテム間の間隔を一定の値ではなく、ユーザの指やマウスなどによる入力の動きに応じて変化させる。つまり、アイテムリストを指で寄せると折り込まれ、指を離すとその反動で伸びて戻る。アイテムリストを構成するアイテム間の間隔が一定(剛体)ではなく、変化する(軟体)という感覚をユーザに与える。このアイテム間の間隔が伸びたり縮んだりするアニメーションを体感することで、指を強く動かして、軟体であるアイテムリストのフレームに力を加えるとその形が変わるのでは?と直感的にユーザは予測できる。
【0008】
そして、それを裏付けるように、アイテム間に大きな収縮が起きた時点で、アイテムが折り込まれているという現象を発生させる。このアイテムリストを折り込むことによってユーザは任意のアイテムを指定できる。さらに、折り込まれたアイテムリストの上に、他のアイテムを積み重ねることができ、手を離すと積み重なりがほどけるという、質感、塑性力の演出によって、アイテムを指定してブックマークさせ、先に進んだりそこに戻ったりという直感的で容易な操作を達成させることができる。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明によれば、それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置であって、前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付ける受付手段と、受け付けられた前記スクロール操作が所定の操作であるか否かを判断する判断手段と、前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させる表示制御手段とを、備える表示制御装置が提供される。この構成により、特定のアイテムを指定してブックマークさせ、そこに戻ったり先に進んだりという操作を物理的現象のような動きと交えて行うことができる。なお、指定アイテムは、後述する折り込まれたアイテムに相当する。
【0010】
また、本発明の表示制御装置において、前記所定の操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を止める操作のいずれか1つであることは、本発明の好ましい態様である。
【0011】
また、本発明の表示制御装置において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0012】
また、本発明の表示制御装置において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0013】
また、本発明の表示制御装置において、前記所定の表示形式が、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式であることは、本発明の好ましい態様である。
【0014】
また、本発明の表示制御装置において、前記表示制御手段が、前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を前記受付手段が受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻すことは、本発明の好ましい態様である。
【0015】
また、本発明の表示制御装置において、前記表示制御手段が、前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させることは、本発明の好ましい態様である。なお、所定の位置は後述する停止線に相当する。
【0016】
また、本発明の表示制御装置において、前記表示制御手段が、前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置することは、本発明の好ましい態様である。なお、所定の表示エリアは後述する通常領域に相当し、他の所定の表示エリアは後述する近接領域に相当する。
【0017】
また、本発明の表示制御装置において、前記あらかじめ決められた操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作であることは、本発明の好ましい態様である。
【0018】
また、本発明の表示制御装置において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0019】
また、本発明の表示制御装置において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0020】
また、本発明の表示制御装置において、前記表示制御手段が、前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させることは、本発明の好ましい態様である。
【0021】
また、本発明の表示制御装置において、前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きいことは、好ましい態様である。
【0022】
また、本発明の表示制御装置において、前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記関数により表される力であることは、本発明の好ましい態様である。
【0023】
また、本発明によれば、それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置による表示制御方法であって、前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付けるステップと、受け付けられた前記スクロール操作が所定の操作であるか否かを判断するステップと、前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させるステップとを、有する表示制御方法が提供される。この構成により、特定のアイテムを指定してブックマークさせ、そこに戻ったり先に進んだりという操作を物理的現象のような動きと交えて行うことができる。なお、指定アイテムは、後述する折り込まれたアイテムに相当する。
【0024】
また、本発明の表示制御方法において、前記所定の操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を停止させる操作のいずれか1つであることは、本発明の好ましい態様である。
【0025】
また、本発明の表示制御方法において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0026】
また、本発明の表示制御方法において、前記所定の操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0027】
また、本発明の表示制御方法において、前記所定の表示形式が、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式であることは、本発明の好ましい態様である。
【0028】
また、本発明の表示制御方法において、前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻すステップを更に有することは、本発明の好ましい態様である。
【0029】
また、本発明の表示制御方法において、前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させるステップを更に有することは、本発明の好ましい態様である。
【0030】
また、本発明の表示制御方法において、前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置するステップを更に有することは、本発明の好ましい態様である。
【0031】
また、本発明の表示制御方法において、前記あらかじめ決められた操作が、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作であることは、本発明の好ましい態様である。
【0032】
また、本発明の表示制御方法において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作であることは、本発明の好ましい態様である。
【0033】
また、本発明の表示制御方法において、前記あらかじめ決められた操作が、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかであることは、本発明の好ましい態様である。
【0034】
また、本発明の表示制御方法において、前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させるステップを更に有することは、本発明の好ましい態様である。
【0035】
また、本発明の表示制御方法において、コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きいことは、本発明の好ましい態様である。
【0036】
また、本発明の表示制御方法において、コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、前記コントローラ装置に対して前記ユーザによって加えられる力が、前記関数により表される力であることは、本発明の好ましい態様である。
【発明の効果】
【0037】
本発明の表示制御装置及び表示制御方法は、上記構成を有し、画面上の表示エリアをボタンの配置(占有)で失うことなく「ブックマークする」「今の場所を記憶させる」のようなボタンを押すなどの新しいボタンの使い方を覚えることなく、軟体的質感の軟体領域を有するアイテムリストの操作で「記憶」と「戻る」という操作を行うことができる。一度覚えたら忘れにくい操作であるため、表示制御装置及び表示制御方法は、より気軽で手軽な気持ちでユーザに操作させることができ、ユーザがマニュアルを読み返さなくても新しいアイテムの検索などをユーザにスクロールさせながら行わせることができる。
【図面の簡単な説明】
【0038】
【図1a】本発明の第1の実施の形態におけるアイテムリストの一例を示す図である。
【図1b】本発明の第1の実施の形態におけるアイテムリストがドラッグされた状態を示す図である。
【図2】本発明の第1の実施の形態のアイテムリストにおけるばねモデルの適用範囲を示す図である。
【図3a】本発明の第1の実態の形態におけるアイテムリストのばねモデルのパラメータの定義を説明するための図である。
【図3b】本発明の第1の実態の形態におけるばねモデルの計算プログラムコードの一例を示す図である。
【図3c】本発明の第1の実施の形態におけるアイテムが折り込まれた場合のばねモデルの計算プログラムコードの一例を示す図である。
【図4】本発明の第1の実態の形態におけるばねモデルのアイテムが移動する様子を示す図である。
【図5a】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子の一部を示す図である。
【図5b】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子の一部を示す図である。
【図5c】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子の一部を示す図である。
【図6a】本発明の第1の実施の形態におけるアイテムを上方向ドラッグ操作で折り込ませる様子の一部を示す図である。
【図6b】本発明の第1の実施の形態におけるアイテムを上方向ドラッグ操作で折り込ませる様子の一部を示す図である。
【図7a】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子を示す図である。
【図7b】本発明の第1の実施の形態におけるアイテムをドラッグ操作で折り込ませる様子を示す他の図である。
【図8a】本発明の第1の実施の形態におけるアイテムが逆方向に折り込まれた様子を示す図である。
【図8b】本発明の第1の実施の形態におけるアイテムにしおりのアイコンを描画させた様子を示す図である。
【図9a】本発明の第1の実施の形態における折り込まれたアイテムの右隣のアイテムを右へドラッグしている様子を示す図である。
【図9b】本発明の第1の実施の形態における折り込まれたアイテムの左隣のアイテムを左へドラッグしている様子を示す図である。
【図9c】本発明の第1の実施の形態における折り込まれたアイテムを左から右上にドラッグしている様子を示す図である。
【図9d】本発明の第1の実施の形態における折り込まれたアイテムを左右にドラッグしている様子を示す図である。
【図9e】本発明の第1の実施の形態における折り込まれたアイテムがほどけ、元の平坦なアイテムリストに戻った様子を示す図である。
【図10a】本発明の第1の実施の形態における折り込まれたアイテムの右側の領域を始点とする指のドラッグによる操作の定義について説明するための図である。
【図10b】本発明の第1の実施の形態における画面の枠内に設定された停止線を示す図である。
【図10c】本発明の第1の実施の形態におけるアイテムリストを右に弾いた様子を示す図である。
【図10d】本発明の第1の実施の形態における折り込まれたアイテムが停止線でスクロールを停止した様子を示す図である。
【図10e】本発明の第1の実施の形態におけるアイテムリストを左に弾いた様子を示す図である。
【図10f】本発明の第1の実施の形態における折り込まれたアイテムが停止線でスクロールを停止した様子を示す図である。
【図11a】本発明の第2の実施の形態における折り込まれたアイテムを示す図である。
【図11b】本発明の第2の実施の形態における折り込まれたアイテムに右からアイテムを積み重ねていく様子を示す図である。
【図11c】本発明の第2の実施の形態における折り込まれたアイテムと積み重なったアイテム群を左にドラッグする様子を示す図である。
【図11d】本発明の第2の実施の形態における折り込まれたアイテムに積み重なったアイテム群の右側のアイテムを始点として右側にドラッグしようとしている図である。
【図11e】本発明の第2の実施の形態における積み重なったアイテム群が崩れていく様子を示す図である。
【図11f】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図11g】本発明の第2の実施の形態におけるアイテムの積み重なりが一定時間放置されることにより自動的に崩れていく様子を示す図である。
【図11h】本発明の第2の実施の形態におけるアイテムの積み重なりが崩れて、折り込まれたアイテムだけが残った様子を示す図である。
【図12】本発明の第2の実施の形態における折り込まれたアイテムの右側の近接領域と通常領域での操作を説明するための図である。
【図13a】本発明の第2の実施の形態における近接領域を始点にした様子を示す図である。
【図13b】本発明の第2の実施の形態におけるアイテムリストをゆっくり左へドラッグしている様子を示す図である。
【図13c】本発明の第2の実施の形態におけるアイテムリストをゆっくり右へドラッグしている様子を示す図である。
【図14a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に左に弾こうとする様子を示す図である。
【図14b】本発明の第2の実施の形態におけるアイテムを左に弾いた様子を示す図である。
【図14c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図14d】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図15a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に右に弾こうとする様子を示す図である。
【図15b】本発明の第2の実施の形態におけるアイテムを右に弾いた様子を示す図である。
【図15c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図15d】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図16a】本発明の第2の実施の形態における折り込まれたアイテムを示す図である。
【図16b】本発明の第2の実施の形態における折り込まれたアイテムに左からアイテムを積み重ねていく様子を示す図である。
【図16c】本発明の第2の実施の形態における折り込まれたアイテムと積み重なったアイテム群を右にドラッグする様子を示す図である。
【図16d】本発明の第2の実施の形態における折り込まれたアイテムに積み重なったアイテムの左側のアイテムを始点として左側にドラッグしようとしている様子を示す図である。
【図16e】本発明の第2の実施の形態における積み重なったアイテムが崩れていく様子を示す図である。
【図16f】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図16g】本発明の第2の実施の形態におけるアイテムの積み重なりが一定時間放置され自動的に崩れていく様子を示す図である。
【図16h】本発明の第2の実施の形態におけるアイテムの積み重なりが崩れて、折り込まれたアイテムだけが残った様子を示す図である。
【図17】本発明の第2の実施の形態における折り込まれたアイテムの左側の近接領域と通常領域での操作を説明するための図である。
【図18a】本発明の第2の実施の形態における近接領域を始点にした様子を示す図である。
【図18b】本発明の第2の実施の形態におけるアイテムリストがゆっくりと左へドラッグしている様子を示す図である。
【図18c】本発明の第2の実施の形態におけるアイテムリストがゆっくりと右へドラッグしている様子を示す図である。
【図19a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に右に弾こうとする様子を示す図である。
【図19b】本発明の第2の実施の形態におけるアイテムを右に弾いた様子を示す図である。
【図19c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図19d】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図20a】本発明の第2の実施の形態における近接領域のアイテムの積み重なりを始点に左に弾こうとする様子を示す図である。
【図20b】本発明の第2の実施の形態におけるアイテムを左に弾いた様子を示す図である。
【図20c】本発明の第2の実施の形態における積み重なったアイテムが平坦に戻った様子を示す図である。
【図20d】本発明の第2の実施の形態における折り込まれたアイテムが停止線で止まった様子を示す図である。
【図21a】本発明の第1、第2の実施の形態におけるイベントの分岐の処理フローの一例について説明するためのフローチャートである。
【図21b】本発明の第1、第2の実施の形態におけるアイテムスクロールが行われる際の分岐処理の処理フローの一例について説明するためのフローチャートである。
【図22】本発明の第2の実施の形態に係る表示制御装置の構成の一例を示す図である。
【図23a】本発明の第2の実施の形態における2つ目のアイテムの折り込みを入れようとしている様子を示す図である。
【図23b】本発明の第2の実施の形態における2つのアイテムが折り込まれた様子を示す図である。
【図23c】本発明の第2の実施の形態における2つのアイテムが平坦なアイテムの領域を間に持って折り込まれた様子を示す図である。
【図24a】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合を示す図である。
【図24b】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合の積み重なりの様子を示す図である。
【図24c】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合の反対側における積み重なりの様子を示す図である。
【図24d】本発明の第2の実施の形態におけるアイテムが奥行きの軸に折り込まれた場合の各領域の定義を説明するための図である。
【図25a】本発明の第2の実施の形態における2次元の平坦なアイテムリストを示す図である。
【図25b】本発明の第2の実施の形態におけるアイテムが折り込まれた2次元のアイテムリストを示す図である。
【図25c】本発明の第2の実施の形態におけるアイテムが折り込まれ積み重なった2次元のアイテムリストを示す図である。
【図25d】本発明の第2の実施の形態におけるアイテムが折り込まれ積み重なった2次元のアイテムリストを示す図である。
【図25e】本発明の第2の実施の形態における2次元の平坦なアイテムリストを示す図である。
【図25f】本発明の第2の実施の形態における折り込まれたアイテムの上下に積み重なった2次元のアイテムリストを示す図である。
【図25g】本発明の第2の実施の形態における折り込まれたアイテムの上に積み重なった2次元のアイテムリストを示す図である。
【図26a】本発明の第2の実施の形態におけるスティック型ハプティックコントローラを示す図である。
【図26b】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラを示す図である。
【図26c】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの移動角度と反発力を示す図である。
【図26d】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの移動距離と反発力を示す図である。
【図27a】本発明の第2の実施の形態における平坦なアイテムリストを示す図である。
【図27b】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの角度θと反発力Fの関係を示す図である。
【図27c】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの距離dXと反発力Fの関係を示す図である。
【図28a】本発明の第2の実施の形態におけるアイテムが折り込まれた様子を示す図である。
【図28b】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの角度θと反発力Fの関係を示す図である。
【図28c】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの距離dXと反発力Fの関係を示す図である。
【図29a】本発明の第2の実施の形態におけるアイテムを折り込もうとしている様子を示す図である。
【図29b】本発明の第2の実施の形態におけるスティック型ハプティックコントローラの角度θと反発力Fの関係を示す図である。
【図29c】本発明の第2の実施の形態におけるドラッグボタン型ハプティックコントローラの距離dXと反発力Fの関係を示す図である。
【図30】従来におけるコントローラや指やマウスのドラッグ操作でアイテムをスクロールさせる技術の例を示す図である。
【発明を実施するための形態】
【0039】
<第1の実施の形態>
以下、本発明の第1の実施の形態について述べる。図1a、図1bはアイテムリスト(上述のアイテム列に相当)10上に配置された複数のアイテムのスクロールの様子を示している。図1aは画面の中心(中心線上)にあるアイテム11が選択されている状態を示している。図1bはタッチパネルなどにより指でドラッグを行い、選択されたアイテム11が右に移った状態を示している。従来の技術であれば、これらアイテムを配置したアイテムリストのフレーム間隔、すなわちアイテム間の間隔は、ユーザがどのように指やマウスでジェスチャー入力しても、剛体のように固定されたもの(アイテム間の配置間隔が一定のもの)である。
【0040】
これに対し、本発明の提案するアイテムリストはアイテム間の連結部分(図2に示すエッジ21)に伸縮性を持たせたものとする。とりわけ、ここでは、ばねモデルを使ったものについて述べる。一般的なばねモデルの計算方法の一例(SOFTWARE-PRACTICE AND EXPERIENCE, VOL.21(1 1), 1129-1164(November 1991) Graph Drawing by Force-directed Placement)がある。
【0041】
図2はアイテムリストにどのようにばねモデルを適用しているのかを説明するための図である。図2に示すように、アイテム1つ1つの部分に、ばねモデルの点の部分であるノード20があり、ノード20間にはアイテム間の連結ばね部分であるエッジ21があるとする。ユーザからの入力によりばねの部分が伸縮する。
【0042】
実際には、アイテムリストが有するアイテムの数は1000個にも10000個にもなり得るため、すべてのアイテム間にばねをつけるのは計算量が膨大となり現実的ではない。ユーザがアイテムを直接操作できる領域は画面枠内のみであることから、画面の枠の内及び画面の枠の外の若干個数分のみを軟体領域(アイテム間が伸縮する領域)とし、その部分にのみアイテム間の伸縮を許可し、画面の中心から離れた画面上に表示されない部分は剛体領域(アイテム間が伸縮せずに一定の間隔の領域)とし、スクロールはしてもアイテム間の間隔(距離)は変わらないようにする。これにより計算量は減る。これは、物理現象で説明すると、ばねによる伸縮運動が摩擦によりすぐに失われてしまい遠くまで及ばない、画面の枠内からばねをいくら揺らしても、画面の枠から遠く離れたばねまでは伸縮運動を伝えることができないことと同様にして扱える。
【0043】
ここで、ばねモデルを使って本発明を実現させた場合の数値の定義について図3aから図3cを用いて説明する。図3aに示すように、あるアイテム1(Item1)に対しそのアイテム1の1次元の軸上の位置をItem1 Xとし、アイテム1の位置の微小移動量、すなわちある時間での速度をItem1 dXとする。隣接するアイテム間の距離は、隣接するアイテム同士の中心から中心までの距離としdeltaと定義する。アイテムは複数あるので、それぞれのアイテムごとにこれらの変数が定義される。
【0044】
図3bは、プログラムの一例としてばねモデルの計算プログラムコードと変数の定義を示している。このプログラムは、全体を繰り返し行う「forループ」で囲まれ、繰り返し回数「iteration」の数だけ計算を行う。これは、一回だけの計算結果があまりに変化のないものだった場合など、何回分かばね計算した結果をまとめて得たいときに繰り返し計算をさせる。
【0045】
プログラムそのものは大きく2つ(第1部と第2部)に分けられる。第1部がメインのばねによる計算部分で、第2部が第1部によって得られた新しいアイテムの速度、位置の値を更新する部分である。軟体領域にあるすべてのアイテムに付いているばねに関し、ばねの両側に付いているアイテムの移動距離を計算し、そのばねがどれだけ伸縮したかをdeltaとして計算する。deltaを下記の数式(1)に示す。ここでは、あるアイテムnに対し、右側に隣接するあるアイテムn+1との距離deltaを求めている。それに対するばねから発する力を「Force(delta)」として下記の数式(2)で定義する。これにより新たな位置や速度を求める。Lは力がかかってないときのばねの長さである。ここでは、すべてのばねが同一の長さLとなる。なお、kはばね係数である。
【0046】
delta=Item(n) X−Item(n+1) X・・・(1)
Force(delta)=−k×(L−delta)・・・(2)
【0047】
摩擦がないばねモデルであるとアイテム同士が伸縮を繰り返し、いつまでたっても止まらなくなってしまうため、ばね運動に摩擦による抵抗の効果を与える。プログラムの第2部の速度の更新部分で速度dXをdMaxかdXの小さいほうで切り取っている理由は摩擦を表現しているためである。はじめdMaxは大きいので影響はないが、減衰させる関数「dMax=Decrease(dMax)」によりdMaxをだんだん小さくしていくため、dXは最後には0(ゼロ)に落ち着く。減衰させる関数は入力値に対して、その入力値よりもさらに小さくした値を返す関数であり、適宜、安定させる関数を選択する。
【0048】
これらのプログラムは、ユーザが指やマウスを用いてドラッグや弾く操作を行い、軟体領域を有するアイテムリストに対して何らかの入力があると呼び出され(起動され)、新しいアイテムの位置と速度が更新されていく。図3cについては後で述べる。
【0049】
図4には、単純なばねモデルをアイテムリストに適用し、タッチパネルなどを介して指でアイテムを動かした場合のアイテムリストの動的変化の時系列が示されている。図4の(a)はアイテムリストに触れていない状態を示す。図4の(b)は画面の中心(画面の中心線上)にあるアイテムを指で左側にドラッグした瞬間を示す。図4(c)では、ある程度指を左にドラッグさせた後、指をパネルに触れたまま、指の動きを止めた様子を示す。図4(d)、(e)では、その後、指を離すと、ばねによりアイテムが左右に揺れだす様子を示す。
【0050】
ここまでは普通のばねモデルの説明であり、アイテムリストのあるアイテムでブックマークするといった操作とは直接関係ない。以降では、上述の指の動きによってユーザが軟体領域を有するアイテムリストを折り込むことで、如何にして任意のアイテムを指定できるかのアルゴリズムについて述べる。アイテムを指定するための折り込みのイベントが発生するトリガーはいくつか考えられるが、本発明では3つ提案する。
【0051】
1つ目の提案は、擬似的なばねモデルのようなアニメーション機能を備え、ジェスチャー認識で折り込むものである。図5a、図5bには、アイテムのドラッグ操作によりアイテムリストがスクロール(アイテムが配列される方向にスクロール)され、アイテムリストの隣接するアイテム同士の距離が個別に変わり、あるアイテムをドラッグさせると、アイテムのドラッグする方向側の隣接アイテム同士の距離は縮まり、アイテムのドラッグする逆方向側の隣接アイテム同士の距離は広がる様子が示されている。
【0052】
具体的な折り込みのイベントを発生させる方法としては、図6a、図6bに示すように、アイテムが並んでいる方向(アイテムが配列されている方向)とほぼ平行に移動してからその方向とほぼ垂直方向に移動するドラッグ操作で折り込みのイベントを発生させる方法がある。また、図5cに示すように、アイテムが並んでいる方向とほぼ平行に移動してからすぐにその方向と平行かつ逆の方向に動かすドラッグ操作で折り込みのイベントを発生させる方法もある。
【0053】
2つ目の提案も同様に、図7aのa〜e、図7bのf〜jのような擬似的なばねモデルのアニメーション機能を備え、かつ、イベントのトリガーはパラメータの値によるものである。図7aのbには、アイテムのドラッグ操作により、アイテムリストがスクロールし、アイテムリストの隣接するアイテム同士の距離が個別に変わり、あるアイテムをドラッグさせると、アイテムのドラッグする方向側の隣接アイテム同士の距離は縮まり、アイテムのドラッグする逆方向側の隣接アイテム同士の距離は広がる様子が示されている。
【0054】
折り込みのイベントを発生させる方法としては、図7aのcに示すように、あるアイテムをドラッグ操作により、ドラッグさせたアイテムと、それに隣接するアイテムとの距離(アイテム間の間隔であって、上述する所定の間隔に相当)がある一定の値を超えた、あるいは、ドラッグさせたアイテムと、それに隣接するアイテムとの距離の初期値からの変化量がある一定の値を超えたとき、折り込みのイベントを発生させる。図7aのdでは、アイテムが折り込まれた後、ばねモデルにより、アイテムが図4のd、eで示したように左右に揺れるべきであるが、本発明では異なる。本発明の特長としては、折り込まれたアイテムは、選択されたアイテムであり、それが画面内で左右に揺れると、ユーザが酔ってしまうという問題があるため、ばねモデルによる動きは、常に選択されたアイテムを画面に固定した形で、すなわち選択されたアイテムに相当するノードの部分の位置が固定されたまま、左右のノードが揺れるように計算される。図7aのd、eでは、図4のd、eと異なり、折り込まれたアイテムが画面内(ばねの固定位置)で固定されたまま、左右のアイテムが揺れて、次第に揺れがおさまる様子を示す。図7bのf〜jに関しても同様であり、後述する。
【0055】
3つ目の提案は、図7aのa〜eに示すばねモデルなどの力の方程式を使ったものであり、アイテムのスクロールにより、アイテムリストの隣接するアイテム同士の距離が個別に変わり、隣接するアイテム同士の距離の初期値からの変化量に依存する関数で表される力の方程式が定義される。その力が上述の隣接するアイテムに働き、それによりアイテムの位置や速度が計算され、ユーザがある特定のアイテムをドラッグさせることにより、ドラッグされたアイテムと隣接するアイテムとの間の距離が一定の値より変化した(一定の値を超えた)、あるいはドラッグされたアイテムと隣接するアイテムとの間に働く力が一定の値より変化した(一定の値を超えた)、あるいはドラッグされたアイテムとそれに隣接するアイテムとの速度(相対速度)が一定の値より変化した(一定の値を超えた)という条件により折り込みのイベントが発生する。
【0056】
これら3つに共通する折り込みの演出について説明する。図5aから図5cでは、アイテムリストが軟体領域を有することから、アイテム間の伸縮性を利用する。図5aで示すように、まず選択されている画面中心のアイテムに対し、指などのストロークにより右側にアイテムを移動させる。図5bに示すように、選択されたアイテムが右に移動したため左側のアイテムが右側に寄ってくる。そこで、図5cに示すように、左側にすばやく移動させると、右側に寄ってきた左側のアイテムと強く衝突することになり、アイテム間のばねが強く圧縮され、選択されていたアイテムが傾いてアイテムリスト上に折れ込んだ状態、すなわち、スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示(上述する所定の表示形式の一例)となる。
【0057】
この現象を、左右にドラッグさせるジェスチャー認識による判定(上述した1つ目の提案)で、アイテム間の距離やその距離の変化量の値からの判定(上述した2つ目の提案)で、力の方程式を定義し、アイテム間の距離やその距離の変化量、速度、力の値からの判定(上述した3つ目の提案)で、必要に応じて、それらをまぜて、アイテムの折れ込みイベントを発生させるようにできる。
【0058】
ばねモデルの動きを再現するための数学的手法についてプログラムの一例を図3bに示した。アイテムが折り込まれるまでは図3bで示されるようなコードになる。あるアイテムnに関して、隣接するアイテムn+1との距離はdelta、速度はItemn dX、隣接するアイテムn+1からの力はForceで定義され、その力の値からも折り込みイベントの判定を行う(上述した3つ目の提案)。
【0059】
上述した1つ目の提案のジェスチャー認識では、左右に揺らすというものの他に、図6a、図6bで示したような指のストロークによって、アイテムリストに平行な方向に、ある程度ドラッグしてアイテムリストの方向と垂直な方向へ方向転換してドラッグすることで、アイテムが折れ曲がってアイテムリストの中で配置されるというのも考えられる。この場合のジェスチャー認識において最も簡単なものとしては、ストロークの方向を上、右上、右、右下、下、左下、左、左上の8つの方向に分けておき、正解のテンプレートを「左」→「左上」→「上」とし、正解テンプレートと順番が同じであれば折り込ませる。もっと正確に行うには、微小ベクトルで表し、距離と方向のテンプレートマッチングから点数を出してある閾値より大きい場合、折り込ませるとする。
【0060】
いずれにせよ、アイテムの折り込みという特殊なイベントを起こさせるためには、普通のアイテムをスクロールさせるのとは異なる特殊な指の動きをする必要がある。実際には指のストロークのジェスチャー認識(上述した1つ目の提案)は、上述した2つ目の提案や3つ目の提案のアイテム間の距離、速度、力の条件との両方を併用して、精度の高い認識でアイテムの折り込みイベントを発生させることも可能である。
【0061】
図7aのa〜e、図7bのf〜jは、図5aから図5cで述べたようなばねを強く圧縮する方法でアイテムの折り込みを行った場合のアイテムリストの状況を詳細に時系列に示している。まず、図7aのa〜eまでについて述べる。図7aのaはアイテムリストに触れていない状態を示す。ユーザがたまたま画面の真ん中にある、動かすアイテムを指で触れてドラッグしようとしている。図7aのbは動かすアイテムを指で左側に移動させたときの状態を示す。ユーザの指によって無理やり右側にアイテムが移動させられたので、動くアイテムの右側のアイテム群のばねが圧縮されている。それと同時に、動くアイテムの左側のアイテム群は右側にドラッグされている動くアイテムに引っ張られて同様に右側に移動している。
【0062】
図7aのcでは、タッチパネル上で、ドラッグしていた指を突然止めることで、アイテムの移動を突然停止させた状態を示す。これにより、触れていたアイテムが選択され、折り込まれる。図7aのd、eでは、ばねモデルの計算により、折り込まれたアイテムが画面内で固定されたまま、その左右のアイテムが、左右に揺れ動き、やがてすべてが止まる様子を示す。
【0063】
図7bのf〜jについて述べる。図7bのfでは、アイテムリストに触れてない状態を示す。図7bのgでは、指でアイテムを右に移動させた場合を示す。図7bのhでは、突然、指を反対方向の左に移動させて、アイテムを逆方向に移動させる。これにより、このアイテムが折り込まれたアイテムとなる。図7bのi、jでは、ばねモデルの計算により、折り込まれたアイテムが画面内で固定されたまま、その左右のアイテムが、左右に揺れ動き、やがてすべてが止まる様子を示す。折り込みによって指定されたアイテムは、図8aに示すように逆向きに折り込まれたり、図8bに示すように指定されたアイテムにしおりのようなアイコンを描画させたりすることもできる。
【0064】
逆に、折り込んだアイテムを元に戻すという操作とそのためのイベント発生の条件について述べる。図9aから図9eには折り込まれたアイテムを元に戻すための操作が示めされている。図9aでは、折り込まれたアイテムの右隣のアイテムを右側に、ある一定以上の速度でドラッグする、あるいはばねモデルなどを適用した場合にある一定の力を与えてドラッグすることで、折り込まれたアイテムがあたかも強く引っ張られるという質感を演出しながら、図9eに示すような元の折り込まれてない状態に戻すことができる。
【0065】
また、図9aと同様な考え方で、図9bに示すように、折り込まれたアイテムの左隣のアイテムを左側に、ある一定以上の速度でドラッグする、あるいはばねモデルなどを適用した場合にある一定の力を与えてドラッグすることで折り込みをほどくことができる。また、図6aと同様な考え方で、図9cに示すように、折り込まれたアイテム上を始点として、アイテムリストの軸とほぼ垂直な方向に指を動かすことで折り込みを解除させることができる。
【0066】
また、図9dに示すように、折り込まれたアイテム上を始点として、アイテムリストの軸にほぼ平行に左右に一定の速度で移動させることで、あたかも折り込みを振り払う演出で、元の状態に戻すことができる。図9eには折り込みが解除された状態が示されている。折り込み解除のためのイベント発生の値は、折り込みのイベント発生のための値より緩く設定することも考えられる。
【0067】
以上により、特定のアイテムを折り込ませることで「指定したアイテム」にしたり、折り込みを元に戻すことで「指定を解除」したりすることがどのようにできるかを説明した。これは、上述のある特定のアイテムを「記憶」ボタンを押してブックマークさせておくということに相当する。
【0068】
次に、折り込みによって指定されたアイテムに対してどのように上述の「戻る」の操作を行うかについて図10aから図10fを用いて説明する。図10aには折り込みによって指定されたアイテムが示されている。図10bには画面内に指定された停止線が示されている。図10cは、アイテムリスト上で折り込まれたアイテムより右に離れた位置から折り込まれたアイテムの方向、つまり右方向へアイテムリストをスクロールしている状態を示している。図10dは、ユーザのコントローラや指がアイテムリストから離れた状態、つまりリリースされた状態で、アイテムリストが慣性力のみで移動しているときに、折り込まれたアイテムが停止線に差し掛かると、そこでスクロールが止まる様子を示している。
【0069】
図10eは、図10cと同様に、アイテムリスト上で折り込まれたアイテムより左に離れた位置から折り込まれたアイテムの方向、つまり左方向へアイテムリストをスクロールしている状態を示している。図10fは、ユーザのコントローラや指がアイテムリストから離れた状態、つまりリリースされた状態で、アイテムリストが慣性力のみで移動しているときに、折り込まれたアイテムが停止線に差し掛かると、そこでスクロールが止まる様子を示している。
【0070】
以上のように、折り込みによりアイテムを指定しておけば、アイテムリスト上で遠くのアイテムに移動しても、折り込まれたアイテムのほうにアイテムリストをスクロールすれば、指定したアイテムが画面内に移動して、画面内の指定された任意の停止位置でスクロールが強制的に停止させられ、アイテムを戻ってこさせることができる。いわば「記憶させる」、「戻る」の操作ボタンを作ることなく、アイテムをスクロールの指の軌道の延長上の動きでアイテムを指定して記憶させ、離れてもそこに戻させることができる。
【0071】
<第2の実施の形態>
上述した第1の実施の形態では、折り込むことでアイテムを指定できても、そこから遠くへスクロールさせてしまうと画面から折り込んだアイテムを見失い、折り込まれたアイテムがどのようなものだったのか同一画面で現在見ているアイテムと見比べにくい。これに対する対策として、アイテムが折り込まれると、スクロールされる他の複数のアイテムが折り込まれたアイテムに向かって近接し圧縮して並んでいく、すなわち折り込まれたアイテムの上に積み重ねられていくようにする。また、重なったアイテムを画面上で振り払うなどすると、重なりがほどけて元の間隔のアイテムリストに戻るようにもする。以下でこれらの機能について説明する。これらの操作や機能もアイテムリストが軟体領域を有するがゆえに可能となる。
【0072】
ここでは、図11aから図11h、図12、図13aから図13c、図14aから図14d、図15aから図15dに示すような、折り込まれたアイテムの右側に複数のアイテムが積み重ねられた場合と、図16aから図16h、図17、図18aから図18c、図19aから図19d、図20aから図20dに示すような、折り込まれたアイテムの左側に複数のアイテムが積み重ねられた場合とに分けて説明するが一般性は失わない。
【0073】
まず、折り込まれたアイテムの右側に、他の複数のアイテムを積み重ねていく場合について説明する。図11aは、折り込まれたアイテムと、通常の状態での隣接するアイテム間の距離(通常の隣接アイテム間の距離であって、上述する所定の間隔に相当)とを示している。図11bは、折り込まれたアイテムに向かってアイテムをドラッグ(スクロール)して、ドラッグされたアイテムが折り込まれたアイテムにあらかじめ決められた距離近づくと、折り込まれたアイテムにアイテムが積み重なっていく様子を示している。積み重なったアイテム同士は隣接するアイテム間の距離が近接して配置される。なお、折り込まれたアイテムとドラッグするアイテムとの間に他のアイテムが存在する場合も積み重ねは可能であり、その場合、他のアイテムが折り込まれたアイテムにあらかじめ決められた距離近づくと、折り込まれたアイテムに他のアイテムが積み重なっていく。
【0074】
図11cは、ドラッグしているアイテムが折り込まれたアイテムに積み重なった後も、さらに左側にドラッグされている様子を示している。その場合は、図11cに示すように、これ以上積み重ねができないので、アイテムリスト全体が左へスクロールするような設定などが適宜できる。
【0075】
図11dは、通常の隣接するアイテム間の距離で配置されているアイテムを、折り込まれたアイテムから逆の離れる方向にドラッグさせた場合について示している。図11eは、アイテムが右側にドラッグされることで、それに続いて積み重なっていたアイテムもほどけるように移動して、通常の隣接するアイテム間の距離に戻って並ぶ様子を示している。なお、ここでは、1つのアイテムをドラッグすることで積み重なっているアイテムそれぞれがほどかれて通常の隣接するアイテム間の距離で配置されることを示しているが、積み重ねをほどく際、アイテムごとに積み重ねをほどくためのドラッグ作業を行うようにしてもよい。図11fは、図11eの操作で、仮にユーザが右側に指をはじくなどをしてアイテムリスト全体が右に慣性力でスクロールすることがあったとしても、事前に決められた停止線で折り込まれたアイテムが停止する様子を示している。
【0076】
図11gは、図11cの状態でアイテムが積み重なり、そのままある一定の時間操作せずに放置するとアイテムが自然に崩れ始める様子を示しており、最終的には初期の図11aと同様の状態に戻る様子が図11hに示されている。これは、ユーザがアイテムをスクロールしていってみたが、興味のありそうなものがないと思ったとき、一切の操作をしなくても自動的に指定しておいたアイテムに戻ることができるというものである。
【0077】
図11aから図11hで述べた操作は、図12では操作[A]、[B]として表されている。つまり、隣接するアイテム間の距離が通常のものとなっているアイテムリストの領域である「通常領域」内を始点として指やコントローラでドラッグした場合である。その一方、折り込まれたアイテムに積み重なっているアイテム群の領域、つまり隣接するアイテム間の距離が近接している領域である「近接領域」を始点としてアイテムをドラッグさせた場合の操作については図12の[C]、[D]に示され、図13aから図13c、図14aから図14d、図15aから図15dを用いて説明する。
【0078】
図12に示したアイテムが積み重なっている「近接領域」のアイテムをドラッグする場合、ゆっくりと積み重なったアイテムを動かした場合と、積み重なりを指ではねてアイテムをほどいた場合の2通りが考えられる。図13aから図13cは、図12の「近接領域」を始点として、例えばある一定の速度より遅く左右にドラッグさせた場合について示している。図13aは「近接領域」に指を置いた状態を示している。図13bは、図12の[C]の操作であり、図13aの状態から左側へある一定の速度より遅くドラッグさせることにより、アイテムリスト全体が指に付随して左方向にスクロールされる様子を示している。
【0079】
図13cは、図12の[D]の操作であり、図13aの状態から逆に右側方向へある一定の速度より遅くドラッグさせることにより、アイテムリスト全体が指に付随して右方向にスクロールされる様子を示している。
【0080】
図14aから図14d、図15aから図15dでは、例えばある一定の速度以上の速い速度で移動させた場合、つまり積み重なったアイテム群をはねた場合について述べる。図14aは、図12の[C]の操作であり、「近接領域」に指を置いた状態を示している。図14bは、図14aの状態からある一定の速度以上の速度で左側にドラッグし、図14aの指の始点より左側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が左側に移動し、最終的に図14cに示すように、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになるという状態を示している。図14dは、図14cと全く同じだが、折り込まれたアイテムがそのまま折り込まれたままにしておくような設定も適宜できる。
【0081】
図15aは、図12の[D]の操作であり、「近接領域」に指を置いた状態を示している。図15bは、図15aの状態からある一定の速度以上の速度で右側にドラッグし、図15aの指の始点から右側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が右側に移動する様子を示している。そして、最終的に図15cに示すように、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになる。慣性力などでアイテムリストがさらにスクロールされている場合は、図15dに示すように停止線で折り込まれたアイテムが引っかかりスクロールが停止する。
【0082】
上述の図13aから図13cのようなゆっくりとドラッグして積み重なり全体をスクロールさせる場合と、図14aから図14d、図15aから図15dに示すような速くドラッグして積み重なりをはねてアイテムをほどく場合との判別の条件を以下に説明する。
【0083】
ジェスチャー認識による判別であって、アイテムリストとほぼ平行にドラッグして、その後平行であるが上述のドラッグの方向と逆の方向に一定時間内にドラッグした場合(上述の1つ目の提案)や、値による判別であって、ドラッグさせたアイテムとそれに隣接するアイテムとの距離がある一定の値を超えた、あるいはドラッグさせたアイテムとそれに隣接するアイテムとの距離の変化量がある一定の値を超えた場合(上述の2つ目の提案)や、力の方程式を使い、そのドラッグによりドラッグされたアイテムと隣接するアイテム間の距離が一定の値より変化した、あるいはドラッグされたアイテムと隣接するアイテム間に働く力が一定の値より変化した、あるいはドラッグされたアイテムと隣接するアイテムの速度が一定の値より変化した場合(上述の3つ目の提案)に、強いドラッグ(速いドラッグ)と判断される。
【0084】
そのように判断されると、図14aから図14d、図15aから図15dで定義した、ドラッグした始点にあるアイテムから最後にドラッグした方向に、連続して重なったアイテム群の全部若しくは一部がドラッグによりはねられ、最後にドラッグした方向に移動し、それらアイテムが元の通常の隣接するアイテム間の距離をもったアイテムリストに戻る。
【0085】
逆に、上述の強いドラッグでない場合、すなわち弱いドラッグ(ゆっくりのドラッグ)として判断されると、図13aから図13cで示したように、積み重なったアイテム群が積み重なったままドラッグされた方向にスクロールするだけである。
【0086】
図16aから図16h、図17、図18aから図18c、図19aから図19dでは、折り込まれたアイテムの左側にアイテムが積み重なった場合について述べる。この場合も、上述の折り込まれたアイテムの右側に積み重なった場合と方向が逆なだけで、全く同様に考えられる。
【0087】
図16aは折り込まれたアイテムの様子を示している。折り込まれたアイテムの右側にアイテムが積み重なっているが、これらがあっても無くてもここでの説明は一般性を失わない。図16bは、折り込まれたアイテムに向かってアイテムをドラッグして、折り込まれたアイテムにアイテムが積み重なっていく様子を示している。積み重なったアイテム同士は隣接するアイテム間の距離が近接して配置される。図16cは、ドラッグしているアイテムが折り込まれたアイテムに積み重なった後も、さらに右側にドラッグされている様子を示している。その場合は、図16cに示すように、アイテムリスト全体が右へスクロールするような設定など適宜できる。
【0088】
図16dは、逆に通常の隣接するアイテム間の距離で配置されているアイテムを、折り込まれたアイテムから離れる方向にドラッグさせた場合について示している。図16eは、アイテムが左側にドラッグされることで、それに続いて積み重なっていたアイテムもほどけるように移動して、通常の隣接するアイテム間の距離に戻って並ぶ様子を示している。図16fは、図16dの操作で、仮にユーザが左側に指をはじくなどをしてアイテムリスト全体が左側に慣性力でスクロールすることがあったとしても、事前に決められた停止線で折り込まれたアイテムが停止する様子を示している。
【0089】
図16gは、図16cの状態で、アイテムが積み重なり、そのままある一定の時間操作せずに放置するとアイテムが自然に崩れ始める状態を示し、図16hは、折り込まれたアイテムが初期の図16aの状態に戻った様子を示している。図16aから図16hで述べた操作は、図17では操作[A]、[B]として表される。つまり、隣接するアイテム間の距離が通常のものとなっているアイテムリストの領域である「通常領域」内を始点として、指やコントローラでドラッグした場合である。
【0090】
その一方、折り込まれたアイテムに積み重なっているアイテム群の領域、つまり隣接するアイテム間の距離が近接している領域である「近接領域」を始点として、アイテムをドラッグさせた場合の操作は、図17の[C]、[D]に示され、図18aから図18c、図19aから図19d、図20aから図20dを用いて説明する。
【0091】
図18aから図18c、図19aから図19d、図20aから図20dは、それぞれ、図13aから図13c、図14aから図14d、図15aから図15dと同様である。したがって、弱いドラッグの場合は、図13aから図13c、図18aから図18cに示すもの処理となり、強いドラッグの場合は、図14aから図14d、図15aから図15d、図19aから図19d、図20aから図20dに示す処理となる。
【0092】
図18aから図18cは、図17の「近接領域」を始点として、例えばある一定の速度より遅く左右にドラッグさせた場合を示している。図18aは「近接領域」に指を置いた状態を示している。図18bは、図17の[C]の操作であり、図18aの状態から左側へある一定の速度より遅くドラッグさせ、アイテムリスト全体が指に付随して左方向にスクロールされる様子を示している。図18cは、図17の[D]の操作であり、図18aの状態から逆に右側方向へある一定の速度より遅くドラッグさせ、アイテムリスト全体が指に付随して右方向にスクロールされる様子を示している。
【0093】
図19aから図19d、図20aから図20dでは、例えばある一定の速度以上の速い速度で移動させた場合について述べる。図19aは、図17の[C]の操作であり、「近接領域」に指を置いた状態を示している。図19bは、図19aの状態から、ある一定の速度以上の速度で右側にドラッグさせ、図19aでの指の始点から右側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が右側に移動し、最終的に図19cに示すような、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになるという状態を示している。
【0094】
図20aは、図17の[D]の操作であり、「近接領域」に指を置いた状態を示している。図20bは、図20aの状態から、ある一定の速度以上の速度で左側にドラッグさせ、図20aでの指の始点から左側に並んでいたアイテム(隣接するアイテム間の距離が近接されて配置されていたアイテム)が左側に移動する様子を示している。そして、最終的に図20cに示すように、アイテムが通常の隣接するアイテム間の距離に戻ったアイテムリストになる。慣性力などでアイテムリストがさらにスクロールしている場合は、図20dに示すように、停止線で折り込まれたアイテムが引っかかりスクロールが停止する。
【0095】
ここで、図3aから図3cに戻り、折り込まれたアイテムに積み重なる場合のばねモデルの拡張について説明する。折り込まれたアイテムに連続して積み重なったアイテム群は、1つの大きな剛体、大きなノードとして扱うことができる。あるいは、積み重なった個別のアイテムに関して、別の力を定義する関数を適用させることができる。
【0096】
折り込まれた後の計算の一例を図3cに示す。折り込まれた場合、折り込まれたアイテム及びそのアイテムに積み重なったアイテムには、フラグb Foldedがtrueとなって個別にそのアイテムが積み重なったことを示す。あるアイテムが積み重なるべきか、あるいは通常の平坦なアイテムリストとして配置されるべきかの判断は、隣接する積み重なったアイテムとの距離がある定数distanceよりも小さいと積み重なると判断され、b Foldedをtrueと設定する。
【0097】
b Foldedがtrueなものに関しては、短いばねの長さと別の力との関数が適用される。その関数を式(3)に示す。
【0098】
Force_folded(delta)=−kf×(Lf−delta)・・・(3)
【0099】
積み重なったアイテム同士のばね定数はkf、短いばねの長さはLfと定義される。あるいは式(3)を適用せず、b Foldedがtrue、つまり積み重なっているものに関してはアイテム間の距離を近接したアイテム同士のある定数として、積み重なったアイテム群を1つのノードとして扱う。
【0100】
以上述べたイベントの分岐の処理フローの一例について図21aを用いて説明する。ユーザにより、指やコントローラなどであるアイテムがドラッグ(スクロール)されたとする(ステップS2101)。そして、ドラッグされたアイテムが図12や図17で定義された「通常領域」のアイテムか否かを判断する(ステップS2102)。ドラッグされたアイテムが「通常領域」のアイテムの場合、そのドラッグにより、上述した3つの提案で定義されたアイテムを折り込む条件を満たすか否かが判断され(ステップS2103)、条件を満たす場合、そのアイテムを新規の折り込みのアイテムとする(ステップS2104)。条件を満たしていない場合は、そのアイテムのスクロールが行われる(ステップS2105)。
【0101】
一方、ステップS2102で「通常領域」のアイテムではないと判断された場合、ドラッグされたアイテムが図12や図17で定義された「近接領域」でのアイテム、すなわち積み重なったアイテムか否かを判断し(ステップS2106)、「近接領域」でのアイテムである場合、積み重なったアイテムのドラッグの仕方が積み重なりの山を崩す条件を満たすか否かを判断され(ステップS2107)、条件を満たす場合、例えばある一定の速度を超えたものの場合、図14aから図14d、図15aから図15d、図19aから図19d、図20aから図20dで示したように、そのアイテムからドラッグした方向へ連続して積み重なっているアイテム群を積み重なりからほどく処理が行われ(ステップS2108)、アイテムのスクロールが行われる(ステップS2105)。条件を満たしていない場合、図13aから図13cや図18aから図18cで示したように、アイテムリスト全体がスクロールするようなアイテムのスクロールが行われる(ステップS2105)。
【0102】
また、一方、ステップS2106で「近接領域」のアイテムではないと判断された場合、すなわち、ドラッグされたアイテムが図7aのa〜eで定義された折り込まれたアイテムの場合、折り込まれたアイテムをドラッグする動きが、上述した3つの提案の折り込みを解除する図9で示したようなものであるか否かが判断され(ステップS2109)、折り込み解除の条件を満たす場合、折り込みの解除がなされる(ステップS2110)。条件を満たさない場合、アイテムのスクロールが行われる(ステップS2105)。
【0103】
上述したアイテムスクロールが行われる際の分岐処理のフローの一例について図21bを用いて説明する。まず、アイテムがスクロールされる際、ユーザが指やコントローラによる指示をアイテムリストから離した(リリースされた)かどうか、かつ折り込まれた指定されたアイテムが画面内に定義された停止線を横切ろうとしているか否かを調べる(ステップS2111)。横切ろうとしている場合は、図10aから図10f、図11f、図15c、図16f、図19d、図20eで示したように、アイテムリストのスクロールを停止させる(ステップS2112)。上述の条件を満たしていない場合は処理を続ける。
【0104】
そして、アイテムがドラッグ(スクロール)されている方向に折り込まれたアイテムがあるか否かを調べる(ステップS2113)。ある場合は、図11b、図16bで示したように、ドラッグするアイテムの延長上にあるアイテムを折り込まれたアイテムに積み重なるようにする(ステップS2114)。次に、アイテムがドラッグ(スクロール)されている方向と逆の方向に積み重なったアイテムがあるか否かを調べる(ステップS2115)。ある場合は、図11e、図16eで示したように、ドラッグするアイテムの逆方向の延長上にあるアイテムを積み重なりからほどく(ステップS2116)。
【0105】
図22には表示制御装置としての全体の構造の一例を示す。表示制御装置は、コントローラ2201(上述する受付手段に相当)、タッチパネル2202(上述する受付手段に相当)、判断部2203(上述する判断手段に相当)、計算部2204(上述する表示制御手段に相当)、ディスプレイ2205を備える。なお、表示制御装置は、ディスプレイ2205を構成要素とせず、外部の表示手段(不図示)に接続可能なインタフェースを有するものであってもよい。
【0106】
コントローラ2201やタッチパネル2202は、ユーザからの入力を受け付けるものであり、コントローラ2201やタッチパネル2202を介したユーザからの操作による入力信号が判断部2203に送られる。なお、表示制御装置は、コントローラ2201とタッチパネル2202の両方を備えるものでもよく、またどちらか一方のみを備えるものでもよい。判断部2203は、図21a、図21bに示すような入力されたユーザの指の動きから適切な判断を行う。判断を行った判断結果が計算部2204に送信される。
【0107】
計算部2204は、アイテム同士の物理法則、ばねモデルなどを使い、個々のアイテムの位置や速度を計算(決定)し、計算結果をディスプレイ2205に表示させる。計算部2204で計算された計算結果は判断部2203にも送られ、アイテムの動向、物理感を再現するためにコントローラ2201に対して反発力を判断部2203によって生成させる。タッチパネル2202に対しても、振動するハプティックタッチパネルの場合、反発力を表現するため、判断部2203はパネルを振動させる信号を適宜送る。ユーザは、それを感じてディスプレイ2205を見ながら、より直感的にコントローラ2201でアイテムを操作できる。
【0108】
本発明では、折り込まれるアイテムの数は1つに限定されない。図23aから図23cに示すように、複数の折り込みを入れることも可能である。例えば、図23aに示すように1つの折り込みがされており、さらに図23bや図23cで示すように、2つ目の折り込みを続けて入れることも可能である。図23bでは折り込まれたアイテムが2つある。その場合でも、「通常領域」が2つあるだけで図12に示す態様と変わらない。
【0109】
図23cは、折り込まれた2つのアイテム間に若干の距離がある場合である。この場合、「近接領域」の間に「通常領域」が挟まれている。このような場合、例えば右側の「近接領域」を始点として指を左にはねて、右の「近接領域」に重なっているアイテムを崩しても、左側の「近接領域」に重なっているアイテムは崩れないようにすることで、ユーザは1つ1つの独立した積み重なりの山を個別に崩すことができる。
【0110】
本発明では、折り込まれたアイテムに積み重なるアイテムの定義は、隣接するアイテム間の距離が小さくなり近接して並ぶこととする。したがって、その表現、演出方法は、図11に示すようなアイテムリストの軸に沿ったものに限定されない。すなわち、折り込まれるアイテムは、図24aから図24dに示すように、アイテムリストの奥(奥行き)に向かった軸に沿って並ばせることも可能である。
【0111】
図24aは、アイテムリストの奥に向かった軸に沿ってアイテムが折り込まれた様子を示している。図24bは、アイテムリストの奥に向かった軸に沿ってアイテムが積み重なる様子を示している。図24cは、アイテムリストの奥に向かった軸に沿って、折り込まれたアイテムの反対側からアイテムが積み重なる様子を示している。図24dは、このような場合の「近接領域」、「通常領域」を示している。ユーザは、アイテムリストの奥に向かった軸に沿って指をドラッグする必要がある。
【0112】
本発明では、アイテムリストを1次元から2次元へ拡張することも可能である。その状態を図25aから図25gに示す。図25aは、ユーザが操作する前の2次元アイテムリストを示している。図25bは、ある任意の方向にアイテムが指によってドラッグされ、折り込まれた状態を示している。アイテムリストが2次元であり、ドラッグされた方向が斜めであったことから、縦、横の2つの列のアイテムの折り込み(折り込まれたアイテム群)が生成される。図25cと図25dは、折り込まれたアイテム群の上に、さらにアイテムが積み重ねられていく様子を示している。この重なりによって、2次元アイテムリストでの「通常領域」と「近接領域」が定義される。
【0113】
図25eは、しばらく入力(ユーザによるドラッグなど)をしないで放置すると、積み重なったアイテムがほどけて元の平坦な状態に戻る様子を示している。図25fは、図25dの折り込まれたアイテム群の反対側にアイテムを積み重ねていく様子を示している。図25gは、入力しないで放置すると、積み重なったアイテムがほどけて元の平坦な状態に戻る様子を示している。
【0114】
本発明のアイテムリストにおけるアイテムの折り込みの操作は、通常のコントローラやタッチパネルでの指の操作だけでなく、ハプティック機能を備えたコントローラやタッチパネルでも可能である。ハプティックとは、ユーザが加える力に対する反発力や反動力をコントローラなどに加えることで、ユーザがコントローラを通して反発力や反動力を感じることができるものである。本発明では、アイテムが折り込まれた際のアイテムリストが持つ不均衡となった質感などを与えることができる。
【0115】
ここでは2種類のコントローラを例に挙げ、1つのコントローラを図26aに示し、もう1つのコントローラを図26bに示す。図26aに示すコントローラは、ユーザが力を加えることで図26cに示すようにある角度θ傾けることができ、図26bに示すコントローラは、図26dに示すようなある移動距離dXをドラッグすることができる。
【0116】
図27aに示すようにアイテムリストが平坦、つまり、すべてのアイテムが通常の隣接するアイテム間の距離を持っている場合では、図26a、図26bに示すそれぞれのコントローラは、移動分に対し左右に同一の反発力を持つ。一方、図28aに示すように、アイテムリストに折り込まれたアイテムがある場合、コントローラの移動分に応じて左右の反発力の均衡が崩れる。直感に沿った反発力を説明すると、図28aにおいて、さらなるアイテムを、折り込まれたアイテムの上に重ねていく操作をするには反発力がかかり、逆に、積み重なったアイテムの山をほどいていくほうには反発力がかからない感覚をユーザに与える。
【0117】
図28b、図28cでは、正の移動距離の方向を、図28aのアイテムリストのアイテムの左への移動と定義しているため、図28bではθ>0の方向ほど、図28cではdX>0ほどアイテムを左にもっていき山積みに載せるので重い操作の負担が必要となる。
【0118】
図29a、図29bでは、図7aのa〜eで示した軟体領域を有するアイテムリストの特定のアイテムに力を入れて折り込まれるという操作の中で、ドラッグしているアイテムにかかった理論上の力をそのままコントローラに与えることにより、力を加えたからアイテムが折り込まれ、指定されたアイテムにすることができたとユーザに感じさせることができる。
【0119】
図29aは、あるアイテムを右から左へとドラッグさせることでそのアイテムにかかる力を増やそうとしている様子を示している。図29b、図29cは、図29aの状況下でのばねモデルなどの計算から算出されるドラッグしているアイテムに加わる力を、コントローラにθ若しくはdXの関数として与える様子を示している。アイテムリストのうねりに反発する左側にドラッグさせようとすると、右勾配の反発力となって大きな反発力がユーザには感じられる。
【産業上の利用可能性】
【0120】
本発明に係る表示制御装置及び表示制御方法は、画面上の表示エリアをボタンの配置(占有)で失うことなく「ブックマークする」「今の場所を記憶させる」のようなボタンを押すなどの新しいボタンの使い方を覚えることなく、軟体的質感の軟体領域を有するアイテムリストの操作で「記憶」と「戻る」という操作を行うことができるため、ディスプレイ上に表示されるアイテムの表示を制御する表示制御装置及び表示制御方法などに有用である。
【符号の説明】
【0121】
10 アイテムリスト
11 アイテム
20 ノード
21 エッジ
100 折り込みによって指定されたアイテム
2201 コントローラ(受付手段)
2202 タッチパネル(受付手段)
2203 判断部(判断手段)
2204 計算部(表示制御手段)
2205 ディスプレイ
【特許請求の範囲】
【請求項1】
それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置であって、
前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付ける受付手段と、
受け付けられた前記スクロール操作が所定の操作であるか否かを判断する判断手段と、
前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させる表示制御手段とを、
備える表示制御装置。
【請求項2】
前記所定の操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を停止させる操作のいずれか1つである請求項1に記載の表示制御装置。
【請求項3】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項1に記載の表示制御装置。
【請求項4】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項1に記載の表示制御装置。
【請求項5】
前記所定の表示形式は、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式である請求項1から4のいずれか1つに記載の表示制御装置。
【請求項6】
前記表示制御手段は、前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を前記受付手段が受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻す請求項1から5のいずれか1つに記載の表示制御装置。
【請求項7】
前記表示制御手段は、前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させる請求項1から6のいずれか1つに記載の表示制御装置。
【請求項8】
前記表示制御手段は、
前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、
前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、
前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置する請求項1から7のいずれか1つに記載の表示制御装置。
【請求項9】
前記あらかじめ決められた操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作である請求項8に記載の表示制御装置。
【請求項10】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項8に記載の表示制御装置。
【請求項11】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項8に記載の表示制御装置。
【請求項12】
前記表示制御手段は、前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させる請求項8から11のいずれか1つに記載の表示制御装置。
【請求項13】
前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きい請求項8から12のいずれか1つに記載の表示制御装置。
【請求項14】
前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記関数により表される力である請求項11に記載の表示制御装置。
【請求項15】
それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置による表示制御方法であって、
前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付けるステップと、
受け付けられた前記スクロール操作が所定の操作であるか否かを判断するステップと、
前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させるステップとを、
有する表示制御方法。
【請求項16】
前記所定の操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を停止させる操作のいずれか1つである請求項15に記載の表示制御方法。
【請求項17】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項15に記載の表示制御方法。
【請求項18】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項15に記載の表示制御方法。
【請求項19】
前記所定の表示形式は、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式である請求項15から18のいずれか1つに記載の表示制御方法。
【請求項20】
前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻すステップを更に有する請求項15から19のいずれか1つに記載の表示制御方法。
【請求項21】
前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させるステップを更に有する請求項15から20のいずれか1つに記載の表示制御方法。
【請求項22】
前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、
前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、
前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置するステップを更に有する請求項15から21のいずれか1つに記載の表示制御方法。
【請求項23】
前記あらかじめ決められた操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作である請求項22に記載の表示制御方法。
【請求項24】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項22に記載の表示制御方法。
【請求項25】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項22に記載の表示制御方法。
【請求項26】
前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させるステップを更に有する請求項22から25のいずれか1つに記載の表示制御方法。
【請求項27】
コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きい請求項22から26のいずれか1つに記載の表示制御方法。
【請求項28】
コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記関数により表される力である請求項25に記載の表示制御方法。
【請求項1】
それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置であって、
前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付ける受付手段と、
受け付けられた前記スクロール操作が所定の操作であるか否かを判断する判断手段と、
前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させる表示制御手段とを、
備える表示制御装置。
【請求項2】
前記所定の操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を停止させる操作のいずれか1つである請求項1に記載の表示制御装置。
【請求項3】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項1に記載の表示制御装置。
【請求項4】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項1に記載の表示制御装置。
【請求項5】
前記所定の表示形式は、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式である請求項1から4のいずれか1つに記載の表示制御装置。
【請求項6】
前記表示制御手段は、前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を前記受付手段が受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻す請求項1から5のいずれか1つに記載の表示制御装置。
【請求項7】
前記表示制御手段は、前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させる請求項1から6のいずれか1つに記載の表示制御装置。
【請求項8】
前記表示制御手段は、
前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、
前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、
前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置する請求項1から7のいずれか1つに記載の表示制御装置。
【請求項9】
前記あらかじめ決められた操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作である請求項8に記載の表示制御装置。
【請求項10】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項8に記載の表示制御装置。
【請求項11】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項8に記載の表示制御装置。
【請求項12】
前記表示制御手段は、前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させる請求項8から11のいずれか1つに記載の表示制御装置。
【請求項13】
前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きい請求項8から12のいずれか1つに記載の表示制御装置。
【請求項14】
前記ユーザからのスクロール操作を受け付ける前記受付手段がコントローラ装置の場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記関数により表される力である請求項11に記載の表示制御装置。
【請求項15】
それぞれが所定のフレームで構成される複数のアイテムによって構成されるアイテム列中の一部の複数のアイテムが静止時にはディスプレイ上に所定の間隔で配置され、前記所定の間隔がユーザのアイテムに対する前記ディスプレイ上でのスクロール操作により変化するよう表示態様を制御する表示制御装置による表示制御方法であって、
前記ディスプレイに表示されるアイテムに対する前記ユーザの前記ディスプレイ上でのスクロール操作を受け付けるステップと、
受け付けられた前記スクロール操作が所定の操作であるか否かを判断するステップと、
前記スクロール操作が前記所定の操作である場合に、前記スクロール操作されたアイテムを指定アイテムとして指定し、前記指定アイテムとして指定された前記アイテムの表示を所定の表示形式で表示させるステップとを、
有する表示制御方法。
【請求項16】
前記所定の操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と略垂直に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、突然、移動を停止させる操作のいずれか1つである請求項15に記載の表示制御方法。
【請求項17】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の間隔が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項15に記載の表示制御方法。
【請求項18】
前記所定の操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項15に記載の表示制御方法。
【請求項19】
前記所定の表示形式は、前記スクロール操作されたアイテムが傾き、隣接するアイテム上の一部に重なるような表示の形式である請求項15から18のいずれか1つに記載の表示制御方法。
【請求項20】
前記所定の表示形式で表示されたアイテムの前記指定アイテムとしての指定を解除するための操作を受け付けた場合、前記指定アイテムの指定を解除し、前記所定の表示形式を前記指定アイテムとして指定される前の表示形式に戻すステップを更に有する請求項15から19のいずれか1つに記載の表示制御方法。
【請求項21】
前記指定アイテムが指定された後に前記アイテムリストが前記ユーザによりスクロールされ、前記ディスプレイ上の所定の位置を前記指定アイテムが通過した場合、前記スクロールを停止させ、前記指定アイテムを前記所定の位置で表示させるステップを更に有する請求項15から20のいずれか1つに記載の表示制御方法。
【請求項22】
前記指定アイテムに近づける向きにアイテムがスクロール操作され、前記スクロール操作されたアイテムが前記指定アイテムにあらかじめ決められた距離近づくと、前記スクロール操作されたアイテムを前記指定アイテム上の一部に積み重ねて表示し、
前記積み重ねられたアイテム周辺の所定の表示エリアを始点とし、前記積み重ねられたアイテムから遠ざかる向きにスクロール操作がされた場合、前記スクロール操作されたアイテムをスクロールされた方向に向けて前記所定の間隔で配置し、
前記積み重ねられたアイテム周辺の他の所定の表示エリアを始点として前記積み重ねられたアイテムから遠ざける向きにスクロール操作がされ、前記スクロール操作があらかじめ決められた操作である場合に、前記積み重ねられたアイテムのうち、前記他の所定の表示エリアにおける始点からスクロールされた方向にあるアイテムそれぞれをスクロールされた方向に向けて前記所定の間隔で配置するステップを更に有する請求項15から21のいずれか1つに記載の表示制御方法。
【請求項23】
前記あらかじめ決められた操作は、前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に前記方向と逆の方向に移動させる操作、又は前記複数のアイテムが配列された方向と略平行に移動させ、前記方向に移動させてから一定時間内に移動を停止させる操作である請求項22に記載の表示制御方法。
【請求項24】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の距離が一定の値を超える操作、又は前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量が一定の値を超える操作である請求項22に記載の表示制御方法。
【請求項25】
前記あらかじめ決められた操作は、前記スクロール操作されたアイテムと、そのアイテムに隣接するアイテムとの間の前記所定の間隔からの変化量に依存する関数により表される力が一定の値を超える操作、前記力により計算されるアイテム間の距離が一定の値を超える操作、又は前記力により計算されるアイテム間の相対速度が一定の値を超える操作のいずれかである請求項22に記載の表示制御方法。
【請求項26】
前記指定アイテム上にアイテムが積み重ねられ、所定の時間内に前記受付手段を介した操作がない場合、前記積み重ねられたアイテムそれぞれを積み重ねられる前の前記所定の間隔で配置させるステップを更に有する請求項22から25のいずれか1つに記載の表示制御方法。
【請求項27】
コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記指定アイテム上にアイテムを積み重ねる操作を行う場合のほうが、前記積み重ねられたアイテムそれぞれを前記所定の間隔で配置させる操作を行う場合よりも大きい請求項22から26のいずれか1つに記載の表示制御方法。
【請求項28】
コントローラ装置を介して前記ユーザからのスクロール操作を受け付ける場合、
前記コントローラ装置に対して前記ユーザによって加えられる力は、前記関数により表される力である請求項25に記載の表示制御方法。
【図1a】
【図1b】
【図2】
【図3a】
【図3b】
【図3c】
【図4】
【図5a】
【図5b】
【図5c】
【図6a】
【図6b】
【図7a】
【図7b】
【図8a】
【図8b】
【図9a】
【図9b】
【図9c】
【図9d】
【図9e】
【図10a】
【図10b】
【図10c】
【図10d】
【図10e】
【図10f】
【図11a】
【図11b】
【図11c】
【図11d】
【図11e】
【図11f】
【図11g】
【図11h】
【図12】
【図13a】
【図13b】
【図13c】
【図14a】
【図14b】
【図14c】
【図14d】
【図15a】
【図15b】
【図15c】
【図15d】
【図16a】
【図16b】
【図16c】
【図16d】
【図16e】
【図16f】
【図16g】
【図16h】
【図17】
【図18a】
【図18b】
【図18c】
【図19a】
【図19b】
【図19c】
【図19d】
【図20a】
【図20b】
【図20c】
【図20d】
【図21a】
【図21b】
【図22】
【図23a】
【図23b】
【図23c】
【図24a】
【図24b】
【図24c】
【図24d】
【図25a】
【図25b】
【図25c】
【図25d】
【図25e】
【図25f】
【図25g】
【図26a】
【図26b】
【図26c】
【図26d】
【図27a】
【図27b】
【図27c】
【図28a】
【図28b】
【図28c】
【図29a】
【図29b】
【図29c】
【図30】
【図1b】
【図2】
【図3a】
【図3b】
【図3c】
【図4】
【図5a】
【図5b】
【図5c】
【図6a】
【図6b】
【図7a】
【図7b】
【図8a】
【図8b】
【図9a】
【図9b】
【図9c】
【図9d】
【図9e】
【図10a】
【図10b】
【図10c】
【図10d】
【図10e】
【図10f】
【図11a】
【図11b】
【図11c】
【図11d】
【図11e】
【図11f】
【図11g】
【図11h】
【図12】
【図13a】
【図13b】
【図13c】
【図14a】
【図14b】
【図14c】
【図14d】
【図15a】
【図15b】
【図15c】
【図15d】
【図16a】
【図16b】
【図16c】
【図16d】
【図16e】
【図16f】
【図16g】
【図16h】
【図17】
【図18a】
【図18b】
【図18c】
【図19a】
【図19b】
【図19c】
【図19d】
【図20a】
【図20b】
【図20c】
【図20d】
【図21a】
【図21b】
【図22】
【図23a】
【図23b】
【図23c】
【図24a】
【図24b】
【図24c】
【図24d】
【図25a】
【図25b】
【図25c】
【図25d】
【図25e】
【図25f】
【図25g】
【図26a】
【図26b】
【図26c】
【図26d】
【図27a】
【図27b】
【図27c】
【図28a】
【図28b】
【図28c】
【図29a】
【図29b】
【図29c】
【図30】
【公開番号】特開2011−192126(P2011−192126A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−58887(P2010−58887)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(502324066)株式会社デンソーアイティーラボラトリ (332)
【Fターム(参考)】
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願日】平成22年3月16日(2010.3.16)
【出願人】(502324066)株式会社デンソーアイティーラボラトリ (332)
【Fターム(参考)】
[ Back to top ]