DOI QR코드

DOI QR Code

Multicasting Multiple Description Coding Using p-cycle Network Coding

  • Farzamnia, Ali (MIMOS Centre of Excellence, level 5, P03, FKE, Universiti Teknologi Malaysia (UTM)) ;
  • Syed-Yusof, Sharifah K. (MIMOS Centre of Excellence, level 5, P03, FKE, Universiti Teknologi Malaysia (UTM)) ;
  • Fisal, Norsheila (MIMOS Centre of Excellence, level 5, P03, FKE, Universiti Teknologi Malaysia (UTM))
  • Received : 2013.05.23
  • Accepted : 2013.11.18
  • Published : 2013.12.12

Abstract

This paper deliberates for a multimedia transmission scheme combining multiple description coding (MDC) and network coding (NC). Our goal is to take advantage from the property of MDC to provide quantized and compressed independent and identically distributed (iid) descriptions and also from the benefit of network coding, which uses network resources efficiently to recover lost data in the network. Recently, p-cycle NC has been introduced to recover and protect any lost or distorted descriptions at the receiver part exactly without need of retransmission. So far, MDC have not been explored using this type of NC. Compressed and coded descriptions are transmitted through the network where p-cycle NC is applied. P-cycle based algorithm is proposed for single and multiple descriptions lost. Results show that in the fixed bit rate, the PSNR (Peak Signal to Noise Ratio) of our reconstructed image and also subjective evaluation is improved significantly compared to previous work which is averaging method joint with MDC in order to conceal lost descriptions.

Keywords

1. Introduction

Multimedia streaming is a technique for transferring data. Streaming technologies are becoming increasingly important in line with the Internet grows (such as high bandwidth internet). In contrast, this high bandwidth is so expensive and quality of service (QoS) issues are not guaranteed. So a viable approach to combat these problems is streaming data along numerous paths, which increase the likelihood of successful data delivery at the receiver. MDC as source coding method encodes a media streaming into multiple independent and identically distributed (iid) descriptions. These descriptions transmitted over distinct paths in unreliable networks. In real-time communications, the quality of the transmitted signal is highly correlated to the number of available received descriptions [1]. Several methods such as quantization [2] and transformations of correlation [3] are introduced to prepare iid descriptions.

Consider a network in which a number of compressed multimedia descriptions stream has to be transmitted from a set of transmitters to a set of receivers. The basic theory of routing is referred as store-and-forward. Due to distortion and loss occurrence in the network; the retransmission of the transmitted data may significantly affect the time varying characteristics (capacity, delays, or losses) of each communication link. Thus, the quality of the decoded stream at each receiver is far from being deterministic. In this case, in order to prevent complex feedback system to retransmit data, network coding (NC) is used to recover data on the receiver part without retransmission. Alternatively, cooperative relay techniques in networks could be used to enhance the spectrum sensing algorithm to have higher throughput [4].

NC was proposed in 1998 both in the form of nonlinear [5] and the linear form [6]. Then formal literature appeared in [7] and [8], respectively. NC allows a node in the network to perform coding and data forwarding in the intermediate nodes simultaneously. Fig. 1 shows delivery of data by the conventional store-and-forward mode over the butterfly network. Two time slots need to deliver two data symbols X and Y from A to both B and C. In contrast; Fig. 2 uses linear NC to achieve the data delivery in just one time slot. It means in one time slot data of X and Y can be obtained in both B and C destination Nodes. In node B by xoring X and X ⊕ Y from two incoming nodes, Y is obtained. Also in node C by xoring Y and X ⊕ Y, X is decoded as well. A fully distributed method to implement the opportunistic network coding scheme without the need of any feedback between two network nodes is presented in [9]. Additionally, In order to have two copies of the same signal on two disjoint paths, p-cycle NC is proposed in [10]. One path is the primary working path (data path). The second path, however, is in fact a virtual path (signal is transmitted with other signals), which is still disjoint from the first primary path. Since, these disjoint paths are independent of each other, so p-cycle NC could be applied to any type topology or even to varying topology network.

