Member, IEEE Claudio Greco
email: greco@telecom-paristech.fr.

Senior Member, IEEE Marco Cagnazzo
email: cagnazzo@telecom-paristech.fr.

Senior Member, IEEE Béatrice Pesquet-Popescu

Low-Latency Video Streaming with Congestion Control in Mobile Ad-Hoc Networks

Keywords: Congestion-Distortion Model, Cooperative Systems, Cross-layer Design, Mobile Ad-Hoc Networks, Multiple Description Coding, Multimedia Communication

In this paper, we address the challenge of delivering a video stream, encoded with multiple descriptions, in a mobile ad-hoc environment with low-latency constraints. This kind of application is meant to provide an efficient and reliable video communication tool in scenarios where the deployment of an infrastructure is not feasible, such as military and disaster relief applications. First, we present a recently proposed protocol that employs a reliable form of one-hop broadcast to build an efficient overlay network according to a multi-objective function that minimises the number of packets injected in the network and to maximises the path diversity among descriptions. Then, we introduce the main contribution of this article: a cross-layer congestion control strategy where the MAC layer is video-coding aware and adjusts its transmission parameters (namely, the RTS retry limit) via congestion/distortion optimisation. The main challenge in this approach is providing a reliable estimation of congestion and distortion, given the limited information available at each node. Our simulations show that, if a stringent constraint of low delay is imposed, our technique grants a consistent gain in terms both of both PSNR and delay reduction, for bitrates up to a few megabits per second.

I. INTRODUCTION

A mobile ad-hoc network (MANET) is a dynamic network of mobile devices connected by wireless links, self-organised in a mesh topology [START_REF] Frodigh | Wireless ad-hoc networking: the art of networking without a network[END_REF][START_REF] Hanzo | Admission control schemes for 802.11-based multi-hop mobile ad-hoc networks: a survey[END_REF]. MANETs offer a set of properties -flexibility, ease of deployment, robustness, etc. -that makes them appealing in environments without preexisting infrastructure. Possible applications range from crisis management service, such as military and rescue operations (e.g., to provide battlefield awareness and data dissemination), to business environments, such as video conferencing outside the office (e.g., to brief clients on a given assignment), to recreational contexts (e.g., to allow user to view a live stream of an event they are attending). In all these scenarios, real-time video streaming is an application of major interest [START_REF] Gerla | From battlefields to urban grids: new research challenges in ad-hoc wireless networks[END_REF].

The challenge of delivering real-time video streams in unreliable networks, such as a MANET, can be efficiently addressed by ensuring a partial loss resiliency with Multiple Description Coding (MDC) [START_REF] Goyal | Multiple description coding: compression meets the network[END_REF]. In MDC, the source signal (be it an image, a video, or an audio signal) is encoded in N independent streams, referred to as descriptions. Each description can be decoded independently from the others, and each further description improves the quality of the reconstructed signal. When all N descriptions are available, the highest quality is attained. Several MDC techniques have been proposed, in particular for video [START_REF] Wang | Multiple description coding for video delivery[END_REF]. A first class of solutions, called channel splitting techniques, are based on a suitable sampling of the original signal (e.g., temporal sampling: odd images are encoded in the first description and even images in the second one) and an associated method for recovering missing samples [START_REF] Apostolopoulos | Reliable video communication over lossy packet networks using multiple state encoding and path diversity[END_REF][START_REF] Greco | H.264-based multiple description coding using motion compensated temporal interpolation[END_REF]; other techniques include non-conventional quantisers [START_REF] Reudink | The channel splitting problem with interpolative coders[END_REF][START_REF] Vaishampayan | Design of multiple description scalar quantizers[END_REF], progressive coding with unequal protection [START_REF] Puri | Multiple description source coding through forward error correction codes[END_REF], redundant and correlating transforms [START_REF] Goyal | Generalized multiple description coding with correlating transforms[END_REF] (which enable scalability in the case of wavelets [START_REF] Tillier | A motion-compensated overcomplete temporal decomposition for multiple description scalable video coding[END_REF]), or insertion of redundant pictures to reduce error propagation [START_REF] Radulovic | Multiple description video coding with H.264/AVC redundant pictures[END_REF]. However, we refer the reader to the excellent survey papers by Goyal [START_REF] Goyal | Multiple description coding: compression meets the network[END_REF] and by Wang et al. [START_REF] Wang | Multiple description coding for video delivery[END_REF] for further information.

MDC can be used to improve robustness in video diffusion over a MANET by sending each description on a different and independent (logical or physical) channel. If at least one description is received, it can be decoded by a so-called side decoder, producing a relatively low-quality version of the original signal. If more descriptions (or all of them) are received, they are jointly decoded by a so called central decoder, achieving a higher quality. For the sake of completeness, it must be said that MDC is not the only technique used to adapt a video stream to a lossy channel: alternatives include crosslayer overlay construction with hierarchical video coding [START_REF] Villalón | Cross-layer architecture for adaptive video multicast streaming over multirate wireless LANs[END_REF], joint use of scalable coding and advanced forward error correction codes such as Raptor codes [START_REF] Monteiro | Robust multipoint and multi-layered transmission of H.264/SVC with raptor codes[END_REF], or, more recently, Network Coding (NC) [START_REF] Chou | Practical network coding[END_REF][START_REF] Magli | An overview of network coding for multimedia streaming[END_REF]. We notice that NC can be used in addition to multiple description coding (see Sec. V).

As for the problem of streaming multimedia content in MANETs, the literature provides a fair number of solutions.Studies on optimisation of content delivery on MANETs showed that structured protocols -i.e., protocols that construct and maintain an overlay, such as Chord [START_REF] Stoica | Chord: a scalable peer-to-peer lookup service for Internet applications[END_REF] -have a reduced delay and a better scalability, but a decreased resiliency, if compared to unstructured protocols such as Gnutella [START_REF]Gnutella p2p network[END_REF]. Structured protocols are more effective, but their performance degrades in more dynamic networks [START_REF] Da Hora | Enhancing peer-to-peer content discovery techniques over mobile ad-hoc networks[END_REF], which prevents interesting applications such as battlefield awareness services, out-of-office client briefing, or live delivery of special features at music or sport events. To overcome the limits of structured protocols in MANETs, we moved towards a cross-layer paradigm, which has been pointed out as a needed shift of perspective in protocol design for wireless transmission [START_REF] Van Der Schaar | Cross-layer wireless multimedia transmission: challenges, principles, and new paradigms[END_REF].

In this spirit, we recently proposed [START_REF] Greco | A cross-layer protocol for cooperative content delivery over mobile ad-hoc networks[END_REF] a novel protocol, A Broadcast Content Delivery Protocol (ABCD), inherently designed for the MDC ad-hoc wireless case, exploiting the natural broadcast property of the medium in a cross-layered fashion. In most scenarios, ABCD performs well in terms of availability, robustness, scalability, and presents a low and stable latency. However, in large dense networks it is not able to abide by a stringent low-delay requirement. This is a common problem in the context of video streaming over MANETs, due to the fact that, even under optimal assignment of transmission ranges and traffic patterns, the throughput of each node in a wireless network diminishes to zero as the number of users is increased [START_REF] Gupta | The capacity of wireless networks[END_REF].

In this work, we propose a congestion control framework for real-time multiple description video multicast over MANETs. This framework includes models for congestion and distortion that take into account both the video stream coding structure and the unavoidable redundancy of the overlay network; it also provides the MAC layer with video-coding awareness, thus making possible to perform an optimisation of congestion and distortion. This framework can be integrated into any treebased video streaming protocol for MANETs to improve its performance; we show here that, if integrated into the ABCD protocol, it attains a significant reduction of both average (over time and nodes) and maximum end-to-end delay, maintaining a delivery rate close to 100 %.

As we write, several solutions for video streaming over adhoc networks have begun to appear, e.g., based on centralised overlay construction supervised by the video source [START_REF] Badarneh | Multiple description video multicast in MANETs[END_REF], or on simple loss-distortion models for one-to-one communication [START_REF] Goudarzi | Video transmission over MANETs with enhanced quality of experience[END_REF]. However, our technique still distinguishes itself from the others on some unique features. First, the application driven broadcast reservation, which allows the exploitation of the broadcast medium properties in an efficient way for oneto-many applications. Moreover, ABCD forms its independent multicast trees in a distributed fashion. Finally, our crosslayered congestion control technique, wherein optimisation is both application and network aware, includes a distortion model that takes into account both the coding structure and the estimated number of nodes affected by a loss. The idea of congestion-distortion optimisation (CoDiO) in video streaming, as opposed to the traditional rate-distortion optimisation, was introduced to model the effects that self-inflicted network congestion has on video quality [START_REF] Setton | Congestion-distortion optimized scheduling of video over a bottleneck link[END_REF]. The scenario was a wired network where each node is connected to the video source by a succession of high-bandwidth shared links and terminating with a bottleneck on the last hop; the case of unicast streaming over MANETs was considered some time later [START_REF] Zhu | Congestion-distortion optimized video transmission over ad-hoc networks[END_REF], but the model provided neither an on-line estimation of the network conditions, nor a viable extension for multicast streaming.

The ABCD protocol shares some key design principles with real-time peer-to-peer protocols for video streaming on mesh networks, such as VidTorrent [28] and its more scalable evolution SEACAST [START_REF] Zezza | Seacast: A protocol for peer-to-peer video streaming supporting multiple description coding[END_REF]. In fact, ABCD also aims to provide an adaptive self-repairing overlay forest, composed of independent trees each carrying a description of the stream. The wireless scenario, however, presents a different set of challenges, such as the increased need for decentralisation.

Moreover, our work focuses on spontaneous multi-hop networks, wherein the video source is unable to collect in advance information about the number and the features of the nodes requiring the stream, and thus solves a class of problems different from those solved by rate-less codes. However, the two methods are not incompatible: if the MDC stream is also scalable, a technique of unequal loss protection via slidingwindow Raptor codes [START_REF] Cataldi | Sliding-window raptor codes for efficient scalable wireless video broadcasting with unequal loss protection[END_REF] could be integrated in the perhop transmission of nodes, providing resiliency to fading and shadowing.

