Аутентификация потоков данных

Иллюстрации

Показать все

Настоящее изобретение относится к технологиям аутентификации потоков данных, а именно к вставке идентификаторов в такой поток данных, как битовый поток Dolby Pulse, AAC или HE AAC, и к аутентификации и верификации потока данных на основе указанных идентификаторов. Технический результат заключается в обеспечении способности делать различие между потоком данных, или битовым потоком, или битовым потоком, который генерируется соответствующим кодером Dolby Pulse, и потоком данных, или битовым потоком, который генерируется любым произвольным кодером, совместимым с HE-AACv2. Технический результат достигается за счет создания способа и системы для декодирования потока данных, включающего ряд кадров данных, где способ включает этап генерирования криптографической величины для блока из N последовательных кадров данных и информации о конфигурации, отличающийся тем, что информация о конфигурации включает информацию для рендеринга потока данных; затем способ вставляет криптографическую величину в поток данных, следующий за N последовательными кадрами данных. 12 н. и 26 з.п. ф-лы, 8 ил.

Реферат

ОБЛАСТЬ ТЕХНИЧЕСКОГО ПРИМЕНЕНИЯ

Настоящее изобретение относится к способам аутентификации и верификации потоков данных. В частности, изобретение относится к вставке идентификаторов в такой поток данных, как битовый поток Dolby Pulse, AAC или HE AAC, и к аутентификации и верификации потока данных на основе этого идентификатора.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ

В условиях возрастающего распространения систем цифрового телевидения и радио потоки данных, включающие, например, видеоданные и/или аудиоданные, транслируются все чаще. В дополнение к актуальному видео- и/или аудио-содержимому эти потоки данных также включают метаданные, которые позволяют, например, управлять громкостью и динамическим диапазоном программы на стороне приемника, а также управлять стереофоническим понижающим микшированием и другими свойствами.

В типичных сетевых сценариях видеокадры и/или аудиокадры и связанные с ними метаданные кодируются в системе головного узла сети вещания. Для этого могут использоваться различные схемы кодирования, такие как Dolby E, Dolby Digital, AAC, HE AAC, DTS или Dolby Pulse. Некоторые из этих схем кодирования, Dolby Pulse, AAC и HE AAC, в наибольшей степени и особенно хорошо подходят для передачи через различные средства передачи информации, такие как радио (например, FM-частотный диапазон, DVB/T, ATSC), скрученные медные провода (DSL), коаксиальные кабели (например, CATV) или оптические волокна. Приемник, например телевизор, радиоприемник, персональный компьютер или дополнительное внешнее устройство, содержит соответствующий декодер и создает декодированный медиапоток. Кроме того, приемник обычно предусматривает функции управления, которые инициируются посредством метаданных, сопровождающих видео- и/или аудиоданные.

Примеры схем кодирования/декодирования определены в стандарте ISO/IEC 14496-3 (2005) "Information technology - Coding of audio-visual objects - Part 3: Audio" ― для MPEG-4 AAC, и в стандарте ISO/IEC 13818-7 (2003) "Generic Coding of Moving Pictures and Associated Audio information - Part 7: Advanced Audio Coding (AAC)" ― для MPEG-2 AAC, которые ссылкой включаются в настоящее описание.

Известно несколько способов аутентификации и/или идентификации. Некоторые из них опираются на внедрение данных аутентификации и/или идентификации в кодированные мультимедийные данные. Эти способы известны также как «водяные знаки» и предназначаются, в основном, для защиты авторского права. Еще один способ аутентификации и/или идентификации ― это цифровая подпись, где отдельные данные аутентификации предусматриваются наряду с файлами данных, такими как файлы электронной почты, и используются в декодере для целей аутентификации и идентификации.

