RU2575242C1 - Conditional access method and apparatus for simultaneous handling of multiple television programmes - Google Patents

Conditional access method and apparatus for simultaneous handling of multiple television programmes Download PDF

Info

Publication number
RU2575242C1
RU2575242C1 RU2014143022/07A RU2014143022A RU2575242C1 RU 2575242 C1 RU2575242 C1 RU 2575242C1 RU 2014143022/07 A RU2014143022/07 A RU 2014143022/07A RU 2014143022 A RU2014143022 A RU 2014143022A RU 2575242 C1 RU2575242 C1 RU 2575242C1
Authority
RU
Russia
Prior art keywords
packet
data
stream
composite
packet data
Prior art date
Application number
RU2014143022/07A
Other languages
Russian (ru)
Inventor
Шри Гопикантх ГУТТА
Дэвид ХИЛЛ-ДЖОУЭТТ
Пауль СЦУКС
Original Assignee
Сони Корпорейшн
Сони Юроуп Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Сони Корпорейшн, Сони Юроуп Лимитед filed Critical Сони Корпорейшн
Application granted granted Critical
Publication of RU2575242C1 publication Critical patent/RU2575242C1/en

Links

Images

Abstract

FIELD: radio engineering, communication.
SUBSTANCE: receiving encoded audio/video content in the form of a stream of packet data containing one or more programmes having data packets identified by corresponding sets of one or more packet identifiers, and containing identification data which establish correspondence between programmes and corresponding sets of packet identifiers; selecting data packets form the stream of packet data for the required programme according to the set of packet identifiers, defined by identification data for said stream relative to the required programme; selecting additional data packets from the stream of packet data, from which the programme was selected, containing packet identifiers not included in the identification data for said stream of packet data; generating a composite stream of packet data from the selected packets; generating identification data of the composite stream indicating packet identifiers included in the composite stream of packet data, and transmitting the composite stream of packet data to a content decoder for decoding the programme from the composite stream of packet data according to packet identifiers contained in the identification data of the composite stream.
EFFECT: concealed transmission of certain packets such that the user is not aware, which enables to transmit, to a receiver, data which a potential hacker will find hard to detect and use illegally.
16 cl, 24 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение относится к приему аудио-видео контента.The present invention relates to the reception of audio-video content.

Известный уровень техникиPrior art

Описание "предпосылок к созданию изобретения" в данной спецификации имеет целью представить общий контекст настоящего изобретения. Работа персонально поименованных изобретателей в том объеме, в котором она описана в данном параграфе, равно как и аспекты описания, которые не могут быть квалифицированы иначе, как известный на момент подачи заявки уровень техники, ни однозначно, ни подразумеваемым образом не признаются известным уровнем техники по отношению к настоящему изобретению.The description of the "background to the invention" in this specification is intended to represent the general context of the present invention. The work of personally named inventors to the extent that it is described in this section, as well as aspects of the description that cannot be qualified otherwise than the prior art known at the time of application, are not explicitly or implicitly recognized by the prior art in relation to the present invention.

