SlideShare une entreprise Scribd logo
1  sur  8
The Motion Estimation
Introduction & Principles
Digital Video
• Video has been a major part of public
consciousness for over 50 years.
• Digital video compression plays an important
role in the multimedia applications.
• In order to manage large multimedia data
objects efficiently, these data objects need to
be compressed to reduce the size for storage .
Video Compression
• Video Compression tries to eliminate the
temporal redundancy between adjacent
frames.
• Once the redundancies are removed the
object requires less memory space. So being
smaller in size, it takes less time for
transmission over the network.
• This in turn significantly reduces storage and
transmission costs.
INTRODUCTION
• Motion estimation has proven to be effective
in exploiting the temporal redundancy of
video sequences and therefore forms a central
part of all hybrid video compression
standards.
• Intuition suggests that moving pictures have a
pixel conservation property -that pixels on
one frame may be translated to form the pixel
patterns on a subsequent frame.
...INTRODUCTION
• Images corresponding to objects on one frame
move within the frame to form corresponding
objects on the subsequent frame.
• Temporal redundancy that exists between
successive frames may be exploited in a
number of ways.
• The simplest method of exploiting temporal
redundancy is frame differencing.
• This strategy assumes that the average
motion is small and simply compresses the
pixel differences between two frames.
Principles of Motion Estimation
• Motion estimation and motion compensated
prediction is by far the most efficient and
widely used technique for achieving the high
levels of compression that are typified in
modern video compression standards.
• In this techniques, a scene or frame is divided
arbitrarily into macroblock (MB) regions. The
assumption is that each MB is composed of
closely associated pixels.
Motion Compensation
• During reconstruction, the reference frame is
used to predict the current frame using the
motion vectors. This technique is known as
motion compensation.
• During motion compensation, the macroblock
in the reference frame that is referenced to by
the motion vector is copied into the
reconstructed frame.
Learn More
in

IIT Kharagpur's
First Online
Certificate Course on
Image and
Video Communication
[Refer: http://goo.gl/hMyYWa ;
courses@wiziq.com]

Contenu connexe

Tendances

Frequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement TechniquesFrequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement Techniques
Diwaker Pant
 
Wavelet based image compression technique
Wavelet based image compression techniqueWavelet based image compression technique
Wavelet based image compression technique
Priyanka Pachori
 

Tendances (20)

Image Enhancement - Point Processing
Image Enhancement - Point ProcessingImage Enhancement - Point Processing
Image Enhancement - Point Processing
 
Frequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement TechniquesFrequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement Techniques
 
Wavelet based image compression technique
Wavelet based image compression techniqueWavelet based image compression technique
Wavelet based image compression technique
 
Histogram Equalization
Histogram EqualizationHistogram Equalization
Histogram Equalization
 
Digital Image Processing: Image Segmentation
Digital Image Processing: Image SegmentationDigital Image Processing: Image Segmentation
Digital Image Processing: Image Segmentation
 
image compression ppt
image compression pptimage compression ppt
image compression ppt
 
Presentation of Lossy compression
Presentation of Lossy compressionPresentation of Lossy compression
Presentation of Lossy compression
 
Predictive coding
Predictive codingPredictive coding
Predictive coding
 
Lossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image ProcessingLossless predictive coding in Digital Image Processing
Lossless predictive coding in Digital Image Processing
 
Region based segmentation
Region based segmentationRegion based segmentation
Region based segmentation
 
Wavelet transform in image compression
Wavelet transform in image compressionWavelet transform in image compression
Wavelet transform in image compression
 
Discrete cosine transform
Discrete cosine transform   Discrete cosine transform
Discrete cosine transform
 
Data Redundacy
Data RedundacyData Redundacy
Data Redundacy
 
Histogram Processing
Histogram ProcessingHistogram Processing
Histogram Processing
 
Smoothing Filters in Spatial Domain
Smoothing Filters in Spatial DomainSmoothing Filters in Spatial Domain
Smoothing Filters in Spatial Domain
 
Digital Image Fundamentals
Digital Image FundamentalsDigital Image Fundamentals
Digital Image Fundamentals
 
Image Enhancement in Spatial Domain
Image Enhancement in Spatial DomainImage Enhancement in Spatial Domain
Image Enhancement in Spatial Domain
 
Bit plane coding
Bit plane codingBit plane coding
Bit plane coding
 
