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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Подгонка 5/6/5 RGB под 18 бит (6/6/6) RGB
Саша Z
сообщение Feb 20 2008, 19:39
Сообщение #1


Знающий
****

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



Хочу удостовериться в правильности подхода:
на входе имеем 16 бит RGB данные в формате 5/6/5, т.е. 5 бит на R, B, 6 бит на G.
на выходе нужно 18 бит, т.е. 6 бит на каждый цвет.

Думаю делать так: 5-битные цвета имеют разрешение цвета в 2 раза меньше чем 6-битный, значит их нужно "разтянуть" на 6-битную шкалу. Посему думал каждый полученный sample R или B умножать на 2 (сдвиг влево на 1), таким образом "разжимая" его шкалу линейно на 6-бит, но ессно теряя в резолюции в 2 раза относительно G (который натурально 6 бит).

Что скажем ? Есть лучшие способы сделать подобное ?
Спасибо
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Feb 21 2008, 06:09
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Я бы предварительно посмотрел, как кодируется серый цвет в одном и другом формате, так как именно окраска серых тонов является самым заметным артефактом неправильного преобразования цвета.
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Feb 21 2008, 06:42
Сообщение #3


Знающий
****

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



Цитата(DmitryR @ Feb 21 2008, 10:09) *
Я бы предварительно посмотрел, как кодируется серый цвет в одном и другом формате, так как именно окраска серых тонов является самым заметным артефактом неправильного преобразования цвета.


Да, спасибо, хорошая идея.
Значит нужно проверить color map конкретного дисплея насчет его кодировки по серому относительно полного комплекта RGB, и затем сопоставить это с кодировкой серой шкалы входного формата, так ?
Ежели подогнать серые оттенки, гарантирует ли это правильность цветов ?

А в принципе, может есть смысл рассмотреть перекодировку R, B в 6 бит по нелинейной шкале (обратное S) ?
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 21 2008, 07:06
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Если на входе RGB 565, а не цветоразностный, то наверное нет смысла перекодировать что-либо, просто *2 (сдвиг или прямо назначить на нужные выводы дисплея...).
Кроме того, оттенки серого 6 бит и так выглядят неочень...
А какой дисплей?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Feb 21 2008, 07:37
Сообщение #5


Знающий
****

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



Цитата(torik @ Feb 21 2008, 11:06) *
Если на входе RGB 565, а не цветоразностный, то наверное нет смысла перекодировать что-либо, просто *2 (сдвиг или прямо назначить на нужные выводы дисплея...).
Кроме того, оттенки серого 6 бит и так выглядят неочень...
А какой дисплей?


Спасибо.
Да, дейсвительно, на входе RGB 565, пока закодировал в 666 просто сдвигом влево R и B, либо думаю просто добавлю нули (или '1', пока не уверен) а коде конвертируя в 18 бит.
Выходной дисплей: Kyocera TCG057QV1AC. Это 5.7" TFT со встроенным контроллером, принимает 18 бит RGB вход. В приципе основная информация идет ч/б, т.е. оттенки серого важны (хотя не требуется у них супер резолюция), но вход пред-определен как 565. Цвет нужен только для всяких overlayев (менюшки и т.д.), т.е. там очень высокая точность не сильно важна.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Feb 21 2008, 08:17
Сообщение #6


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



выкинуть нафиг младший бит в шестёрке и задействовать его под альфа канал
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 21 2008, 08:19
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Саша Z @ Feb 21 2008, 10:37) *
Спасибо.
Да, дейсвительно, на входе RGB 565, пока закодировал в 666 просто сдвигом влево R и B, либо думаю просто добавлю нули (или '1', пока не уверен)

Не надо '1' - чистого черного цвета не будет, хотя 1ЕМР вряд ли будет сильно заметна.
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Feb 21 2008, 09:12
Сообщение #8


Знающий
****

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



Цитата(rv3dll(lex) @ Feb 21 2008, 12:17) *
выкинуть нафиг младший бит в шестёрке и задействовать его под альфа канал


