Алгоритмы и протоколы каналов и сетей передачи данных

Алгоритмы работы с изображением

Разбить на страницы
Показывать лекцию целиком

Основу получения и передачи изображения составляет преобразование его в матрицу пикселей (pixel — picture element — элемент картинки). Такое преобразование обычно делается путем сканирования изображения (построчного и покадрового), показанного на рис 5.1.

(рис 5.1) Схема разложения изображения на элементы методом сканирования

Обратный ход лучей строчной и кадровой разверток невидимы. В передающих приборах изображение представляется в виде потенциальной картинки, в которой яркость элемента определяется количеством электронов, размещенных в определенной области экрана. Это делается, например, с помощью электронно-лучевой трубки. Начиная с 1980-х годов, для разложения изображения на элементы начали использовать приборы с зарядовой связью ( ПЗС ), в этом случае каждому пикселю ставится в соответствие полупроводниковый конденсатор, заряд которого пропорционален яркости элемента. Если изображение цветное, каждой точке ставится в соответствие 3 величины, пропорциональные яркости изображения по трем базовым цветам (красному, зеленому и голубому — RGB ). Отношение ширины изображения к высоте обычно равно 4:3. В Северной и Южной Америке число строк развертки равно 525, а частота кадров составляет 30/с; в Европе — 625 строк при 25 кадр./с. Только 483 из 525 строк в NTSC и 576 из 625 строк в PAL/SECAM отображаются. Время обратного хода кадровой развертки во многих случаях используется для передачи телетекста (новости, погода, спорт, биржевые цены и пр.). Восприятие телевизионной картинки зависит от времени реакции памяти глазных видеодатчиков. У пожилых людей это время обычно меньше, и по этой причине они воспринимают картинку, передаваемую с частотой кадров 25/с, как мигающую. Чтобы улучшить восприятие без увеличения частоты кадров (это потребовало бы большей полосы передачи), применяется алгоритм, при котором сначала воспроизводятся нечетные строки, а затем четные. Каждый из этих полукадров называется полем, а сам алгоритм — чересстрочной разверткой. Первым стандартом цветного телевидения был NTSC (National Television Standards Committee, США). В Европе цветное телевидение появилось позже, что позволило использовать новые более прогрессивные технологии. Так появилась система SECAM (Sequential Couleur Avec Memorire; Франция и Восточная Европа) и PAL (Phase Alternating Line; остальная Европа). Во всех указанных системах нужно было решать проблему совместимости с черно-белым телевидением, для чего приходилось осуществлять линейное сложение RGB -сигналов для получения сигнала яркости (Y). Сигнал яркости передается на частотах, используемых для черно-белого телевидения, а сигналы цветности — на прилегающих более высокочастотных диапазонах.

Последние годы ознаменовались интенсивными разработками систем телевидения высокого разрешения — HDTV (high Definition TeleVision). Эти системы характеризуются удвоением разрешения. И вновь разработки США, Европы и Японии совершенно не совместимы. Различие этих систем в отношении ширины картинки к высоте 16:9 вместо 4:3, что ближе к форме кадра 35-мм пленки, на которую до сих пор снималось кино. Весь мир готовится к переходу на цифровое телевидение. В простейшем варианте цифровое видео — это последовательность кадров, каждый из которых характеризуется прямоугольной матрицей пикселей. Пиксель можно задавать одним битом, тогда мы получим качество, которое получается при передаче цветной фотографии обычным факсом. При описании пикселя 8 битами можно иметь до 256 уровней яркости, что вполне пригодно для черно-белого видео. Для цветного отображения картины используются электронно-лучевые трубки, где по соседству располагаются три окошка маски, по одному для каждого из цветов. В этом вы можете убедиться, вооружившись лупой и рассмотрев через нее экран своего дисплея. Непрерывный аналоговый сигнал строчной развертки в цифровом варианте заменяется последовательностью кодов, длина которой определяется разрешением по горизонтали. В цифровом варианте возможна замена чересстрочной развертки отображением одного и того же кадра четыре раза. К сожалению, для широковещательного телевидения такое решение неприемлемо, так как современные телевизионные приемники не имеют памяти.

Известно, что для корректной передачи цвета требуется 16 миллионов оттенков (8 бит на каждую из трех цветовых компонент). Самое интересное, что человеческий глаз не способен различить такое число оттенков! Таким образом, для описания картинки на экране, содержащей 575 линий по 720 пикселей, требуется 1,240 Мбайта. Для передачи такой информации по B-каналу ISDN, если не используется сжатие данных, потребуется около 2,5 минут. Эта цифра помогает понять актуальность проблемы сжатия графической информации. XGA-стандарт дисплея (1024x768, 24 бита на пиксель при 24 кадр./с) требует потока цифровых данных 472 Мбит/с.

Именно поэтому при передаче чисто текстовой информации электронная почта имеет абсолютное преимущество перед факсом, ведь в случае факса передается отсканированное черно-белое изображение. В перспективе можно ожидать внедрения обязательного сжатия информации при передаче почтовых сообщений с последующей дешифровкой данных принимающей стороной. Первым шагом на этом пути стало внедрение системы MIME. Такое усовершенствование электронной почты сделает ее еще более грозным конкурентом факс-машин. Ведь передача графических образов уже не является монополией факсимильных систем, а возможность шифрования почтовых сообщений (например, в PGP) и электронные подписи делают электронную почту более устойчивой к перехвату.

Современная транспортировка мультимедийных данных совершенно не мыслима без использования одного или даже нескольких методов сжатия информации.

Стандарты для представления и передачи изображения разрабатывает Joint Photographic Expert Group ( JPEG ). Для сжатия графической информации в настоящее время используется дискретное косинусное двухмерное преобразование ( DCTDiscrete Cosine Transform), которое дает субъективно наилучший результат и описывается уравнением

$$F(u,v)=(1/4)C(u)C(v)\sum_{x=0}^7\sum_{y=0}^7 p(x,y)[\cos\frac{(2x+1)u\pi}{16}][\cos\frac{(2y+1)v\pi}{16}]$$

где , а p(x,y) представляет собой пиксельные данные блока реального рисунка. Начало координат в обоих случаях — в верхнем левом углу. Процесс кодирования сводится к разбиению изображения на блоки 8*8 пикселей и выполнению процедуры двухмерного DCT для каждого из этих блоков. Полученные коэффициенты преобразования дискретизируются, при этом несущественные DCT -коэффициенты отбрасываются. 64 числа, характеризующие уровень сигнала, превращаются в 64 коэффициента преобразования (амплитуды пространственных частот), которые хорошо поддаются процедуре сжатия. Дискретизатор округляет коэффициенты, эта процедура вносит некоторые ошибки, но обратное преобразование на принимающей стороне за счет усреднения частично устраняет вносимые искажения. На практике дискретизатор реализует несколько более сложный алгоритм.

Интуитивно метод DCT базируется на выявлении того, насколько вышестоящий блок отличается от нижестоящего. Для реального представления (сжатия) коэффициентов преобразования здесь также используются коды Хаффмана.

DCT обеспечивает сжатие на уровне 0,5-1,0 бит/пикселей при хорошем качестве изображения. Сжатие требует времени, а максимально приемлемым временем задержки при пересылке изображения является 5 секунд. Если использовать скорость обмена 64 Кбит/с, то степени сжатия 0,01 бита на пиксель будет соответствовать время передачи изображения 0,04 секунды, а сжатию 10 — время передачи 40 с. Порядок передачи оцифрованных значений не совпадает с классической схемой развертки и отображен на рис 5.2.

(рис 5.2) Порядок передачи оцифрованных параметров изображения в рамках стандарта JPEG

JPEG имеет четыре режима и много опций. Схема работы алгоритма JPEG с частичной потерей данных показана на рис 5.3. Коэффициент сжатия данных составляет 20:1 или даже больше.

(рис 5.3) Преобразование данных в протоколе JPEG

Отображение графического образа может выполняться последовательно (примерно так, как мы читаем текст: слева направо и сверху вниз) или с использованием прогрессивного кодирования (сначала передается вся картинка с низким разрешением, затем последовательно четкость изображения доводится до максимальной). Последний метод весьма удобен для систем WWW, где, просмотрев изображение низкого разрешения, можно отменить передачу данных, улучшающих четкость, и тем самым сэкономить время. Хорошо распознаваемое изображение получается при сжатии порядка 0,1 бита на пиксель.

Все системы сжатия требуют наличия двух алгоритмов: один для сжатия данных отправителем, другой — для восстановления получателем. Эти алгоритмы принципиально асимметричны. Во-первых, для многих приложений мультимедийный документ, например фильм, может быть сжат один раз (при записи на сервер или DVD-диск), а декодироваться тысячи раз на стороне клиентов. По этой причине процедура сжатия может быть достаточно сложной, дорогой и долгой. Алгоритм же декодирования должен быть достаточно простым и дешевым. Впрочем, в случае видеоконференций медленное кодирование (сжатие) совершенно неприемлемо. По этой причине алгоритмы сжатия данных в реальном масштабе времени принципиально отличаются от алгоритмов кодирования данных при записи на видео или DVD.

Еще одним источником асимметрии сжатия-декомпрессии для мультимедиа является отсутствие требования обратимости процедур. В результате работы программы декомпрессии получится совсем не тот файл, который поступил на вход программы сжатия медиа-данных. Это происходит потому, что процесс сжатия в этом случае сопряжен с потерей части данных. Схемы сжатия могут быть поделены на две категории: энтропийное кодирование и кодирование отправителем.

Энтропийное кодирование подразумевает сжатие данных без потери. К этому типу относятся, например, алгоритмы Хаффмана и Зива-Лемпеля (статистическое сжатие). Рассмотрим простой случай такого кодирования. Пусть мы имеем кодовую последовательность

314159260000000000000271828182811111111110707193800000002001

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

31415926R0132718281828R11007071938R072001

Здесь повторения одного и того же символа отображаются символом R, за которым следует код повторяющегося символа и число этих повторений. Понятно, что в такой схеме двойные или тройные повторения какого-либо сокращения строки не вызовут. Еще одним примером энтропийного кодирования является метод CLUT (Color Look Up Table). При RGB -представлении изображения каждый пиксель характеризуется тремя байтами, что соответствует 224 оттенков. На практике такое многообразие встречается не так уж часто. Например, в случае мультипликационного фильма число цветов может не превышать 256. Можно получить коэффициент сжатия почти в три раза путем построения таблицы объемом в 768 байт, куда будут занесены коды используемых 256 цветов. Каждый пиксель в этом варианте характеризуется индексом его RGB -кода в таблице. Данный алгоритм может служить примером, когда кодирование более трудоемко, чем декодирование.

Кодирование на стороне отправителя обычно сопряжено с потерей определенной доли данных. Одним из довольно часто используемых способов кодирования является привлечение дифференциальных методик. Здесь предполагается, что значительных изменений уровня сигнала быть не может. Если это происходит, то данные теряются и неизбежны искажения. Другим примером кодирования этого рода является DCT, описанное выше. Еще одним кодированием отправителя можно считать векторное дискретное преобразование изображения. Такое преобразование подразумевает разбивку изображения на равные прямоугольные области. Формируется также кодовая книга, которая содержит набор прямоугольных блоков изображения, возможно, получаемых из некоторой картинки. Вместо пересылки прямоугольника изображения посылается значение индекса соответствующего элемента из кодовой книги. Если эта книга формируется динамически, то она также должна быть послана получателю. При этом подразумевается, что исходное изображение может быть разложено на элементы, содержащиеся в кодовой таблице. В принципе данный метод представляет собой двухмерную реализацию алгоритма CLUT. В реальной картинке могут встретиться фрагменты, не совпадающие с элементами из кодовой книги. В этом случае может быть выполнена подмена элементом, наиболее похожим на имеющийся фрагмент.

Проблема сжатия и передачи движущегося изображения еще сложнее. Алгоритм кодирования такого изображения описан в рекомендациях CCITT H.261. Он предполагает, что скорость передачи при этом лежит в интервале 40 Кбит/с — 2 Мбит/с. Следует иметь в виду, что видеотелефония и видеоконференции требуют синхронной передачи звука и изображения (стандарт H.221, например, 46,4 Кбит/с для видео и 16 Кбит/с для звука). Нормальный формат телевидения имеет 625 и 525 строк развертки и частоту 25-30 кадров в секунду.

Цветное телевидение использует сигналы ).

(рис 5.4) Представление данных изображения в JPEG

Такая схема требует 216 Мбит/с, что в 3375 раза превышает возможности стандартного 64Кбит/с B-канала ISDN. Приемлемыми решениями могут быть:

  • снижение числа строк до 288 (при формате 625 строк) для отображения яркости;
  • использование максимально возможного сжатия графических данных;
  • повышение пропускной способности канала. Для разрешения по горизонтали вполне достаточно 3 МГц. Рекомендация 601 требует 720 пикселей для яркости и 360 для каждой из составляющих цветов. В настоящее время используется стандарт CIF (Common Intermediate Format). Для некоторых приложений рекомендовано вдвое более низкое разрешение по каждой из осей (Quarter CIF ). PCM-кодирование CIF с 8 битами на пиксель требует 352 х 288 х (1 + 1/4 + 1/4) х 29,97 х 8 = 36,5 Мбит/с (в отсутствие сжатия).
  • Отдельную проблему представляет печать изображения. Здесь полутона реализуются с помощью вариации размера элементов изображения. При цветной печати, помимо RGB -представления, используется CMYK-система (Cyan, Magenta, Yellow и Black) и соответствующие картриджи. Черный цвет в RGB соответствует коду 0,0,0, а в CMYK — 75%, 68%, 67% и 90%.

    Проблема сжатия информации была, есть и всегда будет актуальной. При известных современных методах, чем больше эффективность сжатия, тем больше задержка (наилучший результат можно получить, используя сжатие всего фильма, а не кадра или тем более строки). В каждом конкретном случае выбирается то или иное компромиссное решение. При работе в реальном масштабе времени, где в процессе обмена участвует человек, задержки более секунды вызывают раздражение, и приходится ограничиваться сравнительно скромными коэффициентами сжатия или умеренным разрешением.

    При пересылке движущегося изображения производится сравнение текущего кадра с предшествующим. Если кадры идентичны, никакого информационного обмена не происходит. Если кадры отличаются лишь смещением какого-то объекта, выявляются границы этого объекта, направление и величина вектора его перемещения. Так как использование индивидуальных векторов перемещения для каждого пикселя слишком расточительно, применяется общий вектор для блока пикселей 16*16 по яркости и для соответствующего блока 8*8 по цвету. Точность задания вектора перемещения обычно лежит в пределах 1/2 пикселя (стандарт MPEG -2). Только эта информация и передается по каналу связи. Выявление движущихся объектов осуществляется путем вычитания изображения двух последовательных кадров. Если бы передавалась всегда только разница кадров, происходило бы накопление ошибок. Кроме того, как кодер, так и декодер содержат прямой и обратный DCT -преобразователь. Если комбинация прямого и обратного DCT -преобразования не приводит к получению исходного объекта, то такого рода эффекты могут заметно усилиться. Для исключения этого время от времени производится передача непосредственно видеосигнала (кадра). Практически преобразователь изображения представляет чудо современной технологии, которое даст работу еще не одному поколению математиков и инженеров.

    Нисколько не проще система передачи и мультиплексирования потока видеоданных, который содержит, помимо обычной информации, описания формы движущихся объектов, векторы перемещения, коэффициенты дискретизации и многое другое. Схема передачи графической информации имеет 4-уровневую, иерархическую структуру. Передача каждого кадра изображения начинается с 20-битного кода PSC (Picture Start Code, эта сигнатура позволяет выделить начало кадра изображения в общем потоке), далее следует 5-битовый код TR (Temporal Reference, временная метка, которая позволяет поместить соответствующую часть изображения в правильную точку экрана). Изображение пересылается частями, имеется 4 уровня: кадр, группа блоков GoB (Group of Blocks), макроблоки ( MB ) и просто блоки.

    Ядро всей структуры составляет процедура передачи кадра (внутренний слой, существуют еще слои GoB, MB и блока, см. рис 5.5, 5.6 и 5.7)

    (рис 5.5) Схема передачи кадра изображения

    Поле PTYPE содержит 6 бит, которые характеризуют формат изображения (используется ли формат CIF или QCIF ). Однобитное поле PEI указывает на то, следует ли далее 8-битное поле PSPARE (предназначено на будущее). Если PEI = 0, начинается цикл передачи GoB. Группа блоков составляет одну двенадцатую картинки CIF или одну треть QCIF. GoB описывает Y (яркость), 176 пикселей для каждой из 48 строк и соответствующие 88*24 элементов для CB и CR.

    GBSC — (Group of Blocks Start Code) представляет собой 16-разрядное слово, за которым следует 4 бита номера GoB (GN — GoB Number). GN указывает, какой части изображения соответствует данный GoB. Поле GQUANT имеет 5 бит и указывает на номер преобразователя (одного из 31 дискретизаторов), который используется данным GoB. Смысл GEI идентичен PEI. GEI и GSPARE позволяют сформировать структуру данных, идентичную той, что используется на уровне кадра.

    Формат пересылки MB сложнее. GoB делится на 33 макроблока (MB), каждый из которых соответствует 16 строкам по 16 пикселей Y (четыре блока 8*8) и CB и CR. Каждый макроблок начинается с его адреса MBA (Macroblock Address), имеющего переменную длину и определяющего положение макроблока в GoB.

    (рис 5.6) Блок-схема кодирования и передачи изображения

    Макроблоки не передаются, если данная часть изображения не изменилась. За MBA следует код переменной длины MTYPE, характеризующий формат макроблока (применен ли метод подвижного вектора MVD и т.д.) и последующую информацию. CBP (Coded Block Pattern) представляет собой кодовое слово переменной длины, которое несет в себе информацию о том, какой из шести блоков преобразования (8*8) содержит коэффициенты (слой блоков). CBP нужно не для всех типов макроблоков. Каждый блок завершается флагом EoB (End of Block).

    (рис 5.7) Размещение блоков в макроблоках

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

    Так как передача изображения широко использует коды переменной длины, она крайне уязвима для любых искажений. В случае ошибки будет испорчена вся информация вплоть до следующего стартового кода GoB. Из-за рекурсивности алгоритма формирования картинки искажения будут оставаться на экране довольно долго. Использование векторов перемещения может привести к дрейфу искажений по экрану и расширению их области. Для того чтобы уменьшить последствия искажений, в передаваемый информационный поток включаются коды коррекции ошибок BCH (511,493; Forward Error Correction Code), которые позволяют исправить любые две ошибки или кластер, содержащий до 6 ошибок в блоке из 511 бит (см. рис. 8). Алгоритм работает в широком диапазоне скоростей передачи информации. Для реализации коррекции ошибок в поток двоичных данных включается 8 пакетов, каждый из которых включает в себя 1 кадровый бит, 1 бит индикатор заполнения, 492 бита кодированных данных и 18 бит четности. Поле Fi (индикатор заполнения) может равняться нулю, тогда последующие 492 бита не являются графической информацией и могут игнорироваться. Алгоритм предназначен для работы в динамическом диапазоне частот 40:1.

    (рис 5.8) Схема передачи данных с коррекцией ошибок

    Во время переговоров или в ходе видеоконференции может возникнуть необходимость отобразить текст, выделить на экране какой-то объект, послать факс и т.д. Для решения таких задач можно использовать D-канал (ISDN), но это не оптимально, так как он имеет свои специфические функции. Поэтому более привлекательным представляется создание специального протокола, работающего в рамках B-канала (H.221). Для этих целей задействуется младший бит каждого из октетов, что позволяет создать сервисный канал с пропускной способностью 8 Кбит/с, использующий по 80 бит. Первые 8 бит служат для целей синхронизации ( FAS – Frame Alignment Signal) и выполняют следующие функции:

  • выделение начала кадра (исключение имитации начала кадра в информационном потоке);
  • выделение начала блока кадров (опционно до 16 кадров);
  • выполнение функций счетчика в многокадровых блоках (по модулю 16), может использоваться в многоточечных соединениях;
  • нумерация соединений;
  • CRC-контроль (опционно);
  • " ).
  • При работе с каналами на 384, 1536 и 1920 Кбит/с сервисный канал использует тайм-слот 1. Следующие 8 бит имеют название BAS (Bit Allocation Signal) и выполняют следующие функции:

  • код, характеризующий возможности канала (узко/широкополосная передача звука, различные видео параметры, тип шифрования и т.д.);
  • коды команд, определяющие значения передаваемых кадров;
  • esc-последовательности.
  • Очевидно, что BAS-коды (H.242, см. http://book.itep.ru/2/29/std_291.htm) должны быть надежно защищены от ошибок. Для этой цели они пересылаются с использованием кодов, допускающих коррекцию ошибок. При работе оба приемника непрерывно ищут разделительный код кадров. Когда он обнаружен, бит А для выходного канала делается равным нулю. Только после получения А = 0 терминал может быть уверен в том, что удаленный терминал правильно воспринял код BAS. Работа с кодами BAS описана в документе H.242. При установлении режима обмена терминалы обмениваются командами BAS. Команда действительна для последующих двух кадров, следовательно, при частоте кадров 100 Гц, изменения режима могут производиться каждые 20 мс.

    Многоточечный вызов может рассматриваться как несколько связей между терминалами и бриджем MCU (Multipoint Control Unit) по схеме "точка-точка". Простой MTU передает на каждый из терминалов смешанный аудиосигнал от остальных терминалов. Каждый терминал осуществляет широковещательную передачу для остальных терминалов, участвующих в обмене. При видеообмене на терминал выводится только одна картинка. Дополнительную информацию по данной тематике можно найти в рекомендациях H.231, H242 и H.243.

    Для передачи нормального телевизионного изображения необходимо 364 Кбит/с (4х64 Кбит/c). Интеграция телевидения с сетями передачи данных, появление видеотелефона и широкое внедрение видеоконференций становится велением времени. Требования к каждому из этих видов услуг значительно варьируются в зависимости от приложения. Например, ставшие обычными телевизионные мосты требуют высокого качества передачи изображения и звука. А в некоторых дорогостоящих отраслях науки, где международное сотрудничество стало неизбежным, важным является передача статических изображений (чертежи, схемы, описания алгоритмов, и т.д.) с высоким (иногда более высоким, чем в телевидении) разрешением. Здесь важно передать звук с приемлемым качеством (но заметно хуже, чем на ТВ) и обеспечить синхронное перемещение маркера мыши по экрану в ходе обсуждения переданного документа. Экономия только на авиабилетах (не говоря о командировочных и времени экспертов) способна перекрыть издержки по оплате канала для видеоконференции. В этом режиме приемлемым может считаться один кадр в 1-4 секунды.

    Рисунок известного французского художника Клода Серрэ из книги "Черный юмор и люди в белом" (см. начало раздела http://book.itep.ru/2/25/pic_25.htm) может служить иллюстрацией того, к чему может привести использование протокола TCP при передаче изображения в реальном масштабе времени. Предположим, что в процессе передачи изображения носа пакеты были повреждены, тогда спустя некоторое время, определяемое размером окна (TCP), будет проведена повторная их передача. Тем временем переданные ранее пакеты будут использованы для построения изображения, а часть картинки, содержавшаяся в пакетах, посланных вместо поврежденных, будет отображена совсем не там, где это следует. Реально из-за повреждения пакетов возможны и более тяжелые искажения изображения. Именно это является причиной использования UDP для передачи видео- и аудиоинформации при видео- и аудиоконференциях (еще лучшего результата можно достичь, используя протокол RTP). Протокол UDP не требует подтверждения и повторной передачи при ошибке доставки. Поврежденные пакеты вызовут искажения изображения (или звука) лишь локально.

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

    5.1. Стандарты MPEG-1 и -2

    Стандарт MPEG 1 (ISO 11172; см. http://www.chiariglione.org/mpeg/standards/mpeg-1/mpeg-1.htm) определяет методы сжатия данных, позволяющие довести скорости передачи видео- и аудиоинформации до 1,5 Мбит/с, что соответствует скоростям обмена обычных CD-ROM.

    Стандарт MPEG -2 содержит в себе 9 частей. Первые три стали международными стандартами MPEG -2 (см. http://www.chiariglione.org/mpeg/standards/mpeg-2/mpeg-2.htm; ISO/IEC JTC1/SC29/WG11).

    Часть 1 MPEG -2 относится к объединению одного или более элементарных аудио- или видеопотоков, а также прочих данных в один или несколько потоков, удобных для записи или передачи.

    Программный поток подобен создаваемому системами мультиплексирования MPEG -1. Он формируется в результате объединения одного или более элементарных потоков пакетов PES (Packetized Elementary Streams), которые имеют общую временную шкалу. Программный поток формируется для использования в относительно надежной среде и удобен для приложений, которые могут включать в себя программную обработку данных. Пакеты программного потока могут иметь переменную и относительно большую длину. Модель систем MPEG -2 показана на рис 5.9.

    (рис 5.9) Модель систем MPEG-2Б

    Транспортный поток объединяет один или более потоков PES с общей или разными временными шкалами. Элементарные потоки с общей временной шкалой образуют программу. Транспортный поток формируется для использования в относительно ненадежной среде, где вероятны ошибки, — например память или транспортная среда с высоким уровнем наводок или шума. Пакеты транспортного потока имеют длину 188 байт

    Часть 2 MPEG -2 предоставляет мощные возможности сжатия видеоданных стандарта MPEG -1 и обладает широким диапазоном средств кодирования. Эти средства группируются в профайлы, обеспечивая разнообразную функциональность. В таблице 5.1 крестом отмечены возможности, которые реализуются стандартом.

    Видеопрофайлы MPEG -2
    Уровень Простой Основной SNR масштаб. Пространственно масштабируемый Высокий Multiview 4:2:2
    Высокий X X
    Высокий-1440 X X X
    Основной X X X X X X
    Низкий X X

    С момента окончательного одобрения MPEG -2 Видео в ноябре 1994 года, был разработан еще один профайл. Он использует существующие средства кодирования MPEG -2 Видео, но способен работать с изображениями, имеющими разрешение 4:2:2 и более высокую скорость передачи. Несмотря на то, что MPEG -2 Видео не разрабатывался для студийных целей, серия выполненных тестов показала, что MPEG -2 достаточно хорош, а во многих случаях даже лучше, чем предлагается спецификациями, разработанными для более высоких скоростей передачи или студийных приложений.

    Профайл 4:2:2 был окончательно одобрен в январе 1996 года и сейчас стал неотъемлемой частью стандарта MPEG -2 Видео.

    Профайл Multiview (MVP) является еще одной из последних разработок. Он позволяет, используя существующие средства кодирования MPEG -2, эффективно закодировать последовательность кадров, которые получены от двух камер, снимающих одну и ту же сцену (например, для получения стереообраза).

    показана структура блока данных MPEG -2 Аудио, демонстрирующая это свойство.

    (рис 5.10) Структура блока аудиоданных в MPEG-2

    Части 4 и 5 MPEG -2 соответствуют частям 4 и 5 MPEG -1.

    ).

    (рис 5.11) Эталонная модель DSM-CC

    Часть 7 MPEG -2 является спецификацией алгоритма кодирования многоканального аудио, полностью совместимого с MPEG -1.

    Часть 8 MPEG -2 первоначально планировалась для кодирования видео, когда входные кодировщики выдают по 10 бит на одно стробирование. Работа была приостановлена, когда выяснилось, что промышленность проявляет ограниченный интерес к этой проблеме.

    Часть 9 MPEG -2 является спецификацией интерфейса реального времени RTI (Real-Time Interface) для декодеров транспортного потока, которые могут использоваться с любыми сетями.

    Часть 10 является секцией стандарта, предназначенной для тестирования DSM-CC.

    Работа над форматом MPEG -2 была завершена в 1997 году. Стандарт MPEG -2 является усовершенствованием MPEG -1 и базируется на схеме шифрования с потерями и передачи без потерь. Кодирование в MPEG -2 идентично используемому в MPEG -1 (I- P- и B-кадры; D-кадры не используются). I-кадр (Intracoded) представляет собой изображение, закодированное согласно стандарту JPEG при полном разрешении по яркости и половинном разрешении по цвету. Такие кадры должны появляться периодически, чтобы исключить накопления ошибок (включаются в выходной поток 1-2 раза в секунду). Эти кадры обеспечивают совместимость с MPEG -1. P-кадры (Predictive) содержат отличие блоков в последнем кадре изображения по отношению к предыдущему кадру. P-кадры базируются на идее макроблоков, которые содержат 16*16 пикселей яркости и 8*8 пикселей цветности. Для декодирования P-кадра необходимо иметь исчерпывающие данные о предыдущем кадре. B-кадры (Bidirectional) характеризуют отличие двух последовательных изображений. B-кадры сходны с P-кадрами, но позволяют устанавливать связь макроблоков не только с предшествующим, но и с последующим кадром. Здесь применено двойное косинусное преобразование с числом коэффициентов 10*10 (против 8*8 в MPEG -1). D-кадры (DC-Coded) используются для получения изображения низкого разрешения при быстрой перемотке вперед или назад. MPEG -2 предназначен для широковещательного телевидения (включая прямое спутниковое — DBS ) и для записи на CD-ROM и поддерживает четыре разных стандарта разрешения: 352*240 (низкое), 720*480 (базовое), 1440*1152 (высокое-1440) и 1920*1080 (высокое). Последние два стандарта относятся к телевидению высокого разрешения ( HDTV ). Низкое разрешение служит для обеспечения совместимости с MPEG -1. Стандарт MPEG -1 может работать в режиме, когда для сжатия данных используется алгоритм JPEG. Эта схема удобна в случае произвольного доступа к любому из кадров, например для их редактирования. С точки зрения эффективности сжатия это совсем не лучшее решение, так как не используется тот факт, что последовательные кадры отличаются друг от друга незначительно. Даже простой метод дифференциального сжатия (передача отличия нового кадра от предыдущего) окажется эффективнее. Здесь предполагается, что фон кадра и положение видеокамеры являются стационарными. Базовое разрешение ориентировано на работу со стандартом NTSC.

    Из этих данных можно получить оценку сверху для пропускной способности визуального канала человека. Из-за инерциальности человек не различает более 25 кадров в секунду. Один кадр содержит 1920*1080*24 = 49766400 бит (здесь предполагается, что человек может различать 224 оттенков цветов (в реальности возможности много ниже). Угол нашего зрения много шире телесного угла, перекрываемого телевизионным экраном, но относительно высокое разрешение мы имеем лишь вблизи той точки, на которую мы сфокусировались. Таким образом, мы можем воспринимать порядка 1244 Мбит/с. Практически эта оценка на несколько порядков выше реального значения. Понятно, что мозг может обработать на много порядков меньший объем информации. Оценку возможностей нашей обработки можно получить из скорости быстрого чтения, когда человек воспринимает содержимое страницы за время порядка 15 секунд. Страница содержит примерно 3 Кбайта, что дает скорость приблизительно 200 байт в секунду. Эту цифру можно считать оценкой снизу (ведь буква — это графический образ, а не байт).

    Помимо этого MPEG -2 поддерживает 5 профайлов для различных прикладных областей. Основной профайл ориентирован на общие приложения с базовым разрешением. Простой профайл сходен с основным профайлом, но не работает с B-кадрами, чтобы облегчить процедуры кодирования/декодирования. Остальные профайлы служат для обеспечения масштабируемости и работы с HDTV, они отличаются цветовым разрешением и форматами информационных потоков. Скорость передачи данных для каждой комбинации разрешения и профайла различна и лежит в диапазоне от 3 до 100 Мбит/c. Для обычного ТВ характерна скорость 3-4 Мбит/c. В таблице 5.2 представлены размеры кадров в битах для MPEG -1 и MPEG -2.

    Видеопрофайлы MPEG -2
    Тип кадра
    I P B Средний
    MPEG -1 (1,15 Мбит/с) 150,000 50,000 20,000 38,000
    MPEG -2 (4 Мбит/c) 400,000 200,000 80,000 130,000

    Мультиплексирование аудио- и видеоданных в MPEG -2 показано на рис 5.12. На выходе пакетизатора мы имеем элементарные потоки пакетов ( PES — Packetized Elementary Stream), содержащих около 30 полей, включая длину, идентификаторы потоков, временные метки, контрольные суммы и т.д. В MPEG -2 формируется два комплексных потока, программный поток (PS) длинных пакетов переменной длины, сходный с MPEG -1, содержащий видео- и аудиоданные и имеющий общую временную шкалу, и транспортный поток (TS) пакетов постоянной длины (188 байт) без общей временной шкалы. В последнем случае минимизируется влияние потерь пакетов в процессе транспортировки. Предусмотрено выделение в потоке составляющих разной степени важности (например, DCT -коэффициентов и обычных графических данных).

    (рис 5.12) Мультиплексирование аудио- и видеоданных в MPEG-1 и MPEG-2 (внизу)

    Преобразование аналогового сигнала в цифровую последовательность осуществляется в MPEG -2 с помощью кодеков, создавая первичный поток в 140 Мбит/с, который затем преобразуется для передачи через стандартные каналы 1,5 и 15 Мбит/с (например, для прямого широковещательного спутникового телевидения). В настоящее время в Европе принят стандарт D1 (PAL) (576x720) – 1,1 Мбит/c. В соответствии со стандартом сжатия данных H.320 можно обеспечить передачу видео + аудио по каналу 56 Кбит/с с низким разрешением и частотой 1 кадр./с.

    5.2. Интерактивное телевидение

    В последнее время благодаря широкому внедрению цифрового телевидения и новых стандартов передачи изображения ( MPEG -2) открылись возможности для "телевидения по требованию" (интерактивного телевидения — TV on demand) — системы, где клиент может самостоятельно и индивидуально формировать ТВ-программу. Первые опыты такого рода в США относятся к 1995 году. Эти системы базируются на существующих сетях кабельного телевидения. Но развитие оптоволоконных технологий позволяют ожидать полной интеграции кабельного цифрового телевидения и информационных сетей Интернет. Общая схема такой системы показана на рис 5.13.

    (рис 5.13) Схема реализации интерактивного телевидения

    Базовый мультимедийный сервер может обслуживать отдельный район города. В пределах квартала размещается промежуточный центр, где расположен локальный буферный сервер, который записывает фрагменты программ, заказанные локальными клиентами. Только новостийные и некоторые спортивные программы передаются в реальном масштабе времени, все фильмы берутся из локальной фильмотеки или предварительно записываются в накопитель из центрального мультимедиа-архива. Транспортной средой здесь может стать ATM, SDH, Fibre Channel или IEEE-802.17. Оптическое волокно доходит до квартального сервера или даже до дома клиента. В этом случае по имеющимся каналам может передаваться не только программа телевидения и осуществляться телефонные переговоры, но и выполняться полное информационное обслуживание. Сюда может включаться, помимо заказа ТВ-программ, подписка на газеты, заказ билетов на транспорт или в театр, получение прогноза погоды и данных о состоянии дорог, доступ к базам данных, включая библиотеки и фонотеки, оповещение о пожаре или вторжении и многое другое.

    Особый интерес представляет возможность практически полного вытеснения традиционных газет. Клиент сможет получать только интересующие его статьи из любых газет (и только их и оплачивать). Если какая-то статья представляет интерес и он захочет почитать ее позднее в машине или на даче, ее можно распечатать на принтере, подключенном к его телевизору-терминалу.

    Цены на цветные принтеры в настоящее время опустились до 100 долларов и ниже, таким образом, нужная копия уже сейчас дешевле стоимости газеты. Экономия на бумаге и средствах доставки очевидны, да и необходимость в типографиях отпадет, ведь даже книги можно будет получить непосредственно дома, хотя привлекательность данной услуги и не вполне однозначна — хорошо сброшюрованная и переплетенная книга будет привлекательным объектом еще долго. Массовое внедрение таких технологий будет стимулировать падение цен на соответствующие процессоры и принтеры. Интерактивная схема подключения телевизора-терминала сделает возможным многие новые виды развлечений, а также совершение многих покупок, не выходя из дома. Традиционной почте подписала отсроченный приговор почта электронная, но появление интерактивных широкополосных средств завершит многовековую историю почты (да и телеграфа). Ей будет оставлена доставка товаров, билетов и документов. Побочным продуктом прогресса в данной области станет общедоступный видеотелефон. Схема видеосервера представлена на рис 5.14.

    Видеосервер может содержать несколько процессоров (ЦПУ) со встроенной локальной памятью. Такой сервер должен иметь несколько систем архивов и достаточно мощный сетевой канал. Один кинофильм требует для записи около 4 Гбайт. Используемые запоминающие устройства образуют иерархическую структуру: ЗУПВ (запоминающее устройство с произвольным доступом), дисковая память ( RAID — Redundant Array of Inexpensive Discs), CD и картриджи магнитных лент. ЗУПВ имеют минимальное время доступа, относительно малую емкость и достаточно высокую цену, а магнитные ленты, наоборот, относительно дешевы, характеризуются большим временем доступа, но достаточно большой емкостью. Сетевой интерфейс связывает сервер с центральной инфраструктурой телевизионной сети. Но нужно учитывать, что одна из главных составляющих видеосервера на рисунке не показана — это управляющее программное обеспечение, которое должно решать проблему буферизации и шифрования огромного объема данных для достаточно большого числа клиентов.

    (рис 5.14) Блок-схема видеосервера для интерактивного телевидения

    Главными средствами доставки данных в системе интерактивного телевидения являются: ADSL (Asymmetric Digital Subscriber Line), . К интерфейсу помимо телевизора может быть подключена и ЭВМ. Схема эта принципиально асимметрична, исходящий поток клиента не может превышать 16 Кбит/c. При этом сохраняется традиционный аналоговый телефонный канал (4 КГц). Полосы скоростного входного канала клиента вполне достаточно для передачи цифрового ТВ-сигнала в стандарте MPEG -1. Максимальное расстояние для такого соединения составляет 2 км.

    Система FTTC предполагает наличие оптического канала до квартала, где живет клиент. На конце волокна устанавливается блок ONU (Optical Network Unit), от которого к клиентам прокладывается до 16 скрученных пар. Малая длина медных соединений позволяет получить большую пропускную способность. Эта система благодаря симметрии канала допускает осуществление видеоконференций для работающих на дому.

    (рис 5.15) Схема раздачи ТВ-данных с помощью ADSL

    Система FTTH обеспечивает оптический канал до дома клиента, по этой причине она имеет очень высокую стоимость, но зато способна обеспечить скорость передачи 51,84 или 155,52 Мбит/с.

    Если системы ADSL, FTTC и FTTH осуществляют связь по схеме "точка-точка", то HFC ориентирована на топологию систем кабельного телевидения. Предполагается замена современных коаксиальных ТВ-кабелей (300-450 МГц) на кабели с полосой 750 МГц (125 6-мегагерцных каналов). 50 новых каналов будут модулированы с использованием QAM-256, что даст 40 Мбайт/с на канал. Один кабель обслуживает до 500 домов. Из-за общего кабеля система HFC должна использовать шифрование, чтобы исключить несанкционированный доступ (что совершенно излишне для систем ADSL, FTTC и FTTH). Это совсем не дешево для американских фирм, ведь им нужно заменить все кабели и оконечное оборудование, заменить однонаправленные усилители и т.д. В РФ, где ничего этого нет и нужно начинать с нуля, можно легко создать любую совершенно новую систему. Указанные методы подразумевают, что конкретному клиенту предоставляется один или более MPEG -потоков. Для декодирования и отображения таких потоков необходим специальный сетевой интерфейс. Все это подталкивает к решению, объединяющему возможности сети и традиционного телевизионного приемника. Вариант такого решения представлен на рис 5.16.

    (рис 5.16) Структура интерфейсного оборудования клиента

    Интерфейс клиента в этом случае содержит в себе ЭВМ (ЦПУ, ЗУПВ и ROM), к рабочей шине которой подключен сетевой интерфейс, MPEG -декодер и устройство сопряжения с телевизором и пультом дистанционного управления. Главной задачей этого оборудования — согласование с местной системой распределения видеоданных, синхронизация видео- и аудиосигналов. К ТВ-интерфейсу может быть подключен телефон или персональная ЭВМ. ЗУПВ объемом 500 Кбайт позволяет буферизовать поток MPEG -2 в течение 1 секунды. Функцией встроенной ЭВМ является дешифровка потока цифровых данных, что позволяет отключить от сети клиентов, не оплативших аренду канала. Эта ЭВМ может использоваться для организации компьютерных игр, как индивидуальных, так и групповых, а также для обработки запросов клиента и центральной станции обслуживания. Одним из возможных протоколов транспортировки мультимедиа-данных является MBone (Mulicast Backbone). Выработка стандарта интерактивного телевидения еще не завершена. Применение Mbone предполагает использование маршрутизаторов, которые поддерживают этот протокол и соответствующие протоколы маршрутизации (DVMRP и PIM).

    В последнее время разрабатываются системы частного телевидения, где видео- и аудиопотоки формируются самими клиентами (сети peer-topeer).

    Жилье клиента будет оборудовано оптоволоконным кабелем, завершающимся интерфейсной коробкой с разъемами для подключения телефона, телевизора и ЭВМ. Даже современные ограниченные скорости передачи позволяют решить стоящие проблемы. Во-первых, люди не смотрят телевизор круглые сутки, это позволяет ночью или в рабочее время, когда клиент на службе, произвести передачу нужных фрагментов ТВ-программы на локальный сервер. Во-вторых, популярность фильмов и программ не однородна, что также снижает требование на широкополосность. Известно, что наиболее популярный фильм запрашивается примерно в К раз чаще, чем фильм, занимающий к -е место в списке популярности (эмпирический закон Ципфа (Zipf), выведенный из статистики контор по прокату видеокассет). Это означает, что из предлагаемого списка будут выбраны не все фильмы, а наиболее популярные фрагменты программ можно передавать по схеме MBONE, минимизируя загрузку каналов. Способствовать решению данной проблемы будет и появление CD с емкостью 4 Гбайта. Но проблем здесь остается немало — так, трудно себе представить, что все клиенты захотят смотреть один и тот же фильм в одно время. Решение подобной задачи потребует очень большого объема буферной памяти и ощутимо поднимет требования к широкополосности канала. "Синхронизовать" клиентов можно будет дифференциацией оплаты для разных временных интервалов и группированием клиентов, заказавших близкие времена начала демонстрации фильмов (можно решить проблему путем копирования фильмов на диск оконечного клиента). Но, несмотря на все эти ухищрения, локальные серверы должны будут иметь сложную иерархическую систему буферной памяти, базирующуюся на разных принципах работы (CD, магнитная лента, дисковая память и даже RAM).

    Практическая реализация фантастической схемы, предложенной в предыдущем абзаце, уже осуществляется в США и Канаде. Предстоит написать огромное число различных сервисных программ, но все базовые технологии уже существуют.

    MPEG-3 разрабатывался для систем телевидения высокой четкости с разрешением 1920x1080x30 при скорости потока данных 20-40 Мбит/с. Этот формат стал частью стандарта MPEG -2. Формат MP3 (не надо смешивать с MPEG-3 ) предназначен только для сжатия аудиоинформации. В формате МР3 предусмотрено три вида сжатия двухканальных аудиоданных join stereo, stereo, dual channel (последний обеспечивает наилучшее качество).

    Принципиально новым шагом в обработке мультимедиа стал стандарт MPEG -4, где впервые был введен объектный подход к анализу изображений и звука. Здесь же введено понятие сцены и базовые принципы ее описания, заложены основы интерактивного взаимодействия слушателя/зрителя со сценой, впервые рассматриваются в практической плоскости вопросы интеллектуальной собственности.

    Страницы:

    Основу получения и передачи изображения составляет преобразование его в матрицу пикселей (pixel — picture element — элемент картинки). Такое преобразование обычно делается путем сканирования изображения (построчного и покадрового), показанного на рис 5.1.

    (рис 5.1) Схема разложения изображения на элементы методом сканирования

    Обратный ход лучей строчной и кадровой разверток невидимы. В передающих приборах изображение представляется в виде потенциальной картинки, в которой яркость элемента определяется количеством электронов, размещенных в определенной области экрана. Это делается, например, с помощью электронно-лучевой трубки. Начиная с 1980-х годов, для разложения изображения на элементы начали использовать приборы с зарядовой связью ( ПЗС ), в этом случае каждому пикселю ставится в соответствие полупроводниковый конденсатор, заряд которого пропорционален яркости элемента. Если изображение цветное, каждой точке ставится в соответствие 3 величины, пропорциональные яркости изображения по трем базовым цветам (красному, зеленому и голубому — RGB ). Отношение ширины изображения к высоте обычно равно 4:3. В Северной и Южной Америке число строк развертки равно 525, а частота кадров составляет 30/с; в Европе — 625 строк при 25 кадр./с. Только 483 из 525 строк в NTSC и 576 из 625 строк в PAL/SECAM отображаются. Время обратного хода кадровой развертки во многих случаях используется для передачи телетекста (новости, погода, спорт, биржевые цены и пр.). Восприятие телевизионной картинки зависит от времени реакции памяти глазных видеодатчиков. У пожилых людей это время обычно меньше, и по этой причине они воспринимают картинку, передаваемую с частотой кадров 25/с, как мигающую. Чтобы улучшить восприятие без увеличения частоты кадров (это потребовало бы большей полосы передачи), применяется алгоритм, при котором сначала воспроизводятся нечетные строки, а затем четные. Каждый из этих полукадров называется полем, а сам алгоритм — чересстрочной разверткой. Первым стандартом цветного телевидения был NTSC (National Television Standards Committee, США). В Европе цветное телевидение появилось позже, что позволило использовать новые более прогрессивные технологии. Так появилась система SECAM (Sequential Couleur Avec Memorire; Франция и Восточная Европа) и PAL (Phase Alternating Line; остальная Европа). Во всех указанных системах нужно было решать проблему совместимости с черно-белым телевидением, для чего приходилось осуществлять линейное сложение RGB -сигналов для получения сигнала яркости (Y). Сигнал яркости передается на частотах, используемых для черно-белого телевидения, а сигналы цветности — на прилегающих более высокочастотных диапазонах.

    Последние годы ознаменовались интенсивными разработками систем телевидения высокого разрешения — HDTV (high Definition TeleVision). Эти системы характеризуются удвоением разрешения. И вновь разработки США, Европы и Японии совершенно не совместимы. Различие этих систем в отношении ширины картинки к высоте 16:9 вместо 4:3, что ближе к форме кадра 35-мм пленки, на которую до сих пор снималось кино. Весь мир готовится к переходу на цифровое телевидение. В простейшем варианте цифровое видео — это последовательность кадров, каждый из которых характеризуется прямоугольной матрицей пикселей. Пиксель можно задавать одним битом, тогда мы получим качество, которое получается при передаче цветной фотографии обычным факсом. При описании пикселя 8 битами можно иметь до 256 уровней яркости, что вполне пригодно для черно-белого видео. Для цветного отображения картины используются электронно-лучевые трубки, где по соседству располагаются три окошка маски, по одному для каждого из цветов. В этом вы можете убедиться, вооружившись лупой и рассмотрев через нее экран своего дисплея. Непрерывный аналоговый сигнал строчной развертки в цифровом варианте заменяется последовательностью кодов, длина которой определяется разрешением по горизонтали. В цифровом варианте возможна замена чересстрочной развертки отображением одного и того же кадра четыре раза. К сожалению, для широковещательного телевидения такое решение неприемлемо, так как современные телевизионные приемники не имеют памяти.

    Известно, что для корректной передачи цвета требуется 16 миллионов оттенков (8 бит на каждую из трех цветовых компонент). Самое интересное, что человеческий глаз не способен различить такое число оттенков! Таким образом, для описания картинки на экране, содержащей 575 линий по 720 пикселей, требуется 1,240 Мбайта. Для передачи такой информации по B-каналу ISDN, если не используется сжатие данных, потребуется около 2,5 минут. Эта цифра помогает понять актуальность проблемы сжатия графической информации. XGA-стандарт дисплея (1024x768, 24 бита на пиксель при 24 кадр./с) требует потока цифровых данных 472 Мбит/с.

    Именно поэтому при передаче чисто текстовой информации электронная почта имеет абсолютное преимущество перед факсом, ведь в случае факса передается отсканированное черно-белое изображение. В перспективе можно ожидать внедрения обязательного сжатия информации при передаче почтовых сообщений с последующей дешифровкой данных принимающей стороной. Первым шагом на этом пути стало внедрение системы MIME. Такое усовершенствование электронной почты сделает ее еще более грозным конкурентом факс-машин. Ведь передача графических образов уже не является монополией факсимильных систем, а возможность шифрования почтовых сообщений (например, в PGP) и электронные подписи делают электронную почту более устойчивой к перехвату.

    Современная транспортировка мультимедийных данных совершенно не мыслима без использования одного или даже нескольких методов сжатия информации.

    Стандарты для представления и передачи изображения разрабатывает Joint Photographic Expert Group ( JPEG ). Для сжатия графической информации в настоящее время используется дискретное косинусное двухмерное преобразование ( DCTDiscrete Cosine Transform), которое дает субъективно наилучший результат и описывается уравнением

    $$F(u,v)=(1/4)C(u)C(v)\sum_{x=0}^7\sum_{y=0}^7 p(x,y)[\cos\frac{(2x+1)u\pi}{16}][\cos\frac{(2y+1)v\pi}{16}]$$

    где , а p(x,y) представляет собой пиксельные данные блока реального рисунка. Начало координат в обоих случаях — в верхнем левом углу. Процесс кодирования сводится к разбиению изображения на блоки 8*8 пикселей и выполнению процедуры двухмерного DCT для каждого из этих блоков. Полученные коэффициенты преобразования дискретизируются, при этом несущественные DCT -коэффициенты отбрасываются. 64 числа, характеризующие уровень сигнала, превращаются в 64 коэффициента преобразования (амплитуды пространственных частот), которые хорошо поддаются процедуре сжатия. Дискретизатор округляет коэффициенты, эта процедура вносит некоторые ошибки, но обратное преобразование на принимающей стороне за счет усреднения частично устраняет вносимые искажения. На практике дискретизатор реализует несколько более сложный алгоритм.

    Интуитивно метод DCT базируется на выявлении того, насколько вышестоящий блок отличается от нижестоящего. Для реального представления (сжатия) коэффициентов преобразования здесь также используются коды Хаффмана.

    DCT обеспечивает сжатие на уровне 0,5-1,0 бит/пикселей при хорошем качестве изображения. Сжатие требует времени, а максимально приемлемым временем задержки при пересылке изображения является 5 секунд. Если использовать скорость обмена 64 Кбит/с, то степени сжатия 0,01 бита на пиксель будет соответствовать время передачи изображения 0,04 секунды, а сжатию 10 — время передачи 40 с. Порядок передачи оцифрованных значений не совпадает с классической схемой развертки и отображен на рис 5.2.

    (рис 5.2) Порядок передачи оцифрованных параметров изображения в рамках стандарта JPEG

    JPEG имеет четыре режима и много опций. Схема работы алгоритма JPEG с частичной потерей данных показана на рис 5.3. Коэффициент сжатия данных составляет 20:1 или даже больше.

    (рис 5.3) Преобразование данных в протоколе JPEG

    Отображение графического образа может выполняться последовательно (примерно так, как мы читаем текст: слева направо и сверху вниз) или с использованием прогрессивного кодирования (сначала передается вся картинка с низким разрешением, затем последовательно четкость изображения доводится до максимальной). Последний метод весьма удобен для систем WWW, где, просмотрев изображение низкого разрешения, можно отменить передачу данных, улучшающих четкость, и тем самым сэкономить время. Хорошо распознаваемое изображение получается при сжатии порядка 0,1 бита на пиксель.

    Все системы сжатия требуют наличия двух алгоритмов: один для сжатия данных отправителем, другой — для восстановления получателем. Эти алгоритмы принципиально асимметричны. Во-первых, для многих приложений мультимедийный документ, например фильм, может быть сжат один раз (при записи на сервер или DVD-диск), а декодироваться тысячи раз на стороне клиентов. По этой причине процедура сжатия может быть достаточно сложной, дорогой и долгой. Алгоритм же декодирования должен быть достаточно простым и дешевым. Впрочем, в случае видеоконференций медленное кодирование (сжатие) совершенно неприемлемо. По этой причине алгоритмы сжатия данных в реальном масштабе времени принципиально отличаются от алгоритмов кодирования данных при записи на видео или DVD.

    Еще одним источником асимметрии сжатия-декомпрессии для мультимедиа является отсутствие требования обратимости процедур. В результате работы программы декомпрессии получится совсем не тот файл, который поступил на вход программы сжатия медиа-данных. Это происходит потому, что процесс сжатия в этом случае сопряжен с потерей части данных. Схемы сжатия могут быть поделены на две категории: энтропийное кодирование и кодирование отправителем.

    Энтропийное кодирование подразумевает сжатие данных без потери. К этому типу относятся, например, алгоритмы Хаффмана и Зива-Лемпеля (статистическое сжатие). Рассмотрим простой случай такого кодирования. Пусть мы имеем кодовую последовательность

    314159260000000000000271828182811111111110707193800000002001

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

    31415926R0132718281828R11007071938R072001

    Здесь повторения одного и того же символа отображаются символом R, за которым следует код повторяющегося символа и число этих повторений. Понятно, что в такой схеме двойные или тройные повторения какого-либо сокращения строки не вызовут. Еще одним примером энтропийного кодирования является метод CLUT (Color Look Up Table). При RGB -представлении изображения каждый пиксель характеризуется тремя байтами, что соответствует 224 оттенков. На практике такое многообразие встречается не так уж часто. Например, в случае мультипликационного фильма число цветов может не превышать 256. Можно получить коэффициент сжатия почти в три раза путем построения таблицы объемом в 768 байт, куда будут занесены коды используемых 256 цветов. Каждый пиксель в этом варианте характеризуется индексом его RGB -кода в таблице. Данный алгоритм может служить примером, когда кодирование более трудоемко, чем декодирование.

    Кодирование на стороне отправителя обычно сопряжено с потерей определенной доли данных. Одним из довольно часто используемых способов кодирования является привлечение дифференциальных методик. Здесь предполагается, что значительных изменений уровня сигнала быть не может. Если это происходит, то данные теряются и неизбежны искажения. Другим примером кодирования этого рода является DCT, описанное выше. Еще одним кодированием отправителя можно считать векторное дискретное преобразование изображения. Такое преобразование подразумевает разбивку изображения на равные прямоугольные области. Формируется также кодовая книга, которая содержит набор прямоугольных блоков изображения, возможно, получаемых из некоторой картинки. Вместо пересылки прямоугольника изображения посылается значение индекса соответствующего элемента из кодовой книги. Если эта книга формируется динамически, то она также должна быть послана получателю. При этом подразумевается, что исходное изображение может быть разложено на элементы, содержащиеся в кодовой таблице. В принципе данный метод представляет собой двухмерную реализацию алгоритма CLUT. В реальной картинке могут встретиться фрагменты, не совпадающие с элементами из кодовой книги. В этом случае может быть выполнена подмена элементом, наиболее похожим на имеющийся фрагмент.

    Проблема сжатия и передачи движущегося изображения еще сложнее. Алгоритм кодирования такого изображения описан в рекомендациях CCITT H.261. Он предполагает, что скорость передачи при этом лежит в интервале 40 Кбит/с — 2 Мбит/с. Следует иметь в виду, что видеотелефония и видеоконференции требуют синхронной передачи звука и изображения (стандарт H.221, например, 46,4 Кбит/с для видео и 16 Кбит/с для звука). Нормальный формат телевидения имеет 625 и 525 строк развертки и частоту 25-30 кадров в секунду.

    Цветное телевидение использует сигналы ).

    (рис 5.4) Представление данных изображения в JPEG

    Такая схема требует 216 Мбит/с, что в 3375 раза превышает возможности стандартного 64Кбит/с B-канала ISDN. Приемлемыми решениями могут быть:

  • снижение числа строк до 288 (при формате 625 строк) для отображения яркости;
  • использование максимально возможного сжатия графических данных;
  • повышение пропускной способности канала. Для разрешения по горизонтали вполне достаточно 3 МГц. Рекомендация 601 требует 720 пикселей для яркости и 360 для каждой из составляющих цветов. В настоящее время используется стандарт CIF (Common Intermediate Format). Для некоторых приложений рекомендовано вдвое более низкое разрешение по каждой из осей (Quarter CIF ). PCM-кодирование CIF с 8 битами на пиксель требует 352 х 288 х (1 + 1/4 + 1/4) х 29,97 х 8 = 36,5 Мбит/с (в отсутствие сжатия).
  • Отдельную проблему представляет печать изображения. Здесь полутона реализуются с помощью вариации размера элементов изображения. При цветной печати, помимо RGB -представления, используется CMYK-система (Cyan, Magenta, Yellow и Black) и соответствующие картриджи. Черный цвет в RGB соответствует коду 0,0,0, а в CMYK — 75%, 68%, 67% и 90%.

    Проблема сжатия информации была, есть и всегда будет актуальной. При известных современных методах, чем больше эффективность сжатия, тем больше задержка (наилучший результат можно получить, используя сжатие всего фильма, а не кадра или тем более строки). В каждом конкретном случае выбирается то или иное компромиссное решение. При работе в реальном масштабе времени, где в процессе обмена участвует человек, задержки более секунды вызывают раздражение, и приходится ограничиваться сравнительно скромными коэффициентами сжатия или умеренным разрешением.

    При пересылке движущегося изображения производится сравнение текущего кадра с предшествующим. Если кадры идентичны, никакого информационного обмена не происходит. Если кадры отличаются лишь смещением какого-то объекта, выявляются границы этого объекта, направление и величина вектора его перемещения. Так как использование индивидуальных векторов перемещения для каждого пикселя слишком расточительно, применяется общий вектор для блока пикселей 16*16 по яркости и для соответствующего блока 8*8 по цвету. Точность задания вектора перемещения обычно лежит в пределах 1/2 пикселя (стандарт MPEG -2). Только эта информация и передается по каналу связи. Выявление движущихся объектов осуществляется путем вычитания изображения двух последовательных кадров. Если бы передавалась всегда только разница кадров, происходило бы накопление ошибок. Кроме того, как кодер, так и декодер содержат прямой и обратный DCT -преобразователь. Если комбинация прямого и обратного DCT -преобразования не приводит к получению исходного объекта, то такого рода эффекты могут заметно усилиться. Для исключения этого время от времени производится передача непосредственно видеосигнала (кадра). Практически преобразователь изображения представляет чудо современной технологии, которое даст работу еще не одному поколению математиков и инженеров.

    Нисколько не проще система передачи и мультиплексирования потока видеоданных, который содержит, помимо обычной информации, описания формы движущихся объектов, векторы перемещения, коэффициенты дискретизации и многое другое. Схема передачи графической информации имеет 4-уровневую, иерархическую структуру. Передача каждого кадра изображения начинается с 20-битного кода PSC (Picture Start Code, эта сигнатура позволяет выделить начало кадра изображения в общем потоке), далее следует 5-битовый код TR (Temporal Reference, временная метка, которая позволяет поместить соответствующую часть изображения в правильную точку экрана). Изображение пересылается частями, имеется 4 уровня: кадр, группа блоков GoB (Group of Blocks), макроблоки ( MB ) и просто блоки.

    Ядро всей структуры составляет процедура передачи кадра (внутренний слой, существуют еще слои GoB, MB и блока, см. рис 5.5, 5.6 и 5.7)

    (рис 5.5) Схема передачи кадра изображения

    Поле PTYPE содержит 6 бит, которые характеризуют формат изображения (используется ли формат CIF или QCIF ). Однобитное поле PEI указывает на то, следует ли далее 8-битное поле PSPARE (предназначено на будущее). Если PEI = 0, начинается цикл передачи GoB. Группа блоков составляет одну двенадцатую картинки CIF или одну треть QCIF. GoB описывает Y (яркость), 176 пикселей для каждой из 48 строк и соответствующие 88*24 элементов для CB и CR.

    GBSC — (Group of Blocks Start Code) представляет собой 16-разрядное слово, за которым следует 4 бита номера GoB (GN — GoB Number). GN указывает, какой части изображения соответствует данный GoB. Поле GQUANT имеет 5 бит и указывает на номер преобразователя (одного из 31 дискретизаторов), который используется данным GoB. Смысл GEI идентичен PEI. GEI и GSPARE позволяют сформировать структуру данных, идентичную той, что используется на уровне кадра.

    Формат пересылки MB сложнее. GoB делится на 33 макроблока (MB), каждый из которых соответствует 16 строкам по 16 пикселей Y (четыре блока 8*8) и CB и CR. Каждый макроблок начинается с его адреса MBA (Macroblock Address), имеющего переменную длину и определяющего положение макроблока в GoB.

    (рис 5.6) Блок-схема кодирования и передачи изображения

    Макроблоки не передаются, если данная часть изображения не изменилась. За MBA следует код переменной длины MTYPE, характеризующий формат макроблока (применен ли метод подвижного вектора MVD и т.д.) и последующую информацию. CBP (Coded Block Pattern) представляет собой кодовое слово переменной длины, которое несет в себе информацию о том, какой из шести блоков преобразования (8*8) содержит коэффициенты (слой блоков). CBP нужно не для всех типов макроблоков. Каждый блок завершается флагом EoB (End of Block).

    (рис 5.7) Размещение блоков в макроблоках

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

    Так как передача изображения широко использует коды переменной длины, она крайне уязвима для любых искажений. В случае ошибки будет испорчена вся информация вплоть до следующего стартового кода GoB. Из-за рекурсивности алгоритма формирования картинки искажения будут оставаться на экране довольно долго. Использование векторов перемещения может привести к дрейфу искажений по экрану и расширению их области. Для того чтобы уменьшить последствия искажений, в передаваемый информационный поток включаются коды коррекции ошибок BCH (511,493; Forward Error Correction Code), которые позволяют исправить любые две ошибки или кластер, содержащий до 6 ошибок в блоке из 511 бит (см. рис. 8). Алгоритм работает в широком диапазоне скоростей передачи информации. Для реализации коррекции ошибок в поток двоичных данных включается 8 пакетов, каждый из которых включает в себя 1 кадровый бит, 1 бит индикатор заполнения, 492 бита кодированных данных и 18 бит четности. Поле Fi (индикатор заполнения) может равняться нулю, тогда последующие 492 бита не являются графической информацией и могут игнорироваться. Алгоритм предназначен для работы в динамическом диапазоне частот 40:1.

    (рис 5.8) Схема передачи данных с коррекцией ошибок

    Во время переговоров или в ходе видеоконференции может возникнуть необходимость отобразить текст, выделить на экране какой-то объект, послать факс и т.д. Для решения таких задач можно использовать D-канал (ISDN), но это не оптимально, так как он имеет свои специфические функции. Поэтому более привлекательным представляется создание специального протокола, работающего в рамках B-канала (H.221). Для этих целей задействуется младший бит каждого из октетов, что позволяет создать сервисный канал с пропускной способностью 8 Кбит/с, использующий по 80 бит. Первые 8 бит служат для целей синхронизации ( FAS – Frame Alignment Signal) и выполняют следующие функции:

  • выделение начала кадра (исключение имитации начала кадра в информационном потоке);
  • выделение начала блока кадров (опционно до 16 кадров);
  • выполнение функций счетчика в многокадровых блоках (по модулю 16), может использоваться в многоточечных соединениях;
  • нумерация соединений;
  • CRC-контроль (опционно);
  • " ).
  • При работе с каналами на 384, 1536 и 1920 Кбит/с сервисный канал использует тайм-слот 1. Следующие 8 бит имеют название BAS (Bit Allocation Signal) и выполняют следующие функции:

  • код, характеризующий возможности канала (узко/широкополосная передача звука, различные видео параметры, тип шифрования и т.д.);
  • коды команд, определяющие значения передаваемых кадров;
  • esc-последовательности.
  • Очевидно, что BAS-коды (H.242, см. http://book.itep.ru/2/29/std_291.htm) должны быть надежно защищены от ошибок. Для этой цели они пересылаются с использованием кодов, допускающих коррекцию ошибок. При работе оба приемника непрерывно ищут разделительный код кадров. Когда он обнаружен, бит А для выходного канала делается равным нулю. Только после получения А = 0 терминал может быть уверен в том, что удаленный терминал правильно воспринял код BAS. Работа с кодами BAS описана в документе H.242. При установлении режима обмена терминалы обмениваются командами BAS. Команда действительна для последующих двух кадров, следовательно, при частоте кадров 100 Гц, изменения режима могут производиться каждые 20 мс.

    Многоточечный вызов может рассматриваться как несколько связей между терминалами и бриджем MCU (Multipoint Control Unit) по схеме "точка-точка". Простой MTU передает на каждый из терминалов смешанный аудиосигнал от остальных терминалов. Каждый терминал осуществляет широковещательную передачу для остальных терминалов, участвующих в обмене. При видеообмене на терминал выводится только одна картинка. Дополнительную информацию по данной тематике можно найти в рекомендациях H.231, H242 и H.243.

    Для передачи нормального телевизионного изображения необходимо 364 Кбит/с (4х64 Кбит/c). Интеграция телевидения с сетями передачи данных, появление видеотелефона и широкое внедрение видеоконференций становится велением времени. Требования к каждому из этих видов услуг значительно варьируются в зависимости от приложения. Например, ставшие обычными телевизионные мосты требуют высокого качества передачи изображения и звука. А в некоторых дорогостоящих отраслях науки, где международное сотрудничество стало неизбежным, важным является передача статических изображений (чертежи, схемы, описания алгоритмов, и т.д.) с высоким (иногда более высоким, чем в телевидении) разрешением. Здесь важно передать звук с приемлемым качеством (но заметно хуже, чем на ТВ) и обеспечить синхронное перемещение маркера мыши по экрану в ходе обсуждения переданного документа. Экономия только на авиабилетах (не говоря о командировочных и времени экспертов) способна перекрыть издержки по оплате канала для видеоконференции. В этом режиме приемлемым может считаться один кадр в 1-4 секунды.

    Рисунок известного французского художника Клода Серрэ из книги "Черный юмор и люди в белом" (см. начало раздела http://book.itep.ru/2/25/pic_25.htm) может служить иллюстрацией того, к чему может привести использование протокола TCP при передаче изображения в реальном масштабе времени. Предположим, что в процессе передачи изображения носа пакеты были повреждены, тогда спустя некоторое время, определяемое размером окна (TCP), будет проведена повторная их передача. Тем временем переданные ранее пакеты будут использованы для построения изображения, а часть картинки, содержавшаяся в пакетах, посланных вместо поврежденных, будет отображена совсем не там, где это следует. Реально из-за повреждения пакетов возможны и более тяжелые искажения изображения. Именно это является причиной использования UDP для передачи видео- и аудиоинформации при видео- и аудиоконференциях (еще лучшего результата можно достичь, используя протокол RTP). Протокол UDP не требует подтверждения и повторной передачи при ошибке доставки. Поврежденные пакеты вызовут искажения изображения (или звука) лишь локально.

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

    5.1. Стандарты MPEG-1 и -2

    Стандарт MPEG 1 (ISO 11172; см. http://www.chiariglione.org/mpeg/standards/mpeg-1/mpeg-1.htm) определяет методы сжатия данных, позволяющие довести скорости передачи видео- и аудиоинформации до 1,5 Мбит/с, что соответствует скоростям обмена обычных CD-ROM.

    Стандарт MPEG -2 содержит в себе 9 частей. Первые три стали международными стандартами MPEG -2 (см. http://www.chiariglione.org/mpeg/standards/mpeg-2/mpeg-2.htm; ISO/IEC JTC1/SC29/WG11).

    Часть 1 MPEG -2 относится к объединению одного или более элементарных аудио- или видеопотоков, а также прочих данных в один или несколько потоков, удобных для записи или передачи.

    Программный поток подобен создаваемому системами мультиплексирования MPEG -1. Он формируется в результате объединения одного или более элементарных потоков пакетов PES (Packetized Elementary Streams), которые имеют общую временную шкалу. Программный поток формируется для использования в относительно надежной среде и удобен для приложений, которые могут включать в себя программную обработку данных. Пакеты программного потока могут иметь переменную и относительно большую длину. Модель систем MPEG -2 показана на рис 5.9.

    (рис 5.9) Модель систем MPEG-2Б

    Транспортный поток объединяет один или более потоков PES с общей или разными временными шкалами. Элементарные потоки с общей временной шкалой образуют программу. Транспортный поток формируется для использования в относительно ненадежной среде, где вероятны ошибки, — например память или транспортная среда с высоким уровнем наводок или шума. Пакеты транспортного потока имеют длину 188 байт

    Часть 2 MPEG -2 предоставляет мощные возможности сжатия видеоданных стандарта MPEG -1 и обладает широким диапазоном средств кодирования. Эти средства группируются в профайлы, обеспечивая разнообразную функциональность. В таблице 5.1 крестом отмечены возможности, которые реализуются стандартом.

    Видеопрофайлы MPEG -2
    Уровень Простой Основной SNR масштаб. Пространственно масштабируемый Высокий Multiview 4:2:2
    Высокий X X
    Высокий-1440 X X X
    Основной X X X X X X
    Низкий X X

    С момента окончательного одобрения MPEG -2 Видео в ноябре 1994 года, был разработан еще один профайл. Он использует существующие средства кодирования MPEG -2 Видео, но способен работать с изображениями, имеющими разрешение 4:2:2 и более высокую скорость передачи. Несмотря на то, что MPEG -2 Видео не разрабатывался для студийных целей, серия выполненных тестов показала, что MPEG -2 достаточно хорош, а во многих случаях даже лучше, чем предлагается спецификациями, разработанными для более высоких скоростей передачи или студийных приложений.

    Профайл 4:2:2 был окончательно одобрен в январе 1996 года и сейчас стал неотъемлемой частью стандарта MPEG -2 Видео.

    Профайл Multiview (MVP) является еще одной из последних разработок. Он позволяет, используя существующие средства кодирования MPEG -2, эффективно закодировать последовательность кадров, которые получены от двух камер, снимающих одну и ту же сцену (например, для получения стереообраза).

    показана структура блока данных MPEG -2 Аудио, демонстрирующая это свойство.

    (рис 5.10) Структура блока аудиоданных в MPEG-2

    Части 4 и 5 MPEG -2 соответствуют частям 4 и 5 MPEG -1.

    ).

    (рис 5.11) Эталонная модель DSM-CC

    Часть 7 MPEG -2 является спецификацией алгоритма кодирования многоканального аудио, полностью совместимого с MPEG -1.

    Часть 8 MPEG -2 первоначально планировалась для кодирования видео, когда входные кодировщики выдают по 10 бит на одно стробирование. Работа была приостановлена, когда выяснилось, что промышленность проявляет ограниченный интерес к этой проблеме.

    Часть 9 MPEG -2 является спецификацией интерфейса реального времени RTI (Real-Time Interface) для декодеров транспортного потока, которые могут использоваться с любыми сетями.

    Часть 10 является секцией стандарта, предназначенной для тестирования DSM-CC.

    Работа над форматом MPEG -2 была завершена в 1997 году. Стандарт MPEG -2 является усовершенствованием MPEG -1 и базируется на схеме шифрования с потерями и передачи без потерь. Кодирование в MPEG -2 идентично используемому в MPEG -1 (I- P- и B-кадры; D-кадры не используются). I-кадр (Intracoded) представляет собой изображение, закодированное согласно стандарту JPEG при полном разрешении по яркости и половинном разрешении по цвету. Такие кадры должны появляться периодически, чтобы исключить накопления ошибок (включаются в выходной поток 1-2 раза в секунду). Эти кадры обеспечивают совместимость с MPEG -1. P-кадры (Predictive) содержат отличие блоков в последнем кадре изображения по отношению к предыдущему кадру. P-кадры базируются на идее макроблоков, которые содержат 16*16 пикселей яркости и 8*8 пикселей цветности. Для декодирования P-кадра необходимо иметь исчерпывающие данные о предыдущем кадре. B-кадры (Bidirectional) характеризуют отличие двух последовательных изображений. B-кадры сходны с P-кадрами, но позволяют устанавливать связь макроблоков не только с предшествующим, но и с последующим кадром. Здесь применено двойное косинусное преобразование с числом коэффициентов 10*10 (против 8*8 в MPEG -1). D-кадры (DC-Coded) используются для получения изображения низкого разрешения при быстрой перемотке вперед или назад. MPEG -2 предназначен для широковещательного телевидения (включая прямое спутниковое — DBS ) и для записи на CD-ROM и поддерживает четыре разных стандарта разрешения: 352*240 (низкое), 720*480 (базовое), 1440*1152 (высокое-1440) и 1920*1080 (высокое). Последние два стандарта относятся к телевидению высокого разрешения ( HDTV ). Низкое разрешение служит для обеспечения совместимости с MPEG -1. Стандарт MPEG -1 может работать в режиме, когда для сжатия данных используется алгоритм JPEG. Эта схема удобна в случае произвольного доступа к любому из кадров, например для их редактирования. С точки зрения эффективности сжатия это совсем не лучшее решение, так как не используется тот факт, что последовательные кадры отличаются друг от друга незначительно. Даже простой метод дифференциального сжатия (передача отличия нового кадра от предыдущего) окажется эффективнее. Здесь предполагается, что фон кадра и положение видеокамеры являются стационарными. Базовое разрешение ориентировано на работу со стандартом NTSC.

    Из этих данных можно получить оценку сверху для пропускной способности визуального канала человека. Из-за инерциальности человек не различает более 25 кадров в секунду. Один кадр содержит 1920*1080*24 = 49766400 бит (здесь предполагается, что человек может различать 224 оттенков цветов (в реальности возможности много ниже). Угол нашего зрения много шире телесного угла, перекрываемого телевизионным экраном, но относительно высокое разрешение мы имеем лишь вблизи той точки, на которую мы сфокусировались. Таким образом, мы можем воспринимать порядка 1244 Мбит/с. Практически эта оценка на несколько порядков выше реального значения. Понятно, что мозг может обработать на много порядков меньший объем информации. Оценку возможностей нашей обработки можно получить из скорости быстрого чтения, когда человек воспринимает содержимое страницы за время порядка 15 секунд. Страница содержит примерно 3 Кбайта, что дает скорость приблизительно 200 байт в секунду. Эту цифру можно считать оценкой снизу (ведь буква — это графический образ, а не байт).

    Помимо этого MPEG -2 поддерживает 5 профайлов для различных прикладных областей. Основной профайл ориентирован на общие приложения с базовым разрешением. Простой профайл сходен с основным профайлом, но не работает с B-кадрами, чтобы облегчить процедуры кодирования/декодирования. Остальные профайлы служат для обеспечения масштабируемости и работы с HDTV, они отличаются цветовым разрешением и форматами информационных потоков. Скорость передачи данных для каждой комбинации разрешения и профайла различна и лежит в диапазоне от 3 до 100 Мбит/c. Для обычного ТВ характерна скорость 3-4 Мбит/c. В таблице 5.2 представлены размеры кадров в битах для MPEG -1 и MPEG -2.

    Видеопрофайлы MPEG -2
    Тип кадра
    I P B Средний
    MPEG -1 (1,15 Мбит/с) 150,000 50,000 20,000 38,000
    MPEG -2 (4 Мбит/c) 400,000 200,000 80,000 130,000

    Мультиплексирование аудио- и видеоданных в MPEG -2 показано на рис 5.12. На выходе пакетизатора мы имеем элементарные потоки пакетов ( PES — Packetized Elementary Stream), содержащих около 30 полей, включая длину, идентификаторы потоков, временные метки, контрольные суммы и т.д. В MPEG -2 формируется два комплексных потока, программный поток (PS) длинных пакетов переменной длины, сходный с MPEG -1, содержащий видео- и аудиоданные и имеющий общую временную шкалу, и транспортный поток (TS) пакетов постоянной длины (188 байт) без общей временной шкалы. В последнем случае минимизируется влияние потерь пакетов в процессе транспортировки. Предусмотрено выделение в потоке составляющих разной степени важности (например, DCT -коэффициентов и обычных графических данных).

    (рис 5.12) Мультиплексирование аудио- и видеоданных в MPEG-1 и MPEG-2 (внизу)

    Преобразование аналогового сигнала в цифровую последовательность осуществляется в MPEG -2 с помощью кодеков, создавая первичный поток в 140 Мбит/с, который затем преобразуется для передачи через стандартные каналы 1,5 и 15 Мбит/с (например, для прямого широковещательного спутникового телевидения). В настоящее время в Европе принят стандарт D1 (PAL) (576x720) – 1,1 Мбит/c. В соответствии со стандартом сжатия данных H.320 можно обеспечить передачу видео + аудио по каналу 56 Кбит/с с низким разрешением и частотой 1 кадр./с.

    5.2. Интерактивное телевидение

    В последнее время благодаря широкому внедрению цифрового телевидения и новых стандартов передачи изображения ( MPEG -2) открылись возможности для "телевидения по требованию" (интерактивного телевидения — TV on demand) — системы, где клиент может самостоятельно и индивидуально формировать ТВ-программу. Первые опыты такого рода в США относятся к 1995 году. Эти системы базируются на существующих сетях кабельного телевидения. Но развитие оптоволоконных технологий позволяют ожидать полной интеграции кабельного цифрового телевидения и информационных сетей Интернет. Общая схема такой системы показана на рис 5.13.

    (рис 5.13) Схема реализации интерактивного телевидения

    Базовый мультимедийный сервер может обслуживать отдельный район города. В пределах квартала размещается промежуточный центр, где расположен локальный буферный сервер, который записывает фрагменты программ, заказанные локальными клиентами. Только новостийные и некоторые спортивные программы передаются в реальном масштабе времени, все фильмы берутся из локальной фильмотеки или предварительно записываются в накопитель из центрального мультимедиа-архива. Транспортной средой здесь может стать ATM, SDH, Fibre Channel или IEEE-802.17. Оптическое волокно доходит до квартального сервера или даже до дома клиента. В этом случае по имеющимся каналам может передаваться не только программа телевидения и осуществляться телефонные переговоры, но и выполняться полное информационное обслуживание. Сюда может включаться, помимо заказа ТВ-программ, подписка на газеты, заказ билетов на транспорт или в театр, получение прогноза погоды и данных о состоянии дорог, доступ к базам данных, включая библиотеки и фонотеки, оповещение о пожаре или вторжении и многое другое.

    Особый интерес представляет возможность практически полного вытеснения традиционных газет. Клиент сможет получать только интересующие его статьи из любых газет (и только их и оплачивать). Если какая-то статья представляет интерес и он захочет почитать ее позднее в машине или на даче, ее можно распечатать на принтере, подключенном к его телевизору-терминалу.

    Цены на цветные принтеры в настоящее время опустились до 100 долларов и ниже, таким образом, нужная копия уже сейчас дешевле стоимости газеты. Экономия на бумаге и средствах доставки очевидны, да и необходимость в типографиях отпадет, ведь даже книги можно будет получить непосредственно дома, хотя привлекательность данной услуги и не вполне однозначна — хорошо сброшюрованная и переплетенная книга будет привлекательным объектом еще долго. Массовое внедрение таких технологий будет стимулировать падение цен на соответствующие процессоры и принтеры. Интерактивная схема подключения телевизора-терминала сделает возможным многие новые виды развлечений, а также совершение многих покупок, не выходя из дома. Традиционной почте подписала отсроченный приговор почта электронная, но появление интерактивных широкополосных средств завершит многовековую историю почты (да и телеграфа). Ей будет оставлена доставка товаров, билетов и документов. Побочным продуктом прогресса в данной области станет общедоступный видеотелефон. Схема видеосервера представлена на рис 5.14.

    Видеосервер может содержать несколько процессоров (ЦПУ) со встроенной локальной памятью. Такой сервер должен иметь несколько систем архивов и достаточно мощный сетевой канал. Один кинофильм требует для записи около 4 Гбайт. Используемые запоминающие устройства образуют иерархическую структуру: ЗУПВ (запоминающее устройство с произвольным доступом), дисковая память ( RAID — Redundant Array of Inexpensive Discs), CD и картриджи магнитных лент. ЗУПВ имеют минимальное время доступа, относительно малую емкость и достаточно высокую цену, а магнитные ленты, наоборот, относительно дешевы, характеризуются большим временем доступа, но достаточно большой емкостью. Сетевой интерфейс связывает сервер с центральной инфраструктурой телевизионной сети. Но нужно учитывать, что одна из главных составляющих видеосервера на рисунке не показана — это управляющее программное обеспечение, которое должно решать проблему буферизации и шифрования огромного объема данных для достаточно большого числа клиентов.

    (рис 5.14) Блок-схема видеосервера для интерактивного телевидения

    Главными средствами доставки данных в системе интерактивного телевидения являются: ADSL (Asymmetric Digital Subscriber Line), . К интерфейсу помимо телевизора может быть подключена и ЭВМ. Схема эта принципиально асимметрична, исходящий поток клиента не может превышать 16 Кбит/c. При этом сохраняется традиционный аналоговый телефонный канал (4 КГц). Полосы скоростного входного канала клиента вполне достаточно для передачи цифрового ТВ-сигнала в стандарте MPEG -1. Максимальное расстояние для такого соединения составляет 2 км.

    Система FTTC предполагает наличие оптического канала до квартала, где живет клиент. На конце волокна устанавливается блок ONU (Optical Network Unit), от которого к клиентам прокладывается до 16 скрученных пар. Малая длина медных соединений позволяет получить большую пропускную способность. Эта система благодаря симметрии канала допускает осуществление видеоконференций для работающих на дому.

    (рис 5.15) Схема раздачи ТВ-данных с помощью ADSL

    Система FTTH обеспечивает оптический канал до дома клиента, по этой причине она имеет очень высокую стоимость, но зато способна обеспечить скорость передачи 51,84 или 155,52 Мбит/с.

    Если системы ADSL, FTTC и FTTH осуществляют связь по схеме "точка-точка", то HFC ориентирована на топологию систем кабельного телевидения. Предполагается замена современных коаксиальных ТВ-кабелей (300-450 МГц) на кабели с полосой 750 МГц (125 6-мегагерцных каналов). 50 новых каналов будут модулированы с использованием QAM-256, что даст 40 Мбайт/с на канал. Один кабель обслуживает до 500 домов. Из-за общего кабеля система HFC должна использовать шифрование, чтобы исключить несанкционированный доступ (что совершенно излишне для систем ADSL, FTTC и FTTH). Это совсем не дешево для американских фирм, ведь им нужно заменить все кабели и оконечное оборудование, заменить однонаправленные усилители и т.д. В РФ, где ничего этого нет и нужно начинать с нуля, можно легко создать любую совершенно новую систему. Указанные методы подразумевают, что конкретному клиенту предоставляется один или более MPEG -потоков. Для декодирования и отображения таких потоков необходим специальный сетевой интерфейс. Все это подталкивает к решению, объединяющему возможности сети и традиционного телевизионного приемника. Вариант такого решения представлен на рис 5.16.

    (рис 5.16) Структура интерфейсного оборудования клиента

    Интерфейс клиента в этом случае содержит в себе ЭВМ (ЦПУ, ЗУПВ и ROM), к рабочей шине которой подключен сетевой интерфейс, MPEG -декодер и устройство сопряжения с телевизором и пультом дистанционного управления. Главной задачей этого оборудования — согласование с местной системой распределения видеоданных, синхронизация видео- и аудиосигналов. К ТВ-интерфейсу может быть подключен телефон или персональная ЭВМ. ЗУПВ объемом 500 Кбайт позволяет буферизовать поток MPEG -2 в течение 1 секунды. Функцией встроенной ЭВМ является дешифровка потока цифровых данных, что позволяет отключить от сети клиентов, не оплативших аренду канала. Эта ЭВМ может использоваться для организации компьютерных игр, как индивидуальных, так и групповых, а также для обработки запросов клиента и центральной станции обслуживания. Одним из возможных протоколов транспортировки мультимедиа-данных является MBone (Mulicast Backbone). Выработка стандарта интерактивного телевидения еще не завершена. Применение Mbone предполагает использование маршрутизаторов, которые поддерживают этот протокол и соответствующие протоколы маршрутизации (DVMRP и PIM).

    В последнее время разрабатываются системы частного телевидения, где видео- и аудиопотоки формируются самими клиентами (сети peer-topeer).

    Жилье клиента будет оборудовано оптоволоконным кабелем, завершающимся интерфейсной коробкой с разъемами для подключения телефона, телевизора и ЭВМ. Даже современные ограниченные скорости передачи позволяют решить стоящие проблемы. Во-первых, люди не смотрят телевизор круглые сутки, это позволяет ночью или в рабочее время, когда клиент на службе, произвести передачу нужных фрагментов ТВ-программы на локальный сервер. Во-вторых, популярность фильмов и программ не однородна, что также снижает требование на широкополосность. Известно, что наиболее популярный фильм запрашивается примерно в К раз чаще, чем фильм, занимающий к -е место в списке популярности (эмпирический закон Ципфа (Zipf), выведенный из статистики контор по прокату видеокассет). Это означает, что из предлагаемого списка будут выбраны не все фильмы, а наиболее популярные фрагменты программ можно передавать по схеме MBONE, минимизируя загрузку каналов. Способствовать решению данной проблемы будет и появление CD с емкостью 4 Гбайта. Но проблем здесь остается немало — так, трудно себе представить, что все клиенты захотят смотреть один и тот же фильм в одно время. Решение подобной задачи потребует очень большого объема буферной памяти и ощутимо поднимет требования к широкополосности канала. "Синхронизовать" клиентов можно будет дифференциацией оплаты для разных временных интервалов и группированием клиентов, заказавших близкие времена начала демонстрации фильмов (можно решить проблему путем копирования фильмов на диск оконечного клиента). Но, несмотря на все эти ухищрения, локальные серверы должны будут иметь сложную иерархическую систему буферной памяти, базирующуюся на разных принципах работы (CD, магнитная лента, дисковая память и даже RAM).

    Практическая реализация фантастической схемы, предложенной в предыдущем абзаце, уже осуществляется в США и Канаде. Предстоит написать огромное число различных сервисных программ, но все базовые технологии уже существуют.

    MPEG-3 разрабатывался для систем телевидения высокой четкости с разрешением 1920x1080x30 при скорости потока данных 20-40 Мбит/с. Этот формат стал частью стандарта MPEG -2. Формат MP3 (не надо смешивать с MPEG-3 ) предназначен только для сжатия аудиоинформации. В формате МР3 предусмотрено три вида сжатия двухканальных аудиоданных join stereo, stereo, dual channel (последний обеспечивает наилучшее качество).

    Принципиально новым шагом в обработке мультимедиа стал стандарт MPEG -4, где впервые был введен объектный подход к анализу изображений и звука. Здесь же введено понятие сцены и базовые принципы ее описания, заложены основы интерактивного взаимодействия слушателя/зрителя со сценой, впервые рассматриваются в практической плоскости вопросы интеллектуальной собственности.

    Вернуться к учебному плану