КОЗЛОВ1 Никита Андреевич ШУРЫГИН2 Виктор Александрович кандидат технических наук, доцент
ЖУКОВ3 Игорь Юрьевич доктор технических наук, профессор ФЕДОРОВ4 Евгений Дмитриевич, доктор медицинских наук, профессор ИВАНОВА5 Екатерина Викторовна, кандидат медицинских наук МИХАЙЛОВ6 Дмитрий Михайлович, кандидат технических наук, доцент
МЕТОД СЖАТИЯ ИЗОБРАЖЕНИЙ ДЛЯ БЕСПРОВОДНОЙ КАПСУЛЬНОЙ ЭНДОСКОПИИ
Данная статья посвящена вопросам сжатия изображений без потери качества применительно к перспективному направлению медицинских исследований — беспроводной капсульной эндоскопии. В статье дается, краткий обзор существующих методов сжатия, данных и возможности их применения. На основе полученных экспериментальных результатов разработана общая, схема устройства, реализующего наиболее эффективный метод кодирования, для. передачи данных из желудочно-кишечного тракта на внешнее устройство-считыватель.
Ключевые слова: беспроводная, капсульная эндоскопия, сжатие, кодирование тройками, кодирование Райса, изображение, гастроэнтерологический тракт..
This article is devoted to image shrinking method, without loss of the quality with, regard, to a modern, field in medical research. -wireless capsule endoscopy. This article gives a brief overview of existing data shrinking methods and their application possibilities. According to the carried out experiments the overall scheme of the device was developed. This scheme implements the most efficient method of coding.
Keywords: wireless capsule endoscopy, image shrinking, triplets coding, Rice coding, gastrointestinal tract.
Данная статья посвящена вопросам сжатия изображений без потери качества в целях последующей передачи по специальному каналу для использования в перспективном направлении медицинских исследований — беспроводной капсульной эндоскопии. Так как в процессе диагностики желудочно-кишечного тракта пациента капсула производит два снимка в секунду, то к концу исследования накапливается более 57 тысяч изображений. После за-
вершения исследования эти изображения передаются на стационарный компьютер, где происходит их дальнейшая обработка.
В системе беспроводной эндоскопии особенно остро стоит вопрос обеспечения достаточной мощности передатчика, длительности работы блока питания и размеров оборудования. Уменьшение передаваемой информации приведет к увеличению частоты получения изображений, снижению энергопотребле-
ния, и, как следствие, — к более долгой работе эндоскопической капсулы. Таким образом, появляется задача сжатия изображений внутри капсулы, что позволит получить максимум данных для анализа, не увеличивая при этом размеры прибора.
Данные с камеры передаются в память, организованную в виде очереди по принципу FIFO (First In — First Out, первым пришел — первым ушел). Далее из памяти массив поступает на микросхе-
1 — аспирант НИЯУ «МИФИ»;2 — доцент НИЯУ «МИФИ»;3 — ФГУП «ЦНИИ ЭИСУ»; зам. генерального директора;
4,5 — Государственная клиническая больница 31;6 — доцент НИЯУ «МИФИ».
му сжатия по однобитному порту. Цвет пикселя изображения определяется тремя составляющими по схеме RGB (Red, Green, Blue — красный, зеленый, синий). После чего данные сжимаются и отправляются по 8-битному порту на передатчик. Передатчик капсулы посылает кодовые слова на внешний приемник, который, в свою очередь, декодирует изображение.
Область применения устройства накладывает жесткие ограничения на схему сжатия:
1) низкое энергопотребление — капсула работает на батарее, и высокое энергопотребление сократит время ее работы;
2) массив памяти обновляется каждые 0,5 с — время сжатия не должно превышать этого ограничения;
3) размеры капсулы составляют 1,5 — 2 см, что накладывает ограничение на размер микросхемы. Оптимальным вариантом станет размещение информации на кристалле размером 5x5 мм.
Для решения проблемы сжатия информации без потерь с учетом выдвигаемых требований к конечному устройству были выбраны следующие алгоритмы:
1) кодирование тройками двоичных наборов (КТ);
2) комбинация преобразования MTF (move-to-front — движение к началу) и кодирования Райса.
Кодирование тройками двоичных наборов
Кодирование тройками двоичных наборов относится к универсальному кодированию. Универсальное кодирование характеризуется тем, что статистическая избыточность в последовательности, полученной после кодирования, стремится к нулю с ростом длины блоков, на которые разбивается исходная бинарная последовательность.
Данный метод используется, когда требуется абсолютно точно восстановить исходную двоичную последовательность, а сжатие данных за счет потери части информации неприемлемо [1, 4, 5].
Исходная последовательность двоичных данных разбивается на блоки разрядностью п (п бит). Для каждого блока
определяются три параметра, вычисляемые на основе его содержимого:
1) количество единиц в блоке — k;
2) номер суммы их позиций — s;
3) номер данной конкретной комбинации в соответствующем классе (элемент пересечения множеств K и S) — b(n,k,s).
Доказано, что избыточность Rn в потоке выходных данных стремится к нулю с ростом длины исходных блоков n, т.е. кодирование является асимптотически оптимальным:
limRn = 0, (1)
где n ^ ~; Rn — избыточность кодирования:
Rn = sup Rn(f), где о < р < 1,
Rnfr) = nc/n — Н(р),
где иср — средняя длина кодового слова, Н(р) = -(p log2p + q log2q) — энтропия источника.
Номер данной конкретной кодовой комбинации вычисляется по формуле,
b(n,k,s) = r(ik -1,k, ik + ik-i+... + ii)+ + r(ik-1 — 1,k-1, ik-1+ ik-2... + il) + ■■■
+ r (¡2 — 1, 2, ¡2 + ii) =
= t r(ij — 1,j,± im ), (2)
j=2 J m=l
где i — номера позиций единиц в исходном блоке [1].
Для уменьшения трудоемкости реализации имеет смысл ввести адаптацию в КТ, т.е. добавить в кодовое слово дополнительный бит, содержащий указание на то, кодировать информацию или нет, в зависимости от количества единиц во входном блоке.
Комбинация преобразования MTF и кодирования Райса
МТБ — это преобразование для кодирования данных (обычно потока байтов), разработанное для улучшения производительности энтропийного кодирования. Основной идеей преобразования является замена каждого входного символа его номером в специальном стэке — регистре недавно использованных символов. Последовательности идентичных символов, например, будут заменены оригинальным алгоритмом (начиная со второго
символа) на последовательность нулей. Если же символ долго не появлялся во входной последовательности, он будет аналогичен большому числу. В ходе преобразования происходит замена последовательности входных символов на последовательность целых чисел. Если во входных данных было много локальных корреляций, то среди этих чисел будут преобладать небольшие, лучше сжимаемые энтропийным кодированием, чем исходные данные [2, 3]. Код Райса — это семейство двоичных префиксных кодов представления натуральных чисел и нуля. Коды различаются одним параметром к — количество битов, отводимых на мантиссу числа. Способ кодирования и декодирования зависит от значения параметра, так что он должен быть известен как передатчику, так и приемнику.
Кодируемое число в двоичном представлении разбивается на две части: к самых младших разрядов и все остальные от к-го и старше. Старшая часть кодируется унарным кодом, а младшая — записывается сразу следом за кодированной старшей частью. Для п-блока данный код представляется в (п /т + к + 1) битами, где т = 2к — некоторое выбранное число, являющееся степенью двойки [2].
В результате моделирования и тестирования разработанных устройств, реализующих работу алгоритмов кодирования тройками двоичных наборов, комбинации преобразования МТБ и кодирования Райса, были исследованы зависимости размера выходного файла и длительности обработки от параметров кодирования. В качестве параметров КТ использовались наличие/отсутствие адаптации, а также, при наличии адаптации, различные минимальные количества единиц. По результатам тестирования были составлены табл. 1 и табл. 2, в которых приняты следующие обозначения: ктпп — минимальное значение. Ксж — коэффициент сжатия данных. t — число тактов в миллионах, КБ — килобайт.
В результате, было выбрано сжатие по методу КТ с приведенными выше параметрами по следующим причинам:
1) КТ обрабатывает входной блок за меньшее количество тактов;
2) КТ имеет больший коэффициент сжатия;
Таблица 1. Зависимость коэффициента сжатия КТ от различных параметров
п t, млн.тактов Размер, КБ Адаптация k л■mw к сж
8 30,5 325 нет - 0,94
16 - 213 нет - 1,44
24 - 160 нет - 1,92
24 3,3 273 есть 2 1,12
3,7 267 есть 3 1,14
5,2 267 есть 4 1,14
11,2 267 есть 5 1,14
45,4 267 есть 6 1,14
32 3,2 268 есть 2 1,15
3,5 264 есть 3 1,16
5,2 262 есть 4 1,17
15,5 260 есть 5 1,18
60,1 259 есть 6 1,19
48 3,2 259 есть 3 1,19
3,6 255 есть 4 1,20
5,9 251 есть 5 1,22
15,35 249 есть 6 1,23
64 80,5 254 есть 5 1,20
128 8,4 255 есть 4 1,20
256 12,6 256 есть 4 1,19
512 24,1 259 есть 4 1,18
3) для реализации КТ при длине блока в 48 бит требуется меньшее количество памяти.
Возможны следующие варианты реализации КТ:
1) программный подход, при помощи ЭВМ;
2) аппаратно-программный способ, при помощи одноплатного компьютера или при помощи ЭВМ на одном кристалле;
3) разработка специализированного ус-
тройства на основе создания оригинальной микросхемы, с использованием флэш-технологий.
С учетом специфики применения, наиболее перспективным представляется третий путь сжатия изображения без потерь. На вход микросхемы поступает бинарная последовательность со статистической избыточностью, а с выхода снимается последовательность, лишенная избыточности, т.е. обеспечивается сжатие данных.
На рис. 1 приведен алгоритм, реализующий КТ. Приняты следующие обозначения: к — количество единиц в исходном блоке; в — номер суммы позиций единиц в исходном блоке; Ь — номер данной конкретной кодовой комбинации для фиксированных значений к и в; N К, Б — служебные параметры для вычисления номера Ь по формуле (2); г (п, к ,в) — количество двоичных комбинаций имеющих к единиц и сумму их позиций в в п-разрядном блоке; А(1) — одномерный массив анализируемых битов входного слова; I — служебный текущий индекс номеров позиций единиц.
Значение п считается заданным — длина блоков, на которые разбивается исходная последовательность двоичных символов (блок А1).
Под I понимается номер обрабатываемого разряда текущего п-блока; к — текущее значение количества единиц в блоке; Б — сумма номеров их позиций; Ь — номер, вычисляемый по формуле (2); А(1) — содержимое 1-го разряда п-блока. В блоках А2, А3, А4, А5 значениям параметров кодового слова присваиваются исходные значения.
Пусть с выхода канала поступают последовательно двоичные данные. В блоке А6 осуществляется прием очередного бита этой последовательности. В блоке А7 значение I увеличивается на единицу.
В блоке А8 определяется, равно ли содержимое 1-го разряда п-блока единице, и, если «да», то происходит вычисление соответствующего слагаемого формулы (2) номера кодовой комбинации (блоки А9, В1,2,3). В блоке В4 вычисленное слагаемое прибавляется к текущему значению номера Ь.
Если в блоке А8 выясняется, что содержимое 1-го разряда п-блока равно нулю, то происходит переход на блок В5. Здесь выявляется, все ли разряды п-блока проверены, и, если «нет», то
Таблица 2. Зависимость коэффициента сжатия кодированием Райса от разных параметров сжатия
k л■min 2 3 4 5 6 2 3 4 5 6
к Ксж 0,50 0,78 0,98 1,11 1,09 0,73 1,04 1,21 1,21 1,12
Размер, КБ 612 392 302 275 281 415 295 254 254 274
t, млн. тактов 1,8 23
MTF нет есть
в
3
4
5
6 7
Рис. 1. Алгоритм кодирования
осуществляется переход на блок А6. Если «да», то в блоке В6 происходит модификация значения суммы позиций единиц исходного блока, т.е. осуществляется замена исходного значения Б, на его номер.
В блоке В7 вычисляется коэффициент, необходимый для определения количества разрядов, требуемых для номера передаваемой кодовой комбинации. В блоке В8 происходят выдача сформированного кодового слова. Если по завершению передачи очередного кодового слова из канала продолжают поступать данные, осуществляется переход на блок А2.
Реализованное по итогам исследования устройство производит сжатие получаемых эндоскопической капсулой изображений без потерь примерно на 20% в реальном времени. При этом соблюдаются все технические требования, выдвигаемые к беспроводному эндоскопу.
В сочетании с программным обеспечением, установленным на приемнике, которое автоматически отбирает изображения, пригодные для исследования, разработанный метод позволяет получить наиболее полную картину ЖКТ пациента в удобной для анализа форме I
Литература
1. Александрович А.Е., Ядыкин И.М., Шурыгин В.А. Метод универсального кодирования двоичных данных./Вопросы радиоэлектроники, 2011. — Выпуск 2 — С. 94 — 115.
2. B.C. Сергеенко, В. В. Баринов. Сжатие данных, речи, звука и изображений в телекоммуникационных системах. — М.:РадиоСофт, 2011. — 360 с.
3. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы, сжатия, данных. Устройство архиваторов, сжатие изображений и видео. — М.: ДИАЛОГ-МИФИ, 2003. — 384 с.
4. Шурыгин В.А. Сжатие двоичных данных в условиях неизвестной статистики источника. — М.: МИФИ, 1985.
5. Шурыгин В.А. Универсальное кодирование — сжатие без потерь. Сборник научных трудов «Телекоммуникации и новые информационные технологии в образовании». — М: МИФИ, 2010.