Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Начала WEB-дизайна часть 2.pdf
Скачиваний:
25
Добавлен:
20.03.2015
Размер:
2.87 Mб
Скачать

Видеокодеки

91

H.264

H.264 (http://ru..wikipedia..org/wiki/H..264) — видеокодек, известный еще как MPEG-4 part 10, MPEG-4 AVC, или более полно — MPEG-4 Advanced Video Coding. Раз-

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

Чтобы очертить круг имеющихся профилей, скажу, что аппараты iPhone поддерживают только базовый (Baseline) профиль, цифровой ресивер AppleTV — базовый и основной (Main), тогда как проигрыватель Adobe Flash на PC умеет воспроизводить H.264-видео базового, основного и высокого (High) профилей. Сервис YouTube, находящийся в собственности Google, применяет кодек H.264 для кодирования высококачественного видео, которое затем воспроизводится с помощью Adobe Flash. Кроме того, на YouTube публикуется H.264-видео для мобильных устройств: Apple iPhone и аппаратов с операционной системой Google Android. Кодек H.264 — один из кодеков, разрешенных спецификацией Blu-ray. Диски Blu-ray, содержимое которых закодировано с помощью этого кодека, обычно используют высокий профиль.

PC-несовместимые устройства, умеющие воспроизводить H.264-видео (в том числе iPhone и бытовые проигрыватели Blu-ray), как правило, декодируют видеопоток на специальном чипе, потому что их основным процессорам далеко до той мощности, которая нужна для расшифровки H.264 в реальном времени. Аппаратное декодирование H.264 поддерживают и многие видеокарты компьютеровдесктопов. Для кодирования видео в H.264 предусмотрено несколько альтернатив, среди которых есть библиотека x264 с открытым исходным кодом. Стандарт H.264 защищен патентом; за выдачу лицензий на пользование им отвечает группа MPEG LA. Видеопоток H.264 может быть вложен в большинство популярных контейнеров (см. предыдущий раздел), в том числе MP4, который преимущественно используется в интернет-магазине Apple iTunes, и MKV, большинство пользователей которого — энтузиасты некоммерческого видео.

Theora

Разработкой кодека Theora (http://ru..wikipedia..org/wiki/Theora), потомка технологии

VP3, занимался фонд Xiph.org. Theora — это кодек, свободный от отчислений. Пользование им не ограничено никакими патентами, кроме исходных патентов на VP3, лицензия на которые бесплатна. В 2004 году стандарт был заморожен, но проект Theora, в состав которого входят эталонные кодировщик и декодировщик

92

Глава 5.. Видео в Сети

с открытым исходным кодом, выпустил версию 1.0 лишь в ноябре 2008 года, а версию 1.1 — в сентябре 2009 года.

Видео в формате Theora может быть вложено в любой контейнер; чаще всего его можно видеть в контейнере Ogg. Поддержкой Theora сразу после установки обладают все основные дистрибутивы Linux. Браузер Mozilla Firefox версии 3.5 имеет встроенную поддержку видео Theora в Ogg-контейнере (под «встроенной» здесь подразумевается поддержка на всех платформах без вспомогательных программ, специфическихдляэтихплатформ).Послеустановкипрограммы-декодераXiph.org можно воспроизводить видео Theora на платформах Windows и Mac OS X.

VP8

VP8 (http://ru..wikipedia..org/wiki/VP8) — это еще один видеокодек от компании On2,

разработавшей VP3 (наследником которого является Theora). По качеству он сопоставим с H.264 базового профиля, но обладает большим потенциалом дальнейшего развития.

В 2010 году компания Google приобрела On2, после чего была опубликована спе­ цификация кодека VP8 и раскрыт код его эталонных реализаций — кодировщика идекодировщика.Входеэтихмероприятийбылитакже«открыты»,тоестьосвобождены от платного лицензирования, все патенты, ранее полученные On2 на VP8.

ПРИМЕЧАНИЕ

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

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

Аудиокодеки

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

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

Аудиокодеки

93

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

Как упоминалось в разделе «Видеокодеки» этой главы, при просмотре видео ваш компьютер одновременно выполняет несколько операций.

1.Интерпретирует формат контейнера.

2.Декодирует видеопоток.

3.Декодирует аудиопоток и посылает необходимые звуки в динамики.

Аудиокодек отвечает за решение задачи 3. Он расшифровывает аудиопоток и превращает его в цифровые сигналы, которые в колонках или наушниках превращаются в звук. Как и в видеокодеках, при кодировке аудио применяются разные способы снижения объема информации аудиопотока. Поскольку мы говорим о сжатии с потерями, то в цикле «запись кодирование декодирование воспроизведение» часть данных теряется безвозвратно. Различные кодеки отбрасывают разные фрагменты информации, руководствуясь при этом одной задачей: «обмануть» уши слушателя, чтобы тот не заметил недостающего.

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

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

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

MPEG-1 Audio Layer 3

Кодек MPEG-1 Audio Layer 3 (http://ru..wikipedia..org/wiki/MP3) в обиходе известен как MP3. Если вам никогда не приходилось слышать об MP3, не знаю, как и быть.

1Бесплатная программа для интернет-телефонии. — Примеч. перев.

94

Глава 5.. Видео в Сети

В любом супермаркете сейчас под именем MP3-проигрывателей продаются портативные проигрыватели… Ну да ладно.

MP3поддерживаетдвухканальныйзвук.Доступенразличныйбитрейт:64Кбит/с, 128 Кбит/с, 192 Кбит/с и множество других (от 32 до 320). Чем выше битрейт, тем больше размер файла и тем лучше качество аудио, хотя отношение качества звука к битрейту не линейно (при битрейте 128 Кбит/с звук более чем вдвое качественнее, нежели при 64 Кбит/с, но 256 Кбит/с дает менее чем двойной прирост качества по сравнениюсо128Кбит/с).Крометого,форматMP3,стандартизованныйв1991году, допускает кодирование с переменным битрейтом, при котором одни части закодированного потока сжаты сильнее других. Так, паузу между звуками можно кодировать с очень низким битрейтом, а после паузы, когда на нескольких инструментах будет взят сложный аккорд, битрейт подскочит. Разрешается и кодирование

MP3 с постоянным битрейтом.

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

Формат MP3 защищен патентом, из-за чего «родного» декодирования MP3 в дистрибутивах Linux нет. Самостоятельные MP3-файлы воспроизводит в наши дни почти любой портативный проигрыватель, а MP3-аудиопоток может быть вложен в любой медиаконтейнер. Adobe Flash способен воспроизводить как самостоятельные MP3-файлы, так и MP3-аудиопотоки в контейнерах MP4.

Advanced Audio Coding

Кодек Advanced Audio Coding (http://ru..wikipedia..org/wiki/Advanced_Audio_Coding)

известен под аббревиатурой AAC. Он был стандартизован в 1997 году и набрал силу после того, как компания Apple сделала его форматом по умолчанию в своем онлайн-магазине iTunes Store. Первоначально все AAC-файлы, приобретаемые пользователями iTunes Store, были зашифрованы проприетарной DRM-схемой Apple под названием FairPlay. Но теперь многие композиции в iTunes Store доступны в виде незащищенных AAC-файлов. Apple называет такой формат iTunes Plus, ведь назвать его iTunes Minus было бы как-то неудобно. Формат AAC защищен патентом; прейскурант на лицензирование можно найти в Интернете.

Задачей разработчиков AAC было добиться более высокого качества звука, чем в MP3 при таком же битрейте. В отличие от MP3, в котором определен набор доступных величин битрейта (верхняя граница — 320 Кбит/с), AAC допускает совершенно любой битрейт. Можно кодировать до 48 каналов звука, хотя это и не практикуется. Отличие формата AAC от MP3 еще и в том, что он, подобно H.264, имеет несколько профилей. AAC-аудио профиля «низкой сложности» может воспроизводиться в реальном времени на устройствах с ограниченной мощностью процессора. Более высокие профили обеспечивают при том же битрейте лучшее качество звука, но взамен требуют больше времени (или мощности) на кодирование-декодирование.