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

User Tag List

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 31

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

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

    Exclamation и ещё, насчёт формул, даже если их набрать в Worde

    а я их набирал ваще в FAR'e, даже после этого оны выглядят так, что от одного их вида становится не очень хорошо.
    Поэтому там есть ремарка, что стоит повторять вывод формул на бумаге (если конечно это кого-то интересует), тогда всё будет более или менее понятно.
    Я могу дать исходный файл как есть, однако уверяю что этого оно всё равно не красиво

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

    По умолчанию ARI

    А никто не пробовал арифметическое сжатие построить ?
    Пусть даже и получится плохо. Но интересно было бы посмотреть...

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

    По умолчанию

    Цитата Сообщение от Proteus
    А никто не пробовал арифметическое сжатие построить ?
    Пусть даже и получится плохо. Но интересно было бы посмотреть...
    я пробовал. результат смотри в одном из номеров InfoGuide (6 кажется)
    исходные файлы жмет хуже чем обычные паковщики (hrust, hrip) но позволяет неплохо дожимать их (за исключением раров). недостаток- очень медленная скорость упаковки/распаковки

  4. #14
    Member
    Регистрация
    17.01.2005
    Адрес
    Gorno-Altaysk
    Сообщений
    82
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Привет!

    Сейчас посмотрел - нет в IG6 arif16m.H. Только статья. Страшный монстр на асме получился? Какой длины? Как я понял, в твоей реализации количество кодов -256. Пробовал уменьшить их до 32, например? Как это бы повлияло на твою реализацию (скорость работы, длина программы)?
    Дожимать выход именно LZ не пробовал?

    Пока. Дима.

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

    Smile Сейчаз уже есть отлаженная программа

    которая формирует конкретные данные, релизующие указанный метод сжатия (правда на Pascal на PC), так вот первые результаты не могут не радовать: действительно, таблица исходных данных хорошо жмётся (всем кроме RLE ), это было видно на RAR, HA, ZIP и т.д., суммарно (т.е. исходя из размеров полученных таблиц с исходными даннымии служебными данными), получается прирост коэффициента сжатия на 10% (в среднем, сравнивается файлы от LC), однако если даже написать указанный пакер на Спектруме, то он будет слишком медленным: во-первых, задача подбора коэффициентов C[i], во-вторых, распаковка в битовом потоке, в-третьих, битовое представление дерева (не-)повторов. И наконец, распаковка исходных данных, что подразумевает либо метод Huffmana (изначально медленный, так как тоже битовый) либо LZ* (частично в битовом представлении).

  6. #16
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GriV
    во-вторых, распаковка в битовом потоке, в-третьих, битовое представление дерева (не-)повторов. И наконец, распаковка исходных данных, что подразумевает либо метод Huffmana (изначально медленный, так как тоже битовый) либо LZ* (частично в битовом представлении).
    если не ошибаюсь все это есть в Rip, тормозит конечно, но вполне терпимо

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

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

    Arrow Нет, RIP использует чистый Huffman

    во всяком случае из описания я так понял, RLE там не пахнет
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

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

    По умолчанию

    Цитата Сообщение от Hrumer
    Привет!

    Сейчас посмотрел - нет в IG6 arif16m.H. Только статья. Страшный монстр на асме получился? Какой длины? Как я понял, в твоей реализации количество кодов -256. Пробовал уменьшить их до 32, например? Как это бы повлияло на твою реализацию (скорость работы, длина программы)?
    Дожимать выход именно LZ не пробовал?

    Пока. Дима.
    там архив есть sources.rar ищи там.

    монстр не сильно страшный- я его сначала писал внаглую с сишного исходника (который в свою очередь выдрал из связки LZSS+Arifm) а потом проводил жестокую оптимизацию, успешно продолженую алко.

    число кодов уменьшить можно. надо уменьшить размер таблицы частот и изменить счетчик битов чтобы он пустые нули не учитывал при сжатии

    пробовал дожимать файлы после хрипа. выигрыш- от 5 до 20% получался.

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

    По умолчанию

    Цитата Сообщение от GriV
    Но этот метод имеет свои недостатки: для последовательностей, где нет ярко выраженных лидеров частот (т.е. после частотного анализа
    все значения лежат более-менее в одной категории), этот метод даст увеличение конечного файла относительно исходного.
    Сорри что я тут встреваю. Но вообще-то Хафманское и арифметическое сжатие, это методы которые не дают потерь. И в худшем случае размер данных никогда не увеличивают. Если не считать того что приходится хранить таблицу (на практике я в этом сам убеждался, немного сжимаются даже случайные данные).

    В Хафмане дерево строится так. Берутся символы считается число их вхождений в файл. Допустим если у нас есть 4 символа A,b,c,d которые появляются в файле 10 33 45 99 раз. Мы составляем таблицу в которой находим два самых редких символа и суммируем их числа. В итоге получается как бы их общее число вхождений которые мы вставляем в таблицу вместо этих двух(в соотвествующее место). Затем делаем тоже самое, в двумя самыми редкими элементами и так пока не останется два элемента....
    В итоге (см. картинку символы будут кодироваться так) -
    A - 0, B - 11, C - 100, D - 101
    В итоге весь файл длиной 191 байт у нас умещается в 64 байта...
    Саму систему составления кодов можно сделать ввиде односвязного списка в котором нужно выделить максимум 512 элементов. На спектруме особых проблем с памятью и скоростью упаковки не возникает....

    Надеюсь что я изложил достаточно понятно. (не могу сейчас как следует свои слова обдумать, потому что из дома надо уходить, т.к. опаздываю)

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

    По умолчанию

    ............
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	1.GIF 
Просмотров:	351 
Размер:	1.9 Кб 
ID:	226  

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

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

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

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

Ваши права

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