The main contribution of this work is a CoDiO framework based on a distributed estimation of both the network topology, in order to capture the multiple paths that a video packet may follow, and the channel conditions, in order to estimate the effects on end-to-end delay. This information is propagated in an efficient and compact way through the network, leading to significant improvements in terms of both delay and objective video quality, as demonstrated by the simulations.

The reminder of this paper is organised as follows: in Sec. II, we resume the ABCD protocol, while in Sec. III, we describe the proposed CoDiO approach. Sec. IV presents our experimental setup and the simulation results. Finally, in Sec. V, general observations and an outlook on future work are given.

II. THE ABCD PROTOCOL

The ABCD protocol [START_REF] Greco | A cross-layer protocol for cooperative content delivery over mobile ad-hoc networks[END_REF][START_REF] Greco | ABCD : Un protocole cross-layer pour la diffusion vidéo dans des réseaux sans fil ad-hoc[END_REF] was introduced to enable the construction of an overlay network composed of N application-level multicast trees, one for each description. Our system consists in a multitude of mobile nodes connected by wireless links in a mesh topology; the nodes are placed randomly in a fixed-size playground, and free to move within it. Since our application is aimed at military and rescue operations, we assume that the nodes move at walking/running speed, i.e., around 5 m/s. Also, nodes can connect and disconnect abruptly. The application aims at delivering a video stream -available at a pre-selected node (source) -to the remaining nodes in the network (peers), and no other significant traffic is present on the MANET. The goal of the protocol is to produce an overlay that is efficient and robust. Efficient here means that the stream is delivered to all nodes with the minimum use of resources; robust, that the overlay is not severely affected by burst packet losses, due to collisions, mobility, or abrupt disconnection of nodes. It is understood that each node aims at receiving as many descriptions as possible, in order to maximise its video quality. Building and maintaining an overlay inevitably requires that a number of packets is exchanged; in order to reduce this number, nodes have to gather information without making explicit requests, by inferring as much as possible from any packet they received.

We exploit the fact that the wireless medium is inherently broadcast, hence each node can intercept any packet sent within its transmission area, as long as it does not collide. However, using the wireless channel as a broadcast medium conflicts with the fact that the 802.11 MAC layer was mainly designed for one-to-one communications, while its support of one-to-many communication is known to be unreliable and inefficient [START_REF] Tourrilhes | Robust broadcast: improving the reliability of broadcast transmissions on CSMA/CA[END_REF]. To overcome this difficulty, we provided ABCD with a modified MAC layer, better suited to our purposes; namely, we implemented a form of application-driven reliable broadcast [START_REF] Marina | RBRP: A robust broadcast reservation protocol for mobile adhoc networks[END_REF]. The MAC is modified for ABCD video packets as follows. We set the destination field of the 802.11 frames to the broadcast address, which allows any ABCD video packet to be received by any neighbour of the sender. We define as neighbours of a node n all the nodes whose packets can be received by n; if we assume a symmetric channel, the node's neighbourhood is the set of nodes within its transmission area. Note that the neighbourhood of a node may change over time due to mobility and churn. Even though packets are sent in broadcast, we do enforce an RTS/CTS/ACK exchange with one neighbour, specified by the protocol accordingly with the application logic, and referred to as control peer.

The choice of the control peer, as discussed in our previous work [START_REF] Greco | ABCD : Un protocole cross-layer pour la diffusion vidéo dans des réseaux sans fil ad-hoc[END_REF], is implemented as a biased random choice. For each packet to be sent in broadcast, the control peer selection procedure is repeated, and each neighbour n of the sender s is selected with a probability p CP (n) = T (n)+1

T (s) , where T (x) is the number of descendants of node x on the overlay tree (excluding x itself). In other words, p CP (n) is the fraction of descendants of node s belonging to the sub-tree rooted in n (including n itself). Even though this technique cannot entirely prevent collisions, experimental evidence suggests that it reduces this phenomenon to the point of being negligible in our simulations, up to a density of 20 nodes per neighbourhood. Such a reduction of the collision probability allows the protocol to perform better than the standard 802.11 in the trade-off between rate and diffusion area. This tradeoff is typical of self-limiting multi-hop broadcast in wireless networks [START_REF] Fawal | Multihop broadcast from theory to reality: practical design for ad-hoc networks[END_REF], where a greater number of retransmissions increments the spread of the content (diffusion area), but reduces its throughput (rate) because of the limited channel capacity. Our improvement comes at the price of an increased congestion, as the channel reservation has an overhead in terms of time needed to transmit a packet; so it is advisable to use this technique only when a relatively small subset of nodes is transmitting at the same time, possibly with a high bitrate. Also, in order to work efficiently, the reliable broadcast needs a good choice of the control peer, which cannot be made using MAC layer information only. In conclusion, this technique is well fit for cross-layer protocols dealing with large chunks of data, such as ours, but would not be advisable as a general purpose addition to the standard MAC layer.

Once a reliable channel for broadcasting is available, the protocol design is quite intuitive. As soon as the video source has a content to deliver, it sends an advertisement message. The source's neighbours, receiving that message, reply with an attachment message for each description. Attachment messages are interpreted as subscriptions to the description, so as soon as the stream has at least one subscriber, the source activates, i.e., it starts broadcasting the video packets for that description. We define a node active on a description when it is transmitting that description. Conversely, we say that a node deactivates on a description when it stops broadcasting it, willingly or otherwise. The subscribing nodes -that we define as the source's children -keep sending periodical attachment messages to their parent (the source) in order to keep it active: the source deactivates when nodes turn off or get out-of-range. Each node that is not in the source's neighbourhood, but that is in the neighbourhood of at least one of its children, becomes aware of the availability of the descriptions as it receives its peers' attachment messages (a peer is any node other than the source). It then chooses one of these peers as its parent and sends it an attachment message; the node thus chosen will activate, starting to forward the video packets it receives from the source for the description it is active on. The attachment messages sent by the newly subscribed node will now advertise the description within their neighbourhood, generating other subscriptions; this process is reiterated, independently on each description, until all nodes have one parent per description. A node can have a different parent for each description; the overlay is thus formed of the superposition of N different trees. In conclusion, a node becomes aware of a path to the video resource as it intercepts an attachment message. Quite often, it actually intercepts attachments from multiple peers (either piggybacked in video packets from an active node or standalone from a subscribed node), and has to decide which peer provides the best path. Even if the node already has a parent, it could become aware of a better path, created by the connection or the mobility of a peer. Therefore, nodes need a metric for the paths through their neighbours, in order to choose the best one. To this end, we designed the following metric, which takes into account the above discussed objectives, that each node evaluates over all candidate parents (i.e., nodes of whom it intercepted an attachment message), then selecting the one that minimises its value:

J = ω h h + ω a a + ω d d -ω g g -ω q q, ( 1
)
where h is the number of hops to the source, a is the number of active peers in the node's neighbourhood, d is the number of descriptions (other than the current one) for which the node is already subscribed to the candidate parent, g is the number of peers subscribed to the same candidate parent, q is the average signal-to-noise ratio of the link to its parent, and the ω values are a set of positive real weights, chosen experimentally so that the average PSNR of the video sequences decoded by the nodes is maximised. Experiments show that these weights need not to be adjusted at run-time, as the optimisation is quite robust with respect to their choice, in the sense that, using values slightly different from the optimal ones, the protocol still attains good results in terms of received frames and video quality.

Hop count minimisation should always be preferred over all other parameters in the function, since it assures that the overlay graph is acyclic (i.e., a proper tree). Also, it is beneficial to the minimisation of the end-to-end delay. As a result, in an overlay generated by ABCD, a node cannot have, in a steady state, a peer in its neighbourhood whose hop-count is smaller than that of its current parent, since in that case it would simply switch parent in order to prevent loops. The number of active nodes per neighbourhood is also minimised, for two reasons: reducing the number of packets injected in the network (hence the congestion) and reducing the total amount of resources demanded to the nodes, which pay an energy cost to relay a description. The protocol also aims, by minimising ω d d, at ensuring path diversity among the descriptions, which is advisable for both fairness and robustness. Notice that the term -ω g g implies that the nodes try to maximise the number of peers subscribed to their same parent (siblings), in order to concentrate subscriptions on fewer active nodes, making deactivations more frequent. As a result, the overlay trees generated by ABCD tend to be short and wide, and the number of active nodes tends to be small, which helps in preventing collisions.

However, we implemented a number of techniques explicitly aimed at reducing the collision probability. To make it unlikely that two (or more) active siblings rely a packet at the same time, video or attachment, we used a random assessment delay (RAD, [START_REF] Marina | RBRP: A robust broadcast reservation protocol for mobile adhoc networks[END_REF]). To reduce the collision probability among video packets belonging to different descriptions, the source relays them as temporally far apart as possible. In particular, let us indicate with t r ( , j) the time when the -th packet of the j-th description is relayed, and with T the data packet period. We consider the most common case of N = 2 descriptions, see also Sec. III-A. If the -th packet of description 0 is relayed at time t r ( , 0) = t 0 + T , then we impose that the -th packet of description 1 is relayed at time t r ( , 1) = t 0 + ( + 1/2)T . Even though this "phase opposition" is lost when the two descriptions are propagated through the network, since they are not assured to arrive with the same delay to a generic node (because of the RAD and other random events), the difference in delays between the descriptions (jitter) is typically much smaller than the inter-packet semi-period T /2, hence collisions between packets of different descriptions are kept very unlikely. If more than two descriptions are used, we set t r ( , j) = t 0 + ( + j/N )T . Since N is usually not large [START_REF] Wang | Multiple description coding for video delivery[END_REF], the delay difference is still much smaller than T /N . Finally, to mitigate collisions involving attachment messages, the attachment rate is reduced as a function of the number of siblings (including the hidden ones, as the parent node piggybacks the number of known children in its video packets: in steady state, active nodes tend to have a perfect knowledge of the number of their children). In conclusion, the impact of collisions is almost null in all our simulations.

