Systems, apparatuses, methods, and computer program products for motion stable touch control
By sensing screen motion through adaptive artificial intelligence and motion stabilization models and remapping the touch area, the inaccuracy and delayed response of touch screen devices in high-motion environments are solved, improving the stability and security of user interaction under motion conditions.
Patent Information
- Application Number
- CN202510968066.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-10-21
- Filing Date
- 2025-07-14
- Publication Date
- 2026-02-03
AI Technical Summary
In high-motion environments, inaccurate touch input, delayed response, and unstable interactions caused by unexpected touches on touchscreen devices can pose safety hazards, especially in cockpits and automobiles.
By employing adaptive artificial intelligence and motion stabilization models, and utilizing accelerometers, gyroscopes, and cameras to sense screen motion, the touch area is remapped to ensure stable touch input under motion conditions. By adjusting and normalizing the touch area position, the sensitivity and accuracy of the touchscreen are improved.
It improves the responsiveness and stability of touchscreen devices under motion conditions, ensuring the safety and reliability of user interaction, and is suitable for consumer electronics, military products, automobiles and other fields.
Smart Images

Figure CN121455352A_ABST
Abstract
Description
[0001] Cross Reference to Related Applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 593,860, filed October 27, 2023, and Indian Provisional Patent Application No. 202411057949, filed July 31, 2024, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD
[0003] The present disclosure relates generally to motion stabilization. Example embodiments relate to systems, apparatuses, methods, and computer program products for motion stabilized touch control. BACKGROUND
[0004] Various embodiments of the present disclosure address technical challenges related to touch control. Through efforts, wisdom, and innovation, the Applicant has solved problems related to touch control, including motion stabilization in touch controls, by developing solutions embodied in the present disclosure, which will be described in detail below. SUMMARY
[0005] Generally, embodiments of the present disclosure provide methods, apparatuses, systems, computer program products, and the like for advanced motion stabilized touch control.
[0006] According to one aspect of the present disclosure, a computer-implemented method for advanced motion stabilized touch control is provided. The computer-implemented method can be executed with any of a number of computing devices and / or a combination of hardware, software, and / or firmware. In some example embodiments, an example computer-implemented method includes determining, using a motion stabilization model, a stabilized position of one or more touch points corresponding to one or more touch zones associated with a touch screen device; adjusting the one or more touch zones based on the stabilized position; reprocessing touch detection logic associated with the touch screen device; normalizing the one or more touch zones using the motion stabilization model; and integrating the position-stabilized and normalized one or more touch zones into a scene rendering process.
[0007] In some embodiments, determining the stabilized position of the one or more touch zones includes identifying a stabilized position and establishing the stabilized position as a reference point for adjusting the one or more touch zones.
[0008] In some embodiments, adjusting the one or more touch zones includes aligning the one or more touch zones with the stabilized position.
[0009] In some embodiments, reprocessing the touch detection logic includes updating one or more touch detection algorithms.
[0010] In some embodiments, normalizing the one or more touch zones includes recalibrating the size of the one or more touch zones by adjusting the size and shape of each touch zone; and normalizing the position of the touch zones.
[0011] In some embodiments, integrating the positionally stabilized and normalized one or more touch zones into the scene rendering process includes updating a graphical representation of the one or more touch zones within the user interface.
[0012] In some embodiments, the computer-implemented method further includes causing display processing to be performed.
[0013] According to another aspect of the disclosure, an apparatus for advanced motion-stable touch control is provided. In some embodiments, the apparatus includes at least one processor and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform any of the example computer-implemented methods described herein. In some other embodiments, the apparatus includes means for performing each step of any of the computer-implemented methods described herein.
[0014] According to another aspect of the disclosure, a computer program product for advanced motion-stable touch control is provided. In some embodiments, the computer program product includes one or more non-transitory computer-readable storage media including instructions that, when executed by one or more processors, cause the one or more processors to perform any of the example computer-implemented methods described herein. BRIEF DESCRIPTION OF DRAWINGS
[0015] Accordingly, having generally described the embodiments of the disclosure, reference will now be made to the drawings, which are not necessarily drawn to scale, and wherein:
[0016] Figure 1 An example overview of an architecture in accordance with at least some embodiments of the disclosure is provided.
[0017] Figure 2 An example apparatus in accordance with at least some embodiments of the disclosure is provided.
[0018] Figure 3 is a flowchart illustration of an example process for touch control motion stabilization in accordance with at least some embodiments of the disclosure.
[0019] Figure 4 An example of operation of a touch screen sensor 400 and associated environment in accordance with at least some embodiments of the disclosure is illustrated.
[0020] Figure 5Aand Figure 5B Each illustrates an example of operation of user interaction with a touch screen in accordance with at least some embodiments of the present disclosure. DETAILED DESCRIPTION
[0021] Embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the present disclosure are shown. Indeed, embodiments of the present disclosure can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. As used herein, the term "or" is used in either its exclusive or inclusive sense unless otherwise indicated. The terms "exemplary" and "example" are used herein to mean an instance of something, not a quality level. Terms such as "calculate," "determine," "generate," and / or the like are used interchangeably herein to refer to the creation, modification, or identification of data. Also, "based on," "based upon," "based on at least," "based on at least in part," and / or similar phrases are used interchangeably herein in an open-ended manner to mean that something is based on at least the identified element, but is not necessarily limited to only that element, unless otherwise indicated. Identical labels can refer to the same elements throughout.
[0022] SUMMARY AND TECHNICAL IMPROVEMENT
[0023] The example embodiments disclosed herein address technical challenges associated with motion stabilization in touch screen devices. A touch screen on a portable device or a mounted display can encounter several issues during motion. Inaccuracy is a serious issue as touch inputs can not be properly registered, making precise interaction difficult. Latency or delay between touch input and display response can be exacerbated by motion, resulting in a slower response experience. Additionally, motion can cause touch points (e.g., touch widgets, touch zones) to jitter, resulting in unstable and erratic touch inputs. Unintended touches are more likely to occur during motion, resulting in unexpected actions on the display.
[0024] Touchscreen displays in cockpits and cars face several particular problems during motion. In these environments, inaccuracy becomes a critical issue as precise touch input is often necessary to operate navigation systems and control various functions. Due to the movement of the vehicle or aircraft, unintended touches are more likely to occur, which can result in unexpected and potentially dangerous actions. Several issues can arise when using a touchscreen during motion, including but not limited to reduced accuracy (e.g., difficulty in accurately aiming a touch point (e.g., touching a widget, touching an area) due to movement of the vehicle or user), unintentional input (e.g., increased likelihood of accidental touches due to jostling or jolts), inconsistent pressure (e.g., varying pressure applied on the screen resulting in inconsistent touch recognition), delayed response (e.g., motion can cause the user to apply less consistent touches, resulting in delayed or misregistered input), hand stability (e.g., maintaining a steady hand position is challenging, impacting the ability to perform precise actions), user interface (UI) design limitations (e.g., user interfaces optimized for use in motion can have small touch targets and closely spaced elements, exacerbating accuracy issues), users accidentally touching multiple elements or the wrong element due to, for example, finger size, latency (e.g., any delay in touch response can be more noticeable and more disruptive in motion).
[0025] Embodiments of the present disclosure provide systems, devices, methods, and computer program products for stabilizing touch controls on display systems, which eliminates incorrect and unintended touches in high motion environments. Example embodiments of the present disclosure disclose various techniques, including but not limited to touch screen sensitivity improvement techniques, advanced algorithms for touch input filtering, and hardware enhancement techniques to ensure reliable performance under motion conditions. Some example embodiments utilize adaptive artificial intelligence (AI) to implement usage patterns, touch prediction, and facial tracking. Some example embodiments utilize low processing power (e.g., very low CPU usage). Some example embodiments utilize existing accelerometers, gyroscopes, and cameras within a smart device.
[0026] Some embodiments sense motion on the screen and render an image that is the inverse of the sensed image, such that when displayed on a moving screen, the image is spatially stable to prevent motion and retinal blur associated with the moving screen. Some embodiments remap touch areas on the screen based on sensed motion on the screen, such that the touch areas are also spatially stable.
[0027] Accordingly, example embodiments improve the user experience and ensure safety when using a device on the move or otherwise experiencing relative motion with respect to the device. Embodiments of the present disclosure can be used in a variety of fields and applications, including but not limited to consumer electronics, military products, sports equipment, automobiles, and the like. Embodiments of the present disclosure improve usability for elderly or disabled persons.
[0028] DEFINITIONS
[0029] Many modifications and other embodiments of the present disclosure set forth herein will come to mind to one skilled in the art to which the disclosure pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the embodiments are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing description and the associated drawings set forth example embodiments in the context of certain example combinations of elements and / or functions, one of ordinary skill in the art will appreciate that other combinations of elements and / or functions are also possible by virtue of the teachings provided herein. In this regard, for example, a different combination of elements and / or functions than those explicitly described above are also contemplated as can be apparent to those of skill in the art. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
[0030] As used herein, the term “comprises” means includes, but is not limited to, and should be construed as in its most expansive sense as encompassing the elements and features that follow the term, as well as those functions inherent in the term. The use of the terms “comprises” or “comprising” should not be interpreted as implying any element or feature not specifically mentioned in the claims.
[0031] The phrases “in one embodiment,” “according to one embodiment,” and “in some embodiments” and the like as used herein do not necessarily refer to the same embodiment, though they can. The phrases “in one embodiment,” “according to an embodiment,” and “in some embodiments” and the like as used herein do not necessarily refer to the same embodiment, though they can. The phrases “in one embodiment,” “according to an embodiment,” and “in some embodiments” and the like as used herein do not necessarily refer to one single embodiment, though they can. In the phrases “in one embodiment,” “according to an embodiment,” and “in some embodiments” and the like as used herein, for example, a specific feature, structure, or characteristic described in and resulting from the phrase can be a different embodiment than the specific feature, structure, or characteristic described in a different phrase. For example, particular features, structures, or characteristics described in one or more phrases can be combined with features, structures, or characteristics described in other one or more phrases even though the particular features, structures, or characteristics are described in different embodiments, phrases, or combinations thereof. As such, the various embodiments described for specific features, structures, or characteristics can be implemented independently of one another and some can be implemented with others in various
[0032] The words “example” or “exemplary” are used herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations.
[0033] If the specification states a component or feature “may,” “could,” “should,” “would,” “can,” “likely,” “typically,” “optionally,” “for example,” “usually,” or “might” (or other such language) be included or have a particular property, that particular component or feature is not required to be included or to have the particular property. Such a component or feature can be optionally included in some embodiments or it can be excluded.
[0034] Use of the term “circuitry” as used herein with respect to components of systems or devices should be understood to include specific hardware configured to carry out the functions associated with a particular circuitry as described herein. The term “circuitry” should be interpreted broadly to encompass both a purely hardware circuit implementation and hardware circuit implementation in combination with software implementation. For example, in some embodiments, “circuitry” can include processing circuitry, communication circuitry, input / output circuitry, etc. In some embodiments, other elements can provide or supplement the functionality of a particular circuitry. Alternatively or additionally, in some embodiments, other elements of the systems and / or devices described herein can provide or supplement the functionality of another set of particular circuitry. For example, a processor can provide processing functionality to any of the set of circuitry, a memory can provide storage functionality to any of the set of circuitry, a communication circuitry can provide network interface functionality to any of the set of circuitry, etc.
[0035] As used herein, the terms “application,” “software application,” “app,” “computer program,” “service,” or similar terms refer to a computer program or set of computer programs designed to perform coordinated functions, tasks, or activities. Such computer programs can be operated by or for the benefit of a user or group of users. An application can be configured to provide access to one or more services provided by an entity. For example, an application can be configured to provide access to services provided by a visual media content provider system. An application can run on a server or set of servers, such as but not limited to a web server and an application server. In some embodiments, an application can run on or across one or more other computing devices (e.g., user devices). For example, an application can be configured to be accessed via a web browser, a dedicated client running on a user device, etc. In some examples, an application can be configured to be used by and interact with one or more local, networked, or remote computing devices.
[0036] As used herein, the term “user device” refers to a physical electronic device that can be used by a user for any of a variety of purposes, including but not limited to one or more of the following: transmitting and / or receiving signals, storing data, displaying data, viewing media content, extracting content data objects, generating relevance data objects, viewing relevance data objects, and / or generating, transmitting, and / or receiving segment selection indications. For example, a user device can be capable of, but not limited to, displaying media content. A user device can include a display.
[0037] As used herein, the term “display” (noun) refers to a visual output component of certain user devices that can be used to visually display content, including but not limited to visual media content, captured images, or other portions of visual media content, and / or applications (e.g., visual media content applications or related applications, including web pages, etc.). In some embodiments, “displaying” or “display” (verb, gerund, etc.) can refer to an action performed by such a display.
[0038] System Architecture
[0039] Embodiments of the present disclosure can be implemented in a variety of ways, including as a computer program product comprising an article of manufacture, as hardware configured to perform one or more functions, and / or as a combination of particular hardware and a computer program product. Such a computer program product can include one or more software components including, for example, software objects, methods, or data structures, among others. Software components can be coded in any of a variety of programming languages. An illustrative programming language can be a low-level programming language, such as an assembly language associated with a particular hardware architecture and / or operating system platform. Software components including assembly language instructions can need to be converted into executable machine code before execution by the hardware architecture and / or platform. Another example programming language can be a higher-level programming language. Software components including higher-level programming language instructions can need to be translated into an intermediate representation before execution.
[0040] Other examples of programming languages include, but are not limited to, macro languages, shell or command languages, job control languages, scripting languages, database query or search languages, and / or report writing languages. In one or more example embodiments, a software component including instructions in one of the foregoing examples of a programming language can be directly executable by an operating system or other software component without having to be first converted into another form. A software component can be stored as a file or other data storage construct. Software components of a similar type or functionally related can be stored together such as in a particular directory, folder, or library. Software components can be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at execution time).
[0041] A computer program product can include a non-transitory computer-readable storage medium storing applications, programs, program modules, scripts, source code, program code, object code, byte code, compiled code, interpreted code, machine code, and / or executable instructions, etc. (also referred to herein as executable instructions, instructions for execution, computer program products, program code, and / or similar terms used herein interchangeably). Such non-transitory computer-readable storage media include all computer-readable media (including volatile and non-volatile media).
[0042] In some embodiments, the non-volatile computer-readable storage medium can include a floppy disk, flexible disk, hard disk, solid-state memory (SSS) (e.g., a solid state drive (SSD), solid state card (SSC), solid state module (SSM)), enterprise flash drive, magnetic tape, or any other non-transitory magnetic medium, etc. The non-volatile computer- readable storage medium can also include a punch card, paper tape, optical mark sheet (or any other physical medium with patterns of holes or other optically recognizable indicia), compact disc read-only memory (CD-ROM), compact disc -rewritable (CD-RW), digital versatile disc (DVD), Blu-ray disc (BD), any other non-transitory optical medium, etc. Such a non-volatile computer-readable storage medium can also include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory (e.g., serial, NAND, NOR, etc.), multimedia
[0043] In some embodiments, a volatile computer-readable storage medium can include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), fast page mode dynamic random access memory (FPM DRAM), extended data output dynamic random access memory (EDO DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), double data rate type two synchronous dynamic random access memory (DDR2 SDRAM), double data rate type three synchronous dynamic random access memory (DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), twin transistor RAM (TTRAM), thyristor RAM (T-RAM), zero capacitor (Z-RAM), Rambus in-line memory module (RIMM), dual inline memory module (DIMM), single inline memory module (SIMM), video random access memory (VRAM), cache memory (including various levels), flash memory, and / or register memory, etc. It will be appreciated that other types of computer- readable storage media can be used in addition to, or instead of, the computer-readable storage media described above.
[0044] It will be appreciated that various embodiments of the present disclosure can be implemented in one or more of the following: a method, an apparatus, a system, a computing device (e.g., a user device, a server, etc.), a computing entity, etc. Accordingly, embodiments of the present disclosure can take the form of an apparatus, system, computing device, and / or computing entity, etc. that execute instructions stored on one or more computer-readable storage media (e.g., via the aforementioned software components and computer program products) to perform certain steps or operations. As such, embodiments of the present disclosure can also take the form of an entirely hardware embodiment, an entirely computer program product embodiment, and / or an embodiment combining computer program products and hardware, including software held on one or more computer-readable storage media and hardware executing the software.
[0045] Embodiments of the present disclosure are described below with reference to block diagrams, flowchart illustrations and other example visualizations. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by computer program products, entirely hardware embodiments, combinations of hardware and computer program products, and / or apparatus, systems, computing devices, computing entities, etc. that implement instructions, operations, steps, and like words of like significance that are interchangeable with one another and that are used in the description of the embodiments below (e.g., executable instructions, instructions for execution, program code, etc.). For example, the retrieval, loading, and execution of code can be performed sequentially or in parallel. In some example embodiments, retrieval, loading, and / or execution can be performed together such that multiple instructions are retrieved, loaded, and / or executed together. As such, such embodiments can create a particular configuration of a machine that performs the steps or operations specified in the block diagrams and flowchart illustrations. In describing specific hardware embodiments, it will be understood that such specific hardware is one example embodiment and can work in conjunction with one or more apparatus or as a single apparatus or combination of a smaller number of apparatuses consistent with the foregoing in accordance with the various examples described herein. Accordingly, the block diagrams and flowchart illustrations support various combinations for implementing embodiments for performing the specified instructions, operations, or steps.
[0046] In this regard, Figure 1 An example system environment 100 in which at least some embodiments of the present disclosure can operate is shown. The depiction of the example system environment 100 is not intended to be limiting or otherwise restrictive to any particular configuration of elements or systems described and envisioned herein, nor is it intended to exclude any alternate configurations or systems of the set of configurations and systems that can be used in conjunction with embodiments of the present disclosure. Rather, the example system environment 100 is presented for purposes of providing an example foundation and context for facilitating some of the features, aspects, and uses of the features, aspects, and uses of the methods, apparatuses, computer readable media, and computer program products disclosed and envisioned herein. Figure 1 The example system environment 100 and the systems disclosed herein are presented for purposes of providing an example foundation and context for facilitating some of the features, aspects, and uses of the features, aspects, and uses of the methods, apparatuses, computer readable media, and computer program products disclosed and envisioned herein.
[0047] It will be understood that, although Figure 1 Many of the aspects and components presented in the detailed description above are shown as discrete, separate elements, other configurations, including combinations, omissions, separations, and / or additions of aspects and / or components can be used in conjunction with the methods, apparatuses, computer readable media, and computer programs described herein. For example, in some embodiments, Figure 1 The functions of one or more of the illustrated components can be performed by a single computing device or by multiple computing devices, which can be local or cloud-based.
[0048] As Figure 1As shown, the example system environment 100 includes a touch control stabilization system 102 in communication with a touch screen device 106. In some embodiments, one or more components of the system environment 100 are associated with and / or embodied by a vehicle 160 (and / or associated vehicle systems). For example, one or more of the touch control stabilization system 102 or the touch screen device 106. In various embodiments, the vehicle can be an aerial vehicle, such as a fixed-wing aircraft, a commercial or military jet, a drone, a gyroplane, a helicopter, a spacecraft, and other aerial vehicles. In various embodiments, the vehicle can be a land vehicle, such as a car, a truck, an SUV, a motorcycle, a tank, or other civilian or military land vehicles. In some embodiments, the vehicle can be a watercraft, such as a boat, a ship, a yacht, a cruiser, a warship, or other civilian or military watercraft. In various embodiments, the present systems and methods can be applicable to various vehicle types, including manned, unmanned, autonomous, and / or internet-connected vehicles. In various embodiments, the vehicle can be a bicycle. It should be appreciated that in various embodiments, the vehicle can be any type of vehicle. In some embodiments, a vehicle can refer to any device and / or system capable of enabling a user associated with the device and / or system to experience motion and / or relative motion with respect to a touch screen device (and / or other device).
[0049] In some embodiments, a touch screen device is a physical electronic device that includes a touch screen display and can be used by a user for any of a variety of purposes, including but not limited to displaying media content that includes one or more images. The touch screen device may, for example, be a user device having a touch screen display. In some embodiments, such a “display” (noun) included in a display device is a visual output component of the display device that can be used to visually display content, including but not limited to visual media content, other portions of captured images or visual media content, and / or application programs (e.g., visual media content application programs or related application programs, including web pages, etc.). In some embodiments, “displaying” or “display” (verb, gerund, etc.) can refer to an action performed by such a touch screen display. In this regard, the touch screen device 106 can be any device having a touch screen display. Non-limiting examples of the touch screen device 106 include a tablet computer, a laptop computer, a smartphone, a notepad, a vehicle infotainment system (e.g., an automotive infotainment system, etc.), an aircraft display unit, etc. The touch screen device 106 can include a touch sensor 110, a touch controller 114, a display 116, a processor 118, driver software 120. In various embodiments, the touch sensor 110 is a layer of the touch screen device 106 that is configured to interact with a user’s touch. Non-limiting examples of the touch sensor 110 include a resistive touch sensor, a capacitive touch sensor, a surface acoustic wave (SAW) sensor, and an infrared sensor. A resistive touch sensor can include one or more layers. In some examples, the one or more layers include at least two thin conductive layers that are spaced apart (e.g., separated by a thin gap / space). When a user touches the screen (e.g., a touch screen), the two thin layers (and / or other layers) come into contact and cause a change in electrical resistance. A capacitive touch sensor can be configured to use the electrical properties of a human body to change a local electrostatic field when touched. A capacitive sensor can include a layer of glass coated with a transparent conductor. A surface acoustic wave touch sensor can be configured to use ultrasonic waves through the touch screen. When the screen is touched, a portion of the ultrasonic waves is absorbed, and a change is detected. An infrared touch sensor can be configured to utilize a grid of infrared light beams across the screen surface. Touching the screen causes the infrared light beams to be interrupted. The location of the touch can then be calculated based on the interrupted light beams.
[0050] In various embodiments, the touch controller 114 is configured to receive signals from the touch sensor 110 and process the signals to determine a location (e.g., exact location) of a user touch, a type of touch, and an intensity of touch. The touch controller interfaces with the touch sensor 110 and converts analog touch data / signals to digital signals.
[0051] In various embodiments, display 116 comprises a visual output layer of a touch screen device. Non-limiting examples of display 116 include a liquid crystal display (LCD) (e.g., the LCD can be configured to use liquid crystals and a backlight to produce images), an organic light-emitting diode (OLED) (e.g., the OLED can be configured to use organic compounds that emit light when a current is applied), a light-emitting diode (LED) (the LED can be configured to use an LED backlight to improve brightness and color range).
[0052] In various embodiments, processor 118 is configured to run software and / or applications on touch screen device 106. Processor 118 can be configured to receive input from touch controller 114 and perform one or more functionalities associated with the touch screen device. In various embodiments, driver software 120 is configured to translate touch input into actions on the display. Driver software 120 can be configured to ensure that the system correctly interprets gestures, taps, and / or swipes.
[0053] In various embodiments, touch screen device 106 further comprises cover glass 112, power source 122, and / or wiring and connectors 124. In various embodiments, cover glass 112 is a protective layer on top of touch sensor 110 and can be made of a durable material to, for example, prevent scratches and impacts. One non-limiting example of such cover glass is gorilla glass. Power source 122 is configured to provide power to the components of touch screen device 106. Wiring and connectors 124 can connect two or more components of touch screen device 106 and / or connect one or more components of touch screen device 106 to external devices and / or such systems to, for example, ensure seamless communication and power delivery.
[0054] In various embodiments, touch control stabilization system 102 is configured to improve legibility of a mobile screen by properly positioning a touch point / widget in sync with (e.g., synchronized with) a user’s gaze. In various embodiments, touch control stabilization system 102 is configured to sense motion of a screen and render a new position of a touch control that can be an inverse of the sensed motion. Touch control stabilization system 102 is configured to display a touch point on a screen (e.g., a mobile screen) such that the touch point is spatially stable to prevent motion and retinal blur associated with a mobile screen (e.g., a mobile electronic screen, etc.).
[0055] The touch control stabilization system 102 can include a touch control stabilization computing entity 103 and a motion stabilization model 105 that defines or otherwise includes a motion stabilization algorithm. In various embodiments, the motion stabilization model 105 (e.g., its motion stabilization algorithm) is configured to receive an input data set. The input data set can include input data from one or more vehicle inertial measurement unit (IMU) sensors, input data from one or more display IMU sensors, input data from one or more cameras, computed eye gaze estimation parameters, input data from video and / or lidar sensors, and / or a current graphical user interface (GUI) overlay. In various embodiments, the touch control stabilization computing entity 103 can receive the input data set from the touch control stabilization computing entity 103. For example, the touch control stabilization computing entity 103 can be in communication with the vehicle 160, the vehicle IMU sensors, the display IMU sensors (associated with the touch screen device), the cameras, and / or the video (and / or lidar) devices. The touch control stabilization computing entity 103 can receive data and / or signals output from the vehicle IMU sensors, the display IMU sensors, the cameras, and / or the video (and / or lidar) devices and provide the input data set including the received data to the motion stabilization model.
[0056] In this regard, in some embodiments, the input data set can include motion data associated with the touch screen device, motion data associated with a vehicle in which the touch screen device 106 is located, and / or motion data associated with a user.
[0057] In some embodiments, the input data set includes display acceleration motion data including one or more data items representing and / or indicative of acceleration motion (e.g., acceleration motion measurements) of the touch screen device 106. Alternatively or additionally, in some embodiments, the input data set includes display angular motion data including one or more data items representing and / or indicative of angular motion (e.g., angular motion measurements) of the touch screen device 106. Alternatively or additionally, in some embodiments, the input data set includes vehicle acceleration motion data including one or more data items representing and / or indicative of acceleration motion (e.g., acceleration motion measurements) of a vehicle in which the touch screen device is located or associated with. Alternatively or additionally, in some embodiments, the input data set includes vehicle angular motion data (e.g., angular motion measurements) including one or more data items representing and / or indicative of angular motion of the vehicle.
[0058] The touch control stabilization computing entity 103 can be configured to execute the motion stabilization model 105 (e.g., its motion stabilization algorithm). In various embodiments, executing the motion stabilization model 105 (e.g., its motion stabilization algorithm) includes performing a spatial stabilization computation. In various embodiments, performing a spatial stabilization computation includes determining a stabilized position of the touch point / widget, adjusting the position of the touch zone (e.g., touch point / widget) to align with the new position, and reprocessing touch detection logic to ensure accurate touch input recognition, taking into account drift correction and current position data from the IMU. The IMU drift correction corrects for any errors or biases that occur over time due to, for example, the inherent inaccuracies of the IMU sensor.
[0059] In addition, the touch control stabilization computing entity 103 can be configured to normalize the touch zones by recalibrating their size and position and standardizing these to maintain consistent and accurate interaction points, and by refining touch processing logic to accommodate the adjusted positions and ensure seamless user interaction. Furthermore, the touch control stabilization computing entity 103 can be configured to execute or cause execution of a scene rendering process configured to update the visual representation of the touch zones within the user interface and ensure that they are accurately displayed in their new positions. In various embodiments, the touch control stabilization computing entity 103 is configured to execute or cause execution of a display process of the adjusted and rendered touch zones to ensure that the touch zones are correctly displayed on the screen, which in turn provides the user with a stable and responsive interface that accurately reflects their touch inputs.
[0060] In some embodiments, the functionality of one or more of the illustrated components of the touch control stabilization system 102 can be performed by a single computing device or by multiple computing devices, which can be local or cloud-based. It should be understood that various functionality performed by two or more of the components of the touch control stabilization system 102 can be performed by a single apparatus, subsystem, or system. For example, two or more of the components of the touch control stabilization system 102 can be embodied by a single apparatus, subsystem, or system comprising one or more sets of computing hardware (e.g., processors and memory) configured to perform their various functionality.
[0061] The various functionality of the touch control stabilization system 102 and the system environment 100 can be performed by one or more computing devices and / or other arrangements of computing systems without departing from the scope of the present disclosure. In some embodiments, the computing system can include one or more computing devices (e.g., servers).
[0062] The various components illustrated in touch control stabilization system 102 and system environment 100 can be configured to communicate via one or more communication mechanisms, including wired or wireless connections, such as over a network, bus, or similar connection. For example, a network can include any wired or wireless communication network, including, for example, a wired or wireless local area network (LAN), personal area network (PAN), metropolitan area network (MAN), wide area network (WAN), etc., as well as any hardware, software, and / or firmware required to implement the same. For example, a network can include a cellular telephone, 802.11, 802.16, 802.20, and / or WiMAX network. Further, a network can include a public network, such as the Internet, a private network, such as an intranet, or a combination thereof, and can utilize various networking protocols now available or later developed, including, but not limited to, TCP / IP based networking protocols.
[0063] In various embodiments, Figure 1 The components depicted in FIG. 1 as being included in touch control stabilization system 102, although not required to be integral, can be connected via one or more networks. In some embodiments, one or more APIs can be utilized to communicate with and / or facilitate communication between one or more of the components illustrated in touch control stabilization system 102 and system environment 100.
[0064] Example System Operation
[0065] As described above, in various embodiments, touch control stabilization system 102 is configured to improve readability of a mobile screen by appropriately positioning touch points / touchlets in synchronization with (e.g., synchronous with) a user’s gaze. System 102 is configured for stabilizing touch controls (e.g., touch points, touchlets, touch zones) on a display system (e.g., a display / screen of a user device), which eliminates incorrect and unintended touches in high motion environments. Example embodiments of the present disclosure disclose various techniques, including but not limited to touch screen sensitivity improvement techniques, advanced algorithms for touch input filtering, and hardware enhancement techniques to ensure reliable performance in motion conditions. Example embodiments improve user experience and ensure safety when using a device in motion or otherwise experiencing relative motion with respect to the device.
[0066] In various embodiments, the touch control stabilization system 102 improves readability of a mobile screen by appropriately positioning touch points / touchlets in sync (e.g., synchronized) with a user’s gaze. In various embodiments, the touch control stabilization system 102 senses motion of the screen and renders a new position of the touch controls, which can be an inverse of the sensed motion. The touch control stabilization system 102 is configured to display touch points on a screen (e.g., a mobile screen) such that the touch points are spatially stable to prevent motion and retinal blur associated with a mobile screen (e.g., a mobile electronic screen, etc.).
[0067] In various embodiments, the motion stabilization model 105 (e.g., its motion stabilization algorithm) is configured to receive an input data set. The input data set can include input data from one or more vehicle inertial measurement unit (IMU) sensors, input data from one or more display IMU sensors, input data from one or more cameras, computed eye gaze estimation parameters, input data from video and / or lidar sensors, and / or a current graphical user interface (GUI) overlay. In various embodiments, the touch control stabilization computing entity 103 can receive the input data set from the touch control stabilization computing entity 103. For example, the touch control stabilization computing entity 103 can be in communication with the vehicle 160, the vehicle IMU sensors, the display IMU sensors (associated with a touch screen device), the cameras, and / or the video (and / or lidar) devices. The touch control stabilization computing entity 103 can receive data and / or signals output from the vehicle IMU sensors, the display IMU sensors, the cameras, and / or the video (and / or lidar) devices and provide the input data set including the received data to the motion stabilization model.
[0068] The touch control stabilization computing entity 103 can be configured to execute the motion stabilization model 105 (e.g., its motion stabilization algorithm). In various embodiments, executing the motion stabilization model 105 (e.g., its motion stabilization algorithm) includes performing a spatial stabilization computation. In various embodiments, performing the spatial stabilization computation includes determining a stable position of the touch points / lets (taking into account drift correction and current position data from the IMU), adjusting the position of the touch zones to align with the new position, and reprocessing touch detection logic to ensure accurate touch input recognition. The IMU drift correction corrects for any errors or biases that occur over time due to, for example, inherent inaccuracies of the IMU sensors.
[0069] Furthermore, the touch control stabilization computing entity 103 can be configured to normalize the touch areas by recalibrating the size and position of the touch areas and standardizing these sizes and positions to maintain consistent and accurate interaction points, and by refining the touch processing logic to adapt to the adjusted positions and ensure seamless user interaction. Additionally, the touch control stabilization computing entity 103 can be configured to perform or cause the execution of a scene rendering process configured to update the visual representation of the touch areas within the user interface and ensure they are accurately displayed in their new positions. In various embodiments, the touch control stabilization computing entity 103 is configured to perform or cause the execution of display processing for the adjusted and rendered touch areas to ensure that the touch areas are correctly displayed on the screen, thereby providing the user with a stable and responsive interface that accurately reflects their touch input.
[0070] Example Apparatus of the Disclosure
[0071] Having discussed example systems according to this disclosure, example apparatuses according to this disclosure will now be described.
[0072] Figure 2 Block diagrams of apparatus 200 according to some example embodiments are illustrated. In some embodiments, if embodied in a particular embodiment, the touch control stabilization system 102 or one or more portions thereof (e.g., one or more separate devices) may be embodied by one or more devices 200. For example, in some embodiments, the touch control stabilization computational entity 103 and the motion stabilization model 105 may be embodied by one or more devices 200.
[0073] In some embodiments, device 200 may include, for example: Figure 2 The processing circuit 202 is shown. However, it should be noted that the following text... Figure 2 The parts or elements illustrated and described with respect to this figure may not be mandatory, and therefore one or more parts or elements may be omitted in some embodiments. Additionally, some embodiments may include, in addition to those shown in the figure... Figure 2 The figures illustrate and relate to additional or different components or elements beyond those depicted in the figures. In some embodiments, the functionality of the touch control stabilization system 102, other devices and / or systems interacting with the touch control stabilization system 102, or any subset thereof, may be performed by a single device 200 or multiple devices 200. In some embodiments, device 200 may include one or more physical devices, including distributed devices, cloud-based devices, and / or local devices.
[0074] Although some components are described relative to functional limitations, it should be understood that a particular implementation must include specific computing hardware (such as...) Figure 2It should be understood that any reference to using a component will include using one or more instances of the component in accordance with a given embodiment. Further, it should be understood that a component can be used even if not specifically referred to in a given instance of a method. Also, it should be understood that certain components described herein can include similar or common hardware. For example, two circuit collections can each utilize the use of the same processor, network interface, storage medium, etc. to perform their associated functions such that each circuit collection does not require duplicative hardware and a single physical circuit can perform the functions of multiple circuits described herein. Thus, it should be understood that the use of the term "circuit" as used herein with respect to components of the apparatuses described herein includes the specific hardware configured to perform the functions associated with the particular circuit as described herein.
[0075] In some embodiments, a "circuit" can include processing circuitry, storage media, network interfaces, input / output devices, etc. In some embodiments, other elements of the apparatus 200 can provide or supplement the functionality of another particular set of circuits. For example, in some embodiments, the processor 206 provides processing functionality to any of the sets of circuits, the memory 204 provides storage functionality to any of the sets of circuits, the communication circuit 210 provides network interface functionality to any of the sets of circuits, etc.
[0076] The apparatus 200 can include or otherwise be in communication with a processing circuit 202 that can be configured to perform the actions in accordance with one or more example embodiments disclosed herein. In this regard, the processing circuit 202 can be configured to perform and / or control performance of one or more functionalities of the apparatus 200 in accordance with various example embodiments, and thus can provide a means for performing functions of the apparatus 200 in accordance with various example embodiments. In accordance with one or more example embodiments, the processing circuit 202 can be configured to perform data processing, application processing, function execution, and / or other processing and management services. In some embodiments, the apparatus 200 or portions or components thereof, such as the processing circuit 202, can be embodied as a chip or chip set or can include a chip or chip set. Stated differently, the apparatus 200 or processing circuit 202 can include one or more physical packages (for example, chips) including materials, components and / or wires on a structural assembly (for example, a baseboard). The structural assembly can provide physical strength, conservation of size, and / or limitation of electrical interaction for component circuitry included thereon. The apparatus 200 or processing circuit 202 therefore can be configured to implement embodiments of the present disclosure on a single chip or set of chips. Accordingly, in some embodiments, chip or chip set can constitute means for performing one or more operations for providing the functionalities described herein.
[0077] In some embodiments, the processing circuitry 202 may include a processor 206 (and / or a coprocessor or any other processing circuitry assisting the processor or otherwise associated with the processor), and in some embodiments (such as...) Figure 2 The illustrated embodiment may also include memory 204. Processing circuitry 202 may communicate with, or otherwise control, a user interface (e.g., embodied by input / output circuitry 208) and / or communication circuitry 210. Therefore, processing 202 may be embodied (e.g., in hardware, software, or a combination of hardware and software) in a circuit chip (e.g., an integrated circuit chip) configured to perform the operations of the circuitry described herein.
[0078] Processor 206 can be embodied in several different ways. For example, processor 206 can be embodied as one or more of various processing elements, such as a microprocessor or another processing element, a coprocessor, a controller, or various other computing or processing devices, including integrated circuits, such as, for example, ASICs (Application-Specific Integrated Circuits), FPGAs (Field-Programmable Gate Arrays), etc. Although illustrated as a single processor, it should be understood that processor 206 may include multiple processors. These multiple processors can operatively communicate with each other and can be collectively configured to perform one or more functionalities of the apparatus 200 as described herein. In some example embodiments, processor 206 may be configured to execute instructions stored in memory 204 or otherwise accessible to processor 206. Thus, whether configured by hardware or by a combination of hardware and software, processor 206 can represent an entity capable of performing operations according to embodiments of this disclosure while being appropriately configured (e.g., physically embodied as a circuit (in the form of processing circuitry 202)). Thus, for example, when processor 206 is embodied as an ASIC, FPGA, etc., processor 206 can be hardware specifically configured to perform the operations described herein. Alternatively, as another example, when processor 206 is embodied as an executor of software instructions, these instructions may specifically configure processor 206 to perform one or more operations described herein. The terms “processor” and “processing circuitry” are to be understood to include a single-core processor, a multi-core processor, multiple processors within device 200, and / or one or more remote processors or “cloud” processors outside device 200.
[0079] In some example embodiments, the memory 204 can include one or more non-transitory memory devices, such as, for example, volatile and / or non-volatile memory that can be either fixed or removable. In this regard, the memory 204 can include a non-transitory computer-readable storage medium. It will be appreciated that, although the memory 204 is illustrated as a single memory, the memory 204 can also include a plurality of memories. The memory 204 can be configured to store information, data, applications, instructions, or the like for enabling the apparatus 200 to perform various functions in accordance with one or more example embodiments. For example, the memory 204 can be configured to buffer input data for processing by the processor 206. Additionally or alternatively, the memory 204 can be configured to store instructions for execution by the processor 206. The memory 204 can include one or more databases that can store a variety of files, content, or data sets. Among the contents of the memory 204, applications can be stored for execution by the processor 206 in order to perform the functionality associated with each respective application. In some cases, the memory 204 can be in communication with one or more of the processor 206, the input / output circuit 208, and / or the communication circuit 210 via a bus in order to transfer information between components of the apparatus 200.
[0080] The input / output circuit 208 can provide output to the user or to an intermediary device, and in some embodiments, can receive one or more indications of user input. In some embodiments, the input / output circuit 208 is in communication with the processor 206 to provide such functionality. The input / output circuit 208 can include one or more user interfaces, and / or can include a display, which can include a user interface that is presented to a user device, a backend system, or the like as a web user interface, an application interface, or the like. The input / output circuit 208 can be in communication with the processing circuit 202 to receive instructions of user input at a user interface and / or to provide audible, visual, mechanical, or other output to a user. As such, the input / output circuit 208 can include, for example, a keyboard, a mouse, a joystick, a display, a touch screen display, a microphone, a speaker, and / or other input / output mechanisms. Thus, in some example embodiments, the input / output circuit 208 can provide the means for a user to access and interact with the apparatus 200. The processor 206 and / or the input / output circuit 208, which includes or otherwise interfaces with the processor 206, can be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and / or firmware) stored on a memory accessible to the processor 206, for example, stored on the memory 204, or the like.
[0081] The communication circuitry 210 can include one or more interface mechanisms used to enable communication with other devices and / or networks. In some cases, the communication circuitry 210 can be any means such as a device or circuitry embodied in either hardware, or a combination of hardware and software that is configured to receive and / or transmit data from / to a network and / or any other device or module in communication with the processing circuitry 202. Accordingly, the communication circuitry 210 can include, for example, an antenna (or multiple antennas) and supporting hardware and / or software for enabling communications with a wireless communication network (for example, a wireless local area network, a cellular network, a Global Positioning System network, and / or the like), and / or a communication modem or another hardware / software module that can facilitate communication over a wired connection such as a cable, Digital Subscriber Line (DSL), Universal Serial Bus (USB), Ethernet, or other methods.
[0082] In some embodiments, the apparatus 200 can include a touch control stabilization system 212, which can include hardware components, software components, and / or a combination thereof, configured to perform one or more functions associated with the touch control stabilization computing entity 103 (as described above with reference to FIG. 1) in conjunction with the processing circuitry 202, the input / output circuitry 208, and / or the communication circuitry 210. For example, the touch control stabilization circuitry 212 can access, facilitate access to, receive, manipulate, provide, or otherwise use data used by one or more other components of the apparatus 200, for example, using an application program or API executed by a processor such as the processor 206. In some embodiments, the touch control stabilization circuitry 212 can interact with the memory 204, which can store the aforementioned data. It will also be appreciated that, in some embodiments, the touch control stabilization circuitry 212 can include a separate processor, a specially configured field programmable gate array (FPGA), or an application specific interface circuit (ASIC) to provide or otherwise facilitate access to such data used by one or more other components of the apparatus 200. The touch control stabilization circuitry 212 can also provide communication with other components of the apparatus, system, and / or external systems via a network interface provided by the communication circuitry 210. Figure 1
[0083] Example Process / Method for Motion Stabilized Touch Control
[0084] The example implementation provides multi-stage touch control stabilization (e.g., motion-stabilized touch control). In various implementations, the stages of motion-stabilized touch control include scene position calculation based on an input dataset (e.g., including vehicle IMU input, display IMU input, and / or camera input), scene rendering, display position calculation, display rendering, touch area calculation, touch detection, touch normalization, and touch processing. In various implementations, the output of the touch processing stage is fed to the scene rendering stage. In various implementations, the display rendering stage and the touch area calculation stage can be executed in parallel.
[0085] For example, a specially configured algorithm, as described above, can be used to perform spatial stabilization calculations. In various implementations, this involves taking into account drift corrections from the inertial measurement unit (IMU) and current position data to determine the stable position of the touch point / widget. Once a stable display position is determined, the algorithm adjusts the position of the touch area to align with these new positions. The algorithm then processes the touch detection logic to ensure accurate touch input recognition.
[0086] Figure 3 Example flowcharts illustrating the operation of data flow for touch control stabilization (e.g., motion-stabilized touch control) according to at least some of the embodiments discussed herein are provided. In some example embodiments, regarding... Figure 3 The flowcharts showing and describing the processes can be derived from... Figure 1 to Figure 2 The various systems and apparatuses shown and described generate, execute and / or otherwise facilitate.
[0087] As depicted in box 302, process 300 begins by using a motion stabilization model to determine one or more stable positions of one or more touch points / widgets associated with a touchscreen device using the motion stabilization model. A touch point or touch widget may refer to a user interface element presented on the user's screen and is configured to respond when the user interacts with the user interface element (e.g., see...). Figure 5A to Figure 5B Interaction (e.g., touch) triggers one or more actions. In various embodiments, determining the stable location of a touch point / widget includes identifying the stable location and establishing it as a reference point for adjusting the touch area, to ensure, for example, that the user interface remains stable and reliable. In various embodiments, a stable location refers to a position where the display is stable and unlikely to be affected by motion or other disturbances. In this regard, in some embodiments, the touch control stabilization system is configured to generate reference data for adjusting the touch area.
[0088] At block 304, the process continues with adjusting one or more touch zones based on the one or more stable positions. In some embodiments, the one or more touch zones are adjusted with the motion stabilization model. In various embodiments, adjusting the touch zones includes aligning the touch zones with the determined stable display positions, for example, to ensure that the one or more touch zones accurately correspond to the stable area of the display. In various embodiments, adjusting the one or more touch zones can be dynamic in that it can adapt to changes in the stable positions and realign the touch zones accordingly. In some embodiments, adjusting the one or more touch zones based on the stable positions includes sending computer-executable instructions configured to align the one or more touch zones with the one or more stable positions.
[0089] At block 306, the process continues with reprocessing touch detection logic using the motion stabilization model. In various embodiments, reprocessing the touch detection logic includes updating one or more touch detection models, for example, to account for the determined stable positions of the touch zones. In some embodiments, the touch detection models can include one or more touch detection algorithms. In this regard, in some embodiments, reprocessing the touch detection logic can include updating one or more touch detection algorithms. In some embodiments, reprocessing the touch detection logic includes tuning one or more touch detection models (e.g., one or more touch detection algorithms thereof) to learn the stable positions. In various embodiments, reprocessing the touch detection logic ensures that touch inputs are accurately detected, thereby reducing the likelihood of false or misinterpreted user actions.
[0090] In some embodiments, the touch detection model is a parameter, hyperparameter, and / or data entity defining an operation of a rule-based algorithm, a machine learning model (e.g., a model including at least one or more rule-based layers, one or more layers dependent on trained parameters, coefficients, etc.), and / or an artificial intelligence model, among others. In some embodiments, the touch detection model can include any type of model configured, trained, etc., to perform touch detection operations. In some embodiments, the touch detection model can be configured to detect touches by measuring changes in capacitance caused by a finger touching the screen. In this regard, the touch detection model can be configured to utilize one or more of any type of machine learning, rule-based, and / or artificial intelligence techniques, including one or more of supervised learning (e.g., using user feedback), unsupervised learning, semi-supervised learning, reinforcement learning, computer vision techniques, sequence modeling techniques, language processing techniques, neural network techniques, and / or generative artificial intelligence techniques. In some embodiments, the touch detection model includes a touch detection algorithm.
[0091] At block 308, the process continues with normalizing the touch zones using the motion stabilization model. In various embodiments, normalizing the touch zones includes one or more of recalibrating the size of each touch zone or at least one touch zone by adjusting their size and / or shape to ensure they are proportionate and accurately positioned, normalizing the position of the touch zones (e.g., to ensure uniformity across the interface), and refining the touch processing logic to accommodate the new position and size of the touch zones (e.g., to maintain consistency and accuracy). In various embodiments, refining the touch processing logic includes optimizing the algorithms that interpret touch inputs to ensure they are responsive and accurate.
[0092] At block 310, the process continues with integrating the position-stabilized and normalized touch zones into the scene rendering process. In various embodiments, integrating the position-stabilized and normalized touch zones into the scene rendering process includes updating the graphical representation of the touch zones within the user interface. The scene rendering process can be configured to ensure that the touch zones are accurately displayed in their new positions, reflecting the adjustments made (as described above).
[0093] At block 312, the process continues with performing or causing performance of display processing with respect to the adjusted and rendered touch zones (e.g., to ensure that the touch zones are correctly displayed on the screen and to ensure that the touch zones are stable and responsive). This in turn provides the user with an interface that accurately reflects their touch inputs and is resistant to motion and other disturbances.
[0094] Figure 4 An operational example of a touch screen sensor 400 and associated environment in accordance with at least some embodiments of the present disclosure is illustrated. Figure 5A And Figure 5B Each illustrates an operational example of user interaction with a touch screen 500 in accordance with at least some embodiments of the present disclosure. Specifically, Figure 5A The touch screen 500 of a user device in an initial state (e.g., a non- mobile state) is illustrated. Figure 5B The touch screen 500 of a user device in a motion state is illustrated. In Figure 5A to Figure 5B The impact of motion on the user can be seen in. Specifically, in Figure 5A In the illustrated initial state, the user is interacting correctly with the intended touch point / touch widget 502a. In Figure 5B In the illustrated motion state, the user can be interacting with the unintended touch point / touch widget 502b due to the impact of motion.
[0095] CONCLUSION
[0096] Many modifications and other implementations thereof in addition to those described herein will reveal themselves to those of ordinary skill in the art from the foregoing description and accompanying figures. The specific embodiments disclosed herein are not intended to be exhaustive or limiting of the claimed application. Rather, the specific embodiments are described as follows to provide what is believed to be the most useful and readily understood description of procedures, techniques, and applications of the application. Those with ordinary skill in the art will appreciate that other embodiments and modifications will be readily apparent and can be made without departing from the spirit and scope of the application. It is therefore intended that all such modifications and embodiments come within the scope and spirit of the application.
[0097] Embodiments of the subject matter and operations described herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described herein can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on computer storage medium for execution by, or to control the operation of, information / data processing apparatus. Alternatively or additionally, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information / data for transmission to suitable receiver apparatus for execution by information / data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random access memory array or other dynamic storage device, a read-only memory array or other static storage device, or a
[0098] The operations described herein can be implemented as operations performed by information / data processing apparatus on information / data stored on one or more computer-readable storage devices or received from other sources.
[0099] The term“data processing apparatus” encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones of the same, or combinations of the foregoing. The apparatus can include special purpose logic, for example, an FPGA or an ASIC. Besides hardware, the apparatus can also include code that creates an execution environment for the code of the discussion, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, cross-platform runtime environments, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing infrastructures, and grid computing infrastructures.
[0100] A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative languages, or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or information / data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and are interconnected by a communication network.
[0101] The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input information / data and generating output. The processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and information / data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive information / data from or transfer information / data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Devices suitable for storing computer program instructions and information / data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0102] To provide for interaction with a user, implementations of the subject matter described in this document can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information / data to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
[0103] Embodiments of the subject matter described herein can be implemented in a computing system that includes a back end component (e.g., as an information / data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital information / data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
[0104] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits information / data (e.g., HTML pages) to a client device (e.g., for purposes of displaying information / data to and receiving user input from a user interacting with the client device). Information / data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.
[0105] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any disclosures or of what can be claimed, but as descriptions of particular implementations outside of which scope can exist. Certain features that are described in this specification in the context of separate implementations can also be implemented in combinations. Conversely, various features that are described in the context of a single implementation can also be implemented separately or in any suitable subcombination. Moreover, although features can be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination and the claimed combination can be directed to a subcombination or variation of a subcombination.
[0106] Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring such order nor that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing can be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated in a single software product or packaged into multiple software products.
[0107] Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, operations mentioned in the claims can be performed in a different order and still achieve desirable results. Additionally, the process depicted in the accompanying drawings does not necessarily require the particular order shown or sequential order to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous.
Claims
1. A computer-implemented method for motion-stabilized touch control, the computer-implemented method comprising: Using a motion stabilization model, reference data is generated by applying motion data from one or more inertial measurement units to the motion stabilization model. The reference data includes one or more stable positions of one or more touch points corresponding to one or more touch areas associated with a touchscreen device, wherein the motion stabilization model is configured to analyze the motion data to identify the one or more stable positions. By sending computer-executable instructions, the one or more touch areas are adjusted based on the stable position, the computer-executable instructions being configured to align the one or more touch areas with the one or more stable positions; The one or more touch detection models are updated by tuning one or more touch detection models associated with the touchscreen device to learn the stable position; as well as One or more sizes of the one or more touch areas are recalibrated by adjusting the size of at least one of the one or more touch areas.
2. The computer-implemented method of claim 1, wherein recalibrating the one or more sizes of the one or more touch areas further comprises: Adjust the shape of at least one of the one or more touch areas.
3. The computer-implemented method according to claim 2, further comprising: The one or more touch areas are integrated into the scene rendering process by updating the graphical representation of the one or more touch areas within the user interface of the touchscreen device.
4. The computer-implemented method of claim 1, wherein the motion data includes one or more of acceleration motion measurements for the touchscreen device or angular motion measurements for the touchscreen device.
5. The computer-implemented method of claim 1, wherein recalibrating one or more dimensions of the one or more touch areas further comprises standardizing the one or more dimensions of each of the one or more touch areas.
6. The computer-implemented method of claim 1, wherein the touchscreen device is positioned inside a vehicle.
7. The computer-implemented method according to claim 1, wherein the motion stabilization model is a machine learning model.
8. A device for motion-stabilized touch control, the device comprising at least one processor and at least one memory storing instructions, the instructions causing the device to: Using a motion stabilization model, reference data is generated by applying motion data from one or more inertial measurement units to the motion stabilization model. The reference data includes one or more stable positions of one or more touch points corresponding to one or more touch areas associated with a touchscreen device, wherein the motion stabilization model is configured to analyze the motion data to identify the one or more stable positions. By sending computer-executable instructions, the one or more touch areas are adjusted based on the stable position, the computer-executable instructions being configured to align the one or more touch areas with the one or more stable positions; The one or more touch detection models are updated by tuning one or more touch detection models associated with the touchscreen device to learn the stable position; as well as One or more sizes of the one or more touch areas are recalibrated by adjusting the size of at least one of the one or more touch areas.
9. The apparatus of claim 8, wherein recalibrating the one or more dimensions of the one or more touch areas further comprises: Adjust the shape of at least one of the one or more touch areas.
10. One or more non-transitory computer-readable storage media for motion-stabilized touch control, said one or more non-transitory computer-readable storage media comprising instructions that, when executed by one or more processors, cause said one or more processors to: Using a motion stabilization model, reference data is generated by applying motion data from one or more inertial measurement units to the motion stabilization model. The reference data includes one or more stable positions of one or more touch points corresponding to one or more touch areas associated with a touchscreen device, wherein the motion stabilization model is configured to analyze the motion data to identify the one or more stable positions. By sending computer-executable instructions, the one or more touch areas are adjusted based on the stable position, the computer-executable instructions being configured to align the one or more touch areas with the one or more stable positions; The one or more touch detection models are updated by tuning one or more touch detection models associated with the touchscreen device to learn the stable position; as well as One or more sizes of the one or more touch areas are recalibrated by adjusting the size of at least one of the one or more touch areas.