Кодек сигнала моноадресной системы

 

1. Теоретическая часть


Для представления видеопотока в цифровом виде пришлось решить немало проблем. Большие сложности составила проблема совместимости с существующими аналоговыми форматами (PAL, SECAM, NTSC). Стандарт CC1RR-601 определил базовые характеристики для видеопотоков 720x576x25 кадров/сек (совместимость с PAL), 720x480x30 (совместимость с NTSC). Для хранения такого количества данных требуются огромные ресурсы, поэтому очевидно, что необходимо применять сжатие информации. Но сжимать видеоизображения без потерь невозможно из-за большой энтропии, поэтому приходится применять алгоритм сжатия с потерями качества.


1.1 Принципы построения цифрового телевидения


Цифровое телевидение - это отрасль ТВ техники в которой передача, обработка и хранение ТВ сигнала осуществляется с его преобразованием в цифровую форму. Применение методов и средств цифрового телевидения - это новая ступень развития ТВ техники. Преимущества цифрового телевидения по сравнению с аналоговым обусловлены как самими принципами ТВ, так и наличием разнообразных алгоритмов, схемных решений и мощной технологической базы для создания соответствующих устройств [5]. В своем развитии цифровое ТВ прошло ряд этапов:

1.Использование цифровой техники в отдельных частях ТВ системы, при сохранении разложения и аналогового канала

2.2. Создание гибридных аналого-цифровых систем с параметрами отличающимися от принятых в обычных стандартах ТВ. Примерами могут служить японская система телевидения высокой четкости MUSE и западно-европейские системы семейства MAC.

.Создание полностью цифровых ТВ систем.

Главными особенностями нового поколения ТВ систем являются[7]:

·Высокая степень сжатия цифрового ТВ сигнала, достигаемая путем последовательного применения нескольких методов эффективного кодирования изображений и позволяющая передать программы ТВЧ по стандартам наземных каналов ТВ вешания с шириной полосы частот 6 МГц.

·Единый подход к кодированию и передаче ТВ сигналов с различным разрешением: видеотелефон с уменьшенной четкостью, стандартный сигнал NTSC, ТВЧ с количеством строк 1050.

·Интеграция с другими видами информации при передаче по цифровым сетям связи.

Структурная схема тракта цифровой ТВ системы показана на рисунке 3.

В ТВ системе обязательно должен передаваться сигнал звука. Он также преобразуется в цифровую форму и кодируется в соответствующем кодере. Кодированные сигналы звука и изображения объединяются в общий поток данных в мультиплексоре.

Далее цифровой сигнал поступает на блок канального кодирования и модуляции. Здесь осуществляется помехоустойчивое кодирование сигнала и модуляция несущей.

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

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














Рисунок 3 - Структурная схема цифровой ТВ системы


1.2 Стандарт шифрования данных Data Encryption Standard


В 1977 году Национальное бюро Стандартов США (NBS) опубликовало стандарт шифрования данных Data Encryption Standard (DES), предназначенный для использования в государственных и правительственных учреждениях США для защиты от несанкционированного доступа важной, но несекретной информации. К настоящему времени DES является наиболее распространенным алгоритмом, используемым в системах защиты коммерческой информации. Более того реализация алгоритма DES в таких системах является просто признаком хорошего тона! За примерами далеко ходить не надо. Программа DISKREET из пакета Norton Utilities, предназначенная для создания зашифрованных разделов на диске, использует именно алгоритм DES. «Собственный алгоритм шифрования» отличается от DES только числом итераций при шифровании. Основные достоинства алгоритма DES:

·используется только один ключ длиной 56 битов;

·зашифровав сообщение с помощью одного пакета, для расшифровки вы можете использовать любой другой;

·относительная простота алгоритма обеспечивает высокую скорость обработки информации;

·достаточно высокая стойкость алгоритма.осуществляет шифрование 64-битовых блоков данных с помощью 56-битового ключа. Расшифрование в DES является операцией обратной шифрованию и выполняется путем повторения операций шифрования в обратной последовательности (несмотря на кажущуюся очевидность, так делается далеко не всегда. Позже мы рассмотрим шифры, в которых шифрование и расшифрование осуществляются по разным алгоритмам). Процесс шифрования заключается в начальной перестановке битов 64-битового блока, шестнадцати циклах шифрования и, наконец, обратной перестановки битов (рисунок 4).

Пусть из файла считан очередной 8-байтовый блок T, который преобразуется с помощью матрицы начальной перестановки IP (таблица 1) следующим образом: бит 58 блока T становится битом 1, бит 50 - битом 2 и т.д., что даст в результате: T(0) = IP(T). Полученная последовательность битов T(0) разделяется на две последовательности по 32 бита каждая: L(0) - левые или старшие биты, R(0) - правые или младшие биты.


Рисунок 4 - Обобщенная схема шифрования в алгоритме DES


Рисунок 5 - Структура алгоритма шифрования DES


Таблица 1.1 - Матрица начальной перестановки IP

50 42 34 26 18 10 02

52 44 36 28 20 12 04

54 46 38 30 22 14 06

56 48 40 32 24 16 08

49 41 33 25 17 09 01

51 43 35 27 19 11 03

53 45 37 29 21 13 05

55 47 39 31 23 15 07


Затем выполняется шифрование, состоящее из 16 итераций. Результат i-й итерации описывается следующими формулами:
L(i) = R (i-1)

R(i) = L (i-1) xor f (R(i-1), K(i))


где xor - операция ИСКЛЮЧАЮЩЕЕ ИЛИ.

Функция f называется функцией шифрования. Ее аргументы - это 32-битовая последовательность R (i-1), полученная на (i-1) - ой итерации, и 48-битовый ключ K(i), который является результатом преобразования 64-битового ключа K. Подробно функция шифрования и алгоритм получения ключей К(i) описаны ниже. На 16-й итерации получают последовательности R(16) и L(16) (без перестановки), которые конкатенируют в 64-битовую последовательность R(16) L(16). Затем позиции битов этой последовательности переставляют в соответствии с матрицей IP-1 (таблица 1.2).


Таблица 1.2 - Матрица обратной перестановки IP-1

08 48 16 56 24 64 32

07 47 15 55 23 63 31

06 46 14 54 22 62 30

05 45 13 53 21 61 29

04 44 12 52 20 60 28

03 43 11 51 19 59 27

02 42 10 50 18 58 26

01 41 09 49 17 57 25


Матрицы IP-1 и IP соотносятся следующим образом: значение 1-го элемента матрицы IP-1 равно 40, а значение 40-го элемента матрицы IP равно 1,

значение 2-го элемента матрицы IP-1 равно 8, а значение 8-го элемента матрицы IP равно 2 и т.д. Процесс расшифрования данных является инверсным по отношению к процессу шифрования. Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровываемые данные сначала переставляются в соответствии с матрицей IP-1, а затем над последовательностью бит R(16) L(16) выполняются те же действия, что и в процессе шифрования, но в обратном порядке. Итеративный процесс расшифрования может быть описан следующими формулами:


R (i-1) = L(i), i = 1, 2,…, 16;

L (i-1) = R(i) xor f (L(i), K(i)), i = 1, 2,…, 16.


На 16-й итерации получают последовательности L(0) и R(0), которые конкатенируют в 64-битовую последовательность L(0) R(0). Затем позиции битов этой последовательности переставляют в соответствии с матрицей IP. Результат такой перестановки - исходная 64-битовая последовательность. Теперь рассмотрим функцию шифрования f (R(i-1), K(i)). Схематически она показана на рисунке 6.


Рисунок 6 - Вычисление функции f (R(i-1), K(i))


Для вычисления значения функции f используются следующие функции-матрицы:

·Е - расширение 32-битовой последовательности до 48-битовой,

·S1, S2,…, S8 - преобразование 6-битового блока в 4-битовый,

·Р - перестановка бит в 32-битовой последовательности.

Функция расширения Е определяется таблицей 1.3. В соответствии с этой таблицей первые 3 бита Е (R(i-1)) - это биты 32, 1 и 2, а последние - 31, 32 и 1.


Таблица 1.3 - Функция расширения E

01 02 03 04 05

05 06 07 08 09

09 10 11 12 13

13 14 15 16 17

17 18 19 20 21

21 22 23 24 25

25 26 27 28 29

29 30 31 32 01


Результат функции Е (R(i-1)) есть 48-битовая последовательность, которая складывается по модулю 2 (операция xor) с 48-битовым ключом К(i). Получается 48-битовая последовательность, которая разбивается на восемь 6-битовых блоков B(1) B(2) B(3) B(4) B(5) B(6) B(7) B(8). То есть: E (R(i-1)) xor K(i) = B(1) B(2)… B(8).

Функции S1, S2,…, S8 определяются таблице 1.4.


Таблица 1.4 - Функции преобразования S1, S2,…, S8


К таблице 1.4. требуются дополнительные пояснения. Пусть на вход функции-матрицы Sj поступает 6-битовый блок B(j) = b1b2b3b4b5b6, тогда двухбитовое число b1b6 указывает номер строки матрицы, а b2b3b4b5 - номер столбца. Результатом Sj (B(j)) будет 4-битовый элемент, расположенный на пересечении указанных строки и столбца. Например, В(1)=011011. Тогда S1 (В(1)) расположен на пересечении строки 1 и столбца 13. В столбце 13 строки 1 задано значение 5. Значит, S1 (011011)=0101. Применив операцию выбора к каждому из 6-битовых блоков B(1), B(2),…, B(8), получаем 32-битовую последовательность S1 (B(1)) S2 (B(2)) S3 (B(3))… S8 (B(8)). Наконец, для получения результата функции шифрования надо переставить биты этой последовательности. Для этого применяется функция перестановки P (таблица 1.5). Во входной последовательности биты перестанавливаются так, чтобы бит 16 стал битом 1, а бит 7 - битом 2 и т.д.


Таблица 1.5 - Функция перестановки P

16 07 20 21

12 28 17

15 23 26

18 31 10

08 24 14

27 03 09

13 30 06

11 04 25


Таким образом,


f (R(i-1), K(i)) = P (S1 (B(1)),… S8 (B(8)))


Чтобы завершить описание алгоритма шифрования данных, осталось привести алгоритм получения 48-битовых ключей К(i), i=1…16. На каждой итерации используется новое значение ключа K(i), которое вычисляется из начального ключа K. K представляет собой 64-битовый блок с восемью битами контроля по четности, расположенными в позициях 8,16,24,32,40,48,56,64. Для удаления контрольных битов и перестановки остальных используется функция G первоначальной подготовки ключа (таблица 1.6).


Таблица 1.6 - Матрица G первоначальной подготовки ключа

49 41 33 25 17 09

58 50 42 34 26 18

02 59 51 43 35 27

11 03 60 52 44 36

55 47 39 31 23 15

62 54 46 38 30 22

06 61 53 45 37 29

13 05 28 20 12 04


Результат преобразования G(K) разбивается на два 28-битовых блока C(0) и D(0), причем C(0) будет состоять из битов 57, 49,…, 44, 36 ключа K, а D(0) будет состоять из битов 63, 55,…, 12, 4 ключа K. После определения C(0) и D(0) рекурсивно определяются C(i) и D(i), i=1…16.

Для этого применяют циклический сдвиг влево на один или два бита в зависимости от номера итерации, как показано в таблице 1.7.


Таблица 1.7 - Таблица сдвигов для вычисления ключа

Номер итерацииСдвиг (бит)01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 161 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Полученное значение вновь «перемешивается» в соответствии с матрицей H (таблица 1.8).


Таблица 1.8 - Матрица H завершающей обработки ключа

14 17 11 24 01 05

28 15 06 21 10

19 12 04 26 08

07 27 20 13 02

52 31 37 47 55

40 51 45 33 48

49 39 56 34 53

42 50 36 29 32


Ключ K(i) будет состоять из битов 14, 17,…, 29, 32 последовательности C(i) D(i). Таким образом:

(i) = H (C(i) D(i))


Блок-схема алгоритма вычисления ключа приведена на рисунке 7. Восстановление исходного текста осуществляется по этому алгоритму, но вначале вы используете ключ K(15), затем - K(14) и так далее.

Рисунок 7 - Блок-схема алгоритма вычисления ключа K(i)


1.3 Анализ методов и международных рекомендаций по сжатию изображений


Главное направление развития различных систем связи, телевидения и информационно-измерительных систем различного назначения разработка и внедрение цифровых методов и устройств обработки преобразования и передачи сигналов. Однако использование таких методов приводит к необходимости многократного увеличения полосы занимаемых частот и соответственно уменьшения скорости передачи изображений. Эта проблема может быть решена путем разработки эффективных методов цифрового кодирования (сжатия) различных сигналов и прежде всего изображений [1-6].

Можно сказать, что интенсивное развитие методов и устройств сжатия различных видеоизображений стимулируется развитием цифровых сетей интегрального обслуживания ЦСИО (ISDN - Integrated Service Digital Network) и технологии «мультимедиа». Каждое из этих направлений обычно характеризуется своими особыми требованиями и в ряде случаев затруднительно использование разработанного кодека для других целей.

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

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

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

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

Сегодня уже известно и разрабатывается значительное число методов сжатия телевизионных и других видеосигналов с учетом указанных факторов. К первой (первичной) группе методов сжатия следует отнести [4]:

кодирование с предсказанием (например, видео-АДИКМ);

линейное кодирование с преобразованием (обычно с использованием ортогональных рядов Фурье, Карунена-Лоэва, Адамара, Хартли, Гильберта, косинусного и др.);

межкадровое кодирование, основанное на том, что большинство изображений незначительно изменяется от кадра к кадру;

прореживание отсчетов (и кадров) с последующим их восстановлением путем интерполяции и (или) экстраполяции;

