1 chapter five making connections efficient: multiplexing and compression

58
1 Chapter Five Making Connections Efficient: Multiplexing and Compression

Post on 19-Dec-2015

229 views

Category:

Documents


2 download

TRANSCRIPT

1

Chapter Five

Making Connections Efficient:

Multiplexing and Compression

2

Introduction• Under the simplest conditions, a medium can

carry only one signal at any moment in time• For multiple signals to share a medium, the

medium must somehow be divided, giving each signal a portion of the total bandwidth

• The current techniques include frequency division multiplexing, time division multiplexing, and code division multiplexing

Chapter Five - Making Connections Efficient:Multiplexing and Compression

3

Frequency Division Multiplexing

• Assignment of non-overlapping frequency ranges to each “user” or signal on a medium. Thus, all signals are transmitted at the same time, each using different frequencies

• A multiplexor accepts inputs and assigns frequencies to each device

Chapter Five - Making Connections Efficient:Multiplexing and Compression

4

Frequency Division Multiplexing

• The multiplexor is attached to a high-speed communications line

• A corresponding multiplexor, or demultiplexor, is on the end of the high-speed line and separates the multiplexed signals

Chapter Five - Making Connections Efficient:Multiplexing and Compression

5

Chapter Five - Making Connections Efficient:Multiplexing and Compression

6

Frequency Division Multiplexing• Analog signaling is used to transmit the data• Broadcast radio and television, cable

television, and cellular telephone systems use frequency division multiplexing

• This technique is the oldest multiplexing technique

• Since it involves analog signaling, it is more susceptible to noise

Chapter Five - Making Connections Efficient:Multiplexing and Compression

7

Time Division Multiplexing• Sharing of the signal is accomplished by

dividing available transmission time on a medium among users

• Digital signaling is used exclusively• Time division multiplexing comes in two basic

forms:– Synchronous time division multiplexing– Statistical time division multiplexing

Chapter Five - Making Connections Efficient:Multiplexing and Compression

8

Synchronous Time Division Multiplexing

• The original time division multiplexing

• The multiplexor accepts input from attached devices in a round-robin fashion and transmits the data in a never ending pattern

• T-1 and ISDN telephone lines are common examples of synchronous time division multiplexing

Chapter Five - Making Connections Efficient:Multiplexing and Compression

9

Chapter Five - Making Connections Efficient:Multiplexing and Compression

10

Synchronous Time Division Multiplexing• If one device generates data at a faster rate

than other devices, then the multiplexor must either sample the incoming data stream from that device more often than it samples the other devices, or buffer the faster incoming stream

• If a device has nothing to transmit, the multiplexor must still insert something into the multiplexed stream

Chapter Five - Making Connections Efficient:Multiplexing and Compression

11

Chapter Five - Making Connections Efficient:Multiplexing and Compression

12

Chapter Five - Making Connections Efficient:Multiplexing and Compression

13

Synchronous Time Division Multiplexing• So that the receiver may stay synchronized with

the incoming data stream, the transmitting multiplexor can insert alternating 1s and 0s into the data stream

Chapter Five - Making Connections Efficient:Multiplexing and Compression

14

Synchronous Time Division Multiplexing• The T-1 multiplexor stream is a continuous series

of frames

Chapter Five - Making Connections Efficient:Multiplexing and Compression

15

Synchronous Time Division Multiplexing• The ISDN multiplexor stream is a also a continuous series of

frames. Each frame contains various control and sync info

Chapter Five - Making Connections Efficient:Multiplexing and Compression

16

Synchronous Time Division Multiplexing• Likewise, SONET incorporates a continuous series of

frames.

Chapter Five - Making Connections Efficient:Multiplexing and Compression

17

Statistical Time Division Multiplexing

• A statistical multiplexor transmits the data from active workstations only

• If a workstation is not active, no space is wasted in the multiplexed stream

• A statistical multiplexor accepts the incoming data streams and creates a frame containing the data to be transmitted

