Фильтрация пакетов
Реферат
Изобретение относится к способу и устройству для фильтрации потока пакетов цифровых данных, применяемого в системах передачи цифровой аудиовизуальной информации, в частности, в соответствии с форматом MPEG. Техническим результатом является разработка способа и устройства фильтрации потока пакетов цифровых данных, позволяющих осуществлять прямую и быструю обработку данных по сравнению с известными способами фильтрации пакетов. Технический результат достигается тем, что данные транспортных пакетов фильтруют на первой стадии фильтрации первым цифровым фильтром, исходя из характеристик заголовка транспортных пакетов, и затем выбранные отфильтрованные данные подают непосредственно в элемент памяти приемника/декодера. Кроме того, настоящее изобретение предусматривает возможность после первой стадии фильтрации осуществлять выбор отфильтрованных данных из полезной нагрузки, соответствующих непрерывному потоку данных, после чего передают их на второй цифровой фильтр для второй стадии фильтрации. 2 с. и 20 з.п. ф-лы, 4 ил.
Настоящее изобретение относится к способу и устройству для фильтрации потока пакетов цифровых данных, применяемого в системах передачи цифровой аудиовизуальной информации, в частности потока пакетов данных для системы цифрового телевидения, соответствующего формату MPEG.
Обычные системы цифрового телевизионного вещания передают данные в виде отдельных пакетов транспортного потока, или транспортных пакетов, причем каждый пакет имеет некоторую заранее заданную длину и содержит заголовок и полезную нагрузку. В настоящее время наиболее распространенным стандартом в этой области является стандарт MPEG-2, который устанавливает определенный формат транспортных пакетов. Заголовок пакета содержит общие описательные данные, касающиеся пакета, а полезная нагрузка содержит данные, подлежащие обработке в приемнике. Заголовок пакета включает в себя идентификатор пакета, или PID, идентифицирующий пакет. Полезная нагрузка пакета может содержать аудио-, видео- или другие данные, такие как данные приложения, выполняемого приемником/декодером для обеспечения дополнительных функций, например для генерирования руководства по программам или других визуальных данных, которые могут быть наложены на экране поверх демонстрируемой в обычном порядке программы. В известных системах входящий поток данных фильтруется приемником/декодером в соответствии с PID каждого пакета. Демультиплексированные визуальные данные и аудиоданные затем подаются непосредственно на специализированные средства приемника/декодера, предназначенные для генерирования в реальном масштабе времени визуальных изображений и звука соответственно. Данные телетекста и субтитров аналогичным образом подаются непосредственно на неспециализированный микропроцессор приемника/декодера, для генерирования в реальном масштабе времени выводимых телетекста и субтитров. Данные, требующие немедленной обработки, такие как визуальные данные, аудиоданные, данные телетекста и субтитров, подаются на соответствующий процессор в форме, известной как "пакетированный элементарный поток", или PES (Packetised Elementary Stream). Этот непрерывный поток данных, который формируется путем компоновки полезных нагрузок транспортных пакетов, сам по себе также содержит последовательность пакетов, причем каждый пакет PES содержит заголовок и полезную нагрузку. В отличие от транспортных пакетов данных пакет PES имеет переменную длину. Отфильтрованные PES обрабатываются немедленно, для того чтобы обеспечить функционирование в реальном масштабе времени. Хотя визуальные данные, аудиоданные, данные телетекста и данные субтитров являются самыми распространенными типами данных, определяемых PES, также могут быть организованы в PES и потоки данных других типов. В полезных нагрузках транспортных пакетов помимо данных PES могут содержаться также другие данные, не требующие немедленной обработки. В отличие от данных PES, которые обрабатываются процессором немедленно, чтобы формировать выходную информацию в реальном масштабе времени, эти данные, как правило, обрабатываются процессором в асинхронном режиме. Эти данные часто циклические, т.е. функции, задаваемые этими данными, вызываются процессором время от времени. Примером данных такого рода является так называемая "Соответствующая Программе Информация" ("Programme Specific Information"), или данные PSI. В этом случае данные, содержащиеся в полезных нагрузках транспортных пакетов, разделены на множество секций или таблиц, каждая из которых включает в себя заголовок и полезную нагрузку, причем заголовок включает в себя идентификатор таблицы, или TID, идентифицирующий таблицу. После начальной фильтрации по PID используется второй фильтрующий каскад, исходящий из заголовков секций, для отделения модулей с одинаковыми TID, и полезные нагрузки этих модулей сохраняются и постепенно компонуются в элементе памяти приемника/декодера, для сборки загружаемого приложения. В отличие от данных PES порядок, в котором поступают секции, не важен, поскольку приложение компонуется на протяжении некоторого периода времени. Пример обычной архитектуры декодера для фильтрации данных типа PES и PSI показан в публикации заявки на европейский патент ЕР 0735776 (на имя фирмы Hitachi). Данные транспортных пакетов вначале сохраняют в "посадочном буфере" (landing bufer) для пакетов, после чего выполняется начальная стадия - фильтрация по PID. Аудио- и видеоданные PES немедленно подаются на аудиодекодер и видеодекодер для обработки в реальном времени, а тем временем выполняется вторая стадия фильтрации - для данных PSI, на уровне заголовков PSI-секций или TID, после чего эти данные сохраняются в системном буфере декодера. В публикации заявки на европейский патент ЕР0714213 (на имя фирмы LG Electronics) описана аналогичная архитектура декодера и дополнительно рассматривается анализ данных адаптационного поля, или ADF (ADaptation Field), содержащегося в заголовках транспортных пакетов, используемых для переноса данных PES. Хотя применение множества компонуемых секций делает возможной загрузку и выполнение микропроцессором сложных приложений, операции, выполняемые в этом процессе, требуют сравнительно длительного времени обработки, поскольку все таблицы, имеющие одинаковый TID, должны быть идентифицированы, отфильтрованы и сохранены в памяти, и только после этого приложение будет законченным. Цель настоящего изобретения - предложить способ и устройство для фильтрации переданных пакетов данных, которые преодолевали бы недостатки известных систем фильтрации пакетов. Согласно одному аспекту настоящего изобретения предлагается способ фильтрации потока пакетов данных, передаваемого в системе передачи цифровой аудиовизуальной информации и принимаемого приемником/декодером, отличающийся тем, что данные транспортных пакетов фильтруют на первой стадии первым цифровым фильтром исходя из характеристик заголовка транспортных пакетов и затем выбранные отфильтрованные данные подают непосредственно в элемент памяти приемника/декодера. Этот способ обработки пакетных данных представляет собой радикальный отход от стандартной методики, когда данные, отфильтрованные по значению PID заголовка пакета, либо подают непосредственно (в форме PES) на специализированный процессор, либо перед компоновкой в памяти декодера фильтруют на второй стадии исходя из значения TID или заголовка PSI. Путем сохранения данных транспортных пакетов непосредственно после первой стадии фильтрации настоящее изобретение делает возможным прямую и быструю обработку данных, которые в противном случае пришлось бы компоновать в течение некоторого периода времени путем компоновки множества таблиц и т.д. Например, необработанные или внутренние данные могут передаваться в полезной нагрузке транспортного пакета для сохранения в памяти и последующего использования главным процессором приемника/декодера. Данные транспортных пакетов могут фильтроваться по меньшей мере исходя из значения идентификатора пакета, или PID, содержащегося в заголовке транспортного пакета. Однако в предпочтительном варианте осуществления изобретения данные могут фильтроваться исходя из значений и других битов заголовка транспортного пакета, помимо значения идентификатора пакета. Данные, подаваемые в упомянутый элемент памяти и сохраняемые в нем, могут соответствовать только части транспортного пакета, например его полезной нагрузке. Предпочтительно, однако, в элемент памяти подают и сохраняют в нем полный транспортный пакет, включая заголовок пакета и полезную нагрузку. Этим облегчается последующая обработка пакетных данных. Например, может потребоваться выполнение анализа характеристик заголовков транспортных пакетов. В случае, когда используется формат типа MPEG, данные транспортных пакетов передают в пакетах фиксированного размера. В одном предпочтительном варианте осуществления изобретения отфильтрованный пакет подают в элемент памяти, имеющий такой же размер, что и упомянутый фиксированный размер пакетов. Сами данные, содержащиеся в полезной нагрузке транспортного пакета, могут быть организованы в виде вторичных пакетов данных, каждый - с заголовком и полезной нагрузкой. В отличие от транспортных пакетов эти вторичные пакеты данных могут иметь переменную длину. В частности, в том случае, когда передаваемые данные организованы в формате MPEG, данные, содержащиеся в полезных нагрузках транспортных пакетов MPEG, могут быть организованы в виде пакетированного элементарного потока, или PES. Этот пакетированный элементарный поток может соответствовать видео-, аудио-, телетекстовому, субтитровому или другому пакетированному элементарному потоку, который может быть непосредственно обработан соответствующим процессором приемника/декодера. Помимо подачи выбранных пакетов в элемент памяти, упомянутый цифровой фильтр может быть также использован для подачи выбранных данных в процессор, например, для подачи выбранных данных в процессор визуальной информации для формирования изображения, без предварительного сохранения в элементе памяти. Данные могут подаваться на процессор для обработки либо непосредственно, либо через второй цифровой фильтр. В том случае, когда данные, содержащиеся в полезных нагрузках транспортных пакетов, организованы в виде вторичных пакетов данных, упомянутый второй цифровой фильтр может фильтровать пакеты исходя из значений одного или более элементов заголовка вторичных пакетов данных. Дополнительно данные, отфильтрованные вторым цифровым фильтром, после фильтрации могут быть поданы в соответствующий элемент памяти для хранения и/или в процессор для декодирования. Согласно второму аспекту настоящее изобретение предлагает способ фильтрации потока пакетов данных, передаваемого в системе передачи цифровой аудиовизуальной информации и принимаемого приемником/декодером, отличающийся тем, что данные транспортных пакетов фильтруют на первой стадии первым цифровым фильтром исходя из характеристик заголовка транспортных пакетов и затем выбранные отфильтрованные данные из полезной нагрузки, соответствующие непрерывному потоку данных, передают на второй цифровой фильтр для второй стадии фильтрации. И снова, в отличие от известных систем данные из полезной нагрузки, подвергаемые второй стадии фильтрации, соответствуют непрерывному потоку данных, а не, например, набору сформатированных в виде таблиц секций, которые нужно компоновать в течение некоторого периода времени. Как и в первом аспекте изобретения, непрерывный поток данных, представленный полезной нагрузкой транспортных пакетов, может быть организован в виде вторичных пакетов данных, причем второй цифровой фильтр фильтрует эти вторичные пакеты исходя из значений одного или более элементов заголовка вторичных пакетов данных. Этот аспект настоящего изобретения, в частности, хорошо применим к способу фильтрации потока пакетов данных, в котором передаваемые данные организованы в соответствии с форматом MPEG, особенно когда непрерывный поток данных, содержащихся в полезной нагрузке отфильтрованного и сохраненного пакета MPEG, организован в виде пакетированного элементарного потока. Как и выше, данные, отфильтрованные вторым цифровым фильтром, могут быть поданы в соответствующий элемент памяти для хранения и/или на процессор для обработки, в зависимости от результатов фильтрации. Естественно, любой из описанных выше способов фильтрации пакетных данных по первому или второму аспекту настоящего изобретения может выполняться параллельно с другой фильтрацией данных транспортных пакетов. В частности, фильтрация данных транспортных пакетов может также выполняться по значениям PID потока транспортных пакетов, чтобы отделить данные пакетированного элементарного потока, подлежащие передаче на соответствующий процессорный элемент. Дополнительно после фильтрации данных транспортных пакетов по значениям PID может выполняться последующая фильтрация секций, содержащихся в полезной нагрузке транспортного пакета, исходя из значений заголовка секции. Согласно еще одному аспекту настоящее изобретение распространяется на приемник/декодер для системы передачи цифровой аудиовизуальной информации, содержащий первый цифровой фильтр и элемент памяти, отличающийся тем, что выбранные данные транспортных пакетов отфильтровываются на первой стадии первым цифровым фильтром исходя из характеристик заголовка транспортного пакета и затем подаются непосредственно в элемент памяти. Настоящее изобретение в равной степени распространяется на приемник/декодер для системы передачи цифровой аудиовизуальной информации, содержащий первый и второй цифровые фильтры, отличающийся тем, что данные транспортных пакетов фильтруются на первой стадии первым цифровым фильтром, а выбранные отфильтрованные данные из полезной нагрузки, соответствующие непрерывному потоку данных, затем подаются на второй цифровой фильтр для выполнения второй стадии фильтрации. В контексте настоящей заявки термин "система передачи цифровой аудиовизуальной информации" означает любые системы передачи для передачи или вещания преимущественно аудиовизуальных или мультимедийных цифровых данных. Хотя настоящее изобретение особенно применимо в системе цифрового телевизионного вещания, такой как система спутникового, наземного или кабельного телевидения, настоящее изобретение может в равной степени быть использовано при фильтрации данных, переданных в стационарной сети передачи данных для мультимедийных интернет-приложений, в комбинированных телекоммуникационно-вещательных системах и т.п. Термин "MPEG" подразумевает протоколы передачи данных, разработанные рабочей группой "Motion Pictures Expert Group" (экспертная группа по движущимся изображениям) Международной организации по стандартизации, и, в частности, стандарт MPEG-2, разработанный для цифровых телевизионных приложений и утвержденный в документах ISO 13818-1, ISO 13818-2, ISO 13818-3 и ISO 13818-4. В контексте настоящей патентной заявки этот термин охватывает все варианты, модификации или развития базовых форматов MPEG, применимые в области передачи цифровых данных. Аналогично, хотя в описании используются термины "приемник/декодер" и "декодер", следует понимать, что настоящее изобретение в равной степени приложимо и к тем вариантам осуществления, в которых приемник интегрирован с декодером, и к тем, в которых декодирующие устройства функционируют в сочетании с физически отдельным приемником, так же как и к тем, в которых декодирующие устройства имеют дополнительные функциональные возможности, такие как Web-браузер, или к тем, в которых декодеры интегрированы с другими устройствами, такими как видеомагнитофоны, телевизоры и т.п. Ниже будет описан, исключительно в виде иллюстративного примера, предпочтительный вариант осуществления настоящего изобретения со ссылками на прилагаемые чертежи, на которых: на фиг.1 показана общая архитектура системы цифрового телевидения; фиг. 2 иллюстрирует элементы приемника/декодера, применимого в системе цифрового телевидения; на фиг.3 показаны цифровые фильтры, используемые в декодере, показанном на фиг. 2, для фильтрации пакетных данных в соответствии с данным вариантом осуществления настоящего изобретения; и на фиг.4 показана структура пакетов данных передаваемого потока данных, а также структура данных, содержащихся в полезной нагрузке таких пакетов. Общая архитектура системы цифрового телевидения 1 по настоящему изобретению показана на фиг.1. Изобретение включает в себя большей частью стандартную систему цифрового телевидения 2, которая использует известную систему компрессии MPEG-2 для передачи сжатых цифровых сигналов. Более подробно, MPEG-2 компрессор 3 в центре вещания принимает поток цифровых сигналов (обычно поток видеосигналов). Компрессор 3 подключен к мультиплексору и скремблеру 4 с помощью канала 5. Мультиплексор 4 принимает несколько дополнительных входных сигналов, компонует транспортный поток и передает сжатые цифровые сигналы в передатчик 6 центра вещания через канал 7, тип которого, естественно, может быть различным, включая телекоммуникационные каналы. Передатчик 6 передает электромагнитные сигналы через канал "земля-спутник" 8 на спутниковый транспондер 9, где выполняется их обработка электронными средствами и вещание через виртуальный канал "спутник-земля" 10 на наземный приемник 12, обычно имеющий форму тарелки, принадлежащий конечному пользователю или арендуемый им. Сигналы, принимаемые приемником 12, передаются в комбинированный приемник/декодер 13, принадлежащий конечному пользователю или арендуемый им и подключенный к телевизору 14 конечного пользователя. Приемник/декодер 13 декодирует сжатый MPEG-2 сигнал в телевизионный сигнал для телевизора 14. Возможны, конечно, и другие транспортные каналы для передачи данных, такие как наземное вещание, кабельная передача, комбинированные спутниково-кабельные каналы, телефонные сети и т.п. В многоканальной системе мультиплексор 4 обрабатывает аудио- и видеоинформацию, принятую от нескольких параллельных источников, и взаимодействует с передатчиком 6 для передачи этой информации по соответствующему количеству каналов. В дополнение к аудиовизуальной информации в некоторые или во все эти каналы могут быть введены сообщения, приложения или цифровые данные любого другого типа, чередующиеся с передаваемой цифровой аудио- и видеоинформацией. Система условного доступа 15 подключена к мультиплексору 4 и приемнику/декодеру 13 и располагается частично в центре вещания и частично в декодере. Она позволяет конечному пользователю получать доступ к цифровому телевизионному вещанию от одного или нескольких операторов вещания. В приемник/декодер 13 может быть установлена смарт-карта, выполненная с возможностью дешифрирования сообщений, относящихся к коммерческим предложениям (т. е. к одной или нескольким телевизионным программам, продаваемым оператором вещания). С помощью декодера 13 и смарт-карты конечный пользователь может покупать коммерческие предложения либо в режиме подписки, либо в режиме оплаты за просмотр. Как уже упоминалось выше, программы, передаваемые системой, скремблируются мультиплексором 4, причем параметры и ключи шифрования, примененные к некоторой конкретной передаче, определяются системой управления доступом 15. Такой метод передачи скремблированных данных хорошо известен в области систем платного телевидения. Обычно скремблированные данные передаются вместе с управляющим словом для дескремблирования этих данных, причем само управляющее слово зашифровано так называемым рабочим ключом и передается в зашифрованной форме. Скремблированные данные и зашифрованное управляющее слово затем принимаются декодером 13, который имеет доступ к эквиваленту рабочего ключа, хранимому на смарт-карте, установленной в декодер, для дешифрирования зашифрованного управляющего слова и последующего дескремблирования переданных данных. Оплативший подписку пользователь будет получать, например, в передаваемых ежемесячно "сообщениях управления правами" (ЕСМ - Entitlement Control Message), рабочий ключ, необходимый для дешифрирования зашифрованного управляющего слова, позволяя просматривание передачи. Интерактивная система 16, также подключенная к мультиплексору 4 и приемнику/декодеру 13 и также располагающаяся частично в центре вещания и частично в декодере, позволяет конечному пользователю взаимодействовать с различными приложениями через модемный обратный канал 17. Модемный обратный канал может быть также использован для связи, используемой в системе условного доступа 15. Интерактивная система может быть использована, например, для обеспечения зрителю возможности прямой связи с передающим центром и запросить разрешение на просмотр некоторой конкретной программы, загрузку приложения и т.п. Далее будут описаны со ссылками на фиг.2 элементы приемника/декодера 13, или пользовательской приставки, которые приспособлены для использования в настоящем изобретении. Элементы, показанные на этой фигуре, будут описаны в терминах функциональных блоков. Декодер 13 содержит центральный процессор 20, включающий в себя соответствующие элементы памяти, выполненный с возможностью приема входных данных от последовательного интерфейса 21, параллельного интерфейса 22, модема 23 (подключенного к модемному обратному каналу 17, показанному на фиг.1) и переключателей 24 на передней панели декодера. Декодер также выполнен с возможностью приема входных сигналов от инфракрасного пульта дистанционного управления 25 через блок управления 26; также декодер снабжен двумя устройствами считывания смарт-карт 27, 28, приспособленными для считывания банковской карты и подписной смарт-карты соответственно. Устройство 28 считывания подписной смарт-карты взаимодействует с установленной в него подписной картой и с блоком условного доступа 29, чтобы сообщить необходимое управляющее слово демультиплексору/дескремблеру 30 и сделать возможным дескремблирование скремблированного сигнала вещания. Декодер также включает в себя обычный тюнер 31 и демодулятор 32 для приема и демодуляции передачи со спутника перед тем, как она будет подвержена фильтрации и демультиплексированию блоком 30. Обработка данных в декодере в общем управляется центральным процессором 20. Архитектура программного обеспечения центрального процессора может соответствовать той, что используется в известных декодерах, и подробно здесь не описывается. Она может быть основана, например, на виртуальной машине, взаимодействующей через интерфейсный слой с операционной системой более низкого уровня, реализованной в аппаратных компонентах декодера. В терминах архитектуры аппаратных средств декодер оснащен процессором, элементами памяти, такой как ПЗУ, ОЗУ, флэш-память и т.д., как и известные декодеры. В случае приема аудио- и видеосигналов, как будет описано более подробно ниже, MPEG-пакеты, содержащие эти сигналы, будут подвержены демультиплексированию и фильтрации, с тем чтобы подать аудио- и видеоданные реального времени в виде пакетированного элементарного потока (PES) аудио- и видеоданных на специализированные аудио- и видеопроцессоры или декодеры 33, 34. Конвертированный выходной сигнал с аудиопроцессора 33 подается на предварительный усилитель 35 и затем выдается через аудиовыход приемника/декодера. Конвертированный выходной сигнал от видеопроцессора 34 подается через графический процессор 36 и кодер PAL/SECAM 37 к видеовыходу приемника/декодера. Графический процессор 36 также получает подлежащие выводу графические данные (такие как генерированные изображения и т.п.) от центрального процессора 20 и комбинирует эти данные с информацией, принятой от видеопроцессора 34, для формирования экранного изображения, сочетающего движущиеся образы с наложенным текстом или другими изображениями. В случае принятия данных телетекста и (или) субтитров преобразование этих данных реального времени - данных PES - с формированием соответствующих изображений также может выполняться специализированными процессорами. Однако в большинстве обычных систем это выполняется процессором 20. Обработка отфильтрованных аудиовизуальных данных и данных телетекста/субтитров с формированием необходимой изобразительной и звуковой информации выполняется обычными методами и не нуждается в более подробном описании. Ниже со ссылками на фиг.3 и 4 будет описана система фильтрации пакетных данных в демультиплексоре 30. Как показано на фиг.3, дескремблированные пакеты MPEG, поступающие от дескремблирующей части (не показана) демультиплексора 30, пропускаются через первый каскад цифровых фильтров 40. Этот каскад фильтров содержит стандартный набор четырех PID-фильтров 41 для выделения визуальных данных, аудиоданных, данных телетекста и данных субтитров, четыре фильтра 42 заголовков пакетов для выделения MPEG-пакетов, имеющих заданные характеристики заголовка, и двадцать восемь дополнительных обычных PID-фильтров для выделения MPEG-пакетов с заданным значением PID. На фиг.4 показана структура стандартного пакета 60 передаваемых данных в соответствии с форматом MPEG-2-. Пакет имеет фиксированную длину 188 байтов и содержит заголовок 61 и полезную нагрузку 62. Заголовок 61 имеет фиксированный размер 4 байта (32 бита). Полезная нагрузка имеет длину 184 байта (1472 бита). Первый байт 62 заголовка содержит данные синхронизации, остальные 3 байта (24 бита) занимает поле 63 идентификатора пакета, или PID, и другие данные 64. Упомянутое поле PID имеет размер 13 битов, упомянутые другие данные занимают остальные 11 битов. Более конкретно, в стандартном MPEG-пакете 3 байта заголовка, следующие за данными синхронизации, содержат: Индикатор ошибки передачи - 1 бит Индикатор начала блока полезной нагрузки - 1 бит Приоритет транспортирования - 1 бит PID - 13 битов Управление скремблированием при транспортировании - 2 бита Управление полем адаптации - 2 бита Счетчик непрерывности - 4 бита Вернемся к фиг. 3. Фильтры 41 для извлечения потоков видео-, аудио- и прочих данных выполняют фильтрацию, основываясь исключительно на значениях битов поля PID 63. По этой причине фильтры имеют разрядность 13 битов, соответствующую размеру этого поля. Как и в обычных системах MPEG, некоторые транспортные пакеты с зарезервированными PID содержат информацию об адресах PID аудиопакетов, визуальных пакетов и т.д. Эта информация обеспечивает фильтрам 41 возможность выделения требуемых пакетов для последующей обработки. После удаления заголовка транспортного пакета выделенные PES, содержащиеся в полезной нагрузке и отфильтрованные этими фильтрами, подаются непосредственно на соответствующие процессоры для преобразования в реальном масштабе времени в видеоданные и звуковые данные. С другой стороны, фильтры 42 в соответствии с настоящим вариантом осуществления изобретения выполняют фильтрацию данных, исходя из всего заголовка пакета 63, 64, включая поле PID 63, но исключая байт синхронизации 62. Соответственно, каждый из фильтров 42 имеет разрядность 24 бита, или 3 байта. Как и все обычные цифровые фильтры, фильтры 42 могут быть предварительно настроены на распознавание установленного или сброшенного некоторого заданного бита или на игнорирование значения бита в некоторой заданной позиции путем маскирования этого бита. Фильтры 42 могут быть реализованы в непрограммируемых аппаратных схемах или же с помощью специализированного программируемого процессора, использующего заложенную в него программу. Характеристики цифровых фильтров 42 могут предварительно устанавливаться центральным процессором приемника/декодера и могут быть изменены по необходимости. В настоящем варианте осуществления показаны четыре фильтра 42. Чтобы упростить схему, на фиг.4 четыре потока данных, выходящих с выходов этих фильтров, показаны как единый поток данных. В других вариантах осуществления может быть предусмотрено другое количество таких фильтров, установленных параллельно. В зависимости от результата процесса фильтрации некоторые данные могут подаваться на специализированный элемент памяти 44, например элемент ОЗУ (RAM), и сохраняться в нем. В альтернативном варианте, в общей памяти приемника/декодера может быть отведена определенная область для хранения этих данных. В рассматриваемом варианте осуществления весь принятый и отфильтрованный пакет данных MPEG сохраняется в элементе памяти 44, который имеет соответствующий размер 188 байтов. В альтернативных устройствах могут сохраняться только 184 байта полезной нагрузки пакета MPEG. Как и ранее, предусмотрены четыре таких буферных элемента, для каждого из четырех фильтров. Данные могут сохраняться в элементе памяти согласно одному из двух режимов - простому режиму, когда сохраняется только первый отвечающий критериям пакет, а остальные отфильтрованные пакеты игнорируются, либо режиму с повтором, когда в памяти сохраняется каждый отвечающий критериям пакет, причем тот пакет, который был сохранен ранее, стирается новым пакетом. После сохранения в элементе памяти 44 такие данные могут быть по необходимости вызваны и обработаны приемником/декодером. Например, полезная нагрузка упомянутого транспортного пакета может сохранять исходный или внутренний код, подлежащий выполнению элементами декодера. В альтернативном варианте может выполняться анализ характеристик заголовка упомянутого транспортного пакета. В отличие от известных систем для выделения и сохранения модулей данных, организованных в виде таблиц фиксированной структуры (см. описание фильтров 42 и последующей обработки, приведенное ниже), каскад фильтров 42 особо приспособлен для фильтрации и сохранения транспортных пакетов, содержащих данные PES, такие как видео- или аудиоданные PES, когда они появляются в одном последовательном блоке. Как будет описано ниже, вместо подачи транспортного пакета в память 44 фильтр 42 может удалить заголовок транспортного пакета и отправить данные PES, содержащиеся в полезной нагрузке, на второй цифровой фильтр 45. На фиг. 4 нижняя иллюстрация представляет пакет данных PES 65, который может переноситься в полезной нагрузке 62 одного или более пакетов MPEG 60. В отличие от пакета MPEG пакет PES имеет переменную длину, и один пакет PES может переноситься в нескольких передаваемых пакетах MPEG. Пакет PES содержит область заголовка 66 и полезную нагрузку 67. Область заголовка 66 пакета PES разделена следующим образом: Кодовый префикс начала пакета - 3 байта Идентификатор потока - 1 байт Длина пакета PES - 2 байта Поле флагов - 2 байта Факультативные поля - (переменная длина) Заполняющие байты - (переменная длина) В настоящем случае элементы заголовка PES, которые будут приниматься во внимание при фильтрации вторым каскадом, и их максимальные значения являются следующими: Из поля флагов: Флаги - 8 битов максимум Из факультативных полей: Поля PTS - 33 бита максимум Поля DTS - 33 бита максимум Поле режима эффектов DSM - 8 битов максимум Назначение каждого из этих полей относится к области цифрового вещания и известно специалистам в данной области. Термин "PTS", аббревиатура от "Presentation Time Stamp" ("Метка времени представления"), означает относительное время демонстрации данных из этого пакета, "DTS", аббревиатура от "Decoder Time Stamp" ("Метка времени декодера"), означает относительное время обработки данных, а термин "режим эффектов DSM" применяется для обозначения обработки данных в особом режиме, например "замораживания" кадра, повторения кадра и т.п. Термин "поле флагов" обозначает набор флагов, указывающих на наличие или отсутствие определенной информации. В настоящем случае фильтрация выполняется только по половине имеющихся флагов в поле флагов. Как показано на фиг.3, чтобы правильно фильтровать данные исходя из описанных выше полей заголовка PES, второй фильтр 45 должен иметь разрядность 82 бита, соответствующую максимальному размеру всех приведенных выше полей. Фильтрация может выполняться по принципу "ИЛИ", т.е. если установлено какое-либо из упомянутых полей (флагов, PTS, DTS, режима эффектов DSM), то пакет PES может быть передан в элемент памяти 46 или через коммутирующий элемент 47 на специализированный процессорный элемент для обработки и представления в реальном масштабе времени. Как и в описанном выше случае, фильтрация может выполняться в соответствии с известными методиками цифровой фильтрации - маскирование, сравнение поля с заданным максимальным или минимальным значением и т.п. В описанном выше варианте фильтрация в фильтре 45 выполняется исходя из заголовка PES. В то же время в других вариантах осуществления фильтрация может выполняться исходя из полезной нагрузки. В таком случае оператор системы, чтобы сделать возможной фильтрацию, определяет характеристики полезной нагрузки, например, путем задания нескольких предварительно-определенных полей после конца заголовка, которые могут быть идентифицированы и применены фильтром 45 при фильтрации, и т.п. Память 46 может иметь любой объем, достаточный для сохранения полезного количества данных PES. В настоящем случае была выбрана память объемом 1024 байта. Коммутирующий элемент 47 необходим для того, чтобы предотвратить перегрузку некоторого определенного процессора. Как описано выше, каскады фильтров 42, 45 работают параллельно с фильтрами 41. В том случае, когда фильтры 42, 45 установлены так, чтобы направлять некоторый определенный поток PES (например, поток PES видеоданных) на процессор для немедленной обработки в реальном масштабе времени, необходимо запретить подачу потока данных того же типа (например, потока PES видеоданных, поступающего из фильтров 41) на тот же процессор. В дополнение к фильтрам 41, 42 настоящий вариант осуществления включает в себя также дополнительный набор PID-фильтров 43, приспособленных для идентификации и обработки данных загружаемого приложения, содержащихся в виде секций в полезной нагрузке пакета MPEG. Данные загружаемого приложения, идентифицированные PID-фильтрами 43, направляются через еще один набор из тридцати двух фильтров секций 48, которые выполняют дальнейшую фильтрацию, исходя из значений заголовка секции, в том числе ID таблицы, присутствующего в заголовке таблицы, содержащейся в полезной нагрузке пакета MPEG. Отфильтрованные таблицы передаются затем через буферы обратного магазинного типа FIFO 49 в память 50 процессора для компоновки. Как упоминалось во вводной части описания, такая фильтрация данных исходя из ID таблиц сама по себе известна и описана, например, в находящейся в стадии рассмотрения патентной заявке РСТ/ЕР 97/02114, поданной на имя заявителя данной заявки. В силу этого нет необходимости описывать ее более подробно.Формула изобретения
1. Способ фильтрации потока пакетов данных, передаваемого в системе передачи цифровой аудиовизуальной информации и принимаемого приемником/декодером, отличающийся тем, что принятые первые данные транспортных пакетов, включающие данные в форме данных потока пакетов, фильтруют с помощью цифрового фильтра, исходя из характеристик заголовка транспортных пакетов, причем выбранные отфильтрованные данные подаются упомянутым фильтром непосредственно в элемент памяти приемника/декодера для хранения в виде полного транспортного пакета, включающего в себя заголовок пакета и полезную нагрузку, и тем, что вторые данные транспортных пакетов, включающие данные в форме данных потока пакетов, фильтруют параллельно с фильтрацией упомянутых первых данных транспортных пакетов по значению идентификатора пакета для того, чтобы отделить от принятого пакета полезную нагрузку, которую подают в реальном масштабе времени на один или несколько соответствующих процессорных элементов. 2. Способ фильтрации потока пакетов данных по п.1, отличающийся тем, что первые данные транспортных пакетов фильтруют, по меньшей мере, исходя из значения идентификатора пакета, содержащегося в заголовке транспортного пакета. 3. Способ фильтрации потока пакетов данных по п.1 или 2, отличающийся тем, что первые данные транспортных пакетов фильтруют исходя из значений и других битов заголовка транспортного пакета, помимо значения идентиф