Recognizing Repeated Speech in a Mobile Computing Device

Abstract
A method is disclosed herein for recognizing a repeated utterance in a mobile computing device via a processor. A first utterance is detected being spoken into a first mobile computing device. Likewise, a second utterance is detected being spoken into a second mobile computing device within a predetermined time period. The second utterance substantially matches the first spoken utterance and the first and second mobile computing devices are communicatively coupled to each other. The processor enables capturing, at least temporarily, a matching utterance for performing a subsequent processing function. The performed subsequent processing function is based on a type of captured utterance.
Description
FIELD OF THE DISCLOSURE

The present disclosure relates generally to recognizing and analyzing vocal expressions spoken into a mobile computing device and more particularly to monitoring the vocal expressions for matches.


BACKGROUND

Mobile computing devices (sometimes also referred to as mobile communication devices, hereinafter referred to as “device”) such as smartphones and tablet computing devices, for example, are equipped with transceivers for communicating utterances (defined herein as vocal expressions of a user of the device) to another user of another device. Much information can be passed between the users of the devices during their conversation.





BRIEF DESCRIPTION OF THE FIGURES

The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed invention, and explain various principles and advantages of those embodiments.



FIG. 1 is an illustration of two speakers using individual mobile computing devices.



FIG. 2 is an illustration of a short segment of speech passing between the two speakers shown in FIG. 1



FIG. 3 is another illustration of a different segment of speech passing between the two speakers shown in FIG. 1.



FIG. 4 is an example flowchart for recognizing the segmented speech between speakers.





Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.


The apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.


DETAILED DESCRIPTION

A method is disclosed herein for recognizing a repeated utterance in a mobile computing device via a processor. A first utterance is detected being spoken into a first mobile computing device. Likewise, a second utterance is detected being spoken into a second mobile computing device within a predetermined time period. The second utterance substantially matches the first spoken utterance and the first and second mobile computing devices are communicatively coupled to each other. The processor enables capturing, at least temporarily, a matching utterance for a subsequent processing function. The subsequent processing function to be performed is based on a type of captured utterance.


Another method is disclosed herein for recognizing repeated utterance in a mobile computing device via the processor, a transceiver and a user interface. The transceiver includes at least a receiver and may include a transmitter. At least a portion of a first device address is received at the transceiver from a second computing device during a voice-based session between the mobile computing device and the second computing device. At least a portion of a second device address is detected at the user interface directly subsequent to receiving the at least a portion of the first device address from the second computing device. The processor determines that the first and second device addresses substantially match. The substantial match of the first and second device addresses may be captured in memory in response to determining that the first and second device addresses substantially match. A termination of the voice-based session is detected by one of the components of the mobile computing device, such as the transceiver or the processor. A function of the mobile computing device is activated by the processor based on the substantial match of the first and second device addresses in response to detecting the termination of the voice-based session.



FIG. 1 is an illustration 100 showing a first speaker 110 speaking into a mobile computing device 115. The mobile computing device 115 can be a smartphone, a cordless phone, a cellular phone, a tablet computer, a gaming device, a wearable computing device, or a wired phone, for example. FIG. 1 also shows a second speaker 120 speaking into a second mobile computing device 125. It is contemplated that there may be numerous speakers and users of mobile computing devices in a group call. However, for simplicity and clarity two speakers in conversation are described hereafter.


The second mobile computing device 125 can also be a smartphone, a cordless phone, a cellular phone, a tablet computer, a gaming device, a wearable computing device, or a wired phone, for example. Notably, the first and second mobile computing devices need not be alike. First mobile computing device 115 is communicatively coupled to second mobile computing device 125 via a network 130. The network 130 can be a cellular network employing cellular technology such as 2G, 3G, 4G, LTE, and HSPA+, for example. Alternatively, network 130 can be a wireless network employing WiFi technology or a wired network, or a combination of already described network technology employed to provide a communication link.


First and second speaker 110, 120 engage in a conversation that is analyzed for repeated utterances of the conversation by one of the speakers. FIG. 2 illustrates an example 200 of utterances or speech or vocal expressions exchanged between first speaker 110 and second speaker 120. In one embodiment, first speaker 110 speaks utterance 210 (“847”), while second speaker 120 speaks utterance 220 (“847”). Utterances 210 and 220 match exactly in FIG. 2, hence second speaker 120 repeated first speaker's utterance exactly. The repeated utterance occurs within a predetermined time period 270 to avoid including stray or unrelated conversation or noise as recognized utterances or speech.


Continuing with the conversation shown in FIG. 2, first speaker 110 speaks utterance 230 (“2012”). Second speaker 120 speaks utterance 240 (“2012”), which matches exactly with first speaker's utterance; hence second speaker 120 repeated first speaker's utterance exactly. The matched utterances are combined in a formatted data string 250. The formatted data string 250 can be a telephone number, address, code, a person's name, a business name, a store name, or other characterizing information. The formatted data string 250 can be temporarily stored in a storage location 260. Storage location 260 can be ROM, flashdrive, a cache, a server, a buffer, or other memory device suitable for storing data. Therefore, the matched utterance 255 is at least temporarily stored in storage location 260.


When a matched utterance is determined it can be displayed as written text, animation, or a hyperlink, for example. As such, displayed written text of the matched utterance can be employed as a hyperlink to a website.



FIG. 3 illustrates an example 300 of unmatched utterances spoken by second speaker 120. Initially, first speaker 110 speaks utterance 210 (“847”), thereafter second speaker 120 speaks utterance 220 (“847”). Utterances 210 and 220 match exactly in FIG. 2, hence second speaker 120 repeated first speaker's utterance exactly. The repeated utterance occurs within a predetermined time period 270. The time period can be in units of seconds or minutes, for example.


Continuing with the conversation shown in FIG. 3, first speaker 110 speaks utterance 230 (“2012”). Second speaker 120, thereafter, speaks utterance 310 (“2000”), which does not match utterance 230 spoken by first speaker 110 in predetermined time period 270. Accordingly, there is no formatted data string formed and no temporary storage of said formatted data string. Additionally, the order of speakers and repeated utterances can be reversed. That is first speaker may repeat second speaker's statement.


The repeated utterances in both FIGS. 2 and 3 are segmented, parsed, partitioned, or separated during the predetermined time period. Hence, their complete meaning is not known immediately. Upon forming a formatted data string from the segmented utterances can one know whether the segmented utterances in their entirety form an address, a telephone number, a banking number, or a retail establishment name, for example.



FIG. 4 shows by way of example, a flowchart 400 useful for implementing one or more embodiments with a processor. Step 402 initializes the process or method. Step 404 detects a first spoken utterance into a first mobile communication device. Step 406 detects a second spoken utterance into a second mobile communication device.


An inquiry is performed by step 408 as to whether the first spoken utterance detected in step 404 matches the second spoken utterance detected in step 406. Should an affirmative match be found, the matching spoken utterance is temporarily stored by step 410. Step 412 determines a particular type of utterance. Subsequent processing functions are performed or initiated by step 414, based on the type of utterance for the mobile communication device. Optionally, step 416 can be employed to display the matching spoken utterance on either the first mobile communication device, or on the second mobile communication device, or on multiple mobile communication devices.


If no matched utterance is found by step 408, then further detection is performed by step 404 on future spoken utterances.



FIG. 5 shows by way of example, a flowchart 500 useful for implementing one or more embodiments with a processor. Step 502 initializes the process or method. Step 504 detects a plurality of segmented utterances spoken into a first mobile computing device. The plurality of segmented utterances spoken into the first mobile computing device can form a complete message. Step 406 detects whether each repeated utterance segment spoken into a second mobile computing device within a defined time period matches each of the plurality of segmented utterances spoken into the first mobile computing device.


An inquiry is performed by step 508 as to whether the first spoken utterances detected in step 504 matches the second spoken utterances detected in step 506. Step 510 alerts the second mobile computing device when a mismatch of segmented spoken utterances is detected. The alert can include a display of the mismatched utterance, or other visual notifications such as color changes, flags, font changes. In addition, an audible alert can include the mobile computing device speaking the mismatched utterance or usage of another audible signal, including a whistle, a siren, a horn, or any sound that may connote that an error has occurred. Step 512 enables correction of detected mismatched segmented spoken utterances. Optionally, the mobile communication device can be provided with a user feature that allows the user to disable this auto-correcting feature, if the user of the mobile communication device prefers to do so.


The inquiry of step 508 continues until the message formed from the plurality of matched segmented utterances is completely spoken into the second mobile computing device. Should an affirmative match be found, the matching spoken utterances are temporarily stored by step 514. Therefore, a segmented phone number spoken in segmented utterances can be stored as a complete phone number, because it is a complete message. Step 516 determines a particular type of utterance. Subsequent processing functions are performed or initiated by step 518, based on the type of utterance or the type of captured message, for the mobile communication device.


