О быстрых и эффективных способах записи сигнала TV-тюнера и переноса видеоданных с DVD на CD для их последующего просмотра на ПК мы рассказывали (см. «Мир ПК», №12/01, с. 130, №8/03, с. 122). Однако большинство людей предпочитают смотреть кино по телевизору, используя видеомагнитофон либо стационарный проигрыватель Video-CD или DVD. Кроме того, имея коллекцию фильмов формата MPEG-4 на CD или «винчестере», невозможно поделиться ею с теми, у кого нет компьютера.

Как быть в таком случае? Очень просто: надо создать диск стандарта, совместимого со стационарными бытовыми плеерами. Этому и посвящена данная статья.

Форматы сжатия MPEG

Сначала поговорим о сжатии видео в форматах семейства MPEG — это поможет понять смысл описанных ниже манипуляций. Ведь при их бездумном выполнении вероятность совершения ошибки намного повышается. К тому же общее представление о MPEG даст возможность варьировать в определенных пределах выбираемые режимы и параметры, что позволит улучшить качество дисков Video-CD.

Разработка группы форматов сжатия MPEG, к которой принадлежат как стремительно набравший популярность MPEG-4, так и «старичок» MPEG-1, началась в 1988 г. Именно тогда был основан комитет Moving Pictures Expert Group (в буквальном переводе — экспертная группа движущихся изображений). Его аббревиатура MPEG известна теперь любому, кто занимается мультимедиа на компьютере или цифровым телевидением. В том же году началась разработка формата MPEG-1, в окончательном виде выпущенного в 1993 г. Несмотря на недостатки, MPEG-1 по-прежнему является одним из ведущих стандартов. Практически все как современные, так и более старые проигрыватели Video-CD и DVD поддерживают этот формат. Лишь в последнее время MPEG-1 начал постепенно сдавать позиции под натиском более новых и совершенных форматов видеосжатия, по большей части из этого же семейства. Однако и они практически все в том или ином виде используют разработки, легшие в основу MPEG-1. Поэтому, рассмотрев в подробностях его особенности, можно составить представление о том, как работают общие алгоритмы MPEG и какие настройки параметров кодека следует выбирать для получения изображения наилучшего качества или файла наименьшего размера.

Разработка формата MPEG-1 началась в те многими уже забытые времена, когда не было широкодоступных носителей данных большого объема. Даже сжатые видеоданные занимали огромное для конца прошлого века пространство — объем файла фильма средней продолжительности превышал гигабайт. Напомню, тогда на столах стояли компьютеры с 286-ми и 386-ми процессорами, а 4-Мбайт оперативная память и 200-Мбайт жесткий диск считались роскошью. Windows еще только начинала свое победное шествие, а в качестве портативных носителей информации применялись лишь 5-дюймовые дискеты.

В такой ситуации требовался носитель емкостью в несколько сот мегабайт, причем недорогой, иначе о массовости не могло идти речи. И такой носитель создали: CD-ROM. Правда, на один 650-Мбайт диск фильм в формате MPEG-1 продолжительностью 1,5 ч все равно не умещался, поскольку требовал 900 Мбайт. И кино стали записывать на два CD-ROM, так как стоимость их изготовления с самого начала была весьма невелика.

Первые проигрыватели CD-ROM имели скорость 1X, т.е. за 1 с ими пересылалось 150 Кбайт данных в формате MPEG-1. Именно из-за этого ограничения, так называемой фиксированной ширины потока данных (Constrained Parameters Bitstream, CPB), разработчики формата MPEG-1, а в дальнейшем и создатели основанных на нем кодеков вынуждены использовать довольно низкое разрешение кадра, характерное для Video-CD. На самом же деле MPEG-1 поддерживает сжатие и воспроизведение видеоинформации с разрешением вплоть до 4095х4095 пикселов и частотой смены кадров до 60 Гц. Наиболее распространены два варианта: SIF — 352х240 пикселов, 30 кадр./с и урезанный PAL/SECAM — 352х288 пикселов, 25 кадр./с. Обратите внимание — количество строк и пикселов не соответствует отношениям сторон кадра 3:4, что создает так называемый «неквадратный пиксел». Дело в том, что создатели MPEG-1 не предназначали его для просмотра фильмов на компьютере, они всего лишь предложили формат хранения видеоматериала в цифровой форме. Предполагалось, что видео будет выводиться через ТV-выход видеоплаты на телевизор либо проигрыватель Video-CD. Если же воспроизводить кино на мониторе ПК без применения специальной корректировки, то мы увидим слегка сжатое по вертикали (в случае использования SIF) или по бокам (урезанный PAL/SECAM) изображение.