Не понял ?
Зачем альфа канал ? В приципе про таковой знаю только по наслышеке, никогда с ним не приходилось работать еще. А вообще оно релевантно мне ?


Цитата(aaarrr @ Feb 21 2008, 12:19) *
Не надо '1' - чистого черного цвета не будет, хотя 1ЕМР вряд ли будет сильно заметна.


Спасибо.
А что такое 1EMP ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 21 2008, 09:16
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Саша Z @ Feb 21 2008, 12:12) *
А что такое 1EMP ?

То же, что и LSB - Единица Младшего Разряда smile.gif
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 21 2008, 10:32
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Если картинка ч/б, то логичнее было бы взять монитор с 24-и битным интерфейсом. Неужели 6 битная ч/б картинка вас устраивает?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Feb 21 2008, 11:08
Сообщение #11


Знающий
****

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



Цитата(torik @ Feb 21 2008, 14:32) *
Если картинка ч/б, то логичнее было бы взять монитор с 24-и битным интерфейсом. Неужели 6 битная ч/б картинка вас устраивает?


smile.gif
Для конкретной аппликации вполне устраивает, тут не идет речь о высокой графике, система работает (только пока на другой дисплей и TV монитор), разрешение по shades - устраивает (опять-же в рамках конкретной аппликации).

Хотя если-бы речь шла о высококачественной графике - наверняка-бы охотно согласился с вами.
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 21 2008, 11:54
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



И как результаты, получается?

Я как раз только-что вывел ч/б картинку на LCD панель, чтобы проверить выше сказанное. И получил какую-то непонятную проблему smile.gif :

- итак, вход 565
- на дисплей 666 R и B сдвигаем на 1 влево (просто назначением пинов)
- пока отсутствует старший разряд (закрываем, к примеру диафрагму, темная картинка) - все впорядке. А как только появляется старший разряд - начинаются какие-то мелькания...

Может и не так все просто...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Feb 21 2008, 12:34
Сообщение #13


Знающий
****

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



Цитата(torik @ Feb 21 2008, 15:54) *
И как результаты, получается?

Я как раз только-что вывел ч/б картинку на LCD панель, чтобы проверить выше сказанное. И получил какую-то непонятную проблему smile.gif :

- итак, вход 565
- на дисплей 666 R и B сдвигаем на 1 влево (просто назначением пинов)
- пока отсутствует старший разряд (закрываем, к примеру диафрагму, темная картинка) - все впорядке. А как только появляется старший разряд - начинаются какие-то мелькания...

Может и не так все просто...


На данном этапе отображаем на OLED дисплее (похожее на то что обычно идет в видоискателях цифровых камер, там где электронные видоискатели, не оптические), картинка в видоискателе нормальная, т.е. нашим требованиям удовлетворяет. Там OLED имеет сериальный вход 8 бит (т.е. R -> G -> B, бит на каждый), но мы подаем 5/6/5 так что данные сдвинуты на MSB.
Кроме того идет выход видео на TV монитор, но там composite ессно, и я не уверен а каком формате там были данные в оригинале (до конвертации в composite) ибо это делается не нами и внутри системы в которую у нас доступа нет.

В вашем случае получается что кода старший разряд на входе обнулен (в 565 - темная картинка) а мы сдвигаем нулем влево - мы по идее все-равно должны получить примерно схожий уровен в выходном формате (0х01111 в 5-битном формате должен примерно соответствовать 0х011110). Небольшие искажения можно ожидать, но по идее ничего драмматического...
Нужно подумать что происходит в вашем случае...
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 21 2008, 12:52
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



В моем случае что-то другое, похоже на жуткие помехи по питанию smile.gif


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Feb 21 2008, 13:13
Сообщение #15


Знающий
****

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



Цитата(torik @ Feb 21 2008, 16:52) *
В моем случае что-то другое, похоже на жуткие помехи по питанию smile.gif


Ну, в вашем случае - вам виднее... wink.gif
Go to the top of the page
 
+Quote Post

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

 


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


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