Nothing Special   »   [go: up one dir, main page]

JP6141290B2 - Interaction by acceleration of multi-pointer indirect input device - Google Patents

Interaction by acceleration of multi-pointer indirect input device Download PDF

Info

Publication number
JP6141290B2
JP6141290B2 JP2014537345A JP2014537345A JP6141290B2 JP 6141290 B2 JP6141290 B2 JP 6141290B2 JP 2014537345 A JP2014537345 A JP 2014537345A JP 2014537345 A JP2014537345 A JP 2014537345A JP 6141290 B2 JP6141290 B2 JP 6141290B2
Authority
JP
Japan
Prior art keywords
input
display
point
points
displacement
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
JP2014537345A
Other languages
Japanese (ja)
Other versions
JP2014532908A5 (en
JP2014532908A (en
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014532908A publication Critical patent/JP2014532908A/en
Publication of JP2014532908A5 publication Critical patent/JP2014532908A5/ja
Application granted granted Critical
Publication of JP6141290B2 publication Critical patent/JP6141290B2/en
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/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
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • 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/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明の一実施形態は、マルチポインタ間接入力装置の加速度によるインターラクションに関する。   One embodiment of the present invention relates to interaction by acceleration of a multi-pointer indirect input device.

コンピューティングシステムのナビゲーションと空間的コントロールに用いるマニュアル入力装置は、コンピュータシステムの機能及び全体的なユーザ体験に対して大きなインパクトを有する。複数種類のマニュアル入力装置がある。パーソナルコンピュータで最も一般的なものには、マウスやタッチパッドなどのシングルポインタ間接インターラクション型装置と、タッチスクリーンなどの直接インターラクション型装置がある。   Manual input devices used for computing system navigation and spatial control have a significant impact on the functionality of the computer system and the overall user experience. There are multiple types of manual input devices. The most common personal computers include a single pointer indirect interaction type device such as a mouse and a touch pad, and a direct interaction type device such as a touch screen.

シングルポインタ間接インターラクション型装置センサは、センサとのユーザインターラクションを検知して、このインターラクションをディスプレイ上の位置に対応させる。入力ポイントをディスプレイに対応させる一方法には、センサ範囲(sensor extents)のディスプレイ範囲(extents
of the display)への一対一対応があり、これは絶対対応と呼ばれる。絶対対応を用いる装置例としてはペンタッチ型デジタイザがある。他の一方法には、装置センサ座標のディスプレイの可動部分への対応があり、これは相対対応と呼ばれる。
The single pointer indirect interaction type device sensor detects user interaction with the sensor and associates this interaction with a position on the display. One way to make the input point correspond to the display is to display the sensor extents display extents.
of the display), this is called absolute correspondence. An example of an apparatus that uses absolute correspondence is a pen touch type digitizer. Another method involves correspondence of the device sensor coordinates to the movable parts of the display, which is called relative correspondence.

相対的対応を用いる装置例としては、マウスや、マウスをエミュレートする装置、例えばトラックパッドなどがある。マウスは、検知されたその装置とのインターラクションに基づいて、動きを検知して、仮想開始点をある距離だけ移動させる。トラックパッドは一般的にマウスと同様に用いられる。トラックパッドへのコンタクトの動きが検知され、検知された動きはマウス入力と同様に処理される。   Examples of devices that use relative correspondence include mice and devices that emulate mice, such as trackpads. The mouse detects movement based on the detected interaction with the device and moves the virtual start point by a certain distance. The trackpad is generally used in the same way as a mouse. The movement of the contact to the trackpad is detected, and the detected movement is processed in the same way as mouse input.

直接インターラクション型装置により、ディスプレイと仮想的にアライン(align)された装置とインターラクションできる。直接インターラクション型装置は、タッチ検知面上の位置と、同じサイズのディスプレイ上の位置とを、絶対対応を用いて、対応させる。例えば、ユーザがタッチスクリーン上の点にタッチすると、入力イベントが、ユーザインタフェース中の、ユーザによりタッチされたディスプレイ上の点に対応する位置において、コマンド起動などのアプリケーション応答をトリガーする。   Direct interaction devices allow interaction with devices that are virtually aligned with the display. The direct interaction type device associates the position on the touch detection surface with the position on the display of the same size by using absolute correspondence. For example, when a user touches a point on the touch screen, an input event triggers an application response, such as command activation, at a location in the user interface corresponding to the point on the display touched by the user.

マルチポインタ入力からの空間的入力のディスプレイへの絶対及び相対対応付け(mapping)には、入力装置及びディスプレイ装置の物理的属性、システムの能力、アプリケーションユーザインタフェースの性質とレイアウト、ユーザが実行するタスクの種類、及び様々なエルゴノミック要因に応じて、利点と欠点がある。   The absolute and relative mapping of spatial input from multi-pointer input to the display includes physical attributes of the input and display devices, system capabilities, nature and layout of the application user interface, and tasks performed by the user There are advantages and disadvantages depending on the type and various ergonomic factors.

例えば、相対的マッピングモードでは、入力装置センサは目標ディスプレイ座標空間の一部のみに広がっている。それゆえ、入力点の動きが検出されているうちに、その点の、ある形式の加速を用いなければ、一表示位置から他の一表示位置へのナビゲーションには複数のストロークが含まれ得る。逆に、ピクセルレベルの、ポイントツーポイントの目標精度を達成するため、その点の、ある形式の減速を用いることができる。かかる加速と減速は「ポインタ弾道」と呼ぶこともある。他の一例として、絶対対応付けモードにおいて、入力センサは、ディスプレイ座標空間に対して、解像度がずっと低く、アスペクト比が大きく異なるかも知れない。それゆえ、ピクセルレベルのポイントツーポイントのナビゲーションにおける精度を実現することは、ある形式の正の及び/または負の加速がなければ困難である。   For example, in the relative mapping mode, the input device sensor extends over only a portion of the target display coordinate space. Therefore, navigation from one display position to another display position can include multiple strokes unless movement of the input point is detected and some form of acceleration of that point is used. Conversely, some form of deceleration at that point can be used to achieve pixel-level, point-to-point target accuracy. Such acceleration and deceleration may be referred to as “pointer trajectory”. As another example, in the absolute mapping mode, the input sensor may have a much lower resolution and a significantly different aspect ratio relative to the display coordinate space. Therefore, achieving accuracy in pixel-level point-to-point navigation is difficult without some form of positive and / or negative acceleration.

本欄では、発明の詳細な説明で詳しく説明するコンセプトの一部を選んで、簡単に説明する。本欄は、特許を請求する主題の重要な特徴や本質的な特徴を特定するものではなく、特許を請求する主題の範囲を限定するものでもない。   In this section, some of the concepts described in detail in the detailed description of the invention will be selected and briefly described. This section does not identify key features or essential features of the claimed subject matter, nor does it limit the scope of the claimed subject matter.

間接的インターラクション型入力装置は、一または複数の入力センサを含む。各センサは複数の入力点を検知して提供できる。本技術分野では様々なマルチポイント入力検知技術が知られており、容量型、抵抗型、及び圧力型タッチセンサ、光センサ、及びモーションビデオ・スケルタル・トラッキングシステムが含まれるがこれらに限定されない。センサ入力点をディスプレイ等の出力への対応付けに適用される計算は、センサが(2次元座標空間中の離散的位置以外の)入力点を確定するやり方、及び入力点を検知するやり方には依存しない。例えば、タッチセンシティブセンサは、座標空間中のユーザがセンサにタッチしている二以上の位置を示すデータを提供できる。かかるセンサは形状が四角形であってもよいが、他の形状でもよい。センサはトラックパッドと同様に見えるが、一点の動きをトラッキングするのではなく、ユーザがタッチした複数のを検知する。これらの複数の点はディスプレイなどの出力装置上の複数の点に対応付けられる。 An indirect interaction type input device includes one or more input sensors. Each sensor can detect and provide a plurality of input points. Various multi-point input sensing techniques are known in the art, including but not limited to capacitive, resistive, and pressure touch sensors, optical sensors, and motion video skeletal tracking systems. The calculations applied to the mapping of sensor input points to outputs such as displays can be found in how the sensor determines input points (other than discrete positions in a two-dimensional coordinate space) and how the input points are detected. Do not depend. For example, a touch sensitive sensor can provide data indicating two or more locations where a user in the coordinate space is touching the sensor. Such a sensor may have a square shape, but may have other shapes. The sensor looks like a trackpad, but does not track the movement of a single point, but detects multiple points touched by the user. These multiple points are associated with multiple points on an output device such as a display.

しかし、複数の入力点は、ポインタ弾道の適用と、入力センサと目標ディスプレイとの間の解像度の違いを管理しづらくする。そのため、複数の点の特徴を特定して用いて、各点の対応付けを調整する。例えば、この問題を解決する一方法は、前のフレームからの、前の位置から、または基準点からの変位が最も小さい入力点を特定することである。この変位を用いて、センサから対応するディスプレイ座標への一組の入力点の対応付けを調節する。   However, multiple input points make it difficult to manage the application of the pointer trajectory and the resolution difference between the input sensor and the target display. For this reason, the characteristics of a plurality of points are specified and used to adjust the correspondence between the points. For example, one way to solve this problem is to identify the input point that has the least displacement from the previous frame, from the previous position, or from the reference point. This displacement is used to adjust the correspondence of a set of input points from the sensor to the corresponding display coordinates.

したがって、一態様では、マルチポインタ間接入力型装置センサ上の入力点を示す情報をメモリに受け取る。入力点は、表示のため、ディスプレイ座標空間中の位置に対応付けられる。2つの時点間の入力点の変位を決定する。決定した変位により、入力点の対応付けを修正する。入力点の修正された対応付けにより、ディスプレイ上に複数の点を表示する。   Accordingly, in one aspect, information indicating an input point on a multi-pointer indirect input type device sensor is received in a memory. The input point is associated with a position in the display coordinate space for display. Determine the displacement of the input point between the two time points. The input point association is corrected according to the determined displacement. A plurality of points are displayed on the display by the corrected association of the input points.

以下の説明では、本手法の一部を構成する、本手法の具体的な実施例を例示として示す添付図面を参照する。言うまでもなく、これ以外の実施形態を用いてもよく、本開示の範囲から逸脱することなく、構造的な変更を施すこともできる。   In the following description, reference is made to the accompanying drawings, which illustrate, by way of illustration, specific examples of the present technique that form part of the present technique. Needless to say, other embodiments may be used and structural changes may be made without departing from the scope of the present disclosure.

マルチポインタ間接入力装置を用いるシステムを示すブロック図である。It is a block diagram which shows the system using a multipointer indirect input device. ビューポート配置の一実施形態を示すフローチャートである。6 is a flowchart illustrating one embodiment of a viewport arrangement. 入力対応付けの一実施形態を示すフローチャートである。It is a flowchart which shows one Embodiment of input matching. 入力対応付けの他の一実施形態を示すフローチャートである。It is a flowchart which shows other one Embodiment of input matching. 入力加速の一実施形態を示すフローチャートである。It is a flowchart which shows one Embodiment of input acceleration. スパン調整の一実施形態を示すフローチャートである。It is a flowchart which shows one Embodiment of span adjustment. かかるシステムを実施できる一コンピューティング装置例を示すブロック図である。FIG. 6 is a block diagram illustrating an example computing device that can implement such a system.

以下のセクションでは、マルチポインタ、間接入力装置を用いることができる一動作環境例をを説明する。   The following section describes an example operating environment in which a multi-pointer, indirect input device can be used.

図1を参照するに、コンピュータシステム100は、コンピュータプラットフォーム104(その一例の詳細は後で説明する)に接続された、センサを有するマルチポインタ間接入力装置102を含む。かかるコンピュータシステムは、パーソナルコンピュータ、ホームエンターテイメントシステム、プロジェクタ、キオスクアプリケーション、小型パーソナルエレクトロニクスなどであり得る。コンピュータプラットフォームは、一または複数のアプリケーション108と、コンピュータプラットフォーム104の資源(コンピュータプラットフォーム104のマルチポインタ間接入力装置を含む周辺装置)との間のインターラクションを管理するオペレーティングシステムを有する。   Referring to FIG. 1, a computer system 100 includes a multi-pointer indirect input device 102 having sensors connected to a computer platform 104 (an example of which will be described in detail later). Such computer systems can be personal computers, home entertainment systems, projectors, kiosk applications, small personal electronics, and the like. The computer platform has an operating system that manages the interaction between one or more applications 108 and the resources of the computer platform 104 (peripheral devices including the multi-pointer indirect input device of the computer platform 104).

オペレーティングシステムにおいては、複数の検知された入力点110を記述するデータが、マルチポインタ間接入力装置102のセンサから受け取られる。これらの入力点は処理され、ディスプレイ120上の点に対応付けられる。   In the operating system, data describing a plurality of detected input points 110 is received from a sensor of the multi-pointer indirect input device 102. These input points are processed and associated with points on the display 120.

この対応付けプロセスは、装置座標系のディスプレイ座標系への最初の対応付けを決定し、これは相対的でも絶対的でもよく、次に、装置座標系からディスプレイ座標系への各点の対応付けを決定する。かかる最初の対応付けは、各入力セッションの初めに行われる。   This mapping process determines the initial mapping of the device coordinate system to the display coordinate system, which may be relative or absolute, and then maps each point from the device coordinate system to the display coordinate system. To decide. Such initial association is performed at the beginning of each input session.

入力セッションは第1の入力がセンサにより検知された時点から、最後の入力がセンサから無くなった時点までである。入力セッション中、入力点は動きやすい。入力点はセンサ座標系の新しい位置から、ディスプレイ座標系の対応する新しい位置に対応付けられる。この動き対応付けには、バウンディングと加速などの問題を考慮できる。   The input session is from the time when the first input is detected by the sensor to the time when the last input disappears from the sensor. The input points are easy to move during the input session. The input point is associated from the new position in the sensor coordinate system to the corresponding new position in the display coordinate system. This motion association can take into account problems such as bounding and acceleration.

図1に示したように、入力セッションの初めに、複数の点110がビューポート選択モジュール130に入力される。ビューポート選択モジュールは、その出力として、ディスプレイ座標系におけるビューポートサイズと位置132を提供する。ビューポートは、センサ座標空間が対応付け(mapped)られるディスプレイ座標空間中の領域を確定する。複数の装置センサがシステムに接続される構成では、各センサは自分のビューポートを有する。ビューポートは、入力装置センサの形状に対応する形状を有し得る。しかし、いくつかの実施では、ビューポートは、センサとは異なるアスペクト比や方向を、さらには異なる形状を有していてもよい。例えば、楕円形のセンサが四角形のビューポートに対応付けられてもよい。ビューポートの形状は一般的にホストシステムにより確定されるが、装置やユーザによって確定されてもよい。ビューポートのサイズと位置は、ユーザ入力がセンサにより検知された時に計算される。ユーザ入力がセンサにより検知されていなければ、ビューポートのサイズと位置は確定されない。ビューポートは一般的にはユーザに表示されない。総合して、ビューポートの形状、サイズ及び位置は、センサ座標系のディスプレイ座標系への対応付けを表す。設定134は、後で例を詳細に説明するが、相対的または絶対的な対応付けなどにより、この対応付けをどう行うかを決定する。 As shown in FIG. 1, at the beginning of the input session, a plurality of points 110 are input to the viewport selection module 130. The viewport selection module provides the viewport size and position 132 in the display coordinate system as its output. The viewport determines an area in the display coordinate space to which the sensor coordinate space is mapped. In configurations where multiple device sensors are connected to the system, each sensor has its own viewport. The viewport may have a shape that corresponds to the shape of the input device sensor. However, in some implementations, the viewport may have a different aspect ratio and direction than the sensor, and even a different shape. For example, an elliptical sensor may be associated with a rectangular viewport. The shape of the viewport is generally determined by the host system, but may be determined by the device or the user. The size and position of the viewport is calculated when user input is detected by the sensor. If no user input is detected by the sensor, the size and position of the viewport is not fixed. Viewports are generally not displayed to the user. Overall, the shape, size and position of the viewport represent the correspondence of the sensor coordinate system to the display coordinate system. The setting 134, which will be described in detail later, determines how to perform this association by relative or absolute association.

また、複数の点110は、入力セッションにより入力対応付けモジュール140に入力される。入力対応付けモジュールは、その出力として、ディスプレイ座標系における複数の点142を提供する。設定134は、あとで例を詳細に説明するが、相対的入力位置を解釈し、入力運動加速度、スパン調節、及び制約条件を適用するために、装置とディスプレイの基準位置を決定することなどにより、各点がどう対応付けられるか決定する。   The plurality of points 110 are input to the input association module 140 by an input session. The input association module provides a plurality of points 142 in the display coordinate system as its output. The setting 134, which will be described in detail later, by interpreting the relative input position, determining the reference position of the device and display, etc. to apply the input motion acceleration, span adjustment, and constraints, etc. Determine how each point is associated.

複数の点142は、ディスプレイ座標系に対応付けられると、ディスプレイ上に表示できる。各点は、例えば、表示されたアイテムを選択するための単一の点と同様に、または、例えば、ホストシステムユーザインタフェースにおいて要素のズーム、回転、または動きの実行をする直接タッチ入力センサからの複数点と同様に、オペレーティングシステム106及び/またはアプリケーション108により処理できる。ディスプレイに対応づけられたマルチポイントの可能性のある利用範囲は、本発明を限定するものではない。   The plurality of points 142 can be displayed on the display when associated with the display coordinate system. Each point is similar to a single point, for example, for selecting a displayed item, or from a direct touch input sensor that performs zooming, rotation, or movement of an element in a host system user interface, for example. As with multiple points, it can be processed by operating system 106 and / or application 108. The possible range of use of multipoints associated with a display does not limit the invention.

この場合において、図2、図3および図4を参照して、マルチポイント(multiple points)のディスプレイへの対応付けの実施例をより詳細に説明する。   In this case, with reference to FIG. 2, FIG. 3 and FIG. 4, an embodiment of associating multiple points with a display will be described in more detail.

図2において、フローチャートは、ビューポートのサイズと位置がビューポート選択モジュールによりどのように選択できるか、及び複数の点(points)がどのように対応付けできるか、実施形態を説明している。   In FIG. 2, the flow chart describes an embodiment of how the viewport size and position can be selected by the viewport selection module and how multiple points can be associated.

留意点として、以下の実施形態は、所望のユーザ体験に関する設計上の意志決定に基づく。例えば、物理的な各点の他の物理的な点に対する相対的な位置は、ディスプレイへの投影時、保持されるものと仮定する。また、すべての入力間の距離は対称的にスケールされるものと仮定する。   It should be noted that the following embodiments are based on design decisions regarding the desired user experience. For example, assume that the relative position of each physical point to another physical point is retained when projected onto the display. Also assume that the distance between all inputs is scaled symmetrically.

ユーザ体験の他の一側面は、入力装置とディスプレイとの間の対応付けの種類である。対応付け(mapping)は相対的なものと絶対的なものがあり、各軸について独立でもよい。例えば、y軸に相対的対応付けを適用し、x軸に絶対的対応付けを適用してもよいし、その逆であってもよい。また、両方の軸について、異なる相対的対応付け(relative mappings)を用いることもできる。また、対応付けは、論理的座標に基づいても、または入力装置とディスプレイの物理的寸法に基づいてもよい。対応付けが装置の物理的寸法に基づく場合、空間的精度を高め、より直感的で認識効率の高いインタフェースを提供する。対応付けの種類に関するこれらの決定は、システムにおける任意的な設定であってもよい。   Another aspect of the user experience is the type of association between the input device and the display. There are relative and absolute mappings, and each axis may be independent. For example, relative association may be applied to the y axis, and absolute association may be applied to the x axis, or vice versa. Also, different relative mappings can be used for both axes. Also, the association may be based on logical coordinates or based on the physical dimensions of the input device and the display. When the association is based on the physical dimensions of the device, it increases the spatial accuracy and provides a more intuitive and recognition efficient interface. These decisions regarding the type of association may be arbitrary settings in the system.

ユーザ体験の他の一側面は制約ポリシーである。具体的に、装置入力はシステムのディスプレイ制約ポリシーを条件とできる。例えば、すべての装置入力を、ディスプレイ内に留まるように強制しても、またはそのうちの一装置入力のみを、ディスプレイ内に留まるように強制してもよい。他の一実施形態では、制約ポリシーを用いない。制約ポリシーに関するこれらの決定は、システムにおける任意的な設定であってもよい。   Another aspect of the user experience is a constraint policy. Specifically, device input can be conditional on the system's display constraint policy. For example, all device inputs may be forced to remain in the display, or only one device input may be forced to remain in the display. In another embodiment, no constraint policy is used. These decisions regarding constraint policies may be optional settings in the system.

ビューポートのサイズと位置は、各入力セッションの初めに決定される。例えば、ユーザ入力が無い期間の後、センサにより一または複数の入力点が検知されると、入力セッションの開始が検知される(200)。各軸のビューポートの寸法は、入力装置、ホストシステム、またはユーザにより確定され得る。この寸法は、目標ディスプレイ装置のパーセンテージまたは物理的な距離単位で表される。物理的な距離単位を用いる場合、入力センサとディスプレイの両方の物理的及び論理的(座標)範囲が、例えば、装置、ユーザ入力、またはその他の手段により提供される。ディスプレイ座標空間における出力ロケータの位置を読み出す(201)。この実施形態では、出力ロケータの位置は、(ユーザのログインに始まり、ユーザのログオフで終わる)ユーザセッションに対してグローバルである。出力ロケータ位置は、システムに接続された複数のシングルポインタ入力装置及びマルチポインタ入力装置間で共有され、更新される。出力ロケータは、前の入力セッションで保存された位置であってもよい。事前に入力セッションが無ければ、ディスプレイ装置の中心、マウスその他の装置の最終位置、または別のデフォルトディスプレイ位置が、出力ロケータ位置として用いられる。   The viewport size and position are determined at the beginning of each input session. For example, if one or more input points are detected by the sensor after a period of no user input, the start of an input session is detected (200). The dimensions of the viewport for each axis can be determined by the input device, host system, or user. This dimension is expressed as a percentage of the target display device or in physical distance units. When using physical distance units, the physical and logical (coordinate) ranges of both the input sensor and the display are provided, for example, by device, user input, or other means. The position of the output locator in the display coordinate space is read (201). In this embodiment, the location of the output locator is global for the user session (beginning with user login and ending with user logoff). The output locator position is shared and updated between a plurality of single pointer input devices and multi-pointer input devices connected to the system. The output locator may be a location saved in a previous input session. If there is no prior input session, the center of the display device, the final position of the mouse or other device, or another default display position is used as the output locator position.

次に、ディスプレイ装置と入力装置の既知のパラメータ、すなわち座標と境界が与えられると、各軸のスケーリングファクタが決定される(202)。これらのパラメータは、一般的に、メモリに格納される。ディスプレイ装置の場合、パラメータはシステムAPIを用いて読み出すことができる。入力装置の場合、パラメータは、装置問い合わせ(device interrogation)により読み出すことができる。ディスプレイ装置と入力装置の座標と境界(bounds)があれば、スケーリングファクタが決まる。絶対的対応付けを用いる場合、物理的範囲に基づく計算は必要ない。x軸とy軸のスケールファクタは、装置とディスプレイの座標範囲の一対一の比率に基づく。相対的対応付けを用いる場合、x軸とy軸のスケールファクタは、装置の寸法の、ディスプレイ座標中のビューポートの寸法に対する比率により決まる。スケールファクタは、一度計算され、メモリに格納され、必要に応じて読み出される。   Next, given the known parameters of the display and input devices, i.e. coordinates and boundaries, the scaling factor for each axis is determined (202). These parameters are typically stored in memory. In the case of a display device, the parameters can be read using the system API. In the case of an input device, the parameters can be read by device interrogation. If there are coordinates and bounds between the display device and the input device, the scaling factor is determined. When absolute mapping is used, calculations based on physical ranges are not necessary. The x-axis and y-axis scale factors are based on a one-to-one ratio of the device and display coordinate ranges. When using relative mapping, the x-axis and y-axis scale factors are determined by the ratio of device dimensions to viewport dimensions in display coordinates. The scale factor is calculated once, stored in memory, and read out as needed.

ディスプレイ座標空間におけるビューポート範囲、すなわち頂点のx及びy座標は、決定されたスケールファクタを用いて決定される(203)。新しい出力ロケータが次のように計算される前に、保存された出力ロケータを用いて入力セッションに対して最初にビューポート範囲が決定される。   The viewport range in the display coordinate space, i.e., the x and y coordinates of the vertices, is determined using the determined scale factor (203). The viewport range is first determined for the input session using the saved output locator before the new output locator is calculated as follows.

ディスプレイの画素密度を用いてスケールされたビューポートの場合、スケールファクタSVは非ゼロで、0と1の間の正値であり、ビューポートの範囲は、
Rv=
{LV0x−SVx/[2*extent(RDx)],
LV0x+SVx/[2*extent(RDx)],
LV0y−SVy/[2*extent(RDy)],
LV0y+SVy/[2*extent(RDy)]}、
ここで、LV0は初期ビューポートロケータであり、一般的には目標ディスプレイの中心であり、SVはスケールファクタであり、範囲(RD)はディスプレイのx及びy座標範囲、すなわち画素幅及び高さであり、添え字xとyはx軸及びy軸における値を示す。
For viewports scaled using the pixel density of the display, the scale factor SV is non-zero, a positive value between 0 and 1, and the viewport range is
Rv =
{LV0x-SVx / [2 * extent (RDx)],
LV0x + SVx / [2 * extent (RDx)],
LV0y-SVy / [2 * extent (RDy)],
LV0y + SVy / [2 * extent (RDy)]},
Where LV0 is the initial viewport locator, typically the center of the target display, SV is the scale factor, and the range (RD) is the x and y coordinate range of the display, ie pixel width and height. Yes, the subscripts x and y indicate values on the x-axis and the y-axis.

物理的寸法を用いるビューポートの場合、所望のサイズSVは非ゼロ、正数であり、目標ディスプレイの物理的範囲より大きくなく、ディスプレイの画素密度Dはハードウェア問い合わせにより知ることができ、ビューポートの範囲は、
Rv=
{[LV0x−SVx/[2*extent(RDx)]]*Dx+RDx.left,
[LV0x+[SVx/[2*extent(RDx)]]*Dx+RDx.left,
[LV0y−[SVy/[2*extent(RDy)]]*Dy+RDy.top,
[LV0y+SVy/[2*extent(RDy)]]*Dy+RDy.top}。
For viewports that use physical dimensions, the desired size SV is non-zero, positive, not larger than the physical range of the target display, and the pixel density D of the display can be determined by hardware query, The range of
Rv =
{[LV0x-SVx / [2 * extent (RDx)]] * Dx + RDx. left,
[LV0x + [SVx / [2 * extent (RDx)]] * Dx + RDx. left,
[LV0y- [SVy / [2 * extent (RDy)]] * Dy + RDy. top,
[LV0y + SVy / [2 * extent (RDy)]] * Dy + RDy. top}.

ビューポートの初期範囲が与えられると、最初は装置座標系中ににセンサロケータが決まる(204)。センサロケータを選択する方法はたくさんあり、所望のユーザインターラクションに応じて方法が選択される。例えば、センサにより一入力が検知された場合、センサロケータはこの一入力の座標であってもよい。複数の入力がある場合、センサロケータは、1つの「主要な」入力の位置であってもよいし、他の入力に関連した一点、例えばすべての点の幾何学的中心であってもよい。入力点が検知されなければ、センサロケータは確定されず、入力セッション間で存続しない。   Given the initial range of the viewport, a sensor locator is initially determined in the device coordinate system (204). There are many ways to select a sensor locator, and the method is selected according to the desired user interaction. For example, when one input is detected by the sensor, the sensor locator may be the coordinates of this one input. If there are multiple inputs, the sensor locator may be the location of one “primary” input, or it may be a point related to other inputs, for example the geometric center of all points. If no input point is detected, the sensor locator is not established and does not persist between input sessions.

主要な入力の位置をセンサロケータとして用いる場合、様々な方法を用いてその入力を主要なものとして選択しアサインすることができる。一般的に、「主要な」入力は、任意の方法により選択された入力点である。例えば、主要な入力は、そのセッションにおいて検知された最初の入力または最後の入力であり得る。この方法には、複数の入力が同時にあった場合に、無作為による選択を強制しなければならないという欠点がある。解決策としては、主要な入力を、ある形式の幾何学的順序により、例えば幾何学的ソーティングの式による最高次入力などにより選択することである。例えば、ソーティングの式は、すべての入力と基準点の幾何学的中心にある原点に対して、各入力点により形成される角度をソートできる。基準点は、例えば、ユーザの利き手に基づき測定された角度を有する垂直線であり得る。   When using the position of a primary input as a sensor locator, the input can be selected and assigned as the primary using various methods. In general, a “primary” input is an input point selected by any method. For example, the primary input may be the first or last input detected in the session. This method has the disadvantage of having to force a random selection when there are multiple inputs at the same time. The solution is to select the primary input by some form of geometric order, for example by the highest order input by a geometric sorting equation. For example, the sorting equation can sort the angle formed by each input point with respect to the origin at the geometric center of all inputs and reference points. The reference point can be, for example, a vertical line having an angle measured based on the user's dominant hand.

方法にかかわらず、センサロケータの決定は、入力の到着時間及び出発時間により影響を受ける。ユーザが複数の入力を同時に触れたいまたは離したいが、少し異なる時間に触れたまたは離した状況に対する保護として、短い時間ウィンドウ(例えば、10−60ms)を用いて、センサロケータの計算を遅らせることができる。   Regardless of the method, the determination of the sensor locator is affected by the arrival and departure times of the inputs. As a protection against situations where the user wants to touch or release multiple inputs at the same time but touches or releases at slightly different times, a short time window (eg, 10-60 ms) may be used to delay the calculation of the sensor locator. it can.

次に、センサロケータ一が、装置座標からディスプレイ座標に対応付けられる(205)。結果は、フレームの新しい出力ロケータ位置である。この位置は式[LS/extent(RS)*extent(RV)]+RV0により計算できる。ここで、LSはセンサロケータのxまたはy座標であり、extent(RS)はセンサ座標空間の幅または高さであり、extent(RV)はビューポートの幅または高さであり、RV0は初期ビューポートの幅または高さである。この新しい出力ロケータは、ディスプレイの境界内に制約される。   Next, a sensor locator is associated from the device coordinates to the display coordinates (205). The result is the new output locator position of the frame. This position can be calculated by the formula [LS / extent (RS) * extent (RV)] + RV0. Where LS is the x or y coordinate of the sensor locator, extent (RS) is the width or height of the sensor coordinate space, extent (RV) is the width or height of the viewport, and RV0 is the initial view The width or height of the port. This new output locator is constrained within the boundaries of the display.

新しい出力ロケータが与えられると、ビューポートは、ビューポートロケータを取得することにより、ディスプレイ座標空間中に配置される(206)。セッションの最初のフレームについて、ビューポート位置が決定される。後続のフレームにおいて、その位置がメモリから読み出される。ビューポートの位置は論理的に決定される。すなわち、ビューポートを表示するかどうかは任意的である。実際、ほとんどの実施形態では、ビューポートを表示しない方が好ましいようだ。   Given a new output locator, the viewport is placed in the display coordinate space by obtaining the viewport locator (206). For the first frame of the session, the viewport position is determined. In subsequent frames, the position is read from memory. The position of the viewport is determined logically. That is, whether or not to display the viewport is arbitrary. In fact, in most embodiments it would be preferable not to display the viewport.

上記の通り、ビューポートはディスプレイ上の入力センサ座標空間のプロジェクションであり、ビューポートロケータ位置はディスプレイ座標におけるビューポートの幾何学的中心である。上記の通り、出力ロケータとは異なり、ビューポートは入力がセンサにより検知されなければ、確定されない。ビューポートは(ユーザセッションに対してグローバルではなく)装置インスタンスに関連し、その位置はユーザがセンサ上に最初に入力した時に更新される。入力セッションが始まると、その入力セッションが終わるまで、ビューポートはフレーム間で静止している。フレームが入力セッションの継続を示す(前と現在のフレームの両方の入力のリストが空でない)場合、ビューポートロケータがメモリから読み出される。フレームが新しい入力セッションの始まりである場合、ビューポートロケータは(ステップ205で決定された)センサロケータと(ステップ201で決定された)出力ロケータ位置との間のオフセットを決めることにより、次式により得られる。
ΔLD=LD−LD0
LV=[LS/extent(RS)*extent(RV)]+LV0+ΔLD
LVは目標ディスプレイの境界に制約され、上記の決められたビューポートの範囲は新しいビューポートロケータを用いて再計算される。
As described above, the viewport is a projection of the input sensor coordinate space on the display, and the viewport locator position is the geometric center of the viewport in display coordinates. As described above, unlike the output locator, the viewport is not determined unless the input is detected by a sensor. The viewport is associated with a device instance (not global to the user session) and its position is updated when the user first enters on the sensor. When an input session begins, the viewport is stationary between frames until the input session ends. If the frame indicates the continuation of the input session (the list of inputs for both previous and current frames is not empty), the viewport locator is read from memory. If the frame is the beginning of a new input session, the viewport locator determines the offset between the sensor locator (determined in step 205) and the output locator position (determined in step 201) by can get.
ΔLD = LD-LD0
LV = [LS / extent (RS) * extent (RV)] + LV0 + ΔLD
The LV is constrained to the target display boundary and the determined viewport range is recalculated using the new viewport locator.

センサロケータ、ビューポートロケータ、及びフレームの出力ロケータを計算した後、そのフレームのセンサ入力が、以下により詳しく説明するように、ディスプレイ座標に対応付けられる(208)。ステップ210で決定されたように、入力セッションが終わると、入力セッションに関する情報(最後の出力ロケータなど)が保存される(212)。入力セッションが終わっておらず、(ステップ214で決定された)更新されたセンサ入力位置が受け取られた場合、プロセスは、そのフレームのセンサロケータを決定するステップ204から、これらの新しい入力をディスプレイに対応付けするステップ208までを繰り返す。しかし、フレームが継続中のセッションの一部である場合、ビューポートロケータはステップ206で決定されず、メモリから読み出される。   After calculating the sensor locator, the viewport locator, and the output locator for the frame, the sensor input for that frame is mapped to display coordinates (208), as will be described in more detail below. As determined at step 210, when the input session ends, information about the input session (such as the last output locator) is saved (212). If the input session has not ended and an updated sensor input position (determined in step 214) has been received, the process transfers these new inputs to the display from step 204 to determine the sensor locator for that frame. Steps up to step 208 for association are repeated. However, if the frame is part of an ongoing session, the viewport locator is not determined at step 206 and is read from memory.

図3は、ビューポートのサイズと位置が与えられると、センサ入力がビューポート中の点にどうやって対応付けられるかを、(関連する対応付けが行われる場合の)単一ディスプレイ上での境界条件の強制も含めて示している。図3は、すべての入力がディスプレイ中にあるように制約された場合を示す。   Figure 3 shows how a sensor input is mapped to a point in the viewport given the size and position of the viewport, and the boundary conditions on a single display (when the associated mapping is made) It is shown including the compulsory. FIG. 3 shows the case where all inputs are constrained to be in the display.

システムは、装置から入力点のリストを受け取る(300)。各入力点は装置座標空間中の座標を有する。次に、入力点を、ディスプレイ座標空間中の対応する点に対応付ける(302)。例えば、装置座標空間中点CSのディスプレイ座標空間中の座標CDは、[CS/extent(RS)*extent(RV)]+RVにより計算できる。   The system receives a list of input points from the device (300). Each input point has coordinates in the device coordinate space. Next, the input point is associated with a corresponding point in the display coordinate space (302). For example, the coordinate CD in the display coordinate space of the device coordinate space midpoint CS can be calculated by [CS / extent (RS) * extent (RV)] + RV.

入力点を含む境界ボックスを確定する(304)。境界ボックスの角が、ディスプレイの見える範囲に対応付けられ、比較される(306)。ディスプレイの見えるエリアの外側に境界ボックスの角が一つも無い場合に、入力対応付けが保持される(310)。そうでなければ、境界ボックスをディスプレイの見える範囲内に動かすオフセットを決定する(312)。最小の救済オフセットの計算において、入力境界ボックスの各非適合角の前と現在のフレームの間の変位ベクトルまたは個々の入力は、経路と、それの見えるディスプレイ境界との交点とを確定する。救済オフセットは、その経路の原点と交点との間の変位である。このオフセットを入力点に適用して、ディスプレイの見えるエリア内の新しい位置に再び対応付ける。 A bounding box including the input point is determined (304). The corners of the bounding box are matched to the visible range of the display and compared (306) . Corners of the bounding box on the outside of the area overlooking the de Isupurei is when there is no one input correspondence is maintained (310). Otherwise, determine the offset to move the bounding box within the visible range of the display (312). In calculating the minimum relief offset, the displacement vector or individual input between each non-conforming angle in the input bounding box and the current frame establishes the path and the intersection of its visible display boundaries. The relief offset is the displacement between the origin of the path and the intersection. This offset is applied to the input point to re-associate it with a new position in the visible area of the display.

他の一実施形態では、装置からの少なくとも一入力点は表示され続けるように、制約される。図4において、システムは、装置から入力点のリストを受け取る(400)。各入力点は装置座標空間中の座標を有する。次に、入力点を、ディスプレイ座標空間中の対応する点に対応付ける(402)。入力点を含む境界ボックスを確定する(404)。境界ボックスの角が、ディスプレイの見える範囲と比較される(406)。境界ボックスの少なくとも一つの角がディスプレイの見えるエリアにあれば、入力対応付けが保持される(410)。そうでなければ、境界ボックスの少なくとも一点をディスプレイの見える範囲内に動かす救済オフセットを決定する(412)。次に、含まれる角に最も近い入力のオフセットを決定し、救済オフセットに適用する(414)。この更新されたオフセットを入力点に適用して、ディスプレイの見えるエリア内の新しい位置に再び対応付ける。   In another embodiment, at least one input point from the device is constrained to remain displayed. In FIG. 4, the system receives a list of input points from the device (400). Each input point has coordinates in the device coordinate space. Next, the input point is associated with a corresponding point in the display coordinate space (402). A bounding box including the input point is determined (404). The bounding box corners are compared (406) to the visible range of the display. If at least one corner of the bounding box is in the visible area of the display, the input association is maintained (410). Otherwise, a relief offset that moves at least one point of the bounding box within the visible range of the display is determined (412). Next, the input offset closest to the included corner is determined and applied to the relief offset (414). This updated offset is applied to the input point to re-associate it with a new position in the visible area of the display.

複数のモニタディスプレイに対して、プロセスは同様である。ディスプレイの可視エリアの交わりが、内部に隙間のない、単一の四角形の「仮想的」ディスプレイである規則的なディスプレイトポロジーがある。規則的なディスプレイトポロジーの場合、仮想的ディスプレイ面の境界へ複数の入力を制限することは、単一ディスプレイの場合のそれと同じである。ディスプレイの可視エリアの交わりが、凸型または凹型の内部のすきまを有する直線的な仮想ディスプレイである不規則なディスプレイトポロジーもあり得る。これらのディスプレイトポロジーに対して、上記の方法を用いて救済オフセットを計算して適用できる。   The process is similar for multiple monitor displays. There is a regular display topology where the intersection of the visible areas of the display is a single square “virtual” display with no gaps inside. For regular display topologies, restricting multiple inputs to the boundaries of the virtual display surface is the same as for a single display. There may also be irregular display topologies where the intersection of the visible areas of the display is a linear virtual display with a convex or concave internal clearance. A relief offset can be calculated and applied to these display topologies using the method described above.

しかし、別のうまくいかないケースは、点が凸型または凹型の内部の隙間の一つの中にある場合、ディスプレイの見えるエリアの外側の点のみを含む境界ボックスを計算して、救済オフセットを計算するのに使える。この場合、ディスプレイの可視エリアに対応付けられない入力点を含むように、境界ボックスが計算される。ここでは、これを不適合な境界ボックスと呼ぶ。不適合な境界ボックスの少なくともひとつの角がディスプレイの可視部分内に含まれるようにする最小の救済オフセットを計算する。この救済オフセットはすべての入力に対して装置・ディスプレイ変換に適用される。   However, another unsuccessful case is to calculate a relief offset by calculating a bounding box that contains only points outside the visible area of the display if the point is in one of the convex or concave internal gaps. Can be used for. In this case, the bounding box is calculated to include input points that are not associated with the visible area of the display. Here, this is called a non-conforming bounding box. Calculate the minimum relief offset that ensures that at least one corner of the non-conforming bounding box is contained within the visible portion of the display. This relief offset is applied to device / display conversion for all inputs.

複数のモニタの場合の境界条件のより具体的な実施形態をここで説明する。   More specific embodiments of boundary conditions in the case of multiple monitors will now be described.

この例では、各入力に対して、目標境界ディスプレイ(RD,target)を次のように決定する。まず、入力位置CDが仮想ディスプレイ面の可視領域内に含まれないか、判断する。含まれなければ、前のフレームの入力のディスプレイの座標RD0を読み出す。新しいセッションを表すフレームに対して、これらの座標を出力ロケータ位置LDを含むディスプレイの座標で置き換える。次に、x軸またはy軸のどちらかで、入力CDがRD0により制約されているか判断する。どちらかの軸で位置テストをする場合、目標境界ディスプレイはディスプレイRD0である。さもなければ、入力はディスプレイRD0の境界線を越えている。この入力に対して、センサ座標の変位ベクトルΔSS:ΔSS=CS−CS0を決定する。センサの範囲extent(RS)を読み出す。変位の主要軸を決定する。|ΔSSx/extent(RSx)|>=|ΔSSy/extent(RSy)|であれば、X軸が支配的である。そうでなければ、Y軸が支配的である。   In this example, the target boundary display (RD, target) is determined as follows for each input. First, it is determined whether or not the input position CD is included in the visible region of the virtual display surface. If not included, the display coordinates RD0 of the input of the previous frame are read out. For the frame representing the new session, replace these coordinates with the coordinates of the display containing the output locator position LD. Next, it is determined whether the input CD is constrained by RD0 on either the x-axis or the y-axis. When performing a position test on either axis, the target boundary display is display RD0. Otherwise, the input is beyond the border of display RD0. For this input, a displacement vector ΔSS: ΔSS = CS−CS0 of sensor coordinates is determined. The sensor range extent (RS) is read out. Determine the main axis of displacement. If | ΔSSx / extent (RSx) |> = | ΔSSy / extent (RSy) |, the X-axis is dominant. Otherwise, the Y axis is dominant.

入力変位の主要軸を用いて目標境界ディスプレイを決定する。X軸が支配的である場合、目標境界ディスプレイRDは次の条件を満たすディスプレイである:
1.入力がディスプレイの水平範囲に入る;
2.目標ディスプレイが入力の主要移動方向であり、最後のディスプレイとその境界を共有している;及び
3.最後の入力位置がディスプレイの垂直範囲内にある。
Y軸が支配的である場合、目標境界ディスプレイRDは次の条件を満たす:
1.入力がディスプレイの垂直範囲に入る;
2.目標ディスプレイが入力の主要移動方向であり、最後のディスプレイとその境界を共有している;及び
3.最後の入力位置がディスプレイの水平範囲内にある。
The target boundary display is determined using the main axis of input displacement. If the X axis is dominant, the target boundary display RD is a display that satisfies the following conditions:
1. Input falls within the horizontal range of the display;
2. 2. The target display is the primary direction of movement of the input and shares its boundary with the last display; The last input position is within the vertical range of the display.
If the Y axis is dominant, the target boundary display RD satisfies the following conditions:
1. Input falls within the vertical range of the display;
2. 2. The target display is the primary direction of movement of the input and shares its boundary with the last display; The last input position is within the horizontal range of the display.

主要方向を用いて目標境界ディスプレイを決定できない場合、非主要方向で検索を行う。目標境界ディスプレイがまだ見つからない場合、目標ディスプレイはその入力の前のディスプレイである。   If the target boundary display cannot be determined using the main direction, the search is performed in the non-main direction. If the target boundary display is not yet found, the target display is the display before the input.

一入力の目標境界ディスプレイが与えられると、入力がそのディスプレイに固定され、固定オフセットが計算されて格納される。固定オフセットはすべての入力に適用され、入力間の相対的な距離が維持される。このように入力を調整した後、再びすべてをテストして、ディスプレイの見える部分にあるか確認する。   Given a single input target boundary display, the input is fixed to that display and a fixed offset is calculated and stored. A fixed offset is applied to all inputs and the relative distance between the inputs is maintained. After adjusting the input in this way, test everything again to see if it is in the visible part of the display.

いくつかのインターラクションモードでは、センサで同時に複数の入力をしようとするユーザの意図を実現するのに、短い時間しかない。セッションの最初の入力があると、タイマーが起動され、入力は非アクティブとマークされ、センサロケータの決定が、タイマーが経過するまで遅らされ、または入力が無くなると終了される。同様に、ユーザは複数の入力を同時にしても良い。センサロケータの位置に影響を与えずにこの意図を実現するため、タイマーを用いることもできる。タイマーが起動され、そのタイマーが経過するまで、その複数の入力が継続的にセンサロケータの計算に含められる。   In some interaction modes, there is only a short time to realize the user's intention to make multiple inputs simultaneously with the sensor. When there is an initial input for the session, a timer is started, the input is marked as inactive, sensor locator determination is delayed until the timer expires or is terminated when there is no input. Similarly, the user may make a plurality of inputs simultaneously. A timer can also be used to realize this intention without affecting the position of the sensor locator. A timer is started and the inputs are continuously included in the sensor locator calculation until the timer expires.

上記の説明では、相対的及び絶対的対応付けモードの両方において、複数の入力点がディスプレイ座標に直接対応付けられる。しかし、相対的対応付けモードでは、入力装置は目標ディスプレイ座標空間の一部のみに広がっている。それゆえ、入力点の動きが検出されているうちに、その点の、ある形式の加速が適用されなければ、一表示位置から他の一表示位置へのナビゲーションには複数のストロークが含まれ得る。逆に、ピクセルレベルの、ポイントツーポイントの目標精度を達成するため、その点の、ある形式の減速を用いることができる。かかる加速と減速は、「ポインタ弾道」と呼ばれることもあるが、以下のように、マルチ入力の間接的入力装置に適用できる。入力装置における入力点の変位は、装置座標空間からディスプレイ座標空間への入力点の対応付けにおいて考慮され、場合によって、ディスプレイ上でのそれらの点の動きを加速または減速する。一般的に、入力点の変位の尺度を決定する。この変位は、入力装置点の対応ディスプレイ座標への対応付けをどのように変更するか、その変位に基づいて決定する関数への入力である。   In the above description, multiple input points are directly associated with display coordinates in both relative and absolute association modes. However, in the relative association mode, the input device extends only to a part of the target display coordinate space. Therefore, navigation from one display position to another display position can include multiple strokes if movement of the input point is detected and some form of acceleration of that point is not applied. . Conversely, some form of deceleration at that point can be used to achieve pixel-level, point-to-point target accuracy. Such acceleration and deceleration may be called “pointer trajectory”, but can be applied to a multi-input indirect input device as follows. The displacement of the input points in the input device is taken into account in the mapping of the input points from the device coordinate space to the display coordinate space, and depending on the case, the movement of those points on the display is accelerated or decelerated. In general, a measure of the displacement of the input point is determined. This displacement is an input to a function that determines how to change the association of the input device points to the corresponding display coordinates based on the displacement.

一実施形態では、各入力点の変位が決められる。変位ベクトルが最小である入力のセンサ画素における物理的変位は、加速曲線変換され、単一の加速されたディスプレイ変位を生成する。これは出力ロケータ及びすべての点のディスプレイ変位に適用される。加速関数の入力は、ベクトルの大きさ、または各軸の値のいずれかでよく、2つの異なる加速関数に入力できる。ここで、この実施形態を図5を参照して説明する。   In one embodiment, the displacement of each input point is determined. The physical displacement at the input sensor pixel with the smallest displacement vector is accelerated curve transformed to produce a single accelerated display displacement. This applies to the output locator and the display displacement of all points. The input of the acceleration function can be either the magnitude of the vector or the value of each axis, and can be input to two different acceleration functions. This embodiment will now be described with reference to FIG.

まず、第1と第2の時点から、入力センサ上の入力点が受け取られる(500)。動いているまたは静止した入力を一意的に特定しトラッキングする方法は、本技術分野において「入力認識及びトラッキング」として知られるが、装置やセンサにより決まることに留意されたい。本発明は、特定の入力認識及びトラッキング手法に限定されない。本技術分野において適切であると思われる認識及びトラッキングの任意の手法を用いることができる。   First, an input point on an input sensor is received from first and second time points (500). Note that the method of uniquely identifying and tracking a moving or stationary input, known in the art as “input recognition and tracking”, depends on the device and sensor. The present invention is not limited to a particular input recognition and tracking technique. Any recognition and tracking technique deemed appropriate in the art can be used.

ある時間内の各入力の各次元における装置座標(すなわち、画素)における変位を決定する(502)。その時間が一定であると分かっている場合、変位のみを使うことができる。そうでなければ、その時間を用いて速さを計算する。   The displacement in device coordinates (ie, pixels) in each dimension of each input within a time is determined (502). If the time is known to be constant, only the displacement can be used. Otherwise, use that time to calculate the speed.

入力の各時間すなわち「フレーム」について、最小の変位または速さを特定する(504)。大きさが(平均や最大ではなく)最小の入力を選択し、入力センサにおいて静止している入力が、ディスプレイに対応付けられた時に、静止したままであるようにする。   For each time or “frame” of input, a minimum displacement or speed is identified (504). The input with the smallest magnitude (not the average or maximum) is selected so that the stationary input at the input sensor remains stationary when associated with the display.

特定された入力の変位を、センサの画素密度を用いて、画素における変位から、物理的変位に変換できる。変位値を加速関数への入力として用いて、その値を加速された変位に変換する(506)。本発明は、用いられる特定の加速度の式により限定されない。マウスポインタの加速などに用いられているように、本技術分野で現在用いられている合理的な手法を用いることができる。本発明は、概して、各座標軸(x、y、またはz)の独立した加速を許容する加速度の式に適用できる。好適な変換を、変位値を加速された変位値に対応付ける、部分ごとの線形関数を用いて実施できる。加速された変位値は、物理的次元に基づく場合、画素座標に変換して戻すことができる。   The identified input displacement can be converted from displacement at the pixel to physical displacement using the pixel density of the sensor. Using the displacement value as an input to the acceleration function, the value is converted to an accelerated displacement (506). The present invention is not limited by the particular acceleration equation used. The rational method currently used in this technical field can be used like it is used for acceleration of a mouse pointer. The present invention is generally applicable to acceleration equations that allow independent acceleration of each coordinate axis (x, y, or z). A suitable transformation can be performed using a linear function for each part that maps the displacement value to the accelerated displacement value. The accelerated displacement value can be converted back to pixel coordinates if based on physical dimensions.

加速された変位は、ディスプレイ座標空間における加速された変位に変換される(508)。例えば、変換は次式DCD=DCS/extent(RS)*extent(RV)]+RVで表すことができる。ディスプレイ座標に対応付けされた各入力位置は、加速された変位により調整される(510)。   The accelerated displacement is converted to an accelerated displacement in the display coordinate space (508). For example, the conversion can be expressed by the following equation: DCD = DCS / extent (RS) * extent (RV)] + RV. Each input position associated with the display coordinates is adjusted (510) by the accelerated displacement.

絶対的対応付けされた次元の場合、図6を参照して説明するように、スパン調整と呼ばれる同様の方法を用いることができる。図6において、各センサロケータからの各入力の変位を、装置座標空間の画素単位で、決定する(600)。最小変位を選択する(602)。この最小変位値を、装置の画素密度を用いて、物理的次元に変換する(604)。物理的次元における最小変位値を、任意の適切な変換を用いて、スパン調整値に変換する(606)。好適な変換は、変位値をスパン調整値に対応付ける部分ごとの線形関数などの加速度変換と同様であってもよい。このスパン調整値は、画素値に変換して戻される(608)。加速度と同様に、スパン調整値はディスプレイ画素値に変換され(610)、各入力点はその値を用いて調整される(612)。   For absolute associated dimensions, a similar method called span adjustment can be used, as described with reference to FIG. In FIG. 6, the displacement of each input from each sensor locator is determined in units of pixels in the device coordinate space (600). A minimum displacement is selected (602). This minimum displacement value is converted to physical dimensions using the pixel density of the device (604). The minimum displacement value in the physical dimension is converted to a span adjustment value using any suitable conversion (606). A suitable transformation may be similar to an acceleration transformation such as a linear function for each part that maps the displacement value to the span adjustment value. This span adjustment value is converted back to a pixel value (608). Similar to acceleration, span adjustment values are converted to display pixel values (610), and each input point is adjusted using that value (612).

留意点として、入力点への加速度とスパンの調整修正は、点が見えるディスプレイエリアに留まるようにする境界条件を適用する前に行われる。   Note that the acceleration and span adjustments to the input points are done before applying boundary conditions that allow the points to remain in the display area where they can be seen.

実施例を説明したので、かかるシステムが動作するように設計されたコンピューティング環境を説明する。以下の説明は、このシステムを実施できる好適なコンピューティング環境の簡単な一般的説明するものである。本システムは、多数の汎用または特定用途のコンピューティングハードウェア構成で実施することができる。好適な周知のコンピューティング装置の例には、限定ではなく、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置(例えば、メディアプレーヤ、ノートブックコンピュータ、セルラー電話、パーソナルデジタルアシスタント、ボイスレコーダ)、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、ゲームコンソール、プログラマブルコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。   Having described the embodiments, a computing environment designed to operate such a system will be described. The following description is a brief general description of a suitable computing environment in which this system can be implemented. The system can be implemented with numerous general purpose or special purpose computing hardware configurations. Examples of suitable well-known computing devices include, but are not limited to, personal computers, server computers, handheld or laptop devices (eg, media players, notebook computers, cellular phones, personal digital assistants, voice recorders), multiprocessors Systems, microprocessor-based systems, set-top boxes, game consoles, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like.

図7は、好適なコンピューティング環境の一例を示す。上記のコンピューティングシステム環境は、好適なコンピューティング環境の単なる一例であって、かかるコンピューティング環境の利用や機能の範囲に関する限定を示唆するものではない。どのコンピューティング環境も、上記の動作環境に示したコンポーネントのどれかまたはその組合せに依存するまたは必要とすると解してはならない。   FIG. 7 illustrates an example of a suitable computing environment. The above computing system environment is merely one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of such a computing environment. No computing environment should be construed as depending on or required by any one or combination of components illustrated in the operating environment above.

図7を参照し、コンピューティング環境例はコンピューティングマシン700などのコンピューティングマシンを含む。最も基本的な構成では、コンピューティングマシン700は少なくとも1つの処理ユニット702とメモリ704を含む。コンピューティング装置は、複数の処理ユニット及び/または追加的なグラフィックス処理ユニット720などのコ・プロセッシングユニット(co-processing units)を含む。コンピューティング装置の構成とタイプに応じて、メモリ704は、(RAMなどの)揮発性であっても、(ROMやフラッシュメモリなどの)不揮発性であっても、これらの組合せであってもよい。この最も基本的な構成を図7において破線706で示した。また、コンピューティングマシン700は、追加的特徴や機能を有していてもよい。例えば、コンピューティングマシン700は、磁気または光学のディスクまたはテープなどを含むがこれらに限定されない(リムーバブル及び/または非リムーバブルの)追加的な記憶も含み得る。かかる追加的記憶は、図7において、リムーバブル記憶708及び非リムーバブル記憶710により示されている。コンピュータ記憶媒体には、コンピュータプログラム命令、データ構造、プログラムモジュールその他のデータなどの情報を記憶するための任意の方法や技術で実施された、揮発性および不揮発性、リムーバブルまたは非リムーバブルの媒体を含む。メモリ704、リムーバブル記憶708、及び非リムーバブル記憶710は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)その他の光ディスク記憶媒体、磁気カセット、磁気テープ、磁気ディスク記憶その他の磁気記憶装置、またはその他の、所望の情報の記憶に使え、コンピューティングマシン700によりアクセスできる任意の媒体を含むが、これらに限定されない。かかるコンピュータ記憶媒体はコンピューティングマシン700の一部であり得る。   With reference to FIG. 7, an exemplary computing environment includes a computing machine, such as computing machine 700. In its most basic configuration, computing machine 700 includes at least one processing unit 702 and memory 704. The computing device includes a plurality of processing units and / or co-processing units such as additional graphics processing units 720. Depending on the configuration and type of computing device, the memory 704 may be volatile (such as RAM), non-volatile (such as ROM or flash memory), or a combination thereof. . This most basic configuration is indicated by a broken line 706 in FIG. In addition, the computing machine 700 may have additional features and functions. For example, the computing machine 700 may also include additional storage (removable and / or non-removable), including but not limited to magnetic or optical disks or tapes and the like. Such additional storage is illustrated in FIG. 7 by removable storage 708 and non-removable storage 710. Computer storage media includes volatile and nonvolatile, removable or non-removable media implemented in any method or technique for storing information such as computer program instructions, data structures, program modules and other data. . Memory 704, removable storage 708, and non-removable storage 710 are all examples of computer storage media. Computer storage media include RAM, ROM, EEPROM, flash memory and other memory technologies, CD-ROM, digital versatile disk (DVD) and other optical disk storage media, magnetic cassettes, magnetic tape, magnetic disk storage and other magnetic storage devices, or Other, but not limited to, any medium that can be used to store desired information and that can be accessed by computing machine 700. Such computer storage media may be part of computing machine 700.

コンピューティングマシン700は、装置が他の装置と通信できるようにする通信接続712も含み得る。通信接続712は通信媒体の一例である。通信媒体は、一般的に、キャリア波などの変調データ信号やその他の伝送メカニズム中のコンピュータプログラム命令、データ構造、プログラムモジュールその他のデータを担い、任意の情報配信媒体を含む。「変調データ信号」との用語は、情報を信号にエンコードするように設定または変更された特徴を有し、信号を受信する装置の構成や状態を変化させる信号を意味する。限定でなく例示として、通信媒体は、優先ネットワークや直接優先接続などの有線媒体と、音響、RF、赤外線、その他の無線媒体などの無線媒体とを含む。   The computing machine 700 may also include communication connections 712 that allow the device to communicate with other devices. Communication connection 712 is an example of a communication medium. Communication media typically carry modulated data signals such as carrier waves and computer program instructions, data structures, program modules and other data in other transmission mechanisms and include any information delivery media. The term “modulated data signal” means a signal that has the characteristics set or changed to encode information in the signal, and that changes the structure or state of the device that receives the signal. By way of example, and not limitation, communication media includes wired media such as a priority network and direct priority connection, and wireless media such as acoustic, RF, infrared and other wireless media.

コンピューティングマシン700は、キーボード、マウス、ペン、カメラ、タッチ入力装置などの様々な入力装置714を有する。ディスプレイスピーカ、プリンタなどの出力装置716を含んでいてもよい。これらの装置はすべて本技術分野で周知であり、これ以上説明する必要はない。   The computing machine 700 has various input devices 714 such as a keyboard, a mouse, a pen, a camera, and a touch input device. An output device 716 such as a display speaker or a printer may be included. All these devices are well known in the art and need not be described further.

システムは、コンピューティングマシンにより処理される、プログラムモジュールなどのコンピュータ実行可能命令及び/またはコンピュータインタープリタ命令を含むソフトウェアの一般的なコンテキストで実施することもできる。一般的に、プログラムモジュールには、処理ユニットにより処理されたときに、あるタスクを実行したり、ある抽象的データタイプをインプリメントするように処理ユニットに命令する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。このシステムは、通信ネットワークによりリンクされたリモート処理装置によりタスクが実行される分散計算環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカル及びリモートのコンピュータ記憶媒体の両方に配置できる。   The system may also be implemented in the general context of software, including computer-executable instructions and / or computer interpreter instructions, such as program modules, being processed by a computing machine. Generally, a program module includes a routine, program, object, component, or data that, when processed by the processing unit, instructs the processing unit to perform a task or implement an abstract data type. Structure etc. are included. The system can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.

添付した請求項のプリアンブルの「製品」、「方法」、「マシン」、及び「物質組成」との用語は、請求項を、米国特許法第101条におけるこれらの用語の使用により画定される保護対象の主題の範囲内になるように限定するものである。   The terms “product”, “method”, “machine”, and “substance composition” of the preamble of the appended claims refer to the claims and the protection defined by the use of these terms in 35 USC 101. It is limited to be within the scope of the subject matter.

ここに説明した実施形態を必要に応じて組み合わせて、追加的なハイブリッドの実施形態を構成することもできる。言うまでもなく、添付した請求項で画定した主題は、上記の具体的な実施形態に必ずしも限定されない。上記の具体的な実施形態は単に例として開示したものである。
The embodiments described herein can be combined as needed to form additional hybrid embodiments. Needless to say, the subject matter defined in the appended claims is not necessarily limited to the specific embodiments described above. The specific embodiments described above are disclosed by way of example only.

Claims (9)

コンピュータにより実施される方法であって、
複数のフレームについて、マルチポインタ間接入力装置から複数の入力点を示す情報をメモリに受け取るステップであって、各入力点はセンサ座標系における位置を有するステップと、
前記センサ座標系における位置から前記複数のフレームのうちの一フレームの前記複数の入力点を、ディスプレイのディスプレイ座標空間中の複数の位置に対応付けるステップと、
前記複数のフレームのうちの他の一フレーム中の一以上の他の点に対して、前記複数のフレームのうちの前記一フレーム中の前記複数の入力点の各々の変位を決定するステップと、
前記決定された変位により、前記複数のフレームのうちの前記一フレーム中の前記複数の入力点の前記ディスプレイ座標空間中の複数の位置を修正するステップと、
前記複数の点のうちの変位が最も小さい点を選択するステップと、
前記最も小さい変位によりオフセットを決定するステップと、
各入力点について、対応付けられた位置に前記オフセットを加えるステップと、
前記入力点の前記ディスプレイ座標空間中の修正された位置により、前記ディスプレイに前記複数の入力点を表す複数の点を表示するステップと
を有する、方法。
A computer-implemented method comprising:
For a plurality of frames, receiving information indicating a plurality of input points from a multi-pointer indirect input device into a memory, each input point having a position in a sensor coordinate system; and
Associating the plurality of input points of one frame of the plurality of frames from a position in the sensor coordinate system with a plurality of positions in a display coordinate space of a display;
Determining a displacement of each of the plurality of input points in the one frame of the plurality of frames relative to one or more other points in the other frame of the plurality of frames;
Modifying a plurality of positions in the display coordinate space of the plurality of input points in the one frame of the plurality of frames by the determined displacement;
Selecting a point having the smallest displacement among the plurality of points;
Determining an offset from the smallest displacement;
Adding the offset to the associated position for each input point;
Displaying a plurality of points representing the plurality of input points on the display according to a corrected position of the input point in the display coordinate space.
前記対応付けを修正するステップは、
前記複数の点のうちの変位が最も小さい点を選択するステップと、
前記最も小さい変位により前記複数の入力点に関する基準点に、オフセットを適用するステップと、
各入力点について、その位置を、前記基準点からのオフセットにより決定するステップと
を有する、請求項1に記載の方法。
The step of correcting the association includes
Selecting a point having the smallest displacement among the plurality of points;
Applying an offset to a reference point for the plurality of input points with the smallest displacement;
The method according to claim 1, further comprising: determining the position of each input point by an offset from the reference point.
前記他の一フレームの他の点は、前記他の一フレーム中の前記入力点の位置である、
請求項1に記載の方法。
The other point of the other frame is the position of the input point in the other frame.
The method of claim 1.
前記他のフレーム中の前記他の点は前記他のフレームのセンサロケータである、
請求項1に記載の方法。
The other point in the other frame is a sensor locator of the other frame;
The method of claim 1.
小さな変位により、一フレームから次のフレームへの点の変位を減らすように、対応付けが調整される、請求項1に記載の方法。   The method of claim 1, wherein the correspondence is adjusted so that a small displacement reduces the displacement of a point from one frame to the next. 大きな変位により、一フレームから次のフレームへの点の変位を増やすように、対応付けが調整される、請求項1に記載の方法。   The method of claim 1, wherein the correspondence is adjusted so that a large displacement increases the displacement of a point from one frame to the next. 前記対応付けを修正するステップは、各軸に対して異なる加速機能を適用する、
請求項1に記載の方法。
The step of modifying the association applies a different acceleration function for each axis;
The method of claim 1.
前記対応付けを修正するステップは、前記変位の大きさにより加速を適用する、
請求項1に記載の方法。
The step of modifying the correspondence applies acceleration according to the magnitude of the displacement;
The method of claim 1.
コンピュータに、
複数のフレームについて、マルチポインタ間接入力装置から複数の入力点を示す情報をメモリに受け取るステップであって、各入力点はセンサ座標系における位置を有するステップと、
前記センサ座標系における位置から前記複数のフレームのうちの一フレームの前記複数の入力点を、ディスプレイのディスプレイ座標空間中の複数の位置に対応付けるステップと、
前記複数のフレームのうちの他の一フレーム中の一以上の他の点に対して、前記複数のフレームのうちの前記一フレーム中の前記複数の入力点の各々の変位を決定するステップと、
前記決定された変位により、前記複数のフレームのうちの前記一フレーム中の前記複数の入力点の前記ディスプレイ座標空間中の複数の位置を修正するステップと、
前記複数の点のうちの変位が最も小さい点を選択するステップと、
前記最も小さい変位によりオフセットを決定するステップと、
各入力点について、対応付けられた位置に前記オフセットを加えるステップと、
前記入力点の前記ディスプレイ座標空間中の修正された位置により、前記ディスプレイに前記複数の入力点を表す複数の点を表示するステップと
を実行させる、コンピュータプログラム。
On the computer,
For a plurality of frames, receiving information indicating a plurality of input points from a multi-pointer indirect input device into a memory, each input point having a position in a sensor coordinate system; and
Associating the plurality of input points of one frame of the plurality of frames from a position in the sensor coordinate system with a plurality of positions in a display coordinate space of a display;
Determining a displacement of each of the plurality of input points in the one frame of the plurality of frames relative to one or more other points in the other frame of the plurality of frames;
Modifying a plurality of positions in the display coordinate space of the plurality of input points in the one frame of the plurality of frames by the determined displacement;
Selecting a point having the smallest displacement among the plurality of points;
Determining an offset from the smallest displacement;
Adding the offset to the associated position for each input point;
And displaying a plurality of points representing the plurality of input points on the display according to the corrected positions of the input points in the display coordinate space.
JP2014537345A 2011-10-20 2012-10-20 Interaction by acceleration of multi-pointer indirect input device Active JP6141290B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/277,222 US9274642B2 (en) 2011-10-20 2011-10-20 Acceleration-based interaction for multi-pointer indirect input devices
US13/277,222 2011-10-20
PCT/US2012/061225 WO2013059752A1 (en) 2011-10-20 2012-10-20 Acceleration-based interaction for multi-pointer indirect input devices

Publications (3)

Publication Number Publication Date
JP2014532908A JP2014532908A (en) 2014-12-08
JP2014532908A5 JP2014532908A5 (en) 2017-04-27
JP6141290B2 true JP6141290B2 (en) 2017-06-07

Family

ID=47574688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014537345A Active JP6141290B2 (en) 2011-10-20 2012-10-20 Interaction by acceleration of multi-pointer indirect input device

Country Status (6)

Country Link
US (1) US9274642B2 (en)
EP (1) EP2769288B1 (en)
JP (1) JP6141290B2 (en)
KR (1) KR101994500B1 (en)
CN (1) CN102902412B (en)
WO (1) WO2013059752A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155018A1 (en) * 2011-12-20 2013-06-20 Synaptics Incorporated Device and method for emulating a touch screen using force information
US10191890B2 (en) 2014-12-17 2019-01-29 Microsoft Technology Licensing, Llc Persistent viewports
US9842268B1 (en) * 2015-03-27 2017-12-12 Google Llc Determining regions of interest based on user interaction

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61259331A (en) * 1985-05-13 1986-11-17 Nec Corp Coordinate inputting method and its device
JP2552427B2 (en) * 1993-12-28 1996-11-13 コナミ株式会社 Tv play system
US6029214A (en) 1995-11-03 2000-02-22 Apple Computer, Inc. Input tablet system with user programmable absolute coordinate mode and relative coordinate mode segments
WO1999038149A1 (en) 1998-01-26 1999-07-29 Wayne Westerman Method and apparatus for integrating manual input
US7808479B1 (en) 2003-09-02 2010-10-05 Apple Inc. Ambidextrous mouse
US7289109B2 (en) 2000-09-26 2007-10-30 Denny Jaeger Method and apparatus for detecting actuation of a controller device on a touch screen
US6738045B2 (en) 2001-02-26 2004-05-18 Microsoft Corporation Method and system for accelerated data navigation
US7730401B2 (en) 2001-05-16 2010-06-01 Synaptics Incorporated Touch screen with user interface enhancement
KR20040062956A (en) 2001-11-01 2004-07-09 임머숀 코퍼레이션 Method and apparatus for providing tactile sensations
US7109975B2 (en) * 2002-01-29 2006-09-19 Meta4Hand Inc. Computer pointer control
US7310103B2 (en) 2002-03-05 2007-12-18 Sun Microsystems, Inc. Pipelined 2D viewport clip circuit
US6995748B2 (en) 2003-01-07 2006-02-07 Agilent Technologies, Inc. Apparatus for controlling a screen pointer with a frame rate based on velocity
US7757186B2 (en) 2003-07-07 2010-07-13 Apple Inc. Automatic mapping of pointing devices to multiple displays
US8164573B2 (en) 2003-11-26 2012-04-24 Immersion Corporation Systems and methods for adaptive interpretation of input from a touch-sensitive input device
US7180531B2 (en) 2004-02-27 2007-02-20 Microsoft Corporation Method and apparatus for enabling application program compatibility with display devices having improved pixel density
US7629961B2 (en) 2004-03-01 2009-12-08 Microsoft Corporation Dynamically adjusting operation of one or more sensors of a computer input device
DE202005021492U1 (en) 2004-07-30 2008-05-08 Apple Inc., Cupertino Electronic device with touch-sensitive input device
US7692627B2 (en) 2004-08-10 2010-04-06 Microsoft Corporation Systems and methods using computer vision and capacitive sensing for cursor control
US7557774B2 (en) 2004-08-13 2009-07-07 Microsoft Corporation Displaying visually correct pointer movements on a multi-monitor display system
JP2008512767A (en) 2004-09-09 2008-04-24 シリコン オプティックス インコーポレイテッド General two-dimensional spatial transformation expression system and method
US7432916B2 (en) 2004-12-09 2008-10-07 Universal Electronics, Inc. Controlling device with dual-mode, touch-sensitive display
TWI254581B (en) 2004-12-27 2006-05-01 Sunplus Technology Co Ltd Method and device for detecting image movements
US7605804B2 (en) * 2005-04-29 2009-10-20 Microsoft Corporation System and method for fine cursor positioning using a low resolution imaging touch screen
US7567240B2 (en) 2005-05-31 2009-07-28 3M Innovative Properties Company Detection of and compensation for stray capacitance in capacitive touch sensors
US9019209B2 (en) 2005-06-08 2015-04-28 3M Innovative Properties Company Touch location determination involving multiple touch location processes
US20070109275A1 (en) 2005-11-16 2007-05-17 Chen-Ting Chuang Method for controlling a touch screen user interface and device thereof
WO2007064456A2 (en) * 2005-11-28 2007-06-07 The George Washington University Virtual reality simulator harness systems
US7869646B2 (en) * 2005-12-01 2011-01-11 Electronics And Telecommunications Research Institute Method for estimating three-dimensional position of human joint using sphere projecting technique
JP4151982B2 (en) 2006-03-10 2008-09-17 任天堂株式会社 Motion discrimination device and motion discrimination program
US20070257891A1 (en) 2006-05-03 2007-11-08 Esenther Alan W Method and system for emulating a mouse on a multi-touch sensitive surface
US8269725B2 (en) 2006-06-28 2012-09-18 Microsoft Corporation Input simulation system for touch based devices
US20080001926A1 (en) 2006-06-29 2008-01-03 Xiaoping Jiang Bidirectional slider
US7733346B2 (en) * 2006-07-28 2010-06-08 Sony Corporation FACS solving in motion capture
JP2008033739A (en) 2006-07-31 2008-02-14 Sony Corp Touch screen interaction method and apparatus based on tactile force feedback and pressure measurement
US20080055256A1 (en) 2006-08-31 2008-03-06 Intel Corporation Touch screen controller with embedded overlay
US8284165B2 (en) 2006-10-13 2012-10-09 Sony Corporation Information display apparatus with proximity detection performance and information display method using the same
US8023726B2 (en) * 2006-11-10 2011-09-20 University Of Maryland Method and system for markerless motion capture using multiple cameras
JP5191119B2 (en) * 2006-12-06 2013-04-24 株式会社ジャパンディスプレイウェスト Display device, display device control method, and program
US7855718B2 (en) 2007-01-03 2010-12-21 Apple Inc. Multi-touch input discrimination
WO2008128096A2 (en) 2007-04-11 2008-10-23 Next Holdings, Inc. Touch screen system with hover and click input methods
US20090046110A1 (en) 2007-08-16 2009-02-19 Motorola, Inc. Method and apparatus for manipulating a displayed image
US8432365B2 (en) 2007-08-30 2013-04-30 Lg Electronics Inc. Apparatus and method for providing feedback for three-dimensional touchscreen
US8125458B2 (en) 2007-09-28 2012-02-28 Microsoft Corporation Detecting finger orientation on a touch-sensitive device
FR2922035B1 (en) 2007-10-08 2016-09-30 Dav METHOD FOR CONTROLLING A TOUCH-SURFACE CONTROL DEVICE AND ELECTRICAL CONTROL DEVICE WITH A TOUCH-SURFACE HAVING MEANS FOR CARRYING OUT SAID METHOD
US8031175B2 (en) 2008-04-21 2011-10-04 Panasonic Corporation Touch sensitive remote control system that detects hand size characteristics of user and adapts mapping to screen display
EP2232355B1 (en) * 2007-11-07 2012-08-29 N-Trig Ltd. Multi-point detection on a single-point detection digitizer
JP2009116769A (en) 2007-11-09 2009-05-28 Sony Corp Input device, control method for input device and program
WO2009093241A2 (en) * 2008-01-23 2009-07-30 N-Trig Ltd. Graphical object manipulation with a touch sensitive screen
US8797271B2 (en) 2008-02-27 2014-08-05 Microsoft Corporation Input aggregation for a multi-touch device
US8766925B2 (en) 2008-02-28 2014-07-01 New York University Method and apparatus for providing input to a processor, and a sensor pad
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
TWI416381B (en) * 2008-03-05 2013-11-21 Mitac Int Corp Touch the sliding method
US8493355B2 (en) 2008-05-14 2013-07-23 3M Innovative Properties Company Systems and methods for assessing locations of multiple touch inputs
US9268483B2 (en) 2008-05-16 2016-02-23 Microsoft Technology Licensing, Llc Multi-touch input platform
US8390577B2 (en) 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
US8810522B2 (en) * 2008-09-29 2014-08-19 Smart Technologies Ulc Method for selecting and manipulating a graphical object in an interactive input system, and interactive input system executing the method
US8407624B2 (en) 2008-10-02 2013-03-26 International Business Machines Corporation Mouse movement using multiple thresholds utilizing linear exponential acceleration and sub-pixel precision
US8866790B2 (en) * 2008-10-21 2014-10-21 Atmel Corporation Multi-touch tracking
US8477103B2 (en) 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
US8466879B2 (en) 2008-10-26 2013-06-18 Microsoft Corporation Multi-touch manipulation of application objects
JP2010108501A (en) 2008-10-30 2010-05-13 Samsung Electronics Co Ltd Touch screen controller having increased sensing sensitivity, and display driving circuit and display device and system having the touch screen controller
KR101021440B1 (en) 2008-11-14 2011-03-15 한국표준과학연구원 Touch-input device, mobile device and control method thereof
US8294047B2 (en) 2008-12-08 2012-10-23 Apple Inc. Selective input signal rejection and modification
TWM361674U (en) 2009-02-19 2009-07-21 Sentelic Corp Touch control module
US8154529B2 (en) * 2009-05-14 2012-04-10 Atmel Corporation Two-dimensional touch sensors
US9134848B2 (en) 2009-06-03 2015-09-15 Stmicroelectronics Asia Pacific Pte Ltd Touch tracking on a touch sensitive interface
US8188969B2 (en) * 2009-06-26 2012-05-29 Panasonic Corporation Dual pointer management method using cooperating input sources and efficient dynamic coordinate remapping
US8462134B2 (en) 2009-06-29 2013-06-11 Autodesk, Inc. Multi-finger mouse emulation
US9323398B2 (en) 2009-07-10 2016-04-26 Apple Inc. Touch and hover sensing
CN101626522B (en) 2009-07-20 2010-11-03 北京中科同和信息技术有限公司 Method for realizing proper screen display of multi-media playing
TW201104529A (en) 2009-07-22 2011-02-01 Elan Microelectronics Corp Touch device, control method and control unit for multi-touch environment
JP5471137B2 (en) 2009-08-05 2014-04-16 ソニー株式会社 Display device, display method, and program
TWI407339B (en) 2009-08-06 2013-09-01 Htc Corp Method for tracing touch input on touch-sensitive panel and related computer program product and electronic apparatus using the same
US8850353B2 (en) 2009-08-18 2014-09-30 Siemens Aktiengesellschaft Method and system for overlaying space-constrained display with a reference pattern during document scrolling operations
US8988191B2 (en) 2009-08-27 2015-03-24 Symbol Technologies, Inc. Systems and methods for pressure-based authentication of an input on a touch screen
KR20110028834A (en) 2009-09-14 2011-03-22 삼성전자주식회사 Method and apparatus for providing user interface using touch pressure on touch screen of mobile station
US9430079B2 (en) 2009-10-19 2016-08-30 Flatfrog Laboratories Ab Determining touch data for one or more objects on a touch surface
KR101092841B1 (en) 2009-12-29 2011-12-14 (주)엑시스 소프트웨어 엔지니어링 Computing apparatus for recognizing touch input
US8502789B2 (en) 2010-01-11 2013-08-06 Smart Technologies Ulc Method for handling user input in an interactive input system, and interactive input system executing the method
JP5434638B2 (en) * 2010-01-29 2014-03-05 ソニー株式会社 Information processing apparatus and information processing method
US20110230238A1 (en) 2010-03-17 2011-09-22 Sony Ericsson Mobile Communications Ab Pointer device to navigate a projected user interface
US8982060B2 (en) 2010-08-27 2015-03-17 Apple Inc. Touch and hover sensor compensation
US9019230B2 (en) * 2010-10-31 2015-04-28 Pixart Imaging Inc. Capacitive touchscreen system with reduced power consumption using modal focused scanning
US8593421B2 (en) * 2011-03-22 2013-11-26 Adobe Systems Incorporated Local coordinate frame user interface for multitouch-enabled devices
JP5966557B2 (en) * 2012-04-19 2016-08-10 ソニー株式会社 Information processing apparatus, information processing method, program, and information processing system

Also Published As

Publication number Publication date
US9274642B2 (en) 2016-03-01
CN102902412A (en) 2013-01-30
US20130100018A1 (en) 2013-04-25
EP2769288B1 (en) 2024-05-29
EP2769288A4 (en) 2015-08-12
KR101994500B1 (en) 2019-06-28
EP2769288A1 (en) 2014-08-27
WO2013059752A1 (en) 2013-04-25
CN102902412B (en) 2015-11-18
KR20140078681A (en) 2014-06-25
JP2014532908A (en) 2014-12-08

Similar Documents

Publication Publication Date Title
US9952689B2 (en) Application programming interface for a multi-pointer indirect touch input device
US9542005B2 (en) Representative image
US11443453B2 (en) Method and device for detecting planes and/or quadtrees for use as a virtual substrate
US9575562B2 (en) User interface systems and methods for managing multiple regions
US9158446B2 (en) Method and apparatus for interfacing
US9870080B2 (en) Method, system, and device for controlling a cursor or user interface action as a function of touch and force input
WO2010017711A1 (en) Execution method, apparatus and movable terminal for graphic touch commands
US9658715B2 (en) Display mapping modes for multi-pointer indirect input devices
EP2771766B1 (en) Pressure-based interaction for indirect touch input devices
JP6141290B2 (en) Interaction by acceleration of multi-pointer indirect input device
US20130249807A1 (en) Method and apparatus for three-dimensional image rotation on a touch screen
US9146666B2 (en) Touch sensor navigation
US20140189582A1 (en) Display control device, display control method, and program
TWI768407B (en) Prediction control method, input system and computer readable recording medium
US20140184566A1 (en) Electronic apparatus, method of controlling the same, and computer-readable recording medium
US20130278603A1 (en) Method, Electronic Device, And Computer Readable Medium For Distorting An Image On A Touch Screen
US10275146B2 (en) Virtual navigation apparatus, navigation method, and non-transitory computer readable medium thereof

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20170321

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170502

R150 Certificate of patent or registration of utility model

Ref document number: 6141290

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