Известная из уровня техники спецификация общего интерфейса ("CI-спецификация") (CI, сокр. от Common Interface) стандарта DVB обеспечивала телевизионному приемнику или телевизионной приставке ("хост-устройству") возможность взаимодействия с защищенным аппаратным модулем (модулем условного доступа или "CAM-модулем" (CAM, сокр. от Conditional Access Module)) с целью выдачи разрешения хост-устройству на дешифрирование контента с управляемым доступом. CI-спецификация определяет интерфейс между хост-устройством и CAM-модулем, чтобы оба устройства работали совместно, если они соответствуют CI-спецификации. Такая функциональная совместимость обеспечивала значительное преимущество CI-систем, т.к. в принципе обеспечивала потребителям возможность выбора совместимых продуктов различных производителей.The prior art common interface specification (“CI specification”) (CI, abbreviated from Common Interface) of the DVB standard provided the television receiver or set-top box (“host device”) the ability to interact with a secure hardware module (conditional access module or CAM-module "(CAM, abbreviated from Conditional Access Module)) in order to grant permission to the host device to decrypt content with controlled access. The CI specification defines the interface between the host device and the CAM module so that both devices work together if they meet the CI specification. Such interoperability provided a significant advantage of CI systems, as in principle, it provided consumers the opportunity to choose compatible products from different manufacturers.

В CI-спецификации CAM-модуль взаимодействует со смарт-картой и/или личным идентификационным номером пользователя с целью аутентификации пользователя.In the CI specification, the CAM module interacts with a smart card and / or a user's personal identification number in order to authenticate the user.

Однако недостатком исходной CI-спецификации является то, что она потенциально дает возможность копирования дешифрованного контента. Такая возможность проистекает из способа взаимодействия хост-устройства и CAM-модуля. В процессе работы хост-устройство посылает зашифрованные данные на CAM-модуль. CAM-модуль проверяет аутентификацию пользователя и, считая, что пользователь аутентифицирован, дешифрует контент с управляемым доступом. Затем CAM-модуль посылает дешифрованный контент обратно в хост-устройство через интерфейс, который, как правило, является PCMCIA-интерфейсом (PCMCIA, сокр. от Personal Computer Memory Card International Association - Международная ассоциация производителей карт памяти для персональных компьютеров), хотя и не ограничивается этим типом интерфейса, например, может использоваться USB-интерфейс. Такое соединение CAM-модуля с хост-устройством является слабым местом с точки зрения безопасности в том смысле, что дешифрованный цифровой контент в принципе может быть перехвачен и незаконно копирован. Эта слабость с точки зрения безопасности приводила к тому, что некоторые провайдеры предпочитали использовать интегрированные устройства, в которых хост-устройство и CAM-модуль объединялись в единое устройство, т.к. это позволяло обеспечить более высокую степень безопасности при передаче дешифрованных данных от CAM-модуля к хост-устройству. Однако это, безусловно, сводило на нет преимущество CI-интерфейса, связанное с потенциальной функциональной совместимостью различных CAM-модулей и хост-устройств.However, the drawback of the original CI specification is that it potentially makes it possible to copy decrypted content. This possibility stems from the way the host device and the CAM module interact. During operation, the host device sends encrypted data to the CAM module. The CAM module verifies user authentication and, assuming that the user is authenticated, decrypts content with controlled access. The CAM module then sends the decrypted content back to the host device via an interface, which is usually a PCMCIA interface (PCMCIA, abbreviated from Personal Computer Memory Card International Association, although not limited to this type of interface, for example, a USB interface may be used. Such a connection of the CAM module with the host device is a security weakness in the sense that decrypted digital content can in principle be intercepted and illegally copied. From a security point of view, this weakness led some providers to use integrated devices in which the host device and the CAM module were combined into a single device, as this made it possible to provide a higher degree of security when transferring decrypted data from the CAM module to the host device. However, this, of course, negated the advantage of the CI interface associated with the potential interoperability of various CAM modules and host devices.

Чтобы решить эту проблему была предложена спецификация CI Plus, предусматривающая два основных направления решения проблемы. Технология CI Plus обеспечивает безопасный интерфейс между CAM-модулем и хост-устройством, так что дешифрованный контент не пересылается в чистом виде между двумя устройствами. Также технология CI Plus обеспечивает аутентификацию как хост-устройства, так и CAM-модуля в отличие от CI-технологии, обеспечивающей аутентификацию только CAM-модуля.To solve this problem, the CI Plus specification was proposed, which provides two main directions for solving the problem. CI Plus technology provides a secure interface between the CAM module and the host device, so that decrypted content is not sent in its pure form between the two devices. Also, CI Plus technology provides authentication of both the host device and the CAM module, unlike CI technology, which provides authentication of only the CAM module.

Система аутентификации использует иерархию сертификатов, так что хост-устройство и CAM-модуль должны иметь сертификаты, выданные полномочным органом (таким как Партнерство с ограниченной ответственностью CI Plus).The authentication system uses a hierarchy of certificates, so the host device and the CAM module must have certificates issued by an authority (such as the CI Plus Limited Partnership).

PCMCIA-интерфейс между хостом и CAM-модулем защищен посредством шифрования дешифрованного контента перед его передачей с CAM-модуля на хост-устройство и его последующего дешифрования в хост-устройстве. Такое шифрование не связано с шифрованием-дешифрованием при управлении доступом, осуществляемым контент-провайдером, и специфично для каждой пары CAM-модуль-хост-устройство. Обмен ключами между CAM-модулем и хост-устройством осуществляется с использованием технологии обмена ключами Диффи-Хеллмана. Ключи время от времени меняются, так что даже если ключ был рассекречен, он будет в любом случае сменен несколькими секундами позднее.The PCMCIA interface between the host and the CAM module is protected by encrypting the decrypted content before transferring it from the CAM module to the host device and then decrypting it in the host device. Such encryption is not associated with encryption-decryption in access control by the content provider, and is specific for each pair of CAM-module-host device. Key exchange between the CAM module and the host device is carried out using the Diffie-Hellman key exchange technology. The keys change from time to time, so even if the key has been declassified, it will in any case be changed a few seconds later.

Спецификация CI Plus позволяет соединять CAM-модули последовательно или в цепь.The CI Plus specification allows CAM modules to be connected in series or in circuit.

Раскрытие изобретенияDisclosure of invention

В данном описании рассматривается способ, определенный в п. 1 формулы изобретения.This description describes the method defined in paragraph 1 of the claims.

Различные дополнительные соответствующие аспекты и отличительные признаки способа определены в прилагаемой формуле изобретения.Various further relevant aspects and features of the method are defined in the appended claims.

Предшествующие абзацы приведены в качестве общей информации и не предполагают какого-либо ограничения объема нижеследующей формулы изобретения. Описанные варианты осуществления изобретения вместе с прочими преимуществами более понятны из нижеследующего подробного описания, сопровождаемого прилагаемыми к описанию чертежами.The preceding paragraphs are provided as general information and do not imply any limitation on the scope of the following claims. The described embodiments of the invention, together with other advantages, are better understood from the following detailed description, followed by the accompanying drawings.

Краткое описание чертежейBrief Description of the Drawings

Более полное понимание изобретения и многих свойственных ему преимуществ следует из приведенного ниже подробного описания конкретных вариантов его осуществления со ссылкой на прилагаемые к описанию чертежи, на которых показано:A more complete understanding of the invention and many of its inherent advantages follows from the following detailed description of specific embodiments with reference to the accompanying drawings, which show:

на фиг. 1 - схематичный вид хост-устройства с CAM-модулем и смарт-карточкой;in FIG. 1 is a schematic view of a host device with a CAM module and a smart card;

на фиг. 2 - блок-схема системы условного доступа, включающей в себя показанное на фиг. 1 хост-устройство;in FIG. 2 is a block diagram of a conditional access system including the one shown in FIG. 1 host device

на фиг. 3 - блок-схема, иллюстрирующая работу показанной на фиг. 1 системы;in FIG. 3 is a flowchart illustrating the operation of FIG. 1 system;

на фиг. 4 - блок-схема хост-устройства с несколькими тюнерами;in FIG. 4 is a block diagram of a host device with multiple tuners;

на фиг. 5 - схематичный вид устройства мультиплексирования-демультиплексирования;in FIG. 5 is a schematic view of a multiplexing-demultiplexing device;

на фиг. 6а - схематичный вид т.н. M-карточки;in FIG. 6a is a schematic view of the so-called M-cards;

на фиг. 6б - схематичный вид т.н. S-карточки;in FIG. 6b is a schematic view of the so-called S-cards;

на фиг. 7 - схематичный вид пакета транспортного потока;in FIG. 7 is a schematic view of a packet of a transport stream;

на фиг. 8 - схематичный вид пакета данных составного потока пакетированного данных;in FIG. 8 is a schematic view of a data packet of a composite packet data stream;

на фиг. 9 - более подробный схематичный вид устройства мультиплексирования;in FIG. 9 is a more detailed schematic view of a multiplexing device;

на фиг. 10 - схематичный вид пакетов транспортного потока двух услуг;in FIG. 10 is a schematic view of packets of a transport stream of two services;

на фиг. 11 - схематичный вид набора, содержащего последовательность CAM-модулей;in FIG. 11 is a schematic view of a kit containing a sequence of CAM modules;

на фиг. 12 - схематичный вид последовательности CAM-модулей с интерфейсами между ними;in FIG. 12 is a schematic view of a sequence of CAM modules with interfaces between them;

на фиг. 13 - блок-схема, иллюстрирующая обработку так называемых призрачных идентификаторов пакетов;in FIG. 13 is a flowchart illustrating the processing of so-called ghost packet identifiers;

на фиг. 14 - таблица соответствия идентификаторов пакетов;in FIG. 14 is a correspondence table of packet identifiers;

на фиг. 15 - блок-схема последовательности операций выявления, какой из CAM-модулей способен дешифровать требуемую программную услугу;in FIG. 15 is a flowchart of identifying which of the CAM modules is capable of decrypting a desired software service;

на фиг. 16 - блок-схема последовательности операций управления хост-устройством несколькими тюнерами;in FIG. 16 is a flowchart of a host device controlling multiple tuners;

на фиг. 17 - схематичное представление процесса мультиплексирования двух отдельных программных услуг;in FIG. 17 is a schematic representation of the multiplexing process of two separate software services;

на фиг. 18 - схематичный вид пакета с расширенным заголовком;in FIG. 18 is a schematic view of an extended header packet;

на фиг. 19 - схематичный вид таблицы с тактовой информацией пакетов;in FIG. 19 is a schematic view of a table with clock information of packets;

на фиг. 20 - блок-схема последовательности операций формирования заголовка показанного на фиг. 18 пакета;in FIG. 20 is a flowchart of the header generation shown in FIG. 18 packages;

на фиг. 21 - блок-схема последовательности операций использования показанного на фиг. 18 заголовка пакета;in FIG. 21 is a flowchart of the use shown in FIG. 18 packet headers;

на фиг. 22 - блок-схема последовательности операций формирования показанной на фиг. 19 таблицы;in FIG. 22 is a flowchart of the formation shown in FIG. 19 tables;

на фиг. 23 - блок-схема последовательности операций использования показанной на фиг. 19 таблицы, иin FIG. 23 is a flowchart of the use shown in FIG. 19 tables, and

на фиг. 24 - схематичный вид системы постановки и проверки цифровой подписи.in FIG. 24 is a schematic view of a system for setting and verifying a digital signature.

Осуществление изобретенияThe implementation of the invention

С целью формирования технического контекста для последующего рассмотрения настоящих вариантов осуществления изобретения сначала со ссылкой на фиг. 1-3 описывается система вещания, имеющая один тюнер и устройство дешифрования.In order to form a technical context for the subsequent consideration of the present embodiments of the invention, first with reference to FIG. 1-3, a broadcast system having one tuner and a decryption device is described.

На фиг. 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-потока.In FIG. 1, the host device 10 is shown in this case in the form of a TV, but can be, for example, a set-top box (bearing in mind that “a device designed to be placed on top of a TV” does not mean for a person skilled in the art the specific physical position of the device during its operation). The host device receives a television signal 15 with controlled access via a broadcast data channel. This may be, for example, a satellite television signal received by a satellite dish not shown in the drawing, a terrestrial television signal, a cable television signal, and the like, although other types of television signal include broadcasting or transmitting a television signal using an EP packet signal (IP signal). One technology is to encode an MPEG transport stream into IP packets, so that an IP packet carries several (for example, 7-8) packets of a transport stream. Another technology encrypts a television signal in the so-called The International Organization for Standardization (ISO) main media file format BMFF (short for Base Media File Format) described in the link: http://en.wikipedia.org/wiki/ISO_base_media_file_format, the contents of which are incorporated into this description by reference . In this case, the IP interface in the host device is usually regarded as a “tuner”, even if it may not have radio frequency circuits or functions. However, it acts like an RF tuner in the sense that it selects an IP stream from the many possible IP streams. It may also provide buffering of the received IP stream.

Упомянутое хост-устройство 10 имеет PCMCIA-разъем 20, включающий в себя электрические соединения и физическое пространство для сменного модуля, причем и то и другое соответствуют стандарту PCMCIA. В других вариантах осуществления изобретения вместо PCMCIA-интерфейса может использоваться универсальная последовательная шина данных (USB) или иной электрический интерфейс.Said host device 10 has a PCMCIA connector 20 including electrical connections and physical space for a plug-in module, both of which comply with the PCMCIA standard. In other embodiments, a universal serial data bus (USB) or other electrical interface may be used in place of the PCMCIA interface.

Модуль условного доступа CI Plus, называемый CICAM-модулем 30, является PCMCIA-модулем, который может вставляться в PCMCIA-разъем 20. Когда CICAM-модуль 30 полностью вставлен в разъем 20, устанавливаются электрические соединения между контактами на CICAM-модуля 30 и взаимодействующими контактами разъема 20.The CI Plus conditional access module, called the CICAM module 30, is a PCMCIA module that can be inserted into the PCMCIA connector 20. When the CICAM module 30 is fully inserted into the connector 20, electrical connections are established between the contacts on the CICAM module 30 and the interacting contacts connector 20.

Сам CICAM-модуль может быть беспроводным модулем или может иметь разъем 40, в который может вставляться т.н. смарт-карточка. Смарт-карточка является съемной и несет информацию, идентифицирующую текущего пользователя приемника контента в защищенным от неумелого обращения, безопасным и энергонезависимым способом. Когда смарт-карточка полностью вставлена в разъем 40, между смарт-карточкой 50 и CICAM-модулем 30 устанавливается электрическое соединение либо посредством взаимодействующих электрических контактов на смарт-карточке 50 и в разъеме 40, либо посредством известной технологии бесконтактного соединения, при которой данные передаются бесконтактно на очень маленькое расстояние (порядка 1-2 см).The CICAM module itself can be a wireless module or can have a connector 40, into which the so-called smart card. The smart card is removable and carries information identifying the current user of the content receiver in a safe and non-volatile way protected from ineptitude. When the smart card is fully inserted into the slot 40, an electrical connection is established between the smart card 50 and the CICAM module 30, either by interacting electrical contacts on the smart card 50 and in the connector 40, or by the known contactless technology in which data is transmitted without contact at a very small distance (about 1-2 cm).

На фиг. 2 схематично показано хост-устройство 10 в контексте системы условного доступа. Так называемая головная телевизионная станция 60 представляет собой источник телевизионного сигнала 15 с условным доступом. Упомянутая головная телевизионная станция может представлять собой, например, станцию восходящей связи спутникового вещания или центр распределения сигнала наземной или кабельной вещательной станции. CA-система зашифровывает контент на головной телевизионной станции с помощью CA-системы шифрования. Упомянутая головная телевизионная станция может также вводить в состав шифруемого потока данных другую относящуюся к условному доступу информацию, которая позволяет CICAM-модулю дешифровывать контент и управлять доступом и правами абонентов (пользователей).In FIG. 2 schematically shows a host device 10 in the context of a conditional access system. The so-called parent television station 60 is a source of television signal 15 with conditional access. Said parent television station may be, for example, an uplink satellite broadcasting station or a signal distribution center of a terrestrial or cable broadcasting station. The CA system encrypts the content on the parent television station using the CA encryption system. The mentioned head-end television station can also introduce other information related to conditional access into the encrypted data stream, which allows the CICAM-module to decrypt the content and control the access and rights of subscribers (users).

Головная телевизионная станция 60 посылает телевизионный сигнал 15 на хост-устройство 10, которое, в свою очередь, направляет сигнал в OCAM-модуль 30 для дешифрования зашифрованного управления доступом. Затем CICAM-модуль 30 повторно шифрует сигнал, используя локальное шифрование, и посылает перешифрованный сигнал обратно на хост-устройство 10 через PCMCIA-разъем. Хост-устройство дешифрирует сигнал, полученный от CICAM-модуля 30 для отображения на экране дисплея или для отправки на другое устройство, такое как устройство видеозаписи на жесткий диск.The host television station 60 sends the television signal 15 to the host device 10, which in turn routes the signal to the OCAM module 30 to decrypt the encrypted access control. Then, the CICAM module 30 re-encrypts the signal using local encryption, and sends the re-encrypted signal back to the host device 10 through the PCMCIA connector. The host device decrypts the signal received from the CICAM module 30 for display on the display screen or for sending to another device, such as a video recorder on the hard disk.

На фиг. 3 показана блок-схема алгоритма работы показанной на фиг. 2 системы. Подробное описание работы показанной на фиг. 2 системы приведено в CI Plus-спецификации 1.3 (2010-01), доступной (на момент подачи заявки) на сайте http://www.ci-.3.pdf. Данный документ включен в настоящее описание посредством ссылки. Настоящее описание фиг. 3 дает только общее представление о такой подробной работе с целью увязки соответствующего описания с соответствующим техническим контекстом.In FIG. 3 is a flowchart of the operation shown in FIG. 2 systems. A detailed description of the operation shown in FIG. 2 systems are given in CI Plus-specification 1.3 (2010-01), available (at the time of application) on the website http: //www.ci-.3.pdf. This document is incorporated into this description by reference. The present description of FIG. 3 gives only a general idea of such a detailed work in order to link the corresponding description with the corresponding technical context.

Как упомянуто ранее, на фиг. 3 показаны головная телевизионная станция 60 (получающая сигнал контента от контент-провайдера), хост-устройство 10, CICAM-модуль 30 и смарт-карточка 50. Упомянутый сигнал 15 показан приходящим от головной телевизионной станции 60 на хост-устройство 10. Безопасный интерфейс 80 между хост-устройством 10 и CICAM-модулем 30 называют общим интерфейсом (единым стыком условного доступа для приема телевизионных программ с несколькими декодерами в одном телевизионном приемнике).As mentioned previously, in FIG. 3 shows the host television station 60 (receiving the content signal from the content provider), the host device 10, the CICAM module 30, and the smart card 50. The signal 15 is shown coming from the host television station 60 to the host device 10. Secure interface 80 between the host device 10 and the CICAM module 30 is called a common interface (a single joint conditional access for receiving television programs with multiple decoders in one television receiver).

Условный доступConditional access

В известных CA-системах предусматривается технология, согласно которой пользователю может быть отказано в доступе или разрешен доступ к цифровому телевизионному потоку. Доступ предоставляется только тем абонентам или пользователям, которые имеют действующие счета платежей. На практике пользователь обеспечивается смарт-картой 50, идентифицирующей его защищенным (в идеале) от подделки способом, а система настроена таким образом, что только пользователи с действующей смарт-картой могут получать доступ к контенту с управляемым доступом.Known CA systems provide a technology whereby a user may be denied access or allowed access to a digital television stream. Access is granted only to those subscribers or users who have valid payment accounts. In practice, the user is provided with a smart card 50 that identifies it in a secure (ideally) way against forgery, and the system is configured so that only users with a valid smart card can access content with controlled access.

Управление доступом обеспечивается с использованием скремблирования и шифрования. Сигнал контента скремблируется восьмибитовым контрольным словом, которое часто меняется (до нескольких раз в минуту), чтобы исключить рассекречивание CA-системы из-за знания посторонними лицами контрольного слова. Упомянутые контрольные слова предаются на CICAM-модуль приемника для дескремблирования скремблированного контента в зашифрованном виде в качестве сообщения управления санкционированием (ECM, сокр. от Entitlement Control Message). CICAM-модуль дешифрирует контрольное слово, чтобы разрешить дескремблировать контент с управляемым доступом только тогда, когда модуль авторизован сделать это посредством приема сообщения о санкционировании приема (EMM, сокр. от англ. Entitlement Management Message). EMM-сообщения специфичны для каждого пользователя или группы пользователей; CICAM-модуль подтверждает права, которые предоставляет EMM-сообщение, путем сравнения идентификатора пользователя, содержащегося в EMM-сообщении, с пользовательской информацией, содержащейся в смарт-карте 50. Упомянутые EMM-сообщения могут посылаться менее часто по сравнению с ECM-сообщениями с интервалами между последовательными EMM-сообщениями действующих в ненастоящий момент времени коммерческих системах от 12 минут до шести недель.Access control is provided using scrambling and encryption. The content signal is scrambled with an eight-bit control word, which often changes (up to several times per minute) to prevent the CA system from being declassified due to the knowledge of the control word by outsiders. The said control words are transmitted to the receiver's CICAM module to descramble the scrambled content in encrypted form as an authorization control message (ECM, abbreviated from Entitlement Control Message). The CICAM module decrypts the control word to allow descrambled content with controlled access only when the module is authorized to do so by receiving an authorization message (EMM, abbreviated from the Entitlement Management Message). EMM messages are specific to each user or group of users; The CICAM module confirms the rights granted by the EMM message by comparing the user ID contained in the EMM message with the user information contained in the smart card 50. The mentioned EMM messages may be sent less frequently compared to ECM messages at intervals between consecutive EMM messages of commercial systems currently in effect from 12 minutes to six weeks.

ECM- и EMM-сообщения сами по себе являются широко известными типами сообщений в системах распространения телевизионных программ стандарта MPEG. Формат их нагрузок может быть специфичным для используемой CA-системы, причем различия между форматами носят скорее семантический, чем технический характер. В различных вариантах осуществления изобретения ECM- и EMM-данные передаются в потоке пакетированных данных в виде пакетов данных, определяющих информацию дешифрования, и используются в процессе декодирования для декодирования аудио-видео программ из потока пакетированных данных.ECM and EMM messages themselves are widely known types of messages in MPEG television distribution systems. The format of their loads may be specific to the CA system used, and the differences between the formats are more semantic than technical. In various embodiments, ECM and EMM data are transmitted in a packet data stream as data packets defining decryption information, and are used in the decoding process to decode audio-video programs from the packet data stream.

Головная телевизионная станцияHead television station

Головная телевизионная станция 60 содержит CA-дешифратор 61, генератор 62 ключей, блок 63 управления санкционированием и мультиплексор и модулятор 64.The head television station 60 comprises a CA decoder 61, a key generator 62, an authorization control unit 63, and a multiplexer and modulator 64.

Контент-провайдер 90 предоставляет контент (такой как телевизионные сигналы) головной телевизионной станции 60. Головная телевизионная станция 60 применяет для обеспечения условного доступа скремблирование и шифрование контента.The content provider 90 provides content (such as television signals) to the parent television station 60. The parent television station 60 uses content scrambling and encryption to provide conditional access.

Более точно, CA-дешифратор 61 шифрует или скремблирует контент, используя CA-ключ в качестве контрольного слова. Упомянутый CA-ключ формируется генератором 62 CA-ключей. Скремблированный контент, генерируемый CA-шифратором, поступает в мультиплексор и модулятор 64.More specifically, the CA decoder 61 encrypts or scrambles the content using the CA key as a control word. Said CA key is generated by the CA key generator 62. The scrambled content generated by the CA encoder enters the multiplexer and modulator 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-модулем.The CA key also arrives at the authorization control unit 63, which generates ECM messages based on the CA keys and EMM messages based on the subscriber data determining which of the subscribers has the right to descramble which of the content streams. These ECM and EMM messages are sent to the multiplexer and modulator 64. One or more scrambled content streams from the CA decoder 61, one or more unencrypted (open access or "open unencrypted broadcast") content streams and authorization control messages are combined together to form a transport stream, such as an MPEG2 transport stream. Well-known formats are used to transfer content data and ECM and EMM messages. ECM and EMM messages and data defining the type of scrambling used in each elementary stream (corresponding to separate scrambled content streams) are provided in a known format and are indicated using known technologies in the program composition table (PMT, abbreviated from Program Map Table) and / or in a conditional access table (CAT, abbreviated from Conditional Access Table), which has a specified program identifier (PID) of 0 × 001, so that the CAT table can be recognized by the CICAM module.

Мультиплексированный транспортный поток затем модулируется мультиплексором и модулятором 64 для передачи в виде сигнала 15 кабельного, спутникового или наземного телевещания.The multiplexed transport stream is then modulated by the multiplexer and modulator 64 for transmission in the form of a signal 15 cable, satellite or terrestrial broadcasting.

Хост-устройствоHost device

Хост-устройство 10 содержит тюнер 11, демодулятор и демультиплексор 12, демультиплексор ("demux") 13 и дешифратор 14 управления контентом (CC-дешифратор 14). Обратите внимание, что хост-устройство может иметь другие дополнительные функции, например, оно может обеспечивать прием двух и более программ спутникового вещания, кабельного вещания, наземного вещания и телевизионного вещания по каналам с IP-протоколами.The host device 10 includes a tuner 11, a demodulator and a demultiplexer 12, a demultiplexer ("demux") 13, and a content management decoder 14 (CC decoder 14). Please note that the host device may have other additional functions, for example, it can receive two or more programs of satellite broadcasting, cable broadcasting, terrestrial broadcasting and television broadcasting on channels with IP protocols.

В зависимости от типа вещательного сигнала 15 тюнер преобразует принятый сигнал обратно в основную полосу частот, так что демодулятор и демультиплексор 12 может выбирать и демультиплексировать один элементарный поток контента и связанные с ним CAT-данные из принятого сигнала. Поток контента и данные ECM- и EMM-сообщений проходят через общий интерфейс 80 в CICAM-модуль 30.Depending on the type of broadcast signal 15, the tuner converts the received signal back to the main frequency band, so that the demodulator and demultiplexer 12 can select and demultiplex one elementary content stream and associated CAT data from the received signal. The content stream and the ECM and EMM message data pass through a common interface 80 to the CICAM module 30.

В случае данных контента с управляемым доступом на этом этапе данные контента все еще остаются скремблированными при их прохождении через общий интерфейс 80 к CICAM-модулю 30. Вследствие этого эта часть передачи через общий интерфейс 80 защищена благодаря CA-шифрованию.In the case of content data with controlled access at this stage, the content data is still scrambled as it passes through the common interface 80 to the CICAM module 30. As a result, this part of the transmission through the common interface 80 is protected by CA encryption.

При условии, что ECM- и EMM-сообщения позволяют это, CICAM-модуль 30 дескремблирует данные контента и повторно шифрует их посредством шифрования CC-шифрования. Способ осуществления этого процесса описывается ниже. Зашифрованные посредством CC-шифрования данные возвращаются на хост-устройство 10, где они демультиплексируются демультиплексором 13 и дешифруются CC-дешифратором 14, так что они могут отображаться на экране или выдаваться на другое устройство 70 в виде нешифрованного контента.Provided that the ECM and EMM messages allow this, the CICAM module 30 descrambles the content data and re-encrypts it using CC encryption. A method for implementing this process is described below. The data encrypted by CC encryption is returned to the host device 10, where it is demultiplexed by the demultiplexer 13 and decrypted by the CC decoder 14, so that it can be displayed on the screen or displayed on the other device 70 as unencrypted content.

Таким образом, хост-устройство осуществляет прием аудио и видео контента и имеет декодер контента (к примеру, CAM-модуль), способный декодировать аудио-видео программы из потока пакетированных данных (такого, как транспортный поток) с помощью пакетов данных (таких, как EMM- и ECM-сообщения), несущих информацию дешифрования. Принимаемый транспортный поток может содержать одну или несколько программ, имеющих пакеты данных, идентифицируемые по соответствующим наборам идентификаторов пакетов (таких, как идентификаторы программ) и содержащих программы соответствия идентификационных данных (таблиц состава программ PMT, таблиц распределения программ PAT или таблиц условного доступа CAT) соответствующим наборам идентификаторов пакетов.Thus, the host device receives audio and video content and has a content decoder (for example, a CAM module) capable of decoding audio-video programs from a packet data stream (such as a transport stream) using data packets (such as EMM and ECM messages) containing decryption information. The received transport stream may contain one or more programs having data packets identifiable by the respective sets of packet identifiers (such as program identifiers) and containing identification data matching programs (PMT program composition tables, PAT distribution tables, or CAT conditional access tables) corresponding packet identifier sets.

CICAM-модульCicam module

CICAM-модуль 30 содержит дешифратор 31, генератор 32 CA-ключей, CC-дешифратор 33 и генератор 34 CC-ключей.The CICAM module 30 includes a decoder 31, a CA key generator 32, a CC decoder 33, and a CC key generator 34.

CA-дешифратор 31 и генератор 32 CA-ключей могут рассматриваться в качестве блока управления доступом для декодирования телевизионного контента с управляемым доступом или других данных. Генератор 34 CC-ключей и CC-дешифратор 33 CICAM-модуля 30, и демультиплексор 13 и CC-дешифратор 14 хост-устройства 10 взаимодействуют друг с другом с целью создания зашифрованной линии связи (общего интерфейса 80) для передачи декодированного телевизионного контента с управляемым доступом между CICAM-модулем и хост-устройством.The CA decoder 31 and the CA key generator 32 can be considered as an access control unit for decoding access controlled television content or other data. The CC key generator 34 and the CC decoder 33 of the CICAM module 30, and the demultiplexer 13 and the CC decoder 14 of the host device 10 communicate with each other to create an encrypted communication line (common interface 80) for transmitting decoded television content with controlled access between the CICAM module and the host device.

CA-дешифратор 31 использует ключи, генерируемые из принятых ECM- и EMM-сообщений генератором 32 CA-ключей, используя проверки идентичности пользователя со смарт-карты 50 для дескремблирования принятого контента с управляемым доступом. Эта часть работы CICAM-модуля использует известные CA-технологии поиска и применения CA-ключей.The CA decryptor 31 uses the keys generated from the received ECM and EMM messages by the CA key generator 32 using user identity checks from the smart card 50 to descramble the received access-controlled content. This part of the work of the CICAM module uses well-known CA technologies for searching and applying CA keys.

Данные нешифрованного контента поступают из CA-дешифратора 31 в CC-шифратор 33. Однако в виду того, что эта передача данных происходит полностью внутри CICAM-модуля, она может считаться безопасной и защищенной от копирования известной технологией, такой как размещение CA-дешифратора 31, CC-шифратора 33 и интерфейса нешифрованного контента в пределах одной интегральной схемы.The unencrypted content data is sent from the CA decoder 31 to the CC encoder 33. However, since this data transfer takes place entirely inside the CICAM module, it can be considered a known and copy-protected technology, such as the placement of the CA decoder 31, CC-encoder 33 and an unencrypted content interface within a single integrated circuit.

CC-шифратор 33 шифрует дескремблированный контент, используя CC-ключ, предоставленный генератором 34 CC-ключей. Этот ключ устанавливается посредством безопасного взаимодействия CICAM-модуля 30 и хост-устройства 10 и специфичен для такой пары CICAM-модуль-хост-устройство. Зашифрованный CC-шифратором контент проходит через общий интерфейс 80 в хост-устройство 10. Таким образом, эта часть общего интерфейса также защищена, т.к. данные контента зашифрованы посредством CC-шифрования при прохождении к хост-устройству.The CC encoder 33 encrypts the descrambled content using the CC key provided by the CC key generator 34. This key is established through the secure interaction of the CICAM module 30 and the host device 10 and is specific to such a CICAM module-host device pair. The content encrypted by the CC-encoder passes through the common interface 80 to the host device 10. Thus, this part of the common interface is also protected, as content data is encrypted using CC encryption when passing to the host device.

Обмен ключамиKey exchange

Как CICAM-модуль 30, так и хост-устройство 10 содержат логику, встроенные программы или программное обеспечение, обеспечивающие алгоритмы безопасного обмена ключами по методу Диффи-Хеллмана, хеширования и шифрования с использованием известных алгоритмов стандартов SHA-256 (сокр. от Secure Hash (Hashed) Algorithm - алгоритм аутентификации и проверки целостности информации), DES (сокр. от Data Encryption Standard - стандарт шифрования данных), AES (сокр. от Advanced Encryption Standard - усовершенствованный стандарт шифрования данных), соответствующих сертификатов, выданных уполномоченным на то органом, таким как Партнерство с ограниченной ответственностью CI Plus, и личных ключей с соответствующими открытыми ключами.Both the CICAM module 30 and the host device 10 contain logic, firmware, or software that provide algorithms for secure key exchange using the Diffie-Hellman method, hashing, and encryption using well-known algorithms of the SHA-256 standards (abbreviated from Secure Hash ( Hashed) Algorithm - authentication and information integrity verification algorithm), DES (short for Data Encryption Standard - data encryption standard), AES (short for Advanced Encryption Standard - advanced data encryption standard), relevant certificates issued by an authorized and the body such as the Limited Partnership CI Plus, and private keys with the corresponding public key.

Когда CICAM-модуль 30 впервые связывается с хост-устройством 10, CICAM-модуль 30 инициирует процесс взаимной аутентификации устройств. В ходе этого процесса каждое устройство верифицирует сертификат устройства-контрагента, и происходит обмен информацией для выработки общего ключа по методу Диффи-Хеллмана с целью безопасного распределения ключей между двумя устройствами. В частности, CICAM-модуль сначала запрашивает у хост-устройства данные его сертификата. CICAM-модуль верифицирует подпись на сертификате хост-устройства. Аналогичный процесс затем выполняется хост-устройством, запрашивающим и верифицирующим сертификат CICAM-модуля. Затем как CICAM-модуль, так и хост-устройство демонстрируют, что они обладают личными ключами, соответствующими открытому ключу в сертификате, путем подписания открытого ключа Диффи-Хеллмана и отсылки его на устройство-контент для валидации. Затем CICAM-модуль получает и верифицирует аутентификационный ключ АКН от хост-устройства. CICAM-модуль и хост-устройство начинают вычислять и обмениваться данными о ключах для шифрования и аутентификационными данными, пересылаемыми через общий интерфейс 80. Таким образом, ключ, пара ключей или другая информация о ключах, установленная CICAM-модулем и хост-устройством для связи через общий интерфейс 80, специфична для конкретной пары CICAM-модуль-хост-устройство.When the CICAM module 30 first communicates with the host device 10, the CICAM module 30 initiates the process of mutual authentication of the devices. During this process, each device verifies the counterparty device certificate, and information is exchanged to generate a shared key using the Diffie-Hellman method to securely distribute keys between the two devices. In particular, the CICAM module first asks the host device for its certificate information. The CICAM module verifies the signature on the host device certificate. A similar process is then performed by the host device, requesting and verifying the certificate of the CICAM module. Then, both the CICAM module and the host device demonstrate that they have private keys corresponding to the public key in the certificate by signing the Diffie-Hellman public key and sending it to the content device for validation. The CICAM module then receives and verifies the ACN authentication key from the host device. The CICAM module and the host device begin to calculate and exchange encryption key data and authentication data sent through the common interface 80. Thus, the key, key pair or other key information set by the CICAM module and the host device for communication through a common interface 80, specific to a specific pair of CICAM-module-host device.

После аутентификации CICAM-модуль также начинает вычислять CC-ключ. CICAM-модуль может также выдать команду хост-устройству на вычисление CC-ключа. Упомянутый CC-ключ затем используется, как это описано выше, для шифрования данных контента, проходящего через от CICAM-модуль 30 к хост-устройству 10 согласно алгоритму улучшенного стандарта шифрования AES. Таким образом, понятно, что ключи, используемые для безопасного общего интерфейса 80, специфичны для конкретной пары CICAM-модуль-хост-устройство.After authentication, the CICAM module also begins to calculate the CC key. The CICAM module may also issue a command to the host device to calculate the CC key. Said CC key is then used, as described above, to encrypt the content data passing through from the CICAM module 30 to the host device 10 according to the algorithm of the improved AES encryption standard. Thus, it is understood that the keys used for the secure common interface 80 are specific to a particular CICAM-module-host device pair.

Ниже рассматриваются типичные варианты осуществления изобретения, в которых используются несколько тюнеров, хотя многие из технологий также применимы для компоновок, в которых используется только один тюнер.Typical embodiments of the invention that use multiple tuners are discussed below, although many of the technologies are also applicable to arrangements that use only one tuner.

На фиг. 4 показана блок-схема хост-устройства 100, имеющего несколько тюнеров, обозначенных как тюнер А 102 и тюнер Б 104, каждый из которых принимает радиочастотный входной сигнал. Упомянутый радиочастотный входной сигнал может быть общим сигналом 106, обрабатываемым каждым из нескольких тюнеров, или может быть отличающимся сигналом для каждого из тюнеров (например, один тюнер может работать с сигналом наземной телевизионной станции, а другой тюнер может работать с сигналом спутниковой телевизионной станции). Упомянутая система не ограничивается двумя тюнерами; описываемые принципы применимы для систем с более чем двумя тюнерами, однако для ясности на фиг. 4 показаны только два тюнера.In FIG. 4 is a block diagram of a host device 100 having several tuners designated as tuner A 102 and tuner B 104, each of which receives an RF input signal. The radio frequency input signal may be a common signal 106 processed by each of several tuners, or it may be a different signal for each of the tuners (for example, one tuner can work with a signal from a terrestrial television station, and the other tuner can work with a signal from a satellite television station). The system mentioned is not limited to two tuners; the principles described are applicable to systems with more than two tuners, however, for clarity, in FIG. 4 shows only two tuners.

Выход каждого из тюнеров 102, 104 соединен с соответствующим демодулятором 108, 110. Выходной сигнал может представлять собой данные, такие как поток пакетированных данных или транспортный поток, передаваемый по одному соответствующему каналу передачи, выбранному (из множества настраиваемых каналов передачи) таким тюнером. Демодулятор работает, как это описано выше (в отношении показанного на фиг. 3 демодулятора 12), чтобы демодулировать пакетированный сигнал с выхода соответствующего тюнера. Пакетированные сигналы с нескольких демодуляторов 108, 110 мультиплексируются CI-контроллером 112 для обработки набором 114 из одного или нескольких CAM-модулей, имеющим вид последовательно соединенных двух или более декодеров контента. Ниже рассматриваются различные варианты выполнения набора CAM-модулей, но на базовом техническом уровне набор 114 CAM-модулей способен одновременно декодировать на выходе более одной программной услуги. Например, набор CAM-модулей 114 может предназначаться для одновременного декодирования такого же количества программных услуг, сколько тюнеров имеется в хост-устройстве 100.The output of each of the tuners 102, 104 is connected to a respective demodulator 108, 110. The output signal may be data, such as a packet data stream or a transport stream transmitted over one corresponding transmission channel selected (from a plurality of custom transmission channels) by such a tuner. The demodulator operates as described above (with respect to the demodulator 12 shown in FIG. 3) to demodulate the packetized signal from the output of the corresponding tuner. The packetized signals from several demodulators 108, 110 are multiplexed by the CI controller 112 for processing by a set 114 of one or more CAM modules having the form of two or more content decoders connected in series. Various options for implementing a set of CAM modules are discussed below, but at a basic technical level, a set of 114 CAM modules is capable of simultaneously decoding at the output of more than one software service. For example, a set of CAM modules 114 may be designed to simultaneously decode as many software services as there are tuners in host device 100.

Декодированные данные, принятые обратно из набора 114 CAM-модулей, демультиплексируются CI-контроллером 112 в соответствующие сигналы 116, 118, представляющие собой требуемые программные услуги. Сигналы 116, 118 поступают на демультиплексоры 120, 122 программ, имеющие аналогичные показанному на фиг. 3 демультиплексору 13 функции.The decoded data received back from the set 114 of CAM modules is demultiplexed by the CI controller 112 into corresponding signals 116, 118, which are the required software services. Signals 116, 118 are provided to program demultiplexers 120, 122, having the same as shown in FIG. 3 demultiplexer 13 functions.

Наконец, каждая программная услуга готовится для выдачи соответствующим декодером 124, 126, имеющим аналогичные показанному на фиг. 3 CC-дешифратору 14 функции. Декодеры 124, 126 генерируют соответствующие выходные аудио и видео сигналы 128,130.Finally, each software service is prepared for delivery by a respective decoder 124, 126, having the same as shown in FIG. 3 CC-decoder 14 functions. Decoders 124, 126 generate corresponding output audio and video signals 128,130.

Показанное на фиг. 4 хост-устройство работает под управлением центрального процессора 132, который в свою очередь может быть программируемым процессорным устройством, работающим согласно программному обеспечению или встроенной программе, хранящейся в памяти 134 (которая в свою очередь может быть энергонезависимой машиночитаемой памятью, такой как магнитный или оптический диск, или энергонезависимой полупроводниковой памятью).Shown in FIG. 4, the host device is controlled by a central processor 132, which in turn can be a programmable processor device operating according to software or firmware stored in memory 134 (which in turn can be non-volatile machine-readable memory, such as a magnetic or optical disk , or non-volatile semiconductor memory).

На фиг. 5 схематично показано устройство мультиплексирования-демультиплексирования, формирующее часть функциональности показанного на фиг. 4 CI-контроллера 112.In FIG. 5 schematically shows a multiplexing-demultiplexing device forming part of the functionality shown in FIG. 4 CI controllers 112.

В общих словах, в качестве части функциональности CI-контролера 112 по меньшей мере соответствующие части сигналов пакетированных данных с демодуляторов 108, 110 объединяются мультиплексором 140 в составной сигнал пакетированных данных, направляемый в набор 114 из одного или более CAM-модулей, а декодированный вариант составного сигнала пакетированных данных принимается демультиплексором 142, который демультиплексирует его в соответствующие сигналы 116, 118 для декодирования. Однако имеются различные способы достижения этого.In general, as part of the functionality of the CI controller 112, at least the corresponding parts of the packet data signals from the demodulators 108, 110 are combined by the multiplexer 140 into a composite packet data signal sent to a set 114 of one or more CAM modules, and a decoded composite version the packet data signal is received by demultiplexer 142, which demultiplexes it into corresponding signals 116, 118 for decoding. However, there are various ways to achieve this.

Выход сигналов пакетированных данных двух демодуляторов 108, 110 может представлять собой т.н. транспортные потоки и обычно включает в себя пакеты данных, относящиеся к нескольким аудио-видео программным услугам наряду с различными служебными и управляющими пакетами. Например, один сигнал пакетированных данных может включать в себя пакеты, относящиеся к 3-10 программным услугам, хотя выбор того, сколько программных услуг представлены отдельным транспортным потоком является ровно настолько коммерческим выбором, насколько и техническим; транспортный поток обеспечивает некоторую полосу частот для данных, но за вещателем остается коммерческий выбор, сколько программных услуг будут предоставляться в располагаемой полосе частот. Для кодирования большего количества программных услуг в заданной полосе частот качество кодирования (которое, исходя из опыта, влияет на качество воспроизводимых аудио и видео сигналов) каждой программной услуги должно быть снижено. Но в любом случае при нормальном использовании возможно, что каждый из сигналов пакетированных данных, генерируемых одним из демодуляторов 108, 110, будет содержать пакеты данных, отличающиеся от тех, что необходимы для декодирования конкретной желаемой программной услуги.The output of the packet data signals of two demodulators 108, 110 may be a so-called. transport streams and usually includes data packets related to several audio-video software services along with various service and control packages. For example, a single packet data signal may include packets related to 3-10 software services, although choosing how many software services are represented by a single transport stream is just as much a commercial choice as a technical one; the transport stream provides a certain frequency band for the data, but the broadcaster remains the commercial choice of how many software services will be provided in the available frequency band. To encode more software services in a given frequency band, the encoding quality (which, based on experience, affects the quality of reproduced audio and video signals) of each software service should be reduced. But in any case, under normal use, it is possible that each of the packet data signals generated by one of the demodulators 108, 110 will contain data packets that are different from those needed to decode the particular desired software service.

Тогда возникает техническая возможность для CI-контроллера 112 по меньшей мере в принципе просто объединять множество сигналов пакетированных данных с демодуляторов 108, 110 таким образом, чтобы вся информация, содержащаяся в каждом сигнале пакетированных данных, сохранялась. Это позволило бы получить составной сигнал пакетированных данных, имеющий ширину полосы данных порядка n, умноженного на ширину полосы отдельного транспортного потока, где n - это количество отдельных транспортных потоков, мультиплексированных вместе мультиплексором 140. Потенциальной проблемой при таком построении является то, что CAM-модули, входящие в набор 114, не смогут обработать такой высокоскоростной сигнал пакетированных данных. Одной из возможных причин является то, что CAM-модули могут быть предназначены для гармоничного использования только с одним сигналом пакетированных данных.Then it becomes technically possible for the CI controller 112 to at least in principle simply combine a plurality of packet data signals from demodulators 108, 110 so that all information contained in each packet data signal is stored. This would make it possible to obtain a composite packet data signal having a data bandwidth of the order of n times the bandwidth of a single transport stream, where n is the number of separate transport streams multiplexed together by multiplexer 140. A potential problem with this construction is that the CAM modules included in set 114, will not be able to process such a high-speed packet data signal. One possible reason is that CAM modules can be designed for harmonious use with only one packet data signal.

Поэтому в других системах соответствующее подмножество пакетов данных извлекается из каждого из выходных сигналов пакетированных данных демодуляторов 108, 110, и составной сигнал пакетированных данных, который должен поступать в набор 114 из одного или нескольких CAM-модулей, формируется из комбинации таких соответствующих подмножеств. Технология формирования такой комбинации, чтобы генерировать составной сигнал пакетированных данных, рассматривается ниже.Therefore, in other systems, the corresponding subset of the data packets is extracted from each of the output signals of the packet data of the demodulators 108, 110, and the composite signal of the packet data, which should be supplied to the set 114 of one or more CAM modules, is generated from a combination of such corresponding subsets. The technology for generating such a combination to generate a composite packet data signal is discussed below.

К настоящему рассмотрению относятся два типа CAM-модулей. На фиг. 6а схематично показана т.н. M-карточка (многопоточная карточка) 150, а на фиг. 6б - т.н. S-карточка (однопоточная карточка) 160.Two types of CAM modules belong to this consideration. In FIG. 6a schematically shows the so-called M-card (multithreaded card) 150, and in FIG. 6b - the so-called S-card (single-threaded card) 160.

Основное техническое отличие между двумя типами CAM-модулей следующее. M-карточка представляет собой единое устройство, способное одновременно дешифровать более одной программной услуги. Она представляет собой более современный вариант выполнения CAM-модуля, чем S-карточка, которая снята с производства, но все еще находится в эксплуатации и способна дешифровывать только одну программную услугу из транспортного потока. Следует заметить, что М-карточка может работать либо в многопоточном, либо в однопоточном (как S-карточка) режиме. S-карточка может работать только в однопоточном режиме.The main technical difference between the two types of CAM modules is as follows. An M-card is a single device capable of simultaneously decrypting more than one software service. It is a more modern version of the CAM module than the S-card, which has been discontinued, but is still in operation and is able to decrypt only one software service from the transport stream. It should be noted that the M-card can work either in multi-threaded or single-threaded (like S-card) mode. S-card can only work in single-threaded mode.

На фиг. 7 схематично показан пакет 170 транспортного потока. Упомянутые пакеты одержат 4-битовый заголовок 172 и 184-битовую часть для полезной нагрузки. Это стандартный формат для пакетов транспортного потока, и транспортный поток формируется из последовательности пакетов такого формата. Заголовок 172 включает в себя идентификатор пакета или PID (сокр. от Packet IDentifier). Каждая услуга аудио-видео программы имеет связанный набор из двух или более идентификаторов пакетов. Например, один идентификатор пакета может быть связан с видео пакетами услуги программы, другой идентификатор пакета PID может быть связан с аудио пакетами программной услуги, а еще один идентификатор пакета может быть связан с пакетами управления шифрованием услуги. Таким образом, в рамках одного транспортного потока могут использоваться различные идентификаторы пакетов. Распределение идентификаторов пакетов по различным типам пакетов осуществляется посредством таблицы распределения программ (PAT) и таблицы состава программ (PMT, сокр. от Programme Map Table). Сама таблица распределения программ имеет идентификатор пакета 0 и работает таким образом, чтобы указывать идентификаторы пакетов, несущих таблицу состава программ. Таблица состава программ указывает идентификаторы пакетов, несущих видео и аудио данные, а также идентификаторы пакетов, несущих данные для обнаружения и исправления ошибок в услуге. Для полноты изложения таблица условного доступа (CAT, сокр. от Conditional Access Table) имеет идентификатор пакета 1 и указывает, какие из пакетов несут EMM-сообщение для одной или нескольких систем управления доступом.In FIG. 7 schematically shows a transport stream packet 170. Mentioned packets contain a 4-bit header 172 and 184-bit part for the payload. This is the standard format for transport stream packets, and the transport stream is formed from a sequence of packets of this format. Header 172 includes a packet identifier or PID (short for Packet IDentifier). Each audio-video program service has an associated set of two or more packet identifiers. For example, one packet identifier may be associated with program service video packets, another PID packet identifier may be associated with audio program service packets, and another packet identifier may be associated with service encryption control packets. Thus, different packet identifiers can be used within a single transport stream. The distribution of package identifiers for various types of packages is carried out through the program distribution table (PAT) and the program composition table (PMT, abbreviated from Program Map Table). The program distribution table itself has a package identifier of 0 and works in such a way as to indicate the identifiers of the packages carrying the program composition table. The program composition table indicates the identifiers of packets carrying video and audio data, as well as identifiers of packets carrying data for detecting and correcting errors in the service. For completeness, the Conditional Access Table (CAT, abbreviated from Conditional Access Table) has a packet identifier of 1 and indicates which of the packets carry an EMM message for one or more access control systems.

Идентификаторы пакетов однозначно определяются в рамках одного транспортного потока в 13-битовом диапазоне (0-8191 в десятичном исчислении). Однако от одного транспортного потока к другому данные, представленные конкретным значением идентификатора пакета, могут быть неоднозначными. Т.е. значение идентификатора пакета может повторно использоваться в различных транспортных потоках. В случае, когда мультиплексором 140 мультиплексируются несколько транспортных потоков, необходим механизм устранения этой потенциальной неоднозначности идентификаторов пакетов.Packet identifiers are uniquely identified within a single transport stream in the 13-bit range (0-8191 in decimal). However, from one transport stream to another, the data represented by a particular packet identifier value may be ambiguous. Those. the packet identifier value can be reused in various transport streams. In the case where multiple transport streams are multiplexed by multiplexer 140, a mechanism is needed to eliminate this potential ambiguity of packet identifiers.

Одна из технологий обеспечения этого описана в публикации US В 7394834, содержание которой включено в настоящее описание посредством ссылки. Согласно данной публикации пакеты, представляющие желаемые услуги, извлекаются из нескольких транспортных потоков, и идентификаторы пакетов, извлеченных по меньшей мере из одного из транспортных потоков, преобразуются в новые значения идентификаторов пакетов, которые не используются для любых данных, извлеченных из других транспортных потоков. Процесс преобразования включает в себя замену значения идентификатора пакета другим значением идентификатора пакета с записью или занесением в таблицу соответствия идентификаторов пакетов, так что желаемая услуга может быть идентифицирована по новым (преобразованным) значениям идентификаторов пакетов. Такая схема может использоваться для генерации псевдотранспортного потока, который является, так сказать, искусственно созданным транспортным потоком, существующим только в пределах хост-устройства, но который создает впечатление (с точки зрения S-карточки), что он удовлетворяет всем требованиям к формату транслируемого транспортного потока. Т.е. этот псевдотранспортный поток может декодироваться S-карточкой, как будто он транслирован в этом виде, хотя фактически он выработан в пределах хост-устройства путем объединения частей нескольких транслируемых транспортных потоков.One technology to ensure this is described in US publication 7394834, the contents of which are incorporated into this description by reference. According to this publication, packets representing the desired services are retrieved from several transport streams, and packet identifiers retrieved from at least one of the transport streams are converted to new packet identifier values that are not used for any data retrieved from other transport streams. The conversion process includes replacing the value of the packet identifier with another value of the packet identifier with recording or entering the packet identifiers in the correspondence table, so that the desired service can be identified by the new (converted) values of the packet identifiers. Such a scheme can be used to generate a pseudo-transport stream, which is, so to speak, an artificially created transport stream that exists only within the host device, but which gives the impression (from the point of view of the S-card) that it meets all the requirements for the format of the broadcast transport flow. Those. this pseudo-transport stream can be decoded by an S-card, as if it were broadcast in this form, although in fact it was developed within the host device by combining parts of several broadcast transport streams.

Другая технология заключается в использовании предварительного заголовка, который вставляется в начало каждого пакета транспортного потока и содержит информацию о происхождении этого пакета. Такая технология используется при отправке на М-карточку, работающую в многопоточном режиме. Пример пакета транспортного потока с предварительным заголовком 176 схематично показан на фиг. 8.Another technology is to use a preliminary header, which is inserted at the beginning of each packet of the transport stream and contains information about the origin of this packet. This technology is used when sending to an M-card operating in multi-threaded mode. An example transport stream packet with a preliminary header 176 is shown schematically in FIG. 8.

Предварительный заголовок 176 содержит 12 бит дополнительных данных и предварительно добавляется к каждому пакету, отправляемому в M-карточку. Т.е. он добавляется в начало каждого пакета. 12 бит дополнительных данных содержат различные поля, включая идентификатор локального транспортного потока, идентифицирующий транспортный поток, из которого были извлечены пакеты, локальную временную метку, данные для обнаружения ошибок в предварительном заголовке и резервные поля данных для последующего или специального использования. Важным для целей настоящего изобретения является то, что идентификатор локального транспортного потока означает, что даже в ситуации, когда пакеты в составном потоке пакетированных данных имеют конфликтующие значения идентификаторов пакетов, они, тем не менее, могут быть выделены по их локальному значению идентификатора транспортного потока, содержащемуся в предварительном заголовке.Preliminary header 176 contains 12 bits of additional data and is pre-added to each packet sent to the M-card. Those. it is added at the beginning of each package. The 12 bits of additional data contain various fields, including the identifier of the local transport stream, identifying the transport stream from which the packets were extracted, the local time stamp, data for detecting errors in the preliminary header, and backup data fields for subsequent or special use. It is important for the purposes of the present invention that the local transport stream identifier means that even in a situation where packets in the composite packet data stream have conflicting packet identifier values, they can nevertheless be distinguished by their local transport stream identifier value, contained in the preliminary title.

Следует заметить, что M-карточка требует наличия дополнительного предварительного заголовка. S-карточка не может работать при наличии дополнительного предварительного заголовка.It should be noted that the M-card requires an additional preliminary header. S-card cannot work if there is an additional preliminary header.

Так, в другой схеме мультиплексор 140 объединяет пакеты, извлеченные из нескольких транспортных потоков, в составной поток пакетированных данных для использования M-карточкой, предварительно добавляя к каждому такому пакету по меньшей мере элемент тождественности тому транспортному потоку, из которого он извлечен.So, in another scheme, the multiplexer 140 combines the packets extracted from several transport streams into a composite packet data stream for use by an M-card, adding at least to each such packet at least an identity element to the transport stream from which it is extracted.

На фиг. 9 показана более подробная блок-схема мультиплексора. Показанная на фиг. 9 блок-схема мультиплексора относится к блок-схеме, в которой генерируется псевдотранспортный поток для декодирования S-карточками и M-карточками при работе в однопоточном режиме.In FIG. 9 shows a more detailed block diagram of a multiplexer. Shown in FIG. 9, a multiplexer block diagram relates to a block diagram in which a pseudo-transport stream is generated for decoding with S-cards and M-cards when operating in single-threaded mode.

Каждый входной транспортный поток проходит к соответствующему блоку 180, 182 выбора идентификаторов пакетов, который ссылается на таблицу 184, 186 распределения программ, связанную с этим транспортным потоком, и на данные 188, 190, определяющие требуемую программную услугу, чтобы установить идентификаторы пакетов, которые требуются для декодирования (требуемой программной услуги) как части составного сигнала пакетированных данных.Each input transport stream passes to a corresponding packet identifier selection block 180, 182, which refers to a program distribution table 184, 186 associated with this transport stream and data 188, 190 defining the required software service to establish the packet identifiers that are required for decoding (the required software service) as part of a composite packet data signal.

В вариантах осуществления изобретения блоки 180, 182 выбора задействуются для выполнения одной или нескольких нижеперечисленных операций:In embodiments of the invention, selection blocks 180, 182 are activated to perform one or more of the following operations:

выбора пакетов данных из потока пакетированных данных для требуемой программы согласно набору идентификаторов пакетов, определяемых идентификационными данными для данного потока в отношении требуемой программы;selecting data packets from the packet data stream for the desired program according to the set of packet identifiers defined by the identification data for the stream in relation to the desired program;

выбора дополнительных пакетов данных из потока пакетированных данных, из которого выбрана программа, имеющих идентификаторы пакетов, не включенные в идентификационные данные для данного потока пакетированных данных; иselecting additional data packets from the packet data stream from which the program is selected having packet identifiers not included in the identification data for this packet data stream; and

выбора из каждого потока пакетированных данных, из которого выбрана программа, дополнительных пакетов данных, содержащих данные задающего тактового генератора программы, относящиеся к выбранной программе.selecting from each stream of packet data from which the program is selected, additional data packets containing data of the master clock of the program related to the selected program.

Упомянутые особенности работы блоков выбора более подробно описываются ниже.The mentioned features of the operation of the selection blocks are described in more detail below.

Данные 188, 190, определяющие требуемую программную услугу, могут быть предоставлены центральным процессором 132, к примеру, в ответ на запрос пользователя непоказанного на чертеже удаленного пульта ДУ или, возможно, в ответ на машинный запрос, например, от устройства видеозаписи, работающего по командам таймера и требующего приема некоторой программной услуги в течение заданного временного интервала для осуществления ее записи. Блок 192, 194 для каждого транспортного потока бракует "нежелательные" пакеты, т.е. пакеты, не имеющие идентификаторов пакетов, определенных при выборе, осуществленном блоками 180, 182 выбора. Блок 196, 198 преобразования идентификаторов пакетов используется для преобразования идентификаторов пакетов одного из транспортных потоков в новые значения идентификаторов пакетов, чтобы исключить любое возможное совпадение со значениями идентификаторов пакетов других транспортных потоков. Следует заметить, что преобразование не происходит в случаях, когда нет несовпадения (в многопакетном режиме) идентификаторов пакетов между различными транспортными потоками, хотя в некоторых вариантах осуществления изобретения все идентификаторы по меньшей мере выбранных пакетов вторичных транспортных потоков могут быть преобразованы в соответствующие отличающиеся идентификаторы пакетов. Следует также заметить, что нет необходимости выполнять операцию преобразования для обоих транспортных потоков (или, если имеется более двух транспортных потоков, то каждого транспортного потока), и в самом деле, в вариантах осуществления изобретения один из транспортных потоков обрабатывается в качестве т.н. "первичного" транспортного потока, для которого не осуществляется преобразование идентификаторов пакетов. Для гибкости, однако, блок 196, 198 преобразования предоставляется для каждого транспортного потока для возможного использования, если потребуется. Также следует заметить, что в преобразовании нуждаются только те идентификаторы пакетов, которые вступают в конфликт (тот же номер идентификатора пакета, что и у пакета из другого транспортного потока), хотя и другие идентификаторы пакетов также могут быть преобразованы. В некоторых вариантах осуществления изобретения идентификаторы пакетов из одного или нескольких "вторичных" транспортных потоков являются кандидатами на преобразование, идентификаторы же пакетов из первичного транспортного потока не являются кандидатами на преобразование.Data 188, 190 defining the required software service can be provided by the central processor 132, for example, in response to a user request of a remote control not shown in the drawing or, possibly, in response to a machine request, for example, from a command-line video recorder a timer and requiring the receipt of some software service for a given time interval for recording it. Block 192, 194 for each transport stream rejects "unwanted" packets, i.e. packets that do not have packet identifiers defined in a selection made by selection blocks 180, 182. The packet identifier conversion unit 196, 198 is used to convert the packet identifiers of one of the transport streams to the new packet identifier values in order to exclude any possible coincidence with the packet identifier values of the other transport streams. It should be noted that the conversion does not occur in cases where there is no mismatch (in multi-packet mode) of the packet identifiers between different transport streams, although in some embodiments of the invention all identifiers of at least selected packets of the secondary transport streams can be converted to corresponding different packet identifiers. It should also be noted that there is no need to perform a conversion operation for both transport streams (or, if there are more than two transport streams, then each transport stream), and in fact, in embodiments of the invention, one of the transport streams is processed as the so-called A “primary” transport stream for which packet identifier conversion is not performed. For flexibility, however, a conversion unit 196, 198 is provided for each transport stream for possible use if required. It should also be noted that only those packet identifiers that conflict (the same packet identifier number as the packet from another transport stream) need conversion, although other packet identifiers can also be converted. In some embodiments, packet identifiers from one or more “secondary” transport streams are candidates for conversion, while packet identifiers from a primary transport stream are not candidates for conversion.

В других вариантах осуществления изобретения блоки 180 выбора могут учитывать при осуществлении выбора т.н. пакеты задающего тактового генератора программы, так что такие пакеты включаются с составной поток пакетированных данных.In other embodiments of the invention, the selection blocks 180 may be considered when making a selection of the so-called. packets of the master clock of the program, so that such packets are included with the composite stream of packetized data.

Для справки, для декодирования аудио и видео данных в транспортном потоке в качестве тактовой информации используются данные задающего тактового генератора программы. Данные задающего тактового генератора программы относительно невелики и фактически включены в состав пакетов транспортного потока в т.н. поле адаптации. Упомянутое поле адаптации находится в пределах 184-битовой полезной нагрузки 174 (см. фиг. 7), но с точки зрения функции выступает скорее в виде расширения заголовка (внутрь поля полезной нагрузки 174). Для сигнализации о наличии поля адаптации заголовок несет флажковый указатель (такой, как однобитовый флажок). Кроме того, имеется еще одно сигнальное средство, связанное с полем адаптации, чтобы указывать в свою очередь, что поле адаптации содержит данные задающего тактового генератора программы. Так, блоки 180 выбора могут выявлять пакет, несущий данные задающего тактового генератора программы, посредством первичной проверки флажка "наличия поля адаптации" в заголовке пакета и последующей проверки связанного с полем адаптации флажка, указывающего, что "поле адаптации содержит данные задающего тактового генератора программы".For reference, for decoding audio and video data in a transport stream, the data of the master clock of the program are used as clock information. The data of the master clock of the program are relatively small and are actually included in the packet of the transport stream in the so-called adaptation field. Said adaptation field is within the 184-bit payload 174 (see FIG. 7), but from the point of view of the function, it appears more like an extension of the header (inside the payload field 174). To signal the presence of an adaptation field, the header carries a flag pointer (such as a one-bit flag). In addition, there is another signaling means associated with the adaptation field, in turn, to indicate that the adaptation field contains the data of the master clock of the program. Thus, the selection blocks 180 can identify a packet carrying data of the program clock, by first checking the “presence of adaptation field” flag in the packet header and then checking the flag associated with the adaptation field indicating that “the adaptation field contains data of the program clock” .

Упомянутая тактовая информация, указываемая данными задающего тактового генератора программы, как правило, является общей для всех программных услуг в транспортном потоке. Она используется декодерами, так что декодирование контента осуществляется согласно пакетам с данными задающего тактового генератора программы и идентификаторам пакетов, относящимся к требуемой услуге. Таким образом, как правило, необходимо обеспечить один набор данных задающего тактового генератора программы в пределах транспортного потока. В известном уровне техники общим правилом является то, что данные задающего тактового генератора программы для транспортного потока содержатся в полях адаптации пакетов, относящихся к одной произвольно выбранной программной услуге. Идентификаторы пакетов, несущих данные задающего тактового генератора программы для транспортного потока, могут указываться в поле PCR_PID таблицы состава программы.The mentioned clock information indicated by the data of the master clock of the program, as a rule, is common to all program services in the transport stream. It is used by decoders, so that decoding of the content is carried out according to packets with data of the master clock of the program and packet identifiers related to the required service. Thus, as a rule, it is necessary to provide one data set of the master clock of the program within the transport stream. In the prior art, the general rule is that the data of the master clock of the program for the transport stream is contained in the adaptation fields of packets related to one randomly selected software service. The identifiers of packets carrying the data of the master program clock for the transport stream can be indicated in the PCR_PID field of the program composition table.

В схемах, где весь транспортный поток поступает в CAM-модуль для дешифрирования (как это имеет место в схеме "один тюнер - один CAM-модуль" или в схеме с выделением для каждого тюнера или источника транспортного потока своего CAM-модуля) тот факт, что данные задающего тактового генератора программы могут быть в пакетах, относящихся к программной услуге, иной, чем наблюдаемая в настоящий момент или декодируемая в настоящий момент программная услуга, не является проблемой, т.к. данные задающего тактового генератора программы остаются доступными для CAM-модуля и затем для декодера.In schemes where the entire transport stream enters the CAM module for decryption (as is the case in the "one tuner - one CAM module" scheme or in the scheme with the allocation of its own CAM module for each tuner or source of the transport stream), that the data of the master clock of the program can be in packages related to the software service, other than the currently observed or currently decoded software service, is not a problem, because The program clock data remains available for the CAM module and then for the decoder.

Но в рассматриваемых вариантах осуществления изобретения, в которых составной поток пакетированных данных формируется в виде комбинации подмножеств нескольких входных транспортных потоков, причем каждое подмножество относится к требуемой программной услуге, могут возникать ситуации, при которых данные задающего тактового генератора программы для программной услуги отсутствуют, т.к. они содержатся в пакетах, относящихся к иной программной услуге, чем выбранная из данного транспортного потока программная услуга.But in the considered embodiments of the invention, in which a composite packet data stream is formed as a combination of subsets of several input transport streams, each subset related to the required software service, situations may arise in which there is no data of the program clock for the program service, t. to. they are contained in packages related to a different software service than a software service selected from a given transport stream.

Для устранения таких ситуаций блоки 180 выбора могут поверять поле адаптации каждого пакета и (если поле адаптации имеется) флажок наличия данных задающего тактового генератора программы, так что если пакет является пакетом, содержащим данные задающего тактового генератора программы, то упомянутый пакет выбирается независимо от того, относится он или не относится к выбранной программной услуге. Упомянутый пакет, содержащий данные задающего тактового генератора программы, включается в состав отобранных пакетов и таким образом включается в составной поток пакетированных данных.To eliminate such situations, the selection blocks 180 can check the adaptation field of each packet and (if there is an adaptation field) a data availability flag for the program clock, so that if the packet is a packet containing data of the program clock, then the packet is selected regardless Whether or not it relates to the selected software service. Said packet containing the data of the master clock of the program is included in the selected packets and thus is included in the composite stream of packet data.

Отобранные и при необходимости преобразованные пакеты затем объединяются в единый составной поток данных в блоке 200 объединения. Например, это может быть процесс каскадного соединения в цепь, что, проще говоря, означает соединение пакетов бок о бок (один за другим) в составной поток данных. Это не обязательно подразумевает, что пакеты располагаются непосредственно друг за другом (между ними могут иметься промежутки) или что они располагаются в каком-то определенном порядке.The selected and, if necessary, converted packets are then combined into a single composite data stream in combining unit 200. For example, it can be a cascade connection process in a circuit, which, simply put, means connecting packets side by side (one after another) into a composite data stream. This does not necessarily imply that the packages are located directly behind each other (there may be gaps between them) or that they are located in some specific order.

Вследствие этого в потоке пакетированных данных, собранном с использованием такой технологии, могут содержаться данные нескольких источников данных задающего тактового генератора программы. В общем, здесь могут быть пакеты, содержащие данные задающего тактового генератора программы, происходящие из каждого транспортного потока, из которого выбрана программная услуга для включения в составной поток пакетированных данных. Однако в отношении каждой программной услуги декодер способен получить доступ к правильным данным задающего тактового генератора программы. Если данные задающего тактового генератора программы включены в пакеты программной услуги, которая должна декодироваться, то декодер будет использовать эти данные задающего тактового генератора программы. Если данные задающего тактового генератора программы в исходном транспортном потоке были включены в пакеты, относящиеся к другой программной услуге, то эти пакеты будут включены с составной поток пакетированных данных посредством описанного выше механизма. В любом случае, даже если используется преобразование идентификаторов пакетов, данные PCR_PID (преобразованные, если это необходимо) сохраняются для каждой программной услуги в составном потоке пакетированных данных. В самом деле, набор данных из таблицы распределения программ и/или из таблицы состава программ переносится в составной поток пакетированных данных в качестве идентификационных данных составного потока (см. пример, приведенный на фиг. 14) в отношении каждой выбранной программной услуги, например, чтобы указать в составном потоке идентификаторы пакетов, содержащие аудио, видео данные и данные условного доступа, а также для указания PCR_PID.As a result, the packet data stream collected using this technology may contain data from several data sources of the program clock. In general, there may be packets containing data of the master program clock originating from each transport stream from which the program service is selected for inclusion in the composite stream of packet data. However, for each software service, the decoder is able to access the correct data of the master clock of the program. If the data of the program clock is included in the packages of the program service to be decoded, then the decoder will use this data of the program clock. If the data of the master clock of the program in the original transport stream were included in packets related to another software service, then these packets will be included with the composite stream of packetized data through the above mechanism. In any case, even if packet identifier conversion is used, the PCR_PID data (converted, if necessary) is stored for each software service in a composite packet data stream. In fact, the data set from the program distribution table and / or from the program composition table is transferred to the composite packet data stream as the identification data of the composite stream (see the example shown in Fig. 14) for each selected program service, for example, so that specify in the composite stream packet identifiers containing audio, video data and conditional access data, as well as to indicate PCR_PID.

Следовательно, если этап приема заключается в приеме двух или более потоков пакетированных данных; рассмотренные выше этапы выбора применяются к каждому потоку пакетированных данных, из которого выбирается программа; составной поток пакетированных данных содержит программные данные из двух или более потоков пакетированных данных; и генерация составного потока пакетированных данных заключается в соединении выбранных пакетов с целью формирования составного потока пакетированных данных. На фиг. 10 схематично показаны пакеты 205 транспортного потока двух программных услуг, услуги 1 и услуги 2, объединенные в единый составной поток пакетированных данных.Therefore, if the receiving step is to receive two or more packet data streams; the selection steps discussed above apply to each packet data stream from which the program is selected; the composite packetized data stream contains program data from two or more packetized data streams; and generating a composite packet data stream is to connect the selected packets to form a composite packet data stream. In FIG. 10 schematically shows packets 205 of a transport stream of two software services, services 1 and services 2, combined into a single composite packet data stream.

На фиг. 11 схематично показана последовательность CAM-модулей в качестве примера рассмотренного выше набора 114 CAM-модулей. CAM-модули в наборе расположены последовательно в виде т.н. цепочки, так что составной поток пакетированных данных с выхода CI-контроллера 112 поступает на вход 210 первого CAM-модуля 212 последовательности и направляется с первого CAM-модуля 212 на второй CAM-модуль 214 последовательности, откуда он поступает на третий CAM-модуль 216, прежде чем вернуться обратно на CI-контроллер 112, имея требуемые услуги, дешифрованные на основе идентификаторов пакетов, прошедших к CI-контроллеру 112 вместе или в качестве части идентификационных данных составного потока. CAM-модули в цепочке могут быть приспособлены для дешифрования отличающихся услуг условного доступа, так что какая бы услуга (в рамках услуг и CA-систем, обрабатываемых набором 114) ни была выбрана для дешифрования пользователем или по команде устройства управления, один из CAM-модулей упомянутого набора 114 способен дешифровать ее. Технология, с помощью которой хост-устройство может выбирать подходящий CAM-модуль для дешифрования конкретной программной услуги, описывается ниже со ссылкой на фиг. 15.In FIG. 11 schematically shows a sequence of CAM modules as an example of the above set of 114 CAM modules. CAM-modules in the set are arranged sequentially in the form of so-called chain, so that the composite stream of packetized data from the output of the CI controller 112 is fed to the input 210 of the first CAM module 212 of the sequence and sent from the first CAM module 212 to the second CAM module 214 of the sequence, from where it goes to the third CAM module 216, before returning back to the CI controller 112, having the required services, decrypted based on the identifiers of the packets passed to the CI controller 112 together or as part of the identity of the composite stream. The CAM modules in the chain can be adapted to decrypt different conditional access services, so that whatever service (within the services and CA systems processed by set 114) is selected for decryption by the user or by command of the control device, one of the CAM modules said set 114 is capable of decrypting it. The technology by which a host device can select a suitable CAM module to decrypt a particular software service is described below with reference to FIG. fifteen.

Соответственно декодер контента, выполненный в виде набора CAM-модулей или M-карточки условного доступа, способен одновременно декодировать две или более аудио-видео программ из одного потока пакетированных данных, и в таких случаях этап генерации составного потока пакетированных данных включает в себя формирование составного потока пакетированных данных из пакетов, представляющих две или более программы.Accordingly, the content decoder, made in the form of a set of CAM-modules or conditional access M-cards, is capable of simultaneously decoding two or more audio-video programs from one packet data stream, and in such cases, the step of generating a composite packet data stream includes forming a composite stream packetized data from packets representing two or more programs.

Следует заметить, что у каждого CAM-модуля имеется два основных интерфейса. Аудио, видео и некоторые управляющие данные могут поступать в CAM-модуль в качестве части составного потока пакетированных данных, подаваемого на вход 210, и проходить от одного CAM-модуля к другому. Дополнительно между CI-контроллером и CAM-модулем имеется интерфейс управления с существенно меньшей скоростью передачи данных. Сигналы управления, которые рассматриваются ниже, могут мультиплексироваться в составной поток пакетированных данных или передаваться через интерфейс управления.It should be noted that each CAM module has two main interfaces. Audio, video, and some control data may enter the CAM module as part of the composite packet data stream supplied to input 210 and pass from one CAM module to another. In addition, there is a control interface between the CI controller and the CAM module with a significantly lower data rate. The control signals, which are discussed below, can be multiplexed into a composite packet data stream or transmitted via a control interface.

В общем, только CAM-модуль дешифрует конкретную программную услугу, и CAM-модуль не может дешифровать программную услугу иначе, как после получения команды от хост-устройства на выполнение этого действия.In general, only the CAM module decrypts a specific software service, and the CAM module cannot decrypt the software service other than after receiving a command from the host device to perform this action.

В некоторых вариантах осуществления изобретения схема, показанная на фиг. 11, может работать, если все CAM-модули в цепочке являются S-карточками (или M-карточками, работающими в однопоточном режиме), или если все CAM-модули в цепочке являются М-карточками, т.к. в любом случае формат данных составного потока пакетированных данных является одинаковым по всей цепочке CAM-модулей. Для ситуаций, когда это не имеет места, на фиг. 12 схематично показана последовательность CAM-модулей 220, 222, 224 с интерфейсами 226, 228 между ними.In some embodiments, the circuit shown in FIG. 11, can work if all CAM-modules in the chain are S-cards (or M-cards operating in single-threaded mode), or if all CAM-modules in the chain are M-cards, because In any case, the data format of the composite packet data stream is the same throughout the chain of CAM modules. For situations where this is not the case, in FIG. 12 schematically shows a sequence of CAM modules 220, 222, 224 with interfaces 226, 228 between them.

Предположим, что в одном из примеров осуществления изобретения CAM-модуль 220 является M-карточкой, CAM-модуль 222 является S-карточкой, а CAM-модуль 224 является М-карточкой. Сигнал 230 составного потока пакетированных данных, принятый от CI-контроллера 112, имеет формат M-карточки, т.е. включает в себя рассмотренный ранее дополнительный предварительный заголовок. Этот сигнал обрабатывается обычным образом M-карточкой 220, но затем, вместо того, чтобы поступать непосредственно на следующую карточку 222 цепочки, поступает на блок 226 интерфейса, где дополнительная информация заголовка, относящаяся к предварительному заголовку, исключается из пакета, и, при необходимости, осуществляется преобразование значения идентификатора пакета, прежде чем составной поток пакетированных данных поступит на S-карточку 222. Блок 226 интерфейса сохраняет исключенные данные и любые данные преобразования идентификатора пакета, относящиеся к исходному составному потоку пакетированных данных и передает эту сохраненную информацию в блок 228 интерфейса, который принимает выходной поток данных с S-карточки 222. Блок 228 интерфейса повторно вставляет предварительный заголовок в каждый пакет и осуществляет обратное преобразование идентификаторов пакетов, чтобы вернуть значениям идентификаторов пакетов их исходный вид. Выходной поток данных из блока 228 интерфейса затем поступает на обработку в M-карточку 224.Assume that in one embodiment, the CAM module 220 is an M card, the CAM module 222 is an S card, and the CAM module 224 is an M card. The signal 230 of the composite packet data stream received from the CI controller 112 has an M-card format, i.e. includes the additional preliminary heading discussed earlier. This signal is processed in the usual way by the M-card 220, but then, instead of directly arriving at the next card 222 of the chain, it goes to the interface unit 226, where additional header information related to the preliminary header is excluded from the packet, and, if necessary, the packet identifier value is converted before the composite packet data stream arrives on the S-card 222. The interface unit 226 stores the excluded data and any data of the identifier conversion pa eta related to the original composite packet data stream and transmits this stored information to the interface unit 228, which receives the output data stream from the S-card 222. The interface unit 228 reinserts the preliminary header into each package and performs the inverse transformation of the packet identifiers to return the values packet identifiers their original form. The output data stream from the block 228 of the interface then goes to the processing of the M-card 224.

На фиг. 13 схематично показана блок-схема алгоритма обработки т.н. "призрачных" идентификаторов пакетов.In FIG. 13 schematically shows a block diagram of a so-called processing algorithm ghost packet identifiers.

Призрачные идентификаторы пакетов относятся к т.н. призрачным пакетам в транспортном потоке стандарта MPEG. Иногда призрачные пакеты могут использоваться участниками системы телевещания, такими как производители хост-устройств, изготовители телевизионных приемников, вещатели, вендоры CA-систем и т.д. для обеспечения конфиденциальности управляющей информацией (такой, например, как "личные" данные) в различных частях хост-устройства и, в частности, в используемом в хост-устройстве CAM-модуле или CAM-модулях.Phantom packet identifiers refer to the so-called ghost packets in the MPEG transport stream. Sometimes ghost packets can be used by participants in a broadcast system, such as manufacturers of host devices, manufacturers of television receivers, broadcasters, vendors of CA systems, etc. to ensure confidentiality of control information (such as, for example, "personal" data) in various parts of the host device and, in particular, in the CAM module or CAM modules used in the host device.

В общем, считается желательным держать такие пакеты в секрете или по меньшей мере не афишировать их наличие, т.к. они могут содержать информацию, которая может быть полезна для неавторизованного пользователя или хакера с целью осуществления несанкционированного дешифрования одной или нескольких услуг.In general, it is considered desirable to keep such packages secret or at least not to advertise their availability, as they may contain information that may be useful to an unauthorized user or hacker in order to carry out unauthorized decryption of one or more services.

В простом примере призрачные пакеты могут включать в себя обновление встроенного программного обеспечения для CAM-модуля, которое, в свою очередь, содержит данные, которые вендоры CA-систем или производители CAM-модулей предпочитают скрывать от потенциальных хакеров. Для достижения необходимой степени конфиденциальности пакеты, содержащие такие данные, могут предаваться с использованием идентификаторов пакетов, которые извлекаются CAM-модулем согласно (например) заданному алгоритму, основанному на текущем времени или других условиях, но которые не указываются в качестве части каких-либо таблиц распределения, формирующих часть такого транспортного потока. Таким образом, призрачные пакеты потенциально важны для работы CAM-модулей, но так как они не включаются ни в какие таблицы распределения, они могут, по сути, отбраковываться показанными на фиг. 9 блоками 192, 194 отбраковки, если только не предпринимаются целенаправленные действия, чтобы избежать этого, и могут отсутствовать в составном потоке пакетированных данных, который реально поступает в CAM-модуль.In a simple example, ghost packets may include a firmware update for the CAM module, which in turn contains data that CA vendors or CAM module manufacturers prefer to hide from potential hackers. To achieve the necessary degree of confidentiality, packets containing such data can be transmitted using packet identifiers that are retrieved by the CAM module according to (for example) a specified algorithm based on current time or other conditions, but which are not indicated as part of any distribution tables forming part of such a traffic stream. Thus, ghost packets are potentially important for the operation of CAM modules, but since they are not included in any distribution tables, they can essentially be discarded as shown in FIG. 9 rejection units 192, 194, unless targeted actions are taken to avoid this, and may be absent from the composite packet data stream that actually enters the CAM module.

Для решения этой потенциальной проблемы блоки 180, 182 выбора и показанные на фиг. 9 блоки 192, 194 отбраковки могут работать согласно следующим показанным на фиг. 13 этапам.To solve this potential problem, the selection blocks 180, 182 and shown in FIG. 9, reject units 192, 194 may operate according to the following shown in FIG. 13 stages.

На этапе 250 блоки 180, 182 выбирают идентификаторы пакетов для требуемых программных услуг. Этот режим работы соответствует тому, что уже описан со ссылкой на фиг. 9. Отличие по сравнению фиг. 9, однако, состоит в том, что на этапе 252 блоки выбора также выбирают (для включения в составной поток пакетированных данных) все идентификаторы пакетов, которые не указаны в идентификационных данных (таблицах состава программ, таблицах распределения программ или таблицах условного доступа) для данного транспортного потока. Таким образом, на данном этапе блоки выбора не знают, какие функции несут призрачные идентификаторы пакетов, но они выбирают все идентификаторы пакетов, которые присутствуют в транспортном потоке и которые конкретно не соответствуют программным услугам, отличающимся от требуемой программной услуги. На этапе 254 блоки 196, 198 преобразования осуществляют операцию преобразования, но при этом следует заметить, операция преобразования осуществляется не только в отношении идентификаторов пакетов выбранной услуги, но также и в отношении призрачных идентификаторов пакетов, выбранных на этапе 252. Наконец, на этапе 256 преобразовательные данные, представляющие собой соответствия между идентификаторами пакетов до преобразования и идентификаторами пакетов после преобразования (см. пример, показанный на фиг. 14), посылаются в набор 114 CAM-модулей, так что если CAM-модуль из набора требует доступа к пакету, обозначенному призрачным идентификатором пакета, то CAM-модуль может идентифицировать такой пакет в преобразованных данных, обращаясь к преобразовательной информации, и декодировать идентифицированный пакет соответственно.At step 250, blocks 180, 182 select packet identifiers for the required software services. This mode of operation corresponds to that already described with reference to FIG. 9. The difference compared to FIG. 9, however, consists in the fact that, at step 252, the selection blocks also select (for inclusion in the composite packet data stream) all packet identifiers that are not specified in the identification data (program composition tables, program allocation tables, or conditional access tables) for this traffic flow. Thus, at this stage, the selection blocks do not know which functions the ghost packet identifiers have, but they select all the packet identifiers that are present in the transport stream and which do not specifically correspond to software services other than the required software service. At step 254, the conversion units 196, 198 perform the conversion operation, but it should be noted that the conversion operation is performed not only in relation to the packet identifiers of the selected service, but also in relation to the phantom packet identifiers selected in step 252. Finally, in step 256, the conversion data representing the correspondence between the identifiers of packets before conversion and identifiers of packets after conversion (see the example shown in Fig. 14) are sent to the set of 114 CAM-modules, so that if the CAM module from the set requires access to the packet indicated by the ghost identifier of the packet, then the CAM module can identify such a packet in the converted data by referring to the conversion information and decode the identified packet, respectively.

Следует заметить, что идентификаторы пакетов, используемые для обозначения призрачных пакетов, могут время от времени меняться. В самом деле, это может быть частью процедуры обеспечения безопасности, связанной с этими пакетами. Также призрачные пакеты могут передаваться не слишком часто. Так, если показанная на фиг. 9 система сначала работает с конкретной программной услугой из конкретного транспортного потока, она не может заранее знать текущий набор призрачных идентификаторов пакетов. Она может узнать его с помощью одной из двух технологий: путем обнаружения (с помощью блока 180, 182 выбора) идентификатора пакета в потоке данных, который отсутствует во всех справочных таблицах, или путем запроса CAM-модулем (например, посредством интерфейса управления) конкретного идентификатора пакета, который упомянутый CAM-модуль считает необходимым, но который отсутствует в составном потоке пакетированных данных. Первая из технологий может считаться упреждающим выбором, вторая - ответным выбором. В любом случае блок 180, 182 выбора может в ответ выбрать такой идентификатор пакета для его включения в составной поток пакетированных данных. В принципе это может случиться сразу, так что по первому запросу такой идентификатор пакета включается в составной поток пакетированных данных. Или может иметь место задержка, в частности, если включение идентификатора пакета в составной поток пакетированных данных осуществляется в ответ на запрос CAM-модуля, запрашивающего отсутствующий идентификатор пакета. Это обусловлено относительно небольшой скоростью передачи данных интерфейсом управления. Но небольшая задержка (например, менее одной секунды) не считается проблемой, т.к. общепринятой практикой является многократная передача любых важных пакетов, не являющихся частью аудио-видео потока. Это делается для того, чтобы учесть возможность включения или выключения телевизора пользователем в любой момент времени, так что при однократной передаче такого критичного пакета пользователь может пропустить такую передачу.It should be noted that the packet identifiers used to designate ghost packets may change from time to time. In fact, this may be part of the security routine associated with these packages. Ghost packets may not be transmitted too often. So, if shown in FIG. 9, the system first works with a specific software service from a specific transport stream; it cannot know in advance the current set of ghost packet identifiers. She can recognize it using one of two technologies: by detecting (using selection block 180, 182) the packet identifier in the data stream that is not in all look-up tables, or by asking the CAM module (for example, via the control interface) a specific identifier a packet that the CAM module considers necessary, but which is not in the composite packet data stream. The first of the technologies can be considered a proactive choice, the second - a reciprocal choice. In any case, selection block 180, 182 may in response select such a packet identifier to include in the composite packet data stream. In principle, this can happen immediately, so that at the first request, such a packet identifier is included in the composite packet data stream. Or there may be a delay, in particular, if the packet identifier is included in the composite packet data stream in response to a request from a CAM module requesting a missing packet identifier. This is due to the relatively low data rate of the control interface. But a small delay (for example, less than one second) is not considered a problem, because Common practice is to repeatedly transmit any important packets that are not part of the audio-video stream. This is done in order to take into account the possibility of turning the TV on or off by the user at any time, so that when a critical packet is transmitted once, the user can skip such a transfer.

На фиг. 14 схематично показана таблица соответствия идентификаторов пакетов в качестве примера вида преобразовательной информации, которая может передаваться от мультиплексора 140 в набор 114 CAM-модулей на этапе 256 либо в виде данных управления, либо данных, мультиплексированных в составной поток пакетированных данных. Таблица соответствия идентификаторов пакетов содержит идентификатор 260 транспортного потока, из которого был извлечен идентификатор пакета, идентификатор 262 программной услуги, извлеченной их транспортного потока, "прежний" идентификатор 264 пакета (до преобразования) и "новый" идентификатор 266 пакета (после преобразования). Таблица соответствия идентификаторов пакетов может быть мультиплексирована в составной поток пакетированных данных и/или передана в CAM-модуль через интерфейс управления 218. В некоторых вариантах осуществления изобретения показанная на фиг. 14 таблица может служить примером идентификационных данных составного потока. В некоторых вариантах осуществления изобретения данные из показанной на фиг. 14 таблицы могут использоваться для управления декодированием программ из составного потока пакетированных данных одним или несколькими CAM-модулями в соответствии с идентификаторами пакетов, содержащимися в показанной на фиг. 14 таблице соответствия идентификаторов пакетов.In FIG. 14 schematically shows a packet identifier correspondence table as an example of the kind of converting information that can be transmitted from multiplexer 140 to a set of CAM modules 114 in step 256, either in the form of control data or data multiplexed into a composite packet data stream. The packet identifier correspondence table contains the transport stream identifier 260 from which the packet identifier was extracted, the program service identifier 262 extracted from their transport stream, the “former” packet identifier 264 (before conversion) and the “new” packet identifier 266 (after conversion). The packet identifier mapping table may be multiplexed into a composite packet data stream and / or transmitted to the CAM module via the control interface 218. In some embodiments of the invention shown in FIG. 14, the table may serve as an example of the identity of a composite stream. In some embodiments, the data from that shown in FIG. 14 tables can be used to control the decoding of programs from a composite packet data stream by one or more CAM modules in accordance with the packet identifiers contained in FIG. 14 of the package identifier matching table.

Следует заметить, что для любого транспортного потока может быть несколько входов в показанную на фиг. 14 таблицу соответствия идентификаторов пакетов, относящихся к разным идентификаторам пакетов требуемой программной услуги и различным другим призрачным идентификаторам пакетов, присутствующим в транспортном потоке.It should be noted that for any transport stream there can be several entrances to the one shown in FIG. 14 is a correspondence table of packet identifiers relating to different packet identifiers of the required software service and various other phantom packet identifiers present in the transport stream.

Следует также заметить, что таблица соответствия идентификаторов пакетов может меняться со временем, так что она либо повторно передается на CAM-модули CI-контроллером, либо по меньшей мере частично повторно передается в ответ на изменение в преобразовании. Одной из причин того, что повторное преобразование может измениться, является то, что вновь идентифицированный призрачный пакет имеет идентификатор пакета, который соответствует другому идентификатору пакета в составном потоке пакетированных данных, что вызывает необходимость преобразования одного из них, идентификаторов или обоих идентификаторов пакетов.It should also be noted that the packet identifier mapping table may change over time, so that it is either retransmitted to the CAM modules by the CI controller, or at least partially retransmitted in response to a change in the conversion. One reason that the re-conversion may change is that the newly identified ghost packet has a packet identifier that matches a different packet identifier in the composite packet data stream, which necessitates the conversion of one of them, identifiers, or both packet identifiers.

На фиг. 15 схематично показана блок-схема операций выявления, какой из CAM-модулей имеющейся последовательности таких модулей способен декодировать требуемую программную услугу.In FIG. 15 is a schematic flowchart of identifying which of the CAM modules of an existing sequence of such modules is capable of decoding a desired software service.

Показанные на фиг. 15 операции отображают взаимодействие или квитирование установления связи между хост-устройством и каждым CAM-модулем из набора CAM-модулей. Далее рассматриваются операции, относящиеся только к одному CAM-модулю из набора, но следует понимать, что соответствующие операции выполняются в отношении других CAM-модулей из набора.Shown in FIG. 15 operations indicate the interaction or handshaking between the host device and each CAM module from the set of CAM modules. The following describes operations related to only one CAM module from the set, but it should be understood that the corresponding operations are performed with respect to other CAM modules from the set.

Этап 300 выполняется при запуске или загрузке системы и состоит в том, что каждый CAM-модуль посылает данные (т.н. индикатор системы условного доступа CA_SYS_ID) для идентификации типа CA-системы, которую данный CAM-модуль способен дешифровать при условии получения соответствующих ECM/EMM-данных для услуги.Step 300 is performed at system startup or boot, and consists in the fact that each CAM module sends data (the so-called CA_SYS_ID conditional access system indicator) to identify the type of CA system that this CAM module can decrypt when it receives the corresponding ECM / EMM data for the service.

Этап 310 имеет место, когда для дешифрования выбрана новая программная услуга, например, с помощью пульта управления или работающего по командам таймера устройства записи, или когда CA-параметры, связанные с программной услугой, изменяются (например, с "нешифрованных" на "шифрованные" или наоборот). Хост-устройство посылает идентификаторы пакетов, относящиеся к требуемой программной услуге, в CAM-модуль набора 114. Каждый CAM-модуль на этапе 320 обнаруживает ECM- и EMM-данные, относящиеся к этой услуге, и на этапе 330 выявляет (со ссылкой на ECM- и EMM-данные, а также собственные возможности CAM-модуля), возможно ли декодирование такой услуги данным CAM-модулем. Естественно, на этапе 310 хост-устройство может решить послать вызывающие вопрос идентификаторы пакетов только на те CAM-модули, которые на этапе 300 показали изначальную (принципиальную) способность декодировать такой тип данных.Step 310 occurs when a new software service is selected for decryption, for example, using a control panel or a timer of a recorder, or when the CA parameters associated with the software service are changed (for example, from “unencrypted” to “encrypted” or vice versa). The host device sends the packet identifiers related to the required software service to the CAM module of the set 114. Each CAM module in step 320 detects the ECM and EMM data related to this service, and identifies it in step 330 (with reference to the ECM - and EMM data, as well as the own capabilities of the CAM module), is it possible to decode such a service with this CAM module. Naturally, at step 310, the host device can decide to send the questioning packet identifiers only to those CAM modules that, at step 300, showed the original (fundamental) ability to decode this type of data.

На этапе 340 хост-устройство проверяет ответ от текущего запрашиваемого CAM-модуля. Если CAM-модуль может декодировать программную услугу, то затем на этапе 350 хост-устройство распределяет задачу декодирования данной программной услуги текущему запрашиваемому CAM-модулю. Если нет, то затем, если еще остается CAM-модуль, который еще не был запрошен, хост-устройство возвращается к этапу 310, чтобы запросить следующий CAM-модуль. В противном случае, если больше не остается незапрошенных CAM-модулей, и процесс прекращается, а пользователь дополнительно оповещается, что требуемая программная услуга не может быть декодирована имеющимся в системе набором 114 CAM-модулей.At 340, the host device checks for a response from the currently requested CAM module. If the CAM module can decode the software service, then at step 350, the host device distributes the task of decoding the software service to the current requested CAM module. If not, then if there is still a CAM module that has not yet been requested, the host device returns to step 310 to request the next CAM module. Otherwise, if there are no more unsolicited CAM modules left, and the process stops, and the user is additionally notified that the required software service cannot be decoded by the set of 114 CAM modules available in the system.

На фиг. 16 схематично показан алгоритм управления несколькими тюнерами 102, 104, реализуемый хост-устройством, в частности, например центральным процессором 132 хост-устройства. На фиг. 16 левая часть блок-схемы относится к операциям, выполняемым хост-устройством, а правая - к операциям, выполняемым CAM-модулем из набора 114.In FIG. 16 schematically shows a control algorithm for several tuners 102, 104 implemented by a host device, in particular, for example, a host processor 132. In FIG. 16, the left part of the flowchart refers to operations performed by the host device, and the right part refers to operations performed by the CAM module from set 114.

Данный процесс вводит понятие "первичного" и "вторичного" тюнера, хотя это может рассматриваться в качестве эквивалента "первичному" и "вторичному" транспортному потоку, т.к. в настоящих вариантах осуществления изобретения имеется однозначное соответствие между работой тюнера и приемом транспортного потока, другими словами, в настоящих вариантах осуществления изобретения каждый тюнер принимает один транспортный поток.This process introduces the concept of a "primary" and "secondary" tuner, although this can be considered as equivalent to a "primary" and "secondary" transport stream, as in the present embodiments, there is a unique correspondence between the operation of the tuner and the reception of the transport stream, in other words, in the present embodiments, each tuner receives one transport stream.

На этапе 360 заводской установкой является обозначение тюнера 102 (тюнера А) и принимаемого тюнером 102 транспортного потока определением "первичный", а тюнера 104 (тюнера Б) и принимаемого тюнером 104 транспортного потока - определением "вторичный". Следует заметить, что в нормальном режиме работы только один тюнер требуется для просмотра телепрограммы, как говорят, "вживую"; одной из функций использования другого тюнера является запись второй программной услуги в то время, когда первая услуга просматривается "вживую". Альтернативно, первый из тюнеров или транспортных потоков, первоначально запрошенных для использования, может получить первоначальное обозначение первичного транспортного потока или первичного тюнера.At 360, the factory setting is the designation of the tuner 102 (tuner A) and the transport stream received by the tuner 102, the definition of "primary", and the tuner 104 (tuner B) and the transport stream received by the tuner 104 - the definition of "secondary". It should be noted that in normal operation, only one tuner is required to watch a TV program, as they say, "live"; one of the functions of using another tuner is to record a second program service while the first service is being viewed live. Alternatively, the first of the tuners or traffic streams originally requested for use may receive the initial designation of the primary transport stream or primary tuner.

На этапе 362 центральный процессор 132 выясняет, используется ли вторичный тюнер (транспортный поток), например, для записи программной услуги для последующего просмотра. Если вторичный тюнер не используется, то на этапе 364 центральный процессор 132 или CI-контроллер сообщает набору 114 CAM-модулей о том, что вторичный тюнер свободен, в ответ на что один из CAM-модулей набора может принять решение использовать вторичный тюнер для непросматриваемого приема непросматриваемой информации на этапе 366. Другими словами, если тюнер в данный момент времени не используется для предоставления программы для декодирования, то он считается доступным для использования в целях доступа к каналу (например, настройки на канал), несущему непросматриваемую информацию.At 362, the central processor 132 determines whether a secondary tuner (transport stream) is used, for example, to record a software service for later viewing. If the secondary tuner is not used, then at step 364, the central processor 132 or the CI controller informs the set 114 of CAM modules that the secondary tuner is free, in response to which one of the CAM modules of the set may decide to use the secondary tuner for unobtainable reception non-viewable information at step 366. In other words, if the tuner is not currently used to provide a program for decoding, then it is considered available for use in order to access the channel (for example, tuning to the channel), he neprosmatrivaemye information.

В данном случае термин "непросматриваемый прием" может относиться к приему CAM-модулем непросматриваемой информации, такой как информация управления CAM-модулем, служебные данные, встроенное программное обеспечение или обновления программного обеспечения или т.п., которая может требовать исключительного использования этим CAM-модулем или тюнером в течение неопределенного времени.In this case, the term “invisible reception” may refer to the reception by the CAM module of non-visible information, such as CAM module management information, service data, firmware or software updates or the like, which may require exclusive use of this CAM- module or tuner for an indefinite time.

Другой пример относится к т.н. "навязыванию видео по требованию". В данной ситуации CAM-модуль может превентивно или по команде от головной телевизионной станции требовать сохранения, к примеру, на жестком диске принимаемых данных, относящихся к видеопрограммам, которые может пожелать просмотреть пользователь. Соответственно, с этой целью CAM-модуль может выступать в роли контроллера управления хранением непросматриваемой информации для последующего доступа. Принятые данные могут относиться ко всей программе, или к анонсу, или рекламе программы или могут обеспечивать достаточный объем буферных данных для мгновенной инициации ответа (по команде пользователя), даже в ходе трансляции программы. Прием данных такого рода особо не запрашивается или не инициируется пользователем; данные принимаются по инициативе CAM-модуля или иной части системы в качестве фонового процесса и рассматриваются в качестве "непросматриваемых данных" или "непросматриваемой информации", т.к. а) такие данные часто передаются с меньшей скоростью, чем скорость передачи декодируемых или просматриваемых данных, и б) пользователь должен предпринять дополнительные шаги (такие как запрос доступа к данным, хранящимся в устройстве записи на жесткий диск), прежде чем даже видимая часть может быть просмотрена. Данные могут быть декодированы CAM-модулем, выступающим в роли декодера непросматриваемой информации.Another example relates to the so-called. "impose video on demand." In this situation, the CAM module may, preventively or by command from the parent television station, require the storage, for example, on the hard disk of the received data relating to video programs that the user may wish to view. Accordingly, for this purpose, the CAM module can act as a controller for managing storage of non-viewable information for subsequent access. The received data may relate to the entire program, or to the announcement or advertisement of the program, or may provide a sufficient amount of buffer data for instantly initiating a response (at the command of the user), even during the broadcast of the program. Reception of this kind of data is not specifically requested or initiated by the user; the data is received at the initiative of the CAM-module or another part of the system as a background process and is considered as “non-viewable data” or “unviewable information”, a) such data is often transmitted at a lower speed than the transmission speed of the decoded or viewed data, and b) the user must take additional steps (such as requesting access to data stored in the hard disk recorder) before even the visible part can be viewed. The data can be decoded by a CAM module acting as a decoder of the non-viewable information.

