RU2325775C2 - Method of partial scrambling of data flow - Google Patents
Method of partial scrambling of data flow Download PDFInfo
- Publication number
- RU2325775C2 RU2325775C2 RU2006118798/09A RU2006118798A RU2325775C2 RU 2325775 C2 RU2325775 C2 RU 2325775C2 RU 2006118798/09 A RU2006118798/09 A RU 2006118798/09A RU 2006118798 A RU2006118798 A RU 2006118798A RU 2325775 C2 RU2325775 C2 RU 2325775C2
- Authority
- RU
- Russia
- Prior art keywords
- transport stream
- data
- packets
- payloads
- packet
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000006978 adaptation Effects 0.000 claims abstract description 9
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 238000005516 engineering process Methods 0.000 claims description 12
- 101100495513 Mus musculus Cflar gene Proteins 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000001824 photoionisation detection Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Это изобретение относится к способу частичного скремблирования потока данных, включающего в себя пакеты транспортного потока, причем каждый пакет транспортного потока имеет заголовок и полезную нагрузку, причем последовательность пакетов транспортного потока имеет полезные нагрузки, несущие кодированные элементы данных, размещенные в единицах, включающему в себяThis invention relates to a method for partially scrambling a data stream including transport stream packets, each transport stream packet having a header and a payload, the sequence of transport stream packets having payloads carrying encoded data elements arranged in units including
выбор пакетов транспортного потока, формирующих подпоследовательность упомянутой последовательности, иselection of transport stream packets forming a subsequence of said sequence, and
скремблирование, по меньшей мере, части полезных нагрузок каждого пакета транспортного потока в упомянутой подпоследовательности.scrambling at least a portion of the payloads of each packet of the transport stream in said subsequence.
Это изобретение также относится к системе для частичного скремблирования потока данных, включающего в себя пакеты транспортного потока, причем каждый пакет транспортного потока имеет заголовок и полезную нагрузку, причем последовательность пакетов транспортного потока имеет полезные нагрузки, несущие кодированные элементы данных, размещенные в единицах, включающей в себяThis invention also relates to a system for partially scrambling a data stream including transport stream packets, each transport stream packet having a header and a payload, the transport stream packet sequence having payloads carrying encoded data elements arranged in units including myself
порт для приема потока данных иport for receiving data stream and
конфигурацию для обработки данных в упомянутом потоке, причем система сконфигурирована с возможностью выбирать пакеты транспортного потока, формирующие подпоследовательность упомянутой последовательности, и скремблировать, по меньшей мере, часть полезных нагрузок каждого пакета транспортного потока в упомянутой подпоследовательности.a configuration for processing data in said stream, wherein the system is configured to select transport stream packets forming a subsequence of said sequence and scramble at least a portion of the payloads of each transport stream packet in said subsequence.
Это изобретение также относится к компьютерной программе.This invention also relates to a computer program.
Это изобретение также относится к сигналу, несущему поток данных, включающий в себя пакеты транспортного потока, причем каждый пакет транспортного потока имеет заголовок и полезную нагрузку.This invention also relates to a signal carrying a data stream including transport stream packets, with each transport stream packet having a header and a payload.
Примеры такого способа, системы, компьютерной программы и сигнала известны из WO 03/061289-A1. В упомянутой известной системе головной узел кабельной системы выбирает пакеты A/V контента в селекторе пакетов для шифрования. Пакеты, выбранные для шифрования, выбраны так, что их неприем окажет сильное влияние на декодирование реального времени программы и любую возможную последующую обработку записанного контента. То есть шифруются только критические пакеты. Для видео и аудио это может выполняться посредством шифрования пакетов транспортного потока "начала кадра", содержащих заголовки PES (пакетированный элементарный поток) и другие заголовки как часть полезной нагрузки, так как без этой информации STB декодер не может развернуть MPEG сжатые данные, MPEG-2 потоки идентифицируют пакеты "начала кадра" с помощью "индикатора начала единицы пакета" в транспортном заголовке. В общем, пакеты, несущие полезную нагрузку, которая содержит заголовок группы изображений или заголовок видеопоследовательности, могут использоваться для осуществления настоящей технологии скремблирования. Другие критические или важные пакеты или элементы контента также могут идентифицироваться для шифрования, которое может сильно препятствовать неавторизованному просмотру без отхода от настоящего изобретения. Например, MPEG кодированные внутренним образом пакеты или пакеты изображения I кадра могут шифроваться, чтобы препятствовать просмотру видео части программы.Examples of such a method, system, computer program, and signal are known from WO 03/061289-A1. In the aforementioned known system, the head node of the cable system selects A / V content packets in the packet selector for encryption. Packets selected for encryption are chosen so that their inadmissibility will have a strong impact on the real-time decoding of the program and any possible subsequent processing of the recorded content. That is, only critical packets are encrypted. For video and audio, this can be done by encrypting the "start of frame" transport stream packets containing PES (packet elementary stream) headers and other headers as part of the payload, since without this information the STB decoder cannot deploy MPEG compressed data, MPEG-2 streams identify “start of frame” packets with a “packet unit start indicator” in the transport header. In general, packets carrying a payload that contains an image group header or a video sequence header can be used to implement the present scrambling technology. Other critical or important packages or content elements can also be identified for encryption, which can greatly impede unauthorized viewing without departing from the present invention. For example, MPEG internally encoded packets or packets of an I frame image may be encrypted to prevent viewing of the video portion of the program.
Проблема упомянутого известного способа состоит в том, что шифрование всех полезных нагрузок TS пакетов, включающих в себя заголовки PES пакетов или выбранный критический пакет, приведет к потоку, в котором большой процент пакетов имеет шифрованную полезную нагрузку. Это делает упомянутый способ неподходящим для широковещания устройствам с ограниченной обрабатывающей способностью для дешифрования. Простое шифрование только нескольких полезных нагрузок TS пакетов, включающих в себя заголовки PES пакетов или выбранный критический пакет, не будет достаточным, когда полезные нагрузки пакетов включают в себя аудиовизуальные данные, кодированные, используя улучшенные технологии сжатия с высокой степенью устойчивости к потере пакетов. В этом случае неавторизованный получатель будет способен декодировать контент, используя данные, оставленные открытыми.The problem with the known method is that encrypting all the payloads of the TS packets, including the PES packet headers or the selected critical packet, will result in a stream in which a large percentage of packets have an encrypted payload. This makes the aforementioned method unsuitable for broadcast to devices with limited processing ability for decryption. Simply encrypting only a few TS packet payloads, including PES packet headers or a selected critical packet, will not be sufficient when packet payloads include audio-visual data encoded using advanced compression techniques with a high degree of packet loss tolerance. In this case, an unauthorized recipient will be able to decode the content using the data left open.
Целью этого изобретения является предоставить способ, систему и компьютерную программу классов, упомянутых выше, которые сделают возможным скремблирование полезных нагрузок только выбранных нескольких пакетов транспортного потока, при этом поддерживая эффективную защиту контента в присутствии технологий улучшенного декодирования, чтобы справляться с отсутствующими кодированными данными.The aim of this invention is to provide a method, system and computer program of the classes mentioned above that will make it possible to scramble the payloads of only selected several packets of the transport stream, while maintaining effective content protection in the presence of advanced decoding technologies to deal with missing encoded data.
Эта цель достигается посредством способа согласно этому изобретению, который характеризуется мониторингом полезных нагрузок, по меньшей мере, некоторых из пакетов транспортного потока в последовательности на наличие данных, показывающих границу между двумя последовательными единицами, и, для выбранных единиц, включение в упомянутую подпоследовательность, по меньшей мере, одного из пакетов транспортного потока, несущих данные, формирующие часть выбранной единицы.This goal is achieved by the method according to this invention, which is characterized by monitoring the payloads of at least some of the packets of the transport stream in a sequence for data showing the boundary between two consecutive units, and, for selected units, including at least at least one of the transport stream packets carrying data forming part of the selected unit.
Так как пакеты транспортного потока выбираются для формирования подпоследовательности, т.е. последовательности, сформированной из менее чем всех пакетов транспортного потока в последовательности, нагрузка дескремблирования на декодер, принимающий частично скремблированный поток, уменьшается. Так как кодированные элементы данных структурированы в единицы, они также обрабатываются на основе "единица за единицей", когда декодируются. Так как осуществляется мониторинг полной полезной нагрузки пакетов транспортного потока на наличие данных, показывающих границу между двумя последовательными единицами, является возможным обеспечить, чтобы только выбранные единицы делались неразборчивыми. Количество и происхождение могут делаться зависящими от процесса декодирования. Это также учитывает тот факт, что данные, формирующие единицу, могут переноситься в полезной нагрузке множества пакетов транспортного потока. Таким образом, скремблирование может быть приспособлено более близко к технологии кодирования.Since the packets of the transport stream are selected to form a subsequence, i.e. of the sequence formed from less than all packets of the transport stream in the sequence, the descrambling load on the decoder receiving the partially scrambled stream is reduced. Since the encoded data elements are structured into units, they are also processed on a unit by unit basis when decoded. Since the full payload of the transport stream packets is monitored for data showing the boundary between two consecutive units, it is possible to ensure that only the selected units are made illegible. The quantity and origin can be made dependent on the decoding process. This also takes into account the fact that the data forming the unit can be carried in the payload of multiple packets of the transport stream. Thus, scrambling can be adapted more closely to coding technology.
В предпочтительном варианте осуществления, где поток данных является мультиплексированным из элементарных потоков, способ включает в себя идентификацию, по меньшей мере, одного элементарного потока, включающего в себя последовательность пакетов транспортного потока, и мониторинг только полезных нагрузок пакетов в идентифицированном элементарном потоке (потоках).In a preferred embodiment, where the data stream is multiplexed from elementary streams, the method includes identifying at least one elementary stream including a sequence of packets of the transport stream, and monitoring only payloads of packets in the identified elementary stream (s).
Таким образом, предоставляется относительно эффективный способ для частичного скремблирования полезных нагрузок пакетов транспортного потока.Thus, a relatively efficient method is provided for partially scrambling the payloads of the transport stream packets.
В предпочтительном варианте осуществления выбранные единицы включают в себя единицы, содержащие, по меньшей мере, часть кодированного представления изображения.In a preferred embodiment, the selected units include units containing at least a portion of the encoded representation of the image.
Этот вариант осуществления имеет относительно высокое влияние в декодере. Изображения, содержащиеся в соответствующих единицах, почти неизменно являются необходимым выводом декодера, который более не может предоставляться без дескремблирования полезных нагрузок пакетов транспортного потока, содержащих эти выбранные единицы.This embodiment has a relatively high effect at the decoder. The images contained in the respective units are almost invariably the necessary output of the decoder, which can no longer be provided without descrambling the payloads of the transport stream packets containing these selected units.
В предпочтительном варианте осуществления, где каждая единица содержит указание типа данных, которые следуют, и часть, содержащую эти данные, тип каждой единицы в мониторируемых полезных нагрузках определяется из упомянутого указания, и единица содержится среди выбранных единиц, если тип соответствует, по меньшей мере, одному специальному типу.In a preferred embodiment, where each unit contains an indication of the type of data that follows and the portion containing this data, the type of each unit in the monitored payloads is determined from the indicated indication, and the unit is contained among the selected units if the type matches at least one special type.
Таким образом, достигается большое уменьшение в количестве пакетов транспортного потока, чьи полезные нагрузки скремблируются, при поддержании эффективной защиты контента.Thus, a large reduction is achieved in the number of transport stream packets whose payloads are scrambled while maintaining effective content protection.
Предпочтительно единицы типов, других, нежели специальный тип (типы), случайным образом содержатся среди выбранных единиц.Preferably, units of types other than the special type (s) are randomly contained among the selected units.
Таким образом, достигается дополнительная защита контента.Thus, additional content protection is achieved.
В предпочтительных вариантах предыдущих двух вариантов осуществления типы определяются технологией кодирования, с помощью которой формируются кодированные элементы данных.In preferred embodiments of the previous two embodiments, the types are determined by the encoding technology by which encoded data elements are generated.
Таким образом, эти полезные нагрузки пакетов, содержащие единицы, наиболее критичные для процесса декодирования, поддаются выбору для скремблирования. Это делает защиту контента более эффективной, так как является точно подогнанным для конкретного CODEC, который используется.Thus, these packet payloads containing the units most critical to the decoding process are selectable for scrambling. This makes content protection more effective, as it is tailored to the specific CODEC that is being used.
В предпочтительном варианте осуществления, где кодированные элементы данных являются декодируемыми при использовании технологии декодирования с предсказанием, специальные типы включают в себя тип элемента данных, позволяющий, чтобы предсказание выводилось только из декодированных данных, принадлежащих элементу данных.In a preferred embodiment, where the encoded data elements are decoded using prediction decoding technology, special types include a data element type that allows prediction to be output only from decoded data belonging to the data element.
Так как эти элементы данных допускают произвольный доступ в поток кодированных данных, установка их недоступными имеет большое влияние на процесс декодирования, который, в общем, не может начаться без этих кодированных элементов данных.Since these data elements allow random access to the encoded data stream, setting them inaccessible has a big impact on the decoding process, which, in general, cannot start without these encoded data elements.
В предпочтительном варианте осуществления в подпоследовательность включаются до некоторого максимального числа пакетов транспортного потока, следующих за первым пакетом транспортного потока, несущим данные, формирующие часть выбранной единицы.In a preferred embodiment, up to a certain maximum number of transport stream packets following the first transport stream packet carrying data forming part of the selected unit is included in the subsequence.
Это уменьшает нагрузку на приемник, при этом поддерживая адекватную защиту. Максимальное число выбирается таким образом, чтобы сделать коррекцию ошибок невозможной. В частности, там, где пакеты транспортного потока все имеют стандартную длину, включение туда до максимального числа всех пакетов транспортного потока, несущих данные, формирующие часть единицы, позволяет избежать скремблирования больше полезных нагрузок, чем требуется для воспроизведения неэффективных технологий в приемнике, чтобы справляться с потерей данных. Таким образом, достигается эффективная защита, при этом нагрузка на авторизованный приемник, предоставляющий доступ к частично скремблированному потоку, удерживается настолько низкой, насколько возможно.This reduces the load on the receiver while maintaining adequate protection. The maximum number is selected in such a way as to make error correction impossible. In particular, where the transport stream packets all have a standard length, including up to the maximum number of all transport stream packets carrying data forming part of the unit avoids scrambling more payloads than is required for reproducing inefficient technologies in the receiver to cope with data loss. Thus, effective protection is achieved, while the load on the authorized receiver providing access to the partially scrambled stream is kept as low as possible.
Согласно другому аспекту система согласно этому изобретению характеризуется тем, что эта система конфигурируется с возможностью осуществлять мониторинг полезных нагрузок, по меньшей мере, некоторых из пакетов транспортного потока в последовательности на наличие данных, показывающих границу между двумя последовательными единицами, и, для выбранных единиц, включать в подпоследовательность, по меньшей мере, один из пакетов транспортного потока, несущий данные, формирующие часть выбранной единицы.According to another aspect, the system of this invention is characterized in that the system is configured to monitor the payloads of at least some of the transport stream packets in sequence for data showing the boundary between two consecutive units, and, for selected units, include in a subsequence, at least one of the transport stream packets carrying data forming part of the selected unit.
Система является подходящей для генерирования частично скремблированного потока, в котором элементы данных хорошо защищены от доступа неавторизованными приемниками, но которые не накладывают больших требований на обрабатывающую способность авторизованных приемников.The system is suitable for generating a partially scrambled stream in which data elements are well protected from access by unauthorized receivers, but which do not impose large requirements on the processing ability of authorized receivers.
Предпочтительно система конфигурируется с возможностью включать в подпоследовательность до некоторого максимального числа пакетов транспортного потока, следующих за первым пакетом транспортного потока, несущим данные, формирующие часть выбранной единицы, и предоставляется с возможностью для установки упомянутого максимального числа.Preferably, the system is configured to subsequently include up to a certain maximum number of transport stream packets following the first transport stream packet carrying data forming part of the selected unit and is provided with the ability to set said maximum number.
Это уменьшает нагрузку на приемник, при этом поддерживая адекватную защиту. Максимальное число может быть установлено таким образом, чтобы сделать коррекцию ошибок невозможной. В частности, там, где пакеты транспортного потока все имеют стандартную длину, включение туда до максимального числа всех пакетов транспортного потока, несущих данные, формирующие часть единицы, позволяет избежать скремблирования больше полезных нагрузок, чем требуется для воспроизведения неэффективных технологий в приемнике, чтобы справляться с потерей данных. Таким образом, достигается эффективная защита, при этом нагрузка на авторизованный приемник, предоставляющий доступ к частично скремблированному потоку, удерживается настолько низкой, насколько возможно. Так как максимальное число может устанавливаться, в рассмотрение могут приниматься факторы, такие как профиль обычных приемников, способ кодирования и количество выбранных единиц.This reduces the load on the receiver while maintaining adequate protection. The maximum number can be set in such a way as to make error correction impossible. In particular, where the transport stream packets all have a standard length, including up to the maximum number of all transport stream packets carrying data forming part of the unit avoids scrambling more payloads than is required for reproducing inefficient technologies in the receiver to cope with data loss. Thus, effective protection is achieved, while the load on the authorized receiver providing access to the partially scrambled stream is kept as low as possible. Since the maximum number can be set, factors such as the profile of conventional receivers, the encoding method, and the number of units selected can be taken into consideration.
Согласно другому аспекту это изобретение предоставляет компьютерную программу, адаптированную, когда исполняется на компьютере, конфигурировать компьютер, исполнять способ согласно этому изобретению.According to another aspect, this invention provides a computer program adapted when executed on a computer to configure a computer to execute a method according to this invention.
Согласно другому аспекту это изобретение предоставляет сигнал, несущий поток данных, включающий в себя пакеты транспортного потока, причем каждый пакет транспортного потока имеет заголовок и полезную нагрузку, причем последовательность пакетов транспортного потока имеет полезные нагрузки, несущие кодированные элементы данных, размещенные в единицах, причем каждая единица имеет некоторый тип, причем, по меньшей мере, часть полезной нагрузки каждого пакета транспортного потока в некоторой подпоследовательности, из упомянутой последовательности, скремблируется, причем для каждой единицы типа, соответствующего выбранному типу, подпоследовательность включает в себя, по меньшей мере, один из пакетов транспортного потока, несущих данные, формирующие часть той единицы, причем, по меньшей мере, один из пакетов транспортного потока включает в себя данные, показывающие границу между двумя последовательными единицами.According to another aspect, this invention provides a signal carrying a data stream including transport stream packets, each transport stream packet having a header and a payload, the sequence of transport stream packets having payloads carrying encoded data elements arranged in units, each the unit is of some type, with at least a portion of the payload of each packet of the transport stream in a certain subsequence, of which sequence, is scrambled, and for each unit of the type corresponding to the selected type, the subsequence includes at least one of the transport stream packets carrying data forming part of that unit, and at least one of the transport stream packets includes self data showing the boundary between two consecutive units.
Сигнал подходит для однонаправленной передачи, мультивещания или широковещания приемникам с ограниченной обрабатывающей способностью для дескремблирования, но оснащенным декодерами с высокой степенью толерантности к потере данных. Они, в частности, включают в себя беспроводные устройства.The signal is suitable for unidirectional transmission, multicasting or broadcasting to receivers with limited processing ability for descrambling, but equipped with decoders with a high degree of tolerance to data loss. They, in particular, include wireless devices.
Это изобретение теперь будет изображаться более детально со ссылкой на сопровождающие чертежи, на которыхThis invention will now be illustrated in more detail with reference to the accompanying drawings, in which
фиг.1 схематически показывает систему для частичного скремблирования потока данных;figure 1 schematically shows a system for partial scrambling of a data stream;
фиг.2 схематически показывает поток данных, состоящий из пакетов транспортного потока, в соответствии со стандартом MPEG-2;2 schematically shows a data stream consisting of transport stream packets in accordance with the MPEG-2 standard;
фиг.3 схематически показывает компоновку заголовка пакета транспортного потока MPEG-2;figure 3 schematically shows the layout of the packet header of the transport stream MPEG-2;
фиг.4 схематически показывает компоновку пакета программного элементарного потока, переносимого в потоке данных из фиг.2; иfigure 4 schematically shows the layout of the software package elementary stream carried in the data stream of figure 2; and
фиг.5 схематически показывает компоновку единицы слоя адаптации сети, как определяется стандартом H.264/AVC, и переносимого в потоке данных из фиг.2.FIG. 5 schematically shows a layout of a network adaptation layer unit, as defined by the H.264 / AVC standard, and carried in the data stream of FIG. 2.
Это изобретение будет объясняться в варианте осуществления для частичного скремблирования потока данных, включающего в себя пакеты транспортного потока, в соответствии с ISO/IEC 13818-1 или стандартом систем MPEG-2. В этом конкретном варианте осуществления MPEG-2 используется как механизм доставки для аудиовизуальных данных, кодированных в соответствии со стандартом H.264/AVC. Следует понимать, что это изобретение может применяться к другим механизмам доставки, нежели MPEG-2. Один пример - это протокол Интернет (IP), который определяет IP дейтаграммы, имеющие заголовок и полезную нагрузку. Аналогично, использование H.264/AVC как технологии кодирования контента является предпочтительным примером, вследствие высокой степени сжатия и приемлемого качества, которое может быть достигнуто. Однако альтернативой является видеокодирование MPEG-2, в котором кодированное видео расположено в кадрах.This invention will be explained in an embodiment for partially scrambling a data stream including transport stream packets in accordance with ISO / IEC 13818-1 or the MPEG-2 systems standard. In this particular embodiment, MPEG-2 is used as a delivery mechanism for audiovisual data encoded in accordance with the H.264 / AVC standard. It should be understood that this invention can be applied to other delivery mechanisms than MPEG-2. One example is the Internet Protocol (IP), which defines IP datagrams that have a header and a payload. Similarly, the use of H.264 / AVC as a content encoding technology is a preferred example, due to the high compression ratio and acceptable quality that can be achieved. However, an alternative is MPEG-2 video coding, in which encoded video is located in frames.
В примере, который будет подробно описываться, поток данных находится в формате транспортного потока MPEG-2. Этот пример может быть адаптирован к формату программного потока. Термин пакет транспортного потока, поэтому, не означает, что предписывается использование конкретного формата. Следует заметить, что, когда используется формат программного потока, данные передаются в PES пакетах, причем каждый имеет заголовок, и что PES пакеты группируются в пачки, причем каждая имеет заголовок пачки.In the example that will be described in detail, the data stream is in the MPEG-2 transport stream format. This example can be adapted to the program stream format. The term packet transport stream, therefore, does not mean that the use of a specific format is prescribed. It should be noted that when the program stream format is used, data is transmitted in PES packets, each with a header, and that PES packets are grouped in packets, each with a packet header.
На фиг.1 сервер 1 видеофайлов предоставляет поток систем MPEG-2, несущий H.264 кодированное видео, среди прочего. Мультиплексор 2 присоединяет сообщения условного доступа (CA) в поток данных. Сообщения CA включают в себя сообщения администрирования именования (EMM), генерируемые EMM генератором 3, и сообщения управления именованием (ECM), генерируемые ECM генератором 4. ECM генератор 4 генерирует управляющие слова (CW). Они предоставляются устройству 5 скремблирования, выполненному с возможностью частично скремблировать поток выходных данных мультиплексора 2. Слова CW шифруются согласно сервисному ключу, предоставленному EMM генератором 3, который упаковывает сервисные ключи в сообщения EMM. Таким образом, используемая CA схема соответствует, по существу, общему алгоритму скремблирования широковещания цифрового видео (DVB), который известен сам по себе, например, из технического доклада 289 ETSI и не описывается здесь более детально. Следует заметить, что разделение на компоненты на фиг.1 имеет функциональную природу. Несколько или все из них могут комбинироваться в единичном физическом устройстве, так же, как функциональность некоторых из этих компонентов может обеспечиваться раздельно различными устройствами. Более того, вариант осуществления этой функциональности может быть в программном обеспечении или аппаратном обеспечении.1, a video file server 1 provides an MPEG-2 systems stream carrying H.264 encoded video, among other things. Multiplexer 2 attaches conditional access (CA) messages to the data stream. CA messages include naming administration messages (EMM) generated by EMM generator 3, and naming management messages (ECM) generated by ECM generator 4. ECM generator 4 generates control words (CW). They are provided to the scrambling device 5, configured to partially scramble the output stream of the multiplexer 2. The words CW are encrypted according to the service key provided by EMM by the generator 3, which packages the service keys into EMM messages. Thus, the CA scheme used corresponds in essence to the general digital video broadcast (DVB) broadcast scrambling algorithm, which is known per se, for example, from ETSI Technical Report 289 and is not described in more detail here. It should be noted that the division into components in figure 1 has a functional nature. Some or all of them can be combined in a single physical device, just as the functionality of some of these components can be provided separately by different devices. Moreover, an embodiment of this functionality may be in software or hardware.
Фиг.2 показывает поток 6 данных, включающий в себя пакеты 7a-7p транспортного потока (TS). Каждый TS пакет 7 имеет заголовок 8a-8p TS пакета и полезную нагрузку 9a-9p TS пакета. Поток 6 данных получается мультиплексированием элементарных потоков. Каждый элементарный поток соответствует некоторому кодированному битовому потоку, например кодированному аудио, видеопотоку или потоку данных. Например, сообщения ECM переносятся в отдельном элементарном потоке, тогда как, по меньшей мере, один элементарный поток, принимаемый устройством 5 скремблирования, является потоком H.264 кодированного видео.FIG. 2 shows a data stream 6 including transport stream (TS)
Фиг.3 показывает состав заголовка 8 TS пакета. Он включает в себя байт 10 синхронизации, payload_unit_start_indicator 11 (индикатор_начала_единицы_полезной_нагрузки), поле 12 идентификатора пакета (PID), управляющее поле 13 транспортного скремблирования и, необязательно, поле 14 адаптации. Другие части описываются в ISO/IEC 13818-1. Каждый элементарный поток соответствует единственному PID. Таким образом, устройство 5 скремблирования способно идентифицировать элементарный поток или потоки, несущие H.264 кодированное видео. Ради эффективности обрабатываются только TS пакеты 7, принадлежащие такому потоку или потокам. Как известно из ISO/IEC 13818-1, MPEG-2 транспортный поток будет содержать программную специальную информацию (PSI), идентифицирующую различные элементарные потоки и их назначенные идентификаторы PID, так же, как тип данных, переносимых в элементарном потоке. Один тип, идентифицируемый в таблице ассоциации программ (PAT), - это H.264. Устройство 5 скремблирования может использовать PSI, чтобы идентифицировать идентификатор PID (идентификаторы PID) элементарного потока (потоков), который должен частично скремблироваться.Figure 3 shows the composition of the header 8 TS package. It includes a
В последующем будет предполагаться, что только один элементарный поток должен частично скремблироваться. TS пакеты 7 с PID, соответствующим этому конкретному элементарному потоку, извлекаются из потока данных, таким образом, формируя последовательность TS пакетов 7, имеющих полезные нагрузки 9 TS пакетов, несущие Н.264 кодированные элементы данных.In the following, it will be assumed that only one elementary stream should be partially scrambled.
Предпочтительно кодированные элементы данных содержат, по меньшей мере, части кодированных представлений изображений. Изображение является кадром или полем в видео последовательности (т.е. полным изображением или чередующимися линиями). Макроблоки, блоки из шестнадцати на шестнадцать выборок яркости и цветности, формируются из данных каждого изображения. Это делается в соответствии с растровым сканированием, преобразованием прямоугольного двумерного шаблона макроблоков в изображении в одномерный шаблон, так что первые вхождения в одномерном шаблоне - из первой верхней строки двумерного шаблона, сканированного слева направо, за которыми следуют макроблоки из следующих строк, каждая сканированная слева направо. Изображение разбивается в группы срезов, подмножества макроблоков. Срез содержит макроблоки, которые являются последовательными в растровом сканировании внутри группы среза, но не обязательно внутри изображения. Таким образом, является возможным назначить каждый другой макроблок в растровом сканировании изображения некоторой отдельной группе среза, например. Срез декодируется только на основе выборок изнутри этого среза, т.е. независимо от выборок в других срезах. Однако когда данные в одном срезе теряются при передаче, могут использоваться данные в другом срезе, чтобы "заполнить пропуски" в декодированном изображении.Preferably, the encoded data elements comprise at least portions of the encoded representations of the images. An image is a frame or field in a video sequence (i.e., a full image or alternating lines). Macroblocks, blocks of sixteen to sixteen samples of brightness and color, are formed from the data of each image. This is done in accordance with raster scanning, converting a rectangular two-dimensional macroblock pattern in an image into a one-dimensional pattern, so that the first occurrences in a one-dimensional pattern are from the first top row of a two-dimensional pattern scanned from left to right, followed by macroblocks from the following lines, each scanned from left to right . The image is divided into groups of slices, a subset of macroblocks. A slice contains macroblocks that are sequential in a raster scan within a slice group, but not necessarily within an image. Thus, it is possible to assign each other macroblock in a raster scan of an image to some separate slice group, for example. A slice is decoded only on the basis of samples from within this slice, i.e. regardless of samples in other slices. However, when data in one slice is lost during transmission, data in another slice can be used to “fill in the gaps” in the decoded image.
Частота отбираемых изображений предоставляет разделение во времени, в дополнение к топографическому разбиению, предоставляемому срезами. H.264 является примером способа кодирования с предсказанием: значение пикселя кодируется как сумма некоторого предсказываемого значения и величины разницы, на которую последняя величина уменьшается настолько, насколько возможно в течение кодирования. Для срезов, содержащих данные из первого изображения и из изображений, определенных как точки произвольного доступа, прогнозируемые значения базируются только на значениях внутри самого этого изображения, а не на значениях в изображениях в другой точке в порядке передачи. Такие срезы называются - кодированные внутренним образом срезы. Остающиеся срезы могут кодироваться таким образом, чтобы только быть декодируемыми, используя также значения в других изображениях в порядке последовательности изображений. Таким образом, возможно декодировать последовательность кодированных изображений, начиная на кодированном внутренним образом изображении, но не начиная на другом типе кодированного изображения.The frequency of the selected images provides time division, in addition to the topographic division provided by the slices. H.264 is an example of a predictive coding method: a pixel value is encoded as the sum of some predicted value and a difference value by which the latter value decreases as much as possible during the encoding. For slices containing data from the first image and from images defined as random access points, the predicted values are based only on the values inside the image itself, and not on the values in the images at another point in the transmission order. Such slices are called internally encoded slices. The remaining slices can be encoded so that they can only be decoded, using also the values in other images in the order of the image sequence. Thus, it is possible to decode a sequence of encoded images starting on an internally encoded image, but not starting on another type of encoded image.
До сих пор описание соответствующих частей H.264 касалось только так называемого слоя видеокодирования (VCL). Для передачи кодированных срезов они упаковываются в так называемые единицы 15a-15x слоя адаптации сети (NAL) (фиг.1). Каждый срез содержится в единичной NAL единице 15. Наборы NAL единиц 15 формируют единицы доступа (AU). Каждая AU всегда содержит первичное кодированное изображение, т.е. все макроблоки изображения. Следует принять во внимание, что размер данных NAL единицы 15 варьирует согласно количеству групп срезов, типу (энтропийного) кодирования, используемого для генерирования срезов, и т.д. Таким образом, последовательность TS пакетов 7 содержит NAL единицы 15 варьирующих длин.Until now, the description of the relevant parts of H.264 concerned only the so-called video coding layer (VCL). To transmit coded slices, they are packaged into so-called
Каждый набор NAL единиц 15, формирующих AU, переносится в одном пакете 16 программного элементарного потока (PES), который, в свою очередь, переносится TS пакетами 7. Компоновка PES пакета 16 показана на фиг.4. Она включает в себя префикс 17a-d кода начала пакета (см. также фиг.2). Префикс 17 кода начала пакета - это код из двадцати четырех бит в длину. Вместе с stream_id 18 он составляет код начала пакета, который идентифицирует начало PES пакета 16. В отличие от TS пакетов 7, которые имеют стандартную фиксированную длину, PES пакет 16 имеет переменную длину. Длина указывается в поле 19 длины PES пакета. За этим полем 19 необязательно следует PES заголовок 20. После этого идет полезная нагрузка 21 PES пакета, т.е. NAL единицы 15.Each set of
Следует отметить, что stream_id 18 (id_потока) определяет как тип, так и номер элементарного потока. Он может, таким образом, использоваться как альтернатива идентификации элементарного потока, который должен частично скремблироваться устройством 5 скремблирования. Начало нового PES пакета 16 всегда следует немедленно после заголовка 8 TS пакета, в этом случае payload_unit_start_indicator 11 имеет значение "TRUE". Никакие два PES пакета 16 не начинаются в одном и том же TS пакете 7.It should be noted that stream_id 18 (stream_id) defines both the type and number of the elementary stream. It can thus be used as an alternative to identifying an elementary stream that is to be partially scrambled by the scrambling device 5. The start of a
Фиг.5 показывает компоновку NAL единицы 15 в формате для передачи в байтовом потоке. Он начинается префиксом 22 кода начала. Префикс 22 кода начала - это уникальная последовательность трех байтов, равная '0x00 0001', вложенная в байтовый поток как префикс для каждой NAL единицы 15. Таким образом, префикс 22 кода начала показывает границу между двумя последовательными NAL единицами 15. За префиксом 22 кода начала следует forbidden_bit 23 (запретный_бит), nal_storage_idc 24 и nal_unit_type 25.5 shows a layout of a
Десять различных типов определяются технологией кодирования, с помощью которой срезы были сформированы. Один из них - это тип разделителя единиц доступа (AUD). Присутствие NAL единицы 15 этого типа показывает границу между последовательными единицами AU. Первая NAL единица 15 единицы AU всегда имеет этот тип. Другой возможный тип - это тип мгновенного обновления декодера (IDR). Такая NAL единица 15 содержит кодированный внутренним образом срез. Таким образом, соответствующее значение nal_unit_type 25 показывает, что выровненные по байтам данные 26, следующие за ним, являются частью элемента данных, представляющего кодированное внутренним образом изображение.Ten different types are determined by the coding technology with which the slices were formed. One of them is the type of access unit separator (AUD). The presence of
После извлечения из потока 6 данных элементарного потока, который должен частично скремблироваться, устройство скремблирования осуществляет мониторинг полезных нагрузок 9 TS пакетов TS пакетов 7 в этом потоке на наличие префикса 22 кода начала. Устройство 5 скремблирования способно делать различие между префиксом 17 кода начала пакета PES пакета 16 и префиксом 22 кода начала, показывающим границу между последовательными NAL единицами 15. Следует заметить, что префикс 17 кода начала PES пакета всегда следует немедленно после заголовка 8 TS пакета. Устройство 5 скремблирования способно осуществлять мониторинг частей полезной нагрузки 9 TS пакета, отделенной заголовком 8 TS пакета посредством компонентов, показывающих начало пакета элементарного потока, т.е. PES пакета.After retrieving an elementary stream from data stream 6, which is to be partially scrambled, the scrambling device monitors payloads 9 TS packets of
Как только конец NAL единицы 15 идентифицируется, система определяет тип NAL единицы 15, как показывается с помощью nal_unit_type 25. По меньшей мере, если тип соответствует IDR, один или более из TS пакетов 7, несущих данные, формирующие часть этой NAL единицы 15, выбирается для включения в подпоследовательность. Полезные нагрузки 9 TS пакетов TS пакетов 7 в упомянутой подпоследовательности скремблируются. Следует заметить, что термин "подпоследовательность" является понятийным термином. Он здесь используется, чтобы указывать на упорядоченное подмножество, т.е. меньшее количество, TS пакетов 7 в последовательности TS пакетов 7, формирующих элементарный поток.As soon as the end of
Предпочтительно некоторое количество дополнительных TS пакетов 7, следующих за первым TS пакетом 7, несущим данные, формирующие часть выбранной NAL единицы 15, также выбирается для включения в подпоследовательность, которая должна скремблироваться. Эти дополнительные TS пакеты 7 выбираются из того же элементарного потока на основе PID, как определяется из поля 12 PID. Система включает в себя средство для регулировки количества дополнительных пакетов, которые выбираются. Таким образом, оператор системы условного доступа может достигать компромисса между уровнем защиты контента и уровнем обрабатывающей способности, необходимой для дескремблирования частично скремблированного потока.Preferably, a number of
Доля скремблированных TS пакетов 7 в последовательности, несущей элементарный поток, может быть относительно низкой, когда выбор базируется на наличии NAL единиц 15 типа IDR. В таких случаях для скремблирования могут выбираться дополнительные TS пакеты 7. В предпочтительном варианте осуществления система конфигурируется или может конфигурироваться с возможностью выбирать единицы типов, других, нежели IDR, произвольным образом. Полезная нагрузка 7 TS пакета, по меньшей мере, одного из TS пакетов 7, несущих выбранную единицу, также скремблируется. Другие типы могут быть всеми или подмножеством девяти определенных типов, других, нежели IDR. В одном варианте осуществления частота, с которой дополнительные TS пакеты 7 включаются в подпоследовательность для скремблирования, непрерывно регулируется. Это делается таким образом, чтобы удерживать долю TS пакетов 7 в подпоследовательности по отношению ко всем TS пакетам в последовательности, представляющей элементарный поток, на, или ниже, некотором уровне, например 5%.The proportion of scrambled
Частично скремблированный поток данных модулируется передатчиком 27. В предпочтительном варианте осуществления MPEG-2 пакеты транспортного потока модулируются в CDMA (множественный доступ с кодовым разделением каналов) носители в соответствии с системным E вариантом стандарта широковещания цифрового аудио (ETSI 300 401). Таким образом, передатчик передает сигнал, несущий частично скремблированный поток данных. Посредством использования технологии беспроводной передачи, частично скремблированный поток данных делается доступным для мобильных приемных/декодирующих устройств. Эти устройства обеспечиваются способностью дескремблирования и декодирования, предпочтительно реализованной в программном обеспечении. В этом случае сигнал, более конкретно способ, которым поток данных был скремблирован, позволяет дескремблирование и декодирование с низкой интенсивностью обработки.The partially scrambled data stream is modulated by the transmitter 27. In a preferred embodiment, MPEG-2 transport stream packets are modulated in CDMA (code division multiple access) media in accordance with the system E version of the digital audio broadcast standard (ETSI 300 401). Thus, the transmitter transmits a signal carrying a partially scrambled data stream. Through the use of wireless transmission technology, a partially scrambled data stream is made available to mobile receivers / decoders. These devices are provided with the ability to descramble and decode, preferably implemented in software. In this case, the signal, more specifically the method by which the data stream has been scrambled, allows descrambling and decoding with a low processing rate.
Должно быть ясно, что скремблирование выполняется на уровне транспортного потока, т.е. посредством скремблирования, по меньшей мере, части полезных нагрузок 9 TS пакетов выбранных TS пакетов 7. Заголовок 8 TS пакета, конкретно поле 13 управления транспортным скремблированием, предоставляет эффективный способ передачи сигнала приемнику о том, имеет ли конкретный пакет скремблированную полезную нагрузку. Таким образом, приемник не должен обследовать полное содержимое полезной нагрузки каждого пакета, чтобы избирательно дескремблировать кодированные данные. Скорее, он может выполнить дескремблирование до обработки фактического содержимого полезных нагрузок.It should be clear that scrambling is performed at the transport stream level, i.e. by scrambling at least a portion of the payloads 9 TS packets of the selected
Это изобретение не ограничивается вариантом осуществления, здесь описанным, и может изменяться в рамках объема, определенного прилагаемой формулой изобретения. Например, кодированные элементы данных могут переноситься в полезных нагрузках пакетов транспортного потока, как определяется другими протоколами для беспроводной передачи. Также, скремблирование может выполняться на уровне PES, означая, что полезная нагрузка PES пакета 16, определенного переносить NAL единицу 15 специального типа (например, IDR), содержится среди полезных нагрузок пакетов, которые должны скремблироваться.This invention is not limited to the embodiment described herein, and may vary within the scope defined by the appended claims. For example, encoded data elements may be carried in payloads of transport stream packets, as defined by other protocols for wireless transmission. Also, scrambling can be performed at the PES level, meaning that the payload of the PES of
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2006118798/09A RU2325775C2 (en) | 2004-07-26 | 2004-07-26 | Method of partial scrambling of data flow |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2006118798/09A RU2325775C2 (en) | 2004-07-26 | 2004-07-26 | Method of partial scrambling of data flow |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2006118798A RU2006118798A (en) | 2007-12-20 |
| RU2325775C2 true RU2325775C2 (en) | 2008-05-27 |
Family
ID=38916786
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2006118798/09A RU2325775C2 (en) | 2004-07-26 | 2004-07-26 | Method of partial scrambling of data flow |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2325775C2 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2541923C1 (en) * | 2010-12-29 | 2015-02-20 | Виаксесс | Method of transmitting and receiving multimedia content |
| RU2565371C2 (en) * | 2009-09-10 | 2015-10-20 | 3етТиИ Корпорейшн | Method and apparatus for retrieving i frame |
| RU2829309C1 (en) * | 2024-02-05 | 2024-10-30 | Дмитрий Александрович Половников | Method of protecting information |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2086237B1 (en) * | 2008-02-04 | 2012-06-27 | Alcatel Lucent | Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6415031B1 (en) * | 1999-03-12 | 2002-07-02 | Diva Systems Corporation | Selective and renewable encryption for secure distribution of video on-demand |
| RU2001115696A (en) * | 1998-11-09 | 2003-06-27 | КАНАЛЬ+ Сосьетэ Аноним | Transmission of information regarding service groups in a digital transmission system |
| WO2003061289A1 (en) * | 2002-01-02 | 2003-07-24 | Sony Electronics Inc. | Critical packet partial encryption |
| RU2212770C2 (en) * | 1997-12-23 | 2003-09-20 | Каналь+Сосьетэ Аноним | Scrambling device for digital transmission system |
| RU2225075C2 (en) * | 1997-11-17 | 2004-02-27 | КАНАЛЬ+ Сосьетэ Аноним | Data burst filtering |
| WO2004056112A1 (en) * | 2002-12-16 | 2004-07-01 | Koninklijke Philips Electronics N.V. | Method and apparatus to encrypt video data streams |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1001631A1 (en) * | 1998-11-09 | 2000-05-17 | CANAL+ Société Anonyme | Signalling of bouquet information in a digital transmission system |
-
2004
- 2004-07-26 RU RU2006118798/09A patent/RU2325775C2/en not_active IP Right Cessation
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2225075C2 (en) * | 1997-11-17 | 2004-02-27 | КАНАЛЬ+ Сосьетэ Аноним | Data burst filtering |
| RU2212770C2 (en) * | 1997-12-23 | 2003-09-20 | Каналь+Сосьетэ Аноним | Scrambling device for digital transmission system |
| RU2001115696A (en) * | 1998-11-09 | 2003-06-27 | КАНАЛЬ+ Сосьетэ Аноним | Transmission of information regarding service groups in a digital transmission system |
| US6415031B1 (en) * | 1999-03-12 | 2002-07-02 | Diva Systems Corporation | Selective and renewable encryption for secure distribution of video on-demand |
| WO2003061289A1 (en) * | 2002-01-02 | 2003-07-24 | Sony Electronics Inc. | Critical packet partial encryption |
| WO2004056112A1 (en) * | 2002-12-16 | 2004-07-01 | Koninklijke Philips Electronics N.V. | Method and apparatus to encrypt video data streams |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2565371C2 (en) * | 2009-09-10 | 2015-10-20 | 3етТиИ Корпорейшн | Method and apparatus for retrieving i frame |
| RU2541923C1 (en) * | 2010-12-29 | 2015-02-20 | Виаксесс | Method of transmitting and receiving multimedia content |
| RU2829309C1 (en) * | 2024-02-05 | 2024-10-30 | Дмитрий Александрович Половников | Method of protecting information |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2006118798A (en) | 2007-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7978852B2 (en) | Method of partially scrambling a data stream | |
| US7792294B2 (en) | Selective encryption encoding | |
| CA2487319C (en) | Seamless switching between multiple pre-encrypted video files | |
| US8027469B2 (en) | Video slice and active region based multiple partial encryption | |
| EP0674441B1 (en) | A method for scrambling a digitally transmitted television signal | |
| US7801306B2 (en) | Secure information distribution system utilizing information segment scrambling | |
| RU2547624C2 (en) | Signalling method for broadcasting video content, recording method and device using signalling | |
| US20080137850A1 (en) | Method and system for a generic key packet for mpeg-2 transport scrambling | |
| US20090225983A1 (en) | System and method for improved processing and decoding of an encrypted digital video signal | |
| KR100952820B1 (en) | Partial Encryption and PID Mapping | |
| US20110211695A1 (en) | Broadcasting variants of digital signals in a conditional access system | |
| KR100858233B1 (en) | How to Partially Scramble a Data Stream | |
| RU2325775C2 (en) | Method of partial scrambling of data flow | |
| US11778251B2 (en) | Selective MPEG packet encryption and decryption based upon data and security priorities | |
| US8953646B2 (en) | Method and apparatus of multiplexing media streams | |
| MXPA06005563A (en) | Method of partially scrambling a data stream | |
| Ogawa et al. | Practically secure update of scrambling scheme | |
| Thanos | COiN-Video: A model for the dissemination of copyrighted video streams over open networks | |
| HK1100503A (en) | Method of partially scrambling a data stream | |
| Ogawa et al. | Practical Update of Scrambling Scheme and its Security Analysis | |
| CN108781302A (en) | Framework for embedding data in encoded video | |
| AU2004224936A1 (en) | Encryption of MPEG Bitstreams |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20130727 |