Современная элементная база и программное обеспечение для построения цифровых сетевых видеокамер
 

В. Ломакин

Современная элементная база и программное обеспечение для построения цифровых сетевых видеокамер

На сегодняшний день, на Российском рынке наблюдается активное развитие видеосистем безопасности. Современные видеосистемы могут содержать до сотни видеокамер и выполнять множество задач по обеспечению безопасности и мониторингу. При этом зачастую возникает потребность одновременного использования системы видеоаблюдения и просмтора одних и тех же видеоизображений сразу несколькими операторами. Возникает необходимость обеспечить хранение и передачу видеоинформации внутри видеосистемы.

Обычные видеосистемы (рис. 1), основанные на аналоговых видеокамерах с матричными видеокоммутаторами, не обеспечивают выполнение вышеперечисленных требований.

Система видеонаблюдения на основе аналоговых видеокамер
Рисунок 1. Система видеонаблюдения на основе аналоговых видеокамер

Для выполнения указанных требований в современных видеосистемах безопасности их необходимо интегрировать в общую информационную сеть. Сетевая структура систем видеонаблюдения, приведенная на рис. 2, может в полной мере обеспечить требуемую функциональность.

Система видеонаблюдения на основе цифровых сетевых видеокамер
Рисунок 2. Система видеонаблюдения на основе цифровых сетевых видеокамер

Активное развитие технологии "интеллектуального здания" также обуславливает потребность в компактных видеокамерах, которые бы могли легко интегрироваться в общую информационную структуру интеллектуального здания.

Поэтому реализация цифровой сетевой видеокамеры является актуальной задачей.

В процессе работы видеосистемы на основе цифровой сетевой видеокамеры изображение захватывается, затем сжимается в соответствии с определенным форматом и пересылается по локальной или глобальной сети (например, с использованием стека протоколов TCP/IP или с использованием специально разработанных протоколов).

Первые появившиеся на рынке цифровые web-видеокамеры для систем видеонаблюдения были своего рода "приложением" к персональному компьютеру. Сама видеокамера, по сути, только выполняла функцию захвата изображения, а сжатие видеоизображения и передачу видео в сеть выполнял персональный компьютер. Однако система с персональным компьютером получается достаточно громоздкой и дорогостоящей, и во многих случаях в системах видеонаблюдения применение такого решения невозможно.

Интеллектуальные сетевые цифровые видеокамеры на сегодняшний момент являются наиболее оптимальным решением для систем видеонаблюдения. Решение получается достаточно компактным и недорогим. Для сравнения мы приводим архитектуру системы на базе дешевой web-камеры и интеллектуальной сетевой видеокамеры (рис. 3).

Сетевая камера и Web-камера
Рисунок 3. Сетевая камера и Web-камера

Рассмотрим более подробно внутреннюю структуру интеллектуальной сетевой видеокамеры, которая приведена на рис. 4.

Внутренняя структура цифровой сетевой видеокамеры
Рисунок 4. Внутренняя структура цифровой сетевой видеокамеры

В приведенном обзоре мы не рассматриваем оптическую часть видеокамеры, являющейся, безусловно, важным элементом. Основной темой данного обзора будет именно электроника и соответствующее ей программное обеспечение для цифровых сетевых видеокамер.

CMOS-сенсор

Несомненно, одним из важнейших элементов видеокамеры является датчик видеоизображения.

В видеокамерах для систем видеонаблюдения в качестве датчика изображения обычно используют CMOS-сенсор. Качества итоговой картинки, которого позволяет добиться CMOS-сенсор, вполне достаточно для обычных систем видеонаблюдения, поэтому далее мы более подробно рассмотрим этот вариант, хотя стоит иметь в виду, что если нужно обеспечить более высокое качество итоговой картинки, то в качестве датчика видеоизображения следует применить ПЗС-матрицу.

Наиболее перспективными компонентами для обычной цифровой видеокамеры систем видеонаблюдения являются, по нашему мнению, CMOS-сенсоры производства компании IC-MEDIA.

Для систем видеонаблюдения подходят микросхемы CMOS-сенсоров ICM202 (поддерживают разрешение CIF) и ICM205 (поддерживают разрешение VGA).

Сенсор ICM202 содержит массив 352x288 (101376) активных пикселей и используется с оптической системой 1/7".

Сенсор ICM205 содержит массив 640x480 (307200) активных пикселей и используется с оптической системой 1/4". В остальном параметры сенсоров ICM202 и ICM205 идентичны.

