АУДИОКОДЕР И АУДИОДЕКОДЕР С МЕТАДАННЫМИ СВЕДЕНИЙ О ПРОГРАММЕ ИЛИ СТРУКТУРЫ ВЛОЖЕННЫХ ПОТОКОВ
AUDIO ENCODER AND AUDIO DECODER WITH METADATA INFORMATION ON PROGRAM OR SUBSTREAMS STRUCTURE

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Данная заявка заявляет приоритет предварительной заявки на патент США №61/836865, поданной 19 июня 2013 г., которая ссылкой полностью включается в настоящий документ.
ОБЛАСТЬ ТЕХНИЧЕСКОГО ПРИМЕНЕНИЯ
Изобретение относится к обработке звуковых сигналов и, в частности, к кодированию и декодированию битовых потоков аудиоданных с метаданными, служащими признаками, структуры вложенных потоков и/или сведений о программе в отношении звукового содержимого, указываемого этими битовыми потоками. Некоторые варианты осуществления изобретения генерируют или декодируют аудиоданные в одном из форматов, известных как Dolby Digital (АС-3), Dolby Digital Plus (Enhanced AC-3, или E-AC-3) или Dolby E.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
Dolby, Dolby Digital, Dolby Digital Plus и Dolby E являются торговыми марками Dolby Laboratories Licensing Corporation. Dolby Laboratories представляет собственные реализации AC-3 и E-AC-3, известные, соответственно, как Dolby Digital и Dolby Digital Plus.
Модули обработки аудиоданных, как правило, действуют вслепую и не уделяют внимание истории обработки аудиоданных, происходившей перед приемом этих данных. Это может работать в инфраструктуре обработки данных, где всю обработку и кодирование аудиоданных для разнообразных целевых устройств представления мультимедийных данных осуществляет единственный субъект, в то время как целевое устройство представления мультимедийных данных осуществляет все декодирование и представление этих кодированных аудиоданных. Однако такая обработка данных вслепую не очень хорошо подходит (или совершенно не подходит) для ситуаций, в которых множество модулей обработки аудиоданных разбросаны по разнотипной сети или размещены последовательно (т.е. в цепочке) и, как ожидается, оптимально выполняют соответствующие им типы обработки аудиоданных. Например, некоторые аудиоданные могут быть закодированы для высокопроизводительных мультимедийных систем, и на всем протяжении цепочки обработки мультимедийных данных может возникнуть необходимость в их преобразовании в приведенную форму, подходящую для мобильного устройства. Соответственно, модуль обработки аудиоданных может без необходимости выполнять обработку аудиоданных одного из типов, которая уже была выполнена. Например, модуль регулировки уровня громкости может выполнять обработку входного аудиоклипа независимо от того, была ли такая же или аналогичная регулировка уровня громкости выполнена ранее на этом входном аудиоклипе. В результате модуль регулировки уровня громкости может выполнять регулировку уровня даже тогда, когда это не является необходимым. Такая не являющаяся необходимой обработка данных также может вызывать ухудшение и/или устранение характерных признаков при представлении содержимого аудиоданных.
КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В одном из классов вариантов осуществления изобретение представляет собой модуль обработки аудиоданных, способный декодировать кодированный битовый поток, содержащий метаданные структуры вложенных потоков и/или метаданные сведений о программе (а также, необязательно, и другие метаданные, например, метаданные состояния обработки громкости) по меньшей мере в одном сегменте, по меньшей мере одного кадра битового потока, и аудиоданные по меньшей мере в еще одном сегменте этого кадра. В настоящем документе термин «метаданные структуры вложенных потоков» (или «SSM») обозначает метаданные кодированного битового потока (или набора кодированных битовых потоков), служащие признаком структуры вложенных потоков звукового содержимого этого кодированного битового потока (потоков), а термин «метаданные сведений о программе» (или «РIМ») обозначает метаданные кодированного битового потока, служащие признаком по меньшей мере одной звуковой программы (например, двух или большего количества звуковых программ), где метаданные сведений о программе служат признаком по меньшей мере одного свойства, или характеристики, звукового содержимого по меньшей мере одной указанной программы (например, метаданные, указывающие тип или параметр обработки данных, выполненной на аудиоданных этой программы, или метаданные, указывающие, какие каналы программы являются активными каналами).
В типичных случаях (например, тогда, когда кодированный битовый поток представляет собой битовый поток АС-3 или Е-АС-3), метаданные сведений о программе (PIM) служат признаком сведений о программе, которые практически невозможно перенести в других частях битового потока. Например, PIM могут служить признаком обработки данных, примененной к аудиоданным РСМ перед кодированием (например, кодированием АС-3 или Е-АС-3), когда полосы частот звуковой программы были закодированы с использованием специальных методик кодирования звука, и профиля сжатия, использованного для создания данных сжатия динамического диапазона (DRC) в этом битовом потоке.
В другом классе вариантов осуществления способ включает этап уплотнения кодированных аудиоданных с SSM и/или PIM в каждом кадре (или каждом из по меньшей мере некоторых кадров) битового потока. При типичном декодировании декодер извлекает SSM и/или PIM из битового потока (что включает синтаксический анализ и разуплотнение SSM и/или PIM и аудиоданных) и обрабатывает аудиоданные для генерирования потока декодированных аудиоданных (и, в некоторых случаях, также выполняет адаптивную обработку этих аудиоданных). В некоторых вариантах осуществления декодированные аудиоданные и SSM и/или PIM направляются из декодера в постпроцессор, выполненный с возможностью адаптивной обработки данных на декодированных аудиоданных с использованием SSM и/или PIM.
В одном из классов вариантов осуществления изобретательский способ кодирования генерирует кодированный битовый аудиопоток (например, битовый поток АС-3 или Е-АС-3), содержащий сегменты аудиоданных (например, сегменты AB0-АВ5 кадра, показанного на Фиг.4, или все или некоторые из сегментов AB0-АВ5  кадра, показанного на Фиг.7), содержащие кодированные аудиоданные, и сегменты метаданных (содержащие SSM и/или PIM а также, необязательно, другие метаданные), уплотненные с временным разделением с сегментами аудиоданных. В некоторых вариантах осуществления каждый сегмент метаданных (иногда именуемый в настоящем документе «контейнером») имеет формат, содержащий заголовок сегмента метаданных (а также, необязательно, другие обязательные, или «базовые», элементы) и одну или несколько полезных нагрузок метаданных, следующих за заголовком сегмента метаданных. Метаданные SIM, если они присутствуют, заключены в одной из полезных нагрузок метаданных (идентифицируемых посредством заголовка полезной нагрузки и, как правило, имеющих формат первого типа). Метаданные PIM, если они присутствуют, заключены в другой полезной нагрузке метаданных (идентифицируемой посредством заголовка полезной нагрузки и, как правило, имеющей формат второго типа). Аналогично, другие типы метаданных (если они присутствуют) заключены в других полезных нагрузках метаданных (идентифицируемых посредством заголовка полезной нагрузки и, как правило, имеющих формат, специфичный для этого типа метаданных). Этот иллюстративный формат делает возможным удобный доступ к SSM, PIM и другим метаданным в иные моменты времени, чем во время декодирования (например, доступ постпроцессора вслед за декодированием, или для процессора, выполненного с возможностью распознавания метаданных без выполнения полного декодирования на кодированном битовом потоке), и делает возможным удобное и эффективное обнаружение и исправление ошибок (например, ошибок идентификации вложенных потоков) в ходе декодирования битового потока. Например, в отсутствие доступа к SSM в иллюстративном формате декодер может неверно идентифицировать правильное количество вложенных потоков, ассоциированных с программой. Одна полезная нагрузка метаданных в сегменте метаданных может содержать SSM, друга полезная нагрузка метаданных в сегменте метаданных может содержать PIM, а также, необязательно, по меньшей мере еще одна полезная нагрузка метаданных в сегменте метаданных может содержать другие метаданные (например, метаданные состояния обработки громкости, или «LPSM»).
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
ФИГ. 1 - блок-схема одного из вариантов осуществления системы, которая может быть выполнена с возможностью выполнения одного из вариантов осуществления способа изобретения.
ФИГ. 2 - блок-схема кодера, представляющего собой один из вариантов осуществления изобретательского модуля обработки аудиоданных.
ФИГ. 3 - блок-схема декодера, представляющего собой один из вариантов осуществления изобретательского модуля обработки аудиоданных, и связанного с ним постпроцессора, представляющего собой еще один вариант осуществления изобретательского модуля обработки аудиоданных.
ФИГ. 4 - схема кадра АС-3, содержащего сегменты, на которые он разделен.
ФИГ. 5 - схема сегмента сведений о синхронизации (SI) кадра АС-3, содержащего сегменты, на которые он разделен.
ФИГ. 6 - схема сегмента сведений о битовом потоке (BSI) кадра АС-3, содержащего сегменты, на которые он разделен.
ФИГ. 7 - схема кадра Е-АС-3, содержащего сегменты, на которые он разделен.
ФИГ. 8 - схема сегмента метаданных кодированного битового потока, сгенерированного в соответствии с одним из вариантов осуществления изобретения и содержащего заголовок сегмента метаданных, содержащий синхрослово контейнера (идентифицируемое на Фиг. 8 как «container sync») и значения версии и идентификатора ключа (key ID), за которыми следуют полезные нагрузки метаданных и биты защиты.
ОБОЗНАЧЕНИЯ И ТЕРМИНОЛОГИЯ
Повсюду в данном раскрытии, включая формулу изобретения, выражение выполнения операции «на» сигнале или данных (например, фильтрации, масштабирования, преобразования или применения коэффициента усиления к сигналу или данным) используется в широком смысле для обозначения выполнения операции непосредственно на сигнале или данных, или на обработанной версии этого сигнала или данных (например, на версии сигнала, претерпевшего предварительную фильтрацию или предварительную обработку данных перед выполнением на нем этой операции).
Повсюду в данном раскрытии, включая формулу изобретения, выражение «система» используется в широком смысле для обозначения устройства, системы или подсистемы. Например, подсистема, реализующая декодер, может именоваться системой декодера, а система, содержащая такую подсистему (например, система, генерирующая X выходных сигналов в ответ на несколько вводов, причем эта подсистема генерирует М из вводов, а остальные Х-М вводов принимаются из внешнего источника), также может именоваться системой декодера.
Повсюду в данном раскрытии, включая формулу изобретения, термин «процессор» используется в широком смысле для обозначения системы или устройства, программируемого или иначе конфигурируемого (например, программным или программно-аппаратным обеспечением) для выполнения операций на данных (например, на аудиоданных, видеоданных или данных других изображений). Примеры процессоров включают вентильную матрицу с эксплуатационным программированием (или другую конфигурируемую интегральную микросхему, или набор микросхем), процессор цифровой обработки сигналов, программируемый и/или иначе конфигурируемый для выполнения конвейерной обработки аудиоданных или других звуковых данных, программируемый процессор общего назначения или компьютер и программируемый корпусированный микропроцессор или набор микросхем.
Повсюду в данном раскрытии, включая формулу изобретения, выражения «процессор аудиоданных» и «модуль обработки аудиоданных» используются взаимозаменяемо и в широком смысле для обозначения системы, выполненной с возможностью обработки аудиоданных. Примеры модулей обработки аудиоданных включают, без ограничения, кодеры (например, преобразователи кода), декодеры, кодеки, системы предварительной обработки данных, системы постобработки данных и системы обработки битовых потоков (иногда именуемые инструментальными средствами обработки битовых потоков).
Повсюду в данном раскрытии, включая формулу изобретения, выражение «метаданные» (кодированного битового потока) относится к отдельным данным, отличающимся от соответствующих аудиоданных битового потока.
Повсюду в данном раскрытии, включая формулу изобретения, выражение «метаданные структуры вложенных потоков» (или «SSM») обозначает метаданные кодированного битового аудиопотока (или набора кодированных битовых аудиопотоков), служащие признаком структуры вложенных потоков звукового содержимого кодированного битового потока (потоков).
Повсюду в данном раскрытии, включая формулу изобретения, выражение «метаданные сведений о программе» (или «РIМ») обозначает метаданные кодированного битового аудиопотока, служащие признаком по меньшей мере одной звуковой программы (например, двух или большего количества звуковых программ), где указанные метаданные служат признаком по меньшей мере одного свойства или характеристики, звукового содержимого по меньшей мере одной указанной программы (например, метаданные, указывающие тип или параметр обработки данных, выполненной на аудиоданных этой программы, или метаданные, указывающие, какие каналы этой программы являются активными каналами).
Повсюду в данном раскрытии, включая формулу изобретения, выражение «метаданные состояния обработки данных» (как, например, в выражении «метаданные состояния обработки громкости») относится к метаданным (кодированного битового аудиопотока), ассоциированным с аудиоданными этого битового потока и указывающим состояние обработки соответствующих (ассоциированных) аудиоданных (например, указывающими, обработка данных какого типа (типов) уже была выполнена на этих аудиоданных), и, как правило, также указывающим по меньшей мере один признак, или характеристику, этих аудиоданных. Ассоциация метаданных состояния обработки данных с аудиоданными является синхронной по времени. Таким образом, настоящие (последние принятые или обновленные) метаданные состояния обработки данных указывают, что соответствующие аудиоданные одновременно содержат результаты обработки аудиоданных указанного типа (типов). В некоторых случаях метаданные состояния обработки данных могут содержать историю обработки данных и/или некоторые или все параметры, которые были использованы при обработке данных указанных типов и/или получены при такой обработке данных. В дополнение, метаданные состояния обработки данных могут содержать по меньшей мере один признак, или характеристику, соответствующих аудиоданных, которая была вычислена или извлечена из этих аудиоданных. Метаданные состояния обработки данных могут также содержать другие метаданные, не относящиеся или не полученные в результате какой-либо обработки соответствующих аудиоданных. Например, частным модулем обработки аудиоданных для передачи другим модулям обработки аудиоданных могут быть добавлены данные третьей стороны, данные сопровождения, идентификаторы, сведения о собственниках или стандартах, данные пользовательских комментариев, данные пользовательских предпочтений и т.д.
Повсюду в данном раскрытии, включая формулу изобретения, выражение «метаданные состояния обработки громкости» (или «LPSM») обозначает метаданные состояния обработки данных, служащие признаком состояния обработки громкости соответствующих аудиоданных (например, признаком того, обработка громкости какого типа (типов) была выполнена на этих аудиоданных), а также, как правило - по меньшей мере одного признака, или характеристики (например, громкости), соответствующих аудиоданных. Метаданные состояния обработки громкости могут содержать данные, не являющиеся (тогда, когда они рассматриваются сами по себе) метаданными состояния обработки громкости.
Повсюду в данном раскрытии, включая формулу изобретения, выражение «канал» (или «аудиоканал») обозначает монофонический звуковой сигнал.
Повсюду в данном раскрытии, включая формулу изобретения, выражение «звуковая программа» обозначает набор из одного или нескольких аудиоканалов, а также, необязательно, ассоциированные метаданные (например, метаданные, описывающие требуемое пространственное представление звука и/или PIM, и/или SSM, и/или LPSM, и/или метаданные границ программы).
Повсюду в данном раскрытии, включая формулу изобретения, выражение «метаданные границ программы» обозначает метаданные кодированного битового аудиопотока, где этот кодированный битовый аудиопоток служит признаком по меньшей мере одной звуковой программы (например, двух или большего количества звуковых программ), а граничные метаданные программы служат признаком местоположения в битовом потоке по меньшей мере одной границы (начала и/или конца) по меньшей мере одной указанной звуковой программы. Например, метаданные границ программы (из кодированного битового аудиопотока, служащего признаком звуковой программы) могут содержать метаданные, служащие признаком местоположения (например, начала «N»-го кадра битового потока или местоположения «М»-го дискретного значения в «N»-м кадре битового потока) начала этой программы, а дополнительные метаданные служат признаком местоположения (например, начала «J»-го кадра битового потока или местоположения «K»-го дискретного значения в «J»-m кадре битового потока) конца программы.
Повсюду в данном раскрытии, включая формулу изобретения, термин «связывается», или «связанный», используется как обозначающий либо прямое, либо непрямое соединение. Так, если первое устройство связывается со вторым устройством, то соединение может осуществляться через прямое соединение или через непрямое соединение через другие устройства и соединения.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Типичный поток аудиоданных содержит как звуковое содержимое (например, один или несколько каналов звукового содержимого), так и метаданные, служащие признаком по меньшей мере одной характеристики звукового содержимого. Например, в битовом потоке АС-3 имеется несколько параметров метаданных аудиоданных, специально предназначенных для использования при изменении звучания программы, доставленной в среду для прослушивания. Одним из этих параметров метаданных является параметр DIALNORM, предназначенный для указания среднего уровня диалога в звуковой программе и используемый для определения уровня сигнала воспроизведения звука.
В ходе воспроизведения битового потока, содержащего последовательность разных сегментов звуковой программы (каждый из которых содержит отличающийся параметр DIALNORM), кодер АС-3 использует параметр DIALNORM каждого из сегментов для выполнения обработки громкости того типа, который модифицирует уровень воспроизведения, или громкость, так, чтобы воспринимаемая громкость диалога из указанной последовательности сегментов находилась на согласованном уровне. Каждый кодированный сегмент (элемент) аудиоданных в последовательности кодированных элементов аудиоданных мог бы (в общем) содержать отличающийся параметр DIALNORM, и декодер масштабировал бы уровень каждого из этих элементов так, чтобы уровень воспроизведения, или громкость, диалога для каждого такого элемента был одинаков или очень похож, хотя это может потребовать применения различных величин усиления к различным элементам в ходе воспроизведения.
Как правило, DIALNORM устанавливается пользователем, и он не генерируется автоматически, хотя существует выбираемое по умолчанию значение DIALNORM, или пользователь не устанавливает никакое значение. Например, создатель содержимого может предпринять измерения громкости посредством устройства, внешнего по отношению к кодеру АС-3, а затем передать результат (служащий признаком громкости речевого диалога из звуковой программы) в кодер для установки значения DIALNORM. Таким образом, верная установка параметра DIALNORM доверяется создателю содержимого.
Имеется несколько различных причин того, почему параметр DIALNORM в битовом потоке АС-3 может быть неверным. Во-первых, каждый кодер АС-3 содержит используемое по умолчанию значение DIALNORM, которое используется в ходе генерирования битового потока, если создатель содержимого не установил значение DIALNORM. Это используемое по умолчанию значение может существенно отличаться от фактического уровня громкости диалога в звуковом сигнале. Во-вторых, даже если создатель содержимого измеряет громкость и соответственно устанавливает значение DIALNORM, при этом мог быть использован алгоритм измерения громкости или измеритель, не соответствующий рекомендованному способу измерения громкости АС-3, что в результате приводит неверному значению DIALNORM. В-третьих, даже если битовый поток АС-3 был создан со значением DIALNORM, верно измеренным и установленным создателем содержимого, оно могло быть изменено на неверное значение в ходе передачи и/или хранения этого битового потока. Например, для телевещательных приложений не является редкостью декодирование, модификация, а затем повторное кодирование битовых потоков АС-3 с использованием неверных сведений о DIALNORM в метаданных. Таким образом, значение DIALNORM, заключенное в битовом потоке АС-3, может быть неверным или неточным и, таким образом, может оказывать отрицательное воздействие на качество впечатлений от прослушивания.
Кроме того, параметр DIALNORM не указывает состояние обработки громкости соответствующих аудиоданных (например, то, обработка громкости какого типа (типов) была выполнена на этих аудиоданных). Метаданные состояния обработки громкости (в формате, который предусмотрен в некоторых вариантах осуществления настоящего изобретения) являются полезными для облегчения адаптивной обработки громкости битового аудиопотока и/или проверки достоверности состояния обработки громкости и громкости звукового содержимого особенно эффективным образом.
Несмотря на то, что настоящее изобретение не ограничено использованием с битовым потоком АС-3 или битовым потоком Е-АС-3, для удобства оно будет описано в вариантах осуществления, где оно генерирует, декодирует или иначе обрабатывает такой битовый поток.
Кодированный битовый поток АС-3 содержит метаданные и от одного до шести каналов звукового содержимого. Это звуковое содержимое представляет собой аудиоданные, которые были сжаты с использованием перцепционного звукового кодирования. Указанные метаданные содержат несколько параметров метаданных аудиоданных, предназначенных для использования при изменении звучания программы, доставленной в среду для прослушивания.
Каждый кадр кодированного битового аудиопотока АС-3 содержит звуковое содержимое и метаданные для 1536 дискретных значений цифровых аудиоданных. При частоте дискретизации 48 кГц это представляет собой 32 миллисекунд цифрового звука или частоту 31,25 кадров, приходящихся на секунду звука.
Каждый кадр кодированного битового аудиопотока Е-АС-3 содержит звуковое содержимое и метаданные для 256, 512, 768 или 1536 дискретных значений цифровых аудиоданных в зависимости от того, содержит этот кадр, соответственно, один, два, три или шесть блоков аудиоданных. При частоте дискретизации 48 кГц это представляет, соответственно, 5,333, 10,667, 16 или 32 миллисекунд цифрового звука или частоту, соответственно, 189,9, 93,75, 62,5 или 31,25 кадров, приходящихся на секунду звука.
Как указано на Фиг. 4, каждый кадр АС-3 разделен на секции (сегменты), содержащие: секцию сведений о синхронизации (SI), содержащую (как показано на Фиг. 5) синхрослово (SW) и первое из двух слов исправления ошибок (CRC1); секцию сведений о битовом потоке (BSI), содержащую большую часть метаданных; шесть аудиоблоков (AB0-АВ5), содержащих сжатые данные звукового содержимого (а также способных содержать метаданные); сегменты лишних битов (W) (также известны как «поля игнорируемых данных»), содержащие какие-либо лишние биты, оставшиеся после сжатия звукового содержимого; секцию вспомогательных сведений (AUX), которая также может содержать метаданные; и второе из двух слов исправления ошибок (CRC2).
Как указано на Фиг. 7, каждый кадр Е-АС-3 разделен на секции (сегменты), содержащие: секцию сведений о синхронизации (SI), содержащую (как показано на Фиг. 5) синхрослово (SW); секцию сведений о битовом потоке (BSI), содержащую большую часть метаданных; от одного до шести аудиоблоков (AB0-АВ5), содержащих сжатые данные звукового содержимого (а также способных включать метаданные); сегменты лишних битов (W) (также известны как «поля игнорируемых данных»), содержащие какие-либо лишние биты, оставшиеся после сжатия звукового содержимого (несмотря на то, что показан только один сегмент лишних битов, за каждым аудиоблоком, как правило, может следовать отличающийся сегмент лишних битов); секцию вспомогательных сведений (AUX), которая также может содержать метаданные; и слово исправления ошибок (CRC).
В битовом потоке АС-3 (или Е-АС-3) имеется несколько параметров метаданных аудиоданных, специально предназначенных для использования при изменении звучания программы, доставленной в среду для прослушивания. Одним из таких параметров метаданных является параметр DIALNORM, заключенный в сегменте BSI.
Как показано на Фиг. 6, сегмент BSI кадра АС-3 содержит пятибитный параметр («DIALNORM»), указывающий значение DIALNORM для этой программы. Пятибитный параметр («DIALNORM2»), указывающий значение DIALNORM для второй звуковой программы, переносимой в том же кадре АС-3, включают, если режим звукового кодирования («acmod») кадра АС-3 равен «0», что указывает на то, что в употреблении находится двойная монофоническая конфигурация каналов, или «1+1».
Сегмент BSI также содержит флаг («addbsie»), указывающий присутствие (или отсутствие) дополнительных сведений о битовом потоке, следующих за битом «addbsie», параметр («addbsil»), указывающий длину каких-либо дополнительных сведений о битовом потоке, следующих за значением «addbsil» и до 64 битов дополнительных сведений о битовом потоке («addbsi»), следующих за значением «addbsil».
Сегмент BSI содержит и другие значения метаданных, не показанные конкретно на Фиг. 6.
В соответствии с одним из классов вариантов осуществления, кодированный битовый аудиопоток служит признаком нескольких вложенных потоков звукового содержимого. В некоторых случаях, эти вложенные потоки служат признаком звукового содержимого многоканальной программы, а каждый из вложенных потоков служит признаком одного или нескольких каналов этой программы. В других случаях, несколько вложенных потоков кодированного битового аудиопотока служат признаками звукового содержимого нескольких звуковых программ, как правило, «главной» звуковой программы (которая может представлять собой многоканальную программу) и по меньшей мере еще одной звуковой программы (например, программы, представляющей собой комментарии к главной звуковой программе).
Кодированный битовый аудиопоток, служащий признаком по меньшей мере одной звуковой программы, непременно содержит по меньшей мере один «независимый» вложенный поток звукового содержимого. Этот независимый вложенный поток служит признаком по меньшей мере одного канала звуковой программы (например, этот независимый вложенный поток может служить признаком пяти каналов широкополосных громкоговорителей традиционной 5.1-канальной звуковой программы). В настоящем документе эта звуковая программа именуется «главной» программой.
В некоторых классах вариантов осуществления кодированный битовый аудиопоток служит признаком двух или большего количества звуковых программ («главной» программы и по меньшей мере еще одной звуковой программы). В таких случаях, этот битовый поток содержит два или большее количество независимых вложенных потоков: первый независимый вложенный поток, служащий признаком по меньшей мере одного канала главной программы; и по меньшей мере еще один независимый вложенный поток, служащий признаком по меньшей мере одного канала другой звуковой программы (программы, отдельной от главной программы). Каждый независимый битовый поток может быть декодирован независимо, и декодер может действовать для декодирования только подмножества (а не всех) независимых вложенных потоков кодированного битового потока.
В одном из типичных примеров кодированного битового аудиопотока, служащего признаком двух независимых вложенных потоков, один из этих независимых вложенных потоков служит признаком каналов громкоговорителей стандартного формата многоканальной звуковой программы (например, левого, правого, центрального, левого окружающего, правого окружающего каналов широкополосных громкоговорителей 5.1-канальной главной программы), а другой независимый вложенный поток служит признаком монофонического звукового комментария к главной программе (например, комментария режиссера кинофильма, где главная программа представляет собой звуковую дорожку этого кинофильма). В другом примере кодированного битового аудиопотока, служащего признаком нескольких независимых вложенных потоков, один из этих независимых вложенных потоков служит признаком каналов громкоговорителей стандартного формата многоканальной главной программы (например, 5.1-канальной главной программы), содержащей диалог на первом языке (например, признаком диалога может служить один из каналов громкоговорителей главной программы), а каждый следующий независимый вложенный поток служит признаком монофонического перевода этого диалога (на другой язык).
Необязательно, кодированный битовый аудиопоток, служащий признаком главной программы (а также, необязательно, по меньшей мере еще одной звуковой программы) содержит по меньшей мере один «зависимый» вложенный поток звукового содержимого. Каждый зависимый вложенный поток ассоциирован с одним независимым вложенным потоком битового потока и служит признаком по меньшей мере одного дополнительного канала программы (например, главной программы), содержимое которого указывается этим ассоциированным независимым вложенным потоком (т.е. указанный зависимый вложенный поток служит признаком по меньшей мере одного канала программы, не указанного ассоциированным независимым вложенным потоком, а этот ассоциированный независимый вложенный поток служит признаком по меньшей мере одного канала программы).
В одном из примеров кодированного битового потока, содержащего независимый вложенный поток (служащий признаком по меньшей мере одного канала главной программы), этот битовый поток также содержит зависимый вложенный поток (ассоциированный с этим независимым вложенным потоком), служащий признаком одного или нескольких каналов громкоговорителей главной программы. Такие дополнительные каналы громкоговорителей являются дополнительными к каналу (каналам) главной программы, указываемым независимым вложенным потоком. Например, если независимый вложенный поток служит признаком стандартного формата левого, правого, центрального, левого окружающего, правого окружающего каналов широкополосных громкоговорителей 7.1-канальной главной программы, то зависимый вложенный поток может служить признаком двух других каналов широкополосных громкоговорителей этой главной программы.
В соответствии со стандартом Е-АС-3, битовый поток Е-АС-3 должен служить признаком по меньшей мере одного независимого вложенного потока (например, единственного битового потока АС-3) и может служить признаком до восьми независимых вложенных потоков. Каждый независимый вложенный поток битового потока Е-АС-3 может быть ассоциирован с количеством до восьми зависимых вложенных потоков.
Битовый поток Е-АС-3 содержит метаданные, служащие признаком структуры вложенных потоков битового потока. Например, поле «chanmap» в секции сведений о битовом потоке (BSI) битового потока Е-АС-3 определяет схему каналов для каналов программы, указываемых зависимым вложенным потоком этого битового потока. Однако метаданные, служащие признаком структуры вложенных потоков, обычно заключены в битовом потоке Е-АС-3 в таком формате, что к ним было удобно получать доступ и использовать их (в ходе декодирования кодированного битового потока Е-АС-3) только посредством декодера Е-АС-3; а не в формате для доступа и использования после декодирования (например, при использовании постпроцессора) или перед декодированием (например, при использовании процессора, выполненного с возможностью распознавания метаданных). Также существует риск того, что декодер может неверно идентифицировать вложенные потоки традиционного кодированного битового потока Е-АС-3, используя метаданные, включенные традиционным образом, и до настоящего изобретения не было известно, каким образом включать метаданные структуры вложенных потоков в кодированный битовый поток (например, в кодированный битовый поток Е-АС-3) в таком формате, чтобы сделать возможным удобное и эффективное обнаружение и исправление ошибок в идентификации вложенных потоков в ходе декодирования указанного битового потока.
Битовый поток Е-АС-3 также может содержать метаданные, относящиеся к звуковому содержимому звуковой программы. Например, битовый поток Е-АС-3, служащий признаком звуковой программы, содержит метаданные, служащие признаком минимальной и максимальной частот, к которым для кодирования содержимого программы была применена обработка растягивания спектра (и кодирования со связыванием каналов). Однако такие метаданные обычно включены в битовый поток Е-АС-3 в таком формате, что получать к ним доступ и использовать их (в ходе декодирования кодированного битового потока Е-АС-3) удобно только посредством декодера Е-АС-3; а не посредством доступа и использования после декодирования (например, при использовании постпроцессора) или перед декодированием (например, при использовании процессора, выполненного с возможностью распознавания метаданных). Кроме того, такие метаданные не включены в битовый поток Е-АС-3 в формате, который позволял бы удобное и эффективное обнаружение ошибок и исправление ошибок идентификации таких метаданных в ходе декодирования битового потока.
В соответствии с типичными вариантами осуществления изобретения, PIM и/или SSM (а также, необязательно, другие метаданные, например, метаданные состояния обработки громкости, или «LPSM») встраивают в одно или несколько зарезервированных полей (или областей) сегментов метаданных битового аудиопотока, также содержащего аудиоданные в других сегментах (сегментах аудиоданных). Как правило, по меньшей мере один сегмент каждого кадра этого битового потока содержит PIM или SSM, и по меньшей мере еще один сегмент этого кадра содержит соответствующие аудиоданные (т.е. аудиоданные, структура вложенных потоков которых указывается посредством SSM, и/или аудиоданных, имеющих по меньшей мере одну характеристику или свойство, указываемое PIM).
В одном из классов вариантов осуществления каждый сегмент метаданных представляет собой структуру данных (иногда именуемую в настоящем документе контейнером), способную содержать одну или несколько полезных нагрузок метаданных. Каждая полезная нагрузка включает заголовок, содержащий индивидуальный идентификатор полезной нагрузки (и конфигурационные данные полезной нагрузки), предусматривающий точно выраженный указатель типа метаданных, присутствующих в этой полезной нагрузке. Порядок полезных нагрузок в контейнере является неопределенным, поэтому полезные нагрузки могут храниться в любом порядке, и синтаксический анализатор должен иметь возможность выполнять синтаксический анализ всего контейнера для извлечения значимых полезных нагрузок и пренебрежения теми из них, которые не являются значимыми или являются неподдерживаемыми.
Фигура 8 (описываемая ниже) иллюстрирует структуру такого контейнера и полезных нагрузок в контейнере.
Сообщение метаданных (например, SSM и/или PIM, и/или LPSM) по цепочке обработки аудиоданных является особенно полезным тогда, когда двум или большему количеству модулей обработки аудиоданных необходимо работать совместно друг с другом повсюду в цепочке обработки данных (или в течение всего жизненного цикла содержимого). В отсутствие включения метаданных в битовый аудиопоток могут возникать серьезные трудности обработки мультимедийных данных, такие, как ухудшения качества, уровня или пространственные ухудшения, например, тогда, когда два или большее количество аудиокодеков используют в цепочке и односторонняя регулировка уровня громкости применяется на пути битового потока к устройству потребления мультимедийных данных (или к точке представления звукового содержимого битового потока) более одного раза.
Метаданные состояния обработки громкости (LPSM), внедренные в битовый аудиопоток в соответствии с некоторыми вариантами осуществления изобретения, могут быть аутентифицированы и проверены на достоверность, например, чтобы позволить регулятивным органам громкости, проверять, находится ли громкость конкретной программы уже в заданных пределах, и что соответствующие аудиоданные сами по себе не были модифицированы (посредством чего обеспечивается соответствие применимым нормам). Для этой проверки, вместо вычисления громкости заново, может быть считано значение громкости, заключенное в блоке данных, содержащем метаданные состояния обработки громкости. В ответ на LPSM регулятивный орган может определять, что соответствующее звуковое содержимое находится в соответствии (что указано LPSM) с законодательными и/или нормативными требованиями (например, с нормами, обнародованными в Законе об уменьшении громкости коммерческих рекламных объявлений (Commercial Advertisement Loudness Mitigation Act), также известном как закон «CALM») без необходимости в вычислении громкости звукового содержимого.
ФИГ. 1 представляет собой блок-схему одного из примеров цепочки обработки аудиоданных (системы обработки аудиоданных), в которой один или несколько из элементов системы могут быть выполнены в соответствии с одним из вариантов осуществления настоящего изобретения. Эта система содержит следующие элементы, связанные друг с другом так, как это показано: модуль предварительной обработки данных, кодер, модуль анализа сигнала и исправления метаданных, преобразователь кода, декодер и модуль постобработки данных. В вариантах показанной системы пропущен один или несколько из этих элементов или добавлены дополнительные модули обработки аудиоданных.
В некоторых реализациях модуль предварительной обработки данных по ФИГ. 1 выполнен с возможностью приема в качестве ввода дискретных значений РСМ (во временной области), содержащих звуковое содержимое, и вывода обработанных дискретных значений РСМ. Кодер может быть выполнен с возможностью приема в качестве ввода дискретных значений РСМ и вывода кодированного (например, сжатого) битового аудиопотока, служащего признаком звукового содержимого. Данные битового потока, служащие признаком звукового содержимого, иногда именуются в настоящем документе «аудиоданными». Если кодер выполнен в соответствии с типичным вариантом осуществления настоящего изобретения, то вывод битового потока из кодера помимо аудиоданных содержит PIM и/или SSM (а также, необязательно метаданные состояния обработки громкости и/или другие метаданные).
Модуль анализа сигнала и исправления метаданных по Фиг. 1 может принимать в качестве ввода один или несколько кодированных битовых аудиопотоков и определять (например, проверять на достоверность), являются ли верными метаданные (например, метаданные состояния обработки данных) в каждом кодированном битовом потоке, путем выполнения анализа сигнала (например, используя метаданные границ программы в кодированном битовом аудиопотоке). Если модуль анализа сигнала и исправления метаданных находит, что включенные метаданные не являются достоверными, он, как правило, замещает неверное значение (значения) верным значением (значениями), полученными из анализа сигнала. Таким образом, вывод каждого кодированного битового аудиопотока из модуля анализа сигнала и исправления метаданных может содержать исправленные (или неисправленные) метаданные состояния обработки данных, а также кодированные аудиоданные.
Преобразователь кода по Фиг. 1 может принимать в качестве ввода кодированные битовые аудиопотоки и выводить в ответ модифицированные (например, иначе кодированные) битовые аудиопотоки (например, путем декодирования входного потока и повторного кодирования этого декодированного потока в другом формате кодирования). Если преобразователь кода выполнен в соответствии с одним из типичных вариантов осуществления настоящего изобретения, то указанный вывод битового аудиопотока из преобразователя кода наряду с кодированными аудиоданными содержит SSM и/или PIM (а также, как правило, другие метаданные). Эти метаданные могли быть заключены во входном битовом потоке.
Декодер по Фиг. 1 может принимать в качестве ввода кодированные (например, сжатые) битовые аудиопотоки и (в ответ) выводить потоки декодированных дискретных значений РСМ аудиоданных. Если декодер выполнен в соответствии с одним из типичных вариантов осуществления настоящего изобретения, вывод этого декодера при типичной работе представляет собой или содержит что-либо из следующего:
• поток дискретных значений аудиоданных и по меньшей мере один соответствующий поток SSM и/или PIM (а также, как правило, других метаданных), извлеченные из входного кодированного битового потока; или
• поток дискретных значений аудиоданных и соответствующий поток управляющих битов, определенных исходя из SSM и/или PIM (а также, как правило, других метаданных, например, LPSM), извлеченных из входного кодированного битового потока; или
• поток дискретных значений аудиоданных без соответствующего потока метаданных или управляющих битов, определенных исходя из метаданных. В этом, последнем случае, декодер может извлекать метаданные из входного кодированного битового потока и выполнять на этих извлеченных метаданных по меньшей мере одну операцию (например, проверку достоверности), даже если он не выводит извлеченные метаданные или определенные исходя из них управляющие биты.
При исполнении модуля постобработки данных по Фиг. 1 в соответствии с одним из типичных вариантов осуществления настоящего изобретения, этот модуль постобработки данных является выполненным с возможностью приема потока декодированных дискретных значений РСМ аудиоданных и выполнения на них постобработки данных (например, регулировки уровня громкости звукового содержимого) с использованием SSM и/или PIM (а также, как правило, других метаданных, например, LPSM), принятых вместе с этими дискретными значениями, или управляющих битов, определенных декодером исходя из метаданных, принятых вместе с этими дискретными значениями. Модуль постобработки данных, как правило, также выполнен с возможностью представления подвергнутого постобработке звукового содержимого для воспроизведения одним или несколькими громкоговорителями.
Типичные варианты осуществления настоящего изобретения предусматривают усовершенствованную цепочку обработки аудиоданных, в которой модули обработки аудиоданных (например, кодеры, декодеры, преобразователи кода, а также модули предварительной обработки и постобработки данных) приспосабливают соответствующую им обработку данных для применения на аудиоданных в соответствии с современным состоянием медиаданных, которое, соответственно, указывается метаданными, принятыми указанными модулями обработки аудиоданных.
Ввод аудиоданных в какой-либо модуль обработки аудиоданных системы по Фиг. 1 (например, в кодер или преобразователь кода по Фиг. 1) может содержать наряду с аудиоданными (например, с кодированными аудиоданными) SSM и/или PIM (а также, необязательно, другие метаданные). Эти метаданные могли быть включены во ввод аудиоданных другим элементом системы по Фиг. 1 (или другим источником, не показанным на Фиг. 1) в соответствии с одним из вариантов осуществления настоящего изобретения. Модуль обработки данных, принимающий ввод аудиоданных (с метаданными) может быть выполнен с возможностью выполнения по меньшей мере одной операции (например, проверки достоверности) на этих метаданных или в ответ на эти метаданные (например, адаптивной обработки входных аудиоданных), а также, как правило, содержит в своих выходных аудиоданных метаданные, обработанную версию этих метаданных или управляющие биты, определенные исходя из этих метаданных.
Один из типичных вариантов осуществления изобретательского модуля обработки аудиоданных (или процессора аудиоданных) выполнен с возможностью выполнения адаптивной обработки аудиоданных на основе состояния аудиоданных, указываемого метаданными, соответствующими этим аудиоданным. В некоторых вариантах осуществления адаптивная обработка данных представляет собой (или включает) обработку громкости, если метаданные указывают, что обработка громкости или сходная с ней обработка данных не была уже выполнена на этих аудиоданных, но не представляет собой (и не включает) обработку громкости, если метаданные указывают, что такая обработка громкости или сходная с ней обработка данных уже была выполнена на этих аудиоданных. В некоторых вариантах осуществления адаптивная обработка данных представляет собой или включает проверку достоверности метаданных (например, выполняемую в подмодуле проверки достоверности метаданных), обеспечивая то, что модуль обработки аудиоданных выполняет другую адаптивную обработку на аудиоданных на основе состояния аудиоданных, указываемого метаданными. В некоторых вариантах осуществления проверка достоверности определяет надежность метаданных, ассоциированных с (или заключенных в битовом потоке совместно с) аудиоданными. Например, если проверенные на достоверность метаданные являются надежными, то результаты ранее выполненной обработки аудиоданных одного из типов можно использовать повторно, избегая нового выполнения обработки аудиоданных того же типа. С другой стороны, если найдено, что метаданные подверглись подделке (или являются ненадежными в других отношениях), то обработку метаданных этого типа, предположительно, выполненную ранее (что указывается ненадежными метаданными), можно повторить при помощи модуля обработки аудиоданных, и/или модулем обработки аудиоданных на метаданных и/или аудиоданных может быть выполнена другая обработка данных. Модуль обработки аудиоданных также может быть выполнен с возможностью сигнализации другим модулям обработки аудиоданных в нисходящем направлении усовершенствованной цепочки обработки медиаданных о том, что метаданные (например, присутствующие в битовом потоке медиаданных) являются достоверными (например, основанными на совпадении извлеченной криптографической величины и контрольной криптографической величины).
ФИГ. 2 представляет собой блок-схему кодера (100), представляющего собой один из вариантов осуществления изобретательского модуля обработки аудиоданных. Любой из компонентов или элементов кодера 100 может быть реализован как один или несколько процессов и/или одна или несколько схем (например, микросхем ASIC, матриц FPGA или других интегральных микросхем), в аппаратном обеспечении, программном обеспечении или в сочетании аппаратного и программного обеспечения. Кодер 100 содержит буфер 110 кадров, синтаксический анализатор 111, декодер 101, средство 102 проверки достоверности состояния аудиоданных, ступень 103 обработки громкости, ступень 104 выбора аудиопотока, кодер 105, ступень 107 формирователя скорости передачи данных/средства форматирования, ступень 106 генерирования метаданных, подсистему 108 измерения громкости диалога и буфер 109 кадров, соединенные так, как это показано. Как правило, также кодер 100 содержит другие элементы обработки данных (не показаны).
Кодер 100 (представляющий собой преобразователь кода) выполнен с возможностью преобразования входного битового аудиопотока (который, например, может представлять собой битовый поток АС-3, битовый поток Е-АС-3 или битовый поток Dolby Е) в кодированный выходной битовый поток (который, например, может представлять собой другой битовый поток, выбранный из битового потока АС-3, битового потока Е-АС-3 или битового потока Dolby Е), заключающегося в выполнении адаптивной и автоматизированной обработки громкости с использованием метаданных состояния обработки громкости, заключенных во входном битовом потоке. Например, кодер 100 может быть выполнен с возможностью преобразования входного битового потока Dolby Е (формат, как правило, используемый в производственном и вещательном оборудовании, но не в потребительских устройствах, принимающих вещаемые на них звуковые программы) в кодированный выходной битовый аудиопоток (пригодный для вещания на потребительские устройства) в формате АС-3 или Е-АС-3.
Система по ФИГ. 2 также содержит подсистему 150 доставки кодированных аудиоданных (которая хранит в памяти и/или доставляет кодированные битовые потоки, выходящие из кодера 100) и декодер 152. Кодированный битовый аудиопоток, выходящий из кодера 100, может быть сохранен в памяти подсистемы 150 (например, в форме диска DVD или Blu-ray) или передан подсистемой 150 (которая может реализовывать канал или сеть связи), или он может быть, как сохранен, так и передан подсистемой 150. Декодер 152 выполнен с возможностью декодирования кодированного битового аудиопотока (генерируемого кодером 100), который он принимает посредством подсистемы 150, что заключается в извлечении метаданных (PIM и/или SSM, а также, необязательно, метаданных состояния обработки громкости и/или других метаданных) из каждого кадра битового потока (а также, необязательно, в извлечении из битового потока метаданных границ программы) и в генерировании декодированных аудиоданных. Как правило, декодер 152 выполнен с возможностью выполнения адаптивной обработки данных на декодированных аудиоданных с использованием PIM и/или SSM, и/или LPSM (а также, необязательно, метаданных границ программы), и/или направления декодированных аудиоданных и метаданных в постпроцессор, выполненный с возможностью выполнения адаптивной обработки данных на декодированных аудиоданных с использованием метаданных. Как правило, декодер 152 содержит буфер, который хранит в памяти (например, энергонезависимым образом) кодированный аудиопоток, принятый из подсистемы 150.
Различные реализации кодера 100 и декодера 152 выполнены с возможностью выполнения различных вариантов осуществления способа изобретения.
Буфер 110 кадров представляет собой буферную память, связанную с приемом кодированного входного битового аудиопотока. В действии, буфер 110 сохраняет (например, энергонезависимым образом) по меньшей мере один кадр кодированного битового аудиопотока, а последовательность кадров кодированного битового аудиопотока направляется из буфера 110 в синтаксический анализатор 111.
Синтаксический анализатор 111 связан и выполнен с возможностью извлечения PIM и/или SSM и метаданных состояния обработки громкости (LPSM), а также, необязательно, метаданных границ программы (и/или других метаданных) из каждого кадра кодированных входных аудиоданных, в котором заключены эти метаданные, для направления по меньшей мере LPSM (а также, необязательно, метаданных границ программы и/или других метаданных) в средство 102 проверки достоверности состояния метаданных, на ступень 103 обработки громкости, ступень 106 и в подсистему 108 для извлечения аудиоданных из кодированных входных аудиоданных и для направления аудиоданных в декодер 101. Декодер 101 кодера 100 выполнен с возможностью декодирования этих аудиоданных с целью генерирования декодированных аудиоданных и направления этих декодированных аудиоданных на ступень 103 обработки громкости, ступень 104 выбора аудиопотока, в подсистему 108, а также, как правило, в средство 102 проверки достоверности состояния.
Средство 102 проверки достоверности состояния выполнено с возможностью аутентификации и проверки достоверности направляемых в него метаданных LPSM (и, необязательно, других метаданных). В некоторых вариантах осуществления метаданные LPSM представляют собой (или заключены в) блок данных, который был заключен во входном битовом потоке (например, в соответствии с одним из вариантов осуществления настоящего изобретения). Этот блок может содержать значение криптографической хэш-функции (хэш-кода аутентификации сообщений, или «НМАС») для обработки LPSM (а также, необязательно, других метаданных) и/или лежащих в их основе аудиоданных (доставленных из декодера 101 в средство 102 проверки достоверности). В этих вариантах осуществления блок данных может содержать цифровую подпись, поэтому модуль обработки аудиоданных в нисходящем направлении может относительно легко аутентифицировать и проверять достоверность указанных метаданных состояния обработки данных.
Например, НМАС используют для генерирования свертки, и защитная величина (величины), заключенные в изобретательском битовом потоке, могут содержать эту свертку. Указанную свертку для кадра АС-3 можно генерировать следующим образом: 1. После кодирования данных АС-3 и LPSM, байты данных кадра (сцепленные frame_data #1 и frame data #2) и байты данных LPSM используют в качестве ввода для хэш-функции НМАС. Другие данные, которые могут присутствовать в поле auxdata, при вычислении свертки не учитывают. Эти другие данные могут представлять собой байты, не принадлежащие ни к данным АС-3, ни к данным LSPSM. При вычислении свертки НМАС могут не учитываться биты защиты, заключенные в LPSM.
2. После вычисления свертки, ее записывают в битовый поток в поле, зарезервированное для битов защиты.
3. Последним этапом генерирования полного кадра АС-3 является вычисление критерия CRC. Он записывается в самый конец кадра, и в расчет принимаются все данные, принадлежащие этому кадру, в том числе биты LPSM.
Для проверки достоверности LPSM и/или других метаданных (например, в средстве 102 проверки достоверности) с целью обеспечения защищенной передачи и приема метаданных и/или лежащих в их основе аудиоданных, можно использовать и другие криптографические методы, в том числе, без ограничения, любой из одного или нескольких криптографических методов, не относящихся к НМАС. Например, проверку достоверности (использующую такой криптографический метод) можно выполнять в каждом модуле обработки аудиоданных, принимающем один из вариантов осуществления изобретательского битового аудиопотока, для определения того, были ли метаданные и соответствующие аудиоданные, заключенные в этом битовом потоке, подвергнуты специальной обработке данных (или являются ли они ее результатом), что указывается метаданными, и были ли они модифицированы после выполнения указанной специальной обработки данных.
Средство 102 проверки достоверности состояния направляет управляющие данные на ступень 104 выбора аудиопотока, в генератор 106 метаданных и в подсистему 108 измерения громкости диалога с целью указания результатов операции проверки достоверности. В ответ на эти управляющие данные ступень 104 может выбирать (и пропускать в кодер 105) одно из следующего:
• адаптивно обработанный вывод ступени 103 обработки громкости (например, тогда, когда метаданные LPSM указывают, что вывод аудиоданных из декодера 101 не был подвергнут обработке громкости специального типа, а управляющие биты из средства 102 проверки достоверности указывают, что метаданные LPSM являются достоверными); или
• вывод аудиоданных из декодера 101 (например, тогда, когда метаданные LPSM указывают, что вывод аудиоданных из декодера 101 уже был подвергнут обработке громкости специального типа, которая могла быть выполнена ступенью 103, а управляющие биты из средства 102 проверки достоверности указывают, что метаданные LPSM являются достоверными).
Ступень 103 кодера 100 выполнена с возможностью выполнения адаптивной обработки громкости на выводе декодированных аудиоданных из декодера 101 на основе одной или нескольких характеристик аудиоданных, указываемых метаданными LPSM, извлеченными декодером 101. Ступень 103 может представлять собой процессор управления громкостью и динамическим диапазоном в реальном времени в области преобразования. Ступень 103 может принимать пользовательский ввод (например, целевые пользовательские значения громкости/динамического диапазона или значения dialnorm) или ввод других метаданных (например, данных третьей стороны одного или нескольких типов, данные сопровождения, идентификаторы или сведения о стандарте, данные пользовательских комментариев, данные пользовательских предпочтений и т.д.) и/или другой ввод (например, из процесса вычисления контрольных сумм) и использовать этот ввод для обработки вывода декодированных аудиоданных из декодера 101. Ступень 103 может выполнять адаптивную обработку громкости на декодированных аудиоданных (выходных из декодера 101), служащих признаком единственной звуковой программы (что указывается метаданными границ программы, извлеченными синтаксическим анализатором 111) и может сбрасывать обработку громкости в ответ на прием декодированных аудиоданных (выходных из декодера 101), служащих признаком другой звуковой программы, что указывается метаданными границ программы, извлеченными синтаксическим анализатором 111.
Подсистема 108 измерения громкости диалога может действовать для определения громкости сегментов декодированных аудиоданных (из декодера 101), служащих признаками диалога (или другой речи), например, используя метаданные LPSM (и/или другие метаданные), извлеченные декодером 101, когда управляющие биты из средства 102 проверки достоверности указывают, что метаданные LPSM являются недостоверными. Действие подсистемы 108 измерения громкости диалога можно отменить, если метаданные LPSM указывают ранее определенную громкость диалога (или другой речи) сегментов декодированных аудиоданных (из декодера 101), когда управляющие биты из средства 102 проверки достоверности указывают, что метаданные LPSM являются достоверными. Подсистема 108 может выполнять измерение громкости на декодированных аудиоданных, служащих признаком единственной звуковой программы (что указывается метаданными границ программы, извлеченными синтаксическим анализатором 111) и может сбрасывать это измерение в ответ на прием декодированных аудиоданных, служащих признаком другой звуковой программы, что указывается метаданными границ программы.
Для удобного и простого измерения уровня диалога в звуковом содержимом существуют полезные инструментальные средства (например, измеритель громкости Dolby LM100). Некоторые варианты осуществления изобретательского модуля APU (например, ступени 108 кодера 100) реализованы так, чтобы они содержали такое инструментальное средство (или выполняли его функции) для измерения средней громкости диалога звукового содержимого из битового аудиопотока (например, декодированного битового потока АС-3, направляемого на ступень 108 из декодера 101 кодера 100).
Если ступень 108 реализована для измерения истинной средней громкости диалога аудиоданных, это измерение может включать этап отделения сегментов звукового содержимого, преимущественно содержащих речь. Сегменты аудиоданных, преимущественно представляющие собой речь, затем обрабатываются в соответствии с алгоритмом измерения громкости. Для аудиоданных, декодированных из битового потока АС-3, этот алгоритм может представлять собой стандартную меру громкости, взвешенную по кривой K (в соответствии с международным стандартом ITU-R BS.1770).
В качестве альтернативы, можно использовать и другие меры громкости (например, меры, основанные на психоакустических моделях громкости).
Отделение речевых сегментов не является существенным для измерения средней громкости диалога аудиоданных. Однако оно повышает точность меры и, как правило, обеспечивает более удовлетворительные результаты с точки зрения слушателя. По причине того, что не все звуковое содержимое содержит диалог (речь), мера громкости всего звукового содержимого может обеспечивать достаточное приближение уровня диалога аудиоданных, содержавших присутствующую в них речь.
Генератор 106 метаданных генерирует (и/или пропускает на ступень 107) метаданные, подлежащие включению ступенью 107 в кодированный поток, подлежащий выводу из кодера 100. Генератор 106 метаданных может пропускать на ступень 107 метаданные LPSM (а также, необязательно, LIM и/или PIM, и/или метаданные границ программы, и/или другие метаданные), извлеченные декодером 101 и/или синтаксическим анализатором 111 (например, когда управляющие биты из средства 102 проверки достоверности указывают, что LPSM и/или другие метаданные являются достоверными), или генерировать новые метаданные LIM и/или PIM, и/или LPSM, и/или другие метаданные и направлять эти новые метаданные на ступень 107 (например, когда управляющие биты из средства 102 проверки достоверности указывают, что метаданные, извлеченные декодером 101, являются недостоверными), или он может направлять на ступень 107 сочетание метаданных, извлеченных декодером 101 и/или синтаксическим анализатором 111, и заново сгенерированных метаданных. Генератор 106 метаданных может включать данные громкости, генерируемые подсистемой 108, и по меньшей мере одну величину, служащую признаком типа обработки громкости, выполненной подсистемой 108, в метаданные LPSM, которые он направляет на ступень 107 для включения в кодированный битовый поток, подлежащий выводу из кодера 100.
Генератор 106 метаданных может генерировать биты защиты (которые могут состоять из хэш-кода аутентификации сообщений, или «НМАС», или содержать этот код), пригодные для по меньшей мере одного из следующих действий: расшифровки, аутентификации или проверки достоверности метаданных LPSM (а также, необязательно, других метаданных), подлежащих включению в кодированный битовый поток и/или лежащих в их основе аудиоданных, подлежащих включению в этот кодированный битовый поток. Генератор 106 метаданных может доставлять эти биты защиты на ступень 107 для включения в кодированный битовый поток.
При типичной работе подсистема 108 измерения громкости диалога обрабатывает вывод аудиоданных из декодера 101 с целью генерирования в ответ на них значений громкости (например, стробированных или нестробированных значений громкости диалога) и значений динамического диапазона. В ответ на эти значения генератор 106 метаданных генерирует метаданные состояния обработки громкости (LPSM) для включения (формирователем скорости передачи данных/средством форматирования 107) в кодированный битовый поток, подлежащий выводу из кодера 100.
В дополнение, необязательно или в качестве альтернативы, подсистемы 106 и/или 108 кодера 100 могут выполнять дополнительный анализ аудиоданных для генерирования метаданных, служащих признакам и по меньшей мере одной характеристики аудиоданных, для включения в кодированный битовый поток, подлежащий выводу со ступени 107.
Кодер 105 кодирует (например, выполняя на нем сжатие) вывод аудиоданных со ступени 104 выбора и направляет эти кодированные аудиоданные на ступень 107 для включения в кодированный битовый поток, подлежащий выводу со ступени 107.
Ступень 107 уплотняет кодированные аудиоданные из кодера 105 и метаданные (содержащие PIM и/или SSM) из генератора 106 для генерирования кодированного битового потока, подлежащего выводу со ступени 107, предпочтительно так, чтобы этот кодированный битовый поток имел формат, определенный одним из предпочтительных вариантов осуществления настоящего изобретения.
Буфер 109 кадров представляет собой буферную память, которая хранит (например, энергонезависимым образом) по меньшей мере один кадр из вывода кодированного битового аудиопотока со ступени 107, и последовательность кадров кодированного битового аудиопотока затем направляется из буфера 109 как вывод кодера 100 в систему 150 доставки.
Метаданные LPSM, генерируемые генератором 106 метаданных и включенные в кодированные битовый поток ступенью 107, как правило, служат признаками состояния обработки громкости соответствующих аудиоданных (например, того, обработка громкости какого типа (типов) была выполнена на этих аудиоданных) и громкости (например, измеренной громкости диалога, стробированной и/или нестробированной громкости, и/или динамического диапазона) соответствующих аудиоданных.
В настоящем документе «стробирование» измерений громкости и/или уровня, выполняемое на аудиоданных, относится к специальному пороговому значению уровня, или громкости, когда вычисленное значение (значения), превышающие это пороговое значение, включаются в окончательное измерение (например, путем пропуска краткосрочных значений громкости ниже -60 дБ полной шкалы в окончательных измеренных значениях). Стробирование на абсолютном значении относится к фиксированному уровню, или громкости, в то время как стробирование на относительном значении относится к значению, не зависящему от текущего «нестробированного» значения измерения.
В некоторых реализациях кодера 100 кодированный битовый поток, буферированный в памяти 109 (и выводимый в систему 150 доставки), представляет собой битовый поток АС-3 или битовый поток Е-АС-3 и содержит сегменты аудиоданных (например, сегменты AB0-АВ5 кадра, показанного на Фиг. 4) и сегменты метаданных, где сегменты аудиоданных служат признаками аудиоданных, а каждый из по меньшей мере некоторых из сегментов метаданных содержит PIM и/или SSM (а также, необязательно, другие метаданные). Ступень 107 вставляет сегменты метаданных (содержащие метаданные) в битовый поток в следующем формате. Каждый из сегментов метаданных, содержащих PIM и/или SSM, включается в сегмент лишних битов битового потока (например, в сегмент лишних битов «W», как показано на Фиг. 4 или Фиг. 7) или в поле «addbsi» сегмента сведений о битовом потоке («BSI»), или в поле auxdata (например, в сегмент AUX, показанный на Фиг. 4 или Фиг. 7) в конце кадра этого битового потока. Кадр битового потока может содержать один или два сегмента метаданных, каждый из которых содержит метаданные, и если этот кадр содержит два сегмента метаданных, то один может присутствовать в поле addbsi кадра, а другой - в поле AUX кадра.
В некоторых вариантах осуществления каждый сегмент метаданных (иногда именуемый в настоящем документе «контейнером»), вставляемый ступенью 107, имеет формат, включающий заголовок сегмента метаданных (а также, необязательно, другие обязательные, или «базовые», элементы) и одну или несколько полезных нагрузок метаданных, следующих за заголовком сегмента метаданных. Метаданные SIM, если они присутствуют, включаются в одну из полезных нагрузок метаданных (идентифицируемую по заголовку полезной нагрузки и, как правило, имеющую формат первого типа). Метаданные PIM, если они присутствуют, включаются в еще одну из полезных нагрузок метаданных (идентифицируемую по заголовку полезной нагрузки и, как правило, имеющую формат второго типа). Аналогично, метаданные любого другого типа (если они присутствуют) включаются в еще одну из полезных нагрузок метаданных (идентифицируемую по заголовку полезной нагрузки и, как правило, имеющую формат, специфичный для этого типа метаданных). Этот иллюстративный формат делает возможным удобный доступ к SSM, PIM и другим метаданным в иные моменты времени, чем во время декодирования (например, при использовании постпроцессора вслед за декодированием или при использовании процессора, выполненного с возможностью распознавания метаданных без выполнения полного декодирования на кодированном битовом потоке), и делает возможным удобное и эффективное обнаружение и исправление ошибок (например, идентификации вложенных потоков) в ходе декодирования битового потока. Например, в отсутствие доступа к SSM в иллюстративном формате декодер может неверно идентифицировать верное количество вложенных потоков, ассоциированных с программой. Одна полезная нагрузка метаданных в сегменте метаданных может содержать SSM, другая полезная нагрузка метаданных может содержать PIM, а также, необязательно, по меньшей мере еще одна полезная нагрузка метаданных в сегменте метаданных может содержать другие метаданные (например, метаданные состояния обработки громкости, или «LPSM»).
В некоторых вариантах осуществления полезная нагрузка метаданных структуры вложенных потоков (SSM), включаемая (ступенью 107) в кадр кодированного битового потока (например, битового потока Е-АС-3, служащего признаком по меньшей мере одной звуковой программы), содержит SSM в следующем формате:
• заголовок полезной нагрузки, как правило, содержащий по меньшей мере одну величину-идентификатор (например, 2-битную величину, служащую признаком версии формата SSM, а также, необязательно значений длины, периода, счетчика и ассоциации вложенных потоков); и,
• после заголовка - метаданные независимых вложенных потоков, служащие признаком количества независимых вложенных потоков программы, указываемой этим битовым потоком; и
• метаданные зависимых вложенных потоков, служащие признаком того, содержит ли каждый независимый вложенный поток программы по меньшей мере один ассоциированный зависимый вложенный поток (т.е. того, ассоциирован ли по меньшей мере один зависимый вложенный поток с указанным каждым независимым вложенным потоком), и, если это так - количества зависимых вложенных потоков, ассоциированных с каждым независимым вложенным потоком программы.
Предполагается, что независимый вложенный поток кодированного битового потока может служить признаком набора каналов громкоговорителей звуковой программы (например, каналов громкоговорителей звуковой программы с 5.1 каналов громкоговорителей), и что каждый из одного или нескольких вложенных потоков (ассоциированных с указанным независимым вложенным потоком, что указывается метаданными зависимых вложенных потоков) может служить признаком объектного канала программы. Как правило, однако, независимый вложенный поток кодированного битового потока служит признаком набора каналов громкоговорителей программы, а каждый зависимый вложенный поток, ассоциированный с этим независимым вложенным потоком (что указывается метаданными зависимых вложенных потоков) служит признаком по меньшей мере одного дополнительного канала программы.
В некоторых вариантах осуществления полезная нагрузка метаданных сведений о программе (PIM), включаемых (ступенью 107) в кадр кодированного битового потока (например, кодированного битового потока Е-АС-3, служащего признаком по меньшей мере одной звуковой программы) имеет следующий формат:
• заголовок полезной нагрузки, как правило, содержащий по меньшей мере одну величину-идентификатор (например, величину, служащую признаком версии формата PIM, а также, необязательно значений длины, периода, счетчика и ассоциации вложенных потоков); и,
• после заголовка - PIM в следующем формате:
• метаданные активных каналов, служащие признаком каждого беззвучного канала и каждого содержащего звук канала звуковой программы (т.е. того, какой канал (каналы) программы содержит звуковую информацию, а какой (если он присутствует) содержит только тишину (как правило, в течение времени определенной длительности)). В вариантах осуществления, где кодированный битовый поток представляет собой битовый поток АС-3 или Е-АС-3, метаданные активных каналов в кадре битового потока можно использовать в сочетании с дополнительными метаданными битового потока (например, с полем режима звукового кодирования («acmod») кадра и, если оно присутствует, с полем chanmap в этом кадре или в кадре (кадрах) ассоциированных вложенных потоков)) для определения того, какой канал (каналы) программы содержит звуковую информацию, а какой содержит тишину. Поле «acmod» кадра АС-3 или Е-АС-3 указывает количество широкополосных каналов звуковой программы, указываемой звуковым содержимым кадра (например, то, является эта программа 1.0-канальной монофонической программой, 2.0-канальной стереофонической программой или программой, содержащей широкополосные каналы L, R, С, Ls, Rs), или то, что этот кадр служит признаком двух независимых 1.0-канальных монофонических программ. Поле «chanmap» битового потока Е-АС-3 указывает схему каналов для зависимого вложенного потока, указываемого битовым потоком. Метаданные активных каналов могут быть полезны для реализации повышающего микширования (в постпроцессоре) в нисходящем направлении относительно декодера, например, для добавления звука в каналы, содержащие тишину на выводе декодера;
• метаданные состояния обработки понижающего микширования, служащие признаком того, подвергалась ли эта программа понижающему микшированию (перед кодированием или в ходе него), и, если это так - того, понижающее микширование какого типа применялось. Метаданные состояния обработки понижающего микширования могут быть полезны для реализации повышающего микширования (в постпроцессоре) в нисходящем направлении относительно декодера, например, для повышающего микширования звукового содержимого программы с использованием параметров, которые наиболее близко соответствуют типу примененного понижающего микширования. В тех вариантах осуществления, где кодированный битовый поток представляет собой битовый поток АС-3 или Е-АС-3, метаданные состояния обработки понижающего микширования можно использовать в сочетании с полем режима звукового кодирования («acmod») кадра для определения типа понижающего микширования (если оно имело место), примененного к каналу (каналам) программы;
• метаданные состояния обработки повышающего микширования, служащие признаком того, подвергалась ли программа повышающему микшированию (например, от меньшего количества каналов) перед кодированием или в ходе него, и, если это так - типа повышающего микширования, которое применялось. Метаданные состояния обработки повышающего микширования могут быть полезны для реализации понижающего микширования (в постпроцессоре) в нисходящем направлении относительно декодера, например, для низведения звукового содержимого программы таким образом, чтобы оно было совместимо с одним из типов повышающего микширования (например, Dolby Pro Logic или Dolby Pro Logic II Movie Mode, или Dolby Pro Logic II Music Mode, или Dolby Professional Upmixer), которое применялось к программе. В вариантах осуществления, где кодированный битовый поток представляет собой битовый поток Е-АС-3, метаданные состояния повышающего микширования можно использовать в сочетании с другими метаданными (например, со значением поля «strmtyp» кадра) для определения типа повышающего микширования (если оно имело место), примененного к каналу (каналам) программы. Значение поля «strmtyp» (в сегменте BSI кадра битового потока Е-АС-3) указывает, принадлежит звуковое содержимое этого кадра независимому потоку (определяющему программу) или независимому вложенному потоку (программы, которая содержит несколько вложенных потоков или ассоциирована с ними), и поэтому может быть декодировано независимо от любого другого вложенного потока, указываемого битовым потоком Е-АС-3, или того, принадлежит ли звуковое содержимое кадра зависимому вложенному потоку (программы, содержащей несколько вложенных потоков или ассоциированной с ними), и поэтому оно должно быть декодировано в сочетании с независимым вложенным потоком, с которым оно ассоциировано; и
• метаданные состояния предварительной обработки данных, служащие признаком того, выполнялась ли предварительная обработка данных на звуковом содержимом кадра (перед кодированием звукового содержимого в генерируемый кодированный битовый поток), и, если это так - типа выполненной предварительной обработки данных.
В некоторых реализациях метаданные состояния обработки данных служат признаком того:
• применялось ли ослабление окружающего звука (например, ослаблялись ли окружающие каналы звуковой программы на 3 дБ перед кодированием),
• применялся ли сдвиг по фазе на 90 градусов (например, к окружающим каналам Ls и Rs звуковой программы перед кодированием),
• применялся ли фильтр пропускания нижних частот к каналу LFE звуковой программы перед кодированием,
• отслеживался ли уровень канала LFE программы в ходе производства и, если это так, то каков отслеженный уровень канала LFE относительно уровня широкополосных звуковых каналов программы,
• следует ли применять сжатие динамического диапазона (например, в декодере) на каждом блоке декодируемого звукового содержимого программы, и, если это так, то каков тип (и/или параметры) сжатия динамического диапазона, подлежащего выполнению (например, метаданные состояния предварительной обработки данных этого типа могут служить признаком того, какой из типов профиля сжатия предполагался кодером для генерирования контрольных значений сжатия динамического диапазона, заключенных в кодированном битовом потоке: Film Standard, Film Light, Music Standard, Music Light или Speech. В качестве альтернативы, метаданные состояния предварительной обработки данных этого типа могут указывать, что на каждом кадре декодируемого звукового содержимого программы следует применять интенсивное сжатие динамического диапазона (сжатие «compr») способом, определяемым контрольными значениями сжатия динамического диапазона, заключенными в кодированном битовом потоке),
• задействовалась ли обработка растягивания спектра и/или кодирования со связыванием каналов для кодирования конкретных диапазонов частот содержимого программы, и, если это так - каковы минимальная и максимальная частоты частотных составляющих содержимого, на которых выполнялось растягивание спектра, и каковы минимальная и максимальная частоты частотных составляющих содержимого, на которых выполнялось кодирование со связыванием каналов. Сведения метаданных состояния предварительной обработки данных этого типа могут быть полезны при выполнении выравнивания (в постпроцессоре) в нисходящем направлении относительно декодера. Сведения как о связывании каналов, так и о растягивании спектра также полезны для оптимизации качества в ходе операций и применений перекодировки. Например, кодер может оптимизировать свое поведение (в ходе приспосабливания этапов предварительной обработки данных, таких, как виртуализация наушников, повышающее микширования и т.д.) на основе состояния таких параметров, как сведения о растягивании спектра и связывании каналов. Более того, кодер мог бы динамически приспосабливать свои параметры связывания и растягивания спектра для соответствия и/или для оптимизации значений на основе состояния входящих (и аутентифицированных) метаданных, и
• включены ли данные диапазона регулирования усиления диалога в кодированный битовый поток, и, если это так - каков доступный диапазон регулирования в ходе выполнения обработки усиления диалога (например, в постпроцессоре в нисходящем направлении относительно декодера) для корректировки уровня диалогового содержимого относительно уровня недиалогового содержимого звуковой программы.
В некоторых реализациях в полезную нагрузку PIM кодированного битового потока, подлежащего выводу из кодера 100, (ступенью 107) включены метаданные состояния дополнительной предварительной обработки данных (например, метаданные, служащие признаком параметров, относящихся к наушникам).
В некоторых вариантах осуществления полезная нагрузка LPSM, включаемая (ступенью 107) в кадр кодированного битового потока (например, битового потока Е-АС-3, служащего признаком по меньшей мере одной звуковой программы), содержит LPSM в следующем формате:
• заголовок (как правило, содержащий синхрослово, идентифицирующее начало полезной нагрузки LPSM, за которым следует по меньшей мере одна величина-идентификатор, например, значения версии формата LPSM, длины, периода, счетчика и ассоциации вложенных потоков, указанные ниже в Таблице 2); и,
• после заголовка - по меньшей мере, одно значение указателя диалога (например, параметр «Канал (каналы) диалога» по Таблице 2), указывающее, указывают или не указывают диалог соответствующие аудиоданные (например, какие каналы соответствующих аудиоданных указывают диалог);
• по меньшей мере, одну величину соответствия громкости нормам (например, параметр «Тип норм громкости» по Таблице 2), указывающий соответствуют ли соответствующие аудиоданные указанному набору норм громкости;
• по меньшей мере, одну величину обработки громкости (например, один или несколько параметров «Флаг исправления стробированной громкости», «Тип исправления громкости» по Таблице 2), указывающую обработку громкости по меньшей мере одного типа, выполненную на соответствующих аудиоданных; и
• по меньшей мере, одну величину громкости (например, один или несколько параметров «Относительная стробированная громкость ITU», «Стробированная громкость речи ITU», «Краткосрочная 3-секундная громкость ITU (EBU 3341)» и «Истинное пиковое значение» по Таблице 2), указывающую по меньшей мере одну характеристику громкости (например, пиковую или среднюю громкость) соответствующих аудиоданных.
В некоторых вариантах осуществления каждый сегмент метаданных, содержащий PIM и/или SSM (а также, необязательно, другие метаданные) содержит: заголовок сегмента метаданных (а также, необязательно, дополнительные базовые элементы) и, после заголовка сегмента метаданных (или заголовка сегмента метаданных и других базовых элементов) по меньшей мере один сегмент полезной нагрузки метаданных, имеющий следующий формат:
• заголовок полезной нагрузки, как правило, содержащий по меньшей мере одну величину-идентификатор (например, значения версии формата SSM или PIM, длины, периода, счетчика и ассоциации вложенных потоков), и
• после заголовка полезной нагрузки - SSM или PIM (или метаданные другого типа).
В некоторых реализациях каждый из сегментов метаданных (иногда именуемых в настоящем документе «контейнерами метаданных» или «контейнерами»), вставляемых ступенью 107 в сегмент лишних битов/поля игнорируемых данных (или в поле «addbsi», или в поле auxdata) кадра, имеет следующий формат:
• заголовок сегмента метаданных (как правило, содержащий синхрослово, идентифицирующее начало этого сегмента метаданных, за которым следуют величины-идентификаторы, например, значения версии, длины, периода, счетчика элементов расширения и ассоциации вложенных потоков, как указано ниже в Таблице 1); и,
• после заголовка сегмента метаданных - по меньшей мере, одна защитная величина (например, значения свертки НМАС и контрольной суммы аудиоданных), пригодная для по меньшей мере одного из действий: расшифровки, аутентификации или проверки достоверности по меньшей мере следующих данных: метаданных из этого сегмента метаданных или соответствующих аудиоданных); и,
• также после заголовка сегмента метаданных - значение идентификатора («ID») и конфигурационные значения полезной нагрузки, идентифицирующие тип метаданных в каждой следующей полезной нагрузке метаданных и указывающие по меньшей мере одну особенность конфигурации (например, размер) каждой такой полезной нагрузки.
Каждая полезная нагрузка метаданных следует за соответствующим значением ID полезной нагрузки и конфигурационными значениями полезной нагрузки.
В некоторых вариантах осуществления каждый из сегментов метаданных в сегменте лишних битов (или в поле auxdata, или в поле «addbsi») кадра имеет три уровня структуры:
• структуру высшего уровня (например, заголовок сегмента метаданных), содержащую флаг, указывающий, содержит ли метаданные это поле лишних битов (или auxdata, или addbsi) по меньшей мере одно значение ID, указывающее, метаданные какого типа (типов) присутствуют, а также, как правило, величину, указывающую, сколько присутствует битов метаданных (например, каждого типа) (если метаданные присутствуют). Одним из типов метаданных, которые могут присутствовать, являются метаданные PIM, другим типом метаданных, которые могут присутствовать, являются метаданные SSM, другими типами метаданных, которые могут присутствовать являются метаданные LPSM и/или метаданные границ программы, и/или метаданные исследований в области средств массовой информации;
• структуру промежуточного уровня, содержащую данные, ассоциированные с каждым идентифицированным типом метаданных (например, значения заголовка полезной нагрузки метаданных, защитных величин, ID полезной нагрузки и конфигурационных значений полезной нагрузки для каждого идентифицированного типа метаданных); и
• структуру низового уровня, содержащую полезную нагрузку метаданных для каждого идентифицированного типа метаданных (например, последовательность значений PIM, если метаданные PIM идентифицированы как присутствующие, и/или значения метаданных другого типа (например, SSM или LPSM), если эти метаданные другого типа идентифицированы как присутствующие).
Значения данных в такой трехуровневой структуре могут быть вложенными. Например, защитная величина (величины) для каждой полезной нагрузки (например, для каждой полезной нагрузки PIM или SSM, или других метаданных), идентифицируемая структурами высшего и промежуточного уровней, может быть включена после полезной нагрузки (и, таким образом, после заголовка полезной нагрузки этой полезной нагрузки метаданных), или защитная величина (величины) для всех полезных нагрузок метаданных, идентифицируемых структурами высшего и промежуточного уровней, может быть включена после конечной полезной нагрузки в сегменте метаданных (и, таким образом, после заголовков полезных нагрузок метаданных всех полезных нагрузок этого сегмента метаданных).
В одном из примеров (который будет описан со ссылкой на сегмент метаданных, или «контейнер», по Фиг. 8), заголовок сегмента метаданных идентифицирует четыре полезные нагрузки метаданных. Как показано на Фиг. 8, этот заголовок сегмента метаданных содержит синхрослово контейнера (идентифицируемое как ((container sync») и значения версии и ID ключа. За заголовком сегмента метаданных следуют четыре полезные нагрузки метаданных и биты защиты. За заголовком сегмента метаданных следует значение ID полезной нагрузки и конфигурационные значения полезной нагрузки (например, размер полезной нагрузки) для первой полезной нагрузки (например, для полезной нагрузки PIM), а сама первая полезная нагрузка следует за этим значением ID и конфигурационными значениями, за первой полезной нагрузкой следует значение ID полезной нагрузки и конфигурационные значения полезной нагрузки (например, размер полезной нагрузки) для второй полезной нагрузки (например, для полезной нагрузки SSM), а сама вторая полезная нагрузка следует за этим значением ID и конфигурационными значениями, за второй полезной нагрузкой следует значение ID полезной нагрузки и конфигурационные значения полезной нагрузки (например, размер полезной нагрузки) для третьей полезной нагрузки (например, для полезной нагрузки LPSM), а сама третья полезная нагрузка следует за этим значением ID и конфигурационными значениями, за третьей полезной нагрузкой следует значение ID полезной нагрузки и конфигурационные значения полезной нагрузки (например, размер полезной нагрузки) для четвертой полезной нагрузки, а сама четвертая полезная нагрузка следует за этим значением ID и конфигурационными значениями, и за последней полезной нагрузкой следует защитная величина (величины) (идентифицированная на Фиг. 8 как «Данные защиты») для всех или некоторых указанных полезных нагрузок (или для структуры высшего и промежуточного уровней и для всех или некоторых полезных нагрузок).
В некоторых вариантах осуществления, если декодер 101 принимает битовый аудиопоток, сгенерированный в соответствии с одним из вариантов осуществления изобретения со значением криптографической хэш-функции, то декодер выполнен с возможностью синтаксического анализа и извлечения этого значения криптографической хэш-функции из блока данных, определенного из битового потока, при этом указанный блок содержит метаданные. Средство 102 проверки достоверности может использовать это значение криптографической хэш-функции для проверки достоверности принятого битового потока и/или ассоциированных метаданных. Например, если средство 102 проверки достоверности находит метаданные достоверными на основании совпадения между контрольным значением криптографической хэш-функции и значением криптографической хэш-функции, извлеченным из этого блока данных, то оно может отменять действие процессора 103 на соответствующие аудиоданные и вызывать пропуск (неизмененных) аудиоданных ступенью 104 выбора. В дополнение, необязательно или в качестве альтернативы, вместо способа на основе значения криптографической хэш-функции можно использовать и другие криптографические методики.
Кодер 100 по ФИГ. 2 может определять (в ответ на LPSM, а также, необязательно, на метаданные границ программы, извлеченные декодером 101), что модуль предварительной обработки/постобработки данных выполнил (в элементах 105, 106 и 107) на подлежащих кодированию аудиоданных обработку громкости какого-либо типа, и тогда может создавать (в генераторе 106) метаданные состояния обработки громкости, содержащие конкретные параметры, использованные и/или полученные при ранее выполненной обработке громкости. В некоторых реализациях кодер 100 может создавать (и включать в выводимый из него кодированный битовый поток) метаданные, служащие признаком истории обработки данных на звуковом содержимом, поскольку кодер осведомлен о типах обработки данных, выполненной на этом звуковом содержимом.
ФИГ. 3 представляет собой блок-схему декодера (200), представляющего собой один из вариантов осуществления изобретательского модуля обработки аудиоданных, и связанного с ним постпроцессора (300). Постпроцессор (300) также представляет собой один из вариантов осуществления модуля обработки аудиоданных. Любой из компонентов или элементов кодера 200 и постпроцессора 300 может быть реализован как один или несколько процессов и/или одна или несколько схем (например, микросхем ASIC, матриц FPGA или других интегральных микросхем), в аппаратном обеспечении, программном обеспечении или в сочетании аппаратного и программного обеспечения. Декодер 200 содержит буфер 201 кадров, синтаксический анализатор 205, аудиодекодер 202, ступень 203 проверки достоверности состояния аудиоданных (средство проверки достоверности) и ступень 204 генерирования управляющих битов, соединенные так, как это показано. Как правило, декодер 200 также содержит и другие элементы обработки данных (не показаны).
Буфер 201 кадров (буферная память) хранит (например, энергонезависимым образом) по меньшей мере один кадр кодированного битового аудиопотока, принятого декодером 200. Последовательность кадров кодированного битового аудиопотока направляется из буфера 201 в синтаксический анализатор 205.
Синтаксический анализатор 205 связан и выполнен с возможностью извлечения PIM и/или SSM (а также, необязательно, других метаданных, например, LPSM) из каждого кадра кодированных входных аудиоданных для направления по меньшей мере некоторых из этих метаданных (например, LPSM и метаданных границ программы, если какие-либо из них извлечены, и/или PIM, и/или SSM) в средство 203 проверки достоверности состояния аудиоданных и на ступень 204 для направления этих извлеченных метаданных в качестве вывода (например, в постпроцессор 300), для извлечения аудиоданных из кодированных входных аудиоданных и для направления извлеченных аудиоданных в декодер 202.
Ввод кодированного битового аудиопотока в декодер 200 может представлять собой один из следующих битовых потоков: битовый поток АС-3, битовый поток Е-АС-3 или битовый поток Dolby Е.
Система по ФИГ. 3 также содержит постпроцессор 300. Постпроцессор 300 содержит буфер 301 кадров и другие элементы обработки данных (не показаны), в том числе по меньшей мере один элемент обработки данных, связанный с буфером 301. Буфер 301 кадров хранит (например энергонезависимым образом) по меньшей мере один кадр из декодированного битового аудиопотока, принятого постпроцессором из декодера 200. Элементы обработки данных постпроцессора 300 связаны и выполнены с возможностью приема и адаптивной обработки вывода последовательности кадров декодированного битового аудиопотока из буфера 301 с использованием вывода метаданных из декодера 200 и/или вывода управляющих битов со ступени 204 декодера 200. Как правило, постпроцессор 300 выполнен с возможностью выполнения адаптивной обработки на декодированных аудиоданных с использованием метаданных из декодера 200 (например, адаптивной обработки громкости на декодированных аудиоданных с использованием значений LPSM, а также, необязательно, метаданных границ программы, причем эта адаптивная обработка данных может быть основана на состоянии обработки метаданных и/или на одной или нескольких характеристиках аудиоданных, указываемых LPSM для аудиоданных, служащих признаком единственной звуковой программы).
Различные реализации декодера 200 и постпроцессора 300 выполнены с возможностью выполнения различных вариантов осуществления способа изобретения.
Аудиодекодер 202 декодера 200 выполнен с возможностью декодирования аудиоданных, извлеченных синтаксическим анализатором 205, с целью генерирования декодированных аудиоданных и для направления этих декодированных аудиоданных в качестве вывода (например, в постпроцессор 300).
Средство 203 проверки достоверности состояния выполнено с возможностью аутентификации и проверки достоверности направляемых в него метаданных. В некоторых вариантах осуществления эти метаданные представляют собой блок данных (или заключены в блоке данных), который был включен во входной битовый поток (например, в соответствии с одним из вариантов осуществления настоящего изобретения). Этот блок может содержать значение криптографической хэш-функции (хэш-кода аутентификации сообщений, или «НМАС») для обработки метаданных и/или лежащих в их основе аудиоданных (доставляемых в средство 203 проверки достоверности из синтаксического анализатора 205 и/или декодера 202). В этих вариантах осуществления блок данных может содержать цифровую подпись, поэтому модуль обработки аудиоданных в нисходящем направлении может относительно легко аутентифицировать и проверять достоверность указанных метаданных состояния обработки данных.
Для проверки достоверности метаданных (например, в средстве 203 проверки достоверности) с целью обеспечения защищенной передачи и приема метаданных и/или лежащих в их основе аудиоданных, можно использовать и другие криптографические методы, в том числе, без ограничения, любые из одного или нескольких криптографических методов, не основанных на НМАС. Например, проверку достоверности (с использованием такого криптографического метода) можно выполнять в каждом модуле обработки аудиоданных, принимающем один из вариантов осуществления изобретательского битового аудиопотока с целью определения того, были ли метаданные состояния обработки громкости и соответствующие аудиоданные в битовом потоке подвергнуты специальной обработке громкости (и/или являются ее результатом) (что указывается этими метаданными), и что они не были модифицированы после выполнения этой специальной обработки громкости.
Для указания результатов операции проверки достоверности средство 203 проверки достоверности состояния направляет управляющие данные в генератор 204 управляющих битов и/или направляет управляющие данные в качестве вывода (например, в постпроцессор 300). В ответ на эти управляющие данные (а также, необязательно, другие метаданные, извлеченные из входного битового потока), ступень 204 может генерировать (и направлять в постпроцессор 300) одно из следующего:
• управляющие биты, указывающие, что вывод декодированных аудиоданных из декодера 202 был подвергнут обработке громкости конкретного типа (когда метаданные LPSM указывают, что вывод аудиоданных из декодера 202 был подвергнут обработке громкости конкретного типа, а управляющие биты из средства 203 проверки достоверности указывают, что метаданные LPSM являются достоверными); или
• управляющие биты, указывающие, что вывод декодированных аудиоданных из декодера 202 следует подвергнуть обработке громкости конкретного типа (например, когда метаданные LPSM указывают, что вывод аудиоданных из декодера 202 не был подвергнут обработке громкости конкретного типа, или когда метаданные LPSM указывают, что вывод аудиоданных из декодера 202 был подвергнут обработке громкости конкретного типа, но управляющие биты из средства 203 проверки достоверности указывают, что метаданные LPSM не являются достоверными).
В качестве альтернативы, декодер 200 направляет метаданные, извлеченные декодером 202 из входного битового потока, и метаданные, извлеченные из входного битового потока синтаксическим анализатором 205, в постпроцессор 300, и постпроцессор 300 выполняет адаптивную обработку на декодированных аудиоданных, используя эти метаданные, или выполняет проверку достоверности метаданных, а затем выполняет адаптивную обработку на декодированных аудиоданных, используя эти метаданные, если проверка достоверности указывает, что эти метаданные являются достоверными.
В некоторых вариантах осуществления, если декодер 200 принимает битовый аудиопоток, сгенерированный в соответствии с одним из вариантов осуществления изобретения со значением криптографической хэш-функции, то декодер выполнен с возможностью синтаксического анализа и извлечения этого значения криптографической хэш-функции из блока данных, определенного из битового потока, при этом указанный блок содержит метаданные состояния обработки громкости (LPSM). Средство 203 проверки достоверности может использовать это значение криптографической хэш-функции для проверки достоверности принятого битового потока и/или ассоциированных метаданных. Например, если средство 203 проверки достоверности находит метаданные LPSM достоверными на основе совпадения между контрольным значением криптографической хэш-функции и значением криптографической хэш-функции, извлеченным из блока данных, то оно может сигнализировать модулю обработки аудиоданных в нисходящем направлении (например, постпроцессору 300, который может представлять собой или содержать модуль регулировки уровня громкости) пропуск (неизмененных) аудиоданных битового потока. В дополнение, необязательно или в качестве альтернативы, вместо способа на основе значения криптографической хэш-функции можно использовать и другие криптографические методики.
В некоторых реализациях декодера 200 кодированный битовый поток, принимаемый (и буферируемый в памяти 201) представляет собой битовый поток АС-3 или битовый поток Е-АС-3 и содержит сегменты аудиоданных (например, сегменты AB0-АВ5 кадра, показанного на Фиг.4) и сегменты метаданных, где указанные сегменты аудиоданных служат признаком аудиоданных, и каждый из по меньшей мере некоторых сегментов метаданных содержит PIM или SSM (или другие метаданные). Ступень 202 декодера (и/или синтаксический анализатор 205) выполнена с возможностью извлечения метаданных из битового потока. Каждый из сегментов метаданных, содержащих PIM и/или SSM (а также, необязательно, другие метаданные) включается в сегмент лишних битов кадра битового потока или в поле «addbsi» сегмента сведений о битовом потоке («BSI») кадра битового потока, или в поле auxdata (например, в сегмент AUX, показанный на Фиг. 4) в конце кадра битового потока. Кадр битового потока может содержать один или два сегмента метаданных, каждый из которых содержит метаданные, и, если этот кадр содержит два сегмента метаданных, один из них может присутствовать в поле addbsi кадра, а другой - в поле AUX кадра.
В некоторых вариантах осуществления каждый сегмент метаданных (иногда именуемый в настоящем документе «контейнером») битового потока, буферированного в буфере 201, имеет формат, включающий заголовок сегмента метаданных (а также, необязательно, другие обязательные, или «базовые», элементы) и одну или несколько полезных нагрузок метаданных, следующих за заголовком сегмента метаданных. Метаданные SIM, если они присутствуют, заключены в одной из полезных нагрузок метаданных (идентифицируемой по заголовку полезной нагрузки и, как правило, имеющей формат первого типа). Метаданные PIM, если они присутствуют, заключены в еще одной полезной нагрузке метаданных (идентифицируемой по заголовку полезной нагрузки и, как правило, имеющей формат второго типа). Аналогично, метаданные каждого другого типа (если они присутствуют) заключены в еще одной из полезных нагрузок (идентифицируемых по заголовку полезной нагрузки и, как правило, имеющих формат, специфичный для этого типа метаданных). Этот иллюстративный формат делает возможным удобный доступ к SSM, PIM и другим метаданным в иные моменты времени, чем во время декодирования (например, посредством постпроцессора 300 вслед за декодированием или посредством процессора, выполненного с возможностью распознавания метаданных без выполнения полного декодирования на кодированном битовом потоке), и делает возможным удобное и эффективное обнаружение и исправление ошибок (например, идентификации вложенных потоков) в ходе декодирования битового потока. Например, в отсутствие доступа к SSM в иллюстративном формате декодер 200 может неверно идентифицировать верное количество вложенных потоков, ассоциированных с программой. Одна полезная нагрузка метаданных в сегменте метаданных может содержать SSM, еще одна полезная нагрузка метаданных в сегменте метаданных может содержать PIM, а также, необязательно по меньшей мере еще одна полезная нагрузка метаданных в сегменте метаданных может содержать другие метаданные (например, метаданные состояния обработки громкости, или «LPSM»).
В некоторых вариантах осуществления полезная нагрузка метаданных структуры вложенных потоков (SSM), заключенная в кадре кодированного битового потока (например, битового потока Е-АС-3, служащего признаком по меньшей мере одной звуковой программы), буферированном в буфере 201, содержит метаданные SSM в следующем формате:
• заголовок полезной нагрузки, как правило, содержащий по меньшей мере одну величину-идентификатор (например, 2-битную величину, служащую признаком версии формата SSM, а также, необязательно значений длины, периода, счетчика и ассоциации вложенных потоков); и,
• после заголовка - метаданные независимых вложенных потоков, служащие признаком количества независимых вложенных потоков программы, указываемой этим битовым потоком; и
• метаданные зависимых вложенных потоков, служащие признаком того, содержит ли каждый независимый вложенный поток программы по меньшей мере один ассоциированный зависимый вложенный поток (т.е. того, ассоциирован ли по меньшей мере один зависимый вложенный поток с указанным каждым независимым вложенным потоком), и, если это так - количества зависимых вложенных потоков, ассоциированных с каждым независимым вложенным потоком программы.
В некоторых вариантах осуществления полезная нагрузка метаданных сведений о программе (PIM), заключенная в кадре кодированного битового потока (например, кодированного битового потока Е-АС-3, служащего признаком по меньшей мере одной звуковой программы), буферированном в буфере 201, имеет следующий формат:
• заголовок полезной нагрузки, как правило, содержащий по меньшей мере одну величину-идентификатор (например, величину, служащую признаком версии формата PIM, а также, необязательно значений длины, периода, счетчика и ассоциации вложенных потоков); и,
• после заголовка - PIM в следующем формате:
• метаданные активных каналов, служащие признаком каждого беззвучного канала и каждого содержащего звук канала звуковой программы (т.е. того, какой канал (каналы) программы содержит звуковую информацию, а какой (если он присутствует) содержит только тишину (как правило, в течение времени определенной длительности)). В вариантах осуществления, где кодированный битовый поток представляет собой битовый поток АС-3 или Е-АС-3, метаданные активных каналов в кадре битового потока можно использовать в сочетании с дополнительными метаданными битового потока (например, с полем режима звукового кодирования («acmod») кадра и, если оно присутствует, с полем chanmap в этом кадре или в кадре (кадрах) ассоциированных вложенных потоков)) для определения того, какой канал (каналы) программы содержит звуковую информацию, а какой содержит тишину.
• метаданные состояния обработки понижающего микширования, служащие признаком того, подвергалась ли эта программа понижающему микшированию (перед кодированием или в ходе него), и, если это так - того, понижающее микширование какого типа применялось. Метаданные состояния обработки понижающего микширования могут быть полезны для реализации повышающего микширования (в постпроцессоре) в нисходящем направлении относительно декодера, например, для повышающего микширования звукового содержимого программы с использованием параметров, которые наиболее близко соответствуют типу примененного понижающего микширования. В тех вариантах осуществления, где кодированный битовый поток представляет собой битовый поток АС-3 или Е-АС-3, метаданные состояния обработки понижающего микширования можно использовать в сочетании с полем режима звукового кодирования («acmod») кадра для определения типа понижающего микширования (если оно имело место), примененного к каналу (каналам) программы;
• метаданные состояния обработки повышающего микширования, служащие признаком того, подвергалась ли программа повышающему микшированию (например, от меньшего количества каналов) перед кодированием или в ходе него, и, если это так - типа примененного повышающего микширования. Метаданные состояния обработки повышающего микширования могут быть полезны для реализации понижающего микширования (в постпроцессоре) в нисходящем направлении относительно декодера, например, для низведения звукового содержимого программы таким образом, чтобы оно было совместимо с одним из типов повышающего микширования (например, Dolby Pro Logic или Dolby Pro Logic II Movie Mode, или Dolby Pro Logic II Music Mode, или Dolby Professional Upmixer), которое применялось к программе. В вариантах осуществления, где кодированный битовый поток представляет собой битовый поток Е-АС-3, метаданные состояния повышающего микширования можно использовать в сочетании с другими метаданными (например, со значением поля «strmtyp» кадра) для определения типа повышающего микширования (если оно имело место), примененного к каналу (каналам) программы. Значение поля «strmtyp» (в сегменте BSI кадра битового потока Е-АС-3) указывает, принадлежит звуковое содержимое этого кадра независимому потоку (определяющему программу) или независимому вложенному потоку (программы, которая содержит несколько вложенных потоков или ассоциирована с ними), и поэтому может быть декодировано независимо от любого другого вложенного потока, указываемого битовым потоком Е-АС-3, или того, принадлежит ли звуковое содержимое кадра зависимому вложенному потоку (программы, содержащей несколько вложенных потоков или ассоциированной с ними), и поэтому оно должно быть декодировано в сочетании с независимым вложенным потоком, с которым оно ассоциировано; и
• метаданные состояния предварительной обработки данных, служащие признаком того, выполнялась ли предварительная обработка данных на звуковом содержимом кадра (перед кодированием звукового содержимого в генерируемый кодированный битовый поток), и, если это так - типа выполненной предварительной обработки данных.
В некоторых реализациях метаданные состояния обработки данных служат признаком того:
• применялось ли ослабление окружающего звука (например, ослаблялись ли окружающие каналы звуковой программы на 3 дБ перед кодированием),
• применялся ли сдвиг по фазе на 90 градусов (например, к окружающим каналам Ls и Rs звуковой программы перед кодированием),
• применялся ли фильтр пропускания нижних частот к каналу LFE звуковой программы перед кодированием,
• отслеживался ли уровень канала LFE программы в ходе производства и, если это так, то каков отслеженный уровень канала LFE относительно уровня широкополосных звуковых каналов программы,
• следует ли применять сжатие динамического диапазона (например, в декодере) на каждом блоке декодируемого звукового содержимого программы, и, если это так, то каков тип (и/или параметры) сжатия динамического диапазона, подлежащего выполнению (например, метаданные состояния предварительной обработки данных этого типа могут служить признаком того, какой из типов профиля сжатия предполагался кодером для генерирования контрольных значений сжатия динамического диапазона, заключенных в кодированном битовом потоке: Film Standard, Film Light, Music Standard, Music Light или Speech. В качестве альтернативы, метаданные состояния предварительной обработки данных этого типа могут указывать, что на каждом кадре декодируемого звукового содержимого программы следует применять интенсивное сжатие динамического диапазона (сжатие «соmрr») способом, определяемым контрольными значениями сжатия динамического диапазона, заключенными в кодированном битовом потоке),
• задействовалась ли обработка растягивания спектра и/или кодирования со связыванием каналов для кодирования конкретных диапазонов частот содержимого программы, и, если это так - каковы минимальная и максимальная частоты частотных составляющих содержимого, на которых выполнялось растягивание спектра, и каковы минимальная и максимальная частоты частотных составляющих содержимого, на которых выполнялось кодирование со связыванием каналов. Сведения метаданных состояния предварительной обработки данных этого типа могут быть полезны при выполнении выравнивания (в постпроцессоре) в нисходящем направлении относительно декодера. Сведения как о связывании каналов, так и о растягивании спектра также полезны для оптимизации качества в ходе операций и применений перекодировки. Например, кодер может оптимизировать свое поведение (в ходе приспосабливания этапов предварительной обработки данных, таких, как виртуализация наушников, повышающее микширования и т.д.) на основе состояния таких параметров, как сведения о растягивании спектра и связывании каналов. Более того, кодер мог бы динамически приспосабливать свои параметры связывания и растягивания спектра для соответствия и/или для оптимизации значений на основе состояния входящих (и аутентифицированных) метаданных, и
• включены ли данные диапазона регулирования усиления диалога в кодированный битовый поток, и, если это так - каков доступный диапазон регулирования в ходе выполнения обработки усиления диалога (например, в постпроцессоре в нисходящем направлении относительно декодера) для корректировки уровня диалогового содержимого относительно уровня недиалогового содержимого звуковой программы.
В некоторых вариантах осуществления полезная нагрузка LPSM, заключенная в кадре кодированного битового потока (например, битового потока Е-АС-3, служащего признаком по меньшей мере одной звуковой программы), буферированном в буфере 201, содержит LPSM в следующем формате:
• заголовок (как правило, содержащий синхрослово, идентифицирующее начало полезной нагрузки LPSM, за которым следует по меньшей мере одна величина-идентификатор, например, значения версии формата LPSM, длины, периода, счетчика и ассоциации вложенных потоков, указанные ниже в Таблице 2); и,
• после заголовка - по меньшей мере, одно значение указателя диалога (например, параметр «Канал (каналы) диалога» по Таблице 2), указывающее, указывают или не указывают диалог соответствующие аудиоданные (например, какие каналы соответствующих аудиоданных указывают диалог);
• по меньшей мере, одну величину соответствия громкости нормам (например, параметр «Тип норм громкости» по Таблице 2), указывающий соответствуют ли соответствующие аудиоданные указанному набору норм громкости;
• по меньшей мере одну величину обработки громкости (например, один или несколько параметров «Флаг исправления стробированной громкости», «Тип исправления громкости» по Таблице 2), указывающую обработку громкости по меньшей мере одного типа, выполненную на соответствующих аудиоданных; и
• по меньшей мере, одну величину громкости (например, один или несколько параметров «Относительная стробированная громкость ITU», «Стробированная громкость речи ITU», «Краткосрочная 3-секундная громкость ITU (EBU 3341)» и «Истинное пиковое значение» по Таблице 2), указывающую по меньшей мере одну характеристику громкости (например, пиковую или среднюю громкость) соответствующих аудиоданных.
В некоторых реализациях синтаксический анализатор 205 (и/или ступень 202 декодера) выполнен с возможностью извлечения из сегмента лишних битов или из поля «addbsi», или из поля auxdata кадра битового потока каждого сегмента метаданных, имеющего следующий формат:
• заголовок сегмента метаданных (как правило, содержащий синхрослово, идентифицирующее начало сегмента метаданных, за которым следует по меньшей мере одна величина-идентификатор, например, значения версии, длины, периода, счетчика элементов расширения и ассоциации вложенных потоков); и,
• после заголовка сегмента метаданных - по меньшей мере, одна защитная величина (например, значения свертки НМАС и контрольной суммы аудиоданных по Таблице 1), пригодная для по меньшей мере расшифровки, аутентификации или проверки достоверности по меньшей мере следующих данных: метаданных из сегмента метаданных или соответствующих аудиоданных; и,
• также после заголовка сегмента метаданных - значение идентификатора полезной нагрузки метаданных («ID») и конфигурационные значения полезной нагрузки, идентифицирующие тип и по меньшей мере одну особенность конфигурации (например, размер) каждой последующей полезной нагрузки метаданных.
Каждый сегмент полезной нагрузки метаданных (предпочтительно, имеющий вышеуказанный формат) следует за соответствующим идентификатором ID полезной нагрузки метаданных и конфигурационными значениями полезной нагрузки.
В более общем смысле, кодированный битовый аудиопоток, сгенерированный предпочтительными вариантами осуществления изобретения, имеет структуру, обеспечивающую механизм разметки элементов метаданных и вложенных элементов как базовых (обязательных) или (необязательных) элементов расширения, или дополнительных элементов. Это позволяет масштабировать скорость передачи данных битового потока (в том числе его метаданных) на множество приложений. Базовые (обязательные) элементы предпочтительного синтаксиса битового потока также должны быть способны сигнализировать о том, что (необязательные) элементы расширения присутствуют (внутри полосы) и/или находятся в удаленном местоположении (вне полосы).
Присутствие базового элемента (элементов) необходимо в каждом кадре битового потока. Некоторые дополнительные элементы базовых элементов являются необязательными и могут присутствовать в любом сочетании. Присутствие элементов расширения в каждом кадре не является необходимым (для ограничения накладных затрат битовой скорости передачи данных). Таким образом, элементы расширения в некоторых кадрах присутствовать могут, а в других - нет. Некоторые дополнительные элементы элемента расширения являются необязательными и могут присутствовать в любом сочетании, в то время как некоторые дополнительные элементы элемента расширения могут быть обязательными (т.е. если элемент расширения присутствует в кадре битового потока).
В одном из классов вариантов осуществления генерируется кодированный битовый аудиопоток (например, модулем обработки аудиоданных, воплощающим изобретение), содержащий последовательность сегментов аудиоданных и сегментов метаданных. Сегменты аудиоданных служат признаками аудиоданных, каждый из по меньшей мере некоторых из сегментов метаданных содержит PIM и/или SSM (а также, необязательно, метаданные по меньшей мере еще одного типа), и указанные сегменты аудиоданных уплотнены с временным разделением с сегментами метаданных. В предпочтительных вариантах осуществления изобретения в этом классе каждый из сегментов метаданных имеет предпочтительный формат, описываемый в настоящем документе.
В одном из предпочтительных форматов кодированный битовый поток представляет собой битовый поток АС-3 или битовый поток Е-АС-3, и каждый сегмент метаданных, содержащий SSM и/или PIM, включен (например, ступенью 107 одной из предпочтительных реализаций кодера 100) в качестве дополнительных сведений о битовом потоке в поле «addbsi» (показанное на Фиг. 6) сегмента сведений о битовом потоке («BSI») кадра битового потока или в поле auxdata кадра битового потока, или в сегмент лишних битов кадра битового потока.
В этом предпочтительном формате каждый из кадров содержит сегмент метаданных (иногда именуемый контейнером метаданных, или контейнером) в сегменте лишних битов (или в поле addbsi) кадра. Сегменты метаданных содержат обязательные элементы (совместно именуемые «базовым элементом»), показанные ниже в Таблице 1 (и могут содержать необязательные элементы, показанные в Таблице 1). По меньшей мере, некоторые из необходимых элементов, показанных в Таблице 1, заключены в заголовке сегмента метаданных, но некоторые могут быть заключены и в другом месте сегмента метаданных.
В этом предпочтительном формате каждый сегмент метаданных (в сегменте лишних битов или в поле addbsi или auxdata кадра кодированного битового потока), содержащий SSM, PIM или LPSM, содержит заголовок сегмента метаданных (а также, необязательно, дополнительные базовые элементы), и, после этого заголовка сегмента метаданных (или этого заголовка сегмента метаданных и дополнительных базовых элементов), одну или несколько полезных нагрузок метаданных. Каждая полезная нагрузка метаданных содержит заголовок полезной нагрузки метаданных (указывающий конкретный тип метаданных (например, SSM, PIM или LPSM), заключенных в этой полезной нагрузке), за которым следуют метаданные данного конкретного типа. Как правило, заголовок полезной нагрузки метаданных содержит следующие величины (параметры):
•идентификатор ID полезной нагрузки (идентифицирующий тип метаданных, например, SSM, PIM или LPSM), следующий за заголовком сегмента метаданных (который может содержать величины, указанные в Таблице 1);
• конфигурационное значение полезной нагрузки (как правило, указывающее размер этой полезной нагрузки), следующее за ID полезной нагрузки; а также, необязательно,
• дополнительные конфигурационные значения полезной нагрузки (например, значение смещения, указывающее количество кадров дискретных значений аудиоданных от начала кадра до первого дискретного значения, которому принадлежит эта полезная нагрузка, и значение приоритета полезной нагрузки, например, указывающее условие, при котором эта полезная нагрузка может быть отвергнута).
Как правило, метаданные из указанной полезной нагрузки имеют один из следующих форматов:
• метаданные полезной нагрузки, представляющие собой метаданные SSM, содержат метаданные независимых вложенных потоков, служащие признаком количества независимых вложенных потоков в программе, указываемой этим битовым потоком; и метаданные зависимых вложенных потоков, служащие признаком того, содержит ли каждый независимый вложенный поток программы по меньшей мере один ассоциированный с ним зависимый вложенный поток, и, если это так - количества зависимых вложенных потоков, ассоциированных с каждым независимым вложенным потоком этой программы;
• метаданные полезной нагрузки, представляющие собой метаданные PIM, содержат метаданные активных каналов, служащие признаком того, какой канал (каналы) звуковой программы содержит звуковую информацию, а какой (если он присутствует) - содержит только тишину (как правило, в течение длительности кадра); метаданные состояния обработки понижающего микширования, служащие признаком того, подвергалась ли эта программа понижающему микшированию (перед кодированием или в ходе него), и, если это так - типа примененного понижающего микширования; метаданные состояния повышающего микширования, служащие признаком того, подвергалась ли эта программа повышающему микшированию (например, от меньшего количества каналов) перед кодированием или в ходе него, и, если это так - типа примененного повышающего микширования; и метаданные состояния предварительной обработки данных, служащие признаком того, выполнялась ли на звуковом содержимом кадра предварительная обработка данных (перед кодированием звукового содержимого в генерируемый кодированный битовый поток), и, если это так - типа выполненной предварительной обработки данных; или
• метаданные полезной нагрузки представляют собой метаданные LPSM, имеющие формат, указанные в следующей таблице (Таблица 2).
В другом предпочтительном формате кодированного битового потока, сгенерированного в соответствии с изобретением, битовый поток представляет собой битовый поток АС-3 или Е-АС-3, и каждый из сегментов метаданных, включающий PIM и/или SSM (а также, необязательно, метаданные по меньшей мере еще одного типа) включен (например, ступенью 107 предпочтительной реализации кодера 100) в какой-либо из следующих сегментов: сегмент лишних битов кадра битового потока; или в поле «addbsi» (показанное на Фиг. 6) сегмента сведений о битовом потоке («BSI») кадра битового потока; или в поле auxdata (например, в сегмент AUX, показанный на Фиг. 4) в конце кадра битового потока. Кадр может содержать один или два сегмента метаданных, каждый из которых содержит PIM и/или SSM, и, в некоторых вариантах осуществления, если кадр содержит два сегмента метаданных, один может присутствовать в поле addbsi кадра, а другой - в поле AUX кадра. Каждый сегмент метаданных предпочтительно имеет формат, указанный выше со ссылкой на приведенную выше Таблицу 1 (т.е. он содержит базовые элементы, указанные в Таблице 1, за которыми следуют ID полезных нагрузок (идентифицирующие тип метаданных в каждой полезной нагрузке этого сегмента метаданных), конфигурационные значения полезных нагрузок и каждая из полезных нагрузок). Каждый сегмент метаданных, содержащий LPSM, предпочтительно имеет формат, указанный выше со ссылками на приведенные выше Таблицы 1 и 2 (т.е. он содержит базовые элементы, указанные в Таблице 1, за которыми следует ID полезной нагрузки (идентифицирующий метаданные как LPSM) и конфигурационные значения полезной нагрузки, за которыми следует полезная нагрузка (данные LPSM, имеющие формат, указанный в Таблице 2)).
В другом предпочтительном формате кодированный битовый поток представляет собой битовый поток Dolby Е, и каждый из сегментов метаданных, содержащий PIM и/или SSM (а также, необязательно, другие метаданные) представляет собой первые N местоположений дискретных значений интервала защитной полосы Dolby Е. Битовый поток Dolby Е, содержащий такой сегмент метаданных, который содержит LPSM, как правило, содержит величину, служащую признаком длины полезной нагрузки LPSM, сигнализируемой в слове Pd преамбулы SMPTE 337М (частота повторения слова Ра согласно SMPTE 337М предпочтительно остается идентичной частоте кадров ассоциированного видеоизображения).
В предпочтительном формате, где кодированный битовый поток представляет собой битовый поток Е-АС-3, каждый из сегментов метаданных, содержащий PIM и/или SSM (а также, необязательно, LPSM и/или другие метаданные) включен (ступенью 107 предпочтительной реализации кодера 100) в качестве дополнительных сведений о битовом потоке в сегмент лишних битов или в поле «addbsi» сегмента сведений о битовом потоке («BSI») кадра битового потока. Ниже мы опишем дополнительные особенности кодирования битового потока Е-АС-3 с LPSM в этом предпочтительном формате:
1. в ходе генерирования битового потока Е-АС-3, в то время как кодер Е-АС-3 (вставляющий значения LPSM в битовый поток) является «активным», битовый поток для каждого генерируемого кадра (синхрокадра) должен содержать блок метаданных (содержащий LPSM), переносимый в поле addbsi (или в сегменте лишних битов) этого кадра. Биты, необходимые для переноса этого блока метаданных не должны повышать битовую скорость передачи данных кодера (длину кадра);
2. каждый блок метаданных (содержащий LPSM) должен содержать следующую информацию:
• флаг loudness_correction_type_flag: где «1» указывает, что громкость соответствующих аудиоданных была исправлена в восходящем направлении относительно кодера, и «0» указывает, что громкость была исправлена средством исправления громкости, внедренным в кодер (например, в процессор 103 громкости кодера 100 по Фиг. 2);
• speech_channel: указывает, какой канал (каналы) источника содержат речь (в течение предыдущих 0,5 с). Если речь не обнаружена, то это может быть так и указано;
• speech_loudness: указывает интегральную громкость речи каждого соответствующего звукового канала, содержащего речь (в течение предыдущих 0,5 с);
• ITU_loudness: указывает интегральную громкость согласно ITU BS. 1770-3 каждого соответствующего звукового канала; и
• gain: составной коэффициент (коэффициенты) усиления громкости для обращения в декодере (с целью демонстрации обратимости);
3. В то время как кодер Е-АС-3 (вставляющий значения LPSM в битовый поток) является «активным» и принимает кадр АС-3 с флагом «trust», контроллер громкости кодера (например, процессор 103 громкости кодера 100 по Фиг. 2), следует обойти. «Заслуживающие доверия» значения dialnorm и DRC источника должны быть пропущены (например, генератором 106 кодера 100) в компонент кодера Е-АС-3 (например, на ступень 107 кодера 100). Генерирование блоков LPSM продолжается, и флаг loudness_correction_type_flag устанавливается на «1». Последовательность обхода контроллера громкости должна быть синхронизирована с началом того декодированного кадра АС-3, в котором появляется флаг «trust». Последовательность обхода контроллера громкости должна быть реализована следующим образом: управляющий элемент leveler_amount подвергается отрицательному приращению от значения 9 до значения 0 в течение 10 периодов аудиоблока (т.е. 53,3 мс), и управляющий элемент leveler_back_end_meter помещается в режим обхода (эта операция должна в результате приводить к безразрывному переходу). Термин «заслуживающий доверия» обход регулятора уровня подразумевает то, что значение dialnorm источника битового потока повторно используется также и как вывод кодера (например, если битовый поток из «заслуживающего доверия» источника имеет значение dialnorm -30, то вывод кодера должен использовать -30 для исходящего значения dialnorm);
4. в то время как кодер Е-АС-3 (вставляющий значения LPSM в битовый поток) является «активным» и принимает кадр АС-3 без флага «trust», внедренный в кодер контроллер громкости (например, процессор 103 кодера 100 по Фиг. 2) должен быть активен. Генерирование блоков LPSM продолжается, и флаг loudness_correction_type_flag устанавливается на «0». Последовательность активации контроллера громкости должна быть синхронизирована с началом кодированного того кадра АС-3, в котором исчезает флаг «trust». Последовательность активации контроллера громкости должна быть реализована следующим образом: управляющий элемент leveler_amount подвергается приращению от значения 0 до значения 9 в течение 1 периодов аудиоблока (т.е. 5,3 мс), и управляющий элемент leveler_back_end_meter помещается в режим «активный» (эта операция должна в результате приводить в безразрывному переходу и включать сброс интеграции back_end_meter); и
5. в ходе кодирования графический пользовательский интерфейс (GUI) должен указывать пользователю следующие параметры: «Input Audio Program: [Trusted/Untrusted]» (Входная звуковая программа [заслуживает/не заслуживает доверия]) - состояние этого параметра основано на присутствии флага «trust» во входном сигнале; и «Real-time Loudness Correction: [Enabled/Disabled]» (Исправление громкости реальном времени: [Включено/Выключено]) - состояние этого параметра основано на том, является ли активным этот контроллер громкости.
При декодировании битового потока АС-3 или Е-АС-3, содержащего метаданные LPSM (в предпочтительном формате), заключенные в сегменте лишних битов, или в поле игнорируемых данных, или в поле «addbsi» сегмента сведений о битовом потоке («BSI») каждого кадра битового потока декодер должен выполнять синтаксический анализ блока данных LPSM (в сегменте лишних битов или поле field) и передавать все извлеченные значения LPSM в графический пользовательский интерфейс (GUI). Этот набор извлеченных значений LPSM обновляется для каждого кадра.
В другом предпочтительном формате кодированного битового потока, сгенерированного в соответствии с изобретением, этот кодированный битовый поток представляет собой битовый поток АС-3 или битовый поток Е-АС-3, и каждый из сегментов метаданных, содержащий PIM и/или SSM (а также, необязательно, LPSM и/или другие метаданные), включен (например, ступенью 107 одной из предпочтительных реализаций кодера 100) в сегмент лишних битов или в сегмент Аuх, или, как дополнительные сведения о битовом потоке, в поле «addbsi» (показанное на Фиг. 6) сегмента сведений о битовом потоке («BSI») кадра битового потока. В этом формате (который представляет собой изменение вышеописанного формата со ссылками на Таблицы 1 и 2) каждое из полей addbsi (или Aux, или лишних битов), содержащее LPSM, содержит следующие значения LPSM:
• базовые элементы, указанные в Таблице 1, за которыми следует идентификатор ID полезной нагрузки (идентифицирующий метаданные как LPSM) и конфигурационные значения полезной нагрузки, за которыми следует полезная нагрузка (данные LPSM), имеющая следующий формат (сходный с обязательными элементами, указанными выше в Таблице 2):
•• версия полезной нагрузки LPSM: 2-битное поле, указывающее версию полезной нагрузки LPSM;
•• поле dialchan: 3-битное поле, указывающее, содержат ли левый, правый и/или центральный каналы соответствующих аудиоданных проговариваемый диалог. Распределение битов поля dialchan может быть следующим: бит 0, указывающий присутствие диалога в левом канале, хранится в самом старшем бите поля dialchan; и бит 2, указывающий присутствие диалога в центральном канале, хранится в самом младшем бите поля dialchan. Каждый бит поля dialchan установлен на «1», если соответствующий канал содержит выраженный проговариваемый в течение предыдущих 0,5 секунд программы;
•• поле loudregtyp: 4-битное поле, указывающее, какому стандарту норм громкости соответствует громкость программы. Установка loudregtyp на «000» указывает, что метаданные LPSM не указывают соответствие нормам громкости. Например, одно значение этого поля (например, 0000) может указывать, что соответствие стандарту норм громкости не указано, другое значение этого поля (например, 0001) может указывать, что аудиоданные программы соответствуют стандарту ATSC А/85, а еще одно значение этого поля (например, 0010) может указывать, что аудиоданные этой программы соответствуют стандарту EBU R128. В этом примере, если полю присвоено любое значение, кроме «0000», то в полезной нагрузке за ним должны следовать поля loudcorrdialgat и loudcorrtyp;
•• поле loudcorrdialgat: однобитное поле, указывающее, было ли применено исправление стробированной громкости диалога. Если громкость программы была исправлена с использованием стробирования диалога, значение loudcorrdialgat устанавливается на «1». Иначе оно устанавливается на «0»;
•• поле loudcorrtyp: однобитное поле, указывающее тип исправления громкости, примененного к программе. Если громкость программы была исправлена в процессе исправления громкости с бесконечным упреждающим просмотром, то значение поля loudcorrtyp устанавливается на «0». Если громкость программы была исправлена с использованием сочетания измерения громкости в реальном времени и управления динамическим диапазоном, то значение этого поля устанавливается на «1»;
•• поле loudrelgate: однобитное поле, указывающее, существуют ли данные относительной стробированной громкости (ITU). Если поле loudrelgate установлено на «1», то в полезной нагрузке за ним должно следовать 7-битное поле ituloudrelgat;
•• поле loudrelgat: 7-битное поле, указывающее относительную стробированную громкость программы (ITU). Это поле указывает интегральную громкость звуковой программы, измеренную в соответствии со стандартном ITU-R BS. 1770-3 без каких-либо регулировок коэффициентов усиления по причине применения dialnorm и сжатия динамического диапазона (DRC). Значения 0-127 интерпретируют как интервал от -58 единиц громкости, взвешенной по кривой K, относительно полной шкалы, до +5,5 единиц громкости, взвешенной по кривой K, относительно полной шкалы, с шагом 0,5 единиц громкости, взвешенной по кривой К, относительно полной шкалы;
•• поле loudspchgate: однобитное поле, указывающее, существуют ли данные стробированной громкости речи (ITU). Если поле loudspchgate установлено на «1», то в полезной нагрузке за ним должно следовать 7-битное поле loudspchgat;
•• поле loudspchgat: 7-битное поле, указывающее громкость программы со стробированной речью. Это поле указывает интегральную громкость всей соответствующей звуковой программы, измеренную в соответствии с формулой (2) стандарта ITU-R BS. 1770-3 и без каких-либо регулировок усиления по причине применения dialnorm и сжатия динамического диапазона. Значения 0- 127 интерпретируют как интервал -58-+5,5 единиц громкости, взвешенной по кривой K, относительно полной шкалы, с шагом 0,5 единиц громкости, взвешенной по кривой K, относительно полной шкалы;
•• поле loudstrm3se: однобитное поле, указывающее, существуют ли краткосрочные (3-секундные) данные громкости. Если это поле установлено на «1», то в полезной нагрузке за ним должно следовать поле loudstrm3s;
•• поле loudstrm3s: 7-битное поле, указывающее нестробированную громкость предыдущих 3 секунд соответствующей звуковой программы, измеренную в соответствии со стандартом ITU-R BS. 1771-1 и без каких-либо регулировок усиления по причине применения dialnorm и сжатия динамического диапазона. Значения 0-256 интерпретируют как интервал от -116 единиц громкости, взвешенной по кривой K, относительно полной шкалы, до +11,5 единиц громкости, взвешенной по кривой K, относительно полной шкалы, с шагом 0,5 единиц громкости, взвешенной по кривой K, относительно полной шкалы;
•• поле truepke: однобитное поле, указывающее, существуют ли данные истинной пиковой громкости. Если поле truepke установлено на «1», то в полезной нагрузке за ним должно следовать 8-битное поле truepk; и
•• поле truepk: 8-битное поле, указывающее опорное значение истинного пика программы, измеренное в соответствии с Приложением 2 стандарта ITU-R ВS. 1770-3 и без каких-либо регулировок усиления по причине применения dialnorm и сжатия динамического диапазона. Значения 0-256 интерпретируют как интервал от -116 единиц громкости, взвешенной по кривой К, относительно полной шкалы, до +11,5 единиц громкости, взвешенной по кривой К, относительно полной шкалы, с шагом 0,5 единиц громкости, взвешенной по кривой K, относительно полной шкалы.
В некоторых вариантах осуществления базовый элемент сегмента метаданных в сегменте лишних битов или в поле auxdata (или "addbsi") кадра битового потока АС-3 или битового потока Е-АС-3 содержит заголовок сегмента метаданных (как правило, содержащий величины-идентификаторы, например, версии) и, после этого заголовка сегмента метаданных: величины, служащие признаками того, включены ли для этого сегмента метаданных данные контрольной суммы (или другие защитные величины), величины, служащие признаками того, существуют ли внешние данные (относящиеся к аудиоданным, соответствующим метаданным этого сегмента метаданных), значения ID полезной нагрузки и конфигурационные значения для метаданных каждого типа (например, PIM и/или SSM, и/или LPSM, и/или метаданных любого другого типа), идентифицируемых базовым элементом, и защитные величины для по меньшей мере одного типа метаданных, идентифицируемого по заголовку сегмента метаданных (или другими базовыми элементами этого сегмента метаданных). Полезная нагрузка (нагрузки) этого сегмента метаданных следует за заголовком сегмента метаданных, и (в некоторых случаях) она является вложенной в базовые элементы этого сегмента метаданных.
Варианты осуществления настоящего изобретения могут быть реализованы в аппаратном обеспечении, аппаратно-программном обеспечении или в программном обеспечении, или в их сочетании (например, как программируемая логическая матрица). Если не обусловлено иное, алгоритмы или процессы, включенные как часть изобретения, в своей внутренней сущности не относятся к какому-либо конкретному компьютеру или другому устройству. В частности, с программами, написанными в соответствии с методиками настоящего документа, можно использовать различные машины общего назначения, или для выполнения необходимых этапов способов может быть более удобно сконструировать более специализированные устройства (например, интегральные микросхемы). Так, изобретение может быть реализовано в одной или нескольких компьютерных программах, исполняемых на одной или нескольких программируемых компьютерных системах (например, в одной из реализаций любого из элементов по Фиг. 1, или в кодере 100 по Фиг. 2 (или в одном из его элементов), или в декодере 200 по Фиг. 3 (или в одном из его элементов), или в постпроцессоре 300 по Фиг. 3 (или в одном из его элементов)), каждая из которых содержит по меньшей мере один процессор, по меньшей мере одну систему хранения данных (содержащую энергозависимую и энергонезависимую память и/или запоминающие элементы), по меньшей мере одно устройство или порт ввода и по меньшей мере одно устройство или порт вывода. Управляющую программу применяют к входным данным для выполнения функций, описанных в настоящем документе, и генерирования выходной информации. Эту выходную информацию известным образом применяют к одному или нескольким устройствам вывода.
Для сообщения с компьютерной системой каждая такая программа может быть реализована на любом желаемом компьютерном языке (в том числе на машинных, ассемблерных или высокоуровневых процедурных, логических или объектно-ориентированных языках программирования). В любом случае, это язык может представлять собой компилируемый или интерпретируемый язык.
Например, при реализации посредством последовательностей команд компьютерного программного обеспечения различные функции и этапы вариантов осуществления изобретения могут быть реализованы многопотоковыми последовательностями команд программного обеспечения, запускаемыми на подходящем аппаратном обеспечении цифровой обработки сигналов, и, в этом случае, различные устройства, этапы и функции вариантов осуществления могут соответствовать частям команд программного обеспечения.
Каждую такую компьютерную программу предпочтительно хранят в памяти или загружают на носитель, или устройство хранения, данных (например, на твердотельное запоминающее устройство или носитель, или магнитный, или оптический носитель), считываемое программируемым компьютером общего или специального назначения для конфигурирования и приведения в действие компьютера, когда носитель данных или устройство считывается компьютерной системой для выполнения процедур, описанных в настоящем описании. Изобретательская система также может быть реализована как машиночитаемый носитель данных, сконфигурированный компьютерной программой (например, хранящий ее в памяти), при этом сконфигурированный таким образом носитель данных вызывает действие компьютерной системы специфическим и предварительно определенным образом для выполнения функций, описанных в настоящем документе.
Были описаны многочисленные варианты осуществления изобретения. Тем не менее, следует понять, что без отступления от духа и объема изобретения возможно осуществление различных модификаций. В свете вышеописанных идей возможны многочисленные модификации и изменения настоящего изобретения. Следует понимать, что в пределах объема прилагаемой формулы изобретения изобретение может применяться на практике иначе, чем описано конкретно в настоящем документе.