Анализ систем видеонаблюдения

курсовая работа

2. Анализ форматов видеозаписи

Основными характеристиками современных форматов видео файлов являются:

1)Накладные расходы на хранение информации (насколько больше выходной файл, чем полезная информация, которую он хранит)

2)Поддержка расширенных возможностей современных видео и аудиокодеков (B-кадры, переменный битрейт, переменная частота кадров ...)

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

4)Поддержка потокового воспроизведения

5)Открытость либо закрытость формата

Корпорации-гиганты по производству программного обеспечения и международные организации в основном разрабатывают готовые мультимедийные решения, частью которых являются форматы файлов для хранения аудио и видео. Примером является формат AVI для Video for Windows, формат MOV для QuickTime и т.д. Часто такие форматы являются закрытыми и поддерживают только определенные, "свои" кодеки аудио и видео.

В противовес такому подходу в мире развивается движение бесплатного и открытого программного обеспечения. Одним из самых успешных проектов такого типа является формат Matroska.

AVI - формат медиаконтейнера разработанного корпорацией Microsoft как часть технологии Video for Windows в 1992 г. Расшифровывается AVI как - Audio/Video Interleaved. AVI разработан на основе Resource Interchange File Format ( RIFF ) в основе которого лежит принцип разбиения информации на блоки или "chunk". Каждый блок подписан соответствующим FourCC тэгом, содержит информацию о количестве байт данных в блоке и сами данные. Чанки могут быть различной длины, но обязательно кратной 2.

AVI файл обычно содержит:

1)Заголовок RIFF с fourCC avi, содержащий общую информацию, необходимую для определения типа файла

2)Заголовки потоков данных ( fourCC - strl ) с описанием типа и формата потока

3)Один чанк с fourCC movi содержащий пакеты аудио и видео данных

4)Индексный чанк ( fourCC - idx1 ) содержащий таблицу индексов ( 16 байт на каждый чанк в чанке movi )

Рисунок 3. Структура AVI файла

Файлы AVI поддерживают несколько потоков аудио и видео, но это возможности используются редко. Большинство файлов AVI используют расширения разработанные группой Matrox OpenDML феврале 1996 года. Эти расширения поддерживаются корпорацией Microsoft и неофициально называются AVI 2.0.

Характерными чертами формата AVI являются:

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

AVI формат не поддерживает материалы с переменной частотой кадров;

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

AVI файлы не могут надежно хранить некоторые специфичные типы данных с переменным битрейтом ( например, mp3 аудио с частотой дискретизации менее 32 кГц );

Накладные расходы для хранения одного часа видео составляют около 5Мб.

ASF - формат медиаконтейнера разработанного компанией Microsoft для хранения потокового аудио и видео. Формат ASF является частью технологии Windows Media. Разработанный в 1998 году, стандарт должен был стать универсальным форматом хранения и воспроизведения потокового видео и аудио.

Существует две версии формата - ASF 2.0 и ASF 1.0. Версия ASF 1.0 распространена больше и большинство файлов с расширениями .wma или .wmv используют первую версию формата. Корпорация Microsoft никогда не публиковала документацию по первой версии формата в отличие от второй версии, которая хорошо документирована.

Как и любой другой формат медиаконтейнера - формат ASF описывает только структуру потока данных. Расширение файлов формата ASF - .asf, .wma или .wmv. Файл формата ASF может содержать так же и метаданные ( артист, альбом, жанр, режиссер фильма и т.д.). Расширение .asf используется для файлов содержащих аудио и видео данные закодированные сторонними кодеками ( не windows media ), .wma - для файлов содержащих только аудио данные закодированные кодеком windows media, .wmv - для файлов содержащих как аудио так и видео данные закодированные кодеками windows media. При создании формата ASF разработчики руководствовались следующими требованиями:

1)поддержка эффективного воспроизведения с медиасерверов, HTTP серверов и локальных устройств

2)поддержка различных наборов данных в одном файле (аудио, видео, аудио+видео)

3)поддержка масштабируемости качества аудио и видео при передаче по каналам различной пропускной способности

4)поддержка контроля за потоком данных, особенно в системах с ограниченной пропускной способностью

5)независимость от конкретной операционной системы, протокола передачи данных

Как и формат AVI структура потока ASF использует для хранения данных блоки типа "chunk" (чанк). Каждый файл формата ASF содержит как минимум два чанка. Это - заголовочный чанк файла и чанк с данными файла. Кроме этого файл может содержать индексный чанк. Заголовочный чанк файла ASF содержит общую информацию о файле - размер файла, количество потоков, метод коррекции ошибок, используемый кодек. Так же в заголовочном чанке содержатся метаданные. Это единственный из чанков верхнего уровня который может содержать другие чанки. Чанк данных содержит потоки данных организованные в пакеты. Индексный чанк содержит пары значение типа индекс/ключевой кадр для эффективного быстрого перемещения по файлу. Индекс может быть значением времени или номером видео кадра. Каждый чанк начинается с глобального идентификатора ( GUID ) и поля размера чанка. Это позволяет корректно воспроизводит файл при нарушениях в порядке передачи чанков.

Motroska(MKV) - это открытый стандарт мультимедиа контейнера. Проект Matroska вылился из проекта MCF ( Multimedia Container Format ) в результате разногласий по использованию Extensible Binary Meta Language ( EBML ). EBML позволил разработчикам формата Motroska добиться значительных преимуществ при будущем расширении формата, позволяя сохранять обратную совместимость версий.

Формат Motroska проектировался с учетом всех требований к современному мультимедиа контейнеру и поддерживает следующие возможности:

1)быстрый поиск по файлу

2)поддержка нескольких потоков видео в одном файле

3)устойчивость к ошибкам

4)разбивку файла на разделы

5)поддержку нескольких потоков субтитров

6)поддержку нескольких потоков аудио

7)потоковое воспроизведение ( HTTP и RTP протоколы )

8)меню

К основным преимуществам формата Matroska по сравнению с самым популярным форматом последних лет, каким является AVI, относятся - поддержка аудиодорожек с переменным битрейтом, поддержка видео с переменной частотой кадров, обнаружение ошибок видео потока, поддержка практически всех современных аудио/видео кодеков.

Для файлов в формате Matroska используются три расширения файлов .mkv - для видео ( с аудио или без него ), .mka - для файлов содержащих только аудио и .mks - для файлов субтитров. Основным форматом файлов стандарта MPEG-4 является ISO Base Media File Format. Он описывает общие принципы организации данных при хранении их в файле и является основой многих других форматов файлов. Рисунок 2 поясняет отношения между форматом файлов ISO Base Media File Format и другими форматами.

Рисунок 4. Иерархия форматов мультимедийных файлов

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

При создании форматов файлов был использован объектно-ориентированный подход, заимствованный у предшественника - формата файлов QuickTime. Это означает, что файл формата MPEG-4 легко разбивается на отдельные объекты, а структура этих объектов определяется исходя из их типа и позиции. Все пакетно-структурированные файлы начинаются с пакета типа файла, в котором указывается спецификация и назначение файла.

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

Файл MPEG-4 имеет логическую, временную и физическую структуру. Причем эти структуры не обязаны быть связаны друг с другом. Логическая структура файла MPEG-4 в свою очередь состоит из нескольких синхронизированных по времени треков ( track ). Треки представляют из себя последовательности пакетов аудио, видео или других данных с маркерами времени для их взаимной синхронизации.

Физическая структура файла MPEG-4 отделяет порции медиаданных от данных необходимых для временного, логического и структурного их разделения.

Каждый поток аудио или видео данных заключен в отдельный трек. Заголовки каждого трека содержат специфическую информацию определяющую, например, тип кодека, параметры декодирования и т.п. Так же форматом MPEG-4 поддерживаются защищенные потоки данных, используемые для защиты авторских прав ( digital rights managment - DRM ).

Поддержка потокового воспроизведения в формате MPEG-4 реализована через hint tracks. Треки hint tracks содержат инструкции серверу о порядке формирования пакетов данных для передачи их с использованием определенного протокола (например, RTP - real time protocol ).

Формат файлов QuickTime был разработан корпорацией Apple для хранения различных мультимедийных данных. Как заявлено на сайте Apple - это идеальный формат для обмена мультимедийными данными между устройствами, приложениями и операционными системами, так как он может быть использован для хранения практически любых структур мультимедиа данных.

Формат QuickTime является объектно-ориентированным и содержит гибкий, простой в работе и легко расширяемый набор объектов. Новые объекты, используемые в последних версиях формата QuickTime, просто игнорируются более старыми версиями для обеспечения совместимости.

Формат файлов QuickTime послужил основой для создания форматов файлов MPEG-4 и JPEG-2000.

Видеофайл формата QuickTime состоит из нескольких треков ( track ) с различными данными ( аудио, видео, субтитры и т.д. ). Каждый трек содержит либо данные закодированные определенным кодеком, либо ссылки на данные находящиеся в другом файле. Треки представляют собой сложные иерархически организованные структуры, составными элементами которых являются "атомы" ( atom ). Атомы могут содержать внутри себя другие атомы или данные. В самом общем случае можно сказать, что файл формата QuickTime является набором атомов. Спецификация не накладывает никаких ограничений на порядок следования атомов в файле QuickTime.

Файлы формата QuickTime обычно имеют расширение .mov, .qt или .moov, а при передаче в сети интернет идентифицируются по mime-типу "video/quicktime".

QuickTime файлы поддерживают видео и аудио кодеки, которые поддерживает технология QuickTime. Из наиболее распространенных - Cinepak, H.261, H.263, H.264, MPEG-1, MPEG-2, MPEG-4 (Part 2), Sorenson Video 2 и Sorenson Video 3. Поддержка некоторых кодеков предоставляется за отдельную плату. К достоинствам файлов формата QuickTime можно отнести поддержку B-кадров, аудио с переменным битрейтом, видео с переменной частотой кадров, разбивку на главы, поддержку субтитров и метаданных ( тэгов ). К недостаткам - отсутствие поддержки меню.

Формат RealMedia - это стандарт медиаконтейнера от компании RealNetworks. Формат файлов RealMedia имеет расширение ".rm". Файлы RealMedia могут воспроизводиться на локальном компьютере или потоковым методом при передаче по сетям с использованием различных протоколов.

Впервые формат RealMedia был представлен миру в 1997 году. До восьмой версии формата RealMedia видео внутри файла кодировалось кодером стандарта H.263. Начиная с восьмой версии компанией RealNetworks используется собственный, проприетарный кодек для кодирования видео. RealVideo кодеки определяются по четырехсимвольным кодам ( FourCC ) RM10, RM20, RM30 и RM40. Два первых кода относятся к кодеку стандарта H.263, последние - к проприетарному кодеку RealVideo. Дополнительно к собственным кодекам файлы RealMedia могут хранить Mpeg-4, QuickTime и Windows Media видео. Файлы RealMedia оптимизированы для потокового воспроизведения в сети интернет, поэтому аудио и видео информация в них кодируется с постоянным битрейтом для гарантированного соответствия пропускной способности интернет соединения. Для потокового воспроизведения файлов RealMedia используется протокол RTSP ( Real Time Streaming Protocol ). Однако этот стандартный протокол используется только для установления и управления соединением, аудио и видео данные передаются с использованием проприетарного протокола компании RealNetworks - RDTP ( Real Data Transport Protocol ). Для поддержки аудио и видео с переменным битрейтом компания RealNetworks разработала новый формат файлов использующий расширение ".rmvb". Эти файлы в основном предназначены для хранения и воспроизведения видео на локальных компьютерах. Формат RealMedia использует FourCC ( four character codes ) для идентификации элементов файла. FourCC - это 32-битный код, состоящий из четырех или менее символов в кодировке ASCII. Основным строительным блоком файлов RealMedia является чанк ( chunk ). Каждый чанк состоит из следующих полей:

1) FourCC - 32-битный идентификатор чанка

2) 32-битное поле определяющее размер данных хранящихся в чанке

3) данные чанка

Чанки могут входит в состав друг друга создавая сложные структуры.

Так как файл RealMedia состоит из частей описываемых тэгами, в нем жестко не определен порядок следования чанков кроме заголовка файла, который должен находиться в первом чанке. Большинство приложений записывает в заголовочную часть файла RealMedia стандартные заголовки, а именно:

1) RealMedia File Header ( должен находиться в первом чанке )

2) Properties Header ( общие свойства медиафайла )

3) Media Properties Header ( специфичные свойства медиафайла )

4) Content Description Header ( название, автор, авторские права и т.д. )

После заголовочной части файла идет часть файла с данными. Эта часть состоит из заголовка Data Header Section и группы пакетов медиаданных. Заголовок определят начало медиаданных которые обычно хранятся в одном чанке. Однако, если размер файла очень большой, данные могут храниться в нескольких чанках. Пакеты медиаданных хранят порции информации из определенных медиапотоков. Пакеты разных потоков чередуются друг с другом и вместе составляют информационную часть файла. Кроме заголовочной и информационной части в файлах RealMedia есть индексная часть. В индексной части храниться информация необходимая для быстрого перемещения по файлу во время воспроизведения (быстрый поиск пакетов данных).

Делись добром ;)