Данные сенсоры имеют максимальную производительность 30 кадров в секунду в прогрессивном способе.

Каждый пиксель покрывается цветовым фильтром, который формирует так называемую Bayer-структуру. Коррелированная двойная выборка выполняется внутренними АЦП и таймерной схемой. В зависимости от освещенности места съемки, исходные данные усиливаются с соответствующим либо одинаковым коэффициентом для всех пикселей или каждые 4 пикселя Вауег-структуры получают свой коэффициент передачи. Эта процедура выполняется или встроенной схемой автоматического контроля экспозиции, или с помощью внешнего процессора через последовательную шину управления. После этого поток данных обрабатывается в модуле цветной интерполяции, в результате чего каждому пикселю соответствует набор RGB-значений.

Для коррекции и улучшения цвета сенсор имеет встроенную схему автоматического баланса белого. Пользователь может выполнять баланс белого с помощью внешнего процессора через последовательную шину управления. Насыщенность цвета может управляться путем программирования через последовательную шину, если пользователя не удовлетворяют настройки по умолчанию.

В завершающей стадии также можно выполнить гамма-коррекцию как дополнение к значениям по умолчанию. Выходной формат может быть 8/16-бит YCbCr, 24-бит, 16-бит RGB и 8-бит поток необработанных данных. Выходные данные поступают к цифровому сигнальному процессору или специализированной схеме сжатия или схеме обработки изображения.

Выбор элементной базы для выполнения последующей обработки видео и передачи по сети является по сути главным этапом в процессе построения цифровой сетевой видеокамеры.

При выборе элементной базы следует учитывать требования к формату видеосигнала.

Для систем видеонаблюдения целесообразно использовать видеосигнал в формате М-JPEG (Motion/Moving JPEG).

Формат М-JPEG представляет собой последовательность изображений со сжатием JPEG.

Программное обеспечение, необходимое для просмотра видеоизображения в формате M-JPEG, — это обычный web-браузер (с встроенной поддержкой Java applet).

Разрешения изображения CIF 352x288 или VGA 640x480 также вполне достаточно для систем видеонаблюдения.

При выборе процессорного ядра, на которое будет возложена задача формирования цифрового видео в формате M-JPEG и обеспечение последующей передачи видеоинформации по сети (кроме технических параметров, необходимых для реализации данных задач), необходимо учитывать итоговую стоимость полного решения (Bill Of Material). Вопрос стоимости разрабатываемой камеры является одним из основных, так как конкуренция среди производителей цифровых камер для систем видеонаблюдения достаточно серьезная.

С нашей точки зрения, одним из наиболее оптимальных решений в данном случае является применение 32-разрядных RISC+DSP-микропроцессоров семейства E1-16/32XS фирмы Hyperstone.

RISC+DSP - микропроцессоры HYPERSTONE

Главные достоинства микропроцессоров Hyperstone, которые определяют успех именно в данном применении, — это унификация в одном ядре RISC- и DSP-технологий и очень доступная цена.

Многие ведущие производители микропроцессоров идут по пути объединения RISC- и DSP-технологий на одном кристалле, но решение, которое предлагает Hyperstone, является одним из наиболее успешных.

Для RISC-микропроцессоров были характерны:

  • архитектура загрузка/хранение;
  • регистровая ориентация;
  • кэш инструкций и кэш данных;
  • простые инструкции;
  • блоки общего применения;
  • высокая тактовая частота;
  • выполнение задач общего применения.

Для цифровых сигнальных процессоров были характерны:

  • специализированная архитектура;
  • ориентация на работу с памятью;
  • ОЗУ и буфер инструкций;
  • сложные инструкции;
  • специальные блоки;
  • высокая частота выборки;
  • специальные области применения.

Компания Hyperstone, взяв за основу архитектуру RISC-процессора, как бы "наложила" на эту архитектуру DSP-свойства, в результате получилась структура, приведенная на рис. 5.

Архитектура процессоров E1-16/32XS Hyperstone
Рисунок 5. Архитектура процессоров E1-16/32XS Hyperstone