Непросматриваемая информация может переноситься по меньшей мере одним транспортным потоком.Unviewable information may be carried by at least one transport stream.

В течение времени, пока на этапе 366 осуществляется прием служебных или иных непросматриваемых данных, любые другие обращения к этапу 362 будут приводить к индикации занятого состояния вторичного тюнера. Естественно, если пользователь потребует использования вторичного тюнера, например, для записи программной услуги, то использование тюнера CAM-модулем для непросматриваемого фонового приема может быть прекращено. Это осуществляется таким образом, что пользователь даже не знает, что CAM-модуль когда-либо использовал вторичный тюнер.Over time, while at step 366 reception of service or other non-viewable data is performed, any other accesses to step 362 will lead to an indication of the busy state of the secondary tuner. Naturally, if the user requires the use of a secondary tuner, for example, for recording a software service, then the use of the tuner by the CAM module for invisible background reception can be stopped. This is done in such a way that the user does not even know that the CAM module has ever used a secondary tuner.

Возвращаясь к этапу 362, если вторичный тюнер требуется для использования, то на этапе 368 выбираются идентификаторы пакетов программной услуги, которую необходимо принять вторичному тюнеру (и, дополнительно, идентификаторы любых призрачных пакетов в данном транспортном потоке). Это соответствует этапам 250 и 252 на фиг. 13. На этапе 370 идентификаторы пакетов вторичного транспортного потока, выбранные как описано выше, преобразуются (согласно этапу 254 на фиг. 13), и пакеты, соответствующие выбранным идентификаторам пакетов первичного и вторичного тюнеров мультиплексируются для формирования составного потока пакетированных данных. Следует заметить, что как рассмотрено выше, необходимо только преобразовать идентификатор пакета, если имеет место коллизия или конфликт с другим идентификатором пакета из другого транспортного потока. Система может преобразовать все идентификаторы пакетов, выбранных из вторичного транспортного потока, или идентификаторы только тех пакетов, что вступили в конфликт идентификаторов. Однако важным является то, что именно вторичный транспортный поток является потоком, имеющим идентификаторы пакетов, которые по меньшей мере являются кандидатами на преобразование, если преобразование окажется необходимым. Идентификаторы пакетов в первичном потоке не преобразуются, они сохраняют свои исходные значения (какими они были при приеме).Returning to step 362, if a secondary tuner is required for use, then at step 368 the identifiers of the software service packages to be received by the secondary tuner (and, additionally, the identifiers of any phantom packets in this transport stream) are selected. This corresponds to steps 250 and 252 of FIG. 13. At step 370, the secondary transport stream packet identifiers selected as described above are converted (according to step 254 in FIG. 13), and packets corresponding to the selected primary and secondary tuner packet identifiers are multiplexed to form a composite packet data stream. It should be noted that, as discussed above, it is only necessary to convert the packet identifier if there is a collision or conflict with another packet identifier from another transport stream. The system can convert all identifiers of packets selected from the secondary transport stream, or identifiers of only those packets that have come into conflict with identifiers. However, it is important that the secondary transport stream is the stream that has packet identifiers that are at least candidates for the conversion, if the conversion is necessary. Packet identifiers in the primary stream are not converted, they retain their original values (as they were when they were received).

