УДК 004.67
Т. М. Сухов
РЕАЛИЗАЦИЯ ПРИНЦИПА ПОСТОЯННОЙ ЦВЕТОВОЙ ЯРКОСТИ ДЛЯ СИСТЕМ КОДИРОВАНИЯ ВИДЕОИНФОРМАЦИИ
Рассматриваются вещественная и целочисленная реализации принципа постоянной цветовой яркости для различных платформ кодирования видеоинформации. Приведены результаты сравнительного анализа целочисленных вариантов реализации принципа постоянной цветовой яркости.
Ключевые слова: принцип постоянной цветовой яркости, кодирование цветовой информации, цифровое телевидение.
Введение. Одна из проблем современных цифровых систем обработки видеоинформации — повышение четкости при передаче цветовых сигналов. В таких системах для формирования яркостных и цветоразностных компонентов используется принцип постоянной яркости. Этот принцип, однако, имеет такие недостатки, как неточное воспроизведение яркости насыщенных цветов и ухудшение четкости воспроизведения ахроматических деталей и изображений по мере увеличения насыщенности цветов [1]. Указанные недостатки обусловлены, с од-
1111
ной стороны, формированием яркостного компонента Еу = 0,299Ек + 0,587Ес + 0,114Ев [2], а с другой — фактором формирования информации о цветовой четкости цветоразностными компонентами Ек_у = 0,701ЕК - 0,587Е0 - 0,114Ев и Ев_у = 0,886Ев - 0,299Ек - 0,587Е0, где
I I I
Ек, Ес, Ев — сигналы, определяющие основные первичные цвета [3], регулируемые телевизионной камерой (видеосенсором).
Эти недостатки могут быть устранены при использовании принципа постоянной цветовой яркости [1]. Согласно данному принципу яркостные и цветоразностные компоненты
V' 2 '2 '2 Ек + Ес + Ев ,
1111111 11
Ец = Ек/ Ес, Е'2 = Ев / Ес, где Ес — цветовая амплитуда передаваемого цвета; Ец, Е^ — сигналы, определяющие насыщенность данного цвета красным и синим основными первичными цветами.
Ахроматические изображения и детали изображений при реализации принципа постоянной цветовой яркости передаются с полной четкостью, так как для таких изображений сиг-
I I
налы Е1 и Е2 постоянны и все изменения цветовой яркости передаются по широкополосному каналу [4].
Следует отметить, однако, что применение принципа постоянной цветовой яркости в различных системах обработки видеоинформации ограничивается наличием большого количества сложных в вычислительном отношении операций при обработке одного пиксела изображения, к которым относятся операция извлечения квадратного корня при вычислении
I I I
цветовой амплитуды Ес и операция деления при определении сигналов Е1, Е^ .
Реализация рассматриваемого принципа в системах обработки видеоинформации предусматривает возможность их разделения на вещественные и целочисленные системы. Выбор конкретной вещественной или целочисленной реализации зависит от параметров аппаратной платформы кодирования видеоинформации.
Вещественная реализация принципа постоянной цветовой яркости. При рассмотрении вещественной реализации данного принципа примем разрядность входных и выходных
отсчетов цифровых систем обработки равной восьми. Иными словами, входные R, G, B и выходные W, U, V отсчеты представляют собой беззнаковые целочисленные значения в диапазоне от 0 до 255 (R, G, B, W, U, V е [0; 255]). Пусть R, G , B — оцифрованные отсчеты, соответствующие основным первичным цветам, W — отсчет, соответствующий цветовой амплитуде передаваемого цвета; U — отсчет, определяющий насыщенность цвета красным основным первичным цветом; V — отсчет, определяющий насыщенность цвета синим основным первичным цветом.
При вычислениях требуется привести (нормализовать) каждый из входных отсчетов к уровню от 0 до 1 путем деления на константу 256. После нормализации вычисления производятся с вещественными числами. Промежуточные значения отсчетов вычисляются по сле-
V2 2 2
r + g + b , u = r / w, v = b / w, где w — вещественное значение
цветовой амплитуды; u , v — вещественные значения, определяющие насыщенность цвета красным и синим основными первичными цветами соответственно; r , g , b — нормализованные вещественные значения основных первичных цветов. При w = 0 значения u = v = 1/V3.
Для получения выходных 8-разрядных значений W, U, V требуется произвести следующие вычисления: W = int (w / л/3 ), U = int(256u ), V = int(256v), где int — операция приведения вещественного числа к целому в диапазоне от 0 до 255.
Произвести обратное преобразование можно следующим образом. Требуется получить из отсчетов W, U, V нормализованные (от 0 до 1) промежуточные вещественные отсчеты
w = W-n/3/256, u = U /256, v = V /256; затем вычислить rr = uw, br = vw и промежуточное f 2Î2 2 \
значение g' = w -\rr + br ), где rr, br — восстановленные нормализованные вещественные
значения выходных отсчетов, соответствующие основным первичным цветам. Восстановленное нормализованное значение выходного отсчета для зеленого цвета вычисляется следую-[0 при g' < 0,
щим образом: gr =< .— Далее, произведя следующие вычисления: Rr = int(256rr),
W g ' при g 0.
Gr = int(256gr ), Br = int(256br), можно получить Rr, Gr, Br — восстановленные
8-разрядные беззнаковые целочисленные значения цветовых компонентов основных первичных цветов.
Целочисленная реализация принципа постоянной цветовой яркости. Наиболее быстродействующей реализацией данного принципа является табличное кодирование и декодирование. Рассмотрим метод кодирования.
Алгоритм кодирования видеокадров при реализации принципа постоянной цветовой яркости на аппаратной платформе, не оснащенной модулем вещественных вычислений (сопроцессор, производящий вычисления над числами с плавающей точкой), предполагает первичную инициализацию массива всех значений отсчетов, вычисленных при цветовом преобразовании.
Объем памяти, требуемой для хранения отсчетов W, U, V, составляет C = 256 = = 16 777 216 байт (16 Мбайт) для каждого из массивов. Однако большинство вычислительных модулей оперируют типами данных с размерностью 8, 16, 32 или 64 разряда. Для уменьшения количества обращений к памяти целесообразно использовать целочисленный беззнаковый 32-разрядный тип (unsigned integer). В этом случае потребуется C ■ 4 = 67 108 864 байта (64 Мбайта) памяти для хранения отсчетов. Тогда табличное кодирование представляется как получение одного беззнакового 32-разрядного числа из таблицы по координатам R, G , B :
WUY=wuv[R] [G] [B].
Восстановление отсчетов производится по аналогичному алгоритму с тем исключением, что при инициализации таблицы вычисляются значения R, G , B в зависимости от полученных значений W, U, V :
RGB = rgb [W] [U][V].
Рассмотренный целочисленный метод кодирования и декодирования является наиболее быстрым для целочисленных процессоров при условии быстрой работы оперативной памяти устройства и ее большом объеме. Для сокращения количества хранимых в памяти отсчетов рассмотрим метод кодирования и декодирования, оптимальный с точки зрения вычислительных затрат и объема оперативной памяти.
Для оптимизации табличного метода создадим таблицу значений W и обратных им 24-разрядных значений invW = 16 777 216/ W (умножение на число 16 777 216 требуется для сохранения точности вычислений). При этом для сокращения количества хранимых отсчетов следует значения W и invW сохранить в одном 32-разрядном беззнаковом числе:
24 24
W = ((W ■ 2 ) V invW), где V — операция побитового „или"; операцию умножения на 2
можно реализовать как логический сдвиг влево на 24 разряда. В этом случае кодирование осуществляется следующим образом. Значения W и invW извлекаются из таблиц согласно
координатам R, G, B : W = (WW[R2 + G2 + B2])/224, invW = (WW[R2 + G2 + B2] ■ 28)/28, где WW — массив заранее вычисленных значений w для всех R, G и B ; операции умножения
и деления на 2 можно представить в виде логических сдвигов влево и вправо на 8 разрядов соответственно. Полученное значение W непосредственно сохраняется в выходном потоке видеоданных. Значение invW используется для расчета 8-разрядных значений
U = (R invW) / 224 и V = (B invW) / 224 .
Восстановление отсчетов осуществляется аналогичным образом.
Преимущество использования оптимизированного подхода состоит в том, что для хранения массива WW требуется 256 ■ 3 ■ 4 = 786 432 байта (768 Кбайт), однако для проведения расчетов необходимы операции умножения и логического сдвига. Тем не менее, для систем обработки видеоинформации с малым объемом оперативной памяти, и обладающих достаточными вычислительными ресурсами для проведения операций умножения и логического сдвига, оптимизированный способ преобразования согласно принципу постоянной цветовой яркости является более предпочтительным.
Сравнительный анализ целочисленных реализаций. Для сравнения табличной и оптимизированной реализаций рассмотрим основные функциональные блоки вычислительных модулей системы обработки. Показателем оценки производительности вычислительного устройства будем считать временные задержки, требуемые каждому модулю для совершения вычислений: МЕМ — задержка, порождаемая модулем обращения к внешней памяти устройства (контроллер памяти); CACHE — задержка, порождаемая обращением к быстрой памяти, расположенной в чипе процессора (кэш); ADD — задержка, порождаемая модулем вычисления операций сложения; SHIFT — задержка, порождаемая операцией логического сдвига; MULTIPLY — задержка, порождаемая модулем вычисления операций умножения.
При кодировании согласно табличной реализации (TBL) необходимо произвести одно обращение к памяти по координатам R , G , B для получения отсчетов W , U , V , что потребует трех операций сложения и двух логических сдвигов: TBL=2 SHIFT+3 ADD+MEM операций.
Оценим количество операций для формирования отсчетов W, U, V при использовании оптимизированной реализации (ОРТ). Для формирования отсчета W требуется вычислить ин-2 2 2
декс i =
R + G + B ,
который используется для обращения к таблице (w = WW [i ]), и выполнить логический сдвиг на 24 разряда вправо извлеченного из таблицы значения ( W = w >> 24 ).
Таким образом, оценка задержки составляет (3 MULTIPLY+2 ADD)+MEM+SHIFT тактов. Вычисление отсчетов U и V осуществляется посредством двух логических сдвигов для нормализации значения invW, одной операции умножения и одного логического сдвига для каждого из отсчетов, что составляет 2 SHIFT+2 (MULTIPLY+SHIFT) тактов. В результате для вычисления отсчетов W, U, V потребуется (5 MULTIPLY+2 ADD)+MEM+5 SHIFT тактов, что существенно превышает количество тактов, необходимых при использовании табличного метода. Если объем быстрой памяти процессора позволяет разместить всю таблицу WW, то требуется OPT=(5 MULTIPLY+2 ADD)+CACHE+5 SHIFT тактов, что обеспечивает уменьшение задержки вычисления.
Как правило, в вычислительных системах задержка МЕМ в 10 (и более) раз превышает задержку CACHE.
Применение оптимизированной реализации целесообразно использовать при наличии требуемого объема быстрой памяти процессора и выполнении соотношения MEM < OPT.
Например, для процессора Intel Atom 330 [5] при операции умножения требуется 3 такта: сложение — 1 такт, чтение из быстрой памяти — 1 такт, логический сдвиг — 1 такт. Значение OPT = (5 • 3 + 2 -1) +1 + 5 -1 = 23 такта. Обращение к внешней памяти определяется аппаратной реализацией системы и может составлять от 12 и более тактов (MEM = 2 -1 + 3 -1 +12 = 17). Оптимальной для данной системы при MEM = 17 служит табличная реализация, в случае MEM > 23 целесообразно применить оптимизированную реализацию.
Заключение. На основе представленных вариантов реализации принципа постоянной цветовой яркости для вещественных и целочисленных платформ обработки данных, рассмотрения наиболее быстродействующего метода табличного кодирования и декодирования согласно принципу постоянной цветовой яркости, а также способа сокращения количества хранимых данных установлено, что при использовании оптимизированного метода табличного кодирования требуется в 85,33 раза меньший объем памяти, чем при табличной реализации.
СПИСОК ЛИТЕРАТУРЫ
1. Полосин Л. Л. Принцип постоянной цветовой яркости в телевидении // Телевизионная техника и связь. 1995. Спец. вып. С. 28—37.
2. Джакония В. Е., Гоголь А. А., Друзин Я. В. и др. Телевидение: Учебник для вузов / Под ред. В. Е. Джаконии. М.: Радио и связь, 2004. 616 с.
3. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М.: Техносфера, 2005. 1072 с.
4. Сухов Т. М., Беляев Е. А. Использование принципа постоянной цветовой яркости для передачи видеоинформации // Изв. вузов. Приборостроение. 2011. Т. 54, № 1. С. 55—59.
5. Электронный ресурс: <http://www.agner.org/optimize/instruction_tables.pdf>.
Сведения об авторе
Тимофей Михайлович Сухов — ЗАО «Научно-производственная фирма „ТИРС"», отдел телевизионной
техники, Санкт-Петербург; начальник сектора; E-mail: [email protected]
Рекомендована отделом Поступила в редакцию
телевизионной техники ЗАО «НПФ „ТИРС"» 17.01.14 г.