Научная статья на тему 'Программные методы кодирования видеопотоков, применяемые в компьютерной графике'

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

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

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

Выполнено исследование программных методов кодирования видеопотоков с точки зрения результирующего качества, размера, параллелизма и времени кодирования. Представлены результаты экспериментальных исследований популярных видеокодеков, разработан алгоритм выбора метода сжатия видеопотока.

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

There has been performed research on program methods of video streams coding from the view point of the resulting qualitiy, size, parallelism and coding time. Results of experimental research into popular video codecs are presented, the algorithm for choice of a video stream compression method is developed.

Текст научной работы на тему «Программные методы кодирования видеопотоков, применяемые в компьютерной графике»

ПРОГРЕСИВН1 1НФОРМАЦ1ЙН1 ТЕХНОЛОГИ

б) В1др1зок (0; 1) розд1ляеться на m частин. Кож-на частина в1др1зка вщповщае певному р1вню склад-ност1. Наприклад, при m =1 вим завданням при-значаються однаков1 вагов1 коеф1щенти, наприклад Sj = 1. Bti завдання мають один р1вень складность

При m = 2, завдання мають два р1вш складность Завданням, у яких значення tj (або tj ± похибка) по-трапили в штервал (0; 0,5) призначаються Sj = 1, а для шших (штервал (0,5; 1)) - призначаються Sj = 2 i т. i.

висновки

Таким чином, в робот проаналiзовано iснуючi шляхи створення ефективних СДН. Запропоновано но-вий спосiб контролю знань, що дозволяе адекватно оцiнити знання тих, хто навчаеться та скоротити час контролю за рахунок можливоси дистанцiйного ана-лiзу результатiв контролю. Запропонованi концептуальна схема ПСКЗ i алгоритм створення теспв дозво-ляють забезпечити високу достовiрнiсть контролю знань в СДН.

ПЕРЕЛ1К ПОСИЛАНЬ

1. OcHOBHi засади розвитку вищоТ осв1ти УкраТни в контекст! Болонського процесу (документи i матер!али 2003-2004 рр.) / За ред. В. Г. Кременя. - КиТв - Тер-нотль : ТДПУ, 2004. - 147 с.

2. Концепшя розвитку дистанцшноТ осв!ти в УкраТж. -КиТв, 2001. - 2 с.

3. Образование и виртуальность - 2005. Сборник научных трудов 9-й Международной конференции Украинской ассоциации дистанционного образования / Под общ. Ред. В. А. Гребенюка и В. В. Семенца. - Харьков -Ялта : УАДО, 2005. - 315 с.

4. Романов А. Н. Технология дистанционного обучения / Торопцев В. С., Григорович Д. Б. - М. : ЮНИТИ ДАНА, 2000. - 287 с.

5. Аванесов В. С. Научные основы тестового контроля знаний. - М. : Иссл. центр, 1994. - 135 с.

6. Журавель В. Ф. Рекомендована практика конструю-вання тест!в професшноТ компетенцп випускниюв ви-щих навчальних заклад!в / За загал. ред. Ю. В. Су-харшкова / ¡льТн В. В., Кузнецов В. О., Сухарш-ков Ю. В. - К. : Аграрна осв!та, 2000. - 38 с.

7. Аванесов В. С. Теоретические основы разработки педагогических тестов / Дис. на соиск. степени док. пед. наук. - Л., 1995. - 350 с.

8. Crocker L. Introdution to classical and modern test theory / Algina J. - New York : Holt, Rinehart and Winston, 1986. - 356 р.

Надшшла 09.04.2009 Шсля доробки 20.05.2009

Работа посвящена исследованию проблемы повышения эффективности процесса обучения в системах дистанционного обучения (СДО) за счет использования различных способов и технологий контроля знаний при подготовке специалистов по дистанционной форме обучения в высших учебных заведениях Украины в свете положений Болонского процесса. Проанализированы существующие пути создания продуктивных СДО и предложен новый способ контроля знаний, который позволяет адекватно оценить знания тех, кто осуществляет дистанционное обучение (ДО) и сократить время контроля. Предложены концептуальная схема подсистемы контроля знаний (ПСКЗ) и алгоритм создания тестов, которые позволяют обеспечить высокую достоверность процесса контроля знаний в СДО.

The article researches the problems of improving the teaching efficiency process for the distance studies systems (DSS) at the expense of using different methods and technologies of knowledge control in training the specialists in higher educational institutions of Ukraine as per Bologna Process regulations. The present teaching methods for creating the resultant DSS have been analysed and new method of knowledge control that allows to adequately estimate the knowledge of those who practices the distance learning (DL) and decrease the control time. The conceptual subsystem for knowledge control (SSKC) and algorithm for tests compiling that allow to provide high authenticity of process in knowledge control when DSS are offered.

