Библиографическое описание:

Панькин А. Я. Метод кодирования видеоданных для размещения в электронном хранилище музея истории детского движения // Молодой ученый. — 2016. — №10. — С. 77-82.



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

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

  1. Подбор форматов хранения информации;
  2. Подбор ПО для кодирования/декодирования и редактирования сохраняемой информации;
  3. Определение способов выдачи хранимой информации (для ознакомления, для публикации и др.).

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

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

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

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

Для разработки метода выполнены следующие шаги:

– сформулированы критерии выбора;

– обоснован выбор форматов хранения видеоданных;

– выбран инструментарий кодирования/декодирования, редактирования, просмотра, представления.

Задачи данного метода:

– для длительного хранения видеоматериала требуется найти видеоформат [3], который мог бы надежно сохранить данные на длительное время в наивысшем качестве (без потерь [4]);

– для гарантированного потокового воспроизведения видеоматериала [5] с целью ознакомления требуется видеоформат, который способен проигрывать видео на различных платформах и в удовлетворительном качестве.

К выбираемым форматам были предъявлены следующие требования:

1) Наличие свободной лицензии;

2) Наличие открытого исходного кода инструментария кодирования/декодирования, редактирования, средств просмотра;

3) Кроссплатформенность;

4) Для формата сжатия с потерями: поддержка потокового воспроизведения;

В данной статье при использовании термина «формат» подразумеваются его составляющие компоненты, а именно связка «видеокодек + медиаконтейнер» [6].

В процессе поиска видеоформатов, удовлетворяющих сформулированным требованиям, выяснилось, что имеется не так много форматов со свободной лицензией, из которых можно было бы сделать выбор. По мнению авторов, для решения поставленной задачи оцифровки видеоданных для архива длительного хранения наилучшим образом подходят кодеки Lagarith [7] (сжатие без потерь) и Theora [8] (сжатие с потерями) и медиаконтейнер Matroska [9].

Lagarith базируется на известном в прошлое время кодеке Huffyuv [10], примерно сравним с ним по быстродействию, однако, превосходит по степени сжатия. Lagarith удовлетворяет всем сформулированным выше требованиям.

Особенности кодека Lagarith:

– Lagarith работает в цветовых пространствах RGB24, RGB32, RGBA, YUY12 и YV12;

– Поддерживает многопроцессорность;

– Каждый кадр может быть отдельно декодирован, что облегчает поиск, вырезание, объединение.

Theora — свободный видеокодек, разработанный фондом Xiph.org. Является форматом сжатия с потерями, основан на кодеке On2 VP3. Сжатое в этом формате видео может быть сохранено в любом подходящем медиаконтейнере. Чаще всего используется контейнер Ogg [11]. Theora также удовлетворяет всем сформулированным выше требованиям.

Особенности кодека Theora:

– Использует цветовое пространство YUV;

– Использует высококачественные алгоритмы сжатия;

– Создавался для потокового воспроизведения видео в сети Интернет, итоговые размер/качество составляют хорошую конкуренцию многим проприетарным кодекам;

– Каждый Linux-дистрибутив поддерживает Theora по умолчанию.

Matroska — открытый, гибкий, кроссплатформенный, мультимедийный контейнер. Основан на EBML [12] — двоичном аналоге языка XML. Matroska также удовлетворяет всем сформулированным выше требованиям.

Особенности медиаконтейнера Matroska:

– Трансляция через сеть Интернет (протоколы HTTP, CIFS, FTP, RTP);

– Быстрая перемотка по файлу;

– Устойчивость к ошибкам (может воспроизвести некоторые видеофайлы, даже если они повреждены);

– Разбиение файла на главы;

– Переключаемые «на лету» субтитры;

– Переключаемые звуковые дорожки;

– Модульная расширяемость;

– Поддержка метаданных (тегов).

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

Предлагаемый метод предполагает, что для сохранения в архиве передаётся исходный видеоматериал, оцифрованный в формате «.raw» (без какого-либо сжатия). С целью экономии дискового пространства для размещения в архиве этот видеоматериал сжимается выбранным кодеком без потерь и помещается в медиаконтейнер, в который дополнительно помещается метаинформация, описывающая видеоматериал. Дополнительно изготавливается копия видеоматериала, сжатая с потерями, для целей ознакомления с видеоматериалом потенциальных потребителей, которая также помещается в медиаконтейнер, который снабжается необходимой метаинформацией.

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

Для обоснования рекомендаций по выбору степени сжатия был проведён ряд экспериментов на видеоданных с двумя наиболее характерными особенностями: с минимальным движением и с активным движением в кадре.

Характеристики компьютера, на котором производились эксперименты:

– Процессор IntelCorei3 2350M с частотой 2294 МГц;

– Оперативная память: 4 Гб;

– Видеокарта: AMDRadeonHD 7470M;

– Операционная система: MicrosoftWindows 7 Домашняя базовая 64-разрядная.

Для сжатия видео с потерями была использована свободно распространяемая программа TheoraConverter.NET [13]. TheoraConverter.NET выполняет кодирование в форматы Theora/.ogg, Theora/.ogv Она была выбрана по нескольким причинам:

а) дает возможность использовать уровни сжатия видеопотока от 0 до 10;

б) дает возможность использовать уровни сжатия аудиопотока от 2 до 10;

в) имеет поддержку метаданных;

г) программа является свободно распространяемой;

д) доступны исходные коды программы.

Для конвертации в выбранный медиаконтейнер Matroska была выбрана свободно распространяемая программа AnyVideoConverter. От программы требовалась лишь высокая скорость конвертации в Matroska, чем вышеупомянутая программа и отличилась.

Исходные данные по файлу видеоданных с минимальным движением приведены в таблице 1.

Таблица1

Характеристики видеофайла сминимальным движением

Исходный файл

Кодек/контейнер

Объем файла

Длина

Битрейт

Цветовая модель

UncompressedRGB/.raw

609 Мб

38,959 с

133 Мб/с

YV12

Результаты эксперимента сведены в таблицу 2, по данным которой также построены графики (рис. 1–3).

Таблица 2

Результаты эксперимента по выявлению наилучшей степени сжатия видеокодека Theora для видео сминимальным движением

Уровень сжатия

Время обработки (с)

Битрейт видеопотока (Кбит/с)

Размер видео (Мб)

0

51

718

3,28

1

52

985

4,5

2

54

1478

6,75

3

57

2045

9,34

4

65

2916

13,3

5

70

4190

19,1

6

73

5696

26

7

79

7835

35,8

8

86

11366

50,5

9

90

14643

65,1

10

84

18227

81,5

Рис. 1. Диаграмма зависимости уровня сжатия видео от времени его обработки

Рис. 2. Диаграмма зависимости уровня сжатия видео от битрейта видеопотока

Рис. 3. Диаграмма зависимости уровня сжатия видео от его размера

Исходные данные файла видеоданных с минимальным движением приведены в таблице 3.

Таблица 3

Видео сактивным движением

Исходный файл

Кодек/контейнер

Объем файла

Длина

Битрейт

Цветовая модель

Basic Windows bitmap format/.avi

1.24 Гб

22,56 с

481 Мб/с

YV12

Результаты эксперимента сведены в таблицу 4, по данным которой также построены графики (рис. 4–6).

Таблица 4

Результаты эксперимента по выявлению наилучшей степени сжатия видеокодека Theora для видео сминимальным движением

Уровень сжатия

Время обработки (с)

Битрейт видеопотока (Кбит/с)

Размер видео (Мб)

0

52

568

1,5

1

58

725

1,91

2

54

937

2,46

3

55

1167

3,07

4

62

1543

4,06

5

64

2003

5,27

6

65

2609

6,86

7

68

3539

9,3

8

71

5086

13,4

9

75

7601

20

10

79

11776

30,2

Рис. 4. Диаграмма зависимости уровня сжатия видео от времени его обработки

Рис. 5. Диаграмма зависимости уровня сжатия видео от битрейта видеопотока

Рис. 6. Диаграмма зависимости уровня сжатия видео от его размера

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

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

Литература:

  1. Андрей Гуле. Захват, обработка и хранение видео с использованием ПК — «iXBT» — интернет-издание о компьютерной технике. Статья от 02.08.2009 г. URL: http://www.ixbt.com/divideo/videoonpc.shtml (дата обращения: 29.11.2014).
  2. Свободная энциклопедия ВикипедиЯ. Хранилище данных. URL: https://ru.wikipedia.org/wiki/Хранилище_данных (дата обращения: 24.11.2014).
  3. ГОСТ 13699. Запись и воспроизведение информации. Термины и определения.
  4. Свободная энциклопедия ВикипедиЯ. Сжатие без потерь. URL: https://ru.wikipedia.org/wiki/Сжатие_без_потерь (дата обращения: 18.10.2014).
  5. Свободная энциклопедия ВикипедиЯ. Потоковое мультимедиа. URL: https://ru.wikipedia.org/wiki/Потоковое_мультимедиа (дата обращения: 16.10.2014).
  6. О. Жернакова. Кодеки, контейнеры, форматы для начинающих — «Телемультимедиа» — Интернет-журнал по широкополосным сетям и мультимедийным технологиям. Статья от 13.11.2009 г. URL: http://www.telemultimedia.ru/art.php?id=381 (дата обращения: 14.11.2014).
  7. Lagarith Lossless Video Codec. URL: http://lags.leetcode.net/codec.html (дата обращения 04.12.2014).
  8. The xiph open source community. Theora.org. URL: http://theora.org. (дата обращения: 12.12.2014).
  9. Matroska. URL: https://www.matroska.org/technical/whatis/index.html (дата обращения: 14.12.2014).
  10. Свободная энциклопедия ВикипедиЯ. Huffyuv. URL: https://ru.wikipedia.org/wiki/Huffyuv (дата обращения: 04.12.2014).
  11. The xiph open source community. The Ogg container format. URL: http://www.xiph.org/ogg/ (датаобращения: 12.12.2014).
  12. libEBML. EBML — Extensible Binary Markup Language. URL: http://matroska-org.github.io/libebml/ (дата обращения: 14.12.2016).
  13. Sorceforge. Theora Converter.NET. URL: https://sourceforge.net/projects/theoraconverter/ (датаобращения: 13.12.2014).

Обсуждение

Социальные комментарии Cackle