Такой порядок сохраняется до того момента, пока на этапе 372 не будет выявлена смена канала (программной услуги). Смена канала может инициироваться пользователем с помощью пульта управления или машинной операции смены канала, например, по команде таймера управления процессом записи, требующим доступа к конкретной программной услуге. Действия в ответ на обнаружение смены канала зависят от того, в каком тюнере, вторичном или первичном, происходит смена канала.This order is maintained until the change in channel (software service) is detected at step 372. A channel change can be initiated by the user using the control panel or a machine channel change operation, for example, by a timer command to control the recording process that requires access to a specific software service. The actions in response to the detection of a channel change depend on which tuner, secondary or primary, the channel is changing.

Если изменяется вторичный транспортный поток, то осуществляется возврат к этапу 362, но не происходит никаких изменений с назначением первичного и вторичного транспортных потоков.If the secondary transport stream changes, then returns to step 362, but no changes occur with the purpose of the primary and secondary transport streams.

Если, однако, меняется канал на первичном тюнере (транспортном потоке), то осуществляется переход к этапу 374, на котором назначение тюнеров первичным и вторичным меняется на противоположное, и также осуществляется возврат к этапу 362. Т.е. в системе, имеющей два тюнера, каждый из которых принимает соответствующий транспортный поток, один поток, который до этого был назначен первичным, теперь назначается вторичным, а второй поток, который ранее был вторичным, теперь назначается первичным. (В системах, имеющих более двух тюнеров, тюнер, ранее бывший первичным, теперь назначается вторичным).If, however, the channel on the primary tuner (transport stream) changes, then proceeds to step 374, where the assignment of the tuners primary and secondary is reversed, and also returns to step 362. That is, in a system that has two tuners, each of which receives a corresponding transport stream, one stream that was previously designated as primary is now assigned as secondary, and the second stream, which was previously secondary, is now assigned as primary. (In systems with more than two tuners, the tuner, formerly the primary one, is now assigned as the secondary one).

