# Patent

## Title
Multimedia client/server system with adjustable packet size and methods for use therewith

## Abstract

A circuit for use in a multimedia server module includes an encoder module that encodes a multimedia signal to produce an encoded signal that includes a sequence of packets having a packet size. An RF server transceiver module, coupled to the encoder module, that produces a channel signal that includes the encoded signal, and that wirelessly transmits the channel signal at a link data rate over a wireless communication path to at least one client module The RF server transceiver module includes a quality of service module that adjusts the packet size based on first RF performance signals determined by the RF transceiver, based on second performance signals received from a client module and/or based on adjustments made to the link data rate.

## Background
TECHNICAL FIELD OF THE INVENTION
This invention relates generally to wireless communication systems and more particularly to in-home local area networking for content such as multimedia.
BACKGROUND OF THE INVENTION
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 or audio signals, quality of service must be maintained between transmitting and receiving stations to avoid drop-outs or other artifacts that detract from a users enjoyment when these signals are rendered. Maintaining quality of service can be a challenge in the face of changing channel conditions.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 presents a pictorial representation of a multimedia client server system in accordance with an embodiment of the present invention.
FIG. 2 presents a pictorial representation of a multimedia client/server system in accordance with an embodiment of the present invention.
FIG. 3 presents a block diagram representation of a multimedia client/server system 10 in accordance with an embodiment of the present invention.
FIG. 4 presents a block diagram representation of a circuit 125 for use in multimedia server module 12 in accordance with an embodiment of the present invention.
FIG. 5 presents a block diagram representation of a circuit 175 for use in client module 200 in accordance with an embodiment of the present invention.
FIG. 6 presents a flow chart representation of a method in accordance with an embodiment of the present invention.
FIG. 7 presents a flow chart representation of a method in accordance with an embodiment of the present invention.



DETAILED DISCUSSION OF A PREFERRED EMBODIMENT
FIG. 1 presents a pictorial representation of a multimedia client server system in accordance with an embodiment of the present invention. The multimedia client server system includes multimedia server module 12, client modules 34, 36, 38, 40 and 42 that are coupled to clients 25, 26, 28, 30, and 32 and a plurality of multimedia sources. The multimedia sources include video cassette recorder (VCR) 86, digital video disk (DVD) player 82, digital video recorder (DVR) 102, digital audio storage device 104, DVD audio 106, radio receiver 108, CD player 110, public switch telephone network 66, wide area network 44 (such as a private network, public network, satellite network, cable network and/or the Internet) for accessing broadcast, stored or streaming audio, video and/or other multimedia content and/or any other type of audio, video and/or multimedia source 24.
In an embodiment of the present invention, the clients 25, 26, 28, 30 and 32 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.
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 increasing the reliability and quality of wireless transmission in accordance with the present invention, as will be described in greater detail in the figures that follow, and in particular, with reference to FIGS. 2-7.
FIG. 2 presents a pictorial representation of a multimedia client/server system in accordance with an embodiment of the present invention. In particular, a multimedia client/server system includes a multimedia server module 12, a plurality of client modules 34, 36, 38, 40 and 42 that are operably coupled to a plurality of clients 25, 26, 28, 30, and 32. The multimedia server module 12 is operably coupled to receive a plurality of channels 46 from a multimedia source 23. The multimedia source 23 can be a broadcast, stored or steaming multimedia signal, from a video cassette recorder (VCR) 86, digital video disk (DVD) player 82, digital video recorder (DVR) 102 digital audio storage device 104, DVD audio 106, radio receiver 108, CD player 110, public switch telephone network 66, wide area network 44 (such as a private network, public network, satellite network, cable network and/or the Internet for accessing broadcast, stored or streaming audio, video and/or other multimedia content) and/or any other type of audio, video and/or multimedia source 24. As one of average skill in the art will appreciate, the multimedia server module 12 may be a stand-alone device, may be incorporated in a satellite receiver, set-top box, cable box, HDTV tuner, home entertainment receiver, et cetera. In addition, the multimedia server module 12 may be implemented using discrete components, integrated circuits, and/or a combination thereof.
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 25, 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 25, 26, 28, 30 and 32 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.
FIG. 3 presents a block diagram representation of a multimedia client/server system 10 in accordance with an embodiment of the present invention. In particular, the multimedia client/server system 10 includes multimedia server module 12 that transmits a multimedia signal 214, such as a broadcast, stored or streaming signal from multimedia source 23. Multimedia server module 12 transmits, via antenna 206, a radio frequency (RF) signal that contain the multimedia content from multimedia signal 214. This RF signal is transmitted at a carrier frequency corresponding to a channel such as channel A of an RF spectrum over a wireless communication path to one or more client modules such as client module 200. Client module 200, (such as client modules 34, 36, 38, 40 and 42) receives the RF signal via antenna 210 and produces a decoded output signal 216.
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 FIG. 2 where “channel”, is this context, was used primarily to denote different streams of multimedia content such as “The Weather Channel”, “The Discovery Channel” or “Gone with the Wind”. In the event that noise, interference or fading hamper the performance of one of the channels, the multimedia server module 12 can switch to a different channel.
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.
In accordance with the present invention, the multimedia server module 12 adjusts the packet size, link data rate of the communication path and/or the range of the link data rate based on RF performance signal parameters that are measured or otherwise assessed by the multimedia server module 12 or that are received from a remote device such as one or more client modules 200. Further functions and features of the multimedia server module 12 and client module 200 including several alternative embodiments are presented in conjunction with FIGS. 4-7 that follow.
FIG. 4 presents a block diagram representation of a circuit 125 for use in multimedia server module 12 in accordance with an embodiment of the present invention. In particular, circuit 175 includes an encoder module 230 for producing an encoded signal 232 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, orthogonal frequency division multiplexing OFDM, binary phase shift keying BPSK, quadrature phase shift keying QPSK, quadrature amplitude modulation such as 16 QAM, 64 QAM, 128 QAM, etc., non-return to zero encoding, Manchester encoding, block encoding including reed soloman coding and other error correcting codes, convolutional coding, LDPC coding 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 236 that includes the encoded signal 232, and wirelessly transmits the RF signal 236 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 236 that includes multimedia content such as a packetized video signal at a first carrier frequency having a sequence of packets of an adjustable packet size. The transceiver module 234 transmits the RF signal 236 over channel A using antenna 206. In addition, transceiver module 234 produces back channel output 310 based on an RF signal received from the client module 200 over channel A. While not expressly shown, multimedia server module 12 includes a decoder module, such as decoder module 254 that will be discussed in conjunction with FIG. 5, for operating the back channel in a reciprocal fashion.
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, g n or other 802.11 standard, Ultra Wideband (UWB), or Worldwide Interoperability for Microwave Access (WiMAX). Transceiver module 234 includes secure access module 231 for securing the RF communication link by optionally encrypting the encoded signal 232, password protecting the data or through other secure access protocol or methodology. While shown as part of transceiver module 234, quality of service module 231 and monitor module 233 can optionally be implemented as a stand alone module.
In operation, monitor module 233 generates RF performance signals that are based on the performance of the wireless communication path. Such signals include measurements or other indications such as transmit power level; coding error rate, such as the rate of coding error generated by a cyclic redundancy check (CRC), by other block codes that are either error detecting or error correcting codes and/or by other codes, such as convolutional codes, etc.; an air busy rate that indicates the frequency and/or occurrence of conditions when the transmitter desires to send data but determines that the channel is in use by another station; a received signal strength indication such as RSSI, signal to noise ratio, signal to interference ratio, signal power or other signal strength indication; a re-transmit rate, that indicates the frequency or occurrence of data retransmissions in response to either the lack of an acknowledgement or request for retransmission; and or other parameters indicative of the performance of the wireless communication path. Monitor module 233, monitors the conditions of transceiver module 234 and generates the RF performance signals that are passed to quality of service module 231.

    
    
        Quality of service module 231 receives the RF performance signals from monitor module 233 and/or from similar monitor modules of other devices such as client module 200, or other terminals in communication with multimedia server module 12 over the wireless channel and adjusts the link data rate, maximum data rate and/or packet size based on these RF performance signals, and optionally, based on adjustments made to the data rate based on these RF performance signals or other performance parameters of local and remote transceivers such as streaming factors such as rendering and receiving buffer levels, and decoding factors such as decoding buffer levels.
    
    


In operation, quality of service module 231 operates to adjust the link data rate to maintain an acceptable level of quality for the transmission of video signals, audio signals, or other real-time multimedia communications between multimedia server module 12 and client module 200. For instance, if the coding error rate is rising, this may indicate the presence of an interfering station or other weak channel conditions and the quality of service module can lower the link data rate in response to these conditions and for the duration of these conditions. Similarly, a high air busy rate or re-transmit rate can lead to video interruptions and can require an adjustment to the link data rate. In addition, one or more RF performance signals can be used in setting the range of the link data rate, such as the maximum link data rate. In this fashion, a lower than normal RSSI can establish a lower maximum link data rate that serves to limit the rise of the link data rate, under high or rising conditions of the other RF performance signals, streaming signals, decoding signals, etc.
Quality of service module 231 also operates to adjust the packet size used for transmission to one or more of the client modules in communication with multimedia server module 12, based on the local RF parameters, the RF parameters received from the corresponding client module and/or based on the data rate used for that particular client module. In this fashion, for lower data rates, or generally lower link performance caused by low signal to noise ratio, interference or other link parameters, the packet size can be shortened to increase the probability of correct reception of the packet and to potentially increase the throughput of the transmission under these conditions. For instance, in the presence of favorable channel conditions or as a default condition, a 2 Kbyte packet size can be employed as a nominal packet size. However, certain conditions can be used by quality of service module 231 to reduce the packet size such as BERs, PERs and/or retransmit rates greater than 10% or greater than some other threshold indicating higher than desired error rates, a signal to noise ratio, signal to interference ratio, signal power or other signal strength indication that is below a threshold that corresponds to reliable communication, and/or an high air busy rate can trigger a drop of the packet size, or a series of successive drops of the packet size if the these undesirable conditions persist, to lower sizes, such as 1600 bytes, 1200 bytes, 800 bytes, etc.
Further, in the event that the undesirable conditions are eliminated, or are reduced to a level that corresponds to good performance threshold, the packet size can likewise be increased or increased in succession up to the largest packet size, if favorable conditions persist for a period of time. It should be noted that the thresholds used to increase and decrease the data rates can be implemented with hysteresis to avoid unnecessary toggling of the packet size in conditions that hover near a threshold.
In a further mode of operation, adjustments of the data rate can be used either alone or in combination with other parameters to trigger adjustments to the packet size. For instance, a packet size of 2 Kbytes can be used for data rates of 54 Mbps, with decreases in data rate being used to trigger lower packet rates. In another example, decreases in data rates coupled with a high air busy rate can be used to trigger a decrease in packet size. It should be note that the examples above represent only a few of the many possible combinations of these factors that can be employed by quality of service module 231 to select an appropriate data rate, packet size and/or data rate limit within the broad scope of the present invention.
In an embodiment of the present invention, the quality of service module 231 includes a look-up table that stores link data rates, maximum link data rates and [packet sizes that are indexed by possible values of the RF performance signals for each of the client modules in communication with the multimedia server module 12. In this fashion, the maximum link data rate can be found based on the RF performance signals, such as RSSI, used to impact this parameter for each client module. Similarly, the packet size and/or link data rate can be determined by looking up these parameters in the table based on the prevailing conditions of the remaining RF performance signals, streaming and/or decoding conditions. Further, one parameters such as the packet size can be tied to changes in one or another of the other parameters such as the link data rate or maximum link data rate and determined based on one or more of these values alone or in combination with one or more of the RF parameters. The values of this look-up table can be determined by multiple measurements between a multimedia server module 12 and one or more client modules 200 at varying distances and under a range of difference channel conditions in a fashion that is determined to optimize actual quality or service during these particular operating conditions for each client module.
In an embodiment of the present invention, the quality of service module 231 adjusts the link data rate and/or packet size based on the then current conditions on a packet-by-packet basis. In this fashion, rapid changes in channel conditions can be handled quickly on a near simultaneous basis. However, other schemes can also be employed by aggregating, averaging or filtering of either the RF performance signals or the link data rate and/or the packet size to adapt to changing conditions or implement changes more slowly or on a more limited basis.
Quality of service module generates a packet size signal 235 that is sent to encoder module 230. Encoder module 230, in turn generates encoded signal 232 based on the selected packet size. In an embodiment of the present invention the encoder module encodes the multimedia signal 214 at a nominal packet size, such as the largest packet size and fragments the packets into smaller packet sizes if the packet size is reduced in response to the packet size signal 235. In this fashion, the fragmented packets received by the client module, such as client module 200 can be defragmented in the decoding process. In another embodiment, encoder module 230 can encode the encoded signal into a stream of packets of a size selected by the packet size signal 235, without first encoding into packets of nominal size.
FIG. 5 presents a block diagram representation of a circuit 175 for use in client module 200 in accordance with an embodiment of the present invention. In particular, circuit 175 includes transceiver module 244 for receiving RF signal 246 over channel A or an alternate channel selected by multimedia server module 12 and for converting the RF signal 246 into a received encoded signal 248. In addition, transceiver module 244 is operable to modulate back channel input 272 to produce RF signals sent to multimedia server module 12 over channel A. While not expressly shown, client module 200 includes an encoder module, such as encoder module 230 for operating the back channel in a reciprocal fashion.
As discussed in conjunction with FIG. 4, monitor module 233 generates RF performance signals that are based on the performance of the wireless communication path that are shared with transceiver module 244 for transmission to the multimedia server module 12. Further, quality of service module 231 is optionally operable to adjust the packet size, range of the link data rate and/or the link data rate, based on the RF performance parameters transmitted from this remote device for transmissions by client module 200.
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.
In an embodiment of the present invention, received encoded signal 248 can optionally be sent to decoder module 254 through a physical electronic connection such as 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 defragmenting of received packets, 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 an embodiment of the present invention, the non-RF portions of transceiver module 244 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 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.
FIG. 6 presents a flow chart representation of a method in accordance with an embodiment of the present invention. In particular, a method is presented for use in conjunction with one or more of the functions and features described in association with FIGS. 1-5. In step 400, a multimedia signal is encoded to produce an encoded signal that includes a sequence of packets having a packet size. In step 402, a channel signal is generated that includes the encoded signal. In step 404, the channel signal is transmitted at a link data rate over a wireless communication path to at least one client module. In step 406, first RF performance signals are generated that are based on the performance of the wireless communication path. In step 408, the packet size is adjusted based on the first RF performance signals.
In an embodiment of the present invention, the first RF performance parameters can include RSSI, retransmission rate, air busy rate, coding error rate. Further, step 408 can be performed on a packet-by-packet basis or less frequently.
In an embodiment, step 400 encodes or transcode the multimedia signal in accordance with one of a Motion Picture Experts Group (MPEG) standard, and a Society of Motion Picture and Television Engineers (SMPTE) standard. Further, step 404 transmits the RF signal over a broadband wireless access network that conforms to at least one of the following standards: 802.11x, Ultra Wideband (UWB), and Worldwide Interoperability for Microwave Access (WiMAX).
FIG. 7 presents a flow chart representation of a method in accordance with an embodiment of the present invention. A method is presented for use in conjunction with one or more of the functions and features described in association with FIGS. 1-5. In particular, a method is presented that includes many of the elements of the method of FIG. 6 that are referred to by common reference numerals. In addition, step 410 is receiving second RF performance signals, that are based on the performance of the wireless communication path, from the at least one remote client. In step 412, the link data rate is adjusted. In step 414, the packet size is adjusted based on the first performance parameters, the second performance parameters and/or based on the link data rate.
In an embodiment of the present invention, the second RF performance parameters can include RSSI, retransmission rate, air busy rate, coding error rate, bit error rate, packet error rate, signal to noise ratio, signal to interference ratio, or other performance parameters. the second RF performance signals include a received signal strength indicator (RSSI), and step 412 adjusts the link data rate and/or a maximum link data rate based on the RSSI.
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, client module and quality of service 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.

## Claims

1. A multimedia client/server system comprising:
a multimedia server module, coupleable to a plurality of multimedia sources that produce at least one multimedia signal that includes streaming video, the multimedia server module including:
an encoder module that encodes the at least one multimedia signal to produce an encoded signal that includes a sequence of packets having a packet size; and
an RF server transceiver module, coupled to the encoder module, that produces a channel signal that includes the encoded signal, and that wirelessly transmits the channel signal over a wireless communication path, the RF server transceiver module receives streaming video performance signals that are based on remote processing of the streaming video by a video decoder, the streaming video performance signals including a video decoding parameter of the video decoder, wherein the video decoding parameter includes at least one of: a receiving buffer level, a rendering buffer level and a decoding buffer level, and includes a quality of service module that adjusts the packet size based on the streaming video performance signals; and

a client module, coupleable to at least one client device, the client module including:
an RF client transceiver module that receives and demodulates the channel signal to produce a received encoded signal and sends the streaming video performance signals to the multimedia server module; and
a decoder module, coupled to the RF client transceiver module, that decodes the received encoded signal into a decoded output signal, the decoder module including the video decoder.

2. The multimedia client/server system of claim 1 wherein RF client transceiver module further includes a monitor module that generates RF performance signals that are based on the performance of the wireless communication path, and wherein the quality of service module adjusts the packet size, based on the RF performance parameters.

3. The multimedia client/server system of claim 2 wherein the RF performance signals include a received signal strength indicator (RSSI), and the quality of service module adjusts the range of the link data rate based on the RSSI.

4. The multimedia client/server system of claim 1 wherein the encoder module produces the sequence of packets at a nominal packet size and when the quality of service module adjusts the packet size from the nominal packet size to a reduced packet size, the encoder module fragments packets of the sequence of packets size into packets of the reduced packet size.

5. The multimedia client/server system of claim 1 wherein the encoder module encodes the at least one multimedia signal in accordance with one of a Motion Picture Experts Group (MPEG) standard, and a Society of Motion Picture and Television Engineers (SMPTE) standard.

6. The multimedia client/server system of claim 1 wherein the RF server transceiver module and the RF client transceiver module communicate over a broadband wireless access network that conforms to at least one of the following standards: 802.11x, Ultra Wideband (UWB), and Worldwide Interoperability for Microwave Access (WiMAX).

7. The multimedia client/server system of claim 1 wherein the encoder module transcodes the at least one multimedia signal.

8. A method for use in a multimedia server module that is coupleable to a plurality of multimedia sources that produce at least one multimedia signal that includes streaming video, the method comprising the steps of:
encoding the at least one multimedia signal via an encoding module to produce an encoded signal that includes a sequence of packets having a packet size;
generating via an RF server transceiver module, a channel signal that includes the encoded signal;
transmitting via the RF server transceiver module, the channel signal at a link data rate over a wireless communication path to at least one client module that receives and demodulates the channel signal via an RF client transceiver module to produce a received encoded signal, that decodes the received encoded signal via a video decoder and that generates streaming video performance signals including a video decoding parameter of the video decoder, wherein the video decoding parameter includes at least one of: a receiving buffer level, a rendering buffer level and a decoding buffer level;
receiving via the RF server transceiver module, the streaming video performance signals from the at least one client module; and
adjusting the packet size via a quality of service module, based on the streaming video performance signals.

9. The method of claim 8 further comprising:
receiving RF performance signals, that are based on the performance of the wireless communication path, from the at least one client module;
wherein the step of adjusting adjusts the packet size, based on the RF performance parameters.

10. The method of claim 9 wherein the RF performance signals include a received signal strength indicator (RSSI), and the step of adjusting adjusts the packet size based on the RSSI.

11. The method of claim 9 wherein the RF performance signals include a received signal strength indicator (RSSI), and the step of adjusting further adjusts the link data rate based on the RSSI.

12. The method of claim 8 further comprising:
generating RF performance signals, that are based on the performance of the wireless communication path;
wherein the step of adjusting adjusts the packet size, based on the RF performance signals; and wherein the RF performance signals include a re-transmission rate and the step of adjusting adjusts the packet size based on the re-transmission rate.

13. The method of claim 12 wherein the RF performance signals include a coding error rate.

14. The method of claim 12 wherein the RF performance signals include an air busy rate.

15. The method of claim 8 wherein the step of encoding transcodes the at least one multimedia signal.