This disclosure relates generally to communication gateways and, more particularly, to methods and apparatus to communicate via Internet protocol network services using a multi-fidelity audio gateway.
Consumers often have residential or commercial Internet protocol (IP) based broadband access to the Internet via multiple network communication services (e.g., high-speed digital subscriber line (DSL), cable, satellite, fiber, wireless networks such as WiMax, 802.11(b) or (g), etc.). With broadband Internet access, a person may communicate via a plurality of communication services (e.g., electronic mail, instant messaging, etc.) via a presentation device (e.g., a set top box, a game console, a computer, or a computer-based media center). Additionally, broadband Internet access enables persons to consume high-fidelity multimedia content from the Internet. However, the fidelity of the multimedia content ultimately presented to a person is based on the degree to which a system accurately reproduces the essential characteristics of an original signal conveying the multimedia content.
In one known example, a person may consume multimedia content via high-fidelity presentation devices such as a high definition television (HDTV) coupled directly or indirectly to the Internet. For example, a person may purchase and download the content from known sources of multimedia content (e.g., Apple iTunes®, etc.) and then use the presentation device to consume the content. In another known example, users may consume audio content from the Internet via high-fidelity audio devices.
Broadband Internet access also enables a person to communicate via two-way (full duplex) voice communication via the Internet. One known example of a two-way communication is Voice over Internet Protocol (VoIP), which encodes a person's speech into narrow-band data packets (i.e., 64 kilobit data packets). Due to the narrow-band VoIP communications, there is little audio fidelity improvement in two-way voice communications as compared to existing two-way voice calls using a public switched telephone network (PSTN). Despite improvements in bandwidth to persons, even newer VoIP communications based on IP Multimedia Systems architecture route narrow-band VoIP data packets.
The audio fidelity of Internet-based voice communications has not improved significantly, especially when considering the improvement in bandwidth available to persons via broadband Internet access. In the following examples, methods and apparatus to communicate via a multi-fidelity audio gateway are described. Although the following examples focus on an example of a residential media system for personal use, the disclosure extends to all environments and applications in which high fidelity communications are useful. For example, the examples described herein may be more generally applied to media systems for business use, educational use, etc.
The communications router 104 may also receive service modules while the communications router 104 is operating (i.e., the service modules are hot-pluggable and can be installed or removed while the router is operating). The service modules are hardware, software, and/or firmware modules that may include at least network service to the communications router 104. For example, one example service module may be a multi-fidelity audio gateway (audio gateway) 110 that includes a voice over Internet Protocol (VoIP) client 112 to enable communication between people via the network 102. Service modules provide the communications router 104 functionality to perform network-related services and functions that persons may desire. For example, service modules may include, but are not limited to, an Internet protocol television (IPTV) client to receive video programs via the network 102, a PSTN client to send and receive PSTN phone calls, a video conferencing client, etc.
The service modules associated with the media system 100 may also include additional devices inside the service module to provide additional functions to the service module and/or communications router 104. For example, the audio gateway 110 of
Additionally, the service modules associated with the communications router 104 may interoperate with each other. For example, the audio gateway 110 may send and/or receive communications to a second service module 118, which may be any type of communication service of interest to a person such as, for example, a Bluetooth module, an IPTV module, a PSTN module, a speech recognition module, a text-to-speech module, an address book module, etc. For example, if the audio gateway 110 receives a PSTN phone call, the audio gateway 110 may configure a Bluetooth service module to couple a person's mobile phone to the audio gateway 110 so that the person may answer the PSTN phone call via the mobile phone instead of a PSTN phone.
Consumer devices may also be coupled to the communications router 104 via service modules such as the audio gateway 110. As illustrated in the example of
In the example of
In another example, if a call recipient is using a wideband universal mobile telephone service (UMTS), then the audio gateway 110 selects a high fidelity VoIP path 216 to a high fidelity (hi-fi) bridge 218. The hi-fi bridge 218 is coupled to a high fidelity VoIP network 220 (e.g., 256 kilobit data packets) to send and receive communications via high fidelity devices associated with the media system 100. The communication path selector 204 may also select the WAS device 116 to send and/or receive data via the remote control 120.
To operate the media system 100, the remote control 120 of the media system 100 is configured to send and/or receive communication services via the audio gateway 110.
The processor 312 is in communication with a main memory including a volatile memory 318 and a non-volatile memory 320 via a bus 322. The volatile memory 318 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 320 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 318, 320 is typically controlled by a memory controller (not shown) in a conventional manner.
The remote control 120 also includes conventional interface circuits 324. The interface circuits 324 may be implemented by any type of known interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a third generation input/output (3GIO) interface.
Additionally, the interface circuits 324 may be coupled to devices in the remote control 120 to provide additional functionality. For example, to send and/or receive high bandwidth data, the interface circuits 324 may be coupled to a WAS device 332. In the example of
The remote control 120 may also send data via an IR transmitter 336 to be received by the IR receiver 114 of the audio gateway 110. The data may include commands associated with the media system 100 such as, for example, a command to increase the volume or to change the channel of an associated HDTV. To send commands to the media system 100, the remote control 120 includes an input device 330 (e.g., a series of buttons, a keyboard, a keypad, etc.). The audio gateway 110 receives and conveys the commands to a device associated with the audio gateway 110. For example, an example command may be directed to another service module (e.g., the service module 118), the communications router 104, or a communication service associated with the audio gateway 110.
One example use of the audio gateway 110 may be to send high fidelity one-way voice messages.
Once a call recipient is selected, a recording screen is presented to the person (block 506) to record a message for the message recipient. Using the remote control 120, the person may record a voice message by pressing a button associated with the remote control 120 (block 508). When the person is finished recording, the person depresses another button on the remote control 120. The remote control 120 converts the voice message into digital audio format and conveys the voice message to the audio gateway 110 (block 510).
After sending the voice message to the audio gateway 110, the display device 106 may present an option for the person to listen to the voice message (block 512). If the person selects the option to listen to the voice message, the voice message is presented to the person via a device coupled to the communications router 104 (block 514). For example, the audio playback device 314 on the remote control 120 may aurally present the voice message to the person. After the voice message is presented to the person or if the person selects the option to not listen to the voice message, the person is presented with the option to re-record the voice message (block 516). If the person selects the option to re-record the voice message, the voice message is discarded and the person is presented with the recording screen (block 506). That is, the example process 500 repeats blocks 506 to 516 until the person is satisfied with the voice message.
If the person selects the option to not re-record the voice message, the person is presented a prompt to send the voice message to the message recipient (block 518). If the person selects the send message option, the audio gateway 110 identifies a communication service and selects a communication path to the message recipient (block 522) to deliver the voice message. The example process 500 clears the display and returns the display to the initial service channel (block 524) where the example process 500 ends.
If the person selects the option to not send the message, the example process 500 prompts the person to cancel sending the message (block 520). If the person cancels, the voice message is discarded, the display returns to the service channel (block 524) and the example process 500 ends. However, if the person does not cancel, the example process 500 prompts the person to listen to the voice message (block 512). That is, the example process 500 repeats blocks 512 to 520 that repeats unless the person cancels the operation at block 518, sends the message at block 520, or re-records the voice message at block 516.
If the person does not answer the call via a two-way link, the person may choose to answer the call via a one-way link (block 610). As described above, the communications router 104 routes the incoming call to the audio gateway 110, which identifies the communication service and selects a communication path to the person (block 612). The caller identification is retrieved via known methods and the audio gateway 110 generates a voice message based on the caller's identification (block 614). The generated message may be a combination of text-to-speech and prerecorded prompts based on the identification of the caller. The generated message is then conveyed to the caller via the audio gateway 110 (block 616). After presenting the generated message to the caller, the caller may respond to the message (block 618). If the caller does not respond to the generated message, the audio gateway 110 ends the call (block 626) and the example process 600 ends. However, if the caller does respond to the message, the audio gateway 110 presents the caller's response to the person (block 620). After presenting the message from the caller, the person may respond to the message (block 622). However, if the person elects not to send a message, the display is cleared and the call ends (block 626) and, thus, the example process 600 ends.
However, if the person does respond, the person responds by pressing a button (e.g., a button labeled “talk”) on the remote control 120 and speaking into the remote control 120 (block 624). When finished recording the message, the person presses a button (e.g., a button labeled “ok”) to send the message to the caller (block 616). In other words, the example process 600 repeats blocks 616 to 624 until the call ends. If the person does not answer the call via a one-way or two-way link, the call is routed to voicemail (block 628) where the caller may leave a message and the example process 600 ends.
The system 700 of the instant example includes a processor 712 such as a general purpose programmable processor. The processor 712 includes a local memory 714, and executes coded instructions 716 present in the local memory 714 and/or in another memory device. The processor 712 may execute, among other things, the example machine readable instructions illustrated in
The processor 712 is in communication with a main memory including a volatile memory 718 and a non-volatile memory 720 via a bus 722. The volatile memory 718 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 720 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 718, 720 is typically controlled by a memory controller (not shown) in a conventional manner.
The system 700 also includes a conventional interface circuit 724. The interface circuit 724 may be implemented by any type of well known interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a third generation input/output (3GIO) interface.
One or more input devices 726 are connected to the interface circuit 724. The input device(s) 726 permit a user to enter data and commands into the processor 712. The input device(s) can be implemented by, for example, a keyboard, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
One or more output devices 728 may also be connected to the interface circuit 724. The output devices 728 can be implemented, for example, by display devices (e.g., a liquid crystal display, a cathode ray tube display (CRT), a printer and/or speakers). The interface circuit 724, thus, typically includes a graphics driver card.
The interface circuit 724 also includes a communication device (e.g., interface circuits 714) such as a modem or network interface card to facilitate exchange of data with external computers via a network (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
The system 700 also includes one or more mass storage devices 730 for storing software and data. Examples of such mass storage devices 730 include floppy disk drives, hard drive disks, compact disk drives and digital versatile disk (DVD) drives. The mass storage device 730 may implement the local storage device 720.
Of course, persons of ordinary skill in the art will recognize that the order, size, and proportions of the memory illustrated in the example systems may vary. Additionally, although this patent discloses example systems including, among other components, software or firmware executed on hardware, it will be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware or in some combination of hardware, firmware and/or software. Accordingly, persons of ordinary skill in the art will readily appreciate that the above described examples are not the only way to implement such systems.
At least some of the above described example methods and/or apparatus are implemented by one or more software and/or firmware programs running on a computer processor. However, dedicated hardware implementations including, but not limited to, an ASIC, programmable logic arrays and other hardware devices can likewise be constructed to implement some or all of the example methods and/or apparatus described herein, either in whole or in part. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the example methods and/or apparatus described herein.
It should also be noted that the example software and/or firmware implementations described herein are optionally stored on a tangible storage medium, such as: a magnetic medium (e.g., a disk or tape); a magneto-optical or optical medium such as a disk; or a solid state medium such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; or a signal containing computer instructions. A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the example software and/or firmware described herein can be stored on a tangible storage medium or distribution medium such as those described above or equivalents and successor media.
To the extent the above specification describes example components and functions with reference to particular devices, standards and/or protocols, it is understood that the methods, apparatus, and articles of manufacture described herein are not limited to such devices, standards and/or protocols. Such systems are periodically superseded by faster or more efficient systems having the same general purpose. Accordingly, replacement devices, standards and/or protocols having the same general functions are equivalents which are intended to be included within the scope of the accompanying claims.
Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.