WO2017119293A1 - 座標検出装置、制御方法、及び座標検出システム - Google Patents
座標検出装置、制御方法、及び座標検出システム Download PDFInfo
- Publication number
- WO2017119293A1 WO2017119293A1 PCT/JP2016/088064 JP2016088064W WO2017119293A1 WO 2017119293 A1 WO2017119293 A1 WO 2017119293A1 JP 2016088064 W JP2016088064 W JP 2016088064W WO 2017119293 A1 WO2017119293 A1 WO 2017119293A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- stylus
- screen
- pointing
- coordinate detection
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
Definitions
- the present invention relates to a coordinate detection device, a control method, and a coordinate detection system.
- a coordinate detection system having an information processing apparatus such as a display, a coordinate detection apparatus, and a PC is in widespread use.
- HID Human Interface Device
- HID Human Interface Device
- detects contact with the display by an indicator such as a stylus (Stylus) with an infrared camera or the like and generates an image corresponding to the detected content on the display is ,It is used.
- the present invention has been made in view of the above problems, and has an object of causing an information processing apparatus to appropriately recognize a contact state of a plurality of pointing devices.
- a determination unit that determines the contact state of the plurality of pointing devices with the screen, and a data generation unit that generates data according to the determination result of the contact state. And when it is determined that at least one pointing tool included in the plurality of pointing tools is separated from the screen from the state in which the plurality of pointing tools are in contact with the screen, the data generation The coordinate detection device is provided, wherein the unit generates data indicating that the pointing tool is in contact with the screen, and then generates data indicating that the pointing tool is separated from the screen.
- the coordinate detection device 10 is characterized by the identifier of the stylus 30, the contact pressure of the stylus 30, and the size (for example, the width and height of the contact portion of the stylus 30) from the content detected by the input device 3. Identify
- the PC 20 and the coordinate detection device 10 are connected via the network 5.
- the network 5 may be a wired network, a wireless network, or a combination thereof.
- the PC 20 and the coordinate detection device 10 may be directly connected by a cable or the like.
- the HID format is defined on the assumption that a single stylus 30 is used.
- the PC 20 is equipped with an OS (operating system, OS function execution unit 220) and an application (application function execution unit 230).
- OS operating system
- application application function execution unit 230
- the coordinate detection device 10 uses the PC 20 as HID data indicating that the stylus 30A or the stylus 30B is in contact with the display 2, and HID data indicating that the stylus 30A or the stylus 30B is separated from the display 2. Send to the OS.
- the application of the PC 20 receives an OS message generated by the OS based on the received HID data, and generates an image corresponding to the drawn content.
- the PC 20 stores the identifier of the stylus 30 and the attribute of the stylus 30 in association with each other. For example, when an attribute of a pen function of a predetermined color is set in the stylus 30A, the application of the PC 20 generates an image in a predetermined color.
- the image to be generated has its line thickness, thickness, etc. adjusted by the coordinate detection device 10 based on the specified contact pressure, size, etc.
- the image present in the portion overlapping the drawn portion of the stylus 30B is erased.
- the image to be deleted may be an image corresponding to the content drawn by another stylus 30.
- the PC 20 is connected to the display 2 using a cable 6 conforming to a standard such as High-Definition Multimedia Interface (HDMI).
- the PC 20 and the display 2 may be connected via a device that relays data.
- HDMI High-Definition Multimedia Interface
- ⁇ Timing chart In the case of one stylus> First, referring to FIG. 2, a timing chart when drawing using one stylus 30 and a general procedure for generating an image will be described.
- the timing at which the HID data generated by the coordinate detection device 10 is transmitted to the OS of the PC 20 and the OS of the PC 20 generates an OS message and outputs it to the application 5 is a timing chart showing the timing of
- the “stylus 30” indicates that the stylus 30 has started contacting the display 2 at timing T1 and has left the display at timing T2.
- the coordinate detection device 10 determines the contact state based on data from the input device 3 which is an infrared camera or the like.
- the coordinate detection device 10 transmits HID data indicating the contact state of the stylus 30 to the OS of the PC 20 at predetermined intervals.
- HID data hereinafter referred to as contact HID data
- the coordinate detection device 10 transmits HID data (hereinafter referred to as separated HID data) indicating that the stylus 30 is separated from the display 2 to the OS of the PC 20.
- HID data hereinafter referred to as separated HID data
- the contact HID data and the release HID data include specific information of the stylus 30 and information indicating coordinates on the display with which the stylus 30 contacts.
- the OS of the PC 20 When the contact HID data is first transmitted, the OS of the PC 20 generates POINTERDOWN data (hereinafter PD data) based on the reception of the contact HID data.
- PD data POINTERDOWN data
- the OS of the PC 20 generates POINTERUPDATE data (hereinafter, PUD data) based on the reception of the touch HID data.
- the OS of the PC 20 After the OS of the PC 20 generates PD data, when the leaving HID data is transmitted from the coordinate detection device 10, the OS of the PC 20 generates POINTERUP data (hereinafter, PU data).
- PU data POINTERUP data
- the application of the PC 20 can recognize that the corresponding stylus 30 has left the display 2. Therefore, when drawing by the same stylus 30 is performed again after this, drawing before PU data generation and discontinuous drawing can be performed.
- the coordinate detection device 10 transmits contact HID data to the OS of the PC 20 at predetermined intervals.
- the OS of the PC 20 generates PUD data (PUD # 1 to PUD # 4).
- (2) of FIG. 2 is a figure which shows an example of the image 50 produced
- the generated image 50 is displayed on the display 2.
- FIG. 3 is a diagram showing an example of a timing chart and images generated when using two styluses.
- (1) of FIG. 3 when the two styluses 30A and 30B touch the display 2, the timing at which the coordinate detection device 10 transmits HID data to the OS of the PC 20 and the OS of the PC 20 generate an OS message It is a timing chart which shows the timing output to.
- “Stylus 30B” indicates that the coordinate detection device 10 determines that the stylus 30B has started contacting the display 2 at timing T5, and that it is determined that the stylus 30B is separated from the display 2 at timing T6.
- the coordinate detection device 10 transmits HID data indicating the contact state of the stylus 30A and the stylus 30B to the OS of the PC 20 at predetermined intervals.
- the coordinate detection device 10 can transmit the contact state of the stylus 30A and the stylus 30B alternately to the OS of the PC 20, for example.
- the OS of the PC 20 In response to the contact state of the stylus 30A, the OS of the PC 20 generates PD data # 1, PUD data # 1, PUD data # 2, PUD data # 4, and PU data # 1.
- the OS of the PC 20 As described above, since the OS of the PC 20 uses HID data defined on the premise of using a single stylus 30, it is not possible to generate PD data for each of a plurality of styluses 30. Therefore, as the stylus 30B contacts the display 2 at timing T5 and the contact HID data is transmitted from the coordinate detection device 10, the OS of the PC 20 generates PUD data # 3 instead of PD data.
- the HID data includes specific information of the stylus 30 and information indicating coordinates on the display with which the stylus 30 contacts. As a result, the OS of the PC 20 recognizes that the contact of the stylus 30 in contact with the new stylus 30 is continued, but does not touch the second stylus 30 B in the application of the PC 20. Can be recognized as touching.
- the stylus 30B is separated from the display 2, and the OS of the PC 20 generates PU data # 2 as the separated HID data is transmitted from the coordinate detection device 10.
- the application of the PC 20 can recognize that the stylus 30B is not in contact with the display 2.
- the OS of the PC 20 generates the PD data # 2. Therefore, the PU data # 2 is generated when the stylus 30B is separated from the display 2 thereafter. Can be generated.
- FIG. 3 (2) of FIG. 3 is a figure which shows an example of the image produced
- the image 51 is an image corresponding to drawing by the stylus 30A
- the image 52 is an image corresponding to drawing by the stylus 30B.
- the PC 20 specifies the HID data corresponding to each of the stylus 30 using the identifier of the stylus 30 included in the HID data, and generates an image 51 and an image 52.
- the OS of the PC 20 generates PD data # 1 and PUD data # 1 / # 2 / # 4 / # 6 / # 8 in response to the contact state of the stylus 30A.
- the OS of the PC 20 generates PUD data # 3 / # 5 / # 7 / # 9, PD data # 2, and PU data # 1 in response to the contact state of the stylus 30B.
- the application of the PC 20 displays an image in which a point identified by the coordinates included in PUD data # 6 before the stylus 30A is released and a point identified by the coordinates included in PUD data # 8 are connected Do.
- the image 54 and the image 55 are images corresponding to the drawing of the stylus 30B, and the image 53 is an image corresponding to the drawing of the stylus 30A.
- a method of transmitting HID data of the coordinate detection device 10 which causes the PC 20 to appropriately recognize the state even when the plural styluses 30 (30A and 30B) are separated from the display 2 at the same timing will be described using FIG.
- the coordinate detection device 10 After generating data indicating that the display 2 is in contact with the display 2, data is generated indicating that the stylus 30 has left the display 2.
- the coordinate detection device 10 when it is determined that the plurality of styluses 30 are separated from the display 2 at the same timing, the coordinate detection device 10 generates contact HID data for each stylus 30, It transmits to PC20. Immediately after that, the coordinate detection device 10 generates departure HID data for each stylus 30 and transmits it to the PC 20. This makes it possible for the application to appropriately recognize the contact state of the stylus 30 while making the OS of the PC 20 recognize that one stylus 30 is used.
- the OS of the PC 20 responds to the contact state of the stylus 30A with PD data # 1 / # 2 / # 3, PUD data # 1 / # 2 / # 4 / # 6 / # 9, PU data # Generate 2
- the OS of the PC 20 generates PUD data # 3 / # 5 / # 7 / # 8 / # 10 and PU data # 1.
- the image 56 is an image corresponding to the drawing of the stylus 30A in the period from T13 to T14, and the image 57 is an image corresponding to the drawing of the stylus 30A after T15.
- the image 58 is an image corresponding to the drawing of the stylus 30B in the period from T16 to T17, and the image 59 is an image corresponding to the drawing of the stylus 30B after T18.
- FIG. 6 is a diagram illustrating an example of a hardware configuration of the coordinate detection device 10 according to the embodiment.
- the input data receiving device 201 receives data on the state of the stylus 30 detected by the input device 3.
- the flash memory 206 is an example of a non-volatile storage device storing programs and data.
- the stored programs and data include an OS which is basic software for controlling the entire coordinate detection device 10, application software which provides various functions on the OS, and the like.
- the coordinate calculation unit 120 calculates, using the content notified from the input device 3, the coordinates at which the stylus 30 starts contact, the coordinates at which the stylus 30 is in contact, and the coordinates at which the stylus 30 is separated on the display 2. .
- the transmission timing control unit 150 adjusts the timing of transmitting the generated HID data to the PC 20, and transmits the HID data to the PC 20 at the adjusted timing. In addition, after transmitting said contact HID data, the process which transmits leaving HID data can be performed based on control of the transmission timing control part 150. FIG.
- the PC 20 includes a device driver 210, an OS function execution unit 220, an application function execution unit 230, a display control unit 240, and an attribute management unit 250.
- the OS function execution unit 220 corresponds to the “OS” described above, and executes the OS function of the PC 20.
- the HID data is received from the device driver 210, and the received HID data is notified to the application function execution unit 230.
- the application function execution unit 230 corresponds to the “application” described above.
- the application function execution unit 230 generates an image corresponding to the content drawn on the display 2 by the stylus 30A from the calculated coordinates and the specified feature included in the HID data.
- the image data generated by the application function execution unit 230 may include an image corresponding to the drawn content and another image (for example, a figure, a table, etc.).
- the application function execution unit 230 refers to the attribute management unit 250, and identifies the attribute of the stylus 30 stored in association with the identifier of the stylus 30.
- the application function execution unit 230 generates an image corresponding to the drawn content, using the specified attribute.
- the display control unit 240 causes the display 2 to display the image generated by the application function execution unit 230.
- the attribute management unit 250 associates and stores the identifier of the stylus 30 and the attribute of the stylus 30.
- the attributes of the stylus 30 are a pen function, an eraser function, and settings of these functions.
- the color, thickness, and the like of the pen are set in the function settings.
- FIG. 8 is a flowchart showing an example of the processing procedure of the coordinate detection device 10 and the OS function execution unit 220 of the PC 20 according to the embodiment. The operation procedure when the stylus 30 starts contacting the display 2 and when the stylus 30 is in contact will be described using FIG. 8.
- step S802 the OS function execution unit 220 determines whether the stylus 30 is the first touch.
- step S803 If it is determined that the contact is the first touch by the stylus 30 (Yes in S802), the process proceeds to step S803.
- step S803 the OS function execution unit 220 generates PD data.
- the PD data includes features such as calculated coordinates, an identifier of the identified stylus 30, and the like.
- step S805 the OS function execution unit 220 generates PUD data.
- the PUD data includes features such as calculated coordinates, an identifier of the identified stylus 30, and the like.
- step S 807 the OS function execution unit 220 outputs the generated OS message to the application function execution unit 230.
- FIG. 9 is a diagram showing an example of a flowchart of the coordinate detection device 10 according to the embodiment. The operation procedure when the stylus 30 leaves the display 2 will be described with reference to FIG.
- step S901 in response to the touch determination unit 110 determining that the stylus 30 is separated from the display 2, the coordinate calculation unit 120 calculates the coordinates of the location at which the stylus 30 is separated. Further, the feature specifying unit 130 specifies features such as an identifier of the stylus 30. Here, it is assumed that the stylus 30A is determined to be separated from the display 2.
- step S905 the HID data generation unit 140 generates contact HID data.
- the touch HID data includes features such as the calculated coordinates and the identifier of the identified stylus 30A.
- step S906 the transmission timing control unit 150 transmits the generated touch HID data to the PC 20.
- the OS function execution unit 220 of the PC 20 in response to the reception of the touch HID data, the OS function execution unit 220 of the PC 20 generates PUD data or PD data.
- step S 907 the HID data generation unit 140 generates leaving HID data.
- the departure HID data includes features such as the calculated coordinates and the identifier of the identified stylus 30A.
- step S1001 the coordinate detection device 10 detects the start of contact of the stylus 30A.
- step S1006 the coordinate detection device 10 detects the start of the contact of the stylus 30B.
- step S1009 the application function execution unit 230 refers to the attribute management unit 250, and specifies the attribute of the stylus 30B.
- step S1010 the coordinate detection device 10 sends to the PC 20 contact HID data indicating that the stylus 30B is in contact with the display 2.
- the OS function execution unit 220 recognizes that the stylus 30 is in contact
- the application function execution unit 230 recognizes that the stylus 30B is continuously in contact and the coordinates of the contact location of the stylus 30B.
- the touch HID data in step S1010 is repeatedly transmitted at a predetermined timing while the stylus 30B is in contact with the display 2.
- the application function execution unit 230 generates an image according to the contents drawn by the stylus 30A and the stylus 30B based on the received PD data and PUD data. Also, an image is generated based on attributes of the stylus 30 (eg, the color of the pen).
- step S1013 the OS function execution unit 220 transmits PUD data to the application function execution unit 230.
- the application function execution unit 230 receives PUD data and recognizes that the stylus 30A is continuously in contact with the display 2.
- the OS function execution unit 220 transmits PD data to the application function execution unit 230.
- the application function execution unit 230 receives PD data and recognizes that the stylus 30B is in contact.
- the coordinate detection device 10 transmits PD data or PUD data to the PC 20 and immediately thereafter, PU data. By transmitting the data to the PC 20, the PC 20 appropriately recognizes the contact state of the stylus 30.
- the PC 20 is an example of an information processing apparatus.
- the contact determination unit 110 is an example of a determination unit.
- the HID data generation unit 140 is an example of a data generation unit.
- the transmission timing control unit 150 is an example of a transmission unit.
- the display 2 is an example of a screen.
- the device driver 210 is an example of a receiving unit.
- the application function execution unit 230 is an example of an image generation unit.
- the styluses 30A and 30B are an example of a first pointing tool and a second pointing tool.
- the PC 20 and the coordinate detection device 10 may be realized by the same device.
- Reference Signs List 1 coordinate detection system 2 display 3 input device 5 network 6 cable 10 coordinate detection device 20 PC Reference Signs List 30 stylus 110 contact determination unit 120 coordinate calculation unit 130 feature identification unit 140 HID data generation unit 150 transmission timing control unit 210 device driver 220 OS function execution unit 230 application function execution unit 240 display control unit 250 attribute management unit
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)
Abstract
入力装置から受信したデータに基づいて、複数の指示具の画面への接触状態を判断する判断部と、前記接触状態の判断結果に応じたデータを生成するデータ生成部と、を有し、前記複数の指示具が前記画面に接触している状態から、前記複数の指示具に含まれる少なくとも一つの指示具が、前記画面から離れたと判断された場合、前記データ生成部は、前記指示具が前記画面に接触している旨を示すデータを生成後、前記指示具が前記画面から離れた旨を示すデータを生成する、座標検出装置、が提供される。
Description
本発明は、座標検出装置、制御方法、座標検出システムに関する。
ディスプレイ、座標検出装置、及びPC等の情報処理装置を有する座標検出システムが普及している。これらの座標検出システムでは、スタイラス(Stylus)等の指示具によるディスプレイへの接触を、赤外線カメラ等により検出し、検出された内容に対応する画像をディスプレイに生成するHID(Human Interface Device)技術が、使用されている。
単一のスタイラスにより画像が生成される形態に加えて、複数のスタイラスにより描画された内容に対応する画像を生成する方法についても様々な検討がされている。
例えば、特許文献1では、指示具を用いて描画をする際に、単一の指示具による接触を検出して描画等を行うモードと、複数の指示具による接触を検出して描画等を行うモードとを切り替えて、座標検出システムに適用することについても、提案されている。
しかしながら、座標検出装置が検出した内容を情報処理装置に通知するときに用いる、通信データのフォーマット(HID Report)が、単一の指示具を用いることを前提に規定されているため、複数の指示具による、描画等を行った場合であっても、情報処理装置にて、指示具の接触状態を適切に認識できず、指示具により入力された内容について、ディスプレイ上に誤った内容が表示されるおそれがあった。
本発明は、上記の課題を鑑みてされたものであって、情報処理装置に、複数の指示具の接触状態を適切に認識させることを目的とする。
一つの態様によれば、入力装置から受信したデータに基づいて、複数の指示具の画面への接触状態を判断する判断部と、前記接触状態の判断結果に応じたデータを生成するデータ生成部と、を有し、前記複数の指示具が前記画面に接触している状態から、前記複数の指示具に含まれる少なくとも一つの指示具が、前記画面から離れたと判断された場合、前記データ生成部は、前記指示具が前記画面に接触している旨を示すデータを生成後、前記指示具が前記画面から離れた旨を示すデータを生成する、座標検出装置、が提供される。
情報処理装置に、複数の指示具の接触状態を適切に認識させることが可能となる。
<システム構成>
図1は、実施形態に係る座標検出システムの全体構成の一例を示す図である。座標検出システム1は、ディスプレイ2、入力装置3、座標検出装置10、PC(Personal Computer)20、及びスタイラス30(30A及び30B)を有する。図1では、PC20が使用される例を示しているが、タブレット端末、スマートフォン、又はサーバ等の情報処理装置が使用されてもよい。
図1は、実施形態に係る座標検出システムの全体構成の一例を示す図である。座標検出システム1は、ディスプレイ2、入力装置3、座標検出装置10、PC(Personal Computer)20、及びスタイラス30(30A及び30B)を有する。図1では、PC20が使用される例を示しているが、タブレット端末、スマートフォン、又はサーバ等の情報処理装置が使用されてもよい。
また、以下において、複数の構成要素を総称する場合は、符号にアルファベットの添え字を付けず、一方で、複数の構成要素のうちのいずれかを称する場合は、符号にアルファベットの添え字を付ける。例えば、スタイラスを総称する場合の符号は、30とし、
個別のスタイラスを称する場合の符号は、30A等とする。
個別のスタイラスを称する場合の符号は、30A等とする。
ディスプレイ2は、指示具であるスタイラス30により描画された内容に対応する画像をPC20から受信し、表示する。
入力装置3は、赤外線カメラ、又は赤外線センサ等により実現される。図1では、4つの入力装置3(3a、3b、3c、3d)が用いられる例を示しているが、座標検出システム1に、任意の数の入力装置3を設けることが可能である。入力装置3は、スタイラス30のディスプレイ2への接触を検知し、検知した内容を含むデータを座標検出装置10に送信する。
座標検出装置10は、例えば、PCB(プリント基板、Printed Circut Board)により実現される。座標検出装置10は、入力装置3から検知した内容を受信し、スタイラス30が接触したディスプレイ2上の座標を算出する。例えば、座標検出装置10は、三角測量を用いて、入力装置3が検知した内容から、スタイラス30が接触したディスプレイ2上の座標を算出する。
また、座標検出装置10は、入力装置3が検知した内容から、スタイラス30の識別子、スタイラス30の接触圧力、及びサイズ(例えば、スタイラス30の接触部分の幅と高さ)等のスタイラス30の特徴を特定する。
PC20と座標検出装置10とはネットワーク5を介して接続される。ネットワーク5は、有線ネットワーク、無線ネットワーク、又はこれらの組み合わせでもよい。また、PC20と座標検出装置10とはケーブル等により直接接続されてもよい。
座標検出装置10は、算出した座標及び、特定した特徴、つまり、スタイラス30によりディスプレイ2上に描画された内容を含むHIDのフォーマット(HID Report)のデータを生成し、PC20に送信する。ここでは、座標検出装置10により生成され、PC20に送信されるHIDのフォーマットのデータをHIDデータと呼ぶ。
HIDのフォーマットは、単一のスタイラス30を用いることを前提に規定されている。図7を参照して後述するように、PC20には、OS(オペレーティングシステム、OS機能実行部220)とアプリケーション(アプリケーション機能実行部230)とが搭載されている。具体的には、座標検出装置10は、スタイラス30A又はスタイラス30Bがディスプレイ2に接触していることを示すHIDデータ、及びスタイラス30A又はスタイラス30Bがディスプレイ2から離れていることを示すHIDデータをPC20のOSに送信する。
PC20のアプリケーションでは、複数のスタイラス30A及び30Bが用いられることを認識し、スタイラス30Aにより描画された内容と、スタイラス30Bにより描画された内容を区別できる。しかし、OSは、複数のスタイラス30A及び30Bを認識することができない。
このため、座標検出装置10は、複数のスタイラス30により描画されたことに応じて、生成するHIDデータの内容等を調整する。詳細については後述する。
PC20のアプリケーションは、受信したHIDデータに基づきOSが生成するOSメッセージを受け取り、描画された内容に対応する画像を生成する。
PC20はスタイラス30の識別子とスタイラス30の属性を対応付けて記憶している。例えば、スタイラス30Aに、所定の色のペン機能の属性が設定されている場合、PC20のアプリケーションは、画像を、所定の色で生成する。生成される画像は、座標検出装置10により、特定された接触圧力、及びサイズ等から、線の太さ、及び濃さ等が調整される。
また、例えば、スタイラス30Bに消しゴム機能の属性が設定されている場合には、スタイラス30Bの描画した部分と重複する部分に存在する、画像は消去される。なお、消去される画像は、他のスタイラス30により描画された内容に対応する画像としてもよい。
以下の説明では、スタイラス30に、ペン機能の属性が設定されている場合について説明するが、消しゴム機能の設定がされている場合についても同様の実施形態で実現される。
PC20は、生成した画像を、ディスプレイ2に表示させる。
PC20は、ディスプレイ2とHDMI(High-Definition Multimedia Interface,登録商標)等の規格に準拠したケーブル6を用いて接続される。PC20とディスプレイ2とは、データを中継する装置を介して接続されてもよい。
<タイミングチャート:一つのスタイラスの場合>
まず、図2を用いて、一つのスタイラス30を用いて描画するときのタイミングチャートと、画像が生成される一般的な手順について説明する。
まず、図2を用いて、一つのスタイラス30を用いて描画するときのタイミングチャートと、画像が生成される一般的な手順について説明する。
図2の(1)は、スタイラス30が、ディスプレイ2に接触したときに座標検出装置10が生成したHIDデータをPC20のOSに送信するタイミング及びPC20のOSがOSメッセージを生成してアプリケーションに出力するタイミングを示すタイミングチャートである。
「スタイラス30」は、スタイラス30が、タイミングT1でディスプレイ2に接触を開始し、タイミングT2でディスプレイから離れたことを示している。座標検出装置10は、赤外線カメラ等である入力装置3からのデータを基に接触状態を判断する。座標検出装置10は、スタイラス30の接触状態を示すHIDデータを所定間隔でPC20のOSに送信する。スタイラス30がディスプレイ2に接触している場合、座標検出装置10は、スタイラス30がディスプレイ2に接触していることを示すHIDデータ(以下、接触HIDデータ)をPC20のOSに送信する。一方、スタイラス30がディスプレイ2から離れている場合、座標検出装置10は、スタイラス30がディスプレイ2から離れていることを示すHIDデータ(以下、離脱HIDデータ)をPC20のOSに送信する。なお、接触HIDデータ及び離脱HIDデータには、スタイラス30の特定情報とスタイラス30が接触したディスプレイ上の座標を示す情報とが含まれる。
接触HIDデータが最初に送信されたとき、PC20のOSは、接触HIDデータの受信に基づき、POINTERDOWNデータ(以下、PDデータ)を生成する。
その後、座標検出装置10から接触HIDデータが送信されると、PC20のOSは、接触HIDデータの受信に基づき、POINTERUPDATEデータ(以下、PUDデータ)を生成する。
PC20のOSがPDデータを生成した後、座標検出装置10から離脱HIDデータが送信されると、PC20のOSは、POINTERUPデータ(以下、PUデータ)を生成する。PC20のOSがPUデータを生成すると、PC20のアプリケーションは対応するスタイラス30がディスプレイ2から離れたことを認識することができる。そのため、この後に再度同じスタイラス30による描画が行われた時に、PUデータの生成以前の描画と非連続な描画を行うことができる。
ここで、接触HIDデータ及び離脱HIDデータは、HIDのフォーマットで生成されるHIDデータであり、図2の(1)に示すタイミングT1及びT2で、座標検出装置10からPC20に送信される。これらのHIDデータは、スタイラス30が接触しているディスプレイ2上の座標と、特定されたスタイラス30の特徴とを含む。また、PDデータ、PUDデータ、及びPUデータは、座標検出装置10から送信されたHIDデータに基づきOSが生成するOSメッセージである。
まず、スタイラス30が、タイミングT1でディスプレイ2に接触したことに伴い、座標検出装置10は、接触HIDデータをPC20のOSに送信する。これに伴い、PC20のOSはPDデータ(PD#1)を生成する。
この後、座標検出装置10は、所定間隔で接触HIDデータをPC20のOSに送信する。これに伴い、PC20のOSはPUDデータ(PUD#1~PUD#4)を生成する。
スタイラス30が、タイミングT2でディスプレイ2から離れたことに伴い、座標検出装置10は、離脱HIDデータをPC20のOSに送信する。これに伴い、PC20のOSはPUデータ(PU#1)を生成する。
生成されたPDデータ、PUDデータ、及びPUデータは、スタイラス30がディスプレイ2に接触したディスプレイ上の座標を特定する情報を含む。PC20のアプリケーションは、PC20のOSが生成したOSメッセージに基づき、スタイラスにより描画された内容に対応する画像を生成する。
図2の(2)は、PC20により生成された画像50の一例を示す図である。各データに含まれる座標を特定する情報を基に、スタイラス30により描画された内容に対応する画像50が生成される様子を示す図している。生成された画像50は、ディスプレイ2に表示される。
次に、複数のスタイラス30(30A及び30B)によりディスプレイ2に描画されたときのタイミングチャートと、生成される画像について説明する。
<タイミングチャート:二つのスタイラスの場合1>
図3は、二つのスタイラスを用いた場合のタイミングチャートと生成される画像の一例を示す図である。図3の(1)は、2つのスタイラス30A及び30Bが、ディスプレイ2に接触したときに座標検出装置10がHIDデータをPC20のOSに送信するタイミング及びPC20のOSがOSメッセージを生成してアプリケーションに出力するタイミングを示すタイミングチャートである。
図3は、二つのスタイラスを用いた場合のタイミングチャートと生成される画像の一例を示す図である。図3の(1)は、2つのスタイラス30A及び30Bが、ディスプレイ2に接触したときに座標検出装置10がHIDデータをPC20のOSに送信するタイミング及びPC20のOSがOSメッセージを生成してアプリケーションに出力するタイミングを示すタイミングチャートである。
「スタイラス30A」は、スタイラス30Aが、座標検出装置10により、タイミングT3でディスプレイ2に接触を開始したと判断され、タイミングT4でディスプレイ2から離れたと判断されたことを示している。
「スタイラス30B」は、スタイラス30Bが、座標検出装置10により、タイミングT5でディスプレイ2に接触を開始したと判断され、タイミングT6でディスプレイ2から離れたと判断されたことを示している。座標検出装置10は、スタイラス30A及びスタイラス30Bの接触状態を示すHIDデータを所定間隔でPC20のOSに送信する。座標検出装置10は、スタイラス30A及びスタイラス30Bの接触状態を、例えば交互にPC20のOSに送信することができる。
スタイラス30Aの接触状態に対応して、PC20のOSは、PDデータ#1、PUDデータ#1、PUDデータ#2、PUDデータ#4、及びPUデータ#1を生成する。
また、スタイラス30Bの接触状態に対応して、PC20のOSは、PUDデータ#3、PDデータ#2、PUDデータ#5、及びPUデータ#2を生成する。
ここで、スタイラス30AがタイミングT3でディスプレイ2に接触し、座標検出装置10から接触HIDデータが送信されることに伴い、PC20のOSはPDデータ#1を生成する。上述したように、PC20のOSは単一のスタイラス30を用いることを前提に規定されたHIDデータを用いるため、複数のスタイラス30についてそれぞれPDデータを生成することはできない。そのため、スタイラス30BがタイミングT5でディスプレイ2に接触し、座標検出装置10から接触HIDデータが送信されることに伴い、PC20のOSはPDデータではなく、PUDデータ#3を生成する。一方、HIDデータには、スタイラス30の特定情報とスタイラス30が接触したディスプレイ上の座標を示す情報とが含まれる。これにより、PC20のOSには、新たなスタイラス30が接触したのではなく、接触しているスタイラス30の接触が継続していると認識させつつ、PC20のアプリケーションには、2つ目のスタイラス30Bが接触したと認識させることができる。
また、スタイラス30AがタイミングT4でディスプレイ2から離れ、座標検出装置10から離脱HIDデータが送信されることに伴い、PC20のOSはPUデータ#1を生成する。この後、座標検出装置10からスタイラス30Bがディスプレイ2に接触していることに伴う接触HIDデータが送信されると、PC20のOSにとっては最初の接触HIDデータが送信されたことになるため、PC20のOSはPDデータ#2を生成する。この時、PC20のアプリケーションでは、スタイラス30Bの接触が継続していると取り扱う構成とすることができる。つまり、PC20のアプリケーションは、PDデータ#2に含まれるスタイラス30Bの座標が前のPUDデータ#3に含まれる座標からの連続として取り扱う構成とすることができる。これにより、PC20のOSには、新たに1つのスタイラス30が接触したと認識させつつ、PC20のアプリケーションには、スタイラス30Bの接触が継続していると認識させることができる。
その後、タイミングT6で、スタイラス30Bがディスプレイ2から離れ、座標検出装置10から離脱HIDデータが送信されることに伴い、PC20のOSはPUデータ#2を生成する。これにより、PC20のアプリケーションは、スタイラス30Bがディスプレイ2に接触していないと認識できる。ここで、図3の(1)の点線で囲んだように、PC20のOSは、PDデータ#2を生成しているため、その後にスタイラス30Bがディスプレイ2から離れたことに伴いPUデータ#2を生成することができる。
上記のように、動作することにより、複数のスタイラス30(30A及び30B)がディスプレイ2に接触している場合でも、PC20のOSには、1つのスタイラス30が接触しているように認識させつつ、PC20のアプリケーションには、2つのスタイラス30の接触状態を適切に認識させることができる。
図3の(2)は、PC20により生成された画像の一例を示す図である。画像51が、スタイラス30Aによる描画に対応する画像であり、画像52が、スタイラス30Bによる描画に対応する画像である。PC20は、HIDデータに含まれるスタイラス30の識別子を用いて、スタイラス30の各々に対応するHIDデータを特定し、画像51、及び画像52を生成する。
<タイミングチャート:二つのスタイラスの場合2>
上述したように、PC20のOSは、複数のスタイラス30(30A及び30B)がディスプレイ2に接触していることを認識できない。そのため、複数のスタイラス30が同じタイミングで、ディスプレイ2から離れたと判断された場合、スタイラス30の接触状態を適切に認識できないという状態が発生し得る。そこで、本実施形態では、複数のスタイラス30が同じタイミングで、ディスプレイ2から離れた場合でも、PC20に複数のスタイラス30の接触状態を適切に認識させる手法が提供される。まず、図4を用いて、複数のスタイラス30が同じタイミングで離れた場合に発生する状態について説明する。図4は、二つのスタイラスを用いた場合のタイミングチャートと生成される画像の一例を示す図である。
上述したように、PC20のOSは、複数のスタイラス30(30A及び30B)がディスプレイ2に接触していることを認識できない。そのため、複数のスタイラス30が同じタイミングで、ディスプレイ2から離れたと判断された場合、スタイラス30の接触状態を適切に認識できないという状態が発生し得る。そこで、本実施形態では、複数のスタイラス30が同じタイミングで、ディスプレイ2から離れた場合でも、PC20に複数のスタイラス30の接触状態を適切に認識させる手法が提供される。まず、図4を用いて、複数のスタイラス30が同じタイミングで離れた場合に発生する状態について説明する。図4は、二つのスタイラスを用いた場合のタイミングチャートと生成される画像の一例を示す図である。
「スタイラス30A」は、スタイラス30Aが、座標検出装置10により、タイミングT7でディスプレイ2に接触を開始したと判断され、タイミングT8でディスプレイ2から離れたと判断され、T9で再びディスプレイ2に接触を開始したと判断されたことを示している。
「スタイラス30B」は、スタイラス30Bが、座標検出装置10により、タイミングT10でディスプレイ2に接触を開始したと判断され、タイミングT11でディスプレイ2から離れたと判断され、T12で再びディスプレイ2に接触を開始したと判断されたことを示している。特に言及しない点は、場合1と同様である。
PC20のOSは、図4の(1)に示すタイミングで、PDデータ、PUDデータ、及びPUデータを生成する。
ここで、T8とT11は同じタイミングである。
スタイラス30Aの接触状態に対応して、PC20のOSは、PDデータ#1、PUDデータ#1/#2/#4/#6/#8を生成する。また、スタイラス30Bの接触状態に対応して、PC20のOSは、PUDデータ#3/#5/#7/#9、PDデータ#2、PUデータ#1を生成する。
上述したように、PC20のOSは単一のスタイラス30を用いることを前提に規定されたHIDデータを用いる。そのため、タイミングT8及びタイミングT11でスタイラス30A及びスタイラス30Bが略同時にディスプレイ2から離れても、PC20のOSは2つのスタイラス30A及び30Bそれぞれに対してPUデータを生成することはできない。PC20のOSは、一方のスタイラス30(例えばスタイラス30B)についてのみPUデータ#1を生成する。この場合、PC20のアプリケーションは、スタイラス30Bが離れたことを認識するものの、スタイラス30Aが離れたことを認識することはできない。
この後、スタイラス30Bが、T12で再びディスプレイ2に接触を開始したことに対応して、座標検出装置10から接触HIDデータが送信されると、PC20のOSがPDデータ#2を生成する。これに基づき、PC20のアプリケーションは、PDデータ#2に含まれる座標を基に、スタイラス30Bにより描画された内容に対応する画像を新たに生成する。
一方、スタイラス30Aが、T9で再びディスプレイ2に接触を開始したことに対応して、座標検出装置10から接触HIDデータが送信されると、PC20のOSがPUDデータ#8を生成する。しかし、その前にスタイラス30Aがディスプレイ2から離れた旨を示すPUデータが生成されていないため、PC20のアプリケーションは、スタイラス30Aが一旦ディスプレイ2から離れたことを認識できない。そのため、PC20のアプリケーションは、PUDデータ#8に含まれるスタイラス30Aの座標が前のPUDデータ#6に含まれる座標からの連続として取り扱ってしまう。
具体的には、PC20のアプリケーションは、スタイラス30Aが離れる前のPUDデータ#6に含まれる座標で特定される点とPUDデータ#8に含まれる座標で特定される点とがつながった画像を表示する。
図4の(2)は、図4の(1)のタイミングチャートに示されるデータが生成されたときに、PC20のアプリケーションにより生成される画像の一例を示す図である。
画像54と、画像55とが、スタイラス30Bの描画に対応する画像であり、画像53が、スタイラス30Aの描画に対応する画像である。
スタイラス30Bがディスプレイ2から離れたことを示すPUデータ#1が生成されているため、ディスプレイ2に、スタイラス30Bを再び接触させると、新たな画像55が生成される。
一方、スタイラス30Aがディスプレイ2から離れたことを示すPUデータは生成されていないため、PC20のアプリケーションは、スタイラス30Aがディスプレイ2に接触していると認識している。したがって、PUDデータ#6に含まれる座標で特定される点とPUDデータ#8に含まれる座標で特定される点との間がつながった画像53が生成されてしまう。
<タイミングチャート:実施形態>
図5は、実施形態に係るタイミングチャートと生成される画像の一例を示す図である。
図5は、実施形態に係るタイミングチャートと生成される画像の一例を示す図である。
図5を用いて、同じタイミングで複数のスタイラス30(30A及び30B)がディスプレイ2から離れた場合でも、PC20に適切に状態を認識させる座標検出装置10のHIDデータの送信方法について説明する。本実施形態では、座標検出装置10は、複数のスタイラス30(30A及び30B)がディスプレイ2に接触している状態から、少なくとも一つのスタイラス30が、ディスプレイ2から離れたと判断された場合、スタイラス30がディスプレイ2に接触している旨を示すデータを生成した後、スタイラス30がディスプレイ2から離れた旨を示すデータを生成する。具体的には、座標検出装置10は、複数のスタイラス30がディスプレイ2に接触している状態から、一方のスタイラス30が離れた場合に、PC20のOSに離脱HIDデータを送信する前に接触HIDデータを生成して送信する。座標検出装置10は、接触HIDデータを送信した後に離脱HIDデータを生成してPC20のOSに送信する。
「スタイラス30A」は、スタイラス30Aが、座標検出装置10により、タイミングT13でディスプレイ2に接触を開始したと判断され、タイミングT14でディスプレイ2から離れたと判断され、T15で再びディスプレイ2に接触を開始したと判断されたことを示している。
「スタイラス30B」は、スタイラス30Bが、座標検出装置10により、タイミングT16でディスプレイ2に接触を開始したと判断され、タイミングT17でディスプレイ2から離れたと判断され、T18で再びディスプレイ2に接触を開始したと判断されたことを示している。特に言及しない点は、上述の場合1及び場合2と同様である。
PC20のOSは、図5の(1)に示すタイミングで、PDデータ、PUDデータ、及びPUデータを生成する。
ここで、T14とT17は同じタイミングである。
図5の(1)に示すタイミングチャートでは、複数のスタイラス30が、ディスプレイ2から同じタイミングで離れたと判断された場合、座標検出装置10は、それぞれのスタイラス30について、接触HIDデータを生成し、PC20に送信する。座標検出装置10は、その直後にそれぞれのスタイラス30について、離脱HIDデータを生成し、PC20に送信する。これにより、PC20のOSからはひとつのスタイラス30が用いられていると認識させつつ、アプリケーションには、スタイラス30の接触状態を適切に認識させることが可能となる。
具体的には、T17に、座標検出装置10は、スタイラス30Bについて、接触HIDデータ及び離脱HIDデータを生成し、この順でPC20に送信する。これにより、PC20のOSは、PUDデータ#7及びPUデータ#1をこの順で生成する。座標検出装置10がスタイラス30Bについての接触HIDデータを送った時点では、PUデータが生成されていないため、PC20のOSは、PDデータではなく、PUDデータを生成する。以上により、PC20のアプリケーションは、スタイラス30Bがディスプレイ2から離れたことを認識できる。
PUDデータ#7とPUデータ#1に含まれるスタイラス30Bの接触している場所の座標は同じである。
また、T17と略同時のT14に、座標検出装置10は、スタイラス30Aについて、接触HIDデータ及び離脱HIDデータを生成し、この順でPC20に送信する。これにより、PC20のOSは、PDデータ#2及びPUデータ#2をこの順で生成する。座標検出装置10がスタイラス30Aについての接触HIDデータを送った時点では、既にPUデータ#1が生成されており、PC20のOSはディスプレイ2にいずれのスタイラス30も接触していないと認識している。そのため、PC20のOSはPDデータを生成する。以上により、PC20のアプリケーションは、スタイラス30Aがディスプレイ2から離れたことを認識できる。
PDデータ#2とPUデータ#2に含まれるスタイラス30Aの接触している場所の座標は同じである。
なお、以上の処理において、座標検出装置10がスタイラス30Bについての接触HIDデータ及び離脱HIDデータを先に生成する手順を説明したが、T14とT17とは略同時であるので、座標検出装置10はスタイラス30Aについての接触HIDデータ及び離脱HIDデータを先に生成する構成とすることもできる。この場合は、上述したスタイラス30Bについての処理とスタイラス30Aについての処理が逆となる。
以上の処理により、スタイラス30Aの接触状態に応じて、PC20のOSは、PDデータ#1/#2/#3、PUDデータ#1/#2/#4/#6/#9、PUデータ#2を生成する。スタイラス30Bの接触状態に応じて、PC20のOSは、PUDデータ#3/#5/#7/#8/#10、PUデータ#1を生成する。
本実施形態においては、PC20のアプリケーションが、スタイラス30A及びスタイラス30Bの接触状態を適切に認識しているため、スタイラス30A及びスタイラス30Bが再びディスプレイ2に接触した際に、描画された内容に対応する画像が新たに生成される。
図5の(2)は、図5の(1)のタイミングチャートに示されるデータが生成されたときに、PC20のアプリケーションにより生成される画像の一例を示す図である。
画像56は、T13からT14の期間のスタイラス30Aの描画に対応する画像であり、画像57は、T15以降のスタイラス30Aの描画に対応する画像である。画像58は、T16からT17の期間のスタイラス30Bの描画に対応する画像であり、画像59は、T18以降のスタイラス30Bの描画に対応する画像である。
図5の例では、複数のスタイラス30が同時に、ディスプレイ2から離れる場合に、データが生成されるタイミングを示しているが、座標検出装置10は、複数のスタイラス30が異なるタイミングでディスプレイ2から離れる場合であっても、離脱HIDデータを送信する前に接触HIDデータを送信し、その後に、離脱HIDデータを送信してもよい。このようにすれば、座標検出装置10は、複数のスタイラス30の離れるタイミングを意識せずにデータを生成することができるため、座標検出装置10の処理が簡略化される。
<ハードウェア構成>
図6は、実施形態に係る座標検出装置10のハードウェア構成の一例を示す図である。
図6は、実施形態に係る座標検出装置10のハードウェア構成の一例を示す図である。
座標検出装置10は入力データ受信装置201、RAM202、ROM203、CPU204、通信I/F205、フラッシュメモリ206などを備え、それぞれがバスBで相互に接続されている。
入力データ受信装置201は、入力装置3が検知したスタイラス30の状態に関するデータを受信する。
通信I/F205は、有線、無線のネットワーク、又はケーブルを介して、HIDデータを、PC20に送信する。
フラッシュメモリ206はプログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには座標検出装置10全体を制御する基本ソフトウェアであるOS、OS上において各種機能を提供するアプリケーションソフトウェアなどがある。
ROM203は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)の一例である。ROM203には座標検出装置10の起動時に実行されるBIOS、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM202はプログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)の一例である。
CPU204は、ROM203及びフラッシュメモリ206などの記憶装置からプログラムやデータをRAM202上に読み出し、処理を実行することで、座標検出装置10全体の制御や座標検出装置10の機能を実現する演算装置である。
なお、PC20についても、上述した、座標検出装置10と同様のハードウェア構成を用いて実現される。PC20の場合は、上述したハードウェア構成に加えて、マウス、キーボード等の入力装置、及びディスプレイを備える。また、PC20は、HDD等の記憶媒体を具備してもよい。
<機能構成>
図7は、実施形態に係る座標検出装置10、及びPC20の機能構成の一例を示す図である。
図7は、実施形態に係る座標検出装置10、及びPC20の機能構成の一例を示す図である。
座標検出装置10は、接触判断部110、座標算出部120、特徴特定部130、HIDデータ生成部140、及び送信タイミング制御部150を有する。
接触判断部110は、入力装置3が検知した内容の通知を受け、スタイラス30のディスプレイ2への接触状態を判断する。具体的には、接触判断部110は、スタイラス30が接触を開始したか否か、スタイラス30が接触を継続しているか否か、及びスタイラス30が離れたか否かを判断する。接触判断部110は、入力装置3から通知された内容を、座標算出部120、及び特徴特定部130に通知する。
座標算出部120は、入力装置3から通知された内容を用いて、ディスプレイ2における、スタイラス30が接触を開始した座標、スタイラス30が接触している座標、及びスタイラス30が離れた座標を算出する。
特徴特定部130は、入力装置3から通知された内容を用いて、スタイラス30の識別子、スタイラス30の接触圧力、及びサイズ等の特徴を特定する。
HIDデータ生成部140は、接触判断部110の判断結果に応じたHIDデータを生成する。HIDデータは、座標算出部120が算出した座標、及び特徴特定部130が特定した特徴とを含む。
具体的には、HIDデータ生成部140は、スタイラス30が接触していることを示す接触HIDデータ又はスタイラス30が離れたことを示す離脱HIDデータを生成する。
HIDデータ生成部140は、複数のスタイラス30がディスプレイ2に接触している状態で、スタイラス30A又はスタイラス30Bが、ディスプレイ2から離れたと判断された場合、接触HIDデータを送信した後に、離脱HIDデータを送信する。
送信タイミング制御部150は、生成されたHIDデータを、PC20に送信するタイミングを調整し、調整されたタイミングでHIDデータをPC20に送信する。なお、上記の接触HIDデータを送信した後に、離脱HIDデータを送信する処理は、送信タイミング制御部150の制御に基づき行うことができる。
PC20は、デバイスドライバ210、OS機能実行部220、アプリケーション機能実行部230、表示制御部240、及び属性管理部250を有する。
デバイスドライバ210は、ネットワーク5を介して、HIDデータを座標検出装置10から受信する。
OS機能実行部220は、上述した「OS」に該当し、PC20のOS機能を実行する。デバイスドライバ210からHIDデータを受信し、受信したHIDデータをアプリケーション機能実行部230に通知する。
上述したように、OS機能実行部220は、複数のスタイラス30がディスプレイ2に接触していることを認識できないため、1つのスタイラス30の接触状態をHIDデータで通知されたものとして、動作する。
アプリケーション機能実行部230は、上述した「アプリケーション」に該当する。アプリケーション機能実行部230は、HIDデータに含まれる、算出された座標と、特定された特徴とから、スタイラス30Aによりディスプレイ2に描画された内容に対応する画像を生成する。なお、アプリケーション機能実行部230により生成される画像データは、描画された内容に対応する画像と、その他の画像(例えば、図、及び表等)とを含んでもよい。
アプリケーション機能実行部230は、属性管理部250を参照し、スタイラス30の識別子と対応付けられて記憶されているスタイラス30の属性を特定する。アプリケーション機能実行部230は、特定された属性を用いて、描画された内容に対応する画像を生成する。
表示制御部240は、アプリケーション機能実行部230により生成された画像をディスプレイ2に表示させる。
属性管理部250は、スタイラス30の識別子と、スタイラス30の属性とを対応付けて記憶する。スタイラス30の属性として、ペン機能、消しゴム機能、及びこれらの機能の設定である。機能の設定には、ペンの色、及び太さ等が設定される。
<動作手順>
図8は、実施形態に係る座標検出装置10及びPC20のOS機能実行部220の処理手順の一例を示すフローチャートである。図8を用いて、スタイラス30がディスプレイ2に接触を開始するとき、及び接触をしているときの動作手順について説明する。
図8は、実施形態に係る座標検出装置10及びPC20のOS機能実行部220の処理手順の一例を示すフローチャートである。図8を用いて、スタイラス30がディスプレイ2に接触を開始するとき、及び接触をしているときの動作手順について説明する。
ステップS800で、接触判断部110が、スタイラス30のディスプレイ2への接触を判断したことに応じて、座標算出部120は、スタイラス30の接触した場所の座標を算出する。また、特徴特定部130は、スタイラス30の識別子等の特徴を特定する。特徴特定部130の処理により、座標算出部120が算出した座標がスタイラス30A及びスタイラス30Bのいずれの接触によるものかを把握することができる。ステップS801で、HIDデータ生成部140は、接触HIDデータを生成する。また、送信タイミング制御部150は、HIDデータ生成部140が生成した接触HIDデータを座標算出部120が算出した座標、及び特徴特定部130が特定したスタイラス30の識別子等と共にPC20に送信する。
PC20において、ステップS802で、OS機能実行部220は、スタイラス30による最初の接触か否かを判断する。
スタイラス30による最初の接触と判断された場合(S802のYes)、ステップS803に進む。
ステップS803で、OS機能実行部220は、PDデータを生成する。PDデータは、算出された座標、特定されたスタイラス30の識別子等の特徴を含む。
一方、ステップS802でスタイラス30による最初の接触と判断されなかった場合(S802のNo)、ステップS805に進む。
ステップS805で、OS機能実行部220は、PUDデータを生成する。PUDデータには、算出された座標、特定されたスタイラス30の識別子等の特徴を含む。
ステップS807で、OS機能実行部220は、生成したOSメッセージをアプリケーション機能実行部230に出力する。
図9は、実施形態に係る座標検出装置10のフローチャートの一例を示す図である。図9を用いて、スタイラス30がディスプレイ2から離れるときの動作手順について説明する。
ステップS901で、接触判断部110が、スタイラス30がディスプレイ2から離れたと判断したことに応じて、座標算出部120は、スタイラス30が離れた場所の座標を算出する。また、特徴特定部130は、スタイラス30の識別子等の特徴を特定する。ここでは、スタイラス30Aがディスプレイ2から離れたと判断されたものとする。
ステップS905で、HIDデータ生成部140は、接触HIDデータを生成する。接触HIDデータは、算出された座標、特定されたスタイラス30Aの識別子等の特徴を含む。
ステップS906で、送信タイミング制御部150は、生成された接触HIDデータを、PC20に送信する。図5を参照して説明したように、接触HIDデータの受信に対応し、PC20のOS機能実行部220は、PUDデータ又はPDデータを生成する。
ステップS907で、HIDデータ生成部140は、離脱HIDデータを生成する。離脱HIDデータは、算出された座標、特定されたスタイラス30Aの識別子等の特徴を含む。
ステップS908で、送信タイミング制御部150は、生成された離脱HIDデータを、PC20に送信する。図5を参照して説明したように、離脱HIDデータの受信に対応し、PC20のOS機能実行部220は、PUデータを生成する。
上述した動作手順を実行することにより、複数のスタイラス30を使用する場合でも、PC20のアプリケーション機能実行部230に、適切にスタイラス30の状態を認識させることが可能となる。
図10は、実施形態に係る動作シーケンスである。図10を用いて、座標検出装置10からPC20に送信されるHIDデータのシーケンスを説明する。なお、HIDデータは、デバイスドライバ210を介して、OS機能実行部220に受信されるが、デバイスドライバ210の記載は省略する。
ステップS1001で、座標検出装置10は、スタイラス30Aの接触の開始を検知する。
ステップS1002で、座標検出装置10は、接触HIDデータをPC20に送信する。接触HIDデータは、スタイラス30Aの識別子、算出された座標を含む。OS機能実行部220は、デバイスドライバ210を介して、接触HIDデータを受信する。OS機能実行部220は、スタイラス30がディスプレイ2に接触したことを認識する。
ステップS1003で、OS機能実行部220は、PDデータをアプリケーション機能実行部230に送信する。アプリケーション機能実行部230は、受信したPDデータから、スタイラス30Aがディスプレイ2に接触したこと、及び接触したディスプレイ2上の座標を認識する。
ステップS1004で、アプリケーション機能実行部230は、属性管理部250を参照し、スタイラス30Aの属性を特定する。
この後、座標検出装置10は、所定間隔で、スタイラス30Aの接触状態をPC20に通知する。例えばスタイラス30Aがディスプレイ2に継続して接触している場合、接触HIDデータをPC20に通知する(ステップS1005)。OS機能実行部220は、スタイラス30が接触していることを認識し、アプリケーション機能実行部230は、スタイラス30Aが継続して接触していること、及びスタイラス30Aの接触場所の座標を認識する。ステップS1005の接触HIDデータは、スタイラス30Aがディスプレイ2に接触中は、所定のタイミングで、繰り返し送信される。
ステップS1006で、座標検出装置10は、スタイラス30Bの接触の開始を検知する。
ステップS1007で、座標検出装置10は、接触HIDデータをPC20に送信する。接触HIDデータは、スタイラス30Bの識別子、算出された座標を含む。OS機能実行部220は、デバイスドライバ210を介して、接触HIDデータを受信する。OS機能実行部220は、スタイラス30がディスプレイ2に継続して接触していると認識する。
ここで、スタイラス30が既にディスプレイ2に接触しており、ステップS1003で既にPDデータが生成されているため、ステップS1008で、OS機能実行部220は、PUDデータを生成し、アプリケーション機能実行部230に送信する。アプリケーション機能実行部230は、受信したPUDデータから、スタイラス30Bがディスプレイ2に接触したこと、及び接触したディスプレイ2上の座標を認識する。
ステップS1009で、アプリケーション機能実行部230は、属性管理部250を参照し、スタイラス30Bの属性を特定する。
例えばスタイラス30Bがディスプレイ2に継続して接触している場合、ステップS1005と同様、ステップS1010で、座標検出装置10は、スタイラス30Bがディスプレイ2に接触していることを示す接触HIDデータをPC20に通知する。OS機能実行部220は、スタイラス30が接触していることを認識し、アプリケーション機能実行部230は、スタイラス30Bが継続して接触していること、及びスタイラス30Bの接触場所の座標を認識する。ステップS1010の接触HIDデータは、スタイラス30Bがディスプレイ2に接触中は、所定のタイミングで、繰り返し送信される。
アプリケーション機能実行部230は、受信したPDデータ、及びPUDデータを基に、スタイラス30A及びスタイラス30Bにより描画された内容に応じた画像を生成する。また、画像は、スタイラス30の属性(例えば、ペンの色)に基づいて生成される。
次に、スタイラス30Aとスタイラス30Bとが同じタイミングでディスプレイ2から離れるときの動作手順について説明する。
ステップS1011で、座標検出装置10は、スタイラス30Aとスタイラス30Bとが同じタイミングで、ディスプレイ2から離れたと判断する。
ステップS1012で、座標検出装置10は、スタイラス30Aの識別子と、ディスプレイ2から離れた場所の座標を含む接触HIDデータをPC20に送信する。OS機能実行部220は、デバイスドライバ210を介して、接触HIDデータを受信し、PUDデータを生成する。
ステップS1013で、OS機能実行部220は、PUDデータをアプリケーション機能実行部230に送信する。アプリケーション機能実行部230は、PUDデータを受信し、スタイラス30Aが継続してディスプレイ2に接触していることを認識する。
ステップS1014で、座標検出装置10は、スタイラス30Aの識別子とディスプレイ2から離れた場所の座標を含む離脱HIDデータを送信する。OS機能実行部220は、デバイスドライバ210を介して離脱HIDデータを受信し、PUデータを生成する。
ステップS1015で、OS機能実行部220は、アプリケーション機能実行部230に、PUデータを送信する。アプリケーション機能実行部230は、PUデータを受信し、スタイラス30Aが、ディスプレイ2から離れたと認識する。
ステップS1016で、座標検出装置10は、スタイラス30Bの識別子と、ディスプレイ2から離れた場所の座標を含む接触HIDデータをPC20に送信する。OS機能実行部220は、デバイスドライバ210を介して、接触HIDデータを受信し、PDデータを生成する。
OS機能実行部220は、PDデータをアプリケーション機能実行部230に送信する。アプリケーション機能実行部230は、PDデータを受信し、スタイラス30Bが接触していることを認識する。
ステップS1018で、座標検出装置10は、スタイラス30Bの識別子とディスプレイ2から離れた場所の座標を含む離脱HIDデータを送信する。OS機能実行部220は、デバイスドライバ210を介して離脱HIDデータを受信し、PUデータを生成する。
ステップS1019で、OS機能実行部220は、アプリケーション機能実行部230に、PUデータを送信する。これにより、アプリケーション機能実行部230は、PUデータを受信し、スタイラス30Bが、ディスプレイ2から離れたと認識する。
以上のように、本実施形態において、スタイラス30A又はスタイラス30Bがディスプレイ2から離れた場合に、座標検出装置10は、すぐに離脱HIDデータを送信するのではなく、接触HIDデータを送信してから離脱HIDデータをPC20に送信する。つまり、ステップS1012~ステップS1019で説明したように、2つのスタイラス30A及びスタイラス30Bが同じタイミングでディスプレイ2から離れた場合でも、各スタイラス30A及びスタイラス30Bに関して、座標検出装置10からまず接触HIDデータがPC20に送信される。そのため、各スタイラス30A及びスタイラス30Bに関して、PC20のOS機能実行部220がPUPデータ又はPDデータを生成することになる。そのため、引き続いて座標検出装置10から送信される離脱HIDデータに対して、PC20のOS機能実行部220は各スタイラス30A及びスタイラス30Bに関して、それぞれPUデータを生成することができる。これにより、PC20のアプリケーション機能実行部230は、スタイラス30A及びスタイラス30Bのそれぞれがディスプレイ2から離れたことを認識することができる。そのため、図4を参照して説明したような誤描画が生じるのを防ぐことができる。
<変形例等>
上述した実施形態では、複数のスタイラス30が、ディスプレイ2から同じタイミングで離れたと判断された場合、座標検出装置10は、PDデータ、又はPUDデータをPC20に送信し、その直後に、PUデータをPC20に送信することにより、PC20にスタイラス30の接触状態を適切に認識させていた。
上述した実施形態では、複数のスタイラス30が、ディスプレイ2から同じタイミングで離れたと判断された場合、座標検出装置10は、PDデータ、又はPUDデータをPC20に送信し、その直後に、PUデータをPC20に送信することにより、PC20にスタイラス30の接触状態を適切に認識させていた。
この手順は、次のように変形することが可能である。
以上の説明では、スタイラス30Aとスタイラス30Bとが同じタイミングでディスプレイ2から離れるときの手順として説明したが、スタイラス30A及びスタイラス30Bのいずれか一方のみがディスプレイ2から離れる場合においても、座標検出装置10が、すぐに離脱HIDデータを送信するのではなく、接触HIDデータを送信してから離脱HIDデータをPC20に送信する構成としてもよい。このような構成とすることにより、座標検出装置10において複数のスタイラス30が同時に離れたか否かを判断する処理を行う必要がなくなる。
また、座標検出装置10において複数のスタイラス30が同時に離れたか否かを判断する場合、例えば先にディスプレイ2から離れたと判断したスタイラス30については、離脱HIDデータの送信に先立つ接触HIDデータの送信を省略することもできる。例えば、座標検出装置10が、スタイラス30Aとスタイラス30Bとが同じタイミングでディスプレイ2から離れたと認識した場合、座標検出装置10は、まずスタイラス30Aの識別子を含む離脱HIDデータを送信する。次に、スタイラス30Bの識別子を含む接触HIDデータを送信する。最後に、スタイラス30Bの識別子を含む離脱HIDデータを送信する。
この手順は、図10に示す動作シーケンスにおいて、ステップS1012とステップS1013とが省略された場合と同様である。
この場合でも、同様にPC20にスタイラス30の接触状態を適切に認識させることができる。
PC20は、情報処理装置の一例である。接触判断部110は、判断部の一例である。HIDデータ生成部140は、データ生成部の一例である。送信タイミング制御部150は、送信部の一例である。ディスプレイ2は、画面の一例である。デバイスドライバ210は、受信部の一例である。アプリケーション機能実行部230は、画像生成部の一例である。スタイラス30A及び30Bは、第1の指示具及び第2の指示具の一例である。
上述した実施形態は、赤外線カメラ等による入力装置3から座標検出装置10が、スタイラス30の状態に応じたデータを受け付ける例について説明したが、入力装置3は、様々な形態で実現可能である。例えば、入力装置3として、静電容量センサ、光学式センサ、又はこれらの組み合わせが用いられてもよい。座標検出装置10が、これらの装置から通知されたデータを基に、スタイラス30の状態を判断した場合にも、座標検出装置10は、スタイラス30の状態を、PC20に適切に認識させることができる。
単一のスタイラス30を用いることを前提としてHIDデータを使用する場合に、上述した実施形態を適用可能である。例えば、Windows(登録商標)、又はLinux(登録商標)等のOSを使用するPC20と、座標検出装置10との間で適用することが可能である。
PC20と、座標検出装置10とは、同一の装置により実現されてもよい。
上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、コンピュータ装置に供給してもよい。そして、コンピュータ装置が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、上述の実施形態が、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は、いずれかの実施の形態を構成することになる。ここで、記憶媒体は、記録媒体または非一時的な記憶媒体である。
また、コンピュータ装置が読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に従って、コンピュータ装置上で動作しているオペレーティングシステム(OS)等が実際の処理の一部または全部を行ってもよい。さらに、その処理によって前述した実施形態の機能が実現されてもよいことは言うまでもない。
以上、本発明の好ましい実施形態について説明したが、本発明はこうした実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
本国際出願は2016年1月8日に出願された日本国特許出願2016-002921号に基づく優先権を主張するものであり、その全内容をここに援用する。
1 座標検出システム
2 ディスプレイ
3 入力装置
5 ネットワーク
6 ケーブル
10 座標検出装置
20 PC
30 スタイラス
110 接触判断部
120 座標算出部
130 特徴特定部
140 HIDデータ生成部
150 送信タイミング制御部
210 デバイスドライバ
220 OS機能実行部
230 アプリケーション機能実行部
240 表示制御部
250 属性管理部
2 ディスプレイ
3 入力装置
5 ネットワーク
6 ケーブル
10 座標検出装置
20 PC
30 スタイラス
110 接触判断部
120 座標算出部
130 特徴特定部
140 HIDデータ生成部
150 送信タイミング制御部
210 デバイスドライバ
220 OS機能実行部
230 アプリケーション機能実行部
240 表示制御部
250 属性管理部
Claims (10)
- 入力装置から受信したデータに基づいて、複数の指示具の画面への接触状態を判断する判断部と、
前記接触状態の判断結果に応じたデータを生成するデータ生成部と、を有し、
前記複数の指示具が前記画面に接触している状態から、前記複数の指示具に含まれる少なくとも一つの指示具が、前記画面から離れたと判断された場合、前記データ生成部は、前記指示具が前記画面に接触している旨を示すデータを生成後、前記指示具が前記画面から離れた旨を示すデータを生成する、座標検出装置。 - 前記複数の指示具に含まれる第1の指示具と、第2の指示具とが、同時に前記画面から離れたと判断された場合、
前記データ生成部は、
前記第1の指示具が前記画面に接触している旨を示すデータを生成後、前記第1の指示具が前記画面から離れている旨を示すデータを生成し、
前記第2の指示具が前記画面に接触している旨を示すデータを生成後、前記第2の指示具が前記画面から離れている旨を示すデータを生成する、請求項1に記載の座標検出装置。 - 前記データ生成部が生成した前記指示具が前記画面に接触している旨を示すデータと前記指示具が前記画面から離れた旨を示すデータとをこの順で、情報処理装置に送信する送信部をさらに含む、請求項1又は2に記載の座標検出装置。
- 前記情報処理装置は、単一の指示具を用いることを前提として動作するオペレーティングシステムを含み、
前記データ生成部は、単一の指示具を用いることを前提に規定されたフォーマットで接触状態の判断結果に応じた前記データを生成する、請求項3に記載の座標検出装置。 - 前記接触状態の判断結果に応じたデータは、前記指示具の識別子を含む、請求項1乃至4のいずれか一項に記載の座標検出装置。
- 座標検出装置が、入力装置から受信したデータに基づいて、複数の指示具の画面への接触状態を判断するステップと、
座標検出装置が、前記接触状態の判断結果に応じたデータを生成し、情報処理装置に送信するステップと、
前記情報処理装置が、受信した前記接触状態の判断結果に応じたデータに基づいて、前記複数の指示具による前記画面への前記接触状態に対応した画像を生成するステップと、を有し、
前記複数の指示具が前記画面に接触している状態から、前記複数の指示具に含まれる少なくとも一つの指示具が、前記画面から離れたと判断された場合、前記座標検出装置は、前記指示具が前記画面に接触している旨を示すデータを生成後、前記指示具が前記画面から離れた旨を示すデータを生成する、制御方法。 - 前記接触状態の判断結果に応じたデータは、前記指示具の識別子を含み、
前記情報処理装置が、前記指示具の識別子に対応付けられている、前記指示具の属性を特定するステップと、を有し、
特定された前記指示具の属性にしたがって、前記画像が生成される、請求項6に記載の制御方法。 - 前記指示具の属性は、前記指示具が前記画面に接触した部分に画像を形成するペン機能、又は、前記指示具が前記画面に接触した部分に存在する画像を消去する消しゴム機能である、請求項7に記載の制御方法。
- 画面と、
前記画面への指示具の接触状態を検知し、検知した内容を含むデータを送信する入力装置と、
座標検出装置と、を含む座標検出システムであって、
前記座標検出装置は、
入力装置から受信したデータに基づいて、複数の指示具の前記画面への接触状態を判断する判断部と、
前記接触状態の判断結果に応じたデータを生成するデータ生成部と、を有し、
前記複数の指示具が前記画面に接触している状態から、前記複数の指示具に含まれる少なくとも一つの指示具が、前記画面から離れたと判断された場合、前記データ生成部は、前記指示具が前記画面に接触している旨を示すデータを生成後、前記指示具が前記画面から離れた旨を示すデータを生成する、座標検出システム。 - 前記座標検出システムは、情報処理装置を含み、
前記情報処理装置は、
前記判断結果に応じたデータを前記座標検出装置から受信する受信部と、
前記判断結果に応じたデータを基に、前記複数の指示具による前記画面への前記接触状態に対応した画像を生成する画像生成部と、
生成された前記画像を前記画面に表示させる表示制御部と、を有する、請求項9に記載の座標検出システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016002921A JP2019035993A (ja) | 2016-01-08 | 2016-01-08 | 座標検出装置、制御方法、及び座標検出システム |
| JP2016-002921 | 2016-01-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017119293A1 true WO2017119293A1 (ja) | 2017-07-13 |
Family
ID=59274331
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2016/088064 Ceased WO2017119293A1 (ja) | 2016-01-08 | 2016-12-21 | 座標検出装置、制御方法、及び座標検出システム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2019035993A (ja) |
| WO (1) | WO2017119293A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08286821A (ja) * | 1995-04-14 | 1996-11-01 | Fuji Xerox Co Ltd | 手書き入力装置 |
| JP2009205425A (ja) * | 2008-02-27 | 2009-09-10 | Canon Inc | 座標入力装置、座標入力制御方法、座標入力制御プログラム |
-
2016
- 2016-01-08 JP JP2016002921A patent/JP2019035993A/ja active Pending
- 2016-12-21 WO PCT/JP2016/088064 patent/WO2017119293A1/ja not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08286821A (ja) * | 1995-04-14 | 1996-11-01 | Fuji Xerox Co Ltd | 手書き入力装置 |
| JP2009205425A (ja) * | 2008-02-27 | 2009-09-10 | Canon Inc | 座標入力装置、座標入力制御方法、座標入力制御プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019035993A (ja) | 2019-03-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7722995B2 (ja) | 接続リソースを使用したユーザデバイスアプリケーションの投影、制御、および管理 | |
| CN107003818B (zh) | 在设备之间共享屏幕的方法及使用该方法的设备 | |
| CN104246659B (zh) | 可实例化的手势对象 | |
| US20190361593A1 (en) | Screen Capturing Method and Apparatus | |
| CN105264870B (zh) | 使用悬停输入的用户输入 | |
| JP6488653B2 (ja) | 表示装置、表示制御方法および表示システム | |
| KR101921276B1 (ko) | 휴대단말기의 멀티태스킹 수행 장치 및 방법 | |
| EP3447626A2 (en) | Display apparatus and control method thereof | |
| CN103716530B (zh) | 用于控制相机的方法和移动装置 | |
| WO2014155730A1 (ja) | 表示処理装置、及び表示処理方法 | |
| CN103914249A (zh) | 鼠标功能提供方法和实施所述方法的终端 | |
| EP2741467A1 (en) | Application execution method and apparatus | |
| WO2014036974A1 (zh) | 一种终端设备、同屏显示方法和系统 | |
| CN108475221A (zh) | 用于提供多任务处理视图的方法和装置 | |
| WO2019033655A1 (zh) | 一种防误触的方法、装置、设备及存储介质 | |
| CN111045627B (zh) | 用于显示对象的方法和设备 | |
| CN108932102A (zh) | 数据处理方法、装置以及移动终端 | |
| JP6286836B2 (ja) | 投影システム、投影装置、投影方法、及び投影プログラム | |
| EP3575945B1 (en) | Information display method and mobile terminal | |
| CN111090529B (zh) | 共享信息的方法及电子设备 | |
| CN112198998A (zh) | 文本输入控制方法、相关装置、设备及介质 | |
| CN108803961B (zh) | 数据处理方法、装置以及移动终端 | |
| CN103973870B (zh) | 信息处理设备和信息处理方法 | |
| WO2017119293A1 (ja) | 座標検出装置、制御方法、及び座標検出システム | |
| CN104049843B (zh) | 一种信息处理方法及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16883792 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16883792 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: JP |