SE3314 Final Flashcards
What are the 3 categories of a/v services?
Streaming stored, streaming live, interactive
What is digitization?
The conversion of analog signal into a stream of numbers
What is pulse code modulation?
The process of converting from analog audio to compressed binary form sampling, quantization, and encoding
What is compression?
the process of coding that will effectively reduce the total number of bits needed to represent certain information
What is quantization?
Sampling in the amplitude/voltage dimension
What is the Nyquist theorem?
If the highest frequency of a signal is F, sampling frequency should be 2F times per second
How is data rate calculated?
sampling frequency * quantization rate (generally 8 or 16 bits/sample)
How many bits are required for a pixel of a color image?
24 (8 for black and white)
What are the 2 methods of audio compression?
- predictive encoding
- perceptual encoding
How large are the blocks in greyscale JPEG compression?
8x8 pixels (64)
What are the steps for JPEG compressoin?
- DCT
- Quantization
- Compression
What is the DC value in a discrete cosine transform?
The value in cell (0,0) of the T table
What is the process of JPEG quantization?
Values in the T table are divided by a constant, and the fraction is dropped
Why is JPEG considered lossy?
Because of quantization, which is not completely reversible
What direction is the table read during JPEG compression?
Diagonally in a zigzag from the top left
How many 1’s did I give Ouda on his eval for this course
All of them
What is the penalty for showing up late to the exam?
-4% for every 35 seconds that you’re late
What are the types of video compression?
- spatial compression
- temporal compression
What is spatial compression?
Compress each frame individually (ie using JPEG)
What are the categories of frames in a temporal compression?
- I frame (independent)
- P frame (predicated
- B frame (bidirectional)
What is an I-frame?
- not related to any other frame
- must appear periodically at regular intervale
Why do we need I-frames
They serve as a starting point for further encoding
(if you have a better answer let me know)-Dylan
What is a B-frame?
Related to preceding AND following I/P frames
What is a P-frame?
- Related to preceding I/P frame
- changes cannot cover big segment
- carry much less info than other frames
What are the 4 methods for streaming stored/live AV?
- Web server
- Web server w/ metafile
- Media server
- Media server & RTSP
Describe how the web server approach works
- Client uses GET to download text file
- Client uses help application (media player) to play
- No streaming, file must be downloaded completely
Describe how the web server + metafile approach works
- media player is directly connected to web server
- server stores AV file and metafile (has info about AV file)
- browser and media player both use HTTP (TCP)
PROBLEM: TCP is not appropriate for streaming
Why is TCP not appropriate for streaming AV?
Because of its retransmission procedure
Describe how the media server approach works
- client uses GET for metafile, passes to media player
- media player uses URL in metafile to download AV file from media server (using any protocol using UDP)
What does RTSP do?
Real-time streaming protocol:
- allows player to control transmission (pause, rewind)
- messages sent out-of-band
- different port (544) than the stream, can use UDP or TCP
Describe how media server & RTSP approach works
- Setup like media server approach
- media players send SETUP to connect, then PLAY to begin download
- can send other messages to pause, rewind, etc.
- sends TEARDOWN to break connection
What causes jitter?
Introduced by delay between packets
When is time relationship preserved?
When packets have equal delay
What are some solution to jitter?
- timestamp
- playback buffer + playback delay
What is multicasting?
When data is distributed to several destination (like online radio broadcast)
What is mixing in the context of interactive AV?
Combining several streams into 1 stream (like conference call)
Why is UDP not suitable for interactive AV?
Does not provide timestamping, sequencing or mixing
How does RTP work?
- data encapsulated in an RTP packet
- RTP packet encapsulated in a UDP segment
What are the 2 approaches to RTP?
- RTP in transport layer (use existing libraries, RTP is a sublayer of transport layer)
- RTP in application layer: application creates RTP packets, sends into a UDP socket interface
What are the RTP header fields?
- payload type (type of encoding)
- sequence no
- timestamp
- synchronization source identifier (SSRC defines source)
- contributing source identifier (if more than 1 source, the SSRC is the mixer, remaining sources are contributors)
- padding, extension, contributor count
What was Napster?
Like uber, but for naps
What is perceptual encoding?
Uses psychoacoustics and limitations in our auditory system to compress audio (used for music)
What is predictive encoding?
Audio compression based on differences between samples (used for speech)
What message is sent to the media server to end the connection?
TEARDOWN
In what situation is RTCP used?
(Real time control protocol): used with RTP for multicasting
What are the different types of RTCP control packets?
- sender report
- receiver report
- source description message
- bye message
- application-specific message
What is a receiver report?
An RTCP control packet sent by passive participants, informs others of quality of service
What is included in a source description message?
Email and name of sender, the app that generates the RTP stream
What is a sender report?
An RTCP control packet sent by sender, includes transmission/reception stats, wall clock timestamp (used for synchronization)
What port(s) is selected for RTP?
Any even numbered UDP port
What port(s) is selected for RTSP?
Uses a temporary port, must be one higher than RTP (odd number)
What are the different flow characteristics?
- reliability
- delay
- jitter
- bandwidth
Define delay (as a flow characteristic)
total time from packet sent to received
Define jitter (in the context of quality of service)
Variation in delay for packets in the same flow
Define reliability (in the context of quality of service)
Amount of lost packets (due to network loss, end-end delay loss)
What is bandwidth?
Number of bits / second
What is the goal of implementing flow classes?
Partition traffic on the same link into groups, giving some groups higher priority
What are the 3 techniques to improve quality of service?
- recover from packet loss
- scheduling
- traffic shaping
What are the two schemes for forward error correction?
- add redundant chunks
- send redundant lower quality stream
What are the two methods for recovery from packet loss
- forward error correction (FEC)
- interleaving
How many chunk can be lost using redundant chunks so that the original block can be reconstructed?
At most 1 chunk
What are the cons of adding a redundant chunk?
Increased bandwidth by 1/n
How would you determine the size of n when implementing the redundant chunks scheme for FEC?
Tradeoff:
- Large n: less bandwidth waste
- Small n : lower probability of packet loss, shorter playout delay
What are the advantages of interleaving?
- If packet lost, still have most of every chunk
- no redundancy overhead
What is the disadvantage of interleaving?
- increases latency (via playout delay)
What are the different scheduling approaches?
- FIFO queuing
- Priority queuing
- Weighted fair queuing
Can overflow occur using a FIFO queuing approach?
YES, if arrival rate> processing rate
How many queues are there in a priority queuing system?
One for each prioirty class
What is the drawback of priority queiung?
Starvation: a continuous flow of high-priority packets means low priority queue will never be served
How does weighted fair queuing work?
- queues weighted on priority
- process # of packets based on priority (ie if priority is 3, process 3 packets from queue)
- switch queues in round robin fashion
What are the different approaches to traffic shaping?
- leaky bucket
- token bucket
- hybrid
What is the goal of traffic shaping?
- control amount and rate of traffic to a network
- network knows what to expect, determine when to send, monitor flow of traffic
Describe leaky bucket
Remove packets from FIFO queue at constant rate
What is the advantage of leaky bucket?
No jitter
What are the disadvantages of leaky bucket?
- May drop packets if queue overflows
- Host is not compensated for idle time
Describe token bucket
- host accumulates n token every clock tick when not transmitting
- host pays 1 token for every byte transmitted
What is the advantage of token bucket?
Allows bursty traffic at regulated maximum rate (max rate = rate of tokens earned )
How would you combine leaky and token buckets? Why would you?
Place leaky bucket after token bucket. Rate of leaky bucket must be > rate of tokens dropped.
Why: handles bursty traffic but processes at constant rate
What is a VLAN?
Virtual LAN: broadcast domains defined by switch port rather than network address
T/F: each switch port can be assigned to multiple VLANs
F: each switch port can be assigned to only 1 VLAN at a time
T/F: each switch can be connected to multiple VLANs
T
T/F: workstations connected to the same switch but in different VLANs can communicate with each other
F
What do you call the area between switches?
switch fabric
As a frame moves from switch to switch within the switch fabric, what must each switch be able to identify?
The destination VLAN
How is the destination VLAN for a frame determined?
The VLAN ID of destination is appended to the frame by 1st switch in path, removed by last switch - this is called frame tagging/coloring
What is the disadvantage of VLANs?
Might be tied to a specific vendor
What are the advantages of VLANs?
Switches are: - cheaper - easier to administrate - higher performance than routers
If switches are so dandy, why do we still need routers?
- filter WAN traffic
- route traffic between seperate networks
- route packets between VLANs
What is Trunking?
connecting 2 switches together - required for VLANs spanning multiple switches
What do trunk ports identify?
Which ports are connected to other switches
T/F: Trunk ports are automatically members of the most recently created VLAN on the switch.
F: Trunk ports are automatically members of ALL VLANs on the switch.