As a final remark, we underline ABCD is a cross-layer protocol covering the MAC, network, and application layers, but not the physical layer: to this end, we build on the features of 802.11. Nevertheless, we are aware that physical layer issues must be taken into account when validating ABCD. For this reason, we have extensively tested it using a suitable simulation environment (ns-2) under several conditions of node density, number of nodes, and stream bitrate [START_REF] Greco | A cross-layer protocol for cooperative content delivery over mobile ad-hoc networks[END_REF]. In all these scenarios, the protocol has proven to be able to ensure that 100 % of the nodes receive almost all frames of all descriptions, for a node density up to 20 nodes per neighbourhood, which is three times as high as the optimal density (in the sense of the trade-off between the number of hops to reach a destination and the collisions occurring at each node) [START_REF] Royer | An analysis of the optimum node density for ad-hoc mobile networks[END_REF]. The average delay is kept in the order of the hundreds of milliseconds as the topology is slowly changing, but the maximum delay can have much higher peaks if the topology is changing quickly, e.g., a flash-crowd or a high mobility happens.

III. CONGESTION DISTORTION OPTIMISATION FOR ABCD

Even though the ABCD protocol is able to create a dynamic overlay that is efficient in terms of coverage and packet overhead, it has an inherent limitation due to the broadcast reservation: when node density is very high or a sudden change in topology occurs, the average delay may become so high that some video frames are received beyond their playback deadline. The actual values for an acceptable delay depend on the buffering strategy and, more generally, on the application; in the following we shall assume that our target application aims at abiding by a conversational pattern, which means that the maximum accepted delay from the video source to the end user is in the order of one hundred milliseconds, and the total (i.e., for all descriptions) bitrate of the stream is in the order of a few megabits per second, a setup consistent with a videoconferencing application. An example of application is a field awareness or an order dispatch service, provided in a military or disaster-relief scenario, where a unidirectional video feed can be provided live to the agents on the field by the central headquarters.

To reduce the delay in ABCD, we introduce a Congestion vs. Distortion Optimisation (CoDiO) criterion in the per-hop forwarding of the protocol; namely, we adjust the retry limit used by the RTS/CTS mechanism of the MAC, in a Co-Di optimised fashion. CoDiO is an approach already proven viable in the design of cross-layer protocols for video streaming on MANETs [START_REF] Setton | Cross-layer design of ad-hoc networks for real-time video streaming[END_REF]; here we propose a formulation of the problem that takes into account both the inherent redundancy of the overlay and some specific features of the reliable broadcast scheme of ABCD; however, the proposed framework lends itself to be integrated in other tree-based streaming protocols.

We start from the observation that the congestion vs. distortion trade-off can be adjusted by tuning the retry limit k in the RTS/CTS mechanism. Small values of k would reduce the congestion, since less requests are sent to try and obtain the channel, but the expected distortion would increase, as it would increase the probability of not obtaining the channel, thus being unable to send the current packet. On the other hand, higher values of k would lower the expected distortion, since the probability of sending the packet is higher, but would also imply a higher congestion due to the channel occupation. We end up with a constrained minimisation problem; specifically, for each video packet, we want to find the optimal value k * for the retry limit, defined as:

k * ∆ = arg min k∈N {J(k)} , with J(k) = D(k) + λC(k), (2)
where D(k) is the expected total distortion over the set of frames depending on the current packet (i.e., contained in the packet or predicted upon it), for all the nodes in the sub-tree rooted in the current node (described in Sec. III-A), and C(k) the expected congestion of the channel seen by the current node (detailed in Sec. III-D), both resulting from the retry limit k for the current packet. The parameter λ can be determined experimentally, as detailed in Sec. IV.

While congestion can be computed locally without the need to propagate information through the overlay, since it depends on the channel that the nodes can observe directly, the distortion model offers several challenges. A missing packet affects in general several frames of the decoded video sequence; moreover, the effects may be different for each node, depending on its reception of the same packet (from another path) or of the other description. Finally, losses propagate along the multicast tree, while a node can only communicate with its direct neighbours. These points are detailed in the following.

A. Distortion Model

Here, we present our distortion model and discuss how its parameters can be estimated and propagated. For the sake of simplicity, we shall assume that the stream consists of two descriptions (d 0 and d 1 ), hence the overlay consists in the superposition of two different multicast trees. The task of extending the framework for more than two descriptions is conceptually easy, but using more than two descriptions would require that any combination of received descriptions should be considered individually, making the exposition long and confused. As a matter of fact, the case of double description coding is the most interesting in practice, and in our reference scenario in particular, as it provides a very good balance between redundancy introduced in the stream by MDC, and robustness to losses [START_REF] Alasti | Multiple description coding in networks with congestion problem[END_REF][START_REF] Apostolopoulos | On multiple description streaming with content delivery networks[END_REF].

Let us consider a node n that has to send a packet r from description d 0 . Each description can be decoded independently, but -within the same description -some frames could depend on previously decoded ones if a predictive scheme is employed. Let us call I(r) the set of video frames that depend on r because they are included in r or predicted upon it. We assume an additive distortion measure, since all the most popular distortion measures are additive or equivalent to additive measures: e.g., the sum of squared differences, SSD, equivalent to the PSNR; the sum of absolute differences, SAD; or the structural similarity (SSIM) index [START_REF] Wang | Image quality assessment: from error visibility to structural similarity[END_REF]. Using any of these measures (in particular, we used the SSD), we can define the following quantities: D c , the cumulative distortion for I(r), i.e., the sum of the distortion of the frames in I(r), when the central decoder can be used on these frames, since both descriptions have been received; D 0 , the cumulative distortion for I(r) when decoding only d 0 (only r is received); D 1 , the cumulative distortion for I(r) when decoding only d 1 (only r is lost); and D f , the cumulative distortion for I(r) when using a strategy of concealment (as both d 0 and d 1 have been lost).

Let us consider what happens if node n is deactivated on description d 0 , i.e., it stops transmitting it. Each node in the sub-tree rooted in n belongs to exactly one of the following sets. • S f , of size N f : nodes unable to receive either description if node n is deactivated on d 0 .

In Fig 1, we show a node n (identified by the blue dot with dashed border) transmitting description d 0 in its neighbourhood, which in this example is a circle. It should be noted that the actual shape of the transmission area does not affect the protocol nor the definition of the sets S c , S 0 , S 1 , and S f . Node m is also active on d 0 and is not a child of n; while node p is active on the complementary description d 1 ; the transmission areas of these nodes are also represented. If we assume that there are no other active nodes in this neighbourhood, considering the intersections of the transmission areas, we see that n has three neighbours in its set S c (identified by squares), two nodes belong to set S 0 (diamonds), four nodes belong to set S 1 (triangles); and five nodes belong to set S f (circles). Even though this is easily seen on this simplified example, determining the size of these sets is much more complicated when we take into account a sub-tree rooted in n, as discussed below. Knowing the values of N c , N 0 , N 1 , and N f , we would be able to compute D(k) perfectly. Unfortunately, in the reference ABCD protocol, n is not aware of which nodes in its sub-tree belong to which set; we show here how it is possible to estimate how many nodes belong to each set through the up-tree propagation of attachment messages.

For each video packet r, let us define η n (k) the delivery ratio for n given k as a retry limit, i.e., the expected number of nodes in n's sub-tree receiving r if sent by n with k as a retry limit, normalised by the total number of nodes in the subtree. In the following, we shall omit the subscript identifying the node when unambiguous in the context. The delivery ratio models the fact that not all nodes in the sub-tree rooted in n will receive r, since we are dealing with a wireless (therefore lossy) network. We can define the distortion for a set of nodes as the sum of the distortions of the nodes in the set. The distortion for sets S c and S 0 does not depend on the reception of r sent by n, since the nodes in those sets would still receive a copy of r and decode description d 0 , and shall therefore be omitted, as it plays no role in the optimisation. For set S 1 , only the nodes receiving r could decode both descriptions; the others would have to decode only description d 1 . Similarly, the nodes in S f receiving r could decode at least d 0 , while the others would have to use a concealment strategy. Therefore, if we make the assumption that the delivery ratio for r is the same on both S 1 and S f (which is reasonable, since the two descriptions are sent independently), the two contributions to the total distortion are

D S1 = N 1 [η(k)D c + (1 -η(k))D 1 ] and D Sf = N f [η(k)D 0 + (1 -η(k))D f ].
We rewrite the sum of these two contributions as:

D S1 + D Sf =N 1 D 1 + η(k)N 1 (D c -D 1 ) + +N f D 0 + (1 -η(k))N f (D f -D 0 ) .
We now introduce ∆D c = D 1 -D c > 0 and ∆D f = D f -D 0 > 0, which measure the reduction in the distortion a node experiences when switching from decoding d 1 only to decoding both, and from decoding no description (concealment) to decoding only d 0 , respectively. These quantities are positive, since central decoding always outperforms side decoding and side decoding always outperforms concealment in terms of distortion [START_REF] Goyal | Multiple description coding: compression meets the network[END_REF][START_REF] Wang | Multiple description coding for video delivery[END_REF]. Using these quantities, we rewrite the total distortion as:

D(k) = [1 -η(k)]N f ∆D f -η(k)N 1 ∆D c + N c D c + N 1 D 1 + N f D 0 + N f D f ,
where N c D c , N 1 D 1 , N f D 0 and N f D f do not depend on k, and can be neglected in the optimisation.

