6. Garden Variety Video Coder Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream Video codecs have three main functional blocks Video Compression Review
7. Symbol Encoding Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream The symbol encoder exploits the statistical properties of its input by using shorter code words for more common symbols. Examples: Huffman & Arithmetic Coding Video Compression Review
8. Symbol Encoding Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream This block is the basis for most lossless image coders (in conjunction with DPCM, etc.) Video Compression Review
9. Transform & Quantization Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream A transform (usually DCT) is applied to the input data for better energy compaction which decreases the entropy and improves the performance of the symbol encoder. Video Compression Review
10. Transform & Quantization Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream The DCT also decomposes the input into its frequency components so that perceptual properties can be exploited. For example, we can throw away high frequency content first. Video Compression Review
11. Transform & Quantization Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream Quantization lets us reduce the representation size of each symbol, improving compression but at the expense of added errors. It’s the main tuning knob for controlling data rate. Video Compression Review
12. Transform & Quantization Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream Zig-zag scanning and run-length encoding orders the data into 1-D arrays and replaces long runs of zeros with run-length symbols. Video Compression Review
13. Still Image Compression Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream These two components form the basis for many still image compression algorithms such as JPEG, PhotoCD, M-JPEG and DV. Video Compression Review
14. Motion Estimation/Compensation Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream Finally, because video is a sequence of pictures with high temporal correlation, we add motion estimation/compensation to try to predict as much of the current frame as possible from the previous frame. Video Compression Review
15. Motion Estimation/Compensation Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream Most common method is to predict each block in the current frame by a (possibly translated) block of the previous frame. Video Compression Review
16. Garden Variety Video Coder Motion Estimation & Compensation Transform, Quantization, Zig- Zag Scan & Run- Length Encoding Symbol Encoder Frames of Digital Video Bit Stream These three components form the basis for most of the standard video compression algorithms: MPEG-1, -2, & -4, H.261, H.263, H.263+. Video Compression Review
17.
18. Chronology of Video Standards 1990 1996 2002 1992 1994 1998 2000 H.263L H.263++ H.263+ H.263 H.261 MPEG 7 MPEG 4 MPEG 2 MPEG 1 ISO ITU-T
19.
20.
21.
22.
23.
24.
25.
26.
27.
28. Spatial relation between luma and chroma pels for CIF 4:2:0 Different than MPEG-2 4:2:0 Input Format
29.
30. Picture & Pixel Aspect Ratios Picture 4:3 352 288 Pixel 12:11 Pixels are not square in CIF. Input Format
31. Picture & Pixel Aspect Ratios Hence on a square pixel display such as a computer screen, the video will look slightly compressed horizontally. The solution is to spatially resample the video frames to be 384 x 288 or 352 x 264 This corresponds to a 4:3 aspect ratio for the picture area on a square pixel display. Input Format
32. Blocks and Macroblocks The luma and chroma planes are divided into 8x8 pixel blocks. Every four luma blocks are associated with a corresponding Cb and Cr block to create a macroblock . 8x8 pixel blocks macroblock Y Cb Cr Input Format
43. Bit Stream Syntax Hierarchy of three layers. Picture Layer GOB* Layer MB Layer *A GOB is usually a row of macroblocks, except for frame sizes greater than CIF. Picture Hdr GOB Hdr MB MB ... GOB Hdr ... H.263 Baseline
44.
45.
46.
47.
48. Motion Vectors Over Picture Boundaries Target Frame N Reference Frame N-1 Edge pixels are repeated. H.263 Options
49. Extended MV Range Base motion vector range. Extended motion vector range, [-16,15.5] around MV predictor. H.263 Options 15.5 15.5 -16 -16 -16 -16 15.5 15.5 (31.5,31.5)
80. Slice Structured Mode Slice Boundaries No INTRA or MV Prediction across slice boundaries. H.263+ Slices start and end on macroblock boundaries.
81. Slice Structured Mode Independent Segments Slice Boundaries No INTRA or MV Prediction across slice boundaries. H.263+ Slice sizes remain fixed between INTRA frames.
82.
83.
84. Reference Picture Resampling with Warping Specify arbitrary warping parameters via displacement vectors from corners. H.263+
85. Reference Picture Resampling Factor of 4 Size Change P P P P P No INTRA Frame Required when changing video frame sizes H.263+
91. Temporal Scalability Temporal scalability means that two or more frame rates can be supported by the same bit stream. In other words, frames can be discarded (to lower the frame rate) and the bit stream remains usable. H.263+ I or P B B P ... ...
92.
93. B Frames Picture 1 P or I Frame Picture 2 B Frame Picture 3 P or I Frame V 1/2 -V 1/2 2X frame rate for only 30% more bits H.263+
97. SNR Scalability Base Layer (15 kbit/s) Enhancement Layer (40 kbit/s) H.263+ EI EP EP P P I Legend: I - Intracoded or Key Frame P - Predicted Frame EI - Enhancement layer key frame EP - Enhancement layer predicted frame
103. Hybrid Scalability It is possible to combine temporal, SNR and spatial scalability into a flexible layered framework with many levels of quality. H.263+
104. Hybrid Scalability H.263+ EI EP P B EP P Base Layer Enhancement Layer 1 Enhancement Layer 2 EP EP P EI EI I
105.
106.
107.
108.
109. Outline Section 1: Conferencing Video Section 2: Internet Review Section 3: Internet Video
111. Internet Basics Phone lines are “circuit-switched”. A (virtual) circuit is established at call initiation and remains for the duration of the call. Source Dest. switch switch switch Internet Review
112. Internet Basics Computer networks are “packet-switched”. Data is fragmented into packets, and each packet finds its way to the destination using different routes. Lots of implications... Source Dest. switch switch switch X Internet Review
113. The Internet is heterogeneous [V. Cerf] Corporate LAN INTERNET (Global Public) HyperStream FR, SMDS, ATM TYMNET Host Dial-up IP “ SLIP”, “PPP” IP IP IP “ SMTP” E-mail FR FR FR “ SLIP” “ PPP” X.25 “ SMTP” IP Dial-up E-mail R R R AOL LAN LAN MCI Mail LAN Mail GW
114. Layers in the Internet Protocol Architecture Network Access Layer consists of routines for accessing physical networks 1 Internet Layer defines the datagram and handles the routing of data. 2 Host-to-Host Transport Layer provides end-to-end data delivery services. 3 Application Layer consists of applications and processes that use the network. 4 Internet Review
115. Data Encapsulation Header Header Data Encapsulation Header Data Application Layer Transport Layer Internet Layer Network Access Layer Data Header Data Header Header Data Internet Review
116. Internet Protocol Architecture FDDI Ethernet Token Ring HDLC SMDS X.25 ATM FR TCP UDP SNMP DNS TELNET FTP SMTP MIME . . . . . . Network Access Layer Internet Host-Host Transport Utility/ Application RTP Internet Review MBone VIC/VAT I P
117. Specific Protocols for Multimedia IP UDP RTP Specific Protocols for Multimedia IP TCP UDP RTP Physical Network payload RTP payload UDP RTP payload Data Internet Review Payload header
118.
119.
120.
121.
122.
123.
124.
125.
126.
127. Unicast Example Streaming media to multi-participants S1 D1 S2 D1 D2 S1 sends duplicate packets because there’s two participants: D1, D2.. D2 sees excess traffic on this subnet. Internet Review 1 1 1 1 2 2 2 1 1 1 1
128. Multicast Example Streaming media to multi-participants S1 D1 S2 D1 D2 S1 sends single set of packets to a multicast group. D2 doesn’t see any excess traffic on this subnet. Both D1 receivers subscribe to the same multicast group. Internet Review 1 1 1 2 2 2 1 1
129.
130.
131.
132.
133. Outline Section 1: Conferencing Video Section 2: Internet Review Section 3: Internet Video
146. First Order Loss Model 2-Stage Gilbert Model No Loss Loss 1 - p 1 - q p q Internet Video p = 0.083 q = 0.823
147.
148. Error Resiliency Errors tend to propagate in video compression because of its predictive nature. I or P frame P frame One block is lost. Error propagates to two blocks in the next frame. Internet Video
152. Reference Picture Selection Mode of H.263+ I or P frame P frame P frame Last acknowledged error-free frame. In RPS Mode, a frame is not used for prediction in the encoder until it’s been acknowledged to be error free. No acknowledgment received yet - not used for prediction. Internet Video
153.
154.
155.
156.
157.
158.
159. Prioritized Encoding Demo Internet Video Unprotected Encoding Prioritized Encoding (23% Overhead) Videos used with permission of ICSI, UC Berkeley
160. Error Concealment by Interpolation Lost block Take the weighted average of 4 neighboring pixels. Internet Video d 1 d 2
165. Receiver-driven Layered Multicast S D3 D2 D1 R R Internet Video Multicast groups are not transmitted on networks that have no subscribers. 1 2 3 1 2 3 1 2 1 2 1