Микропроцессоры E1-16/32XS имеют следующие отличительные особенности:

  • тактовая частота 128 МГц @ 2,5 В;
  • производительность: 128 MIPS, 512 MOPS;
  • 1 k CFFT выполняется менее чем за 0,36 мс;
  • ток в режиме Power-Down <0,5 мА @ 2,5 В;
  • ток в режиме Sleep Mode <50 мкА;
  • SDRAM-интерфейс не требует согласующих элементов;
  • 16 Кб встроенной памяти SRAM;
  • <155мВт@ 128 МГц;
  • >1000MIPS/Bt;
  • размер кристалла 1,95x1,95 мм (0,25 мкм 4 ML CMOS);
  • типы корпусов 144 pin LQFP, 100 pin LQFP;
  • низкая цена (около $7).

Ресурсов и производительности процессоров вполне достаточно для формирования M-JPEG-видеосигнала с разрешением CIF или VGA с выходной последовательностью 8... 10 кадров в секунду, что вполне приемлемо для системы видеонаблюдения.

Для согласования работы процессора и CMOS-сенсора применяется микросхема памяти FIFO, которая устанавливается между сенсором и процессором (рис. 4).

Для работы цифровой видеокамеры в сети (в данном случае рассмотрим сеть TCP/IP как наиболее популярную) необходим внешний сетевой Ethernet-контроллер (MAC+PHY), который, взаимодействуя с центральным процессором Hyperstone E-16/32XS, будет обеспечивать обмен информации с сетью.

В качестве Ethernet-контроллера можно использовать DP83816 фирмы National Semiconductor или LAN91C111 фирмы SMSC.

Часто цифровые видеокамеры, которые применяются в системах видеонаблюдения, оснащаются RS232- или RS485-интерфейсом, так как эти интерфейсы широко распространены в системах безопасности.

В этом общем случае структурная схема видеокамеры приобретает вид, показанный на рис. 6.

Обобщенная внутренняя структура сетевой видеокамеры
Рисунок 6. Обобщенная внутренняя структура сетевой видеокамеры

Для реализации последовательных интерфейсов RS232/RS485 необходимы внешние микросхемы UART (можно использовать микросхемы серии 16С550 фирм National Semiconductor и Texas Instruments) и соответствующего драйвера линии (МАХ202 для RS232, МАХ485 для RS485, или их аналоги).

Таким образом, мы рассмотрели аппаратный состав цифровой сетевой видеокамеры.

Теперь необходимо перейти к аспекту программного обеспечения цифровых сетевых видеокамер.

Программное обеспечение для цифровой сетевой видеокамеры

Итак, мы выяснили, что для цифровых сетевых видеокамер подходящим решением являются 32-разрядные RISC+ DSP-процессоры Hyperstone. Для таких процессоров грамотно реализованная поддержка со стороны программного обеспечения имеет решающее значение. Время разработки проекта (Time to market) определяется тем, насколько удобными и эффективными программными средствами разработки поддержан процессор. Это прежде всего компилятор, ассемблер, линкер, отладчик, библиотеки основных функций, операционные системы, готовые программные реализации стандартных протоколов и решений.

Применительно к сетевой цифровой видеокамере, важна программная реализация стека сетевых протоколов TCP/ IP и программная реализация JPEG-сжа-тия изображения, удобная операционная система.

Операционная система

Немецкая компания SND, которая специализируется на разработке программного обеспечения для сетевых встраиваемых устройств, разработала операционную систему HyNetOS для процессоров Е-16/32 XS фирмы Hyperstone. Среди особенностей HyNetOS можно выделить следующие:

  • многозадачная операционная система реального времени;
  • гибкая модульная структура;
  • полностью асинхронная структура, очень эффективная;
  • для операционной системы HyNetOS требуется очень маленький объем памяти (для сравнения, HyNetOS занимает в 10 раз меньше памяти, чем Embedded Linux со схожей функциональностью);
  • поддержка приложений на C/C++ и Java.

Структура NyNetOS приведена на рис. 7.

Структура операционной системы HyNetO
Рисунок 7. Структура операционной системы HyNetO

Пользователь получает уже реализованный стек протоколов TCP/IP, что позволяет значительно сократить время разработки и эффективно интегрировать проектируемые устройства в локальную или глобальную сеть.

Операционная система NyNetOS состоит из основной части и модулей расширения. Пользователь конфигурирует своё решение, используя только те программные модули, которые будут задействованы.

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

Итак, мы выяснили, что для реализации сетевой видеокамеры с сетевым Ethernet-интерфейсом можно использовать основную версию HyNetOS и расширение ITarget Server. Сжатие изображения к формату JPEG выполняется программно, с помощью специализированных программных библиотек процессора Hyperstone.

