Application awakening method and device, computer equipment and storage medium
By using wearable devices to detect the user's head movement to generate a wake -up instructions, the problem of low voice awakening application accuracy and poor privacy have been solved, and higher wake -up accuracy and privacy protection are achieved.
Patent Information
- Application Number
- CN202410479383.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-19
- Publication Date
- 2025-01-28
AI Technical Summary
In the prior art, the accuracy of voice wake-up applications is low, and the user's voice is monitored in real time, making the privacy of poor.
To detect the user's head movement by the angular speed data of wearable devices, to generate instructions to awaken voice interaction applications, and avoid real -time voice monitoring.
Improved the accuracy of voice interaction applications, protect user privacy, and reduce equipment power consumption.
Smart Images

Figure CN119376798A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method, device, computer equipment and storage medium for waking up an application. Background Art
[0002] In recent years, smart devices with voice assistants have gradually entered people's lives. At present, voice operation is mainly achieved by embedding voice wake-up chips in smart devices. Before using voice operations, such devices generally require users to say specific wake-up words to wake up the voice assistant. In daily life applications, other sounds in the external environment may also mistakenly wake up the voice assistant. For example, when playing a TV series, the voices of the characters in the play may mistakenly wake up the voice assistant. In addition, when the above method is applied, it is necessary to monitor the user's voice in real time and collect the user's voice data, which has poor privacy.
[0003] Therefore, how to improve the accuracy of waking up applications and protect user privacy has become a technical problem that technical personnel in this field urgently need to solve. Summary of the invention
[0004] In view of this, the present invention provides a method, apparatus, computer device and storage medium for waking up an application to solve the problems of low accuracy in waking up an application and poor user privacy in the related art.
[0005] In a first aspect, the present invention provides a method for waking up an application, which is applied to a wearable device, and the method comprises:
[0006] Detecting the movement of the user's head according to the angular velocity data of the wearable device;
[0007] When it is detected that the movement of the user's head meets a preset condition, a first instruction is generated; the first instruction is used to wake up a target voice interaction application, and the target voice interaction application is used to interact with the user based on the user's voice.
[0008] In an optional implementation manner, after generating the first instruction, the method further includes:
[0009] The first instruction is sent to a target terminal to wake up a target voice interaction application on the target terminal.
[0010] In an optional implementation, before detecting the movement of the user's head according to the angular velocity data of the wearable device, the method further includes:
[0011] Determining whether the user's head is in motion according to the acceleration data of the wearable device;
[0012] When it is detected that the user's head is in a moving state, an instruction is generated to trigger detection of the movement of the user's head according to the angular velocity data of the wearable device.
[0013] In an optional implementation, before determining whether the user's head is in motion according to the acceleration data of the wearable device, the method further includes:
[0014] Determining whether the wearable device is worn correctly by using a sensor;
[0015] When the wearable device is worn correctly, start acquiring acceleration data of the wearable device.
[0016] In an optional implementation, determining whether the user's head is in motion according to the acceleration data of the wearable device includes:
[0017] When the acceleration data is greater than a first preset threshold or less than a second preset threshold, determining that the user's head is in motion;
[0018] When the acceleration data is greater than or equal to the second preset threshold and less than or equal to the first preset threshold, it is determined that the user's head is not in motion.
[0019] In an optional implementation, the preset condition is related to the angle of movement of the user's head in the direction of gravity during a collection time period; the angle is determined based on the Euler angle of movement of the user's head in the direction of gravity collected during the collection time period.
[0020] In an optional implementation, the method further includes:
[0021] Normalizing the acceleration data to obtain normalized acceleration;
[0022] determining a first Euler angle according to the normalized acceleration;
[0023] Integrating the angular velocity data to obtain a second Euler angle;
[0024] The first Euler angle and the second Euler angle are fused to obtain the Euler angle of the user's head moving in the direction of gravity.
[0025] In an optional implementation, the wearable device is configured with an accelerometer and a gyroscope, the accelerometer is used to obtain acceleration data of the wearable device, and the gyroscope is used to obtain angular velocity data of the wearable device.
[0026] In a second aspect, the present invention provides a device for waking up an application, which is applied to a wearable device, and the device includes:
[0027] A first processing module, configured to detect a movement of a user's head according to angular velocity data of the wearable device;
[0028] The second processing module is used to generate a first instruction when it is detected that the movement of the user's head meets a preset condition; the first instruction is used to wake up a target voice interaction application, and the target voice interaction application is used to interact with the user based on the user's voice.
[0029] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the method for waking up an application in the above-mentioned first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0030] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method for waking up an application according to the first aspect or any corresponding embodiment thereof.
[0031] The technical solution provided by the present invention has the following technical effects:
[0032] The embodiment of the present invention wakes up the voice interaction application through the movement of the user's head, detects the movement of the user's head, and generates an instruction to wake up the target voice interaction application when it is detected that the movement of the user's head meets the preset conditions. The voice interaction application does not need to continuously monitor the user, nor does the user need to say a specific wake-up word to wake up the voice interaction application, effectively avoiding other sounds in the external environment from mistakenly waking up the voice interaction application. Compared with the methods in the related art, the technical solution of the present invention can effectively protect user privacy and improve the accuracy of waking up the voice interaction application. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0034] Figure 1 is a flowchart of a method for waking up an application according to an embodiment of the present invention;
[0035] Figure 2 is a flowchart of another method for waking up an application according to an embodiment of the present invention;
[0036] Figure 3 is a flowchart of another method for waking up an application according to an embodiment of the present invention;
[0037] Figure 4 is a schematic diagram of head movement direction according to an embodiment of the present invention;
[0038] Figure 5 is a schematic diagram of the overall flow of a method for waking up an application according to an embodiment of the present invention;
[0039] Figure 6 is a structural block diagram of a device for waking up an application according to an embodiment of the present invention;
[0040] Figure 7 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0041] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0042] At present, the relevant technology mainly realizes voice operation by embedding a voice wake-up chip in smart devices. The voice wake-up chip needs to be in standby mode to monitor the user's voice in real time, which consumes a lot of power and has poor privacy. Before using voice operation, such devices generally need to use specific wake-up words (for example: Hi, Siri, Xiaodu Xiaodu, Xiaoai classmate, etc.) to wake up the voice assistant. Affected by other sounds in the external environment, the voice assistant may be awakened even if the user does not say a specific wake-up word. For example, when playing a TV series, the voice assistant may be mistakenly awakened by the voice of the characters in the play, and will immediately say the wake-up word (for example: I am here, here) after waking up, affecting the user experience. Affected by the network status, when encountering network jitter or congestion, the server may not be able to perform voice recognition in time, resulting in untimely device wake-up.
[0043] Therefore, the embodiments of the present invention provide a method, apparatus, computer device and storage medium for waking up an application to solve the above problems, improve the accuracy of waking up the application and protect user privacy.
[0044] According to an embodiment of the present invention, a method embodiment for waking up an application is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0045] Figure 1 4 is a flow chart of a method for waking up an application according to an embodiment of the present invention.
[0046] like Figure 1 As shown, a method for waking up an application provided in an embodiment of the present invention includes:
[0047] S101: Detecting the movement of the user's head according to the angular velocity data of the wearable device.
[0048] In this embodiment, the movement of the user's head can be detected by the state machine. When the angular velocity data of the wearable device is greater than a preset threshold range, it is determined that the user's head has a rotational movement.
[0049] In this embodiment, wearable devices include but are not limited to head-mounted devices, such as headphones, Bluetooth headphones, Bluetooth glasses, smart glasses, XR (VR / AR / MR head-mounted display) devices, bone conduction headphones, bone conduction glasses, smart helmets, smart headbands, etc.; non-head-mounted devices, such as: smart watches, etc.
[0050] In this embodiment, when the wearable device is a non-head-mounted device, the user's movements can be detected based on the angular velocity data of the wearable device, images of the user's limbs, etc. For example, when movements such as wrist movement and fist clenching are detected, instructions for waking up the target voice interaction application are generated / not generated.
[0051] S102: When it is detected that the movement of the user's head meets a preset condition, a first instruction is generated.
[0052] In this embodiment, the first instruction is used to wake up the target voice interaction application, and the target voice interaction application is used to interact with the user based on the user's voice. As an example, the detected movement of the user's head is one of the following: nodding movement, lowering movement, and raising movement.
[0053] The preset condition is used to measure whether the movement of the user's head is an action that can trigger the generation of the first instruction.
[0054] In this embodiment, the preset condition may be when the movement of the user's head is a nodding movement. In this embodiment, the module for generating the first instruction running on the wearable device may send the first instruction to the target voice interaction application.
[0055] In this embodiment, steps S101-S102 may be executed cyclically at a relatively high frequency to achieve the effect of detecting the user's head movements in real time, generating the first instruction in a timely manner, and waking up the target voice interaction application in a timely manner.
[0056] The embodiment of the present invention wakes up the voice interaction application through the movement of the user's head, detects the movement of the user's head, and generates an instruction to wake up the target voice interaction application when it is detected that the movement of the user's head meets the preset conditions. The voice interaction application does not need to continuously monitor the user, nor does the user need to say a specific wake-up word to wake up the voice interaction application, effectively avoiding other sounds in the external environment from mistakenly waking up the voice interaction application. Compared with the methods in the related art, the technical solution of the present invention can effectively protect user privacy and improve the accuracy of waking up the voice interaction application.
[0057] Figure 2 4 is a flow chart of another method for waking up an application according to an embodiment of the present invention.
[0058] In one possible implementation, Figure 2 As shown, the method includes:
[0059] S201: Detect the movement of the user's head according to the angular velocity data of the wearable device. For details, refer to the relevant description of S101, which will not be repeated here.
[0060] S202: When it is detected that the movement of the user's head meets a preset condition, a first instruction is generated. For details, refer to the relevant description of S102, which will not be repeated here.
[0061] After generating the first instruction, the method further includes:
[0062] S203: Sending a first instruction to a target terminal to wake up a target voice interaction application on the target terminal.
[0063] In this embodiment, the wearable device can be configured with a Bluetooth chip. When it is detected that the movement of the user's head meets the preset conditions, the Bluetooth chip can send the generated first instruction (or motion detection result) to the paired target terminal to wake up the target voice interaction application on the target terminal.
[0064] In this embodiment, when the target terminal receives the first instruction, it will wake up the target voice interaction application on the target terminal, such as a voice assistant. After the target voice interaction application is awakened, it will monitor the user's voice and wait for the user's voice instruction. The user's voice instruction is used to instruct the target terminal to perform the corresponding operation according to the voice instruction. Within the preset time range, when the target terminal receives the user's voice instruction, the target terminal performs the corresponding operation according to the voice instruction. Within the preset time range, when the target terminal does not receive the user's voice instruction, the target voice interaction application enters a dormant state. In this embodiment, the preset time can be set and modified according to actual needs. Considering that the reaction time of ordinary people is within 10s-60s, and the user also has a period of time to speak, the preset time can be set between 30s-60s. For example, when the preset time is set to 40s, after the voice interaction application on the target terminal is awakened, it receives the user's voice instruction within 40s, such as: turn up the volume, then the target terminal executes the voice instruction and turns up the volume.
[0065] Figure 3 4 is a flow chart of another method for waking up an application according to an embodiment of the present invention.
[0066] In one possible implementation, Figure 3 As shown, before detecting the movement of the user's head according to the angular velocity data of the wearable device, the following steps are also included:
[0067] S301: Determine whether the user's head is in motion according to the acceleration data of the wearable device.
[0068] In this embodiment, it is considered that if the user's head is not in motion, it is meaningless to detect the movement of the user's head according to the angular velocity data of the wearable device. At the same time, in order to reduce the overall power consumption of the wearable device, in this embodiment, before detecting the movement of the user's head according to the angular velocity data of the wearable device, it is possible to preferentially determine whether the user's head is in motion according to the acceleration data of the wearable device. In this embodiment, after the wearable device is put on, it is started to determine whether the user's head is in motion according to the acceleration data of the wearable device.
[0069] S302: When it is detected that the user's head is in motion, generate an instruction for triggering detection of the movement of the user's head according to the angular velocity data of the wearable device.
[0070] In this embodiment, when it is detected that the user's head is in a stationary state, no instruction is generated to trigger the detection of the movement of the user's head according to the angular velocity data of the wearable device. When it is detected that the user's head is in a stationary state, it is not necessary to detect the movement of the user's head according to the angular velocity data of the wearable device, which can effectively reduce power consumption.
[0071] In this embodiment, steps S301-S302 are repeatedly performed until it is detected that the user's head is in motion, and an instruction is generated to trigger detection of the movement of the user's head according to the angular velocity data of the wearable device.
[0072] S303: Detect the movement of the user's head according to the angular velocity data of the wearable device. For details, refer to the relevant description of S101, which will not be repeated here.
[0073] S304: When it is detected that the movement of the user's head meets the preset condition, a first instruction is generated. For details, refer to the relevant description of S102, which will not be repeated here.
[0074] In an optional implementation, before determining whether the user's head is in motion according to the acceleration data of the wearable device at S301, the method for waking up the application further includes:
[0075] Use sensors to determine whether the wearable device is worn correctly.
[0076] When the wearable device is worn correctly, start obtaining the acceleration data of the wearable device.
[0077] In this embodiment, before executing S301, it is also necessary to determine whether the wearable device is worn correctly through sensors such as distance sensors, skin sensors or optical sensors. Specifically, the distance between the wearable device and the surface of the human body can be detected by a distance sensor. When it is detected that the distance between the wearable device and the surface of the human body is less than the distance threshold, it is determined that the wearable device is worn correctly; when it is detected that the distance between the wearable device and the surface of the human body is not less than the distance threshold, it is determined that the wearable device is not worn correctly. It is possible to detect whether the original value of the infrared reflection of the human skin is within the infrared reflection range of the human skin by infrared means. When it is detected that the original value of the infrared reflection of the human skin is within the infrared reflection range of the human skin, it is determined that the wearable device is worn correctly; when it is detected that the original value of the infrared reflection of the human skin is not within the infrared reflection range of the human skin, it is determined that the wearable device is not worn correctly.
[0078] In this embodiment, when the wearable device is worn correctly, the accelerometer starts to be in a standby state and starts to obtain acceleration data of the wearable device.
[0079] In a possible implementation, S301 determines whether the user's head is in motion according to the acceleration data of the wearable device, specifically including:
[0080] Step a1: When the acceleration data is greater than a first preset threshold or less than a second preset threshold, it is determined that the user's head is in motion.
[0081] Step a2: When the acceleration data is greater than or equal to the second preset threshold and less than or equal to the first preset threshold, it is determined that the user's head is not in motion.
[0082] In this embodiment, the first preset threshold is greater than the second preset threshold. The first preset threshold and the second preset threshold can be set and modified according to actual needs.
[0083] In this embodiment, when the state of the user's head is the same, different acceleration sensors are used for measurement. Due to the different accuracy of different sensors, the measured acceleration data may be different. In addition, the acceleration data may also be different when the user's head is in different states (moving state or static state). For example, the acceleration data in the static state is the gravity acceleration of 9.8m / s 2 When the user's head swings a certain amount, the acceleration data will usually be greater than 10.3m / s 2 Or less than 9.3m / s 2 , while when the user walks normally the acceleration data will be 9.3m / s 2 To 10.3m / s 2 Taking the above situation as an example, the first preset threshold value can be set to 10.3 m / s 2 , the second preset threshold is set to 9.3m / s 2 At this time, the acceleration data of the wearable device is greater than 10.3m / s 2 , or less than 9.3m / s 2 When the user's head is in motion, the acceleration data of the wearable device is greater than or equal to 9.3m / s 2 And less than or equal to 10.3m / s 2 , it is determined that the user's head is not in motion.
[0084] In a possible implementation, the preset condition is related to the angle of movement of the user's head in the direction of gravity during the collection period. The angle is determined based on the Euler angle of movement of the user's head in the direction of gravity collected during the collection period.
[0085] In this embodiment, the start time of the collection time period is the time when the user's head starts to move (the time when the movement is detected), and the end time of the collection time period is the time when the user's head is still (the time when the stillness is detected). For example, when the user's head starts to move, the angle of the user's head in the direction of gravity is 5 degrees, and when the user's head ends, the angle of the user's head in the direction of gravity is 30 degrees. If the user's head maintains at 30 degrees for a certain period of time M, it is determined that the user's head is still.
[0086] In this embodiment, if the user's head moves downward from an initial state and then returns to the initial state, and the angle of movement of the user's head in the direction of gravity when moving downward from the initial state is greater than the angle threshold, or moves upward from the initial state and then returns to the initial state, and the angle of movement of the user's head in the direction of gravity when moving upward from the initial state is greater than the angle threshold, then the movement of the user's head is judged to be a nodding movement.
[0087] For example, the user nods, and the trajectory of the user's nodding movement is moving downward from the initial state and then back to the initial state. The time when the downward movement starts is 10:30, the head stops lowering at 10:31, and returns to the initial state at 10:32. When M=1s, the start time of the collection time period corresponding to the nodding movement is 10:30, and the end time is 10:33. The collection time period lasts for 3s.
[0088] In this embodiment, if the user's head moves downward from an initial state until it stops lowering its head, and the lowering angle is maintained for a certain period of time M (that is, the user's head is still), and the angle of movement of the user's head in the direction of gravity is greater than the angle threshold, then the movement of the user's head is judged to be a lowering movement.
[0089] In this embodiment, if the user's head moves upward from an initial state until it stops looking up, and the head-up angle is maintained for a certain period of time M (that is, the user's head is still), and the angle of movement of the user's head in the direction of gravity is greater than the angle threshold, then the movement of the user's head is judged to be a head-up movement.
[0090] In this embodiment, the angle threshold can be set and modified according to actual needs. Considering that the angle threshold is set large and is not easy to be falsely triggered, for example, the angle threshold is set large, and it is not easy to be falsely triggered when doing sports such as jogging, but if it is set too large, the user's head movement angle will be too large and uncomfortable. Therefore, the angle threshold can be set at 20-30 degrees. While reducing the probability of false triggering, the user's experience is guaranteed. For example, the angle threshold can be set to 20 degrees, 25 degrees, etc.
[0091] In a possible implementation, the method for waking up the application further includes:
[0092] Step b1: Normalize the acceleration data to obtain normalized acceleration.
[0093] In this embodiment, when the accelerometer is in a stationary state and measurement errors are not considered, the measured acceleration data is approximately equal to gravity. Therefore, the acceleration data can be normalized through three rotation matrices.
[0094] The rotation matrix obtained by rotating around the X axis is:
[0095] The rotation matrix obtained by rotating around the Y axis is:
[0096] The rotation matrix obtained by rotating around the Z axis is:
[0097] Among them, θ χ Represents the angle of rotation around the X axis, θ y Represents the angle of rotation around the Y axis, θ z Indicates the angle of rotation around the Z axis. The first Euler angle can include the pitch angle and the roll angle.
[0098] The formula for normalizing acceleration data is as follows:
[0099]
[0100]
[0101] in, The accelerometer measures The normalized vector of , [0 1 0] represents the direction of gravity.
[0102] Step b2: Determine the first Euler angle according to the normalized acceleration.
[0103] In this embodiment, Figure 4 is a schematic diagram of the head movement direction according to an embodiment of the present invention. Figure 4 As shown in the figure, when the wearable device rotates around the Y-axis, the direction of gravity remains unchanged (vertically downward), so the accelerometer cannot measure the yaw angle (Yaw) and can only estimate the roll angle (Roll) and pitch angle (Pitch).
[0104] The formula for calculating the roll angle is as follows:
[0105]
[0106] in, represents the acceleration vector of the normalized roll angle, Acceleration vector representing the normalized pitch angle.
[0107] The pitch angle is calculated as follows:
[0108]
[0109] in, An acceleration vector representing the normalized yaw angle.
[0110] Step b3: Integrate the angular velocity data to obtain the second Euler angle.
[0111] In this embodiment, the calculation formula for integrating the angular velocity data is: in, represents the second Euler angle, Δq represents the quaternion of the second Euler angle increment within Δt time, Angular velocity data is [ω x ,ω y ,ω z ], q (t) The quaternion representing the second Euler angle at time t is a quaternion obtained by performing a series of time integrations during the acquisition time period.
[0112] In addition, the acceleration data in the coordinate system of the wearable device itself can also be converted into acceleration data in the world coordinate system. The specific conversion formula is: in, Represents the acceleration data in the coordinate system of the wearable device itself. Represents acceleration data in the world coordinate system.
[0113] It can also be expressed in the form of axis angle, specifically: A normalized vector representing the acceleration data.
[0114] Step b4: The first Euler angle and the second Euler angle are merged to obtain the Euler angle of the user's head moving in the direction of gravity.
[0115] In this embodiment, the first Euler angle includes: a pitch angle and a roll angle, and the second Euler angle includes: a pitch angle, a roll angle, and a yaw angle. The pitch angle in the first Euler angle can be fused with the pitch angle in the second Euler angle, and the roll angle in the first Euler angle can be fused with the roll angle in the second Euler angle to obtain the Euler angle of the user's head moving in the direction of gravity. It is possible to determine whether the user's head moves in the direction of gravity based on the changes in the pitch angle and the roll angle during the acquisition time period, and calculate the angle of the user's head moving in the direction of gravity.
[0116] In addition to fusing the roll angle and pitch angle separately, the yaw angle can also be calculated based on the magnetic field strength and direction of the wearable device obtained by the magnetometer. The yaw angle calculated by the magnetometer and the yaw angle in the second Euler angle can be fused to obtain the Euler angle of the user's head moving in the direction of gravity. It is possible to determine whether the user's head is moving in the direction of gravity based on the changes in the yaw angle, pitch angle, and roll angle during the acquisition period, and calculate the angle of the user's head moving in the direction of gravity.
[0117] The obtained Euler angle can be calibrated through Kalman filtering and complementary filtering to obtain a more accurate angle.
[0118] In this embodiment, the acceleration data is normalized using existing technology, and the Euler angles are converted using the existing conversion method between quaternions and Euler angles, so as to calculate the angle of change of the user's head in the direction of gravity.
[0119] In a possible implementation, the wearable device is configured with an accelerometer and a gyroscope, the accelerometer is used to obtain acceleration data of the wearable device, and the gyroscope is used to obtain angular velocity data of the wearable device.
[0120] In this embodiment, after the wearable device is worn correctly, the accelerometer is in standby mode, and the acceleration data of the wearable device is continuously acquired. The standby power consumption of the voice wake-up chip is 50uW, while the standby power consumption of the accelerometer is usually within 5uW. Therefore, compared with the voice wake-up chip in the related art being in standby mode, the accelerometer in the technical solution of the present invention is in standby mode, which can effectively reduce the power consumption of the wearable device.
[0121] When the acceleration data determines that the user is in motion, the gyroscope is started, and the gyroscope obtains the angular velocity data of the wearable device. When the acceleration data determines that the user is not in motion, the gyroscope is not started, and the gyroscope is in standby mode. The standby power consumption of the gyroscope is at the mW level, which can further effectively reduce the power consumption of the wearable device.
[0122] In addition, in this embodiment, the wearable device may also be configured with a magnetometer, and the magnetometer is used to obtain the magnetic field strength and direction of the wearable device.
[0123] In an embodiment of the present invention, Figure 5 FIG. 1 is a schematic diagram of the overall process of the method for waking up an application according to an embodiment of the present invention. The specific process of the solution for waking up an application is as follows: Figure 5As shown. Through sensors such as distance sensors, skin sensors or optical sensors, it is determined whether the wearable device is worn correctly. When the wearable device is worn correctly, the accelerometer is started (in standby mode), and the accelerometer continuously obtains the acceleration data of the wearable device, and determines whether the user's head is in motion based on the acceleration data of the wearable device.
[0124] When the user's head is not in motion, the accelerometer is in standby mode and continues to obtain acceleration data from the wearable device. It re-determines whether the user's head is in motion based on the acceleration data from the wearable device until the user's head is in motion.
[0125] When the user's head is in motion, the gyroscope is started (indicating that the gyroscope is in standby mode). When the user's head is in motion, the gyroscope continuously obtains angular velocity data of the wearable device and detects the movement of the user's head based on the angular velocity data of the wearable device.
[0126] It is determined whether the angle of movement of the user's head in the gravity direction during the collection time period is greater than an angle threshold.
[0127] When the angle of movement of the user's head in the direction of gravity during the collection time period is not greater than the angle threshold, it is re-determined whether the angle of movement of the user's head in the direction of gravity during the collection time period is greater than the angle threshold until the angle of movement of the user's head in the direction of gravity during the collection time period is greater than the angle threshold.
[0128] When the angle at which the user's head moves in the gravity direction during the acquisition time period is greater than the angle threshold, it is determined whether the user's head returns to an initial state during the acquisition time period.
[0129] When the user's head does not return to the initial state within the collection time period, the user's head movement is determined based on the direction of movement of the user's head to determine whether the user's head movement is an upward movement or a downward movement. When the user's head movement is an upward movement or a downward movement, whether the user's head is in motion is determined again based on the acceleration data of the wearable device.
[0130] When the user's head returns to the initial state within the acquisition time period, a first instruction is generated and sent to the target terminal to wake up the target voice interaction application on the target terminal.
[0131] Within the preset time range, after the target voice interaction application receives the user's voice command, it executes the user's voice command. Within the preset time range, if the target voice interaction application does not receive the user's voice command, the target voice interaction application enters a dormant state.
[0132] After executing the user's voice command or the target voice interaction application enters the dormant state, it is determined again based on the acceleration data of the wearable device whether the user's head is in motion, and the above-mentioned step of waking up the application is performed.
[0133] Technical effects of the present invention:
[0134] 1) By detecting the user's head movements to determine whether to wake up the target voice interaction application, there is no need to use a voice wake-up chip or a wake-up word. The interaction is more natural and can effectively prevent the interactive application from being mistakenly woken up by external environmental sounds, providing a better user experience.
[0135] 2) The user's voice is monitored only after the first command is generated and the target voice interaction application is woken up. Real-time monitoring is not required, which provides better privacy.
[0136] 3) Determine whether the user's head is in motion based on the acceleration data of the wearable device. Only when it is detected that the user's head is in motion, an instruction for triggering the detection of the user's head movement based on the angular velocity data of the wearable device is generated. There is no need to detect the user's head movement based on the angular velocity data of the wearable device in real time, which can effectively reduce power consumption.
[0137] 4) For specific devices, compared with devices in the relevant technical field in the standby state, the devices in the technical solution of the present invention (for example, accelerometers, gyroscopes) in the standby state have lower power consumption. And the gyroscope will only be started and in the standby state when the user's head is in motion. When the user's head is not in motion, only the accelerometer is in the standby state, which can further reduce the power consumption of the wearable device.
[0138] 5) Compared with double-clicking to wake up the target voice interaction application, or nodding or shaking the head to control the target terminal to perform corresponding operations (for example, nodding to answer a call, shaking the head to hang up a call), the technical solution of the present invention can prioritize judging whether to wake up the target voice interaction application based on the user's head movement. Only after the target voice interaction application is awakened, the target terminal will perform corresponding operations according to the user's voice instructions, which is more convenient and more accurate.
[0139] In this embodiment, a device for waking up an application is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and will not be repeated hereafter. As used below, the term "module" may be a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0140] Figure 64 is a structural block diagram of a device for waking up an application according to an embodiment of the present invention.
[0141] This embodiment provides a device for waking up an application, which is applied to a wearable device, such as Figure 6 As shown, including:
[0142] The first processing module 11 is used to detect the movement of the user's head according to the angular velocity data of the wearable device.
[0143] The second processing module 12 is used to generate a first instruction when it is detected that the movement of the user's head meets a preset condition. The first instruction is used to wake up a target voice interaction application, and the target voice interaction application is used to interact with the user based on the user's voice.
[0144] In some optional implementations, the device for waking up the application further includes: a third processing module, which is used to send the first instruction to the target terminal after generating the first instruction, so as to wake up the target voice interaction application on the target terminal.
[0145] In some optional implementations, the device for waking up an application further includes: a fourth processing module.
[0146] Before detecting the movement of the user's head according to the angular velocity data of the wearable device, the fourth processing module includes:
[0147] The first unit is used to determine whether the user's head is in a moving state according to acceleration data of the wearable device.
[0148] The second unit is used to generate an instruction for triggering detection of the movement of the user's head according to the angular velocity data of the wearable device when it is detected that the user's head is in a moving state.
[0149] In an optional implementation, the device for waking up the application further includes: a fifth processing module, the fifth processing module including:
[0150] The first unit is used to determine whether the wearable device is worn correctly through a sensor before determining whether the user's head is in a moving state according to acceleration data of the wearable device.
[0151] The second unit is used to start acquiring acceleration data of the wearable device when the wearable device is worn correctly.
[0152] In some optional implementations, the first unit specifically includes:
[0153] The first subunit is used to determine that the user's head is in a moving state when the acceleration data is greater than a first preset threshold or less than a second preset threshold.
[0154] The second subunit is used to determine that the user's head is not in motion when the acceleration data is greater than or equal to the second preset threshold and less than or equal to the first preset threshold.
[0155] In some optional implementations, the preset condition set in the device for waking up the application is related to the angle of movement of the user's head in the direction of gravity during the collection period. The angle is determined based on the Euler angle of movement of the user's head in the direction of gravity collected during the collection period.
[0156] In some optional implementations, the device for waking up the application further includes: a sixth processing module, which specifically includes:
[0157] The first unit is used to normalize the acceleration data to obtain normalized acceleration.
[0158] The second unit is used to determine a first Euler angle according to the normalized acceleration.
[0159] The third unit is used to integrate the angular velocity data to obtain the second Euler angle.
[0160] The fourth unit is used to fuse the first Euler angle and the second Euler angle to obtain the Euler angle of the user's head moving in the direction of gravity.
[0161] In some optional implementations, the apparatus for waking up the application is applied to a wearable device, and the wearable device is configured with an accelerometer and a gyroscope, the accelerometer is used to obtain acceleration data of the wearable device, and the gyroscope is used to obtain angular velocity data of the wearable device.
[0162] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0163] The device for waking up the application in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0164] The embodiment of the present invention also provides a computer device having the above Figure 6 The device shown wakes up the application.
[0165] See also Figure 7 , Figure 7 Schematic diagram of the hardware structure of the computer device according to the embodiment of the present invention. Figure 7As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 10 is taken as an example.
[0166] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0167] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0168] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0169] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0170] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0171] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0172] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A method for waking up an application, characterized in that: Applied to a wearable device, the method comprises: Detecting the movement of the user's head according to the angular velocity data of the wearable device; When it is detected that the movement of the user's head meets a preset condition, a first instruction is generated; the first instruction is used to wake up a target voice interaction application, and the target voice interaction application is used to interact with the user based on the user's voice.
2. The method according to claim 1, characterized in that After generating the first instruction, the method further includes: The first instruction is sent to a target terminal to wake up a target voice interaction application on the target terminal.
3. The method according to claim 1, characterized in that Before detecting the movement of the user's head according to the angular velocity data of the wearable device, the method further includes: Determining whether the user's head is in motion according to the acceleration data of the wearable device; When it is detected that the user's head is in a moving state, an instruction is generated to trigger detection of the movement of the user's head according to the angular velocity data of the wearable device.
4. The method according to claim 3, characterized in that Before determining whether the user's head is in motion according to the acceleration data of the wearable device, the method further includes: Determining whether the wearable device is worn correctly by using a sensor; When the wearable device is worn correctly, start acquiring acceleration data of the wearable device.
5. The method according to claim 3, characterized in that: The determining, according to the acceleration data of the wearable device, whether the head of the user is in motion includes: When the acceleration data is greater than a first preset threshold or less than a second preset threshold, determining that the user's head is in motion; When the acceleration data is greater than or equal to the second preset threshold and less than or equal to the first preset threshold, it is determined that the user's head is not in motion.
6. The method according to claim 1, characterized in that The preset condition is related to the angle of movement of the user's head in the direction of gravity during the collection time period; the angle is determined based on the Euler angle of movement of the user's head in the direction of gravity collected during the collection time period.
7. The method according to claim 6, characterized in that The method further comprises: Normalizing the acceleration data to obtain normalized acceleration; determining a first Euler angle according to the normalized acceleration; Integrating the angular velocity data to obtain a second Euler angle; The first Euler angle and the second Euler angle are fused to obtain the Euler angle of the user's head moving in the direction of gravity.
8. The method according to any one of claims 1 to 7, characterized in that: The wearable device is equipped with an accelerometer and a gyroscope, wherein the accelerometer is used to obtain acceleration data of the wearable device, and the gyroscope is used to obtain angular velocity data of the wearable device.
9. A device for waking up an application, characterized in that: Applied to a wearable device, the device comprises: A first processing module, configured to detect a movement of the user's head according to the angular velocity data of the wearable device; The second processing module is used to generate a first instruction when it is detected that the movement of the user's head meets a preset condition; the first instruction is used to wake up a target voice interaction application, and the target voice interaction application is used to interact with the user based on the user's voice.
10. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the steps of the method according to any one of claims 1 to 8 by executing the computer instructions.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the steps of the method according to any one of claims 1 to 8.
Citation Information
Cited By
Automatic wakeup method and device, wearable equipment and storage medium
CN119718088A
Automatic wake-up method and device, wearable device, and storage medium
CN119718088B