Fig. 1.Conventional store-and-forward.

Fig. 2.Linear network coding.

Several papers are issued for joint MDC and NC. In [11] combined method is used for video multicast in lossless network and also NC controlled centrally the quality of service. Work by [12-13] present image transmission by using MDC technique over various links in mesh networks while NC prepares protection paths. Joint multiple description lattice vector quantization and NC in [14] is employed to multicast image data over ad-hoc networks. Results shown that high image quality, lower failure rate and fewer energy consumptions are obtained. In [15] a systematic optimization approach based on joint source and NC is proposed. Finally, a novel technique of video diffusion over ad-hoc networks based on the joint use of network coding and multiple descriptions coding is explained in [16].

The joint scheme takes advantage of merits of MDC and NC, providing strong robustness with lower failure rate and better reconstructed image quality against transmission losses. MDC based on p-cycle NC has not been investigated before. In this paper MDC as a source compression combined with p-cycle NC as a protection method is explored. The significance of using MDC is to compress input data (reduce redundancy) by using quantization method and to prepare several independent and identically distributed (iid) descriptions to balance the traffic of the network on the various numbers of primary links. In contrast, the p-cycle NC links are the protection links which carry the network coded data (xored data) from transmitting nodes to the receiver nodes, in order to protect and recover any loss happens in the network. These protection links (secondary links) are the redundancy or penalty which should be paid in order to recover perfectly the lost information in the receiver which leads to have a higher throughput. P-cycle Network coding techniques allow to achieve the min-cut capacity even when the topology is unknown. We consider a network where neither the sources, nor the receivers have knowledge of the network topology. It means the benefit of p-cycle NC is that for any topology of network, this process could be applied because only transmitter and receiver nodes need to know p-cycle NC protection links.

In the proposed algorithm, p-cycle links (protection links) are disjoint and independent of main data pass (primary links) which means it has no impact on data rate of the network and extra node, and links are not needed. Compared to [17] where averaging of received descriptions is done in order to substitute lost descriptions, the proposed MDC p-cycle based NC method is able to cover and conceal lost descriptions. Furthermore, compared to [12] the proposed method can recover any number of lost descriptions in the network. Even more, unlike [18], in this paper multiple pairs of p-cycle links are applied against multiple link failure in the primary links. The remainder of the paper elaborates the proposed MDC with p-cycle NC for the transmission of multimedia signal. Briefly, p-cycle NC is illustrated in section 2. Section 3 introduces the proposed method for MDC p-cycle based NC. Simulation results and figures are shown in section 4 While Section 5 concludes the paper.

 

2. P-cycle Network Coding

P-cycle NC was first introduced by [10] for protecting against link failures. Recently, a new 1+N protection scheme which is joint NC, and p-cycle is introduced against single link failure in [18].

Fig. 3 shows an example of p-cycle with three unidirectional connections from source Si to the destination Ti, for i = 1,2,3. For simplicity of the example, it is assumed that sources and their corresponding destinations are sorted from left to right. The capacity of each unit links are assumed unity and also suppose that data units d1,d2 and d3 are sent on those links. As shown in the figure p-cycle is preconfigured to use all the three sources and destinations. Data unit of di will be transmitted three times: once on the primary working path, and twice, in opposite directions on the p-cycle. First time original data unit is transmitted by Si on one of the p-cycle protection links and second time data units are transmitted by the receiver Ti on the other p-cycle protection link. We recognize between those two data units by referring to them as transmitted and received di units, and respectively. On the p-cycle, the following procedure takes place:

Fig. 3.An example of the use of network coding on p-cycles to protect against link failures

Based on the above explanations, it is clear that in the absence of failures, each destination node Ti, for i = 1, 2, 3 receives two copies of di :

1) One copy from the working path, and

2) The second one is recovered by adding which is received on the clockwise p-cycle to which is received on the counter-clockwise cycle. This is a virtual copy of di as we referred.

When a failure occurs, it affects working paths, e.g., working path i. In this case, we suppose that Ti will receive an empty data unit on the working path. Therefore, Ti will be able to recover di by using the second virtual copy explained above, i.e., by adding