Это особенно важно помнить тем, кто конвертирует видео из MPEG-1 в более современный формат MPEG-4 — в видеоредакторе необходимо включить опцию resize (т.е. изменение размеров окна) и вместо разрешения 352х240 пикселов задать значение 320х240 пикселов или вместо 352х288 пикселов — 384х288 пикселов.

В качестве примера рассмотрим урезанную версию формата PAL/SECAM, более распространенную, чем SIF. В ней на линию приходится 352 точки, а на кадр — 288 линий, частота составляет 25 кадр./с. Полноценный стандарт PAL/SECAM имеет значения параметров в 4 раза большие, чем у MPEG-1 (кроме частоты кадров). Поэтому принято говорить, что четкость изображения Video-CD в 4 раза хуже, чем у несжатого видео.

В компьютерной графике на каждый пиксел отводится определенное фиксированное число битов. В MPEG-1 принят другой принцип: цветовая схема YСbCr, где Y — яркостная составляющая, Сb и Cr — цветовые. Существует несколько вариантов кодирования (см. таблицу).

Очевидно, что цветовые составляющие практически всегда кодируются с меньшим разрешением, чем яркостная. А чем ниже разрешение Сb и Cr, тем грубее и неестественнее цветопередача в видеоролике. Таким образом, самым некачественным, но зато обеспечивающим наименьший размер файла будет вариант, приведенный в последней строке таблицы.

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

Сжимать фильмы по тем же алгоритмам, что и фотографии, не удается. Точнее, это возможно (примерно так работает кодек DV, используемый цифровыми видеокамерами), но файл получается очень большим и не умещается на болванку CD-ROM. Тогда создатели MPEG применили следующий способ. Они выделили три типа кадров:

  • I, Intra frame - ключевые кадры, которые записываются целиком;
  • P, Predirected frame - при их кодировании часть информации удаляется, сохраняется только список отличий от предыдущих кадров; при воспроизведении используется информация предыдущих I- или P-кадров;
  • В, Bidirectional frame - при кодировании этих кадров записывается не сам видеоматериал, а только ссылки на похожие "квадратики" в предыдущих кадрах; при воспроизведении используется информация двух предыдущих I- или P-кадров.

Именно кадры типа B обеспечивают высокую степень сжатия MPEG-1 (но не очень хорошее качество). При кодировании создается цепочка кадров разных типов — так называемая GOP-структура (подробности см. ниже), которая выглядит, как правило, так: IBBPBBPBBIBBPBBPBB... Соответственно если кадры обозначить номерами начиная с 1, то список примет такой вид: 1423765...

По окончании разбивки кадров на разные типы и создания GOP-групп начинается собственно кодирование. Каждый I-кадр разбивается на блоки размером 8х8 пикселов. Для кадров типов P и B применяется более сложный алгоритм. Чтобы сильнее их сжать, используется так называемое «предсказание движения». В качестве начальной информации берется блок 8х8 пикселов текущего и аналогичные блоки предыдущих кадров (типа I или P). Далее определяется, насколько и как изменился блок в данном кадре по сравнению с предыдущими. Все участки, имеющие высокое сходство, безжалостно удаляются. Поэтому в фильмах формата MPEG-1 качество статичных сцен заметно выше качества сцен с интенсивным движением. Ведь в неподвижных местах кадры P и B по сути представляют собой копии кадров I, и при их выбрасывании из записи изменения в видеоряде малозаметны. При кодировании блоков и вычислении разницы между ними часть информации теряется за счет выравнивания сильно выделяющихся участков. После этой процедуры формируется матрица квантования (quantization matrix), определяющая взаимозависимости похожих и непохожих кадров.

Все сказанное выше касается только изображения. Но кроме видеоряда в любом фильме присутствует звук, сжатие которого выполняется звуковым кодером. С развитием формата MPEG звуковые кодеры становились все эффективнее. К моменту стандартизации MPEG-1 были созданы кодеры MPEG-1 Layer I, Layer II и Layer 3 (MP3). Их работа базируется на психоакустической модели, достигшей потолка своего развития в алгоритме Layer 3. О ней и о принципах сжатия аудиоданных написано много статей, поэтому упомяну только о синхронизации аудио- и видеопотоков.

