電子機器および表示制御方法
【課題】ページ内の所望のコンテクストを容易に表示することができる電子機器を実現する。
【解決手段】実施形態によれば、電子機器は、マークアップ言語で記述されたソースに基づきページを画面上に表示する。電子機器は、解析処理手段と、表示制御手段とを具備する。解析処理手段は、前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する。表示制御手段は、前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する。
【解決手段】実施形態によれば、電子機器は、マークアップ言語で記述されたソースに基づきページを画面上に表示する。電子機器は、解析処理手段と、表示制御手段とを具備する。解析処理手段は、前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する。表示制御手段は、前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、マークアップ言語で記述されたソースに基づきページを表示可能な電子機器および同電子機器に適用される表示制御方法に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(PC)、タブレットPC、スマートフォンといった種々の電子機器が開発されている。この種の多くの電子機器では、様々な種類のページ(ウェブページ)を表示するために、ブラウザが使用されている。一般的に、ブラウザによって表示されるページはユーザが視覚的に認識可能な複数のブロック(複数のコンテクスト)から構成される。ユーザは、ブラウザの画面上のスクロールバー等を使用してブラウザを操作することによって、ページ内の所望のコンテクストをブラウザの画面上に表示することができる。
【0003】
さらに、タッチパネルを備えた電子機器においては、ユーザが、画面上に表示されているページ内のあるコンテクストをダブルタッチ操作等によって指定することによって、このコンテクストを拡大して画面上に表示することができる(ズーム)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−180833号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、画面の外にあるコンテクストをダブルタッチ操作等によって指定することはできない。特に、ページ内のあるコンテクストをズームした場合には、そのページ内の他の幾つかのコンテクストが画面外に外れる、つまり、表示されない可能性が高くなる。
【0006】
表示されていない所望のコンテクストを拡大して表示するためには、ユーザは、その所望のコンテクストが画面に表示されるようにスクロールバー等を使用してページをスクロールした後にこの所望のコンテクストをダブルタッチ操作等によって指定するか、あるいは、ページ全体が表示されるようにページを縮小表示した後にこの所望のコンテクストをダブルタッチ操作等によって指定することが必要となる。
【0007】
このように、ユーザが所望のコンテクストを、ユーザが閲覧し易いように、ブラウザの画面に表示させるためには多くの操作を必要とする。そのため、簡単な操作によって所望のコンテクストを表示できるようにすることが求められている。
【0008】
本発明は、ページ内の所望のコンテクストを容易に表示することができる電子機器及び表示制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
実施形態によれば、電子機器は、マークアップ言語で記述されたソースに基づきページを画面上に表示する。この電子機器は、解析処理手段と、表示制御手段とを具備する。前記解析処理手段は、前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する。前記表示制御手段は、前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係る電子機器の外観を示す斜視図。
【図2】第1の実施形態の電子機器によって実行されるブラウザの表示画面の一例を示す図。
【図3】第1の実施形態の電子機器の画面に表示されるページとそのページのソースを説明するための図。
【図4】第1の実施形態の電子機器の画面に表示される表示内容の変化の一例を示す図。
【図5】第1の実施形態の電子機器のシステム構成を示すブロック図。
【図6】第1の実施形態の電子機器によって実行される表示制御プログラムの構成例を示すブロック図。
【図7】第1の実施形態の電子機器によって実行される表示制御プログラムの他の構成例を示すブロック図。
【図8】第1の実施形態の電子機器によって実行される画面に表示するコンテクストの変更処理の手順の一例を示すフローチャート。
【図9】第1の実施形態の電子機器によって実行される画面に表示するコンテクストの変更処理の手順の他の例を示すフローチャート。
【図10】第1の実施形態の電子機器によって実行されるソース上の要素の解析処理の手順の一例を示すフローチャート。
【図11】第1の実施形態の電子機器によって実行される表示制御プログラムのコンテクストの拡大率の制御を説明するための図。
【図12】第2の実施形態の電子機器の画面に表示される表示内容の変化の一例を示す図。
【図13】第3の実施形態の電子機器によって実行されるブラウザの表示画面の一例を示す図。
【図14】第3の実施形態の電子機器によって実行される表示制御プログラムで使用されるソースの一例を示す図。
【発明を実施するための形態】
【0011】
(第1の実施形態)
以下、実施の形態について図面を参照して説明する。
図1は、本実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、スレート型パーソナルコンピュータ(PC)、ラップトップ型PC、スマートフォン、またはPDA等として実現され得る。なお、この電子機器は、他の電子機器に組み込まれる組み込みデバイスであってもよい。以下では、この電子機器がスレート型パーソナルコンピュータ10として実現されている場合を想定する。スレート型パーソナルコンピュータ10は、図1に示すように、コンピュータ本体11とタッチスクリーンディスプレイ17とから構成される。
【0012】
コンピュータ本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17は、液晶表示装置(LCD)及びタッチパネルを備える。タッチパネルは、LCDの画面を覆うように設けられる。タッチスクリーンディスプレイ17は、コンピュータ本体11の上面に重ね合わせるように取り付けられている。
【0013】
コンピュータ10は、ウェブページを表示するウェブページ表示機能を有している。ウェブページは、ブラウザによってディスプレイ17に表示される。ブラウザは、例えば、コンピュータ10に内蔵されたアプリケーションプログラムである。コンピュータ10は、例えばユーザ等の指示によりブラウザを起動する。
【0014】
ブラウザは、ウェブページに関するウェブデータを取得し、ウェブデータに基づきウェブページをブラウザの画面に表示する。ウェブデータは、コンピュータ10の外部からインターネットを介して取得される。例えば、ウェブデータは、ウェブページを公開しているサーバから取得される。
【0015】
ウェブデータは、例えばウェブページのソースである。ソースは、例えばHTML言語のようなマークアップ言語で記述されている。ブラウザの画面に表示されるウェブページの構成は、ソースの記述内容に基づき決定される。ウェブページの構成とは、例えばウェブページに表示される文字列や画像のウェブページ上の位置関係、その文字列のフォントや色の設定、あるいは画像のサイズ等の設定である。
【0016】
また、タッチパネルにユーザの指が接触した状態で、ユーザが指を動かすことによって、ウェブページの一部を拡大またはウェブページを縮小してディスプレイ17に表示することができる。さらに、ユーザが指を動かすことによって、例えばブラウザのスクロール機能が実行され、ブラウザの画面に表示されていなかったウェブページの一部をディスプレイ17に表示させることができる。
【0017】
また、コンピュータ10は、マイク等を備えておりユーザの音声を検出することができる。上述したような、タッチパネル上でユーザがユーザの指を動かすことによるユーザからのウェブページの見え方を変更するための操作の代わりに、ユーザからの特定の音声(ユーザによって発話される特定の言葉)を認識することによってウェブページの見え方、つまり、ウェブページの表示状態を変更することができる。
【0018】
なお、コンピュータ10は、タッチパネルやマイク等以外にも、例えばキーボードを備えていてもよい。ユーザがキーボードを操作することによって、ブラウザのスクロール機能を実行してもよい。さらに、コンピュータ10は、他の電子機器、例えば冷蔵庫等に組み込まれていてもよい。また、ブラウザは、コンピュータ10の内部に実装していなくてもよい。例えば、コンピュータ10が、コンピュータ10の外部にあるサーバに実装されているブラウザを遠隔操作で実行してもよい。
【0019】
また、ウェブデータが、コンピュータ10の外部にあるサーバにある必要はなく、例えばコンピュータ10の内部にある補助記憶装置等に格納し、格納していたデータを使用して、オフラインでブラウザの画面にウェブページを表示してもよい。
【0020】
上述したように、ウェブデータは外部のサーバからインタネートを介して取得してもよいが、インターネット以外でもよく、例えばイントラネットやデータを送受信可能な他のネットワーク網であってもよい。さらに、ウェブデータは、上述したようなソース以外でもよく、例えばソースに基づいて生成されたウェブページの画像であってもよい。この場合、ブラウザはその画像をブラウザの画面に表示し、ブラウザが表示している画像を生成したソースを参照する場合、そのソースを上述したような外部のサーバから取得してもよい。また、上述したソースは、HTML言語以外にもXML言語等の他のマークアップ言語を使用して記述されていてもよい。
【0021】
図2は、ブラウザによって、ディスプレイ17の画面に表示されるウェブページの表示例を示した図である。
ブラウザ画面26は、ブラウザによってディスプレイ17に表示されるブラウザの画面である。ブラウザ画面26は、ウェブページのアドレスを示すアドレスバー以外に、ウェブページを表示する領域がある。ウェブページは、複数のコンテクストから構成されている。
【0022】
コンテクストとは、ウェブページに表示された一塊のブロックである。また、コンテクストは、ユーザによって視覚的に認識可能なブロック単位で示されたウェブページ上の所定の領域を意味してもよい。つまり、コンテクストは、ユーザが視覚的に認識可能なウェブページ上の一塊のブロックであればよい。そのため、ハイパーリンクテキストのようなキーボードやマウス等を使用して他のページに移動するためのコンテクスト以外でもよい。例えば、所定のコンテクストのウェブページ上の領域の中に、他のコンテクストが含まれていてもよい。
【0023】
図2の例では、ウェブページは、コンテクスト21、22等を表示する。コンテクスト21は静止画像等の画像と文字列とを表示するブロックである。コンテクスト22は、静止画等の画像を表示するブロックである。コンテクスト21は、コンテクスト21のウェブページ上の領域の中に、コンテクスト23及びコンテクスト24を含んでいる。コンテクスト23は静止画像等の画像を表示する。コンテクスト24は文字列を表示する。さらに、コンテクスト25は、コンテクスト21及びコンテクスト21に類似した他のコンテクストを含んでいる。
【0024】
なお、図2では、複数のコンテクストから構成されるウェブページに関して説明したが、ウェブページは1つのコンテクストから構成されていてもよい。また、ブラウザ画面26に、アドレスバーは必ずしも表示されている必要はない。
【0025】
図3は、ウェブページコンテクストとこのウェブページのソースとの対応関係の例を示した図である。
上述したように、ウェブページはHTML言語によって記述されたソースに基づいて表示される。つまり、ウェブページ上に表示される各コンテクストは、そのウェブページに対応するソースの一部である要素と対応している。
【0026】
なお、本実施形態では、ウェブページを構成する複数のコンテクストの内のいくつかのコンテクストが互いに順序関係を有している場合を想定している。順序関係とは、ユーザが注目すべきコンテクストの順番を意味するコンテクスト間の関係性である。
【0027】
具体的に、図3を参照して説明する。図3では、順序関係を持ったコンテクストから構成されるウェブページに関して述べる。
図3の左側にウェブページ33、右側にウェブページ33に対応したソース34を示している。なお、図3では、ウェブページ33は料理のレシピに関する内容を示している。ウェブページ33には、料理の手順を示す順序関係を持ったコンテクスト30、31、及び32等の複数のコンテクストが表示されている。
【0028】
コンテクスト31は、コンテクスト30の内容に後続する内容を含むコンテクストである。コンテクスト32は、コンテクスト30の内容に先行する内容を含むコンテクストである。コンテクスト30、31、及び32の各々は、画像及び文字列を含んでいる。なお、この画像及び文字列の各々がコンテクストであってもよい。
【0029】
ソース34は、ウェブページ33上の複数のコンテクストにそれぞれ対応する複数の要素から構成されている。ソース34は、上述したようにHTML言語によって記述されている。また、ソース34は、タグ等を使用し階層的な文書構造を持っている。要素とは、ソース34上の一部の記述を指す。また、要素は、ソース34上のある一つのHTMLタグを表している。なお、要素は、図3に示されるように、所定のタグによって挟まれたソース34の文書を含んでもよい。図3で、要素は、要素41、42、及び43で示されている。
【0030】
要素41、42、及び43は、コンテクスト30、31、及び32とそれぞれ対応している。具体的に要素41に関して説明する。ブラウザは、ソース34に基づき、要素41に対応したコンテクスト30のブラウザ画面26上の表示位置を決める。したがって、要素41に対応したコンテクスト30のブラウザ画面26上の表示座標は、ブラウザから取得することができる。なお、要素41で示されるソース34の記述内容(以下、要素41の内容とも称す)には、コンテクスト30のウェブページ33上の座標位置を示す情報が含まれていてもよい。この座標位置の情報に基づき、ウェブページ33上におけるコンテクスト30の表示配置が決定されてもよい。また、要素41の内容は、コンテクスト30で示されているウェブページ33上の領域内に含まれる内容(以下、コンテクスト30の内容とも称す。)を示す情報を含む。例えば、要素41の内容に含まれる「<div>手順4</div>」の記述にしたがって、コンテクスト30の内容に「手順4」の文字列が表示される。同様に、コンテクスト31の内容は、要素42の内容に従いウェブページ33上のコンテクスト31で示される領域に表示される。コンテクスト32の内容は、要素43の内容に従いウェブページ33上のコンテクスト32で示される領域に表示される。このように、コンテクストの内容は要素の内容に基づいてウェブページ33に表示される。
【0031】
いま、コンテクスト30が現在選択されている場合を想定する。現在選択されているコンテクスト30はカレントコンテクストと称される。カレントコンテクストは、例えば、ディスプレイ17の画面上に拡大表示(ズーム)されているコンテクスト、あるいはディスプレイ17の画面の中央部に表示(センタリング)されているコンテクストであってもよい。コンテクスト30はカレントコンテクストである状態で、ユーザが「次」などの順序関係を有する言葉を発話すると、コンテクスト30の内容が解析され、「次」に当たるコンテクストがページ内から探される。ここでは、コンテクスト30内の文字列「手順4」に後続する文字列「手順5」を含むコンテクスト31が「次」に当たるコンテクストとして探される。
【0032】
「次」に当たるコンテクストが見つけ出されたならば、この見つけ出されたコンテクストが新たなカレントコンテクストとなる。そして、見つけ出されたコンテクストがディスプレイ17の画面上に表示されるようにウェブページ33の表示状態が変更される。この場合、例えば、ウェブページ33をスクロールすることによって、コンテクスト31をディスプレイ17の画面の中央部に表示してもよい。あるいは、ウェブページ33をスクロールすることによって、コンテクスト31をディスプレイ17の画面の中央部に移動し、且つコンテクスト31を拡大してもよい。
【0033】
一方、コンテクスト30がカレントコンテクストである状態で、ユーザが「前」などの順序関係を有する言葉を発話すると、コンテクスト30の内容が解析され、「前」に当たるコンテクストがページ内から探索される。ここでは、コンテクスト30内の文字列「手順4」に先行する文字列「手順3」を含むコンテクスト32が「前」に当たるコンテクストとして検索される。
【0034】
「前」に当たるコンテクストが見つけ出されたならば、この見つけ出されたコンテクストが新たなカレントコンテクストとなる。そして、見つけ出されたコンテクストがディスプレイ17の画面上に表示されるようにウェブページ33の表示状態が変更される。この場合、例えば、ウェブページ33をスクロールすることによって、コンテクスト32をディスプレイ17の画面の中央部に表示してもよい。あるいは、ウェブページ33をスクロールすることによって、コンテクスト32をディスプレイ17の画面の中央部に移動し、且つコンテクスト32を拡大してもよい。
【0035】
さらに、新たなカレントコンテクストが表示されている状態で、「次」または「前」のような言葉が入力された場合には、新たなカレントコンテクストの「次」または「前」に当たるコンテクストが自動的に見つけ出され、この見つけ出されたコンテクストが新たなカレントコンテクストとなる。
【0036】
次に、図4を参照して、本実施形態における、ブラウザ画面26に表示されるウェブページ33の表示内容の遷移について説明する。
本実施形態では、ブラウザを使用して順序関係を持ったコンテクストから構成されるウェブページ33の一部が拡大されてブラウザ画面26に表示されている時、ユーザが、拡大されてブラウザ画面26に表示されているコンテクストの次のコンテクストまたは前のコンテクストを拡大してブラウザ画面26に表示させたい場合、ユーザからの指示に従い、次のコンテクストまたは前のコンテクストを拡大してブラウザ画面26に表示する。
【0037】
具体的に、図4を参照して説明する。図4では、ユーザがブラウザを使用して、図3に示したウェブページ33を閲覧している場合を想定している。図4では、コンテクスト30が拡大されてブラウザ画面26の中央部に表示されている。コンテクスト30以外の他のほとんど全てのコンテクストはブラウザ画面26外に外れており、表示されてない。この状態で、例えば、「次」のような順序関係を示す言葉がユーザから入力された場合、次のコンテクストであるコンテクスト31を拡大してブラウザ画面26の中央部に表示する。このように、本実施形態では、現在拡大されて(ズームされて)ブラウザ画面26に表示されているコンテクスト(カレントコンテクスト)が、ユーザからのカレントコンテクストを変更する要求をトリガーとして、その要求に応じたコンテクストをブラウザ画面26に表示する。なお、以下、カレントコンテクストに対応するソース34上の要素をカレント要素と称す。例えば、図3において、カレントコンテクストがコンテクスト30であった場合、カレント要素は要素41に対応している。
【0038】
図5は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図5に示されるように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクスコントローラ105、サウンドコントローラ106、BIOS−ROM107、LANコントローラ108、ソリッドステートドライブ(SSD)109、無線LANコントローラ112、エンベデッドコントローラ(EC)113、EEPROM114、LCD17A、タッチパネル17B等を備える。
【0039】
CPU101は、コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、SSD109から主メモリ103にロードされる、オペレーティングシステム(OS)201、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、ブラウザ20及び表示制御プログラム202が含まれる。このブラウザ20は上述のウェブページを表示するためのソフトウェアであり、オペレーティングシステム(OS)201上で実行される。また、表示制御プログラム202は、ブラウザ20のプラグイン、つまりブラウザプラグインとして実行される。なお、表示制御プログラム202は、ブラウザプラグイン以外でもよく、例えば、ブラウザ20とは独立したプログラムであってもよいし、あるいは表示制御プログラム202自体がブラウザ20の機能を内蔵していてもよい。
【0040】
また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ105との通信を実行する機能も有している。
【0041】
グラフィクスコントローラ105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ105によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて映像を表示する。このLCD17A上にはタッチパネル17Bが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うためのポインティングデバイスである。ユーザは、タッチパネル17Bを用いて、LCD17Aの画面に表示されたグラフィカルユーザインタフェース(GUI)等を操作することができる。例えば、ユーザは、画面に表示されたボタンをタッチすることによって、当該ボタンに対応する機能の実行を指示することができる。
【0042】
HDMI端子2は、外部ディスプレイ接続端子である。HDMI端子2は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルで外部ディスプレイ装置1に送出することができる。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ装置1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。つまり、コンピュータ10は、HDMI端子2等を介して、外部ディスプレイ装置1に接続可能である。
【0043】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、SSD109を制御するためのATAコントローラを内蔵している。
【0044】
サウスブリッジ104は、各種USBデバイスを制御するためのUSBコントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスである。無線LANコントローラ112は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。
【0045】
EC113は、電力管理のためのエンベデッドコントローラを含む1チップマイクロコンピュータである。EC113は、ユーザによるパワーボタンの操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0046】
次に、図6を参照して、表示制御プログラム202の機能構成を説明する。表示制御プログラム202は、順序判定部60、文書構造解析部64、音声処理部65、及び表示処理部66を備える。
【0047】
順序判定部60は、タッチパネル17B、音声処理部65、表示処理部66、及び文書構造解析部64と接続されている。順序判定部60は、文書構造解析部64を使用してソース34の記述を解析することによって、ソース34上の複数の要素間の順序関係を判定する解析処理部として機能する。要素間の順序関係を判定することによって、それら要素にそれぞれ対応したウェブページ33上のコンテクスト間の順序関係を決定できる。すなわち、順序判定部60は、ソース34を解析し、この解析結果に基づき、ウェブページ33内のカレントコンテクストに対応するソース内の一部の記述であるカレント要素に対して所定の順序関係を有するソース内の別の要素をソースから検索する。より詳しくは、順序判定部60は、ウェブページ33内のカレントコンテクストに対応するソース内の一部の記述であるカレント要素を解析し、カレント要素の解析結果に基づき、カレント要素に対して所定の順序関係(「次」、「前」等)を有するソース内の別の要素をソースから検索し、その検索された別の要素を新たなカレント要素として選択する。例えば、順序判定部60は、カレント要素を解析することによってカレント要素内から数字を含む文字列を見つけ出し、この見つけ出された文字列に対して後続または先行する内容の文字列を含む別の要素を、ソース内から見つけ出し、この見つけ出された別の要素を新たなカレント要素として選択する。数字を含む文字列としては、例えば、数字を表す見出しを使用できる。数字を表す見出しは、例えば、見出し語と数字とを含む文字列である。例えば上述の「手順4」は数字を表す見出しであり、見出し語「手順」と数字「4」とを含む文字列から構成されている。もちろん、数字を表す見出しは、数字のみから構成される文字列であってもよい。
【0048】
ここで、カレント要素から見出し語「手順」と数字「4」とを含む文字列がキー文字として見つけ出された場合を想定する。「次」を示す言葉が入力されたならば、同じ見出し語「手順」と数字「5」とを含む別の要素がソース内から探される。また、「前」を示す言葉が入力されたならば、同じ見出し語「手順」と数字「3」とを含む別の要素がソース内から探される。なお、順序判定部60の詳細な説明については図7を参照して後述する。
【0049】
文書構造解析部64は、順序判定部60及び文書構造解析ルール67と接続されている。文書構造解析部64は、順序判定部60の制御の下、ソース34の文書構造を解析する。ソース34の文書構造とは、ソース34に記述されたタグや文字列(以下、ソース文字列とも称す。)等から成る文書の構成である。また、文書構造はソース34上のタグの階層構造やソース文字列の並び方等であってもよい。文書構造解析部64は、文書構造解析ルール67に格納されている文書構造を解析するためのデータ(以下、文書解析ルールとも称す。)に基づき、文書構造を解析する。文書構造解析ルール67は、例えばSSD109等の補助記憶装置に格納されている。
【0050】
文書解析ルールは、文書構造を解析する際の解析ルールである。解析ルールは、カレント要素に含まれる文字列に基づき、カレント要素と同類の(兄弟関係の)要素を検索するルールである。例えば、カレント要素に含まれるタグの種類とカレント要素に含まれる数字をともなった文字列の組み合わせから成るソース文字列を予め文書構造解析ルール67に登録しておき、その登録したソース文字列からカレント要素と兄弟関係にある要素に含まれるソース文字列を予想し、予想される兄弟関係にある要素に含まれるソース文字列をソース上から検索する。具体的には、例えば、文書構造解析ルール67に「<div>手順(4.)」のソース文字列を予め登録しておく。そして、カレント要素に「<div>手順(4.1)」が含まれていた場合、「<div>手順(4.2)」が含まれる要素をカレント要素と兄弟関係を有する要素と予想し、文書構造解析部64は「<div>手順(4.2)」のソース文字列をソース34上から検索する。この他にも、タグの種類と文字列の組み合わせは、例えば「<li>(4)」のようにタグと数字及び記号を含む文字列から構成されていてもよい。なお、予め登録するソース文字列にタグが含まれていなくてもよい。また、解析ルールは、異なるタグの種類であっても文字列の並び方が類似しているソース文字列を含む要素を兄弟関係にある要素として検索するような解析ルールであってもよい。このように、複数の解析ルールを使用することで、カレント要素と兄弟関係にある要素を見つけ出す確率が高くなる。文書構造解析部64は、これらの文書解析ルールに従い、ソース34の文書構造を解析し、解析結果を順序判定部60に送る。
【0051】
音声処理部65は音声認識処理を実行する。音声処理部65は順序判定部60及びマイク19と接続されている。音声処理部65は、ユーザからの音声入力信号をマイク19から受信する。また、音声処理部65は、受信した音声入力信号を認識することによってその音声入力信号に含まれる所定の語を検出する。所定の語は、順序関係を示す言葉であり、例えば、「次」、「前」、「進む」、「戻る」、「そして」、「それから」、または「で?」等である。音声処理部65は、音声入力信号の認識結果を上述の順序関係を指定する命令として順序判定部60に送る。
【0052】
表示処理部66は、順序判定部60及びLCD17Aと接続されている。表示処理部66は、順序判定部60から送られてくるデータに基づき、そのデータをLCD17Aに表示する。順序判定部60から送られてくるデータは、例えばブラウザ画面26に表示するコンテクストの情報である。コンテクストの情報とは、ウェブページ33上におけるコンテクストの座標情報、コンテクストのサイズを示す情報、またはコンテクストの内容等である。
【0053】
表示処理部66は、コンテクストの情報に基づき、ブラウザ20を操作する。表示処理部66は、表示すべきコンテクスト(新たなカレントコンテクスト)がブラウザ画面26に表示されるようにウェブページ33の表示状態を変更する。具体的には、表示処理部66は、ウェブページ33をスクロールすることによって、新たなカレントコンテクストをブラウザ画面26の中央部に表示してもよい(センタリング)。これにより、新たなカレントコンテクストは、例えば画面外から、画面26の中央部に移動される。あるいは、表示処理部66は、ウェブページ33をスクロールすることによって、新たなカレントコンテクスト)を画面26の中央部に移動し(センタリング)、且つ新たなカレントコンテクストを拡大してもよい(ズーム)。この場合、表示処理部66は、新たなカレントコンテクストが画面26のサイズに適合するサイズに拡大されるように、新たなカレントコンテクストのサイズに基づき、新たなカレントコンテクストに適用すべき拡大率つまりウェブページ33に適用すべき拡大率、を算出し、その拡大率に応じて、新たなカレントコンテクストを拡大してブラウザ画面26に表示してもよい。これにより、新たなカレントコンテクストの全体がブラウザ画面26内に収まるように、新たなカレントコンテクストのサイズを拡大することができる。なお、ここでは、ブラウザ画面26はLCDの画面と同じものを意味している。
【0054】
ブラウザ20は、表示制御プログラム202と接続されている。ブラウザ20は、表示制御プログラム202からの制御信号に基づき制御される。また、ブラウザ20は、ブラウザ画面26に表示しているウェブページ33に関する情報及び表示しているコンテクストの情報を表示制御プログラム202に送る。ウェブページ33に関する情報は、例えばウェブページ33のアドレスであってもよいし、またはソース34であってもよい。
【0055】
次に、図7を参照して順序判定部60の具体的な処理の一例に関して説明する。
順序判定部60は、カレント要素検出部61、カレント要素解析部62、及び要素検索部63から構成される。
カレント要素検出部61は、タッチパネル17B、音声処理部65、及びカレント要素解析部62と接続されている。カレント要素検出部61は、カレント要素の検出またはカレント要素の設定(以下、カレント要素検出とも称す。)をする。カレント要素検出とは、順序関係を判定する際に基準となるカレント要素を決定することである。カレント要素の検出を行うことによって、カレント要素の「次」に当たる内容を含む要素またはカレント要素の「前」に当たる内容を含む要素をソース34から見つけ出すことができる。カレント要素検出部61は、ウェブページ33内で現在選択されているコンテクストを指すカレントコンテクストに対応した要素をカレント要素として検出する。カレントコンテクストは現在選択されているコンテクストであり、ブラウザ画面26に拡大して表示されているコンテクストであってもよいし、あるいは、カレントコンテクストは、ウェブページ33に表示されている文字列(以下、ページ文字列とも称す。)またはウェブページ33に表示されているコンテンツを特定できる内容をユーザが、例えば音声処理部65から送られてくるデータに基づき音声で「手順4」等と発することで、指示したコンテクストであってもよい。あるいは、カレントコンテクストは、ユーザによる二重タップジェスチャーによって指定された、ウェブページ33上のコンテクストであってもよいもよい。
【0056】
カレント要素解析部62は、カレント要素検出部61、要素検索部63、及び文書構造解析部64と接続されている。カレント要素解析部は、カレント要素検出部61によって検出されたカレント要素の内容(カレント要素の記述)を解析する。カレント要素の内容は上述したようなカレント要素の文書構造やカレント要素に含まれる文字列である。カレント要素解析部62は、文書構造解析部64によって解析されたソース34の文書構造に基づき、カレント要素内に含まれる順序関係を有する内容を解析する。順序関係を有する内容とは、例えば、カレント要素のタグに含まれる数字を含む文字列であってもよい。カレント要素解析部62は、カレント要素の解析結果を要素検索部63に送る。
【0057】
要素検索部63は、カレント要素解析部62、文書構造解析部64、音声処理部65、及び表示処理部66と接続されている。要素検索部63は、カレント要素解析部62によるカレント要素の解析結果と文書構造解析部64によるソース34の解析結果に基づき、カレント要素に対して順序関係を有すソース34上の他の要素(以下、順序関係要素と称す。)を検索する。要素検索部63は、順序関係要素に対応したコンテクストがブラウザ画面26に表示されるように、表示処理部66に指示する。
【0058】
次に、図8のフローチャートを参照して、ブラウザ画面26に表示されるコンテクストの表示切替処理の一例について説明する。図8では、ユーザからのコンテクストを切り替える指示があった後、カレントコンテクストに対する「次」または「前」のコンテクストを検索する場合を想定している。
【0059】
カレント要素検出部61は、カレントコンテクストを検出する(ステップS11)。ステップS11では、例えば、現在ズームまたはセンタリングされている、ウェブページ33内のコンテクストがカレントコンテクストとして検出される。その後、ユーザが「次」などの順序関係を有する言葉を発し、マイク19を介してその言葉をカレント要素検出部61が検出する(ステップS12のYES)。なお、ユーザからの指示入力は、音声入力以外でもよく、例えばコンピュータ10を操作するリモコン等を使用した、ブラウザ画面26に表示するコンテクストを変更する指示入力であってもよい。次に、ユーザからの順序内容を示す指示に従い、カレント要素解析部62はカレント要素を解析する(ステップS13)。カレント要素解析部62は、数字を表す見出しなどを用いた文書解析ルールに基づき、カレント要素の文書構造を解析する。なお、この数字は、例えば「(1)」や「(2)」などによって示されていてもよい。次に、要素検索部63が、カレントコンテクストに対するユーザからの指示の内容に応じたコンテクストを、文書構造解析結果に基づき、検索する(ステップS14)。なお、要素検索部63は、カレント要素内の文字列に対して所定の順序関係を有する文字列を含む要素を検索してもよい。表示処理部66は、検索した要素に対応するコンテクストをブラウザ画面26に表示する(ステップS15)。表示処理部66は、検索した要素に対応するコンテクストをブラウザ画面26にセンタリングして表示してもよいし、ズームして表示してもよいし、センタリングし且つズームして表示してもよい。これにより、ウェブページ33の表示状態は、カレントコンテクストがズームまたはセンタリングされている表示状態から、カレントコンテクストの「次」または「前」に当たる新たなカレントコンテクストがズームまたはセンタリングされている表示状態に自動的に遷移される。
【0060】
次に、図9のフローチャートを参照して、ブラウザ画面26に表示されるコンテクストの表示切替処理の他の例について説明する。図9では、ユーザからのコンテクストを切り替える指示がある前に、カレントコンテクストに対する「次」または「前」のコンテクストを検索する場合を想定している。
【0061】
カレント要素検出部61がカレント要素を検出し(ステップS21)、その後、ユーザからの順序関係を有する指示を受ける前に、カレント要素を解析する(ステップS22)。カレント要素の解析結果に基づき、カレント要素とソース34に含まれる別の要素それぞれとの順序関係を判定する(ステップS23)。なお、図8を参照して説明した場合と異なり、要素検索部63はカレント要素の「次」の要素と「前」の要素との両方の要素を検索する。その後、ユーザからの順序関係を有す指示入力を検出した場合(ステップS24)、ユーザからの指示入力が「次」に関する指示入力であるかどうか判定する(ステップS25)。ユーザからの指示入力が「次」に関する指示入力であった場合(ステップS25のYES)、「次」の要素に対応するコンテクストをブラウザ画面26に表示する(ステップ26)。ユーザからの指示入力が「次」に関する指示入力でなかった場合(ステップS25のNO)、ユーザからの指示入力が「前」に関する指示入力であるかどうか判定する(ステップS27)。ユーザからの指示入力が「前」に関する指示入力であった場合(ステップS27のYES)、「前」の要素に対応するコンテクストをブラウザ画面26に表示する(ステップ28)。ユーザからの指示入力が「前」に関する指示入力でなかった場合(ステップS27のNO)、再びユーザからの他の指示入力があるまで待機する。
【0062】
図9を参照して説明したように、ユーザからの指示入力がある前に、カレント要素を解析し、要素の順序を予め判定しておくことによって、その後ユーザからの指示入力があった場合、ブラウザ画面26に「次」または「前」のコンテクストを表示するまでにかかる時間を、図8を参照して述べた処理にかかる時間よりも短くすることができる。
【0063】
次に、図10を参照して、本実施形態における要素の検索処理の一例を説明する。
カレント要素解析部62は、カレント要素の構造を解析する(ステップS31)。要素検索部63は、解析したカレント要素に数字が含まれているかどうか判定する(ステップS32)。カレント要素に数字が含まれている場合とは、例えばカレント要素に含まれるタグが「<div id=1>」、「<div id=2>」のように記載されていた場合である。この場合、タグ内の数字を利用し、要素間の順序関係を判定する。カレント要素に数字が含まれている場合の他の例は、例えば「<div>手順1</div>」のようにタグの間に数字が含まれていてもよい。カレント要素に数字が含まれていた場合(ステップS32のYES)、カレント要素に含まれる数字の次の数字を含む要素を検索する(ステップS33)。例えば、カレント要素に含まれるタグが「<div id=1>」であった場合、「<div id=2>」を含むソース34上の他の要素を検索する。検索した結果、次の数字を含む要素があった場合、次の数字を含む要素に対応するコンテクストをブラウザ画面26に表示する(ステップS34)。検索した結果、次の数字を含む要素がなかった場合は、その旨をユーザに、例えば音声などによって知らせる。
【0064】
カレント要素のタグ内に数字が含まれていない場合(ステップS32のNO)、カレント要素と同じソース34上の階層にある要素(兄弟要素)の内容の文字列を解析する(ステップS35)。例えば、ソース34の一部が以下のように記載されており、カレント要素が「<div>手順1…</div>」であった場合、
<div>
<div>手順1…</div>
<div>手順2…</div>
</div>
カレント要素と同じ階層にある2番目の要素「<div>手順2…</div>」内の先頭の文字列「手順2…」を解析する。解析方法は、例えば言語処理方法を用いる。言語処理方法を用いて、例えば、カレント要素内の先頭の文字列と2番目の要素内の先頭の文字列との間に連続性があるかどうかを判定する。例えば「手順1…」と「手順2…」とに関して、先頭の文字列「手順」が同じであるため連続性があると判定する。そして、表示処理部66は、要素「<div>手順2</div>」に対応したウェブページ33上のコンテクストをブラウザ画面26に表示する(ステップS36)。なお、カレント要素と同じ階層の要素がなかった場合、カレント要素が属す階層の1つ上の階層にカレント要素と兄弟関係にある要素、例えば同じ種類のタグ(例えば、<div>など)を含む要素、を検索する。なお、上述した文字列は、「手順1」または「手順2」等のように、見出し語と数字から成る文字列に限らず、例えば「(1)」または「(2)」等のように、記号と数字から成る文字列であってもよい。
【0065】
また、カレント要素に含まれる文字列に数字が含まれていない場合、例えば、「イ」、「ロ」、「ハ」のような、順序関係を表現可能な文字を含む文字列に基づいて、カレント要素の「次」または「前」に該当する別の要素を検索するようにしてもよい。
【0066】
例えば、(1)文字列が「手順イ」、「手順ロ」、あるいは「手順ハ」、(2)文字列が「手順(あ)」、「手順(い)」、あるいは「手順(う)」、または(3)文字列が「イ」、「ロ」、「ハ」、である場合である。このような場合、文字列に順序関係を表現可能な文字が少なくとも含まれていれば、図10を参照して上述した方法を用いて、要素を検索することができる。
【0067】
ここで、カレント要素内に文字列が含まれていない場合について述べる。この場合、階層構造で記述されたソース34の構成、すなわち要素の構成(兄弟要素の順番)を解析することで、「次」または「前」にあたる要素を見つけ出す。具体的には、例えば、ブラウザ画面26に写真のリストが表示されている場合である。この場合、カレントコンテクストの内容は写真だけであってもよい。そのため、例えば、カレント要素内には、ブラウザが画面26に写真を表示するために必要なタグ等の記述以外の、上述したような「手順1」等の文字列が含まれていない場合がある。このような場合、カレント要素の兄弟要素をソース34上から探し出す。探し出した兄弟要素とカレント要素とのソース34上における関係から、「次」の要素または「前」の要素を決定する。例えば、「次」の要素は、カレント要素の兄弟要素であり、さらにカレント要素の記述よりも後に記述されている要素である。具体的には、「次」の要素は、カレント要素の1つ後に記述されている兄弟要素であってもよい。「前」の要素は、カレント要素の兄弟要素であり、さらにカレント要素の記述よりも前に記述されている要素である。具体的には、「前」の要素は、カレント要素の1つ前に記述されている兄弟要素であってもよい。
【0068】
次に、図11を参照し、本実施形態において、コンテクストを拡大して表示する場合に使用する拡大率の変化の一例を説明する。
ここでは、サイズが異なるコンテクスト300とコンテクスト301とが、ブラウザ画面26に表示されている場合を想定している。また、ユーザからの指示に応じて、コンテクスト300が拡大してブラウザ画面26に表示されている状態からコンテクスト301が拡大されてブラウザ画面26に表示されている状態に遷移する場合を想定している。また、ウェブページ33の全体がブラウザ画面26に表示されている場合を想定している。図11に示される、点線の枠で示されているウィンドウ302及びウィンドウ303は、コンテクスト300及びコンテクスト301を拡大してブラウザ画面26に表示した際のブラウザ画面26またはディスプレイ17を表している。
【0069】
コンテクスト300は、コンテクスト300に対応するソース34上の要素に基づき、ブラウザ20によってブラウザ画面26に表示される。コンテクスト300が占めるウェブページ33上の領域の左上の角の座標は(x1、y1)で示される。同様に、図示されていないが、コンテクスト300が占めるウェブページ33上の領域の右下の角の座標に基づき、ウィンドウ302のサイズが決定される。このウィンドウ302のサイズに基づき、拡大してコンテクスト300が表示されている時の拡大率が決定される。上述したコンテクスト300の拡大率の決定方法と同様の拡大率の決定方法を用いて、拡大してコンテクスト301を表示する際の拡大率が決定される。
【0070】
なお、カレントコンテクストの検出に関して、複数のコンテクストが拡大されてブラウザ画面26に表示されている場合、その複数のコンテクストの内の何れか1つをカレントコンテクストとして検出してもよい。
【0071】
以上のように、本実施形態によれば、ユーザが閲覧しているページ内の所望のコンテクストを画面に表示させる際、ページのソースに含まれる要素を解析することによって、ユーザは簡単な操作で所望のコンテクストを画面に表示させることができる。さらに、要素に含まれる文字列を解析することによって、所望のコンテクストに対応するソース上の要素を検索できる。なお、要素に含まれる文字列に数字が含まれていた場合、その数字を使用し、所望のコンテクストに対応するソース上の要素を検索できる。さらに、要素に文字列が含まれない場合、ソース上の要素の構成を解析することによって、所望のコンテクストに対応するソース上の要素を検索できる。また、ページをスクロールすることによって、所望のコンテクストが画面の中央部に表示され、さらに所望のコンテクストを拡大して画面に表示されるため、ユーザは複雑な操作をせずに、ユーザが見やすいサイズで及びユーザが見やすい画面上の位置で、所望のコンテクストを画面に表示させることができる。あるいは、所望のコンテクストのサイズに適合するように画面の拡大率を算出することで、所望のコンテクストを画面に拡大及びセンタリングして表示させることができる。また、ユーザからの指示に従い、現在表示されているコンテクストを切り替えることができる。ユーザからの指示は、順序関係を有する指示であり、この指示に従い、所望のコンテクストに対応する要素をソース上から検索できる。さらに、ユーザが発した音声を認識するし、その音声に順序関係を示す内容が含まれていた場合、その音声の内容に従い、所望のコンテクストを画面に表示させることができる。
【0072】
(第2の実施形態)
以下、第2の実施の形態について図面を参照して説明する。なお、第1の実施形態と同様の構成及び機能については説明を省略する。
第1の実施形態では、順序関係を有す複数のコンテクストを順番にブラウザ画面26に表示する際、ブラウザ画面26に拡大(ズーム)またはセンタリングして表示したが、第2の実施形態では、ズームまたはセンタリング以外の方法で、順序関係を有す複数のコンテクストを順番にブラウザ画面26に表示する。
【0073】
図12は、第2の実施形態において、ユーザからの指示に応じて、ユーザが注目するコンテクストが変更された際、ブラウザの画面上でのユーザが注目すべきコンテクストの表示の一例を示している。
【0074】
図12では、ユーザがニュースに関するウェブページを閲覧している場合を想定している。このウェブページは、コンテクスト400を含む。コンテクスト400は、さらにコンテクスト401及びコンテクスト402を含む。コンテクスト401及びコンテクスト402の各々は、例えばニュースのヘッドラインを示している。
【0075】
第2の実施形態で、表示制御プログラム202は、ブラウザ画面26に表示するコンテクストを変更するための音声入力による指示に従い、カレントコンテクストを強調表示する。
【0076】
具体的に、図12を参照して説明する。始めに、表示制御プログラム202は、カレントコンテクストを検出する。例えば、ユーザがブラウザ画面26に表示されている文字列(ページ文字列)を音声で発話することによって、表示制御プログラム202は、そのページ文字列が含まれるコンテクストをカレントコンテクストとして検出してもよい。あるいは、ユーザが、例えば「2行目のニュース」などのコンテクストを特定できる言葉を発することによって、表示制御プログラム202は、そのページ文字列が含まれるコンテクストをカレントコンテクストとして検出してもよい。なお、ユーザによるカレントコンテクストを設定するための指示は、音声に限らず、第1の実施形態で述べたようなリモコン等を使用して行われてもよい。図12では、コンテクスト401がカレントコンテクストとして検出されたことを示している。
【0077】
表示制御プログラム202は、コンテクスト401をブラウザ画面26に強調して表示する。具体的には、例えば図12に示すように、コンテクスト401の外側を囲むような枠をブラウザ画面26に表示することで、カレントコンテクストであるコンテクスト401を強調表示してもよい。さらに、この枠を点滅させて表示させることでさらに強調して表示してもよい。また、強調表示されたカレントコンテクストが、ユーザが所望したコンテクストではなかった場合を想定し、表示制御プログラム202は、ユーザが所望したコンテクストが強調表示されているかどうかを、例えば音声等を使用して、ユーザに確認するための処理を行ってもよい。
【0078】
次に、ユーザが順序関係を有す言葉を発話した場合、表示制御プログラム202はカレントコンテクストと順序関係を示すカレントコンテクストを強調表示する。例えば、ユーザが「次」という言葉を発話した場合、カレントコンテクストであるコンテクスト401の「次」のコンテクストであるコンテクスト402を強調表示する。
【0079】
なお、コンテクスト401及びコンテクスト402の各々に対応するソース34上の要素は、例えば図3で、<li>XXXX……</li>として示されるように、<li>のタグを用いたソース34上の記述の一部であってもよい。
【0080】
以上のように、第2の実施形態によれば、ユーザが注目するコンテクストを変更する際、音声を使用するだけで、コンテクストの強調表示を切り替えることができる。そのため、「次」にユーザが注目すべきコンテクストをユーザがページ33上から探し出す必要がなくなる。
【0081】
(第3の実施形態)
以下、第3の実施の形態について図面を参照して説明する。なお、第1の実施形態及び第2の実施形態と同様の構成及び機能については説明を省略する。
第3の実施形態では、第1の実施形態及び第2の実施形態と異なる方法で、ユーザが注目すべきカレントコンテクストをブラウザ画面26に表示する。第3の実施形態では、コンテクストを変更する前に、カレントコンテクストの「次」に相当するコンテクストがブラウザ画面26に表示されていないような場合を想定している。あるいは、ブラウザ画面26上におけるカレントコンテクストが占めるエリアに、「次」に相当するコンテクストを表示するような場合を想定している。なお、「次」に相当するコンテクストに対応する要素が、カレントコンテクストに対応する要素と同じソース上にある場合を想定している。
【0082】
具体的に、図13を参照して説明する。図13は、動画を含んだウェブページ(以下、動画ページとも称す。)を表示しているブラウザ画面26の一例を示している。動画ページは、コンテクスト500、501、503、504、及び505等から構成される。コンテクスト500の内容は、動画の再生を含んでいる。すなわち、動画ページ上でコンテクスト500が占めるエリアで動画が再生される。また、コンテクスト504及びコンテクスト505は、コンテクスト500で再生する動画の候補となる動画のサムネイル画像等である。
【0083】
図13に示すように、カレントコンテクスト500内に「次」にコンテクスト500で再生する動画リストが表示されていた場合について説明する。この場合、ユーザが「次」と発話することによって、表示制御プログラム202は、コンテクスト504やコンテクスト505等から「次」に相当するコンテクストを選択し、「次」に相当するコンテクストの内容である動画を、コンテクスト500の内容として再生する。
【0084】
さらに、カレントコンテクスト500で動画が再生されている場合を想定する。この場合、ユーザが「次」と発話することによって、「次」の動画を再生するコンテクストに対応した要素を動画ページのソースから探し出し、探し出した「次」の要素の内容に従い、「次」の動画をコンテクスト500の内容として再生する。
【0085】
次に、図14を参照して、動画ページのソースの一例について説明する。動画ページは、図14に示すようなソース600によってブラウザ画面26に表示される。具体的に、例えば、動画movie2がコンテクスト500の内容として再生されている場合、表示制御プログラムは、<li id=“movie2”>………</li>をカレントコンテクストとして検出する。次に、ユーザが「次」と発話することによって、表示制御プログラム202は、<li id=“movie3”> ………</li>を「次」の要素をソース600上から検索する。さらに、表示制御プログラム202は、「次」の要素に含まれる文字列「movie2」を含む要素をソース600上から検索する。図14で、文字列「movie2」を含む要素は、<object id=“movie1”>………id=”movie 2” ………中略………</object>で示される。そして、文字列「movie2」を含む要素に対応したコンテクストの内容として動画movie2が再生される。
【0086】
以上のように、第3の実施形態によれば、順序関係を有すコンテクストの一部がページ上に表示されていない場合や、「次」に表示するコンテクストを同一のページ上の異なる位置に表示させる場合等において、ユーザが視覚的に探し出すことができないようなコンテクストでも、ソース上の順序関係を有す要素を検索することによって、ユーザは「次」と発話するだけで、「次」のコンテクストをブラウザ画面26に表示させることができる。
【0087】
また、図8乃至図10のフローチャートで説明した手順は全てプログラムによって実行することができるので、このプログラムを、このプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0088】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0089】
10…コンピュータ、21…コンテクスト、20…ブラウザ、34…ソース、41…要素、60…順序判定部、64…文書構造解析部、65…音声処理部、66…表示処理部、202…表示制御プログラム。
【技術分野】
【0001】
本発明の実施形態は、マークアップ言語で記述されたソースに基づきページを表示可能な電子機器および同電子機器に適用される表示制御方法に関する。
【背景技術】
【0002】
近年、パーソナルコンピュータ(PC)、タブレットPC、スマートフォンといった種々の電子機器が開発されている。この種の多くの電子機器では、様々な種類のページ(ウェブページ)を表示するために、ブラウザが使用されている。一般的に、ブラウザによって表示されるページはユーザが視覚的に認識可能な複数のブロック(複数のコンテクスト)から構成される。ユーザは、ブラウザの画面上のスクロールバー等を使用してブラウザを操作することによって、ページ内の所望のコンテクストをブラウザの画面上に表示することができる。
【0003】
さらに、タッチパネルを備えた電子機器においては、ユーザが、画面上に表示されているページ内のあるコンテクストをダブルタッチ操作等によって指定することによって、このコンテクストを拡大して画面上に表示することができる(ズーム)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−180833号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、画面の外にあるコンテクストをダブルタッチ操作等によって指定することはできない。特に、ページ内のあるコンテクストをズームした場合には、そのページ内の他の幾つかのコンテクストが画面外に外れる、つまり、表示されない可能性が高くなる。
【0006】
表示されていない所望のコンテクストを拡大して表示するためには、ユーザは、その所望のコンテクストが画面に表示されるようにスクロールバー等を使用してページをスクロールした後にこの所望のコンテクストをダブルタッチ操作等によって指定するか、あるいは、ページ全体が表示されるようにページを縮小表示した後にこの所望のコンテクストをダブルタッチ操作等によって指定することが必要となる。
【0007】
このように、ユーザが所望のコンテクストを、ユーザが閲覧し易いように、ブラウザの画面に表示させるためには多くの操作を必要とする。そのため、簡単な操作によって所望のコンテクストを表示できるようにすることが求められている。
【0008】
本発明は、ページ内の所望のコンテクストを容易に表示することができる電子機器及び表示制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
実施形態によれば、電子機器は、マークアップ言語で記述されたソースに基づきページを画面上に表示する。この電子機器は、解析処理手段と、表示制御手段とを具備する。前記解析処理手段は、前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する。前記表示制御手段は、前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態に係る電子機器の外観を示す斜視図。
【図2】第1の実施形態の電子機器によって実行されるブラウザの表示画面の一例を示す図。
【図3】第1の実施形態の電子機器の画面に表示されるページとそのページのソースを説明するための図。
【図4】第1の実施形態の電子機器の画面に表示される表示内容の変化の一例を示す図。
【図5】第1の実施形態の電子機器のシステム構成を示すブロック図。
【図6】第1の実施形態の電子機器によって実行される表示制御プログラムの構成例を示すブロック図。
【図7】第1の実施形態の電子機器によって実行される表示制御プログラムの他の構成例を示すブロック図。
【図8】第1の実施形態の電子機器によって実行される画面に表示するコンテクストの変更処理の手順の一例を示すフローチャート。
【図9】第1の実施形態の電子機器によって実行される画面に表示するコンテクストの変更処理の手順の他の例を示すフローチャート。
【図10】第1の実施形態の電子機器によって実行されるソース上の要素の解析処理の手順の一例を示すフローチャート。
【図11】第1の実施形態の電子機器によって実行される表示制御プログラムのコンテクストの拡大率の制御を説明するための図。
【図12】第2の実施形態の電子機器の画面に表示される表示内容の変化の一例を示す図。
【図13】第3の実施形態の電子機器によって実行されるブラウザの表示画面の一例を示す図。
【図14】第3の実施形態の電子機器によって実行される表示制御プログラムで使用されるソースの一例を示す図。
【発明を実施するための形態】
【0011】
(第1の実施形態)
以下、実施の形態について図面を参照して説明する。
図1は、本実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、スレート型パーソナルコンピュータ(PC)、ラップトップ型PC、スマートフォン、またはPDA等として実現され得る。なお、この電子機器は、他の電子機器に組み込まれる組み込みデバイスであってもよい。以下では、この電子機器がスレート型パーソナルコンピュータ10として実現されている場合を想定する。スレート型パーソナルコンピュータ10は、図1に示すように、コンピュータ本体11とタッチスクリーンディスプレイ17とから構成される。
【0012】
コンピュータ本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17は、液晶表示装置(LCD)及びタッチパネルを備える。タッチパネルは、LCDの画面を覆うように設けられる。タッチスクリーンディスプレイ17は、コンピュータ本体11の上面に重ね合わせるように取り付けられている。
【0013】
コンピュータ10は、ウェブページを表示するウェブページ表示機能を有している。ウェブページは、ブラウザによってディスプレイ17に表示される。ブラウザは、例えば、コンピュータ10に内蔵されたアプリケーションプログラムである。コンピュータ10は、例えばユーザ等の指示によりブラウザを起動する。
【0014】
ブラウザは、ウェブページに関するウェブデータを取得し、ウェブデータに基づきウェブページをブラウザの画面に表示する。ウェブデータは、コンピュータ10の外部からインターネットを介して取得される。例えば、ウェブデータは、ウェブページを公開しているサーバから取得される。
【0015】
ウェブデータは、例えばウェブページのソースである。ソースは、例えばHTML言語のようなマークアップ言語で記述されている。ブラウザの画面に表示されるウェブページの構成は、ソースの記述内容に基づき決定される。ウェブページの構成とは、例えばウェブページに表示される文字列や画像のウェブページ上の位置関係、その文字列のフォントや色の設定、あるいは画像のサイズ等の設定である。
【0016】
また、タッチパネルにユーザの指が接触した状態で、ユーザが指を動かすことによって、ウェブページの一部を拡大またはウェブページを縮小してディスプレイ17に表示することができる。さらに、ユーザが指を動かすことによって、例えばブラウザのスクロール機能が実行され、ブラウザの画面に表示されていなかったウェブページの一部をディスプレイ17に表示させることができる。
【0017】
また、コンピュータ10は、マイク等を備えておりユーザの音声を検出することができる。上述したような、タッチパネル上でユーザがユーザの指を動かすことによるユーザからのウェブページの見え方を変更するための操作の代わりに、ユーザからの特定の音声(ユーザによって発話される特定の言葉)を認識することによってウェブページの見え方、つまり、ウェブページの表示状態を変更することができる。
【0018】
なお、コンピュータ10は、タッチパネルやマイク等以外にも、例えばキーボードを備えていてもよい。ユーザがキーボードを操作することによって、ブラウザのスクロール機能を実行してもよい。さらに、コンピュータ10は、他の電子機器、例えば冷蔵庫等に組み込まれていてもよい。また、ブラウザは、コンピュータ10の内部に実装していなくてもよい。例えば、コンピュータ10が、コンピュータ10の外部にあるサーバに実装されているブラウザを遠隔操作で実行してもよい。
【0019】
また、ウェブデータが、コンピュータ10の外部にあるサーバにある必要はなく、例えばコンピュータ10の内部にある補助記憶装置等に格納し、格納していたデータを使用して、オフラインでブラウザの画面にウェブページを表示してもよい。
【0020】
上述したように、ウェブデータは外部のサーバからインタネートを介して取得してもよいが、インターネット以外でもよく、例えばイントラネットやデータを送受信可能な他のネットワーク網であってもよい。さらに、ウェブデータは、上述したようなソース以外でもよく、例えばソースに基づいて生成されたウェブページの画像であってもよい。この場合、ブラウザはその画像をブラウザの画面に表示し、ブラウザが表示している画像を生成したソースを参照する場合、そのソースを上述したような外部のサーバから取得してもよい。また、上述したソースは、HTML言語以外にもXML言語等の他のマークアップ言語を使用して記述されていてもよい。
【0021】
図2は、ブラウザによって、ディスプレイ17の画面に表示されるウェブページの表示例を示した図である。
ブラウザ画面26は、ブラウザによってディスプレイ17に表示されるブラウザの画面である。ブラウザ画面26は、ウェブページのアドレスを示すアドレスバー以外に、ウェブページを表示する領域がある。ウェブページは、複数のコンテクストから構成されている。
【0022】
コンテクストとは、ウェブページに表示された一塊のブロックである。また、コンテクストは、ユーザによって視覚的に認識可能なブロック単位で示されたウェブページ上の所定の領域を意味してもよい。つまり、コンテクストは、ユーザが視覚的に認識可能なウェブページ上の一塊のブロックであればよい。そのため、ハイパーリンクテキストのようなキーボードやマウス等を使用して他のページに移動するためのコンテクスト以外でもよい。例えば、所定のコンテクストのウェブページ上の領域の中に、他のコンテクストが含まれていてもよい。
【0023】
図2の例では、ウェブページは、コンテクスト21、22等を表示する。コンテクスト21は静止画像等の画像と文字列とを表示するブロックである。コンテクスト22は、静止画等の画像を表示するブロックである。コンテクスト21は、コンテクスト21のウェブページ上の領域の中に、コンテクスト23及びコンテクスト24を含んでいる。コンテクスト23は静止画像等の画像を表示する。コンテクスト24は文字列を表示する。さらに、コンテクスト25は、コンテクスト21及びコンテクスト21に類似した他のコンテクストを含んでいる。
【0024】
なお、図2では、複数のコンテクストから構成されるウェブページに関して説明したが、ウェブページは1つのコンテクストから構成されていてもよい。また、ブラウザ画面26に、アドレスバーは必ずしも表示されている必要はない。
【0025】
図3は、ウェブページコンテクストとこのウェブページのソースとの対応関係の例を示した図である。
上述したように、ウェブページはHTML言語によって記述されたソースに基づいて表示される。つまり、ウェブページ上に表示される各コンテクストは、そのウェブページに対応するソースの一部である要素と対応している。
【0026】
なお、本実施形態では、ウェブページを構成する複数のコンテクストの内のいくつかのコンテクストが互いに順序関係を有している場合を想定している。順序関係とは、ユーザが注目すべきコンテクストの順番を意味するコンテクスト間の関係性である。
【0027】
具体的に、図3を参照して説明する。図3では、順序関係を持ったコンテクストから構成されるウェブページに関して述べる。
図3の左側にウェブページ33、右側にウェブページ33に対応したソース34を示している。なお、図3では、ウェブページ33は料理のレシピに関する内容を示している。ウェブページ33には、料理の手順を示す順序関係を持ったコンテクスト30、31、及び32等の複数のコンテクストが表示されている。
【0028】
コンテクスト31は、コンテクスト30の内容に後続する内容を含むコンテクストである。コンテクスト32は、コンテクスト30の内容に先行する内容を含むコンテクストである。コンテクスト30、31、及び32の各々は、画像及び文字列を含んでいる。なお、この画像及び文字列の各々がコンテクストであってもよい。
【0029】
ソース34は、ウェブページ33上の複数のコンテクストにそれぞれ対応する複数の要素から構成されている。ソース34は、上述したようにHTML言語によって記述されている。また、ソース34は、タグ等を使用し階層的な文書構造を持っている。要素とは、ソース34上の一部の記述を指す。また、要素は、ソース34上のある一つのHTMLタグを表している。なお、要素は、図3に示されるように、所定のタグによって挟まれたソース34の文書を含んでもよい。図3で、要素は、要素41、42、及び43で示されている。
【0030】
要素41、42、及び43は、コンテクスト30、31、及び32とそれぞれ対応している。具体的に要素41に関して説明する。ブラウザは、ソース34に基づき、要素41に対応したコンテクスト30のブラウザ画面26上の表示位置を決める。したがって、要素41に対応したコンテクスト30のブラウザ画面26上の表示座標は、ブラウザから取得することができる。なお、要素41で示されるソース34の記述内容(以下、要素41の内容とも称す)には、コンテクスト30のウェブページ33上の座標位置を示す情報が含まれていてもよい。この座標位置の情報に基づき、ウェブページ33上におけるコンテクスト30の表示配置が決定されてもよい。また、要素41の内容は、コンテクスト30で示されているウェブページ33上の領域内に含まれる内容(以下、コンテクスト30の内容とも称す。)を示す情報を含む。例えば、要素41の内容に含まれる「<div>手順4</div>」の記述にしたがって、コンテクスト30の内容に「手順4」の文字列が表示される。同様に、コンテクスト31の内容は、要素42の内容に従いウェブページ33上のコンテクスト31で示される領域に表示される。コンテクスト32の内容は、要素43の内容に従いウェブページ33上のコンテクスト32で示される領域に表示される。このように、コンテクストの内容は要素の内容に基づいてウェブページ33に表示される。
【0031】
いま、コンテクスト30が現在選択されている場合を想定する。現在選択されているコンテクスト30はカレントコンテクストと称される。カレントコンテクストは、例えば、ディスプレイ17の画面上に拡大表示(ズーム)されているコンテクスト、あるいはディスプレイ17の画面の中央部に表示(センタリング)されているコンテクストであってもよい。コンテクスト30はカレントコンテクストである状態で、ユーザが「次」などの順序関係を有する言葉を発話すると、コンテクスト30の内容が解析され、「次」に当たるコンテクストがページ内から探される。ここでは、コンテクスト30内の文字列「手順4」に後続する文字列「手順5」を含むコンテクスト31が「次」に当たるコンテクストとして探される。
【0032】
「次」に当たるコンテクストが見つけ出されたならば、この見つけ出されたコンテクストが新たなカレントコンテクストとなる。そして、見つけ出されたコンテクストがディスプレイ17の画面上に表示されるようにウェブページ33の表示状態が変更される。この場合、例えば、ウェブページ33をスクロールすることによって、コンテクスト31をディスプレイ17の画面の中央部に表示してもよい。あるいは、ウェブページ33をスクロールすることによって、コンテクスト31をディスプレイ17の画面の中央部に移動し、且つコンテクスト31を拡大してもよい。
【0033】
一方、コンテクスト30がカレントコンテクストである状態で、ユーザが「前」などの順序関係を有する言葉を発話すると、コンテクスト30の内容が解析され、「前」に当たるコンテクストがページ内から探索される。ここでは、コンテクスト30内の文字列「手順4」に先行する文字列「手順3」を含むコンテクスト32が「前」に当たるコンテクストとして検索される。
【0034】
「前」に当たるコンテクストが見つけ出されたならば、この見つけ出されたコンテクストが新たなカレントコンテクストとなる。そして、見つけ出されたコンテクストがディスプレイ17の画面上に表示されるようにウェブページ33の表示状態が変更される。この場合、例えば、ウェブページ33をスクロールすることによって、コンテクスト32をディスプレイ17の画面の中央部に表示してもよい。あるいは、ウェブページ33をスクロールすることによって、コンテクスト32をディスプレイ17の画面の中央部に移動し、且つコンテクスト32を拡大してもよい。
【0035】
さらに、新たなカレントコンテクストが表示されている状態で、「次」または「前」のような言葉が入力された場合には、新たなカレントコンテクストの「次」または「前」に当たるコンテクストが自動的に見つけ出され、この見つけ出されたコンテクストが新たなカレントコンテクストとなる。
【0036】
次に、図4を参照して、本実施形態における、ブラウザ画面26に表示されるウェブページ33の表示内容の遷移について説明する。
本実施形態では、ブラウザを使用して順序関係を持ったコンテクストから構成されるウェブページ33の一部が拡大されてブラウザ画面26に表示されている時、ユーザが、拡大されてブラウザ画面26に表示されているコンテクストの次のコンテクストまたは前のコンテクストを拡大してブラウザ画面26に表示させたい場合、ユーザからの指示に従い、次のコンテクストまたは前のコンテクストを拡大してブラウザ画面26に表示する。
【0037】
具体的に、図4を参照して説明する。図4では、ユーザがブラウザを使用して、図3に示したウェブページ33を閲覧している場合を想定している。図4では、コンテクスト30が拡大されてブラウザ画面26の中央部に表示されている。コンテクスト30以外の他のほとんど全てのコンテクストはブラウザ画面26外に外れており、表示されてない。この状態で、例えば、「次」のような順序関係を示す言葉がユーザから入力された場合、次のコンテクストであるコンテクスト31を拡大してブラウザ画面26の中央部に表示する。このように、本実施形態では、現在拡大されて(ズームされて)ブラウザ画面26に表示されているコンテクスト(カレントコンテクスト)が、ユーザからのカレントコンテクストを変更する要求をトリガーとして、その要求に応じたコンテクストをブラウザ画面26に表示する。なお、以下、カレントコンテクストに対応するソース34上の要素をカレント要素と称す。例えば、図3において、カレントコンテクストがコンテクスト30であった場合、カレント要素は要素41に対応している。
【0038】
図5は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図5に示されるように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクスコントローラ105、サウンドコントローラ106、BIOS−ROM107、LANコントローラ108、ソリッドステートドライブ(SSD)109、無線LANコントローラ112、エンベデッドコントローラ(EC)113、EEPROM114、LCD17A、タッチパネル17B等を備える。
【0039】
CPU101は、コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、SSD109から主メモリ103にロードされる、オペレーティングシステム(OS)201、および各種アプリケーションプログラムを実行する。アプリケーションプログラムには、ブラウザ20及び表示制御プログラム202が含まれる。このブラウザ20は上述のウェブページを表示するためのソフトウェアであり、オペレーティングシステム(OS)201上で実行される。また、表示制御プログラム202は、ブラウザ20のプラグイン、つまりブラウザプラグインとして実行される。なお、表示制御プログラム202は、ブラウザプラグイン以外でもよく、例えば、ブラウザ20とは独立したプログラムであってもよいし、あるいは表示制御プログラム202自体がブラウザ20の機能を内蔵していてもよい。
【0040】
また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ105との通信を実行する機能も有している。
【0041】
グラフィクスコントローラ105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ105によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて映像を表示する。このLCD17A上にはタッチパネル17Bが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うためのポインティングデバイスである。ユーザは、タッチパネル17Bを用いて、LCD17Aの画面に表示されたグラフィカルユーザインタフェース(GUI)等を操作することができる。例えば、ユーザは、画面に表示されたボタンをタッチすることによって、当該ボタンに対応する機能の実行を指示することができる。
【0042】
HDMI端子2は、外部ディスプレイ接続端子である。HDMI端子2は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルで外部ディスプレイ装置1に送出することができる。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ装置1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。つまり、コンピュータ10は、HDMI端子2等を介して、外部ディスプレイ装置1に接続可能である。
【0043】
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、SSD109を制御するためのATAコントローラを内蔵している。
【0044】
サウスブリッジ104は、各種USBデバイスを制御するためのUSBコントローラを内蔵している。さらに、サウスブリッジ104は、サウンドコントローラ106との通信を実行する機能も有している。サウンドコントローラ106は音源デバイスであり、再生対象のオーディオデータをスピーカ18A,18Bに出力する。LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスである。無線LANコントローラ112は、例えばIEEE 802.11規格の無線通信を実行する無線通信デバイスである。
【0045】
EC113は、電力管理のためのエンベデッドコントローラを含む1チップマイクロコンピュータである。EC113は、ユーザによるパワーボタンの操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
【0046】
次に、図6を参照して、表示制御プログラム202の機能構成を説明する。表示制御プログラム202は、順序判定部60、文書構造解析部64、音声処理部65、及び表示処理部66を備える。
【0047】
順序判定部60は、タッチパネル17B、音声処理部65、表示処理部66、及び文書構造解析部64と接続されている。順序判定部60は、文書構造解析部64を使用してソース34の記述を解析することによって、ソース34上の複数の要素間の順序関係を判定する解析処理部として機能する。要素間の順序関係を判定することによって、それら要素にそれぞれ対応したウェブページ33上のコンテクスト間の順序関係を決定できる。すなわち、順序判定部60は、ソース34を解析し、この解析結果に基づき、ウェブページ33内のカレントコンテクストに対応するソース内の一部の記述であるカレント要素に対して所定の順序関係を有するソース内の別の要素をソースから検索する。より詳しくは、順序判定部60は、ウェブページ33内のカレントコンテクストに対応するソース内の一部の記述であるカレント要素を解析し、カレント要素の解析結果に基づき、カレント要素に対して所定の順序関係(「次」、「前」等)を有するソース内の別の要素をソースから検索し、その検索された別の要素を新たなカレント要素として選択する。例えば、順序判定部60は、カレント要素を解析することによってカレント要素内から数字を含む文字列を見つけ出し、この見つけ出された文字列に対して後続または先行する内容の文字列を含む別の要素を、ソース内から見つけ出し、この見つけ出された別の要素を新たなカレント要素として選択する。数字を含む文字列としては、例えば、数字を表す見出しを使用できる。数字を表す見出しは、例えば、見出し語と数字とを含む文字列である。例えば上述の「手順4」は数字を表す見出しであり、見出し語「手順」と数字「4」とを含む文字列から構成されている。もちろん、数字を表す見出しは、数字のみから構成される文字列であってもよい。
【0048】
ここで、カレント要素から見出し語「手順」と数字「4」とを含む文字列がキー文字として見つけ出された場合を想定する。「次」を示す言葉が入力されたならば、同じ見出し語「手順」と数字「5」とを含む別の要素がソース内から探される。また、「前」を示す言葉が入力されたならば、同じ見出し語「手順」と数字「3」とを含む別の要素がソース内から探される。なお、順序判定部60の詳細な説明については図7を参照して後述する。
【0049】
文書構造解析部64は、順序判定部60及び文書構造解析ルール67と接続されている。文書構造解析部64は、順序判定部60の制御の下、ソース34の文書構造を解析する。ソース34の文書構造とは、ソース34に記述されたタグや文字列(以下、ソース文字列とも称す。)等から成る文書の構成である。また、文書構造はソース34上のタグの階層構造やソース文字列の並び方等であってもよい。文書構造解析部64は、文書構造解析ルール67に格納されている文書構造を解析するためのデータ(以下、文書解析ルールとも称す。)に基づき、文書構造を解析する。文書構造解析ルール67は、例えばSSD109等の補助記憶装置に格納されている。
【0050】
文書解析ルールは、文書構造を解析する際の解析ルールである。解析ルールは、カレント要素に含まれる文字列に基づき、カレント要素と同類の(兄弟関係の)要素を検索するルールである。例えば、カレント要素に含まれるタグの種類とカレント要素に含まれる数字をともなった文字列の組み合わせから成るソース文字列を予め文書構造解析ルール67に登録しておき、その登録したソース文字列からカレント要素と兄弟関係にある要素に含まれるソース文字列を予想し、予想される兄弟関係にある要素に含まれるソース文字列をソース上から検索する。具体的には、例えば、文書構造解析ルール67に「<div>手順(4.)」のソース文字列を予め登録しておく。そして、カレント要素に「<div>手順(4.1)」が含まれていた場合、「<div>手順(4.2)」が含まれる要素をカレント要素と兄弟関係を有する要素と予想し、文書構造解析部64は「<div>手順(4.2)」のソース文字列をソース34上から検索する。この他にも、タグの種類と文字列の組み合わせは、例えば「<li>(4)」のようにタグと数字及び記号を含む文字列から構成されていてもよい。なお、予め登録するソース文字列にタグが含まれていなくてもよい。また、解析ルールは、異なるタグの種類であっても文字列の並び方が類似しているソース文字列を含む要素を兄弟関係にある要素として検索するような解析ルールであってもよい。このように、複数の解析ルールを使用することで、カレント要素と兄弟関係にある要素を見つけ出す確率が高くなる。文書構造解析部64は、これらの文書解析ルールに従い、ソース34の文書構造を解析し、解析結果を順序判定部60に送る。
【0051】
音声処理部65は音声認識処理を実行する。音声処理部65は順序判定部60及びマイク19と接続されている。音声処理部65は、ユーザからの音声入力信号をマイク19から受信する。また、音声処理部65は、受信した音声入力信号を認識することによってその音声入力信号に含まれる所定の語を検出する。所定の語は、順序関係を示す言葉であり、例えば、「次」、「前」、「進む」、「戻る」、「そして」、「それから」、または「で?」等である。音声処理部65は、音声入力信号の認識結果を上述の順序関係を指定する命令として順序判定部60に送る。
【0052】
表示処理部66は、順序判定部60及びLCD17Aと接続されている。表示処理部66は、順序判定部60から送られてくるデータに基づき、そのデータをLCD17Aに表示する。順序判定部60から送られてくるデータは、例えばブラウザ画面26に表示するコンテクストの情報である。コンテクストの情報とは、ウェブページ33上におけるコンテクストの座標情報、コンテクストのサイズを示す情報、またはコンテクストの内容等である。
【0053】
表示処理部66は、コンテクストの情報に基づき、ブラウザ20を操作する。表示処理部66は、表示すべきコンテクスト(新たなカレントコンテクスト)がブラウザ画面26に表示されるようにウェブページ33の表示状態を変更する。具体的には、表示処理部66は、ウェブページ33をスクロールすることによって、新たなカレントコンテクストをブラウザ画面26の中央部に表示してもよい(センタリング)。これにより、新たなカレントコンテクストは、例えば画面外から、画面26の中央部に移動される。あるいは、表示処理部66は、ウェブページ33をスクロールすることによって、新たなカレントコンテクスト)を画面26の中央部に移動し(センタリング)、且つ新たなカレントコンテクストを拡大してもよい(ズーム)。この場合、表示処理部66は、新たなカレントコンテクストが画面26のサイズに適合するサイズに拡大されるように、新たなカレントコンテクストのサイズに基づき、新たなカレントコンテクストに適用すべき拡大率つまりウェブページ33に適用すべき拡大率、を算出し、その拡大率に応じて、新たなカレントコンテクストを拡大してブラウザ画面26に表示してもよい。これにより、新たなカレントコンテクストの全体がブラウザ画面26内に収まるように、新たなカレントコンテクストのサイズを拡大することができる。なお、ここでは、ブラウザ画面26はLCDの画面と同じものを意味している。
【0054】
ブラウザ20は、表示制御プログラム202と接続されている。ブラウザ20は、表示制御プログラム202からの制御信号に基づき制御される。また、ブラウザ20は、ブラウザ画面26に表示しているウェブページ33に関する情報及び表示しているコンテクストの情報を表示制御プログラム202に送る。ウェブページ33に関する情報は、例えばウェブページ33のアドレスであってもよいし、またはソース34であってもよい。
【0055】
次に、図7を参照して順序判定部60の具体的な処理の一例に関して説明する。
順序判定部60は、カレント要素検出部61、カレント要素解析部62、及び要素検索部63から構成される。
カレント要素検出部61は、タッチパネル17B、音声処理部65、及びカレント要素解析部62と接続されている。カレント要素検出部61は、カレント要素の検出またはカレント要素の設定(以下、カレント要素検出とも称す。)をする。カレント要素検出とは、順序関係を判定する際に基準となるカレント要素を決定することである。カレント要素の検出を行うことによって、カレント要素の「次」に当たる内容を含む要素またはカレント要素の「前」に当たる内容を含む要素をソース34から見つけ出すことができる。カレント要素検出部61は、ウェブページ33内で現在選択されているコンテクストを指すカレントコンテクストに対応した要素をカレント要素として検出する。カレントコンテクストは現在選択されているコンテクストであり、ブラウザ画面26に拡大して表示されているコンテクストであってもよいし、あるいは、カレントコンテクストは、ウェブページ33に表示されている文字列(以下、ページ文字列とも称す。)またはウェブページ33に表示されているコンテンツを特定できる内容をユーザが、例えば音声処理部65から送られてくるデータに基づき音声で「手順4」等と発することで、指示したコンテクストであってもよい。あるいは、カレントコンテクストは、ユーザによる二重タップジェスチャーによって指定された、ウェブページ33上のコンテクストであってもよいもよい。
【0056】
カレント要素解析部62は、カレント要素検出部61、要素検索部63、及び文書構造解析部64と接続されている。カレント要素解析部は、カレント要素検出部61によって検出されたカレント要素の内容(カレント要素の記述)を解析する。カレント要素の内容は上述したようなカレント要素の文書構造やカレント要素に含まれる文字列である。カレント要素解析部62は、文書構造解析部64によって解析されたソース34の文書構造に基づき、カレント要素内に含まれる順序関係を有する内容を解析する。順序関係を有する内容とは、例えば、カレント要素のタグに含まれる数字を含む文字列であってもよい。カレント要素解析部62は、カレント要素の解析結果を要素検索部63に送る。
【0057】
要素検索部63は、カレント要素解析部62、文書構造解析部64、音声処理部65、及び表示処理部66と接続されている。要素検索部63は、カレント要素解析部62によるカレント要素の解析結果と文書構造解析部64によるソース34の解析結果に基づき、カレント要素に対して順序関係を有すソース34上の他の要素(以下、順序関係要素と称す。)を検索する。要素検索部63は、順序関係要素に対応したコンテクストがブラウザ画面26に表示されるように、表示処理部66に指示する。
【0058】
次に、図8のフローチャートを参照して、ブラウザ画面26に表示されるコンテクストの表示切替処理の一例について説明する。図8では、ユーザからのコンテクストを切り替える指示があった後、カレントコンテクストに対する「次」または「前」のコンテクストを検索する場合を想定している。
【0059】
カレント要素検出部61は、カレントコンテクストを検出する(ステップS11)。ステップS11では、例えば、現在ズームまたはセンタリングされている、ウェブページ33内のコンテクストがカレントコンテクストとして検出される。その後、ユーザが「次」などの順序関係を有する言葉を発し、マイク19を介してその言葉をカレント要素検出部61が検出する(ステップS12のYES)。なお、ユーザからの指示入力は、音声入力以外でもよく、例えばコンピュータ10を操作するリモコン等を使用した、ブラウザ画面26に表示するコンテクストを変更する指示入力であってもよい。次に、ユーザからの順序内容を示す指示に従い、カレント要素解析部62はカレント要素を解析する(ステップS13)。カレント要素解析部62は、数字を表す見出しなどを用いた文書解析ルールに基づき、カレント要素の文書構造を解析する。なお、この数字は、例えば「(1)」や「(2)」などによって示されていてもよい。次に、要素検索部63が、カレントコンテクストに対するユーザからの指示の内容に応じたコンテクストを、文書構造解析結果に基づき、検索する(ステップS14)。なお、要素検索部63は、カレント要素内の文字列に対して所定の順序関係を有する文字列を含む要素を検索してもよい。表示処理部66は、検索した要素に対応するコンテクストをブラウザ画面26に表示する(ステップS15)。表示処理部66は、検索した要素に対応するコンテクストをブラウザ画面26にセンタリングして表示してもよいし、ズームして表示してもよいし、センタリングし且つズームして表示してもよい。これにより、ウェブページ33の表示状態は、カレントコンテクストがズームまたはセンタリングされている表示状態から、カレントコンテクストの「次」または「前」に当たる新たなカレントコンテクストがズームまたはセンタリングされている表示状態に自動的に遷移される。
【0060】
次に、図9のフローチャートを参照して、ブラウザ画面26に表示されるコンテクストの表示切替処理の他の例について説明する。図9では、ユーザからのコンテクストを切り替える指示がある前に、カレントコンテクストに対する「次」または「前」のコンテクストを検索する場合を想定している。
【0061】
カレント要素検出部61がカレント要素を検出し(ステップS21)、その後、ユーザからの順序関係を有する指示を受ける前に、カレント要素を解析する(ステップS22)。カレント要素の解析結果に基づき、カレント要素とソース34に含まれる別の要素それぞれとの順序関係を判定する(ステップS23)。なお、図8を参照して説明した場合と異なり、要素検索部63はカレント要素の「次」の要素と「前」の要素との両方の要素を検索する。その後、ユーザからの順序関係を有す指示入力を検出した場合(ステップS24)、ユーザからの指示入力が「次」に関する指示入力であるかどうか判定する(ステップS25)。ユーザからの指示入力が「次」に関する指示入力であった場合(ステップS25のYES)、「次」の要素に対応するコンテクストをブラウザ画面26に表示する(ステップ26)。ユーザからの指示入力が「次」に関する指示入力でなかった場合(ステップS25のNO)、ユーザからの指示入力が「前」に関する指示入力であるかどうか判定する(ステップS27)。ユーザからの指示入力が「前」に関する指示入力であった場合(ステップS27のYES)、「前」の要素に対応するコンテクストをブラウザ画面26に表示する(ステップ28)。ユーザからの指示入力が「前」に関する指示入力でなかった場合(ステップS27のNO)、再びユーザからの他の指示入力があるまで待機する。
【0062】
図9を参照して説明したように、ユーザからの指示入力がある前に、カレント要素を解析し、要素の順序を予め判定しておくことによって、その後ユーザからの指示入力があった場合、ブラウザ画面26に「次」または「前」のコンテクストを表示するまでにかかる時間を、図8を参照して述べた処理にかかる時間よりも短くすることができる。
【0063】
次に、図10を参照して、本実施形態における要素の検索処理の一例を説明する。
カレント要素解析部62は、カレント要素の構造を解析する(ステップS31)。要素検索部63は、解析したカレント要素に数字が含まれているかどうか判定する(ステップS32)。カレント要素に数字が含まれている場合とは、例えばカレント要素に含まれるタグが「<div id=1>」、「<div id=2>」のように記載されていた場合である。この場合、タグ内の数字を利用し、要素間の順序関係を判定する。カレント要素に数字が含まれている場合の他の例は、例えば「<div>手順1</div>」のようにタグの間に数字が含まれていてもよい。カレント要素に数字が含まれていた場合(ステップS32のYES)、カレント要素に含まれる数字の次の数字を含む要素を検索する(ステップS33)。例えば、カレント要素に含まれるタグが「<div id=1>」であった場合、「<div id=2>」を含むソース34上の他の要素を検索する。検索した結果、次の数字を含む要素があった場合、次の数字を含む要素に対応するコンテクストをブラウザ画面26に表示する(ステップS34)。検索した結果、次の数字を含む要素がなかった場合は、その旨をユーザに、例えば音声などによって知らせる。
【0064】
カレント要素のタグ内に数字が含まれていない場合(ステップS32のNO)、カレント要素と同じソース34上の階層にある要素(兄弟要素)の内容の文字列を解析する(ステップS35)。例えば、ソース34の一部が以下のように記載されており、カレント要素が「<div>手順1…</div>」であった場合、
<div>
<div>手順1…</div>
<div>手順2…</div>
</div>
カレント要素と同じ階層にある2番目の要素「<div>手順2…</div>」内の先頭の文字列「手順2…」を解析する。解析方法は、例えば言語処理方法を用いる。言語処理方法を用いて、例えば、カレント要素内の先頭の文字列と2番目の要素内の先頭の文字列との間に連続性があるかどうかを判定する。例えば「手順1…」と「手順2…」とに関して、先頭の文字列「手順」が同じであるため連続性があると判定する。そして、表示処理部66は、要素「<div>手順2</div>」に対応したウェブページ33上のコンテクストをブラウザ画面26に表示する(ステップS36)。なお、カレント要素と同じ階層の要素がなかった場合、カレント要素が属す階層の1つ上の階層にカレント要素と兄弟関係にある要素、例えば同じ種類のタグ(例えば、<div>など)を含む要素、を検索する。なお、上述した文字列は、「手順1」または「手順2」等のように、見出し語と数字から成る文字列に限らず、例えば「(1)」または「(2)」等のように、記号と数字から成る文字列であってもよい。
【0065】
また、カレント要素に含まれる文字列に数字が含まれていない場合、例えば、「イ」、「ロ」、「ハ」のような、順序関係を表現可能な文字を含む文字列に基づいて、カレント要素の「次」または「前」に該当する別の要素を検索するようにしてもよい。
【0066】
例えば、(1)文字列が「手順イ」、「手順ロ」、あるいは「手順ハ」、(2)文字列が「手順(あ)」、「手順(い)」、あるいは「手順(う)」、または(3)文字列が「イ」、「ロ」、「ハ」、である場合である。このような場合、文字列に順序関係を表現可能な文字が少なくとも含まれていれば、図10を参照して上述した方法を用いて、要素を検索することができる。
【0067】
ここで、カレント要素内に文字列が含まれていない場合について述べる。この場合、階層構造で記述されたソース34の構成、すなわち要素の構成(兄弟要素の順番)を解析することで、「次」または「前」にあたる要素を見つけ出す。具体的には、例えば、ブラウザ画面26に写真のリストが表示されている場合である。この場合、カレントコンテクストの内容は写真だけであってもよい。そのため、例えば、カレント要素内には、ブラウザが画面26に写真を表示するために必要なタグ等の記述以外の、上述したような「手順1」等の文字列が含まれていない場合がある。このような場合、カレント要素の兄弟要素をソース34上から探し出す。探し出した兄弟要素とカレント要素とのソース34上における関係から、「次」の要素または「前」の要素を決定する。例えば、「次」の要素は、カレント要素の兄弟要素であり、さらにカレント要素の記述よりも後に記述されている要素である。具体的には、「次」の要素は、カレント要素の1つ後に記述されている兄弟要素であってもよい。「前」の要素は、カレント要素の兄弟要素であり、さらにカレント要素の記述よりも前に記述されている要素である。具体的には、「前」の要素は、カレント要素の1つ前に記述されている兄弟要素であってもよい。
【0068】
次に、図11を参照し、本実施形態において、コンテクストを拡大して表示する場合に使用する拡大率の変化の一例を説明する。
ここでは、サイズが異なるコンテクスト300とコンテクスト301とが、ブラウザ画面26に表示されている場合を想定している。また、ユーザからの指示に応じて、コンテクスト300が拡大してブラウザ画面26に表示されている状態からコンテクスト301が拡大されてブラウザ画面26に表示されている状態に遷移する場合を想定している。また、ウェブページ33の全体がブラウザ画面26に表示されている場合を想定している。図11に示される、点線の枠で示されているウィンドウ302及びウィンドウ303は、コンテクスト300及びコンテクスト301を拡大してブラウザ画面26に表示した際のブラウザ画面26またはディスプレイ17を表している。
【0069】
コンテクスト300は、コンテクスト300に対応するソース34上の要素に基づき、ブラウザ20によってブラウザ画面26に表示される。コンテクスト300が占めるウェブページ33上の領域の左上の角の座標は(x1、y1)で示される。同様に、図示されていないが、コンテクスト300が占めるウェブページ33上の領域の右下の角の座標に基づき、ウィンドウ302のサイズが決定される。このウィンドウ302のサイズに基づき、拡大してコンテクスト300が表示されている時の拡大率が決定される。上述したコンテクスト300の拡大率の決定方法と同様の拡大率の決定方法を用いて、拡大してコンテクスト301を表示する際の拡大率が決定される。
【0070】
なお、カレントコンテクストの検出に関して、複数のコンテクストが拡大されてブラウザ画面26に表示されている場合、その複数のコンテクストの内の何れか1つをカレントコンテクストとして検出してもよい。
【0071】
以上のように、本実施形態によれば、ユーザが閲覧しているページ内の所望のコンテクストを画面に表示させる際、ページのソースに含まれる要素を解析することによって、ユーザは簡単な操作で所望のコンテクストを画面に表示させることができる。さらに、要素に含まれる文字列を解析することによって、所望のコンテクストに対応するソース上の要素を検索できる。なお、要素に含まれる文字列に数字が含まれていた場合、その数字を使用し、所望のコンテクストに対応するソース上の要素を検索できる。さらに、要素に文字列が含まれない場合、ソース上の要素の構成を解析することによって、所望のコンテクストに対応するソース上の要素を検索できる。また、ページをスクロールすることによって、所望のコンテクストが画面の中央部に表示され、さらに所望のコンテクストを拡大して画面に表示されるため、ユーザは複雑な操作をせずに、ユーザが見やすいサイズで及びユーザが見やすい画面上の位置で、所望のコンテクストを画面に表示させることができる。あるいは、所望のコンテクストのサイズに適合するように画面の拡大率を算出することで、所望のコンテクストを画面に拡大及びセンタリングして表示させることができる。また、ユーザからの指示に従い、現在表示されているコンテクストを切り替えることができる。ユーザからの指示は、順序関係を有する指示であり、この指示に従い、所望のコンテクストに対応する要素をソース上から検索できる。さらに、ユーザが発した音声を認識するし、その音声に順序関係を示す内容が含まれていた場合、その音声の内容に従い、所望のコンテクストを画面に表示させることができる。
【0072】
(第2の実施形態)
以下、第2の実施の形態について図面を参照して説明する。なお、第1の実施形態と同様の構成及び機能については説明を省略する。
第1の実施形態では、順序関係を有す複数のコンテクストを順番にブラウザ画面26に表示する際、ブラウザ画面26に拡大(ズーム)またはセンタリングして表示したが、第2の実施形態では、ズームまたはセンタリング以外の方法で、順序関係を有す複数のコンテクストを順番にブラウザ画面26に表示する。
【0073】
図12は、第2の実施形態において、ユーザからの指示に応じて、ユーザが注目するコンテクストが変更された際、ブラウザの画面上でのユーザが注目すべきコンテクストの表示の一例を示している。
【0074】
図12では、ユーザがニュースに関するウェブページを閲覧している場合を想定している。このウェブページは、コンテクスト400を含む。コンテクスト400は、さらにコンテクスト401及びコンテクスト402を含む。コンテクスト401及びコンテクスト402の各々は、例えばニュースのヘッドラインを示している。
【0075】
第2の実施形態で、表示制御プログラム202は、ブラウザ画面26に表示するコンテクストを変更するための音声入力による指示に従い、カレントコンテクストを強調表示する。
【0076】
具体的に、図12を参照して説明する。始めに、表示制御プログラム202は、カレントコンテクストを検出する。例えば、ユーザがブラウザ画面26に表示されている文字列(ページ文字列)を音声で発話することによって、表示制御プログラム202は、そのページ文字列が含まれるコンテクストをカレントコンテクストとして検出してもよい。あるいは、ユーザが、例えば「2行目のニュース」などのコンテクストを特定できる言葉を発することによって、表示制御プログラム202は、そのページ文字列が含まれるコンテクストをカレントコンテクストとして検出してもよい。なお、ユーザによるカレントコンテクストを設定するための指示は、音声に限らず、第1の実施形態で述べたようなリモコン等を使用して行われてもよい。図12では、コンテクスト401がカレントコンテクストとして検出されたことを示している。
【0077】
表示制御プログラム202は、コンテクスト401をブラウザ画面26に強調して表示する。具体的には、例えば図12に示すように、コンテクスト401の外側を囲むような枠をブラウザ画面26に表示することで、カレントコンテクストであるコンテクスト401を強調表示してもよい。さらに、この枠を点滅させて表示させることでさらに強調して表示してもよい。また、強調表示されたカレントコンテクストが、ユーザが所望したコンテクストではなかった場合を想定し、表示制御プログラム202は、ユーザが所望したコンテクストが強調表示されているかどうかを、例えば音声等を使用して、ユーザに確認するための処理を行ってもよい。
【0078】
次に、ユーザが順序関係を有す言葉を発話した場合、表示制御プログラム202はカレントコンテクストと順序関係を示すカレントコンテクストを強調表示する。例えば、ユーザが「次」という言葉を発話した場合、カレントコンテクストであるコンテクスト401の「次」のコンテクストであるコンテクスト402を強調表示する。
【0079】
なお、コンテクスト401及びコンテクスト402の各々に対応するソース34上の要素は、例えば図3で、<li>XXXX……</li>として示されるように、<li>のタグを用いたソース34上の記述の一部であってもよい。
【0080】
以上のように、第2の実施形態によれば、ユーザが注目するコンテクストを変更する際、音声を使用するだけで、コンテクストの強調表示を切り替えることができる。そのため、「次」にユーザが注目すべきコンテクストをユーザがページ33上から探し出す必要がなくなる。
【0081】
(第3の実施形態)
以下、第3の実施の形態について図面を参照して説明する。なお、第1の実施形態及び第2の実施形態と同様の構成及び機能については説明を省略する。
第3の実施形態では、第1の実施形態及び第2の実施形態と異なる方法で、ユーザが注目すべきカレントコンテクストをブラウザ画面26に表示する。第3の実施形態では、コンテクストを変更する前に、カレントコンテクストの「次」に相当するコンテクストがブラウザ画面26に表示されていないような場合を想定している。あるいは、ブラウザ画面26上におけるカレントコンテクストが占めるエリアに、「次」に相当するコンテクストを表示するような場合を想定している。なお、「次」に相当するコンテクストに対応する要素が、カレントコンテクストに対応する要素と同じソース上にある場合を想定している。
【0082】
具体的に、図13を参照して説明する。図13は、動画を含んだウェブページ(以下、動画ページとも称す。)を表示しているブラウザ画面26の一例を示している。動画ページは、コンテクスト500、501、503、504、及び505等から構成される。コンテクスト500の内容は、動画の再生を含んでいる。すなわち、動画ページ上でコンテクスト500が占めるエリアで動画が再生される。また、コンテクスト504及びコンテクスト505は、コンテクスト500で再生する動画の候補となる動画のサムネイル画像等である。
【0083】
図13に示すように、カレントコンテクスト500内に「次」にコンテクスト500で再生する動画リストが表示されていた場合について説明する。この場合、ユーザが「次」と発話することによって、表示制御プログラム202は、コンテクスト504やコンテクスト505等から「次」に相当するコンテクストを選択し、「次」に相当するコンテクストの内容である動画を、コンテクスト500の内容として再生する。
【0084】
さらに、カレントコンテクスト500で動画が再生されている場合を想定する。この場合、ユーザが「次」と発話することによって、「次」の動画を再生するコンテクストに対応した要素を動画ページのソースから探し出し、探し出した「次」の要素の内容に従い、「次」の動画をコンテクスト500の内容として再生する。
【0085】
次に、図14を参照して、動画ページのソースの一例について説明する。動画ページは、図14に示すようなソース600によってブラウザ画面26に表示される。具体的に、例えば、動画movie2がコンテクスト500の内容として再生されている場合、表示制御プログラムは、<li id=“movie2”>………</li>をカレントコンテクストとして検出する。次に、ユーザが「次」と発話することによって、表示制御プログラム202は、<li id=“movie3”> ………</li>を「次」の要素をソース600上から検索する。さらに、表示制御プログラム202は、「次」の要素に含まれる文字列「movie2」を含む要素をソース600上から検索する。図14で、文字列「movie2」を含む要素は、<object id=“movie1”>………id=”movie 2” ………中略………</object>で示される。そして、文字列「movie2」を含む要素に対応したコンテクストの内容として動画movie2が再生される。
【0086】
以上のように、第3の実施形態によれば、順序関係を有すコンテクストの一部がページ上に表示されていない場合や、「次」に表示するコンテクストを同一のページ上の異なる位置に表示させる場合等において、ユーザが視覚的に探し出すことができないようなコンテクストでも、ソース上の順序関係を有す要素を検索することによって、ユーザは「次」と発話するだけで、「次」のコンテクストをブラウザ画面26に表示させることができる。
【0087】
また、図8乃至図10のフローチャートで説明した手順は全てプログラムによって実行することができるので、このプログラムを、このプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0088】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0089】
10…コンピュータ、21…コンテクスト、20…ブラウザ、34…ソース、41…要素、60…順序判定部、64…文書構造解析部、65…音声処理部、66…表示処理部、202…表示制御プログラム。
【特許請求の範囲】
【請求項1】
マークアップ言語で記述されたソースに基づきページを画面上に表示する電子機器であって、
前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する解析処理手段と、
前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する表示制御手段とを具備する電子機器。
【請求項2】
前記解析処理手段は、前記第1の要素を解析することによって前記第1の要素内から数字を含む文字列を見つけ出し、前記見つけ出された文字列に対して後続または先行する内容の文字列を含む前記ソース内の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項3】
前記解析処理手段は、前記第1の要素を解析することによって前記第1の要素内から順序関係を表現可能な文字を見つけ出し、前記見つけ出された文字に対して後続または先行する内容の文字を含む前記ソース内の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項4】
前記解析処理手段は、前記ソースを解析することによって前記第1の要素と同じ階層の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項5】
前記表示制御手段は、前記ページをスクロールすることによって前記第2のコンテクストを前記画面の中央部に表示する請求項1記載の電子機器。
【請求項6】
前記表示制御手段は、前記ページをスクロールすることによって前記第2のコンテクストを前記画面の中央部に移動し、且つ前記第2のコンテクストを拡大する請求項1記載の電子機器。
【請求項7】
前記表示制御手段は、前記第2のコンテクストが前記画面のサイズに適合するサイズに拡大されるように、前記第2のコンテクストのサイズに基づき前記第2のコンテクストに適用する拡大率を算出する請求項6記載の電子機器。
【請求項8】
前記命令は次または前のいずれかの順序を示す順序関係を指定し、
前記解析処理手段は、前記命令によって前記次の順序を示す順序関係が指定された場合、前記第1の要素の内容に後続する内容を含む前記ソース内の別の要素を前記第2の要素として検索し、前記命令によって前記前の順序を示す順序関係が指定された場合、前記第1の要素の内容に先行する内容を含む前記ソース内の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項9】
音声認識処理を実行し、所定の語を含むユーザの音声が認識された場合に前記命令を発行する音声認識手段をさらに具備する請求項1記載の電子機器。
【請求項10】
前記解析処理手段は、前記命令に応答して、前記ソースの解析および前記第2の要素の検索を実行し、
前記表示制御手段は、前記第2の要素が検索されたことに応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する請求項1記載の電子機器。
【請求項11】
前記第1のコンテクストは前記画面に拡大表示されているコンテクストであり、
前記表示制御手段は、前記ページの表示状態を、前記第1のコンテクストが前記画面に拡大表示されている第1表示状態から前記第2のコンテクストが前記画面に拡大表示される第2表示状態に遷移させる請求項1記載の電子機器。
【請求項12】
マークアップ言語で記述されたソースに基づきページを画面上に表示する表示制御方法であって、
前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索し、
前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する表示制御方法。
【請求項13】
コンピュータに、
マークアップ言語で記述されたソースを解析し、前記ソースの解析結果に基づいて、前記ソースに基づき画面上に表示されるページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する手順と、
前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する手順とを実行させるプログラム。
【請求項1】
マークアップ言語で記述されたソースに基づきページを画面上に表示する電子機器であって、
前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する解析処理手段と、
前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する表示制御手段とを具備する電子機器。
【請求項2】
前記解析処理手段は、前記第1の要素を解析することによって前記第1の要素内から数字を含む文字列を見つけ出し、前記見つけ出された文字列に対して後続または先行する内容の文字列を含む前記ソース内の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項3】
前記解析処理手段は、前記第1の要素を解析することによって前記第1の要素内から順序関係を表現可能な文字を見つけ出し、前記見つけ出された文字に対して後続または先行する内容の文字を含む前記ソース内の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項4】
前記解析処理手段は、前記ソースを解析することによって前記第1の要素と同じ階層の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項5】
前記表示制御手段は、前記ページをスクロールすることによって前記第2のコンテクストを前記画面の中央部に表示する請求項1記載の電子機器。
【請求項6】
前記表示制御手段は、前記ページをスクロールすることによって前記第2のコンテクストを前記画面の中央部に移動し、且つ前記第2のコンテクストを拡大する請求項1記載の電子機器。
【請求項7】
前記表示制御手段は、前記第2のコンテクストが前記画面のサイズに適合するサイズに拡大されるように、前記第2のコンテクストのサイズに基づき前記第2のコンテクストに適用する拡大率を算出する請求項6記載の電子機器。
【請求項8】
前記命令は次または前のいずれかの順序を示す順序関係を指定し、
前記解析処理手段は、前記命令によって前記次の順序を示す順序関係が指定された場合、前記第1の要素の内容に後続する内容を含む前記ソース内の別の要素を前記第2の要素として検索し、前記命令によって前記前の順序を示す順序関係が指定された場合、前記第1の要素の内容に先行する内容を含む前記ソース内の別の要素を前記第2の要素として検索する請求項1記載の電子機器。
【請求項9】
音声認識処理を実行し、所定の語を含むユーザの音声が認識された場合に前記命令を発行する音声認識手段をさらに具備する請求項1記載の電子機器。
【請求項10】
前記解析処理手段は、前記命令に応答して、前記ソースの解析および前記第2の要素の検索を実行し、
前記表示制御手段は、前記第2の要素が検索されたことに応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する請求項1記載の電子機器。
【請求項11】
前記第1のコンテクストは前記画面に拡大表示されているコンテクストであり、
前記表示制御手段は、前記ページの表示状態を、前記第1のコンテクストが前記画面に拡大表示されている第1表示状態から前記第2のコンテクストが前記画面に拡大表示される第2表示状態に遷移させる請求項1記載の電子機器。
【請求項12】
マークアップ言語で記述されたソースに基づきページを画面上に表示する表示制御方法であって、
前記ソースを解析し、前記ソースの解析結果に基づいて、前記ページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索し、
前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する表示制御方法。
【請求項13】
コンピュータに、
マークアップ言語で記述されたソースを解析し、前記ソースの解析結果に基づいて、前記ソースに基づき画面上に表示されるページ内の現在選択されている第1のコンテクストに対応する前記ソース内の一部の記述である第1の要素に対して所定の順序関係を有する前記ソース内の第2の要素を検索する手順と、
前記所定の順序関係を指定する命令に応答して、前記第2の要素に対応する前記ページ上の第2のコンテクストが前記画面上に表示されるように前記ページの表示状態を変更する手順とを実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−97535(P2013−97535A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−239106(P2011−239106)
【出願日】平成23年10月31日(2011.10.31)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願日】平成23年10月31日(2011.10.31)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]