Comprimir una matriz binaria

e nos pidió encontrar una manera de comprimir una matriz binaria cuadrada tanto como sea posible y, si es posible, agregar bits de redundancia para verificar y tal vez corregir errores.

Lo redundante es fácil de implementar en mi opinión. La parte complicada es comprimir la matriz. Pensé en usar la longitud de ejecución después de cambiar la forma de la matriz a un vector porque habrá más ceros que unos, pero solo logré una compresión de 40 bits (estamos trabajando en tamaños pequeños) aunque pensé que sería mejor.

Además, después de la ejecución, una idea fue que Huffman codificara la matriz, pero se debe enviar un diccionario para recuperar la información original.

Me gustaría saber cuál sería la mejor manera de comprimir una matriz binaria.

Después de leer algunos comentarios, sí @Adam tienes razón, la matriz de 14x14 debe comprimirse en 128 bits, por lo que si solo uso las coordenadas (filas y columnas) para cada elemento que no sea cero, seguiría siendo 160 bits (ya que hay veinte unos) No estoy buscando una solución exacta sino una idea útil.

Respuestas a la pregunta(4)

Su respuesta a la pregunta