In order to solve the minimisation problem, a node has to estimate the remaining contribution to the total distortion: the differences ∆D c and ∆D f , the delivery ratio η(k), and the group sizes N 1 and N f . Here, ∆D c and ∆D f depend on the codec used; they can be easily computed at the encoder -where both central and side distortion are known, and concealment distortion can be measured -and included in the video stream as headers, or they can be estimated, such as in our experimental setup. There exist simple and effective distortion models allowing a recursive estimation of the frames distortion [START_REF] Maugey | Analysis of error propagation due to frame losses in a distributed video coding system[END_REF][START_REF] Maugey | Side information estimation and new symmetric schemes for multi-view distributed video coding[END_REF][START_REF] Tizon | Adaptive video streaming with a recursive distortion model[END_REF].

Estimating the delivery ratio and the group sizes is a more challenging task, as this information is distributed and timevarying. In order to have a reliable estimation, nodes have to deduce, at least partially, the topology of the overlay beyond their transmission area (wherein they are able to collect information directly). In the following, we present a solution to this problem that relies on a small number of messages exchanged, sent through the same links used for the video.

B. Group size estimation

In order to solve problem (2), nodes have to estimate the group sizes N f and N 1 . To this end, we introduce a model of our ad-hoc wireless network as a simple directed graph G ∆ = (E, V), where the vertices n i ∈ V represent the mobile nodes and the edges e ij ∈ E the wireless links between two nodes n i and n j , i.e., if e ij ∈ E, n i and n j are neighbours (with respect to definition given in section II). Note that edges in E are bidirectional: e ij ∈ E ⇔ e ji ∈ E.

An overlay produced by ABCD will converge, for each description, to a directed tree T, rooted in the source (labelled s), and spanning from G. For the sake of simplicity, we shall hereby consider only a snapshot of the overlay topology at the time the packet has to be sent: T = (P, V), where P ⊂ E represents the links over which the video stream is sent, i.e., the parent-child relation defined in Sec. II.

We define now a set of useful relations between two nodes n i and n j on the ABCD overlay by using binary relations on G: n i and n j are neighbours (which we denote by n i n j ), if there exists in E a pair of edges e ij and e ji connecting them; n i is the parent of n j (n i ≺ n j ), if there exists in P an edge e ij ; conversely n i is a child of n j (n i n j ), if there exists in P an edge e ji ; n i and n j are siblings (n i ∼ n j ), if there exists in V a node n k such that there exist in P two edges e ki and e kj , i.e., they have the same parent. We also define n i as an ancestor of n j (n i n j ) if there exist a simple directed path from n i to n j , in which case we also define n j as a descendant of n i (n j n i ). Let us also denote by h(n i ) the number of hops that a packet sent by the source has to cross in order to be received by n i , i.e., the value h used by node n i in the objective function [START_REF] Frodigh | Wireless ad-hoc networking: the art of networking without a network[END_REF].

In order to estimate N f and N 1 , we analyse the impact of a node skipping the transmission of a packet. We introduce in the protocol the notion of foster parent: the idea is to have each node collect information about possible alternative paths from which the description can be received, then transmit it to its current parent, thus allowing the parent to estimate the impact of its decision of not sending a packet. This is a complex problem, as no node has a global view of the topology (nor it should, as propagating the whole topology to all active nodes each time it changes would congest the channel). Our contribution consists in a technique to reliably estimate the group sizes using the nodes' local information plus a small amount of information propagated through the overlay. Let us call V A ⊆ V, the set of active nodes, i.e., the nodes that are relying at least one description, and are therefore parents of at least one node; for each node n i , we define its set of candidate foster parents B i ⊂ V A as:

B i ∆ = { n j ∈ V A | (n i n j ) ∧ (n i n j ) ∧ (n i n j ) ∧ (n i ∼ n j )} ,
which is the set of active neighbours of n i that are neither ancestors, nor descendants, nor siblings of n i (e.g., in Fig. 2, B 4 = {n 5 , n 6 , n 7 }). Each node has perfect knowledge of its set of candidate foster parents. In fact, since candidate parents are both neighbours and active, the node receives their attachment messages piggybacked in their video packets, and from these it can infer their parent. Comparing its neighbours' parent with its own, it can deduce whether they are siblings. Furthermore, each node obviously knows both its parent and children. Finally, as mentioned is section II, it cannot have in its neighbourhood other ancestors than its parent (and, by symmetry, no descendant other than its children).

The existence of a node n j ∈ B i assures that n i would stay connected even if the link with its parent were removed. Also, it is possible that it would stay connected even if the link between its parent and its grandparent were removed: this would hold true as long as the grandparent of n i were not an ancestor of n j . In order to evaluate the degree of robustness of the path that n j provides to n i , we want to investigate the common ancestors the two share. To this end, let us observe that any couple of nodes in V has at least one common ancestor, i.e., the source. However, nodes can have more common ancestors, e.g., two siblings share a number of ancestors equal to their height in the tree. Let us define:

C ij ∆ = {n k ∈ V A | (n k n i ) ∧ (n k n j )} ,
which is the set of common ancestors of n i and n j (e.g., in Fig. 2, C 4,6 = {n 1 , n 0 }). In this set, we can identify the most recent common ancestor µ ij as µ(n i , n j ) ∆ = arg max n k ∈Cij {h(n k )}, which is the common ancestor of n i and n j with the longest path from the source (e.g., in Fig. 2, µ 4,6 = n 1 ). Let n c = µ ij ; any of the h(n c ) ancestors of n c will also be in C ij , and any of its descendants will not. In other words, we can assume that, from n c to n i , the two paths (one through its current parent, the other through n j ), are affected by independent failures, i.e., no failure of a single node between n c and n i could severe both paths. Therefore, we are interested in the neighbour n j such that µ ij is as close as possible to the source. This neighbour is called designated foster parent and denoted by ϕ i . More formally:

       m i ∆ = min nj ∈Bi h (µ(n i , n j )), M i ∆ = {n j ∈ B i | µ(n i , n j ) = m i } , ϕ i ∆ = arg min nj∈Mi {h(n j )} .
The rationale behind this choice is to minimise the number of critical nodes, i.e., nodes that would cause the failure of both regular and alternative paths if deactivated. In order to find ϕ i , a node must be able to compute the number of ancestors it has in common with its neighbours; this can be done by comparison if each node adds in its attachment messages the sequences of its ancestors, which can be easily generated as it suffices that any active node adds its identifier to the sequence it receives from its parent. The amount of data exchanged to propagate the sequences is small, as the ABCD trees tend to be short and wide (see section II). It should be noted that, even in the original version of ABCD, upon disconnection of their current parent, nodes could still receive data from paths unsevered by the disconnection. However, this mechanism was implicit and, more importantly, the existence of alternative paths was not propagated through the overlay, therefore other nodes could not rely on this information to make any decision. Even though all alternative paths existing in the original protocol still exist, we designate one and advertise information about this designation to allow other nodes to benefit from it.

In the estimation of groups size, we shall assume that each node n i designates a unique foster parent ϕ i . The reason is that, even though in principle any node in B i provides an alternative path, it is unlikely that in case of failure of both the regular and alternative path, due to the disconnection of a node in their common path, other paths in B i could still be active, since the protocol tries to concentrate subscriptions on as few nodes as possible (see Section II), and if a node fails that is a common ancestor of n i and ϕ i , it is likely to be an ancestor of the others nodes in B i as well.

The presence of an alternative path allows a node to receive a packet even though its parent decided not to send it or was unable to obtain the channel. These alternative paths determine the groups S 1 and S f , whose sizes (N 1 and N f ) we want to estimate. In order to do so, we need to spread the information about the existence of these alternative paths through the overlay tree. This information, however, has to be refined while it is spread from the leaves towards the source, in order to prevent congestion. The propagation of the information about alternative paths works as follows. First, each node n i finds its most recent ancestor in common with its designated foster parent, called path dependency node and denoted δ i . By convention, a node with no alternative path defines its current parent as path dependency node.

δ i ∆ = µ(n i , ϕ i ) if B i = ∅, n k | n k ≺ n i otherwise.
The meaning of δ i is that n i has an alternative path that is independent from the current path up to δ i . See Fig. 2 and Tab. I for an example.

Once a node has computed its path dependency node, it has to transmit to its parent the information about the path dependencies. This is done using dependency records (see Tab. I), which we define as

d i ∆ = [δ i , c i , x i ],
where c i is the number of nodes in the sub-tree rooted in n i sharing the same dependency, and x i is a flag signalling whether the nodes are also receiving the complementary description. In order to explain how dependency records work, we shall now describe how they are generated and propagated through the tree. Dependency records are generated by each leaf n i as

d i = [δ i , 1, x i ],
one for each description it receives, then sent it to its parent. The parent of n i interprets this record as follows: for description d 0 , n i has an independent path up to δ i and it is the only one in its sub-tree having this dependency node; also, it has (if x i = 1), or has not (if x i = 0), the complementary description d 1 . Another similar dependency record is generated for d 1 . Let us assume that n j is the parent of n i ; if n i has no alternative path or its path dependency node corresponds to the parent of n j , then n j updates the record, replacing the path dependency node of n i with its own. The logic is simple: n i stays connected as long as n j is connected; if n j has a path alternative to its current one, then it is able to restore the path from the source to n i even if its current path fails. Therefore, for each child's dependency record d i , the parent node n j generates an updated dependency record:

d i ∆ = d i if δ i = n j and δ i ≺ n j , [δ j , c i , x i ] otherwise.
In other words, d i represents the dependency record of n i , with the addition of the knowledge of the topology contributed by n j : if n j is the path dependency node for n i , it can update this information.

Node n j needs now to transmit an aggregated information about its own alternative paths and its children's. In order to do so, it generates two aggregate dependency records, one for the children receiving the complementary description, and the other for those not receiving it:

s j k ∆ = i|ni nj ∧xi=k d i , ∀k ∈ {0, 1},
where the sum denotes the composition of two records having the same value of the flag x i , defined as:

