Exploring efficient data layouts for image convolutions

Image convolution is widely used in image processing for various applications including blurring, sharpening, edge detecting or stylization. Since convolution is a fundamental operation, its efficiency is a key factor in any large-scale image processing algorithm. The main objective of this project...

Full description

Saved in:
Bibliographic Details
Main Author: Teng, Yee Jing
Other Authors: Zheng Jianmin
Format: Final Year Project
Language:English
Published: 2018
Subjects:
Online Access:http://hdl.handle.net/10356/74075
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Image convolution is widely used in image processing for various applications including blurring, sharpening, edge detecting or stylization. Since convolution is a fundamental operation, its efficiency is a key factor in any large-scale image processing algorithm. The main objective of this project is to explore the effect of different data layouts on image convolution. In particular, we are interested in studying the effect of data layouts that preserve the neighboring pixels when storing a 2D image as raw 1D data in memory. The targeted data layouts include Morton curve and Hilbert curve, and traditional 2-dimensional strided array as the baseline. The content of this report includes the implementation of different mapping methods of Morton curve and Hilbert curve, and the efficiency comparison between image convolutions on different data layout, and extension to video processing.