まず本実施の形態の情報処理装置の外観構成例および回路構成例を説明する。ただし以下に示す情報処理装置は一例であり、他の種類の電子機器、端末装置であってもよい。
図1(a)は、情報処理装置10の前面を示す。情報処理装置10は、横長の筐体により形成され、ユーザが把持する左右の領域は、円弧状の外郭を有している。情報処理装置10の前面には、矩形のタッチパネル50が設けられる。タッチパネル50は、表示装置20と、表示装置20の表面を覆う透明な前面タッチパッド21から構成される。表示装置20は有機EL(Electro-Luminescence)パネルであり、画像を表示する。なお表示装置20は液晶パネルなどの表示手段であってもよい。前面タッチパッド21は、同時にタッチされた複数ポイントの検出機能をもつマルチタッチパッドであって、タッチパネル50はマルチタッチスクリーンとして構成される。
タッチパネル50の右側には、菱形の頂点にそれぞれ位置する△ボタン22a、○ボタン22b、×ボタン22c、□ボタン22d(以下、総称する場合には「操作ボタン22」とよぶ)が設けられ、タッチパネル50の左側には、上キー23a、左キー23b、下キー23c、右キー23d(以下、総称する場合には「方向キー23」とよぶ)が設けられる。ユーザは方向キー23を操作して、上下左右および斜方の8方向を入力できる。
方向キー23の下側には左スティック24aが設けられ、また操作ボタン22の下側には右スティック24bが設けられる。ユーザは左スティック24aまたは右スティック24b(以下、総称する場合には「ジョイスティック24」とよぶ)を傾動して、方向および傾動量を入力する。筐体の左右頂部には、Lボタン26a、Rボタン26bが設けられる。操作ボタン22、方向キー23、ジョイスティック24、Lボタン26a、Rボタン26bは、ユーザが操作する操作手段を構成する。
操作ボタン22の近傍に、前面カメラ30が設けられる。左スティック24aの左側および右スティック24bの右側には、それぞれ音声を出力する左スピーカ25aおよび右スピーカ25b(以下、総称する場合には「スピーカ25」とよぶ)が設けられる。また左スティック24aの下側にHOMEボタン27が設けられ、右スティック24bの下側にSTARTボタン28およびSELECTボタン29が設けられる。
図1(b)は、情報処理装置10の背面を示す。情報処理装置10の背面には、背面カメラ31および背面タッチパッド32が設けられる。背面タッチパッド32は、前面タッチパッド21と同様に、マルチタッチパッドとして構成される。情報処理装置10は、前面および背面において、2つのカメラおよびタッチパッドを搭載している。
図2(a)は、情報処理装置10の上面を示す。既述したように、情報処理装置10の上面の左右端側に、Lボタン26a、Rボタン26bがそれぞれ設けられる。Lボタン26aの右側には電源ボタン33が設けられ、ユーザは、電源ボタン33を押下することで、電源をオンまたはオフする。なお情報処理装置10は、操作手段が操作されない時間(無操作時間)が所定時間続くと、サスペンド状態に遷移する電力制御機能を有している。情報処理装置10がサスペンド状態に入ると、ユーザは電源ボタン33を押下することで、情報処理装置10をサスペンド状態からアウェイク状態に復帰させることができる。
ゲームカードスロット34は、ゲームカードを差し込むための差込口であり、この図では、ゲームカードスロット34がスロットカバーにより覆われている状態が示される。なおゲームカードスロット34の近傍に、ゲームカードがアクセスされているときに点滅するLEDランプが設けられてもよい。アクセサリ端子35は、周辺機器(アクセサリ)を接続するための端子であり、この図ではアクセサリ端子35が端子カバーにより覆われている状態が示される。アクセサリ端子35とRボタン26bの間には、ボリュームを調整するための−ボタン36aと+ボタン36bが設けられている。
図2(b)は、情報処理装置10の下面を示す。メモリカードスロット37は、メモリカードを差し込むための差込口であり、この図では、メモリカードスロット37が、スロットカバーにより覆われている状態が示される。情報処理装置10の下面において、音声入出力端子38、マイク39およびマルチユース端子40が設けられる。マルチユース端子40はUSB(Universal Serial Bus)に対応し、USBケーブルを介して他の機器と接続できる。
図2(c)は、情報処理装置10の左側面を示す。情報処理装置10の左側面には、SIMカードの差込口であるSIMカードスロット41が設けられる。
図3は、情報処理装置10の回路構成を示す。各構成はバス92によって互いに接続されている。無線通信モジュール71はIEEE802.11b/g等の通信規格に準拠した無線LANモジュールによって構成され、無線アクセスポイントなどを介してインターネットなどの外部ネットワークに接続する。なお無線通信モジュール71は、ブルートゥース(登録商標)プロトコルの通信機能を有してもよい。携帯電話モジュール72は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応し、携帯電話網4に接続する。SIMカードスロット41には、携帯電話の電話番号を特定するための固有のID番号が記録されたSIMカード74が挿入される。SIMカード74がSIMカードスロット41に挿入されることで、携帯電話モジュール72は、携帯電話網4との間で通信可能となる。
CPU(Central Processing Unit)60は、メインメモリ64にロードされたプログラムなどを実行する。GPU(Graphics Processing Unit)62は、画像処理に必要な計算を実行する。メインメモリ64は、RAM(Random Access Memory)などにより構成され、CPU60が使用するプログラムやデータなどを記憶する。ストレージ66は、NAND型フラッシュメモリ(NAND-type flash memory)などにより構成され、内蔵型の補助記憶装置として利用される。
モーションセンサ67は、情報処理装置10の動きを検出し、地磁気センサ68は、3軸方向の地磁気を検出する。GPS制御部69は、GPS衛星からの信号を受信し、現在位置を算出する。前面カメラ30および背面カメラ31は、画像を撮像し、画像データを入力する。前面カメラ30および背面カメラ31は、CMOSイメージセンサ(Complementary Metal Oxide Semiconductor Image Sensor)によって構成される。
表示装置20は、有機EL表示装置であり、陰極および陽極に電圧を印加することで発光する発光素子を有する。省電力モードでは、電極間に印加する電圧を通常よりも低くすることで、表示装置20を減光状態とすることができ、電力消費を抑えられる。なお表示装置20はバックライトを備えた液晶パネル表示装置であってもよい。省電力モードでは、バックライトの光量を下げることで、液晶パネル表示装置を減光状態として、電力消費を抑えることができる。
インタフェース90において、操作部70は、情報処理装置10における各種操作手段を含み、具体的には、操作ボタン22、方向キー23、ジョイスティック24、Lボタン26a、Rボタン26b、HOMEボタン27、STARTボタン28、SELECTボタン29、電源ボタン33、−ボタン36a、+ボタン36bを含む。前面タッチパッド21および背面タッチパッド32は、マルチタッチパッドであり、前面タッチパッド21は、表示装置20の表面に重ね合わせて配置される。スピーカ25は、情報処理装置10の各機能により生成される音声を出力し、マイク39は、情報処理装置10の周辺の音声を入力する。音声入出力端子38は、外部のマイクからステレオ音声を入力し、外部のヘッドホンなどへステレオ音声を出力する。
ゲームカードスロット34には、ゲームファイルを記録したゲームカード76が差し込まれる。ゲームカード76は、データの書込可能な記録領域を有しており、ゲームカードスロット34に装着されると、メディアドライブにより、データの書込/読出が行われる。メモリカードスロット37には、メモリカード78が差し込まれる。メモリカード78は、メモリカードスロット37に装着されると、外付け型の補助記憶装置として利用される。マルチユース端子40は、USB端子として利用でき、USBケーブル80を接続されて、他のUSB機器とデータの送受信を行う。アクセサリ端子35には、周辺機器が接続される。
本実施の形態において情報処理装置10は、ゲームや通信機能のほか、電子書籍、ビデオ、音楽など各種コンテンツを楽しむための携帯端末として機能する。コンテンツの電子データは、ネットワークを介してコンテンツ提供サーバからダウンロードされストレージ66に格納される。あるいはメモリカードスロット37に差し込まれるメモリカード78に格納されている。
そしてユーザからの出力要求に従い読み出され、適宜デコード処理などが施されることにより、表示装置20やスピーカ25から出力される。本実施の形態では主に、電子書籍の閲覧に際し、操作部70および前面タッチパッド21を用いて表示画面を操作する手法に着目する。電子書籍の選択画面や閲覧画面の表示処理のうち一般的な技術を適用できる処理や構成については適宜説明を省略する。なお本実施の形態が処理対象とするコンテンツは、複数のページによって構成される文書や画像の表示を含むものであれば、電子書籍に限らずゲームやウェブページなどでもよい。また完成されたコンテンツに限らず、ユーザが作成中の文書や画像などの電子データの表示にも適用できる。
図4は、情報処理装置10の機能ブロックを示す。この図では特に、図3のCPU60、GPU62、メインメモリ64、ストレージ66によって実現される機能を制御部100として示している。制御部100に含まれる各機能ブロックは、ハードウェア的には、上記のとおりCPU60、GPU62、メインメモリ64、ストレージ66などで構成することができ、ソフトウェア的には、情報処理装置10内の各種記憶装置や装着された記録媒体からメインメモリ64にロードしたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
制御部100は、ユーザによる操作入力に係る情報を受け付ける操作受付部102、電子書籍のデータを格納する書籍データ記憶部108、表示するページや領域を制御する表示画面制御部104、表示画像や出力音声を生成する出力データ生成部110を含む。操作受付部102は、ユーザが情報処理装置10に対し行った操作の内容を示す信号を、操作部70や前面タッチパッド21等の操作手段から受信し、表示画面制御部104に供給する。書籍データ記憶部108にはあらかじめ、表示対象の電子書籍のデータが格納されている。
例えばユーザが、表示装置20に表示させた電子書籍の選択画面から一の書籍を選択する操作を操作部70を介して行うと、当該操作情報が操作受付部102から表示画面制御部104に通知され、表示画面制御部104が表示対象の電子書籍を認識する。このときハードウェア的には、図3のストレージ66やメモリカード78からメインメモリ64へ、当該電子データがロードされる。電子書籍のデータは、ページごとの画像データ、および書誌情報や目次情報などの付加データによって構成される。
表示画面制御部104は、電子書籍の表示画面を、操作受付部102が受け付けたユーザ操作に従い制御する。なお情報処理装置10が受け付けるユーザ操作は、以後に説明するものに限らない。同じ機能を複数の手段で操作可能とすることにより、ユーザはそのときの状況や自分の好みに応じて操作手段を使い分けることができる。表示画面制御部104は、表示ページ制御部114および表示領域制御部116を含む。
表示ページ制御部114は、操作受付部102が表示対象のページを切り替える操作を受け付けたとき、切り替え後のページを特定したり切り替え操作のための情報表示を制御したりする。本実施の形態では、次のページまたは前のページを順に表示していく機能と、それ以外のページへ一気に表示を移動させる機能とを実現する。以後、前者の操作を「ページ送り」、後者の操作を「ページジャンプ」と呼ぶ。
ページ送り操作時は、例えば、見開き2ページ分を同時に表示させた状態で、操作部70のうちLボタン26aを押下することにより左側のページがめくれ、Rボタン26bを押下することにより右側のページがめくれ、その結果として次のページが表れるように表現する。ここで、めくるページの左右と記載内容の進行方向との関係は、実際の書籍と同様とする。Lボタン26a/Rボタン26bの代わりに、操作部70の方向キー23の左キー23b/右キー23dや、左スティック24aの左方向への傾動/右方向への傾動を用いてもよい。
あるいは前面タッチパッド21に接触させた指を払う操作(フリック操作)によって、払われた方向にページがめくれるようにしてもよい。なお左スティック24aなどジョイスティック24を用いて左/右の方向を入力する場合、ジョイスティック24が全方向への傾動可能に構成されているときは、左方向への傾動/右方向への傾動と判定できる傾動方向の範囲をそれぞれ定めておく。後述する、ジョイスティック24を用いた上/下の方向入力も同様である。
ページジャンプ操作としては、小説の章、雑誌や新聞の記事、辞書における掲載言語の頭文字など、電子書籍の内容を何らかの規則で区分けしてなる記載単位ごとに表示ページを移動させる機能と、任意のページへ表示を移動させる機能とを設ける。前者を実現させるため、各記載単位の冒頭部分を含むページおよび、ページ画像中の冒頭部分がある位置を、書籍の付加データとして書籍データ記憶部108に格納しておく。なお、1ページが区割りされておらず記載単位の冒頭部分かページの頭に一致する構成の書籍などについては、冒頭部分を含むページの情報のみを取得すればよい。この場合、一般的な目次情報を利用することができる。
ページジャンプ操作を実現するため、表示ページ制御部114は、書籍の全ページを数直線で表したスライドバーが表示されるように制御する。スライドバーは、例えば操作部70の□ボタン22dを押下するなど所定の操作手段を操作することにより、表示中のページ画像に加えて表示されるようにする。スライドバーを表示している期間においてページジャンプ操作を受け付け、スライドバーが非表示の期間は上記のようにページ送り操作を受け付ける。このようにスライドバーの表示/非表示によってモードを切り替えることにより、少ない操作手段でも多様な操作を実現できる。
表示領域制御部116は、操作受付部102が表示領域を変化させる操作を受け付けたとき、それに応じた表示領域の変化を制御する。ここで表示領域の変化とは、ページの一部が表示されている場合のスクロール、および表示倍率の変更を含む。なおスクロールは、ユーザの操作期間に渡り徐々に表示領域を移動させる場合と、短時間の操作に応じて一気に別の領域へ表示を移動させる場合とを含む。また表示倍率の変更は、ユーザの操作期間に渡り徐々に倍率を変化させる場合と、短時間の操作に応じて一気に倍率を変化させる場合とを含む。
電子書籍を限られた面積の画面で閲覧する場合、一画面に表示させる範囲には特に工夫が求められる。すなわち、ページ全体を一度に表示させた方が書籍としての臨場感は得られ全体像が把握しやすいが、文字等が小さくなり読みづらくなる場合がある。表示倍率を上げて文字を読みやすくすると、ページ全体のどの位置が表示されているのか、ひいては次にどの方向にスクロールさせれば良いのかが分かりづらくなる。
そこで本実施の形態では、拡大している状態において、記載内容上、表示中の領域の次に見るべき領域へ表示を一気に移動させられるようにする。例えばLボタン26a/Rボタン26b、方向キー23、左スティック24aなど方向を指定できる操作手段を利用し、当該方向(左/右あるいは上/下)と表示の順方向/逆方向を対応づけておく。これにより、一度の操作に対し、表示領域を1単位、先に進めたり前へ戻したりすることが容易にできる。
適切な表示順は、書籍の綴じ方、記事のレイアウトや段組、文字の種類や記載方向などによって異なるため、記載内容上、表示すべき順序に係る情報を、書籍の付加データとして書籍データ記憶部108に格納しておく。あるいは本のカテゴリなどに対応づけて表示順に係る情報を登録しておき、電子書籍の書誌情報に応じて選択するようにしてもよい。
本実施の形態ではさらに、拡大操作時に拡大対象とする領域を、表示領域制御部116が状況に応じて適切に設定する。これにより、表示倍率を変化させたために目的の箇所を見失うなどの状況の発生を抑え、拡大/縮小のみのシンプルな操作で表示領域を適切に変化させることが容易にできる。ひいては、ページ全体を把握したり一部分を詳細に確認したりすることを、タイミングによらず効率的に行える。表示ページ制御部114および表示領域制御部116は、処理の結果得られた制御情報を、それぞれ出力データ生成部110に通知する。
出力データ生成部110は、通知された情報に基づき、必要に応じて書籍データ記憶部108から表示対象のページの画像データを読み出しデコードしたうえ、そのうちの表示領域からなる表示画像を生成する。見開き2ページを表示の基本とする場合は、各ページの画像を2ページごとに左右に接続した画像を生成したうえで、表示領域の画像を抽出する。一旦、デコードしたページは内部のメモリに保持し再利用することで、素早い表示切り替えを可能にする。
ページ送り操作がなされた場合、出力データ生成部110は、ページ切り替えの途中にページをめくるアニメーションを挿入してもよい。この際、当該アニメーションと同期させてページをめくる効果音を生成するようにしてもよい。生成した画像や効果音のデータは、適切なタイミングで表示装置20やスピーカ25に出力することにより、操作に応じて画像が変化したり効果音が鳴ったりする態様を実現できる。
出力データ生成部110はさらに、表示ページ制御部114からの要求に従い、ページジャンプ操作のためのスライドバーを表示する。スライドバーが表示されている期間は、ユーザによるハンドル操作や記載単位ごとのページ切り替えに対応するように、当該スライドバーの態様を適宜変化させる。
次に、表示ページ制御部114によるページ切り替え処理の具体例を説明する。図5は、スライドバーを表示させページジャンプ操作を行う際の画面の変遷例を示している。このとき画面には、同図上段の画面130に示すように、ページ画像132およびスライドバー134が含まれる。スライドバー134は上述のとおり、ページ画像132のみを表示させている状態で、所定の操作手段を操作することによって出現させる。そして再度、当該操作手段が操作されたら非表示とする。なおスライドバー134の配置は図示するものに限らず、縦方向でもよいし、ページ画像132上に重畳表示させてもよい。
スライドバー134のうちバーの部分は書籍の全ページを数直線として表したものであり、同図の場合、左端を書籍の第1ページ、右端を最終ページとしている。そして現在表示中のページに対応するバー上の位置にハンドル136を表示する。画面130の場合、ページ画像132として表示中の「13」ページと「14」ページの、書籍全体における位置が、ハンドル136によって表されている。スライドバー134には目盛りとして、記載単位の冒頭を含むページの位置を示す記載単位マーカー138を付加する。
このようにスライドバー134を表示している期間、表示ページ制御部114は、ページジャンプとして上述の2種類の操作を受け付ける。そのうち任意のページへ表示を移動させる操作は、ハンドル136を直接操作して所望の位置へスライドさせることにより実現する。このとき表示ページ制御部114は操作受付部102を介して、前面タッチパッド21における接触位置の移動情報を取得することにより、ハンドル136の到達位置を特定する。
そして当該到達位置に対応するページを算出し、出力データ生成部110に通知する。これに応じて出力データ生成部110は、書籍データ記憶部108から、当該ページの画像データを読み出し、表示装置20に表示する。その結果、画面140のように、元のページから大きく離れたページへ一気に表示を移動させることができる(矢印A)。
一方、記載単位ごとに表示を移動させる操作は、Lボタン26a/Rボタン26bや、左スティック24aなど、左右の方向を指定できる操作手段によって実現する。本実施の形態では、スライドバー134の表示/非表示によってページ切り替えのモードが切り替わるため、ページ送り操作とページジャンプ操作で同じ操作手段を用いることができる。むしろ同じ操作手段を用いることにより、ページ切り替えで用いる操作手段が集約され、ユーザによる操作手法の理解も容易になる。
記載単位ごとの表示移動時は、短時間の一度の操作(押下または傾動)に応じて、1つ後、または1つ前にある、記載単位の冒頭部分を含むページへ表示を切り替える。このとき表示ページ制御部114は、操作受付部102を介して上記操作手段が操作されたことを検知すると、書籍データ記憶部108を参照して次に表示すべきページを特定し、出力データ生成部110に通知する。これに応じて出力データ生成部110は、書籍データ記憶部108から、当該ページの画像データを読み出し、表示装置20に表示する。
その結果、例えば画面150のように、元のページの直後にある、記載単位の冒頭部分を含むページへ表示を移動させることができる(矢印B)。画面150では、次の記載単位である「第4章」の冒頭部分を含む「21」ページと見開きで隣となる「22」ページが表示されている。画面150は上記操作手段によって右が指定された場合を想定しているが、左が指定された場合は直前の記載単位の冒頭部分を含むページへ表示を移動させる。また、この表示切り替えと連動するように、ハンドル136を切り替え後のページの位置へ移動させる。
つまりスライドバー134に着目した場合、記載単位ごとの表示移動は、直近にある記載単位マーカー138の位置へ、ハンドル136を移動させていることに他ならない。これを繰り返すことにより、ハンドル136は記載単位マーカー138の位置を1つずつ移動することになる。なお画面140および画面150において、スライドバー134にはさらに元ページ位置マーカー152が付加されている。これは、スライドバー134を表示させた時点において表示されていたページ、同図の例では「13」ページと「14」ページの位置を示したものである。
ページジャンプ操作時は、元ページ位置マーカー152を表示させたうえ、当該マーカーの位置も記載単位マーカー138と同じ扱いとする。すなわち記載単位ごとの表示移動時、ハンドル136は元ページ位置マーカー152の位置でも止まるようにする。このようにすることで、一旦、ページジャンプ操作によって全く別のページへ表示を移動させた後、元のページ、すなわち画面130の状態へ容易に戻すことができる。なおスライドバー134が表示されている期間においては、2種類のページジャンプ操作のうち、一方を実施した後、他方を実施したりしてもよく、その場合は画面140/画面150間の移行となる(矢印C)。
図6は、書籍データ記憶部108に書籍ごとに格納する、記載単位に係る情報のデータ構造例を示している。記載単位情報153は、識別番号欄154、ページ欄156、および位置欄158を含み、一行が一つの記載単位を表す。識別番号欄154には、書籍の第1ページから最終ページへ向かう方向で、各記載単位に対し昇順に付与する識別番号を格納する。すなわち記載単位ごとの表示移動操作時は、当該識別番号順に表示を切り替える。
ページ欄156および位置欄158には、各記載単位の冒頭部分を含むページ、および当該ページにおける冒頭部分の記載位置を格納する。表示ページ制御部114は、ページ欄156に格納されたページ番号に基づき、スライドバーの対応する位置に記載単位マーカー138を付加する。また記載単位ごとの表示移動操作時に、ページ欄156に格納されたページ番号に基づき次に表示すべきページを特定する。
位置欄158に格納される冒頭部分の記載位置は、後述するように、主に表示領域制御部116が表示倍率を変化させる際に参照する。記載位置は例えば、ページ画像平面上の所定単位の位置座標で表す。例えば識別番号「1」の記載単位の冒頭部分は、「1」ページ目の座標(10,10)から開始される。ページ画像の左上を(0,0)、位置座標の単位を画素と想定すると、この記載単位は、1ページ目の略左上から開始されることになる。さらに識別番号「2」の記載単位は「2」ページ目の座標(10,10)から、識別番号「3」の記載単位は「20」ページ目の座標(10,10)から開始する。
ここで、同じ「20」ページには、識別番号「3」の記載単位のほか、識別番号「4」および「5」の記載単位が含まれている。同じページにコラムなど複数の記事が掲載される雑誌などではこのような状況が発生しやすい。このような場合、記載単位マーカー138は、それらを含む「20」ページを1つの目盛りで表してもよいし、当該ページに複数の記載単位が含まれていることを何らかの手段で表現してもよい。例えば3つの記載単位が含まれる場合、目盛りを1本の直線でなく近接した3本の直線で表したり、直線を3分割したり3つの丸で表したりしてもよい。あるいはその旨をテキスト表示してもよい。
いずれにしろ、これまで述べたページ切り替え処理は、ページ単位で表示を移動させることを基本とするため、1つのページに含まれる複数の記載単位間で表示移動操作がなされても、ページ画像自体は変化させない。しかしながら後述するように、拡大操作がなされたときの拡大対象領域は、記載単位ごとの表示移動操作において選択中の記載単位を反映させる。そのため表示ページ制御部114は、ページ画像を変化させる必要がない場合も、選択中の記載単位の識別番号は取得しておき、表示領域制御部116に通知する。
なお記載単位ごとの表示移動が、複数の記載単位を含むページに差しかかった時点で、その数に応じて記載単位マーカー138を分離したりテキスト表示したりしてもよい。さらに、そのように分離したマーカーのうち、選択中の記載単位に対応するマーカーの色を他と変えたり、強調表示したりすることにより、1つのページに複数の記載単位が含まれていることに加え、そのうち選択中の記載単位が何番目であるのかがわかるようにしてもよい。このようにすることで、記載単位ごとの表示移動操作が認識されていることをページ画像の変化以外の手段でユーザに伝えることができる。
図7は情報処理装置10が受け付けるページ切り替え操作の種類を説明するための図である。同図では、書籍の各ページP1、P2、・・・、P11、・・・を横軸に表し、操作A、操作B、操作Cの3種類の操作で表示されるページを、横軸の下段各行に黒点で表している。また同図上段には、それらのページに対応するスライドバー134の範囲を拡大して表している。なおP1、P2、・・・、P11、・・・は必ずしも書籍の1ページ分に対応する趣旨ではなく、図5に示すように2ページを1度に表示させる場合は、2ページ分を表す。
スライドバー134を表示していない状態では、Lボタン26a/Rボタン26bや、左スティック24aの左方向への傾動/右方向への傾動によって、一度の操作に対し1ページずつページが送られるようにする(操作A)。すなわちP1、P2、・・・、P11、・・・が順に表示される。ユーザが□ボタン22dなど所定の操作手段を操作することによりスライドバー134を表示させたら、操作B、操作Cを可能とする。同図では、スライドバー134を表示させたときにページP4が表示されていたとしている。
この場合、ハンドル136を直接操作し、指等でハンドル136をスライドさせることにより、任意のページへ表示を移動させられるようにする(操作B)。また、Lボタン26a/Rボタン26bや、左スティック24aの左方向への傾動/右方向への傾動によって、一度の操作に対し記載単位を一つ移動させられるようにする(操作C)。ページP4が表示されているときにスライドバー134を表示させた場合、当該ページP4に元ページ位置マーカー152を表示させる。そしてあらかじめ設定され、記載単位マーカー138で示されている、記載単位の冒頭部分を含むページP2、P9に加え、元のページP4も、操作Cにおける表示対象とする。なおユーザが再度、□ボタン22dの押下など所定の操作を行うことにより、スライドバー134を非表示とし、操作Aを可能とする。
なおスライドバー134や記載単位マーカー138の形状は図示するものに限らない。特に、1章が複数の節に分かれているなど、記載単位が階層構造を有するときは、記載単位マーカー138も当該階層構造を表すようにすることにより、所望のページへの到達効率が向上する。例えば大きな単位ほど長くするなど、階層構造の階層によって記載単位マーカー138の長さを異ならせる。長さの他、太さ、色、形状のいずれかを異ならせてもよいし、それらのいずれか2つ以上の組み合わせを同時に変化させてもよい。あるいは記載単位マーカー138を複数の配列とし、階層ごとに異なる配列で表してもよい。このとき、全ての配列を同時に表示してもよいし、所定の操作手段により切り替えて表示してもよい。
次に以上の構成によって実現できる情報処理装置10の動作について説明する。図8は、主に情報処理装置10の表示ページ制御部114および出力データ生成部110が、ページ切り替え操作に対して行う処理の手順を示すフローチャートである。このフローチャートはユーザが表示対象の書籍を選択し、その初期ページを表示している段階で開始される。なお書籍の表示が終了した時点でこのフローチャートの処理も終了するが、ここでは図示を省略している。
初期ページが表示されている状態において、スライドバー134を表示する操作がなされずに、Lボタン26a/Rボタン26bや、左スティック24aにより左右の方向を指定する操作がなされたことを検知したら(S10のN、S12のY)、表示ページ制御部114は、指定された方向における次のページを出力データ生成部110に表示させる(S14)。
スライドバー表示操作も方向指示操作もなされない期間は同じページを表示し続け、それらの操作がなされるのを待機する(S10のN、S12のN)。ただしこの間、表示領域制御部116は別途、スクロール処理や表示倍率変更処理を行っていてよい。スライドバー134を表示する操作がなされたら(S10のY)、表示ページ制御部114は、出力データ生成部110にスライドバー134を表示させる(S16)。このとき、書籍データ記憶部108に格納された記載単位情報153のページ欄156を参照し、スライドバー134の対応する位置に記載単位マーカー138を付加する。
さらに、その時点で表示していたページに対応する位置に元ページ位置マーカー152を表示する(S18)。ただし元ページ位置マーカー152は、他のページへの切り替え操作がなされた後で表示してもよい。続いてスライドバー134におけるハンドルが操作されたとき、表示ページ制御部114は、ユーザの指の接触位置によってそれを検知したうえ(S20のY)、その到達位置に対応するページを出力データ生成部110に表示させる(S22)。一方、Lボタン26a/Rボタン26bや、左スティック24aにより左右の方向を指定する操作がなされたことを検知したら(S24)、指定された方向において直近に存在する、記載単位の冒頭を含むページを出力データ生成部110に表示させる(S28)。
スライドバー134が表示された状態でいずれの操作もなされない場合(S20のN、S24のN)、あるいはいずれかの操作に対応する処理を完了した場合で、スライドバー134を非表示とする操作がなされない間は、いずれかの操作がなされるのを待機する(S30のN)。スライドバー134を非表示とする操作がなされたら(S30のY)、スライドバー134を非表示とし(S32)、次回の方向指示操作またはスライドバー表示操作を待機する。なお、S32でスライドバー134を非表示とした段階で、S18で表示した元ページ位置マーカー152の位置情報はリセットする。これにより、次回にスライドバー134を表示する際は、その時点で表示中のページに対応する元ページ位置マーカー152を新たに表示する。
次に、表示領域制御部116による表示領域変更処理の具体例を説明する。図9は、表示倍率を変化させたときの画面の変遷例を示している。同図最上段の画面160aは例えば、これまでの説明で述べたようにページを切り替えたときに表示される画面であり、ページ全体が見渡せる最低倍率のページ画像が表示されている。なお同図はこれまでの例と同様、1画面に2ページ分の画像が表示されているが、最低倍率時の表示ページ数をこれに限る趣旨ではない。
ここで操作部70の所定の操作手段により倍率を上げる操作を行うと、画面160aから画面160b、160cと表示倍率が増加し、ページの一部が拡大された画面へと変化する。ここでは、画面160cで表示されているページ画像を最大倍率としている。逆に倍率を下げる操作を行うと、画面160cから画面160b、160aへと画面が変化する。本実施の形態では上述のとおり、ユーザの操作期間に渡り徐々に倍率を変化させていく態様(矢印D)と、1度の操作で倍率を一気に変化させる態様(矢印E、F)とを実現する。同図の場合、後者の態様として、2回の操作で2段階に倍率を変化させているが、段階数はこれに限らない。また前者の態様においては、図示する画面を補間するように、微少時間で徐々に画面が変化する。
このような倍率変更の操作手段として、例えば右スティック24bの上方向への傾動/下方向への傾動を利用する。すなわち上方向への傾動がなされたら拡大方向、下方向への傾動がなされたら縮小方向へ表示倍率を変化させる。さらに、矢印Dの無段階の変化と、矢印E、Fの段階的な変化とを、傾動量の時間変化に応じて切り替える。
図10は、傾動量の時間変化による、表示倍率の無段階変化/段階的変化の判定手法を説明するための図である。同図では、縦軸を右スティック24bの傾動量、横軸を傾動開始からの時間として、2パターンの傾動量時間変化172、174を示している。同図において傾動量Ith0は、傾動量がそれ以上であるときスティックが傾動されていると判定するためのしきい値であり、傾動量Ith1は、傾動量がそれ以上となったらおよそ最大に傾動されたと判定するためのしきい値である。
傾動量時間変化172は、傾動量時間変化174と比較し、より短時間に最大量まで傾動された後、元に戻されていることを示している。このような操作は例えば、力がかかっていない状態では中立に戻る一般定な構造のジョイスティックの場合、それを所望の方向にはじくことによって実現できる。そしてこのような操作が上方向または下方向になされた場合、それを段階的な表示倍率の変更操作と判定する。このため、最大傾動量を判定するためのしきい値Ith1を超える傾動が開始されてから元に戻るまでの時間にしきい値を設定する。
ここで傾動が開始されてから元に戻るまでの時間として、傾動量が中立状態から増加して、傾動開始および終了を判定するためのしきい値Ith0となった時刻Tsから、傾動量が減少に転じ、再度しきい値Ith0となった時刻Teまでの時間tを計測する。すなわち、時刻Teにおいて判明する時間tがしきい値t(th)より短ければ、その直後に表示倍率を一段階変化させる。一方、傾動量時間変化174のように傾動量を緩やかに変化させる操作がなされた場合は、増加期間にある傾動量の変化に対応するように表示倍率を変化させる無段階変化とする。
同図の場合、傾動量時間変化174は傾動量時間変化172と同じ傾動量まで到達しているが、到達傾動量はユーザが操作後に求める表示倍率によって様々となる。なおこのような判定基準とした場合、段階的な表示倍率の変更操作がなされたと判定される時刻Teまでは、傾動量時間変化172の場合も傾動量に応じて表示倍率が変化するが、はじくという操作の性質上、しきい値t(th)は0.2秒程度の微少時間で十分であるため、その間の表示変化が違和感を与える可能性は低い。
図10は1つの操作手段を、表示倍率の無段階変化/段階的変化で容易に使い分ける手法を示していたが、操作手段はこれに限らない。例えば前面タッチパッド21に触れた親指と人差し指の間隔を広げたり狭めたりする、いわゆるピンチアウト、ピンチインの操作で無段階の拡大、縮小を実現し、いずれかの指を前面タッチパッド21上ではらう、いわゆるフリック操作で段階的に表示倍率を変化させてもよい。後者の場合、例えばスティック操作と同様、上方向の1度のフリック操作で1段階拡大、下方向の1度のフリック操作で1段階縮小、などの規則を定めておく。
段階的な表示倍率変更操作としてはそのほか、前面タッチパッド21に触れた親指と人差し指など2本の指のいずれかまたは双方を、フリック操作のようにはらうことで、指同士の間隔が所定時間内に所定量以上、広がったら1段階拡大、狭まったら1段階縮小するようにしてもよい。この操作は、上記のピンチアウト、ピンチインと同様の動きを、指の移動速度を高めて行うことに相当するため、上記のピンチアウト、ピンチインによる無段階の拡大、縮小操作と対の操作とするとユーザの理解が容易になる。
また、上記のように一本指でのフリック操作を段階的な表示倍率変更に用いる場合などは、前面タッチパッド21に触れた一本指を徐々に移動させる、いわゆるドラッグ操作で、無段階の拡大、縮小を実現してもよい。この場合も、フリック操作とドラッグ操作で、段階的な表示倍率の変更と無段階の表示倍率の変更とを対の操作とすることができ、理解が容易になる。この場合、例えばスティック操作と同様、上方向のドラッグ操作で、ドラッグ量に応じた変化量で徐々に拡大、下方向のドラッグ操作で、ドラッグ量に応じた変化量で徐々に縮小、などの規則を定めておく。このような一本指を用いた拡大、縮小操作は、表示画面とは別個の入力装置としてタッチパッドを用いる場合など、表示画面上での位置指定が必要ない状況においては特に、効率や操作性の点で有効である。
ジョイスティックを用いるか指を用いるかに関わらず、上記のように単純な操作で表示倍率を変化させる場合、表示倍率を上げたときに適切な領域が拡大されることが望ましい。そこで上述のように表示領域制御部116は、表示倍率を上げる操作において拡大していくべき領域(以後、「目標領域」と呼ぶ)をその時々の状況に応じて切り替える。図11は、表示倍率の変更操作に対する表示領域の変化を2種類、例示している。同図は3つの倍率で表示したときの、見開きのページ画像における表示領域を太線矩形で表している。
変化例180aでは、最小倍率時は2ページ分のページ画像全体の領域182aを表示している。この状態で倍率を上げる操作がなされると、表示領域は領域182bを経て、最大倍率時の表示領域182cへと変化する。この変化によって、図9で示したような画面の変遷が実現される。この場合、目標領域は、ページ画像の左上の領域182cとなる。表示倍率を下げていく場合は、これと逆の変化となる。
なお段階的な表示倍率変更操作の場合は、表示領域が領域182a、182b、182c間で変化するが、無段階の場合はそれらを補間するように表示領域が徐々に変化する。段階的な表示倍率変更操作のためには、最小倍率、最大倍率に加え、領域182bを表示するための中間倍率をあらかじめ設定しておく。例えば同図に示すように、見開き2ページ分のうち1ページの横の長さが画面の横の長さに対応するように中間倍率を設定する。そのほか、書籍の特性やサイズなど様々な基準で中間倍率を決定してよい。このように決定した倍率は、書籍と対応づけて書籍データ記憶部108に格納しておいてもよい。
変化例180aと比較し、変化例180bは目標領域が異なる。つまり表示倍率を上げる操作により、ページ画像全体の表示領域184aから中間倍率時の表示領域184bを経て、最大倍率時の目標領域184cへと変化する。この目標領域184cは見開き2ページ分のページ画像の略中央、詳細には右側のページの左上の領域である。表示倍率を下げていく場合は、これと逆の変化となる。このように、表示対象が同じページ画像であっても、目標領域を状況に応じて変化させる。
目標領域を状況に応じて適切に決定するため、例えば次のような決定規則を設ける。
(1)ページ送り操作または任意のページへの表示移動操作によって新たなページ画像が表示されたときは原則的に当該ページの冒頭を含む領域
(2)スクロール後に縮小操作がなされたときは縮小開始時の表示領域
(3)記載単位ごとの表示移動操作がなされたときは選択中の記載単位の冒頭を含む領域
例えばページ送り操作によってページがめくられた場合、変化例180aのように、目標領域はそのページの冒頭を含む領域182cとする。ただしページ送り操作で前のページに戻った場合はそのページの末尾を含む領域とするなど、記載内容の連続性を考慮して臨機応変に目標領域を決定してよい。一方、領域182cからスクロール操作により表示領域が移動し、領域184cに到達した後、縮小操作がなされたら、目標領域を当該領域184cへ切り替える。これにより、再度拡大操作がなされたときは、領域184cへ向かって表示を拡大していく。このようにすることで、ある箇所を精読している最中に、一旦、それ以外の広範囲の領域をざっと確認し、再び精読を続行する、といった、実際の書籍ではよくあり得る視線の動きを、表示画面上で容易に実現できる。
別の例として、図11で示した見開き2ページのうち、領域184cが記載単位の冒頭を含む場合、記載単位ごとの表示移動操作によって当該記載単位が選択された時点で、目標領域を領域184cに設定する。これにより、上述のように記載単位ごとの表示移動操作によってページ切り替えはされなくとも、拡大していけば選択中の記載単位が適切に拡大表示されることになる。
図12は表示倍率の変化と目標領域との関係を模式的に示している。同図はページ画像190上の位置を横軸に、ページ画像190に対する仮想的な視点の高さを縦軸に表し、代表的な視点を黒丸で、各視点から得られる視野の広がりを点線で示している。なお図示するように、視点が高いほど表示倍率が低くなる。視点194(最小倍率M0)では、ページ画像190全体が表示される。ページ画像190に目標領域192aが設定されていたとすると、視点は表示倍率を上げる操作によって当該目標領域に近づく。例えば段階的に表示倍率を変化させる場合は、最小倍率M0、中間倍率M1、最大倍率M2、と表示が変化するように視点が断続的に移動する(矢印G、H)。無段階で変化させる場合、視点は矢印G、H上を連続的に移動する。
最大倍率M2の状態でスクロール操作により視点が移動した後(矢印I)、表示倍率を下げる操作がなされたら、当該操作がなされたときの表示領域192bを目標領域に設定したうえ、視点194に向けて視点を戻していく。例えば段階的に表示倍率を変化させる場合は、最大倍率M2、中間倍率M1、最小倍率M0と表示が変化するように視点が断続的に移動する(矢印J、K)。無段階で変化させる場合、視点は矢印J、K上を連続的に移動する。
その後、再度、表示倍率を上げる操作がなされたら、目標領域192bに近づくように視点が移動する(矢印K’、J’)。なお無段階の表示倍率変更操作時は、図示する高さ以外の高さで視点を止めることも可能である。またスクロール操作が倍率M1(点線矢印I’)やそれ以外の表示倍率(点線矢印I’’)でなされたあと、表示倍率を下げる操作がなされても、目標領域は同様に表示領域192bに切り替えてよい。この場合、表示倍率を下げる操作がなされたときの表示領域は、領域192bより広い範囲であるが、目標領域を表示領域192bとすることにより、再び表示倍率を上げる操作がなされたときに最大倍率M2までの拡大を許容できる。
このとき目標領域192bは、図示するように、視点194と、表示倍率を下げる操作がなされときの視点(例えば視点196)とを結ぶ直線の延長線上で最大倍率M2が得られる視点198から見た領域として求められる。なお図12はページ画像190を1次元、仮想的な視点を2次元空間で表しているが、実際は2次元のページ画像190に対する3次元空間内の視点の動きとして計算する。
これらの構成により、視点194における同じ表示画像から同じように拡大操作しても、拡大される領域が状況に応じて変化する、という独特の態様を実現できる。次に以上の構成によって実現できる情報処理装置10の動作について説明する。図13は、主に情報処理装置10の表示領域制御部116が行う、目標領域設定の処理手順を示すフローチャートである。この設定処理は、ユーザ操作に応じて随時実施するが、これと並行して、ページ切り替え処理、スクロール処理、表示倍率変更処理などをユーザ操作に従い行っているものとする。
まずユーザ操作がページ切り替え操作であった場合(S62のY)、それが記載単位ごとの表示移動操作であれば(S64のY)、移動後の記載単位、すなわち選択された記載単位の冒頭を含む領域を目標領域として設定する(S66)。ページ切り替え操作が記載単位ごとの表示移動操作でなければ(S64のN)、切り替え後のページ冒頭を含む領域を目標領域とする(S68)。ただし上述のとおり、ページを進めたか戻したか等、さらなる判定基準によって、冒頭部分以外の領域を目標領域としてもよい。
一方、ユーザ操作が表示中のページ画像に対する縮小操作であった場合(S62のN、S70のY)、それまでのスクロール操作等によって、その時点での表示領域が目標領域と異なれば(S72のY)、当該表示領域を新たな目標領域とする(S74)。表示領域と目標領域が同じであれば、目標領域はそのままとする(S72のN)。ユーザ操作がページ切り替え操作、あるいは縮小操作のいずれでもなければ目標領域は更新しない(S62のN、S70のN)。このようにして目標領域が随時更新されることにより、別途なされる拡大処理時には、拡大される領域が適切に切り替わることになる。
以上、述べた本実施の形態によれば、電子書籍など複数ページのデータを含むコンテンツを表示する際、ページを順に送る操作、章や記事など記載単位ごとに表示を移動させる操作、および任意のページへ表示を移動させる操作を受け付ける。これにより、ユーザが表示させたいページへ効率よく到達することができる。特に記載単位ごとに表示を移動させる場合や任意のページへ表示を移動させる場合は、書籍の全ページをバーで表したスライドバーを表示し、表示中のページ、記載単位の冒頭を含むページをバー上の位置として認識できるようにする。
これにより、実際の書籍に対し、その厚みから開く位置の見当をつけるのと同様の感覚で、どの程度の移動により所望のページが出現するかを推測することができる。また、記載単位ごとの表示移動により、実際の記載内容や見出しを確認しながら書籍全体をざっと把握したり、興味を引いたページを読み始めたりすることができる。さらに、スライドバーを表示させた時点で表示されていたページをスライドバー上でマーキングし、記載単位ごとの表示移動によって元に戻れるようにする。これにより、実際の書籍において、読んでいる最中のページに指を挟んで別のページを参照したうえ、指を挟んでおいた元のページに戻るような状況を、表示画面上で実現できる。
さらに、表示倍率を変化させる操作として、無段階で連続的に倍率を変化させる操作と、所定の倍率ごとに段階的に変化させる操作と、を受け付ける。各段階に対応する所定倍率は、ページ全体が表示される最小倍率、それ以上倍率を上げることが想定されない最大倍率のほか、書籍のレイアウトや読みやすさなどを考慮して中間倍率を設定する。これにより、適切な表示が得られるまで表示倍率を微調整したり、意図せず画面からはみ出した部分を画面内に一時的にスクロールさせたりするユーザの手間を軽減できる。
段階的な表示倍率の変化時は特に、ジョイスティックをはじく、ボタンの押下、タッチパッド上でのフリックなど1単位の単純な操作に対し、1段階、表示倍率を変化させる。この場合、拡大させたい領域を指定するには別途操作が必要となり操作が複雑化しやすい。そこで、拡大すべき目標領域を情報処理装置側で状況に応じて適切に設定する。これにより、容易な操作で適切な領域を拡大することができる。無段階の倍率変更操作でも同様に目標領域を設定することにより、操作が容易になる。
また両者の操作に用いる操作手段を1つのジョイスティックに集約し、その傾動量の時間変化に応じていずれの操作であるかを判定する。これにより、類似の操作にもかかわらず操作手段が分散し覚えきれない、といった不都合が起こりにくくなる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。