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

«ВОЛНОВОЙ» АЛГОРИТМ ДЛЯ РАБОТЫ С ЛИНЕЙКОЙ ФПЗС

А.В. Демин, И.А. Перл

УДК 629.785
«ВОЛНОВОЙ» АЛГОРИТМ ДЛЯ РАБОТЫ С ЛИНЕЙКОЙ ФПЗС
А.В. Демин, И.А. Перл
Предложен алгоритм повышения эффективности процесса дистанционного зондирования земли из космоса для систем, основанных на линейке фотоприборов с зарядовой связью (ФПЗС). Приводится вариант аппаратной реорганизации линейки ФПЗС, позволяющий использовать предлагаемый алгоритм. Ключевые слова: дистанционное зондирование Земли (ДЗЗ), прибор с зарядовой связью (ПЗС), алгоритм.
Введение
Основное отличие фотоприборов с зарядовой связью (ФПЗС) линейного типа от ФПЗС матричного типа заключается в том, что необходимое для съемки время экспозиции у них принципиально разное при одной и той же чувствительности пикселя. Это связано с тем, что матрица собирает энергию всей поверхностью параллельно, а линейка должна быть прочитана последовательно несколько раз, при этом число прочтений должно быть равно количеству строк в матрице [1]. В отличие от матрицы, для линейки является очень важным точное определение значения каждого пикселя, так как нет возможности его вычислить на базе аппроксимации значений соседних пикселей, как это может быть сделано при использовании матрицы.
С целью обеспечения необходимого режима экспозиции для ФПЗС линейного типа в системах дистанционного зондирования земли (ДЗЗ) применяют операцию тангажного замедления, т.е. увеличение времени визирования снимаемого участка, которое может достигнуть 10-кратного замедления по отношению к скорости движения по орбите снимающего космического аппарата (КА). Так, например, для орбиты высотой около 500 км скорость смещения изображения составляет порядка 30 мм/с, а тангажирование сводит ее к скорости около 3 мм/с. Так как за время экспозиции линейка должна быть прочитана несколько раз, то она должна быть сфокусирована на одном и том же участке с минимальным смещением, чтобы наборы данных, получаемых с линейки, отличались минимально и могли рассматриваться как образы одного и того же участка. Суть алгоритма тангажного замедления заключается в наклоне космического аппарата по мере его движения таким образом, чтобы система приема данных оставалась нацелена на одну точку.

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 3(67)

19

«ВОЛНОВОЙ» АЛГОРИТМ ДЛЯ РАБОТЫ С ЛИНЕЙКОЙ ФПЗС
Введение операции тангажирования для линейки ФПЗС приводит к тому, что при смене точек визирования между ними возникает «слепая» область (рис. 1). Это связано с тем, что тангажное замедление осуществляется на углах, симметричных относительно надира, т.е. вначале съемка ведется по направлению движения, далее, как только космический аппарат окажется над объектом съемки, съемка будет производиться в надир, после чего угол тангажа продолжит свое изменение до значения, равного углу наклона при съемке вперед в начале цикла [2]. Для того чтобы начать новый цикл съемки, космический аппарат надо снова переориентировать так, чтобы он мог начать съемку объекта, не прошедшего надир. Если пренебречь тем расстоянием, которое пролетает спутник в процессе переориентации, то получается, что из процесса съемки исключается полоса, находящаяся между только что отснятым участком и следующим участком, который планируется снять [3, 4].
Рис. 1. Схема съемки с использованием алгоритма тангажирования
К сожалению, технически практически невозможно полностью исключить тангажное замедление из процесса съемки, построенного на линейке ФПЗС. В данной статье приводится описание метода, который позволяет заметно сократить время экспонирования линейки, что, в свою очередь, позволяет уменьшить угол отклонения КА при съемке, а, следовательно, и размеры «слепых» областей.
Логическое расширение рабочей области линейки ФПЗС
Суть описываемого метода заключается в попытке построить алгоритм, который бы обеспечивал непрерывное получение данных при условии существования технической возможности производить чтение не всей линейки ФПЗС, а ее отдельных элементов. Предлагаемый метод уменьшения времени экспозиции базируется на «волновом» чтении линейки ФПЗС. В этом случае не производится чтение всей линейки по истечении определенного времени, равного времени, полученному от эффекта тангажного замедления, а несколько раз последовательно читаются несколько циклов. Это позволит собрать «урожай состояний» несколько раз. Несколько собранных логических линеек образуют логический кадр или квазиматрицу шириной, равной ширине линейки, и с количеством строк, равным частному от деления количества элементов в строке на количество элементов, оставленных между двумя последовательно идущими «волнами» чтения.
На рис. 2 изображена общая структура волнового алгоритма. На участке матрицы с первого по шестнадцатый элемент существуют четыре волны, которые последовательно считывают состояние элементов ФПЗС-линейки. Под волной будем понимать экземпляр процесса, осуществляющий последовательное считывание пикселей линейки. Текущим шагом или просто шагом «волны» обозначим номер пикселя, который должен быть считан «волной». Так как фотоприемным элементам необходимо время на
20 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2010, № 3(67)

