Real-time multimedia data applications, such as video streaming and video telephony, are regarded as “killer applications” in the emerging wireless networks. Video applications usually involve a large volume of data transmitted in a time sensitive fashion. However, the underlying wireless networks only provide time-varying and limited bandwidth, high data error rate, packet delay and jitter. Extensive research has been done on either video data coding algorithms or wireless network protocols. But the traditional layered network model limits the video transmission over wireless networks because it tries to separate information and functions between different layers. To enable more efficient real-time data transmission over dynamic wireless environments, the applications and underlying wireless networks should cooperate in order to share information and optimize the transmission process dynamically. This chapter reviews the state-of-the-art research efforts on video coding, error control, and rate control algorithms. New cross-layer algorithms are presented which coordinate the algorithms at different layers in order to get better performance than using them separately. The cross-layer rate control algorithm matches the application’s future bandwidth requirement to the available bandwidth in the network so that an optimum data transmission rate can be selected. In the cross-layer error control algorithm, lower layers are responsible for error detection and fast retransmission, while application layer conducts an adaptive error correction algorithm with the help of lower layers.
The chapter is organized as follows. Section 2.1 reviews previous research results. Section 2.2 and 2.3 introduce the cross-layer error control and rate control algorithms, respectively. The theoretical analysis and implementation considerations are also presented in details. Section 2.4 gives the simulation results. Section 2.5 summarizes the chapter and points out some important open problems for future investigation.
In this section, we review previous research results on video transmission over wireless networks, including application-based, network-based and cross-layer approaches.
Application-based Approaches. At application layer, there are two families of standards used to compress the raw video data. The International Telecommunications Union-Telecommunications (ITU-T) H.261 is the first video compression standard gaining widespread acceptance. It was designed for video conferencing. Following H.261, ITU-T H.263 and its enhanced version H263+ were standardized in 1997 , which offered a solution for very low bit-rate ( < 64 Kb/s ) teleconferencing applications. The Moving Pictures Expert Group (MPEG) series are standardized by International Standard Organization (ISO). MPEG-1 achieves VHS quality digital video and audio at about 1.5 Mb/s. MPEG-2 is developed for digital television at higher bit rate. In contrast, the recently adopted MEPG-4 standard  is more robust and efficient in error-prone environments at variable bit rates, which is achieved by inserting resynchronization markers into the bitstream, partitioning macro blocks within each video packet syntactically, using header extension code to optionally repeat important header information, and using reversible variable-length coding such that data can be decoded in both forward and reverse directions. A completely new algorithm, originally referred to as H.26L, is currently being finalized by both ITU and ISO, known as H.264 or MPEG-4 Part 10 Advanced Video Coding (AVC).
Most video applications are characterized as being time sensitive: it will be annoying if the video data does not arrive to the receiver in time. In order to transmit video over error-prone wireless environments, various error resilient video coding algorithms have been proposed . The scalable coding is one of the most important approaches. The scalable or layered video involves a base layer and at least one enhancement layer. The base layer itself is enough to provide usable result, but the enhancement data can further improve the quality. Scalability can be achieved in many forms, including Signal-to-Noise-Ratio (SNR), temporal and spatial scalability. A new scalable coding mechanism, called Fine Granularity Scalability (FGS), was recently proposed to MEPG-4 . An FGS encoder uses bitplane coding to represent the enhancement bitstream. Bitplane coding enables continuous sending rate by truncating the enhancement layer bitstream at anywhere. This advantage of FGS makes it more flexible than other scalable coding algorithms. An important property of scalable coding is that the base layer has the highest priority and must be transported correctly. In contrast, another coding approach, named Multiple Description Coding (MDC) , encodes the signal into multiple bitstreams, or descriptions, of roughly equal importance. So any single description can provide acceptable result, while other descriptions complement to each other to produce better quality. Multiple descriptions can be transmitted simultaneously through diverse paths in order to increase the probability of receiving at least one description. MDC achieves these advantages at the expense of coding efficiency.
Rate control and error control are regarded as application-layer QoS techniques which maximize the received video quality in the presence of underlying error-prone networks . Rate control determines the data sending rate based on the estimated available bandwidth. A lot of so called “TCP-friendly” rate control approaches have been proposed for best-effort internet in order to avoid network congestion . Error control is employed to reduce the effect of transmission error on applications. Two basic approaches are Forward Error Correction (FEC) and Automatic Repeat Request (ARQ). FEC adds parity data to the transmitted packets and this redundant information is used by the receiver to detect and correct errors. FEC maintains constant throughput and has bounded time delay. ARQ is based on packet retransmissions when errors are detected by the receiver. ARQ is simple but the delay is variable. Many alternatives to FEC and ARQ have been introduced in . One of the most well-known error coding techniques is Reed-Solomon coding  which deals with burst errors. The field of R-S coding is of the form GF(2M), where M is any positive integer. Each bit block of 2M bits is called a symbol. If the original packet length is K symbols, then after adding redundant parity data, the codeword will be of length N > K. The original packet can be completely recovered when there are no more than (N – K) / 2 error symbols during transmission. In order to protect source data with different importance, joint source/channel coding has been proposed . For example, different frames in MPEG-4 coding or different layers in scalable source coding can combine with unequal length of parity data. Error concealment  is a technique employed by receivers to minimize the effect of packet errors on the quality of video.
Network-based approaches. In addition to the research on video applications, a large body of research has been conducted on improving underlying networks for the benefits of upper applications. We will review network-based approaches from right below application layer down to physical layer, according to the OSI reference model.
Between application layer and transport layer, there are several standardized protocols designed for supporting real-time applications, such as real-time transport protocol (RTP), real-time control protocol (RTCP), real-time streaming protocol (RTSP) and session initiation protocol (SIP) . RTP provides extra information to application layer in the form of sequence numbers, time-stamping, payload type, and delivery monitoring. But RTP itself does not ensure timely delivery or other QoS guarantees. RTCP is a control protocol for monitoring RTP packet delivery. RTSP and SIP are designed to initiate and direct delivery of real-time data.
At transport layer, TCP provides reliable transmission of data by flow control, congestion control and retransmission. However, for most real-time communications, applications can tolerate data errors to some extent, but they have strict time constraint. So another simpler transport protocol, UDP, is widely used for real-time data transmission. UDP only uses cyclic redundancy check (CRC), or checksum, to verify the integrity of received packet. Since UDP does not perform any error correction, it may sacrifice the whole packet only for some minor data errors, which can yield unpredictable degradation and poor application quality. In order to solve this problem, a modified version, called UDP Lite, is introduced . UDP Lite allows partial checksum on packet data by enabling application layer to specify how many bytes of the packet are sensitive and must be protected by checksum. If bit errors occur in the sensitive region, the receiver drops the packet; otherwise it is passed up to the application layer. This approach allows the application to receive partially corrupted packets which may still generate acceptable video quality.
Most differences between wireless and wired networks exist below transport layers. Wireless networks involve different kinds of radio access networks, such as mobile cellular network and WLAN. Under the umbrella of IMT-2000, 3G mobile network standards provide high date rate up to 384 kbps for mobile users and 2 Mbps for users at pedestrian speed. One of the most promising 3G networks is Wideband CDMA (WCDMA), also known as Universal Mobile Telecommunications System (UMTS). UMTS is standardized by 3GPP . A UMTS network consists of Universal Terrestrial Radio Access Network (UTRAN) and core networks (CN). An IP packet coming from an internet host is first directed to a 3G Gateway GPRS Support Node (3G-GGSN) through Gi interface, then tunneled from 3G-GGSN to UTRAN via 3G Serving GPRS Support Node (3G-SGSN) by GPRS Tunneling Protocol for data transfer (GTP-U). We are most interested in data transmission over the wireless link, which is the air interface (Uu) between UTRAN and mobile stations (called UE in UMTS), because the data transmission rate at wireless link is usually the bottleneck of throughput. Radio Link Control (RLC) , located at the upper half of data link layer, segments packets into radio blocks and provides three data transfer modes to upper layers: Transparent Mode without any extra information; Unacknowledged Mode which can only detect erroneous data; Acknowledged Mode which provides more reliable data delivery by limited number of retransmissions. Media Access Control (MAC) is responsible for mapping logical channels into transport channels provided by physical layer (PHY), as well as reporting of measurements to the Radio Resource Control (RRC). RRC manages and controls the use of resources and therefore has interactions with RLC, MAC and PHY. In addition to wide area wireless networks, WLANs have been rapidly accepted in enterprise environments, mainly due to the standardization by IEEE 802.11 work group  and the low cost of deploying a WLAN. The IEEE 802.11a and the newly approved 802.11g can provide high data rate up to 54 Mbps. IEEE 802.11 standards only define the physical layer and MAC layer in order to seamlessly connect WLAN to existing wired LANs. For the channel access control, in contrast to the centralized control in cellular networks, IEEE 802.11 employs carrier sense multiple access with collision avoidance (CSMA/CA) in a highly distributed fashion. The mandatory function implemented in 802.11 stations is distributed coordination function (DCF), by which mobile stations contend for the radio channel and there is only one user at one time. But the DCF does not fit well to the time-sensitive applications. Instead, another optional point coordination function (PCF) should work better because there is a point coordinator (PC) which polls every user in the contention free period (CFP). The contention period (CP) controlled by DCF and the CFP controlled by PCF alternate to accommodate both functions. At the physical layer, IEEE 802.11 provides different transmission rates. For example, 802.11a provides eight data rates from 6 Mbps to 54 Mbps by changing channel coding parameters.
Research activities on video transmission over wireless networks can be found in  - . Liu  discussed rate control of video source coding for wireless networks. Wu  proposed a general adaptive architecture for video transport over wireless networks. Vass  proposed a novel joint source/channel coding for wireless links, based on the concept of application-level framing. Wang  compared MDC with scalable coding in wireless networks when multiple paths are available. Majumdar  investigated unicast and multicast video streaming over WLAN where the wireless network is modeled as a packet erasure model at network layer. Miu  presented experimental results to show the advantage of transmitting H.264/MPEG-10 AVC encoded video over multiple access points in IEEE 802.11b WLAN. The above approaches are used at application layer and the underlying wireless network is considered as a high packet loss rate environment. Other research is focused on improving the performance of wireless networks. Fitzek  proposed a prefetching protocol for continuous media streaming between a base station and mobile stations in a cell. The protocol used transmission rate adaptation techniques to dynamically allocate transmission capacity for different streams. Singh  evaluated the performance of using UDP Lite and transparent mode RLC in GSM. Wang  developed a new MAC protocol for FDD WCDMA in 3G cellular networks. A scheduling scheme, assisted by minimum power allocation and effective connection admission control, was used to fairly queue multimedia traffic with different QoS constraints. Zhang  considered scalable video transmission over pre-coded Orthogonal Frequency Division Multiplexing (OFDM) system, enhanced by adaptive vector channel allocation. Zou  proposed a MPEG-4 frame drop policy in order to save bandwidth of IEEE 802.11 WLAN in the DCF mode.
Cross-layer approaches. According to the above review, most current research activities are focusing on solving part of the problem: there have been a huge number of results based on applications and networks separately, but there is still not much research on the interaction between different layers in order to take full advantage of each other. Girod  introduced several advances in channel-adaptive video streaming, which involved several system components jointly. But their integration to wireless networks was not investigated. Zhang  integrated their work at different layers into a cross-layer framework supporting multimedia delivery over wireless internet. However, they did not address the cooperation of techniques at different layers. Zheng  introduced an improved UDP protocol. The protocol captures the frame error information from link layer and uses it for application layer packet error correction. Shan  proposed a cross-layer error control scheme in which the application layer implements FEC and requests link layer to retransmit lost packet when necessary. Ding  proposed a cross-layer error control algorithm which can dynamically adjust FEC at application layer according to the link layer retransmission information. Krishnamachari  investigated cross-layer data protection for IEEE 802.11a WLAN in the PCF mode. The application layer scalable coding and FEC were adopted, along with MAC layer retransmission and adaptive packetization. The above results investigated cross-layer error control methods in order to deal with high error rate in wireless networks. How to use limited and variant bandwidth in wireless networks is another challenging issue that should be addressed. In the following sections, we will introduce the cross-layer error control and rate control algorithms for real-time data transmission over mobile wireless networks.