кодирование с расчленением изображения на фрагменты;

гибридное (комбинированное) внутри- и межкадровое кодирование, представляющее собой различные сочетания пере численных методов с преобразованием и некоторые другие;

Ко второй группе методов статистического сжатия следует отнести:

использование статистических кодов, например кода Хаффмана и

его модификаций, кода Джелинека, арифметических кодов, Lempel-Ziv-Welch coding;

векторного квантования и др. В современных устройствах сжатия видеоизображений обычно также применяют различные комбинации из первой и второй групп.

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

Сегодня существует несколько стандартов (рекомендаций) международных и европейских организаций и групп экспертов по различным видам услуг в области сжатого кодирования видеосигналов. Основные требования, предъявляемые к кодекам изображений: возможно более высокое сжатие без существенной потери качества изображения, удовлетворение требований международных стандартов и рекомендаций, относительно низкая стоимость.


1.3.1 Кодирование неподвижных изображений по рекомендации JPEG

Алгоритм сжатия неподвижных кадров (видеоизображений) основывается в основном на стандарте JPEG (Joint Photographic Experts Group). [8].

В рекомендации JPEG рассмотрены два основных класса алгоритмов сжатия: на основе дискретного косинусного преобразования (ДКП) и дифференциальной импульсно-кодовой модуляции (ДИКМ). Считается что алгоритм с ДКП обеспечивает значительное большее сжатие, чем алгоритм с ДИКМ.

Кодирование изображения по алгоритму JPEG обычно начинается с преобразования цветного пространства в сигнал яркости Y и два цветоразностных сигнала Сb Сr. Такой подход позволяет повысить эффективность сжатия. При этом система сжатия компоненты яркости будет меньше, чем цветоразностных компонентов, так как люди в гораздо меньшей степени замечают изменения в цвете.

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

Следующий этап процедуры сжатия заключается в преобразовании небольших блоков изображения с помощью двумерного ДКП. Обработка ведется блоками 8x8 пикселов, т.е. сразу обрабатываются 64 пиксела. Выбор блока подобного размера объясняется несколькими причинами. Во-первых, такой блок с большой вероятностью содержит пикселы близкого цвета (яркости); во-вторых, он достаточно большой (чаще всего превышает интервал корреляции). ДКП во многом напоминает дискретное преобразование Фурье.

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

Использование ДКП объясняется тем, что для большого класса изображений оно хорошо аппроксимирует оптимальное дискретное представление Корунена-Лоэва, имеет алгоритм быстрого преобразования, просто в реализации и обеспечивает при этом существенное сжатие. Сканирование коэффициентов ДКП обычно производится по зигзагу, что облегчает статистическое кодирование, так как наиболее вероятно коэффициенты ДКП будут убывать с увеличением частоты.

Далее преобразованная матрица проходит операцию квантования, применяемую для сокращения разрядности коэффициентов. Фактически квантование означает деление матрицы 8x8 коэффициентов ДКП на матрицу квантования также с размерностью 8x8. При этом результат деления округляется до ближайшего целого. После квантования значения чисел в левом верхнем углу оказываются намного меньше чем ранее, а в правом углу получаются преимущественно нули. Именно здесь происходит основное сжатие и основная необратимая потеря информации. Причем цветоразностные компоненты могут квантоваться более грубо. После этого матрица, представляющая результат квантования, вытягивается в строку данных так, что все последовательности нулей правого нижнего угла оказываются в конце строки.

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

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

Увеличение размера матрицы квантования приводит к повышению коэффициента сжатия. Для различных компонентов Y, С6, Сг могут использоваться свои матрицы квантования.

Известно несколько расширений алгоритма. В частности, может применяться сглаживание, которое при восстановлении изображения сглаживает разрывы между границами блоков.

Следует отметить, что сегодня существует несколько различных пакетов программ по алгоритму JPEG. В одних программах, требуется дополнительное дисковое пространство в дополнение к основной памяти. Часть из них предусматривает несколько фиксированных режимов сжатия, другие дают возможность выбирать их. Важным фактором служит скорость сжатия, которая может изменяться от нескольких десятков секунд до нескольких минут. Некоторые алгоритмы создают самовосстанавливающиеся изображения.

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

Следует также отметить, что для оценки качества восстанавливаемых JPEG-файлов важно иметь специальный монитор. Стандартные VGA и Super VGA-дисплеи (не говоря уже о CGA) не способны воспроизводить, например 24-битовый файл изображения.

Для цветного изображения при использовании полного алгоритма в зависимости от качества изображения требуются примерно следующие затраты бит на растровый элемент (пиксел) [8]: 0,25…0,5 бит/рэл - хорошее качество; 0,5…0,75 бит/рэл - очень хорошее качество; 0,75…1,5 бит/рэл - отличное качество для большинства применений.

Размеры сжатого файла составляют от 1,2 Мбайт до 30 кбайт, время сжатия на компьютерах IBM PC - от нескольких десятков секунд до нескольких минут. На рабочих станциях типа DEC Alpha, Cparc 10 эти времена будут значительно меньше.


1.3.2 Сжатое кодирование подвижных изображений

В области сжатого кодирования подвижных изображений действуют два основных стандарта: стандарт МККТТ Н.261 - в основном для задач видеоконференцсвязи и видеотелефонии с использованием ЦСИО; стандарт MPEG (Moving Picture Experts Group) - с более широкими и универсальными возможностями [6, 8]. Разработаны и другие алгоритмы, например PLV и RTV.

Рекомендация Н.261 МККТТ прежде всего предписывает представление входного кадра по форматам CIF и QCIF, межкадровое предсказание с использованием ДИКМ, ДКП блоками 8x8 ошибки предсказания, компенсацию движения по блокам 16x16, энтропийное кодирование коэффициентов ДКП методом Хаффмана и помехоустойчивое кодирование с помощью кодов Боуза-Чоудхури-Хоквингема.

В таблице 1.9 приведены основные характеристики видеоформатов CIF (Common Intermetdiate Format) и QCIF (Qurter CIF) для алгоритма H.261 (частота для обоих форматов составляет 29,97 Гц).

Рекомендация Н.261 согласуется с требованиями организации видеоконференцсвязи и видеотелефонии, для которых суммарная пропускная способность информационного канала составляет Рх64 кбит/с, где Р=1,2… 30. Качество изображения зависит от значения Р. Рекомендуются три наиболее «экономных» варианта:

) один В-канал (64 кбит/с), в котором 16 кбит/с отводится для передачи речи и остальные 48 кбит/с - для передачи изображения;

) два В-канала по 64 кбит/с (один для речи, другой - для изображения).


Таблица 1.9 - Основные характеристики видеоформатов CIF (Common Intermetdiate Format) и QCIF (Qurter CIF) для алгоритма Н.261

СигналыФормат CIFФормат QCIFлиний / кадрпиксел / линийлиний / кадрпиксел/ линийСигнал яркости Y288360 (352)144180 (176)Каждый сигнал цветности144180 (176)7290 (88)

