Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.05.2009, 17:28
Ner0 Ner0 вне форума
Прохожий
 
Регистрация: 12.05.2009
Сообщения: 1
Репутация: 10
Вопрос Сильный архиватор

Есть такая идея архиватора, жаль немогу реализовать мозга нехватает.
Например есть файл 5мб неважно какой (буть то музыка или текст сжатие поидеи будет одинаковое).
- идет анализ файла на повторяющееся фрагменты
-потом в числовом еквиваленте высчитываеться сколько таких маментов
- затем наиденый блок под номером 1 пример: "а3и8иа3л8шо рс" который повторился 450 раз... будет заменен на бит и записать в начале файла сигнатуру
строения:

[
а3и8иа3л8шо рс-1;
28рьп972р4а4у-2;
...
"здесь зашифрованое тело"
END;
]

тем самым даже фильм будет ужиматься как текстовик. (в теории) жду отписаний. может разобьем тему...
Ответить с цитированием
  #2  
Старый 12.05.2009, 19:00
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Вообщето все архиваторов и работают на замене повторяющихся фрагментов. Меняются только алгоритмы поиска
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 12.05.2009, 22:24
Аватар для 0nni
0nni 0nni вне форума
Начинающий
 
Регистрация: 13.12.2008
Адрес: Туапсе
Сообщения: 161
Репутация: 20
По умолчанию

Вспоминаю себя, я как то придумал просто невероятный способ сжатия изображений, оказалось - убогое подобие gif.
__________________
...сказал, и загрустил от бесспорной своей правоты
Ответить с цитированием
  #4  
Старый 13.05.2009, 07:23
Rat Rat вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 391
Репутация: 6078
По умолчанию

http://www.compression-links.info/
Ответить с цитированием
  #5  
Старый 13.05.2009, 09:39
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
По умолчанию

http://algolist.manual.ru/compress/standard/
Ответить с цитированием
  #6  
Старый 13.05.2009, 22:05
Аватар для Sphinx
Sphinx Sphinx вне форума
Прохожий
 
Регистрация: 27.04.2009
Адрес: Kemcity
Сообщения: 36
Репутация: 12
По умолчанию

а у меня в начале изучения Дельфи и разработке в нем СУБД, родилась идейка,что можно не только данные хранить в БД , но и обработки и т.д. и всю прогу динамически создавать из БД.... Оказалось это паттерн и его какойто мужик еще в 90х его предложил... вот сцобако.. я чуть не плакалъ
Ответить с цитированием
  #7  
Старый 17.05.2009, 10:15
UltraBloxX UltraBloxX вне форума
Новичок
 
Регистрация: 13.05.2009
Сообщения: 66
Репутация: 10
По умолчанию

Да. Гениально... "а3и8иа3л8шо рс". Таким способом только тексты жать, потому что при чтении бинарника, будь то исполняемый файл, или обычный фильм, при чтении его как TextFile данные будут искажаться...

Чтобы НАДЕЖНО сжимать информацию надо её жать побайтово. Чтобы ЭФФЕКТИВНО жать побайтово, надо иметь ДИНАМИЧЕСКИЙ размер куска. А чтобы иметь ДИНАМИЧЕСКИЙ размер куска, надо чтоб в таблице кусков хранился размер "блока", а лучше чтоб еще хеш-сумма.

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

Да, и с чего это ты взял что фильмы плохо жмутся? Они оооочень офигительно жмутся. Я сам пробовал: в рар-архив мне успешно удалось ужать 1.5 Гигабайтов видео в 35-метровый файл... Впечатляет? Да удалось потому, что жать в рар надо фильмы не сжатые - Полные Кадры. Как мы знаем, двойное сжатие одного файла эффекта даст мало. Ведь видеокодеки делают почти тоже самое. Берут файл, анализируют изменения в последующем кадре, оставляют только изменившуюся часть и пережимают.
Ответить с цитированием
  #8  
Старый 20.05.2009, 09:35
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Автор жжот :-) хм, слушай, а ты про кодеки что-нибудь слышал? Это ж по сути и есть архиваторы для видео, звука. Только объектом рассмотрения там является не массив байт, а видео и аудио фрагменты. 80метровый wav сжимается в 5метровый mp3. (отдельный разговор про алгоритмы сжатия с потерями). Покажи мне архиватор который достигнет таких же результатов? От себя могу добавить что rar, cab близки к этому, но и тот и другой сжимают их по несколько другому алгоритму чем просто данные (в их коде сам не разбирался, но как пишут - так и повторяю)

видео.. А ты в курсе почему архивы либо не сжимаются, либо степень компрессии очень маленькая? Да потому что энтропия усредняется (читай частота повторения символа)! Поэтому никаких повторяющихся последовательностей ты там не найдешь :-)

в настоящее время популярны алгоритмы класса ppm и lz, на их основе с некоторыми модификациями люди достигают результатов и получше чем 7z..

теория по этой теме достаточно объемная, но русскоязычной - кот наплакал :-(
почитай для начала кто такой Хаффман. Осиль Шенона. Потом переходи к модификациям lz. Если будут ещё вопросы, спрашивай :-)

а. Да :-) совсем забыл www.compression.ru -много теории, книг, примеров. Сравнительные тесты, авторские проекты. Посмотри на досуге.
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.

Последний раз редактировалось Ferra, 20.05.2009 в 09:56.
Ответить с цитированием
  #9  
Старый 20.05.2009, 10:27
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Цитата:
Сообщение от UltraBloxX
...потому что при чтении бинарника, будь то исполняемый файл, или обычный фильм, при чтении его как TextFile данные будут искажаться...

Это с какого перепугу?
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #10  
Старый 20.05.2009, 10:29
Аватар для Ferra
Ferra Ferra вне форума
Местный
 
Регистрация: 12.03.2006
Адрес: Минск
Сообщения: 527
Репутация: 1336
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Это с какого перепугу?

Видимо UltraBloxX в мемо читает
__________________
Нет повести печальнее на свете, чем повесть о заклиневшем Resete.

Последний раз редактировалось Ferra, 20.05.2009 в 10:39.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter