Виртуальный пиксель: Рекламный трюк или улучшение качества изображения
В последнее время фирмы, продающие большие светодиодные экраны, особенно в Юго-Восточной Азии и в России, в целях продвижения своего товара на рынке заявляют о том, что их видеэкраны используют технологию “виртуального пикселя”, которая позволяет удвоить фактическое разрешение экрана, то есть видеоэкран с обычным - реальным разрешением в пикселях 320х240, превращается в экран с виртуальным разрешением 640х480.
При этом все ведущие компании – Daktronics, Optotech, Barco, Lighthouse и др. в настоящее время бьются за создание новых моделей с большим разрешением в реальных пикселях. и во всех своих новых моделях отказались от использования технологии виртуального пикселя, хотя в предыдущих моделях, они также заявляли, о ее использовании. Итак, почему же ведущие разработчики и производители светодиодных экранов от технологии виртуального пикселя отказываются?
Попытаемся пояснить данную ситуацию и разобраться, где и когда имеет смысл использовать технологию виртуального пикселя и правда ли, что виртуальный пиксель увеличивает реальное разрешение в два раза. Не всегда удается получить реальную информацию от поставщика о том, что именно обозначают слова виртуальный пиксель в каждом конкретном случае. Покупателя уверяют, что модель с виртуальным пикселем ничем не хуже, чем подобная же модель с реальным пикселем.
К сожалению, оказывается, что в большинстве случаев виртуальный пиксель - ловкий маркетинговый прием. Новизны в этом подходе нет, а небольшие преимущества уравновешиваются недостатками, о которых, разумеется, поставщики светодиодных экранов предпочитают умолчать. Давайте разберемся.
Возьмем видеоэкран с пикселями, состоящими из световых элементов (неважно, что это за элементы – светодиоды, лампочки накаливания или что-либо еще) расположенных в виде квадрата. Каждый из световых элементов излучает свет определенной длины волны (или узкого диапазона), то есть, проще говоря, каждый элемент светит своим цветом. Например, пиксель может выглядеть как на Fig.1.
При выводе какого-нибудь изображения на видеоэкран в нормальном режиме каждый пиксель исходного изображения отображается на соответствующий пиксель экрана. Например, если пиксель в левом верхнем углу изображения имел цвет R,G,B, то пиксель (в указанной выше конфигурации) в левом верхнем углу экрана будет выглядеть так, как на Fig.2. При этом предполагается, что световые элементы в пикселе уже сбалансированы по яркости и никакой дополнительной коррекции не делается.
В режиме же виртуального пикселя каждый пиксель исходного изображения отображается уже не на пиксель видеоэкрана, а на световой элемент (то есть на часть пикселя). При этом исходное изображение берется удвоенного разрешения, чтобы каждый пиксель изображения в точности соответствовал какому-либо одному световому элементу экрана. Например, 4 пикселя левого верхнего угла исходного изображения Fig.3, отобразятся в результате виртуализации на один пиксель видеоэкрана следующим образом Fig.4.
Таким образом, в режиме виртуального пикселя получается, что в одном пикселе видеоэкрана собрана информация о четырех пикселях исходного изображения. При этом выводимое на экран исходное изображение имеет удвоенное разрешение по каждому измерению, по сравнению с физическим разрешением экрана. Из этого обычно делается вывод, что разрешение видеоэкрана также удваивается. Однако это не совсем так. Дело в том, что в пикселе экрана собрана не вся информация о четырех пикселях исходного. Остальная информация теряется. Проявиться это может следующим образом.
Пусть исходное изображение (а оно имеет удвоенное разрешение по сравнению с пиксельным разрешением видеоэкрана) выглядит так: на черном фоне проведена горизонтальная линия зеленого цвета толщиной в 1 пиксель. При выводе на экран картина получается такой: если эта линия находится в четном ряду пикселей, то на экране получается соответствующая зеленая линия, если же линия находится в нечетном ряду, то линии на экране нет, то есть видеоэкран остается черным. Общими словами проблема выражается в том, что на мелких деталях и на резких переходах цвета появляются цветовые искажения (артефакты), которые отсутствовали на исходном изображении.
Есть ли у этой технологии достоинства? Да. Она позволяет в некоторых случаях немного повысить детализацию изображения (правда, ценой внесения цветовых искажений в эти самые детали). Обычно это может быть полезно для изображений с плавными цветовыми переходами или же, наоборот, если изображение настолько пестрое, что цветовые искажения на переходах просто не будут заметны. В некотором смысле можно говорить только об удвоении разрешения для черного цвета, так как только при черном цвете все световые элементы выглядят одинаково, то есть, не светят совсем.
Сказанное выше относилось к простейшей реализации виртуального пикселя. Этот подход может быть модифицирован. Обычно такие модификации идут по пути вывода некоторого усредненного значения. Усреднение может быть пространственным или временным. При простом пространственном усреднении вместо четырех пикселей исходного изображения на экран выводится один пиксель, получающийся по какому-то алгоритму усреднения (например, просто среднее арифметическое исходных пикселей).
При простом временном усреднении в одном пикселе видеоэкрана выводится с большей частотой (например, с удвоенной или учетверенной) один из четырех пикселей исходного изображения. Возможны также комбинации этих подходов. Вопрос об “оптической эквивалентности” (т.е. отличается ли для человеческого глаза изображение на экране при использовании разных подходов) пространственного и временного усреднения, к сожалению, в настоящий момент нерешен.
В целом же общее впечатление от применения виртуального пикселя в рутинном рабочем процессе на практике обычно приводит к выводу о необходимости отключения этой технологии (если система управления видеоэкраном позволяет сделать это), поскольку не всегда есть возможность при подготовке исходных материалов внимательно отслеживать появление артефактов и бороться с ними.
Если же отключить виртуальный пиксель невозможно, а артефакты слишком явно бросаются в глаза, то можно пытаться бороться с артефактами, немного размывая (например, фильтрами типа “blur”) выводимые на экран изображения (что, конечно, лишает смысла применение технологии виртуального пикселя, поскольку при размытии утрачиваются детали, поэтому здесь главное – не перестараться).
По своему смыслу различные варианты виртуального пикселя у разных производителей являются реализациями некоторых алгоритмов сглаживания (интерполяции) изображений “в железе”. Однако ввиду того, что не существует универсальных алгоритмов интерполяции (разные типы изображений требуют разных алгоритмов), использование виртуального пикселя во всех случаях нецелесообразно.
Вместо этого можно рекомендовать следующий подход: подготовленные исходные материалы в удвоенном разрешении приводить к реальному разрешению программным путем с использованием подходящего именно для данного типа материала алгоритма интерполяции (программы, в которых готовятся исходные материалы, обычно имеют неплохой выбор подобных алгоритмов). Такой подход позволит получать предсказуемые результаты, то есть на экран будет выведено такое же изображение, которое видно на дисплее компьютера, без дополнительных артефактов.
Все вышесказанное относится к видеоэкранам с равномерным заполнением полотна экрана световыми элементами, то есть когда расстояние между всеми световыми элементами одного цвета (в том числе и разных пикселей) одно и то же по всему экрану. Иначе говоря, световые элементы одного пикселя не сгруппированы вместе таким образом, что между пикселями остаются большие промежутки.
В случае сгруппированных пикселей также есть алгоритмы виртуализации, при этом исходное изображение может потребоваться еще большего (например, утроенного) разрешения по сравнению с пиксельным разрешением видеоэкрана, однако это, конечно, не означает, что разрешение экрана возрастает в соответствующей пропорции (в три раза и более). Также можно придумать алгоритмы реализации виртуального пикселя для случаев, когда световые элементы расположены не в виде прямоугольного массива (например, пиксель может состоять из 3 элементов R,G,B, расположенных в виде равностороннего треугольника).
Кроме того, встречаются ошибочные реализации виртуального пикселя, когда теряется еще больше информации, что приводит к совершенно неприемлемым результатам. Собственно, технология виртуального пикселя в больших электронных видеоэкранах достаточно старая. Она ведет свое происхождение от ламповых экранов, где она называлась “режим лампочек” (bulb-mode). Разрешение ламповых экранов было значительно меньше разрешения современных светодиодных экранов, а размер световых элементов и пикселей – значительно больше, поэтому предпринимались попытки сгладить выводимое на видеоэкран изображение. Все вышесказанное в полной мере относится и к этому случаю.