Chapter Five - Making Connections Efficient:Multiplexing and Compression

18

Chapter Five - Making Connections Efficient:Multiplexing and Compression

19

Chapter Five - Making Connections Efficient:Multiplexing and Compression

•To identify each piece of data, an address is included

20

Chapter Five - Making Connections Efficient:Multiplexing and Compression

•If the data is of variable size, a length is also included

21

• More precisely, the transmitted frame contains a collection of data groups

Chapter Five - Making Connections Efficient:Multiplexing and Compression

22

Wavelength Division Multiplexing

• Wavelength division multiplexing multiplexes multiple data streams onto a single fiber optic line

• Different wavelength lasers (called lambdas) transmit the multiple signals

Chapter Five - Making Connections Efficient:Multiplexing and Compression

23

Wavelength Division Multiplexing

• Each signal carried on the fiber can be transmitted at a different rate from the other signals

• Dense wavelength division multiplexing combines many (30, 40, 50 or more) onto one fiber

• Coarse wavelength division multiplexing combines only a few lambdas

Chapter Five - Making Connections Efficient:Multiplexing and Compression

24

Chapter Five - Making Connections Efficient:Multiplexing and Compression

25

Discrete Multitone (DMT)

• A multiplexing technique commonly found in digital subscriber line (DSL) systems

• DMT combines hundreds of different signals, or subchannels, into one stream

Chapter Five - Making Connections Efficient:Multiplexing and Compression

26

Discrete Multitone (DMT)

• Each subchannel is quadrature amplitude modulated (recall eight phase angles, four with double amplitudes)

• Theoretically, 256 subchannels, each transmitting 60 kbps, yields 15.36 Mbps

• Unfortunately, there is noise

Chapter Five - Making Connections Efficient:Multiplexing and Compression

27

Chapter Five - Making Connections Efficient:Multiplexing and Compression

28

Code Division Multiplexing

• Also known as code division multiple access

• An advanced technique that allows multiple devices to transmit on the same frequencies at the same time

• Each mobile device is assigned a unique 64-bit code

Chapter Five - Making Connections Efficient:Multiplexing and Compression

29

Code Division Multiplexing

• To send a binary 1, a mobile device transmits the unique code

• To send a binary 0, a mobile devices transmits the inverse of the code

Chapter Five - Making Connections Efficient:Multiplexing and Compression

30

Code Division Multiplexing

• Receiver gets summed signal, multiplies it by receiver code, adds up the resulting values

• Interprets as a binary 1 if sum is near +64

• Interprets as a binary 0 if sum is near -64

Chapter Five - Making Connections Efficient:Multiplexing and Compression

31

Code Division Multiplexing

• For simplicity, assume 8-bit code• Three different mobile devices use the

following codes:– Mobile A: 10111001– Mobile B: 01101110– Mobile C: 11001101

• Assume Mobile A sends a 1, B sends a 0, and C sends a 1

Chapter Five - Making Connections Efficient:Multiplexing and Compression

32

Code Division Multiplexing

• Signal code: 1-chip = +N volt; 0-chip = -N volt• Three signals transmitted:

– Mobile A sends a 1, or 10111001, or +-+++--+– Mobile B sends a 0, or 10010001, or +--+---+– Mobile C sends a 1, or 11001101, or ++--++-+

• Summed signal received by base station: +3, -1, -1, +1, +1, -1, -3, +3

Chapter Five - Making Connections Efficient:Multiplexing and Compression

33

Code Division Multiplexing

• Base station decode for Mobile A:• Signal received: +3, -1, -1, +1, +1, -1, -3, +3• Mobile A’s code: +1, -1, +1, +1, +1, -1, -1, +1• Product result: +3, +1, -1, +1, +1, +1, +3, +3

• Sum of Products: +12• Decode rule: For result near +8, data is binary 1

Chapter Five - Making Connections Efficient:Multiplexing and Compression

34

Code Division Multiplexing

