(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェース生成部は、前記記憶部に格納されたユーザインタフェースオブジェクト定義情報を取捨選択し、選択したユーザインタフェースオブジェクトの全てを前記表示部の所定の表示領域に表示可能か否か判定し、表示不可と判定した場合、前記選択したユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とする、ユーザインタフェース生成装置。
【請求項２】
前記ユーザインタフェースオブジェクトの種別と、前記ユーザインタフェースオブジェクト定義情報と前記装置依存情報とに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定するサイズ下限値設定部をさらに備え、
前記ユーザインタフェース生成部は、前記サイズ下限値設定部により設定された前記最小値を下限値として、前記サイズ情報を書き換えることを特徴とする、請求項１のユーザインタフェース生成装置。
【請求項３】
前記サイズ下限値設定部は、前記装置依存情報に含まれる最小フォントサイズ、最小行間隔、入力デバイス情報の少なくとも１つに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定することを特徴とする、請求項２のユーザインタフェース生成装置。
【請求項４】
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記ユーザインタフェース生成部は、前記選択画面において選択された前記ユーザインタフェースオブジェクトの選択順序に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とする、請求項１乃至３のユーザインタフェース生成装置。
【請求項５】
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクト間の優先順位を示す優先順位情報を含み、
前記ユーザインタフェース生成部は、前記優先順位情報に基づいて前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とする、請求項１乃至３のユーザインタフェース生成装置。
【請求項６】
前記ユーザインタフェース生成部は、前記サイズ情報と、前記サイズ下限値設定部により設定された前記最小値との比に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とする、請求項２または３のユーザインタフェース生成装置。
【請求項７】
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記選択画面生成部は、複数の前記ユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と前記ユーザインタフェースオブジェクト定義情報とに基づいて、前記選択画面において選択されたユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定された場合、当該選択されたユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とする、ユーザインタフェース生成装置。
【請求項８】
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクトのうち必須であるユーザインタフェースオブジェクトについて、必須のユーザインタフェースオブジェクトである旨を示す必須情報を含み、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と、前記必須情報とに基づいて、前記必須のユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定した場合、前記必須のユーザインタフェースオブジェクトの全てが表示可能となるよう、前記必須ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とする、ユーザインタフェース生成装置。
【請求項９】
前記ユーザインタフェースを介して前記アプリケーションプログラム実行部に前記アプリケーションプログラムに基づく所定の機能の実行を指示する入力を受け付ける操作入力受付部と、
前記操作入力受付部への操作入力手段を判別する操作入力手段判別部と、をさらに備え、
前記ユーザインタフェース生成部は、前記操作入力手段判別部で判別された操作入力手段に応じて前記装置依存情報を書き換えることを特徴とする、請求項１、７または８のいずれか１項のユーザインタフェース生成装置。
【請求項１０】
前記表示部において前記合成ユーザインタフェースの表示中に、前記操作入力手段判別部により前記操作入力手段の変更が検知された場合、前記ユーザインタフェース生成部は、当該変更された操作入力手段に応じて前記装置依存情報を書き換え、当該書き換えた装置依存情報に基づいて新たな合成ユーザインタフェースを生成することを特徴とする、請求項９のユーザインタフェース生成装置。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、２００８年４月２日に出願された日本国特許出願２００８−９６６０４号、および２０８年５月２９日に出願された日本国特許出願２００８−１４１２５７号の優先権を主張するものであり、これらの先の出願の開示全体をここに参照のために取り込む。
【技術分野】
【０００２】
本発明は、ユーザインタフェース生成装置に関し、特に、携帯端末のユーザインタフェースを生成するユーザインタフェース生成装置に関するものである。
【背景技術】
【０００３】
携帯電話に代表される携帯端末のユーザインタフェース（以下、適宜「ＵＩ」と略記する）は、ユーザが携帯端末を操作する際の操作性を大きく左右する。そのため、携帯端末のＵＩは、ユーザが携帯端末を購入する際の決め手となる重要な要素の１つになっている。【０００４】
近年、携帯端末は著しく多機能化し、それに伴いアニメーションや３Ｄの表現などを利用した表現力豊かなＵＩを備える携帯端末も多い。また、ユーザの嗜好に合わせてＵＩをカスタマイズできる携帯端末もあり、このような携帯端末は、ユーザにとっての利便性を著しく向上させている。【０００５】
従来の携帯端末は、各メーカ間および各機種間でＵＩのデザインや操作方法が異なるのが一般的であった。すなわち、ＵＩは各端末機器に固有のものであり、端末ごとに機種依存性の高いＵＩを備えるものがほとんどであった。そのため、端末の開発を行う際に、他の端末のプログラムコードを再利用する場合、そのプログラムコードに対して必要なＵＩ部分の変更は膨大になる。したがって、ある端末のプログラムコードを他の端末に移植するのは困難であった。【０００６】
そこで、最近では、ＸＭＬ（Extensible Markup Language）をベースにしたＵＩが導入されつつある。記述方式が共通化されたＸＭＬファイルを用いてＵＩを表現することによって、プログラムコードの再利用が容易になり、他の機種へのＵＩの移植も可能になる。したがって、例えば、異なるメーカの異なる端末機種間でも同じＵＩを使用することができるなど、各端末からＵＩのみを独立させるように扱うことも可能になる。【０００７】
このような、ＸＭＬをベースにしたＵＩのうち代表的なものとして、ＴＡＴ社（http://www.tat.se/）が開発したＵＩ  Ｆｏｕｎｄａｔｉｏｎや、Ａｃｒｏｄｅａ社（http://www.acrodea.co.jp/）が開発したＶＩＶＩＤ  ＵＩや、Ｑｕａｌｃｏｍｍ社（http://www.qualcomm.co.jp/）が開発したＵＩ  Ｏｎｅなどを挙げることができる。【０００８】
また、近年の携帯端末は、端末本体の多機能化および高性能化に伴い、同時に複数のタスクを並行して実行できるマルチタスク処理に対応したＯＳ（オペレーティングシステム）を実装したものが増えている。さらに、並行して同時に処理する複数のタスクにそれぞれの表示領域（ウィンドウ）を割り当てて、出力画面の表示を多重化するマルチウィンドウ機能に対応した携帯端末も普及しつつある。【０００９】
ところで、例えば特開２００１−３６６５２号公報には、赤外線通信部を備える携帯電話端末を用いて、赤外線通信により複数の外部機器を遠隔操作（制御）できるようにした技術が開示されている。この特開２００１−３６６５２号公報に記載の携帯電話端末は、外部機器との通信を行う外部制御部を備えている。この携帯電話端末は、外部の機器を遠隔制御するための外部機器制御情報を、電話回線などを介して取得したり、または外部機器から受信するなどして記憶し、この外部機器制御情報に基づいて外部機器を遠隔制御することができる。すなわち、内蔵のアプリケーションプログラム（以下、単に「アプリケーション」という）を変更することで、通常は携帯電話として使用する端末本体を、複数の外部機器を遠隔操作するリモートコントロール（以下、単に「リモコン」という）端末として用いることができる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記特開２００１−３６６５２号公報に開示されている携帯電話端末によれば、各外部機器に対応するそれぞれの外部機器制御情報に基づいて、１台の携帯電話端末で複数の外部機器を遠隔操作できる。したがって、複数の外部機器のそれぞれについて個別のリモコン端末を複数使い分けるという煩雑な操作が必要なく、ユーザにとっての利便性を高めることができる。【００１１】
このような、遠隔制御する複数の外部機器を切り替えるリモコン機能を、上述したマルチタスク処理が可能な携帯端末にて実現すれば、各リモコンのアプリケーションをいちいち一旦終了させて次のリモコンのアプリケーションを起動させる必要はない。すなわち、複数のアプリケーションを１つの端末で同時に起動させて、その中から、使いたい任意のリモコンのアプリケーションに適時切り替えて使用できる。【００１２】
しかしながら、複数のアプリケーションを頻繁に切り替えて使用する場合には、その切り替え操作は煩雑なものとなる。【００１３】
そこで、携帯端末に上述したマルチウィンドウの機能を組み合わせれば、複数のウィンドウに、複数のアプリケーションを操作するＵＩをそれぞれ再現することも可能になる。このようにすれば、複数のアプリケーションを切り替えて使用するのではなく、１画面上で同時に使用できる。【００１４】
例えば、図２５（Ａ）に示すような、テレビのリモコン端末単独であれば、図２５（Ｂ）に示すように、例えばタッチパネル２００を備える携帯端末１００上に、テレビリモコンアプリケーションのＵＩを、その操作性を維持したまま再現できる。なお、図２５（Ａ）のリモコン端末において、テンキーなどのキーやボタンは機械式のキーであるが、図２５（Ｂ）の携帯端末１００においては、テンキーなどを描画して再現したオブジェクトをタッチパネル２００に表示している。以下、このように、ＵＩを構成する各種キーまたはボタンおよび情報表示箇所などを、「ＵＩオブジェクト」と記す。また、図２５（Ｃ）に示すような、エアコンディショナーのリモコン端末単独の場合も同様に、図２５（Ｄ）のように、タッチパネル２００を備える携帯端末１００上に、エアコンディショナーリモコンアプリケーションのＵＩを、その操作性を維持したまま再現できる。さらに、それぞれのアプリケーションのＵＩを、ＸＭＬをベースとして記述すれば、他メーカの端末などにアプリケーションを移植しても、ＵＩを記述したＸＭＬのファイルを加工するだけでほとんど同じＵＩを容易に再現できる。【００１５】
しかしながら、上述の例において、テレビの視聴中にエアコンディショナーの操作を行う場合に、テレビもエアコンディショナーも頻繁な操作を要する状況も想定される。このような場合、両方のリモコンのアプリケーションを、マルチタスクおよびマルチウィンドウの機能を用いて、表示部の表示領域を分割して同時に表示したとする。この場合、各アプリケーションは単独で使用することを想定したＵＩしか備えていないため、各ＵＩをそのまま同時表示すると、図２６（Ａ）〜（Ｄ）に示すような状態になる。【００１６】
図２６（Ａ）〜（Ｄ）は、マルチタスクおよびマルチウィンドウの機能を実装した携帯端末１００で２つのアプリケーションのＵＩを同時表示した様子を示す図である。図に示す例においては、タッチパネル２００の表示部の表示を上下に分割した各ウィンドウ内で、それぞれのＵＩをそのまま再現したため、各ＵＩとも一部しか表示されていない。画面上に表示しきれない部分の操作を行うために、各ウィンドウの右端にはスクロールバーを備えている。【００１７】
例えば図２６（Ａ）に示す状態で、テレビの音量を調節したい場合には、ユーザは、テレビリモコンＵＩのウィンドウのスクロールバーを移動して、図２６（Ｂ）に示すようにテレビリモコンＵＩの表示範囲を移動させなくてはならない。同様に、例えば図２６（Ｃ）に示す状態で、エアコンディショナーの温度を調節したい場合、ユーザは、エアコンディショナーリモコンＵＩのウィンドウのスクロールバーを移動して、図２６（Ｄ）に示すようにエアコンディショナーリモコンＵＩの表示範囲を移動させなくてはならない。さらに、マルチウィンドウで複数のアプリケーションを起動する場合、ＵＩを重畳表示する際は、まず入力するウィンドウを選択してアクティブにしてから入力操作を開始しなくてはならない。【００１８】
このように、単独で用いることを想定した、一画面用にデザインされたＵＩをマルチウィンドウなどで表示した場合、各ＵＩオブジェクトの全てを一画面内に収めることはできなくなるため、ＵＩの操作性は悪化してしまう。【００１９】
したがって、かかる事情に鑑みてなされた本発明の目的は、複数のユーザインタフェースオブジェクトでユーザインタフェースを構成する際に、必要なユーザインタフェースオブジェクトを所定のユーザインタフェースオブジェクト表示領域に適切に収めることができるユーザインタフェース生成装置を提供することにある。
【課題を解決するための手段】
【００２０】
上記目的を達成する第１の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェース生成部は、前記記憶部に格納されたユーザインタフェースオブジェクト定義情報を取捨選択し、選択したユーザインタフェースオブジェクトの全てを前記表示部の所定の表示領域に表示可能か否か判定し、表示不可と判定した場合、前記選択したユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。【００２１】
第２の観点に係る発明は、第１の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクトの種別と、前記ユーザインタフェースオブジェクト定義情報と前記装置依存情報とに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定するサイズ下限値設定部をさらに備え、
前記ユーザインタフェース生成部は、前記サイズ下限値設定部により設定された前記最小値を下限値として、前記サイズ情報を書き換えることを特徴とするものである。【００２２】
第３の観点に係る発明は、第２の観点に係るユーザインタフェース生成装置において、
前記サイズ下限値設定部は、前記装置依存情報に含まれる最小フォントサイズ、最小行間隔、入力デバイス情報の少なくとも１つに基づいて、前記ユーザインタフェースオブジェクトの表示サイズの最小値を設定することを特徴とするものである。【００２３】
第４の観点に係る発明は、第１乃至第３のいずれか１つの観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記ユーザインタフェース生成部は、前記選択画面において選択された前記ユーザインタフェースオブジェクトの選択順序に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。【００２４】
第５の観点に係る発明は、第１乃至第３のいずれか１つの観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクト間の優先順位を示す優先順位情報を含み、
前記ユーザインタフェース生成部は、前記優先順位情報に基づいて前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。【００２５】
第６の観点に係る発明は、第２または第３の観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェース生成部は、前記サイズ情報と、前記サイズ下限値設定部により設定された前記最小値との比に基づいて、前記サイズ情報を書き換える前記ユーザインタフェースオブジェクト定義情報を選択し、選択したユーザインタフェースオブジェクト定義情報のサイズ情報を書き換えることを特徴とするものである。【００２６】
第７の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部をさらに備え、
前記選択画面生成部は、複数の前記ユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と前記ユーザインタフェースオブジェクト定義情報とに基づいて、前記選択画面において選択されたユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定された場合、当該選択されたユーザインタフェースオブジェクトの全てが表示可能になるよう、前記装置依存情報に基づいて、前記ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。【００２７】
第８の観点に係るユーザインタフェース生成装置の発明は、
アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
前記ユーザインタフェース生成部により生成されるユーザインタフェースを表示する表示部と、
前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納するとともに、自装置の特性を示す装置依存情報を格納する記憶部と、を備えるユーザインタフェース生成装置であって、
前記ユーザインタフェースオブジェクト定義情報は、前記ユーザインタフェースを構成するユーザインタフェースオブジェクトのうち必須であるユーザインタフェースオブジェクトについて、必須のユーザインタフェースオブジェクトである旨を示す必須情報を含み、
前記ユーザインタフェース生成部は、前記表示部においてユーザインタフェースの表示が可能であるユーザインタフェース表示領域と、前記必須情報とに基づいて、前記必須のユーザインタフェースオブジェクトの全てを表示可能か否か判定し、表示不可と判定した場合、前記必須のユーザインタフェースオブジェクトの全てが表示可能となるよう、前記必須ユーザインタフェースオブジェクト定義情報に含まれる当該ユーザインタフェースオブジェクトの表示サイズに関するサイズ情報を書き換え、当該サイズ情報を書き換えたユーザインタフェースオブジェクト定義情報に基づいて合成ユーザインタフェースを生成するユーザインタフェース合成処理を行うことを特徴とするものである。【００２８】
第９の観点に係る発明は、第１、第７、または第８のいずれか１つの観点に係るユーザインタフェース生成装置において、
前記ユーザインタフェースを介して前記アプリケーションプログラム実行部に前記アプリケーションプログラムに基づく所定の機能の実行を指示する入力を受け付ける操作入力受付部と、
前記操作入力受付部への操作入力手段を判別する操作入力手段判別部と、をさらに備え、
前記ユーザインタフェース生成部は、前記操作入力手段判別部で判別された操作入力手段に応じて前記装置依存情報を書き換えることを特徴とするものである。【００２９】
第１０の観点に係る発明は、第９の観点に係るユーザインタフェース生成装置において、
前記表示部において前記合成ユーザインタフェースの表示中に、前記操作入力手段判別部により前記操作入力手段の変更が検知された場合、前記ユーザインタフェース生成部は、当該変更された操作入力手段に応じて前記装置依存情報を書き換え、当該書き換えた装置依存情報に基づいて新たな合成ユーザインタフェースを生成することを特徴とするものである。
【図面の簡単な説明】
【００３０】
【図１】本発明のユーザインタフェース生成装置の概略構成を示すブロック図である。
【図２】本発明のユーザインタフェース定義ファイルの構成を説明する概念図である。
【図３】本発明の合成ユーザインタフェース定義ファイルの構成を説明する概念図である。
【図４】各ユーザインタフェース定義ファイルに基づいて生成される、種々のリモコンアプリケーション用ユーザインタフェースを表示した例を示す図である。
【図５】第１実施の形態に係るユーザインタフェースオブジェクト選択画面およびプレビュー画面の表示例を示す図である。
【図６】第１実施の形態に係るユーザインタフェースオブジェクト選択画面およびプレビュー画面の表示例を示す図である。
【図７】第１実施の形態に係るユーザインタフェースオブジェクト選択画面およびプレビュー画面の表示例を示す図である。
【図８】第１実施の形態に係るユーザインタフェースオブジェクト選択画面およびプレビュー画面の表示例を示す図である。
【図９】第１実施の形態に係るユーザインタフェースオブジェクトの表示サイズ下限値の設定処理を説明するフローチャートである。
【図１０】第１実施の形態に係るユーザインタフェースオブジェクトの、指によって入力する場合の表示サイズ下限値を、ユーザインタフェースオブジェクトの種別ごとに示した図である。
【図１１】第１実施の形態に係るユーザインタフェースオブジェクトの、スタイラスによって入力する場合の表示サイズ下限値を、ユーザインタフェースオブジェクトの種別ごとに示した図である。
【図１２】合成ユーザインタフェースを表示する際に、操作手段によって配置可能なユーザインタフェースオブジェクトが異なることを説明する図である。
【図１３】第１実施の形態に係る、操作手段の変更に伴うＵＩ再合成処理を説明するフローチャートである。
【図１４】第２実施の形態に係るユーザインタフェースの自動合成を行う場合に用いる、優先度の高いユーザインタフェースオブジェクトで構成した各ユーザインタフェースを示す図である。
【図１５】第２実施の形態に係るユーザインタフェースの自動合成を行う際に、各ユーザインタフェースをそのまま合成することはできないことを説明する図である。
【図１６】第２実施の形態による自動レイアウト処理を説明するフローチャートである。
【図１７】第２実施の形態に係る設定に基づいて分類したユーザインタフェースオブジェクトの縮小処理を説明する図である。
【図１８】第２実施の形態に係る縮小処理を行うことによりユーザインタフェースを合成した例を示す図である。
【図１９】第３実施の形態に係る設定に基づいて分類したユーザインタフェースオブジェクトの縮小処理を説明する図である。
【図２０】第３実施の形態に係る縮小処理を行うことによりユーザインタフェースを合成した例を示す図である。
【図２１】第４実施の形態に係る設定に基づいて分類したユーザインタフェースオブジェクトの縮小処理を説明する図である。
【図２２】第４実施の形態に係る縮小処理を行うことによりユーザインタフェースを合成した例を示す図である。
【図２３】第５実施の形態に係る設定に基づいて分類したユーザインタフェースオブジェクトの縮小処理を説明する図である。
【図２４】第５実施の形態に係る縮小処理を行うことによりユーザインタフェースを合成した例を示す図である。
【図２５】従来のリモートコントロール端末を携帯端末のユーザインタフェースで再現した状態を示す図である。
【図２６】従来の携帯端末にて２つのユーザインタフェースを合成した例を示す図である。
【符号の説明】
【００３１】
１  携帯電話
１０  制御部
１１  アプリケーションプログラム実行部
１２  ユーザインタフェース取得部
１３  ユーザインタフェース生成部
１４  操作手段検出部
２０  タッチパネル
２２  入力部
２４  表示部
３０  無線通信部
４０  赤外線通信部
５０  記憶部
５１  アプリケーションプログラム記憶領域
５２  ユーザインタフェース定義ファイル記憶領域
５３  個別ユーザインタフェースリソース記憶領域
５４  共通ユーザインタフェースリソース記憶領域
５５  関連アプリケーションプログラム情報記憶領域
５６  合成ユーザインタフェース定義ファイル記憶領域
５７  端末依存情報記憶領域
６０  ユーザインタフェース合成処理部
６１  ユーザインタフェースオブジェクト定義情報解析部
６２  ユーザインタフェースオブジェクト選択処理部
６３  合成ユーザインタフェース定義ファイル生成部
６４  ユーザインタフェースリソース整形部
７０  自動レイアウト処理部
７１  配置設定部
７２  配置可否判定部
７３  縮小オブジェクト選択部
７４  サイズ下限値設定部
８０  操作キー部
９０  スタイラス収納部
【発明を実施するための最良の形態】
【００３２】
以下、本発明の各実施の形態について、図面を参照して説明する。以下の各実施の形態では、本発明のユーザインタフェース（以下、「ＵＩ」と記す）生成装置の一例として、各種外部機器の遠隔制御が可能なリモコン機能を実装した携帯電話を想定して説明する。しかしながら、本発明のＵＩ生成装置は携帯電話に限定されるものではなく、例えばノートパソコンやＰＤＡなどの任意の携帯端末などに適用することができる。また、本発明の実装を必要とする装置であれば、携帯端末にも限定されることはない。なお、本発明は、複数のＵＩを同時に使用できるように合成することを主目的とするものであり、各ＵＩにより指示を受けるアプリケーションはリモコン機能に限定されるものではなく、任意の各種アプリケーションに適用することができる。【００３３】
（第１実施の形態）
図１は、本発明の第１実施の形態に係るＵＩ生成装置である携帯電話の概略構成を示すブロック図である。【００３４】
携帯電話１は、全体を制御する制御部１０と、ユーザからの入力を受け付けると共に、各アプリケーションに応じて入力結果などの表示を行うタッチパネル２０とを備えている。タッチパネル２０は、ユーザからの入力を受け付けるマトリクススイッチなどで構成した入力部２２を、液晶ディスプレイなどで構成した表示部２４の前面に重畳させて構成する。タッチパネル２０の入力部２２は、ユーザの指先またはスタイラスのようなペン型入力デバイス等が接触するのを検知することにより、当該接触による入力に対応する信号を出力する。表示部２４は、アプリケーションプログラムに関する表示をする他、ユーザの操作入力を受け付ける各種キーやボタンなどのＵＩオブジェクトにより構成されるＵＩを所定のＵＩ表示領域に描画して表示する。【００３５】
また、携帯電話１は、図示しない基地局と音声通話および電子メールのデータなど各種情報をインターネットや無線等を使って送受信する無線通信部３０と、図示しない各種外部機器と赤外線により通信を行う赤外線通信部４０とを備えている。無線通信部３０を用いて、携帯電話１は、インターネットや無線等を介して端末外部と各種データの送受信を行う。【００３６】
さらに、携帯電話１は、操作キー部８０およびスタイラス収納部９０も備えている。操作キー部８０は、携帯電話１本体に配設された機械式のスイッチなどで構成される複数のキー、または表示部２４に表示されるポインタを移動させるための方向指示キーもしくは方向指示デバイスなどを含む。この操作キー部８０は、ユーザによる操作入力に応じて、対応する信号を制御部１０に送信する。操作キー部８０を構成する各種キーは、使用するアプリケーションに従って、その用途および機能が規定される。したがって、本実施の形態では、タッチパネル２０の入力部２２および操作キー部８０を含んで操作入力受付部を構成する。【００３７】
スタイラス収納部９０は、タッチパネル２０の入力部２２に対して入力を行うペン型入力デバイスであるスタイラスを収納する。このスタイラス収納部９０にスタイラスを収納することにより、スタイラスを携帯電話１の本体内に収納できる。このスタイラス収納部９０は、スタイラスの着脱を検知する図示しないスイッチを備えている。すなわち、このスイッチは、スタイラスがスタイラス収納部９０に収納される動作と、スタイラス収納部９０から抜き出される動作とに応じて、オンまたはオフが切り換わる。したがって、スタイラス収納部９０からの信号により、制御部１０は、スタイラス収納部９０にスタイラスが収納されているか否か、すなわち携帯電話１本体にスタイラスが収納されているか否かを判別できる。【００３８】
さらに、携帯電話１は、入力された情報および各種アプリケーション等を記憶したり、ワークメモリなどとしても機能する記憶部５０を有する。記憶部５０は、アプリケーション記憶領域５１と、ＵＩ定義ファイル記憶領域５２と、個別ＵＩリソース記憶領域５３と、共通ＵＩリソース記憶領域５４と、関連アプリケーション情報記憶領域５５と、合成ＵＩ定義ファイル記憶領域５６と、端末依存情報記憶領域５７とを含む。【００３９】
なお、制御部１０は、アプリケーション実行部１１と、ＵＩ取得部１２と、ＵＩ生成部１３と、操作手段検出部１４とを含んでいる。【００４０】
制御部１０において、アプリケーション実行部１１は、記憶部５０のアプリケーション記憶領域５１に保存された各種アプリケーションを読み出して実行すると共に、当該実行に関する制御を行う。また、アプリケーション実行部１１は、アプリケーション記憶領域５１から読み出して実行している各種アプリケーションに対応するＵＩへの入力に基づいて、当該入力に対応する各種アプリケーションの機能を実行する。【００４１】
ＵＩ取得部１２は、無線通信部３０などを介して端末の外部にあるリソース（画像データ等）およびＵＩ定義ファイル（ＸＭＬファイルなど）を取得する。ＵＩ生成部１３は、ＵＩ定義ファイルに対してパース処理（パーシング）およびＤＯＭ(Document Object Model)化処理などを行い、実際に使用するＵＩを生成する。なお、ＵＩ生成部１３は、ＸＭＬの形式で記述されたＵＩの情報をＸＭＬエンジンによって解釈し、ＵＩ定義ファイルに基づいて生成されたＵＩをタッチパネル２０の表示部２４に表示する。【００４２】
ＵＩ生成部１３は、その内部に、複数のＵＩ定義ファイルに基づいてＵＩの合成処理を行うＵＩ合成処理部６０を含む。また、ＵＩ合成処理部６０は、ＵＩオブジェクト定義情報解析部６１と、ＵＩオブジェクト選択処理部６２と、合成ＵＩ定義ファイル生成部６３と、ＵＩリソース整形部６４と、自動レイアウト処理部７０とを含む。【００４３】
ＵＩオブジェクト定義情報解析部６１は、ＵＩ定義ファイルに含まれる、各種のＵＩオブジェクトを定義するＵＩオブジェクト定義情報を解析する。【００４４】
ＵＩオブジェクト選択処理部６２は、多数のＵＩオブジェクトの中から、必要とするＵＩオブジェクトを、自動的にまたはユーザの入力により選択する処理を行う。ユーザの入力により選択を行う場合、ＵＩオブジェクト選択処理部６２は、表示部２４に描画するＵＩオブジェクトを定義するＵＩオブジェクト定義情報を解析することにより、ユーザによるＵＩオブジェクトの選択入力を受け付ける選択画面を生成する処理および制御を行う。以下、ＵＩオブジェクトの情報を表示部２４に表示して、ユーザによる選択入力を受け付ける画面を、「ＵＩオブジェクト選択画面」または単に「選択画面」と記す。したがって、本実施の形態では、ＵＩオブジェクト選択処理部６２は選択画面生成部を構成する。さらに、ＵＩオブジェクト選択処理部６２は、複数のＵＩを合成するよう指示されると、指定された複数のＵＩ定義ファイルに基づいてＵＩの合成を行う。【００４５】
なお、ＵＩオブジェクト選択処理部６２は、ＵＩオブジェクト選択画面上で、選択されたＵＩオブジェクトが占める占有率を積算する占有率積算部（図示せず）を含む。この占有率積算部は、各ＵＩオブジェクトのＵＩオブジェクト定義情報に含まれるＵＩオブジェクト属性情報と、端末依存情報記憶領域５７に記憶された端末依存情報（装置依存情報）とに基づいて、ＵＩオブジェクトの占有率を積算する。【００４６】
合成ＵＩ定義ファイル生成部６３は、ＵＩ合成処理部６０によって合成されたＵＩを合成ＵＩ定義ファイルとして生成して出力する。【００４７】
ＵＩリソース整形部６４は、各ＵＩオブジェクトの表示サイズに基づいて、選択されたＵＩオブジェクトのプレビュー処理や、ＵＩを合成する際に利用するリソースのデータの拡大または縮小処理などを行う。なお、この場合、個別ＵＩリソース記憶領域５３または共通ＵＩリソース記憶領域５４に記憶されているリソースのデータを読み出して使用する。【００４８】
自動レイアウト処理部７０は、ＵＩを合成する際のレイアウトに関する制御および処理を行う。このため、自動レイアウト処理部７０は、配置設定部７１と、配置可否判定部７２と、縮小オブジェクト選択部７３と、サイズ下限値設定部７４とを含む。【００４９】
配置設定部７１は、所定の手順に従ってＵＩオブジェクトの配置を行う。配置設定部７１はさらに、図示しないマージン設定部を含む。このマージン設定部は、ＵＩオブジェクトを配置する際に、当該ＵＩオブジェクトが他のＵＩオブジェクトまたはＵＩ表示領域の縁部などに近接し過ぎないように、適度な間隔（マージン）を設定する。配置可否判定部７２は、配置設定部７１により配置されたＵＩオブジェクトが所定のＵＩ表示領域内に配置可能か否かを判定する。縮小オブジェクト選択部７３は、配置可否判定部７２によりＵＩオブジェクトが所定のＵＩ表示領域内に配置不可と判定された場合、所定の手順に従って、縮小するＵＩオブジェクトを選択する。サイズ下限値設定部７４は、端末依存情報やＵＩオブジェクト定義情報に従って、ＵＩオブジェクト毎にそれぞれの縮小の下限値を設定する。【００５０】
操作手段検出部１４は、ユーザが入力操作を行う手段を検知する。例えば、タッチパネル２０の入力部２２からの入力信号があれば、操作手段検出部１４は、ユーザがタッチパネルにより入力を行っていると判別する。また、操作キー部８０からの入力信号があれば、操作手段検出部１４は、ユーザが操作キーにより入力を行っていると判別する。【００５１】
なお、タッチパネル２０の入力部２２からの入力が検知された際、入力部２２上で入力が検知された領域の面積が所定の面積以上である場合には、操作手段検出部１４は、ユーザが指による入力を行っていると判別する。一方、入力が検知された領域の面積が所定の面積以下で非常に小さな面積の入力の場合には、操作手段検出部１４は、ユーザがスタイラスのような先細の入力デバイスを用いて入力を行っていると判別する。他にも、スタイラス収納部９０からスタイラスが抜き出されたことが検知されると、操作手段検出部１４は、その後はスタイラスによる入力が行われると判別する。また、スタイラス収納部９０にスタイラスが収納されたことが検知されると、操作手段検出部１４は、その後に行われる入力はスタイラスによる入力ではないと判別する。すなわち、この場合、操作手段検出部１４は、タッチパネル２０上で指による入力が行われるか、または操作キー部８０からの入力が行われると判別する。【００５２】
さらに、所定の操作に応じて、表示部２４に入力箇所を指定するポインタが表示された場合、操作手段検出部１４は、操作キー部８０からの入力のうち、当該ポインタを移動させるための方向指示キーまたは方向指示デバイスなどからの入力が行われると判別する。【００５３】
記憶部５０において、アプリケーション記憶領域５１には、各種の機能を実現する為の処理手順が記載されたデータで構成される、各種のアプリケーションを記憶する。ＵＩ定義ファイル記憶領域５２には、各ＵＩがそれぞれＵＩ全体を生成する際の一連の生成ルールを定義するＵＩ定義ファイルを記憶する。また、個別ＵＩリソース記憶領域５３は、各アプリケーション固有のＵＩを生成する際に使用する画像データや文字列（テキスト）データなどの個別ＵＩリソースを記憶する。共通ＵＩリソース記憶領域５４は、各アプリケーション固有の個別ＵＩリソース以外の、端末にて用いられる、ＵＩが共有して使用する画像データやフォントのデータなどの共通ＵＩリソースを記憶する。実際にＵＩを生成する際には、個別ＵＩリソース記憶領域５３および共通ＵＩリソース記憶領域５４に記憶された画像データおよびテキストデータなどを、タッチパネル２０の表示部２４に表示する。【００５４】
また、関連アプリケーション情報記憶領域５５には、ＵＩオブジェクトに関連するアプリケーションに対する起動情報などを含む関連アプリケーション情報を記憶する。さらに、合成ＵＩ定義ファイル記憶領域５６は、合成ＵＩ定義ファイル生成部６３が生成した合成ＵＩ定義ファイルを記憶する。端末依存情報記憶領域５７は、自端末で利用可能なフォント情報、入力デバイス情報、画面サイズ情報など、その端末および表示部２４に依存する、当該端末固有の特性を示す情報である端末依存情報（装置依存情報）を記憶する。【００５５】
次に、本実施の形態にてＵＩ定義ファイル記憶領域５２に記憶するＵＩ定義ファイルについて説明する。【００５６】
記憶部５０のＵＩ定義ファイル記憶領域５２には、アプリケーション記憶領域５１に記憶された各アプリケーションが実行される際に必要なＵＩの、当該アプリケーションに対応した各仕様および動作などを定義するＵＩ定義ファイルが記憶される。異なるアプリケーションで同じＵＩを使う状況も考えられるが、ここでは説明の便宜のため、異なるアプリケーションに対してそれぞれ異なるＵＩを用いる場合を想定し、各アプリケーションに対応した各ＵＩ定義ファイルを保存する場合について説明する。【００５７】
例えば、図示しない外部機器であるテレビ受像機を携帯電話１にて遠隔制御するテレビリモコンアプリケーションに対応して、テレビリモコンＵＩ定義ファイルをＵＩ定義ファイル記憶領域５２に記憶する。同様に、図示しない外部機器のエアコンディショナーを携帯電話１にて遠隔制御するエアコンディショナーリモコンアプリケーションに対応して、エアコンディショナーリモコンＵＩ定義ファイルをＵＩ定義ファイル記憶領域５２に記憶する。【００５８】
本実施の形態では、ＵＩ定義ファイルを記述する言語の例として、ＸＭＬ言語をベースにしたＵＩＭＬ(User Interface Markup Language)の形式に従って説明する。各ＵＩを起動して使用可能にする際には、ＵＩ生成部１３は、このＵＩＭＬファイル形式で記述される定義に従って、携帯電話１のタッチパネル２０の表示部２４にＵＩを表示し、アプリケーション実行部１１は、ユーザによる入力部２２に対する入力に応じた処理を行う。【００５９】
図２は、ＵＩ定義ファイルの構成を説明する概念図である。図２に示すように、携帯電話１の記憶部５０内のＵＩ定義ファイル記憶領域５２には、各ＵＩがそれぞれＵＩ全体を生成する際の一連の生成ルールを定義するＵＩ定義ファイルを格納する。図２では、ＵＩ定義ファイル（１）〜（６）の６つのＵＩ定義ファイルを格納しているが、使用するＵＩに応じて、ＵＩ定義ファイル記憶領域５２には任意の数のＵＩ定義ファイルを格納できる。【００６０】
また、各ＵＩ定義ファイルは、図２に示すように、複数のＵＩオブジェクト定義情報を含む。図２では、ＵＩ定義ファイル（２）は６つのＵＩオブジェクト定義情報を含んでいるが、実際には、当該ＵＩ定義ファイル（２）に基づいて構成されるＵＩが含むＵＩオブジェクトの個数に対応する数のＵＩオブジェクト定義情報を含む。【００６１】
ＵＩ定義ファイルに含まれるそれぞれのＵＩオブジェクト定義情報は、図示のように、当該ＵＩオブジェクト定義情報により定義されるＵＩオブジェクトに関連する各種の属性を表す情報を含む。以下、ＵＩオブジェクト定義情報に含まれる代表的な情報を例示する。
（１）部品（ＵＩオブジェクト）の種別情報：当該ＵＩオブジェクトがボタンやキーの機能を持つものか、情報表示のテキストボックス機能を持つものか、表示部２４に表示するだけの画像としての機能かなど、種別を特定する情報
（２）ＵＩオブジェクトに使用するリソース情報：表示部２４に表示するＵＩを構成する要素であるキーまたはボタンなどのＵＩオブジェクトを描画するための画像およびテキストを定義する情報
（３）ＵＩオブジェクトを配置する位置情報：当該ＵＩオブジェクトを所定のＵＩ表示領域のどの位置に表示するかを特定する情報
（４）ＵＩオブジェクトの表示サイズ情報：当該ＵＩオブジェクトをＵＩ表示領域に表示する際のサイズを特定する情報
（５）ＵＩオブジェクトの動作条件情報：当該ＵＩオブジェクトに入力がされた際の（実際にはＵＩオブジェクトに対応する入力部２２の部位に入力がされた際の）、アプリケーションに対する動作を定義する情報
（６）ＵＩオブジェクトを有効または無効にする情報：当該ＵＩオブジェクトをＵＩ表示領域に表示するか否か、またはＵＩオブジェクトをアクティブ状態にするか否かを特定する情報
（７）ＵＩオブジェクトの優先順位情報：当該ＵＩオブジェクトと他のＵＩオブジェクトとの関係に基づいて複数のＵＩを合成する際に、当該オブジェクトの優先度を示す情報
（８）当該ＵＩオブジェクトと他のオブジェクトとの関連性情報：当該ＵＩオブジェクトが他のＵＩオブジェクトと所定の関連性を有する場合に当該関連性を特定する情報【００６２】
本実施の形態では、ユーザの選択に基づいて、１つのＵＩ表示領域内に複数のＵＩオブジェクトを表示する。この際に、１つのＵＩの中から複数のＵＩオブジェクトを選択して採用することも、複数のＵＩにまたがって複数のＵＩオブジェクトを選択して採用することもできる。各ＵＩには対応するＵＩ定義ファイルがそれぞれ存在するが、ユーザが任意に選択したＵＩオブジェクトにより構成される合成ＵＩには、対応するＵＩ定義ファイルが元々は存在しない。そのため、ユーザの選択によるＵＩオブジェクトにより構成される合成ＵＩを生成した際には、当該合成ＵＩに基づく合成ＵＩ定義ファイルを生成して保存する。【００６３】
図３は、合成ＵＩ定義ファイルの構成を説明する概念図である。合成ＵＩ定義ファイルは、複数のＵＩ定義ファイルに含まれるＵＩオブジェクト定義情報を部分的に抜き出し、１つのＵＩ定義ファイルにまとめたものである。複数のＵＩの合成に際しては、ＵＩ合成処理部６０において、ＵＩオブジェクト選択処理部６２が、各ＵＩ定義ファイルに基づいてＵＩオブジェクト選択画面を生成し、ユーザが選択したＵＩオブジェクトのＵＩオブジェクト定義情報を抽出する。合成ＵＩ定義ファイル生成部６３は、抽出されたＵＩオブジェクト定義情報をまとめて１つの合成ＵＩ定義ファイルにする。これは、ユーザの視点から見ると、複数のＵＩからＵＩオブジェクトをいくつか選択して採用し、１つの合成ＵＩを生成したことになる。なお、ＵＩ合成処理部６０は、合成ＵＩ定義ファイルを生成する際に、必要に応じてＵＩオブジェクト定義情報を加工してから、合成ＵＩとして１つの定義ファイルにまとめることができる。【００６４】
例えば、図４は、図２および図３に示したような各ＵＩ定義ファイルに基づいて生成される、種々のリモコンアプリケーション用ＵＩを表示した例を示す図である。ＵＩ定義ファイルがＸＭＬをベースにしたＵＩＭＬのファイル形式で記述されている場合には、これらの各ＵＩＭＬのファイルを解析してＵＩを生成すると、表示部２４の所定のＵＩ表示領域内に適切に収まるような一画面用のＵＩが表示される。それぞれのＵＩのＵＩ定義ファイルでは、各ＵＩを構成するＵＩオブジェクトについて、ＵＩオブジェクト定義情報により各種の属性が定義されている。【００６５】
このようなＵＩは、それぞれ単独で用いられることを想定して構成された（つまり合成ＵＩとして使用されることを想定していない）ＵＩであってもよい。その場合でも、ＵＩ合成処理部６０による上述した合成ＵＩ生成の処理を行うことで、ユーザが選択した任意のＵＩオブジェクトを複数選択して採用した１つの合成ＵＩを構成する合成ＵＩ定義ファイルを生成できる。【００６６】
次に、第１実施の形態に係る携帯電話１によるＵＩオブジェクト縮小処理について説明する。本実施の形態では、ユーザが複数のＵＩから所望のＵＩオブジェクトを選択して合成ＵＩを生成する際に、表示部２４上で所定のＵＩ表示領域にＵＩオブジェクトが収まらなくなった際にＵＩオブジェクト縮小処理を行う。【００６７】
このため、ＵＩオブジェクト選択処理部６２は、まず、図５（Ａ）に示すように、ＵＩオブジェクト定義情報に基づいて、ユーザによるＵＩオブジェクトの選択入力を受け付けるＵＩオブジェクト選択画面を生成して表示部２４に表示する。図５（Ａ）に示した例では、エアコンディショナーリモコンＵＩと、ＴＶリモコンＵＩと、照明リモコンＵＩとの各ＵＩの中から、所望のＵＩオブジェクトを選択できる。なお、図５（Ａ）においては、チェックボックスにハッチングが施されている場合に、そのＵＩオブジェクトが選択されていることを示している。タッチパネル２０上で（入力部２２にて）ユーザがチェックボックスを押下して入力する等してＵＩオブジェクトが選択されると、占有率積算部（図示せず）は、選択されたＵＩオブジェクトが所定のＵＩ表示領域において占める面積の占有率を積算する。図５（Ａ）に示した例では、ユーザが複数のＵＩの中からいくつかのＵＩオブジェクトを選択し、これらのＵＩオブジェクトが占める積算占有率が８５％になっていることが、表示部２４下方の棒グラフ表示によって示してある。【００６８】
このようにしてＵＩオブジェクトが複数選択されると、自動レイアウト処理部７０の配置設定部７１は、所定の条件にしたがってＵＩオブジェクトを仮想的に配置する。ユーザがＵＩオブジェクトの配置を視覚的に確認したい場合には、図５（Ａ）の表示部２４の右下端に示す「プレビュー」のソフトキーへの入力に基づいて、ＵＩオブジェクト選択処理部６２は、図５（Ｂ）に示すようなプレビュー画面を表示部２４に表示する。図５（Ｂ）に示すＵＩ表示領域の右下方には、占有率１５％の空き領域があることが示してあり、この空き領域に、さらにＵＩオブジェクトを追加することができる。【００６９】
ここで、図５（Ｃ）に示すように、ＵＩ表示領域の右下方にある残り１５％の空き領域に、さらに照明リモコン用ＵＩの電源ボタン（電源ＵＩオブジェクト）を追加する入力があったとする。なお、この電源ボタンのＵＩオブジェクトは、他のＵＩオブジェクトやＵＩ表示領域の縁部と近接し過ぎると操作性が悪化するため、実際に入力を受け付ける箇所の周囲に（破線で示す）適度な間隔（マージン）を設定してある。この場合、図に示すように、電源ＵＩオブジェクトの横幅のサイズがＵＩ表示領域に収まらないため、当該ＵＩオブジェクトをこのまま配置することはできない。そのため、本実施の形態では、配置設定部７１がＵＩオブジェクトを配置する際に、当該ＵＩオブジェクトは配置不可能であると配置可否判定部７２が判定した場合、例えば図５（Ｄ）に示すような警告を表示部２４に表示して、本実施の形態のＵＩオブジェクト縮小処理を行う。【００７０】
すなわち、ＵＩオブジェクト選択処理部６２が生成したＵＩオブジェクト選択画面に対してＵＩオブジェクトを選択する入力があったら、選択処理部７１は、当該ＵＩオブジェクトを仮想的に配置する。この時、配置可否判定部７２は、当該ＵＩオブジェクトのＵＩオブジェクト定義情報と、端末依存情報記憶領域５７に記憶された端末依存情報に基づいて、当該ＵＩオブジェクトを配置した際に、所定のＵＩ表示領域に収まるか否かを判定する。本実施の形態では、端末依存情報は、当該端末のＵＩを表示する表示部２４の表示性能に関する情報である。例えば、この端末依存情報は、表示部２４に表示するＵＩ表示領域の大きさ（面積）、画面解像度、表示できる最小フォントサイズ、表示する文字の行の最小行間隔などとする。また、端末依存情報は、入力デバイスに関する情報（入力デバイスがスタイラスか、指を用いた入力か等）も含む。【００７１】
配置可否判定部７２がＵＩオブジェクトの配置の可否を判定した結果、配置可能であれば、自動レイアウト処理部７０は、当該ＵＩの採用を決定するとともに、当該ＵＩオブジェクトのＵＩオブジェクト定義情報を合成ＵＩ定義ファイルに含める。しかしながら、当該ＵＩオブジェクトの配置が不可であると判定された場合は、縮小オブジェクト選択部７３が、当該ＵＩオブジェクト、つまり最後に選択されたＵＩオブジェクトを縮小処理の対象として選択する。【００７２】
次に、ＵＩ合成処理部６０は、縮小処理の対象として選択されたＵＩオブジェクトに対して縮小処理を行う。この際、ＵＩオブジェクトの縮小処理は、縮小し過ぎて操作性を害することを防止するために、サイズ下限値設定部７４により設定されたＵＩオブジェクトの表示サイズの最小値を下限として行う。なお、サイズ下限値設定部７４による、ＵＩオブジェクトの表示サイズの最小値（下限値）の設定処理については後述する。追加するＵＩオブジェクト（この場合、電源ＵＩオブジェクト）が、サイズ下限値設定部７４により設定された最小値を下限として縮小することで、所定のＵＩ表示領域に収まるように配置可能と判定された場合、自動レイアウト処理部７０は、当該ＵＩオブジェクトのＵＩオブジェクト定義情報に含まれるサイズ情報を書き換えてから、合成ＵＩ定義ファイルに含める。【００７３】
例えば、図５（Ｄ）に示したように、追加する照明リモコン用ＵＩの電源ＵＩオブジェクトを縮小する警告表示をした後、図６（Ａ）の選択画面に示すように、照明リモコン用ＵＩの電源ＵＩオブジェクトの占有率を１０％から７％に縮小する。これにより、プレビュー表示は図６（Ｂ）に示すような画面になり、照明リモコン用ＵＩの電源ＵＩオブジェクトを縮小することにより、ＵＩ表示領域内に収まることがわかる。【００７４】
また、図６（Ｃ）に示す選択画面にて、照明リモコン用ＵＩの「豆電」ＵＩオブジェクトをさらに追加する際、もともとのサイズ（占有率１０％）ではＵＩ表示領域（残り８％）に収まらない。しかしながら、上述した手順と同様に、豆電ＵＩオブジェクトの占有率を１０％から８％に縮小することで、図６（Ｄ）のプレビュー画面に示すように、ＵＩ表示領域内に収めることができる。【００７５】
続いて、図７（Ａ）に示す選択画面にて、照明リモコン用ＵＩの「省電」ＵＩオブジェクトをさらに追加する場合の動作について説明する。図６（Ｃ）および図６（Ｄ）に示した段階にて、積算占有率はすでに１００％になっているため、図７（Ａ）に示すように占有率が１０％の「省電」ＵＩオブジェクトは、図７（Ｂ）に示すように、このままでは追加することができない。【００７６】
そこで、上述したように、最後に選択されたＵＩオブジェクトを縮小する。この場合、まずは最後に選択された「省電」ＵＩオブジェクトを縮小する。しかしながら、図７（Ｃ）に示すように、もともとの積算占有率がすでに１００％のため、「省電」ＵＩオブジェクトは、当該ＵＩオブジェクトの操作性を確保するために設定された表示サイズの最小値（例えば占有率５％とする）まで縮小しても、図７（Ｄ）に示すように、このままでは追加することはできない。【００７７】
そこで、本実施の形態によるＵＩオブジェクト縮小処理では、縮小オブジェクト選択部７３は、最後に選択されたＵＩオブジェクトの１つ前に選択されたＵＩオブジェクトを次の縮小処理の対象として選択する。次に、ＵＩ合成処理部６０は、縮小処理の対象として選択されたＵＩオブジェクトに対して、当該ＵＩオブジェクトの表示サイズの最小値を限度（下限）として縮小処理を行う。【００７８】
図８（Ａ）に示す選択画面は、最後に選択された「省電」ＵＩオブジェクト、およびその１つ前に選択された「豆電」ＵＩオブジェクトを縮小処理の対象として選択した状態を示す。なお、「豆電」ＵＩオブジェクトに設定された表示サイズの最小値（下限値）も、例として占有率５％とする。しかしながら、図８（Ｂ）のプレビュー表示に示すように、「省電」および「豆電」の２つのＵＩオブジェクトを下限値まで縮小しても、積算占有率はまだ１００％を超えるため、「省電」ＵＩオブジェクトは追加できない。【００７９】
そこで、縮小オブジェクト選択部７３は、さらに１つ前に選択されたＵＩオブジェクトを次の縮小処理の対象として選択する。ＵＩ合成処理部６０は、選択されたＵＩオブジェクトに対して、ＵＩオブジェクトの表示サイズの最小値を限度（下限）として縮小処理を行う。【００８０】
図８（Ｃ）に示す選択画面は、最後に選択された照明リモコン用ＵＩの「省電」ＵＩオブジェクトと、その１つ前に選択された「豆電」ＵＩオブジェクトと、さらに１つ前に選択された「電源」ＵＩオブジェクトとを縮小処理の対象として選択した状態を示す。なお、「電源」ＵＩオブジェクトに設定された表示サイズの最小値（下限値）も、例として占有率５％とする。すると、図８（Ｄ）のプレビュー表示に示すように、「省電」、「豆電」および「電源」の３つのＵＩオブジェクトを下限値まで縮小すると、積算占有率が１００％になるため、「省電」ＵＩオブジェクトを追加できる。【００８１】
この後は、上述したように、自動レイアウト処理部７０は、「省電」、「豆電」および「電源」の３つのＵＩオブジェクトのＵＩオブジェクト定義情報に含まれるサイズ情報を書き換えてから、合成ＵＩ定義ファイルに含める。【００８２】
このように、本実施の形態では、新たにＵＩオブジェクトを選択して追加する場合に、ユーザが選択した順序に基づき、選択したＵＩオブジェクトの選択順序が後のものから（最後に選択させたものから遡って）順に縮小処理を行ってから配置する。これは、選択した順序が早いものほどユーザにとっては重要なＵＩオブジェクトであり、選択した順序が後のものほど重要度が低いＵＩオブジェクトであるという傾向に基づく。【００８３】
次に、サイズ下限値設定部７４による、ＵＩオブジェクトの表示サイズの最小値（下限値）の設定処理について説明する。前述のＵＩオブジェクト縮小処理を行う際は、ＵＩ合成処理部６０がＵＩオブジェクトを縮小し過ぎて操作性を害することの無いよう、ＵＩオブジェクトの表示サイズの最小値を設定しておく必要がある。【００８４】
図９は、ＵＩオブジェクトの表示サイズ最小値（下限値）の設定処理を説明するフローチャートである。【００８５】
まず、ＵＩオブジェクト定義情報解析部６１は、ＵＩ定義ファイルに含まれるＵＩオブジェクトのＵＩオブジェクト定義情報の数（ｍ）をカウントするとともに、サイズ下限値設定部７４は、下限値設定の対象とするＵＩオブジェクト定義情報の番号ｎの初期値としてｎ＝１を設定する（ステップＳ１１）。【００８６】
次に、サイズ下限値設定部７４は、合成するために選択したＵＩを構成するｎ番目のＵＩオブジェクト定義情報を取得して（ステップＳ１２）、取得したｎ番目のＵＩオブジェクト定義情報の属性を表す各種の係数ａ〜ｄに初期値を設定する（ステップＳ１３）。【００８７】
この後、サイズ下限値設定部７４は、ｎ番目のＵＩオブジェクトのＵＩオブジェクト定義情報に含まれる各種の属性を表す情報、および端末依存情報記憶領域５７に記憶された端末依存情報に基づいて、ＵＩオブジェクトの種別により、設定した係数の初期値を更新して新たな係数値を設定する。【００８８】
すなわち、ステップＳ１４にて、当該ＵＩオブジェクトがテキスト系のものである場合、サイズ下限値設定部７４は、最小フォントサイズなどに基づいて係数ａを設定する（ステップＳ１５）。例えば、キーまたはボタンの画像の上に機能名を表示するテキストを含むＵＩオブジェクトや、各種情報を表示するテキストボックスのようなＵＩオブジェクトの場合には、携帯電話１の表示部２４にて表示できる最小フォントサイズおよび最小行間隔など、端末依存情報記憶領域５７に記憶された端末依存情報に応じて係数ａが設定される。【００８９】
また、ステップＳ１６にて、当該ＵＩオブジェクトがリスト表示系のものである場合、サイズ下限値設定部７４は、リスト１行分の幅などに基づいて係数ｂを設定する（ステップＳ１７）。例えばリストボックスのように、複数行で表示された項目の中からユーザの選択を受け付ける表示形式の場合、選択項目をスクロール表示するなどして、選択項目を列記する行数を減らすことができる。この場合にも、携帯電話１の表示部２４にて表示できる最小フォントサイズおよび最小行間隔など、端末依存情報に応じて係数ｂが設定される。【００９０】
また、ステップＳ１８にて、当該ＵＩオブジェクトが画像表示系のものである場合、サイズ下限値設定部７４は、画像の解像度や用途などに基づいて係数ｃを設定する（ステップＳ１９）。例えば、ＵＩオブジェクトの画像の解像度に基づく場合は、ＵＩオブジェクト定義情報に含まれる画像の属性情報に対して、端末依存情報を加味して係数ｃを設定できる。また、画像表示系のＵＩオブジェクト定義情報に含まれる、当該画像を表示部２４に表示するレイヤの情報から、画像の用途をある程度特定できる。すなわち、上位レイヤに表示する画像は、キーやボタンなどのＵＩオブジェクトとして使用される傾向があるため、所定の大きさ以下に縮小されないように係数ｃを設定する。また、下位レイヤに表示する画像は、表示部２４に下地として表示する背景画像として使用される傾向があるため、縮小の自由度を高くするような係数ｃを設定する。【００９１】
さらに、ステップＳ２０にて、当該ＵＩオブジェクトがボタンまたはチェックボックス等のユーザ操作系のものである場合、サイズ下限値設定部７４は、操作部の仕様などに基づいて係数ｄを設定する（ステップＳ２１）。例えば、ＵＩオブジェクトがキーまたはボタンなどユーザの入力操作に関するものである場合、表示部２４におけるＵＩ表示領域の大きさなど、端末依存情報に応じて係数ｄが設定される。また、ユーザが指を用いて入力する場合や、スタイラスのような専用の入力デバイスを用いて入力する場合などの入力デバイス情報にも応じて、入力部２２の仕様に基づいて、係数ｄが設定される。なお、入力デバイス情報は、端末依存情報に含まれている。【００９２】
各係数ａ〜ｄの設定が完了したら、サイズ下限値設定部７４は、設定された各係数に基づいて、当該ＵＩオブジェクトの表示サイズの下限値を設定する（ステップＳ２２）。【００９３】
以後、サイズ下限値設定部７４は、ｎ番目のＵＩオブジェクトの序数（ｎ）を、全ＵＩオブジェクトの個数（ｍ）と比較し（ステップＳ２３）、同じ数になっていれば（ステップＳ２４のＹｅｓ）、全てのＵＩオブジェクトについて下限値の設定が完了したため下限値の設定処理を終了する。【００９４】
一方、ＵＩオブジェクトの序数（ｎ）が全ＵＩオブジェクトの個数（ｍ）と同じ数になっていない、つまり、まだ全ＵＩオブジェクトに対して下限値の設定処理が完了していない場合には（ステップＳ２４のＮｏ）、ｎに１を加算してから（ステップＳ２５）、ステップＳ１２に戻って処理を続行する。【００９５】
なお、上述した処理において、例えばキーまたはボタンのＵＩオブジェクトなど、画像の上にさらにテキストが重畳表示されるＵＩオブジェクトの場合のように、上記処理における係数の２つ以上（例えばａおよびｄなど）が重畳的に設定される場合もある。【００９６】
以下、ＵＩオブジェクトを縮小するサイズの最小値について、さらに具体的に説明する。上述したように、各ＵＩオブジェクトを縮小する際のサイズの下限値は、種々のパラメータによって設定できる。【００９７】
図１０は、ユーザが指を用いて入力する場合の入力デバイス情報を含む端末依存情報に応じて設定された、ＵＩオブジェクトの縮小の下限値を、ＵＩオブジェクトの種別ごとに示した図である。なお、図１０（Ａ）の上部に示すように、ユーザが携帯電話１を操作する際に、その操作を行う手段がタッチパネル２０の入力部２２に触れる標準的な接触面積の大きさを、以下「基準サイズ」と記す。この基準サイズは、各ユーザにより、また各操作手段（指で入力するかスタイラスを用いて入力するか等）により異なることが想定されるため、所定の各基準サイズを予め設定しておく他、最初に携帯電話１を起動して初期設定を行う際などにユーザに登録を促すのが望ましい。各基準サイズを登録する際は、これらを端末依存情報として記憶部５０の端末依存情報記憶領域５７に記憶する。スタイラスなど端末付属のデバイスを操作手段とする場合の基準サイズは、端末依存情報として予め登録することもできる。【００９８】
縮小対象のＵＩオブジェクトがButton Widget（ユーザ操作系）の場合、図１０（Ａ）に示すように、ＵＩオブジェクトを表示部２４に表示した際に、例えばユーザの人差し指が入力部２２に接触する際の接触面積の大きさを基準サイズとし、この基準サイズに基づいて、各ＵＩオブジェクトを縮小する下限値を設定する。なお、各ＵＩオブジェクトの縮小処理を行う際には、例えば縦横比を一定にして縮小する。図１０においては、図の左側に示した各ＵＩオブジェクトについて、各種条件に基づいて設定し得る下限値まで当該ＵＩオブジェクトを縮小した結果を、図の右側に示してある。【００９９】
縮小対象のＵＩオブジェクトがTextBox Widget（テキスト系）の場合、図１０（Ｂ）に示すように、表示部２４に表示できる最小フォントサイズ、または表示部２４に表示した際にユーザにとっての視認性を確保できるフォントサイズに基づいて、各ＵＩオブジェクトを縮小する下限値を設定する。【０１００】
縮小対象のＵＩオブジェクトがImage Widget（画像表示系）の場合、図１０（Ｃ）に示すように、各画像の用途に応じて所定の縮小倍率を下限値に設定し、例えば背景イメージであれば、各ＵＩに対して定められるＵＩ表示領域全体を下限値とする。図１０（Ｃ）に示す例では、破線で囲んで示したユーザ操作系テレビリモコン用ＵＩに含まれる各ＵＩオブジェクトの全体的な配置領域に基づいて、この領域と同じ大きさに、背景として用いる画像を縮小した様子を示している。【０１０１】
このように、各ＵＩオブジェクトを縮小する下限値は、ＵＩオブジェクトの種別毎に端末依存情報によって決定される。この下限値により、ＵＩオブジェクトの縮小処理を行う際に、縮小し過ぎて操作性や視認性が低下してしまうことは防止される。【０１０２】
図１１は、ユーザがスタイラスを用いて入力する場合の入力デバイス情報を含む端末依存情報に応じて設定された、ＵＩオブジェクトの縮小の下限値を、ＵＩオブジェクトの種別ごとに示した図である。【０１０３】
縮小対象のＵＩオブジェクトがButton Widget（ユーザ操作系）の場合、図１１（Ａ）に示すように、ＵＩオブジェクトを表示部２４に表示した際に、スタイラスが入力部２２に接触する際の接触面積の大きさを基準サイズとし、この基準サイズに基づいて、各ＵＩオブジェクトを縮小する下限値を設定する。図１１（Ａ）に示すように、縮小対象のＵＩオブジェクトがButton Widget（ユーザ操作系）の場合、図１０（Ａ）に示したユーザの指による入力の場合よりも小さな下限値を設定できる。これは、スタイラスを用いて入力を行う場合、指で入力するよりも細かい入力操作ができるためである。なお、図１１においても、図の左側に示した各ＵＩオブジェクトについて、各種条件に基づいて設定し得る下限値まで当該ＵＩオブジェクトを縮小した結果を、図の右側に示してある。【０１０４】
図１１（Ｂ）および（Ｃ）に示すように、縮小対象のＵＩオブジェクトがTextBox Widget（テキスト系）またはImage Widget（画像表示系）の場合は、図１０（Ｂ）および（Ｃ）に示した下限値と同じ下限値を設定できる。【０１０５】
図１２は、主要なＵＩオブジェクトを多数選択して、それらのＵＩの基本的な配置構成のまま、複数のＵＩを合成した例を示す図である。図１２（Ａ）は、ユーザの指で入力する場合の接触面積の大きさを基準サイズとして設定した縮小下限値に基づいて、複数のＵＩを合成した合成ＵＩの表示画面を示す。また、図１２（Ｂ）は、スタイラスで入力する場合の接触面積の大きさを基準サイズとして設定した縮小下限値に基づいて、複数のＵＩを合成した合成ＵＩの表示画面を示す。図１２（Ａ）および（Ｂ）を見比べるとわかるように、スタイラスで入力する場合の方が、入力に関するＵＩオブジェクトの下限値を小さく設定できるため、より多くのＵＩオブジェクトを配置できる。【０１０６】
このように、本実施の形態では、ユーザが任意に選択したＵＩオブジェクトのみで構成される様々な合成ＵＩを生成できる。ユーザの選択に基づく合成ＵＩが生成されると、合成ＵＩ定義ファイル生成部６３は、当該生成された合成ＵＩに対応する合成ＵＩ定義ファイルを生成する。ＵＩ合成処理部６０は、生成された合成ＵＩ定義ファイルを、合成ＵＩ定義ファイル記憶領域５６に記憶する。以後、合成ＵＩ定義ファイル記憶領域５６に記憶された合成ＵＩ定義ファイルを読み出すことにより、ＵＩ生成部１３は、タッチパネル２０の表示部２４上に、新たに生成した合成ＵＩを再現できる。【０１０７】
次に、本実施の形態による、操作手段の変更に伴うＵＩ再合成処理について説明する。この処理は、生成した合成ＵＩを使用中に、ユーザが入力操作を行う操作手段が変更された場合に、当該変更された操作手段に応じて、使用中の合成ＵＩを再合成する。【０１０８】
以下、図１３のフローチャートを参照して、本実施の形態による、操作手段の変更に伴うＵＩ再合成処理を説明する。【０１０９】
操作手段の変更を検出するモード（以下、「操作手段検出モード」と記す）を開始すると、制御部１０の操作手段検出部１４は、ユーザが入力操作に用いる操作手段の検出を行う（ステップＳ３１）。すなわち、操作手段検出部１４は、タッチパネル２０の入力部２２と、操作キー部８０と、スタイラス収納部９０とからの入力を監視し、これらの各機能部からの入力を検出する。入力を検出したら、操作手段検出部１４は、当該入力に基づいて、操作手段が変更されたか否かを判定する（ステップＳ３２）。【０１１０】
例えば、タッチパネル２０からの入力が検出され、それ以前の入力は操作キー部８０から検出されていた場合、操作手段検出部１４は、操作手段が操作キー部８０からタッチパネル２０に変更されたと判定する。【０１１１】
また、タッチパネル２０の入力部２２からの入力がなされた際の当該入力の接触面積が変化して所定値以上になった場合、操作手段検出部１４は、操作手段がスタイラスから「指」に変化したと判定する。一方、タッチパネル２０の入力部２２からの入力の際の接触面積が変化して所定値以下になった場合、操作手段検出部１４は、操作手段が指からスタイラスに変化したと判定する。【０１１２】
さらに、スタイラス収納部９０からスタイラスが抜き出されたことが検知された場合、操作手段検出部１４は、以後の操作はタッチパネル２０上でスタイラスにより行われると判定する。一方、スタイラス収納部９０にスタイラスが収納されたことが検知された場合、操作手段検出部１４は、以後の操作はタッチパネル２０上で指により行われるか、または操作キー部８０にて行われると判定する。【０１１３】
以上のように、ステップＳ３２にて操作手段が変更されたと判定された場合、ＵＩ合成処理部６０は、端末依存情報記憶領域５７に記憶されている端末依存情報である基準サイズを、検出された操作手段に応じて変更する（ステップＳ３３）。例えば、操作手段が「指」に変化した場合、基準サイズを「指」の接触面積の大きさに基づくサイズに変更する。同様に、操作手段がスタイラスに変化した場合、基準サイズをスタイラス先端の接触面積の大きさに基づくサイズに変更する。【０１１４】
次に、制御部１０は、タッチパネル２０の表示部２４に現在表示されているＵＩが合成ＵＩ定義ファイルに基づいて生成された合成ＵＩであるか否かを判定する（ステップＳ３４）。表示部２４に表示されているＵＩが合成ＵＩでない（つまり単体で使用することを想定したＵＩである）場合、当該ＵＩの各ＵＩオブジェクトのサイズを変更しても、他のＵＩを構成するＵＩオブジェクトとは無関係である。すなわち、現在表示されているＵＩを再合成処理したとしても、当該ＵＩの構成そのものには変化がない。したがって、その場合には、当該ＵＩの変更（再合成）処理は行わずにステップＳ３１に戻る。【０１１５】
一方、ステップＳ３４にて、表示部２４に表示されているＵＩが合成ＵＩである場合、ＵＩ合成処理部６０は、当該合成ＵＩの合成ＵＩ定義ファイルに含まれる各ＵＩオブジェクトについて、ステップＳ３３にて変更された基準サイズに基づいて、ＵＩ合成処理を再び実行する（ステップＳ３５）。それから、ＵＩ生成部１３は、再びＵＩ合成処理が行われた各ＵＩオブジェクトを表示部２４に表示して、ＵＩの表示を更新する（ステップＳ３６）。この後はステップＳ３１に戻り、次に操作手段が変更されるのを検出する。【０１１６】
なお、ステップＳ３２にて、操作手段が変更されない場合、操作手段の変更の検出が終了されたか否か、すなわち操作手段検出モードが終了されたかどうかを判定する（ステップＳ３７）。操作手段検出モードが終了されていない場合にはステップＳ３１に戻り、次に操作手段が変更されるのを検出する。ステップＳ３７にて操作手段検出モードが終了された場合は、操作手段の変更に伴うＵＩ再合成処理を終了する。したがって、本実施の形態では、操作手段検出部１４は操作入力手段判別部を構成する。【０１１７】
以上の処理により、ユーザが行う入力操作の操作手段が変更されると、携帯電話１は、変更された操作手段を判断して、各操作手段に応じた最適な合成ＵＩをユーザに提供する。例えば、図１２（Ａ）に示すような合成ＵＩをタッチパネル２０の表示部２４に表示している際に、スタライスをスタイラス収納部９０から抜き出すと、合成ＵＩが再合成されて、図１２（Ｂ）のような合成ＵＩの表示に切り換わる。すなわち、スタイラスによる操作に備えて、指による操作の場合よりも多数のＵＩオブジェクトが細かく表示される。その後、スタイラスをスタイラス収納部９０に収納すると、再び図１２（Ａ）のような、指で操作するのに好適な合成ＵＩに更新される。【０１１８】
また、スタライスを抜き出して図１２（Ｂ）のような合成ＵＩに切り換わった後でも、入力操作の際にスタイラスを使用せずに、指でタッチパネル２０に触れると、その指の接触面積（基準サイズ）に基づいて、図１２（Ａ）のような合成ＵＩに切り替えることもできる。その後、スタイラスを用いてタッチパネル２０に触れると、図１２（Ｂ）のような合成ＵＩにすることもできる。【０１１９】
さらに、操作キー部８０を構成する各キーを押下する動作に基づいて、表示部２４に表示する合成ＵＩを、操作キーによる操作用の（すなわちタッチパネル用ではない）合成ＵＩに切り替えることもできる。また、表示部２４に入力箇所を指定するポインタを表示させて使用する場合、表示部２４にポインタを表示した際に、当該ポインタを用いて操作を行うのに好適な合成ＵＩを表示させることもできる。ポインタの画像をカスタマイズできる端末の場合は、表示するポインタの画像の大きさに基づいて基準サイズを算出し、その基準サイズに応じた合成ＵＩを表示できる。【０１２０】
（第２実施の形態）
次に、本発明の第２実施の形態に係るＵＩオブジェクト縮小処理について説明する。【０１２１】
本実施の形態では、ＵＩオブジェクトを自動選択して配置することにより合成ＵＩを生成する際に、表示部２４上で所定のＵＩ表示領域にＵＩオブジェクトが収まらなくなった際、ＵＩオブジェクトを選択的に縮小する処理を行う。【０１２２】
図１４は、ＵＩの自動合成を行う場合に用いる、優先度の高いＵＩオブジェクトで構成した各ＵＩを示す図である。これらの各ＵＩを構成するＵＩオブジェクトは、各ＵＩが、対応する各アプリケーションに基づく基本的かつ重要な機能の実行を指示する際に必要なものである。【０１２３】
第１実施の形態で説明したように、各ＵＩに対応するＵＩ定義ファイルには、全てのＵＩオブジェクトに対するＵＩオブジェクト定義情報が含まれる。さらに、各ＵＩのＵＩ定義ファイルに含まれるＵＩオブジェクト定義情報には、各ＵＩオブジェクトが当該ＵＩにおいてどの程度優先度が高いＵＩオブジェクトであるかを示す、上述した（７）の「優先順位の情報」が含まれている。【０１２４】
この優先順位の情報は、複数のＵＩを自動的に合成する処理を行う際に、当該ＵＩを構成する各ＵＩオブジェクトについて、ＵＩオブジェクトが必須の要素として必ず選択されるべきものか、重要なＵＩオブジェクトとして選択されることが望ましいものか、または他のＵＩオブジェクトと比べると重要度が高くないため状況に応じて省略できるものか、などを示す。図１４に示した各ＵＩでは、各ＵＩ定義ファイルに含まれるＵＩオブジェクト定義情報に基づいて、優先順位の情報が必須のＵＩオブジェクト、および優先順位が高いＵＩオブジェクトを抽出している。このように、各ＵＩを合成するに際して、選択されるべきＵＩオブジェクトを予め規定する。【０１２５】
また、ＵＩオブジェクトを自動選択して配置する際には、必ず選択されるべきＵＩオブジェクトを特定するために、優先順位情報の中に、当該優先順位の所定の閾値を設ける。これにより、優先順位がこの閾値内にあるＵＩオブジェクトは必ず選択される。以下、必須のＵＩオブジェクトのＵＩオブジェクト定義情報に含まれる優先順位情報を「必須情報」と記す。【０１２６】
以下の説明では、一例として、図１４に示すＵＩの中から、ビデオリモコン用ＵＩとオーディオリモコン用ＵＩとを自動合成する際の自動レイアウト処理について説明する。図１４に示すビデオリモコン用ＵＩを選択してから、続いてオーディオリモコンＵＩを選択して合成しようとすると、図１５に示すように、２つのＵＩをそのまま表示部２４のＵＩ表示領域に収めることはできない。本実施の形態では、このような場合に、所定の条件に従って、ＵＩオブジェクトを選択的に縮小する。【０１２７】
図１６は本実施の形態による自動レイアウト処理を説明するフローチャートである。自動レイアウト処理が開始すると、まず、サイズ下限値設定部７４は、選択された複数のＵＩに含まれる各ＵＩオブジェクトについて、第１実施の形態（図９参照）で説明したＵＩオブジェクトの表示サイズ下限値の設定処理を行う（ステップＳ５１）。これにより、各ＵＩオブジェクトの表示サイズの縮小を行う場合の、それぞれの下限値が設定される。【０１２８】
次に、配置設定部７１に含まれるマージン設定部（図示せず）は、各ＵＩオブジェクトについて、当該ＵＩオブジェクトを配置する際に隣接するＵＩオブジェクトとの間に必要となるマージン（間隔）を設定するマージン設定処理を行う（ステップＳ５２）。この処理では、ＵＩオブジェクト定義情報解析部６１が、選択された各ＵＩオブジェクトのＵＩオブジェクト定義情報に含まれる、上述した（８）の「当該ＵＩオブジェクトと他のオブジェクトとの関連性情報」などを解析する。このマージン設定処理により、ＵＩオブジェクト同士が接近し過ぎて配置されることは防止され、ユーザにとって操作性が悪化することは防止される。【０１２９】
次に、配置設定部７１は、ＵＩオブジェクト定義情報に含まれるデフォルトの表示サイズ情報と、ステップＳ５２のマージン設定処理により設定されたマージンとに基づいて、各ＵＩオブジェクトを仮想的に配置する配置設定処理を行う（ステップＳ５３）。この配置設定処理では、配置設定部７１は、同じＵＩ定義ファイルに含まれるＵＩオブジェクト同士は近傍に配置する。さらに、ＵＩオブジェクト定義情報解析部６１が解析した、（８）の当該ＵＩオブジェクトと他のオブジェクトとの関連性情報などに基づいて、配置設定部７１は、同じＵＩ定義ファイルに含まれるＵＩオブジェクトのうち関連性の高いＵＩオブジェクト同士を、相対的な位置関係を反映させて近傍に配置する。【０１３０】
ステップＳ５３の配置設定処理が完了したら、配置可否判定部７２は、配置設定処理によるＵＩオブジェクトの仮想的な配置により、合成ＵＩの全てのＵＩオブジェクトが所定のＵＩ表示領域内に収まるように配置可能か否かを判定する（ステップＳ５４）。全てのＵＩオブジェクトが配置可能であると判定された場合（ステップＳ５４のＹｅｓ）、自動レイアウト処理部７０は、仮想的に配置されたＵＩオブジェクトを実際に表示部２４に表示して（ステップＳ５５）、自動レイアウト処理を完了する。【０１３１】
一方、ステップＳ５４にて、合成ＵＩの全てのＵＩオブジェクトが所定のＵＩ表示領域内に収まるように配置できないと判定された場合、縮小オブジェクト選択部７３は、ステップＳ５１の表示サイズ下限値設定処理の結果に基づいて、縮小可能なＵＩオブジェクトが存在するか否かを判定する（ステップＳ５６）。【０１３２】
ステップＳ５６にて、縮小可能なＵＩオブジェクトが無いと判定された場合、自動レイアウト処理部７０は、自動レイアウト不可と判定し（ステップＳ５７）、自動レイアウト処理を終了する。この時、自動レイアウト処理部７０は、自動レイアウト不可の旨を表示部２４に表示してもよい。また、この場合、配置したいＵＩオブジェクトの選択のやり直しや、合成するＵＩの選択のやり直しなどを行うようユーザに要求するのが望ましい。このように処理することで、操作性を犠牲にして無理にＵＩを合成することは防止される。【０１３３】
ステップＳ５６にて、縮小可能なＵＩオブジェクトがあると判定された場合、自動レイアウト処理部７０は、縮小オブジェクト選択部７３により選択された、優先的に表示サイズを縮小すべきＵＩオブジェクトを選択して縮小する（ステップＳ５８）。この場合、ステップＳ５１で設定した表示サイズの下限値に基づいて縮小処理を行う。【０１３４】
本実施の形態では、ステップＳ５８にて行う、縮小すべきＵＩオブジェクトの選択処理は、ＵＩオブジェクトごとに設定された優先度に基づいて行う。すなわち、各ＵＩオブジェクトのＵＩオブジェクト定義情報に含まれる優先順位情報に基づいて、優先順位の低いＵＩオブジェクトは重要性が低いものと判断し、その重要性が低いＵＩオブジェクトを、優先的に縮小すべきＵＩオブジェクトとして選択する。【０１３５】
図１７（Ａ）は、合成するビデオリモコン用ＵＩおよびオーディオリモコン用ＵＩを構成する各ＵＩオブジェクトを、設定された優先順位に基づいて分類した図である。図中では、優先順位(Priority)がHiであるＵＩオブジェクト（「電源」のＵＩオブジェクト）は優先順位が高いことを示し、優先順位がLowであるＵＩオブジェクトは優先順位が低いことを示す。図示した例では、ビデオリモコン用ＵＩとオーディオリモコン用ＵＩを合成する際、優先度がLowのＵＩオブジェクトは使用しない設定にして、縮小オブジェクトの選択候補からは除外している。したがって、本実施の形態では、優先順位情報（priority）がHi、Middle1、Middle2であるＵＩオブジェクトは必須のＵＩオブジェクトとして、ＵＩオブジェクト定義情報に含まれる優先順位情報は「必須情報」になる。【０１３６】
図１７（Ｂ）は、本実施の形態による、縮小すべきＵＩオブジェクトの選択処理に基づいて、優先順位の低いＵＩオブジェクトを縮小した様子を説明する図である。図示した例では、ビデオリモコン用ＵＩおよびオーディオリモコン用ＵＩともに、優先順位(Priority)がHiまたはMiddle1であるＵＩオブジェクトは縮小する対象とせずに、優先順位がMiddle2であるＵＩオブジェクトは縮小する対象として縮小処理した後の状態を示している。優先順位がMiddle2に属するＵＩオブジェクトである、情報表示ウィンドウ、およびオーディオリモコン用ＵＩの「ラジオ」、「ＣＤ」ボタンを縮小している。この場合の縮小処理は、ステップＳ５１にて設定された表示サイズの下限値を限度として行う。【０１３７】
ステップＳ５８にてＵＩオブジェクトを選択して縮小する処理が完了したら、ステップＳ５２に戻って処理を続行する。この後は、縮小されたＵＩオブジェクトを含めて、各ＵＩオブジェクトに対して再びステップＳ５２のマージン設定処理およびステップＳ５３の配置設定処理を行う。以上の処理を、合成ＵＩが１画面のＵＩ表示領域内に収まるか、または合成ＵＩの生成が不可能であると判定されるまで行う。【０１３８】
このようにしてＵＩオブジェクトの選択および縮小処理を行ってから配置することにより、図１５では合成不可であった２つのＵＩは、図１８に示すように、表示部２４のＵＩ表示領域に１画面として収めることができる。また、ＵＩの合成の際にＵＩオブジェクトを縮小する場合、表示サイズの縮小下限値を超える縮小処理は行わないため、ユーザビリティを保持したままでＵＩオブジェクトの自動レイアウトが可能になる。【０１３９】
なお、例えばステップＳ５８にて、図１７に示した優先順位がMiddle2であるＵＩオブジェクトを縮小する処理だけでは、合成ＵＩが１画面のＵＩ表示領域内に収まらないことも想定される。このような場合には、優先順位がMiddle1であるＵＩオブジェクトをさらに縮小するというように、順次縮小処理と（仮想的な）配置設定処理とを繰り返すことでＵＩ合成処理を行うこともできる。【０１４０】
（第３実施の形態）
次に、第３実施の形態に係るＵＩオブジェクト縮小処理について説明する。【０１４１】
第３実施の形態は、第２実施の形態において、図１６で説明したステップＳ５８にて行う、縮小すべきＵＩオブジェクトの選択処理を変更するものである。それ以外の動作は第２実施の形態と同じため、説明を省略する。【０１４２】
本実施の形態では、ステップＳ５８にて行う、縮小すべきＵＩオブジェクトの選択処理は、ＵＩオブジェクトの種別ごとに設定された優先度に基づいて行う。すなわち、各ＵＩオブジェクトのＵＩオブジェクト定義情報に含まれるＵＩオブジェクトの種別情報に基づいて、ＵＩオブジェクトの種別ごとにあらかじめ設定された優先順位に従い、優先順位の低い種別のＵＩオブジェクトを、優先的に縮小すべきＵＩオブジェクトとして選択する。【０１４３】
図１９（Ａ）は、合成するビデオリモコン用ＵＩおよびオーディオリモコン用ＵＩを構成する各ＵＩオブジェクトを、ＵＩオブジェクトの種別に基づいて分類した図である。図中では、ＵＩオブジェクトの種別（Widgetの種別）により、ユーザ操作系ＵＩオブジェクト（Button Widget）と、テキスト系ＵＩオブジェクト（TextBox Widget）との２種類のＵＩオブジェクトに分類している。【０１４４】
図１９（Ｂ）は、種別がテキスト系のＵＩオブジェクト（TextBox Widget）の優先順位の方が、ユーザ操作系のＵＩオブジェクト（Button Widget）の優先順位よりも高いものとして、優先順位の低いＵＩオブジェクト（Button Widget）を縮小した例を示す図である。例えばスタイラスを用いて入力する場合などは、図１９（Ｂ）のようにユーザ操作系のＵＩオブジェクト（Button Widget）の優先順位を低く設定して多数のＵＩオブジェクトを配置するようにできるが、所望に応じて、ユーザ操作系ＵＩオブジェクトの優先順位の方を高く設定することもできる。【０１４５】
このように、優先順位の低い種別のＵＩオブジェクトを、優先的に縮小すべきＵＩオブジェクトとして選択して縮小処理することにより、縮小処理前には合成不可であった２つのＵＩを、例えば図２０に示すように、表示部２４のＵＩ表示領域に１画面として収めることができる。【０１４６】
（第４実施の形態）
次に、第４実施の形態に係るＵＩオブジェクト縮小処理について説明する。【０１４７】
第４実施の形態は、第３実施の形態と同様に、第２実施の形態において、ステップＳ５８にて行う、縮小すべきＵＩオブジェクトの選択処理を変更するものである。【０１４８】
本実施の形態では、ステップＳ５８にて行う、縮小すべきＵＩオブジェクトの選択処理は、ＵＩごとに設定された優先度に基づいて行う。すなわち、各ＵＩで同一のＵＩ定義ファイルにて定義されたＵＩオブジェクトをグループ化し、グループ単位で設定された優先順位に基づいて、優先順位の低いグループのＵＩオブジェクトを優先的に縮小すべきＵＩオブジェクトとして選択する。【０１４９】
図２１（Ａ）は、合成するビデオリモコン用ＵＩおよびオーディオリモコン用ＵＩを構成する各ＵＩオブジェクトを、ＵＩごとに分類した図である。図中では、ＵＩごとに、ビデオリモコン用ＵＩを構成するＵＩオブジェクトと、オーディオリモコン用ＵＩを構成するＵＩオブジェクトとで、ＵＩオブジェクトを２つのグループに分類している。【０１５０】
図２１（Ａ）に示す例では、ビデオリモコン用ＵＩを構成する各ＵＩオブジェクトの優先順位は高く、オーディオリモコン用ＵＩを構成する各ＵＩオブジェクトの優先順位は低く設定してある。このように、ＵＩオブジェクトをＵＩごとにグループ分けして優先順位をつけ、優先順位が低いＵＩのＵＩオブジェクトを縮小オブジェクトとして選択する。【０１５１】
図２１（Ｂ）は、優先順位の低いオーディオリモコン用ＵＩを構成する各ＵＩオブジェクトを縮小処理した例を示す図である。このように、優先順位の低いＵＩのＵＩオブジェクトを、優先的に縮小すべきＵＩオブジェクトとして選択して縮小処理することにより、縮小処理前には合成不可であった２つのＵＩを、例えば図２２に示すように、表示部２４のＵＩ表示領域に１画面として収めることができる。【０１５２】
（第５実施の形態）
次に、第５実施の形態に係るＵＩオブジェクト縮小処理について説明する。【０１５３】
第５実施の形態は、第３および第４実施の形態と同様に、第２実施の形態において、ステップＳ５８にて行う、縮小すべきＵＩオブジェクトの選択処理を変更するものである。【０１５４】
本実施の形態では、ステップＳ５８にて行う、縮小すべきＵＩオブジェクトの選択処理は、各ＵＩオブジェクトの現在の占有率と、縮小下限値まで縮小した当該ＵＩオブジェクトの占有率との差に基づいて決定した優先度に基づいて行う。すなわち、各ＵＩオブジェクトの現在の表示サイズと、表示サイズ下限値設定処理により設定された下限値に基づいて縮小した当該ＵＩオブジェクトの表示サイズとの差に基づいて、その差が大きいＵＩオブジェクトを優先的に縮小すべきＵＩオブジェクトとして選択する。これは、縮小前と、縮小下限値まで縮小した後との差が大きいＵＩオブジェクトは、当該下限値まで縮小しても操作性が悪化することは少なく、かつ、縮小した場合にＵＩ表示領域の空き領域を提供する度合いが大きいという傾向に基づく。【０１５５】
図２３（Ａ）は、合成するビデオリモコン用ＵＩおよびオーディオリモコン用ＵＩを構成する各ＵＩオブジェクトを、ＵＩオブジェクトごとに、縮小前のサイズと、縮小下限値まで縮小した後のサイズとの差異に従って分類した図である。図示した例では、どちらのＵＩにおいても、テキスト系のＵＩオブジェクト（TextBox Widget）は縮小の前後における差が「大」に分類されている。また、どちらのＵＩにおいても、ユーザ操作系のＵＩオブジェクト（Button Widget）は、縮小の前後における差が「中」または「小」に分類されている。【０１５６】
以上のような分類に基づいて、例えば図２３（Ｂ）に示すように、縮小前のサイズと、縮小下限値まで縮小した後のサイズとの差異が大きいものほど、ＵＩオブジェクトを優先的に選択して縮小処理をする。図２３（Ｂ）は、縮小の前後で差が「大」のＵＩオブジェクトについては、選択して縮小後のものを採用し、縮小の前後で差が「中」または「小」のＵＩオブジェクトについては、縮小してもあまり差異がないため、縮小前のものを採用することを、楕円で囲んで示している。【０１５７】
このように、縮小の前後でサイズの差が大きいＵＩオブジェクトを、優先的に縮小すべきＵＩオブジェクトとして選択して縮小処理することにより、縮小処理前には合成不可であった２つのＵＩを、例えば図２４に示すように、表示部２４のＵＩ表示領域に１画面として収めることができる。【０１５８】
なお、本発明は、上述した実施の形態にのみ限定されるものではなく、幾多の変更または変形が可能である。例えば、上述した実施の形態では、タッチパネルを備える携帯端末でＵＩを合成処理する場合について説明した。しかしながら、本発明のＵＩ合成処理においては、タッチパネルは必須の要素ではない。本発明は、例えば機械式のキーを多数備える入力部など、ＵＩを合成して使用することが想定される任意の入力部を備える端末に適用できる。【０１５９】
上述した第１実施の形態においては、説明の便宜のため、操作手段検出モードである場合に操作手段の変更に伴うＵＩ再合成処理を行うようにしたが、携帯電話１は、常にこのようなモードで動作するようにしてもよい。また、第１実施の形態は、ユーザが複数のＵＩから所望のＵＩオブジェクトを選択して合成ＵＩを生成することを想定しており、第２〜第５実施の形態は、ＵＩオブジェクトを自動選択して配置することによる合成ＵＩの生成を想定している。しかしながら、第２〜第５実施の形態においても、ユーザが複数のＵＩから所望のＵＩオブジェクトを選択して合成ＵＩを生成する際に、追加したいＵＩオブジェクトがＵＩ表示領域に収まらなくなった場合、各実施の形態で説明したＵＩオブジェクトの選択的な縮小処理を行うこともできる。また、第２〜第５実施の形態においても、第１実施の形態において説明した、操作手段の変更に伴うＵＩ再合成処理を行うようにしてもよい。 【０１６０】
また、上述した第２〜第５実施の形態では、複数のＵＩを構成するＵＩオブジェクトから合成ＵＩを生成する場合について説明したが、複数のＵＩに基づく合成でなくとも、１つのＵＩから複数のＵＩオブジェクトを多数選択して、所定のＵＩ表示領域の一部などにＵＩを生成する場合についても本発明を適用できる。【０１６１】
さらに、上述した実施の形態では、各アプリケーションに対応したＵＩのＵＩ定義ファイルが予めＵＩ定義ファイル記憶領域５２に記憶された場合について説明したが、必要なＵＩ定義ファイルを適宜外部から取得するようにもできる。この場合、ＵＩを用いるアプリケーションからＵＩ定義ファイルが指定された際、必要なＵＩ定義ファイルがＵＩ定義ファイル記憶領域５２または合成ＵＩ定義ファイル記憶領域５６に存在するか否か判定する。必要なＵＩ定義ファイルがＵＩ定義ファイル記憶領域５２または合成ＵＩ定義ファイル記憶領域５６に存在しない場合、制御部１０のＵＩ取得部１２は、無線通信部３０を介して、図示しない外部機器または外部サーバなどから、必要なＵＩ定義ファイルを取得する。【０１６２】
なお、上述した各実施の形態で用いるＵＩ定義ファイルの一例として、以下にＸＭＬをベースとしたＵＩＭＬ形式のファイルの例を一部抜粋して示す。本例において、ＵＩオブジェクトは<template>タグにより定義されており、したがって<template>〜</template>の間の記載がＵＩオブジェクト定義情報に相当する。ここでは、ＴＶリモコン用ＵＩを構成するＵＩ定義ファイル(TV1_interface.uiml)の中から、「電源」のＵＩオブジェクトおよび「選局＋」のＵＩオブジェクトのＵＩオブジェクト定義情報の例を示す。下線を付した箇所のうち、priorityの属性が示すのが優先順位の情報（数値がゼロに近いほど高優先度）であり、relateの属性が示すのが他のＵＩオブジェクトとの関連を示す情報であり、sizeの属性が示すのがサイズ情報である。
0005406176.tif 000002
【産業上の利用可能性】
【０１６３】
本発明によれば、複数のＵＩを合成するに際し、選択された複数のＵＩオブジェクトがＵＩ表示領域内に収まらない場合であっても、所定の条件に基づいてＵＩオブジェクトを縮小することによってＵＩ表示領域内に収めることができる。したがって、単純に組み合わせるだけでは所定のＵＩ表示領域内に収めることができない複数のＵＩオブジェクトを縮小することにより、当該ＵＩ表示領域内に適切に収めることができる。また、ＵＩオブジェクトを縮小し過ぎることは防止されるため、操作性および視認性が確保される。
【図１】
0005406176.tif 000003
【図２】
0005406176.tif 000004
【図３】
0005406176.tif 000005
【図４】
0005406176.tif 000006
【図５】
0005406176.tif 000007
【図６】
0005406176.tif 000008
【図７】
0005406176.tif 000009
【図８】
0005406176.tif 000010
【図９】
0005406176.tif 000011
【図１０】
0005406176.tif 000012
【図１１】
0005406176.tif 000013
【図１２】
0005406176.tif 000014
【図１３】
0005406176.tif 000015
【図１４】
0005406176.tif 000016
【図１５】
0005406176.tif 000017
【図１６】
0005406176.tif 000018
【図１７】
0005406176.tif 000019
【図１８】
0005406176.tif 000020
【図１９】
0005406176.tif 000021
【図２０】
0005406176.tif 000022
【図２１】
0005406176.tif 000023
【図２２】
0005406176.tif 000024
【図２３】
0005406176.tif 000025
【図２４】
0005406176.tif 000026
【図２５】
0005406176.tif 000027
【図２６】
0005406176.tif 000028