JP6022131B1 - ユーザーインターフェイス装置、ユーザーインターフェイス表示方法 - Google Patents

ユーザーインターフェイス装置、ユーザーインターフェイス表示方法 Download PDF

Info

Publication number
JP6022131B1
JP6022131B1 JP2016540097A JP2016540097A JP6022131B1 JP 6022131 B1 JP6022131 B1 JP 6022131B1 JP 2016540097 A JP2016540097 A JP 2016540097A JP 2016540097 A JP2016540097 A JP 2016540097A JP 6022131 B1 JP6022131 B1 JP 6022131B1
Authority
JP
Japan
Prior art keywords
screen
screen layer
information
event delivery
input information
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.)
Active
Application number
JP2016540097A
Other languages
English (en)
Other versions
JPWO2016121620A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6022131B1 publication Critical patent/JP6022131B1/ja
Publication of JPWO2016121620A1 publication Critical patent/JPWO2016121620A1/ja
Active 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

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)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

ユーザー入力イベントを受け取るべき画面レイヤー以外に、ユーザー入力イベントを受け取らない画面レイヤーが重なって表示されている場合でも、効率的にユーザー入力イベントを配送すべき画面レイヤーを決定できる技術に関する。ユーザーインターフェイス装置は、取得部(102)と、送信部(103)と、判断部(107)と、決定部(104)とを備える。判断部では、送信部からの問い合わせ情報に基づいて、入力情報が各画面レイヤーにおいて受け付けられるか否かが複数の画面レイヤーに対して並行して判断される。決定部は、判断結果に基づいて画面レイヤーを決定する。

Description