Результатом этого является то, что транспортный поток, ранее бывший первичным, теперь обрабатывается как вторичный и, таким образом, подлежит процессу преобразования идентификаторов его пакетов на этапе 370, или идентификаторы его пакетов по меньшей мере становятся кандидатами на преобразование. В свою очередь, это означает, что нет необходимости выполнять какое-либо дальнейшее преобразование или изменение идентификаторов пакетов ранее бывшего вторичным транспортного потока, т.к. такой ранее бывший вторичным транспортный поток теперь обрабатывается как первичный. Что касается пользователя, это означает, что просмотр не прерывается на канале, который не изменяется, т.к. тюнер, принимающий этот канал (или транспортный поток, несущий этот канал), теперь назначается первичным и, таким образом, теперь нет необходимости дальнейшего преобразования идентификаторов пакетов, поступающих от этого тюнера.The result of this is that the transport stream, formerly primary, is now treated as secondary and is thus subject to the process of converting its packet identifiers at 370, or its packet identifiers at least become candidates for conversion. In turn, this means that there is no need to perform any further conversion or change of the packet identifiers of the formerly secondary transport stream, since such a formerly secondary transport stream is now treated as primary. As for the user, this means that viewing is not interrupted on a channel that does not change, because the tuner receiving this channel (or the transport stream carrying this channel) is now assigned as the primary one, and thus, there is no need to further convert the identifiers of packets coming from this tuner.