УДК 004.92

С. Ю. Скрупский, К. Н. Касьян

ПРОГРАММНЫЕ МЕТОДЫ КОДИРОВАНИЯ ВИДЕОПОТОКОВ, ПРИМЕНЯЕМЫЕ В КОМПЬЮТЕРНОЙ ГРАФИКЕ

Выполнено исследование программных методов кодирования видеопотоков с точки зрения результирующего качества, размера, параллелизма и времени кодирования. Представлены результаты экспериментальных исследований популярных видеокодеков, разработан алгоритм выбора метода сжатия видеопотока.

© Скрупский С. Ю., Касьян К. Н., 2009

ВВЕДЕНИЕ

В настоящее время значительная часть данных, хранимых в электронном виде, представляет собой видеопоток. Видеопотоком называют набор бит, описывающих количество, положение и цвет пикселей

в кадрах, являющихся составной частью видеоизображения. В отличие от статического изображения, видео представляет собой совокупность статических изображений, меняющихся со скоростью равной частоте кадров. Частота кадров может быть от одного до тридцати, в зависимости от метода видеосъемки и не меняется на протяжении всего видеопотока. Размер кадра в пикселях варьируется от 1x1 до 1920x1080 (видео высокой четкости), однако самыми популярными значениями считаются 640x480 и 720x576. Чем больше размер кадра, тем качественнее видео, однако тем больше бит нужно для описания каждого кадра.

ПОСТАНОВКА ЗАДАЧИ

Хранить видеопоток абсолютно несжатым нерационально ввиду значительного расхода дискового пространства. Для снижения размера видеопотока применяются видеокодеки, основной задачей которых является сокращение количества бит, описывающих пиксели кадра и, следовательно, всего видеопотока. Кодек всегда является звеном в цепочке программ, которые получают поток данных из источника, производят над ним алгоритмические манипуляции, и помещают в какой-либо другой поток данных. Кодеки могут как кодировать поток/сигнал (часто для передачи, хранения или шифрования), так и раскодировать - для просмотра или изменения в формате, более подходящем для этих операций. Кодеки часто используются при цифровой обработке видео и звука. Поток данных на входе может быть как файлом, например несжатым видеофайлом, так и видеопотоком от цифровой камеры или ТУ. В первом случае входной поток генерируется драйвером файловой системы ОС. Во втором - входной поток генерируется драйвером устройства, которое поставляет видеопоток (например, драйвером ТУ-тюнера или видеокарты, при записи с видеовхода). В данной работе представлено экспериментальное сравнение современных методов сжатия видеопотоков, разработан алгоритм выбора метода сжатия видеопотока.

ОБЗОР СОВРЕМЕННЫХ ВИДЕОКОДЕКОВ

Сжатие видеопотока было бы невозможно, если бы каждый кадр был уникален и расположение пикселей было полностью случайным, но это не так. Можно сжимать сам кадр или - похожие соседние кадры. В конечном счете, алгоритмы сжатия картинок и видео схожи, если рассматривать видео как трехмерное изображение со временем как третьей координатой. Большинство кодеков используют сжатие с потерями, чтобы получать приемлемый размер готового (сжатого) файла. Существуют две основные схемы сжатия с потерями:

- В трансформирующих кодеках используются кадры изображений, разрезаются на небольшие сегменты, трансформируются в новое базисное пространство и производится квантизация (использование не всех пикселей кадра, а только некоторых).

- В предсказывающих кодеках предыдущие и/или последующие данные используются для того, чтобы предсказать текущий кадр изображения. Ошибка между предсказанными данными и реальными вместе с добавочной информацией, необходимой для производства предсказания, квантизуется и кодируется.

В некоторых системах эти две техники комбинируются путем использования трансформирующих кодеков для сжатия ошибочных сигналов, сгенерированных на стадии предсказания. К таким кодекам относятся следующие:

- Flash;

- H.261;

- H.263;

- H.264;

- MNG;

- Motion JPEG;

- MPEG-1 Part 2;

- MPEG-2 Part 2;

- MPEG-4 Part 2;

- Ogg Theora (отличается отсутствием патентных ограничений);

- Sorenson video codec;

- VC-1 - попытка Microsoft выпустить открытую спецификацию для формата WMV.

Существуют также кодеки, сжимающие без потерь. Методы сжатия без потерь могут быть классифицированы по типу данных, для которых они были созданы. Три основных типа данных для алгоритма сжатия данных это текст, изображения и звук. В принципе, любой многоцелевой алгоритм сжатия данных без потерь (многоцелевой означает, что он может обрабатывать любой тип бинарных данных) может использоваться для любого типа данных. Большинство программ сжатия без потерь используют два различных типа алгоритмов: один генерирует статистическую модель для входящих данных, другой отображает входящие данные в битовом представлении, используя модель для получения «вероятностных» (то есть часто встречаемых) данных, которые используются чаще, чем «невероятностные». Алгоритмы кодирования через генерирование битовых последовательностей:

- Алгоритм Хаффмана;

- Арифметическое кодирование.

Кодеки, сжимающие без потерь, приведены ниже:

- Animation codec;

- CamStudio Video Codec;

- CorePNG;

- FFV1;

- Huffyuv;

- Lagarith;

ПРОГРЕСИВШ ШФОРМАЩЙН! TEXHOЛOГIÏ

- LCL;

- MSU Lossless Video Codec;

- Qbit Lossless Codec;

- SheerVideo;

- TSCC - TechSmith Screen Capture Codec.

Для большинства задач рациональнее применять кодеки с потерями информации, так как малозаметное ухудшение качества оправдывается значительным уменьшением объема данных. Почти единственное исключение - ситуация, когда данные будут подвергаться дальнейшей обработке: в этом случае повторяющиеся потери на кодировании/декодировании окажут серьезное влияние на качество.

Наиболее популярными на данный момент являются кодеки DivX, MPEG-2 DVD, H.264. Все они являются кодеками сжатия с потерями, однако алгоритмы сжатия у них различны.

DivX - кодек, поддерживаемый большинством современных DVD-плееров. Применяет общую компенсацию движения - помогает при увеличении («наезде» камеры) и при панорамировании (повороте камеры), если объект сохраняет свою статичность и меняется лишь в размере или местоположении на картинке - разумно при кодировании фильмов о природе и подобных. Деление изображения на макроблоки производится на основе целых долей позволяет более реалистично передавать движение объектов на изображении. Таким образом, DivX - это прогрессивная реализация формата MPEG-4. Он предлагает значительно более высокую степень сжатия видео и несет ряд революционных нововведений. Области применения MPEG-4 включают мультимедийные приложения для мобильного использования и Интернет, цифровое телевидение, домашнее видео и мобильную связь. Кодек поддерживает любую частоту кадров, стандарты PAL и NTSC.

MPEG-2 DVD - название группы стандартов цифрового кодирования видеосигналов. Стандарт используется для кодирования видеопотока при вещании, включая спутниковое вещание и кабельное телевидение. MPEG-2 с некоторыми модификациями также активно используется как стандарт для сжатия DVD, используется для общего сжатия движущихся изображений и определяет формат видеопотока, который может быть представлен как три типа кадра -независимосжатые кадры (I-кадры), кадры сжатые с использованием предсказания движения в одном направлении (P-кадры) и кадры, сжатые с использованием предсказания движения в двух направлениях (B-кадры). Использует потоки в 25 или 29,97 кадров в секунду.

H.264 - стандарт сжатия видео, предназначенный для достижения высокой степени сжатия видеопотока при сохранении высокого качества. Этот относительно молодой кодек обладает рядом преимуществ:

- многокадровое предсказание кадров - использование сжатых ранее кадров в качестве опорных (то есть с заимствованием части материала из них) применяется более эффективно, чем в предыдущих стандартах. Позволяется использование до 32 ссылок на другие кадры. Это поднимает эффективность кодирования, так как позволяет кодеру выбирать для компенсации движения между большим количеством изображений;

- независимость порядка воспроизведения изображений и порядка опорных изображений. В предшествующих стандартах устанавливалась жесткая зависимость между порядком следования изображений для использования при компенсации движения и порядком следования изображений при воспроизведении;

- экстраполяция, выходящая за границы изображения. В MPEG-2 и предшествовавших ему стандартах экстраполяция могла указывать только на пиксели, находящиеся в границах декодированного опорного изображения;

- шеститочечная фильтрация компонента яркости для полупиксельного предсказания с целью уменьшения зубчатости краев и, в конечном счете, обеспечения большей четкости изображения;

- взвешенное предсказание, позволяющее использовать масштабирование и сдвиг после компенсации движения на величины, указанные кодером. Такая методика может чрезвычайно сильно поднять эффективность кодирования для сцен с изменением освещенности, например, при эффектах затемнения, постепенного появления изображения;

- сжатие макроблоков без потерь - позволяет точно описывать определенные области и допускает строгое ограничение на количество закодированных данных для каждого макроблока;

- дополнительное преобразование Адамара, применяемое к дискретно-косинусным коэффициентам основного пространственного преобразования (к коэффициентам яркости, и, в особом случае, цветности) для достижения большей степени сжатия в однородных областях.

Таким образом, DivX - самый популярный и распространенный кодек; MPEG-2 DVD - кодек, поддерживаемый DVD-плеерами, что обеспечивает ему популярность; H.264 - новый прогрессивный кодек, от которого теоретически ожидается низкий битрейт и высокое качество.

РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТАЛЬНОЙ

ПРОВЕРКИ ВИДЕОКОДЕКОВ

Для практической проверки кодеков с видеокамеры был записан ролик продолжительностью 20 минут размером кадра 640x480 25 кадров в секунду без сжатия. Затем несжатый видеопоток кодировался тремя

Рисунок 1 - Блок-схема алгоритма рационального выбора метода сжатия видеопотока

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

1 - AMD Sempron (2 Ггц) + DDR 400 (2 Гб).

2 - Intel Core 2 Duo (2 ГГц) + DDR2 800 (2 Гб).

Результаты тестирования приведены в табл. 1 и 2.

Для оценки качества видеопотока [1] применяется метрика: среднее отношение мощности сигнал/шум (англ. аббр. APSNR) [2, 3]:

mrell MaxErr2*w *h PNSR = 10*log „-;-,

010 w, h

^ (xi, j - Vi, j)

i = 0 j = 0

где MaxErr - максимум модуля разности цветовой компоненты, w - ширина видео, h - высота видео. MaxErr зависит от битности цветовых компонент: 255 для 8-битных компонент, 255 + 3/4 для 10-битных компонент, 255 + 63/64 для 14-битных компонент, 255 + 255/256 для 16-битных компонент, 256 для 24-битных компонент.

APSNR - усредненное значение PSNR по всем кадрам видеопотока.

APSNR^ несжатого видеопотока составляет 37 дБ. Размер исходного видеопотока - 26,3 Гб. Для всех

ПРОГРЕСИВН1 1НФОРМАЦ1ЙН1 ТЕХНОЛОГ11'

кодеков битрейт установлен на отметку 4 Мб/с, качество - 100 %.

Таблица 1 - Результаты тестирования кодеков на системе 1

Таблица 2 - Результаты тестирования кодеков на системе 2

ВЫВОДЫ

В результате анализа и практического сравнения программных методов кодирования видеопотоков, применяемых в компьютерной графике, сформирован алгоритм выбора метода сжатия видеопотока (рис. 1). Для рационального выбора метода сжатия видеопото-

ка необходимо определить рейтинг MIPS процессора, который будет выполнять задачу кодирования. Если CPU MIPS < 15000, тогда применение H.264 не рекомендуется ввиду слишком большого времени, необходимого для выполнения задачи. Далее необходимо проанализировать входной поток на предмет наличия в нем большого количества динамических сцен. Если таких сцен не много, следует применять DivX, иначе - MPEG-2 DVD. Если в видеопотоке встречаются частые изменения яркостей, тогда следует применять H.264, иначе - MPEG-2 DVD.

ПЕРЕЧЕНЬ ССЫЛОК

1. Грибунин В. Объективные метрики для оценки качества видеокодеков // В. Грибунин. - М. : Технологии защиты. - 2008. - № 2. - С. 20-24.

2. Winkler S. Digital Video Quality. Vision models and metrics / S. Winkler. - [S. I.] : Wiley, 2005. - 192 р.

3. Avcibas I. Image Quality Statistics and their use in ste-ganalysis and compression / I. Avcibas. - [S. I.] : Wiley, 2001. - 113 р.

Надшшла 21.04.2009

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

Виконане досл1дження програмних метод1в кодуван-ня в1деопоток1в з погляду результуючоЧ якост1, роз-Mipy, паралел1зму i часу кодування. Наведет результа-ти експериментальних дослiджень популярних вiдеоко-декiв, розроблено алгоритм вибору методу стискування вiдеопотокy.

There has been performed research on program methods of video streams coding from the view point of the resulting qualitiy, size, parallelism and coding time. Results of experimental research into popular video codecs are presented, the algorithm for choice of a video stream compression method is developed.

Кодек Размер результата, Мб Время кодирования, мин Качество результата APSNR/ apsnr^

DivX 587 18 0,74

MPEG-2 DVD 586 19 0,67

H.264 586 100 0,89

Кодек Размер результата, Мб Время кодирования, мин Качество результата APSNR/ apsnr^ Ускорение

DivX 587 10 0,71 1,8

MPEG-2 DVD 586 11 0,62 1,73

H.264 586 50 0,89 2

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