Научная статья на тему 'Реализация принципа постоянной цветовой яркости для систем кодирования видеоинформации'

Реализация принципа постоянной цветовой яркости для систем кодирования видеоинформации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
120
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРИНЦИП ПОСТОЯННОЙ ЦВЕТОВОЙ ЯРКОСТИ / PRINCIPLE OF CONSTANT COLOR BRIGHTNESS / КОДИРОВАНИЕ ЦВЕТОВОЙ ИНФОРМАЦИИ / COLOR CODING INFORMATION / ЦИФРОВОЕ ТЕЛЕВИДЕНИЕ / DIGITAL TV

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сухов Тимофей Михайлович

Рассматриваются вещественная и целочисленная реализации принципа постоянной цветовой яркости для различных платформ кодирования видеоинформации. Приведены результаты сравнительного анализа целочисленных вариантов реализации принципа постоянной цветовой яркости.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Implementation of the constant color brightness principle in encoding video systems

Real-valued and integral-valued realizations of the principle of constant color brightness in various ware video encoding platforms are considered. Comparative analysis of integral-valued variants of the principle realization is presented.

Текст научной работы на тему «Реализация принципа постоянной цветовой яркости для систем кодирования видеоинформации»

УДК 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 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.