реклама на сайте
подробности

 
 
> Преобразование VGA сигнала на ПЛИС, Преобразование 1024x768 -> 1280x1024 и другие варианты
Виталий Пономарё...
сообщение Feb 28 2007, 12:41
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 28-02-07
Пользователь №: 25 763



Всем привет!

Никогда раньше не имел дело с ПЛИС, опыт работы с железом заканчивается несколькими пробами пера на Atmel'овской ATmega8.
Но тут передо мной встала довольно интересные (для меня) задачи и захотелось найти для неё решение, причём ПЛИС тут подходит больше всего.

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.
2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)
3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?
3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

Ну и вообще был бы рад любым комментариям, которые могут помочь в решении возникших вопросов smile.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
oval
сообщение Feb 28 2007, 14:37
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 265
Регистрация: 15-03-05
Из: Москва
Пользователь №: 3 367



Цитата(Виталий Пономарёв @ Feb 28 2007, 12:41) *
Всем привет!

Никогда раньше не имел дело с ПЛИС, опыт работы с железом заканчивается несколькими пробами пера на Atmel'овской ATmega8.
Но тут передо мной встала довольно интересные (для меня) задачи и захотелось найти для неё решение, причём ПЛИС тут подходит больше всего.

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.


Здесь есть свои ньюансы, не все так тривиально, как кажется. Через какой интерфейс будет поступать сигнал с DVD-плеера? Скорее всего потребуется декодер. Есть ли он на Вашей плате starter kit?

Еще одна проблема (хотя и не очень существенная) - проблема согласования частоты кадров входного и выходного видео потоков. Не факт, что достаточно 2-х буферов (страниц).

На входе (выход DVD) идет поток полукадров (interlaced scan), выход - полный кадр (progressive scan)
. Каким образом будете преобразовывать? Способов есть несколько, соответственно разное качество результата... Чем проще, тем хуже результат.

Формат сигнала на входе (уже с выхода декодера) обычно YCbCr, на выходе - RGB. Соответственно потребуется преобразование... Иногда встречаются декодеры, выполняющие это преобразование, но среди современных, не встречал, хотя особо этим вопросом не занимался, могу и не знать.

Ну и наконец, масштабирование. Полноценное цифровое масштабирование, - далеко не тривиальная задача... Тем более с дробными коэффициентами.

Цитата
2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)


Здесь "обыкновенное преобразование VGA сигнала на ПЛИС" выливается в далеко не тривиальное! Несущая частота на входе и выходе разная, потребуется буфер хранения данных картинки, вообщем часть того, что в п.1. Увы...

Цитата
3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Для п.1 и п.3 просто приобретаете плату TV приемника, а на сегодняшний день эти задачи полностью реализуют современные видео адаптеры smile.gif Самое бюджетное решение, правда компьютер должен быть включен, соответственно и DVD-плеер оказывается ненужным...

Цитата
Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?


Не думаю, что реально без внешних модулей... Также для полноценного решения может не хватить ресурсов самой платы starter kit, в частности возможно самой ПЛИС. Здесь уже требуется более детальная оценка...

Цитата
3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

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


P.S. ИМХО не стоит даже браться:
1. скорее всего не хватит энтузиазма smile.gif Хотя всякое бывает...
2. не тот проект для ПЛИС, да и вообще, с которого стоит начинать...
3. скорее всего потребуется изготовление платы под эти задачи, а это затраты...
4. задачи для коллективной реализации, на коленках я бы не взялся делать...
5. время реализации при отсутвие опыта много больше времени присутствия энтузиазма smile.gif Тут тоже разные случаи бывают...

P.P.S.: прошу прощения, если расстроил... smile.gif
Go to the top of the page
 
+Quote Post
Виталий Пономарё...
сообщение Feb 28 2007, 16:32
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 28-02-07
Пользователь №: 25 763



Цитата(oval @ Feb 28 2007, 14:37) *
... комментарии ...

Спасибо за детальный разбор моего поста. Параллельно читал ещё различные посты на эту тему, возникло несколько доп. вопросов, ну и есть также несколько комментариев на поставленные тобой вопросы.

Цитата
Цитата

Итак, что хочется:
1. Смотреть видео с DVD-плеера на компьютерном LCD мониторе (с разрешением 1280x1024).
Решение видится в виде преобразователя PAL -> VGA - делаем 2 видео страницы, в одну записываем данные со входа другую используем для вывода. После заполнения входной страницы делаем переключение между страницами. При записи в память сразу же делаем масштабирование.