• Base station decode for Mobile B:• Signal received: +3, -1, -1, +1, +1, -1, -3, +3• Mobile B’s code: -1, +1, +1, -1, +1, +1, +1, -1• Product result: -3, -1, -1, -1, +1, -1, -3, -3

• Sum of Products: -12• Decode rule: For result near -8, data is binary 0

Chapter Five - Making Connections Efficient:Multiplexing and Compression

35

Chapter Five - Making Connections Efficient:Multiplexing and Compression

36

Chapter Five - Making Connections Efficient:Multiplexing and Compression

37

Compression

• This is another technique used to squeeze more data over a communications line

• If you can compress a data file to ½ of its original size, the file will transfer in less time

• Two basic groups of compression:– Lossless – when data is uncompressed, original data returns

– Lossy – when data is uncompressed, you do not have the original data

Chapter Five - Making Connections Efficient:Multiplexing and Compression

38

Compression

• Compress a financial file? Need lossless• Compress a video image, movie, or audio file? Lossy

is OK• Examples of lossless compression include Huffman

codes, run-length compression, Lempel-Ziv compression, Apple Lossless, and FLAC (Free Lossless Audio Codec)

• Examples of lossy compression include MPEG, JPEG, MP3

Chapter Five - Making Connections Efficient:Multiplexing and Compression

39

Run-Length Compression

Replace runs of 0s with a count of how many 0s.

00000000000000100000000011000000000000000000001000…001100000000000 ^

(30 0s)

14 9 0 20 30 0 11

Chapter Five - Making Connections Efficient:Multiplexing and Compression

40

Chapter Five - Making Connections Efficient:Multiplexing and Compression

Run-Length Compression

• Now replace each decimal value with a 4-bit binary value (nibble)

• Note: If you need to code a value larger than 15, you need to use two code two consecutive 4-bit nibbles. The first is decimal 15, or binary 1111, and the second nibble is the remainder. For example, if the decimal value is 20, you would code 1111 0101 which is equivalent to 15 + 5.

• If you want to code the value 15, you still need two nibbles: 1111 0000. The rule is that if you ever have a nibble of 1111, you must follow it with another nibble.

41

Chapter Five - Making Connections Efficient:Multiplexing and Compression

Relative or Differential Encoding (Lossy)

• Video does not compress well using run-length encoding

• In one color video frame, not much is alike• But what about from frame to frame?• Send a frame, store it in a buffer• Next frame is just different from previous frame• Then store that frame in buffer, etc.

42

5 7 6 2 8 6 6 3 5 66 5 7 5 5 6 3 2 4 78 4 6 8 5 6 4 8 8 55 1 2 9 8 6 5 5 6 6First Frame

5 7 6 2 8 6 6 3 5 66 5 7 6 5 6 3 2 3 78 4 6 8 5 6 4 8 8 55 1 3 9 8 6 5 5 7 6Second Frame

0 0 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0 -1 00 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0Difference

Chapter Five - Making Connections Efficient:Multiplexing and Compression

43

Chapter Five - Making Connections Efficient:Multiplexing and Compression

Image Compression

• One image – JPEG, or continuous images such as video – MPEG

• A color picture (or pixel) can be defined by red/green/blue

• For each pixel you have 3 values, each 8 bits, or 24 bits total (224 colors!)

44

Chapter Five - Making Connections Efficient:Multiplexing and Compression

Image Compression

• A VGA screen is 640 x 480 pixels

• 24 bits x 640 x 480 = 7,372,800 bits. Ouch!

• And video comes at you 30 images per second. Double Ouch!

• We need compression

45

Chapter Five - Making Connections Efficient:Multiplexing and Compression

JPEG

• Joint Photographic Experts Group

• Compresses still images

• Lossy

• JPEG compression consists of 3 phases:– Discrete cosine transformations (DCT)– Quantization– Encoding

46

Chapter Five - Making Connections Efficient:Multiplexing and Compression

JPEG Step 1 - DCT

