Способ и устройство для извлечения i-кадра
Изобретение относится к вычислительной технике. Технический результат заключается в быстром и точном определении начального и конечного положений I-кадра. Способ для извлечения I-кадра включает анализ пакетов транспортного потока в транспортном потоке одного за одним и если установлено, что текущий пакет транспортного потока является видеопакетом и содержит заголовок пакетного элементарного потока (PES), выполнение определения согласно данным после PES заголовка в текущем пакете транспортного потока, чтобы определить начальное и конечное положения I-кадра; при этом на шаге осуществления определения согласно данным после PES заголовка для определения конечного положения I-кадра, если устанавливается, что байты после PES заголовка в текущем пакете транспортного потока содержат информацию среза и устанавливается, что начальный идентификационный элемент в информации среза распознается как начальные данные данного кадрового изображения, предыдущий пакет транспортного потока текущего пакета транспортного потока определяется как конечное положение I-кадра. 2 н. и 8 з.п. ф-лы, 3 ил.
Область изобретения
Данное изобретение касается области мультимедийных технологий, и, в частности, способа и устройства для извлечения I-кадра.
Предпосылки изобретения
Услуги IP телевидения (IP телевидение, IPTV) - это общий термин для услуг, которые предоставляют пользователям вещание телевизионных программ, видео по требованию, воспроизведение со сдвигом во времени и различные другие прикладные услуги и вспомогательные интерактивные возможности через базовую сеть с передачей по протоколу Internet Protocol (IP). Система IPTV содержит, по крайней мере, такие устройства, как сервер, сеть, приставка-декодер, телевизор, и т.п., и кода система IPTV работает, сервер передает по сети мультимедийные данные на приставку-декодер, а приставка-декодер декодирует данные и отправляет декодированные данные на телевизор для воспроизведения.
Такие приложения, как видео по требованию, воспроизведение со сдвигом во времени и т.п., в услугах IPTV требуют использования технологии извлечения I-кадра, чтобы помогать пользователям выполнять такие операции, как позиционное воспроизведение, ускоренная перемотка вперед и назад и т.п. Например, при позиционном воспроизведении для воспроизведения необходимо перескочить к I-кадру, ближайшему к временной точке позиционирования. Поскольку данные перед I-кадром не могут быть корректно декодированы, то, если данные передаются на декодер, - это не только потеря пропускной способности сети и времени, но также и получение данных, которые не могут быть декодированы. Следовательно, то, как быстро и точно определить положение ближайшего I-кадра, является критически важным. В другом примере, для ускоренной перемотки вперед и назад, из-за ограничений пропускной способности сети, чтобы быстро отвечать на действия ускоренной перемотки вперед и назад пользователей, все данные, передаваемые сервером на приставку-декодер, являются данными I-кадра и, следовательно, при обеспечении функции ускоренной перемотки вперед и назад, серверу требуется точно знать конкретное положение I-кадра заблаговременно.
Подводя итоги, для различных обслуживающих приложений, независимо от сервера или приставки-декодера, I-кадр необходимо извлекать быстро, и положение I-кадра необходимо определять точно и своевременно в определенном окружении приложения. В настоящее время алгоритмом сжатия видео, используемым для услуг IPTV, как правило, является протокол Н.264, а для пакетирования используется режим транспортного потока (TS). Когда I-кадр извлекается из транспортного потока, необходимо проанализировать синтаксис транспортного потока, т.е., анализируя синтаксис Н.264 в потоках кода, определить начальное и конечное положения I-кадра. Когда анализируются потоки битов протокола Н.264, необходимо, по крайней мере, разбирать семантику набора параметров последовательности (SPS), набора параметров изображения (PPS) и среза и, следовательно, необходимо расходовать определенное пространство памяти и ресурсы процессора, а дополнительное потребление в свою очередь приведет к расходу времени, что повлияет на скорость определения положения I-кадра.
Краткое описание изобретения
Техническая задача, которая должна быть решена данным изобретением, состоит в предоставлении способа и устройства для извлечения I-кадра, которые используются для быстрого и точного отыскания начального и конечного положений I-кадра, таким образом осуществляя извлечение и определение положения I-кадра.
Для того чтобы решить вышеуказанную техническую задачу, данное изобретение предоставляет способ для извлечения I-кадра, содержащий:
анализ пакетов транспортного потока в транспортном потоке одного за одним, и если текущий пакет транспортного потока определен как видеопакет и содержит заголовок пакетного элементарного потока (PES), то производится определение согласно данным после PES заголовка в текущем пакете транспортного потока, чтобы определить начальное положение и/или конечное положение I-кадра.
Предпочтительно, на шаге определения того, что текущий пакет транспортного потока является видеопакетом, устанавливается, является ли идентификатор пакета текущего пакета транспортного потока идентификатором видеопакета в транспортном потоке, и если да, то устанавливается, что текущий пакет транспортного потока является видеопакетом.
Предпочтительно, на шаге определения того, что текущий пакет транспортного потока содержит PES заголовок, устанавливается, являются ли первые три байта полезной нагрузки текущего пакета транспортного потока начальными кодами PES, и, если да, устанавливается, что текущий пакет транспортного потока содержит PES заголовок.
Предпочтительно, на шаге определения согласно данным после PES заголовка начального положения I-кадра, если устанавливается, что байты после PES заголовка в текущем пакете транспортного потока содержат начальные коды набора параметров последовательности (SPS) или набора параметров изображения (PPS), текущий пакет транспортного потока определяется как начальное положение I-кадра.
Предпочтительно, на шаге определения согласно данным после PES заголовка конечного положения I-кадра, если устанавливается, что байты после PES заголовка в текущем пакете транспортного потока содержат информацию среза и устанавливается, что начальный идентификационный элемент в информации среза распознается как начальные данные данного кадрового изображения, пакет транспортного потока, предыдущий текущему пакету транспортного потока, определяется как конечное положение I-кадра.
Предпочтительно, на шаге определения того, что байты после PES заголовка в текущем пакете транспортного потока содержат информацию среза, определяется, является ли тип текущего уровня сетевой абстракции одним из среза изображения мгновенного обновления декодирования, среза изображения не мгновенного обновления декодирования, SPS и PPS в данных после PES заголовка, и если так, то определяется, что пакет данных после PES заголовка содержит информацию среза.
Для решения вышеуказанной технической задачи данное изобретение предоставляет устройство для извлечения I-кадра, содержащее: модуль разбора пакета транспортного потока, модуль анализа PES пакета, модуль управления извлечением, модуль поиска начального положения и модуль поиска конечного положения, и модуль разбора среза, где
модуль разбора пакета транспортного потока настроен получать пакеты транспортного потока, анализировать пакеты транспортного потока один за одним, и устанавливать, является ли текущий пакет транспортного потока видеопакетом, и если да, то отправлять текущий пакет транспортного потока для обработки на модуль анализа PES пакета;
модуль анализа PES пакета настроен устанавливать, содержит ли пакет транспортного потока PES заголовок, и если да, передавать пакет транспортного потока для обработки на модуль управления извлечением;
модуль управления извлечением настроен посылать пакет транспортного потока для обработки на модуль поиска начального положения, если устанавливается, что требуется искать начальное положение I-кадра; и посылать пакет транспортного потока для обработки на модуль поиска конечного положения, если устанавливается, что требуется искать конечное положение I-кадра;
модуль поиска начального положения настроен устанавливать, содержат ли байты после PES заголовка начальные коды SPS или PPS, и если да, устанавливать, что текущий пакет транспортного потока является начальным положением I кадра и уведомлять модуль разбора пакета транспортного потока о необходимости продолжать получать следующий пакет транспортного потока для обработки; и
модуль поиска конечного положения настроен устанавливать, содержат ли байты после PES заголовка информацию среза, и если да, то передавать на модуль разбора среза, чтобы определять, является ли начальный идентификационный элемент в информации среза опознанными начальными данными данного кадрового изображения, и если это начальные данные, устанавливать, что предыдущий пакет транспортного потока является конечным положением I-кадра и уведомлять модуль разбора пакета транспортного потока о необходимости продолжать получать следующий пакет транспортного потока для обработки после установления конечного положения.
Предпочтительно, модуль разбора пакета транспортного потока также настроен устанавливать, является ли идентификатор пакета текущего пакета транспортного потока идентификатором видеопакета в транспортном потоке, и если да, то устанавливать, что пакет транспортного потока является видеопакетом.
Предпочтительно, модуль анализа PES пакета также настроен устанавливать, являются ли первые три байта полезной нагрузки текущего пакета транспортного потока начальными кодами PES, когда пакет транспортного потока является видеопакетом, и если да, устанавливать, что пакет транспортного потока содержит PES заголовок.
Предпочтительно, модуль поиска конечного положения также настроен устанавливать, является ли тип текущего уровня сетевой абстракции одним из среза изображения мгновенного обновления декодирования, среза изображения не мгновенного обновления декодирования, SPS и PPS в данных после PES заголовка в текущем пакете транспортного потока, и если да, устанавливать, что данные после PES заголовка содержат информацию среза.
Предпочтительно, устройство извлечения также содержит модуль кэширования,
модуль кэширования настроен кэшировать полученные пакеты транспортного потока в транспортном потоке для модуля разбора пакета транспортного потока, чтобы получать пакеты транспортного потока.
Способ и устройство для извлечения I-кадра согласно данному изобретению не требуют разбирать синтаксические элементы, такие как SPS, PPS, срез, и т.н. в H.264 при извлечении I-кадра, но могут определять положение I-кадра путем простого сравнения различных TS пакетов в транспортном потоке и произведением определения, таким образом имея возможность найти начальное и конечное положения I-кадра и имея возможность произвести извлечение и позиционирование I-кадра быстро и точно, чтобы обеспечить быстрый ответ для пользовательского служебного приложения.
Краткое описание графических материалов
Фиг.1 представляет собой блок-схему осуществления способа для извлечения I-кадра согласно данному изобретению.
Фиг.2 представляет собой блок-схему конкретного примера осуществления способа для извлечения I-кадра согласно данному изобретению.
Фиг.3 представляет собой блок-схему осуществления устройства извлечения для извлечения I-кадра согласно данному изобретению.
Предпочтительные варианты осуществления данного изобретения
Чтобы сделать цели, технические построения и преимущества данного изобретения более ясными, данное изобретение будет описано более подробно вместе с сопутствующими графическими материалами.
Данное изобретение касается технологии извлечения I-кадра Н.264 TS потоков в области IPTV. В системе IPTV перед каждым I-кадром будет SPS и PPS, и они тогда будут обозначены PES заголовком, чтобы инкапсулироваться в TS пакет. Данному изобретению нужно лишь анализировать синтаксис транспортного потока, просто сравнивать TS пакеты и производить определение согласно сравнению данных после заголовка PES пакета, чтобы быть в состоянии точно определять начальное и конечное положения I-кадра, предоставляя способ и устройство для извлечения I-кадра быстро и эффективно, таким образом имея возможность сэкономить объем памяти и ресурсы процессора и являясь более легким для реализации во встраиваемых устройствах. Данному изобретению не требуется разбирать синтаксические элементы, такие как SPS, PPS и срез, и т.п. в H.264, и оно может определять положение I-кадра путем простого сравнения и произведением определения, что имеет преимущества, такие как быстрота, простота и точность, и т.п.
Основанный на вышеизложенной идее способ для извлечения I-кадра согласно данному изобретению, как показано на Фиг.1, включает следующие шаги.
На шаге S1 в транспортном потоке получается TS пакет и когда устанавливается, что TS пакет является видеопакетом и содержит PES заголовок, далее устанавливается, следует ли на данный момент искать начальное положение или конечное положение I-кадра, если нужно искать начальное положение, осуществляется переход на шаг S2, а если нужно искать конечное положение, то осуществляется переход на шаг S3.
На шаге S2, если байты после PES заголовка содержат начальные коды SPS или PPS, устанавливается, что текущий TS пакет является начальным положением I-кадра, и происходит возврат на шаг S1, чтобы продолжать получать следующий TS пакет для обработки.
На шаге S3, если байты после PES заголовка содержат информацию среза, устанавливается, распознается ли начальный идентификационный элемент в информации среза как начальные данные данного кадрового изображения, и если да, то предыдущий TS пакет устанавливается как конечное положение I-кадра и после принятия решения происходит возврат на шаг S1, чтобы продолжать получать следующий TS пакет для обработки.
На шаге S1, если TS пакет не является видеопакетом, следующий TS пакет в транспортном потоке непосредственно принимается на обработку. При определении, если идентификатор пакета (Packet Identifier, PID) текущего TS пакета представляет собой видео PID в транспортном потоке, отмечается, что TS пакет является видеопакетом; и если это видеопакет, но не содержит PES заголовка, следующий TS пакет в транспортном потоке непосредственно принимается на обработку, где, если первые три байта полезной нагрузки текущего TS пакета являются начальными кодами 0×000001 PES, можно устанавливать, что TS пакет содержит информацию PES заголовка; иначе TS пакет не содержит информации PES заголовка.
На шаге S2, если TS пакет не содержит начальных кодов наборов параметров SPS/PPS, отмечается, что TS пакет не имеет начальных данных I-кадра, и осуществляется возврат на шаг S1, чтобы непосредственно продолжать анализировать следующий TS пакет.
На шаге S3, если текущий тип сетевого уровня абстракции (Network Abstraction Level, NAL) является одним из среза изображения мгновенного обновления декодирования (Instantaneous Decoder Refresh, IDR), среза не-IDR изображения, SPS, PPS в данных после PES заголовка, устанавливается, что данные после NAL являются информацией заголовка среза; иначе происходит возврат на шаг S1, чтобы продолжать анализировать следующий TS пакет.
Здесь начальный идентификационный элемент в информации среза - это синтаксический элемент first_mb_in_slice информации текущего среза, и устанавливается, равняется ли значение синтаксического элемента first_mb_in_slice нулю, и если да, то отмечается, что первый макроблок среза является первым макроблоком данного кадрового изображения, что также показывает, что срез представляет собой начальные данные данного кадрового изображения, т.е. найдено начальное положение нового кадра, после чего предыдущий TS пакет может быть определен как конечное положение I-кадра. Если значение синтаксического элемента first_mb_in_slice не равно нулю, происходит возврат непосредственно на шаг S1, чтобы продолжать анализировать следующий TS пакет.
Как видно на Фиг.2, показывается блок-схема извлечения I-кадра согласно данному изобретению, на которой транспортный поток заносится в память после получения, а затем TS пакеты анализируются один за другим. Конкретные шаги для реализации извлечения I-кадра следующие.
На первом шаге TS пакеты анализируются один за другим, и когда каждый TS пакет анализируется, сначала устанавливается, является ли TS пакет видеопакетом, и если PID текущего TS пакета представляет собой видео PID в транспортном потоке, это показывает, что TS пакет является видеопакетом, и осуществляется переход на второй шаг; иначе это показывает, что TS пакет не является видеопакетом, и осуществляется переход на первый шаг, чтобы анализировать следующий TS пакет.
На втором шаге устанавливается, содержит ли TS пакет заголовок PES, и если да, то осуществляется переход на третий шаг; иначе осуществляется переход на первый шаг. A именно, если первые три байта полезной нагрузки текущего TS пакета являются начальными кодами 0×000001 PES, может быть установлено, что данный TS пакет содержит информацию PES заголовка; иначе TS пакет не содержит информацию PES заголовка.
На третьем шаге устанавливается, необходимо искать начальное положение или конечное положение I-кадра на данный момент, и если нужно искать начальное положение I-кадра, осуществляется переход на четвертый шаг; а если нужно искать конечное положение I-кадра, осуществляется переход на пятый шаг.
На четвертом шаге байты, содержащиеся в PES заголовке, пропускаются, и устанавливается, содержат ли последующие байты начальные коды набора параметров SPS/PPS, и если да, это означает, что текущий TS пакет представляет собой начальное положение I-кадра, после чего осуществляется переход на первый шаг, чтобы продолжать анализировать следующий TS пакет для поиска конечного положения I-кадра; а если начальные коды набора параметров SPS/PPS не содержатся, это означает, что TS пакет не имеет начальных данных I-кадра, после чего осуществляется переход непосредственно на первый шаг, чтобы продолжать анализировать следующий TS пакет.
На пятом шаге устанавливается, содержат ли данные, следующие за PES заголовком в текущем TS пакете, информацию среза, и если тип текущего NAL является одним из среза IDR-изображения, среза не-IDR изображения, SPS и PPS, отмечается, что данные после NAL являются информацией заголовка среза, и осуществляется переход к шестому шагу; иначе осуществляется переход к первому шагу.
На шестом шаге устанавливается, равняется ли нулю значение синтаксического элемента first_mb_in_slice в информации текущего среза, и если значение синтаксического элемента first_mb_in_slice равняется нулю, отмечается, что первый макроблок среза является первым макроблоком данного кадрового изображения, что также показывает, что срез представляет собой начальные данные данного кадрового изображения, т.е. найдено начальное положение нового кадра, тогда предыдущий TS пакет может быть определен как конечное положение I-кадра, и после определения конечного положения осуществляется переход к первому шагу, чтобы продолжать анализировать следующий TS пакет для поиска начального положения следующего I-кадра. Если значение синтаксического элемента first_mb_in_slice не равняется нулю, осуществляется прямой переход к первому шагу.
Устройство извлечения для извлечения I-кадра согласно данному изобретению, как показано на Фиг.3, содержит следующие модули.
Модуль кэширования 301 используется для кэширования полученного транспортного потока и хранит количество TS пакетов.
Модуль 302 разбора TS пакета используется для получения TS пакетов из модуля кэширования, анализа TS пакетов одного за одним, чтобы установить, является ли текущий TS пакет видеопакетом, и если да, TS пакет передается на модуль анализа PES пакета; иначе для анализа получается следующий TS пакет. При анализе, если PID в текущем TS пакете представляет собой видео PID в транспортном потоке, это показывает, что TS пакет является видеопакетом.
Модуль 303 анализа PES пакета используется, чтобы устанавливать, содержит ли TS пакет PES заголовок, и если да, - передавать на модуль управления извлечением для обработки; иначе указывать модулю разбора TS пакета продолжать получать следующий TS пакет для анализа. При принятии решения, если первые три байта полезной нагрузки текущего TS пакета являются начальными кодами 0×000001 PES, может быть установлено, что данный TS пакет содержит информацию PES заголовка.
Модуль 304 управления извлечением используется, чтобы устанавливать, производится ли поиск начального положения или конечного положения I-кадра, и если нужно искать начальное положение I-кадра, передавать пакет на модуль поиска начального положения для обработки; а если нужно искать конечное положение I-кадра, доставлять его на модуль поиска конечного положения для обработки.
Модуль 305 поиска начального положения используется, чтобы пропускать байты, содержащиеся в PES заголовке, устанавливать, содержат ли байты после PES заголовка начальные коды наборов параметров SPS/PPS, и если да, то это показывает, что текущий TS пакет является начальным положением I-кадра, и уведомлять модуль разбора TS пакета о необходимости получить следующий TS пакет для анализа, и искать конечное положение I-кадра; иначе прямо уведомлять модуль разбора TS пакета продолжать получать следующий TS пакет.
Модуль 306 поиска конечного положения используется, чтобы устанавливать, содержат ли байты после PES заголовка в текущем TS пакете информацию среза, и если тип текущего NAL является одним из среза IDR изображения, среза не-IDR изображения, SPS и PPS, это указывает, что данные после NAL являются информацией среза, и передавать для обработки на модуль разбора среза; иначе модуль разбора TS пакета уведомляется о необходимости продолжать получать следующий TS пакет.
Модуль 307 разбора среза используется, чтобы устанавливать, равняется ли нулю значение синтаксического элемента first_mb_in_slice текущей информации среза, и если значение синтаксического элемента first_mb_in_slice равняется нулю, это указывает, что первый макроблок среза является первым макроблоком данного кадрового изображения, что также указывает, что срез представляет собой начальные данные данного кадрового изображения, т.е. найдено начальное положение нового кадра, после чего предыдущий TS пакет может быть определен как конечное положение I-кадра и после определения конечного положения, уведомлять модуль разбора TS пакета продолжать анализировать следующий TS пакет, чтобы искать начальное положение следующего I-кадра. Если значение синтаксического элемента first_mb_in_slice не равняется нулю, прямо уведомить модуль разбора TS пакета продолжать анализировать следующий TS пакет.
Устройство извлечения для извлечения I-кадра согласно данному изобретению может располагаться на стороне сервера или также может располагаться на стороне оконечного устройства, может быть отдельным устройством или также может быть интегральной частью сервера или приставки-декодера и используется для извлечения и определения положения I-кадра быстро и точно, вне зависимости от того, располагается ли на стороне сервера или на стороне конечного устройства.
При помощи использования способа и устройства для извлечения I-кадра согласно данному изобретению, положение I-кадра может быть определено без разбора синтаксических элементов в Н.264, таких как SPS, PPS, срез и т.н., простым сравнением TS пакетов в транспортном потоке и принятием решения, таким образом имея возможность находить начальное и конечное положения I-кадра и имея возможность осуществлять извлечение и определение положения I-кадра быстро и точно, чтобы обеспечить быстрый ответ для пользовательских служебных приложений.
Хотя данное изобретение продемонстрировано в связи с конкретными вариантами осуществления, специалистам в данной области техники будет понятно, что модификации и изменения могут производиться без отхода от духа и объема данного изобретения. Такие модификации и изменения следует понимать как находящиеся в рамках объема данного изобретения и объема прилагаемой формулы изобретения.
Промышленная применимость
Данное изобретение предоставляет способ и устройство для извлечения I-кадра. Когда I-кадр извлекается, без разбора синтаксических элементов в H.264, таких как SPS, PPS, срез, и т.п., положение I-кадра может быть определено простым сравнением различных TS пакетов в TS потоке и принятием решения, тем самым имея возможность найти начальное и конечное положения I-кадра и имея возможность осуществить извлечение и позиционирование I-кадра быстро и точно, чтобы предоставить быстрый ответ для служебных пользовательских приложений.
1. Способ для извлечения I-кадра, включающий:
анализ пакетов транспортного потока в транспортном потоке одного за одним, и если установлено, что текущий пакет транспортного потока является видеопакетом и содержит заголовок пакетного элементарного потока (PES), выполнение определения согласно данным после PES заголовка в текущем пакете транспортного потока, чтобы определить начальное и конечное положения I-кадра;
при этом на шаге осуществления определения согласно данным после PES заголовка для определения конечного положения I-кадра, если устанавливается, что байты после PES заголовка в текущем пакете транспортного потока содержат информацию среза и устанавливается, что начальный идентификационный элемент в информации среза распознается как начальные данные данного кадрового изображения, предыдущий пакет транспортного потока текущего пакета транспортного потока определяется как конечное положение I-кадра.
2. Способ для извлечения I-кадра по п.1, отличающийся тем, что
на шаге определения того, что текущий пакет транспортного потока является видеопакетом, устанавливается, является ли идентификатор пакета текущего пакета транспортного потока идентификатором видеопакета в транспортном потоке, и если да, то устанавливается, что текущий пакет транспортного потока является видеопакетом.
3. Способ для извлечения I-кадра по п.1, отличающийся тем, что
на шаге определения того, что текущий пакет транспортного потока содержит PES заголовок, устанавливается, являются ли первые три байта полезной нагрузки текущего пакета транспортного потока начальными кодами PES, и если да, то устанавливается, что текущий пакет транспортного потока содержит PES заголовок.
4. Способ для извлечения I-кадра по любому из пп.1-3, отличающийся тем, что
на шаге осуществления определения согласно данным после PES заголовка для определения начального положения I-кадра, если устанавливается, что байты после PES заголовка в текущем пакете транспортного потока содержат начальные коды набора параметров последовательности (SPS) или набора параметров изображения (PPS), текущий пакет транспортного потока определяется как начальное положение I-кадра.
5. Способ для извлечения I-кадра по п.1, отличающийся тем, что
на шаге определения, что байты после PES заголовка в текущем пакете транспортного потока содержат информацию среза, устанавливается, является ли тип текущего уровня абстракции сети одним из среза изображения мгновенного обновления декодирования, среза изображения не мгновенного обновления декодирования, SPS и PPS в данных после PES заголовка, и если да, то устанавливается, что пакет данных после PES заголовка содержит информацию среза.
6. Устройство извлечения для извлечения I-кадра, содержащее: модуль разбора пакета транспортного потока, модуль анализа пакета элементарного пакетного потока (PES), модуль управления извлечением, модуль поиска начального положения, модуль поиска конечного положения и модуль разбора среза, где:
модуль разбора пакета транспортного потока настроен получать пакеты транспортного потока в транспортном потоке, анализировать пакеты транспортного потока один за одним и устанавливать, является ли текущий пакет транспортного потока видеопакетом, и если да, - отправлять текущий пакет транспортного потока для обработки на модуль анализа PES пакета;
модуль анализа PES пакета настроен устанавливать, содержит ли пакет транспортного потока PES заголовок, и если да, передавать пакет транспортного потока для обработки на модуль управления извлечением;
модуль управления извлечением настроен посылать пакет транспортного потока для обработки на модуль поиска начального положения, если устанавливается, что на данный момент требуется искать начальное положение I-кадра; и посылать пакет транспортного потока для обработки на модуль поиска конечного положения, если устанавливается, что требуется искать конечное положение I-кадра;
модуль поиска начального положения настроен устанавливать, содержат ли байты после PES заголовка начальные коды набора параметров последовательности (SPS) или набора параметров изображения (PPS), и если да, устанавливать, что текущий пакет транспортного потока является начальным положением I кадра, и уведомлять модуль разбора пакета транспортного потока о необходимости продолжать получать следующий пакет транспортного потока для обработки;
модуль поиска конечного положения настроен устанавливать, содержат ли байты после PES заголовка информацию среза, и если да, то передавать на модуль разбора среза для определения того, распознан ли начальный идентификационный элемент в информации среза в качестве начальных данных данного кадрового изображения, и если да, - устанавливать, что предыдущий пакет транспортного потока является конечным положением I-кадра, и уведомлять модуль разбора пакета транспортного потока о необходимости продолжать получать следующий пакет транспортного потока для обработки после установления конечного положения.
7. Устройство извлечения для извлечения I-кадра по п.6, отличающееся тем, что
модуль разбора пакета транспортного потока также настроен устанавливать, является ли идентификатор пакета текущего пакета транспортного потока идентификатором видеопакета в транспортном потоке, и если да, то устанавливать, что пакет транспортного потока является видеопакетом.
8. Устройство извлечения для извлечения I-кадра по п.6 или п.7, отличающееся тем, что
модуль анализа PES пакета также настроен устанавливать, являются ли первые три байта полезной нагрузки текущего пакета транспортного потока начальными кодами PES, когда пакет транспортного потока является видеопакетом, и если да, - устанавливать, что пакет транспортного потока содержит PES заголовок.
9. Устройство извлечения для извлечения I-кадра по п.6, отличающееся тем, что
модуль поиска конечного положения также настроен устанавливать, является ли тип текущего уровня сетевой абстракции одним из среза изображения мгновенного обновления декодирования, среза изображения не мгновенного обновления декодирования, SPS и PPS в данных после PES заголовка в текущем пакете транспортного потока, и если да, - устанавливать, что данные после PES заголовка содержат информацию среза.
10. Устройство извлечения для извлечения I-кадра по пп.6, 7 или 9, отличающееся тем, что также содержит модуль кэширования,
модуль кэширования настроен кэшировать полученные пакеты транспортного потока в транспортном потоке для модуля разбора пакета транспортного потока, чтобы получать пакеты транспортного потока.