1. A method for coding data, said method comprising: initializing a top tree bin structure based on the bit depth of said data, said top tree bin structure comprising a plurality of top tree bins, each of said top tree bins comprising a plurality of top tree symbols; splitting any one of said top tree bins into two split top tree bins based on a splitting condition; repeating said splitting step until a terminating condition is reached; and generating said desired bin structure using said plurality of top tree bins and said plurality of said split top tree bins.