А.В. Демин, И.А. Перл
сброс и новое накопление заряда, то пускать «волны» друг за другом нецелесообразно, поэтому введем термин «период волны», который будет обозначать промежуток времени, разделяющий соседние волны. Количество элементов, разделяющее две последовательно идущие «волны», примем за шаговый период (T). Период и шаговый период «волны» определяются физическими свойствами элементов ФПЗС-линейки. Временем жизни волны будем считать количество прочитанных ею элементов. Если волна уже закончила чтение линейки или еще не была создана, то время ее жизни приравнивается минус единице.

Рис. 2. Общая структура "волнового" алгоритма
Общий алгоритм работы «волнового» метода считывания линейки ФПЗС, схема которого представлена на рис. 3, описывает процесс волнового чтения линейки ФПЗСэлементов. По линейке пускается определенное количество волн с шагом, равным шаговому периоду для данной линейки. На каждом этапе для каждой «волны», которая начала движение по линейке, производится считывание соответствующих элементов линейки. После этого эти «волны» сдвигаются на один элемент вправо. Если какаялибо «волна» выходит за пределы линейки, она удаляется из списка активных «волн». Если последняя активная волна отошла от начала линейки на количество элементов, равное шаговому периоду, т.е. счетчик ожидания новых волн стал равен шаговому периоду и при этом максимальное количество «волн» достигнуто не было, то создается новая «волна». Алгоритм работает до тех пор, пока на линейке есть хотя бы одна активная волна.
Организация произвольного доступа к элементам линейки ФПЗС
Классическая организация линейки ФПЗС такова, что над ПЗС-«конвейером», который передает цепочку зарядов, располагается набор фотоэлементов, осуществляющих накопление заряда во время экспозиции линейки. После истечения времени экспонирования все фотоэлементы одновременно передают свой накопленный заряд на ПЗСструктуру, которая осуществляет его передачу к устройствам анализа и обработки. Для использования «волнового» алгоритма необходимо обеспечить возможность произвольного доступа к фотоэлементам. С этой целью между фотоэлементами и ПЗС-структурой расположим вентильную маску, которая позволит управлять процессом передачи заряда от фотоэлементов в элементы ПЗС, разрешая или запрещая такую передачу (рис. 4).
Вентильная маска представляет собой битовый массив, указывающий, с каких фотоэлементов нужно снять заряд в данный момент. Биты, соответствующие логическому нулю, закрывают переходы для соответствующих им пар фотоэлемент–ячейка регистра, и, наоборот, биты, установленные в 1, будут открывать переход для накопленного заряда из фотоэлемента в регистр. После того, как фотоэлемент отдал накопленный заряд в регистр, он снова может накапливать следующую порцию энергии.

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 3(67)

21

«ВОЛНОВОЙ» АЛГОРИТМ ДЛЯ РАБОТЫ С ЛИНЕЙКОЙ ФПЗС

Начало
Создать новую «волну»
Сбросить счѐтчик ожидания новых «волн»
Счѐтчик созданных волн увеличивается на 1

да

Количество активных «волн»

равно нулю

нет
Произвести чтение элементов для всех «волн»

(*)Произвести чтение элементов для всех «волн»

«Волна» вышла

нет

за границу линейки

да
«Волна» удаляется из списка

Увеличить счѐтчик ожидания новых «волн»

Счѐтчик ожидания новых «волн» больше чем шаговый период?
да
Счѐтчик новых «волн» достиг
максимума
нет

нет да

Окончание рабочего цикла

Рис. 3. Блок-схема общего «волнового» алгоритма

22 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2010, № 3(67)

А.В. Демин, И.А. Перл
Рис. 4. Схема организации линейки для обеспечения чтения ее отдельных элементов при помощи маскировочного регистра
Использование вентильной маски для контроля передачи заряда от фотоэлементов к сдвиговому регистру позволяет применить «волновой» подход, описанный ранее. В этом случае алгоритм цикла чтения для активных «волн» выглядит следующим образом. Для каждого полученного набора известны номера «волн», элементы которых представлены в текущей выборке (Nwave1, …, NwaveX), также пусть определена функция S(Nwave), которая возвращает номер пикселя, который был прочитан волной NwaveX. Тогда для получения пикселя конкретной волны нужно взять элемент выборки под номером S(NwaveX) и сохранить его в матрице итогового результата в строке с соответствующим номером. Рис. 5 иллюстрирует этот метод для линейки длиной L.

