Jump to content

Произвольный порядок срезов

Произвольный порядок срезов ( ASO ) в цифровом видео — это алгоритм предотвращения потерь. Он используется для реструктуризации порядка представления фундаментальных областей ( макроблоков ) в изображениях. Этот тип алгоритма позволяет избежать необходимости ждать полного набора сцен для получения всех источников. Обычно рассматривается как функция устойчивости к ошибкам/потерям.

Этот тип алгоритма включен в качестве инструмента в базовый профиль кодера H.264/MPEG-4 AVC с I -фрагментами , P -фрагментами , контекстно-адаптируемым кодированием переменной длины ( CAVLC ), группировкой фрагментов ( Slice Group ), произвольным порядком фрагментов (ASO). ) и срезы избыточности .

Приложения

[ редактировать ]

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

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

Проблемы

[ редактировать ]

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

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

Виды декодирования ASO

[ редактировать ]

Ассоциация макроблоков для нарезки

[ редактировать ]
  • Влияние ASO на сложность декодеров AVC

Пример того, как макроблоки могут быть связаны с различными слайсами, показан на рисунке 1. Когда поддерживается ASO, четыре слайса из этого примера могут быть получены декодером в случайном порядке. На рисунке 2 показан следующий порядок приема: срез №4, срез №3, срез №1 и срез №2. На том же рисунке представлены блоки декодера AVC, необходимые для поддержки декодирования ASO.

Рисунок 1: Пример назначения макроблока четырем слайсам . Каждый фрагмент представлен различной текстурой.

Рисунок 2. Блоки декодера AVC должны поддерживать декодирование ASO.

Для каждого слайса длина слайса слайса и адрес макроблока (т.е. индекс относительно порядка растрового сканирования) первого макроблока (МБ) слайса извлекаются анализатором ( рис. 2). Эта информация вместе с самим срезом хранится в памяти (показана как DRAM). Кроме того, должен быть сгенерирован список указателей (на рис. 2 — указатель на каждый срез, каждый из которых указывает на область памяти, где хранится срез ). Список указателей вместе с адресом первого макроблока слайса будет использоваться для навигации по неупорядоченным слайсам . Длина среза будет использоваться для передачи данных слайса из DRAM во внутреннюю память декодера.

Столкнувшись с необходимостью декодировать неупорядоченные фрагменты , декодер может:

  • 1) дождитесь прибытия всех фрагментов каждого изображения, прежде чем начинать декодирование и деблокирование изображения.
  • 2) декодировать срезы в том порядке, в котором они поступают в декодер.

Первый метод увеличивает задержку, но позволяет выполнять декодирование и деблокировку параллельно. Однако управление большим количеством указателей (в худшем случае — один указатель на каждый МБ) и повышение интеллекта блока доступа к DRAM увеличивают сложность декодера.

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

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

Ассоциация макроблоков со срезами и срезов с группой срезов

[ редактировать ]
  • Влияние ASO и FMO на сложность декодеров AVC

Пример того, как слайсы могут быть связаны с разными группами слайсов, показан на рисунке 3. Если поддерживаются ASO и FMO, четыре слайса из этого примера могут быть получены декодером в случайном порядке. На рисунке 2 показан следующий порядок: срез №4, срез №2, срез №1 и срез №3. На том же рисунке представлены блоки декодера AVC, необходимые для поддержки декодирования ASO и FMO.

Рисунок 3: Пример назначения макроблока четырем слайсам и двум группам слайсов (SG на рисунке). Каждый срез представлен различной текстурой, а каждая группа срезов представлена ​​разным цветом.

Рисунок 4. Блоки декодера AVC должны поддерживать декодирование ASO и FMO.

В дополнение к длине слайса и адресу макроблока 1-го макроблока (МБ) слайса анализатор слайса ( рис. 4) должен извлечь группу слайсов (SG) каждого слайса . Эта информация вместе с самим срезом хранится в DRAM. Как и в случае с ASO, необходимо сформировать список указателей (рис. 4).

Список указателей вместе с адресом 1-го МБ слайса , SG и mb_allocation_map (хранится в локальной памяти процессора) будет использоваться для навигации по слайсам . Длина среза будет использоваться для передачи данных среза из DRAM в локальную память процессора.

Как и в случае ASO, в комбинированном случае ASO и FMO декодер может:

  • 1) дождитесь прибытия всех фрагментов каждого изображения, прежде чем начинать декодирование и деблокирование изображения.
  • 2) декодировать срезы в том порядке, в котором они поступают в декодер.

Первый подход по-прежнему является предпочтительным. Из-за FMO декодирование макроблоков в порядке растрового сканирования может потребовать переключения между различными слайсами и/или группами слайсов . Чтобы ускорить доступ к DRAM, слайсов необходимо использовать один буфер для каждой группы (рис. 4). Этот дополнительный интеллект модуля доступа к DRAM еще больше увеличивает сложность декодера. Более того, переключение между различными слайсами и/или группами слайсов требует замены информации о состоянии энтропийного декодера (ED). В худшем случае замена происходит после декодирования каждого макроблока. DRAM и памяти процессора Если вся информация о состоянии энтропийного декодера слишком велика для хранения в локальной памяти процессора, каждый статус ED необходимо загрузить из DRAM и сохранить в ней, что еще больше увеличивает пропускную способность (рис. 4).

См. также

[ редактировать ]
  • Иоле Мокагатта, LSI Logic (2002). «Влияние произвольного порядка срезов и гибкого порядка макроблоков на соответствие требованиям AVC и сложность реализации»
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 07e4f08893d46b5c7ff91146d1b8d08e__1634129940
URL1:https://arc.ask3.ru/arc/aa/07/8e/07e4f08893d46b5c7ff91146d1b8d08e.html
Заголовок, (Title) документа по адресу, URL1:
Arbitrary slice ordering - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)