Цифровая обработка УЗ изображения
Первым этапом любой цифровой обработки аналоговых сигналов является их аналого-цифровое преобразование.
Произведем оценку необходимой скорости такого преобразования для целей визуализации УЗ изображения. Допустим, что максимальная глубина локации составляет 200 мм, а количество отсчетов вдоль луча равно 512. Тогда полное время движения луча (туда и обратно) будет равно
Тл
= мкс,
а время, необходимое для получения одного цифрового отсчета
Тотс
= 270/512 = 0,53 мкс.
При меньшей глубине локации, например, 50 мм (исследование щитовидной железы) время одного отсчета сократится до 0,13 мкс, что соответствует частоте преобразования 7,7 МГц.
Такую высокую скорость преобразования обеспечивают АЦП параллельного преобразования. Они выпускаются шести- и восьмиразрядными с частотами преобразования от 20 до 100 МГц.
Соответственно для запоминания цифровой информации требуется память с 6-битной или 8-битной (байтной) организацией ячеек. Как уже отмечалось раньше, изображение обычно формируется из 512 512 пикселов с количеством градаций яркости 26
или 28
. Выпускаются также и 16-разрядные АЦП параллельного преобразования.
Темпы формирования одного кадра УЗ изображения сравнительно невелики. Выше говорилось, что секторные механические датчики имеют скорость качаний около 10 1/c.
Электронно-управляемые линейные и конвексные датчики, в принципе, могли бы обеспечить более высокий темп сканирования, однако он жестко определяется глубиной локации и количеством элементов пьезорешетки.
Например, при количестве элементов 256 и глубине локации 200 мм общее время сканирования, т.е. время одного кадра УЗ изображения, составит ориентировочно мс. Следовательно, частота УЗ кадров будет равна примерно 14 кадров/c. Как видим, темпы формирования УЗ изображения датчиками ниже 24 кадров в секунду и если их не изменять при выводе на экран, то будут наблюдаться мерцания изображения.
Для исключения этого недостатка оперативную память делают двухступенчатой: первая ступень – буферная память, вторая ступень – экранная. В буферную память записывают цифровую информацию в темпе сканирования используемого датчика. Затем информация переписывается в экранную память и далее выводится на экран в темпе кадровой развертки монитора – 60 - 70 кадров/c.
Еще одной специфической проблемой цифрового преобразования УЗ сканеров является получение изображения от секторного (механического или конвексного) датчика в естественной секторной форме. Для этого нужно привести в соответствие полярную систему цифровых отсчетов, присущую секторному датчику, и прямоугольную, в которой работает система строчно-кадровой развертки монитора.
Поясним сказанное рисунком (рис.1). Слева показан кадр УЗ изображения. По сигналам, поступающим от датчика углового положения, производится пуск УЗ лучей и их подсчет, т.е. указывается дискретное значение угла.
Вдоль каждого луча с помощью АЦП делаются цифровые отсчеты эхо-сигнала, и каждому отсчету присваивается номер (дискретное значение глубины). Справа показан прямоугольный растр монитора и размещение в нем секторного изображения.
Координаты пиксела Х и Y представляют собой соответственно номер отсчета вдоль строки и номер строки. Как видно из рисунка, точки отсчетов в прямоугольной и полярной системах координат в общем случае не совпадают.
Рисунок 1. Построение веерного растра на экране монитора.
И они не могут совпадать, так как их координаты связаны иррациональными соотношениями:
; . (1)
Координаты x и y обязательно должны быть целыми, а r и j, определяемые формулами (1), получаются дробными. Но, с другой стороны, отсчеты r и j, формируемые при записи в буферную память, также являются целыми числами.
Возникает противоречие. Оно разрешается тем, что инициатором преобразования координат выступает декартова система, т.е. система развертки монитора. Она задает координаты x и y, а по формулам (1) вычисляются координаты полярной системы. В наиболее простом случае они округляются до ближайших целых значений.
Однако, в силу того что механический секторный датчик является инерционной асинхронной системой, цифровые отсчеты сигнала для одних и тех же r и j, могут меняться от кадра к кадру, причем эти изменения могут носить повторяющийся характер. Возникают так называемые муаровые искажения
в виде правильных узоров, которые мешают восприятию изображения. Подобные искажения появляются на экране телевизора при нарушениях синхронизации.
Для устранения этого недостатка применяют интерполяцию, или усреднение цифровых отсчетов. Сущность интерполяции поясняет рис.2. Точки a, b, c и d принадлежат полярной системе координат, а точка e – декартовой.
Этими же буквами будем обозначать величины цифровых отсчетов, в этих точках. Координаты точек полярной системы определяются по формулам (1). Из них выделяются целые части r и j, и дробные и . Задача интерполяции заключается в том, чтобы по известным отсчетам a, b, c, d полярной системы получить отсчет е декартовой системы. Для частного случая расположения точки е, показанного слева, величина е зависит только от а и b: e = a(1-Dj) + bDj.
Рисунок 2. Интерполяция цифровых отсчетов.
Понятно, что если точка е находится посредине между точками а и b, то отсчет е равен их полусумме. В общем случае, показанном справа, информация, которая должна быть присвоена точке е, определяется отсчетами всех четырех точек полярной системы:
. (2)
Коэффициенты при отсчетах а, b, c, d называются коэффициентами интерполяции. Благодаря процедуре интерполяции осуществляется плавный переход по яркости от точке к точке в декартовой системе координат, т.е. на экране монитора, и тем самым исключаются муаровые искажения. Вычисления согласно алгоритму (2) в конверторе выполняет специальное устройство, называемое интерполятором. В него входят преобразователь координат, перемножающие устройства, к нему же можно отнести и буферное ОЗУ.
Причем, буферное ОЗУ состоит из двух идентичных половин. Это сделано для упрощения и ускорения процесса записи-считывания: когда в одну половину идет запис
Так как обработка информации идет в темпе реального времени, то все вычислительные операции, связанные с интерполяцией, выполняются аппаратными средствами, ибо даже самая быстродействующая ЭВМ не успеет это сделать программным способом.
Например, преобразование координат и вычисление коэффициентов интерполяции в алгоритме (2) производится с помощью ПЗУ, а операции умножения – специальными микросхемами цифровых перемножителей. Все описанные выше сложные преобразования не требуются при использовании линейных датчиков, так как они органично вписываются в систему декартовых координат и работают совершенно синхронно с системой развертки изображения на экране.
Конвертор изображения представляет собой устройство, состоящее из большого количества узлов с многочисленными связями. Поэтому рассмотрим его по частям, причем в основном уделим внимание особенностям, связанным с применением датчиков для углового сканирования. На рис.4 показана часть структурной схемы, в которой отражена адресация памяти, преобразование координат и вычисление коэффициентов интерполяции.
Рисунок 3. Формирователь адресов памяти и преобразователь координат.
Рассмотрим, как происходит формирование адресов памяти и преобразование координат при использовании секторного механического датчика. Запись в буферное ОЗУ производится под управлением счетчиков СТr и СТj.
Допустим, что число отсчетов по глубине равно 512, а по углу – 256. Тогда счетчик СТ должен быть 9-разрядным, а СТj - 8-разрядным. Кроме того, счетчик СТj должен быть реверсивным. Его направление счета переключается специальным сигналом DIR, указывающим направление движения ПЭП (например, DIR = 1 – прямой ход, а DIR = 0 – обратный). Этот сигнал поступает от системы управления. Счетчик СТ тактируется импульсом «Запуск», поступающим от блока управления секторным датчиком.
При этом счетчик формирует номер луча. Счетчик СТ тактируется импульсами WR, которые начинают поступать сразу после прихода сигнала «Запуск».
Счетчики СТХ и СТY поставляют адреса для ПЗУ ROM1, в котором хранятся значения и , и для экранного ОЗУ. Счетчик СТХ тактируется импульсами RD системы управления через схему И. Если формат изображения на экране равен 512512, то счетчики СТХ и СТY могут быть 9-разрядными.
Однако в данном случае СТY – 10-разрядный. Десятый разряд Q9 используется для блокировки элемента И после 512-го импульса на входе С. Все счетчики сбрасываются в ноль по сигналу «Кадр», означающего начало формирования кадра.
По адресам Х и Y ПЗУ ROM1 выставляет на выходе два двоичных числа, которые содержат целые и дробные значения и j. Например, под целую часть r может быть отведено 9 старших разрядов, а под дробную – 4-6 младших разрядов (это зависит от желаемой точности). Так как для интерполяции данных необходимо четыре отсчета в полярной системе координат, то кроме адресов и требуются еще адреса r + 1 и j + 1. Они формируются с помощью сумматоров (инкременторов) «+1», которые представляют собой отдельные микросхемы. Дробные части и Dj служат адресами для ПЗУ ROM2, по которым на его выходы вызываются коэффициенты интерполяции.
Не все поле из 512512 пикселов будет занято секторным изображением. Для гашения изображения в соответствующих местах экрана на четырех выходах ROM1 при определенных сочетаниях адресов и формируются специальные импульсы гашения. Полученные таким образом адреса r, j, r + 1 j + 1 и коэффициенты интерполяции используются для управления блоком интерполяции, который рассмотрим в виде отдельной структурной схемы (рис.4).
Этот блок состоит из четырех идентичных каналов, в каждом из которых содержится два ОЗУ RAM1 и RAM2 с одинаковым объемом памяти. Таким образом, общий объем буферной памяти равен 8-кратному объему, необходимому для записи одного кадра.
Такое решение объясняется, во-первых, принятым принципом записи –считывания (в одно ОЗУ идет запись данных АЦП, из другого – считывание в экранное ОЗУ) и, во-вторых, необходимостью одновременного доступа к данным четырех точек полярной системы. Вариант использования только одной пары ОЗУ потребовал бы разделения доступа по времени и применения сверхбыстродействующих микросхем, что, впрочем, вряд ли помогло решить проблему.
Рассмотрим работу одного канала (первого) интерполятора. Он состоит из двух половин, которые работают в инверсных режимах, задаваемых сигналом DIR. В одну из половин записываются данные от АЦП, а из другой данные считываются для интерполяции. Допустим, что действует сигнал DIR, соответствующий прямому ходу (DIR =1). Мультиплексор MS1 при этом включен на пропускание адреса Аr,jRD
.
Рисунок 4. Блок интерполятора.
Он поступает на адресные входы RAM1. Схема И1 не пропускает сигнал WR и тем самым переводит RAM1 в режим чтения. Регистр RG1 находится в третьем состоянии, а регистр RG2 активизирован и фиксирует данные, считанные из RAM1 по адресам Аr,jRD
и передает их на вход перемножителя.
Мультиплексор MS2 включен на пропускание адреса Аr,jWR
, который поступает на адресные входы RAM2. Схема И2 разрешает прохождение сигнала WR, управляющего записью в RAM2. Регистр RG3 фиксирует данные АЦП, которые передаются на вход данных RAM2. Регистр RG4 находится в третьем состоянии. При действии сигнала DIR, соответствующего обратному ходу (DIR = 0), функции половин канала интерполятора становятся инверсными.
Работа остальных каналов интерполятора протекает аналогично. Отличия состоят в подаче других адресов чтения, коэффициентов интерполяции и сигналов гашения.
На рис.4 указаны только эти отличия. Результаты преобразования отдельных каналов суммируются, и окончательный результат интерполяции поступает на экранное ОЗУ, куда он записывается по тем же адресам X,YWR
, которые использовались для преобразования координат. Таким образом, произошел переход от эхо-изображения в полярной системе координат, которое получается при угловом сканировании, к прямоугольной системе координат, в которой строится изображение на экране монитора.