7.6.3. Кодирование и транспортные выпускиМногие инструменты стандартов MPEG-4 Visual и Н.264 были изначально нацелены на улучшение эффективности сжатия. Однако давно была обнаружена необходимость сделать практические выпуски по транспортировке в системах видеокоммуникаций. Поэтому некоторые инструменты этих стандартов были специально разработаны для таких изданий. Масштабирование доставляемого видеопотока, который может быть декодирован декодерами с разными техническими возможностями и/или на разных битовых скоростях, делается обоими стандартами по-своему. Стандарт MPEG-4 Visual включает несколько инструментов масштабируемого кодирования (см. гл. 5), в которых видеопоследовательность или объект кодируется несколькими слоями. Обычно имеется один базовый слой (который можно декодировать для получения версии последовательности «базового» качества) и несколько уточняющих слоев, каждый из которых требует повышения скорости передачи, но он же повышает качество (т.е. визуальное качество изображения, пространственную или временную разрешимость) декодированной последовательности. В стандарте Н.264 реализован альтернативный подход. В нем нет масштабируемого кодирования, но здесь имеются слои SI и SP (см. гл. 6), которые позволяют декодеру эффективно переключаться между различными версиями одного и того же потока. Это особенно полезно при передаче видеопотоков по сетям, имеющим непостоянную пропускную способность, например через Интернет. Декодер может выбрать наивысшую скорость, доступную в каждый конкретный промежуток времени. Время ожидания и задержек особенно важно для двухсторонних приложений реального времени, например в видеоконференциях. Инструменты типа В-снимков (кодирование кадров с использованием прогнозов компенсации движения по прошлым и будущим ссылочным кадрам) могут повысить компрессию, но они же вносят временные задержки длиной в несколько кадров в «цепь» кодирования и декодирования, что может оказаться недопустимым для двухсторонних приложений с малой латентностью. Латентность также влияет на выбор алгоритма контроля скорости (см. § 7.5), поскольку буферы предварительной и последующей обработки (необходимые для сглаживания скачков битовой скорости) увеличивают время ожидания текущего изображения собеседника. В каждом стандарте заложено несколько возможностей, которые помогают справляться с ошибками передачи. Битовые ошибки бывают характерны для сетей с коммутацией каналов, а сети с: коммутацией пакетов страдают от потерь пакетов (это связано с тем, что битовые ошибки в пакете приводят к его утрате при передаче). Ошибки могут сильно повлиять на качество декодирования [44], так как эффект ошибки может иметь пространственное распространение (портится область на текущем декодируемом кадре) и временное распространение (ошибки распространяются по цепочке ссылочных прогнозных кадров). Для борьбы с таким сортом ошибок разработаны специальные инструменты, описанные в гл. 5 и 6, которые включают разделение данных и независимое декодирование слоев (для ограничения и локализации эффектов ошибок), избыточные слои (посылаются дублирующие копии данных), коды переменной длины, которые можно декодировать в обе стороны (сокращается вероятность перехода возникшей ошибки в следующие кодовые единицы) и гибкое упорядочение макроблоков и слоев (для того, чтобы упростить декодеру задачу погашения эффектов ошибок, интерполируя данные по их безошибочным соседям).
|