[c i , δ i , x i ] + [c j , δ j , x i ] ∆ = [(c i + c j ), arg min δ k ∈{δi,δj} {h(δ k )} , x i ].
This rule of composition respects the semantic of the record: in fact, the number of depending nodes is obtained as the sum of the contribution of each record, while the path dependency node is chosen consistently with the definition of most recent common ancestor given above. In other words, in these records, the new path dependency node for the set of children sharing the same value of x i is the one with the shortest height. Aggregation of dependency records is needed, as it transforms a series of local views into a more descriptive global information: n j has to propagate its knowledge up-tree to facilitate its ancestor in making decisions that affect the whole sub-tree. Thus, at higher levels, a global optimisation is performed, using an aggregate information on the descendants. At lower levels, active nodes may or may not operate the same choice as their ancestors, since they will now use a more and more detailed local information. Finally, n j will add its own contribution to the proper aggregate dependency record, in accordance with the value of x j :

d j x j ∆ = s j x j + [1, δ j , x j ] d j 1-x j ∆ = s j 1-x j
Node n j will then propagate both d 0 j and d 1 j . Using the records received from its children, an active node n i can estimate the group sizes as follows:

N c = j∈Cc c j with C c = {j | n i ≺ n j ∧ δ j n i ∧ x j = 1} ; N 1 = j∈C1 c j with C 1 = {j | n i ≺ n j ∧ δ j n i ∧ x j = 1} ; N 0 = j∈C0 c j with C 0 = {j | n i ≺ n j ∧ δ j n i ∧ x j = 0} ; N f = j∈Cf c j with C f = {j | n i ≺ n j ∧ δ j n i ∧ x j = 0} .
In other words, n i verifies, for each child n j , if the dependency for the alternative path of n j is satisfied, i.e., if the path dependency node declared in the record is one of its ancestors (rather than n i itself); if this is the case, then it is understood that c j nodes in the sub-tree rooted in n j are able to receive d 0 even if n i is deactivated on that description. These c j nodes are therefore accumulated -depending on the value x j declared in the record -either on N c (if x j = 1) or on N 0 (if x j = 0). On the other hand, if the path dependency node is not an ancestor of n i (i.e., it is n i itself), then the alternative path is invalidated, and the c j nodes are assumed to be unable to receive d 0 if n i deactivates; they are therefore accumulated on either N 1 (if

x 1 = 1) or N f (if x 1 = 0).
In Tab. II we present an example of group sizes estimation, with respect to the overlay depicted in Fig. 3. For the sake of simplicity, let us assume that x i = 0 for all nodes. The estimation of the group size differs slightly from the actual values (namely for n 4 and n 5 , with an error of one unit), as nodes are unable to determine their common ancestor over all the paths of their designated foster parent. In the example, n 7 assumes n 4 as dependency node for its alternative path through n 11 , therefore n 4 invalidates it when estimating the group sizes; however, even if n 4 deactivates, n 7 could still actually receive the description through the path n 0 → n 2 → n 5 → n 8 → n 11 → n 7 , i.e., through the alternative path of n 8 . However, even with this simplification -which reduces the amount of information exchanged -the reliability of the estimation is not affected much, as we see in the example, where the small errors on the estimation are corrected upper in the tree. This is a point of strength of the protocol: errors do not propagate through the whole tree; there may be local errors, but they tend to be corrected as dependency records propagate, as they are enriched with new topological information.

C. Delivery ratio estimation

We shall now discuss how η n (k) is estimated. To this end we make the following assumptions:

1) Before each video packet is sent, the sender transmits an RTS message to the control peer. 2) If the sender receives a CTS message from the control peer, then it gains exclusive access to the channel and the video packet shall be received correctly by the control peer. 3) If the control peer has correctly received a video packet, to which it replies with an ACK message, then all designated receivers have correctly received the same packet; i.e., when the sender receives an ACK from the control peer, it can be inferred that all the children received the data packet. The first assumption is enforced by the ABCD protocol itself, the other two are common assumptions justified by the way the RTS/CTS/ACK mechanism of IEEE 802.11 works. In practice, there exists a minor fraction of nodes not receiving a video packet even if it has been acknowledged by its control peer, in certain topologies. However, these events are always limited in number of both nodes and packets, since the ABCD parent switch mechanism tends to avoid these topologies in the first place. Also, in a scenario with node mobility, these pathological topologies are necessarily transient. Of course, in a wireless environment, there is always the possibility that one or more descendants of a node do not actually receive the packet because of fading. However, on one hand 802.11 provides several tools to reduce this problem. On the other, the only effect that our assumption could have on the optimisation process is a slight overestimation of D(k), which does not necessarily translate into a wrong selection of the retry limit, since the group size estimation can be affected by a small error of the opposite sign, and k is selected into a discrete and relatively small set, therefore small variations of D are drowned by the quantisation on k. Finally, the soundness of these assumptions is supported by experimental evidence both in the articles proposing broadcast reservation [START_REF] Marina | RBRP: A robust broadcast reservation protocol for mobile adhoc networks[END_REF][START_REF] Ye | Efficiency and reliability of one-hop broadcasting in vehicular ad-hoc networks[END_REF] and in tests performed on ABCD itself [START_REF] Greco | A cross-layer protocol for cooperative content delivery over mobile ad-hoc networks[END_REF].

Let us consider a node n that has at least one child but no grandchildren. We call p n the probability of n obtaining the channel with a single try, which, under the assumptions made above, the node can estimate by just using its video packets as probes for the channel around itself, with an exponentiallyweighted moving average of the number of received ACKs divided by the number of RTS sent. Node n estimates η n (k) as 1 -(1p n ) k , then sends the value of η n (1) = p n to its parent. Note that here we are also assuming that if one child of node n receives a packet, all of the children of n also do, consistently with the assumption made above. Let us now consider a second node m that has at least one grandchild, e.g., the parent of n; m will receive from each of its children c its delivery ratios η c and the number of its descendants g c . If with a single try m were able to obtain the channel, the message it would send could be received by its g m children and, by inductive hypothesis, any node c child of m would reach in its turn η c (1)g c of its g c descendants. The value η m (1), can therefore be estimated as:

η m (1) = p m × g m + c m η c (1)g c g m + c m g c .
This formula can be read as follows: if m obtains the channel (which happens with probability p m ), then the packet is received by its g m children, plus (on average) η c (1)g c descendants through each child c, out of the total number of its descendants

(g m + c m g c ). All other values of η m (k) are then estimated as η m (k) = 1 -[1 -η m (1)] k .
The values of g c are already part of the node state piggybacked in attachment messages (see Sec. II) and the values of η c can also be transmitted in the same way, so no congestion is generated in order to transfer this information. Also, piggybacking in attachment messages assures us that the information is always up-to-date in case topology changes.

D. Congestion

With respect to the minimisation problem (2), we define the congestion seen by a node n as the number of packets Q n that cannot be sent (by n or by other nodes) as the channel in the neighbourhood of n is occupied by n itself, times the time Θ(k) the channel is kept busy by n (the former not depending

on k): C(k) = Q n Θ(k).
Here, Q n is the length of a virtual packet queue, distributed among n and its neighbours. This is different from the assumption usually made in the literature that all the neighbours of a node are always willing to transmit at any time, and is based on the knowledge of the neighbours' state, namely, the number of packets they have to sendin line with the ABCD protocol paradigm of piggybacking control information on broadcast packets. Notice that, with this formulation, a node will not refrain from sending a packet for the mere fact of having many neighbours: its neighbours shall not be considered when it is known that they do not have a packet to send; conversely, the more a node has neighbours with pending transmissions, the more it will try to reduce the number of packets it sends.

We estimate the time the channel is kept busy by the quantity Θ(k) ∆ = T rts (k) + P n (k)T pkt , where T pkt is the time to transmit the data packet -which depends on its size. The term P n (k) is the probability that n successfully obtains the channel -and thus sends the packet -with at most k tries, which is estimated as

P n (k) = 1 -(1 -p n ) k .
The value of T rts (k) is defined as the expectation of the random variable t rts = T rts (k) ∆ = E [ t rts ], which represents the time needed to succeed the RTS/CTS competition, and which depends on the number c of collisions.

Let χ be the random variable representing the number of collisions occurred before obtaining the channel, t rts can be written as t rts = (χ + 1) T tx + χ t bo , where T tx is the time to send an RTS packet including its following inter-frame space (as defined by the IEEE 802.11 standard [START_REF] Crow | IEEE 802.11 wireless local area networks[END_REF]), and t bo is the back-off time, also depending on χ. The dependency of t rts on χ suggests to evaluate T rts (k) as a conditional expectation versus the number of occurred collisions:

T rts (k) = k-1 c=0 E [ t rts |χ = c ] Pr {χ = c} = k-1 c=0 ((c + 1)T tx + c E [ t bo |χ = c ]) Pr {χ = c}.
Given c collisions, the expected value of t bo is

E [ t bo |χ = c ] = W 2 (2 c -1)
, where W is the size of the contention window as defined by the 802.11 standard [START_REF] Crow | IEEE 802.11 wireless local area networks[END_REF]. Therefore, given the probability of having c collisions Pr {χ = c} = p n (1p n ) c , T rts (k) can be written as:

T rts (k) = k-1 c=0 (c + 1) T tx + c W 2 (2 c -1) p n (1 -p n ) c .
We observe that, if we define:

∆T rts (k) ∆ = kT tx + (k -1) W 2 (2 k-1 -1) p n (1 -p n ) k-1 ,
then T rts (k) can be computed using the following difference equation:

T rts (0) = 0, T rts (k) = T rts (k -1) + ∆T rts (k).
This is a very convenient formulation, as several consecutive values of T rts (k) have to be computed. The congestion estimation completes the set of values needed to solve the minimisation problem [START_REF] Hanzo | Admission control schemes for 802.11-based multi-hop mobile ad-hoc networks: a survey[END_REF]. With all the parameters available, each node can decide its value of k for the current packet by simply evaluating J(k) for all k up to a maximum value. The choice of this value, along with an extensive experimental validation of the CoDiO model and approach, can be found in the following section.

IV. EXPERIMENTAL RESULTS