Алгоритм сжатия по MPEG стандарту базируется на трех основных операциях [8]: компенсации движения на основе предсказания (АДИКМ) между кадрами: ДКП погрешности предсказания, полученной в результат первой операции сжатия статистическом кодировании.

В стандарте MPEG использованы некоторые рекомендации из стандарта Н.261. Для того, чтобы обеспечить в изображении на приемной стороне плавность движения объектов и сохранить при этом их четкость, передается информация о скорости и направлении движения. Такую информацию называют вектором движения.

При этом осуществляется кодирование сигнала с компенсацией движения и использованием трех кадров. Каждый кадр вначале делится на макроблоки, состоящие из блоков по 16 х 16 элементов изображения по яркости, и двух соответствующих блоков по 8 х 8 элементов для двух компонентов цветности. Блок 16 х 16 по яркости далее делится на четыре блока 8x8. Обработка сигнала осуществляется с применением двумерного ДКП, выполняемого на основе сравнения блоков 8x8 текущего кадра (64 коэффициента) и соответствующих блоков предыдущего кадра, и информации о движении объекта (предсказанные блоки).

Оценка движения осуществляется путем сравнения текущего блока 16 х 16 элементов по яркости с предыдущим блоком (тем же блоком в предыдущем кадре). Сравнивается несколько таких блоков в определенных местах кадра и выбирается пара блоков с минимальным общим абсолютным изменением по отношению к предыдущему кадру. Положение выбранного блока в кадре и называется вектором движения. Дополнительное повышение эффективности сжатия достигается кодированием коэффициентов ДКП статистическим кодом переменной длины Хаффмана или арифметическим кодом.

Основные характеристики алгоритма MPEG приведены в таблице 1.10. В последнее время МККТТ разработал рекомендации Н.221 и Н.242 [8] в которых рассматриваются системные аспекты организации аудиовидео и других видов связи по п х 64 кбит/с каналу (В-канал ISDN). Аппаратные средства сжатия видеоизображений. Наиболее широко используется два подхода к реализации кодеков изображений: первый - чисто программный (применяются либо специализированные автономные программы либо соответствующие методы в программах); второй представляет собой сочетание программных и аппаратных средств. Применение специальных устройств позволяет сократить время цикла «сжатие-восстановление» и повысить эффективность сжатия.

Сегодня уже разработаны и ведется дальнейшее совершенствование СБИС и высокоэффективных сигнальных процессоров для видеокодеков различного назначения. В частности, зарубежом производят специализированные микросхемы (CL-500 и CL-550) для реализации алгоритма JPEG и ведеопроцессор 1750, позволяющий решать все задачи, определяемые алгоритмами JPEG и MPEG в различных форматах [6].

Объявлено также, что фирма Intel совместно с фирмой PictureTel заканчивает разработку программируемого видеопроцессора с быстродействием, на порядок выше используемых. Его производительность оценивается в 1 Bops (миллиард операций в секунду). Процессор будет обеспечивать практически все широко применяемые сегодня алгоритмы сжатия видео: MPEG, JPEG, Н.261, а также PLV и RTV, производя все операции в реальном времени. Дальнейшее развитие алгоритмов сжатия. Один из недостатков алгоритма JPEG - то, что при больших коэффициентах сжатия на восстановленных изображениях становятся видимыми границы фрагментов. Для устранения этого явления предлагается использование быстрого дискретного синус-преобразования, увеличение размеров фрагментов разбиения до величин 15x15 и 31x31, а также синтез матрицы квантования на основе характеристик восприятия изображения глазом человека.

В качестве альтернативных алгоритму JPEG интенсивно разрабатываются алгоритмы фрактального сжатия [7, 35 36] алгоритмы на базе новых дискретных ортогональных преобразований (например, wavelet), а также новых адаптивных алгоритмов статистического кодирования.

Предварительный анализ литературных источников показывает, что в порядке уменьшения коэффициента сжатия при одинаковом качестве различные алгоритмы располагаются в следующим порядке: фрактальное, wavelet, JPEG. Однако по времени сжатия-восстановления эти алгоритмы располагаются в обратном порядке, т.е. наибольшее время требует фрактальное сжатие, а наименьшее - JPEG.

Интенсивно разрабатываются также алгоритмы сжатия на базе выделения контуров и текстур, а также различные алгоритмы, обеспечивающие быстрый просмотр изображений (quik-look).

Идет интенсивное изучение более эффективных методов сжатия и подвижных изображений, альтернативных рекомендациям Н.261 и MREG.


Таблица 1.10 - Основные характеристики алгоритма MPEG

ФОРМАТВидеопараметрыСкорость передачи, Мбит/сCIF320 х 240 х 30Гц1.2…3МККР рек. 601720 х 486 х 305…10EDTV960 х 486 х 307…5HDTV (ТВВЧ)1920 х 1080 x 3020…40

В частности, предлагается новый вид многомерных ортогональных преобразований, позволяющий, по сравнению с известными, более полно выявить статистические связи между последовательно передаваемыми кадрами изображений, содержащих подвижные объекты, разделить подвижные и неподвижные области кадра разместив их в различных пространствах многомерного базиса.

Относительно аппаратурных средств сжатия изображений следует указать на выпуск специальных плат JPEG и MPEG (например, video maker™ и OptiVideo™), работающих в реальном масштабе времени. В соответствии с программой МАРС-94 фирмой Matra Marconi Space разработана малогабаритная и экономичная плата, предназначенная для сжатия телевизионных изображений поверхности Марса и обладающая достаточно высоким коэффициентом сжатия (от 3 до 20) и относительно высоким быстродействием (до 0,1 с). Методической базой служит стандарт JPEG.

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

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


1.4 Основные этапы кодирования по стандарту MPEG


Во-первых, кадр изображения разбивается на макроблоки и блоки. В зависимости от выбранной модели сжатия количество блоков в макроблоке может отличаться. Каждому Y, Сb и Сr блоку сопоставляется матрица соответствующего размера.

Далее над матрицами производится прямое дискретное косинус-преобразование (пДКП, fDCT, forward Discrete Cosine Transform) каждого 8x8 блока (разложение в спектр). Одномерное ДКП по п дискретным значениям амплитуды сигнала формирует вектор длины n, состоящий из коэффициентов разложения. То есть рассматривая строку матрицы как вектор значений амплитуды некоего сигнала, можно применить одномерное ДКП. В результирующем векторе сначала будут находиться низкочастотные, а в конце - высокочастотные компоненты сигнала.



с0=128 с1..7=2^1/2

После обработки строк матриц, ДКП применяется для столбцов



c0=l/1024 c1..7=c0*2^l/2

В итоге получается матрица коэффициентов разложения, которая в левом верхнем углу содержит низкочастотные составляющие, а в правом нижнем - высокочастотные. Далее идет процесс квантования коэффициентов разложения, а по сути уменьшение динамического диапазона, путем деления на матрицы квантования.

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

После квантования часть коэффициентов из-за выравнивания сравняется, а большинство малых коэффициентов округлится до нуля, образовав подобласти с нулевым значением. Это обстоятельство позволяет произвести упаковку длинных цепочек одинаковых значений методом группового кодирования (RLE, Run Length Encoding). Для этого квадратная матрица преобразуется зиг-заг обходом в вектор, и цепочки повторяющихся коэффициентов упаковываются в пары (длина, значение).

В формате MJPEG и MPEG-1 используется обычный для JPEG зигзаг обход, но в MPEG-2 используется немного другой способ. Такой модифицированный обход повышает эффективность группового кодирования для чересстрочного видеопотока.

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


Матрица квантования для вступительного кадра



Зиг-заг обход Зиг-заг обход

MPEG-1 MPEG-2

Рисунок 8 - К вопросу об основных этапах кодирования по стандарту MPEG


1.5 Энтропийное кодирование видеосигнала по методу Хаффмана


Первый известный метод эффективного кодирования символов известен как кодирование Шеннона - Фано [7]. Он основан на знании вероятности каждого символа, присутствующего в сообщении. Зная эти вероятности, строят таблицу кодов, обладающую следующими свойствами:

- различные коды имеют различное количество бит;

- коды символов, обладающих меньшей вероятностью, имеют
больше бит, чем коды символов с большей вероятностью,
- хотя коды имеют различную битовую длину, они могут быть де
кодированы единственным образом.
Этими свойствами обладает алгоритм Хаффмана [7], основанный на элегантной и простой процедуре построения дерева вероятностей.

Средняя длина слов L, находится в диапазоне: Н(В) < L < Н(В)+1 бит/пиксел и L, >1 бит/пиксел, т.е. средняя длина слов не более чем на 1 бит/пиксел больше энтропии, но не менее 1 бит/пиксел (в предельном случае, когда энтропия равна нулю).

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


Р(b0) - Р(b5) = Р(b6) = Р(b7) = 0,06; Р (b,) = 0,23; Р(b2) = 0,30; Р(bЗ) = 0.15; Р(b4) = 0,08.


Дерево строится справа налево следующим образом (рисунок 9 - верхняя диаграмма):

в секции I уровни пикселов сортируются по вероятности от наибольшей к наименьшей сверху вниз; при равенстве Р(bi) = P(bj) выше ставится уровень bi < bj;

в секции II две самые нижние ветви объединяются в узел, их вероятности складываются, и узел образует новую ветвь; общее количество

количество ветвей уменьшается на одну и они вновь сортируются по вероятности от наибольшей к наименьшей; в секциях III и IV и т.д. производятся операции, аналогичные проводимым в секции II до тех пор, пока не останется одна ветвь с вероятностью, равной 1.

Все это дерево можно перестроить (рисунок 9 - нижняя диаграмма), убрав пересечения.

Кодирование осуществляется движением слева направо по дереву каждому кодируемому уровню bi.

При этом на каждом узле коду приписывается, например, двоичный «0» если осуществляется шаг вверх и «1», если осуществляется шаг вниз. Таким образом, для данного случая наиболее вероятные значения и b2 кодируются двухбитовым кодом, величины b3 и b4 - трехбитовым кодом, а наименее вероятные значения b0, b5, b6 и b7 - четырехбитовым кодом (на рисунке 9 - нижняя диаграмма, - указаны справа). Не трудно понять, что эти коды легко различимы: если второй бит кода является двоичным нулем, то код - двухбитовый; в противном случае количество бит в коде более двух; - если третий бит кода является двоичным нулем, то код трехбитовый; в противном случае количество бит в коде равно четырем. Приемник декодирует информацию, используя то же самое дерево, двигаясь вверх при получении «0» и вниз при получении «1». Средняя битовая скорость в данном случае L, =2,71 бит/пиксел при энтропии =2,68 бит/пиксел (т.е. L, практически совпадает с Н).

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

Рассмотренный выше пример показывает высокую эффективность хаффмановской процедуры при относительно равномерном распределении уровней пикселов.

Однако когда энтропия сообщения становится существенно меньше единицы эффективность хаффмановского кодирования резко снижается, поскольку действует упомянутое выше ограничение снизу > 1 бит/пиксел.


Рисунок 9 - Пример построения кодового дерева


Оценка эффективности сжатия видеоинформации статистическими кодами

Код Хаффмана

Для расчета задана матрица коэффициентов ДКП, для элемента изображения 8 х 8 пикселей. Закон распределения уровней коэффициентов матрицы косинусного - преобразования считается равновероятный. Оценка проводится для Z - группирования матрицы коэффициентов ДКП.

В данной матрице ячейки со значением «1» передаются, а «0» - фильтруются. В полученной одномерной последовательности коэффициентов в результате пороговой обработки оказывается большое количество нулевых элементов. Это позволяет применить следующий метод кодирования. Каждый отличный от нуля коэффициент передается в виде пары чисел. Первое число показывает сколько нулевых значений прошло подряд в последовательности перед данным не нулевым элементом. Второе, значение самого коэффициента.

В результате получается следующий алфавит символов подлежащих

передаче:


А1 (0,1); А2 (0,1); АЗ (0,1); А4 (0,1); А5 (0,1); А6 (0,1); А7 (0,1); А8 (0,1); А9 (0,1);

А10 (0,1); А11 (0,1); А12 (0,1); А13 (0,1); А14 (0,1); А15 (0,1); А16 (13,1); А17 (6,1);

А18 (27,1)


Необходимо передать 18 пар, т.е. 36 чисел. Получен выигрыш примерно в 2 раза. Данный алфавит символов для увеличения степени сжатия информации кодируют статистическими кодами, которые представляют собой сжатие без потерь.

Символы вероятность появления.

А1-А15 Р=15/18

А16 Р=1/18

А17 Р=1/18

А18 Р=1/18

На основании методики построения кода Хаффмана составляется таблица 3, в которой сведены символы подлежащие передаче их вероятности появления, кодовые значения для обычного кода и статистического.

Далее оценивается выигрыш применения кода Хаффмана. Энтропия обычного и хаффмановского кода находится по формуле


N=?ni*pi,


где ni - длина кодового слова при передаче i-oгo символа, pi - вероятность появления данного символа в сообщении.=2*0.83+6*0.055=2

Ncж=0.83+2*0.055+3*0.055+3*0.055

Ncж=1,27

Эффективность кода - Nl/Ncж=2/1,27

Эффективность кода -1,6

Кодирование статистическими кодами дает дополнительное преимущество при передаче сообщений.


Таблица 1.11 - К анализу кода Хаффмана

111111111111111111

Таблица 1.12 - К анализу кода Хаффмана.

СимволВероятность символаОбычное кодированиеКод ХаффманаА1-А150,83000А160,0550110А170,05510110А180,05511111

