Are we Cheating, Naive or Optimistic ? an illustration with ... - eurasip

5 downloads 648 Views 2MB Size Report
all ”soft” data to be available at the source decoder. MAC Payload 1. H-MAC. CRC ... problem, which allows MAP Estimation for Robust Header Recovery. 43 ...
Are we Cheating, Naive or Optimistic ? an illustration with JSCC/D — Pierre Duhamel WCRG (CNRS – SUPELEC– Univ Paris-Sud) EURASIP fellow inaugural lecture, EUSIPCO 2008 — Work funded (more than 10 years...) by FT R&D, RNRT, CNES, Alcatel-Lucent, and ReX NEWCOM — Joint work with O. Rioul, M.Kieffer, J. Lacan as co-leaders and B. Zahirazami, A. Gabay, H. Nguyen, R. Chiang, C.M. Lee, S. Ben-Jamaa, C. Marin, K. Bouchireb, D. Naem, G. Sabeva, A. Bouabdallah as working team 1

Motivation • SP is based on a strong mathematical background • but has many applications • and is often used in very complex systems Therefore, proposing a new tool and demonstrating its usefulness is really painful (involves a variety of knowledge, and a lot of work). Some people propose a new tool ... and let others (yet unknown) try to apply them. But we were not that confident that this could happen, and we tried to do the work.

2

This talk intends to insist on the little tricks most of us are using by illustrating the various attitudes we had in the course of our work on JSCC/D. Obviously • these attitudes are quite common ... • but I do not want to be rude to anybody • And it is a pretext to present a number of results, including very recent ones Two warnings : • There were many more results during all these years than those outlined here. I hope that former and actual students/colleagues will not be angry if their work is not cited... I had to select those supporting today’s argumentation.... • Most of this work was done in cooperative projects, with many partners and colleagues who have influenced this work. Many thanks to them (they are so numerous that I can hardly make a list)

3

Therefore the presentation will be organized as follows: 1. Being naive 2. ... and back to reality 3. Cheating (a little), and for good (??? meaning : funding) reasons 4. ... and back to reality 5. Being optimistic 6. ... and back to reality ? < − − − the actual status 7. and may be a new cycle will begin again In most cases, the ”return to reality” happened when trying to make ”practical” use of new results.

4

1

A short introduction to JSCC/D

Classical Tandem approach to reliably send multimedia contents over noisy channel Source

Source coding

Channel coding

Channel

Estimated source

Source decoding

Channel decoding

Shannon’s separation principle [Sha48] (channel stationnary, known characteristics, infinite codes) ⇓ Separate optimization of source coding and channel coding performs as well as joint optimization and distortion is introduced by the source coder only. But 5

• Actual channels are not stationary , the transmitter having an unprecise estimation ,→ tandem scheme suboptimal • Channel and source coders have limited complexity ,→ residual errors (suboptimality of the channel coder) ,→ residual redundancy (suboptimality of the source coder) Joint source-channel coding (JSCC) may be useful • to be robust to poor adaptation of redundancy introduced by channel code to the actual channel and to cope with non-zero residual error probability • to exploit the residual redundancy • .... without speaking of what networking people are doing.... Ideas recently confirmed in [ZAC06]: Error exponent [Gal68] of some JSCC scheme larger than that of corresponding TSCC scheme ⇓ For a given code length =⇒ JSCC may perform better 6

Various ways to perform JSCC See, e.g., [ZADR96], [GS05], [ZAC06]. • Concatenated coding schemes: source coder and channel coder are separate units, but jointly optimized. ,→ Unequal error protection – adaptation of the modulation [ROUV93] – adaptation of the channel code [Hag88, KR98]. • Source coder optimized according to channel conditions: channel explicitly taken into account to design the source coder. ,→ index assignment optimization [FV91], ,→ multiple description coding schemes [ZC04], ,→ error-correcting variable-length codes [TWM95, LV02, WYH04].

7

• Joint decoding schemes: residual redundancy and channel information used to improve decoding [BF95, Hag95] ,→ Markov property of source [BH00, SOD00, TK03] ,→ semantic of source coder [ND03, BLB04, WKNAM04] ,→ redundancy due to packetization of data [LKD05] • Joint coding schemes: distinction between source coder and channel coder not clear anymore. ,→ Punctured convolutional codes used for source coding [GFZ02, HBS04]. ,→ Shannon mappings, [HØR05] ,→ Redundancy introduced before source coding, [GVT98, GDR00]

8

2

First step (naive) : application of JSCC to still image coding and transmission Redundancy introduced before source coding Joint channel

Source

Joint encoding

Source coding

Channel coding

Channel

Estimated source

Joint decoding

Source decoding

Introduced redundancy used to • correct errors left by channel decoder • reduce noise introduced by source coder 9

Channel decoding

2.1

Channel model

Joint channel: part of the communication scheme between JSC coder and JSC decoder Good joint channel model necessary to perform efficient JSC decoding The channel model must account for both distortions induced by coding and transmission Underlying idea : quantization errors are small, transmission errors are large and (hopefully) not frequent.

