Устройство и способ обработки цвета видеоизображения в режиме реального времени
Иллюстрации
Показать всеИзобретение относится к обработке видеоизображения в режиме реального времени. Техническим результатом является увеличение глубины цвета изображения с одновременным удалением ложных контуров в режиме реального времени. Технический результат достигается тем, что блок увеличения битовой глубины выполнен с возможностью масштабирования глубины цвета кадра видеоизображения, блок разделения на области выполнен с возможностью разделения кадра видеоизображения на области одинакового размера для каждого цвета и обеспечения последовательного переключения между областями и цветами, при этом каждый конвейер выполнен с возможностью удаления ложных контуров одновременно в двух областях по четырем направлениям, а блок усреднения выполнен с возможностью вычисления усредненной суммы данных с выходов четырех конвейеров для каждого цвета. 2 н. и 14 з.п. ф-лы, 3 ил.
Реферат
Изобретение относится к устройствам и способам обработки видеоданных, а более конкретно к устройствам и способам обработки цвета видеоизображения в режиме реального времени, и может быть использовано при конструировании дисплеев.
Конструкция современных PDP и LCD дисплеев позволяет использовать цвет глубиной 14-16 бит для отображения видеокадров (16 бит эквивалентны 65536 градациям каждого цвета). Такая глубина цвета хорошо соответствует восприятию человеческого глаза и обеспечивает высокое качество изображения. Однако видеосигнал на входе устройства отображения часто имеет глубину цвета 8 бит (256 градаций цвета). В результате высокая цветовая глубина современных дисплеев становится бесполезной в случае, когда входной видеосигнал имеет меньшую цветовую глубину. Уменьшение глубины цвета до 8 бит приводит к появлению искажений на изображении в виде «ложных» контуров, которые можно описать как ступенчатые изменения интенсивности цвета на изображении в областях, соответствующих непрерывному изменению цвета в оригинале.
Ложные контуры хорошо распознаются человеческим глазом и ухудшают впечатление о качестве видеоизображения. В частности, эти искажения становятся более заметными при увеличении размера экрана. Наблюдая данные искажения, пользователь не может определить, являются ли данные искажения следствием плохого качества видеосигнала или дисплея, и в итоге может остаться недоволен качеством дисплея. Таким образом, для получения на дисплее изображения высокого качества с высокой глубиной цвета актуально создание устройства и способа увеличения глубины цвета видеоизображения. Данное устройство должно удовлетворять нескольким основным условиям:
- применяться в режиме реального времени в дисплеях в качестве аппаратного блока обработки видеоизображения;
- быть дешевым для применения и массового производства;
- оперировать целочисленными величинами;
- уменьшать искажения изображения, в частности уменьшать ложные контуры, не изменяя при этом реальные контуры;
- приблизить качество видеоизображения к оригиналу.
В настоящее время глубину цвета входного видеоизображения увеличивают путем обычного масштабирования, при этом качество масштабированного изображения не улучшается. В частности, при масштабировании не удаляются ложные контуры. Существует несколько способов удалить ложные контуры.
Один из них заключается в применении процедуры наложения шума (dithering) для сглаживания ложных контуров (см. патент США №7038814 [1]), однако добавление высокочастотного шума не является корректным способом сохранения высокочастотной информации в изображении, поскольку информация о мелких пространственных деталях изображения в этом случае размывается и теряется на фоне шумовых осцилляции.
Известно также использование бикубической, двумерной сплайн или триангуляционной интерполяции всего изображения на нерегулярной расчетной сетке (см. патент США №5602979 [2]). Применение данных способов двумерной интерполяции для реконструкции изображения в случае сложных, многосвязных областей требует одновременного решения большого числа уравнений и невыполнимо в режиме реального времени.
Маскирование сглаженного изображения оригинальным (см. патент США №5383457 [3]) для восстановления реальных контуров неизбежно ведет к наложению ложных контуров, присутствующих в оригинальном изображении. В результате амплитуда ложных контуров уменьшается, но сами ложные контуры не исчезают.
Наиболее близким к заявленному изобретению является способ POCS (projection onto convex sets), описанный в патенте США №5696848 [4]), в котором используют информацию из нескольких кадров видеоизображения для увеличения битовой глубины на основе различий яркости каждого кадра с низкой битовой глубиной. Данный способ выбран в качестве прототипа заявленного изобретения. Недостатком способа POCS является сложность вычислений, невыполнимых в режиме реального времени.
Таким образом, недостатки существующих способов заключаются в медленной скорости вычислений, недостаточной для их реализации в режиме реального времени, а также в необходимости использования значительных аппаратных ресурсов, в т.ч. процессоры, оперативная память, что недопустимо увеличивает стоимость реализации данных способов в дисплеях на стадии массового производства.
Задачей заявленного изобретения является создание устройства и способа обработки цвета изображения, которые позволяют корректно увеличить глубину цвета изображения с одновременным удалением ложных контуров и обеспечивают возможность дешевой аппаратной реализации в режиме реального времени.
Поставленная задача решена путем создания устройства обработки цвета видеоизображения в режиме реального времени, при этом устройство включает в себя соединенные последовательно входной порт, блок увеличения битовой глубины цвета, блок разделения на области, четыре параллельных конвейера, каждый из которых состоит из двух каскадов, а также блок усреднения, блок объединения и выходной порт, причем входной и выходной порты выполнены с возможностью приема и передачи кадров видеоизображения, блок увеличения битовой глубины выполнен с возможностью масштабирования глубины цвета кадра видеоизображения, блок разделения на области выполнен с возможностью разделения кадра видеоизображения на области одинакового размера для каждого цвета и обеспечивает последовательное переключение между областями и цветами, при этом каждый конвейер выполнен с возможностью удаления ложных контуров одновременно в двух областях по четырем направлениям, блок усреднения выполнен с возможностью вычисления усредненной суммы данных с выходов четырех конвейеров для каждого цвета, а блок объединения - с возможностью формирования итогового кадра видеоизображения из областей кадра с удаленными ложными контурами.
Для функционирования устройства важно, чтобы входной порт был выполнен с возможностью приема кадров видеоизображения с глубиной цвета 8 бит.
Для функционирования устройства важно, чтобы блок увеличения битовой глубины был выполнен с возможностью масштабирования глубины цвета кадра видеоизображения в q раз, где q отражает различие между глубиной цвета входного и выходного кадров видеоизображения.
Для функционирования устройства важно, чтобы разделитель был выполнен с возможностью разделения кадра видеоизображения на n областей одинакового размера для каждого цвета.
Для функционирования устройства важно, чтобы первый конвейер состоял из первого каскада вертикальной интерполяции и второго каскада горизонтальной интерполяции, второй конвейер состоял из первого каскада горизонтальной интерполяции и второго каскада вертикальной интерполяции, третий конвейер состоял из первого каскада диагональной интерполяции под углом -45 (минус сорок пять) градусов по отношению к горизонтальной оси и второго каскада диагональной интерполяции под углом +45 (плюс сорок пять) градусов по отношению к горизонтальной оси, четвертый конвейер состоял из первого каскада диагональной интерполяции под углом +45 (плюс сорок пять) градусов по отношению к горизонтальной оси и второго каскада диагональной интерполяции под углом -45 (минус сорок пять) градусов по отношению к горизонтальной оси.
Для функционирования устройства важно, чтобы каждый конвейер был выполнен с возможностью удаления ложных контуров одновременно в двух областях, при этом второй каскад конвейера с возможностью удаления ложных контуров в текущей области, а первый каскад с возможностью удаления ложных контуров в следующей области.
Для функционирования устройства важно, чтобы каждый каскад конвейера был выполнен с возможностью удаления ложных контуров в текущей области с помощью линейной интерполяции между средними точками.
Для функционирования устройства важно, чтобы направление интерполяции во втором каскаде конвейера было перпендикулярно направлению интерполяции в первом его каскаде для каждого конвейера.
Поставленная задача решена также путем создания способа обработки цвета видеоизображения в режиме реального времени, включающего в себя следующие операции:
- подают входной кадр видеоизображения в блок увеличения битовой глубины через входной порт;
- масштабируют глубину цвета входного кадра видеоизображения в блоке увеличения битовой глубины;
- разделяют входной кадр видеоизображения с масштабированной глубиной цвета на области одинакового размера в блоке разделения на области;
- удаляют ложные контуры каждой области одновременно в четырех конвейерах, причем сначала в первых каскадах конвейеров, затем во вторых каскадах, с помощью линейной интерполяции между средними точками;
- вычисляют среднее арифметическое данных с выходов четырех конвейеров для каждого цвета и формируют итоговый кадр видеоизображения путем объединения областей с удаленными ложными контурами в блоке объединения;
- подают обработанный кадр видеоизображения на выходной порт.
Для функционирования способа важно, чтобы удаляли ложные контуры каждой области с помощью линейной интерполяции между средними точками, определяемыми как среднее арифметическое двух соседних уровней квантования согласно выражениям
где i, j - индексы, соответствующие координатам пикселя области, р1 - опорная точка, р2 - движущаяся точка, следующая по отношению к р1, рm - средняя точка, полученная в результате предыдущей итерации, counter - вспомогательная переменная-счетчик, k - вспомогательная переменная, причем k меняется от 1 до counter, причем, если р2≈p1, то р2 смещают дальше от p1, и увеличивают counter, если р2 отличается от р1 не более чем на предопределенную пороговую величину (±3q), осуществляют интерполяцию, затем обнуляют counter и смещают точки р1 и р2 в новую позицию, соответствующую началу следующей ступеньки, если р2 отличается от p1 более чем на предопределенную пороговую величину (±3q), это распознают как наличие реального контура в изображении, точки p1 и р2 смещают в новую позицию, соответствующую началу следующей ступеньки и таким образом сохраняют реальные контуры.
Для функционирования способа важно, чтобы масштабировали глубину цвета за счет сохранения входных данных в формате 16 бит на цвет и умножения значений цветовой интенсивности на q=216-8=256 для 8-битного цвета на входе и 16-битного цвета на выходе.
Для функционирования способа важно, чтобы в первом каскаде каждого конвейера удаляли ложные контуры в следующей области, а во втором каскаде каждого конвейера ложные контуры текущей области.
Для функционирования способа важно, чтобы направление интерполяции во втором каскаде конвейера было перпендикулярно направлению интерполяции в первом его каскаде для каждого конвейера.
Для функционирования способа важно, чтобы вычисляли усредненную сумму данных с выхода четырех конвейеров для каждого цвета, при этом цвет каждого пикселя в результирующем изображении определяли как среднее арифметическое по четырем соответствующим пикселям, полученным на выходе конвейеров.
Для функционирования способа важно, чтобы подавали обработанный кадр видеоизображения на выходной порт и при этом одновременно подавали на входной порт следующий кадр видеоизображения.
Техническим результатом заявленного изобретения является повышение качества входного видеоизображения за счет увеличения глубины цвета, а также повышение быстродействия и снижение себестоимости аппаратной реализации по сравнению с возможными альтернативными решениями за счет оптимизации последовательности выполнения операций способа и уменьшения количества вычислительных ресурсов и объема памяти, используемых в устройстве.
Для лучшего понимания настоящего изобретения далее приводится его подробное описание с соответствующими чертежами.
Фиг.1. Блок-схема устройства обработки цвета видеоизображения в режиме реального времени, выполненная согласно изобретению.
Фиг.2. Схема функционирования первого и третьего конвейеров устройства обработки входного видеоизображения в режиме реального времени, выполненная согласно изобретению.
Фиг.3. Схема коррекции ложных контуров.
Устройство обработки входного видеоизображения в режиме реального времени (Фиг.1) включает в себя соединенные последовательно входной порт 1, блок 2 увеличения битовой глубины, блок 3 разделения на области, четыре параллельных конвейера 4-7, каждый из которых состоит из двух каскадов 8-15, а также блок 16 усреднения, блок 17 объединения и выходной порт 18.
Входные 8-битные данные текущего кадра видеоизображения поступают через входной порт 1 в блок 2 увеличения битовой глубины. Блок 2 увеличивает битовую глубину кадра видеоизображения путем увеличения разрядности матриц интенсивности цвета для каждого цвета с 8 до 16 бит. Затем матрица каждого цвета кадра изображения подвергается разделению в блоке 3 разделения на n областей одинакового размера. Каждая область параллельно обрабатывается в четырех конвейерах 4-7, а переключение между областями в пределах одного цвета и между цветами происходит последовательно. Такой параллельно-последовательный подход позволяет уменьшить количество используемой памяти и существенно сократить стоимость устройства. Параметр n является настраиваемым и должен быть задан на стадии проектирования аппаратной реализации устройства с учетом оптимальной конечной стоимости устройства.
Выбор очередной области в блоке 3 разделения на области сопровождается копированием данных интенсивности цвета этой области в четыре вспомогательные матрицы mat1, mat2, mat3 и mat4 одинакового размера. Каждая из этих матриц предназначена для хранения исходных данных интенсивности цвета области для соответствующего конвейера. Двухкаскадные конвейеры 4-7 обрабатывают данные последовательно в первом и втором каскадах, удаляя ложные контуры в каждом каскаде 8-15, при этом в каждом конвейере направления обработки первого и второго каскадов взаимно перпендикулярны, что позволяет достичь лучшего подавления ложных контуров. В пределах каждого каскада обработка данных выполняется параллельно по одномерным массивам. Данное параллельное выполнение существенно увеличивает общую скорость обработки и обеспечивает реализуемость метода в режиме реального времени. Вместо традиционной двумерной обработки, когда все строки и столбцы должны обрабатываться одновременно, в предложенном методе каждая строка, столбец и диагональ обрабатываются отдельно от других, при этом используются одномерные массивы, а не двумерные матрицы. Эта особенность позволяет обрабатывать области полностью параллельно и упрощает интерполяционные уравнения. Кроме того, структура конвейеров позволяет использовать первый каскад для обработки следующей области, а второй каскад для обработки текущей области, за счет чего общая скорость обработки увеличивается в два раза.
Удаление ложных контуров в каскадах во всех направлениях осуществляют путем обработки одномерных массивов с применением концепции «бегущих точек» и LIBMP метода (Фиг.2-3) следующим образом. В методе существует три бегущие точки: опорная точка p1, движущаяся точка р2 и средняя точка от предыдущей итерации рm. Точка p1 является опорной стартовой точкой, ее положение соответствует координатам опорного пикселя, а значение соответствует интенсивности цвета данного пикселя. В случае когда обрабатывается начало одномерного массива, точка p1 устанавливается на первую позицию массива, а точка рm приравнивается p1, поскольку предыдущая итерация для данного массива не существует. В остальных случаях рm содержит результат предыдущей итерации и определяется как среднее арифметическое интенсивностей цвета двух соседних пикселей, принадлежащих разным ступеням квантования (Фиг.3). Точка р2 является следующей по отношению к р1, и ей соответствует интенсивность цвета следующего пикселя. Если р2≈р1, то полагают, что не существует реальных или ложных контуров, и смещают р2 дальше от р1, а также увеличивают вспомогательную переменную counter (Фиг.3.1). Если р2 отличается от p1 не более чем на предопределенную пороговую величину (±3q), где q есть шаг квантования (q=216-8=256 для 8-битного цвета на входе и 16-битного цвета на выходе), полагают, что p1 и р2 принадлежат некоторой низкочастотной области, которую можно сгладить интерполяцией (Фиг.3.2). В этом случае вычисляют интерполяционную линию согласно следующему выражению (для первого конвейера 4)
где k меняется от 1 до counter, после чего counter обнуляют; i, j являются у и х координатами пикселя области. Для остальных конвейеров вычисления аналогичны, но их результаты помещают в матрицы mat2, mat3 и mat4 соответственно. После интерполяции точки р1 и р2 смещают в новую позицию, соответствующую началу следующей ступеньки, как показано на Фиг.3.2. Если р2 отличается от p1 более чем на предопределенную пороговую величину (±3q), полагают, что контур реальный и смещают бегущие точки в новую позицию. Это позволяет успешно удалить ложные контуры и сохранить высокочастотную информацию (реальные контуры) в кадре изображения.
После обработки области во всех конвейерах 4-7 результаты вычислений усредняются в блоке 16 усреднения в соответствии с выражением
Затем результаты помещают в блок 17 объединения для формирования выходного кадра видеоизображения с глубиной цвета шестнадцать бит. Выходной кадр передают в выходной порт 18, откуда кадр может поступать в аппаратный блок дисплея, формирующий видеоизображение на экране. Одновременно с этим новый видеокадр загружают во входной порт 1. Таким образом, заявленное устройство обрабатывает входящее видеоизображение кадр за кадром в режиме реального времени.
Использование интерполяции по четырем направлениям в конвейерных каскадах 8-15 и усреднение результатов по этим направлениям в блоке 16 усреднения обеспечивает большую однородность результатов обработки и снимает зависимость результатов от ориентации ложных контуров в исходных кадрах и динамических изменений видеоизображения при смене кадров.
Заявленное изобретение может применяться в современных SD/HD дисплеях.
Основное преимущество заявленного устройства и способа состоит в совмещении эффективности способа, низкой стоимости аппаратной реализации устройства и высокой скорости выполнения способа в режиме реального времени. Это достигнуто путем применения нескольких концепций:
- Основной принцип улучшения качества видеоизображения состоит в сглаживании ступенчатых переходов шириной в один пиксель, вызванных эффектами квантования, которые хорошо различимы человеческим глазом.
- Лучшим вариантом сглаживания ступенчатых переходов шириной в один пиксель является их линейная интерполяция между средними точками (LIBMP).
- Наиболее быстрой реализацией метода LIBMP является сочетание предложенной концепции «бегущих точек» и соответствующих простых интерполяционных уравнений с минимумом арифметических операций.
- Все операции способа производят с целочисленными величинами.
- При обработке кадра входного видеоизображения не используют сложную сегментацию для нахождения ложных и реальных контуров.
- Параллельно обрабатывают каждую строку, столбец и диагональ входного кадра видеоизображения.
- Результаты интерполяции усредняют для получения более стабильного изображения, не зависящего от смены видеосюжета.
Следует иметь в виду, что указанный выше вариант выполнения изобретения был изложен с целью иллюстрации настоящего изобретения, и специалистам должно быть ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла настоящего изобретения, заявленного в прилагаемой формуле изобретения.
1. Устройство обработки цвета видеоизображения в режиме реального времени включает в себя соединенные последовательно входной порт, блок увеличения битовой глубины цвета, блок разделения на области, четыре параллельных конвейера, каждый из которых состоит из двух каскадов, а также блок усреднения, блок объединения и выходной порт, причем входной и выходной порты выполнены с возможностью приема и передачи кадров видеоизображения, блок увеличения битовой глубины выполнен с возможностью масштабирования глубины цвета кадра видеоизображения, блок разделения на области выполнен с возможностью разделения кадра видеоизображения на области одинакового размера для каждого цвета и обеспечивает последовательное переключение между областями и цветами, при этом каждый конвейер выполнен с возможностью удаления ложных контуров одновременно в двух областях по четырем направлениям, блок усреднения выполнен с возможностью вычисления усредненной суммы данных с выходов четырех конвейеров для каждого цвета, а блок объединения с возможностью формирования итогового кадра видеоизображения из областей кадра с удаленными ложными контурами.
2. Устройство по п.1, отличающееся тем, что входной порт выполнен с возможностью приема кадров видеоизображения с глубиной цвета 8 бит.
3. Устройство по п.1, отличающееся тем, что блок увеличения битовой глубины выполнен с возможностью масштабирования глубины цвета кадра видеоизображения в q раз, где q отражает различие между глубиной цвета входного и выходного кадров видеоизображения.
4. Устройство по п.1, отличающееся тем, что разделитель выполнен с возможностью разделения кадра видеоизображения на n областей одинакового размера для каждого цвета.
5. Устройство по п.1, отличающееся тем, что первый конвейер состоит из первого каскада вертикальной интерполяции и второго каскада горизонтальной интерполяции, второй конвейер состоит из первого каскада горизонтальной интерполяции и второго каскада вертикальной интерполяции, третий конвейер состоит из первого каскада диагональной интерполяции под углом -45° по отношению к горизонтальной оси и второго каскада диагональной интерполяции под углом +45° по отношению к горизонтальной оси, четвертый конвейер состоит из первого каскада диагональной интерполяции под углом +45° по отношению к горизонтальной оси и второго каскада диагональной интерполяции под углом -45° по отношению к горизонтальной оси.
6. Устройство по п.1, отличающееся тем, что каждый конвейер выполнен с возможностью удаления ложных контуров одновременно в двух областях, при этом второй каскад конвейера с возможностью удаления ложных контуров в текущей области, а первый каскад с возможностью удаления ложных контуров в следующей области.
7. Устройство по п.1, отличающееся тем, что каждый каскад конвейера выполнен с возможностью удаления ложных контуров в текущей области с помощью линейной интерполяции между средними точками.
9. Устройство по п.1, отличающееся тем, что направление интерполяции во втором каскаде конвейера перпендикулярно направлению интерполяции в первом его каскаде для каждого конвейера.
10. Способ обработки цвета видеоизображения в режиме реального времени, включающий в себя следующие операции:
подают входной кадр видеоизображения в блок увеличения битовой глубины через входной порт;
масштабируют глубину цвета входного кадра видеоизображения в блоке увеличения битовой глубины;
разделяют входной кадр видеоизображения с масштабированной глубиной цвета на области одинакового размера в блоке разделения на области;
удаляют ложные контуры каждой области одновременно в четырех конвейерах, причем сначала в первых каскадах конвейеров, затем во вторых каскадах, с помощью линейной интерполяции между средними точками;
вычисляют среднее арифметическое данных с выходов четырех конвейеров для каждого цвета и формируют итоговый кадр видеоизображения путем объединения областей с удаленными ложными контурами в блоке объединения;
подают обработанный кадр видеоизображения на выходной порт.
11. Способ по п.10, отличающийся тем, что удаляют ложные контуры каждой области с помощью линейной интерполяции между средними точками, определяемыми как среднее арифметическое двух соседних уровней квантования согласно выражениям
где i, j - индексы, соответствующие координатам пикселя области; p1 - опорная точка; р2 - движущаяся точка, следующая по отношению к p1; рm - средняя точка, полученная в результате предыдущей итерации; counter - вспомогательная переменная-счетчик; k - вспомогательная переменная, причем k меняется от 1 до counter, причем, если p2≈p1, то p2 смещают дальше от p1 и увеличивают counter, если p2 отличается от p1 не более чем на предопределенную пороговую величину (±3q), осуществляют интерполяцию, затем обнуляют counter и смещают точки p1 и р2 в новую позицию, если р2 отличается от p1 более чем на предопределенную пороговую величину (±3q), это распознают как наличие реального контура на изображении, точки p1 и р2 смещают в новую позицию, соответствующую началу следующей ступеньки, и таким образом сохраняют реальные контуры.
12. Способ по п.10, отличающийся тем, что масштабируют глубину цвета за счет сохранения входных данных в формате 16 бит на цвет и умножения значений цветовой интенсивности на q=216-8=256 для 8-битного цвета на входе и 16-битного цвета на выходе.
13. Способ по п.10, отличающийся тем, что в первом каскаде каждого конвейера удаляют ложные контуры в следующей области, а во втором каскаде каждого конвейера ложные контуры текущей области.
14. Способ по п.10, отличающийся тем, что направление интерполяции во втором каскаде конвейера перпендикулярно направлению интерполяции в первом его каскаде для каждого конвейера.
15. Способ по п.10, отличающийся тем, что вычисляют усредненную сумму данных с выхода четырех конвейеров для каждого цвета, при этом цвет каждого пикселя в результирующем изображении определяют как среднее арифметическое по четырем соответствующим пикселям, полученным на выходе конвейеров.
16. Способ по п.10, отличающийся тем, что подают обработанный кадр видеоизображения на выходной порт и при этом одновременно подают на входной порт следующий кадр видеоизображения.