Wireless Communication

Similar documents
CMPT 365 Multimedia Systems. Media Compression - Image

Multimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology

Digital Image Representation Image Compression

Features. Sequential encoding. Progressive encoding. Hierarchical encoding. Lossless encoding using a different strategy

7.5 Dictionary-based Coding

Digital Image Processing

Introduction ti to JPEG

Lecture 8 JPEG Compression (Part 3)

Compression II: Images (JPEG)

Lecture 5: Compression I. This Week s Schedule

CS 335 Graphics and Multimedia. Image Compression

Video Compression An Introduction

INF5063: Programming heterogeneous multi-core processors. September 17, 2010

Interframe coding A video scene captured as a sequence of frames can be efficiently coded by estimating and compensating for motion between frames pri

IMAGE COMPRESSION. Image Compression. Why? Reducing transportation times Reducing file size. A two way event - compression and decompression

Lecture 8 JPEG Compression (Part 3)

Robert Matthew Buckley. Nova Southeastern University. Dr. Laszlo. MCIS625 On Line. Module 2 Graphics File Format Essay

2.2: Images and Graphics Digital image representation Image formats and color models JPEG, JPEG2000 Image synthesis and graphics systems

Digital Image Representation. Image Representation. Color Models

Multimedia Signals and Systems Still Image Compression - JPEG

DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS

Fundamentals of Multimedia. Lecture 5 Lossless Data Compression Variable Length Coding

Video coding. Concepts and notations.

06/12/2017. Image compression. Image compression. Image compression. Image compression. Coding redundancy: image 1 has four gray levels

DigiPoints Volume 1. Student Workbook. Module 8 Digital Compression

Digital Video Processing

JPEG: An Image Compression System

Multimedia Communications. Transform Coding

2014 Summer School on MPEG/VCEG Video. Video Coding Concept

JPEG: An Image Compression System. Nimrod Peleg update: Nov. 2003

Lecture 6 Introduction to JPEG compression

JPEG Modes of Operation. Nimrod Peleg Dec. 2005

Chapter 10. Basic Video Compression Techniques Introduction to Video Compression 10.2 Video Compression with Motion Compensation

ECE 417 Guest Lecture Video Compression in MPEG-1/2/4. Min-Hsuan Tsai Apr 02, 2013

JPEG. Wikipedia: Felis_silvestris_silvestris.jpg, Michael Gäbler CC BY 3.0

COMP 249 Advanced Distributed Systems Multimedia Networking. The Video Data Type Coding & Compression Basics

Bi-Level Image Compression

Outline Introduction MPEG-2 MPEG-4. Video Compression. Introduction to MPEG. Prof. Pratikgiri Goswami

Digital Image Processing

IMAGE COMPRESSION. October 7, ICSY Lab, University of Kaiserslautern, Germany

Video Compression Standards (II) A/Prof. Jian Zhang

10.2 Video Compression with Motion Compensation 10.4 H H.263

Image, video and audio coding concepts. Roadmap. Rationale. Stefan Alfredsson. (based on material by Johan Garcia)

Week 14. Video Compression. Ref: Fundamentals of Multimedia

LECTURE VIII: BASIC VIDEO COMPRESSION TECHNIQUE DR. OUIEM BCHIR

Color Imaging Seminar. Yair Moshe

Video Codec Design Developing Image and Video Compression Systems

MULTIMEDIA COMMUNICATION

Using animation to motivate motion

Professor Laurence S. Dooley. School of Computing and Communications Milton Keynes, UK

Computer Faults in JPEG Compression and Decompression Systems

Lecture 6: Compression II. This Week s Schedule

VIDEO SIGNALS. Lossless coding

Chapter 1. Digital Data Representation and Communication. Part 2

CMPT 365 Multimedia Systems. Media Compression - Video

A Image Comparative Study using DCT, Fast Fourier, Wavelet Transforms and Huffman Algorithm

Biomedical signal and image processing (Course ) Lect. 5. Principles of signal and image coding. Classification of coding methods.

( ) ; For N=1: g 1. g n

An introduction to JPEG compression using MATLAB

