Согласно настоящему изобретению предлагается приемник-декодер, устройство для работы с программами, способ работы с программным потоком, способ работы с программами, способ управления приемником-декодером, система вещания, сообщение, приватная MPEG-таблица, компьютерный программный продукт, машиночитаемый носитель данных и сигнал. Изобретение может найти особенное применение при вещании и выводе персонифицированной рекламы и создании "виртуальных" телевизионных каналов.
В системах цифрового телевидения телевизионные каналы передаются телезрителю в цифровой (а не в аналоговой) форме. Цифровые каналы кодируются с формированием потока цифровых данных на передающей стороне и декодируются с использованием цифрового приемника-декодера на приемной стороне. Для обеспечения интерактивности может предусматриваться обратный канал либо через ту же среду передачи, по которой передаются телевизионные сигналы, либо через другую среду передачи, например телефонную линию. Также могут передаваться путем вещания и данные других типов, такие как цифровой звук, программное обеспечение и данные интерактивного режима. Термин "система цифрового телевидения", как он используется в данном тексте, охватывает, например, любую спутниковую, наземную, кабельную или иную систему.
Термин "приемник-декодер", как он используется в данном тексте, может означать приемник для приема как закодированных, так и незакодированных сигналов, например телевизионных и/или радиосигналов, предпочтительно в MPEG-формате, которые могут передаваться путем вещания или другим путем какими-либо другими средствами. Данный термин может также обозначать декодер для декодирования принятых сигналов. Варианты исполнения таких приемников-декодеров могут включать в себя декодер, совмещенный с приемником, для декодирования принимаемых сигналов, как, например, в "телевизионной приставке" (set-top box), декодер, функционирующий в сочетании с физически отдельным приемником, или декодер, снабженный дополнительными функциями, такими как Web-браузер, видеомагнитофон или телевизор.
Термин "MPEG" обозначает стандарты передачи данных, разработанные рабочей группой "Экспертная группа по кинематографии" Международной организации стандартизации, и особенно (но не лишь его!) стандарт MPEG-2, разработанный для приложений цифрового телевидения и изложенный в документах ISO 13818-1, ISO 13818-2, ISO 13818-3 и ISO 13818-4, а также MPEG-4 и другие будущие MPEG-стандарты. В контексте настоящего описания данный термин охватывает все варианты, модификации или развития MPEG-форматов, применимые в области передачи цифровых данных.
Для систем цифрового телевидения часто характерно наличие большого количества (как правило - сотен) в основном аудиовизуальных каналов, которые пользователь может переключать и отображать согласно своему желанию (при условии обладания соответствующими правами доступа к каждому каналу). Поэтому выбор разнообразных материалов, которые могут быть просмотрены в любой момент времени, весьма обширен, что обеспечивает пользователю возможность до определенной степени персонифицировать телевидение "под себя". Однако для большинства пользователей отслеживание всех предлагаемых материалов, точная их классификация в соответствии со своими вкусами и составление расписания ("программирования") вывода программ, представляющих для них интерес, является задачей либо слишком сложной, либо не отвечающей их склонностям.
Кроме того, вещаемые рекламные материалы, являющиеся для вещательной компании существенным (а зачастую и жизненно важным) источником дохода, как правило, представляет интерес лишь для относительно небольшой части телезрителей. При этом адресная доставка рекламных материалов соответствующим целевым группам часто затруднена (а в большинстве обычных систем цифрового телевидения и вовсе невозможна) и неэффективна.
В патенте США №5848397 описывается способ планирования показа рекламных материалов пользователям электронной почты. Серверная система снабжена планировщиком распределения рекламы, который ставит рекламный материал в соответствие определенным пользователям на основе демографической информации, хранящейся в СУБД, резидентно установленной в серверной системе. Загруженные рекламные материалы сохраняются в клиентской системе в очереди. Положение рекламного материала в очереди определяется приоритетом, присвоенным рекламному данному материалу серверной системой. Затем рекламные материалы поочередно предлагаются вниманию пользователя.
В системе, раскрытой в патенте США №5848397, необходимо собрать демографическую информацию и хранить ее централизованно, в серверной системе. Для этого от пользователя требуют заполнить анкету или профиль абонента при первом обращении к клиентской системе.
Для адресной доставки рекламных материалов выбранным пользователям описанная в патенте США №5848397 серверная система передает в каждую клиентскую систему только выбранные рекламные сообщения, используя протокол двухточечной передачи.
Альтернативная система распределения информации и рекламных материалов и соответствующий способ описаны в патенте США №5740549. В предпочтительном варианте осуществления сервер ЛВС загружает все новости в свою локальную базу данных. К серверу ЛВС подключено некоторое количество абонентов, каждый из которых имеет свой профиль пользователя. Каждый абонент выполняет процедуру "хранитель экрана". Эта процедура отфильтровывает те новости из локальной информационной базы данных сервера ЛВС, которые не соответствуют профилю данного абонента, благодаря чему каждому абоненту показывают лишь те новости, которые соответствуют его профилю пользователя. В компьютерах автономных абонентов фильтрование новостей выполняется в процессе самой загрузки, при которой загружаются лишь новости, соответствующие профилю данного абонента.
Настоящее изобретение направлено на устранение проблем, присущих предшествующему уровню техники.
Соответственно, согласно первому аспекту изобретения предлагается приемник-декодер для приема и декодирования программного потока, содержащий средство (такое как массовое запоминающее устройство) для сохранения множества программ, средство (такое как процессор с соответствующей памятью) для выбора одной из сохраненных программ в соответствии с профилем пользователя и средство (такое как тот же самый или другой процессор с соответствующей памятью и/или устройством вывода) для замены частей программного потока упомянутой выбранной программой.
Благодаря этому может быть обеспечена большая гибкость системы в целом, и, в частности, большая эффективность, поскольку программа выбирается с использованием профиля пользователя только при необходимости (такие вычисления могут быть довольно сложными). Кроме того, поскольку упомянутое множество программ можно сохранять, не руководствуясь никакими ограничивающими критериями, соответствующие программы все еще можно будет выбрать, даже если после сохранения упомянутого множества программ профиль пользователя изменится.
Термин "программа", как он используется в данном тексте, предпочтительно обозначает аудиовизуальный или иной контент, того типа как обычно передается путем вещания в приемник-декодер. В этом смысле примерами программ являются выпуск новостей, фильм, рекламный материал, субтитры, данные широковещательной веб-трансляции (webcast), webcam-данные и вещательные радиопередачи. Термин "аудиовизуальный", как он используется в данном тексте, предпочтительно обозначает звуковой или визуальный материал либо сочетание звукового и визуального материала. Применительно к вещаемому сигналу, принимаемому приемником-декодером, указанный термин может охватывать субтитры, телетекст, синхроданные и другие данные, имеющие непосредственное отношение к аудио- и видеокомпонентам, образующим телевизионную программу.
Предпочтительно предлагаемый приемник-декодер дополнительно содержит средство (такое как приемник) для приема упомянутого множества программ по одному-единственному каналу передачи данных, более предпочтительно упомянутым каналом передачи данных является тот же самый канал, по которому передается упомянутый программный поток. Таким каналом передачи данных может быть обычная система доставки мультимедиа, такая как система кабельного, спутникового или наземного телевидения, но также и Интернет или любое другое сетевое соединение, по которому могут передаваться цифровые (или даже аналоговые) данные. Благодаря этому конструкция приемника-декодера может быть упрощена.
В равной мере упомянутое множество программ может, разумеется, приниматься на разных каналах - либо канале, отличном от того, на котором передается программный поток, либо на разных каналах могут передаваться сами программы упомянутого множества программ. В этом случае множество программ может приниматься одновременно, опять-таки - либо одновременно друг с другом, либо одновременно с программным потоком.
Предлагаемый приемник-декодер может дополнительно содержать средство (такое как тот же или другой приемник) для приема упомянутого множества программ в периодические заранее запланированные временные интервалы, благодаря чему надежность предлагаемой системы может быть повышена. В частности, для обеспечения приема упомянутого множества программ может быть предусмотрен модуль обработки событий (такой как процессор с соответствующей памятью).
Более того, приемник-декодер дополнительно содержит средство (такое как процессор с соответствующей памятью) для ведения профиля пользователя, средство (такое как процессор с соответствующей памятью) для выбора программы в соответствии с профилем пользователя, и средство (такое как устройство вывода) для вывода выбранной программы, причем средство для выбора программы выполнено с возможностью срабатывания в ответ на запрос на вывод программы. Запрос может иметь вид "внешнего" запроса, например, такого как нажатие пользователем клавиши пульта дистанционного управления для переключения канала, либо это может быть "внутренний" запрос, такой как обмен данными между устройствами в самом приемнике-декодере. Запрос может также представлять собой некоторое событие, такое как выполнение определенного фрагмента машинного кода, указывающего на необходимость выбора другой программы. Таким образом можно еще более повысить эффективность системы, с сохранением того преимущества, что выбор на основе профиля пользователя осуществляется только в случае необходимости. Напротив, система, предполагающая формирование расписания вывода программ и неукоснительное следование этому расписанию, демонстрировала бы недостаточную гибкость, например, в случае изменения профиля пользователя во время действия расписания. В то же время настоящее изобретение может найти применение при формировании расписаний из множества программ.
Эта важная особенность может быть реализована также независимо. Соответственно, согласно еще одному аспекту изобретения предлагается приемник-декодер, содержащий средство (такое как процессор с соответствующей памятью) для ведения профиля пользователя, средство (такое как процессор с соответствующей памятью) для выбора программы в соответствии с профилем пользователя и средство (такое как устройство вывода) для вывода программы, причем средство для выбора программы выполнено с возможностью срабатывания в ответ на запрос на вывод программы.
Средство для выбора программы может быть выполнено с возможностью выбора еще одной программы для ее вывода вслед за первой программой, и может быть дополнительно выполнено с возможностью выбора этой еще одной программы во время вывода первой программы. Благодаря этому может быть обеспечено более оперативная реакция на обновление профиля пользователя, например, в случае частого изменения профиля пользователя с течением времени. Выбирая программы таким образом, можно избежать необходимости ведения плей-листа планируемых для просмотра программ.
Согласно смежному аспекту изобретения предлагается способ работы с программным потоком в приемнике-декодере, включающий сохранение множества программ, выбор одной из сохраненных программ в соответствии с профилем пользователя и замену частей программного потока выбранной программой. Предпочтительно способ также включает передачу упомянутого множества программ в приемник-декодер по одному-единственному каналу передачи данных.
Предлагаемый способ может дополнительно включать передачу упомянутого множества программ с регулярными заранее установленными интервалами и, более предпочтительно, дополнительно включает передачу упомянутого множества программ через систему телевизионного вещания в такое время, когда вещают минимальное количество телевизионных каналов. Таким временем может быть, например, время между 2 часами и 5 часами утра, или между 3 часами и 5 часами утра, когда для сервисов, передаваемых согласно расписанию, требуется более узкая полоса пропускания.
Предпочтительно предлагаемый способ дополнительно включает ведение профиля пользователя, выбор программы в соответствии с профилем пользователя и вывод выбранной программы, причем выбор программы осуществляется в ответ на запрос на вывод программы.
Согласно еще одному смежному аспекту изобретения предлагается способ управления приемником-декодером, включающий ведение профиля пользователя, выбор программы в соответствии с профилем пользователя и вывод выбранной программы, причем выбор программы осуществляется в ответ на запрос на вывод программы. Предпочтительно способ дополнительно включает выбор, во время вывода программы, еще одной программы для вывода вслед за первой программой.
Согласно еще одному смежному аспекту изобретения предлагается компьютерный программный продукт (в данном и последующих случаях, как правило, в виде одного или нескольких программных модулей) для приема и декодирования программного потока, включающий в себя средство для сохранения множества программ, средство для выбора одной из сохраненных программ в соответствии с профилем пользователя и средство для замены частей программного потока выбранной программой. Предпочтительно предлагаемый компьютерный программный продукт дополнительно включает в себя средство для приема упомянутого множества программ по одному-единственному каналу передачи данных, и, более предпочтительно, дополнительно включает в себя средство для приема упомянутого множества программ с регулярными заранее установленными интервалами.
Предлагаемый компьютерный программный продукт может дополнительно включать в себя средство для ведения профиля пользователя, средство для выбора программы в соответствии с профилем пользователя и средство для вывода выбранной программы, причем средство для выбора программы выполнено с возможностью срабатывания в ответ на запрос на вывод программы.
Согласно еще одному смежному аспекту изобретения предлагается компьютерный программный продукт, включающий в себя средство для ведения профиля пользователя, средство для выбора программы в соответствии с профилем пользователя и средство для вывода выбранной программы, причем средство для выбора программы выполнено с возможностью срабатывания в ответ на запрос на вывод программы. Средство для выбора программы может быть выполнено с возможностью выбора еще одной программы для вывода вслед за первой программой и может быть дополнительно выполнено с возможностью выбора еще одной программы во время вывода первой программы.
Согласно еще одному аспекту изобретения предлагается приемник-декодер, содержащий средство (такое как приемник) для приема программного потока и средство (такое как процессор с соответствующей памятью и/или переключатель) для замены частей программного потока локально сохраненной программой.
Путем замены частей программного потока локально сохраненными программами приемник-декодер может сам обеспечить вывод программ, соответствующих запросам данного пользователя (т.е. в режиме персонального телевидения).
Предпочтительно предлагаемый приемник-декодер дополнительно содержит средство (такое как приемник) для приема множества программ, подходящих для ряда пользователей, и средство (такое как процессор с соответствующей памятью) для выбора из этого множества программ по меньшей мере одной программы, подходящей для по меньшей мере одного из упомянутых пользователей. Этот пользователь, или каждый такой пользователь, предпочтительно является пользователем данного приемника-декодера.
Путем выбора из множества программ можно обеспечить дополнительную персонификацию. Поскольку сохранение программы до ее вывода не является обязательным, эта важная особенность может быть реализована независимо.
Соответственно согласно смежному аспекту предлагается приемник-декодер, содержащий средство (такое как приемник) для приема множества программ, подходящих для ряда пользователей, и средство (такое как процессор с соответствующей памятью) для выбора из упомянутого множества программ по меньшей мере одной программы, подходящей для по меньшей мере одного из пользователей. Как и прежде, этот пользователь, или каждый такой пользователь, предпочтительно является пользователем данного приемника-декодера.
Упомянутой программой, или каждой такой программой, может быть рекламный материал. При работе с рекламными материалами, по существу - программами самого короткого типа, манипулирование программой может оказаться упрощенным, поскольку - среди прочего - для работы с рекламными материалами необходимы сравнительно небольшие ресурсы (как в смысле полосы пропускания, так и в смысле объема памяти). Кроме того, поскольку реклама изначально нацелена на определенные целевые группы, упомянутая операция выбора приобретает относительную важность.
Предлагаемый приемник-декодер может дополнительно содержать средство (такое как массовое запоминающее устройство) для сохранения упомянутого множества программ. Путем сохранения упомянутого множества программ персонифицированный контент может быть создан в самое разное время, а не только тогда, когда упомянутое множество программ передается путем вещания или иным образом в приемник-декодер.
Предпочтительно приемник-декодер дополнительно содержит средство (такое как устройство вывода) для вывода упомянутой программы или каждой такой программы. Таким устройством мог бы быть, например, MPEG-декодер, графический процессор, телевизионный модулятор и/или физическое соединение. Таким образом, может быть повышена эффективность приемника-декодера, в том что касается автономного персонифицирования.
Приемник-декодер может содержать средство (такое как процессор с соответствующей памятью) для удаления из памяти по меньшей мере одной из сохраненного множества программ, не выбранной для вывода.
Программа может удаляться, например, по истечении определенного периода времени, если она не удовлетворяет определенному критерию "желательности", если поступают новые программы, или при некотором сочетании нескольких критериев.
Таким образом можно освобождать являющуюся ограниченным ресурсом память приемника-декодера, обеспечивая возможность замещения программы, например, более новыми и более подходящими программами по мере необходимости. В каждый момент времени в памяти, как правило, хранятся 50 программ, причем новыми программами заменяются прежде всего наименее желаемые программы. В альтернативном варианте может храниться свыше 100, 200, 500 или 1000 программ.
Предлагаемый приемник-декодер может содержать средство (такое как декодер) для выделения упомянутого множества программ из битового потока, передаваемого путем вещания. В равной мере это множество программ может приниматься с помощью других средств, например, таких как Интернет-соединение и/или широкополосное кабельное соединение. Благодаря этому доставка персонифицированного контента множеству приемников-декодеров может быть упрощена, поскольку устраняется необходимость в передаче персонифицированного контента в приемники-декодеры по двухточечным соединениям.
В одном варианте осуществления приемник-декодер дополнительно выполнен с возможностью приема упомянутого множества программ во время первого интервала передачи и вывода соответствующей программы во время второго интервала передачи.
Упомянутый первый интервал передачи предпочтительно приходится на некоторое заранее запланированное время. Таким заранее запланированным временем могло бы быть, например, время между 2 часами и 4 часами утра. Это могло бы обеспечить возможность передачи множества программ в приемник-декодер в то время, когда для этого имеется "свободная" (или по меньшей мере дешевая) полоса пропускания.
Упомянутым вторым интервалом передачи может быть перерыв между программами на вещаемом канале. В альтернативном варианте, это может быть аналог предусмотренной расписанием программы, такой как регулярный получасовой промежуток или промежуток, следующий за фильмом. Термин "перерыв между программами", как он используется в данном тексте, предпочтительно обозначает любой промежуток между предусмотренными расписанием программами на заданном телевизионном канале, например перерыв для передачи рекламы.
Первый интервал передачи и второй интервал передачи могут совпадать, фактически соответствуя ситуации вещания в реальном времени - приемник-декодер предоставляет пользователю "виртуальный канал" реального времени. Это может потребовать относительно высокой производительности для выбора программ, но позволит избежать необходимости в сохранении множества программ.
Предпочтительно предлагаемый приемник-декодер дополнительно содержит средство (такое как приемник) для приема сообщения, указывающего, что для упомянутого второго интервала передачи должна быть выбрана программа, и предпочтительно содержит также средство (такое как процессор с соответствующей памятью) для обработки данного сообщения.
Упомянутое сообщение может быть принято в вещаемом программном потоке и предпочтительно включает в себя временную информацию, касающуюся соответствующего второго интервала передачи. Благодаря этому достигается преимущество, заключающееся в том, что обеспечивается возможность дистанционного управления персонификацией, например, из центра вещания с помощью сообщений, передаваемых в приемник-декодер.
Более того, упомянутое сообщение предпочтительно указывает желаемый жанр или тип программы. Таким жанром или типом могла бы быть категория программы, такая как новости, спорт или фильм или, в пределах определенной категории, некоторый определенный жанр, такой как фильм ужасов или реклама, имеющая отношение к здоровью и поддержанию хорошей физической формы. Другие сообщения, указывающие, например, типы рекламных материалов, которые должны быть выбраны, могут передаваться с привязкой к конкретным каналам передачи программ и/или к определенным периодам суток или датам и без привязки к определенному интервалу. Включив в сообщение указание на необходимость выбора для заданного временного интервала некоторой программы, а также определив желаемый жанр или тип такой программы, передачу данных из внешнего источника, такого как центр вещания, в приемник-декодер можно сделать более эффективной.
Предлагаемый приемник-декодер может содержать средство (такое как процессор с соответствующей памятью) для ведения профиля пользователя, благодаря чему можно сделать более эффективным подбор программ согласно вкусам пользователя (т.е. персонификацию). Упомянутый профиль пользователя предпочтительно поставлен в соответствие пользователю данного приемника-декодера. В альтернативном варианте профиль пользователя может ставиться в соответствие владельцу подписной или другой смарт-карты в приемнике-декодере.
Предпочтительно приемник-декодер дополнительно содержит средство (такое как приемник) для приема управляющих данных, касающихся каждой из упомянутого множества программ. Предпочтительно приемник-декодер выполнен с возможностью приема упомянутых управляющих данных по существу одновременно с упомянутым множеством программ. Кроме того, управляющие данные, касающиеся каждой отдельной программы, предпочтительно являются смежными с каждой соответствующей программой и предпочтительно передаются в виде одного блока данных, включающего в себя отдельную программу и касающиеся ее управляющие данные, благодаря чему может, в общем, потребоваться меньше места для хранения таких данных в приемнике-декодере. В качестве альтернативы, вместо взаимнооднозначного соответствия с отдельными программами все управляющие данные могут приниматься сразу в одном блоке, и могут, в общем, описывать все упомянутое множество программ.
Предпочтительно приемник-декодер дополнительно выполнен с возможностью выбора программы в соответствии с принятыми управляющими данными, благодаря чему становятся более совершенными возможности по управлению персонификацией, осуществляемому извне приемника-декодера.
Предпочтительно управляющие данные включают в себя данные для сопоставления с профилем пользователя, а приемник-декодер дополнительно содержит средство (такое как процессор с соответствующей памятью) для выбора программы, касающиеся которой данные для сопоставления с профилем пользователя наиболее точно соответствуют профилю пользователя. Таким образом может быть уменьшено количество показываемых программ, не представляющих интереса для пользователя, и таким образом повышена эффективность системы.
Предлагаемый приемник-декодер может содержать средство (такое как процессор с соответствующей памятью) для изменения по меньшей мере части профиля пользователя, предпочтительно в виде конфигурирующего приложения. Пользователь может задавать относительные предпочтения в отношении ряда конкретных интересов, таких, например, как спорт. Это может позволить пользователю повысить эффективность адресной доставки программ, таких как рекламные материалы, в соответствии с собственными вкусами.
Предпочтительно приемник-декодер дополнительно выполнен с возможностью выбора программы в соответствии с желаемым жанром или типом программы. В качестве альтернативы, программа может выбираться в соответствии с характеристиками/параметрами/особенностями пользователя и/или приемника-декодера. Такими характеристиками/параметрами/особенностями могла бы быть, например, группа подписки, в которую входит пользователь, или его географическое местонахождение.
Приемник-декодер может содержать средство (такое как приемник) для приема второго множества программ и средство (такое как процессор с соответствующей памятью) для выбора из этого второго множества второй программы. Предпочтительно приемник-декодер также содержит средство (такое как устройство вывода) для вывода упомянутой второй программы и/или средство (такое как этот же или еще один процессор с соответствующей памятью) для планирования вывода упомянутой первой или второй выбранной программы во время некоторого интервала передачи. Благодаря этому может быть организован "виртуальный канал".
Предпочтительно приемник-декодер также содержит средство (такое как приемник) для приема управляющих данных, касающихся упомянутого второго множества программ, причем вторая программа также выбирается предпочтительно в соответствии с касающимися ее управляющими данными.
Приемник-декодер может быть выполнен с возможностью выбора второй программы в конце или после окончания первой программы. Как упоминалось выше, это может помочь в реализации гибких систем, в которых вычисления, связанные с выбором программ, производятся "на лету", что позволит организовать "виртуальные каналы" в реальном времени, для которых не требуется локальная память.
Предпочтительно приемник-декодер дополнительно содержит средство для вычисления коэффициента совместимости для упомянутого второго множества программ относительно упомянутой первой программы с использованием правил следования программ и дополнительно выполнен с возможностью выбора программы, имеющей высокий коэффициент совместимости. Благодаря этому возможности по персонификации могут быть еще более расширены, например, путем отслеживания выводимых программ с течением времени и соответствующей адаптации вывода.
Эта важная особенность также может быть реализована независимо. Соответственно согласно смежному аспекту изобретения предлагается приемник-декодер, содержащий средство (такое как процессор с соответствующей памятью) для выбора первой программы из первого множества программ и средство (такое как этот же или еще один процессор с соответствующей памятью) для выбора второй программы из второго множества программ в соответствии с правилами следования программ, вычисленными применительно к первой программе.
Упомянутые правила следования программ могут налагать ограничения на количество повторов программ определенного типа или жанра в течение некоторого заданного периода времени. Например, такие правила могли бы запрещать показ пользователю в существенной степени последовательный показ рекламы автомобилей фирм-конкурентов. В альтернативном варианте, правила могли бы оговаривать, например, минимальное количество рекламных материалов или выпусков новостей, которые должны быть представлены в течение некоторого заданного периода времени.
Правила следования программ могут также задавать предпочтительные сочетания и/или последовательности типов или жанров программ. Таким образом, можно предусмотреть правила следования, согласно которым рекламные материалы должны следовать, например, перед фильмами и после них.
Предпочтительно предлагаемый приемник-декодер дополнительно содержит средство (такое как приемник) для приема в приемнике-декодере сообщения, включающего в себя по меньшей мере часть упомянутых правил следования программ. Благодаря этому может быть обеспечен более удобный способ персонифицирования "виртуальных каналов" пользователя, не требуя никаких данных из приемника-декодера. Предпочтительно приемник-декодер выполнен с возможностью приема упомянутого сообщения как части вещаемого битового потока, но он может быть также выполнен с возможностью приема упомянутого сообщения с помощью других средств, например с помощью двухточечного соединения через Интернет.
Приемник-декодер может содержать средство (такое как процессор с соответствующей памятью) для замены по меньшей мере части правил следования программ принятыми новыми правилами следования программ. Благодаря этому открываются возможности динамической и модифицируемой персонификации, опять-таки - без необходимости в вводе данных из приемника-декодера в ходе этого процесса. Это особенно важно в определенных юрисдикциях, где законы, защищающие частную жизнь, запрещают большую часть - а то и все виды - передачи данных из приемника-декодера другим лицам, если таковая не была инициирована пользователем.
Упомянутое средство для приема сообщения может быть выполнено с возможностью декодирования приватной MPEG-таблицы, включающей в себя упомянутое сообщение. Такой приватной MPEG-таблицей могла бы быть описанная ниже таблица уведомления о действии (Action Notification Table - ANT) или таблица управления виртуальным каналом (Virtual Channel Management Table - VCMT), также описанная ниже. Благодаря этому может быть повышена эффективность системы, поскольку, как выяснилось, приватная MPEG-таблица является эффективным средством для транспортировки данного сообщения.
Согласно смежному аспекту изобретения предлагается приемник-декодер, содержащий средство (такое как приемник) для приема программного потока и средство (такое как процессор с соответствующей памятью и/или коммутатор) для замены частей программного потока локально сохраненным рекламным материалом.
Согласно еще одному аспекту изобретения предлагается устройство для работы с программами, содержащее средство (такое как процессор с соответствующей памятью) для формирования сообщения, включающего в себя правила следования программ, которые будут применяться к программам, выводимым приемником-декодером.
Предпочтительно предлагаемое устройство дополнительно содержит средство (такое как передатчик) для передачи упомянутого сообщения в приемник-декодер. Эта особенность также может быть реализована независимо. Предпочтительно устройство дополнительно содержит средство (такое как соединение с системой вещания) для передачи упомянутого сообщения путем вещания через ту же среду, через которую осуществляется вещание.
Упомянутое средство для формирования сообщения предпочтительно выполнено с возможностью включения в сообщение адресной информации, так чтобы сообщение декодировали лишь приемники-декодеры с заданными характеристиками. Кроме того, средство для генерирования сообщения может быть выполнено с возможностью генерирования приватной MPEG-таблицы, соответствующей упомянутому сообщению.
Согласно еще одному аспекту изобретения предлагается способ работы с программным потоком, включающий прием программного потока и замену частей программного потока локально сохраненной программой.
Предлагаемый способ дополнительно включает прием множества программ, подходящих для ряда пользователей, и выбор из этого множества программ по меньшей мере одной программы, подходящей для пользователя соответствующего приемника-декодера.
Согласно еще одному смежному аспекту изобретения предлагается способ работы с программами, включающий прием приемником-декодером множества программ, подходящих для ряда пользователей, и выбор из этого множества программ по меньшей мере одной программы, подходящей для по меньшей мере одного из упомянутых пользователей. Каждый такой пользователь предпочтительно является пользователем приемника-декодера, осуществляющего вывод. Как и прежде, упомянутым множеством программ могут быть рекламные материалы.
Предлагаемый способ может дополнительно включать удаление из памяти по меньшей мере одной из сохраненного множества программ, не выбранной для вывода.
Упомянутое множество программ предпочтительно принимается во время первого интервала передачи, а вывод упомянутой программы предпочтительно осуществляется во время второго интервала передачи.
Упомянутый первый интервал передачи предпочтительно приходится на некоторое запланированное время, а упомянутым вторым интервалом передачи может быть перерыв между программами на вещаемом канале. Первый интервал передачи и второй интервал передачи могут также совпадать.
Операция выбора программы может дополнительно включать прием сообщения, указывающего на то, что для упомянутого второго интервала передачи должна быть выбрана программа, и соответствующий выбор программы. Сообщение предпочтительно принимается в вещаемом программном потоке и предпочтительно включает в себя временную информацию, касающуюся второго интервала передачи. Преимущество этого состоит в возможности дистанционного управления процессом персонификации, например, из центра вещания, с помощью сообщений, передаваемых в приемник-декодер.
Предпочтительно сообщение указывает желаемый жанр или тип программы.
Предлагаемый способ может дополнительно включать прием управляющих данных, касающихся каждой из упомянутого множества программ, что может упростить осуществление персонификации.
Предпочтительно программа выбирается в соответствии с принятыми управляющими данными; предпочтительно управляющие данные включают в себя данные для сопоставления с профилем пользователя, а операция выбора программы включает сравнение таких данных для сопоставления с профилем пользователя с профилем пользователя приемника-декодера и выбор программы, касающиеся которой данные для сопоставления с профилем пользователя точнее всего совпадают с данным профилем пользователя.
Предпочтительно по меньшей мере часть профиля пользователя может изменяться пользователем. Программа может быть выбрана в соответствии с некоторым или желаемым жанром или типом программы. В альтернативном варианте программа может быть выбрана в соответствии с характеристиками/параметрами/особенностями пользователя и/или приемника-декодера.
Способ может дополнительно включать прием второго множества программ, выбор из этого второго множества программ второй программы и вывод этой второй программы. Предпочтительно способ дополнительно включает назначение вывода упомянутой первой или второй выбранной программы во время некоторого интервала передачи.
Предпочтительно способ включает также прием управляющих данных, касающихся упомянутого второго множества программ, причем упомянутая вторая программа, опять же, выбирается в соответствии с касающимися ее управляющими данными. Вторая программа может выбираться в конце или после окончания первой программы.
Операция выбора второй программы предпочтительно включает вычисление коэффициента совместимости упомянутого второго множества программ относительно первой программы с использованием правил следования программ и выбор программы с высоким коэффициентом совместимости.
Эта важная особенность может быть реализована также независимо. Соответственно согласно еще одному аспекту изобретения предлагается способ работы с программами, включающий выбор первой программы из первого множества программ и выбор второй программы из второго множества программ в соответствии с правилами следования программ, вычисленными применительно к первой программе.
Предпочтительно предлагаемый способ дополнительно включает прием в приемнике-декодере сообщения, включающего в себя по меньшей мере часть правил следования программ. Способ может дополнительно включать замену по меньшей мере части правил следования программ принятыми новыми правилами следования программ.
Предпочтительно способ дополнительно включает передачу в приемник-декодер (в дополнение к приему в приемнике-декодере) сообщения, включающего в себя правила следования программ. Эта и другие важные особенности могут быть также реализованы независимо.
Соответственно согласно еще одному аспекту изобретения предлагается способ управления приемником-декодером, включающий передачу в приемник-декодер сообщения, включающего в себя правила следования программ, предназначенные для применения к программам, выводимым приемником-декодером.
Предпочтительно упомянутое сообщение передают путем вещания через среду вещания. Как отмечалось выше, благодаря этому может быть обеспечен очень простой способ осуществления персонификации контента для большого числа приемников-декодеров.
Сообщение может включать в себя адресную информацию, так чтобы оно могло быть декодировано только приемниками-декодерами с заданными характеристиками. Это может еще более упростить и повысить эффективность осуществления персонификации путем адресной передачи информации правил планирования только в подмножество приемников-декодеров, которые могут принимать эти вещаемые сообщения.
Предлагаемый способ может дополнительно включать передачу в приемник-декодер сообщения, включающего в себя временную информацию, касающуюся интервала передачи, и команду, инициирующую вывод персонифицированной программы во время этого интервала передачи. Сообщение может дополнительно включать в себя информацию о жанре или типе программы. Эта особенность может быть реализована независимо.
Способ может также включать передачу в приемник-декодер управляющих данных, касающихся упомянутой программы, включающих в себя данные для сопоставления с профилем пользователя, временную информацию и предпочтительно также информацию о категории.
Способ может дополнительно включать прием и сохранение множества программ во время первого интервала передачи, прием и вывод предусмотренной расписанием программы во время второго интервала передачи, выбор одной из сохраненных программ в соответствии с сохраненным профилем и вывод выбранной сохраненной программы. Эта особенность может быть также реализована независимо.
Способ может дополнительно включать выбор первой программы, управляющие данные для которой соответствуют сохраненному профилю пользователя, прием выбранной первой программы на первом канале во время первого интервала передачи, выбор второй программы, управляющие данные для которой соответствуют сохраненному профилю пользователя, переключение на второй канал и прием выбранной второй программы на втором канале во время второго интервала передачи, причем операция переключения выполняется во время синхронизированного перерыва между программами, между первым и вторым интервалами передачи. Эта особенность может быть также реализована независимо.
Предлагается также способ формирования расписания вывода программ, включающий прием и сохранение двух или более программ, прием по меньшей мере одного правила и формирование расписания вывода сохраненных программ в соответствии с алгоритмом формирования расписания, задействующим принятое(ые) правило(а).
Способ может дополнительно включать выбор подмножества программ из множества передаваемых программ в соответствии с сохраненным профилем и сохранение только этого подмножества из упомянутого множества передаваемых программ.
Согласно изобретению предлагается также способ изменения алгоритма формирования расписания, согласно которому алгоритм формирования расписания настраивается таким образом, чтобы составлять расписание, определяющее порядок представления пользователю программ, и сохраняется в пользовательской оконечной системе, включающий передачу в пользовательскую оконечную систему некоторого правила для его задействования в алгоритме планирования расписания.
Согласно изобретению предлагается также способ централизованного управления алгоритмом формирования расписания, выполняемым пользовательской оконечной системой. Таким образом, новые правила могут быть переданы в любое время для обновления алгоритма формирования расписания.
Согласно изобретению предлагается также способ передачи программ, включающий передачу первой программы на первом канале во время первого интервала передачи, передачу второй программы на втором канале во время второго интервала передачи и передачу управляющих данных, касающихся первой и второй программ, причем первый и второй интервалы передачи предпочтительно разделены синхронизированным перерывом между программами. Управляющие данные, касающиеся упомянутой второй программы, предпочтительно передаются во время этого синхронизированного перерыва между программами.
Согласно изобретению предлагается способ переключения между программами во время перерыва между программами или "перехода" между интервалами передачи. Путем синхронизации перерывов между программами пользователю может предоставляться непрерывная последовательность программ.
Согласно изобретению предлагается также способ управления виртуальным каналом, включающий прием и сохранение первой и второй программ, выбор и извлечение сохраненной первой программы в соответствии с сохраненным профилем и удаление или затирание невыбранной второй программы (т.е. записывание поверх нее).
Предпочтительно каждая программа одновременно передается в две или более пользовательские оконечные системы. Предпочтительно по меньшей мере одна из программ содержит рекламный материал. Каждая программа предпочтительно содержит видео- и/или звуковую компоненту.
Согласно еще одному аспекту изобретения предлагается система вещания, включающая в себя описанный выше приемник-декодер, а также описанное выше устройство.
Согласно еще одному аспекту изобретения предлагается сообщение для передачи в приемник-декодер, включающее в себя команду, инициирующую выбор программы для заданного интервала передачи, и временную информацию, касающуюся этого интервала передачи. Предпочтительно сообщение дополнительно указывает желаемый жанр или тип программы.
Согласно еще одному аспекту изобретения предлагается сообщение для передачи в приемник-декодер, включающее в себя правила следования программ. Это и вышеупомянутое сообщение предпочтительно дополнительно включают в себя адресную информацию.
Предлагаются также управляющие данные, включающие в себя данные для сопоставления с профилем пользователя, временную информацию, а также предпочтительно информацию о категории.
Согласно еще одному аспекту изобретения предлагается приватная MPEG-таблица, включающая в себя описанное выше сообщение.
Согласно еще одному аспекту изобретения предлагается компьютерный программный продукт, выполненный с возможностью осуществления вышеупомянутого способа.
Согласно смежному аспекту изобретения предлагается компьютерный программный продукт, выполненный с возможностью усовершенствования приемника-декодера таким образом, чтобы он мог осуществлять вышеупомянутый способ.
Согласно смежному аспекту изобретения предлагается компьютерный программный продукт, включающий в себя средство (в данном и последующих случаях, как правило, в виде одного или нескольких программных модулей) для выбора из множества рекламных материалов одного материала, подходящего для пользователя соответствующего приемника-декодера.
Предпочтительно предлагаемый компьютерный программный продукт дополнительно включает в себя средство для приема и сохранения в приемнике-декодере множества программ, подходящих для ряда пользователей, средство для выбора из сохраненного множества программ одной программы, подходящей для пользователя соответствующего приемника-декодера, и средство для вывода этой программы.
Упомянутым множеством программ предпочтительно являются рекламные материалы. Предпочтительно компьютерный программный продукт дополнительно включает в себя средство для удаления из памяти по меньшей мере одной из сохраненного множества программ, не выбранной для вывода.
Упомянутое средство для приема и сохранения множества программ предпочтительно содержит средство для выделения множества программ из вещаемого битового потока. Упомянутое множество программ предпочтительно принимается во время первого интервала передачи, а упомянутая программа выводится во время второго интервала передачи. Первый интервал передачи предпочтительно приходится на некоторое заранее запланированное время. Вторым интервалом передачи предпочтительно является перерыв между программами вещаемого канала. Предпочтительно первый и второй интервал передачи совпадают.
Упомянутое средство для выбора программы может дополнительно содержать средство для приема сообщения, указывающего на то, что для второго интервала передачи должна быть выбрана программа, и средство для соответствующего выбора программы. Сообщение предпочтительно указывает желаемый жанр или тип программы. Предлагаемый компьютерный программный продукт предпочтительно дополнительно содержит средство для приема управляющих данных, касающихся каждой из упомянутого множества программ. Предпочтительно программа выбирается в соответствии с принятыми управляющими данными. Управляющие данные предпочтительно включают в себя данные для сопоставления с профилем пользователя, а средство для выбора программы предпочтительно содержит средство для сравнения таких данные для сопоставления с профилем пользователя с профилем пользователя приемника-декодера и средство для выбора программы, касающиеся которой данные для сопоставления с профилем пользователя точнее всего совпадают с данным профилем пользователя. Предпочтительно по меньшей мере часть профиля пользователя может быть изменена пользователем.
Предпочтительно упомянутая программа выбирается в соответствии с желаемым жанром или типом программы. Программа может выбираться в соответствии с характеристиками/параметрами/особенностями пользователя и/или приемника-декодера. Предлагаемый компьютерный программный продукт может дополнительно включать в себя средство для приема второго множества программ, средство для выбора из второго множества программ второй программы и средство для вывода второй программы. Вторая программа может выбираться в конце или после окончания первой программы. Средство для выбора второй программы предпочтительно содержит средство для вычисления коэффициента совместимости второго множества программ относительно первой программы с использованием правил следования программ и средство для выбора программы, имеющей достаточно высокий коэффициент совместимости.
Согласно изобретению предлагается также компьютерный программный продукт, включающий в себя средство для приема первого множества программ, средство для выбора и вывода первой программы из первого множества программ, средство для приема второго множества программ и средство для выбора и вывода второй программы из второго множества программ, причем вторая программа выбирается в соответствии с правилами следования программ, примененными в отношении первой программы.
Правила следования программ могут накладывать ограничения на количество повторений программ определенного типа или жанра в течение заданного периода времени. Правила следования программ могут также задавать предпочтительные сочетания и/или последовательности типов или жанров программ. Предлагаемый компьютерный программный продукт может дополнительно включать в себя средство для приема в приемнике-декодере сообщения, включающего в себя по меньшей мере часть правил следования программ. Компьютерный программный продукт может дополнительно включать в себя средство для замены по меньшей мере части правил следования программ принятыми новыми правилами следования программ.
Предлагается также компьютерный программный продукт, включающий в себя средство для передачи в приемник-декодер сообщения, включающего в себя правила следования программ. Предпочтительно упомянутое сообщение вещают через среду вещания. Сообщение может содержать адресную информацию, чтобы данное сообщение декодировал только приемник-декодер, имеющий заданные характеристики.
Согласно другому аспекту изобретения предлагается сигнал, материально воплощающий описанный выше компьютерный программный продукт. Таким сигналом может быть, например, множество Интернет-пакетов или группа сообщений, передаваемых путем вещания в системе цифрового телевидения.
Согласно еще одному аспекту изобретения предлагается машиночитаемый носитель данных, материально воплощающий описанный выше компьютерный программный продукт. Таким машиночитаемым носителем данных мог бы быть, например, CD-ROM.
Согласно изобретению предлагается также компьютерная программа и компьютерный программный продукт для осуществления любого из описанных способов и/или реализации любого из описанных признаков устройств, а также компьютерный программный продукт с сохраненной на нем программой для осуществления любого из описанных способов и/или реализации любого из описанных признаков устройств.
Согласно изобретению предлагается также сигнал, воплощающий компьютерную программу для осуществления любого из описанных способов и/или реализации любого из описанных признаков устройств, способ передачи такого сигнала и компьютер, имеющий операционную систему, которая поддерживает компьютерную программу для осуществления любого из описанных способов и/или реализации любого из описанных признаков устройств.
Настоящее изобретение распространяется на способы и/или устройства, по существу такие, как описано в данном тексте со ссылками на прилагаемые графические фигуры.
Любая особенность, касающаяся одного аспекта изобретения, может быть применена к другим аспектам изобретения в любом подходящем сочетании. В частности, признаки аспектов способов могут быть применены к аспектам устройств, и наоборот.
Ниже, исключительно в качестве иллюстрирующих примеров, будут описаны предпочтительные особенности изобретения со ссылками на прилагаемые графические фигуры:
фиг.1 - общий вид системы спутникового цифрового телевидения;
фиг.2 - общий вид системы кабельного цифрового телевидения;
фиг.3 - общий вид системы с более детальным изображением головного узла;
фиг.4 - архитектура приемника-декодера, с изображением его компонентов;
фиг.5 - архитектура программного обеспечения приемника-декодера;
фиг.6 - схема, более подробно показывающая верхнюю половину фиг.5;
фиг.7 - схема, более подробно показывающая нижнюю половину фиг.5;
фиг.8 - схема, показывающая альтернативный вариант нижней половины фиг.5;
фиг.9(а), 9(b) и 9(с) - схемы, иллюстрирующие персонифицированный рекламный материал;
фиг.10 - структура информационного сообщения виртуального канала (VCIM);
фиг.11 - схема, представляющаяся формат вещаемых рекламных материалов;
фиг.12 - пример, показывающий четыре виртуальных канала для четырех различных пользователей;
фиг.13 - пример, иллюстрирующий избирательную запись программ, вещаемых на трех отдельных каналах;
фиг.14 - схема, иллюстрирующая способ организации виртуального канала, согласно которому переключение между каналами осуществляется в моменты перехода;
фиг.15 - блок-схема способа оценки пригодности рекламных материалов;
фиг.16 - блок-схема, более подробно иллюстрирующая способ оценки пригодности рекламных материалов.
Общий вид системы
Общий вид системы 500 цифрового телевидения показан на фиг.1. Как будет раскрыто ниже, система 500 включает в себя центр 1000 вещания, приемник-декодер 2000, архитектуру 3000 программного обеспечения и аппаратных средств приемника-декодера, систему 4000 обеспечения интерактивности и систему 5000 условного доступа, рассматриваемые ниже.
Система 500 включает в себя в основном обычную систему 502 цифрового телевидения, в которой для передачи сжатых цифровых сигналов применяется известная система сжатия MPEG-2. Конкретнее, MPEG-2-компрессор 1010 в центре 1000 вещания принимает поток цифровых сигналов (обычно поток видеосигналов). Компрессор 1010 подключен к мультиплексору-скремблеру 1030 посредством соединения 1020.
Мультиплексор 1030 получает множество других входных сигналов, компонует транспортный поток и передает сжатые цифровые сигналы в передатчик 510 центра вещания через соединение 1022, которое, разумеется, может принимать самые разнообразные формы, включая телекоммуникационные каналы связи. Передатчик 510 передает электромагнитные сигналы по каналу 514 "Земля-спутник" на спутниковый транспондер 520, где их подвергают электронной обработке и вещают по виртуальному каналу 516 "спутник-Земля" в наземный приемник 512, обычно имеющий форму параболической антенны, принадлежащий или арендуемый конечным пользователем. Возможны, разумеется, и другие транспортные каналы для передачи данных, такие как наземное вещание, кабельная передача, комбинированные кабельно-спутниковые каналы, телефонные сети и т.п.
Сигналы, принятые приемником 512, передаются в совмещенный приемник-декодер 2000, принадлежащий или арендуемый конечным пользователем и подключенный к телевизору 10000 конечного пользователя. Приемник-декодер 2000 декодирует сжатый MPEG-2 сигнал в телевизионный сигнал для телевизора 10000. Хотя на фиг.1 показан отдельный приемник-декодер, он в равной степени может входить в состав интегрированного цифрового телевизора. Термин "приемник-декодер", как он применяется в данном тексте, охватывает и отдельный приемник-декодер, такой как приставка для телевизора (STB), и телевизор со встроенным приемником-декодером.
В приемнике-декодере 2000 предусмотрен жесткий диск 2100, на который могут сохраняться аудиовизуальные и другие данные. Благодаря этому обеспечиваются широкие возможности в том, что касается записи и воспроизведения программ, принимаемых приемником-декодером, а также обеспечивает возможность хранения в приемнике-декодере большого количества других типов данных, таких как данные электронных программных гидов (известных как EPG).
Система 2300 работы с контентом и его защиты (Content Management and Protection System - CMPS) (не показана), предусмотренная в приемнике-декодере, обеспечивает возможность надежного и гибкого управления записью данных на жесткий диск 2100 (или другое запоминающее устройство) и их воспроизведением с него.
В многоканальной системе мультиплексор 1030 обрабатывает аудио- и видеоинформацию, принимаемую из нескольких параллельных источников, и взаимодействует с передатчиком 510 для вещания этой информации по соответствующему количеству каналов. Дополнительно к аудиовизуальной информации в некоторые или во все эти каналы могут вводиться сообщения, или приложения, или цифровые данные любого другого рода, перемежаемые с передаваемой цифровой аудио- и видеоинформацией.
К мультиплексору 1030 и приемнику-декодеру 2000 подключена система 4000 обеспечения интерактивности, размещенная частично в центре вещания и частично в приемнике-декодере. Она позволяет пользователю взаимодействовать с различными приложениями через обратный канал 570. Обратным каналом может быть, например, канал коммутируемой телефонной сети общего пользования (PSTN) (например, модемный обратный канал), или ООВ-канал (т.н. "out-of-band"-канал).
Система 5000 условного доступа, также подключенная к мультиплексору 1030 и приемнику-декодеру 2000 и также размещенная частично в центре вещания и частично в приемнике-декодере, обеспечивает пользователю возможность получения доступа к передачам цифрового телевидения одного или нескольких провайдеров вещания. В приемник-декодер 2000 может устанавливаться смарт-карта, способная дешифровать сообщения, относящиеся к коммерческим предложениям (т.е. одной или к нескольким телевизионным программам, продаваемым провайдером вещания). С помощью приемника-декодера 2000 и смарт-карты конечный пользователь может покупать коммерческие предложения либо в режиме подписки, либо в режиме оплаты за отдельный просмотр (PPV). Обычно это осуществляется с помощью обратного канала 570, который используется системой 4000 обеспечения интерактивности.
Как упоминалось выше, передаваемые системой программы скремблируются мультиплексором 1030, причем параметры и ключи шифрования, применяемые к данной конкретной передаче, определяются системой 5000 условного доступа. Такая передача скремблированных данных хорошо известна в области систем платного телевидения. Обычно скремблированные данные передаются вместе с управляющим словом для дескремблирования этих данных, причем само управляющее слово зашифровывается с помощью так называемого рабочего ключа и передается в зашифрованной форме.
Эти скремблированные данные и зашифрованное управляющее слово затем принимаются приемником-декодером 2000, имеющим доступ к эквиваленту упомянутого рабочего ключа, сохраненному на смарт-карте, установленной в приемник-декодер, чтобы дешифрировать зашифрованное управляющее слово и после этого дескремблировать переданные данные. Оплативший подписку абонент получит, например, в переданном на данный месяц EMM (сообщении условного доступа) рабочий ключ, необходимый для дешифрирования зашифрованного управляющего слова, что, в свою очередь, необходимо для просмотра передачи.
Фиг.2 иллюстрирует альтернативный вариант системы 504 цифрового телевидения, в которой в качестве среды передачи сжатых цифровых сигналов используется кабельная сеть. На данной фигуре компоненты, аналогичные показанным на фиг.1, обозначены такими же позициями.
Спутниковый транспондер и приемные и передающие устройства заменены кабельной сетью 550. Кроме того, в данном варианте осуществления модемный обратный канал между приемником-декодером 2000, системой 4000 обеспечения интерактивности и системой 5000 условного доступа исключен и заменен соединениями 554, 556 между кабельной сетью 550 и соответственно системой 5000 условного доступа и системой 4000 обеспечения интерактивности. Таким образом, приемник-декодер 2000 обменивается данными с другими системами по кабельной сети 550, используя кабельный модем или другие средства, позволяющие ему передавать и принимать данные через соединение, такое же, как и то, через которое он принимает данные из центра вещания.
Кабельная сеть 550 может представлять собой любую разновидность глобальной сети (WAN), такую как выделенная линия, Интернет, локальная кабельная распределительная сеть, беспроводное соединение или любое их сочетание. В рассматриваемом варианте осуществления используется комбинированная оптокоаксиальная кабельная сеть (HFC-сеть). Будет очевидным, что различные средства передачи данных между приемником-декодером 200 и другими компонентами системы телевидения взаимозаменяемы.
Система условного доступа
Как показано на фиг.3, в общем, система 5000 условного доступа включает в себя систему санкционирования подписчиков (SAS -Subscriber Authorization System) 5200. SAS 5200 соединена с одной или несколькими системами управления подписчиками (SMS - Subscriber Management Systems) 1100, по одной SMS для каждого провайдера вещания, посредством соединения 1044, которое может быть TCP/IP-каналом или каналом другого типа. В альтернативном варианте одна SMS может использоваться совместно двумя коммерческими операторами, либо один оператор может использовать две SMS и т.п.
Первые шифрующие устройства в виде блоков шифрования 5100, использующих "материнские" смарт-карты 5110, подключены к SAS посредством соединения 1042. Вторые шифрующие устройства, также в виде блоков шифрования 5102, использующих материнские смарт-карты 5112, подключены к мультиплексору 1030 посредством соединения 1040. В приемник-декодер 2000 устанавливается "дочерняя" смарт-карта 5500. Приемник-декодер подключен непосредственно к SAS 5200 через серверы 1200 связи и модемный обратный канал 570. Наряду с другими сигналами SAS передает в дочернюю смарт-карту права подписки по запросу.
В модификациях предпочтительного варианта осуществления Интернет- или кабельные соединения либо дополняют, либо заменяют PSTN 570 и коммуникационные серверы 1200.
Смарт-карты содержат конфиденциальную информацию от одного или нескольких коммерческих операторов. "Материнская" смарт-карта зашифровывает сообщения различных видов, а "дочерние" смарт-карты дешифрируют эти сообщения, если у них есть на это права.
Как показано на фиг.3, в центре вещания цифровой видеосигнал сначала сжимается (или скорость передачи битового потока снижается) с помощью MPEG-2-компрессора 1010. Этот сжатый сигнал затем передается в мультиплексор-скремблер 1030 для мультиплексирования с другими данными, такими как другие сжатые данные.
Скремблер генерирует управляющее слово, используемое в процессе скремблирования и включаемое в MPEG-2-поток в мультиплексоре 1030. Это управляющее слово генерируется внутри системы и позволяет приемнику-декодеру 2000 конечного пользователя дескремблйровать программу.
В MPEG-2-поток также вводят критерии доступа, указывающие на режим, в котором данная программа предлагается потребителю. Программа может предлагаться в одном из нескольких режимов "подписки" и/или одном из нескольких режимов "оплаты за отдельный просмотр" (PPV). В режиме подписки конечный пользователь подписывается на одно или несколько коммерческих предложений,или групп ("букетов") каналов, получая тем самым право смотреть любой канал, входящий в эти группы каналов. В PPV-режиме конечному пользователю предоставляется возможность покупать передачи по желанию.
И управляющее слово, и критерии доступа используются для формирования сообщения управления правами (ЕСМ); это сообщение передается для какой-либо одной скремблированной программы. ЕСМ содержит управляющее слово (позволяющее дескремблировать данную программу) и критерии доступа к этой вещаемой программе. Критерии доступа и управляющее слово передаются в упомянутый второй блок шифрования 5102 через соединение 1040. В этом блоке ЕСМ генерируется, шифруется и передается назад в мультиплексор-скремблер 1030.
Каждый сервис, вещаемый провайдером вещания в потоке данных, включает в себя несколько отдельных компонент; например, телевизионная программа включает в себя видеокомпоненту, звуковую компоненту, компоненту субтитров и т.п. Каждая из этих компонент сервиса скремблируется и шифруется для последующего вещания отдельно. Для каждой скремблированной компоненты сервиса требуется отдельное ЕСМ.
Мультиплексор 1030 получает электрические сигналы, содержащие зашифрованные EMM из SAS 5200, зашифрованные ЕСМ из второго блока шифрования 5102 и сжатые программы из компрессора 1010. Мультиплексор 1030 скремблирует программы и передает скремблированные программы, зашифрованные EMM и зашифрованные ЕСМ как электрические сигналы в систему 600 вещания, которая может быть, например, спутниковой системой, показанной на фиг.1, или иной системой вещания. Приемник-декодер 2000 демультиплексирует эти сигналы, чтобы получить скремблированные программы, зашифрованные EMM и зашифрованные ЕСМ.
Приемник-декодер принимает этот вещательный сигнал и извлекает поток MPEG-2 данных. Если программа скремблирована, приемник-декодер 2000 извлекает соответствующее ЕСМ из MPEG-2 потока и передает это ЕСМ в "дочернюю" смарт-карту 5500 конечного пользователя. Она устанавливается в корпус приемника-декодера 2000. Дочерняя смарт-карта 5500 контролирует, имеет ли данный конечный пользователь право на дешифрирование этого ЕСМ и доступ к данной программе. Если не имеет, в приемник-декодер 2000 передается отрицательный ответ, указывающий на то, что данную программу нельзя дескремблировать. Если конечный пользователь имеет соответствующие права, ЕСМ дешифрируется и извлекается управляющее слово. Декодер 2000 может тогда дескремблировать эту программу, используя это управляющее слово. MPEG-2 поток подвергается декомпрессии и преобразуется в видеосигнал для передачи в телевизор 10000.
Если программа не скремблирована, сообщения ЕСМ в MPEG-2 потоке не передаются, и приемник-декодер 2000 подвергает данные декомпрессии и преобразует принятый сигнал в видеосигнал для передачи в телевизор 10000.
Система управления подписчиками (SMS) 1100 включает в себя базу данных 1150, которая управляет, помимо прочего, всеми файлами конечных пользователей, коммерческими предложениями (такими как тарифы и стимулирование потребления), подпиской, сведениями по PPV и данными, касающимися потребления конечными пользователями и санкционирования. SMS может быть физически удалена от SAS.
SMS 1100 передает в SAS 5200 сообщения, которые инициируют изменение или создание сообщений условного доступа (EMM), предназначающихся для передачи конечным пользователям. SMS 1100 также передает в SAS 5200 сообщения, которые не предполагают ни изменения, ни создания EMM, но лишь инициируют изменение статуса конечного пользователя (относительно прав, предоставляемых данному конечному пользователю при заказе продукта, или суммы, которая будет списана со счета данного конечного пользователя). SAS 5200 также передает сообщения (обычно запрашивающие информацию, такую как информация обратного вызова или биллинговая информация) в SMS 1100, из чего явствует, что соединение между двумя этими системами является двухсторонним.
Приемник-декодер
Ниже со ссылками на фиг.4 будут рассмотрены, на функциональном уровне, различные компоненты приемника-декодера 2000.
Приемник-декодер 2000, который может быть, например, цифровой телевизионной приставкой (STB), содержит центральный процессор 2002 и сопроцессор 2004 цифрового телевидения, каждый из которых имеет соответствующую память (не показана), соединенные шиной 2006 сопроцессора. Сопроцессор 2004 выполнен с возможностью приема входных данных из USB-интерфейса 2070, последовательного интерфейса 2072, параллельного интерфейса (не показан), модема (подключенного к модемному обратному каналу 570, показанному на фиг.1) и переключающих контактов на передней панели 2054 декодера.
Приемник-декодер дополнительно выполнен с возможностью приема входных сигналов от инфракрасного пульта ДУ 2080 (и, факультативно, от других беспроводных периферийных устройств 2082, таких как устройства, поддерживающие технологию Bluetooth), а также снабжен двумя считывателями 2050, 2052 смарт-карт, выполненными с возможностью считывания соответственно банковской смарт-карты 2060 и подписной смарт-карты 2062. Взаимодействуя с установленной подписной смарт-картой 2062 и блоком условного доступа (не показан), считыватель 2052 подписной смарт-карты передает необходимое управляющее слово в блок 2010 демультиплексирования, дескремблирования и повторного мультиплексирования, обеспечивая возможность дескремблирования зашифрованных вещаемых сигналов. Декодер также содержит обычный тюнер 2016 и демодулятор 2012 для приема и демодуляции передаваемых спутником данных перед фильтрацией и демультиплексированием блоком демодулятора-дескремблера 2010. Предусмотрены также второй тюнер 2018 и второй демодулятор 2014, для обеспечения, среди прочего, возможности приема и декодирования второго канала, параллельно с первым каналом.
Предусматривается также жесткий диск 2100, обеспечивающий возможность хранения данных программ и приложений, принимаемых и генерируемых приемником-декодером. Вместе с двумя тюнерами 2016, 2018, двумя демодуляторам 2012, 2014, блоком 2010 дескремблирования, демультиплексирования и повторного мультиплексирования, а также декодером 2024 данных и декодером 2026 звуковых данных, жесткий диск обеспечивает расширенные возможности в том, что касается записи и воспроизведения, позволяющие записывать одну или несколько программ параллельно с просмотром другой программы и, в общем случае, позволяющие - параллельно - передавать данные на жесткий диск и с него в устройства отображения и/или в устройства ввода и устройства вывода и из них.
На аудиовыход 2038 и видеовыход 2040 приемника-декодера данные подаются с соответственно ИКМ-смесителя 2030 и аудио-ЦАП 2034 и MPEG-видеодекодера 2028, графического процессора 2032 и кодера PAL/SECAM 2036. Разумеется, могут предусматриваться иные или дополнительные выходы.
В контексте данного описания термин "приложение" предпочтительно обозначает фрагмент машинного кода для управления высокоуровневыми функциями предпочтительно приемника-декодера 2000. Например, когда конечный пользователь устанавливает фокус пульта ДУ 2080 на объекте "командная кнопка", отображаемом на экране телевизора (не показан), и нажимает клавишу подтверждения, выполняется соответствующая кнопке последовательность команд. Приложения и соответствующее промежуточное программное обеспечение (middleware) выполняются процессором 2002, с осуществлением по мере необходимости удаленных вызовов процедур (RPC), обращающихся к сопроцессору 2004 цифрового телевидения по шине 2006 сопроцессора.
Интерактивное приложение предлагает меню, а также выполняет команды по запросу конечного пользователя и предоставляет данные, зависящие от назначения приложения. Приложения могут быть либо резидентными, т.е. записанными в ПЗУ (или флэш-память, или другую энергонезависимую память) приемника-декодера 2000, либо передаваться путем вещания и загружаться в ОЗУ, флэш-память или на жесткий диск приемника-декодера 2000.
Приложения хранятся в памяти приемника-декодера 2000 и представлены файлами ресурсов. Файлы ресурсов включают в себя файлы элементов описания графических объектов, файлы блоков переменных, файлы последовательностей команд, файлы приложений и файлы данных.
Приемник-декодер содержит память (не показана), разделенную на по меньшей мер один том ОЗУ, один том флэш-памяти и по меньшей мере один том ПЗУ, но эта физическая организация отличается от логической. Память может быть дополнительно разбита на тома, связанные с различными интерфейсами. С одной стороны, память можно рассматривать как часть аппаратного обеспечения; с другой стороны, ее можно рассматривать как поддерживающую или включающую в себя всю показанную систему, кроме аппаратных средств.
Архитектура приемника-декодера
Как показано на фиг.5, архитектура 3000 программного обеспечения и аппаратных средств приемника-декодера имеет пять программных уровней, организованных таким образом, что это программное обеспечение может быть реализовано в любом приемнике-декодере и с любой операционной системой. Этими различными программными уровнями являются уровень 3100 приложений, уровень 3300 интерфейса прикладного программирования (API), уровень 3500 виртуальной машины, интерфейсный уровень 3700 устройств (часто сокращенно называемый просто "уровень устройств") и уровень 3900 системного аппаратно-программного обеспечения.
Уровень 3100 приложений включает приложения 3120, которые либо резидентные, либо загружаются в приемник-декодер. Это могут быть используемые пользователями интерактивные приложения, написанные, например, на Java, HTML, MHEG-5 или других языках, либо приложения, используемые приемником-декодером для других целей, например, для выполнения таких интерактивных приложений. Этот уровень основан на наборе открытых интерфейсов прикладного программирования (API), предоставляемых уровнем виртуальной машины. Такая система позволяет загружать приложения на жесткий диск, во флэш-память или ПЗУ приемника-декодера, оперативно либо по требованию. Прикладной код может передаваться в сжатом или несжатом формате с использованием таких протоколов как DSMCC, NFS и др.
Уровень 3300 API предоставляет высокоуровневые утилиты для разработки интерактивных приложений. В него входит несколько пакетов (packages), образующих этот высокоуровневый API. Эти пакеты предоставляют все функции, необходимые для выполнения интерактивных приложений. Эти пакеты доступны для обращения к ним приложений.
В одном из предпочтительных вариантов осуществления настоящего изобретения упомянутый уровень API приспособлен для приложений, написанных на языках программирования Java, PanTalk или подобных. Кроме того, он может участвовать в интерпретировании HTML и других форматов, таких как MHEG-5. Помимо этих интерпретаторов, в него входят также другие пакеты и служебные модули, которые можно при необходимости отключать и расширять.
Уровень 3500 виртуальной машины состоит из языковых интерпретаторов, а также различных модулей и систем. Данный уровень, управляемый ядром 3650 (не показано), состоит из всего необходимого для приема и выполнения интерактивных приложений в приемнике-декодере.
Интерфейсный уровень 3700 устройств включает в себя менеджер устройств и программные устройства (как правило, именуемые в данном тексте просто "устройствами"). Эти устройства являются программными модулями, состоящими из логических ресурсов, необходимых для работы с внешними событиями и физическими интерфейсами. Интерфейсный уровень устройств под управлением менеджера устройств осуществляет управление каналами обмена данными между драйверами и приложениями, а также обеспечивает углубленную обработку ошибок. Несколькими примерами (аппаратных) устройств, управление которыми осуществляется, являются: считыватели 3722 карт (не показаны), модемы 3730 (не показаны), сеть 3732 (не показана), PCMCIA-карта, светодиодный индикатор и т.п. Программистам не придется иметь дело непосредственно с этим уровнем, поскольку управление устройствами возможно с более высокого уровня API.
Уровень 3900 системного аппаратно-программного обеспечения создается производителем приемника-декодера. Благодаря модульности системы и тому, что сервисы, предоставляемые высокоуровневой операционной системой (такие как планирование событий и управление памятью), являются частью виртуальной машины и ядра, высокие уровни не привязаны к какой-либо конкретной операционной системе реального времени (RTOS) или какому-либо конкретному процессору.
Обычно уровень 3500 виртуальной машины, иногда в сочетании с интерфейсным уровнем 3700 устройств и/или API 3300, именуется "промежуточным программным обеспечением" (middleware) приемника-декодера.
Рассмотрим теперь более подробно, со ссылками на фиг.6, архитектуру программного обеспечения приемника-декодера 3000, соответствующего верхней половине фиг.5 (и включающего в себя уровень 3100 приложений, API уровень 3300 и уровень 3500 виртуальной машины).
Интерактивные приложения - приложения, с которыми пользователь взаимодействует, например, чтобы получить товары или услуги/сервисы, например электронные программные гиды (EPG), приложения удаленного доступа к банковским счетам (телебанкинг) и игры.
- Уровень 3100 приложений предполагает два типа приложений, а также менеджер 3110 приложений - интерактивные приложения, такие как Web-браузер 3130, которые могут быть загружены в любое время при условии совместимости с API 3300, и резидентные приложения для управления интерактивными приложениями и их поддержки. Будучи по существу постоянными, резидентные приложения включают в себя следующие:
- Начальная загрузка. Загрузочное приложение 3142 является первым приложением, запускаемым при включении питания приемника-декодера. Загрузочное приложение сначала запускает менеджер 3110 приложений, затем программные модули-менеджеры виртуальной машины 3500, такие как менеджер 3544 памяти и менеджер 3546 событий.
- Менеджер приложений. Менеджер 3110 приложений управляет интерактивными приложениями, выполняемыми в приемнике-декодере, т.е. запускает, завершает, приостанавливает, возобновляет, обрабатывает события и организует обмен данными между приложениями. Он позволяет одновременно выполнять несколько приложений и, таким образом, участвует в распределении ресурсов между ними. Это приложение полностью прозрачно для пользователя.
- Настройка. Предназначение приложения 3144 настройки состоит в конфигурировании приемника-декодера, главным образом при первом его использовании. Оно выполняет такие действия, как сканирование частот для нахождения телевизионных каналов, установка даты и времени, установка пользовательских параметров-предпочтений и т.п. Однако в любое время приложение настройки может быть использовано пользователем для изменения конфигурации приемника-декодера.
- Переключение каналов. Приложение 3146 переключения каналов используется для переключения каналов с использованием клавиш "на программу вверх", "на программу вниз" и цифровых клавиш. При использовании другой формы переключения каналов, например с помощью баннерного (пилотного) приложения (banner, pilot application), выполнение приложение переключения каналов завершается.
- Обратный вызов. Приложение обратного вызова 3148 используется для извлечения значений различных параметров, хранящихся в памяти приемника-декодера, и возврата этих значений коммерческому оператору через модемный обратный канал 1070 или с помощью других средств.
Другие приложения уровня 3100 приложений включают приложение 3132 программного гида (EPG), приложение 3134 PPV-режима, баннерное (пилотное) приложение 3136, приложение 3138 удаленного доступа к банковским счетам, приложение 3140 загрузки программного обеспечения и приложение 3154 "персональный видеомагнитофон" (PVR) (см. ниже).
Как указывалось выше, API уровень 3300 включает в себя несколько пакетов. Сюда входят базовые системные пакеты 3310, используемые, например, для доступа к основным элементам виртуальной машины, DAVIC-пакеты 3320 и "фирменные" пакеты 3330, используемые для доступа к элементам архитектуры программного обеспечения, уникальным для данного поставщика основного программного обеспечения.
При более детальном рассмотрении виртуальная машина 3500 включает в себя:
Языковые интерпретаторы 3510. Для поддержки различных приложений, подлежащих выполнению, могут устанавливаться различные интерпретаторы. Сюда входят Java-интерпретаторы 3512, PanTalk-интерпретаторы 3514, HTML-интерпретаторы 3516, MHEG-5-интерпретаторы 3518 и другие.
Подсистема информации о сервисах (SI). Эта подсистема 3540 загружает и отслеживает общие DVB- или PSIP-таблицы, а также размещает их в кэш-памяти. Она обеспечивает возможность доступа к этим таблицам для приложений, которым нужны данные, содержащиеся в них.
Планировщик 3542. Этот модуль делает возможным многопоточное планирование с вытеснением и собственной очередью событий для каждого потока.
Менеджер 3544 памяти. Этот модуль управляет доступом к памяти. При необходимости он также автоматически сжимает данные в памяти и выполняет автоматическую "сборку мусора".
Менеджер 3546 событий. Этот модуль позволяет обрабатывать события с учетом их приоритета. Он управляет таймером и захватом событий, а также позволяет приложениям передавать события друг другу.
Динамический компоновщик 3548. Этот модуль делает возможным разрешение адресов, возникающих из собственных Java-функций, загружает "родные" методы из Java-класса, загруженного в ПЗУ, и участвует в осуществлении вызовов к ПЗУ из "родного" загруженного кода.
Графическая система 3550. Объектно-ориентированная и оптимизированная система - работа с графическими окнами и объектами, а также подсистема поддержки векторных шрифтов с многоязыковой поддержкой.
Менеджер 3552 классов. Этот модуль загружает классы и решает любые проблемы, связанные со ссылками на классы.
Файловая система 3554. Это компактный и оптимизированный модуль для управления иерархической файловой системой с несколькими томами ПЗУ, ОЗУ, флэш-памяти и DSMCC. Он гарантирует целостность флэш-памяти в различных нештатных ситуациях.
Менеджер 3556 безопасности. Этот модуль проверяет аутентичность приложений и управляет доступом приложений к важным областям памяти и другим компонентам телевизионной приставки.
Загрузчик 3558. Этот модуль использует автоматическую загрузку данных из удаленной DSMCC-карусели или по протоколу NFS; к загруженным файлам обращаются так же, как и к резидентным. Предусмотрены также функции очистки памяти, сжатия и проверки аутентичности.
Более того, поддерживается модель уведомления о ресурсах DAVIC, что обеспечивает эффективное управление ресурсами пользователя.
Ядро 3650 осуществляет поддержку и управление различными процессами, выполняемыми виртуальной машиной 3500 и на интерфейсном уровне 3700 устройств (не показан). Из соображений эффективности и надежности в ядре реализованы соответствующие элементы стандарта POSIX.
Под управлением ядра виртуальная машина (выполняющая Java- и Pantalk-приложения) работает в собственном потоке, отдельно от других "серверных" элементов операционной системы, таких как массовое запоминающее устройство 3850 (не показано). На уровне API 3300 также принимаются соответствующие меры, такие как требование передачи в системных вызовах в качестве параметров идентификаторов потоков, чтобы приложения 3120 могли использовать преимущества многопоточного режима.
Благодаря использованию многопоточности может быть достигнута высокая стабильность. Например, если виртуальная машина 3500 прекращает работать по некоторой причине, например в результате сбоя или блокирования приложением, пытающимся получить доступ к какому-либо устройству, другие критические в отношении времени части системы, такие как сервер жесткого диска, продолжают работать.
Так же, как и виртуальная машина 3500 и ядро 3650, модуль 3850 видеозаписывающего устройства на основе жесткого диска (HDVR) предусмотрен для реализации функций записи на жесткий диск 2210 и воспроизведения с него или записи на другое подключенное массовое запоминающее устройство и воспроизведения с него. Этот сервер имеет два отдельных потока 3854, 3856, используемых для осуществления записи, один поток 3858, используемый для осуществления воспроизведения, и библиотеку 3852 файловой системы для реализации интерфейса с компонентами массового запоминающего устройства.
Соответствующий из потоков 3854, 3856, 3858 в HDVR 3850 принимает команды (такие как команда начала записи определенной программы) от клиентов, таких как приложение 3154 "персональный видеомагнитофон" (PVR), например, в ответ на нажатие пользователем кнопки "запись".
Упомянутый соответствующий поток, в свою очередь, затем взаимодействует с сервис-устройством 3736 (показанным на фиг.7) для настройки и синхронизации компонентов приемника-декодера, обрабатывающих битовый поток, подлежащий записи или воспроизведению. Параллельно упомянутый соответствующий поток также взаимодействует с библиотекой 3852 файловой системы для координации операции записи или воспроизведения в соответствующих местах на жестком диске 2210 (не показан).
Библиотека 3852 файловой системы затем передает команды в массовое запоминающее устройство 3728 (также показано на фиг.7), которое указывает массовому запоминающему устройству 3728, какой транспортный подпоток (STS) передать (через буфер типа FIFO) и в каком месте жесткого диска сохранить данный битовый поток. Выделение кластеров на жестком диске и общее управление файлами осуществляется библиотекой 3852 файловой системы, само же массовое запоминающее устройство занимается операциями более низкого уровня.
Упомянутое выше сервис-устройство 3736 отличается от других устройств тем, что оно не связано ни с каким физическим компонентом приемника-декодера - оно обеспечивает высокоуровневый интерфейс, который группирует в один "объект" различные наборы таких устройств приемника-декодера, как тюнер, демультиплексор, блок повторного мультиплексирования и жесткий диск, избавляя процессы более высокого уровня от трудностей, связанных с согласованием обращений к различными устройствам.
Ниже будет более подробно описана, со ссылками на фиг.7, архитектура программного обеспечения приемника-декодера 3000, соответствующая нижней половине фиг.5 (включающая в себя интерфейсный уровень 3700 устройств и уровень 3900 системного аппаратно-программного обеспечения).
Дополнительные устройства, предусмотренные на уровне устройств, включают в себя устройство 3720 условного доступа, устройства-тюнеры 3724, соответствующие двум (или, возможно, большему числу) тюнерам 2016, 2018, показанным на фиг.4, видеоустройство 3734, устройство 3726 портов ввода-вывода, а также вышеупомянутые сервис-устройство 3736 и массовое запоминающее устройство 3728.
Вообще говоря, устройство можно рассматривать как определяющее логический интерфейс, так что два различных устройства могут соответствовать одному и тому же физическому порту. Отдельные устройства могут обмениваться данными между собой, и, кроме того, все устройства работают под управлением ядра 3650.
Перед использованием сервисов какого-либо устройства программа (такая как последовательность инструкций приложения) должна быть объявлена как "клиент", т.е. логический путь доступа к устройству или менеджеру 3710 устройств. Этот менеджер присваивает клиенту номер, который необходимо называть при всех обращениях к данному устройству. У одного устройства может быть несколько клиентов, и количество клиентов для каждого устройства определятся в зависимости от типа устройства. Клиента представляют устройству процедурой "устройство: открыть канал". С помощью этой процедуры клиенту присваивается номер. Клиент может быть выведен из перечня клиентов менеджера 3710 устройств процедурой "устройство: закрыть канал".
Доступ к устройствам, предоставляемый менеджером 3710 устройств, может быть синхронным или асинхронным. Для синхронного доступа используется процедура "устройство: вызов". Это метод доступа к данным, которые могут быть предоставлены немедленно, или к функции, не предполагающей ожидания желаемого ответа. Для асинхронного доступа используется процедура "устройство: ввод-вывод". Это метод доступа к данным, предполагающий ожидание ответа, например сканирование частот тюнера для нахождения "мультиплекса" или получения таблицы из MPEG-потока. При наличии запрашиваемого в очередь данной подсистемы ставится событие, информирующее о его прибытии. Еще одна процедура - "устройство: событие" - обеспечивает возможность обработки неожиданных событий.
Во втором варианте осуществления приемника-декодера нижняя половина архитектуры приемника-декодера заменяется уровнями, показанными на фиг.8.
В данном варианте осуществления между виртуальной машиной 3500 (не показана) и интерфейсным уровнем 3700 устройств предусматривается расширенный интерфейс 3600 уровня устройств (EDLI), а между интерфейсным уровнем 3700 устройств и уровнем 3900 системного аппаратно-программного обеспечения предусматривается абстрагирующий интерфейс 3800 для устройств. В остальном компоненты, аналогичные показанным на фиг.7, обозначены соответствующими позициями.
Расширенный интерфейс 3600 уровня устройств (EDLI) обеспечивает специализированный интерфейс между виртуальной машиной 3500 и интерфейсным уровнем 3700 устройств и, в общем, обеспечивает поддержку многопотоковости для интерфейсного уровня устройств. В функции EDLI входит маршрутизация асинхронных событий в соответствующий поток в промежуточном программном обеспечении (поскольку уровень интерфейсов устройств необязательно сам поддерживает многопоточность) и маршрутизация сообщений между потоками.
Абстрагирующий интерфейс 3800 для устройств обеспечивает дополнительный интерфейс между интерфейсным уровнем 3700 устройств и драйверами 3910 устройств на уровне 3900 системного аппаратно-программного обеспечения. Предусмотрев такой интерфейс, большой и сложный уровень 3700 устройств можно сделать независимым от аппаратного обеспечения в большей степени.
Одним из приложений 3120, показанных на фиг.6, является менеджер профилей, который создает и редактирует профили. Менеджер профилей является резидентным приложением, которое запрашивает у конечного пользователя ввод данных профиля - осуществляемый с помощью пульта ДУ 2080. Данные профиля могут включать в себя город или район проживания конечного пользователя, семейное положение, возраст или интересы (например, указывая, что конечный пользователь интересуется спортивными передачами, новостями и остросюжетными фильмами). Данные профиля записываются на жесткий диск 2100 менеджером профилей, и конечный пользователь может отредактировать сохраненные данные профиля в любой момент времени.
В альтернативном варианте менеджер профилей может создавать профиль путем отслеживания привычек конечного пользователя, связанных с просмотром передач, и соответствующей настройки профиля. Например, менеджер профилей может отследить, что конечный пользователь смотрит много спортивных передач, новостей и остросюжетных фильмов, и записать данные профиля, обеспечивающие предоставление пользователю программ этих категорий. В одной из модификаций предпочтительного варианта осуществления роль описанного выше менеджера профилей выполняет приложение настройки и другие приложения и/или части промежуточного программного обеспечения.
Рассмотрим теперь, со ссылками на фиг.9-12 (первый и второй варианты осуществления), фиг.13 (третий вариант осуществления) и фиг.14 (четвертый вариант осуществления) три различных типа системы "виртуальный канал".
Персонифицированные рекламные материалы
Как упоминалось выше, пользователь приемника-декодера может инициировать запись на имеющийся в приемнике-декодере жесткий диск программ различных видов для последующего просмотра. Приемник-декодер может быть также заранее запрограммирован на запись различных конкретных программ (или программ конкретных жанров), но по существу данный процесс в любом случае является процессом смещения времени.
В первом варианте реализации, показанном на фиг.9(а), фиг.9(b), фиг.9(с), фиг.10, фиг.11 и фиг.12, жесткий диск используется для заблаговременной записи наборов рекламных материалов. Эти рекламные материалы перемежаются с предусмотренными расписанием программами, вещаемыми для приемника/декодера. Аналогичные компоненты на фиг.9 (а), фиг.9(b), фиг.9(с) обозначены одинаковыми позициями.
На фиг.9(а) показаны центр 6000 вещания и приемник-декодер 2000, причем приемник-декодер снабжен схемой 2250 декодирования видео и жестким диском 2100. В одно и то же заранее запланированное время (например, ежесуточно между 3 и 5 часами утра, когда вещают наименьшее количество телевизионных каналов и полоса пропускания наименее загружена) центр 6000 вещания передает рекламные материалы 1340 в приемник-декодер 2000 через вещательную среду (как правило, кабель или спутник). Приемник-декодер 2000 затем сохраняет рекламные материалы в специальном месте 7050 на жестком диске 2100.
Данные 1340 рекламных материалов вещают на одном-единственном канале. Под управлением приложения-менеджера рекламы механизм загрузки, такой как таблица уведомления о действии (ANT, описанная ниже), обеспечивает, в приемнике-декодере, настройку одного из тюнеров 2016, 2018 на протяжении заранее запланированного временного интервала (в данном случае между 3 часами и 5 часами утра) на требуемый канал и инициирует сохранение данных на жестком диске 2100. Может быть сохранено большое количество (например, 50) рекламных материалов.
В модификациях предпочтительного варианта осуществления, описанных более подробно в другом месте, рекламные материалы 840 передают с помощью других средств, например, используя двухточечные соединения, такие как Интернет или телефонное соединение, или другие средства вещания, например, такие как радио-, кабельные или спутниковые каналы. В еще одной модификации предпочтительного варианта осуществления вместо жесткого диска 2100 используется записывающее устройство других типов, такое как аналоговый или цифровой видеомагнитофон.
На фиг.9(b) показана система вещания в другой момент времени - например, позднее в тот же день; центр 6000 вещания транслирует программный контент 1350 в приемник-декодер 2000. Программный контент обрабатывается схемой 2250 декодирования и выводится на видеовыход 2040 для последующего отображения на телевизоре 10000 (не показан).
В заданный момент времени - например, в начале перерыва для передачи рекламы - в программный контент 1350 вставляют информационное сообщение 7060 виртуального канала (VCIM) (не показано), принимаемое приложением-менеджером рекламы.
Обратимся к фиг.9(с). Приложение-менеджер рекламы затем начинает воспроизведение одного или нескольких подходящих рекламных материалов из сохраненного запаса (пула) рекламных материалов 7050, предпочтительно согласуя данные о целевой аудитории, поставленные в соответствие (привязанные к нему) каждому рекламному материалу (см. ниже), и необязательно присутствующую информацию для подстройки профиля, содержащиеся в VCIM (также см. ниже), с профилем, сформированным текущим пользователем и для текущего пользователя.
Рассмотрим теперь, со ссылками на фиг.10, формат информационного сообщения 7060 виртуального канала (VCIM). VCIM 7060 содержит заголовок 7070, код 7072 категории, блок 7074 информации о расписании, необязательно присутствующую информацию 7076 для подстройки профиля и необязательно присутствующую подпись 7078. Заголовок 7070 содержит "магическое число", идентифицирующее тип сообщения; одно поле заголовка определяет длину сообщения. Код 7072 категории идентифицирует тип запрашиваемой программы, а именно - рекламный материал. Блок 7074 информации о расписании содержит несколько полей, идентифицирующих, среди прочего, продолжительность программы (или, более конкретно, перерыва для передачи рекламы), а также минимальное и максимальное количество программных фрагментов (таких как отдельные рекламные материалы), которые можно скомпоновать для достижения требуемой продолжительности. Необязательно присутствующая информация 7076 для подстройки профиля предоставляет дополнительную информацию для настройки профиля, для дополнения, замены или корректировки информации профиля, предоставляемой пользователем или с отдельными рекламными материалами (как объяснялось выше).
Как объясняется более подробно ниже, пригодность каждого сохраненного рекламного материала или другой программы оценивается по точности совпадения локально сохраненного профиля пользователя и данных о целевой аудитории из сохраненного рекламного материала или другой программы с учетом других факторов, таких как количество повторений данного рекламного материала за определенный период времени и время, прошедшее с момента приема данного рекламного материала.
Вышеупомянутая информация 7076 для подстройки профиля обеспечивает дополнительную "тонкую настройку" выбора рекламного материала для определенного пользователя. Например, пользователю, чей профиль (выбранный непосредственно или сформированный другим путем) указывает на предпочтение программ спортивной тематики, в общем, скорее показывали бы больше рекламных материалов, имеющих отношение к спорту, чем рекламных материалов о продуктах питания. Однако, например, для демонстрируемой поздним вечером программы, посвященной приготовлению пищи, информация 7076 для подстройки профиля в VCIM 7060, переданном в начале перерыва для передачи рекламы, могла бы понижать актуальность спортивных предпочтений и повышать актуальность предпочтений, связанных с приготовлением пищи, что могло бы привести к предпочтению показа рекламного материала о соусе для макаронных изделий показу рекламного материала о кроссовках.
В одной из модификаций предпочтительного варианта осуществления информация, касающаяся расписания и других особенностей персонифицированных рекламных материалов, вместо этого вся сразу подается "автономно", до передачи предусматриваемых расписанием программ, путем передачи в заранее запланированное время, например, с использованием заданного идентификатора программы (PID). В альтернативном варианте всякий раз, когда требуется персонифицированная реклама, в вещаемом битовом потоке передается простое маркерное сообщение. В этих случаях на выбор рекламного материала или программы не влияет никакая дополнительная информация для подстройки профиля, поскольку таковая не задается.
Сами данные рекламных материалов имеют формат, показанный на фиг.11. Кроме видео- и аудиоданных, данные рекламных материалов включают в себя также данные о целевой аудитории. Например, один набор данных рекламного материала, показанный на фиг.11, состоит из видеокомпоненты 7002, звуковой компоненты 7003 и компоненты 7004 данных о целевой аудитории. Компонента 7004 данных о целевой аудитории указывает, что рекламный материал адресован конечным пользователям, проживающим в Париже, холостым и интересующимся футболом. Следующий рекламный материал имеет компоненту 7011 данных о целевой аудитории, указывающую, что он адресован конечным пользователям, проживающим в Марселе, семейным и интересующимся путешествиями.
Для иллюстрации вышеупомянутых принципов на фиг.12 показаны программы, предоставляемые четырем разным пользователям в течение пяти последовательных временных интервалов. На протяжении первого временного интервала центр вещания транслирует фильм 8000, который одновременно показывают каждому из четырех конечных пользователей. Во время временного интервала для передачи рекламы, следующего после фильма 8000, менеджер рекламы, резидентно установленный на приемнике-декодере 2000 каждого пользователя, сравнивает данные о целевой аудитории и данные профиля, сохраненные на жестком диске 2100, и выбирает рекламный материал, соответствующий профилю конечного пользователя. Так, в примере, показанном на фиг.12, все пользователи имеют разные профили, так что каждому пользователю показывают отдельный рекламный материал 8001-8004. Во время третьего и пятого временных интервалов, предусмотренных расписанием, всем пользователям показывают выпуск новостей 8010 и сериал 8002. В приходящийся между ними временной интервал для передачи рекламы четырем пользователям показывают разные рекламные материалы 8011-8014.
Поскольку объем диска ограничен, при вещании очередного набора рекламных материалов (например, на следующий день между 3 часами и 5 часами утра) менеджер рекламы может затирать рекламные материалы, которые уже были показаны, или которые не соответствуют сохраненному профилю.
В предпочтительном варианте осуществления приложение-менеджер рекламы реализуется отдельно от приложения-менеджера виртуальных каналов. В модификациях предпочтительного варианта осуществления приложение-менеджер рекламы является частью более общего приложения-менеджера виртуальных каналов. Согласно другой модификации, определенные функции, выполняемые в предпочтительном варианте осуществления обоими приложениями, вместо этого выполняются другими приложениями, такими как приложение 3154 "персональный видеомагнитофон" (PVR).
При наличии обратного канала может быть создан и возвращен в центр вещания журнал, в котором запротоколированы показанные рекламные материалы, для обработки такой информации для каких-либо коммерческих или маркетинговых целей. В предпочтительном варианте осуществления в файле журнала перечисляются идентификаторы каждого воспроизведенного рекламного материала, сопровождаемые датой, временем и названием канала, на котором он был показан.
Структура профиля пользователя, данных о целевой аудитории и информации для подстройки профиля будет более подробно рассмотрена ниже.
Виртуальные каналы
Рассмотрим теперь организацию виртуальных каналов, как формируемых исключительно на основе контента, сохраненного локально в приемнике-декодере, так и формируемых на основе контента, передаваемого разными потоками данных в реальном времени (виртуальный канал в этом случае компонуется из частей, выделяемых их каждого потока) (возможны также комбинированные системы, сочетающие оба этих аспекта).
Во втором варианте осуществления в приемник-декодер передают и сохраняют на массовом запоминающем устройстве, таком как жесткий диск, программный контент, с использованием тех же систем для передачи и сохранения рекламных материалов, что были описаны выше.
Как и при воспроизведении рекламных материалов, при организации виртуального канала для персонификации выводимых программ используется профиль пользователя. Такие функции, как сохранение программных материалов и "сборка мусора", также аналогичны соответствующим функциям системы для работы с персонифицированными рекламными материалами. В модификациях предпочтительного варианта осуществления обработка файлов виртуальных каналов и персонифицированных рекламных материалов и другие системы фактически в существенной степени интегрированы.
Однако в отличие от персонифицированной рекламы воспроизведение персонифицированного контента является непрерывным и автономным - полностью под управлением приемника-декодера (за исключением случаев, когда управление извне является желаемым). Кроме того, необходимо предусмотреть правила совместимости программ, что будет описано ниже.
Возможной также является организация на основе локально сохраненного контента не одного, а нескольких виртуальных каналов, с использованием различных правил "построения" канала и сочетанием вывода сохраненного контента и контента реального времени.
Обратимся теперь к фиг.13 и рассмотрим третий вариант осуществления. Центр 1000 вещания транслирует предусмотренные расписанием программы одновременно на нескольких каналах. В данном примере на первом канале вещаются рекламный материал 9000, фильм 9001, рекламный материал 9002 и спортивная передача 9003; на втором канале вещаются рекламный материал 9010, выпуск новостей 9011, рекламный материал 9012 и фильм 9013; на третьем канале вещаются рекламный материал 9020, фильм 9022, рекламный материал 9022 и фильм 9023.
Каждая вещаемая программа включает в себя видеокомпоненту, аудиокомпоненту, компоненту метки времени и компоненту категории. Например, фильм 9021 включает в себя видеокомпоненту 9030, аудиокомпоненту 9031, компоненту 9032 метки времени и компоненту 9033 категории. Компонента 9032 метки времени указывает продолжительность фильма 9021. Компонента 9033 категории указывает категорию фильма 9021 (например, остросюжетный фильм). Кроме описанных выше компонент, рекламные материалы содержат также данные о целевой аудитории. Например, рекламный материал 9022 включает в себя видеокомпоненту 9040, аудиокомпоненту 9041, компоненту 9042 метки времени, компоненту 9043 категории и компоненту 9044 данных о целевой аудитории. Компонента 9044 данных о целевой аудитории указывает тип пользователя, на которого "нацелен" данный рекламный материал.
Как упоминалось выше, предусматривается приложение-менеджер виртуальных каналов. Будучи активизированным, приложение-менеджер виртуальных каналов просматривает различные каналы и выбирает программы, соответствующие профилю, созданному менеджером профилей. Так, в примере, показанным на фиг.11, рекламный материал 9000 может быть рекламой автомобиля с компонентой данных о целевой аудитории, указывающей, что данный рекламный материал нацелен на пользователей мужского пола, старших тридцати лет. Менеджер виртуальных каналов сравнивает компоненту данных о целевой аудитории с сохраненным профилем и, поскольку наблюдается соответствие, менеджер виртуальных каналов настраивает тюнер 2016 на первый канал и сохраняет рекламный материал 9000 на жестком диске в виде файла с уникальным именем. В конце рекламного материала 9000 менеджер виртуальных каналов просматривает каналы, пока не найдет начало следующей программы (в данном случае - выпуска новостей 9011), имеющей компоненту категории и/или компоненту данных о целевой аудитории, соответствующую сохраненному профилю. Сделав этот выбор, менеджер виртуальных каналов настраивает тюнер 2016 на второй канал и сохраняет выпуск новостей на жестком диске 2100. В конце выпуска новостей 9011 менеджер виртуальных каналов просматривает каналы, пока не найдет начало следующей программы (в данном случае - рекламного материала 9002), соответствующей сохраненному профилю пользователя. Менеджер виртуальных каналов осуществляет этот процесс непрерывно (предполагается, что на жестком диске 2100 имеется свободное пространство), и, по истечении определенного времени, получается библиотека программ (их данных) типа приведенной ниже в таблице 1.
БИБЛИОТЕКА ПРОГРАММ
В каждый момент времени пользователь может смотреть либо один из вещаемых каналов, показанных на фиг.13, либо предварительно записанный виртуальный канал. Если пользователь захочет посмотреть виртуальный канал, он выбирает виртуальный канал с помощью пульта ДУ 2080. В этот момент менеджер виртуальных каналов выполняет алгоритм формирования расписания, в основе которого - различные правила, рассматриваемые ниже (такие как правила, отражающие специфику приложения, общие правила и правила, определяемые пользователем). Алгоритм формирования расписания составляет из библиотеки программ расписание (т.е. график воспроизведения программ) для виртуального канала. Пример типичного расписания показан ниже в таблице 2.
ДЛЯ ВИРТУАЛЬНОГО КАНАЛА
Обращаясь теперь к фиг.14, рассмотрим теперь четвертый вариант осуществления, согласно которому предусмотренные расписанием программы вещаются для пользователей одновременно на нескольких каналах. В примере с фиг.13 показаны только три канала, но, вообще говоря, количество каналов может быть любым. На фильмовом канале транслируются фильмы 9550 и 9551, которым предшествуют рекламные материалы 9552 и 9553. На спортивном канале транслируются спортивные передачи 9560 и 9561, которым предшествуют рекламные материалы 9562 и 9563. На информационном (новостийном) канале транслируются новости 9570 и 9571, которым предшествуют рекламы 9572 и 9573.
Время начала и конца программ показано на фиг.14 как моменты времени Т1-Т8. Фиг.14 можно сравнить с фиг.13. На фиг.13 время начала и время конца программ не синхронизированы. Напротив, на фиг.14 все программы заканчиваются и начинаются одновременно. Другими словами, рекламные материалы 9552, 9562, 9572 заканчиваются и начинаются соответственно в моменты времени Т1 и Т2, программы 9550, 9560, 9570 начинаются и заканчиваются соответственно в моменты времени Т3 и Т4 и т.д.
Формат вещаемых программ, показанных на фиг.14, подобен формату, показанному на фиг.13. Однако в случае, представленном на фиг.14, управляющие данные, касающиеся каждой программы (т.е. компонента метки времени, компонента категории, компонента данных о целевой аудитории и компонента правил), транслируются во время перерывов между программами Т2-Т3, Т4-Т5 и Т6-Т7 перед видео- и аудиокомпонентами (которые одновременно вещаются и отображаются в программное время Т1-Т2, Т3-Т4, Т5-Т6, Т7-Т8).
Приложение-менеджер виртуальных каналов переключается между разными каналами в соответствии с алгоритмом организации виртуального канала, подобным алгоритму формирования расписания, описанному выше при рассмотрении второго варианта осуществления. Конкретнее, во время перерыва Т2-Т3 между программами приложение-менеджер виртуальных каналов принимает управляющие данные, касающиеся фильма 9550, спортивной передачи 9560 и новостей 9570. Алгоритм организации виртуального канала анализирует эти управляющие данные в соответствии с некотором набором правил и определяет, какой канал выбрать (в данном случае выбирается спортивный канал). Таким образом, в примере, показанном на фиг.14, менеджер виртуальных каналов выбирает рекламный материал 9552 на фильмовом канале, затем - спортивную передачу 9560 на спортивном канале, затем - рекламный материал 9552 на фильмовом канале и новости 9571 на информационном канале.
Правила совместимости программ
Как упоминалось выше, алгоритм организации виртуального канала для выбора каналов использует различные правила, которые могут включать в себя правила, отражающие специфику приложения, общие правила и правила, определяемые пользователем. Обычно эти правила либо извлекаются из памяти, либо принимаются с управляющими данными в перерывах между программами.
Пример правил, отражающих специфику приложения, показан на фиг.13. Рекламный материал 9012 включает в себя видеокомпоненту 9050, аудиокомпоненту 9041, компоненту 9052 метки времени, компоненту 9053 категории, компоненту 9054 данных о целевой аудитории и компоненту 9055 правил. Компонента правил может быть правилом, касающимся непосредственно данной программы, диктуемым рекламодателем и относящимся к данному конкретному рекламному материалу, например: "данный рекламный материал должен быть представлен пользователю во временном интервале для передачи рекламы без каким-либо других рекламных материалов". В другом случае компонента правил может быть общим правилом, например: "по меньшей мере один рекламный материал должен быть представлен непосредственно перед и непосредственно после каждого фильма".
Другими примерами общих правил (которые являются заранее заданными по умолчанию для данного приложения или передаются позднее центром 1000 вещания) являются: "за фильмом должен следовать по меньшей мере один рекламный материал" и "на каждый четырехчасовой временной интервал должен приходиться по меньшей мере один выпуск новостей". Еще одним примером отражающего специфику приложения правила, диктуемого рекламодателем, является: "в течение двух часов до и после данного рекламного материала не должны показываться рекламные материалы про автомобили от конкурентов".
Другими примерами являются такие правила, как: "выпуск новостей показать между 7 часами и 9 часами вечера", "не показывать детских передач после 8 часов вечера", "фильмы, классифицированные как содержащие сцены насилия, не показывать до 10 часов вечера", "некоторые фильмы нельзя смотреть более одного раза" и т.п.
Пользователь может также создавать правила воспроизведения для виртуального канала, которые вводятся в его профиль менеджером профилей. Примером правила, определяемого пользователем, является: "мне бы хотелось, чтобы после каждого фильма шла спортивная передача".
В некоторых правилах может использоваться временная компонента, передаваемая с программами. Например, общее правило может устанавливать, что "интервалы для передачи рекламы не могут длиться более трех минут". Соответственно алгоритм формирования расписания может заполнить временной интервал для передачи рекламы тремя одноминутными рекламными материалами или одним трехминутным рекламным материалом.
Как можно видеть, пользователю обеспечивается определенный контроль над содержимым виртуального канала посредством использования профиля (который влияет на то, какие программы сохраняются в библиотеке) и правил, определяемых пользователем (которые влияют на формирование расписания). Однако содержимым виртуального канала и/или формирование расписания для него можно также управлять централизованно, с помощью общих правил и правил, отражающих специфику приложения.
Как явствует из вышесказанного, такие правила в равной степени применимы и в частном случае - для персонифицированных рекламных материалов.
Передача правил
Набор правил воспроизведения для виртуального канала прилагается по умолчанию к приложению-менеджеру виртуальных каналов и передается в приемник-декодер вместе с остальными частями этого приложения (или иным образом прилагается к приложению, если приложение доставляется посредством средств, отличных от средств вещания). Это могут быть правила, созданные автором упомянутого приложения, или правила, диктуемые рекламодателями или иными контент-провайдерами. Сразу же после установки или загрузки правила сохраняются на жестком диске как часть приложения-менеджера виртуальных каналов. В одной из модификаций предпочтительного варианта осуществления правила хранят во флэш-памяти (например, на смарт-карте, для обеспечения большей безопасности и переносимости) или в обычном ОЗУ (если массового запоминающего устройства или флэш-памяти не окажется в распоряжении).
Эти предоставляемые по умолчанию правила могут быть отредактированы или дополнены посредством последующих загрузок из центра 1000 вещания, например, путем передачи новых правил с определенным заданным идентификатором программы (PID) вместе с программами (их данными), показанными на фиг.13.
Эта функция - полного обновления набора правил, применяемых приемником-декодером 2000 (не показан), из удаленного узла - особенно полезна в том случае, когда законодательство, охраняющее неприкосновенность личной жизни человека, запрещает считывание некоторой (или любой) конкретной информации из приемника-декодера головным сервером или другой частью системы вещания. Благодаря передаче новых правил в произвольное время и на любое время, для любых пользователей, приемников-декодеров, программ или каналов, можно избежать необходимости прямого вмешательства вещательной организации, например, для претворения в жизнь определенной рекламной или программной стратегии.
В предпочтительном варианте осуществления для транспортировки правил в приемник-декодер 2000 используются универсальные "приватные" MPEG-таблицы. Этот тип таблиц более подробно описан в Европейской патентной заявке №01306315.1, поданной на имя Заявителя данной заявки, содержимое которой следует считать включенным в данную заявку посредством ссылки.
Рассмотрим работу с этими таблицами и их структуру, а также их применение при передаче правил и контента в приемник-декодер.
Для интерпретации описанной ниже структуры универсальной таблицы в качестве части программного обеспечения телевизионной приставки предусматривается синтаксический анализатор. Учитывая, что структуры данных уже определены, построение такого синтаксического анализатора может быть легко осуществлено специалистом в данной области техники. Соответственно, ниже будут отмечены только некоторые основные требования.
Уровень синтаксического анализатора, включающий в себя синтаксический анализатор, представляет собой уровень абстрагирования между уровнем приложений и уровнем приема и фильтрации MPEG-таблиц, выделяющий информацию, передаваемую центром вещания в программном потоке.
Абстрагирование заключается в том, что разным приложениям не обязательно быть специально приспособленными к множеству различных форматов таблиц для различных видов данных, с которыми им придется иметь дело. Синтаксический анализатор обрабатывает принимаемый секции таблиц и выделяет соответствующую информацию, передавая ее на уровень приложений, например в упомянутый выше менеджер рекламы.
Описанный ниже формат универсальной таблицы позволяет организовать данные различных типов в таблицы одной (универсальной) структуры. Отдельные элементы данных, сохраненные в соответствующем разделе таблицы как наборы общих и частных дескрипторов-атрибутов, содержат информацию, которая требуется приложению. Формат дескриптора может быть различным; чтобы синтаксический анализатор мог корректно выделить информацию и передать ее в приложение, предусматривается простой заголовок, в приведенных выше примерах содержащий тег, определяющий тип информации, и атрибут размера.
Более того, чтобы синтаксический анализатор мог корректно их выделять, размеры списков дескрипторов задают в полях Common_Descriptor_info_length и Extra_Identifier_descriptor_length. Синтаксическому анализатору нет нужды быть в курсе предназначения или смыслового значения отдельных элементов данных; он просто переправляет данные в приложение. Соответственно, синтаксическому анализатору нет нужды знать различные типы информации, которые он может принимать - интерпретацию информации выполняет приложение. Синтаксический анализатор просто отделяет содержащуюся в заголовке информацию, используемую для целей передачи, и переправляет в приложение собственно данные, содержащиеся в таблице, в подходящем общем виде. Таким образом, синтаксический анализатор способен обрабатывать таблицы переменной длины различных типов. Строение синтаксического анализатора определяется только строением таких универсальных таблиц, но не различными типами информации, используемой различными приложениями.
Для обеспечения возможности использования дополнительных форматов таблиц настоящий формат предусматривает поле формата синтаксического анализа данных (Data_Parsing_Format). Часть заголовка, следующая перед этим полем, имеет постоянный размер во всех форматах таблиц, так что синтаксический анализатор может корректно выявлять поле, используемое им для определения формата секции приватной таблицы, и, таким образом, выбирать подходящую стратегию для его синтаксического анализа.
В рассматриваемом случае в таблице 3 показана высокоуровневая структура таблицы, используемой для передачи правил следования рекламы в приемник-декодер ("таблица управления виртуальным каналом", VCMT). Как можно заметить, этот формат по существу универсален и может быть приспособлен к другим приложениям, таким как описанная ниже таблица уведомления о действии (ANT).
ТАБЛИЦА УПРАВЛЕНИЯ ВИРТУАЛЬНЫМ КАНАЛОМ
В поле "Тип" указаны принятые DVB-стандартах аббревиатуры; например, Uimsbf означает "целое число без знака, в первом разряде - самый старший бит", а Bslbf означает "битовая строка (в первом разряде - левый бит)".
Параметр data_parsing_format поможет синтаксическому анализатору универсальной таблицы в случае изменения формата данных в следующих версиях. Значение data_parsing_format по модулю 256 дает номер версии формата таблицы.
Параметр priority принимает одно из четырех значений, в зависимости от приоритета, присвоенного приватным данным (0 соответствует самому высокому приоритету, 3 - самому низкому).
Параметр data_parsing_format_flag определяется в соответствии со значением data_parsing_format.
Параметр extra_identifier_length используется для определения поля extra_identifier, а поле extra_identifier, в свою очередь, является идентификатором или группой идентификаторов, описываемых в следующем далее цикле дескрипторов.
Рассмотрим теперь таблицу уведомления о действии (ANT), одно из применений универсальной MPEG-структуры, представленной в таблице 3.
В основе структуры таблицы уведомления о действии (ANT) лежит универсальная структура таблицы, рассмотренная выше. Она может быть использована для подачи телевизионной приставке или группе телевизионных приставок команды выполнить определенное действие.
Примеры таких действий включают в себя загрузку программного обеспечения, автоматический просмотр каналов, перезагрузку приемника-декодера, актуализация каталогов программ (таких как каталог "видео по требованию"), отображение сообщения пользователю телевизионной приставки (аудиторные сообщения). Поле расширения идентификатора таблицы используется в таблице ANT для идентификации запрашиваемого действия.
Таблица ANT может быть адресована телевизионным приставкам определенного типа (например, определенного производителя), или даже отдельным телевизионным приставкам, с помощью адресных дескрипторов (дескрипторов указания целевой аудитории). Они могут быть помещены, например, в цикл общих дескрипторов таблицы ANT. Обработав адресные дескрипторы, содержащиеся в цикле общих дескрипторов, телевизионная приставка может определить, выполнять ли ей указанное действие. Эта обработка адресной информации и информации о действии может осуществляться, например, прикладной программой, выполняемой на телевизионной приставке.
В таблице 4 представлена структура данных scheduled_content_download_descriptor, которая используется для передачи конкретной информации, касающейся заблаговременного планирования загрузки контента на жесткий диск. Этот дескриптор является частью таблицы уведомления о действии (ANT), основанной на универсальной структуре данных, показанной в таблице 3.
SCHEDULED CONTENT DOWNLOAD DESCRIPTOR
1: вручную
1: немедленно
2,3: зарезервировано на будущее
1: ежедневно
2: еженедельно
3: ежемесячно
Возможными значениями флага download_flag являются следующие:
Возможными значениями параметра type являются следующие:
Заранее планируемая загрузка, упомянутая выше, позволяет запрограммировать периодическую автоматическую загрузку контента (например, один раз в сутки в течение месяца в 3:00), пока операция не будет успешно завершена.
Параметр periodicity определяет поведение приемника-декодера при начале процесса загрузки для какого-либо заранее запланированного действия. Эта периодичность возможна для предусмотренного расписанием действия только в интервале между UTC_date_time_start и UTC_date_time_estimated_stop.
Параметр UTC_date_time_start указывает заранее запланированные дату и время загрузки контента. Он кодируется в формате UTC - формате, используемом согласно стандарту DVB для таблиц TDT и ТОТ.
Параметр UTC_date_time_estimated_stop указывает дату доступности кода для загрузки, основанную на оценке продолжительности загрузки.
В приведенной ниже таблице 5 описывается структура дескриптора display_rule_descriptor, которая также используется совместно с универсальной таблицей, показанной в таблице 3, и содержит информацию, касающуюся правил, предназначенных для применения к конкретным программам.
DISPLAY_RULE_DESCRIPTOR
В приведенном выше примере о гибкости правил можно судить по количеству различных параметров (идентификатор запрещенного предшествующего контента, допустимый дневной временной интервал передачи, и т.д.), которые можно задавать.
И дескриптор scheduled_content_download_descriptor (таблица 4), и дескриптор display_mle_descriptor (таблица 5) относятся к одному фрагменту контента, уникально идентифицируемому значением параметра content_id.
Следует иметь в виду, что таблица VCMT и соответствующие описанные выше дескрипторы являются не более чем примерами. Разумеется, возможны другие дескрипторы и другие способы передачи правил, такие как сообщения и таблицы, в еще большей степени отражающие специфику приложения.
В модификациях предпочтительного варианта осуществления информационное сообщение виртуального канала (VCIM) и/или другие аспекты, относящиеся к персонифицированной рекламе и системам "виртуальный канал", заменяются MPEG-таблицами описанного выше типа. Выполнение необходимых модификаций представленных выше таблиц не составит особого труда для специалиста в данной области техники и поэтому не будет описываться более подробно. Более того, использование синтаксического анализатора, описанного выше, избавляет от необходимости вносить значительные изменения в соответствующие приложения для обеспечения их возможности работы с новыми таблицами.
Рассмотрим более подробно формат данных профиля.
Для облегчения работы с профилем пользователя определяют ряд отдельных категорий профиля, каждая из которых имеет уникальный номер, соответствующее наименование/тег и набор возможных значений. В некоторых случаях возможные значения по существу являются булевыми ("да" или "нет"), в других случаях возможные значения ограничены некоторым интервалом чисел (например, для категорий "предпочтения относительно..."). Однако в каждом случае категория профиля пользователя может быть представлена целым числом без знака (подобно типу enum в языке С).
Типичный набор категорий приведен в таблице 6.
КАТЕГОРИИ ПРОФИЛЯ
Менеджер профилей ведет по одной таблице для каждой выбранной категории профиля. Категории можно добавлять или удалять посредством специальных сообщений, передаваемых из центра вещания, и/или посредством обычной загрузки программного обеспечения. Категории также могут просматриваться и задаваться каждым отдельным пользователем; например, для различных категорий "предпочтения относительно..." можно изменять положение ползунка в диапазоне от 1 до 5 или от "очень не нравится" до "очень нравится" (что соответствует фактическим значениям от 0 до 4) и т.п.
Как можно видеть, категории включают в себя как такие категории как домашние животные, дети и т.п., которые могут быть заданы корректно только самим пользователем (либо непосредственно, используя менеджер профилей, либо косвенно, с помощью сообщения, переданного из центра вещания в ответ на информацию, предоставленную пользователем вещательной организации), так и такие категории как "предпочтения относительно ...", которые можно задавать, следя за привычками пользователя, связанными с просмотром передач. Существуют также категории, такие как категория "страна" и "район/графство/округ [в пределах страны]", которые могут быть заданы центром вещания, приемником-декодером или иным субъектом, исходя из идентификационных номеров абонентов (которые часто однозначно определяют район проживания пользователя) или других идентификаторов (таких как переданный идентификатор, идентификатор подсети кабельной сети, диапазон IP-адресов, идентификатор маршрутизатора и т.п.).
Структура данных о целевой аудитории более подробно раскрыта ниже в таблице 7.
ПРИМЕРЫ ДАННЫХ О ЦЕЛЕВОЙ АУДИТОРИИ
Из приведенного выше можно видеть, что для обеспечения возможности более гибкой персонификации указываются значение, весовой коэффициент и флаг обязательности. Весовой коэффициент -1 (предпочтительно в сочетании с установленным флагом обязательности критерия) указывает на то, что соответствующее значение следует отклонять, а не искать ему соответствия.
Примеры информации для подстройки профиля (передаваемой в сообщениях VCIM) приведены в таблице 8.
ПРИМЕРЫ ИНФОРМАЦИИ ДЛЯ ПОДСТРОЙКИ ПРОФИЛЯ (из VCIM)
Значение поля "категория профиля" идентифицирует категорию, которую необходимо изменить, а значение поля "весовой коэффициент" (если таковое задается) указывает корректировку, которую следует применить к профилям пользователей (как правило, для категорий "предпочтения относительно..." профиля). Поле "условие" является довольно гибким ив предпочтительном варианте осуществления кодируется в виде строки, содержащей вычисляемое выражение.
Система для оценивания пригодности рекламных материалов, в основе которой - использование описанных выше структур данных, показана на фиг.15. Сначала, на шаге 9600, инициализируют переменную счетчика циклов current_advertisement. На шаг 9602 проверяют, удовлетворяет ли текущий рекламный материал (определяемый значением current_advertisement) необходимым критериям, в т.ч. - удовлетворяются ли все обязательные адресные атрибуты (т.е. атрибуты, определяющие целевую аудиторию). Другие критерии могут включать в себя проверку того, не повторялся ли данный рекламный материал в течение некоторого заданного периода времени.
На шаге 9604 (при условии, что рекламный материал удовлетворяет упомянутым критериям) вычисляют рейтинг и сохраняют его во временной матрице. На шаге 9606 переменную current_advertisement увеличивают на единицу, а на шаге 9608 ее проверяют. В конце цикла, на шаге 9610, просматривают упомянутую матрицу и выбирают имеющий максимальный рейтинг рекламный материал (который также удовлетворяет необходимым критериям).
Операция вычисления рейтинга для конкретного рекламного материала более подробно показана на фиг.16. На шаге 9700 инициализируют переменные total_weight, рейтинг и cur_attribute. Прежде всего, на шаге 9702 проверяют весовой коэффициент текущего атрибута. Если он отрицательный - другими словами, если задано запрещенное значение - атрибут игнорируют, и происходит выход из цикла (с переходом на шаг 9716). На шаге 9704 общий весовой коэффициент увеличивают на соответствующую величину. Как видно из последующих шагов, алгоритм построен таким образом, что рейтинги будут иметь значения от 0 до 1.
На шаге 9706 вычисляют различные промежуточные переменные (в данном случае - для наглядности в описании последующих шагов); переменной cur_category присваивают значение, соответствующее категории текущего атрибута (такое как 101 - "предпочтения относительно спорта"), а переменной cur_usr_profile присваивают фактическое значение этой категории, взятое из текущего профиля. На шаге 9708 проверяют тип категории, так что категории, числовые значения которых лежат в одном интервале, такие как Sports_preference, Music_preference и т.д., обрабатывают более сложным оценочным алгоритмом (шаг 9714), учитывающим степень соответствия или несоответствия значений профиля значениям данных о целевой аудитории. Простые категории подвергают более простой проверке на шаге 9710, в результате чего рейтинг увеличивают на соответствующий весовой коэффициент, если соответствующие значения совпадают (шаг 9712), или оставляют без изменений - если не совпадают. На шагах 9716 и 9718 увеличивают на единицу и проверяют переменную цикла (cur_attribute). Наконец, на шаге 9720 вычисляют итоговый взвешенный рейтинг.
Эта система не учитывает дополнительной информации для подстройки профиля, предоставляемой в сообщениях VCIM, но в соответствии с описанными выше процессами можно внести модификации (шагов 9712 и 9714) для ее учета. Для сопоставления данных профиля можно построить также и другие системы различной степени сложности.
Точные детали реализации различных описанных выше функций и их распределение между аппаратным и программным обеспечением определяются выбором разработчика и подробно описываться не будут. Однако следует отметить, что специализированные интегральные схемы, способные выполнять в приемнике-декодере требуемые операции, имеются на рынке или могут быть легко сконструированы, и их можно использовать как основу для аппаратного ускорителя или, более предпочтительно, для создания специализированного аппаратного ускорителя с целью реализации различных требуемых операций, и тем самым снизить вычислительную мощность, требуемую для выполнения программного обеспечения. В то же время, при наличии достаточной вычислительной мощности требуемые операции могут быть реализованы программно.
Модули, блоки и другие компоненты были описаны выше с точки зрения их особенностей и обеспечиваемых ими функций, вместе с необязательными и предпочтительными особенностями. С предоставленной информацией и приведенными характеристиками и описанием практическая реализация этих особенностей и конкретные детали реализации могут быть определены разработчиком. Например, определенные модули можно было бы реализовать с помощью программного обеспечения, предпочтительно написанного на языке программирования С и предпочтительно скомпилированного для выполнения на процессоре, используемом для выполнения приложения; однако некоторые компоненты могут выполняться на отдельном процессоре, и некоторые или все компоненты могут быть реализованы с помощью специализированных аппаратных средств.
Описанные выше модули и компоненты являются не более чем иллюстративными примерами. Изобретение может быть реализовано разнообразными способами и, в частности, некоторые компоненты можно интегрировать с другими, выполняющими подобные функции, или некоторые компоненты можно опускать в упрощенных реализациях. Аппаратные и программные реализации каждой из описанных функций могут комбинироваться в любых сочетаниях, как между несколькими компонентами, так и для каждого отдельного компонента.
Понятно, что функции, выполняемые аппаратным обеспечением, компьютерным программным обеспечением и тому подобным, выполняются на электрических и подобных сигналах или с их использованием. Программные реализации могут храниться в ПЗУ или могут быть "зашиты" во флэш-память.
Совершенно очевидно, что настоящее изобретение было описано выше и использованием исключительно иллюстративных примеров возможных вариантов его осуществления, и возможны различные изменения деталей реализации, не приводящие к выходу за рамки настоящего изобретения.
Каждый из признаков, раскрытых в описании и (в соответствующих случаях) в формуле изобретения и на графических фигурах, может реализовываться как независимо, так и в любом подходящем сочетании.
Используемые в формуле изобретения номера позиций использованы лишь для наглядности и не должны рассматриваться как ограничивающие объем прав, определяемых формулой изобретения.
название | год | авторы | номер документа |
---|---|---|---|
ТАБЛИЦА ДАННЫХ О ПРИЛОЖЕНИЯХ ДЛЯ СИСТЕМЫ ЦИФРОВОЙ ПЕРЕДАЧИ, ПРЕДОСТАВЛЯЮЩЕЙ МНОЖЕСТВО СЕРВИСОВ | 1999 |
|
RU2257687C2 |
ВЫПОЛНЕНИЕ ПРИЕМНИКОМ-ДЕКОДЕРОМ ДЕЙСТВИЙ | 2000 |
|
RU2274957C2 |
ВВОД ДАННЫХ ПРИ ИСПОЛЬЗОВАНИИ GUI-ИНТЕРФЕЙСА | 2000 |
|
RU2267151C2 |
МУЛЬТИМЕДИЙНЫЙ ТЕРМИНАЛ ДЛЯ МНОЖЕСТВА ПОЛЬЗОВАТЕЛЕЙ | 1999 |
|
RU2259020C2 |
СИСТЕМА И СПОСОБ ФОРМИРОВАНИЯ ВИРТУАЛЬНОГО КАНАЛА | 2021 |
|
RU2781944C1 |
СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ СЕРВИСОМ ПРЕДОСТАВЛЕНИЯ ВИРТУАЛЬНЫХ КАНАЛОВ | 2022 |
|
RU2825320C2 |
МНОГОКАНАЛЬНАЯ СИСТЕМА ЦИФРОВОГО ТЕЛЕВИДЕНИЯ | 1998 |
|
RU2225076C2 |
СТРУКТУРА MPEG-ТАБЛИЦЫ | 2002 |
|
RU2321965C2 |
ИЗВЛЕЧЕНИЕ СЕКЦИЙ ДАННЫХ ИЗ ТРАНСЛИРУЕМОГО ПОТОКА ДАННЫХ | 1997 |
|
RU2181929C2 |
СИСТЕМА ПРИЕМА ВЕЩАНИЯ, СОДЕРЖАЩАЯ КОМПЬЮТЕР И ДЕКОДЕР | 1998 |
|
RU2199831C2 |
Изобретение относится к области вещания и вывода персонифицированной рекламы и к созданию «виртуальных» телевизионных каналов. Технический результат заключается в обеспечении собственно приемника-декодера для системы цифрового телевидения и способа работы с программами в упомянутом приемнике-декодере. Приемник-декодер содержит средство для приема множества программ по одному или нескольким разным каналам; средство для сохранения множества принятых программ; средство для выбора одной из сохраненных программ для ее вывода; причем упомянутому средству для выбора может, посредством сообщения, принимаемого приемником-декодером в вещаемом потоке, даваться указание о том, что сохраненная программа должна быть выбрана для вывода в соответствующем временном интервале, причем упомянутое сообщение включает в себя временную информацию, касающуюся упомянутого временного интервала. 2 н. и 7 з.п. ф-лы, 18 ил., 8 табл.
средство для приема множества программ по одному или нескольким разным каналам;
средство для сохранения множества принятых программ;
средство для выбора одной из сохраненных программ для ее вывода,
отличающийся тем, что упомянутому средству для выбора может посредством сообщения, принимаемого приемником-декодером в вещаемом потоке, даваться указание о том, что сохраненная программа должна быть выбрана для вывода в соответствующем временном интервале, причем упомянутое сообщение включает в себя временную информацию, касающуюся упомянутого временного интервала.
прием множества программ по одному или нескольким разным каналам;
сохранение множества принятых программ;
выбор одной из сохраненных программ для ее вывода,
отличающийся тем, что он включает прием сообщения, указывающего на то, что сохраненная программа должна быть выбрана для вывода в соответствующем временном интервале, и выбор и вывод выбранной программы в ответ на прием такого сообщения, причем упомянутое сообщение включает в себя временную информацию, касающуюся упомянутого временного интервала.
WO 9911065 A1, 04.03.1999 | |||
Сборно-разборная металлическая крепь станкового типа | 1958 |
|
SU117248A1 |
АППАРАТНЫЙ ВЕДУЩИЙ ТЕРМИНАЛ ДЛЯ СИСТЕМЫ ДОСТАВКИ ТЕЛЕВИЗИОННЫХ ПРОГРАММ И СПОСОБА ЕГО ИСПОЛЬЗОВАНИЯ | 1993 |
|
RU2112325C1 |
US 6188398 B1, 13.02.2001 | |||
EP 1021036 A, 19.07.2000. |
Авторы
Даты
2008-07-20—Публикация
2002-06-11—Подача