КОДИРОВАНИЕ И ПЕРЕДАЧА ИНФОРМАЦИИ X
УДК 621.391
МОДЕЛЬ И ПРОТОКОЛ ПЕРЕДАЧИ ВИДЕОДАННЫХ В РЕАЛЬНОМ ВРЕМЕНИ ПО БЕСПРОВОДНОМУ КАНАЛУ
В. В. Башун,
ведущий программист А. В. Сергеев,
ведущий программист
Санкт-Петербургский государственный университет аэрокосмического приборостроения
Решается задача передачи сжатого потока видеоданных высокого качества в реальном времени по беспроводному каналу Ultra Wide Band с изменяющейся пропускной способностью. Основная цель — создание совместной схемы сжатия и передачи видеопотока, которая обеспечит приемлемый уровень качества восстановленного изображения при строгом ограничении на используемую память и задержку при передаче. Для выбора оптимальных параметров сжатия и передачи предложена и исследована специальная модель, позволяющая задавать ограничение на допустимое число потерянных строк (в потоке) и максимизировать качество восстановленного изображения по критерию PSNR.
A problem of real time high quality compressed video transmission over a variable UWB channel is being solved. The main goal is to create a joint compression and transmission scheme (jpeg progressive + ARQ protocol) that would provide an acceptable level of the restored video quality with severe requirements for the amount of memory used and transmission delay. To optimize the compression and transmission parameters, a new model that minimizes the number of dropped rows and maximizes the PSNR of reconstructed frames was proposed and developed.
Введение
Развитие современных беспроводных технологий (WiFi, UWB, WiMedia) позволяет передавать по беспроводному каналу значительные объемы информации на скоростях, сопоставимых с передачей по проводным каналам. Это дает возможность, в частности, отказаться от использования проводов для передачи видео в пределах дома или офиса (расстояния до 10 м прямой видимости). На текущий момент наиболее перспективной и проработанной технологией для решения таких задач является стандарт Ultra Wide Band (UWB) [1, 2], позволяющий достигать скорости передачи данных на физическом уровне до 480 Мб/с (реальные скорости передачи с учетом накладных расходов протокола передачи ~150-400 Мб/с [3]).
Для передачи видео высокого качества (HDTV 1080i) в реальном времени по каналу с ограниченной пропускной способностью необходимо предварительно сжимать видеопоток, так как передача несжатых видеоданных высокого качества требует скоростей передачи, на порядок превышющих достижимые на современном этапе (1,5 Гб/с). При этом необходимо учитывать изменение условий передачи, ошибки в канале и жесткие ограничения
на допустимую задержку передачи. С учетом реальных скоростей передачи и объема видеоданных видеокодек должен обеспечивать степень сжатия в пределах 8-15 раз (см. ниже). Кодеки без потерь (например, J2k lossless) не обеспечивают требуемого уровня сжатия [4], поэтому в дальнейшем рассматривается только сжатие изображений с потерями. В статье представлена упрощенная версия алгоритма JPEG [5]. Однако описываемая модель/схема передачи работает с любым кодеком с потерями, поддерживающим прогрессивность (восстановление изображения ухудшенного качества при получении только части данных, например, JPEG 2000 [6]).
В системах передачи видеопотока в реальном времени кодирование и воспроизведение видео происходит с постоянной кадровой скоростью (FPS). При отсутствии данных на декодере на момент их показа (в силу ошибок или задержки при передаче) на экране отображается черный блок изображения. Для уменьшения вероятности такого события до приемлемого уровня возможно применять передачу сжатых данных с различными приоритетами и алгоритмы повтора передачи с подтверждением доставки (см. разд. «Протокол передачи»).
Следовательно, необходимо решать следующие задачи:
• создание системы передачи сжатого видео высокого качества в реальном времени по беспроводному каналу UWB с изменяющейся пропускной способностью;
• выбор оптимальных параметров сжатия и передачи (PSNR, размер пакета, размер блока данных).
Схожие проблемы сжатия и передачи видео в реальном времени через беспроводные каналы связи рассматривались в работах [7-9]. В работе [9] исследовалась передача видео по каналу с ошибками с наложением ограничения на задержку передачи. Здесь использовался адаптивный выбор квантователей дискретного косинусного преобразования (ДКП) для того, чтобы приспосабливаться к изменяющейся пропускной способности канала. При этом блок данных либо посылался целиком, либо не посылался совсем, т. е. не использовались возможности прогрессивного кодера и передачи с приоритетами. В работе [7] анализировалась возможность использования помехоустойчивых кодов для обеспечения неравномерной защиты. В статье [8] рассматривалось совместное использование помехоустойчивого кодирования (RS-коды) для неравномерной защиты и повторной передачи (ARQ — Automatic Repeat Request). Во всех приведенных работах предполагается использование буфера на источнике и получателе.
В данной работе на схему передачи накладывается ряд дополнительных ограничений, которые не позволяют использовать напрямую результаты, полученные другими авторами [7-9]. Здесь считается, что модификация физического уровня и уровня доступа к среде (УДС) невозможна, и при обнаружении ошибки после декодирования на физическом уровне пакет уничтожается. Таким образом, нет возможности использовать дополнительный помехоустойчивый код на уровне выше УДС. Поэтому для борьбы с потерями пакетов используются только механизмы повторной передачи. Кроме того, предполагается, что применение сглаживающего буфера невозможно, поскольку существует жесткое ограничение на объем памяти. Вследствие этого невозможно, в частности, использовать адаптивные квантователи.
В дальнейшем рассматривается задача с буфером минимального размера для хранения одного блока данных. В качестве размера блока данных может быть выбрана часть кадра (например, строка доменов).
Алгоритм сжатия TinyProgressive
При выборе кодека необходимо дополнительно учитывать следующие ограничения:
• Вход: видео формата HDTV 1080i/60 8bit — чересстрочный поток видео высокого качества с разрешением 1920x1080 и постоянной кадровой скоростью 30 кадров в секунду.
• Качество изображения: PSNR > 37 дБ — отличие восстановленного изображения от исходного должно быть незаметно для человеческого глаза.
• Задержка ^ min — для использования в приложениях реального времени (игры, конференцсвязь, видео).
• Целевая степень сжатия — 10-15 раз.
• На кодере и декодере существуют строгие ограничения на объем используемой памяти (100 кбайт).
Малый объем памяти, а также жесткие требования по задержке исключают использование для сжатия методов компенсации движения или любой другой «сложной» обработки, которая приводит к появлению задержек или требует хранения кадров. Для видео HDTV 1080i хранение хотя бы одного кадра требует 6 Мбайт памяти, что является недопустимым. Поэтому сжатие данных должно производиться блоками небольшого размера («tiles»), например строками доменов.
Дополнительные ограничения накладываются как результат необходимости передавать сжатый видеопоток через канал с ошибками:
• Для успешной передачи видеоданных кодер должен обладать свойством прогрессивности, т. е. должна быть возможность восстановления изображения ухудшенного качества при получении только части данных.
• Необходимо, чтобы сжатый видеопоток можно было разделить на несколько потоков с разными приоритетами.
Алгоритм сжатия TinyProgressive является упрощением прогрессивной версии алгоритма JPEG [5]. Будучи менее сложным в сравнении с другими современными алгоритмами сжатия (JPEG 2000,
H.264), он обеспечивает хорошее соотношение сжатие-искажение (рис. 1), позволяет разделить низко- и высокоприоритетные данные и обладает свойством прогрессивности.
Сжатие происходит независимыми блоками данных по 8 строк пикселей (1 строка доменов), т. е.
Rate -Distortion
55.00
53.00
51.00
49.00
^ 47,00
Й 45,00 £
S43,00
Рн
41.00 39,00/
37.00 1
0,02 0,04 0,06 0,08 0,10 0,12
Скорость сжатия (compression rate)
■ Рис. 1. Зависимость PSNR от коэффициента сжатия: —ш------------------1080 j2k tiling h16; —•------1080
ptiny tiling h8 YUV 444; —♦--------- 1080 h,264
horizontal and vertical prediction 4x4
размер блока изображения 8x1920 пикселей. Таким образом, для хранения входных данных нужно менее 50 кбайт памяти на кодере и декодере.
Алгоритм TinyProgressive состоит из следующих основных шагов [10]:
• YUV 444. Переход из цветового пространства RGB в YUV попиксельно, схема без прореживания.
• Домены. Блок 8x1920 разбивается на независимые квадратные подблоки размером 8x8 пикселей.
• ДКП. Подоменно применяется двухмерное ДКП размером 8. Производится декорреляция коэффициентов и концентрация средней энергии сигнала в старшем коэффициенте DC.
• Квантование. Скалярное квантование коэффициентов ДКП, квантователи — степени двух, могут быть реализованы операцией поразрядного сдвига.
• Змейка. Проквантованные коэффициенты в доменах вытягиваются в вектор.
• Группировка проквантованных коэффициентов и энтропийное кодирование. Все прокванто-ванные коэффициенты с одинаковыми номерами позиций из всех доменов объединяются в группы, называемые слоями коэффициентов (slices) (рис. 2). Число слоев и границы каждого слоя (номера коэффициентов, которые войдут в данный слой) являются параметрами алгоритма. Слои кодируются независимо, декодирование на приемнике каждого последующего слоя улучшает качество реконструируемого изображения, так как увеличивается число доступных декодеру отсчетов ДКП (рис. 3). Кодирование DC- и AC-коэффициентов производится по-разному.
Кодирование DC-коэффициентов
Разностный код и код Хаффмана. Разность соседних DC-коэффициентов кодируется кодом Хаффмана.
Кодирование AC-коэффициентов
Кодирование длин серий. В каждой группе вычисляются длины серий нулей перед ненулевыми
■ Рис. 2. Разбиение на слои в доменах после ДКП
коэффициентами и записываются по правилу (R, S)(A), (R, S)(A), ..., (R, S)(A), где R — число нулевых коэффициентов; S — число бит, которыми можно закодировать число A; A — значение ненулевого коэффициента.
Если число нулей в серии больше 15, то используется специальный символ блока нулей (ZB, ZR), где ZR — число подряд идущих нулей; ZB — число бит, которыми можно закодировать ZB.
Каждая пара (R, S) и значение ZB кодируются предварительно рассчитанным кодом переменной длины Хаффмана. Значения ZR и A записываются в поток без изменений.
Целевая функция
Для фиксированного набора квантователей (определяющего среднюю степень сжатия) необходимо выбрать параметры протокола (размер пакетов, число повторов) таким образом, чтобы качество восстановленного изображения (на декодере) было максимальным.
Традиционной метрикой оценки качества изображения является пиковое отношение сигнал/шум (PSNR [7, 8]). Однако среднее значение PsNr не дает полного представления о качестве восстановленного видео. Всегда возможна наихудшая ситуация, когда данные на декодере отсутствуют (вследствие задержки при передаче или ошибок в канале) и на приемнике не будет данных для отображения (т. е. в худшем случае, будет показан черный блок изображения). Будем называть такую ситуацию сбоем. Если число сбойных строк относительно невелико, потеря данных при передаче может незначительно повлиять на среднее значение PSNR кадра (а тем более, фильма). Однако визуально наличие черных строк очень заметно. Для учета такой ситуации необходимо ввести дополнительное ограничение — ограничение на вероятность сбоя (Pout). Вероятность сбоя позволяет оценить, какой процент блоков данных (строк доменов) в фильме будет испорчен.
Задача оптимизации формулируется следующим образом. Необходимо:
• максимизировать среднее PSNR восстановленного изображения на декодере;
• обеспечить вероятность сбоя (outage probability) не выше заданного уровня.
Из 1-го Из 2-го Из i-го
домена домена домена
у/ / ,
DC1 DC2 ... DCt AC11 AC 12
DC1 dc2 DCi AC11 AC12 AC1i ACn1 ACn2 ACni
Коэффициенты ЛС Коэффициенты АС1 Коэффициенты АСп
■ Рис. 3. Группировка АС-коэффициентов разных доменов по слоям
Протокол передачи
Основная задача протокола передачи — передача блока данных с задержкой, не превышающей некоторую постоянную величину, а также борьба с ошибками, возникающими при передаче. Для борьбы с ошибками при передаче применяются различные средства, основные из них — помехоустойчивое кодирование и схемы повторной передачи. При передаче по UWB возможно использование обоих методов. Напомним, что пакет уничтожается при обнаружении ошибки после декодирования на физическом уровне. Это означает, что необходимо бороться с пакетными ошибками (пакет либо будет доставлен безошибочно, либо не будет доставлен вовсе). Для борьбы с потерями пакетов используется возможность физического уровня отправлять данные с подтверждением доставки и повторная передача пакета в случае неудачи.
Применение алгоритма повторной передачи пакета в случае ошибки в канале совместно с помехоустойчивым кодированием на более низком уровне позволяет уменьшить Pout. Вместе с тем использование подтверждений приводит к увеличению избыточности протокола и времени простоя системы и, как следствие, к уменьшению реальной пропускной способности (из-за времени, необходимого для отправки подтверждения и дополнительных служебных интервалов). Вследствие жесткого ограничения на интервал времени, доступный для передачи блока данных, невозможно повторять посылку всего блока данных до бесконечности. Для того чтобы иметь возможность однократной повторной передачи строки целиком, необходимо обеспечить сжатие каждого блока данных в 20-25 раз (при работе на скорости 200 Мб/с). При таких уровнях сжатия (без использования компенсации движения) качество восстановленного изображения даже при отсутствии ошибок при передаче может стать неприемлемым.
Решением является обеспечение некоторого базового уровня качества восстановленного изображения путем гарантированной доставки
наиболее важных данных и попытка его улучшить за счет посылки дополнительных данных. Этого можно достичь, используя прогрессивные схемы сжатия (такие как Progressive JPEG и JPEG 2000).
С учетом размеров сжатой строки доменов все данные могут поместиться в 2-3 пакета UWB. Поскольку требуется обеспечить базовый уровень качества, целесообразно посылать первым пакетом высокоприоритетные данные, вторым — низкоприоритетные. В этом случае нужно за фиксированный интервал времени попытаться доставить все данные и при этом максимизировать вероятность доставки первого пакета. Поскольку UWB позволяет менять политику подтверждения и задавать число повторных передач в случае ошибки для каждого пакета независимо, схема протокола будет иметь следующий вид (рис. 4):
1. В начале окна передачи блока данных источник сообщения посылает высокоприоритетный пакет с запросом на подтверждение доставки (Imm-ACK).
2. Если не все ошибки в принятом пакете были исправлены, подтверждение не высылается. В этом случае первый пакет будет послан еще раз. Шаги 1-2 повторяются до тех пор, пока либо пакет не будет доставлен без ошибок, либо не закончится окно передачи.
3. Если ошибок при передаче не было (либо все ошибки были исправлены помехоустойчивым кодом на физическом уровне), узел-получатель высылает подтверждение доставки.
4. После получения подтверждения для первого пакета источник отправляет оставшийся пакет (один или несколько).
Нужно заметить, что низкоприоритетные данные посылаются не всегда. В случае, если высокоприоритетный пакет был доставлен не с первой попытки, может не остаться времени до конца интервала для отправки второго пакета.
Видно, что основным критерием оптимизации является максимальный размер первого пакета.
Тtotal* окно передачи блока данных
Пакеты, передаваемые узлом-отправителем видео
Пакеты, передаваемые узлом-получателем видео
©"
Preamble & Header
1-й (высоко-приоритетый)
лакет
SIFS —►
Подтверждена е (АСК)
Preamble & Header
2-й (шізко-прнорнтетый)
Рис. 4. Схема передачи видео, успешная передача
С одной стороны, он определяет базовый уровень качества восстановленного изображения (чем больше размер пакета, тем выше качество). С другой стороны, размер пакета задает максимально возможное число повторных передач и, следовательно, вероятность сбоя (чем меньше размер, тем больше количество возможных повторных передач). Для решения задачи оптимизации предложена модель системы сжатия и передачи, представленная ниже.
Заметим также, что описанная схема передачи может быть использована совместно с любой прогрессивной схемой сжатия (например, JPEG 2000 или TinyProgressive).
Модель системы
Для выбора оптимальных параметров протокола введем ряд допущений.
Д1. Кодер использует любую прогрессивную схему сжатия, причем декодер может восстановить изображение, не получая все данные целиком. При получении только части данных будет восстановлено изображение ухудшенного качества. Также зафиксирован протокол передачи, описанный выше. В данной статье используется алгоритм TinyProgressive.
Д2. Используемые в UWB методы кодирования и передачи (такие как интерливинг, band hopping, OFDM и т. п.) успешно борются с пакетированием ошибок, вызванным замираниями в канале. Это позволяет сделать предположение о независимости и равномерном распределении между пакетами битовых ошибок после декодирования. Таким образом, канал и физический уровень UWB моделируются одним параметром — средним уровнем ошибки на бит (BER).
Д3. Для каждого блока данных изображения (строки доменов) известна зависимость качества по PSNR на декодере от размера принятых данных (Rate-Distortion function).
Функция зависимости PSNR от Rate (скорости кодирования) является монотонно возрастающей. В работе предполагается линейная зависимость, т. е. использовано простейшее приближение этой функции прямой, соединяющей точки с минимальным и максимальным уровнями качества. В данной модели вводится допущение, что существует некое максимальное значение PSNR, при достижении которого увеличение Rate не ведет к увеличению качества. Наличие верхней границы обусловлено использованием кодера с потерями.
Д4. Предполагается, что размер сжатой строки доменов l — дискретная случайная величина, равная числу байт в сжатой строке доменов. Эта случайная величина имеет сложный закон распределения и является суммой размеров слоев (групп коэффициентов). Если бы каждый домен изображения был случайным, l было бы суммой статистически независимых величин. В действитель-
ности, это не так, но для упрощения анализа будем полагать, что распределение величины l может быть вычислено на основе усеченного нормального закона с известными математическим ожиданием M и дисперсией а2 и с границами (LB, RB).
Границы (LB, RB) могут быть получены эмпирически. Если F(l) — интегральная функция нормального распределения с параметрами M и а2, то функция усеченного нормального распределения
F () = F(l) - F(LB)
^ > F(RB)-F(LB).
Поскольку значения размеров строк могут принимать только целые значения, вероятность появления строки размера l байт равна Pr{L = l}=p () = F1 ()-F1 (l-1).
Постановка оптимизационной задачи
При использовании описанного выше протокола передачи основным параметром, управляющим качеством принятого изображения, является размер высокоприоритетных данных. Скорость передачи считается фиксированной. В случае отсутствия ошибок увеличение размера первого пакета всегда ведет к увеличению базового уровня качества восстановленного изображения. С другой стороны, от размера первого пакета зависит число повторных передач. Увеличение размера пакета ведет к увеличению вероятности пакетной ошибки при том же уровне BER. Таким образом, увеличение размера пакета может приводить как к улучшению качества восстановленного изображения, так и к его ухудшению. Поэтому необходимо решить, сколько байт информации для блока данных будет передано в высокоприоритетном пакете, сколько — в низкоприоритетном.
Поскольку целевой функцией является максимизация среднего PSNR на декодере при наложении ограничения на Pout, для нахождения оптимальных размеров потоков необходимо решить следующую оптимизационную задачу:
JavPSNRmovie ^ max;
I Pout ^ P>ut,
avPSNRmovie = 10log
2552
10
MSEmovie
1 Nrows
MSEmovie = N--------- £ rowMSEi,
N rows i=1
1 N pixels
rowMSEi = —---------- £ e(x) ,
N pixels j=1
где avPSNRmovie — среднее PSNR по фильму; Po*ut — ограничение на величину вероятности сбоя;
МБЕтт1е — среднеквадратическая ошибка для фильма; rowMБEi — среднеквадратическая ошибка для і-й строки доменов; ^готе — число строк доменов в фильме; ^р1хеіа — число пикселей в строке доменов; е (с) — квадрат разности между исходным и восстановленным значением пикселя.
Теоретическая оценка
С учетом перечисленных выше допущений, можно получить теоретическую оценку для оптимального размера первого пакета и сравнить ее с результатами имитационного моделирования при наложении ошибок на реальные видеопоследовательности. Для получения теоретической оценки введем следующие обозначения:
МБЕ(1) — случайная величина, равная МБЕ блока данных размера I на декодере после передачи по каналу. МБЕ (I) может принимать следующие значения:
MSE(l) =
МБЕт1п,если доставлены все данные; МБЕ(), если доставлена часть данных размера I;
МБЕтах,если ничего не доставлено,
где МБЕт1п — среднее значение МБЕ сжатой строки доменов, может быть получено эмпирически. Среднее значение МБЕ при появлении черной строки (отсутствие данных на декодере) МБЕтах при-
max
2
2552
нято равным 642: МБЕ() =—Р8ищ , где РБЫЕ(1)
10 10
может быть получено с использованием допущения Д3.
Если допущения справедливы, то для реального фильма при увеличении длинны видеопоследовательности, следовательно, и числа строк в ней N•0^ ^ <», значение среднеквадратической ошибки на фильм МБЕшот1е будет стремиться к математическому ожиданию Е(МБЕ(1)), которое необходимо оценить.
С учетом допущения Д2 вероятность того, что в пакете размером I байт при передаче будут ошибки и он не дойдет до получателя, определяется по формуле РЕЕ(1) = 1 - (1 - БЕЕ)1'8, где БЕИ — вероятность ошибки на бит.
Основные параметры модели:
— размер окна Т\оШ и размер сжатых данных (строки доменов) Ы;
— максимальное число попыток передачи высокоприоритетного пакета длины Ь1 - тах_Ьт_пит (£1), оно зависит от размера окна Т\оШ, размера данных Ь1 и выбранной скорости передачи. Размер высокоприоритетного потока может принимать значения Ь1 в диапазоне (0,4095) байт (максимальный размер пакета в UWB 4095 байт);
— avail_tr (l, L1) — число попыток передачи высокоприоритетного пакета размером L1, при котором остается время для посылки оставшейся информации размером l - L1.
Оценим вероятность сбоя Pout и математическое ожидание E(MSE(l)). При фиксированном значении L1 возможны следующие ситуации.
I. LB < l < L1, в этом случае все данные поместятся в один пакет (см. пп. 1-2).
II. L1 < l < RB — данные посылаются в нескольких пакетах. В этом случае низкоприоритетные данные могут быть не отправлены, если высокоприоритетный пакет доставлен не с первой попытки (см. пп. 3-6).
Вероятность того, что высокоприоритетные данные успешно доставлены и есть время посылать низкоприоритетные:
avail_ tr((, L1)-1
Pist packet = 1 - PER (L1) PER (L1)k.
k=0
Вероятность того, что высокоприоритетные данные доставлены и нет времени посылать низкоприоритетные:
P1st _ packet _ only =
= 1 - Us, _ ,aC« - PER (L1)maX_ 'Г _ n“"l“l.
1. Пакет доставлен (доставлены все данные) P = = 2 (1-PER(1)““-tr-num(l))p(l) l=LB' ’ MSEj = = MSEmln
2. Пакет не доставлен (ничего не доставлено) P2 = 2 PER(l)max-tr-mm( p(l) l=LB mse2 = = MSEmax
З. Все пакеты доставлены (доставлены все данные) RB P3 = ^2 P1st packet x l=L1 x(l - PER (l - ll))p (l) MSEg_ = MSEmin
4. Доставлены только высокоприоритетные данные, низкоприоритетные доставлены с ошибкой RB P4 = 2 P1st packet x l=L1 x PER (l - l1)p (l) mse4 = = MSE(Ll)
5. Доставлены только высокоприоритетные данные, не было времени посылать низкоприоритетные RB P5 = ^2 P1st packet onlyp(l) l=L1 mse5 = = MSE(Ll)
б. Все пакеты не доставлены (ничего не доставлено) P6 = 2B PER(L1)max-tr-num(L1)x l=L1 x p(l) MSE6 _ = MSEmax
Тогда E (MSE (l)) = £ PiMSEt, вероятность сбоя
i=1
Pout = P2 + P6, а оптимизационную задачу можно переформулировать следующим образом:
E (MSE (l))^ min
Pout ^ Pout
Видно, что по приведенному критерию и с учетом допущений для выбора оптимального размера первого пакета необходимо лишь знать математическое ожидание и дисперсию размеров сжатых пакетов, а также определить уровень наклона кривой RD.
Выводы
Для нахождения оптимальных параметров протокола была предложена описанная модель. Для проверки полученных на модели оптимальных значений параметров протокола проведена серия экспериментов с использованием реальных видеоданных, полученных в результате работы кодека
TinyProgressive. Заметим, что может использоваться и любой другой кодек с известным распределением размеров сжатых данных.
Реализована модель канала с UWB с ограничением на окно передачи видеоданных и равномерным распределением неисправленных ошибок. Сжатые данные на выходе кодера пакетируются, при этом высокоприоритетные данные объединяются в первый пакет, размер которого не превышает заданное ограничение (£1). Модель УДС (МАС) уровня UWB используется для вычисления времени, необходимого для передачи пакета заданного размера.
В экспериментах использовалась видеопоследовательность из 100 различных ключевых кадров размером 1920x1080. В каждом эксперименте фиксировалась физическая скорость передачи UWB (которая определяет время, необходимое для передачи блока данных, а следовательно, и максимальный объем передаваемой информации), вероятность неисправленной битовой ошибки принималась постоянной (т. е. предполагалось, что канал находится в стабильном состоянии). Для
Размер первого пакета, байт
Рис. 5. Зависимость РБЫЯ и Роиі от размера первого пакета (Ь1): а — для БЕЯ = 10е-5; б — для ВЕЯ = 10е-6;
----моделирование передачи реального фильма через канал с ошибками; -А---теоретическая модель
каждого эксперимента менялось ограничение на размер высокоприоритетного пакета. Результаты экспериментов и их сравнение с теоретической оценкой для различных скоростей передачи и уровня БЕЕ представлены на графиках (рис. 5, а, б).
Как видно из графиков, кривая изменения вероятности сбоя и среднего значения РБМЕ всегда имеет ступенчатый вид. Такой вид графиков объясняется следующим образом. Окно для передачи блока данных является фиксированным и зависит только от размера и кадровой скорости (¥РБ) исходного изображения. Тогда при увеличении размера высокоприоритетного пакета ступенчато уменьшается возможное число повторных посылок пакета. При уменьшении числа повторных передач на единицу происходит резкое увеличение вероятности сбоя. Наоборот, если число повторных посылок не изменяется с увеличением пакета, происходит плавное увеличение вероятности сбоя. Ступенчатый вид графика вероятности сбоя сохраняется для любого уровня БЕЕ. Резкое увеличение вероятности сбоя может приводить к резкому уменьшению среднего уровня РБМЕ.
Важно отметить, что на интересующих участках (Рои < 103) РБМЕ в пределах одной ступени ведет себя как неубывающая функция. РБМЕ на-
Литература
1. Standard ECMA-368 High Rate Ultra Wideband PHY and MAC Standard. December 2005.
2. Ultra-Wideband (UWB Technology) Enabling highspeed wireless personal area networks. White Paper, 300982-002 US, Intel Corporation 2005 http:// www.intel.com/technology/comms/uwb/download/ ultra-wideband.pdf
3. Андреев С. Д., Семенов С. А., Тюрликов А. М. Методы оценки параметров радиоканала // Информаци-онно-управляющие системы. 2007. № 4. С. 37-43.
4. Diego Santa Cruz et al. ISO/IEC JTC1/SC29/WG1 N1816 Coding of Still Pictures, An analytical study of JPEG 2000 functionalities. July 2000.
5. William B. Pennebaker, Joan L. Mitchel, JPEG still image data compression standard. NY, 1993.
6. JPEG 2000 Standard Part 1, Final Committee Draft v. 1.0. 16 March 2000.
чинает убывать только при очень больших значениях вероятности сбоя (> 10З).
Это позволяет сформулировать простое правило выбора размера высокоприоритетного пакета. Для заданного ограничения на вероятность сбоя можно найти соответствующую «ступеньку», а затем выбрать максимальный размер пакета на данной ступеньке. Например, для BER _ 10-6 при ограничении на вероятность сбоя Pout < 107 размер высокоприоритетного пакета должен быть выбран равным 886 байт, что соответствует паре значений [Pout; PSNR] _ [З,51 • 10 7; 40,5 дБ].
Можно заметить, что теоретическая оценка дает хорошее приближение работы реального кодека. Таким образом, указанная модель может использоваться для выбора оптимального размера высокоприоритетного пакета при условии корректного задания параметров модели: математического ожидания М и дисперсии а распределения размеров сжатых данных, зависимости MSE блока данных на декодере от размера принятых данных (Rate-Distortion function), среднеквадратической ошибки MSE в случае отсутствия данных на декодере (MSEmln). В работе все указанные параметры были получены эмпирически для большого числа изображений.
7. Stankovic V., Hamzaoui R., Xiong Z. Live video streaming over packet networks and wireless channels // Proc. 13 Packet Video Workshop. PV2003. Nantes, April 2003.
8. Zhai F. et al. Rate-distortion optimized hybrid error control for real-time packetized video transmission // IEEE Transactions on Image Processing. 2006. N 15 (1). Р.40-53.
9. Ortega A. Optimization techniques for adaptive quantization of image and video under delay constraints: Ph. D. Thesis Dept. of Electrical Engineering. Columbia University, Jun. 1994.
10. Уханова А. С. Прогрессивный алгоритм сжатия изображений на базе алгоритмов JPEG // 60-я студ. науч.-техн. конф. ГУАП: Сб. докл. / ГУАП. СПб., 2007.