10

2.1.1

Corresponding memoryless channel : Gaussian-Bernoulli-Gaussian channel model

Proposed by [Gho96] (in another context), consists of two terms • zero-mean Gaussian noise b (k) with small variance σ 2g ,→ quantization noise, • Bernoulli-Gaussian (BG) noise γ(k) = ξ(k)η i (k) – ξ(k): Bernoulli process with Prob(ξ(k) = 1) = pi , – η i (k): zero-mean Gaussian noise with high variance σ 2i  σ 2g ,→ uncorrected channel errors.

11

2.1.2

Does it make sense ? T

Source of pdf p (s) generates s = (s1 , . . . , sL ) ∈ RL , estimated source upon reception : b s It can be shown that the total distortion (quantization + transmission errors) reads:     2 2 s| . (1) D ≈ E |s − Q (s)| + E |Q (s) − b if mutual distortion can be neglected (true for well-tuned quantizers [TC67]). Joint channel model ”easily” obtained : estimate separately • the impact of quantization on the source • the probability of occurrence of an error • its impact on the source when it happens

12

2.1.3

It is worth it ? (Channel capacity )

Capacity evaluated with Arimoto-Blahut algorithm [Bla72].

Capacity (bit/s/Hz)

3 2.5 2

Gaussian channel GBG channel, pi = 10-3 GBG channel, pi = 10-2 GBG channel, pi = 5.10-2 GBG channel, pi = 10-1

1.5 1

1

2

3

4

5 P

Here σ 2g = 10−1 and σ 2i = 1. Channel capacity remains very similar to that of AWGN channel (pi small) ⇓ well-designed JSCC/JSCD schemes may mitigate effect of impulse errors in the GBG channel. 13

2.1.4

Does it really make sense ?

Instantaneous channel : Difficult to take into account • channel codes, • variable-length codes. Easiest way to consider influence of a channel code: build equivalent BSC channel for channel coder, channel, channel decoder ⇓ new transition probability ε0 . Easiest way to consider a variable-length code: perform JSC decoding with a symbol-level trellis [BH00] ⇓ new transition probability ε00 . May require interleaving to remove bursts of errors. 14

2.2

Application to robust image transmission

Reference tandem coding scheme Source

Wavelet transform

Quant. Entropy coding

Channel coding Channel

Reconst. source

Inverse wavelet transform

Inv. quant. Entropy decoding

Channel decoding

Proposed JSCC scheme Joint channel

Source

Wavelet transform

Real BCH encoding

Quantiz.

Channel coding Channel

Reconst. source

Inverse wavelet v transform

Real BCH decoding

15

Inverse quantiz.

Channel decoding

2.2.1

Some characteristics of the JSCC scheme

No entropy coding is performed. Product BCHr code on the lines and on the columns. Shoham-Gersho optimization [SG88] of • Number of bits per pixel, • quantization type (SQ, PVQ), • dimension of the PVQ, • length and redundancy of BCHr codes for lines and columns.

16

2.2.2

First example

CNES 3S context [3SC99].

Gray-scale source images, τ p = 8 bpp, processed by three-level dyadic wavelet transform, resulting in 10 subband images. Reference gray-scaled 8bpp picture for the first example

17

Reference scheme • Source coder (SQ, VLC) output bitrate τ s = 2 bpp. • BCH(127, 78) or BCH(63, 39) used to get channel bitrate of τ c = 3.2 bpp.  −5 −1  • Compressed data are sent over BSC channel ε ∈ 10 , 10 . JSCC scheme • subbands encoded using – BCHr(51, 31) code only on the lines – BCHr(19, 15) product code on both lines and columns. • Lloyd-Max quantizer [Jai89], source coder output rate τ 0s = 3.2 bpp. • No channel code used in this case, thus τ 0c = τ 0s = 3.2 bpp.

18

40

PSNR (dB)

35 30 25 20 15 10 5 -5 10

Tandem coder + BCH-b(127,78) Tandem coder + BCH-b(63,39) BCH-r(51,31) + LMQ 2bpp Product BCH-r(19,15) + LMQ 2bpp

10

-4

10

-3

"

10

-2

10

-1

Performance comparison between TSCC and JSCC schemes

19

Iterative decoding

BCHr(19, 15) product code - fifth iteration vs tandem coder (CBS=.01)

20

2.2.3

Second example (Back to reality)

CNES PLEIADES satellite image transmission scenario [Ple]. ,→ codes carefully optimized with respect to given channel conditions ,→ much more efficient transmission system. Original gray-scaled images at 10 bpp. Three-level dyadic wavelet transform to provide again 10 transformed subbands. Reference scheme, • subbands are quantized and entropy coded, τ s = 2 bpp. • Reed-Solomon RS(255, 238) followed by TCM using an 8PSK and a rate 2.5/3 convolutional code. 2.5 ,→ Overall channel coding rate is Rcc = 238 255 3 = 0.77. Bitrate on the channel about τ c = 2.57 bpp. 21

JSCC scheme, • subbands are first BCHr-encoded (product codes). • Lloyd-Max or pyramid vector quantizers, τ 0s = 2 bpp. • No entropy coding is realized. • Same channel code as for the TSCC is used, τ 0c = 2.57 bpp. On a noise-free channel, the PSNR is 46.7 dB. 50 45

PSNR (dB)

40 35 30 25 Tandem S-C coding scheme JS-CC with BCH in LF subband JS-CC with BCH in all subbands

20 15 6.1

6.2

6.3

6.4

6.5 6.6 Eb/N0 (dB)

22

6.7

6.8

6.9

Lessons we learned • not (too) difficult to improve a tandem system, provided that it is – not fully optimized – described by a rough model • VERY difficult to improve a well tuned tandem system • the main thing we can hope is : more robustness, may be at the cost of a decreased nominal performance But this was predictable because tandem systems are nearly optimal if • source coder almost optimal • channel coder almost optimal • in other words : when no constraints exist (delay, ...) • when the channel is well defined (stationary) 23

Therefore, • we should not remove the VLC’s (loss of efficiency for the source part) • the existence of channel codes should be taken into account from the beginning • the whole application should be considered • In this app, the channels should be really time varying, and we should search for robustness .... and we became suddenly interested in JSCD

24

3

Second step (naive + ”optimistic”) : JSCD for robust transmission of video to mobiles

• Robust transmission of multimedia contents over Wireless or Mixed wired-wireless channels – which introduce data losses (wired part) and transmission errors (wireless part) • Currently solved by a combination of – Packetization ,→ limits effect of lost data – Acknowledgement mechanisms (ACK/NACK) ,→ erroneous packets are retransmitted (ARQ) ∗ ,→ but ARQ not always feasible, or not cost effective for poor channels – Redundancy at other layers 25

Example : video broadcasting (CNES SDMB, Alcatel TVMSL) Satellite de forte puissance avec une grande antenne

Couverture nationale

+ Répéteurs de faible puissance

Couverture urbaine

Characteristics • wireless channels • limited delay constraints • no ARQ 26

3.1

Why source and channel joint decoding?

• channel codes efficient for very long block length ,→ residual decoding errors in schemes with constrained complexity and delay, • source codes designed for error-free channels ,→ prone to uncorrected channel errors.

Decoded H.263+ frame at output of AWGN channel with SNR = 10 dB 27

Solution suggested by Shannon [Sha48]: . . . However, any redundancy in the source will usually help if it is utilized at the receiving point. In particular, if the source already has a certain redundancy and no attempt is made to eliminate it in matching to the channel, this redundancy will help combat noise. For example, in a noiseless telegraph channel one could save about 50% in time by proper encoding of the messages. This is not done and most of the redundancy of English remains in the channel symbols. This has the advantage, however, of allowing considerable noise in the channel. A sizable fraction of the letters can be received incorrectly and still reconstructed by the context. In fact this is probably not a bad approximation to the ideal in many cases. . . ⇓ Main idea of source and channel joint decoding

28

3.1.1

Possible sources of redundancy

Assume that a packet of N bits has to be transmitted. N is known, and transmitted in the header of the block (Redundancy due to packetization). Also assume that the number of macro-blocks K is known. (either transmitted, or estimated). Upon reception, 2N words would be feasible, BUT • not all of them are a succession of Huffmann codewords (Redundancy due to the spelling of VLC codewords) • still fewer are corresponding to a succession of macro-blocks that are understandable by a source decoder (Redundancy due to the semantic of the source coder) • even fewer correspond to exactly K macro blocks.

29

In order to be usable, this redundancy has to be • Evidenced: proposition for building the underlying treillis: each new constraint adds a dimension. Then, obtain MAP estimates on the treillis. • Evaluated: The various sources of redundancy in a texture block of H.263+ 40

0.8 Run, End of Block, Syntax and Packetization End of Block, Syntax and Packetization Syntax and packetization

35

0.7

30

0.6

25

0.5 Redundancy rate

Equivalent redundancy bits

Run, End of Block, Syntax and Packetization End of Block, Syntax and Packetization Syntax and packetization

20

0.4

15

0.3

10

0.2

5

0.1

0

0

50

100 150 N (size of the block in bits)

200

• Used : The videos 30

0

0

50

100 150 N (size of the block in bits)

200

3.1.2

Back to reality : Why such a presentation is misleading... (Are we cheating ?)

• On the source coding aspects – In actual situations, errors resulting in erroneous packets are concealed. – Recent source codecs leave much less redundancy. – Complexity (sol. : sequential decoders, appropriately adapted) • In forgetting the network – The ”Network Adaptation Layer” not defined in H263. It is in H264. – Packet headers are assumed to be correctly received (video packets) – Many more informations are transmitted : headers, CRC’s, ... introduced at each network layer. As a consequence : • Three players: the source code, the channel coder, PLUS the network, • we should not forget that many people are doing ”cross layer optimization” 31