Для того чтобы приемник потоков данных был способен идентифицировать кодер потока данных, требуется наряду с потоком данных обеспечить средства аутентификации. Также может оказаться полезной проверка целостности потока данных. Кроме того, может оказаться полезным обеспечение корректной конфигурации приемника в отношении потока данных, который подвергается воспроизведению или обработке. Также может оказаться полезным допуск реализации дополнительных платных услуг или специальных функциональных возможностей для потоков данных, которые были надлежащим образом аутентифицированы и/или верифицированы. К этим и другим вопросам обращается настоящий патентный документ.

КРАТКОЕ ОПИСАНИЕ

Предлагаемый способ и система используют идентификатор, который может предусматриваться в виде метаданных в потоке данных. Указанные потоки данных, предпочтительно, представляют собой потоки данных, которые передаются через проводные или беспроводные средства передачи данных, однако потоки данных также могут быть предусмотрены на запоминающем устройстве, таком как CD, DVD или флеш-память. Идентификатор дает возможность декодеру на стороне приема проверять, является ли поток данных, который он принимает, происходящим из надежного кодера, т.е. от легального кодера на стороне передачи и/или кодирования. Эта верификация может быть особенно полезна в случае, когда декодер совместим с кодерами различного типа. Например, декодер Dolby Pulse может быть совместим с кодером HE-AAC version 2. В таком сценарии может потребоваться предоставление декодеру Dolby Pulse возможности обеспечивать некоторые нестандартные, или необязательные, возможности только в том случае, если сетевой трафик, т.е. потоки данных, происходит из соответствующих кодеров Dolby Pulse. При использовании указанного идентификатора декодер Dolby Pulse будет обладать способностью делать различие между потоком данных, или битовым потоком, который генерируется соответствующим кодером Dolby Pulse, и потоком данных, или битовым потоком, который генерируется любым произвольным кодером, совместимым с HE-AACv2. В этой связи, можно обеспечить то, что дополнительные возможности, например использование динамических метаданных, учитываются декодером только в том случае, если поток данных исходит из надежного кодера. Таким образом, может обеспечиваться корректное функционирование дополнительных возможностей.

Дополнительным преимуществом идентификатора является то, что он может предоставлять декодеру возможность проверки того, что битовый поток был получен корректным образом, а также того, что битовый поток не подвергался модификации или несанкционированному вмешательству в ходе передачи. Иными словами, идентификатор дает декодеру возможность проверки целостности принимаемого битового потока.

Кроме того, идентификатор может использоваться для того, чтобы гарантировать то, что в декодере задано правильное конфигурирование обработки, например воспроизведения, с целью надлежащего рендеринга медийного/мультимедийного сигнала. Например, указанное конфигурирование может быть направлено на частоту дискретизации, с которой воспроизводится медиасигнал. Конфигурирование также может быть направлено на конфигурирование каналов, например 2-канального стереофонического сигнала, другие настройки окружающего звука и т.д., которые будут использоваться при воспроизведении. Другая особенность конфигурирования может быть направлена на длину кадра, например 1024 кадров дискретных значений или 960 кадров дискретных значений в случае ААС, которая используется в конкретной схеме кодирования.

Помимо целей идентификации кодера и аутентификации, идентификатор может использоваться для проверки аутентичности полезной нагрузки потока данных. С этой целью идентификатор не должен легко подвергаться подделке, а манипуляции с защищенным сегментом должны быть идентифицируемыми. Кроме того, желательно, чтобы декодер определял аутентичность битового потока за относительно короткие промежутки времени. Предпочтительно, чтобы максимальное время, за которое декодер, или декодирующее устройство, способно идентифицировать подлинный битовый поток в потоковом режиме не превышало 1 секунду. Кроме того, сложность, вносимая верификацией идентификатора в декодере, должна поддерживаться на низком уровне, т.е. увеличение сложности декодера должно быть незначительным. Наконец, должны поддерживаться на низком уровне непроизводительные издержки при передаче, вносимые идентификатором.

