Предыдущий блок | Следующий блок | Вернуться в индекс |
— RU.COMPRESS From : Dmitriy Ryzhov 2:5020/400 02 Dec 99 03:25:26 To : All Subj : Re: Что бы это могло быть? From: "Dmitriy Ryzhov" <dryzhov@dialup.ptt.ru> Hello, All! > Вполне вероятно, что они не стали использовать открытый алгоритм сжатия. Точнее > будет назвать исходный алгоритм DEFLATE, а не ZIP. Кстати, насчёт zlib'а. Где к нему примеры можно найти. А то вот у меня на deflateInit вылетает, В чём прикол не дошло до сих пор; compress/decompress работает, gzopen и т.п. тоже (алгоритм я так понял у них всех один и тот же?). > А зачем оно? Декомпилятор пишешь? ;-) Да какой декомпилятор! Просто нужна возможность непосредственного изменения программы на внутреннем языке проги без использование собственно этой программы. Всё это будет использоваться в одной примбабасине(вполне законной) к этой проге. Просто товарищи из фирмы молчат как партизаны ((( > Вообще я бы посоветовал поизучать их zlibeng.dll как только можно. Я думаю, > что там используется свой статический Хаффман, основанный на частотах букв > английского алфавита. Так что можно попробовать найти этот хаффмановский > алфавит (не анализом - заипаешься(хотя если другого выхода не будет, то > придется), а поискать в инете или где-нибудь еще). Да уж, придётся мне алгоритмами компрессии всерьёз заниматься. --- ifmail v.2.14dev3 * Origin: Demos online service (2:5020/400) — RU.COMPRESS From : Agner Fog 2:5020/530.18 02 Dec 99 04:16:21 To : Vadim Yoockin Subj : BWT FAQ Hi, Vadim! "Vadim Yoockin" sendTo: "Bulat Ziganshin" when: [01 Dec 99] msg: VY>>>> Странно, по Фогу cmp и dec тоже спариваются с jXX... BZ>> Hу народ, ну что вы. Спариться-то они могут, а вот зависимость BZ>> по FLAGS не вносит задержку только для одной пары. Все ж BZ>> описано... VY> Если уж на то пошло, перед dec/jne мы можем поместить инструкцию, VY> сбрасывающую ZF и задержки не будет ;) Вы все обкурились и гоните. Unexpectedly (and contrary to what Intel manuals say) you also get a partial fl ags stall after an instruction that modifies some of the flag bits when reading only unmodified flag bits: CMP EAX, EBX INC ECX JB XX ; partial flags stall but not when reading only modified bits: CMP EAX, EBX INC ECX JE XX ; no stall taste you later, agner --- GoldED 2.50+ * Origin: morf@softhome.net (2:5020/530.18) — RU.COMPRESS From : Vadim Yoockin 2:5020/400 02 Dec 99 10:06:29 To : Agner Fog Subj : Re: BWT FAQ From: "Vadim Yoockin" <vy@thermosyn.com> Hello, Agner Fog ! You wrote: Дима, у тебя мания величия :) > VY>>>>> Странно, по Фогу cmp и dec тоже спариваются с jXX... > > BZ>>> Hу народ, ну что вы. Спариться-то они могут, а вот зависимость > BZ>>> по FLAGS не вносит задержку только для одной пары. Все ж > BZ>>> описано... > > VY>> Если уж на то пошло, перед dec/jne мы можем поместить инструкцию, > VY>> сбрасывающую ZF и задержки не будет ;) > VY> Конечно, устанавливающую, я хотел сказать... ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Вы все обкурились и гоните. Этой фразы не было в оригинале :) >Unexpectedly (and contrary to what Intel manuals say) you also get a partial >flags stall after an instruction that modifies some of the flag bits when >reading only unmodified flag bits: > CMP EAX, EBX > INC ECX > JB XX ; partial flags stall >but not when reading only modified bits: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Вот, перечитай подчеркнутые фразы... > CMP EAX, EBX > INC ECX > JE XX ; no stall Всего доброго, Вадим. --- ifmail v.2.14dev3 * Origin: Fidolook Express http://fidolook.da.ru (2:5020/400) — RU.COMPRESS From : Eugene Pazhitnov 2:5020/40.22 02 Dec 99 14:06:55 To : All Subj : Кодиpование Гляну я на то, что здесь вообще творится, и ничего вам на это не скажу, кроме: Отцы, не совсем по теме, но только тут, как мне кажется, есть спецы по сабжу. С пол-года назад написал утильку, котоpая кодиpует пpоизвольные двоичные данные в файл, содеpжащий только указанные символы. Что-то типа UUE (BINHEX, BASE64), но эффективней: скажем 217 символов (вместо 64 как у вышепеpечисленных). Использовал следующий алгоpитм: ========== Гляну я на файл CREEPER.DOC и почти ничего не вставлю ========== >... ПРИЛОЖЕHИЕ А. Принцип работы. В основе программы лежит использование кодов переменной длины. Входной поток рассматривается как поток битов, который кодируется с помощью указанного алфавита. Пусть у нас есть алфавит допустимых символов размером n, тогда символы с кодом больше или равным stp=2^[log2(n)+1]-n, где квадратные скобки обозначают целую часть, получают дополнительный бит. Если: n - размерность алфавита a[n] - алфавит допустимых символов nb = [log2(n)] stp=2^[log2(n)+1]-n То алгоритм кодирования будет следующим: 1. Взять из входного потока nb битов в C 2. Если C >= stp 3. Вдвинуть еще один бит из входного потока в C 4. Выдать символ a[C-stp] в выходной поток 5. Иначе 6. Выдать символ a[C] в выходной поток 7. Если не конец входного потока, то перейти к п.1 Алгоритм декодирования: 1. Взять из входного потока символ 2. Преобразовать его в код C в соответствии с алфавитом a[n] 3. Если C >= stp 4. C = C - stp 5. Выдать (nb+1) битов из C в выходной поток 6. Иначе 7. Выдать nb битов из C в выходной поток 8. Если не конец входного потока, то перейти к п.1 >... ========== Гляну я на конец файла CREEPER.DOC, и ничего не скажу ========== Сам CREEPER.COM, кстати, 11 кб. Так вот, не изобpетал ли я велосипед, и, может, есть какие-то более "пpавильные " методы и алгоpитмы? Разумеется, я исходил из задачи кодиpования пpедваpительн о сжатых данных. Описания не пpошу, дайте хотя бы название, а уж в интеpнете ка к-нибудь поpоюсь... С уважением, [NW SDK Vol.#14] [Домашний адрес - 2:5099/8.22] Женя. [Team Кодиpование] --- Дед-пpогpаммист, пишущий NLMы под нетваpь 3.00.Beta5+ * Origin: Tetris Hating Club (2:5020/40.22) — RU.COMPRESS From : Pavel Fomin 2:5026/45.13 02 Dec 99 17:24:30 To : Vladimir Semenjuk Subj : Re: Идея+вопрос Hi Vladimir! 01 Dec 99 15:55, you wrote to All: >> Вопрос 1: как закодировать произвольное число так, чтобы меньшие >> числа VS> были >> представлены меньшим количеством битов? VS> Кодом Левенштейна. Он для этого и предназначен. Принцип построения? VS> направлении, попробуй сначала LZW+Huffman/arithmetical coding. Это, Как совмещать? Huffman'ом по номерам цепочек? VS> Все это еще в 80-х придумали и уже давно не используют. VS> Попробуй CTW покопать - молодое и очень перспективное направление :) VS> PS. Алгоритм LZW принадлежит семейству LZ78. Семейство LZ78: LZ78, VS> LZW, LZC, LZT, LZMV, LZRW5, LZWS1-2. Где почитать про все вышеупомянутые методы? Уж очешь интересно стало. VS> PS2. Hедостаток твоего подхода в том, что коды твоего имени VS> предназначены для произвольного числа, а ты их стараешься применять VS> для конечных наборов чисел. Hа этом можно сильно проиграть. То есть? PS: когда на LZW,арифм. кодер и проч. закончится срок патента? Pasha 1st ... Говорила мне мама: "Hе лезь в системщики" --- GoldED/W32 3.0.1-asa9 SR3 * Origin: Windows имеет всех, кто ее имеет (2:5026/45.13) — RU.COMPRESS From : Pavel Fomin 2:5026/45.13 02 Dec 99 20:36:40 To : Vadim Yoockin Subj : Re: Идея+вопрос Hi Vadim! 01 Dec 99 22:22, you wrote to me: VY> К сожалению, практически по всем значениям они будут VY> длиннее, например, тех же кодов Голомба, скажем, VY> Golomb(4)... Принцип образования? Pasha 1st ... Говорила мне мама: "Hе лезь в системщики" --- GoldED/W32 3.0.1-asa9 SR3 * Origin: Windows имеет всех, кто ее имеет (2:5026/45.13) — RU.COMPRESS From : Pavel Fomin 2:5026/45.13 02 Dec 99 21:15:53 To : Denis Danchenko Subj : Re: Идея+вопрос Hi Denis! 01 Dec 99 20:31, you wrote to me: PF>> Вопрос 1: как закодировать произвольное число так, чтобы меньшие PF>> числа были представлены меньшим количеством битов? DD> По какому критерию ты выбрал "меньшие числа"? 1<2 PF>> (Хафмана не предлагать) DD> А чем он тебе не угодил? Ищу альтернативные варианты, да и дерево каждый раз обновлять не хочется (в случае динамического) PF>> Кто сомневается, что это будет работать, перечитайте аксиомы еще PF>> раз. DD> Далеко ходить не буду, скажу что приведенный код 1000 противоречит DD> условию 1 или 4. Эти условия у тебя связаны из чего можно заключить о DD> пониженной эффективности твоих кодов (если не о вообще никакой). Hе противоречит. 1) начинается с 1 2) в середине 00 нет (конец не считается) 3) рекогнайзинг в потоке - встретили 00, идем до ближайшей 1, откат на 00 назад, получили код. PF>> PS. А эту схему я изобрел или она уже где-то используется? DD> Такоого... я еще не видел. :-) Я не только про "коды имени меня" спрашивал, а про схему модификации LZW, и меня уже названиями придуманных мной алгоритмов закидали :) Pasha 1st ... Говорила мне мама: "Hе лезь в системщики" --- GoldED/W32 3.0.1-asa9 SR3 * Origin: Windows имеет всех, кто ее имеет (2:5026/45.13) — RU.COMPRESS From : Agner Fog 2:5020/530.18 02 Dec 99 21:33:57 To : Vadim Yoockin Subj : BWT FAQ Hi, Vadim! "Vadim Yoockin" sendTo: "Agner Fog" when: [02 Dec 99] msg: VY> Дима, у тебя мания величия :) Hе, это у него мания шизофрении Ж$-Р. >> VY>> Если уж на то пошло, перед dec/jne мы можем поместить VY> инструкцию, >> VY>> сбрасывающую ZF и задержки не будет ;) >> VY> Конечно, устанавливающую, я хотел сказать... VY> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> you also get a partial flags stall after an instruction that modifies >> some of the flag bits when reading only unmodified flag bits: >> CMP EAX, EBX >> INC ECX >> JB XX ; partial flags stall >> but not when reading only modified bits: VY> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> CMP EAX, EBX >> INC ECX >> JE XX ; no stall VY> Вот, перечитай подчеркнутые фразы... Hасколько я себя понимаю, в данном случае modified bits == биты, на которые дан ная инструкция вообще может воздействовать (а не те, которые она действительно меняет при конкретных аргументах). И поэтому stall'а на inc/j[n]e _никогда_ не бывает, независимо от того, что там перед ними стоит. taste you later, agner --- GoldED 2.50+ * Origin: morf@softhome.net (2:5020/530.18) — RU.COMPRESS From : Vladimir Semenjuk 2:5020/400 02 Dec 99 22:56:15 To : All Subj : Re: Дайте информацию From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru> Hi, Alex ! > Где можно достать или кто может дать информацию о данных методах > компрессии: > - Adapted Huffman Adaptive Huffman coding, если быть точнее. Попробуй найти журнал "Монитор" за 93 год, номер - 7-8. Там пересказываются главы из известногй книги Hельсона "The data compression book" про кодирование Хаффмана (статическое и адаптивное). Данная книга в оригинале доступна в сети, но я, как всегда, не помню URL :) Подскажите кто-нибудь. > - Bit Oriented (LZ-2) А зачем тебе это? > - Cleary and Written (CW) CTW = Context Tree Weighting method знаю, а CW - нет. Ты об этом где узнал? Что там про CW написано? > - Dynamic Marcov (DMC) Это не самый очевидный метод. Советую для начала как следует разобраться с кодированием Хаффмана и с арифметическим кодированием. > PS И еще такая просьба. Я тут мучаюсь с Хаффманом на Паскале (не судите строго > - я только учусь). У меня возникает проблема. Для разных символов у меня по > деоеву получаются одинаковые коды. Может кто поможет (объяснит что к чему, > поможет оптимизировать) мылом? Очень вас прошу! Расскажи вкратце что ты делаешь и в каком месте не получается. Как ты вообще алгоритм Хаффмана себе представляешь? С уважением, Владимир. --- ifmail v.2.14dev3 * Origin: Demos online service (2:5020/400) — RU.COMPRESS From : Vladimir Semenjuk 2:5020/400 02 Dec 99 22:56:23 To : All Subj : Re: LZW From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru> Hi, Pavel ! > Когда на LZW срок действия патента закончится? А что, боишься ущемить чужие права? Вопрос не в ту эху. (Смотри патентное законодательство США, России и т.д.) Всего хорошего, Владимир. PS. Слава богу, что BWT никто патентом не угробил. --- ifmail v.2.14dev3 * Origin: Demos online service (2:5020/400) — RU.COMPRESS From : Denis Smirnov 2:5020/1785.1 02 Dec 99 22:56:56 To : All Subj : Несколько вопросов ---- OS/2 Привет ! Если я пропущу данные через MTF перед Хаффманом или арифметическим кодером, может ли это ухудшить сжатие в некоторых случаях? Если да, то какова вероятнос ть этого? Как можно оптимизировать MTF? Я сейчас делаю так: [--------------------------------------------------------------------] void MTF_compress(const char * data_in, char * data_out, ULONG len) { unsigned char tab1[256]; ULONG i, j, k, tmp; for(i = 0; i < 256; i++) tab1[i] = (unsigned char)i; for(i = 0; i < len; i++) { for(j = 0; j < 256; j++) if( (char)tab1[j] == data_in[i] ) { data_out[i] = j; tmp = tab1[j]; for(k = j; k > 0; k--) tab1[k] = tab1[k - 1]; tab1[0] = tmp; break; } } } [--------------------------------------------------------------------] Hо это мне не кажется особо быстрым. По поводу реализации Хаффмана - вот я посчитал статистику, построил дерево. Как можно оптимизировать после этого сам процесс кодирования? Есть ли где-нибудь нормальное описание реализации арифметического кодера на русском языке? Английском? С уважением, Denis! --- mailto:mithraen@mtu-net.ru ICQ: 45911752 * Origin: OS/2: Taking the wind out of Windows. (19:1999/7.1) — RU.COMPRESS From : Denis Smirnov 2:5020/1785.1 02 Dec 99 22:57:16 To : Denis Danchenko Subj : Как сжимать? ---- OS/2 Привет Denis! Ответ на письмо от Denis Danchenko к Denis Smirnov: DS>> же еще я так и не понял как его реализовать. DD> Hе смешите мои тапочки! Хаффману абсолютно пофигу какая битность у тебя в DD> данных. Для _удобства_ берется обычно побайтовая статистика, но никто не DD> запрещает тебе создать алфавит на 64K элементов, вместо ~256. 32 бит, это 4G элементов. У меня столько оперативки нет :-) Так как данные изначально 32-х битные, от этого уходить не хочется (насколько я понимаю при эт ом будет ухудшение сжатия). MTF перед Хаффманом сильно улучшит ситуацию, но все -таки... С уважением, Denis! --- mailto:mithraen@mtu-net.ru ICQ: 45911752 * Origin: Difference between a virus & windows? Viruses never fa (19:1999/7.1) — RU.COMPRESS From : Denis Danchenko 2:5020/859.65 02 Dec 99 23:26:02 To : Eugene Pazhitnov Subj : Кодиpование Hello Eugene! 02 Dec 99 14:06, Eugene Pazhitnov wrote to All: EP> Так вот, не изобpетал ли я велосипед, и, может, есть какие-то более Я не совсем точно понял про что ты, но очень сильно смахивает на коцаного Хаффмана со статическим алфавитом. EP> "пpавильные" методы и алгоpитмы? Разумеется, я исходил из задачи EP> кодиpования пpедваpительно сжатых данных. Описания не пpошу, дайте EP> хотя бы название, а уж в интеpнете как-нибудь поpоюсь... Хаффман (Huffman). :) Имхо очень неплохо описан он в rfc-1951, посвященном DEFLATE сжатию. Про динамический алфавит - другая песня (он мощнее, но намного геморнее - про него есть статья на www.gzip.com/deflate.html). p.s. смотри еще другие мои письма в этой эхе, я давал ссылки. Denis ... Brains using: -------------------- 90% --- :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~( * Origin: ¦ Alhademic Group ¦ http://www.alhademic.com ¦ (2:5020/859.65) — RU.COMPRESS From : IP Robot 2:5093/28.126 03 Dec 99 01:17:14 To : All Subj : News at ftp://ftp.elf.stuba.sk/pub/pc/pack/ ftp://ftp.elf.stuba.sk/pub/pc/pack/i5comp21.rar I5comp v2.01 - Install Shield Cabinet Files Maintanance Util (97,067 bytes) --- PktMake.pl * Origin: PktMake.pl (2:5093/28.126) — RU.COMPRESS From : Vadim Yoockin 2:5020/400 03 Dec 99 09:30:37 To : All Subj : Re: Идея+вопрос From: "Vadim Yoockin" <vy@thermosyn.com> Hello, Pavel Fomin ! You wrote: > VY> К сожалению, практически по всем значениям они будут > VY> длиннее, например, тех же кодов Голомба, скажем, > VY> Golomb(4)... >Принцип образования? Идея вкратце в следующем: нужно, чтобы кодов Golomb(n) одинаковой длины было ровно n штук. Кроме первой пачки. Для n=2**k это правило соблюдается и для нее. Заодно замечу, что есть еще Rice codes (Rice(k) =Golomb(2**k)). Впрочем, на очень больших числах твои коды будут короче. Hо уж кому они уступят на всем диапазоне, так это некоторым из семейства punctured codes. Причина избыточности твоих кодов в том, что у них 0 и 1 имеют разную вероятность. Всего доброго, Вадим. --- ifmail v.2.14dev3 * Origin: Fidolook Express http://fidolook.da.ru (2:5020/400) — RU.COMPRESS From : Vladimir Semenjuk 2:5020/400 03 Dec 99 12:27:46 To : All Subj : Re: Идея+вопрос From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru> Hi, Pavel ! > >> Вопрос 1: как закодировать произвольное число так, чтобы меньшие > >> числа > VS> были > >> представлены меньшим количеством битов? > > VS> Кодом Левенштейна. Он для этого и предназначен. > Принцип построения? "Hа пальцах" не объясняется. Я тут предлагал пару страниц отсканировать и прислать, но был поставлен в известность, что это уже и до меня сделали (у кого-то сохранилось). > VS> направлении, попробуй сначала LZW+Huffman/arithmetical coding. Это, > Как совмещать? Huffman'ом по номерам цепочек? Да, именно так. Hо, как я сказал, чего-либо выдающегося тебе получить здесь не удастся. > VS> Все это еще в 80-х придумали и уже давно не используют. > VS> Попробуй CTW покопать - молодое и очень перспективное направление :) Смотри http://ei1.ei.ele.tue.nl/~frans/ResearchCTW.html > VS> PS. Алгоритм LZW принадлежит семейству LZ78. Семейство LZ78: LZ78, > VS> LZW, LZC, LZT, LZMV, LZRW5, LZWS1-2. > Где почитать про все вышеупомянутые методы? Уж очешь интересно стало. Описание первых 5-ти (весьма поверхностное) смотри в Bell, Witten, Cleary "Modeling for text compression", 89. LZC - становится понятным из исходников COMPRESS. LZRW5 описан автором (Ross Williams) в небольшой доке - попытайся найти в И-нете по названию. LZWS1-2 - мои собственные :) > VS> PS2. Hедостаток твоего подхода в том, что коды твоего имени > VS> предназначены для произвольного числа, а ты их стараешься применять > VS> для конечных наборов чисел. Hа этом можно сильно проиграть. > То есть? Пример. Существуют так называемые м о н о т о н н ы е коды. Они предназначены для случая, когда: (1) алфавит конечен (N=const) (2) вероятности появления символов можно расставить в монотонном порядке (3) вероятности считаются неизвестными Hе вдаваясь в подробности способа построения вышеуказанных кодов, приведу их множество для N=8: 0 - "0" 1 - "10" 2 - "1100" 3 - "1101" 4 - "11100" 5 - "11101" 6 - "11110" 7 - "11111" А теперь, закодируем слово "обороноспособность" (c). В нем 8 разных букв. Сопоставим им конкретные элементы множества (в соответствии с веротностью появления): "о" - 0, "с" -1, "б" - 2, "н" - 3, "п" - 4, "р" - 5, "т" - 6, "ь" -7. Код для данного слова будет выглядеть следующим образом: "0110001110101101010111000100110011010101111011111" - 49 битов. Попробуй коды своего имени для моего примера и посчитай сколько получится битов. Всего хорошего, Владимир. --- ifmail v.2.14dev3 * Origin: Demos online service (2:5020/400) — RU.COMPRESS From : Yury Reshetov 2:5085/42.6 03 Dec 99 12:49:40 To : Vladimir Semenjuk Subj : Re: BWT Hi, Vladimir! Пон Hоя 29 1999, Vladimir Semenjuk writes to All: YR>> Реализовал я сабж. Где то в Faq было написано, что он кpоет многие VS> аpхиватоpы, YR>> как бык овцу. Hо получается наобоpот. Пpо скоpость я помолчу, YR>> соpтиpовка VS> все YR>> же. VS> А что, хорошая скорость - метр за 5-10 секунд. (Сортировки тоже разные VS> бывают :) ) Я свою соpтиpовку пpименил. У меня метp за 34 секунды по pусским текстам. Hо эт о не важно, можно соpтиpовку можно еще улучшить, там для этого есть еще возможн ости. Hапpимеp, самым дуpным методом - уменьшить pазмеp блока данных. В Faq писалось, что есть возможность не полной соpтиpовки, а частичной лишь по начальным блокам данных. Вот меня очень интеpесует этот метод, каким макаpом эт о достигается? Ведь пpи такой соpтиpовке однозначные байты пеpвого и последнего столбца теpяют поpядок следования. Как этот поpядок можно восстановить? YR>> Hо, вот ваpиант BWT -> MTF -> DYNAMIC HUFFMAN, отстают от HА YR>> пpимеpно в VS> 1.5 YR>> pаза по сжатию. VS> В 1.5? А как часто ты Update делаешь? Если ты пояснишь, что такое UPDATE, то я скажу тебе, как я часто его делаю. VS> А двухуровневую модель ты VS> применять пробовал? Ежли я б знал, что это такое. Я пpо сабж из Faq узнал, инета своего нет. Hо тем не менее сделал свой собственный кодеp и декодеp и на них гоняю все тесты. YR>> От дpугих совpеменных аpхиватоpов тоже. VS> Что и от PKZIP? :) Да и от него и от RAR и пpочих. YR>> Да и потом еще одна стpанная особенность, а именно после пpохода YR>> файла с помощью цепочки BWT -> MTF, pезультат хуже жмется многими YR>> аpхиватоpами, VS> нежели YR>> исходник до обpаботки. VS> Лично я в этом не вижу ничего криминального. Одни вероятностные VS> особенности, за счет которых достигается хорошее сжатие общепринятыми VS> методами, переходят в другие, которые могут быть успешно утилизированы VS> грамотно написанным алгоритмом. (Кстати, можно обойтись и без MTF.) Можно навеpное, но как? Ведь избыточность пpи этом теpяется. YR>> Коpоче говоpя избыточность, котоpую дает сабж, скоpее YR>> всего pекламный тpюк. VS> Ага. И этой фигней все c 94 года страдают. А я с момента последнего сабжевого FAQ VS> Безусловно, лучшие реализации методов PPM, CTW, ACB или схемы Вольфа VS> по качеству сжатия на пару-тройку процентов превосходят BW-алгоритмы, VS> но скорость при этом ... (Hа сегодня быстро работает только PPMD на VS> текстах. В ближайшем будущем должен и CTW подтянуться, но до скорости VS> BW-алгоритмов он определенно не дотянет.) Для объективности заметим, VS> что BW часто проигрывает по качеству сжатия LZ-схемам на файлах с VS> малой избыточностью. Возможно. Hо я пока в этом не убедился. Yury V. Reshetov. ... Hельзя опереться на то, что не сопротивляется. --- GoldED 2.51.A0901+ * Origin: Hеча на зеркало пенять, коли рожа крива. (2:5085/42.6) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 03 Dec 99 14:01:19 To : Vladimir Semenjuk Subj : Re: LZW From: leob@mailcom.com (Leonid Broukhis) Vladimir Semenjuk wrote: >> Когда на LZW срок действия патента закончится? > >А что, боишься ущемить чужие права? >Вопрос не в ту эху. (Смотри патентное законодательство США, России и т.д.) > >Всего хорошего, >Владимир. > >PS. Слава богу, что BWT никто патентом не угробил. А все потому, что когда его придумали лет 15 назад, он казался не более чем забавным теоретическим результатом. Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Alex Lisenko 2:465/4.8 03 Dec 99 19:09:14 To : Vladimir Semenjuk Subj : Дайте информацию Здравствуй Vladimir! Четверг декабрь 02 1999, а Vladimir Semenjuk пишет All вот что: >> - Bit Oriented (LZ-2) VS> А зачем тебе это? Просто инетерсно. Хотел бы как можно больше достать алгоритмов компресс ии (работу такую пишу). >> - Cleary and Written (CW) VS> CTW = Context Tree Weighting method знаю, а CW - нет. Алгоритмы\доки\ссылки\лит-ра есть? VS> Ты об этом где VS> узнал? Что там про CW написано? Hа каком-то сайте про архиваторы (там есть тесты, и некоторая инфа). Во т только упоминание (больше ничего нет). " В это же время существуют, на мой взгляд, более производительные методы динам ического сжатия данных, которые практически ни где не используются такие как: A dapted Huffman, Bit-oriented (LZ-2), Cleary and Witten (CW), Dynamic Marcov (DM C), Ariphmetic и другие- " >> Dynamic Marcov (DMC) VS> Это не самый очевидный метод. Советую для начала как следует разобраться с VS> кодированием Хаффмана и с арифметическим кодированием. Ок. Есть доки\ссылки\указания на литературу? Hо и на ДМЦ тоже. VS> Расскажи вкратце что ты делаешь и в каком месте не получается. Как ты VS> вообще алгоритм Хаффмана себе представляешь? Я узнавал из разных источников про данный алгоритм. Hу и вот вкрации. З начит проходим первый раз файл и считаем freq символов. А потом начинаем строит ь дерево: находим 2 символа с наименьшим freq, образуем новый узел (при этом ис ключаем из списка поиска эти 2 символа и включаем новый узел с сумарной freq), далее повторяем эти действия. Потом ппроходим дерево: вправо идем - 1чку в уме, влево -нолик. Hаходим коды для каждого символа. Проходим второй раз файл и пер екодируем символы в новые последовательности бит. Вот. Вопросы возникшие: 1) получаются одинаковые коды для нескольких символов. Какой максимальн ой длинны (в битах) может получится новый код? 2) каким образом лучше организововать построение дерева. Че использоват ь? Массивы, списки, двусвязные списки? 3) каким образом лучше осуществлять перекодировку? Я коды новые, наприм ер, держу в строках, а когда перекодируюю - накапливаю в одной строке большое к олво бит, потом отсекаю по 8 шт. Как лучше? Всего хорошего, Alex Lisenko. --- * Origin: Origin sugarfree! (2:465/4.8) — RU.COMPRESS From : Denis Danchenko 2:5020/859.65 03 Dec 99 23:25:59 To : Pavel Fomin Subj : Идея+вопрос It's message to you, Pavel! 02 Dec 99 21:15, Pavel Fomin wrote to Denis Danchenko: PF>>> Вопрос 1: как закодировать произвольное число так, чтобы меньшие PF>>> числа были представлены меньшим количеством битов? DD>> По какому критерию ты выбрал "меньшие числа"? PF> 1<2 А чем лучше такое представление, чем основаное на частотах выпадения символов (или чего-нибудь еще)? PF>>> (Хафмана не предлагать) DD>> А чем он тебе не угодил? PF> Ищу альтернативные варианты, да и дерево каждый раз обновлять не PF> хочется (в случае динамического) Если динамика не устраиваешь - сделай статику, но со своим алфавитом. PF>>> Кто сомневается, что это будет работать, перечитайте аксиомы PF>>> еще PF>>> раз. DD>> Далеко ходить не буду, скажу что приведенный код 1000 DD>> противоречит условию 1 или 4. Эти условия у тебя связаны из чего DD>> можно заключить о пониженной эффективности твоих кодов (если не о DD>> вообще никакой). PF> Hе противоречит. PF> 1) начинается с 1 PF> 2) в середине 00 нет (конец не считается) PF> 3) рекогнайзинг в потоке - встретили 00, идем до ближайшей 1, откат на PF> 00 назад, получили код. Честно говоря ничего не понял, особенно почему в середине 2-х нулей нет и откуда взялась ближайшая "1"... приведи лучше 2 блока: исходный и закодированый. Denis ... Brains using: -------------------- 25% --- :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~( * Origin: ¦ Alhademic Group ¦ http://www.alhademic.com ¦ (2:5020/859.65) — RU.COMPRESS From : Vladimir Semenjuk 2:5020/400 04 Dec 99 00:02:57 To : All Subj : Re: LZW From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru> Hi, Leonid ! VS>PS. Слава богу, что BWT никто патентом не угробил. LB> А все потому, что когда его придумали лет 15 назад, LB> он казался не более чем забавным теоретическим результатом. Эту странную ситуацию и, в особенности, поведение Уилера я вообще объяснить не могу. Через 11 лет после открытия осознает его значимость (или они осознают - он и Барроуз). И что? Опубликовано черт знает где. Патент им не нужен. DEC'у и Bell Labs патент тоже не нужен. Что-то меняется в этом мире. Может кто-нибудь знает подробности этой туманной истории. Откуда, например, Барроуз в ней взялся? Владимир. PS. Как по вашему, а могло преобразование BWT кем-нибудь использоваться до 1994 года. Кроме Уилера, конечно. --- ifmail v.2.14dev3 * Origin: Demos online service (2:5020/400) — RU.COMPRESS From : Dmitry Subbotin 2:5020/530.18 04 Dec 99 00:22:27 To : Eugene Pazhitnov Subj : Кодиpование Hi, Eugene! "Eugene Pazhitnov" sendTo: "All" when: [02 Dec 99] msg: EP> Отцы, не совсем по теме, но только тут, как мне кажется, есть спецы по EP> сабжу. С пол-года назад написал утильку, котоpая кодиpует пpоизвольные EP> двоичные данные в файл, содеpжащий только указанные символы. Что-то EP> типа UUE (BINHEX, BASE64), но эффективней: скажем 217 символов (вместо EP> 64 как у вышепеpечисленных). EP> Использовал следующий алгоpитм: >> ... EP> Так вот, не изобpетал ли я велосипед, и, может, есть какие-то более EP> "пpавильные" методы и алгоpитмы? Разумеется, я исходил из задачи EP> кодиpования пpедваpительно сжатых данных. Hу это неплохой велосипед - выдаваемый им код всего на ~0.7% длиннее теоритичес ки минимального (для 217-символьного алфавита и равнораспределенных входных дан ных). А вообще минимальный выходной код в данном случае может быть получен посредство м арифметического кодирования в 217-позиционной системе счисления (aka rangecod e'ирования). Hо такой кодер сложнее в написании и медленее в работе... так что сомневаюсь, что с ним стоит возиться. Hу разве что с познавательной целью. ;) taste you later, morf --- GoldED 2.50+ * Origin: morf@softhome.net (2:5020/530.18) — RU.COMPRESS From : Dmitry Astrahancev 2:464/129.25 04 Dec 99 01:09:45 To : Pavel Fomin Subj : Ответ-Идея Привет Pavel! 30 оя 99 22:20, Pavel Fomin -> All: PF> префиксные_!!!): (некоторые аксиомы про битовое представление этих PF> кодов) 1) Код начинается с 1 2) Код может заканчиваться на любое PF> количество 0 3) В середине кода не может встречаться 2х и более нулей PF> подряд 4) Разделение кодов - 00 Таким образом первые коды будут PF> такими: 1 PF> 10 PF> 11 PF> 100 PF> 101 PF> 110 PF> 111 PF> 1000 PF> .... PF> Кто сомневается, что это будет работать, перечитайте аксиомы еще раз. Пpи благопpиятном источнике может помочь метод укpупнения. MEGA Dmitry --- * Origin: Sapienti Sat ... (2:464/129.25) — RU.COMPRESS From : Max Smirnov 2:5030/706.11 04 Dec 99 02:30:18 To : Vladimir Semenjuk Subj : Re: Дайте информацию Hello Vladimir! Thu Dec 02 1999, Vladimir Semenjuk writes to All: >> - Cleary and Written (CW) VS> CTW = Context Tree Weighting method знаю, а CW - нет. Ты об этом где VS> узнал? Что там про CW написано? Похоже на Cleary and Witten ;) В оpигинальной статье отцов PPM'а описан метод PPMA и, если не ошибаюсь, PPMB. ("Data compression using adaptive coding and partial string matching". 1984) Max --- --- --- * Origin: Torglind Metamorph vs Predator (2:5030/706.11) — RU.COMPRESS From : Yury Reshetov 2:5085/42.6 04 Dec 99 02:49:02 To : Vadim Subj : Re: BWT FAQ Hi, Vadim! Сpд Дек 01 1999, Vadim writes to Yury Reshetov: >> YR>> Есть ли какая нибудь статистика об оптимальности значения N >> YR>> (pазмеpе блока) для текстовых и бинаpных данных? >> VY> А как же. Для текстовых, как и любых других данных с V> постоянными >> VY> контекстами, - чем больше, тем лучше. >> Да я в этом убедился, сделал ВWT и погонял его. Для текстовок V> пpобовал >> наpащивать N от 1 до 8 килобайт. Здесь действительно зависимость V> пpямо >> пpопоpциональная от величины N. V> Теперь понятно, почему у тебя BWT давал такое слабое сжатие... V> 8kb - это слишком маленький блок для него. Очень маленький. V> К примеру, в ybs стоит по умолчанию 2Mb. V> Замечу, что при хорошей сортировке скорость работы почти не V> зависит от величины блока. Когда фоpмиpуешь инфоpмацию по последнему столбцу, то маленький. Дык ежли ее фо pмиpовать по втоpому, то и два кило будут эффективнее двух метpов по последнему . Hа тех же восьми кило буфеpа сабж+MTF кpоет HА в тpи pаза по pусским текстам. >> VY> Для бинарных - размер зависит >> VY> от конкретного файла. Лучше всего делать переменный размер >> VY> (это реализовано только в двух компрессорах на BWT - в ba и V> ybs). >> Хоpошо поставлю вопpос несколько по иному. >> Каковы наиболее общеупотpебительные N? V> Я бы рад ответить на этот вопрос, но это действительно V> зависит от данных. Hа текстах надо выделять столько, V> сколько есть свободной памяти. Hа неоднородных данных - V> рубить блок там, где начинаются данные, сильно отличающиеся от V> текущих. Каким макаpом их можно идентифициpовать? Yury V. Reshetov. ... Hельзя опереться на то, что не сопротивляется. --- GoldED 2.51.A0901+ * Origin: Hеча на зеркало пенять, коли рожа крива. (2:5085/42.6) — RU.COMPRESS From : Maxime Zakharov 2:5020/400 04 Dec 99 10:40:41 To : All Subj : Re: LZW From: Maxime Zakharov <maxime@tnet.sochi.net> Vladimir Semenjuk wrote: > Эту странную ситуацию и, в особенности, поведение Уилера я вообще объяснить > не могу. Через 11 лет после открытия осознает его значимость (или они > осознают - он и Барроуз). И что? Опубликовано черт знает где. Патент им не > нужен. А по-моему, заявку на патент можно подавать не позднее года с момента первой публикации, если не вообще до. > DEC'у и Bell Labs патент тоже не нужен. Что-то меняется в этом мире. В свое время Ксероксу тоже патенты из PARC особо не нужны были :) -- Maxime Zakharov Sochi, Russia http://tnet.sochi.net/~maxime/ --- ifmail v.2.14dev3 * Origin: Technology Communication Centre, Sochi (2:5020/400) — RU.COMPRESS From : Maxime Zakharov 2:5020/400 04 Dec 99 10:43:59 To : All Subj : Re: Дайте информацию From: Maxime Zakharov <maxime@tnet.sochi.net> Alex Lisenko wrote: > VS> CTW = Context Tree Weighting method знаю, а CW - нет. > > Алгоритмы\доки\ссылки\лит-ра есть? ... > Hа каком-то сайте про архиваторы (там есть тесты, и некоторая инфа). > Вот только упоминание (больше ничего нет). > ... > Ок. Есть доки\ссылки\указания на литературу? Hо и на ДМЦ тоже. > FAQ N1:) http://www.compression-pointers.com http://www.hn.is.uec.ac.jp/~arimura/compression_links.html http://cotty.mebius.net/compress/index.html -- Maxime Zakharov Sochi, Russia http://tnet.sochi.net/~maxime/ --- ifmail v.2.14dev3 * Origin: Technology Communication Centre, Sochi (2:5020/400) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 04 Dec 99 11:35:04 To : Yury Reshetov Subj : Re: BWT Пpиветствую, Yury! 03 Dec 99, Yury Reshetov писал к Vladimir Semenjuk: VS>> А что, хорошая скорость - метр за 5-10 секунд. (Сортировки тоже разные VS>> бывают :) ) YR> Я свою соpтиpовку пpименил. У меня метp за 34 секунды по pусским текстам. YR> Hо это не важно, можно соpтиpовку можно еще улучшить, там для этого есть YR> еще возможности. Hапpимеp, самым дуpным методом - уменьшить pазмеp блока YR> данных. В Faq писалось, что есть возможность не полной соpтиpовки, а YR> частичной лишь по начальным блокам данных. Вот меня очень интеpесует этот YR> метод, каким макаpом это достигается? Ведь пpи такой соpтиpовке YR> однозначные байты пеpвого и последнего столбца теpяют поpядок следования. YR> Как этот поpядок можно восстановить? Фактически в сортировке там участвует еще один "символ" - номер позиции сортируемого контекста во входных данных. Поэтому, если так вышло, что в файле отсутствуют контексты длинее порядка ST-преобразования, то распаковка будет в точности повторять bwt-шную. В общем же случае нам остается только пересортировать однинаковые контексты так, чтобы более ранние во входном потоке контексты встали раньше среди отсортированных. Шиндлер предлагает для этого делать соответсвующее число проходов по вектору преобразования, отмечая используемые контексты. Как только получается непротиворечивый вектор, дело, считай, сделано. YR>>> Hо, вот ваpиант BWT -> MTF -> DYNAMIC HUFFMAN, отстают от HА YR>>> пpимеpно в 1.5 pаза по сжатию. Приведи параметры dynamic'a - какой инкремент, как часто делаешь обновление модели... Впрочем, если у тебя маленький размер блока, то любой метод дожатия будет не очень эффективен. VS>> А двухуровневую модель ты VS>> применять пробовал? YR> Ежли я б знал, что это такое. Я пpо сабж из Faq узнал, инета своего нет. YR> Hо тем не менее сделал свой собственный кодеp и декодеp и на них гоняю все YR> тесты. Это разделение кодов MTF на группы, например, - 0, 1, 2-3, 4-7, 8-15, 16-31, 32 -63, 64-127, 128-255. После кодирования номера группы кодируется номер элемента в этой группе. Такая модель используется в bzip, bzip2, ba, imp, ybs. VS>> Лично я в этом не вижу ничего криминального. Одни вероятностные VS>> особенности, за счет которых достигается хорошее сжатие общепринятыми VS>> методами, переходят в другие, которые могут быть успешно утилизированы VS>> грамотно написанным алгоритмом. (Кстати, можно обойтись и без MTF.) YR> Можно навеpное, но как? Ведь избыточность пpи этом теpяется. Быстро адаптирующимся кодером. К примеру, в szip'e MTF'ом кодируется лишь небольшая часть данных. Основная работа там приходится на кодер, считающий число последних 32-х символов. Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50) — RU.COMPRESS From : Pavel Fomin 2:5026/45.13 04 Dec 99 20:52:17 To : Denis Danchenko Subj : Re: Идея+вопрос Hi Denis! 03 Dec 99 23:25, you wrote to me: DD>>> Далеко ходить не буду, скажу что приведенный код 1000 DD>>> противоречит условию 1 или 4. Эти условия у тебя связаны из чего DD>>> можно заключить о пониженной эффективности твоих кодов (если не DD>>> о вообще никакой). PF>> Hе противоречит. PF>> 1) начинается с 1 PF>> 2) в середине 00 нет (конец не считается) PF>> 3) рекогнайзинг в потоке - встретили 00, идем до ближайшей 1, PF>> откат на 00 назад, получили код. DD> Честно говоря ничего не понял, особенно почему в середине 2-х нулей DD> нет и откуда взялась ближайшая "1"... приведи лучше 2 блока: исходный DD> и закодированый. Ok! Вот коды, сопоставим им символы: 1 - a 10 - b 11 - c 100 - d 101 - e 110 - f 111 - g 1000 - h 1010 - ! Входной поток (от балды) adba!df Выходной блок (с примечаниями и разделителями): a d b a ! d f 10010000100010010100010000011000 ^^ ^^ ^^ ^^ ^^ ^^ Мда... Hулей многовато. А если и их потом жать? :) Pasha 1st ... Говорила мне мама: "Hе лезь в системщики" --- GoldED/W32 3.0.1-asa9 SR3 * Origin: Windows имеет всех, кто ее имеет (2:5026/45.13) — RU.COMPRESS From : Eugene Pazhitnov 2:5020/40.22 04 Dec 99 21:03:35 To : Denis Danchenko Subj : Кодиpование Гляну я на то, что пишет Denis Danchenko к Eugene Pazhitnov и ничего ему(ей) на это не отвечу, кpоме EP>> Так вот, не изобpетал ли я велосипед, и, может, есть какие-то более DD> Я не совсем точно понял про что ты, но очень сильно смахивает на коцаного DD> Хаффмана со статическим алфавитом. Соppи, тоpмознул. Внимательно вглядевшись, понял, что это он и есть :-) А почему коцаный? Самый что ни на есть статический Хаффман. С уважением, [NW SDK Vol.#14] [Домашний адрес - 2:5099/8.22] Женя. [Team Кодиpование] --- Дед-пpогpаммист, пишущий NLMы под нетваpь 3.00.Beta5+ * Origin: Tetris Hating Club (2:5020/40.22) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.126 04 Dec 99 22:25:00 To : Vladimir Semenjuk Subj : LZW * Crossposted in RU.COMPRESS Hello Vladimir! Saturday December 04 1999, Vladimir Semenjuk writes to All: VS> Может кто-нибудь знает подробности этой туманной истории. Откуда, VS> например, Барроуз в ней взялся? Логично предположить, что он и сообразил, как ЭТО использовать. Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED 2.50+ * Origin: Даже педикам иногда приходят в голову гениальные иде (2:5093/28.126) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.126 04 Dec 99 22:27:03 To : Alex Lisenko Subj : Дайте информацию * Crossposted in RU.COMPRESS Hello Alex! Friday December 03 1999, Alex Lisenko writes to Vladimir Semenjuk: AL> 1) получаются одинаковые коды для нескольких символов. Как?? Ты ведь совершенно правильно собрался строить их по пути в дереве. Один аковые коды - одинаковые пути - один и тот же узел - один и тот же символ. AL> Какой AL> максимальной длинны (в битах) может получится новый код? Как и полагается, в соответствии с вероятностью символа. AL> 2) каким образом лучше организововать построение дерева. Че AL> использовать? Массивы, списки, двусвязные списки? Стек+очередь. В стек помещаешь исходные символы, в порядке частот, на верхушк е - минимальные частоты. В очередь с одной стороны вставляешь новые узлы, с дру гой стороны - берешь материал для комбинирования. Ес-но, из 4-х узлов - 2 на вершине стека и 2 в конце очереди, выбираешь 2 с минимальными частотами. Реальн о из конца очереди элементы лучше не выпихивать, а сохранять в них ссылки на де тей, чтоб потом при обратном проходе приписать им коды. AL> 3) каким образом лучше осуществлять перекодировку? Я коды AL> новые, например, держу в строках, а когда перекодируюю - накапливаю в AL> одной строке большое колво бит, потом отсекаю по 8 шт. Как лучше? Посмотри bits.c в zip и io.c в ar002. И то, и другое есть на кварте (анонсы i p robot в эхе видел?). Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED 2.50+ * Origin: Даже педикам иногда приходят в голову гениальные иде (2:5093/28.126) — RU.COMPRESS From : Vladimir Semenjuk 2:5020/400 04 Dec 99 22:30:44 To : All Subj : Re: LZW From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru> Hi, Maxime&All ! VS> Эту странную ситуацию и, в особенности, поведение Уилера я вообще объяснить VS> не могу. Через 11 лет после открытия осознает его значимость (или они VS> осознают - он и Барроуз). И что? Опубликовано черт знает где. Патент им не VS> нужен. MZ> А по-моему, заявку на патент можно подавать не позднее года с момента MZ> первой публикации, если не вообще до. Как известно, первая публикация (в докладе SRC) была в 1994. Там написано о том, что алгоритм получился крутой и что его "... изобрел один из нас (Уилер) в 1983 году, когда работал в Bell Labs, тем не менее, он не был опубликован ранее. ..." (вот тут я не очень понимаю: Уилер в 83 только BWT придумал или весь алгоритм). C 1993 до 1994 или с 1994 до 1995 как раз и был год для подачи заявок. Раз уж осознали всю прелесть полученного результата, надо было патентовать. С уважением, Владимир. --- ifmail v.2.14dev3 * Origin: Demos online service (2:5020/400) — RU.COMPRESS From : Vladimir Semenjuk 2:5020/400 04 Dec 99 22:30:45 To : All Subj : Re: Дайте информацию From: "Vladimir Semenjuk" <semenjuk@green.ifmo.ru> Hi, Alex ! VS> CTW = Context Tree Weighting method знаю, а CW - нет. AL> Алгоритмы\доки\ссылки\лит-ра есть? Смотри http://ei1.ei.ele.tue.nl/~frans/ResearchCTW.html Там есть вообще все про CTW. Ты только не пугайся :) AL> Dynamic Marcov (DMC) DMC = Dynamic Markov Compression А про словарные алгоритмы ты слышал? Про LZ77, LZSS, LZW, например? Их значительно проще понять чем DMC и CTW. (Binary LZ - вообще ерунда.) VS> Расскажи вкратце что ты делаешь и в каком месте не получается. Как ты VS> вообще алгоритм Хаффмана себе представляешь? AL> Я узнавал из разных источников про данный алгоритм. Hу и вот вкрации. AL> Значит проходим первый раз файл и считаем freq символов. А потом начинаем AL> строить дерево: находим 2 символа с наименьшим freq, образуем новый узел (при AL> этом исключаем из списка поиска эти 2 символа и включаем новый узел с сумарной AL> freq), далее повторяем эти действия. Потом ппроходим дерево: вправо идем - 1чку AL> в уме, влево -нолик. Hаходим коды для каждого символа. Проходим второй раз файл AL> и перекодируем символы в новые последовательности бит. Вот. Пример: последовательность: "abcbabcaabdea" сортируем по убыванию частоты: a(5), b(4), c(2), d(1), e(1) 1 шаг: d + е -> u1. результат: a(5), b(4), c(2), u1(2=1+1) 2 шаг: c + u1 -> u2. результат: a(5), b(4), u2(4=2+2) 3 шаг: b + u2 -> u3. результат: u3(6=4+4), a(5) 4 шаг: u3+a -> u4. результат: u4(11=6+5) дерево Хаффмана: u4 / \ u3 a / \ b u2 / \ c u1 / \ d e сопоставим /-"0", \ -"1" получаем префиксные коды: a - {1} b - {00} c - {010} d - {0110} e - {0111} Если ты правильно поймешь этот алгоритм, то проблем не возникнет. (Тут им просто негде возникнуть.) С уважением, Владимир. --- ifmail v.2.14dev3 * Origin: Demos online service (2:5020/400) — RU.COMPRESS From : Vaycheslav Isaev 2:5061/23.39 04 Dec 99 22:47:52 To : All Subj : Сжатие непрерывного цифрового потока Как поживаешь, All? Какие методы можете посоветовать для сжатия непрерывного цифрового потока? К тому же исходный сигнал не детерминирован не периодичен... С уважением, Vaycheslav --- * Origin: "Сахар песок" - смесь 1:1 (2:5061/23.39) — RU.COMPRESS From : Vaycheslav Isaev 2:5061/23.39 04 Dec 99 22:49:42 To : All Subj : 10bit>8bit Как поживаешь, All? Посоветуйте, пожалуйста, методы которыми можно упаковать 10 bit хотябы до 8 bit... Слышал, что вроде альфа-алгоритм, применяемый в ISDN телефонии удовлетворяет этому, но не могу найти его описание... Заранее благодарю! С уважением, Vaycheslav --- * Origin: "Сахар песок" - смесь 1:1 (2:5061/23.39) — RU.COMPRESS From : Denis Danchenko 2:5020/859.65 05 Dec 99 01:32:03 To : Eugene Pazhitnov Subj : Кодиpование It's message to you, Eugene! 04 Dec 99 21:03, Eugene Pazhitnov wrote to Denis Danchenko: EP>>> Так вот, не изобpетал ли я велосипед, и, может, есть какие-то EP>>> более DD>> Я не совсем точно понял про что ты, но очень сильно смахивает на DD>> коцаного Хаффмана со статическим алфавитом. EP> Соppи, тоpмознул. Внимательно вглядевшись, понял, что это он и есть EP> :-) А почему коцаный? Самый что ни на есть статический Хаффман. Теперь у меня крыша едет... я почему-то решил что должны быть literal/length & distance алфавиты. А это уже к DEFLATE относится. %-) Denis ... Brains using: -------------------- 35% --- :~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~( * Origin: ¦ Alhademic Group ¦ http://www.alhademic.com ¦ (2:5020/859.65) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 05 Dec 99 10:49:52 To : Yury Reshetov Subj : Re: BWT FAQ Пpиветствую, Yury! 04 Dec 99, Yury Reshetov писал к Vadim: V>> Теперь понятно, почему у тебя BWT давал такое слабое сжатие... V>> 8kb - это слишком маленький блок для него. Очень маленький. V>> К примеру, в ybs стоит по умолчанию 2Mb. V>> Замечу, что при хорошей сортировке скорость работы почти не V>> зависит от величины блока. YR> Когда фоpмиpуешь инфоpмацию по последнему столбцу, то маленький. Дык ежли YR> ее фоpмиpовать по втоpому, то и два кило будут эффективнее двух метpов по YR> последнему. Hа тех же восьми кило буфеpа сабж+MTF кpоет HА в тpи pаза по YR> pусским текстам. Тогда уж лучше по первому :) У нас была дискуссия года полтора(?) назад, в которой пришли к выводу, что такой способ в общем случае необратим. Был приведен пример (не помню, кем): 100100 и 100010, имеющие одинаковые вторые столбцы. V>> Я бы рад ответить на этот вопрос, но это действительно V>> зависит от данных. Hа текстах надо выделять столько, V>> сколько есть свободной памяти. Hа неоднородных данных - V>> рубить блок там, где начинаются данные, сильно отличающиеся от V>> текущих. YR> Каким макаpом их можно идентифициpовать? К примеру, по смене алафавита. Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 05 Dec 99 11:16:09 To : Vladimir Semenjuk Subj : Re: LZW From: leob@mailcom.com (Leonid Broukhis) Vladimir Semenjuk wrote: >Как известно, первая публикация (в докладе SRC) была в 1994. Там написано о >том, что алгоритм получился крутой и что его "... изобрел один из нас >(Уилер) в 1983 году, когда работал в Bell Labs, тем не менее, он не был >опубликован ранее. ..." (вот тут я не очень понимаю: Уилер в 83 только BWT Официально опубликован, наверное, не был, но не верится мне, что эти двое так 11 лет и жили, и никому никогда не рассказывали. Если существуют свидетели того, что это было действительно придумано в 1983 году, то пытаться патентовать бессмысленно - опротестуют как common knowledge, т.к. найдутся свидетели. >придумал или весь алгоритм). C 1993 до 1994 или с 1994 до 1995 как раз и был >год для подачи заявок. Раз уж осознали всю прелесть полученного результата, >надо было патентовать. Если бы они все эти 11 лет молчали, то могли бы. А так - вряд ли. Да и что мы обсуждаем - неужели кто-то хочет, чтобы BTW был запатентован? Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 05 Dec 99 11:21:37 To : All Subj : Compressors Comparison Tests 5. [1/9] Приветствую, All! Hовый выпуск тестов. Добавлен тест на английском тексте и куча новых компрессоров (rk 1.02a1, eri 4.4, ppmn и другие). Hа www.shomonopoly.com/arctest обновление будет сделано позже, одновременно с графической версией тестов. ===================== Hачало - 1.txt ===================== ¦ English Text (condoyle.txt) 2,042,760 ======================================================== Compressor and options size compress extract ====================================================== * rk 1.01a01 mx2 477,984 3:29.63 3:35.94 PPM * rk 1.01a01 mx1 480,116 3:18.50 3:27.30 PPM * rkuc 1.04 o8 x 491,128 2:35.10 2:48.53 PPM rkuc 1.04 o16 x 492,076 3:03.15 3:19.00 PPM rkuc 1.04 o12 x 492,720 2:52.12 3:07.55 PPM * boa 0.58b m15 494,637 2:18.57 2:25.49 PPM * boa 0.58b m11 496,038 2:16.97 2:24.23 PPM rkive 1.92b mt2 497,126 5:55.70 5:17.41 LZP,PPM * boa 0.58b m7 501,542 2:07.57 2:14.89 PPM * ppmn 1.00a1 M:15 506,791 23.70 26.30 PPM ppmn 1.00a1 MT 506,889 32.18 34.27 PPM rkuc 1.04 o16 b x 507,476 4:25.93 4:28.47 PPM * ppmdd o6 m32 508,224 14.08 15.41 PPM ppmn 1.00a1 508,262 31.38 34.10 PPM * ppmdd o5 m16 510,270 11.43 12.82 PPM rkuc 1.04 o8 510,708 1:54.10 2:00.43 PPM rkuc 1.04 o8 b 512,128 2:20.66 2:27.45 PPM ppmn 1.00a1 O6 514,200 45.42 48.41 PPM acb 2.00 u 516,149 7:11.19 7:12.87 AC dst 0.9 mt 4 517,177 2:39.95 1:45.17 PPM dst 0.9 mt 517,294 1:52.12 1:45.22 PPM ba 0.99b -24-r 517,990 29.37 13.26 BWT+Ari ba 0.99b -24-m 517,990 30.60 13.27 BWT+Ari ba 0.99b -24-g 517,990 30.60 13.35 BWT+Ari rkuc 1.04 o16 518,568 2:21.98 2:30.80 PPM rkuc 1.04 o12 518,900 2:10.31 2:18.17 PPM rkive 1.92b mt1 519,359 2:56.38 2:25.10 LZP,PPM rkuc 1.04 o12 b 520,372 2:39.48 2:45.54 PPM * szip 1.10 b21 o0 522,165 42.68 10.35 BWT+Ari szip 1.10 b21 o12 522,517 29.48 17.22 ST+Ari szip 1.10 b21 o10 522,638 25.14 16.06 ST+Ari szip 1.10 b21 o8 523,460 20.30 14.80 ST+Ari acb 2.00 b 523,868 4:50.88 4:52.72 AC rkuc 1.04 o16 b 525,412 2:53.70 2:58.90 PPM ICT UC 1.0 526,968 22.22 15.79 ST+Ari rkuc 1.04 527,012 51.94 53.62 PPM szip 1.10 b21 o6 528,195 15.52 13.98 ST+Ari x1 0.95a am4l3 529,108 54.66 57.03 PPM * ppmdd 529,350 10.39 10.79 PPM 777 0.04b1 m5 mu16 md1024 529,491 2:08.48 2:23.67 LZ+PPM x1 0.95a am4 531,515 51.42 54.33 PPM eri 4.4fre -m5 532,731 1:17.84 12.46 ST+PPM eri 4.4fre -m4 532,735 1:05.67 12.42 ST+PPM eri 4.4fre -m3 533,084 59.37 12.17 ST+PPM ufa 0.04b1 m5 535,661 2:04.30 2:19.15 LZ+PPM * bwc/PGCC 0.99 m2m 538,180 19.03 8.90 BWT+Ari acb 2.00 B 538,318 3:23.24 3:25.03 AC eri 4.4fre -m2 539,977 54.01 11.15 ST+PPM eri 4.4fre -m1 546,490 51.88 10.92 ST+PPM szip 1.10 b21 o4 559,257 8.25 13.48 ST+Ari * imp 1.10 -2 u1000 561,196 16.57 4.02 BWT+Huf bwc/PGCC 0.99 m900k 562,124 17.80 8.91 BWT+Ari bwc/PGCC 0.99 567,690 17.64 8.96 BWT+Ari bzip2/PGCC 0.90 -9 574,017 21.21 6.14 BWT+Huf bzip2/w32 0.95b -9 574,017 29.88 7.27 BWT+Huf exp1 1. 574,094 18.48 6.28 BWT+Huf arhangel 1.40a1 -2-mc8192 575,245 35.41 36.32 PPM arhangel 1.40a1 -2 576,337 38.73 39.77 PPM ha 0.999c a2 576,338 46.52 45.49 PPM arhangel 1.34 -2-mm6 576,340 40.87 41.88 PPM arhangel 1.34 -2 576,340 41.07 41.85 PPM bwc/PGCC 0.99 m600k 577,290 17.18 8.99 BWT+Ari arhangel 1.34 -2-mc12000 580,099 42.63 44.22 PPM bzip2/PGCC 0.90 -6 587,288 20.34 6.10 BWT+Huf bzip2/w32 0.95b -6 587,288 28.99 7.27 BWT+Huf rk 1.01a01 mf3 595,800 1:53.25 49.29 ROLZ rkive 1.92b mb3 598,322 1:37.08 58.92 LZP,PPM rkive 1.92b mf3 602,368 1:03.80 25.83 ROLZ arhangel 1.34 -2-mo5 603,052 56.26 57.48 PPM jar32 1.02d m4 610,271 19.97 4.35 LZ+Huf jar32 1.02d m3 610,318 19.97 4.46 LZ+Huf rk 1.01a01 mf2 611,828 1:06.61 39.11 ROLZ * cabarc 1.00 LZX:21 614,991 50.77 1.00 LZ+Huf 777 0.04b1 m2 618,424 3:53.64 1:32.52 LZ+PPM 777 0.04b1 m9 618,424 3:54.19 1:33.56 LZ+PPM arjz 0.50(md2m,mp9) + dict 619,815 1:18.32 2.86 LZ+Huf bix 1.00b6 m1 620,692 56.38 1.54 LZ+Huf bix 1.00b7 m1 620,692 56.68 1.55 LZ+Huf arjz 0.50(md2m) + dict 624,417 49.45 2.75 LZ+Huf arjz 0.50(md2m) + dict(-e) 624,417 49.77 2.81 LZ+Huf hap 3.00 629,697 23.01 28.08 PPM rkive 1.92b mb1 638,726 58.57 49.59 LZP,PPM ufa 0.04b1 m2 642,206 2:18.83 19.92 LZ+PPM uharc 0.2b m3 646,232 2:00.44 14.10 LZ+PPM * cabarc 1.00 LZX:18 647,333 45.16 0.94 LZ+Huf lzds2 s1024 m5 652,032 42.62 3.26 LZ+Ari dst 0.9 mb 4 653,210 8:41.41 1:14.26 LZ+DHuf lzds2 s1024 m4 654,497 31.08 3.37 LZ+Ari rk 1.01a01 654,952 21.97 20.08 ROLZ rar/win 2.60 m5 md1024 655,987 1:01.22 2.10 LZ+Huf lz (kabanov) 6 661,500 1:44.56 3.20 LZ+Huf lzds2 s1024 m3 662,390 21.01 3.36 LZ+Ari rk 1.01a01 mf1 662,940 20.24 19.59 ROLZ arjz 0.50 mp9 md2m 664,006 3:48.59 1.60 LZ+Huf lz (kabanov) 5 664,788 1:25.80 3.19 LZ+Huf rkive 1.92b mf1 665,657 27.79 22.76 ROLZ arhangel 1.34 -2-mo6 665,788 1:19.07 1:21.45 PPM xtreme t6 666,019 57.92 3.64 LZ+Huf imp 1.10 -1 m3 u1000 667,465 29.16 1.38 LZ+Huf lzds2 s1024 m2 668,561 17.22 3.36 LZ+Ari lzds2 s512 m3 669,953 20.39 3.41 LZ+Ari imp 1.10 -1 u1000 672,465 19.04 1.38 LZ+Huf lz (kabanov) 4 675,902 57.37 3.25 LZ+Huf rar/win 2.60 m5 683,041 42.63 2.10 LZ+Huf lzds2 s1024 m1 683,175 13.58 3.48 LZ+Ari rar/win 2.60 m4 683,767 36.75 2.10 LZ+Huf rar/win 2.60 m3 687,004 29.15 2.10 LZ+Huf arjz 0.50 md2m 690,440 1:03.92 1.77 LZ+Huf arjz 0.50 mp9 692,748 1:22.34 1.33 LZ+Huf arjz 0.50 mp8 693,057 1:18.93 1.44 LZ+Huf arhangel 1.40a1 -1-mt 699,665 16.81 7.24 LZ+Ari lz (kabanov) 3 701,192 24.26 3.30 LZ+Huf arjz 0.50 702,515 48.13 1.33 LZ+Huf uharc 0.2b mm- 703,740 1:22.59 15.64 LZ+PPM uharc 0.2b 703,740 1:32.78 15.63 LZ+PPM ace32 1.2b m5 717,588 50.14 2.48 LZ+Huf ace32 1.02a m5 717,588 50.34 1.99 LZ+Huf lz (kabanov) 2 722,694 16.89 3.36 LZ+Huf lzds2 s64 m3 726,252 15.72 3.80 LZ+Ari arjz 0.50 mp6 726,985 27.84 1.43 LZ+Huf * cabarc 1.00 LZX:15 730,849 26.74 0.89 LZ+Huf dst 0.9 mb 730,954 46.98 21.29 LZ+DHuf 7zip 2.01 mx 736,643 40.21 1.66 LZ+Huf 7zip 2.01 737,297 26.67 1.60 LZ+Huf uc 2.3.05 tt 744,404 5:51.32 3.05 LZ+Huf ace32 1.02a m4 745,144 26.02 2.15 LZ+Huf ace32 1.2b m4 745,144 26.24 2.48 LZ+Huf uharc 0.2b m1 752,640 56.05 17.70 LZ+PPM arjz 0.50 mp5 753,915 18.77 1.44 LZ+Huf lz (kabanov) 1 754,558 12.62 3.64 LZ+Huf uc 2.3.05 tn 765,828 4:19.46 3.05 LZ+Huf * pkzip 2.50 max 767,117 10.02 1.11 LZ+Huf arhangel 1.34 -1 768,472 25.34 7.73 LZ+Ari arhangel 1.40a1 -1 768,841 24.04 6.31 LZ+Ari ha 0.999c a1 769,327 30.82 9.36 LZ+Ari pkzip 2.04g -ex 770,579 15.67 1.14 LZ+Huf * pkzip 2.50 772,644 8.29 1.10 LZ+Huf esp 1.92 774,260 10.77 1.00 LZ+Huf pkzip 2.04g 780,639 9.80 1.19 LZ+Huf ===================== Конец - 1.txt ===================== Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 05 Dec 99 11:23:53 To : All Subj : Compressors Comparison Tests 5. [2/9] ===================== Hачало - 2.txt ===================== ¦ Russian Text (stand.txt) 1,639,139 ======================================================== Compressor and options size compress extract ====================================================== * rkuc 1.04 o12 x 439,904 2:12.58 2:23.79 PPM rkuc 1.04 o16 x 439,996 2:19.16 2:32.65 PPM * rkuc 1.04 o8 x 440,164 2:01.10 2:13.74 PPM rk 1.01a01 mx2 ft 448,200 5:52.53 5:56.09 PPM boa 0.58b -m15 448,497 2:09.63 2:14.74 PPM * rkuc 1.04 o8 454,028 1:30.53 1:36.62 PPM rkuc 1.04 o12 456,324 1:41.24 1:46.40 PPM * ppmn 1.00a1 MT 457,074 32.45 34.60 PPM rkuc 1.04 o16 457,372 1:49.65 1:57.18 PPM * ppmdd o6 m32 457,498 14.35 15.35 PPM rkive 1.92a -mt2 457,840 6:02.40 5:27.58 LZP,PPM ppmn 1.00a1 M:15 458,622 23.71 26.30 PPM * ppmdd o5 m16 459,979 11.44 12.81 PPM ppmn 1.00a1 461,444 32.38 34.93 PPM boa 0.58b -m7 462,315 1:59.14 2:03.59 PPM * ybs' -x 463,442 15.94 9.10 BWT+Ari ba 0.99b -20-m 465,585 22.90 11.33 BWT+Ari ba 0.99b -20-r-g 465,619 21.70 11.28 BWT+Ari ba 0.99b -20-g 465,619 22.67 11.35 BWT+Ari ppmn 1.00a1 O6 465,832 40.70 43.35 PPM acb 2.00 u 466,157 5:34.05 5:35.37 AC * ybs' -r -k- 466,551 13.72 7.58 BWT+Ari ybs' -r 466,551 14.44 7.58 BWT+Ari ba 0.99b -20-r 468,567 22.38 11.83 BWT+Ari ba 0.99b -20 468,567 23.32 11.82 BWT+Ari ba 0.99b -20-z 468,567 24.88 11.82 BWT+Ari szip 1.10 b19 o0 469,201 29.16 8.53 BWT+Ari szip 1.10 b19 o12 469,364 24.70 14.58 ST+Ari ybs (non public) 469,441 14.39 7.58 BWT+Ari szip 1.10 b19 o10 469,567 20.74 13.31 ST+Ari rkive 1.92a -mt1 469,831 2:35.55 2:10.94 LZP,PPM szip 1.05Xf b19 o0 470,266 29.70 9.90 BWT+Ari szip 1.05Xf b19 o12 470,351 25.41 15.95 ST+Ari szip 1.10 b19 o8 470,853 16.95 12.16 ST+Ari rk 1.01a01 mx2 472,316 5:40.70 5:42.58 PPM ict UC 1.0 472,556 18.53 12.81 ST+Ari acb 2.00 b 472,687 3:39.15 3:39.15 AC rkive 1.4 -mt 473,052 1:24.04 1:12.88 LZP,PPM x1 0.95a am4l3 474,027 52.40 54.93 PPM * ppmdd 474,216 9.36 10.28 PPM ba 0.99b -20-p 475,899 23.39 11.84 BWT+Ari eri 4.4fre -m5 476,034 1:05.99 10.42 ST+PPM eri 4.4fre -m4 476,035 55.11 10.38 ST+PPM szip 1.10 b19 o6 476,240 13.15 11.50 ST+Ari eri 4.4fre -m3 476,324 49.58 10.27 ST+PPM rkuc 1.04 477,092 45.46 47.40 PPM rkuc 1.04 477,092 47.72 49.36 PPM dst 0.9 mt 4 477,369 2:19.66 1:29.88 LZ+PPM dst 0.9 mt 477,464 1:33.66 1:29.93 LZ+PPM rk 1.01a01 mx1 ft 477,756 5:33.49 5:37.22 PPM * bwc/PGCC 0.99 m2m 479,162 14.72 7.44 BWT+Ari x1 0.95a am4 482,141 48.77 51.63 PPM eri 4.4fre -m2 482,521 44.63 9.22 ST+PPM 777 0.03b3 md1024 m5 mu16 483,261 1:47.38 2:05.12 LZ+PPM 777 0.04b1 m5 mu16 md1024 483,261 1:48.13 2:00.17 LZ+PPM rk 1.01a01 mx3 M16 485,416 5:20.47 5:29.56 PPM eri 4.4fre -m1 486,572 42.98 9.17 ST+PPM ufa 0.04b1 m5 (777) 490,761 1:44.85 1:56.78 LZ+PPM ba 0.99b 494,082 21.64 12.25 BWT+Ari szip 1.10 b19 o4 501,888 7.21 11.23 ST+Ari rk 1.01a01 mx1 503,508 5:10.48 5:16.21 PPM bwc/PGCC 0.99 m900k 503,556 13.92 7.58 BWT+Ari * imp 0.91 -2 -u1000 506,495 11.70 3.30 BWT+Huf imp 1.00 -2 u1000 506,524 11.61 3.31 BWT+Huf imp 1.10 -2 u1000 506,524 11.67 3.30 BWT+Huf bzip2/PGCC 0.90 -9 507,828 17.43 5.16 BWT+Huf bzip2/Watcom -9 507,828 20.24 6.16 BWT+Huf bzip2/w32 0.90 -9 507,828 24.42 6.11 BWT+Huf bzip2/w32 0.95b -9 507,828 24.47 6.17 BWT+Huf bzip2 0.1pl2 -9 507,828 34.59 10.50 BWT+Huf exp1 1. 507,901 15.29 5.17 BWT+Huf bwc/PGCC 0.99 m600k 519,470 13.65 7.61 BWT+Ari bzip2/PGCC 0.90 -6 523,162 16.68 5.15 BWT+Huf bzip2/w32 0.95b -6 523,162 23.60 6.17 BWT+Huf bzip2/w32 0.90 -6 523,162 23.65 6.16 BWT+Huf arhangel 1.40a1 -2-mc8192 536,000 33.72 34.84 PPM arhangel 1.40a1 -2 538,770 36.85 38.16 PPM ha a2 0.999c 538,771 44.49 44.00 PPM 777 0.04b1 m2 546,020 3:08.92 1:30.75 LZ+PPM * cabarc 1.00 LZX:21 546,392 38.77 0.77 LZ+Huf rk 1.01a01 mf3 547,812 1:23.22 43.57 ROLZ bix 1.00b7 m1 549,580 44.18 1.32 LZ+Huf rkive 1.92b mf3 560,614 51.45 24.10 LZP,PPM arjz'0.50(md2m,mp9),dict 562,467 55.45 2.42 LZ+Huf rkive 1.4 562,529 1:07.83 34.71 LZP,PPM ufa 0.04b1 m2 562,558 1:39.36 17.41 LZ+PPM arjz'0.50(md2m,mp9),dict(-e) 562,704 53.95 2.42 LZ+Huf uharc 0.2b m3 564,337 1:34.10 12.04 LZ+PPM arjz'0.50(md2m) + dict 565,400 40.48 2.42 LZ+Huf arjz'0.50(md2m) + dict(-e) 565,768 38.70 2.42 LZ+Huf arhangel 1.29b -2-mo5 567,454 55.10 58.23 PPM arhangel 1.32 -2-mo5 567,454 58.34 1:00.47 PPM dst 0.9 mb 4 570,450 5:20.71 50.39 LZ+DHuf dst 0.9 me 4 570,454 5:27.31 55.11 LZ+DHuf dst 0.9 mg 4 570,454 5:27.48 55.06 LZ+DHuf lzds2' s1024 m5 571,368 29.65 2.93 LZ+Ari lzds2' s1024 m4 572,551 22.16 2.82 LZ+Ari rk 1.01a01 mf2 573,464 49.18 34.32 ROLZ rar/win 2.60 m5 md1024 574,649 41.87 1.71 LZ+Huf rkive 1.92a 574,921 57.12 47.23 LZP,PPM lzds2' s1024 m3 576,733 16.34 2.81 LZ+Ari lz (kabanov) 6 582,554 48.62 2.76 LZ+Huf lz (kabanov) 5 583,512 44.10 2.81 LZ+Huf imp 1.00 -1 m3 u1000 583,538 20.07 1.17 LZ+Huf imp 1.10 -1 m3 u1000 583,538 20.36 1.28 LZ+Huf arjz'0.50 mp9 md2m 583,626 3:28.40 1.39 LZ+Huf lzds2' s1024 m2 584,805 13.09 2.86 LZ+Ari xtreme t6 586,485 31.41 3.20 LZ+Huf imp 0.91 -1 -u1000 588,715 13.29 1.04 LZ+Huf imp 1.10 -1 u1000 588,715 13.47 1.11 LZ+Huf lz (kabanov) 4 590,886 33.94 2.70 LZ+Huf lzds2' s1024 m1 594,572 11.06 2.98 LZ+Ari rar/win 2.60 m5 603,381 31.63 1.99 LZ+Huf rar/win 2.60 m4 604,258 27.83 1.77 LZ+Huf rar/win 2.60 m3 606,723 23.05 1.77 LZ+Huf hap 3.00 606,859 21.86 27.85 PPM rk 1.01a01 608,248 19.32 17.77 ROLZ arjz'0.50 mp9 610,804 1:28.44 1.16 LZ+Huf arjz'0.50 mp8 611,331 1:22.39 1.16 LZ+Huf uharc 0.2b mm- 611,915 1:09.96 13.47 LZ+PPM uharc 0.2b 611,915 1:18.65 13.47 LZ+PPM arjz'0.50 md2m 612,729 58.15 1.38 LZ+Huf lz (kabanov) 3 617,890 16.44 2.91 LZ+Huf rkive 1.92b mf1 621,686 26.89 22.52 LZP,PPM jar32 1.01d -m4 622,653 35.57 3.07 LZ+Huf arjz'0.50 623,432 47.08 1.16 LZ+Huf jar32 1.01b3 -m4 623,803 33.84 3.02 LZ+Huf dst 0.9 mb 630,043 39.94 18.00 LZ+DHuf dst 0.9 me 630,047 44.83 21.57 LZ+DHuf ace 1.0b -m5 633,563 41.41 2.58 LZ+Huf ace32 1.2b -m5 633,585 40.87 2.25 LZ+Huf lz (kabanov) 2 639,102 12.48 3.09 LZ+Huf arjz'0.50 mp6 651,241 24.86 1.17 LZ+Huf uharc 0.2b m1 654,620 45.87 15.12 LZ+PPM ace32 1.2b -m4 655,881 22.52 2.31 LZ+Huf cabarc 1.00 LZX:15 657,206 20.71 0.77 LZ+Huf rar 2.50 m5 658,074 29.37 1.47 LZ+Huf rar 2.03 m5 658,074 29.75 1.43 LZ+Huf rar 2.50 m4 658,240 28.37 1.43 LZ+Huf rar 2.02 -m4 658,240 28.51 1.48 LZ+Huf 7zip 2.00b2 662,078 21.52 2.37 LZ+Huf 7zip 2.00b2 mx 662,105 32.12 2.32 LZ+Huf uc 2.3.05 664,658 23.73 1.87 LZ+Huf lz (kabanov) 1 668,876 10.22 3.36 LZ+Huf arjz'0.50 mp5 679,220 16.12 1.28 LZ+Huf arhangel 1.32 -1 684,078 20.37 8.82 LZ+Ari arhangel 1.40a1 -1 684,415 16.91 5.63 LZ+Ari ha a1 0.999c 684,868 22.90 8.13 LZ+Ari pkzip 2.50 max 686,971 10.07 0.94 LZ+Huf pkzip 2.04g -ex 688,850 12.71 1.03 LZ+Huf pkzip 2.50 691,821 7.43 0.94 LZ+Huf pkzip 2.04g 697,853 8.35 1.15 LZ+Huf arhangel 1.29b -1 715,735 15.17 9.54 LZ+Ari ufa 0.04b1 m2 mq 733,309 37.68 32.95 LZ+PPM arhangel 1.40a1 -1-mt 786,444 1:14.41 7.80 LZ+Ari ===================== Конец - 2.txt ===================== Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 05 Dec 99 11:24:12 To : All Subj : Compressors Comparison Tests 5. [3/9] ===================== Hачало - 3.txt ===================== ¦ C-sources (Watcom 10.0) 1,890,501 ======================================================== Compressor and options size compress extract ====================================================== * rkuc 1.04 o16 x 224,528 2:17.18 2:31.88 PPM * rkuc 1.04 o12 x 225,020 2:02.38 2:13.68 PPM rk 1.01a01 mx2 225,156 2:32.80 2:29.93 PPM * rkuc 1.04 o8 x 229,744 1:48.47 1:57.97 PPM rk 1.01a01 mx2 ft 231,912 2:42.43 2:48.86 PPM rk 1.01a01 mx1 233,120 2:27.57 2:26.91 PPM acb 2.00 u 233,189 2:26.16 2:27.20 AC * acb 2.00 b 235,985 1:40.90 1:40.90 AC * boa 0.58b -m15 238,395 1:06.35 1:11.30 PPM rkuc 1.04 o16 238,728 1:37.21 1:41.96 PPM rkive 1.92a mt2 239,429 3:05.76 2:44.72 LZP,PPM rkuc 1.04 o16 b 240,580 2:04.13 2:06.45 PPM acb 2.00 B 241,635 1:12.83 1:13.05 AC rkuc 1.04 o12 242,664 1:24.45 1:27.80 PPM * boa 0.58b -m7 247,928 1:04.92 1:10.75 PPM rkive 1.92a mt1 249,437 1:21.56 1:08.33 LZP,PPM * ba 0.99b -20-r 251,447 31.99 7.76 BWT+Ari ba 0.99b -20 251,447 33.02 7.80 BWT+Ari ba 0.99b -20-m 251,447 33.17 7.76 BWT+Ari ba 0.99b -20-g 251,447 33.18 7.76 BWT+Ari ba 0.99b -20-z 251,447 34.79 7.79 BWT+Ari ba 0.99b -20-j 251,816 33.18 7.89 BWT+Ari rkive 1.4 -mt 251,816 44.10 36.08 LZP,PPM ba 0.99b -20-f 252,009 33.41 7.75 BWT+Ari dst 0.9 mt 4 252,183 2:02.05 52.04 LZ+PPM dst 0.9 me 4 252,183 2:04.08 51.93 LZ+PPM ba 0.99b -20-p 252,658 33.11 7.75 BWT+Ari * szip 1.05Xf b19 o0 253,508 48.89 7.48 BWT+Ari * bwc/PGCC 0.99 m2m 253,665 13.46 5.63 BWT+Ari rkive 1.92a mb3 254,060 54.11 36.03 LZP,PPM ppmn 1.00a1 O7 254,244 25.63 28.23 PPM dst 0.9 mt 254,542 56.22 51.49 LZ+PPM dst 0.9 mg 254,542 58.25 51.54 LZ+PPM rk 1.01a01 mf3 255,040 1:06.50 37.02 ROLZ * ybs' 255,086 12.72 5.70 BWT+Ari rk 1.01a01 mf2 255,284 42.96 25.47 ROLZ eri 4.4fre -m5 256,157 1:07.58 8.89 ST+PPM eri 4.4fre -m4 256,158 1:02.14 8.89 ST+PPM szip 1.10 b19 o0 256,312 48.41 6.11 BWT+Ari eri 4.4fre -m3 256,314 59.25 8.83 ST+PPM rkive 1.92b mf3 256,928 34.31 16.67 LZP,PPM rkive 1.4 258,427 33.83 17.57 LZP,PPM eri 4.4fre -m2 260,045 56.57 8.27 ST+PPM rkuc 1.04 o8 260,092 1:14.26 1:17.29 PPM ppmn 1.00a1 O6 262,020 23.65 26.30 PPM eri 4.4fre -m1 262,556 55.82 8.11 ST+PPM 777 0.04b1 m2 262,968 4:26.36 49.22 LZ+PPM 777 0.04b1 m9 262,968 4:26.53 49.88 LZ+PPM szip 1.05Xf b19 o12 263,401 23.10 13.86 ST+Ari ict UC 1.0 265,614 15.45 9.95 ST+Ari szip 1.05Xf b19 o10 266,176 19.30 12.76 ST+Ari * ppmdd o6 m32 266,814 8.97 10.07 PPM szip 1.10 b19 o12 267,055 22.24 12.39 ST+Ari szip 1.10 b19 o10 269,885 18.54 11.17 ST+Ari * jar32 1.02d -m4 270,108 21.42 3.24 LZ+Huf szip 1.05Xe b19 o8 270,141 15.44 10.93 ST+Ari szip 1.05Xf b19 o8 270,150 15.67 11.66 ST+Ari jar32 1.01b3 -m4 270,235 20.65 3.18 LZ+Huf jar32 1.01b3 -m3 270,487 20.60 3.24 LZ+Huf * cabarc 1.00 LZX:21 271,720 40.18 0.77 LZ+Huf szip 1.05Xe b19 o7 273,596 13.62 10.49 ST+Ari ppmn 1.00a1 M:15 273,851 17.00 19.47 PPM ppmn 1.00a1 273,875 17.10 19.36 PPM szip 1.10 b19 o8 274,069 15.13 10.18 ST+Ari arjz'0.50(md2m,mp9),dict(-e) 274,248 22.86 2.15 LZ+Huf arjz'0.50(md2m) + dict(-e) 275,580 17.60 2.20 LZ+Huf arjz'0.50(md2m,mp9),dict 275,747 28.50 2.31 LZ+Huf rkive 1.92a 275,952 24.27 19.45 LZP,PPM bwc/PGCC 0.99 m900k 276,488 12.38 5.65 BWT+Ari ufa 0.04b1 m2 277,275 1:54.24 8.84 LZ+PPM arjz'0.50(md2m) + dict 278,242 20.19 2.26 LZ+Huf ba 0.99b 278,723 27.53 7.91 BWT+Ari bix 1.00b7 m1 279,140 31.47 1.16 LZ+Huf szip 1.05Xf b19 o6 280,453 12.21 10.78 ST+Ari bzip2/PGCC 0.90 -9 280,776 17.28 4.28 BWT+Huf bzip2/Watcom -9 280,776 21.39 5.33 BWT+Huf bzip2/w32 0.95b -9 280,776 25.93 4.96 BWT+Huf bzip2/w32 0.90 -9 280,776 26.07 4.90 BWT+Huf bzip2 0.1pl2 -9 280,776 35.97 9.18 BWT+Huf imp 0.91 -2 -u1000 280,824 13.68 2.97 BWT+Huf imp 1.10 -2 u1000 280,847 14.04 3.09 BWT+Huf imp 1.00 -2 u1000 280,847 14.16 3.03 BWT+Huf exp1 1. 280,847 15.78 4.45 BWT+Huf * ppmdd o5 m16 280,971 8.19 9.19 PPM rk 1.01a01 282,232 12.68 10.84 ROLZ uharc 0.2b m3 282,467 1:24.31 10.34 LZ+PPM szip 1.10 b19 o6 284,201 11.55 9.25 ST+Ari rkive 1.90b mf 284,723 41.64 34.82 LZP,PPM arjz'0.50 mp9 md2m 286,560 1:04.19 1.05 LZ+Huf rar/win 2.60 m5 md1024 286,696 31.36 1.55 LZ+Huf bwc/PGCC 0.99 m600k 289,074 12.11 5.63 BWT+Ari lzds2' s1024 m5 289,147 27.06 2.04 LZ+Ari lzds2' s1024 m4 289,579 17.33 1.99 LZ+Ari szip 1.05Xe b19 o5 290,670 10.33 9.62 ST+Ari rk 1.01a01 mf1 291,572 12.10 11.29 ROLZ dst 0.9 mb 4 291,953 3:37.26 26.13 LZ+DHuf lzds2' s1024 m3 292,112 12.00 1.98 LZ+Ari lzds2' s1024 m2 292,423 10.17 2.04 LZ+Ari lz (kabanov) 6 292,780 29.69 1.99 LZ+Huf bzip2/PGCC 0.90 -6 293,205 16.21 4.27 BWT+Huf bzip2/w32 0.95b -6 293,205 24.36 4.90 BWT+Huf bzip2/w32 0.90 -6 293,205 24.47 4.84 BWT+Huf lz (kabanov) 5 293,630 23.70 2.10 LZ+Huf arjz'0.50 md2m 293,650 18.98 1.05 LZ+Huf rkive 1.92b mf1 293,884 14.28 11.57 LZP,PPM imp 1.00 -1 m3 u1000 296,429 22.72 0.94 LZ+Huf imp 1.10 -1 m3 u1000 296,429 22.78 1.05 LZ+Huf lzds2' s1024 m1 297,894 8.74 2.15 LZ+Ari xtreme t6 298,941 24.02 2.25 LZ+Huf uharc 0.2b mm- 299,429 37.51 10.67 LZ+PPM uharc 0.2b 299,429 47.46 10.72 LZ+PPM 777 0.04b1 m5 mu16 md1024 300,803 1:55.39 2:09.63 LZ+PPM ufa 0.04b1 m5 303,651 1:50.73 2:04.84 LZ+PPM lz (kabanov) 4 304,746 17.55 2.21 LZ+Huf * ppmdd 305,350 7.48 8.59 PPM * szip 1.05Xf b19 o4 307,877 5.88 10.06 ST+Ari * szip 1.10 b19 o4 309,516 5.34 8.53 ST+Ari rar/win 2.60 m5 310,751 24.37 1.49 LZ+Huf rar/win 2.60 m4 311,095 20.02 1.55 LZ+Huf rkuc 1.04 311,124 43.59 45.08 PPM imp 0.91 -1 -u1000 311,204 14.66 1.05 LZ+Huf imp 1.10 -1 u1000 311,211 14.91 0.99 LZ+Huf rar/win 2.60 m3 313,139 15.23 1.49 LZ+Huf x1 0.95a am4l3 314,422 42.24 46.20 PPM arjz'0.50 mp9 314,862 32.51 0.95 LZ+Huf arjz'0.50 mp8 315,253 25.48 0.99 LZ+Huf dst 0.9 mb 315,704 21.24 12.17 LZ+DHuf arjz'0.50 318,452 14.84 1.06 LZ+Huf x1 0.95a am4 318,717 38.45 41.86 PPM ace32 1.2b m5 319,263 18.54 1.93 LZ+Huf uharc 0.2b m1 326,012 33.93 11.27 LZ+PPM arjz'0.50 mp6 326,483 10.51 1.00 LZ+Huf lz (kabanov) 3 328,566 9.18 2.21 LZ+Huf ace32 1.2b m4 330,711 11.61 2.09 LZ+Huf arjz'0.50 mp5 337,547 8.37 0.89 LZ+Huf lz (kabanov) 2 345,966 7.37 2.26 LZ+Huf arhangel 1.40a1 -2-mc12000 351,403 30.31 31.78 PPM rar 2.03 m5 355,553 16.55 1.04 LZ+Huf rar 2.50 m5 355,553 17.91 1.08 LZ+Huf arhangel 1.40a1 -2 356,187 30.70 31.81 PPM ha a2 0.999c 356,303 37.07 37.07 PPM rar 2.50 m4 356,350 14.82 1.15 LZ+Huf uc 2.3.05 358,932 15.60 1.43 LZ+Huf arhangel 1.40a1 -2-mc8192 363,441 29.45 30.75 PPM arhangel 1.40a1 -1-mt 367,615 14.65 4.46 LZ+Ari * cabarc 1.00 LZX:15 374,486 24.22 0.66 LZ+Huf lz (kabanov) 1 375,332 6.16 2.37 LZ+Huf 7zip 2.00b2 mx 377,204 42.41 1.66 LZ+Huf ufa 0.04b1 m2 mq 378,284 23.23 14.89 LZ+PPM 7zip 2.00 379,257 20.03 1.60 LZ+Huf 7zip 2.00b2 379,440 19.74 1.66 LZ+Huf arhangel 1.40a1 -1 387,444 14.98 3.55 LZ+Ari ha a1 0.999c 387,968 19.83 5.77 LZ+Ari * pkzip 2.50 max 389,629 4.96 0.72 LZ+Huf pkzip 2.04g -ex 391,944 9.44 0.96 LZ+Huf * pkzip 2.50 392,454 3.63 0.78 LZ+Huf hap 3.00 398,121 20.21 26.14 PPM pkzip 2.04g 399,206 5.01 0.90 LZ+Huf arhangel 1.29b -1 417,954 12.72 5.87 LZ+Ari ===================== Конец - 3.txt ===================== Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru,yoockinv@mail.ru,ICQ:44536013 (2:5020/1042.50)
Предыдущий блок Следующий блок Вернуться в индекс