Сжатие информации
Взгляд
из космоса
Обратите внимание. На
бухгалтерском калькуляторе три кнопки для того, чтобы набрать 0, 00, 000
Прочитайте вслух значение поля “Корр. счёт”

Нарисуем “фотографию” космоса. Зальем весь кадр черным
цветом

Сохраним как *.bmp файл

Внутри черного *.bmp файла одни нули после обязательного
заголовка

А можно
быстрее?
Первый ряд: 1152 черные точки
Второй ряд: 1152 черные точки
Третий ряд: 1152 черные точки
…
Последний ряд: 1152 черные точки
Всего 648 строк
648 сообщений
Первый ряд: 1152 черные точки
Второй ряд: 1152 черные точки
Третий ряд: 1152 черные точки
…
Средний ряд: 500 черных точек, 152 белые точки, 500 черных
точек
…
Последний ряд: 1152 черные точки
Всего 648 строк примерно 1048 сообщений Первый ряд: 64
черные точки, 64 белые точки, 64 черные точки… и так 18 раз
…
Последний ряд: 64 белые точки, 64 черные точки, 64 белые
точки… и так 18 раз
Всего 648 строк примерно 11664 сообщений 
последовательностей
Запомни
1
последовательность: 64 черные точки, 64 белые точки, 64 черные
точки…и так 18 раз
2
последовательность: 64 белые точки, 64 черные точки, 64 белые
точки…и так 18 раз
Первый ряд: 1 последовательность
Второй ряд: 1 последовательность
…
65 ряд: 2
последовательность
66 ряд: 2
последовательность
Всего 648 строк
2 последовательности
648 сообщений
последовательностей
Запомни
1 последовательность: синяя точка, красная точка, желтая
точка…
Первый ряд: 1 последовательность
Второй ряд: 1 последовательность
…
Последний ряд: 1 последовательность
Всего 648 строк
1 последовательность
648 сообщений
последовательностей. Ага!

Разобьем длинные последовательности на более мелкие

Разобьем длинные последовательности на более мелкие

Сколько раз используется та или иная последовательность

Сколько раз используется та или иная последовательность
●

А: 64 ч * 4 - 4 шт
●
Б0: 64 б, 64 ч, 64 б, 64 ч - 2 шт
●
Б1: 64 ч, 64 б, 64 ч, 64 б - 4 шт
●
Г1: 64 ч, 64 б - 2 шт
●
Г0: 64 б, 64 ч - 2 шт
●
В: 64 ч * 2 - 4 шт
●
Д1: 64 ч - 4 шт
●
Д0: 64 б - 3 шт
Отсортируем по убыванию количества использования
●

А: 64 ч * 4 - 4 шт
●
Б1: 64 ч, 64 б, 64 ч, 64 б - 4 шт
●
В: 64 ч * 2 - 4 шт
●
Д1: 64 ч - 4 шт ● Д0: 64 б - 3 шт
●
Б0: 64 б, 64 ч, 64 б, 64 ч - 2 шт
●
Г1: 64 ч, 64 б - 2 шт
●
Г0: 64 б, 64 ч - 2 шт
Отсортируем по убыванию количества использования
●
А: 64 ч * 4 - 4 шт
●
Б1: 64 ч, 64 б, 64 ч, 64 б - 4 шт
●
В: 64 ч * 2 - 4 шт
●
Д1: 64 ч - 4 шт ● Д0: 64 б - 3 шт
●
Б0: 64 б, 64 ч, 64 б, 64 ч - 2 шт
●
Г1: 64 ч, 64 б - 2 шт
●
Г0: 64 б, 64 ч - 2 шт
Приём!
1 строка: Б1, Б1, Д1
65 строка: Б0, Г0, Д0, В
129 строка: Б1, Г1, Д1, В
… Б0, Д0, А
… Б1, Д1, А
… Г1, Д0, В, А
… Г0, Д1, В, А
Чем чаще используется последовательность, тем короче нужно
её назвать
●
А: 64 ч * 4 - 4 шт
●
Б1: 64 ч, 64 б, 64 ч, 64 б - 4 шт
●
В: 64 ч * 2 - 4 шт
●
Д1: 64 ч - 4 шт
●
Д0: 64 б - 3 шт
●
Б0: 64 б, 64 ч, 64 б, 64 ч - 2 шт
●
Г1: 64 ч, 64 б - 2 шт
●
Г0: 64 б, 64 ч - 2 шт
название человеческое последовательность
1 А, 4 шт 1*64*4
01 Б1, 4 шт 1*64+0*64+1*64+0*64
0011 В, 4 шт 1*64*2
0010 Д1, 4 шт 1*64
00010 Д0, 3 шт 0*64
00011 Б0, 2 шт 0*64+1*64+0*64+1*64
Заменим человеческие названия на короткие
Приём!
|
|
|
1
строка:
|
Б1,
Б1, Д1
|
01,01,0010
|
65
строка:
|
Б0,
Г0, Д0, В
|
00011, 000011, 00010, 0011
|
129
строка:
|
Б1,
Г1, Д1, В
|
01,
000010, 0010, 0011
|
…
|
Б0,
Д0, А
|
00011,
00010, 1
|
…
|
Б1,
Д1, А
|
01,
0010, 1
|
…
|
Г1,
Д0, В, А
|
000010,
00010, 0011, 1
|
…
|
Г0,
Д1, В, А
|
000011,
0010, 0011, 1
|
|

|
название
|
человеческое
|
последовательность
|
1
|
А, 4
шт
|
1*64*4
|
01
|
Б1,
4 шт
|
1*64+0*64+1*64+0*64
|
0011
|
В, 4
шт
|
1*64*2
|
0010
|
Д1,
4 шт
|
1*64
|
00010
|
Д0,
3 шт
|
0*64
|
00011
|
Б0,
2 шт
|
0*64+1*64+0*64+1*64
|
|
Сколько бит нужно для передачи данных одной строки
Приём!
|
|
1
строка: Б1, Б1, Д1 01,01,0010
|
8 бит*
64
|
65
строка: Б0, Г0, Д0, В 00011, 000011, 00010, 0011
|
20 бит
* 64
|
129
строка: Б1, Г1, Д1, В 01, 000010, 0010, 0011
|
16 бит
* 64
|
…
|
Б0,
Д0, А 00011, 00010, 1
|
11 бит
* 64
|
…
|
Б1,
Д1, А 01, 0010, 1
|
7 бит
* 64
|
…
|
Г1,
Д0, В, А 000010, 00010, 0011, 1
|
16 бит
* 64
|
…
|
Г0,
Д1, В, А 000011, 0010, 0011, 1
|
15 бит
* 64
|
|
Итого:
|
5953 бита или 744 байта
|
название
|
человеческое последовательность
|
|
1
|
А, 4
шт 1*64*4
|
|
01
|
Б1, 4
шт 1*64+0*64+1*64+0*64
|
|
0011
|
В, 4
шт 1*64*2
|
|
0010
|
Д1, 4
шт 1*64
|
|
00010
|
Д0, 3
шт 0*64
|
|
00011
|
Б0, 2
шт 0*64+1*64+0*64+1*64
|
|
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.