摘要 |
A method for transferring data between an RGB color space memory (24) and a YCrCb color space memory (38) useful for a DCT block-computation engine (12) significantly increases throughput and decreases processor overhead. According to one example embodiment, a DMA function is optimized to fetch data from an external memory representing a RGB color space and to provide the data for a JPEG conversion while performing YCrCb color space conversion on the fly. More specifically, data is transferred from the RGB color space memory to a DCT block-computation engine (12) adapted to process a YCrCb color space memory. The method includes providing the data for an RGB display screen area as a tile array having C columns and R rows of tiles, where one tile corresponds to sufficient RGB data for a DCT of at least one of a Cr data array and a Cb data array. Data is fetched at addresses in the tile array by accessing the data one tile at a time, and both the row within each tile and the tile within the tile array are tracked. The addresses are generated as a function of C, the tracked row and a tracked tile within the tile array. While the data is being fetched, the fetched data is used to fill buffers for the Y, Cr and Cb data arrays corresponding to the RGB display screen area. Another embodiment is directed to data transfer to the RGB color space memory (24) from a DCT block-computation engine (12) using, effectively, the reverse operation. |