本技術は、複数の画面レイヤーからなる画面を表示するユーザーインターフェイス装置に関するものである。
情報機器のユーザーインターフェイスとして、複数の画面レイヤーからなる画面を表示する装置が存在する。各画面レイヤーは、画面レイヤー上の領域に対してアルファ値とよばれる透過率を表す情報を保持している。各画面レイヤーは、アルファ値に基づいて重畳的に表示されることにより、特定の領域のみ下位の画面レイヤーを表示させたり、画面レイヤー同士が重なった場合に半透明の画像が重なっているように表示させたりすることが可能である。
このような装置において、ユーザーは複数の画面レイヤーが表示されている画面に対して、マウスのクリック又はタッチパネルのタップなどを行うことによって、特定のオブジェクトを選択する可能性がある。この時、ユーザーからの入力があったというイベントは、一般的に最前面の画面レイヤーにのみ送られる。しかし、ユーザーが選択しようとしているオブジェクトが最前面の画面レイヤーに表示されているものとは限らないため、ユーザーが選択したいオブジェクトを即座に選択することができないという問題が発生する。
この問題を解決する方法として、例えば、特許文献1においては、各画面レイヤーにしきい値を設定しておき、ユーザーからの入力を受け取る座標のアルファ値がしきい値を超えていた場合にはユーザー入力イベントを受け取り、当該座標のアルファ値がしきい値を下回った場合には、ユーザー入力イベントを下位の画面レイヤーに再配送する方法が開示されている。
また、例えば、特許文献2においては、ユーザー入力イベントの種類に対して各画面レイヤーの優先度があらかじめ設定されており、ユーザー入力イベントの種類と当該優先度とに応じて、ユーザー入力イベントの配送先が決定される方法が開示されている。
特許第4856756号公報 特許第4522533号公報
しかし、例えば、特許文献1に開示されているユーザー入力イベントの配送先決定方法では、ユーザー入力イベントを受け取るべき画面レイヤーの上位に、ユーザー入力イベントを受け取らない画面レイヤーが多数重なって表示されている場合には、上位の各画面レイヤーを順に探索していく必要がある。各画面レイヤーに表示されている表示内容は異なるプロセスによって描画されている場合が多く、上位の画面レイヤーを順に探索していると、画面レイヤー間の通信が大量に発生してしまう。その結果として、ユーザー入力イベントが実行されるまでに時間がかかってしまうという問題がある。
また、例えば、特許文献2に開示されているユーザー入力イベントの配送先決定方法では、1つの画面レイヤー内にユーザー入力イベントを受け取る領域とユーザー入力イベントを受け取らない領域とが混在する場合には、意図したようには動作できない場合がある。このような場合にも正しく高速に動作させるためには、画面レイヤー内の各領域に対する優先度をテーブルなどにあらかじめ保持しておく必要がある。しかし、このテーブルは、画面レイヤーに表示されているユーザー入力イベントを受け取るオブジェクトの位置又は形状などが変化した場合、さらには画面レイヤー自体の位置又は形状などが変化した場合に、それに合わせて変更する必要がある。したがって、オブジェクトの位置又は形状、さらには画面レイヤーの位置又は形状が頻繁に変化する場合、又はアニメーションのように連続的にそれらが変化する場合には、上記のテーブルの更新に時間がかかり、位置又は形状の変化が滑らかに表示されない可能性がある。また、ユーザー入力イベントの種類に応じて優先度を設定するテーブルを別途有する必要があるため、テーブルを記憶するための記憶領域も大量に必要となる。
本技術は、上記のような問題を解決するものであり、ユーザー入力イベントを受け取るべき画面レイヤー以外に、ユーザー入力イベントを受け取らない画面レイヤーが重なって表示されている場合であっても、効率的にユーザー入力イベントを配送すべき画面レイヤーを決定できるユーザーインターフェイス装置、および、ユーザーインターフェイス表示方法に関するものである。
本技術の一態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示可能なユーザーインターフェイス装置であり、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、複数の前記画面レイヤーのうちの最も上位の前記画面レイヤーから順に前記入力情報が受け付けられる前記画面レイヤーであるか否かを確認し、かつ、前記入力情報が受け付けられる前記画面レイヤーであると確認した時点で、当該画面レイヤーを前記入力情報が受け付けられる1つの前記画面レイヤーとして決定する決定部とを備える。
また、本技術の他の態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの一部の前記画面レイヤーに対して並行して判断し、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する前記画面レイヤーの数を、前記判断部における処理速度に応じて決定する。
また、本技術の他の態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの一部の前記画面レイヤーに対して並行して判断し、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する前記画面レイヤーの数を、前記判断部において用いるCPUの数に応じて決定する。
また、本技術の他の態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、前記判断部は、あらかじめ定められた切り替え条件を満たした場合、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、各前記画面レイヤーに対して逐次的に判断する。
本技術の一態様に関するユーザーインターフェイス表示方法は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示させるユーザーインターフェイス表示方法であり、外部からの入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信し、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断し、前記判断の結果に基づいて、複数の前記画面レイヤーのうちの最も上位の前記画面レイヤーから順に前記入力情報が受け付けられる前記画面レイヤーであるか否かを確認し、かつ、前記入力情報が受け付けられる前記画面レイヤーであると確認した時点で、当該画面レイヤーを前記入力情報が受け付けられる1つの前記画面レイヤーとして決定する。
本技術の一態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示可能なユーザーインターフェイス装置である。ユーザーインターフェイス装置は、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、複数の前記画面レイヤーのうちの最も上位の前記画面レイヤーから順に前記入力情報が受け付けられる前記画面レイヤーであるか否かを確認し、かつ、前記入力情報が受け付けられる前記画面レイヤーであると確認した時点で、当該画面レイヤーを前記入力情報が受け付けられる1つの前記画面レイヤーとして決定する決定部とを備える。
また、本技術の他の態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの一部の前記画面レイヤーに対して並行して判断し、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する前記画面レイヤーの数を、前記判断部における処理速度に応じて決定する。
また、本技術の他の態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの一部の前記画面レイヤーに対して並行して判断し、前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する前記画面レイヤーの数を、前記判断部において用いるCPUの数に応じて決定する。
また、本技術の他の態様に関するユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、外部からの入力情報を取得する取得部と、前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、前記判断部は、あらかじめ定められた切り替え条件を満たした場合、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、各前記画面レイヤーに対して逐次的に判断する。
このような構成によれば、ユーザー入力イベントを受け取るべき画面レイヤー以外に、ユーザー入力イベントを受け取らない画面レイヤーが重なって表示されている場合であっても、効率的にユーザー入力イベントを配送すべき画面レイヤーを決定できる。
本技術の一態様に関するユーザーインターフェイス表示方法は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示させるユーザーインターフェイス表示方法である。ユーザーインターフェイス表示方法は、外部からの入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信し、前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断し、前記判断の結果に基づいて、複数の前記画面レイヤーのうちの最も上位の前記画面レイヤーから順に前記入力情報が受け付けられる前記画面レイヤーであるか否かを確認し、かつ、前記入力情報が受け付けられる前記画面レイヤーであると確認した時点で、当該画面レイヤーを前記入力情報が受け付けられる1つの前記画面レイヤーとして決定する。
このような構成によれば、ユーザー入力イベントを受け取るべき画面レイヤー以外に、ユーザー入力イベントを受け取らない画面レイヤーが重なって表示されている場合であっても、効率的にユーザー入力イベントを配送すべき画面レイヤーを決定できる。
本技術の目的、特徴、局面及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。 実施形態に関するユーザーインターフェイス装置を実現するハードウェア構成の一例を示す図である。 イベント配送要否並行取得部における、各画面レイヤーに対するイベント配送要否の確認要求の処理の流れを示すフローチャートである。 各画面レイヤーに対し実施されるイベント配送要否の確認処理の流れを示すフローチャートである。 イベント配送要否統合部への結果送信の可否を判定する送信可否の判定処理の流れを示すフローチャートである。 イベント配送要否統合部におけるイベント配送要否の統合処理の流れを示すフローチャートである。 複数の画面レイヤーが重畳してなる画面の一例を示す図である。 1つ以上の画面レイヤーがイベント配送要否の確認結果を返信していない場合であっても、イベント配送要否の確認結果の送信を行う場合における、処理の流れを示すフローチャートである。 1つ以上の画面レイヤーがイベント配送要否の確認結果を返信していない場合であっても、イベント配送要否の確認結果の送信を行う場合における、処理の流れを示すフローチャートである。 実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。 イベント配送要否並行取得部における、各画面レイヤーに対するイベント配送要否の確認要求の処理の流れを示すフローチャートである。 イベント配送要否並行取得部の送信可否の判定処理の流れを示すフローチャートである。 処理装置のコア数を取得して並行取得数格納部に格納する処理のフローチャートである。 何も処理を実行していない又は使用率が少ない処理装置のコア数を取得して、並行取得数格納部に格納する処理を示すフローチャートである。 実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。 イベント配送要否並行取得部における、イベント配送要否の確認要求処理の流れを示すフローチャートである。 優先度格納部にアプリケーションの種類に応じた優先度が格納されている場合の、イベント配送要否の確認要求処理の流れを示すフローチャートである。 優先度格納部にユーザー入力イベントの種類に応じた優先度が格納されている場合の、イベント配送要否の確認要求処理の流れを示すフローチャートである。 優先度格納部にユーザーインターフェイス装置の状態に応じた優先度が格納されている場合の、イベント配送要否の確認要求処理の流れを示すフローチャートである。 優先度格納部に外部機器との接続状態に応じた優先度が格納されている場合の、イベント配送要否の確認要求処理の流れを示すフローチャートである。 実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。 イベント配送先決定方法切替部の処理の流れを示すフローチャートである。 イベント配送要否の確認が必要な画面レイヤー数によってイベント配送先決定方法を切り替える場合の処理の流れを示すフローチャートである。 処理装置のコア数に基づいてイベント配送先決定方法を切り替える場合の処理の流れを示すフローチャートである。 ユーザー入力イベントの種類がドラッグである際に、ドラッグイベントが続く限り最初にドラッグイベントを配送した画面レイヤーに対して配送し続ける場合の処理の流れを示すフローチャートである。 ドラッグ開始時のイベント配送要否統合部の処理の流れを示すフローチャートである。 ユーザー入力イベントの種類がドラッグであった場合の処理の流れを示すフローチャートである。 イベント配送要否統合部におけるイベント配送要否統合処理の流れを示すフローチャートである。 実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。
以下、添付の図面を参照しながら実施形態について説明する。なお、図面は模式的に示されるものであり、異なる図面にそれぞれ示されている画像のサイズ及び位置の相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得る。また、以下の説明では、同様の構成要素には同じ符号を付して図示し、それらの名称及び機能も同様のものとする。よって、それらについての詳細な説明を省略する場合がある。
また、以下の説明では、「上」又は「下」などの特定の位置及び方向を意味する用語が用いられる場合があるが、これらの用語は、実施形態の内容を理解することを容易にするため便宜上用いられているものであり、実際に実施される際の方向とは関係しない。
<第1実施形態>
<構成>
図29は、本実施形態に関するユーザーインターフェイス(以下、UIともいう)装置の構成を概念的に示す図である。
図29に示されるユーザーインターフェイス装置は、複数の画面レイヤーの少なくとも一部を重畳させて画面に表示可能なユーザーインターフェイス装置である。そして、ユーザーインターフェイス装置は、取得部1002と、送信部1003と、判断部1007と、決定部1004とを備える。
取得部1002は、外部からの入力情報を取得する機能部である。送信部1003は、入力情報が各画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する機能部である。判断部1007は、問い合わせ情報に基づいて、入力情報が各画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の画面レイヤーのうちの少なくとも2つの画面レイヤーに対して並行して判断する機能部である。決定部1004は、判断部1007における判断結果に基づいて、入力情報が受け付けられる少なくとも1つの画面レイヤーを決定する機能部である。
図1は、上記の本実施形態に関するユーザーインターフェイス(以下、UIともいう)装置の構成をさらに具体的に示す図である。
図1に示されるユーザーインターフェイス装置は、入力装置101と、ユーザー入力イベント取得部102と、イベント配送要否並行取得部103と、イベント配送要否統合部104と、イベント配送先決定部105と、イベント配送部106と、画面レイヤー管理部107と、画面レイヤー内情報格納部108と、イベント処理部109と、描画制御部110と、表示装置111とを備える。
図29に示される取得部1002は、図1に示されるユーザー入力イベント取得部102に対応する。図29に示される送信部1003は、図1に示されるイベント配送要否並行取得部103に対応する。図29に示される判断部1007は、図1に示される画面レイヤー管理部107に対応する。図29に示される決定部1004は、図1に示されるイベント配送要否統合部104に対応する。
入力装置101は、表示装置111において表示されているユーザーインターフェイスに対して、ユーザーが操作を行うための装置である。具体的には、マウス、タッチパネル、トラックボール、データグローブ又はスタイラスなどのポインティングデバイス、又は、キーボード又はマイクなどの音声入力装置、又は、カメラなどの画像又は映像入力装置、又は、脳波による入力装置、又は、モーションセンサなどのセンサ類などである。
ユーザー入力イベント取得部102では、入力装置101において行われた操作に対応するユーザー入力イベントが取得される。ここで、ユーザー入力イベントとは、入力装置101におけるあらゆる種類の操作を含む。例えば、マウスによるカーソルの移動、マウスの右ボタン又は左ボタンのクリック開始、マウスの右ボタン又は左ボタンのクリック終了、マウスのダブルクリック、マウスのドラッグ、マウスのホイール操作、マウスの移動による特定表示要素へのポインタの接近、マウスの移動による特定表示要素上へのポインタの移動、マウスの移動による特定表示要素外へのポインタの移動、タッチパネルによるタッチ、タッチパネルによるタップ、タッチパネルによるダブルタップ、タッチパネルによるホールド、タッチパネルによるフリック、タッチパネルによるスワイプ、タッチパネルによるピンチイン、タッチパネルによるピンチアウト、タッチパネルによるローテート、タッチパネル面への指などの接近、1本又は複数本の指を用いたジェスチャ操作、キーボードによるキーの押下、キーボードによるキーのリリース、又は、キーボードによる複数キーの同時操作などがある。また、時間、速度、加速度、複数ユーザーの組合せ又は複数の入力装置の組合せなどにより、独自又は新たなユーザー入力イベントを定義してもよい。なお、これらのユーザー入力イベントは一例であり、その他ユーザーの意図又は意思に起因するすべての操作をユーザー入力イベントとする。
イベント配送要否並行取得部103では、ユーザー入力イベント取得部102において取得されたユーザー入力イベントを必要としているかどうかについて、各画面レイヤーに対し時間的に並行して行われた判断結果(イベント配送要否)を取得する。具体的には、イベント配送要否並行取得部103が、画面レイヤー管理部107へユーザー入力イベントに関する情報を送信する。ここで、ユーザー入力イベントに関する情報とは、上記のユーザー入力イベントの種類、入力された位置、入力された時間または入力された速度などに関する情報である。ただし、座標情報を用いずに画面レイヤー全体としてイベント配送要否が定められているような場合も想定されるため、ユーザー入力イベントに関する情報に、座標情報などの数値または文字列が含まれていなくともよい。そして、画面レイヤー管理部107は、画面レイヤー管理部107において管理している各画面レイヤーに関する情報と受信したユーザー入力イベントに関する情報とを時間的に並行して照合し、当該ユーザー入力イベントが各画面レイヤーに必要とされているか(当該イベントの入力が受け付けられるか)に関する情報をイベント配送要否としてイベント配送要否並行取得部103へ送信する。
イベント配送要否統合部104では、イベント配送要否並行取得部103において取得された各画面レイヤーのイベント配送要否を統合し、ユーザー入力イベントを配送すべき画面レイヤーを決定する。イベント配送要否並行取得部103とイベント配送要否統合部104とを併せて、イベント配送先決定部105が実現されている。
イベント配送部106は、イベント配送要否統合部104において決定された画面レイヤーに対して、ユーザー入力イベントを配送する。
画面レイヤー管理部107は、各画面レイヤーの重畳関係などを管理する。また、画面レイヤー管理部107は、各画面レイヤーがユーザー入力イベントを受け付けられるかに関する情報を含む、各画面レイヤーに関する情報を管理する。
画面レイヤー内情報格納部108は、画面レイヤーの位置又は形状、表示されているオブジェクト、又は、ユーザー入力イベントを受け取る領域などの情報を格納する。
イベント処理部109は、イベント配送部106において配送されたユーザー入力イベントを対象の画面レイヤーにおいて処理する。処理結果によっては、画面レイヤー管理部107又は画面レイヤー内情報格納部108の内容を更新する。
描画制御部110では、イベント処理部109の処理結果、画面レイヤー管理部107の内容及び画面レイヤー内情報格納部108の内容に基づいて、表示装置111に表示する画面を描画する。表示装置111は、ディスプレイ又はタッチパネルといった、描画制御部110において描画した画面を出力するための装置である。
図2は、上記のUI装置を実現するハードウェア構成の一例を示す図である。
画面レイヤー内情報格納部108は、例えば、コンピューター201における、RAM又はハードディスクといった記憶装置203によって実現されるが、外部の記憶媒体によって実現されていてもよい。
また、ユーザー入力イベント取得部102と、イベント配送先決定部105に内包されるイベント配送要否並行取得部103及びイベント配送要否統合部104と、イベント配送部106と、画面レイヤー管理部107と、イベント処理部109と、描画制御部110とは、例えば、コンピューター201における、処理装置202でプログラムを実行することにより実現される。処理装置202は、実際に処理を実行するコアが複数内包されている場合であってもよい。入力装置101は、マウス205又はキーボード206などが対応する。表示装置111は、ディスプレイ204などが対応する。なお、入力装置101及び表示装置111のハードウェア構成としては、入力及び出力のどちらも行えるタッチパネルなども対応しうる。その場合には、入力装置101及び表示装置111のハードウェア構成は、同一の装置で実現されてもよい。
<動作>
図7は、複数の画面レイヤーが重畳してなる画面の一例である。図7の(a)部は、表示装置111に表示される画面を示している。また、図7の(b)部は、図7(a)部に表示される画面の、画面レイヤーのレイヤー構造を示している。
図7の(a)部に示された画面は、図7の(b)部に示されるように、画面レイヤー703、画面レイヤー702及び画面レイヤー701が下から順に重畳されて1つの画面を構成することにより表示されるものである。
図7の(b)部において、画面レイヤー701を最上位の画面レイヤーと呼称する。画面レイヤー703は最下位の画面レイヤーと呼称する。また、画面レイヤー702から見て画面レイヤー701のように重なった際に自身(すなわち画面レイヤー702)が隠される画面レイヤーを上位の画面レイヤー、画面レイヤー703のように重なった際に自身(すなわち画面レイヤー702)が表示される画面レイヤーを下位の画面レイヤーと呼称する。
このような画面を表示するユーザーインターフェイス装置における、ユーザーの操作入力からユーザー入力イベントの配送先画面レイヤーの決定までの動作の流れについて、以下に説明する。
まず、ユーザーは入力装置101において何らかの操作を実行する。操作された内容は、ユーザー入力イベント取得部102においてユーザー入力イベントとして取得される。
次に、現在、表示装置111において表示されている各画面レイヤーに対して、ユーザー入力イベント取得部102において取得されたユーザー入力イベントの配送要否の判断を時間的に並行して行い、イベント配送要否として取得する。
図3は、イベント配送要否並行取得部103における、各画面レイヤーに対するイベント配送要否の確認要求の処理の流れを示すフローチャートである。
イベント配送要否並行取得部103は、まず、各画面レイヤーに対してイベント配送要否の確認要求を送信する。
具体的には、まずステップST301に示されるように、イベント配送要否並行取得部103は、画面レイヤー管理部107から、イベント配送要否の確認要求を未だ受けていない最上位の画面レイヤーに関する情報を取得する。
次に、ステップST302に示されるように、ステップST301において取得された情報に対応する画面レイヤーに対し、イベント配送要否並行取得部103からイベント配送要否の確認要求が送信される。具体的には、イベント配送要否並行取得部103が画面レイヤー管理部107に対しユーザー入力イベントに関する情報を送信し、画面レイヤー管理部107における各画面レイヤーに関する情報との照合を各画面レイヤーに関して時間的に並行して行わせる。
次に、ステップST303に示されるように、イベント配送要否並行取得部103において、すべての画面レイヤーに対してイベント配送要否の確認要求が送信されたかどうかが確認される。すべての画面レイヤーに対してイベント配送要否の確認要求が送信されていた場合(Yes)には、イベント配送要否の確認要求処理を終了する。すべての画面レイヤーに対してイベント配送要否確認要求が送信されていない場合(No)は、ステップST301に戻る。
図4は、各画面レイヤーに対し実施されるイベント配送要否の確認処理の流れを示すフローチャートである。
画面レイヤー管理部107では、各画面レイヤーに対するイベント配送要否の確認要求が受信されると、他の画面レイヤーの処理と並行してイベント配送要否の確認処理が実施される。
具体的には、まずステップST401に示されるように、画面レイヤー管理部107において、画面レイヤー内情報格納部108から対応する画面レイヤーに関する情報が取得され、各画面レイヤーごとにユーザー入力イベントの配送要否が確認される。この場合、各画面レイヤーのイベント配送要否の確認方法は、特定の場合に限られるものではない。例えば、各画面レイヤーにしきい値を設定しておき、ユーザー入力イベントに対応する画面上の座標のアルファ値がしきい値を超えていた場合には当該ユーザー入力イベントを受け付け、ユーザー入力イベントに対応する画面上の座標のアルファ値がしきい値を超えていない場合には当該ユーザー入力イベントを受け付けないとする方法であってもよいし、画面レイヤーに関する情報自体がユーザー入力イベントに対する配送要否を保持する方法であってもよいし、画面レイヤー内の表示オブジェクトに問い合わせを行う方法であってもよい。
次に、ステップST402に示されるように、ステップST401において確認されたユーザー入力イベントの配送要否が各画面レイヤーからイベント配送要否並行取得部103に返信される。
図5は、イベント配送要否統合部104への結果送信の可否を判定する送信可否の判定処理の流れを示すフローチャートである。
イベント配送要否並行取得部103では、ステップST402において返信されたイベント配送要否の確認結果が受信されると、当該返信されたイベント配送要否の確認結果をイベント配送要否統合部104へ送信してよいか否かを判定する送信可否判定処理が実施される。
具体的には、まずステップST501に示されるように、イベント配送要否並行取得部103において、すべての画面レイヤーからイベント配送要否の確認処理の結果が返信されているか否かが判断される。すべての画面レイヤーからイベント配送要否確認処理の結果が返信されている場合(Yes)には、イベント配送要否並行取得部103は、すべての結果をイベント配送要否統合部104へ送信する(ステップST502を参照)。すべての画面レイヤーからイベント配送要否確認処理の結果が返信されていない場合(No)は、イベント配送要否並行取得部103は、何もせずに処理を終了する。この送信可否判定処理は、並行して処理されているすべてのイベント配送要否の確認処理の結果の返信に対して実施される。
図6は、イベント配送要否統合部104におけるイベント配送要否の統合処理の流れを示すフローチャートである。
イベント配送要否統合部104では、イベント配送要否並行取得部103において取得されたイベント配送要否が統合され、ユーザー入力イベントの配送先となる画面レイヤーが決定される。
具体的には、まずステップST601に示されるように、イベント配送要否統合部104は、画面レイヤー管理部107から未だ取得していない画面レイヤーの情報のうちから最上位の画面レイヤーの情報を取得する。
次に、ステップST602に示されるように、イベント配送要否統合部104において、イベント配送要否並行取得部103から取得されたイベント配送要否確認処理の結果を用いて、ステップST601において取得した情報に対応する画面レイヤーのイベント配送の要否を判断する。イベント配送が必要であった場合(Yes)は、ステップST603へ進む。イベント配送が必要でなかった場合(No)は、ステップST604へ進む。
ステップST603では、イベント配送が必要な画面レイヤーが判明したため、イベント配送要否統合部104において、ステップST601において取得した情報に対応する画面レイヤーを、ユーザー入力イベントの配送先画面レイヤーとして決定する。
一方で、ステップST604では、イベント配送要否統合部104において、画面レイヤー管理部107からすべての画面レイヤーに関する情報を取得したか否かを判断する。すべての画面レイヤーに関する情報を取得していた場合(Yes)は、ステップST605へ進む。すべての画面レイヤーを取得していない場合(No)は、ステップST601へ戻る。
ステップST605では、すべての画面レイヤーについてユーザー入力イベントの配送が必要ないため、イベント配送要否統合部104においてユーザー入力イベントの配送先画面レイヤーはなしと判断し、現在処理しているユーザー入力イベントの配送を行わずに処理を終了する。
このように、本実施形態では、ユーザー入力イベントの配送先画面レイヤーの決定する際に、すべての画面レイヤーに対して並行してユーザー入力イベントの配送要否の確認処理を実行することにより、ユーザー入力イベントを受け取るべき画面レイヤーの上位にユーザー入力イベントを受け取らない画面レイヤーが多数重畳されている場合においても、オブジェクト位置又は形状、又は、画面レイヤーの位置又は形状の変化の阻害、又は記憶領域の大量占有を行わずに、高速で配送先画面レイヤーを決定することが可能である。
<第2実施形態>
以下では、上記実施形態で説明された構成と同様の構成については同じ符号を付して図示し、その詳細な説明については適宜省略する。
第1実施形態においては、図5に示されるように、イベント配送要否並行取得部103における送信可否の判定処理として、すべての画面レイヤーのイベント配送要否の確認結果を取得した後に、イベント配送要否統合部104へイベント配送要否の確認結果を送信する動作が記載されている。しかし、可能であればすべての画面レイヤーのイベント配送要否の確認結果を取得する前に、イベント配送要否統合部104へイベント配送要否の確認結果を送信してもよい。
本実施形態では、各画面レイヤーのイベント配送要否の確認結果を、各画面レイヤーから並行して取得している際に、より早く取得を完了させるため、すべての画面レイヤーについてイベント配送要否の確認処理が完了していなくとも、条件によってイベント配送要否の確認結果の取得を終了し、その時点で取得したイベント配送要否の確認結果を、イベント配送要否並行取得部103がイベント配送要否統合部104へ送信する。
図8は、あらかじめ設定された条件が満たされた際に、1つ以上の画面レイヤーがイベント配送要否の確認結果を返信していない場合であっても、イベント配送要否並行取得部103がイベント配送要否統合部104へイベント配送要否の確認結果の送信を行う場合における、処理の流れを示すフローチャートである。
図8において、図5における場合と同一の符号を付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST801に示されるように、イベント配送要否の確認結果が返信された際に、イベント配送要否並行取得部103において、当該イベント配送要否の確認結果の受信が、設計者によってあらかじめ設定された条件を満たしているか否かが判断される。条件が満たされた場合(Yes)はステップST802へ進み、満たされていない場合(No)はステップST501へ進む。
ステップST802では、イベント配送要否並行取得部103が、現在処理を実行している各画面レイヤーに対して処理の中断を指示する。
また、より具体的には、イベント配送要否の確認結果が返信された際に、イベント配送要否の確認結果を返信した画面レイヤーよりも上位に存在するすべての画面レイヤーがすでにイベント配送要否の確認結果を返信していた場合、イベント配送要否の確認結果を返信した画面レイヤーよりも下位に存在する画面レイヤーがイベント配送要否の確認結果を返信していないとしても、イベント配送要否の統合処理に影響を及ぼさないため、イベント配送要否の確認結果の送信を行ってもよい。
図9は、イベント配送要否の確認結果が返信された際に、イベント配送要否の確認結果を返信した画面レイヤーよりも上位に存在するすべての画面レイヤーがすでにイベント配送要否の確認結果を返信していた場合、イベント配送要否の確認結果を返信した画面レイヤーよりも下位に存在する画面レイヤーがイベント配送要否の確認結果を返信していないとしても、イベント配送要否並行取得部103がイベント配送要否統合部104へイベント配送要否の確認結果の送信を行う場合における、処理の流れを示すフローチャートである。
図9において、図5における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST901に示されるように、イベント配送要否の確認結果が返信された際に、イベント配送要否並行取得部103において、当該イベント配送要否の確認結果を返信した画面レイヤーよりも上位の画面レイヤーすべてのイベント配送要否の確認結果がすでに取得されているか否かを判断する。取得済みであった場合(Yes)は、ステップST902へ進む。取得済みでない場合(No)は、即座に処理を終了する。
ステップST902では、イベント配送要否並行取得部103が、イベント配送要否の確認結果がユーザー入力イベントの配送を必要とするものか否かを判断する。イベント配送要否の確認結果がユーザー入力イベントの配送を必要とするものであった場合(Yes)は、ステップST903へ進む。イベント配送要否の確認結果がユーザー入力イベントの配送を必要とするものでなかった場合(No)は、ステップST501へ進む。
ステップST903では、イベント配送要否並行取得部103が、現在処理を実行している各画面レイヤーに対して処理の中断を指示する。
なお、上記の例では、各画面レイヤーのイベント配送要否の確認処理が終了した際に、あらかじめ設定された条件が満たされた場合にイベント配送要否の確認結果をイベント配送要否並行取得部103からイベント配送要否統合部104へ送信していたが、この処理を、イベント配送要否並行取得部103ではなくイベント配送要否統合部104で行うこともできる。すなわち、イベント配送要否並行取得部103を経由せずに、イベント配送要否統合部104においてあらかじめ設定された条件が満たされた場合に、すぐにユーザー入力イベントの配送先画面レイヤーを決定する処理を行ってもよい。
このように、本実施形態では、すべての画面レイヤーに対してイベント配送要否の確認処理が完了していなくとも、イベント配送要否統合部104へイベント配送要否の確認結果を送信し、さらにイベント配送要否統合部104において、複数の画面レイヤーのうちの一部の画面レイヤーに関する判断結果に基づいてユーザー入力イベントが受け付けられる画面レイヤーを決定することが可能であるため、より高速にユーザー入力イベントの配送先画面レイヤーを決定することが可能となる。
<第3実施形態>
以下では、上記実施形態で説明された構成と同様の構成については同じ符号を付して図示し、その詳細な説明については適宜省略する。
第1実施形態においては、図3に示されるように、イベント配送要否並行取得部103におけるイベント配送要否の確認要求処理において、すべての画面レイヤーに対して画面レイヤー管理部107においてイベント配送要否の確認処理を実行するように要求していたが、イベント配送要否の確認処理を実行するよう要求する画面レイヤー数を制限してもよい。同時並行的にイベント配送要否の確認処理を実行する場合においても、処理装置202の各コアが実行可能な処理には限りがあるため、各コアが実行する処理数を制限することにより各々の処理を高速化することが可能である。
図10は、本実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。
図10に示されるユーザーインターフェイス装置の構成のうち、図1に示されたユーザーインターフェイス装置の構成と同様であるものについては同一の符号を付し、ここでの説明は省略する。
本実施形態では、ユーザーインターフェイス装置は、同時並行的にイベント配送要否の確認処理を実行する画面レイヤー数を格納している並行取得数格納部1001を備える。並行取得数格納部1001は、例えば、コンピューター201における、RAM又はハードディスクといった記憶装置203によって実現されるが、外部の記憶媒体によって実現されていてもよい。
イベント配送要否並行取得部103がイベント配送要否の確認要求処理を実施する際に、並行取得数格納部1001に格納された値を基にイベント配送要否の確認処理を実行するよう要求する画面レイヤー数を決定する。並行取得数格納部1001に格納される画面レイヤー数は、例えば、画面レイヤー管理部107における処理速度に応じて定められる。
図11は、本実施形態におけるイベント配送要否並行取得部103における、各画面レイヤーに対するイベント配送要否の確認要求の処理の流れを示すフローチャートである。
図11において、図3における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST1101に示されるように、イベント配送要否並行取得部103が、並行取得数格納部1001に格納された値を取得する。
ステップST1102では、イベント配送要否並行取得部103が、ステップST1101において取得された値に基づいた数の画面レイヤーへ、イベント配送要否の確認要求を送信したか否かを判断する。送信していた場合(Yes)は処理を終了する。送信していない場合(No)は、ステップST301へ戻る。
図12は、本実施形態に関するイベント配送要否並行取得部103の送信可否の判定処理の流れを示すフローチャートである。
図12において、図5における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST1101に示されるように、イベント配送要否並行取得部103において、並行取得数格納部1001に格納された値に基づいた数の画面レイヤーが画面レイヤー管理部107において並行処理され、そのイベント配送要否の確認結果が返信されたか否かが判断される。並行取得数格納部1001に格納された値に基づいた数の画面レイヤーからイベント配送要否の確認結果が返信されている場合(Yes)には、ステップST1202へ進む。並行取得数格納部1001に格納された値に基づいた数の画面レイヤーからイベント配送要否の確認結果が返信されていない場合(No)には、処理を終了する。
なお、並行取得数格納部1001へ値を格納する方法及び並行取得数格納部1001に格納された値の利用方法は、どのような方法であってもよい。例えば、設計者があらかじめ並行取得数格納部1001へ値を格納しておき、本実施形態に関するユーザーインターフェイス装置の動作実行中は、常に同じ値あってもよい。また、並行取得数格納部1001に格納された値が直接利用されてもよいし、並行取得数格納部1001に格納された値に基づいて演算された結果が利用されてもよい。
また、格納される情報は値、文字列、リスト又はバイナリなど、利用される際に解釈可能であればどのような形式のデータであってもよいが、本実施形態では、値である場合の例について説明している。以下、並行取得数格納部1001へ値が格納される方法及び並行取得数格納部1001に格納された値の利用方法に関する具体例を説明する。
一例として、同時並行的にイベント配送要否の確認処理を実行する場合、その処理速度は処理装置202のコア数、すなわち、中央演算処理装置(Central Processing Unit、すなわちCPU)の数に依存するため、処理装置202のコア数を取得し、並行取得数格納部1001へ格納する方法について説明する。
図13は、処理装置202のコア数を取得して並行取得数格納部1001に格納する処理のフローチャートである。
まず、ステップST1301に示されるように、処理装置202のコア数に関する情報が外部から取得される。次に、ステップST1302に示されるように、取得されたコア数に関する情報が並行取得数格納部1001に格納される。
この時、並行取得数格納部1001へ値を格納するタイミングは、イベント配送要否並行取得部103の処理が実行されるまでであればよく、一例としては、ユーザーインターフェイス装置の起動時に格納しておく方法がある。この格納処理は、処理装置202のコア数が変動しない場合は、いずれかのタイミングで一度だけ実行すればよい。一方で、処理装置202のコア数が変動する場合には、イベント配送要否並行取得部103の処理の実行前又は処理装置202のコア数が変動した際に再度格納処理を実行する必要がある。
一例として、処理装置202が他のアプリケーションの処理などイベント配送要否並行取得部103の処理以外の処理を実行している場合もあるため、何も処理を実行していない又は使用率が少ない処理装置202のコア数を取得し、並行取得数格納部1001へ格納する方法について説明する。なお、しきい値となる使用率はあらかじめ決めておいてもよいし、実行中に動的に変動させてもよい。
図14は、何も処理を実行していない又は使用率が少ない処理装置のコア数を取得して、並行取得数格納部1001に格納する処理を示すフローチャートである。
まず、ステップST1401では、何も処理を実行していない又は使用率が少ない処理装置のコア数に関する情報が取得される。次に、ステップST1402では、取得されたコア数に関する情報が並行取得数格納部1001に格納される。
この時、並行取得数格納部1001へ値を格納するタイミングは、イベント配送要否並行取得部103の処理が実行される直前が望ましいが、これに限定されない。例えば、処理装置202が実行している処理を監視しておき、処理を実行していない処理装置202のコア数が変動した際に、並行取得数格納部1001へ値を格納する方法もある。
このように、本実施形態では、画面レイヤー管理部107において同時並行的に実行されるイベント配送要否の確認要求処理の数を制限することによって各々の処理を高速化し、これを逐次的に実行することができるため、特に、イベント配送要否の確認要求を送信する順番が早く回ってくる画面レイヤーがユーザー入力イベントを必要としている場合に、ユーザー入力イベント配送先画面レイヤーを高速に決定することが可能である。
<第4実施形態>
以下では、上記実施形態で説明された構成と同様の構成については同じ符号を付して図示し、その詳細な説明については適宜省略する。
第1実施形態においては、図3に示されるように、イベント配送要否並行取得部103におけるイベント配送要否の確認要求処理において、最上位の画面レイヤーから順番にイベント配送要否の確認要求を送信していたが、各画面レイヤーに優先順位を設定し、優先順位にしたがってイベント配送要否の確認要求を送信してもよい。
優先順位を設定することにより、処理装置202の各コアに割り当てられる処理を平準化すること、又はユーザー入力イベントを受け取る可能性が高い画面レイヤーのイベント配送要否の確認処理を早めに実行することが可能となる。これは第2実施形態及び第3実施形態に示されるように、すべての画面レイヤーに対してイベント配送要否の確認要求を送信しなくとも、ユーザー入力イベントの配送先画面レイヤーを決定可能な場合に特に効果が高い。
図15は、本実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。
図15に示されるユーザーインターフェイス装置の構成のうち、図1に示されたユーザーインターフェイス装置の構成と同様であるものについては同一の符号を付し、ここでの説明は省略する。
本実施形態では、ユーザーインターフェイス装置は、イベント配送要否の確認要求を送信する優先順位を決定するための優先度を格納している優先度格納部1501を備える。優先度格納部1501は、例えば、コンピューター201における、RAM又はハードディスクといった記憶装置203によって実現されるが、外部の記憶媒体によって実現されていてもよい。
イベント配送要否並行取得部103がイベント配送要否の確認要求処理を実行する際に、優先度格納部1501に格納されている優先度を基に各画面レイヤーに対してイベント配送要否の確認要求を送信する。
図16は、本実施形態におけるイベント配送要否並行取得部103における、イベント配送要否の確認要求処理の流れを示すフローチャートである。
図16において、図3における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST1601に示されるように、イベント配送要否並行取得部103が、優先度格納部1501から各画面レイヤーに対する優先度を取得する。
ステップST1602では、イベント配送要否並行取得部103が、イベント配送要否の確認要求を未だ送信していない画面レイヤーの中で最も優先度が高い画面レイヤーを取得する。
なお、優先度格納部1501へ優先度を格納する方法及び優先度格納部1501に格納された優先度の利用方法は、どのような方法であってもよい。例えば、設計者があらかじめ優先度を格納しておき、本実施形態に関するユーザーインターフェイス装置が動作実行中は、常に同じ値あってもよい。また、優先度格納部1501に格納された優先度が直接利用されてもよいし、優先度格納部1501に格納された優先度に基づいて演算された結果が利用されてもよい。
また、格納する情報は値、文字列、リスト又はバイナリなど、利用される際に解釈可能であればどのような形式のデータであってもよい。以下、本実施形態に関する優先度格納部1501への優先度の格納方法及び優先度格納部1501に格納された優先度利用方法に関する具体例を説明する。
一例として、アプリケーションの種類に応じて優先度を設定している場合について説明する。
本実施形態に関するユーザーインターフェイス装置では、地図を表示するアプリケーション又は映像を表示するアプリケーションなど、様々なアプリケーションが同時に動作している場合がある。これらのアプリケーションは、表示すべき内容を画面レイヤー上に表示しており、他の画面レイヤーと同様にユーザー入力イベントを受け取る可能性がある。この例では、表示されているアプリケーションに応じてイベント配送要否の確認要求を送信する順番を決定する。
例えば、映像を表示するアプリケーションの優先度よりも地図を表示するアプリケーションの優先度が高い場合は、地図を表示するアプリケーションを表示している画面レイヤーに対して、先にイベント配送要否の確認要求が送信される。
図17は、優先度格納部1501にアプリケーションの種類に応じた優先度が格納されている場合の、イベント配送要否並行取得部103における、イベント配送要否の確認要求処理の流れを示すフローチャートである。
図17において、図16における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST1701に示されるように、イベント配送要否並行取得部103が、優先度格納部1501からアプリケーションの種類に応じた優先度を取得する。
ステップST1702では、イベント配送要否並行取得部103が、イベント配送要否の確認要求を送信していない画面レイヤーの中で最も優先度の高いアプリケーションを表示している画面レイヤーを取得する。なお、アプリケーションを表示していない画面レイヤーについては、どのような優先順位であっても構わない。例えば、アプリケーションを表示している画面レイヤーにイベント配送要否の確認要求を送信した後に、アプリケーションを表示していない画面レイヤーにイベント配送要否の確認要求を送信する方法でもよい。また、アプリケーションを複数表示している画面レイヤーが存在する場合には、その画面レイヤーに対しどのように優先順位を決定してもよい。例えば、どちらか一方の優先度を利用してもよいし、複数のアプリケーションを表示しているものを最優先にしてもよい。
一例として、ユーザー入力イベントの種類に応じて優先度を設定している場合について説明する。ユーザー入力イベントの種類は第1実施形態において説明されたように様々な種類が存在している。この例では、ユーザー入力イベントの種類1つ1つに対して優先度が設定されているものとし、各ユーザー入力イベントの種類に応じてイベント配送要否の確認要求を送信する順番を決定する。
図18は、優先度格納部1501にユーザー入力イベントの種類に応じた優先度が格納されている場合の、イベント配送要否並行取得部103における、イベント配送要否の確認要求処理の流れを示すフローチャートである。
図18において、図16における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST1801に示されるように、イベント配送要否並行取得部103が、ユーザー入力イベントの種類を取得する。
ステップST1802では、取得されたユーザー入力イベントの種類に応じて、イベント配送要否並行取得部103が、優先度格納部1501から優先度を取得する。ここで、優先度格納部1501に格納されている優先度は、必ずしもユーザー入力イベントの種類と1対1対応している必要はなく、いくつかの種類を同じ種類とみなして格納する優先度を減らしてもよい。
一例として、ユーザーインターフェイス装置の状態に応じて優先度を設定している場合について説明する。ユーザーインターフェイス装置は、その時々の状態によって様々に振る舞いを変更する場合がある。例えば、車載情報機器においては、走行中の状態と停車中の状態とがあり、走行中は特定の操作又は入力ができない場合がある。ユーザーインターフェイス装置の状態に応じて、イベント配送要否並行取得部103に入力されうるユーザー入力イベントの種類が制限されるため、イベント配送要否並行取得部103におけるユーザー入力イベントの受け入れ種類を特定することができる。この例では、優先度格納部1501にユーザーインターフェイス装置の各状態に応じ優先度が設定されているものとして、ユーザーインターフェイス装置の各状態に応じてイベント配送要否の確認要求を送信する順番を決定する。
図19は、優先度格納部1501にユーザーインターフェイス装置の状態に応じた優先度が格納されている場合の、イベント配送要否並行取得部103における、イベント配送要否の確認要求処理の流れを示すフローチャートである。
図19において、図16における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST1901に示されるように、イベント配送要否並行取得部103が、ユーザーインターフェイス装置の状態を取得する。
ステップST1902では、イベント配送要否並行取得部103が、取得したユーザーインターフェイス装置の状態に応じて優先度格納部1501から優先度を取得する。ユーザーインターフェイス装置の状態は、車載情報機器における走行中及び停車中といった状態に限らず、その他どのような状態であってもよい。
一例として、外部機器との接続状態に応じて優先度を設定している場合について説明する。ユーザーインターフェイス装置は、スマートフォン又はタブレットなどの様々な外部機器と接続されて、外部機器のアプリケーション又は表示内容を画面レイヤーに表示する場合が存在する。外部機器との通信は、ユーザーインターフェイス装置内部での通信と比べて遅い傾向にあるため、外部機器との接続状況に応じて外部機器の情報を表示している画面レイヤーの優先度を上げる又は下げるというように優先度を変更させることで、イベント配送要否の確認要求処理を効率的に行える場合がある。
図20は、優先度格納部1501に外部機器との接続状態に応じた優先度が格納されている場合の、イベント配送要否並行取得部103における、イベント配送要否の確認要求処理の流れを示すフローチャートである。
図20において、図16における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST2001に示されるように、イベント配送要否並行取得部103が、外部機器との接続状態を取得する。
ステップST2002では、取得した外部機器との接続状態に応じて、イベント配送要否並行取得部103が、優先度格納部1501から優先度を取得する。この例における外部機器はスマートフォン又はタブレットなどに限らず、いかなる外部機器であってもよい。
このように、本実施形態では、各画面レイヤーに対してイベント配送要否の確認要求を実行する順番を優先順位によって決定することによって、効率的なイベント配送要否の確認要求処理を実行することが可能である。
<第5実施形態>
以下では、上記実施形態で説明された構成と同様の構成については同じ符号を付して図示し、その詳細な説明については適宜省略する。
第1実施形態においては、いかなる場合においても、各画面レイヤーにおいてイベント配送要否の確認処理を同時並行的に実行していたが、場合によっては従来の方法を含む別の方法を使用して、イベント配送先を決定した方が高速である場合が存在する。そのため、第1実施形態におけるイベント配送先決定方法とは別のイベント配送先決定方法を切り替えて使用してもよい。
図21は、本実施形態に関するユーザーインターフェイス装置の構成を概念的に示す図である。
図21に示されるユーザーインターフェイス装置の構成のうち、図1に示されたユーザーインターフェイス装置の構成と同様であるものについては同一の符号を付し、ここでの説明は省略する。
本実施形態では、ユーザーインターフェイス装置は、どのイベント配送先決定方法を使用するか判断するイベント配送先決定方法切替部2101と、第1実施形態に示されたイベント配送先決定方法とは異なるイベント配送先決定方法を実行する第2イベント配送先決定部2102とを備える。イベント配送先決定方法切替部2101及び第2イベント配送先決定部2102は、例えば、コンピューター201における、処理装置202でプログラムを実行することにより実現される。
イベント配送先決定方法切替部2101と、第2イベント配送先決定部2102とを備えることにより、イベント配送先決定方法切替部2101における判断結果に基づいて、第2イベント配送先決定部2102が、イベント配送先決定方法を切り替えることが可能である。
図21においては、別のイベント配送先決定方法を選択するための構成として第2イベント配送先決定部2102のみが備えられているが、別のイベント配送先決定方法として複数のイベント配送先決定方法が想定できる場合には、別のイベント配送先決定方法を選択するための構成として第3のイベント配送先決定部、さらには第4のイベント配送先決定部が備えられていてもよい。また、別のイベント配送先決定方法を選択するための構成の数には上限はない。
図22は、本実施形態に関する、イベント配送先決定方法切替部2101の処理の流れを示すフローチャートである。
まず、ステップST2201に示されるように、イベント配送先決定方法切替部2101が、どのイベント配送先決定方法を使用すべきか判断する。イベント配送先決定方法として並行取得を実行する場合(Yes)には、第1実施形態の方法を使用するとしてステップST2202へ進む。イベント配送先決定方法として並行取得を実行しない場合(No)には、別のイベント配送先決定方法を使用するとしてステップST2203へ進む。ステップST2203では、別のイベント配送先決定方法を採用するため、第2イベント配送先決定部2102の処理を開始する。
なお、イベント配送先決定方法切替部2101におけるイベント配送先決定方法を判断する条件については、どのような条件であってもよい。例えば、時間によって切り替わるという条件であってもよいし、ランダムにどちらかを選択するという条件であってもよい。以下、イベント配送先決定方法切替部2101における、イベント配送先決定方法を判断する条件に関する具体例を説明する。
一例として、画面レイヤー数によるイベント配送先決定方法の切り替えについて説明する。イベント配送要否の確認が必要な画面レイヤー数が少ない場合、同時並行的にイベント配送要否の確認処理を実行すると、イベント配送要否の確認結果の受け取り又は統合にかかる時間によって、逐次的にイベント配送要否の確認を実行する場合より時間がかかる可能性がある。そのため、イベント配送要否の確認が必要な画面レイヤー数が少ない場合は、画面レイヤー管理部107における処理を従来の逐次的処理など別のイベント配送先決定方法に切り替えることで、より効率的にユーザー入力イベント配送先画面レイヤーを決定できる。
図23は、イベント配送要否の確認が必要な画面レイヤー数によってイベント配送先決定方法を切り替える場合の、イベント配送先決定方法切替部2101の処理の流れを示すフローチャートである。
図23において、図22における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST2301に示されるように、イベント配送先決定方法切替部2101が、イベント配送要否の確認が必要な画面レイヤー数がN以上であるか判断する。ここでNは自然数であるとする。また、Nは、設計者があらかじめ設定しておくなどどのような方法で設定してもよい。イベント配送要否の確認が必要な画面レイヤー数がN以上であった場合(Yes)は、ステップST2202へ進む。イベント配送要否確認が必要な画面レイヤー数がN以上ではなかった場合(No)は、ステップST2203へ進む。なお、図23におけるイベント配送先決定方法の切り替え条件は一例であり、イベント配送要否の確認が必要な画面レイヤー数がN以下であった場合に、ステップST2202へ進むという条件であってもよいし、MがN以上の自然数であるとして、イベント配送要否の確認が必要な画面レイヤー数がN以上M以下であった場合にステップST2202へ進むという条件であってもよい。
一例として、処理装置202のコア数に基づくイベント配送先決定方法の切り替えについて説明する。処理装置のコア数が少ない場合、少ないコアでイベント配送要否の確認をしなければならないため、イベント配送要否の確認結果の受け取り又は統合にかかる時間によって、逐次的にイベント配送要否の確認を実行する場合より時間がかかる可能性がある。処理装置のコア数が少ない場合は、従来の逐次的処理など別のイベント配送先決定方法に切り替えることで、より効率的にユーザー入力イベントの配送先画面レイヤーを決定できる。
図24は、処理装置202のコア数に基づいてイベント配送先決定方法を切り替える場合の、イベント配送先決定方法切替部2101の処理の流れを示すフローチャートである。
図24において、図22における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST2401に示されるように、イベント配送先決定方法切替部2101が、処理装置202のコア数がN以上であるか判断する。ここでNは自然数であるとする。Nは設計者があらかじめ設定しておくなどどのような方法で設定してもよい。処理装置のコア数がN以上であった場合(Yes)は、ステップST2202へ進む。処理装置のコア数がN以上ではなかった場合(No)は、ステップST2203へ進む。なお、図24におけるイベント配送先決定方法の切り替え条件は一例であり、処理装置202のコア数がN以下であった場合にステップST2202へ進むという条件であってもよいし、MがN以上の自然数であるとして、処理装置202のコア数がN以上M以下であった場合にステップST2202へ進むという条件であってもよい。
一例として、ユーザー入力イベントの種類に基づくイベント配送先決定方法の切り替えについて説明する。ユーザー入力イベントの種類によってはイベント配送先決定方法が適さない又はより高速に決定できるイベント配送先決定方法が存在する場合がある。例えば、ユーザー入力イベントの種類がドラッグである場合、ドラッグイベントが続く限り最初にドラッグイベントが配送された画面レイヤーに対して続くユーザー入力イベントを配送し続けたい場合が存在する。又は、マルチタッチ可能な入力装置101において、2つの入力が通常では別の画面レイヤーに配送されてしまうが、ピンチインなどの1つのジェスチャイベントとしてどちらか片方の画面レイヤーに配送したい場合も存在する。これらの場合においては、1つ1つのユーザー入力イベントについて各画面レイヤーにイベント要否の確認処理を実行しなくても、配送先画面レイヤーを決定することが可能である。
図25は、ユーザー入力イベントの種類がドラッグである際に、ドラッグイベントが続く限り最初にドラッグイベントを配送した画面レイヤーに対して配送し続ける場合の、イベント配送先決定方法切替部2101の処理の流れを示すフローチャートである。
図25において、図22における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
まず、ステップST2501に示されるように、イベント配送先決定方法切替部2101が、ユーザー入力イベントの種類がドラッグ以外であるか否かを判断する。ユーザー入力イベントの種類がドラッグ以外であった場合(Yes)は、ステップST2202に進む。ユーザー入力イベントの種類がドラッグであった場合(No)は、ステップST2203に進む。
図26は、ドラッグ開始時のイベント配送要否統合部104の処理の流れを示すフローチャートである。
図26において、図6における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
ドラッグ開始時はプレスなどと判断されるため、まずはイベント配送要否並行取得部103及びイベント配送要否統合部104における処理が実行される。
そして、ステップST2601では、配送先画面レイヤーとして決定した画面レイヤーを記憶しておく。
図27は、ユーザー入力イベントの種類がドラッグであった場合の、第2イベント配送先決定部2102の処理の流れを示すフローチャートである。
まず、ステップST2701に示されるように、第2イベント配送先決定部2102が、図26のステップST2601において記憶した画面レイヤーを取得する。
ステップST2702では、ステップST2701において取得した画面レイヤーを配送先画面レイヤーとして決定する。
このように、本実施形態では、イベント配送先決定方法を自由に切り替えることによって、第1実施形態において説明したイベント配送先決定方法が効果的に働かない場合においても、別のイベント配送先決定方法を利用することにより高速にユーザー入力イベント配送先画面レイヤーを決定することが可能である。
<第6実施形態>
以下では、上記実施形態で説明された構成と同様の構成については同じ符号を付して図示し、その詳細な説明については適宜省略する。
第1実施形態においては、ユーザー入力イベントは1つの画面レイヤーにおいて処理されることを想定していたが、1つのユーザー入力イベントが複数の画面レイヤーに処理されてもよい。
図28は、本実施形態における、イベント配送要否統合部104におけるイベント配送要否統合処理の流れを示すフローチャートである。
図28において、図6における場合と同一の符号が付された処理は、同一又はこれに相当する機能を有する処理であるので説明を省略する。
ステップST2801では、イベント配送要否統合部104が、ユーザー入力イベントの配送を必要としている画面レイヤーを登録しておく。その後は、ステップST601に戻る。
ステップST2802では、イベント配送要否統合部104が、すべての画面レイヤーのイベント配送要否の確認結果について判断した後に、ユーザー入力イベント配送先画面レイヤーとして1つ以上の画面レイヤーが登録されているか判断する。1つ以上の画面レイヤーがユーザー入力イベント配送先画面レイヤーとして登録されている場合(Yes)は、処理を終了する。1つ以上の画面レイヤーがユーザー入力イベント配送先画面レイヤーとして登録されていない場合(No)は、ステップST605へ進む。イベント配送部106及びイベント処理部109では、ユーザー入力イベントの配送先画面レイヤーとして登録されているすべての画面レイヤーに対してユーザー入力イベントを配送及び処理する。
なお、この例ではユーザー入力イベントを必要とするすべての画面レイヤーをユーザー入力イベント配送先画面レイヤーとして登録しているが、ユーザー入力イベントを必要とする一部の画面レイヤーのみをユーザー入力イベント配送先画面レイヤーとして登録してもよい。その際、ユーザー入力イベント配送先画面レイヤーとして登録すべき画面レイヤーの選択についてはどのような方法を用いてもよい。
<効果>
以下に、上記の実施形態による効果を例示する。
上記の実施形態によれば、ユーザーインターフェイス装置が、取得部としてのユーザー入力イベント取得部102と、送信部としてのイベント配送要否並行取得部103と、判断部としての画面レイヤー管理部107と、決定部としてのイベント配送要否統合部104とを備える。
ユーザー入力イベント取得部102は、外部からの入力情報としてのユーザー入力イベントを取得する。イベント配送要否並行取得部103は、ユーザー入力イベントが各画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報としてのイベント配送要否の確認要求を送信する。
画面レイヤー管理部107では、イベント配送要否の確認要求に基づいて、ユーザー入力イベントが各画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の画面レイヤーのうちの少なくとも2つの画面レイヤーに対して並行して判断される。
イベント配送要否統合部104は、画面レイヤー管理部107における判断結果に基づいて、ユーザー入力イベントが受け付けられる少なくとも1つの画面レイヤーを決定する。
このような構成によれば、ユーザー入力イベントを受け取るべき画面レイヤー以外に、ユーザー入力イベントを受け取らない画面レイヤーが重なって表示されている場合であっても、効率的にユーザー入力イベントを配送すべき画面レイヤーを決定できる。
すなわち、上記の構成によれば、ユーザー入力イベントを受け付けるべき画面レイヤーの上にユーザー入力イベントを受け付けるべきでない画面レイヤーが多数重なって表示されている場合においても、オブジェクトの位置又は形状、又は、画面レイヤーの位置又は形状の変化(アニメーション)の阻害、さらには記憶領域の大量占有を行わずに、ユーザー入力イベントを配送すべき画面レイヤーを効率的に決定することが可能となる。よって、ユーザー入力イベントの配送先画面レイヤーの決定に際しての処理時間の低減が可能となり、画面描画速度の向上、さらにはユーザーインターフェイス装置全体の性能向上につながる。
なお、これらの構成以外の構成については適宜省略することができるが、本明細書に示される任意の構成を適宜追加した場合でも、上記の効果を生じさせることができる。
また、上記の実施形態によれば、イベント配送要否統合部104は、画面レイヤー管理部107における判断結果が複数の画面レイヤーのうちの一部の画面レイヤーに関する判断結果である場合であっても、当該判断結果に基づいて、ユーザー入力イベントが受け付けられる少なくとも1つの画面レイヤーを決定する。
このような構成によれば、必要のないイベント配送要否の確認処理を低減することが可能であり、高速にユーザー入力イベントを配送すべき画面レイヤーを決定することが可能となる。
また、上記の実施形態によれば、イベント配送要否統合部104は、画面レイヤー管理部107における判断結果が、複数の画面レイヤーのうちの少なくとも1つの画面レイヤーにおいてユーザー入力イベントが受け付けられ、かつ、ユーザー入力イベントが受け付けられる当該画面レイヤーよりも上位の画面レイヤーに関する判断がすべてなされている判断結果である場合に、当該判断結果に基づいて、ユーザー入力イベントが受け付けられる少なくとも1つの画面レイヤーを決定する。
このような構成によれば、必要のないイベント配送要否の確認処理を低減することが可能であり、高速に、ユーザー入力イベントを配送すべき画面レイヤーを決定することが可能となる。
また、上記の実施形態によれば、画面レイヤー管理部107は、ユーザー入力イベントが各画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の画面レイヤーのうちの一部の画面レイヤーに対して並行して判断する。
このような構成によれば、同時並行的に実行されるイベント配送要否の確認要求処理の数を制限することによって各々の処理を高速化し、これを逐次的に実行することができるため、特に、イベント配送要否の確認要求を送信する順番が早く回ってくる画面レイヤーがユーザー入力イベントを必要としている場合に、ユーザー入力イベント配送先画面レイヤーを高速に決定することが可能である。
また、上記の実施形態によれば、画面レイヤー管理部107は、ユーザー入力イベントが各画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の画面レイヤーすべてに対して並行して判断する。
このような構成によれば、ユーザー入力イベントを受け付けるべき画面レイヤーの上にユーザー入力イベントを受け付けるべきでない画面レイヤーが多数重なって表示されている場合においても、オブジェクトの位置又は形状、又は、画面レイヤーの位置又は形状の変化(アニメーション)の阻害、さらには記憶領域の大量占有を行わずに、ユーザー入力イベントを配送すべき画面レイヤーを効率的に決定することが可能となる。よって、ユーザー入力イベントの配送先画面レイヤーの決定に際しての処理時間の低減が可能となり、画面描画速度の向上、さらにはユーザーインターフェイス装置全体の性能向上につながる。
また、上記の実施形態によれば、画面レイヤー管理部107は、ユーザー入力イベントが各画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する画面レイヤーの数を、画面レイヤー管理部107における処理速度に応じて決定する。
このような構成によれば、処理装置202における処理速度を考慮した上で、処理装置202の処理能力を十分に活かしつつ、ユーザー入力イベントの要否の確認処理を実行することができる。
また、上記の実施形態によれば、画面レイヤー管理部107は、ユーザー入力イベントが各画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する画面レイヤーの数を、画面レイヤー管理部107において用いることができるCPUの数に応じて決定する。
このような構成によれば、処理装置202が同時並行的に処理可能な最大の画面レイヤーの数を、処理装置202におけるCPUの数から自動的に取得することも可能となり、効率的にユーザー入力イベントの配送先画面レイヤーを決定することができる。
また、処理装置202の動作状態によって変動する同時並行的に処理可能な画面レイヤーの数を、処理装置202における当該判断のために用いることができるCPU、すなわち、何も処理を実行していない又は使用率が少ないCPUの数から自動的に取得することも可能となり、効率的にユーザー入力イベントの配送先画面レイヤーを決定することができる。
また、上記の実施形態によれば、イベント配送要否並行取得部103は、イベント配送要否の確認要求を送信する際、各画面レイヤーについてあらかじめ定められた優先度にしたがう順序で、各画面レイヤーに対応するイベント配送要否の確認要求を送信する。
このような構成によれば、処理装置202の各コアに割り当てられる処理の平準化、又は、ユーザー入力イベントを受け取る可能性が高い画面レイヤーのイベント配送要否の確認処理を早めに実行することが可能となる。よって、ユーザー入力イベントの配送先画面レイヤーを高速に決定することが可能である。
また、上記の実施形態によれば、各画面レイヤーについての優先度が、ユーザー入力イベントの種類に応じて定められる。
このような構成によれば、ユーザー入力イベントの種類に依存した優先度を設定することが可能である。
また、上記の実施形態によれば、各画面レイヤーについての優先度が、ユーザー入力イベント取得部102におけるユーザー入力イベントの受け入れ制限に応じて定められる。
このような構成によれば、ユーザー入力イベント取得部102におけるユーザー入力イベントの受け入れ態勢に依存した優先度を設定することが可能である。
また、上記の実施形態によれば、各画面レイヤーについての優先度が、外部機器との接続状態に応じて定められる。
このような構成によれば、ユーザーインターフェイス装置の、外部機器との接続状態に依存した優先度を設定することが可能である。
また、上記の実施形態によれば、画面レイヤー管理部107は、あらかじめ定められた切り替え条件を満たした場合、ユーザー入力イベントが各画面レイヤーにおいて受け付けられる情報であるか否かについて、各画面レイヤーに対して逐次的に判断する。
このような構成によれば、あるイベント配送先の決定方法で効果が見込まれない場合においても、別のイベント配送先の決定方法に切り替えることが可能となり、常にユーザー入力イベントの配送先画面レイヤーを高速に決定することが可能である。
また、上記の実施形態によれば、切り替え条件は、画面レイヤー管理部107において判断する必要がある画面レイヤーの数に関する条件である。
このような構成によれば、イベント配送要否の確認が必要な画面レイヤー数に基づいて、イベント配送先の決定方法を切り替えることが可能である。
また、上記の実施形態によれば、切り替え条件は、画面レイヤー管理部107における判断のために用いることができるCPUの数に関する条件である。
このような構成によれば、処理装置202におけるコア数(CPUの数)に基づいて、イベント配送先の決定方法を切り替えることが可能である。
また、上記の実施形態によれば、切り替え条件は、ユーザー入力イベントの種類に応じて定められる条件である。
このような構成によれば、取得したユーザー入力イベントの種類によってイベント配送先の決定方法を切り替えることが可能である。
また、上記の実施形態によれば、イベント配送要否統合部104は、画面レイヤー管理部107における判断結果に基づいて、ユーザー入力イベントが受け付けられる複数の画面レイヤーを決定する。
このような構成によれば、1つのユーザー入力イベントが複数の画面レイヤーにおいて処理される場合においても、ユーザー入力イベントの配送先画面レイヤーを高速に決定することが可能である。
また、上記の実施形態によれば、ユーザーインターフェイス表示方法は、外部からのユーザー入力イベントが各画面レイヤーにおいて受け付けられるか否かについて問い合わせるイベント配送要否の確認要求を送信し、イベント配送要否の確認要求に基づいて、ユーザー入力イベントが各画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の画面レイヤーのうちの少なくとも2つの画面レイヤーに対して並行して判断し、判断の結果に基づいて、ユーザー入力イベントが受け付けられる少なくとも1つの画面レイヤーを決定する方法である。
このような構成によれば、ユーザー入力イベントを受け取るべき画面レイヤー以外に、ユーザー入力イベントを受け取らない画面レイヤーが重なって表示されている場合であっても、効率的にユーザー入力イベントを配送すべき画面レイヤーを決定できる。
すなわち、上記の構成によれば、ユーザー入力イベントを受け付けるべき画面レイヤーの上にユーザー入力イベントを受け付けるべきでない画面レイヤーが多数重なって表示されている場合においても、オブジェクトの位置又は形状、又は、画面レイヤーの位置又は形状の変化(アニメーション)の阻害、さらには記憶領域の大量占有を行わずに、ユーザー入力イベントを配送すべき画面レイヤーを効率的に決定することが可能となる。よって、ユーザー入力イベントの配送先画面レイヤーの決定に際しての処理時間の低減が可能となり、画面描画速度の向上、さらにはユーザーインターフェイス装置全体の性能向上につながる。
<変形例>
上記実施形態では、各構成要素の寸法、形状、相対的配置関係又は実施の条件などについても記載している場合があるが、これらはすべての局面において例示であって、本明細書に記載されたものに限られることはない。よって、例示されていない無数の変形例が、本技術の範囲内において想定される。例えば、任意の構成要素を変形する場合、追加する場合又は省略する場合、さらには、少なくとも1つの実施形態における少なくとも1つの構成要素を抽出し、他の実施形態の構成要素と組み合わせる場合が含まれる。
また、矛盾が生じない限り、上記実施形態において「1つ」備えられるものとして記載された構成要素は、「1つ以上」備えられていてもよい。さらに、各構成要素は概念的な単位であって、1つの構成要素が複数の構造物から成る場合及び1つの構成要素がある構造物の一部に対応する場合、さらには、複数の構成要素が1つの構造物に備えられる場合を含む。また、各構成要素には、同一の機能を発揮する限り、他の構造又は形状を有する構造物が含まれる。
また、本明細書における説明は、本技術のすべての目的のために参照され、いずれも、従来技術であると認めるものではない。
上記実施形態で記載された各構成要素による作用は、少なくとも1つの、処理回路又は電気回路において実施することができる。処理回路及び電気回路には、プログラムされた演算処理装置を含み、その場合、処理回路又は電気回路があらかじめ設定されたプログラムにしたがって動作することによって、上記実施形態で記載された各構成要素による作用が実現される。また、各構成要素による作用を実現するプログラムは、ハードディスク又はメモリなどの記憶媒体に記憶される。また、処理回路には、集積回路(application specific integrated circuit、すなわちASIC)又は上記実施形態で記載された作用を実現するように変更された従来の回路要素などを含む。
本技術は、各構成要素が複数の装置に分散して備えられる場合(すなわち、システムのような態様)であってもよい。例えば、ユーザーインターフェイス装置におけるコンピューターとディスプレイとが分散して備えられており、ディスプレイに対し、コンピューターを用いて外部から表示制御が行われる場合であってもよい。
101 入力装置、102 ユーザー入力イベント取得部、103 イベント配送要否並行取得部、104 イベント配送要否統合部、105 イベント配送先決定部、106 イベント配送部、107 画面レイヤー管理部、108 画面レイヤー内情報格納部、109 イベント処理部、110 描画制御部、111 表示装置、201 コンピューター、202 処理装置、203 記憶装置、204 ディスプレイ、205 マウス、206 キーボード、701,702,703 画面レイヤー、1001 並行取得数格納部、1002 取得部、1003 送信部、1004 決定部、1007 判断部、1501 優先度格納部、2101 イベント配送先決定方法切替部、2102 第2イベント配送先決定部。

