Design and construction of 9-DOF hyper-redundant robotic arm
As digital cameras replace their film based predecessors, new techniques are required to convert raw sensor data into a more usable format. Color image demosaicing is used to interpolate sparse color channel information received from the sensor to produce a full color image. The ideal demosaicing algorithm would minimize complexity while maximizing quality, however, in reality trade-offs must be between complexity and quality. Typically an image is demosaiced into a red-green-blue (RGB) color-space and then transformed into an alternate color-space such as YCbCr. The YCbCr color-space separates the image into a luminance channel, Y, and two chrominance channels, Cb and Cr, which is useful for image processing tasks, such as compression. The chrominance channel of the YCbCr image is often subsampled to reduce the amount of data processed without significantly impacting the perceived image quality. This is possible because the human visual system has a lower sensitivity to high frequency chrominance information compared to high frequency luminance information. A common form of the YCbCr format with subsampled chrominance is YCbCr 4:2:0, which consists of one Cr and one Cb sample for every four luminance samples. This thesis presents an efficient method of demosaicing directly into YCbCr 4:2:0 format, bypassing the intermediate RGB image produced by most existing demosaicing methods. The proposed color image demosaicing algorithm is first implemented with floating point mathematics and then further simplified to operate as a fixed point algorithm. The floating point implementation of the proposed algorithm is shown to have a significantly reduced average execution time when compared to algorithms capable of producing similar quality images. Hardware is developed using fixed point multiplications, which has a throughput of approximately 24 bits/clock.