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

 
 
> Как сделать в FPGA свой SCALER, Вопрос для тех кто работает с видео
Pahuchy
сообщение Apr 13 2005, 10:57
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 30-03-05
Из: Одесса
Пользователь №: 3 796



Задача: есть входной сигнал RGB 24бита . Формат сигнала может быть различным 640х480, 800x600 и т.п.(вообщем VESA) надо сделать так что бы на выходе формат не зависил от входа т.е. вход 640х480 выход 1280x1024
или вход 1280х1024 выход 800х600. Т.е. понятно что сигнал оцифровуется попадает в FPGA(я использую альтеру) и выходит на ЦАП. В альтере надо сделать Upscaler и Downscaler . Так вот вопрос как это сделать. Любые ссылки , теориии , примеры приветствуются.

PS. Раньше уже делал подобную вещь но использовал готовый scaler от Philips SAA6713. Теперь scaler надо засунуть в альтеру а на входе будет простой 3хАЦП.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
des00
сообщение Apr 13 2005, 11:38
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Pahuchy @ Apr 13 2005, 05:57)
Задача: есть входной сигнал RGB 24бита .  Формат сигнала может быть различным 640х480, 800x600 и т.п.(вообщем VESA) надо сделать так что бы на выходе формат не зависил от входа т.е. вход 640х480 выход 1280x1024
или вход 1280х1024 выход 800х600. Т.е. понятно что сигнал оцифровуется попадает в FPGA(я использую альтеру) и выходит на ЦАП. В альтере надо сделать Upscaler и Downscaler . Так вот вопрос как это сделать. Любые ссылки , теориии , примеры приветствуются.

PS. Раньше уже делал подобную вещь но использовал готовый scaler от Philips SAA6713. Теперь scaler надо засунуть в альтеру а на входе будет простой 3хАЦП.
*


Хммм имхо если бы передо мнй встала такая задача, то нужно определить следующее :
1. Метод интерполяции данных (при увеличении изображения необходимо расчитать "недостающие" точки)
2. Метод прореживания данных.


--------------------
Go to the top of the page
 
+Quote Post
archip
сообщение Apr 14 2005, 09:21
Сообщение #3


Местный
***

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



СОбственно, от добра добра не ищут. Почему возникла идея отказаться от Philips SAA6713? Если только по цене - думаю, самопал Вам обойдётся дороже. Конечно, если вопрос про расширенный диапазон температур, то именно самому придётся делать.

Только придётся повторить почти весь путь эволюции scaler`ов, в борьбе за качество выходной картинки.


--------------------
"Это ничего, что я продолжаю не смотря на то, что Вы меня перебиваете?" ©
Go to the top of the page
 
+Quote Post
Pahuchy
сообщение Apr 14 2005, 10:15
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 30-03-05
Из: Одесса
Пользователь №: 3 796



Это и коню понятно blink.gif что надо интреполировать и прореживать
где мне про ето почитать ? Как практически реализовать?
Может кто делал что то подобное.

Цитата(archip @ Apr 14 2005, 12:21)
СОбственно, от добра добра не ищут. Почему возникла идея отказаться от Philips SAA6713? Если только по цене - думаю, самопал Вам обойдётся дороже. Конечно, если вопрос про расширенный диапазон температур, то именно самому придётся делать.

Только придётся повторить почти весь путь эволюции scaler`ов, в борьбе за качество выходной картинки.
*



Объясняю в новом изделии использую Cyclone II . Внутренние ресурсы используются не полностью. Какой смысл ставить внешнюю микросхему (дорогую и содержащую много ненужных узлов ) если можно использовать ресурсы циклона. Кроме того она не обеспечивает UXGA 1600x1200

Scaler который поддерживае UXGA можно купить только если вы являетесь фирмой SONY,Samsung и т.п. в количестве 1000000....... штук
Go to the top of the page
 
+Quote Post
YUV
сообщение Apr 29 2005, 14:14
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 27-04-05
Пользователь №: 4 551



То Pahuchy

Сэр, не будете ли Вы так дорбры ответить на несколько вопросов по SAA6713?

1) Можно ли использовать порты PA, PB, PC как входы, а данные снимать с PD, PE, PF?
2) Какой максимальный коэффициент масштабирования?
3) Можно ли сконфигурировать ИМС под маленькие размеры входной картинки, например, 64*64 пикселов?
4) Если входная картинка имеет разрешение 1024*768 и установлен максимальный коэф. масштабирования, то что получится на выходе: масштабирование первых х*у пикселей или полный паралич?