Структура программного обеспечения цифровой сетевой видеокамеры показана на рис. 8.

Программное обеспечения сетевой цифровой видеокамеры
Рисунок 8. Программное обеспечения сетевой цифровой видеокамеры

Приоритеты программных модулей и управление потоком данных показаны на рис. 9.

Системные приоритеты и управление потоком данных
Рисунок 9. Системные приоритеты и управление потоком данных

Безусловно, применение программных средств SND при создании цифровой видеокамеры на базе Hyperstone — это очень эффективное решение, позволяющее существенно сократить стадию разработки проекта, но данное решение не является единственным.

Компания Hyperstone предоставляет разработчикам все необходимые аппаратные и программные инструменты для создания проектов. Это оценочная плата с программными средствами — редактор, компилятор С, ассемблер, линкер, библиотеки DSP-функций, ядро реального времени hyRTK.

Кроме того, разработчики имеют возможность использовать операционную систему hyLinux.

В итоге разработчик может создать свой проект "с нуля" или выбрать операционную систему HyNetOS и готовое программное решение, реализующее алгоритм работы сетевой камеры. Остается только адаптировать данное решение для своей конкретной прикладной задачи, не тратя много времени на самостоятельную программную реализацию сетевых протоколов и алгоритмов обработки видео. При этом следует учитывать, что итоговая стоимость видеокамеры, кроме стоимости электронных компонентов, будет включать стоимость лицензии на программное обеспечение HyNetOS.

Важно отметить очень грамотную политику, которую проводит компания SND, устанавливая невысокие цены на лицензии за программное обеспечение.

Мы рассмотрели аппаратный состав и программное обеспечение цифровой сетевой видеокамеры на основе процессора Hyperstone и программного обеспечения HyNetOS. В вопросе построения цифровой сетевой видеокамеры трудно дать "универсальное" решение на все случаи жизни.

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

Структурная схема, приведенная на рис. 4, позволяет получить недорогую видеокамеру, обеспечивающую на выходе MJPEG цифровое видео с 8... 10 кадрами в секунду и с разрешением CIF или VGA. С дальнейшим развитием программного обеспечения (операционной системы HyNetOS) количество кадров в секунду будет увеличиваться, но если разработчик хочет получить на выходе "реальное видео" с 30 кадрами в секунду, то для этого необходимо освободить центральный процессор от задачи сжатия видео, применив для этой цели внешнюю схему, выполняющую JPEG-сжатие. Аналогично можно поступить, если надо получить изображения среднего или высокого качества в форматах MPEG4, MPEG2, Н-261/263.

Добавив в рассмотренную структуру на рис. 4 внешний MPEG-декодер (например, WIS GO7007), получим видеокамеру, удовлетворяющую повышенным требованиям. Новая структура приведена на рис. 10.

IMPEG-видеокамера
Рисунок 10. IMPEG-видеокамера

С другой стороны, разработчики современной электроники ищут варианты, позволяющие реализовать как можно больше функций на одном кристалле. В этой связи стоит отметить, что фирма Hyperstone объявила о выпуске процессора HyNet32XS, основанного на ядре Е1-16/32XS, но с повышенной производительностью и с интегрированными на кристалл мощными периферийными модулями. Структура процессора HyNet32XS приведена на рис. 11.

 Процессор NyNet32XS
Рисунок 11. Процессор NyNet32XS

Построение сетевой видеокамеры на основе HyNet32XS позволит исключить из схемы внешние компоненты Ethernet-контроллера и UART-микросхемы, так как эти функции выполняют соответствующие периферийные модули, а заявленная производительность позволяет говорить о возможности программной реализации MPEG4.

Начало серийного производства намечено HyNet32XS на I квартал 2004 года, но благодаря тому, что ядро процессора HyNet32XS совместимо с ядром E1-16/32XS, все существующие и развивающие проекты могут быть без труда перенесены на новый процессор.

Для Hyperstone видеоприложения являются одним из приоритетных направлений, и компания уже анонсировала ряд специализированных однокристальных решений, которые должны стать достаточно интересными для разработчиков цифрового видео.

Комбинация аппаратных средств Hyperstone и программного обеспечения SND позволяет построить цифровую сетевую видеокамеру, отвечающую требованиям рынка.

 
Автор документа: Сергей Гаврилюк , http://www.gaw.ru"
Дата публикации: 08.08.2007
Дата редактирования: 08.08.2007
Кол-во просмотров 7642
 
 Все новости одной лентой