• Divide image into a series of 8 x 8 blocks• If the original image was 640 x 480 pixels, the

new picture would be 80 blocks x 60 blocks (see next slide)

• If B&W, each pixel in 8x8 block is an 8-bit value (0-255)

• If color, each pixel is a 24-bit value (8 bits for red, 8 for blue, and 8 for green)

47

80 blocks

60 blocks

640 x 480 VGA Screen ImageDivided into 8 x 8 Pixel Blocks

48

Chapter Five - Making Connections Efficient:Multiplexing and Compression

JPEG Step 1 - DCT• So what does DCT do? Takes an 8x8 array (P)

and produces a new 8x8 array (T) using cosines

• T matrix contains a collection of values called spatial frequencies

• These spatial frequencies relate directly to how much the pixel values change as a function of their positions in the block

49

Chapter Five - Making Connections Efficient:Multiplexing and Compression

T Array

15 18 21 24 28 32 36 40

19 22 25 28 32 36 40 44

22 25 28 32 36 40 44 48

26 29 32 35 39 43 47 51

30 34 38 42 46 51 56 61

34 38 42 46 51 56 61 66

38 42 46 51 56 61 66 72

43 48 53 58 63 68 74 80

P Array

628 -123 21 -8 0 -2 0 -1

-185 23 -5 0 0 0 0 0

10 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0

-1 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

50

Chapter Five - Making Connections Efficient:Multiplexing and Compression

JPEG Step 1 - DCT• An image with uniform color changes (fine

detail) has a P array with closely similar values and a corresponding T array with many zero values

• An image with large color changes over a small area has a P array with widely changing values, and thus a T array with fewer zero values

51

Chapter Five - Making Connections Efficient:Multiplexing and Compression

JPEG Step 2 - Quantization• The human eye can’t see small differences in color

changes• So take T matrix and divide all values by 10. This

will give us more zero entries. More 0s means more compression!

• But this is too lossy. And dividing all values by 10 doesn’t take into account that upper left of matrix has more action (the less subtle features of the image, or low spatial frequencies)

52

1 3 5 7 9 11 13 153 5 7 9 11 13 15 175 7 9 11 13 15 17 197 9 11 13 15 17 19 219 11 13 15 17 19 21 2311 13 15 17 19 21 23 2513 15 17 19 21 23 25 2715 17 19 21 23 25 27 29

U matrix

Q[i][j] = Round(T[i][j] / U[i][j]), for i = 0, 1, 2, …7 andj = 0, 1, 2, …7

53

Chapter Five - Making Connections Efficient:Multiplexing and Compression

JPEG Step 3 - Encoding

• Now take the quantized matrix Q and perform run-length encoding on it

• But don’t just go across the rows. Longer runs of zeros if you perform the run-length encoding in a diagonal fashion (next slide)

54

Chapter Five - Making Connections Efficient:Multiplexing and Compression

55

Chapter Five - Making Connections Efficient:Multiplexing and Compression

JPEG

• How do you get the image back?– Undo run-length encoding– Multiply matrix Q by matrix U yielding matrix T– Apply similar cosine calculations to get original P

matrix back

56

Chapter Five - Making Connections Efficient:Multiplexing and Compression

Business Multiplexing In Action

• XYX Corporation has two buildings separated by a distance of 300 meters

• A 3-inch diameter tunnel extends underground between the two buildings

• Building A has a mainframe computer and Building B has 66 terminals

• What are some efficient techniques for linking the two building?

57

Chapter Five - Making Connections Efficient:Multiplexing and Compression

58

Chapter Five - Making Connections Efficient:Multiplexing and Compression

Possible Solutions• Connect each terminal to the mainframe computer

using separate point-to-point lines• Connect all the terminals to the mainframe computer

using one multipoint line (polling)• Connect all the terminal outputs and use some form

of wireless (microwave?)• Connect all the terminal outputs using multiplexing

and send data to mainframe using a conducted (or wireless?) line