Например, Бобцов

АНАЛИЗ ХАРАКТЕРИСТИК И ОПТИМИЗАЦИЯ ФОРМАТОВ ПРЕДСТАВЛЕНИЯ ИЗОБРАЖЕНИЙ В ОПТИЧЕСКОЙ КОГЕРЕНТНОЙ ТОМОГРАФИИ

П.С. Скаков

УДК 004.33.07/.08; 004.33; 004.08
АНАЛИЗ ХАРАКТЕРИСТИК И ОПТИМИЗАЦИЯ ФОРМАТОВ ПРЕДСТАВЛЕНИЯ ИЗОБРАЖЕНИЙ В ОПТИЧЕСКОЙ КОГЕРЕНТНОЙ ТОМОГРАФИИ
П.С. Скаков
Рассматривается выбор оптимального формата представления изображений, получаемых методами оптической когерентной томографии при исследованиях микроструктуры случайно-неоднородных сред. Проведен анализ форматов, удовлетворяющих требованиям предметной области, и рассмотрены результаты экспериментальной проверки эффективности представления изображений в различных форматах. Приводятся рекомендации по использованию форматов и выбору их параметров. Ключевые слова: оптическая когерентная томография, обмен данными, кодирование, представление изображений.
Введение
При использовании методов оптической когерентной томографии (ОКТ) обеспечивается получение информации о внутренней микроструктуре исследуемых объектов с высокой разрешающей способностью. В системах широкопольной ОКТ, когда регистрация излучения, отраженного от объекта, осуществляется при помощи видеокамеры, требуется обрабатывать и хранить сотни видеокадров, при этом объем данных может достигать сотен мегабайт и более. При получении информации о трехмерной микроструктуре объектов необходимо обеспечивать эффективное сжатие при хранении таких данных. С другой стороны, применение в медицинской диагностике накладывает существенные ограничения на возможные методы сжатия томограмм, так как алгоритмы сжатия с потерями приводят к искажению изображения и появлению различного вида артефактов, которые могут быть ошибочно интерпретированы как наличие или отсутствие каких-либо существенных признаков проводимого медицинского исследования. Таким образом, до проведения подробного изучения предметной области на допустимые искажения изображений в качестве возможных форматов хранения следует рассматривать только форматы сжатия без потерь.
Необходимо отметить, что внутренний формат хранения изображений в системе может отличаться от предоставляемого пользователям формата. Это связано с различиями в требованиях к внутреннему хранению данных и обмену данными с другими системами. При внутреннем хранении решающее значение имеют степень сжатия для максимального уменьшения объема данных и скорость обработки, обеспечиваемая, в частности, при использовании специализированных аппаратных блоков. При обмене с другими системами уровень сжатия и скорость обработки остаются важными, но на первый план выходит требование обеспечения совместимости при переносе данных. Для медицинских исследований это особенно важно, так как может потребоваться доступ к данным с самого разнообразного и заранее неизвестного оборудования, причем возможность легкой и правильной интерпретации представления должна обеспечиваться в течение длительного периода до нескольких десятков лет.
Далее будем рассматривать форматы представления изображений для обмена данными с другими системами.
Описание рассматриваемых форматов файлов
Из стандартных форматов хранения изображений без потерь были рассмотрены широко распространенные форматы PNG, TIFF (со сжатием packbits, lzw, deflate), несколько менее известные JPEG 2000, JPEG LS, а также вариант сжатия последовательности кадров как видеоданных с использованием формата H.264.
Формат PNG [1] является в настоящее время одним из самых распространенных форматов представления изображений без потерь. Поддерживаются изображения с числом каналов от 1 до 4 (предполагается модель RGB) и точностью от 1 до 16 бит на компонент каждого из каналов. Данные сжимаются по алгоритму Deflate, представляющим собой комбинацию LZ77 и кодирования Хаффмана. Перед сжатием есть возможность проведения предварительной фильтрации с целью улучшения сжимаемости. В качестве вычитаемого предиктора можно выбрать один из пяти вариантов: 0 – нет фильтрации, 1 – сосед слева, 2 – сосед сверху, 3 – среднее арифметическое соседей слева и сверху, 4 – фильтр Paeth: сосед слева (A), сверху (B) или слева-сверху (C) в зависимости от того, какое значение ближе к A+B−C. Фильтрацию можно выбирать независимо по каждой линии изображения, что породило различные эвристики, называемые в программах вариантами фильтрации 5, 6 и т.д. Кроме хранения информации непосредственно об изображении, возможно внедрение в файл дополнительной метаинформации, в том числе текстовой, что, тем не менее, поддерживается конкретными реализациями весьма редко.
Формат TIFF [2] следует скорее считать контейнером, чем некоторым конкретным форматом представления, так как формат хорошо расширяем, спецификация описывает большое число поддерживаемых цветовых пространств, форматов значений, вариантов сжатия и представления метаинформации. Кроме того, на практике часто можно встретить специфические форматы изображений, построенные на

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 3 (79)

