SOME CONCEPTS IN DISCRETE COSINE TRANSFORMS ~ Jennie G. Abraham Fall 2009, EE5355

Similar documents
Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

Camera Model and Calibration

Introduction to Transformations. In Geometry

Lecture 8 JPEG Compression (Part 3)

Introduction ti to JPEG

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

Video Compression An Introduction

ISSN (ONLINE): , VOLUME-3, ISSUE-1,

JPEG decoding using end of block markers to concurrently partition channels on a GPU. Patrick Chieppe (u ) Supervisor: Dr.

Homework 5: Transformations in geometry

Lecture 8 JPEG Compression (Part 3)

Module 9 : Numerical Relaying II : DSP Perspective

Homework 5: Transformations in geometry

Finite Element Analysis Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology Madras. Module - 01 Lecture - 15

CS354 Computer Graphics Rotations and Quaternions

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

Camera Model and Calibration. Lecture-12

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

JPEG: An Image Compression System

0_PreCNotes17 18.notebook May 16, Chapter 12

Today. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices

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

Geometry: Unit 1: Transformations. Chapter 14 (In Textbook)

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3

Haar Wavelet Image Compression

Image Compression Algorithm and JPEG Standard

CMPT 365 Multimedia Systems. Media Compression - Image

(Refer Slide Time: 00:04:20)

Vector Algebra Transformations. Lecture 4

Geometry Unit 1: Transformations in the Coordinate Plane. Guided Notes

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

APPM 2360 Project 2 Due Nov. 3 at 5:00 PM in D2L

To Do. Outline. Translation. Homogeneous Coordinates. Foundations of Computer Graphics. Representation of Points (4-Vectors) Start doing HW 1