Claims (12)

  1. 複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、
    外部からの入力情報を取得する取得部と
    前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と
    前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と
    前記判断部における判断結果に基づいて、複数の前記画面レイヤーのうちの最も上位の前記画面レイヤーから順に前記入力情報が受け付けられる前記画面レイヤーであるか否かを確認し、かつ、前記入力情報が受け付けられる前記画面レイヤーであると確認した時点で、当該画面レイヤーを前記入力情報が受け付けられる1つの前記画面レイヤーとして決定する決定部とを備える、
    ユーザーインターフェイス装置。
  2. 複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、
    外部からの入力情報を取得する取得部と、
    前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、
    前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、
    前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、
    前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの一部の前記画面レイヤーに対して並行して判断し、
    前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する前記画面レイヤーの数を、前記判断部における処理速度に応じて決定する、
    ーザーインターフェイス装置。
  3. 複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、
    外部からの入力情報を取得する取得部と、
    前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、
    前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、
    前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、
    前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの一部の前記画面レイヤーに対して並行して判断し、
    前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて並行して判断する前記画面レイヤーの数を、前記判断部において用いるCPUの数に応じて決定する、
    ーザーインターフェイス装置。
  4. 複数の画面レイヤーの少なくとも一部を重畳させて画面に表示するユーザーインターフェイス装置であり、
    外部からの入力情報を取得する取得部と、
    前記入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信する送信部と、
    前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断する判断部と、
    前記判断部における判断結果に基づいて、前記入力情報が受け付けられる少なくとも1つの前記画面レイヤーを決定する決定部とを備え、
    前記判断部は、あらかじめ定められた切り替え条件を満たした場合、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、各前記画面レイヤーに対して逐次的に判断する、
    ーザーインターフェイス装置。
  5. 前記決定部は、前記判断部における前記判断結果が複数の前記画面レイヤーのうちの一部の前記画面レイヤーに関する判断結果である場合であっても、当該判断結果に基づいて、前記入力情報が受け付けられる1つの前記画面レイヤーを決定する、
    請求項1から請求項4のうちのいずれか1項に記載のユーザーインターフェイス装置。
  6. 前記決定部は、前記判断部における前記判断結果が、複数の前記画面レイヤーのうちの少なくとも1つの前記画面レイヤーにおいて前記入力情報が受け付けられ、かつ、前記入力情報が受け付けられる当該画面レイヤーよりも上位の前記画面レイヤーに関する判断がすべてなされている判断結果である場合に、当該判断結果に基づいて、前記入力情報が受け付けられる1つの前記画面レイヤーを決定する、
    請求項に記載のユーザーインターフェイス装置。
  7. 前記判断部は、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの一部の前記画面レイヤーに対して並行して判断する、
    請求項1、請求項5、および、請求項のうちのいずれか1項に記載のユーザーインターフェイス装置。
  8. 前記送信部は、前記問い合わせ情報を送信する際、各前記画面レイヤーについてあらかじめ定められた優先度にしたがう順序で、各前記画面レイヤーに対応する前記問い合わせ情報を送信する、
    請求項1、請求項5、および、請求項のうちのいずれか1項に記載のユーザーインターフェイス装置。
  9. 前記切り替え条件は、前記判断部において判断する必要がある前記画面レイヤーの数に関する条件である、
    請求項に記載のユーザーインターフェイス装置。
  10. 前記切り替え条件は、前記判断部における判断のために用いるCPUの数に関する条件である、
    請求項に記載のユーザーインターフェイス装置。
  11. 前記切り替え条件は、前記入力情報の種類に応じて定められる条件である、
    請求項に記載のユーザーインターフェイス装置。
  12. 複数の画面レイヤーの少なくとも一部を重畳させて画面に表示させるユーザーインターフェイス表示方法であり、
    外部からの入力情報が各前記画面レイヤーにおいて受け付けられるか否かについて問い合わせる問い合わせ情報を送信し、
    前記問い合わせ情報に基づいて、前記入力情報が各前記画面レイヤーにおいて受け付けられる情報であるか否かについて、複数の前記画面レイヤーのうちの少なくとも2つの前記画面レイヤーに対して並行して判断し、
    前記判断の結果に基づいて、複数の前記画面レイヤーのうちの最も上位の前記画面レイヤーから順に前記入力情報が受け付けられる前記画面レイヤーであるか否かを確認し、かつ、前記入力情報が受け付けられる前記画面レイヤーであると確認した時点で、当該画面レイヤーを前記入力情報が受け付けられる1つの前記画面レイヤーとして決定する、
    ユーザーインターフェイス表示方法。