Здесь есть свои ньюансы, не все так тривиально, как кажется. Через какой интерфейс будет поступать сигнал с DVD-плеера? Скорее всего потребуется декодер. Есть ли он на Вашей плате starter kit?

Сигнал можно брать в виде обычного RGB. Тут во всяком случае понадобится минимальный объём преобразований. Понадобится подключить к плате 3х канальный АЦП с соответствующим быстродействием.

Цитата
Еще одна проблема (хотя и не очень существенная) - проблема согласования частоты кадров входного и выходного видео потоков. Не факт, что достаточно 2-х буферов (страниц).

Да. Теоретически может понадобиться небольшой (меньше размера кадра) буфер в который будет складываться входной поток после заполнения входного буфера и до тех пор пока не будет закончено чтение очередного кадра из выходного буфера. Хотя возможно самым простым решением было бы сделать циклический "фрейм" из 3х буферов.

Цитата
На входе (выход DVD) идет поток полукадров (interlaced scan), выход - полный кадр (progressive scan)
. Каким образом будете преобразовывать? Способов есть несколько, соответственно разное качество результата... Чем проще, тем хуже результат.

Если выполнять по каждому входящему полу-кадру замену полу-кадра выходящего буфера то результат будет плохим?


Цитата
Формат сигнала на входе (уже с выхода декодера) обычно YCbCr, на выходе - RGB. Соответственно потребуется преобразование... Иногда встречаются декодеры, выполняющие это преобразование, но среди современных, не встречал, хотя особо этим вопросом не занимался, могу и не знать.

Эта проблема решается использованием RGB выхода.

Цитата
Ну и наконец, масштабирование. Полноценное цифровое масштабирование, - далеко не тривиальная задача... Тем более с дробными коэффициентами.

Масштабирование я рассматривал только с целым коэффициентом. Соответственно, не весь экран будет использоваться в этом случае.


Цитата
Цитата

2. Преобрабовывать VGA -> VGA (с разрешения 1024x768/800x600 -> 1280x1024).
LCD мониторы обычно хорошо работают только на своём родном разрешении, во всех остальных случаях получается довольно большое мыло. Соответственно, пользоваться программами (играми), использующими разрешение меньше родного разрешения монитора бывает очень затруднительно.
Самым простым решением (кроме варианта покупки второго монитора или неиспользования программ, которые не могут "жить" в родном разрешении монитора) вижу обыкновенное преобразование VGA сигнала на ПЛИС, при этом исходное изображение выводить без какого-либо преобразования в центре экрана (а вокруг будет чёрная рамка).
Особенно сильно эта проблема может вставать при использовании широкоформатных мониторов (скажем, обычный Benq 20" с разрешением 1680x1050)


Здесь "обыкновенное преобразование VGA сигнала на ПЛИС" выливается в далеко не тривиальное! Несущая частота на входе и выходе разная, потребуется буфер хранения данных картинки, вообщем часть того, что в п.1. Увы...

Да, потребуется до 3х буферов способных запомнить весь экран, при этом задержка прохождения сигнала через схему будет не более 50ms (при частоте обновления 60Hz).


Цитата
Цитата

3. Сделать функцию Picture-In-Picture когда в небольшом окошке на компьютере можно, к примеру, смотреть телевизор.
Ну это уже из разряда "хочется когда-нибудь", поэтому рассматривать пока нет смысла.


Для п.1 и п.3 просто приобретаете плату TV приемника, а на сегодняшний день эти задачи полностью реализуют современные видео адаптеры smile.gif Самое бюджетное решение, правда компьютер должен быть включен, соответственно и DVD-плеер оказывается ненужным...

Тюнер в компьютере есть. Хочется избавиться от компьютера в схеме воспроизведения.
А телевизора нет (просто не нужен и некуда особо ставить).


Цитата
Цитата

Собственно, теперь сами вопросы:
1. Что лучше читать на эту тему чтобы получить лучшее представление о структуре видео сигналов?
2. Хочу всё реализовать на базе starter kit с Xilinx XC3S500E-4FG320C Spartan-3E на борту. Насколько реально?


Не думаю, что реально без внешних модулей... Также для полноценного решения может не хватить ресурсов самой платы starter kit, в частности возможно самой ПЛИС. Здесь уже требуется более детальная оценка...

Пока обнаруживается только внешний АЦП. Я что-то ещё пропустил?


Цитата
3. Есть ли какие-то примеры реализующие подобные функции? Разбираться в существующем проекте и постепенно его дорабатывать под себя намного удобней, чем писать всё с нуля.
4. Что из оборудования потребуется для проверки результата? Как минимум требуется осциллограф.. Т.к. всё делается просто для себя, то желательно уложиться в минимальные деньги. Можете посоветовать наиболее оптимальное для данной задачи решение? Видел в интернете несколько компьютерных осциллографов, которые (вроде бы) должны подойти (по max частоте исследуемого сигнала) по цене $200-$300. Насколько это реально?

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


Цитата
P.S. ИМХО не стоит даже браться:
1. скорее всего не хватит энтузиазма smile.gif Хотя всякое бывает...
2. не тот проект для ПЛИС, да и вообще, с которого стоит начинать...
3. скорее всего потребуется изготовление платы под эти задачи, а это затраты...
4. задачи для коллективной реализации, на коленках я бы не взялся делать...
5. время реализации при отсутвие опыта много больше времени присутствия энтузиазма smile.gif Тут тоже разные случаи бывают...

P.P.S.: прошу прощения, если расстроил... smile.gif

Ну вопрос стоит браться или нет остаётся открытым. На первом этапе хочется окончательно понять во что выльется реализация такого решения (по п. 1 и 2), а потом уже можно будет определиться - стоит ли оно того или легче просто купить монитор с RGB входом и поддержкой P-i-P (благо такие сейчас уже есть и по цене насколько я помню в пределах ~$700) smile.gif)