AN ANALYTICAL STUDY OF LOSSY COMPRESSION TECHINIQUES ON CONTINUOUS TONE GRAPHICAL IMAGES

JPEG Compression. What is JPEG?

COLOR IMAGE COMPRESSION USING DISCRETE COSINUS TRANSFORM (DCT)

DIGITAL IMAGE PROCESSING WRITTEN REPORT ADAPTIVE IMAGE COMPRESSION TECHNIQUES FOR WIRELESS MULTIMEDIA APPLICATIONS

Stereo Image Compression

VC 12/13 T16 Video Compression

ISO/IEC INTERNATIONAL STANDARD. Information technology JPEG 2000 image coding system: An entry level JPEG 2000 encoder

Lecture 3 Image and Video (MPEG) Coding

Video Compression MPEG-4. Market s requirements for Video compression standard

MPEG-4: Simple Profile (SP)

Image Compression Standard: Jpeg/Jpeg 2000

Compression of Stereo Images using a Huffman-Zip Scheme

Image/video compression: howto? Aline ROUMY INRIA Rennes

Compression Part 2 Lossy Image Compression (JPEG) Norm Zeck

Forensic analysis of JPEG image compression

Introduction to Video Compression

Image Compression Algorithm and JPEG Standard

IMAGE COMPRESSION. Chapter - 5 : (Basic)

compression and coding ii

IMAGE COMPRESSION USING FOURIER TRANSFORMS

Fundamentals of Video Compression. Video Compression

EE67I Multimedia Communication Systems Lecture 4

Image Coding. Image Coding

ISSN Vol.06,Issue.10, November-2014, Pages:

15 Data Compression 2014/9/21. Objectives After studying this chapter, the student should be able to: 15-1 LOSSLESS COMPRESSION

Multimedia Networking ECE 599

Audio and video compression

Source Coding Techniques

INTERNATIONAL TELECOMMUNICATION UNION TERMINAL EQUIPMENT AND PROTOCOLS FOR TELEMATIC SERVICES

NOVEL TECHNIQUE FOR IMPROVING THE METRICS OF JPEG COMPRESSION SYSTEM

Image and Video Compression Fundamentals

Index. 1. Motivation 2. Background 3. JPEG Compression The Discrete Cosine Transformation Quantization Coding 4. MPEG 5.

The Basics of Video Compression

The Core Technology of Digital TV

Multimedia Signals and Systems Motion Picture Compression - MPEG

NEW CAVLC ENCODING ALGORITHM FOR LOSSLESS INTRA CODING IN H.264/AVC. Jin Heo, Seung-Hwan Kim, and Yo-Sung Ho

Multimedia Standards

Interactive Progressive Encoding System For Transmission of Complex Images

A real-time SNR scalable transcoder for MPEG-2 video streams

Lecture 4: Video Compression Standards (Part1) Tutorial 2 : Image/video Coding Techniques. Basic Transform coding Tutorial 2

FPGA Implementation of 2-D DCT Architecture for JPEG Image Compression

Transcription:

Wireless Communication Systems @CS.NCTU Lecture 6: Image Instructor: Kate Ching-Ju Lin ( 林靖茹 ) Chap. 9 of Fundamentals of Multimedia Some reference from http://media.ee.ntu.edu.tw/courses/dvt/15f/ 1

Outline Image concepts Lossless JPEG JPEG Other JPEG Standards 2

Comparison between Audio and Image Audio One-dimensional time-domain signals Continuous analog signals or discrete digital signals Image Digital image f(i,j) Not defined over the time domain Defined over the spatial domain Two dimensions: rows and columns 3

Bitmap images Images consist of 2D pixels Image resolution = Number of pixels e.g., 1,600 x 1,200 or 800 x 600 Commonly used in digital cameras, scanners, fax machines, etc Types 1-bit images: Black & white binary image 8-bit images: Grayscale images Each pixel has a gray value between 0 and 255 24-bit images: Color images Three bytes represent RGB values in the range 0-255 4

Bitmap images Sampling Resolution, number of pixels in x and y Source: wikipedia Quantization Bit-depth: Number of bits used to represent RGB 5

Waveforms Spatial frequency indicates how many times pixel values change across an image block à Can be convert to the frequency-domain using DCT à Say the frequency of the waveform is f. Then, the response (value) of the frequency f will be the amplitude of this waveform frequency f Response in the frequency domain after DCT 6

Why Uses DCT? Leverage spatial redundancy to compress If a pixel is red, its neighbors is likely red also Humans are less sensitive to very high-spatial frequency components High-frequency components are usually close to zero Hardly distinguishable even if set to 0 Human are more sensitive to luminance than color Transform RGB to IQ or UV Reduce the size of color parts (UV) 7

JPEG Joint Photographic Experts Group Digital compression and coding of continuoustone still images Also used to compress video frame-by-frame (Motion JPEG) Modes of operation Sequential DCT Progressive DCT Sequential Lossless Hierarchical 8

History of JPEG Since 1986, joint meeting for International Telecommunication Union (ITU) and the International Organization for Standardization (ISO) to establish the standard for multilevel color still images. In 1987, the International Electrotechnical Committee (IEC) joined in. Known as JPEG, Joint Photographic Experts Group Schedules: 1986, March, targets to Color still image lossless and lossy 1987, narrowed to three techniques: Adaptive DCT, DPCM with Adaptive Binary Arithmetic Coding, Progressive BTC 1988, select the DCT-based method 1988-1990, simulating, testing and documenting 1991, draft 1992, international standard Official document: ISO/IEC international standard 10918-1(set requirements and guides) (-2, for compliance tests, -3, for extensions) digital compression and coding of continuous-tone still images ITU-T Recommendation T.81 9

Outline Image concepts Lossless JPEG JPEG Other JPEG Standards 10

Differential Pulse Code Modulation DPCM is a lossless predictive coding Use neighboring pixels to predict a pixel value Calculate the difference (error) between the weighted average and the pixel value x m ˆx m = m 1 i=0 ix i = e = x m ˆx m Region of causal predictor Why taking the difference? The variation (difference) of signals is usually much smaller than the amplitude of the signals Cons: error propagation 11

DPCM Encoding and Decoding Encode + e m x m x m Entropy encoder - ˆx m predictor Decode Entropy decoder + + ˆx m predictor x m 12

Lossless JPEG Standards Use differential coding (DPCM) followed by a Huffman coder or an arithmetic coder The prediction residual for pixel x is r = y x, where y can be any of the following functions 1. y = 0 2. y = A 3. y = B 4. y = C 5. y = A + C - B 6. y = A + (C B)/2 7. y = C + (A - B)/2 8. y = (A + B)/2 C A B x Pick the one outputting the smallest error The selection predictor should be sent to the decoder 13

Lossless JPEG Example Let A =100, B=100, C=191, x = 180, y = (A+C)/2 r = (100 +191)/2 - x = 145 180 = -35 r = -35 = (011100) 2 belonging to class 6 The Huffman code for 6 is 1110 Thus, the final code is 1110011100 (Huffman code) (residual) Q: Why Variable Length Coding? Class Error range 0 0 1-1,1 2-3, -2, 2, 3 3-7,, -4, 4,..., 7 4-15,, -8, 8,..., 15 5-31,, -16, 16,..., 31 6-63,, -32, 32,..., 63 7-127,, -64, 64,..., 127 8-255,, -128, 128,..., 255 9-511,, -256, 256,..., 511 10-1023,, -256, 256,..., 1023 11-2017,, -1024, 1024,..., 2047 12-4095,, -2048, 2048,..., 4095 13-8191,, -4096, 4096,..., 8191 14-16383,, -8192, 8192,..., 16383 15-32767,, -16383, 16383,..., 32767 16-65535,, -32768, 32768,..., 65535 14

Outline Image concepts Lossless JPEG Sequential DCT-based JPEG Other JPEG Standards 15

