Title: Chapter Five
1Chapter Five
- Making Connections Efficient
- Multiplexing and Compression
2Introduction
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
3Frequency Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
4Frequency Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
5Chapter Five - Making Connections
Efficient Multiplexing and Compression
6Frequency Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
7Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
8Synchronous Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
9Chapter Five - Making Connections
Efficient Multiplexing and Compression
10Synchronous Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
11Chapter Five - Making Connections
Efficient Multiplexing and Compression
12Chapter Five - Making Connections
Efficient Multiplexing and Compression
13Synchronous Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
14Synchronous Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- The T-1 multiplexor stream is a continuous series
of frames
15Synchronous Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- The ISDN multiplexor stream is a also a
continuous series of frames. Each frame contains
various control and sync info
16Synchronous Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- Likewise, SONET incorporates a continuous series
of frames.
17Statistical Time Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
18Chapter Five - Making Connections
Efficient Multiplexing and Compression
19Chapter Five - Making Connections
Efficient Multiplexing and Compression
- To identify each piece of data, an address is
included
20Chapter Five - Making Connections
Efficient Multiplexing and Compression
- If the data is of variable size, a length is also
included
21Chapter Five - Making Connections
Efficient Multiplexing and Compression
- More precisely, the transmitted frame contains a
collection of data groups
22Wavelength Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- Wavelength division multiplexing multiplexes
multiple data streams onto a single fiber optic
line - Different wavelength lasers (called lambdas)
transmit the multiple signals
23Wavelength Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
24Chapter Five - Making Connections
Efficient Multiplexing and Compression
25Discrete Multitone (DMT)
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- A multiplexing technique commonly found in
digital subscriber line (DSL) systems - DMT combines hundreds of different signals, or
subchannels, into one stream
26Discrete Multitone (DMT)
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
27Chapter Five - Making Connections
Efficient Multiplexing and Compression
28Code Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
29Code Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
30Code Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
31Code Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
32Code Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
33Code Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- Base station decode for Mobile A
- Signal received 3, -1, -1, 1, 1, -1, -3, 3
- Mobile As 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
34Code Division Multiplexing
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- Base station decode for Mobile B
- Signal received 3, -1, -1, 1, 1, -1, -3, 3
- Mobile Bs 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
35Chapter Five - Making Connections
Efficient Multiplexing and Compression
36Chapter Five - Making Connections
Efficient Multiplexing and Compression
37Compression
Chapter Five - Making Connections
Efficient Multiplexing and 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
38Compression
Chapter Five - Making Connections
Efficient Multiplexing and 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
39Chapter Five - Making Connections
Efficient Multiplexing and Compression
Run-Length Compression Replace runs of 0s with a
count of how many 0s. 000000000000001000000000110
00000000000000000001000001100000000000
(30 0s) 14 9 0
20 30 0 11
40Run-Length Compression
Chapter Five - Making Connections
Efficient Multiplexing and 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.
41Relative or Differential Encoding (Lossy)
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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.
42Chapter Five - Making Connections
Efficient Multiplexing and Compression
5 7 6 2 8 6 6 3 5 6 6 5 7 5 5 6 3 2 4 7 8 4 6 8 5
6 4 8 8 5 5 1 2 9 8 6 5 5 6 6 First Frame
5 7 6 2 8 6 6 3 5 6 6 5 7 6 5 6 3 2 3 7 8 4 6 8 5
6 4 8 8 5 5 1 3 9 8 6 5 5 7 6 Second Frame
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 Difference
43Image Compression
Chapter Five - Making Connections
Efficient Multiplexing and 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!)
44Image Compression
Chapter Five - Making Connections
Efficient Multiplexing and 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
45JPEG
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- Joint Photographic Experts Group
- Compresses still images
- Lossy
- JPEG compression consists of 3 phases
- Discrete cosine transformations (DCT)
- Quantization
- Encoding
46JPEG Step 1 - DCT
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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 BW, 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)
4780 blocks
60 blocks
640 x 480 VGA Screen Image Divided into 8 x 8
Pixel Blocks
48JPEG Step 1 - DCT
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
49Chapter Five - Making Connections
Efficient Multiplexing and Compression
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
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
P Array
T Array
50JPEG Step 1 - DCT
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
51JPEG Step 2 - Quantization
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- The human eye cant 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 doesnt take into account that upper left
of matrix has more action (the less subtle
features of the image, or low spatial frequencies)
521 3 5 7 9 11 13 15 3 5
7 9 11 13 15 17 5 7 9
11 13 15 17 19 7 9 11 13 15
17 19 21 9 11 13 15 17 19 21
23 11 13 15 17 19 21 23 25 13 15
17 19 21 23 25 27 15 17 19 21 23
25 27 29
U matrix
Qij Round(Tij / Uij), for i 0, 1,
2, 7 and j 0, 1, 2, 7
53JPEG Step 3 - Encoding
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- Now take the quantized matrix Q and perform
run-length encoding on it - But dont just go across the rows. Longer runs
of zeros if you perform the run-length encoding
in a diagonal fashion (next slide)
54Chapter Five - Making Connections
Efficient Multiplexing and Compression
55JPEG
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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
56Business Multiplexing In Action
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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?
57Chapter Five - Making Connections
Efficient Multiplexing and Compression
58Possible Solutions
Chapter Five - Making Connections
Efficient Multiplexing and Compression
- 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