(57)【特許請求の範囲】
【請求項１】
表示部に表示する表示アイテムの入力を受け付ける入力受付手段と、
前記表示部に対するタッチ操作を受け付ける操作受付手段と、
前記操作受付手段により受け付けたタッチ位置を移動する１回のスライド操作に基づく始点と終点を通る１つの直線要素を新たに生成する生成手段と、
前記入力受付手段で入力を受け付けた表示アイテムを、前記生成手段で生成された複数の直線要素に応じた遠近感となるように変形した状態で前記表示部に表示するように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
選択された画像を前記表示部に表示するように表示制御する表示制御手段を備え、
前記生成手段は、前記表示制御手段により前記表示部に前記画像が表示されている際に、前記操作受付手段により受け付けたタッチ位置を移動する１回のスライド操作に基づく始点と終点を通る１つの直線要素を新たに生成し、
前記制御手段は、前記入力受付手段で入力を受け付けた表示アイテムを、前記生成手段で生成された複数の直線要素に応じた遠近感となるように変形し、前記画像に重畳して前記表示部に表示するように制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記生成手段により生成された直線要素を前記表示部に表示することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記入力受付手段で入力を受け付けた表示アイテムを、前記生成手段で前記複数の直線要素が生成されたことに応じて表示するように制御することを特徴とする請求項１乃至３のいずれか1項に記載の情報処理装置。
【請求項５】
前記制御手段は、前記表示部に表示された表示アイテムに対する第１の方向へのスライド操作に応じて、前記表示アイテムを前記複数の直線要素に沿って移動するように制御することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記制御手段は、前記表示部に表示された表示アイテムに対する第２の方向へのスライド操作に応じて、前記表示アイテムを前記複数の直線要素の延長線が交差する点を回転軸として回転移動するように制御することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記入力受付手段で入力を受け付けた表示アイテムが前記表示部に表示されている際に、前記操作受付手段で受け付けたタッチ操作に基づいて前記複数の直線要素を移動し、前記表示アイテムを移動後の前記複数の直線要素に応じた遠近感となるように変形して表示するように制御することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、前記表示部に対する少なくとも二点のタッチ操作のタッチ位置が変化する操作に応じて、前記表示部に変形して表示された表示アイテムの幅を、前記複数の直線要素に沿って変更するように制御することを特徴とする請求項１乃至７のいずれか１項に情報処理装置。
【請求項９】
前記制御手段は、前記表示部に対する少なくとも二点のタッチ操作のタッチ位置が変化する操作に応じて、前記表示部に変形して表示された表示アイテムの間隔を、前記複数の直線要素に沿って変更するように制御することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記表示アイテムの変形に関する設定を受け付ける設定受付手段を備え、
前記設定受付手段で受け付けた設定に応じて、前記表示部に対する少なくとも二点のタッチ操作のタッチ位置が変化する操作による表示アイテムの変形方法を決定することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記制御手段は、前記入力受付手段で入力を受け付けた表示アイテムを、前記生成手段で生成した２本の直線要素に応じた遠近感となるように変形した状態で前記表示部に表示するように制御することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
情報処理装置の制御方法であって、
表示部に表示する表示アイテムの入力を受け付ける入力受付ステップと、
前記表示部に対するタッチ操作を受け付ける操作受付ステップと、
前記操作受付ステップにより受け付けたタッチ位置を移動する１回のスライド操作に基づく始点と終点を通る１つの直線要素を新たに生成する生成ステップと、
前記入力受付ステップで入力を受け付けた表示アイテムを、前記生成ステップで生成された複数の直線要素に応じた遠近感となるように変形した状態で前記表示部に表示するように制御する制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１３】
表示部に対するタッチ操作を受け付ける操作受付手段と、
表示アイテムの入力を受け付ける入力受付手段と、
前記入力受付手段で入力を受け付けた表示アイテムを、複数の線要素に応じた遠近感となるように変形して前記表示部に表示するように表示制御する表示制御手段と、
前記表示部に変形して表示された表示アイテムに対する、前記操作受付手段で受け付けるタッチ位置を移動するスライド操作に応じて、前記表示アイテムを、前記複数の線要素の延長線が交差する点を回転軸として回転移動するように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項１４】
表示部に対するタッチ操作を受け付ける操作受付ステップと、
表示アイテムの入力を受け付ける入力受付ステップと、
前記入力受付ステップで入力を受け付けた表示アイテムを、複数の線要素に応じた遠近感となるように変形して前記表示部に表示するように表示制御する表示制御ステップと、
前記表示部に変形して表示された表示アイテムに対する、前記操作受付ステップにより受け付けたタッチ位置を移動するスライド操作に応じて、前記表示アイテムを、前記複数の線要素の延長線が交差する点を回転軸として回転移動するように制御する制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項１５】
コンピュータを、請求項１乃至１１、１３のいずれか１項に記載された情報処理装置として機能させるためのプログラム。
【請求項１６】
コンピュータを、請求項１乃至１１、１３のいずれか１項に記載された情報処理装置として機能させるためのプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示部に対する操作に基づいて、表示アイテムの遠近感を容易に表現することの可能な情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、写真等の画像データを編集するための画像編集アプリケーションが存在する。ユーザはこの画像編集アプリケーションを用いて画像データの明るさや色味を変更したり、線や文字列を追加したりして、任意の画像データを生成している。
【０００３】
特に画像データに文字列を追加する際には、画像データ上に文字列を追加する領域を設定し、この領域において文字列の入力を受け付けている。入力されると横書きであれば画面に対して水平方向に文字列が並ぶ。しかしながらこれでは表現の自由度が低いため、ユーザは入力された文字列をパスデータに変換（アウトライン化）し、任意の形状及び位置となるよう編集している。
【０００４】
そこで引用文献１では、ユーザから指定された図形の線分と同一形状の文字列配置領域を設定し、この文字列配置領域に合うように文字列を変形させて表示する仕組みが開示されている。つまり、変形させたい形状の図形をあらかじめ作成しておくだけで、この図形にあわせた形状の文字列を表示することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１６０９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このようにして図形に沿って文字列を変形させることが可能であるのだが、図形を誤った形状で作成してしまった場合、再度正しい形状で図形を作成し直さなければならない手間がある。そのため、図形や線分に沿って変形させた文字列を、変形後に手軽に再調整できる仕組みが求められている。
【０００７】
また、文字列を変形させて遠近感を持たせたい場合がある。すなわち透視図法を用いて、視点から近い文字は大きく表現し、視点から遠い文字は小さく表現することで、あたかも遠近感があるように見せたいことがある。これを表現する場合にも、従来はパスデータに変換した文字列のパスをユーザが操作することで、文字列を変形させて遠近感を出している。
【０００８】
しかしながら、遠近感を表現するためには文字列の仮想的な奥行きの位置や各文字の幅、消失点等を意識する必要があるので、遠近感のある文字列を作成することはユーザにとって手間である。また仮に遠近感を表現できたとしても、遠近感を調整したい場合には新たな奥行きの位置や幅等で再度作成しなおす必要があり、効率が悪いという問題があった。
【０００９】
また、画像データ上に遠近感のある文字列を追加する場合には、画像データに含まれる被写体の遠近感と文字列の遠近感とを合わせたいことがある。しかしながら、被写体の遠近感に合わせるように文字列を変形させるには透視図法の知識が必要であり、容易に遠近感を合わせることが難しかった。
【００１０】
更に、所謂スマートフォンやタブレット端末のようなタッチパネルを備える装置で画像データの編集を行うことがあるため、タッチパネルに対するタッチ操作によって、より直感的に遠近感を持った文字列を追加し、これを再調整できる仕組みが求められている。
【００１１】
本発明は、表示部に対する操作に基づいて、表示アイテムの遠近感を容易に表現することの可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明の情報処理装置は、表示部に表示する表示アイテムの入力を受け付ける入力受付手段と、前記表示部に対するタッチ操作を受け付ける操作受付手段と、前記操作受付手段により受け付けたタッチ位置を移動する１回のスライド操作に基づく始点と終点を通る１つの直線要素を新たに生成する生成手段と、前記入力受付手段で入力を受け付けた表示アイテムを、前記生成手段で生成された複数の直線要素に応じた遠近感となるように変形した状態で前記表示部に表示するように制御する制御手段とを有することを特徴とする。また、本発明の情報処理装置は、表示部に対するタッチ操作を受け付ける操作受付手段と、表示アイテムの入力を受け付ける入力受付手段と、前記入力受付手段で入力を受け付けた表示アイテムを、複数の線要素に応じた遠近感となるように変形して前記表示部に表示するように表示制御する表示制御手段と、前記表示部に変形して表示された表示アイテムに対する、前記操作受付手段で受け付けるタッチ位置を移動するスライド操作に応じて、前記表示アイテムを、前記複数の線要素の延長線が交差する点を回転軸として回転移動するように制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、表示部に対する操作に基づいて、表示アイテムの遠近感を容易に表現することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】情報処理装置１００のハードウェア構成を示す図である。
【図２】情報処理装置１００の機能構成を示す図である。
【図３】本実施形態における一連の処理の流れを示すフローチャートである。
【図４】情報処理装置１００に記憶される各種テーブルのテーブル構成を示す図である。
【図５】メイン画面５００の画面構成を示す図である。
【図６】ステップＳ３１０で実行される処理イメージを示す図である。
【図７】文字列追加処理の詳細な処理の流れを示すフローチャートである。
【図８】文字列入力画面８００の画面構成を示す図である。
【図９】ステップＳ７０５乃至ステップＳ７１１で実行される処理イメージを示す図である。
【図１０】ステップＳ７１３乃至ステップＳ７１６で実行される処理イメージを示す図である。
【図１１】ステップＳ７１９で実行される処理イメージを示す図である。
【図１２】ステップＳ７２０乃至ステップＳ７２４で実行される処理イメージを示す図である。
【図１３】奥行き調整処理の詳細な処理の流れを示すフローチャートである。
【図１４】文字列が手前に移動した場合にステップＳ１３０１乃至ステップＳ１３０５で実行される処理イメージを示す図である。
【図１５】文字列が奥に移動した場合にステップＳ１３０１乃至ステップＳ１３０５で実行される処理イメージを示す図である。
【図１６】文字列調整処理の詳細な処理の流れを示すフローチャートである。
【図１７】ステップＳ１６０４乃至ステップＳ１６０８で実行される処理イメージを示す図である。
【図１８】ステップＳ１６１０乃至ステップＳ１６１４で実行される処理イメージを示す図である。
【図１９】調整点操作処理の詳細な処理の流れを示すフローチャートである。
【図２０】ステップＳ１９０１乃至ステップＳ１９０６で実行される処理イメージを示す図である。
【図２１】画像データの直線に合わせてパースラインを引いた場合のイメージを示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１６】
図１は、情報処理装置１００のハードウェア構成を示す図である。尚、図１に示すハードウェア構成はあくまで一例である。
【００１７】
情報処理装置１００は、タッチパネルを備える装置である。本実施形態では、いわゆるスマートフォンやタブレット端末のような装置を想定して説明を行うが、特にこれに限らない。タッチパネルを備える装置であれば、パーソナルコンピュータであってもよい。
【００１８】
ＣＰＵ１０１は、システムバスを介してメモリやコントローラを統括的に制御する。ＲＯＭ１０２あるいはフラッシュメモリ１１４には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステム２００が記憶されている。更には、情報処理装置１００が実行する機能を実現するために必要な、後述する各種プログラム等が記憶されている。
【００１９】
ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＣＰＵ１０１は、処理の実行に際して必要なプログラム等をＲＡＭ１０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２０】
ディスプレイコントローラ１０４は、ディスプレイ１１０等の表示装置への表示を制御する。ディスプレイ１１０は例えば液晶ディスプレイである。また、ディスプレイ１１０の表面にはタッチパネル１１１が備えられている。タッチパネル１１１に対するタッチ操作の検知をタッチパネルコントローラ１０５が制御する。タッチパネルコントローラ１０５は、タッチパネル１１１に対する複数の箇所に対するタッチ操作（以下、マルチタッチという。）も検知可能である。
【００２１】
カメラコントローラ１０６は、カメラ１１２における撮影を制御する。カメラ１１２はデジタルカメラであり、カメラコントローラ１０６からの制御で撮像した画像を撮像素子でデジタルデータに変換する。カメラ１１２は静止画と動画を撮影することが可能である。
【００２２】
センサコントローラ１０７は、情報処理装置１００が備える各種センサ１１３からの入力を制御する。情報処理装置１００のセンサ１１３には様々なセンサが存在し、例えば方位センサ、加速度センサ等である。
【００２３】
ネットワークコントローラ１０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２４】
フラッシュメモリコントローラ１０９は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するフラッシュメモリ１１４へのアクセスを制御する。本実施形態においては、フラッシュメモリとして説明を行うが、ハードディスクやフレキシブルディスク、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の記憶媒体であってもよい。
【００２５】
前述したＣＰＵ１０１、各メモリ、各コントローラは、１つのチップ１１５に統合されている。いわゆるＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）の形態で情報処理装置１００の内部に備えられている。
【００２６】
尚、ＣＰＵ１０１は、例えばＲＡＭ１０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ１１０での表示を可能としている。
【００２７】
本発明の情報処理装置１００が後述する各種処理を実行するために用いられる各種プログラム等はフラッシュメモリ１１４に記録されており、必要に応じてＲＡＭ１０３にロードされることによりＣＰＵ１０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルはフラッシュメモリ１１４に格納されている。以上が、本実施形態におけるハードウェア構成である。
【００２８】
図２は、情報処理装置１００の機能構成を示す図である。尚、図２に示す機能構成はあくまで一例である。
【００２９】
情報処理装置１００の機能部として、記憶部２０１、表示制御部２０２、及び操作検知部２０３を備えている。これらはオペレーティングシステム２００において動作する機能部である。
【００３０】
記憶部２０１は、後述する各種テーブルの情報や各種画面、カメラ１１２で撮影することにより生成された画像データ等を構成する情報をＲＡＭ１０３やフラッシュメモリ１１４に記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。また、後述する文字列入力アプリ２１０からの要求があった場合も同様に動作する。
【００３１】
表示制御部２０２は、ディスプレイ１１０の表示を制御するための機能部である。表示制御部２０２から画面等の表示指示がなされると、ディスプレイコントローラ１０４を介してディスプレイ１１０に表示指示が送信される。そして、ディスプレイ１１０はこの指示を受信すると、指示に従って画面等を表示する。
【００３２】
操作検知部２０３は、タッチパネル１１１に対するタッチ操作を検知するための機能部である。タッチパネル１１１に対するタッチ操作の位置、タッチ操作された数等を検知することができる。また、タッチパネル１１１に対して１度タッチ操作がなされたのか、タッチ操作したままスライドした（以下、スライド操作という。）のか等、タッチ操作の種別も検知することができる。尚、本実施形態においては、タッチパネル１１１に対してタッチ操作をしたままスライドすることをスライド操作と呼ぶが、いわゆるフリック操作やスワイプ操作も含む。
【００３３】
また情報処理装置１００は、オペレーティングシステム２００において動作可能な文字列入力アプリ２１０がインストールされている。文字列入力アプリ２１０は、画像データ制御部２１１、表示制御指示部２１２、操作取得部２１３、パースライン制御部２１４、遠近感制御部２１５、及び文字列制御部２１６を備えている。
【００３４】
画像データ制御部２１１は、記憶部２０１に記憶されている画像データに対して処理を実行するための機能部である。画像データ制御部２１１は、画像データの取得や保存を行うことができる。
【００３５】
表示制御指示部２１２は、文字列入力アプリ２１０で表示する画面等の表示を表示制御部２０２に指示するための機能部である。表示制御部２０２は、表示制御指示部２１２からの指示に応じた画面等をディスプレイ１１０に表示する。
【００３６】
操作取得部２１３は、操作検知部２０３で検知したタッチ操作の内容を取得するための機能部である。文字列入力アプリ２１０は、操作検知部２０３から操作取得部２１３に渡されたタッチ操作の内容に応じて、各機能部が文字列の入力や後述するパースラインの生成、画面の表示制御等を実行する。
【００３７】
パースライン制御部２１４は、タッチパネル１１１に対するタッチ操作によって生成されるパースラインを制御するための機能部である。本実施形態においてパースラインとは、遠近感を制御するための線要素である。パースラインは、一点透視図法や二点透視図法等で用いられる消失点に収束する。パースライン制御部２１４は、ユーザからのタッチ操作によってこのパースラインを生成し、表示制御部２０２の機能によりディスプレイ１１０にこれを表示する。
【００３８】
遠近感制御部２１５は、ユーザから入力された文字列の遠近感を制御するための機能部である。文字列の仮想的な位置や、文字列に対する仮想的な視点等を設定し、これらの情報に基づいて一点透視図法や二点透視図法を用いて遠近感を表現する。遠近感制御部２１５によって特定された遠近感で描画されるよう、遠近感制御部２１５から文字列制御部２１６に指示を出す。尚、文字列以外の表示アイテム（画像データ、絵文字、動画データ等）の遠近感を本実施形態と同様の方法で制御する場合には、遠近感制御部２１５が表示アイテムの遠近感を文字列と同様に制御する。
【００３９】
文字列制御部２１６は、ユーザから入力された文字列の位置を移動したり、文字列を変形したりするための機能部である。文字列制御部２１６が文字列を変形する場合には、文字列をアウトライン化してパスデータに変換し、パスを操作することで文字列を変形する。また、文字列制御部２１６は、遠近感制御部２１５からの指示に応じた形状となるよう、文字列を変形する。尚、文字列以外の表示アイテム（画像データ、絵文字、動画データ等）を本実施形態と同様の方法で移動・変形させる場合には、文字列制御部２１６が表示アイテムを文字列と同様に移動・変形する。以上が、本実施形態における機能構成である。
【００４０】
次に、本実施形態における一連の処理の流れについて、図３のフローチャートを用いて説明する。尚、本実施形態では文字列に対する処理について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【００４１】
ステップＳ３０１では、情報処理装置１００のＣＰＵ１０１は、ユーザからの指示に応じて文字列入力アプリ２１０のプログラムをフラッシュメモリ１１４から読み出して、これを起動する。
【００４２】
ステップＳ３０２では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能によりディスプレイ１１０に画像データの選択画面を表示し、画像データに対する選択を受け付ける。より具体的には、表示制御指示部２１２の機能により画像データの選択画面の表示指示を表示制御部２０２に行うことで表示する。画像データの選択画面は、フラッシュメモリ１１４に記憶された画像データの一覧が表示される画面である。この画面で文字列を追加したい画像データに対する選択をタッチ操作により受け付ける。
【００４３】
ステップＳ３０３では、情報処理装置１００のＣＰＵ１０１は、画像データ制御部２１１の機能により、ステップＳ３０２で選択された画像データのコピーを生成し、ＲＡＭ１０３に一時保存する。こうすることで、フラッシュメモリ１１４に記憶された画像データに対して変更を加えることなく、作業を進めることができる。また、コピーした画像データの横幅を取得し、図４に示す画像データテーブル４００の横幅４０１に格納する。
【００４４】
画像データテーブル４００は、情報処理装置１００のフラッシュメモリ１１４に記憶されるデータテーブルである。画像データテーブル４００は、横幅４０１を含む。横幅４０１は、ステップＳ３０３でＲＡＭ１０３に一時記憶した画像データの横幅を格納する項目である。尚、画像データテーブル４００のテーブル構成はあくまで一例であり、これに限らない。
【００４５】
ステップＳ３０４では、情報処理装置１００のＣＰＵ１０１は、図５に示すようなメイン画面５００を生成し、表示制御部２０２の機能によりディスプレイ１１０にメイン画面５００を表示する。より具体的には、生成されたメイン画面５００の表示指示を表示制御指示部２１２から表示制御部２０２に送信し、これを表示する。メイン画面５００には、ステップＳ３０３でＲＡＭ１０３に一時記憶した画像データが画像データ表示領域５０１に表示される。また、メイン画面５００は、追加ボタン５０２と保存ボタン５０３とを備えている。追加ボタン５０２は、新たな文字列を追加するためのボタンである。また、保存ボタン５０３は、文字列を追加した画像データを保存するためのボタンである。尚、メイン画面５００の構成はあくまで一例であり、これに限らない。
【００４６】
ステップＳ３０５では、情報処理装置１００のＣＰＵ１０１は、文字列追加処理を実行する。文字列追加処理の詳細は、後述する図７に示す。
【００４７】
ステップＳ３０６では、情報処理装置１００のＣＰＵ１０１は、操作検知部２０３の機能によりタッチパネル１１１に対するタッチ操作を検知したか否かを判定する（タッチ操作検知手段）。より具体的には、操作取得部２１３が操作検知部２０３からタッチ操作の内容を取得したか否かによって、タッチパネル１１１に対するタッチ操作を検知したか否かを判定する。タッチパネル１１１に対するタッチ操作を検知したと判定した場合には、ステップＳ３０７に処理を進める。そうでない場合には、タッチパネル１１１に対するタッチ操作を検知するまで、ステップＳ３０６を繰り返し実行する。
【００４８】
ステップＳ３０７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、第１の方向に対するスライド操作であるか否かを判定する。ここでいう第１の方向とは、２本のパースラインに応じた向きである。例えば、ステップＳ３０５で生成された２本のパースラインと略平行な向きである。尚、第１の方向は、ある程度幅を持った方向であることが望ましい。第１の方向に対するスライド操作であると判定した場合には、ステップＳ３０８に処理を進める。そうでない場合には、ステップＳ３０９に処理を進める。
【００４９】
ステップＳ３０８では、情報処理装置１００のＣＰＵ１０１は、奥行き調整処理を実行する。奥行き調整処理の詳細は、後述する図１３に示す。
【００５０】
ステップＳ３０９では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、第２の方向に対するスライド操作であるか否かを判定する。ここでいう第２の方向とは、ステップＳ３０７の第１の方向とは異なる向きである。例えば、ステップＳ３０５で生成された２本のパースラインと略垂直な向きである。尚、第２の方向も第１の方向と同様に、ある程度幅を持った方向であることが望ましい。第２の方向に対するスライド操作であると判定した場合には、ステップＳ３１０に処理を進める。そうでない場合には、ステップＳ３１１に処理を進める。
【００５１】
ステップＳ３１０では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により２本のパースラインから特定される消失点に基づいて、ユーザから入力された文字列を回転する（文字列回転手段）。また、文字列の回転に合わせて、パースライン制御部２１４の機能により２本のパースラインも消失点に基づいて回転する。
【００５２】
図６はステップＳ３１０で実行される処理のイメージ図である。後述するが図６（ａ）は、ステップＳ３０５でメイン画面５００に２本のパースライン（第１のパースライン９０１、第２のパースライン９０２）を生成し、ユーザから入力された文字列４２２を変形して表示した状態である。情報処理装置１００は、文字列４２２に対する第２の方向６０１のスライド操作を検知すると、第１のパースライン９０１と第２のパースライン９０２との消失点４１６を中心として、文字列４２２とこれらのパースラインとを回転させる。消失点４１６はステップＳ３０５で特定されるため、これを用いる。回転した結果が、図６（ｂ）である。このようにして、２本のパースラインから特定される消失点に基づいてユーザが直感的に文字列を回転させることができるようになる。
【００５３】
図３の説明に戻る。ステップＳ３１１では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、第１の方向に対するピンチ操作であるか否かを判定する。ここでいう第１の方向は、ステップＳ３０７と同様の方向を示す。また、ピンチ操作とは、タッチパネル１１１の複数の位置をタッチしたまま、そのタッチした位置を変化させる操作をいう。いわゆるピンチアウトやピンチインといった操作である。第１の方向に対するピンチ操作であると判定した場合には、ステップＳ３１２に処理を進める。そうでない場合には、ステップＳ３１３に処理を進める。
【００５４】
ステップＳ３１２では、情報処理装置１００のＣＰＵ１０１は、文字列調整処理を実行する。文字列調整処理の詳細は、後述する図１６に示す。
【００５５】
ステップＳ３１３では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、パースライン制御部２１４の機能により設定される調整点が操作されたか否かを判定する。調整点とは、パースライン上に生成される、パースラインの位置を変更するためのアイコンである。調整点の詳細は、後述する。調整点が操作されたと判定した場合には、ステップＳ３１４に処理を進める。そうでない場合には、ステップＳ３１５に処理を進める。
【００５６】
ステップＳ３１４では、情報処理装置１００のＣＰＵ１０１は、調整点操作処理を実行する。調整点操作処理の詳細は、後述する図１９に示す。
【００５７】
ステップＳ３１５では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列の追加操作がなされたか否かを判定する。より具体的には、メイン画面５００の追加ボタン５０２が押下されたか否かを判定する。文字列の追加操作がなされたと判定した場合には、ステップＳ３１６に処理を進める。そうでない場合には、ステップＳ３１７に処理を進める。
【００５８】
ステップＳ３１６では、情報処理装置１００のＣＰＵ１０１は、文字列追加処理を実行する。ステップＳ３１６で実行する文字列追加処理は、ステップＳ３０５で実行する文字列追加処理を同じである。ステップＳ３１６では、ステップＳ３０５で追加する文字列とは別の文字列を追加することになる。文字列追加処理の詳細は、後述する図７に示す。
【００５９】
ステップＳ３１７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列の削除操作がなされたか否かを判定する。より具体的には、ステップＳ３０５またはステップＳ３１６の文字列追加処理で画像データ上に追加された文字列に対して所定秒数タッチを受け付け、これに応じて表示される削除ボタン（不図示）に対するタッチ操作を検知したか否かを判定する。文字列の削除操作がなされたと判定した場合には、ステップＳ３１８に処理を進める。そうでない場合には、ステップＳ３１９に処理を進める。
【００６０】
ステップＳ３１８では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機により、ステップＳ３１７で所定秒数タッチを受け付けた文字列を削除する。また、パースライン制御部２１４の機能により、削除した文字列に関する２本のパースラインも合わせて削除する。
【００６１】
ステップＳ３１９では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、保存操作がなされたか否かを判定する。より具体的には、メイン画面５００の保存ボタン５０３が押下されたか否かを判定する。保存操作がなされたと判定した場合には、ステップＳ３２０に処理を進める。そうでない場合には、ステップＳ３２１に処理を進める。
【００６２】
ステップＳ３２０では、情報処理装置１００のＣＰＵ１０１は、記憶部２０１の機能により、フラッシュメモリ１１４の任意の保存場所に、文字列が追加された画像データを保存する。画像データを保存する際には、画像データ制御部２１１の機能により、メイン画面５００に表示されている文字列をステップＳ３０３でＲＡＭ１０３に一時記憶した画像データに合成した画像データを生成する。そして、生成した画像データを記憶部２０１の機能により、フラッシュメモリ１１４の任意の保存場所に保存する。このように、保存操作がなされることで、遠近感を持った文字列が合成された画像データが書き出される。
【００６３】
ステップＳ３２１では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列入力アプリ２１０の起動終了操作がなされたか否かを判定する。文字列入力アプリ２１０の起動終了操作は、メイン画面５００に終了ボタンを設けてもよいし、オペレーティングシステム２００が備えるメニューによって終了させてもよい。文字列入力アプリ２１０の起動終了操作がなされたと判定した場合には、ステップＳ３２２に処理を進める。そうでない場合には、いずれの操作にも該当しないので、ステップＳ３０６に処理を戻す。
【００６４】
ステップＳ３２２では、情報処理装置１００のＣＰＵ１０１は、ステップＳ３０１で起動した文字列入力アプリ２１０を終了し、本一連の処理を終了する。以上が、本実施形態における一連の処理の流れである。
【００６５】
次に、文字列追加処理の詳細な処理の流れについて、図７のフローチャートを用いて説明する。尚、本実施形態では文字列を追加する処理について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【００６６】
まずステップＳ７０１では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ディスプレイ１１０に図８に示すような文字列入力画面８００を表示し、文字列の入力を受け付ける（入力受付手段）。文字列入力画面８００は、選択された画像データに追加する文字列を入力するための画面である。文字列入力画面８００は、文字列表示領域８０１、キーボード入力領域８０２、ＯＫボタン８０３を備えている。文字列表示領域８０１は、キーボード入力領域８０２で受け付けたキー入力により文字列を表示する領域である。キーボード入力領域８０２は、ソフトウェアキーボードを表示するための領域である。ＯＫボタン８０３は、文字列の入力を完了するためのボタンである。尚、本実施形態では文字列の入力を受け付けているが、前述した表示アイテムの入力を受け付けるようにしてもよい。以下、文字列に対する処理については表示アイテムに対する処理に置き換えることで、２本のパースラインに沿った遠近感で表示アイテムを変形することが可能である。
【００６７】
ステップＳ７０２では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ＯＫボタン８０３が押下されたか否かを判定する。ＯＫボタン８０３が押下されたと判定した場合には、ステップＳ７０３に処理を進める。そうでない場合には、ＯＫボタン８０３が押下されるまでステップＳ７０２の処理を繰り返す。
【００６８】
ステップＳ７０３では、情報処理装置１００のＣＰＵ１０１は、記憶部２０１の機能により、ステップＳ７０１で入力を受け付けた文字列を図４に示す文字列テーブル４２０に記憶する。より具体的には、文字列テーブル４２０に新たなレコードを作成し、このレコードの文字列４２２に入力を受け付けた文字列を格納する。
【００６９】
文字列テーブル４２０は、情報処理装置１００のフラッシュメモリ１１４に記憶されるデータテーブルである。文字列テーブル４２０は、文字列ＩＤ４２１、文字列４２２、奥行き位置４２３、及び奥行き幅４２４を含む。文字列ＩＤ４２１は、文字列ごとに割り振られる識別情報が格納される項目である。文字列４２２は、ステップＳ７０１で入力を受け付けた文字列が格納される項目である。この文字列４２２が画像データ上に表示されることになる。奥行き位置４２３と奥行き幅４２４は、後述する平面図において文字列がどの位置に配置され、どういった幅なのかを特定するための情報が格納される。尚、文字列テーブル４２０のテーブル構成はあくまで一例であり、これに限らない。
【００７０】
ステップＳ７０４では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、メイン画面５００を表示する。このとき、メイン画面５００が備える各種ボタンに対して押下されても各種機能が動作しない状態として表示する。このようにすることで、ユーザが不要な操作を行うことを防止する。また、ステップＳ３０４と同様に、ステップＳ３０３でＲＡＭ１０３に一時記憶した画像データが画像データ表示領域５０１に表示される。このように画像データを表示した状態で、後述するステップＳ７０５においてスライド操作を受け付けることにより、画像データの遠近感に合わせてパースラインを引くことが可能となる。
【００７１】
ステップＳ７０５では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、メイン画面５００の画像データ表示領域５０１でスライド操作がなされたか否かを判定する。図９（ａ）は、メイン画面５００でスライド操作がなされた場合のイメージ図である。ユーザはタッチパネル１１１に対してスライド操作を行う。すると、操作検知部２０３がこれを検知し、操作取得部２１３にタッチ操作の内容を渡す。操作取得部２１３がこれを受けると、スライド操作がなされたと判定する。スライド操作がなされたと判定した場合には、ステップＳ７０６に処理を進める。そうでない場合には、スライド操作がなされるまでステップＳ７０５を繰り返し実行する。
【００７２】
ステップＳ７０６では、情報処理装置１００のＣＰＵ１０１は、パースライン制御部２１４の機能により、ステップＳ７０５で受け付けたスライド操作の始点を示す座標値を取得する。ここでいう座標値は、ディスプレイ１１０の左上を原点とするＸＹ座標系に基づく座標値である。取得した座標値は、図４に示すパースラインテーブル４１０に新しくレコードを作成し、作成したレコードの第１の始点４１２に格納する。２本目のパースラインを生成する場合には、当該レコードの第２の始点４１４に格納する。
【００７３】
パースラインテーブル４１０は、情報処理装置１００のフラッシュメモリ１１４に記憶されるデータテーブルである。パースラインテーブル４１０は、パースラインＩＤ４１１、第１の始点４１２、第１の終点４１３、第２の始点４１４、第２の終点４１５、及び消失点４１６を含む。パースラインＩＤ４１１は、パースラインの組に対して割り振られる識別情報を格納する項目である。第１の始点４１２と第１の終点４１３は、第１のパースライン９０１を生成するスライド操作の始点と終点の座標値を格納する項目である。第２の始点４１４と第２の終点４１５は、第２のパースライン９０２を生成するスライド操作の始点と終点の座標値を格納する項目である。消失点４１６は、第１のパースライン９０１の長さと第２のパースライン９０２の長さとを延長した時に交わる点、つまり消失点の座標値を格納する項目である。尚、パースラインテーブル４１０のテーブル構成はあくまで一例であり、これに限らない。
【００７４】
ステップＳ７０７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ステップＳ７０５でなされたスライド操作が終了したか否かを判定する。より具体的には、操作検知部２０３からタッチ操作の内容が渡されなくなったら、スライド操作が終了したと判定する。スライド操作が終了したと判定した場合には、ステップＳ７０８に処理を進める。そうでない場合には、スライド操作が終了するまでステップＳ７０７を繰り返し実行する。
【００７５】
ステップＳ７０８では、情報処理装置１００のＣＰＵ１０１は、パースライン制御部２１４の機能により、ステップＳ７０５で受け付けたスライド操作の終点を示す座標値を取得する。取得した座標値は、ステップＳ７０６で作成したレコードの第１の終点４１３に格納する。２本目のパースラインを生成する場合には、当該レコードの第２の終点４１５に格納する。
【００７６】
ステップＳ７０９では、情報処理装置１００のＣＰＵ１０１は、パースライン制御部２１４の機能により、ステップＳ７０６で取得した始点の座標値とステップＳ７０８で取得した終点の座標値とを通る直線を生成する（線要素生成手段）。この直線がパースラインである。そして生成したパースラインをディスプレイ１１０に表示する。図９（ｂ）は、ステップＳ７０９で生成したパースラインをメイン画面５００に表示した場合のイメージ図である。前述した通り、図９（ａ）のようにスライド操作がなされると、このスライド操作の第１の始点４１２と第１の終点４１３とを通る直線である第１のパースライン９０１を生成する。尚、本実施形態では始点と終点とを通る直線としたが、始点と終点とを結ぶ線分であってもよい。
【００７７】
ステップＳ７１０では、情報処理装置１００のＣＰＵ１０１は、パースライン制御部２１４の機能により、スライド操作がなされた始点と終点の位置に調整点のアイコンを生成し、これを表示する。図９（ｂ）に示す通り、第１の始点４１２と第１の終点４１３の位置に調整点を示すアイコンを表示する。このアイコンをスライド操作によって移動することで、文字列を変形することができる。
【００７８】
ステップＳ７１１では、情報処理装置１００のＣＰＵ１０１は、パースライン制御部２１４の機能により、２本のパースラインが生成されたか否かを判定する。すなわち、ステップＳ７０５乃至ステップＳ７１０の処理の流れを２回実行したか否かを判定する。または、パースラインテーブル４１０の第１の始点４１２から第２の終点４１５までの各項目に座標値が格納されたか否かを判定する。２本のパースラインが生成されたと判定した場合には、ステップＳ７１２に処理を進める。そうでない場合には、１本しかパースラインが生成されていないのでステップＳ７０５に処理を戻し、２本目のパースラインを生成するべく、処理を進める。
【００７９】
図９（ｃ）と図９（ｄ）は、２本目のパースラインを生成する場合のイメージ図を示す。図９（ｃ）に示す通り、メイン画面５００に１本目のパースラインである第１のパースライン９０１が表示された状態で、スライド操作を受け付ける。すると、第１のパースライン９０１と同様に、スライド操作の始点と終点の座標値を取得し、それぞれを第２の始点４１４と第２の終点４１５に格納する。そして、これらを通る直線である第２のパースライン９０２を生成し、これをメイン画面５００に表示する。この表示した結果が、図９（ｄ）である。このようにして、２本のパースラインを生成する。２本のパースラインが生成できたら、この２本のパースラインが交わる点である消失点を特定し、この座標値をステップＳ７０６で作成したレコードの消失点４１６に格納する。尚、本実施形態ではスライド操作によりパースラインを生成したが、パースラインの始点と終点が特定できるのであれば、どのようなタッチ操作であってもよい。
【００８０】
ステップＳ７１２では、情報処理装置１００のＣＰＵ１０１は、パースライン制御部２１４の機能により、生成された２本のパースライン上にある第１の始点４１２と第２の始点４１４とが共に消失点４１６の左方向または右方向に存在するか否かを判定する。より具体的には、第１の始点４１２のＸ座標の値と第２の始点４１４のＸ座標の値とが、どちらも消失点４１６が示すＸ座標の値より小さいまたは大きいか否かを判定する。本実施形態では、２本のパースラインの引き方によって図１１と図１２（ｃ）のいずれかの表示形態としている。この表示形態を決定するためにステップＳ７１２で判定をしている。ステップＳ７１２の判定はあくまで一例であり、他の方法であってもよい。第１の始点４１２と第２の始点４１４とが共に消失点４１６の左方向または右方向に存在すると判定した場合には、ステップＳ７１３に処理を進める。そうでない場合には、ステップＳ７２０に処理を進める。
【００８１】
ステップＳ７１３では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、ステップＳ３０３で一時記憶した画像データの横幅４０１と、２本のパースラインから特定される消失点４１６とを取得する。そして、取得した横幅４０１と消失点４１６とを用いて、平面図における奥行きの長さを特定する。
【００８２】
図１０は、遠近感のある文字列に変形するためのイメージ図である。本実施形態では、このイメージ図に示すロジックを用いて、文字列を変形する。図１０は大きく２つの図に分かれている。１つは、図１０の下部１０００の透視図である。もう１つは図１０の上部１００１の平面図である。透視図は、平面図の透視面１００２を通って仮想的な視点に向かう光を映した図である。この透視図の中の範囲１００３が画像データ上に表示されることになる。尚、以降の図においても同様の構成で表現する。
【００８３】
まず、ステップＳ７１３では、この平面図の縦の長さ、つまり奥行きの長さを決定する。奥行きの長さを決定しなければ、後述する処理によって文字列が移動して画像データの横幅を越えてしまうため、このように奥行きに制限を設けている。
【００８４】
ここで決定する奥行きの長さは、透視面１００２から奥行き面１００４までの長さである。尚、透視面１００２から手前面１００５までの長さは任意である。透視面１００２から奥行き面１００４までの長さを特定する際には、まず２本のパースラインの消失点４１６から透視面１００２に対して直交する直線を引き、この直線上に仮想的な視点１００６を設ける。この直線上であれば、視点１００６の位置は任意である。更に、画像データの横幅４０１と同じ幅を持つ範囲１００３の左右の辺のうち、視点１００６に近い辺から透視面１００２に対して直交する直線を引き、その直交する交点１００７を特定する。そして、範囲１００３の左右の辺のうち、もう一方の辺から透視面１００２に対して直交する直線を引き、この直線と、交点１００７と視点１００６とを通る直線との交点１００８を特定する。この交点１００８を通る奥行き面１００４から透視面１００２までの長さを奥行きの長さ１００９とする。
【００８５】
ステップＳ７１４では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、２本のパースライン上にある調整点（すなわち、始点と終点）のうち、Ｘ座標の値が最小の調整点とＸ座標の値が最大の調整点とを特定する。より具体的には、第１の始点４１２から第２の終点４１５に格納されている調整点のＸ座標の値を比較し、Ｘ座標の値が最小の調整点と、Ｘ座標の値が最大の調整点とを特定する。図１０でいえば、Ｘ座標の値が最大の調整点は第１の終点４１３であり、Ｘ座標の値が最小の調整点は第１の始点４１２である。
【００８６】
ステップＳ７１５では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、ステップＳ７１４で特定した調整点の各Ｘ座標から、文字列の奥行き位置４２３と奥行き幅４２４とを特定する。図１０を用いて具体的に説明する。ステップＳ７１４で説明した通り、Ｘ座標の値が最大の調整点は第１の終点４１３であり、Ｘ座標の値が最小の調整点は第１の始点４１２である。まず、この２つの調整点から透視面１００２に対して直線を引き、直交する交点１０１０、交点１０１１を特定する。これらの交点と視点１００６とを通る直線を引く。そしてこの直線と、交点１００８を通り透視面１００２と直交する直線との交点１０１２及び交点１０１３とを特定する。この交点１０１３の座標値を奥行き位置４２３に格納し、交点１０１２と交点１０１３との長さを奥行き幅４２４に格納する。つまり、交点１０１３から交点１０１２に向かって、文字列が透視面１００２に対して直交するように配置されているイメージとなる。このようにして文字列の奥行き位置と奥行き幅とを決定する。
【００８７】
ステップＳ７１６では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、文字列を構成する各文字の表示位置と表示幅とを特定する。特定した表示位置と表示幅は、文字テーブル４３０の表示位置４３３と表示幅４３４に格納する。
【００８８】
文字テーブル４３０は、情報処理装置１００のフラッシュメモリ１１４に記憶されるデータテーブルである。文字テーブル４３０は、関連文字列ＩＤ４３１、文字４３２、表示位置４３３、及び表示幅４３４を含む。関連文字列ＩＤ４３１は、当該レコードの文字に関する文字列の文字列ＩＤ４２１を格納する項目である。文字４３２は、関連文字列ＩＤ４３１が示す文字列の各文字を格納する項目である。表示位置４３３と表示幅４３４は、当該文字を表示する位置の座標値やその文字の幅を格納する項目である。尚、文字テーブル４３０のテーブル構成はあくまで一例であり、これに限らない。
【００８９】
再び図１０を用いてステップＳ７１６を説明する。ステップＳ７１５で平面図における文字列の位置や幅が特定できた。次にこの文字列が何文字であるのかを文字列４２２に格納された文字列から特定する。例えば、図８に示すように「ＳＵＭＭＥＲ」と入力された場合には、文字列４２２にはこれが格納されているので、６文字であることがわかる。そして、交点１０１３から交点１０１２までの奥行き幅４２４をこの文字数で等分する。本実施形態では文字数によって等分するが、文字ごとに文字幅が異なるプロポーショナルフォントである場合には、文字列全体に対する各文字の割合によって按分するとよい。こうして等分した各点１０１４と視点１００６とを結ぶ直線を引き、この直線と透視面１００２との交点を特定する。この交点を通り透視面１００２と直交する直線を引き、透視図まで伸ばすと文字列の領域である斜線領域１０１５が各文字を表示する領域ごとに分割される。図１０では６文字なので、６つの領域に分割されていることがわかる。この領域を１文字分の領域として用いることで、文字列の遠近感を表現することができる。この分割された領域の位置と幅を各文字の表示位置４３３と表示幅４３４に格納する。
【００９０】
このように文字列を構成する文字の表示幅を、平面図を用いて特定することで、文字列を構成する各文字の遠近感を表現することが可能となる。本実施形態では主に一点透視図法の考えに従って遠近感を表現するが、二点透視図法や三点透視図法を用いてもよい。
【００９１】
ステップＳ７１７では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ７１８で特定された各文字の表示位置４３３を用いて、各文字を画像データ表示領域５０１の画像データ上に配置する。画像データ上に配置する際には、文字列を表示するためのレイヤーを設け、このレイヤー上に配置するようにする。
【００９２】
ステップＳ７１８では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ７１７で配置した文字を２本のパースラインと各文字の表示幅４３４とを用いて変形する（表示アイテム変形手段）。すなわち、入力を受け付けた文字列を、文字列を構成する各文字の位置に応じた遠近感となるよう変形する。より具体的には、図１０の斜線領域１０１５の各文字を配置する領域の形状に合わせるように変化させる。変形させた結果が、図１１に示す文字列である。図１１に示すメイン画面５００には、第１のパースライン９０１と第２のパースライン９０２との間に文字列４２２が配置され、これらのパースラインに沿うよう、かつ図１０で求めた表示位置４３３及び表示幅４３４になるよう変形させて表示している。
【００９３】
ステップＳ７１９では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ステップＳ７１８で変形した文字列をタッチパネル１１１下のディスプレイ１１０に表示する（表示制御手段）。ステップＳ３０３でＲＡＭ１０３に一時記憶した画像データが画像データ表示領域５０１に表示されているので、変形した文字列はこの画像データの上に重畳して表示される。表示が完了したら文字列追加処理を終了する。
【００９４】
本実施形態では、図５の画像データ表示領域５０１に示すような画像データ上にパースラインを引いて遠近感のある文字列を追加した。一方、図２１に示すような画像データを用いる場合には、画像データの被写体に含まれる直線に沿うようパースラインを引くことで、画像データに含まれる被写体の遠近感と追加する文字列の遠近感とを一致させることができる。
【００９５】
図２１は倉庫内の棚を撮影した写真の画像データである。この棚の底板や天板に沿うように、第１のパースライン９０１と第２のパースライン９０２とを生成すれば、棚の底板や天板の直線が収束する消失点と、生成したパースラインの消失点とを一致させることができる。そのため、第１のパースライン９０１と第２のパースライン９０２に沿うように変形する文字列は、この棚の底板や天板の遠近感と同じ遠近感で表現することができる。よって、なるべくこのような直線に沿うようにパースラインを生成することが望ましい。本実施形態ではこれを受けて、画像データ表示領域５０１に画像データを表示させ、この画像データ上でパースラインの入力（スライド操作）を受け付ける構成としている。画像データ上でパースラインの入力を受け付けるようにすれば、遠近感を合わせたい被写体を構成する直線上をなぞるようにスライド操作することができ、容易にこの直線とパースラインとを合わせることができる。
【００９６】
図７の説明に戻る。一方、ステップＳ７２０では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、２本のパースライン上にある調整点（すなわち、始点と終点）のうち、Ｙ座標の値が最小の調整点とＹ座標の値が最大の調整点とを特定する。より具体的には、第１の始点４１２から第２の終点４１５に格納されている調整点のＹ座標の値を比較し、Ｙ座標の値が最小の調整点と、Ｙ座標の値が最大の調整点とを特定する。図１２（ａ）でいえば、調整点１２０１と調整点１２０２が特定される。
【００９７】
ステップＳ７２１では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、ステップＳ７２０で特定した各Ｙ座標から、文字列を構成する各文字の表示位置４３３と表示幅４３４とを特定する。図１２（ｂ）を用いて具体的に説明する。図１２（ｂ）に示す通り、ステップＳ７２０で特定した調整点から画面と平行な直線１２０３と直線１２０４を引く。このいずれかの直線を、２本のパースラインの間で文字列の文字数を用いて等分する。プロポーショナルフォントの場合は、前述した通り、文字列全体に対する各文字の割合によって按分するとよい。そして等分された各点１２０５と消失点４１６とを結ぶ直線を生成することで、斜線領域１２０６が各文字を表示する領域ごとに分割される。この分割した領域の位置と幅とを各文字の表示位置４３３と表示幅４３４に格納する。
【００９８】
ステップＳ７２２では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ７２１で特定された各文字の表示位置４３３を用いて、各文字を画像データ表示領域５０１の画像データ上に配置する。画像データ上に配置する際には、文字列を表示するためのレイヤーを設け、このレイヤー上に配置するようにする。
【００９９】
ステップＳ７２３では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ７２２で配置した文字を２本のパースラインと各文字の表示幅４３４とを用いて変形する。すなわち、入力を受け付けた文字列を、文字列を構成する各文字の位置に応じた遠近感となるよう変形する。より具体的には、図１２（ｂ）の斜線領域１２０６の各文字を配置する領域の形状に合わせるように変化させる。変化させた結果を、図１２（ｃ）に示す。図１２（ｃ）に示すメイン画面５００には、２本のパースラインの間に文字列４２２が配置され、これらのパースラインに沿うよう、かつ図１２（ｂ）で求めた表示位置４３３及び表示幅４３４になるように変形させて表示している。このように、図１１のような横方向に対する遠近感だけでなく、縦方向に対する遠近感を表現することも可能である。
【０１００】
ステップＳ７２４では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ステップＳ７１８で変形した文字列をタッチパネル１１１下のディスプレイ１１０に表示する。表示が完了したら文字列追加処理を終了する。以上のようにして、文字列に遠近感を持たせて表示することが可能となる。
【０１０１】
次に、奥行き調整処理の詳細な処理の流れについて、図１３のフローチャートを用いて説明する。尚、本実施形態では文字列の奥行き調整について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【０１０２】
まずステップＳ１３０１では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、文字列の奥行き位置４２３を変更する。図１４を用いて具体的に説明する。まず、ユーザからタッチパネル１１１下のディスプレイ１１０に表示されている文字列に対するスライド操作を受け付ける（移動指示受付手段）。例えば図１４（ａ）に示すように、メイン画面５００に表示されている文字列４２２に対して左方向にスライド操作を受け付ける。これに応じて、図１４（ｂ）に示すように、平面図上の文字列の奥行き位置４２３を透視面１００２の方に移動する（表示アイテム移動手段）。そして移動された位置を奥行き位置４２３に格納する。本実施形態では画像データの横幅４０１に基づいて奥行き幅４２４が決定されているので、文字列は画像データの横幅４０１を越えないように制御する。すなわち、透視面１００２から奥行き面１００４までの間で奥行き位置４２３を決定する。これを越えるスライド操作は無視する。尚、本実施形態ではこのような動作とするが、文字列が画像データの横幅４０１を越えてもよい。ただし、文字列に対してスライド操作を受け付けることができるよう、文字列全体が画像データの横幅４０１を越えないようにすることが望ましい。すなわち、文字列の一部分が画像データの横幅４０１の中に表示されることが望ましい。
【０１０３】
ステップＳ１３０２では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、文字列を構成する各文字の表示位置と表示幅とを特定する。特定した表示位置と表示幅は、文字テーブル４３０の表示位置４３３と表示幅４３４に格納する。スライド操作によって奥行き位置４２３が変更されると、この奥行き位置４２３で文字数によって奥行き幅４２４を等分し、等分した各点と視点１００６とを結ぶ直線を引く。プロポーショナルフォントについては前述した通りである。そして、この直線と透視面１００２との交点を特定する。この交点を通り透視面１００２と直交する直線を引き、透視図まで伸ばすと文字列の領域である斜線領域１４０１が各文字を表示する領域ごとに分割される。この領域を１文字分の領域として用いることで、文字列の遠近感を表現することができる。この分割された領域の位置と幅を各文字の表示位置４３３と表示幅４３４に格納する。
【０１０４】
ステップＳ１３０３では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１３０２で特定された各文字の表示位置４３３を用いて、各文字を画像データ表示領域５０１の画像データ上に配置する。画像データ上に配置する際には、文字列を表示するためのレイヤーを設け、このレイヤー上に配置するようにする。
【０１０５】
ステップＳ１３０４では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１３０３で配置した文字を２本のパースラインと各文字の表示幅４３４とを用いて変形する。すなわち、入力を受け付けた文字列を、文字列を構成する各文字の位置に応じた遠近感となるよう変形する。より具体的には、図１４（ｂ）の斜線領域１４０１の各文字を配置する領域の形状に合わせるように変化させる。変化させた結果を、図１４（ｃ）に示す。図１４（ｃ）に示すメイン画面５００には、２本のパースラインの間に文字列４２２が配置され、これらのパースラインに沿うよう、かつ図１４（ｂ）で求めた新たな表示位置４３３及び表示幅４３４になるように変形させて表示している。このようにしてスライド操作に応じて文字列を移動させ、その移動先の位置に応じた遠近感で文字列を変形して表示することが可能となる。
【０１０６】
ステップＳ１３０５では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ステップＳ１３０４で変形した文字列をタッチパネル１１１下のディスプレイ１１０に表示する。
【０１０７】
ステップＳ１３０６では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ディスプレイ１１０に表示されている文字列に対するスライド操作が終了したか否かを判定する。より具体的には、操作検知部２０３からタッチ操作の内容が渡されなくなったら、スライド操作が終了したと判定する。スライド操作が終了したと判定した場合には、奥行き調整処理を終了する。そうでない場合には、ステップＳ１３０１に処理を戻す。このように、スライド操作が継続している間は、所定の間隔でステップＳ１３０１乃至ステップＳ１３０６を繰り返すようにすることで、スライド操作に応じてリアルタイムに文字列を移動させて遠近感を変更することができる。この所定の間隔は特に問わないが、文字列の移動に伴ってスムーズに文字列を変形させるためには、短い間隔であればあるほどよい。
【０１０８】
図１５は、図１４とは逆の方向に文字列を移動した場合の処理のイメージ図である。図１５（ａ）に示すように、メイン画面５００に表示されている文字列４２２に対して右方向にスライド操作を受け付ける。これに応じて、図１５（ｂ）に示すように、平面図上の文字列の奥行き位置４２３を奥行き面１００４の方に移動する。そしてこの奥行き位置４２３において、奥行き幅４２４を文字数で分割し、前述したように文字の表示位置４３３と表示幅４３４を特定する。この特定した表示位置４３３と表示幅４３４で文字列を構成する各文字を配置し、２本のパースラインに沿うよう、かつ図１５（ｂ）で求めた新たな表示位置４３３及び表示幅４３４になるように変形させて表示する。その結果が図１５（ｃ）である。
【０１０９】
このように、２本のパースラインと略平行な方向に対して文字列を移動させるだけで、その移動先の位置に応じた遠近感で文字列をリアルタイムに変形し、これを表示することが可能である。
【０１１０】
次に、文字列調整処理の詳細な処理の流れについて、図１６のフローチャートを用いて説明する。尚、本実施形態では文字列の調整処理について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【０１１１】
まずステップＳ１６０１では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ディスプレイ１１０に表示されている文字列上でピンチ操作を検知したのか否かを判定する。ピンチ操作を開始する際にタッチされている位置が文字列の表示位置と重なるか否かによって判定すればよい。文字列上でピンチ操作を検知したと判定した場合には、ステップＳ１６０３に処理を進める。そうでない場合には、ステップＳ１６０２に処理を進める。
【０１１２】
ステップＳ１６０２では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、メイン画面５００に表示されている画像データと文字列とパースラインとを拡大または縮小する。処理が完了したら、文字列調整処理を終了する。
【０１１３】
一方、ステップＳ１６０３では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、現在の調整モードが文字間隔を調整するモードか、文字幅を調整するモードかを判定する。調整モードは、設定画面（不図示）でユーザからあらかじめ設定される、文字列上で第１の方向にピンチ操作がなされた場合に実行する処理のモードである。本実施形態では、２つの調整モードを備えている。１つは文字間隔を調整するモードである。もう１つは文字幅を調整するモードである。これらのモードは、あらかじめユーザによって設定され、図４に示す調整モードテーブル４４０の調整モード４４１に設定したモードを示す情報が格納される。つまり、ステップＳ１６０３では、調整モード４４１に格納されている情報に基づいて判定する。文字間隔を調整するモードであると判定した場合には、ステップＳ１６０４に処理を進める。文字幅を調整するモードであると判定した場合には、ステップＳ１６１０に処理を進める。
【０１１４】
調整モードテーブル４４０は、情報処理装置１００のフラッシュメモリ１１４に記憶されるデータテーブルである。調整モードテーブル４４０は、調整モード４４１を含む。調整モード４４１は、ユーザから設定された調整モードを示す情報を格納する項目である。本実施形態では、文字間隔を調整するモードである場合には「０」が格納され、文字幅を調整するモードである場合には「１」が格納される。尚、調整モードテーブル４４０のテーブル構成はあくまで一例であり、これに限らない。
【０１１５】
まず文字間隔を調整するモードの動作について説明する。ステップＳ１６０４では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ピンチ操作に応じた文字間隔を特定する。図１７を用いて説明する。図１７（ａ）は、メイン画面５００において文字列４２２の上で第１の方向にピンチ操作がされている状態を示す図である。このようにタッチパネル１１１で二点以上の位置をタッチしたまま、この二点の位置関係が変化した場合（ピンチ操作を受け付けた場合）に、平面図における文字列の文字間隔を変更する。図１７（ａ）の場合にはピンチアウトがなされたので、文字間隔を広げる。そのため、図１７（ｂ）の平面図における文字間隔１７０１に示すように、ピンチ操作に応じた文字間隔を特定し、特定した文字間隔を設定する。あらかじめ平面図上で文字ごとに分割されているので、この分割された境を特定した文字間隔分、広げればよい。
【０１１６】
ステップＳ１６０５では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、ステップＳ１６０６で特定された文字間隔を用いて、文字列を構成する各文字の表示位置と表示幅とを特定する（間隔変更手段）。特定した表示位置と表示幅は、文字テーブル４３０の表示位置４３３と表示幅４３４に格納する。図１７（ｂ）に示すように文字間隔が広げられた平面図上の各文字の両端と視点１００６とを直線で結び、この直線と透視面１００２との交点を特定する。この交点を通り透視面１００２と直交する直線を引き、透視図まで伸ばすと文字列の領域である斜線領域１７０２が各文字を表示する領域となる。こうすることで、文字列の文字間隔についても遠近感を持たせることができる。この分割された領域の位置と幅を各文字の表示位置４３３と表示幅４３４に格納する。
【０１１７】
ステップＳ１６０６では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１６０５で特定された各文字の表示位置４３３を用いて、各文字を画像データ表示領域５０１の画像データ上に配置する。画像データ上に配置する際には、文字列を表示するためのレイヤーを設け、このレイヤー上に配置するようにする。
【０１１８】
ステップＳ１６０７では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１６０６で配置した文字を２本のパースラインと各文字の表示幅４３４とを用いて変形する。すなわち、入力を受け付けた文字列を、文字列を構成する各文字の位置に応じた遠近感となるよう変形する。より具体的には、図１７（ｂ）の斜線領域１７０２の各文字を配置する領域の形状に合わせるように変化させる。変化させた結果を、図１７（ｃ）に示す。図１７（ｃ）に示すメイン画面５００には、２本のパースラインの間に文字列４２２が配置され、これらのパースラインに沿うよう、かつ図１７（ｂ）で求めた文字間隔の表示位置４３３及び表示幅４３４になるように変形させて表示している。このようにしてピンチ操作に応じて文字列の文字間隔を変更させ、その変更した文字間隔で遠近感のあるように文字列を変形して表示することが可能となる。
【０１１９】
ステップＳ１６０８では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ステップＳ１６０７で変形した文字列をタッチパネル１１１下のディスプレイ１１０に表示する。
【０１２０】
ステップＳ１６０９では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ディスプレイ１１０に表示されている文字列に対するピンチ操作が終了したか否かを判定する。より具体的には、操作検知部２０３からタッチ操作の内容が渡されなくなったら、ピンチ操作が終了したと判定する。ピンチ操作が終了したと判定した場合には、文字列調整処理を終了する。そうでない場合には、ステップＳ１６０４に処理を戻す。このように、ピンチ操作が継続している間は、所定の間隔でステップＳ１６０４乃至ステップＳ１６０９を繰り返すようにすることで、ピンチ操作に応じてリアルタイムに文字列の文字間隔を変更し、更に遠近感を変更することができる。この所定の間隔は特に問わないが、文字間隔の変更に伴ってスムーズに文字列を変形させるためには、短い間隔であればあるほどよい。
【０１２１】
次に文字幅を調整するモードの動作について説明する。ステップＳ１６１０では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ピンチ操作に応じた文字幅を特定する。図１８を用いて説明する。図１８（ａ）は、図１７（ａ）と同様に、メイン画面５００において文字列４２２の上で第１の方向にピンチ操作がされている状態を示す図である。このようにタッチパネル１１１で二点以上の位置をタッチしたまま、この二点の位置関係が変化した場合（ピンチ操作を受け付けた場合）に、平面図における文字列の文字幅を変更する。図１８（ａ）の場合にはピンチアウトがなされたので、文字幅を広げる。そのため、図１８（ｂ）の平面図における文字幅１８０１に示すように、ピンチ操作に応じた文字幅を特定し、特定した文字幅を設定する。あらかじめ平面図上で文字ごとに分割されているので、この分割された各文字の文字幅を広げればよい。
【０１２２】
ステップＳ１６１１では、情報処理装置１００のＣＰＵ１０１は、遠近感制御部２１５の機能により、ステップＳ１６１０で特定された文字幅を用いて、文字列を構成する各文字の表示位置と表示幅とを特定する（幅変更手段）。特定した表示位置と表示幅は、文字テーブル４３０の表示位置４３３と表示幅４３４に格納する。図１８（ｂ）に示すように文字幅が広げられた平面図上の各文字の両端と視点１００６とを直線で結び、この直線と透視面１００２との交点を特定する。この交点を通り透視面１００２と直交する直線を引き、透視図まで伸ばすと文字列の領域である斜線領域１８０２が各文字を表示する領域となる。こうすることで、変更した文字幅で文字列に対して遠近感を持たせることができる。この分割された領域の位置と幅を各文字の表示位置４３３と表示幅４３４に格納する。
【０１２３】
ステップＳ１６１２では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１６１１で特定された各文字の表示位置４３３を用いて、各文字を画像データ表示領域５０１の画像データ上に配置する。画像データ上に配置する際には、文字列を表示するためのレイヤーを設け、このレイヤー上に配置するようにする。
【０１２４】
ステップＳ１６１３では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１６１２で配置した文字を２本のパースラインと各文字の表示幅４３４とを用いて変形する。すなわち、入力を受け付けた文字列を、文字列を構成する各文字の位置に応じた遠近感となるよう変形する。より具体的には、図１８（ｂ）の斜線領域１８０２の各文字を配置する領域の形状に合わせるように変化させる。変化させた結果を、図１８（ｃ）に示す。図１８（ｃ）に示すメイン画面５００には、２本のパースラインの間に文字列４２２が配置され、これらのパースラインに沿うよう、かつ図１８（ｂ）で求めた文字幅の表示位置４３３及び表示幅４３４になるように変形させて表示している。このようにしてピンチ操作に応じて文字列の文字幅を変更させ、その変更した文字幅で遠近感のあるように文字列を変形して表示することが可能となる。
【０１２５】
ステップＳ１６１４では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ステップＳ１６１３で変形した文字列をタッチパネル１１１下のディスプレイ１１０に表示する。
【０１２６】
ステップＳ１６１５では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ディスプレイ１１０に表示されている文字列に対するピンチ操作が終了したか否かを判定する。より具体的には、操作検知部２０３からタッチ操作の内容が渡されなくなったら、ピンチ操作が終了したと判定する。ピンチ操作が終了したと判定した場合には、文字列調整処理を終了する。そうでない場合には、ステップＳ１６１０に処理を戻す。このように、ピンチ操作が継続している間は、所定の間隔でステップＳ１６１０乃至ステップＳ１６１５を繰り返すようにすることで、ピンチ操作に応じてリアルタイムに文字列の文字幅を変更し、更に遠近感を変更することができる。この所定の間隔は特に問わないが、文字幅の変更に伴ってスムーズに文字列を変形させるためには、短い間隔であればあるほどよい。
【０１２７】
このようにして、文字列の文字間隔または文字幅を変更するためのピンチ操作が継続している間は、そのピンチ操作による二点のタッチ操作の位置関係の変化によって文字間隔または文字幅を変更する。そして変更に応じた遠近感で文字列を表示することが可能となる。
【０１２８】
次に、調整点操作処理の詳細な処理の流れについて、図１９のフローチャートを用いて説明する。尚、本実施形態では文字列の調整点操作について説明するが、前述した表示アイテムについても同様の処理を行うことで実現可能である。
【０１２９】
まずステップＳ１９０１では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、調整点の位置を変更する。そしてこの変更に伴って、位置が変更された調整点を通るようにパースラインの位置も変更する（線要素変更手段）。図２０を用いて説明する。図２０（ａ）は、メイン画面５００において調整点である第１の終点４１３の上で下方向にスライド操作がされている状態を示す図である。このような操作を受け付けると、パースライン制御部２１４の機能により、スライド操作に応じて調整点の位置を変更する。調整点の位置が変更されると、変更された位置を通るようにパースラインの位置を変更する。図２０（ａ）で調整した調整点は、第１の終点４１３であるので、この第１の終点４１３と共にパースラインを形成しているのは第１の始点４１２である。よって、図２０（ｂ）の透視図に示す通り、変更後の第１の終点４１３の座標と第１の始点４１２の座標とを通るパースラインを再生成する。
【０１３０】
ステップＳ１９０２では、情報処理装置１００のＣＰＵ１０１は、パースライン制御部２１４の機能により、調整点の変更に応じて変更されたパースラインと、他方のパースラインとの交点である消失点を特定する。図２０（ｂ）に示すように、位置が変更された第１のパースライン９０１と、もう一方の第２のパースライン９０２との交点を透視図上で特定する。そしてこの交点の座標値を消失点４１６に格納する。
【０１３１】
ステップＳ１９０３では、情報処理装置１００のＣＰＵ１０１は、ステップＳ１９０２で特定した新たな消失点４１６を用いて、文字列を構成する各文字の表示位置と表示幅とを特定する。特定した表示位置と表示幅は、文字テーブル４３０の表示位置４３３と表示幅４３４に格納する。図２０（ｂ）に示すように、消失点４１６が移動したので、これに伴って視点１００６の位置も移動する。消失点４１６から透視面１００２に対して直交する直線を引く。そしてこの直線上のうち、元の視点１００６と同じ奥行き位置を新たな視点１００６とする。この新たな視点１００６と、平面上に配置され文字ごとに分割された文字の両端とを結ぶ直線を引き、この直線と透視面１００２との交点を特定する。この交点を通り透視面１００２と直交する直線を引き、透視図まで伸ばすと文字列の領域である斜線領域２００１が各文字を表示する領域となる。このように、調整点の位置を変更することで消失点４１６の位置を変更し、更にこれに伴って視点１００６が変更される。よって、変更された視点１００６から見た新たな遠近感で文字列を変形することができる。この分割された領域の位置と幅を各文字の表示位置４３３と表示幅４３４に格納する。
【０１３２】
ステップＳ１９０４では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１９０３で特定された各文字の表示位置４３３を用いて、各文字を画像データ表示領域５０１の画像データ上に配置する。画像データ上に配置する際には、文字列を表示するためのレイヤーを設け、このレイヤー上に配置するようにする。
【０１３３】
ステップＳ１９０５では、情報処理装置１００のＣＰＵ１０１は、文字列制御部２１６の機能により、ステップＳ１９０４で配置した文字を２本のパースラインと各文字の表示幅４３４とを用いて変形する。すなわち、入力を受け付けた文字列を、文字列を構成する各文字の位置に応じた遠近感となるよう変形する。より具体的には、図２０（ｂ）の斜線領域２００１の各文字を配置する領域の形状に合わせるように変化させる。変化させた結果を、図２０（ｃ）に示す。図２０（ｃ）に示すメイン画面５００には、２本のパースラインの間に文字列４２２が配置され、これらのパースラインに沿うよう、かつ図２０（ｂ）で求めた視点１００６の表示位置４３３及び表示幅４３４になるように変形させて表示している。このようにして調整点を操作することに応じて仮想的な視点を変更し、その変更した視点から見た遠近感となるように文字列を変形して表示することが可能となる。
【０１３４】
ステップＳ１９０６では、情報処理装置１００のＣＰＵ１０１は、表示制御部２０２の機能により、ステップＳ１９０５で変形した文字列をタッチパネル１１１下のディスプレイ１１０に表示する。
【０１３５】
ステップＳ１９０７では、情報処理装置１００のＣＰＵ１０１は、操作取得部２１３の機能により取得したタッチ操作の内容に基づいて、ディスプレイ１１０に表示されている調整点に対するスライド操作が終了したか否かを判定する。より具体的には、操作検知部２０３からタッチ操作の内容が渡されなくなったら、スライド操作が終了したと判定する。スライド操作が終了したと判定した場合には、調整点操作処理を終了する。そうでない場合には、ステップＳ１９０１に処理を戻す。このように、スライド操作が継続している間は、所定の間隔でステップＳ１９０１乃至ステップＳ１９０７を繰り返すようにすることで、スライド操作に応じてリアルタイムに仮想的な視点を変更し、更にこの視点に応じた遠近感で文字列を変形することができる。この所定の間隔は特に問わないが、視点の変更に伴ってスムーズに文字列を変形させるためには、短い間隔であればあるほどよい。
【０１３６】
このようにして、調整点の位置を変更するためのスライド操作が継続している間は、調整点の位置を変更することに応じて仮想的な視点の位置を変更し、この変更した位置から見た遠近感で文字列を変形することができる。
【０１３７】
以上説明したように、本実施形態によれば、表示部に対する操作に基づいて、表示アイテムの遠近感を容易に表現することが可能となる。
【０１３８】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１３９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行可能することによっても達成される場合も本発明に含まれる。
【０１４０】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１４２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１４３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１４４】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１４７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１４８】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１４９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ディスプレイコントローラ
１０５  タッチパネルコントローラ
１０６  カメラコントローラ
１０７  センサコントローラ
１０８  ネットワークコントローラ
１０９  フラッシュメモリコントローラ
１１０  ディスプレイ
１１１  タッチパネル
１１２  カメラ
１１３  センサ
１１４  フラッシュメモリ
【図１】
0006572940.tif 000002
【図２】
0006572940.tif 000003
【図３】
0006572940.tif 000004
【図４】
0006572940.tif 000005
【図５】
0006572940.tif 000006
【図６】
0006572940.tif 000007
【図７】
0006572940.tif 000008
【図８】
0006572940.tif 000009
【図９】
0006572940.tif 000010
【図１０】
0006572940.tif 000011
【図１１】
0006572940.tif 000012
【図１２】
0006572940.tif 000013
【図１３】
0006572940.tif 000014
【図１４】
0006572940.tif 000015
【図１５】
0006572940.tif 000016
【図１６】
0006572940.tif 000017
【図１７】
0006572940.tif 000018
【図１８】
0006572940.tif 000019
【図１９】
0006572940.tif 000020
【図２０】
0006572940.tif 000021
【図２１】
0006572940.tif 000022