Она достигается записью обоих видов данных в единый поток — System stream. Этот поток имеет внутренний таймер, функционирующий с частотой 90 кГц, и содержит два слоя: системный с метками времени и служебной информацией и слой сжатых видео- и аудиопотоков. Наиболее важные метки: SCR (System Clock Reference) — инкремент увеличения временн?ого счетчика кодека и PDS (Presentation Data Stamp) — метка начала воспроизведения видеокадра или аудиофрейма. Именно потому в записях стандарта MPEG-1 никогда не бывает рассогласования видео и аудио, свойственного компьютерным фильмам MPEG-4.

Формат допускает варьирование качества звука в очень больших пределах. Спецификация была утверждена в 1992 г. Европейской комиссией по стандартам ISO и предусматривает такие значения: моно, два моноканала, стерео, интенсивное стерео (стереосигналы с частотами выше 2 кГц объединяются в моно), объединенное стерео (один канал — сумма сигналов, другой — разница). Частота дискретизации может равняться 48; 44,1 или 32 кГц.

Конвертируем фильм

Теперь обратимся к программам, которые потребуются для работы.

Это видеоредактор TMPGEnc (чтобы найти дистрибутив, достаточно ввести название программы в любую поисковую систему) и пакет Nero для изготовления дисков Video-CD из болванок CD-R.

Также понадобится пишущий привод CD-RW, стоимость которого в Москве сегодня колеблется от 1000 до 2000 руб. Нелишне напомнить, что очень старые устройства для воспроизведения Video-CD не читают современные записываемые диски CD-R из-за другого цвета отражающего слоя.

Итак, у нас есть файл фильма с расширением avi, сжатый с использованием кодека типа MPEG-4 (DivX, XviD) или аналогичного.

Установите на компьютер программу TMPGEnc и запустите ее (рис. 1).

Нажмите кнопку Browse, расположенную справа от поля ввода Video source. Откроется окно для выбора фильма, предназначенного для перекодирования. Укажите фильм (рис. 2).

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

В поле Output file name отобразятся та же папка и файл с таким же названием, но расширение у него окажется уже не *.avi (или, как в нашем примере, *.mp4), а *.mpg, что означает формат MPEG-1.

По умолчанию программа записывает результат перекодирования в ту же папку, где находится исходный файл. Если вам нужен другой каталог, щелкните на кнопке Browse справа от поля Output file name и выберите папку. Здесь же можно изменить название файла фильма.

В последней строке показывается описание фильма: размер окна, частота кадров, скорости потоков (bitrate) видео и аудио. В большинстве случаев предлагаемые настройки не совпадают с требованиями стандарта Video-CD. Поэтому откройте диалоговое окно Setting, найдите вкладку System и в строке Stream type поставьте MPEG-1 Video CD (рис. 3). Далее перейдите на вкладку Video и введите значения: Size — 352х288 pixels, Frame Rate — 25 fps. (Если исходный фильм был в формате NTSC, то сразу после открытия файла в нижней строке описания видеофайла можно прочитать: 30 fps. Надо выбрать значения Size — 352х240 pixels, Frame rate — 30 fps.) Ниже следует задать Constant bitrate (CBR) и 1150 kbit/sec.

Рис. 3

Качество обработки исходного файла зависит от позиции Motion search precision, по умолчанию там стоит значение Normal. Для наилучшего качества замените его на High quality (slow). При этом на компьютере с 1,4-ГГц процессором фильм будет обрабатываться в течение времени, примерно равного продолжительности картины.

Любопытным рекомендую заглянуть на вкладку Advanced. Однако при создании Video-CD позиции, указанные на ней, скорее всего не понадобятся. Они нужны тем, кто захочет конвертировать фильм в формат MPEG-2. Здесь выбирается тип развертки — прогрессивный или чересстрочный (для Video-CD — понятие бессмысленное, так как этот формат работает только с первым полем1), порядок полей (тоже не нужно), аспект (т. е. отношение сторон: 3:4 или иное), метод изменения размеров изображения. Последние два пункта могут нам пригодиться, если исходный фильм имеет пропорции кадра, отличные от 3:4.

Рис. 4