In this section, we present the results of the performance tests of the proposed CoDiO extension of the ABCD protocol, in comparison with the conventional ABCD implementation.

A set of nine video sequences ("Akiyo", "Bus", "City", "Coastguard", "Flower", "Football", "Foreman", "Mobile", and "Stefan"; CIF at 30 fps), concatenated and looped to match the total simulation time of 300 s, has been encoded with multiple descriptions using a technique based on channel splitting and motion-compensated temporal interpolation of missing frames [START_REF] Greco | An MDC-based video streaming architecture for mobile networks[END_REF], with a total coding rate of about 1.8 Mbps, resulting in an average PSNR of 39.94 dB for central decoding and 35.20 dB for side decoding.

The MANET has been simulated using the ns-2 discrete event simulator, which models quite accurately the 802.11 MAC layer and implements a shadow/multi-path fading model. Even though the PHY model of ns-2 is somewhat inaccurate, its wide availability makes it one of the most commonly used research tools in the field of mobile ad-hoc networking (see, for instance, [START_REF] Camp | A survey of mobility models for ad-hoc network research[END_REF], [START_REF] Lochert | A survey on congestion control for mobile ad-hoc networks[END_REF], and references therein).

Our implementation of ABCD consists in a modified version of the 802.11 MAC layer agent that supports our scheme of reliable broadcast and a routing agent that implements the application logic. The mobile nodes' interface parameters are based on the specifications of the ORiNOCO 11 b/g card [START_REF] Greco | A cross-layer protocol for cooperative content delivery over mobile ad-hoc networks[END_REF], which has a nominal range of 25 m using a Ricean propagation model for moving nodes, a Two-Ray Ground model for static, a path loss exponent β = 2.7, and a shadowing deviation σ dB = 6.8. The parameter λ in the minimisation problem [START_REF] Hanzo | Admission control schemes for 802.11-based multi-hop mobile ad-hoc networks: a survey[END_REF] has been found experimentally by maximising the average quality (in terms of PSNR) of the decoded sequences, for a value of λ = 1.4. However, preliminary tests with several values of λ showed that the technique is quite robust with respect to the choice of this parameter. Also, for obvious implementational reasons, problem (2) cannot be solved testing all k ∈ N; in practice, it is reasonable to assume that the optimal value of k must lie in a interval [0, k max ], with k max relatively small, since a time too long to gain access to the channel would result in the packet being dropped for lateness. In order to find a suitable value for k max , we ran several simulations with very large values of k max , in order to be sure that the optimum was not missed; we found that the optimal values for k always lay between 0 and twice the limit prescribed by the standard, 2 × 7 = 14; the following simulations are therefore run with k max = 14. From our simulations, we observed that the values of k actually chosen by the optimisation algorithm depend on the number of frames affected by the current packet: Intra-frame packets are the most protected (the most common value for k is 12), while packets containing frames with no dependency are the less protected (the most common value for k is 1). In these experiments, we compare the two versions of the protocol (i.e., plain ABCD and ABCD with CoDiO extension) in a network with 100 nodes and a density of 40 nodes per neighbourhood. This is an extremely high density, chosen in order to appreciate the capability of the proposed framework to deal with very harsh conditions of the network (e.g., a group of rescuer rushing towards the injured in a disaster, or a maniple of soldiers converging on a target). Tests performed at different densities showed that the lower the density is, the more similar the performances of the two protocols are, which was to be expected, as the proposed framework is specifically designed for high densities.

In Fig. 4(a), we compare the histogram of the frame delay for the two versions of the protocol, collected from all the nodes of the network. Note that any frame with a delay higher than 100 ms (vertical bar) would not abide to the conversational pattern, and is therefore dropped. We can observe that, in the reference version, more than one half of the frames are too late to be decoded (55 %), while in the proposed version only a light tail of the histogram (2.7 %) crosses the deadline. This means that, in the reference technique, one half of the received packets are dropped as useless, even though the channel resources for their transmission have been spent. This can be also observed in Fig. 4(b), where we compare the histogram of the average delay perceived by the nodes: about one half of the nodes have, in the reference version, an average delay higher than the 100 ms threshold. On the other hand, the CoDiO framework allows to exploit the channel more efficiently, and no node experiences an average delay higher than 70 ms. We also present, in Fig. 5, the cumulative distribution function of the maximum frame delay experienced by a generic node. We observe that, in the reference scheme, all the nodes experience at least once a very high delay (larger than 200 ms) because of congestion. On the contrary, when CoDiO is used, about 40 % of nodes never experiences a delay larger than 100 ms and only about one third of them experiences a maximum delay larger than 200 ms. However, even those nodes cannot have an average delay larger than 70 ms as shown in Fig. 4(b).

Being discarded because of lateness is of course not the only reason for a frame not to be decoded by a node. A Cumulative distribution of maximum delay experienced by a generic node. frame could have not been scheduled for sending in the first place (which can happen only in the proposed extension), or have exhausted all the requests granted without obtaining the channel (in both versions). This results in the fact that for some frames a node receives both, or one, or none of the descriptions. The reference technique uses central decoding for 73 % of frames and side decoding for 19 %, while the proposed technique uses central decoding 94 % of frames and side decoding for 5 % (concealment is used for the remaining frames). This result is mostly network-related and almost completely independent on the MDC scheme used (apart from the inter-frame dependency due to the predictive structure, see the definition of I in Sec. III), since using a particular MDC technique affects only the length of video packets, with a negligible effect on contention over channel access.

How the use of a decoding strategy reflects on the video quality depends on the codec used and the concealment strategy employed; in our experiments, we used an MDC technique that we introduced in [START_REF] Greco | H.264-based multiple description coding using motion compensated temporal interpolation[END_REF], employing frame freezing as concealment. In Fig. 6(a) we compare, for the two versions of the protocol, the probability density functions of PSNR per frame, i.e., considering the PSNR of each frame decoded by each node as a realisation; the PDF is then estimated with the Parzen window method [START_REF] Parzen | On estimation of a probability density function and mode[END_REF]. Both distributions have roughly the same shape; however, in the reference scheme, nodes decode a generic frame with a low PSNR with a higher probability, for an average of 38.2 dB, while in the proposed technique frames are much more likely to be decoded with a high PSNR, for an average of 39.7 dB, i.e., 0.24 dB short of the average central quality, clearly better than the reference. This means that, using the reference technique in this configuration, the effects of unreliable transmission are visible to the user, whereas in the proposed technique they are barely perceptible. Now we consider, for each single node, the average PSNR of the locally decoded video. In Fig. 6(b) we show the estimated probability density function of the per-node PSNR; here, we see how the reference technique corresponds to an almost flat distribution, bounded between the average quality of side and central decoding. This implies that the video quality is acceptable for all nodes, but some of them have an average PSNR much smaller then others. On the other hand, the proposed technique has a much more peaked distribution, meaning that all nodes achieve a very high quality, with the modal value corresponding to the maximum quality. In other words, even though some frames are decoded with a relatively small PSNR (as shown in Fig. 6(a)), this hardly happens repeatedly to the same nodes; as a consequence, almost all nodes have an average PSNR over the sequence that is close to the maximum. The difference in dispersion can be better quantified by the inter-quartile range: in the reference technique the 25-th node, ordered by decreasing PSNR, has an average PSNR almost 1.0 dB higher than the 75-th, whereas in our proposed technique this range is in the order of 0.3 dB.

Furthermore, in order to test the performance of the protocol in presence of node mobility, two different models have been experimented: Random Way-point and Reference Point Group Mobility [START_REF] Greco | An MDC-based video streaming architecture for mobile networks[END_REF]. The delivery rate as a function of the nodes' average speed for the Random Way-point model (the most challenging for a structured protocol, as the nodes move independently) is presented in Fig. 7. We observe that the performance of the protocol is practically unaffected for speeds within the targeted application range (0-5 m/s), and starts to deteriorate only for speeds greater than 9 m/s.

In summary, we find a significant gain both in terms of PSNR and in average end-to-end delay, while the delivery rate is kept close to 100 %, making the technique suited for con- versational video applications over mobile ad-hoc networks. These results have been obtained in experimental conditions of high bitrate, high density, random mobility, and large number of nodes, i.e., conditions prone to generate a severe congestion on the channel; also, a stringent constraint on delay has been imposed. Tests have been performed in less harsh scenario as well, but -even though the proposed technique is never outperformed by the reference technique -the gain is less and less significant as congestion is less relevant (because a longer delay is accepted) or less likely to occur (because the node density and the bitrate are small); this of course depends on the fact that this framework is designed to grant conversational delivery in congested networks, and is unnecessary in more tolerant and less crowded networks.

A last remark is due about the overhead of the proposed protocol. We observe that the CoDiO framework does not introduce new packets with respect to the reference ABCD protocol, as all optimisation-related information is piggybacked either in video data or in attachment messages. In its turn, the message overhead of ABCD is detailed in our previous paper [START_REF] Greco | A cross-layer protocol for cooperative content delivery over mobile ad-hoc networks[END_REF], and even in the worst scenario never surpasses 10 %. As far as the computational overhead is concerned, it is by far negligible with respect to the computational load required by the video decoding: it could be easily shown that the computation of J(k) for all different k values can be performed with a few hundred clock cycles. Since the packet period is of the order of 10 -1 s, CoDiO can be implemented with a few thousands cycles per second. For comparison, H.264/AVC baseline decoding requires several millions of cycles per second [START_REF] Horowitz | H.264/AVC baseline profile decoder complexity analysis[END_REF], even at as low resolutions as CIF, while multiple description decoding is even more complex.

V. CONCLUSIONS AND FUTURE WORK