JP2016540097A 2015-01-27 2016-01-21 ユーザーインターフェイス装置、ユーザーインターフェイス表示方法 Active JP6022131B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015012965 2015-01-27
JP2015012965 2015-01-27
PCT/JP2016/051718 WO2016121620A1 (ja) 2015-01-27 2016-01-21 ユーザーインターフェイス装置、ユーザーインターフェイス表示方法および制御プログラム

Publications (2)

Publication Number Publication Date
JP6022131B1 true JP6022131B1 (ja) 2016-11-09
JPWO2016121620A1 JPWO2016121620A1 (ja) 2017-04-27

Family

ID=56543234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016540097A Active JP6022131B1 (ja) 2015-01-27 2016-01-21 ユーザーインターフェイス装置、ユーザーインターフェイス表示方法

Country Status (5)

Country Link
US (1) US10387019B2 (ja)
JP (1) JP6022131B1 (ja)
CN (1) CN107209654B (ja)
DE (1) DE112016000495T5 (ja)
WO (1) WO2016121620A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6964781B2 (ja) * 2018-08-09 2021-11-10 三菱電機株式会社 イベント送信装置およびイベント送信方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350490A (ja) * 2005-06-14 2006-12-28 Sony Corp 表示信号処理装置および方法、記録媒体、並びにプログラム
JP4522533B2 (ja) * 1999-04-14 2010-08-11 パナソニック株式会社 イベント制御装置およびデジタル放送システム
JP2014211889A (ja) * 2009-03-16 2014-11-13 アップル インコーポレイテッド イベント認識

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086551A (ja) 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd イベント制御装置及び方法
CA2679358C (en) 2007-03-09 2015-12-01 International Business Machines Corporation Determining request destination
US8209628B1 (en) * 2008-04-11 2012-06-26 Perceptive Pixel, Inc. Pressure-sensitive manipulation of displayed objects
JP5920760B2 (ja) 2011-05-17 2016-05-18 国立大学法人東京海洋大学 移動体運行情報システム
KR101527038B1 (ko) * 2012-02-24 2015-06-08 엘지전자 주식회사 이동 단말기 및 그 제어 방법, 이를 위한 기록 매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4522533B2 (ja) * 1999-04-14 2010-08-11 パナソニック株式会社 イベント制御装置およびデジタル放送システム
JP2006350490A (ja) * 2005-06-14 2006-12-28 Sony Corp 表示信号処理装置および方法、記録媒体、並びにプログラム
JP2014211889A (ja) * 2009-03-16 2014-11-13 アップル インコーポレイテッド イベント認識