Sequential DCT-Based JPEG 8x8 blocks DCT Q DC DPCM AC Zigzag scan compressed image Entropy encoder Encode Decode source image Quantization table Table specification 8x8 blocks DCT Q DC DPCM AC Zigzag scan compressed image Entropy encoder reconstructed image Quantization table Table specification 16

Sequential DCT-Based JPEG Main Steps 1. Transform RGB to IQ or UV (Optional) 2. Subsample color components 3. Divide the image to 8x8 blocks (faster for DCT) 4. Perform DCT for each block 5. Apply quantization (only step lead to losses) 6. Perform zigzag ordering 7. DPCM for DC and run-length encoding for AC 8. Perform Entropy coding 17

Sequential DCT-Based JPEG Main Steps 1. Transform RGB to IQ or UV 2. Subsample color components 3. Divide the image to 8x8 blocks (faster for DCT) 4. Perform DCT for each block 5. Apply quantization 6. Perform zigzag ordering 7. DPCM for DC and run-length encoding for AC 8. Perform Entropy coding 18

Chroma Subsampling Humans are less sensitive to color à subsample CbCr Subsample notation: a:b:c From a 4x4 block: take a samples from, b samples from each CbCr top row, and c samples from each CbCr bottom row 4:1:1 4:2:0 4:2:2 CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr CbCr

Sequential DCT-Based JPEG Main Steps 1. Transform RGB to IQ or UV 2. Subsample color components 3. Divide the image to 8x8 blocks (faster for DCT) 4. Perform DCT for each block 5. Apply quantization 6. Perform zigzag ordering 7. DPCM for DC and run-length encoding for AC 8. Perform Entropy coding 20

21

Subsampling and Macroblocks With subsampling, we create 8x8 blocks as follows For example of 4:2:0 Divide an image into 16x16 macroblocks Four blocks for (no subsampling) Subsample blocks for CbCr Four 8x8 blocks and one 8x8 CbCr block Cr Cb 16x16 16x16 16x16 Cb Cr 22

Sequential DCT-Based JPEG Main Steps 1. Transform RGB to IQ or UV 2. Subsample color components 3. Divide the image to 8x8 blocks (faster for DCT) 4. Perform DCT for each block 5. Apply quantization 6. Perform zigzag ordering 7. DPCM for DC and run-length encoding for AC 8. Perform Entropy coding 23

Quantization Main source of quality losses Reduce the total number of bits needed for a compressed image ˆF (u, v) =round F (u, v) Q(u, v) ˆF (u, v) : quantised DCT coefficient F (u, v) : original DCT coefficient Q(u, v) : 8-bit quantisation matrix entry Since of Q(u, v) ˆF (u, v) is large, the magnitude and variance are much smaller than those of F (u, v) 24

Default Quantization Tables Low-frequency components have smaller Q values à introduce less losses Tables specified from psychophysical studies Maximizing the compression ratio Minimizing perceptual losses For luminance 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 For chrominance 17 18 24 47 99 99 99 99 18 21 26 66 99 99 99 99 24 26 59 99 99 99 99 99 47 66 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 25

Adaptive Quantization Allow Spatially adaptive quantization Quantization matrix can be scaled block Improve performance by up to 30% as compared to non-adaptive quantization 1x 4x quantization matrix reconstructed image errors 26

Sequential DCT-Based JPEG Main Steps 1. Transform RGB to IQ or UV 2. Subsample color components 3. Divide the image to 8x8 blocks (faster for DCT) 4. Perform DCT for each block 5. Apply quantization 6. Perform zigzag ordering 7. DPCM for DC and run-length encoding for AC 8. Perform Entropy coding 27

Zigzag Scanning Why Zigzag? Sort from low frequency to high frequency Longer string of 0 s in the tail (high frequency components) Horizontal frequency DC AC AC Vertical frequency AC AC Probability of non-zero Zigzag index 28

Sequential DCT-Based JPEG Main Steps 1. Transform RGB to IQ or UV 2. Subsample color components 3. Divide the image to 8x8 blocks (faster for DCT) 4. Perform DCT for each block 5. Apply quantization 6. Perform zigzag ordering 7. DPCM for DC and run-length encoding for AC 8. Perform Entropy coding 29

