IP-блок упаковки кодов переменной длины Иван Андреевич Беляев ОАО НПЦ «ЭЛВИС»
Коды переменной длины 2 Используются на последнем этапе многих алгоритмов сжатия данных JPEGHuffman coding MPEG2Huffman coding H.264/AVCCAVLC/CABAC H.265/HEVCCABAC VP8/VP9Arithmetic coding MP3Huffman coding AACHuffman coding … При кодировании различным входным элементам ставятся в соответствие коды, состоящие из различного числа бит Нуждаются в упаковке для образования потока сжатых данных
Формирование потока сжатых данных в памяти 3
4
Проблемы программно-аппаратного способа формирования потока сжатых данных в памяти 5
Задачи, решаемые IP-блоком упаковки кодов переменной длины 6 Упаковка кодов переменной длины в слова фиксированной длины; Байт-стаффинг потоков H.264 и JPEG; Выравнивание потока сжатых данных по границе байта (дописывание потока нулями или единицами до достижения ближайшей границы байта); Вставка в поток сжатых данных произвольной информации (заголовков, маркеров и т.п.); Продолжение («дописывание») потока сжатых данных, созданного в памяти другим устройством кодирования; Выгрузка в память последнего неполного слова фиксированной длины; Хранение информации о длине потока сжатых данных.
Структура IP-блока упаковки кодов переменной длины 7
Структура блока BITPACKER 8
Схема работы блока BITPACKER 9
Структура блока BYTESTUFFER 10
Аппаратные затраты и производительность 11 [2][2][4][4][5][5]IP-блок Технологический процесс, нм Площадь, кол-во вентилей 2,6K5,0K5,0K-7,8K Рабочая частота, МГц Производительность, байт/такт 3414 Байт-стаффинг+++ Мультиформатность++ Программная управляемость+
1212 Спасибо за внимание!