Рассмотрим пример. Если открыть в TMPGEnc файл фильма «Пираты Карибского моря», то в строке описания можно увидеть размер кадра 416х250 пикселов. При попытке TMPGEnc вписать картинку в формат 352х288 пикселов физиономии действующих лиц ненормально вытянутся (рис. 4). В этой ситуации можно либо разместить видеоряд в середине кадра, добавив сверху и снизу черные поля (рис. 5), либо отрезать слева и справа «лишние» кусочки так, чтобы оставшаяся часть картинки полностью заняла кадр с отношением сторон 3:4 (рис. 6).

Рис. 5

Чтобы получить первый результат, в окне Setting откройте вкладку Video и в поле Size укажите 352х288 пикселов, а в Aspect ratio — 4х3 625 Line Pal. Затем перейдите на вкладку Advanced, в строке Source Aspect ratio выберите 4х3 Display, а в Video arrange Method поставьте Сenter (Keep aspect ratio) (рис. 7).

Рис. 6

Для достижения второго результата в строке Video arrange Method задайте Center (Custom size), а в поле чуть ниже — 439х288 пикселов. Почему 439? Это нужно высчитать. Высота кадра фильма 250 пикселов, а стандарт MPEG-1 предусматривает 288. Следовательно, высота увеличилась в 288:250=1,152 раза. Для сохранения пропорций умножаем имеющуюся ширину 416 пикселов на 1,152 и получаем 479 пикселов. Далее нужно вспомнить, что в формате MPEG-1 имеет место «неквадратный» пиксел (т.е. при пропорции кадра 3:4 соотношение записываемых пикселов равно 352:288), вычисляем величину «неквадратности» — 384:352=1,09 и делим на нее полученный прежде результат — 479:1,09=439 пикселов.

Рис. 7

На вкладках GOP structure и Quantize Matrix новичкам лучше ничего не изменять, так как проигрыватели Video-CD и DVD понимают только стандартные настройки, а они и установлены по умолчанию.

Теперь откройте вкладку Audio. В первом поле должно стоять Mpeg 1 Audio Layer II, под ним — 44 100 Hz, ниже Stereo, еще ниже 224 Kbit/sec. Поле Audio Edit предназначено для опытных пользователей и позволяет редактировать звук (рис. 8).

Рис. 8

На вкладке Advanced имеются фильтры, которые может использовать TMPGEnc:

  • Source Range - позволяет выбрать из исходного видео фрагмент для кодирования путем указания начального и конечного кадров;
  • Simple and Custom color correction - с помощью этих двух фильтров можно изменять цвет, яркость и контрастность;
  • Deinterlace - помогает убрать чересстрочную развертку (для создания видео формата MPEG-1 не нужен);
  • Clip Frame - используется для удаления черных полос по краям фильма или других нежелательных фрагментов (если кадр обрезается, то это необходимо делать как по высоте, так и по ширине для сохранения соотношения сторон 4:3 или 16:9);
  • Noise reduction - позволяет убрать шумы (полезен, в частности, при кодировании фильма, полученного с платы TV-тюнера, однако может привести к уменьшению детализации изображения);
  • Do not frame rate conversion - блокирует изменение частоты кадров.
Рис. 9

Теперь можно нажать Start, и программа начнет свою работу. По ее завершении образуется файл MPEG-1, соответствующий стандарту Video-CD. Если продолжительность фильма превышает 1 ч 10 мин, то на 700-Мбайт болванку он не уместится. В этом случае следует открыть окно MPEG Tools (рис. 9), перейти на вкладку Merge&Cut, выбрать мышью полученный файл фильма объемом от 700 до 1400 Мбайт и нажать кнопку Edit (рис. 10). В появившемся окне редактирования надо указать, где видеофайл будет разрезан на две части (например, в середине, рис. 11). Затем в строку File name необходимо вписать новое имя файла (скажем, Pirats1) и нажать Run (кнопка с треугольником). Далее потребуется обозначить второй фрагмент — в первое окошко поля Range ввести кадр из середины фильма, а в последнее — конечный кадр картины. Второй отрезок назовите Pirats2 и вновь щелкните на кнопке Run. Итак, мы получили два фрагмента длиной в полфильма, которые при общей продолжительности картины менее 2 ч 20 мин должны уместиться на две болванки CD-R.

Рис. 10
Рис. 11

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

