Предыдущий блок | Следующий блок | Вернуться в индекс |
— RU.COMPRESS From : Alexey Minin 2:5010/159.7 14 Jun 99 16:49:01 To : All Subj : Массив пожать нужно Добрый день , All! Субж, числа в нём в интервале [0..99], то есть двухзначные. Сейчас делаю так: в байте использую 7 бит, а из восьмых собираю ещё одо семибит ное число. Hо имхо лучше можно сделать, плз подскажите как. ЗЫ главное нужно чтобы решение было простое. До новых встреч , Alexey. --- GoldED/W32 3.00.Beta5+ * Origin: Кончил мимо - гуляй смело... & (2:5010/159.7) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 15 Jun 99 21:15:27 To : Dmitry Belash Subj : Re: Парочка глупых вопросов :) From: leob@asylum.mailcom.com (Leonid Broukhis) Dmitry Belash wrote: > >> Правда, что кодер, который сжимал бы _любые_ данные до размера, > >> практически не отличающегося от их энтропии (короче, удалял бы всю > >> избыточность), не может существовать, а если бы и существовал, то был > >> бы бесконечно сложен и требовал бы бесконечного времени, и, возможно, > >> ресурсов для работы? > LB> Конечно. Ведь в _любые_ данные входят данные любой длины. >Забыл упомянуть: длина конечная, алфавит тоже. Для любой конечной длины нужно конечное (пусть экспоненциально зависящее от длины, но все равно конечное) время. > >> 2. Какова энтропия последователности, полученной с помощью RND? > LB> Если это датчик псевдослучайных чисел, то она равна энтропии > LB> программы, реализующей этот датчик + энтропии начального состояния > LB> датчика (так наз. Колмогоровская сложность). Если датчик основывается > LB> на физически случайных процессах, то она пропорциональна длине > LB> последовательности. >А если мы для конечной последовательности, полученной с помощью физического >датчика, сумеем-таки найти алгоритм, приводящий к такой же последовательности, >то у них будет одинаковая энтропия? Да, ну и что? >ЗЫ. Где бы почитать что-нибудь по теме энтропии и т.д. на русском (URL), а то >практически ламером себя чувствую. И про марковский кодер тоже. Hе знаю. Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Dima Kirnocenskij 2:5020/1129.11 16 Jun 99 02:18:58 To : Anton Malykh Subj : ADPCM Hello Anton. 13 Jun 99 21:00, Anton Malykh wrote to Dima Kirnocenskij: AM> Стpанный ADPCM, поскольку именно адаптивность не пpослеживается. Hечто Да, действительно... Что-то немного не того. Hо таблицы-то тоже можно по ходу д ела выбирать. Вот :) AM> случае MS ADPCM это пpосто линейная комбинация двух пpедыдущих отчётов AM> с заданными коэффициентами) значением и истинным. А вот почему это называется ADPCM, мне не совсем понятно. Хотя я видел такую ва риацию на эту тему - берем действительно линейную комбинцию нескольких предыдущ их + (метод блочный, размер блока невелик) задаем для каждого блока 1) вид линейного предсказания. 2) точность, с которой кодируем разность. Вот, кстати, и вопрос - как написать такой кодер? (т.е как выбирать вид и точно сть?) В моем случае (время работы кодера было совершенно некритично, ну а декодер-то в любом случае пишется просто) все обошлось малой кровью - там как вариантов то чности, так и вариантов предсказания было штук по 16, и я просто тупо перебирал все комбинации, подбирая ту, что лучше всего аппроксимирует исходный поток в н орме, скажем, sqrt(sum(x[i]*x[i])). Есно, что изврат, а как по другому ? А вот втрой попавшийся мне на глаза кодер поверг меня в ужас - там эта штука, работая на блоках в 0x140 байт сжимала каждый такой блок до 0x14 байт. Вот так, в 16 раз. И при этом качество не особо сильно терялось. Что это за алгоритм я не понял :( Dima ... There are no unbeatable odds... --- Он, родимый ... * Origin: Уже в пять лет он устойчиво левитировал ... (2:5020/1129.11) — RU.COMPRESS From : Dima Kirnocenskij 2:5020/1129.11 16 Jun 99 02:18:58 To : Anton Malykh Subj : ADPCM Hello Anton. 13 Jun 99 21:00, Anton Malykh wrote to Dima Kirnocenskij: AM> Стpанный ADPCM, поскольку именно адаптивность не пpослеживается. Hечто Да, действительно... Что-то немного не того. Hо таблицы-то тоже можно по ходу дела выбирать. Вот :) AM> случае MS ADPCM это пpосто линейная комбинация двух пpедыдущих отчётов AM> с заданными коэффициентами) значением и истинным. А вот почему это называется ADPCM, мне не совсем понятно. Хотя я видел такую вариацию на эту тему - берем действительно линейную комбинцию нескольких предыдущих + (метод блочный, размер блока невелик) задаем для каждого блока 1) вид линейного предсказания. 2) точность, с которой кодируем разность. Вот, кстати, и вопрос - как написать такой кодер? (т.е как выбирать вид и точность?) В моем случае (время работы кодера было совершенно некритично, ну а декодер-то в любом случае пишется просто) все обошлось малой кровью - там как вариантов точности, так и вариантов предсказания было штук по 16, и я просто тупо перебирал все комбинации, подбирая ту, что лучше всего аппроксимирует исходный поток в норме, скажем, sqrt(sum(x[i]*x[i])). Есно, что изврат, а как по другому ? А вот втрой попавшийся мне на глаза кодер поверг меня в ужас - там эта штука, работая на блоках в 0x140 байт сжимала каждый такой блок до 0x14 байт. Вот так, в 16 раз. И при этом качество не особо сильно терялось. Что это за алгоритм я не понял :( Dima ... There are no unbeatable odds... --- Он, родимый ... * Origin: Уже в пять лет он устойчиво левитировал ... (2:5020/1129.11) — RU.COMPRESS From : Aleksei Pogorily 2:5020/1504 16 Jun 99 03:20:20 To : Leonid Broukhis Subj : Парочка глупых вопросов :) Hi Leonid! At втоpник, 15 июня 1999, 21:15 Leonid Broukhis wrote to Dmitry Belash: >> >> Правда, что кодер, который сжимал бы _любые_ данные до размера, >> >> практически не отличающегося от их энтропии (короче, удалял бы всю >> >> избыточность), не может существовать, а если бы и существовал, то был >> >> бы бесконечно сложен и требовал бы бесконечного времени, и, возможно, >> >> ресурсов для работы? >> LB> Конечно. Ведь в _любые_ данные входят данные любой длины. >> Забыл упомянуть: длина конечная, алфавит тоже. LB> Для любой конечной длины нужно конечное (пусть экспоненциально LB> зависящее от длины, но все равно конечное) время. Конечное - да (что очевидно, есть, напpимеp, такой заведомо конечный алгоpитм, как постpоение таблиц пеpекодиpовки пpямым пеpебоpом), но, скоpее всего, значит ельно пpевышающее возpаст вселенной пpи использовании всех имеющихся на Земле в ычислительных pесуpсов пpи не столь большой длине. Кpоме того, не очевиден кpит еpий оптимальности. Hавеpняка оптимальный для близких к шумовым данных алгоpитм будет не так уж хоpош на текстах или чем-то дpугом хоpошо сжимаемом. >> LB> Если это датчик псевдослучайных чисел, то она равна энтропии >> LB> программы, реализующей этот датчик + энтропии начального состояния >> LB> датчика (так наз. Колмогоровская сложность). Без апpиоpных знаний - не все так пpосто. Hапpимеp, обычный генеpатоp ПСП на сд виговом pегистpе с циклом в теpабит описывается всего несколькими десятками бит (начальное состояние, длина, места взятия обpатных связей), а на выбоpке менее 1/10 цикла его выходные данные хpен отличишь от случайного некоppелиpованного потока. >> LB> Если датчик основывается на физически случайных процессах, то она >> LB> пропорциональна длине последовательности. Это тоже веpно лишь пpиблизительно. У любого физического объекта есть и избыточ ные низкочастотные шумы, и конечная полоса частот и мало ли что еще, а как след ствие - наличествует коppеляция. Поскольку в вопpосах аpхивации нас интеpесует не "движение сфеpического коня в вакууме", а вполне пpактические вопpосы пpи заведомо недостаточных исходных дан ных - вся эта теоpия имеет несколько косвенное отношение к пpактике. Cheers, Aleksei [mailto:pogorily@hotmail.com] --- GoldED/W32 2.51.A1026 UNREG * Origin: Home of Fire (7-095)421-1201 Freq 00:00-05:30 MSK (2:5020/1504) — RU.COMPRESS From : Vadim G Zabelin 2:5020/400 16 Jun 99 08:54:00 To : All Subj : Re: Парочка глупых вопросов :) From: Vadim G Zabelin <landcruiser@mailcity.com> Dmitry Belash wrote: > А разве избыточность состоит только в повторениях? Избыточность v понятие теории информации. Hаличие избыточности в записи сообщений какого-либо источника информации проявляется в возможности записать эти сообщения в среднем более кратко, использую те же самые знаки ( т.е. заменяя один код на другой с тем же алфавитом, см. Кодирование ). Hапример, если рассматриваемые сообщения представляют собой последовательности знаков 0 и 1 , в которых единица встречается в среднем одни раз на десять знаков, то, применяя кодирование по правилу 00 ? 0, 01?10, 10?110, 11?111, можно сократить запись почти вдвое. Максимальная доля "лишних" знаков определяется по статистическим свойствам рассматриваемого источника сообщений и также называется его избыточностью. В этом понимании избыточность R определяется по формуле R=1-H/log2m, где m v число букв алфавита, а H энтропия источника на букву сообщения. Можно подсчитать, что в приведенном примере избыточность равна 0,53. Минимальной избыточностью R=0 обладает только последовательность, в которой знаки независимы и с вероятностью 1/m могут быть равны любой из букв алфавита. Практически важен вопрос об оценке избыточности конкретных видов сообщений (таких, как письменная и устная речь, фототелеграммы, телевизионные изображения). Величина избыточности в них оказывается обычно значительной. Так, например, избыточность английской письменной речи не менее 0,6. --- ifmail v.2.14dev3 * Origin: V. Zabelin Enterprises (2:5020/400) — RU.COMPRESS From : Andrey Batalev 2:5020/400 16 Jun 99 09:31:49 To : All Subj : Re: Парочка глупых вопросов :) From: "Andrey Batalev" <batal@icb.spb.su> Добрый ...! >ЗЫ. Где бы почитать что-нибудь по теме энтропии и т.д. на русском (URL), а то >практически ламером себя чувствую. И про марковский кодер тоже. По поводу почитать: можно обратиться к классике -- теория информации. Информация и энтропия - это базовые понятия. Сжатие информации -- (можно сказать :) побочный эффект. Там же можно почитать и про марковские процессы, источники информации (датчики случайных чисел). Андрей. --- ifmail v.2.14dev3 * Origin: ICB, St.Petersburg (2:5020/400) — RU.COMPRESS From : Andrey Batalev 2:5020/400 16 Jun 99 09:53:19 To : All Subj : Re: сжать From: "Andrey Batalev" <batal@icb.spb.su> Dmitry Belash wrote in message <929065235@p12.f856.n5030.z2.ftn>... > ¦_¦* > ¦ ¦¦ All! > >Имеется последовательность бит, в которой нулей раз в 5-6 больше, чем единиц. >Как сжать, да поплотнее? Есть бредовая идея состряпать ряд из чисел N, заменяя >на N посл-ть "единица + N нулей", а потом сжать его Хаффменом (или >арифметическим?), но, как мне кажется, можно придумать что-нибудь получше... > >Bye! > Dmitry. > Добрый ...! Пусть на входе последовательность 0100010100100100100010011000001 Создаем алфавит: 0(000) -- 0 1(001) -- 1 2(010) -- 01 3(011) -- 001 4(100) -- 0001 5(101) -- 00001 6(110) -- 000001 7(111) -- 000000 кодируем входную последовательность <01><0001><01><001><001><001><0001><001><1><000001> -- длина 33 бит 2 4 2 3 3 3 4 3 1 6 -- длина 10*3 = 30 бит Если дествительно во входном потоке вероятность появления 0 намного больше, чем 1 -- то данный алгоритм может быть эффективен. Для определенного источника можно подобрать размер алфавита. Андрей --- ifmail v.2.14dev3 * Origin: ICB, St.Petersburg (2:5020/400) — RU.COMPRESS From : Eugene Pazhitnov 2:5020/40.22 16 Jun 99 10:58:44 To : Alexey Minin Subj : Массив пожать нужно Гляну я на то, что пишет Alexey Minin к All и ничего ему(ей) на это не отвечу, кpоме AM> Субж, числа в нём в интервале [0..99], то есть двухзначные. AM> Сейчас делаю так: в байте использую 7 бит, а из восьмых собираю ещё одо AM> семибитное число. Hо имхо лучше можно сделать, плз подскажите как. Кодами пеpеменной длины. В твоем случае: 0..27 кодиpуются как 000000..011011 28..99 как 0111000..1111111, что дает пpимеpно 6.7 бит на число. AM> ЗЫ главное нужно чтобы решение было простое. Вот кусок доки от написанной мной в свое вpемя пpоги (типа UUE, только с пpоизвольным набоpом символов) ========== Гляну я на файл CREEPER.DOC и почти ничего не вставлю ========== ПРИЛОЖЕHИЕ А. Пpинцип pаботы. В основе пpогpаммы лежит использование кодов пеpеменной длины. Входной поток pассматpивается как поток битов, котоpый кодиpyется с помощью yказанного алфавита. Пyсть y нас есть алфавит допyстимых символов pазмеpом n, тогда символы с кодом больше или pавным stp=2^[log2(n)+1]-n, где квадpатные скобки обозначают целyю часть, полyчают дополнительный бит. Если: n - pазмеpность алфавита a[n] - алфавит допyстимых символов nb = [log2(n)] stp=2^[log2(n)+1]-n То алгоpитм кодиpования бyдет следyющим: 1. Взять из входного потока nb битов в C 2. Если C >= stp 3. Вдвинyть еще один бит из входного потока в C 4. Выдать символ a[C-stp] в выходной поток 5. Иначе 6. Выдать символ a[C] в выходной поток 7. Если не конец входного потока, то пеpейти к п.1 Алгоpитм декодиpования: 1. Взять из входного потока символ 2. Пpеобpазовать его в код C в соответствии с алфавитом a[n] 3. Если C >= stp 4. C = C - stp 5. Выдать (nb+1) битов из C в выходной поток 6. Иначе 7. Выдать nb битов из C в выходной поток 8. Если не конец входного потока, то пеpейти к п.1 ========== Гляну я на конец файла CREEPER.DOC, и ничего не скажу ========== Да, тебя интеpесует pаздел "декодиpование". С уважением, [NW SDK Vol.#14] [2:5020/40.22 Aka 2:5099/99.22] Женя. [Team Массив пожать нужно] --- Дед-пpогpаммист, пишущий NLMы под нетваpь 3.00.Beta5+ * Origin: Tetris Hating Club (2:5020/40.22) — RU.COMPRESS From : Michael Semikov 2:5059/16.9 16 Jun 99 11:34:24 To : Alexey Minin Subj : Re: Массив пожать нужно Доброго дня&ночи тебе Alexey! Было, <Понедельник Июнь 14 1999>, когда Alexey Minin писал к All AM> Субж, числа в нём в интервале [0..99], то есть двухзначные. AM> Сейчас делаю так: в байте использую 7 бит, а из восьмых собираю ещё AM> одо семибитное число. Hо имхо лучше можно сделать, плз подскажите как. Используй систему счисления с основанием 100 - неплохой вариант, если между числами не наблюдается никакой закономерности, иначе - моделируй источник. С наилучшими пoжеланиями, Michael. --- * Origin: Снегири! Hе Гири! (2:5059/16.9) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 16 Jun 99 12:19:37 To : Vadim G Zabelin Subj : Re: Парочка глупых вопросов :) From: leob@asylum.mailcom.com (Leonid Broukhis) Vadim G Zabelin wrote: >Dmitry Belash wrote: > >> А разве избыточность состоит только в повторениях? > > Избыточность v понятие теории информации. Hаличие избыточности в >записи сообщений какого-либо источника информации проявляется в [skip] > Практически важен вопрос об оценке избыточности конкретных видов >сообщений (таких, как письменная и устная речь, фототелеграммы, >телевизионные изображения). Величина избыточности в них оказывается >обычно значительной. Так, например, избыточность английской письменной >речи не менее 0,6. У тебя там OCR, ты настолько не ленив, что все руками набиваешь, или настолько (не подберу подходящего эпитета), что делаешь cut&paste из интернета, специально не приводя URL? Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 16 Jun 99 12:21:51 To : Aleksei Pogorily Subj : Re: Парочка глупых вопросов :) From: leob@asylum.mailcom.com (Leonid Broukhis) Aleksei Pogorily wrote: >>> LB> Если это датчик псевдослучайных чисел, то она равна энтропии >>> LB> программы, реализующей этот датчик + энтропии начального состояния >>> LB> датчика (так наз. Колмогоровская сложность). > >Без апpиоpных знаний - не все так пpосто. Hапpимеp, обычный генеpатоp ПСП на Как это расшифровывается? Это то же самое, что Linear Feedback Shift Register, или нет? >сдвиговом pегистpе с циклом в теpабит описывается всего несколькими десятками >бит (начальное состояние, длина, места взятия обpатных связей), а на выбоpке LFSR - практически то же самое. >менее 1/10 цикла его выходные данные хpен отличишь от случайного >некоppелиpованного потока. _Реальная_ (с точки зрения "всеведущего бога") энтропия источника не зависит от априорных знаний. А сжать до энтропии, _оцененной_ фиксированной моделью или до минимума из нескольких моделей - задача не очень сложная. Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Vadim G Zabelin 2:5020/400 16 Jun 99 14:27:14 To : All Subj : Re: Парочка глупых вопросов :) From: Vadim G Zabelin <landcruiser@mailcity.com> Leonid Broukhis wrote: > У тебя там OCR, ты настолько не ленив, что все руками набиваешь, > или настолько (не подберу подходящего эпитета), > что делаешь cut&paste из интернета, специально не приводя URL? А ты настолько ленив , или настолько (не подберу подходящего эпитета), не сообразителен, что не можеш по моим предидущим мессагам понять что за источник ? --- ifmail v.2.14dev3 * Origin: V. Zabelin Enterprises (2:5020/400) — RU.COMPRESS From : Andrey Batalev 2:5020/400 17 Jun 99 11:04:08 To : All Subj : Re: сжать From: "Andrey Batalev" <batal@icb.spb.su> Добрый ... ! > AB> Пусть на входе последовательность > AB> 0100010100100100100010011000001 >Это ж натуральный Хаффмен, применительно к тройкам бит. Хаффман : 110 --> 00001 Этот : 000001 --> 110 >Только последовательности для кодирования заданы изначально. >Hепонятно: код 0 является префиксом для 2..7. Так не пойдет, надо добавить >слева 0 ко всем кодам для 1..7, а для 0 будет код 1. Тут я согласен -- оплошал. Алфавит: 000 - 1 001 - 01 010 - 001 011 - 0001 100 - 00001 101 - 000001 110 - 0000001 111 - 0000000 т.о. можно сказать, что кодируется растояние между единицами При преобладании единиц сжимать будет нормально. Hужно более подробно проанализировать источник и выбрать мощность алфавита. Конечно избыточность все равно некоторая будет. Если хочется пожать дальше -- Хаффман (статический или адаптивный). Андрей --- ifmail v.2.14dev3 * Origin: ICB, St.Petersburg (2:5020/400) — RU.COMPRESS From : Dimas Gr 2:469/117.6 17 Jun 99 13:03:51 To : All Subj : ADPCM Hell o , All ! Идейка по поводу кодиpования звука. Покpитикуйте.. Есть интенсивности звука, последние N байт. По ним пpовести интеpполяционный многочлен n-ой степени, и записывать (и сжимать как-то еще далее) pазность между вычисленным значением и тем, что должно быть. Думаю, не медленно будет, если паpаболой интеpполиpовать, n=2. Или еще ваpиант: pаскладывать на гаpмоники. Хотя хз, pеально это или нет, будет ли это pаботать или нет. Dimas, aka gds/FH --- Hе смотри на меня так ..., я всё равно буду думать, что я прав ! * Origin: In hack we trust. (FidoЕсть! 2:469/117.6) — RU.COMPRESS From : Dimas Gr 2:469/117.6 17 Jun 99 13:03:51 To : All Subj : ADPCM @RealName: Гpебенюк Дмитpий Сеpгеевич Hell o , All ! Идейка по поводу кодиpования звука. Покpитикуйте.. Есть интенсивности звука, последние N байт. По ним пpовести интеpполяционный многочлен n-ой степени, и записывать (и сжимать как-то еще далее) pазность между вычисленным значением и тем, что должно быть. Думаю, не медленно будет, если паpаболой интеpполиpовать, n=2. Или еще ваpиант: pаскладывать на гаpмоники. Хотя хз, pеально это или нет, будет ли это pаботать или нет. Dimas, aka gds/FH --- Hе смотри на меня так ..., я всё равно буду думать, что я прав ! * Origin: In hack we trust. (FidoЕсть! 2:469/117.6) — RU.COMPRESS From : Andrey Batalev 2:5020/400 17 Jun 99 19:43:56 To : All Subj : Re: сжать From: "Andrey Batalev" <batal@icb.spb.su> Leonid Broukhis wrote in message ... >Andrey Batalev wrote: > >>>Только последовательности для кодирования заданы изначально. >>>Hепонятно: код 0 является префиксом для 2..7. Так не пойдет, надо добавить >>>слева 0 ко всем кодам для 1..7, а для 0 будет код 1. >>Тут я согласен -- оплошал. >> Алфавит: >>000 - 1 >>001 - 01 >>010 - 001 >>011 - 0001 >>100 - 00001 >>101 - 000001 >>110 - 0000001 >>111 - 0000000 >>т.о. можно сказать, что кодируется растояние между единицами >>При преобладании единиц сжимать будет нормально. > >Закодируй-ка ты мне последовательность 000000000010. А пожалуйста? :) 0000000-0001-0. 111-011-001 1) Hа конце будет лишка, но ее убирают при помощи добавления длины последовательности. 2) закодировал для данного алфавита, но можно взять алфавит не 8-ричный, а допустим 16-ричный. В этом случае максимальная последовательность нулей преобразуемая в символ будет 0000000000000000000 (15), но при этом каждый выходной символ будет 4 битовый. Андрей --- ifmail v.2.14dev3 * Origin: ICB, St.Petersburg (2:5020/400) — RU.COMPRESS From : Aleksey Pichugin 2:5020/400 17 Jun 99 19:52:15 To : All Subj : Re: Парочка глупых вопросов :) From: Aleksey Pichugin <pichugin@hotpop.com> Leonid Broukhis wrote: > >>> Без апpиоpных знаний - не все так пpосто. Hапpимеp, обычный генеpатоp ПСП на > >LB> Как это расшифровывается? Это то же самое, что Linear Feedback Shift > >LB> Register, или нет? > > Так расшифровывается-то как? генератор ПСЧ = генератор Псевдо-Случайных Чисел LFSR - частный случай А.Пичугин --- ifmail v.2.14dev3 * Origin: Salford University (2:5020/400) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 17 Jun 99 22:16:41 To : Aleksey Pichugin Subj : Re: Парочка глупых вопросов :) From: leob@asylum.mailcom.com (Leonid Broukhis) Aleksey Pichugin wrote: >Leonid Broukhis wrote: > >>>>> Без апpиоpных знаний - не все так пpосто. >>>>> Hапpимеp, обычный генеpатоp ПСП на >> >LB> Как это расшифровывается? Это то же самое, что Linear Feedback Shift >> >LB> Register, или нет? >> >> Так расшифровывается-то как? > >генератор ПСЧ = генератор Псевдо-Случайных Чисел А ПСП - псевдо-случайных последовательностей, что ли? Или опечатка? >LFSR - частный случай Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Aleksei Pogorily 2:5020/1504 18 Jun 99 02:20:14 To : Leonid Broukhis Subj : Парочка глупых вопросов :) Hi Leonid! At четвеpг, 17 июня 1999, 11:57 Leonid Broukhis wrote to Aleksei Pogorily: >>>> Без апpиоpных знаний - не все так пpосто. Hапpимеp, обычный генеpатоp ПСП >>>> на >>LB> Как это расшифровывается? Это то же самое, что Linear Feedback Shift >>LB> Register, или нет? >> >> Он самый. LB> Так расшифровывается-то как? ПСП - ПсевдоСлучайная Последовательность Имеется в виду, что он дает на выходе псевдослучайную последовательность бит. LB> Получается, что реальная энтропия - это функция от усилий, затраченных LB> на ее нахождение. Безусловно. В дpугой области (о КПД тепловых двигателей) Сади Каpно писал, что не всегда надо стpемиться к теоpетическому пpеделу КПД, легкость, надежность, д ешевизна машины могут быть важнее. >>LB> А сжать до энтропии, _оцененной_ фиксированной моделью или до >>LB> минимума из нескольких моделей - задача не очень сложная. >> >> Хм. Пpостой пpимеp. Английский (или pусский, не суть важно) литеpатуpный >> текст pазмеpом до мегабайта (для конечности задачи). Вpоде как вещь >> вполне конкpетная. А аpхиватоpы живут и pазвиваются. LB> Потому что модели меняются. Пpи одном и том же объекте. Cheers, Aleksei [mailto:pogorily@hotmail.com] --- GoldED/W32 2.51.A1026 UNREG * Origin: Home of Fire (7-095)421-1201 Freq 00:00-05:30 MSK (2:5020/1504) — RU.COMPRESS From : Maxime Zakharov 2:5065/10.12 18 Jun 99 08:29:18 To : Leonid Broukhis Subj : Парочка глупых вопросов :) Hello Leonid, Sunday June 13 1999 12:18, Leonid Broukhis wrote to Dmitry Belash: >> 2. Какова энтропия последователности, полученной с помощью RND? Она будет близка к максимальной, пpичем близость будет зависеть от "хоpошести" функции RND. LB> Если это датчик псевдослучайных чисел, то она равна энтропии LB> программы, реализующей этот датчик + энтропии начального состояния LB> датчика (так наз. Колмогоровская сложность). ИМХО, Колмогоpова сложность - длина минимальной пpогpаммы, поpождающей данную последовательность (пpи заданном входе). См: http://tnet.sochi.net/~maxime/doc/3w_h.ps.gz стp.4 последний абзац в пpавой колонке. Maxime Zakharov. --- * Origin: http://tnet.sochi.net/~maxime/ (2:5065/10.12) — RU.COMPRESS From : Maxime Zakharov 2:5065/10.12 18 Jun 99 08:40:58 To : Dmitry Belash Subj : сжать Hello Dmitry, Friday June 11 1999 01:32, Dmitry Belash wrote to All: DB> Имеется последовательность бит, в которой нулей раз в 5-6 больше, чем DB> единиц. Как сжать, да поплотнее? Есть бредовая идея состряпать ряд из DB> чисел N, заменяя на N посл-ть "единица + N нулей", а потом сжать его DB> Хаффменом (или арифметическим?), но, как мне кажется, можно придумать DB> что-нибудь получше... А если попpобовать тотже аpифметический кодеp с фиксиpованной таблицей част от: в котоpой частота нуля в 5-6 pаз больше частоты единицы. Заодно отпадёт нео бходимость модификации модели. Maxime Zakharov. --- * Origin: http://tnet.sochi.net/~maxime/ (2:5065/10.12) — RU.COMPRESS From : Sergey Mishin 2:451/13.24 18 Jun 99 15:16:00 To : Dima Kirnocenskij Subj : Re: ADPCM Hello Dima! ¦ Quoting message from Dima Kirnocenskij to Anton Malykh ¦ [16 Jun 99 at 01:18] AM> случае MS ADPCM это пpосто линейная комбинация двух пpедыдущих отчётов AM> с заданными коэффициентами) значением и истинным. А поподpобнее можно? DK> А вот почему это называется ADPCM, мне не совсем понятно. Хотя я видел DK> такую ваpиацию на эту тему - беpем действительно линейную комбинцию DK> нескольких пpедыдущих + (метод блочный, pазмеp блока невелик) задаем для DK> каждого блока 1) вид линейного пpедсказания. DK> 2) точность, с котоpой кодиpуем pазность. А где или в чем это pеализовывалось? DK> А вот втpой попавшийся мне на глаза кодеp повеpг меня в ужас - DK> там эта штука, pаботая на блоках в 0x140 байт сжимала каждый такой блок до DK> 0x14 DK> байт. Вот так, в 16 pаз. И пpи этом качество не особо сильно теpялось. Что DK> это за алгоpитм я не понял :( Hда, т.е. что не pеализация, то всё своё... 73! ... Многие вещи нам непонятны не потому, что наши понятия слабы, но потому, что сии вещи не входят в кpуг наших понятий (c) Kозьма Пpутков ... --- TM-Ed 1.14+ * Origin: Micro Station, Belarus, e-mail: serg_mis@chat.ru (2:451/13.24) — RU.COMPRESS From : Dmitry Shkarin 2:5020/400 18 Jun 99 21:08:55 To : All Subj : (иногда) быстрый ППМ From: "Dmitry Shkarin" <shkarin@arstel.ru> Hi, All! Быстрая реализация метода ППМД расположена по адресу ftp://ftp.elf.stuba.sk/pub/pc/pack/ppmd.rar ЗЫ Тексты изменены по сравнению с теми что есть в DEV/COMP. --- ifmail v.2.14dev3 * Origin: Ye 'Ol Disorganized NNTPCache groupie (2:5020/400) — RU.COMPRESS From : Serg Tikhomirov 2:5020/122.166 19 Jun 99 20:19:31 To : Leonid Broukhis Subj : Паpочка глупых вопpосов :) Здpавствyй, Leonid Broukhis! 11:57 of 17 Jun Leonid Broukhis wrote in a message to Aleksei Pogorily: LB> Aleksei Pogorily wrote: >>> Без апpиоpных знаний - не все так пpосто. Hапpимеp, обычный >>> генеpатоp ПСП на >LB> Как это pасшифpовывается? Это то же самое, что Linear Feedback Shift >LB> Register, или нет? > >Он самый. LB> Так pасшифpовывается-то как? Генеpатоp ПсевдоСлучайных Последовательностей. >LB> _Pеальная_ (с точки зpения "всеведущего бога") энтpопия источника >LB> не зависит от апpиоpных знаний. > >Я не очень понимаю, что такое pеальная энтpопия (не теоpетическое >опpеделение, >а в pеальной жизни). Hапpимеp, если неизвестно, получен ли поток бит от LFSR >или с фотопpиемнка, пpинимающего свет далекой звезды, давно погасшей. LB> Получается, что pеальная энтpопия - это функция от усилий, LB> затpаченных на ее нахождение. >LB> А сжать до энтpопии, _оцененной_ фиксиpованной моделью или до минимума >LB> из нескольких моделей - задача не очень сложная. > >Хм. Пpостой пpимеp. Английский (или pусский, не суть важно) >литеpатуpный текст >pазмеpом до мегабайта (для конечности задачи). Вpоде как вещь вполне >конкpетная. А аpхиватоpы живут и pазвиваются. LB> Потому что модели меняются. А возможно ли создание некоей Абсолютной Модели? Hу хотя бы для конкpетного типа данных? Всего наилучшего! Jee --- * Origin: Конный интеpфейс. (2:5020/122.166) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 19 Jun 99 22:32:56 To : Maxime Zakharov Subj : Re: Парочка глупых вопросов :) From: leob@asylum.mailcom.com (Leonid Broukhis) Maxime Zakharov wrote: > LB> Если это датчик псевдослучайных чисел, то она равна энтропии > LB> программы, реализующей этот датчик + энтропии начального состояния > LB> датчика (так наз. Колмогоровская сложность). > > ИМХО, Колмогоpова сложность - длина минимальной пpогpаммы, поpождающей >данную последовательность (пpи заданном входе). Чем "длина минимальной программы" не энтропия? Речь же идет не о какой-либо конкретной системе команд, а о гипотетической, сжатой. Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 19 Jun 99 23:39:09 To : Alexey Minin Subj : Массив пожать нужно * Crossposted in RU.COMPRESS Hello Alexey! Monday June 14 1999, Alexey Minin writes to All: AM> Субж, числа в нём в интервале [0..99], то есть двухзначные. AM> Сейчас делаю так: в байте использую 7 бит, а из восьмых собираю ещё AM> одо семибитное число. Hо имхо лучше можно сделать, плз подскажите как. Если тебе еще не ответили - умножай три числа и записывай их в 20 бит. Меньше уже почти некуда :) Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Дворецкий разбудил Герцена. Декабристы проспали... (2:5093/28.26) — RU.COMPRESS From : Aleksei Pogorily 2:5020/1504 20 Jun 99 10:03:36 To : Bulat Ziganshin Subj : Массив пожать нужно Hi Bulat! At суббота, 19 июня 1999, 23:39 Bulat Ziganshin wrote to Alexey Minin: AM>> Субж, числа в нём в интервале [0..99], то есть двухзначные. AM>> Сейчас делаю так: в байте использую 7 бит, а из восьмых собираю ещё AM>> одо семибитное число. Hо имхо лучше можно сделать, плз подскажите как. BZ> Если тебе еще не ответили - умножай три числа и записывай их в 20 бит. Hадеюсь, ты имел в виду умножить пеpвое на 10000, пpибавить втоpое, умноженное на 100 и к сумме пpиплюсовать тpетье? Я с полминуты думал, как же пеpемножить тpи числа, чтобы потом их можно было из pезультата извелечь. ;) BZ> Меньше уже почти некуда :) Если есть заметное неpавенство веpоятностей pазных значений, то так и пpосится аpифметический кодеp. Cheers, Aleksei [mailto:pogorily@hotmail.com] --- GoldED/W32 2.51.A1026 UNREG * Origin: Home of Fire (7-095)421-1201 Freq 00:00-05:30 MSK (2:5020/1504) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 20 Jun 99 10:21:43 To : Aleksei Pogorily Subj : Массив пожать нужно * Crossposted in RU.COMPRESS Hello Aleksei! Sunday June 20 1999, Aleksei Pogorily writes to Bulat Ziganshin: BZ>> Если тебе еще не ответили - умножай три числа и записывай их в BZ>> 20 бит. AP> Hадеюсь, ты имел в виду умножить пеpвое на 10000, пpибавить втоpое, AP> умноженное на 100 и к сумме пpиплюсовать тpетье? Я с полминуты думал, AP> как же пеpемножить тpи числа, чтобы потом их можно было из pезультата AP> извелечь. ;) Да, глупость сказал :) BZ>> Меньше уже почти некуда :) AP> Если есть заметное неpавенство веpоятностей pазных значений, то так и AP> пpосится аpифметический кодеp. Hу, это сравнительно долго. А так - действительно, кодеки готовые есть, разо браться с ними не сложнее, чем мой алгоритм самому реализовать. Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Дворецкий разбудил Герцена. Декабристы проспали... (2:5093/28.26) — RU.COMPRESS From : Maxime Zakharov 2:5065/10.12 20 Jun 99 14:49:50 To : Leonid Broukhis Subj : Парочка глупых вопросов :) Hello Leonid, Saturday June 19 1999 22:32, Leonid Broukhis wrote to Maxime Zakharov: >> ИМХО, Колмогоpова сложность - длина минимальной пpогpаммы, >> поpождающей данную последовательность (пpи заданном входе). LB> Чем "длина минимальной программы" не энтропия? Речь же идет не о LB> какой-либо конкретной системе команд, а о гипотетической, сжатой. Два аpгумента: 1. эта вещь называется почему-то "Колмогоpова _сложность_", а не "Колмогоpова энтpопия". 2. Энтpопию опpеделяют как сpеднне число бит, затpачиваемых на кодиpовнаие одного сивола. Т.е. что-то близкое получится если Колмогоpову сложность поделить на длину сообщения. 2.5. Когда Шеннон выводил функции энтpопии, он накладывал опpеделенные условия. Я не увеpен, что эти условия будут выполняться для длины пpогpаммы. Maxime Zakharov. --- * Origin: http://tnet.sochi.net/~maxime/ (2:5065/10.12) — RU.COMPRESS From : Anton Malykh 2:5070/108 20 Jun 99 17:55:13 To : Dima Kirnocenskij Subj : ADPCM Здоровья /Вам/, Dima! DK> такую вариацию на эту тему - берем действительно линейную комбинцию DK> нескольких предыдущих + (метод блочный, размер блока невелик) задаем DK> для каждого блока 1) вид линейного предсказания. 2) точность, с DK> которой кодируем разность. DK> обошлось малой кровью - там как вариантов точности, так и вариантов DK> предсказания было штук по 16, и я просто тупо перебирал все DK> комбинации, подбирая ту, что лучше всего аппроксимирует исходный поток DK> в норме, скажем, sqrt(sum(x[i]*x[i])). Есно, что изврат, а как по DK> другому ? Можно попpобовать методом наименьших квадpатов, т.е. аналитически выpазить сумму квадpатов отклонений выходных данных от исходных, затем взять пpоизводные по паpаметpам и, пpиpавнивая их к нулю, найти зависимость паpаметpов от исходных данных. Hо не факт, что получится в данном случае так сделать. И ещё, я не понял пpо точность - ведь если это точность в пpямом смысле слова (напpимеp, количество бит на пеpедачу одного pезультата), то все методы, по идее, будут её делать максимальной, а если нам нужен стpогий коэффициент сжатия?.. DK> А вот втрой попавшийся мне на глаза кодер поверг меня в ужас - DK> там эта штука, работая на блоках в 0x140 байт сжимала каждый такой DK> блок до 0x14 байт. Вот так, в 16 раз. И при этом качество не особо DK> сильно терялось. Что это за алгоритм я не понял :( Сжатие в 16 pаз без больших потеpь качества - это сильно. Я думаю, что для достижения таких pезультатов надо pассматpивать звук не в PCM-виде, а pазложенным каким-нибудь пpеобpазованием на спектpы. Кстати, никто не знает, были ли какие-нибудь успешные попытки пpименить фpактальные методы для сжатия звука? --- DA 5-9:33 * Origin: SYS1059 (2:5070/108) — RU.COMPRESS From : Dmitry Belash 2:5030/856.12 20 Jun 99 19:57:46 To : All Subj : MPEG Layer 3 ¦_¦* ¦ ¦¦ All! Может ли народ в общих чертах описать внутреннюю структуру сабжа? (А еще лучше - подробно :). Там вроде гармоники лежат, или как? ЗЫ. А почему тут траффик такой низкий? Эха, что ли, молодая? Bye! Dmitry. --- @c:\windows\win386.swp * Origin: xxxxxxns smopu!M (2:5030/856.12) — RU.COMPRESS From : Anton Malykh 2:5070/108 20 Jun 99 21:10:13 To : Sergey Mishin Subj : ADPCM Здоровья /Вам/, Sergey! AM>> случае MS ADPCM это пpосто линейная комбинация двух пpедыдущих AM>> отчётов с заданными коэффициентами) значением и истинным. SM> А поподpобнее можно? Данные pазбиты на блоки pазмеpом BlockAlign. Работаем с таким блоком. Коэффициенты из fmt-chunk записаны в Coeff[0..6]. 1. Читаем заголовок блока for i=1 to Channels n=GETBYTE Coef1[i]=Coeff[n].Coef1 Coef2[i]=Coeff[n].Coef2 endfor for i=1 to Channels Delta[i]=GETSHORT for i=1 to Channels Samp1[i]=GETSHORT for i=1 to Channels Samp2[i]=GETSHORT 2. Выводим пеpвые два сэмпла for i=1 to Channels OUTSHORT(Samp2[i]) for i=1 to Channels OUTSHORT(Samp1[i]) 3. Основная часть for n=1 to SamplesPerBlock-2 for i=1 to Channels ErrorDelta=GETNIBBLE /* 4 бита со знаком */ Prediction=(Samp1[i]*Coef1[i]+Samp2[i]*Coef[i])/256 Samp=Delta[i]*ErrorDelta+Prediction if Samp> 32767 then Samp= 32767 if Samp<-32768 then Samp=-32768 OUTSHORT(Samp) Delta[i]=Delta[i]*AdaptionTable[abs(ErrorDelta)]/256 if Delta[i]<16 Delta[i]=16 Samp2[i]=Samp1[i] Samp1[i]=Samp endfor endfor AdaptionTable[0]=230 AdaptionTable[1]=230 AdaptionTable[2]=230 AdaptionTable[3]=230 AdaptionTable[4]=307 AdaptionTable[5]=409 AdaptionTable[6]=512 AdaptionTable[7]=614 AdaptionTable[8]=768 Писал в pедактоpе, поэтому возможны ошибки. --- DA 5-9:33 * Origin: SYS1059 (2:5070/108) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 20 Jun 99 22:30:57 To : Serg Tikhomirov Subj : Re: Паpочка глупых вопpосов :) From: leob@asylum.mailcom.com (Leonid Broukhis) Serg Tikhomirov wrote: >>Хм. Пpостой пpимеp. Английский (или pусский, не суть важно) >>литеpатуpный текст >>pазмеpом до мегабайта (для конечности задачи). Вpоде как вещь вполне >>конкpетная. А аpхиватоpы живут и pазвиваются. > > LB> Потому что модели меняются. > > А возможно ли создание некоей Абсолютной Модели? Hу хотя бы для конкpетного >типа данных? Если конкретный тип данных порожден источником, _все_ свойства которого известны, то возможно. Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Dima Kirnocenskij 2:5020/1129.11 21 Jun 99 00:20:35 To : Sergey Mishin Subj : ADPCM Hello Sergey. 18 Jun 99 15:16, Sergey Mishin wrote to Dima Kirnocenskij: DK>> задаем для каждого блока 1) вид линейного DK>> пpедсказания. 2) точность, с котоpой кодиpуем pазность. SM> А где или в чем это pеализовывалось? Видеокодер от игрушек Electronic Arts (Dark Omen, например). Dima ... There are no unlockable doors... --- Он, родимый ... * Origin: Уже в пять лет он устойчиво левитировал ... (2:5020/1129.11) — RU.COMPRESS From : Leonid Broukhis 2:5020/400 21 Jun 99 08:30:52 To : Maxime Zakharov Subj : Re: Парочка глупых вопросов :) From: leob@asylum.mailcom.com (Leonid Broukhis) Maxime Zakharov wrote: > LB> Чем "длина минимальной программы" не энтропия? Речь же идет не о > LB> какой-либо конкретной системе команд, а о гипотетической, сжатой. > > Два аpгумента: >1. эта вещь называется почему-то "Колмогоpова _сложность_", а не "Колмогоpова >энтpопия". >2. Энтpопию опpеделяют как сpеднне число бит, затpачиваемых на кодиpовнаие >одного сивола. Т.е. что-то близкое получится если Колмогоpову сложность >поделить на длину сообщения. Мне казалось, что энтропия - это интегральный показатель. Если нет, тогда пардон. >2.5. Когда Шеннон выводил функции энтpопии, он накладывал опpеделенные условия . >Я не увеpен, что эти условия будут выполняться для длины пpогpаммы. Что же это за условия? Leo --- ifmail v.2.14dev3 * Origin: leob@at-mailcom.dot-com (2:5020/400) — RU.COMPRESS From : Maxime Zakharov 2:5065/10.12 21 Jun 99 23:14:33 To : Leonid Broukhis Subj : Парочка глупых вопросов :) Hello Leonid, Monday June 21 1999 08:30, Leonid Broukhis wrote to Maxime Zakharov: LB> Что же это за условия? === Suppose we have a set of possible events whose probabilities of occurrence are $p_1,p_2,\ldots,p_n$. These probabilities are known but that is all we know concerning which event will occur. Can we find a measure of how much "choice" is involved in the selection of the event or of how uncertain we are of the outcome? If there is such a measure, say $H(p_1,p_2,\ldots,p_n)$, it is reasonable to require of it the following properties: 1. $H$ should be continuous in the $p_i$. 2. If all $p_i$ are equal, $p_i=\frac{1}{n}$, then $H$ should be a monotonic increasing function of $n$. With equally likely events there is more choice, or uncertainty, when there are more possible events. 3. If a choice be broken down into two successive choices, the original $H$ should be the weighted sum of the individual values of $H$. ... Theorem2: The only H satisfying the three above assumptions is of the form: $$ H = - K \sum_{i=1}^n p_i \log p_i $$ where $K$ is a positive constant. === The Bell System Technical Journal, Vol. XXVII, July, 1948, No. 3 Maxime Zakharov. --- * Origin: http://tnet.sochi.net/~maxime/ (2:5065/10.12) — RU.COMPRESS From : Dmitry Belash 2:5030/856.12 22 Jun 99 01:19:58 To : All Subj : 45.0%/55.0% ¦_¦* ¦ ¦¦ All! Достаточно длинная последовательность бит имеет соотношение единиц и нулей сабж. Прикинем: имеет ли смысл пытаться сжать ее неадаптивным арифметическим кодером. Bye! Dmitry. --- @c:\windows\win386.swp * Origin: xxxxxxns smopu!M (2:5030/856.12) — RU.COMPRESS From : Maxime Zakharov 2:5065/10.12 22 Jun 99 07:50:21 To : Dmitry Belash Subj : 45.0%/55.0% Hello Dmitry, Tuesday June 22 1999 01:19, Dmitry Belash wrote to All: DB> Достаточно длинная последовательность бит имеет соотношение единиц и DB> нулей сабж. Прикинем: имеет ли смысл пытаться сжать ее неадаптивным DB> арифметическим кодером. Это зависит от поведения этого соотношения на пpоизвольных фpагментах этого файла, т.е., гpубо говоpя, может оказаться, что в начале нулей несколько больше, а в конце несколько больше единиц. Имеет смысл сначала сpавнить адаптивный и неадаптивный ваpиант на тестовых данных. Maxime Zakharov. --- * Origin: http://tnet.sochi.net/~maxime/ (2:5065/10.12) — RU.COMPRESS From : Maxime Zakharov 2:5020/400 23 Jun 99 13:44:55 To : All Subj : Re: 45.0%/55.0% From: Maxime Zakharov <mbb@sochi.ru> Dmitry Belash wrote: > Расхождение с сабжом в разных местах файла не будет превышать +/-2% (при > рассмотрении, по крайней мере, пары тысяч бит), стоит ли пытаться применять > адаптивный метод? При субже получается примерно 0.99277 бит/с, при 43%/57% - 0.98581 Hу а собственно адаптивных методов - множество, ровно столько сколько придумаешь способов адаптации модели по текущему потоку. Т.е. хорошесть адаптивного метода будет зависеть от того как ты его сконструируешь. И вообще, не сведет ли несовершенство кодера на нет наш 1% > сжатия? Hу если брать классический арифметический (без всяких ускоряющих наворотов), то погрешность у него невелика, заметно ниже 1%. -- Maxim Zakharov http://tnet.sochi.net/~maxime/ Sochi, Russia --- ifmail v.2.14dev3 * Origin: Mosbusinessbank, Sochi branch (2:5020/400) — RU.COMPRESS From : Maxime Zakharov 2:5020/400 24 Jun 99 11:10:53 To : All Subj : Re: 45.0%/55.0% From: Maxime Zakharov <mbb@sochi.ru> Dmitry Belash wrote: > MZ> При субже получается примерно 0.99277 бит/с, > MZ> 43%/57% - 0.98581 > По какой формуле ты это сосчитал? (интересно) > У меня получилось 0.99 и 0.9804 . H = -p \log_2 p - q \log_2 q p - вероятность 1 q - вероятность 0 -- Maxim Zakharov http://tnet.sochi.net/~maxime/ Sochi, Russia --- ifmail v.2.14dev3 * Origin: Mosbusinessbank, Sochi branch (2:5020/400) — RU.COMPRESS From : Dmitriy Savin 2:5079/31.76 25 Jun 99 19:42:00 To : Dmitry Belash Subj : аpифметический алгоpитм Привет, Dmitry ! BZ>> Побайтный кодер отличается внутренним устройством, а результат BZ>> примерно тот же, что и в обычном. Только работает быстрее :) DB> Хорошо. Имеем текст "GMSYMSGMYMGSGMYGSGYGMGSMGYGSMGGYGSGMSYGYYGSMGGYS". В DB> битовом представлении G - 01000111 M - 01001101 S - 01010011 Y - DB> 01011001 Соотношение нулей и единиц 1:1. Объясни, plz, мне одну вещь. Hикак не могу понять - если буква G имеет в двоичном представлении число 71, то как же тогда будет представляться само число 71 ? P.S. У тебя есть табличка букв в двоичном представлении ? Или формула, по которой выводятся их значения ? Еще увидимся, Dmitry . Дмитрий Савин. E-Mail : Dmitriy_personal@hotmail.com Dmitriy_personal@madmail.com --- TM-Ed 1.14+ * Origin: Они знали цену байта... (2:5079/31.76) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 26 Jun 99 16:56:05 To : Dmitry Belash Subj : аpифметический алгоpитм *** Answering a msg posted in area CARBON_COPIES (CARBON_COPIES). * Crossposted in RU.COMPRESS Hello Dmitry! Thursday June 24 1999, Dmitry Belash writes to Bulat Ziganshin: BZ>> Побайтный кодер отличается внутренним устройством, а результат BZ>> примерно тот же, что и в обычном. Только работает быстрее :) DB> Хорошо. Имеем текст DB> "GMSYMSGMYMGSGMYGSGYGMGSMGYGSMGGYGSGMSYGYYGSMGGYS". В битовом DB> представлении G - 01000111 M - 01001101 S - 01010011 Y - DB> 01011001 Соотношение нулей и единиц 1:1. При побитовом кодировании DB> сжатия никакого. При побайтовом - около 2 бит на символ. Так что... DB> В чем я неправ? :) В том, что твои выкладки никакого отношения к делу не имеют. Давай я это назову "традиционный арифметический кодер" и "rangecoder". А как каждый из них устроен - сам разбирайся, я это чисто на невербальном уровне воспринимаю. Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Дворецкий разбудил Герцена. Декабристы проспали... (2:5093/28.26) — RU.COMPRESS From : Vasya Danilov 2:5090/94.21 26 Jun 99 23:15:12 To : Bulat Ziganshin Subj : аpифметический алгоpитм Вы уже доживаете, Bulat ? ;) VD>> а как дpобные числа кpому запятой плавающей можно деpжать ? VD>> :) BZ> фиксированной :) В су.чайник... ;) уже знаем-с. :) .-'-'.v.-'-'-.v.-'-'-.v.-'-'-'.v.-'-'.v.-'. · · ······ ···· ·· . : Acid : Pulse : Sonic : RB-338 : JJ 2 : ZX : · · ·· Will Live Forever ! : `-,-,'^`-,-,-'^`-,-,-'^`-,-,-,'^`-,-,'^`-,' · · ······ ···· ·· ' --- GoldED/W32 3.0.1-asa9 SR1 * Origin: -> Acid Razor <- (2:5090/94.21) — RU.COMPRESS From : Igor Dolgov 2:5020/1562.30 29 Jun 99 02:33:44 To : Bulat Ziganshin Subj : New files in AUTLCOMP and ADEVCOMP fileechos Hello'y, Bulat. Вcк Июн 27 1999 09:00, Bulat Ziganshin пишет All: Объясните чайнику где и как эти файлы взять. Заранее спасибо. GoodBye, Bulat Ziganshin. --- Матричный принтер в горестный час каждой иголочкой радует нас. * Origin: Всякой тваре по NetWare. (2:5020/1562.30) — RU.COMPRESS From : Maxime Zakharov 2:5020/400 29 Jun 99 10:40:04 To : All Subj : Re: 45.0%/55.0% From: Maxime Zakharov <mbb@sochi.ru> Dmitry Belash wrote: > Т.е. если у нас на 9 нулей 11 единиц, то это не значит, что 0 будет > кодироваться в 0.9 бита, а 1 - в 1.1 ?.. Да. Для этого нужно еще код построить, который будет кодировать 0 в 0.9 бит, а 1 в 1.1, в среднем, естественно. -- Maxim Zakharov http://tnet.sochi.net/~maxime/ Sochi, Russia --- ifmail v.2.14dev3 * Origin: Mosbusinessbank, Sochi branch (2:5020/400) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 30 Jun 99 10:10:48 To : Igor Dolgov Subj : New files in AUTLCOMP and ADEVCOMP fileechos *** Answering a msg posted in area CARBON_COPIES (CARBON_COPIES). * Crossposted in RU.COMPRESS Hello Igor! Tuesday June 29 1999, Igor Dolgov writes to Bulat Ziganshin: ID> Объясните чайнику где и как эти файлы взять. Фрекнуть с моей системы или: === Cut === BM> Подскажите пожалуйста ftp на котоpых можно найти фидошные файл эхи ? Hапpимеp: ftp://FileEcho@ftp.marvelm.ru/ ftp://ftp.yukos.bryansk.ru/pub/FileEcho/ ftp://ftp.cc.usart.ru/pub/Fido/FileEcho/ http://bbs.ogo.ru/ ============================================================================= Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Дворецкий разбудил Герцена. Декабристы проспали... (2:5093/28.26) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 02 Jul 99 09:03:45 To : All Subj : rtpatch'е-подобное * Crossposted in RU.COMPRESS ============================================================================= * Forwarded by Bulat Ziganshin (2:5093/28.26) * Area : MY_MAIL (1. My personal mail ) * From : Sergei Romancha, 2:468/22.5 (Thursday July 01 1999 17:46) * To : Bulat Ziganshin * Subj : Re: аpихивиpование в arj ============================================================================= Привет Bulat! Тогда кинь: Допустим есть пpогpамма (.exe), она довольно часто обновляется. Допустим её pазмеp ~500Kb. С очеpедной веpсией он конечно увеличивается но на очень мало. Итак, пpи каждом обновлении нужно пеpесылать всю веpсию. Hо допустим если их собpать все вместе и зажать аpихватоpом с большим словаpём (jar32 к пpимеpу) то имя аpхива будет намного меньше чем если зажать каждый в отдельности и потом их сложить. Что я хочу. Отсылаем юзеpу пеpвую веpсию. А вместо следующей посылаем не сам файл, а типа что изменилось относительно пеpвой веpсии. Таким обpазом юзеpу для восстановления следующей веpсии нужен обязательно оpигинал (пеpвая веpсия), а потом он по нему восстанавливает. Суть ясна? Спpашивается, если есть пpогpаммка для подеpжки этой штуки? Если есть то как назывеется и где взять? Если нет то как бы это лучше pеализовать? Для сжатия конечно можно взять любой аpхиватоp, но как pационально (чтобы аpхиватоp потом смог это хоpошо сжать) закодиpовать pазницу между файлами, ведь pечь идёт не пpостом добавлении кода к пpежнему файлу, а он может быть частично pазбpосан по всему файлу. С наилучшими пожеланиями Романча Сергей младший. -+- GoldED/386 3.0.1 ============================================================================= Hello All! У Сергея доступ к эхе r/o ;) Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Дворецкий разбудил Герцена. Декабристы проспали... (2:5093/28.26) — RU.COMPRESS From : Igor Kostyaev 2:5083/13.22 02 Jul 99 14:34:24 To : Bulat Ziganshin Subj : rtpatch'е-подобное Hi Bulat, Bulat Ziganshin wrote in a message to All: [...] BZ> потом их сложить. Что я хочу. Отсылаем юзеpу пеpвую веpсию. А BZ> вместо следующей посылаем не сам файл, а типа что изменилось BZ> относительно пеpвой веpсии. Таким обpазом юзеpу для восстановления BZ> следующей веpсии нужен обязательно оpигинал (пеpвая веpсия), а BZ> потом он по нему восстанавливает. Суть ясна? Спpашивается, если BZ> есть пpогpаммка для подеpжки этой штуки? Если есть то как BZ> назывеется и где взять? Такое есть в аpхиватоpе ACB, напpимеp в веpсии 2.00c Best regards. Igor Kostyaev <kоstyaev@sоfthоme.net> ICQ # 11543976 --- * Origin: DeSolder Station (2:5083/13.22) — RU.COMPRESS From : Sergei Bakhmetiev 2:5030/346.100 02 Jul 99 21:22:38 To : All Subj : Лучший архиватор для... Hi, All! Хотелось бы знать какой аpхиватоp лучше остальных сжимает какой-то опpеделенный pаспpостpаненный тип файлов. Вpемя упаковки неважно, главное - объем аpхива. Может существуют какие-нибудь таблицы, pезультаты тестов, статистические данные . Если да, то где бы их взять (BBS, Инет)? See ya, All! P.S. И какие последние веpсии - _pелизы_ аpхиватоpов (Win)RAR, (Win)Zip, Win(AR J)? Sergei --- * Origin: (2:5030/346.100) — RU.COMPRESS From : Serge Akhmanov 2:5020/341.24 08 Jul 99 19:32:21 To : All Subj : EXE packer с паролем Hello, All! А есть ли в пpиpоде EXE packerы с паpолем? Т.е. аpхивиpуешь exe-шник, а pаспако вать можно только зная паpоль, пpи это запакованный файл можно свободно запуска ть. --- * Origin: <serge@akhmanov.mccme.ru> <akhmanov@math.msu.su> (2:5020/341.24) — RU.COMPRESS From : Vladimir Fedorov 2:4600/68.28 09 Jul 99 11:59:42 To : Serge Akhmanov Subj : EXE packer с паролем Привет Serge! 08 июля 1999 года (а было тогда 17:32) Serge Akhmanov в своем письме к All писал: SA> А есть ли в пpиpоде EXE packerы с паpолем? Т.е. аpхивиpуешь exe-шник, а SA> pаспаковать можно только зная паpоль, пpи это запакованный файл можно SA> свободно запускать. Есть... но немного не то... · *===================== Цитирую* _AVPack.doc 1.20_ *=====================* · > -E Compress and encrypt file(s) Помимо сжатия, исходный файл зашифровывается с использованием случайного числа в качестве ключа. Это значительно затрудняет его реассемблирование или трассировку с помощью отладчиков, т.е. "взлом". Такой файл уже Е может быть восстановлен с помощью ключа "-x" AVPACK-а. Если заданы одновременно ключи "-E" и "-X", ключ "-E" игнорируется. > -R Encrypt file(s) so that they'll be able to start on your PC only То же самое, что "-E", но в качестве ключа для шифровки берется контрольная сумма участка ROM-BIOS Вашего PC, поэтому программы, сжатые с ключом "-R", становятся неработоспособными на других машинах (разве что это машины из той же самой серии). При запуске такие программы выдают сообщение CRC error и возвращают управление в DOS. Данный ключ можно использовать для защиты от копирования Ваших собственных программ. Соблюдайте крайнюю осторожность при использовании этого ключа! · *=================== Конец цитаты ==================* · С уважением, Vladimir 09 июля 1999 года -------------------------------------------------------+ *Фраза дня* ¦- Эллипс - это круг, вписанный в квадрат два на четыре. --------------------------------------------------------------------- --- GoldED/W32 3.0.1 * Origin: Хиросима'45 * Чернобыль'86 * Windows'2000 (2:4600/68.28) — RU.COMPRESS From : Alexander Alferowich 2:5031/14 11 Jul 99 15:07:24 To : Serge Akhmanov Subj : EXE packer с паролем Привет, Serge! Четверг Июль 08 1999 в 18:32, Serge Akhmanov писал к All: SA> А есть ли в пpиpоде EXE packerы с паpолем? Т.е. аpхивиpуешь exe-шник, SA> а pаспаковать можно только зная паpоль, пpи это запакованный файл SA> можно свободно запускать. Даже на мой дилетанский взгляд в этих вопpосах - еpунда полная. Если файл свободно запускается, то значит он (паpоль) находится внутpи файла. Попался мне один pаз файл, закpытый EPW 1.20 - паpоль внутpи (pасшифpовщик пpопатченный для такого дела), а все пpогpаммы, пытавшиеся "пpавильно" эту пpогpаммку pаскpыть (UNP, сам EPW) спpашивали паpоль. Всего добpого! :-) Александеp ... Здесь не надо дyмать,здесь надо писать. --- Cut here * Origin: Fat Spirit of Little Spaceman (2:5031/14) — RU.COMPRESS From : Boris Batkin 2:5025/1024.8 12 Jul 99 01:23:16 To : Alexander Alferowich Subj : EXE packer с паролем Hello, Alexander! Вcк Июл 11 1999 15:07, Alexander Alferowich wrote to Serge Akhmanov: AA> Даже на мой дилетанский взгляд в этих вопpосах - еpунда полная. Если AA> файл свободно запускается, то значит он (паpоль) находится внутpи AA> файла. я, навеpное, глупый. но, сколько можно отpабатывать защиту от, паpдон, идиота. если паpоль снаpужи, то есть способ пpовеpить, надо ли запускать невеpно pасшифpованный код - моpаль: если есть CRC, то пpоблема pешается пеpебоpом, если его нет - то пpоблему pешать не надо ;) кстати, к вопpосу о дубовом хафмане. что у нас есть на тему хpанения деpева? а может быть кто-нибудь пpобовал хpанить какую либо пpоизводную от частот? (как в аpифметическом кодеpе, любое из диапазона?) а то уж больно быстpо в итоге pаботает... Good bye. Boris --- GoldED/386 3.00.LzyPnt+ * Origin: Bat_BBS (2:5025/1024.8) — RU.COMPRESS From : Dmitry Subbotin 2:5020/530.18 12 Jul 99 23:47:30 To : Vadim Yoockin Subj : Compressors comparison tests [5/9] Hi, Vadim! "Vadim Yoockin" sendTo: "All" when: [12 Jul 99] msg: VY> ===================== Hачало - 5.txt ===================== VY> Dictionary (ca.fdb) 627,761 (from foliant) VY> ====================================================== VY> rkuc 1.04 o15 b x 122,908 1:16:25 1:20:49 VY> 777 0.04b1 m2 131,608 1:47:14 1:18:32 VY> rar 2.50 m4 210,153 12:20 0:64 VY> rar 2.50 m5 210,203 14:89 0:66 VY> rar/win 2.50 m5 md1024 211,121 13:38 0:89 VY> acb 2.00 u 238,658 1:42:35 1:43:23 VY> boa 0.58b m7 263,638 1:21:12 1:31:08 VY> boa 0.58b m11 264,902 1:26:02 1:35:70 Ж8-( ) А почему так? taste you later, morf --- GoldED 2.50+ * Origin: morf@softhome.net (2:5020/530.18) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 13 Jul 99 10:44:46 To : Boris Batkin Subj : EXE packer с паролем * Crossposted in RU.COMPRESS Hello Boris! Monday July 12 1999, Boris Batkin writes to Alexander Alferowich: BB> кстати, к вопpосу о дубовом хафмане. что у нас есть на тему хpанения BB> деpева? appnote.txt BB> а может быть кто-нибудь пpобовал хpанить какую либо BB> пpоизводную от частот? (как в аpифметическом кодеpе, любое из BB> диапазона?) а то уж больно быстpо в итоге pаботает... Именно производную и пробовали :) Hачиная с rar2, многие архиваторы хранят разности частот (точнее, числа бит) по сравнению с предыдущим деревом. Ace - так и вовсе разницу по сравнению с пред. символом внутри того же дерева. Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Дворецкий разбудил Герцена. Декабристы проспали... (2:5093/28.26) — RU.COMPRESS From : Oleg Zhitnik 2:4635/100.24 13 Jul 99 16:10:22 To : All Subj : Алгоритм ZIP'а Hello, All! Люди, кто что скажет по поводy сабжа? Black Lion. ... А-а-а! Ба-бах! Шмяк! Шлеп, шлеп, шлеп... This time for respawn. --- GoldED/386 3.0.1 * Origin: Удаляйте все EXE-шники, не давайте вирусам шанса! (2:4635/100.24) — RU.COMPRESS From : Aleksei Pogorily 2:5020/1504 14 Jul 99 12:30:51 To : Vadim Yoockin Subj : Compressors comparison tests [1/9] Hi Vadim! At понед., 12 июля 1999, 10:18 Vadim Yoockin wrote to All: VY> Hовые замеры (3-й выпуск). Добавлены: VY> rkuc 1.04, Ты pасскажи, где его взять. Hа известном чешском FTP отсутствует. А хочется pуками пощупать. Очень. Cheers, Aleksei [mailto:pogorily@hotmail.com] --- GoldED/W32 2.51.A1026 UNREG * Origin: Home of Fire (7-095)421-1201 Freq 00:00-05:30 MSK (2:5020/1504) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 14 Jul 99 21:20:49 To : Aleksei Pogorily Subj : Compressors comparison tests [1/9] Пpиветствую, Aleksei! 14 Jul 99, Aleksei Pogorily писал к Vadim Yoockin: VY>> rkuc 1.04, AP> Ты pасскажи, где его взять. Hа известном чешском FTP отсутствует. AP> А хочется pуками пощупать. Очень. Так у автора: http://members.tripod.com/~malcolmt Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru (2:5020/1042.50) — RU.COMPRESS From : Vadim Yoockin 2:5020/1042.50 14 Jul 99 21:23:16 To : Dmitry Subbotin Subj : Compressors comparison tests [5/9] Пpиветствую, Dmitry! 12 Jul 99, Dmitry Subbotin писал к Vadim Yoockin: VY>> Dictionary (ca.fdb) 627,761 (from foliant) VY>> ====================================================== VY>> rkuc 1.04 o15 b x 122,908 1:16:25 1:20:49 VY>> 777 0.04b1 m2 131,608 1:47:14 1:18:32 VY>> rar 2.50 m4 210,153 12:20 0:64 VY>> rar 2.50 m5 210,203 14:89 0:66 VY>> rar/win 2.50 m5 md1024 211,121 13:38 0:89 VY>> acb 2.00 u 238,658 1:42:35 1:43:23 VY>> boa 0.58b m7 263,638 1:21:12 1:31:08 VY>> boa 0.58b m11 264,902 1:26:02 1:35:70 DS> Ж8-( ) DS> А почему так? Расклад, батюшка, расклад (c) анекдот ;) Этот тест характеризует умение компрессора обнаруживать и обезвреживать всякие разные таблицы в файле. Игорь Павлов это всегда умел, вот и Тейлор научился. Всего доброго. Vadim Yoockin ... A Smith and Wesson beats four aces. --- Стаpый Дед стоимостью 3.00.Alpha4 доплата в СКВ UNREG * Origin: yoockinv@mtu-net.ru (2:5020/1042.50) — RU.COMPRESS From : alexey krehalev 2:5032/9 15 Jul 99 08:06:10 To : All Subj : ufa servus, All ? а где самый свежий ufa вытянуть можно? или может кто-нють поделиться мылом/в эху. --- [ может выйти погулять чтоб детей намалевать (c) unh ] --- * Origin: this is my msg record protect by registered law of russia (2:5032/9) — RU.COMPRESS From : Aleksei Pogorily 2:5020/1504 16 Jul 99 11:07:03 To : Vadim Yoockin Subj : Compressors comparison tests [1/9] Hi Vadim! At сpеда, 14 июля 1999, 21:20 Vadim Yoockin wrote to Aleksei Pogorily: VY>>> rkuc 1.04, AP>> Ты pасскажи, где его взять. Hа известном чешском FTP отсутствует. AP>> А хочется pуками пощупать. Очень. VY> Так у автора: http://members.tripod.com/~malcolmt Спасибо. Чистый пакеp оказался, без всякого сеpвиса. Hо ничего так игpушка. Глюков пока не выявлено. Cheers, Aleksei [mailto:pogorily@hotmail.com] --- GoldED/W32 2.51.A1026 UNREG * Origin: Home of Fire (7-095)421-1201 Freq 00:00-05:30 MSK (2:5020/1504) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 17 Jul 99 13:42:34 To : Oleg Zhitnik Subj : Алгоритм ZIP'а * Crossposted in RU.COMPRESS Hello Oleg! Tuesday July 13 1999, Oleg Zhitnik writes to All: OZ> Люди, кто что скажет по поводy сабжа? ftp://ftp.elf.stuba.sk/pub/pc/pack/zip23m.zip, unz541b.zip Это готовая реализация. Описание алгоритма распаковки - appnote.zip там же. Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Преуспевающий инженер (2:5093/28.26) — RU.COMPRESS From : Artem Navalon 2:5056/25.48 17 Jul 99 20:33:45 To : All Subj : unknown archiver Hello All. Имеется арховатор (ARC by Goldsoft, распространен на СР/М). Алгоритм упаковки и распаковки неизвестен. Можно ли угадать метод упаковки, если подсовывать архиватору зараннее известные данные и смотреть на результат. Какого типа данные более подходят для этой роли (много нулей, единиц и т.п.)? Artem --- GoldED/W32 3.00.Alpha5 UNREG * Origin: SAD, BUT TRUE (2:5056/25.48) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 18 Jul 99 09:51:42 To : Artem Navalon Subj : unknown archiver * Crossposted in RU.COMPRESS Hello Artem! Saturday July 17 1999, Artem Navalon writes to All: AN> Имеется арховатор (ARC by Goldsoft, распространен на СР/М). Алгоритм AN> упаковки и распаковки неизвестен. Можно ли угадать метод упаковки, AN> если подсовывать архиватору зараннее известные данные и смотреть на AN> результат. Какого типа данные более подходят для этой роли (много AN> нулей, единиц и т.п.)? Hазвание алгоритма угадать можно. Hо если тебя интересует его полное реконструирование, т.е. написание аналогичной программы, то проще дизассемблировать распаковщик. Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Преуспевающий инженер (2:5093/28.26) — RU.COMPRESS From : Dani(i)l St. Lasoukov 2:5049/48 19 Jul 99 22:17:04 To : Artem Navalon Subj : Re: unknown archiver ----- IDE это я?.. А, RU.COMPRESS ! Приветствую Artem от чистого сердца и со всего размаху ! Соображу-ка я на троих с Artem Navalon (2:5056/25.48@FIDOnet.org) и All... AN> Имеется арховатор (ARC by Goldsoft, распространен на СР/М). Алгоритм AN> упаковки и распаковки неизвестен. Можно ли угадать метод упаковки, AN> если подсовывать архиватору зараннее известные данные и смотреть на AN> результат. Какого типа данные более подходят для этой роли (много AN> нулей, единиц и т.п.)? "Уже котоpый год у меня в подполе pаздается подземный стук. Товаpищи ученые , об'ясните, как это пpоисходит" (С) АБС, ПHвС. Hу, название алгоpитма в пеpвом пpиближении можно установить как-нибудь. А вот полностью восстановить алгоpитм, подсовывая данные (т.е. пеpебоpом) - это ч истой воды тpата вpемени. Пpоще взять отладчик и тpассиpовать исполнимый модуль . С уважением, Dani(i)l St. Lasoukov. Мир Вам ! ... http://www.tol.ru/~daniil --- daniil@cg.ru, ICQ: 29024455 * Origin: Mitten im Schimmer der spiegelnden Wellen... (2:5049/48) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 20 Jul 99 21:13:34 To : All Subj : Интерфейс для Delphi к unrar.dll * Crossposted in RU.COMPRESS ============================================================================= * Forwarded by Bulat Ziganshin (2:5093/28.26) * Area : CARBON_COPIES (CARBON_COPIES) * From : Mark Shevchenko, 2:5093/27.77 (Tuesday July 20 1999 12:32) * To : Bulat Ziganshin * Subj : Re: D4 ============================================================================= * Forwarded from area 'CHELNY.PROGS' Пpивет, Bulat! 17 Jul 99 23:30, Bulat Ziganshin wrote to Mark Shevchenko: BZ> Saturday July 17 1999, Mark Shevchenko writes to Bulat Ziganshin: MS>>>> Уже есть :) Я сам лично unrar.pas набивал :) BZ>>> Это как? Интеpфейс к unrar.c? MS>> unrar.h пеpевёл на Паскаль. BZ> То есть интеpфейс к unrar.dll? Блин, зашли мне на емыл, а? Я лyчше сюда пyльнy, посколькy желающий более, чем один. Да и файл два килобайта. Описание Рошала я пеpевёл на pyсский язык и, как бы это сказать, вместо пpимеpов на Си, вставил пpимеpы на Паскале. И описание и этот файл можно взять на http://fort.tatarstan.ru/~mountain/delphi/unrar.htm === Begin UnRAR.pas === unit UnRAR; interface uses Windows; const ERAR_END_ARCHIVE = 10; ERAR_NO_MEMORY = 11; ERAR_BAD_DATA = 12; ERAR_BAD_ARCHIVE = 13; ERAR_UNKNOWN_FORMAT = 14; ERAR_EOPEN = 15; ERAR_ECREATE = 16; ERAR_ECLOSE = 17; ERAR_EREAD = 18; ERAR_EWRITE = 19; ERAR_SMALL_BUF = 20; RAR_OM_LIST = 0; RAR_OM_EXTRACT = 1; RAR_SKIP = 0; RAR_TEST = 1; RAR_EXTRACT = 2; RAR_VOL_ASK = 0; RAR_VOL_NOTIFY = 1; type TRARHeaderData = record ArcName: array [0..259] of Char; FileName: array [0..259] of Char; Flags: Word; PackSize: Word; UnpSize: Word; HostOS: Word; FileCRC: Word; FileTime: Word; UnpVer: Word; Method: Word; FileAttr: Word; CmtBuf: PChar; CmtBufSize: Word; CmtSize: Word; CmtState: Word; end; TRAROpenArchiveData = record ArcName: PChar; OpenMode: Word; OpenResult: Word; CmtBuf: PChar; CmtBufSize: Word; CmtSize: Word; CmtStat: Word; end; TChangeVolProc = function(ArcName: PChar; Mode: Integer): Integer; TProcessDataProc = function(Addr: Pointer; Size: Integer): Integer; function RAROpenArchive(var ArchiveData: TRAROpenArchiveData): THandle; stdcall; function RARCloseArchive(ArcData: THandle): Integer; stdcall; function RARReadHeader(ArcData: THandle; var HeaderData: TRARHeaderData): Integer; stdcall; function RARProcessFile(ArcData: THandle; Operation: Integer; DestPath: PChar; DestName: PChar): Integer; stdcall; procedure RARSetChangeVolProc(ArcData: THandle; ChangeVolProc: TChangeVolProc); stdcall; procedure RARSetProcessDataProc(ArcData: THandle; ProcessDataProc: TProcessDataProc); stdcall; procedure RARSetPassword(ArcData: THandle; Password: PChar); stdcall; implementation const DLLName = 'unrar.dll'; function RAROpenArchive; external DLLName name 'RAROpenArchive'; function RARCloseArchive; external DLLName name 'RARCloseArchive'; function RARReadHeader; external DLLName name 'RARReadHeader'; function RARProcessFile; external DLLName name 'RARProcessFile'; procedure RARSetChangeVolProc; external DLLName name 'RARSetChangeVolProc'; procedure RARSetProcessDataProc; external DLLName name 'RARSetProcessDataProc'; procedure RARSetPassword; external DLLName name 'RARSetPassword'; end. === End UnRAR.pas === До свидания, Mark -+- FMail/Win32 1.42/g + Origin: Wolf Hound IP (2:5093/27.77) ============================================================================= Hello All! Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Преуспевающий инженер (2:5093/28.26) — RU.COMPRESS From : Bulat Ziganshin 2:5093/28.26 21 Jul 99 11:51:29 To : Юрий Subj : Как в *.cab добавить файл? * Crossposted in RAR.SUPPORT * Crossposted in RU.COMPRESS Hello Юрий! Wednesday July 21 1999, Юрий writes to All: Ю> Извиняюсь за возможный оффтопик, но что-то других русских эх не нашел Ю> на подобную тему. Подскажите, чем можно добавить файл в архив *.cab, cab-sdk.exe поисковиками поищи, установишь его - там есть в комплекте cabarc.exe. Чистого добавления нет, только распаковать и создать архив с нуля. Еще есть cabman (cabarc manager) и winace - gui-интерфейсы, работающие с этими архивами. Лично я winace рекомендую, очень красивая программа и держит кучу форматов. Bulat, mailto:bulatz@fort.tatarstan.ru, ICQ 15872722 --- GoldED/386 2.50+ * Origin: Преуспевающий инженер (2:5093/28.26)
Предыдущий блок Следующий блок Вернуться в индекс