| Страница |
Исходный текст |
Вариант правильного написания,
пояснения |
| Во всем тексте |
"подраздел" следует
понимать как "подпункт" %-) |
| 18 |
Если размер каждого такого файла в результате обработки уменьшается
хотя бы на 1 бит, то 2n исходным файлам будет соответствовать самое большее 2n-1
различающихся архивных файлов. |
Если размер каждого такого файла в результате обработки уменьшается
хотя бы на 1 бит, то 2n исходным файлам будет соответствовать самое большее 2n-1
различающихся архивных файлов.
|
| 31 |
Канонический алгоритм ХаффманаОдин из классических алгоритмов, известных с 60-х годов. |
Канонический алгоритм ХаффманаОдин из классических алгоритмов, известных с 50-х годов.
|
| 40, 41 |
else if((li >=
Third_qtr)&&(hi < First_qrt)){ |
else if((li >=
First_qtr)&&(hi <
Third_qrt)){ |
| 41 |
На символ с меньшей вероятностью у нас тратится в целом большее число битов, чем на символ с меньшей вероятностью. |
На символ с меньшей вероятностью у нас тратится в целом большее число битов, чем на символ с большей вероятностью. |
| 45 |
// Если для хранения значений используется 31 бит,
// каждый символ сдвинут на 1 байт вправо
// в выходном потоке и при декодировании приходится
// его считывать в 2 этапа.
#define EXTRABITS ((CODEBITS-1)%8+1)
|
// Если для хранения значений используется 31 бит,
// каждый символ сдвинут на 1 бит вправо
// в выходном потоке, и при декодировании приходится
// его считывать в 2 этапа.
#define EXTRABITS ((CODEBITS-1)%8+1)
|
| 46 |
void decode_normalize( void ) {
while( range <= BOTTOM ) {
range <<= 1;
low = low<<8 |
((next_char<<EXTRABITS) & 0xFF);
next_char = input_byte();
low |= next_char >> (8-EXTRABITS);
range <<= 8;
}
}
|
void decode_normalize( void ) {
while( range <= BOTTOM ) {
low = low<<8 |
((next_char<<EXTRABITS) & 0xFF);
next_char = input_byte();
low |= next_char >> (8-EXTRABITS);
range <<= 8;
}
}
(убрана лишняя строка в цикле)
|
| 90, 91, 372 |
Для обозначения метода Миллера-Уэгнама (Miller-Wegman) используется аббревиатура LZMV вместо LZMW
|
| 91 |
Практические реализации LZMV неизвестны. |
LZMW применяется в СУБД DB2 фирмы IBM для экономного
представления информации непосредственно в реляционной базе данных. Для сжатия данных
в СУБД более пригодны методы с явным словарем, что позволяет организовать статический
режим сжатия с помощью заранее построенного словаря, без адаптации к локальным изменениям.
«Жадная» стратегия построения словаря LZMW обеспечивает заметное преимущество над LZW по
степени сжатия, поскольку данные обычно высокоизбыточны из-за наличия большого количества
длинных повторяющихся строк и неоднородны (сжатие в DB2 осуществляется по строкам, а ведь
отдельные колонки обычно сильно отличаются). Таким образом, LZMW имеет свою специфическую нишу.
|
| 179 |
Описанные алгоритмы CTW работают с бинарным
алфавитом. |
Это не так. Существуют теоретические
разработки и практические реализации мультиалфавитного CTW. Например, см.
Sadakane K. et
al. Implementing the Context Tree Weighting Method for Text
Compression |
| 189 |
for( i=0; i<n; i++) {
sum += count[i];
count[i] = sum - count[i];
}
|
for( i=0; i<N; i++) {
sum += count[i];
count[i] = sum - count[i];
}
|
| 190 |
for( i=0; i<n; i++) {
putc( in[pos], output );
pos = T[pos];
}
|
for( i=0; i<n; i++) {
pos = T[pos];
putc( in[pos], output );
}
(поменять местами строчки) |
| 199 |
Рис. 5.15. 1-2-кодирование чисел:
| Число повторов |
Код |
| ... |
... |
| 5 |
z1z1 |
| ... |
... |
|
| Число повторов |
Код |
| ... |
... |
| 5 |
z2z1 |
| ... |
... |
|
| 252 |
Если индекс равен 58, то отображение будет
таким: |
Если индекс равен 56, то отображение
будет таким: |
| 271 |
Требуемый объем памяти при сжатии. PPM:
Варьируется в широких пределах, в зависимости от сложности моделирования и
порядка модели; вырастает на малоизбыточных и очень неоднородных данных |
Утверждение об увеличении расхода памяти в
случае малоизбыточных данных спорно. Это зависит от используемых в
компрессоре структур данных. В том случае, если в модели не хранится в
явном виде информация о так называемых "виртуальных" состояниях, возникших
только один раз, то ситуация может быть и обратной, особенно при большом
порядке модели. В итоге для кодирования уже сжатого файла (степень сжатия
около 1) может требоваться меньший объем памяти, чем для кодирования
текстового файла (степень сжатия 3-4) такого же размера. |
| 294 |
Последовательность кодов для данного примера, попадающих
в выходной поток: <256> <45> <55> <55> <151> <259>. |
Не закодирован последний символ 55 и символ конца потока, поэтому:
Последовательность кодов для данного примера, попадающих
в выходной поток: <256> <45> <55> <55> <151> <259>
<55> <257>.
|
| 297 |
Упражнение. Составить алгоритм генерации таких цепочек.
Попробовать сжать полученный таким образом файл стандартными архиваторами (zip, arj, gz).
Если вы получите сжатие, значит, алгоритм генерации написан неправильно. |
В общем случае это не так. Поскольку подразумеваются LZH-архиваторы,
то может сказаться наличие кодирования по Хаффману. Если в сгенерированных данных есть локальные
области преобладания одних символов над другими, то они могут быть сжаты LZH, пусть даже и
блочно-адаптивным. |
| 302 |
Перепутаны подписи у
рис. 1.1 и рис. 1.2. |
| 307 |
Неправильная матрица перехода RGB --> YCrCb:
 |
 |
| 308 |
Плавное изменение цвета соответствует низкочастотной составляющей, а резкие скачки - низкочастотной.
|
Плавное изменение цвета соответствует низкочастотной составляющей, а резкие скачки - высокочастотной.
|
| 318 |
...
} // Next range block
Save_Coefficients_to_file(best);
} // Next domain block
|
...
} // Next domain block
Save_Coefficients_to_file(best);
} // Next range block
|
| 318 |
Неверная формула сдвига по яркости:
|
|
| 318 |
Неверная формула меры:
|
|
| 318 |
Часть программы
for (all domain blocks)
for (all range blocks) +
symmetry transformation
|
Часть программы
for (all range blocks)
for (all domain blocks) +
symmetry transformation
|
| 319 |
For(every pixel(i,j) in the block{
Rij = 0.75Dij + oR;
} //Next pixel
|
For(every pixel(i,j) in the block{
Rij = 0.75Dij + q;
} //Next pixel
|
| 326 |
Перепутаны индексы у коэффициентов h в формулах преобразований:

|

|
| 327 |
Смещены индексы в формуле:
|
|