Adaptive selection of eye-tracking mode

By adaptively selecting eye-tracking modes based on accuracy and power consumption, the method addresses the challenges of achieving high accuracy and low power consumption in eye-tracking technologies, making it suitable for diverse applications.

WO2025087534A1PCT designated stage expired Publication Date: 2025-05-01TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2023/079976
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-26
Publication Date
2025-05-01

AI Technical Summary

Technical Problem

Existing eye-tracking technologies, such as camera-based and electrooculography-based methods, face challenges in achieving high accuracy while minimizing power consumption, especially in lightweight equipment like XR glasses.

Method used

A method and controller for adaptively selecting eye-tracking modes based on gaze accuracy and power consumption requirements, choosing the mode that meets accuracy needs with the lowest power consumption.

Benefits of technology

This approach enables eye-tracking applications to achieve high accuracy while maintaining low power consumption, making the technology more suitable for various scenarios, including XR environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2023079976_01052025_PF_FP_ABST
    Figure EP2023079976_01052025_PF_FP_ABST
Patent Text Reader

Abstract

There is provided techniques for selecting eye-tracking mode for an eye-tracking application. A method is performed by a controller. The controller is configured to select between different available eye-tracking modes. Each eye-tracking mode has its own gaze accuracy and power consumption requirement. The method comprises obtaining a gaze accuracy requirement of the eye-tracking application. The method comprises selecting to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ADAPTIVE SELECTION OF EYE-TRACKING MODE

[0002] TECHNICAL FIELD

[0003] Embodiments presented herein relate to a method, a controller, a computer program, and a computer program product for selecting eye-tracking mode for an eye-tracking application.

[0004] BACKGROUND

[0005] Camera-based eye-tracking, is a well-used technology in e.g., laptops and extended reality (XR) headsets, to track the eyes of the user for several different types of applications or user analyses. Stereo-based eyetracking uses two cameras as well as several illuminators using near-infrared light to enhance the eyetracking.

[0006] Whereas camera-based eye-tracking has the opportunity to provide detailed gaze tracking, camera-based eye-tracking is quite computationally complex, have a high cost, and requires high power consumption. Camera-based eye-tracking is often based on statically mounted cameras. There are simple camera-based eye-tracking techniques available, see for example E. Whitmire et al. “EyeContact: Scleral Coil Eye Tracking for Virtual Reality” in Proceedings of the International Symposium of Wearable Computers (ISWC), September 12-16, 2016, but these eye-tracking techniques are typically less accurate than camera-based eye-tracking with statically mounted cameras, are more difficult to place optimally in lightweight equipment, such as XR glasses, and still suffer from a significant power consumption due to the operation of multiple cameras, processing of image data at certain framerate and the use of near-infrared illumination (if included).

[0007] Originating for medical purposes, another technology to track the user’s eyes is electrooculography, or EOG. Electrooculography is a technique for measuring the comeo-retinal standing potential that exists between the front and the back of the human eye. The resulting signal is called the electrooculogram. Primary applications are in ophthalmological diagnosis and in recording eye movements. To measure eye movement, pairs of electrodes are typically placed either above and below the eye or to the left and right of the eye.

[0008] One advantage of electrooculography-based eye-tracking over camera-based eye-tracking is the significantly lower power consumption due to the measurement of low-dimensional signals at a fairly low bitrate and significantly less processing the analyze those signals compared to camera-based eye-tracking.

[0009] However, there are some shortcomings of electrooculography-based eye-tracking compared to camerabased eye-tracking. For example, depending on implementation and / or placement of the electrodes, etc., electrooculography-based eye -tracking can have worse accuracy in vertical dimension than in horizontal dimension. For example, electrooculography-based eye-tracking might need calibration (which is persondependent). The calibration also depends on e.g., sweat and adaption of the eyes to certain lightning conditions. In turn, this means that for the best performance there is a need to re-calibrate at occasions. For example, electrooculography-based eye-tracking is generally less accurate in terms of gaze angle compared to camera-based eye-tracking. Furthermore, the accuracy might depend on how the electrodes are attached to, or touches, the skin, which might vary depending on the industrial design of the electrodes, etc.