Also Published As

Publication number Publication date
US20180004403A1 (en) 2018-01-04
US10387019B2 (en) 2019-08-20
WO2016121620A1 (ja) 2016-08-04
JPWO2016121620A1 (ja) 2017-04-27
CN107209654A (zh) 2017-09-26
CN107209654B (zh) 2020-04-17
DE112016000495T5 (de) 2017-11-02

Similar Documents

Publication Publication Date Title
JP6408085B2 (ja) イベント認識
CN109564531B (zh) 与剪贴板存储库交互
JP5728562B2 (ja) アプリケーションの保安性管理方法及びその電子装置
CN106662978B (zh) 用于改善设备的单手操作的用户界面
JP5865039B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US9811349B2 (en) Displaying operations performed by multiple users
JP6139397B2 (ja) マウス機能提供方法およびこれを具現する端末
JP6364893B2 (ja) 端末装置、電子ホワイトボードシステム、電子ホワイトボードの入力支援方法、及びプログラム
EP2325740A2 (en) User interface apparatus and method
JP2017523515A (ja) アイコンサイズ変更
JP2016533556A (ja) パン及び選択ジェスチャの検出
JP6053332B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6253284B2 (ja) 情報処理装置およびその制御方法、プログラム、記録媒体
US9658865B2 (en) Method of editing content and electronic device for implementing the same
US20150220182A1 (en) Controlling primary and secondary displays from a single touchscreen
KR20160031397A (ko) 어플리케이션 선택 화면을 통해 어플리케이션들을 실행하는 방법 및 장치
JP6022131B1 (ja) ユーザーインターフェイス装置、ユーザーインターフェイス表示方法
JP6087608B2 (ja) 携帯可能な装置、携帯可能な装置を制御する方法およびプログラム
US20230123119A1 (en) Terminal, control method therefor, and recording medium in which program for implementing method is recorded
KR101251021B1 (ko) 터치스크린 출력화면 조정방법
JP5920841B2 (ja) 情報処理装置、方法及びプログラム

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161004

R150 Certificate of patent or registration of utility model

Ref document number: 6022131

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250