Подсистема ввода и вывода видеоинформации процессоров серии TMS320DM36X | Статья в журнале «Молодой ученый»

Авторы: ,

Рубрика: Технические науки

Опубликовано в Молодой учёный №35 (169) сентябрь 2017 г.

Дата публикации: 30.08.2017

Статья просмотрена: 59 раз

Библиографическое описание:

Беляев И. Д., Митрюхин М. В. Подсистема ввода и вывода видеоинформации процессоров серии TMS320DM36X // Молодой ученый. — 2017. — №35. — С. 3-7. — URL https://moluch.ru/archive/169/45510/ (дата обращения: 20.02.2019).



Серия TMS320DM36X включает в себя множество процессоров, наиболее известные из которых TMS320DM365, TMS320DM368 и TMS320DM369.

TMS320DM369 и TMS320DM368 полностью совместимы программно и аппаратно с TMS320DM365 и имеют улучшенные характеристики (частота работы основного ядра, разрешение видеопотока). TMS320DM369 содержит дополнительный третий сопроцессор фильтрации шумов [1].

На рисунке 1 представлена функциональная блок-схема процессора серии TMS320DM36X — TMS320DM368. Подсистема ввода и вывода видеоинформации данного процессора обеспечивает ввод одного канала видео и вывод одного канала.

Дальнейшее рассмотрение подсистемы обработки видео будет происходить на основе функциональной блок схемы процессора TMS320DM368.

Рис. 1. Функциональная блок- диаграмма процессора TMS320DM368

Подсистема обработки видео состоит из следующих частей:

  1. Video Processing Front-End;

– Image Sensor Interface;

– The Image Pipe Interface;

– Image Pipe;

– Face Detection Module;

  1. Video Processing Back–End;

– OnScreenDisplay;

– Video Encoder / Digital LCD Controller.

  1. Three-channel DAC.

VPSS — подсистема обработки видео (Video Processing Sub System), которая обеспечивает входной интерфейс (Video Processing Front End или VPFE) для внешних периферийных устройств обработки изображений, таких как датчики изображения, видеодекодеры, и т. д., а также выходной интерфейс (Video Processing Back End или VPBE) для устройств отображения, таких как аналоговые дисплеи SDTV или HDTV, цифровые ЖК-панели и т. д.

В дополнение к этим периферийным устройствам имеется набор общей буферной памяти и управления DMA для обеспечения эффективного использования DDR2 / mDDR. Общая логика (память буфера) является уникальным блоком, который адаптирован для бесперебойного ввода VPSS в систему обработки изображений (видео). Он действует как первичный источник или приемник ко всем модулям VPFE и VPBE, которые запрашивают или передают данные между VPSS и DDR [2].

Чтобы эффективно использовать внешнюю пропускную способность DDR2/mDDR, общая логика (память буферов) взаимодействует со всеми модулями VPFE и VPBE через шину шириной 128 бит.

Крайне важно, чтобы VPSS эффективно использовала пропускную способность DDR2 / mDDR из-за ее больших требований к пропускной способности и требований в реальном времени модулей VPSS. Поскольку возможно сконфигурировать модули VPSS таким образом, что пропускная способность DDR2 / mDDR будет превышена, то предоставляется набор регистров, доступных пользователю для контроля переполнений или сбоев при передаче данных [2].

Блок видеодекодера VPFE состоит из интерфейса источника изображения (ISIF), трансляции изображения (IPIPE), интерфейса трансляции изображения (IPIPEIF) и аппаратного механизма обнаружения лица.

Интерфейс источника изображения ISIF (Image Sensor Interface) отвечает за прием необработанных данных изображения / видео с датчика (CMOS или CCD). Кроме того, ISIF может принимать видеоданные YUV в многочисленных форматах, обычно с так называемых устройств-видеодекодеров [2].

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

– Поддержка различных форматов режима суммирования пикселей предоставляется через преобразователь данных ISIF, который преобразует любые форматы в формат Bayer. Максимальная ширина линии, поддерживаемая ISIF — 4736 пикселей.

– Генерирует сигналы синхронизации HD (Horizontal Definition) / VD (Vertical Definition) и идентификатор поля на внешний генератор синхронизации или может синхронизироваться с внешним генератором синхронизации.