In this work, we proposed a congestion avoidance framework designed for multi-tree overlays in mobile ad-hoc environments with high node density and stringent constraints on delay. Namely, we introduced a dynamic adjustment of the MAC layer transmission parameters, optimised w.r.t. a congestion-distortion criterion. The model for congestion and distortion takes into account the video coding structure as well as the topology of the overlay network. In particular, for distortion estimation, we introduced an efficient way to propagate information about possible paths alternative to the multi-tree overlay, in order to classify the nodes in groups differently affected by the loss of a packet. The total distortion is then estimated by weighting the expected distortions of each groups with the estimated number of receiving nodes in each group. This allows to make a reliable prediction on the consequences of sending a packet with a particular retry limit, thus optimising video transmission in a CoDiO sense. As a result, both congestion and distortion are optimised in dense networks imposing a conversational pattern on the video stream.

Future work includes the introduction in the model of an up-link constraint, such that a node cannot stream more than one description at once. Such a constraint is justified both by the limited capacity of some mobile terminals, and by the high battery consumption associated with transmitting at a high bitrate. Some preliminary promising results have been obtained with a combination of MDC and network coding over an ABCD overlay [START_REF] Nemoianu | A framework for joint multiple description[END_REF], by allowing the active nodes to stream a combination of descriptions, rather than more than one description. We are also currently investigating some solutions integrating a rate-distortion optimised packet scheduling operated independently by each active node.

Figure 1 .

 1 Figure 1. Sets Sc, S 0 , S 1 and S f with respect to node n. Here Nc = 3, N 0 = 2, N 1 = 4 and N f = 5. Only nodes n, m and p are active. The pattern in the background of the nodes' transmission area is parallel lines for description d 0 and solid for d 1 .

Figure 3 .

 3 Figure 3. Example of directed graph of an ABCD overlay for one description (only active nodes are depicted). Neighbouring relations (dashed lines) are also represented, for couples of nodes not connected by a parent-child or sibling relation.

Figure 4 .

 4 Figure 4. Histogram of frame delay. The vertical bar marks the maximum delay for frame decoding in the case of conversational pattern: (a) delay of a generic frame; (b) average delay of frames at a generic node.

  Figure 5.Cumulative distribution of maximum delay experienced by a generic node.

Figure 6 .

 6 Figure 6. Probability density functions of the PSNR. The vertical bars mark the average video PSNR for the sequence when decoded with side (leftmost) and central (rightmost) decoder: (a) distribution of frame PSNR; (b) distribution of sequence PSNR.

Figure 7 .

 7 Figure 7. Case of mobility with Random Way-point: ABCD delivery rate as a function of average node speed.

Table I DEPENDENCY

 I Example of directed graph of an ABCD overlay (all nodes, solid lines) for one description. Solid border represents active nodes. Neighbouring relations for node n 4 (dashed lines) are also represented. Here, B 4 = {n 5 , n 6 , n 7 }, µ(n 4 , n 5 ) = µ(n 4 , n 7 ) = n 0 , and µ(n 4 , n 6 ) = n 1 . Being h(n 0 ) = 0 and h(n 5 ) < h(n 7 ), we designate as foster parent for n 4 the node n 5 . RECORDS GENERATED BY THE ACTIVE NODES IN FIG.2

					n0
	n1							n2
	n3		n4			n5
	n6					n7
	Figure 2.
	ni	n7	n6	n5	n4	n3	n2	n1
	δi	n0	n1	n0	n0	n1	n0	n0
	ci	2	2	4	3	4	6	8
	xi	0	0	0	0	0	0	0
	ϕi	n4	n4	n4	n5	-	-	-

AND DESIGNATED FOSTER PARENTS.

Table II VALUES

 II USED FOR ESTIMATION OF GROUPS SIZE IN FIG. 3. WE REPORT HERE THE DESIGNATED FOSTER PARENTS ϕ i , THE FIELDS OF THE DEPENDENCY RECORDS, δ i AND c i (x i = 0 FOR ALL NODES), THE ESTIMATED VALUES N 0 AND NF , AND THE ACTUAL VALUES N 0 AND N f .

coding and network coding over wireless ad-hoc networks," in Proc. of IEEE Int. Conf. Acoust., Speech and Sign. Proc., Kyoto, Japan, Mar. 2012.

Claudio Greco


Francesco Fedele
email: fedele@gatech.edu

Denys Dutykh
email: denys.dutykh@ucd.ie

CAMASSA-HOLM TYPE EQUATIONS FOR AXISYMMETRIC POISEUILLE PIPE FLOWS

Keywords: pipe flow, Poiseuille flow, Camassa-Holm equation, peakons

 [1] and it may be a precursor to puffs and slugs observed at transition, since most likely it is unstable to non-axisymmetric disturbances.

Introduction

Transition to turbulence in non-rotating pipe flows is triggered by finite-amplitude perturbations [START_REF] Hof | Scaling of the Turbulence Transition Threshold in a Pipe[END_REF] since the laminar Hagen-Poiseuille flow is believed to be linearly stable to periodic or localized infinitesimal perturbations for all Reynolds numbers Re (see, for example, [3]). The coherent structures observed at the transitional stage are in the form of localized patches known as puffs and slug structures [START_REF] Wygnanski | On transition in a pipe. Part 1. The origin of puffs and slugs and the flow in a turbulent slug[END_REF][START_REF] Wygnanski | On transition in a pipe. Part 2. The equilibrium puff[END_REF]. Puffs are spots of vorticity localized near the pipe axis surrounded by laminar flow. The associated vorticity field is locally three-dimensional with a non negligible axisymmetric or toroiodal component as observed in experiments [START_REF] Wygnanski | On transition in a pipe. Part 1. The origin of puffs and slugs and the flow in a turbulent slug[END_REF]. Slugs develop along the streamwise direction, while expanding through the entire cross-section of the pipe, and they are concentrated near the wall. Previous theoretical studies tried to relate slug flows to quasi inviscid solutions of the Navier-Stokes (NS) equations for non-rotating pipe flows. In particular, for non-axisymmetric pipe flows [START_REF] Smith | Amplitude-Dependent Neutral Modes in the Hagen-Poiseuille Flow Through a Circular Pipe[END_REF] [6] revealed the existence of nonlinear neutral structures localized near the pipe axis (centre modes) in the form of inviscid travelling waves of small but finite amplitude, which are unstable equilibrium states (see [7]). More recently, Walton (2011) [START_REF] Walton | The stability of developing pipe flow at high Reynolds number and the existence of nonlinear neutral centre modes[END_REF] found the axisymmetric analogue of Smith and Bodony's modes. Such inviscid axisymmetric structures are similar to the slugs of vorticity that have been observed in both experiments [START_REF] Wygnanski | On transition in a pipe. Part 1. The origin of puffs and slugs and the flow in a turbulent slug[END_REF] and numerical simulations [START_REF] Willis | Coherent Structures in Localized and Global Pipe Turbulence[END_REF]. Thus, they may play a role in pipe flow transition as precursors to puffs and slugs.

Recently [START_REF] Fedele | Travelling waves in axisymmetric pipe flows[END_REF] [9] investigated the dynamics of non-rotating axisymmetric pipe flows in terms of travelling waves of nonlinear wave equations. He showed that, at high Reynolds numbers, the dynamics of small but finite long-wave perturbations of the laminar flow obey a coupled system of nonlinear Korteweg-de Vries-type (KdV) equations. These set of equations generalize the one-component KdV model derived by Leibovich [10,11,12] to study propagation of waves along the core of concentrated vortex flows (see also [START_REF] Drazin | Hydrodynamic Stability[END_REF]) and vortex breakdown [14]. Fedele's coupled KdV equations support inviscid soliton and periodic wave solutions in the form of toroidal vortex tubes, hereafter referred to as vortexons, which are similar to the inviscid nonlinear neutral centre modes found by Walton (2011) [START_REF] Walton | The stability of developing pipe flow at high Reynolds number and the existence of nonlinear neutral centre modes[END_REF]. Note that nonlinear dispersive wave equations arise in similar studies of the dynamics of Blasius flows, which at high Reynolds numbers is described by a Benjamin-Davis-Acrivos (BDA) integro-differential equation [15]. This supports soliton structures that explain the formation of spikes observed in boundary-layer transition [START_REF] Smith | Amplitude-Dependent Neutral Modes in the Hagen-Poiseuille Flow Through a Circular Pipe[END_REF].

In this paper, we extend the previous analysis in [9] and show that the axisymmetric NS equations for non-rotating pipe flows can be reduced to a set of generalized coupled Camassa-Holm equations [17] that support inviscid traveling waves. Finally, the intepretation of the associated vortical structures is discussed.

Camassa-Holm type equations for axisymmetric pipe flows

Consider the axisymmetric motion of an incompressible fluid in a pipe of circular cross section of radius R driven by an imposed uniform pressure gradient. Define a cylindrical coordinate system (z, r, θ) with the z-axis along the streamwise direction, and (u, v, w) as the radial, azimuthal and streamwise velocity components. The time, radial and streamwise lengths as well as velocities are rescaled with T , R and U 0 respectively. Here, T = R U 0 is a convective time scale and U 0 is the maximum laminar flow velocity. A cylindrical divergence-free axisymmetric velocity field is given in terms of a Stokes streamfunction Ψ(r, z, t) as

u = - 1 r ∂ Ψ ∂z , w = 1 r ∂ Ψ ∂r .
To study the nonlinear dynamics of a perturbation superimposed on the laminar base flow W 0 (r) = 1r 2 , Ψ is decomposed as

Ψ = Ψ 0 + ψ, (2.1)
where Ψ 0 = 1 2 r 2 1-1 2 r 2 represents the stream function of the laminar flow W 0 , and ψ that of the disturbance. The curl of the NS equations yields the following nonlinear equation for ψ [START_REF] Itoh | Nonlinear stability of parallel flows with subcritical Reynolds numbers. Part 2. Stability of pipe Poiseuille flow to finite axisymmetric disturbances[END_REF]:

∂ t Lψ + W 0 ∂ z Lψ - 1 Re L 2 ψ = N (ψ), (2.2)
where the nonlinear differential operator

N (ψ) = -r -1 ∂ r ψ∂ z Lψ + r -1 ∂ z ψ∂ r Lψ -2r -2 ∂ z ψLψ,
the linear operator

