In this paper, we present an efficient algorithm for computing the 2-D discrete cosine transform (DCT). First, we arrange the input data matrix in a certain order. Second, we formulate the output data matrix to a block-structured matrix-vector multiplication, and show that the block-structured matrix has the same properties as the 1-D DCT kernel matrix. Therefore, the 2-D DCT problem is reduced to the 1-D DCT problem. We thus can provide a procedure for computing the 2-D DCT which is similar to that of the 1-D DCT. The primary appeal of this algorithm lies not only in its low computational cost but also in its regular structure as the transform size increases.