49

АНАЛИЗ ХАРАКТЕРИСТИК И ОПТИМИЗАЦИЯ ФОРМАТОВ …
основе TIFF, но использующие собственные нестандартные методы сжатия – например, многие RAWфайлы цифровой фотографии. Из описанных в спецификации TIFF 6.0 нас будут интересовать форматы сжатия packbits, LZW, а также Deflate из TIFF Specification Supplement 2. Перед сжатием перечисленными универсальными алгоритмами есть возможность провести один из видов фильтрации: 1 – нет фильтрации, 2 – горизонтальное предсказание (подобно методу 1 в PNG), 3 – предсказание для данных в формате с плавающей точкой (Specification Supplement 3).
Необходимо отметить, что TIFF является единственным из рассмотренных форматов представления изображений, который поддерживает многостраничные изображения и был протестирован как в варианте отдельного файла на каждый кадр, аналогично другим форматам, так и в виде одного многостраничного файла на все изображение (обозначенного как TIFF-M). Однако крайне обширная спецификация формата привела на практике к тому, что полностью весь стандарт практически никем не реализуется, и заранее трудно оценить, какой процент реализаций поддерживает выбранные возможности.
Формат JPEG 2000 [3] быт разработан Joint Photographic Experts Group в 2000 г. в качестве замены JPEG, но до сих пор не получил широкого распространения и практически неизвестен на фоне своего крайне популярного предшественника, разработанного той же группой в 1992 г. По своему внутреннему формату JPEG 2000 отличается от JPEG весьма радикально: используется вейвлет-преобразование вместо дискретного косинусного преобразования, контекстное арифметическое сжатие вместо кодирования Хаффмана, поддерживается режим без потерь и множество дополнительных возможностей, таких как масштабируемость (возможность представления изображения в разных разрешениях), произвольный доступ к кодовому потоку и т.д. Необходимо отметить, что, несмотря на добавление в стандарт JPEG режима без потерь и арифметического сжатия, эти возможности не получили распространения и практически никем не поддерживаются в настоящее время, что исключает его из кандидатов для формата обмена изображениями.
Формат JPEG LS [4] был разработан в 1999 г. для кодирования изображений без потерь в качестве замены неудачного режима без потерь стандарта JPEG. Формат не получил широкого распространения, но заслуживает рассмотрения как имеющий несколько аппаратных и открытых программных реализаций и используемый в отдельных разработках медицинской техники. Кодирование состоит из декорреляции на основе LOCO-I предсказания, контекстного моделирования и финального кодирования комбинацией кодов Голомба и RLE.
Кроме форматов представления непосредственно изображений, была также проверена возможность кодирования изображений как видеоданных в формате H.264 [5]. Стандарт H.264 представляет собой способ кодирования видео, использующий современные технологии для повышения степени и качества сжатия; хорошо поддерживается как программно, так и аппаратно; имеет варианты сжатия без потерь и точность более 8 бит на компонент, но поддерживаются такие возможности существенно реже, особенно если рассматривать аппаратные реализации. Отличительной особенностью данного представления является возможность кодировщика не просто обрабатывать каждое изображение отдельно, но еще и ссылаться на информацию в соседних кадрах. Данный подход заметно замедляет не только кодирование, но и декодирование, так как для получения данных некоторого кадра может потребоваться также декодировать еще и десятки других кадров, но, как правило, позволяет получить существенно лучшее сжатие.
Экспериментальные результаты В качестве тестовых изображений были выбраны несколько изображений, полученных различными методами. На рис. 1 представлены кадры изображений «Лист» и «Личинка», полученных при использовании метода спектральной ОКТ.
а
50 Научно-технический вестник информационных технологий, механики и оптики,
2012, № 3 (79)

П.С. Скаков

б Рис. 1. Первый кадр изображения «Лист», 971x416 пикселей, 400 кадров, 8 бит (а); пятисотый кадр изображения «Личинка»,1300x416 пикселей, 1069 кадров, 8 бит (б)
На рис. 2 представлены кадры из изображений, полученных методом корреляционной ОКТ для различных видов бумаги.

аб Рис. 2. Первые кадры изображений «Бумага 1», 640x1000 пикселей, 1069 кадров, 8 бит (а),
и «Бумага 2» 1280x277 пикселей, 640 кадров, 8 бит (б)

