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

User Tag List

Страница 12 из 12 ПерваяПервая ... 89101112
Показано с 111 по 114 из 114

Тема: Сжатие и упаковка. hrum3.5, hrust1, hrust2, laser compact x.x.

  1. #111
    Member
    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    60
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вам конкретно номер строки назвать? Или намекаете, что range coding и арифметическое кодирование - это не одно и то же?

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

    По умолчанию

    Цитата Сообщение от Eugene85 Посмотреть сообщение
    Вам конкретно номер строки назвать? Или намекаете, что range coding и арифметическое кодирование - это не одно и то же?
    Если не затруднит. Лично я во внутренностях lzma не копался, только юзал через API.

  3. #113
    Member
    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    60
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я покопал подробнее, оказывается range coder в LZMA кодирует только однобитные значения. Т.е. упрощён донельзя. А уже на его базе реализуется всё остальное. Например, кодирование произвольного алфавита делается так: таблица символов представляется деревом, спускаемся по дереву, кодируя на каждом шаге направление спуска влево или вправо.

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

    Неплохое описание нашлось в английской википедии.

    Если всё ещё интересны исходники, берём LZMA SDK. Ядро кодера находится в файле \C\LzmaEnc.c, функции RangeEnc_*, LitEnc_*, RcTree_*. Декодер - в файле C\LzmaDec.c, первые 67 строк.

  4. #114
    Member
    Регистрация
    16.11.2014
    Адрес
    г. Абакан
    Сообщений
    60
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По просьбам трудящихся исходники oh1c/oh2c переезжают в публичный репозиторий: https://gitlab.com/eugene77/optimal-hrust-compressor

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

    Dart Alver (09.08.2020), Destr (02.01.2020), Dimon spb (17.10.2022)

Страница 12 из 12 ПерваяПервая ... 89101112

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

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

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

Похожие темы

  1. Архивирование, сжатие, упаковка.
    от GriV в разделе Программирование
    Ответов: 30
    Последнее: 22.07.2019, 17:25
  2. ɹǀɩ ATARI. Упаковка данных
    от breeze в разделе Atari
    Ответов: 4
    Последнее: 16.11.2014, 15:55
  3. Баг в depacker от hrust1.3?
    от moroz1999 в разделе Программирование
    Ответов: 65
    Последнее: 17.04.2014, 10:39
  4. Упаковка текстов
    от Shadow Maker в разделе Программирование
    Ответов: 18
    Последнее: 10.10.2008, 21:43

Ваши права

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