Image compression models
Image compression modelsImage compression models
Image compression models
 
Fundamental Steps of Digital Image Processing & Image Components
Fundamental Steps of Digital Image Processing & Image ComponentsFundamental Steps of Digital Image Processing & Image Components
Fundamental Steps of Digital Image Processing & Image Components
 

En vedette

Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag Jain
Videoguy
 

En vedette (20)

A Comparison of Block-Matching Motion Estimation Algorithms
A Comparison of Block-Matching Motion Estimation AlgorithmsA Comparison of Block-Matching Motion Estimation Algorithms
A Comparison of Block-Matching Motion Estimation Algorithms
 
Block Matching Project
Block Matching ProjectBlock Matching Project
Block Matching Project
 
Efficient Architecture for Variable Block Size Motion Estimation in H.264/AVC
Efficient Architecture for Variable Block Size Motion Estimation in H.264/AVCEfficient Architecture for Variable Block Size Motion Estimation in H.264/AVC
Efficient Architecture for Variable Block Size Motion Estimation in H.264/AVC
 
Full Search Technique
Full Search TechniqueFull Search Technique
Full Search Technique
 
High Performance Architecture for Full Search Block matching Algorithm
High Performance Architecture for Full Search Block matching AlgorithmHigh Performance Architecture for Full Search Block matching Algorithm
High Performance Architecture for Full Search Block matching Algorithm
 
Vector quantization
Vector quantizationVector quantization
Vector quantization
 
Introduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag JainIntroduction to Video Compression Techniques - Anurag Jain
Introduction to Video Compression Techniques - Anurag Jain
 
Video Compression Basics
Video Compression BasicsVideo Compression Basics
Video Compression Basics
 
2010 15 vo
2010 15 vo2010 15 vo
2010 15 vo
 
H261
H261H261
H261
 
Iain Richardson: An Introduction to Video Compression
Iain Richardson: An Introduction to Video CompressionIain Richardson: An Introduction to Video Compression
Iain Richardson: An Introduction to Video Compression
 
Book Launch: The H.264 Advanced Video Compression Standard
Book Launch: The H.264 Advanced Video Compression StandardBook Launch: The H.264 Advanced Video Compression Standard
Book Launch: The H.264 Advanced Video Compression Standard
 
SYSTEM AND METHOD FOR ACQUIRING OF STATIC IMAGES OF OBJECTS IN MOTION
SYSTEM AND METHOD FOR ACQUIRING OF STATIC IMAGES OF OBJECTS IN MOTIONSYSTEM AND METHOD FOR ACQUIRING OF STATIC IMAGES OF OBJECTS IN MOTION
SYSTEM AND METHOD FOR ACQUIRING OF STATIC IMAGES OF OBJECTS IN MOTION
 
H264 video compression explained
H264 video compression explainedH264 video compression explained
H264 video compression explained
 
Robust Block-Matching Motion Estimation of Flotation Froth Using Mutual Infor...
Robust Block-Matching Motion Estimation of Flotation Froth Using Mutual Infor...Robust Block-Matching Motion Estimation of Flotation Froth Using Mutual Infor...
Robust Block-Matching Motion Estimation of Flotation Froth Using Mutual Infor...
 
A short history of video coding
A short history of video codingA short history of video coding
A short history of video coding
 
Introduction to Optial Flow
Introduction to Optial FlowIntroduction to Optial Flow
Introduction to Optial Flow
 
System and method for motion compensation
System and method for motion compensationSystem and method for motion compensation
System and method for motion compensation
 
Introduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video CompressionIntroduction to H.264 Advanced Video Compression
Introduction to H.264 Advanced Video Compression
 
Curved Wavelet Transform For Image Denoising using MATLAB.
Curved Wavelet Transform For Image Denoising using MATLAB.Curved Wavelet Transform For Image Denoising using MATLAB.
Curved Wavelet Transform For Image Denoising using MATLAB.
 

Similaire à The motion estimation

Design and Analysis of Quantization Based Low Bit Rate Encoding System
Design and Analysis of Quantization Based Low Bit Rate Encoding SystemDesign and Analysis of Quantization Based Low Bit Rate Encoding System
Design and Analysis of Quantization Based Low Bit Rate Encoding System
ijtsrd
 
VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...
VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...
VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...
Journal For Research
 

Similaire à The motion estimation (20)

Video and animation
Video and animationVideo and animation
Video and animation
 
