This invention relates generally to wireless communication systems and more particularly to in-home local area networking for content such as multimedia.
With the number of households having multiple television sets increasing, and many users wanting the latest and greatest video viewing services, many households have multiple satellite receivers, cable set-top boxes, modems, et cetera. For in-home Internet access, each computer or Internet device has its own Internet connection. As such, each computer or Internet device includes a modem.
As an alternative, an in-home wireless local area network (LAN) may be used to provide Internet access and to communicate multimedia information to multiple devices within the home. In such an in-home local area network, each computer or Internet device includes a network card to access a server. The server provides the coupling to the Internet. The in-home wireless local area network can also be used to facilitate an in-home computer network that couples a plurality of computers with one or more printers, facsimile machines, as well as to multimedia content from a digital video recorder, set-top box, broadband video system, etc.
When transmitting realtime signals such as video with associated audio, the audio signal must be synchronized with the video in order for proper display and reproduction. This can provide challenges when the audio and video are reproduced by separate devices.
In an embodiment of the present invention, the clients 26, 28, 30, 32 and 33 may select playback from, and/or connection to, any one of the multimedia sources. The selection request from each client module would identify the desired multimedia source, the client, the desired service and any other information to assist the multimedia server module 12 in processing the request. As such, one client may be accessing the Internet, while another client is watching a satellite broadcast channel, while another is listening to a CD playback, while another is talking on the telephone, and yet another is watching a DVD playback. This is all done via the multimedia server module 12 without requiring the clients to have direct access to the multimedia sources and without the requirement that each client have its own multimedia source and/or multimedia source connection.
In addition, audio player 51, such as a home stereo system, home theatre system or other audio playback device, is coupled to multimedia server module 12 to provide audio playback at the server. In accordance with the present invention, the audio output generated by the multimedia server module to audio player 51 can be from a multimedia source having synchronized audio and video playback. For instance, when a DVD movie is selected for playback by one of the client modules, the audio programming that is associated with the movie can be reproduced at the audio player 51 while the video is displayed by the particular client that is associated with that client module that selected it. In this fashion, the audio player 51 and video client can be located separately, such as in separate areas of a room or separate areas of a home to accommodate more flexible multimedia configurations.
The multimedia server module 12 and one or more of the client modules 34, 36, 38, 40 and 42 include one or more features for synchronizing the audio output to audio player 51 with an associated video signal sent to one or more of the client modules 26, 28, 30, 32 and 33 in accordance with the present invention, as will be described in greater detail in the Figures that follow, and in particular, with reference to
The multimedia server module 12 communicates with the plurality of client modules 34, 36, 38, 40, and 42 via a radio frequency communication path. As such, the multimedia server module 12 and each of the client modules 34, 36, 38, 40 and 42 each include a transceiver that operates to send and receive data via the communication path.
As shown, each client module is operably coupled to one of the clients. For example, client module 34 is operably coupled to client 26, which is representative of a personal digital assistant. Client module 36 is operably coupled to client 28, which is representative of a personal computer. Client module 38 is operably coupled to client 30, which is representative of a monitor (e.g., LCD monitor, flat panel monitor, CRT monitor, et cetera). Such a monitor may include speakers, or a speaker connection, control functions including channel select, volume control, picture quality, et cetera. Client module 40 is operably coupled to client 32, which may be a television set, high definition television (HDTV), standard definition television (SDTV), a home theatre system, et cetera. Client module 42 is operably coupled to client 33, which is representative of a laptop computer.
As one of average skill in the art will appreciate, each client module may be a separate device from its associated client or embedded within the client. In addition, one of average skill in the art will further appreciate that the client modules 34, 36, 38, 40 and 42 may be implemented utilizing discrete components and/or integrated circuits.
In an embodiment of the present invention, each of the clients, via its associated client module, selects one or more channels from the plurality of channels 46. As shown, client 26 has selected channel 3 of the plurality of channels for viewing. Accordingly, client module 34 relays the channel selection of channel 3 to the multimedia server module 12. The multimedia server module 12 selects channel 3 from the plurality of channels 46. The data corresponding to channel 3 is then time multiplexed with the data for the other channels and transmitted from the multimedia server module 12 to each of the client modules 34, 36, 38, 40 and 42. Client module 34 monitors the transmission from the multimedia server module 12 and extracts the data corresponding to channel 3. The extracted data for channel 3 is then provided to the client 26 for display.
Client module 36, 38, 40 and 42 perform a similar function for their associated clients 28, 30, 32 and 25, respectively. As shown, client 28 has selected channel 505, client 30 has selected channel 106, client 32 has selected channel 206 and client 25 has selected channel 9. The client modules 36, 38, 40 and 42 provide the channel selection of its respective client to the multimedia server module 12. Multimedia server module 12 extracts the selected channels from the plurality of channels for each selection request, multiplexes the data for each of the selected channels (for this example channel 3, 9, 106, 206 and 505) into a stream of data. The stream of data is then transmitted to each of the client modules. Each client module extracts the appropriate data of the selected channel for its respective client. For example, client module 36 monitors the transmitted data for data related to channel 505, client module 38 monitors for data related to channel 106, client module 40 monitors the transmission for data related to channel 206 and client module 42 monitors the transmission for data related to channel 9.
From each client's prospective, the client 26, 28, 30, 32 and 33 has independent access to the multimedia source 23. Accordingly, client 26 may at any time change its channel selection from, for example, channel 3 to channel 120. The client module 34 provides the channel selection request which may be the absence of acknowledgements to the multimedia server module 12, which now retrieves data related to channel 120 for client 36 as opposed to channel 3. As an alternate embodiment, the functionality of client modules 34, 36, 38, 40 and 42 may vary. For example, client module 34 may not provide all the independent functionality that client module 36 does. For example, client module 34 may not have independent channel selection capabilities but only selecting channels that one of the other clients have selected. Alternatively, one client module may service a plurality of clients.
It should be noted that channel A represents a channel of an RF spectrum corresponding to one or more carrier frequencies. This is as opposed to channels 3, 9, 106, 206 and 505 discussed in association with
In an embodiment of the present invention, the transmitted multimedia content can further be encrypted in the encoding process and decrypted in the decoding process, such as by RSA encryption, WEP, or protected using other secure access protocols such as MAC address filtering, so that if the content is wirelessly received by an authorized client device, the multimedia content can be otherwise protected. Multimedia server module 12 and client module 200 share secure access data during an initialization procedure in order to secure the wireless communications between these two devices.
Further functions and features of the multimedia server module 12 and client module 200 including several alternative embodiments are presented in conjunction with
An encoder module 230 generates an encoded signal 232, such as encoded video signal 150 from an unencoded or encoded multimedia input signal 214. In an embodiment of the present invention, the encoding scheme may be one or more of multilevel, multiphase and multifrequency encoding, non-return to zero encoding, Manchester encoding, block encoding and/or nB/mB encoding wherein n>m. For example, the nB/mB may be 4B/5B encoding where 4 bits of actual data are converted into 5 bits of encoded data.
Encoding may further include compression, transrate and transcode encoding of the multimedia signal based on the content and format of multimedia signal 214 and the bandwidth and performance of channel A. In an embodiment, the multimedia signal 214 includes an analog composite video signal that is formatted in any of a number of video formats including National Television Systems Committee (NTSC), Phase Alternating Line (PAL) or Sequentiel Couleur Avec Memoire (SECAM). The encoded signal 232 may be digitized, compressed, and channel coded for transmission at low data rates in weak channel conditions or higher data rates in stronger channel conditions. Alternatively, multimedia signal 214 can be already in a digital format such as a Motion Picture Experts Group (MPEG) format (such as MPEG1, MPEG2, MPEG4), a Society of Motion Picture and Television Engineers (SMPTE) standard such as VC1, H.264, Quicktime format, Real Media format, Windows Media Video (WMV) or Audio Video Interleave (AVI), or another digital video format, either standard or proprietary. In this case, the encoding performed by encoder module 230 may be limited to encoding of the data for the channel, based on the strength or quality of the channel conditions, with or without further compression.
In an embodiment of the present invention, encoder module 230 generates an encoded signal 232 from the multimedia signal 214 that is in a digital format such as an MPEG, a Society of Motion Picture and Television Engineers (SMPTE) standard such as VC1, H.264, Quicktime format, Real Media format, Windows Media Video (WMV) or Audio Video Interleave (AVI), or another digital video format, either standard or proprietary. Transceiver module 234, in turn, produces RF signal, such as a server signal that includes the encoded video signal 150, and wirelessly transmits the RF signal to a client device, such as through client module 200. In an embodiment of the present invention, encoder module 230 can operate as a transcoder to receive a multimedia signal 214 in a first digital format, decode this signal and re-encode it into a second digital format for transmission. For example, multimedia input 214 can include a compressed MPEG2/4 input. The encoder module 230 operates to decompress the signal and re-encode it in another format, such as H.264. In addition, encoder module 230 can receive a multimedia input signal that is in a digital format such as High-Definition Multimedia Interface (HDMI). The encoder module 230 can compress and encode the digital signal into a compressed digital format.
In an embodiment of the present invention, the non-RF portions of the transceiver module 234 and the encoder module 230 can be implemented using a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, co-processors, a micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital), optionally based on operational instructions that are stored in a memory that may be a single memory device or a plurality of memory devices. Such a memory device can include a hard disk drive or other disk drive, read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the transceiver module 234 and/or encoder module 230 implement one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry based on operational instructions, the memory storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
Transceiver module 234 modulates the encoded signal 232 to produce a RF signal that includes multimedia content such as a packetized video signal at a first carrier frequency and transmits the RF signal over channel A using antenna 206. In addition, transceiver module 234 produces back channel output 310, that includes source commands 176 and video timing signal 160, based on an RF signal, such as a client signal received from the client module 200 over channel A. While not expressly shown, multimedia server module 12 can include a decoder module, such as decoder module 254 that will be discussed in conjunction with
In an embodiment of the present invention, transceiver module 234 is selectively tunable to a plurality of other carrier frequencies in response to channel selection signal 220. For instance, in an implementation of the multimedia server module 12 and client module 200 using wireless transmission link in the United States that conforms with the IEEE 802.11g standard, channel A can be selected as any of the 11 allocated channels. In an embodiment of the present invention, the channel selection signals can be preprogrammed into multimedia server module 12, dynamically chosen based on a site survey that scans the available channels to determine a suitable channel for use, received from the client module 200 or arbitrated between the client module 200 and multimedia server module 12, or selected under user control. Similarly, channel A can be implemented as a channel of a broadband wireless access network that conforms to at least one of the following standards: 802.11a, b, n or other 802.11 standard, Ultra Wideband (UWB), or Worldwide Interoperability for Microwave Access (WiMAX). Transceiver module 234 can secure the RF communication link by optionally encrypting the encoded signal 232, password protecting the data or through other secure access protocol or methodology.
In addition, multimedia server module 12 includes audio processing module 175 that produces audio output 55 from the audio signal 172. In particular, audio processing module 175 adds a time delay to the audio signal 172 during processing that is based on timing feedback from the client module in the form of video timing signal 160. This timing feedback is used by the audio processing module to synchronize the audio output 55 so that audio player 51 reproduces audio in synchronization with the display of the associated video portion of the multimedia content 214 by the client device coupled to the client module 200. Further details regarding the operation of audio processing module 175 are presented in conjunction with
In an embodiment of the present invention, multimedia server module 12 and client module 200 use a wireless transmission link that conforms with the IEEE 802.11g standard that uses a 52-subcarrier orthogonal frequency division multiplexing (OFDM) with a maximum data rate of 54 Mbits/sec. The data rate is reduced in increments in response to adverse channel conditions from 48 mbits/sec, down to as low as 6 Mbits/sec by modifying the modulation and effective coding rate from 64-quadrature amplitude modulation (64-QAM) to binary phase shift keying (BPSK). The 52 subcarriers of a channel are spaced 312.5 kHz apart, where 48 of the subcarriers carry data, and 4 subcarriers carry pilot tones. Received encoded signal 248 can be a baseband signal or a low intermediate frequency (IF) signal.
While transceiver modules 234 and 244 have been presented as RF transceivers, in an embodiment of the present invention, the source commands 174, encoded video signal 150, video timing signal 160, other multimedia content and other command and control information can optionally be sent through a physical electronic connection such as Ethernet, Universal Serial Bus (USB), Personal Computer Interface (PCI), Firewire, or small computer service interface (SCSI), ASI (Asynchronous Serial Interface), or SPI (Serial Peripheral Interface). However, other physical electronic connections, either standard or proprietary may likewise be implemented or used within the broad scope of the present invention.
Client module 200 further includes decoder module 254 for decoding the received encoded signal 248 into a decoded output signal 216, such as in a format used by the attached client. In particular, further decoding of the data can include decompression of a compressed digital signal, formatting of a video signal as in NTSC, PAL, SECAM, etc., and other formatting to match the input format of the client device. As discussed above, transceiver module 244 receives and demodulates RF signal 246 to produce a received encoded signal 248. In addition, decoder module 254 generates video timing signal 160 based on time stamps encoded in the received encoded signal 248 or other timing information. As previously discussed this feedback signal allows the production of any video content included in decoded output signal 216, to be synchronized with the audio output 55 produced by the multimedia server module 12 for local audio player 51.
In an embodiment of the present invention, the non-RF or infrared portions of transceiver module 244, remote control receiver 185 and the decoder module 254 can be implemented using a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, co-processors, a micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital), optionally based on operational instructions that are stored in a memory that may be a single memory device or a plurality of memory devices. Such a memory device can include a hard disk drive or other disk drive, read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the transceiver module 244, remote control receiver 185 and or decoder module 254 implement one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry based on operational instructions, the memory storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
In an embodiment of the present invention, transceiver module 244 is selectively tunable to a plurality of other carrier frequencies in response to channel selection signals 224. For instance, in an implementation of the multimedia server module 12 and client module 200 using wireless transmission link in the United States that conforms with the IEEE 802.11g standard, channel A can be selected as any two of the 11 allocated channels. In an embodiment of the present invention, the channel selection signals can be preprogrammed into client module 200, dynamically chosen based on a site survey that scans the available channels to determine two suitable channels for use, received from the multimedia server module 12 or arbitrated between the client module 200 and multimedia server module 12, or selected under user control.
The description above has been limited to spectrum reserved for 802.11x compliant broadband access networks, in an alternative embodiment of the present invention, other spectrum and other wireless links including Ultra Wideband (UWB), Worldwide Interoperability for Microwave Access (WiMAX) and other wireless links can likewise be implemented.
In an alternative embodiment of the present invention, the ADC 320 is implemented instead with an sampling circuit that produces discrete time samples of audio signal 172 that are delayed by adjustable delay module 324, implemented using a bucket-brigade device, tapped delay line, analog shift register, charge coupled device or other similar circuit to process the delay using discrete time, rather than digital signal processing.
In an embodiment of the present invention, the server timing signal 332 is also used to generate time stamps that are periodically encoded in the encoded video signal 150 by the encoder module 230. In this embodiment, these periodic time stamps can be extracted by the decoder module 254 of the client module 200 to generate the video timing signal 160. In operation, this allows the received video timing signal 160 to be compared to the server timing signal 332 that was used to generate this particular time stamp.
In an embodiment of the present invention, step 408 includes generating a delay signal based on the video timing signal and a server timing signal, and generating the time delay based on the delay signal. This delay signal can be generated based on the difference between the video timing signal and the server timing signal and can include a delay offset. Step 408 can further include generating the audio output in a digital audio format from a delayed audio signal. In addition, step 408 can include generating the server timing signal from the digital audio signal. The audio signal can include a digital audio signal and step 408 can include generating the server timing signal from the digital audio signal.
The audio signal can include an analog audio signal and wherein the step 408 can include converting the audio signal into digital audio. In addition, the server timing signal can be generated based on a server clock. Also, the video timing signal can generated based on a time stamp encoded in the encoded video signal. Step 400 can include transcoding the at least one video signal.
In an embodiment of the present invention, the various circuit components are implemented using 0.35 micron or smaller CMOS technology. Provided however that other circuit technologies, both integrated or non-integrated, may be used within the broad scope of the present invention.
As one of ordinary skill in the art will appreciate, the term “substantially” or “approximately”, as may be used herein, provides an industry-accepted tolerance to its corresponding term and/or relativity between items. Such an industry-accepted tolerance ranges from less than one percent to twenty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to order of magnitude differences. As one of ordinary skill in the art will further appreciate, the term “coupled”, as may be used herein, includes direct coupling and indirect coupling via another component, element, circuit, or module where, for indirect coupling, the intervening component, element, circuit, or module does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As one of ordinary skill in the art will also appreciate, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two elements in the same manner as “coupled”. As one of ordinary skill in the art will further appreciate, the term “compares favorably”, as may be used herein, indicates that a comparison between two or more elements, items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater magnitude than signal 2, a favorable comparison may be achieved when the magnitude of signal 1 is greater than that of signal 2 or when the magnitude of signal 2 is less than that of signal 1.
As the term module is used in the description of the various embodiments of the present invention, a module includes a functional block that is implemented in hardware, software, and/or firmware that performs one or more module functions such as the processing of an input signal to produce an output signal. As used herein, a module may contain submodules that themselves are modules. When implemented in software or firmware, each module can be implemented using a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on operational instructions that are stored in a memory. The memory may be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the processing module implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry.
Thus, there has been described herein an apparatus and method, as well as several embodiments including a preferred embodiment, for implementing a multimedia client/server system, multimedia server module, and client module. Various embodiments of the present invention herein-described have features that distinguish the present invention from the prior art.
It will be apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than the preferred forms specifically set out and described above. Accordingly, it is intended by the appended claims to cover all modifications of the invention which fall within the true spirit and scope of the invention.