Electronic device with motion sensor

By setting the reference orientation in the head-mounted device and resetting periodically, the reliability reduction problem caused by motion sensor error is solved, and the stability and user experience of the device are improved.

CN119667935APending Publication Date: 2025-03-21APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411285297.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-08-08
Filing Date
2024-09-13
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

Motion sensors in existing head-mounted devices are prone to errors, resulting in reduced reliability during operation, especially the errors in yaw measurements accumulate over time, which may trigger unexpected responses.

Method used

By setting the reference orientation in the electronic device and based on the motion data obtained by the motion sensor, it is determined that the motion defined relative to the reference orientation meets the criteria, and the reference orientation is periodically reset to reduce the influence of errors.

Benefits of technology

It effectively reduces the negative impact of motion sensor error on operational reliability, prevents unexpected responses caused by errors, and improves the stability and user experience of the head-mounted device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119667935A_ABST
    Figure CN119667935A_ABST
Patent Text Reader

Abstract

The present disclosure relates to a head-mounted device that may include position and motion sensors to determine an orientation of the head-mounted device. Motion sensors may experience errors accumulated over time, sometimes referred to as drift. To mitigate the effects of drift in the motion sensor, the reference orientation of the motion sensor may be reset when desired motion is detected. One or more criteria, such as a total change in angular orientation or a rate of change in angular orientation, may be used to detect satisfactory motion. The reference orientation of the motion sensor may also be reset when no satisfactory motion is detected past a duration of time.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to U.S. Patent Application No. 18 / 798,064 filed on August 8, 2024 and U.S. Provisional Patent Application No. 63 / 584,050 filed on September 20, 2023, which are hereby incorporated by reference in their entirety. Background Art

[0002] The present disclosure relates generally to head mounted devices, and more particularly to head mounted devices with displays.

[0003] Some electronic devices, such as head mounted devices, include motion sensors that detect movement of the electronic device during operation of the electronic device. The motion sensors may have associated errors. If care is not taken, the errors of the motion sensors may reduce reliability when operating the electronic device. Summary of the invention

[0004] An electronic device may include: one or more motion sensors; one or more processors; and a memory storing instructions configured to be executed by the one or more processors, the instructions being used to perform the following operations: setting a baseline orientation to a first baseline; obtaining motion data representing motion of the electronic device from the one or more motion sensors; and resetting the baseline orientation to a second baseline based on determining that motion defined relative to the baseline orientation satisfies a criterion.

[0005] An electronic device may include: one or more motion sensors, which are configured to obtain motion data representing the motion of the electronic device; one or more processors; and a memory, which stores instructions configured to be executed by the one or more processors, which are used to perform the following operations: utilizing an application programming interface (API), receiving an API call associated with a motion posture from an API calling component, and based on determining that the motion meets a criterion, using the API to output a return value identifying the motion posture to the API calling component. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 is a schematic diagram of an exemplary head-mounted device according to some embodiments.

[0007] FIG. 2A to FIG. 2C is a diagram of an illustrative user of a head mounted device according to some embodiments, showing how the user's head posture can be defined by yaw, roll, and pitch, respectively.

[0008] Figure 3A is a top view of an illustrative extended reality environment showing illustrative head movements and virtual content in different locations according to some embodiments.

[0009] Figure 3BAccording to some embodiments Figure 3A A view of an illustrative display in an extended reality environment as perceived by a viewer at a first head position.

[0010] Figure 3C According to some embodiments Figure 3A A view of the illustrative display as perceived by a viewer at a second head position in an extended reality environment.

[0011] Figure 4 is a graph of yaw over time for an example motion sensor, illustrating how measurements can drift over time, according to some embodiments.

[0012] Figure 5A is a graph of yaw over time for an example motion sensor, illustrating how an absolute change in yaw can be used as a trigger for resetting a reference orientation of the motion sensor, according to some embodiments.

[0013] Figure 5B is a graph of yaw over time for an example motion sensor, illustrating how the rate of change of yaw can be used as a trigger for resetting a reference orientation of the motion sensor, according to some embodiments.

[0014] Figure 5C is a graph of yaw variation over time of an exemplary motion sensor, illustrating how a reference orientation of the motion sensor may be reset after a head movement, according to some embodiments.

[0015] Figure 5D is a graph of yaw variation over time for an exemplary motion sensor, showing how a baseline orientation of the motion sensor may be reset if a period of time has passed without satisfactory head movement, according to some embodiments.

[0016] Figure 6 is a schematic diagram of an exemplary head-mounted device according to some embodiments, in which a control circuit sends a rebaseline instruction to a motion sensor.

[0017] Figure 7 is a schematic diagram of an illustrative head-mounted device according to some embodiments, in which a control circuit resets a stored reference orientation.

[0018] Figure 8 is a schematic diagram of an illustrative application programming interface (API) architecture that can be used in a head-mounted device according to some embodiments.

[0019] Fig. 9 is a flowchart illustrating an illustrative method for operating an electronic device with a motion sensor and an associated reference orientation according to some embodiments.

[0020] Fig.10 is a flowchart illustrating an exemplary method for operating an electronic device having a motion sensor and an application programming interface according to some embodiments. DETAILED DESCRIPTION

[0021] Head-mounted devices can display different types of extended reality content for users. Head-mounted devices can display virtual objects perceived at an apparent depth within the user's physical environment. Virtual objects can sometimes be displayed at a fixed location relative to the user's physical environment. For example, consider an example in which the user's physical environment includes a table. A virtual object can be displayed to the user so that the virtual object appears to be resting on the table. As the user moves their head and otherwise interacts with the XR environment, the virtual object remains in the same fixed location on the table (e.g., as if the virtual object were another physical object in the XR environment). This type of content can be referred to as world-locked content (because the position of the virtual object is fixed relative to the user's physical environment).

[0022] Other virtual objects may be displayed at locations defined relative to the head-mounted device or the user of the head-mounted device. First, consider an example of a virtual object displayed at a location defined relative to the head-mounted device. When the head-mounted device moves (e.g., as the user's head rotates), the virtual object remains in a fixed position relative to the head-mounted device. For example, a virtual object may be displayed at a specific distance in front and in the center of the head-mounted device (e.g., in the center of the device field of view or the user's field of view). When the user moves their head to the left and right, their field of view of their physical environment changes accordingly. However, when the user moves their head, the virtual object may remain fixed at a specific distance in the center of the device field of view or the user's field of view (assuming that the gaze direction remains constant). This type of content may be referred to as head-locked content. The head-locked content is fixed in a given position relative to the head-mounted device (and therefore relative to the user's head supporting the head-mounted device). The head-locked content may not be adjusted based on the user's gaze direction. In other words, if the user's head position remains constant and their gaze is directed away from the head-locked content, the head-locked content will remain in the same apparent position.