It can be concluded that a failure on the p-cycle will not interrupt communication on primary working paths because of independency of primary path and protection path. Also, it is supposed that there is no distortion or failure on the p-cycle protection links.

 

3. Proposed Method for MDC P-Cycle Based Network Coding

In the source coding section input image could be downsampled to l number of subimages on spatial domain. These subimages later are mapped to transform domain by WAVELET transform, and LIoyd-max quantized respectively to provide multiple iid descriptions. These descriptions are defined as x1,x2,....,xl. xi is a matrix of α × β (α is row and β is the column of each description). For a network to be protected against a maximum of M link failures (M ≤ l), it employs M cycles, which are referred to by CM for M = 1,2,3,...,l. Protection cycle Ci passes through nodes in Si ⊆ S and Tl ⊆ T (node Si ∈ S transmits data units di on the primary paths to the corresponding receivers while node Ti ∈ T receives data units di on the primary paths from corresponding senders) where nodes in Sl communicate bidirectionally with the nodes in Tl. Note that These Cl cycles (vectors in the space of l) should be independent from each other. The l cycles must be link disjoint and they must be disjoint from primary paths (data links). The matrices of p-cycle links is defined as:

then

The U is the transition matrix and P is the matrix of nodes that caries p-cycle protection links. The matrix of U is linearly independent (each row vectors is linearly independent from other row vectors ) [19]. Moreover, U1 and U2 are same in size and all elements of U1 are one except on side diagonal which are zero but in U2 all the elements are one except on the main diagonal. Therefore, each Cl link that crosses transmitter nodes (S) are symmetrically repeating in the receiver side on the corresponding nodes (T ).

Each of l cycles consists of two rotating directional cycles. These connections can be selectively protected against any number of M links failures where 1 ≤ M ≤ l. Moreover, once M increases in the network, the calculation of reconstruction takes much time, which means receiver nodes should buffer data while processing it. In our case, it is supposed that data is already buffered for processing.

In the following subsections l as a number of descriptions is supposed to equal 4. In this scenario, we have 1 to 4 lost descriptions. So, the equation (2) is simplified as below matrix for connection of nodes in order to protect agains 4 lost descriptions. These 4 protection cycles are shown in Fig. 5.

So as an example, subsection 3.1 describes one pair p-cycle link for single lost description. This lost could be any of 4 primary links (x1,x2,x3 or x4). Subsection 3.2 shows 4 pairs of p-cycle links in order to protect multiple lost descriptions (up to 4) simultaneously.

Fig. 4.Block diagram of proposed method for single lost description.

Fig. 5.Four different p-cycle links in block diagram of Fig. 6.

Fig. 6.Block diagram of proposed method for multiple lost descriptions.

3.1 Proposed Method for Single Lost Description.

As Fig. 4 shows, coded descriptions (x1,x2,x3 or x4) are transferred through the mesh network and nodes. In the network, in order to combat losses, p-cycle NC is utilized in the nodes (green links are p-cycle NC links). Each pair of p-cycle links has two rotating links, one clockwise link and one counter clockwise link. E.g. in node S1, the clockwise input protection link (x4 ⊕ x3 ⊕ x2) is xor with description x1 and transmitted to node T1 in clock wise direction. Also counter clockwise input protected link to node S1 (x4 ⊕ x3 ⊕ x2 ⊕ x1) is xor with the description of x1 and transmitted counter clockwise to node S2. So by these two protection links any lost data can be reconstructed.

For example, if link route x2 is lost, in the node T2 by taking xor of two incoming protection link (x4 ⊕ x3 ⊕ x2 and x4 ⊕ x3) lost x2 signal is reconstructed. So any of data links (x1,x2,x3 and x4) are lost by using p-cycle NC lost data can be reconstructed exactly.

3.2 Proposed Method for Multiple Lost Descriptions.