– Поддержка до 32 тыс. пикселей (размер изображения) в горизонтальном и вертикальном направлениях.

– Поддержка тактовой частоты до 120 МГц.

– Поддержка стандартного формата ITU-R BT.656 / 1120.

– Поддержка формата YCbCr 422, 8- или 16-бит с дискретными сигналами HSYNC и VSYNC.

– Поддержка до 16-битного ввода.

– Поддержка преобразования цветового пространства.

– Поддержка цветового регулирования усиления и управления смещением уровня черного.

– Возможность управления выходом на DDR2 / mDDR через внешний сигнал разрешения записи.

– Поддержка сжатия от 12 бит до 8 бит DPCM(Дифференциальная импульсно-кодовая модуляция).

– Поддержка сжатия от 10 бит до 8 бит.

– Поддержка генерации вывода в диапазоне 16 бит, 12 бит и 8 бит

– Фильтр шума

– Улучшение 2D-края

Image Pipe (IPIPE) представляет собой программируемый аппаратный модуль обработки изображений, который генерирует данные изображения в форматах Y-Cb-Cr- 4:2:2 или Y-Cb-Cr-4:2:0 из необработанных данных CCD / CMOS. Средство масштабирования изображений также полностью интегрировано в этот модуль. IPIPE также может быть сконфигурирован для работы в режиме изменения размера, что позволяет изменять размер Y-Cb-Cr-4:2:2 или Y-Cb-Cr-4:2:0 без обработки каждого модуля в IPIPE [1]. IPIPE поддерживает следующие функции:

– 12-битная обработка изображений RAW или 16-битное изменение размера Y-Cb-Cr.

– Требуется не менее восьми пикселей для горизонтального гашения и четыре строки для вертикального гашения. В режиме однократного запуска требуется 16 линий гашения после области обработки.

– Максимальное горизонтальное и вертикальное смещение области обработки IPIPE от синхронного сигнала — 65534.

– Максимальная ширина ввода и вывода до 2176 пикселей в ширину (1088 для Resizer (модуль масштабирования)).

– Автоматическое зеркалирование пикселей / линий при выполнении обработки кромок, чтобы ширина и высота были постоянными.

– Преобразование данных 4: 4: 4 в формат 4: 2: 2 с помощью фильтрации низких частот по цветности и выборки вниз до Cb и Cr. (4: 4: 4 до 4: 2: 2).

– Программируемый фильтр с нисходящей или восходящей выборкой для горизонтального и вертикального направлений с диапазоном от 1 / 16x до 16x, при котором фильтр одновременно выводит два изображения с разным увеличением.

– Программируемая справочная таблица для улучшения границ яркости. Регулируемая яркость и контрастность для компонента Y.

– При хранении данных в SDRAM с IPIPE доступны разные форматы данных [YCbCr (4: 2: 2 или 4: 2: 0), RGB (32 бит / 16 бит), исходные данные].

– Переворачивание изображения по горизонтали и / или по вертикали.

IPIPEIF (The Image Pipe Interface) — это интерфейс для передачи данных и синхронизации для ISIF и IPIPE. Источник данных этого модуля: параллельный порт датчика, ISIF или SDRAM, и выбранные данные выводятся в ISIF и IPIPE. Этот модуль также выдает данные вычитания черного кадра (двухсторонние), которые генерируются путем вычитания данных SDRAM из параллельного порта датчика или данных ISIF и наоборот. В зависимости от выполняемых функций он может также перенастраивать временные характеристики HD (Horizontal Definition), VD (Vertical Definition) и PCLK (Peripheral Clock) для ввода в IPIPE и / или ISIF [1]. Интерфейс IPIPEIF поддерживает следующие функции:

– Вычитание темного кадра необработанного изображения, хранящегося в SDRAM, из изображения, поступающего из параллельного порта источника виедосигнала или ISIF.

– Разрядность данных источника виеосигнала — до 16 бит.

– Простая коррекция дефектов для вычитания дефектных пикселей.

– 8-разрядная, 12-разрядная распаковка 8-разрядных, 12-разрядных SDRAM-данных

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

– Высокий уровень обнаружения почти в 100 % при большинстве условий.

– Позволяет обнаруживать в разных направлениях — вверх, влево и вправо.

– Позволяет обнаруживать с вращением в плоскости (RIP) — ± 45 °, @ 0 ° / + 90 ° / -90 °.

– Позволяет обнаруживать при отклонении от плоскости (ROP).

– Горизонтальный (левая / правая) поворот: ± 60 °.

– Вертикальный (вверх / вниз) наклон: ± 30 °.

– Настраиваемый минимальный размер лица 20–40 пикселей.

– Настраиваемая область интереса во входном кадре.

– Настраиваемая начальная позиция во входном кадре.

– Поддерживает до 35 обнаружений лиц в одном кадре.

– Генерация прерываний для ARM с использованием мультиплексированного механизма прерывания видеопамяти (VPSS).

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

– Поддерживаемый размер входного файла (256X192).

– Формат ввода — это 8-битные данные.

Стоит также упомянуть о модуле H3A, который присутствует в TMS320DM369, но в TMS320DM368 отсутствует.

Данный модуль предназначен для поддержки контуров управления для автоматической фокусировки, автоматического баланса белого и автоматической экспозиции путем сбора показателей об изображениях / видеоданных. В модуле H3A есть 2 основных блока:

– Автофокус (AF)

– Автоэкспозиция (AE), Автоматический баланс белого (AWB)

Автофокус извлекает и фильтрует красные, зеленые и синие данные из входных изображений / видеоданных и обеспечивает либо накопление, либо пики данных в указанной области. Указанная область представляет собой двумерный блок данных и называется «paxel» для блока AF. Блок AE / AWB накапливает значения и проверяет насыщенные значения в дополнительной выборке видеоданных. В случае AE / AWB двумерный блок данных называется «window».

Таким образом, кроме ссылки на них разными именами, paxel и window — это, по сути, одно и то же. Однако число, размеры и начальное положение AF-пакетов и окон AE / AWB программируются отдельно. Модуль автофокусировки поддерживает следующие функции:

– Поддержка ввода с DDR2 / mDDR SDRAM (в дополнение к порту ISIF).

– Поддержка пикового режима в Paxel (Paxel определяется как двухмерный блок пикселей).

– Поддержка до 36 Paxels в горизонтальном направлении и до 128 Paxels в вертикальном направлении. Количество горизонтальных paxels ограничено размером памяти (и стоимостью), а вертикальное число paxels — нет. Таким образом, количество paxels в горизонтальном направлении меньше, чем количество paxels в вертикальном направлении.

– Программируемая ширина и высота для Paxel. Все paxels в рамке будут иметь одинаковый размер.

– Программируемое красное, зеленое и синее положение в матрице 2x2.

– Отдельный горизонтальный старт для paxel и фильтрации.

– Программируемый шаг вертикальной линии в пределах paxel.

Модули Автоэкспозиция (AE), Автоматический баланс белого (AWB) поддерживают следующие функции:

– Поддержка ввода с DDR2 / mDDR SDRAM (в дополнение к порту ISIF)

– Накапливать обрезанные пиксели вместе со всеми не насыщенными пикселями.

– Поддержка до 36 горизонтальных окон.

– Поддержка до 128 вертикальных окон.

– Программируемая ширина и высота для окон. Все окна в кадре будут одинакового размера.

– Отдельная вертикальная координата и высота для черного ряда paxels, который отличается от остальных цветных пакселов.

– Программируемые горизонтальные точки выборки в окне.

– Программируемые вертикальные точки выборки в окне.

Модуль вывода видеоизображения VPBE состоит из модуля экранного дисплея (OSD) и видеокодера / цифрового контроллера LCD (VENC / DLCD).

Модуль экранного дисплея (On Screen Display) — основная функция модуля OSD заключается в сборе и смешивании видеоданных и данных отображения / растрового изображения, а затем передачи их в Video Encoder (VENC) в формате Y-Cb-Cr. Смешивание видеоданных и данных отображения необходимо для наложения текста на видео. Данные видео и дисплея считываются из внешней памяти DDR2 / mDDR. OSD программируется через регистры управления и параметров. Поддерживаемые функции экранного дисплея:

– Поддержка двух видеоокон и двух OSD растровых окон, которые могут отображаться одновременно.