[0010] SUMMARY

[0011] An object of embodiments herein is to address the above short-comings with camera-based eye-tracking and electrooculography-based eye-tracking.

[0012] A particular object is to provide eye-tracking that has sufficiently high accuracy for the eye-tracking application at hand but still requires only low power consumption.

[0013] According to a first aspect there is presented a method for selecting eye-tracking mode for an eyetracking application. The method is performed by a controller. The controller is configured to select between different available eye-tracking modes. Each eye-tracking mode has its own gaze accuracy and power consumption requirement. The method comprises obtaining a gaze accuracy requirement of the eye-tracking application. The method comprises selecting to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

[0014] According to a second aspect there is presented a controller for selecting eye-tracking mode for an eyetracking application. The controller is configured to select between different available eye-tracking modes. Each eye-tracking mode has its own gaze accuracy and power consumption requirement. The controller comprises processing circuitry. The processing circuitry is configured to cause the controller to obtain a gaze accuracy requirement of the eye-tracking application. The processing circuitry is configured to cause the controller to select to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

[0015] According to a third aspect there is presented a controller for selecting eye-tracking mode for an eyetracking application. The controller is configured to select between different available eye-tracking modes. Each eye-tracking mode has its own gaze accuracy and power consumption requirement. The controller comprises an obtain module configured to obtain a gaze accuracy requirement of the eyetracking application. The controller comprises a select module configured to select to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

[0016] According to a fourth aspect there is presented a computer program for selecting eye-tracking mode for an eye-tracking application. The computer program comprises computer code which, when run on processing circuitry of a controller configured to select between different available eye-tracking modes where each eye -tracking mode has its own gaze accuracy and power consumption requirement, causes the controller to perform actions. One action comprises the controller to obtain a gaze accuracy requirement of the eye-tracking application. One action comprises the controller to select to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

[0017] According to a fifth aspect there is presented a computer program product comprising a computer program according to the fourth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.

[0018] According to a sixth aspect there is presented a system for selecting eye-tracking mode for an eyetracking application. The eye-tracking mode is selectable from different available eye-tracking modes. A first eye-tracking mode of the available eye-tracking modes involves electrooculography-based eyetracking. The system comprises a controller according to the second or third aspect and electrodes to be placed on a user of the eye-tracking application. The electrooculography-based eye-tracking is based on signals obtained from the electrodes.

[0019] Advantageously, these aspects provide eye-tracking that does not suffer from the above-identified issues.

[0020] Advantageously, these aspects provide eye-tracking that has sufficiently high precision and accuracy for the eye-tracking application at hand but still requires only low power consumption.

[0021] Advantageously, these aspects enable the eye-tracking technology being most appropriate for the scenario at hand to be used. For example, electrooculography-based eye-tracking can be used to reduce the power consumption whilst camera-based eye-tracking can be used in scenarios where high accuracy is necessary.

[0022] Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.

[0023] Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a / an / the element, apparatus, component, means, module, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

[0024] BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which: Fig. 1 is a schematic diagram illustrating user devices according to embodiments;

[0026] Figs. 2, 3, and 4 are flowcharts of methods according to embodiments;

[0027] Fig. 5 is a schematic diagram showing structural units of a controller according to an embodiment;

[0028] Fig. 6 is a schematic diagram showing functional modules of a controller according to an embodiment; and

[0029] Fig. 7 shows one example of a computer program product comprising computer readable storage medium according to an embodiment.

[0030] DETAILED DESCRIPTION

[0031] The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.

[0032] As noted above, it is an object of the herein disclosed embodiments to address the above short-comings with camera-based eye-tracking and electrooculography-based eye-tracking.

