22 Ноября 2024, 14:27

Theora

Автор turbo, 06 Ноября 2008, 19:13

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

turbo

06 Ноября 2008, 19:13 Последнее редактирование: 24 Ноября 2011, 12:25 от Zhek@Ch
[size="3"]Завершена фаза бета-тестирования кoдека Ogg Theora[/size]

После года бета-тестирования, объявлено о выпуске первого стабильного релиза полностью свободного видеокодека Ogg Theora 1.0, не уступающего по уровню сжатия таким форматам, как MPEG-4, DiVX, XviD, RealVideo и Windows Media Video, но не требующего при этом лицензионных выплат при распространении видеопродукции.

Вместо "изобретения велосипеда" при разработке алгоритма сжатия с открытым кодом, организация Xiph.org попыталась улучшить кодек "Truemotion VP3.2", выпущенный под открытой лицензией компанией On2 Technologies. "Открытость форматов носителей - это залог уверенности, что в будущем каждый сможет создавать их и делиться ими",- сказал Кэт Уолш, член совета Wikimedia Foundation, использующего Theora для всего своего содержимого.

Декодер, включённый в эталонную реализацию (refernce implementation), поддерживает полностью спецификацию Theora и, как утверждается, работает значительно быстрее бета-версии. Исходный код доступен для загрузки со страницы разработчиков под модифицированной BSD лицензией.

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

Можно отметить, что кодек назван в честь Theora Jones - персонажа актрисы Аманды Пэйс в телесериале Max Headroom ( 1987 г. ).
http://www.opennet.r...shtml?num=18729

ping_Win

28 Марта 2009, 11:59 #1 Последнее редактирование: 24 Ноября 2011, 12:26 от Zhek@Ch
[size="3"]Предварительная версия новой модификации видеокодека Theora[/size]

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

По заявлению разработчиков нового кодека, предпринятые улучшения повышают уровень конкурентоспособности Theora c реализующими проприетарные стандарты кодеками, такими как H.264 (MPEG-4 part 10), DiVX, XviD, RealVideo и Windows Media Video, особенно в плане качества кодирования. Впрочем, ценой улучшений является повышение потребления ресурсов, по сравнению с Theora 1.0.

Так как код Theora 1.1 написан с нуля и находится на стадии альфа-готовности и еще далек от стабильного состояния, приветствуется привлечение как можно более широкого круга добровольцев для тестирования.

http://www.opennet.r...shtml?num=20966

turbo

31 Августа 2009, 19:16 #2 Последнее редактирование: 24 Ноября 2011, 12:28 от Zhek@Ch
[size="3"]Обновление кодека Thusnelda в проекте Theora [/size]

На неделе вышла третья бета версия свободной библиотеки видеообработки Theora. По сравнению с первыми релизами проведена большая работа по улучшению качества картинки, которое теперь практически не зависит от сложности обрабатываемых сцен. Основное внимание разработчиков сейчас сконцентрировано на «доводке» функционала библиотеки, устранению последних недоработок, чистке кода и подготовке финальной версии Theora 1.1 (Thusnelda).

Среди последних новшеств можно выделить следующие:
Двухпроходное кодирование (two-pass encoding). Используется для получения файла с изначально заданными битрейтом или размером, при этом качество картинки остается практически как при кодировании с переменным битрейтом. Двухпроходный кодек, в отличие от однопроходного, не подвержен такой проблеме, когда простые сцены сжимаются с очень высоким качеством, а насыщенные -- с низким.
Отбрасывание кадров (Frame Dropping). Несмотря на явные преимущества двухпроходной кодировки, оно не пригодно для «живого» видео, особенно передаваемого по каналу с ограниченной полосой пропускания. В этом случае однопроходный кодек должен строго соблюдать заданные параметры линии связи. До недавнего времени у Theora возникали проблемы именно на низкоскоростных линиях, когда частота дискретизации уменьшалась до предельно допустимой величины. Функция отбрасывания кадров должна помочь не превышать требуемые параметры видеопотока при сохранении приемлимого качества изображения. Текущая реализация позволяет реализовать отбрасывание кадров только на буфере конечного размера.
Поддержка переменной частоты кадров. Данная функция тесно связана с отбрасыванием кадров, однако используется для других целей. Здесь вместо отбрасывания кадры необходимо добавлять. Примером необходимости такой функции является создание анимации, когда начальную частоту кадров в 4 fps необходимо конвертировать в стандартные 24/30 fps.
Адаптивная дискретизация (AQ). Theora всегда поддерживала эту функцию через индексирование фреймов. Тем не менее, ни один из кодеков адаптивную дискретизацию не использовал. Разработчик Tim Terriberry реализовал поддержку AQ для Thusnelda.
Хроматическое сэмплирование 4:2:2 и 4:4:4. Декодирование этих сэмплов поддерживалось Theora в течение нескольких лет, но до текущего релиза ни один кодек их не использовал. Теперь Thusnelda имеет полную поддержку 4:2:2 и 4:4:4.
Новая отладочная визуализация (Telemetry). Реализованы следующие режимы: визуализация векторами движения (motion vector visualization); режим макроблоков (macroblock mode); режим показа дискретизации (quantizer visualization); отображение количества битов, используемых для кодирования разных сцен (bit usage visualization).

http://www.opennet.r...shtml?num=23218

turbo

26 Сентября 2009, 19:17 #3 Последнее редактирование: 24 Ноября 2011, 12:29 от Zhek@Ch
[size="3"]Финальный релиз видеокодека Theora 1.1 "Thusnelda"[/size]

Организация Xiph Foundation выпустила финальную версию нового высокопроизводительного свободного кодека "Thusnelda" (Theora 1.1), отличающегося повышенным качеством картинки при работе в режимах с переменным (режим "постоянного качества") и фиксированным битрейтом (особенно на высоких битрейтах), независимо от сложности и динамики изменения картинки. В плане качества кодирования Thusnelda может конкурировать с такими кодеками, как H.264 (MPEG-4 part 10), DiVX, XviD, RealVideo и WMV.

По сравнению с первой версией кодека Theora, увеличена скорость декодирования, добавлен двухпроходный режим кодирования для подгонки итогового видео под жестко заданный размер файла, для повышения качества картинки при организации потоковой передачи реализован режим жесткого контроля битрейта. Увеличение качества картинки при том же битрейте, привело к уменьшению размера итогового файла, по сравнению с файлами, сгенерированными прошлой версией кодека в том же качестве. Несмотря на все представленные улучшения, API и ABI интерфейсы новой версии кодека не изменились и остались полностью совместимыми с Theora 1.0.

Некоторые наиболее важные улучшения:
Новый алгоритм контроля сохранения параметров потока (Rate-control), не допускающий выхода за рамки запаса буферизации и при необходимости начинающий отбрасывать кадры, что особенно важно для сохранения приемлемого качества картинки при передаче "живого" видео по ограниченным каналам связи.
Новый метод определения областей движения, экономящий время кодирования и не нагружающий сверх меры процессор при кодировании активно меняющихся сцен;
Поддержка адаптивной дискретизации (AQ) без предварительного индексирования кадров;
Улучшенные матрицы дискретизации, уменьшающие уровень шумов на низких битрейтах и повышающие видимость высоко-контрастных краевых областей (например, для отображения текста);
Расширенный API для управления на лету параметрами генерируемого потока, позволяющий в процессе кодирования менять уровень качества, битрейт, задержки буферизации и интервал появления ключевых кадров.
API для нормализации переменной частоты кадров, позволяющий обеспечить потоковую передачу с постоянной частотой смены кадров на основе контента с непостоянной или недостаточной частотой кадров. Подобное достигается за счет генерации на лету недостающих кадров путем дублирования существующих;
Полная поддержка хроматического сэмплирования 4:2:2 и 4:4:4.

http://www.opennet.r...shtml?num=23587

turbo

26 Февраля 2010, 20:49 #4 Последнее редактирование: 24 Ноября 2011, 12:31 от Zhek@Ch
[size="3"]Сравнение видеокодеков Ogg Theora и H.264[/size]

Опубликован отчет с результатами измерения качества картинки при организации потокового вещания с использованием кодеков H.264, Ogg Theora 1.0 и Theora 1.1 (Thusnelda). Вывод сделан неутешительный, на низких битрейтах (ниже 1mbps) Ogg Theora заметно проигрывает формату H.264, причем размытость и артефакты на изображении существенно различимы. Тем не менее по эффективности кодирования и скорости кодирования/декодирования Theora обогнала H.264, но оптимальный баланс между качеством и интенсивностью потока пока демонстрирует H.264.

Низкое качество Theora 1.1 было объяснено одним из разработчиков Theora неверной установкой параметров буферизации, установленной в режим минимизации задержек (предотвращения остановок) на низкоскоростных каналах связи. Подобный режим прекрасно подходит для оценки непрерывности вывода видео на каналах с небольшой пропускной способностью, но абсолютно непригоден в сравнениях качества отдельных кадров. В качестве контраргумента приводится ссылка на результаты оценки кодеков от разработчиков Theora, в которых при битрейте 499kbit/sec различия почти не заметны, но при 327kbit/sec уже начинают бросаться в глаза.

Вслед за первым сравнением в сети был опубликован другой отчет в котором анализировалось качество работы кодеков x264, XviD, Theora, MPEG-2 и Dirac. График с оценкой качества кодирования представлен ниже.


http://www.opennet.r...shtml?num=25591

UNIX

18 Марта 2010, 23:12 #5 Последнее редактирование: 24 Ноября 2011, 12:42 от Zhek@Ch
[size="3"]Ogg: О недостатках мультимедиа контейнера [/size]

[font="Arial"]Один из разработчиков проекта FFmpeg в статье "Ogg objections" подробно рассказал о недостатках мультимедиа контейнера Ogg. Вывод в статье сделан неутешительный, свободность и независимость от патентов - это конечно хорошо, но с технической стороны формат не может конкурировать с аналогами и требует полной переработки. Изначально Ogg создан для работы с простейшими аудио-потоками, из чего следует его излишняя усложненность и нестандартность при работе с другими видами данных, например, при инкапсуляции видео-потоков.

Основные недостатки Ogg:

[/font]
  • [font="Arial"] Трудность интеграции поддержки новых кодеков: для каждого кодека требуется оформления подробной карты, идентифицирующей кодек, показывающей как извлекать данные и как интерпретировать временные метки. Например, для поддержки кодеков Microsoft пришлось расширить формат Ogg, что привело к непринятию данных расширений курирующей формат Ogg организацией Xiph. В качестве примера для подражания приводится формат Matroska, который может работать с любым кодеком, при этом для обеспечения поддержки кодека достаточно определить его уникальный идентификатор.[/font]
  • [font="Arial"] Излишнее расходование ресурсов при организации хранения привязанной к потоку служебной информации. Заголовок страницы данных имеет размер 27 байт, в то время как его без проблем можно было бы ужать до 12 байт. Большой объем лишних полей в заголовке страницы данных, приводит к увеличению размера итогового файла примерно на 1%, в то время как для формата MP4 этот показатель равен 0.05%;[/font]
  • [font="Arial"] Низкая отзывчивость (latency): возникновение паразитной задержки при передаче и приеме кадров (на стороне отправителя и получателя) мешает использованию Ogg при организации интерактивной передачи, например, при проведении видеоконференций или для организации IP-телефонии. Задержка на стороне отправителя возникает из-за того что заголовок страницы данных в Ogg зависит от содержимого страницы, т.е. отображение и передача страниц осуществляется только блоками - пока весь блок данных не будет получен, невозможно рассчитать передаваемую в заголовке контрольную сумму и размер страницы, что приводит к задержке из-за лишней буферизации. На стороне получателя возникает задержка из-за невозможности продолжить обработку до момента получения пактов всех элементарных потоков (звук, видео), в случае отключения проверки контрольных сумм это приводит к постоянному отставанию на одну страницу данных, а если включен режим проверки контрольных сумм, то на две.[/font]
  • [font="Arial"] Непродуманный механизм получения случайного доступа к разным позициям в потоке: индекс в Ogg создается налету (требует дополнительного прохода по данным) или прикрепляется к концу файла, что мешает быстрой смене позиции в не до конца загруженном потоке. Определение позиции осуществляется через операции бинарного поиска, что для больших файлов приводит к выполнению множества лишних проверок (например для перехода в заданному позицию файла размером 10 Гб может потребовать до 50 дополнительных перемещений). Более того, формат хранения времени в Ogg зависит от используемого в текущий момент кодека и приводит к выполнению дополнительных операций на уровне кодека.[/font]
  • [font="Arial"] Проблемы с синхронизацией потоков. Для синхронизации звука и видео каждый пакет данных снабжен временной меткой, но эта казалось бы простая операция в Ogg сильно усложнена - метка отождествлена со временем конца проигрывания блока данных, что приводит к ряду неудобств, таких как трудности планирования, расхождение с общепринятой практикой, для определения начальной точки требуется декодирование пакетов на первой странице.[/font]
  • [font="Arial"] Общая усложненность процесса декодирования и разбора данных, необходимость выполнения лишних действий, использование нестандартных методов и применение в документации необщепринятых терминов. Для обхода ограничения на размер страницы в Ogg возможно разбиение пакета на две страницы, что возлагает на декодер дополнительную нагрузку по сборке фрагментированных пакетов данных. Дополнительно наблюдаются проблемы с требованием лишнего объема памяти для буферизации, на настольных системах это не критично, но для встраиваемых систем приводит к трате драгоценных ресурсов.[/font]
[font="Arial"]
opennet[/font]