Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наилучший алгоритм сжатия данных? 
:(
    Опции темы
KIDD
Дата 11.4.2004, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 19.3.2004

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



Товарищи, подскажите, какой наилучший есть алгоритм сжатия для данных (на С-С++), и не супер мудреный?(Данные простые-т.е. цифровые)?

PM MAIL   Вверх
dwr_budr
Дата 11.4.2004, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 11.4.2004

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



А какие данные конкретно?
Или вообще все чего угодно бинарное и текстовое?

Ну классикой никого не удивить, но раз такое дело то грех не упомянуть

Статистический анализ: Хаффман, Арифметическое кодирование
Словарный анализ: LZW
Прадедушка всех сжатий: RLE

На практике их можно совместить smile.gif

Легкие и достаточно эффективные для своей легкости smile.gif

PM MAIL   Вверх
oleg1973
Дата 11.4.2004, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



PPM алгоритм
жмет круче рара


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
KIDD
Дата 15.4.2004, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 19.3.2004

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



Жать надо непрерывный поток числовых двоичных данных (0101010101),
а также десятичных.???Так какой способ лучше ,после этого уточнения??
PM MAIL   Вверх
dwr_budr
Дата 15.4.2004, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 11.4.2004

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



Да если просто обычный бинарный файл по сути с случайным наполнением то закодь LZW и все дела!
2:1 примерно будет давать
где-то лучше, где-то даже гораздо хуже
зависит не только от самого LZW, а собственно от того насколько сам файл сжимаем... ну и еще от того как ты реализуешь работу со словарем

тут тьюториалы и апплеты
http://www.cs.sfu.ca/CC/365/li/squeeze/
или тут
http://www.compression.ru/arctest/descript/lzwcomp.htm

про PPM проверь тоже.. я просто им не занимался и не знаю насколько он сложный или нет

удачи smile.gif
PM MAIL   Вверх
Дрон
Дата 15.4.2004, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

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



Алгоритм Хаффмана довольно прост в реализации.
Текстовики жмёт круто smile.gif А вот с произвольным двоичным файлом будет хуже.



--------------------
Да. Именно так.
PM   Вверх
Monty
Дата 2.5.2004, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа

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



Цитата(KIDD @ 14.4.2004, 22:29)
Жать надо непрерывный поток числовых двоичных данных (0101010101),
а также десятичных.???Так какой способ лучше ,после этого уточнения??

Перекодируем в биты и будем жать биты smile.gif ... все легко smile.gif ... а что жмет биты? smile.gif ...


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
DenDen
Дата 3.5.2004, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 25.3.2004

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



1)Самый легкий в реализации арифметик и PPM на его основе.PPM-5(или 6) дает лучший результат(для арифметика).Чтобы проще было писать надо обычно забивать на перенос.
2)Хаффман+арифметик(сглаженный Хаффман)--обычно очень прост и впечатляющ по сжатию.
3)Поток(с незаданными частотами появления символов) данных в институтах обычно требуют жать LZW.
4) Если данные известны, то лучший алгоритм по сжатию(естессно с потерями)-- JPEG с заменой БПФ на разложение в ряд Тейлора(банально, не правда ли smile.gif ).
5) Если в потоке неупакованные BCD числа, то их упаковка уже сожмет данные в два раза. wink.gif
6)Чистые биты жмуться свертыванием по Хаффману(это не к тому, что у меня нет чуства юмора).
З.Ы. Постараюсь найти у себя довольно приличный(бистрый),хотя и дурно написанный арифметик+PPM-5.

Это сообщение отредактировал(а) DenDen - 3.5.2004, 17:01
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


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

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


 




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


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

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