Согласно одному из вариантов осуществления изобретения вышеупомянутые преимущества достигаются путем использования криптографической величины, или идентификатора, получаемой в соответствии с нижеописанным способом. Идентификатор может определяться в кодере путем применения односторонней функции к группе из одного или нескольких кадров данных. Кадр, как правило, включает данные, связанные с определенным сегментом аудиопотока и/или видеопотока, например с сегментом, включающим заданное количество дискретных значений медиапотока. Например, кадр аудиопотока может включать 1024 дискретных значений аудиоданных и соответствующие метаданные.

Как было упомянуто выше, для определения идентификатора определенное количество кадров группируется. Количество кадров в каждой группе может выбираться кодером и, как правило, заранее неизвестно декодеру. Односторонняя функция, предпочтительно, представляет собой криптографическую хэш-функцию HMAC-MD5 (хэш-код аутентификации сообщений), хотя вместо MD5 могут использоваться и другие хэш-функции, такие как SHA-1. Возможным критерием выбора подходящей криптографической хэш-функции может быть ее размер, который должен оставаться небольшим для того, чтобы уменьшить необходимые непроизводительные издержки при передаче. Размер криптографической хэш-функции, как правило, дается ее числом бит.

После того как идентификатор для группы кадров вычислен, например, с использованием процедуры HMAC-MD5, он может быть связан с кадром из следующей группы кадров, например вставлен в кадр из следующей группы кадров. В качестве примера идентификатор может быть записан в поле данных синтаксического элемента кадра. Предпочтительно, идентификатор вставляется в первый кадр следующей группы кадров. Это позволяет вычислить идентификатор в ходе операции за один проход без внесения дополнительного времени ожидания в кодер/декодер, что особенно полезно для передачи медиаданных в реальном времени. Поток данных, включающий идентификатор, затем может передаваться в соответствующие приемники/декодеры.

В приемнике вставленный идентификатор может использоваться в целях идентификации кодера, аутентификации, верификации и/или конфигурирования. Приемник, как правило, включает декодер, который может синхронизироваться с группой кадров, т.е. он может определять кадры, включающие идентификатор. На основе расстояния между двумя последовательными кадрами, которые включают идентификатор, можно определить количество кадров, приходящееся на группу кадров, которая использовалась для вычисления идентификатора. Иными словами, это может позволить декодеру определить длину группы кадров без уведомления из соответствующего кодера.

Декодер может вычислять идентификатор для принятой группы кадров. Идентификаторы, которые вычисляются на основе принятой группы кадров, могут быть названы идентификаторами верификации. Если предполагается, что идентификаторы вставляются в первый кадр из следующей группы кадров, то каждая группа кадров должна начинаться с первого кадра, который включает идентификатор для предыдущей группы кадров, и что она должна заканчиваться кадром, который непосредственно предшествует следующему кадру, который включает идентификатор для текущей группы кадров. Идентификатор верификации для текущей группы кадров может быть вычислен в соответствии с описанными выше способами.

На следующем этапе декодер может извлечь идентификатор, переданный кодером, из соответствующего кадра следующей группы кадров. И снова, если в кодере идентификаторы вставляются в первый кадр следующей группы кадров, то приемник также извлекает идентификатор из этого первого кадра. Этот идентификатор, извлеченный из потока данных, может сравниваться с идентификатором верификации, т.е. с идентификатором, который вычисляется декодером на основе принятого потока данных. Если оба идентификатора совпадают, декодер, как правило, может принять, что в ходе передачи ошибки не возникли, группа кадров принята незатронутой, группа кадров не была модифицирована в ходе передачи и группа кадров получена из надежного и/или легитимного кодера. Кроме того, если оба идентификатора совпадают, декодер может выбрать разблокирование одной или нескольких возможностей, зависящих от кодека, или улучшений, которые не были бы разрешены при декодировании произвольного битового потока. Например, дополнительные функции могут быть разрешены, если декодер идентифицирует битовый поток, специфичный для Dolby Pulse, в то время как указанные дополнительные функции не были бы доступны для стандартного кодированного битового потока HE-AAC 2-й версии. Тем не менее, декодеру может быть предоставлена возможность декодирования стандартного кодированного битового потока HE-AAC 2-й версии, однако без использования дополнительных функций.

