{'fraction_non_alphanumeric': 0.020498614958448753, 'fraction_numerical': 0.0, 'mean_word_length': 5.473118279569892, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Layered Wireless Video Multicast Using Relays

Wireless video multicast enables delivery of popular events to many mobile users in a bandwidth efficient manner. However, providing good and stable video quality to a large number of users with varying channel conditions remains elusive. In this paper, an integration of layered video coding, packet level forward error correction, and two-hop relaying is proposed to enable efficient and robust video multicast in infrastructure-based wireless networks. First, transmission with conventional omni-directional antennas is considered where relays have to transmit in non-overlapping time slots in order to avoid collision. In order to improve system efficiency, we next investigate a system in which relays transmit simultaneously using directional antennas. In both systems, we consider a non-layered configuration, where the relays forward all received video packets and all users receive the same video quality, as well as a layered setup, where the relays forward only the base-layer video. For each system setup, we consider optimization of the relay placement, user partition, transmission rates of each hop, and time scheduling between source and relay transmissions. Our analysis shows that the non-layered system can provide better video quality to all users than the conventional direct transmission system, and the layered system enables some users to enjoy significantly better quality, while guaranteeing other users the same or better quality than direct transmission. The directional relay system can provide substantial improvements over the omni-directional relay system. To support our results, a prototype is implemented using open source drivers and socket programming, and the system performance is validated with real-world experiments.