2009-12-11 6 views
1

http://en.wikipedia.org/wiki/Data_compression#Lossless_data_compressionКонцепции: любое сжатие данных без потерь может быть «поражение», право

Для любой схемы сжатия, можно обеспечить ввод образца, что приведет к не экономиям в пространстве, прямо

+1

Очевидно. Примеры включают сжатие уже сжатых данных или потоков случайных данных. – 2009-12-11 19:12:00

+0

Вы имеете в виду схемы общего назначения сжатия или абстрактно говоря о любой схеме сжатия в любой области? Для первого: да. Для последнего я бы сказал: нет. –

+0

универсальный; Я уже думал о примере «zipping zip file». Я думал о более простых вопросах: «Если я дам вам поток целых чисел, вы можете сжимать их всегда?» –

ответ

5

Да, всегда есть что-то, что будет расти. Принцип «голубиная скважина» гласит, что если у вас есть количество входов и функция «1 к 1» (сжатие без потерь), то количество выходов должно быть таким же, как и количество входов.

Если входы представляют собой файлы из N бит, то количество входов составляет 2**N, а количество выходов - 2**N. Вы не можете хранить много разных выходов в файлах, все меньше N бит.

+0

не означает, что все без потерь сжатие вообще бесполезно? –

+0

Теоретически не нужно, чтобы что-то было больше. Но мы можем гарантировать, что есть входы, которые по крайней мере такие же большие. – recursive

+2

Конечно, если вход не увеличивается, то ни один вход не может быть меньше. –

1

Правильно? . Попробуйте сжать файл почтового индекса ... если данные уже сжаты, вы не сможете получить дополнительную компрессию.

4

для любой схемы сжатия, один может обеспечить ввод образца, который будет результат отсутствие экономии пространства, правильно?

Да: Один бит.

+0

Пустая строка также будет работать. –

2

Абсолютно.

Если бы это не так, вы могли бы, вероятно, запустить выход сжатия в компрессор снова ad infinium для лучшего сжатия, пока не дойдете до одного бита. Это, очевидно, невозможно.

+0

Хотя было бы неплохо ... –

0

«Если я дам вам поток целых чисел, вы можете сжимать их всегда?»

В примере с «zipping zipfile» почему вы думаете о байтах в zipfile как о чем-то отличном от потока целых чисел?

Это был довольно краткий пример экземпляра, когда вы могли «победить» сжатие данных без потерь.

Смежные вопросы