Consider coded descriptions (x1,x2,x3 and x4) are transmitted through the network. Fig. 5 shows the block diagram of the proposed method. In this method, we can recover of 2, 3 or 4 lost descriptions. We supposed that number and name of missing links are unknown. As an example, it could be two lost descriptions but which pairs? It can be (x1,x2), (x1,x3), (x1,x4), (x2,x3), (x2,x4), (x3,x4). So there could be 6 states for two lost descriptions. Also if we have three lost descriptions, then it can be (x1,x2,x3), (x1,x2,x4), (x1,x3,x4), (x2,x3,x4). As can be seen 4 states are available for three lost descriptions. So our p-cycle links should be designed to protect all these situations. In Fig. 6, there are four pairs of protecting p-cycle, which are plotted with different color and font line. Below these p-cycle links with both clockwise and counter clockwise circulation are explained in Fig. 5.

Examples:

There are 2 lost descriptions and those are supposed to be x1 and x3. From link 4 in node T3 there is one entering clock wise x2 and one counter clockwise entering x2⊕x3. Node T3 by taking xor of x2 and x2 ⊕ x3 can reconstruct the lost x3. Also by using link 1 on node T1, the lost x1 can be recovered.

Suppose if there are three lost descriptions, which are x1, x2 and x3. Then in node T4 the outgoing counter clockwise protection links are: x1⊕x3, x2⊕x3 and x1⊕x2. In node T3 by using the incoming counter clockwise link x1⊕x2⊕x3 from p-cycle link 1 and xoring it with x1⊕x3, the x2 is created and transmitted to node T2 and if again xor x1⊕x2⊕x3 with x2⊕x3 the x1 is recovered and transmitted on counter clockwise direction to node T1. Later, node T1 transmits the x1 on the clock wise direction to node T3 then by xor x1 with x1⊕x3 the coded x3 is obtained. So all 3 lost descriptions are created by using these links.

 

4. Simulation Results

In this work, the input 512×512 grayscale image is zero padded. The zero padding process is presented in Fig. 7. Zero padding is pre-processing method. In this process, some zeros are added to the image until high quality reconstruction of the image is achieved although losing descriptions in the transmission channel [20]. At first, DCT is applied to whole grey scale 512×512 image. Then 108 lines zeros are added to rows and columns. Inverse DCT is later used to map the data to spatial domain Hence, the correlation of pixels of image is increased in this method. If there are losses in the channel, by using received descriptions, lost descriptions can be constructed in high quality.

Fig. 7.Zero padding.

Zero padded data are applied to the block diagram of Fig. 4 and Fig. 6. Data are downsampled to four subimages. Second level of type bi-orthogonal wavelet is taken from each subimage then Lloyd – max quantization is used to quantize and code subimages. More details on Lloyd-max quantization are described in [17]. Descriptions are sent to the network and p-cycle NC applied to them. In the receiver side if any lost descriptions happen, by using p-cycle as mentioned in the above examples, lost data are recovered. Later on inverse wavelet is taken from all obtained descriptions. Then all descriptions are upsampled and created a reconstructed image.

Table 1 show average PSNR (peak signal to noise ratio) of lost descriptions in different bit rates and number of lost descriptions from [17]. Table 2 presents PSNR of proposed method with different lost descriptions and bit rates for various input images.

PSNR formula for 8 bit image is:

Mean Square Error (MSE) for two q×n monochrome images I and J that one of the images is considered a noisy approximation of the other is defined as:

By comparing two tables, we can observe that in the proposed method (Table 2), values of PSNR are higher than Table 1 in terms of fixed bit per pixel (bpp). Since all lost descriptions are exactly reconstructed in proposed method by p-cycle NC, so there could be no changes in the PSNR by losing different descriptions. In [17] average of received descriptions are used instead of lost data to recover. But in proposed method instead of averaging, p-cycle NC is used for recovering lost descriptions. In this method during the transmitting descriptions on primary links ( data links) there is no overhead information is sent. The only redundancy of this process is usage of protection links (p-cycle links) which are disjoint from primary links. This is the penalty we should pay in order to have high throughput and better quality of reconstructed image.

Table 1.Average PSNR (dB) values for different images from [17].

