Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Где и как это можно применять, нетипичный алгоритм архивации 
:(
    Опции темы
fxfxfx
Дата 28.11.2005, 12:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











читал не мало статей о сжатии данных путём поиска энтропии не в частоте элементов кода, а в её содержательном аспекте. Т.е. сжатие поэтических текстов, сжатие на базе стилистики определённых авторов и т.д. Но на практике не встречал реализованных архиваторов такого типа. Поэтому решил написать свой. Получилась универсальная база для сжатия любого типа информации. Для определённого вида данных подключается файл, содержащий общую иформацию о даном типе. Тестовую програмку можно скачать здесь:

http:\\logarc.narod.ru

Примечание - я установил ограничение - сжатие на 1 байт фаилов JPG, кодированных под Microsoft Paint v5.1.
Програмка просто доказывает возможность сжатия.
Процесс возврата занимает много времени, но уверен это можно исправить.

Немного терминологии:
Логическая энтропия - отношение минимально необходимого объёма информации к объёму её состояния, обеспечивающему безошибочное и полное понимание этой информации воспринимающим субъектом. По-простому, если показать фотографию А.Эйнштейна сотне людей , то 99 сразу поймут кто на ней изображен, но если отретушировать фото, убрав усы и сменив причёску, то мало кто узнает образ. Это является следствием того, что в памяти отложились наиболее яркие черты образа. Структура информации, оставленной в памяти, имеет логическую энтропию , близкую к максимуму. Применительно к структуре файлов, возможно так же выделить логическую энтропию, которой обладают все без исключения типовые данные (ZIP, RAR, EXE, COM, TXT, MP3, WAV,...). Из типов данных следует особо выделить кодированные взаимосвязанными длинами, например, вектор 3.5.2.1.4.2.1.3 в такой кодировке будет следующим: 3.+2.-3.-1.+3.-2.-1.+2. Элементы полученного вектора варьируют во взаимозависимых границах, например, если при возврате на определённом этапе получается число 2, а за ним идёт отрицательное число, то модуль этого числа не может быть больше единицы. Так же стоит обратить внимание на выражении "степень сжатия". Если понимать его как отношение исходного объёма к полученному в процессе сжатия, то получается антиномия. Согласно логическому сжатию, если к типовым данным дописать (напр. 100 байт) некоторую информацию (не обязательно типовую), то возможно сжать общий файл на объём, больший дописанной информации (напр. на 101 байт). В данном случае размер дописанной информации бужет иметь отрицательное значение.
Возможно сжатие текста (не требует дополнительной информации о формате)
  Вверх
Snowy
Дата 28.11.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Цитата(fxfxfx @ 28.11.2005, 12:39)
Microsoft Paint v5.1.

C 5.2 уже не работает.

Логически не вижу, как данное преобразование позволит увеличить компрессию.
Собственно сама идея так и не показана.
Да. Какое-то дельтакодирование. Только чем это поможет?
Сжатые данные не имеют закономерностей, соответственно дельта-кодирование не даст того результата, что с текстовыми файлами.
Алгоритм jpeg компрессии Microsoft Paint мягко говоря не впечатляет.
Фотошоп зажмет в 2 раза лучше с теми же параметрами. А этот можно даже раром дожимать.

PM MAIL   Вверх
Гость_Quest
Дата 4.12.2005, 16:26 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня была зажача - написать архиватор для txt файлов... только я вполне типичный алгоритм взял за основу... а про такие алгоритмы тоже приходилось слышать... только вот на практике я такого не видел, хотя теоритически вполне возможно... я так же рассматривал варианты подключения к основному архиву некоего ключа который бы помогал в дальнейшем распаковывать его, но у меня так ничего и неполучилось, я просто обошолся простым бинарным деревом... И кстати в теории мой архиватор (если его довести до ума) зажимал бы файл (и не тотлько текстовый, в принципе любой) очень и очень неплохо.... Один недостаток в том что он жал только один файл а вот с папками и поддерикториями уже проблема...
  Вверх
Snowy
Дата 4.12.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Цитата
я просто обошолся простым бинарным деревом...

Его можно прилично усилить, если добавить BWT преобразование.

Цитата
Один недостаток в том что он жал только один файл а вот с папками и поддерикториями уже проблема...

Это вовсе не проблема. ZLib, например тоже не жмет файлы, а только поток данных.
Я без труда прикрутил к нему такую возможномть.
Просто в конец файла нужно прикрутить файловую таблицу.
Плюс к этому автоматически добавляется solid компрессия.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.