I have found this statement about Johnson Counter :
A Johnson counter requires decoding gates whereas a ring counter doesn't. As with the binary counter, one logic gate (AND gate) is required to decode each state, but with the Johnson counter, each gate requires only two inputs, regardless of the number of flip-flops in the counter.
What does this decoding gates mean and how to implement it?
The reference link is here: https://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cwl3/report.html#johnson