(58)【調査した分野】(Int.Cl.,DB名)
前記第1の表示制御手段は、前記スクロール制御手段による画像のスクロールに応じて前記第2の画像に対する前記指標画像の位置が変化させられた後に、前記第2の画像の表示から前記第1の画像の表示に変更する場合には、前記第2の画像において前記指標画像が示す位置にある画像を前記第1の画像として表示させる
請求項1に記載のプログラム。
前記スクロール制御手段は、前記情報取得手段によって取得された動き情報に基づいて、前記第2の画像がスクロールする速度を変えて当該第2の画像をスクロールさせる請求項3に記載のプログラム。
前記第1の表示制御手段は、前記第1の画像に対し前記スクロールの方向に連なる連続画像を生成し、当該第1の画像及び当該連続画像を含む前記第2の画像を表示させる請求項1〜6のいずれか1項に記載のプログラム。
前記第2の表示制御手段は、前記第2の画像の表示から前記第1の画像の表示に変更される場合には、前記第2の画像において表示していた前記指標画像を前記第1の画像においては表示させない
請求項1〜7のいずれか1項に記載のプログラム。
前記第1の表示制御手段は、前記第1の画像を表示するときに当該第1の画像に関連する操作を行うための操作オブジェクトを表示させ、前記第2の画像を表示するときに当該操作オブジェクトを表示させない
請求項1〜8のいずれか1項に記載のプログラム
【発明を実施するための形態】
【0021】
[実施形態]
図1は、本発明の一実施形態である表示システム10の構成を示す図である。表示システム10は、ユーザの操作に応じて各種の画像を表示するためのシステムである。表示システム10において表示される画像は、例えば、ゲームやウェブページの画像であるが、その他の画像(電子文書、ユーザにより撮影された静止画像又は動画像、テレビジョン放送の映像など)であってもよい。これらの画像は、表示システム10が備える表示装置に表示されたときに、その表示領域よりも広い領域にわたって配置されたコンテンツの画像である。そのため、ユーザは、このコンテンツを通常の表示倍率で表示したとき、コンテンツの全てを一覧することができない。
【0022】
表示システム10は、コントローラ100と、モニタ200と、本体装置300とを含んで構成される。ただし、表示システム10は、コントローラ100以外の他のコントローラを含んで構成されてもよいし、コントローラ100を複数備えてもよい。また、表示システム10は、モニタ200を用いずに使用することも可能である。
【0023】
コントローラ100は、画像を表示する端末であるとともに、ユーザがこれを所持して各種の操作を行うための端末でもある。コントローラ100は、ここでは、表示領域141を有し、ユーザが手に持って操作する携帯型の表示装置である。なお、コントローラ100は、画像を表示することによって情報を視覚的に提示するだけでなく、音声による聴覚的な提示や振動による触覚的な提示を行ってもよい。
【0024】
モニタ200は、画像を表示する装置であり、例えば、テレビジョン放送の受像機である。モニタ200は、ここでは、据置型の表示装置である。ただし、モニタ200は、テレビジョン放送を受信できる機能を必ずしも要さず、パーソナルコンピュータ用の表示装置などであってもよい。モニタ200の表示領域201は、ここではコントローラ100の表示領域141よりも大きいサイズであるとするが、コントローラ100の表示領域141と同等ないしそれ未満のサイズであってもよい。また、モニタ200の表示領域201とコントローラ100の表示領域141とは、縦横比が同一でなくてもよい。さらに、モニタ200は、コントローラ100と同様に、情報を視覚的にだけでなく聴覚的に提示することも可能であるが、モニタ200とスピーカを別体に構成してもよい。
【0025】
本体装置300は、コントローラ100及びモニタ200の動作を制御する情報処理装置である。そのため、本体装置300は、コントローラ100及びモニタ200と有線又は無線で接続されている。ここでは、本体装置300は、コントローラ100と無線通信を行い、モニタ200と有線通信を行うものとするが、これ以外の態様で通信を行うことも可能である。
【0026】
図2は、コントローラ100の外観構成を示す図であり、表示領域141が設けられている面とその反対側の面とを図示している。説明の便宜上、以下においては、表示領域141が設けられている面を「正面」といい、その反対側の面を「背面」という。ここにおいて、正面とは、操作時にユーザに対向する面のことである。また、以下においては、コントローラ100の正面及び背面以外の面のことを総称して「側面」という。
【0027】
コントローラ100の正面には、表示領域141に加えて、Aボタン161A、Bボタン161B、Xボタン161X、Yボタン161Y、十字ボタン161Dが設けられている。また、コントローラ100の側面には、Lボタン161L及びRボタン161Rが設けられている。さらに、コントローラ100の背面には、ZLボタン161ZL、ZRボタン161ZRが設けられている。以下においては、これらのボタンを総称して「ボタン群161」とも表記する。
【0028】
ボタン群161は、押下可能なハードウェアキーである。ここにおいて、ハードウェアキーとは、コントローラ100の所定の位置に存在するキーをいい、物理キーとも呼ばれるものである。ボタン群161は、各々のボタンの押下状態(すなわち押下されているか否か)を表す操作情報を生成する。
【0029】
また、コントローラ100の正面には、ボタン群161を構成するボタンに加えて、スライドパッド162が設けられている。スライドパッド162は、ユーザが指によって与えている力の強さと方向とを表す操作情報を生成する。なお、スライドパッド162は、ユーザの右手側にあってもよいし、左手側と右手側の双方にあってもよい。
【0030】
図3は、ユーザがコントローラ100を両手で把持する様子を例示する図である。ユーザは、このようにコントローラ100を把持すると、左手の人差し指(示指)でZLボタン161ZLを、右手の人差し指でZRボタン161ZRを、それぞれ押下することが可能である。ZLボタン161ZL及びZRボタン161ZRを両手で押下していると、これらを押下していない場合に比べ、ユーザがコントローラ100を確実に把持することが可能となり、ユーザが正面側でさまざまな操作をしてもコントローラ100が動いたりぐらついたりしにくくなる。なお、コントローラ100を確実に把持する効果は、Lボタン161L及びRボタン161Rを押下することによっても得られる。
【0031】
なお、コントローラ100の持ち方は、
図3の例に限定されない。例えば、ユーザは、人差し指をLボタン161L及びRボタン161Rの付近に添え、ZLボタン161ZL及びZRボタン161ZRを中指で押下することも可能である。また、ユーザは、コントローラ100を横長ではなく縦長に把持してもよい。
【0032】
図4は、コントローラ100のハードウェア構成を示すブロック図である。コントローラ100は、制御部110と、補助記憶部120と、通信部130と、表示部140と、タッチスクリーン部150と、操作部160と、動き検出部170とを備える。なお、図示を省略するが、コントローラ100は、静止画像又は動画像を撮影するためのカメラ、音声を入出力するマイクロホンやスピーカ、コントローラ100を振動させるためのバイブレータ、通信部130以外の通信手段(例えば、他のコントローラと通信するための赤外線通信手段)などをさらに備えてもよい。
【0033】
制御部110は、コントローラ100の各部の動作を制御する手段である。制御部110は、CPU(Central Processing Unit)などの演算処理装置、主記憶装置に相当する
メモリ、コントローラ100の各部と情報をやり取りするための入出力インタフェースなどを備え、プログラムを実行することによって画像の表示や本体装置300とのデータの送受信を制御する。また、制御部110は、本体装置300に送信する画像データを圧縮し、本体装置300から受信した画像データを伸長するコーデックを備える。このコーデックによる圧縮・伸張処理の方式は、特に限定されないが、例えばH.264である。
【0034】
補助記憶部120は、制御部110により用いられるデータを記憶する手段である。補助記憶部120は、例えばフラッシュメモリである。補助記憶部120は、後述するブックマークなどのデータを記憶することが可能である。なお、補助記憶部120は、いわゆるメモリカードのような着脱可能な記録媒体を含んで構成されてもよい。
通信部130は、本体装置300と通信する手段である。通信部130は、無線通信により本体装置300と通信を行うためのアンテナなどを備える。
【0035】
表示部140は、画像を表示する手段である。表示部140は、液晶素子や有機EL(electroluminescence)素子により画素が構成された表示パネルと、この表示パネルを駆動する駆動回路とを備え、制御部110から供給された画像データに応じた画像を表示領域141に表示する。
【0036】
タッチスクリーン部150は、ユーザの操作を受け付ける手段であり、表示領域141上の位置を表す座標情報を生成及び供給する手段である。タッチスクリーン部150は、表示領域141に重ねて設けられたセンサと、このセンサにより検出された位置を表す座標情報を生成して制御部110に供給する制御回路とを備える。タッチスクリーン部150の位置の検出方式は、抵抗膜方式であってもよいし、静電容量方式などの他の方式であってもよい。また、タッチスクリーン部150は、複数の位置を同時に検出できる、いわゆるマルチタッチスクリーンであってもよい。なお、ユーザは、タッチスクリーン部150を指で操作してもよいが、スタイラス(タッチペン)などのペン状の器具で操作することも可能である。
【0037】
タッチスクリーン部150は、表示部140との協働によってソフトウェアキーを実現する。ここにおいて、ソフトウェアキーとは、表示領域141上にソフトウェア処理によって実現されるキーをいう。ソフトウェアキーは、ハードウェアキーと異なり、位置を変更したり、表示・非表示を切り替えたりすることが可能なキーである。
【0038】
操作部160は、ユーザの操作を受け付ける別の手段である。操作部160は、上述したボタン群161と、スライドパッド162とを備え、ユーザの操作に応じた操作情報を制御部110に供給する。
【0039】
動き検出部170は、コントローラ100の動きを検出する手段である。動き検出部170は、磁気センサ171、加速度センサ172及びジャイロセンサ173を備え、コントローラ100の動きを表す動き情報を生成し、これを制御部110に供給する。動き情報は、磁気センサ171により検出される地磁気(すなわち方位)の変化、加速度センサ172により検出される加速度の変化、ジャイロセンサ173により検出される角度又は角速度の変化(すなわちコントローラ100が動くときの姿勢の変化)を表す。なお、動き検出部170は、磁気センサ171、加速度センサ172及びジャイロセンサ173をすべて備えずに、これらの少なくともいずれかを備える構成であってもよい。
【0040】
コントローラ100は、自ら動くのではなく、ユーザが振ったり傾けたりすることによって動かされるものである。したがって、動き検出部170は、コントローラ100の動きを検出することによってユーザの動き(すなわち操作)を検出しているともいえる。よって、ここでは、動き検出部170により生成される動き情報を、操作情報に含めるものとする。
【0041】
図5は、本体装置300のハードウェア構成を示すブロック図である。本体装置300は、制御部310と、補助記憶部320と、ディスクドライブ部330と、ネットワーク通信部340と、端末通信部350と、AV(Audio and Visual)インタフェース部360とを備える。
【0042】
制御部310は、本体装置300の各部の動作を制御する手段であり、本発明に係る「コンピュータ」に相当する部分である。制御部110は、CPU、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの演算処理装置、主記憶装置やVRAM(Video Random Access Memory)に相当するメモリ、本体装置300の各部と情報をやり取りするための入出力インタフェースなどを備え、プログラムを実行することによってコントローラ100、モニタ200に送信する画像データの生成などを制御する。制御部310が実行可能なプログラムには、後述するゲームプログラムや、ウェブページを閲覧するためのブラウザプログラムが含まれる。また、制御部310は、コントローラ100やモニタ200に送信する画像データを圧縮し、コントローラ100から受信した画像データを伸長するコーデックを備える。
【0043】
補助記憶部320は、制御部310により用いられるデータを記憶する手段である。補助記憶部320は、例えばフラッシュメモリやハードディスクであるが、メモリカードのような着脱可能な記録媒体を含んでもよい。補助記憶部320は、制御部310が実行するプログラムや、ネットワーク通信部340、端末通信部350を介して取得したデータを記憶することが可能である。
【0044】
ディスクドライブ部330は、光ディスク(光記録媒体)に記憶されたデータを読み取る手段である。光ディスクには、例えば、ゲームプログラムなどのゲームを実行するために必要なデータが記録されている。なお、ディスクドライブ部330は、光磁気ディスクや半導体メモリなどの他の記録媒体に記憶されたデータを読み取るように構成されてもよい。
【0045】
ネットワーク通信部340は、インターネットなどのネットワークと通信する手段である。ネットワーク通信部340による通信は、有線・無線のいずれであってもよい。ネットワーク通信部340は、制御部310による指示に従い、外部のサーバ装置からデータを送信したり受信したりする。
【0046】
端末通信部350は、コントローラ100と通信する手段である。端末通信部350は、コントローラ100と異なる他のコントローラが用いられる場合には、当該他のコントローラと通信してもよい。端末通信部350による無線通信には、Wi-Fi(登録商標)、Bluetooth(登録商標)、赤外線通信などの任意の通信方式を用いることができる。
【0047】
AVインタフェース部360は、モニタ200に画像データや音声データを供給する手段である。AVインタフェース部360は、HDMI(High-Definition Multimedia Interface:登録商標)端子などのインタフェースを1又は複数備える。
【0048】
図6は、本体装置300の主要な機能構成を示すブロック図(機能ブロック図)である。本体装置300は、コントローラ100及びモニタ200による画像の表示を実現するための手段として、第1の表示制御手段311、第2の表示制御手段312、スクロール制御手段313、情報取得手段314、把持検出手段315を有する。これらの手段は、本体装置300の制御部310が1又は複数のプログラムを実行することによって実現される。
【0049】
第1の表示制御手段311は、コントローラ100及びモニタ200という表示装置による画像の表示を制御する手段であり、本体装置300の制御部310、端末通信部350及びAVインタフェース部360によって実現される。第1の表示制御手段311は、これらの表示装置の表示領域に、第1の画像と、縮小した当該第1の画像を含む第2の画像とを、選択的に用いて表示装置に表示させる(これらの画像については後の
図10の説明において詳述する)。第1の表示制御手段311は、第2の画像を表示するための表示操作が行われていないと、第1の画像を表示装置に表示させ、当該表示操作が行われていると、第2の画像を表示装置に表示させる。
【0050】
また、第1の表示制御手段311は、第1の画像を表示するときに当該第1の画像に関連する操作を行うための操作オブジェクトを表示させ、第2の画像を表示するときに当該操作オブジェクトを表示させない。ここにおいて、操作オブジェクトとは、操作の対象物をいい、アイコンなどの画像や、GUI(Graphical User Interface)におけるボタン、スクロールバー、テキストボックスなどのウィジェット(コントロールともいう)などがこれに該当する。また、文字も選択可能な操作オブジェクトとして機能する場合がある。例えば、表示領域に表示される画像がウェブページである場合には、ハイパーリンクとして機能する文字列が操作オブジェクトに該当する。
【0051】
第2の表示制御手段312は、コントローラ100及びモニタ200という表示装置による画像の表示を制御する手段であり、本体装置300の制御部310、端末通信部350及びAVインタフェース部360によって実現される。第2の表示制御手段312は、これらの表示装置に第2の画像が表示されているときに、当該第2の画像の表示から第1の画像の表示に変更された場合に表示される画像の位置を示す指標画像を表示させる(指標画像については後の
図10,11の説明において詳述する)。
【0052】
スクロール制御手段313は、画像のスクロールを制御する手段であり、本体装置300の制御部310、端末通信部350及びAVインタフェース部360によって実現される。ここにおいて、スクロールとは、表示領域に全体を表示しきれない画像を所定の方向に移動させ、画像のうちのそれまで表示されていなかった部分を可視化する表示の態様をいう。なお、本実施形態において、スクロールとは、上下方向(垂直方向)への画像の移動のみを指すものではなく、左右方向(水平方向)や斜め方向への画像の移動を含み得るものである。スクロール制御手段313は、ユーザによるスクロール操作に応じて、少なくともコントローラ100に表示される画像のスクロールを制御するが、モニタ200に表示される画像のスクロールを制御することも可能である。例えば、コントローラ100とモニタ200とに対して、ある画像(例えばウェブページ)の共通の一部分を表示する場合であれば、スクロール制御手段313は、コントローラ100に表示される画像のスクロールに応じてモニタ200に表示される画像も同じようにスクロールさせることが可能である。
【0053】
情報取得手段314は、ユーザの操作に係る操作情報を取得する手段であり、本体装置300の制御部310及び端末通信部350によって実現される。操作情報は、ユーザの操作に応じて、コントローラ100から送信される情報である。操作情報は、ボタン群161の押下状態を示すもののほか、タッチスクリーン部150により供給される座標情報や、動き検出部170により供給される動き情報を含み得る。
【0054】
把持検出手段315は、ユーザがコントローラ100を把持していることを検出する手段であり、本体装置300の制御部310及び端末通信部350によって実現される。把持検出手段315は、所定の操作情報を利用して、ユーザがコントローラ100を所定の態様で把持していることを検出する。本実施形態において、把持検出手段315は、ZLボタン161ZL及びZRボタン161ZRがともに押下されていることを検出した場合に、ユーザがコントローラ100を
図3に示すように両手で把持していることを検出する。
【0055】
なお、把持検出手段315は、ユーザがコントローラ100を把持していることを他の操作に基づいて検出してもよい。例えば、把持検出手段315は、ZLボタン161ZL及びZRボタン161ZRの押下に代えて、Lボタン161L及びRボタン161Rの押下に基づいてユーザの把持を検出してもよいし、これらの4つのボタンがすべて押下されたときにユーザの把持を検出してもよい。また、把持検出手段315による検出は、ハードウェアキーの押下ではなく、他のセンサ(タッチセンサなど)に基づいてユーザの把持を検出してもよい。
【0056】
なお、本体装置300は、
図6に示した手段のすべてを有していなくてもよい。また、本体装置300は、
図6に示した手段を単一のプログラムによって実現してもよいし、複数のプログラムによって実現してもよい。
【0057】
表示システム10の構成は、以上のとおりである。この構成のもと、本体装置300は、コントローラ100及びモニタ200の少なくとも一方に画像を表示させる。本体装置300は、ユーザの操作や、表示させる画像の種類に応じて、コントローラ100又はモニタ200の一方のみに画像を表示させたり、コントローラ100及びモニタ200の双方に画像を表示させたりすることができる。なお、コントローラ100及びモニタ200の双方に画像を表示させる場合において、本体装置300は、双方に同じ画像を表示させることも、互いに異なる画像を表示させることも可能である。
【0058】
例えば、ゲームをプレイする場合において、家族や友人など、複数のユーザがいるときには、特定のユーザがコントローラ100を見ながら操作し、他のユーザはモニタ200でゲームの展開を確認する、といった利用形態が想定される。この場合において、コントローラ100が複数あったり、あるいはコントローラ100以外の他のコントローラがあったりすれば、複数のユーザがゲームに参加することも可能である。
【0059】
また、ユーザは、表示システム10を用いて、ゲームをプレイするだけでなく、ウェブページを閲覧することも可能である。あるいは、ユーザは、撮影した画像(動画像又は静止画像)や電子文書を閲覧することも可能である。このとき、ユーザは、他のユーザと一緒に画像を閲覧する場合には、コントローラ100とモニタ200の双方に画像を表示させるように操作すればよい。一方、ユーザは、他のユーザがおらず、1人で画像を閲覧する場合には、コントローラ100とモニタ200の一方のみに画像を表示させることも可能である。
【0060】
以下の説明は、表示システム10における表示の一例として、ウェブページを閲覧する場合の動作を示すものである。動作例1は、コントローラ100のみに画像を表示させる例であり、動作例2は、コントローラ100とモニタ200の双方に画像を表示させる例である。
【0061】
(動作例1)
図7は、本体装置300がコントローラ100にウェブページの画像を表示させるときに実行する基本的な処理を示すフローチャートである。この処理において、本体装置300の制御部310は、まず、ユーザによる所定の操作に応じてページデータを取得する(ステップS11)。例えば、制御部310は、ユーザが所定のキーを押下すると、あらかじめ設定されたウェブページのURL(Uniform Resource Locator)を読み出し、当該URLが示すリソース(HTML(HyperText Markup Language)データ、スタイルシート、画像データ、スクリプトなど)をネットワーク通信部340を介して取得する。
【0062】
制御部310は、ページデータを取得すると、これに基づいてビットマップデータを生成する(ステップS12)。制御部310は、レンダリングなどの処理を実行してビットマップデータを生成し、これをVRAMに一時的に記録する。
【0063】
次に、制御部310は、ビットマップデータに基づいて画像データを生成し、端末通信部350を介してこれをコントローラ100に送信する(ステップS13)。画像データは、ビットマップデータを所定の圧縮方式で圧縮することによって得られる画像を含んだデータである。ただし、画像データの容量に比して通信速度が十分であれば、圧縮処理は省略することも可能である。また、この画像データには、後述する操作オブジェクトに相当する画像も含まれ得る。コントローラ100の制御部110は、画像データを受信すると、ウェブページの画像を表示領域141に表示させる。
【0064】
図8は、コントローラ100における画像の表示例を示す図である。この例において、コントローラ100は、ウェブページの画像Im11に加え、メニュー画像Im12、Im13を表示する。メニュー画像Im12、Im13は、例えば、表示しているウェブページのURLや、サーチエンジンによって検索するためのテキストボックスを表示する画像である。また、メニュー画像Im12、Im13は、ユーザが表示領域141に対する操作(タッチ操作)によって選択することができる操作オブジェクトを含む。操作オブジェクトは、例えば、ブックマーク(あらかじめ登録された1又は複数のお気に入りのURL)を表示させるためのアイコンや、表示させるウェブページを以前に閲覧したページに戻すためのアイコンなどを含み得るが、本実施形態においては、表示領域141に表示させるウェブページの画像Im11を縮小するためのアイコンである縮小アイコンIc1と、この画像Im11を拡大するためのアイコンである拡大アイコンIc2とを少なくとも含むものとする。以下においては、後述する縮小画像と区別することを目的に、
図8のように表示される画像(すなわち縮小前の画像)のことを「等倍画像」という。等倍画像は、本発明における「第1の画像」の一例である。
【0065】
ユーザは、等倍画像が表示されたコントローラ100において、例えばYボタン161Yを押下するという縮小操作を行うことにより、等倍画像を縮小して表示させることが可能である。一方、ユーザは、縮小画像が表示されたコントローラ100において、Yボタン161Yから手を離すなどして、その押下を止めると、等倍画像の表示に戻すことができる。ここで、Yボタン161Yの押下を止めるというユーザの行為は、「縮小操作を行わない」ということであるが、以下の説明においては、この行為を便宜的に「拡大操作を行う」と表現することがある。
【0066】
図9は、縮小表示処理を含む割り込み処理を示すフローチャートである。
図9に示す処理は、等倍画像を表示している状態においてユーザの操作が行われた場合(すなわち操作情報を取得した場合)に実行される割り込み処理である。なお、ユーザの操作には、等倍画像を縮小して表示するための縮小操作以外の操作も含まれるが、ここでは、縮小操作が行われた場合の処理を中心に説明し、それ以外の処理の説明を適宜省略する。
【0067】
本体装置300の制御部310は、操作情報を取得すると、当該操作情報が表す操作を特定する(ステップS21)。そして、制御部310は、特定した操作が縮小又は拡大操作であるか否かを判断する(ステップS22)。制御部310は、特定した操作が縮小操作でもなく拡大操作でもなければ、当該操作に応じた処理を実行する(ステップS26)。ステップS26の処理は、例えば、表示する等倍画像をページ単位で切り替える処理などである。
【0068】
制御部310は、特定した操作が縮小又は拡大操作である場合には(ステップS22;YES)、主記憶装置などのメモリから表示位置情報を読み出す(ステップS23)。表示位置情報とは、ページデータ全体の画像において、コントローラ100が等倍画像を表示するときに表示されるべき画像の位置を示す情報である。制御部310は、コントローラ100に画像を表示している期間、この表示位置情報をメモリに記憶し、必要に応じて更新している。
【0069】
次に、制御部310は、ページデータと表示位置情報とに基づいてビットマップデータを生成する(ステップS24)。例えば縮小画像を表示するとき(等倍画像が表示された状態から縮小操作が行われたとき)は、制御部310は、表示位置情報が示す位置にあるページデータに加えて、ウェブページにおいてさらにその位置の前後にあるページデータに基づいて、ビットマップデータを生成する。このとき、表示位置情報が示す位置の前後にあるページデータが抽出される範囲は、縮小画像を表示するときの表示倍率に応じて決まることになる。一方、等倍画像を表示するとき(縮小画像が表示された状態から拡大操作が行われたとき)は、制御部310は、表示位置情報が示す位置にあるページデータに基づいてビットマップデータを生成する。そして、制御部310は、このビットマップデータに基づいて画像データを生成及び送信する(ステップS25)。
【0070】
図10は、縮小操作が行われた場合に画像の表示が変化する例を示す図である。なお、ここで表示されるウェブページは、上下方向に長い、つまり縦長のページであるとする。
図8に示した画像Im11がコントローラ100に表示された状態で、縮小操作が行われると、
図10下段に示すような画像Im11aが表示される。画像Im11aは、ウェブページにおいて
図8に示した画像Im11及びその前後にある画像が縮小されたものであり、以下においては、画像Im11aのことを「縮小画像」という。縮小画像は、本発明の「第2の画像」の一例である。
【0071】
図10に示すように、画像Im11aは、表示領域の端部(ここでは上端又は下端)に近いほどその文字のサイズが大きくなっている。つまり、表示領域の端部に近づくほど画像の表示倍率が大きくなっている。一方、画像Im11aの中央部にある、画像Im11と同じ内容の画像は、
図10上段に示した画像Im11よりも小さく表示されている。つまり、画像Im11aは、画像Im11が単独で表示されるときの表示倍率よりも小さい表示倍率の画像Im11(つまり表示時の大きさを縮小した画像Im11)を含んでいる。ここにおいて、画像Im11aが画像Im11を含むとは、
図10下段に示すように、画像Im11aが、「ABCDEFGHIJKLMNO」という画像Im11の内容以外に、ウェブページにおいて「ABCDEFGHIJKLMNO」という文字列の前後にある「12345678910」及び「PQRSTUVWXY」という文字列の画像も含み得るという意味である。
【0072】
このように表示位置に応じて表示倍率を異ならせて表示しているのは、
図11に概念的に示すように、あたかも、曲面の内面側に表示された画像を、その曲面の内面側にあるユーザの視点Eから見ているのと同じような画像に見せるためである。
図11において、l1、l2は、曲面Rと視点Eとの距離であり、l2>l1である。このため、画像Im11aのうち、画像Im11の内容に相当する画像(例えば視点Eから距離l2の位置にある画像)の文字のサイズは小さく、ウェブページにおいて画像Im11の前後の内容に相当する画像(例えば視点から距離l1の位置にある画像)の文字のサイズは大きい。このように視点Eに対して近い部分と遠い部分を持つような曲面の内面側に画像を配置した場合、表示領域141の上下の距離がLという一定値であっても、その画像によって提示し得る情報の量が多くなる。つまり、
図12のように平面Fに画像を配置した場合、ウェブページにおけるその画像の上下の距離lbは表示領域141の上下の距離Lと同じであるのに対し、
図11のように曲面の内面側に画像を配置した場合、ウェブページにおけるその画像の上下の距離laは、表示領域141の上下の距離Lよりも大きくなる。画像を縮小するときは、主としてその画像全体をユーザが俯瞰したいという場合であるから、本実施形態のように、視認し得る情報量をより多くすることができれば、ユーザの利便性を向上させることができる。
【0073】
また、
図10において、矩形の枠画像Im11bは、前述した表示位置情報が示す位置に表示される画像である。枠画像Im11bは、縮小画像Im11aから等倍画像Im11に戻るときに、縮小画像Im11aおいてどの位置に戻るかということを意味している。つまり、枠画像Im11bは、等倍画像に戻るときの画像の位置の指標となる。よって、いったん縮小操作により表示された縮小画像に対し、それを拡大して等倍画像に戻る操作が行われたとき(つまり縮小操作が行われなくなったとき)には、この枠画像Im11b内にある画像が拡大されて等倍画像として表示されることになる。つまり、縮小画像は、等倍画像が表示された後に一時的に表示される画像である。ユーザは、縮小画像上の枠画像Im11bを確認することで、コントローラ100に表示されている縮小画像を等倍画像に戻したときにどのような表示になるかを知ることができる。よって、ユーザの利便性を向上させることができる。枠画像Im11bは、本発明の「指標画像」の一例に相当するものである。なお、指標画像としては、枠画像Im11bだけでなく、コントローラ100に表示されている領域を1又は複数の点で示した画像や、当該領域内の画像の色を他の領域と変化させた画像(例えば、当該領域内を反転表示又は点滅表示する画像)を用いることも可能である。
【0074】
また、縮小画像を表示する場合には、
図10に示すように、
図8に示したメニュー画像Im12、Im13を表示させないようにしてもよいし、表示させてもよい。操作オブジェクトを非表示にすると、ユーザは、操作オブジェクトに阻害されることなく縮小画像を確認することが可能となる。操作オブジェクトを表示せずに縮小画像を表示すると、操作オブジェクトを表示する場合に比べ、画面内で確認できる情報量を多くすることができるため、ユーザの利便性を向上させることが可能となる。
【0075】
本実施形態では、縮小操作が行われている間だけ、すなわちYボタン161Yが押下されている期間だけ、等倍画像に代えて縮小画像が表示され、縮小操作が行われなくなると、縮小画像に代えて等倍画像が表示される。このようにすると、ユーザが縮小表示を必要とするときだけ縮小画像を表示させることができ、等倍画像と縮小画像とを同時に表示させなくてよくなる。それゆえ、表示領域141のサイズを有効に利用して縮小画像を表示することが可能になる。また、本実施形態においては、Yボタン161Yを複数回押下したり、あるいは長押ししたりせずに縮小画像を表示させることが可能であるため、縮小表示にこれらの操作を要する場合と比べると、縮小画像の表示を開始させるまでに要する時間が短くなる。
【0076】
次に画像のスクロールについて説明する。
図13は、スクロール表示処理を含む割り込み処理を示すフローチャートである。
図13に示す処理は、等倍画像又は縮小画像を表示している状態においてユーザの操作が行われ、操作情報が取得された場合に実行される割り込み処理であって、特に、ユーザの操作として画像をスクロールさせるための操作(以下「スクロール操作」という。)が行われた場合の処理を示している。
図13に示す処理は、
図9に示した処理に組み込まれて同時並行的に実行されてもよい。
【0077】
なお、本実施形態において、スクロール操作は、以下の3通りの操作によって実現可能であるとする。すなわち、第1の操作は、表示領域141に対するタッチ操作であり、第2の操作は、スライドパッド162に対する操作であり、第3の操作は、コントローラ100を動かすことによる操作である。第3の操作は、例えば、ユーザが、コントローラ100の筐体のうち自分から遠いほうが下がり自分に近いほうが上がるように、コントローラ100の姿勢を傾けると、表示領域141に表示されている画像がユーザにとって手前側に移動し、それまで見えていなかった手前側の画像が見えるようになる、というように行われる。これとは逆に、ユーザが、コントローラ100の筐体のうち自分に近いほうが下がり自分から遠いほうが上がるように、コントローラ100の姿勢を傾けると、表示領域141に表示されている画像がユーザにとって奥側に移動し、それまで見えていなかった奥側の画像が見えるようになる。なお、第3の操作は、コントローラ100の姿勢ではなく、コントローラ100が姿勢を変えずに移動するときの動きによって画像をスクロールさせたりしてもよい。また、コントローラ100の動き情報に基づいて、画像がスクロールする速度やスクロール量を変えてもよい。例えば、コントローラ100の姿勢を速く傾けると速くスクロールしたり、スクロール量を多くしたりといった具合である。
【0078】
ただし、スクロール操作は、必ずしも3通りである必要はなく、これらのうちの1つか2つだけであってもよい。また、複数通りのスクロール操作がある場合には、操作の競合が生じないように、いずれの操作を優先するのかを示す所定の優先順位があらかじめ決められているとよい。本実施形態においては、表示領域141に対するタッチ操作の操作情報の優先順位を最高(最も優先する)とし、動き情報の優先順位を最低とする。この場合、制御部310は、タッチ操作の操作情報と動き情報とをともに取得すると、前者を優先的に処理する。例えば、タッチ操作の操作情報が下方向へのスクロールを示し、動き情報が上方向へのスクロールを示すような場合であれば、制御部310は、これを下方向へのスクロールの操作であると判断する。
【0079】
本体装置300の制御部310は、操作情報を取得すると、当該操作情報が表す操作を特定する(ステップS31)。この処理は、
図9に示したステップS21の処理と同様に行われる。次に、制御部310は、特定した操作がスクロール操作であるか否かを判断する(ステップS32)。このとき、制御部310は、上述した第1の操作〜第3の操作のいずれかが行われたか否かを判断する。
【0080】
制御部310は、スクロール操作以外の操作が行われた場合には、当該操作に応じた処理を実行する(ステップS36)。ステップS37の処理は、例えば、縮小操作が行われた場合の処理(
図9参照)を含んでもよいし、それ以外の処理を含んでもよいが、画面のスクロールと直接的には関連がない処理であるため、その説明を省略する。
【0081】
また、制御部310は、特定した操作がスクロール操作である場合には、当該スクロール操作の種類を判断する。具体的には、制御部310は、取得した操作情報が動き検出部170により生成された動き情報を含むか否かを判断する(ステップS33)。制御部310は、操作情報が動き情報を含む場合には、さらに、操作情報にZLボタン161ZL及びZRボタン161ZRが押下されたことを示す操作情報が含まれているか否かを判断する(ステップS34)。
【0082】
なお、制御部310は、ステップS34の処理に代えて、あるいはステップS34の処理とともに、取得した動き情報が表す動きの量(移動量、傾き量)が一定量以上あるか否かを判断し、これが一定量以上である場合にステップS35の処理に進んでもよい。つまり、ZLボタン161ZL及びZRボタン161ZRの押下は必須ではない。
【0083】
制御部310は、操作情報に動き情報が含まれない場合と、操作情報に動き情報が含まれ、かつZLボタン161ZL及びZRボタン161ZRが押下されている場合とに、スクロール処理を実行する(ステップS35)。一方、制御部310は、操作情報に動き情報が含まれるが、ZLボタン161ZL及びZRボタン161ZRが押下されていない場合には、スクロール処理を実行せず、動き情報を無視する。すなわち、本実施形態においては、動き情報によるスクロール操作は、ZLボタン161ZL及びZRボタン161ZRの押下があることによって有効なものとされ、そうでない場合には無効なものとされる。
【0084】
図14は、ステップS35のスクロール処理を詳細に示すフローチャートである。このスクロール処理において、制御部310は、まず、ユーザによって縮小操作が行われているか否かを判断し(ステップS351)、この判断結果に応じて異なる処理を実行する。制御部310は、Yボタン161Yが押下されているか否かを判断することによってこの判断を行う。
【0085】
制御部310は、縮小操作中であれば、そのとき表示されている縮小画像を、ユーザのスクロール操作に応じてスクロール表示させる(ステップS352)。そして、制御部310は、スクロールによる縮小画像の移動に応じて、記録されている表示位置情報を更新する(ステップS353)。つまり、制御部310は、このとき表示されている縮小画像のうち、前述した枠画像Im11bが配置されている位置(ウェブページ上の位置)を表示位置情報として記録する。縮小画像のスクロール中において、枠画像Im11bの位置は、表示領域141においては常に一定の位置(
図10下段に示すように例えば表示領域141の中央部分)であるが、ウェブページ全体との関係でいえば、スクロールに応じて変化することになる。
【0086】
一方、制御部310は、縮小操作中でなければ、そのとき表示されている等倍画像を、ユーザのスクロール操作に応じてスクロール表示させる(ステップS354)。制御部310は、スクロールによる等倍画像の移動に応じて、表示されている等倍画像の位置(ウェブページ上の位置)を表示位置情報として記録する(ステップS353)。
【0087】
制御部310は、このようにして等倍画像又は縮小画像をスクロールさせたら、スクロール操作が終了したか否かを判断し(ステップS355)、スクロール処理が終了するまでステップS351〜S354の処理を繰り返す。
【0088】
図15は、コントローラ100における画像の表示が遷移する様子を例示する図である。
図15(a)に示すように、等倍画像である画像Im11が表示されている状態で縮小操作が行われると、
図15(b)に示すように、縮小画像である画像Im11aが表示される。
【0089】
さらに、この画像Im11aが表示されている状態でスクロール操作が行われると、
図15(c)に示すように、画像Im11aが例えば下方向に1行分だけスクロールされた画像Im11axが表示される。このとき、枠画像Im11b内の画像は、「ABCDEFGHIJKLMNO」という文字列から「FGHIJKLMNOPQRST」という文字列に変化する。つまり、ウェブページにおける枠画像Im11bの位置(つまり表示位置情報が示す位置)が変わる。一方、表示領域141における枠画像Im11bの位置は変化していない。
【0090】
そして、画像Im11axが表示されている状態で拡大操作が行われると(つまり縮小操作が行われなくなると)、
図15(d)に示すように、等倍画像である画像Im11xが表示される。画像Im11xは、等倍画像に戻る直前の枠画像Im11b内の画像と同じ内容であるから、ここでは「FGHIJKLMNOPQRST」という文字列の画像である。このように、画像のスクロールに応じて縮小画像に対する枠画像の位置が変化させられた後に、縮小画像の表示から等倍画像の表示に変更された場合には、縮小画像において枠画像が示す位置にある画像が、等倍画像として表示される。また、等倍画像においては、縮小画像で表示されていた枠画像は表示されない。
【0091】
さらに、この画像Im11xが表示されている状態で上方向に1行分だけスクロール操作が行われると、
図15(a)に示すような画像Im11の表示に戻ることになる。
【0092】
本実施形態のスクロール操作は、縮小操作とは別異の操作によって行われるため、例えば、スクロール操作を行っている途中から縮小操作を開始したり、あるいは縮小操作を行っている途中からスクロール操作を開始したりすることが可能である。これにより、ユーザは、一方の操作を行っているか否かの影響を受けることなく、必要なときに他方の操作を行うことが可能である。
【0093】
また、本実施形態のスクロール操作は、動き検出部170による動き情報によって実現される場合に、ZLボタン161ZL及びZRボタン161ZRの押下を必要とするものとなっている。すなわち、ZLボタン161ZL及びZRボタン161ZRは、このとき押下可能なスイッチとして機能し、このスイッチがオン状態(押下している状態)となっているときに画像のスクロールが行われるようになっている。上述したように、ZLボタン161ZL及びZRボタン161ZRを両手で押下していると、ユーザがコントローラ100を確実に把持することが可能となるため、より正確な動き情報が得られやすくなる。
【0094】
例えば、ユーザが片手でコントローラ100を操作することを許容した場合、コントローラ100が意図せぬ動き(スクロール操作のための動きとは異なる動き)をしやすくなるため、このような意図せぬ動きとスクロール操作のための動きとの区別が困難になり、結果としてユーザが意図しない画像のスクロールが行われる可能性が高くなる。一方、スクロール操作を行う場合にはZLボタン161ZL及びZRボタン161ZRの押下を必須とする、といった規則を設けると、ユーザが望ましい持ち方(
図3参照)でコントローラ100を把持するように誘導することができるため、このような規則を設けない場合よりも本体装置300がスクロール操作を誤検出する可能性を低くすることが期待できる。なお、このような効果は、ZLボタン161ZL及びZRボタン161ZRの押下ではなく、Lボタン161L及びRボタン161Rの押下によっても期待できる。
【0095】
(動作例2)
本動作例は、上述した動作例1と異なり、コントローラ100とモニタ200の双方に画像を表示させるものである。ただし、コントローラ100の動作は、基本的には動作例1と同様である。したがって、本動作例においては、コントローラ100の動作に関する説明を適宜省略する。
【0096】
図16は、コントローラ100の表示領域141に表示される画像とモニタ200の表示領域201に表示される画像とを例示する図である。この例において、コントローラ100とモニタ200とは、同一のウェブページの画像を表示している。
図16(a)は、コントローラ100の表示領域141及びモニタ200の表示領域201に、画像Im41及び画像Im42(いずれも等倍画像)がそれぞれ表示される場合を示している。
図16(b)は、コントローラ100の表示領域141及びモニタ200の表示領域201に、画像Im41及び画像Im42をそれぞれ縮小した画像Im41a及びIm42a(いずれも縮小画像)が表示される場合を示している。
【0097】
コントローラ100に表示される等倍画像は、
図16(a)に示した画像Im41のように、モニタ200の表示領域201に表示されている画像Im42と同じ領域の画像であってもよいし、そうでなくてもよい。例えば、コントローラ100に表示される等倍画像は、モニタ200の表示領域201に表示されている画像Im42の一部の画像であってもよい。つまり、コントローラ100の表示領域141に表示される等倍画像は、モニタ200の表示領域201に表示される画像と同じ表示倍率(すなわち同じサイズ)である必要はない。すなわち、等倍画像の「等倍」とは、縮小画像と対比したときに縮小されていないという意味にすぎず、モニタ200に表示される画像との対比を意味するものではない。表示倍率は、ここではコントローラ100に表示される非縮小時の画像を基準としているが、モニタ200に表示される画像を基準にすることももちろん可能である。
【0098】
等倍画像である画像Im41、Im42がそれぞれコントローラ100及びモニタ200に表示されている状態で縮小操作が行われると、
図16(b)に示すように、縮小画像である画像Im41aがコントローラ100の表示領域141に表示され、同じく縮小画像である画像Im42aがモニタ200の表示領域201に表示される。このとき、コントローラ100に表示される縮小画像Im41aは、モニタ200の表示領域201に表示されている画像Im42aの一部の画像が表示される。つまり、ウェブページ表示範囲はモニタ200のほうが広く、コントローラ100のほうが狭い。ユーザは、モニタ200の表示領域201を確認することによって、コントローラ100の表示領域141に表示しきれない部分の画像を確認することが可能となる。
【0099】
[変形例]
上述した実施形態は、本発明の実施の一態様である。本発明は、この実施形態に限定されることなく、以下の変形例に示すような他の態様で実施することも可能である。なお、本発明は、必要に応じて、複数の変形例を組み合わせて適用することも可能である。
【0100】
(変形例1)
実施形態において、本体装置300の制御部310は、コントローラ100又はモニタ200の表示領域に、その端部に近いほど表示倍率が大きくなる縮小画像を表示させていたが、これとは逆に、表示領域の端部に近いほど表示倍率が小さくなる縮小画像を表示させてもよい。
図17は、コントローラ141に表示される画像の表示例を示す図であり、画像Im51がその縮小画像の一例である。これは、
図18に概念的に示すように、
図11とは逆の方向に曲がる曲面R’の外面側に表示された画像を、その曲面の外面側にあるユーザの視点Eから見ているようになる。この場合において、縮小画像である画像Im51は、表示時の大きさを縮小した等倍画像を含んでいる。このようにしても、
図12のように平面Fに画像を配置する場合に比べて、ユーザが視認し得る情報量をより多くすることができ、ユーザの利便性を向上させることが可能となる。なお、縮小画像の全体において、表示領域の上下の端部に近いほど表示倍率が小さく又は大きくなることは必須ではなく、縮小画像の少なくとも一部において、表示領域の上下の端部に近いほど表示倍率が小さく又は大きくなる部分を有していればよい。一部がそのような表示態様であっても、ユーザが視認し得る情報量が多くなるからである。
また、実施形態や上記の例では、コントローラ100又はモニタ200の表示領域の上下の端部に近いほど表示倍率が小さく又は大きくなる場合を例示したが、ここでいう端部とは表示領域においてどの位置でもよい。例えば左右にスクロールする場合には、これらの表示領域の左右の端部に近いほど表示倍率が小さく又は大きくなるようにしてもよい。すなわち、表示領域においてスクロールの方向と平行な方向の端部に近いほど表示倍率が小さく又は大きくなるということが望ましい。
【0101】
(変形例2)
等倍画像によっては、スクロールする余地が無い大きさの等倍画像もある。すなわち、等倍画像を表示した場合に、等倍画像を示すコンテンツの全てを一覧することができる場合である。本体装置300の制御部310は、このような等倍画像に基づいて縮小画像として表示させる場合、
図19上段に示すように、その等倍画像を縮小した画像Im61に対しスクロールの方向に連なる連続画像Im61a、Im61bを生成し、これらの画Im61及び連続画像Im61a、Im61bを含む縮小画像を表示させる。この画像Im61a、Im61bは、例えば所定の模様や所定の色の画像である。そして、本体装置300の制御部310は、このような縮小画像をスクロールする場合、
図19下段に示すように、画像Im61、Im61a、Im61の全体をスクロールさせる。このようにすれば、スクロールする余地が無い画像であってもスクロールさせることができる。
【0102】
(変形例3)
実施形態では、等倍画像と縮小画像を2者択一で表示していたが、縮小画像の表示倍率を複数通りにしてもよい。例えば、縮小アイコンIc1、拡大アイコンIc2のいずれかを押下するなど、所定の操作を行った回数に応じて、制御部310が段階的に縮小して(又は縮小した画像を段階的に拡大して)表示するという表示態様である。このようにすれば、実施形態よりも表示倍率が細かく設定できるようになる。
【0103】
(変形例4)
上述した実施形態において、縮小操作は、Yボタン161Yを押下し続けることによって実現されている。しかし、縮小操作は、このような操作に限定されない。例えば、コントローラ100は、Yボタン161Yが1回押下され、いったん押下状態が解除されることによって縮小画像を表示し、その後、Yボタン161Yが再度押下されると、表示する画像を縮小画像から等倍画像に切り替えてもよい。また、コントローラ100は、これらの2通りの操作をいずれも実行できるように構成されてもよい。
【0104】
図20は、上述した2通りの操作方法を実現するための処理を示すフローチャートである。この処理において、本体装置300の制御部310は、Yボタン161が押下されたことを示す操作情報を取得すると(ステップS51)、縮小画像の表示を開始する(ステップS52)。なお、この間、Yボタン161は押下され続けているものとする。縮小画像を表示したら、制御部310は、操作情報に基づき、Yボタン161の押下が解除されたか否かを判断する(ステップS53)。制御部310は、Yボタン161の押下が解除されるまで、この判断を繰り返す。Yボタン161の押下が解除されると、制御部310は、Yボタン161を押下する操作(すなわち縮小操作)の継続時間(T)を所定の閾値(Th)と比較することにより、縮小操作の継続時間(Yボタン161Yが押下され続けた時間)が所定の期間以上であるか否かを判断する(ステップS54)。なお、この閾値は、あらかじめ決められた値であってもよいし、ユーザが設定できる値であってもよい。
【0105】
縮小操作の継続時間が所定の期間以上であれば、制御部310は、Yボタン161の押下が解除されたことを契機に、表示する画像を縮小画像から等倍画像に切り替える(ステップS55)。制御部310は、コントローラ100に送信する画像を切り替えることによってこれを実現する。この操作方法は、上述した実施形態に示した操作方法に相当するものである。一方、縮小操作の継続時間が所定の期間未満であれば、制御部310は、Yボタン161の押下が解除されても、等倍画像を表示させることなく、縮小画像を表示させ続ける。この場合、制御部310は、Yボタン161が再度押下されたか否かを判断し、次の縮小操作が行われるのを待機する(ステップS56)。そして、制御部310は、次の縮小操作が行われると、表示する画像を縮小画像から等倍画像に切り替える(ステップS55)。
【0106】
このようにすれば、縮小操作の操作方法に選択肢が生じる。これにより、例えば、縮小表示を長時間に渡って続けたい場合などであっても、Yボタン161Yを押下し続ける必要がなくなる。また、ユーザは、自身の好みに応じて、使いやすい操作方法を使用することも可能である。
【0107】
(変形例5)
本発明は、本体装置300、本体装置300とコントローラ100とを備える表示システム、さらにモニタ200を備える表示システム(表示システム10)といった形態だけではなく、本体装置300に相当する構成とコントローラ100に相当する構成とを一体に備えた情報処理装置といった形態でも実施可能である。また、本発明に係る表示装置は、両手で把持する形状ではなく、片手で把持する形状であってもよいし、机の上などに置いた状態で操作するものであってもよい。なお、本発明に係る情報処理装置は、ゲーム機能を有していなくてもよい。
【0108】
また、本発明は、このような情報処理装置や表示システムの形態だけでなく、表示装置に画像を表示させるための表示方法や、かかる表示方法を実現するためのプログラムといった形態での実施も可能である。さらに、本発明に係るプログラムは、光ディスクや半導体メモリなどの記録媒体に記録された形態の提供や、インターネットなどのネットワークを介して情報処理装置にダウンロードさせる形態での提供も可能である。