logging in or signing up wk 12 -- Multimedia Systems vinothrethnam Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 159 Category: Education License: Some Rights Reserved Like it (0) Dislike it (0) Added: October 10, 2010 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Multimedia Systems : CS502 Spring 2006 Multimedia Systems CS-502 Operating Systems Outline : CS502 Spring 2006 Outline Requirements and challenges for audio and video in computer systems Systems for multimedia Compression and bandwidth Processor scheduling File, disk, and network management Tanenbaum, Chapter 7Silbershatz, Chapter 20 What do we mean by “multimedia” : CS502 Spring 2006 What do we mean by “multimedia” Audio and video within a computer system CD’s & DVD’s Computer hard drive Live broadcast & web casts Webcams, Skype, … Video on demand Pause, fast forward, reverse, etc. Interactive meetings Presentations with 2-way audio Teleconferencing Interactive gaming … Requirements : CS502 Spring 2006 Requirements “Smooth” audio and video Deterioration in quality >> jerky playback Note: human is more sensitive to jitter in audio than to jitter in video! Audio/video on PC’s doing something else Multiple concurrent streams Video & multimedia servers TiVo, etc. Wide range of network bandwidths System and OS Challenges : CS502 Spring 2006 System and OS Challenges Bandwidths and Compression Jitter Processor Scheduling Disk Scheduling Network Streaming Some System Architectures : CS502 Spring 2006 Some System Architectures Simple: Data paths for audio/video that are separate from computational data paths Modern Fast system bus, CPU, devices Video server Disk farm and multiple streams System Organization (simple) : CS502 Spring 2006 audio stream System Organization (simple) Separate data path for audio stream Main system bus and CPU were too busy/slow to handle real-time audio CPU memory bus System Organization (typical Pentium) : CS502 Spring 2006 video stream viaISA & bridge tographics card audio stream viaISA bridge to sound card System Organization (typical Pentium) ISA bridge IDE disk Main Memory CPU Level 2 cache Bridge Moni-tor Graphics card PCI bus ISA bus AGP Port Video Server : CS502 Spring 2006 Video Server Multiple CPUs Disk farm 1000s of disks Multiple high-bandwidth network links Cable TV Video on demand Internet Why Compression? – CD-quality audio : CS502 Spring 2006 Why Compression? – CD-quality audio 22,050 Hz 44,100 samples/sec 16 bits per sample Two channels 176,000 bytes/sec 1.4 mbits/sec Okay for a modern PC Not okay for 56 kb/sec modem (speed) or iPod (space)! MP-3 0.14 mbits/sec (10:1) Same audio quality! Compression ratio varies with type of music Why Compression? – Video : CS502 Spring 2006 Why Compression? – Video “Standard” TV frame = 640 480 pixels @ 25-30 frames/sec (fps) 9,216,000 pixels/sec = 27,648,000 bytes/sec HDTV = 1280 720 pixels @ 30 fps 82,944,000 bytes/sec Typical movie 133 minutes approx. 220 gigabytes! DVD holds ~ 4.7 gigabytes average of ~ 620 kilobytes/sec! “Standard” movie of 133 minutes requires serious compression just to fit onto DVD Video Compression Requirements : CS502 Spring 2006 Video Compression Requirements Compression ratio > 50:1 i.e., 220 gigabytes:4.7 gigabytes Visually indistinguishable from original Even when paused Fast, cheap decoder Slow encoder is okay VCR controls Pause, fast forward, reverse Video Compression Standards : CS502 Spring 2006 Video Compression Standards MPEG (Motion Picture Experts Group) Based on JPEG (Joint Photographic Experts Group) Multi-layer Layer 1 = system and timing information Layer 2 = video stream Layer 3 = audio and text streams Three standards MPEG-1 – 352240 frames; < 1.5 mb/sec ( < VHS quality) Layer 3 = MP3 Audio standard MPEG-2 – standard TV & HDTV; 1.5-15 mb/sec DVD encoding MPEG-4 – combined audio, video, graphics 2D & 3D animations JPEG compression (single frame) : CS502 Spring 2006 JPEG compression (single frame) Convert RGB into YIQ Y = luminance (i.e., brightness) ~ black-white TV I, Q = chrominance (similar to saturation and hue) Reason: Human eye is more sensitive to luminance than to color (rods vs. cones) Down-sample I, Q channels i.e., average over 22 pixels to reduce resolution lossy compression, but barely noticeable to eye Partition each channel into 88 blocks 4800 Y blocks, 1200 each I & Q blocks JPEG (continued) : CS502 Spring 2006 JPEG (continued) JPEG (continued) : CS502 Spring 2006 JPEG (continued) JPEG (continued) : CS502 Spring 2006 JPEG (continued) Calculate Discrete Cosine Transform (DCT) of each 88 block What is a Discrete Cosine Transform? Divide 88 block of DCT values by 88 quantization table Effectively throwing away higher frequencies Linearize 88 block, run-length encode, and apply a Huffman code to reduce to a small fraction of original size (in bytes) JPEG (concluded) : CS502 Spring 2006 JPEG (concluded) Store or transmit 88 quantization table followed by list of compressed blocks Achieves 20:1 compression with good visual characteristics Higher compression ratios possible with visible degradation JPEG algorithm executed backwards to recover image Visually indistinguishable from original @ 20:1 JPEG algorithm is symmetric Same speed forwards and backwards MPEG : CS502 Spring 2006 MPEG JPEG-like encoding of each frame Takes advantage of temporal locality I.e., each frame usually shares similarities with previous frame encode and transmit only differences Sometimes an object moves relative to background find object in previous frame, calculate difference, apply motion vector Temporal Locality (example) : CS502 Spring 2006 Temporal Locality (example) Consecutive Video Frames MPEG organization : CS502 Spring 2006 MPEG organization Three types of frames I-frame: Intracoded or Independent. Full JPEG-encoded frame Occurs at intervals of a second or so Also at start of every scene P-frame: Predictive frame Difference from previous frame B-frame: Bidirectional frame Like p-frame but difference from both previous and next frame I B B B P MPEG Characteristics : CS502 Spring 2006 MPEG Characteristics Non-uniform data rate! Compression ratios of 50:1 – 80:1 are readily obtainable Asymmetric algorithm Fast decode (like JPEG) Encode requires image search and analysis to get high quality differences Decoding chips on graphics cards available MPEG Problem – Fast Forward/Reverse : CS502 Spring 2006 MPEG Problem – Fast Forward/Reverse Cannot simply skip frames Next desired frame might be B or P derived from a skipped frame Options: Separate fast forward and fast reverse files MPEG encoding of every nth frame See Tanenbaum §7.5.1 – video-on-demand server Display only I and P frames If B frame is needed, derive from nearest I or P “Movie” File Organization : CS502 Spring 2006 “Movie” File Organization One MPEG-2 video stream Multiple audio streams Multiple languages Multiple text streams Subtitles in multiple languages All interleaved Challenge : CS502 Spring 2006 Challenge How to get the contents of a movie file from disk or DVD drive to video screen and speakers. Fixed frame rate (25 or 30 fps) Steady audio rate Bounded jitter Classical problem in real-time scheduling Obscure niche become mainstream! See Silbershatz, Chapter 19 Processor Scheduling for Real-TimeRate Monotonic Scheduling (RMS) : CS502 Spring 2006 Processor Scheduling for Real-TimeRate Monotonic Scheduling (RMS) Assume m periodic processes Process i requires Ci msec of processing time every Pi msec. Equal processing every interval — like clockwork! Assume Let priority of process i be Let priority of non-real-time processes be 0 Rate Monotonic Scheduling (continued) : CS502 Spring 2006 Rate Monotonic Scheduling (continued) Then using these priorities in scheduler guarantees the needed Quality of Service (QoS), provided that Asymtotically approaches ln 2 as m I.e., must maintain some slack in scheduling Assumes fixed amount of processing per periodic task Not MPEG! Processor Scheduling for Real-TimeEarliest Deadline First (EDF) Scheduling : CS502 Spring 2006 Processor Scheduling for Real-TimeEarliest Deadline First (EDF) Scheduling When each process i become ready, it announces deadline Di for its next task. Scheduler always assigns processor to process with earliest deadline. May pre-empt other real-time processes Earliest Deadline First Scheduling (continued) : CS502 Spring 2006 Earliest Deadline First Scheduling (continued) No assumption of periodicity No assumption of uniform processing times Theorem: If any scheduling policy can satisfy QoS requirement for a sequence of real time tasks, then EDF can also satisfy it. Proof: If i scheduled before i+1, but Di+1 < Di, then i and i+1 can be interchanged without affecting QoS guarantee to either one. Earliest Deadline First Scheduling (continued) : CS502 Spring 2006 Earliest Deadline First Scheduling (continued) EDF is more complex scheduling algorithm Priorities are dynamically calculated Processes must know deadlines for tasks EDF can make higher use of processor than RMS Up to 100% However, it is usually a good idea to build in some slack Multimedia File & Disk Management : CS502 Spring 2006 Multimedia File & Disk Management Single movie or multimedia file on PC disk Interleave audio, video, etc. So temporally equivalent blocks are near each other Attempt contiguous allocation Avoid seeks within a frame TextFrame AudioFrame File organization – Frame vs. Block : CS502 Spring 2006 File organization – Frame vs. Block Frame organization Small disk blocks (4-16 Kbytes) Frame index entries point to starting block for each frame Frames vary in size (MPEG) Advantage: very little storage fragmentation Disadvantage: large frame table in RAM Block organization Large disk block (256 Kbytes) Block index entries point to first I-frame of a sequence Multiple frames per block Advantage: much smaller block table in RAM Disadvantage: large storage fragmentation on disk Frame vs. Block organization : CS502 Spring 2006 Frame vs. Block organization smaller larger File Placement on Server : CS502 Spring 2006 File Placement on Server Random Striped “Organ pipe” allocation Most popular video in center of disk Next most popular on either side of it Etc. Least popular at edges of disk Minimizes seek distance Disk Scheduling (server) : CS502 Spring 2006 Disk Scheduling (server) Scheduling disk activity is just as important as scheduling processor activity Advantage:– Predictability Unlike disk activity of ordinary computing In server, there will be multiple disk requests in each frame interval One request per frame for each concurrent video stream Disk Scheduling (continued) : CS502 Spring 2006 Disk Scheduling (continued) SCAN (Elevator) algorithm for each frame interval Sort by cylinder # Complete in time for start of next frame interval Variation – SCAN–EDF: Sort requests by deadline Group similar deadlines together, apply SCAN to group Particularly useful for non-uniform block sizes and frame intervals Network Streaming : CS502 Spring 2006 Network Streaming Traditional HTTP Stateless Server responds to each request independently Real-Time Streaming Protocol (RTSP) Client initiates a “push” request for stream Server provides media stream at frame rate Push vs. Pull server : CS502 Spring 2006 Push vs. Pull server Bandwidth Negotiation : CS502 Spring 2006 Bandwidth Negotiation Client (or application) provides feedback to server to adjust bandwidth E.g., Windows Media Player RealPlayer Quicktime Conclusion : CS502 Spring 2006 Conclusion Multimedia computing is challenging Possible with modern computers Compression is essential, especially for video Real-time computing techniques move into mainstream Processor and disk scheduling There is much more to this subject than fits into one class Break : CS502 Spring 2006 Break Digression on Transforms : CS502 Spring 2006 Digression on Transforms Fourier’s theorem:– Every continuous periodic function can be reduced to the sum of a series of sine waves The Fourier transform is a representation of that function in terms of the frequencies of those sine waves Original function can be recovered from its Fourier transform Fourier transforms occur frequently in nature! Nyquist’s Theorem (1924) : CS502 Spring 2006 Nyquist’s Theorem (1924) If a continuous function is sampled at a frequency 2f, then the function can be recovered from those samples provided that its maximum Fourier frequency is f. Discrete Cosine Transform : CS502 Spring 2006 Discrete Cosine Transform A form of the Fourier Transform When applied to an 88 block of samples (i.e. pixel values) yields an 88 block of spatial frequencies Original 88 block of samples can be recovered from its DCT. Assuming infinite arithmetic precision More on Nyquist : CS502 Spring 2006 More on Nyquist If arithmetic precision is not infinite, we get quantization error during sampling Recovered signal has quantization noise i.e., a lossy transform Return to JPEG : CS502 Spring 2006 Return to JPEG You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
wk 12 -- Multimedia Systems vinothrethnam Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 159 Category: Education License: Some Rights Reserved Like it (0) Dislike it (0) Added: October 10, 2010 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Multimedia Systems : CS502 Spring 2006 Multimedia Systems CS-502 Operating Systems Outline : CS502 Spring 2006 Outline Requirements and challenges for audio and video in computer systems Systems for multimedia Compression and bandwidth Processor scheduling File, disk, and network management Tanenbaum, Chapter 7Silbershatz, Chapter 20 What do we mean by “multimedia” : CS502 Spring 2006 What do we mean by “multimedia” Audio and video within a computer system CD’s & DVD’s Computer hard drive Live broadcast & web casts Webcams, Skype, … Video on demand Pause, fast forward, reverse, etc. Interactive meetings Presentations with 2-way audio Teleconferencing Interactive gaming … Requirements : CS502 Spring 2006 Requirements “Smooth” audio and video Deterioration in quality >> jerky playback Note: human is more sensitive to jitter in audio than to jitter in video! Audio/video on PC’s doing something else Multiple concurrent streams Video & multimedia servers TiVo, etc. Wide range of network bandwidths System and OS Challenges : CS502 Spring 2006 System and OS Challenges Bandwidths and Compression Jitter Processor Scheduling Disk Scheduling Network Streaming Some System Architectures : CS502 Spring 2006 Some System Architectures Simple: Data paths for audio/video that are separate from computational data paths Modern Fast system bus, CPU, devices Video server Disk farm and multiple streams System Organization (simple) : CS502 Spring 2006 audio stream System Organization (simple) Separate data path for audio stream Main system bus and CPU were too busy/slow to handle real-time audio CPU memory bus System Organization (typical Pentium) : CS502 Spring 2006 video stream viaISA & bridge tographics card audio stream viaISA bridge to sound card System Organization (typical Pentium) ISA bridge IDE disk Main Memory CPU Level 2 cache Bridge Moni-tor Graphics card PCI bus ISA bus AGP Port Video Server : CS502 Spring 2006 Video Server Multiple CPUs Disk farm 1000s of disks Multiple high-bandwidth network links Cable TV Video on demand Internet Why Compression? – CD-quality audio : CS502 Spring 2006 Why Compression? – CD-quality audio 22,050 Hz 44,100 samples/sec 16 bits per sample Two channels 176,000 bytes/sec 1.4 mbits/sec Okay for a modern PC Not okay for 56 kb/sec modem (speed) or iPod (space)! MP-3 0.14 mbits/sec (10:1) Same audio quality! Compression ratio varies with type of music Why Compression? – Video : CS502 Spring 2006 Why Compression? – Video “Standard” TV frame = 640 480 pixels @ 25-30 frames/sec (fps) 9,216,000 pixels/sec = 27,648,000 bytes/sec HDTV = 1280 720 pixels @ 30 fps 82,944,000 bytes/sec Typical movie 133 minutes approx. 220 gigabytes! DVD holds ~ 4.7 gigabytes average of ~ 620 kilobytes/sec! “Standard” movie of 133 minutes requires serious compression just to fit onto DVD Video Compression Requirements : CS502 Spring 2006 Video Compression Requirements Compression ratio > 50:1 i.e., 220 gigabytes:4.7 gigabytes Visually indistinguishable from original Even when paused Fast, cheap decoder Slow encoder is okay VCR controls Pause, fast forward, reverse Video Compression Standards : CS502 Spring 2006 Video Compression Standards MPEG (Motion Picture Experts Group) Based on JPEG (Joint Photographic Experts Group) Multi-layer Layer 1 = system and timing information Layer 2 = video stream Layer 3 = audio and text streams Three standards MPEG-1 – 352240 frames; < 1.5 mb/sec ( < VHS quality) Layer 3 = MP3 Audio standard MPEG-2 – standard TV & HDTV; 1.5-15 mb/sec DVD encoding MPEG-4 – combined audio, video, graphics 2D & 3D animations JPEG compression (single frame) : CS502 Spring 2006 JPEG compression (single frame) Convert RGB into YIQ Y = luminance (i.e., brightness) ~ black-white TV I, Q = chrominance (similar to saturation and hue) Reason: Human eye is more sensitive to luminance than to color (rods vs. cones) Down-sample I, Q channels i.e., average over 22 pixels to reduce resolution lossy compression, but barely noticeable to eye Partition each channel into 88 blocks 4800 Y blocks, 1200 each I & Q blocks JPEG (continued) : CS502 Spring 2006 JPEG (continued) JPEG (continued) : CS502 Spring 2006 JPEG (continued) JPEG (continued) : CS502 Spring 2006 JPEG (continued) Calculate Discrete Cosine Transform (DCT) of each 88 block What is a Discrete Cosine Transform? Divide 88 block of DCT values by 88 quantization table Effectively throwing away higher frequencies Linearize 88 block, run-length encode, and apply a Huffman code to reduce to a small fraction of original size (in bytes) JPEG (concluded) : CS502 Spring 2006 JPEG (concluded) Store or transmit 88 quantization table followed by list of compressed blocks Achieves 20:1 compression with good visual characteristics Higher compression ratios possible with visible degradation JPEG algorithm executed backwards to recover image Visually indistinguishable from original @ 20:1 JPEG algorithm is symmetric Same speed forwards and backwards MPEG : CS502 Spring 2006 MPEG JPEG-like encoding of each frame Takes advantage of temporal locality I.e., each frame usually shares similarities with previous frame encode and transmit only differences Sometimes an object moves relative to background find object in previous frame, calculate difference, apply motion vector Temporal Locality (example) : CS502 Spring 2006 Temporal Locality (example) Consecutive Video Frames MPEG organization : CS502 Spring 2006 MPEG organization Three types of frames I-frame: Intracoded or Independent. Full JPEG-encoded frame Occurs at intervals of a second or so Also at start of every scene P-frame: Predictive frame Difference from previous frame B-frame: Bidirectional frame Like p-frame but difference from both previous and next frame I B B B P MPEG Characteristics : CS502 Spring 2006 MPEG Characteristics Non-uniform data rate! Compression ratios of 50:1 – 80:1 are readily obtainable Asymmetric algorithm Fast decode (like JPEG) Encode requires image search and analysis to get high quality differences Decoding chips on graphics cards available MPEG Problem – Fast Forward/Reverse : CS502 Spring 2006 MPEG Problem – Fast Forward/Reverse Cannot simply skip frames Next desired frame might be B or P derived from a skipped frame Options: Separate fast forward and fast reverse files MPEG encoding of every nth frame See Tanenbaum §7.5.1 – video-on-demand server Display only I and P frames If B frame is needed, derive from nearest I or P “Movie” File Organization : CS502 Spring 2006 “Movie” File Organization One MPEG-2 video stream Multiple audio streams Multiple languages Multiple text streams Subtitles in multiple languages All interleaved Challenge : CS502 Spring 2006 Challenge How to get the contents of a movie file from disk or DVD drive to video screen and speakers. Fixed frame rate (25 or 30 fps) Steady audio rate Bounded jitter Classical problem in real-time scheduling Obscure niche become mainstream! See Silbershatz, Chapter 19 Processor Scheduling for Real-TimeRate Monotonic Scheduling (RMS) : CS502 Spring 2006 Processor Scheduling for Real-TimeRate Monotonic Scheduling (RMS) Assume m periodic processes Process i requires Ci msec of processing time every Pi msec. Equal processing every interval — like clockwork! Assume Let priority of process i be Let priority of non-real-time processes be 0 Rate Monotonic Scheduling (continued) : CS502 Spring 2006 Rate Monotonic Scheduling (continued) Then using these priorities in scheduler guarantees the needed Quality of Service (QoS), provided that Asymtotically approaches ln 2 as m I.e., must maintain some slack in scheduling Assumes fixed amount of processing per periodic task Not MPEG! Processor Scheduling for Real-TimeEarliest Deadline First (EDF) Scheduling : CS502 Spring 2006 Processor Scheduling for Real-TimeEarliest Deadline First (EDF) Scheduling When each process i become ready, it announces deadline Di for its next task. Scheduler always assigns processor to process with earliest deadline. May pre-empt other real-time processes Earliest Deadline First Scheduling (continued) : CS502 Spring 2006 Earliest Deadline First Scheduling (continued) No assumption of periodicity No assumption of uniform processing times Theorem: If any scheduling policy can satisfy QoS requirement for a sequence of real time tasks, then EDF can also satisfy it. Proof: If i scheduled before i+1, but Di+1 < Di, then i and i+1 can be interchanged without affecting QoS guarantee to either one. Earliest Deadline First Scheduling (continued) : CS502 Spring 2006 Earliest Deadline First Scheduling (continued) EDF is more complex scheduling algorithm Priorities are dynamically calculated Processes must know deadlines for tasks EDF can make higher use of processor than RMS Up to 100% However, it is usually a good idea to build in some slack Multimedia File & Disk Management : CS502 Spring 2006 Multimedia File & Disk Management Single movie or multimedia file on PC disk Interleave audio, video, etc. So temporally equivalent blocks are near each other Attempt contiguous allocation Avoid seeks within a frame TextFrame AudioFrame File organization – Frame vs. Block : CS502 Spring 2006 File organization – Frame vs. Block Frame organization Small disk blocks (4-16 Kbytes) Frame index entries point to starting block for each frame Frames vary in size (MPEG) Advantage: very little storage fragmentation Disadvantage: large frame table in RAM Block organization Large disk block (256 Kbytes) Block index entries point to first I-frame of a sequence Multiple frames per block Advantage: much smaller block table in RAM Disadvantage: large storage fragmentation on disk Frame vs. Block organization : CS502 Spring 2006 Frame vs. Block organization smaller larger File Placement on Server : CS502 Spring 2006 File Placement on Server Random Striped “Organ pipe” allocation Most popular video in center of disk Next most popular on either side of it Etc. Least popular at edges of disk Minimizes seek distance Disk Scheduling (server) : CS502 Spring 2006 Disk Scheduling (server) Scheduling disk activity is just as important as scheduling processor activity Advantage:– Predictability Unlike disk activity of ordinary computing In server, there will be multiple disk requests in each frame interval One request per frame for each concurrent video stream Disk Scheduling (continued) : CS502 Spring 2006 Disk Scheduling (continued) SCAN (Elevator) algorithm for each frame interval Sort by cylinder # Complete in time for start of next frame interval Variation – SCAN–EDF: Sort requests by deadline Group similar deadlines together, apply SCAN to group Particularly useful for non-uniform block sizes and frame intervals Network Streaming : CS502 Spring 2006 Network Streaming Traditional HTTP Stateless Server responds to each request independently Real-Time Streaming Protocol (RTSP) Client initiates a “push” request for stream Server provides media stream at frame rate Push vs. Pull server : CS502 Spring 2006 Push vs. Pull server Bandwidth Negotiation : CS502 Spring 2006 Bandwidth Negotiation Client (or application) provides feedback to server to adjust bandwidth E.g., Windows Media Player RealPlayer Quicktime Conclusion : CS502 Spring 2006 Conclusion Multimedia computing is challenging Possible with modern computers Compression is essential, especially for video Real-time computing techniques move into mainstream Processor and disk scheduling There is much more to this subject than fits into one class Break : CS502 Spring 2006 Break Digression on Transforms : CS502 Spring 2006 Digression on Transforms Fourier’s theorem:– Every continuous periodic function can be reduced to the sum of a series of sine waves The Fourier transform is a representation of that function in terms of the frequencies of those sine waves Original function can be recovered from its Fourier transform Fourier transforms occur frequently in nature! Nyquist’s Theorem (1924) : CS502 Spring 2006 Nyquist’s Theorem (1924) If a continuous function is sampled at a frequency 2f, then the function can be recovered from those samples provided that its maximum Fourier frequency is f. Discrete Cosine Transform : CS502 Spring 2006 Discrete Cosine Transform A form of the Fourier Transform When applied to an 88 block of samples (i.e. pixel values) yields an 88 block of spatial frequencies Original 88 block of samples can be recovered from its DCT. Assuming infinite arithmetic precision More on Nyquist : CS502 Spring 2006 More on Nyquist If arithmetic precision is not infinite, we get quantization error during sampling Recovered signal has quantization noise i.e., a lossy transform Return to JPEG : CS502 Spring 2006 Return to JPEG