УДК 629.391
В.В. БАРАННИК, Н.А. ХАРЧЕНКО, В.Н. КРИВОНОС
МЕТОД КОМПРЕССИИ ВИДЕОПОТОКА НА ОСНОВЕ ПОЛИАДИЧЕСКОГО КОДИРОВАНИЯ ПРЕДСКАЗЫВАЕМЫХ КАДРОВ
Разрабатывается метод полиадического кодирования предсказываемых Р-кадров на основе сегментации изображений и алгоритм обработки сегмента на основе выбора его типа (I-, Р-сегмент), позволяющий повысить степень сжатия путем уменьшения длины кодового представления предсказанного сегмента.
1.Введение
Последние годы ознаменовались интенсивными разработками систем телевидения высокого разрешения HDTV и динамичным развитием мультимедиа приложений в Интернет-инфраструктуре [1], что резко увеличило долю видеотрафика в телекоммуникационных сетях. Наряду с этим постоянно возрастают и требования к качеству видео. Это приводит к тому, что ни одна сеть передачи данных не способна обеспечить требуемую ширину каналов и емкость носителей без постоянного совершенствования алгоритмов сжатия видео.
Сложности, связанные с передачей видеоданных в соответствии с требованиями сервисов, проявляются не только в росте объемов информации, но и в возникновении пульсаций интенсивности потоков данных, поступающих в телекоммуникационную сеть, которая обусловлена: различной разрешающей способностью видеотрафика; различной степенью сложности изображений; наличием помех и обрывов; количеством абонентов, подключенных к единому канальному ресурсу.
Видеопоток для обработки использует классификацию кадров по типам [2]: I - (основной), Р - (предсказанный), В-кадр (двунаправленное предсказание). Кадры I типа сжимаются с применением информации, имеющейся только в этих кадрах, и используют для обработки алгоритмы JPEG; Р-кадры формируются с помощью кодирования с предсказанием на основе предыдущего I- или P-кадра, а В-кадры обрабатываются с применением двунаправленного предсказания, т. е. с привлечением предшествующих и последующих I- и Р-кадров. I-кадры имеют наивысшее качество, однако по сравнении с другими типами их степень сжатия недостаточно высока, так как в них устраняется только пространственная избыточность данных. Поэтому формирование видеопоследовательности только из I-кад-ров будет нецелесообразно. Для увеличения степени сжатия вводят кадры Р-типа, в которых устраняется два вида избыточности: пространственная (малое изменение цвета в соседних пикселях) и временная (подобие между соседними кадрами). Для сокращения пространственной избыточности применяется кодирование с преобразованием, а для временной - кодирование с предсказанием и блоковая компенсация движения. Относительно опорных Р-кадры сжимаются сильнее за счет использования факта о подобии соседних кадров в видеопоследовательности. Фактически P-кадры содержат изменения относительно предыдущего I- или P-кадра.
Для организации своевременной доставки потока видеоданных широко применяются методы компрессии, базирующиеся на дискретно-косинусных преобразованиях изображений с последующим кодированием компонент трансформант статистическими кодами. При реализации методов статистического кодирования используются таблицы стандартных статистических кодов с заранее известной статистикой. Таблицы ссылок (индексов или категорий) расположены в порядке возрастания частот вхождений, таблицы кодов для коэффициентов трансформанты передаются вместе с закодированной видеоинформацией, поэтому известны на приемной и передающей стороне.
Используемое в современных алгоритмах сжатия статистическое сжатие, основанное на кодировании Хаффмана, имеет ряд существенных недостатков: высокая чувствитель-
ность к ошибкам, невозможность определить степень сжатия и битовую скорость до начала кодирования, большие задержки при построении дерева или таблицы кодов для длинной видеопоследовательности.
Таким образом, можно говорить о недостаточной эффективности применяемых методов сжатия при обработке сильнонасыщенных реалистичных изображений и видеопотоков высокого качества, которые не удовлетворяют требованиям, предъявляемым к ним по времени обработки, битовой скорости и качеству восстановления видеоданных.
Отсюда цель исследований заключается в разработке алгоритмов обработки предсказанных Р-кадров на основе метода кодирования, позволяющего производить формирование кода в соответствии с заданными критериями качества изображения.
2.Основной материал
В основе видеоданных лежат растровые изображения, основным недостатком которых является большой объем их цифрового представления. Это одна из основных причин больших временных задержек в процессе обработки и передачи видеоданных (оцифрованных изображений) в телекоммуникационных сетях.
Исходное изображение представляет собой массив пикселов размерностью MхN, которое перед сжатием разбивается на сегменты размерностью mхn (рис. 1).
N Ч
Y
Рис. 1. Сегментация изображения: (Z,y) определяют координаты сегментов в пространстве изображения; mç - размерность сегмента в столбце; n у - размерность сегмента в строке
Для организации сжатия потока видеоданных в основном применяются методы, реализованные в формате JPEG, которые базируются на дискретно-косинусном преобразовании (ДКП) и позволяют реализовать кодирование с потерями, но обеспечивают высокую степень сжатия при заданном качестве изображения. Однако для необходимого увеличения степени сжатия и скорости обработки в Р-кадрах можно использовать несколько иные методы. Разработаем метод обработки Р-кадров с применением полиадического кодирования.
На этапе предобработки производится перевод исходного изображения в цветовое пространство YUV. Это позволяет частично сократить высокочастотную цветовую составляющую и, тем самым, уменьшить количество учитываемых пикселей для каналов цветности, что ведет к повышению степени сжатия.
Далее производится вычисление разности значений сегмента текущего Р-кадра с соответствующим сегментом в предыдущем I- или Р-кадре (рис. 2), или кодирование с предсказанием. Оно основывается на аппроксимации формы сигнала, т.е. кодирование кривой с помощью ее значений в отдельных позициях и восстановление ее формы на приемном конце по этим отдельным отсчетам. Такая аппроксимация отображается следующей формулой:
p t
x(t)i,j = Е atx(t-t )у , (1)
t=i
где х(1)у - (^)-я компонента сегмента изображения текущего 1-го кадра; х(1-1')у
компонента сегмента изображения (1-1') -го кадра; а^ - коэффициент аппроксимации; р порядок модели.
Предшествующий (1-1) кадр
Текущий 1 кадр
п
У"
У М
x(1-1)ij - предшествующее значение (£,у)-го сегмента
: — x(1)ij - текущее значение (^,у)-го сегмента
Рис. 2. Размещение элементов сегментов изображений в процессе обработки Важный принцип предсказания - это принцип "сохранения предыдущего значения", т.е. предполагается, что значение предыдущего отсчета сохранится и в последующий момент времени. Формула (1) тогда модифицируется в следующий вид:
х(1)у=а1х(1-1)у; . (2)
Тогда для кодирования подается разностное значение между текущим 1 и предыдущим (1-1) кадрами:
е(1)у=х(1)у-х(1-1)у. (3)
Здесь величина х(1)у - аппроксимированное значение компоненты. Восстановление сигнала на приеме заключается в том, что к предыдущему значению компоненты прибавляется разность: х(1)у =х(1-1 )у +е(1)у .
Межкадровая разница размером шхп элементов, представляется в виде двумерного массива, элементами которого являются предсказанные разностные значения:
Е(1)
(?,у)-
е(1)1,1 ... е(1)^ ... е(1)1,п е(1)|,1 ... e(1)i,j ... е(1)!,г е(1)п,1 ... еООпу ... е(1)п,
(4)
где e(1)ij - (i,j)-я разностная компонента (е, g)-го сегмента изображения текущего кадра.
Перед началом кодирования сегмента определяется его тип, т.е. каким образом он будет обработан. Для этого задается функционал f (Е(1)(^,у)), который учитывает общий объем данных, битовую скорость и особенности дальнейшей технологии кодирования при обработке g)-го сегмента. Производится сравнение функционала полученного разностного массива с заданным пределом ДБ . Если он не превышает требуемое значение
f (Е(1)(^,у)) < ДБ , то далее сегмент будет обрабатываться с использованием кодирования с предсказанием (Р-тип). Если в сегменте появился новый объект и значение функционала
7
N
ш
превышает др, то происходит переход к алгоритмам, используемым для кодирования I-кадров, т.е. он кодируется независимо (1-тип) (рис. 3).
Сегмент 1-типа
Да
Сегмент Р-типа
Рис. 3. Обобщенный алгоритм кодирования сегмента изображения
В итоге перед началом полиадического кодирования сегмент проходит либо этап предсказания по предшествующим значениям (Р-тип), либо, в случае перехода к варианту независимой обработки (1-тип), текущий сегмент проходит этап трансформирования и квантования.
Трансформирование осуществляется с помощью ДКП, суть которого заключается в преобразовании матрицы (е, g)-го сегмента изображения в матрицу частотных коэффициентов соответствующего размера.
Дискретное косинусное преобразование является обратимым и по новой матрице может быть полностью восстановлена исходная. Но полученная новая форма записи информации об изображении позволяет в дальнейшем с помощью квантования существенно сократить итоговый объем данных. Это ведет к потерям информации и, соответственно, к снижению качества восстановленного в декодере видеоизображения, но при разумном выборе величины порога это ухудшение может быть допустимым.
Процедура квантования заключается в сопоставлении номера кванта каждому коэффициенту (е, g)-й трансформанты:
У(0М+Я/2
Я
где у^)^- - (!;_))-й частотный коэффициент; Я - шаг квантования; - означает
операцию округления до ближайшего целого, не превышающего уО),].
В зависимости от типа сегмента, при формировании полиадического кода будет выбираться также количество избыточности, которая будет сокращаться в результате полиадического кодирования.
Под одномерным полиадическим кодированием понимается процесс формирования
кода N(1)/^^ для 1-го столбца (е, g)-го сегмента Б(1;);(^с учетом заданной системы оснований Л(1)(^) , выбранной для 1-го столбца (е, g)-го сегмента [3], т.е.
N(1)!
(С,у) _
Е е(1) П Ь(1)г
+1
(5)
здесь Лх(1) - элемент одномерного полиадического числа; П - весовой коэффи-
+1
циент элемента е(1).
Одномерным полиадическим числом, в заданном случае, называется одномерная последовательность (одномерный вектор) 1-го столбца матрицы
Щ!)-^ _{е(1)1,... ,е(1);,... ,е(1;)т } , элементы которой удовлетворяют смешанной системе оснований Л(1;)(^,7)_{А,(1;)1,...Д(1;);,...Д(1;)т } [1]. Одномерная смешанная система основа-
ний л представляет собой одномерный вектор-столбец, компонентами которого Я являются произвольные целые числа конечной размерности; при их выборе необходимо выполнение неравенства:
е(1) < -1, для 1=1^, (6)
где т - количество элементов полиадического числа; - основание 1-го элемента
одномерного полиадического числа.
Обозначим через Н(1;)(^^ вектор-столбец весовых коэффициентов (е, g)-го сегмента, Н(1)(^,^) = (Ь(1)1,...,Ь(1);,...,Ь(1)П } , элементами которого являются весовые коэффициенты Щ)^ ):
Щ)/^ = I! Я(1)п (7)
П=1+1 '
Под весовым коэффициентом элемента полиадического числа понимается множитель, величина которого указывает на степень значимости позиции, занимаемой данным элементом в кодируемой последовательности. Весовой коэффициент образуется в результате накопленного произведения оснований младших элементов одномерного полиадического числа. Для 1-го элемента одномерного полиадического числа младшими будут элементы
е(1:)п, индексы которых равны п=1+1,п. Согласно выражению (5), чем больше индекс позиции, тем меньше значение весового коэффициента.
Если задан вектор весовых коэффициентов Н(1;)(^ ^, то выражение (5) для формирования кода N(1)1^ ^ одномерному числу Е^)/^ в матричной форме примет вид:
N(1)/^ = Н(1)(^' Е^^, (8)
где Н' - транспонированный вектор весовых коэффициентов одномерного полиадического
числа:
Н(1)(!^'={ П Я(1)п,..., п Я(1)п,...,1} (9)
П=2 п=1+1
Верхней границей Ьтах значения кода одномерного полиадического числа для заданной системы оснований А(1)(^,^) является накопленное произведение оснований всех элемен-
п
тов п Я(1)п :
П=1
К(1)тах) < Ьтах = ГГ1Я(1)П, (10)
здесь К^таХ"* - максимально возможное значение кода для заданного вектора оснований
А(1)(^,^), состоящего из п элементов.
Код полиадического числа называется кодом в неравномерном базисе значений, компоненты которого удовлетворяют смешанной системе оснований [4].
Схема формирования кода задается двумя этапами. На первом этапе кодирования для заданного сегмента данных определяется система оснований А(1)(^,^), удовлетворяющих ограничениям (6). Это осуществляется путем выбора максимального элемента тахе(1;)ц+1 для _)-й строки (е, g)-го сегмента и последующим увеличением его на единицу. Таким образом, формируются элементы вектора оснований для каждой строки матрицы.
На втором этапе задается вектор-столбец весовых коэффициентов Н(1;)(^ ^ в соответствии с формулой (7). Полиадическое число для сегмента формируется из элементов его
столбцов в соответствии с выражением (5). Элементы такого числа в результате кодирования последовательно собираются в цепочку, которая далее представляется в двоичной или десятичной форме.
Такая схема кодирования приводит к снижению количества разрядов на кодовое представление массивов видеоданных.
Важным свойством полиадических чисел является возможность вычисления кода для массива данных на основе аналитического выражения. При этом необходимо знать только значения элементов массива данных и значения компонент вектора оснований. Поэтому не требуется организовывать формирование таблицы допустимых чисел и проводить поиск в таблице необходимого индекса, соответствующего обрабатываемому числу.
Использование полиадических чисел и их кодирование позволяет уменьшить количество вычислительных операций относительно существующих статистических кодов, что дает возможность осуществлять обработку видеоданных в реальном времени.
3. Выводы
1. Разработан метод кодирования, который основан на использовании двух типов сегментов, выбираемых по заданному пределу AD , в предсказанных Р-кадрах с применением полиадического кодирования. Представлен обобщенный алгоритм кодирования сегмента изображения и варианты обработки в зависимости от его типа.
2. В результате полиадического кодирования изображения формируется последовательность кодов-номеров, представляющих собой номера обрабатываемых сегментов изображений в множестве допустимых полиадических чисел.
3. Полиадический код является количественной характеристикой насыщенности блока разными видами структурных особенностей. Для Р-кадров с большим числом изменяющихся деталей относительно предыдущего кадра полиадический код является характеристикой степени насыщенности области разностными элементами. Значение кода будет тем меньше, чем больше отношение площади, имеющей мало изменяющуюся структуру, к площади изображения передаваемого объекта, и наоборот.
4. Важным свойством полиадических чисел является возможность вычисления кода для массива данных на основе аналитического выражения. Поэтому не требуется организовывать формирование таблицы допустимых полиадических чисел.
5. Дополнительное повышение степени сжатия происходит за счет уменьшения длины кодового представления предсказанного сегмента; вследствие адаптивного выбора системы оснований полиадического числа.
Список литературы: 1. Олифер В.Г. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. / В.Г. Олифер, Н.А. Олифер. СПб.: Питер, 2006. 958 с. 2. GonzalesR.C. Digital image processing / R.C. Gonzales, R.E. Woods. Prentice Inc. Upper Saddle River, New Jersey 2002. 779 p. 3. Баранник В.В. Кодирование трансформированных изображений в инфокоммуникационных системах / В.В. Баранник, В.П. Поляков. Х.: ХУПС, 2010. 212 с. 4. Баранник В.В. Метод сжатия изображений на основе неравновесного позиционного кодирования битовых плоскостей /В. В. Баранник, Н. К. Гулак, Н. А. Королева //Радюелектронт i комп'ютерш системи. Х.: ХНАУ "ХА1", 2009. Вип. 1. С. 55- 61.
Поступила в редколлегию 13.02.2013 Баранник Владимир Викторович, д-р техн. наук, начальник кафедры боевого применения и эксплуатации АСУ Харьковского университета Воздушных Сил. Научные интересы: обработка и передача информации. Адрес: Украина, 61023, Харьков, ул. Сумская, 77/79.
Харченко Наталия Андреевна, инженер 2 категории ХНУРЭ. Научные интересы: обработка и сжатие видеоданных. Адрес: Украина, 61000, Харьков, ул. Слинько, 20а, кв. 60, тел. 9707-38.
Кривонос Владимир Николаевич, инженер Харьковского университета Воздушных Сил. Научные интересы: кодирование и защита информации для передачи в телекоммуникационных системах. Адрес: Украина, 61023, Харьков, ул. Сумская, 77/79. Электронная почта: [email protected].