Let us play with the real situation, for video broadcasting [BKL+ 06]:

3.2 3.2.1

Classical cross-layer tuning and JSCD General OSI layers (in short) Application Video Packet

H-RTP

RTP Payload

H-UDP

UDP Payload

H-IP

H-MAC

MAC Payload 1

IP Payload

CRC

H-MAC

PHY Frame 1

MAC Payload 2

PHY Frame 2

Transmission Channel

32

CRC

Mac layer in DVB-H • data bursts episodically transmitted during time-slices (to save battery) • Multi Protocol Encapsulation (MPE) to insert the IP datagrams into the MPEG Transport Stream (TS, common to all DVB services) • technique of protection (i.e., Forward Error Correction applied to the MPE frames) to reinforce the transmitted service (described later) Consequences: Due to the very bursty nature of the transmission, deep fadings will be a nightmare. Various interleavers have to be used, at the cost of a large delay (which should not be too large anyway, due to zapping constraints).

33

3.2.2

CRC at MAC layer used to produce an erasure channel

In DVB-H, the CRC at Mac layer is not used to produce an ACK/NACK decision. It is used for checking the validity of the decoding. => the channel now turns to an erasure channel (blockwise) : three possible states : ”0”, ”1”, and ”not transmitted”

34

How is it used ? • IP packets are stored columnwise and parity check bits computed on each row, added as additional rows • the resulting data are sent out column by column, sliced in MPEG2 transport streams which constitute the actual packets sent on the channel. • if some packets are not ACKed, they can be recovered using the parity bits, as long as their number does not exceed the correction capacity. • note that all headers and CRC’s of higher levels are also sent on the channel. How is it tuned ? • small NALU : poor compression (the probability estimates are re-initialized) and loss of efficiency (ratio headers vs useful data) • large NALU : a loss of a single MPEG2-TS results in a loss of many data. ,→ tradeoff, depending on the channel probability of error. 35

0.8 5% packet loss 10% packet loss 15% packet loss

0.75

Goodput

0.7

0.65

0.6

0.55

0.5

0.45 50

100

150

200

250

300

350

400

450

500

NALU size limit (bytes)

Proportion of information bits transmitted for various limit sizes of the NALUs And new videos 36

Reality, again : JSCD does not seem to be very useful....

3.3

Another lesson: the network layers may help....

At first, we were searching for redundancy in the source bit stream, but there is a lot in the various layers (headers, CRC’s)... Can we use it ? Important remarks : • when doing JSCD, one assumes the measured data (PHY layer) to be available at the source decoder (Application Layer), or even at other layers. • this is supposed to be forbidden : layers should be independent (as much as possible) • but it does not change anything in the standard: so, why not ? in particular, no transmission of additional quantities. All new connections are inside the receiver. 37

CRC used as additional data on the source frame [MDBK07] Assume all ”soft” data to be available at the source decoder. H-MAC

MAC Payload 1

CRC

H-MAC

MAC Payload 2

CRC

Video Stream

Some MAC packets have a correct CRC through hard decoding. They are not further processed. corresponding CRC data can then be discarded. The other ones are processed by soft decoding of the data, given measurements of whole block (i.e. payload + CRC) allowing MAP decoding (easy to say...) • All algorithms for soft decoding of block codes can be used • Problem : we would like to be able to still use the source redundancy. • Hence : sequential decoding algo. • ”only” the computation of the metric remains.

38

• Problem : a naive algorithm would require a complexity exponential with the length of the payload. • Some algorithms have a complexity exponential with the length of the CRC (e.g. using Wolf trellis) still too complex. • we derived a less complex, suboptimal version [MDBK07] Simulation context : • H264 • CAVLC • intra and inter coded packets are transmitted over an AWGN channel • at MAC layer, packets are segmented in frames of 100 bytes and a CRC of 4 bytes is added (802.11 like) • data are BPSK modulated.

39

(a)

(b)

(c)

(d)

5-th image of Foreman.cif SNR 9.5 dB MAC payload size 100 bytes. (a) error-free (b) standard decoding (c) robust (d) CRC-robust decoding 40

45

40

PSNR (dB)

35

30

25

20

15 Standard decoder Robust decoder CRC−Robust decoder with 25 byte payload CRC−Robust decoder with 100 byte payload 10 7

8

9

10

11 12 SNR (dB)

13

14

15

16

PSNR vs SNR for MAC payload sizes of 25 and 100 bytes Comments : • the use of CRC can be combined with the source robustness • they are useful in different Eb/No zones 41

3.3.1

.... but bring new problems

Two main problems: • Headers are always assumed to be correctly received (but they can be more than half the total bit rate) • Compatibility of JSCD with the use of a CRC, either to perform – the ACK/NACK – some validity check upon reception (MPE-FEC like, e.g.) – some validity check after robust decoding Solutions to these problems constitute missing links between JSCD and networking

42

4 4.1

