Интернет магазин китайских планшетных компьютеров



Компьютеры - Сжатие звука без потерь - Преобразование координат

22 января 2011


Оглавление:
1. Сжатие звука без потерь
2. Преобразование координат
3. Кодирование. Алгоритм Райса



Первым шагом в сжатии будет представление каналов аудио L и R более эффективным образом, представив их некими числами X, Y согласно следующему алгоритму:

X = / 2
Y = L − R

Для дробных чисел это преобразование не теряет информации и является эквивалентным оригинальному. Для целых же / 2 теряет 0,5 при конверсии в integer, когда L и R имеют разную чётность, но, проверив чётность L − R, легко восполняем эти 0,5.

Предиктор

Следующий шаг — пропустить X и Y через алгоритм, который максимально эффективно уберёт весь избыток информации в представлении X, Y.

В данном случае весь процесс направлен на представление массивов X, Y минимально возможными числами, все еще сохраняя обратимость процесса. Есть множество способов сделать это. Один из них — преобразование с использованием линейной алгебры:

PX = − X−2
PY = − Y−2

Если X =, то в ряду PX на четвертом месте будет P4 = − X4-2 = − 8 = 40
То есть, если X =, то PX =

Заметим, что X и Y таковы, что на всем протяжении спектра в данную секунду в среднем не должно происходить огромных изменений в значениях между соседними частотами, что облегчает кодирование.

При этом стоит помнить, что хорошие алгоритмы организуют обработку входящих данных таким образом, чтобы уменьшить числа в массиве PX, PY.

Пусть число m лежит в диапазоне 0 … 1024. Для массива PX выполняется серия преобразований с разными значениями m следующим образом:

X =, тогда соответственно
PX = − X−2 = − 8 = 40

Если ? = 45 и m = 512, тогда конечное значение = ? − = 45 − = 45 − = 45 − 20 = 25

Далее происходит перебор других значений m, поскольку большие значения могут быть более эффективны.

Тогда, получив для определенного m массив данных, происходит увеличение или уменьшение m в зависимости от того, была ли последняя попытка в алгоритме удачной.

Используя разные уравнения и используя множество проходов для разных свободных коэффициентов, можно добиться вполне ощутимого сжатия данных.

Приведем пример нескольких уравнений, как это следует из технической литературы

P0 = 0
P1 = X−1
P2 = − X−2
P3 = − + X−3



Просмотров: 5911


<<< Сжатие данных с потерями
Сжатие с использованием вейвлет >>>