1. A computer implemented method for generating optimized projection patterns for depth reconstruction, the method comprising: receiving a De Bruijn graph, the De Bruijn graph comprising a plurality of nodes and a set of alphabets and each node being labeled by a sub-set of the alphabets; eliminating nodes with recurring alphabets from the De Bruijn graph to generate a modified De Bruijn graph; calculating a cyclic sequence of the modified De Bruijn graph; generating a non-recurring De Bruijn sequence based on the cyclic sequence; and generating optimized projection patterns from the non-recurring De Bruijn sequence.