Precincts are split further into "code blocks". Code blocks are in a single sub-band and have equal sizes—except those located at the edges of the image. The encoder has to encode the bits of all quantized coefficients of a code block, starting with the most significant bits and progressing to less significant bits by a process called the "EBCOT" scheme. "EBCOT" here stands for "Embedded Block Coding with Optimal Truncation". In this encoding process, each bit plane of the code block gets encoded in three so-called "coding passes", first encoding bits (and signs) of insignificant coefficients with significant neighbors (i.e., with 1-bits in higher bit planes), then refinement bits of significant coefficients and finally coefficients without significant neighbors. The three passes are called "Significance Propagation", "Magnitude Refinement" and "Cleanup" pass, respectively.