Реалізація ідеї арифметичного кодування, Детальна інформація
Реалізація ідеї арифметичного кодування
Тип документу: Курсова
Сторінок: 15
Предмет: Комп`ютерні науки
Автор: Кравченко Іван
Розмір: 26.2
Скачувань: 2056
static code_value low, high;
static long bits_to_follow;
/* Ii/aoie eiaeoaaiiy iioiea neiaie\x00B3a */
start_encoding()
{ low = 0;
high = Top_value;
bits_to_follow = 0;
}
/* Eiaeoaaiiy neiaieo */
encode_symbol(symbol,cum_freq)
int symbol;
int cum_freq[];
{ long range;
range = (long)(high-low)+1;
high = low + (range*cum_freq[symbol-1])/cum_freq[0]-1;
low = low + (range*cum_freq[symbol])/cum_freq[0];
for (;;) {
if (high
bit_plus_follow(0);
}
else if (low>=Half) {
bit_plus_follow(1);
low -= Half;
high -= Half;
}
else if (low>=First_qtr && high
{ bits_to_follow +=1;
low -= First_qtr;
high -= First_qtr;
}
static long bits_to_follow;
/* Ii/aoie eiaeoaaiiy iioiea neiaie\x00B3a */
start_encoding()
{ low = 0;
high = Top_value;
bits_to_follow = 0;
}
/* Eiaeoaaiiy neiaieo */
encode_symbol(symbol,cum_freq)
int symbol;
int cum_freq[];
{ long range;
range = (long)(high-low)+1;
high = low + (range*cum_freq[symbol-1])/cum_freq[0]-1;
low = low + (range*cum_freq[symbol])/cum_freq[0];
for (;;) {
if (high
bit_plus_follow(0);
}
else if (low>=Half) {
bit_plus_follow(1);
low -= Half;
high -= Half;
}
else if (low>=First_qtr && high
{ bits_to_follow +=1;
low -= First_qtr;
high -= First_qtr;
}