NMR Center >> | Dmitry Dmitriev >> | Spectra compression II |
Spectra compression II
(оцениваем перспективы дальнейшего сжатия)
В первой части этого мини-исследования мы увидели, как с помощью простейшей перестановки битов можно улучшить "пакуемость" спектров на 30-35%. Несомненно, что применение более изощренных (например, адаптивных) алгоритмов упаковки позволит сжимать наши файлы еще плотнее. С другой стороны, основным достоинством предложенного метода является его быстрота и низкие требования к ресурсам компьютера. Любая дополнительная обработка данных - это снижение скорости и усложнение алгоритма. Оправдает ли улучшение сжатия эти потери?
Вместо того, чтобы пробовать сжимать спектры разными методами, мне показалось более интересным оценить - насколько достигнутая степень сжатия далека от теоретического предела? Конечно, это не простая задача - результат очень зависит от трактовки данных, которые требуется сжимать. Однако, если физический смысл данных известен, ориентировочная оценка возможна.
Воспользуемся снова методом битовых срезов. На диаграммах ниже представлена оценка степени сжатия отдельных битовых слоев в типичном протонном спектре до ФП (FID) и после ФП (SPC) соответсвенно.
Рис. 2.1
Двоичные разряды 24-битового представления точек спектра пронумерованы от младших к старшим (первый столбик - бит 2**0, второй - 2**1 и тд.) Высота прямоугольников представляет размер соответсвующего битового слоя после сжатия методом BS + ZIP. Красная горизонтальная линия на диаграмме соответсвует размеру битовых слоев до сжатия - 2080 байт ( 49920/24 ).
Рис. 2.2
Заметно, что вклад отдельных битовых слоев в размер упакованного файла существенно различен и в общем уменьшается от младших битов к старшим. Это легко обьяснимо, если вспомнить о шуме. Относительно плохая степень упаковки самого старшего бита обусловлена особым смыслом этого разряда - здесь хранится знак числа. Отметим однако, что зависимость в обоих случаях неоднородна - в ней четко можно выделить два отдельных участка. В отличии от старших битов, степень упаковки которых зависит от разряда, младшие 7 бит в FIDе и 10 бит в SPC-файле имееют после упаковки размер, практически совпадающий с исходным, неупакованным. Эти битовые слои практически несжимаемы, то есть архиватор не смог выделить в них никакой регулярности. Это - почти чистый шум.
Несмотря на кажущуюся необоснованность последнего утверждения, его легко подтвердить математически. Выбрав в спектре участок базовой линии без сигналов, рассчитаем дисперсию и среднеквадратичное отклонение точек "шумовой дорожки", оценив уровень шумов по известным формулам математической статистики. Так, в спектре, которому соответсвует диаграмма на рисунке 2.2, среднеквадратичное отклонение значений интенсивности точек базовой линии sigma составило 402. Это число лежит между 2**8 (256) и 2**9 (512), то есть шум в этом спектре в среднем имеет разрядность 9 бит. что очень близко к ширине "несжимаемой" зоны на диаграмме. Думаю, что подобное справедливо и для FID-файлов. Таким образом, диаграммы сжатия битовых слоев позволяют геометрически "разделить" шум и данные в спектрах.
Выводы
Вернемся к исходному вопросу - помогут ли графики оценить перспективы дальнейшего сжатия спектральных файлов? Для примера опять возьмем SPC-файл, зависимости в котором проявляются нагляднее. Размер сжатого файла, образ которого представлен на диаграмме (рис 2.2) - чуть менее 29Кб. Из графика видно, что почти 3/4 этого занимает шум (10-11 битовых срезов по 2 Кб каждый) и только около 1/4 - полезная информация. Если шум является действительно случайным, дальнейшая его упаковка после преобразования BS маловероятна. Улучшить степень сжатия спектра можно только за счет лучшей обработки данных в оставшихся 25% обьема файла, и именно к этому значению будет стремиться максимальное увеличение степени сжатия в идеальном случае. На практике же применение к этому файлу других методов упаковки дает лишь 7-10% уменьшения обьема при существенном снижении скорости обработки.
Если все же ставить задачу дальнейшего уменьшения размера файла, наиболее перспективным представляется учет взаимозависимости значений в действительной и мнимой части спектра методом сортировки параллельных блоков(PBS) и обработка старшего бита (знака числа) в FID-ах.
Далее...
Логичный вопрос - а всегда ли имеет смысл хранить файл целиком, если 2/3 - 3/4 его обьема занимают данные, не несущие полезной информации? Все современные технологии многократного сжатия цифровых данных (звука и изображения) основаны на сохранении только значимой информации. Об этом - в третьей части
<<< Часть 1 Часть 2 Часть 3 >>>
Copyright © by Dmitry E. Dmitriev Last change 10/01/03