Third step : (Optimistic again) Missing link 1 : Header Recovery [MLKD09]

We are currently completing some header recovery technique, based on three main ideas. 1. we do have strong a priori information about the headers. 2. Intra and inter-layer redundancy is present in the protocol stack. It has been exploited in the Robust Header Compression (ROHC) mechanism (replaces the headers of RTP, UDP, and IP layers by a compressed version). Here, this redundancy is used to build some a priori information on erroneous headers, which will facilitate their estimation. 3. Second, CRC and checksums are used as error-correcting codes, as described above Based on these properties, we (again) proposed a treillis representation of the problem, which allows MAP Estimation for Robust Header Recovery 43

Situation of interest: Error detection mechanisms implemented at each layer of the 802.11 standard (WiFi) : • PHY layer: known preamble, for detecting the beginning of packet. CRC protects the header fields (not the preamble nor the payload). Received packets with damaged headers are discarded. • MAC layer: a CRC protects the header and payload. When an error occurs, the packet is retransmitted. • IPv4 layer: the header fields are protected by a checksum. Received packets with damaged headers are discarded. • UDP layer: a checksum protects the header and the payload. When an error occurs, the packet is discarded. Assumption: packet fragmentation only at MAC layer (reasonable for wireless transmission).

44

Aim : robust estimation of the headers based on the various sources of redundancy in the protocol stack How ? Packet n - 1 Redundancy of N + 1 Layer

Packet n Header n (L + 1)

Payload n (L + 1)

CRCn (L + 1) Layer L + 1

Payload n in Soft Info (L)

Intra-Layer Redundancy

Header Recovery of Layer L

Header n (L)

Payload n (L)

CRCn (L) Layer L

Redundancy of N - 1 Layer

Payload n in Soft Info (L - 1) Layer L - 1

Figure 1: Proposed permeable layer mechanism In the sequel, ` (x) denotes the size of vector x. 45

General formulation : At a given layer L, the n-th incoming packet may include three items: (i) a header, (ii) a payload, (iii) a CRC. this CRC c of `c bits is protecting various types of bits: 1. The constant fields, represented by the vector kL n , are assumed to be known. 2. The predictable fields are denoted as pL n . Their value is deterministic using intra-layer and inter-layer redundancy, i.e. they are predicted from information contained in the previously received packets, assumed correct 3. The important unknown fields are collected in the vector uL n . These parameters are either completely unknown or limited to some set L L Ωu (kL n , pn , Rn ) if one can obtain specific information. 4. Finally, toL n contains the other fields covered by the CRC. This unknown data are not required for the processing of the packet at layer L, but may be important at layer L + 1.

46

