Selective Call Notification for Communication Devices
By monitoring for pauses in ongoing calls and delaying notifications until silence is detected, the device minimizes disruptions during conversations, enabling users to respond to important calls without interrupting the current call.
Patent Information
- Application Number
- CN202080072893.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-24
- Filing Date
- 2020-10-23
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2040-10-23
AI Technical Summary
Prior art In communication devices, notifications are prone to disrupt users, especially during telephone conversations, resulting in conversation participants interrupting or missing important calls.
The communication device delays notifications by monitoring pauses in voice until the conversation is paused, regenerates an audio message, providing call information, supporting a quick input operation to process the second call.
Reduces interruptions to the first call, allowing the user to process the second call without interrupting the conversation, improving user experience and efficiency.
Smart Images

Figure CN114556896B_ABST
Abstract
Description
[0001] Priority is claimed under 35 U.S.C.§119
[0002] This patent application claims the benefit of priority of U.S. Non - Provisional Application No. 16 / 663,013, filed on October 24, 2019, entitled "SELECTIVE CALL NOTIFICATION FOR A COMMUNICATION DEVICE", which is assigned to the assignee of the present application and is hereby incorporated herein by reference in its entirety. Technical Field
[0003] In general, the present disclosure relates to communication devices, and more particularly, to selective call notification for communication devices. Background Art
[0004] Electronic devices enable users to communicate with each other in various ways. For example, an electronic device (e.g., a smart phone, a tablet device, or a computer) can enable a user to access the Internet, make and receive calls, and use applications such as email and messaging services to send and receive messages. The electronic device can use an audio notification (e.g., a ringtone), a visual notification via a graphical user interface (GUI), another technique, or a combination thereof to alert the user of an incoming call or message.
[0005] In some cases, the notifications are disruptive to the user. For example, a notification received during a phone call may be disruptive to the participants of the phone call because the recipient of the call may pause the conversation to visually check the GUI of the electronic device for the phone number or contact information associated with the caller. Further, in some situations, the caller may make several calls to the recipient, increasing the disruption to the participants of the phone call and potentially frustrating the caller. In some cases, the disruption may reduce business productivity, such as by causing distractions in the workplace.
[0006] Further, some conventional techniques for reducing such disruptions may be ineffective or counterproductive in some situations. For example, a user can put the communication device in a silent mode, in which notifications are suppressed. The user may forget to re - enable the notifications, or the user may miss an important call that the user would have answered during the phone call if the notification had been provided. Summary of the Invention
[0007] In an illustrative example, a first communication device includes a memory and a processor coupled to the memory. The processor is configured to: during a first call with a second communication device, receive an indication of a second call from a third communication device. The processor is further configured to: in response to the indication of the second call, monitor the first call for a pause in speech for at least a threshold duration. The processor is further configured to: in response to detecting a pause in speech for at least a threshold duration, initiate an audio message for indicating call information associated with the second call.
[0008] In another example, a method of operating a communication device includes: during a first call between a first communication device and a second communication device, receiving an indication of a second call from a third communication device. The method further includes: in response to the indication of the second call, monitoring the first call for a pause in speech for at least a threshold duration. The method further includes: in response to detecting a pause in speech for at least a threshold duration, generating an audio message for indicating call information associated with the second call.
[0009] In another example, a computer-readable medium stores instructions executable by one or more processors to perform operations. The operations include: during a first call between a first communication device and a second communication device, receiving an indication of a second call from a third communication device. The operations further include: in response to the indication of the second call, monitoring the first call for a pause in speech for at least a threshold duration. The operations further include: in response to detecting a pause in speech for at least a threshold duration, generating an audio message for indicating call information associated with the second call.
[0010] In another example, a device includes: a unit for receiving, during a first call between a first communication device and a second communication device, an indication of a second call from a third communication device. The device further includes: a unit for monitoring, in response to the indication of the second call, the first call for a pause in speech for at least a threshold duration. The device further includes: a unit for generating, in response to detecting a pause in speech for at least a threshold duration, an audio message for indicating call information associated with the second call. Description of the Drawings
[0011] Figure 1 is a schematic diagram of an illustrative example of a system including at least one communication device configured to perform selective call notification.
[0012] Figure 2 is Figure 1 a flowchart of an illustrative example of a method of operating a communication device of the system.
[0013] Figure 3 is Figure 1Flowchart of another illustrative example of an operation method of a communication device of a system.
[0014] Figure 4 is a block diagram of an illustrative example of an electronic device, such as an electronic device included in Figure 1 the system of.
[0015] Figure 5 can be included in Figure 1 a block diagram of an illustrative example of a base station that can be included in the system of. DETAILED DESCRIPTION
[0016] According to aspects of the present disclosure, a communication device selectively provides notification of a second call received during another first call in progress at the communication device. In some examples, the communication device is configured to delay generating the notification until a pause in the conversation is detected in the first call. In some implementations, the communication device is configured to detect a pause in the conversation by monitoring the first call via one or more silence insertion descriptors (SIDs) for a particular communication protocol associated with the first call. Alternatively or additionally, in some examples, a processor or controller of the communication device is configured to monitor (e.g., “listen to”) a bus or other component of the communication device to detect a pause in the conversation, such as by monitoring a microphone bus, a speaker bus, or a transceiver bus, as illustrative examples.
[0017] In some examples, the communication device generates an audio notification in response to detecting a pause in the conversation in the first call, the audio notification announcing call information associated with the second call (e.g., caller identification (ID) or phone number). As a result, interruption of the first call is avoided. Further, by generating an audio notification that announces the call information, the called party can avoid pausing the conversation of the first call to visually determine the call information via a graphical user interface (GUI).
[0018] In some implementations, the first communication device is configured to perform one or more quick input operations that facilitate a simplified response to a second call during a first call. For example, a first user input may indicate to the first communication device a message to be sent to the caller indicating the amount of time for a callback. In some implementations, the first user input corresponds to the number of taps in a multi-tap gesture (e.g., as an illustrative example, where two taps indicate a 10-minute callback time and three taps indicate a 15-minute callback time). In some implementations, the first user input causes the communication device to send a text message to the caller (e.g., "Please call back in 10 minutes" or "Please call back in 15 minutes"). In another example, a second user input may indicate rejection of the second call, such as by routing the second call to a voicemail account associated with the communication device. In some implementations, the second user input corresponds to a press of a power button of the communication device. In another example, a third user input may indicate a transfer from the first call to the second call (e.g., by terminating the first call and switching to the second call). In some implementations, the third user input corresponds to a press of a fingerprint sensor button of the communication device.
[0019] Specific aspects of the present disclosure are further described below with reference to the accompanying drawings. In the specification, common features are designated by common reference numerals. The various terms are used only for the purpose of describing particular implementations and are not intended to be limiting of the implementations. For example, the singular forms "a", "an", and "the" are also intended to include the plural forms unless the context clearly indicates otherwise. The terms "comprise" and "comprising" are used interchangeably with "include" or "including". Additionally, the term "wherein" is used interchangeably with "where". As used herein, ordinal numbers (e.g., "first", "second", "third", etc.) that modify elements such as structures, components, operations, etc. do not themselves indicate any priority or order of the element relative to another element, but merely distinguish the element from another element having the same name (except for the use of the ordinal number). As used herein, the term "set" refers to one or more of a particular element, and the term "plurality" refers to a multiple number (e.g., two or more) of a particular element.
[0020] Refer to Figure 1, depicts a specific example of a system configured to perform selective call notification, and generally designates it as 100. System 100 includes a first communication device 110, a second communication device 164, and a third communication device 170. In some examples, one or more of the communication devices 110, 164, and 170 correspond to mobile communication devices (e.g., mobile phones).
[0021] The communication devices 110, 164, and 170 are configured to communicate using one or more networks, such as network 180. In some examples, network 180 includes a packet-switched network, a circuit-switched network, a wireless network, a wired network, a public switched telephone network (PSTN), another network, or a combination thereof. For further illustration, in some examples, network 180 includes a network operating according to the Global System for Mobile Communications (GSM) communication protocol, a network operating according to the Code Division Multiple Access (CDMA) communication protocol (e.g., Wideband CDMA (WCDMA) communication protocol), or a network operating according to the Voice over Long-Term Evolution (VoLTE) communication protocol, as illustrative examples.
[0022] In Figure 1 the example, the first communication device 110 includes a memory 126 configured to store instructions 128. The first communication device 110 also includes one or more processors (referred to as processor 144) coupled to the memory 126. Processor 144 is configured to execute instructions 128 to perform, initiate, or control one or more operations described herein.
[0023] In Figure 1 it, the first communication device 110 is configured to generate a graphical user interface (GUI) 120. For example, the first communication device 110 may include a display configured to present the GUI 120 in response to commands from processor 144. Figure 1 Also depicted is that the first communication device 110 includes one or more buttons, such as a power button 122 and a fingerprint sensor button 124. In Figure 1 it, the first communication device 110 also includes a microphone 136, a speaker 140, and a transceiver 154. It should be noted that one or both of the communication devices 164, 170 may include one or more components similar to the components described with reference to the first communication device 110.
[0024] Each component of the first communication device 110 can be coupled to one or more other components of the first communication device 110 via one or more buses or other connections. By way of example, in some examples, the microphone 136 is coupled to the processor 144 via the microphone bus 138. As an additional example, in some implementations, the speaker 140 is coupled to the processor 144 via the speaker bus 141, and the transceiver 154 is coupled to the processor 144 via the transceiver bus 156.
[0025] During operation, the first communication device 110 is configured to perform operations for a first call with the second communication device 164. As used herein, a call can include an audio-based communication session (such as a telephone call) and a video-based communication session (such as a video chat or a video conference), as illustrative examples.
[0026] In some examples, the first call is initiated by the processor 144 of the first communication device 110 (e.g., in response to an input from the first user 158, such as via a dialer application). In another example, the first call is initiated by the second communication device 164 (e.g., in response to an input from the second user 172, such as via a dialer application). During the first call, the first communication device 110 can send call data to the second communication device 164, receive call data from the second communication device 164, or both. Further by way of example, Figure 1 Figure 166 depicts the first call data associated with the first call. In some examples, the transceiver 154 is configured to send the first call data 166 to the second communication device 164 or receive the first call data 166 from the second communication device 164. In some examples, the first call data 166 includes data for representing the voice 160 of the first user 158 or the voice 174 of the second user 172.
[0027] The processor 144 is configured to receive an indication 168 of a second call from a third communication device 170 during a first call. By way of example, a third user 184 of the third communication device 170 may provide user input (e.g., via a dialer application) to the third communication device 170 to initiate the second call and send the indication 168 to the first communication device 110 (or to a telephone number associated with the first communication device 110). The indication 168 may include or correspond to a request for the first communication device 110 to accept the second call from the third communication device 170 (e.g., by connecting the first communication device 110 to the third communication device 170 via a packet-switched connection, a circuit-switched connection, or both). In some examples, the indication 168 includes a caller identification (ID) associated with the third communication device 170, the third user 184, or both. In other examples, no caller ID is provided with the indication 168. In some examples, the first communication device 110 is configured to detect a call (e.g., the second call) by receiving an indication (e.g., the indication 168) from a radio tower and base station associated with or coupled to the network 180. Alternatively or additionally, the first communication device 110 may be configured to use one or more other techniques to detect a call (e.g., the second call), such as by receiving an indication (e.g., the indication 168) from a modem or wireless router associated with or coupled to the network 180.
[0028] In some implementations, the first communication device 110 is configured to determine whether a telephone call is in progress at the first communication device 110 in response to receiving the indication 168. For example, the operating system of the first communication device 110 may detect the state of the dialer application of the first communication device 110 to detect whether a telephone call is in progress at the first communication device 110. If no call is in progress (e.g., if the indication 168 is received after termination of the first call with the second communication device 164), then the first communication device 110 may provide a reminder associated with the second call, such as by generating an audio reminder (e.g., via the speaker 140), by generating a visual reminder (e.g., via the GUI 120), by performing one or more other operations, or a combination thereof.
[0029] Alternatively, if the first communication device 110 detects that a telephone call (e.g., the first call) is in progress at the first communication device 110, then the first communication device 110 may perform a selective call notification associated with the second call. By way of example, the processor 144 is configured to monitor the first call for a pause in speech for at least a threshold duration 186 (e.g., a threshold number of seconds (s) or milliseconds (ms), as illustrative examples) in response to the indication 168 of the second call.
[0030] In some cases, the first communication device 110 is configured to monitor the first call for specific indications or specific packets associated with a communication protocol associated with the first call. As an example, a specific communication protocol may use a silence compression technique to encode silence (or sounds below a specific threshold) in one or more packets of the first call data 166. In some examples, the first call data 166 includes one or more silence insertion descriptors (SID) 167 associated with a specific communication protocol (such as the Real-Time Transport Protocol (RTP)), as a non-limiting illustrative example.
[0031] In some cases, the processor 144 is configured to count the duration associated with one or more SIDs 167 to detect a pause in the conversation of the first call. For example, in some communication protocols, the period of silence may be indicated by consecutive SIDs inserted in the first call data 166. In this example, the processor 144 may be configured to count the number of consecutive SIDs to detect a pause in the conversation of the first call, and the threshold duration 186 may correspond to a threshold number of SIDs. In another example, the period of silence may be indicated by a single SID among one or more SIDs 167 having a specific field (e.g., payload) for indicating the duration of the silence. In this example, the processor 144 may be configured to parse the field (or payload) to detect the duration, and the threshold duration 186 may correspond to a threshold duration of silence to be compared with the duration of the silence indicated by the SID.
[0032] In some examples, the processor 144 is configured to monitor the voice 160 of the first user 158 for pauses 162 that meet (e.g., are greater than) the threshold duration 186. Further by way of example, in some examples, the processor 144 is configured to monitor (e.g., “listen to”) the microphone bus 138 to detect a pause in the voice of the first user 158.
[0033] In some examples, alternatively or in addition to monitoring the voice of the first user 158, the processor 144 is configured to monitor the voice 174 of the second user 172 for pauses that meet the threshold duration 186. Further by way of example, in Figure 1 which, the voice 174 of the second user 172 includes a pause 176 and a pause 178 having a duration greater than the pause 176. In some examples, the pause 178 meets the threshold duration 186, and the pause 176 fails to meet the threshold duration 186. In some implementations, the processor 144 is configured to monitor (e.g., “listen to”) the speaker bus 141 to detect a pause in the voice of the second user 172.
[0034] In some examples, the processor 144 is configured to monitor the voices of both users 158 and 172 to detect a pause that meets a threshold duration 186. In a particular example, the processor 144 is configured to monitor (e.g., “listen to”) the transceiver bus 156 to detect a pause in the voice of the first user 158, the second user 172, or both. Further by way of example, in some cases, the processor 144 may be configured to detect simultaneous or overlapping pauses in the voices 160 and 174 by monitoring both the microphone bus 138 and the speaker bus 141 or by monitoring the transceiver bus 156.
[0035] The processor 144 is also configured to initiate an audio message 142 (e.g., a call notification for announcing a second call) in response to detecting a pause in the voice for at least the threshold duration 186. The audio message 142 indicates call information 134 associated with the second call. In a particular illustrative example, the processor 144 is configured to execute instructions 128 to provide an audio interface (e.g., an audio-based virtual assistant) to the first user 158, and the audio message 142 is played via the audio interface. In some examples, the audio message 142 is played using the speaker 140.
[0036] In some examples, the call information 134 includes a contact name associated with a third user 184 and stored at the first communication device 110. Alternatively or additionally, the call information 134 may include the phone number of the third communication device 170 or a location associated with the phone number (e.g., a location indicated by the area code or country code of the phone number). In other cases, the call information 134 may indicate that no identification information is available for the third communication device 170 (e.g., by indicating that no caller ID is available).
[0037] In some examples, the processor 144 is configured to perform a lookup operation to access the call information 134 from a call information lookup table 130 (e.g., in some examples, by accessing the call information 134 based on a caller identification (ID) 132 that may be specified by an indication 168). For example, the processor 144 may be configured to access the call information 134 in response to detecting a pause in the voice for at least the threshold duration 186. In another example, the processor 144 is configured to access the call information 134 in response to receiving an indication 168 of the second call and before detecting a pause in the voice for at least the threshold duration 186.
[0038] In some implementations, the processor 144 is configured to delay providing call information 134 to the first user 158 until a pause in the speech for at least a threshold duration 186 is detected. Delaying the presentation of the call information 134 to the first user 158 can reduce or avoid interrupting the conversation between the first user 158 and the second user 172 (e.g., by providing the call information 134 during a pause in the conversation).
[0039] In some implementations, the processor 144 is configured to monitor the first call for a pause in the conversation for at least a threshold duration 186 during a timing window 146 (e.g., a specific length of time). As a non-limiting illustrative example, the timing window 146 can correspond to x seconds, and the threshold duration 186 can correspond to y seconds, where x is a positive integer, and where y is a positive integer less than or equal to x. In this example, in response to an indication 168 of a second call, the processor 144 can monitor the first call for x seconds to identify a pause in the conversation for at least y seconds.
[0040] In some cases, the processor 144 may fail to identify a pause in the conversation for at least a threshold duration 186 during the timing window 146 (e.g., during an active conversation between the first user 158 and the second user 172). In some examples, the processor 144 is configured to reject the second call in response to failing to detect a pause in the speech within the timing window 146 for at least a threshold duration 186. In a particular example, the processor 144 is configured to reject the second call during the first call without providing a reminder (e.g., a beep) for indicating the second call. As a further example, in some examples, the processor 144 is configured to reject the second call during the first call without providing the call information 134 (e.g., not generating an audio message 142 during the first call). Rejecting the second call during the first call without providing the call information 134 can reduce or avoid interrupting the conversation between the first user 158 and the second user 172 (e.g., by avoiding interrupting the first user 158 or the second user 172 to provide a beep or other noise for indicating the second call). As used herein, rejecting the second call can include: avoiding connecting the first communication device 110 to the third communication device 170, routing the second call to a voicemail account associated with the first communication device 110 (e.g., via a packet-switched connection, a circuit-switched connection, or both), or a combination thereof.
[0041] In some examples, the processor 144 is configured to detect the termination of a first call and to provide call information 134 (e.g., via a missed call notification) after the termination of the first call. As an example, the processor 144 may detect an input at the first communication device 110 for terminating the first call (e.g., via an input from the first user 158 using the GUI 120). As another example, the processor 144 may detect the termination of the first call by the second communication device 164 (e.g., after the second user 172 hangs up). When the termination of the first call is detected, the processor 144 may provide the call information 134 using an audio message (e.g., the audio message 142 or another audio message), using the GUI 120, or a combination thereof.
[0042] In conjunction with certain aspects of the present disclosure, when generating the audio message 142 during the first call, the first communication device 110 is configured to receive user input during the first call for indicating whether to temporarily continue the first call (e.g., by performing a "soft" rejection of a second call), to reject the second call (e.g., by performing a "hard" rejection of the second call), or to perform a handover from the first call to the second call. In an illustrative example, the first communication device 110 is configured to receive user input via one or more "quick input" operations that may be quickly performed by the first user 158 with minimal or reduced disruption to the first call. In some examples, the quick input operation may be performed by the first user 158 in response to the audio message 142.
[0043] In an example of a first quick input operation, the processor 144 is configured to detect a first user input 102 during the first call and after the audio message 142 is generated during the first call. In some examples, the processor 144 is configured to send a message 182 to the third communication device 170 based on the first user input 102 for requesting a callback within a specific time amount 152.
[0044] As a further example, in a particular example, the first user input 102 corresponds to a first number 148 of taps in a multi - tap gesture 104, and the processor 144 is configured to determine a particular amount of time 152 based on the first number 148 of taps, such as by multiplying the first number 148 by a second number 150 (which is a positive number). As used herein, the multi - tap gesture 104 may include or correspond to an action of a first user 158 using one or more fingers to perform one or more gestures including multiple finger taps on the first communication device 110. As a non - limiting illustrative example, the first user 158 may perform two taps in the multi - tap gesture 104 to request a callback within 10 minutes. In this particular example, the second number 150 equals five. As another non - limiting illustrative example, in another implementation, the first user 158 may perform three taps in the multi - tap gesture 104 to request a callback within 30 minutes. In this example, the second number 150 equals ten.
[0045] In some implementations, the first user input 102 is received via the GUI 120. For example, the multi - tap gesture 104 may be detected using the GUI 120 (or a display presenting the GUI 120, such as a touchpad portion of the display that receives user input at the GUI 120). In other examples, the first user input 102 may be received at another part of the first communication device 110. As a particular example, the first communication device 110 may optionally include a touch port reserved for multi - tap gestures such as the multi - tap gesture 104. In some examples, the touch port is located at the rear of the first communication device 110 so that the first user 158 can perform the multi - tap gesture 104 without removing the first communication device 110 from the first user 158's ear.
[0046] In an example of a second quick - input operation, the processor 144 is configured to detect a second user input 106 during a first call and after initiating an audio message 142. In some implementations, the processor 144 is configured to reject the second call based on the second user input 106 (e.g., by routing the second call to a voicemail account associated with the first communication device 110). In some examples, the second user input 106 corresponds to a press of the power button 122 (e.g., a short press). For example, a short press of the power button 122 has a press duration that is less than the press duration of a hard press of the power button 122 that turns off the first communication device 110.
[0047] In an example of a third quick input operation, the processor 144 is configured to detect a third user input 108 after initiating the audio message 142 and to accept a second call based on the third user input 108. As a specific example, the third user input 108 may correspond to a press (e.g., a hard press) of the fingerprint sensor button 124. For example, a hard press of the fingerprint sensor button 124 may have a press duration greater than a soft press of the fingerprint sensor button 124 that initiates another operation at the first communication device 110. In some examples, the third user input 108 causes the processor 144 to transfer the operation of the first communication device 110 from the first call to the second call (e.g., by terminating the first call and by accepting the second call). In another example, the third user input 108 causes the processor 144 to place the first call on hold while the second call is active and until the second call is terminated (or until a user input for returning to the first call is received). As used herein, accepting the second call may include connecting the first communication device 110 to a third communication device 170 (e.g., via a packet switched connection, a circuit switched connection, or both) and terminating the first call (or placing the first call on hold).
[0048] It should be noted that one or more of the parameters described herein may be user configurable. As an example, the "sensitivity" of the selective call notification technique may be adjusted (e.g., via the operating system of the first communication device 110), such as by enabling the first user 158 to adjust the duration of the timing window 146, adjust the threshold duration 186, or both, as illustrative examples. As another example, in some implementations, the buttons or input devices associated with the first user input 102, the second user input 106, and the third user input 108 are configurable by the first user 158 (e.g., as an illustrative example, the first user 158 may reassign the second user input 106 from a soft press of the power button 122 to a hard press of the fingerprint sensor button 124). As an additional example, in some implementations, the first user 158 may configure the amount of time associated with each tap in the multi-tap gesture 104 or the value of the second quantity 150. By way of illustration, the first user 158 may change the duration associated with a tap from indicating five minutes to indicating two minutes or ten minutes, and may change the second quantity 150 from five to ten.
[0049] Although certain operations may be described herein as being performed once, it should be noted that, without departing from the scope of the present disclosure, the operations may be performed multiple times. For example, although the detection of a pause in the conversation of a first call has been described as a single operation, in some implementations, detecting a pause in the conversation of a first call includes multiple operations. As an illustrative example, the processor 144 may initiate multiple queries of a component (e.g., any one of the microphone bus 138, the speaker bus 141, or the transceiver bus 156) to detect a pause in the conversation of a first call.
[0050] As another illustrative example, a first operation may be performed during a first call to detect a first pause in a conversation for at least a threshold duration 186 during a timing window 146. In response to detecting the first pause, a lookup operation may be performed to determine call information 134 in response, and the audio message 142 may be queued in a buffer. After queuing the audio message 142, a second operation may be performed to detect a second pause in a conversation for at least a threshold duration 186 during the timing window 146. In response to detecting the second pause, the audio message 142 may be output from the buffer and played (e.g., using the speaker 140). Alternatively, if the second pause is not detected in the first call, the audio message 142 may be discarded from the buffer (e.g., by invalidating, deleting, or overwriting the audio message 142 at the buffer). In some cases, queuing the audio message 142 at the buffer and then detecting the second pause may ensure that the audio message 142 is played during a pause in the conversation (e.g., by avoiding a situation where the conversation is resumed while accessing the call information 134, which may result in the audio message 142 being played after the conversation is resumed).
[0051] In other implementations, if the second pause is not detected in the first call, the audio message 142 is played at the first communication device 110 using an adjusted volume setting. For example, the audio message 142 may be played using a reduced volume setting in response to the failure to detect the second pause (compared to a larger volume setting used to play the audio message 142 in response to detecting the second pause in the first call). In some cases, the use of the reduced volume setting reduces the disruption to the first call (e.g., by reducing or avoiding the "interruption" to the first user 158 due to the playing of the audio message 142). Certain aspects of an example of the volume setting operation are further described with reference to Figure 3 to describe.
[0052] Reference Figure 1One or more of the described examples improve the user experience during a call. For example, by delaying the announcement of call information 134 until a pause in the conversation is detected in the first call, interruption of the conversation within the first call is reduced or avoided. As another example, reference Figure 1 One or more of the described quick input operations enable the first user 158 to quickly and easily address (e.g., direct the first communication device 110 to process) a second call (e.g., without requiring the first user 158 to visually determine the call information 134 via the GUI 120).
[0053] Reference Figure 2 , depicts a specific example of method operations of a communication device, and generally designates it as 200. In a specific example, the operations of method 200 are performed by Figure 1 The first communication device 110 (e.g., a mobile communication device). In some examples, one or more operations of method 200 are initiated, executed, or controlled by Figure 1 The processor 144.
[0054] Method 200 may include: at 202, at a first communication device, making a first call between the first communication device and a second communication device. By way of example, the first communication device 110 may send first call data 166 to the second communication device 164 during the first call, or may receive first call data 166 from the second communication device 164 during the first call.
[0055] Method 200 further includes: at 204, receiving an indication of a second call from a third communication device during the first call. For example, the first communication device 110 may receive an indication 168 of a second call from the third communication device 170 during the first call.
[0056] Method 200 further includes: at 206, in response to the indication of the second call, monitoring the first call for a pause in speech for at least a threshold duration. For example, the first communication device 110 may monitor the first call for a pause in speech (e.g., pause 162 or pause 178) for at least a threshold duration 186. Further by way of example, in some examples, monitoring the first call includes monitoring the microphone bus 138 for a pause in speech. Alternatively or additionally, in another example, monitoring the first call includes monitoring the speaker bus 141 for a pause in speech. Alternatively or additionally, in another example, monitoring the first call includes monitoring the transceiver bus 156 for a pause in speech.
[0057] If no pause in the speech for at least a threshold duration is detected at 208, method 200 may further include: at 212, determining whether a timing window has expired. For example, the first communication device 110 may monitor the first call for a pause in the speech for at least a threshold duration 186 during the timing window 146.
[0058] When the timing window has not expired, method 200 may continue at 208. In response to detecting the expiration of the timing window, at 214, method 200 may further include rejecting the second call. For example, the second call may be routed to a voicemail account associated with the first communication device 110.
[0059] In response to detecting a pause in the speech for at least a threshold duration at 208, method 200 further includes: at 210, generating an audio message for indicating call information associated with the second call. For example, the first communication device 110 may play (e.g., using the speaker 140) an audio message 142 for indicating the call information 134 associated with the second call.
[0060] Method 200 may further include: at 216, detecting a user input after initiating the audio message. For example, the user input may correspond to the first user input 102, the second user input 106, or the third user input 108, as illustrative examples.
[0061] In some examples, method 200 includes: at 218, sending, based on the user input, a message to a third communication device for requesting a callback after a specific amount of time. For example, the first communication device 110 may send a message 182 to the third communication device 170 for requesting a callback after a specific amount of time 152. In the illustrative example, the user input is the first user input 102, and corresponds to a first number 148 of taps in the multi - tap gesture 104, and determining the specific amount of time 152 includes multiplying the first number 148 by a second number 150.
[0062] In another example, method 200 includes: at 220, rejecting the second call based on the user input. In some examples, the first communication device 110 rejects the second call by routing the second call to a voicemail account associated with the first communication device 110. In a specific example, the user input is the second user input 106, and corresponds to a press of the power button 122, and the first communication device 110 rejects the second call in response to the press of the power button.
[0063] In another example, method 200 includes: at 222, accepting a second call based on a user input. For example, the first communication device 110 may accept the second call (e.g., while terminating the first call or while placing the first call on hold). In some examples, the user input is a third user input 108 and corresponds to a press of the fingerprint sensor button 124.
[0064] Reference Figure 2 One or more examples described with respect to method 200 improve the user experience during a call. For example, by delaying the announcement of call information until a pause in the conversation is detected in the first call, interruption of the first call is reduced or avoided. As another example, one or more quick input operations of method 200 enable a user to quickly and easily address the second call (e.g., without requiring the user to visually determine call information 134 via the GUI 120).
[0065] Reference Figure 3 , depicts another specific example of method operations of a communication device, and generally designates it as 300. In a specific example, the operations of method 300 are performed by Figure 1 the first communication device 110 (e.g., a mobile communication device). In some examples, one or more operations of method 300 are initiated, executed, or controlled by Figure 1 the processor 144.
[0066] At 302, method 300 includes performing an initialization operation to initialize a plurality of variables. In Figure 3 the example, the plurality of variables include T, T_silence, and T_announce, and the initialization operation includes setting T = 0, T_silence = 0, and T_announce = 0. In a specific example, T indicates the amount of time since receiving an indication 168 of the second call from the third communication device 170. In a specific example, when the first communication device 110 receives the indication 168, T is initialized to zero. In a specific example, the initialization operation is performed during a first call between communication devices 110, 164 and in response to receiving an indication 168 of the second call from the third communication device 170.
[0067] At 304, method 300 further includes performing a first determination as to whether T is less than T_threshold. In a specific example, T_threshold corresponds to the duration of the timing window 146. As a non-limiting example, in some implementations, T_threshold has a duration of 15 seconds. In other examples, T_threshold may have a different duration.
[0068] In response to determining that T is less than T_threshold (at 304), method 300 further includes: at 306, incrementing T, and at 308, performing a second determination as to whether T is less than T_threshold (after incrementing T).
[0069] In response to determining that T is greater than or equal to T_threshold (at 304 or at 308), method 300 further includes: at 318, starting T_announcement. As an example, starting T_announcement can include adjusting the value of T_announcement (e.g., adjusting from zero to one). In some examples, T_announcement corresponds to a flag stored in a configuration register of the first communication device 110. The value of the flag can indicate whether an announcement (e.g., audio message 142) will be played at the first communication device 110. For example, a zero value of the flag can indicate that no announcement is scheduled to be played, and a one value of the flag can indicate that an announcement is scheduled to be played.
[0070] Alternatively, in response to determining that T is less than T_threshold (at 308), method 300 further includes: at 310, performing a first silence detection operation. For example, the first communication device 110 can monitor a first call with the second communication device 164 for a pause in speech for at least a threshold duration 186, such as by detecting one or more SIDs 167, or by monitoring the microphone bus 138, the speaker bus 141, or the transceiver bus 156, as illustrative examples.
[0071] If no silence is detected (at 310), then method 300 includes: at 312, setting T_silence to zero. Alternatively, in response to detecting silence (at 310), method 300 includes: at 314, incrementing T_silence, and at 316, determining whether T_silence is greater than or equal to a threshold. As a non-limiting example, in some implementations, the threshold corresponds to a duration of three seconds. In other examples, the threshold can correspond to a different duration.
[0072] Method 300 further includes: at 320, performing a second silence detection operation. For example, the first communication device 110 can monitor a first call with the second communication device 164 for a pause in speech for at least a threshold duration 186, such as by detecting one or more SIDs 167, or by monitoring the microphone bus 138, the speaker bus 141, or the transceiver bus 156, as illustrative examples. If silence is detected (at 320), then method 300 further includes: at 322, generating an announcement. In some examples, generating the announcement includes playing the audio message 142 using a first volume setting.
[0073] Alternatively, if no silence is detected (at 320), method 200 also includes: at 324, performing a volume adjustment. For example, the first communication device 110 may adjust a first volume setting to a second volume setting that is less than the first volume setting.
[0074] Method 300 also includes: at 326, generating an announcement using the adjusted volume setting. For example, generating the announcement includes playing an audio message 142 using the second volume setting.
[0075] Reference Figure 3 One or more examples described by method 300 of the reference improve the user experience during a call. For example, by delaying the announcement of call information until silence is detected in the first call, interruption of an ongoing conversation in the first call can be reduced or avoided. As another example, using the adjusted volume setting to generate an announcement can reduce or avoid disturbing the participants in the first call.
[0076] Reference Figure 4 , a block diagram depicting a particular illustrative example of an electronic device, and generally designated as 400. In a particular example, the electronic device 400 corresponds to the first communication device 110. Alternatively or additionally, one or more aspects of the electronic device 400 may correspond to the second communication device 164, the third communication device 170, or both.
[0077] In the illustrative example, the electronic device 400 corresponds to a mobile device (e.g., a cellular phone). Alternatively or additionally, one or more aspects of the electronic device 400 may be implemented within: a computer (e.g., a server, laptop computer, tablet computer, or desktop computer), an access point, a base station, a wearable electronic device (e.g., a personal camera, a head-mounted display, or a watch), a vehicle (e.g., within a control system or console), an autonomous vehicle (e.g., a robotic car or a drone), a household appliance, a set-top box, an entertainment device, a navigation device, a personal digital assistant (PDA), a television, a monitor, a tuner, a wireless unit (e.g., a satellite wireless unit), a music player (e.g., a digital music player or a portable music player), a video player (e.g., a digital video player, such as a digital video disc (DVD) player or a portable digital video player), a robot, a medical device, a virtual reality (VR) device, an augmented reality (AR) device, another electronic device, or a combination thereof.
[0078] The electronic device 400 includes one or more processors, such as processor 144 and graphics processing unit (GPU) 496. Processor 144 may include a central processing unit (CPU), a digital signal processor (DSP), another processing device, or a combination thereof.
[0079] The electronic device 400 may further include one or more memories, such as memory 126. Memory 126 may be coupled to the processor 144, the GPU 496, or both. Memory 126 may include random access memory (RAM), magnetoresistive random access memory (MRAM), flash memory, read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), one or more registers, a hard disk, a removable disk, a compact disc read only memory (CD-ROM), another memory device, or a combination thereof.
[0080] Memory 126 may store instructions 128. Instructions 128 may be executable by the processor 144, by the GPU 496, or by both. Instructions 128 may be executable to perform, initiate, or control one or more operations described herein, such as one or more operations described with reference to method 200, one or more operations described with reference to method 300, or a combination thereof. In a particular example, the processor 144 is configured to execute the monitoring instruction 404 and the user input detection instruction 406 to perform, initiate, or control one or more operations described herein, such as one or more operations described with reference to method 200, one or more operations described with reference to method 300, or a combination thereof.
[0081] The encoder / decoder (CODEC) 434 may also be coupled to the processor 144. CODEC 434 may be coupled to one or more microphones, such as microphone 136. CODEC 434 may include memory 418. Memory 418 may store instructions 495 executable by CODEC 434. In a particular example, microphone 136 and speaker 140 are coupled to CODEC 434.
[0082] Figure 4 A display controller 426 is also shown coupled to the processor 144 and the display 428. In a particular example, the display 428 is configured to present the GUI 120.
[0083] The electronic device 400 may further include a transmitter 482 coupled to the antenna 442. The transmitter 482 may be configured to send the encoded signal 402 (e.g., to the second communication device 164 or to the third communication device 170). In a particular example, the encoded signal 402 includes or corresponds to Figure 1 the first call data 166. In another example, the encoded signal 402 includes or corresponds to Figure 1Message 182. Alternatively or additionally, electronic device 400 may include a receiver 484 configured to receive the encoded signal 402 (e.g., from the second communication device 164 or from the third communication device 170). Receiver 484 may be coupled to antenna 442, to one or more other antennas, or a combination thereof. In Figure 4 the example, transmitter 482 and receiver 484 are included in transceiver 154.
[0084] In a particular example, processor 144, GPU 496, memory 126, display controller 426, CODEC 434, and transceiver 154 are included in a system-on-chip (SoC) device 422. Further, one or more input devices 430 (e.g., power button 122, fingerprint sensor button 124, or both) and power supply 444 may be coupled to SoC device 422. Additionally, in a particular example, as Figure 4 shown, display 428, one or more input devices 430, speaker 140, microphone 136, antenna 442, and power supply 444 are located external to SoC device 422. However, each of display 428, one or more input devices 430, speaker 140, microphone 136, antenna 442, and power supply 444 may be coupled to a component of SoC device 422, such as to an interface or a controller.
[0085] Referring to Figure 5 FIG. [FIGURE NUMBER], a block diagram depicting a particular illustrative example of base station 500. In various implementations, base station 500 may have more or fewer components than Figure 5 shown. In some examples, base station 500 is included in Figure 1 network 180 or is configured to control certain operations of Figure 1 network 180.
[0086] In some implementations, base station 500 may communicate with any one of communication devices 110, 164, and 170 (e.g., via network 180). As a particular example, network 180 may include a cellular network controlled or accessed by base station 500.
[0087] Base station 500 may be part of a wireless communication system. The wireless communication system may include multiple base stations and multiple wireless devices. The wireless communication system may be a Long Term Evolution (LTE) system, a Code Division Multiple Access (CDMA) system, a Global System for Mobile Communications (GSM) system, a Wireless Local Area Network (WLAN) system, or some other wireless system. The CDMA system may implement Wideband CDMA (WCDMA), CDMA 1X, Evolution-Data Optimized (EVDO), Time Division-Synchronous CDMA (TD-SCDMA), or some other version of CDMA.
[0088] In some implementations, one or more wireless devices of a wireless communication system (e.g., any one of communication devices 110, 164, and 170) may also be referred to as a user equipment (UE), mobile station, terminal, access terminal, user unit, station, etc. The wireless device may include a cellular phone, smart phone, tablet device, wireless modem, personal digital assistant (PDA), handheld device, laptop computer, smartbook, netbook, tablet device, cordless phone, wireless local loop (WLL) station, Bluetooth device, etc.
[0089] Various functions may be performed by one or more components of base station 500 (and / or in other components not shown), such as sending and receiving messages and data (e.g., audio data). For example, base station 500 may be configured to send first call data 166 from first communication device 110 to second communication device 164 (or vice versa) during a first call between first communication device 110 and second communication device 164. As another example, base station 500 may be configured to receive an indication 168 of a second call from third communication device 170, and send indication 168 to first communication device 110. As an additional example, base station 500 may be configured to receive message 182 from first communication device 110, and send message 182 to third communication device 170.
[0090] In a particular example, base station 500 includes a processor 506 (e.g., a CPU). In Figure 5 the example, processor 506 may be configured to access monitoring instruction 404 and execute monitoring instruction 404 to detect a pause in a conversation of a first call for at least threshold duration 186.
[0091] In some examples, base station 500 is configured to selectively delay providing indication 168 of a second call to first communication device 110 until a pause in a conversation of a first call for at least threshold duration 186 is detected. Base station 500 may be configured to selectively forward indication 168 of a second call to first communication device 110 in response to detecting a pause in a conversation of a first call for at least threshold duration 186.
[0092] The base station 500 may include a transcoder 510. The transcoder 510 may include an audio CODEC 508. For example, the transcoder 510 may include one or more components (e.g., circuits) configured to perform the operations of the audio CODEC 508. As another example, the transcoder 510 may be configured to execute one or more computer-readable instructions to perform the operations of the audio CODEC 508. Although the audio CODEC 508 is shown as a component of the transcoder 510, in other examples, one or more components of the audio CODEC 508 may be included in the processor 506, another processing component, or a combination thereof. For example, a decoder 538 (e.g., a vocoder decoder) may be included in the receiver data processor 564. As another example, an encoder 536 (e.g., a vocoder encoder) may be included in the transmit data processor 582.
[0093] The transcoder 510 may be configured to transcode messages and data between two or more networks. The transcoder 510 may be configured to convert messages and audio data from a first format (e.g., a digital format) to a second format. By way of example, the decoder 538 may decode an encoded signal having the first format, and the encoder 536 may encode the decoded signal into an encoded signal having the second format. Additionally or alternatively, the transcoder 510 may be configured to perform data rate adaptation. For example, the transcoder 510 may down-convert or up-convert a data rate without changing the format of the audio data. By way of example, the transcoder 510 may down-convert a 64 kilobits per second (kbps) signal to a 16 kbps signal.
[0094] The audio CODEC 508 may include an encoder 536 and a decoder 538. The encoder 536 may include an encoder selector, a speech encoder, and a non-speech encoder. The decoder 538 may include a decoder selector, a speech decoder, and a non-speech decoder.
[0095] The base station 500 may include a memory 532. The memory 532, such as a computer-readable storage device, may include instructions (such as monitoring instructions 404). The instructions may include one or more instructions executable by the processor 506, the transcoder 510, or a combination thereof.
[0096] Base station 500 may include a plurality of transmitters and receivers (e.g., transceivers) coupled to an antenna array, such as a first transceiver 552 and a second transceiver 554. The antenna array may include a first antenna 542 and a second antenna 544. The antenna array may be configured to communicate wirelessly with one or more wireless devices. For example, the second antenna 544 may receive a data stream 514 (e.g., a bit stream) from a wireless device. The data stream 514 may include a message, data (e.g., encoded voice data), or a combination thereof.
[0097] Base station 500 may include a network connection 560, such as a backhaul connection. The network connection 560 may be configured to communicate with a core network or one or more base stations of a wireless communication network. For example, base station 500 may receive a second data stream (e.g., a message or audio data) from the core network via network connection 560. Base station 500 may process the second data stream to generate a message or audio data, and provide the message or audio data to one or more wireless devices via one or more antennas of the antenna array, or to another base station via network connection 560. In a particular implementation, network connection 560 may be a wide area network (WAN) connection, by way of illustrative and non-limiting example. In some implementations, the core network may include or correspond to a public switched telephone network (PSTN), a packet backbone network, or both.
[0098] Base station 500 may include a media gateway 570 coupled to network connection 560 and processor 506. The media gateway 570 may be configured to convert between media streams of different telecommunications technologies. For example, media gateway 570 may convert between different transport protocols, different coding schemes, or both. By way of illustration, media gateway 570 may convert from a PCM signal to a real-time transport protocol (RTP) signal, by way of illustrative and non-limiting example. Media gateway 570 may convert data between a packet-switched network (e.g., an Internet protocol telephone (VoIP) network, an IP multimedia subsystem (IMS), a fourth generation (4G) wireless network (such as LTE, WiMax, and UMB, etc.), a circuit-switched network (e.g., PSTN), and a hybrid network (e.g., a second generation (2G) wireless network (such as GSM, GPRS, and EDGE), a third generation (3G) wireless network (such as WCDMA, EV-DO, and HSPA, etc.)).
[0099] In addition, the media gateway 570 may include a transcoder (such as transcoder 510), and may be configured to transcode data when codecs are incompatible. For example, as an illustrative non-limiting example, the media gateway 570 may transcode between an Adaptive Multi-Rate (AMR) codec and a G.711 codec. The media gateway 570 may include a router and multiple physical interfaces. In some implementations, the media gateway 570 may also include a controller (not shown). In a particular implementation, the media gateway controller may be external to the media gateway 570 or external to the base station 500. The media gateway controller may control and coordinate the operations of multiple media gateways. The media gateway 570 may receive control signals from the media gateway controller, and may act to bridge between different transmission technologies, and may add services to the end-user capabilities and connections.
[0100] The base station 500 may include a demodulator 562, which is coupled to transceivers 552, 554, a receiver data processor 564, and a processor 506. The receiver data processor 564 may be coupled to the processor 506. The demodulator 562 may be configured to demodulate the modulated signals received from the transceivers 552, 554, and provide the demodulated data to the receiver data processor 564. The receiver data processor 564 may be configured to extract messages or audio data from the demodulated data, and send the messages or audio data to the processor 506.
[0101] The base station 500 may include a transmit data processor 582 and a transmit Multiple-Input Multiple-Output (MIMO) processor 584. The transmit data processor 582 may be coupled to the processor 506 and the transmit MIMO processor 584. The transmit MIMO processor 584 may be coupled to the transceivers 552, 554, and the processor 506. In some implementations, the transmit MIMO processor 584 may be coupled to the media gateway 570. The transmit data processor 582 may be configured to receive messages or audio data from the processor 506, and encode the messages or audio data based on a coding scheme such as Code Division Multiple Access (CDMA) or Orthogonal Frequency Division Multiplexing (OFDM), as an illustrative non-limiting example. The transmit data processor 582 may provide the encoded data to the transmit MIMO processor 584.
[0102] The encoded data can be multiplexed with other data (such as pilot data) using CDMA or OFDM techniques to generate multiplexed data. The multiplexed data can then be modulated (i.e., symbol mapped) by the transmit data processor 582 based on a particular modulation scheme (e.g., binary phase shift keying (BPSK), quadrature phase shift keying (QSPK), M-ary phase shift keying (M-PSK), M-ary quadrature amplitude modulation (M-QAM), etc.) to generate modulation symbols. In a particular implementation, the encoded data and other data can be modulated using different modulation schemes. The data rate, coding, and modulation for each data stream can be determined by instructions executed by the processor 506.
[0103] The transmit MIMO processor 584 can be configured to receive the modulation symbols from the transmit data processor 582, and can further process the modulation symbols and perform beamforming on the data. For example, the transmit MIMO processor 584 can apply beamforming weights to the modulation symbols. The beamforming weights can correspond to one or more antennas of the antenna array from which the modulation symbols are transmitted.
[0104] During operation, the second antenna 544 of the base station 500 can receive the data stream 514. The second transceiver 554 can receive the data stream 514 from the second antenna 544 and can provide the data stream 514 to the demodulator 562. The demodulator 562 can demodulate the modulated signal of the data stream 514 and provide the demodulated data to the receive data processor 564. The receive data processor 564 can extract the audio data from the demodulated data and provide the extracted audio data to the processor 506.
[0105] The processor 506 can provide the audio data to the transcoder 510 for transcoding. The decoder 538 of the transcoder 510 can decode the audio data from the first format into decoded audio data, and the encoder 536 can encode the decoded audio data into a second format. In some implementations, the encoder 536 can encode the audio data using a higher data rate (e.g., up-conversion) or a lower data rate (e.g., down-conversion) compared to that received from the wireless device. In other implementations, the audio data can not be transcoded. Although transcoding (e.g., decoding and encoding) is shown to be performed by the transcoder 510, the transcoding operations (e.g., decoding and encoding) can be performed by multiple components of the base station 500. For example, decoding can be performed by the receive data processor 564, and encoding can be performed by the transmit data processor 582. In other implementations, the processor 506 can provide the audio data to the media gateway 570 for conversion to another transport protocol, coding scheme, or both. The media gateway 570 can provide the converted data to another base station or the core network via the network connection 560.
[0106] The decoder 538 and the encoder 536 can select a corresponding decoder (e.g., a speech decoder or a non-speech decoder) and a corresponding encoder to transcode (e.g., decode and encode) the frames. The decoder 538 and the encoder 536 can determine on a per-frame basis whether each received frame of the data stream 514 corresponds to a narrowband frame or a wideband frame, and can select a corresponding decoding output mode (e.g., a narrowband output mode or a wideband output mode) and a corresponding encoding output mode to transcode (e.g., decode and encode) the frames. The encoded audio data (such as transcoded data) generated at the encoder 536 can be provided to the transmit data processor 582 or the network connection 560 via the processor 506.
[0107] The transcoded audio data from the transcoder 510 can be provided to the transmit data processor 582 for encoding according to a modulation scheme (such as OFDM) to generate modulation symbols. The transmit data processor 582 can provide the modulation symbols to the transmit MIMO processor 584 for further processing and beamforming. The transmit MIMO processor 584 can apply beamforming weights, and can provide the modulation symbols to one or more antennas of the antenna array, such as the first antenna 542, via the first transceiver 552. Thus, the base station 500 can provide the transcoded data stream 516 corresponding to the data stream 514 received from the wireless device to another wireless device. The transcoded data stream 516 can have a different coding format, data rate, or both compared to the data stream 514. In other implementations, the transcoded data stream 516 can be provided to the network connection 560 for transmission to another base station or the core network.
[0108] In conjunction with the described embodiments, a computer-readable medium (e.g., the memory 126) stores instructions (e.g., any one of the instructions 128, the monitoring instructions 404, or the user input detection instructions 406) executable by one or more processors (e.g., the processor 144) to perform operations. The operations include: receiving an indication (e.g., the indication 168) of a second call from a third communication device (e.g., the third communication device 170) during a first call between a first communication device (e.g., the first communication device 110) and a second communication device (e.g., the second communication device 164). The operations further include: monitoring the first call for a pause (e.g., the pause 162 or the pause 178) in speech for at least a threshold duration (e.g., the threshold duration 186) in response to the indication of the second call. The operations further include: generating an audio message (e.g., the audio message 142) for indicating call information (e.g., the call information 134) associated with the second call in response to detecting a pause in speech for at least the threshold duration.
[0109] In connection with the described embodiments, the apparatus includes: a unit (e.g., transceiver 154) for receiving an indication (e.g., indication 168) of a second call from a third communication device (e.g., third communication device 170) during a first call between a first communication device (e.g., first communication device 110) and a second communication device (e.g., second communication device 164). The apparatus further includes: a unit (e.g., processor 144) for monitoring the first call for a pause (e.g., pause 162 or pause 178) in speech for at least a threshold duration (e.g., threshold duration 186) in response to the indication of the second call. The apparatus further includes: a unit (e.g., speaker 140) for generating an audio message (e.g., audio message 142) for indicating call information (e.g., call information 134) associated with the second call in response to detecting a pause in speech for at least the threshold duration.
[0110] As used herein, "coupled" may include communicatively coupled, electrically coupled, magnetically coupled, physically coupled, optically coupled, and combinations thereof. Two devices (or components) may be coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) directly or indirectly via one or more other devices, components, wires, buses, networks (e.g., a wired network, a wireless network, or a combination thereof), etc. Two devices (or components) that are electrically coupled may be included in the same device or in different devices and may be connected via electronics, one or more connectors, or inductive coupling, as illustrative non-limiting examples. In some implementations, two devices (or components) that are communicatively coupled (such as for electronic communication) may send and receive electrical signals (digital signals or analog signals) directly or indirectly (such as via one or more wires, buses, networks, etc.).
[0111] As used herein, "generate", "calculate", "use", "select", "access", and "determine" may be used interchangeably. For example, "generate", "calculate", or "determine" a value, characteristic, parameter, or signal may refer to actively generating, calculating, or determining the value, characteristic, parameter, or signal, or may refer to using, selecting, or accessing a value, characteristic, parameter, or signal that has been generated, such as by a component or device.
[0112] The devices and functions disclosed above may be designed and represented using computer files (e.g., RTL, GDSII, GERBER, etc.). The computer files may be stored on a computer-readable medium. Portions or all of such files may be provided to a manufacturing handler that manufactures a device based on such files. The resulting product includes a wafer, which is then diced into die and packaged into an integrated circuit (or "chip"). The integrated circuit is then employed in an electronic device, such as Figure 1communication devices 110, 164, and 170, Figure 4 electronic device 400, and Figure 5 base station 500.
[0113] Each of the illustrative logical blocks, configurations, modules, circuits, and algorithmic steps described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software executed by a processor, or combinations thereof. The various illustrative components, blocks, configurations, modules, circuits, and steps have been generally described above in terms of their functionality. Whether such functionality is implemented as hardware or processor-executable instructions depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0114] One or more operations of the methods or algorithms described herein may be embodied directly in hardware, in a software module executed by a processor, or in combinations thereof. For example, one or more operations of methods 200 and 300 may be initiated, controlled, or executed by a field-programmable gate array (FPGA) device, an application-specific integrated circuit (ASIC), a processing unit such as a central processing unit (CPU), a digital signal processor (DSP), a controller, another hardware device, a firmware device, or combinations thereof. The software module may reside in random access memory (RAM), magnetoresistive random access memory (MRAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, a hard disk, a removable disk, a compact disc read-only memory (CD-ROM), or any other form of non-transitory storage medium known in the art. The exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In an alternative manner, the storage medium may be integrated into the processor. The processor and the storage medium may be located in an application-specific integrated circuit (ASIC). The ASIC may be located in a computing device or a user terminal. In an alternative manner, the processor and the storage medium may be located as discrete components in a computing device or a user terminal.
[0115] Provide a previous description of the disclosed examples so that those skilled in the art can make or use the disclosed examples. For those skilled in the art, various modifications to these examples will be readily apparent, and the principles defined herein can be applied to other examples without departing from the scope of the present disclosure. Accordingly, the present disclosure is not intended to be limited to the examples shown herein but is to be accorded the widest possible scope consistent with the principles and novel features as defined by the following claims.
Claims
1. A first communication device, comprising: a memory; and a processor coupled to the memory and configured to: during a first call with a second communication device, receive an indication of a second call from a third communication device; in response to the indication of the second call, monitor the first call for a pause in speech for at least a threshold duration during a timing window; and in response to detecting a pause in speech for at least the threshold duration during the timing window, initiate an audio message for indicating call information associated with the second call; or in response to not detecting a pause in speech for at least the threshold duration during the timing window, initiate the audio message for indicating call information associated with the second call at the end of the timing window.
2. The first communication device according to claim 1, wherein The processor is further configured to: delay providing the call information until a pause in the speech is detected.
3. The first communication device according to claim 1 further includes a microphone coupled to the processor, wherein, The processor is further configured to monitor a microphone bus coupled to the microphone to detect the pause in the speech.
4. The first communication device according to claim 1, further comprising a speaker coupled to the processor, wherein, The processor is further configured to monitor a speaker bus coupled to the speaker to detect the pause in the speech.
5. The first communication device according to claim 1, further comprising a transceiver coupled to the processor, wherein, The processor is further configured to monitor a transceiver bus coupled to the transceiver to detect the pause in the speech.
6. The first communication device according to claim 1, wherein, The processor is further configured to: detect a first user input after initiating the audio message, and based on the first user input, send a message to the third communication device for requesting a callback after a specific amount of time.
7. The first communication device according to claim 6, wherein, The first user input corresponds to a first number of taps in a multi-tap gesture, wherein the processor is further configured to determine the specific amount of time by multiplying the first number by a second number that is a positive number, and wherein the multi-tap gesture corresponds to an action of a user performing one or more gestures including multiple finger taps on the first communication device using one or more fingers.
8. The first communication device according to claim 1, wherein, The processor is further configured to: detect a second user input after initiating the audio message, and based on the second user input, reject the second call.
9. The first communication device according to claim 8, further comprising a power button coupled to the processor, wherein, The second user input corresponds to a press of the power button.
10. The first communication device according to claim 1, wherein, The processor is further configured to: detect a third user input after initiating the audio message, and based on the third user input, accept the second call.
11. The first communication device according to claim 10, further comprising a fingerprint sensor button coupled to the processor, wherein, The third user input corresponds to a press of the fingerprint sensor button.
12. The first communication device according to claim 1, further comprising: an antenna; and a transmitter coupled to the antenna and configured to send an encoded signal.
13. The first communication device according to claim 12, wherein, The first communication device corresponds to a mobile communication device including the antenna, the transmitter, the memory, and the processor.
14. A method of operating a communication device, the method comprising: during a first call between a first communication device and a second communication device, receive an indication of a second call from a third communication device; In response to the indication of the second call, monitor the first call for a pause in speech for at least a threshold duration during a timing window; And In response to detecting a pause in speech for at least the threshold duration during the timing window, generate an audio message for indicating call information associated with the second call; Or In response to not detecting a pause in speech for at least the threshold duration during the timing window, initiate the audio message for indicating call information associated with the second call at the end of the timing window.
15. The method according to claim 14, wherein, Monitoring the first call includes: monitoring a microphone bus coupled to a microphone to detect the pause in speech.
16. The method according to claim 14, wherein, Monitoring the first call includes: monitoring a speaker bus coupled to a speaker to detect the pause in speech.
17. The method according to claim 14, wherein Monitoring the first call includes: monitoring a transceiver bus coupled to a transceiver to detect the pause in speech.
18. The method according to claim 14, further comprising: Detecting a first user input after initiating the audio message; And Based on the first user input, sending a message to the third communication device for requesting a callback after a specific amount of time.
19. The method according to claim 18, wherein The first user input corresponds to a first number of taps in a multi-tap gesture, and wherein determining the specific amount of time includes multiplying the first number by a second number that is a positive number.
20. The method according to claim 14, further comprising: Detecting a second user input after initiating the audio message; And Based on the second user input, rejecting the second call.
21. The method according to claim 20, wherein, The second user input corresponds to a press of a power button.
22. The method according to claim 14, further comprising: Detecting a third user input after initiating the audio message; And Based on the third user input, accepting the second call.
23. The method according to claim 22, wherein The third user input corresponds to a press of a fingerprint sensor button.
24. The method according to claim 14, wherein, The first communication device corresponds to a mobile communication device.
25. A non-transitory computer-readable medium storing instructions executable by one or more processors to perform operations, the operations including: During a first call between a first communication device and a second communication device, receiving an indication of a second call from a third communication device; In response to the indication of the second call, monitoring the first call for a pause in speech for at least a threshold duration during a timing window; And In response to detecting a pause in speech for at least the threshold duration during the timing window, generating an audio message for indicating call information associated with the second call; Or In response to not detecting a pause in speech for at least the threshold duration during the timing window, initiating the audio message for indicating call information associated with the second call at the end of the timing window.
26. The non-transitory computer-readable medium according to claim 25, wherein, Detecting a pause in the speech includes performing one or more of the following for the pause in the speech: monitoring a microphone bus coupled to a microphone, monitoring a speaker bus coupled to a speaker, or monitoring a transceiver bus coupled to a transceiver.
27. The non-transitory computer-readable medium according to claim 25, wherein, The operation is performed at a mobile communication device corresponding to the first communication device.
28. An apparatus, comprising: a unit for receiving an indication of a second call from a third communication device during a first call between a first communication device and a second communication device; a unit for monitoring the first call for a pause in speech of at least a threshold duration during a timing window in response to the indication of the second call; and a unit for generating an audio message for indicating call information associated with the second call in response to detecting a pause in speech of at least the threshold duration during the timing window; or a unit for initiating the audio message for indicating call information associated with the second call at the end of the timing window in response to not detecting a pause in speech of at least the threshold duration during the timing window.
29. The apparatus according to claim 28, wherein The receiving unit, the monitoring unit, and the generating unit are included in a mobile communication device corresponding to the first communication device.
Citation Information
Patent Citations
Polite call waiting notification
US20040001584A1
A primary device that interfaces with a secondary device based on gesture commands
US20150106770A1