Важная информация

User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 31

Тема: Архивирование, сжатие, упаковка.

  1. #21
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking Мне самому интересно:

    как я описал скрещённый метод Хаффмана и RLE и к тому же привёл полное доказательство теоремы Хаффмана, если получается что я метод Хаффмана не знаю?
    Каждый из методов имеет ДОСТОИНСТВА и НЕДОСТАТКИ.
    т.о. суммарно (полностью итоговые данные) каждый из методов может как давать компрессию (сжатие), так и увеличение в конечном файле.
    Чем сложней метод сжатия, тем меньше вероятность возникновения такого случая, но он всегда есть:
    - Для самого простого RLE это просто очевидно
    - Для Хаффмана это не так видно, но оно обязательно есть
    - Для других методов на простейших примерах можно показать что так оно и будет, потому что ВСЕГДА можно найти последовательность, когда упаковищку придётся сохранить всю эту последовательность плюс ещё служебные данные.
    Последний раз редактировалось GriV; 01.03.2005 в 09:49.
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  2. #22
    Junior Аватар для Proteus
    Регистрация
    21.02.2005
    Адрес
    Москва
    Сообщений
    24
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В спектруме одна тока неприятность. Данные по размеру слишком малы чтобы давать эеффект. А так у хафмана сжатие есть почти всегда и таблица картины не портит. Можно ещё динамическую таблицу применять, тогда её хранить не придётся, но там уже теория от потерь не защищает и они иногда появляются.
    Ещё хафмана хорошо вместе с LZ методом применять. LZ это же по сути повторения областей, т.е. смещения и размеры памяти вот их хорошо кодировать по хафману... Работает эффектно и не нужно ломать голову над сложными методами.......

  3. #23
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation неправда

    данных достаточно, чтобы сжимать.
    К тому же все существующие методы сжатия (на всех машинах) рассчитаны на обработку кратнобайтовых последовательностей, а как показал Иван Рощин, зачастую просто преобразовав бит в байт можно сжатие значительно улучшить.
    Стоит отметить, что ни один из существующих методов не постулирует размер последовательностей и их кратность (все методы можно применять как для байтового сжатия, так и для битового)
    Всерьёз этим вопросом никто не занимался, так как получается значительное замедление процесса сжатия.
    Интереса ради можно попробовать написать (де-)скрамблер, которые будет указанное бит->байт преобразование делать, тогда и увидеть можно будет насколько вырастает эффективность сжатия.
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  4. #24
    Junior Аватар для Proteus
    Регистрация
    21.02.2005
    Адрес
    Москва
    Сообщений
    24
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сжимать последовательность битов. Модет быть такие наивные методы как RLE дадут какой-то результат. Сомневаюсь что ARI даст какой-нибудь положительный результат, и Хафман не даст тем более. На 2-символьный алфавит они никак не расчитаны. (это можно на бумаге проверить). Да упаковке программ тоже никого толка не выдет никаким способом. Можно только на картинках через LZ методы какой-то толк извлечь (и то если с умом применять).

  5. #25
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    недавно, перечитавшись статей alco и ковыряясь с переводом спековского депакера LC на пц, проникся духом сжимательства %) и написал упаковщик (пока картинок). упрощенное дерево, окно поиска в 256 байт. и тем не менее, на некоторых картинках (с большими повторяющимися площадями) настолько рвал LC, что я по три раза перепроверял результаты. что бы это могло быть? :?

  6. #26
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    недавно, перечитавшись статей alco и ковыряясь с переводом спековского депакера LC на пц, проникся духом сжимательства %) и написал упаковщик (пока картинок). упрощенное дерево, окно поиска в 256 байт. и тем не менее, на некоторых картинках (с большими повторяющимися площадями) настолько рвал LC, что я по три раза перепроверял результаты. что бы это могло быть? :?
    А если картинку в памяти вертикально разместить - улучшается ещё?

  7. #27
    Veteran Аватар для GriV
    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Smile Да нет же

    Цитата Сообщение от Proteus
    Сжимать последовательность битов. Модет быть такие наивные методы как RLE дадут какой-то результат. Сомневаюсь что ARI даст какой-нибудь положительный результат, и Хафман не даст тем более. На 2-символьный алфавит они никак не расчитаны. (это можно на бумаге проверить). Да упаковке программ тоже никого толка не выдет никаким способом. Можно только на картинках через LZ методы какой-то толк извлечь (и то если с умом применять).
    как раз RLE здесь мало чего решит. Имеется в виду не однобитные последовательности, а длинные последовательности из нескольких бит.
    Специально в целях исследования этой темы написал скрамблер и дескрамблер, который делает конверт бит->байт и наоборот. Так вот для разных файлов наблюдалась разная картина - был как прирост (на одних файлах) так и наоборот ухудшение результата (относительно конечно же того, что получалось без скремблирования) в других случаях.
    Так что получается, что говорить о том, что такой подход даёт вообще говоря значительный прирост нельзя.

    2Vitamin> чтото тебя не видно, я тебе могу исходник своего паковщика дать (на паскале только), посмотри как твой пакер работать будет на том, что остаётся несжатым.
    2lvd> сжатие картинок невертикальным линейным методом не осуществляется
    Последний раз редактировалось GriV; 14.03.2005 в 09:20.
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  8. #28
    Master Аватар для elf/2
    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    недавно, перечитавшись статей alco и ковыряясь с переводом спековского депакера LC на пц, проникся духом сжимательства %) и написал упаковщик (пока картинок). упрощенное дерево, окно поиска в 256 байт. и тем не менее, на некоторых картинках (с большими повторяющимися площадями) настолько рвал LC, что я по три раза перепроверял результаты. что бы это могло быть? :?
    в LC алгоритм тривиальный как оказалось, delc5.2 переписанный на си должен появиться в одной из следующих публикаций AlCo. если кому интересно увидеть его раньше - напишите хрумер'у, у него есть

  9. #29
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    алгоритм может быть и тривиальный. да вот реализация неплохо сделана. сам видел депакер %)

  10. #30
    Junior
    Регистрация
    05.12.2009
    Адрес
    Чебоксары
    Сообщений
    7
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Оптимизированный распаковщик сжатых по методу aPack (Jorgen Ibsen) данных

    Доброго здоровья всем! Решился наконец протестировать, прокомментировать и выложить здесь доработанный мной распаковщик знаменитого формата apack (или aplib) Йоргена Ибсена. (текст, импортирован из ALASM).

    UNAPACK.txt

    По моим замерам, скорость распаковки превосходит скорость распаковщика Hrust1 (209 байт) на 8-11 процентов.

    Теперь насчет степени сжатия: недавно появился на свет оптимизированный упаковщик по методу apack, который близко подобрался по степени сжатия к оптимизированному упаковщику oh1c (hrust1).

    Вот ссылка: http://www.amstrad.es/forum/download...73bc4fdc8ca836

    Думаю, в некоторых случаях, применение этой "пары" может иметь смысел.
    На форум захожу редко, так что извиняйте за молчание!
    Последний раз редактировалось Cheburashka; 22.07.2019 в 12:29.

  11. Эти 2 пользователя(ей) поблагодарили Cheburashka за это полезное сообщение:

    Oleg N. Cher (22.07.2019), tiboh (24.07.2019)

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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