Рис. 5. Сохранение пикселей прочитанных активными «волнами» в квазиматрице для линейки длиной L
В результате получается матрица результатов, ширина которой равна ширине линейки ФПЗС, а высота соответствует числу «волн», прошедших по линейке за время экспозиции. При таком подходе каждая волна заполняет свою строчку в результирующей квазиматрице. Процесс заполнения логической квазиматрицы ведется из левого верхнего угла по направлению к правому нижнему. Пусть время жизни «волны» есть количество тактов чтения, прошедшее с момента считывания первого элемента данной

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 3(67)

23

«ВОЛНОВОЙ» АЛГОРИТМ ДЛЯ РАБОТЫ С ЛИНЕЙКОЙ ФПЗС

«волны». Если волна еще не создана или уже прекратила свое существование (например, дойдя до правого края линейки), то ее время жизни равняется –1. Тогда данной «волне» в конкретный момент времени соответствует элемент сдвигового регистра под номером, равным времени жизни «волны», и этот элемент является элементом данных этой «волны» под тем же номером. На примере последней вычисленной вентильной маски получим следующие значения в сдвиговом регистре:

Номер «волны» волна 1 волна 2 волна 3

Маска для выделения элемента 00000000100….000 00001000000….000 10000000000….000

Номер элемента «волны» 9 5 1

Рассмотрим пример. Пусть в некоторый момент времени мы начинаем вести съемку при помощи линейки, усовершенствованной вентильной маской, шаговый период которой равен 5. По прошествии минимально возможного времени экспозиции первый (самый левый) элемент активной части линейки будет содержать значимое количество энергии, пригодное для дальнейшей обработки. Для его считывания вентильная маска устанавливается в значение
10000000000….000. После применения такой маски в сдвиговый регистр попадет значение самого левого фотоэлемента. На следующий такт, после считывания значения, фотоэлемент снова начинает накапливание энергии. Следуя «волновому» алгоритму, при помощи маски мы можем считывать элементы один за другим, изменяя маску логическим сдвигом ее значения на один разряд вправо за каждый такт: 01000000000….000 00100000000….000 00010000000….000. Пусть один такт считывания заряда с фотоэлемента, включая его получение со сдвигового регистра, занимает х единиц времени, а время накопления минимального заряда в фотоэлементе занимает у единиц времени. Тогда количество этапов чтения, через которое можно запускать вторую «волну» чтения, можно определить как

N mask

y. x

Обозначим этот параметр как время жизни маски. Время жизни маски равно ша-

говому периоду для данной линейки. В течение этого времени маска остается постоян-

ной и изменяется только путем сдвига. По истечении времени жизни маски, на сле-

дующей итерации чтения, строится новая маска, которая образуется путем добавления

к текущему значению величины 2N-1. Продолжая рассматриваемый пример, запишем

следующее значение вентильной маски при появлении второй «волны»:

10001000000….000.

Теперь сдвиговый регистр будет содержать два значения энергий фотоэлементов:

пятого элемента первой «волны» и первого элемента второй «волны». После изменения

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

«волны». При появлении третьей «волны» маска примет следующее значение:

10001000100….000.

После того, как первая «волна» достигнет правого края вентильной маски, созда-

ние новых «волн» прекращается. Алгоритм «волнового» чтения заканчивается, как

только последняя «волна» достигнет правого края линейки.

24 Научно-технический вестник Санкт-Петербургского государственного университета
информационных технологий, механики и оптики, 2010, № 3(67)

А.В. Демин, И.А. Перл

Заключение

Приведен алгоритм «волнового» считывания данных с линейки ФПЗС, который позволяет существенно сократить угол наклона космического аппарата во время тангажного замедления, что приводит к пропорциональному уменьшению слепых участков между отснятыми отрезками. Рассмотрен вариант аппаратной реализации линейки ФПЗС, позволяющий использовать «волновой» алгоритм.

Литература

1. Гош С., Чандра А. Дистанционное зондирование и географические информационные системы. – М.: Техносфера, 2008. – 328 с.
2. Трифонова Т., Мищенко Н., Краснощеков А. Геоинформационные системы и дистанционное зондирование в экологических исследованиях. – М.: Академический проект, 2005. – 352 с.
3. Обиралов А., Лимонов А., Гаврилова Л. Фотограмметрия и дистанционное зондирование. – М.: КолосС, 2006, С. – 334 с.
4. Лурье И., Косиков А., Ушакова Л., Карпович Л., Любимцев М., Тутубалина О. Компьютерный практикум по цифровой обработке изображений и созданию ГИС. Часть III. Дистанционное зондирование и географические информационные системы. – М.: Научный мир, 2004. – 148 с.

Демин Анатолий Влади- – Санкт-Петербургский государственный университет информаци-

мирович

онных технологий, механики и оптики, доктор технических наук,

Перл Иван Андреевич

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

romanart1@inbox.ru

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 3(67)

25