Следует в дополнение отметить, что идентификатору может быть предоставлена возможность обеспечения установки в декодере конфигурации, соответствующей корректному декодированию и/или воспроизведению медиапотока. В этих случаях совпадение идентификатора верификации и переданного идентификатора должно указывать на то, что декодер использует корректные настройки конфигурации.

Если, с другой стороны, идентификаторы, т.е. идентификатор верификации и переданный идентификатор, не совпадают, то декодер будет знать, что в ходе передачи возникла ошибка, группа кадров не была принята незатронутой, группа кадров была модифицирована в ходе передачи или группа кадров передана не из надежного кодера. В этих случаях декодер может быть полностью заблокирован или, в альтернативном варианте, могут блокироваться специфические возможности или улучшения.

Следует отметить, что идентификатор также может использоваться для того, чтобы информировать декодер о том, что установлены неверные настройки конфигурации. В этих случаях несовпадение между идентификатором верификации и переданным идентификатором могут быть связаны с тем, что декодер использует неверные настройки конфигурации, даже если группа кадров была принята незатронутой и из надежного кодера. Может быть предусмотрено, что в этих случаях декодер может действовать для модификации настроек его конфигурации и для определения соответствующих идентификаторов верификации до тех пор, пока идентификатор верификации не будет совпадать с переданным идентификатором. Эта модификация может предоставлять декодеру возможность актуально устанавливать его конфигурацию в соответствии с требованиями принимаемого битового потока.

Ниже описаны различные особенности предлагаемого способа. В соответствии с первой особенностью, описывается способ кодирования потока данных, включающего ряд кадров данных. Потоки данных могут представлять собой потоки аудио-, видео- и/или других медийных и мультимедийных данных. В частности, потоки данных могут представлять собой потоки данных Dolby Pulse, AAC или HE-AAC. Потоки данных, как правило, упорядочены в кадры данных, которые включают определенное количество дискретных значений данных и покрывают определенный сегмент потока данных. Например, кадр может включать 1024 дискретных значений звукового сигнала, дискретизированного на частоте дискретизации 44,1 КГц, т.е. он покрывает сегмент, около, 23 мс. Следует отметить, что дискретные значения могут кодироваться с постоянными или переменными битовыми скоростями передачи данных, и фактическое количество бит в кадре может варьироваться.

Способ может включать этап группировки ряда из N последовательных кадров данных для формирования первого сообщения. Количество N последовательных кадров данных, как правило, выбирается в соответствии с соображениями непроизводительных издержек скорости передачи данных. Обычно непроизводительные издержки уменьшаются при увеличении количества N. N предпочтительно больше единицы. Типичные значения N составляют около 20. В предпочтительном варианте осуществления изобретения N может выбираться так, чтобы N последовательных кадров покрывали 0,5 секунд соответствующего сигнала при воспроизведении соответствующим декодером с соответствующей конфигурацией декодера. Следует отметить, что этап группировки может включать конкатенацию N последовательных кадров в их естественном, т.е. поточном, порядке.

На следующем этапе первое сообщение может группироваться с информацией о конфигурации для формирования второго сообщения. Указанная информация о конфигурации включает информацию вне потока данных, которая, как правило, относится к потоку данных, в частности, представляет собой информацию для рендеринга потока данных на стороне приемника. Информация о конфигурации может включать информацию, относящуюся к настройкам соответствующего приемника и/или декодера, который должен применяться для обработки потока данных. Поскольку указанная информация о конфигурации, как правило, не передается, или не включается, в поток данных, она также может называться внеполосными данными в противоположность потоку данных, который также может называться внутриполосными данными.

Информация о конфигурации может различными способами группироваться с первым сообщением. Она может конкатенироваться с первым сообщением, т.е. размещаться в начале и/или в конце первого сообщения. Информация о конфигурации также может размещаться в определенных положениях внутри первого сообщения, например между некоторыми или всеми последовательными кадрами.

