(57)【要約】【課題】  ユーザーが操作を入力している間における画像の表示をスムーズにすること。【解決手段】  画像表示装置は、ジェスチャーイベントを決定するジェスチャーイベント決定部８３と、ジェスチャーイベントに従って、対象画像と表示領域とを表示部分として決定する表示部分決定部１５と、表示部分の画像を表示部に表示する表示制御部１７と、レンダリング画像を生成するレンダリング画像生成部１３と、を備え、表示部分決定部１５は、ジェスチャーイベントが決定されることに応じて、複数の位置に表示領域をサイズを変更することなく順に移動させ、レンダリング画像中の複数の位置それぞれにおける表示領域の画像を含むキャプチャー画像を取得するキャプチャー画像取得部２３と、ジェスチャー期間の間、キャプチャー画像を対象画像に決定する対象画像決定部２５と、を含む。【選択図】        図５
2015075955.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示可能な表示手段と、
前記表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、
前記位置検出手段により１以上の位置が検出されることに応じて、前記１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定手段と、
前記決定されたジェスチャーイベントに従って、前記表示手段に表示する対象となる対象画像と、前記対象画像中で前記表示手段に表示する表示領域と、を表示部分として決定する表示部分決定手段と、
前記表示部分決定手段により決定された表示部分の画像を前記表示手段に表示する表示制御手段と、
前記表示部分決定手段により決定された表示領域のサイズに基づいて、前記コンテンツのレンダリング画像のサイズを決定し、前記決定されたサイズのレンダリング画像を生成するレンダリング画像生成手段と、を備え、
前記表示部分決定手段は、前記レンダリング画像を対象画像に決定している状態で、前記ジェスチャーイベント決定手段によりジェスチャーイベントが決定されることに応じて、前記レンダリング画像生成手段により新たなレンダリング画像が生成される前の段階で、前記レンダリング画像中で、前記ジェスチャーイベント決定手段によりジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に前記表示領域をサイズを変更することなく順に移動させ、前記レンダリング画像中の前記複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得するキャプチャー画像取得手段と、
前記ジェスチャーイベント決定手段によって前記ジェスチャーイベントが連続して決定されるジェスチャー期間の間、前記キャプチャー画像を対象画像に決定する対象画像決定手段と、を含む、画像表示装置。
【請求項２】
前記レンダリング画像生成手段は、前記ジェスチャー期間が終了した後は、外部に記憶されたコンテンツと、前記対象画像決定手段により最後に決定された表示領域のサイズとに基づいて、前記コンテンツのレンダリング画像を生成し、
前記表示部分決定手段は、前記レンダリング画像生成手段によって前記ジェスチャー期間が終了した後に生成された前記レンダリング画像を対象画像に決定し、前記レンダリング画像中で前記対象画像決定手段により最後に決定された表示領域に対応する領域を新たな表示領域に決定する終了時決定手段を、さらに含む、請求項１に記載の画像表示装置。
【請求項３】
前記対象画像決定手段は、前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントが所定のジェスチャーイベントの場合、前記取得されたキャプチャー画像の少なくとも一部の表示領域を前記表示部分に決定し、
前記表示部分決定手段は、前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントが前記所定のジェスチャーイベントでない場合、前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントに基づいて、前記レンダリング画像の少なくとも一部の表示領域を前記表示部分に決定する通常期間決定手段を、さらに含む、請求項１または２に記載の画像表示装置。
【請求項４】
前記所定のジェスチャーイベントは、画像を拡大または縮小する処理に対応するジェスチャーイベントである、請求項３に記載の画像表示装置。
【請求項５】
前記所定のジェスチャーイベントは、画像を回転させる処理に対応するジェスチャーイベントである、請求項３または４に記載の画像表示装置。
【請求項６】
前記ジェスチャーイベント決定手段は、前記位置検出手段により検出される１以上の位置の変化を示すパラメータを決定するパラメータ決定手段を含み、
前記表示部分決定手段は、前記対象画像中で前記表示領域を、前記パラメータ決定手段により決定されたパラメータに従って変更する表示領域決定手段を、含む、請求項１〜５のいずれかに記載の画像表示装置。
【請求項７】
前記表示領域のサイズは、前記表示手段の表示面の解像度、前記レンダリング画像の解像度、および表示倍率により定まる、請求項１〜６のいずれかに記載の画像表示装置。
【請求項８】
前記キャプチャー画像は、前記レンダリング画像中で前記表示手段に表示されている表示領域のサイズの整数倍のサイズである、請求項１〜７のいずれかに記載の画像表示装置。
【請求項９】
前記位置検出手段は、前記表示手段の表示面に重畳して配置されたタッチパネルである、請求項１〜８のいずれかに記載の画像表示装置。
【請求項１０】
前記コンテンツは、複数の部分コンテンツを含み、
前記レンダリング画像生成手段は、前記表示領域のサイズに応じて、前記複数の部分コンテンツの一部または全部を含むレンダリング画像を生成する、請求項１〜９のいずれかに記載の画像表示装置。
【請求項１１】
画像を表示可能な表示手段と、
前記表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、を備えた画像表示装置で実行される画像表示方法であって、
前記位置検出手段により１以上の位置が検出されることに応じて、前記１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定ステップと、
前記決定されたジェスチャーイベントに従って、前記表示手段に表示する対象となる対象画像と、前記対象画像中で前記表示手段に表示する表示領域と、を表示部分として決定する表示部分決定ステップと、
前記表示部分決定ステップにおいて決定された表示部分の画像を前記表示手段に表示する表示制御ステップと、
前記表示部分決定ステップにおいて決定された表示領域のサイズに基づいて、前記コンテンツのレンダリング画像のサイズを決定し、前記決定されたサイズのレンダリング画像を生成するレンダリング画像生成ステップと、を含み、
前記表示部分決定ステップは、前記レンダリング画像を対象画像に決定している状態で、前記ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定されることに応じて、前記レンダリング画像生成ステップにおいて新たなレンダリング画像が生成される前の段階で、前記レンダリング画像中で、前記ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に前記表示領域をサイズを変更することなく順に移動させ、前記レンダリング画像中の前記複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得するキャプチャー画像取得ステップと、
前記ジェスチャーイベント決定ステップにおいて前記ジェスチャーイベントが連続して決定されるジェスチャー期間の間、前記キャプチャー画像を対象画像に決定する対象画像決定ステップと、を含む、画像表示方法。
【請求項１２】
画像を表示可能な表示手段と、
前記表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、を備えた画像表示装置を制御するコンピューターで実行される画像表示プログラムであって、
前記位置検出手段により１以上の位置が検出されることに応じて、前記１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定ステップと、
前記決定されたジェスチャーイベントに従って、前記表示手段に表示する対象となる対象画像と、前記対象画像中で前記表示手段に表示する表示領域と、を表示部分として決定する表示部分決定ステップと、
前記表示部分決定ステップにおいて決定された表示部分の画像を前記表示手段に表示する表示制御ステップと、
前記表示部分決定ステップにおいて決定された表示領域のサイズに基づいて、前記コンテンツのレンダリング画像のサイズを決定し、前記決定されたサイズのレンダリング画像を生成するレンダリング画像生成ステップと、を前記コンピューターに実行させ、
前記表示部分決定ステップは、前記レンダリング画像を対象画像に決定している状態で、前記ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定されることに応じて、前記レンダリング画像生成ステップにおいて新たなレンダリング画像が生成される前の段階で、前記レンダリング画像中で、前記ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に前記表示領域をサイズを変更することなく順に移動させ、前記レンダリング画像中の前記複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得するキャプチャー画像取得ステップと、
前記ジェスチャーイベント決定ステップにおいて前記ジェスチャーイベントが連続して決定されるジェスチャー期間の間、前記キャプチャー画像を対象画像に決定する対象画像決定ステップと、を含む、画像表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ処理装置、コンテンツ表示方法およびブラウジングプログラムに関し、特に、タッチパネルを備えた画像表示装置、その画像表示装置で実行される画像表示方法および画像表示プログラムに関する。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）は、ブラウジングプログラムをインストール可能であり、ＷｅｂサーバーからダウンロードしたＷｅｂページを表示することができる。また、ＭＦＰは、ユーザーインターフェースとして、ユーザーが指示した複数の位置を検出するマルチタッチ方式のタッチパネルを備えた装置がある。マルチタッチ方式のタッチパネルをもちいることによって、２本の指で同時に指示するによって、画像を拡大または縮小する操作をすることができる。
【０００３】
一方、画面のサイズによって、表示内容を異ならせるコンテンツを表示する技術が知られている。例えば、特開２０１２−７９１８８号公報には、ウェブページの表示体裁を制御するＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）など体裁情報について原型を用意し、そのうち表示サイズのタグなど必要な部分を、端末に対応した表示の仕様情報（表示領域の位置、サイズ、対応動画種別など）を基に編集することにより体裁情報を作成する技術が記載されている。
【０００４】
この技術を用いて、ウェブページを表示している最中に、表示倍率を変更する場合、表示する倍率が変動するごとに、変動後のサイズに対応した体裁情報を作成し、ウェブページの画像を生成しなければならない。このため、ユーザーが表示倍率を変更する操作をしている最中に、ＭＦＰにおいてウェブページの画像を生成する処理を実行するための負荷が増加し、画像の表示がスムーズにできなくなる場合があるといった問題がある。
【特許文献１】特開２０１２−７９１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、ユーザーが操作を入力している間における画像の表示をスムーズにすることが可能な画像表示装置を提供することである。
【０００６】
この発明の他の目的は、ユーザーが操作を入力している間における画像の表示をスムーズにすることが可能な画像表示方法を提供することである。
【０００７】
この発明のさらに他の目的は、ユーザーが操作を入力している間における画像の表示をスムーズにすることが可能な画像表示プログラムを提供することである。
【課題を解決するための手段】
【０００８】
上述した目的を達成するためにこの発明のある局面によれば、画像表示装置は、画像を表示可能な表示手段と、表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、位置検出手段により１以上の位置が検出されることに応じて、１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定手段と、決定されたジェスチャーイベントに従って、表示手段に表示する対象となる対象画像と、対象画像中で表示手段に表示する表示領域と、を表示部分として決定する表示部分決定手段と、表示部分決定手段により決定された表示部分の画像を表示手段に表示する表示制御手段と、表示部分決定手段により決定された表示領域のサイズに基づいて、コンテンツのレンダリング画像のサイズを決定し、決定されたサイズのレンダリング画像を生成するレンダリング画像生成手段と、を備え、表示部分決定手段は、レンダリング画像を対象画像に決定している状態で、ジェスチャーイベント決定手段によりジェスチャーイベントが決定されることに応じて、レンダリング画像生成手段により新たなレンダリング画像が生成される前の段階で、レンダリング画像中で、ジェスチャーイベント決定手段によりジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に表示領域をサイズを変更することなく順に移動させ、レンダリング画像中の複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得するキャプチャー画像取得手段と、ジェスチャーイベント決定手段によってジェスチャーイベントが連続して決定されるジェスチャー期間の間、キャプチャー画像を対象画像に決定する対象画像決定手段と、を含む。
【０００９】
この局面に従えば、ユーザーにより指示される１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定し、ジェスチャーイベントに従って、対象画像と表示領域とを表示部分として決定し、表示部分の画像を表示し、表示領域のサイズに基づいて、コンテンツのレンダリング画像のサイズを決定し、決定されたサイズのレンダリング画像を生成する。レンダリング画像を対象画像に決定している状態で、ジェスチャーイベントが決定されることに応じて、新たなレンダリング画像が生成される前の段階で、レンダリング画像中で、ジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に表示領域をサイズを変更することなく順に移動させ、レンダリング画像中の複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得し、ジェスチャー期間の間は、キャプチャー画像を対象画像に決定する。このため、ジェスチャー期間の間は、キャプチャー画像を対象画像に決定するので、新たなレンダリング画像を生成しないようにして、レンダリング画像を生成するための負荷を低減することができる。その結果、ユーザーが操作を入力している間における画像の表示をスムーズにすることが可能な画像表示装置を提供することができる。
【００１０】
好ましくは、レンダリング画像生成手段は、ジェスチャー期間が終了した後は、外部に記憶されたコンテンツと、対象画像決定手段により最後に決定された表示領域のサイズとに基づいて、コンテンツのレンダリング画像を生成し、表示部分決定手段は、レンダリング画像生成手段によってジェスチャー期間が終了した後に生成されたレンダリング画像を対象画像に決定し、レンダリング画像中で対象画像決定手段により最後に決定された表示領域に対応する領域を新たな表示領域に決定する終了時決定手段を、さらに含む。
【００１１】
この局面に従えば、ジェスチャー期間が終了した後は、外部に記憶されたコンテンツと、最後に決定された表示領域のサイズとに基づいて、コンテンツのレンダリング画像を生成し、生成されたレンダリング画像中で、最後に決定された表示領域の画像が表示される。
【００１２】
好ましくは、対象画像決定手段は、ジェスチャーイベント決定手段により決定されたジェスチャーイベントが所定のジェスチャーイベントの場合、取得されたキャプチャー画像の少なくとも一部の表示領域を表示部分に決定し、表示部分決定手段は、ジェスチャーイベント決定手段により決定されたジェスチャーイベントが所定のジェスチャーイベントでない場合、ジェスチャーイベント決定手段により決定されたジェスチャーイベントに基づいて、レンダリング画像の少なくとも一部の表示領域を表示部分に決定する通常期間決定手段を、さらに含む。
【００１３】
この局面に従えば、ジェスチャーイベントが所定のジェスチャーイベントの場合、キャプチャー画像の少なくとも一部の表示領域を表示し、ジェスチャーイベントが所定のジェスチャーイベントでない場合、レンダリング画像の少なくとも一部の表示領域を表示する。このため、新たなレンダリング画像が生成される場合のあるジェスチャーイベントが決定される場合に限って、キャプチャー画像を生成するようにし、新たなレンダリング画像が生成されることのないジェスチャーイベントが決定される場合は、キャプチャー画像を生成しないようにすることができ、キャプチャー画像を生成するための負荷を低減することができる。
【００１４】
好ましくは、所定のジェスチャーイベントは、画像を拡大または縮小する処理に対応するジェスチャーイベントである。
【００１５】
好ましくは、所定のジェスチャーイベントは、画像を回転させる処理に対応するジェスチャーイベントである。
【００１６】
好ましくは、ジェスチャーイベント決定手段は、位置検出手段により検出される１以上の位置の変化を示すパラメータを決定するパラメータ決定手段を含み、表示部分決定手段は、対象画像中で表示領域を、パラメータ決定手段により決定されたパラメータに従って変更する表示領域決定手段を、含む。
【００１７】
好ましくは、表示領域のサイズは、表示手段の表示面の解像度、レンダリング画像の解像度、および表示倍率により定まる。
【００１８】
好ましくは、キャプチャー画像は、レンダリング画像中で表示手段に表示されている表示領域のサイズの整数倍のサイズである。
【００１９】
このため、表示領域をサイズを変更することなくレンダリング画像中で移動させることによってキャプチャー画像を取得することができる。
【００２０】
好ましくは、位置検出手段は、表示手段の表示面に重畳して配置されたタッチパネルである。
【００２１】
好ましくは、コンテンツは、複数の部分コンテンツを含み、レンダリング画像生成手段は、表示領域のサイズに応じて、複数の部分コンテンツの一部または全部を含むレンダリング画像を生成する。
【００２２】
この局面に従えば、表示領域のサイズに応じてレンダリング画像に含まれる部分コンテンツが異なる場合であっても、レンダリング画像中の表示領域の画像をスムーズに表示することができる。
【００２３】
この発明の他の局面に従えば、画像表示方法は、画像を表示可能な表示手段と、表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、を備えた画像表示装置で実行される画像表示方法であって、位置検出手段により１以上の位置が検出されることに応じて、１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定ステップと、決定されたジェスチャーイベントに従って、表示手段に表示する対象となる対象画像と、対象画像中で表示手段に表示する表示領域と、を表示部分として決定する表示部分決定ステップと、表示部分決定ステップにおいて決定された表示部分の画像を表示手段に表示する表示制御ステップと、表示部分決定ステップにおいて決定された表示領域のサイズに基づいて、コンテンツのレンダリング画像のサイズを決定し、決定されたサイズのレンダリング画像を生成するレンダリング画像生成ステップと、を含み、表示部分決定ステップは、レンダリング画像を対象画像に決定している状態で、ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定されることに応じて、レンダリング画像生成ステップにおいて新たなレンダリング画像が生成される前の段階で、レンダリング画像中で、ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に表示領域をサイズを変更することなく順に移動させ、レンダリング画像中の複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得するキャプチャー画像取得ステップと、ジェスチャーイベント決定ステップにおいてジェスチャーイベントが連続して決定されるジェスチャー期間の間、キャプチャー画像を対象画像に決定する対象画像決定ステップと、を含む。
【００２４】
この局面に従えば、ユーザーが操作を入力している間における画像の表示をスムーズにすることが可能な画像表示方法を提供することができる。
【００２５】
この発明のさらに他の局面によれば、画像表示プログラムは、画像を表示可能な表示手段と、表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、を備えた画像表示装置を制御するコンピューターで実行される画像表示プログラムであって、位置検出手段により１以上の位置が検出されることに応じて、１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定ステップと、決定されたジェスチャーイベントに従って、表示手段に表示する対象となる対象画像と、対象画像中で表示手段に表示する表示領域と、を表示部分として決定する表示部分決定ステップと、表示部分決定ステップにおいて決定された表示部分の画像を表示手段に表示する表示制御ステップと、表示部分決定ステップにおいて決定された表示領域のサイズに基づいて、コンテンツのレンダリング画像のサイズを決定し、決定されたサイズのレンダリング画像を生成するレンダリング画像生成ステップと、をコンピューターに実行させ、表示部分決定ステップは、レンダリング画像を対象画像に決定している状態で、ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定されることに応じて、レンダリング画像生成ステップにおいて新たなレンダリング画像が生成される前の段階で、レンダリング画像中で、ジェスチャーイベント決定ステップにおいてジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に表示領域をサイズを変更することなく順に移動させ、レンダリング画像中の複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得するキャプチャー画像取得ステップと、ジェスチャーイベント決定ステップにおいてジェスチャーイベントが連続して決定されるジェスチャー期間の間、キャプチャー画像を対象画像に決定する対象画像決定ステップと、を含む。
【００２６】
この局面に従えば、ユーザーが操作を入力している間における画像の表示をスムーズにすることが可能な画像表示プログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。
【図２】操作パネルの一例を示す平面図である。
【図３】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図４】ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。
【図５】ＭＦＰが備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示すブロック図である。
【図６】マスターテーブルの一例を示す図である。
【図７】表示領域とキャプチャー画像との関係を説明する第１の図である。
【図８】表示領域とキャプチャー画像との関係を説明する第２の図である。
【図９】第１の位置にスクロールした後の表示領域を示す図である。
【図１０】第２の位置にできるだけ近い位置にスクロールした後の表示領域を示す図である。
【図１１】第３の位置にできるだけ近い位置にスクロールした後の表示領域を示す図である。
【図１２】第４の位置にできるだけ近い位置にスクロールした後の表示領域を示す図である。
【図１３】キャプチャー画像の一例を示す図である。
【図１４】ジェスチャーイベント決定処理の流れの一例を示すフローチャートである。
【図１５】画像表示処理の流れの一例を示すフローチャートである。
【図１６】Ｗｅｂページの第１のレンダリング画像の一例を示す図である。
【図１７】Ｗｅｂページの第２のレンダリング画像の一例を示す図である。
【図１８】Ｗｅｂページの第３のレンダリング画像の一例を示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２９】
図１は、本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。図２は、操作パネルの一例を示す平面図である。図１および図２を参照して、画像表示装置として機能するＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００は、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００３０】
操作パネル１６０は、ＭＦＰ１００の上面に設けられる。操作パネル１６０は、表示部１６１と、タッチパネル１６５と、ハードキー部１６７とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。ハードキー部１６７は、「ＢＯＸ」、「ＦＡＸ」、「ＣＯＰＹ」、「ＥＣＯ」の文字がそれぞれ表された４つのハードキー１６７Ａ〜１６７Ｄを含む。タッチパネル１６５は、表示部１６１の上面または下面に表示部１６１に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１６１の表示面中でユーザーにより指示された位置を検出する。ユーザーがタッチパネル１６５を指示する操作は、タッチパネル１６５を、同時に複数個所を指で指示するマルチタッチ操作と、一度に１つの個所を指で指示するシングルタッチ操作と、を含む。
【００３１】
自動原稿搬送装置１２０は、原稿給紙トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。
【００３２】
画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成する。
【００３３】
図３は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン回路１１０を含む。メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００３４】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取画像を一時的に記憶する。
【００３５】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶するか、または、画像形成部１４０でプリント可能なプリントデータに変換して、画像形成部１４０に出力する。これにより、画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部１１６は、原稿読取部１３０によって読み取られたデータ、またはＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００３６】
通信Ｉ／Ｆ部１１２は、ネットワークにＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１１２は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信Ｉ／Ｆ部１１２が接続されるネットワークは、例えば、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワークは、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワーク等であってもよい。さらに、ネットワークは、インターネットに接続されている。このため、ＭＦＰ１００は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
【００３７】
外部記憶装置１１７は、ＣＰＵ１１１により制御され、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１８、または半導体メモリーが装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８または半導体メモリーにアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装表されたＣＤ−ＲＯＭ１１８または半導体メモリーに記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、通信Ｉ／Ｆ部１１２に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３８】
なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリーであってもよい。
【００３９】
操作パネル１６０は、表示部１６１と操作部１６３とを含む。表示部１６１は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、複数のキーからなるハードキー部１６７と、を含む。ハードキー部１６７が含む複数のキーそれぞれは、接点スイッチを含み、ＣＰＵ１１１に接続される。ハードキーは、操作ユーザーにより押下されると接点を閉じて、ＣＰＵ１１１に接続される回路を閉じる。ハードキーは、ＭＦＰ１００を操作する操作ユーザーにより押下されている間は回路を閉じ、操作ユーザーにより押下されていない間は回路を開く。
【００４０】
操作部１６３は、ハードキー部１６７が有する複数のキーが押下されると、押下されたキーに対応する指示、文字、数字などのデータの入力を受け付ける。タッチパネル１６５は、表示部１６１の上面または下面に設けられ、操作ユーザーにより指示された位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、マルチタッチ対応のタッチパネルであり、ユーザーがマルチタッチ操作を入力する場合、ユーザーにより同時に指示された複数の位置にそれぞれ対応する複数の座標をＣＰＵ１１１に出力する。また、タッチパネル１６５は、ユーザーがシングルタッチ操作を入力する場合に、ユーザーにより指示された単一の位置に対応する座標をＣＰＵ１１１に出力する。
【００４１】
タッチパネル１６５は、表示部１６１の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル１６５は、表示部１６１に重畳して設けられるので、タッチパネル１６５は、操作ユーザーが表示部１６１の表示面を指示すれば、表示部１６１の表示面中で操作ユーザーが指示した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、マルチタッチに対応している方式であればよく、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。
【００４２】
操作部１６３が受け付け可能な操作は、ハードキー部１６７が有する複数のキーを押下する操作、タッチパネル１６５を指示するシングルタッチ操作およびマルチタッチ操作を含む。さらに、ハードキー部１６７は、「ＢＯＸ」、「ＦＡＸ」、「ＣＯＰＹ」、「ＥＣＯ」の文字がそれぞれ表された４つのハードキー１６７Ａ〜１６７Ｄを含む。「ＢＯＸ」、「ＦＡＸ」、「ＣＯＰＹ」の文字がそれぞれ表された３つのハードキー１６７Ａ，１６７Ｂ，１６７Ｃは、ＭＦＰ１００に実行させる処理の切り換えを指示するための処理切換操作が割り当てられた処理切換キーである。「ＥＣＯ」の文字が表されたハードキー１６７Ｄは、ＭＦＰ１００を、通常モードから通常モードよりも消費電力の低い省電力モードへの切換を指示するためのモード切換操作が割り当てられたモード切換キーである。操作部１６３は、ハードキー１６７Ａ，１６７Ｂ，１６７Ｃのいずれかが押下される場合、処理切換操作を受け付け、ハードキー１６７Ｄが押下される場合、モード切換操作を受け付ける。
【００４３】
図４は、ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。図４を参照して、ＣＰＵ１１１には、オペレーティングシステム（ＯＳ）層が形成され、その上の階層に、ＭＦＰプロセス層が形成される。ＭＦＰプロセス層の上層に、アプリケーションプラットフォーム（ＰＦ）層、アプリケーション層の順に形成される。
【００４４】
ＯＳ層は、ＣＰＵ１１１がＯＳプログラムを実行するタスクが属する。ＯＳ層に属するタスクは、ＭＦＰ１００のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、通信Ｉ／Ｆ部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ＨＤＤ１１５、ファクシミリ部１１６、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、操作パネル１６０を含む。ＯＳ層に属するタスクは、ＭＦＰプロセス層から入力されるオペレーティングコマンドに従って、ハードウェア資源を制御する。また、ＯＳ層は、ＭＦＰプロセス層との間で、ハードウェア資源の１つである操作部１６３が受け付け可能な複数種類の操作それぞれを識別するための操作識別情報を共有しており、ＯＳ層に属するタスクは、操作部１６３によって操作ユーザーによる操作が検出されることに応じて、検出された操作を示す操作識別情報をＭＦＰプロセス層に出力する。
【００４５】
アプリケーション層は、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがＭＦＰ１００にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。
【００４６】
アプリケーションプログラムを実行するタスクは、アプリケーションプログラムによって定められた複数種類の処理を実行する。複数種類の処理は、ＭＦＰプロセス層において実行される処理をＭＦＰプロセス層に属するタスクに実行させる処理を含む。アプリケーションプログラムを実行するタスクは、ＭＦＰプロセス層に属するタスクに処理を実行させる場合、アプリコマンドを出力する。アプリコマンドは、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）として、公開されたコマンドである。このため、ＭＦＰ１００に処理を実行させるアプリケーションプログラムを容易に作成することができる。公開とは、ＭＦＰ１００を製造するメーカー以外の第三者が使用可能な状態をいう。このため、第三者は、アプリコマンドを用いてＭＦＰ１００にインストール可能なアプリケーションプログラムを開発することができる。
【００４７】
さらに、アプリケーションプログラムを実行するタスクは、ＭＦＰ１００を操作する操作ユーザーが入力する操作に基づいて、アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。ＭＦＰ１００を操作する操作ユーザーが入力する操作は、操作ユーザーが操作部１６３を操作して入力することにより、ＯＳ層において受け付けられる。
【００４８】
アプリケーションＰＦ層は、アプリケーション層とＭＦＰプロセス層との間に配置され、アプリケーション層に属する複数のタスクを調停するとともに、アプリケーション層に属する複数のタスクが出力するアプリコマンドを制御するタスクが属する。具体的には、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクそれぞれが出力するアプリコマンドを受け付け、受け付けられたアプリコマンドを、予め定められた規則に従って内部コマンドに変換することにより標準化し、内部コマンドをＭＦＰプロセス層に出力する。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。また、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクのいずれか１つをカレント状態に決定する。そして、ＯＳ層において受け付けられ、ＭＦＰプロセス層に属するタスクから入力される操作を、アプリケーション層に属する複数のタスクのうちカレント状態に決定したカレントタスクに出力する。
【００４９】
ＯＳ層において受け付けられるユーザーが入力する操作は、１本の指でタッチパネル１６５を指示するシングルタッチ操作と、２本以上の指で同時にタッチパネル１６５を指示するマルチタッチ操作とを含む。シングルタッチ操作およびマルチタッチ操作は、それぞれマウスイベントとしてオペレーティングシステムによって検出され、アプリケーションＰＦ層からアプリケーション層に属する複数のタスクのうちカレントタスクに入力される。また、１以上のマウスイベントは、ＭＦＰプロセス層においてジェスチャーイベントに変換され、アプリケーションＰＦ層からアプリケーション層に属する複数のタスクのうちカレントタスクに入力される。このため、アプリケーション層は、ＭＦＰプロセス層との間で、アプリケーションプログラムにより受け付け可能な１以上のジェスチャーイベントを共有しており、アプリケーションプログラムを実行するタスクは、アプリケーションＰＦ層に属するタスクからアプリケーションプログラムにより受け付け可能な１以上のジェスチャーイベントが入力される。アプリケーションプログラムを実行するタスクは、複数種類の処理のうちジェスチャーイベントに対応する処理を実行する。
【００５０】
アプリコマンドと内部コマンドとは予め対応付けられている。例えば、アプリコマンドと内部コマンドとを対応付けたコマンド対応テーブルを記憶しておくようにすればよい。アプリコマンドと内部コマンドとは、１対１に対応してもよいし、１つのアプリコマンドに２以上の内部コマンドの組が対応していてもよい。さらに、バージョンの異なる複数のアプリコマンドに対して、１つの内部コマンド、または複数の内部コマンドからなる１組が対応していてもよい。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。内部コマンドは、ＭＦＰ１００のハードウェア資源に依存するコマンドである。内部コマンドは、通常は、公開されていないが、公開されていてもよい。
【００５１】
ＭＦＰプロセス層は、アプリケーションＰＦ層とＯＳ層との間に配置され、ＣＰＵ１１１がＭＦＰプロセスプログラムを実行するタスクが属する。ＭＦＰプロセス層は、アプリケーションＰＦ層に属するタスクが出力する内部コマンドを、ＯＳ層に属するタスクが解釈可能なオペレーティングコマンドに変換し、ハードウェア資源を制御するためにオペレーティングコマンドをＯＳ層に属するタスクに出力する。なお、実際には、内部コマンドを、ＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドに変換する場合があるが、ここでは説明のために、内部コマンドとＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドとの関係は１対１として、説明する。
【００５２】
アプリケーションプログラムは、ＭＦＰ１００に、ブラウジング処理、コピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送信処理等を実行させるためのアプリケーションプログラムであるが、以下の説明では、アプリケーションプログラムがＣＰＵ１１１に実行させる処理のうちで、操作パネル１６０を制御する処理に関連する部分を主に説明する。
【００５３】
図５は、ＭＦＰが備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示すブロック図である。図５に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたプログラムを実行することにより、ＣＰＵ１１１により実現される機能である。具体的には、ＣＰＵ１１１が、ＯＳプログラム、ＭＦＰプロセスプログラム、操作受付プログラム、およびアプリケーションプログラムを実行することにより、ＣＰＵ１１１により実現される。ここでは、ＭＦＰ１００に、アプリケーションプログラムとして、ブラウジングプログラムがインストールされている場合におけるＣＰＵ１１１の機能を示している。
【００５４】
図５を参照して、ＣＰＵ１１１は、アプリケーション部５１と、調停部５３と、操作変換部５５と、オペレーティング部５７と、を含む。アプリケーション部５１は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーション層に属し、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクである。ここでは、アプリケーション部５１は、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクとしている。
【００５５】
調停部５３および操作変換部５５は、ＣＰＵ１１１が操作受付プログラムを実行するタスクによって実現される機能である。調停部５３は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーションＰＦ層に属する。操作変換部５５は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーションＰＦ層に属する。なお、操作変換部５５が有する機能のすべてをアプリケーションＰＦ層の機能としたが、操作変換部５５が有する機能の少なくとも一部をアプリケーションＰＦ層の機能とし、他の部分をＭＦＰプロセス層の機能としてもよい。
【００５６】
調停部５３は、ＣＰＵ１１１が複数のアプリケーションプログラムを実行する場合、ＣＰＵ１１１が複数のアプリケーションプログラムをそれぞれ実行する複数のタスクのうちいずれか１つをカレント状態に決定する。以下、調停部５３が、カレント状態に決定しているタスクをカレントタスクという。本実施の形態においては、ＣＰＵ１１１が１つのブラウジングプログラムを実行する場合を示し、そのタスクをアプリケーション部５１としているので、アプリケーション部５１をカレント状態に決定する。
【００５７】
調停部５３は、アプリケーション部５１が出力するアプリコマンドが入力され、アプリコマンドを出力したタスクを識別するためのアプリ識別情報とアプリコマンドとを操作変換部５５に出力する。
【００５８】
調停部５３は、アプリケーション部５１から複数のアプリコマンドが出力される場合、それらの順番を決定し、順に操作変換部５５に出力する。例えば、複数のアプリコマンドを同時に実行できない場合に、一方のアプリコマンドの操作変換部５５による実行が終了するのを待って他方のアプリコマンドを操作変換部５５に出力する。また、一方のアプリコマンドを実行した後でなければ、他方のアプリコマンドを実行できない場合には、他方のアプリコマンドが一方のアプリコマンドより先に入力される場合であっても、一方のアプリコマンドを先に出力する。
【００５９】
操作変換部５５は、調停部５３からアプリコマンドが入力され、アプリコマンドをコマンド対応テーブルに従って内部コマンドに変換することにより標準化する。コマンド対応テーブルは、１つのアプリコマンドに１以上の内部コマンドを対応付ける。コマンド対応テーブルに含まれるアプリコマンドは、バージョンの異なる同種類のアプリコマンドを含む場合があり、この場合、異なるバージョンのアプリコマンドそれぞれを１以上の内部コマンドに対応付ける。このため、異なるバージョンのアプリコマンドを記述したアプリケーションプログラムをインストールすることを可能としている。コマンド対応テーブルは、新しいアプリコマンドが登場する場合に、新たに登場したアプリコマンドに１以上の内部コマンドを対応付けたコマンド対応テーブルで更新される。このため、新しいアプリコマンドを記述したアプリケーションプログラムをインストールすることができる。
【００６０】
さらに、操作変換部５５は、標準化された内部コマンドを、オペレーティングコマンドに変換し、オペレーティングコマンドをオペレーティング部５７に出力する。オペレーティングコマンドは、操作変換部５５とオペレーティング部５７との間で予め定められた、オペレーティング部５７が解釈可能なコマンドである。
【００６１】
オペレーティング部５７は、ＣＰＵ１１１がＯＳプログラムを実行するタスクによって実行される機能である。オペレーティング部５７は、図４に示したソフトウェアアーキテクチャにおいて、ＯＳ層に属する。
【００６２】
オペレーティング部５７は、操作変換部５５が出力するオペレーティングコマンドが入力され、オペレーティングコマンドに従って、ハードウェア資源を制御する。ハードウェア資源として、ここでは、表示部１６１、操作部１６３のタッチパネル１６５およびＨＤＤ１１５を例に説明する。オペレーティング部５７は、表示部１６１を制御して、表示部１６１に画像を表示させる。また、オペレーティング部５７は、ＨＤＤ１１５を制御して、ＨＤＤ１１５にデータを記憶させ、また、ＨＤＤ１１５に記憶されたデータを読み出す。さらに、オペレーティング部５７は、所定時間間隔でタッチパネル１６５にユーザーにより指示された位置を検出させ、タッチパネル１６５から所定時間間隔で位置情報を取得する。
【００６３】
タッチパネル１６５は、操作ユーザーが表示部１６１の表示面を指示すれば、操作ユーザーにより指示された位置を検出し、表示部１６１の表示面の位置を示す位置情報をＣＰＵ１１１に出力する。オペレーティング部５７は、タッチパネル１６５から位置情報が入力される場合、位置情報を操作変換部５５に出力する。オペレーティング部５７は、タッチパネル１６５から一度に２以上の位置情報が入力される場合がある。例えば、操作ユーザーが、表示部１６１の表示面の異なる２つの部分を、２つの指で一度に指示する場合、指示された表示面の２つの位置をそれぞれ示す２つの位置情報を受け付ける。オペレーティング部５７は、タッチパネル１６５から一度に２以上の位置情報を受け付ける場合、２以上の位置情報を、操作変換部５５に出力する。
【００６４】
操作変換部５５は、関連付部８１と、ジェスチャーイベント決定部８３と、マウスイベント生成部８５と、表示部制御部８７と、を含む。関連付部８１は、アプリケーションプログラムがインストールされる段階で、アプリケーションプログラムが定める複数種類の処理それぞれを、複数のジェスチャーイベントのいずれかと関連付ける。ここでは、アプリケーション部５１を、ＣＰＵ１１１がブラウジングプログラムを実行するタスクとしているので、そのブラウジングプログラムがインストールされる場合を例に説明する。具体的には、関連付部８１は、ブラウジングプログラムが定める複数種類の処理の処理識別情報それぞれに、ブラウジングプログラムが受け付け可能なジェスチャーイベントを関連付けたマスターテーブルを生成し、ＨＤＤ１１５に記憶する。
【００６５】
図６は、マスターテーブルの一例を示す図である。図６を参照して、マスターテーブル９１は、複数の処理識別情報ごとにマスターレコードを含む。マスターレコードは、処理の項目と、ジェスチャーの項目と、を含む。処理の項目には、処理識別情報が設定され、ジェスチャーの項目には、ジェスチャーイベントを識別するためのジェスチャー識別情報が設定される。
【００６６】
例えば、処理の項目に処理識別情報「ページ送り」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「スワイプ」が設定される。処理識別情報「ページ送り」で特定される処理は、画面を次のページの画面に変更して表示させる処理である。ジェスチャー識別情報「スワイプ」で特定されるジェスチャーイベントは、タッチパネル１６５を指示しながら、上下左右のいずれかに指を所定の速さより速い速さで移動させるユーザーの操作に対応する。指を所定の速さより速い速さで移動させる操作は、指を移動させる方向が定まるため、ジェスチャー識別情報「スワイプ」で特定されるジェスチャーイベントは、指を移動させる方向をパラメータに含む。
【００６７】
処理の項目に処理識別情報「拡大」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ピンチアウト」が設定される。処理識別情報「拡大」で特定される処理は、画面を拡大して表示させる処理である。ジェスチャー識別情報「ピンチアウト」で特定されるジェスチャーイベントは、タッチパネル１６５の２箇所を指示しながら、指示した２個所の少なくとも一方を、２箇所の間隔が長くなるように移動させる操作に対応する。２箇所の間隔が長くなるように移動させる操作は、２箇所の間隔が変化するため、ジェスチャー識別情報「ピンチアウト」で特定されるジェスチャーイベントは、２箇所の間隔の変化の割合を示す倍率をパラメータに含む。
【００６８】
処理の項目に処理識別情報「縮小」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ピンチイン」が設定される。処理識別情報「縮小」で特定される処理は、画面を縮小して表示させる処理である。ジェスチャー識別情報「ピンチイン」で特定されるジェスチャーイベントは、タッチパネル１６５の２箇所を指示しながら、指示した２個所の少なくとも一方を、２箇所の間隔が短くなるように移動させる操作に対応する。２箇所の間隔が短くなるように移動させる操作は、２箇所の間隔が変化するため、ジェスチャー識別情報「ピンチイン」で特定されるジェスチャーイベントは、２箇所の間隔の変化の割合を示す倍率をパラメータに含む。
【００６９】
処理の項目に処理識別情報「回転」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ローテーション」が設定される。処理識別情報「回転」で特定される処理は、画面を回転して画面の方向を変更する処理である。ジェスチャー識別情報「ローテーション」で特定されるジェスチャーイベントは、タッチパネル１６５の２箇所を指示しながら、指示した２個所の少なくとも一方を、２箇所を結ぶ直線の向きが変更されるように移動させる操作が入力される場合に検出される。例えば、２箇所の一方を中心に他方で円弧を描く操作である。円弧を描く方向が時計回りと反時計回りとがあるため、ジェスチャー識別情報「ローテーション」で特定されるジェスチャーイベントは、時計回りと反時計回りのいずれかの方向をパラメータに含む。
【００７０】
処理の項目に処理識別情報「スクロール」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「フリック」が設定される。処理識別情報「スクロール」で特定される処理は、画面を上下左右にスクロールさせる処理である。ジェスチャー識別情報「フリック」で特定されるジェスチャーイベントは、タッチパネル１６５を指示しながら、上下左右のいずれかに指をスワイプのジェスチャーイベントの操作におけるしきい値より遅い速さで移動させる操作に対応する。指をしきい値より遅い速さで移動させる操作は、指を移動させる方向が定まるため、ジェスチャー識別情報「フリック」で特定されるジェスチャーイベントは、指を移動させる方向をパラメータに含む。
【００７１】
処理の項目に処理識別情報「コンテンツ選択」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ダブルタップ」が設定される。処理識別情報「コンテンツ選択」で特定される処理は、コンテンツを選択する処理である。
【００７２】
図５に戻って、表示部制御部８７は、アプリケーション部５１から入力されるアプリコマンドを、表示部１６１に画像を表示させるためのオペレーティングコマンドに変換し、オペレーティング部５７に出力する。これにより、アプリケーション部５１によって生成されたレンダリング画像またはキャプチャー画像が、表示部１６１が備えるＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）に記憶され、表示部１６１にレンダリング画像またはキャプチャー画像の少なくとも一部の表示部分の画像が表示される。これについての詳細は後述する。
【００７３】
マウスイベント生成部８５は、オペレーティング部５７から位置情報が入力される。オペレーティング部５７は、タッチパネル１６５から位置情報を受け付ける場合、位置情報を、マウスイベント生成部８５に出力する。マウスイベント生成部８５は、オペレーティング部５７から位置情報が入力されることに応じてマウスイベントを生成する。換言すれば、マウスイベント生成部８５は、ユーザーがタッチパネル１６５にタッチする場合にマウスイベントを生成する。なお、ここでの、マウスイベントはタッチイベントともいう。さらに、マウスイベント生成部８５は、マウスイベントを生成するごとに、生成されたマウスイベントをジェスチャーイベント決定部８３に出力する。マウスイベント生成部８５は、オペレーティング部５７から一度に複数の位置情報が入力される場合、複数の位置情報それぞれに対応する複数のマウスイベントを生成する。マウスイベント生成部８５は、１以上のマウスイベントを生成する場合、生成された１以上のマウスイベントをジェスチャーイベント決定部８３に出力する。位置情報は、操作ユーザーが指示した表示部１６１の表示面中の位置を示す。
【００７４】
操作ユーザーが表示部１６１の表示面を指示する操作は、ユーザーが表示部１６１の表示面の任意の位置を指示する指示開始操作、ユーザーが表示部１６１の表示面を指示しながら、換言すれば、表示部１６１の表示面に触れながら指示する位置を移動させる移動操作、ユーザーが表示部１６１の表示面の指示を終了する終了操作、を含む。マウスイベント生成部８５は、オペレーティング部５７から位置情報が入力されると、操作ユーザーによる操作が、指示開始操作、移動操作、終了操作のいずれであるかを判断する。上述したように、オペレーティング部５７は、タッチパネル１６５から位置情報が出力されるごとに、その位置情報を出力するので、時間の経過とともに連続して入力される位置情報の連続性に基づいて、操作ユーザーによる操作が、指示開始操作、移動操作、終了操作のいずれであるかを判断する。
【００７５】
マウスイベント生成部８５は、オペレーティング部５７から位置情報が入力されていない状態が所定時間経過した後に入力される位置情報に対して、操作ユーザーによる操作が指示開始操作と判断し、位置情報と、指示開始操作を識別するための状態識別情報「Ｐｒｅｓｓ」とを含むマウスイベントを生成する。
【００７６】
マウスイベント生成部８５は、状態識別情報「Ｐｒｅｓｓ」のマウスイベントを検出した後、オペレーティング部５７から連続して１以上位置情報が入力される場合、１以上の位置情報それぞれに対して、操作ユーザーによる操作が移動操作と判断する。マウスイベント生成部８５は、オペレーティング部５７から連続して入力される１以上の位置情報それぞれに対して、その位置情報と移動操作を識別するための状態識別情報「Ｍｏｖｅ」とを含むマウスイベントを生成する。
【００７７】
マウスイベント生成部８５は、状態識別情報「Ｍｏｖｅ」のマウスイベントを検出した後、オペレーティング部５７から位置情報が入力されなくなる場合、最後に入力された位置情報に対して、操作ユーザーによる操作が終了操作と判断し、最後に入力された位置情報と、終了操作を識別するための状態識別情報「Ｒｅｌｅａｓｅ」とを含むマウスイベントを生成する。
【００７８】
より具体的には、マウスイベント生成部８５は、オペレーティング部５７から第１の時に入力される位置情報と、第１の時よりも所定時間後の第２の時に入力される位置情報とに基づいて、マウスイベントの状態を決定する。マウスイベント生成部８５は、第１の時に入力される位置情報に対して、第１の時よりも所定時間前に、第１の時に入力される位置情報で特定される位置から所定の距離の範囲内の位置を示す位置情報が入力されていない場合には、第１の時に入力される位置情報に対するマウスイベントの状態を「Ｐｒｅｓｓ」に決定する。マウスイベント生成部８５は、第１の時に入力される位置情報で特定される位置が、第２の時に入力される位置情報で特定される位置から所定の距離の範囲内に存在しない場合には、第２の時に入力される位置情報に対するマウスイベントの状態を「Ｐｒｅｓｓ」に決定する。
【００７９】
また、マウスイベント生成部８５は、第１の時に入力される位置情報で特定される位置が、第２の時に入力される位置情報で特定される位置から所定の距離の範囲内に存在する場合には、第２の時に入力される位置情報に対するマウスイベントの状態を「Ｍｏｖｅ」に決定する。さらに、マウスイベント生成部８５は、第１の時に入力される位置情報で特定される位置から所定の距離の範囲内の位置情報が、第２の時に入力されない場合には、第２の時において第１の時に入力されていた位置情報に対するマウスイベントの状態を「Ｒｅｌｅａｓｅ」に決定する。
【００８０】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から連続して入力される複数のマウスイベントに基づいてジェスチャーイベントを決定する。ジェスチャーイベント決定部８３は、マウスイベント生成部８５から一度に１つのマウスイベントが連続して入力される場合、最初の第１のマウスイベントが入力されてから所定時間経過後に入力される第２のマウスイベントを特定し、第１のマウスイベントで特定される位置と、第２のマウスイベントで特定される位置との間の距離が所定の距離以上の場合に、ジェスチャーイベントを決定するが、２つの位置の間の距離が所定の距離より小さい場合にはジェスチャーイベントを決定しない。所定の時間は、任意に定めることができる。所定の時間は、たとえば、タッチパネル１６５が位置を検出する間隔の整数倍とすることができる。また、所定の距離は、任意に定めることができるが、たとえば、４０ピクセルとするのが好ましい。
【００８１】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から一度に２以上のマウスイベントが入力される場合、２以上のマウスイベントに基づいてジェスチャーイベントを決定する。したがって、ユーザーが、マルチタッチ操作を入力する場合、ジェスチャーイベント決定部８３は、ジェスチャーイベントを決定する。具体的には、ジェスチャーイベント決定部８３は、マウスイベント生成部８５から第１のマウスイベントと第２のマウスイベントの２つが一度に入力される場合、第１のマウスイベントに対して連続して入力される複数のマウスイベントの第１の組と、第２のマウスイベントに対して連続して入力される複数のマウスイベントの第２の組と、に基づいてジェスチャーイベントを決定する。第１の組に含まれる複数のマウスイベントは、位置情報が同じか、または位置情報で示される位置が連続している。連続とは、２つの位置情報で示される位置が隣接することをいう。第２の組に含まれる複数のマウスイベントは、位置情報が同じか、または位置情報が連続している。このため、ジェスチャーイベント決定部８３は、同時に入力される複数のマウスイベントが、第１の組と第２の組のいずれに属するかを、それらに含まれる位置情報で判断する。
【００８２】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から連続してマウスイベントが入力される場合、最初に入力されるマウスイベントの状態識別情報は「Ｐｒｅｓｓ」である。そして、ジェスチャーイベント決定部８３は、状態識別情報が「Ｍｏｖｅ」のマウスイベントが入力されると、状態識別情報が「Ｐｒｅｓｓ」のマウスイベントの位置情報と、状態識別情報が「Ｍｏｖｅ」のマウスイベントの位置情報とから２点間の距離を算出し、距離が所定のしきい値ＴＨ以上ならばユーザーによるスワイプ操作を検出し、距離が所定のしきい値ＴＨより短ければユーザーによるフリック操作を検出する。また、複数のマウスイベントが入力される場合は、最初の複数のマウスイベントによってユーザーによるスワイプ操作が検出され、後の複数のマウスイベントによってユーザーによるフリック操作が検出される場合がある。ジェスチャーイベント決定部８３は、スワイプ操作またはフリック操作を検出する場合、最初の位置情報で特定される位置から後の位置情報で特定される位置に向かう方向を算出し、表示部１６１の表示面を基準に上下左右の４方向のうち算出された方向に最も近い方向をパラメータとして決定し、パラメータを含むジェスチャー識別情報を決定する。スワイプ操作を検出する場合には、ジェスチャー識別情報「スワイプ」のジェスチャーイベントは、方向を示すパラメータを含む。フリック操作を検出する場合には、ジェスチャー識別情報「フリック」のジェスチャーイベントは、方向を示すパラメータを含む。
【００８３】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から一度に２つのマウスイベントが入力される場合、最初に入力される２つのマウスイベントそれぞれの状態は「Ｐｒｅｓｓ」である。この場合に、２つのマウスイベントそれぞれに含まれる位置情報に基づいて、２点間の距離Ｌ１および２点間を結ぶ直線の角度Ｒ１を算出する。２点間を結ぶ直線の角度は、表示部１６１の横方向を基準線として、２点間を結ぶ直線が基準線となす角度とすればよい。２点間を結ぶ直線と基準線とのなす角度は、基準線から時計回りになす角度である。そして、ジェスチャーイベント決定部８３は、その後に連続して入力される２つのマウスイベントの位置情報に基づいて、２点間の距離Ｌ２および２点間を結ぶ直線の角度Ｒ２を算出する。
【００８４】
ジェスチャーイベント決定部８３は、角度Ｒ１と角度Ｒ２とが同じで、かつ、距離Ｌ２と距離Ｌ１と異なれば、ユーザーによるピンチアウト操作またはピンチイン操作を検出する。角度Ｒ１と角度Ｒ２とが同じとは、角度Ｒ１と角度Ｒ２との差が所定の範囲内の場合を含む。ユーザーの指の動きを検出するために、誤差を含む。距離Ｌ２が距離Ｌ１より大きければピンチアウト操作を検出し、距離Ｌ２が距離Ｌ１より小さければピンチイン操作を検出する。ジェスチャーイベント決定部８３は、ピンチアウト操作またはピンチイン操作を検出する場合、距離Ｌ２を距離Ｌ１で除算することによって倍率を算出し、算出された倍率をパラメータとして決定し、パラメータを含むジェスチャー識別情報を決定する。ピンチアウト操作を検出する場合には、ジェスチャー識別情報「ピンチアウト」のジェスチャーイベントは、倍率を示すパラメータを含み、ピンチイン操作を検出する場合には、ジェスチャー識別情報「ピンチイン」のジェスチャーイベントは、倍率を示すパラメータを含む。
【００８５】
ジェスチャーイベント決定部８３は、角度Ｒ１と角度Ｒ２とが異なる場合、ユーザーによるローテーション操作を検出する。角度Ｒ１と角度Ｒ２とが異なるとは、角度Ｒ１と角度Ｒ２との差が所定の範囲外の場合である。ユーザーの指の動きを検出するために、誤差を含む。ジェスチャーイベント決定部８３は、ローテーション操作を検出する場合、角度Ｒ２から角度Ｒ１を減算することによって回転方向を決定し、決定された回転方向をパラメータとして決定し、パラメータを含むジェスチャー識別情報を決定する。角度Ｒ２から角度Ｒ１を減算した値がプラスならば回転方向は時計回りであり、角度Ｒ２から角度Ｒ１を減算した値がマイナスならば回転方向は反時計回りである。ジェスチャー識別情報「ローテーション」のジェスチャーイベントは、回転方向を示すパラメータを含む。
【００８６】
ジェスチャーイベント決定部８３は、ジェスチャーイベントを決定する場合、ＨＤＤ１１５から、調停部５３によって設定されているカレントタスクのアプリ識別情報に対応するマスターテーブル９１を読み出す。具体的には、マスターテーブル９１を読み出すためのオペレーティングコマンドをオペレーティング部５７に出力し、オペレーティング部５７がＨＤＤ１１５を制御して読み出すマスターテーブル９１を取得する。以下、アプリケーション部５１がカレントタスクの場合について説明する。
【００８７】
ジェスチャーイベント決定部８３は、ジェスチャーイベントを決定することに応じて、ジェスチャーイベントに基づいて、マスターテーブル９１において定められている複数種類の処理のうちから調停部５３によってカレント状態に設定されているアプリケーションプログラムに対応して関連付けられた処理を特定する。ここでは、調停部５３によってアプリケーション部５１がカレントタスクに設定されているので、ジェスチャーイベント決定部８３は、ジェスチャーイベントと、マスターテーブル９１によって関連付けられた処理を特定する。より具体的には、ジェスチャーイベント決定部８３は、決定されたジェスチャーイベントのジェスチャー識別情報がジェスチャーの項目に設定されたマスターレコードを、マスターテーブル９１から抽出し、抽出されたマスターレコードの処理の項目に設定されている処理識別情報を取得する。ジェスチャーイベント決定部８３は、処理識別情報が取得される場合、決定されたジェスチャーイベントを調停部５３に出力するが、処理識別情報が取得されない場合、決定されたジェスチャーイベントを調停部５３に出力しない。また、ジェスチャーイベント決定部８３は、マウスイベント生成部８５から一度に１つのマウスイベントが連続して入力される場合であって、ジェスチャーイベントを決定しない場合、ジェスチャーイベントを決定しないことを示す未決定信号を調停部５３に出力する。
【００８８】
ジェスチャーイベント決定部８３は、調停部５３によってカレント状態に設定されているアプリケーション部５１が実行可能な処理に対応するジェスチャーイベントのみを調停部５３に出力し、調停部５３は、ジェスチャーイベントをカレントタスクであるアプリケーション部５１に出力する。このため、タッチパネル１６５に入力される操作であって、複数のマウスイベントの組で特定されるジェスチャーイベントを、ブラウジングプログラムを実行するアプリケーション部５１に実行させることができる。換言すれば、ブラウジングプログラムを開発する段階で、ＭＦＰ１００においてタッチパネル１６５で受け付け可能なジェスチャーイベントを意識することなく開発することができる。例えば、ローテーション操作を受け付けないブラウジングプログラムを開発することができる。
【００８９】
調停部５３は、ジェスチャーイベント決定部８３からジェスチャーイベントが入力され、ジェスチャーイベントを、ＣＰＵ１１１がアプリケーションプログラムを実行する複数のタスクのうちカレントタスクに出力する。ここでは、ＣＰＵ１１１がアプリケーションプログラムとして１つのブラウジングプログラムを実行し、そのタスクをアプリケーション部５１としているので、調停部５３は、アプリケーション部５１をカレント状態に設定する。このため、アプリケーション部５１がカレントタスクである。調停部５３は、ジェスチャーイベント決定部８３からジェスチャーイベントが入力されることに応じて、ジェスチャーイベントをアプリケーション部５１に出力する。
【００９０】
アプリケーション部５１は、コンテンツ取得部１１と、レンダリング画像生成部１３と、表示部分決定部１５と、表示制御部１７と、を含む。
【００９１】
コンテンツ取得部１１は、インターネットに接続されたサーバーからコンテンツを取得し、取得されたコンテンツをレンダリング画像生成部１３に出力する。コンテンツは、例えば、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語で記述されたＷｅｂページである。コンテンツ取得部７１が取得するコンテンツは、ＭＦＰ１００を操作する操作ユーザーが指定したＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）で識別されるＷｅｂページであってもよいし、アプリケーション部５１において予め定められたＵＲＬで識別されるＷｅｂページであってもよい。Ｗｅｂページは、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）で記述されたスタイルシートを含む。ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）とは、ウェブページのスタイルを指定するための言語である。
【００９２】
レンダリング画像生成部１３は、Ｗｅｂページを解析して、スタイルシートに従ってＷｅｂページに含まれる複数の要素を配置したレンダリング画像を生成する。Ｗｅｂページに含まれるスタイルシートが、生成するレンダリング画像のサイズごとに、レンダリング画像のレイアウトおよび／または内容を定める場合がある。具体的には、Ｗｅｂページに含まれるスタイルシートが、生成するレンダリング画像のサイズごとに、Ｗｅｂページに含まれる文字のサイズおよび配置、画像の位置等のレイアウトを定める場合がある。また、Ｗｅｂページに含まれるスタイルシートが、これから生成されるレンダリング画像のサイズごとに、Ｗｅｂページに含まれる複数の要素のうちからレンダリング画像に含める要素を定める場合がある。
【００９３】
レンダリング画像生成部１３は、画像サイズ決定部１９を含む。画像サイズ決定部１９は、レンダリング画像のサイズを決定する。レンダリング画像生成部１３は、画像サイズ決定部１９により決定されたサイズおよびＷｅｂページに含まれるスタイルシートに従って、レンダリング画像に含める１以上の要素を決定し、決定された１以上の要素を含み、画像サイズ決定部１９により決定されたサイズのレンダリング画像を生成する。レンダリング画像生成部１３は、生成されたレンダリング画像を、表示部１６１が備えるＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）に一時記憶する。
【００９４】
画像サイズ決定部１９は、コンテンツ取得部１１によってコンテンツが取得された段階では、表示部１６１の表示面のサイズに基づいて、レンダリング画像のサイズを、スタイルシートによって定められたサイズに決定する。具体的には、表示部１６１の表示面の横方向の画素数からレンダリング画像の横方向のサイズを決定する。
【００９５】
画像サイズ決定部１９は、コンテンツ取得部１１によってコンテンツが取得された後の段階では、後述する表示部分決定部１５によって定められる表示領域のサイズに基づいて、レンダリング画像のサイズを、スタイルシートによって定められたサイズに決定する。表示部分決定部１５は、表示部１６１の表示面のサイズと表示倍率によって表示領域のサイズを定める。
【００９６】
表示部分決定部１５は、表示部１６１に表示する対象となる対象画像と、その対象画像のうち表示部１６１に表示する表示領域と、を表示部分として決定する。表示部分決定部１５は、通常期間決定部２１と、キャプチャー画像取得部２３と、対象画像決定部２５と、終了時決定部２７と、表示領域決定部２９と、を含む。
【００９７】
表示領域決定部２９は、ジェスチャーイベント決定部８３から入力されるジェスチャーイベントに基づいて表示領域を決定する。表示領域決定部２９は、移動部３１と、変倍部３３と、表示倍率決定部３５と、回転部３７と、ジェスチャー期間検出部３９と、を含む。
【００９８】
ジェスチャー期間検出部３９は、ジェスチャーイベント決定部８３から入力されるジェスチャーイベントに基づいてジェスチャー期間を検出し、ジェスチャー期間を検出している間、ジェスチャーイベントを移動部３１、表示倍率決定部３５および回転部３７に出力する。ジェスチャー期間は、ジェスチャーイベント決定部８３によってジェスチャーイベントが連続して決定される期間である。
【００９９】
具体的には、ジェスチャーイベント決定部８３は、１以上のマウスイベントに基づいてジェスチャーイベントを決定するが、ジェスチャーイベント決定部８３によってジェスチャーイベントが決定された後に、マウスイベント生成部８５によって連続してマウスイベントが生成される場合がある。たとえば、ユーザーが、スワイプ操作を入力する場合、ユーザーが指を移動させている途中で、ジェスチャーイベント決定部８３によってジェスチャーイベントが決定される場合である。この場合には、ユーザーが指をタッチパネル１６５から離すまで、マウスイベント生成部８５によって状態識別情報「Ｍｏｖｅ」のマウスイベントが生成され、ユーザーが指をタッチパネル１６５から離すと、マウスイベント生成部８５によって状態識別情報「Ｒｅｌｅａｓｅ」のマウスイベントが生成される。ジェスチャーイベント決定部８３は、ジェスチャー識別情報「スワイプ」のジェスチャーイベントを決定した後は、マウスイベント生成部８５から状態識別情報「Ｒｅｌｅａｓｅ」のマウスイベントが入力されるまで、状態識別情報「Ｍｏｖｅ」のマウスイベントが入力されるごとに、ジェスチャー識別情報「スワイプ」のジェスチャーイベントを出力する。ジェスチャー期間検出部３９は、ジェスチャーイベント決定部８３から同じジェスチャーイベントが連続して入力されている間、ジェスチャー期間を検出する。ジェスチャー期間検出部３９は、ジェスチャーイベント決定部８３からジェスチャーイベントが入力されるとジェスチャー期間の開始を検出し、ジェスチャーイベント決定部８３からジェスチャーイベントが入力されなくなる場合、または、異なるジェスチャーイベントが入力される場合、ジェスチャー期間の終了を検出する。
【０１００】
ジェスチャーイベント決定部８３から入力されるジェスチャーイベントは、ジェスチャー識別情報が、「スワイプ」、「フリック」、「ピンチアウト」、「ピンチイン」、「ローテーション」および「ダブルタップ」のいずれかである。
【０１０１】
移動部３１は、ジェスチャー期間の間、ジェスチャー期間検出部３９からジェスチャー識別情報が、「フリック」のジェスチャーイベントが入力される場合、それ以前に決定されている表示領域を、パラメータで特定される方向に所定の距離だけ移動させた部分を、新たな表示領域に決定する。また、移動部３１は、ジェスチャー期間の間、ジェスチャー識別情報「スワイプ」のジェスチャーイベントが入力される場合、それ以前に決定されている表示領域を、パラメータで特定される方向にページ送りした部分を、新たな表示領域に決定する。移動部３１は、ジェスチャー期間の間、ジェスチャー識別情報「ダブルタップ」のジェスチャーイベントが入力される場合、それ以前に決定されている表示領域を、そのまま表示領域に決定する。移動部３１は、決定した表示領域を通常期間決定部２１に出力する。
【０１０２】
表示倍率決定部３５は、ジェスチャー期間の間、ジェスチャー識別情報「ピンチアウト」のジェスチャーイベントが入力される場合、パラメータに基づいて表示倍率を決定する。また、表示倍率決定部３５は、ジェスチャー期間の間、ジェスチャー識別情報「ピンチイン」のジェスチャーイベントが入力される場合、パラメータに基づいて表示倍率を決定する。表示倍率決定部３５は、決定された表示倍率を変倍部３３に出力する。
【０１０３】
変倍部３３は、ジェスチャー期間の最初に表示倍率決定部３５から表示倍率が入力されることに応じて、換言すれば、ジェスチャー識別情報「ピンチアウト」または「ピンチイン」のジェスチャーイベントに基づくジェスチャー期間の開始に応じて、キャプチャー画像取得部２３に取得指令を出力する。また、変倍部３３は、ジェスチャー期間の間、表示倍率決定部３５から表示倍率が入力されるごとに、それ以前に決定されている表示領域を、表示領域の中心を移動させることなく表示倍率で拡大または縮小する。変倍部３３は、ジェスチャー期間の間、拡大または縮小した後の表示領域を対象画像決定部２５に出力する。
【０１０４】
回転部３７は、ジェスチャー期間の最初にジェスチャー識別情報「ローテーション」のジェスチャーイベントが入力される場合、換言すれば、ジェスチャー識別情報「ローテーション」のジェスチャーイベントに基づくジェスチャー期間の開始に応じて、キャプチャー画像取得部２３に取得指令を出力する。また、回転部３７は、ジェスチャー期間の間、ジェスチャー識別情報「ローテーション」のジェスチャーイベントが入力されるごとに、パラメータに基づいて表示領域を回転させ、回転させた後の表示領域を新たな表示領域に決定する。回転部３７は、ジェスチャー期間の間、決定した表示領域を、対象画像決定部２５に出力する。
【０１０５】
通常期間決定部２１は、移動部３１から表示領域が入力されているジェスチャー期間の間は、レンダリング画像を対象画像に設定し、レンダリング画像中で移動部３１から入力される表示領域で特定される領域を表示部１６１に表示する指示を表示制御部１７に出力する。また、通常期間決定部２１は、ジェスチャー期間以外の間は、レンダリング画像を対象画像に設定し、レンダリング画像中でその時点で決定されている表示領域を表示部１６１に表示する指示を表示制御部１７に出力する。
【０１０６】
キャプチャー画像取得部２３は、変倍部３３または回転部３７から取得指令が入力されることに応じて、レンダリング画像生成部１３により生成され、表示部１６１のＶＲＡＭに記憶されているレンダリング画像の一部をキャプチャー画像として取得する。キャプチャー画像取得部２３は、取得されたキャプチャー画像を、表示部１６１のＶＲＡＭに記憶する。
【０１０７】
キャプチャー画像取得部２３に変倍部３３または回転部３７から取得指令が入力される段階では、レンダリング画像生成部１３によって表示部１６１のＶＲＡＭにレンダリング画像が記憶されており、表示領域決定部２９によって表示領域が決定されている。キャプチャー画像取得部２３は、レンダリング画像中の表示領域を基準領域とし、基準領域によって定まる複数の位置に、表示領域のサイズを変更することなく表示領域を順に移動させることにより、レンダリング画像中で、複数の位置それぞれに移動後の表示領域の画像を取得する。
【０１０８】
具体的には、取得指令が入力される段階における基準領域の４倍のサイズのキャプチャー画像を生成するために、基準領域を基準に定まる４つの位置を決定する。４つの位置は、基準領域から表示領域の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上の第１の位置と、基準領域から表示領域の横方向のサイズの半分の長さだけ右で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上の第２の位置と、基準領域から表示領域の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ下の第３の位置と、基準領域から表示領域の横方向のサイズの半分の長さだけ右で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ下の第４の位置である。なお、第１〜４の位置を、表示領域の一部が重なるよう定めるようにしてもよい。
【０１０９】
キャプチャー画像取得部２３は、表示領域をそのサイズを変更することなく第１の位置に移動させることにより、レンダリング画像の第１の位置における表示領域の画像を第１の画像として取得し、表示領域をそのサイズを変更することなく第２の位置に移動させることにより、レンダリング画像の第２の位置における表示領域の画像を第２の画像として取得し、表示領域をそのサイズを変更することなく第３の位置に移動させることにより、レンダリング画像の第３の位置における表示領域の画像を第３の画像として取得し、表示領域をそのサイズを変更することなく第４の位置に移動させることにより、レンダリング画像の第４の位置における表示領域の画像を第４の画像として取得する。キャプチャー画像取得部２３は、取得された第１〜第４の画像を、表示領域の第１〜第４の位置の相対的な位置関係と同じになるように配置することのよりキャプチャー画像を生成する。キャプチャー画像取得部２３は、生成されたキャプチャー画像を表示部１６１のＶＲＡＭに記憶するとともに、キャプチャー画像がＶＲＡＭに記憶されている位置を示すアドレスを対象画像決定部２５に出力する。
【０１１０】
図７は、表示領域とキャプチャー画像との関係を説明する第１の図である。図７を参照して、レンダリング画像４００中に、表示領域４０１を示している。レンダリング画像４００中で、表示領域４０１を基準領域に設定する。表示領域４０１を、基準領域から表示領域４０１の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上の第１の位置にスクロールさせることにより第１の画像４０２を取得する。次に、表示領域４０１を、基準領域から表示領域の横方向のサイズの半分の長さだけ右で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上の第２の位置にスクロールさせることにより第２の画像４０３を取得する。表示領域４０１を、基準領域から表示領域の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ下の第３の位置にスクロールさせることにより第３の画像４０４を取得する。さらに、表示領域４０１を、基準領域から表示領域の横方向のサイズの半分の長さだけ右で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ下の第４の位置にスクロールさせることにより第４の画像４０５を取得する。
【０１１１】
第１〜第４の画像４０２〜４０５を、第１〜第４の位置と相対的位置が同じになるように合成することにより、レンダリング画像４００中のキャプチャー画像４０６を生成する。
【０１１２】
キャプチャー画像取得部２３は、表示領域をそのサイズを変更することなく第１〜第４の位置にスクロールさせることにより、レンダリング画像の第１〜第４の位置それぞれにおける表示領域の第１〜第４の画像を取得するが、表示領域が、レンダリング画像の端部に位置する場合には、表示領域を第１〜第４の位置にスクロールさせることができない場合がある。この場合には、表示領域を第１〜第４の位置に最も近くなるまでスクロールして、第１〜第４の画像を取得する。
【０１１３】
図８は、表示領域とキャプチャー画像との関係を説明する第２の図である。図８を参照して、レンダリング画像５００中に、表示領域５０１を示している。レンダリング画像４００中の表示領域５０１を基準領域に設定する。基準領域を基準に、第１〜第４の位置を特定すれば、第１の位置における表示領域５０２、第２の位置における表示領域５０３、第３の位置における表示領域５０４、第４の位置における表示領域５０５が定まる。しかしながら、第２の位置における表示領域５０３、第３の位置における表示領域５０４、第４の位置における表示領域５０５それぞれは、レンダリング画像５００の外の領域を含む。このため、表示領域５０１を、第２の位置における表示領域５０３、第３の位置における表示領域５０４、第４の位置における表示領域５０５にスクロールさせることができない。
【０１１４】
図９は、第１の位置にスクロールした後の表示領域を示す図である。基準領域から表示領域５０１の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上の第１の位置に表示領域５０１をスクロールさせることにより第１の画像５０２を取得する。
【０１１５】
図１０は、第２の位置にできるだけ近い位置にスクロールした後の表示領域を示す図である。基準領域から表示領域５０１が移動可能な距離だけ右で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上に表示領域５０１をスクロールさせることにより第２の画像５０３Ａを取得する。第２の画像５０３Ａは、右斜め下方向のハッチングが付された表示領域５０１と、左下方向ハッチングが付された第２の位置における表示領域５０３とが重なる部分である。
【０１１６】
図１１は、第３の位置にできるだけ近い位置にスクロールした後の表示領域を示す図である。基準領域から表示領域５０１の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域が移動可能な距離だけ下に表示領域５０１をスクロールさせることにより第３の画像５０４Ａを取得する。第３の画像５０４Ａは、右斜め下方向のハッチングが付された表示領域５０１と、左下方向ハッチングが付された第３の位置における表示領域５０４とが重なる部分である。
【０１１７】
図１２は、第４の位置にできるだけ近い位置にスクロールした後の表示領域を示す図である。基準領域から表示領域５０１が横方向に移動可能な距離だけ右で、かつ、縦方向に移動可能な距離だけ下に表示領域５０１をスクロールさせることにより第４の画像５０５Ａを取得する。第４の画像５０５Ａは、右斜め下方向のハッチングが付された表示領域５０１と、左下方向ハッチングが付された第４の位置における表示領域５０４とが重なる部分である。
【０１１８】
第１の画像５０２Ａ、第２の画像５０３Ａ、第３の画像５０４Ａ、第４の画像５０５Ａを、基準領域からのスクロールした長さにより定まる位置に配置することによってレンダリング画像４００中のキャプチャー画像５０６を生成する。
【０１１９】
図１３は、キャプチャー画像の一例を示す図である。図１３を参照して、キャプチャー画像５０６Ａは、第１の画像５０２Ａと、第２の画像５０３Ａと、第３の画像５０４Ａと、第４の画像５０５Ａとを含む。表示領域がレンダリング画像の端部の近傍に存在している場合は、キャプチャー画像５０６Ａは、表示領域の４倍のサイズにはならない。
【０１２０】
なお、表示領域が第１〜第４の位置にスクロール可能な場合を仮定した場合におけるキャプチャー画像５０６は、第１の画像５０２と、第２の画像５０３と、第３の画像５０４と、第４の画像５０５とを含む。
【０１２１】
なお、レンダリング画像４００中でキャプチャー画像を生成する前の表示領域５０１を基準領域に設定するようにし、表示領域５０１を第１〜第４の位置にサイズを変更することなく移動させることによって、キャプチャー画像を生成するようにしたが、レンダリング画像４００中でユーザーによりピンチイン操作またはピンチアウト操作が指示された位置を基準位置として、その基準位置を基準にして表示領域５０１を移動させる第１〜第４の位置を定めるようにしてもよい。基準位置は、例えば、ピンチイン操作またはピンチアウト操作における２本の指でそれぞれ指示された２つの位置の中点とすることができる。
【０１２２】
図５に戻って、対象画像決定部２５は、キャプチャー画像取得部２３から表示部１６１が備えるＶＲＡＭ中で、キャプチャー画像が記憶されている位置を示すアドレスが入力され、変倍部３３または回転部３７から表示領域が入力される。対象画像決定部２５は、変倍部３３または回転部３７から表示領域が入力されているジェスチャー期間の間は、キャプチャー画像を対象画像に設定し、キャプチャー画像中で変倍部３３または回転部３７から入力される表示領域を表示部１６１に表示する指示を表示制御部１７に出力する。キャプチャー画像中の表示領域は、変倍部３３または回転部３７から表示領域が入力される前の段階では、キャプチャー画像の中心を中心とし、縦横のサイズがキャプチャー画像の半分のサイズの領域である。
【０１２３】
対象画像決定部２５は、変倍部３３または回転部３７から表示領域が入力されなくなるジェスチャー期間の終了時点で、変倍部３３または回転部３７から最後に入力された表示領域を、終了時決定部２７に出力する。
【０１２４】
終了時決定部２７は、対象画像決定部２５から表示領域が入力されることに応じて、表示領域のサイズを算出し、決定された表示領域のサイズを、画像サイズ決定部１９に出力する。表示領域のサイズは、表示領域の横方向のサイズである。変倍部３３によって、表示領域が決定される場合には、表示領域の方向は変更されることなく、表示領域のサイズが拡大または縮小される。このため、表示領域の横方向のサイズが変更されている。また、回転部３７によって表示領域が決定される場合には、表示領域の大きさは変更されることなく、表示領域の方向が変更されるので、横長の形状の表示領域が縦長の形状に変更になり、縦長の形状の表示領域が横長の形状に変更になる。このため、表示領域が長方形であれば、表示領域の横方向のサイズが変更されている。
【０１２５】
画像サイズ決定部１９は、終了時決定部２７から表示領域のサイズが入力されることに応じて、表示領域のサイズに基づいて、レンダリング画像のサイズを、スタイルシートによって定められたサイズに決定する。レンダリング画像生成部１３は、Ｗｅｂページに含まれるスタイルシートに従って、レンダリング画像に含める１以上の要素を決定し、決定された１以上の要素を含み、画像サイズ決定部１９により決定されたサイズのレンダリング画像を生成する。レンダリング画像生成部１３は、生成されたレンダリング画像を、表示部１６１が備えるＶＲＡＭに一時記憶するとともに、終了時決定部２７に生成完了信号を出力する。
【０１２６】
終了時決定部２７は、画像サイズ決定部１９から生成完了信号が入力されると、レンダリング画像を対象画像に設定し、対象画像決定部２５から入力される表示領域に対応する部分を新たな表示領域に設定し、レンダリング画像中で新たに設定した表示領域を表示部１６１に表示する指示を表示制御部１７に出力する。
【０１２７】
表示制御部１７は、通常期間決定部２１、対象画像決定部２５および終了時決定部２７のいずれかから対象画像の表示領域を表示部１６１に表示する指示が入力される。表示制御部１７は、対象画像がレンダリング画像の場合、表示部１６１のＶＲＡＭに記憶されているレンダリング画像の表示領域を表示部１６１に表示させる。具体的には、表示制御部１７は、アプリコマンドを調停部５３に出力する。これにより、オペレーティング部５７によって、表示部１６１が備えるＶＲＡＭに記憶されているレンダリング画像の表示領域が表示部１６１に表示される。
【０１２８】
表示制御部１７は、対象画像がキャプチャー画像の場合、表示部１６１のＶＲＡＭに記憶されているキャプチャー画像の表示領域を表示部１６１に表示させる。具体的には、表示制御部１７は、アプリコマンドを調停部５３に出力する。これにより、オペレーティング部５７によって、表示部１６１が備えるＶＲＡＭに記憶されているキャプチャー画像の表示領域が表示部１６１に表示される。
【０１２９】
図１４は、ジェスチャーイベント決定処理の流れの一例を示すフローチャートである。ジェスチャーイベント決定処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された操作受付プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１４を参照して、ＣＰＵ１１１は、マウスイベントが検出されたか否かを判断する（ステップＳ０１）。ユーザーがタッチパネル１６５を指示すれば、タッチパネル１６５により検出された位置に基づいてマウスイベントが検出される。マウスイベントが検出されるまで待機状態となり（ステップＳ０１でＮＯ）、マウスイベントが検出されたたならば（ステップＳ０１でＹＥＳ）、処理をステップＳ０２に進める。換言すれば、ジェスチャーイベント決定処理は、ユーザーがタッチパネル１６５を指示し、マウスイベントが検出されることを条件に実行される処理である。
【０１３０】
ステップＳ０２においては、検出されたマウスイベントが単数か否かを判断する。単数のマウスイベントが検出されたならば処理をステップＳ０３に進めるが、複数のマウスイベントが検出されたならば処理をステップＳ１７に進める。
【０１３１】
ステップＳ０３においてはマウスイベントの状態によって処理を分岐させる。マウスイベントの状態が「Ｐｒｅｓｓ」ならば処理をステップＳ０４に進め、「Ｍｏｖｅ」ならば処理をステップＳ０９に進め、「Ｒｅｌｅａｓｅ」ならば処理をステップＳ０５に進める。ステップＳ０４においては、タイマーＴ１をスタートさせ、処理をステップＳ０１に戻す。タイマーＴ１は、状態が「Ｐｒｅｓｓ」のマウスイベントが検出されてからの経過時間を計時する。
【０１３２】
ステップＳ０９においては、タイマーＴ１の値がしきい値ＴＴ１以下か否かを判断する。タイマーＴ１の値がしきい値ＴＴ１以下ならば処理をステップＳ１０に進めるが、そうでなければ処理をステップＳ１１に進める。ステップＳ１０においては、間隔がしきい値ＴＬ以上か否かを判断する。間隔がしきい値ＴＬ以上ならば処理をステップＳ１２に進めるが、そうでなければ処理をステップＳ１１に進める。間隔は、最初に検出されたマウスイベント、換言すれば状態が「Ｐｒｅｓｓ」のマウスイベントに含まれる位置情報で特定される位置と、ステップＳ０１において検出されたマウスイベントに含まれる位置情報で特定される位置との間の距離である。ステップＳ１１においては、マウスイベントを決定しないことを示す未決定信号を出力し、処理を終了する。状態が「Ｐｒｅｓｓ」のマウスイベントが検出されてからの経過時間がしきい値ＴＴ１以内に、「Ｐｒｅｓｓ」のマウスイベントで示される位置からしきい値ＴＬ以上離れた位置を示すマウスイベントが検出されない場合は、ジェスチャーイベントを決定することなく、処理を終了する。ユーザーが指示してからしきい値ＴＴ１の時間が経過しても指示する位置が移動しない場合には、ジェスチャーイベントを決定しないためである。なお、同じ位置を所定時間指示するジェスチャーイベントを決定するようにしてもよい。
【０１３３】
処理がステップＳ１２に進む場合、マウスイベントの状態が「Ｍｏｖｅ」の場合であり、そのマウスイベントの直前に別のマウスイベントが入力されている。別のマウスイベントの状態は、「Ｐｒｅｓｓ」の場合と、「Ｍｏｖｅ」の場合とがある。ステップＳ１２においては、指示方向を決定する。直前に入力された別のマウスイベントに含まれる位置情報で特定される位置からステップＳ０１において検出されたマウスイベントに含まれる位置情報で特定される位置に向かう方向を決定する。ここで決定する方向は、表示部１６１の表示面を基準にした上下左右の４方向のうち算出された方向に最も近い方向である。
【０１３４】
次のステップＳ１３においては、指示距離Ｌを算出する。直前に入力された別のマウスイベントに含まれる位置情報で特定される位置とステップＳ０１において検出されたマウスイベントに含まれる位置情報で特定される位置との間の距離を指示距離Ｌとして算出する。そして、指示距離Ｌがしきい値ＴＨ以上か否かを判断する（ステップＳ１４）。指示距離Ｌがしきい値ＴＨ以上ならば処理をステップＳ１５に進めるが、そうでなければ処理をステップＳ１６に進める。
【０１３５】
ステップＳ１５においては、ジェスチャーイベントをスワイプに決定し、処理をステップＳ２７に進める。ステップＳ１６においては、ジェスチャーイベントをフリックに決定し、処理をステップＳ２７に進める。
【０１３６】
処理がステップＳ０５に進む場合、ステップＳ０１において検出されたマウスイベントの状態が「Ｒｅｌｅａｓｅ」である。マウスイベントの状態が「Ｒｅｌｅａｓｅ」の場合、そのマウスイベントの直前に別のマウスイベントが入力されている。別のマウスイベントの状態は、「Ｐｒｅｓｓ」の場合と、「Ｍｏｖｅ」の場合とがある。ステップＳ０５においては、直前に入力された別のマウスイベントの状態によって処理を分岐させる。直前に入力された別のマウスイベントの状態が「Ｐｒｅｓｓ」ならば処理をステップＳ０６に進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１３７】
ステップＳ０６においては、ステップＳ０１において検出されたマウスイベントに含まれる位置情報と同じ位置情報がＲＡＭ１１４に記憶されているか否かを判断する。ＲＡＭ１１４に記憶されているならば処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０８に進める。なお、ここでいう同じ位置情報とは、２つの位置情報でそれぞれ特定される２つの位置の間の距離が所定の長さ以内である場合を含む。ユーザーが同じ位置を指示する操作を検出するために、誤差を含む。
【０１３８】
ステップＳ０８においては、ステップＳ０１において検出されたマウスイベントに含まれる位置情報をＲＡＭ１１４に一時記憶し、処理をステップＳ３２に進める。処理がステップＳ０８に進む場合は、直前に入力されたマウスイベントの状態が「Ｐｒｅｓｓ」で、次に入力されるマウスイベントの状態が「Ｒｅｌｅａｓｅ」の場合であり、かつ、ＲＡＭ１１４に同じ位置情報が記憶されていない場合である。換言すれば、ユーザーが最初のタップ操作を入力する場合である。
【０１３９】
ステップＳ０７においては、ジェスチャーイベントをダブルタップに決定し、処理をステップＳ２７に進める。処理がステップＳ０７に進む場合は、直前に入力されたマウスイベントの状態が「Ｐｒｅｓｓ」で、ステップＳ０１において検出されたマウスイベントの状態が「Ｒｅｌｅａｓｅ」の場合であり、かつ、ＲＡＭ１１４に同じ位置情報が記憶されている場合である。換言すれば、ユーザーが最初のタップ操作を入力した後に、最初のタップ操作と同じ位置をタップ操作する場合である。
【０１４０】
処理がステップＳ１７に進む場合は、２つのマウスイベントが検出される場合である。ステップＳ１７においては、２つのマウスイベントの少なくとも一方の状態が「Ｍｏｖｅ」か否かを判断する。２つのマウスイベントの少なくとも一方の状態が「Ｍｏｖｅ」ならば処理をステップＳ１８に進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１４１】
ステップＳ１８においては、角度を算出する。表示部１６１の表示面の所定の基準辺を基準に、２つのマウスイベントそれぞれに含まれる位置情報で特定される２つの位置を結ぶ直線が基準辺となす角度を算出する。次のステップＳ１９においては、ステップＳ１８において算出された角度に変化があるか否かを判断する。ステップＳ１８において算出された角度が、直前に入力された別の２つのマウスイベントに基づいて算出された角度との差が所定の角度以上であれば、角度が変化したと判断する。角度が変化したならば処理をステップＳ２０に進めるが、そうでなければ処理をステップＳ２１に進める。ステップＳ２０においては、ジェスチャーイベントをローテーションに決定し、処理をステップＳ２７に進める。
【０１４２】
ステップＳ２１においては、距離を算出する。２つのマウスイベントそれぞれに含まれる位置情報で特定される２つの位置の間の距離を算出する。次のステップＳ２２においては、ステップＳ２１において算出された距離に変化があるか否かを判断する。ステップＳ２１において算出された距離と、直前に入力された別の２つのマウスイベントに基づいて算出された距離との差が所定の長さ以上であれば、距離が変化したと判断する。距離が変化したならば処理をステップＳ２３に進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１４３】
ステップＳ２３においては、倍率を決定する。ステップＳ２１において算出された距離を、直前に入力された別の２つのマウスイベントに基づいて算出された距離で除算した値を倍率に決定する。次のステップＳ２４においては、倍率が１より大きいか否かを判断する。倍率が１より大きければ処理をステップＳ２５に進めるが、そうでなければ処理をステップＳ２６に進める。
【０１４４】
ステップＳ２５においては、ジェスチャーイベントをピンチアウトに決定し、処理をステップＳ２７に進める。ステップＳ２６においては、ジェスチャーイベントをピンチインに決定し、処理をステップＳ２７に進める。
【０１４５】
ステップＳ２７においては、決定されたジェスチャーイベントに対応する処理が定義されているか否かを判断する。ＨＤＤ１１５に記憶されているマスターテーブル９１において定められている複数種類の処理のうちに、カレント状態に設定されているアプリケーションプログラムに対応してジェスチャーイベントが関連付けられた処理が存在するか否かで判断する。マスターテーブル９１において、決定されたジェスチャーイベントに処理が関連付けられていれば、カレント状態に設定されているアプリケーションプログラムに対応して、決定されたジェスチャーイベントに対応する処理が定義されていると判断する。決定されたジェスチャーイベントに対応する処理が定義されていれば処理をステップＳ２８に進めるが、そうでなければ処理をステップＳ３２に進める。ステップＳ３２においては、未決定信号を出力し、処理を終了する。
【０１４６】
ステップＳ２８においては、決定されたジェスチャーイベントを出力し、処理をステップＳ２９に進める。ステップＳ２９においては、タイマーＴ２をスタートさせる。タイマーＴ２は、ジェスチャーイベントを出力してからの経過時間を計時する。ステップＳ３０においては、タイマーＴ２の値がしきい値ＴＴ２以上か否かを判断する。タイマーＴ２の値がしきい値ＴＴ２以上ならば処理を終了するが、そうでなければ処理をステップＳ３１に進める。ステップＳ３１においては、マウスイベントが検出されたか否かを判断する。マウスイベントが検出されているならば処理をステップＳ２８に戻し、そうでなければ処理をステップＳ３０に戻す。換言すれば、ジェスチャーイベントが出力されてから所定時間ＴＴ２が経過する前にマウスイベントが検出される場合、決定されたジェスチャーイベントに対応する操作をユーザーが継続して入力していると判断する。なお、マウスイベントが所定時間ＴＴ２以内に入力されるか否かの判断に代えて、マウスイベントの状態によって判断するようにしてもよい。状態が「Ｍｏｖｅ」のマウスイベントが検出される場合に、処理をステップＳ２８に戻し、状態が「Ｒｅｌｅａｓｅ」のマウスイベントが検出される場合に、処理を終了する。
【０１４７】
なお、ステップＳ２８においては、処理がステップＳ３１から進む場合、ステップＳ３１において検出されたマウスイベントに基づいてパラメータを決定し、決定したパラメーラを含むジェスチャーイベントを出力する。たとえば、ジェスチャー識別情報「スワイプ」のジェスチャーイベントおよびジェスチャー識別情報「フリック」のジェスチャーイベントにおいては、指を移動させる距離をパラメータに含む。ジェスチャー識別情報「ピンチアウト」のジェスチャーイベントおよびジェスチャー識別情報「ピンチイン」のジェスチャーイベントは、２点間の間の距離をパラメータに含む。ジェスチャー識別情報「ローテーション」のジェスチャーイベントは、角度をパラメータに含む。
【０１４８】
図１５は、画像表示処理の流れの一例を示すフローチャートである。画像表示処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された画像表示プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図１５を参照して、ＣＰＵ１１１は、コンテンツを取得する（ステップＳ５１）。具体的には、インターネットに接続されたサーバーからＷｅｂページをコンテンツとしてダウンロードする。Ｗｅｂページは、ＭＦＰ１００を操作する操作ユーザーが指定したＵＲＬで識別されるＷｅｂページである。また、予め定められたＵＲＬで識別されるＷｅｂページであってもよい。また、コンテンツは、Ｗｅｂページに限らず、画像データであってもよい。また、Ｗｅｂページは、スタイルシートを含む。
【０１４９】
ステップＳ５２においては、表示領域のサイズをデフォルト値に決定する。デフォルト値は、表示部１６１の表示面の横方向のサイズに対応して予め定められている。次のステップＳ５３においては、表示領域のサイズが変更されたか否かを判断する。表示領域のサイズが変更されたならば処理をステップＳ５４に進めるが、そうでなければ処理をステップＳ５７に進める。表示領域のサイズは、後述するステップＳ６３において変更されるが、処理がステップＳ５２から進む場合は、表示領域のサイズが変更されたとみなし、処理をステップＳ５４に進める。
【０１５０】
ステップＳ５４においては、レンダリング画像のサイズを決定する。ステップＳ５１において取得されたＷｅｂページに含まれるスタイルシートに従って、レンダリング画像のサイズを決定する。次のステップＳ５５においては、レンダリング画像を生成する。ステップＳ５１において取得されたＷｅｂページに含まれるスタイルシートに従って、ステップＳ５４において決定されたサイズのレンダリング画像を生成する。また、また、Ｗｅｂページが複数の要素を含む場合には、Ｗｅｂページに含まれるスタイルシートに従って、ステップＳ５４において決定されたレンダリング画像のサイズに基づいて、レンダリング画像に含める１以上の要素を決定し、決定された１以上の要素を含むレンダリング画像を生成する。
【０１５１】
次のステップＳ５６においては、レンダリング画像を対象画像に設定する。具体的には、レンダリング画像を表示部１６１のＶＲＡＭに記憶する。そして、レンダリング画像中の表示領域を表示部１６１に表示させ（ステップＳ５７）、処理をステップＳ５８に進める。表示領域は、ステップＳ５２でデフォルトのサイズに決定される場合、レンダリング画像の全体を含む。また、後述するステップＳ６３およびステップＳ６５において、表示領域が決定される場合があり、この場合における表示領域のサイズは、デフォルトのサイズとは異なる場合がある。
【０１５２】
ステップＳ５８においては、ジェスチャーベントが決定されたか否かを判断する。ＣＰＵ１１１が上述したジェスチャーイベント決定処理を実行するタスクが、ジェスチャーイベントを出力する場合にジェスチャーイベントが決定されたと判断する。ジェスチャーイベントが決定されたならば処理をステップＳ５９に進めるが、そうでなければ処理をステップＳ６７に進める。
【０１５３】
ステップＳ６７においては、ジェスチャー期間が終了したか否かを判断する。ジェスチャーイベントが所定期間決定されない場合には、ジェスチャー期間が終了したと判断する。ジェスチャー期間が終了したならば処理をステップＳ５３に戻すが、そうでなければ処理をステップＳ６８に進める。
【０１５４】
ステップＳ５９においては、ジェスチャーイベントの種類によって処理を分岐させる。ステップＳ５８において決定されたジェスチャーイベントのジェスチャー識別情報が、「ピンチイン」、「ピンチアウト」および「ローテーション」のいずれかであれば処理をステップＳ６０に進めるが、ジェスチャー識別情報が、「スワイプ」、「フリック」および「ダブルタップ」のいずれかであれば処理をステップＳ６５に進める。
【０１５５】
ステップＳ６０においては、ジェスチャー期間の開始か否かを判断する。ステップＳ５８においてジェスチャーイベントが決定される前の所定時間にジェスチャーイベントが決定されていなければジェスチャー期間の開始と判断する。ジェスチャー期間の開始ならば処理をステップＳ６１に進めるが、そうでなければ処理をステップＳ６３に進める。
【０１５６】
ステップＳ６１においては、キャプチャー画像を取得する。表示部１６１のＶＲＡＭに記憶されているレンダリング画像の一部をキャプチャー画像として取得する。具体的には、レンダリング画像中の表示領域を基準領域とし、基準領域によって定まる第１〜第４の位置に、表示領域のサイズを変更することなく表示領域を順に移動させることにより、レンダリング画像中の第１〜第４の位置それぞれにおける表示領域の画像を第１〜第４の画像として取得する。そして、取得された第１〜第４の画像を、表示領域の第１〜第４の位置の相対的な位置関係と同じになるように配置することのよりキャプチャー画像を生成する。４つの位置は、基準領域から表示領域の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上の第１の位置と、基準領域から表示領域の横方向のサイズの半分の長さだけ右で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ上の第２の位置と、基準領域から表示領域の横方向のサイズの半分の長さだけ左で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ下の第３の位置と、基準領域から表示領域の横方向のサイズの半分の長さだけ右で、かつ、縦方向に表示領域の縦方向のサイズの半分の長さだけ下の第４の位置である。
【０１５７】
次のステップＳ６２においては、キャプチャー画像を対象画像に設定し、処理をステップＳ６３に進める。具体的には、キャプチャー画像を表示部１６１のＶＲＡＭに記憶する。
【０１５８】
ステップＳ６３においては、表示領域を決定し、処理をステップＳ６４に進める。ステップＳ５８において決定されたジェスチャーイベントに基づいて表示領域を決定する。ステップＳ６３が実行される前の段階においては、表示領域が決定されている。このため、ステップＳ６３においては、既に決定されている表示領域を、ジェスチャーイベントに基づいて変更した後の表示領域で更新する。たとえば、ステップＳ５８において決定されるジェスチャーイベントがジェスチャー識別情報「ピンチアウト」のジェスチャーイベントまたはジェスチャー識別情報「ピンチイン」のジェスチャーイベントの場合は、表示領域を縮小または拡大する。ジェスチャー識別情報「ローテーション」のジェスチャーイベントの場合は、表示領域を回転させる。
【０１５９】
ステップＳ６４においては、て、キャプチャー画像のうちステップＳ６３で決定される表示領域を表示部１６１に表示させ、処理をステップＳ６８に進める。
【０１６０】
一方、ステップＳ６５においては、表示領域を決定し、処理をステップＳ６６に進める。ステップＳ５８において決定されたジェスチャーイベントに基づいて表示領域を決定する。ステップＳ６５が実行される前の段階においては、表示領域が決定されている。このため、ステップＳ６５においては、既に決定されている表示領域を、ジェスチャーイベントに基づいて変更した後の表示領域で更新する。たとえば、ステップＳ５８において決定されるジェスチャーイベントがジェスチャー識別情報「スワイプ」のジェスチャーイベントまたはジェスチャー識別情報「フリック」のジェスチャーイベントの場合は、表示領域を上下左右のいずれかに平行移動させる。ステップＳ５８において決定されるジェスチャーイベントがジェスチャー識別情報「ダブルタップ」のジェスチャーイベントの場合は、表示領域を移動させない。
【０１６１】
ステップＳ６６においては、レンダリング画像のうちステップＳ６５で決定される表示領域を表示部１６１に表示させ、処理をステップＳ６８に進める。
【０１６２】
ステップＳ６８においては、コンテンツの表示を終了する指示を受け付けたか否かを判断する。例えば、ハードキー部１６７に含まれる複数のキーのうち、画像表示プログラムを終了する指示が割り当てられたキーが指示されたならばコンテンツの表示を終了する指示を受け付ける。コンテンツンの表示を終了する指示を受け付けたならば処理を終了するが、そうでなければ処理をステップＳ５８に戻す。
【０１６３】
次に、３つの要素を含むＷｅｂページを例にＭＦＰ１００でＷｅｂページを表示する動作を具体的に説明する。ここでは、Ｗｅｂページに含まれるスタイルシートによって、サイズが大の第１のレンダリング画像と、サイズが中の第２のレンダリング画像と、サイズが小の第３のレンダリング画像と、が定められているものとする。
【０１６４】
図１６は、Ｗｅｂページの第１のレンダリング画像の一例を示す図である。図１６を参照して、Ｗｅｂページの第１のレンダリング画像３００は、第１の要素が配置された領域３０１と、第２の要素が配置された領域３０２と、第３の要素が配置された領域３０３と、を含む。第１のレンダリング画像３００の横方向のサイズは、表示部１６１の表示面の横方向のサイズの１．２倍である。
【０１６５】
図１７は、Ｗｅｂページの第２のレンダリング画像の一例を示す図である。図１７を参照して、Ｗｅｂページの第２のレンダリング画像３１０は、第２の要素が配置された領域３１２と、第３の要素３１３が配置された領域３１３と、を含む。第２のレンダリング画像３１０の横方向のサイズは、表示部１６１の表示面の横方向のサイズの１倍である。
【０１６６】
図１８は、Ｗｅｂページの第３のレンダリング画像の一例を示す図である。図１８を参照して、Ｗｅｂページの第３のレンダリング画像３２０は、第２の要素が配置された領域３２２を含む。第３のレンダリング画像３２０の横方向のサイズは、表示部１６１の表示面の横方向のサイズの０．８倍である。
【０１６７】
ＭＦＰ１００において、Ｗｅｂページをダウンロードした段階においては、図１７に示した第２のレンダリング画像３１０の全体が表示部１６１に表示される。換言すれば、表示領域の横方向のサイズは、表示部１６１の表示面の横方向のサイズおよび第２のレンダリング画像３１０の横方向のサイズと同じである。
【０１６８】
表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの１．２倍になると、図１６に示した第１のレンダリング画像３００の全体が表示部１６１に表示される。また、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの０．８倍になると、図１８に示した第３のレンダリング画像３２０の全体が表示部１６１に表示される。
【０１６９】
したがって、ユーザーがピンチイン操作またはピンチアウト操作を入力しているジェスチャー期間の間に、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの０．８倍より大きなサイズから０．８倍以下のサイズに変動するとき、第２のレンダリング画像から第３のレンダリング画像に切り換えられ、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの０．８倍以下のサイズから０．８倍より大きなサイズに変動するとき、第３のレンダリング画像から第２のレンダリング画像に切り換えられる。
【０１７０】
また、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの１．２倍より小さなサイズから１．２倍以上のサイズに変動するとき、第２のレンダリング画像から第１のレンダリング画像に切り換えられ、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの１．２倍以上のサイズから１．２倍より小さなサイズに変動するとき、第１のレンダリング画像から第２のレンダリング画像に切り換えられる。このため、ＭＦＰ１００は、レンダリング画像を切り換える都度、Ｗｅｂページから第１〜第３のレンダリング画像のいずれかを生成しなければならない。
【０１７１】
本実施の形態におけるＭＦＰ１００は、ユーザーがピンチイン操作またはピンチアウト操作を入力する場合、ジェスチャー期間の開始時に表示部１６１のＶＲＡＭに記憶されているレンダリング画像からキャプチャー画像を取得し、ジェスチャー期間の間はキャプチャー画像中の表示領域を表示部１６１に表示させる。このため、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの０．８倍より大きなサイズから０．８倍以下のサイズに変動するとき、第３のレンダリング画像を生成する必要がなく、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの０．８倍以下のサイズから０．８倍より大きなサイズに変動するとき、第２のレンダリング画像を生成する必要がない。また、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの１．２倍より小さなサイズから１．２倍以上のサイズに変動するとき、第１のレンダリング画像を生成する必要がなく、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの１．２倍以上のサイズから１．２倍より小さなサイズに変動するとき、第２のレンダリング画像を生成する必要がない。このため、ジェスチャー期間の間は、レンダリング画像を生成する必要がないので、ＣＰＵ１１１の負荷を低減することができ、表示部１６１に表示する画像の変化をスムーズにすることができる。
【０１７２】
また、表示部１６１の表示面のサイズを、縦対横の比が、１対２とする場合、ユーザーがローテーション操作を入力しているジェスチャー期間の間に、表示領域が９０度回転すると、表示領域の横方向のサイズが２倍または１／２倍に変動する。表示領域の横方向のサイズがサイズの２倍に変動するとき、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの１．２倍より小さなサイズから１．２倍以上のサイズに変動する場合、また、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの０．８倍以下のサイズから０．８倍より大きなサイズに変動する場合がある。
【０１７３】
また、表示領域の横方向のサイズがサイズの１／２倍に変動するとき、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの０．８倍以下のサイズから０．８倍より大きなサイズに変動する場合、また、表示領域の横方向のサイズが表示部１６１の表示面の横方向のサイズの１．２倍より小さなサイズから１．２倍以上のサイズに変動する場合がある。
【０１７４】
本実施の形態におけるＭＦＰ１００は、ユーザーがローテーション操作を入力する場合、ジェスチャー期間の開始時に表示部１６１のＶＲＡＭに記憶されているレンダリング画像からキャプチャー画像を取得し、ジェスチャー期間の間はキャプチャー画像中の表示領域を表示部１６１に表示させる。このため、表示領域の横方向のサイズが２倍または１／２倍に変動するとき、レンダリング画像を生成する必要がない。レンダリング画像を生成する必要がないので、ＣＰＵ１１１の負荷を低減することができ、表示部１６１に表示する画像の変化をスムーズにすることができる。
【０１７５】
このため、ユーザーが操作を入力している最中に変動する表示領域の画像を表示する際のレスポンスタイムを短くすることができる。特に、ジェスチャー期間においては、マウスイベントが生成されるごとに、ジェスチャーイベントが決定されるので、表示領域のサイズが変化する回数が多いので、ジェスチャー期間における上記レスポンスタイムを短くすることができる。
【０１７６】
また、キャプチャー画像のサイズは、表示領域のサイズよりも大きくしているので、ピンチイン操作で表示領域のサイズが拡大される場合であっても表示部１６１に変更前の表示領域に存在しなかった画像を表示することができる。
【０１７７】
また、キャプチャー画像のサイズは、表示領域のサイズよりも大きくしているので、ローテーション操作で表示領域が回転される場合であっても表示部１６１に回転前の表示領域に存在しなかった画像を表示することができる。なお、ここでは、キャプチャー画像のサイズは、表示領域のサイズの４倍としたが、これに限定されるものではなく、表示領域のサイズの整数倍であればよい。
【０１７８】
以上説明したように、本実施の携帯におけるＭＦＰ１００は、ユーザーにより指示される１以上の位置の変化に基づいて、複数のジェスチャーイベントのいずれか１つを決定し、ジェスチャーイベントに従って、対象画像と表示領域とを表示部分として決定し、表示領域のサイズに基づいて、コンテンツのレンダリング画像のサイズを決定し、決定されたサイズのレンダリング画像を生成し、表示部分の画像を表示部１６１に表示する。レンダリング画像を対象画像に決定している状態で、ジェスチャーイベントが決定されることに応じて、新たなレンダリング画像が生成される前の段階で、レンダリング画像中で、ジェスチャーイベントが決定される時点における表示領域である基準領域の位置を基準に定まる複数の位置に表示領域をサイズを変更することなく順に移動させ、レンダリング画像中の複数の位置それぞれにおける表示領域の画像を取得し、取得される複数の画像を含むキャプチャー画像を取得し、ジェスチャー期間の間は、キャプチャー画像を対象画像に決定する。このため、ジェスチャー期間の間は、キャプチャー画像を対象画像に決定するので、新たなレンダリング画像を生成しないようにして、レンダリング画像を生成するための負荷を低減することができる。その結果、ユーザーが操作を入力している間における画像の表示をスムーズにすることが可能な画像表示装置を提供することができる。
【０１７９】
また、ジェスチャー期間が終了した後は、外部に記憶されたコンテンツと、ジェスチャー期間の最後に決定された表示領域のサイズとに基づいて、コンテンツのレンダリング画像を生成し、ジェスチャー期間が終了した後に生成されたレンダリング画像を対象画像に決定し、レンダリング画像中でジェスチャー期間の最後に決定された表示領域に対応する領域を新たな表示領域に決定する。このため、ジェスチャー期間が終了した時点において、新たなレンダリング画像が生成され、表示領域の画像が表示されるので、ジェスチャー期間にレンダリング画像を生成する場合と同様の画像を表示することができる。
【０１８０】
さらに、ジェスチャー識別情報「ピンチアウト」、「ピンチイン」または「ローテーション」のジェスチャーイベントが決定される場合、キャプチャー画像を対象画像に決定し、ジェスチャー識別情報「フリック」、「スワイプ」または「ダブルタップ」のジェスチャーイベントが決定される場合、レンダリング画像を対象画像に決定する。このため、新たなレンダリング画像が生成される場合のあるジェスチャーイベントが決定される場合に限って、キャプチャー画像を生成するようにし、新たなレンダリング画像が生成されることのないジェスチャーイベントが決定される場合は、キャプチャー画像を生成しないようにすることができる。
【０１８１】
また、タッチパネル１６５により検出される１以上の位置の変化を示すパラメータを決定し、決定されたパラメータに従って表示領域を変更する。このため、ユーザーは１本以上の指でタッチパネルを指示するだめでよく、操作が容易である。
【０１８２】
また、表示領域のサイズは、表示部１６１の表示面の解像度、レンダリング画像の解像度、および表示倍率により定まる。
【０１８３】
また、キャプチャー画像は、レンダリング画像中で表示領域のサイズの整数倍のサイズである。好ましくは、４倍である。また、表示領域がレンダリング画像中で周辺近辺にあり、キャプチャー画像を生成するための位置まで並行移動できない場合には、キャプチャー画像のサイズを表示領域の整数倍ではなく、表示領域が並行移動可能な位置で定まるサイズにする。このため、表示領域をサイズを変更することなくレンダリング画像中で移動させることによってキャプチャー画像を取得することができる。
【０１８４】
また、ウェブページが複数の部分コンテンツを含む場合、複数の部分コンテンツの一部または全部を含むレンダリング画像を生成する。このため、表示領域のサイズに応じてレンダリング画像に含まれる部分コンテンツが異なる場合であっても、レンダリング画像中の表示領域の画像をスムーズに表示することができる。
【０１８５】
なお、上述した実施の形態においては、画像表示装置の一例としてＭＦＰ１００について説明したが、図１４および図１５に示した処理を、ＭＦＰ１００を制御するＣＰＵ１１１に実行させる画像表示方法、また、その画像表示方法をＣＰＵ１１１に実行させるための画像表示プログラムとして、発明を捉えることができるのは言うまでもない。
【０１８６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１８７】
＜付記＞
（１）  前記表示領域決定手段は、前記決定されたジェスチャーイベントに従って表示倍率を決定する表示倍率決定手段と、
前記決定された表示倍率と、前記表示手段の表示面のサイズと、に基づいて、前記表示領域のサイズを決定する変倍サイズ決定手段と、を含む、請求項１〜１０のいずれかに記載の画像表示装置。
（２）  前記表示領域のサイズは、前記表示領域の所定方向の長さであり、
前記表示領域決定手段は、前記決定されたジェスチャーイベントに従って表示領域を回転させる表示領域回転手段と、
前記表示領域回転手段により前記表示領域が回転される場合、前記回転された後の表示領域の前記所定方向のサイズを決定する回転動作サイズ決定手段と、を含む請求項１〜１０のいずれかに記載の画像表示装置。
（３）  前記レンダリング画像生成手段は、前記表示領域のサイズが決定されるごとに、外部に記憶されたコンテンツと、前記表示手段の表示面のサイズと、前記決定された表示領域のサイズに基づき定まる表示倍率とに基づいて、前記コンテンツのレンダリング画像のサイズを決定する画像サイズ決定手段を、含む、請求項１〜１０のいずれかに記載の画像表示装置。
（４）  前記対象画像決定手段は、前記キャプチャー画像を対象画像に決定した段階において、前記取得されたキャプチャー画像中で前記レンダリング画像中の前記基準領域に対応する領域を前記表示領域に決定し、前記ジェスチャー期間の間は、前記ジェスチャーイベント決定手段により決定されるジェスチャーイベントに従って表示領域を決定する、請求項１〜１０のいずれかに記載の画像表示装置。
【符号の説明】
【０１８８】
１００  ＭＦＰ、１１  コンテンツ取得部、１３  レンダリング画像生成部、１５  表示部分決定部、１７  表示制御部、１９  画像サイズ決定部、２１  通常期間決定部、２３  キャプチャー画像取得部、２５  対象画像決定部、２７  終了時決定部、２９  表示領域決定部、３１  移動部、３３  変倍部、３５  表示倍率決定部、３７  回転部、３９  ジェスチャー期間検出部、５１  アプリケーション部、５３  調停部、５５  操作変換部、５７  オペレーティング部、７１  コンテンツ取得部、８１  関連付部、８３  ジェスチャーイベント決定部、８５  マウスイベント生成部、８７  表示部制御部、９１  マスターテーブル、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部、１６７Ａ，１６７Ｂ，１６７Ｃ  ハードキー、１６７Ｄ  ハードキー、２０６  表示部。
【図１】
2015075955.tif 000003
【図２】
2015075955.tif 000004
【図３】
2015075955.tif 000005
【図４】
2015075955.tif 000006
【図５】
2015075955.tif 000007
【図６】
2015075955.tif 000008
【図７】
2015075955.tif 000009
【図８】
2015075955.tif 000010
【図９】
2015075955.tif 000011
【図１０】
2015075955.tif 000012
【図１１】
2015075955.tif 000013
【図１２】
2015075955.tif 000014
【図１３】
2015075955.tif 000015
【図１４】
2015075955.tif 000016
【図１５】
2015075955.tif 000017
【図１６】
2015075955.tif 000018
【図１７】
2015075955.tif 000019
【図１８】
2015075955.tif 000020