Изменение назначения транспортного потока с первичного на вторичный в рассматриваемых вариантах осуществления изобретения выполняется сразу, но изменение назначения потока с вторичного на первичный может задерживаться до тех пор, пока не будет выявлено, что вторичный транспортный поток должен быть перенастроен, т.к. не существует текущего первичного потока, в этом случае изменение применяется к упомянутому вторичному транспортному потоку. Следует заметить, такая особенность характерна для систем с двумя и более тюнерами.The change in the destination of the transport stream from primary to secondary in the considered embodiments of the invention is carried out immediately, but the change in the destination of the stream from secondary to primary may be delayed until it is determined that the secondary transport stream must be reconfigured, because there is no current primary stream, in which case the change is applied to said secondary transport stream. It should be noted that this feature is typical for systems with two or more tuners.

Если бы представленная система не имела места, то смена канала первичным тюнером могла бы потребовать повторного преобразования идентификаторов пакетов, принимаемых вторичным тюнером. Это происходит потому, что преобразование, выполненное в отношении идентификаторов пакетов вторичного транспортного потока, осуществляется для исключения конфликта между идентификаторами пакетов первичного тюнера и преобразованными идентификаторами пакетов вторичного тюнера. Если не было изменения в назначении первичного и вторичного тюнеров, то смена программной услуги для первичного тюнера может привести к конфликту идентификаторов пакетов и, таким образом, к последующей необходимости преобразования вторичных идентификаторов пакетов, даже если не происходило смены канала на вторичном тюнере. Соответственно, в отсутствие настоящей технологии смена канала на первичном тюнере могла бы привести к временному прерыванию услуги для программы, принимаемой вторичным тюнером, что, в свою очередь, было бы субъективно неприятно для пользователя.If the presented system did not take place, then the change of the channel by the primary tuner might require a re-conversion of the packet identifiers received by the secondary tuner. This is because the conversion performed on the packet identifiers of the secondary transport stream is performed to eliminate a conflict between the packet identifiers of the primary tuner and the transformed packet identifiers of the secondary tuner. If there was no change in the purpose of the primary and secondary tuners, then changing the software service for the primary tuner can lead to a conflict of packet identifiers and, therefore, to the subsequent need to convert secondary packet identifiers, even if the channel did not change on the secondary tuner. Accordingly, in the absence of this technology, changing the channel on the primary tuner could lead to a temporary interruption of the service for the program received by the secondary tuner, which, in turn, would be subjectively unpleasant for the user.

Этап 374 может быть описан далее следующим образом. В ответ на выявление смены канала или транспортного потока, принимаемого первичным тюнером (или, другими словами, в ответ на выявление использования первичным тюнером другой программы), первичный тюнер может быть переназначен вторичным, а тюнер, ранее бывший вторичным, переназначен первичным. Однако это не подразумевает, что выполняемая на этапе 370 операция преобразования в отношении бывшего вторичным (а ныне первичного) транспортного потока не должна выполняться, и действительно это было бы нежелательно, т.к. это привело бы к возможному прерыванию принимаемой этим тюнером услуги. Но это не означает, что нет необходимости осуществлять какое-либо преобразование вновь назначенных первичных идентификаторов пакетов, чтобы избежать конфликта с предыдущими первичными (теперь вторичными) идентификаторами пакетов после перенастройки.Step 374 may be described further as follows. In response to detecting a change in the channel or transport stream received by the primary tuner (or, in other words, in response to detecting that the primary tuner is using another program), the primary tuner can be reassigned to the secondary one, and the tuner that was previously the secondary one is reassigned to the primary one. However, this does not imply that the conversion operation performed at step 370 with respect to the former secondary (and now the primary) traffic stream should not be performed, and indeed this would not be desirable since this would lead to a possible interruption of the service received by this tuner. But this does not mean that there is no need to perform any conversion of the newly assigned primary packet identifiers in order to avoid conflict with the previous primary (now secondary) packet identifiers after the migration.

Другими словами, если выявлено, что выбрана другая программа для декодирования из первичного транспортного потока (по сравнению с декодируемой в настоящее время), или выявлено, что выбран другой транспортный поток (по сравнению с текущим первичным потоком), то вторичный тюнер переназначается первичным.In other words, if it is revealed that another program has been selected for decoding from the primary transport stream (compared to the currently decoded one), or if it is found that a different transport stream (compared to the current primary stream) is selected, then the secondary tuner is reassigned as the primary one.

В случаях, когда в текущий момент первичный тюнер отсутствует (когда первичный тюнер переназначается вторичным, но вторичный тюнер еще не переназначен первичным), то если выявлено, что для декодирования выбрана другая программа из вторичного транспортного потока (по сравнению с декодируемой в настоящее время программой из вторичного транспортного потока), или выявлено, что выбран другой вторичный транспортный поток (по сравнению с текущим вторичным транспортным потоком), то такой вторичный тюнер переназначается первичным.In cases where at present the primary tuner is absent (when the primary tuner is reassigned as secondary, but the secondary tuner has not yet been reassigned as primary), then if it is revealed that another program from the secondary transport stream has been selected for decoding (compared to the program currently being decoded from secondary transport stream), or it is revealed that a different secondary transport stream is selected (compared to the current secondary transport stream), then such a secondary tuner is reassigned as primary.

На фиг. 17 схематично показано мультиплексирование двух отдельных программных услуг.In FIG. 17 schematically shows the multiplexing of two separate software services.

Используя описанную выше технологию, предлагается механизм объединения выбранных пакетов из двух или более транспортных потоков в единый составной поток пакетированных данных. Пакеты могут мультиплексироваться в правильном порядке, т.е. для любого отдельно принимаемого транспортного потока пакеты, относящиеся к требуемой программной услуге, для декодирования будут появляться в составном потоке пакетированных данных в правильном порядке относительно друг друга. Однако данный механизм не обязательно гарантирует, что мультиплексированные пакеты появятся в согласованном потоке пакетированных данных в правильный временной момент. На практике проблемой может быть ситуация, когда два пакета, предназначенные для включения в составной поток пакетированных данных, будут иметь перекрывающиеся временные позиции; при создании составного потока пакетированных данных один из пакетов должен быть задержан, чтобы быть включенным в составной поток пакетированных данных после другого. Такие временные ошибки могут приводить к соответствующим ошибкам при декодировании или воспроизведении аудио-видео сигнала, представленного упомянутыми пакетами.Using the technology described above, a mechanism is proposed for combining selected packets from two or more transport streams into a single composite packet data stream. Packets can be multiplexed in the correct order, i.e. for any separately received transport stream, packets related to the required software service for decoding will appear in the composite packet data stream in the correct order relative to each other. However, this mechanism does not necessarily guarantee that multiplexed packets will appear in a consistent stream of packetized data at the correct time. In practice, the problem may be when two packets intended to be included in the composite packet data stream have overlapping temporary positions; when creating a composite packet data stream, one of the packets must be delayed to be included in the composite packet data stream after the other. Such temporary errors may lead to corresponding errors in decoding or playing back the audio-video signal represented by said packets.

На фиг. 17 схематично показан пример такой возможной проблемы. Подмножество пакетов выбирается из каждого из двух транспортных потоков TS1 и TS2. Выбранное подмножество пакетов представляет собой пакеты, вытянутые вдоль временной оси, проходящей на чертеже слева направо. Невыбранные пакеты для ясности просто не показаны на чертеже. Примером временной коллизии является перекрытие по времени пакета 400 из транспортного потока TS1 с пакетом 402 из транспортного потока TS2.In FIG. 17 schematically shows an example of such a possible problem. A subset of packets is selected from each of the two transport streams TS1 and TS2. The selected subset of packets is packets elongated along a time axis extending from left to right in the drawing. Unselected packages are simply not shown in the drawing for clarity. An example of a temporary collision is the time overlap of a packet 400 from a transport stream TS1 with a packet 402 from a transport stream TS2.

Третий ряд на фиг. 17 (обозначенный "к/от модуля") схематично показывает составной поток пакетированных данных. Видно, что пакет 400 по существу сохранил свое исходное временное положение, но пакет 402 задержан по времени, чтобы попасть в составной поток пакетированных данных после пакета 400.The third row in FIG. 17 (labeled “to / from the module”) schematically shows a composite packet data stream. It can be seen that the packet 400 essentially retained its original temporary position, but the packet 402 is delayed in time to get into the composite packet data stream after the packet 400.

Четвертый и пятый ряды на фиг. 17 представляют отдельные потоки пакетированных данных, реконструированные после дешифрования набором 114 CAM-модулей и демультиплексирования. И снова видно, что дешифрованный пакет 400' сохранил свое исходное временное положение, в то время как дешифрованный вариант пакета 402 (дешифрованный пакет 402') претерпел временную задержку 404. Аналогичную временную задержку 406 претерпевает последний пакет в транспортном потоке TS2.The fourth and fifth rows in FIG. 17 represent separate packetized data streams reconstructed after decryption by a set of 114 CAM modules and demultiplexing. Again, it can be seen that the decrypted packet 400 'has retained its original temporal position, while the decrypted version of packet 402 (decrypted packet 402') has experienced a time delay 404. A similar time delay 406 is experienced by the last packet in the transport stream TS2.

Такое изменение во временных положениях пакетов в транспортных потоках делает временные метки задающего тактового генератора программы в потоке пакетированных данных далее неточными. В результате тактовый генератор приемника, необходимый для декодирования программной услуги стандарта MPEG, будет не достаточно точным, и это может вызвать субъективно неприятные ощущения у пользователя, такие как ошибки синхронизации артикуляции губ с речью.Such a change in the temporal positions of the packets in the transport streams makes the timestamps of the master clock of the program in the packet data stream further inaccurate. As a result, the receiver clock necessary for decoding the MPEG standard software service will not be accurate enough, and this can cause subjectively unpleasant sensations for the user, such as errors in synchronizing lip articulation with speech.

Для решения этой проблемы далее рассматриваются две возможных технологии. На фиг. 18 схематично показан пакет 410 (имеющий предварительный заголовок или не имеющий его, как это описано выше), который также включает в себя расширенный заголовок 412, содержащий по меньшей мере время прибытия пакета в виде временной метки, присваиваемой каждому пакету транспортного потока, приходящему с соответствующего демодулятора, или, другими словами, соотносимой со временем формирования составного потока пакетированных данных.To solve this problem, two possible technologies are further discussed. In FIG. 18 schematically shows a packet 410 (with or without a preliminary header, as described above), which also includes an extended header 412 containing at least the arrival time of the packet in the form of a time stamp assigned to each packet of the transport stream coming from the corresponding demodulator, or, in other words, correlated with the time of formation of the composite stream of packet data.

На фиг. 19 схематично показана таблица с тактовой информацией пакетов, хранящая аналогичные данные, хотя и не в форме заголовка пакета, позволяющие восстановить исходное распределение пакетов транспортного потока по времени на финальной стадии декодирования. Таблица может поступать в CAM-модули через интерфейс управления, к примеру, в виде конфиденциальных DVB-данных или виде табличных данных. Такие данные могут передаваться в виде пакета конфиденциальных данных, располагающегося в составном потоке пакетированных данных по соседству с пакетом, к которому они относятся. Это связывает упомянутые данные с соответствующим пакетом.In FIG. 19 schematically shows a table with packet clock information storing similar data, although not in the form of a packet header, allowing to restore the initial distribution of transport stream packets in time at the final decoding stage. The table can enter the CAM-modules through the control interface, for example, in the form of confidential DVB data or in the form of tabular data. Such data may be transmitted as a confidential data packet located in a composite packet data stream adjacent to the packet to which it relates. This links the mentioned data with the corresponding package.

При первичном детальном рассмотрении фиг. 9 видно, что таблица с тактовой информацией пакетов содержит пять полей для каждого пакета транспортного потока. Это последовательный номер 420, присваиваемый хост-устройством каждому входящему пакету транспортного потока как части последовательности, это значение 422 идентификатора пакета, взятое из его заголовка, это время 424 прибытия пакета, представляющее собой временную метку, присваиваемую хост-устройством или CI-контроллером каждому пакету транспортного потока, приходящему из соответствующего демодулятора, это флажок 426 "Sent" ("Отправлено"), означающий, что пакет транспортного потока послан в набор 114 CAM-модулей для дешифрования, и это флажок "Received" ("Принято"), означающий, что пакет транспортного потока получен из набора 114 CAM-модулей после дешифрования.In an initial detailed examination of FIG. Figure 9 shows that the packet clock table contains five fields for each packet of the transport stream. This is the sequence number 420 assigned by the host device to each incoming packet of the transport stream as part of the sequence, this is the 422 identifier value of the packet taken from its header, this is the arrival time 424 of the packet, which is the time stamp assigned by the host device or CI controller to each packet the transport stream coming from the corresponding demodulator is the Sent flag 426, which means that the transport stream packet has been sent to the set of 114 CAM modules for decryption, and this is the Received flag "(" Accepted "), meaning that the transport stream packet is received from the set of 114 CAM modules after decryption.

Используя информацию, содержащуюся в таблице с тактовой информацией пакетов, CI-контроллер может вставлять принятые обратно из набора 114 CAM-модулей дешифрованные пакеты в их исходные временные положения согласно временам прибытия пакетов, хранящимся в таблице. Естественно, здесь может иметь место небольшая задержка всех пакетов в восстанавливаемом транспортном потоке (т.к. пакеты не могут быть повторно вставлены в транспортный поток раньше, чем время, когда они будут приняты обратно из набора CAM-модулей), но относительный временное положение всех пакетов в восстановленном транспортном потоке может быть сохранено правильным путем использования данных о прибытии пакетов, хранящихся в таблице с тактовой информацией пакетов.Using the information contained in the packet clock table, the CI controller can insert the decrypted packets received back from the set 114 of CAM modules into their original time positions according to the packet arrival times stored in the table. Naturally, there may be a slight delay of all packets in the restored transport stream (since packets cannot be reinserted into the transport stream before the time when they will be received back from the set of CAM modules), but the relative temporary position of all packets in the restored transport stream can be stored correctly by using the packet arrival data stored in the packet clock table.

Аналогичная задача может быть решена с использованием данных показанного на фиг. 18 расширенного заголовка 412.A similar problem can be solved using the data shown in FIG. 18 extended header 412.

На фиг. 20 схематично показан процесс формирования представленного на фиг. 18 пакета, а фиг. 21 иллюстрирует процесс использования представленного на фиг. 18 пакета.In FIG. 20 schematically shows the formation process of FIG. 18 packets, and FIG. 21 illustrates the use process of FIG. 18 packages.

Из фиг. 20 видно, что на этапе 430 CI-контроллер определяет текущее время прибытия пакета транспортного потока в CI-контроллер, а на этапе 432 добавляет по меньшей мере упомянутое время прибытия в расширенный заголовок 412.From FIG. 20 it can be seen that at step 430, the CI controller determines the current arrival time of the transport stream packet to the CI controller, and at step 432 adds at least the mentioned arrival time to the extended header 412.

Согласно фиг. 21, когда пакет получен обратно из набора CAM-модулей после дешифрования, упомянутый CI-контроллер на этапе 434 распознает тактовую информацию, ранее вставленную в расширенный заголовок 412, и на этапе 436 либо генерирует управляющую информацию для управления декодированием данного пакета в правильное время, либо повторно вставляет пакет обратно в восстановленный транспортный поток в правильное время (или, как это описано выше, по меньшей мере в правильное относительно других пакетов в восстановленном транспортном потоке время).According to FIG. 21, when a packet is received back from the set of CAM modules after decryption, said CI controller, in step 434, recognizes the clock information previously inserted in the extended header 412, and in step 436 either generates control information to control the decoding of the packet at the correct time, or reinserts the packet back into the restored transport stream at the correct time (or, as described above, at least at the correct time relative to other packets in the restored transport stream).

На фиг. 22 схематично показан процесс формирования показанной на фиг. 19 таблицы, а на фиг. 23 - процесс использования этой таблицы.In FIG. 22 schematically shows the process of forming shown in FIG. 19 of the table, and in FIG. 23 is a process for using this table.

