(57)【要約】【課題】比較的小さなディスプレイを有する携帯情報端末において、元の文書のレイアウトを維持したままコンテンツの閲覧性を高める。【解決手段】角度センサ４８は、ディスプレイの鉛直軸周りでの携帯情報端末の回転角を検出する。レンダリング部７６は、回転角が所定のしきい値を越えたとき、ディスプレイの表示領域内に表示される文書ファイルの文字列がディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングする。表示出力部８２は、レンダリングされた文書ファイルのうち、表示領域に対応する範囲をディスプレイに出力する。レンダリング部７６は、ディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするとき、文字列の表示方向におけるディスプレイの表示領域の最大長さを横幅に設定して文書ファイルをレイアウトする。【選択図】図３
2012079122.tif 000002
【特許請求の範囲】
【請求項１】
携帯情報端末に設けられたディスプレイに文書ファイルを表示させる情報表示装置であって、
前記ディスプレイの表示領域内に表示される文書ファイルの文字列が前記ディスプレイの縦枠または横枠に対して所定の角度を持つように前記文書ファイルをメモリ上にレンダリングするレンダリング部と、
レンダリングされた前記文書ファイルのうち、前記表示領域に対応する範囲を前記ディスプレイに出力する表示出力部と、
を備えることを特徴とする情報表示装置。
【請求項２】
前記レンダリング部は、前記ディスプレイの縦枠または横枠に対して所定の角度を持つように前記文書ファイルをメモリ上にレンダリングするとき、文字列の表示方向における前記ディスプレイの表示領域の最大長さと略等しい長さを横幅に設定して前記文書ファイルをレイアウトすることを特徴とする請求項１に記載の情報表示装置。
【請求項３】
前記レンダリング部は、前記文書ファイルに予め定義されている横幅が、文字列の表示方向における前記ディスプレイの表示領域の最大長さよりも小さい場合、前記文書ファイルの横幅が前記最大長さと略一致するように前記文書ファイルを拡大してレンダリングすることを特徴とする請求項１に記載の情報表示装置。
【請求項４】
ユーザにより操作される入力装置から方向指示を受け取る方向指示取得部をさらに備え、
前記表示出力部は、前記表示領域における文字列表示方向と平行または直交する方向を前記文書ファイルのスクロール方向として受け取り、前記レンダリングされた文書ファイル上で前記表示領域に対応する範囲をスクロールすることを特徴とする請求項１ないし３のいずれかに記載の情報表示装置。
【請求項５】
前記レンダリング部は、前記文書ファイルの前記スクロール方向に対応する両端部に、前記表示領域が前記文書ファイルのすべての範囲を移動できるようにするための余白を追加してメモリ上にレンダリングすることを特徴とする請求項４に記載の情報表示装置。
【請求項６】
前記表示出力部は、前記方向指示取得部により方向指示が受け取られている間、前記レンダリングされた文書ファイル上で前記余白が含まれる位置まで前記表示領域をスクロールし、前記方向指示取得部により方向指示が受け取られなくなると、前記レンダリングされた文書ファイル上で前記余白を含まない位置まで前記表示領域を戻すことを特徴とする請求項５に記載の情報表示装置。
【請求項７】
前記所定の角度は、前記表示領域の対角線と前記ディスプレイの縦枠または横枠とがなす角度であることを特徴とする請求項１ないし６のいずれかに記載の情報表示装置。
【請求項８】
コンピュータを備えた携帯情報端末に設けられたディスプレイに文書ファイルを表示させるプログラムであって、
前記ディスプレイの表示領域内に表示される文書ファイルの文字列が前記ディスプレイの縦枠または横枠に対して所定の角度を持つように前記文書ファイルをメモリ上にレンダリングするレンダリング機能と、
レンダリングされた前記文書ファイルのうち、前記表示領域に対応する範囲を前記ディスプレイに出力する表示出力機能と、
をコンピュータに実現させるための情報表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、比較的小さなディスプレイを備える携帯情報端末におけるドキュメントの表示技術に関する。
【背景技術】
【０００２】
携帯電話やスマートフォンなどの携帯情報端末に設けられるディスプレイは、一般にパーソナルコンピュータ（ＰＣ）等と比較して画面サイズが小さく解像度も低い。そのため、コンテンツをより閲覧しやすくするために、携帯情報端末に搭載されているブラウザでは、縦持ち、すなわちディスプレイを縦長にした状態で表示するモード（いわゆるポートレートモード）と、横持ち、すなわちディスプレイを横長にした状態で表示するモード（ランドスケープモード）の両方をサポートしているものがある。縦長モードと横長モードの切り替えは、角度センサにより検出される端末の保持角度に応じて行われるか、ユーザによる所定のボタン操作に応じて行われる。
【０００３】
縦長モードと横長モードにはそれぞれ利点と欠点がある。縦長モードでは、縦スクロール方向にコンテンツが続くことの多いウェブページの閲覧に適しているが、ＰＣ用に作られたウェブサイトの横幅を表示できず、左右方向にスクロールさせる必要がある。横長モードでは、ＰＣ用に作られたウェブサイトでも横幅の全体またはかなりの部分を一度に表示できるが、上下方向を頻繁にスクロールさせなければならない。
【０００４】
特許文献１には、複数の文を含むドキュメント情報を取得し、ディスプレイ装置の矩形状の表示画面の対角線の両端を結ぶ線分に沿ってテキストの文字列が表示されるようにレンダリングを行う情報表示方法が開示されている。これによると、幅の広い対角線を利用することで、１行当たりに表示できる文字数を犠牲にすることなく、大きなフォントサイズを維持できるとしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１８１５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術では、ドキュメント情報からテキスト文字列を抽出してディスプレイの表示画面に合わせて配置し直すので、元のドキュメントのレイアウトが損なわれてしまうという問題がある。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、比較的小さなディスプレイを有する携帯情報端末において、元の文書のレイアウトを維持したままコンテンツの閲覧性を高めるための技術を提供することにある。
【課題を解決するための手段】
【０００８】
本発明のある態様は、携帯情報端末に設けられたディスプレイに文書ファイルを表示させる情報表示装置である。この装置は、ディスプレイの鉛直軸周りでの携帯情報端末の回転角を検出する角度検出部と、回転角が所定のしきい値を越えたとき、ディスプレイの表示領域内に表示される文書ファイルの文字列がディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするレンダリング部と、レンダリングされた文書ファイルのうち、表示領域に対応する範囲をディスプレイに出力する表示出力部と、を備える。
【０００９】
この態様によると、文書ファイルをウインドウ枠に対して傾いた状態で表示することができるので、同一サイズ、同一解像度のウインドウで１行当たりの情報量を大きくすることができる。
【００１０】
レンダリング部は、ディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするとき、文字列の表示方向におけるディスプレイの表示領域の最大長さと略等しい長さを横幅に設定して文書ファイルをレイアウトしてもよい。これによると、文書ファイルをウインドウ枠に対して傾けて表示させた場合でも、表示領域に余白が生じることを回避できる。なお、「表示領域の最大長さと略等しい長さ」とは、文字列を見やすくする程度の余白を表示領域の両端に残す場合を含める意図であり、例えば横幅が表示領域の最大長さの９０％〜１００％の長さである場合を含む。
【００１１】
レンダリング部は、文書ファイルに予め定義されている横幅が、文字列の表示方向におけるディスプレイの表示領域の最大長さよりも小さい場合、文書ファイルの横幅が最大長さと略一致するように文書ファイルを拡大してレンダリングしてもよい。これによると、文書ファイルをウインドウ枠に対して傾けて表示させた場合でも、表示領域に余白が生じることを回避できる。なお、「文書ファイルの横幅が最大長さと略一致するように」とは、文字列を見やすくする程度の余白を表示領域の両端に残す場合を含める意図であり、例えば文書ファイルの横幅が表示領域の最大長さの９０％〜１００％である場合を含む。
【００１２】
ユーザにより操作される入力装置から方向指示を受け取る方向指示取得部をさらに備えてもよい。この場合、表示出力部は、表示領域における文字列表示方向と平行または直交する方向を文書ファイルのスクロール方向として受け取り、レンダリングされた文書ファイル上で表示領域に対応する範囲をスクロールしてもよい。これによると、通常の縦長モードや横長モードと同様に、文書を読み進める方向にスクロールすることができる。
【００１３】
レンダリング部は、文書ファイルのスクロール方向に対応する両端部に、表示領域が文書ファイルのすべての範囲を移動できるようにするための余白を追加してメモリ上にレンダリングしてもよい。これによると、文書ファイルをウインドウ枠に対して傾けて表示させた場合でも、文書ファイルの隅々まで閲覧することができる。
【００１４】
表示出力部は、方向指示取得部により方向指示が受け取られている間、レンダリングされた文書ファイル上で余白が含まれる位置まで表示領域をスクロールし、方向指示取得部により方向指示が受け取られなくなると、レンダリングされた文書ファイル上で余白を含まない位置まで表示領域を戻すようにしてもよい。これによると、余白があることをユーザに知らせることができる。
【００１５】
所定の角度は、表示領域の対角線とディスプレイの縦枠または横枠とがなす角度であってもよい。これによると、１行当たりの情報量を最大にすることができる。
【００１６】
本発明の別の態様は、コンピュータを備えた携帯情報端末に設けられたディスプレイに文書ファイルを表示させる情報表示プログラムである。このプログラムは、ディスプレイの鉛直軸周りでの携帯情報端末の回転角を検出する角度検出機能と、回転角が所定のしきい値を越えたとき、ディスプレイの表示領域内に表示される文書ファイルの文字列がディスプレイの縦枠または横枠に対して所定の角度を持つように文書ファイルをメモリ上にレンダリングするレンダリング機能と、レンダリングされた文書ファイルのうち、表示領域に対応する範囲をディスプレイに出力する表示出力機能と、をコンピュータに実現させる。
【００１７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１８】
本発明によれば、比較的小さなディスプレイを有する携帯情報端末において、元の文書のレイアウトを維持したままコンテンツの閲覧性を高めることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態に係る情報表示機能を備えた携帯情報端末を含むネットワークシステムの全体構成を示す図である。
【図２】携帯情報端末のハードウェア構成図である。
【図３】携帯情報端末のうち、本実施形態に係る情報表示機能に関与する部分の構成を示す図である。
【図４】携帯情報端末のディスプレイにウェブページが傾けられて表示された様子を示す図である。
【図５】ディスプレイの表示領域Ｄの対角線長さとウェブページの横幅との関係を説明する図である。
【図６】（ａ）〜（ｃ）は、基本式を説明するための図である。
【図７】ディスプレイの表示領域Ｄと傾けられたウェブページとの関係を示す図である。
【図８】傾けられたウェブページ内でディスプレイの表示領域Ｄを移動させる様子を示す図である。
【図９】（ａ）〜（ｃ）は、余白領域を追加してレンダリングしたとき、ディスプレイの表示領域Ｄに表示されるウェブページの例を示す図である。
【図１０】本実施形態に係る表示制御装置によるウェブページ表示の手順を示すフローチャートである。
【図１１】本実施形態に係る表示制御装置によるウェブページ表示の手順を示すフローチャートである。
【図１２】ディスプレイの横枠に対して文字列を任意の角度に傾けたとき、ディスプレイ表示領域の最大の横幅を説明する図である。
【発明を実施するための形態】
【００２０】
以下では、まず携帯情報端末の一般的な説明を述べ、続いて本発明の一実施形態に係る機能についての詳細な説明を述べる。
【００２１】
図１は、実施の形態に係る情報表示機能を備えた携帯情報端末１０を含むネットワークシステムの全体構成を示す。
【００２２】
携帯情報端末１０は、携帯電話またはスマートフォンなどの、ユーザと共に移動可能なハードウェアである。携帯情報端末１０は、ユーザの操作によってアクセスポイント１６または基地局１８などを介してＬＡＮ（Local Area Network）、インターネット等のネットワーク１４に接続され、ＵＲＬ（Uniform Resource Locator）で特定されるサーバ１２にアクセスし、所望のファイルを取得することが可能である。
【００２３】
サーバ１２は、ネットワーク１４を介して、携帯情報端末１０にテキストファイル、イメージファイル、音声ファイル、動画ファイルなどのファイルを提供する。このサーバは、例えばウェブサーバその他インターネット上のサービス主体でもよく、その場合、ＣＧＩ（Common Gateway Interface）のようにサーバ側に処理の主たる機能が残るもの、Ｊａｖａ（登録商標）アプレットのようにクライアント側に処理の主たる機能が移動するもの、サーバとクライアントの両方に処理の主たる機能であるＪａｖａ（登録商標）アプリケーションなどを配するものなど、いろいろな態様で実現できる。
【００２４】
また、携帯情報端末１０は、ネットワーク１４にアクセスしなくても、内部の記憶装置や記憶媒体に格納されているファイルをユーザ操作により参照、編集することができるように構成されている。
【００２５】
携帯情報端末１０には、ディスプレイと重ねた状態でタッチパネル５０が配設される。携帯情報端末１０は、主にユーザの指またはスタイラスのような器具でタッチパネルを触れることで操作される。以下では、ユーザの指でタッチパネルを操作するものとして説明する。タッチパネルの他、スイッチや各種のキー５２等が携帯情報端末１０に備えられていてもよい。
【００２６】
タッチパネル５０は、ユーザの指やスタイラス等がパネルに触れると、接触位置の座標を出力するように構成された透明のパネルである。タッチパネル５０は、フィルム電極とガラス電極との接触点の電位を検知して接触位置を算出する抵抗膜方式、赤外線の発光素子と受光素子とでグリッドを作り指示オブジェクトで遮光された位置を出力する赤外線方式、表面弾性波の到達時間を検出して接触位置を出力する超音波表面弾性波方式の他、周知の方式、および今後開発される任意の方式を採用できる。
【００２７】
携帯情報端末１０には、周知のブラウザが搭載されている。ブラウザは、ＨＴＴＰプロトコルにしたがってサーバ１２からウェブページを取得し、ＨＴＭＬ等で記述された文書データを解析し、ウェブページを表示するためのレイアウト処理を行い、レイアウト処理されたウェブページをディスプレイに表示させる機能を有する。
【００２８】
図２は、携帯情報端末１０のハードウェア構成図である。携帯情報端末１０は、ＣＰＵ（Central Processing Unit）２０、メインメモリ（ＲＡＭ：Random Access Memory）２２、ＲＯＭ（Read Only Memory）２４、音声制御装置２６、不揮発性記憶装置３２、表示制御装置３４、入力装置３８、通信制御装置４０、外部記憶装置４２、ＧＰＳ受信機４４および角度センサ４８を備える。これらは、バス４６を介して相互に接続される。
【００２９】
ＣＰＵ２０は、オペレーティングシステムを動作させて携帯情報端末１０の全体を制御する。また、ＲＯＭ２４から、または外部記憶装置４２に装着された記録媒体からメインメモリ２２にプログラムやデータを読み出し、これにしたがって各種の処理を実行する。メインメモリ２２は、ＣＰＵ２０がプログラムの実行を行う際に必要となる一時記憶領域および作業領域、およびプログラムの実行に必要な各種のデータを格納する領域となる。ＲＯＭ２４は、ＣＰＵ２０が実行するコンピュータプログラムおよびデータを格納する読み出し専用の記憶装置である。
【００３０】
音声制御装置２６は、携帯電話を始めとする電話機能付きの携帯情報端末に設けられ、マイク２８およびスピーカ３０と接続されて、音声の入出力制御を行う。
【００３１】
不揮発性記憶装置３２は、電源オフ後も記憶内容を保持可能な記憶装置であり、ハードディスクドライブまたはフラッシュメモリ等の半導体メモリを含む。
【００３２】
表示制御装置３４は、ＣＰＵによって図示しないフレームバッファに描画されたデータを、携帯情報端末１０に備えられたディスプレイ３６で表示できるようにするためのビデオ信号を生成する。
【００３３】
入力装置３８は、ユーザが携帯情報端末１０に対して操作の指示を入力するための装置である。入力装置３８には、キー、トラックパッドなどのポインティングデバイス、各種ボタン、ディスプレイ３６の表面に配置されるタッチパネル５０など、携帯情報端末の種類に応じた任意のデバイスが含まれる。ＵＳＢ（Universal Serial Bus）端子等を介して携帯情報端末にマウスを接続して用いてもよい。
【００３４】
通信制御装置４０は、各種通信方式による音声およびデータの通信を制御する。データ通信方式は、ＩＥＥＥ８０２．１ａ／ｂ／ｇ／ｎなどの無線ＬＡＮ、赤外線通信、パケット通信によるデータ通信などの任意の方式を含む。なお、ケーブルを使用して携帯情報端末１０をネットワーク１４に接続してもよい。
【００３５】
外部記憶装置４２は、交換可能な記録媒体を使用するドライブ装置である。記録媒体には、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどが含まれる。
【００３６】
ＧＰＳ受信機４４は、人工衛星からの電波をもとに携帯情報端末の場所を測位する装置である。
【００３７】
角度センサ４８は、少なくともディスプレイ３６の鉛直軸周りでの携帯情報端末１０の回転角を検出可能なセンサであり、例えば３軸ジャイロセンサである。
【００３８】
上述の各構成要素はいずれも周知のものであるから、これ以上詳細な説明は省略する。
【００３９】
本実施形態では、携帯情報端末１０において、従来からある縦長モードおよび横長モードに加えて、ディスプレイの縦枠または横枠に対してウェブページの文字列方向を傾けるように表示する、第３のモードである「斜めモード」を追加する。
【００４０】
図３は、携帯情報端末１０のうち、本実施形態に係る情報表示機能に関与する部分の構成を示す。この構成は、ハードウェア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウェア的には、ブラウザ、オペレーティングシステム、ＪａｖａＳｃｒｉｐｔ、ＡＰＩ（Application Programming Interface）などの協働により実現される。図３では、それらの組合せで実現されるもののうち、本実施形態に関与する部分のみを取り出して機能ブロックとして説明している。なお、図３に示されていない機能であっても、通常の携帯情報端末が備えている機能は当然に有しているものとする。
【００４１】
また、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろなかたちでも実現できることは、当業者には理解されるところである。
【００４２】
続いて、各機能ブロックの詳細を述べる。
【００４３】
ページ取得部７０は、ブラウザウインドウ内に表示中のウェブページにおけるハイパーリンクの選択に応じて、ネットワーク経由でウェブページファイルを受け取る。ウェブページファイルは、ＳＧＭＬ(Standard Generalized Markup Language)、ＨＴＭＬ(HyperText Markup Language)、ＸＭＬ(eXtensible Markup Language)などのマークアップ言語で記述されている。ウェブページファイルにＪａｖａスクリプトなどのスクリプト言語が含まれていてもよい。
【００４４】
一般に、ウェブページ内のハイパーリンクは、<a>要素を起点にしてhref属性でリンク先の絶対ＵＲＬ、相対ＵＲＬ、絶対パスを指定することで表現されている。ハイパーリンクには、通常、インターネット上に存在する情報リソースの位置を指し示すＵＲＬが関連付けられている。なお、本明細書でいう「ＵＲＬ」には、サーバ名、ポート番号、フォルダ名、ファイル名などで構成される文字列や、ＩＰ（Internet Protocol）アドレスで指定するものを含む。
【００４５】
ページ保持部７２は、ページ取得部７０で受け取られたウェブページファイルを記憶する。ウェブページの表示内容を規定するＣＳＳ（Cascading Style Sheet）等の外部スタイルシートやＥｃｍａＳｃｒｉｐｔ等の外部スクリプトが存在する場合は、それらも合わせて記憶する。
【００４６】
レンダリング部７６は、ページ保持部７２に格納されたハイパーリンクを含むウェブページファイルをメモリ上にレンダリングする。具体的には、レンダリング部７６は、ウェブページファイルの論理的な構造を解釈し、各タグで定められた表現形式、テーブル、フレーム、画像データ、フォーム部品、テキストの折り返し、表示画面のサイズといった情報を用いて、ブラウザウインドウ内に表示されるウェブページのレイアウト処理を行う。このようなウェブページの解釈はパーサとして、レイアウト処理はレンダリングエンジンとして当業者には周知であるため、詳細な説明は省略する。
【００４７】
表示出力部８２は、メモリ上にレンダリングされた画像をブラウザウインドウ内に表示する。
【００４８】
モード切り替え部８４は、角度センサ４８によって検出された、携帯情報端末１０の鉛直軸周りでの回転角を受け取る。携帯情報端末が縦長モードまたは横長モードのいずれか一方と、斜めモードとを有する場合、モード切り替え部８４は、角度センサで検出された回転角が所定のしきい値（例えば３０°）を越えると、縦長モードまたは横長モードから斜めモードに切り替える。逆向きの回転の場合は、斜めモードから元の縦長モードまたは横長モードに戻す。なお、回転角は、縦モードまたは横モードにあるときのウインドウの鉛直方向下側の枠を基準線とした角度として定義される。
【００４９】
携帯情報端末が、縦長モードと横長モードの両方と、斜めモードとを有する場合、しきい値を二つ（例えば、３０°と６０°）設けておき、第１のしきい値を越えると、縦長モードから斜めモードになり、第２のしきい値を越えると、斜めモードから横長モードに切り替わるように構成されることが好ましい。
【００５０】
斜めモードに切り替えられた場合、レンダリング部７６は、ディスプレイの表示領域内に表示されるウェブページの文字列が、ディスプレイの縦枠または横枠に対して所定の角度を持つようにウェブページをメモリ上にレンダリングする。このとき、レンダリング部７６は、文字列の表示方向におけるディスプレイの表示領域の最大長さを横幅に設定してウェブページをメモリ上にレイアウトする。
【００５１】
ウェブページに予め定義されている横幅が、文字列の表示方向におけるディスプレイの表示領域の最大長さよりも小さい場合、レンダリング部７６の拡大部７８は、ウェブページの横幅がディスプレイの表示領域の最大長さと略一致するように、ウェブページを拡大してメモリ上にレンダリングする。
【００５２】
さらに、レンダリング部７６の余白追加部８０は、ウェブページのスクロール方向に対応する両端部に、ディスプレイの表示領域がウェブページのすべての範囲を移動できるようにするための余白を追加してメモリ上にレンダリングする。
【００５３】
表示出力部８２は、メモリ上にレンダリングされたウェブページのうち、ディスプレイの表示領域に対応する範囲をディスプレイに出力する。
【００５４】
スクロール方向取得部８６は、タッチパネル上でのユーザの指の動きを取得する。
【００５５】
表示出力部８２は、スクロール方向取得部８６で受け取られたユーザの指の動きのうち、ディスプレイの表示領域上での文字列表示方向と平行または直交する方向のみをスクロール方向として受け取る。そして、メモリ上にレンダリングされたウェブページ上で、ディスプレイの表示領域に対応する範囲をスクロールする。
【００５６】
また、表示出力部８２は、スクロール方向取得部８６により方向指示が受け取られている間は、メモリ上にレンダリングされたウェブページ上で追加の余白が含まれる位置までディスプレイの表示領域をスクロールし、スクロール方向取得部８６により方向指示が受け取られなくなると、レンダリングされたウェブページ上で追加の余白を含まない位置まで表示領域を戻すようにしてもよい。
【００５７】
続いて、図４〜図８を参照して、情報処理装置１００の作用について説明する。
【００５８】
図４は、斜めモードが選択されているとき、携帯情報端末１０のディスプレイ１２０にウェブページ１２４が傾けられて表示された様子を示す。この例では、ウェブページ１２４はポータルサイトのホームページであり、複数のハイパーリンクが含まれているものとする。このように、ウェブページを傾けて表示することで、１行当たりに表示される文字数が増加するので、ユーザの閲覧性が向上する。
【００５９】
一般に、携帯情報端末のディスプレイには、電波受信状態、電池残量、時刻等を表示するためのステータスバー領域１２２やブラウザのタイトルバーなどがウェブページとともに表示される。以下の説明では、これらを除いたコンテンツ表示領域Ｄ内にウェブページが表示されるものとして説明する。
【００６０】
図５は、ディスプレイの表示領域Ｄの対角線長さとウェブページの横幅との関係を説明する図である。表示対象のウェブページ１０２において、テーブルタグ等によってページ幅が予め設定されている場合がある。図５に示すように、表示領域Ｄの対角線長Ｌよりもウェブページ１０２の設定幅が短い場合には、単にウェブページ１０２を傾けるようにして表示領域Ｄに表示させると、表示領域の隅に余白が生じてしまう。
【００６１】
ディスプレイの表示領域Ｄのサイズおよび解像度は、携帯情報端末の種類に応じて異なるので、これに合わせてウェブページを拡大して表示する必要がある。以下、左右の拡大ピクセル数をｄとして、ｄを算出する方法について説明する。
【００６２】
まず、計算のための基本式を説明する。abs()は、()内の値の絶対値を求める関数であり、sqrt()は、()内の値の平方根を求める関数を表すものとする。
【００６３】
図６（ａ）において、点p(x1, y1)を原点の周りに角度αだけ回転させた点p'(x2, y2)は、次式で求められる。
x2 = x1 * cos(α) - y1 * sin(α),  y2 = x1 * sin(α) + y1 * cos(α)      （１）
【００６４】
図６（ｂ）において、点p(x1, y1)を、点q(xq, yq)の周りに角度αだけ回転させた点p'(x2, y2)は、次式で求められる。
x2 = (x1 - xq) * cos(α) - (y1 - yq) * sin(α) + xq
y2 = (x1 - xq) * sin(α) + (y1 - yq) * cos(α) + yq      （２）
【００６５】
ｘ軸に対する傾きがγの直線を角度αだけ回転させたときの直線の傾きは、tan(γ+α)（３）で表される。
【００６６】
直線ax + by + c = 0の傾きは、- a/b（４）で表される。
【００６７】
直線ax + by + c = 0が点p'(x2, y2)を通るときの定数ｃは、次式で表される。
c = - (a * x2 +  b * y2)
【００６８】
図６（ｃ）において、点p(x1, y1)から直線ax + by + c = 0へ下ろした垂線の長さｈは、次式で表される。
h = abs(a * x1 + b * y1 + c) / sqrt(a2 + b2)
【００６９】
図７は、ディスプレイの表示領域Ｄと、傾けられたウェブページ１０２との関係を示す図である。図７において、ディスプレイの表示領域をＤ、対角線に対して角度αだけ傾けたウェブページを１０２で表している。上述したように、このままの状態では、表示領域Ｄの右上隅と左下隅に余白が生じるので、コンテンツを片側ｄピクセルずつ拡大する必要がある。拡大部７８は、このｄを算出する。
【００７０】
まず、携帯端末のオペレーティングシステム（ＯＳ）から、ディスプレイ表示領域の右端および上端の絶対座標として、layout.right、layout.topを取得し、またディスプレイ表示領域の幅、高さのピクセル数として、layout.width、layout.heightを取得する。
【００７１】
拡大部７８は、図７における点ｐの座標と、コンテンツ表示領域の中央点ｑの座標を、次式によって算出する。
p(x1, y1) = (layout.right, layout.top)
q(xq, yq) = (layout.right / 2, layout.height / 2 + layout.top)
【００７２】
式（１）を利用して、ウェブページ１０２の右上端p'(x2, y2)の座標は、以下のようになる。
x2 = (x1 - xq) * cos(α) - (y1 - yq) * sin(α) + xq
y2 = (x1 - xq) * sin(α) + (y1 - yq) * cos(α) + yq
【００７３】
式（２）を利用して、直線ｌの傾きは、次式のようになる。
tan(π / 2 + α) = sin(π / 2 + α) / cos(π / 2 + α) = - cos(α) / sin(α)
【００７４】
式（３）を利用して、直線ｌをax + by + c = 0で表したとすると、ａは以下のようになる。
a = cos(α) * b = sin(α)
【００７５】
式（４）より、c = - (a * x2 + b * y2)となる。
【００７６】
式（５）より、以下のようになる。
d = abs(a * x1 + b * y1 + c) / sqrt(a2 * b2) = abs(a * x1 + b + y1 + c) / sqrt(cos(α) * cos(α) + sin(α) + sin(α)) = abs(a * x1 + b * y1 + c)
【００７７】
上記のようにして算出されたdを使用して、拡大部７８は、ウェブページ１０２の拡大後の横幅が、layout.width + 2 * dとなるように、ウェブページ１０２を拡大する。
【００７８】
上記のようにしてウェブページを拡大表示しても、本実施形態の斜めモードにおいては、メモリ上にレンダリングされたウェブページの範囲内でしかディスプレイの表示範囲を動かせないようにすると、縦長および横長モードでは生じなかった問題が起こる。
【００７９】
図８は、傾けてレンダリングされたウェブページ１０４内でディスプレイの表示領域Ｄを移動させる様子を示す図である。ウェブページ１０４は、表示領域Ｄの対角線Ｌと幅が等しくなるように調整済みであるとする。
【００８０】
図中に（ｂ）で示すように、表示領域Ｄをウェブページ１０４の上端に移動させた場合、表示領域Ｄの上側の三角形１１０および表示領域Ｄの右側の三角形１１２に相当する部分は、ディスプレイで表示することができなくなってしまう。これは、表示領域Ｄをウェブページの下端に移動させた場合も同様である。
【００８１】
そこで、本実施形態では、表示領域Ｄをスクロールさせたときにウェブページ１０４の全体を表示できるように、ウェブページ１０４の上下に余白領域１０６、１０８を追加してレンダリングするようにする。これらの追加の余白領域１０６、１０８の長さは、表示領域Ｄの対角線がウェブページの上下辺に一致するまで（図中の（ａ）、（ｃ）に相当）移動させられる長さ、すなわち、表示領域Ｄの頂点から対角線に下ろした垂線ｈの長さとなる。
【００８２】
追加の余白領域は白色でもよいし、ウェブページとは関係のない領域であることを示すために、グレーなどの色を付けたり所定のパターンを付与したりしてもよい。
【００８３】
図９（ａ）〜（ｃ）は、余白領域を追加してレンダリングしたとき、ディスプレイの表示領域Ｄに表示されるウェブページの例を示す。図９（ａ）〜（ｃ）は、図８の表示領域Ｄの位置（ａ）〜（ｃ）とそれぞれ対応している。
【００８４】
図９（ｂ）では、表示領域Ｄの全体にウェブページのコンテンツが表示されるが、ウェブページの下端（ａ）や上端（ｂ）に位置するときは、表示領域Ｄの半分に追加の余白領域１１６、１１８が表示される。このようにして、ウェブページをスクロールしてウェブページの全範囲を表示領域Ｄ内に表示することができる。
【００８５】
余白領域１１６、１１８が表示される範囲にスクロールされたときは、スクロールした指が画面に触れている間だけ表示され、タッチスクリーンから指を離すと、バネ力が作用しているように表示領域の全体にコンテンツが表示されている位置まで、すなわちスクロール前の画面位置まで自動的に引き戻されるようにしてもよい。言い換えると、図９（ｂ）の状態で、スクロールした指がスクリーンに触れている間だけ図９（ｃ）の画面が表示され、指を離すと図９（ｂ）の表示に復帰する。このようにすることで、余白領域を含む表示がページの端であることをユーザに知らせることができる。
【００８６】
図１０および図１１は、本実施形態に係る表示制御装置によるウェブページ表示の手順を示すフローチャートである。なお、ここでは携帯情報端末が縦長モード、横長モード、斜めモードの三つの表示モードを有するものとして説明する。
【００８７】
角度センサ４８が携帯情報端末１０の回転角を検出する（Ｓ１０）。モード切り替え部８４は、鉛直軸を基準とした回転角が所定のしきい値を越え、携帯情報端末の長手方向が水平に近い角度である場合（Ｓ１２のＹ）、表示モードを横長モードに切り替える（Ｓ２０）。
【００８８】
回転角が所定のしきい値未満であり、携帯情報端末の長手方向が垂直に近い角度である場合（Ｓ１４のＹ）、表示モードを縦長モードに切り替える（Ｓ２２）。Ｓ１２およびＳ１４のいずれにも当てはまらず、二つのしきい値の間である場合（Ｓ１２のＮ、Ｓ１４のＮ）、レンダリング部７６が文字列の表示方向におけるディスプレイの表示領域の最大長さを横幅に設定してウェブページをメモリ上にレイアウトするか、または拡大部７８がウェブページの横幅をディスプレイの表示領域の最大長さと略一致させるように、ウェブページを拡大してメモリ上にレンダリングする（Ｓ１６）。
【００８９】
モード切り替え部８４は表示モードを斜めモードに切り替え、表示出力部８２がメモリ上にレンダリングされたウェブページのうち、ディスプレイの表示領域に対応する範囲をディスプレイに出力する（Ｓ１８）。
【００９０】
続いて、図１１において、タッチパネル５０上でまたは入力装置によってスクロール操作がなされると（Ｓ３０）、スクロール方向取得部８６がウェブページの上端を越えてスクロールがなされていると判定すると（Ｓ３２のＹ）、余白追加部８０は、ウェブページの上端隅までディスプレイの表示領域が移動できるようにウェブページの上端に加えるべき余白の長さを計算し、レンダリング部７６が余白を含めてメモリ上にレンダリングする（Ｓ３６）。スクロール方向取得部８６がウェブページの下端を越えてスクロールがなされていると判定すると（Ｓ３４のＹ）、余白追加部８０がウェブページの下端隅までディスプレイの表示領域が移動できるようにウェブページの下端に加えるべき余白の長さを計算し、レンダリング部７６が余白を含めてメモリ上にレンダリングする（Ｓ３８）。
【００９１】
なお、上記の説明では、ディスプレイ表示範囲の対角線が文字列の表示方向と一致するようにウェブページを回転させることを述べた。しかしながら、文字列の表示方向は対角線と完全に一致していなくてもよく、ディスプレイの縦枠または横枠に対して任意の角度を選択することができる。この場合、上記の計算式において、対角線の長さの代わりに、文字列の表示方向におけるディスプレイ表示領域の最大の横幅を使用すればよい。図１２に示すように、ディスプレイの横枠に対して文字列を傾ける角度がβ、表示領域Ｄの大きさがｍ×ｎであれば、ディスプレイ表示領域の最大の横幅はm * cos(β) + n * sin(β)で求めることができる。
【００９２】
また、しきい値を越えたときに斜めモードに切り替えることを述べたが、角度に応じてウェブページの横幅がウインドウの水平方向最大長と一致するように変化するように構成してもよい。この場合、例えば縦長の保持状態から横長の保持状態にする間、ウェブページの横幅が徐々に拡大されていき、対角線が水平になるときに最大となり、横長になるまで徐々に減少していくように表示される。この変化は連続的でもよいし、所定角度毎（例えば、１５°刻み）の不連続な変化でもよい。
【００９３】
以上説明したように、本実施形態によれば、携帯情報端末のウインドウの対角線方向を利用することで、同一サイズ、同一解像度のウインドウで１行当たりの情報量を大きくすることができる。また、縦長モードおよび横長モードのいずれの場合よりも、縦方向の最大表示長さと横方向の最大表示長さが大きくなるため、ウェブページのレイアウトを把握しやすくなる。さらに、ウェブページの傾斜を維持したままでスクロールができるため、従来とは異なるブラウジング体験が得られる。
【００９４】
近年では、エルゴノミクスの考え方を取り入れることが、工業製品の差別化戦略の一つとして重視されつつある。エルゴノミクスによると、人の手の構造上、人は物体を垂直または水平に保持するよりも、斜めに傾けた方が自然に保持することができることが分かっている。したがって、携帯情報端末も斜めに保持する方が、疲労が少なくなる。また、人間の目は球体なので、正面を中心として円形または横楕円形の目の動きが自然である。本実施形態のように対角線を水平にするようにページを表示すると、中心から円形または楕円形に近い方向に目を動かすことになるため、眼軸の移動範囲をより有効に利用することができる。このように、本実施形態による表示方法は、エルゴノミクスの考え方にも適応していると言える。
【００９５】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００９６】
実施の形態では、モード切り替え部８４が、携帯情報端末が所定のしきい値以上傾けられたときに、ディスプレイの表示モードを斜めモードに切り替えることを述べたが、斜めモードへの切り替えは他の事象を契機としてもよい。例えば、モード切り替え部は、携帯情報端末に設けられているスイッチやボタンの操作、ディスプレイに表示されるメニュー画面等におけるモードの選択、タッチパネル上での特定の指の動きなどのユーザによる所定の動作を契機として、ディスプレイの表示モードを斜めモードに切り替えてもよい。
【００９７】
実施の形態では、斜め表示モード時に、スクロール方向取得部がウェブページの上下端を越えてスクロールがなされていると判定すると、余白追加部がウェブページの上下端に加えるべき余白の長さを計算し、レンダリング部が余白を含めたウェブページをメモリ上にレンダリングすることを述べた。これに加え、またはこれの代わりに、スクロール方向取得部がウェブページの左右端を越えてスクロールがなされていると判定すると、余白追加部がウェブページの左右端に加えるべき余白の長さを計算し、レンダリング部が余白を含めたウェブページをメモリ上にレンダリングするように構成してもよい。
【００９８】
実施の形態では、ブラウザでウェブページを表示する場合について説明したが、本発明は、ドキュメントファイルやＰＤＦ（Portable Document Format）ファイルなどのテキストコンテンツがメインのファイルをディスプレイで表示する場合にも適用することができる。
【００９９】
実施の形態では、タッチパネルを入力装置として備えた携帯情報端末について説明したが、表示範囲を所望の方向に移動させられる限り、マウス、トラックボール、十字キー、タッチパッドなどの任意のポインティングデバイスを備えた携帯情報端末にも本発明を適用することができる。
【０１００】
実施の形態では、本発明に係る表示機能を携帯電話やスマートフォンなどの携帯情報端末に実装することについて説明した。これらの端末以外でも、ディスプレイを回転させて保持することができ、閲覧の方向が縦または横に限定されないディスプレイを有している装置であれば、任意の装置に本発明を適用することができる。そのような装置として、例えばタブレットＰＣ、電子ブックリーダー、ウェアラブルデバイス、ＰＮＤ（Portable Navigation Device）等がある。
【符号の説明】
【０１０１】
１０  携帯情報端末、  ３６  ディスプレイ、  ３８  入力装置、  ４８  角度センサ、  ５０  タッチパネル、  ７０  ページ取得部、  ７２  ページ保持部、  ７６  レンダリング部、  ７８  拡大部、  ８０  余白追加部、  ８２  表示出力部、  ８４  モード切り替え部、  ８６  スクロール方向取得部。
【図１】
2012079122.tif 000003
【図２】
2012079122.tif 000004
【図３】
2012079122.tif 000005
【図４】
2012079122.tif 000006
【図５】
2012079122.tif 000007
【図６】
2012079122.tif 000008
【図７】
2012079122.tif 000009
【図８】
2012079122.tif 000010
【図９】
2012079122.tif 000011
【図１０】
2012079122.tif 000012
【図１１】
2012079122.tif 000013
【図１２】
2012079122.tif 000014