Автор: Юрий Ревич
Преобразуя цифровое изображение в экранную картинку, бедняга компьютер пашет в поте лица, даже если речь идет о чистом растровом изображении (таком, например, какое хранится в файлах формата BMP или несжатого TIFF). В процессе вывода на экран изображение приходится масштабировать (на мониторах, кроме очень уж специальных, даже 3-мегапиксельная картинка не умещается в масштабе 100%), прогонять через модуль управления цветом (если этого не делать, то одни и те же цвета для разных изображений и на различных дисплеях демонстрировались бы совершенно по-разному), подвергать гамма-коррекции [В процессе гамма-коррекции шкала оттенков в темных частях растягивается, а в светлых - сужается, то есть яркость точки на экране зависит от числового значения пиксела нелинейно. Исторически такая поправка возникла для компенсации нелинейности кинескопа (который лучше отображал оттенки в светлой части спектра). В современных дисплеях зависимость более сложная (и компенсация нелинейности производится аппаратно), но гамма-коррекция для изображений применяется по-прежнему: во-первых, для совместимости, а во-вторых, потому, что темные оттенки менее различимы глазом и нескорректированное изображение теряет детали в тенях.] и т. д.
Но и само существование цифрового изображения в форме "чистого растра" - скорее исключение. Как правило, на носителях его хранят в сжатом виде - для фото это в подавляющем большинстве формат JPEG, иногда всякие форматы "без потерь" - GIF либо PNG, может быть и сжатый TIFF. В этом случае изображение еще и предварительно приходится распаковывать, переводя его в "чистый растр", а уже потом выполняя вышеописанные манипуляции.
Для движущихся изображений все еще сложнее, и способов их представления много больше. И компьютер (в том числе и телеприемник - все современные телевизоры являются специализированными компьютерами) должен уметь декодировать на лету поступающий сигнал, в каком бы виде он ни был представлен, и превратить его в последовательность растровых картинок для вывода на монитор. Итого, количество инстанций, которые приходится проходить видеосигналу, чтобы из совокупности цифр на носителе превратиться в картинку на экране, может превышать десяток, и каждая что-то с сигналом делает, причем не всегда хорошее. И далеко не всегда трудности, стоящие на этом пути, преодолеваются успешно. Давайте попробуем разобраться, откуда "растут ноги" у всех этих проблем, а для начала вспомним, как вообще устроено телевидение, в котором до полного и всеобщего цифрового счастья пока еще шагать и шагать, несмотря на все декларации.
Привычные аббревиатуры PAL, NTSC и SECAM относятся лишь к цветному телевидению (подробнее о них см. врезку "Системы цветного телевидения"), мы же поговорим о стандартах вещательного ТВ-сигнала[Английское слово broadcasting (телерадиовещание) можно перевести еще и как "бросание во все стороны". Происхождение этого термина довольно любопытное: его ввел в обиход преподаватель калифорнийского колледжа Ч. Хэрольд, построивший в 1909 году первую в мире широковещательную радиостанцию. Предками Хэрольда были фермеры, называвшие словом "броудкастинг" посев семян вразброс.], устанавливающих общие правила кодирования/передачи сигнала и обозначающихся буквами латинского алфавита от А до N. Учитывая, что система, обозначающаяся буквой К, существует в двух версиях (просто К и К’), получаем четырнадцать стандартов, из которых сейчас применяется десять. Эти системы устанавливают число строк, частоту кадров, способ кодирования звука (АМ или FM) и видеосигнала (прямой, positive - когда большей яркости соответствует большая амплитуда сигнала, или инвертированный, negative - наоборот), полосу частот и некоторые специальные параметры (сдвиг несущей, ширину боковой полосы и т. д.).
Конечно, все тридцать комбинаций (три стандарта цветности, помноженные на десять стандартов передачи) на практике не применяются, однако даже один лишь PAL существует в пяти модификациях. Например, использующийся в большинстве европейских стран PAL B/G представляет стандарты 625 строк/50 Гц (B и G относятся к разным длинам волн - МВ и ДМВ), а вот PAL M имеет совпадающую с американским стандартом развертку 525 строк/60 Гц (этот стандарт используется в Бразилии). В России и Франции, использующих, как известно, один и тот же стандарт цветности SECAM, системы передачи в метровом диапазоне различаются: SECAM D/K (модуляция видеосигнала negative) в России и SECAM L (positive) во Франции.
На самом деле оговоренное количество строк для того или иного стандарта не соответствует реально отображаемому, которое оказывается меньше номинального: обратный ход луча не может происходить мгновенно, тогда как передача строк идет непрерывно. Потому часть строк (и элементов в каждой строке) теряется: например, для сигнала NTSC с разложением 525 строк реальное изображение состоит примерно из 480 строк по 640 элементов. Узнаете? Правильно, отсюда и возник компьютерный стандарт VGA. Время обратного хода часто используют для передачи служебной информации - например, телетекста.
Со времен изобретения передающей телевизионной трубки Владимиром Козьмичем Зворыкиным (окончательный вариант под названием "иконоскоп" был представлен публике в 1933 году) телетрансляции осуществляются в общем-то одинаково. В передающей трубке узкий луч, сформированный из потока электронов, построчно обегает матрицу светочувствительных элементов (Зворыкин использовал специальным образом обработанные зерна серебра). Ток от источника высокого напряжения в цепи, замыкающейся через этот луч, зависит от освещенности каждого элемента. В результате на выходе получается развернутая во времени последовательность импульсов тока различной величины, пропорциональных яркости изображения в каждой точке. Преобразовать эту последовательность в модулированные электромагнитные колебания и передать их в эфир (или записать на видеомагнитофон) - дело техники.
Чтобы разделить строки и кадры (или, как еще говорят, синхронизировать изображение), в конце каждой строки передается специальный импульс синхронизации строк, а в конце каждого кадра над ним надстраивается более высокий импульс синхронизации кадра. В аналоговом ТВ-приемнике используется генератор линейно изменяющегося напряжения, который заставляет луч бежать от левого края экрана к правому с небольшим наклоном. Как только встречается импульс синхронизации, специальная схема снижает интенсивность луча до минимума (гасит луч) и быстро перемещает его: для строчного импульса - по горизонтали в начало новой строки, для кадрового - в исходную позицию в левом верхнем углу. То есть луч в приемнике как бы копирует луч в передающей трубке.
С появлением камер на основе полупроводниковых матриц мало что изменилось: светочувствительная ячейка CCD- или CMOS-матрицы тоже выдает аналоговый сигнал, так что принцип формирования ТВ-сигнала остается прежним. Как видите, здесь никакие компьютеры не требуются, однако отметим, что элементы "цифры" были заложены в ТВ-сигнал уже на этом этапе: хотя каждый отдельный рабочий импульс и представляет собой аналоговый сигнал, но пространственное разложение по строкам и элементам строки этих сигналов имеет чисто цифровую природу и полностью соответствует представлению о матрице пикселов, на которые раскладывается растровое изображение в современных компьютерах.
Еще в эпоху черно-белого ТВ инженеры озаботились тем, чтобы снизить необходимую для передачи полосу частот. В самом деле, если передавать изображение с частотой 25 кадров в секунду (frame per second, fps), как записано в стандарте, то на ТВ-экране оно будет заметно мерцать. Чтобы изображение выглядело непрерывным, приходится увеличивать частоту смены кадров по крайней мере до 50 или 60 Гц[Число кадров в секунду (fps) и частота кадров в герцах - одно и то же, только первое чаще используется телевизионщиками, а второе - радиотехниками, поэтому далее эти термины используются вперемешку.]. Эти значения выбраны из соображений минимизации помех от промышленной электросети (50 Гц в Европе/СССР и 60 Гц в Америке/Японии), - если частота смены кадров будет сильно отличаться, то изображение при наличии помех от сети может "гулять" по экрану (на самом деле в грамотно спроектированных ТВ-приемниках ничего такого не происходит[И если помеха все же возникает - например, при высыхании электролитических конденсаторов в блоке питания телеприемника, - выбор именно таких значений для кадровой развертки не помогает: изображение все равно колышется, так как точного совпадения частот добиться невозможно.], но числа 50 и 60 ничем не хуже любых других).
Ширину полосы частот, которая нужна, чтобы вести передачу с такой скоростью смены кадлров, подсчитать легко. Для определенности возьмем "базовый" американский стандарт NTSC М, в котором кадры в 525 строк должны передаваться с частотой 60 Гц. То есть частота передачи строк должна составить 525х60 = 31,5 кГц, и внутри каждой строки при обычном "телевизионном" соотношении сторон экрана 4:3 должно уложиться около 700 элементов; итого, общая полоса частот составит около 11 МГц (каждые два импульса можно передать одним периодом частоты). Для европейских стандартов B/G или D/K (неважно, PAL или SECAM), где при частоте 50 Гц количество строк равно 625, а элементов в каждой из них около 800, требуемая полоса частот составит уже 12,5 МГц. Это неприемлемо - базовая частота, на которой в России передается первый метровый канал, составляет всего 49,75 МГц, и если модулировать такой сигнал частотой 12,5 МГц, можно вообще вылезти за пределы УКВ.
Потому с самого начала во всех стандартах аналогового ТВ-вещания был выбран компромиссный вариант: с частотой 50/60 Гц передаются не полные кадлры, а так называемые полукадры (поля). Они представляют собой выборку каждой второй строки: в первом полукадре - нечетные строки, во втором - четные, потом опять нечетные следующего кадра и т. д. Этот прием, получивший название чересстрочной развертки (по-английски - interlacing), позволил сократить требуемую полосу частот вдвое - до 5–6 МГц (а в некоторых вариантах со снижением количества строк и до 4 МГц с небольшим). При этом полные кадры по-прежнему передаются с частотой 25 или 30 раз в секунду.
Конвертация киношных 24 fps в телевизионные частоты европейским/российским вещателям далась легко: демонстрацию фильма, как правило, попросту ускоряют на 4%, чего зрители совершенно не замечают. А вот американцам и японцам с их 30 кадрами в секунду пришлось чесать репу: в конце концов выработали систему 3:2, когда один киношный кадр показывают в течение трех полукадров, а второй - в течение двух, в итоге на четыре исходных приходится пять телевизионных кадров.
В цифровом видеосигнале аналоговые уровни элемента строки уже не передаются непосредственно, а преобразуются в набор цифр, что позволяет значительно повысить качество передачи, исключить влияние помех и т. д., - здесь все то же самое, что для звукозаписи означал переход от виниловых пластинок к CD (и даже без пресловутой потери качества в виде "цифрового звучания": чисто цифровое ТВ-изображение, без наворотов в виде сжатия, однозначно лучше чисто аналогового). Но при попытках создания такой системы проблемы стали выскакивать одна за одной, как чертик из коробки. Казалось бы, чего там - пространственное разбиение по пикселам было с самого начала, осталось оцифровать только уровни, но это простое представление натолкнулось на необходимость обрабатывать чудовищные, даже по современным меркам, потоки информации.
Системы цветного ТВ должны были вписаться в структуру существовавших стандартов так, чтобы их можно было принимать на черно-белые приемники без дополнительных настроек. Задачка поистине головоломная - нельзя было не только существенно расширять полосу частот, поскольку частотный спектр был уже поделен, но и ломать структуру кадра. Тем не менее она была успешно решена, в результате чего появились следующие основные системы:
NTSC (National Television Standards Committee, Национальный комитет по телевизионным стандартам) - система аналогового цветного телевидения, разработанная в США. Первая передача состоялась 18 декабря 1953 года. "Базовый" NTSC M предполагает 60 полей в секунду, 525 строк с частотой цветовой поднесущей 3,58 МГц. Кроме США, этот стандарт используется в Канаде, Японии и ряде стран Латинской Америки.
PAL (Phase-Alternating Line, кодирование со сменой фазы) - европейская система аналогового цветного телевидения, разработанная в 1960-е годы немецкой компанией Telefunken. Самый распространенный вариант PAL B/G предполагает 50 полей в секунду, 625 строк с частотой цветовой поднесущей 4,43 МГц. Используется в Европе (за исключением Франции), Азии (кроме СНГ), Австралии, большей части Латинской Америки и Африки.
SECAM (от фр. Sequentiel couleur a memoire - последовательная передача цвета с памятью) - система аналогового цветного телевидения, разработанная в 1958 г. французским инженером Анри де Франсом. Предполагает 625 строк при 50 полях в секунду, как и PAL, но отличается способом представления цветоразностной информации. Используется в СНГ, Франции и в части государств Африки (в основном бывших французских колониях). Принятие SECAM у нас и во Франции было обусловлено в основном не техническими (лучшая помехоустойчивость) соображениями, а политическими: в СССР для невозможности приема западного ТВ на отечественные приемники (а еще и потому, что французы продали лицензию задешево, и не надо было ничего изобретать "на коленке"), а во Франции для защиты внутреннего рынка. Более 50% телевизоров во всем мире рассчитаны на стандарт NTSC, на втором месте система PAL, а SECAM - на третьем.
С развитием микроэлектроники и созданием стандартных декодеров для различных стандартов, упакованных в одну микросхему, сложность схем перестала играть роль и все современные телевизоры являются мультистандартными - как правило, пользователь и не знает, в какой именно системе вещания и цветности идет видеосигнал из конкретного источника (правда, при записи на видеомагнитофон нередко приходится разбираться - там мультисистемность может быть ограничена). Эфирное вещание у нас по-прежнему осуществляется в системе SECAM, а вот кабельные каналы иногда представляют собой довольно пеструю картину.
В "базовом" стандарте NTSC M, как мы уже говорили, число строк равно 525 по (примерно) 700 элементов в каждой (в некоторых стандартах принимается точное число 704). Соответственно, оцифрованный кадр будет иметь размер 525х700 = 367500 пикселов. Если принять, как обычно, что каждый пиксел кодируется тремя байтами (то есть может принимать любое значение из 16,7 млн. вариантов оттенков, соответствующих модели True Color), то один такой кадр займет на носителе примерно 1,1 мегабайта. В стандарте NTSC каждую секунду проходит 30 кадров, то есть мы имеем дело с потоком данных 33 Мбайт/с (или около 260 Мбит/с), а полнометражный (на 1,5 часа) несжатый фильм займет на диске почти 180 Гбайт! Даже понизив разрешение до убогих 352х288 (как это делается в Video CD) и ограничив себя при этом черно-белым изображением (по одному байту на пиксел), мы все равно получим поток около 20 Мбит/с и общий объем фильма примерно в 15 Гбайт, что уже требует как минимум HD DVD в качестве носителя.
Известно, что к потерям цветовой информации человек гораздо менее чувствителен, чем к потерям яркостной, и первую можно частично удалить. Можно выбросить цвет, например, для каждой второй строки и каждой второй точки по горизонтали (такой способ кодирования еще обозначают как 4:2:2), получив в результате около 1,5 байт на пиксел вместо стандартных трех. Но принципиально, как видим, само по себе такое двукратное снижение потока данных проблемы не решает - оно лишь используется в совокупности с другими алгоритмами сжатия.
Потому варианты представления видео в цифровом виде без сжатия никогда даже не рассматривались - за исключением разве что не получившего распространения формата Digital VHS для записи с видеокамеры на аналоговую кассету или очень коротких (порядка минуты и менее) клипов в формате "несжатого" AVI, чаще всего безжалостно усеченных по разрешению до упомянутых 384x288. В настоящее время и AVI практически не встречается в варианте без сжатия - обычно в нем применяется JPEG (точнее, его вариант для движущихся изображений под названием Motion JPEG), что позволяет снизить объемы информации без особой потери качества от 5 до 10 раз.
Но и это слишком много даже для новых носителей Blu-ray, имеющих емкость 27 Гбайт (потому что мы рассматривали "базовый" NTSC, а это уже прошлый век - для HDTV, телевидения высокой четкости, все объемы информации следует умножать примерно на 3–6 в зависимости от формата). И задача эффективного сжатия видео, которая встала перед производителями оборудования при переходе на "цифру" с самого начала, когда о гигабайтных носителях даже не мечтали, как никогда актуальна и по сей день[Заметим, что любым существующим алгоритмам сжатия очень далеко до связки "человеческий глаз-мозг". Имея на входе поток информации в сотни мегабит в секунду, сислтема по зрительному нерву от глаза к мозгу "качает" всего 50–70 бит в секунду (быстрее она работать просто не способна). И тем не менее распознавание деталей производится практически без потерь!].
Первыми, еще в семидесятые годы, озаботились этим компании, работавшие в области спутникового телевидения. По спутниковым каналам целесолобразно передавать именно "цифру", но типового спутникового транспондера с каналом 38 Мбит/с для передачи нормального ТВ-качества, согласно расчетам выше, недостаточно. Потому в первых вариантах спутникового вещания был принят компромиссный стандарт МАС - (расшифровывается как "мультиплексиpованные аналоговые компоненты"). В принятом в 1985 году Францией и ФРГ варианте под названием D2-MAC в начале каждой строки интервал около 10 мкс отводится для передачи цифровой информации (строчный синхpосигнал, звуковое сопpовождение в стереоформате и телетекст), а собственно видеосигнал передается, как и ранее, в аналоговой форме, но иначе, чем в обычных стандартах. Соответствующие последовательности импульсов подвергаются временной компрессии и передаются последовательно друг за другом. Это позволяет значительно улучшить качество цветопередачи, но за счет усложнения приемного декодера (что, впрочем, в спутниковом телевидении с его платной подпиской не такая большая проблема, как в обычном, где дешевизна приемников - решающий фактор массовости).
Система МАС довольно быстро "умерла", так как, с одной стороны, уже волвсю вставал вопрос о передачах телевидения высокой четкости - ТВЧ (HDTV, High Definition TV), с другой - появилось чисто цифровое телевидение. Отметим для тех, кто все еще путается, что цифровое телевидение - это не синоним ТВЧ. В цифровом формате можно представить и обычное ТВ (как это делается, например, на VideoCD), однако и ТВЧ можно передавать и записывать традиционным аналоговым способом.
Все системы цветного ТВ используют несколько различающиеся варианты одной и той же хитрой цветовой модели, суть которой сводится к полному отделению яркостной информации от цветовой, передаваемой параллельно на отдельной поднесущей частоте (таким образом черно-белые приемники могли использовать яркостную составляющую без изменения, а цветовые каналы в них просто игнорировались). Для NTSC эта модель носит наименование YIQ, для SECAM - YDbDr, для PAL - YUV. В цифровом ТВ (а также, между прочим, в алгоритме сжатия JPEG) используется модификация модели YDbDr под названием YCbCr, отличающаяся от первой только масштабом: в аналоговом ТВ цветовые координаты нормированы, и полная шкала принята за единицу, а в цифровом полная шкала, как известно, имеет диапазон от 0 до 255.
Связь между суммарной яркостью Y и интенсивностью цветовых составляющих R, G и B (соответствующих красному-зеленому-синему) в этих моделях определяется формулой: Y = KrxR + KgxG + KbxB, где Kх - экспериментально определенные весовые коэффициенты, учитывающие так называемую кривую видности человеческого зрения. Согласно ей наибольший вклад в суммарную яркость вносят зеленые оттенки (максимум лежит около 550 нм), затем красные, а наиболее темными кажутся синие. Для перечисленных моделей эти коэффициенты (сумма их равна единице) обычно принимаются равными 0,299, 0,587 и 0,114 соответственно (иногда принимают Kb = 0,0722, Kr = 0,2126).
Хитрость разработчиков цветного ТВ состояла в том, что они передавали лишь значения Y (соответствующие черно-белому сигналу) и разностные цветовые сигналы R–Y и B–Y. При этом интенсивности красного R и синего B в приемнике легко формируются сложением с Y, а сигнал для зеленого G можно восстановить по формуле выше. Занимаемая полоса частот при этом остается фактически без изменения, хотя схемы приемников и усложняются.
Системы NTSC, PAL и SECAM, кроме различий в цветовых моделях, отличаются также некоторыми нюансами: например, в системе NTSC сигналы цветности передаются в каждой строке каждого полукадра, но такая система чувствительна к помехам, и не только внешним, но и возникающим по внутренним причинам (например, из-за т. н. диффеpенциально-фазовых искажений человеческие лица становятся кpасноватыми в тенях и зеленоватыми - на освещенных участках). В системе PAL для снижения искажений сигналы цветности в соседних строках усредняются, за счет чего цветовое разрешение падает в два раза, зато цвета становятся более стабильными. В системе SECAM цветность передается через строку (поочередно: в течение одной строки - сигнал R–Y, в течение следующей - В–Y), для восстановления полного сигнала в аналоговых приемниках использовались специальные линии задержки. Качество приема и помехоустойчивость при прочих равных повышается в ряду NTSC - PAL - SECAM, но в том же порядке растет и стоимость оборудования.