The subsequent processing functions can include, for example, applications or operative functions that launch a displayed map; open a browser window; initialize a banking operation; open a contact or address list; append a photograph or image; provide retail establishment operations information, or initialize a camera sensor. Additional subsequent functions can include a dialing function corresponding to phone numbers; a location search function; an information search function; a music player function; an e-book reader function. One or more filters may be employed to discern certain spoken utterances, for example, a filter for a spoken retail establishment can yield speedy results pertaining to the retail establishment without resorting to looking for information in a contact list or on a website. Likewise, a spoken utterance relating to a music group can be filtered to provide a music anthology about the particular music group.


It should be noted that the first and second device addresses may be a variety of different addresses associated with the devices, such as, but not limited to, phone numbers, messaging addresses (such as email addresses, instant messaging addresses, SMS addresses, and the like), and other identifying addresses of computing devices. It should also be noted that, for some embodiments, a first portion of the second device address may be detected directly subsequent (i.e., with no other voice-based signals therebetween) to a first portion of the first device address being received, and a second portion of the second device address may be detected directly subsequent to a second portion of the first device address being received. For these embodiments, the second portion of the first device address may be received directly subsequent to the first portion of the second device address being detected. In other embodiments, the second device address may detected directly subsequent to receiving the first device address from the second computing device.



FIG. 6 illustrates, by way of example, a flowchart 600 for recognizing a repeated utterance in a mobile computing device. Step 602 initializes a voice-based session. Step 604 directs a transceiver to receive at least a portion of a first device's address. Therefore, at least a portion of a first device address can be received from a second computing device during a voice-based session between the mobile computing device and the second computing device. The device address can include a phone number, an email address, a short messaging service (SMS) address, or other messaging addresses such as multi-media messaging service (MMS).


Step 606 of flowchart 600 detects a second device address at a user interface for the first device. The second device address can be in portions and can include a phone number, an email address, a short messaging service (SMS) address, or other messaging addresses such as multi-media messaging service (MMS). Therefore, at least a portion of a second device address is detected directly subsequent to receiving the at least a portion of the first device address from the second computing device.


Step 608 has a processor, for the mobile computing device, determines whether a match of the first and second device addresses has occurred or exists. In one embodiment, the match of addresses can be substantially or nearly the same, if not exact. Step 610 detects a termination of the voice-based session.


Subsequently, step 612 activates a function of the first device based on a match of the first device address and the second device address. Additional or optional steps can include steps 620-626. Step 620 detects the second device address after the second device receives the first device address. Therefore, at least a first portion of the second device address is detected directly subsequent to receiving a first portion of the first device address.


Step 622 detects second device address after receipt of first device address. Therefore, at least a second portion of the second device address is detected directly subsequent to receiving a second portion of the first device address.


Step 624 detects second device address after receiving the first device address. Accordingly, when at least a portion of a second device address is detected directly subsequent to receiving the at least a portion of the first device address, then the second device address is detected directly subsequent to receiving the first device address from the second computing device.


Step 626 captures, in a memory location, the matching address of the first and second computing devices. Therefore, the substantial match of the first and second device addresses are captured in memory in response to determining that the first and second device addresses substantially match.



FIG. 7 shows an example block diagram of a mobile computing device 700. Mobile computing device 700 includes a transceiver 710 further comprising a transmitter 712 and receiver 714 for transmitting and receiving electrical and communication signals over a network. Mobile computing device 700 also includes a display 720 further comprising a user interface 725 for displaying useful information to a user of the mobile communication device 700 and enabling the user to input data. A processor 730 interprets, directs, and analyzes for the mobile communication device 700. The processor 730 is configured to run or operate any of the disclosed methods herein. The processor 730 is communicatively coupled to a memory location 740, one or more sensors 750, a microphone 760, and one or more audio speakers 770. Additionally, processor 730 is communicatively coupled to display 720 and transceiver 710, and may include a clock 732. Clock 732 enables processor 730 to perform several steps in a timely manner and also enables processor 730 to track the occurrence of events related to time.


In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of present teachings.


The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential features or elements of any or all the claims. The invention is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of those claims as issued.


Moreover in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” “has”, “having,” “includes”, “including,” “contains”, “containing” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms “a” and “an” are defined as one or more unless explicitly stated otherwise herein. The terms “substantially”, “essentially”, “approximately”, “about” or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art, and in one non-limiting embodiment the term is defined to be within 10%, in another embodiment within 5%, in another embodiment within 1% and in another embodiment within 0.5%. The term “coupled” as used herein is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is “configured” in a certain way is configured in at least that way, but may also be configured in ways that are not listed.


