Joint Protocol-Channel decoding: Taking the best from noisy packets
Abstract
The widely used OSI layered model partitions networking tasks into distinct layers. This facilitates network design, since each layer has not to be aware of the information introduced by other layers, allowing heterogeneous contents to be delivered via the same communication network. Moreover, each layer, assuming that the lower layers behave perfectly, attempts to provide perfect information to the upper layers. For that purpose, error-detecting codes (CRC or checksums) have been introduced at various places of standard protocol stacks combined with retransmission mechanisms for data packets deemed as corrupted. Moreover, since the layers work independently, but sometimes require the knowledge of identical (or correlated) information, some redundancy may be found, essentially in the block headers that are processed at each layer. This redundancy has been recognized and used for example in ROHC for reducing the header lengths. However, the information contained in these headers at one layer could be very useful for performing tasks that are located at other layers. The usual way of taking advantage of this redundancy is to build joint approaches in order to improve performance and use of resources. In joint approaches, the network layers are obviously less compartmentalized: information previously available at a single layer may now be seen and used by other layers, since they can be of great help. The risk in such an approach would be a loss of the architectural coherence that was the primary driving force behind the use of decoupled layers. The role of Joint Protocol and Channel Decoding (JPCD) is to make an efficient (and joint) use of the redundancy present in the protocol layers as well as the redundancy introduced by the channel coding in order to obtain optimal performance. A partial effort in this direction was already done under the framework of cross layer techniques, but JPCD intends to make full use of all properties of the signal that is transmitted. This approach is especially useful in the context of mixed wired and wireless data transmission. The aim of JPCD techniques is to improve the efficiency of various layers of the protocol stack based on the information provided by the channel combined with redundancy present in the protocol stack. With this strategy, more reliable header recovery can be performed, aggregated packets can be more efficiently delineated. More recently, it has also been shown that channel decoding may benefit from the redundancy present in the protocol stack (protocol-assisted channel decoding). As a result, one can obtain at each layer packets that are "more usable", i.e., contain fewer errors. However, in a number of circumstances, this has to be obtained while maintaining the compatibility with the classical remedy to transmission errors: retransmission mechanisms. Thus, JPCD allows getting the best performance out of the received signals without considering changes to the way this signal is transmitted. Clearly, since JPCD is performed within the receiver, the ability to use JPCD tools with existing standards makes it potentially very practical. Therefore, there is a good possibility that JPCD could become practically used in the near future, provided that all of the different network layers can be incorporated in the process, and that the compatibility with existing mechanisms can be maintained. This tutorial provides the corresponding tools. This tutorial, build on top of the book Joint Source-Channel Decoding. A Cross-Layer Perspective with Applications in Video Broadcasting over Mobile and Wireless Networks published in 2009 by Academic Press, provides a cross-layer perspective on JPCD tools. It identifies the various sources of redundancy present in a protocol stack. It then introduces tools, mainly taken from channel decoding, which enables classical operations in a protocol stack such as header recovery, de-encapsulation, packet delineation to be performed in a more reliable way in the presence of noise. Applications concerning the reliable transmission of multimedia (video and html files) contents are then provided. All these JPCD techniques increase the throughput of wireless communication channels, since fewer packets have to be retransmitted. Moreover, truly permeable protocol stack may be obtained at decoder side, allowing Joint Source-Channel Decoding techniques to process noisy data at application layer. Finally, this opens the floor for a true optimization of the redundancy allocation at the various layers of the protocol stack in order to obtain the best performance.