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