Способ и устройство условного доступа для одновременной обработки нескольких телевизионных программ
Иллюстрации
Показать всеИзобретение относится к приему и дешифрованию аудио-видео контента. Техническим результатом является скрытая передача некоторых пакетов так, что пользователь об этом не знает, что позволяет передавать приемнику данные, которые потенциальному хакеру трудно обнаружить и использовать незаконным образом. Указанный технический результат достигается тем, что принимают кодированный аудио-видео контент в виде потока пакетированных данных, содержащего одну или более программ, имеющих пакеты данных, идентифицируемые посредством соответствующих наборов из одного или более идентификаторов пакетов, и содержащего идентификационные данные, устанавливающие соответствие между программами и соответствующими наборами идентификаторов пакетов; выбирают пакеты данных из потока пакетированных данных для требуемой программы в соответствии с набором идентификаторов пакетов, определяемым идентификационными данными для этого потока в отношении требуемой программы; выбирают дополнительные пакеты данных из потока пакетированных данных, из которого выбрана программа, содержащие идентификаторы пакетов, не включенные в идентификационные данные для этого потока пакетированных данных; генерируют составной поток пакетированных данных из выбранных пакетов; генерируют идентификационные данные составного потока, указывающие идентификаторы пакетов, включенных в составной поток пакетированных данных, и подают составной поток пакетированных данных в декодер контента для декодирования программы из составного потока пакетированных данных согласно идентификаторам пакетов, содержащимся в идентификационных данных составного потока. 3 н. и 13 з.п. ф-лы, 24 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к приему аудио-видео контента.
Известный уровень техники
Описание "предпосылок к созданию изобретения" в данной спецификации имеет целью представить общий контекст настоящего изобретения. Работа персонально поименованных изобретателей в том объеме, в котором она описана в данном параграфе, равно как и аспекты описания, которые не могут быть квалифицированы иначе, как известный на момент подачи заявки уровень техники, ни однозначно, ни подразумеваемым образом не признаются известным уровнем техники по отношению к настоящему изобретению.
Известная из уровня техники спецификация общего интерфейса ("CI-спецификация") (CI, сокр. от Common Interface) стандарта DVB обеспечивала телевизионному приемнику или телевизионной приставке ("хост-устройству") возможность взаимодействия с защищенным аппаратным модулем (модулем условного доступа или "CAM-модулем" (CAM, сокр. от Conditional Access Module)) с целью выдачи разрешения хост-устройству на дешифрирование контента с управляемым доступом. CI-спецификация определяет интерфейс между хост-устройством и CAM-модулем, чтобы оба устройства работали совместно, если они соответствуют CI-спецификации. Такая функциональная совместимость обеспечивала значительное преимущество CI-систем, т.к. в принципе обеспечивала потребителям возможность выбора совместимых продуктов различных производителей.
В CI-спецификации CAM-модуль взаимодействует со смарт-картой и/или личным идентификационным номером пользователя с целью аутентификации пользователя.
Однако недостатком исходной CI-спецификации является то, что она потенциально дает возможность копирования дешифрованного контента. Такая возможность проистекает из способа взаимодействия хост-устройства и CAM-модуля. В процессе работы хост-устройство посылает зашифрованные данные на CAM-модуль. CAM-модуль проверяет аутентификацию пользователя и, считая, что пользователь аутентифицирован, дешифрует контент с управляемым доступом. Затем CAM-модуль посылает дешифрованный контент обратно в хост-устройство через интерфейс, который, как правило, является PCMCIA-интерфейсом (PCMCIA, сокр. от Personal Computer Memory Card International Association - Международная ассоциация производителей карт памяти для персональных компьютеров), хотя и не ограничивается этим типом интерфейса, например, может использоваться USB-интерфейс. Такое соединение CAM-модуля с хост-устройством является слабым местом с точки зрения безопасности в том смысле, что дешифрованный цифровой контент в принципе может быть перехвачен и незаконно копирован. Эта слабость с точки зрения безопасности приводила к тому, что некоторые провайдеры предпочитали использовать интегрированные устройства, в которых хост-устройство и CAM-модуль объединялись в единое устройство, т.к. это позволяло обеспечить более высокую степень безопасности при передаче дешифрованных данных от CAM-модуля к хост-устройству. Однако это, безусловно, сводило на нет преимущество CI-интерфейса, связанное с потенциальной функциональной совместимостью различных CAM-модулей и хост-устройств.
Чтобы решить эту проблему была предложена спецификация CI Plus, предусматривающая два основных направления решения проблемы. Технология CI Plus обеспечивает безопасный интерфейс между CAM-модулем и хост-устройством, так что дешифрованный контент не пересылается в чистом виде между двумя устройствами. Также технология CI Plus обеспечивает аутентификацию как хост-устройства, так и CAM-модуля в отличие от CI-технологии, обеспечивающей аутентификацию только CAM-модуля.
Система аутентификации использует иерархию сертификатов, так что хост-устройство и CAM-модуль должны иметь сертификаты, выданные полномочным органом (таким как Партнерство с ограниченной ответственностью CI Plus).
PCMCIA-интерфейс между хостом и CAM-модулем защищен посредством шифрования дешифрованного контента перед его передачей с CAM-модуля на хост-устройство и его последующего дешифрования в хост-устройстве. Такое шифрование не связано с шифрованием-дешифрованием при управлении доступом, осуществляемым контент-провайдером, и специфично для каждой пары CAM-модуль-хост-устройство. Обмен ключами между CAM-модулем и хост-устройством осуществляется с использованием технологии обмена ключами Диффи-Хеллмана. Ключи время от времени меняются, так что даже если ключ был рассекречен, он будет в любом случае сменен несколькими секундами позднее.
Спецификация CI Plus позволяет соединять CAM-модули последовательно или в цепь.
Раскрытие изобретения
В данном описании рассматривается способ, определенный в п. 1 формулы изобретения.
Различные дополнительные соответствующие аспекты и отличительные признаки способа определены в прилагаемой формуле изобретения.
Предшествующие абзацы приведены в качестве общей информации и не предполагают какого-либо ограничения объема нижеследующей формулы изобретения. Описанные варианты осуществления изобретения вместе с прочими преимуществами более понятны из нижеследующего подробного описания, сопровождаемого прилагаемыми к описанию чертежами.
Краткое описание чертежей
Более полное понимание изобретения и многих свойственных ему преимуществ следует из приведенного ниже подробного описания конкретных вариантов его осуществления со ссылкой на прилагаемые к описанию чертежи, на которых показано:
на фиг. 1 - схематичный вид хост-устройства с CAM-модулем и смарт-карточкой;
на фиг. 2 - блок-схема системы условного доступа, включающей в себя показанное на фиг. 1 хост-устройство;
на фиг. 3 - блок-схема, иллюстрирующая работу показанной на фиг. 1 системы;
на фиг. 4 - блок-схема хост-устройства с несколькими тюнерами;
на фиг. 5 - схематичный вид устройства мультиплексирования-демультиплексирования;
на фиг. 6а - схематичный вид т.н. M-карточки;
на фиг. 6б - схематичный вид т.н. S-карточки;
на фиг. 7 - схематичный вид пакета транспортного потока;
на фиг. 8 - схематичный вид пакета данных составного потока пакетированного данных;
на фиг. 9 - более подробный схематичный вид устройства мультиплексирования;
на фиг. 10 - схематичный вид пакетов транспортного потока двух услуг;
на фиг. 11 - схематичный вид набора, содержащего последовательность CAM-модулей;
на фиг. 12 - схематичный вид последовательности CAM-модулей с интерфейсами между ними;
на фиг. 13 - блок-схема, иллюстрирующая обработку так называемых призрачных идентификаторов пакетов;
на фиг. 14 - таблица соответствия идентификаторов пакетов;
на фиг. 15 - блок-схема последовательности операций выявления, какой из CAM-модулей способен дешифровать требуемую программную услугу;
на фиг. 16 - блок-схема последовательности операций управления хост-устройством несколькими тюнерами;
на фиг. 17 - схематичное представление процесса мультиплексирования двух отдельных программных услуг;
на фиг. 18 - схематичный вид пакета с расширенным заголовком;
на фиг. 19 - схематичный вид таблицы с тактовой информацией пакетов;
на фиг. 20 - блок-схема последовательности операций формирования заголовка показанного на фиг. 18 пакета;
на фиг. 21 - блок-схема последовательности операций использования показанного на фиг. 18 заголовка пакета;
на фиг. 22 - блок-схема последовательности операций формирования показанной на фиг. 19 таблицы;
на фиг. 23 - блок-схема последовательности операций использования показанной на фиг. 19 таблицы, и
на фиг. 24 - схематичный вид системы постановки и проверки цифровой подписи.
Осуществление изобретения
С целью формирования технического контекста для последующего рассмотрения настоящих вариантов осуществления изобретения сначала со ссылкой на фиг. 1-3 описывается система вещания, имеющая один тюнер и устройство дешифрования.
На фиг. 1 хост-устройство 10 показано в данном случае в виде телевизора, но может быть, к примеру, телевизионной приставкой (имея в виду, что "устройство, предназначенное для размещения наверху телевизора" не означает для специалиста в данной области техники требования конкретного физического положения устройства при его эксплуатации). Хост-устройство принимает телевизионный сигнал 15 с управляемым доступом по широковещательному каналу передачи данных. Это может быть, к примеру, спутниковый телевизионный сигнал, принимаемый непоказанной на чертеже спутниковой тарелкой, наземный телевизионный сигнал, кабельный телевизионный сигнал и т.п., хотя другие типы телевизионного сигнала включают в себя трансляцию или передачу телевизионного сигнала с помощью пакетного сигнала протокола EP (IP-сигнала). Одна из технологий заключается в кодировании транспортного потока стандарта MPEG в IP-пакеты, так что IP-пакет несет в себе несколько (например, 7-8) пакетов транспортного потока. Другая технология зашифровывает телевизионный сигнал в т.н. основной формат медиа-файла BMFF (сокр. от Base Media File Format) Международной организации по стандартизации (ISO), описанный в ссылке: http://en.wikipedia.org/wiki/ISO_base_media_file_format, содержание которой включено в состав настоящего описания посредством ссылки. В таком случае IP-интерфейс в хост-устройстве обычно рассматривается в качестве "тюнера", даже если он может не иметь радиочастотных цепей или функции. Однако он действует подобно радиочастотному тюнеру в том смысле, что он выбирает IP-поток из множества возможных IP-потоков. Он может также обеспечивать буферизацию принимаемого IP-потока.
Упомянутое хост-устройство 10 имеет PCMCIA-разъем 20, включающий в себя электрические соединения и физическое пространство для сменного модуля, причем и то и другое соответствуют стандарту PCMCIA. В других вариантах осуществления изобретения вместо PCMCIA-интерфейса может использоваться универсальная последовательная шина данных (USB) или иной электрический интерфейс.
Модуль условного доступа CI Plus, называемый CICAM-модулем 30, является PCMCIA-модулем, который может вставляться в PCMCIA-разъем 20. Когда CICAM-модуль 30 полностью вставлен в разъем 20, устанавливаются электрические соединения между контактами на CICAM-модуля 30 и взаимодействующими контактами разъема 20.
Сам CICAM-модуль может быть беспроводным модулем или может иметь разъем 40, в который может вставляться т.н. смарт-карточка. Смарт-карточка является съемной и несет информацию, идентифицирующую текущего пользователя приемника контента в защищенным от неумелого обращения, безопасным и энергонезависимым способом. Когда смарт-карточка полностью вставлена в разъем 40, между смарт-карточкой 50 и CICAM-модулем 30 устанавливается электрическое соединение либо посредством взаимодействующих электрических контактов на смарт-карточке 50 и в разъеме 40, либо посредством известной технологии бесконтактного соединения, при которой данные передаются бесконтактно на очень маленькое расстояние (порядка 1-2 см).
На фиг. 2 схематично показано хост-устройство 10 в контексте системы условного доступа. Так называемая головная телевизионная станция 60 представляет собой источник телевизионного сигнала 15 с условным доступом. Упомянутая головная телевизионная станция может представлять собой, например, станцию восходящей связи спутникового вещания или центр распределения сигнала наземной или кабельной вещательной станции. CA-система зашифровывает контент на головной телевизионной станции с помощью CA-системы шифрования. Упомянутая головная телевизионная станция может также вводить в состав шифруемого потока данных другую относящуюся к условному доступу информацию, которая позволяет CICAM-модулю дешифровывать контент и управлять доступом и правами абонентов (пользователей).
Головная телевизионная станция 60 посылает телевизионный сигнал 15 на хост-устройство 10, которое, в свою очередь, направляет сигнал в OCAM-модуль 30 для дешифрования зашифрованного управления доступом. Затем CICAM-модуль 30 повторно шифрует сигнал, используя локальное шифрование, и посылает перешифрованный сигнал обратно на хост-устройство 10 через PCMCIA-разъем. Хост-устройство дешифрирует сигнал, полученный от CICAM-модуля 30 для отображения на экране дисплея или для отправки на другое устройство, такое как устройство видеозаписи на жесткий диск.
На фиг. 3 показана блок-схема алгоритма работы показанной на фиг. 2 системы. Подробное описание работы показанной на фиг. 2 системы приведено в CI Plus-спецификации 1.3 (2010-01), доступной (на момент подачи заявки) на сайте http://www.ci-.3.pdf. Данный документ включен в настоящее описание посредством ссылки. Настоящее описание фиг. 3 дает только общее представление о такой подробной работе с целью увязки соответствующего описания с соответствующим техническим контекстом.
Как упомянуто ранее, на фиг. 3 показаны головная телевизионная станция 60 (получающая сигнал контента от контент-провайдера), хост-устройство 10, CICAM-модуль 30 и смарт-карточка 50. Упомянутый сигнал 15 показан приходящим от головной телевизионной станции 60 на хост-устройство 10. Безопасный интерфейс 80 между хост-устройством 10 и CICAM-модулем 30 называют общим интерфейсом (единым стыком условного доступа для приема телевизионных программ с несколькими декодерами в одном телевизионном приемнике).
Условный доступ
В известных CA-системах предусматривается технология, согласно которой пользователю может быть отказано в доступе или разрешен доступ к цифровому телевизионному потоку. Доступ предоставляется только тем абонентам или пользователям, которые имеют действующие счета платежей. На практике пользователь обеспечивается смарт-картой 50, идентифицирующей его защищенным (в идеале) от подделки способом, а система настроена таким образом, что только пользователи с действующей смарт-картой могут получать доступ к контенту с управляемым доступом.
Управление доступом обеспечивается с использованием скремблирования и шифрования. Сигнал контента скремблируется восьмибитовым контрольным словом, которое часто меняется (до нескольких раз в минуту), чтобы исключить рассекречивание CA-системы из-за знания посторонними лицами контрольного слова. Упомянутые контрольные слова предаются на CICAM-модуль приемника для дескремблирования скремблированного контента в зашифрованном виде в качестве сообщения управления санкционированием (ECM, сокр. от Entitlement Control Message). CICAM-модуль дешифрирует контрольное слово, чтобы разрешить дескремблировать контент с управляемым доступом только тогда, когда модуль авторизован сделать это посредством приема сообщения о санкционировании приема (EMM, сокр. от англ. Entitlement Management Message). EMM-сообщения специфичны для каждого пользователя или группы пользователей; CICAM-модуль подтверждает права, которые предоставляет EMM-сообщение, путем сравнения идентификатора пользователя, содержащегося в EMM-сообщении, с пользовательской информацией, содержащейся в смарт-карте 50. Упомянутые EMM-сообщения могут посылаться менее часто по сравнению с ECM-сообщениями с интервалами между последовательными EMM-сообщениями действующих в ненастоящий момент времени коммерческих системах от 12 минут до шести недель.
ECM- и EMM-сообщения сами по себе являются широко известными типами сообщений в системах распространения телевизионных программ стандарта MPEG. Формат их нагрузок может быть специфичным для используемой CA-системы, причем различия между форматами носят скорее семантический, чем технический характер. В различных вариантах осуществления изобретения ECM- и EMM-данные передаются в потоке пакетированных данных в виде пакетов данных, определяющих информацию дешифрования, и используются в процессе декодирования для декодирования аудио-видео программ из потока пакетированных данных.
Головная телевизионная станция
Головная телевизионная станция 60 содержит CA-дешифратор 61, генератор 62 ключей, блок 63 управления санкционированием и мультиплексор и модулятор 64.
Контент-провайдер 90 предоставляет контент (такой как телевизионные сигналы) головной телевизионной станции 60. Головная телевизионная станция 60 применяет для обеспечения условного доступа скремблирование и шифрование контента.
Более точно, CA-дешифратор 61 шифрует или скремблирует контент, используя CA-ключ в качестве контрольного слова. Упомянутый CA-ключ формируется генератором 62 CA-ключей. Скремблированный контент, генерируемый CA-шифратором, поступает в мультиплексор и модулятор 64.
CA-ключ также поступает на блок 63 управления санкционированием, который создает ECM-сообщения на базе CA-ключей и EMM-сообщения на основе данных абонента, определяющих, кто из абонентов имеет право дескремблировать какой из потоков контента. Упомянутые ECM- и EMM-сообщения поступают в мультиплексор и модулятор 64. Один или несколько скремблированных потоков контента с CA-дешифратора 61, один или несколько нешифрованных (открытый доступ или "открытое некодированное вещание") потоков контента и сообщения управления санкционированием объединяются вместе, чтобы сформировать транспортный поток, такой как транспортный поток MPEG2. Для переноса данных контента и ECM- и EMM-сообщений используются известные форматы. ECM- и EMM-сообщения и данные, определяющие тип скремблирования, используемого в каждом элементарном потоке (соответствующем отдельным скремблированным потокам контента), предоставляются в известном формате и указываются с использованием известных технологий в таблице состава программы (PMT, сокр. от Programme Map Table) и/или в таблице условного доступа (CAT, сокр. от Conditional Access Table), которая имеет заданный идентификатор программы (PID) 0×001, так что CAT-таблица может быть опознана CICAM-модулем.
Мультиплексированный транспортный поток затем модулируется мультиплексором и модулятором 64 для передачи в виде сигнала 15 кабельного, спутникового или наземного телевещания.
Хост-устройство
Хост-устройство 10 содержит тюнер 11, демодулятор и демультиплексор 12, демультиплексор ("demux") 13 и дешифратор 14 управления контентом (CC-дешифратор 14). Обратите внимание, что хост-устройство может иметь другие дополнительные функции, например, оно может обеспечивать прием двух и более программ спутникового вещания, кабельного вещания, наземного вещания и телевизионного вещания по каналам с IP-протоколами.
В зависимости от типа вещательного сигнала 15 тюнер преобразует принятый сигнал обратно в основную полосу частот, так что демодулятор и демультиплексор 12 может выбирать и демультиплексировать один элементарный поток контента и связанные с ним CAT-данные из принятого сигнала. Поток контента и данные ECM- и EMM-сообщений проходят через общий интерфейс 80 в CICAM-модуль 30.
В случае данных контента с управляемым доступом на этом этапе данные контента все еще остаются скремблированными при их прохождении через общий интерфейс 80 к CICAM-модулю 30. Вследствие этого эта часть передачи через общий интерфейс 80 защищена благодаря CA-шифрованию.
При условии, что ECM- и EMM-сообщения позволяют это, CICAM-модуль 30 дескремблирует данные контента и повторно шифрует их посредством шифрования CC-шифрования. Способ осуществления этого процесса описывается ниже. Зашифрованные посредством CC-шифрования данные возвращаются на хост-устройство 10, где они демультиплексируются демультиплексором 13 и дешифруются CC-дешифратором 14, так что они могут отображаться на экране или выдаваться на другое устройство 70 в виде нешифрованного контента.
Таким образом, хост-устройство осуществляет прием аудио и видео контента и имеет декодер контента (к примеру, CAM-модуль), способный декодировать аудио-видео программы из потока пакетированных данных (такого, как транспортный поток) с помощью пакетов данных (таких, как EMM- и ECM-сообщения), несущих информацию дешифрования. Принимаемый транспортный поток может содержать одну или несколько программ, имеющих пакеты данных, идентифицируемые по соответствующим наборам идентификаторов пакетов (таких, как идентификаторы программ) и содержащих программы соответствия идентификационных данных (таблиц состава программ PMT, таблиц распределения программ PAT или таблиц условного доступа CAT) соответствующим наборам идентификаторов пакетов.
CICAM-модуль
CICAM-модуль 30 содержит дешифратор 31, генератор 32 CA-ключей, CC-дешифратор 33 и генератор 34 CC-ключей.
CA-дешифратор 31 и генератор 32 CA-ключей могут рассматриваться в качестве блока управления доступом для декодирования телевизионного контента с управляемым доступом или других данных. Генератор 34 CC-ключей и CC-дешифратор 33 CICAM-модуля 30, и демультиплексор 13 и CC-дешифратор 14 хост-устройства 10 взаимодействуют друг с другом с целью создания зашифрованной линии связи (общего интерфейса 80) для передачи декодированного телевизионного контента с управляемым доступом между CICAM-модулем и хост-устройством.
CA-дешифратор 31 использует ключи, генерируемые из принятых ECM- и EMM-сообщений генератором 32 CA-ключей, используя проверки идентичности пользователя со смарт-карты 50 для дескремблирования принятого контента с управляемым доступом. Эта часть работы CICAM-модуля использует известные CA-технологии поиска и применения CA-ключей.
Данные нешифрованного контента поступают из CA-дешифратора 31 в CC-шифратор 33. Однако в виду того, что эта передача данных происходит полностью внутри CICAM-модуля, она может считаться безопасной и защищенной от копирования известной технологией, такой как размещение CA-дешифратора 31, CC-шифратора 33 и интерфейса нешифрованного контента в пределах одной интегральной схемы.
CC-шифратор 33 шифрует дескремблированный контент, используя CC-ключ, предоставленный генератором 34 CC-ключей. Этот ключ устанавливается посредством безопасного взаимодействия CICAM-модуля 30 и хост-устройства 10 и специфичен для такой пары CICAM-модуль-хост-устройство. Зашифрованный CC-шифратором контент проходит через общий интерфейс 80 в хост-устройство 10. Таким образом, эта часть общего интерфейса также защищена, т.к. данные контента зашифрованы посредством CC-шифрования при прохождении к хост-устройству.
Обмен ключами
Как CICAM-модуль 30, так и хост-устройство 10 содержат логику, встроенные программы или программное обеспечение, обеспечивающие алгоритмы безопасного обмена ключами по методу Диффи-Хеллмана, хеширования и шифрования с использованием известных алгоритмов стандартов SHA-256 (сокр. от Secure Hash (Hashed) Algorithm - алгоритм аутентификации и проверки целостности информации), DES (сокр. от Data Encryption Standard - стандарт шифрования данных), AES (сокр. от Advanced Encryption Standard - усовершенствованный стандарт шифрования данных), соответствующих сертификатов, выданных уполномоченным на то органом, таким как Партнерство с ограниченной ответственностью CI Plus, и личных ключей с соответствующими открытыми ключами.
Когда CICAM-модуль 30 впервые связывается с хост-устройством 10, CICAM-модуль 30 инициирует процесс взаимной аутентификации устройств. В ходе этого процесса каждое устройство верифицирует сертификат устройства-контрагента, и происходит обмен информацией для выработки общего ключа по методу Диффи-Хеллмана с целью безопасного распределения ключей между двумя устройствами. В частности, CICAM-модуль сначала запрашивает у хост-устройства данные его сертификата. CICAM-модуль верифицирует подпись на сертификате хост-устройства. Аналогичный процесс затем выполняется хост-устройством, запрашивающим и верифицирующим сертификат CICAM-модуля. Затем как CICAM-модуль, так и хост-устройство демонстрируют, что они обладают личными ключами, соответствующими открытому ключу в сертификате, путем подписания открытого ключа Диффи-Хеллмана и отсылки его на устройство-контент для валидации. Затем CICAM-модуль получает и верифицирует аутентификационный ключ АКН от хост-устройства. CICAM-модуль и хост-устройство начинают вычислять и обмениваться данными о ключах для шифрования и аутентификационными данными, пересылаемыми через общий интерфейс 80. Таким образом, ключ, пара ключей или другая информация о ключах, установленная CICAM-модулем и хост-устройством для связи через общий интерфейс 80, специфична для конкретной пары CICAM-модуль-хост-устройство.
После аутентификации CICAM-модуль также начинает вычислять CC-ключ. CICAM-модуль может также выдать команду хост-устройству на вычисление CC-ключа. Упомянутый CC-ключ затем используется, как это описано выше, для шифрования данных контента, проходящего через от CICAM-модуль 30 к хост-устройству 10 согласно алгоритму улучшенного стандарта шифрования AES. Таким образом, понятно, что ключи, используемые для безопасного общего интерфейса 80, специфичны для конкретной пары CICAM-модуль-хост-устройство.
Ниже рассматриваются типичные варианты осуществления изобретения, в которых используются несколько тюнеров, хотя многие из технологий также применимы для компоновок, в которых используется только один тюнер.
На фиг. 4 показана блок-схема хост-устройства 100, имеющего несколько тюнеров, обозначенных как тюнер А 102 и тюнер Б 104, каждый из которых принимает радиочастотный входной сигнал. Упомянутый радиочастотный входной сигнал может быть общим сигналом 106, обрабатываемым каждым из нескольких тюнеров, или может быть отличающимся сигналом для каждого из тюнеров (например, один тюнер может работать с сигналом наземной телевизионной станции, а другой тюнер может работать с сигналом спутниковой телевизионной станции). Упомянутая система не ограничивается двумя тюнерами; описываемые принципы применимы для систем с более чем двумя тюнерами, однако для ясности на фиг. 4 показаны только два тюнера.
Выход каждого из тюнеров 102, 104 соединен с соответствующим демодулятором 108, 110. Выходной сигнал может представлять собой данные, такие как поток пакетированных данных или транспортный поток, передаваемый по одному соответствующему каналу передачи, выбранному (из множества настраиваемых каналов передачи) таким тюнером. Демодулятор работает, как это описано выше (в отношении показанного на фиг. 3 демодулятора 12), чтобы демодулировать пакетированный сигнал с выхода соответствующего тюнера. Пакетированные сигналы с нескольких демодуляторов 108, 110 мультиплексируются CI-контроллером 112 для обработки набором 114 из одного или нескольких CAM-модулей, имеющим вид последовательно соединенных двух или более декодеров контента. Ниже рассматриваются различные варианты выполнения набора CAM-модулей, но на базовом техническом уровне набор 114 CAM-модулей способен одновременно декодировать на выходе более одной программной услуги. Например, набор CAM-модулей 114 может предназначаться для одновременного декодирования такого же количества программных услуг, сколько тюнеров имеется в хост-устройстве 100.
Декодированные данные, принятые обратно из набора 114 CAM-модулей, демультиплексируются CI-контроллером 112 в соответствующие сигналы 116, 118, представляющие собой требуемые программные услуги. Сигналы 116, 118 поступают на демультиплексоры 120, 122 программ, имеющие аналогичные показанному на фиг. 3 демультиплексору 13 функции.
Наконец, каждая программная услуга готовится для выдачи соответствующим декодером 124, 126, имеющим аналогичные показанному на фиг. 3 CC-дешифратору 14 функции. Декодеры 124, 126 генерируют соответствующие выходные аудио и видео сигналы 128,130.
Показанное на фиг. 4 хост-устройство работает под управлением центрального процессора 132, который в свою очередь может быть программируемым процессорным устройством, работающим согласно программному обеспечению или встроенной программе, хранящейся в памяти 134 (которая в свою очередь может быть энергонезависимой машиночитаемой памятью, такой как магнитный или оптический диск, или энергонезависимой полупроводниковой памятью).
На фиг. 5 схематично показано устройство мультиплексирования-демультиплексирования, формирующее часть функциональности показанного на фиг. 4 CI-контроллера 112.
В общих словах, в качестве части функциональности CI-контролера 112 по меньшей мере соответствующие части сигналов пакетированных данных с демодуляторов 108, 110 объединяются мультиплексором 140 в составной сигнал пакетированных данных, направляемый в набор 114 из одного или более CAM-модулей, а декодированный вариант составного сигнала пакетированных данных принимается демультиплексором 142, который демультиплексирует его в соответствующие сигналы 116, 118 для декодирования. Однако имеются различные способы достижения этого.
Выход сигналов пакетированных данных двух демодуляторов 108, 110 может представлять собой т.н. транспортные потоки и обычно включает в себя пакеты данных, относящиеся к нескольким аудио-видео программным услугам наряду с различными служебными и управляющими пакетами. Например, один сигнал пакетированных данных может включать в себя пакеты, относящиеся к 3-10 программным услугам, хотя выбор того, сколько программных услуг представлены отдельным транспортным потоком является ровно настолько коммерческим выбором, насколько и техническим; транспортный поток обеспечивает некоторую полосу частот для данных, но за вещателем остается коммерческий выбор, сколько программных услуг будут предоставляться в располагаемой полосе частот. Для кодирования большего количества программных услуг в заданной полосе частот качество кодирования (которое, исходя из опыта, влияет на качество воспроизводимых аудио и видео сигналов) каждой программной услуги должно быть снижено. Но в любом случае при нормальном использовании возможно, что каждый из сигналов пакетированных данных, генерируемых одним из демодуляторов 108, 110, будет содержать пакеты данных, отличающиеся от тех, что необходимы для декодирования конкретной желаемой программной услуги.
Тогда возникает техническая возможность для CI-контроллера 112 по меньшей мере в принципе просто объединять множество сигналов пакетированных данных с демодуляторов 108, 110 таким образом, чтобы вся информация, содержащаяся в каждом сигнале пакетированных данных, сохранялась. Это позволило бы получить составной сигнал пакетированных данных, имеющий ширину полосы данных порядка n, умноженного на ширину полосы отдельного транспортного потока, где n - это количество отдельных транспортных потоков, мультиплексированных вместе мультиплексором 140. Потенциальной проблемой при таком построении является то, что CAM-модули, входящие в набор 114, не смогут обработать такой высокоскоростной сигнал пакетированных данных. Одной из возможных причин является то, что CAM-модули могут быть предназначены для гармоничного использования только с одним сигналом пакетированных данных.
Поэтому в других системах соответствующее подмножество пакетов данных извлекается из каждого из выходных сигналов пакетированных данных демодуляторов 108, 110, и составной сигнал пакетированных данных, который должен поступать в набор 114 из одного или нескольких CAM-модулей, формируется из комбинации таких соответствующих подмножеств. Технология формирования такой комбинации, чтобы генерировать составной сигнал пакетированных данных, рассматривается ниже.
К настоящему рассмотрению относятся два типа CAM-модулей. На фиг. 6а схематично показана т.н. M-карточка (многопоточная карточка) 150, а на фиг. 6б - т.н. S-карточка (однопоточная карточка) 160.
Основное техническое отличие между двумя типами CAM-модулей следующее. M-карточка представляет собой единое устройство, способное одновременно дешифровать более одной программной услуги. Она представляет собой более современный вариант выполнения CAM-модуля, чем S-карточка, которая снята с производства, но все еще находится в эксплуатации и способна дешифровывать только одну программную услугу из транспортного потока. Следует заметить, что М-карточка может работать либо в многопоточном, либо в однопоточном (как S-карточка) режиме. S-карточка может работать только в однопоточном режиме.
На фиг. 7 схематично показан пакет 170 транспортного потока. Упомянутые пакеты одержат 4-битовый заголовок 172 и 184-битовую часть для полезной нагрузки. Это стандартный формат для пакетов транспортного потока, и транспортный поток формируется из последовательности пакетов такого формата. Заголовок 172 включает в себя идентификатор пакета или PID (сокр. от Packet IDentifier). Каждая услуга аудио-видео программы имеет связанный набор из двух или более идентификаторов пакетов. Например, один идентификатор пакета может быть связан с видео пакетами услуги программы, другой идентификатор пакета PID может быть связан с аудио пакетами программной услуги, а еще один идентификатор пакета может быть связан с пакетами управления шифрованием услуги. Таким образом, в рамках одного транспортного потока могут использоваться различные идентификаторы пакетов. Распределение идентификаторов пакетов по различным типам пакетов осуществляется посредством таблицы распределения программ (PAT) и таблицы состава программ (PMT, сокр. от Programme Map Table). Сама таблица распределения программ имеет идентификатор пакета 0 и работает таким образом, чтобы указывать идентификаторы пакетов, несущих таблицу состава программ. Таблица состава программ указывает идентификаторы пакетов, несущих видео и аудио данные, а также идентификаторы пакетов, несущих данные для обнаружения и исправления ошибок в услуге. Для полноты изложения таблица условного доступа (CAT, сокр. от Conditional Access Table) имеет идентификатор пакета 1 и указывает, какие из пакетов несут EMM-сообщение для одной или нескольких систем управления доступом.
Идентификаторы пакетов однозначно определяются в рамках одного транспортного потока в 13-битовом диапазоне (0-8191 в десятичном исчислении). Однако от одного транспортного потока к другому данные, представленные конкретным значением идентификатора пакета, могут быть неоднозначными. Т.е. значение идентификатора пакета может повторно использоваться в различных транспортных потоках. В случае, когда мультиплексором 140 мультиплексируются несколько транспортных потоков, необходим механизм устранения этой потенциальной неоднозначности идентификаторов пакетов.
Одна из технологий обеспечения этого описана в публикации US В 7394834, содержание которой включено в настоящее описание посредством ссылки. Согласно данной публикации пакеты, представляющие желаемые услуги, извлекаются из нескольких транспортных потоков, и идентификаторы пакетов, извлеченных по меньшей мере из одного из транспортных потоков, преобразуются в новые значения идентификаторов пакетов, которые не используются для любых данных, извлеченных из других транспортных потоков. Процесс преобразования включает в себя замену значения идентификатора пакета другим значением идентификатора пакета с записью или занесением в таблицу соответствия идентификаторов пакетов, так что желаемая услуга может быть идентифицирована по новым (преобразованным) значениям идентификаторов пакетов. Такая схема может использоваться для генерации псевдотранспортного потока, который является, так сказать, искусственно созданным транспортным потоком, существующим только в пределах хост-устройства, но который создает впечатление (с точки зрения S-карточки), что он удовлетворяет всем требованиям к формату транслируемого транспортного потока. Т.е. этот псевдотранспортный поток может декодироваться S-карточкой, как будто он транслирован в этом виде, хотя фактически он выработан в пределах хост-устройства путем объединения частей нескольких транслируемых транспортных потоков.
Другая технология заключается в использовании предварительного заголовка, который вставляется в начало каждого пакета транспортного потока и содержит информацию о происхождении этого пакета. Такая технология используется при отправке на М-карточку, работающую в многопоточном режиме. Пример пакета транспортного потока с предварительным заголовком 176 схематично показан на фиг. 8.
Предварительный заголовок 176 содержит 12 бит дополнительных данных и предварительно добавляется к каждому пакету, отправляемому в M-карточку. Т.е. он добавляется в начало каждого пакета. 12 бит дополнительных данных содержат различные поля, включая идентификатор локального транспортного потока, идентифицирующий транспортный поток, из которого были извлечены пакеты, локальную временную метку, данные для обнаружения ошибок в предварительном заголовке и резервные поля данных для последующего или специального использования. Важным для целей настоящего изобретения является то, что идентификатор локального транспортного потока означает, что даже в ситуации, когда пакеты в составном потоке пакети