Результаты кодирования тестовых изображений в соответствии с рассматриваемыми форматами приведены в табл. 1. Необходимо учитывать, что большинство современных форматов сжатия стандартизированы через спецификацию алгоритма декодирования, что означает возможность изменения алгоритма сжатия и получаемой степени сжатия при одинаковом соответствии некоторому стандарту. В случаях, когда формат поддерживал несколько видов фильтрации или реализация предоставляла расширенные возможности по настройке алгоритма сжатия, выбирался наилучший результат.
По полученным данным можно сделать вывод, что самое компактное представление в большинстве случаев обеспечивает формат PNG, однако в зависимости от используемой реализации размер результата может отличаться до 17% даже при оптимальном выборе всех параметров. Формат стандартизирован и широко распространен, что означает хорошую совместимость и простоту реализации преобразований при работе с этим форматом.
Из остальных форматов необходимо выделить многостраничный TIFF со сжатием Deflate, как обеспечивающий представление в виде одного файла в сочетании с довольно компактным представлением и невысокой вычислительной сложностью. Кроме этого, в связи с использованием алгоритма, подобного применяемому в PNG, можно ожидать уменьшения размера еще до нескольких десятков процентов при более точной настройке параметров алгоритма сжатия.
Из недостатков TIFF Deflate следует отметить описание Deflate лишь в расширенном стандарте формата, что может привести к несовместимости с оборудованием, реализующем только базовую спецификацию TIFF 6.0. К недостаткам TIFF следует отнести также недостаточный выбор вариантов предварительной фильтрации, что обусловило большой проигрыш формату PNG на изображениях корреляционной ОКТ: на рассмотренных изображениях оптимальной фильтрацией является, как будет показано далее, предсказание на основе соседа сверху – режим, присутствующий в PNG, но не в TIFF. При повороте изображений на 90º появляется возможность использовать оптимальный предиктор слева, и TIFF Deflate дает близкую к PNG степень сжатия аналогично изображениям спектральной ОКТ.

Без сжатия TIFF-M TIFF-M packbits TIFF packbits TIFF-M lzw TIFF lzw TIFF-M deflate TIFF deflate PNG 7zip

«Лист» 157 863 126 497 126 352 85 564 101 349 77 324 84 845 70 006

«Личинка» 565 420 435 663 435 671 285 524 285 532 259 050 259 059 231 997

«Бумага 1» 319 451 321 503 321 525 268 369 268 391 210 450 210 472 86 632

«Бумага 2» 221 749 180 810 180 585 58 221 66 050 58 270 63 062 43 054

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 3 (79)

51

АНАЛИЗ ХАРАКТЕРИСТИК И ОПТИМИЗАЦИЯ ФОРМАТОВ …

PNG kzip PNG zlib JPEG-LS JPEG 2000
H.264

67 643 68 044 88 691 104 626 78 134

224 685 225 109 298 756 360 432 269 537

86 494 88 576 80 842 57 387 84 212

42 877 50 140 107 104 145 007 65 339

Таблица 1. Размер файлов для различных форматов сжатия, КБ
Неожиданно плохо показало себя сжатие последовательности кадров как видеоданных в формате H.264. Несмотря на межкадровое сжатие и более сложные алгоритмы по сравнению с другими рассмотренными форматами, на проанализированных образцах значительного выигрыша в степени сжатия обнаружено не было.
Оптимизация параметров формата PNG
Формат PNG показал в среднем наилучшие результаты, и целесообразно более подробно остановиться на его параметрах. Как уже упоминалось, формат поддерживает различные варианты предварительной фильтрации, кроме того, реализации часто предоставляют возможность настроить отдельные параметры алгоритма Deflate. В зависимости от выбранных значений разница в размерах получаемых файлов может достигать нескольких раз, превышая разницу между различными форматами с оптимальным выбором параметров.
В табл. 2 приведены результаты выбора различных видов фильтрации при оптимальном выборе стратегии Deflate из библиотеки zlib. Хорошо видно, что оптимальный тип фильтрации связан с видом метода ОКТ: для изображений, полученных в результате спектральной ОКТ, наилучшим вариантом является отсутствие предварительной фильтрации (тип 0), тогда как для корреляционной ОКТ наилучшим получилось предсказание на основе соседа сверху (тип 2), что при другой ориентации изображения будет соответствовать соседу слева (тип 1).

0 (нет) 1 (слева) 2 (сверху) 3 (слева и сверху)
4 (Paeth)

«Лист» 68 044 90 990 88 581 94 041 94 355

«Личинка» 225 109 311 511 299 784 322 788 326 124

«Бумага 1» 215 094 206 048 88 576 168 349 88 758

«Бумага 2» 53 718 61 252 50 140 89 613 51 804

Таблица 2. Размер файлов в зависимости от типа фильтрации PNG, КБ

Влияние стратегии сжатия Deflate на размер приведено в табл. 3, тип фильтрации был выбран оп-

тимальным. Библиотека zlib в качестве реализации Deflate была выбрана по причине ее популярности в

практических применениях. Наилучшее сжатие достигалось при выборе стратегии Huffman only, причем

для всех изображений. Необходимо отметить, что стратегия Huffman only превзошла остальные вариан-

ты не только по степени сжатия, но по скорости: в 3 раза быстрее обычно используемых стратегий De-

fault/Filtered и Fixed на минимальном сжатии, в 6,5 раз – на максимальном, незначительно быстрее RLE.

Из различных реализаций Deflate наилучшее сжатие было получено при использовании варианта

kzip, но из-за закрытости и недоступности данной реализации даже в виде отдельной библиотеки полу-

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

«Лист»

«Личинка»

«Бумага 1»

«Бумага 2»

Default, min

75 595

252 459

96 068

54 585

Default, max

74 507

248 084

92 923

51 290

Filtered, min

72 849

243 696

94 711

54 771

Filtered, max

72 243

240 877

91 698

51 549

Huffman only

68 044

225 109

88 576

50 140

RLE

71 068

238 102

92 257

53 507

Fixed, min

87 471

293 115

125 103

66 236

Fixed, max

86 166

288 037

120 685

63 174

Таблица 3. Размер файлов в зависимости от стратегии алгоритма Deflate, КБ Заключение

52 Научно-технический вестник информационных технологий, механики и оптики,
2012, № 3 (79)

П.С. Скаков

На основании полученных результатов можно рекомендовать в качестве формата обмена данными для медицинских систем ОКТ следующие форматы: 1. PNG – самое компактное представление, очень хорошая совместимость, простота реализации; 2. многостраничный TIFF со сжатием Deflate – по степени сжатия и совместимости несколько проигры-
вает PNG, но дает возможность хранения изображения в одном файле вместо нескольких сотен для варианта 1; 3. PNG-файлы, упакованные в ZIP-архив без сжатия – альтернативный вариант для представления изображения одним файлом с сохранением всех достоинств варианта 1 и лишь незначительным усложнением реализации.
При выборе формата PNG для изображений, полученных в результате спектральной ОКТ, не следует использовать фильтрацию (тип 0), для корреляционной ОКТ – использовать фильтрацию с предсказанием соседом слева (тип 1) или сверху (тип 2) в зависимости от ориентации изображения. Если реализация Deflate позволяет выбрать стратегию, следует выбирать Huffman only, что даст выигрыш как в степени сжатия, так и в скорости.
При выборе формата TIFF Deflate для изображений корреляционной ОКТ поворот изображения на 90º может дать выигрыш или проигрыш в сжатии в несколько раз.
И PNG, и TIFF поддерживают внедрение произвольных метаданных, но для хранения дополнительной информации (о пациенте, условиях проводимого исследования, и т.д.) в целях совместимости все же не рекомендуется использовать данную возможность как редко реализуемую на практике. Представление такой информации в простом текстовом виде обеспечит наилучшую переносимость, доступность и понятность для пользователей системы.
Работа выполнена при финансовой поддержке Министерства образования и науки Российской Федерации.
Литература

1. World Wide Web Consortium (W3C). PNG Portable Network Graphics (PNG) Specification (Second Edition) [Электронный ресурс]. – Режим доступа: http://www.w3.org/TR/PNG/, свободный. Яз. англ. (дата обращения 02.04.2012).
2. Adobe TIFF Resources page [Электронный ресурс]. – Режим доступа: http://partners.adobe.com/public/developer/tiff/index.html, свободный. Яз. англ. (дата обращения
02.04.2012). 3. JPEG Committee. Final JPEG 2000 ISO/IEC 15444 drafts page [Электронный ресурс]. – Режим доступа:
http://www.jpeg.org/jpeg2000/CDs15444.html, свободный. Яз. англ. (дата обращения 02.04.2012). 4. JPEG Committee. JPEG-LS home page [Электронный ресурс]. – Режим доступа:
http://www.jpeg.org/jpeg/jpegls.html, свободный. Яз. англ. (дата обращения 02.04.2012). 5. ITU-T publication page: H.264: Advanced video coding for generic audiovisual services [Электронный ре-
сурс]. – Режим доступа: http://www.itu.int/rec/T-REC-H.264, свободный. Яз. англ. (дата обращения
02.04.2012).

Скаков Павел Сергеевич

– Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, ассистент, pavelsx@gmail.com

Научно-технический вестник информационных технологий, механики и оптики, 2012, № 3 (79)

53