All bits protected by the CRC are collected in r of length `r r = [k, p, u, o] with `r = `k + `p + `u + `o . The CRC c associated to r is evaluated as c = F (r) , with F a generic encoding function. P`c ex: c is evaluated through a generator polynomial g(x) = i=0 gi xi characterizing the CRC. A systematic generator matrix G = [I, Π] can be associated to g(x). Using G, c may be obtained iteratively as follows   c0 = 0,  cj+1 = F(rj+1 ) = cj ⊕ (rj+1 · π(j + 1)).

(2)

In (2), rj = [r1 . . . rj , 0 . . . 0] and ⊕ is the XOR operator. π(j) represents the parity vector associated to bit rj , which does not necessarily correspond to the j-th line of Π. After `r iterations, c`r = F (r). 47

Assumptions : (i) AWGN channel (zero mean and variance σ 2 ), (ii) soft values are forwarded inside the receiver from each layer to the next one. Noisy data and CRC incoming from layer L − 1 : y = [yk , yp , yu , yo , yc ] ,

(3)

containing observations (at PHY layer) or estimations (at other layers) of k, p, u, o, and c. k and p are known, only u remains to be estimated. Estimator : b MAP u

=

arg max P (u|k, p, R, yu , yo , yc )

(4)

=

arg max P (u, yu , yo , yc |k, p, R).

(5)

u

u

involves the observations y, the known quantities k, p, and R, and the CRC. Problem similar to computing APP’s of inputs (here parts of inputs) from the measured outputs of block codes. One can design trellises, the state value being the value of the CRC (Link with Wolf trellis), the main difference being that the initial state is non zero (depends on known but variable quantities, as well as unknown ones) and may be unknown. 48

4.2

Performance evaluation of the proposed scheme for 802.11 PHY layer, BPSK on AWGN

A- Brief MAC layer description The CRC cMAC of 4 bytes protects both the header fields and the payload; encoding function: F MAC (·). H-MAC 30 bytes bytes

bits

2 Frame Control

2 Duration

6 6 6 2 6 T1 AP R1 Sequence Not Address Address Address Control Used

2 2 4 Protocol Type Subtype Version

constant field

CRC 4 bytes

Payload (0 to 2312 bytes)

1 To DS

1 1 1 1 From More Power Retry DS Frag Mgt

predictable field

unknown field

1 More Data

1

1

WEP

Order

unimportant field

Figure 2: MAC packet format in 802.11 standard Considering a non-encrypted downlink transmission of ordered MAC data packets with deactivated retransmission and power-save mode 49

B- Partial MAC layer analysis • The 6 byte T1 Address field is the MAC address of the receiver => known. • The last field of the MAC header is reserved for local wireless networks and is composed of 6 bytes of zeros in this study. These fields thus belong to kMAC . • The 6 byte AP Address field contains the MAC address of the access point AP, transmitted to T1 during the medium reservation procedure (RTS-CTS) and may be deduced by the receiver. • The 2 byte Sequence Control field contains a sequence number and a fragment number. The sequence number is the value of the current IP packet counter. The fragment number indicates the value of the current MAC packet counter. Here, the sequence number is incremented by one for each RTS-CTS and the fragment number is incremented by one for each received MAC packet. Can be estimated by the receiver. All these predictable fields are gathered in pMAC . 50

• The More Frag flag specifies if the current MAC packet is the last one for a sequence of fragments of an IP packet. • The 2 bytes of Duration indicates the number of microseconds required to transmit the next MAC packet and some control parameters. Its value depends on the current modulation and the size of the coming MAC packet. These two fields are embedded in uMAC .

Finally, the payload contains the data to be transmitted and its size is between 0 and 2312 bytes. It is represented by oMAC .

51

0

10

−1

10

−2

EHR

10

−3

10

−4

10

−5

10

−6

10 −10

PHY standard decoder PHY robust decoder CRC−16 based PHY robust decoder

−5

0

SNR (dB)

5

10

15

Figure 3: HER vs SNR for the three PHY decoders

52

0

10

0

−1

10

−2

10

10

−1

10

−2

EHR

EHR

10

−3

10

−4

−4

10

−5

10

−6

10 −10

−3

10

10

MAC standard decoder MAC robust decoder CRC−32 based MAC robust decoder with 50 byte payload CRC−32 based MAC robust decoder with 100 byte payload

−5

0

SNR (dB)

−5

10

−6

5

10

10 −10

15

MAC−Lite standard decoder MAC−Lite robust decoder CRC−32 based MAC−Lite robust decoder

−5

0

SNR (dB)

5

10

15

Figure 4: HER vs SNR for the three MAC (left) and MAC-Lite (right) decoders

53

4.3

Missing link 2 : CRC, in conjunction with robust source decoding

As described above, the CRC at MAC layer is used to check the correct reception of the packet. However, JSCD may well be able to cope with this packet (due to the use of the other types of redundancies) and may result in good quality video. => the CRC computation should be replaced by something else.... we have a solution based on the likelihood that the proposed sequence of the robust source decoder is correct [BMDK08] (still going...)

54

Proposed solution: “Soft ARQ”-SARQ-

.

Robust decoding systems are based on the error correction tool ARQ systems are based on the retransmission tool. The proposed system uses both : When a packet is received, the CRC is checked, if it is detected in error, instead of discarding it as in the case of ARQ systems, the receiver first tries to correct the errors by performing a robust decoding on the received symbols. Then, the receiver has to decide between two cases 1. it accepts the packet, in which case the likeliest sequence is used for reconstructing the original image 2. it discards the packet and asks for its retransmission. The whole process relies on the decision whether the packet estimated by the robust decoder is reliable enough or not. 55

Formalize this process by defining the corresponding hypotheses • H1 : sˆ is the sequence that was actually sent. • H0 : sˆ is not the sequence that was actually sent. we are thus defining an hypothesis test that can be characterized by the probability of False alarm PF and he probability of Detection PD : PF = P (Choose H1 |H0 is true) PD = P (Choose H1 |H1 is true) PF represents the probability to accept a packet containing some wrong sequence. (a measure of errors -hence of quality-) PD represents the probability to accept a packet which contains the right sequence. (a measure of throughput) (1 − PD ) represents the probability that a packet containing the right sequence is rejected. (a measure of useless retransmissions ) 56

We want to enhance the throughput while trying to keep the same quality. Thus we need to maximize PD for a given PF . This is a Neyman-Pearson criterion, => Likelihood Ratio Test (LRT) : H1

Λ(r) =

p(r|H1 ) ≷ λ p(r|H0 ) H0

(6)

p(r|H1 ) : Likelihood of H1 (pdf of r when H1 is true). p(r|H0 ) : Likelihood of H0 (pdf of r when H0 is true). Assume the robust decoder is a sequential decoder, modelled by a process which ranks the sequences {s1 , . . . , sK } from the likeliest to the least likely.

57

Notations Let bj denote the sequence ranked at the jth position. b1 is equal to sˆ. The set of sequences {b1 , . . . , bK } is equal to the set {s1 , . . . , sK } but the the K-tuple (b1 , . . . , bK ) changes with r. Computation of the likelihood ratio Obtained by a careful analysis of the sequential decoder (”almost” completed). As a result the Likelihood Ratio reads

Λ(r) = (1 − P (s = b1 )) × PK

j=2

p(r|s = b1 ) p(r|s = bj )P (s = bj )

(7)

where a priori probabilities {P (s = bj ), j ∈ {1, . . . , K}}. P (s = bj ) remain to be computed. It is the a priori probability that sequence s ends up at the jth position. Note that it is NOT the a priori probability that sequence bj is sent.

58

Application to the transmission of H264 video data . Simulations of the SARQ were run using encoded partitions of Foreman.cif. A 4-byte CRC was appended to each NALU prior to modulation. Packets were BPSK-modulated prior to transmission. The nominal quality of the video used is 40 dB and the SNR=10dB. Obviously, λ controls the number of retransmissions. • λ = 1 (the smallest value) corresponds to full robust decoding: all packets are accepted at the first attempt, resulting in a PSNR of 31.85 dB. • When λ increases, quality improves: λ = 4 provides 34.5 dB PSNR. The PSNR should get even closer to the nominal quality of 40 dB for larger values of λ. On the other hand, when λ increases, the average number of transmissions is also increased.

59

Table 1: Performance of SARQ as a function of λ. SNR = 11 dB, packet ≈ 5 kbits method

robust decoder

soft ARQ,λ = 50

soft ARQ,λ = 100

ARQ

PSNR(dB)

37.89

38.69

39.34

40.4

Av. retrans.

1

1.6

2.1

2.63

CRC-based ARQ provides nominal quality, but with a large number of retransmissions (may turn quasi infinite). Comments : we are using too long packets (not realistic). fragmentation should be used to bring the packet size to more to practical sizes. Our main result :

JSCD is compatible with existing system designs

60

5

Current work: Back to reality, again....

We are currently • Checking if we are still cheating... run all simulations of the last part with FEC at PHY layer... • Checking if our actual optimism is still reasonable by running a complete set of simulations (Broadcasting, and multicast through WIMAX). • getting less and less naive (at least we hope...) cheating less and less (this for sure...) and more and more and more optimistic.... But the story is not finished: What is the best use of redundancy ? Back to Shannon citation (and as evidenced in this talk): Redundancy is useful, but : What is the best redundancy allocation at the various levels : source, CRC, channel coders. => cross layer optimization of JSCD based systems... Post-docs needed: [email protected] 61

References [3SC99]

CNES report WGISS-8, 1999. http://www.space.qinetiq.com/ceos/docs/cnes report wgiss.d

[BF95]

V. Buttigieg and P.G. Farrell. A MAP decoding algorithm for variable-length error-correcting codes. In Codes and Cyphers: Cryptography and Coding IV, pages 103– 119, Essex, England, 1995. The Inst. of Mathematics and its Appl.

[BH00]

R. Bauer and J. Hagenauer. Symbol-by-symbol MAP decoding of variable length codes. In Proc. 3rd ITG Conference Source and Channel Coding, pages 111–116, M¨ unchen, 2000.

[BKL+ 06]

A. Bouabdallah, M. Kieffer, J. Lacan, G. Sabeva, G. Scot, C. Bazile, and P. Duhamel. Evaluation of cross–layer reliability mechanisms for satellite digital multimedia broad-

61-1

cast. IEEE Transactions on Broadcasting, 2006. paraitre.

A

[Bla72]

R. E. Blahut. Computation of channel capacity and ratedistorsion functions. IEEE transactions on Information Theory, 18(4):460–473, 1972.

[BLB04]

C. Bergeron and C. Lamy-Bergot. Soft-input decoding of variable-length codes applied to the h.264 standard. In Multimedia Signal Processing, 2004 IEEE 6th Workshop on, pages 87–90, 29 Sept.-1 Oct. 2004.

[BMDK08]

K. Bouchireb, C. Marin, P. Duhamel, and M. Kieffer. Improved retransmission scheme for video communication systems. In PIMRC’08, volume 0, Cannes, Septembre 2008. ` a paraˆıtre.

