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

 
 
> QCIF -> NTSC ?, Конвертирование 3230х240 в NTSC...
Саша Z
сообщение Nov 27 2007, 13:01
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Есть задача отображения натурально предназначенной для 320х240 LCD картинки на мониторе/TV NTSC.
По ходу дела RGB данные (для LCD) будут проходить gamma-correction как один из этапов подготовки к переводу в формат CCIR 601, то бишь YCbCr 4:2:2. След. этам это scaling 320х240 на резолюцию NTSC для телевизора/TV монитора. Посему скейлить нужно под резолюцию 720х485 (для сохранения правильного aspect ratio ибо стандартные TV пиксели не квадратные).

Вопрос состоит в том - как правильно делать upscale картинки 320х240 в 720х485 ? Думаю делать его в RGB, т.е. еще до перевода в YCbCr 4:2:2. Или-же лучше делать уже в YCbCr 4:2:2 ?

Какие есть рекоммендуемые подходы к этому ? В горизонтальном направлении - просто дублировать пиксели ? Или какая-то более хитрая интерполяция ?

Идеи ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Саша Z
сообщение Nov 27 2007, 14:35
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 921
Регистрация: 6-04-07
Из: Israel
Пользователь №: 26 822



Сам себе отвечаю:
думаю упростить задачу: делать upscale до VGA (640х480) что наверно значительно легче. Затем VGA картинку "одеть" в черную рамку пдоогнав общий размер до нужных 720х485 (active video) + нужные blank пиксели и lines.

Кроме того, т.к. на входе - progressive, нужно делать interlacing для выхода. Думаю делать его след. образом (разговор пока только касательно active video):
Иметь буфер картинки размером 640х240 и выгонять его наружу encoderу со скоростью 60 fps "маскируя" каждый такой frame под field, естественно с соответствующими field кодаму цинхронизации. Таким образом, encoder будет получать нужные interlaced syncs и "обманным" путем будет счутать каждый frame на входе - fieldом. Т.е. получим вертикальный up-scaling удвоением каждой реальной строки картинки.

Теперь вопрос в следующем: как грамотно интерполировать 320 пикселей в 640 ? Просто удваивать каждый пиксель ? Делать среднее каждых двух соседних пикселей и вставлять его между ними ? Подозреваю последнее добавит резмытости в картинке...(понадобиться какой-нить фильтр подшарпить ?)

Что скажем ?
Go to the top of the page
 
+Quote Post
ryhor
сообщение Nov 28 2007, 05:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 38
Регистрация: 3-04-06
Пользователь №: 15 742



Пока скажу только по увеличению разрешения.
картинка в YCbCr - имеет некое преимущество для обработки - а именно вот такое: Необходимо аккуртано работать только с Y компонентой, а Cb и Cr можно обрабатывать гораздо более безжалостно.
т.е. скажем например Y бикубиком - а эти два просто ближайшим. Причина такой возможности - в способе восприятия глазом яркостной и цветовой информации.

кстати если я правильно понимаю у вас 320х240 есть RGB и можете получить 320х240 4:4:4 YCbCr
тогда для х2 увеличения - Cb Cr компоненты трогать нужно совсем немного. ну или другими словами 4:4:4 на 320х240 и 4:2:2 на 640х480 для Cb Cr компонент не требуют много обработки.

думаю для вас ничего нового - но для общности картины
http://www.answers.com/main/ntq-sname-Guru...oma+subsampling
Go to the top of the page
 
+Quote Post



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

 


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


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