[0033] The embodiments disclosed herein in therefore relate to techniques for selecting eye-tracking mode for an eye-tracking application. In order to obtain such techniques there is provided a controller, a method performed by the controller, a computer program product comprising code, for example in the form of a computer program, that when run on a controller, causes the controller to perform the method.

[0034] Fig. 1 is a schematic diagram illustrating user devices 110, represented by a pair of smart glasses, or XR glasses, for eye-tracking according to embodiments. The eye-tracking might be performed in the context of gaming, navigation, or tracking user behaviour in an XR environment. Further, the eye-tracking might be performed as part of a meeting, a learning event, etc. In these examples, a first eye-tracking mode is represented by electrooculography-based eye-tracking and a second eye-tracking mode is represented by camera-based eye-tracking. The electrooculography-based eye-tracking is based on signals obtained from electrodes 120. In more detail, Fig. 1 schematically illustrates different types of implementations of electrooculography-based eye-tracking, and particularly the placements of the electrodes 120. In Fig. 1(a) six electrodes 120 (denoted HR (horizontal right), VL (vertical lower), HL (horizontal left), VU (vertical upper), REF (reference), GND (ground)) are fixed to the skin of a user 150 wearing the user device 110. In Fig. 1(b) the electrodes (as represented by single electrode 120) are part of the user device 110 itself. In Fig. 1(c) the electrodes (as represented by single electrode 120) are placed on an in-ear headset 140. In Fig. 1(c) the electrodes might be integrated with audio and microphone circuitry in the in-ear headset 140.

[0035] The camera-based eye-tracking is based on signals obtained from a camera 130.

[0036] In general terms, a system for selecting eye-tracking mode for an eye-tracking application comprises the electrodes 120 to be placed on a user 150 of the eye-tracking application as well as a controller 500, 600 for selecting the eye-tracking mode for the eye-tracking application. Functionality and operations as performed by the controller 500, 600 will be disclosed in further detail below. In some examples, as in the example of Fig. 1, at least one second eye-tracking mode of the available eye-tracking modes involves camera-based eye-tracking, and the system further comprises a camera 130.

[0037] Fig. 2 is a flowchart illustrating embodiments of methods for selecting eye-tracking mode for an eyetracking application. The methods are performed by the controller 500, 600. The controller 500, 600 is configured to select between different available eye-tracking modes. Each eye-tracking mode has its own gaze accuracy and power consumption requirement. The methods are advantageously provided as computer programs 720.

[0038] The method is based on that the controller 500, 600 selects the eye-tracking mode that minimizes the power consumption but that still fulfils the gaze accuracy requirements of the eye-tracking application at hand.

[0039] S 106: The controller 500, 600 obtains a gaze accuracy requirement of the eye-tracking application.

[0040] S108: The controller 500, 600 selects to, during execution of the eye-tracking application, use the eyetracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

[0041] Embodiments relating to further details of selecting eye-tracking mode for an eye-tracking application as performed by the controller 500, 600 will now be disclosed with continued reference to Fig. 2.

[0042] In some aspects, the gaze accuracy requirement pertains to a general requirement of accuracy (such as low, or high). In some aspects, the gaze accuracy requirement specifies a certain accuracy-level, e.g. no more than 10% error, no more than 5% error, or no more than 2% error, etc. of the eye-tracking. In some aspects ,the eye-tracking application has different gaze accuracy requirements for the horizontal and vertical dimensions, respectively. Therefore, in some embodiments, separate gaze accuracy requirements are obtained for horizontal and vertical dimensions, respectively, for the eye-tracking application. In some aspects the gaze accuracy requirement differ between certain positions in each direction. That is, the eyetracking application might have different gaze accuracy requirements for different areas in a user interface displayed to the user. That is, in some embodiments, the eye-tracking application requires gaze tracking over an area in a user interface, and separate gaze accuracy requirements are obtained for different parts of the area in the user interface. Further examples of how the gaze accuracy can be determined will be disclosed below. Further aspects of the selection of the eye-tracking mode to use will be disclosed next. Yet further aspects of the selection of the eye-tracking mode to use will be disclosed below with reference to the flowchart of Fig. 4.