Типичные примеры информации о конфигурации включают указатель частоты дискретизации, которая использовалась при дискретизации базового аналогового потока медиаданных. Информация о конфигурации также может включать указатель конфигурации каналов системы кодирования звукового сигнала, такую как монофоническая конфигурация каналов, 2-канальная стереофоническая конфигурация или 5.1-конфигурация окружающего звука. Информация о конфигурации также может включать указатель количества дискретных значений в кадре данных, например 960, 1024 или 2048 дискретных значений, приходящихся на кадр данных.

Также способ включает этап генерирования криптографической величины для первого и/или второго сообщения. Криптографическая величина также может называться идентификатором. Указанная криптографическая величина может генерироваться с использованием ключевого значения и криптографической хэш-функции. В частности, криптографическая величина может генерироваться путем вычисления значения HMAC-MD5 для первого и/или второго сообщения. Кроме того, генерирование криптографической величины может включать усечение значения HMAC-MD5, например усечение до 16, 24, 32, 48 или 64 бит. Это может оказаться полезным ввиду уменьшения требуемых непроизводительных издержек для криптографической величины в потоке данных.

Кроме того, способ включает вставку криптографической величины в поток данных после N последовательных кадров данных. Предпочтительно, криптографическая величина вставляется в первый кадр, следующий за N последовательными кадрами данных для того, чтобы позволить ее быстрое декодирование и аутентификацию и верификацию кодера в соответствующем декодере. Также может оказаться полезной вставка указателя синхронизации после N последовательных кадров данных, где указатель синхронизации указывает на вставку криптографической величины. Указанный указатель синхронизации может размещаться рядом с криптографической величиной, позволяя удобно извлекать криптографическую величину в соответствующем декодере.

В иллюстративном варианте осуществления изобретения поток данных представляет собой поток MPEG4-AAC или MPEG2-AAC, и криптографическая величина вставляется в виде элемента<DSE>потока данных. Указанный элемент<DSE>потока данных может вставляться в конец кадра перед элементом<TERM>. Кроме того, содержимое указанного элемента<DSE>потока данных, предпочтительно, может выравниваться по границе байта потока данных для того, чтобы упростить извлечение элемента<DSE>потока данных, в частности криптографической величины и/или указателя синхронизации в соответствующем декодере.

Следует отметить, что этап генерирования криптографической величины, предпочтительно, может выполняться итеративно на отдельных кадрах группы из N последовательных кадров. С этой целью для каждого из N последовательных кадров с использованием исходного состояния может генерироваться промежуточная криптографическая величина. Исходное состояние может представлять собой промежуточную криптографическую величину предыдущей итерации. Например, промежуточная криптографическая величина может генерироваться для первого кадра. Эта промежуточная криптографическая величина может затем использоваться в качестве исходного состояния для генерирования промежуточной криптографической величины второго кадра. Этот процесс повторяется до тех пор, пока не будет генерирована промежуточная криптографическая величина N-го кадра. Эта последняя промежуточная криптографическая величина, как правило, представляет собой криптографическую величину для группы из N последовательных кадров. Для того чтобы учесть информацию о конфигурации, исходное состояние первой итерации может представлять собой промежуточную криптографическую величину для информации о конфигурации.

В предпочтительном варианте осуществления изобретения криптографическая величина для блока из N последовательных кадров данных генерируется на блоке из N последовательных кадров данных, включающем криптографическую величину для предыдущего блока из N последовательных кадров данных. Таким образом, может быть генерирован поток взаимосвязанных криптографических величин.

Согласно другой особенности способ может включать этап взаимодействия с видео- и/или аудиокодером потока данных. Этот этап может быть реализован путем выполнения кодирования видео- и/или аудиосигнала, а также как генерирование криптографической величины интегрированным способом. В частности, взаимодействие между видео- и/или аудиокодером потока данных и генерированием криптографической величины может быть направлено на установку максимальной битовой скорости передачи данных для видео- и/или аудиокодера так, чтобы битовая скорость передачи данных потока данных, включающего криптографическую величину, не превышала заранее определенное значение. Это может оказаться особенно полезным, если базовый кодек потока данных устанавливает более высокий предел битовой скорости передачи данных для полного потока данных.

Согласно следующей особенности описан способ верификации потока данных в декодере и/или приемнике. Следует отметить, что описанные способы и системы могут применяться в контексте передаваемых потоков данных, а также потоков данных, предусматриваемых на носителе данных. Как описано выше, поток данных, как правило, включает ряд кадров данных и криптографическую величину, связанную рядом из N предшествующих последовательных кадров данных. Здесь следует обратиться к обсуждению, сделанному в данном документе, в особенности, в отношении возможных значений N и структуры потока данных и его кадров.

Способ включает этап извлечения N последовательных кадров данных для формирования первого сообщения. Способ также может включать этап определения значения N. Этот этап может выполняться в потоке данных, который включает ряд из N последовательных кадров данных и связанные с ним криптографические величины. Если N последовательных кадров данных назвать группой кадров, то указанный поток данных, как правило, включает ряд групп кадров и криптографические величины, связанные с каждой из групп кадров. В этих случаях, число N может быть определено как количество кадров между двумя последовательными криптографическими величинами.

Следует отметить, что текущая группа кадров, которая используется для вычисления второй криптографической величины, может включать криптографическую величину для предыдущей группы кадров. В альтернативном варианте, криптографическая величина для предыдущей группы кадров и любой связанный с ней указатель синхронизации и/или синтаксический элемент должен быть удален из текущей группы кадров перед вычислением второй криптографической величины. Последнее решение может оказаться предпочтительным с целью предупреждения изменений и отклонений от распространения при переходе от одной группы кадров к следующей.

Способ также может включать этап группирования первого сообщения с информацией о конфигурации с целью формирования второго сообщения, где информация о конфигурации, как правило, включает информацию вне потока данных, такую как информация для рендеринга потока данных. Этап группирования и различные особенности, относящиеся к информации о конфигурации, описаны выше. Эти особенности в равной мере применимы к декодеру.

Способ продолжается путем генерированием второй криптографической величины для первого и/или второго сообщения, путем извлечения криптографической величины из потока данных и сравнения криптографической величины со второй криптографической величиной. Вторая криптографическая величина также может называться криптографической величиной для верификации, или идентификатором верификации.

Следует отметить, что вторая криптографическая величина может генерироваться итеративным способом, как это описано в контексте генерирования криптографической величины.

В предпочтительном варианте осуществления изобретения криптографическая величина генерируется в соответствующем кодере и/или передатчике из N последовательных кадров данных и информации о конфигурации согласно способу, который соответствует способу, используемому для генерирования второй криптографической величины. Иными словами, способ генерирования криптографической величины в соответствующем кодере соответствует способу генерирования второй криптографической величины в декодере. В частности, криптографическая величина и вторая криптографическая величина генерируются с использованием уникального ключевого значения и/или уникальной криптографической хэш-функции.

Кроме того, набор N последовательных кадров, используемых для генерирования криптографической величины в кодере соответствует набору N последовательных кадров, используемых для генерирования второй криптографической величины в декодере. Как упоминалось выше, криптографическая величина и вторая криптографическая величина могут быть определены на наборе N последовательных кадров, которые включают, или которые не включают, криптографическую величину для предшествующего набора из N последовательных кадров. Аналогичное правило следует применять к кодеру и декодеру.

Даже если набор кадров, используемый в кодере и декодере, должен быть идентичным, следует отметить, что содержимое кадров в кодере и декодере может различаться, например, по причине модификаций, которым кадры подвергаются в ходе их передачи, или по причине ошибок на носителе потока данных.

В соответствии со следующей особенностью, способ может включать этап установки флага в случае, когда криптографическая величина соответствует второй криптографической величине и/или этап обеспечения визуальной индикации в приемнике и/или декодере, если флаг установлен. Аналогичным образом флаг и/или визуальная индикация может быть удален, если криптографическая величина не соответствует второй криптографической величине или если криптографическая величина не может быть извлечена из потока данных. Это может быть полезно для обеспечения пользователя декодера и зрителя/слушателя потока данных информацией об аутентичности потока данных.

Согласно другой особенности описан поток данных, включающий криптографическую величину, генерируемую и вставляемую в соответствии со способами, описанными в настоящем патентном документе.

Согласно другой особенности описан кодер, действующий для кодирования потока данных, включающего ряд кадров данных. Кодер действует для выполнения этапов способа, описанных в настоящем патентном документе. В частности, кодер может включать процессор, действующий на группу из количества N последовательных кадров данных с целью формирования первого сообщения; где N больше единицы; для группирования первого сообщения с информацией о конфигурации с целью формирования второго сообщения; где информация о конфигурации включает информацию вне потока данных, такую как информация для рендеринга потока данных; для генерирования криптографической величины для второго сообщения; и для вставки криптографической величины в поток данных, следующий за N последовательными кадрами данных.

Согласно следующей особенности описан декодер, действующий для верификации потока данных, включающего ряд кадров данных и криптографическую величину, связанную с количеством N предшествующих последовательных кадров данных, где N больше единицы. Декодер действует для выполнения этапов способа, описанных в настоящем патентном документе. В частности, декодер может включать процессор, действующий для извлечения N последовательных кадров данных с целью формирования первого сообщения; для группирования первого сообщения с информацией о конфигурации с целью формирования второго сообщения; где информация о конфигурации включает информацию для рендеринга потока данных; для генерирования второй криптографической величины для второго сообщения; для извлечения криптографической величины из потока данных; и для сравнения криптографической величины со второй криптографической величиной.

Согласно следующей особенности описана программа, реализованная программно. Программа, реализованная программно, адаптирована для исполнения на процессоре и для выполнения этапов способа, описанных в настоящем патентном документе, при осуществлении на вычислительном устройстве.

Согласно следующей особенности описан носитель данных. Носитель данных включает программу, реализованную программно, которая адаптирована для исполнения на процессоре и для выполнения этапов способа, описанных в настоящем патентном документе, при осуществлении на вычислительном устройстве.

Согласно следующей особенности описан компьютерный программный продукт. Компьютерный программный продукт включает исполняемые команды для выполнения этапов способа, описанных в настоящем патентном документе, при осуществлении на компьютере.

Согласно следующей особенности описано дополнительное внешнее устройство, переносное электронное устройство (например, мобильный телефон, PDA, смартфон и т.д.) или компьютер (например, настольный компьютер, ноутбук и т.д.), предназначенный для декодирования потока данных. Поток данных может включать звуковой сигнал. Дополнительное внешнее устройство, предпочтительно, включает декодер, соответствующий особенностям, описанным в настоящем патентном документе.

Согласно следующей особенности описана система вещания, предназначенная для передачи потока данных. Поток данных может включать звуковой сигнал. Система вещания, предпочтительно, включает кодер, соответствующий особенностям, описанным в настоящем патентном документе.

Согласно другой особенности описан способ конкатенации первого и второго битовых потоков в точке конкатенации. Каждый из двух битовых потоков может включать ряд кадров данных и криптографическую величину, связанную с заданным количеством кадров данных. Первый битовый поток может включать криптографическую величину для каждых N1 последовательных кадров, в то время как второй битовый поток может включать криптографическую величину для каждых N2 последовательных кадров. Числа N1 и N2 могут быть идентичны, т.е. оба битовых потока имеют одинаковый период криптографического повторения, или числа N1 и N2 могут быть различны, т.е. в битовых потоках могут быть различны количества кадров, после которых включены криптографические величины.

