This authoritative guide is the first to provide a complete system design perspective based on existing international standards and state-of-the-art networking and infrastructure technologies, from theoretical analyses to practical design considerations. The four most critical components involved in a multimedia networking system - data compression, quality of service (QoS), communication protocols, and effective digital rights management - are intensively addressed. Many real-world commercial systems and prototypes are also introduced, as are software samples and integration examples, allowing readers to understand practical tradeoffs in the design of multimedia architectures, and get hands-on experience learning the methodologies and procedures. Balancing just the right amount of theory with practical design and integration knowledge, this book is ideal for graduate students and researchers in electrical engineering and computer science, and also for practitioners in the communications and networking industry. It can also be used as a textbook for specialized graduate-level courses on multimedia networking. Cover......Page 1 Half-title......Page 3 Title......Page 5 Copyright......Page 6 Dedication......Page 7 Contents......Page 9 Preface......Page 13 Acknowledgements......Page 14 Abbreviations......Page 15 1.1 Paradigm shift of digital media delivery......Page 23 1.2 Telematics: infotainment in automobiles......Page 27 1.3 Major components of multimedia networking......Page 29 References......Page 31 2 Digital speech coding......Page 33 2.1 LPC modeling and vocoder......Page 35 2.2 Regular pulse excitation with long-term prediction......Page 38 2.3 Code-excited linear prediction (CELP)......Page 40 2.4 Multiple-pulse-excitation coding......Page 43 References......Page 46 3 Digital audio coding......Page 48 3.1.1 Hearing sensitivity......Page 50 3.1.3 Temporal masking......Page 53 3.2 Subband signal processing and polyphase filter implementation......Page 55 3.3 MPEG-1 audio layers......Page 59 3.3.1 Polyphase implementation of MPEG-1 filter bank......Page 60 3.3.2 MPEG-1 audio psychoacoustics......Page 61 3.3.3 Layer-3 audio bit allocations......Page 62 3.4 Dolby AC3 audio codec......Page 67 3.4.1 Bit allocation in AC3......Page 68 3.4.3 Spectral envelope......Page 70 3.5 MPEG-2 Advanced Audio Coding (AAC)......Page 71 3.6.1 Spectral band replication (SBR)......Page 76 3.6.2 Mpeg-4 He-Aac V2......Page 79 References......Page 82 4 Digital image coding......Page 84 4.1 Basics of information theory for image compression......Page 85 4.2 Entropy coding......Page 86 4.2.1 Huffman coding......Page 87 4.2.2 Arithmetic coding......Page 89 4.2.4 Run-length coding (RLC)......Page 90 4.3 Lossy image compression......Page 91 4.4 Joint Photographic Experts Group (JPEG)......Page 93 4.4.1 Source image data preparation: chroma subsampling......Page 95 4.4.2 Block-based discrete cosine transform......Page 96 4.4.3 Quantization of DCT coefficients......Page 98 4.4.4 DC coding and zigzag sequence......Page 99 4.4.5 Entropy coding......Page 100 4.4.6 Header information and JPEG decoding......Page 101 4.4.8 JPEG progressive mode......Page 102 4.4.9 JPEG hierarchical mode......Page 103 4.4.10 JPEG lossless mode......Page 104 4.4.11 JPEG codestream......Page 105 4.5 JPEG2000......Page 106 4.5.1 Technical overview of JPEG2000......Page 107 4.5.1.1 Preprocessing......Page 108 4.5.1.2 Discrete wavelet transform and quantization......Page 109 4.5.1.3 Codeblock and precinct partition......Page 113 4.5.1.4 Bitstream organization......Page 116 4.5.1.5 Bitstream progression......Page 119 4.5.2 JPEG2000 for Digital Cinema Initiatives......Page 122 4.5.3 New parts of JPEG2000......Page 123 4.5.3.2 JPSEC-JPEG2000 Part 8: Secure JPEG2000......Page 124 4.5.3.4 JPWL-JPEG2000 Part 11: Wireless......Page 126 References......Page 127 5 Digital video coding......Page 129 5.1 Evolution of digital video coding......Page 130 5.2 Compression techniques for digital video coding......Page 134 5.2.1 Simple techniques......Page 135 5.2.4 Predictive coding and motion estimation......Page 136 5.2.4.1 Rectangular-pattern fast block search......Page 139 5.2.4.2 Non-rectangular-pattern fast block search......Page 142 5.2.5 Transform domain coding......Page 143 5.2.6 Rate control in video coding......Page 144 5.3.1 The ITU-T H.263 standard......Page 147 5.3.1.1 Video frame structure......Page 148 5.3.1.2 Motion estimation and compensation......Page 149 5.3.1.5 Entropy coding......Page 150 5.3.2 The ITU-T H.263+standard......Page 151 5.3.3 Rate control in H.263+......Page 152 5.4.1.1 Picture organization in MPEG-1 video......Page 153 5.4.1.2 Coding of MPEG-1 I-P-B frames......Page 154 5.4.1.3 Conditional replenishment in MPEG-1 video......Page 156 5.4.2 MPEG-2 video coding......Page 157 5.4.2.1 MPEG-2 non-scalable coding modes......Page 160 5.4.2.2 MPEG-2 scalable coding modes......Page 162 5.5 MPEG-4 video coding and H.264/AVC......Page 166 5.5.1 Object-based video coding......Page 167 5.5.2 Coding of VOPs......Page 170 5.5.4 VOP texture coding......Page 172 5.5.5 Motion-compensated coding......Page 174 5.6 H.264/MPEG-4 AVC......Page 175 5.6.1.1 Spatial intra-picture prediction......Page 177 5.6.1.2 Variable-block-size motion compensation and rate–distortion optimization......Page 179 5.6.1.3 Multi-frame motion compensation......Page 180 5.6.2 Transform, scaling, and quantization......Page 181 5.6.3 In-loop deblocking filter......Page 182 5.6.5 Profiles and levels......Page 183 5.7.1.1 Adaptive block-size transform......Page 187 5.7.1.3 Motion compensation......Page 189 5.7.1.4 Quantization and dequantization......Page 190 5.7.1.7 Interlace coding......Page 191 5.7.1.8 Advanced B-frame coding......Page 192 5.7.1.11 Fading compensation......Page 193 5.8 Scalable extension of H.264/AVC by HHI......Page 194 5.8.1 Coding structure of H.264/SVC......Page 196 5.8.2 Hierarchical prediction structure......Page 197 5.8.3.3 Interlayer intra prediction......Page 198 5.8.4 Fidelity quality scalability......Page 199 References......Page 200 6 Digital multimedia broadcasting......Page 203 6.1 Moving from DVB-T to DVB-H......Page 205 6.1.2 MPE-FEC in DVB-H......Page 210 6.2 T-DMB multimedia broadcasting for portable devices......Page 211 6.2.1 MPEG-4 BSAC audio coding in T-DMB......Page 212 6.2.2 System specification of T-DMB......Page 214 6.3 ATSC for North America terrestrial video broadcasting......Page 215 6.3.2 Service multiplex and transport in ATSC......Page 216 6.3.4 Data services and interactivity in ATSC......Page 218 6.4 ISDB digital broadcasting in Japan......Page 220 References......Page 221 7.1.1 Application layer......Page 224 7.1.2 Transport layer......Page 225 7.1.3 Network layer......Page 227 7.1.4 Data-link layer......Page 231 7.2.1 Delay or latency......Page 232 7.2.2 Delay variation (delay jitter)......Page 233 7.2.4 Packet loss or error rate......Page 234 7.3.1.1 Data-link layer classification......Page 235 7.3.1.2 Network-layer classification......Page 236 7.3.2 Packet traffic management......Page 237 7.3.2.1 Queuing management......Page 238 7.3.2.2 Congestion avoidance......Page 240 7.3.2.3 Traffic shaping......Page 241 7.3.3 Network resource management......Page 244 7.3.3.1 Integrated services (IntServ)......Page 245 7.3.3.2 Differentiated services (DiffServ)......Page 246 7.4 IP multicast and application-level multicast (ALM)......Page 248 7.4.1 IP multicast......Page 249 7.4.1.1 Internet group management protocol (IGMP)......Page 251 7.4.1.2 Multicast routing protocols......Page 254 7.4.2 Application-level multicast......Page 256 7.4.2.1 Content delivery networks (CDNs)......Page 258 7.4.2.2 Peer-to-peer (P2P) systems......Page 260 7.5 Layered multicast of scalable media......Page 267 7.5.1 Receiver-driven layered multicast (RLM)......Page 270 7.5.2 Receiver-driven layered congestion control (RLC)......Page 271 7.5.3 Packet-pair layered multicast (PLM)......Page 272 7.5.4 Bandwidth inference congestion control (BIC) layered multicast......Page 273 References......Page 276 8 Quality of service issues in streaming architectures......Page 279 8.1 QoS mechanisms for multimedia streaming......Page 281 8.1.2 Application-layer QoS control......Page 284 8.1.2.1 TCP-friendly congestion control......Page 285 8.1.2.2 Congestion control by rate shaping (transcoding)......Page 286 8.1.2.3 Error control......Page 288 8.1.3.1 Network filtering......Page 291 8.1.3.2 Application-level multicast......Page 292 8.1.4 Streaming servers......Page 293 8.1.4.1 Real-time operating system......Page 294 8.1.4.2 Storage system for streaming systems......Page 295 8.1.5.1 Timestamping......Page 296 8.1.6 Protocols for multimedia streaming......Page 297 8.1.6.1 Transport protocols......Page 298 8.1.6.2 Real-time streaming protocol (RTSP)......Page 300 8.1.6.3 Session initiation protocol (SIP)......Page 301 8.2.1.1 Fast start......Page 303 8.2.2 Dynamic content delivery......Page 304 8.3 SureStream streaming technology by RealNetworks......Page 305 8.3.1 Adaptive stream management (ASM) protocol......Page 306 8.3.2 The structure of the RealVideo 8 algorithm......Page 307 8.3.3.3 Rate control......Page 308 8.4 Internet protocol TV (IPTV)......Page 309 8.4.1 Swisscom IPTV......Page 310 8.4.2 An IPTV reference architecture and functionality modules......Page 312 8.4.2.3 Transport networks......Page 313 8.4.3 ATIS IPTV Interoperability Forum (IIF)......Page 314 8.4.4.1 Requirements for IPTV architectural aspects......Page 315 8.4.4.4 Requirements for network and control aspects......Page 316 8.4.4.6 Requirements for public interest aspects......Page 317 8.4.5 High-level functional components in the IPTV architecture......Page 318 References......Page 319 9 Wireless broadband and quality of service......Page 323 9.1 Evolution of 3G technologies......Page 325 9.1.1 Wideband CDMA-based 3G......Page 327 9.1.2 CDMA2000-based 3G......Page 330 9.1.3 Moving towards 4G wireless......Page 331 9.1.3.1 Ofdm, Ofdma, and Mimo......Page 332 9.1.3.3 Ultra-mobile broadband (UMB) of 3GPP2......Page 335 9.1.3.4 Competition between 4G technologies......Page 336 9.2 Wi-Fi wireless LAN (802.11)......Page 338 9.2.1 Various IEEE 802.11 standards......Page 339 9.2.2 MAC layer of a WLAN......Page 340 9.2.3 Link or rate adaptation of 802.11......Page 345 9.2.3.2 Receiver-based autorate (RBAR)......Page 346 9.2.3.3 MiSer: a minimum-energy transmission strategy......Page 348 9.2.3.4 Adaptive autorate fallback (AARF)......Page 349 9.2.3.5 Link adaptation via effective goodput analysis......Page 350 9.2.4 Performance anomaly due to link adaptation in multirate 802.11......Page 351 9.3 QoS enhancement support of 802.11......Page 352 9.3.1.3 Varying the initial contention-window size......Page 354 9.3.1.5 Distributed fair scheduling......Page 355 9.3.2.1 Hybrid coordination function (HCF) of 802.11e......Page 356 9.3.2.2 Enhanced distributed channel access (EDCA)......Page 357 9.3.2.3 HCF controlled channel access (HCCA)......Page 359 9.3.3 WLAN mesh......Page 361 9.3.3.2 Media access coordination function (MCF)......Page 362 9.4 Worldwide interoperability for microwave access (WiMAX)......Page 364 9.4.1 Protocol architecture of WiMAX......Page 365 9.4.1.1 PHY layer of WiMAX......Page 366 9.4.1.2 MAC Layer of WiMAX......Page 367 9.4.2 QoS differentiation in 802.16d......Page 369 9.4.3 Frame structure of 802.16 OFDMA......Page 370 9.4.4 Bandwidth-request (BW-REQ) mechanisms......Page 372 9.4.5.1 Fair packet scheduling and subchannel allocation in 802.16d......Page 374 9.4.5.2 Joint packet scheduling and subchannel allocation for 802.16e......Page 376 9.4.6 The 802.16j standard: multi-hop relay......Page 380 9.4.7 WiMAX modules for network simulator 2 (ns-2)......Page 381 9.5 Internetworking between 802.16 and 802.11......Page 382 References......Page 384 10 Multimedia over wireless broadband......Page 387 10.1 End-to-end transport error control......Page 388 10.1.1.1 Classification via inter-arrival gap......Page 389 10.1.1.2 Classification via spike-train analysis......Page 391 10.1.1.3 Classification via Zigzag scheme......Page 392 10.1.1.4 Classification via delay-trend index......Page 393 10.1.2 Forward error correction (FEC) via block erasure codes......Page 394 10.1.3 Wireless channel model......Page 397 10.1.4 From channel model (p , q) to FEC (n , k )......Page 398 10.2.1 The H.264 network abstraction layer for network adaptation......Page 399 10.2.2 Power control with rate-distortion optimization......Page 400 10.3 Multimedia over wireless mesh......Page 402 10.3.1 Capacity problems with wireless mesh......Page 403 10.3.2 Routing in wireless mesh......Page 404 10.3.3 Handoff in wireless mesh......Page 405 10.3.4 SIP-based VoIP over wireless mesh......Page 406 10.4.1 End-to-end WLAN-based VoIP system......Page 407 10.4.1.1 Bandwidth inference via embedded probing......Page 408 10.4.1.2 Performance improvement......Page 410 10.4.1.3 Extension to FEC-based scalable video over WLAN......Page 411 10.4.2.2 Multicast of scalable IPTV in WiMAX......Page 414 10.4.2.3 Two-level superposition coded multicast......Page 415 10.4.3 Cross-layer congestion control for video over WLAN......Page 416 10.4.3.1 Why airtime fairness?......Page 417 10.4.3.2 Controlling airtime......Page 418 10.4.3.3 Distributed cross-layer congestion control......Page 420 10.4.4 Cross-layer scalable video over WiMAX......Page 422 10.4.4.1 The controls in the streaming server......Page 423 10.4.4.2 The controls in the base station......Page 425 10.4.5 Scalable video multicast over WiMAX......Page 426 References......Page 427 11 Digital rights management of multimedia......Page 432 11.1 A generic DRM architecture......Page 433 11.1.1 DRM content server......Page 434 11.1.4 Separating content from license......Page 435 11.2 Encryption......Page 436 11.2.1 Secret key cryptography (SKC)......Page 437 11.2.1.1 DES encryption/decryption algorithm......Page 438 11.2.1.2 Triple DES......Page 443 11.2.1.3 Advanced encryption standard......Page 445 11.2.2.1 The RSA public key cryptography......Page 453 11.2.2.2 PKC for encryption and authentication......Page 454 11.2.2.3 Public key infrastructure (PKI)......Page 458 11.3 Digital watermarking......Page 459 11.3.1 Watermarking applications......Page 460 11.3.2 Components of digital watermarking......Page 461 11.3.2.1 Watermark embedding......Page 463 11.3.2.2 Watermark attacks......Page 465 11.3.2.3 Watermark detection......Page 466 11.4 MPEG-21......Page 467 11.4.1 Digital item declaration......Page 469 11.4.2 Digital item identification......Page 472 11.4.3 Intellectual property management and protection (IPMP)......Page 474 11.4.3.1 MPEG-21 rights expression language......Page 475 11.4.3.2 MPEG-21 rights data dictionary......Page 477 11.4.4 Digital item adaptation(DIA)......Page 479 11.4.5.1 Structure of DIP information......Page 483 11.4.5.2 Types of DIP information......Page 484 References......Page 487 12.1.1 Introducing the graphical user interface (GUI)......Page 489 12.1.2.1 Speech codecs......Page 490 12.1.2.2 Audio codecs......Page 494 MPEG layer 3......Page 498 MPEG-4 AAC......Page 500 12.2 Image and video compression module......Page 501 12.2.1 Introducing the graphical user interface (GUI)......Page 502 12.2.2.1 Image codecs......Page 503 12.2.2.2 Video codecs......Page 505 12.2.3.1 Image coding......Page 507 12.2.3.2 Video coding......Page 509 12.2.3.3 Connect to camera......Page 510 12.3 IP networking module......Page 512 12.3.1 Introducing the GUI......Page 513 12.3.2 Quick start......Page 514 12.3.3.1 Send audio by marking Live......Page 517 12.3.3.2 Send audio without marking Live......Page 518 12.4 Audio and video capturing and displaying......Page 519 12.4.1.1 Choosing the project type......Page 520 12.4.1.3 Choosing the interface features......Page 521 12.4.1.5 Generated classes......Page 522 12.4.2.1 Browsing the solution tree......Page 523 12.4.2.3 Browsing the Resource View tab......Page 524 12.4.3 Adding files in the project solution......Page 525 12.4.4 Adding external dependencies......Page 526 12.4.6 Building a solution versus building a project......Page 527 12.4.8 Connecting to the camera to start recording......Page 528 12.4.9 Creating and running the VideoPlayback applications......Page 530 12.4.10 Creating and running the Audio Rec/Playback applications......Page 531 12.5.1.1 Starting a new console project......Page 532 12.5.1.2 Choosing the project options......Page 533 12.5.1.3 Setting project Properties......Page 534 12.5.1.5 Encoding a video file with an MPEG encoder......Page 536 12.5.3 Encoding AAC audio......Page 537 12.5.3.2 Creating the library projects......Page 538 12.6 Building a client-server video streaming system......Page 542 12.6.1.2 Adding SocketThreadProc......Page 543 12.6.1.3 Adding the function to handle commands......Page 544 12.6.1.4 Modifying the video capture class......Page 545 12.6.1.6 Adding a function for encoding video data......Page 546 12.6.2.1 Adding SockThreadProc to the VideoPlayback application......Page 548 12.6.2.2 Adding the OnVideoPacket function......Page 549 12.6.2.3 Adding the PlayVideoFrame function......Page 550 12.6.2.4 Adding the DrawVideoFrame function......Page 551 12.6.3 Building the server and client applications......Page 552 12.7.2 Starting the MCU......Page 554 12.7.3 Building the MCU presence server......Page 555 12.7.4 Logging onto the MCU......Page 556 12.7.6 Multiconference status and canceling a call......Page 557 Index......Page 560