(57)【要約】【課題】簡単な操作でオブジェクトの表示形態を変更したり、変更後のオブジェクトを記憶したりすることができる情報処理装置を提供する。【解決手段】液晶表示画面４０２の画面に表示され、ユーザの操作方向に応じてその表示形態が変化する画像１２０１を指１２０２でタッチして選択する。選択された画像１２０１の表示形態を指１２０２のタッチにより固定させ、固定された画像１２０１の表示形態を指１２０２のアップにより解除させることでそれが変化できるようにする。ユーザの操作の仕方に応じて変化する情報処理装置４０１の姿勢を検出するセンサが、選択された画像１２０１の表示形態が固定されたときの姿勢を検出する。また、表示形態が解除されたときの情報処理装置４０１の姿勢を検出する。これらの検出結果から、情報処理装置４０１姿勢の変化量を求める。この変化量に応じて、情報処理装置４０１における画像１２０１の表示形態を変更し、変更された画像１２０１の表示形態を当該画像１２０１の識別情報と関連付けて記憶する。【選択図】図５
2014203127.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの操作の仕方に応じて変化する表示装置の姿勢を検出するセンサと、
前記表示装置の画面に表示され、前記ユーザの操作方向に応じてその表示形態が変化する１又は複数のオブジェクトのうちいずれかのオブジェクトを選択する選択手段と、
選択されたオブジェクトの表示形態を前記ユーザの第１操作により固定させる固定手段と、
固定された前記オブジェクトの表示形態を前記ユーザの第２操作により解除させることでそれが変化できるようにする解除手段と、
前記選択されたオブジェクトの表示形態が固定されたときに前記センサが検出した前記表示装置の姿勢と当該表示形態が解除されたときに前記センサが検出した前記表示装置の姿勢との変化量に応じて、前記表示装置における前記オブジェクトの表示形態を変更させる表示変更手段と、
変更されたオブジェクトの表示形態を当該オブジェクトの識別情報と関連付けて記憶する記憶手段と、を有することを特徴とする、
情報処理装置。
【請求項２】
前記選択手段は、前記ユーザの第１操作で指定された前記画面上の座標が、前記オブジェクトが表示されている領域の座標に含まれるときに、当該オブジェクトが選択されたとすることを特徴とする、
請求項１記載の情報処理装置。
【請求項３】
前記表示変更手段は、前記オブジェクトが前記識別情報を備えていない場合に、新たに識別情報を付与することを特徴とする、
請求項１又は２記載の情報処理装置。
【請求項４】
前記識別情報は、Ｅｘｉｆ情報のオリエンテーションタグを含むことを特徴とする、
請求項３記載の情報処理装置。
【請求項５】
前記表示変更手段は、前記オブジェクトに前記識別情報を付与することができないときに、前記姿勢の変化量に応じた回転角度で当該オブジェクトを回転させることを特徴とする、
請求項１又は２記載の情報処理装置。
【請求項６】
前記表示変更手段は、所定の条件を満たすときに、前記オブジェクトを回転処理する前に当該処理を許可するか否かの確認を前記ユーザに通知し、許可が確認されたときに当該回転処理を実行することを特徴とする、
請求項５記載の情報処理装置。
【請求項７】
前記センサは、前記表示装置の水平方向に対する傾斜角度を検出することを特徴とする、
請求項１乃至６のいずれかの項記載の情報処理装置。
【請求項８】
前記センサは、前記表示装置の画面を上方又は下方に向けた状態で当該表示装置の所定箇所を中心に水平に回転させた際の回転角度を検出することを特徴とする、
請求項１乃至６のいずれかの項記載の情報処理装置。
【請求項９】
前記センサは、前記表示装置の水平方向に対する傾斜角度を検出するとともに、当該表示装置の画面を上方又は下方に向けた状態で当該表示装置の所定箇所を中心に水平に回転させた際の回転角度を検出することを特徴とする、
請求項１乃至６いずれかの項記載の情報処理装置。
【請求項１０】
所定の表示装置の画面にオブジェクトを表示する情報処理装置の制御方法であって、
ユーザの操作の仕方に応じて変化する表示装置の姿勢を検出する処理と、
前記表示装置の画面に表示され、前記ユーザの操作方向に応じてその表示形態が変化する前記オブジェクトのうちいずれかのオブジェクトを選択する処理と、
選択されたオブジェクトの表示形態を前記ユーザの第１操作により固定させる処理と、
固定された前記オブジェクトの表示形態を前記ユーザの第２操作により解除させることでそれが変化できるようにする処理と、
前記選択されたオブジェクトの表示形態が固定されたときに検出された前記表示装置の姿勢と当該表示形態が解除されたときに検出された前記表示装置の姿勢との変化量に応じて、前記表示装置における前記オブジェクトの表示形態を変更させる処理と、
変更されたオブジェクトの表示形態を当該オブジェクトの識別情報と関連付けて記憶する処理と、を実行することを特徴とする、
情報処理装置の制御方法。
【請求項１１】
画面を有する表示装置に接続されるコンピュータを、当該画面に表示されたオブジェクトを操作する情報処理装置として動作させるためのコンピュータプログラムであって、
前記コンピュータを、
ユーザの操作の仕方に応じて変化する表示装置の姿勢を検出する検知手段；
前記表示装置の画面に表示され、前記ユーザの操作方向に応じてその表示形態が変化するオブジェクトのうちいずれかのオブジェクトを選択する選択手段；
選択されたオブジェクトの表示形態を前記ユーザの第１操作により固定させる固定手段；
固定された前記オブジェクトの表示形態を前記ユーザの第２操作により解除させることでそれが変化できるようにする解除手段；
前記選択されたオブジェクトの表示形態が固定されたときに検出された前記表示装置の姿勢と当該表示形態が解除されたときに検出された前記表示装置の姿勢との変化量に応じて、前記表示装置における前記オブジェクトの表示形態を変更させる表示変更手段；
変更されたオブジェクトの表示形態を当該オブジェクトの識別情報と関連付けて記憶する記憶手段；
として機能させることを特徴とする、コンピュータプログラム。
【請求項１２】
表示画面に１又は複数のオブジェクトを表示させる表示制御手段と、
ユーザの入力に基づいて、前記表示画面に表示された前記１又は複数のオブジェクトのうち、少なくとも１つのオブジェクトを選択する選択手段と、
前記表示画面の姿勢が変化したことを検出する検出手段と、
前記表示画面に表示されている１又は複数のオブジェクトのそれぞれに、表示方向を定義する定義手段とを備え、
前記表示制御手段は、前記検出手段が、前記表示画面の姿勢が変化したことを検出したときに、前記選択手段が前記少なくとも１つのオブジェクトを選択しているか否かに基づいて、前記１又は複数のオブジェクトのそれぞれを前記表示画面に表示させる向きを変更し、
前記定義手段は、前記選択手段による選択が解除されたときに、前記選択が解除されたオブジェクトが表示された向きに基づいて、当該オブジェクトに定義される表示方向を更新することを特徴とする情報処理装置。
【請求項１３】
表示制御手段により、表示画面に１又は複数のオブジェクトを表示させる表示制御工程と、
選択手段により、ユーザの入力に基づいて、前記表示画面に表示された前記１又は複数のオブジェクトのうち、少なくとも１つのオブジェクトを選択する選択工程と、
検出手段により、前記表示画面の姿勢が変化したことを検出する検出工程と、
定義手段により、前記表示画面に表示されている１又は複数のオブジェクトのそれぞれに、表示方向を定義する定義工程とを有し、
前記表示制御工程では、前記検出工程で、前記表示画面の姿勢が変化したことを検出したときに、前記選択工程で前記少なくとも１つのオブジェクトを選択されたか否かに基づいて、前記１又は複数のオブジェクトのそれぞれを前記表示画面に表示させる向きを変更し、
前記定義工程では、前記選択工程における選択が解除されたときに、前記選択が解除されたオブジェクトが表示された向きに基づいて、当該オブジェクトに定義される表示方向を更新することを特徴とする情報処理装置の制御方法。
【請求項１４】
コンピュータを、請求項１２に記載の情報処理装置として動作させるためのコンピュータプログラム。
【請求項１５】
コンピュータを、請求項１２に記載の情報処理装置として動作させるためのコンピュータプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形、画像等のオブジェクトの表示形態を変更する技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置では、撮影画像を最適な状態で再生表示するために、姿勢検知センサ等を備えるものがある。この機能を備えたカメラの中には、撮影時のカメラの姿勢、すなわち、縦位置（ポートレート）で撮影したのか又は横位置（ランドスケープ）で撮影したのかという姿勢情報を、画像データと共に記録するものがある。Ｅｘｉｆ（Exchangeable Image File Format、登録商標）という規格では、この姿勢情報を撮影画像の表示方向として表すタグが定義されている。以下、撮影時の姿勢に応じた向きで画像が表示される様子を、その画像の表示形態という。
【０００３】
また、スマートフォン、タブレットＰＣ、デジタルカメラといった画像の表示が可能な電子機器には、加速度センサや地磁気センサを内蔵したものがある。このような電子機器では、機器の仰角や方位角を検出又は測定して、水平面からの傾斜方向や、水平面上の回転方向を判断する。この判断結果から、画面に表示されている画像やアイコンなどのオブジェクトを、自動的に機器の方向とは逆に回転させて表示したり、あるいは再配置する機能を備えたものがある。
【０００４】
このような機能に関連する、特許文献１に開示された撮像装置では、撮像装置の一例であるデジタルカメラに加わる振れの加速度に応じて、表示画像の回転指示とデジタルカメラの操作を判別し、撮影画像を最適な状態で再生表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１９３０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示された撮像装置では、真上や真下といった方向に撮像装置を向けて撮影した場合、撮像装置の仰角や方位角を示す情報からでは、撮影された画像のどの辺を上として表示するのかが正しく判断されない場合がある。そのため、撮影された画像が、必ずしもユーザが望む向きで表示されるとは限らない。
また、画像の表示形態を変更しようと、撮像装置を回転したとしても、撮像装置の回転に表示形態が追従する場合、ユーザが望む表示方向で画像が表示されないことがある。このような場合は、ユーザ自身が画像編集アプリケーションを起動し、表示されている画像に回転処理を施すための操作を行わなければならず、ユーザにとって多大な負担となる、という課題が残る。
【０００７】
本発明は、画像等のオブジェクトの表示される向きを変更したり、変更後のオブジェクトを記憶したりする操作の操作性を向上させる目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、ユーザの操作の仕方に応じて変化する表示装置の姿勢を検出するセンサと、前記表示装置の画面に表示され、前記ユーザの操作方向に応じてその表示形態が変化する１又は複数のオブジェクトのうちいずれかのオブジェクトを選択する選択手段と、選択されたオブジェクトの表示形態を前記ユーザの第１操作により固定させる固定手段と、固定された前記オブジェクトの表示形態を前記ユーザの第２操作により解除させることでそれが変化できるようにする解除手段と、前記選択されたオブジェクトの表示形態が固定されたときに前記センサが検出した前記表示装置の姿勢と当該表示形態が解除されたときに前記センサが検出した前記表示装置の姿勢との変化量に応じて、前記表示装置における前記オブジェクトの表示形態を変更させる表示変更手段と、変更されたオブジェクトの表示形態を当該オブジェクトの識別情報と関連付けて記憶する記憶手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像等のオブジェクトの表示される向きを変更したり、変更後のオブジェクトを記憶したりする操作の操作性が向上する。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置の概略構成を表すブロック図。
【図２】情報処理装置の構成を表すブロック図。
【図３】情報処理装置のメモリマップ。
【図４】情報処理装置の方向と、方向センサの示す方向との関係を説明するための図。
【図５】情報処理装置に表示された画像の操作の様子を表した図。
【図６】制御手順のメイン処理を示すフローチャート。
【図７】制御手順のタッチ処理を示すフローチャート。
【図８】制御手順のアップ処理を示すフローチャート。
【図９】制御手順の回転処理を示すフローチャート。
【図１０】制御手順の画像データ変更処理を示すフローチャート。
【図１１】制御手順の画像回転変換処理を示すフローチャート。
【図１２】確認ダイアログの表示例を表す図。
【図１３】情報処理装置に表示された複数画像に対する操作の様子を表した図。
【図１４】制御手順の複数画像に対するアップ処理を示すフローチャート。
【図１５】（ａ）は、情報処理装置の使用場所を表す室内のパース図、（ｂ）は、ユーザが実際の北方向を正面として水平のまま縦長に情報処理装置を持った時に（ａ）の部屋の間取り図が東を上にして表示されている様子を示す図、（ｃ）は、表示されている間取り図を指でタッチし、情報処理装置を水平方向に保ったまま右に９０度回転した後に、指を離したときの様子を示す図。
【発明を実施するための形態】
【００１１】
［第１実施形態］
図１は、本実施形態に係る情報処理装置の概略構成を表すブロック図である。情報処理装置１００は、座標入力部１０１、表示部１０２、方向検出部１０３、記憶部１０４、制御部１０５を含んで構成される。
【００１２】
座標入力部１０１は、ユーザが指やペンなどで指示した位置を静電容量センサ、電磁気センサ、光学的センサなどにより電気信号として読取り、読取った結果を入力座標に変換して制御部１０５に送信する。入力座標への変換は、位置のズレや、縮尺の補正を行うために、制御部１０５に処理させる構成としてもよい。
表示部１０２は、制御部１０５から送信された描画データを表示する。表示部１０２は、ユーザの操作性と操作感を考慮すると、例えば座標入力部１０１と一体化されている構成が望ましい。その場合は、表示部１０２の表示の妨げとならないよう、座標入力部１０１を光が透過できるような構成とするか、表示部１０２の周辺部から座標を読取るタイプのものが望ましい。
【００１３】
方向検出部１０３は、表示部１０２と連動し、表示部１０２の姿勢を加速度センサ、地磁気センサなどによって電気信号として読取り、角度データに変換して制御部１０５に送信する。表示部１０２の姿勢は、水平方向に対する表示部１０２の傾斜角度や、表示部１０２の画面を上方又は下方に向けた状態で、当該表示部１０２を水平方向に回転させた際の回転角度などで表すことができる。記憶部１０４は、制御部１０５からの要求に応じて、画像データの読出しや記憶を行う。また、制御部１０５は、座標入力部１０１や方向検出部１０３から送信された入力座標や角度データをもとに、表示部１０２や記憶部１０４など各構成要素の動作を制御する。特に、方向検出部１０３が検出したし表示部１０２の姿勢から、表示部１０２が所定量回転されたことに応じて、表示部１０２に表示させているオブジェクトの向きを回転させるように制御する。このとき、変更後の表示方向は、当該オブジェクトに定義されている表示方向の情報に従う。このような制御により、本実施形態の情報処理装置１００は、特にタッチ操作が行われていない状況では、表示部１０２自体の向きに関わらない一定の方向に向けて表示させる。ただし、方向検出部１０３が検出したし表示部１０２の姿勢が、予め定められた特定の姿勢である場合には、回転を行わない等の制御を加えても良い。本実施形態で実行される具体的な制御処理手順は、制御部１０５に組み込まれている。
【００１４】
なお、制御部１０５の制御は、１つのハードウエアが行ってもよいし、複数のハードウエアが処理を分担して行ってもよい。また、例えば座標入力部１０１に対応する座標入力機能、方向検出部１０３に対応する方向検出機能、種々のデータを記憶部１０４に記憶する機能などを、後述するフローチャートの処理を実行させる制御プログラムとしてソフトウエアで実現することもできる。以下、これらの機能をハードウエアで実現する場合を例に、説明を進める。
【００１５】
図２は、情報処理装置１００を適用した、携帯型の情報処理装置４０１の主たる構成を表すブロック図である。情報処理装置４０１は、タッチパネル２０１、方向センサ２０４、不揮発性記憶媒体２０５、制御ユニット２０６を含んで構成される。
【００１６】
タッチパネル２０１は、座標入力部１０１として機能するデジタイザ２０２と、表示部１０２として機能する液晶ディスプレイ２０３とを有するデバイスである。タッチパネル２０１は、表示されたアイコンや画像、線画、図形といったオブジェクトを選択する選択操作の入力を受け付ける。
方向センサ２０４は、方向検出部１０３として機能するものであり、少なくとも情報処理装置４０１の姿勢、例えば縦方向及び横方向への傾き（回転）を検出する。方向センサ２０４は、例えば「ばね」と「おもり」とを用いた二軸加速度センサや、ジャイロスコープを用いた高精度のセンサなどである。また、仰角と同時に方位角も検出できる三軸式地磁気センサを用いてもよい。
【００１７】
不揮発性記憶媒体２０５は、記憶手段である記憶部１０４として機能するものであり、画像データの読出し及びその記憶が可能な媒体である。媒体は、例えば内蔵型のフラッシュメモリや、リムーバブルメディアである。
制御ユニット２０６は、制御部１０５として機能するものであり、バス２０９を介してＣＰＵ２０７、Ｉ／Ｏコントローラ２０８、ＲＯＭ２１０、ＲＡＭ２１１が接続される一種のコンピュータである。ＣＰＵ２０７は、各種処理のための演算や論理判断などを行うとともに、バス２０９に接続された各構成要素の動作を制御する。ＲＯＭ２１０は、制御に必要な処理の手順と定数など、ＣＰＵ２０７が実行するコンピュータプログラムが格納される。ＲＡＭ２１１は、ＣＰＵ２０７の作業領域であり、一次的または恒久的に記憶することが必要な書換え可能なデータを格納する。制御に必要なデータの入出力は、Ｉ／Ｏコントローラ２０８を介し、メモリマップドＩ／Ｏ方式によりＣＰＵ２０７で行う。ＲＯＭ２１０に格納されているコンピュータプログラムには、後述する書くフローチャートに示される処理手順を含む。ＣＰＵ２０７は、ＲＯＭ２１０に格納されているプログラムを読み出し、ＲＡＭ２１１に展開し実行することで、本実施形態の各処理を実現することができる。
【００１８】
図３は、ＣＰＵ２０７がアクセスするメモリ領域の構造を示したメモリマップである。制御プログラム領域３０１は、ＣＰＵ２０７が読取り可能な制御プログラムが記憶される領域である。定数領域３０２は、制御に必要な各種定数が記憶される領域である。
制御プログラム作業領域３０３は、制御過程において一時的に使用される記憶領域である。表示部１０２に表示される描画オブジェクト等も、この作業領域に一時的に記憶される。また、画像デコード領域３０４は、不揮発性記憶媒体２０５から読出した画像データを描画データにデコード（復号化）したり、画像の回転処理の結果を一時的に保持したりするための記憶領域である。
Ｉ／Ｏ領域３０５は、Ｉ／Ｏコントローラ２０８へのデータのやりとりや命令の送信、状態の取得などに使われる領域である。
【００１９】
なお、情報処理装置４０１の機器の構成は、設計者の意図や目的に合わせて適宜選択又は変更することができる。
【００２０】
図４は、情報処理装置４０１の外観を示しており、情報処理装置４０１の姿勢と方向センサ２０４の検出結果との関係を示す図である。
情報処理装置４０１には、タッチパネル２０１を搭載した液晶表示画面４０２（以下、単に表示画面４０２と示す）が備えられており、その中心を点「Ｏ」とする。点「Ｏ」に交わる２本の点線は、それぞれ情報処理装置４０１の下辺に対して４５度の傾きをもち、互いに垂直に交わることで表示画面４０２を４つの領域に分割する補助線である。４つの領域をそれぞれ、右辺領域４０５、上辺領域４０６、左辺領域４０７、下辺領域４０８と呼ぶ。
なお、方向センサ２０４が検出する情報処理装置４０１の姿勢は、水平方向に対する情報処理装置４０１の傾斜角度（回転角度）や、表示画面４０２を上方又は下方に向けた状態で、情報処理装置４０１を水平方向に回転させた際の回転角度として表すことができる。便宜上、方向センサ２０４の検知結果を、姿勢情報と呼ぶ。
【００２１】
図４に示す点「Ｇ」は、方向センサ２０４が検知した重力の方向と大きさを、点「Ｏ」からのベクトルとして表示画面４０２上に射影したものである。同様に、点「Ｎ」は方向センサ２０４が検知した方位角から、北方向を求めたときの仮想点である。本明細書では、便宜上、ベクトル「ＯＧ」を重力方向正射影ベクトル４０４と呼ぶ。また、ベクトル「ＯＮ」を北方向正射影ベクトル４０３と呼ぶ。北方向正射影ベクトル４０３は、４５度単位で方向が算出できる精度を保証することができる。
【００２２】
また、本実施形態では、方向センサ２０４の検出結果から算出された点「Ｇ」が、下辺領域４０８に存在する場合の機器の方向を「０度」と定義する。同様に、点「Ｇ」が右辺領域４０５に存在する場合を「右に９０度」、上辺領域４０６に存在する場合を「１８０度」、左辺領域４０７に存在する場合を「左に９０度」と定義する。
また、方向センサ２０４の検知結果から算出された点「Ｎ」が、下辺領域４０８に存在する場合の機器の方向を「南」と定義する。同様に、点「Ｎ」が右辺領域４０５に存在する場合を「西」、上辺領域４０６にある場合を「北」、左辺領域４０７にある場合を「東」と定義する。
【００２３】
なお、方向センサ２０４は、制御部１０５からの要求に応じて、検出結果を制御部１０５へ送信する。なお、各領域が切り替わる境界付近では、特定される領域が安定しないことがある。これに対処するため、方向センサ２０４の感度を落としたり、制御の中で小さな変化を無視するようにしてもよい。このような技術は、従来から知られている。
【００２４】
次に、ユーザによる情報処理装置４０１に表示された画像の操作について、図５を用いて説明する。図５は、情報処理装置４０１の表示画面４０２に表示された画像「Ｍ」１２０１を、ユーザが指１２０２でタッチしたまま（図５（ａ））、点「Ｏ」を中心に時計回りに９０度回転させた姿勢変化後（図５（ｂ））の様子を表した図である。ここで、画像「Ｍ」は、図５（ａ）に図示されているような方向が、表示方向として定義されている。
【００２５】
図５（ａ）に示すように、画像「Ｍ」１２０１は、情報処理装置４０１の長手方向を縦置きした状態であれば、画像「Ｍ」１２０１に定義された表示方向に従って、文字「Ｍ」が反時計回りに９０度左向きの表示形態で表示される。例えばユーザが、情報処理装置４０１を時計回りに９０度右に回転させたとする。このまま情報処理装置４０１を回転させた場合、画像「Ｍ」１２０１に定義された表示方向に基づいて、画像「Ｍ」１２０１は、情報処理装置４０１の回転方向とは逆方向に回転する。つまり文字「Ｍ」は、反時計回りに９０度左向きのまま表示される。画像に定義された表示方向がユーザの意図に沿っていた場合、情報処理装置４０１。ただし、ユーザが文字「Ｍ」を本来の上下方向に従って読みたいと考えた場合、情報処理装置４０１を回転させるだけでは、文字「Ｍ」の向きを変更することができない。
そこで、本実施形態では、ユーザがタッチによって表示されている画像等のオブジェクトを選択した場合、その時に表示されているオブジェクトの表示状態を固定する。すなわち、その時に表示されているオブジェクトの表示方向と、表示部１０２の方向の相対方向を固定する。そして、選択が解除された時、その時の表示部１０２の姿勢に基づいた表示方向を、改めてオブジェクトに定義する。つまり、ユーザは、図５（ａ）に示すように、指１２０２で画像「Ｍ」１２０１をタッチして選択し、画像の表示部１０２に対する表示形態を固定した後、図５（ｂ）に示すように情報処理装置４０１を時計回りに９０度右に回転させる。それにより、図５（ｂ）に示すような画像を見ることができるようになる。その後、そのまま指１２０２を表示画面４０２から離すことで、図５（ｂ）のように表示方向が定義しなおされた画像「Ｍ」１２０１が記憶される。そのため、情報処理装置４０１を元の姿勢に戻したとしても、変更後の画像「Ｍ」１２０１の表示形態は維持される。これら機能を実現するための一連の画像処理について、以下、詳細に説明する。
【００２６】
画像処理の主たる制御手順を図６から図１１を参照しながら説明する。図６は、画像処理におけるメイン処理を示すフローチャートである。メイン処理とは、例えば特定の画像を表示画面４０２に表示させるために、ユーザによる選択操作を受付けたことを契機に開始される処理である。
なお、メイン処理が開始されるまでには、情報処理装置４０１の起動や初期設定が完了し、各種イベントが発生及び通知可能な状態になっているものとする。
【００２７】
ＣＰＵ２０７は、メイン処理の開始を契機に、不揮発性記憶媒体２０５から画像データを読出し、描画オブジェクトを生成する（ステップＳ１０１）。描画オブジェクトとは、アイコンや画像、線画、図形といった内部的にひと固まりの描画データとして扱われるものである。生成された描画オブジェクトは、液晶ディスプレイ２０３に表示される（ステップＳ１０２）。その後、ＣＰＵ２０７は、タッチイベント、アップイベント、回転イベント、その他のイベントがＯＳ（オペレーティング・システム）から通知されるのを待つ（ステップＳ１０３）。
【００２８】
ＣＰＵ２０７は、何らかのイベントが通知された場合、そのイベントの種類を判別する（ステップＳ１０４）。ここでは、タッチイベント、アップイベント、回転イベント、その他のイベントについて、イベント種類の判別と判別結果に応じた分岐とが行われる。
タッチイベント及びアップイベントは、具体的には、タッチパネル２０１に対して指などが触れた場合及び、触れていた指が離れた場合に発生し、入力座標とともにイベントとして通知される。また、回転イベントは、方向センサ２０４の直近の検出結果に基づき、相対角度で４５度以上の情報処理装置４０１の回転が検出されたときに発生し、９０度単位の角度情報とともにイベントとして通知される。通知されたイベントが、タッチイベントと判別された場合はタッチ処理（ステップＳ１０５）へ、アップイベントと判別された場合はアップ処理（ステップＳ１０６）へ、回転イベントと判別された場合は回転処理（ステップＳ１０７）へそれぞれ移行する。
なお、その他のイベントとは、外部からの通信要求イベントや、電池残量警告イベントといった通常の情報処理装置４０１で扱われるイベントである。
【００２９】
タッチ処理（ステップＳ１０５）、アップ処理（ステップＳ１０６）、回転処理（Ｓ１０７）については、それぞれ図７、図８、図９に示すフローチャートを用いて説明する。それぞれの処理が完了した場合、再びイベント通知待ち（ステップＳ１０３）に戻り、処理が継続される。
【００３０】
図７は、ステップＳ１０５のタッチ処理を示すフローチャートである。ＣＰＵ２０７は、タッチイベントと判別されたことを契機に（図６：ステップＳ１０５）、タッチ処理を開始する。ＣＰＵ２０７は、イベントに含まれる入力座標に関連する描画オブジェクトを検索する（ステップＳ２０１）。描画オブジェクトは、描画のための情報として、位置座標や大きさ、描画領域などを保持していることから、入力座標と描画オブジェクトとが関連付けられる。例えば、入力座標と描画オブジェクトとの関連付けは、入力座標が描画オブジェクトの表示領域に含まれているか否かの判断による関連付けであってもよい。あるいは、入力座標と、描画オブジェクトの中心座標までの距離が最も短い描画オブジェクトを関連づけしてもよい。入力座標と描画オブジェクトとを関連付ける条件は、装置設計者により予め設定してもよいし、ユーザの設定で変えられるように構成してもよい。
【００３１】
ＣＰＵ２０７は、描画オブジェクトを検索した結果、描画オブジェクトが検出された場合（ステップＳ２０２：Ｙｅｓ）、検出された描画オブジェクトを固定する（ステップＳ２０３）。描画オブジェクトを固定するとは、情報処理装置４０１の表示部１０２と描画オブジェクトの相対的な関係を固定することである。つまり、表示されている描画オブジェクトをそのままの状態で維持する。このとき見た目には、描画オブジェクトは情報処理装置４０１と同方向に回転する。この処理は、描画オブジェクトに固定フラグをセットし、固定フラグがセットされている描画オブジェクトは、後述する回転処理の対象としないことで実現される。他の方法としては、例えば固定された描画オブジェクトを管理する表を別に用意して、その表へ登録する処理であってもよい。
なお、ＣＰＵ２０７は、描画オブジェクトが検出されなかった場合（ステップＳ２０２：Ｎｏ）、タッチ処理を終了する。
【００３２】
ＣＰＵ２０７は、方向センサ２０４からタッチ時点の情報処理装置４０１の姿勢情報を取得する（ステップＳ２０４）。取得された姿勢情報は、制御プログラム作業領域３０３に記憶され（ステップＳ２０５）、その後、ＣＰＵ２０７は、タッチ処理を終了する。このステップＳ２０５で記憶した姿勢情報は、タッチの際の情報処理装置４０１の姿勢として、後述する情報処理装置４０１の方向変化検出のステップにおける基準姿勢となる。
【００３３】
図８は、ステップＳ１０６のアップ処理を示すフローチャートである。
ＣＰＵ２０７は、アップイベントと判別されたことを契機に（図６：ステップＳ１０６）、アップ処理を開始する。ＣＰＵ２０７は、表示されている描画オブジェクトから、ステップＳ２０３で固定された描画オブジェクトを検索する（ステップＳ３０１）。
固定された描画オブジェクトを検索した結果、描画オブジェクトが検出された場合（ステップＳ３０２：Ｙｅｓ）、方向センサ２０４からアップ時点の情報処理装置４０１の姿勢情報を取得する（ステップＳ３０３）。
なお、ＣＰＵ２０７は、固定された描画オブジェクトが検出されなかった場合（ステップＳ３０２：Ｎｏ）、アップ処理を終了する。
【００３４】
ＣＰＵ２０７は、アップ時点の情報処理装置４０１の姿勢情報と、ステップＳ２０５で記憶したタッチ時点の姿勢情報とを比較し、情報処理装置４０１の姿勢変化の有無を判別する（ステップＳ３０４）。姿勢変化があったと判別した場合（ステップＳ３０４：Ｙｅｓ）、ＣＰＵ２０７は、画像データの変更処理（ステップＳ３０５）を呼び出す。画像データの変更処理では、情報処理装置４０１の姿勢の変化量に応じて、画像データに回転処理を施し、その結果として処理の成功又はエラーを示す情報を返す。詳細は後述する。
なお、ＣＰＵ２０７は、情報処理装置４０１の姿勢変化がなかったと判別した場合（ステップＳ３０４Ｎｏ）、ステップＳ３０８へ処理を進める。
【００３５】
ＣＰＵ２０７は、画像データ変更処理が成功したか否かを判別し、成功したと判別した場合（ステップＳ３０６：Ｙｅｓ）、変更後の画像データを不揮発性記憶媒体２０５へ記憶する（ステップＳ３０７）。また、成功しなかったと判別した場合（ステップＳ３０６：Ｎｏ）、ステップＳ３０８へ処理を進める。
【００３６】
ＣＰＵ２０７は、ステップＳ２０３で固定された描画オブジェクトの固定を解除し（ステップＳ３０８）、アップ処理を終了する。描画オブジェクトの固定を解除する処理は、描画オブジェクトに固定フラグがセットされている場合、該当するフラグをリセットする。あるいは、固定された描画オブジェクトを表で管理していた場合には、その表から該当する描画オブジェクトの登録を削除する。
【００３７】
図９は、ステップＳ１０７の回転処理を示すフローチャートである。
ＣＰＵ２０７は、回転イベントと判別されたことを契機に（図６：ステップＳ１０７）、回転処理を開始する。ＣＰＵ２０７は、表示されている描画オブジェクトの中で、回転対象となる描画オブジェクトを検索する（ステップＳ４０１）。なお、タッチ処理のステップＳ２０３で固定化された描画オブジェクトは、回転処理の対象とはならないため、検索対象から除かれる。
【００３８】
ＣＰＵ２０７は、回転対象となる描画オブジェクトを検索した結果、描画オブジェクトが検出された場合（ステップＳ４０２：Ｙｅｓ）、情報処理装置４０１の姿勢変化の有無を判別する（ステップＳ４０３）。姿勢変化があったと判別した場合（ステップＳ４０３：Ｙｅｓ）、ＣＰＵ２０７は、検出された描画オブジェクトの表示させる方向を、描画オブジェクトに定義されている表示方向に従うように変更する（ステップＳ４０４）。具体的には、情報処理装置４０１の姿勢の変化前後で、描画オブジェクトの表示形態が同じとなるように、すなわち、表示部１０２の回転に関わらず見た目の方向が変わらないように、描画方向が変更される。
【００３９】
ＣＰＵ２０７は、不揮発性記憶媒体２０５に記憶されている画像データを読出し、画像データから描画オブジェクトを生成し（ステップＳ４０５）、生成した描画オブジェクトの描画を行い（ステップＳ４０６）、回転処理を終了する。
また、ＣＰＵ２０７は、回転対象となる描画オブジェクトが検出されなかった場合（ステップＳ４０２：Ｎｏ）及び、情報処理装置４０１の姿勢変化がなかったと判別した場合（ステップＳ４０３：Ｎｏ）、回転処理を終了する。
【００４０】
図１０は、ステップＳ３０５の画像データ変更処理を示すフローチャートである。ＣＰＵ２０７は、画像データ変更処理（図８：ステップＳ３０５）の呼び出しを契機に、処理を開始する。
ＣＰＵ２０７は、情報処理装置４０１が時計回り（右）に９０度回転したか否かを判別し（ステップＳ５０１）、回転したと判別した場合（ステップＳ５０１：Ｙｅｓ）、変数Ｖに値「６」を代入する（ステップＳ５０３）。本実施形態では、変数Ｖに代入する値は、「Ｅｘｉｆ」で画像の向きを示す識別情報の中の、オリエンテーション（Orientation）タグで定義された属性値である。
ＣＰＵ２０７は、また、機器が反時計回り（左）に９０度回転したか否かを判別し、回転したと判別した場合（ステップＳ５０２：Ｙｅｓ）、変数Ｖに値「８」を代入する（ステップＳ５０４）。また、そうでない場合（ステップＳ５０２：Ｎｏ）、情報処理装置４０１が１８０度回転したとみなし、変数Ｖに値「３」を代入する（ステップＳ５０５）。変数Ｖに値を代入した後は、ステップＳ５０６へ処理を進める。
【００４１】
ＣＰＵ２０７は、画像データに識別情報が付与されているか否かを判別し（ステップＳ５０６）、識別情報があると判別した場合（ステップＳ５０６：Ｙｅｓ）、変数Ｖの値をオリエンテーションタグの属性値に設定し（ステップＳ５１０）、その後、画像データ変更処理を終了する。
ＣＰＵ２０７は、また、識別情報が付与されていないと判別した場合（ステップＳ５０６：Ｎｏ）、画像データに識別情報を付与できるか否かを判別する（ステップＳ５０７）。付与できると判別した場合（ステップＳ５０７：Ｙｅｓ）、ＣＰＵ２０７は、画像データに識別情報を付与する（ステップＳ５０８）。ＣＰＵ２０７は、その後、変数Ｖの値をオリエンテーションタグの属性値に設定し（ステップＳ５１０）、画像データ変更処理を終了する。
【００４２】
また、画像データに識別情報が付与できないと判別した場合（ステップＳ５０７：Ｎｏ）、ＣＰＵ２０７は、画像回転変換処理（ステップＳ５０９）を呼び出す。画像回転変換処理では、画像データをメモリマップに展開して回転処理を施し、成功時には画像データを元の記憶形式に戻す処理が行われる。詳細は後述する。
画像回転変換処理（ステップＳ５０９）では、この処理の中止をユーザが選択することも可能であり、中止が選択された場合はエラーを示す情報が返される。ＣＰＵ２０７は、画像回転変換処理の結果を判別し、エラーと判別した場合（ステップＳ５１１：Ｙｅｓ）、画像データ変更処理をエラー終了する。また、そうでないと判別した場合（ステップＳ５１１：Ｎｏ）、画像データ変更処理を終了する。
【００４３】
図１１は、ステップＳ５０９の画像回転変換処理を示すフローチャートである。ＣＰＵ２０７は、画像回転変換処理（図１０：ステップＳ５０９）の呼び出しを契機に、処理を開始する。ＣＰＵ２０７は、画像データの記憶形式から、画像回転変換処理により画質が劣化する可能性があるか否かを判別する（ステップＳ６０１）。画質が劣化する可能性がないと判別した場合（ステップＳ６０１：Ｎｏ）、画像データをデコード（復号化）し、図３で示したメモリマップの画像デコード領域３０４に展開する（ステップＳ６０４）。
画像データは、記憶形式で用いられた圧縮方式によっては、画像回転変換処理により画質が劣化することがある。画像データに使われている圧縮方式は、デコード時にファイルのヘッダ部を数バイト読み込むことで判別できる場合があり、これを用いて画質が劣化する可能性の有無を判別する。なお、判別することができない場合には、画質が劣化する可能性があるものとして処理してもよい。
【００４４】
ＣＰＵ２０７は、画質が劣化する可能性があると判別した場合（ステップＳ６０１：Ｙｅｓ）、処理の中止又は継続をユーザに選択させるための確認ダイアログを表示する（ステップＳ６０２）。確認ダイアログの表示例を図１２に示す。例えば、無条件に処理が継続されると、回転処理によって画質が劣化し、その状態で元の画像データが更新（画像データの上書き）されてしまうことがある。確認ダイアログを表示することで、ユーザに処理継続の確認（「はい」）又は中止（「いいえ」）をユーザに通知し、選択させることができる。
ＣＰＵ２０７は、処理の継続が選択された場合（ステップＳ６０３：Ｙｅｓ）、画像データをデコードして、メモリマップの画像デコード領域３０４に展開する（ステップＳ６０４）。また、処理の中止が選択された場合（ステップＳ６０３：Ｎｏ）、画像回転変換処理をエラーで終了する。
【００４５】
ＣＰＵ２０７は、画像データ変更処理の中で設定された変数Ｖの値が「６」であれば（ステップＳ６０５：Ｙｅｓ）、ステップＳ６０４で展開された画像データに対して右に９０度回転させる処理を行う（ステップＳ６０７）。また、そうでない場合（ステップＳ６０５：Ｎｏ）、ステップＳ６０６へ処理を進める。
ＣＰＵ２０７は、また、画像データ変更処理の中で設定された変数Ｖの値が「８」であれば（ステップＳ６０６：Ｙｅｓ）、ステップＳ６０４で展開された画像データに対して左に９０度回転させる処理を行う（ステップＳ６０８）。また、そうでない場合（ステップＳ６０６：Ｎｏ）、ステップＳ６０４で展開された画像データに対し１８０度回転させる処理を行う（ステップＳ６０９）。
ステップＳ６０７、ステップＳ６０８、ステップＳ６０９いずれの画像回転処理も、回転角度が９０度の倍数であり、展開された画像データに対しては、ｘ軸やｙ軸に対する画素の置き換えといった処理が行われる。各処理が行われた後は、ステップＳ６１０へ処理を進める。
【００４６】
ＣＰＵ２０７は、回転処理が行われたメモリマップの画像データを、元の画像データの記憶形式にエンコード（符号化）し（ステップＳ６１０）、画像回転変換処理を終了する。
【００４７】
以上説明したように、本実施形態では、ユーザがタッチによって表示されている画像等のオブジェクトを選択した場合、その時に表示されているオブジェクトの表示状態を固定する。すなわち、オブジェクトの表示方向と、表示部１０２の方向の相対方向を固定する。そして、選択が解除された時、その時の表示部１０２の姿勢に基づいた表示方向を、改めてオブジェクトに定義する。つまり、図５に示すように、指１２０２で画像をタッチすることで画像「Ｍ」１２０１の表示形態、すなわち、情報処理装置４０１の長手方向と、画像「Ｍ」１２０１の長手方向の平行な関係が固定される。この状態で情報処理装置４０１を回転させることで、ユーザは、文字「Ｍ」の本来の上下方向に合わせた向きで画像「Ｍ」１２０１を見ることができるようになる。また、指１２０２を画像から離すことで、画像「Ｍ」１２０１は回転後の情報処理装置４０１の姿勢に基づく表示形態、すなわち、文字「Ｍ」本来の上下方向が、表示部１０２の上下方向と平行となるように、画像「Ｍ」１２０１の表示方向が定義され、記憶される。
これにより、表示されたオブジェクトへのタッチと、情報処理装置４０１の回転（重力方向の変化）といった簡単な操作で、当該オブジェクトを所望とする向きで表示させることができる。さらに、所望とする向きに回転させた状態で指を離すという簡単な操作で、当該オブジェクトに表示方向を定義して、記憶することができる。
【００４８】
［第２実施形態］
タッチパネル２０１に代えて、多点検出（マルチタッチ）可能なタッチパネルを採用した場合の例について説明する。この場合、ユーザが複数の指で同時に複数の画像をタッチすることが可能になる。そのため、タッチイベントにおいては、複数の入力座標が含まれるようになる。また、それぞれの入力座標に関連する描画オブジェクトも多数検索されることになる。
以下、第１実施形態で既に説明した制御処理手順と重複する部分は説明を省略し、異なる部分を中心に説明を進める。
【００４９】
ユーザによる情報処理装置４０１に表示された複数の画像の操作について、図１３を用いて説明する。図１３（ａ）は、情報処理装置４０１の表示画面４０２に表示された画像「Ｍ」１２０１を指１２０２でタッチし、画像「Ｋ」１４０１を別の指１４０２でタッチした様子を表した図である。表示画面４０２には、他に、画像「Ｆ」、画像「Ｙ」が表示されている。図１３（ｂ）は、（ａ）の状態のまま、情報処理装置４０１を右に９０度回転させたときの様子を表した図である。
【００５０】
タッチされた２つの画像の表示形態は固定される。そのため、情報処理装置４０１を右に９０度回転させると、所望の向きで画像が見られるようになる。また、画像「Ｆ」と画像「Ｙ」は、情報処理装置４０１の回転方向とは逆に回転して表示される。そのため、それぞれの画像全てが、ユーザにとって見やすい向きで表示されることになる。その後、指１２０２と、別の指１４０２を表示画面４０２から離すことで、表示形態の変更後の画像が記憶される。そのため、情報処理装置４０１を元の姿勢に戻したとしても、画像「Ｍ」１２０１及び画像「Ｋ」１４０２は見やすい方向で表示される。これらの機能を実現するための一連の処理について、以下、詳細に説明する。
【００５１】
本実施形態の制御手順は、既に説明したタッチ処理手順（図７）において、ステップＳ２０１の描画オブジェクト検索での入力座標が複数あるという点が異なる。そのため、それぞれの入力座標に対し、関連する描画オブジェクトも複数検索される。また、検出された描画オブジェクトを固定するステップＳ２０３の処理では、複数の描画オブジェクトが固定される。
【００５２】
本実施形態の制御手順では、既に説明したアップ処理手順（図８）において、ステップＳ３０７とステップＳ３０８の間に、ステップＳ３０９の処理が追加される点で異なる。図１４を参照しながら、ステップＳ３０９の処理を中心に本実施形態の画像処理におけるアップ処理を説明する。
図１４は、本実施形態のアップ処理を示すフローチャートである。ＣＰＵ２０７は、画像データ変更処理が成功したか否かを判別し（ステップＳ３０６）、成功したと判別した場合（ステップＳ３０６：Ｙｅｓ）、ステップＳ３０７へ処理が進む。成功しなかったと判別した場合（ステップＳ３０６：Ｎｏ）、ステップＳ３０９へ処理が進む。
【００５３】
ＣＰＵ２０７は、検出された描画オブジェクトが他にもあるか否かを判別し（ステップＳ３０９）、他にもあると判別した場合（ステップＳ３０９：Ｙｅｓ）、ステップＳ３０５からの処理を繰り返す。他にはないと判別した場合（ステップＳ３０９：Ｎｏ）、ステップＳ３０８へ処理が進む。
【００５４】
なお、最初に指を離した時点で、固定されているすべての描画オブジェクトが画像データ変更処理の対象となるため、指を離す順番やタイミングを気にすることなくタッチしていたすべての画像の変更処理が行われる。例えば、指を離した画像だけを変更の対象にしたい場合、図１４に示すステップＳ３０１の固定描画オブジェクト検索処理において、アップされたときの座標を検索条件に追加すればよい。
【００５５】
以上説明したように、本実施形態では、複数の画像をタッチすることでそれぞれの画像が固定される。これにより、画像へのタッチと、情報処理装置４０１の回転（重力方向の変化）といった簡単な操作２回で、複数の画像の表示形態を変更することができる。また、表示形態の変更後に指を離すという簡単な操作２回で、複数の変更後の画像を記憶することができる。
【００５６】
［第３実施形態］
情報処理装置４０１に備わる方向センサ２０４により、情報処理装置４０１の水平面上の回転方向（方位角）を検出する場合の例について説明する。
本実施形態の情報処理装置４０１では、方向センサ２０４が情報処理装置４０１の方位角を検知する。方向センサ２０４は、例えば方位角が検出できる二軸式地磁気センサを用いたり、傾き方向も同時に検出できる三軸式地磁気センサを用いることができる。また、本実施形態の制御手順では、回転する方向の判別に方位角が用いられる。
以下、第１実施形態で既に説明した制御処理手順と重複する部分は説明を省略して説明を進める。
【００５７】
本実施形態に係る情報処理装置４０１に表示された画像の操作の様子について、図１５を用いて説明する。図１５（ａ）は、情報処理装置４０１の使用場所を表す室内のパース図である。図１５中の「北」、「東」、「西」のそれぞれは、実際の方角である。図１５（ｂ）は、室内で情報処理装置４０１を水平に、且つ、図正面から見て長手方向上側が北を向くようにして、この室内の間取り図の画像を表示させたときの様子を示した図である。図１５（ｂ）に示すように、表示された間取り図は、図では東の方角が、長手方向上側（実際の方角では北）を向いて表示されており、間取り図に示された方角と実際の方角とが異なっている。
【００５８】
図１５（ｂ）で示したように、予め記憶されていた間取り図の画像上では、図左方向が北にあたるものとする。ユーザが、室内で情報処理装置４０１の表示面を上にした状態（フェイスアップ状態）で水平に保持し、長手方向上側を北方向に向けている場合、表示された間取り図の方向は、実際の方向と一致しない。このような状態で情報処理装置４０１を右に９０度回転させても、表示形態は変更されずに、間取り図は回転方向とは逆に回転して表示されてしまう。
【００５９】
図１５（ｃ）は、間取り図の画像を指でタッチし、その状態で情報処理装置４０１を水平方向に右に９０度回転させて、その後、指を離したときの様子を示した図である。
間取り図の画像を指でタッチして固定し、情報処理装置４０１を右に９０度回転させると、間取り図の方角と実際の方角とが一致した状態で見られるようになる。その後、指を表示画面から離すことで、表示形態が変更された間取り図が記憶される。そのため、情報処理装置４０１を元の方向に戻しても、間取り図の方角と実際の方角とが一致した状態で表示されるように維持される。このようにして、部屋の方向と間取り図の方向とが正しく連動するため、ユーザは良好な使用感が得られる。
【００６０】
以上説明したように、本実施形態の情報処理装置４０１では、方位角の変化によって回転方向を検知することができる。これにより、画像を表す描画オブジェクトへのタッチと、情報処理装置４０１の方位角方向への回転といった簡単な操作で、画像の表示形態を変更することができる。また、表示形態の変更後に指を離すという簡単な操作で、変更後の画像を記憶することができる。
【００６１】
上記説明した各実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。
【図１】
2014203127.tif 000003
【図２】
2014203127.tif 000004
【図３】
2014203127.tif 000005
【図４】
2014203127.tif 000006
【図５】
2014203127.tif 000007
【図６】
2014203127.tif 000008
【図７】
2014203127.tif 000009
【図８】
2014203127.tif 000010
【図９】
2014203127.tif 000011
【図１０】
2014203127.tif 000012
【図１１】
2014203127.tif 000013
【図１２】
2014203127.tif 000014
【図１３】
2014203127.tif 000015
【図１４】
2014203127.tif 000016
【図１５】
2014203127.tif 000017