[0043] In some aspects, electrooculography-based eye-tracking is to be used whenever possible. Therefore, in some embodiments, a first eye-tracking mode of the available eye-tracking modes involves electrooculography-based eye-tracking, and the first eye-tracking mode is selected when the electrooculography-based eye-tracking meets the gaze accuracy requirement.

[0044] In some aspects, camera-based eye-tracking is to be used when it is not possible to use electrooculography-based eye-tracking, for example when the electrooculography-based eye-tracking fails to meet the gaze accuracy requirement Therefore, in some embodiments at least one second eyetracking mode of the available eye-tracking modes involves camera-based eye-tracking, and one of the at least one second eye-tracking mode is selected when the electrooculography-based eye-tracking fails to meet the gaze accuracy requirement.

[0045] It is noted that the eye-tracking requirements might be for a complete session where the eye-tracking application is used, e.g., during a conference call, during a gaming session, or the like. However, since there are eye-tracking applications for which electrooculography-based eye-tracking is sufficient for the majority of the time and there are only a few situations where camera-based eye-tracking is required, the herein disclosed embodiments enable an adaptive selection to be made between different eye-tracking modes for one and the same session.

[0046] In this respect, there can be different ways for the controller 500, 600 select the eye-tracking mode to be used during the execution of the eye-tracking application, and especially for selecting an eye-tracking mode that meets the gaze accuracy (and precision) requirement. For example, the controller 500, 600 might be configured to, based on previously selected eye-tracking mode for the eye-tracking application, predict which eye-tracking mode that should be selected. That is, in some embodiments, which of the eyetracking mode to select to use during the execution of the eye-tracking application is based on a prediction, where the prediction at least is based on which eye-tracking modes have previously been selected for previously obtained gaze accuracy requirements. In further aspects, the controller 500, 600 might be configured to prefetch a certain eye-tracking mode and / or a preferred eye-tracking mode might be indicated by the eye-tracking application itself. These embodiments allow for more fine-grained activation and deactivation of camera-based eye-tracking. This can be relevant since the camera-based eye-tracking might have different power modes; not activating the camera so no data is transferred and / or processed, and no processing is performed, or complete deep-sleep state of the camera-based eye-tracking subsystems and sensors, or even more different states. Such states not only differ in terms of power consumption but also on how fast the camera-based eye-tracking system can transition from one such state to another. Aspects of calibration of the electrooculography-based eye-tracking will be disclosed next. Yet further aspects of this calibration will be disclosed below with reference to the flowchart of Fig. 3.

[0047] In general terms, there could be different reasons as to why the electrooculography-based eye-tracking needs to be calibrated. For example, each user 150 might have a slightly different anatomy. For example, each user 150 might place the user device or the electrodes 120 slightly differently. For example, the placement of the user device or the electrodes 120 might differ over time (e.g., as the user moves). For example, electrooculography signals can be impacted by sweat. For example, the user’s eyes adapt to darkness or other conditions which might impact electrooculography signals.

[0048] In some aspects, calibration of the electrooculography-based eye-tracking is therefore performed. Eyetracking data from the camera-based eye-tracking can then be used as reference data. Hence, in some embodiments, the controller 500, 600 is configured to perform (optional) step S102.

[0049] S102: The controller 500, 600 calibrates the electrooculography-based eye-tracking using eye-tracking data from the camera-based eye-tracking as reference data.