1.6 Анализ и компенсация движения в динамических изображениях


При цифровом сжатии и кодировании видеосигналов по стандарт MPEG-1 и MPEG-2 исключение внутрикадровой избыточности изображения осуществляется аналогично методу JPEG благодаря использованию дискретного косинусного преобразования (ДКП) и последующего квантования коэффициентов. Для исключения межкадровой избыточности применяется компенсация движения. Межкадровое кодирование с компенсацией движения позволяет, с одной стороны, при одинаковом качестве передаваемого изображения увеличить степень сжатия информации в 2 - 4 раза. С другой стороны, анализ и компенсация движения - один из наиболее вычислительно-затратных этапов цифрового кодирования, требующий дорогостоящих сигнальных процессоров с высоким быстродействием. Использование таких процессоров значительно повышает общую стоимость MPEG кодера.

Согласно стандарту MPEG все кадры последовательности делятся на три типа: I, Р и В. I - кадр передается без предсказания движения (обычно один раз в группе кадров и является опорным для кодирования и восстановления остальных кадров); Р - кадр кодируется с предсказанием движения в одну сторону и для его восстановления необходим I -, или другой опорный Р - кадр. Для кодирования Р - кадра все изображение разбивается на макроблоки размером 16x16 пикселов, и каждому макроблоку ставится в соответствие наиболее «похожий» участок изображение из опорного кадра, сдвинутый на вектор, называемый вектор движения (ВД). Кодером передаются только разности сигналов яркости и цветоразности между макроблоком и соответствующим участком изображения опорного кадра. В случае В-кадра межкадровая избыточность исключается с предсказанием Во в времени в обе стороны, для чего используется два ВД и два опорных кадра (I- или Р - типа). Такой способ позволяет увеличить сжатие примерно в 2 раза по сравнению с кодирование только с предсказанием во времени в одну сторону. В обоих способах для текущего и опорного кадров необходимо определить набор макроблоков, что является относительно сложной задачей, требующая большого количества вычислений. Несмотря на то что известно большое количество схем анализа движения, разработка и поиск различных эффективных алгоритмов анализа и компенсации движения представляет огромный интерес.

1.7 Кодирование звука в стандарте MPEG


Звуковая часть стандарта MPEG-2 определяет низкоскоростное кодирование многоканального звука. MPEG-2 поддерживает до 5 полных широкополосных каналов плюс дополнительный низкочастотный канал или до 7 многоязычных комментаторских каналов.

На рисунке 10 приведены структурные схемы кодера и декодера звука. Дискретизация звукового канала в АЦП осуществляется с частотой 32.0, 44.1 или 48.0 кГц. Цифровой сигнал поступает на блок разложения на частотные поддиапазоны, содержащий набор цифровых полосовых фильтров. Число частотных поддиапазонов равно 32. В каждом поддиапазоне отсчеты звукового сигнала группируются в блоки по 12 или по 36 отсчетов в зависимости от типа кодера. В блоке вычисления масштаба определяется максимальное значение сигнала в каждом блоке, и устанавливается следующий масштабный коэффициент.

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

Затем выполняется квантование с различным шагом квантования для разных частотных поддиапазонов и с учетом масштабирующего коэффициента. В мультиплексоре объединяются данные с выходов квантования, блока вычисления масштабирующего коэффициента блока определения распределения бит.

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

Из принципов кодирования и декодирования звука следует, что звуковой сигнал сжимается отдельным устройством, а затем помощью мультиплексирования разбивается на транспортные пакеты и становится частью транспортного потока.


Рисунок 10 - Кодирование звука по стандарту MPEG-2


2. Выбор и обоснование структурной схемы


Для кодирования ТВ сигнала Международной организацией стандартизации был принят стандарт MPEG-2. Его преимущества перед другими стандартами компрессии [17]:

  • Открытость стандарта, означающая возможность для производителей компонентов и деталей электронной и компьютерной техники выпускать интегральные микросхемы для MPEG в необходимых количествах;
  • гибкость, которая означает, что производителям оборудования предоставляется возможность создавать свои разработки при построении систем кодирования, оптимизирующие кодирование по стандарту MPEG;

поддержка Рекомендации 601 МККР, то есть поддержка стандартом MPEG-2 форматов квантования цифровых сигналов в рамках Рекомендации 601 МККР, а именно: 4:2:2 и 4:2:0, что способствует осуществлению непосредственной стыковки студийного ТВ;

·оборудования с устройствами кодирования сигналов;

·маскирование и устранение ошибок.

Кодек ТВ сигнала состоит из двух частей: кодера и декодера. Структурная схема кодера изображения по стандарту MPEG-2 приведена на рисунке 11. Кодер изображения имеет два режима работы, внутрикадровый, в котором кодируются I-кадры, и межкадровый в котором кодируются Р-кадры и находятся векторы смещения для Р-кадров и В-кадров. На структурной схеме наличие двух режимов отображается с помощью переключателя, направляющего на блоки внутрикадрового кодирования или непосредственно входной сигнал в режиме внутрикадрового кодирования (положение 1), или разностный сигнал с вычитателя представляющий собой ошибку сделанную с учетом оценки движения.

Рисунок 11 - Структурная схема кодера по стандарту MPEG-2


Важную роль в работе изображения играет буфер, представляющий собой ЗУ достаточного объема со схемами управления. Основная функция буфера - согласование неравномерного во времени потока данных на выходе кодера изображения со строго постоянной скоростью передачи двоичных символов в канале связи.

Неравномерность потока данных на выходе кодера изображения обусловлена в первую очередь наличием разных типов кадров. При передаче I-кадра поток информации будет большим, так как происходит передача изображения только с внутрикадровым кодированием. При передаче Р-кадров поток информации меньше, так как передается разность предсказанного и действительного кадра, а также векторы движения, имеющие относительно небольшой объем данных. Наконец при передаче В-кадров передаются только векторы движения, и поток информации будет наименьшим.

Буфер работает по принципу «первым вошел - первым вышел». Запись данных в буфер производится по мере их поступления с мультиплексора. Считывание данных из буфера производится с постоянной скоростью, определяемой скоростью передачи двоичных символов в канале связи. Степень заполнения буфера будет колебаться во времени, возрастая при увеличении потока данных и уменьшаясь при уменьшении этого потока. Помимо различия типов кадров на степень заполнения буфера может влиять характер передаваемого изображения. Если в изображении много мелких деталей, возрастает количество и уровень высокочастотных составляющих. Пространственно-частотного спектра, то есть количество отличных от нуля коэффициентов ДКП. Это приводит к увеличению потока данных на выходе. При передаче «гладких» изображений количество отличных от нуля коэффициентов ДКП уменьшается, так как изображение имеет в основном низкочастотные составляющие пространственно-временного спектра.

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

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

Изменение шага квантования может осуществляться или после кодирования каждого кадра с учетом его типа, или в пределах одного кадра после кодирования каждой его части.

Структурная схема декодера изображения приведена на рисунке 12. Поток данных поступающий с демодулятора, разделяется в демультиплексоре на кодированные сигналы изображения и векторы движения. В блоках внутрикадрового декодирования осуществляется декодирование группового кода, декодирование кода Хаффмана, восстановление количества уровней квантования обратное косинусово преобразование (ОДКП), сборка предсказания передаваемого кадра. Последний случай соответствует межкадровому кодированию (положение 2).

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


Рисунок 12 - Декодер изображения по стандарту MPEG-2


Для предсказания в режиме межкадрового кодирования используется не сам предыдущий входной кадр, а результат внутрикадрового декодирования, формируемый соответствующими блоками. При этом в обратном порядке выполняется формирование матрицы коэффициентов ДКП каждого блока, восстановление исходного количества бит всех коэффициентов, обратное дискретное косинусное преобразование (ОДКП), объединение блоков 8x8 элементов в единое изображение. Мультиплексор объединяет данные, поступающие с выхода кодера Хаффмана, и векторы движения макроблоков, поступающие с блока оценки движения.

В декодере, так же как и в кодере, имеется два режима работы. При приеме I-кадров на выходе блока ОДКП формируется цифровой сигнал самого кадра. Коммутатор на структурной схеме при этом находится в положении 1, и сигнал с блока ОДКП направляется на выход. При приеме Р-кадров и В-кадров коммутатор находится в положении 2. В этом случае формирование выходного сигнала происходит путем сложения поступающих с выхода ОДКП значений межкадровых разностей с предсказанным кадром, формируемым на основе ранее принятых кадров блоком предсказателя. На это блок поступают с мультиплексора принятые в общем потоке данных векторы движения, с помощью которых осуществляется компенсация движения.

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

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


3. Экспериментальная часть


.1 Моделирование на ЭВМ выбранных алгоритмов


В данном дипломном проекте уделяется внимание повышению криптостойкости и защиты видеоинформации от несанкционированного доступа. Расчет проводится в программной среде Mathcad 2003. Расчеты в данной программе позволят оценить коэффициент сжатия I-кадров и проверить алгоритм кодирования и шифрования изображения.


3.2 Результаты моделирования


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

Передача коэффициентов матрицы ДКП возможна двумя путями:

  • Пороговый метод, в котором при введении порога передаваемые коэффициенты ниже его не передаются;
  • Зональный метод, при котором используются стандартные таблицы квантования, и заведомо известно какие элементы передаются, а какие нет.

Для упрощения расчетов используется зональный метод передачи коэффициентов матрицы ДКП.

При проектировании устройства в данном дипломном проекте было введенное новое устройство не меняющее особенности стандарта MPEG-2. Оно позволяет шифровать изображение по стандарту DES с дополнительной возможностью передачи информации в один адрес путем использования дакточипов.

При реализации видеосигнала в стандарте MPEG-2, в блоках внутрикадрового кодирования выполняются операции совпадающие со стандартом JPEG, благодаря использованию ДКП и последующего кантования элементов. Алгоритм компрессии JPEG был разработан группой экспертов в области фотография специально для сжатия 24-битных изображений. JPEG - Joint Photographic Expert Group - подразделение в рамках ISO - международной организации по стандартизации. В целом алгоритм основан на дискретном косинусном преобразовании (в дальнейшем ДКП), применяемом к матрице изображения для получения некоторой новой матрицы коэффициентов.

Для получения исходного изображения применяется обратное преобразование.

Рассмотрим работу алгоритм подробнее. Предположим для примера, что мы сжимаем 24-битное изображение. Тогда весь алгоритм представляет собой несколько последовательных шагов:

  1. Преобразование цветового пространства [RGB] в [YCbCr].
  2. Дискретное косинусное преобразование.
  3. Квантование.
  4. Кодирование по Хаффману.

1. Преобразование цветового пространства [RGB] в [YCbCr].

Нужно преобразовать изображение в вид яркость / цветность, можно использовать цветовую схему YCbCr (YUV), формулы перевода:


Y= 0.299*R + 0.578*G + 0.114*В

Cb = 0.1678*R - 0.3313*G + 0.5*В

Сr= 0.5*R - 0.4187*G + 0.0813*В


Y нужно сохранить без изменений, его можно сжать любым алгоритмом без потери данных. Рассмотрим сжатие Сb и Сг.

2. Дискретное косинусное преобразование

Основным этапом работы алгоритма является дискретное косинусное преобразование (ДКП), представляющее собой разновидность преобразования Фурье. Оно позволяет переходить от пространственного представления изображения к его спектральному представлению и обратно.

Следует создать ДКП матрицу, используя такую формулу:


DCT = 1/sqr(N), если i=0= sqr (2/N)*cos[(2j+1)*i*3.14/2N], если i > 0 N = 8, 0 < i < 7, 0 < j < 7


в результате имеем:



например, нам нужно сжать следующий фрагмент изображения:



формула, по которой производится ДКП: RES*IMG*DCTT

для начала нужно посчитать промежуточную матрицу: TMP = IMG*DCTT



затем умножаем ее на ДКП матрицу: RES = TMP*DCT



. Квантование.

На этом этапе мы посчитаем матрицу квантования, используя этот псевдокод:


for (i=0; i<8; i++)

{(j=0; j<8; j++)

Q[i] [j] = 1+((1+i+j)*q);

}


где q - это коэффициент качества, от него зависит степень потери качества сжатого изображения, для q = 2 имеем матрицу квантования:



теперь нужно каждое число в матрице квантования разделить на число в соответствующей позиции в матрице RES, в результате получим:



здесь имеется довольно много нулей, получим наиболее длинную последовательность нулей, если будем использовать следующий алгоритм:


получилась последовательность:

0 -7 -11 8 0 0 1 6 -5 -7 -3 0 1 0 0 0 1 0 -3 -4 -1 4 2 0 0 0 0

0 0 0 0 0 0 -3 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

для большего сжатия можно перед первым этапом JPEG можно провести субдискретизацию, или другими словами уменьшить частоту изображения, идея очень проста: к примеру, у нас есть следующая последовательность (Cb или Cr) 11 42 200 123 56 32 125 234 12 24 34 78 145 134 245 101

если будем использовать субдискретизацию 4:1:1, результирующая последовательность будет: 11 123 125 24 145 101

а если использовать 4:2:2 11 234 245

а для восстановления последовательности нужно интерполировать.

4. Кодирование по Хаффману,

Этот алгоритм основывается на частотах появления символов, и более часто

повторяющийся символ представляется более малым кодом

алгоритм:

  1. Инициализуем частоты - 1 для каждого символа
  2. Строим дерево, символы с меньшей частотой мы объединяем в один узел пока есть символы:
  3. Ищем символ в дереве, если идем направо выдаем 1, иначе 0 (конечно в битах).
  4. Увеличиваем частоту символа и перестраиваем дерево.