Искренне благодарен за оказанное внимание.

Сообщение отредактировал YUV - Apr 29 2005, 14:17
Go to the top of the page
 
+Quote Post
Pahuchy
сообщение May 4 2005, 17:02
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 30-03-05
Из: Одесса
Пользователь №: 3 796



1. Да можно . Установите биты
ext_select в 1
dvi_select в 0
настройте VCLK как вход
vclk_in_en в 1

Подавайте RGB на PA, PB, PC (тактируйте их VCLK) далее в SAA
делайте что вам надо (скелинг, коррекция, наложение лого и т.п.)
и снимайте выходное изображение с PD, PE, PF по PCLK.

2. максимальный коофициен масштабирования определяется только
максимальным back-end clock . Для этой микросхемы он равен 100MHz max. Хочу сказать что эта цифра сильно завышена, реально
уже на 80 фронты начинают замыливаться. Реально можно получить XGA 1024x768. Правда я ухитрился получить 1280х1024 передавая по 2 точки за такт. но у вас (как я понял из условия) это не получиться т.к. PA, PB, PC вход.

3. минимальный размер который подавал 640*480 меньше не пробовал(теоретически наверно да).

4. паралич. Вообще SAA6713 надо настраивать крайне внимательно и точно (шаг вправо/влево - писец всё начинает дёргатся строки рвутся и т.п.). Очень желательно сделать как я написать прогу которая позволит вам изменять регистры на лету иначе замучетесь её настраивать. Что бы вы не изменили всегда делайте программный сброс (особенно это касается скелёра) GC_RESET(FCh) иначе не заметите изменений. для настройки выхода очень помог внутреений генератор полосок(рекомендую) .
Go to the top of the page
 
+Quote Post
Foxx
сообщение May 5 2005, 17:35
Сообщение #7





Группа: Новичок
Сообщений: 5
Регистрация: 5-05-05
Пользователь №: 4 760



Проблема не так проста, как может показаться поначалу. Обычно такие устройства масштабируют картинку в два прохода - сначала по горизонтали, потом по вертикали, используя FIR-фильтры. Здесь нужно обращаться к общей теории ЦОС. Нужно понимать, что помимо реализации самих фильтров, понадобится также и некое количество памяти, объем которой будет зависеть от длины фильтров (для вертикального масштабирования нужно хранить в памяти несколько строк изображения). Бывают и однопроходные масштабаторы, например, Raytheon (нынешний Fairchild) выпускал в 90-х TMC2255, TMC2301 - в них использовался метод "обегания" пикселя, кстати в datashit-ах на эти микрухи очень доходчивые картинки, иллюстрирующие алгоритмы. Отдельная тема - коэффициенты для фильтров. Если не нужно реализовывать эффект плавного масштабирования, то обойдетесь простой таблицей, в противном случае потребуется делать генератор коэффициентов. Усложнить процесс может чересстрочная развертка (в грамотном устройстве желательно применять деинтерлейсинг - тоже интересная проблема), а также различающаяся кадровая развертка на входе и выходе - столкнетесь с проблемой межкадровой интерполяции, оценкой и компенсацией движения в кадре. Но, это уже довольно серьезные вещи, ими занимаются такие монстры, как AMPEX или Snell&Willcox, которые все делают по-честному с точки зрения науки. Не напугал? :) На практике можно многое упростить, существует множество уловок, связанных с особенностями зрения и, в принципе, можно ориентироваться на качество картинки "на глаз". Мне приходилось делать масштабатор в применении к телевизионному сигналу (только в сторону downscale, плавно от 1:1 до 1:16). Использовался обычный билинейный алгоритм, по-крайней мере картинка выглядила прилично и ОТК Первого канала ее пропустила). Масштабирование происходило в два прохода, на плате стояло 2 буфера памяти (внешняя SDRAM) на полный кадр, так как требовалась синхронность по выходу. Коэффициенты генерились на ходу. Каждый FIR-фильтр в кристалле ACEX 1K100 съедал около 50% ресурсов. Компилировал в Quartus II. Кстати MAX+PLUS на тот же проект тратил 90%. В кратце все, если что, стучитесь в аську.
Go to the top of the page
 
+Quote Post
Iouri
сообщение Sep 11 2007, 13:07
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 364
Регистрация: 11-07-05
Пользователь №: 6 707



Господа,

у кого нибудь получился scaler посоветуйте что почитать
необходимо преобразвать 480i в 720p или 1080p


заранее благодарен
Go to the top of the page
 
+Quote Post

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

 


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


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