JP5366955B2 - ユーザインタフェース生成装置 - Google Patents

ユーザインタフェース生成装置 Download PDF

Info

Publication number
JP5366955B2
JP5366955B2 JP2010526769A JP2010526769A JP5366955B2 JP 5366955 B2 JP5366955 B2 JP 5366955B2 JP 2010526769 A JP2010526769 A JP 2010526769A JP 2010526769 A JP2010526769 A JP 2010526769A JP 5366955 B2 JP5366955 B2 JP 5366955B2
Authority
JP
Japan
Prior art keywords
input
user interface
composite
unit
interface object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010526769A
Other languages
English (en)
Other versions
JPWO2010024357A1 (ja
Inventor
健太 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2010526769A priority Critical patent/JP5366955B2/ja
Publication of JPWO2010024357A1 publication Critical patent/JPWO2010024357A1/ja
Application granted granted Critical
Publication of JP5366955B2 publication Critical patent/JP5366955B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/93Remote control using other portable devices, e.g. mobile phone, PDA, laptop

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)
  • Selective Calling Equipment (AREA)

Description

関連出願へのクロスリファレンス
本出願は、日本国特許出願2008−220515号(2008年8月28日出願)の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
本発明は、ユーザインタフェース生成装置に関し、特に、携帯端末のユーザインタフェースを生成するユーザインタフェース生成装置に関するものである。
携帯電話に代表される携帯端末のユーザインタフェース(以下、適宜「UI」と略記する)は、ユーザが携帯端末を操作する際の操作性を大きく左右する。そのため、携帯端末のUIは、ユーザが携帯端末を購入する際の決め手となる重要な要素の1つになっている。
近年、携帯端末は著しく多機能化し、それに伴いアニメーションや3Dの表現などを利用した表現力豊かなUIを備える携帯端末も多い。また、ユーザの嗜好に合わせてUIをカスタマイズできる携帯端末もあり、このような携帯端末は、ユーザにとっての利便性を著しく向上させている。
従来の携帯端末は、各メーカ間および各機種間でUIのデザインや操作方法が異なるのが一般的であった。すなわち、UIは各端末機器に固有のものであり、端末ごとに機種依存性の高いUIを備えるものがほとんどであった。そのため、端末の開発を行う際に、他の端末のプログラムコードを再利用する場合、そのプログラムコードに対して必要なUI部分の変更は膨大になる。したがって、ある端末のプログラムコードを他の端末に移植するのは困難であった。
そこで、最近では、XML(Extensible Markup Language)をベースにしたUIが導入されつつある。記述方式が共通化されたXMLファイルを用いてUIを表現することによって、プログラムコードの再利用が容易になり、他の機種へのUIの移植も可能になる。したがって、例えば、異なるメーカの異なる端末機種間でも同じUIを使用することができるなど、各端末からUIのみを独立させるように扱うことも可能になる。
このような、XMLをベースにしたUIのうち代表的なものとして、TAT社(http://www.tat.se/)が開発したUI Foundationや、Acrodea社(http://www.acrodea.co.jp/)が開発したVIVID UIや、Qualcomm社(http://www.qualcomm.co.jp/)が開発したUI Oneなどを挙げることができる。
また、近年の携帯端末は、端末本体の多機能化および高性能化に伴い、同時に複数のタスクを並行して実行できるマルチタスク処理に対応したOS(オペレーティングシステム)を実装したものが増えている。さらに、並行して同時に処理する複数のタスクにそれぞれの表示領域(ウィンドウ)を割り当てて、出力画面の表示を多重化するマルチウィンドウ機能に対応した携帯端末も普及しつつある。
ところで、従来、例えば赤外線通信部を備える携帯端末を用いて、赤外線通信により複数の外部機器を遠隔操作(制御)できるようにした技術が開示されている(例えば、特許文献1参照)。この特許文献1に記載の携帯電話端末は、外部機器との通信を行う外部制御部を備えている。この携帯電話端末は、外部の機器を遠隔制御するための外部機器制御情報を、電話回線などを介して取得したり、または外部機器から受信するなどして記憶し、この外部機器制御情報に基づいて外部機器を遠隔制御することができる。すなわち、内蔵のアプリケーションプログラム(以下、単に「アプリケーション」という)を変更することで、通常は携帯電話として使用する端末本体を、複数の外部機器を遠隔操作するリモートコントロール(以下、単に「リモコン」という)端末として用いることができる。
特開2001−36652号公報
上記特許文献1に開示されている携帯電話端末によれば、各外部機器に対応するそれぞれの外部機器制御情報に基づいて、1台の携帯電話端末で複数の外部機器を遠隔操作できる。したがって、複数の外部機器のそれぞれについて個別のリモコン端末を複数使い分けるという煩雑な操作が必要なく、ユーザにとっての利便性を高めることができる。
このような、遠隔制御する複数の外部機器を切り替えることができるリモコンの機能を、上述したマルチタスク処理が可能な携帯端末にて実現すれば、各リモコンのアプリケーションをいちいち一旦終了させて次のリモコンのアプリケーションを起動させる必要はない。すなわち、複数のアプリケーションを1つの端末で同時に起動させて、その中から、使いたい任意のリモコンのアプリケーションに適時切り替えて使用できる。
しかしながら、複数のアプリケーションを頻繁に切り替えて使用する場合には、その切り替え操作は煩雑なものとなる。
そこで、携帯端末に上述したマルチウィンドウの機能を組み合わせれば、複数のウィンドウに、複数のアプリケーションを操作するUIをそれぞれ再現することも可能になる。このようにすれば、複数のアプリケーションを切り替えて使用するのではなく、1画面上で同時に使用できる。
すなわち、例えば、図22(A)に示すようなテレビのリモコン端末単独であれば、図22(B)に示すように、例えばタッチパネル200を備える携帯端末100上に、テレビリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。なお、図22(A)のリモコン端末において、テンキーなどのキーやボタンは機械式のキーであるが、図22(B)の携帯端末100においては、テンキーなどを描画して再現したオブジェクトをタッチパネル200に表示している。以下、このように、タッチパネルに表示されたUIを構成する各種キーまたはボタンおよび情報表示箇所などを、「UIオブジェクト」と記す。また、図22(C)に示すような、エアコンディショナーのリモコン端末単独の場合も同様に、図22(D)のように、タッチパネル200を備える携帯端末100上に、エアコンディショナーリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。さらに、それぞれのアプリケーションのUIを、XMLをベースとして記述すれば、他メーカの端末などにアプリケーションを移植しても、UIを記述したXMLのファイルを加工するだけでほとんど同じUIを容易に再現できる。
しかしながら、上述の例において、テレビの視聴中にエアコンディショナーの操作を行う場合に、テレビもエアコンディショナーも頻繁な操作を要する状況も想定される。このような場合、両方のリモコンのアプリケーションを、マルチタスクおよびマルチウィンドウの機能を用いて、表示部の表示領域を分割して同時に表示したとする。この場合、各アプリケーションは単独で使用することを想定したUIしか備えていないため、各UIをそのまま同時表示すると、図23(A)〜(D)に示すような状態になる。
図23(A)〜(D)は、マルチタスクおよびマルチウィンドウの機能を実装した携帯端末100を用いて、2つのアプリケーションのUIを同時表示した様子を示す図である。図に示す例においては、タッチパネル200の表示部の表示を上下に分割した各ウィンドウ内で、それぞれのUIをそのまま再現したため、各UIとも一部しか表示されていない。画面上に表示しきれない部分の操作を行うために、各ウィンドウの右端にはスクロールバーを備えている。
例えば図23(A)に示す状態で、テレビの音量を調節したい場合、ユーザは、テレビリモコンUIのウィンドウのスクロールバーを移動して、図23(B)に示すようにテレビリモコンUIの表示範囲を移動させなくてはならない。同様に、例えば図23(C)に示す状態で、エアコンディショナーの温度を調節したい場合、ユーザは、エアコンディショナーリモコンUIのウィンドウのスクロールバーを移動して、図23(D)に示すようにエアコンディショナーリモコンUIの表示範囲を移動させなくてはならない。さらに、マルチウィンドウで複数のアプリケーションを起動する場合、UIを重畳表示する際は、まず入力するウィンドウを選択してアクティブにしてから入力操作を開始しなくてはならない。
特に、携帯端末の場合は、端末本体が非常に小さく設計されるため、タッチパネルで構成するUIの場合も物理的なキーで構成するUIの場合も、UIとして利用できる領域は極めて制限されている。したがって、リモコンなどのアプリケーションのUIを構成する操作部は、もともと最小に近い大きさで設計されるのが一般的である。そのため、複数のアプリケーションのUIを同時表示する際に、各UIをそれぞれ全体的に縮小して同時に表示するのは現実的ではない。
このように、一画面用にデザインされた、単独で使用することを想定したUI(以下、適宜「単体UI」と略記する)をマルチウィンドウで表示した場合、その操作性は悪化してしまう。
そこで、このような問題に対処するために、各単体UIを構成する要素であるキーまたはボタンなどのUIオブジェクトからいくつかを選択し、選択されたUIオブジェクトで構成される、合成されたUI(以下、「合成UI」と略記する)を生成することも考えられる。例えば、図22(B)に示したテレビリモコンアプリケーションのUI、および図22(D)に示したエアコンディショナーリモコンアプリケーションのUIから所定のUIオブジェクトを選択し、図24に示すような合成UIを生成することが考えられる。図24に示す携帯端末100は、上述した2つのリモコンアプリケーションのUIから所定のUIオブジェクトを選択し、それらを1つの合成UIとして、タッチパネル200に表示した例を示している。
このようにUIを合成すれば、使用頻度の高いUIオブジェクト、またはユーザが使用を所望するUIオブジェクトを選択して合成UIを構成することができるため、各UIオブジェクトを、使い勝手の良さ、すなわち操作性を犠牲にして縮小したりする必要はない。
また、合成UIでは、複数のアプリケーションを操作できるので便利であるが、単体UIに比べて各アプリケーションに対するUIオブジェクト(ボタンなどのソフトキー)が少なくなる。そのため、ユーザが希望する動作に対応したUIオブジェクトが表示されない場合があるなど、ユーザの利便性が損なわれる恐れがある。例えば、図12(a)の単体UIと図12(b)の合成UIを比較すると、テレビリモコンUIの数字キーに対応するUIオブジェクトが合成UIには含まれていない。このため、このままではユーザは各放送局を直接選局することができない。
したがって、かかる事情に鑑みてなされた本発明の目的は、合成ユーザインタフェースと単体ユーザインタフェースとを、簡単な操作で切り替えることができるユーザインタフェース生成装置を提供することにある。
上述した諸課題を解決すべく、本発明の第1の観点に係るユーザインタフェース生成装置は、
複数の単体用ユーザインタフェースオブジェクトの各々にユーザインタフェースオブジェクト対応付けて記憶可能な記憶部と、
該記憶部記憶に基づいて、前記単体用ユーザインタフェースオブジェクトを表示するように制御可能で前記複数の単体用ユーザインタフェースオブジェクトから前記ユーザインタフェースオブジェクトを抽出して合成ユーザインタフェースオブジェクト群として表示するように制御可能な制御部と、
前記単体用ユーザインタフェースオブジェクト及び前記合成ユーザインタフェースオブジェクト群のいずれかを表示可能な表示部と、
第1入力及び第2入力を受け付け可能で、当該第1入力又は第2入力が受け付けられた位置を判定可能な入力部と、を有し、
前記制御部は、前記合成ユーザインタフェースオブジェクト群が前記表示部に表示されているときに、
前記入力部が前記第1入力を受け付けると、前記合成ユーザインタフェースオブジェクト群のうち、当該第1入力受け付けられた位置に対応して表示されている前記ユーザインタフェースオブジェクトに関する機能を実行するように制御し、
前記入力部が前記第2入力を受け付けると、前記合成ユーザインタフェースオブジェクト群のうち、当該第2入力受け付けられた位置に対応して表示されている前記ユーザインタフェースオブジェクトが抽出された単体用ユーザインタフェースオブジェクトを表示するように制御する、ことを特徴とする。
また、前記制御部前記単体用ユーザインタフェースオブジェクトを表示するように制御した場合に、前記入力部が更なる第2入力を受け付けると、前記合成ユーザインタフェースオブジェクト群を表示するように制御することが望ましい。
また、前記制御部は、前記合成ユーザインタフェースオブジェクト群が表示部に表示されているときに前記入力部が前記第2入力受け付けて、前記単体用ユーザインタフェースオブジェクトを表示するように制御した場合に当該第2入力の受け付けが継続されている間に前記単体用ユーザインタフェースオブジェクトのユーザインタフェースオブジェクトに対する第1入力を受け付けたに、当該第2入力の受け付けが解除されると、当該第1入力に対応した前記ユーザインタフェースオブジェクト、及び前記合成ユーザインタフェースオブジェクト群に含まれる前記ユーザインタフェースオブジェクトを再合成ユーザインタフェースオブジェクト群として表示するように制御することが望ましい。
また、前記制御部は、前記第2入力の受け付けが継続されている間に受け付けた前記第1入力に対応した前記ユーザインタフェースオブジェクトを、前記合成ユーザインタフェースオブジェクト群に追加して前記再合成ユーザインタフェースオブジェクト群として表示するように制御することが望ましい。
また、前記制御部は、前記第2入力の受け付けが継続されている間に受け付けた前記第1入力に対応した前記ユーザインタフェースオブジェクトを、前記合成ユーザインタフェースオブジェクト群に含まれるユーザインタフェースオブジェクトのうち、優先度の低いユーザインタフェースオブジェクトと置き換えて前記再合成ユーザインタフェースオブジェクト群として表示するように制御することが望ましい。
本発明によれば、ユーザは簡単な操作で、合成ユーザインタフェースと単体ユーザインタフェースとを切り替えることができる。
本発明の第2実施の形態に係る携帯端末の構成を示す図である。 本発明の第2実施の形態に係る携帯端末の動作を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の入力時制御フローを示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の処理1を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の処理2を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末のUIオブジェクトのサブ動作を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末のリリース時制御フローを示すフローチャートである。 本発明の第2実施の形態に係る携帯端末のメイン及びサブ入力時の動作を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の合成UIから単体UIへのUI切換を示す図である。 本発明の第2実施の形態に係る携帯端末の単体UIから合成UIへのUI切換を示す図である。 本発明の第2実施の形態に係る携帯端末の合成UIの再合成示す図である。 単体ユーザインタフェース及び合成ユーザインタフェースの一例を示す図である。 本発明の第1実施の形態に係るユーザインタフェース生成装置の概略構成を示すブロック図である。 本発明のユーザインタフェース定義ファイルの構成を説明する概念図である。 本発明の合成ユーザインタフェース定義ファイルの構成を説明する概念図である。 本発明の第1実施の形態に係る単体のユーザインタフェースを示す図である。 本発明の第1実施の形態に係るユーザインタフェースオブジェクト属性情報である優先度を示す情報を説明する図である。 本発明の第1実施の形態に係るユーザインタフェース生成の全体処理を説明するフローチャートである。 本発明の第1実施の形態に係るユーザインタフェース生成処理を説明するフローチャートである。 本発明の第1実施の形態に係るユーザインタフェース合成処理を説明するフローチャートである。 本発明の第1実施の形態に係るユーザインタフェース合成処理により2つの単体ユーザインタフェースを合成した例を示す図である。 従来のリモートコントロール端末を携帯端末のユーザインタフェースで再現した状態を示す図である。 従来の携帯端末にて2つのユーザインタフェースを合成した例を示す図である。 携帯端末にて2つの単体ユーザインタフェースを合成した例を示す図である。
以下、本発明の各実施の形態について、図面を参照して説明する。以下の各実施の形態では、本発明のユーザインタフェース(以下、「UI」と記す)生成装置の一例として、各種外部機器の遠隔制御が可能なリモコン機能を実装した携帯電話を想定して説明する。しかしながら、本発明のUI生成装置は携帯電話に限定されるものではなく、例えばノートパソコンやPDAなどの任意の携帯端末などに適用することができる。また、本発明の実装を必要とする装置であれば、携帯端末にも限定されることはない。なお、本発明は、複数のUIを同時に使用できるように合成することを主目的とするものであり、各UIにより指示を受けるアプリケーションはリモコン機能に限定されるものではなく、任意の各種アプリケーションに本発明を適用することができる。
(第1実施の形態)
図13は、本発明の第1実施の形態に係るUI生成装置である携帯電話の概略構成を示すブロック図である。
携帯電話1は、全体を制御する制御部10と、ユーザからの入力を受け付けると共に、各アプリケーションに応じて入力結果などの表示を行うタッチパネル20とを備えている。タッチパネル20は、ユーザからの入力を受け付けるマトリクススイッチなどで構成した入力部22を、液晶ディスプレイなどで構成した表示部24の前面に重畳させて構成する。タッチパネル20の入力部22は、ユーザの指先またはスタイラスのようなペン型入力デバイス等が接触するのを検知することにより、当該接触による入力に対応する信号を出力する。表示部24は、アプリケーションプログラムに関する表示をする他、ユーザの操作入力を受け付ける各種キーやボタンなどのUIオブジェクトにより構成されるUIを所定のUI表示領域に描画して表示する。なお、UI表示領域とは、タッチパネル20の表示部24において、UIオブジェクトから構成されるUIを表示する領域のことをいう。
また、携帯電話1は、図示しない基地局と音声通話および電子メールのデータなど各種情報をインターネットや無線等を使って送受信する無線通信部30と、図示しない各種外部機器と赤外線により通信を行う赤外線通信部40とを備えている。無線通信部30を用いて、携帯電話1は、インターネットや無線回線等を介して端末外部と各種データの送受信を行う。
さらに、携帯電話1は、入力された情報および各種アプリケーション等を記憶したり、ワークメモリなどとしても機能する記憶部50を有する。記憶部50は、アプリケーション記憶領域51と、UI定義ファイル記憶領域52と、個別UIリソース記憶領域53と、共通UIリソース記憶領域54と、関連アプリケーション情報記憶領域55と、合成UI定義ファイル記憶領域56とを含む。
なお、制御部10は、アプリケーション実行部11と、UI取得部12と、UI生成部13と、計時部14と、UIイベント処理部15とを含んでいる。
制御部10において、アプリケーション実行部11は、記憶部50のアプリケーション記憶領域51に保存された各種アプリケーションを読み出して実行すると共に、当該実行に関する制御を行う。また、アプリケーション実行部11は、アプリケーション記憶領域51から読み出して実行している各種アプリケーションに対応するUIへの入力に基づいて、当該入力に対応する各種アプリケーションの機能を実行する。
UI取得部12は、無線通信部30などを介して端末の外部にあるリソース(画像データ等)およびUI定義ファイル(XMLファイルなど)を取得する。UI生成部13は、UI定義ファイルに対してパース処理(パーシング)およびDOM(Document Object Model)化処理などを行い、実際に使用するUIを生成する。なお、UI生成部13は、XMLの形式で記述されたUIの情報をXMLエンジンによって解釈し、UI定義ファイルに基づいて生成されたUIをタッチパネル20の表示部24に表示する。このUI生成部13は、合成UIを含む各種UIの生成に関する各種処理を行う。UI生成部13の詳細については後述する。
計時部14は、カウンタにより所定の時間の長さを計測することができる他、現在時刻を出力したり、(予め設定された)所定の時刻の到来を通知する。UIイベント処理部15は、UI生成部13が生成したUIに対して、ユーザ操作による入力部22などへの入力に基づいて発生するイベントなどを処理すると共に、アプリケーション実行部11に対して、適宜、各種機能の実行を指示する。
上述したUI生成部13は、その内部に、複数のUI定義ファイルに基づいてUIの合成処理を行うUI合成処理部60を含む。また、UI合成処理部60は、UIオブジェクト定義情報解析部61と、UIオブジェクト選択処理部62と、合成UI定義ファイル生成部63と、自動レイアウト処理部64と、UIリソース整形部65とを含む。
UIオブジェクト定義情報解析部61は、UI定義ファイルに含まれる、各種のUIオブジェクトを定義するUIオブジェクト定義情報を解析する。
UIオブジェクト選択処理部62は、多数のUIオブジェクトの中から、必要とするUIオブジェクトを、自動的にまたはユーザの入力により選択する処理を行う。ユーザの入力により選択を行う場合、UIオブジェクト選択処理部62は、表示部24に描画するUIオブジェクトを定義するUIオブジェクト定義情報を解析することにより、ユーザによるUIオブジェクトの選択入力を受け付ける選択画面を生成する処理および制御を行う。
合成UI定義ファイル生成部63は、UI合成処理部60によって合成されたUIを、合成UI定義ファイルとして生成して出力する。
自動レイアウト処理部64は、UIを合成する際のレイアウトに関する各種の制御および処理を行う。例えば、自動レイアウト処理部70は、各UIオブジェクトの配置設定処理、配置可否判定処理、縮小オブジェクト選択処理、サイズ下限値設定処理、マージン設定処理などを行う。以下、これらの各処理の概略を説明する。
各UIオブジェクトの配置設定処理は、所定のUI表示領域内にて実際にUIオブジェクトの配置を行う前に、所定の手順に従って仮想的にUIオブジェクトの配置を行う処理である。配置可否判定処理は、配置設定処理により仮想的に配置されたUIオブジェクトが所定のUI表示領域内に配置可能か否かを判定する処理である。縮小オブジェクト選択処理は、配置可否判定処理によりUIオブジェクトの全てを所定のUI表示領域内に配置することはできないと判定された場合、所定の手順に従って、縮小するUIオブジェクトを選択する処理である。サイズ下限値設定処理は、端末依存情報やUIオブジェクト定義情報に従って、UIオブジェクトを縮小する際の下限値をUIオブジェクト毎に設定する処理である。マージン設定処理は、UIオブジェクトを配置する際に、当該UIオブジェクトが他のUIオブジェクトまたはUI表示領域の縁部などに近接し過ぎないように、当該UIオブジェクトの周囲に適度な間隔(マージン)の設定を行う処理である。
UIリソース整形部65は、各UIオブジェクトの表示サイズに基づいて、選択されたUIオブジェクトのプレビュー処理や、UIを合成する際に利用するリソースのデータの拡大または縮小処理などを行う。なお、この場合、個別UIリソース記憶領域53または共通UIリソース記憶領域54に記憶されているリソースのデータを読み出して使用する。
記憶部50において、アプリケーション記憶領域51には、各種の機能を実現する為の処理手順が記載されたデータで構成される、各種のアプリケーションを記憶する。UI定義ファイル記憶領域52には、各UIがそれぞれUI全体を生成する際の一連の生成ルールを定義するUI定義ファイルを記憶する。また、個別UIリソース記憶領域53は、各アプリケーション固有のUIを生成する際に使用する画像データや文字列(テキスト)データなどの個別UIリソースを記憶する。共通UIリソース記憶領域54は、各アプリケーション固有の個別UIリソース以外の、端末にて用いられる、UIが共有して使用する画像データやフォントのデータなどの共通のUIリソースを記憶する。実際にUIを生成する際には、個別UIリソース記憶領域53および共通UIリソース記憶領域54に記憶された画像データおよびテキストデータなどを、タッチパネル20の表示部24に表示する。
また、関連アプリケーション情報記憶領域55には、合成UI定義ファイル(後述する)に関連するアプリケーションに対する起動情報などを含む関連アプリケーション情報を記憶する。さらに、合成UI定義ファイル記憶領域56は、合成UI定義ファイル生成部63が生成した合成UI定義ファイルを記憶する。
次に、本実施の形態にてUI定義ファイル記憶領域52に記憶するUI定義ファイルについて説明する。
記憶部50のUI定義ファイル記憶領域52には、アプリケーション記憶領域51に記憶された各アプリケーションが実行される際に必要なUIの、当該アプリケーションに対応した各仕様および動作などを定義するUI定義ファイルを記憶する。異なるアプリケーションで同じUIを使う状況も考えられるが、ここでは説明の便宜のため、異なるアプリケーションに対してそれぞれ異なるUIを用いる場合を想定し、各アプリケーションに対応した各UI定義ファイルを保存する場合について説明する。
例えば、図示しない外部機器であるテレビ受像機を携帯電話1にて遠隔制御するテレビリモコンアプリケーションに対応して、テレビリモコンUI定義ファイルをUI定義ファイル記憶領域52に記憶する。同様に、図示しない外部機器のエアコンディショナーを携帯電話1にて遠隔制御するエアコンディショナーリモコンアプリケーションに対応して、エアコンディショナーリモコンUI定義ファイルをUI定義ファイル記憶領域52に記憶する。
本実施の形態では、UI定義ファイルを記述する言語の例として、XML言語をベースにしたUIML(User Interface Markup Language)の形式に従って説明する。各UIを起動して使用可能にする際には、UI生成部13は、このUIMLファイル形式で記述される定義に従って、携帯電話1のタッチパネル20の表示部24にUIを表示し、アプリケーション実行部11は、ユーザによる入力部22に対する入力に応じた処理を行う。
図14は、UI定義ファイルの構成を説明する概念図である。図14に示すように、携帯電話1の記憶部50内のUI定義ファイル記憶領域52には、各UIがそれぞれUI全体を生成する際の一連の生成ルールを定義するUI定義ファイルを格納する。図14では、UI定義ファイル(1)〜(6)まで6つのUI定義ファイルを格納しているが、使用するUIに応じて、UI定義ファイル記憶領域52には任意の数のUI定義ファイルを格納できる。
また、各UI定義ファイルは、図14に示すように、複数のUIオブジェクト定義情報を含む。図14では、UI定義ファイル(2)は6つのUIオブジェクト定義情報((2)−1〜(2)−6)を含んでいるが、実際には、当該UI定義ファイル(2)に基づいて構成されるUIが含むUIオブジェクトの個数に対応する数のUIオブジェクト定義情報を含む。
UI定義ファイルに含まれるそれぞれのUIオブジェクト定義情報は、図示のように、当該UIオブジェクト定義情報により定義されるUIオブジェクトに関連する各種の属性を表す情報を含む。以下、UIオブジェクト定義情報に含まれる代表的な情報を例示する。
(1)部品(UIオブジェクト)の種別情報:当該UIオブジェクトがユーザ操作を受け付けるボタンやキーの機能を持つものか、情報表示のテキストボックス機能を持つものか、表示部24に画像を表示するだけの機能かなど、種別を特定する情報
(2)UIオブジェクトに使用するリソース情報:表示部24に表示するUIを構成する要素であるキーまたはボタンなどのUIオブジェクトを描画するための画像およびテキストを定義する情報
(3)UIオブジェクトを配置する位置情報:当該UIオブジェクトを所定のUI表示領域のどの位置に表示するかを特定する情報
(4)UIオブジェクトの表示サイズ情報:当該UIオブジェクトをUI表示領域に表示する際のサイズを特定する情報
(5)UIオブジェクトの動作条件情報(アクション情報):当該UIオブジェクトに入力がされた際の(実際にはUIオブジェクトに対応する入力部22の部位に入力がされた際の)、アプリケーションに対する動作を定義する情報(例えば、テレビリモコンUIの「電源」のUIオブジェクトに対する入力のイベントが発生した場合、テレビリモコンアプリケーションに対して、外部機器のテレビの電源をONまたはOFFにする赤外線信号を発信する指示を出すよう定義する情報)
(6)UIオブジェクトを有効または無効にする情報:当該UIオブジェクトをUI表示領域に表示するか否か、またはUIオブジェクトをアクティブ状態にするか否かを特定する情報
(7)UIオブジェクトの優先度情報:当該UIオブジェクトと他のUIオブジェクトとの関係に基づいて、複数のUIを合成する際に、当該UIオブジェクトの優先度を示す情報
(8)当該UIオブジェクトと他のUIオブジェクトとの関連性情報:当該UIオブジェクトが他のUIオブジェクトと所定の関連性を有する場合に当該関連性を特定する情報
上記(5)のUIオブジェクトの動作条件情報(アクション情報)は、仕様に応じて種々のものが想定できるが、本実施の形態では、アクション情報の種別として、上述したものを含めて主に以下の3種類を規定する。
1.UIオブジェクトのプロパティ(属性情報)を変更するアクション
2.アプリケーションの機能を実行するアクション
3.単体UIを起動するアクション
また、本実施の形態による携帯電話1は、ユーザの選択操作に基づいて、複数のUIから複数のUIオブジェクトを選択して採用し、当該複数のUIオブジェクトを、合成UIとして1つのUI表示領域内に表示することができる。この場合、各UIには、対応するUI定義ファイルがそれぞれ存在するが、ユーザが任意に選択したUIオブジェクトにより構成される合成UIには、対応するUI定義ファイルが元々は存在しない。そのため、ユーザの選択によるUIオブジェクトにより構成される合成UIを生成した際には、UI合成処理部60は、当該合成UIに基づく合成UI定義ファイルを生成して保存する。以下、この合成UI定義ファイルの生成の動作について、さらに説明する。
図15は、合成UI定義ファイルの構成を説明する概念図である。合成UI定義ファイルは、複数のUI定義ファイルに含まれるUIオブジェクト定義情報を部分的に抜き出し、1つのUI定義ファイルにまとめたものである。なお、この合成UI定義ファイルに含まれるUIオブジェクト定義情報は、そのもととなる単体UIから抽出されて合成される際に、必要に応じて様々な加工が施される。
例えば、合成UIを定義するものであることを識別する情報や、関連アプリケーション情報を特定するための情報が付加されたりする。図15に示す例においては、3つのUI定義ファイル(2),(4),(5)から、それぞれいくつかのUIオブジェクト定義情報を抽出したものをまとめて、新たに合成UI定義ファイル(1)を生成した様子を概念的に表している。このように、それぞれのUIオブジェクト定義ファイルからいくつかのUIオブジェクト定義情報を抽出して合成UI定義ファイルにまとめる際に、UI合成処理部60は、必要に応じて加工を施してから合成する。
複数のUIの合成に際しては、UI合成処理部60において、UIオブジェクト選択処理部62が、各UI定義ファイルに基づいてUIオブジェクト選択画面を生成し、ユーザが選択したUIオブジェクトのUIオブジェクト定義情報を抽出する。UI合成処理部60は、このようにして抽出したUIオブジェクト定義情報をまとめる。この際、合成UI定義ファイル生成部63が、こうしてまとめられたUIオブジェクト定義情報から、1つの合成UI定義ファイルを生成する。これは、ユーザの視点から見ると、複数のUIからUIオブジェクトをいくつか選択して採用し、1つの合成UIを生成したことになる。なお、上述したように、UI合成処理部60は、合成UI定義ファイル生成部63が合成UI定義ファイルを生成する際に、必要に応じてUIオブジェクト定義情報を加工する。それから、それから、UI合成処理部60は、合成UI定義ファイル生成部63が生成した合成UI定義ファイルを、合成UI定義ファイル記憶領域56に保存する。
以下、UI定義ファイルに基づいて生成されるUIを、具体的な例を用いて説明する。図16(A)および(B)は、図14および図15に示したような、各UI定義ファイルに基づいて生成される単体UI(単体用ユーザインタフェースオブジェクト群)の例として、リモコンアプリケーション用UIを表示した例を示す図である。図16(A)はテレビ受像機のリモコンアプリケーション用UI(ユーザインタフェースオブジェクト群)を表示した例であり、図16(B)はエアコンディショナーのリモコンアプリケーション用UI(ユーザインタフェースオブジェクト群)を表示した例である。UI定義ファイルがXMLをベースにしたUIMLのファイル形式で記述されている場合には、これらの各UIMLのファイルを解析してUIを生成すると、表示部24の所定のUI表示領域内に適切に収まるような一画面用のUIが表示される。それぞれのUIのUI定義ファイルでは、各UIを構成するUIオブジェクトについて、それぞれ、UIオブジェクト定義情報により各種の属性が定義されている。
UIオブジェクト選択処理部62は、図16(A)および(B)に示したような単体UI(単体用ユーザインタフェースオブジェクト群)から、所定の基準に基づいていくつかのUIオブジェクトを選択し、UI合成処理部60は、これらのUIオブジェクトについて上述した合成UIを生成する処理を行う。これにより、合成UI定義ファイル生成部63は、複数のUIオブジェクトを選択して採用することにより1つの合成UIを構成する合成UI定義ファイルを生成できる。
本実施の形態においては、複数のUIを合成して合成UIを生成する際に、各UIオブジェクトのうち主要なものが自動選択されるようにすることもできる。この場合、UIオブジェクト選択処理部62がUIオブジェクトを自動選択する際には、上述した(7)UIオブジェクトの優先度情報を利用する。
図17は、本実施の形態に係るUIオブジェクトの優先度情報を説明する図である。
図17(A)は、携帯電話1において、テレビリモコンアプリケーションのみを起動し、テレビリモコンUI定義ファイルに基づいて、単体UIであるテレビリモコンUIをタッチパネル20に表示した様子を示している。図中では、タッチパネル20上のUI表示領域を各UIオブジェクトの属性情報に対応する小領域に概念的に分割した様子を一点鎖線によって示す。また、複数のUIオブジェクトをまとめて1つのUI(ユーザインタフェースオブジェクト群)として扱うことの定義(UI識別情報)をinterfaceのタグを付して示し、“TV1_interface”という値から、これがTV1のリモコンのUIであることが特定できる。図17(A)に示す各小領域(1)〜(7)に対応する各UIオブジェクト属性情報の一例を以下に列記する。
Interface id=”TV1_interface”
(1) ID=”switch1” priority=”0”
(2) ID=”ch_select” priority=”1”
(3) ID=”volume” priority=”1”
(4) ID=”10key” priority=”4”
(5) ID=”timer” priority=”3”
(6) ID=”bilingual” priority=”3”
(7) ID=”title” priority=”0”
本実施の形態では、UIオブジェクト属性情報のうち、上述した各小領域(1)〜(7)のUIオブジェクトについての優先度を、priorityの値として予め定義する。図17の例では、priorityの値がゼロのUIオブジェクトは必須の(必ず選択される)オブジェクトとし、priorityの値が1のUIオブジェクトは重要なオブジェクトとし、それ以降はpriorityの値が増大するほど優先度が低いUIオブジェクトであることを意味する。すなわち、例えば図17(A)の小領域(1)に示す「電源」のキーは必須のキーであるため、priorityの値をゼロとする。また、小領域(2)のチャンネル選局キー、および小領域(3)の音量上下キーは重要なキーであるためpriorityの値は1とする。しかしながら、小領域(4)のテンキーは、小領域(2)および(3)のチャンネル選局キーで代替できるため、priorityの値を4とし、優先度を低く設定する。また、小領域(5)および(6)のタイマーおよび音声切替のキーは優先度がそれほど高くないものとし、priorityの値は3とする。
なお、小領域(7)の文字列は、ユーザの入力を受け付けるキーではなく、このテレビリモコンUIに係る名称を表すUIオブジェクトである。このような、UIに係る名称は、単体UIを使用する際に不可欠とまでは言えないが、合成UIを生成する際には、視認性を向上させるため、本例においては表示を必須とするUIオブジェクトとする。
図17(B)は、単体UIであるエアコンディショナーリモコンUIのみをタッチパネル20に表示した様子を示す。図17(B)に示す各小領域(1)〜(7)に対応する各UIオブジェクト属性情報の一例を以下に列記する。なお、これら複数のオブジェクトがまとまった1つのエアコンディショナー1のリモコンのUIであることが特定できるよう、interfaceのタグの値は“AIR1_interface”とする。
Interface id=”AIR1_interface”
(1) ID=”switch2” priority=”0”
(2) ID=”set_window” priority=”0”
(3) ID=”temp” priority=”1”
(4) ID=”wind_velo” priority=”1”
(5) ID=”direction” priority=”2”
(6) ID=”mode” priority=”3”
(7) ID=”title” priority=”0”
エアコンディショナーリモコンUIでは、例えば小領域(1)に示す「電源」のキーは必須のキーであり、小領域(2)に示す「設定温度」の表示は必須であるため、priorityの値をゼロとする。また、小領域(3)および(4)の温度の上下調節キーおよび風力調節キーは重要なキーであるためpriorityの値は1とする。これらと比べて優先度の劣る、小領域(5)の風向調節キーのpriorityの値は2とし、小領域(6)のモードキーのpriorityの値は3とする。なお、小領域(7)の文字列は、ユーザの入力を受け付けるキーではなく、このエアコンディショナーリモコンUIに係る名称を表すUIオブジェクトであり、本例においては表示を必須とするUIオブジェクトとする。
このように、本実施の形態では、各UIオブジェクトと他のUIオブジェクトとの関係に基づいて定義された優先度情報(priorityの値)を、UIオブジェクト属性情報として、各UI定義ファイルのUIオブジェクト定義情報に予め含ませる。この優先度情報は、UI生成部13が、UI合成処理においてUIオブジェクトの自動選択処理を行う際に、各UIオブジェクトを合成UIに採用するか否かを判定する情報として用いる。表示部24におけるUI表示領域には限りがあるため、優先度が低いUIオブジェクトは合成UI生成の際に採用しないようにする。その代わりに、元々は他のUIに含まれる優先度の高いUIオブジェクトを当該合成UIに採用する。
次に、図18〜20のフローチャートを参照しながら、本実施の形態による、複数のアプリケーションのUIを合成する際の動作について説明する。
図18は、本実施の形態において、UI生成部13によりUI定義ファイルまたは合成UI定義ファイルからUIを生成して使用可能にする処理全体を説明するフローチャートである。まず、ユーザからの入力部22への操作入力などに基づいてアプリケーションが起動され、アプリケーション実行部11が当該アプリケーションに係るUIの生成を指示すると、UIを生成して使用可能にする処理が開始する。この処理が開始すると、UIを表示する権限を持つアプリケーションが、UI定義ファイル(XMLファイル)を指定する(ステップS11)。UIを表示する権限を持つアプリケーションは、携帯電話1にてバックグラウンドで起動するものではなく、アプリケーションの最上位にて動作するものである。この処理の開始のきっかけとなる動作は、UIを用いるアプリケーションを起動する際のユーザの操作、またはユーザが既にアプリケーションを実行中に、UIを用いる他のアプリケーションをさらに起動する際のユーザの操作などが想定される。
次に、UI生成部13は、ステップS11にて指定されたUI定義ファイルの数が1つか複数かを判定する(ステップS12)。指定ファイル数が1つと判定された場合、UI生成部13は、指示を出したアプリケーションが複数のUIの合成を要求していないと判断してステップS13に移行する。ステップS13において、UI生成部13は、指定された1つのUI定義ファイルをUI定義ファイル記憶領域52または合成UI定義ファイル記憶領域56から読み出して、当該UI定義ファイルが合成UI定義ファイルか否かを判定する。
ステップS13にて、指定されたファイルが合成UI定義ファイルでない、つまりUI定義ファイル記憶領域52から読み出された単体UIのUI定義ファイルと判定された場合は、ステップS14に移行する。
ステップS14において、UI生成部13は、指定された単体UIのUI定義ファイルに対してXMLパース処理を行ってから、次にDOM化処理(ステップS15)を行う。この場合のように、指定されたUI定義ファイルが1つで単体UIのUI定義ファイルの場合、これ以降の処理は、従来式のUIを生成する処理と同じになる。すなわち、パース処理およびDOM化処理を行ったUI定義ファイルに基づいて、UI生成部13は、UIを生成する処理を行う(ステップS16)。なお、ステップS16のUI生成処理については後述する。次に、UI生成処理により生成されたXMLファイルのUIに基づいて、UI生成部13は、タッチパネル20の表示部24のUI表示領域にUIを表示する処理を行う(ステップS17)。これにより、携帯電話1において単体UIが使用可能になる。
一方、ステップS12において、ステップS11で指定されたファイル数が複数の場合、UI生成部13は、アプリケーションが複数のUIの合成を要求していると判断し、複数の各XMLファイルについて、それぞれXMLパース処理(ステップS18)およびとDOM化処理(ステップS19)を行う。ステップS20にて、UI生成部13は、上記パース処理およびDOM化処理が全てのUI定義ファイルについて完了したか否かを判定し、まだ完了していない場合には、ステップS18に戻り、残りのUI定義ファイルについてパース処理およびDOM化処理を行う。
ステップS20にて、全てのUI定義ファイルについてパース処理およびDOM化処理が完了したと判定されたら、UI合成処理部60は、パース処理およびDOM化処理が完了した複数のUIを合成する処理を行う(ステップS21)。すなわち、UI生成部13は、複数のUIの生成(合成)を指示する。なお、ステップS21のUI合成処理についても後述する。
ステップS21にてUI合成処理が行われると、合成UI定義ファイル生成部63は、合成したUIについての合成UI定義ファイルを生成する。この後は処理全体が一旦終了になるが、ここで生成された合成UI定義ファイルを用いて本処理を再び開始すると、ステップS11にて合成UI定義ファイルが指定される。そのため、ステップS12では1つのファイルが指定され、ステップS13では合成UI定義ファイルが指定されたと判定される。
このように、ステップS13にて、指定された1つのファイルが合成UI定義ファイルであると判定された場合、ステップS22に移行する。指定されたファイルが合成UI定義ファイルである場合は、合成UI定義ファイルとして生成(準備)した合成UIを起動して実際に使用する際は、各UIオブジェクトを1つの合成UI(合成ユーザインタフェースオブジェクト群)として表示部24に表示して使用できる状態にする必要がある。このため、UI生成部13は、対象となる合成UI定義ファイルと関連付けて保存されている関連アプリケーション情報を、記憶部50の関連アプリケーション情報記憶領域55から取得する(ステップS22)。次に、取得した関連アプリケーション情報に基づいて、UI生成部13は、アプリケーション実行部11に対して、関連するアプリケーションをバックグラウンドで起動するよう指示する(ステップS23)。
これ以降はステップS14に移行し、単体UIのUI定義ファイル処理の場合と同様の処理になる。すなわち、UI生成部13は、指定された合成UIのUI定義ファイルに対してXMLパース処理(ステップS14)およびDOM化処理(ステップS15)を行う。さらに、指定された合成UI定義ファイルに基づいて、UI生成部13は、合成UIを生成する処理を行う(ステップS16)。それから、UI生成部13は、生成された合成UIをタッチパネル20の表示部24のUI表示領域に表示する処理を行い(ステップS17)、合成UI生成の全体的な処理を終了する。
次に、図19のフローチャートを参照しながら、図18におけるステップS16のUI生成処理についてさらに説明する。なお、ステップS16のUI生成処理とは、狭義のUI生成処理、すなわちUI定義ファイルを解析し、その解析結果に基づいてUIを表示部24に表示できる状態にする処理である。
図19におけるUI生成処理の開始時点では、指定されたUI定義ファイルに基づく1つの単体UIまたは1つの合成UIのどちらかが、1つのDOMドキュメント(またはDOMノード)になっている。まず、UI生成部13は、DOMドキュメントに対して表示関連の解析を行う(ステップS31)。これは、UIML形式で記述されたUI定義ファイルでは、structureタグやstyleタグを付された属性などを解析する。次に、UI生成部13は、DOMドキュメントの動作関連について解析を行う(ステップS32)。これは、UIML形式で記述されたUI定義ファイルでは、behaviorタグを付された属性などを解析する。
次に、UI生成部13は、DOMドキュメントに含まれる表現を、各端末に依存する表現に変換する処理を行う(ステップS33)。さらに、UI生成部13は、ステップS33の変換処理の結果に基づいて、使用するUIオブジェクトのリソースを選定して各属性(プロパティ)を設定する(ステップS34)。この際に必要なUIオブジェクトのリソースは、個別UIリソースとして個別リソース記憶領域56に、または共通UIリソースとして共通UIリソース記憶領域58に記憶されている。この後、UI生成部13は、各UIオブジェクトを含むUIのプロット処理を行う(ステップS35)。これによりUIの生成処理は終了し、この後は図18のステップS17に移行して、UIの表示処理を行う。
このような処理により、携帯電話1は、単体UIを用いるアプリケーションの実行に伴い、単体UIのUI定義ファイルに基づいて単体UIを表示部24に表示できる。例えば、テレビリモコンのアプリケーション単体によりテレビリモコン用のUI定義ファイルが指定された場合には、前述の図16(A)に示すようなUIの表示になる。また、エアコンディショナーリモコンのアプリケーション単体によりエアコンディショナーリモコン用のUI定義ファイルが指定された場合には、図16(B)に示すようなUIの表示になる。また、合成UIを用いるアプリケーションの実行に伴い、合成UI定義ファイルに基づいて合成UIを表示部24に表示することもできる。
次に、図20のフローチャートを参照しながら、図18におけるステップS21のUI合成処理、すなわち複数のUIの生成が指示された際の処理についてさらに説明する。
図20に示すUI合成処理が開始すると、UI合成処理部60は、パース処理およびDOM化処理が完了した複数のUIのDOMノードについて、各DOMノードを構成するUIオブジェクトを全て抽出して、各UIオブジェクトの属性情報を解析する(ステップS51)。各UIオブジェクトの解析すべき属性情報は、図14に示したように、各UIオブジェクトの優先度情報(priority)を含め種々のものがある。
全UIオブジェクトの属性情報を解析したら、UI合成処理部60は、抽出したUIオブジェクトの中から合成UIに採用するUIオブジェクトを選択(抽出)するに際し、自動選択が指示されているか否かを判定する(ステップS52)。
ステップS52にて自動選択によるUI合成が指示されている場合は、UIオブジェクト選択処理部62は、UIオブジェクト自動選択処理を行う(ステップS53)。これにより、合成UIを構成するUIオブジェクトとして採用されるUIオブジェクトが自動で抽出される。UIオブジェクト自動選択処理では、例えば、各UIオブジェクトについて解析した属性情報の優先度情報であるpriorityが0〜2までの値のものを合成UIに採用する等、所定の規則に基づいて、UIオブジェクト選択処理部62がUIオブジェクトを自動選択(抽出)する。
一方、ステップS52にて自動選択によるUI合成が指示されていない場合は、UIオブジェクト選択処理部62は、UIオブジェクトのユーザによる選択処理を行う(ステップS54)。これにより、ユーザの選択に基づいて、合成UIを構成するUIオブジェクトとして採用されるUIオブジェクトが抽出される。UIオブジェクトのユーザによる選択処理では、ユーザの操作入力に基づいて、ユーザが選択したUIオブジェクトを合成UIに採用する(採用するオブジェクトとして抽出する)。この場合、UIオブジェクト選択処理部14は、UIオブジェクト選択画面上で、選択されたUIオブジェクトの大きさがUI表示領域にて占める合計の占有率を積算して、UI表示領域に収まらないようなUIオブジェクトは選択(抽出)できないようにするのが好適である。
合成UIに採用すべきUIオブジェクトが全て選択(抽出)されたら、次に、自動レイアウト処理部64は、選択(抽出)したUIオブジェクトをUI表示領域に仮想的に配置する処理を行う(ステップS56)。この際、UIリソース整形部65は、選択したUIオブジェクトの表示サイズを必要に応じて調節する。また、自動レイアウト処理部64は、UIオブジェクト同士が接近し過ぎないように、UIオブジェクトの周囲に適当なマージン(余白部分)を必要に応じて設定する。
選択したUIオブジェクトの配置処理が完成したら、UI合成処理部60は、確定したレイアウトの各UIオブジェクトを1つのDOMノードとして集約する(ステップS57)。次に、合成UI定義ファイル生成部63は、選択したUIオブジェクトのUIオブジェクト定義情報に基づいて、当該選択したUIオブジェクトで構成される合成UIを定義する合成UI定義ファイルを生成する(ステップS58)。こうして生成された合成UI定義ファイルは、XML形式の1つのファイルとして、記憶部50の合成UI定義ファイル記憶領域56に記憶する。
ステップS58にて合成UI定義ファイルが生成されたら、UI合成処理部60は、合成UIとして選択(抽出)されたUIオブジェクトに基づいて関連するアプリケーションの情報を生成する(ステップS59)。ここで生成する関連アプリケーション情報とは、合成UIとして選択(抽出)された各UIオブジェクトに対してユーザの入力があった際に、当該UIオブジェクトに関連するアプリケーションを制御するための情報である。選択されたUIオブジェクトに基づく関連アプリケーションの情報が生成されたら、UI合成処理部60は、合成UI定義ファイル生成部63は、当該関連アプリケーション情報を、合成UI定義ファイルと関連付けてから、関連アプリケーション情報記憶領域55に保存する(ステップS60)。この後は、UI合成処理部60は、UI合成処理が完了したことをアプリケーション実行部11に通知して(ステップS61)、UI合成処理を終了する。
このような処理により、生成した合成UI(合成ユーザインタフェースオブジェクト群)を直ちに表示部24に表示することができる。また、生成した合成UIをすぐには使用せずに、後に、合成UI定義ファイル記憶領域56に保存されている合成UI定義ファイルを読み出して使用することもできる。
以上のUI合成処理を行った後に、図18で説明したUI生成の全体処理を行うことにより、単体UIの中から選択(抽出)されたUIオブジェクトによる合成UIを生成することができる。例えば、図16(A)に示したテレビ受像機のリモコンアプリケーション用UIと、図16(B)に示したエアコンディショナーのリモコンアプリケーション用UIオブジェクトとから選択されたUIを用いて、図21に示すような合成UI(合成ユーザインタフェースオブジェクト群)を生成することができる。
図21の合成UI(合成ユーザインタフェースオブジェクト群)の例では、図20のステップS53にて、各UIのUIオブジェクト属性情報の優先度(priority)の値が0〜2までの値のものを合成UIに採用するという基準に基づいて、UIオブジェクト選択処理部62がUIオブジェクトを自動選択した合成UIを示す。図21に示す合成UIは、タッチパネル20のUI表示領域を上下2つの領域に分割して、上半分にテレビリモコンUIから選択したUIオブジェクトを、また下半分にエアコンディショナーリモコンUIから選択したUIオブジェクトを配置している。
このように、本実施の形態では、2つのXMLファイルを解析して、優先度の高いUIオブジェクトのみを抽出し自動配置して複数のUIを合成する。これによりユーザは複数のアプリケーションまたは当該アプリケーションに基づくUIを切り替えることなく、複数のUIを1つの合成UIとして同時に利用することができる。
(第2実施の形態)
図1は、本発明の第2実施の形態に係るUI生成装置である携帯端末の概略構成を示すブロック図である。
図1に示す携帯端末2は、例えばPDA(パーソナルデジタルアシスタンス)等の携帯通信端末であり、タッチパネル21、制御部80及び記憶部50を具えるものである。タッチパネル21は、ボタンなどのソフトキー(UIオブジェクト)を含んだUIを表示させる表示部23としての機能と、指やペンなどによるソフトキー(UIオブジェクト)への入力を感知する入力部25としての機能を有する。タッチパネル21は、例えば、表面弾性方式のタッチパネル、液晶ディスプレイにイメージセンサの機能を付加して一体的に構成したイメージセンサパネル、又は他の任意の好適なタッチパネルから構成されるものである。制御部80は、記憶部50に保存されているプログラムに従ってタッチパネル21と連動した動作を行う部分で、入力手段判定部71とUI制御部90とを備えている。制御部80は、例えば、CPU(中央処理装置)等の任意の好適なプロセッサ構成されるものであり、制御部80の各機能は、当該プロセッサ上で実行されるソフトウェアや、又は各機能の処理に特化した専用のプロセッサ(例えばDSP(デジタルシグナルプロセッサ))によって構成することができる。入力手段判定部71は、入力装置の種別を判定する入力装置判定部72と入力位置の判定を行う入力位置判定部73とを備えている。UI制御部90はUI生成部13とオブジェクト制御部91とからなり、UI生成部13は図13における構成と同様に、UI合成処理部60を含む。UI生成部13及びUI合成処理部60の機能については、図13における構成と同様であるため、詳細な説明は省略する。オブジェクト制御部91は入力を受けたソフトキー(UIオブジェクト)に関連付けられる動作情報(アプリケーション)を記憶部50から取得し、当該アプリケーションプログラムに従ってUIオブジェクトの機能(動作)を実行する。記憶部50は、図13における構成と同様に、アプリケーション記憶領域51とUI定義ファイル記憶領域52と、個別UIリソース記憶領域(図示しない)と、共通UIリソース記憶領域(図示しない)と、関連アプリケーション情報記憶領域(図示しない)と、合成UI定義ファイル記憶領域(図示しない)とを備えるものであり、例えば、揮発性メモリ(SRAM等)、不揮発性メモリ(EEPROM等)、又は他の好適な記憶媒体から構成される。記憶部50の各記憶領域の記憶内容ついては、図13における構成と同様であるため、詳細な説明は省略する。
タッチパネル21には、UI制御部90によって単体UI又は合成UIいずれかのユーザインタフェースが表示される。UI制御部90のUI生成部13は、記憶部50のUI定義ファイル記憶領域52を参照し、UI生成に必要なUI定義ファイルを取得する。UI生成部13は、XML形式で記述されたUI定義ファイルに対してパース処理(パーシング)およびDOM(Document Object Model)化処理などを行ってUIを生成し、生成したUIをUI制御部90がタッチパネル21に表示する。タッチパネル21に合成UIを表示する場合には、UI制御部90のUI合成処理部60は、UI定義ファイルに含まれる各種のUIオブジェクトを定義するUIオブジェクト定義情報を解析する。次いで、UI合成処理部60は、多数のUIオブジェクトの中から、必要とするUIオブジェクトを自動的にまたはユーザの入力により選択する処理を行って(例えば各UIオブジェクトのレイアウト情報(UIオブジェクトの表示位置や表示サイズ等の情報等)や優先度等を考慮して)合成UIを生成する。
タッチパネル21に表示されたUIオブジェクトにユーザが入力操作を行うと、入力手段判定部71は、入力装置判定部72及び入力位置判定部73によってユーザ入力の装置情報(ペン、指などの入力手段)と位置情報(タッチパネル上での座標)とを取得する。
入力装置判定部72は、タッチパネル21への入力を検知し、その接触面積を算出して入力装置(手段)を判別することができる。例えばタッチパネル21として表面弾性方式のものを用いた場合には、入力により表面弾性波が吸収を受けた分だけ信号値に変化が生じるため、入力装置判定部72は変化が生じた時間を積分することによって接触面積を算出することができる。例えば、入力装置判定部72は、タッチパネル21への接触面積が所定の値未満である場合には、ペンによる入力と判別し、タッチパネル21への接触面積が所定の値以上である場合には、指による入力と判別できる。
また、入力装置判定部72としてイメージセンサを用いることもできる。例えば、タッチパネル21として液晶ディスプレイにイメージセンサの機能を付加して一体的に構成したイメージパネルを用いた場合には、指或いはペンの入力デバイス(入力手段)がその表面に触れると、画素毎に受光した量が電荷に変換されるため、全エリアの画素を読み込むことで対象イメージを再現することができる。従って、入力装置判定部72は、対象イメージの特徴部に基づいて入力装置を判定することができる。また、タッチパネル21に入力操作を行う入力装置の判定を、イメージセンサに代えてカメラを用いて行っても良い。
入力位置判定部73は、タッチパネル21への入力が検知されると、その入力位置を判定する。入力位置判定部73は、例えばタッチパネル21として表面弾性方式のものを用いた場合には、振動を与えてから反射した振動が戻ってくるまでの時間を計測することによって、入力位置を判定することができる。また、入力位置判定部73は、例えば、タッチパネル21として液晶ディスプレイにイメージセンサの機能を付加して一体的に構成したイメージパネルを用いた場合には、対象イメージの特徴部の表示位置によって、入力位置を判定することができる。
なお、タッチパネル21上の複数箇所に同時に入力があった場合には、それぞれの入力に対し、入力装置判定部72は入力装置を判定し、入力位置判定部73は入力位置を判定する。
オブジェクト制御部91は、入力位置判定部73により判定される入力位置に応じて、タッチパネル21の当該入力位置に表示されているUIオブジェクトに関連付けられる機能を実行する。例えば、オブジェクト制御部91は、「電源キー」への入力に対して電源のONとOFFを切り替えたり、「数字キー」への入力に対して所定の番組を選局する動作を行う。また、オブジェクト制御部91は、入力装置判定部72により判定される入力装置に応じて、UIオブジェクトの機能を切り替えることができる。例えば、タッチパネル21への入力が検知され、当該入力が入力装置判定部72により第1の入力手段によるメイン入力(例えばペン入力)であると判定された場合には、オブジェクト制御部91は、当該入力位置に対応するUIオブジェクトの通常の機能を実行する。また、オブジェクト制御部91は、入力装置判定部72によりタッチパネル21への入力が第2の入力手段であるサブ入力(例えば指による入力)であると判定された場合には、通常の機能とは異なる他の機能を実行することができる。また、オブジェクト制御部91は、入力の数に応じてUIオブジェクトの機能を切り替えることができる。例えば、タッチパネル21への入力数が1つの場合には、当該入力位置に対応するUIオブジェクトの通常の機能を実行し、タッチパネル21への入力数が2つ以上の場合には、通常の機能とは異なる他の機能を実行することができる。
図2は、本発明の第2実施の形態に係る携帯端末の動作を示すフローチャートである。なお、本実施の形態においては、メイン入力である第1の入力手段(入力装置)をペンによる入力、サブ入力である第2の入力手段(入力装置)を指による入力として説明を行うが、当該第1の入力及び第2の入力は、他の任意の好適な入力手段を取ることができるものである。
電源投入等により携帯端末2が起動すると、制御部80は、タッチパネル21における入力手段の数をカウントする入力数nと、経過時間を表すパラメータである経過時間tを初期化(n=0、t=0)する(ステップS001)。タッチパネル21への入力(接触)があると(例えばタッチパネルにペン又は指が触れると)、入力手段判定部71は、その時点より前の入力情報(例えば、タッチパネル21にどの入力装置が接触しているか)などから、その入力がすでに接触済みの入力であるかどうか判定する(ステップS003)。入力が新たな入力である場合、制御部80はタッチパネル21に接触している入力数nを1増加させる(n=n+1)(ステップS004)。次いで、入力位置判定部73が、入力の接触座標(Xn,Yn)を取得/保持し(ステップS005)、入力装置判定部72が入力の接触面積Znを取得/保存すると(ステップS006)、処理は入力時制御フローに移る(ステップS007)。
一方、ステップS002において、タッチパネル21への入力が受け付けられていない又は解除されると(例えばタッチパネルからペン又は指が離れると)、制御部80は、入力数nが0より大きいか判定する(ステップS009)。入力数nが0より大きい場合には、1つの入力が非接触(リリース)状態となるため、制御部80は入力数nをデクリメントする(ステップS010)。入力装置判定部72は、タッチパネル21からリリースされた入力手段が指であるか判定する(ステップS011)。入力装置判定部72がリリースされた入力手段が指であると判定した場合には、処理はリリース時制御フローに移る(ステップS012)。
ステップS002〜S012の処理は、携帯端末2が動作している間ループして行われ、制御部80は、ループの回数に合わせ経過時間tを増加(t++)させる(ステップS008)。
図3は、入力時制御フローの詳細を示すフローチャートである。入力装置判定部72は、入力の接触面積Zi(1≦i≦n)が指の面積閾値Aより大きいか否かを判定する(ステップS101)。入力装置判定部72は、接触面積Ziが面積閾値Aより大きい場合には(ステップS101でYes)、入力手段が指であると判定し(Ti=YUBI)(ステップS102)、接触面積Ziが面積閾値A以下である場合には(ステップS201でNo)、入力手段がペンであると判定する(Ti=PEN)(ステップS103)。ステップS101〜S103は、入力数nだけループして行われる。次に、入力数nが1である場合には(ステップS104でYes)、処理1が行われ(ステップS106)、入力数nが1ではなく、かつ、入力手段がペンである場合には(ステップS105でYES)、処理2が行われる(ステップS107)。
図4は、図3のステップS106に示す処理1(入力数nが1の場合の処理)の詳細を示すフローチャートである。オブジェクト制御部91は接触座標(X1,Y1)の位置にあるUIオブジェクトS1のオブジェクト定義情報をUI定義ファイル52から取得する(ステップS201)。入力手段が第1の入力手段であるペン(メイン入力)の場合には(ステップS202でT1=PEN)、UI制御部90は入力イベントに対して、UIオブジェクトS1へのメイン入力に対する動作(メイン動作)を実行する(ステップS203)。入力手段が第2の入力手段である指(サブ入力)の場合には(ステップS202でT1=YUBI)、UI制御部90は入力イベントに対して、UIオブジェクトS1へのサブ入力に対する動作(サブ動作)を実行する(ステップS204)。
図6は、図4のステップS204に示すUIオブジェクトへのサブ入力に対する動作(サブ動作)の詳細を示すフローチャートである。制御部80は、指による入力(サブ入力)の入力座標(Xn,Yn)を基に、指入力が行われたUIエリアAtを判定し、当該UIエリアAtを、記憶部50に記憶させておく。なお、UIエリアAtとは、例えば、図12(b)に示す合成UIのa1〜a3や、図12(a)に示す単体UIのb1などの、それぞれのエリアのことをいうものである。
図5は、図3のステップS107に示す処理2(入力数nが1ではなく、ペン入力である場合の処理)の詳細を示すフローチャートである。オブジェクト制御部91は、入力i(1<i≦n)に対する接触座標(Xi,Yi)の位置にあるUIオブジェクトSiのオブジェクト定義情報をUI定義ファイル52から取得する(ステップS301)。次いで、オブジェクト制御部91は、ペン入力と指入力による複数の入力に応じたUIオブジェクトの処理を実行する(ステップS302)。なお、図3のステップS104において入力数nが1より大きいことが判定され、ステップS105において新たな入力がペンであるかどうかの判定が行われている通り、処理2が行われる場合とは、例えば、指(第2の入力手段)でタッチパネル21を触りながら、ペン(第1の入力手段)で所定のソフトキー(UIオブジェクト)を選択する場合などである。
図8は、図5のステップS302に示すペン入力と指入力による複数の入力に応じたUIオブジェクトの処理の詳細を示すフローチャートである。オブジェクト制御部91は、タッチパネル21に表示されているUIの状態を判定し(ステップS601)、合成UI起動中の場合には何もせずに本処理を終了する。一方、単体UI起動中の場合には、オブジェクト制御部91は、メイン入力であるペン(第1の入力手段)による入力があったUIオブジェクトをリスト化し、再合成用リストGとして記憶部50に保存する(ステップS602)。当該再合成用リストGは、単体UIに表示されるUIオブジェクトのうち、例えば、ユーザが合成UIにおいても表示させたいUIオブジェクトを選択し、リスト化したものとすることができる。
図7は、図2のステップS012に示すリリース時制御フローの詳細を示すフローチャートである。オブジェクト制御部91は、タッチパネル21に表示されているUIの状態を判定する(ステップS501)。合成UI起動中の場合には、オブジェクト制御部91は、記憶部50より、どのUIエリアに入力があったのかを示すUIエリアAtを取得し、当該UIエリアAtに対応するユーザインターフェース(例えばテレビリモコンアプリケーション)の単体UIを起動するようにUI制御部90に指示を出す。UI制御部90は、オブジェクト制御部91からの通知を受け、UIエリアAtに対応するユーザインタフェースの単体UIをタッチパネル21に表示させる(ステップS502)。単体UI起動中の場合には、オブジェクト制御部91は、UI生成部13に合成UI生成の指示を出し、UI生成部13のUI合成処理部60は、記憶部50を参照して再合成リストGがあるかどうかを確認する(ステップS503)。再合成リストGがある場合には、UI合成処理部60は、再合成リストGに含まれるUIオブジェクトがタッチパネル21に表示されるように、合成UIのデータを再合成し(ステップS504)、UI制御部90は当該合成UIをタッチパネル21に表示する(ステップS505)。当該再合成は、例えば、再合成リストGに含まれるUIオブジェクトと、以前の合成UIに含まれたUIオブジェクトのうち優先度の低いUIオブジェクトとを置換することにより行うことができる。再合成リストGがない場合には、UI制御部90は、以前の合成UIのデータに従って、合成UIをタッチパネル21に表示する(ステップS505)。なお、UI合成処理部60は以前の合成UIデータを記憶部50に記憶しておくことができる。なお、図7、図8のフローチャートのステップS501、S601では、単体UI起動中である場合、それぞれステップS503、S602に進むが、ここでいう単体UIとは、合成UIから切り替わった後の単体UIを示すものである。そのため、合成UIを生成する前に通常の単体UIを表示しているだけの場合には、上記一連の処理は行わないようにすることもできる。
(第2実施の形態における合成UIから単体UIへのUI切換)
図9は、本発明の一実施の形態に係る携帯端末の合成UIから単体UIへのUI切換の様子を示す図である。図9(a)の携帯端末2のタッチパネル21には合成UIが表示されており、当該合成UIはテレビリモコンアプリケーションのUI(a1)、エアコンディショナーリモコンアプリケーションのUI(a2)及びビデオリモコンアプリケーションのUI(a3)の合成UIである。図9(a)の携帯端末2に対して、第2の入力手段である指による入力T1(サブ入力)があると、携帯端末2のタッチパネル21は単体UIの表示(図9(b))に切り替わる。この単体UIは、指入力T1の入力位置にあるテレビリモコンアプリケーションのUI(a1)を、単体インタフェース(b1)として表示したものである。
本実施の形態においては、まず、図9(a)に示す指入力T1があった際に、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは1であるため、ステップS106の処理1が行われる。図4に示す処理1においては、指入力(サブ入力)に対応した、サブ動作が行われ(ステップS204)、図6に示すサブ動作では、指入力が示すUIエリアAt(本実施の形態ではa1)が記憶部50に記憶される(ステップS401)。
次いで、図9(a)に示すように指入力T1がリリースされると、図2に示すステップS002において処理がステップS009〜S012に分岐し、指入力に対するリリース時制御フローが行われる(ステップS012)。図7に示すリリース時制御フローにおいては、図9(a)では合成UI起動中であるため、記憶されたUIエリア情報(At)を基にテレビリモコンアプリケーション(At=a1)の単体UI(b1)が起動されることになる(ステップS502)。
このように、本実施の形態によれば、ユーザは、第2の入力手段である指入力(サブ入力)を合成UIの所定エリアに行うだけで、ユーザが希望する単体UIを起動できるため、極めて簡単な操作で合成UIを単体UIに切り替えることが可能になる。
(第2実施の形態における単体UIから合成UIへのUI切換)
図10は、本発明の一実施の形態に係る携帯端末の単体UIから合成UIへのUI切換の様子を示す図である。図10(a)の携帯端末2のタッチパネル21には単体UIが表示されており、当該UIはテレビリモコンアプリケーションの単体UI(b1)である。図10(a)の携帯端末2に対して、サブ入力(第2の入力)である指による入力T1があると、携帯端末2のタッチパネル21は合成UIの表示(図10(b))に切り替わる。当該合成UIはテレビリモコンアプリケーションのUI(a1)、エアコンディショナーリモコンアプリケーションのUI(a2)及びビデオリモコンアプリケーションのUI(a3)の合成UIである。
本実施の形態においては、まず、図10(a)に示すように指入力T1があった際に、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは1であるため、ステップS106の処理1が行われる。図4に示す処理1においては、指入力(サブ入力)に対応した、サブ動作が行われ(ステップS204)、図6に示すサブ動作では、指入力が示すUIエリアAtが記憶部50に記憶される(ステップS401)。
次いで、図10(a)の指入力T1がリリースされると、図2に示すステップS002において処理がステップS009〜S012に分岐し、指入力に対するリリース時制御フローが行われる(ステップS012)。図7に示すリリース時制御フローにおいては、図10(a)では単体UI起動中であるため、再合成リストGの確認が行われるが、本実施例では再合成リストGは存在しないため、図10(b)に示すように以前の合成UI(a1〜a3)がタッチパネル21に表示される(ステップS505)。
このように、本実施の形態によれば、ユーザは、第2の入力手段である指入力(サブ入力)を単体UIに行うだけで合成UIを起動できるため、極めて簡単な操作で単体UIを合成UIに切り替えることが可能になる。
(第2実施の形態における合成UIの再合成)
図11は、本発明の一実施の形態に係る携帯端末の合成UIの再合成の様子を示す図である。図11(a)の携帯端末2のタッチパネル21には合成UIが表示されており、当該合成UIはテレビリモコンアプリケーションのUI(a1)、エアコンディショナーリモコンアプリケーションのUI(a2)及びビデオリモコンアプリケーションのUI(a3)の合成UIである。図11(a)の合成UIには、menuキーC1が含まれる。図11(a)の携帯端末2に対して、サブ入力(第2の入力手段)である指による入力T1があると、携帯端末2のタッチパネル21は単体UIの表示(図11(b))に切り替わる。この単体UIは、指入力T1の入力位置にあるテレビリモコンアプリケーションのUI(a1)を、単体インタフェース(b1)として表示したものである。図11(b)では、タッチパネル21を第2の入力手段である指(T2)で触れた状態で、第1の入力手段であるペンによる入力T3が映像キーC2に行われる。さらに、図11(b)の携帯端末2のタッチパネル21から指入力T2がリリースされると、携帯端末2のタッチパネル21は合成UIの表示(図11(c))に切り替わる。当該合成UIはテレビリモコンアプリケーションのUI(a1)、エアコンディショナーリモコンアプリケーションのUI(a2)及びビデオリモコンアプリケーションのUI(a3)の合成UIである。図11(c)の合成UIには、図11(b)で指示された映像キーC2が、menuキーC1の代わりに表示されている。
本実施の形態おいて、図11(a)の合成UIから図11(b)の単体UIへの切換については、第1の実施例と同等であるため、説明を省略する。
本実施の形態においては、図11(b)に示すように指入力T2があった際に、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは1であるため、ステップS106の処理1が行われる。図4に示す処理1においては、指入力(サブ入力)に対応した、サブ動作が行われ(ステップS204)、図6に示すサブ動作では、指入力が示すUIエリアAtが記憶部50に記憶される(ステップS401)。
図11(b)では、第2の入力手段である指入力T2が接触している状態で、ペン入力(第1の入力手段)T3がタッチパネル21に行われる。すると、処理は図2に示すステップS002〜S007まで進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは2であり、入力はペンであるため、ステップS107の処理2が行われる。図5に示す処理2においては、ペン入力と指入力による複数の入力に応じたUIオブジェクトの処理が行われ(ステップS302)、図8に示すとおり、タッチパネル21では単体UIが起動しているため、ペン入力が指示するUIオブジェクト(本実施例では映像キーC2)が再合成リストGに保存される(ステップS602)。なお、指入力T2がある状態でのペン入力T3のリリース動作は、図2に示すステップS011の分岐によって、UIの切換を生じさせることはない。
次いで、図11(b)の指入力T2がリリースされると、図2に示すステップS002において処理がステップS009〜S012に分岐し、指入力に対するリリース時制御フローが行われる(ステップS012)。図7に示すリリース時制御フローにおいては、図11(a)では単体UI起動中であるため、再合成リストGの確認が行われる。本実施例では映像キーC2を含む再合成リストGが存在するため、再合成リストGの内容を踏まえた合成UIの再合成(本実施例ではmenuキーC1と映像キーC2の置換)が行われる(ステップS504)。そして、当該再合成された合成UIがタッチパネル21に表示される(ステップS505)。なお、当該再合成においては、ペン入力によって指示されたUIオブジェクトを、合成UIに追加表示するようにしてもよいし、すでに合成UIに表示されていたUIオブジェクトのうち、優先度の低いもので置換表示するようにしてもよい。
このように、本実施の形態によれば、ユーザは、第2の入力手段である指入力(サブ入力)がタッチパネル上にある状態で、第1の入力手段であるペン入力(メイン入力)によって単体UI上のUIオブジェクトを指示することにより、極めて簡単な操作で、ユーザが希望するUIオブジェクトを合成UI上に表示させることが可能になる。
本発明は、上記各実施例に限定されるものではなく、幾多の変更及び変形が可能である。例えば、実施例においては、タッチセンサとして表面弾性方式のものを用いて説明したが、センサ方式のタッチセンサを用いても本発明は実現可能である。また、実施例では、PDAを挙げて説明してあるが、携帯電話のような携帯無線端末、携帯ゲーム機、携帯オーディオプレイヤー、携帯ビデオプレイヤー、携帯電子辞書、携帯電子書籍ビューワー等の携帯端末に幅広く本発明を適用することが可能である。さらに、メイン入力をペンとするとともにサブ入力を指とした場合について説明したが、メイン入力を指とするとともにサブ入力をペンとした場合についても本発明を適用することができ、入力数が3以上の場合にも本発明を適用することができる。
1 携帯電話
2 携帯端末
20、21 タッチパネル
24、23 表示部
22、25 入力部
10、80 制御部
11 アプリケーションプログラム実行部
12 ユーザインタフェース取得部
13 ユーザインタフェース生成部
14 計時部
15 ユーザインタフェースイベント処理部
30 無線通信部
40 赤外線通信部
50 記憶部
71 入力手段判定部
72 入力装置判定部
73 入力位置判定部
90 ユーザインタフェース制御部
91 オブジェクト制御部
50 記憶部
51 アプリケーション記憶領域
52 ユーザインタフェース定義ファイル記憶領域
53 個別ユーザインタフェースリソース記憶領域
54 共通ユーザインタフェースリソース記憶領域
55 関連アプリケーションプログラム情報記憶領域
56 合成ユーザインタフェース定義ファイル記憶領域
60 ユーザインタフェース合成処理部
61 ユーザインタフェースオブジェクト定義情報解析部
62 ユーザインタフェースオブジェクト選択処理部
63 合成ユーザインタフェース定義ファイル生成部
64 自動レイアウト処理部
65 ユーザインタフェースリソース整形部

Claims (5)

  1. 複数の単体用ユーザインタフェースオブジェクトの各々にユーザインタフェースオブジェクト対応付けて記憶可能な記憶部と、
    該記憶部記憶に基づいて、前記単体用ユーザインタフェースオブジェクトを表示するように制御可能で前記複数の単体用ユーザインタフェースオブジェクトから前記ユーザインタフェースオブジェクトを抽出して合成ユーザインタフェースオブジェクト群として表示するように制御可能な制御部と、
    前記単体用ユーザインタフェースオブジェクト及び前記合成ユーザインタフェースオブジェクト群のいずれかを表示可能な表示部と、
    第1入力及び第2入力を受け付け可能で、当該第1入力又は第2入力が受け付けられた位置を判定可能な入力部と、を有し、
    前記制御部は、前記合成ユーザインタフェースオブジェクト群が前記表示部に表示されているときに、
    前記入力部が前記第1入力を受け付けると、前記合成ユーザインタフェースオブジェクト群のうち、当該第1入力受け付けられた位置に対応して表示されている前記ユーザインタフェースオブジェクトに関する機能を実行するように制御し、
    前記入力部が前記第2入力を受け付けると、前記合成ユーザインタフェースオブジェクト群のうち、当該第2入力受け付けられた位置に対応して表示されている前記ユーザインタフェースオブジェクトが抽出された単体用ユーザインタフェースオブジェクトを表示するように制御する、
    ユーザインタフェース生成装置。
  2. 前記制御部前記単体用ユーザインタフェースオブジェクトを表示するように制御した場合に、前記入力部が更なる第2入力を受け付けると、前記合成ユーザインタフェースオブジェクト群を表示するように制御する、
    請求項1に記載のユーザインタフェース生成装置。
  3. 前記制御部は、
    前記合成ユーザインタフェースオブジェクト群が表示部に表示されているときに前記入力部が前記第2入力受け付けて、前記単体用ユーザインタフェースオブジェクトを表示するように制御した場合に当該第2入力の受け付けが継続されている間に前記単体用ユーザインタフェースオブジェクトのユーザインタフェースオブジェクトに対する第1入力を受け付けたに、当該第2入力の受け付けが解除されると、
    当該第1入力に対応した前記ユーザインタフェースオブジェクト、及び前記合成ユーザインタフェースオブジェクト群に含まれる前記ユーザインタフェースオブジェクトを再合成ユーザインタフェースオブジェクト群として表示するように制御する、
    請求項1または2に記載のユーザインタフェース生成装置。
  4. 前記制御部は、前記第2入力の受け付けが継続されている間に受け付けた前記第1入力に対応した前記ユーザインタフェースオブジェクトを、前記合成ユーザインタフェースオブジェクト群に追加して前記再合成ユーザインタフェースオブジェクト群として表示するように制御する
    請求項3記載のユーザインタフェース装置。
  5. 前記制御部は、前記第2入力の受け付けが継続されている間に受け付けた前記第1入力に対応した前記ユーザインタフェースオブジェクトを、前記合成ユーザインタフェースオブジェクト群に含まれるユーザインタフェースオブジェクトのうち、優先度の低いユーザインタフェースオブジェクトと置き換えて前記再合成ユーザインタフェースオブジェクト群として表示するように制御する
    請求項3記載のユーザインタフェース装置。
JP2010526769A 2008-08-28 2009-08-27 ユーザインタフェース生成装置 Expired - Fee Related JP5366955B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010526769A JP5366955B2 (ja) 2008-08-28 2009-08-27 ユーザインタフェース生成装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008220515 2008-08-28
JP2008220515 2008-08-28
PCT/JP2009/065007 WO2010024357A1 (ja) 2008-08-28 2009-08-27 ユーザインタフェース生成装置
JP2010526769A JP5366955B2 (ja) 2008-08-28 2009-08-27 ユーザインタフェース生成装置

Publications (2)

Publication Number Publication Date
JPWO2010024357A1 JPWO2010024357A1 (ja) 2012-01-26
JP5366955B2 true JP5366955B2 (ja) 2013-12-11

Family

ID=41721522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010526769A Expired - Fee Related JP5366955B2 (ja) 2008-08-28 2009-08-27 ユーザインタフェース生成装置

Country Status (5)

Country Link
US (1) US8726158B2 (ja)
JP (1) JP5366955B2 (ja)
KR (1) KR101256014B1 (ja)
CN (2) CN102132242A (ja)
WO (1) WO2010024357A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101715380B1 (ko) 2010-03-15 2017-03-10 삼성전자 주식회사 리모컨 및 그 제어방법, 디스플레이장치 및 그 제어방법, 디스플레이시스템 및 그 제어방법
JP5769975B2 (ja) * 2011-01-18 2015-08-26 京セラ株式会社 携帯電子機器
CN103186750B (zh) * 2011-12-28 2017-04-12 富泰华工业(深圳)有限公司 可防盗的触摸型便携式装置及防盗方法
ITTV20120139A1 (it) * 2012-07-25 2014-01-26 Isis S R L Metodo per il controllo e l'attivazione di una interfaccia utente contestuale e dispositivo e impianto con tale metodo e interfaccia
CN104755852B (zh) * 2013-02-20 2017-09-08 松下电器(美国)知识产权公司 便携信息终端及其控制方法
USD753669S1 (en) * 2013-10-10 2016-04-12 Healthmate International, LLC Display screen with graphical user interface
CN104969187A (zh) * 2013-11-22 2015-10-07 株式会社日立制作所 用户界面生成系统及生成方法
USD767591S1 (en) * 2013-12-31 2016-09-27 Beijing Qihoo Technology Co., Ltd. Display screen with a graphical user interface
USD766259S1 (en) * 2013-12-31 2016-09-13 Beijing Qihoo Technology Co. Ltd. Display screen with a graphical user interface
USD767592S1 (en) * 2013-12-31 2016-09-27 Beijing Qihoo Technology Co., Ltd. Display screen with a graphical user interface
USD766257S1 (en) * 2013-12-31 2016-09-13 Beijing Qihoo Technology Co. Ltd Display screen with a graphical user interface
USD765667S1 (en) * 2013-12-31 2016-09-06 Beijing Qihoo Technology Co. Ltd Display screen with a graphical user interface
USD766256S1 (en) * 2013-12-31 2016-09-13 Beijing Qihoo Technology Co. Ltd Display screen with a graphical user interface
US20150222691A1 (en) * 2014-02-06 2015-08-06 Google Inc. Hub Application Automation Widget
US9189207B2 (en) * 2014-03-11 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for dynamic runtime generation of customized applications
US10963539B2 (en) 2014-09-10 2021-03-30 Mk Systems Usa Inc. Interactive web application editor
US9432734B2 (en) 2014-09-10 2016-08-30 Telefonaktiebolaget L M Ericsson (Publ) Multi-person and multi-device content personalization
CN104298443A (zh) * 2014-09-19 2015-01-21 百度在线网络技术(北京)有限公司 一种用于呈现显示界面的方法、装置和系统
KR102386480B1 (ko) * 2015-10-05 2022-04-15 삼성전자주식회사 전자 기기의 입력 식별 방법 및 장치
CN105554552A (zh) * 2015-12-14 2016-05-04 福建新大陆通信科技股份有限公司 一种基于机顶盒的ui动态布局系统及方法
CN107797780B (zh) * 2016-08-31 2022-09-06 阿里巴巴集团控股有限公司 拼接屏幕的数据显示、控制方法及装置、系统、显示设备
JP6909961B2 (ja) 2017-04-21 2021-07-28 パナソニックIpマネジメント株式会社 表示方法、プログラム、及び、表示システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683522A (ja) * 1992-09-01 1994-03-25 Fujitsu Ltd 座標入力方式
JP2004235962A (ja) * 2003-01-30 2004-08-19 Sony Corp 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001036652A (ja) 1999-07-23 2001-02-09 Nippon Conlux Co Ltd 携帯電話機およびこれを利用した機器遠隔制御方法
JP2001069580A (ja) * 1999-08-31 2001-03-16 Matsushita Electric Ind Co Ltd Av機器コントロール装置
JP2002259035A (ja) * 2001-02-28 2002-09-13 Sony Corp グラフィカルユーザインターフェース及び情報処理装置の操作方法、情報処理装置、記録媒体並びにプログラム
JP4158105B2 (ja) * 2003-09-25 2008-10-01 ソニー株式会社 車載装置及び車載装置の制御方法
US7954064B2 (en) * 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
JP4757712B2 (ja) * 2006-05-31 2011-08-24 シャープ株式会社 複合機、複合機の制御方法、制御装置、制御装置の制御方法、複合機制御システム、制御プログラム、およびコンピュータ読み取り可能な記録媒体
KR20080044677A (ko) * 2006-11-17 2008-05-21 삼성전자주식회사 소프트 키보드를 이용한 리모트 컨트롤 장치, 그를 이용한문자입력방법 및 소프트 키보드를 이용한 디스플레이 장치
JP2008186095A (ja) * 2007-01-26 2008-08-14 Canon Inc 画像処理装置及び画像処理方法、及びプログラム
KR20080095085A (ko) * 2007-04-23 2008-10-28 삼성전자주식회사 회전 가능한 입력 수단을 이용한 사용자 인터페이스 방법및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683522A (ja) * 1992-09-01 1994-03-25 Fujitsu Ltd 座標入力方式
JP2004235962A (ja) * 2003-01-30 2004-08-19 Sony Corp 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
US20110167363A1 (en) 2011-07-07
WO2010024357A1 (ja) 2010-03-04
CN107066194A (zh) 2017-08-18
KR20110036635A (ko) 2011-04-07
CN102132242A (zh) 2011-07-20
US8726158B2 (en) 2014-05-13
KR101256014B1 (ko) 2013-04-18
JPWO2010024357A1 (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP5366955B2 (ja) ユーザインタフェース生成装置
JP5518716B2 (ja) ユーザインタフェース生成装置
JP5351165B2 (ja) ユーザインタフェース生成装置
JP5406176B2 (ja) ユーザインタフェース生成装置
KR101450640B1 (ko) 유저인터페이스생성장치
KR101239797B1 (ko) 터치 스크린을 구비한 전자 기기 및 이를 이용한 아날로그시계 제공 방법
JP5905220B2 (ja) タッチスクリーン端末機におけるメモ方法及び端末機
US9497313B2 (en) User interface generation apparatus
JP5200095B2 (ja) ユーザインタフェース生成装置
JP5249686B2 (ja) 情報処理装置及びプログラム
KR100703437B1 (ko) 휴대단말기에서 대기화면 디스플레이 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130910

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5366955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees