Mpeg: общая информация
Стандарт сжатия MPEG разработан Экспертной группой кинематографии (Moving Picture Experts Group - MPEG). MPEG это стандарт на сжатие звуковых и видео файлов в более удобный для загрузки или пересылки, например через интернет, формат.
Существуют разные стандарты MPEG (как их еще иногда называют фазы - phase): MPEG-1, MPEG-2, MPEG-3, MPEG-4, MPEG-7.
MPEG состоит из трех частей: Audio, Video, System (объединение и синхронизация двух других).
MPEG-1
По стандарту MPEG-1 потоки видео и звуковых данных передаются со коростью 150 килобайт в секунду -- с такой же скоростью, как и односкоростной CD-ROM проигрыватель -- и управляются путем выборки ключевых видео кадров и заполнением только областей, изменяющихся между кадрами. К несчастью, MPEG-1 обеспечивает качество видеоизображения более низкое, чем видео, передаваемое по телевизионному стандарту.
MPEG-1 был разработан и оптимизирован для работы с разрешением 352 ppl (point per line -- точек на линии) * 240 (line per frame -- линий в кадре) * 30 fps (frame per second -- кадров в секунду), что соответствует скорости передачи CD звука высокого качества. Используется цветовая схема - YCbCr (где Y - яркостная плоскость, Cb и Cr - цветовые плоскости).
Как MPEG работает:
В зависимости от некоторых причин каждый frame (кадр) в MPEG может быть следующего вида:
I (Intra) frame - кодируется как обыкновенная картинка.
P (Predicted) frame - при кодировании используется информация от предыдущих I или P кадров.
B (Bidirectional) frame - при кодировании используется информация от одного или двух I или P кадров
Структура MPEG-последовательности
Базовым объектом кодирования в стандарте MPEG является кадр телевизионного изображения. Поскольку в большинстве фрагментов фон изображения остается достаточно стабильным, а действие происходит только на переднем плане, сжатие начинается с создания исходного кадра.
Исходные (Intra) кадры кодируются только с применением внутрикадрового сжатия по алгоритмам, аналогичным используемым в JPEG.
Кадр разбивается на блоки 8х8 пикселов. Над каждым блоком производится дискретно-косинусное преобразование (ДКП) с последующим квантованием полученных коэффициентов. Вследствии высокой пространственной корелляции яркости между соседними пикселами изображения, ДКП приводит к концентрации сигнала в низкочастотной части спектра, который после квантования эффективно сжимается с использованием кодированиякодами переменной длины.
Обработка предсказуемых (Predicted) кадров производится с использованием предсказания вперёд по предшествующим исходным или предсказуемым кадрам.
Кадр разбивается на макроблоки 16х16 пикселов, каждому макроблоку ставится в соответствие наиболее похожий участок изображения из опорного кадра, сдвинутый на вектор перемещения. Эта процедура называется анализом и компенсацией движения.
Допустимая степень сжатия для предсказуемых кадров превышает возможную для исходных в 3 раза.
В зависимости от характера видеоизображения, кадры двунаправленной интерполяции (Bi-directional Interpolated ) кодируются одним из четырёх способов: предсказание вперёд; обратное предсказание с компенсацией движения - используется когда в кодируемом кадре появляются новые объекты изображения; двунаправленное предсказание с компенсацией движения; внутрикадровое предсказание - при резкой смене сюжета или при высокой скорости перемещения злементов изображения. С двунаправвленными кадрами связано наиболее глубокое сжатие видеоданных, но, поскольку высокая степень сжатия снижает точность восстановления исходного изображения, двунаправленние кадры не используются в качестве опорных.
Если бы коэффициенты ДКП передавались точно, восстановленное изображение полностью совпадало бы с исходным. Однако ошибки восстановления коэффициентов ДКП, связванные с квантованием, приводят к искажениям изображения.
Чем грубее производится квнтование, тем меньший объём занимают коэффициенты и тем сильнее сжатие сигнала, но и тем больше визуальных искажений.
Векторная графика
описывает изображения с использованием прямых и изогнутых линий, называемых векторами, а также параметров, описывающих цвета и расположение. Например, изображение древесного листа описывается точками, через которые проходит линия, создавая тем самым контур листа. Цвет листа задается цветом контура и области внутри этого контура.
При редактировании элементов векторной графики Вы изменяете параметры прямых и изогнутых линий, описывающих форму этих элементов. Вы можете переносить элементы, менять их размер, форму и цвет, но это не отразится на качестве их визуального представления. Векторная графика не зависит от разрешения, т.е. может быть показана в разнообразных выходных устройствах с различным разрешением без потери качества.
Достоинства
1. Она экономна в плане объемов дискового пространства, необходимого для хранения изображений: это связано с тем, что сохраняется не само изображение, а только некоторые основные данные, используя которые программа всякий раз воссоздает изображение заново. Кроме того, описание цветовых характеристик несильно увеличивает размер файла.
2. Объекты векторной графики просто трансформируются и ими легко манипулировать, что не оказывает практически никакого влияния на качество изображения.
3. Векторная графика максимально использует возможности разрешающей способности любого выводного устройства: изображение всегда будет настолько качественным, на сколько способно данное устройство.
Недостатки
1. Программная зависимость: каждая программа сохраняет данные в своем собственном формате, поэтому изображение, созданное в одном векторном редакторе, как правило, не конвертируется в формат другой программы без погрешностей.
2. Сложность векторного принципа описания изображения не позволяет автоматизировать ввод графической информации и сконструировать устройство подобное сканеру для растровой графики.
3. Векторная графика действительно ограничена в чисто живописных средствах и не предназначена для создания фотореалистических изображений.
Если хотите нарисовать что-то своими руками, а не обработать готовое изображение, то обычно лучше использовать векторное изображение. Потом это изображение можно растрировать и доработать его в растровом формате.
Существует спец. язык для представления графики PostScript.
Шрифты
С развитием графических операционных систем шрифты, или наборы графических изображений, которые служат для представления букв на мониторе или бумаге, превратились в их неотъемлемую и очень важную часть. Шрифты нужны для оформления текстов, Web-страниц и во множестве других случаев. Неслучайно в Сети так много сайтов с коллекциями шрифтов, и многие программные пакеты обычно укомплектованы ими.
Но, несмотря на постоянное присутствие на мониторе шрифтов различных размеров и наборов, большинство из нас даже не представляет, какого типа бывают шрифты и чем разные типы отличаются друг от друга, как узнать, какие шрифты установлены в Windows и как с ними работать (например, устанавливать или удалять). Классификация шрифтов Об этом и пойдет речь в этой статье.
Классификация шрифтов
Шрифты на PC активно использовались еще до массового распространения Windows и занятия этой системой ведущего положения на рынке операционных систем для персональных компьютеров. В те времена буквально каждый графический редактор или издательская программа использовали свой формат шрифтов и, как правило, одни программы не поддерживали форматы других. Существовало два типа шрифтов - растровые и векторные. Растровые содержат изображения для каждого символа и, как следствие, трудно масштабируются на меньшие или большие размеры, а для печати необходимы дополнительные принтерные шрифты, соответствующие экранным. В векторных имеются штриховые команды, т. е. команды вычерчивания линий, результатом работы которых будет символ.
До появления Windows 3.1 это были самые распространенные виды. Компания Microsoft в Windows 3.1 ввела технологию масштабируемых шрифтов TrueType. Но шрифты TrueType не являются изобретением Microsoft, первыми их стала использовать компания Apple Computer в своей операционной системе System 7. Однако только благодаря гигантскому скачку популярности Windows шрифты TrueType стали ведущим стандартом в этой области. Они основаны на использовании сплайнов, которые описывают контур символа, и имеют достаточно сложную внутреннюю структуру. Достоинством шрифтов TrueType является их независимость от устройства вывода - они одинаково выглядят как на экране, так и на принтере. Каждый может иметь различное начертание - курсив, полужирный, подчеркивание и обычное. Кроме того, он может иметь абсолютно любой размер, что невозможно в случае с растровыми шрифтами.
Вторым ведущим форматом шрифтов является Adobe PostScript. Вообще, PostScript - это язык для описания страницы документа, он используется для вывода страницы с текстом и графикой на экран и на принтер (который поддерживает этот язык). Шрифты Adobe Type основаны на данном языке. Существуют две основные разновидности - Type 1 PostScript font и Type 3 PostScript font. Стандартом является Type 1. Type 3 font (также известный как "шрифт, определенный пользователем") используется довольно редко. Шрифты Type 1 применяются в различных графических и издательских программах, например Adobe PageMaker, но они не являются стандартными в Microsoft Windows и поэтому их использование ограничивается программами, специально разработанными для поддержки данных шрифтов.
Шрифты в Windows
На данный момент, Windows поддерживает два формата шрифтов - растровый (FON), используемый в основном для вывода текста на принтер, и TrueType (TTF), повсеместно используемый формат, который постепенно заменит растровый.
Windows по умолчанию размещает шрифты в папке \Windows\Fonts, что значительно упрощает работу со шрифтами, их установку и удаление. Просмотреть данную папку можно как с помощью Explorer, так и выбрав соответствующий элемент в панели управления.
Шрифты PostScript vs TrueType
Это один из наиболее часто задаваемых начинающими типографами вопросов.
Предыстория такова: на современных персональных компьютерах, а именно с их помощью делается практически вся современная верстка, преобладают два формата цифровых векторных шрифтов: Type 1 фирмы Adobe (часто эти шрифты называются "PostScript шрифтами") и TrueType фирмы Microsoft.
Зачастую на одной машине соседствуют не только шрифты в обоих форматах, но даже одни и те же гарнитуры и в TrueType, и в Type1 представлении.
Кто же из них лучше?
Adobe Type 1 Font Format
Этот формат был создан фирмой Adobe Systems Inc. около 1985 года, а в 1990--публично раскрыт и документирован. Этот формат полностью совместим с языком описания страниц PostScript, выпущенным в том же 1985 году, и поддерживается всеми PostScript устройствами.
В основе этого формата лежит т.н. "декларативный" метод разметки. Это означает, что общие особенности построения символа описываются отдельно от самого контура символа.
И Type 1 эффектно использует эту особенность: при разработке шрифта дизайнеру даны такие мощные инструменты разметки, как хинты, "голубые зоны" и разметка слабо изогнутых кривых. Эти инструменты позволяют контролировать процесс растеризации символов и тем самым гарантируют ее (растеризации) высокое качество при любой разрешающей способности выводного устройства.
Для того, чтобы проиллюстрировать последнее заявление я поподробнее остановлюсь на хинтах.
В чем состоит главная проблема при создании цифрового векторного шрифта? В том, что на выводном устройстве (будь то фотонаборный аппарат, принтер или монитор) этот векторный шрифт будет растеризован, т.е. преобразован в набор точек. Условно это можно представить, как накладывание некоторого контура на бумагу в клеточку и закрашивание тех клеточек, которые оказались внутри (помните, что мы можем закрашивать клетки лишь целиком).
Все просто, когда контур достаточно большой (или клетка достаточно мелкая). Но при выводе на устройства с небольшим разрешением или при мелком кегле возникает ситуация, когда буква должна иметь в высоту 20, а то и меньше точек-клеточек. Что получится при растеризации? Примерно то, что мы видим на рисунке 1.
В результате "механического" округления координат точек толщины одинаковых штрихов в символе принимают разные значения, высота символов сильно колеблется, нарушается симметричность и т.д.
Хинты представляют собой пары направляющих, дополнительно определяющие положения и тощины основных штрихов/элементов символа. При растеризации первым делом происходит расчет толщины и положения хинтов, а потом, уже на эти рассчитанные величины накладывается контур. А самое главное, размер и положение данного хинта остаются неизменными от символа к символу. В нашем случае это может дать такой эффект:
Даже в рамках такого низкого разрешения нам удается сохранить постоянную тошину основных штрихов и соблюсти одинаковый рост знаков.
На самом деле, это лишь примитивный пример, а механизм хинтов имееть гораздо больше возможностей и случаев применения.
Теперь о TrueType
Этот формат был разработан фирмами Microsoft и Apple, и прежде всего отличается от Type 1 своим "программируемым" методом разметки. Насколько я понимаю, это означает, что описание каждого символа состоит из набора команд программе-растеризатору.
Такой метод в теории делает возможной более точную и правильную разметку. Но на практике он затрудняет процесс разработки настолько, что непосредственно в TrueType шрифты вообще не разрабатываются, а те, что стоят у вас на компьютере, наверняка получены как преобразование шрифтов из других форматов. В результате, шрифты TrueType обычно сильно уступают по качеству аналогичным шрифтам в PostScript формате.
Конечно, нельзя не отметить, что с точки зрения пользователя использование TrueType несколько проще (например не требует установки специальных программ), а сами шрифты более распространены и стоят дешевле Type 1. Кроме того, "юзеру", конечным продуктом которого является распечатанное на "лазернике" письмо, не требуется высокое качество растеризациии.
Но: если вы готовите материалы для полиграфии (и, следовательно,--фотонаборного аппарата, работающего на PostScript) или рисуете графические элементы для веб-страницы (и, следовательно, сталкиваетесь с критично низким разрешением монитора) вы почуствуете разницу.
Вывод
TrueType шрифты лучше оставить для офисного использования, на машине секретаря. В любом пре-пресс бюро на вас посмотрят косо, если увидят такой шрифт в вашей публикации. Профессионалы выбирают Type 1.
OpenType
Формат OpenType является расширением шрифтового формата TrueType, в который добавлена поддержка данных PostScript. Шрифтовой формат OpenType был разработан совместно фирмами Microsoft и Adobe.
Формат OpenType призван рашить следующие задачи:
- Мультиплатформная поддержка
- Лучшая поддержка многоязычного набора символов character sets
- Лучшая защита шрифтовых данных
- Меньший размер для более эффективуного распространения
- Лучший контроль при полиграфических работах
OpenType fonts are also referred to as TrueType Open v.2.0 fonts, because they use the TrueType 'sfnt' font file format. PostScript data included in OpenType fonts may be directly rasterized or converted to the TrueType outline format for rendering, depending on which rasterizers have been installed in the host operating system. But the user model is the same: OpenType fonts just work. Users will not need to be aware of the type of outline data in OpenType fonts. And font creators can use whichever outline format they feel provides the best set of features for their work, without worrying about limiting a font's usability.
OpenType fonts can include the OpenType Layout tables, which allow font creators to design better international and high-end typographic fonts. The OpenType Layout tables contain information on glyph substitution, glyph positioning, justification, and baseline positioning, enabling text-processing applications to improve text layout.
As with TrueType fonts, OpenType fonts allow the handling of large glyph sets using Unicode encoding. Such encoding allows broad international support, as well as support for typographic glyph variants.
Additionally, OpenType fonts may contain digital signatures, which allows operating systems and browsing applications to identify the source and integrity of font files, including embedded font files obtained in web documents, before using them. Also, font developers can encode embedding restrictions in OpenType fonts, and these restrictions cannot be altered in a font signed by the developer.