Способ конкатенации включает этап генерирования конкатенированного битового потока из первого и второго битовых потоков, где конкатенированный битовый поток включает, по меньшей мере, часть из ряда кадров данных из первого и второго битовых потоков. Иными словами, второй битовый поток или часть второго битового потока прикрепляется в точке конкатенации к первому битовому потоку или части первого битового потока.

Конкатенированный битовый поток включает криптографические величины, генерируемые и вставляемые в соответствии со способами, описанными в настоящем патентном документе. Преимущественно, криптографические величины в конкатенированном битовом потоке гладко покрывают точку конкатенации так, чтобы в приемнике/декодере не было заметно прерывание аутентичности битового потока. Это может достигаться путем генерирования в явном виде новых криптографических величин для конкатенированного битового потока после точки конкатенации.

Новые криптографические величины могут генерироваться, по меньшей мере, для некоторого количества последовательных кадров в секции конкатенированного битового потока, начинающейся в точке конкатенации. В некоторых случаях криптографические величины второго битового потока могут быть использованы повторно и скопированы в конкатенированный битовый поток после секции, в которую включены новые криптографические величины. Такое повторное использование применяется, в частности, тогда, когда криптографическая величина для предыдущей группы кадров, включенная в первый кадр следующей группы, не учитывается при вычислении криптографической величины следующей группы, и группы обрабатываются независимо, т.е. изменения в криптографических величинах не распространяются от одной группы к следующей.

Генерирование криптографических величин в явном виде в соответствии со способами, описанными в настоящем патентном документе может быть практически полезным на границах между первым битовым потоком и вторым битовым потоком, т.е. для конечных кадров первого битового потока и для первых кадров второго битового потока, включенных в конкатенированный битовый поток. В целом, при конкатенации двух битовых потоков количество финальных кадров первого битового потока, как правило, меньше или равно N1, и/или количество кадров, взятых из второго битового потока перед включением первой криптографической величины, как правило, меньше или равно N2. Иными словами, точка конкатенации, как правило, не располагается на границах групп первого и второго битового потоков.

Согласно одной из особенностей способа конкатенации или соединения новая криптографическая величина генерируется для конечных кадров первого битового потока и вставляется в следующий кадр конкатенированного битового потока, который представляет собой первый кадр, взятый из второго битового потока. Эта новая криптографическая величина считается «завершающей» первый битовый поток. Новые криптографические величины могут затем генерироваться для второго битового потока и включаться в соответствующие положения конкатенированного битового потока. Это особенно пригодно в тех случаях, когда без добавочной криптографической величины, вставленной в первый кадр, взятый из второго битового потока, количество кадров между последней криптографической величиной, генерируемой для кадров из первого битового потока, и первой криптографической величиной, генерируемой для кадров из второго битового потока, будет превышать максимальное количество, допускаемое системой.

В случае, если точка конкатенации не выровнена с группами кадров первого и второго битовых потоков, способ конкатенации может генерировать криптографическую величину для смешанной группы, включающей кадры, взятые из первого и второго битовых потоков. Как уже было упомянуто, криптографические величины, как правило, включаются в кадр, следующий за группой кадров, используемой для вычисления соответствующей криптографической величины.

Согласно следующей особенности описано устройство для конкатенации и/или головной узел сети вещания. Указанное устройство для конкатенации и/или головной узел сети вещания действует для конкатенации первого и второго битовых потоков, каждый из которых включает ряд кадров данных и криптографические величины, связанные с заданным количеством кадров данных. Устройство может включать декодер, содержащий любую комбинацию характерных признаков, описанных в настоящем патентном документе. Указанный декодер может использоваться для декодирования финальных кадров первого битового потока, первых кадров второго битового потока и связанных с ними криптографических величин. Устройство для конкатенации и/или головной узел сети вещания также может включать кодер, содержащий любую комбинацию характерных признаков, описанных в настоящем патентном документе. Кодер может использоваться для кодирования конечных кадров первого битового потока и первых кадров второго битового потока. Кроме того, устройство для конкатенации и/или головной узел сети вещания может включ