GOP structure (аббревиатура расшифровывается как Group Of Pictures, группа картинок) — эта опция указывает TMPGEnc, как обрабатывать последовательности кадров. При изменении значений параметров, установленных по умолчанию, возможно, улучшится качество фильма, но он перестанет соответствовать стандарту Video-CD и проигрываться бытовыми плеерами (будет воспроизводиться только на компьютере).

Quantize Matrix: Output YUV Data as basic YCbCr not CCIR601 — расширяет цветовую шкалу яркости 8—235 до 0—255 единиц. Телевизор не способен отображать картинку с таким диапазоном уровней яркости, как у компьютерного монитора, поэтому шкала обрезается. Устанавливать этот флажок нужно, если фильм уже имеет ТВ-шкалу (8—235) — например, при переписывании с DVD. Если же файл получен с платы ввода видео, то флажок активизировать не следует, и преобразование не будет применено.

Use floating point DCT — когда в фильме мало сцен с быстрыми перемещениями объектов, можете установить этот флажок. Время кодирования немного увеличится, но изображение будет более стабильным.

Soften block noise — эта опция смягчает границы между блоками кадров с быстро перемещающимися объектами, но немного ухудшает детализацию картинки. Если ее стандартное значение вас почему-либо не устраивает (скажем, изображения рассыпаются на квадраты), то можно поэкспериментировать, изменяя его в пределах от 20 до 50 единиц.

Что случится, если в поле bitrate вместо 1150 кбит/с указать, например, 700 кбит/с? Во-первых, фильм скорее всего уместится на одну болванку CD-R, а не на две. Во-вторых, резко упадет качество. И в-третьих, большинство бытовых плееров откажутся воспроизводить такой фильм.

Записываем файл на болванку

Для записи используем программу Nero. Поскольку мы подробно рассказывали о ней (см. «Мир ПК», №1/03, с. 50), остановимся только на некоторых аспектах.

В окно проекта Video-CD необходимо перетащить файл фильма, созданный по окончании работы TMPGEnc. В нашем случае он находится на карте флэш-памяти — диске N (рис. 12). Нажав кнопку Play, можно проверить, тот ли это фильм (начнется проигрывание).

Если параметры файла не соответствуют стандарту Video-CD, то Nero предложит самостоятельно перекодировать его (рис. 13). Нажатие кнопки Re-encode запускает процесс конвертирования фильма в формат MPEG-1 с помощью встроенного в Nero кодировщика.

Рис. 13

Большинство пользователей склоняется к тому, что он несколько уступает по качеству кодирования профессиональному кодировщику TMPGEnc, тем более что в случае каких-то несоответствий стандарту размеров кадра в TMPGEnc, как уже было рассказано выше, можно произвольно изменить рамки и даже вырезать часть изображения (укрупнить центр за счет отбрасывания краев). Поэтому кодировать фильмы в формате MPEG-1 все-таки лучше с помощью TMPGEnc, а Nero использовать по прямому назначению — для записи Video-CD.

Указав в меню Recorder пункт Medium-info, можно посмотреть свойства вставленной болванки CD-R (или CD-RW). В данном случае это пустой (готовый к записи) перезаписываемый диск емкостью 703 Мбайт (рис. 14). Когда нужно стереть старую запись на перезаписываемом диске, вызовите команду Erase Rewritable.

Рис. 14

Теперь можно начать запись, для чего достаточно выбрать File?Write CD и нажать кнопку Burn (рис. 15). Если диск будет создан успешно, Nero сообщит об этом.

Рис. 15

Вот и все. Простейшее представление о создании дисков Video-CD вы получили. Доброго пути!

С автором можно связаться по e-mail: grigor-m@yandex.ru.


1Уточним, о каком поле идет речь. 576-строчный телевизионный кадр делится на два поля по 288 строк каждое. Первое состоит из нечетных, а второе — из четных строк. Телевизор показывает сначала первое, а затем второе поле каждого кадра. При записи изображения, имеющего вдвое меньше строк, чем в телесигнале, одно из полей не используется.


Варианты кодирования MPEG-1

Вари-антОтношение разрешений Сb/Y и Сr/Y по горизонталиОтношение разрешений Сb/Y и Сr/Y по вертикали
4:4:41:11:1
4:2:21:21:1
4:2:01:21:2
4:1:11:41:1
4:1:01:41:4