[FV91]

N. Farvardin and V. Vaishampayan. Optimal quantizer design for noisy channels: An approach to combined sourcechannel coding. IEEE Transactions on Information Theory, 33(6):827–837, 1991. 61-2

[Gal68]

R. G. Gallager. Information Theory and Reliable Communication. Wiley, New-York, 1968.

[GDR00]

A. Gabay, P. Duhamel, and O. Rioul. Spectral interpolation coder for impulse noise cancellation over a binary symmetric channel. In Proc. Of EUSIPCO, Tampere, Finland, 2000.

[GFZ02]

J. Garcia-Frias and Y. Zhao. Compression of binary memoryless sources using punctured turbo codes. IEEE Communications Letters, 6(9):394 – 396, 2002.

[Gho96]

M. Ghosh. Analysis of the effect of impulse noise on multicarrier and single carrier QAM systems. IEEE Transactions on Communication, 44(2):145–147, 1996.

[GS05]

C. Guillemot and P. Siohan. Joint source-channel decoding with soft information: A survey. Elsevier Journal on Applied Signal Processing, special issue on the turbo principle, 6:906–927, 2005. 61-3

[GVT98]

V. K. Goyal, M. Vetterli, and N. T. Thao. Quantized overcomplete expansions in Rn : Analysis, synthesis, and algorithms. IEEE Transactions on Information Theory, 44(1):16–31, 1998.