[0023] Secondly, consider an example of a virtual object displayed at a position defined relative to a portion of the user of the head-mounted device (e.g., relative to the user's torso). This type of content can be referred to as body-locked content. For example, a virtual object can be displayed in front of and to the left of the user's body (e.g., at a position defined by a distance and an angular offset from the forward direction of the user's torso), regardless of which direction the user's head is facing. If the user's body is facing a first direction, the virtual object will be displayed in front of and to the left of the user's body. When facing the first direction, regardless of whether the user rotates their head left and right (to view toward and away from the virtual object), the virtual object can remain at the same fixed position relative to the user's body in the XR environment. However, the virtual object can move within the device field of view or the user's field of view in response to the user rotating their head. If the user turns around and their body faces a second direction opposite to the first direction, the virtual object will be repositioned within the XR environment so that the virtual object is still displayed in front of and to the left of the user's body. When facing the second direction, regardless of whether the user rotates their head left and right (to view toward and away from the virtual object), the virtual object can remain at the same fixed position relative to the user's body in the XR environment.

[0024] In the aforementioned examples, body-locked content is displayed at a fixed position / orientation relative to the user's body, even when the user's body rotates. For example, a virtual object may be displayed at a fixed distance in front of the user's body. If the user is facing north, the virtual object is a fixed distance in front of the user's body (to the north). If the user turns around and faces south, the virtual object is a fixed distance in front of the user's body (to the south).

[0025] Alternatively, the distance offset between the body-locked content and the user can be fixed relative to the user, while the orientation of the body-locked content can remain fixed relative to the physical environment. For example, when the user faces north, the virtual object can be displayed in front of the user's body at a fixed distance from the user. If the user turns around and faces south, the virtual object remains north of the user's body at a fixed distance from the user's body.

[0026] The body locked content is also configured to always maintain gravity or horizontal alignment so that head and / or body changes in roll orientation will not cause the body locked content to move within the XR environment. Translational movement can cause the body locked content to be repositioned within the XR environment to maintain a fixed distance from the user. The subsequent description of body locked content may include both types of body locked content described above.

[0027] exist Figure 1 A schematic diagram of an exemplary head mounted device is shown in FIG. Figure 1 As shown, the head-mounted device 10 (sometimes referred to as an electronic device 10, a system 10, a head-mounted display 10, etc.) may have a control circuit 14. The control circuit 14 may be configured to perform operations in the head-mounted device 10 using hardware (e.g., dedicated hardware or circuits), firmware, and / or software. Software code and other data for performing operations in the head-mounted device 10 are stored on a non-transitory computer-readable storage medium (e.g., a tangible computer-readable storage medium) in the control circuit 14. Software code may sometimes be referred to as software, data, program instructions, instructions, or code. Non-transitory computer-readable storage media (sometimes commonly referred to as memory) may include non-volatile memory such as non-volatile random access memory (NVRAM), one or more hard disk drives (e.g., a disk drive or a solid-state drive), one or more removable flash drives, or other removable media, etc. The software stored on the non-transitory computer-readable storage medium may be executed on a processing circuit of the control circuit 14. The processing circuit may include a dedicated integrated circuit having a processing circuit, one or more microprocessors, a digital signal processor, a graphics processing unit, a central processing unit (CPU), or other processing circuits.

[0028] The head mounted device 10 may include input-output circuitry 20. The input-output circuitry 20 may be used to allow data to be received by the head mounted device 10 from external equipment (e.g., a tethered computer, a portable device such as a handheld device or laptop computer, or other electrical equipment), and to allow a user to provide user input to the head mounted device 10. The input-output circuitry 20 may also be used to gather information about the environment in which the head mounted device 10 is operating. Output components in the circuitry 20 may allow the head mounted device 10 to provide output to the user, and may be used to communicate with external electrical equipment.

[0029] like Figure 1As shown, the input-output circuit 20 may include a display, such as a display 32. The display 32 may be used to display images for the user of the head-mounted device 10. The display 32 may be a transparent display so that the user can observe the physical object through the display while overlaying the computer-generated content on the physical object by presenting the computer-generated image on the display. The transparent display may be formed by a transparent pixel array (e.g., a transparent organic light-emitting diode display panel), or may be formed by a display device that provides images to the user through a beam splitter, a holographic coupler, or other optical coupler (e.g., a display device such as a liquid crystal on a silicon display). Alternatively, the display 32 may be an opaque display that blocks light from the physical object when the user operates the head-mounted device 10. In this type of arrangement, a perspective camera may be used to display the physical object to the user. The perspective camera may capture an image of the physical environment, and the physical environment image may be displayed on the display for the user to view. Additional computer-generated content (e.g., text, game content, other visual content, etc.) may optionally be superimposed on the physical environment image to provide the user with an extended reality environment. When display 32 is opaque, the display may also optionally display the entire computer-generated content (eg, without displaying an image of the physical environment).

[0030] Display 32 may include one or more optical systems (e.g., lenses) that allow a viewer to view images on display 16. A single display 32 may produce images for both eyes, or a pair of displays 16 may be used to display images. In a configuration with multiple displays (e.g., a left-eye display and a right-eye display), the focal length and position of the lenses may be selected so that any gaps that exist between the displays will not be visible to the user (e.g., so that the images of the left and right displays overlap or merge seamlessly). A display module that generates different images for the left and right eyes of a user may be referred to as a stereoscopic display. A stereoscopic display may be able to present two-dimensional content (e.g., a user notification with text) and three-dimensional content (e.g., a simulation of a physical object such as a cube).

[0031] Input-output circuitry 20 may include various other input-output devices for collecting data and user input and for providing output to a user. For example, input-output circuitry 20 may include one or more speakers 34 configured to play audio.

[0032] Input-output circuitry 20 may include one or more cameras 36. Camera 36 may include one or more outward-facing cameras (as an example, when the electronic device is mounted on the user's head, the camera faces the physical environment around the user). Camera 36 may capture visible light images, infrared images, or any other desired type of image. If desired, the camera may be a stereo camera. The outward-facing camera may capture pass-through video for device 10. Camera 22 may also include an inward-facing camera (e.g., for gaze detection).

[0033] Input-output circuitry 20 may include a gaze tracker 40 (sometimes referred to as a gaze tracking system or a gaze tracking camera). Gaze tracker 40 may be used to obtain gaze input from a user during operation of head mounted device 10.

[0034] The gaze tracker 40 may include a camera and / or other gaze tracking system components (e.g., a light source that emits a light beam so that a reflection of the light beam from the user's eye can be detected) to monitor the user's eye. The gaze tracker 40 may face the user's eye and may track the user's gaze. The camera in the gaze tracking system may determine the position of the user's eye (e.g., the center of the user's pupil), may determine the orientation direction of the user's eye (the direction in which the user is looking), may determine the user's pupil size (e.g., such that light modulation and / or other optical parameters, and / or sequential amounts used to spatially adjust one or more of these parameters, and / or areas in which one or more of these optical parameters are adjusted, these areas being adjusted based on pupil size), may be used to monitor the current focus of the lens in the user's eye (e.g., whether the user is focusing on the near field or the far field, which may be used to assess whether the user is daydreaming or thinking strategically or tactically) and / or other gaze information. The camera in the gaze tracking system may sometimes be referred to as an inward-facing camera, a gaze detection camera, an eye tracking camera, a gaze tracking camera, or an eye monitoring camera. If desired, other types of image sensors (eg, infrared and / or visible light LEDs and photodetectors, etc.) may also be used to monitor the user's gaze. The use of a gaze detection camera in the gaze tracker 40 is merely illustrative.

[0035] like Figure 1As shown, the input-output circuit 20 may include a position and motion sensor 38 (e.g., a compass, a gyroscope, an accelerometer, and / or other device for monitoring the position, orientation, and movement of the head-mounted device 10, a satellite navigation system circuit such as a global positioning system circuit for monitoring the user's position, etc.). The gyroscope can measure the orientation and angular velocity of the electronic device. As an example, the electronic device 10 may include: a first gyroscope, the first gyroscope is configured to measure rotation around a first axis; a second gyroscope, the second gyroscope is configured to measure rotation around a second axis orthogonal to the first axis; and a third gyroscope, the third gyroscope is configured to measure rotation around a third axis orthogonal to the first axis and the second axis. The accelerometer can measure the acceleration sensed by the electronic device. As an example, the electronic device 10 may include: a first accelerometer, the first accelerometer is configured to measure acceleration along a first axis; a second accelerometer, the second accelerometer is configured to measure acceleration along a second axis orthogonal to the first axis; and a third accelerometer, the third accelerometer is configured to measure acceleration along a third axis orthogonal to the first axis and the second axis. Multiple sensors may optionally be included in a single sensor package referred to as an inertial measurement unit (IMU). The electronic device 10 may include one or more magnetometers configured to measure a magnetic field. As an example, three magnetometers may be included in an IMU having three accelerometers and three gyroscopes.

[0036] For example, control circuitry 14 may use sensor 38 to monitor the current direction in which the user's head is oriented relative to the surrounding environment (e.g., the user's head pose). In one example, position and motion sensor 38 may include one or more outward-facing cameras (e.g., capturing images of the physical environment around the user). Outward-facing cameras may be used for facial tracking (e.g., by capturing images of the user's chin, mouth, etc. when the device is worn on the user's head), body tracking (e.g., by capturing images of the user's torso, arms, hands, legs, etc. when the device is worn on the user's head), and / or for positioning (e.g., using visual odometry, visual inertial odometry, or other simultaneous localization and mapping (SLAM) techniques). In addition to being used for position and motion sensing, outward-facing cameras may also capture perspective video of device 10.

[0037] The input-output circuitry 20 may include one or more depth sensors 42. Each depth sensor may be a pixelated depth sensor (e.g., configured to measure multiple depths across a physical environment) or a point sensor (configured to measure a single depth in a physical environment). Camera images (e.g., from one of the cameras 36) may also be used for monocular and / or stereo depth estimation. Each depth sensor (whether a pixelated depth sensor or a point sensor) may measure depth using phase detection (e.g., phase detection autofocus pixels) or light detection and ranging (LIDAR). Any combination of depth sensors may be used to determine the depth of physical objects in a physical environment.

[0038] Input-output circuitry 20 may include a haptic output device 44. Haptic output device 44 may include an actuator, such as an electromagnetic actuator, a motor, a piezoelectric actuator, an electroactive polymer actuator, a vibrator, a linear actuator (e.g., a linear resonant actuator), a rotary actuator, an actuator that bends a bendable member, etc. Haptic output device 44 may be controlled to provide any desired vibration pattern.

[0039] If desired, the input-output circuit 20 may also include other sensors and input-output components (e.g., ambient light sensors, force sensors, temperature sensors, touch sensors, buttons, capacitive proximity sensors, light-based proximity sensors, other proximity sensors, strain gauges, gas sensors, pressure sensors, humidity sensors, magnetic sensors, microphones, light-emitting diodes, other light sources, wired and / or wireless communication circuits, etc.).

[0040] The user may sometimes use the position and motion sensor 38 to provide user input to the head mounted device 10. In particular, the position and motion sensor 38 may detect changes in head posture (sometimes referred to as head movement) during operation of the head mounted device 10.

[0041] If desired, changes in the yaw, roll, and / or pitch of the user's head (and, accordingly, the head mounted device) may be interpreted as user input. FIG. 2A to FIG. 2C It shows how yaw, roll, and pitch can be defined for the user's head. FIG. 2A to FIG. 2C User 24 is shown. FIG. 2A to FIG. 2CIn each of the figures, the user faces the Z direction and the Y axis is aligned with the user's height. The X axis can be considered the left-right axis of the user's head, the Z axis can be considered the front-back axis of the user's head, and the Y axis can be considered the vertical axis of the user's head. The X axis can be referred to as extending from the user's left ear to the user's right ear, from the left side of the user's head to the right side of the user's head, etc. The Z axis can be referred to as extending from the back of the user's head to the front of the user's head (e.g., extending to the user's face). The Y axis can be referred to as extending from the bottom of the user's head to the top of the user's head.

[0042] like Figure 2A As shown, yaw can be defined as the rotation around a vertical axis (e.g., FIG. 2A to FIG. 2C The user's head may be rotated in the direction 26 (ie, about the Y axis in the image). As the user's head rotates in the direction 26, the yaw of the user's head changes. Yaw is sometimes alternatively referred to as heading. The user's head may change yaw by rotating it to the right or left about the vertical axis. Rotating to the right about the vertical axis (e.g., increasing yaw) may be referred to as a right head movement. Rotating to the left about the vertical axis (e.g., decreasing yaw) may be referred to as a left head movement.

[0043] like Figure 2B As shown, rolling can be defined as rolling about a front-to-back axis (e.g., FIG. 2A to FIG. 2C The user's head may be rotated about the Z-axis in the direction 28. As the user's head rotates along the direction 28, the roll of the user's head changes. The user's head may change the roll by rotating right or left about the front-to-back axis. Rotating right about the front-to-back axis (e.g., increasing roll) may be referred to as a right head movement. Rotating left about the front-to-back axis (e.g., decreasing roll) may be referred to as a left head movement.

[0044] like Figure 2C As shown, pitch can be defined as the rotation around the left-right axis (e.g., FIG. 2A to FIG. 2C As the user's head rotates along direction 30, the pitch of the user's head changes. The user's head can change pitch by rotating upward or downward about the left-right axis. Rotating downward about the left-right axis (e.g., pitch decreases, rotating upward) Figure 2C The direction 30 in the figure follows the right arrow) can be referred to as downward head movement. Rotation upward about the left-right axis (e.g., pitch increases, along Figure 2C The direction 30 (following the left arrow) can be referred to as an upward head movement.

[0045] It should be understood that the position and motion sensor 38 can directly determine the posture, movement, yaw, pitch, roll, etc. of the head mounted device 10. The position and motion sensor 38 can assume that the head mounted device is mounted on the user's head. Therefore, in this document, references to head posture, head movement, yaw of the user's head, pitch of the user's head, roll of the user's head, etc. can be considered interchangeable with references to device posture, device movement, yaw of the device, pitch of the device, roll of the device, etc.

[0046] At any given time, the position and motion sensor 38 (and / or the control circuit 14) can determine the yaw, roll, and pitch of the user's head. The yaw, roll, and pitch of the user's head can collectively define the orientation of the user's head pose.

[0047] The detected change in head posture (e.g., orientation) can be used as user input to the head mounted device 10. The change in head posture can sometimes be referred to as a motion gesture, a head motion gesture, a head rotation gesture, etc. As an example of a motion gesture, a first head movement in a first direction can be used to trigger the disappearance of some visual content on the display 32 and the presentation of some visual content on the display 32. In other words, the head movement in the first direction can cause new visual content to be presented to the user. A second head movement in a second direction opposite to the first direction can cause the head mounted device 10 to stop presenting the new visual content.

[0048] An example of a change in head posture used as a user input to the head mounted device 10 is FIG. 3A to FIG. 3C Shown in. Figure 3A is a top view of an illustrative extended reality (XR) environment showing head gestures used as user input. Figure 3B and Figure 3C The view perceived by a user viewing the display 32 on the head mounted device 10 is shown. Figure 3B Shows when the user Figure 3A When viewed in the direction 52-1, Figure 3C Shows when the user Figure 3A A view when viewed in direction 52-2.

[0049] At a first time, user 24 may be facing direction 52-1. Virtual object 53-1 may be presented at location 54-1 within the extended reality environment such that the virtual object is viewable to the user looking in direction 52-1. Figure 3B As shown, when the user looks in direction 52-1, virtual object 53-1 is centered within the user's field of view.

[0050] Then, users can Figure 3A52-2. The user may rotate their head in a clockwise direction as indicated by arrow 56 in FIG. 52-2. In other words, the user makes a right head movement and changes the yaw of their head to look in direction 52-2. The right head movement may be interpreted as a motion gesture by the head mounted device 10. The right head movement may cause the virtual object to be presented at location 54-2 within the extended reality environment, making the virtual object viewable to the user looking in direction 52-2. Figure 3C As shown, when the user looks in direction 52-2, virtual object 53-2 is centered within the user's field of view.

[0051] Generally speaking, the virtual objects or content presented at positions 54-1 and 54-2 may include world-locked content, head-locked content, and / or body-locked content. In one possible arrangement, the virtual object at position 54-1 is world-locked content, and the virtual object at position 54-2 is also world-locked content.

[0052] There may be an angle 58 between positions 54-1 and 54-2. In other words, position 54-1 is aligned with direction 52-1 and may be defined as a yaw of 0 degrees. Position 54-2 is aligned with direction 52-2 and may be defined as a yaw of 50 degrees. Therefore, angle 58 is equal to 50 degrees.

[0053] Motion sensors such as gyroscopes or accelerometers can be used to measure orientation (in this case yaw) along a given axis over time. There can be errors associated with the measurements from the gyroscope or accelerometer. The errors can accumulate over time. Figure 4 is a graph of yaw as a function of time. Curve 60 shows the actual (sometimes referred to as true) yaw of the electronic device. In this example, the yaw does not change over time (e.g., the user's head is stationary). Ideally, the measured yaw would follow curve 60. However, errors may cause the measured yaw to deviate from curve 60. Curve 62 shows the yaw measured by the gyroscope in head mounted device 10. As shown in FIG. Figure 4 As shown, curve 62 deviates from curve 60. The difference between curve 62 and curve 60 represents the error in the yaw measurement. The magnitude of the error may tend to increase over time.

[0054] If care is not taken, errors in yaw over time may accidentally trigger unintended responses from the head mounted device 10. Head movements such as Figure 3A The head movements shown are intended to trigger a response from the head mounted device 10 (e.g., a displayed virtual object responds to Figure 3A Errors in yaw measurements may result in false positives when detecting head movement, triggering a response due to head movement even when no head movement has occurred.

[0055] consider Figure 4 where the user's head remains stationary (with 0 degrees of yaw). Figure 3A In the example of FIG. 5 , the user may be presented with virtual object 53-1 at location 54-1 in the extended reality environment. When the yaw remains at 0 degrees, virtual object 53-1 should remain visible in the center of the user's field of view. However, an error in the measured yaw may be interpreted as a head movement to the right, triggering the system to display virtual object 53-2 instead (even though the user's head has not actually rotated).

[0056] To mitigate these types of unintended responses, the reference orientation for yaw may be reset periodically. The reference orientation may sometimes be referred to as a baseline or reference point. The reference orientation is a reference from which yaw changes are measured. Resetting the reference orientation may refer to replacing a previous reference orientation with a currently measured orientation.

[0057] In one possible approach, the reference orientation may always be 0 degrees. All yaws are then measured relative to the reference orientation of 0 degrees. In other words, the reference orientation is fixed in three-dimensional space. However, with this type of arrangement, the error in the yaw measurement (sometimes called drift) increases over time.

[0058] To mitigate the effects of yaw measurement errors, the reference orientation can be reset. For example, consider Figure 4 The curve at t 1 , the measured yaw (as shown by curve 62) has a non-zero value Y 1 (even if the actual yaw is 0 degrees). 1 , you can reset the reference orientation from 0 degrees to Y 1 .Y 1 can be used as a baseline for future yaw changes. In other words, Y 1 Can be used as the new 0 degree reference point for future yaw changes.

[0059] One possible trigger for resetting the reference orientation of the motion sensor (sometimes referred to as resetting the baseline of the motion sensor) is detecting a motion that satisfies at least one criterion. The criterion may be selected to distinguish between a deliberate head movement of the user (e.g., the user intentionally moves the head to the right to trigger a response) and drift associated with the motion sensor. In other words, the criterion may be used to detect a motion gesture used by the user to provide a deliberate input.

[0060] One possible criterion for distinguishing between measured changes in yaw caused by intentional head movement and measured changes in yaw caused by drift is the total measured change in yaw. A threshold value may be selected that is unlikely to be reached by a change in yaw caused by drift. In this example, once the change in yaw exceeds the threshold value, it is assumed that the yaw change is caused by intentional head movement and not by drift. The threshold value may be greater than or equal to 10 degrees, greater than or equal to 20 degrees, greater than or equal to 30 degrees, greater than or equal to 40 degrees, greater than or equal to 50 degrees, greater than or equal to 60 degrees, greater than or equal to 70 degrees, greater than or equal to 80 degrees, greater than or equal to 90 degrees, less than 90 degrees, less than 70 degrees, less than 50 degrees, between 20 and 60 degrees, and the like.

[0061] Consider an example where the threshold is 30 degrees. In this example, a yaw change of 20 degrees (or some other magnitude less than 30 degrees) is not interpreted as a right head movement gesture, and a yaw change of 40 degrees (or some other magnitude greater than 40 degrees) is interpreted as a right head movement gesture.

[0062] Another possible criterion for distinguishing between measured changes in yaw caused by intentional head movement and measured changes in yaw caused by drift is the rate of measured change in yaw. A threshold value may be selected that is unlikely to be reached by a change in yaw caused by drift. In this example, once the yaw changes at a rate greater than the threshold, it is assumed that the change in yaw is caused by intentional head movement and not by drift. The threshold value may be greater than or equal to 2 degrees per second, greater than or equal to 4 degrees per second, greater than or equal to 5 degrees per second, greater than or equal to 8 degrees per second, greater than or equal to 10 degrees per second, less than 10 degrees per second, less than 7 degrees per second, less than 5 degrees per second, and so on.

[0063] Consider an example where the threshold is 5 degrees per second. In this example, a yaw change of 3 degrees per second (or other magnitude less than 5 degrees per second) is not interpreted as a right head movement gesture, and a yaw change of 8 degrees per second (or other magnitude greater than 5 degrees per second) is interpreted as a right head movement gesture.

[0064] Note that the rate of change of yaw may need to exceed the threshold for a given period of time to meet the criteria. For example, the duration may be 1 full second. If the rate of change exceeds the threshold for less than 1 second, the change in yaw will be considered to be caused by drift. If the rate of change exceeds the threshold and the duration exceeds 1 second, the change in yaw will be considered to be caused by head movement. The duration may be greater than or equal to 0.5 seconds, greater than or equal to 1 second, greater than or equal to 2 seconds, greater than or equal to 4 seconds, greater than or equal to 6 seconds, less than 6 seconds, less than 4 seconds, between 1 second and 5 seconds, and so on.

[0065] One or more of the aforementioned criteria may be used, for example, to identify a satisfactory movement (sometimes referred to as intentional movement, deliberate movement, or movement gesture). Optionally, one or more additional criteria may be used to identify when a satisfactory movement stops / ends.

[0066] For example, one possible criterion for identifying the end of a motion gesture is the rate of change of yaw. In this example, once the yaw changes at a rate less than a threshold, the motion is assumed to have ended. The threshold may be greater than or equal to 2 degrees per second, greater than or equal to 4 degrees per second, greater than or equal to 5 degrees per second, greater than or equal to 8 degrees per second, greater than or equal to 10 degrees per second, less than 10 degrees per second, less than 7 degrees per second, less than 5 degrees per second, and so on.

[0067] Another possible trigger for resetting the reference orientation of the motion sensor (sometimes referred to as re-setting the baseline of the motion sensor) is the passage of a period of time without detection of motion that meets at least one criterion. In other words, the reference orientation may be reset periodically even if no qualifying motion is detected to mitigate error accumulation over time. The duration used as a threshold for resetting the reference orientation in the absence of qualifying motion may be greater than 5 seconds, greater than 10 seconds, greater than 20 seconds, greater than 30 seconds, less than 30 seconds, less than 20 seconds, less than 10 seconds, and the like.

[0068] FIG. 5A to FIG. 5D Various examples of how the reference orientation of a motion sensor may be reset are shown. FIG. 5A to FIG. 5D The variation in yaw over time is explicitly shown, but it will be appreciated that the principles can be applied in the same way to roll and pitch.

[0069] Figure 5A The yaw measured over time is shown. 0 , the yaw is 0 degrees. 0 and t 2 The yaw increases from 0 to Y 1 In this case, the absolute magnitude of the yaw change can be used as a criterion for detecting satisfactory head movement. The threshold for satisfactory yaw change can be Y 2 .like Figure 5A As shown, the yaw is at t 1 Exceeding threshold Y 2 Therefore, the head-mounted device can be used at t 1 A desired motion associated with a rightward head movement is detected. In response to detecting the desired motion, a reference orientation of a motion sensor used to measure yaw may be reset.

[0070] The time to reset the reference orientation can be the time when the required motion is detected. Figure 5A For example, at t1 The required motion is detected, so t 1 Yaw (Y 2 ) can be used as a new reference orientation.

[0071] Alternatively, the time to reset the reference orientation may be the time when it is determined that the required motion has ended. Figure 5A Example, the required motion is at t 2 End, so t 2 Yaw (Y 1 ) can be used as a new reference orientation.

[0072] Figure 5B Another example of yaw measured over time is shown. 0 , the yaw is 0 degrees. 0 and t 3 The yaw increases from 0 to Y in a nonlinear manner. 1 In this case, the rate of change of yaw can be used as a criterion for detecting satisfactory head movement. 1 The threshold velocity may be exceeded (when the measured yaw is equal to Y 3 Therefore, the head mounted device can be 1 A desired motion associated with a rightward head movement is detected. In response to detecting the desired motion, a reference orientation of a motion sensor used to measure yaw may be reset.

[0073] The time to reset the reference orientation may be the time to determine that the desired motion has ended. For example, there may be a threshold rate of change in yaw that defines the end of the motion. Figure 5B The measured rate of change is at t 2 falls below the threshold, so t 2 Yaw (Y 2 ) can be used as a new reference orientation (even at t 2 and t 3 A gradual increase in yaw was still measured).

[0074] Figure 5C An example is shown with curve 64 reflecting the actual yaw of the user. Curve 66 reflects the yaw measured when the reference orientation is not reset after the head movement. Curve 68 reflects the yaw measured when the reference orientation is reset after the head movement. Note that curve 68 may be the same as curve 66 until t 1 .

[0075] As shown by curve 64, the actual yaw can be 0 and t 1 and gradually increase between t and t (e.g., the user moves his head to the right). 1and t 2 remain stable between t 2 and t 3 (For example, the user moves his head to the left, from t 0 returns to its starting position).

[0076] When the reference orientation of the motion sensor is not reset after a head movement to the right, the error accumulates over time. As shown by curve 66, the amount by which the measured yaw deviates from the actual yaw increases over time. The deviation between the measured yaw and the actual yaw may result in an incorrect response from the electronic device. For example, in Figure 5C In the process, the user can 2 However, sensor drift can cause the head to move to the left at t 2 Previously, head movement to the left was detected.

[0077] Curve 68 shows the reference orientation at t 1 An example of being reset to 0 degrees. In this scenario, the measured yaw is less likely to cause false alarms associated with drift than when the reference orientation is not reset. As shown in curve 68, the measured yaw can be 2 and t 3 The range is gradually reduced from 0 degrees to -Y 1 Therefore, at t 2 and t 3 The total change in yaw measured between 1 –0=-Y 1 ) can be compared with the curve 64 (e.g., 0-Y 1 =-Y 1 ) is similar.

[0078] Resetting the sensor in response to detected head movement thus improves the performance of the head mounted device. Figure 5C Resetting the sensor between the right head movement and the left head movement may cause a slight change in the position of the virtual content 53-1 relative to the user's physical environment. However, because the virtual content 53-1 is newly presented after the left head movement, the slight change in position (relative to before the right head movement and the left head movement occurred) may not be noticed or have a negative impact on the user experience.

[0079] Figure 5D It shows how the motion sensor is reset after a period of time has passed even if there has been no qualifying motion. Curve 70 reflects the actual yaw of the user (in this case, the head does not move and stays at 0 degrees). Curve 72 reflects the measured yaw when the reference orientation is reset after a threshold duration.

[0080] exist Figure 5D The threshold duration of the timeout functionality is equal to t 1 At t 0 and t 1 Between t and t, the measured yaw (of curve 72) deviates from the actual yaw (of curve 70) due to drift. 1 , at t 0 and t 1 The reference orientation is reset after no qualifying movement is detected for a period of time. Resetting the reference orientation aligns the measured yaw with the actual yaw of 0 degrees. The measured yaw may then begin to drift from the actual yaw again, and may be reset periodically each time a period of time has passed without the presence of qualifying movement.

[0081] There are several options for how to reset the reference orientation of the motion sensor. Figure 6 As shown, one possible arrangement is to reset the reference orientation within the motion sensor itself. Figure 6 A schematic diagram of a gyroscope 38 and control circuit 14 is shown. As shown, the gyroscope 38 can output motion data to the control circuit 14. The control circuit 14 can analyze the motion data to identify a satisfactory motion that meets one or more criteria, identify when the satisfactory motion ends, and / or determine when to reset the reference orientation of the motion sensor. The control circuit 14 can send an instruction (sometimes referred to as a reset instruction or a rebaseline instruction) to the gyroscope 38 to reset the reference orientation of the gyroscope based on determining to reset the reference orientation. The motion data subsequently output from the gyroscope is relative to the new reference orientation.

[0082] As an example, the gyroscope 38 may initially use 0 degrees as a reference orientation. The motion data output from the gyroscope is determined relative to the 0 degree reference orientation. After a head movement to the right (with a yaw of +40 degrees), the reference orientation may be reset. Subsequent motion is then determined relative to a new second reference orientation (which may now be referred to as 0 degrees, even though the difference between the first reference orientation and the second reference orientation is 40 degrees). After a head movement to the left (with a yaw of -30 degrees), the reference orientation may be reset. Subsequent motion is then determined relative to a new third reference orientation (which may now be referred to as 0 degrees, even though the difference between the second reference orientation and the third reference orientation is 30 degrees).

[0083] Figure 6It is also shown how to include a filtering circuit such as filtering circuit 76 in the head mounted device 10. The filtering circuit may be included in the control circuit 14. The filtering circuit 76 may apply a filter to the motion data received from the gyroscope 38. The filter may be, for example, a low pass filter, a band pass filter, a high pass filter, etc. In one arrangement, the filtering circuit 76 may apply a high pass filter to the motion data from the gyroscope 38. The high pass filter may filter out low frequency motion data caused by drift and / or unintentional head movement, thereby improving the detection of intentional head movement. If necessary, the filtering circuit may filter the motion data dynamically. In other words, the filtering circuit may filter the motion data in different ways at different times. The control circuit 14 may use the filtered data to detect head movement (sometimes referred to as head gesture). In some cases, the control circuit may use the raw motion data for other applications. For example, the control circuit may filter the motion data in a first manner to detect motion gestures, and may filter the motion data in a second manner to implement different functions within the head mounted device 10. The raw motion data may therefore be saved by the filtering circuit 76.

[0084] Figure 6 The example of control circuit 14 including filtering circuit 76 is merely illustrative. If desired, filtering circuitry may be included in gyroscope 38 itself (so that filtered motion data is output from the gyroscope). The gyroscope may optionally output two sets of data: unfiltered data (which may optimize the accuracy of the angular orientation at a given point in time) and filtered data (which may optimize the accuracy of detecting an intended head gesture).

[0085] exist Figure 7 An alternative approach is shown in the schematic diagram of . As shown, the gyroscope 38 can output motion data to the control circuit 14. The control circuit 14 can analyze the motion data to identify a compliant motion that meets one or more criteria, identify when the compliant motion ends, and / or determine when to reset the reference orientation of the motion sensor. The control circuit 14 can use the motion data to evaluate the motion relative to a stored reference orientation 74 (e.g., stored in a memory). With this scheme, the gyroscope 38 can always output motion data relative to a first reference orientation (e.g., 0 degrees). The control circuit 14 can store a reference orientation that (possibly) is different from the first reference orientation.

[0086] As an example, the control circuit 14 may initially store 0 degrees as the stored reference orientation 74. Determine the motion relative to the 0 degree reference orientation. After a head movement to the right (yaw +40 degrees), the reference orientation may be reset by replacing the stored reference orientation with a new 40 degree value. Subsequent motion data is then used to evaluate the motion relative to the stored 40 degree reference orientation. After a head movement to the left (with -30 degree yaw), the reference orientation may be reset by replacing the stored reference orientation with a new value of 10 degrees. Subsequent motion data is then used to evaluate the motion relative to the stored 10 degree reference orientation.

[0087] If necessary, Figure 6 Filter circuits of the type shown and discussed in the Figure 7 gyroscope 38 or control circuit 14.

[0088] Figure 8 is a schematic diagram of an exemplary application programming interface (API) architecture that may be used in head mounted device 10. The API architecture includes an API implementing component 82 (e.g., an operating system, library, device driver, API, application, software, or other module) that implements API 84. Each of API implementing component 82, API 84, and API calling component 86 may be considered part of control circuitry 14.

[0089] The API 84 may specify at least one calling convention that specifies how functions in the API-implementing component receive parameters from the API-calling component and how functions return results to the API-calling component. The API-calling component 86 (e.g., an operating system, a library, a device driver, an API, an application, software, or other module) makes API calls 88 through the API 84 to access and use features of the API-implementing component 82 specified by the API 84. The API-implementing component 82 may return values ​​90 to the API-calling component 86 through the API 84 in response to the API call.

[0090] The API calling component 86 may make an API call 88 requesting motion data (e.g., information about the yaw, roll, and / or pitch of the head mounted device). In one possible arrangement, these types of API calls requesting motion data may cause the API 84 to return only raw motion data from one or more motion sensors in the electronic device. However, this may require the API calling component to subsequently analyze the raw motion data to identify head motion gestures.

[0091] In another possible arrangement, an API call may be used to request notification when a certain type of motion gesture occurs (e.g., a head movement to the right or a head movement to the left). In this case, the return value 90 output by the API may simply be a notification that a certain type of head movement has occurred. The return value may identify a possible head movement, the beginning of a head movement, an ongoing head movement, the end of a head movement, or simply a head movement that has occurred (without further details about the start / end of the movement). This may simplify the operation of the API calling component in the case where the API calling component uses head motion gestures and does not require precise angular orientation information.

[0092] exist Figure 8 In the case of an arrangement, the API calling component 86 can still optionally request more detailed motion data, such as raw motion data, rate of change of angular orientation, etc.

[0093] Fig. 9 1 is a flow chart showing an illustrative method for operating an electronic device having a motion sensor. At block 102, a reference orientation associated with the motion sensor is set as a first baseline. Next, at block 104, the electronic device (e.g., control circuit 14) may obtain motion data representing the motion of the electronic device from the motion sensor. As an example, the motion may be a motion gesture including a rotational motion. The motion data may optionally be filtered (e.g., by filtering circuit 76) in any desired manner (e.g., using a high pass filter).

[0094] During operation of block 106, the electronic device may reset the reference orientation to a second baseline based on determining that the motion defined relative to the reference orientation satisfies a criterion. The criterion may include a total change in the measured angular orientation (e.g., yaw) exceeding a threshold. The criterion may include a rate of change in the measured angular orientation exceeding a threshold (optionally within a given duration). The criterion may be used to detect a motion gesture, such as a rotational motion gesture. The criterion may be used to determine that a motion gesture has ended.

[0095] Resetting the reference orientation to the second baseline may include sending a reset instruction to one or more motion sensors (e.g., from a Figure 6 Alternatively, the control circuit may store the reference orientation and may replace the stored reference orientation when the reference orientation is reset (e.g., as shown in FIG. Figure 7 shown).

[0096] Resetting the reference orientation at block 106 may include resetting the orientation of one motion sensor (e.g., a motion sensor that detects motion) or multiple motion sensors (e.g., a motion sensor that detects motion and other motion sensors). Consider an example in which the electronic device 10 includes a first gyroscope configured to measure rotational motion about a first axis (e.g., yaw), a second gyroscope configured to measure rotational motion about a second axis orthogonal to the first axis (e.g., roll), and a third gyroscope configured to measure rotational motion about a third axis orthogonal to the first axis and the second axis (e.g., pitch). The first gyroscope may detect motion that meets the criteria. In one arrangement, the reference orientation of only the first gyroscope is reset in response to the first gyroscope detecting a motion that meets the requirements. In another possible arrangement, the reference orientations of the first gyroscope, the second gyroscope, and the third gyroscope are all reset in response to the first gyroscope detecting a motion that meets the requirements. In other words, detecting a motion that meets the requirements using a given motion sensor may reset the reference orientation for the given motion sensor and any other additional desired motion sensors.

[0097] Next, during the operation of block 108, the electronic device may present content using one or more output devices based on determining that the motion defined relative to the reference orientation satisfies the criteria. As previously presented, the criteria may be used to detect motion gestures. Therefore, content may be presented based on detecting the motion gestures.

[0098] The content presented at block 108 may include visual content presented using display 32, audio content presented using speaker 34, tactile output presented using tactile output device 44, and / or any other desired type of content. The content may include augmented reality content, notifications, applications, and the like.

[0099] The operations of block 108 may include selecting a location for the content based on the motion data (as shown in block 110) and presenting the content at the location using the display (as shown in block 112). In other words, the presented content may be positioned at a particular angular orientation relative to the head mounted device (based on the motion data regarding the angular orientation collected by the one or more motion sensors).

[0100] Also note that the content presented at block 108 may serve as feedback to the user that a motion gesture has been detected. For example, if a head movement to the right is detected as an intended motion gesture, a rightward arrow may be displayed on display 32 to identify the head motion gesture detected by device 10. As another example, a chime may be played using speaker 34 to indicate that a head motion gesture has been detected.

[0101] During the operation of block 114, when the reference orientation is set as the second baseline (from block 106), the electronic device can obtain motion data representing additional motion of the electronic device. During the operation of block 116, based on determining that the additional motion defined relative to the reference orientation meets the criteria, the electronic device can reset the reference orientation to a third baseline. In other words, each time a qualifying motion is detected (satisfies the criteria), the reference orientation can be reset to a new baseline.

[0102] During the operation of block 118, the electronic device may stop presenting content using one or more output devices. Additional movement from block 116 may cause the electronic device to stop presenting content. As an example, a rightward head movement at block 104 may cause the electronic device to present visual content. Then, a leftward head movement at block 116 may cause the electronic device to stop presenting visual content at block 118.

[0103] During operation of block 120, the electronic device may reset the reference orientation to a fourth baseline in response to a duration of time having passed without motion satisfying the criteria. The duration may be equal to 10 seconds, greater than 5 seconds, between 5 seconds and 30 seconds, etc. Periodically resetting the reference orientation in this manner may prevent drift in the motion sensor from accumulating over time.

[0104] As an example, a gyroscope in a head mounted device may be used to measure yaw. When the user has a yaw of 0 degrees, the reference orientation may be set to a first baseline of 0 degrees at box 102. Motion data representing a head movement to the right may be obtained from the gyroscope at box 104. At box 106, it may be determined that the motion data identifies a movement that meets the requirements (e.g., because the total change in yaw exceeds a threshold and / or the rate of change of yaw exceeds a threshold). Therefore, the reference orientation may be reset to a second baseline. After the head movement to the right is completed, the reference orientation may optionally be reset to the second baseline. As an example, when the measured yaw is equal to 50 degrees and after the head movement to the right is completed, a yaw of 50 degrees may be used as a new baseline.

[0105] At block 110, the electronic device may select a location for visual content based on the motion data. Then, at block 112, the content may be presented at the selected location using the display 32. The visual content may be a notification, an application, or other desired content such as augmented reality content.

[0106] Next, when the reference orientation is set to the second baseline, motion data representing a left head movement from the gyroscope can be obtained at box 114. At box 116, it can be determined that the motion data identifies additional movements that meet the requirements (e.g., because the total change in yaw exceeds a threshold and / or the rate of change of yaw exceeds a threshold). Therefore, the reference orientation can be reset to a third baseline. After the left head movement is completed, the reference orientation can be optionally reset to the second baseline. As an example, when the measured yaw is equal to -45 degrees and after the left head movement is completed, the -45 degree yaw can be used as a new baseline. At box 118, the left head movement can cause the electronic device to stop presenting content from box 112.

[0107] Next, at block 120, the reference orientation may be reset to a fourth baseline based on the passage of a 10 second timeout period without detecting motion that satisfies the criteria. Consider an example where the measured yaw drifts from the third baseline to 3 degrees within the 10 second timeout period. At block 120, the 3 degree yaw at the end of the timeout period may be used as the new baseline.

[0108] Fig.10 1 is a flow chart showing an illustrative method for operating an electronic device having a motion sensor and an application programming interface. During operation of block 122, an application programming interface (API) 84 may receive an API call associated with a motion gesture. The API call may be received from an API calling component 86 (which may be an application or other desired component). The API call may be associated with a motion gesture. For example, the API call may be a request for notification when a particular motion gesture occurs (e.g., a head movement to the right, a head movement to the left, an upward head movement, a downward head movement, etc.). The API call may specify whether the motion gesture requires a change in yaw, pitch, and / or roll.

[0109] During operation of block 124, upon determining that the motion satisfies the criteria (e.g., detecting the motion gesture identified in the API call), the API may output a return value identifying the motion gesture to the API calling component. Any of the above criteria may be used (e.g., total change in angular orientation, rate of change in angular orientation, etc.). The return value may identify a possible motion gesture, the beginning of a motion gesture, a motion gesture in progress, and / or the end of a motion gesture.

[0110] According to one embodiment, an electronic device is provided, which includes one or more motion sensors, one or more processors, and a memory storing instructions configured to be executed by the one or more processors, the instructions being used to perform the following operations: setting a baseline orientation as a first baseline; obtaining motion data representing motion of the electronic device from the one or more motion sensors; and resetting the baseline orientation to a second baseline based on determining that a motion defined relative to the baseline orientation satisfies a criterion.

[0111] According to another embodiment, determining that the movement defined relative to the reference orientation satisfies the criterion includes detecting a movement gesture, the criterion is satisfied in response to completion of the movement gesture, and the movement gesture is a rotational movement gesture.

[0112] According to another embodiment, the criterion is met in response to the total amount of movement exceeding a threshold amount.

[0113] According to another embodiment, the criterion is met in response to the magnitude of the rotation rate exceeding a threshold magnitude.

[0114] According to another embodiment, the instructions include instructions for performing the following operations: when the baseline orientation is set to a second baseline, obtaining motion data representing additional motion of the electronic device from one or more motion sensors; resetting the baseline orientation to a third baseline based on determining that additional motion defined relative to the baseline orientation meets a criterion; and resetting the baseline orientation to a fourth baseline based on a time duration without motion meeting the criterion, the time duration being greater than 5 seconds.

[0115] According to another embodiment, the one or more motion sensors include an inertial measurement unit, a gyroscope, an accelerometer, or a magnetometer.

[0116] According to another embodiment, the electronic device includes one or more output devices, and the instructions include instructions for presenting content using the one or more output devices based on determining that movement defined relative to a reference orientation satisfies a criterion, wherein the one or more output devices include a speaker, a tactile output device, or a display.

[0117] According to another embodiment, the instructions include instructions for filtering motion data representing motion of the electronic device, filtering the motion data includes applying a high pass filter to the motion data.

[0118] According to one embodiment, a method for operating an electronic device including one or more motion sensors is provided, the method comprising: setting a reference orientation to a first baseline; obtaining motion data representing motion of the electronic device from the one or more motion sensors; and resetting the reference orientation to a second baseline by determining that a criterion is satisfied based on motion defined relative to the reference orientation.

[0119] According to another embodiment, determining that the movement defined relative to the reference orientation satisfies the criterion includes detecting a movement gesture, the criterion is satisfied in response to completion of the movement gesture, and the movement gesture is a rotational movement gesture.

[0120] According to another embodiment, the criterion is met in response to the total amount of movement exceeding a threshold amount.

[0121] According to another embodiment, the criterion is met in response to the magnitude of the rotation rate exceeding a threshold magnitude.

[0122] According to another embodiment, the method includes: when the baseline orientation is set to a second baseline, obtaining motion data representing additional motion of the electronic device from one or more motion sensors; resetting the baseline orientation to a third baseline based on determining that additional motion defined relative to the baseline orientation meets a criterion; and resetting the baseline orientation to a fourth baseline based on a time duration without motion meeting the criterion, the time duration being greater than 5 seconds.

[0123] According to another embodiment, the one or more motion sensors include an inertial measurement unit, a gyroscope, an accelerometer, or a magnetometer.

[0124] According to another embodiment, the electronic device includes one or more output devices, and the method includes instructions for presenting content using the one or more output devices based on determining that movement defined relative to a reference orientation satisfies a criterion, the one or more output devices including a speaker, a tactile output device, or a display.

[0125] According to another embodiment, the method includes filtering motion data representing motion of the electronic device, filtering the motion data includes applying a high pass filter to the motion data.

[0126] According to one embodiment, a non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a provided electronic device including one or more motion sensors, the one or more programs including instructions for performing the following operations: setting a baseline orientation to a first baseline; obtaining motion data representing motion of the electronic device from one or more motion sensors; and resetting the baseline orientation to a second baseline based on determining that motion defined relative to the baseline orientation satisfies a criterion.

[0127] According to another embodiment, determining that the movement defined relative to the reference orientation satisfies the criterion includes detecting a movement gesture, the criterion is satisfied in response to completion of the movement gesture, and the movement gesture is a rotational movement gesture.

[0128] According to another embodiment, the criterion is met in response to the total amount of movement exceeding a threshold amount.

[0129] According to another embodiment, the criterion is met in response to the magnitude of the rotation rate exceeding a threshold magnitude.

[0130] According to another embodiment, the instructions include instructions for performing the following operations: when the baseline orientation is set to a second baseline, obtaining motion data representing additional motion of the electronic device from one or more motion sensors; resetting the baseline orientation to a third baseline based on determining that additional motion defined relative to the baseline orientation meets a criterion; and resetting the baseline orientation to a fourth baseline based on a time duration without motion meeting the criterion, the time duration being greater than 5 seconds.

[0131] According to another embodiment, the one or more motion sensors include an inertial measurement unit, a gyroscope, an accelerometer, or a magnetometer.

[0132] According to another embodiment, the electronic device includes one or more output devices, and the instructions include instructions for presenting content using the one or more output devices based on determining that movement defined relative to a reference orientation satisfies a criterion, wherein the one or more output devices include a speaker, a tactile output device, or a display.

[0133] According to another embodiment, the instructions include instructions for filtering motion data representing motion of the electronic device, filtering the motion data includes applying a high pass filter to the motion data.

[0134] The foregoing is merely illustrative and various modifications may be made to the embodiments described. The foregoing embodiments may be implemented independently or in any combination.

Claims

1. An electronic device, comprising: one or more motion sensors; one or more processors; and a memory storing instructions configured to be executed by the one or more processors, the instructions being used to: Set the base orientation to the first base line; obtaining motion data representing motion of the electronic device from the one or more motion sensors; as well as Based on determining that the motion defined relative to the reference orientation satisfies a criterion, the reference orientation is reset to a second baseline.

2. An electronic device according to claim 1, wherein determining that the movement defined relative to the reference orientation satisfies the criterion includes detecting a motion gesture, wherein the criterion is satisfied in response to completion of the motion gesture, and wherein the motion gesture is a rotational motion gesture.

3. An electronic device according to claim 1, wherein the criterion is met in response to the total amount of the motion exceeding a threshold amount. 4 . The electronic device of claim 1 , wherein the criterion is met in response to a magnitude of the rotation rate exceeding a threshold magnitude.

5. The electronic device according to claim 1, wherein the instructions further comprise instructions for performing the following operations: obtaining, from the one or more motion sensors, motion data representing additional motion of the electronic device when the base orientation is set to the second baseline; resetting the reference orientation to a third baseline based on determining that the additional motion defined relative to the reference orientation satisfies the criterion; as well as The reference orientation is reset to a fourth baseline based on a duration of time elapsed without movement satisfying the criterion, wherein the duration is greater than 5 seconds. 6 . The electronic device of claim 1 , wherein the one or more motion sensors comprise an inertial measurement unit, a gyroscope, an accelerometer, or a magnetometer.

7. The electronic device according to claim 1, further comprising: one or more output devices, wherein the instructions further include instructions for: Based on determining that the motion defined relative to the reference orientation satisfies the criterion, content is presented using the one or more output devices, wherein the one or more output devices include a speaker, a haptic output device, or a display.

8. The electronic device according to claim 1, wherein the instructions further comprise instructions for performing the following operations: The motion data representing the motion of the electronic device is filtered, wherein filtering the motion data comprises applying a high pass filter to the motion data.

9. A method of operating an electronic device including one or more motion sensors, the method comprising: Set the base orientation to the first base line; obtaining motion data representing motion of the electronic device from the one or more motion sensors; as well as Based on determining that the motion defined relative to the reference orientation satisfies a criterion, the reference orientation is reset to a second baseline.

10. The method of claim 9, wherein determining that the motion defined relative to the reference orientation satisfies the criterion comprises detecting a motion gesture, wherein the criterion is satisfied in response to completion of the motion gesture, and wherein the motion gesture is a rotational motion gesture.

11. The method of claim 9, wherein the criterion is met in response to a total amount of the motion exceeding a threshold amount.

12. The method of claim 9, wherein the criterion is met in response to a magnitude of the rotation rate exceeding a threshold magnitude.

13. The method according to claim 9, further comprising: obtaining, from the one or more motion sensors, motion data representing additional motion of the electronic device when the base orientation is set to the second baseline; resetting the reference orientation to a third baseline based on determining that the additional motion defined relative to the reference orientation satisfies the criterion; as well as The reference orientation is reset to a fourth baseline based on a duration of time elapsed without movement satisfying the criterion, wherein the duration is greater than 5 seconds.

14. The method of claim 9, wherein the one or more motion sensors comprise an inertial measurement unit, a gyroscope, an accelerometer, or a magnetometer.

15. The method of claim 9, wherein the electronic device comprises one or more output devices, and wherein the method further comprises: Based on determining that the motion defined relative to the reference orientation satisfies the criterion, content is presented using the one or more output devices, wherein the one or more output devices include a speaker, a haptic output device, or a display.

16. The method according to claim 9, further comprising: The motion data representing the motion of the electronic device is filtered, wherein filtering the motion data comprises applying a high pass filter to the motion data.

17. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device including one or more motion sensors, wherein the one or more programs include instructions for: Set the base orientation to the first base line; obtaining motion data representing motion of the electronic device from the one or more motion sensors; as well as Based on determining that the motion defined relative to the reference orientation satisfies a criterion, the reference orientation is reset to a second baseline.

18. A non-transitory computer-readable storage medium according to claim 17, wherein determining that the movement defined relative to the reference orientation satisfies the criterion includes detecting a motion gesture, wherein the criterion is satisfied in response to completion of the motion gesture, and wherein the motion gesture is a rotational motion gesture.

19. The non-transitory computer-readable storage medium of claim 17, wherein the criterion is met in response to a total magnitude of the motion exceeding a threshold magnitude.

20. The non-transitory computer-readable storage medium of claim 17, wherein the criterion is met in response to a magnitude of the rotation rate exceeding a threshold magnitude.