Согласно фиг. 22 на этапе 440 CI-контроллер определяет время прибытия пакета транспортного потока от соответствующего демодулятора, а на этапе 422 сохраняет это время прибытия в качестве части таблицы, подобной показанной на фиг. 19 таблице, наряду с последовательным номером и идентификатором пакета, извлеченным из заголовка пакета. Если CI-контроллер направляет такой пакет на дешифрование, то CI-контроллер выставляет флажок 426 "Sent" ("Отправлено"), чтобы указать, что этот пакет имел место быть.According to FIG. 22, in step 440, the CI controller determines the arrival time of the transport stream packet from the corresponding demodulator, and in step 422 stores this arrival time as part of a table similar to that shown in FIG. 19 of the table, along with the serial number and packet identifier extracted from the packet header. If the CI controller sends such a packet for decryption, the CI controller sets the Sent flag 426 to indicate that this packet has occurred.

Согласно фиг. 23, когда пакет получен обратно после процесса дешифрования, CI-контроллер выставляет на этапе 444 флажок 428 "Received" ("Принято") и затем, на этапе 446, получает доступ к тактовой информации из поля 424 таблицы, используя идентификатор 422 пакета, и последовательный номер 420 для обозначения данных правильного пакета. Дополнительно, раз уж получен доступ к ряду данных для пакета, он может быть удален из показанной на фиг. 19 таблицы, чтобы избежать слишком большого роста объема данных в этой таблице. Как и ранее, на этапе 448 CI-контроллер либо управляет процессом декодирования данного пакета, которое должно осуществляться в правильный момент времени, либо управляет вставкой пакета в восстанавливаемый транспортный поток в правильное время или по меньшей мере в правильное относительно других пакетов в таком восстанавливаемом транспортном потоке время.According to FIG. 23, when the packet is received back after the decryption process, the CI controller sets the Received flag 428 at step 444 and then, at step 446, accesses clock information from the table field 424 using the packet identifier 422, and serial number 420 to indicate the correct packet data. Additionally, since access to a series of data for a packet is obtained, it can be removed from the one shown in FIG. 19 tables to avoid too much data growth in this table. As before, at step 448, the CI controller either controls the decoding process of this packet, which should be carried out at the right time, or controls the insertion of the packet into the restored transport stream at the right time, or at least in relation to other packets in such a restored transport stream time.

Двумя отличительными признаками некоторых систем условного доступа, которые повышают безопасность системы, являются т.н. процедура избегания и т.н. процедура аннулирования.Two distinctive features of some conditional access systems that increase system security are the so-called. avoidance procedure and so-called cancellation procedure.

Избегаемые данные включаются в виде т.н. таблицы описания служб (Service Description Table) в состав транслируемых данных, таких, например, как служебные данные, включающие в себя информацию безопасной авторизации хост-устройств (приемников контента). Избегание позволяет хост-устройству быть уведомленным о запрете использования пиратских или иных неавторизованных CAM-модулей или о запрете приема и дешифрования некоторых услуг. Неавторизованные модули или услуги определяются данными таблицы описания служб. Соответственно, избегание накладывает обязательство на хост-устройство не использовать CAM-модуль.Avoidable data is included in the form of so-called service description tables (Service Description Table) as part of the broadcast data, such as, for example, service data, including information on the secure authorization of host devices (content receivers). Avoidance allows the host device to be notified of the prohibition of the use of pirated or other unauthorized CAM modules or of the prohibition of receiving and decrypting certain services. Unauthorized modules or services are determined by the service description table. Accordingly, avoidance imposes an obligation on the host device not to use the CAM module.

Аннулирование включает в себя предписание головной телевизионной станции хост-устройству пропускать в CAM-модуль данные, содержащие указание модулю не взаимодействовать с конкретным номером модели фирмы-производителя как с хост-устройством. С другой стороны, аннулирование может использоваться в ситуациях, когда безопасность конкретной модели скомпрометирована, чтобы защитить целостность всей системы условного доступа. Таким образом, аннулирование накладывает на CAM-модуль запрет на оказание услуг дешифрования какому-либо хост-устройству. Данные аннулирования передаются путем ввода в EMM-сообщение указания CAM-модулю, где найти файл данных сигнала аннулирования (Revocation Signalling Data) в карусели данных общего интерфейса CI Plus.Cancellation includes a directive to the host television station to transmit to the CAM module data containing an instruction to the module not to interact with a specific model number of the manufacturer as a host device. On the other hand, revocation can be used in situations where the security of a particular model is compromised in order to protect the integrity of the entire conditional access system. Thus, the cancellation imposes a ban on the CAM module to provide decryption services to any host device. The cancellation data is transmitted by entering in the EMM message an indication to the CAM module where to find the Revocation Signalling Data file in the data carousel of the CI Plus common interface.

В ситуации избегания или аннулирования хост-устройство выявляет на основе данных таблицы описания служб, авторизовано ли данное хост-устройство декодировать принятые программные данные. Хост-устройство может дополнительно извещать пользователя о наступлении такой ситуации, например, посредством непоказанной на чертеже экранной индикации.In a situation of avoidance or cancellation, the host device determines, based on the data in the service description table, whether the host device is authorized to decode the received program data. The host device may further notify the user of the occurrence of such a situation, for example, by means of an on-screen display not shown in the drawing.

Данные аннулирования обычно подписываются сертификатом оператора, который в свою очередь подписывается корневым сертификатом, и таким образом, описываемые ниже меры предосторожности больше относятся к данным избегания, чем к данным аннулирования.Revocation data is usually signed by an operator certificate, which in turn is signed by the root certificate, and thus the precautions described below are more relevant to avoidance data than to revocation data.

Все эти данные содержатся в транспортном потоке. В системе с одним тюнером и одним CAM-модулем целостность избегаемых и/или аннулируемых данных может быть по существу гарантирована тюнером, обходящим CAM-модуль, проверяющим данные таблицы описания служб на наличие любых избегаемых или аннулируемых данных, относящихся к текущему хост-устройству и/или CAM-модулю, и пропускающим упомянутые избегаемые или аннулируемые данных в CAM-модуль для исполнения. Такие меры позволяют исключить манипулирование CAM-модулем данными в транспортном потоке до того момента, пока эти данные не будут проверены хост-устройством. (Это опасно в ситуации, когда CAM-модуль скомпрометирован).All this data is contained in the transport stream. In a system with one tuner and one CAM module, the integrity of the avoided and / or canceled data can be essentially guaranteed by the tuner bypassing the CAM module, checking the data of the service description table for any avoidable or canceled data related to the current host device and / or to a CAM module, and passing said avoidable or nullified data into the CAM module for execution. Such measures make it possible to exclude the CAM module from manipulating data in the transport stream until this data is verified by the host device. (This is dangerous in a situation where the CAM module is compromised).

Ситуация еще больше усложняется в случае множества тюнеров и мультиплексированного составного потока пакетированных данных. Здесь не просто обойти набор CAM-модулей в контексте составного потока пакетированных данных. Так, существует опасность, что один или несколько CAM-модулей из набора могут исказить содержащиеся в таблице описания служб избегаемые или аннулируемые данные или манипулировать ими, прежде чем хост-устройство будет действовать согласно этим данным в контексте процесса выявления, авторизовано ли хост-устройство работать с CAM-модулем, например, должно ли оно избегать CAM-модуль (к примеру, посредством команды на CAM-модуль не декодировать принимаемые программные данные) или отказываться от взаимодействия с конкретным CAM-модулем.The situation is even more complicated in the case of multiple tuners and a multiplexed composite packet data stream. It’s not easy to get around a set of CAM modules in the context of a composite packet data stream. Thus, there is a danger that one or more CAM modules from the set may distort or manipulate the data to be deleted or canceled in the service description table before the host device acts according to this data in the context of determining whether the host device is authorized to work with a CAM-module, for example, whether it should avoid the CAM-module (for example, by means of a command on the CAM-module not to decode the received program data) or refuse to interact with a specific CAM-module.

На фиг. 24 схематично показана конфигурация, позволяющая по меньшей мере смягчить эту проблему в контексте, например, показанного на фиг. 4 хост-устройства.In FIG. 24 schematically shows a configuration that allows at least mitigating this problem in the context of, for example, shown in FIG. 4 host devices.

Согласно фиг. 24 мультиплексированный (составной) поток данных, сформированный CI-контроллером 112, подписывается блоком 460 цифровой подписи, используя секретный криптографический ключ. Подписанный цифровой подписью мультиплексированный поток данных затем поступает в набор 114 CAM-модулей, выступающий в роли декодера контента для декодирования двух и более программ из составного потока пакетированных данных согласно идентификаторам пакетов, содержащимся в идентификационных данных потоков. После дешифрования подпись проверяется блоком 462 проверки подписи (который проверяет действенность подписи), прежде чем данные вернутся обратно в демультиплексор 142.According to FIG. 24, the multiplexed (composite) data stream generated by the CI controller 112 is signed by the digital signature block 460 using a secret cryptographic key. A digitally signed multiplexed data stream then enters a set of CAM modules 114, which acts as a content decoder for decoding two or more programs from a composite packet data stream according to packet identifiers contained in the stream identification data. After decryption, the signature is verified by signature verification block 462 (which verifies the validity of the signature) before data is returned back to demultiplexer 142.

Здесь могут использоваться известные технологии цифровой подписи с использованием личного ключа и проверки с использованием открытого ключа. Такой ключ может быть уникальным для приемника, например, секретно закладываться в память приемника при изготовлении. Такая цифровая подпись является примером признака цифровой безопасности.Well-known digital signature technologies using a private key and public key verification can be used here. Such a key may be unique to the receiver, for example, secretly stored in the receiver's memory during manufacture. Such a digital signature is an example of a sign of digital security.

Секретный ключ может передаваться между блоком 460 цифровой подписи и блоком 462 проверки подписи посредством защищенной линии 464 передачи данных. Пара, состоящая из личного и открытого ключей, может отличаться от хост-устройства к хост-устройству для повышения потенциально возможной достоверности системы проверки.A secret key may be transmitted between the digital signature block 460 and the signature verification block 462 via a secure data line 464. A pair of private and public keys may differ from the host device to the host device to increase the potential reliability of the verification system.

Цифровая подпись может применяться для всего составного потока пакетированных данных или только для данных таблицы описания служб в потоке данных. Так, в некоторых вариантах осуществления изобретения цифровая подпись применяется по меньшей мере к данным таблицы описания служб, включенным в состав мультиплексированного потока. Цифровая подпись может вставляться в поток данных или может передаваться отдельно между блоками 460 и 462.A digital signature can be applied to the entire composite packet data stream, or only to data from a service description table in a data stream. So, in some embodiments of the invention, a digital signature is applied to at least the data in the service description table included in the multiplexed stream. A digital signature may be inserted into the data stream or may be transmitted separately between blocks 460 and 462.

Если хост-устройство обнаружит, что цифровая подпись искажена, оно может действовать по-разному. Оно может сообщить об этом пользователю, например, путем отображения на экране. Оно может с помощью интерфейса управления 218 по очереди включать и выключать CAM-модули, чтобы выявить, какой из CAM-модулей вызывает искажение, и затем постоянно или практически постоянно деактивировать этот CAM-модуль. В любом случае CI Plus-спецификация извещает, что хост-устройство не позволяет испорченному или избегаемому CAM-модулю дешифровывать текущий контент для просмотра пользователем на экране или для записи.If the host device detects that the digital signature is malformed, it can act differently. It can inform the user about this, for example, by displaying it on the screen. It can, using the control interface 218, turn the CAM modules on and off in turn to detect which of the CAM modules causes distortion, and then permanently or almost permanently deactivate this CAM module. In any case, the CI Plus specification notifies that the host device does not allow the damaged or avoidable CAM module to decrypt the current content for viewing by the user on the screen or for recording.

Следует иметь в виду, что некоторые из вышеописанных технологий, например технологии генерации составного потока пакетированных данных, относятся к системам, использующим по меньшей мере два транспортных потока. Другие технологии относятся к системам, использующим один или несколько транспортных потоков.It should be borne in mind that some of the above technologies, for example, technologies for generating a composite packet data stream, relate to systems using at least two transport streams. Other technologies relate to systems using one or more traffic streams.

Варианты осуществления изобретения также включают в себя сигнал данных, представляющий собой сигнал в рамках описанного устройства, в частности, (хотя и не исключительно), сигнал, проходящий от хост-устройства к CAM-модулю или набору CAM-модулей, или обратный сигнал. Носитель данных, такой как память, с помощью которого сохраняется такой сигнал, также считается вариантом осуществления изобретения. Носитель данных может представлять собой, к примеру, энергонезависимый машиночитаемый носитель данных.Embodiments of the invention also include a data signal, which is a signal within the described device, in particular (although not exclusively), a signal passing from the host device to the CAM module or set of CAM modules, or a feedback signal. A storage medium, such as a memory by which such a signal is stored, is also considered an embodiment of the invention. The storage medium may be, for example, a non-volatile computer-readable storage medium.

В контексте фиг. 24 примером такого сигнала является сигнал аудио-видео данных, содержащий составной поток пакетированных данных, имеющий программные данные двух или более потоков пакетированных данных, имеющих подмножество пакетов данных двух или более принимаемых потоков пакетированных данных, подмножество, включающее в себя пакеты аудио-видео данных, которые относятся к тем программам, которые декодируются, и служебные данные, включающие в себя защищенную информацию авторизации для приемников контента, служебные данные, имеющие примененный цифровой индикатор безопасности.In the context of FIG. 24, an example of such a signal is an audio-video data signal comprising a composite packet data stream having program data of two or more packet data streams having a subset of data packets of two or more received packet data streams, a subset including audio-video data packets, which relate to those programs that are decoded, and service data, including protected authorization information for content receivers, service data, which is digitally applied th security indicator.

Когда речь идет хотя бы о частичной реализации изобретения с использованием программно-управляемого устройства обработки, следует понимать, что такое программное обеспечение и носитель, на котором предоставляется упомянутое программное обеспечение (такой как энергонезависимый машиночитаемый носитель данных, например, магнитный или оптический диск или энергонезависимая память), также считаются вариантами осуществления настоящего изобретения.When it comes to at least partial implementation of the invention using a software-controlled processing device, it should be understood that such software and the media on which the software is provided (such as a non-volatile machine-readable storage medium, for example, a magnetic or optical disk or non-volatile memory ) are also considered embodiments of the present invention.

Приведенные ниже варианты осуществления изобретения предусматривают использование рассмотренных выше отличительных признаков в их различных комбинациях.The following embodiments of the invention provide for the use of the above distinguishing features in their various combinations.

В вариантах осуществления изобретения может предлагаться способ работы приемника аудио-видео контента, имеющего декодер контента, пригодный для декодирования аудио-видео программы из потока пакетированных данных с использованием пакетов данных, определяющих информацию дешифрования, причем способ содержит следующие этапы:Embodiments of the invention may provide a method for operating an audio-video content receiver having a content decoder suitable for decoding an audio-video program from a packet data stream using data packets defining decryption information, the method comprising the following steps:

этап приема закодированного аудио-видео контента в виде потока пакетированных данных, содержащего одну или несколько программ, имеющих пакеты данных, идентифицируемые по соответствующим наборам из одного или нескольких идентификаторов пакетов, и содержащего программы построения соответствий идентификационных данных соответствующим наборам идентификаторов пакетов;the step of receiving encoded audio-video content in the form of a packet data stream containing one or more programs having data packets identifiable by the corresponding sets of one or more packet identifiers, and containing programs for constructing identification data matching the corresponding sets of packet identifiers;

этап выбора пакетов данных из потока пакетированных данных для требуемой программы в соответствии с набором идентификаторов пакетов, определенных идентификационными данными для этого потока в отношении требуемой программы;the step of selecting data packets from the packet data stream for the desired program in accordance with the set of packet identifiers defined by the identification data for this stream with respect to the desired program;

этап выбора дополнительных пакетов данных из потока пакетированных данных, из которого выбрана программа, имеющих идентификаторы пакетов, не включенные в состав идентификационных данных для данного потока пакетированных данных;the step of selecting additional data packets from the packet data stream from which a program is selected having packet identifiers not included in the identification data for this packet data stream;

этап генерирования составного потока пакетированных данных из выбранных пакетов;the step of generating a composite stream of packetized data from the selected packets;

этап генерирования идентификационных данных составного потока, указывающих идентификаторы пакетов, включенных в составной поток пакетированных данных; иa step of generating identification data of the composite stream indicating the identifiers of packets included in the composite stream of packetized data; and

этап подачи составного потока пакетированных данных в декодер контента для декодирования программы из составного потока пакетированных данных в соответствии с идентификаторами пакетов, содержащимися в идентификационных данных составного потока.the step of supplying the composite packet data stream to the content decoder for decoding the program from the composite packet data stream in accordance with the packet identifiers contained in the identification data of the composite stream.

В вариантах осуществления изобретения может предлагаться способ работы приемника аудио-видео контента, имеющего декодер контента, пригодный для одновременного декодирования двух и более аудио-видео программ из одного потока пакетированных данных, причем способ содержит следующие этапы:Embodiments of the invention may provide a method of operating an audio-video content receiver having a content decoder suitable for simultaneously decoding two or more audio-video programs from a single packet data stream, the method comprising the following steps:

этап приема закодированного аудио-видео контента в виде двух или более потоков пакетированных данных, причем каждый поток содержит одну или несколько программ, имеющих пакеты данных, идентифицированные по соответствующим наборам из одного или нескольких идентификаторов пакетов, причем каждый поток пакетированных данных содержит программы построения соответствий идентификационных данных соответствующим наборам идентификаторов пакетов;the step of receiving encoded audio-video content in the form of two or more streams of packet data, each stream containing one or more programs having data packets identified by the corresponding sets of one or more packet identifiers, each packet data stream containing identification matching programs data to the corresponding sets of packet identifiers;

этап генерирования составного потока пакетированных данных, содержащего программные данные из двух или более потоков пакетированных данных, посредством:the step of generating a composite packet data stream containing program data from two or more packet data streams by:

назначения одного из потоков пакетированных данных, из которого должны декодироваться программные данные, в качестве первичного потока пакетированных данных, а других потоков пакетированных данных, из которых должны декодироваться программные данные, в качестве вторичных потоков пакетированных данных;assigning one of the packet data streams from which program data should be decoded as the primary packet data stream, and other packet data streams from which program data should be decoded, as secondary packet data streams;

выбора пакетов данных из потока пакетированных данных для каждой требуемой программы в соответствии с наборами идентификаторов пакетов, определяемыми идентификационными данными для этого потока в отношении требуемой программы;selecting data packets from the packet data stream for each desired program in accordance with the sets of packet identifiers determined by the identification data for this stream with respect to the desired program;

построения соответствий идентификаторов по меньшей мере тех пакетов, которые были выбраны из вторичного(ных) потока(ков) пакетированных данных и которые имеют идентификаторы пакетов, идентичные идентификаторам пакетов из другого потока пакетированных данных, другим соответствующим идентификаторам пакетов, и не построения соответствий идентификаторов тех пакетов, которые были выбраны из первичного потока пакетированных данных; иmapping identifiers of at least those packets that were selected from the secondary packet data stream (s) and which have packet identifiers identical to packet identifiers from another packet data stream and other corresponding packet identifiers, and not mapping identifiers of those packets that were selected from the primary packet data stream; and

этап генерации идентификационных данных составного потока, определяющих идентификаторы пакетов данных в составном потоке пакетированных данных;a step of generating identification data of the composite stream defining identifiers of data packets in the composite stream of packetized data;

этап декодирования двух или более программ из составного потока пакетированных данных в соответствии с идентификаторами пакетов, содержащимися в идентификационных данных составного потока;a step of decoding two or more programs from the composite packet data stream in accordance with packet identifiers contained in the composite stream identification data;

этап переназначения потока пакетированных данных с первичного на вторичный поток пакетированных данных в ответ на выявление выбора другой программы для декодирования из первичного потока пакетированных данных или выбора для приема другого потока пакетированных данных вместо первичного потока пакетированных данных.the step of reassigning the packet data stream from the primary to the secondary packet data stream in response to detecting a choice of another program for decoding from the primary packet data stream or selecting to receive another packet data stream instead of the primary packet data stream.

В вариантах осуществления изобретения может предлагаться способ работы приемника аудио-видео контента, имеющего декодер контента, пригодный для одновременного декодирования двух и более аудио-видео программ из одного потока пакетированных данных посредством использования пакетов данных, определяющих информацию дешифрования, причем способ содержит следующие этапы:Embodiments of the invention may provide a method of operating an audio-video content receiver having a content decoder suitable for simultaneously decoding two or more audio-video programs from a single packet data stream by using data packets defining decryption information, the method comprising the following steps:

