2016-05-29 28 views
1

Я довольно застрял на доске или что-то, что может удовлетворить мои потребности.Разделить HDMI-изображение на 3D-систему проектора

Я сделал двойной проектор 3D системы дома, как это: http://www.cinema3dglass.com/Dual_projector_3D_polarization_system.php

И HDMI может иметь разные (8) форматов (Left Right, Выше Ниже т.д ..) все здесь: https://www.tridef.com/user-guide/3d-file-formats

Таким образом, необходимые изображения на входящем порте HDMI могут располагаться так, как показано выше, и мне нужно разделить их на два отдельных выхода HDMI в соответствии с форматом, поэтому я могу подключить их к проекторам.
В принципе мне нужно устройство, которое на первом изображении в первой ссылке выше названия: «HDMI Усилитель-распределитель & EDID Emulator»

Я знаю Arduino не может справиться с этим объемом обработки, потому что я перегружен это с более сильными задачами.
Может ли кто-нибудь помочь мне с чего начать? I foud Panda плата разработки, но это слишком дорого.
Или, если для этой задачи существует не очень дорогое устройство, я мог бы купить это.
Я сумел использовать систему из Tridef 3D, но работать сложно.

Я хочу, чтобы мое устройство получало данные от Chromecast 2.0, но если это невозможно, нормальный игрок сделает это.

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

Заранее спасибо.

+0

Какое разрешение и частота кадров в источнике? Это даст вам приблизительные частоты для обработки. Как обычно люди не знают терминологию, Arduino не MCU или CPU, это просто абстракция. Но правильные стандартные MCU, скорее всего, не будут достаточными для этого. Например, я смог сжать AT32 UC3A3256, чтобы создать цветной сигнал VGA с частотой 640x480 60 Гц с интенсивным использованием его периферийных устройств HW. Но я думаю, что вам нужны большие разрешения + обработка HDMI, что больше всего похоже на MCU. Попробуйте найти HDMI-приемник/передатчик IC и использовать его. Если никого не найдено, есть также FPGA – Spektre

+0

. После минуты поиска в Google я нашел это http://www.datasheets360.com/pdf/-4896960444351380765, поэтому попробуйте найти SDK-комплект для SIL9134 + SIL9135 с некоторым быстрым процессором (скорее FPGA) и достаточное количество ОЗУ для приема/разделения/отправки кадров и копирования аудиоданных, если используется – Spektre

+0

Wow Thank you! Это мне очень помогло. Это кажется довольно продвинутым, но я впечатлен. Обычный HD-поток HDMI составляет 1920 * 1080, но в зависимости от 3D-формата обычный 3D-поток составляет 3840 * 1080. Так что мне нужен кончик мощности обработки. –

ответ

1

Из HDMI specification на странице 56 передачи/соединение выглядит следующим образом:

HDMI

Я хотел бы начать с чередованием левого/правого формата, где даже пиксели слева и нечетные пиксели прямо, потому что высока шанс, что он не нуждается в FIFO. Если вы хотите стандартную левую/правую, вам нужна одна линия FIFO для каждого канала и для увеличения/уменьшения изображения FIFO. В случае, если переменная часы поддерживается HW, эта упрощенный пример должен работать:

no FIFOs

Вам нужно добавить H/V декодер синхронизации от Channel0 для сброса двоичного счетчика. Бинарный счетчик подсчитывает, какой адрес данных обрабатывается. Единая строка данных для логических элементов И должна быть равна D1 половине входных тактов, но не полностью вам нужно переключать между D0 и D1 зависит от времени обработки данных (для пикселей это было бы D1, а для других данных было бы D0), которые я упоминал ранее.Компаратор просто сравнивает адрес с предопределенными константами (например, половину строки для неперемещенного левого/правого формата или обнаруживает даже нечетные для чередующегося формата, но оба должны принимать +/- другие смещения данных). Остерегайтесь переноса на bits, а не Bytes, поэтому адрес будет умножаться на количество бит на блок данных ... Ворота просто переключают часы между левой и правой частью. LATCHES убедитесь, что выходной сигнал не будет смешан, а также усилить сигнал.

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

Если переменная часы не поддерживается, то вам нужно использовать FIFO и или RAM хранить полную строку/изображение, а затем отправить соответствующие части к разъемам. Для этого вам, скорее всего, понадобятся возможности полного декодирования, поэтому используйте SIL9134 + SIL9135. Разрешение пополам приведет к возникновению проблем с синхронизацией, потому что вам потребуется больше времени для отправки половины полукадра, а затем полный полный кадр (вспомогательные данные и данные синхронизации копируются не в два раза). Если отправка имеет достаточно большие пробелы, вы можете поместить туда недостающее время, но снова не все HW могут поддерживать ее, теряя синхронизацию/мерцание/и т. Д. В таком случае вы можете изменить разрешение на меньшую (после половинного) разрешение, чтобы вставить время отправки ... или увеличить вход полного разрешения (по оси x).

Удачи вам в квесте.