[0050] There could be different opportunities, or occasions, when the calibration as in SI 02 is performed. For example, the calibration could be performed before or during the execution of the eye-tracking application. For example, the calibration could be performed upon every cold-start of the user device. For example, a re-calibration can be performed upon the user having started using the user device after having temporarily removed the user device. For example, a re-calibration can be performed upon the user having adjusted the position of the user device. For example, the calibration could be performed upon the eye-tracking application, or some other application, having detected that the electrooculography-based eye-tracking is deviating from some assumed gaze direction, e.g. when new objects are shown or moved, in a consistently wrong way. For example, a re-calibration can be performed periodically or upon expiration of a timer, where the timer is started when the user devices is started. Other trigger conditions for when the (re-)calibration is to be performed are also envisioned. In general terms, the re-calibration involves the same actions as the above disclosed calibration. One difference is that the re-calibration can be based on the current settings and measures errors and adjust to those, whereas a calibration might be either based on previous settings or start from some default settings.

[0051] The electrooculography-based eye-tracking can be further calibrated, or finetuned, beyond the dedicated calibration phases, which means fewer such dedicated calibrations need to be performed. In particular, in some aspects, the calibration is performed in the background whilst the camera-based eye-tracking is ongoing. That is, in some embodiments, the controller 500, 600 is configured to calibrate the electrooculography-based eye -tracking whilst the camera-based eye -tracking is used during execution of the eye-tracking application. By analyzing the accuracy of the electrooculography-based eye-tracking whilst the camera-based eye-tracking is used during execution of the eye-tracking application, it can be assessed to what extent the electrooculography-based eye-tracking would be possible to use for that eye- tracking application, e.g. during certain parts of the execution, and thereby degrease the duty cycle of the camera-based eye-tracking where the accuracy of the electrooculography-based eye-tracking is sufficient. The controller 500, 600 might for this purpose be configured to perform A-B tests. Since the power consumption of camera-based eye-tracking is higher than that of electrooculography-based eye-tracking, having the electrooculography-based eye-tracking active (for training purposes) in parallel with using camera-based eye-tracking (when camera-based eye-tracking is required) yields very low power consumption overhead.

[0052] In further aspects, a supervised calibration is performed, where virtual objects, or some other type of visual guidance means, are shown on a display, and where the user 150 is instructed to focus on his / her gaze on these virtual objects, or visual guidance means. Therefore, in some embodiments, calibrating the electrooculography-based eye-tracking involves displaying virtual content at a set of positions for a user 150 of the eye-tracking application to gaze at.

[0053] In some embodiments, as in the example of Fig. 1(a) the electrooculography-based eye-tracking is based on signals obtained from electrodes 120 placed on the user 150 of the eye-tracking application. Then, if the calibration is worse than expected (e.g., by the quality of the electrooculography signals being too poor, the noise level being too high, etc. when compared to some threshold value), the controller 500, 600 might provide visual feedback to the user 150 to adapt the placement of the electrodes 120. Therefore, in some embodiments, the controller 500, 600 is configured to perform (optional) step si 04 when calibration of the electrooculography-based eye-tracking fails to fulfil a quality criterion.

[0054] SI 04: The controller 500, 600 provides visual feedback to the user 150 to adapt placement of the electrodes 120.

[0055] In some examples, a visual indication, or other type of indication, of the quality of the electrooculography signals is provided to the user so that the user can see if and how the quality of the electrooculography signals improves as the user adapts the placement of the electrodes 120. In this respect, the user 150 might be given the opportunity to defer any adaption of the placement of the electrodes 120 to when it is actually needed. Therefore, in some embodiments, the visual feedback is only provided after the controller 500, 600 has received confirmation from the user 150.

[0056] Aspects of training the electrooculography-based eye-tracking will be disclosed next. Yet further aspects of this training will be disclosed below.

[0057] In some aspects, training of the electrooculography-based eye-tracking is performed whilst the camerabased eye-tracking is ongoing. That is, in some embodiments, the controller 500, 600 is configured to perform (optional) step SI 10.

[0058] SI 10: The controller 500, 600 analyzes gaze accuracy of the electrooculography-based eye-tracking whilst the camera-based eye-tracking is used during execution of the eye-tracking application. As for the calibration, eye-tracking data from the camera-based eye-tracking can be used as reference data for the training. That is, in some embodiments, the gaze accuracy of the electrooculography-based eyetracking is analyzed using eye-tracking data from the camera-based eye-tracking as reference data.

