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

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

Info

Publication number
JP5518716B2
JP5518716B2 JP2010526770A JP2010526770A JP5518716B2 JP 5518716 B2 JP5518716 B2 JP 5518716B2 JP 2010526770 A JP2010526770 A JP 2010526770A JP 2010526770 A JP2010526770 A JP 2010526770A JP 5518716 B2 JP5518716 B2 JP 5518716B2
Authority
JP
Japan
Prior art keywords
input
user interface
unit
composite
display
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
JP2010526770A
Other languages
English (en)
Other versions
JPWO2010024358A1 (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 JP2010526770A priority Critical patent/JP5518716B2/ja
Publication of JPWO2010024358A1 publication Critical patent/JPWO2010024358A1/ja
Application granted granted Critical
Publication of JP5518716B2 publication Critical patent/JP5518716B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • 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/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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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
    • G06F3/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

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)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Description

関連出願へのクロスリファレンス
本出願は、日本国特許出願2008−220511号(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オブジェクトが表示されない場合があるなど、ユーザの利便性が損なわれる恐れがある。例えば、図25(a)の単体UIと図25(b)の合成UIを比較すると、テレビリモコンUIの数字キーに対応するUIオブジェクトが合成UIには含まれていない。そのため、このままではユーザは各放送局を直接選局することができない。また、合成UIのUIオブジェクトの変更や、各インタフェースが配置されるエリアのサイズ変更や入れ替えは、ユーザにとっての操作負荷が高い。
したがって、かかる事情に鑑みてなされた本発明の目的は、複数のアプリケーションプログラムのユーザインタフェースを合成した後でも、簡単な操作で合成UIの構成を変更することができるユーザインタフェース生成装置を提供することにある。
上述した諸課題を解決すべく、本発明の観点に係るユーザインタフェース生成装置は、
アプリケーションプログラムを記憶することが可能な記憶部と、
該記憶部に記憶されている前記アプリケーションプログラムに基づいて、
1つのユーザインタフェースの生成が指示されると、該指示されたユーザインタフェースに対応する単体用ユーザインタフェースオブジェクト群を表示し、
複数のユーザインタフェースの生成が指示されると、該指示された複数のユーザインタフェースの各々に対応する前記単体用ユーザインタフェースオブジェクト群から抽出したユーザインタフェースオブジェクトを合成処理して合成ユーザインタフェースオブジェクト群を表示するように制御する制御部と、
前記単体用ユーザインタフェースオブジェクト群、又は前記合成ユーザインタフェースオブジェクト群を表示する表示部と、
該表示部の前面に該表示部と関連付けて配設され、第1の入力手段による第1入力と第2の入力手段による第2入力を受け付ける入力部と、を有し、
該入力部が第1入力を受け付けると、
前記制御部は該第1入力の受け付け位置に対応した前記ユーザインタフェースオブジェクトの持つ機能を実行し、
前記制御部が前記合成ユーザインタフェースオブジェクト群を表示するように制御されている場合に、前記入力部が第2入力を受け付け、
当該第2入力の押下が継続されている間に、前記入力部が、前記合成ユーザインタフェースオブジェクト群の前記ユーザインタフェースオブジェクトを選択する第1入力を受け付けた場合に、
前記制御部は、
前記第1入力により選択された前記ユーザインタフェースオブジェクトを、
他のユーザインタフェースオブジェクトと変更するように再合成処理した合成ユーザインタフェースオブジェクト群を表示するように制御することを特徴とする。
また、前記第1入力は、前記合成ユーザインタフェースオブジェクト群の所定の範囲に含まれるユーザインタフェースオブジェクトを選択するものであることが望ましい。
また、前記制御部は、前記合成ユーザインタフェースオブジェクト群を表示するように制御するときに、複数の前記単体用ユーザインタフェースオブジェクト群から優先度の高いユーザインタフェースオブジェクトを抽出して合成処理し、
前記第2入力の押下が継続されている間に、前記第1入力により選択された前記ユーザインタフェースオブジェクトを、
複数の前記単体用ユーザインタフェースオブジェクト群に含まれるユーザインタフェースオブジェクトのうち、前記優先度の高いユーザインタフェースオブジェクトとして抽出されなかった優先度の低いユーザインタフェースオブジェクトと置き換えることにより前記再合成処理を行うことが望ましい。
本発明によれば、ユーザは簡単な操作で、合成ユーザインタフェースの構成を変更することができる。
本発明の第2実施の形態に係る携帯端末の構成を示す図である。 本発明の第2実施の形態に係る携帯端末の動作を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の入力時制御フローを示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の処理1を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の処理2を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末のUIオブジェクトのサブ動作を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末のリリース時制御フローを示すフローチャートである。 本発明の第2実施の形態に係る携帯端末のメイン及びサブ入力時の動作を示すフローチャートである。 本発明の第2実施の形態に係る携帯端末の合成UIの再合成例を示す図である。 本発明の第2実施の形態に係る携帯端末の合成UIの再合成例を示す図である。 本発明の第2実施の形態に係る携帯端末の合成UIの再合成例を示す図である。 本発明の第2実施の形態に係る携帯端末の合成UIの再合成例を示す図である。 本発明の第1実施の形態に係るユーザインタフェース生成装置の概略構成を示すブロック図である。 本発明のユーザインタフェース定義ファイルの構成を説明する概念図である。 本発明の合成ユーザインタフェース定義ファイルの構成を説明する概念図である。 本発明の第1実施の形態に係る単体のユーザインタフェースを示す図である。 本発明の第1実施の形態に係るユーザインタフェースオブジェクト属性情報である優先度を示す情報を説明する図である。 本発明の第1実施の形態に係るユーザインタフェース生成の全体処理を説明するフローチャートである。 本発明の第1実施の形態に係るユーザインタフェース生成処理を説明するフローチャートである。 本発明の第1実施の形態に係るユーザインタフェース合成処理を説明するフローチャートである。 本発明の第1実施の形態に係るユーザインタフェース合成処理により2つの単体ユーザインタフェースを合成した例を示す図である。 従来のリモートコントロール端末を携帯端末のユーザインタフェースで再現した状態を示す図である。 従来の携帯端末にて2つのユーザインタフェースを合成した例を示す図である。 携帯端末にて2つの単体ユーザインタフェースを合成した例を示す図である。 単体UI及び合成UIの一例を示す図である。
以下、本発明の各実施の形態について、図面を参照して説明する。以下の各実施の形態では、本発明のユーザインタフェース(以下、「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エリアの判定を行う(ステップS401)。制御部80は、指入力の入力範囲(指入力の接触範囲(面積)や、当該指入力を内部に含む所定の領域(例えば指入力周囲の四角形、円形形状などの領域)など)が合成UIに含まれる各インターフェース間の境界である場合には、指入力時(押下時)のエリア情報であるUIエリアAtに「UIエリア境界」フラグを設定する(ステップS402)。制御部80は、指入力が所定のUIエリアに対するものである場合には、当該UIエリアの情報をUIエリアAtに設定する(ステップS403)。制御部80は設定したUIエリアAtを記憶部50に記憶させる。なお、UIエリアAtとは、例えば、図25(b)に示す合成UIのa1〜a3、図25(a)に示す単体UIのb1に示す、それぞれのエリアのことをいうものである。UIエリアAtにUIエリア境界フラグが設定されている場合には(ステップS404でYes)、UI合成処理部60は、UIエリア境界を移動させ、合成UIの各UIエリアの大きさを変更するために合成UIの自動レイアウト処理を開始する(ステップS405)。自動レイアウト処理においては、UIエリア境界が、指入力の受け付けを終了した位置まで移動させるように、合成UIの再合成処理が行われる。UI合成処理部60は、指入力の座標変化に合わせ、各UIエリアの面積を計算し、当該面積に応じて表示するUIオブジェクトを選択し、合成UIを再構成する。当該自動レイアウト処理は、指がタッチパネル21からリリースされるまで継続して行われる。UIエリアAtがエリア境界でない場合には、自動レイアウト処理は行われずサブ動作は終了する(ステップS404のNo)。
図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は、入力i(1<i≦n)に対する接触座標(Xi,Yi)の位置にあるUIオブジェクトSiのオブジェクト定義情報をUI定義ファイル52から取得する(ステップS601)。当該オブジェクト定義ファイルの取得後の処理は、第1の入力手段であるペン入力の入力態様によって大別される。ペン入力がタッチパネル21上の個々のUIオブジェクトを指す場合など、UIオブジェクトを個別に指定する場合には、オブジェクト制御部91は、個別指定されたUIオブジェクトをリスト化し、再合成用リストGとして記憶部50に保存する(ステップS603)。ペン入力がタッチパネル21上で例えば円を描くように、合成UIの所定の範囲に含まれるUIオブジェクトを選択するものである場合には、オブジェクト制御部91は、当該所定の範囲内のUIオブジェクトをリスト化し、再合成用リストGとして記憶部50に保存する(ステップS602)。例えば、当該再合成用リストGは、合成UIに表示されるUIオブジェクトのうち、ユーザが他のUIオブジェクトとの入れ替えを希望するものをリスト化したものとすることができる。次に、UI生成部13のUI合成処理部60は、記憶部50を参照して再合成リストGがあるかどうかを確認する(ステップS604)。再合成リストGがある場合には、UI合成処理部60は、再合成リストGに含まれるUIオブジェクトと他のUIオブジェクトとを入れ替えたUIがタッチパネル21に表示されるように、合成UIのデータを再合成処理する。次いで、UI制御部90は再合成処理された合成UIをタッチパネル21に表示する(ステップS605)。当該再合成処理は、例えば、再合成リストGに含まれるUIオブジェクト(第1の入力手段により選択されたUIオブジェクト)と、他のUIオブジェクトとを変更するように行うことができる。また、当該再合成処理は、例えば、再合成リストGに含まれるUIオブジェクト(第1の入力手段により選択されたUIオブジェクト)と、他のUIオブジェクトとを変更するように行うことができる。また、特に、当該再合成処理は、再合成リストGに含まれるUIオブジェクトと、他のUIオブジェクトのうち、優先度の高いUIオブジェクトとを置換するように行うことができる。
図7は、図2のステップS012に示すリリース時制御フローの詳細を示すフローチャートである。制御部80は、入力位置判定部73から取得した指入力座標(Xn,Yn)を基に、指入力がリリースされた(第2入力の受け付けが終了した)UIエリアの判定を行う(ステップS501)。制御部80は、指入力がリリースされた際に、指入力の入力範囲がタッチパネル21の表示領域境界(例えば、タッチパネル21の表示部21の最も外側の領域、又は最も外側の領域より所定距離だけ内側の領域など。)を含む場合には、リリース時のエリア情報であるUIエリアBtに「表示領域境界」フラグを設定する(ステップS502)。制御部80は、指入力が所定のUIエリアに対するものである場合には、当該UIエリアの情報をUIエリアBtに設定する(ステップS503)。制御部80は、設定したUIエリアBtを記憶部50に記憶させる。なお、制御部80は、タッチパネル21の表示領域境界と指入力座標とが所定の距離より短い場合にも、当該指入力の入力範囲が表示領域境界を含むものと判定することができる。次に、制御部80は、記憶部50に記憶された入力時のエリア情報であるUIエリアAtを参照し、UIエリアAtにUIエリア境界フラグが設定されている場合には、自動レイアウト処理が行われているものと判断する(ステップS504)。自動レイアウト処理が行われていない場合には、制御部80は、リリース時のUIエリアBtの判定を行う(ステップS505)。リリース時のUIエリアBtが、入力時のUIエリアAtと異なる場合、UI合成処理部60はUI交換処理を行う(ステップS506)。当該UI交換処理では、UI合成処理部60は、リリース時のUIエリアBtに存在するインタフェースと、入力時のUIエリアAtに存在するインタフェースとを交換するように合成UIを再合成し、UI制御部90は、当該合成UIをタッチパネル21に表示する。リリース時のUIエリアBtが表示領域境界である場合、UI合成処理部60はUI合成パターン変更処理を行う(ステップS507)。当該UI合成パターン変更処理では、UI合成処理部60は、入力時のUIエリア構成とは異なるUIエリア構成により合成UIを再合成し、UI制御部90は当該合成UIをタッチパネル21に表示する。例えば、UI合成パターン変更処理においては、UI合成処理部60は、縦方向に並べてレイアウトされていた合成UIの各インタフェースの一部を横方向に並べてレイアウトすることにより、合成UIを再合成することができる。自動レイアウト処理が行われている場合には、制御部80は自動レイアウト処理を解除する(ステップS508)。なお、当該自動レイアウト処理の解除によって、指入力(第2入力)が終了した位置が確定し、UI合成処理部60は、合成UIの各インタフェースの表示領域間の境界を、指入力の開始位置から指入力の終了位置まで移動させるよう再合成処理を行う。
(第2実施の形態におけるUI交換処理)
図9は、本発明の第2実施の形態に係る携帯端末のUI交換処理(ステップS506)の様子を示す図である。図9(a)の携帯端末2のタッチパネル21には合成UIが表示されており、当該合成UIはメールアプリケーションのUI(a1)、テレビアプリケーションのUI(a2)及びWebブラウザアプリケーションのUI(a3)の合成UIである。図9(a)の携帯端末2に対して、第2の入力手段である指による入力(サブ入力)が開始位置T1で開始され、終了位置T2でリリースされると、携帯端末2のタッチパネル21の合成UIでは、開始位置T1のUIエリアAtに対応するテレビアプリケーションのUI(a2)と、終了位置T2のUIエリアBtに対応するメールアプリケーションのUI(a1)との位置が交換された表示(図9(b))に切り替わる。
本実施の形態においては、まず、図9(a)に示すように指入力が開始位置T1にあった際に、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは1であるため、ステップS106の処理1が行われる。図4に示す処理1においては、指入力(サブ入力)に対応した、サブ動作が行われ(ステップS204)、図6に示すサブ動作では、指入力が示すUIエリアAt(本実施の形態ではa1)が記憶部50に記憶される(ステップS403)。
次いで、図9(a)に示すように指入力が終了位置T2でリリースされると、図2に示すステップS002において処理がステップS009〜S012に分岐し、指入力に対するリリース時制御フローが行われる(ステップS012)。図7に示すリリース時制御フローにおいては、リリース時のUIエリアBt(本実施の形態ではa1)と入力時のUIエリアAt(本実施の形態ではa2)とが異なるため、BtとAtとの交換処理が行われる(ステップS506)。
このように、本実施の形態によれば、ユーザは、第2の入力手段である指による入力(サブ入力)を所定のUIエリアで開始し、他のUIエリアでリリースすることによって、極めて簡単な操作で合成UIのUIエリアを交換することが可能になる。
(第2実施の形態におけるUI合成パターン変更処理)
図10は、本発明の第2実施の形態に係る携帯端末のUI合成パターン変更処理(ステップS507)の様子を示す図である。図10(a)の携帯端末2のタッチパネル21には合成UIが表示されており、当該合成UIはメールアプリケーションのUI(a1)、テレビアプリケーションのUI(a2)及びWebブラウザアプリケーションのUI(a3)が縦方向に3段に表示された合成UIである。図10(a)の携帯端末2に対して、第2の入力手段である指による入力(サブ入力)が開始位置T1で開始され、指入力の入力範囲がタッチパネル21の表示領域境界を含む位置である終了位置T2で指がリリースされると、携帯端末2のタッチパネル21の合成UIでは、開始位置T1のUIエリアに対応するテレビアプリケーションのUI(a2)と、終了位置T2のUIエリアに対応するWebブラウザアプリケーションのUI(a3)との配置が、横方向の配置に変化した表示(図9(b))に切り替わる。
本実施の形態においては、まず、図10(a)に示すように指入力が開始位置T1にあった際に、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは1であるため、ステップS106の処理1が行われる。図4に示す処理1においては、指入力(サブ入力)に対応した、サブ動作が行われ(ステップS204)、図6に示すサブ動作では、指入力が示すUIエリアAt(本実施の形態ではa1)が記憶部50に記憶される(ステップS403)。
次いで、図10(a)に示すように指入力が終了位置T2でリリースされると、図2に示すステップS002において処理がステップS009〜S012に分岐し、指入力に対するリリース時制御フローが行われる(ステップS012)。図7に示すリリース時制御フローにおいては、リリース時のUIエリアBtがタッチパネル21の表示領域境界であるため、リリース時のUIエリアBtと入力時のUIエリアAtとの配置を変化させる処理が行われる(ステップS507)。なお、第2の入力手段である指入力の入力範囲が表示領域境界を含む場合とは、終了位置T2の範囲がタッチパネル21の表示領域の最も外側の領域を含む場合とすることができる。また、第2の入力手段である指入力の入力範囲が表示領域境界を含む場合とは、指入力の移動中に、第2の入力手段である指入力の周囲に入力範囲判定ウィンドウW1を表示させ、当該入力範囲判定ウィンドウW1がタッチパネル21の表示領域の最も外側の領域を含む場合とすることができる。
このように、本実施の形態によれば、ユーザは、第2の入力手段である指による入力(サブ入力)を所定のUIエリアで開始し、表示領域の境界で当該指示をリリースすることによって、極めて簡単な操作で合成UIのUIエリアの配置変更をすることが可能になる。
(第2実施の形態における自動レイアウト)
図11は、本発明の第2実施の形態に係る携帯端末の自動レイアウト(ステップS405)の様子を示す図である。図11(a)の携帯端末2のタッチパネル21には合成UIが表示されており、当該合成UIはテレビリモコンアプリケーションのUI(a4)、エアコンディショナーリモコンアプリケーションのUI(a5)及びビデオリモコンアプリケーションのUI(a6)の合成UIである。図9(a)の携帯端末2に対して、第2の入力手段である指による入力(サブ入力)が開始位置T1で開始され、終了位置T2でリリースされると、携帯端末2のタッチパネル21では、各UIエリア間の境界(点)の位置が移動し、各UIエリアの大きさ及び表示されるUIオブジェクトが変化した表示(図11(b))に切り替わる。
本実施の形態においては、まず、図11(a)に示すように指入力が開始位置T1にあった際に、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは1であるため、ステップS106の処理1が行われる。図4に示す処理1においては、指入力(サブ入力)に対応した、サブ動作が行われ(ステップS204)、図6に示すサブ動作では、UIエリアAtに「UIエリア境界」フラグが設定され(ステップS402)、自動レイアウト処理が開始される(ステップS405)。
次いで、図11(a)に示すように指入力が終了位置T2でリリースされると、図2に示すステップS002において処理がステップS009〜S012に分岐し、指入力に対するリリース時制御フローが行われる(ステップS012)。図7に示すリリース時制御フローにおいては、合成UIの自動レイアウト中であるため、自動レイアウトの解除が行われ、合成UIの各インタフェースの表示領域間の境界を、指入力の開始位置から指入力の終了位置まで移動させるよう再合成処理が行われる(ステップS508)。
このように、本実施の形態によれば、ユーザは、第2の入力手段である指による入力(サブ入力)を合成UI中の各インタフェース間の境界(点)で開始し、他の位置でリリースすることによって、極めて簡単な操作で合成UIの構成を変更することが可能になる。
(第2実施の形態に係るUI切換)
図12は、本発明の第2実施の形態に係る携帯端末のUI切換の様子を示す図である。図12(a)の携帯端末2のタッチパネル21には合成UIが表示されており、当該合成UIはテレビリモコンアプリケーションのUI(a4)、エアコンディショナーリモコンアプリケーションのUI(a5)及びビデオリモコンアプリケーションのUI(a6)の合成UIである。図12(a)合成UIには、menuキーB1及び切換キーB2が含まれる。図12(a)の携帯端末2に対して、第2の入力手段である指による入力(サブ入力)T3があり、タッチパネル21を指(T3)で触れた状態で、ペンによる入力T4がmenuキーB1及び切換キーB2の周囲を囲むように行われると、携帯端末2のタッチパネル21の合成UIでは、図12(a)で指示されたmenuキーB1及び切換キーB2が、音声キーB3及びB4が入れ替わった表示(図12(b))に切り替わる。
本実施の形態においては、図12(a)に示すように指入力T3があった際に、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは1であるため、ステップS106の処理1が行われる。図4に示す処理1においては、指入力(サブ入力)に対応した、サブ動作が行われ(ステップS204)、図6に示すサブ動作では、指入力が示すUIエリアAtが記憶部50に記憶される(ステップS401)。
図12(a)では、指入力T3が接触している状態で、ペン入力(メイン入力)T4がタッチパネル21に行われる。すると、図2に示すステップS002〜S007まで処理が進み、指入力に対する入力時制御フローが行われる。図3に示す入力時制御フローにおいては、入力数nは2であり、入力はペンであるため、ステップS107の処理2が行われる。図5に示す処理2においては、ペン入力と指入力による複数の入力に応じたUIオブジェクトの処理が行われる(ステップS302)。図8に示すとおり、タッチパネル21では、第1の入力手段であるペンによってUIオブジェクトが範囲指定されているため、ペン入力による指示範囲内のUIオブジェクト(本実施例ではmenuキーB1、切換キーB2)が再合成リストGに保存される(ステップS602)。なお、第1の入力手段であるペンによって、例えばmenuキーB1が個別に指定された場合には、当該ペン入力が指示したUIオブジェクト(menuキーB1)が再合成リストGに保存される。再合成リストGがある場合には、再合成リストGに含まれるUIオブジェクトと他のUIオブジェクトとを入れ替えたUIがタッチパネル21に表示されるように合成UIの再合成が行われる(ステップS605)。なお、指入力T2がある状態でのペン入力T3のリリース動作は、図2に示すステップS011の分岐によって、合成UIの再合成を生じさせることはない。
このように、本実施の形態によれば、ユーザは、第2の入力手段である指入力(サブ入力)がタッチパネル上にある状態で、第1の入力手段であるペン入力(メイン入力)によって合成UI上のUIオブジェクトを選択(個別選択又は範囲選択)することにより、極めて簡単な操作で、ユーザが希望するUIオブジェクトを合成UI上で置き換えて表示させることが可能になる。なお、再合成においては、ペン入力によって選択されたUIオブジェクトを合成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 (3)

  1. アプリケーションプログラムを記憶することが可能な記憶部と、
    該記憶部に記憶されている前記アプリケーションプログラムに基づいて、
    1つのユーザインタフェースの生成が指示されると、該指示されたユーザインタフェースに対応する単体用ユーザインタフェースオブジェクト群を表示し、
    複数のユーザインタフェースの生成が指示されると、該指示された複数のユーザインタフェースの各々に対応する前記単体用ユーザインタフェースオブジェクト群から抽出したユーザインタフェースオブジェクトを合成処理して合成ユーザインタフェースオブジェクト群を表示するように制御する制御部と、
    前記単体用ユーザインタフェースオブジェクト群、又は前記合成ユーザインタフェースオブジェクト群を表示する表示部と、
    該表示部の前面に該表示部と関連付けて配設され、第1の入力手段による第1入力と第2の入力手段による第2入力を受け付ける入力部と、を有し、
    該入力部が第1入力を受け付けると、
    前記制御部は該第1入力の受け付け位置に対応した前記ユーザインタフェースオブジェクトの持つ機能を実行し、
    前記制御部が前記合成ユーザインタフェースオブジェクト群を表示するように制御されている場合に、前記入力部が第2入力を受け付け、
    当該第2入力の押下が継続されている間に、前記入力部が、前記合成ユーザインタフェースオブジェクト群の前記ユーザインタフェースオブジェクトを選択する第1入力を受け付けた場合に、
    前記制御部は、
    前記第1入力により選択された前記ユーザインタフェースオブジェクトを、
    他のユーザインタフェースオブジェクトと変更するように再合成処理した合成ユーザインタフェースオブジェクト群を表示するように制御する、
    ユーザインタフェース生成装置。
  2. 前記第1入力は、前記合成ユーザインタフェースオブジェクト群の所定の範囲に含まれるユーザインタフェースオブジェクトを選択するものである、
    請求項1記載のユーザインタフェース生成装置。
  3. 前記制御部は、前記合成ユーザインタフェースオブジェクト群を表示するように制御するときに、複数の前記単体用ユーザインタフェースオブジェクト群から優先度の高いユーザインタフェースオブジェクトを抽出して合成処理し、
    前記第2入力の押下が継続されている間に、前記第1入力により選択された前記ユーザインタフェースオブジェクトを、
    複数の前記単体用ユーザインタフェースオブジェクト群に含まれるユーザインタフェースオブジェクトのうち、前記優先度の高いユーザインタフェースオブジェクトとして抽出されなかった優先度の低いユーザインタフェースオブジェクトと置き換えることにより前記再合成処理を行う、
    請求項1又は2記載のユーザインタフェース生成装置。
JP2010526770A 2008-08-28 2009-08-27 ユーザインタフェース生成装置 Expired - Fee Related JP5518716B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008220511 2008-08-28
JP2008220511 2008-08-28
JP2010526770A JP5518716B2 (ja) 2008-08-28 2009-08-27 ユーザインタフェース生成装置
PCT/JP2009/065008 WO2010024358A1 (ja) 2008-08-28 2009-08-27 ユーザインタフェース生成装置

Publications (2)

Publication Number Publication Date
JPWO2010024358A1 JPWO2010024358A1 (ja) 2012-01-26
JP5518716B2 true JP5518716B2 (ja) 2014-06-11

Family

ID=41721523

Family Applications (1)

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

Country Status (5)

Country Link
US (1) US8739074B2 (ja)
JP (1) JP5518716B2 (ja)
KR (1) KR101256016B1 (ja)
CN (1) CN102132243B (ja)
WO (1) WO2010024358A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5056875B2 (ja) * 2010-03-17 2012-10-24 ブラザー工業株式会社 印刷制御装置,プログラム,および印刷設定画面の表示方法
CN103492978B (zh) * 2010-10-05 2017-02-15 西里克斯***公司 用于远程化的应用的触摸支持
CN102609167A (zh) * 2011-01-25 2012-07-25 联想(北京)有限公司 电子设备及其显示方法
US8863232B1 (en) 2011-02-04 2014-10-14 hopTo Inc. System for and methods of controlling user access to applications and/or programs of a computer
US8904289B2 (en) * 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
US9767195B2 (en) 2011-04-21 2017-09-19 Touchstream Technologies, Inc. Virtualized hosting and displaying of content using a swappable media player
CN102426506A (zh) * 2011-09-30 2012-04-25 宇龙计算机通信科技(深圳)有限公司 编辑方法及编辑装置
US9823917B2 (en) * 2011-10-20 2017-11-21 Facebook, Inc. Update application user interfaces on client devices
US8839292B1 (en) * 2011-12-13 2014-09-16 Google Inc. Systems and methods for rendering multiple applications on television screens
JP5770121B2 (ja) * 2012-02-08 2015-08-26 株式会社東芝 手書き入力装置、手書き入力プログラム、手書き入力方法
CN102638716A (zh) * 2012-03-21 2012-08-15 华为技术有限公司 实现移动终端遥控电视的方法、装置和***
TW201349085A (zh) * 2012-05-22 2013-12-01 Pegatron Corp 多媒體檔案管理方法、數位媒體控制器以及多媒體檔案管理系統
US9419848B1 (en) 2012-05-25 2016-08-16 hopTo Inc. System for and method of providing a document sharing service in combination with remote access to document applications
US8713658B1 (en) 2012-05-25 2014-04-29 Graphon Corporation System for and method of providing single sign-on (SSO) capability in an application publishing environment
US10001918B2 (en) 2012-11-21 2018-06-19 Algotec Systems Ltd. Method and system for providing a specialized computer input device
USD845978S1 (en) 2013-01-23 2019-04-16 Yandex Europe Ag Display screen with graphical user interface
USD851663S1 (en) * 2013-04-05 2019-06-18 Thales Avionics, Inc. Display screen or portion thereof with graphical user interface
USD785014S1 (en) * 2013-04-05 2017-04-25 Thales Avionics, Inc. Display screen or portion thereof with graphical user interface
CN103607620B (zh) * 2013-11-22 2020-12-15 乐融致新电子科技(天津)有限公司 控制智能电视的移动通信终端方法及装置
JP5850033B2 (ja) * 2013-12-05 2016-02-03 横河電機株式会社 フィールド機器管理装置、機器情報表示方法、コンピュータプログラムおよび記録媒体
US20150264423A1 (en) * 2014-03-11 2015-09-17 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for dynamic runtime generation of customized applications
CN104219583B (zh) * 2014-09-05 2018-01-02 四川长虹电器股份有限公司 通过移动终端操作电视的用户界面的方法和***
CN104317498A (zh) * 2014-10-21 2015-01-28 天津三星通信技术研究有限公司 便携式终端及其操作方法
KR102386480B1 (ko) * 2015-10-05 2022-04-15 삼성전자주식회사 전자 기기의 입력 식별 방법 및 장치
KR102642923B1 (ko) * 2016-07-28 2024-03-05 삼성전자주식회사 외부 디바이스를 제어하기 위한 gui를 생성하는 디바이스 및 방법
JP6499384B2 (ja) * 2016-08-24 2019-04-10 ナーブ株式会社 画像表示装置、画像表示方法、及び画像表示プログラム
JP6278575B1 (ja) * 2016-11-21 2018-02-14 株式会社コナミデジタルエンタテインメント ゲーム制御装置、ゲームシステム、及びプログラム
JP6878934B2 (ja) * 2017-02-10 2021-06-02 オムロン株式会社 情報処理装置、情報処理システム、ユーザインターフェイスの作成方法、およびユーザインターフェイスの作成プログラム
KR102309031B1 (ko) * 2017-04-27 2021-10-06 삼성전자 주식회사 지능형 에이전트 관리 방법 및 장치
CN110035171B (zh) * 2018-01-12 2022-06-07 荷兰移动驱动器公司 电子设备及操作辅助方法
US11237851B1 (en) 2020-07-14 2022-02-01 Xerox Corporation Simultaneous generation of differently interactive device menus automatically from an initial device menu

Citations (5)

* 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 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP2006189998A (ja) * 2005-01-04 2006-07-20 Internatl Business Mach Corp <Ibm> ウィンドウ内におけるフレーム再配を行うためのグラフィカル・ユーザ・インタフェースを含む情報処理装置、フレームの再配置方法、およびプログラム
JP2007257220A (ja) * 2006-03-22 2007-10-04 Matsushita Electric Ind Co Ltd 表示装置
JP2008071357A (ja) * 2007-09-19 2008-03-27 Fujitsu Ltd 文書処理プログラム、および文書処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
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機器コントロール装置
US7299424B2 (en) * 2002-05-14 2007-11-20 Microsoft Corporation Lasso select
JP4158105B2 (ja) * 2003-09-25 2008-10-01 ソニー株式会社 車載装置及び車載装置の制御方法
US8169410B2 (en) * 2004-10-20 2012-05-01 Nintendo Co., Ltd. Gesture inputs for a portable display device
US8373651B2 (en) * 2005-07-15 2013-02-12 Research In Motion Limited Systems and methods for inputting data using multi-character keys
US7954064B2 (en) * 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US7773075B2 (en) * 2006-03-22 2010-08-10 Panasonic Corporation Display apparatus
JP2008186095A (ja) * 2007-01-26 2008-08-14 Canon Inc 画像処理装置及び画像処理方法、及びプログラム
US20090327975A1 (en) * 2008-06-27 2009-12-31 Stedman Roy W Multi-Touch Sorting Gesture

Patent Citations (5)

* 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 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP2006189998A (ja) * 2005-01-04 2006-07-20 Internatl Business Mach Corp <Ibm> ウィンドウ内におけるフレーム再配を行うためのグラフィカル・ユーザ・インタフェースを含む情報処理装置、フレームの再配置方法、およびプログラム
JP2007257220A (ja) * 2006-03-22 2007-10-04 Matsushita Electric Ind Co Ltd 表示装置
JP2008071357A (ja) * 2007-09-19 2008-03-27 Fujitsu Ltd 文書処理プログラム、および文書処理方法

Also Published As

Publication number Publication date
CN102132243B (zh) 2013-10-09
US20110154228A1 (en) 2011-06-23
CN102132243A (zh) 2011-07-20
WO2010024358A1 (ja) 2010-03-04
US8739074B2 (en) 2014-05-27
JPWO2010024358A1 (ja) 2012-01-26
KR20110038712A (ko) 2011-04-14
KR101256016B1 (ko) 2013-04-18

Similar Documents

Publication Publication Date Title
JP5518716B2 (ja) ユーザインタフェース生成装置
JP5366955B2 (ja) ユーザインタフェース生成装置
JP5351165B2 (ja) ユーザインタフェース生成装置
JP5406176B2 (ja) ユーザインタフェース生成装置
JP5431321B2 (ja) ユーザインタフェース生成装置
JP4955505B2 (ja) 携帯端末機及びその画面表示方法
KR101239797B1 (ko) 터치 스크린을 구비한 전자 기기 및 이를 이용한 아날로그시계 제공 방법
JP5200095B2 (ja) ユーザインタフェース生成装置
US9497313B2 (en) User interface generation apparatus
JP5371002B2 (ja) 携帯情報端末、コンピュータ読取可能なプログラムおよび記録媒体
JP5249686B2 (ja) 情報処理装置及びプログラム
EP2527964B1 (en) Portable terminal device having an enlarged-display function, method for controlling enlarged display, and computer-read-enabled recording medium
JP2003216182A (ja) 音声認識装置およびその制御方法、電話機

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131011

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: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140402

R150 Certificate of patent or registration of utility model

Ref document number: 5518716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees