Домашний компьютер 7 2006 (121)
Шрифт:
Стандарт и на опорные, и на предсказанные кадры в MPEG – довольно жесткий, вне зависимости от подалгоритмов, используемых тем или иным кодером. Третий же вид кадров, двунаправленные, имеет несколько разновидностей, которые зависят как от конкретного кодировщика, так и от выбранного пользователем режима работы. Они тоже предсказывают движение, вперед или назад (получается – «послесказывают»), тоже записывают некую разностную информацию, однако довольно специфическим образом. И если потеря опорного кадра приведет к полному выпадению пятнадцатикадровой последовательности, а предсказанного – к рывку на изображении, то потери двунаправленных смогут только несколько ухудшить плавность, но принципиально ничего не испортят. Существуют профили (например, Sample Profile, «Простой»),
Кадры при MPEG-кодировании разбиваются на группы, называемые GOP, Group of Pictures, которые начинаются с опорного кадра и далее включают предсказываемые и (не обязательно) двунаправленные. Типичный, «стандартный» профиль MPEG выглядит как IBBPBBPBBPBB.
Совершенно понятно, что, хотя смотреть не слишком сжатый MPEG-файл бывает достаточно комфортно, – ибо в алгоритме используется вовсю «человеческий фактор» (средний человек много на что в картинке попросту не обращает внимания), – обрабатывать его, это значит практически всегда – портить. Ибо для точного монтажа или какой-нибудь другой обработки мы сначала должны получить полную последовательность кадров, из которых точно соответствовать действительности будет только каждый пятнадцатый, остальные – вычислены с той или иной степенью достоверности.
Последняя деталь: видео в MPEG можно кодировать одним проходом, когда кодировщик выбирает некий средний алгоритм и одинаково сжимает динамическую, густонаселенную сцену «Штурма Зимнего» и неподвижный пейзаж Микеланджело Антониони. А можно – двумя, что, конечно, дольше и не всегда приводит к заметной разнице, но пробовать надо всегда. При двухпроходном кодировании кодировщик намечает места для вставки двунаправленных кадров и определяет алгоритм, по которому они будут строиться, так что есть шанс получить неплохой результат.
Есть шанс – это потому, что любой кодировщик – совершенный дурак. Хотя люди, которые его придумали, как правило, – очень и очень умные.
Евгений Козловский
Несколько лет тому назад, после появления компьютерных DVD-рекордеров, интерес к кодированию видео в MPEG-2 резко возрос. Стало возможным то, о чем ранее не мечтали: запись собственных DVD-Video-дисков. Сейчас это считается чем-то само собой разумеющимся, но всего каких-то три года тому назад казалось чудом.
Первый же вопрос, который возник в связи с появившейся возможностью создавать DVD-диски очевиден: каким кодировщиком кодировать свое бесценное видео и почему именно им?
Исторически существовали две основные группы кодировщиков (кратко – кодеров) MPEG-2: аппаратные, то есть представляющие собой коробку или плату, и программные, никакого железа не требующие. Еще 4-5 лет тому назад аппаратные кодеры MPEG-2 были довольно популярны, даже несмотря на то, что за них, в отличие от программных кодеров, всегда надо было платить. Объяснялась такая любовь к аппаратным кодерам довольно просто. Во-первых, они умели кодировать в реальном времени, чего тогда не умели программные кодеры, а во-вторых – качество кодирования у лучших образцов превосходило качество кодирования программных кодеров. Наибольшую популярность имели платы от ныне почившей в бозе Dazzle и работающей до сих пор в этом жанре компании Canopus. К сожалению, у всех аппаратных кодеров MPEG по труднообъяснимым причинам были проблемы совместимости с материнскими платами, периодически возникали сложности с драйверами и т. п.
Но пару лет тому назад появились внешние аппаратные USB-кодеры, аппаратных проблем с компьютером уже не имевшие, да и заметных проблем со своими программами тоже. Тем не менее популярности у аппаратных кодеров не прибавилось, скорее наоборот. Объясняется это тем, что процессоры стали мощнее, а программное кодирование – быстрее, но, что еще важнее, – людям лень думать на темы кодирования,
Конечно, аппаратные кодеры умерли не совсем, сохранились они и до сих пор, но выпускаются и используются только в профессиональных целях. Стоимость профессионального MPEG-кодера может достигать десятков тысяч долларов. Например, системы для профессионального DVD-авторинга обычно включают аппаратный кодер/декодер MPEG-2. На такой системе можно немедленно после кодирования просмотреть результат на телевизоре, при необходимости откорректировать картинку, добиваясь лучшего результата. Разумеется, даже при гипотетическом наличии денег на такую систему покупать ее любителю нет никакого смысла – для этой работы нужна соответствующая квалификация плюс всевидящие глаза.
Года три тому назад году ситуация с программными кодерами MPEG-2 практически ничем не отличалась от сегодняшней. И тогда, и сейчас царствуют Cinema Craft Encoder (CCE), Main Concept MPEG Encoder и Canopus Procoder.
Надо заметить, что до появления Canopus Procoder их негласное соревнование было вялотекущим и скучным. В первую очередь из-за того, что запись своих DVD была тогда занятием дорогим, а из-за низкого качества кодирования DV-исходников – непривлекательным хобби. Procoder сразу же после своего выхода потряс всех нас: его качество кодирования DV-видео (а 90% любительского видео и сейчас снимается в DV) заметно превосходило всех конкурентов. Дискуссия о Canopus Procoder, начатая в июле 2002 года на форуме ixbt.com, продолжается и сейчас. Аналогичная дискуссия на самом авторитетном форуме видеолюбителей, возникшая в том же 2002-м, также остается актуальной. Тогда же и началась Encoders war 32 , правда интеллигентная и не шумная.
32 Война кодеров.
Расскажем немного о каждом из кодеров.
Canopus Procoder версии 1.0 в режиме Mastering-Quality кодировал даже на относительно невысокой скорости потока (около 6000 Кбит/с) так, что отличить результат от DV-оригинала было довольно трудно. Но был у первой версии и заметный недостаток: кодирование с наивысшим качеством продолжалось чудовищно долго. Один час исходного видео мог кодироваться до 12-20 часов, в зависимости от качества и/или динамики исходного материала. У Procoder связь между качеством отснятого видео и временем кодирования была прямой и непосредственной. Самый тяжелый материал, такой как бурлящая вода, Procoder мог кодировать в 20-30 раз дольше, чем продолжалась сама съемка.
Очевидно, по пожеланиям трудящихся, Canopus весной 2003 года выпустила новый MPEG-2-движок для Procoder, который вошел в версию 1.5 Procoder. Скорость кодирования возросла заметно, но вот с качеством… По мнению многих любителей, Canopus с точки зрения качества просто «сдвинул» вниз режимы кодирования. Иными словами, то, что раньше было Mastering-Quality, исключили вообще, а бывший режим Highest-Quality стал в версии 1.5 Mastering-Quality.
Прошел еще год, и Canopus разродился второй версией. Procoder стал кодировать еще быстрее, обзавелся множеством как довольно полезных, так и почти бесполезных добавок, но качество лучше не стало.