– Видео-окна поддерживают данные Y-Cb-Cr в 4:2:2 и 4:2:0 форматах из внешней памяти, с возможностью обмена порядком компонента Cb-Cr в 32-битном слове.

– OSD растровые окна поддерживают = индекс ширины 4/8 бит в цветовой палитре

– Кроме того, одно окно растрового изображения OSD может быть настроено на одно из следующего:

1) YUV 4:2:2 (то же, что и видеоданные).

2) Данные формата RGB в 16-битном режиме (R = 5 бит, G = 6 бит, B = 5 бит)

3) 24-битный режим (каждый R / G / B = 8 бит) с смешиванием уровня пикселя с окнами видео.

– Программируемая цветовая палитра с возможностью выбора между таблицей RAM / ROM с поддержкой 256 цветов.

– Поддержка двух таблиц ROM, одна из которых может быть выбрана в определенное время.

– Отдельное управление включением / отключением для каждого окна.

– Программируемые координаты ширины, высоты и основания для каждого окна.

– Поддержка масштабирования x2 и x4 в горизонтальном и вертикальном направлениях.

– Возможность изменения размера с VGA на NTSC / PAL (от 640x480 до 720x576) для OSD и видеоокна.

В OSD-модуле существуют следующие ограничения:

– Если фильтр вертикального изменения размера включен для любого из видеоокон, максимальный горизонтальный размер окна не может быть больше 1024 в настоящее время. Это связано с ограничением в размере линейной памяти.

– Невозможно одновременно использовать оба ПЗУ. Тем не менее, окно может использовать ОЗУ, в то время как другое использует ПЗУ.

Видеокодер (Video Encoder) — устройство преобразования видеоинформации в требуемый выходной формат.

Video Encoder состоит из трех основных блоков:

– Видеокодер для генерации аналогового видеовыхода;

– Контроллер для генерации цифрового выходного сигнала RGB / YCbCr и сигналов синхронизациидля жидкокристаллического дисплея;

– Синхронизирующий генератор.

Видеокодер для аналогового видео поддерживает следующие функции:

– Входной тактовый сигнал — 27 МГц или 74,25 МГц

1) Поддержка SDTV.

– Композитный NTSC-M, PAL-B / D / G / H / I.

– S-Video (Y / C).

– Компонент YPbPr.

– RGB.

– CGMS / WSS.

– Субтитры

2) Поддержка HDTV.

– 525p / 625p / 720p / 1080i.

– Компонент Y-Pb-Pr.

– RGB.

– CGMS / WSS;

– Операция ведущий / ведомый

– Три 10-разрядных D / A преобразователя

– Цифровой ЖК-контроллер поддерживает следующие функции:

– Программируемый генератор синхронизации

3) Различные форматы вывода.

– YCbCr 4: 2: 2 16-бит.

– YCbCr 4: 2: 2 8-бит.

– Параллельный RGB 16/18/24-бит.

– Последовательный RGB 8-разрядный;

– Вставка EAV / SAV

– Операция ведущий / ведомый

В процессоре TMS320DM368 применяется трёхканальный ЦАП. Каждый из каналов имеет разрядность 10 бит. Данный видео ЦАП может работать в двух режимах: формирование трехканального компонентного HD-видеосигнала (Y-Pb-Pr), либо одноканального композитного SD-видеосигнала.

В трехканальной конфигурации ЦАП не имеет внутреннего усилителя видеосигналов. К выходам ЦАП для работы на типовую нагрузку (видеомонитор) требуется подключать внешние видеоусилители.

В трехканальной конфигурации один из каналов ЦАП может использоваться вместе с внутренним видеоусилителем. В этом варианте нагрузка (видеомонитор) может быть подключена непосредственно к выходу внутреннего видеоусилителя процессора.

Литература:

  1. http://www.compel.ru/2014/02/13/tms320dm36x-videoprotsessoryi-davinci-s-bogatoy-periferiey-ot-ti. — сведения о процессорах серии TMS320DM36x.
  2. http://www.ti.com/lit/ds/sprs668c/sprs668c.pdf — документ о процессоре TMS320DM368.
Основные термины (генерируются автоматически): ISIF, IPIPE, VPSS, RGB, OSD, SDRAM, AWB, VPBE, VPFE, IPIPEIF.


Похожие статьи

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Задать вопрос