Motion detection in compressed video using macroblock classification
Motion detection in compressed video using macroblock classificationMotion detection in compressed video using macroblock classification
Motion detection in compressed video using macroblock classification
 
Key frame extraction for video summarization using motion activity descriptors
Key frame extraction for video summarization using motion activity descriptorsKey frame extraction for video summarization using motion activity descriptors
Key frame extraction for video summarization using motion activity descriptors
 
Key frame extraction for video summarization using motion activity descriptors
Key frame extraction for video summarization using motion activity descriptorsKey frame extraction for video summarization using motion activity descriptors
Key frame extraction for video summarization using motion activity descriptors
 
Effective Compression of Digital Video
Effective Compression of Digital VideoEffective Compression of Digital Video
Effective Compression of Digital Video
 
Video processing.pptx
Video processing.pptxVideo processing.pptx
Video processing.pptx
 
A Novel Approach for Compressing Surveillance System Videos
A Novel Approach for Compressing Surveillance System VideosA Novel Approach for Compressing Surveillance System Videos
A Novel Approach for Compressing Surveillance System Videos
 
5 ijaems sept-2015-9-video feature extraction based on modified lle using ada...
5 ijaems sept-2015-9-video feature extraction based on modified lle using ada...5 ijaems sept-2015-9-video feature extraction based on modified lle using ada...
5 ijaems sept-2015-9-video feature extraction based on modified lle using ada...
 
Design and Analysis of Quantization Based Low Bit Rate Encoding System
Design and Analysis of Quantization Based Low Bit Rate Encoding SystemDesign and Analysis of Quantization Based Low Bit Rate Encoding System
Design and Analysis of Quantization Based Low Bit Rate Encoding System
 
Multi-View Video Coding Algorithms/Techniques: A Comprehensive Study
Multi-View Video Coding Algorithms/Techniques: A Comprehensive StudyMulti-View Video Coding Algorithms/Techniques: A Comprehensive Study
Multi-View Video Coding Algorithms/Techniques: A Comprehensive Study
 
video comparison
video comparison video comparison
video comparison
 
Optimal Repeated Frame Compensation Using Efficient Video Coding
Optimal Repeated Frame Compensation Using Efficient Video  CodingOptimal Repeated Frame Compensation Using Efficient Video  Coding
Optimal Repeated Frame Compensation Using Efficient Video Coding
 
Be36338341
Be36338341Be36338341
Be36338341
 
A VIDEO COMPRESSION TECHNIQUE UTILIZING SPATIO-TEMPORAL LOWER COEFFICIENTS
A VIDEO COMPRESSION TECHNIQUE UTILIZING SPATIO-TEMPORAL LOWER COEFFICIENTSA VIDEO COMPRESSION TECHNIQUE UTILIZING SPATIO-TEMPORAL LOWER COEFFICIENTS
A VIDEO COMPRESSION TECHNIQUE UTILIZING SPATIO-TEMPORAL LOWER COEFFICIENTS
 
Efficient video perception through AI
Efficient video perception through AIEfficient video perception through AI
Efficient video perception through AI
 
Video Forgery Detection: Literature review
Video Forgery Detection: Literature reviewVideo Forgery Detection: Literature review
Video Forgery Detection: Literature review
 
Compression of Compound Images Using Wavelet Transform
Compression of Compound Images Using Wavelet TransformCompression of Compound Images Using Wavelet Transform
Compression of Compound Images Using Wavelet Transform
 
WT in IP.ppt
WT in IP.pptWT in IP.ppt
WT in IP.ppt
 
VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...
VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...
VIDEO SUMMARIZATION: CORRELATION FOR SUMMARIZATION AND SUBTRACTION FOR RARE E...
 
Video inpainting using backgroung registration
Video inpainting using backgroung registrationVideo inpainting using backgroung registration
Video inpainting using backgroung registration
 

Plus de sakshij91

Why vedic mathematics
Why vedic mathematicsWhy vedic mathematics
Why vedic mathematics
sakshij91
 
Plc then and now
Plc then and nowPlc then and now
Plc then and now
sakshij91
 
Knowing more about plc
Knowing more about plcKnowing more about plc
Knowing more about plc
sakshij91
 
The basics of plc technology part 2
The basics of plc technology part 2The basics of plc technology part 2
The basics of plc technology part 2
sakshij91
 