[0059] Further aspects of the calibration of the electrooculography-based eye-tracking will be disclosed next with reference to the flowchart of Fig. 3.

[0060] Calibration of the electrooculography-based eye-tracking can be triggered when the user puts on the user device, or when any other criterion for (re-)calibration is fulfilled (step S201). Examples of such criteria have been disclosed above. Since the calibration of the electrooculography-based eye-tracking is using eye-tracking data from the camera-based eye-tracking as reference data, the camera-based eye-tracking is activated (step S202), if not already activated. The electrooculography-based eye-tracking is then calibrated using eye-tracking data from the camera-based eye-tracking as reference data (step S203). The calibration can be performed in the background without the user being aware. If the calibration is successful within some time limit (step S204, “Yes”), the calibration procedure can be ended (step S207). However, if the calibration is not successful within some time limit (step S204, “No”), supervised calibration can be performed (step S205) by virtual objects or guidance means being shown on a display of the user device, and where the user is requested to focus his / her gaze on the virtual objects or guidance means.

[0061] Further aspects of the selection of the eye-tracking mode to use will be disclosed next with reference to the flowchart of Fig. 4.

[0062] The eye-tracking application indicates system needs in terms of a gaze accuracy requirement (step S301), i.e., not just requiring access to an eye-tracking function but also which gaze accuracy is required to the controller 500, 600. Assuming that calibration has been performed as disclosed above, the controller 500, 600 has also access to information in terms of accuracy and capabilities for the different available eyetracking modes. It is checked whether the electrooculography-based eye-tracking can meet the gaze accuracy requirement or not (step S302). If the electrooculography-based eye-tracking can meet the gaze accuracy requirement, the electrooculography-based eye-tracking is used and camera-based eye-tracking is not used, which minimizes power consumption (step S303). Else, the camera-based eye-tracking will be selected, without the need for the user to be involved (step S304). It is, after some time, checked whether the gaze accuracy requirement have changed (step S305), and if the gaze accuracy requirement has decreased, step S303 can be entered to save power consumption. Likewise, in case step S303 was entered, is, after some time, checked whether the gaze accuracy requirement have changed (step S306), and if the gaze accuracy requirement has increased so that the electrooculography-based eye-tracking cannot meet the gaze accuracy requirement, step S304 is entered.

[0063] Fig. 5 schematically illustrates, in terms of a number of structural units, the components of a controller

[0064] 500 according to an embodiment. Processing circuitry 510 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 710 (as in Fig. 7), e.g. in the form of a storage medium 530. The processing circuitry 510 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).

[0065] Particularly, the processing circuitry 510 is configured to cause the controller 500 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 530 may store the set of operations, and the processing circuitry 510 may be configured to retrieve the set of operations from the storage medium 530 to cause the controller 500 to perform the set of operations. The set of operations may be provided as a set of executable instructions.

[0066] Thus the processing circuitry 510 is thereby arranged to execute methods as herein disclosed. The storage medium 530 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The controller 500 may further comprise a communications (comm.) interface 520 at least configured for communications with other entities, functions, nodes, and devices (such as the user device 110, the electrodes 120, the camera 130, and the headset 140) as needed for the controller 500 to be able to select the eye-tracking mode for the eye-tracking application. As such the communications interface 520 may comprise one or more transmitters and receivers, comprising analogue and digital components. The processing circuitry 510 controls the general operation of the controller 500 e.g. by sending data and control signals to the communications interface 520 and the storage medium 530, by receiving data and reports from the communications interface 520, and by retrieving data and instructions from the storage medium 530. Other components, as well as the related functionality, of the controller 500 are omitted in order not to obscure the concepts presented herein.

