Добавить страницу в закладки Установить стартовой
Должность:Главная >> Новости >> электрон

Продукты Категория

Продукты Теги

Fmuser Сайты

Система на базе FPGA объединяет два видеопотока для предоставления 3D-видео

Date:2021/10/18 21:55:31 Hits:
Введение. Видеосистемы, уже широко используемые в потребительских приложениях, становятся все более популярными в автомобильной, робототехнической и промышленной областях. Этот рост в непотребительских приложениях произошел в первую очередь за счет внедрения стандарта HDMI и более быстрых и эффективных DSP и FPGA. В этой статье изложены требования для достижения стереоскопического зрения (3D-видео) с помощью аналоговых видеокамер или видеокамер HDMI. В нем описывается система на основе ПЛИС, которая объединяет два видеопотока в единый видеопоток 3D для передачи через передатчик HDMI 1.4, и систему на основе DSP, которая экономит полосу пропускания DMA по сравнению с той, которая обычно требуется для приема данных с двух камер. Кроме того, он показывает один метод достижения параллельного формата для использования с 3D-камерами или системами, требующими 3D-видео. Общий обзор Для стереоскопического зрения необходимы две видеокамеры, разделенные примерно на 5.5 см, что является типичным расстоянием между глазами человека, как показано на рисунке 1. Рисунок 1. Две камеры на подставке, выровненные для стереоскопического зрения. На высокоуровневой блок-схеме, показанной на рисунке 2, используются две синхронизированные видеокамеры, использующие один и тот же видеостандарт, два видеодекодера и FPGA. Чтобы обеспечить точно такую ​​же частоту кадров, видеокамеры должны быть синхронизированы по линии с общей временной привязкой. Без синхронизации невозможно будет объединить выходы без использования внешней памяти для хранения полных видеокадров. Рисунок 2. Блок-схема высокого уровня. На рисунке 3 показаны два видеопотока с синхронизацией по строкам, объединенные в одно стереоскопическое изображение. На рисунке 4 показано, как асинхронные видеопотоки нельзя объединить без сохранения всего видеокадра во внешней памяти. Рисунок 3. Объединение двух синхронизированных видеопотоков. Рисунок 4. Асинхронные видеопотоки нельзя объединить без использования внешней памяти. Выходы двух синхронизированных видеокамер затем оцифровываются видеодекодерами, такими как ADV7181D, ADV7182 или ADV7186 для аналоговых видеокамер; или приемниками HDMI, такими как ADV7610 или ADV7611 с цифровыми видеокамерами. Видеодекодеры и приемники HDMI используют внутренние петли фазовой автоподстройки частоты (ФАПЧ) для создания тактовых и пиксельных данных на своих выходных шинах. Это означает, что при оцифровке аналогового видео или получении потока HDMI для двух камер будут созданы два отдельных домена часов. Более того, два видеопотока могут быть несовмещены. Эти временные различия и несовпадения должны быть скомпенсированы в внутреннем устройстве, таком как FPGA, путем перевода данных в общую тактовую область перед объединением двух видеоизображений в один стереоскопический видеокадр. Синхронизированный видеопоток затем отправляется через передатчик HDMI с поддержкой 1.4D HDMI 3, такой как ADV7511 или ADV7513, или он может быть представлен в DSP, такой как процессор ADSP-BF609 Blackfin®, для дальнейшей обработки. Архитектура синхронизации. Видеодекодеры имеют два различных источника синхронизации в зависимости от того, заблокированы они или разблокированы. Когда видеосигнал ФАПЧ привязан к входящему сигналу синхронизации - горизонтальной синхронизации для видеодекодеров или тактовому сигналу TMDS для HDMI - он генерирует тактовый сигнал, который привязан к входящему источнику видеосигнала. Когда видеоблокировка потеряна или ФАПЧ находится в принудительном режиме автономной работы, видеосигнал ФАПЧ не привязан к входящему сигналу синхронизации и генерирует тактовый выходной сигнал, который синхронизируется с кварцевыми часами. Кроме того, часы могут не выводиться после сброса, поскольку драйвер часов LLC установлен в режим высокого импеданса после сброса. Таким образом, если в системе есть два или более тракта видеотракта от видеодекодера или приемника HDMI, она будет иметь две разные области тактовой частоты с разными частотами и фазами, даже когда одинаковые кварцевые часы предоставляются двум видеодекодерам или приемникам HDMI, поскольку каждый устройство генерирует собственные часы на основе собственной ФАПЧ. Синхронная система с заблокированными видеодекодерами. При типичном стереоскопическом видео, использующем два источника, каждый из видеодекодеров синхронизируется с входящим видеосигналом и генерирует свои собственные часы на основе входящей горизонтальной синхронизации или тактовых импульсов TMDS. Когда две камеры синхронизированы или привязаны к одной временной привязке, линии кадра всегда будут выровнены. Поскольку два отдельных видеодекодера получают одинаковую горизонтальную синхронизацию, тактовая частота пикселей будет одинаковой. Это позволяет объединить два пути данных в общий тактовый домен, как показано на рисунке 5. Рисунок 5. Две видеокамеры синхронизированы по общей ссылке. Оба видеодекодера получают один и тот же сигнал синхронизации, поэтому они также заблокированы. Оба видеодекодера получают один и тот же сигнал синхронизации, поэтому они также заблокированы. Асинхронная видеосистема К сожалению, один из декодеров может потерять синхронизацию из-за некачественного сигнала источника видеосигнала, как показано на рисунке 6; или камеры могут потерять синхронизацию из-за разрыва видеосвязи, как показано на рисунке 7. Это приведет к разным частотам в двух путях данных, что затем приведет к асимметрии в объеме данных, синхронизируемых в серверной части. Рисунок 6. Камеры с линейной синхронизацией и разблокированными видеодекодерами. Рисунок 7. Разблокированные камеры с заблокированным видеодекодером. Потерянную блокировку видео можно обнаружить с помощью прерывания (SD_UNLOCK для видеодекодеров SD, CP_UNLOCK для декодеров компонентного видео или регистров TMDSPLL_LCK в приемниках HDMI), которое срабатывает после задержки. Видеодекодеры включают механизмы сглаживания нестабильной горизонтальной синхронизации, поэтому обнаружение потери видеосигнала может занять до пары строк. Эту задержку можно уменьшить, контролируя потерю блокировки в ПЛИС. Режим с тремя состояниями синхронизации При разработке ресурсов синхронизации ПЛИС важно знать, что по умолчанию многие видеодекодеры и продукты HDMI переводят линии синхронизации и данных в режим с тремя состояниями после сброса. Таким образом, пиксельные часы LLC не подходят для синхронного сброса. Несовпадение данных в двух видеопотоках Чтобы упростить систему и уменьшить объем памяти, необходимой для объединения двух изображений, данные, поступающие в ПЛИС, должны быть синхронизированы таким образом, чтобы N-й пиксель M-й строки от первой камеры принимался с N-м пикселем M-го изображения. линия со второй камеры. Этого может быть трудно достичь на входе ПЛИС, потому что два видеотракта могут иметь разные задержки: камеры с синхронизацией по линии могут выводить несоосные линии, разная длина соединения может способствовать рассогласованию, а видеодекодеры могут вносить переменные задержки при запуске. Из-за этих задержек ожидается, что система с камерами с синхронизацией по линии будет иметь несколько пикселей смещения. Несоосность камеры с синхронизацией по линии Даже камеры с синхронизацией по линии могут выводить смещенные видеостроки. На рисунке 8 показаны сигналы вертикальной синхронизации с выхода CVBS двух камер. Одна камера, ведущая синхронизация, обеспечивает сигнал синхронизации линии для второй камеры, ведомой синхронизации. Хорошо видна рассогласовка в 380 нс. На рисунке 9 показаны данные, передаваемые видеодекодерами на выходах этих камер. Виден сдвиг на 11 пикселей. Рисунок 8. Рассогласование видео 380 нс между видеокамерами с синхронизацией по линии. Рисунок 9. Некомпенсированный 11-пиксельный перекос видео в цифровой области. Различная длина соединения Все электрические соединения вызывают задержку распространения, поэтому убедитесь, что оба видеотракта имеют одинаковую длину дорожки и кабеля. Задержки видеодекодера / HDMI-приемника Все видеодекодеры имеют задержку, которая может варьироваться в зависимости от включенных функций. Более того, некоторые части видео содержат элементы, такие как FIFO глубокого цвета, которые могут добавлять случайную задержку при запуске. Типичная стереоскопическая система, использующая видеодекодеры, может иметь случайную задержку запуска около 5 тактовых импульсов пикселей. Система, содержащая передатчики и приемники HDMI, как показано на рисунке 10, может иметь случайную задержку запуска около 40 тактовых импульсов пикселей. Рисунок 10. Настройка измерения задержек в трубопроводе. Компенсация рассогласования На рисунке 11 показана система, в которой аналоговый сигнал от каждой камеры оцифровывается видеодекодером. Данные и часы раздельные для каждого видеотракта. Оба видеотракта подключены к FIFO, которые буферизуют входящие данные для компенсации несовпадения данных. При тактировании данных FIFO используют общие часы от одного из декодеров. В заблокированной системе два пути данных должны иметь точно такую ​​же тактовую частоту, что гарантирует отсутствие переполнения или потери значимости FIFO, пока камеры заблокированы по линии, а видеодекодеры заблокированы. Включая или отключая выходы FIFO, блок управления поддерживает уровни FIFO, чтобы минимизировать несовпадение пикселей. Если компенсация выполняется правильно, на выходе блока FPGA должны быть два пути данных, выровненные по самому первому пикселю. Затем эти данные передаются в серверную часть ПЛИС для создания 3D-формата. Рисунок 11. Использование цифровых FIFO для выравнивания видеоизображений. Измерение рассогласования. Рассогласование между двумя потоками оцифрованных данных можно измерить на выходе видеообъявлений FIFO с помощью счетчика с одним тактом, который сбрасывается на импульсе вертикальной синхронизации (VS) одного из входящих сигналов. На рисунке 12 показаны два видеопотока (vs_a_in и vs_b_in), смещенные на 4 пикселя. Счетчики измеряют рассогласование, используя метод, показанный в листинге 1. Счет начинается по переднему фронту VS1 и останавливается по переднему фронту VS2. Если общая длина кадра в пикселях известна, отрицательный перекос (VS2 предшествует VS1) может быть вычислен путем вычитания значения счетчика из длины кадра. Это отрицательное значение следует вычислять, когда перекос превышает половину длины кадра пикселя. Результат следует использовать для перестройки данных, хранящихся в FIFO. Рисунок 12. Измерение рассогласования. Листинг 1. Простое измерение несоосности (Verilog®). модуль misalign_measurement (сброс входного провода, входной провод clk_in, входной провод vs_a_in, входной провод vs_b_in, выходной регистр [15: 0] смещение, выходной регистр готов); рег [15: 0] cnt; reg cnt_en, cnt_reset; рег vs_a_in_r, vs_b_in_r; назначить vs_a_rising = vs_a_in> vs_a_in_r; назначить vs_b_rising = vs_b_in> vs_b_in_r; всегда @ (posedge clk_in) begin vs_a_in_r <= vs_a_in; vs_b_in_r <= vs_b_in; конец всегда @ (posedge clk_in) if (reset) begin {ready, cnt_en} <= 2'b00; смещение <= 0; конец else begin if ((vs_a_in == 1'b0) && (vs_b_in == 1'b0)) {готово, cnt_reset} <= 2'b01; иначе cnt_reset <= 1'b0; / * начало * / if (vs_a_rising && vs_b_rising) begin misalign <= 0; {готово, cnt_en} <= 2'b10; конец else if ((vs_a_rising> vs_b_in) || (vs_b_rising> vs_a_in)) {готово, cnt_en} <= 2'b01; / * окончание * / if ((cnt_en == 1'b1) && (vs_a_rising || vs_b_rising)) begin {ready, cnt_en} <= 2'b10; смещение <= vs_a_rising? (- (cnt + 1)): (cnt + 1); конец конец всегда @ (posedge clk_in) / * счетчик * / if ((cnt_reset) || (сброс)) cnt <= 0; иначе, если (cnt_en) cnt <= cnt + 1; endmodule Создание 3D-видео из двух выровненных видеопотоков После того, как пиксельные, линейные и кадровые данные действительно синхронизированы, FPGA может преобразовать видеоданные в 3D-видеопоток, как показано на рисунке 13. Рисунок 13. Упрощенная архитектура, поддерживающая форматы 3D. Входящие данные считываются в память общими часами. Анализатор синхронизации синхронизации исследует входящие сигналы синхронизации и извлекает синхронизацию видеосигнала, включая длину передней и задней веранды по горизонтали, переднюю и заднюю части по вертикали, длину горизонтальной и вертикальной синхронизации, длину активной горизонтальной линии, количество активных вертикальных линий и поляризацию сигналы синхронизации. Передача этой информации в регенератор синхронизации синхронизации вместе с текущим расположением пикселей по горизонтали и вертикали позволяет ему сгенерировать синхронизацию, которая была изменена для соответствия желаемой структуре трехмерного видео. Вновь созданное время должно быть отложено, чтобы гарантировать, что FIFO содержат требуемый объем данных. Параллельное 3D-видео Наименее требовательная архитектура с точки зрения памяти - это параллельный формат, для которого требуется только двухстрочный буфер (FIFO) для хранения содержимого строк, поступающих от обоих источников видео. Параллельный формат должен быть в два раза шире исходного входящего формата. Для этого следует использовать удвоенные часы для тактирования восстановленного времени синхронизации с удвоенной длиной горизонтальной строки. Удвоенные часы, используемые для тактирования задней части, опустошают первый FIFO, а затем второй FIFO с удвоенной скоростью, что позволяет размещать изображения рядом, как показано на рисунке 14. Изображение бок о бок показано на рисунке 15. Рисунок 14. Сшивание двух картинок бок о бок с использованием простых строковых буферов FPGA. Рисунок 15. Параллельное изображение 576p с синхронизацией видео Заключение Декодеры Analog Devices и продукты HDMI наряду с простой постобработкой могут создавать и обеспечивать передачу истинного стереоскопического 3D-видео. Как показано, можно получить 3D-видео с помощью простых цифровых блоков и без дорогостоящей памяти.

Оставить сообщение 

Имя *
Эл. адрес *
Телефон
Адрес
Code Смотрите код проверки? Нажмите обновить!
Сообщение
 

Список сообщений

Комментарии Загрузка ...
Главная| О Нас| Продукция| Новости| Скачать| Поддержка| Обратная связь| Свяжитесь с нами| Сервис

Контактное лицо: Зои Чжан Веб-сайт: www.fmuser.net

Whatsapp / Wechat: +86 183 1924 4009

Скайп: tomleequan Электронная почта: [электронная почта защищена] 

Facebook: FMUSERBROADCAST Youtube: FMUSER ZOEY

Адрес на английском языке: Room305, HuiLanGe, № 273 HuangPu Road West, район Тяньхэ, Гуанчжоу, Китай, 510620 Адрес на китайском языке: 广州市天河区黄埔大道西273号惠兰阁305(3E)