The present invention relates to a coordinate output device, a display device, a method of outputting a coordinate, and a program. In particular, the present invention relates to a technique of generating coordinates in accordance with touch location on a touch panel.
When a display device has a touch panel and a liquid crystal panel combined together, it is known that the voltage signals for driving the liquid crystal panel when a touch location has been detected on the touch panel causes noise. Therefore, in order reduce noise caused by driving of the liquid crystal panel, Japanese Patent Application Laid-Open Publication No. H10-124233 discloses a technique in which detection of touch location is performed synchronously with horizontal synchronization signals from the liquid crystal panel, and each frame period is divided into a display period and a detection period.
In the conventional technique described above, noise caused by driving of the liquid crystal panel is reduced by detection of touch location being performed in accordance with the driving timing of the liquid crystal panel. The detection timing of touch location, however, is then limited to the driving timing of the liquid crystal panel. As a result, there are times when there is a drop in the output rate of coordinates to be drawn being outputted to the control device that causes displays images to be displayed on the display panel, and images that the user draws with a finger or the like are not properly displayed.
The present invention aims at proposing a technique that reduces the effects of noise caused by driving of the display panel while reducing a drop in the output rate of coordinates, which represent an object to be drawn.
A coordinate output device of the present invention includes a detection unit that causes the touch panel to output location information representing touch location during a detection period that starts after a prescribed length of time has passed in a display period of a display panel, thereby detecting a set of coordinates corresponding to touch location on the touch panel; a generation unit that performs a generation process to generate a set of coordinates in accordance with three sets of coordinates that have been detected by the detection unit; and an output unit that outputs coordinate data having the three sets of coordinates detected by the detection unit and the set of coordinates generated by the generation unit, the generated set of coordinates belonging to a period in which the three sets of coordinates were detected.
The coordinate output device of the present invention can reduce the effects of noise caused by driving of the display panel while reducing a drop in the output rate of coordinates, which represent an object to be drawn.
A coordinate output device according to one embodiment of the present invention includes a detection unit that causes the touch panel to output location information representing touch location during a detection period that starts after a prescribed length of time has passed in a display period of a display panel, thereby detecting a set of coordinates corresponding to touch location on the touch panel; a generation unit that performs a generation process to generate a set of coordinates in accordance with three sets of coordinates that have been detected by the detection unit; and an output unit that outputs coordinate data having the three sets of coordinates detected by the detection unit and the set of coordinates generated by the generation unit, the generated set of coordinates belonging to a period in which the three sets of coordinates were detected (first configuration). With this configuration, it is possible to detect coordinates in which the effects of noise generated during the start of driving of the display panel have been reduced. Furthermore, coordinates are generated in accordance with the detected three coordinates, thereby allowing for a reduction in a drop of the output rate of the coordinates representing a picture to be drawn.
A second configuration of the present invention is the first configuration, wherein the generation unit may perform the generation process when two line segments formed by linking the detected three sets of coordinates in order of detection thereof are at an angle to each other that is within a prescribed angle range. With this configuration, it is possible to omit ineffectual generating processes and suitably display the images the user has drawn on the display panel.
A third configuration of the present invention is the first or second configuration, wherein the generation unit may perform the generation process when a length of respective line segments formed by linking the detected three sets of coordinates in order of detection thereof is at least a prescribed length. With this configuration, it is possible to omit ineffectual generating processes and suitably display the images the user has drawn on the display panel.
A fourth configuration of the present invention is any one of the first to third configurations, wherein the set of coordinates may be generated by substituting (x1, y1), (x2, y2), and (x3, y3) that respectively represent the detected three sets of coordinates into a formula below.
A fifth configuration of the present invention is any one of the first to third configurations, wherein the generation unit may generate midpoint coordinates representing midpoints of respective line segments that are formed by linking the detected three sets of coordinates in order of detection thereof, the set of coordinates generated by the generation unit being located inside a triangle that has the detected three sets of coordinates at respective tips thereof in accordance with the midpoint coordinates and the detected three sets of coordinates that are connecting points of the respective line segments, and wherein, among the detected three sets of coordinates, the output unit may output a first set of coordinates and the last set of coordinates thereof and the set of coordinates generated by the generation unit as the coordinate data.
A display device according to one embodiment of the present invention includes: a display panel configured to display an image; a touch panel that outputs location information representing a touch location in accordance with an input signal; the coordinate output device according to any one of the first to fifth configurations, the coordinate output device inputting the input signal to the touch panel and outputting coordinate data; and a display control unit that causes the display panel to display an image in accordance with the coordinate data outputted from the coordinate output device.
A method of outputting coordinates according to one embodiment of the present invention includes: causing the touch panel to output location information representing touch location during a detection period that starts after a prescribed length of time has passed in a display period of a display panel, thereby detecting a set of coordinates corresponding to touch location on the touch panel; generating a set of coordinates in accordance with three sets of coordinates that have been detected in the step of causing; and outputting coordinate data having the three sets of coordinates detected in the step of causing and the set of coordinates generated in the step of generating, the generated coordinates belonging to a period in which the three coordinates were detected.
A program according to one embodiment of the present invention causes a computer to perform the following: cause the touch panel to output location information representing touch location during a detection period that starts after a prescribed length of time has passed in a display period of a display panel, thereby detecting a set of coordinates corresponding to touch location on the touch panel; generate a set of coordinates in accordance with three sets of coordinates that have been detected in the step of causing; and output coordinate data having the three sets of coordinates detected in the step of causing and the set of coordinates generated in the step of generating, the generated coordinates belonging to a period in which the three coordinates were detected.
Specific embodiments of the present invention will be explained below with reference to figures. In the drawings referred to below, for ease of description, among the components of the embodiments of the present invention, only main members necessary for describing the present invention will be shown, in a simplified manner. Therefore, the display device of the present invention can include appropriate components not shown in the various drawings referred to in the present specification. Portions in the drawings that are the same or similar are assigned the same reference characters and descriptions thereof will not be repeated.
The touch panel 10 functions as an input unit for receiving commands that a user makes through contact from a finger.
The explanation will be continued while referring back to
The driving control unit 110 drives the touch panel 10 in accordance with horizontal synchronization signals from the display panel control unit 21.
The detection unit 111 receives the voltage value outputted from the touch panel 10, or namely, the voltage value that corresponds to the combination of the electrodes 101 and the electrodes 102 selected by the driving control unit 110. The received voltage value is compared to a prescribed threshold. If the voltage value is at least the threshold, the coordinates corresponding to the location of the electrodes 101 and the electrodes 102 from where the voltage value was received are identified as coordinates expressing a touch location, and the identified coordinates (hereinafter, referred to as the detected coordinates) are chronologically stored in the RAM.
The generation unit 112 reads out the detected coordinates stored in the RAM in the order in which these coordinates have been detected, and generates coordinates in accordance with a prescribed arithmetic formula and the detected coordinates that have been read. The details of the method of generating these coordinates will be explained later in the operation explanation.
The output unit 113 outputs coordinate data that has the coordinates generated by the generation unit 112 (hereinafter referred to as generated coordinates) and the detected coordinates stored in the RAM to the control unit 40.
The explanation will be continued while referring back to
The explanation will be continued while referring back to
The control unit 40 has a CPU and a memory (ROM and RAM). The control unit 40 controls the respective units connected thereto by the CPU running the control programs stored in the ROM. Specifically, the control unit 40 receives image data that includes operation signals from the operation unit 60 and detected coordinates and generated coordinates from the touch panel control unit 11, and then generates image data. The control unit 40 reads image data from the memory unit 50 and outputs an image signal having image data to the display panel control unit 21. The control unit 40 and the display panel control unit 21 are examples of a display control unit.
The memory unit 50 is a storage medium such as a hard disk, and stores various types of data such as application programs and image data operated by the display device 1. The operation unit 60 is operation keys such as a power switch of the display device 1, a menu button, and the like. The operation unit 60 outputs an operation signal representing content from user operation to the control unit 40. A clock unit 70 counts clock signals from a clock supplying unit (not shown).
(Operation)
An example of operation of the coordinate output process in the display device 1 is explained below.
The touch panel control unit 11 detects touch location on the sensing area Sa at prescribed clock timing from the initial rise of the horizontal synchronization signal (step S11). Specifically, the touch panel control unit 11 sequentially selects the electrodes 101 of the touch panel 10 and applies a voltage thereto, and sequentially selects the electrodes 102. This causes a voltage value corresponding to the respective combinations of the electrodes 101 and the electrodes 102 to be consecutively outputted from the touch panel 10.
The touch panel control unit 11 determines whether or not the voltage value outputted from the touch panel 10 is at least a prescribed threshold, or namely, whether or not the touch panel 10 has been touched (step S12). If the voltage value is at least the prescribed threshold value (YES in step S12), the touch panel control unit 11 identifies the coordinates corresponding to the respective combinations of the electrodes 101 and the electrodes 102 for which the voltage value has been obtained as the touch location, and the identified detected coordinates are chronologically stored in the RAM (step S13). If the voltage value is not at least the prescribed threshold (NO in step S12), the touch panel control unit 11 repeats the process in step S12.
The touch panel control unit 11 repeats the processes up to and including step S12 until three detection coordinates are stored in the RAM (NO in step S14). If three detected coordinates (P1, P2, and P3) are stored in the RAM (YES in step S14), the touch panel control unit 11 sets a loop counter to n=1 (step S15), and reads out the three detected coordinates (P1, P2, and P3) from the RAM in order from number one to number three (step S16). The touch panel control unit 11 generates coordinates that are based on the three detected coordinates that have been read (step S17).
The process of the touch panel control unit 11 generating the coordinates that are based on the respective detected coordinates P1, P2, and P3 shown in
(a) First, coordinates (xs0, ys0) at midpoint S0 on a line L3 connecting P1 to P3 are found using formula (1) below.
Coordinates (xs1, ys1) at S1, which are symmetrical with point S0 that has been found in (a), are found using formula (2) below with point P2 as a reference.
Coordinates (xs3, ys3) at S3, which is at the intersection of line L5 connecting P3 to S1 and linear line L6, which is parallel to the line L3, are found using formula (3) below.
(d) Coordinates (xs5, ys5) at S5, which is the centroid of a triangle having P2, P3, and S3 at the tips thereof, is found using formula (4) below.
(e) The coordinates of S5, which are found in (d) as described above, are the generated coordinates that are based on P1, P2, and P3.
In this manner, the generated coordinates S5 are generated, and these coordinates are located on the outside of a triangle having the three detected coordinates P1, P2, and P3 at the tips thereof.
The explanation will be continued while referring back to
In step S19, if new detection coordinates have not been stored in the RAM (NO in step S19), then the touch panel control unit 11 repeats the processes in the steps up to and including step S20 if the detection period has not ended yet (NO in step S21). If the detection period has ended (yes in step S21), then the coordinate output process is ended. An example was described in which the generated coordinates (S5) are generated using the formula (1) to (4) above, but the generated coordinates (S5) may be found by substituting the respective coordinates of the detected coordinates P1, P2, and P3 in formula (4).
As shown in
In Embodiment 1 described above, detection of touch location on the touch panel 10 is performed after a certain period of time has passed from the start of driving of the display panel 20. Therefore, detection of the touch panel 10 can be performed without being affected by noise generated during the start of the driving of the display panel 20. In Embodiment 1 described above, the three detected coordinates that were detected in the detection period of the touch panel 10 can be substituted into a simple arithmetic formula to generate coordinates. Therefore, it is possible to increase the output rate of coordinates without significantly increasing the processing load for generating coordinates.
Next, an example of coordinate generation that is different from Embodiment 1 will be explained. Elements that are shared with Embodiment 1 will be given the same reference characters as Embodiment 1, and parts that are different from Embodiment 1 will be explained using
The touch panel control unit 11 reads the detected coordinates P1, P2, and P3 from the RAM (YES in step S14, then S15 and S161) and generates coordinates using a Bezier curve based on these detected coordinates (step S171). The method of generating the coordinates is as follows.
(a) As shown in
(b) Next, the touch panel control unit 11 generates T3 coordinates (xT3, yT3) shown in
The explanation will be continued while referring back to
After the detected coordinates P3 are stored, if new detected coordinates P4 are stored in the RAM (YES in step S191), then the touch panel control unit 11 increases the loop counter by 1 and reads out the detected coordinates P2, P3, and P4 (step S21, step S161), and repeats the processes up to and including step S171. As shown in
In the example described above, the solid line image shown in
In Embodiment 2 described above, detection of touch location is performed after a certain period of time has passed from the start of the display period of the display panel 20, in a manner similar to Embodiment 1, thereby making it possible to obtain detection coordinates having reduced noise during driving of the display panel 20. Furthermore, the three detected coordinates that have been detected are substituted into a two-dimensional Bezier curved line formula to find generated coordinates; therefore, it is possible to reduce a drop of the coordinate output rate without significantly increasing the processing load.
The embodiments of the present invention were described above, but the present invention is not limited to the embodiments above, and modification examples and combinations of modification examples below are also included in the scope of the present invention.
(1) In Embodiment 1, an example was described in which, of the three detected coordinates, coordinates are generated between the final detected coordinates and the detected coordinates before these coordinates (hereinafter, referred to as the middle detected coordinates), and no coordinates were generated between the first detected coordinates and the middle detected coordinates, but coordinates may be generated between the first detected coordinates and the middle detected coordinates. Specific examples (i) and (ii) thereof will be explained below.
(i) In the example in
(ii) In the example shown in
In (i) above, it is necessary for formula (10) for generating S4 to be stored in addition to formula (4) and for a process to be run separately from formula (4). In the configuration in (ii), the coordinates can be generated with just formula (4), thus allowing for memory capacity and processing load to be more reduced than the configuration in (i). In the configuration in (i), the coordinates of S4 are not generated until the three detected coordinates of P1, P2, and P3 are stored. Accordingly, in the configuration in (i), after the coordinates of S4 are generated, the detected coordinates (P1, P2, and P3), and the generated coordinates (S4 and S5) are outputted. Meanwhile, in the configuration in (ii), the coordinates of S4 are generated when the detected coordinates of P1 and P2 have been stored. Accordingly, in the configuration in (ii), after the coordinates of S4 have been generated, the detected coordinates (P1 and P2) and the generated coordinates (S4) are outputted, and after the S5 coordinates have been generated, the detected coordinates (P3) and the generated coordinates (S5) are outputted. Therefore, in the configuration in (ii), it is possible to output the coordinates and draw a picture faster than in the configuration in (i).
(2) In Embodiments 1 and 2 described above, the touch panel control unit 11 may generate coordinates when the conditions below are met. The coordinates may be generated when an angle r based on the three detected coordinates is within a prescribed angle range, for example. In other words, when the three detected coordinates P1 (x1, y1), P2 (x2, y2), and P3 (x3, y3) shown in
As another example, the generated coordinates may be generated when the respective two lines linking the three detected coordinates together in order of detection are at least a prescribed length (at least five dots, for example), or the coordinates may be generated when the total length of the two lines is at least a prescribed length (at least ten dots, for example).
Alternatively, in addition to the angle and length based on the three detected coordinates, the coordinate generation process may be performed when an operation that instructs generation of the coordinates is performed. The coordinate generation process may be performed when conditions combining any of the respective conditions above are met.
(3) In the example in Embodiment 2 described above, during the second set of coordinate generation, the detected coordinates P2, P3, and P4 are read to generate coordinates, but coordinates may be generated based on the generated coordinates T2 and the detected coordinates P3 and P4 that were previously generated.
(4) In Embodiment 1 and Modification Example 1 described above, as shown in
(5) In Embodiment 2 described above, various coordinates may be further generated between the detected coordinates P1 and the generated coordinates T1, and between the detected coordinates P3 and the generated coordinates T2. In this case, the respective coordinates of T1, P2, and T2 are substituted into P0, P1, and P2 in the respective formulae in which ¼ and ¾ have been respectively configured for the parameter (t) in formula (7). The formulae for finding generated coordinates S8 (xT8, yT8) and S9 (xT9, yT9) for t=¼ and t=¾ are shown below.
xT8=(9×x1+22×x2+x3)/32
yT8=(9×y1+22×y2×y3)/32
xT9=(x1+22×x2+9×x3)/32
yT9=(y1+22×y2+9×y3)/32
(6) In Embodiments 1 and 2 described above, an example was shown in which coordinate generation is performed in the touch panel control unit 11, but the detected coordinates may be outputted to the control unit 40 from the touch panel control unit 11 and coordinate generation may be performed in the control unit 40.
(7) In Embodiments 1 and 2 described above, the display device 1 was described as an example, but a coordinate output device that has the functions of the touch panel control unit 11 may be provided separately. In other words, the coordinate output device may receive detection results from the touch panel 10 and generate detected coordinates and generated coordinates based on these detection results, or may receive detected coordinates based on detection results of the touch panel 10 from another device and then generate coordinates and output coordinate data.
The present invention can be applied to the industry of display devices equipped with touch panels.
Number | Date | Country | Kind |
---|---|---|---|
2012-120844 | May 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/061944 | 4/23/2013 | WO | 00 |