[0067] Fig. 6 schematically illustrates, in terms of a number of functional modules, the components of a controller 600 according to an embodiment. The controller 600 of Fig. 6 comprises a number of functional modules; an obtain module 630 configured to perform step S106, and a select module 640 configured to perform step S108. The controller 600 of Fig. 6 may further comprise a number of optional functional modules, such as any of a calibrate module 610 configured to perform step SI 02, a provide module 620 configured to perform step SI 04, and an analyze module 650 configured to perform step SI 10. In general terms, each functional module 610:650 may in one embodiment be implemented only in hardware and in another embodiment with the help of software, i.e., the latter embodiment having computer program instructions stored on the storage medium 530 which when run on the processing circuitry makes the controller 500 perform the corresponding steps mentioned above in conjunction with Fig 6. It should also be mentioned that even though the modules correspond to parts of a computer program, they do not need to be separate modules therein, but the way in which they are implemented in software is dependent on the programming language used. Preferably, one or more or all functional modules 610:650may be implemented by the processing circuitry 510, possibly in cooperation with the communications interface 520 and / or the storage medium 530. The processing circuitry 510 may thus be configured to from the storage medium 530 fetch instructions as provided by a functional module 610:650and to execute these instructions, thereby performing any steps as disclosed herein.

[0068] The controller 500, 600 may be provided as a standalone device or as a part of at least one further device. For example, the controller 500, 600 may be provided in the user device 110.

[0069] Fig. 7 shows one example of a computer program product 710 comprising computer readable storage medium 730. On this computer readable storage medium 730, a computer program 720 can be stored, which computer program 720 can cause the processing circuitry 510 and thereto operatively coupled entities and devices, such as the communications interface 520 and the storage medium 530, to execute methods according to embodiments described herein. The computer program 720 and / or computer program product 710 may thus provide means for performing any steps as herein disclosed.

[0070] In the example of Fig. 7, the computer program product 710 is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 710 could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 720 is here schematically shown as a track on the depicted optical disk, the computer program 720 can be stored in any way which is suitable for the computer program product 710.

[0071] The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.

Claims

CLAIMS1. A controller (500, 600) for selecting eye-tracking mode for an eye-tracking application, wherein the controller (500, 600) is configured to select between different available eye-tracking modes, wherein each eye-tracking mode has its own gaze accuracy and power consumption requirement, wherein the controller (500, 600) comprises processing circuitry (510), and wherein the processing circuitry (510) is configured to cause the controller (500, 600) to: obtain a gaze accuracy requirement of the eye-tracking application; and select to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

2. The controller (500, 600) according to claim 1, wherein a first eye-tracking mode of the available eye-tracking modes involves electrooculography-based eye-tracking, and wherein the first eye-tracking mode is selected when the electrooculography-based eye-tracking meets the gaze accuracy requirement.

3. The controller (500, 600) according to claim 1 or 2, wherein a first eye-tracking mode of the available eye-tracking modes involves electrooculography-based eye-tracking, wherein at least one second eye-tracking mode of the available eye-tracking modes involves camera-based eye-tracking, and wherein one of the at least one second eye-tracking mode is selected when the electrooculography-based eye-tracking fails to meet the gaze accuracy requirement.

4. The controller (500, 600) according to any preceding claim, wherein which of the eye-tracking mode to select to use during the execution of the eye-tracking application is based on a prediction, and wherein the prediction at least is based on which eye-tracking modes have previously been selected for previously obtained gaze accuracy requirements.

5. The controller (500, 600) according to any preceding claim, wherein separate gaze accuracy requirements are obtained for horizontal and vertical dimensions, respectively, for the eye-tracking application.

6. The controller (500, 600) according to any preceding claim, wherein the eye-tracking application requires gaze tracking over an area in a user interface, and wherein separate gaze accuracy requirements are obtained for different parts of the area.

7. The controller (500, 600) according to claim 3, wherein the processing circuitry (510) further is configured to cause the controller (500, 600) to: calibrate the electrooculography-based eye-tracking using eye-tracking data from the camera-based eye-tracking as reference data.