+ i a y )( cosφ + isinφ) ( ) + i( a x. cosφ a y. = a x

Assignment 4: Mesh Parametrization

An idea which can be used once is a trick. If it can be used more than once it becomes a method

4-7 Study Guide and Intervention Congruence Transformations

CT5510: Computer Graphics. Transformation BOCHANG MOON

Digital Image Representation Image Compression

Quaternion Rotations AUI Course Denbigh Starkey

FPGA Implementation of Low Complexity Video Encoder using Optimized 3D-DCT

Lecture 12: Algorithmic Strength 2 Reduction in Filters and Transforms Saeid Nooshabadi

Geometric Transformations: Translation:

CSEP 521 Applied Algorithms Spring Lossy Image Compression

Lossless Image Compression having Compression Ratio Higher than JPEG

MATRIX REVIEW PROBLEMS: Our matrix test will be on Friday May 23rd. Here are some problems to help you review.

GAUTENG DEPARTMENT OF EDUCATION SENIOR SECONDARY INTERVENTION PROGRAMME. MATHEMATICS Grade 11 SESSION 17 LEARNER NOTES

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

CS612 - Algorithms in Bioinformatics

Wireless Communication

Chapter 1. Linear Equations and Straight Lines. 2 of 71. Copyright 2014, 2010, 2007 Pearson Education, Inc.

IMAGE COMPRESSION USING HYBRID QUANTIZATION METHOD IN JPEG

7.1:Transformations And Symmetry 7.2: Properties of Isometries. Pre-Image:original figure. Image:after transformation. Use prime notation

International Journal of Wavelets, Multiresolution and Information Processing c World Scientific Publishing Company

Compression II: Images (JPEG)

AUDIOVISUAL COMMUNICATION

A Comparative Study of DCT, DWT & Hybrid (DCT-DWT) Transform

Machine Learning for Signal Processing Fundamentals of Linear Algebra

2D Geometric Transformations and Matrices

PetShop (BYU Students, SIGGRAPH 2006)

Therefore, after becoming familiar with the Matrix Method, you will be able to solve a system of two linear equations in four different ways.

The PackBits program on the Macintosh used a generalized RLE scheme for data compression.

Lecture 5: Compression I. This Week s Schedule

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation

4. Image Retrieval using Transformed Image Content

7.5 Dictionary-based Coding

Junior Circle Meeting 9 Commutativity and Inverses. May 30, We are going to examine different ways to transform the square below:

Multimedia Communications. Transform Coding

AH Matrices.notebook November 28, 2016

Coordinate Frames and Transforms

Combining Isometries- The Symmetry Group of a Square

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

Answers to practice questions for Midterm 1

Summer Review for Students Entering Pre-Calculus with Trigonometry. TI-84 Plus Graphing Calculator is required for this course.

Parallel and perspective projections such as used in representing 3d images.

Digital Image Processing

Agenda. Rotations. Camera models. Camera calibration. Homographies

Forward kinematics and Denavit Hartenburg convention

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

2D transformations: An introduction to the maths behind computer graphics

Unit 7. Transformations

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

Computer Graphics. Chapter 5 Geometric Transformations. Somsak Walairacht, Computer Engineering, KMITL

Image Compression. CS 6640 School of Computing University of Utah

Orientation & Quaternions

2D Transforms. Lecture 4 CISC440/640 Spring Department of Computer and Information Science

CS184: Using Quaternions to Represent Rotation

Isometries. 1 Identifying Isometries

MRT based Adaptive Transform Coder with Classified Vector Quantization (MATC-CVQ)

Computer Graphics with OpenGL ES (J. Han) Chapter IV Spaces and Transforms

Translations. Geometric Image Transformations. Two-Dimensional Geometric Transforms. Groups and Composition

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

Computer Science 336 Fall 2017 Homework 2

CV: 3D sensing and calibration

Lecture 9: Transformations. CITS3003 Graphics & Animation

CHAPTER 9 INPAINTING USING SPARSE REPRESENTATION AND INVERSE DCT

Matrices. Chapter Matrix A Mathematical Definition Matrix Dimensions and Notation

Matrix Inverse 2 ( 2) 1 = 2 1 2

Rotations (and other transformations) Rotation as rotation matrix. Storage. Apply to vector matrix vector multiply (15 flops)

Transcription:

SOME CONCEPTS IN DISCRETE COSINE TRANSFORMS ~ Jennie G. Abraham Fall 009, EE5355 Under Digital Image and Video Processing files by Dr. Min Wu Please see lecture10 - Unitary Transform lecture11 - Transform Coding and JPEG Also refer, Fundamentals of Digital Image Processing by A.K. Jain ORTHOGONALITY From last class we, revisit the Orthogonality Property. Unitary vs Orthogonality Unitary matrix: A is unitary if A-1 = A*T = AH Denote A*T as AH ~ Hermitian Orthogonal matrix ~ A-1 = AT Row vectors of real orthogonal matrix A form orthonormal basis vectors Real-valued unitary matrix is also an orthogonal matrix as is the case with DCT matrix Exercise: Are the matrix here unitary or orthogonal? If yes, what are the basis vectors? A1 = j A = 1 j 1 j j 1 3 A3 = 1 A4 = 1 1 1 1

ROTATION: Consider a vector in planar space, rotation of this vector (or coordinate points) is about the origin. The rotation of this vector can be clockwise or counterclockwise in a plane oriented in the standard way. In linear algebra, a rotation matrix is any matrix that acts as a rotation in Euclidean space. It is important to understand the frame of reference when discussing rotations. Consider the coordinate (x,y); here (x,y) is rotated by θ degrees and the coordinates after rotation are (x',y'). The magnitude of the vector (x, y) is the same as the magnitude of vector (x, y ). Clockwise Rotation y-axis Here (x,y) is rotated clockwise by θ. (x,y) Here, we can write this in matrix form as (x,y ) or x-axis Counterclockwise Rotation Here, the coordinates will be rotated (x,y) y-axis counterclockwise about the origin.: (x,y ) or x-axis

For completeness, we will mention about complex planes. Complex plane A complex number can be seen as a two-dimensional vector in the complex plane, with its tail at the origin and its head given by the complex number. Let be such a complex number. Its real component is the abscissa and its imaginary component its ordinate. Then z can be rotated counterclockwise by an angle θ by pre-multiplying it with eiθ (see Euler's formula, viz. Algebraically, a rotation matrix is an orthogonal matrix whose determinant is equal to 1: R = rotation matrix when, Rotation matrices are always square, and are usually assumed to have real entries. Rotation matrix applied to an input vector rotates it at an angle (theta) about the origin (of x and y axis). In image compression context, applying rotation does not modify the pixel values; they simple shuffle the pixels within a block, in a deterministic way (called isometries). There are many isometries. The following eight are commonly used: identity (no rotation or flip operation), orthogonal reflection about mid-vertical axis of block, orthogonal reflection about mid-horizontal axis of block, orthogonal reflection about first diagonal of block, orthogonal reflection about second diagonal of block, rotation around center of block, through +90,

rotation around center of block, through +180, rotation around center of block, through 90. In effect, these operations are able to generate, from a single block, a whole family of geometrically related transformed blocks, which provides a pool in which matching blocks will be sought during the encoding. More complex transformations can be used. But more bits will be required to identify each transformation. [Question(?)] Any orthogonal transform (say Q) can be decomposed into a series of rotations. This helps in reducing the number of multiplies (though it may increase the adds). (4 Multiplies, Adds).ie for (3 Multiplies and 3 Adds)

Consider the example in the following paper- Stage 1 0 Stage Stage 3 Stage 4 Data DCT Coeff. 0 A 1 4 6 V C 3 4 7 S3 5 C1 6 C1 3 S1 - S1 5 - S3 7 Notations: 6 V C6 C3 Mutiplies Adds 1 C3 0 8 8 8 4 8 = 14 = 6

The DCT Matrix F = A4A3AA1, where A4, A3, A, A1 are Sparse Matrix Factors (SMF). Here, A1 and A4 remains as is, but we can write A and A3 as follows A = diag [ and, [A. A. A ] ] portion of A3= [A3. A3. A3 ]

For that we re-draw- A A A C3 S3 S3 C3 As -(S3 C3) 3 -S C3 (4 Multiplies, Adds) (3 Multiplies and 3 Adds) From this diagram, we can write decomposition SMFs A, A, A Similarly for A3.. For each time this transformation is substituted, we are changing 4M, A 3M, 3A. Therefore Mutiplies Adds 0 8 6 10 3 9 - SQRT() = 11 = 9 the

The figure can be re-drawn as follows: Previous works achieved thus - [Question(?)]Conclusion: The block diagram can be expressed as the flowgraph which yields the DCT coefficients in the order 0,4,,6,7,3,5,1. Input is the data sequence in natural order 0,1,,3,4,5,6,7 Using the algorithm express the DCT matrix as [A4.A33. A3. A31. A3. A. A1.A1]. This DCT matrix has rows rearranged as 0,4,,6,7,3,5,1. Inverse DCT matrix (IDCT) is the transpose of DCT Matrix To get the sparse matrix of IDCT, all we need to do is take the transpose matrix of the sparse matrices of DCT as : [IDCT Matrix] = The flowgraph of an IDCT (as shown below) is the same as for forward DCT with the direction reversed, i.e. from left to right.

To show that DCT is Orthogonal -

EIGEN AND BASIS IMAGES Like the 1D-DCT, which has basis functions, the D-DCT has basis images. Mapping of a D data array into the D-DCT domain implies decomposing the D data array into the basis images of the DCT. This can be illustrated with D (4x4) DCT. The basis images are numbered as below -

Basic Process of Transform Coding UMCP ENEE408G Slides (created by M.Wu & R.Liu 00) How to Encode Quantized Coeff. in Each Block Basic tools Entropy coding (Huffman, etc.) and run-length coding Predictive coding ~ esp. for DC Ordering zig-zag scan for block-dct to better achieve run-length coding gain DC AC01 Horizontal frequency Vertical frequency AC70 M. Wu: ENEE631 Digital Image Processing (Spring'09) AC07 low-frequency coefficients, then high frequency coefficients AC77 Lec11 Transf. Coding & JPEG [7]