этап приема закодированного аудио-видео контента в виде двух или более потоков пакетированных данных, причем каждый поток содержит одну или несколько программ, имеющих пакеты данных, идентифицируемые по соответствующим наборам из одного или нескольких идентификаторов пакетов, причем каждый поток пакетированных данных содержит программы построения соответствий идентификационных данных соответствующим наборам идентификаторов пакетов и служебные данные, включающие в себя информацию безопасной авторизации приемников контента;the step of receiving encoded audio-video content in the form of two or more streams of packetized data, each stream containing one or more programs having data packets identifiable by the corresponding sets of one or more packet identifiers, each stream of packetized data containing identification mapping programs data corresponding sets of packet identifiers and service data, including information on the secure authorization of content receivers;

этап генерирования составного потока пакетированных данных, содержащего программные и служебные данные из двух или более потоков пакетированных данных;the step of generating a composite packet data stream comprising program and service data from two or more packet data streams;

этап применения цифрового индикатора безопасности по меньшей мере к служебным данным, включенным в составной поток пакетированных данных;the step of applying the digital security indicator to at least the service data included in the composite packet data stream;

этап подачи составного потока пакетированных данных в декодер контента для декодирования двух или более программ из составного потока пакетированных данных в соответствии с идентификаторами пакетов, содержащимися в идентификационных данных составного потока;the step of supplying the composite packet data stream to a content decoder for decoding two or more programs from the composite packet data stream in accordance with packet identifiers contained in the composite stream identification data;

этап приема служебных данных от декодера контента;the step of receiving service data from the content decoder;

этап определения достоверности цифрового индикатора безопасности, применяемого для служебных данных; иthe step of determining the reliability of the digital security indicator used for service data; and

этап выявления, авторизован ли приемник контента декодировать принимаемые программные данные в ответ на служебные данные.the step of determining whether the content receiver is authorized to decode the received program data in response to the service data.

В вариантах осуществления изобретения может предлагаться способ работы приемника аудио-видео контента, имеющего декодер контента, пригодный для одновременного декодирования двух и более аудио-видео программ из одного потока пакетированных данных, состоящего из закодированных пакетов аудио-видео данных, причем способ содержит следующие этапы:Embodiments of the invention may provide a method for operating an audio-video content receiver having a content decoder suitable for simultaneously decoding two or more audio-video programs from a single packet data stream consisting of encoded audio-video data packets, the method comprising the following steps:

этап приема закодированного аудио-видео контента в виде двух или более потоков пакетированных данных, причем каждый поток данных содержит одну или несколько программ, имеющих соответствующие закодированные пакеты аудио-видео данных;the step of receiving encoded audio-video content in the form of two or more streams of packetized data, wherein each data stream contains one or more programs having respective encoded packets of audio-video data;

этап генерирования составного потока пакетированных данных, содержащего программные данные из двух или более потоков пакетированных данных, посредством выбора подмножества пакетов данных из двух или более принимаемых потоков пакетированных данных, причем подмножество содержат аудио-видео данные, относящиеся к тем программам, которые должны декодироваться;the step of generating a composite packet data stream containing program data from two or more packet data streams by selecting a subset of the data packets from two or more received packet data streams, the subset containing audio-video data related to those programs to be decoded;

этап хранения тактовой информации, указывающей по меньшей мере время прибытия тех пакетов аудио-видео данных, которые включены в составной поток пакетированных данных; иa step of storing clock information indicating at least the arrival time of those audio-video data packets that are included in the composite packet data stream; and

этап декодирования и выдачи данных аудио-видео программы из составного потока пакетированных данных в соответствии с временными показателями, хранящимися для каждого декодированного аудио-видео пакета.the step of decoding and outputting the audio-video program data from the composite packet data stream in accordance with the time metrics stored for each decoded audio-video packet.

В вариантах осуществления изобретения может предлагаться приемник аудио-видео контента для приема и декодирования сигналов с аудио-видео данными, передаваемыми по каналам передачи данных, причем по меньшей мере один канал передачи данных несет не просматриваемую информацию, приемник, содержащий:In embodiments of the invention, an audio-video content receiver may be provided for receiving and decoding signals with audio-video data transmitted over data channels, wherein at least one data channel carries not viewed information, a receiver comprising:

тюнер, способный одновременно настраиваться на два или более канала передачи данных;a tuner that can simultaneously tune to two or more data channels;

мультиплексор, предназначенный для генерации составного сигнала данных из принятых аудио-видео сигналов, относящихся к требуемой для декодирования программе;a multiplexer designed to generate a composite data signal from the received audio-video signals related to the program required for decoding;

декодер контента, пригодный для одновременного декодирования двух и более аудио-видео программ из составного сигнала данных;a content decoder suitable for simultaneously decoding two or more audio-video programs from a composite data signal;

детектор, предназначенный для выявления, не используется ли один или несколько настроенных тюнером каналов передачи данных для предоставления программы для декодирования;a detector designed to detect if one or more tuned data channels are used to provide a program for decoding;

контроллер, реагирующий на выявление, что канал передачи данных в настоящее время не используется, для управления тюнером с целью настройки этого канала на канал передачи, несущий непросматриваемую информацию; иa controller that responds to the detection that the data channel is not currently being used to control the tuner in order to tune this channel to a transmission channel that carries unplayable information; and

декодер непросматриваемой информации для декодирования принимаемой непросматриваемой информации.non-viewable decoder for decoding received non-viewable information.

В вариантах осуществления изобретения может предлагаться способ работы приемника аудио-видео контента, имеющего декодер контента, пригодный для декодирования аудио-видео программы из потока пакетированных данных посредством использования пакетов данных, определяющих информацию дешифрования, причем способ содержит следующие этапы:Embodiments of the invention may provide a method of operating an audio-video content receiver having a content decoder suitable for decoding an audio-video program from a packet data stream by using data packets defining decryption information, the method comprising the following steps:

этап приема закодированного аудио-видео контента в виде потоков пакетированных данных, содержащих одну или несколько программ, имеющих пакеты данных, идентифицируемые по соответствующим наборам из одного или нескольких идентификаторов пакетов, и программы построения соответствий идентификационных данных соответствующим наборам идентификаторов пакетов;the step of receiving encoded audio-video content in the form of streams of packet data containing one or more programs having data packets identifiable by the corresponding sets of one or more packet identifiers, and a program for constructing correspondence of identification data to the corresponding sets of packet identifiers;

этап выбора пакетов данных из потока пакетированных данных для каждой требуемой программы в соответствии с набором идентификаторов пакетов, определяемым идентификационными данными для этого потока в отношении требуемой программы;the step of selecting data packets from the packet data stream for each desired program in accordance with the set of packet identifiers determined by the identification data for this stream with respect to the desired program;

этап выбора дополнительных пакетов данных из каждого потока пакетированных данных, из которого выбрана программа, которые содержат данные задающего тактового генератора, относящиеся к выбранной программе, в том случае, если данные задающего тактового генератора программы не включены в пакеты, относящиеся к выбранной программе;the step of selecting additional data packets from each packet data stream from which a program is selected that contains the data of the master clock related to the selected program, if the data of the master clock of the program is not included in the packets related to the selected program;

этап генерирования составного потока пакетированных данных из выбранных пакетов; иthe step of generating a composite stream of packetized data from the selected packets; and

этап генерирования идентификационных данных составного потока, определяющих идентификаторы пакетов данных в составном потоке пакетированных данных; иa step of generating identification data of the composite stream defining identifiers of data packets in the composite stream of packetized data; and

этап подачи составного потока пакетированных данных в декодер контента для декодирования в соответствии с данными задающего тактового генератора программы и идентификаторами пакетов, содержащимися в идентификационных данных составного потока.the step of supplying the composite stream of packetized data to the content decoder for decoding in accordance with the data of the master clock of the program and the packet identifiers contained in the identification data of the composite stream.

Очевидно, что в свете представленных выше идей возможны многочисленные модификации и вариации предмета настоящего изобретения. Вследствие этого понятно, что в рамках прилагаемой формулы изобретения упомянутая технология может осуществляться иными способами, чем конкретно описано в настоящем документе.Obviously, in light of the above ideas, numerous modifications and variations of the subject matter of the present invention are possible. Therefore, it is understood that, within the scope of the appended claims, the technology mentioned may be carried out in other ways than specifically described herein.

Claims (16)

1. Способ работы приемника аудио-видео контента, содержащего декодер контента, выполненный с возможностью декодирования аудио-видео программы из потока пакетированных данных с использованием пакетов данных, определяющих информацию дешифрования, причем способ содержит этапы, на которых:
принимают закодированный аудио-видео контент в виде потока пакетированных данных, содержащего одну или более программ, содержащих пакеты данных, идентифицируемые посредством соответствующих наборов из одного или более идентификаторов пакетов, и содержащего идентификационные данные, устанавливающие соответствие между программами и соответствующими наборами идентификаторов пакетов;
выбирают из потока пакетированных данных пакеты данных для требуемой программы в соответствии с набором идентификаторов пакетов, определяемым идентификационными данными для упомянутого потока в отношении требуемой программы;
выбирают дополнительные пакеты данных из потока пакетированных данных, из которого выбрана программа, содержащие идентификаторы пакетов, не включенные в состав идентификационных данных для упомянутого потока пакетированных данных;
генерируют составной поток пакетированных данных из выбранных пакетов;
генерируют идентификационные данные составного потока, указывающие идентификаторы пакетов, включенных в составной поток пакетированных данных; и
подают составной поток пакетированных данных в декодер контента для декодирования программы из составного потока пакетированных данных в соответствии с идентификаторами пакетов в идентификационных данных составного потока.
1. The method of operation of the receiver of audio-video content containing a content decoder, configured to decode an audio-video program from a packet data stream using data packets defining decryption information, the method comprising the steps of:
receive encoded audio-video content in the form of a packet data stream containing one or more programs containing data packets identifiable by means of respective sets of one or more packet identifiers and containing identification data establishing correspondence between programs and corresponding sets of packet identifiers;
selecting from the packet data stream data packets for the desired program in accordance with the set of packet identifiers determined by the identification data for said stream with respect to the desired program;
selecting additional data packets from the packet data stream from which the program is selected containing packet identifiers not included in the identification data for said packet data stream;
generating a composite stream of packetized data from the selected packets;
generating a composite stream identification data indicating identifiers of packets included in the composite packet data stream; and
supplying the composite packet data stream to a content decoder for decoding a program from the composite packet data stream in accordance with the packet identifiers in the identification data of the composite stream.
2. Способ по п. 1, содержащий этап, на котором выбирают из каждого потока пакетированных данных, из которого выбрана программа, дополнительные пакеты данных, содержащие задающие тактовые данные программы, относящиеся к выбранной программе.2. The method according to p. 1, comprising the step of selecting from each packet data stream from which the program is selected, additional data packets containing program defining clock data related to the selected program. 3. Способ по п. 1 или 2, содержащий этап, на котором включают идентификационные данные составного потока в составной поток пакетированных данных.3. A method according to claim 1 or 2, comprising the step of including the identity of the composite stream in the composite stream of packetized data. 4. Способ по п. 1 или 2, в котором:
декодер контента выполнен с возможностью одновременного декодирования двух или более аудио-видео программ из одного потока пакетированных данных;
при этом на этапе генерирования составного потока пакетированных данных формируют составной поток пакетированных данных из пакетов, представляющих две или более программ.
4. The method according to p. 1 or 2, in which:
a content decoder is configured to simultaneously decode two or more audio-video programs from a single packet data stream;
at the same time, at the stage of generating a composite packet data stream, a composite packet data stream is formed from packets representing two or more programs.
5. Способ по п. 4, в котором:
на этапе приема принимают два или более потоков пакетированных данных;
применяют этапы выбора к каждому потоку пакетированных данных, из которых выбирается программа;
составной поток пакетированных данных содержит программные данные из двух или более потоков пакетированных данных; и
на этапе генерирования составного потока пакетированных данных объединяют выбранные пакеты в составной поток пакетированных данных.
5. The method according to p. 4, in which:
at the receiving stage, two or more packet data streams are received;
apply selection steps to each packet data stream from which the program is selected;
the composite packetized data stream contains program data from two or more packetized data streams; and
in the step of generating a composite packet data stream, the selected packets are combined into a composite packet data stream.
6. Способ по п. 5, содержащий этап, на котором устанавливают соответствие между идентификаторами пакетов, выбранных по меньшей мере из одного потока пакетированных данных, и отличающимися от них идентификаторами пакетов.6. The method according to claim 5, comprising the step of establishing a correspondence between packet identifiers selected from at least one packet data stream and packet identifiers that are different from them. 7. Способ по п. 6, содержащий этапы, на которых:
назначают один из принимаемых потоков пакетированных данных первичным потоком пакетированных данных, а остальные принимаемые потоки пакетированных данных вторичными потоками пакетированных данных; и
устанавливают соответствие для идентификаторов пакетов из вторичных потоков пакетированных данных и не устанавливают соответствие идентификаторов пакетов из первичного потока пакетированных данных.
7. The method according to p. 6, containing stages in which:
designate one of the received packet data streams as the primary packet data stream, and the remaining received packet data streams as secondary packet data streams; and
they match the packet identifiers from the secondary packet data streams and do not match packet identifiers from the primary packet data stream.
8. Способ по п. 5, содержащий этап, на котором:
идентифицируют источник каждого выбранного пакета путем вставки дополнительной информации в начало каждого пакета, входящего в составной поток пакетированных данных.
8. The method according to p. 5, containing a stage on which:
identify the source of each selected packet by inserting additional information at the beginning of each packet included in the composite packet data stream.
9. Способ по п. 1 или 2, содержащий этапы, на которых:
указывают посредством декодера контента, что декодеру контента требуются пакеты из потока пакетированных данных с определенным идентификатором пакета, не включенным в идентификационные данные для упомянутого потока пакетированных данных; и
выбирают пакеты с упомянутым идентификатором пакета из упомянутого потока пакетированных данных для включения с составной поток пакетированных данных.
9. The method according to p. 1 or 2, containing stages in which:
indicate by the content decoder that the content decoder requires packets from the packet data stream with a specific packet identifier not included in the identification data for said packet data stream; and
packets with said packet identifier are selected from said packet data stream for inclusion with the composite packet data stream.
10. Носитель данных, хранящий компьютерную программу, которая при выполнении компьютером вызывает выполнение компьютером способа по любому из пп. 1-9.10. A storage medium storing a computer program, which when executed by a computer causes the computer to execute the method according to any one of paragraphs. 1-9. 11. Приемник аудио-видео контента, содержащий:
декодер контента, выпаленный с возможностью декодирования аудио-видео программы из потока пакетированных данных с использованием пакетов данных, определяющих информацию дешифрования;
тюнер, выполненный с возможностью приема кодированного аудио-видео контента в виде потока пакетированных данных, содержащего одну или более программ, содержащих пакеты данных, идентифицируемые по соответствующим наборам из одного или более идентификаторов пакетов, и содержащего идентификационные данные, устанавливающие соответствие между программами и соответствующими наборами идентификаторов пакетов;
блок выбора, выполненный с возможностью выбора из потока пакетированных данных пакетов данных для требуемой программы в соответствии с набором идентификаторов пакетов, определяемым идентификационными данными для упомянутого потока в отношении требуемой программы, и выбора дополнительных пакетов данных из потока пакетированных данных, из которого выбрана программа, содержащих идентификаторы пакетов, не включенные в идентификационные данные для упомянутого потока пакетированных данных; и
генератор составного потока пакетированных данных, выполненный с возможностью генерирования составного потока пакетированных данных из выбранных пакетов и генерирования идентификационных данных составного потока, указывающих идентификаторы пакетов, включенных в состав составного потока пакетированных данных;
причем упомянутый декодер контента выполнен с возможностью приема составного потока пакетированных данных, поступающего от генератора составного потока пакетированных данных, для декодирования программы из составного потока пакетированных данных в соответствии с идентификаторами пакетов, содержащимися в идентификационных данных составного потока.
11. A receiver of audio-video content containing:
a content decoder fired to decode the audio-video program from the packet data stream using data packets defining decryption information;
a tuner configured to receive encoded audio-video content in the form of a packet data stream containing one or more programs containing data packets identifiable by the corresponding sets of one or more packet identifiers and containing identification data establishing correspondence between the programs and corresponding sets package identifiers;
a selection unit configured to select from the packet data stream data packets for the desired program in accordance with the set of packet identifiers determined by the identification data for said stream with respect to the desired program and select additional data packets from the packet data stream from which the program is selected, containing packet identifiers not included in the identification data for said packet data stream; and
a composite packet data stream generator, configured to generate a composite packet data stream from the selected packets and generate a composite stream identification data indicating identifiers of packets included in the composite packet data stream;
wherein said content decoder is adapted to receive a composite packet data stream coming from the composite packet data generator to decode the program from the composite packet data stream in accordance with packet identifiers contained in the composite stream identification data.
12. Приемник по п. 11, в котором блок выбора выполнен с возможностью выбора дополнительных пакетов данных из каждого потока пакетированных данных, из которого выбрана программа, содержащих задающие тактовые данные программы, относящиеся к выбранной программе.12. The receiver according to claim 11, in which the selection unit is configured to select additional data packets from each packet data stream from which the program is selected, containing program defining clock data related to the selected program. 13. Приемник по п. 11 или 12, в котором декодер контента содержит два или более последовательно соединенных декодера контента.13. The receiver of claim 11 or 12, wherein the content decoder comprises two or more series-connected content decoders. 14. Приемник по п. 11, в котором генератор составного потока пакетированных данных выполнен с возможностью включения идентификационных данных составного потока в составной поток пакетированных данных.14. The receiver of claim 11, wherein the composite packet stream data generator is configured to include the composite stream identification data in the composite packet data stream. 15. Приемник по п. 11, характеризующийся тем, что выполнен с возможностью:
приема двух или более потоков пакетированных данных;
при этом блок выбора выполнен с возможностью работы с каждым потоком пакетированных данных, из которого выбрана программа;
составной поток пакетированных данных содержит программные данные из двух или более потоков пакетированных данных; а
генератор составного потока пакетированных данных выполнен с возможностью объединения выбранных пакетов для формирования составного потока пакетированных данных.
15. The receiver according to claim 11, characterized in that it is configured to:
receiving two or more streams of packetized data;
wherein the selection unit is configured to work with each packet data stream from which the program is selected;
the composite packetized data stream contains program data from two or more packetized data streams; but
the composite packet data stream generator is configured to combine selected packets to form a composite packet data stream.
16. Приемник по п. 15, в котором генератор составного потока пакетированных данных выполнен с возможностью идентификации источника каждого выбранного пакета путем вставки дополнительной информации в начало каждого пакета составного потока данных. 16. The receiver of claim 15, wherein the composite packet data generator is configured to identify the source of each selected packet by inserting additional information at the beginning of each packet of the composite data stream.
RU2014143022/07A 2012-03-26 2013-03-20 Conditional access method and apparatus for simultaneous handling of multiple television programmes RU2575242C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1205296.5 2012-03-26

Publications (1)

Publication Number Publication Date
RU2575242C1 true RU2575242C1 (en) 2016-02-20

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000077650A1 (en) * 1999-06-16 2000-12-21 Scm Microsystems Gmbh Device and method for managing automatically the flow of digital data of a host between a common interface and its associated modules
WO2003085985A2 (en) * 2002-04-11 2003-10-16 Nokia Corporation Digital video broadcasting receiver
RU2262209C2 (en) * 1998-11-09 2005-10-10 Каналь+Сосьетэ Аноним Method for transferring information, concerning a group of services, in digital communications system
RU2009135053A (en) * 2007-02-21 2011-03-27 Конинклейке Филипс Электроникс Н.В. (Nl) CONDITIONAL ACCESS SYSTEM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2262209C2 (en) * 1998-11-09 2005-10-10 Каналь+Сосьетэ Аноним Method for transferring information, concerning a group of services, in digital communications system
WO2000077650A1 (en) * 1999-06-16 2000-12-21 Scm Microsystems Gmbh Device and method for managing automatically the flow of digital data of a host between a common interface and its associated modules
WO2003085985A2 (en) * 2002-04-11 2003-10-16 Nokia Corporation Digital video broadcasting receiver
RU2009135053A (en) * 2007-02-21 2011-03-27 Конинклейке Филипс Электроникс Н.В. (Nl) CONDITIONAL ACCESS SYSTEM

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UNITY 4650 - digital Media Receiver/Decoder - User's Manual, Wegener Communications Inc., 2004, найдено в Internet на http://www.wegener.com/SUPPORT/pdf/manuals/800034-01A.pdf p.20-23, 39, 53, figure 3.1. *

Similar Documents

Publication Publication Date Title
GB2500615B (en) Selecting data packets from a packetized data stream comprising audio/video programme data packets and identification data
US9930393B2 (en) Receiving audio/video content
RU2578674C1 (en) Receiving audio/video content
US20140375892A1 (en) Receiving audio/video content
RU2575242C1 (en) Conditional access method and apparatus for simultaneous handling of multiple television programmes
GB2500612A (en) Receiving and Selectively Decoding Received Audio/Video Content According to a Security Indicator
WO2013144586A1 (en) Conditional access method and apparatus for simultaneously handling multiple television programmes
GB2500734A (en) Generating and coding a composite packetized audio/video (AV) data stream, including arrival timing data
GB2500614A (en) Method of processing received audio/visual data stream when programme clock reference (PCR) data is not included in selected programme-related packets