В преддверии нового 2007 года, компания Beholder подготовила настоящий сюрприз – новый тюнер с аппаратным MPEG кодером, который получил название BeholdTV M6 Extra. Вообще, компания Beholder последняя, кто до сих пор не порадовала своих фанатов аппаратным решением. Во время обсуждений были высказаны самые разнообразные догадки относительно такого положения дел. Кто-то, убеждал нас, что Beholder никогда не представит собственное аппаратное решение, обосновывая это некоторыми довольно сомнительными фактами, о которых мы хотели бы умолчать. Другие, напротив, были уверены, что, немножко подождав, мы получим такое решение, которое позволит кардинально поменять представление об аппаратном тюнере, что собственно и произошло. Буквально на днях, нам был представлен финальный релиз M6 Extra, который уже в ближайшее время появится на полках магазинов.
Первый вопрос, на который мы до последнего момента не могли получить ответ, - что же
будет лежать в основе новой аппаратной платформы. Учитывая опыт других производителей, были сделаны предположения, что Beholder воспользуется одной из двух платформ на основе одного или двух чипов Conexant. Такие платформы используются во всех современных аппаратных тюнерах, большинство которых оснащается «силиконовым» ВЧ- блоком XCEIVE. Однако поверить в это было сложно. Не для кого не является секретом, что Beholder отдает свое предпочтение чипам Philips, которые, по мнению разработчиков, идеальны для использования в наших условиях, а в связке с традиционным ВЧ- блоком MK5 позволяют получить практически эталонное качество картинки.
Представьте наше удивление, когда, взяв в руки M6 Extra, мы обнаружили в его основе все тот же традиционный ВЧ- блок Philips MK5, чипсет Philips SAA7135HL и новый чип Philips SAA6752HS/103, который, собственно, и является MPEG кодером. Нда… Действительно, очень неожиданное решение. И, честно говоря, трудно представить, какие легенды могут появиться вокруг него.
На самом деле, выбор такого неожиданного решения является вполне осознанным шагом, основанным на опыте разработчиков, которые поделились с нами некоторыми секретами.
Давайте вспомним, о каких преимуществах говорят производители аппаратных тюнеров. Прежде всего, снижение загрузки процессора во время записи. Действительно, загрузка процессора во время записи аппаратно кодированного потока заметно ниже, что очень важно не только для систем, в основе которых лежит не самый производительный процессор, но и для современных медиацентров, где может быть установлено два тюнера, и для каждого необходимо иметь достаточный запас мощности процессора. Но это все касается записи, что же касается просмотра, то здесь обнаруживаются некоторые особенности. Дело в том чип Conexant использует собственный формат кадра, для понимания которого аппаратными средствами видеокарты необходимо его программное преобразование, что, как показывает опыт, является процедурой довольно ресурсоемкой и не всегда корректной. В результате меньшим злом оказалось использование режима вывода, на просмотр декодированного MPEG потока. Вместо того чтобы просто взять и вывести картинку на экран, её приходится выделять вместе со звуком из MPEG потока, используя для этого программный MPEG декодер. В этом случае удаётся несколько снизить загрузку процессора, хотя ниже 20% опуститься достаточно трудно, что на фоне 3-5% загрузки, при передачи кадра в стандартном, для видеокарты, формате, выглядит устрашающе. Кроме этого, декодированный MPEG имеет свои особенности и недостатки. В частности, иногда проявляется блочная структура MPEG и сказывается чрезмерно сильное подавление шума. Если сравнить не пожатый кадр и отфильтрованный MPEG, то преимущество явно не в пользу последнего.
Учитывая это, Beholder решила разделить процесс просмотра, сохранив свое традиционное решение, при котором удается получать высочайшее качество картинки при минимальной нагрузке процессора, и процесс записи (таймшифт), который может быть реализован с помощью аппаратного MPEG кодера.
Таким образом, используя M6 Extra, пользователь не теряет в качестве при просмотре, и получает доступ к дополнительным, уникальным на наш взгляд, возможностям захвата, о которых мы поговорим чуть позже.
Во всем остальном, M6 Extra очень напоминает тюнеры шестой линейки. Здесь также использована технология ARPC (Advanced Remote Power Control) с помощью которой вы можете включать компьютер, нажатием кнопки «Power» на пульте дистанционного управления, либо запрограммировать планировщик, который будет автоматически включать и выключать компьютер для выполнения запланированной записи телевизионной или радио программы, технология ADSS (analogue digital separate shielding), благодаря которой удается максимально снизить влияние внешних электромагнитных помех, что позитивно сказывается на качестве картинки, внутренний порт для подключения ИК- датчика, удобный низкочастотный «хвост», позволяющий упростить подключения внешних источников, и конечно же RDS декодер.
Теперь посмотрим на новые особенности программного обеспечения, где нас больше всего заинтересовали возможности записи, помимо уже привычных способов видеозаписи, появился аппаратный режим, настройки которого предельно просты и понятны. Пользователю достаточно установить разрешение, соотношение сторон, аудио формат, где, кстати, появилась возможность аппаратной записи в AC3.
Для подготовленных пользователей, Beholder включила возможность настройки специфических параметров MPEG кодера, где вы можете изменить не только битрейт, но и установить режим аппаратной фильтрации и GOP структуры, поменять установки мультиплексирования, и даже изменить матрицы квантования, которые используются для коррекции коэффициентов дискретного косинусного преобразования.
Здесь остановимся подробнее. Прежде всего, выбор битрейта, или скорости записи видеопотока, от которой зависит качество и размер записанного файла. Выбор битрейта (постоянный или переменный) зависит от текущих потребностей. Например, если вам необходимо использовать записанный поток в системах передачи данных (например, IP телевидение), то лучше использовать постоянный битрейт, однако, ему свойственен один недостаток, а именно, ухудшение качества картинки в сложных динамических сценах с большим количеством мелких деталей. При использовании переменного битрейта, подобных проблем не возникает, так как скорость потока меняется в зависимости от сложности сцены. В отличие от других тюнеров, в M6 Extra предусмотрено два режима переменного битрейта: усредненный и пиковый. В первом случае значение битрейта будет меняться в диапазоне 40% от заданного пользователем среднего значения. Во втором случае, значение будет меняться строго заданном диапазоне. Разработчик не рекомендует использовать значение пикового битрейт выше 9000, что может вызвать проблему воспроизведения, записанного потока на стационарном DVD проигрывателе.
Следующий момент, на который мы хотим обратить ваше внимание, - метод уменьшения шума, - тот самый аппаратный шумодав, который так часто восхваляли некоторые производители аппаратных тюнеров. В M6 Extra используется два режима: статический и динамический. Статический метод фильтрации основан на анализе отдельно взятого кадра, где используются два алгоритма. Первый позволяет устранить ярко выраженные пиковые шумы, сохраняя при этом резкость отдельных яркостных и тоновых переходов, а второй, основан на использовании фильтра нижних частот.
Второй, так называемый динамический метод, основан на анализе последовательности кадров с использованием векторов движения. Этот метод позволяет добиться наилучшего качества изображения, однако, при больших значениях коэффициента возможно появление эффекта «горячего воздуха».
Следующий раздел установки параметров мультиплексора включает три важных параметра. Первый параметр SCR clock отвечает за расстановку временных меток в MPEG потоке. Здесь имеется два режима: Locked to video, когда тактовый генератор SCR привязывается к скорости потока кодируемого видео, и Fixed clock. Первый режим полезен при записи потока в файл, в то время как второй режим лучше использовать при просмотре захваченного потока «на лету».
Параметр NAV PACK time slots позволяет зарезервировать в потоке некоторое количество временных слотов для использования их навигационными пакетами, используемых при создании DVD диска.
И, наконец, последний, параметр Program end codes – указывает, записывать в файл или нет код окончания потока.
Теперь, перейдем к рассмотрению некоторых специфических параметров, интересные, в основном, профессионалам, которые впервые получат возможность в полной мере управлять MPEG потоком.
Первая группа параметров отвечает за управление структурой групповых кадров. Структура видеоданных MPEG потока включает в себя последовательности так называемых групповых кадров (Group of Pictures – GOP) - структур, которые, в свою очередь, состоят из последовательности кадров разного типа (I, P, B). Каждый кадр в структуре GOP кодируется (сжимается) в соответствии с определёнными правилами. Первый кадр в структуре GOP как правило I-кадр (Intracoded), который сжимается без учёта содержимого соседних (предыдущего и последующего) кадров. P-кадры (Predicted – кодирование с предсказанием) кодируются с учётом предыдущего I или такого же P кадра. B-кадры кодируются с учётом двунаправленного (Bidirectional) предсказания на основе информации в предыдущих и последующих I или P кадрах.
GOP size - устанавливает общую длину последовательности GOP.
Sub GOP – определяет периодичность расположения P кадров в структуре GOP.
При Sub GOP = 1 вся последовательность кадров, за исключением первого I-кадра, будет состоять из P-кадров.
Рекомендуемое значение GOP (Recommended GOP) будет меняться в зависимости от установленного битрейта (Bitrate (kBit/s)).
При кодировании взаимосвязь может учитываться как между кадрами только одной GOP, так и между кадрами из соседних групп. Во втором случае последовательность GOP начинается не с I, а с B-кадра. Такая последовательность обеспечивает более высокое качество кодирования и называется открытой, т.к. данные из неё используются для кодирования B-кадра в начале следующей группы. Открытая последовательность считается не редактируемой видео редакторами (Non-editable GOP). Если установить флаг Force close GOP, кодер будет ставить метки «Closed» на открытые последовательности, а B-кадры будут рассчитываться в обратном порядке (Backward predicted closed GOP). Последовательности GOP, которые изначально закрыты, всегда начинаются с I-кадров (Real closed GOP) и флаг Force close GOP не оказывает на них никакого влияния.
Следующая группа параметров, находится в закладке расширенных параметров, где первым в глаза бросаются так называемые матрицы квантования. В процессе MPEG кодирования кадр разбивается на блоки размером 8х8 пикселов и каждый блок подвергается дискретному косинусному преобразованию (DCT), в результате чего формируется массив данных 8х8 значений, представляющий собой матрицу коэффициентов DCT. Величина и положение коэффициентов в матрице определяют частотные характеристики исходного изображения. Коэффициенты ближе к правому нижнему углу матрицы характеризуют количество, чёткость и прорисовку мелких деталей изображения. Коэффициенты ближе к левому верхнему углу матрицы отвечают за то, как будут выглядеть крупные элементы сцены. Самый крайний коэффициент в левом верхнем углу определяет среднюю яркость квадрата 8х8 пикселов. Имея матрицу коэффициентов DCT можно восстановить исходное изображение (квадрат 8х8 пикселов).
Если мелкие детали полностью отсутствуют в изображении, то значения коэффициентов в правом нижнем углу матрицы будут близко к нулю. Этими значениями можно пренебречь, полностью их обнулив. Чем больше в матрице будет одинаковых коэффициентов (например, нулей) тем сильнее её можно сжать. Значения других коэффициентов DCT также можно подкорректировать, установив тем самым компромисс между качеством изображения и степенью его сжатия (размером файла).
Процесс нормирования и коррекции коэффициентов DCT называется квантованием. Во сколько раз будет уменьшен тот или иной коэффициент DCT определяется матрицей квантования. Каждый элемент матрицы квантования является делителем для коэффициента, находящегося в той же позиции в матрице DCT. Размер коэффициента-делителя может иметь значение от 8 до 255. В силу разных требований, предъявляемых к качеству I, B и P кадров для их квантования используются две разные матрицы.
Кроме матриц квантования здесь есть несколько предустановленных матриц:
- MPEG standard – значения коэффициентов матриц устанавливаются стандартом MPEG. Так как матрицы являются стандартными, значения их коэффициентов не записываются в MPEG-файл и при его проигрывании подставляются декодером по умолчанию автоматически.
- Low interframe compression, Philips default и High interframe compression матрицы отличаются от MPEG standard только матрицей для квантования B и P кадров (интер-блоков). В порядке перечисления эти матрицы обеспечивают более высокую компрессию B и P кадров.
- CG/Animation – матрица квантования I-кадров отличается от стандартной равномерностью распределения коэффициентов во всей области частот. Используется для сжатия контента в виде анимации или компьютерной графики.
- User defined – матрица квантования, определяемая пользователем. Коэффициенты матрицы редактируются непосредственно в её ячейках. По стандарту значение –я? коэффициента в позиции (0, 0) изменению не подлежит и всегда остаётся равным 8. Значения матрицы квантования, определяемые пользователем, сохраняются в пресете для записи.
Следующий параметр называется DCT block. Полученные после квантования коэффициенты матрицы DCT дополнительно сжимаются с помощью алгоритма RLE . Этим методом наиболее плотно упаковываются числовые ряды с периодически повторяющимися последовательностями одинаковых чисел. Матрица коэффициентов DCT после квантования как раз представляет собой массив таких чисел, значения которых убывают, заканчиваясь серией нулей, если просматривать матрицу начиная с левого верхнего угла к нижнему, двигаясь по диагонали (зигзагом). Для чересстрочных (интерлейсных) кадров более эффективным является несколько модифицированный метод альтернативного сканирования:
- Block scan order – указывает метод сканирования матрицы коэффициентов DCT.
- Alternate (interlace) – рекомендуется использовать при сжатии интерлейсного видео (студийные программы, сериалы и пр.).
- Zigzag (progressive) – рекомендуется использовать при сжатии прогрессивного видео (мультфильмы, старые фильмы). Также метод Zigzag принудительно включается при установке размера кадра как 352x288 (352x240).
Последний параметр в расширенном меню B-frames weighting factor – дополнительный весовой коэффициент, который модифицирует матрицу квантования интер-блоков, уменьшая тем самым битрейт при сжатии B-кадров. При общем низком битрейте потока (CBR 3000) увеличение этого коэффициента, например до 32, позволяет существенно улучшить качество изображения за счёт перераспределения битрейта между I и B-кадрами. Если используется только IP последовательность GOP, то при квантовании весовой коэффициент применяется для каждого второго P-кадра, которые, в данном случае, выступают в качестве виртуальных B-кадров.
В заключение нашего первого знакомства с BeholdTV M6 Extra, мы хотим заметить, что традиционно, Beholder не ограничивается выпуском только одной версии тюнера. Вместе с M6 Extra выйдет упрощенная версия, которая называется просто M6. В отличие от ЭКСТРА версии, она будет отличаться отсутствием поддержки аппаратного кодирования звука в AC3 и RDS декодера.
Ну, что же, продемонстрированные Beholder возможности действительно впечатляют, и нам остается только дождаться, когда этот уникальный тюнер появится в продаже, и мы сможем проверить все то, что нам было продемонстрировано разработчиками, и поделиться с вами собственными впечатлениями. Причем, нам очень любопытны не только возможности при использовании программы BeholdTV, но и при работе двух тюнеров M6 под Windows MCE, где разработчики тоже обещают порадовать нас некоторыми уникальными возможностями, о которых мы обязательно расскажем в следующей статье.