Descompacte por bits em PHP

Eu quero descompactar uma seqüência binária em uma matriz por uma sequência estranha de 8-8-8-7 bits.

Eu poderia facilmente fazer algo assim, para uma seqüência normal de 8-8-8-8:

$b=unpack('C*',$data);
for ($i=0,$count=sizeof($b); $i < $count; $i+=4) {
$out[]=array($b[$i+1],$b[$i+2],$b[$i+3],$b[$i+4]);
}

Isso me daria uma matriz 2D de bytes, agrupados por 4.

Mas como o quarto é 7 bits, não consigo pensar em nada apropriado.

Você tem algumas ideias?

questionAnswers(1)

yourAnswerToTheQuestion