L = L + ∂ zz , L = ∂ rr -r -1 ∂ r ≡ r∂ r r -1 ∂ r ,
and Re is the Reynolds number based on U 0 and R. The boundary conditions for (2.2) reflect the boundedness of the flow at the centerline of the pipe and the no-slip condition at the wall, that is

∂ r ψ = ∂ z ψ = 0 at r = 1.
Drawing from [9], the solution of (2.2) can be given in terms of a complete set of orthonormal basis {φ j (r)} as

ψ(r, z, t) = J j=1 φ j (r)B j (z, t), (2.3)
where B j is the amplitude of the radial eigenfunctions φ j that satisfy the Boundary Value Problem (BVP) (see [START_REF] Fedele | Revisiting the stability of pulsatile pipe flow[END_REF]9])

L 2 φ j = -λ 2 j Lφ j with boundary conditions 1 r φ j < ∞, r -1 ∂ r φ j < ∞ as r → +0, (2.4
)

φ j = ∂ r φ j = 0 at r = 1. (2.5)
The positive eigenvalues λ j are the roots of J 2 (λ j ) = 0, where J 2 (r) are the Bessel functions of the first kind of second order (see [20]). The corresponding eigenfunctions

φ n = c n r 2 - rJ 1 (λ n r) J 1 (λ n ) ,
form a complete and orthonormal set with respect to the inner product

⟨ϕ 1 , ϕ 2 ⟩ = - 1 0 ϕ 1 Lϕ 2 dr r = 1 0 ∂ r ϕ 1 ∂ r ϕ 2 dr r .
For the first two least stable modes λ 1 ≈ 5.136 and λ 2 ≈ 8.417, respectively. Since φ j satisfies the pipe flow boundary conditions (2.4) and (2.5) a priori, so does ψ of (2.3). A Galerkin projection of (2.2) onto the Hilbert space S spanned by {φ j } N j=1 yields a set of coupled generalized Camassa-Holm (CH) equations [17]

∂ t B j + c jm ∂ z B m + β jm ∂ zzz B m + α jm ∂ zzt B m + N jnm (B n , B m ) + λ 2 j Re B j = 0, j = 1, . . . , N, (2.6
) where the nonlinear tensor operator

N jnm (B n , B m ) = F jnm B n ∂ z B m + G jnm ∂ z B n ∂ zz B m + H jnm B n ∂ zzz B m .
The tensors c jm , β jm , α jm , F jnm , G jnm , H jnm are given in Appendix 4 and summation over repeated indices is implicitly assumed. Note that CH type equations arise also as a regularized model of the 3-D NS equations (see [START_REF] Chen | The Camassa-Holm equations and turbulence in pipes and channels[END_REF]22,[START_REF] Foias | The Navier-Stokes-alpha model of fluid turbulence[END_REF][START_REF] Foias | The Three Dimensional Viscous Camassa-Holm Equations, and Their Relation to the Navier-Stokes Equations and Turbulence Theory[END_REF]), the so called Navier-Stokes-alpha model. Similarly to this, the truncated CH model (2.6) inhibits creation and excitation of smaller scales associated to higher damped modes j > N, since these are neglected.

Singular Vortexons: CH Peakons

Consider the inviscid version of the special case of the uncoupled CH equations

∂ t B j + c jj ∂ z B j + β jj ∂ zzz B j + α jj ∂ zzt B j + N j (B j ) = 0, (3.1)
where

N j (B j ) = F jjj B j ∂ z B j + G jjj ∂ z B j ∂ zz B j + H jjj B j ∂ zzz B j ,
and no implicit summation over repeated indices. These support exponentially shaped singular solutions,the so called peakons, of the form

B j (z, t) = a j e -s j z-V j t , (3.2)
where

a j = V j α jj -β jj H jjj , V j = c jj + β jj s 2 j 1 + α jj s 2 j , s 2 j = - F jjj G jjj + H jjj . (3.3)
Numerical computations revealed that s 2 j > 0 and the peakon arises as a special balance between the linear dispersion terms ∂ zzz B j , ∂ zzt B j and their nonlinear counterpart B j ∂ zzz B j in (3.1). These three terms are interpreted in distributional sense because they give rise to Dirac delta functions that must vanish by properly chosing the amplitude a j , thus satisfying the differential equation (3.1) in the sense of distributions. The associated streamfunction ψ (p) j is given by ψ (p) j (r, z, t) = a j e -s 2 j z-V j t φ j (r).

The peakon (3.2) bifurcates from a regular solitary wave as the celerity increases above the dimensionless peakon speed V j in (3.3) (normalized with respect to maximum laminar velocity U 0 ). For example, for the least stable eigenmode B 1 (λ 1 ≈ 5.136), V 1 ≈ 0.63. Figure 1 shows a regular soliton at speed V = 0.60 computed using the Petviashili method (see [25,26,[START_REF] Walton | The stability of nonlinear neutral modes in Hagen-Poiseuille flow[END_REF]28,29]). A peakon bifurcates as the speed increases above V 1 and it is shown in Figure 2. The vortical structure (streamlines) of the perturbation associated to the regular and singular solitons are shown in the top panel of Figures 3 and4, respectively. These correspond to localized toroidal vortices that wrap around the pipe axis (centre vortexons). In particular, the vortexon associated to a peakon has discontinuous radial velocity u across zct = 0 (see top panel of Figure 3), but continuous streamwise velocity w since the mass flux through the pipe is conserved. As a result, a sheet of azimuthal vorticity is advected at speed V 1 . At the centre (zct = 0) the profile of the streamwise velocity W 0 + w of the perturbed flow (laminar base flow plus a vortexon) is shown in the bottom panels of Figures 3 and4 for the singular and regular vortexons respectively. Their effect is to slowdown the faster laminar flow near the core of the pipe by advecting the slower flow at the wall toward the pipe axis. Similar vortexons are also found numerically for the three-component CH equations (2.6) using the Petviashili method, but these results will be discussed elsewhere.

Finally we note that, as for the original CH equation [17], viscous dissipation rules out the emergence of peakons and only smooth vortexons appear in the dynamics. As Re → ∞, a vortexon of amplitude ∼ O(Re -2.5 ) eventually decays due to viscous effects on the longer time scale t ∼ O(Re 6.25 ) (see [9]). As a result, under the axisymmetric dynamics the soliton structures can be assumed to behave inviscidly on shorter time scales. Thus, before they decay vortexons may be prone to instability due to nonaxisymmetric perturbations (see, for example, [7]).

Conclusions

We investigated the nonlinear dynamics of a disturbance to the laminar state in non-rotating axisymmetric Poiseuille pipe flows. The associated Navier-Stokes equations are projected onto the function space spanned by a finite set of the first few least stable Stokes eigenmodes. The eigenmode amplitudes depend upon both the streamwise direction and time and satisfy a truncated set of coupled generalized CH equations. For the uncoupled equations we found analytically special inviscid travelling waves with wedge-type singularities, viz. peakons, which bifurcate from regular solitary waves as their celerity increase above a well defined threshold. In physical space peakons correspond to localized toroidal vortical structures with discontinuous radial velocities that wrap around the pipe axis (singular centre vortexons). Clearly, the inviscid singular vortexon could be an artifact of the Galerkin truncation of the axisymmetric Euler equations. However, it may be an approximation of singular solutions of the axisymmetric Euler equations (see, for example, [START_REF] Eyink | Dissipative anomalies in singular Euler flows[END_REF]) and susceptible to Kelvin-Helmholtz type instability mechanisms. We point out that the inviscid centre vortexon is similar to the neutral mode identified by Walton (2011) [START_REF] Walton | The stability of developing pipe flow at high Reynolds number and the existence of nonlinear neutral centre modes[END_REF] and to the inviscid axisymmetric slug structure proposed by [START_REF] Smith | On Displacement-Thickness, Wall-Layer and Mid-Flow Scales in Turbulent Boundary Layers, and Slugs of Vorticity in Channel and Pipe Flows[END_REF] [START_REF] Smith | On Displacement-Thickness, Wall-Layer and Mid-Flow Scales in Turbulent Boundary Layers, and Slugs of Vorticity in Channel and Pipe Flows[END_REF]. They may play a role in pipe flow transition as precursors to puffs and slugs, since most likely they are prone to instability by non-axisymmetric disturbances (see [7]).

Figure 1 .

 1 Figure 1. Regular solitary wave obtained numerically by the Petviashili method (dimensionless velocity V = 0.60).

Figure 2 .

 2 Figure 2. Analytical CH peakon (solid line) and numerical solution (dashed line) obtained by the Petviashili method (dimensionless velocity V 1 ≈ 0.63).

Figure 3 .

 3 Figure 3. Regular vortexon: (top) streamlines of the perturbation and (bottom) velocity profiles of the perturbed (solid) and laminar (dash) flows.

Figure 4 .

 4 Figure 4. Singular vortexon: (top) streamlines of the perturbation and (bottom) velocity profiles of the perturbed (solid) and laminar (dash) flows.

c jm = - 1 0W 1 0φ 1 0WF jnm = - 1 0 1 0 1 0

 111111 0 φ j Lφ m r -1 dr, α jm =j φ m r -1 dr, β jm = -0 φ j φ m r -1 dr, φ j ∂ r φ n Lφ m -∂ r (Lφ n ) φ m + 2r -1 Lφ n φ m r -2 dr, H jnm =φ j φ m ∂ r φ n r -2 dr, G jnm =φ j -φ m ∂ r φ n + 2r -1 φ n φ m r -2 dr.

Acknowledgements D. Dutykh acknowledges the support from ERC under the research project ERC-2011-AdG 290562-MULTIWAVE. F. Fedele acknowledges the travel support received by the Geophysical Fluid Dynamics (GFD) Program to attend part of the summer school on "Spatially Localized Structures: Theory and Applications" at the Woods Hole Oceanographic Institution in August 2012.