DYNAMIC ADJUSTMENT OF TOUCH SENSITIVE AREA IN A DISPLAY ASSEMBLY
20170277332 · 2017-09-28
Assignee
Inventors
- Thomas A. Seder (Warren, MI, US)
- James A. Carpenter (Rochester Hills, MI, US)
- Reno V. Ramsey (Sterling Heights, MI, US)
- William E. Conway (Birmingham, MI, US)
- Davide Silvestri (Macomb, MI, US)
Cpc classification
G06F3/0488
PHYSICS
G09G2320/08
PHYSICS
G06F2203/04101
PHYSICS
G09G2320/028
PHYSICS
B60K35/00
PERFORMING OPERATIONS; TRANSPORTING
G09G5/00
PHYSICS
International classification
Abstract
A display assembly includes a display console having an image plane spaced from a touch plane. The touch plane includes at least one touch sensitive area. A controller is operatively connected to the display console, and includes a processor and tangible, non-transitory memory on which is recorded instructions for executing a method of dynamically adjusting at least one touch sensitive area in real-time. The controller may be programmed to determine respective correction shifts to each pixel in the touch sensitive area for multiple viewing positions of one or more users. The display console may be curved. The controller may be programmed to simultaneously a first correction shift to a first touch sensitive area for the viewing position of the first user and a second correction shift to a second touch sensitive area for the viewing position of the second user.
Claims
1. A display assembly comprising: a display console having an image plane and a touch plane, the touch plane being spaced a separation distance (zi) from the image plane; wherein the touch plane includes at least one touch sensitive area; a controller operatively connected to the display console, the controller including a processor and tangible, non-transitory memory on which is recorded instructions for executing a method of dynamically adjusting the at least one touch sensitive area in real-time; wherein the at least one touch sensitive area includes a first touch sensitive area divided into a first plurality of pixels; and wherein execution of the instructions by the processor causes the controller to determine respective correction shifts to each of the first plurality of pixels of the first touch sensitive area for multiple viewing positions of the at least one user.
2. The assembly of claim 1, wherein the at least one user includes a first user and a second user, and further comprising: a proximity sensing system operatively connected to the controller and including a first sensor; wherein the first sensor is configured to detect when one of the first user and the second user is at least partially within a first predefined distance of the first touch sensitive area; and if the first sensor detects the first user being at least partially within the first predefined distance of the first touch sensitive area at a time j, then the controller is programmed to apply the respective correction shifts to each of the first plurality of pixels for a viewing position of the first user at the time j.
3. The assembly of claim 2, wherein: if the first sensor detects the second user being at least partially within the first predefined distance of the first touch sensitive area at a time k, then the controller is programmed to apply the respective correction shifts to each of the first plurality of pixels for a viewing position of the second user at the time k.
4. The assembly of claim 2, wherein: the at least one touch sensitive area includes a second touch sensitive area divided into a second plurality of pixels; the proximity sensing system further includes a second sensor configured to detect when another of the first user and the second user is at least partially within a second predefined distance of the second touch sensitive area.
5. The assembly of claim 4, wherein: if the first sensor indicates the one of the first user and the second user is at least partially within the first predefined distance of the first touch sensitive area at a time m and the second sensor indicates the another of the first user and the second user is at least partially within the second predefined distance of the second touch sensitive area at the time m, then the controller is programmed to apply simultaneously a first and a second correction shift at the time m; and the first correction shift is applied to the first plurality of pixels of the first touch sensitive area for the viewing position of the first user at the time m and second correction shift is applied to the second plurality of pixels of the second touch sensitive area for the viewing position of the second user at the time m.
6. The assembly of claim 1, wherein: the touch plane defines a coordinate system with an origin, an x-axis, a y-axis and a z-axis, the x-axis and the y-axis defining an x-y plane; and the controller is programmed to obtain a correction matrix [x.sub.pixel, y.sub.pixel, x.sub.pixel offset, y.sub.pixel offset] such that each of the first plurality of pixels (x.sub.pixel, y.sub.pixel) is translated in the x-y plane by off-set values (x.sub.pixel offset, y.sub.pixel offset); the off-set values (x.sub.pixel offset, y.sub.pixel offset) are based at least partially on the separation distance (z.sub.1), a viewing reference vector (R) between the origin and a first eye reference point of the first user, a first angle (θ) and a second angle (φ); wherein the second angle (φ) is between a normal vector perpendicular to the display console and the viewing reference vector (R).
7. The assembly of claim 6, wherein the first angle (θ) is between the x-axis and an x-y projection vector (r.sub.xy), the x-y projection vector (r.sub.xy) being a projection of the viewing reference vector (R) on the x-y plane.
8. The assembly of claim 6, wherein the first angle (θ) is between the x-axis and a tangent vector, the tangent vector being a projection of the viewing reference vector (R) on a plane that is tangent to the normal vector.
9. The assembly of claim 6, further comprising: a seat position sensor operatively connected to the controller and configured to detect a seat position of the first user; and wherein the viewing reference vector (R), the first angle (θ) and the second angle (φ) are based at least partially on the seat position sensor.
10. The assembly of claim 6, further comprising: a camera operatively connected to the controller and configured to obtain the first eye reference point in real-time; wherein the viewing reference vector (R), the first angle (θ) and the second angle (φ) are dynamically adjusted based at least partially on the first eye reference point in real-time.
11. The assembly of claim 6: wherein an x-component of the off-set values (x.sub.pixel offset, y.sub.pixel offset) is defined as x.sub.pixel offset=z.sub.1*[cosine(90−φ)*cosine(180−θ)]/[cosine(φ)]; and wherein a y-component of the off-set values (x.sub.pixel offset, y.sub.pixel offset) is defined as y.sub.pixel offset=z.sub.1*[cosine(90−φ)*sine(180−θ)]/[cosine(φ)].
12. The assembly of claim 6, wherein: the display console is rotated a tilt angle (α) about a rotation axis such that an original position (x.sub.1, y.sub.1) on the touch plane is rotated to a modified position (x.sub.2, y.sub.2) relative to the origin; wherein a y-coordinate (y.sub.2) of the modified position (x.sub.2, y.sub.2) is a function of the original position (x.sub.1, y.sub.1) and the tilt angle (α), such that y.sub.2=(y.sub.1*cosine(α)); and wherein the controller is programmed to obtain a modified first angle (θ.sub.2) and a modified second angle (φ.sub.2) to compensate for the tilt angle (α).
13. The assembly of claim 12, wherein: the modified first angle (θ.sub.2) is based at least partially on a modified projection (r.sub.xy,2) and a radial distance (r) between the origin and the eye reference point of the first user, the modified first angle (θ.sub.2) being defined as [90−(cosine.sup.−1(r.sub.xy,2/r))]; wherein the modified second angle (φ.sub.2) is based at least partially on a modified projection (r.sub.xy,2) and a modified y coordinate (y.sub.2), the modified second angle (φ.sub.2) being defined as [180−(sine.sup.−1(y.sub.2/(r.sub.xy,2))]; and wherein the modified projection (r.sub.xy,2) is a function of the original position (x.sub.1, y.sub.1) and the tilt angle (α), such that r.sub.xy,2=(x.sub.2+y.sub.2).sup.0.5.
14. A method of dynamically adjusting at least one touch sensitive area in real-time in a display assembly, the display assembly including a proximity sensing system and a display console each operatively connected to a controller, the display console having an image plane and a touch plane spaced a separation distance (z.sub.1) from the image plane, the at least one touch sensitive area being on the touch plane and divided into a first plurality of pixels, the method comprising: determining respective correction shifts to each of the first plurality of pixels for variable viewing positions of a first user, via the controller; detecting when one of the first user and a second user is at least partially within a first predefined distance of the first touch sensitive area via a first sensor in the proximity sensing system; if the first sensor detects the first user being at least partially within the first predefined distance of the first touch sensitive area at a time j, then applying the respective correction shifts to each of the first plurality of pixels for the viewing position of the first user at the time j, via the controller.
15. The method of claim 14, further comprising: determining respective correction shifts to each of the first plurality of pixels for variable viewing positions of the second user, via the controller; if the first sensor detects the second user being at least partially within the first predefined distance of the first touch sensitive area at a time k, then the controller is programmed to apply the respective correction shifts to each of the first plurality of pixels for the viewing position of the second user at the time k.
16. The method of claim 14, wherein the at least one touch sensitive area includes a second touch sensitive area divided into a second plurality of pixels and further comprising: detecting when another of the first user and the second user is at least partially within a second predefined distance of the second touch sensitive area, via the second sensor in the proximity sensing system; if the first sensor indicates the one of the first user and the second user is at least partially within the first predefined distance of the first touch sensitive area at a time m and the second sensor indicates the another of the first user and the second user is at least partially within the second predefined distance of the second touch sensitive area at the time m, then applying simultaneously a first and a second correction shift at the time m, via the controller, such that the first correction shift is applied to the first plurality of pixels of the first touch sensitive area for the viewing position of the first user at the time m and the second correction shift is applied to the second plurality of pixels of the second touch sensitive area for the viewing position of the second user at the time m.
17. The method of claim 14, wherein the touch plane defines a coordinate system with an origin, an x-axis, a y-axis and a z-axis, the x-axis and the y-axis defining an x-y plane and further comprising: obtaining a correction matrix [x.sub.pixel, y.sub.pixel, x.sub.pixel offset, y.sub.pixel offset] such that each of the first plurality of pixels (x.sub.pixel, y.sub.pixel) is translated in the x-y plane by offset values (x.sub.pixel offset, y.sub.pixel offset), via the controller; wherein the off-set values (x.sub.pixel offset, y.sub.pixel offset) are based at least partially on the separation distance (z.sub.1), a viewing reference vector (R) between the origin and an eye reference point of the first user, a first angle (θ) and a second angle (φ); and wherein the second angle (φ) is between a normal vector perpendicular to the display console and the viewing reference vector (R).
18. The method of claim 17, wherein the first angle (θ) is between the x-axis and an x-y projection vector (r.sub.xy), the x-y projection vector (r.sub.xy) being a projection of the viewing reference vector (R) on the x-y plane.
19. The method of claim 18, wherein the first angle (θ) is between the x-axis and a tangent vector, the tangent vector being a projection of the viewing reference vector (R) on a plane that is tangent to the normal vector.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION
[0020] Referring to the drawings, wherein like reference numbers refer to like components,
[0021]
[0022] Referring to
[0023] Referring to
[0024] Referring to
[0025]
[0026] Referring to
[0027] Referring to
[0028] Referring now to
[0029] Referring to
[0030] In one embodiment, the viewing reference vector (R), the first angle (θ) and the second angle (φ) are based at least partially on data from the camera 46 of
[0031] In block 204 of
[0032] In block 206 of
θ.sub.2=[90−(cosine.sup.−1(r.sub.xy,2/r))].
φ.sub.2=[180−(sine.sup.−1(y.sub.2/(r.sub.xy,2))].
[0033] The method 200 proceeds to block 208, which includes sub-blocks 208A and 208B. In sub-block 208A of
[0034] In sub-block 208B of
[0035] Each pixel (x.sub.pixel, y.sub.pixel) is translated in the x-y plane by the off-set values (x.sub.pixel offset, y.sub.pixel offset). The off-set values (x.sub.pixel offset, y.sub.pixel offset) are based at least partially on the viewing reference vector (R) between the origin and the eye reference point of the first (or second) user, the first angle (θ) and the second angle (φ). The first and second correction matrices (x.sub.pixel, y.sub.pixel, x.sub.pixel offset, y.sub.pixel offset) be continuously updated on the basis of camera capture of the respective eye reference points 42a, 44a.
[0036] Referring to
x.sub.pixel offset=z.sub.1*[cosine(90−φ)*cosine(180−θ)]/[cosine(φ)].
Referring to
y.sub.pixel offset=z.sub.1*[cosine(90−φ)*sine(180−θ)]/[cosine (φ)].
[0037] In block 210 of
[0038] In block 210 of
[0039] Additionally, in block 210 of
[0040] In block 216, the controller 70 is programmed to obtain and apply simultaneously two correction matrices, one for the plurality of pixels 34 of the first touch sensitive area 32 and another for the plurality of pixels 35 of the second touch sensitive area 33. The first correction matrix (x.sub.pixel, y.sub.pixel, x.sub.pixel offset, y.sub.pixel offset) is based on the eye reference point of the user (first or second users 42, 44) that is within a first predefined distance 54a of the first touch sensitive area 32. The second correction matrix (x.sub.pixel, y.sub.pixel, x.sub.pixel offset) is based on the eye reference point of the user (first or second users 42, 44) that is within the second predefined distance 54b of the second touch sensitive area 33. Stated differently, the controller 70 is programmed to simultaneously dynamically
[0041] Referring now to
[0042] Referring to
[0043] The difference in this embodiment is the definition of the first angle (θ). For point P, the first angle (θ) is between the x-axis and a tangent vector 382p (T). The tangent vector 382p is a projection of the viewing reference vector 376p on a plane that is tangent to the normal vector 384p. For point Q, the first angle (θ) is between the x-axis and a tangent vector 382q. The tangent vector 382q is a projection of the viewing reference vector 376q on a plane that is tangent to the normal vector 384q. Similar to the first embodiment, the parameters may be based at least partially on data from the camera 46 or the first and second seat position sensors 48, 50.
[0044] The controller 70 (and execution of the method 200) improves the functioning of the device 12 by improving accuracy of user interaction and compensating for multiple issues that cause touch input errors on both flat and curved displays. The controller 70 of
[0045] The controller 70 includes a computer-readable medium (also referred to as a processor-readable medium), including any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (DRAM), which may constitute a main memory. Such instructions may be transmitted by one or more transmission media, including coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer. Some forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
[0046] Look-up tables, databases, data repositories or other data stores described herein may include various kinds of mechanisms for storing, accessing, and retrieving various kinds of data, including a hierarchical database, a set of files in a file system, an application database in a proprietary format, a relational database management system (RDBMS), etc. Each such data store may be included within a computing device employing a computer operating system such as one of those mentioned above, and may be accessed via a network in any one or more of a variety of manners. A file system may be accessible from a computer operating system, and may include files stored in various formats. An RDBMS may employ the Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the PL/SQL language mentioned above.
[0047] The detailed description and the drawings or figures are supportive and descriptive of the invention, but the scope of the invention is defined solely by the claims. While some of the best modes and other embodiments for carrying out the claimed invention have been described in detail, various alternative designs and embodiments exist for practicing the invention defined in the appended claims. Furthermore, the embodiments shown in the drawings or the characteristics of various embodiments mentioned in the present description are not necessarily to be understood as embodiments independent of each other. Rather, it is possible that each of the characteristics described in one of the examples of an embodiment can be combined with one or a plurality of other desired characteristics from other embodiments, resulting in other embodiments not described in words or by reference to the drawings. Accordingly, such other embodiments fall within the framework of the scope of the appended claims.