Actually i stored line start and end indices, and for black lines only. So isn't that what we describe as steps? And if i compare my data to whole image PNG packed, the PNG is 1703 bytes, and string 2219 bytes. So it is quite compact.