====== MPEG ====== ===== Возникновение MPEG ===== В настоящее время наибольшую популярность в нашей стране приобрел формат DivX, использующий стандарт видео сжатия MPEG-4. Еще несколько лет назад под цифровым телевидением понимали использование цифровых линий передачи. Аналоговый сигнал на выходе студии преобразовывался в цифровой, передавался по наземным или спутниковым линиям связи, а на приемном конце его снова превращали в аналоговый и в таком виде передавали пользователю. Затем в эту цепочку влились цифровые комплексы подготовки программ, существенно расширившие возможности режиссера и повысившие качество телевизионного изображения (или, как часто говорят специалисты, картинки). Но наиболее важным шагом к действительно цифровому телевидению стало появление систем цифрового телевизионного вещания. С возникновения первых цифровых видеосистем началась и активная разработка методов и алгоритмов сжатия видеоданных. Это и понятно, ведь для качественной оцифровки телевизионного сигнала шириной 6 МГц необходимо работать с частотой дискретизации не менее 12 МГц, т. е. брать как минимум 12 млн отсчетов в секунду. При использовании восьмибитного кодирования получим скорость передачи сигнала яркости (для черно-белой картинки) 100—120 Мбит/с. Добавьте сюда цветовую информацию и служебные сигналы, получите цифру 270 Мбит/с. Обработать в реальном времени, передать и сохранить такой поток зачастую не под силу и современным компьютерным системам, а что уж говорить о 80-х! Как в старой сказке о спящей красавице, к колыбели с подарками и пожеланиями пришли волшебницы. И главная из фей — **MPEG (Motion Picture Experts Group)**, группа экспертов по подвижным изображениям, специально организованная Международной организацией по стандартизации (ISO) и Международной электротехнической комиссией (IEC). MPEG активно участвует в разработке стандартных алгоритмов сжатия, от которых всецело зависит судьба цифрового телевидения. В эту группу входят Fujitsu, General Instrument, Matsushita, Mitsubishi, Philips, Scientific Atlanta, Sony, Samsung Electronics и ряд других производителей аппаратуры сжатия, мультиплексирования и модуляции телевизионного сигнала. Каждый новый стандарт, утверждаемый MPEG, имеет свою точку отсчета: это значение скорости передачи информации, которая зависит не только от уровня развития компьютерных технологий, но и от области применения конкретного стандарта. Воплощение алгоритмов сжатия относится к сфере ответственности производителя. Такой подход стимулирует непрекращающуюся борьбу за потребителя, а значит, и за достижение наилучших результатов. ===== MPEG 1 ===== В **1988 г.** немногочисленная группа молодых экспертов взялась за разработку формата хранения видеоинформации на CD-ROM и ее воспроизведения со скоростью около 1,5 Мбит/c. Поддержку ей оказала голландская фирма Philips, которая в 1956 г. выпустила на рынок первую компакт-кассету, а затем создала технологию цифровых оптических дисков (она и по сей день играет заметную роль в деятельности MPEG). В январе **1992 г.** опубликованы спецификации MPEG-1 — первого представителя семейства MPEG. В качестве стандарта они были приняты почти через два года, к декабрю 1993. Алгоритм сжатия MPEG-1 предусматривает получение изображения с разрешением (за счет развертки) вчетверо меньшим, чем разрешение картинки вещательного телевидения: 288 активных строк по 352 отсчета в активной части каждой. Этот эффект достигнут благодаря идее «прореживания» исходного телевизионного сигнала по вертикали и горизонтали (согласно MPEG-1, изымается каждая вторая строка и каждый второй отсчет в оставшихся строках). При приеме такое изображение с помощью аппаратных или программных средств растягивается до размера полного экрана. И хотя картинка явно теряет качество, зато остается возможность смотреть полноэкранную видеозапись, даже если используются самые простенькие дисководы CD-ROM. Таким образом, MPEG1 обеспечивает среднее качество изображения и не очень высокую степень сжатия. Использовался для создания VideoCD (Существует также разновидность этого алгоритма, предназначенная для сжатия звука, - MPEG 1 level 3 (уровень 3); аудиофайлы, сжатые с помощью этого алгоритма, имеют расширение mpЗ.) ===== MPEG 2 ===== Воодушевленная успехом применения MPEG-1, группа энтузиастов приступает к работе над MPEG-2. Он был задуман как стандарт для передачи (а не для хранения и воспроизведения, подобно MPEG-1) цифрового телевизионного изображения, поэтому, конечно, хотелось обойтись без потерь четкости. Ключевой особенностью MPEG-2 является возможность разделить результирующий, подготовленный к передаче, видеосигнал на несколько независимых потоков, содержащих сигналы различного качества. Такая функция потребуется в будущем, когда возникнет необходимость в одновременной трансляции сигнала ТВЧ (телевидения высокой четкости) и стандартного цифрового телевизионного сигнала. Они будут принимать одну и ту же программу, но с разным качеством картинки. И совместимость важна не только потому, что позволяет использовать предшествующие, более простые, системы. Она создает условия для перехода на более высокие уровни качества. Эти и многие другие требования легли в основу стандарта ISO/IEC 13818-2, определяющего MPEG-2 как целое семейство согласованных и совместимых цифровых стандартов сжатия телевизионных сигналов с различной степенью сложности используемых алгоритмов. Таким образом, MPEG 2 обеспечивает более высокое качество изображения и степень сжатия, чем MPEG 1. Также используется для создания SuperVideoCD. Пример изображения в MPEG 2: {{ workroom:mmedia:snapshot20070926140147.jpg |MPEG 2}} ===== MPEG 3 ===== Повальное увлечение телевидением высокой четкости, охватившее в свое время специалистов в области телевещания, не обошло стороной и MPEG. Первоначально для сжатия сигналов ТВЧ разрабатывался самостоятельный алгоритм MPEG-3, однако на последующих этапах оказалось, что кодирование по MPEG-2 и даже по MPEG-1 (правда, с некоторой доработкой) вполне можно применять для формата ТВЧ. В результате разработка MPEG-3 была прекращена. ===== MPEG 4 ===== Зато начались работы над [[mpeg-4|MPEG-4]] — принципиально новым объектно-ориентированным мультимедийным алгоритмом компрессии и передачи цифровых аудио- и видеосигналов, предназначенным для «кодирования аудио- и видеоданных с очень малыми скоростями передачи». И хотя разработка его спецификаций началась еще до массового признания Всемирной паутины, MPEG-4 прочат большое будущее в приложениях Internet-вещания, причем не случайно. Здесь задачи намного сложнее, чем при традиционной передаче изображений. Большего внимания требуют не только само кодирование, но и коррекция ошибок, адаптивная синхронизация. Кроме того, для обеспечения непрерывности трансляции при постоянно меняющейся доступной пропускной способности особое значение приобретает система буферизации. Все это требует принципиально иных (по сравнению с MPEG-1) технологий сжатия изображения и звука, которые и реализованы в MPEG-4. Таким образом, MPEG 4 обеспечивает более высокое качество изображения и степень сжатия, чем MPEG 1 и MPEG 2, также поддерживает различные дополнительные возможности, например, защиту от несанкционированного копирования и создание интерактивных элементов. На сегодня - самый перспективный алгоритм сжатия видеоинформации. ===== Концепция сжатия ===== Концепция сжатия видео в MPEG очень проста - определить, какая именно информация в потоке повторяется хотя бы в течении какого-то отрезка времени и принять меры к избежанию дублирования этой информации. Наиболее ценное достоинство MPEG кодирования, особенно удобное для передачи по различным сетям - возможность гибкой настройки качества изображения в зависимости от пропускной способности сети. Для удобства кодирования видеоданных весь видеопоток разбивается на группы, называемые **GOP (Group of Pictures- группой изображений)**. Такая группа строится следующим образом: {{ workroom:mmedia:mpeg_seq.gif |Кодирование видеоданных}} где: **I** - **Intra** кадры, которые обычно называются опорными и содержат всю информацию об изображении. MPEG последовательности без этих кадров быть не может в принципе. При компрессии I кадров происходит удаление только пространственной избыточности. Именно с этого кадра начинается декодирование изображения в последовательности. **P**- **Predictive** кадры. "Предсказанные" кадры, при формировании которых используется метод предсказания изображения на следующем кадре с учетом компенсации движения от последнего I или P кадра перед формируемым. P кадр также служит для дальнейшего предсказания изображения. P кадр создается с помощью межкадровой компрессии, уменьшающей как пространственную, так и временную избыточность. Изображение P кадра вычитается из следующего изображения и эта разница кодируется и вместе с вектором движения добавляется к сжатым данным. **B** - **Bi-directional**, "двунаправленные" кадры. Они названы так потому, что хранят наиболее существенную информацию с окружающих их I и P кадров. B кадры имеют наивысшую степень компрессии, но требуют предыдущего и последующего изображения для компенсации движения объектов на изображении. Собственно поток данных MPEG состоит из **6-ти иерархических уровней** * **Блок** - данные по яркости и цветности для блоков 8х8 изображения. Блоки анализируются по значениям Y (яркость), CB и CR (цветоразностные сигналы) * **Макроблок** - как следует из названия, состоит из 4 простых блоков в окне 16х16 пикселей соответственно. В формате 4:2:0 макроблок содержит 4 блока яркостных данных Y и по одному CB и CR. * **Слой** - содержит несколько смежных макроблоков * **Кадр** - состоит из группы слоев, содержащих изображение, которое, в свою очередь, может быть как I, так P или B. * **Группа изображений** (она же GOP) - содержит последовательность кадров. Может включать до 15 кадров и должна обязательно начинаться с I кадра. * **Видеопоследовательность** - должна содержать минимум одну GOP, а также заголовок в начале последовательности и код конца последовательности. ===== Разновидности MPEG ===== MPEG файлы бывают различных разновидностей: * **MPG**: Это наиболее основная форма файлов формата MPEG. Она содержит MPEG1 видео, и MP2 (MPEG-1 layer 2) или реже MP1 аудио. * **DAT**: Это почти такой же формат, как MPG, только с другим расширением. Он используется на Video CD. Из-за метода, которым создаются VCD и дизайна Linux'а, DAT файлы не могут проигрываться и копироваться с VCD, как обычные файлы. * **VOB**: Это формат MPEG файлов на DVD. Это такой же формат, как и MPG, плюс возможность содержать субтитры и не-MPEG (AC-3) аудио. Он содержит кодированное MPEG2 видео и обычно AC-3 аудио, но DTS, MP2 и не запакованный LPCM тоже возможны. Пример изображения в формате VOB: {{ workroom:mmedia:snapshot20070926141035.jpg |Формат VOB}} * **TY**: Это TiVo MPEG поток. Он содержит как MPEG PES данные аудио и видео потоков, так и дополнительную информацию вроде субтитров. Формат файла - это не программный поток MPEG (MPEG program stream), а некий закрытый формат, созданный TiVo. Серии кадров независимо группируются в MPEG файлах. Это значит, что Вы можете разрезать/соединять MPEG фалы стандартными файловыми средствами, и он остаётся полностью функциональным. Одно из основных преимуществ MPG'ов это то, что в них есть поле, описывающее соотношение сторон видео потока. Например, на SVCD содержится видео разрешением 480x480, и заголовок установил его(поле) в 4:3, поэтому это будет проигрываться на 640x480. ===== Список источников ===== * http://profi.edu.ru/default.asp?ob_no=1460 * http://www.mplayerhq.hu/DOCS/HTML/ru/video-formats.html * http://www.gibor.com.ua/vcdform.htm * http://www.svcd.ru/docs/articles/misc/mpeg2.php