The basics of plc technology
The basics of plc technologyThe basics of plc technology
The basics of plc technology
sakshij91
 
Xat 2014 preparation tips
Xat 2014 preparation tipsXat 2014 preparation tips
Xat 2014 preparation tips
sakshij91
 

Plus de sakshij91 (20)

Why vedic mathematics
Why vedic mathematicsWhy vedic mathematics
Why vedic mathematics
 
Cat quant myths
Cat  quant mythsCat  quant myths
Cat quant myths
 
The growing popularity of vedic math
The growing popularity of vedic mathThe growing popularity of vedic math
The growing popularity of vedic math
 
Plc then and now
Plc then and nowPlc then and now
Plc then and now
 
Vedic maths history and development
Vedic maths history and developmentVedic maths history and development
Vedic maths history and development
 
Knowing more about plc
Knowing more about plcKnowing more about plc
Knowing more about plc
 
The basics of plc technology part 2
The basics of plc technology part 2The basics of plc technology part 2
The basics of plc technology part 2
 
The basics of plc technology
The basics of plc technologyThe basics of plc technology
The basics of plc technology
 
Benefits of vedic mathemetics
Benefits of vedic mathemeticsBenefits of vedic mathemetics
Benefits of vedic mathemetics
 
Basics of audio coding
Basics of audio codingBasics of audio coding
Basics of audio coding
 
Eligibility for ies exams
Eligibility for ies examsEligibility for ies exams
Eligibility for ies exams
 
Image compression jpeg coding standards
Image compression jpeg coding standardsImage compression jpeg coding standards
Image compression jpeg coding standards
 
Basics of speech coding
Basics of speech codingBasics of speech coding
Basics of speech coding
 
Image enhancement techniques
Image enhancement techniquesImage enhancement techniques
Image enhancement techniques
 
Xat 2014 how different from cat
Xat 2014  how different from catXat 2014  how different from cat
Xat 2014 how different from cat
 
Xat 2014 preparation tips
Xat 2014 preparation tipsXat 2014 preparation tips
Xat 2014 preparation tips
 
Gate exam tips and tricks
Gate exam tips and tricksGate exam tips and tricks
Gate exam tips and tricks
 
Ies exams and gate exam
Ies exams and gate examIes exams and gate exam
Ies exams and gate exam
 
Ies 2014 exam tips
Ies 2014 exam tipsIes 2014 exam tips
Ies 2014 exam tips
 
Role of cat exam coaching
Role of cat exam coachingRole of cat exam coaching
Role of cat exam coaching
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

The motion estimation

  • 2. Digital Video • Video has been a major part of public consciousness for over 50 years. • Digital video compression plays an important role in the multimedia applications. • In order to manage large multimedia data objects efficiently, these data objects need to be compressed to reduce the size for storage .
  • 3. Video Compression • Video Compression tries to eliminate the temporal redundancy between adjacent frames. • Once the redundancies are removed the object requires less memory space. So being smaller in size, it takes less time for transmission over the network. • This in turn significantly reduces storage and transmission costs.
  • 4. INTRODUCTION • Motion estimation has proven to be effective in exploiting the temporal redundancy of video sequences and therefore forms a central part of all hybrid video compression standards. • Intuition suggests that moving pictures have a pixel conservation property -that pixels on one frame may be translated to form the pixel patterns on a subsequent frame.
  • 5. ...INTRODUCTION • Images corresponding to objects on one frame move within the frame to form corresponding objects on the subsequent frame. • Temporal redundancy that exists between successive frames may be exploited in a number of ways. • The simplest method of exploiting temporal redundancy is frame differencing. • This strategy assumes that the average motion is small and simply compresses the pixel differences between two frames.
  • 6. Principles of Motion Estimation • Motion estimation and motion compensated prediction is by far the most efficient and widely used technique for achieving the high levels of compression that are typified in modern video compression standards. • In this techniques, a scene or frame is divided arbitrarily into macroblock (MB) regions. The assumption is that each MB is composed of closely associated pixels.
  • 7. Motion Compensation • During reconstruction, the reference frame is used to predict the current frame using the motion vectors. This technique is known as motion compensation. • During motion compensation, the macroblock in the reference frame that is referenced to by the motion vector is copied into the reconstructed frame.
  • 8. Learn More in IIT Kharagpur's First Online Certificate Course on Image and Video Communication [Refer: http://goo.gl/hMyYWa ; courses@wiziq.com]