8. The controller (500, 600) according to claim 7, wherein the processing circuitry (510) is configured to cause the controller (500, 600) to calibrate the electrooculography-based eye-tracking whilst the camera-based eye-tracking is used during execution of the eye-tracking application.

9. The controller (500, 600) according to claim 8, wherein to calibrate the electrooculography-based eye-tracking involves displaying virtual content at a set of positions for a user (150) of the eye-tracking application to gaze at.

10. The controller (500, 600) according to claim 7, 8, or 9, wherein the electrooculography-based eyetracking is based on signals obtained from electrodes (120) placed on a user (150) of the eye-tracking application, and wherein the processing circuitry (510), when calibration of the electrooculography-based eye-tracking fails to fulfil a quality criterion, further is configured to cause the controller (500, 600) to: provide visual feedback to the user (150) to adapt placement of the electrodes (120).

11. The controller (500, 600) according to claim 10, wherein the visual feedback only is provided after receiving confirmation from the user (150).

12. The controller (500, 600) according to any preceding claim, wherein the processing circuitry (510) further is configured to cause the controller (500, 600) to: analyze gaze accuracy of the electrooculography-based eye-tracking whilst the camera-based eye tracking is used during execution of the eye-tracking application.

13. The controller (500, 600) according to claim 12, wherein the gaze accuracy of the electrooculography-based eye-tracking is analyzed using eye-tracking data from the camera-based eyetracking as reference data.

14. A system for selecting eye-tracking mode for an eye-tracking application, wherein the eye-tracking mode is selectable from different available eye-tracking modes, wherein a first eye-tracking mode of the available eye-tracking modes involves electrooculography-based eye-tracking, wherein the system comprises a controller (500, 600) according to any preceding claim and electrodes (120) to be placed on a user (150) of the eye-tracking application, and wherein the electrooculography-based eye-tracking is based on signals obtained from the electrodes (120).

15. The system according to claim 14, wherein at least one second eye-tracking mode of the available eye-tracking modes involves camera-based eye-tracking, wherein the system further comprises a camera, and wherein the camera-based eye-tracking is based on signals obtained from the camera.

16. A controller (500, 600) for selecting eye-tracking mode for an eye-tracking application, wherein the controller (500, 600) is configured to select between different available eye-tracking modes, whereineach eye-tracking mode has its own gaze accuracy and power consumption requirement, and wherein the controller (500, 600) comprises: an obtain module (630) configured to obtain a gaze accuracy requirement of the eye-tracking application; and a select module (640) configured to select to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

17. A method for selecting eye-tracking mode for an eye-tracking application, wherein the method is performed by a controller (500, 600), wherein the controller (500, 600) is configured to select between different available eye-tracking modes, wherein each eye-tracking mode has its own gaze accuracy and power consumption requirement, and wherein the method comprises: obtaining (SI 06) a gaze accuracy requirement of the eye-tracking application; and selecting (SI 08) to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

18. A computer program (720) for selecting eye-tracking mode for an eye-tracking application, the computer program comprising computer code which, when run on processing circuitry (510) of a controller (500, 600) configured to select between different available eye-tracking modes where each eyetracking mode has its own gaze accuracy and power consumption requirement, causes the controller (500, 600) to: obtain (S 106) a gaze accuracy requirement of the eye-tracking application; and select (S108) to, during execution of the eye-tracking application, use the eye-tracking mode that, out of the different available eye-tracking modes that meet the gaze accuracy requirement, has lowest power consumption requirement.

19. A computer program product (710) comprising a computer program (720) according to claim 18, and a computer readable storage medium (730) on which the computer program is stored.

Citation Information

Patent Citations

  • Eye tracking system with low-latency and low-power

    EP3559788A1

  • Multimodal eye tracking

    EP3610359A1

  • Eye-tracking module with scenario-based mode switching function

    US20200382717A1

  • Eye detection methods and devices

    US20230102507A1