Abstract. The K-SVD is one of the well-known and effective methods to learn a universal and overcomplete dictionary. However, K-SVD is very expensive because many iteration steps are needed. What's more, when it converts 2D data patches into 1D vectors for training or learning, K-SVD breaks down the inherent geometric structure of the data. To overcome these limitations, employing a subspace partition technique, we propose an efficient and fast algorithm, the fast top-bottom two-dimensional subspace partition algorithm, for learning overcomplete dictionaries. Experimental simulations demonstrate that our dictionary learning approach is effective for image denoising.