3.6 Web-камера Logitech QuickCam Pro
Web-камера Logitech QuickCam Pro (рис. 6, [20]) в основном предназначена для организации видеоконференций с использованием локальной сети или сети Интернет. Эта камера построена на базе цветной матрицы ПЗС с размерами 640х480 пикселей и рассчитана на подключение к ПК через интерфейс USB. Хотя пропускная способность шины USB недостаточна для использования в СТЗ реального времени, камеры рассматриваемого класса могут быть интересны как недорогое устройство для получения цветных изображений малого разрешения.
Рис. 6. Web-камера Logitech QuickCam Pro 3000
Шина USB имеет пропускную способность 12 Мбит/с. Поэтому для передачи зрительных данных в ПК приходится выполнять сжатие. Оно выполняется аппаратно USB-контроллером, встроенным в Web-камеру [24]. На ПК с процессором Celeron-600 МГц удается обеспечить передачу зрительных данных со скоростью 10-15 кадров/с при разрешении 640×480 и со скоростью 30 кадров/с при разрешении 320×240 пикселей. Для программного доступа к Web-камере приходится пользоваться интерфейсом VFW. Обеспечивается ввод только цветных изображений. Стабильность ввода зависит от базового процессора (рис. 7, 8): на AMD-К6-2 500 МГц практически 50% кадров теряются за счет времени, необходимого на распаковку изображений.
Время ввода 100 кадров с помощью Logitech QuickCam Pro
(горизонтальная ось – порядковый номер кадра, вертикальная – время ввода в мс)
|
|
Рис. 7. ПК с процессором Celeron 600 МГц.
Среднее время ввода кадра: 32,9 мс
С.к.о.: 7,2 мс
|
Рис. 8. ПК с процессором AMD K6-2 500 МГц.
Среднее время ввода кадра: 36,2 мс
С.к.о.: 27,8 мс
|
3.7 Устройство The Imaging Source DFG 1394
Стандарт IEEE-1394 (FireWire) определяет высокопроизводительную последовательную шину, позволяющую объединять аппаратные и программные средства для передачи потоков данных со скоростью до 400 Мбит/с [25]. Связь между устройствами с интерфейсом IEEE-1394 может включаться и выключаться непосредственно на время их работы без отключения питания и перезагрузки.
Пропускная способность новой версии шины USB 2.0 сравнима с IEEE-1394 – обеспечивается передача данных со скоростью до 480 Мбит/с. Стандарт IEEE-1394 по сравнению с USB 2.0 предпочтителен для задач ввода зрительных данных благодаря возможности синхронной передачи данных.
Распространение интерфейса IEEE-1394 приводит к постепенному снижению необходимости использования фреймграбберов как отдельных устройств для ввода зрительных данных, передаваемых в форме стандартного телевизионного сигнала. Использование фреймграбберов в виде плат стандарта PCMCIA в компактной компоновке СТЗ на базе ноутбуков сопровождалось рядом сложностей [17]:
обеспечивалась низкая кадровая частота или малое разрешение;
фреймграбберы PCMCIA имели ненадежные входные разъемы;
фреймграбберы PCMCIA снабжались специфическими программными интерфейсами.
Для преодоления указанных недостатков компанией The Imaging Source было разработано устройство DFG-1394 [17], предназначенное для преобразования стандартного телевизионного сигнала в неупакованные данные изображений для передачи через шину IEEE-1394. Это устройство (рис. 9, 10) рассчитано на шину с пропускной способностью 400 Мбит/с. DFG-1394 имеет коммутатор с тремя видеовходами (два композитных и один S-VHS).
|
|
Рис. 9. Устройство DFG 1394
|
Рис. 10. Аппаратное обеспечение СТЗ на базе ноутбука и устройства DFG 1394
|
Передача данных в полном разрешении PAL/NTSC и с кадровой частотой телевизионного сигнала реализовано в устройстве DFG-1394 аппаратно. Ввод зрительных данных выполняется по следующей схеме: аналоговый телевизионный сигнал через видеокоммутатор поступает на АЦП. Затем выполняется цветовое преобразование для формирования изображения программно заданного формата, масштабирование и преобразование в данные для шины IEEE-1394.
В качестве программного интерфейса предлагается "универсальный" элемент управления ActiveX, рассчитанный на получение изображений от фреймграбберов PCI, камер USB и FireWire-устройств.
4. Методика тестирования программно-аппаратных средств для систем технического зрения
Для тестирования УВЗД применительно к задаче построения СТЗ реального времени можно предложить три группы тестов: оценка форматов вводимых изображений; оценка стабильности ввода изображений и оценка программной поддержки.
УВЗД с цифровым выходом (USB-камеры, FireWire-устройства) в качестве форматов вводимых изображений могут поддерживать цветные (RGB- и Y/C) и полутоновые изображения различных разрешений и с различной глубиной цвета. УВЗД на основе стандартного телевизионного сигнала обычно генерируют цифровые изображения с аналогичными характеристиками, но для таких УВЗД также необходимо оценить типы изображений, которое устройство способно выделить в аналоговом телевизионном сигнале. Т.о., для оценки форматов вводимых изображений целесообразно получить следующие характеристики УВЗД:
сколько видеовходов имеет УВЗД;
сколько видеовходов используются для одновременного ввода изображений;
если УВЗД работает с телевизионным сигналом, обеспечивается ли ввод полукадров заданной четности или только полных кадров;
какие форматы цифровых изображений генерирует устройство и есть ли в перечне форматов такой, который требуется для разрабатываемой СТЗ.
Стабильность ввода изображений в процессе функционирования СТЗ зависит от нескольких факторов: стабильность функционирования аппаратной части УВЗД; устойчивость взаимодействия УВЗД и его драйвера в операционной системе; стабильность обработки данных от драйвера на уровне приложения (т.е. программного обеспечения СТЗ). Оценка стабильности ввода изображений может быть выполнена с помощью каркаса СТЗ, имитирующего ввод и обработку изображений с засечкой временных интервалов, требующихся для выполнения этих операций. В качестве характеристик, которые желательно получить в тестах этой группы, можно перечислить следующие:
Каким образом реализовано сохранение цифрового изображения – в собственном буфере УВЗД или непосредственно в оперативной памяти ПК. Если изображение передается непосредственно в оперативную память, задействован ли при этом центральный процессор, если изображение хранится в буфере УВЗД – допускает ли устройство чтение изображения во время ввода очередного кадра/полукадра.
Какой режим ввода изображений поддерживает УВЗД – синхронный или асинхронный (по отношению к программному процессу или потоку, выполняющему ввод).
Сколько времени (в среднем) требуется на ввод одного изображения, и, если для этого требуется выполнить несколько обращений к драйверу УВЗД, каково среднее время на выполнение каждого обращения. Эти результаты могут быть представлены в графической форме для последовательности из 100-200 изображений с оценкой среднего времени и с.к.о. на выполнение каждой операции. Данные измерения можно проводить в двух режимах – в пустом цикле ввода изображений, а также в приложении с двумя потоками, один из которых имитирует обработку изображений, а второй выполняет асинхронный ввод изображений.
Программная поддержка УВЗД может быть охарактеризована по следующим параметрам:
Какие базовые операционные системы поддерживаются.
Есть ли документация на программный интерфейс с аппаратной частью УВЗД для реализации собственных драйверов.
Если изображения буферизуются в драйвере УВЗД, не возникает ли дублирования изображений при потоковом вводе?
Обеспечивается ли передача прерывания, сигнализирующего об изменении состояния УВЗД (например, о завершении или начале съема кадр/полукадра) на уровень приложения?
5. Заключение
Описанные в работе программно-аппаратные средства для ввода зрительных данных в память персонального компьютера могут быть использованы при разработке систем технического зрения реального времени на базе IBM-совместимых ПК.
Для обеспечения режима реального времени необходимо учитывать особенности программной поддержки УВЗД. В среде ОС Windows выделяются следующие типы программных компонент для интерфейса приложений с аппаратными средствами ввода зрительных данных: SDK на основе DLL, SDK на основе объектов ActiveX, драйверы VFW, драйверы WDM, фильтры видеозахвата и кодеки потоковых видеоданных. Наибольшую программно-аппаратную независимость, как правило, разработчик СТЗ может обеспечить с помощью SDK на основе DLL, но при работе с УВЗД массового распространения для мультимедиа-приложений (например, Web-камерами), этот вариант программной поддержки может быть недоступен.
При проектировании алгоритма обработки зрительных данных и разработке прототипа СТЗ могут быть использованы библиотеки алгоритмов обработки изображений и пакеты для интерактивной обработки изображений. В работе рассмотрен ряд программных продуктов обеих категорий.
В аппаратном обеспечении СТЗ основное место занимают устройства ввода зрительных данных. В настоящее время выделяется две группы УВЗД: устройства, работающие с видеосигналом телевизионного стандарта, и комбинированные устройства источник зрительных данных+АЦП для подключения к цифровым последовательным шинам USB и IEEE-1394 (FireWire). Для СТЗ реального времени применительно к УВЗД можно выделить два основных требования – возможность передачи цифровых изображений непосредственно в оперативную память без загрузки центрального процессора и генерирование прерываний для извещения приложений о завершении операций ввода. Для УВЗД, работающих со стандартным телевизионным сигналом, дополнительно предъявляется требования доступа к полукадрам заданной четности.
Литература
About the DirectShow Filter Graph Editor. Microsoft Corp., 2000. http:\\www.microsoft.com\Developer\PRODINFO\directx\dxm\help\ds\Oview\About_DS_Filter_Graph_Editor.htm
ActivVision Tools. MVTec Software GmbH, Munich, Germany, 2001. http:\\www.activ-vision-tools.com
Adobe Premiere 4.0. User Guide. Adobe Systems Inc., 1994. 321 p.
AdOculos 4.0, DBS GmbH, Bremen, Germany. 1998. http:\\www.dbs-imaging.com
Bt878/Bt879 Single-Chip Video and Broadcast Audio. Rockwell Semiconductor Systems, 1997. 172 pg. http:\\www.nb.rockwell.com
Capture SDKs for Grabbers. The Imaging Source Europe GmbH, 2001. http:\\www.theimagingsource.com\prod\soft\sdkcapintro_capturesdkgrab.htm
DFG/LC1 & DFG/LC2 Frame Grabber. Users Manual. The Imaging Source Europe GmbH, Bremen, Germany. 2000. 97 pg.
Direct Show Tutorial. The Imaging Source Europe GmbH, 2001. http:\\www.theimagingsource.com\prod\soft\fpics\fpics_tutdirectshow.htm
FlyVideo TV\Video Capture Card. User's Manual, Animation Technologies Inc., 2000. http:\\www.lifeview.com
HALCON Version 6.0 User's Manual. MVTec Software GmbH, Munich, Germany, 2000. http:\\www.mvtec.com\halcon
Intel Image Processing Library. Reference Manual. Intel Corp., USA, 1999, 286 pg. http:\\developer.intel.com
Kolnick F., The QNX 4 Real-time Operating System. Basis Computer Systems Inc, Canada, 1998. 936 pg.
LEADTOOLS 12 API, LEAD Technologies Inc., Charlotte, USA, 2000. 1558 pg. http:\\www.leadtools.com
Matrox Inspector 3.1. Matrox Electronic Systems Ltd., http:\\www.matrox.com\imaging\products\inspector\b_inspector.pdf
Matrox Meteor-II. Matrox Electronic Systems Ltd., http:\\www.matrox.com\imaging
MIL-Lite version 3.1. User Guide and Command Reference. Matrox Electronic Systems Ltd., 1996
Mobile Imaging. The Imaging Source Europe GmbH, 2002. http:\\www.1394imaging.com\resources\articles\mobile_imaging\index.htm
OpenCV Library User Guide. Intel Research Lab, 2000, 420 pg.
Pisoft Image Framework 8.0, Институт информационных технологий, Лаборатория компьютерного зрения, Москва, 2000. http:\\www.iitvision.ru\pisoft.htm
QuickCam Pro 3000. Logitech Inc., USA. http:\\www.logitech.com
Video Capture Technologies, Microsoft Corporation, 2001. http:\\www.microsoft.com\hwdev\tech\stream\vidcap\default.asp
WDM Video Capture Overview. MSDN Library, Microsoft Corporation, 1998.
What are Capture SDKs? The Imaging Source Europe GmbH, 2001. http:\\www.theimagingsource.com\prod\soft\soft_bg_capsdk.htm
Пахомов С., Самохин С. Web-камеры. КомпьютерПресс, №11, 2001.
Татарников О. Интерфейс IEEE-1394. Обзор современных плат. КомпьютерПресс, №7, 2001.
Трельсен Э. Модель COM и применение ATL 3.0. СПб.: БХВ-Петербург, 2001. 928 с.
|