It will be appreciated that some embodiments may be comprised of one or more generic or specialized processors (or “processing devices”) such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of the method and/or apparatus described herein. Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application specific integrated circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic. Of course, a combination of the two approaches could be used.


Moreover, an embodiment can be implemented as a computer-readable storage medium having computer readable code stored thereon for programming a computer (e.g., comprising a processor) to perform a method as described and claimed herein. Likewise, computer-readable storage medium can comprise a non-transitory machine readable storage device, having stored thereon a computer program that include a plurality of code sections for performing operations, steps or a set of instructions.


Examples of such computer-readable storage mediums include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (Read Only Memory), a PROM (Programmable Read Only Memory), an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory) and a Flash memory. Further, it is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation.


The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.

Claims
  • 1. A method for recognizing repeated utterance in a mobile computing device, comprising: via a processor, detecting a first utterance spoken into a first mobile computing device;via the processor, detecting a second utterance spoken into a second mobile computing device within a predetermined time period, the second utterance spoken substantially matches the first utterance spoken; wherein the first mobile computing device and the second mobile computing device are communicatively coupled to each other; andvia the processor, capturing, at least temporarily, a matching utterance for performing a subsequent processing function; wherein the subsequent processing function is based on a type of captured utterance.
  • 2. The method according to claim 1, further comprising enabling at least the second mobile computing device to display the matching utterance as text.
  • 3. The method according to claim 2, further comprising enabling the displayed text of the matching utterance to be employed as a hyperlink.
  • 4. The method according to claim 1, wherein the subsequent processing function is a dialing function.
  • 5. The method according to claim 1, wherein the subsequent processing function is a location search function.
  • 6. The method according to claim 1, wherein the subsequent processing function is an information search function.
  • 7. A method for recognizing repeated utterance in a mobile computing device, comprising: via a processor, detecting a plurality of segmented utterances spoken into a first mobile computing device; wherein the plurality of segmented utterances when combined form a complete message;via the processor, detecting whether each repeated utterance segment spoken into a second mobile computing device within a defined time period matches each of the plurality of segmented utterances spoken into the first mobile computing device; wherein the first mobile computing device and the second mobile computing device are communicatively coupled to each other;via the processor, alerting the second mobile computing device when a mismatch of segmented utterances are detected;via the processor, enabling a correction of the detected mismatched segmented utterance;continuing above steps until the complete message formed from the plurality of matched segmented utterances is completely spoken into the second mobile computing device; andvia the processor, capturing, at least temporarily, the complete message for subsequent processing function; wherein the subsequent processing function is based on a type of captured message.
  • 8. The method according to claim 7, wherein the subsequent processing function is a dialing function.
  • 9. The method according to claim 7, wherein the subsequent processing function is a location search function.
  • 10. The method according to claim 7, wherein the subsequent processing function is an information search function.
  • 11. The method according to claim 10, wherein the information search function includes retail establishment information.
  • 12. The method according to claim 11, further comprising a filter for a spoken retail establishment with in a predetermined time period.
  • 13. The method according to claim 7, wherein the segmented utterances are parts of a phone number and the complete message includes a complete phone number.
  • 14. A method for recognizing repeated utterance in a mobile computing device, the mobile computing device including a processor, a transceiver and a user interface, the method comprising: receiving, at the transceiver, at least a portion of a first device address from a second computing device during a voice-based session between the mobile computing device and the second computing device;detecting, at the user interface, at least a portion of a second device address directly subsequent to receiving the at least a portion of the first device address from the second computing device;determining, by the processor, that the first and second device addresses substantially match;detecting, at the transceiver or the processor, a termination of the voice-based session; andactivating, by the processor, a function of the mobile computing device based on the substantial match of the first and second device addresses in response to detecting the termination of the voice-based session.
  • 15. The method of claim 14, further comprising capturing the substantial match of the first and second device addresses in memory in response to determining that the first and second device addresses substantially match.
  • 16. The method of claim 14, wherein the first and second device addresses are phone numbers.
  • 17. The method of claim 14, wherein the first and second device addresses are messaging addresses.
  • 18. The method of claim 14, wherein detecting the at least a portion of a second device address directly subsequent to receiving the at least a portion of the first device address includes detecting the second device address directly subsequent to receiving the first device address from the second computing device.
  • 19. The method of claim 14, wherein: detecting the at least a portion of a second device address directly subsequent to receiving the at least a portion of the first device address includes detecting a first portion of the second device address directly subsequent to receiving a first portion of the first device address and detecting a second portion of the second device address directly subsequent to receiving a second portion of the first device address.