Table 2.PSNR (dB) for one to four lost descriptions from proposed method.

In order to compare these two tables better, in Fig. 8 rate distortion plot for lena photo is shown. It is obvious that in the fixed bpp, the MSE of proposed method is lower than [17], which means having lower distortion. Since in proposed method for any number of lost description system can recover completely, so results of PNSR are same. However, 4 different p-cycle links according to 0-4 number of lost descriptions are presented. In Fig. 9 also for subjective evaluation, lena reconstructed image with 0.5 bpp from proposed method is shown. In Fig. 10 same image is reconstructed from [17] with one lost descriptions in 0.5 bpp. By comparing Fig. 9 and Fig. 10 it is clear that Fig. 9 has less blur than Fig. 10 which means the edge of the image features are sharper and more obvious. In Fig. 11 rate distortion figure for the dark hair woman is plotted. Again, it is clear that in the fixed bpp the MSE of the proposed method is lower than the [17]. Reconstructed image is shown in Fig. 12 with the proposed method in 0.5 bpp for the dark hair woman. Fig. 13 illustrates the received image from 0.5 bpp and one lost description from [17]. By comparing Fig. 12 and 13, it is clear that by using NC lost data can be recovered clearly in terms of subjective evaluation that leads to have less blur and sharp edges of the image features. Furthermore, Fig. 14 illustrates the subjective evaluation of the Table 2 for the rest of the input images. It is obvious that in the low bpp still quality of the reconstructed data is acceptable and features of the images are clear enough. Finally, in Fig. 15 rate distortion plot for the rest the photos of the Table 1 and 2 are illustrated. It is clear that in the fixed bpp the proposed method has lower MSE compared to the results of [17].

Fig. 8.Rate – distortion plot of proposed method and method of [17] for Lena.

Fig. 9.Reconstructed lena from proposed method with 0.5 bpp, PSNR=29.33.

Fig. 10.Reconstructed image in 0.5 bpp with one lost description, PSNR=26.36 [17].

Fig. 11.Rate – distortion plot of proposed method and method of [17] for dark hair woman.

Fig. 12.Reconstructed dark hair woman from proposed method with 0.5 bpp, PSNR=33.04.

Fig. 13.Reconstructed image in 0.5 bpp with one lost description [17], PSNR=31.50.

Fig. 14.The reconstructed image for house, cameraman, f16, and peppers from proposed method. (a) , (b) and (c) are recovered lost descriptions in 2 bpp, 1 bpp and 0.5 bpp respectively.

Fig. 15.Rate – distortion plot of proposed method and method of [17] for house, cameraman, f16 and peppers.

 

5. Conclusion

We introduced a proposed method called MDC p-cycle based NC. MDC is used for removing redundant data and creating iid descriptions for data transmission over the communication channel. On the other hand, p-cycle NC is used for adding several links on the protection path in order to combat packet loss and recover any lost descriptions that happen in the network. Results have shown that PSNR of proposed method is higher than previous work in terms of the fixed bpp. Moreover, subjective evaluation illustrates that our reconstructed image is clearer and less blur which means; the edges of the image features are obvious. Furthermore, since NC is to recover the lost data, the number of mislaid descriptions does not affect results in terms of distortion. Finally, because the p-cycle links are disjoint from the primary path, the throughput of the system is maintained.

