1. A computer-implemented method for encoding data using a color space, the method comprising: receiving data for encoding; dividing the data into a bit array; appending first source control data to one or more groups of bits in the bit array based at least in part on performing error correction on the group of bits; and dividing the one or more groups of bits in the bit array into half-groups; appending second source control data to the half-groups based at least in part on performing error correction on the one or more half-groups; determining a code sequence based at least in part on the bits, half-groups, first source control data, and second source control data; creating colored cells within a color space to provide an encoded representation of the received data in an image by determining a color encoding for one or more codes in the code sequence by mapping the code sequence to a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image; and creating one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the image.