2017-01-27 14 views
0

Я вижу, что проблема случайного считывания сжатых данных обычно разрешается с помощью блочного сжатия, что позволяет начать декомпрессию в ближайшей стартовой позиции сжатого блока, которая, в зависимости от размера блока, должна быть близка к тому, где пользователь действительно хотел начать декомпрессии из. Тем не менее, мне любопытно, существует ли какой-либо алгоритм сжатия, который позволяет декомпрессии действительно начинать с любой позиции в сжатом потоке.Есть ли формат сжатия, который позволяет декомпрессировать в любой точке файла?

ответ

1

Конечно нет стандартного формата сжатия. Я мог представить себе простую, фиксированную кодировку Хаффмана символов, для которой вы могли бы войти в поток не где угодно, а в начале любого кода Хаффмана. Однако без индекса такого размера, как сам файл, не было бы способа узнать, какие места бит являются началом кодов. В любом случае сжатие было бы не впечатляющим, если бы только Хаффман.