Цитата(klop @ Feb 28 2007, 13:42) *
Будте осторожны. Сколько не наблюдал подобные девайсы ни разу результаты их работы не были даже сопоставимы с весьма не новыми "настоящими" приборами.

Спасибо, буду знать. Я надеялся, что за последнее время такие недорогие и довольно качественные решения всё-таки появились...


Цитата(iosifk @ Feb 28 2007, 13:15) *
Торопиться с осциллографами пока не нужно, т.к. можно использовать встроенный в ПЛИС логический анализатор. В ксайлинксовском софте должна быть его поддержка.

Не знал, спасибо. Попробую почитать на эту тему.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Виталий Пономарёв   Преобразование VGA сигнала на ПЛИС   Feb 28 2007, 12:41
- - iosifk   Цитата(Виталий Пономарёв @ Feb 28 2007, 12...   Feb 28 2007, 13:15
- - klop   Цитата(Виталий Пономарёв @ Feb 28 2007, 12...   Feb 28 2007, 13:42
- - oval   ЦитатаЦитата Цитата Итак, что хочется: 1. Смотреть...   Feb 28 2007, 21:11
- - v_mirgorodsky   Виталий А вам все еще будет интересно это устройст...   Mar 1 2007, 12:10
- - Евгений Николаев   Может быть, просто посмотреть в сторону внешних ТВ...   Mar 1 2007, 15:46
- - san822   Надо посмотреть в сторону DVD-плеера с VGA-выходом...   Mar 1 2007, 20:35
- - Flood   Цитата(Виталий Пономарёв @ Feb 28 2007, 12...   Mar 1 2007, 22:32
- - KuzmaPrytkov   Цитата(iosifk @ Feb 28 2007, 17:15) Тороп...   Nov 24 2007, 15:46
- - oval   Цитата(KuzmaPrytkov @ Nov 24 2007, 18:46)...   Nov 24 2007, 16:56
- - KuzmaPrytkov   Интересует версия 9.2i для вин32   Nov 24 2007, 17:32
- - rezident   Может я не совсем в тему, но, например, у моего мо...   Nov 24 2007, 21:14
- - rv3dll(lex)   не знаю насчёт интузиазма - а знаний точно не хват...   Nov 26 2007, 05:13
- - bav   На Вашем месте я бы не стал заморачиваться с FPGA,...   Nov 26 2007, 07:05
|- - Mukhanov   Цитата(bav @ Nov 26 2007, 10:05) На Вашем...   Nov 26 2007, 18:28
- - ViKo   По поводу осциллографов - www.auris.ru - там есть ...   Nov 26 2007, 14:25
- - Serg_greS   ЦитатаНужны АЦП на входе, и, естественно, на выход...   Nov 27 2007, 05:11
- - rv3dll(lex)   Цитата(Serg_greS @ Nov 27 2007, 08:11) Ну...   Nov 27 2007, 05:59
- - ViKo   Да, цена АЦП и ЦАП выглядит привлекательной. И про...   Nov 28 2007, 16:16
- - rv3dll(lex)   Цитата(ViKo @ Nov 28 2007, 19:16) Да, цен...   Nov 30 2007, 05:28


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.0144 секунд с 7
ELECTRONIX ©2004-2016