An image processing apparatus comprising: dividing means for dividing image data into blocks having a predetermined number of pixels, wherein the apparatus further comprises: identification means (202, 252) for identifying, for each of the divided blocks, a pattern flag that corresponds to a placement pattern representing location of color data in each of the divided blocks by comparing the color data among pixels included in each of the divided blocks; output means (202, 252) for outputting (S506, S508, S510, S511) the pattern flag identified for each of the divided blocks by the identification means and the color data included in each of the divided blocks, wherein the color data outputted for each of the divided blocks includes at least first color data corresponding to a pixel at a predefined position in each of the divided blocks, and wherein the color data outputted for each of the divided blocks further includes the other color data different from the first color data when each of the divided blocks includes the other color data; and storage means (203, 253) for storing the pattern flag outputted for each of the divided blocks by the output means into a first memory area, and storing the first color data outputted for each of the divided blocks by the output means into a second memory area, and storing the other color data outputted for each of the divided blocks by the output means into a third memory area. dividing means for dividing image data into blocks having a predetermined number of pixels, wherein the apparatus further comprises: identification means (202, 252) for identifying, for each of the divided blocks, a pattern flag that corresponds to a placement pattern representing location of color data in each of the divided blocks by comparing the color data among pixels included in each of the divided blocks; output means (202, 252) for outputting (S506, S508, S510, S511) the pattern flag identified for each of the divided blocks by the identification means and the color data included in each of the divided blocks, wherein the color data outputted for each of the divided blocks includes at least first color data corresponding to a pixel at a predefined position in each of the divided blocks, and wherein the color data outputted for each of the divided blocks further includes the other color data different from the first color data when each of the divided blocks includes the other color data; and storage means (203, 253) for storing the pattern flag outputted for each of the divided blocks by the output means into a first memory area, and storing the first color data outputted for each of the divided blocks by the output means into a second memory area, and storing the other color data outputted for each of the divided blocks by the output means into a third memory area. identification means (202, 252) for identifying, for each of the divided blocks, a pattern flag that corresponds to a placement pattern representing location of color data in each of the divided blocks by comparing the color data among pixels included in each of the divided blocks; output means (202, 252) for outputting (S506, S508, S510, S511) the pattern flag identified for each of the divided blocks by the identification means and the color data included in each of the divided blocks, wherein the color data outputted for each of the divided blocks includes at least first color data corresponding to a pixel at a predefined position in each of the divided blocks, and wherein the color data outputted for each of the divided blocks further includes the other color data different from the first color data when each of the divided blocks includes the other color data; and storage means (203, 253) for storing the pattern flag outputted for each of the divided blocks by the output means into a first memory area, and storing the first color data outputted for each of the divided blocks by the output means into a second memory area, and storing the other color data outputted for each of the divided blocks by the output means into a third memory area.