[Hag88]

J. Hagenauer. Rate-compatible punctured convolutional codes (RCPC codes) and their applications. IEEE Trans. Communications, 36(4):389–400, 1988.

[Hag95]

J. Hagenauer. Source-controlled channel decoding. IEEE trans. on Communications, 43(9):2449–2457, 1995.

[HBS04]

J. Hagenauer, J. Barros, and A. Schaefer. Lossless turbo source coding with decremental redundancy. In Proc. 5th Int. ITG Conference on Source and Channel Coding, pages 333–339, January 2004.

[HØR05]

F. Hekland, G. E. Øien, and T. A. Ramstad. Using 2: 1 shannon mapping for joint source-channel coding. In Proc. DCC, pages 223–232, 2005. 61-4

[Jai89]

A. K. Jain. Fundamentals of Digital Image Processing. Prentice-Hall, Englewood Cliffs, NJ, 1989.

[KR98]

I. Kozintsev and K. Ramchandran. Robust image transmission over energy-constrained time-varying channels using multiresolution joint source-channel coding. IEEE trans. Signal Processing, 46(4):1012–1026, 1998.

[LKD05]

C.M. Lee, M. Kieffer, and P. Duhamel. Soft decoding of VLC encoded data for robust transmission of packetized video. In Proceedings of ICASSP, pages 737–740, 2005.

[LV02]

K. Lakovic and J. Villasenor. On design of error-correcting reversible variable length codes. IEEE Communications Letters, 6(8):337– 339, 2002.

[MDBK07]

C. Marin, P. Duhamel, K. Bouchireb, and M. Kieffer. Robust video decoding through simultaneous usage of residual source information and mac layer crc redundancy. In Proceedings of Globecom 07, 2007. to appear. 61-5

[MLKD09]

C. Marin, Y. Leprovost, M. Kieffer, and P. Duhamel. Robust mac–lite and soft header recovery for packetized multimedia transmission. IEEE Trans. on Communications, 0(0), 2009. submitted June 2008.

[ND03]

H. Nguyen and P. Duhamel. Compressed image and video redundancy for joint source-channel decoding. In Proc. Globecom, 2003.

[Ple]

http://smsc.cnes.fr/PLEIADES/.

[ROUV93]

K. Ramchandran, A. Ortega, K. M. Uz, and M. Vetterli. Multiresolution broadcast for HDTV using joint source/Channel coding. IEEE Tansactions on SAC, 11:3– 14, 1993.

[SG88]

Y. Shoam and A. Gersho. Efficient bit allocation for an arbitrary set of quantizers. IEEE Trans. on Acoustics, Speech, and Signal Processing, 36(9):1445–1453, 1988.

61-6

[Sha48]

C. E. Shannon. A mathematical thoery of communication. Bell Syst. Tech. J., 1948.

[SOD00]

K. Sayood, H. H. Otu, and N. Demir. Joint source/channel coding for variable length codes. IEEE Trans. Commun., 48(5):787–794, may 2000.

[TC67]

R. E. Totty and G. C. Clark. Reconstruction error in waveform transmission. IEEE Transactions on Information Theory, 13(2):336–338, 1967.

[TK03]

R. Thobanen and J. Kliewer. Robust decoding of variablelength encoded markov sources using a three-dimensional trellis. IEEE Communications Letters, 7(7):320–322, 2003.

[TWM95]

Y. Takishima, M. Wada, and H. Murakami. Reversible variable length codes. IEEE Trans. Commun, 43(24):158–162, Feb-Apr 1995.

61-7

[WKNAM04] C. Weidmann, P. Kadlec, O. Nemethova, and A. Al Moghrabi. Combined sequential decoding and error concealment of h.264 video. In Multimedia Signal Processing, 2004 IEEE 6th Workshop on, pages 299–302, 29 Sept.-1 Oct. 2004. [WYH04]

J. Wang, L.-L. Yang, and L Hanzo. Iterative construction of reversible variable-length codes and variable-length error-correcting codes. IEEE Communications Letters, 8(11):671– 673, 2004.

[ZAC06]

Y. Zhong, F. Alajaji, and L. L. Campbell. On the joint source-channel coding error exponent for discrete memoryless systems. IEEE trans. on Information Theory, 52(4):1450–1468, 2006.

[ZADR96]

S. B. Zahir Azami, P Duhamel, and O Rioul. Joint source channel coding : Panorama of methods. Proceedings of CNES workshop on Data Compression, Nov. 1996.

61-8

[ZC04]

Y. Zhou and W. Y. Chan. Multiple description quantizer design using a channel optimized quantizer approach. In Proceedings of the 38th Annual Conference on Information Sciences and Systems (CISS’04), 2004.

61-9