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

 
 
> Преобразование видео формата на ПЛИС, 1280х1024 -> 960x768
ovs_pavel
сообщение Mar 24 2015, 09:25
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 275
Регистрация: 19-05-06
Пользователь №: 17 249



День добрый коллеги. Возник вопрос по преобразованию видео потока (grayscale, 8 бит/пиксель, 25 кадр/сек) на ПЛИС.
Исходный формат - 1280х1024. Необходимый формат - 960x768.

Я сделал просто и быстро (было задача главное сделать) - убрал каждую 4-ую строку и каждый четвертый пиксель в строке. Все работает и ок, но видны на косых линиях маленькие ступеньки.

Поэтому и вопрос - есть ли простые (именно простые) алгоритмы аппроксимации, которые хорошо ложатся на ПЛИС (ну по соседним пикселям высчитывать новые или что-то в этом роде).

Можно ссылку на литературу (не занимался видео обработкой даже в таком простом виде, поэтому и сделал все в лоб). Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Mar 24 2015, 09:48
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Например, "распределить" каждые 4 входные точки на 3 выходные, линейно:

X1 = (3x1 + x2) / 4;
X2 = (2x2 + 2x3) / 4;
X3 = (x3 + 3x4) / 4;
Go to the top of the page
 
+Quote Post
ovs_pavel
сообщение Mar 24 2015, 10:03
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 275
Регистрация: 19-05-06
Пользователь №: 17 249



Цитата(ViKo @ Mar 24 2015, 12:48) *
Например, "распределить" каждые 4 входные точки на 3 выходные, линейно:

X1 = (3x1 + x2) / 4;
X2 = (2x2 + 2x3) / 4;
X3 = (x3 + 3x4) / 4;


Не совсем ясно, где какой пиксел на сколько умножать.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Mar 24 2015, 10:36
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(ovs_pavel @ Mar 24 2015, 13:03) *
Не совсем ясно, где какой пиксел на сколько умножать.

Для линейной интерполяции:
Цитата
P'[0] = P[0];
P'[1] = (2/3)*P[1]+(1/3)*P[2];
P'[2] = (1/3)*P[2]+(2/3)*P[3];

Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 24 2015, 10:56
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(blackfin @ Mar 24 2015, 13:36) *
Для линейной интерполяции:

Это не будет равномерным размазыванием 4-х пикселов на 3. Входные пикселы используются с разным весом. Возможно, и заметно не будет, но...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ovs_pavel   Преобразование видео формата на ПЛИС   Mar 24 2015, 09:25
||- - ViKo   Цитата(ovs_pavel @ Mar 24 2015, 13:03) Не...   Mar 24 2015, 10:09
||- - ovs_pavel   [quote name='blackfin' date='Mar 24 20...   Mar 24 2015, 10:54
|||- - blackfin   Цитата(ovs_pavel @ Mar 24 2015, 13:54) И ...   Mar 24 2015, 11:33
|||- - _pv   Цитата(blackfin @ Mar 24 2015, 17:33) Пре...   Mar 24 2015, 14:42
|- - ViKo   Цитата(ViKo @ Mar 24 2015, 12:48) Наприме...   Mar 24 2015, 13:25
|- - _pv   Цитата(ViKo @ Mar 24 2015, 19:25) Чтобы с...   Mar 24 2015, 14:18
|- - ViKo   Цитата(_pv @ Mar 24 2015, 17:18) x[1] = 2...   Mar 24 2015, 14:24
|- - blackfin   Цитата(_pv @ Mar 24 2015, 17:18) первый в...   Mar 24 2015, 14:55
|- - _pv   Цитата(blackfin @ Mar 24 2015, 20:55) ИМХ...   Mar 24 2015, 16:08
- - aat_81   Можно воспользоваться вот этим http://opencores.or...   Mar 24 2015, 09:50
- - ViKo   Исправился. X'[0] = (5x[0] + x[1]) / 6; X...   Mar 24 2015, 18:24
- - RamZoom   На сайте есть интересующее ВАС описание с пояснени...   Apr 19 2015, 16:38


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

 


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


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