Вторая часть эксперимента заключается в проверке алгоритма сжатия MPEG-2 и алгоритма шифрования по алгоритму DES. Для проверки использовалось изображение на рисунке 13, и подвергалось процедуре шифрования, программой написанной в среде программирования Borland Delphi 7, модулем Des.

Изображение, зашифрованное криптографическим алгоритмом, представлено на рисунке 14, пользователь сможет посмотреть правильное изображение в том случае, если дактилоскопическая биометрическая система DC21, которая служит защитой от несанкционированного доступа, содержит в памяти отпечаток пальца пользователя.

На рисунке изображено принятое, декодированное изображение. Пикселизация появилась из-за сжатия исходного изображения в 10 раз (с 300 кбайт до 30 кбайт) при внутрикадровом кодировании при реализации алгоритма MPEG-2.


Рисунок 13 - Исходное изображение для шифрования

Рисунок 14 - Изображение на выходе кодирующего устройства


Рисунок 15 - Изображение после декодера


Заключение

кодек телевидение сжатие сигнал

В процессе дипломного проектирования было разработано устройство сжатия ТВ сигнала по стандарту MPEG-2, обеспечивающее передачу информации в один адрес. Данный способ основан на кодировании информации по американскому стандарту DES, который адаптирован для передачи в один адрес с помощью дополнительного устройства - дакточипа. Для реализации сжатия ТВ сигнала применяется графический программируемый процессор фирмы Philips PNX 1300, для шифрования потока видеоданных (скремблирования) используется специализированная микросхема фирмы Philips - VMS 115.


Список источников


1.Птачек М. Цифровое телевидение. Теория и техника./ пер. с чешского, под ред. Виленчика Л.С. - М: Радио и связь, 1990 - 528 с.

2. Новаковский С.В. Телевидение в перспективе./ Электросвязь 1992 - №5 - с. 5-7.

3.Системы улучшенного качества и высокой четкости - примета нового времени./ Я.М. Гершкович, В.Ф. Крылков, Г.И. Кучеров, Л.Л. Серов // Техника кино и телевидения. - 1990 - №2 - с. 25 - 30

  1. Цифровая обработка телевизионных и компьютерных изображений./ под ред. Зубарева Ю.Б. Дворковича B.IL М: Международный центр научной и технической информации 1997 - 216 с.
  2. Цифровое телевизионное вещание по международным стандартам MPEG-2 и DVB/ В.Н. Безруков, Н.А. Логинов, В.Е. Панченко, Н.А. Севальнев // Электросвязь. - 1998 - №6 - с. 13-16
  3. Групповое кодирование ТВ изображений/ С.В. Сардыко, И.И. Цукерман // Техника кино и телевидения. - 1977 - №9 - с. 53 - 55.
  4. Смирнов А.В. Основы цифрового телевидения: уч. Пособие для вузов - М: Горячая линия - Телеком - 2001 -224 с.
  5. Фомин А.Ф. Анализ методов и международных рекомендаций по сжатию изображений // Электросвязь. - 1994 - №5 - с. 16 - 22.
  6. Самойлов Ф.В. Методы сжатия спектра цифровых видеосигналов/ Техника кино и телевидения. 1995 - №6 - с. 20 - 22
    10. Методы анализа и компенсации движения в динамических изображениях/ Ю.Б. Зубарев, В.П. Дворкович, А.Ю. Соколов В.В. Нечепаев // Электросвязь. - 1998 - №11 - с. 14-18
  7. 11. Цукерман И.И, Лебедев Д.С. Телевидение и теория информации. М: Энергия, 1965 -218 с.

12. Мамаев Н.С. и др. Цифровое телевидение. - М: Горячая линия - Телеком - 2001 - 178 с.

13. Брайс Р. Справочник по цифровому телевидению - Жуковский: Эра 2001 -229 с.

l4. Kocc В.П. Сжатие спектра ТВ сигнала в системах передачи видеоинформации/ уч. Пособие // РГРТА - Рязань - 1996 - 64 с.

. Безруков В.Н. Цифровая обработка ТВ сигналов/ уч. Пособие // М: Технический университет связи и информации - 1998 - 47 с.

. Гуталл К. Видеосистемы нового поколения. // Электроника - 1993 - №13 - с. 50-54.

17. Курило А. Цифровое Видео: MPEG // Мир ПК. - 1997. - №3 - с. 172-177.

. Татарников О.А. Компьютерное видео как область самодеятельности // Техника кино и телевидения. 1995 - №9 - с. 19-23

. Применение интегральных микросхем памяти: Справочник // А.А. Дерюгин, В.В Цыркин, В.Е. Красовский и др.; под ред. А.Ю. Гордонова, А.А. Дерюгина. - М.: Радио и связь, 1994 - 232 с.

. Аванесян Г.Р., Левшин В.П. Интегральные микросхемы ТТЛ, ТТЛШ: Справочник. - М: Машиностроение, 1993 - 254 с.

21.www.philips-semicopdactors.coni/tml300.pdf - описание микросхемы NXP1300.

22. www.philips-semicopdactors.coni/vms113.pdf - описание микросхемы vms 113.

. www.philips-semicopdactors.coni/vms115.pdf - описание микросхемы vmsl 15.

24. ГОСТ 12.1.004-91 Пожарная безопасность. Общие требования.

. ГОСТ 12.1.038-82. ССБТ. Электробезопасность. Предельно допустимые уровни напряжений и прикосновений и токов.

. ГОСТ 12.1.030-81. ССБТ. Электробезопасность. Защитное заземление и зануление.

. ГОСТ 12.1.003-83. Шум. Общие требования безопасности.

28. ГОСТ 12.1.029-80. Средства и методы защиты от шума. Классификация.

29. СНиП 1 - 33 - 75 Отопление, вентиляция и кондиционирование воздуха.

. ПДУ 5803 - 91. Предельно допустимы уровни воздействия ЭМП диапазона 10-60 кГц.

. ГОСТ 12.1.006-87. ЭМП радиочастот. Общие требования безопасности.

. СНиП 23-05-95. Естественное и искусственное освещение.

. Безопасность жизнедеятельности. Учеб. пособие/ В.Е. Болтнев, Н.В. Веселкин, Ю.В. Зайцев, В.И. Кремнев/ под общ. ред. Ю.В. Зайцева, РГРТА; Рязань, 2002, 100 с.

. ГОСТ 12.2.006-87*.ССБТ. Аппаратура радиоэлектронная бытовая. Требования безопасности.

. СН 2.2.4/2.1.8.562-96. Шум на рабочих местах, в помещениях жилых, общественных зданиях и на территории жилой застройки.

. СанПин 2.2.4.548-96. Гигиенические требования к микроклимату производственных помещений.

37. ГОСТ Р 50923-96. Дисплеи. Рабочее место оператора. Общие эргономические требования к производственной среде. Методы измерения.



1. Теоретическая часть Для представления видеопотока в цифровом виде пришлось решить немало проблем. Большие сложности составила проблема совместимости с

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