in reply to Algorithm inspiration required.
But as I ponder this problem; it feels like a Fraction -- an attempt to find the lowest common denominator. So in an attempt to make the problem even easier (more simplistic) it occurred to be that the easiest (least complex) solution could probably be found by converting said stream to binary. I couldn't quire gather from your OP whether the data was strictly limited to AlphaNumeric, or not. This solved that for me. IMHO, and off the top of my point head. Only needing to deal with exactly 2 known characters should make finding a pattern near trivial, and should even reduce the record size you would need to maintain, to find that pattern.
Again, these are just my initial thoughts on the matter, and while I would normally have waited until I had produced a workable example. I thought I might throw this out there, in case I was actually on to something, and it lit a light in someoneelses head, (maybe yours) before mine. :-)
Evil is good, for without it, Good would have no value
¡λɐp ʇɑəɹ⅁ ɐ əʌɐɥ puɐ ʻꜱdləɥ ꜱᴉɥʇ ədoH