References

  1. C. S. Lin and I. Lee, "Applying multiple description coding to enhance the streaming scalability on CDN‐P2P network," International Journal of Communication Systems, vol. 23, pp. 553-568, 2010.
  2. V. A. Vaishampayan, "Design of multiple description scalar quantizers," Information Theory, IEEE Transactions on, vol. 39, pp. 821-834, 1993.
  3. V. K. Goyal and J. Kovacevic, "Generalized multiple description coding with correlating transforms," Information Theory, IEEE Transactions on, vol. 47, pp. 2199-2224, 2001. https://doi.org/10.1109/18.945243
  4. Y. Zou, Y.-D. Yao, and B. Zheng, "Cooperative relay techniques for cognitive radio systems: spectrum sensing and secondary user transmissions," Communications Magazine, IEEE, vol. 50, pp. 98-103, 2012.
  5. R. Ahlswede, N. Cai, and R. W. Yeung, "Network information flow theory," in Proc. of Information Theory, 1998. Proceedings. 1998 IEEE International Symposium on, 1998, p. 186.
  6. S.-Y. R. L. a. R. W. Yeung, "Network Multicast Flow via Linear Coding," in Proc. of International Symposium on Operations Research and its Applications (ISORA.98), Kunming, China, 1998, pp. 197-211.
  7. R. Ahlswede, C. Ning, S. Y. R. Li, and R. W. Yeung, "Network information flow," Information Theory, IEEE Transactions on, vol. 46, pp. 1204-1216, 2000. https://doi.org/10.1109/18.850663
  8. S. Y. R. Li, R. W. Yeung, and C. Ning, "Linear network coding," Information Theory, IEEE Transactions on, vol. 49, pp. 371-381, 2003. https://doi.org/10.1109/TIT.2002.807285
  9. Z. Yulong, Z. Jia, and Z. Baoyu, "A fully distributed opportunistic network coding scheme for cellular relay networks," in Proc. of Wireless Communications and Networking Conference (WCNC), 2013 IEEE, 2013, pp. 2937-2942.
  10. W. D. Grover and D. Stamatelakis, "Cycle-oriented distributed preconfiguration: ring-like speed with mesh-like capacity for self-planning network restoration," in Proc. of Communications, 1998. ICC 98. Conference Record. 1998 IEEE International Conference on, 1998, pp. 537-543 vol.1.
  11. A. K. Ramasubramonian and J. W. Woods, "Multiple Description Coding and Practical Network Coding for Video Multicast," Signal Processing Letters, IEEE, vol. 17, pp. 265-268, 2010. https://doi.org/10.1109/LSP.2009.2038110
  12. M. Hussein H and N. E. Hesham, "Multiple description coding based network coding," International Journal of Computer Applications IJCA, vol. 6, pp. 35-40, 2010.
  13. H. H. Maza'ar and H. N. ELmahdy, "Multiple description image network coding against single link failure in mesh networks," in Proc. of Internet Multimedia Services Architecture and Applications (IMSAA), 2009 IEEE International Conference on, 2009, pp. 1-5.
  14. Y. Xu and C. Zhu, "Joint multiple description coding and network coding for wireless image multicast," in Proc. of Image and Graphics, 2009. ICIG'09. Fifth International Conference on, 2009, pp. 819-823.
  15. N. Sarshar and X. Wu, "A practical approach to joint network-source coding," in Proc. of Data Compression Conference, 2006. DCC 2006. Proceedings, 2006, pp. 93-102.
  16. I. D. Nemoianu, C. Greco, M. Cagnazzo, and B. Pesquet-Popescu, "A framework for joint multiple description coding and network coding over wireless ad-hoc networks," in Proc. of Acoustics, Speech and Signal Processing (ICASSP), 2012 IEEE International Conference on, 2012, pp. 2309-2312.
  17. A. Farzamnia, S. K. Syed-Yusof, and N. Fisal, "Error concealment using multiple description coding and LIoyd-max quantization," in Proc. of Computers & Informatics (ISCI), 2011 IEEE Symposium on, 2011, pp. 197-201.
  18. A. E. Kamal, "1+n network protection for mesh networks: Network coding based protection using p-cycles," IEEE/ACM Trans. on Networking, vol. 18, pp. 67- 80 2010. https://doi.org/10.1109/TNET.2009.2020503
  19. G. H. Golub and C. F. Van Loan, Matrix computations vol. 3: JHU Press, 2012.
  20. A. Farzamnia, S. K. S. Yusof, and N. Fisal, "Error concealment using joint multiple description coding and zero padding," International Review on Computers and Software, vol. 6, pp. 244-249, 2011.

Cited by

  1. Investigation of error performance in network coded MIMO-VBLAST wireless communication systems vol.70, pp.4, 2019, https://doi.org/10.2478/jee-2019-0057