CN113253848A - Method and device for controlling tactile feedback and electronic equipment comprising device - Google Patents
Method and device for controlling tactile feedback and electronic equipment comprising device Download PDFInfo
- Publication number
- CN113253848A CN113253848A CN202110647060.2A CN202110647060A CN113253848A CN 113253848 A CN113253848 A CN 113253848A CN 202110647060 A CN202110647060 A CN 202110647060A CN 113253848 A CN113253848 A CN 113253848A
- Authority
- CN
- China
- Prior art keywords
- haptic
- priority
- pattern
- mode
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
The invention relates to a method and a device for controlling tactile feedback and an electronic device comprising the device. According to an embodiment, a method of controlling haptic feedback may comprise: receiving a first haptic trigger message comprising a first haptic mode encoding indicating a first haptic mode and a first priority encoding indicating a first priority of the first haptic mode; in response to receiving the first haptic trigger message, starting a timer; receiving, prior to expiration of the timer, a second haptic trigger message comprising a second haptic mode encoding indicating a second haptic mode and a second priority encoding indicating a second priority of the second haptic mode; determining a haptic mode to be output based on the first haptic mode and the first priority and the second haptic mode and the second priority; and instructing the haptic output device to output the determined haptic pattern to be output, after the timer expires.
Description
Technical Field
The present invention relates to a method and apparatus for controlling haptic feedback and an electronic device including the apparatus.
Background
Touch screens have been widely used in various electronic devices, which can provide touch input instead of a conventional physical keyboard or keys in addition to providing a display function, thereby contributing to an increase in screen occupation of the electronic devices. For example, in portable electronic devices such as smart phones, a full-screen design has become popular, and no physical keys other than volume and power buttons are provided on the phone, so that the screen ratio can reach more than 96%. Unlike physical keys, the touch screen itself does not provide the feel of the keys, so the user experience is very different from traditional physical keys, and sometimes it may be difficult for the user to determine whether a touch input was successful. To address this problem, many cell phones currently provide a haptic feedback function, i.e., provide haptic feedback such as vibration in response to a successful input by the user. In addition, under the conditions of receiving a short message or a voice call, setting the alarm clock arrival time and the like, a vibration effect can be provided so as to provide a prompt or serve the hearing-impaired user in a mute mode.
With the development of hardware and software technologies, portable electronic devices have increased in functionality. Taking a smart phone as an example, the smart phone not only can receive and send short messages and make calls, but also has the functions of browsing webpages, processing working documents, playing music, playing games, watching movies, chatting videos, running various small Applications (APP) and the like. Accordingly, more and more haptic feedback effects are expected to be provided. For example, when playing games or watching movies, it is desirable to provide corresponding vibration effects for some special effect pictures such as explosions, crashes, earthquakes, etc.; for another example, when listening to music, it is desirable to be able to provide a vibration effect, such as a vibration effect corresponding to a drumbeat sound, with a specific melody of music or a subwoofer rhythm or the like; for another example, it may be desirable to provide vibration feedback when a user performs an opening or closing operation on a smart case of a cell phone. The haptic effect that the user desires to experience may also be different for different triggering scenarios and is not limited to the vibration effect provided by a single motor, but may also include a variety of different haptic effects provided by multiple motors of different types or other hardware, such as ultrasonic transducers and the like.
However, when the electronic device is capable of providing rich haptic feedback for various situations, there is a possibility that a problem occurs in that a plurality of haptic feedbacks interfere with each other so that a desired effect cannot be output. For example, when a handset triggers a haptic feedback upon receiving a voice call, if the haptic feedback has not been output or has just started to be output through a haptic output device such as a motor, and triggers another haptic feedback in response to another event such as the arrival of an alarm clock, the haptic feedback corresponding to the received voice call may be lost if the newly triggered haptic feedback is output instead. If the haptic feedback corresponding to the voice call continues to be output, the user may be caused to miss the haptic feedback reminder corresponding to the arrival of the alarm clock. It should be understood that the illustration is given here only as an example, and that various problems of interference or disturbance of the multiple haptic feedbacks may always be encountered in practical applications. Therefore, it has become a problem how to properly control and manage the output of various haptic feedback.
Disclosure of Invention
The present invention has been made in view of the above problems. The present invention provides a method and apparatus for controlling haptic feedback, which triggers various haptic effect outputs using haptic pattern coding. For example, upon detecting various events that trigger haptic effects, corresponding haptic mode codes may be generated, each of which may correspond to a particular haptic effect. In addition, a priority code associated with the haptic mode code may also be generated to indicate a priority level for outputting the haptic effect according to an event triggering the haptic effect. In the present invention, by setting a timer, a plurality of haptic effects triggered within a time period are regarded as simultaneous triggers, and then one or more haptic effects having a higher priority, which need to be output, among the plurality of simultaneous triggers are determined according to their priority levels, while one or more haptic effects having a lower priority can be ignored. By utilizing the scheme of the invention, the corresponding haptic effects can be conveniently and flexibly defined aiming at various events, and the triggering and the output of the haptic effects are effectively managed, thereby providing comfortable user experience for users. The embodiment of the invention also provides electronic equipment comprising the device.
One aspect of the present invention provides a method of controlling haptic feedback, comprising: receiving a first haptic trigger message comprising a first haptic mode encoding indicating a first haptic mode and a first priority encoding indicating a first priority of the first haptic mode; in response to receiving the first haptic trigger message, starting a timer; receiving, prior to expiration of the timer, a second haptic trigger message comprising a second haptic mode encoding indicating a second haptic mode and a second priority encoding indicating a second priority of the second haptic mode; determining a haptic mode to be output based on the first haptic mode and the first priority and the second haptic mode and the second priority; and instructing the haptic output device to output the determined haptic pattern to be output, after the timer expires.
In some embodiments, determining the haptic pattern to output may include, when the first haptic pattern is the same as the second haptic pattern: selecting one of the first haptic mode and the second haptic mode and ignoring the other if the first priority is the same as the second priority; selecting a haptic mode with a higher priority and ignoring a haptic mode with a lower priority if the first priority is different from the second priority.
In some embodiments, determining a haptic pattern to output may include, when the first haptic pattern is different from the second haptic pattern: determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority; determining that the second haptic pattern is a haptic pattern to be output if the first priority is lower than the second priority, and ignoring the first haptic pattern; determining one of the first haptic mode and the second haptic mode as a haptic mode to be output if the first priority is equal to the second priority, and ignoring the other of the first haptic mode and the second haptic mode.
In some embodiments, determining a haptic pattern to output may include, when the first haptic pattern is different from the second haptic pattern: determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to precede the second haptic pattern if the first priority is higher than the second priority and the second priority is higher than or equal to a predetermined threshold; determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority and the second priority is lower than a predetermined threshold; determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be after the second haptic pattern if the first priority is lower than the second priority and the first priority is higher than or equal to a predetermined threshold; determining that the second haptic pattern is a haptic pattern to be output and ignoring the first haptic pattern if the first priority is lower than the second priority and the first priority is lower than a predetermined threshold; determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be before the second haptic pattern if the first priority is equal to the second priority and both are higher than or equal to a predetermined threshold; or if the first priority is equal to the second priority and both are below a predetermined threshold, determining one of the first haptic mode and the second haptic mode as a haptic mode to be output and ignoring the other of the first haptic mode and the second haptic mode or ignoring both the first haptic mode and the second haptic mode.
In some embodiments, the method further comprises: establishing a haptic pattern output list, and inserting the determined haptic pattern to be output into the haptic pattern output list after the timer expires.
In some embodiments, the method further comprises: deleting the haptic mode from the haptic mode output list when the determined haptic mode to be output is completely executed or cancelled.
Another aspect of the present invention provides an apparatus for controlling haptic feedback, comprising: a first receiving unit to receive a first haptic trigger message including a first haptic mode code indicating a first haptic mode and a first priority code indicating a first priority of the first haptic mode; a timer control unit for starting a timer in response to receiving the first haptic trigger message; a second receiving unit for receiving a second haptic trigger message including a second haptic mode code indicating a second haptic mode and a second priority code indicating a second priority of the second haptic mode before the timer expires; a determination unit for determining a haptic pattern to be output based on the first haptic pattern and the first priority and the second haptic pattern and the second priority; and an instructing unit for instructing the haptic output device to output the determined haptic pattern to be output, after the timer expires.
In some embodiments, the determining unit may be configured to, when the first haptic mode is the same as the second haptic mode: selecting one of the first haptic mode and the second haptic mode and ignoring the other if the first priority is the same as the second priority; selecting a haptic mode with a higher priority and ignoring a haptic mode with a lower priority if the first priority is different from the second priority.
In some embodiments, the determining unit is configured to, when the first haptic mode is different from the second haptic mode: determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority; determining that the second haptic pattern is a haptic pattern to be output if the first priority is lower than the second priority, and ignoring the first haptic pattern; determining one of the first haptic mode and the second haptic mode as a haptic mode to be output if the first priority is equal to the second priority, and ignoring the other of the first haptic mode and the second haptic mode.
In some embodiments, the determining unit is configured to, when the first haptic mode is different from the second haptic mode: determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to precede the second haptic pattern if the first priority is higher than the second priority and the second priority is higher than or equal to a predetermined threshold; determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority and the second priority is lower than a predetermined threshold; determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be after the second haptic pattern if the first priority is lower than the second priority and the first priority is higher than or equal to a predetermined threshold; determining that the second haptic pattern is a haptic pattern to be output and ignoring the first haptic pattern if the first priority is lower than the second priority and the first priority is lower than a predetermined threshold; determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be before the second haptic pattern if the first priority is equal to the second priority and both are higher than or equal to a predetermined threshold; or if the first priority is equal to the second priority and both are below a predetermined threshold, determining one of the first haptic mode and the second haptic mode as a haptic mode to be output and ignoring the other of the first haptic mode and the second haptic mode.
In some embodiments, the apparatus further includes an output list maintenance unit for establishing a haptic pattern output list, and inserting the determined haptic pattern to be output into the haptic pattern output list after the timer expires, and deleting the determined haptic pattern to be output from the haptic pattern output list when the determined haptic pattern to be output is performed or cancelled.
Another aspect of the present invention also provides a mobile electronic device, comprising: at least one haptic output device; and the above-mentioned haptic effect control means for controlling the at least one haptic output device according to the above-mentioned method.
Other features and advantages of the present invention will become apparent from the following description of exemplary embodiments, which is to be read in connection with the accompanying drawings.
Drawings
FIG. 1 shows a schematic block diagram of an electronic device including a haptic effect control apparatus.
FIG. 2 illustrates a flow diagram for controlling haptic feedback according to an embodiment of the present invention.
Fig. 3 shows a schematic diagram of encoding of a haptic trigger message according to an embodiment of the present invention.
FIG. 4 shows a schematic diagram of controlling haptic feedback based on a timer, according to an embodiment of the present invention.
FIG. 5 illustrates a flow diagram for determining a haptic pattern to output in accordance with one embodiment of the present invention.
FIG. 6 illustrates a flow diagram for determining a haptic pattern to output, according to another embodiment of the present invention.
FIG. 7 illustrates a schematic diagram of a haptic mode output list according to another embodiment of the present invention.
FIG. 8 shows a functional block diagram of an apparatus for controlling haptic feedback according to an embodiment of the present invention.
Detailed Description
Some exemplary embodiments of the present invention will be described below with reference to the accompanying drawings. The following description provides some specific details for a clear and complete description of these exemplary embodiments. It should be understood, however, that the invention is not limited to the specific details of these exemplary embodiments. Rather, embodiments of the invention may be practiced without these specific details or with other alternatives without departing from the spirit and principles of the invention as defined by the claims.
Fig. 1 shows a schematic block diagram of an electronic device 100 comprising a haptic effect control apparatus. The electronic device 100 may be a portable mobile electronic device such as a smartphone, personal digital assistant, personal terminal device, tablet computer, handheld game console, wearable electronic device, and the like.
Referring to fig. 1, an electronic device 100 may include one or more processors 101. The processor 101 may be a general-purpose processor or a special-purpose processor, examples of which include, for example, a Central Processing Unit (CPU), an ARM processor, an apple series a and M processor, a Micro Control Unit (MCU), a Field Programmable Gate Array (FPGA), an audio processor, a Graphics Processor (GPU), a coprocessor, and the like. It is understood that processor 101 may be a single core or multi-core processor.
The electronic device 100 may also include a touch screen 102 that has both display output and touch input capabilities. The touch screen 102 may be a Liquid Crystal Display (LCD), an Active Matrix Organic Light Emitting Diode (AMOLED) display, or the like, and is integrated with a capacitive or resistive touch sensing function.
The electronic device 100 may have one or more memories 103, which may include non-volatile and volatile memories. Examples of non-volatile memory include flash memory, SD cards, ROM, EEPROM, etc., which may be used to store program instructions, user data, etc., that may be executed by processor 101. Examples of volatile memory include RAM, SRAM, DRAM, etc., also referred to as memory, for storing instruction data for execution by processor 101 or for serving as a data cache, etc., when electronic device 100 is operating.
The electronic device 100 may also include a speaker 104 for playing audio and one or more sensors 105. Examples of sensors 105 include, for example, light sensors, distance sensors, speed sensors, gravity sensors, magnetic sensors, gyroscopes, and the like.
The electronic device 100 may also include a haptic effect control 106 and a haptic output device 107 to provide haptic feedback. In this context, haptic effects include, but are not limited to, vibrations, but also, for example, touch texture simulation, deformation, pressure, and the like. For example, touch texture simulation can simulate surfaces of different roughness in response to drive signals, ultrasound can simulate radiation pressure, and so forth. Accordingly, the haptic output device 107 may be various devices capable of providing the associated haptic effect, examples of which may include a rotary eccentric motor (ERM), a linear resonant motor (LRA), a piezoelectric motor, an electrostatic actuator, an ultrasonic transducer, a memory alloy, and the like. Haptic effect control device 106 may be, for example, one or more chips mounted on a printed circuit board or a circuit including one or more chips for controlling and driving haptic output device 107 to output a corresponding haptic effect, which will be described in further detail below.
The above-mentioned devices may be connected to the bus system 108 to communicate with each other. When the electronic device 100 is running, the processor 101 may execute programs stored in the memory 103, such as operating system programs, Applets (APPs), video programs, audio programs, and the like, and control the operation of the various devices. For example, the processor 101 may control the touch screen 102 to play video, the speaker 104 to play audio, and detect input from the touch screen 102 and the sensor 105. In response to various predefined events, processor 101 may instruct haptic effect control device 106 to drive haptic output device 107 to output a corresponding haptic effect. For example, when the processor 101 detects that the user presses a virtual key or performs other gesture operations via the touch screen 102, the haptic effect control device 106 may be instructed to generate various corresponding haptic effects based on various user operations. As another example, when processor 101 detects a sensed input from sensor 105, such as by a magnetic sensor detecting a user opening a device housing (e.g., a cell phone housing) of electronic device 100, haptic effect control 106 may be instructed to generate various corresponding haptic effects. Also for example, when processor 101 detects various other events, such as playing audio and/or video, receiving a phone call, an alarm, etc., the haptic effect control device 106 may also be instructed to generate various corresponding haptic effects. For example, with a drumbeat or heavy bass in the audio, a vibration effect of a corresponding rhythm and amplitude may be produced; alternatively or in addition, when vibration effect data associated with a particular scene, such as an explosion, a bump, a jolt, etc., is included in the movie or game video, processor 101 may also instruct haptic effect control device 106 to generate a corresponding haptic effect based on the data. An exemplary embodiment of controlling and driving the haptic output device 107 to generate various haptic effects by the haptic effect control apparatus 106 will be described in detail below, and vibration is taken as an example of the haptic effects for simplicity and convenience of description, but it is understood that the principles of the present invention can be applied to trigger various haptic effects in various scenarios or situations, and are not limited to the embodiments described herein.
FIG. 2 shows a flow diagram of a method 200 for controlling haptic feedback in accordance with an embodiment of the present invention. It is understood that the method 200 shown in FIG. 2 may be performed by, for example, the haptic effect control apparatus 106 in the electronic device 100 shown in FIG. 1.
Referring to fig. 2, the haptic effect control device 106 may receive a first haptic trigger message at step S210. As previously described, when processor 101 detects a predetermined event that triggers a haptic effect, a first haptic trigger message may be generated and sent to haptic effect control device 106. It will be appreciated that the plurality of predetermined events may correspond to different or the same haptic effects, and that upon detection of various predetermined events, the processor 101 may generate haptic trigger messages corresponding to the predetermined events to trigger the respective haptic effect outputs. Accordingly, the haptic trigger message generated by the processor 101 may include a haptic pattern code indicating one of a plurality of predetermined haptic patterns. The haptic pattern here corresponds to a particular haptic effect, i.e., a particular drive waveform for driving the haptic output device. In addition, the haptic trigger message may further include a priority code indicating a priority of a corresponding haptic mode, i.e., a priority of outputting a haptic effect corresponding to the haptic mode. It should be noted that the manner in which the haptic mode and priority are indicated by encoding is different from the conventional hardware pin-triggered mode. With the encoding approach, by flexibly defining haptic pattern encoding for various events, various haptic effect outputs can be triggered without increasing hardware complexity (e.g., pin count), and thus is particularly suitable for devices with a variety of rich haptic effect outputs. In step S210, the received first haptic trigger message may include a first haptic pattern code and a first priority code.
Fig. 3 shows an example of encoding of a haptic trigger message. As shown in fig. 3, the haptic trigger message may include a haptic pattern code of N bits and a priority code of P bits, where N and P are both positive integers. In some embodiments, N may preferably be greater than P. Although not shown, the haptic trigger message may also include a header (header) for identifying the message. N-bit haptic pattern coding can be encoded (2)N-1) haptic patterns in which all zero values are considered as no trigger; priority coding of P bits may be coded (2)P-1) priorities, wherein all zero values are considered as unallocated priorities. For example, taking a 3-bit haptic pattern code as an example, when the processor 101 detects that a user presses a key on a virtual keyboard to perform an input, a haptic trigger message with a haptic pattern code of 001 may be generated; when a user presses three virtual keys representing a menu, a back or a home (home), a haptic trigger message with a haptic pattern code of 010 can be generated; when the set alarm clock reaches the time, a haptic trigger message with a haptic mode code of 011 can be generated; when haptic feedback is triggered while playing a game or watching a movie, a haptic trigger message with a haptic pattern code of 100 may be generated; when haptic feedback is triggered while listening to music, a haptic trigger message with haptic pattern encoding 101 may be generated; when a short message is received, a haptic trigger message with haptic pattern encoding 110 may be generated; when a voice call is received, a haptic trigger message with haptic pattern coding 111 may be generated; and so on. It should be understood that the encoding described herein is merely an example, and more bits of encoding may be used to define the encoding depending on the desired haptic feedback application scenarioMore tactile modes. Similarly, taking a priority encoding of 2 bits as an example, "00" may correspond to the lowest priority and "11" may correspond to the highest priority. Priorities may be assigned according to the importance of various events, such as highest priority for receiving a voice call, lowest priority for receiving a short message or an alarm clock, lowest priority for touching a key of a virtual keyboard, and the like. Also, this is merely an example, and the corresponding priorities thereof can be flexibly defined for various events in practical applications. It is understood that different events may trigger the same or different haptic pattern codes, which may have different priority levels because they are triggered by different events.
In response to receiving the first haptic trigger message, the haptic effect control device 106 may start a timer T at step S220. It is to be understood that the timer T has not yet started when the first haptic trigger message is received in step S210. If the timer T has started when the first haptic trigger message is received, that is to say a haptic trigger message is received during the running of the timer T, the processing of this haptic trigger message may be as described below with respect to the receipt of the second haptic trigger message. The timer T may have a preset duration, such as 0.1 second, 0.5 second, 1 second, or 2 seconds, and the like, and may be set according to a specific application. As will be understood from the detailed description below, haptic trigger messages received during the running of the timer T may be considered as messages that are triggered simultaneously.
With continued reference to fig. 2, before the started timer T expires, the haptic effect control device 106 receives a second haptic trigger message, which may include a second haptic mode code indicating a second haptic mode and a second priority code indicating a priority of the second haptic mode, in step S230. It will be appreciated that before the timer T expires, the haptic effect control device 106 may receive a plurality of haptic trigger messages, such as haptic trigger messages generated by the processor 101 in response to various events during the time period, which may be processed according to the steps described herein with respect to the second haptic trigger message.
Fig. 4 shows a schematic diagram of the reception of a haptic trigger message during the running of a timer. Referring to FIG. 4, a first haptic trigger message is received at time T1, at which time a timer T is started in response to the first haptic trigger message, having a predetermined duration Ttimer. At times T2 and T3 (T2-T1) before expiration of timer T<Ttimer,T3-T1<Ttimer) A second haptic trigger message and a third haptic trigger message are received, respectively. At time T4 (T4-T1) after expiration of timer T>Ttimer) A fourth haptic trigger message is received. At this time, the first, second and third haptic trigger messages are treated as haptic trigger messages received simultaneously, and the operations described herein are performed; when the fourth haptic trigger message is received, it restarts the timer T, i.e. the fourth haptic trigger message is processed similarly to the one described here with respect to the first haptic trigger message. For simplicity and ease of description, the corresponding processing steps are described herein with respect to only the first and second haptic trigger messages, but it should be understood that even more haptic trigger messages received during the running of the timer T may equally perform the processing steps described herein, which is within the scope of the invention as defined by the claims.
With continued reference to fig. 2, in step S240, a haptic pattern to be output may be determined based on the first haptic pattern and the first priority received in step S210 and the second haptic pattern and the second priority received in step S230. It will be appreciated that the first and second haptic modes may be the same, e.g., different events correspond to the same haptic effect output, or the user may perform the same event multiple times in a short period of time to trigger multiple haptic effect outputs. At this time, since the first and second haptic patterns identical to each other are simultaneously triggered in a short time and correspond to the same haptic effect output, their corresponding haptic effects may be output only once. In step S240, the haptic mode with the high priority may be selected, and the haptic mode with the low priority may be ignored. When the first priority of the first haptic mode is also the same as the second priority of the second haptic mode, either of the first and second haptic modes may be selected for output while the other is ignored, as both are substantially identical.
In a more general case, the first haptic mode and the second haptic mode may not be the same. At this point, it may then be determined which haptic pattern or patterns to output based on the first priority and the second priority, an example of such a process 300 being shown in fig. 5. Referring to fig. 5, in step 310, it may be determined whether the first priority is higher than, equal to, or lower than the second priority through comparison. If the first priority is higher than the second priority, executing step 320, determining the first haptic mode as the haptic mode to be output, and ignoring the second haptic mode; if the first priority is lower than the second priority, performing step 330, determining the second haptic mode as the haptic mode to be output, and ignoring the first haptic mode; if the first priority is equal to the second priority, step 340 is performed, determining one of the first haptic pattern and the second haptic pattern as the haptic pattern to be output, and ignoring the other. In step 340, for example, a first-triggered haptic mode may be selected, or a second-triggered haptic mode may be selected, as may be determined by the particular application.
The inventors have realized that while the selection of a haptic pattern to output based on only the first and second priorities as shown in fig. 5 can solve the problem of confusion or conflict caused by triggering multiple haptic effects simultaneously, it may be insufficient in certain situations. For example, when two events, such as an alarm expiration event and a received voice call event, both of which are important, are triggered simultaneously, it may not be desirable to ignore the haptic effect output of either. Thus, in step S240, a predetermined priority threshold may also be introduced to determine the haptic pattern to be output, an example of such a process 400 being shown in fig. 6. Referring to fig. 6, in step 410, it may be determined whether the first priority is higher than, equal to, or lower than the second priority through comparison. If the first priority is higher than the second priority, then in step 420a, a comparison is continued as to whether the second priority is greater than or equal to a predetermined threshold. If the second priority is greater than or equal to the predetermined threshold, it indicates that both the first haptic mode and the second haptic mode are important, and thus, in step 430, it may be determined that both the first haptic mode and the second haptic mode are haptic modes to be output, and output timings of the first haptic mode and the second haptic mode may be determined in order of priority, i.e., the output timing of the first haptic mode precedes the second haptic mode. In this way, the haptic effect corresponding to the alarm clock expiration event can be output after, for example, the output of the haptic effect corresponding to the voice call is ended, or after the user completes the voice communication, to remind the user that the alarm clock is expired without leaving the user missing important events. If the second priority is below the predetermined threshold, it indicates that the second haptic mode is not important, and thus in step 440, the first haptic mode with the higher priority may be determined to be the haptic mode to be output, and the second haptic mode may be ignored.
Similarly, if the first priority is lower than the second priority, then in step 420b, a comparison is continued as to whether the first priority is greater than or equal to a predetermined threshold. If the first priority is greater than or equal to the predetermined threshold, it indicates that both the first haptic mode and the second haptic mode are important, and thus, in step 450, it may be determined that both the first haptic mode and the second haptic mode are haptic modes to be output, and output timings of the first haptic mode and the second haptic mode may be determined in order of priority, i.e., the output timing of the first haptic mode is after the second haptic mode. If the first priority is below the predetermined threshold, it indicates that the first haptic mode is not important, so in step 460, the second haptic mode may be determined to be the haptic mode to be output and the first haptic mode may be ignored.
If the first priority is equal to the second priority, the comparison continues in step 420c if the first/second priority is greater than or equal to a predetermined threshold. If both are greater than or equal to the predetermined threshold, then in step 470 it may be determined that the first haptic mode and the second haptic mode are both haptic modes to be output, and the timing of the output of the first haptic mode and the second haptic mode may be determined in, for example, a triggering time sequence, i.e., the output timing of the first haptic mode precedes the second haptic mode. If both the first priority and the second priority are below the predetermined threshold, either one of the first haptic pattern and the second haptic pattern may be determined to be the haptic pattern to be output and the other one may be ignored, or both the first haptic pattern and the second haptic pattern may be ignored in step 480.
With continued reference to FIG. 2, through the above steps, one or more haptic patterns to output are determined. Then, at step S250, after the timer T expires, the haptic output device 107 (see fig. 1) may be instructed to output the determined haptic pattern to be output. It will be appreciated that the various haptic patterns have corresponding drive waveforms for driving one or more haptic output devices 107, which may produce the desired haptic output effect. Such a driving waveform may be stored in advance in a memory, such as an EEPROM, a buffer, a register, or the like, in the electronic apparatus 100 or the haptic effect control device 106, or may be a driving waveform received in real time from the outside. The haptic effect control device 106 may be predefined with a mapping between haptic pattern codes and drive waveforms or memory locations where drive waveforms are stored. In step S250, the haptic effect control device 106 may instruct the drive circuit of the haptic output device 107 to drive with a drive waveform corresponding to the determined drive mode to be output to generate a desired haptic output effect. In some embodiments, haptic effect control device 106 may also establish a haptic pattern output list into which the determined haptic patterns to be output are inserted in a time sequence. Fig. 7 shows an example of such a haptic pattern output list. For example, as shown in fig. 7, the list may include a haptic pattern currently being output, and haptic patterns 1, 2, and the like to be output, which are arranged in order later. When the haptic mode currently being output is completely executed or cancelled, the haptic mode may be deleted from the haptic mode output list and a haptic mode to be output next may be executed until all haptic modes are output.
FIG. 8 shows a schematic functional block diagram of a haptic effect control apparatus 500 according to an embodiment of the present invention. It is understood that the various functional modules in the haptic effect control apparatus 500 shown in fig. 8 may be implemented by software, hardware or firmware, and may be implemented in or as part of the haptic effect control apparatus 106 in the electronic device 100 described above. The functions and operations related to the respective function modules in the haptic effect control apparatus 500 shown in fig. 8 have been described above in detail with reference to fig. 1 to 7, and thus will be described below only briefly.
Referring to fig. 8, the haptic effect control apparatus 500 may include a first receiving unit 510 to receive a first haptic trigger message including a first haptic mode code indicating a first haptic mode and a first priority code indicating a first priority of the first haptic mode.
The haptic effect control apparatus 500 may further include a timer control unit 520 for starting a timer in response to receiving the first haptic trigger message.
The haptic effect control apparatus 500 may further include a second receiving unit 530 for receiving a second haptic trigger message including a second haptic mode code indicating a second haptic mode and a second priority code indicating a second priority of the second haptic mode before the timer expires.
The haptic effect control apparatus 500 may further include a determination unit 540 for determining a haptic pattern to be output based on the first haptic pattern and the first priority and the second haptic pattern and the second priority. For example, when the first haptic mode is the same as the second haptic mode, if the first priority is the same as the second priority, one of the first haptic mode and the second haptic mode is selected and the other is ignored; selecting a haptic mode with a higher priority and ignoring a haptic mode with a lower priority if the first priority is different from the second priority. When the first haptic pattern is different from the second haptic pattern: determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority; determining that the second haptic pattern is a haptic pattern to be output if the first priority is lower than the second priority, and ignoring the first haptic pattern; or if the first priority is equal to the second priority, determining one of the first haptic mode and the second haptic mode as a haptic mode to be output, and ignoring the other of the first haptic mode and the second haptic mode. For another example, when the first haptic pattern is different from the second haptic pattern: determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to precede the second haptic pattern if the first priority is higher than the second priority and the second priority is higher than or equal to a predetermined threshold; determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority and the second priority is lower than a predetermined threshold; determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be after the second haptic pattern if the first priority is lower than the second priority and the first priority is higher than or equal to a predetermined threshold; determining that the second haptic pattern is a haptic pattern to be output and ignoring the first haptic pattern if the first priority is lower than the second priority and the first priority is lower than a predetermined threshold; determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be before the second haptic pattern if the first priority is equal to the second priority and both are higher than or equal to a predetermined threshold; or if the first priority is equal to the second priority and both are below a predetermined threshold, determining one of the first haptic mode and the second haptic mode as a haptic mode to be output and ignoring the other of the first haptic mode and the second haptic mode.
The haptic effect control apparatus 500 may further include an instructing unit 550 for instructing the haptic output device to output the determined haptic pattern to be output, after the timer expires.
Optionally, the haptic effect control apparatus 500 may further include an output list maintenance unit 560 for establishing a haptic mode output list, and inserting the determined haptic mode to be output into the haptic mode output list after the timer expires, and deleting the haptic mode from the haptic mode output list when the determined haptic mode to be output is performed or cancelled.
The foregoing describes the general principles of the present application in conjunction with specific embodiments, however, it is noted that the advantages, effects, etc. mentioned in the present application are merely examples and are not limiting, and they should not be considered essential to the various embodiments of the present application. Furthermore, the foregoing disclosure of specific details is for the purpose of illustration and description and is not intended to be limiting, since the foregoing disclosure is not intended to be exhaustive or to limit the disclosure to the precise details disclosed.
The block diagrams of devices, apparatuses, systems referred to in this application are only given as illustrative examples and are not intended to require or imply that the connections, arrangements, configurations, etc. must be made in the manner shown in the block diagrams. These devices, apparatuses, devices, systems may be connected, arranged, configured in any manner, as will be appreciated by those skilled in the art. Words such as "including," "comprising," "having," and the like are open-ended words that mean "including, but not limited to," and are used interchangeably therewith. The words "or" and "as used herein mean, and are used interchangeably with, the word" and/or, "unless the context clearly dictates otherwise. The word "such as" is used herein to mean, and is used interchangeably with, the phrase "such as but not limited to".
It should also be noted that in the devices, apparatuses, and methods of the present application, the components or steps may be decomposed and/or recombined. These decompositions and/or recombinations are to be considered as equivalents of the present application.
The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the scope of the application. Thus, the present application is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The foregoing description has been presented for purposes of illustration and description. Furthermore, the description is not intended to limit embodiments of the application to the form disclosed herein. While a number of example aspects and embodiments have been discussed above, those of skill in the art will recognize certain variations, modifications, alterations, additions and sub-combinations thereof.
Claims (12)
1. A method of controlling haptic feedback, comprising:
receiving a first haptic trigger message comprising a first haptic mode encoding indicating a first haptic mode and a first priority encoding indicating a first priority of the first haptic mode;
in response to receiving the first haptic trigger message, starting a timer;
receiving, prior to expiration of the timer, a second haptic trigger message comprising a second haptic mode encoding indicating a second haptic mode and a second priority encoding indicating a second priority of the second haptic mode;
determining a haptic mode to be output based on the first haptic mode and the first priority and the second haptic mode and the second priority; and
instructing the haptic output device to output the determined haptic pattern to be output after the timer expires.
2. The method of claim 1, wherein determining a haptic pattern to output comprises, when the first haptic pattern is the same as the second haptic pattern:
selecting one of the first haptic mode and the second haptic mode and ignoring the other if the first priority is the same as the second priority; or
Selecting a haptic mode with a higher priority and ignoring a haptic mode with a lower priority if the first priority is different from the second priority.
3. The method of claim 1, wherein determining a haptic pattern to output comprises, when the first haptic pattern is different from the second haptic pattern:
determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority;
determining that the second haptic pattern is a haptic pattern to be output if the first priority is lower than the second priority, and ignoring the first haptic pattern; or
Determining one of the first haptic mode and the second haptic mode as a haptic mode to be output if the first priority is equal to the second priority, and ignoring the other of the first haptic mode and the second haptic mode.
4. The method of claim 1, wherein determining a haptic pattern to output comprises, when the first haptic pattern is different from the second haptic pattern:
determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to precede the second haptic pattern if the first priority is higher than the second priority and the second priority is higher than or equal to a predetermined threshold;
determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority and the second priority is lower than a predetermined threshold;
determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be after the second haptic pattern if the first priority is lower than the second priority and the first priority is higher than or equal to a predetermined threshold;
determining that the second haptic pattern is a haptic pattern to be output and ignoring the first haptic pattern if the first priority is lower than the second priority and the first priority is lower than a predetermined threshold;
determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be before the second haptic pattern if the first priority is equal to the second priority and both are higher than or equal to a predetermined threshold; or
If the first priority is equal to the second priority and both are below a predetermined threshold, determining one of the first haptic mode and the second haptic mode as a haptic mode to be output and ignoring the other of the first haptic mode and the second haptic mode or ignoring both the first haptic mode and the second haptic mode.
5. The method of claim 1, further comprising:
establishing a haptic pattern output list, and inserting the determined haptic pattern to be output into the haptic pattern output list after the timer expires.
6. The method of claim 5, further comprising:
deleting the haptic mode from the haptic mode output list when the determined haptic mode to be output is completely executed or cancelled.
7. An apparatus for controlling haptic feedback, comprising:
a first receiving unit to receive a first haptic trigger message including a first haptic mode code indicating a first haptic mode and a first priority code indicating a first priority of the first haptic mode;
a timer control unit for starting a timer in response to receiving the first haptic trigger message;
a second receiving unit for receiving a second haptic trigger message including a second haptic mode code indicating a second haptic mode and a second priority code indicating a second priority of the second haptic mode before the timer expires;
a determination unit for determining a haptic pattern to be output based on the first haptic pattern and the first priority and the second haptic pattern and the second priority; and
an indicating unit for indicating the haptic output device to output the determined haptic pattern to be output after the timer expires.
8. The apparatus of claim 7, wherein the determination unit is configured to, when the first haptic mode is the same as the second haptic mode:
selecting one of the first haptic mode and the second haptic mode and ignoring the other if the first priority is the same as the second priority; or
Selecting a haptic mode with a higher priority and ignoring a haptic mode with a lower priority if the first priority is different from the second priority.
9. The apparatus of claim 7, wherein the determination unit is configured to, when the first haptic mode is different from the second haptic mode:
determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority;
determining that the second haptic pattern is a haptic pattern to be output if the first priority is lower than the second priority, and ignoring the first haptic pattern; or
Determining one of the first haptic mode and the second haptic mode as a haptic mode to be output if the first priority is equal to the second priority, and ignoring the other of the first haptic mode and the second haptic mode.
10. The apparatus of claim 7, wherein the determination unit is configured to, when the first haptic mode is different from the second haptic mode:
determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to precede the second haptic pattern if the first priority is higher than the second priority and the second priority is higher than or equal to a predetermined threshold;
determining that the first haptic pattern is a haptic pattern to be output and ignoring the second haptic pattern if the first priority is higher than the second priority and the second priority is lower than a predetermined threshold;
determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be after the second haptic pattern if the first priority is lower than the second priority and the first priority is higher than or equal to a predetermined threshold;
determining that the second haptic pattern is a haptic pattern to be output and ignoring the first haptic pattern if the first priority is lower than the second priority and the first priority is lower than a predetermined threshold;
determining that the first haptic pattern and the second haptic pattern are haptic patterns to be output and the output of the first haptic pattern is timed to be before the second haptic pattern if the first priority is equal to the second priority and both are higher than or equal to a predetermined threshold; or
If the first priority is equal to the second priority and both are below a predetermined threshold, determining one of the first haptic mode and the second haptic mode as a haptic mode to be output and ignoring the other of the first haptic mode and the second haptic mode or ignoring both the first haptic mode and the second haptic mode.
11. The apparatus of claim 7, further comprising an output list maintenance unit for establishing a haptic pattern output list and inserting the determined haptic pattern to be output into the haptic pattern output list after the timer expires, and deleting the haptic pattern from the haptic pattern output list when the determined haptic pattern to be output is performed or cancelled.
12. A mobile electronic device, comprising:
at least one haptic output device; and
the haptic effect control apparatus of any of claims 7-11, for controlling the at least one haptic output device according to the method of any of claims 1-6.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110647060.2A CN113253848A (en) | 2021-06-10 | 2021-06-10 | Method and device for controlling tactile feedback and electronic equipment comprising device |
PCT/CN2022/094245 WO2022257737A1 (en) | 2021-06-10 | 2022-05-20 | Haptic effect control method and apparatus, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110647060.2A CN113253848A (en) | 2021-06-10 | 2021-06-10 | Method and device for controlling tactile feedback and electronic equipment comprising device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113253848A true CN113253848A (en) | 2021-08-13 |
Family
ID=77187408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110647060.2A Pending CN113253848A (en) | 2021-06-10 | 2021-06-10 | Method and device for controlling tactile feedback and electronic equipment comprising device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113253848A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257737A1 (en) * | 2021-06-10 | 2022-12-15 | 武汉市聚芯微电子有限责任公司 | Haptic effect control method and apparatus, and electronic device |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140104165A1 (en) * | 2012-05-16 | 2014-04-17 | Immersion Corporation | System and method for display of multiple data channels on a single haptic display |
CN105302291A (en) * | 2014-05-30 | 2016-02-03 | 意美森公司 | Haptic notification manager |
CN107566661A (en) * | 2017-10-27 | 2018-01-09 | 维沃移动通信有限公司 | The reminding method and mobile terminal of a kind of notification message |
CN107797655A (en) * | 2016-09-06 | 2018-03-13 | 苹果公司 | For generating equipment, method and the graphic user interface of tactile output |
CN107797658A (en) * | 2016-09-06 | 2018-03-13 | 苹果公司 | Equipment, method and graphic user interface for tactile mixing |
CN108702420A (en) * | 2016-03-04 | 2018-10-23 | 苹果公司 | context aware alarm |
CN111158465A (en) * | 2019-12-09 | 2020-05-15 | 瑞声科技(新加坡)有限公司 | Force touch vibration feedback method and system |
-
2021
- 2021-06-10 CN CN202110647060.2A patent/CN113253848A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140104165A1 (en) * | 2012-05-16 | 2014-04-17 | Immersion Corporation | System and method for display of multiple data channels on a single haptic display |
CN105302291A (en) * | 2014-05-30 | 2016-02-03 | 意美森公司 | Haptic notification manager |
CN108702420A (en) * | 2016-03-04 | 2018-10-23 | 苹果公司 | context aware alarm |
CN107797655A (en) * | 2016-09-06 | 2018-03-13 | 苹果公司 | For generating equipment, method and the graphic user interface of tactile output |
CN107797658A (en) * | 2016-09-06 | 2018-03-13 | 苹果公司 | Equipment, method and graphic user interface for tactile mixing |
CN110794967A (en) * | 2016-09-06 | 2020-02-14 | 苹果公司 | Device, method and graphical user interface for generating haptic output |
CN107566661A (en) * | 2017-10-27 | 2018-01-09 | 维沃移动通信有限公司 | The reminding method and mobile terminal of a kind of notification message |
CN111158465A (en) * | 2019-12-09 | 2020-05-15 | 瑞声科技(新加坡)有限公司 | Force touch vibration feedback method and system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022257737A1 (en) * | 2021-06-10 | 2022-12-15 | 武汉市聚芯微电子有限责任公司 | Haptic effect control method and apparatus, and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9958944B2 (en) | Encoding dynamic haptic effects | |
US8619051B2 (en) | Haptic feedback system with stored effects | |
US9030428B2 (en) | Generating haptic effects for dynamic events | |
CN107533450B (en) | Display method and terminal equipment | |
CN109388234B (en) | Haptic effect encoding and rendering system | |
CN104252226A (en) | Information processing method and electronic equipment | |
WO2018161811A1 (en) | H5-based page displaying method and terminal | |
CN106406924B (en) | Control method and device for starting and quitting picture of application program and mobile terminal | |
CN109067984B (en) | Data transmission method, electronic device and computer readable storage medium | |
US20170168628A1 (en) | Method and electronic device for split-screen display | |
CN109032732B (en) | Notification display method and device, storage medium and electronic equipment | |
CN103617020A (en) | Method and equipment for generating random number in application program | |
CN107197082A (en) | A kind of information prompting method and terminal | |
CN111796884B (en) | Access control method, device, equipment and computer readable storage medium | |
CN113110748B (en) | Haptic effect control method and device and electronic equipment | |
CN113253848A (en) | Method and device for controlling tactile feedback and electronic equipment comprising device | |
CN115361180B (en) | Voice processing method based on physical key, electronic equipment, device and medium | |
CN113296638A (en) | Method and device for controlling tactile feedback and electronic equipment comprising device | |
WO2023103913A1 (en) | Function implementation method and apparatus for electronic device, and electronic device | |
WO2018077170A1 (en) | Virtual navigation bar processing method and terminal | |
CN104503736A (en) | Information prompt method and device | |
WO2022257737A1 (en) | Haptic effect control method and apparatus, and electronic device | |
CN107241488B (en) | Data interaction method and mobile terminal | |
US20180203725A1 (en) | Method and controlling apparatus for controlling an application of an electronic apparatus | |
CN108184016A (en) | A kind of method, terminal and computer readable storage medium that ringing tone is set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |