1. Field of the Invention
The present invention concerns wireless communications. In particular, the present invention concerns wireless distribution of video content.
2. Background Information
In recent years, the demand for video applications over wireless networks has risen with the increase in both the bandwidth of wireless channels and the computational power of mobile devices. Multicasting is an effective solution for simultaneous transmission of data to a group of users, since it saves network resources by spreading the same data stream across multiple receivers. However, the high packet loss ratio and bandwidth variations of wireless channels make video multicast over wireless networks a challenging problem.
In a wireless network, as the external environment changes, the channel error rate varies, resulting in deleterious effects on multimedia transmission. In order to cope with errors and hence have robust video transmission, accurate channel-condition estimation and an effective error control mechanism is needed. Furthermore, due to bursty and location dependent errors, each user in a multicast system will most likely lose different packets. Therefore, a simple ARQ (Automatic Repeat reQuest) based scheme is not appropriate for video multicast over wireless channels since it can cause a large number of retransmissions.
There are several studies discussing error control in video multicast over wireless networks using forward error correction (FEC) to handle losses. (See, e.g., the articles: A. Basalamah, H. Sugimoto and T. Sato, “Rate adaptive reliable multicast MAC protocol for WLANs,” in Proceedings of IEEE VTC, 2006; C. Huang, J. H. David and C. Chang, “Congestion and Error Control for Layered Scalable Video Multicast over WiMAX,” in Proceedings of IEEE Mobile WiMAX Symposium, 2007; I. Bajic, “Efficient Error Control for Wireless Video Multicast,” Proceedings of IEEE MMSP, (2006); and H. Liu, M. Wu, D. Li, S. Mathur, K. Ramaswamy, L. Han and D. Raychaudhuri, “A Staggered FEC System for Seamless Handoff in Wireless LANs: Implementation Experience and Experimental Study,” in Proceedings of IEEE International Symposium on Multimedia, 2007, each of which is incorporated herein by reference.) In such systems, block erasure codes are used to correct errors using redundant information in the data stream. For example in an (n, k) block erasure code, there are a total of n packets where k of them are source packets and (n-k) of them are redundant parity packets. The parity packets are generated in such a way that any k of the n encoded packets are sufficient to reconstruct the k source packets. The advantage of using block erasure codes for multicasting is that a single parity packet can be used to correct independent single-packet losses among different receivers.
IEEE 802.11 wireless LANs (WLANs) are one of the fastest growing network technologies in the wireless communications field. The IEEE 802.11 Media Access Control (MAC) protocol provides a multirate-capable physical-layer. (See, e.g., LAN MAN Standards Committee of the IEEE Computer Society, ANSI/IEEE. Std 802.11, “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: High-speed Physical Layer Extension in the 2.4 GHz Band,” IEEE 802.11 Standard, 1999, incorporated herein by reference.) The dynamic rate adaptation feature of IEEE 802.11 lets the transmitter adapt the transmission rate based on the wireless channel operating conditions which may vary with time. Some proposals for unicast communications have been reported in the literature to adapt the physical layer (“PHY”) data rate according to the channel conditions, such as ARF (Auto Rate Fallback) or REAR (Receiver Based Auto Rate) mechanisms. (See, e.g., the articles: A. Kamerman and L. Monteban, “WaveLAN II: A high-performance wireless LAN for the unlicensed band,” Bell Labs Technical Journal, pp. 118-133, 1997; and G. Holland, N. Vaidya, and P. Bahl, “A rate-adaptive MAC protocol for multi-hop wireless networks,” in Proceedings of ACM MOBICOM, July 2001, both incorporated herein by reference.) However, multicast/broadcast packets are always transmitted using the base transmission rate of the system (e.g., 1 Mbps for IEEE 802.11b). The intention of such a conservative approach is to minimize losses at the stations that are located far away from the transmitter, so that they are able to successfully receive and decode the packet.
The above rate adaptation mechanisms rely on the estimation of individual channel states, and therefore they cannot be directly applied to multicast service. The difficulty comes from the fact that the channel conditions between the Access Point (AP) and each receiver in the multicast group may differ, and in the absence of feedback the AP does not have any means to get to know the operating conditions of each individual receiver.
§1.2.1. Related Work
In A. Basalamah, H. Sugimoto, and T. Sato, “Rate adaptive reliable multicast MAC protocol for WLANs,” in Proceedings of IEEE VTC, May 2006 (incorporated herein by reference), a rate adaptive multicast scheme has been proposed where the transmitter must first send a Request to Send (RTS) frame to indicate the beginning of a multicast transmission. This RTS frame is used by all the multicast receivers to measure the Receiver Signal Strength (RSS). Then, each multicast receiver has to send a variable length dummy Clear to Send (CTS) frame with a length that depends on the selected PHY transmission mode. Finally, the transmitter senses the channel to measure the collision duration and can adapt the PHY rate transmission of the multicast data frame accordingly. In Y. Park, Y. Seok, N. Choi, Y. Choi, and J. M. Bonnin, “Rate-adaptive multimedia multicasting over IEEE 802.11 wireless LANs,” in Proceedings of IEEE CCNC, January 2006 (incorporated herein by reference), Signal to Noise Ratio (SNR)-based Auto Rate for Multicast (SARM) is proposed for multimedia streaming applications. In SARM, multicast receivers measure the SNR of periodically broadcasted beacon frames and transmit this information back to the AP. To minimize feedback collision, the back-off time for the transmission of feedback from each station increases linearly with the received SNR value. Then, the AP selects the lowest received SNR to determine the PHY rate transmission. Recently, a cross-layer approach for adaptive video multicast considering the multi-rate capabilities of wireless networks was studied. (See, e.g., J. Villalon, P. Cuenca, L. O. Barbosa, Y. Seok, and T. Turletti, “Cross-Layer Architecture for Adaptive Video Multicast Streaming Over Multirate Wireless LANs,” IEEE Transactions on Selected Areas in Communications, vol. 25, no. 4, May 2007 pp 699-711, incorporated herein by reference.) Their architecture requires knowing the operating conditions of the channel as perceived by the multicast members. The PHY data rate to be used for the multicast traffic is determined based on the feedback received by the AP. They also proposed using an H.264 hierarchical video coder in order to adapt the video transmission to the channel conditions perceived by the multicast receivers. Although the above algorithms seem to improve the performance of multicast in wireless networks by taking advantage of multi-rate capability, they do not make use of any error recovery mechanism. An exception is the mechanism in Villalon, et al. where the authors only employ data retransmission. However, such a mechanism is not a good fit for multicast. Furthermore, although these studies have shown the efficiency of rate adaptive multicast schemes via simulations, they do not provide insights on the way rate adaptation should be applied for multicast in a real wireless network. Limited implementation approaches in the literature focus on specific algorithms, and therefore they do not present a thorough investigation of the various trade-offs. Proxy-based adaptive FEC for reliable multicast in WLANs was studied in P. K. McKinley and A. P. Mani, “An experimental study of adaptive forward error correction for wireless collaborative computing”, in Proceedings of IEEE SAINT, 2001 (incorporated herein by reference). They proposed an adaptive FEC mechanism where the number of parity packets transmitted is based on the current data loss rate with a feedback system. The same group extended their studies to show that combining forward and backward error control is an effective strategy for proxy-based video multicast. (P. K. McKinley and A. P. Mani, “Experimental Evaluation of Error Control for Video Multicast”, in Proceedings of IEEE DCSW, 2001, incorporated herein by reference.) In both papers they evaluate the proposed schemes by implementing them in a real testbed. However, their studies considered only an indoor environment and fixed transmission rates (i.e., 2 Mbps and 11 Mbps).
Exemplary embodiments consistent with the present invention may provide a method or system for dynamically adapting the transmission rate and FEC rate in a multicast wireless network. The method may use, for example, the highest sustainable transmission rate together with a sufficient amount of FEC in order to maximize the video quality of multicast receivers. The proposed system may be implemented, for example, in the MAC layer as well as in the application layer, using open source drivers and socket programming, along with a packet level FEC implementation. Exemplary embodiments consistent with the claimed invention work efficiently in a real environment and significantly improve the performance of the network.
The present invention may involve novel methods, apparatus, message formats, and/or data structures for improving video distribution, such as video distribution within an infrastructure-based wireless network for example. The following description is presented to enable one skilled in the art to make and use the invention, and is provided in the context of particular applications and their requirements. Thus, the following description of embodiments consistent with the present invention provides illustration and description, but is not intended to be exhaustive or to limit the present invention to the precise form disclosed. Various modifications to the disclosed embodiments will be apparent to those skilled in the art, and the general principles set forth below may be applied to other embodiments and applications. For example, although a series of acts may be described with reference to a flow diagram, the order of acts may differ in other implementations when the performance of one act is not dependent on the completion of another act. Further, non-dependent acts may be performed in parallel. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. In the following, “information” may refer to the actual information, or a pointer to, identifier of or location of such information. No element, act or instruction used in the description should be construed as critical or essential to the present invention unless explicitly described as such. Thus, the present invention is not intended to be limited to the embodiments shown and the inventors regard their invention to include any patentable subject matter described.
Embodiments consistent with the present invention might be used in a wireless network in which the video server node (e.g. a base station or access point) is multicasting video to distributed multicast receiver nodes within its coverage area.
§4.2.1. Joint Transmission Rate and FEC Adaptation
Although rate adaptation is a standard feature in today's wireless networks, multi-cast/broadcast packets are transmitted using the base transmission rate of the system (e.g., 1 Mbps for IEEE 802.11b). The motivation for using the lowest transmission rate is to enable far away receivers to successfully receive and decode the transmitted packets. In multicast, one cannot rely on retransmission to correct lost packets. Allowing the multicast server to retransmit lost packets to all receivers would dramatically increase the overhead on the network, since each receiver may ask for retransmission of different packets (due to the independent errors at different receivers). Without any other error control mechanism, the server has to transmit at the lowest possible rate in order to accommodate users with poor channel conditions.
Forward error correction (FEC) at the application layer is a promising alternative for handling losses in multicast services. The basic idea of FEC is that redundant information is sent a-priori (i.e., without knowledge that a specific error has occurred) by the source station, in order to be used by the receivers to correct errors/losses without contacting the source. Since CRC-based error detection at the link layer results in the removal of the corrupted packets, many FEC-based protocols try to recover these packets. (See, e.g., L. Rizzo, “Effective erasure codes for reliable computer communication protocols”, in ACM Computer Communication Review, April 1997, incorporated herein by reference.) However, such a scheme introduces overhead since extra parity packets are now transmitted by the source station. The overhead introduced is the number of parity packets to be sent for k source packets. The number of parity packets, m, depends on the Packet Error Rate (PER). Note that, the level of the overhead depends on the packet error rate. PE, in the network. Thus, the higher is the packet error rate, the more the parity packets that must be transmitted by the server, and therefore the more the overhead and the less the FEC rate, γFEC, which is the ratio of source packets to the total number of packets:
In wireless networks, different transmission rates, RPHY, give different PER. Furthermore, due to path loss and fading, for a fixed transmission rate, different PER values can be observed at different locations. Thus, as can be appreciated from the foregoing, the number of parity packets, hence the FEC rate depends on the location and physical transmission rate (i.e. γFEC(1, RPHY)).
Note that the FEC overhead is not the only overhead in the system. In order to consider the other overheads (e.g., headers, etc.), the effective data ratio, β, is defined as the ratio of the time spent to transmit the actual payload data to the total transmission time. Since headers are transmitted at different transmission rates, β depends on the transmission rate (i.e. β (RPHY)).
Based on the discussion above, the useful rate, Ruseful, can be computed as follows:
R
useful=γFEC(l,RPHY)β(RPHY)RPHY (2)
In the above formulation, it is not clear how one should define the combination of transmission rate and FEC rate in order to increase the efficiency of the network. On the one hand, the higher the transmission rate is, the higher the PER and therefore the more FEC parity packets should be transmitted. On the other hand, as the transmission rate increases, the more efficient the use of the medium becomes, allowing more room for extra FEC parity packets.
To address this issue, a joint transmission rate and FEC adaptation algorithm to maximize the multicast performance is used. The basic idea behind the proposed system is that all the multicast receivers periodically send PER information to the AP. Based on the received PER information, the AP identifies the highest PER and adjusts the transmission rate and the FEC based on this PER. For a fixed transmission rate, the adjustment of the FEC rate is not a trivial issue due to the dynamic wireless environment. This decision becomes more complicated if the multi-rate capability of existing wireless LAN technology is considered. Note that for a fixed distance, the PER is different for different transmission rates. Hence, while switching from one transmission rate to another, the amount of FEC to be applied should be adjusted. However, when the joint design of transmission rate and FEC is considered, the following should be defined: (A) the PER thresholds that will lead to a change of transmission rate and the corresponding FEC that is needed and (B) the FEC to be applied while the system stays at the same transmission rate for different PER values.
§4.3 Examples Using Embodiments Consistent with the Present Invention
§4.3.1 Example of Per Threshold Determination
There are numerous ways to determine PER thresholds (experimental results, simulation models, predictive algorithms, etc.). In one example, outdoor experiments for an IEEE802.11b based WLAN were conducted and PER values for different transmission rates and various locations were obtained. Then, based on these PER measurements, the amount of FEC using equation (1) and the corresponding useful rate were computed.
PER was measured using “Iperf”, which is a powerful commonly used network testing tool for traffic generation and measurement. In the measurement setup, one of the stations runs an Iperf client to generate User Datagram Protocol (UDP) traffic streams, while the other runs an Iperf server which receives the traffic and collects the statistics (e.g., PER). To remove any random effects and short-term fluctuations, each experiment was run 10 times with each run lasting 1 minute. The results were then averaged.
During the PER measurements, the packet losses due to channel conditions were the primary focus rather than the traffic contention in the channel. The overhead introduced by MAC, IP and physical layer headers is also considered. For further details on the PER measurements, the reader is referred to O. Alay, T. Korakis, Y. Wang, S. Panwar, “An Experimental Study of Packet Loss and Forward Error Correction in Video Multicast over IEEE 802.11b Network”, in Proceedings of IEEE CCNC, 2009, incorporated herein by reference.
Several experiments were run for different distances between the access point and the receiver. The distance was varied from 10 to 80 meters with the access point and the receiver always within line of sight. In
§4.3.2 Example Use of Joint Transmission Rate and FEC Adaptation
There are several rate adaptation approaches in the literature for the unicast transmission. Although these approaches can be applied to the proposed system, exemplary embodiments consistent with the claimed invention choose to search through different rates, starting from the base rate, to find the optimal solution. In exemplary embodiments consistent with the claimed invention, in order to guarantee that all the multicast clients are covered, the system starts, for example, with the 1 Mbps base rate of IEEE 802.11b, and based on the PER information received from the clients, the system adapts the transmission rate along with the FEC. Of course, in different embodiments, other rates may be used as the base rate. The rate and FEC adaptation algorithm has two components:
Note that for different transmission rates and FEC rates, there exist different useful rates. Therefore, while switching between the transmission rates, the system also switches to the corresponding video rate (i.e., useful rate). Furthermore, when the same transmission rate is maintained, the FEC rate is still adjusted based on the PER which leads to different video rates. Different exemplary video rates used in embodiments consistent with the claimed invention are discussed below.
§4.3.3 Results from Examples Using the Proposed Transmission Rate and FEC Adaptation Scheme
The following shows the effectiveness of the proposed system. Two different scenarios are considered:
In Scenario-I, the video quality of the proposed system was compared with direct transmission, as illustrated in
In Scenario-II the video quality of the proposed system is compared with direct transmission, as illustrated in
The one or more processors 810 may execute machine-executable instructions (e.g., C or C++ running on the Solaris operating system available from Sun Microsystems Inc. of Palo Alto, Calif. or the Linux operating system widely available from a number of vendors such as Red Hat, Inc. of Durham, N.C.) to perform one or more aspects of the present invention. For example, one or more software modules, when executed by a processor, may be used to perform one or more of the operations and/or methods of
In one embodiment, the machine 800 may be one or more conventional personal computers or servers. In this case, the processing units 810 may be one or more microprocessors. The bus 840 may include a system bus. The storage devices 820 may include system memory, such as read only memory (ROM) and/or random access memory (RAM). The storage devices 820 may also include a hard disk drive for reading from and writing to a hard disk, a magnetic disk drive for reading from or writing to a (e.g., removable) magnetic disk, and an optical disk drive for reading from or writing to a removable (magneto-) optical disk such as a compact disk or other (magneto-) optical media.
A user may enter commands and information into the personal computer through input devices 832, such as a keyboard and pointing device (e.g., a mouse) for example. Other input devices such as a microphone, a joystick, a game pad, a satellite dish, a scanner, or the like, may also (or alternatively) be included. These and other input devices are often connected to the processing unit(s) 810 through an appropriate interface 830 coupled to the system bus 840. The output devices 834 may include a video monitor or other type of display device, which may also be connected to the system bus 840 via an appropriate interface. In addition to the video monitor, the personal computer may include other (peripheral) output devices (not shown), such as speakers and printers for example.
The operations of video server node and client receiver nodes, such as those described above, may be performed on one or more computers. Such computers may communicate with each other via one or more networks, such as the Internet for example. The various operations and information described above may be embodied by one or more machines 800. The servers and/or receivers can be employed in nodes such as desktop computers, laptop computers, personal digital assistants, mobile telephones, other mobile devices, servers, etc. They can even be employed in nodes that might not have a video display screen, such as routers, modems, set top boxes, etc.
Alternatively, or in addition, at least some of the various operations and acts described above may be implemented in hardware (e.g., integrated circuits, application specific integrated circuits (ASICs), field programmable gate or logic arrays (FPGAs), etc.).
In
§4.5.1 MAC Layer
For the implementation of the MAC layer (Blocks 940, 960) open source drivers in a Linux platform is used. In particular the MadWifi driver (described in “MadWifi: Linux kernel drivers for Wireless LAN devices,” http://madwifi.org/, incorporated herein by reference) for the Atheros chip-set (described in “Atheros: Chipsets for Wireless LAN devices,” http://www.atheros.com/, incorporated herein by reference) is used. The driver is used in broadcast mode (i.e. no acknowledgment, no retransmissions). Additionally, a feature in the driver was added which allowed for the selection of the transmission rate that would be used. The wireless cards were set up to work in the 802.11b mode, and therefore four different rates could be chosen: 1 Mbps, 2 Mbps, 5.5 Mbps, 11 Mbps.
§4.5.1 Transport Layer
In order to implement the video streaming service, a video client/server application was built using UDP/IP socket programming (Blocks 920, 960). The server is a program that can read a FEC encoded video file, packetize accordingly and transmit. Similarly, the program in the client side receives packets, does the FEC decoding and stores the resulting video into a file.
§4.5.2 Application Layer
There are two main components in the application layer: Packet Level FEC encoding/decoding (Blocks 910, 960), and feedback generation, each of which is discussed below.
§4.5.2.1 Packet Level FEC
In the application layer a packet level FEC mechanism was implemented. Reed Solomon (RS) codes were utilized since it is one of the well-known block codes with good error correction properties and is widely used in FEC schemes. In general an (n, k) RS code contains k source packets and (n-k) parity packets. Altogether, they form a group of n packets, in a way that any k of the n packets can be used to reconstruct the k source packets. In this work, systematic (n, k) codes, where the first k of the n encoded packets are identical to the k source packets, were used.
In the exemplary implementation described, the generation of the parity packets is done offline. The video with a GOP (Group of Picture) size of 16 frames is first encoded. Note that a GOP always starts with an Intra frame, hence, each GOP is independently decodable. RS(n,k) codes were utilized where parity packets were generated based on the number of the source packets in a GOP. In other words, the number of source packets in each block depends on the number of packets in each GOP, hence k varies for each GOP. While generating the parity packets, it is ensured that enough parity packets for the worst channel conditions were generated. These files were stored in the hard drive of the node in order to use them as inputs on the video streaming server. Note that it would be a waste of bandwidth to send all the parity packets generated since the channel condition is not always bad. Therefore, the number of parity packets to be sent, m, is chosen based on the current channel conditions (i.e. packet error rate PE).
Upon reception of the packets, the receiver decodes the FEC encoded packets, generates the video file and stores it in the node. As long as the number of lost packets is less than m, all original video packets can be decoded successfully. When the loss exceeds the FEC correction limit, all the original video packets cannot be decoded. In this case, only the received video packets are saved into the decoded video files. Finally the quality of the video is obtained using the Peak Signal to Noise Ratio (PSNR) of the received video.
§4.5.2.2 Feedback Generation
The clients compute the PER and send this information to the access point using a reliable connection. The PER is computed and sent once for every two blocks. For each block, the number source packets that were correctly received are reported. Note that only the source packets to compute PER is used since the client does not know how many parity packets were sent. Therefore, the clients count the number of source packets received and compute the PER, which is the ratio of missing packets to all source packets. The access point receives the PER from all clients and can determine the maximum PER. Based on this maximum PER, the access point adjusts its transmission rate and FEC rate. In order to avoid feedback implosion, one can also assign a PER threshold such that clients who have a PER less than this threshold will not send the feedback. In this case, only the clients with bad channel conditions, hence high PER, will send the feedback. In the exemplary implementation described, each client feedbacks the PER periodically. Note that accurate PER estimation is important, as it dictates the number of parity packets to be sent.
§4.6.1 Standardization Efforts: IEEE802.11AA
The demand for efficient and reliable multicast has recently initiated standardization efforts in the IEEE 802.11 community. The IEEE 802.11aa task group, which kicked off in March 2008, focuses on the robust streaming of audio video transport streams. The discussion topics include, but are not limited to, the Block-ACK generation, scalability and efficient error control. Since exemplary embodiments consistent with claimed invention are based on a feedback channel and also provide error correction, they will also work well within the framework of the 802.11aa standard.
A novel method and apparatus which dynamically adapts the transmission rate and FEC for video multicast over multi-rate wireless networks are described. The method may use, for example, the highest sustainable transmission rate together with a sufficient amount of FEC in order to maximize the video quality of multicast receivers. Exemplary embodiments consistent with the claimed invention show that the described system significantly improves the multicast system performance and that the joint consideration of transmission rate adaptation and FEC adjustment creates a new paradigm for real time multicast transmission over wireless networks.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/166,405 (incorporated herein by reference and referred to as “the '405 provisional”), titled “DYNAMIC RATE AND FEC ADAPTATION FOR VIDEO MULTICAST IN MULTI-RATE WIRELESS NETWORKS” filed on Apr. 3, 2009, and listing Ozgu ALAY, Thanasis KORAKIS, Shivendra S. PANWAR and Yao WANG as the inventors. The present invention is not limited to requirements of the particular embodiments described in the '405 provisional.
The United States Government may have certain rights in this invention pursuant to a grant awarded by the National Science Foundation. Specifically, the United States Government may have a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of Award No. 0430885 awarded by the National Science Foundation (Division of Computer and Network Systems).