Predictive Coding for DC Use DPCM (differential pulse code modulation) Use the DC of the previous block to predict the DC of the current block sample DC i + DC i-1 - Difference DC i DC i-1 Entropy encoder DC i-1 DC i block i-1 DCT block i DCT 30

Predictive Coding for DC Why DPCM? DC coefficient is relatively large as compared to AC coefficients DC = average intensity of a block Intensity of nearby blocks usually does not change drastically Example: DC coefficients of the first five blocks: 150, 155, 149, 152, 142 DPCM produces 150, 5, -6, 3, -8 for entropy coding à difference is much smaller 31

Run-Length Coding for AC Since many of AC coefficients are 0, represent them by (#-zero-to-skip, next-non-zero-value) Example: given the quantized frequency coefficients (32, 6, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0) DC Skip the DC and convert the AC coefficients to (0, 6) (0, -1) (0, -1) (1, -1) (3, -1) (2,1) (0, 0) (0, 0) is a special pair indicatind end-of-block after the last nonzero AC coefficient 32

Sequential DCT-Based JPEG Main Steps 1. Transform RGB to IQ or UV 2. Subsample color components 3. Divide the image to 8x8 blocks (faster for DCT) 4. Perform DCT for each block 5. Apply quantization 6. Perform zigzag ordering 7. DPCM for DC and run-length encoding for AC 8. Perform Entropy coding 33

Entropy Coding Huffman coding or Arithmetic coding (less used) Huffman coder 1. Find intermediate symbol sequence 2. Convert the intermediate symbol sequence into the binary sequence using Huffman table DC à (size, amplitude) Size: how many bits are needed to represent the coefficient (Huffman code, i.e., variable length code à frequent patterns need less bits) Amplitude: actual binary bits (Not Huffman code, just convert the DC coefficient to 1 s complement) AC à (run, size, amplitude) 34

Huffman Coding in JPEG DC i-1 DC + - size table DC Huffman table (Size, Amplitude) AC 1 AC 2 amplitude calculation AC 3 value size run-length coder size table AC Huffman table (Run, Size, Amplitude) AC 62 run AC 63 DCT coefficients are in zigzag order 35

Example of Sequential JPEG Original 52 55 61 66 70 61 64 73 63 59 66 90 109 85 69 72 62 59 68 113 144 104 66 73 63 58 71 122 154 106 70 69 67 61 68 104 126 88 68 70 79 65 60 70 77 68 58 75 85 71 64 59 55 61 65 83 87 79 69 68 65 76 78 94 After level shift by -128-76 -73-67 -62-58 -67-64 -55-65 -69-62 -38-19 -43-59 -56-66 -69-60 -15 16-24 -62-55 -65-70 -57-6 26-22 -58-59 -61-67 -60-24 -2-40 -60-58 -49-63 -68-58 -51-60 -70-53 -43-57 -64-69 -73-67 -63-45 36

Example of Sequential JPEG After DCT After quantization -415-29 -62 25 55-20 -1 3 7-21 -62 9 11-7 -6 6-46 8 77-25 -30 10 7-5 -50 13 35-15 -9 6 0 3 11-8 -13-2 -1 1-4 1-10 1 3-3 -1 0 2-1 -4-1 2-1 2-3 1-2 -1-1 -1-2 -1-1 0-1 -26-3 -6 2 2 0 0 0 1-2 -4 0 0 0 0 0-3 1 5-1 -1 0 0 0-4 1 2-1 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 37

Example of Sequential JPEG After zigzag scan After DPCM of DC coefficient (assuming previous DC value of -17) After RLC After VLC -26-3 1 3-2 -6 2-4 1-4 1 1 5 0 2 0 0-1 2 0 0 0 0 0-1 -1 EOB -9-3 1 3-2 -6 2-4 1-4 1 1 5 0 2 0 0-1 2 0 0 0 0 0-1 -1 EOB -9 (0, -3) (0, 1) (0, 3) (0, -2) (0, -6) (0, 2) (0, -4) (0, 1) (0, -4) (0, 1) (0, 1) (0, 5) (1, 2) (2, -1) (0, 2) (5, -1) (0, -1) EOB 1010110 0100 001 0100 0101 100001 0110 100011 001 100011 001 001 100101 11100110 110110 0110 11110100 000 1010 38

Coefficient Coding 39 DC DC Category Category (SSSS) (SSSS) 0 1 2 3 4 5 6 7 8 9 10 10 11 11 12 12 13 13 14 14 15 15 AC AC Category Category (SSSS) (SSSS) N/A N/A 1 2 3 4 5 6 7 8 9 10 10 11 11 12 12 13 13 14 14 N/A N/A Coefficient Coefficient 0-1,1 1,1-3, 3,-2,2,3 2,2,3-7, 7,,-4,4, 4,4,,7,7-15, 15,,-8,8, 8,8,,15,15-31, 31,,-16,16, 16,16,,31,31-63, 63,,-32,32, 32,32,,63,63-127, 127,,-64,64, 64,64,,127,127-255, 255,,-128,128, 128,128,,255,255-511, 511,,-256,256, 256,256,,511,511-1023, 1023,,-512,512, 512,512,,1023,1023-2047, 2047,,-1024,1024, 1024,1024,,2047,2047-4095, 4095,,-2048,2048, 2048,2048,,4095,4095-8191, 8191,,-4096,4096, 4096,4096,,8191,8191-16383, 16383,,-8192,8192, 8192,8192,,16383,16383-32767, 32767,,-16384,16384, 16384,16384,,32767,32767

DC Table For luminance Size length code word 0 2 0 0 1 3 0 1 0 2 3 0 1 1 3 3 100 4 3 101 5 3 110 6 4 1110 7 5 11110 8 6 111110 9 7 1111110 10 8 11111110 11 9 111111110 For chrominance Size length code word 0 2 0 0 1 2 0 1 2 2 1 0 3 3 110 4 4 1110 5 5 11110 6 6 111110 7 7 1111110 8 8 11111110 9 9 111111110 10 10 1111111110 11 11 11111111110 40

AC Table For luminance For chrominance Run/Size length code word 0/0 4 1010 (EOB) 0/1 2 0 0 0/2 2 0 1 0/3 3 100 0/4 4 1011 0/5 5 11010 0/6 7 1111000 F/0 11 11111111001 F/A 16 1111111111111110 Run/Size length code word 0/0 2 0 0 (EOB) 0/1 2 0 1 0/2 3 100 0/3 4 1010 0/4 5 11000 0/5 5 11001 0/6 6 111000 F/0 10 1111111010 F/A 16 1111111111111110 41

Example for AC Coding The sequences are: 0,0,0,0,0,0,-18 RLC = (6, 5, 01101) means run is 6, size 5, and amplitude 01101 (-18) huffman coded for (6/5) is 1101, then the codeword for -18 is 110101101 Special Cases: The run length value may be larger than 15. In that case, JPEG uses the symbol (15/0) to denote a runlength of 15 zeros followed by a zero. Such symbol can be cascaded as needed; however, the codeword for the last AC must have a nonzero amplitude If after a nonzero AC value all the remaining coefficients are zero, then the special symbol (0/0) denotes an end-of-block(eob)

Outline Image concepts Lossless JPEG JPEG Other JPEG Standards 43

Operation Modes of JPEG Sequential DCT-based encoding Image blocks are coded in a scan-like sequence, from left to right and from top to bottom Progressive DCT-based encoding The coding is completed in multiple scan, the first scan yields the full image but without all the details, which are provided in successive scans. Two procedures: Spectral Selection (decoder side only) Successive Approximation (codec) Lossless encoding Predictive coding only Hierarchical encoding 44

Summary Image concepts Different between analog and digital images Waveforms of an image Lossless JPEG Use Differential Pulse Code Modulation (DPCM) to reduce the size JPEG Blocks and color subsampling Convert each block to frequency responses using DCT Quantization (matrix-based) ZigZag ordering (try to collect 0s as a long list) DPCM for DC and run-length coding for AC Huffman coding (table lookup) Other JPEG Standards 45