Открыть сервис

Ogg Theora

Ogg Theora — это свободный формат сжатия видео с потерями, разработанный некоммерческой организацией Xiph.Org Foundation. Формат предназначен для кодирования видеопотока и его упаковки в мультимедийный контейнер Ogg. Theora позиционируется как открытая альтернатива проприетарным видеокодекам, таким как MPEG-4 Part 2 (включая DivX и Xvid) и H.264/AVC, и не требует лицензионных отчислений.

История

Разработка Theora началась в 2002 году как ответ на растущую обеспокоенность сообщества разработчиков свободного программного обеспечения (СПО) относительно патентных ограничений на популярные видеокодеки. Основой для Theora послужил кодек VP3, разработанный компанией On2 Technologies. В августе 2002 года On2 передала спецификации и эталонную реализацию VP3 в общественное достояние, что позволило Xiph.Org начать работу над его улучшенной версией.

Первая стабильная версия спецификации Theora (1.0) была выпущена в 2004 году. Кодек получил название в честь Теодоры (Theora), персонажа из фильма «Город потерянных детей» (1995), что является отсылкой к традиции Xiph.Org называть проекты в честь персонажей кино и литературы.

В 2009 году, после выхода спецификации Theora 1.1 (кодовое имя «Thusnelda»), производительность и качество кодирования были значительно улучшены. Кодек стал поддерживать более эффективные алгоритмы сжатия, что позволило приблизиться к качеству современников, таких как H.264, при сопоставимых битрейтах.

Технические характеристики

Алгоритм сжатия

Theora использует блочную схему кодирования, основанную на дискретном косинусном преобразовании (ДКП). Видео разбивается на макроблоки размером 16×16 пикселей, которые, в свою очередь, делятся на блоки 8×8 для обработки ДКП. Кодек поддерживает три типа кадров:

  • I-кадры (Intra-frames) — полностью независимые кадры, которые не зависят от других кадров. Используются как опорные точки для случайного доступа и восстановления после ошибок.
  • P-кадры (Predicted-frames) — кадры, которые кодируются с использованием предсказания движения относительно предыдущих I- или P-кадров.
  • B-кадры (Bi-directional frames) — кадры, которые могут использовать предсказание как из предыдущих, так и из будущих кадров. Поддержка B-кадров была добавлена в версии 1.1.

Формат контейнера

Theora не является самостоятельным форматом файла. Видеопоток, закодированный в Theora, упаковывается в контейнер Ogg. Это позволяет объединять видео с аудиодорожками (например, в форматах Vorbis или Opus), субтитрами и метаданными в единый файл с расширением .ogv.

Разрешение и битрейт

Спецификация Theora поддерживает разрешения до 1920×1080 (Full HD) и частоту кадров до 60 кадров в секунду. Однако на практике кодирование видео с разрешением выше 720p (1280×720) может приводить к заметному снижению качества по сравнению с современными кодеками при одинаковом битрейте. Битрейт может варьироваться от очень низких значений (для потокового вещания) до высоких (для архивного хранения).

Применение

Веб-видео

Theora был одним из первых видеокодеков, получивших нативную поддержку в браузерах через элемент <video> в спецификации HTML5. В 2010-х годах его поддерживали Mozilla Firefox, Google Chrome, Opera и Safari (с установленными плагинами). Однако с 2017 года, после стандартизации формата H.264 как обязательного для HTML5, поддержка Theora в браузерах начала сокращаться. На 2025 год Theora не поддерживается в современных версиях Google Chrome, Mozilla Firefox и Safari, уступив место H.264 и AV1.

Открытые проекты и дистрибутивы

Theora широко использовался в проектах, ориентированных на открытое программное обеспечение. Например, дистрибутивы Linux, такие как Ubuntu, в 2010-х годах поставляли видеоролики в формате Theora на установочных дисках. Кодек также применялся в видеоиграх с открытым исходным кодом (например, в Battle for Wesnoth) и в образовательных проектах, где требовалась лицензионная чистота.

Потоковое вещание

Благодаря отсутствию лицензионных отчислений, Theora использовался для потокового вещания в открытых протоколах, таких как Ogg Streaming. Однако с развитием более эффективных открытых кодеков (VP8, VP9, AV1) его применение в этой области сократилось.

Сравнение с другими кодеками

Преимущества

  • Отсутствие лицензионных отчислений: Theora полностью свободен от патентных ограничений, что делает его привлекательным для проектов, где важна юридическая чистота.
  • Простота реализации: Эталонный кодер и декодер написаны на языке C и легко портируются на различные платформы.
  • Низкие требования к аппаратному обеспечению: Декодирование Theora требует меньше вычислительных ресурсов по сравнению с H.264 или HEVC, что важно для старых устройств.

Недостатки

  • Качество сжатия: При одинаковом битрейте Theora уступает H.264 и VP9 по качеству изображения, особенно на высоких разрешениях и сложных сценах.
  • Ограниченная поддержка: Современные браузеры и устройства не поддерживают Theora, что ограничивает его применение в вебе.
  • Отсутствие аппаратного ускорения: В отличие от H.264 и HEVC, Theora не поддерживает аппаратное декодирование на большинстве современных видеокарт и мобильных процессоров.

Статус и развитие

На 2025 год Theora считается устаревшим форматом. Основной разработчик, Xiph.Org Foundation, прекратил активную разработку кодека, сосредоточившись на более современных проектах, таких как Daala и AV1. Тем не менее, Theora остаётся важным этапом в истории открытых видеокодеков, продемонстрировав возможность создания свободного формата, способного конкурировать с проприетарными аналогами.

Интересные факты

  • Название «Theora» было выбрано в честь персонажа из фильма «Город потерянных детей», что соответствует традиции Xiph.Org называть проекты в честь персонажей кино (например, аудиокодек Vorbis назван в честь персонажа из книги Терри Пратчетта).
  • Несмотря на устаревание, Theora до сих пор используется в некоторых встраиваемых системах и проектах, где требуется минимальная зависимость от сторонних библиотек.
  • В 2010 году Google приобрела компанию On2 Technologies, владевшую правами на VP3, и выпустила кодек VP8, который стал прямым конкурентом Theora. Однако VP8 также был открыт и не требовал лицензионных отчислений.

Источники

  • Спецификация Theora 1.1 (Xiph.Org Foundation)
  • Документация по Ogg Theora (Xiph.Org Foundation)
  • Статья «Theora: A Free Video Codec» (журнал Linux Journal, 2009)
  • Материалы конференции FOSDEM 2010: «Theora: Past, Present, and Future»
  • Обзор форматов сжатия видео (сайт «Википедия» — раздел «Сравнение видеокодеков»)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →