В этом разделе основное внимание уделяется объяснению H.264 кодировка тоже AAC кодирование,существоватьверно Прежде чем объяснить, он представилвидеокодированиеиз Принцип реализации。
1. Принцип реализации видеокодирования
1. Основные принципы технологии кодирования видео.
кодирование просто для сжатия. Чтобы добиться сжатия,Необходимо разработать различные алгоритмы,Удалите лишнюю информацию из видеоданных.
тип
содержание
Метод сжатия
пространственная избыточность
Межпиксельная корреляция
кодирование с преобразованием, прогнозирующее кодирование
резервирование времени
Корреляция во времени
Интерпрогнозирование, компенсация движения
Избыточность построения изображения
Само изображение из структуры
Контурное кодирование, сегментация регионов
избыточность знаний
Символы на обоих концах отправителя и получателя имеют общее понимание.
На основе знаний
визуальная избыточность
Визуальные характеристики человека
Нелинейное квантование, распределение битов
другой
Неопределенности
видеокодирование Устранение технического приоритета из целей,Сразудапространственная избыточностьирезервирование времени。
2. Способ реализации технологии кодирования видео.
видеодаФормируется путем непрерывного воспроизведения различных израмок картинок.。Этирамка,Основное разделение на Три категории,Соответственно:
I рамка
даПоставляется со всей информацией из независимой рамки.,да Наиболее полная картинка (занимает наибольшее пространство),Декодирование можно производить самостоятельно, без привязки к другим изображениям. видеоряд в изтой одинрамке,Кадр I повсюду.
B рамка
«Двунаправленное прогнозирование кодирования рамки», передняя рамка и задняя рамка используются в качестве эталонной рамки. Не только передняя, но и задняя израмка, так что ее изсжатие имеет самую высокую скорость и может достигать. 200:1. Однако, потому что что полагается на заднюю израмку, так не подходит для передачи в реальном времени (например, видеоконференции).
P рамка
“кадр межкадрового кодирования с предсказанием”,Вам нужно обратиться к различным частям из I рамки/или P рамки.,может быть осуществленокодирование。P рамкаверно Переднийиз P и I Опорные кадры имеют зависимости。нода,P Скорость сжатия рамки С коэффициентом выше и занимает меньше места.
Благодаря верной обработке классификации, вы можете значительно увеличить размер сжатия видео.
после всего,Расправиться с изверно слонами,Значительно уменьшено (от всего индивидуального изображения),становится областью изодина на изображении).
3. Оценка движения и компенсация
① Блок и Микро Блок.
Если общее да исчисляется в пикселях,данные Измерительная встреча Сравнивать Больше,так,Обычно изображение разбивается на разные «Блоки» и «Макроблоки».,верно Они выполняют расчеты.
Макроблок обычно имеет размер 16 × 16 пикселей.
②, Краткое описание I-кадра, P-кадра и B-кадра.
верно I рамкаиз обработки,да принимает рамку Внутрикодирование способ,Используйте только пространственную корреляцию этого изображения кадра Внутрииз.
кадр Verno P Frame,Использование кодирования кадрирования (оценка движения вперед),в то же время использует пространственные и временные корреляции.
Проще говоря, алгоритм компенсации движения используется для удаления лишней информации.
③, I кадр (внутрикадровое кодирование)
Важно отметить, что хотя I-кадры (внутрикадровое кодирование) имеют только пространственную корреляцию, весь процесс кодирования не является простым.
Как показано на рисунке выше, все внутрикадровое кодирование также проходит через несколько процессов, таких как DCT (дискретное косинусное преобразование), квантование и кодирование.
④ Как измерить и оценить эффект кодирования и декодирования.
Вообще говоря, она делится на объективную оценку и субъективную оценку. Объективная оценка заключается в том, чтобы говорить цифрами. Например, вычислите «отношение сигнал/шум/пиковое соотношение сигнал/шум».
Вообще говоря, она делится на объективную оценку и субъективную оценку.
объективная оценка,Просто позвольте цифрам говорить сами за себя. Например, вычислите «выравнивание сигнала к шуму/пиковое соотношение сигнала к шуму».
субъективная оценка,Он измеряется непосредственно с использованием субъективного восприятия человека.
2. Основы кодирования H.264
1. Быстрый старт H.264
① Организация по стандартизации видеокодирования.
Есть две основные организации по стандартизации, занимающиеся алгоритмами видеокодирования: ITU-T и ISO.
ITU-T, Международный союз электросвязи - Бюро стандартов электросвязи, в основном разрабатывает такие стандарты, как H.261/H263/H263+/H263++.
ISO, Международная организация по стандартизации, в основном разрабатывает MPEG-1/MPEG-4 и т. д.
например MPEG-2、 H.264/AVC и H.265/HEVC ждать. Развитие стандартов извидеокодирования, сформулированных различными организациями по стандартизации, показано на рисунке ниже:
② Базовая технология сжатия и кодирования видео.
видео информация о том, что депозит существует в большом количестве, может быть уменьшена в пространстве, дапотому что само по себе имеет много избыточности.
Его основные виды:
резервирование времени: соседнее видео из содержания одинаково между двумя кадрами, и существует существующее соотношение движения
избыточность кодирования: разные данные появляются в видео с разной вероятностью
визуальная избыточность: Различные части зрительной системы аудитории имеют разную чувствительность.
Нацеливание на эти различные типы избыточной информации,Существуют различные стандартные алгоритмы видеокодирования, которые отличаются технологиями, специально применяемыми для верного использования.,Для улучшения скорости сжатия и выравнивания под разными углами.
<1>、предсказыватькодирование
Прогнозирование можно использовать для устранения избыточности во временной и пространственной областях.
видеообработкаизпрогнозированиекодированиеосновнойраздел на Две основные категории:рамка Внутри прогноз ирамкаинтер прогноз。
рамка Внутри Прогноз: Прогнозируемое значение и фактическое значение находятся в одной и той же рамке Внутри.,Используется для удаления изображений. Пространственная повторяемость кадра. Внутреннее предсказание по функциям. Скорость дасжатия относительно низкая, верно;,Однако его можно расшифровать самостоятельно.,Не полагается на другуюрамкуизданные, обычно ключевой кадр в видео прогнозируется по кадру Внутри;
кадр межпрогноза: кадр межпрогноза из фактического значения расположен в текущем кадре,Прогнозируемое значение находится в опорной рамке.,Используется для исключения изображений. Изрезервирование времени. Скорость межкадрового предсказания выше, чем внутрикадровое предсказание;,Однако его нельзя декодировать самостоятельно.,Вы должны получить эталонные кадрированные изображения, прежде чем сможете восстановить текущий кадр.
Обычно в видеопотоках я Во всех кадрах используется внутрикадровое кодирование, P Рамка/Б рамкасерединаизданныевозможныйиспользоватьрамка Внутриили ВОЗрамкамеждукодирование。
<2>、трансформироватькодирование
Так называемое преобразование кодирования относится к,Преобразуйте данное изображение в другую одиночную область, например, в частотную область.,Позволяет представить большой объем информации менее изданными,Чтобы достичь цели сжатия.
В настоящее время мейнстримизвидеокодирование Алгоритмы принадлежаткодирование с потерями,Причинять ограниченные и допустимые потери с помощью верноговидео,Получите относительно более высокую эффективность изкодирования.
вызывая потерю информацииизотделениеточка Прямо сейчассуществовать Впреобразование квантованияэтотодинотделениеточка。
существуют До количественного определения,Во-первых, информацию изображения необходимо преобразовать из пространственной области в частотную область посредством кодирования преобразования.,И вычисляем его коэффициент трансформации для последующего изкодирования.
В алгоритме существующего видеокодирования для преобразования кодирования обычно используется ортогональное преобразование. К обычно используемым методам ортогонального преобразования относятся: дискретное косинусное преобразование (ДКП), Дискретное преобразование. синусоидальное преобразование (DST), K-L Трансформация и т. д.
<3>、энтропиякодирование
Метод энтропии при видеокодировании в основном используется для устранения статистической избыточности видеоинформации.
Поскольку вероятность появления из для каждого символа в источнике не является постоянной, это приводит к потере кодовых слов, представляющих все символы из с одинаковой длиной.
проходитьэнтропиякодирование,Назначайте элементы кода разной длины разным элементам синтаксиса.,Это может эффективно устранить избыточность, вызванную вероятностью символов в информации.
Обычно используемые методы в существующем алгоритме видеокодирования включают кодирование переменной длины и арифметическое кодирование, а именно:
UVLC (универсальное кодирование переменной длины): в основном используется индексное кодирование Columbus.
В зависимости от разных типов изграмматических элементов обозначение разных способов изкодирования. Благодаря этим двум способам энтропийного кодирования достигается эффективность кодирования.
Баланс между вычислительной сложностью.
③、VCL NAL
видеокодированиесерединаиспользоватьизнравитьсяпредсказыватькодирование、Количественная оценка изменений、энтропиякодированиеждатькодирование Основная работа инструментасуществовать slice уровне или ниже, этот уровень часто называют «слоем кодирования видео» (видео Coding Layer, VCL)。
Взаимноверноиз,существовать slice Вышеописанный алгоритм обычно называют «Уровнем сетевой абстракции» (Network Abstraction Layer, NAL)。
определение дизайна NAL слойизосновной смыслсуществовать Впродвигать формат H.264 для видеоверной передачи данных по сети и хранения данных с помощью Affinity。
④, ранг и уровень
Чтобы адаптироваться к различным сценариям применения, H.264 также определяет три разных уровня:
Базовый уровень Профиль): В основном используется в области видеоконференций и видеотелефонной связи с низкой задержкой и поддержкой связи в реальном времени; I Полоски P Поддержка бандинга, энтропийного кодирования CAVLC алгоритм.
Основной уровень (Основной Профиль): в основном используется для цифрового ТВ-вещания, поддерживает ожидание хранения цифровых видеоданных, B; Полосатый двунаправленный прогноз и взвешенный прогноз, поддержка энтропийного кодирования. CAVLC и CABAC алгоритм.
Расширенный Профиль): в основном используется для онлайн-трансляций и трансляций по запросу. Поддерживает все функции базового профиля и поддерживает; SI и SP Чередование, поддержка сегментации данных для улучшения производительности по битовым ошибкам, поддержка B Полоскидобавлятьвернопредсказывать,Но CABAC и кодирование полей не поддерживаются.
CAVLC Поддержите всех из H.264 profiles,CABAC не поддерживается Baseline а также Extended profiles。
⑤ Общие кодеры.
H.264 да Что-то вродестандарты сжатия видео, Он лишь оговаривает, что он соответствует стандарту потока кода и формата. а Метод анализа каждого отдельного грамматического элемента в потоке кода. H.264 Стандарт не оговаривает процесс внедрения инструмента, что дает различным производителям и организациям большую степень свободы при внедрении. И создал некоторые из наиболее известных Сравнений с открытым исходным кодом. H.264 Проект кодека.
в H.264 Самыми известными программами кодирования, несомненно, являются два индивидуальных JM и X264, Оба они принадлежат H.264 стандарт кодирования из формы реализации.
Кодер JM слишком медленный, x264 довольно быстрый.
2. Принцип кодирования H.264 и его реализация.
①、Предисловие
H264 существующеевидео собирается на выходе и принадлежит к изданному уровню кодирования и декодирования, как показано на рисунке ниже. нные после выполнения кодированиясжатие представляют собой стандартное кодирование после изданных.
②、Понятия, связанные с H264
<1>、последовательность
H264 кодированиестандартныйсерединаподписаниз Теоретическая основаиндивидуальный Люди понимают это как:Ссылаясь на период времени внутри соседних изображений, пиксели, Разница в яркости и цветовой температуре очень мала.
так лицо верно какое-то время Внутри изображений нам не нужно заходить верно каждое изображение для полного кадризкодирование,И можно выбрать первое изображение кадра на этот раз в качестве полного кодирования.,И следующее изображение может записать первый кадр, полное кодирование пикселов изображения, разница яркости и цветовой температуры может быть,И так далее.
как это называетсяпоследовательность Шерстяная Ткань? Вышеупомянутые изображения Внутри не сильно изменились за этот период времени. Мы можем назвать набор изображений последовательностью. последовательность Можеткпонимается как наличие Взаимнотакой жеособенныйточкаизабзацданные。
<2>、тип рамы
H264 структурасередина,одинвидеоизображениекодированиеназадизданныепозвонил одинрамка,одинрамка Зависит отодинкусок(slice)илимногоиндивидуальныйкусоккомпозиция,одинкусок Зависит отодинилимногомакроблок(MB)композиция,один Макроскусок Зависит от 16x16 из yuv Состав данных. Макроблок как H264 кодированиеиз базового блока.
существовать H264 В протоколе определены три типа кадров, а именно: I Рама, Б рамкаи P рамка。
<3>、GOP(Группа изображений,группа изображений)
GOP Я также понимаю, что индивидуальный означает то же самое, что и последовательность почты.,За последнее время внутри коллекции изображений мало что изменилось.
GOP структура обычно состоит из двух отдельных цифр, например M=3,N=12。M обозначение I рамкаи P из расстояния между рамами, Н обозначениедваиндивидуальный I Расстояние между рамкой.
Выше M=3, N=12, структура GOP: IBBPBBPBBPBBI.
существоватьодин GOP Внутри I frame Декодирование не зависит ни от какого другого кадра, р frame Декодирование зависит от предыдущего из I frame или P frame,B frame Декодировать зависимости перед самым последним изодином I frame или P frame и Позже и совсем недавно изодин P frame。
<4>、IDR Кадр (ключевой кадр)
существованиекодирование декодируется для удобства. GOP первый в I фреймворк хотетьдругой I кадры, ставь первый I вызов кадра IDR, что позволяет легко контролировать процесс декодирования, так IDR Рамка должна быть I рамка, но I Рамки не обязательно IDR Рамка;РДЭ рамкаиз Функция да обновляется немедленно, чтобы ошибки не распространялись. IDR рамка Начать зановоизпоследовательностьначинатькодирование。I в рамке упоминается рамка, возможно, IDR Не будет。
I рамка не обязательно должна ссылаться на какую-либо рамку, нодаафтериз P рамкаи B Кадр возможен со ссылкой на этот I рамка Доизрамкаиз。
здесьиз B9 Просто обратитесь к IDR8 и P11, ссылка невозможна IDR8 Переднийизрамка
эффект:Изображение H.264 IDR для декодирования из такой жешаг,Когда декодер декодирует IDR изображения, немедленно очистите очередь опорных кадров, отбросьте все декодированные выходные данные или и снова выполните поиск набора параметров. Начать одну новую последовательность. Таким образом, если в предыдущей одиночной последовательности есть серьезная ошибка, существование может получить шанс на повторную синхронизацию здесь. РДЭ изображение за изображением изображение навсегда будетиспользовать IDR Перед тем как изображение изданное для декодирования.
③、Метод сжатия H264
H264 Используя основной алгоритм дарамка Внутрисжатиеирамка Интер сжатие, рамка Внутрисжатиедагенерировать I алгоритм кадриз, Генерируется межкадровое сжатие B рамкаи P рамкаизалгоритм.
рамка Внутри(Intraframe)сжатиетакже известный каксжатие пространства(Spatialcompression)。когдасжатиеодинрамкаизображениечас,Рассматривайте только эти кадризданные, не принимая во внимание избыточную информацию между соседними кадризданными.,Это на самом деле похоже на статические изображения. Рамка Внутри обычно использует алгоритм сжатия с потерями.,Благодаря рамке Внутрисжатиедакодированиеодин полное из изображения,так можно декодировать и отображать независимо. Удлинение внутри рамки, как правило, не очень высокое.,икодирование jpeg почти
рамкамежду(Interframe)сжатиеизпринципда:Существует большая корреляция между соседними кадризданными,Автор сказал, что изменения в информации между двумя до и после очень малы. То есть между последовательным извидео и соседним кадром имеется избыточная информация.,По этой характеристике,Количество дублирования между соседними рамками может еще больше увеличить степень сжатия.,уменьшатьсжатие Сравнивать。рамкамежду сжатием, также известную как сжатие по времени(Temporalcompression),Это делается путем сравнения разных кадров и изображений на временной шкале. рамкисжатие, как правило, без потерьиз. Алгоритм разницы кадров (Framedifferencing) и типичный метод растяжения по времени,Это разница между этой рамкой и соседней рамкой по Сравнивать,Запишите только разницу между этой рамкой и соседней рамкой.,Это может существенно сократить объем данных.
Описание метода сжатия
Шаг 1: Группа,То есть да классифицирует серии изображений с небольшим преобразованием в одну группу.,То есть последовательность даодин,Также можно назвать Республиканская партия (группа фотографий) ;
Шаг 2: определите кадр, разделите каждый кадр изображения на I-кадр, P-кадр и B-кадр трех типов;
Шаг 3: Спрогнозируйте кадр, чтобы I рамка Сделано Базарам,к I рамкапрогноз P рамку, затем I рамкаи P рамкапрогноз B рамка;
Шаг 4: передача данных и, наконец, I Рамданные предсказания из разностной информации сохраняются и передаются.
④ Многослойная структура H264.
H.264 Исходный поток кода (голый поток) состоит из одного за другим NALU композиция,Его особенности разделены на два слоя,VCL(видеокодированиеслой)и NAL (уровень сетевой абстракции)
H264 из Основная цельда Для того, чтобы иметь высокое извидеосжатие Сравнивание и хорошую близость к сети, чтобы достичь этих двух индивидуальных целей, H264 изSolution да будет структура системы разделена два индивидуальных уровня, соответственно уровень давидеокодирования (VCL) Уровень сетевой абстракции (NAL), как показано ниже;
VCL Слой (слой видеокодирования) даверно основной механизм алгоритма, блок, макроблок и срез синтаксиса, уровень определения, отвечающий за эффективное представление видеоданныхизсодержание, окончательное выходное кодирование, полное изданное SODB
верновидеоизоригинальныйданныеруководитьсжатие。
NAL Уровень (уровень сетевой абстракции) определяет уровень синтаксиса над уровнем среза (например, набор параметров набора параметров последовательности и набор параметров изображения для передачи по сети, который будет описан позже) и отвечает за форматирование файла соответствующим образом. требуемую сетью, и предоставить головную информацию, чтобы гарантировать, что данные подходят для передачи по различным каналам и носителям. НАЛ общий слой SODB Упаковано в RBSP затем добавь NAL головакомпозицияодин NALU единица.
потому что H264 В конце концов, необходимо передавать по сети. При передаче максимальное время передачи сетевого пакета составляет единица. 1500 Байт, один H264 израмка часто больше, чем да 1500 Байты, поэтому для передачи необходимо разделить на несколько отдельных пакетов. Все эти задачи по распаковке и сборке пакетов существуют. NAL слой для обработки.
RBSP:оригинальныйбайтпоследовательностьнагрузка,дасуществовать исходный код с добавлением окончания Сравнивать,один bit“1”и Несколькоиндивидуальный Сравниватьособенный“0”,Для байтов верно ци.
<2>、SODB RBSP EBSP Разница
SODB(String of Data Bits,данные Сравниватьспециальная строка)
Самый оригинальный, необработанныйизкодированиеданные
потому что оно вытекает из формы, поэтому длина не обязательно да 8 Кратно, оно состоит из VLC Слой производит из. Поскольку наш компьютер 8 Множества идут на обработку данных, существующих так компьютерная обработка H264 когда это необходимо RBSP。
существовать SODB Добавлена концовка после из bit(RBSP trailing bits один bit ‘1’) Несколько bit «0», чтобы все байты были равны.
Благодаря этому даодинсжатие потока, SODB Не знаю, где заканчивается дасуществовать, так алгоритм существует SODB Последнее дополнение 1. Если байты не равны, то дополнить 0。
NALU Начальный код из: 0x000001 или 0x00000001 (стартовый код включает два типа: 3 Байт(0x000001)и 4 байт(0x00000001),существовать SPS、PPS и Access Unit из Нет.один NALU использовать 4 Байтовый стартовый код, остальные условия используются. 3 Байтовый стартовый код. )
существоватьгенерироватьсжатиепоток Изназад,существовать каждый день с открытой головой Добавьте один начальный бит,этотиндивидуальныйстартовый битодин Общийда 00 00 00 01 или ВОЗда 00 00 01。таксуществовать h264 Поток кода предусматривает, что каждые два последовательных отдельных 00 00, просто добавь единицу 0x03。
Байт проверки имитации (0x03)
в то же время H264 предусматривает, что при обнаружении 0x000000 когда это также может означать текущий NALU из Конец. Тогда это вызовет проблемы, просто да, если они существуют NALU из Внутри отдел, появился 0x000001 или 0x000000 Что я должен делать?
существовать RBSP База заменена на Байт проверки имитации (0x03)этоизпричинада:существовать NALU добавить в Annexb При загрузке необходимо заполнить каждую группу NALU Перед началом кода StartCodePrefix, если NALU верноотвечатьиз срез - это рамкаиз начать с 4 Бит-байтовое представление, 0x00000001, в противном случае используйте 3 бит-байтовое представление 0x000001, чтобы сделать NALU В теле не содержится конфликт стартового кода из-за существования кодирования, каждый раз, когда последовательно встречаются два отдельных байта. 0, вставьте один байт из 0x03. При декодировании, 0x03 Удалять. Также называется операцией обстрела.
Схема отношений:
Зачем брать один EBSP Шерстяная ткань?
EBSP по сравнению с RBSP, Еще для предотвращения гонки изодин байтов: 0x03。
Мы знаем, что НАЛУ Начальный код из: 0x000001 или 0x00000001, одновременно H264 предусматривает, что при обнаружении 0x000000 когда это также может означать текущий NALU из Конец. Тогда это вызовет проблемы, просто да, если они существуют NALU из Внутри отдел, появился 0x000001 или 0x000000 Что я должен делать?
так H264 Был предложен механизм «предотвращения конкуренции», когда кодер заканчивает кодирование. NAL когда это должно быть обнаружено NALU Внутри части да выглядит следующим образом: индивидуальный последовательность слева. Когда он обнаруживает, что они сохранены в существовании, последний один байт кодирования существования, Вставка одного нового из байтов: 0x03.
⑤ Структура потока кода H264.
существоватьспецифический Рассказывать NAL Перед запуском агрегата очень важно понять H264 из Поток кодаструктура;существоватьпройтикодированиеназадиз H264 Поток кода показан на рисунке ниже. Из рисунка нам нужно получить понятие единицы, H264. Поток кодада Зависит отодининдивидуальныйиз NAL единицакомпозиция,в SPS、PPS、IDR и SLICE да NAL единицы определенного типа изданные.
⑥ Блок НАЛ H264.
<1>、H264 из NAL структура
существующиеактуализированныесетевые во время передачи H264 изданныеструктурадак NALU(NAL единицы) для передачи, передача данныхструктуракомпозиции для [NALU Header]+[RBSP], как показано на рисунке ниже:
VCL слойкодированиеназадизвидеорамкаданные,рамкаиметьвозможныйда I/B/P кадр, эти кадры также могут принадлежать разным последовательностям, и одна и та же последовательность также имеет соответствующий набор параметров последовательности и набор параметров изображения для завершения точного декодирования видео, в дополнение к необходимости; VCL слойкодированиепублично заявитьизвидеорамкаданные,в то же время тоже надо перенести набор параметров последовательности Наборы параметров изображения и так далее.
Вышеупомянутое знает NAL единицы как актуальные видеоданные передачи из базовой единицы, NALU головада используется для обозначения спины RBSP да какой тип изданные,в то же время Записывать RBSP данныеда Будет ли этодругойрамкассылкаа Также Проверьте, нет ли ошибок при передаче по сети.
<2>、NAL голова
NAL единицаизголоваотделениеда Зависит от forbidden_bit(1bit),nal_reference_bit(2bits)(приоритет),nal_unit_type(5bits)(тип)триотделениеточкакомпозицияиз, Состав представлен на рисунке ниже:
F (запрещено): запрещенный бит, занят NAL головаиз одного бита, когда значение запрещенного бита равно 1 указывает на синтаксическую ошибку
NRl: эталонный уровень, занятый NAL голова со второй по третью цифры, чем больше значение, Должен NAL тем важнее
Type:Nal Тип данных ячейки,также Сразудалоготип Должен NAL количествоизданные типа да которые, занимают NAL головаиз 4-го по 4-й 8 цифры
<3>、NAL Тип данных ячейки
NAL Основные типы: Каждый из типов на рисунке ниже выполняет специальную функцию;
существоватьспецифическийпредставлять NAL Перед типом данных нужно знать NAL разделен на VCL иНе-VCL из NAL единица.
Кроме того, необходимо понимать концепцию набора параметров (Параметр sets) , набор параметров да содержит параметры декодирования из NAL единица, набор параметров действительно очень важен для правильного декодирования да Нетиз, существуетодин в сценариях передачи с потерями, С специально сравнивать во время процесса передачи Пакеты столбцов могут быть потеряны или повреждены. В этой сетевой среде набор параметров может быть отправлен через высококачественную службу с использованием механизма прямого исправления ошибок и механизма приоритетов.
Не-VCL из NAL данныетип:
SPS (Набор параметров последовательности): SPS верно, например, идентификатор, номер рамки Также обратитесь к номеру кадра, размеру декодированного изображения и рамке режима поля, параметрам декодирования ожидания для идентификационной записи.
PPS (набор параметров изображения): PPS верно, например, тип энтропийного кодирования, количество допустимых эталонных изображений и параметры декодирования ожидания инициализации для записи флага.
SEI (дополнительная расширенная информация): Эту часть параметров можно использовать как H264 из Сравниватьособенныйпотокданные передаются, каждый SEI Информация инкапсулирована в один NAL единица.SEI верно, может быть полезно для декодеров, но не обязательно для базового процесса декодирования.
VCL из NAL данныетип:
головаинформациякусок,Включает тип макроблока,Параметр квантования,Вектор движения. Эта информация является самой важной,потому что оставить их, поскольку изданные блоки типа элементов кода использовать невозможно. Долженданный чанкинг называется A добрыйданныеточкакусок。
рамка Внутрикодированиеинформацияданныекусок,называется B Разделение данных класса. Содержит тип макроблока «рамка Внутрикодирование», коэффициенты «рамка Внутрикодирование». верно следует из slice Например, Б Наличие фрагментов данных класса зависит от A добрыйданныеточкакусок。ирамкамеждукодированиеинформацияданныекусок Не имеет смыслаизда,рамка Внутрикодирование информации позволяет предотвратить дальнейшие отклонения,Поэтому информация между Сравнитьрамкакодированием более важна.
рамкамеждукодированиеинформацияданныекусок,называется C Разделение данных класса. Содержит типы макроблоков кадрового кодирования, коэффициенты кадрового кодирования. обычно это да slice Самая большая часть вида. Рамка для кодирования блока данных с информацией не является важной частью. Содержащаяся в нем информация не обеспечивает совместимость между кодеками. С Наличие фрагментов данных класса также зависит от A Данные класса разбиты на части, но в Bдобрыйданныеточкакусокне имеющий отношения。
к Вышеупомянутые три типаданныекусок Каждыйдобрыйточкарезать отдельноизмагазинсуществоватьодин NAL единицы и поэтому может передаваться индивидуально
<4>、NAL Unit
один H264 израмка По меньшей мере Зависит отодинрезатькусоккомпозиция,Не могу жить без кусочков,Можеткдаодинприезжатьмногоиндивидуальный。
существующая сетевая передача из одного кадра H264, возможно, потребуется обрезать для передачи,один не может быть передан полностью за один раз,Просто нарежьте его ломтиками.
Каждыйодинрезатькусоккомпозицияодин NAL Unit。
<5>、резатькусоки Макроскусокизсвязь
существоватьрезатькусокданныесередина,Включать Несколькомакроблок。 Существующий макроблок также включает в себя тип макроблока, прогноз макроблока и данные об остаточных ошибках.
<6>、H264 из NAL единицыаиизсвязь между планшетами и макросами
1 рамка (изображение) = 1~N кусочек //Вы также можете сказать 1 К нескольким индивидуальным произведениям для одной съемочной площадки
1 срез = 1~N макроблоков (маркроблок)
1 макроблок = 16X16 из YUV данные(оригинальныйвидеоколлекцияданные)
С точки зрения уровня данных,Оригинал из картины можно считать из-рамкой в широком смысле.,рамкасодержит набор деталей и деталей,Съемки фильма по композиции фильма,Пленки изготавливаются из макроблоков.,Каждыймакроблок Можеткда 44、88、16*16 Масштаб и размер пикселей, а также взаимосвязь между ними показаны на рисунке.
В то же время есть несколько моментов, которые необходимо объяснить, чтобы было легче понять блок NAL:
Если не принять Механизм FMO (гибкое упорядочение макроблоков),Тогда изображение имеет только одну группу пленок;
Если индивидуальных предметов больше нет, то в группе из одного предмета будет только один предмет;
Если не принять Механизм DP (раздела данных), Тогда фильм один даодин NALU,один NALU Тоже даодин фильм. В противном случае необходимо выполнить одиночную композицию. три NALU композиция, то есть из упомянутых выше на да A、 B、 C добрыйданныекусок
В настоящее время существуют данные потока кода, расположенные ниже: На рисунке ниже можно лучше понять общую структуру структуры потока кода.
как мы видим,КаждыйиндивидуальныйШардингтакже Включать Сголоваиданныедваотделениеточка;Шардингголовасередина Включать СШардингтип、Шардингсерединаиз Макроскусоктип、Шардинграмкаизколичествоа такжеверноотвечатьизрамкаизнастраиватьипараметрждатьинформация;иШардингданныесерединанода Макроскусок,Здесь ищем место для хранения пикселей,Макроблок давидео основной носитель информации из,потому что Он содержит информацию о яркости и цветности для каждого пикселя.
видео Расшифровка самого важногохотетьизправила работыда Обеспечить эффективноеизпуть от Поток кодасерединаполучать Макроскусоксерединаизмассив пикселей。
Макроскусокданныеиз Состав представлен на рисунке ниже:
На рисунке выше вы можете видеть, что макроблоки включают в себя тип макроблока, тип прогнозирования, кодированный Block Pattern、Quantization Parameter、Пиксельизяркостьицветностьданныенаборждатьждатьинформация。
Необходимо отметить несколько моментов:
H.264/AVC Стандартно верно отправлено в декодер из NAL Последовательность единиц да имеет строгие требованияиз,Если NAL-значаиз, закажите дахаосиз,Его необходимо реорганизовать согласно спецификации и отправить в декодер.,В противном случае декодер не сможет правильно декодировать.
набор параметров последовательности (sps) NAL единица должна существовать, чтобы передать весь этот набор параметров в качестве ссылки издругой NAL единица, переданная ранее,Но разрешено Эти NAL В центре появляется дубликат набора параметров последовательности. NAL Так называемое повторение подробно объясняется как: набор параметров последовательности. NAL единица имеет свой специализированный идентификатор, если установлены два индивидуальных параметра последовательности NAL единицаизлоготип Взаимнотакой же,Можно считать, что последний один является лишь копией первого.,и Нетновыйизпоследовательностьпараметрнабор。
Набор параметров изображения (pps) NAL единица Должен существовать весь этот параметр, установленный в качестве эталонной издругой NAL единица, переданная раньше, но это разрешено NAL Посередине появляется набор повторяющихся параметров изображения. NAL единицы, это и приведенное выше значение из набора параметров последовательности NAL единицада Взаимнотакой же
3. Основы кодирования AAC
AAC да Расширенное кодирование аудио (Расширенное Audio Кодирование) из аббревиатуры AAC да Новое поколение технологии потери звука
1. Характеристики кодировки AAC
AAC Да, алгоритм сжатия звука с высокой степенью сжатия, но его сжатие является гораздо более продвинутым, чем более старые алгоритмы сжатия звука, такие как AC-3、MP3 ждать. И его качество может быть таким же, как у Wei сжатия. CD Качество звука сопоставимо.
То же, что и другой аналогичный алгоритм кодирования аудио, AAC. Также да используется алгоритм кодирования преобразования, но AAC Use имеет более высокое разрешение банка фильтров, поэтому может достигать более высокого искажения.
AAC использовать временное преобразование шума、обратное адаптивное линейное прогнозирование、Объединенная стереотехнологияи Количественный Хаффманкодированиеждатьбольшинствоновыйтехнология,Эти новые технологии еще больше улучшили сжатие и выравнивание.
AAC поддерживать Дажемногодобрый采样Ставкаи Сравниватьособенный Ставка、поддерживать 1 Приезжать 48 треков, поддерживающих до 15 низкочастотный трек、Многоязычная совместимость、возвращатьсяиметьмногодостигать 15 индивидуальный Внутривстроенныйданныепоток。
AAC поддерживатьБолее широкий диапазон звуковых частот,До 96 к Гц, всего лишь 8к Гц,далеко и широко В MP3 из 16KHz-48kHz вне диапазона.
отличается от MP3 и WMA,ААС почти не теряет очень высокие и очень низкие составляющие звуковой частоты.,и Сравнивать WMA Существующая структура спектра ближе к исходному звуку, поэтому качество звука лучше. Профессиональные отзывы показывают, что AAC Сравнивать WMA Звук чище и ближе к оригинальному звуку
AAC Оптимизированный алгоритм используется для достижения более высокой эффективности декодирования, требуя меньше вычислительной мощности во время декодирования.
2. Формат аудиофайла AAC.
① Тип формата аудиофайла ACC.
Формат аудиофайлов AAC: ADIF, ADTS.
ADIF:Audio Data Interchange Format Формат обмена аудиоданными. Этот формат с функцией может определять начало этих отдельных аудиоданных без необходимости существования начала аудиоданных в середине потока декодирования, то есть декодирование должно быть четко определено с момента начала. Поэтому этот формат обычно используется в существующих дисковых файлах.
ADTS:Audio Data Transport Stream Транспортный поток аудиоданных. Характеристики этого формата даит даодин имеют одинаковый символ шага из-С выравнивания специального потока, декодирование может начинаться в любой позиции существования этого индивидуального потока. Его характеристики аналогичны mp3 данныепоток Формат。
Проще говоря, АДТС Его можно декодировать с помощью любого существующего кадра, а это означает, что каждый кадр содержит информацию о голове. АДИФ Только один единый изголова, поэтому его необходимо расшифровать после получения всех изданных. Эти два вида header Формат из также отличается от да, обычно кодирование извлекается после изи, а из — это все да. ADTS Формат аудиопотока.
AAC из ADIF Формат файла следующий:
AAC из ADTS Формат файла следующий:
② Структура заголовка ADIF.
ADIF информация изголова следующая:
ADIF Информация о голове находится по адресу AAC Начало файла, Далее, данепрерывноиз Raw Data Blocks。
композиция ADIF Информация о голове из отдельных полей следующая:
③ Структура заголовка ADTS.
ADTS из информации о фиксированной голове:
ADTS информация изпеременнойголовы:
рамкатакой жешагглазизсуществовать Ввыяснитьрамкаголовасуществовать Сравниватьособенныйпотоксерединаиз Расположение,13818-7 правила, ААС ADTS Формат израмкаголова такой же, как и шаг. 12 Сравниватьособенныйиз“1111 1111 1111”。
АДТС изголова информация в двух частях композиция,Один из них — фиксированная информация о голове.,За ним следует сообщение переменной головы. Фиксированная информация о голове в изданных кадрах одинакова.,Переменная информация головы является переменной между существующими рамкаирамками.
SCE: Single Channel Element Одноканальный элемент. Одноканальные элементы в основном состоят только из одного ICS композиция. один исходный блок данных, скорее всего, был создан 16 индивидуальный SCE композиция。
CPE: Channel Pair Element Двухканальные элементы, состоящие из двух человек, могут обмениваться дополнительной информацией из ICS Некоторое совместное стереокодирование информационной композиции. один исходный блок данных может состоять из 16 индивидуальный SCE композиция。
CCE: Coupling Channel Element канал связиэлемент。представлятьодинкусокизмногокомбинированное стереоканалыинформацияили ВОЗмного语добрый程序изверноразговариватьинформация。
LFE: низкочастотный элемент. Содержит один расширенный канал с низкой частотой дискретизации.
DSE: Элемент потока данных. Элемент потока данных, который содержит некоторую дополнительную информацию, не принадлежащую аудио.
PCE: Program Config Element Элементы конфигурации программы. Содержит информацию о конфигурации канала. может показаться, что оно существует ADIF Информация отдела головы.
FIL: Элемент заливки. Элемент заливки. Содержит некоторую расширенную информацию. Например, SBR, информация управления динамическим диапазоном и т. д.
⑤ Процесс обработки файла AAC.
(1) Определите формат файла, определяется как ADIF или ADTS
(2) Если ADIF, решение ADIF информация о голове, перейти на страницу 6 шаг
(3) Если ADTS,находясь в поискетакой жешагголова
(4) Решение ADTS рамкаголоваинформация
(5) При обнаружении ошибки выполните обнаружение ошибок.
(6) Информация о разблокировке
(7) Рассчитать информацию об элементе
3. Алгоритм обработки алгоритма кодирования
первыйверновходитьиз PCM Сегментация сигнала, по кадру на канал 1024 образцы, используя 1/2 Перекрывайте и объединяйте, чтобы получить 2048 образцы.
После добавления окна выполните дискретное косинусное изменение (MDCT) и выведите 1024 отдельные спектральные компоненты, разделенные на разные частоты дискретизации и типы блоков преобразования. 10 индивидуальные Различные полосы пропускания из примера поддиапазонов. в Изменить тип блока на психоакустическая модель Рассчитанная и проанализированная модель также выведет прикрыть Сравнивать,использовать Вназад Продолжить плесенькусокизиметь дело с。
AAC возвращатьсяиспользовать Понятно Что-то вроденовыйизназываетсяФормирование шума во временной областиизтехнология,простойназывается TNS。TNS из Механизм действия существует на основе использования сигнала во временной и частотной областях, изверно непредвиденных обстоятельств.
Квантование — это двухуровневый алгоритм вложенного цикла, позволяющий взвесить противоречие между скоростью кода и искажениями.
наконец,Выполнить специальную инкапсуляцию потока Сравнивать.,Получите поток кода после получения сжатия.