Embedded Image Processing on the TMS320C6000 DSP: Examples in Code Composer Studio and MATLAB

C6701 EVM, HPI, MATLAB, and MEX-files
Throughout this book, a variety of image processing algorithms and host/target data transfer techniques have been discussed and used to prototype "test-bench" applications. In this appendix, a few of these disparate pieces are put together as a demonstration of how a streaming video application can be implemented with the C6701 EVM and MATLAB. In some respects, video processing can be thought of as adding another dimension - time - to image processing. If we think of a video stream as a time sequence of image frames, then certain video processing techniques might be conceptualized as applying some image processing algorithm to each successive frame in a video sequence. There are some real-world applications that make use of this concept, for example Motion JPEG. Motion JPEG is a light-weight video codec (compressor-decompressor) used in Video CD (VCD) and security camera systems. In Motion JPEG, a video stream is compressed by JPEG-compressing each individual frame, which in code is simply treated as an image. Playback of the video is then accomplished by decompressing each frame in the bit stream and rendering the image to the display device. The demo application in this appendix does not involve codecs, but rather builds on some of the techniques developed in Chapters 4, 5 and 6. Almost all of the previous image processing programs have used somewhat contrived image dimensions, for example square images of length 256. In this project we use more realistic dimensions (240 rows...