АУДИОКОДЕР И АУДИОДЕКОДЕР С МЕТАДАННЫМИ ГРОМКОСТИ И ГРАНИЦЫ ПРОГРАММЫ
AUDIO ENCODER AND AUDIO DECODER WITH METADATA VOLUME AND PROGRAM BOUNDARY

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Эта заявка имеет приоритет по предварительной заявке на патент США № 61/754882, поданной 21 января 2013 года, и предварительной заявке на патент США № 61/824010, поданной 16 мая 2013 года, каждая из которых включена в данное описание посредством ссылки во всей полноте.
ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к обработке звуковых сигналов, а более конкретно к кодированию и декодированию битовых потоков аудиоданных с метаданными, являющимися индикатором состояния обработки громкости аудиоконтента и расположения границ аудиопрограмм, индицированных битовым потоком. Некоторые варианты осуществления настоящего изобретения формируют или декодируют аудиоданные в один из форматов, известных как AC-3, Enhanced AC-3 или Е-АС-3, или Dolby E.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Dolby, Dolby Digital, Dolby Digital Plus и Dolby E являются товарными знаками Dolby Laboratories Licensing Corporation. Dolby Laboratories обеспечивает запатентованные воплощения АС-3 и E-AC-3, известные как Dolby Digital и Dolby Digital Plus, соответственно.
Блоки обработки аудиоданных обычно работают «вслепую» и не обращают внимание на характер протекания процессов с аудиоданными, которые происходили до получения данных. Это может работать при условиях обработки аудиоданных, когда один объект полностью выполняет обработку и кодирование аудиоданных для различных целевых воспроизводящих медиа-устройств при том, что целевое воспроизводящее медиа-устройство полностью выполняет декодирование и воспроизведение кодированных аудиоданных. Тем не менее такая «слепая» обработка является неэффективной (или вообще неработоспособной) в ситуациях, когда множество блоков обработки звукового сигнала разнесено по неоднородной сети или установлено последовательно (то есть, в виде цепи) и, как ожидается, должно оптимально выполнять соответствующие типы обработки звуковых сигналов. Например, некоторые аудиоданные могут быть закодированы для медиа-систем высокой производительности и, возможно, их придется преобразовать в упрощенную форму, подходящую для мобильного устройства, находящегося в тракте обработки медиа-информации. Соответственно, блоку обработки звукового сигнала нет необходимости совершать выполненный ранее вид обработки аудиоданных. Например, блок авторегулировки громкости может выполнять обработку входного аудиоклипа, независимо от того, была ли такая же или аналогичная авторегулировка громкости для этого входного аудиоклипа выполнена ранее. В результате блок авторегулировки громкости может выполнять авторегулировку, даже когда это не нужно. Такая излишняя обработка также может быть причиной ухудшения и/или удаления характерных особенностей при воспроизведении контента аудиоданных.
Типовой поток аудиоданных включает в себя как аудиоконтент (например, один или более каналов аудиоконтента), так и метаданные, индицирующие по меньшей мере одну характеристику аудиоконтента. Например, в битовом потоке АС-3 присутствует несколько параметров метаданных звукового сигнала, которые специально предназначены для использования при изменении звука программы, передаваемой в среду прослушивания. Одним из параметров метаданных является параметр DIALNORM, который предназначен для индицирования среднего уровня диалога, встречающегося в аудиопрограмме, и используется для определения уровня воспроизведения звукового сигнала.
Во время воспроизведения битового потока, содержащего последовательность различных сегментов аудиопрограммы (каждый из которых имеет различный параметр DIALNORM), АС-3 декодер использует параметр DIALNORM каждого сегмента, чтобы выполнить тип обработки громкости, при котором он изменяет уровень воспроизведения или громкость так, что воспринимаемая громкость диалога последовательности сегментов поддерживается на постоянном уровне. Каждый кодированный аудиосегмент (элемент) в последовательности кодированных аудиоэлементов будет (в общем) иметь различные параметры DIALNORM, и декодер будет масштабировать уровень каждого из элементов таким образом, чтобы уровень воспроизведения или громкость диалога каждого элемента была одинаковой или очень похожей даже, если потребуется применение коэффициентов усиления различной величины для различных элементов во время воспроизведения.
DIALNORM обычно задается пользователем, и не формируется автоматически, хотя существует значение DIALNORM по умолчанию, если значение не задано пользователем. Например, создатель контента может производить измерения громкости с внешнего устройства по отношению к AC-3 кодеру, а затем передать результат (показывающий громкость разговорного диалога аудиопрограммы) кодеру, чтобы установить значение DIALNORM. Таким образом, правильность установки параметра DIALNORM зависит от создателя контента.
Существует несколько разных причин, из-за которых параметр DIALNORM в битовом потоке AC-3 может быть неверным. Во-первых, каждый АС-3 кодер имеет значение DIALNORM по умолчанию, которое используется при формировании битового потока, если значение DIALNORM не задано создателем контента. Это значение по умолчанию может существенно отличаться от фактической громкости диалога аудиоконтента. Во-вторых, даже если создатель контента измеряет громкость и задает значение DIALNORM соответствующим образом, алгоритм измерения громкости или измерительный прибор могут не соответствовать рекомендованному методу измерения громкости для AC-3, в результате будет получено неверное значение DIALNORM. В-третьих, даже если битовый поток AC-3 был создан с правильно измеренным и заданным создателем контента значением DIALNORM, он может быть изменен на неверное значение при передаче и/или хранении битового потока. Например, в телевизионных вещательных приложениях для битовых потоков AC-3, подлежащих декодированию, модификации, а затем перекодированию, не редко использование информации метаданных с неправильным DIALNORM. Таким образом, значение DIALNORM, включенное в битовый поток AC-3, может быть неправильным или неточным и, следовательно, может отрицательно влиять на качество звучания.
Кроме того, параметр DIALNORM не показывает состояние обработки громкости соответствующих аудиоданных (например, какие тип(ы) обработки громкости были выполнены с аудиоданными). До настоящего изобретения звуковой битовый поток никогда не включал метаданные, индицирующие состояние обработки громкости (например, применяемый(е) тип(ы) обработки громкости) аудиоконтента битового аудиопотока или состояние обработки громкости и громкость аудиоконтента битового потока в формате типа, который описан в настоящем изобретении. Метаданные состояния обработки громкости в таком формате являются полезными для обеспечения, в частности, эффективной адаптивной обработки громкости битового аудиопотока и/или проверки достоверности состояния обработки громкости и громкости аудиоконтента.
Хотя настоящее изобретение не ограничивается использованием битового потока AC-3, битового потока E-AC-3 или битового потока Dolby E, для удобства оно будет описано в вариантах осуществления, в которых оно генерирует, декодирует или иным образом обрабатывает такие битовые потоки, которые включают метаданные состояния обработки громкости.
Кодированный битовый поток AC-3 содержит метаданные и от одного до шести каналов аудиоконтента. Аудиоконтент - это аудиоданные, которые были сжаты с использованием перцепционного аудиокодирования. Метаданные включают в себя несколько параметров метаданных аудиоконтента, которые предназначены для использования при изменении звучания программ, передаваемых в среду прослушивания.
Подробное описание AC-3 кодирования (также известного как Dolby Digital) хорошо известно и изложено во многих опубликованных источниках, в том числе в следующих:
ATSC Standard A52/A: Digital Audio Compression Standard (AC-3), Revision A, Advanced Television Systems Committee, 20 Aug. 2001; и
патенты США № 5583962; 5632005; 5633981; 5727119; и 6021386, каждый из которых включен в данное описание посредством ссылки во всей своей полноте.
Подробное описание кодирования Dolby Digital Plus (E-AC-3) изложено в “Introduction to Dolby Digital Plus, an Enhancement to the Dolby Digital Coding System,” AES Convention Paper 6196, 117th AES Convention, October 28, 2004.
Подробное описание кодирования Dolby E изложено в "Efficient Bit Allocation, Quantization, and Coding in an Audio Distribution System", AES Preprint 5068, 107th AES Conference, August 1999 and "Professional Audio Coder Optimized for Use with Video", AES Preprint 5033, 107th AES Conference August 1999.
Каждый фрейм кодированного битового аудиопотока AC-3 содержит аудиоконтент и метаданные для 1536 семплов цифровой звукозаписи. Что представляет 32 миллисекунды цифровой звукозаписи или скорость звукозаписи 31,25 фреймов в секунду для частоты дискретизации 48 кГц.
Каждый фрейм кодированного битового аудиопотока E-AC-3 содержит аудиоконтент и метаданные для 256, 512, 768 или 1536 семплов цифровой звукозаписи в зависимости от того, содержит ли фрейм один, два, три или шесть блоков аудиоданных соответственно. Для частоты дискретизации 48 кГц это представляет 5,333, 10,667, 16 или 32 миллисекунды цифровой аудиозаписи соответственно или скорость аудиозаписи 189,9, 93,75, 62,5 или 31,25 фреймов в секунду соответственно.
Как показано на фиг. 4, каждый фрейм AC-3 делится на разделы (сегменты): раздел синхронизирующей информации (SI), который содержит (как показано на фиг. 5) синхрослово (SW) и первое из двух слов коррекции ошибок (CRC1); информационный раздел битового потока (BSI), который содержит большую часть метаданных; шесть аудиоблоков (AB0 - AB5), которые содержат данные сжатого аудиоконтента (а также могут включать метаданные); сегменты лишних битов (W), которые содержат все неиспользуемые биты, оставшиеся после сжатия аудиоконтента; вспомогательный информационный раздел (AUX), который может содержать дополнительные метаданные и второе из двух слов коррекции ошибок (CRC2). Сегмент лишних битов (W) также может упоминаться как «поле игнорируемых данных».
Как показано на фиг. 7, каждый фрейм E-AC-3 делится на разделы (сегменты): раздел синхронизирующей информации (SI), который содержит (как показано на фиг. 5) синхрослово (SW); информационный раздел битового потока (BSI), который содержит большую часть метаданных; от одного до шести аудиоблоков (AB0 - AB5), которые содержат данные сжатого аудиоконтента (а также могут включать в себя метаданные); сегмент лишних битов (W), который содержит все неиспользуемые биты, оставшиеся после сжатия аудиоконтента (хотя показан только один сегмент лишних битов, как правило, за каждым аудиоблоком следуют другие сегменты лишних битов); вспомогательный информационный раздел (AUX), который может содержать дополнительные метаданные и слово коррекции ошибок (CRC). Сегмент лишних битов (W) также может упоминаться как «поле игнорируемых данных».
В битовом потоке AC-3 (или E-AC-3) присутствует несколько параметров метаданных звукозаписи, которые специально предназначены для использования при изменении звучания программы, передаваемой в среду прослушивания. Одним из параметров метаданных является параметр DIALNORM, который входит в сегмент BSI.
Как показано на фиг. 6, сегмент BSI фрейма AC-3 содержит пятибитовый параметр («DIALNORM»), указывающий значение DIALNORM для программы. Пятибитовый параметр («DIALNORM2»), указывающий передаваемое в том же фрейме AC-3 значение DIALNORM для второй аудиопрограммы, содержится в битовом потоке, если режим аудиокодирования («acmod») фрейма АС-3 равен «0», индицируя использование конфигурации канала «дуальное моно» или «1 + 1».
Сегмент BSI также содержит флаг («addbsie»), индицирующий наличие (или отсутствие) дополнительной информации битового потока после бита «addbsie», параметр («addbsil»), индицирующий длину любой дополнительной информации битового потока, следующей за значением «addbsil», а также до 64 бит дополнительной информации потока («addbsi»), следующей за значением «addbsil».
Сегмент BSI содержит другие значения метаданных, в частности, не показанных на фиг. 6.
Краткое описание изобретения
В одном классе вариантов осуществления настоящее изобретение представляет собой блок обработки звукового сигнала, который включает буферное запоминающее устройство, аудиодекодер и синтаксический анализатор. Буферное запоминающее устройство хранит по меньшей мере один фрейм кодированного битового аудиопотока. Кодированный битовый аудиопоток включает аудиоданные и контейнер метаданных. Контейнер метаданных содержит заголовок, одно или несколько информационных наполнений метаданных и защитные данные. Заголовок включает синхрослово, идентифицирующее начало контейнера. Одно или несколько информационных наполнений метаданных описывают аудиопрограмму, связанную с аудиоданными. Защитные данные располагаются после одного или нескольких информационных наполнений метаданных. Защитные данные также могут быть использованы для проверки целостности контейнера метаданных и одного или нескольких информационных наполнений в контейнере метаданных. Аудиодекодер подключен к буферному запоминающему устройству и способен декодировать аудиоданные. Синтаксический анализатор подключен к или интегрирован в аудиодекодер и способен выполнять синтаксический анализ контейнера метаданных.
В типовых вариантах осуществления изобретения способ включает прием кодированного битового аудиопотока, причем кодированный битовый аудиопоток сегментирован на один или несколько фреймов. Аудиоданные, наряду с контейнером метаданных, извлекаются из кодированного битового аудиопотока. Контейнер метаданных содержит заголовок с последующим одним или несколькими информационными наполнениями метаданных, за которыми следуют защитные данные. И, наконец, целостность контейнера и одного или нескольких информационных наполнений метаданных проверяется посредством использования защитных данных. Одно или несколько информационных наполнений метаданных могут включать информационное наполнение громкости программы, которое содержит данные, индицирующие измеренную громкость аудиопрограммы, связанной с аудиоданными.
Информационное наполнение метаданных громкости программы называют метаданными состояния обработки громкости («LPSM»), встроенными в битовый аудиопоток, для которых в соответствии с типовыми вариантами осуществления изобретения может быть установлена подлинность и подтверждена достоверность, например, для того, чтобы объекты, регулирующие громкость, могли убедиться в том, что громкость конкретной программы находится в пределах установленного диапазона, и что соответствующие аудиоданные не изменились (обеспечивая тем самым соблюдение действующих регулирующих требований). Для подтверждения этого вместо повторного вычисления громкости может быть считано значение громкости, содержащееся в блоке данных, содержащем метаданные состояния обработки громкости. Благодаря LPSM, регулирующий орган без необходимости вычисления громкости аудиоконтента может определить, что соответствующий аудиоконтент находится в соответствии (как индицировано LPSM) с законодательно установленным уровнем громкости и/или с нормативными требованиями (например, постановлениями, принятыми в соответствии с Законом об уменьшении громкости коммерческой рекламы, также известным как Закон «CALM»).
Измерения громкости, которые необходимы для соблюдения законодательно установленного уровня громкости и/или некоторых нормативных требований (например, постановлений, принятых в соответствии с Законом об уменьшении громкости коммерческой рекламы), основываются на интегральной громкости программы. Интегральная громкость программы требует, чтобы измерения громкости, либо уровня громкости диалога, либо уровня громкости смешанной звукозаписи, проводились в течение всей аудиопрограммы. Таким образом, крайне важно знать, какие аудиоданные (и метаданные) определяют всю аудиопрограмму, чтобы выполнить измерения громкости программы (например, на разных этапах в вещательной цепи) для проверки соответствия настоящим требованиям законодательства, а это, как правило, требует знания местоположения начала и конца программы (например, во время обработки битового потока, индицирующего последовательность аудиопрограмм).
В соответствии с типовыми вариантами осуществления настоящего изобретения кодированный битовый аудиопоток индицирует по меньшей мере одну аудиопрограмму (например, последовательность аудиопрограмм), а метаданные границы программы и LPSM, включенные в битовый поток, позволяют сбросить измерения громкости программы в конце программы и, тем самым, обеспечить автоматизированный способ измерения интегральной громкости программы. Типовые варианты осуществления настоящего изобретения включают эффективные метаданные границы программы в кодированном битовом аудиопотоке, позволяющие выполнить точное и надежное определение по меньшей мере одной границы между последовательными аудиопрограммами, индицированными битовым потоком. Типовые варианты осуществления позволяют точное и надежное определение границы программы в том смысле, что они позволяют точно определить границу программы, даже в тех случаях, когда битовые потоки, указывающие различные программы, смонтированы друг с другом (для формирования битового потока согласно изобретению) таким образом, что обрезан один или оба смонтированных битовых потока (и, таким образом, удалены метаданные границы программы, которые входили по меньшей мере в один из битовых потоков до монтажа).
В типовых вариантах осуществления метаданные границы программы во фрейме битового потока, согласно изобретению, представляют собой флаг границы программы, индицирующий число фреймов. Как правило, флаг указывает количество фреймов между текущим фреймом (фреймом, который включает в себя флаг) и границей программы (началом или концом текущей аудиопрограммы). В некоторых предпочтительных вариантах осуществления изобретения флаги программы расставляют симметрично, эффективным способом в начале и в конце каждого сегмента битового потока, который индицирует одну программу (т.е. во фреймах, встречающихся в течение некоторого заданного числа фреймов после начала сегмента, и во фреймах, встречающихся в течение некоторого заданного числа фреймов до конца сегмента), таким образом, когда два таких сегмента битового потока соединяются (т.е. будет присутствовать признак последовательности двух программ), метаданные границы программы могут присутствовать (например, симметрично) на обеих сторонах границы между двумя программами.
Чтобы ограничить увеличение скорости передачи данных, что является результатом включения метаданных границы программы в кодированный битовый аудиопоток (который может содержать признаки одной аудиопрограммы или последовательности аудиопрограмм), в типовых вариантах осуществления изобретения флаги границ программы вставляют только в подмножестве фреймов битового потока. Как правило, коэффициент размещения флага границы является невозрастающей функцией в зависимости от увеличения интервала между каждым из фреймов битового потока (в котором флаг установлен) и границей программы, которая ближе к указанному фрейму, где «коэффициент размещения флага границы» является средним значением отношения количества фреймов (индицирующих программу), которые включают в себя флаги границ программы к числу фреймов (индицирующих программу), которые не включают в себя флаг границы программы, где среднее значение является скользящим средним количества (например, относительно небольшого числа) последовательных фреймов кодированного битового аудиопотока. В классе вариантов осуществления изобретения, коэффициент размещения флага границы логарифмически убывает по мере увеличения интервала (от каждого места вставки флага) до ближайшей границы программы, а для каждого флагосодержащего фрейма, который включает в себя один из флагов, размер флага в указанном флагосодержащем фрейме равен или больше, чем размер каждого флага во фрейме, расположенном ближе к ближайшей границе программы, чем указанный флагосодержащий фрейм (то есть, размер флага границы программы в каждом флагосодержащем фрейме является неубывающей функцией от увеличения интервала от указанного флагосодержащего фрейма до ближайшей границы программы).
Другой аспект настоящего изобретения представляет собой блок обработки звукового сигнала (APU), сконфигурированный с возможностью выполнения любого варианта осуществления способа согласно изобретению. В другом классе вариантов осуществления изобретение представляет собой APU, включающий буферное запоминающее устройство (буфер), который хранит (например, неизменяемым способом) по меньшей мере, один фрейм кодированного битового аудиопотока, который сформирован любым вариантом осуществления способа согласно изобретению. Примеры APU включают, но не ограничиваются ими: кодеры (например, транскодеры), декодеры, кодеки, системы предварительной обработки (препроцессоры), системы постобработки (постпроцессоры), системы обработки битового аудиопотока и комбинации таких элементов.
В другом классе вариантов осуществления изобретение представляет собой блок обработки звукового сигнала (APU), выполненный с возможностью генерации кодированного битового аудиопотока, включающего сегменты аудиоданных и сегменты метаданных, где сегменты аудиоданных являются индикаторами аудиоданных, а каждый из, по меньшей мере, некоторых сегментов метаданных включает метаданные состояния обработки громкости (LPSM) и, возможно, также метаданные границы программы. Как правило, по меньшей мере один такой сегмент метаданных во фрейме битового потока включает по меньшей мере один сегмент LPSM, с признаком, был ли выполнен первый тип обработки громкости с аудиоданными фрейма (то есть, аудиоданными по меньшей мере в одном сегменте аудиоданных фрейма), и по меньшей мере один другой сегмент LPSM, индицирующий громкость, по меньшей мере, некоторых аудиоданных фрейма (например, громкость диалога, по меньшей мере, некоторых из аудиоданных во фрейме, имеющих признаки диалога). В одном из вариантов осуществления изобретения в этом классе, APU представляет собой кодер, выполненный с возможностью кодирования входного аудиосигнала для формирования кодированного аудиосигнала, а сегменты аудиоданных включают в себя кодированный аудиосигнал. В типовых вариантах осуществления изобретения в этом классе каждый из сегментов метаданных имеет предпочтительный формат, который будет описан далее.
В некоторых вариантах осуществления изобретения каждый из сегментов метаданных кодированного битового потока (битового потока AC-3 или битового потока E-AC-3 в некоторых вариантах осуществления изобретения), который включает LPSM (например, LPSM и метаданные границы программы), входит в сегмент лишних битов поля игнорируемых данных фрейма битового потока (например, сегмент лишних битов W типа, показанного на фиг. 4 или фиг. 7). В других вариантах осуществления изобретения каждый из сегментов метаданных кодированного битового потока (битового потока AC-3 или битового потока E-AC-3 в некоторых вариантах осуществления изобретения), который включает FPSM (например, FPSM и метаданные границы программы), входит в качестве дополнительной информации битового потока в поле «addbsi» информационного сегмента битового потока («BSI») фрейма битового потока или в поле вспомогательных данных (например, сегмент AUX типа, показанного на фиг. 4 или фиг. 7) в конце фрейма битового потока. Каждый сегмент метаданных, включающий FPSM, может иметь формат, определенный в данном описании со ссылкой на таблицу 1 и таблицу 2, приведенные ниже, (то есть, он включает в себя основные элементы, указанные в таблице 1, или варианты, после чего идентификатор информационного наполнения (идентифицирующий метаданные такие, как LPSM) и значение размера информационного наполнения, а затем информационное наполнение (LPSM данные, которые имеют формат, показанный в таблице 2, или формат, показанный в варианте таблицы 2, приведенный в данном описании). В некоторых вариантах осуществления изобретения фрейм может включать один или два сегмента метаданных, каждый из которых включает LPSM, а если фрейм включает два сегмента метаданных, один может присутствовать в поле фрейма addbsi, а другой в поле фрейма AUX.
В классе вариантов осуществления изобретения настоящее изобретение представляет собой способ, включающий в себя этапы кодирования аудиоданных для формирования AC-3 или Е-АС-3 кодированного битового аудиопотока, в том числе за счет включения в сегмент метаданных (по меньшей мере одного фрейма битового потока) LPSM и метаданных границы программы и, возможно, также и других метаданных для аудиопрограммы, к которой принадлежит этот фрейм. В некоторых вариантах осуществления изобретения каждый такой сегмент метаданных включен в поле фрейма addbsi или поле вспомогательных данных фрейма. В других вариантах осуществления изобретения каждый такой сегмент метаданных включен в сегмент лишних битов фрейма. В некоторых вариантах осуществления изобретения каждый сегмент, который содержит метаданные LPSM и метаданные границы программы, содержит заголовок фрейма (и в некоторых случаях также дополнительные основные элементы), и после заголовка фрейма (или заголовка фрейма и других основных элементов) сегмент информационного наполнения LPSM (или контейнера), имеющий следующий формат:
заголовок, как правило, включающий по меньшей мере одно идентификационное значение (например, версию формата LPSM, длину, период, число и ассоциативные значения вложенного потока данных, как указано в таблице 2, приведенной в настоящем описании), и
после заголовка - LPSM и метаданные границы программы. Метаданные границы программы могут включать в себя число фреймов до границы программы и значение кода (например, значение «offset_exist»), указывающее, содержит ли кадр только число фреймов до границы программы или
число фреймов до границы программы и значение смещения, и (в некоторых случаях) значение смещения. LPSM может включать:
по меньшей мере одно индицирующее диалог значение, указывающее одно из двух - соответствующие аудиоданные имеют признак диалога или не имеют признак диалога (например, какие каналы соответствующих аудиоданных имеют признак диалога). Индицирующее значение(я) диалога может указать, присутствует ли диалог в любой комбинации каналов или во всех каналах соответствующих аудиоданных;
по меньшей мере одно значение соблюдения нормативных требований по громкости, указывающее соответствуют ли соответствующие аудиоданные указанному пакету нормативных требований по громкости;
по меньшей мере одно значение обработки громкости, указывающее по меньшей мере один тип обработки громкости, который был выполнен с соответствующими аудиоданными; и
по меньшей мере одно значение громкости, указывающее по меньшей мере одну характеристику громкости (например, пиковое или среднее значение громкости) соответствующих аудиоданных.
В других вариантах осуществления изобретения кодированный битовый поток представляет собой битовый поток, который не является битовым потоком АС-3 или битовым потоком E-AC-3, а каждый из сегментов метаданных, который включает LPSM (и в некоторых случаях также метаданные границы программы), входит в сегмент (или поле, или слот) битового потока, зарезервированный для хранения дополнительных данных. Каждый сегмент метаданных, включающий LPSM, может иметь формат аналогичный или идентичный, указанному в данном описании со ссылкой на таблицу 1 и таблицу 2, которые приведены ниже (то есть он включает в себя основные элементы, аналогичные или идентичные тем, которые указаны в таблице 1, за которыми следует ID (идентификатор) информационного наполнения (идентификационные метаданные как LPSM) и значения объема информационного наполнения, а затем информационное наполнение (LPSM данные, которые имеют формат, аналогичный или идентичный формату, указанному в таблице 2, или в варианте таблицы 2, приведенной в настоящем описании)).
В некоторых вариантах осуществления изобретения кодированный битовый поток содержит последовательность фреймов, каждый из фреймов включает информационный сегмент битового потока («BSI»), включающий поле «addbsi» (иногда именуемое сегмент или слот) и поле или слот вспомогательных данных (например, кодированный битовый поток является битовым потоком AC-3 или битовым потоком E-AC-3), и включает сегменты аудиоданных (например, сегменты фрейма AB0 - AB5, показанные на фиг. 4) и сегменты метаданных, где сегменты аудиоданных являются признаком аудиоданных, причем каждый из, по меньшей мере, некоторых сегментов метаданных включает метаданные состояния обработки громкости (LPSM) и, в некоторых случаях также метаданные границы программы. LPSM присутствуют в битовом потоке в следующем формате. Каждый из сегментов метаданных, который включает LPSM, включен в поле «addbsi» сегмента BSI фрейма битового потока, или в поле вспомогательных данных битового потока, или в сегмент лишних битов фрейма битового потока. Каждый сегмент метаданных, включающий LPSM, содержит сегмент информационного наполнения (или контейнера) LPSM, имеющий следующий формат:
заголовок (обычно включающий, по меньшей мере, одно идентифицирующее значение, например, версию формата LPSM, длину, период, число и ассоциативные значения вложенного потока данных, указанные ниже в таблице 2); и
после заголовка, LPSM и в некоторых случаях также метаданные границы программы. Метаданные границы программы могут включать в себя число фреймов до границы программы и значение кода (например, значение «offset_exist»), которое указывает, содержит ли фрейм только число фреймов до границы программы или и число фреймов до границы программы, и значение смещения), и (в некоторых случаях) значение смещения, LPSM может содержать:
по меньшей мере одно значение, индицирующее диалог (например, параметр «Канала(ов) диалога» из таблицы 2), указывающий, что соответствующие аудиоданные индицируют или не индицируют диалог (например, какие каналы соответствующих аудиоданных индицируют диалог). Значение(я), индицирующее диалог, может указать, присутствует ли диалог в любой комбинации каналов или во всех каналах соответствующих аудиоданных;
по меньшей мере одно значение соблюдения нормативных требований по громкости (например, параметр «Тип регулирования громкости» из таблицы 2), указывающее, соответствуют ли соответствующие аудиоданные указанному пакету нормативных требований по громкости;
по меньшей мере одно значение обработки громкости (например, один или несколько параметров «Флаг коррекции стробированной громкости диалога», «Тип коррекции громкости» из таблицы 2), указывающее по меньшей мере один тип обработки громкости, который был выполнен с соответствующими аудиоданными; и
по меньшей мере одно значение громкости (например, один или несколько из параметров: «Относительная стробированная громкость по рекомендации МСЭ (Международный союз электросвязи)», «Стробированная громкость речи по рекомендации МСЭ», «Краткосрочная громкость (3-секундный временной интервал) по рекомендации МСЭ (EBU 3341)», и «Истинное пиковое значение», приведенные в Таблице 2), указывающее по меньшей мере одну характеристику громкости (например, пиковую или среднюю громкость) соответствующих аудиоданных.
В любом из вариантов осуществления изобретения, который предполагает, использует или формирует по меньшей мере одно значение громкости, указывающего соответствующие аудиоданные, значение(я) громкости может указывать по меньшей мере одну измерительную характеристику уровня громкости, используемую для обработки уровня громкости и/или динамический диапазон аудиоданных.
В некоторых воплощениях изобретения каждый из сегментов метаданных в поле «addbsi», или в поле вспомогательных данных, или сегмента лишних битов фрейма битового потока имеет следующий формат:
заголовок фрейма (обычно включающий синхрослово, идентифицирующее начало сегмента метаданных, а затем идентификационные значения, например версию основного элемента, длину и период, число расширенных элементов, и ассоциативные значения вложенного потока данных, указанные в таблице 1 ниже; и
после заголовка фрейма по меньшей мере одно защитное значение (например, HMAC дайджест и значения цифрового отпечатка, где HMAC дайджест может являться 256-битным HMAC дайджестом (при использовании алгоритма SHA-2), вычисляемым по аудиоданным, основному элементу, и всем расширенным элементам, из всего фрейма, как указано в таблице 1), подходящее по меньшей мере для одного из: декодирования, аутентификации, или проверки достоверности по меньшей мере одного из метаданных состояния обработки уровня громкости или соответствующих аудиоданных); и
также после заголовка фрейма, если сегмент метаданных включает LPSM, идентификатор («ID») информационного наполнения LPSM и значения объема (размер) информационного наполнения LPSM, которое идентифицируют следующие метаданные как информационное наполнение LPSM, и указывает размер информационного наполнения LPSM. Сегмент информационного наполнения LPSM (преимущественно имеющий формат, указанный выше) следует за ID информационного наполнения LPSM и числовым значением размера информационного наполнения LPSM.
В некоторых вариантах осуществления типа, описанного в предыдущем абзаце, каждый сегмент метаданных в поле вспомогательных данных (или в поле «addbsi», или в сегменте лишних битов) фрейма имеет три уровня структуры:
структура высокого уровня, содержащая флаг, указывающий, включает ли поле вспомогательных данных (или поле addbsi) метаданные, по меньшей мере, одно значение ID, указывающее, какой тип(ы) метаданных присутствует, и, как правило, также значение, указывающее, сколько бит метаданных (например, каждого типа) присутствует (если метаданные присутствуют). Один тип метаданных, которые могут присутствовать в LSPM, другой тип метаданных, которые могут присутствовать в метаданных границы программы, и другой тип метаданных, которые могут присутствовать в метаданных медиа-исследований;
структура среднего уровня, содержащая основной элемент для каждого идентифицированного типа метаданных (например, заголовок фрейма, защитные значения, ID информационного наполнения и числовое значение размера информационного наполнения, например, из упомянутого выше типа, для каждого идентифицированного типа метаданных); и
структура низкого уровня, включающая каждое информационное наполнение для одного из основных элементов (например, информационное наполнение LPSM, если оно идентифицируется основным элементом как присутствующее, и/или информационное наполнение метаданных другого типа, если оно идентифицируется основным элементом как присутствующее).
Значения данных в такой трехуровневой структуре могут быть вложенными. Например, защитные значение(я) для информационного наполнения LPSM и/или другого информационного наполнения метаданных, определяемого основным элементом, могут быть включены после каждого информационного наполнения, определяемого основным элементом (и, таким образом, после заголовка фрейма основного элемента). В одном примере, заголовок фрейма может идентифицировать информационное наполнение LPSM и другое информационное наполнение метаданных, ID информационного наполнения и значение размера информационного наполнения для первого информационного наполнения (например, информационного наполнения LPSM) может следовать за заголовком фрейма, само первое информационное наполнение может следовать за ID и значениями размера, значения размера информационного наполнения и ID информационного наполнения для второго информационного наполнения могут следовать за первым информационным наполнением, само второе информационное наполнение может следовать за этими ID и значениями размера, а защитное значение(я) для одного или обоих информационных наполнений (или для значений основного элемента одного или обоих информационных наполнений) может следовать за последним информационным наполнением.
В некоторых вариантах осуществления изобретения основной элемент сегмента метаданных в поле вспомогательных данных (или в поле «addbsi» или в сегменте лишних битов) фрейма содержит заголовок фрейма (как правило, включающий идентификационные значения, например, версию основного элемента), и после заголовка фрейма: значения, указывающие, входят ли данные цифрового отпечатка в метаданные сегмента метаданных, значения, указывающие, существуют ли внешние данные (связанные с аудиоданными, соответствующими метаданным сегмента метаданных), ID полезного наполнения и значение размера полезного наполнения для каждого типа метаданных (например, LPSM, и/или метаданные типа, отличного от LPSM), идентифицированного основным элементом, и защитные значения по меньшей мере одного типа метаданных идентифицированного основным элементом. Информационное наполнение(я) метаданных сегмента метаданных следует за заголовком фрейма, и (в некоторых случаях) вложено в значения основного элемента.
В другом предпочтительном формате кодированный битовый поток является битовым потоком Dolby E, а каждый из сегментов метаданных, который включает LPSM (а в некоторых случаях метаданные границы программы) входит в окрестность первых N семплов защитного частотного интервала Dolby E.
В другом классе вариантов осуществления изобретение представляет собой APU (например, декодер), подключенный и выполненный с возможностью приема кодированного битового аудиопотока, содержащего сегменты аудиоданных и сегменты метаданных, где сегменты аудиоданных индицируют аудиоданные, а каждый из, по меньшей мере, некоторых сегментов метаданных включает метаданные состояния обработки громкости (LPSM) и, в некоторых случаях, также метаданные границы программы, для извлечения LPSM из битового потока, чтобы сформировать декодированные аудиоданные в ответ на аудиоданные и выполнить по меньшей мере одну операцию адаптивной обработки громкости аудиоданных с использованием LPSM. Некоторые варианты осуществления изобретения в этом классе также включают постпроцессор, подключенный к APU, причем постпроцессор подключен и настроен для выполнения по меньшей мере одной адаптивной операции обработки громкости аудиоданных с помощью LPSM.
В другом классе вариантов осуществления изобретение представляет собой блок обработки звукового сигнала (APU), включающий буферное запоминающее устройство (буфер) и подсистему обработки, соединенную с буфером, причем APU подключен для получения кодированного битового аудиопотока, содержащего сегменты аудиоданных и сегменты метаданных, где сегменты аудиоданных являются признаком аудиоданных, а каждый из, по меньшей мере, некоторых сегментов метаданных включает в себя метаданные состояния обработки громкости (LPSM) и, факультативно, также метаданные границы программы, буфер хранит (например, неизменяемым способом) по меньшей мере один фрейм кодированного битового аудиопотока, и подсистема обработки настроена с возможностью извлечения LPSM из битового потока, и выполнения по меньшей мере одной адаптивной операции обработки громкости аудиоданных с использованием LPSM. В типовых вариантах осуществления изобретения в этом классе, APU является одним из кодера, декодера и постпроцессора.
В некоторых воплощениях способа, являющегося предметом предлагаемого изобретения, сформированный битовый аудиопоток представляет собой или кодированный битовый поток AC-3, или битовый поток E-AC-3, или битовый поток Dolby E, включающие метаданные состояния обработки громкости, а также другие метаданные (например, параметр метаданных DIALNORM, параметры метаданных регулирования динамического диапазона, и другие параметры метаданных). В некоторых других вариантах осуществления указанного способа, сформированный битовый аудиопоток представляет собой кодированный битовый поток другого типа.
Аспекты настоящего изобретения включают в себя систему или устройство, настроенное (например, запрограммированное) для выполнения какого-либо варианта осуществления способа согласно изобретению, и машиночитаемый носитель (например, диск), который хранит код (например, неизменяемым способом ) для воплощения любого из вариантов осуществления способа согласно изобретению или их этапов. Например, система согласно изобретению может представлять собой или включать программируемый процессор общего назначения, цифровой сигнальный процессор или микропроцессор, запрограммированный с помощью программных средств или аппаратно-программных средств и/или иным образом настроенный для выполнения любой из множества операций с данными, включая вариант осуществления метода согласно изобретения или его этапы. Такой процессор общего назначения может представлять собой или включать компьютерную систему, содержащую устройства ввода, запоминающее устройство и запрограммированную (и/или иным образом настроенную) схему обработки для выполнения варианта осуществления способа (или его этапов) согласно изобретению в ответ на утвержденные данные.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
На фиг. 1 представлена структурная схема варианта осуществления системы, которая может быть сконфигурирована для выполнения варианта осуществления заявляемого способа.
На фиг. 2 представлена структурная схема кодера, который является вариантом осуществления заявляемого блока обработки звукового сигнала.
На фиг. 3 представлена структурная схема декодера, который является вариантом осуществления заявляемого блока обработки звукового сигнала и подключенного к нему постпроцессора, который является еще одним вариантом осуществления заявляемого блока обработки звукового сигнала.
На фиг. 4 представлена диаграмма AC-3 фрейма, разделенного на сегменты.
На фиг. 5 представлена диаграмма сегмента синхронизирующей информации (SI) AC-3 фрейма, включающего сегменты, на которые он разделен.
На фиг. 6 представлена диаграмма информационного сегмента битового потока (BSI) AC-3 фрейма, включающего сегменты, на которые он разделен.
На фиг. 7 представлена диаграмма разделенного на сегменты E-AC-3 фрейма.
На фиг. 8 показана диаграмма фреймов кодированного битового аудиопотока, который содержит метаданные границы программы в формате, соответствующем варианту осуществления настоящего изобретения.
На фиг. 9 показана диаграмма других фреймов кодированного битового аудиопотока на фиг. 9. Некоторые из этих фреймов содержат метаданные границы программы в формате, соответствующем варианту осуществления настоящего изобретения.
На фиг. 10 представлена диаграмма двух кодированных битовых аудиопотоков: битового потока (IEB), в котором граница программы (помеченная как «граница») совпадает с переходом между двумя фреймами битового потока, и другого битового потока (TB), в котором граница программы (помеченная как «истинная граница») сдвинута на 512 семплов от перехода между двумя фреймами битового потока.
На фиг. 11 представлен набор диаграмм, показывающих четыре кодированных битовых аудиопотока. Битовый поток в верхней части фиг. 11 (помеченный как «Сценарий 1») указывает на первую аудиопрограмму (P1), содержащую метаданные границы программы, за которыми следует вторая аудиопрограмма (P2), которая также содержит метаданные границы программы; второй битовый поток (обозначенный как «Сценарий 2») указывает на первую аудиопрограмму (P1), которая содержит метаданные границы программы, за которыми следует вторая аудиопрограмма (P2), которая не содержит метаданных границы программы; третий битовый поток (обозначенный как «Сценарий 3») указывает на обрезанную первую аудиопрограмму (P1), которая содержит метаданные границы программы, и которая была смонтирована с целой второй аудиопрограммой (P2), которая содержит метаданные границы программы; а также четвертый битовый поток (обозначенный как «Сценарий 4»), указывающий на обрезанную первую аудиопрограмму (P1), которая содержит метаданные границы программы, и на обрезанную вторую аудиопрограмму (P2), которая содержит метаданные границы программы и которая была смонтирована с частью первой аудиопрограммы.
Обозначения и терминология
В настоящем описании, включая формулу изобретения, выражение выполнения операции «с» сигналом или данными (например, фильтрация, масштабирование, преобразование или применение усиления для сигнала или данных) используется в широком смысле для обозначения выполнения действия непосредственно с сигналом или данными или с обработанным вариантом сигнала или данных (например, с вариантом сигнала, который прошел предварительную фильтрацию или предварительную обработку до выполнения действия с ним).
В настоящем описании, включая формулу изобретения, выражение «система» используется в широком смысле для обозначения устройства, системы или подсистемы. Например, подсистема, которая реализует декодер, может упоминаться как декодирующая система, а система, включающая такую подсистему (например, система, которая формирует X выходных сигналов в ответ на множество входных сигналов, где подсистема формирует М входных сигналов, а другие Х-М входных сигналов получают от внешнего источника) также может упоминаться как декодирующая система.
В настоящем описании, включая формулу изобретения, термин «процессор» используется в широком смысле для обозначения системы или программируемого или другим способом настраиваемого устройства (например, с помощью программного обеспечения или программно-аппаратных средств) для выполнения операций с данными (например, аудио, или видео, или другими данными изображений). Примеры процессоров включают программируемую пользователем вентильную матрицу (или другую интегральную схему с перенастраиваемой конфигурацией, или чипсет), цифровой сигнальный процессор, запрограммированный и/или иным способом сконфигурированный для выполнения конвейерной обработки аудиоданных или других звуковых данных, программируемый процессор общего назначения или компьютер, а также программируемую микропроцессорную большую интегральную схему или чипсет.
В настоящем описании, включая формулу изобретения, выражения «аудиопроцессор» и «блок обработки звукового сигнала» используются взаимозаменяемо и для обозначения системы в широком смысле, выполненной с возможностью обработки аудиоданных. Примеры блоков обработки звукового сигнала включают кодеры (например, транскодеры), декодеры, кодеки, системы предварительной обработки, системы постобработки и системы обработки битового потока (иногда называемые инструментами обработки битового потока), но не ограничиваются ими.
В настоящем описании, включая формулу изобретения, выражение «метаданные состояния обработки» (например, выражение «метаданные состояния обработки громкости») относится к отдельным и отличающимся данным от соответствующих аудиоданных (аудиоконтента потока аудиоданных, который также включает метаданные состояния обработки). Метаданные состояния обработки, связанные с аудиоданными, указывают состояние обработки громкости соответствующих аудиоданных (например, то, какой тип(ы) обработки уже был выполнен с аудиоданными) и, как правило, также указывают по меньшей мере один параметр или характеристику аудиоданных. Связь метаданных состояния обработки с аудиоданными синхронизирована во времени. Таким образом, настоящие (совсем недавно полученные или обновленные) метаданные состояния обработки указывают, что соответствующие аудиоданные одновременно включают результаты указанного типа(ов) обработки аудиоданных. В некоторых случаях метаданные состояния обработки могут включать последовательность событий обработки и/или некоторые или все параметры, которые используются и/или получаются при указанных видах обработки. Кроме того, метаданные состояния обработки могут включать по меньшей мере один признак или характеристику соответствующих аудиоданных, которые были вычислены или извлечены из аудиоданных. Метаданные состояния обработки могут также включать другие метаданные, которые не связаны с или не получены при какой-либо обработке соответствующих аудиоданных. Например, данные сторонних производителей, данные сопровождения, идентификаторы, служебная или стандартная информация, данные примечаний пользователя, данные установок пользователя и т.д. могут быть добавлены отдельным блоком обработки звукового сигнала для передачи другому блоку обработки звукового сигнала.
В настоящем описании, включая формулу изобретения, выражение «метаданные состояния обработки громкости" (или «LPSM») означает метаданные состояния обработки, указывающие состояние обработки громкости соответствующих аудиоданных (например, тип(ы) обработки громкости, выполненный с аудиоданными) и, как правило, также по меньшей мере один параметр или характеристику (например, громкость) соответствующих аудиоданных. Метаданные состояния обработки громкости могут включать данные (например, другие метаданные), которые не являются (то есть, когда они считаются отдельными) метаданными состояния обработки громкости.
В настоящем описании, включая формулу изобретения, выражение «канал» (или «аудиоканал») обозначает монофонический звуковой сигнал.
В настоящем описании, включая формулу изобретения, выражение «аудиопрограмма» означает набор из одного или нескольких аудиоканалов и в некоторых случаях также связанных метаданных (например, метаданных, которые описывают желаемое пространственное звуковое представление, и/или LPSM, и/или метаданные границы программы).
В настоящем описании, включая формулу изобретения, выражение «метаданные границы программы» обозначает метаданные кодированного битового аудиопотока, где кодированный битовый аудиопоток является признаком по меньшей мере одной аудиопрограммы (например, двух или более аудиопрограмм), а метаданные границы программы указывают местоположение по меньшей мере одной границы (начала и/или конца) по меньшей мере одной упомянутой аудиопрограммы в битовом потоке. Например, метаданные границы программы (кодированного битового аудиопотока, индицирующего аудиопрограмму) могут включать метаданные, указывающие местоположение (например, начало «N»-го фрейма битового потока или местоположение «М»-го семпла в «N»-ом фрейме битового потока) начала программы, а также дополнительные метаданные, указывающие местоположение (например, начало «J»-го фрейма битового потока или местоположение «K»-го семпла в «J»-м фрейме битового потока) конца программы.
В настоящем описании, включая формулу изобретения, термин «соединен» или «соединенный» используется для обозначения либо прямого, либо косвенного подключения. Таким образом, если первое устройство соединено со вторым устройством, то подключение может быть прямым подключением или косвенным подключением через другие устройства и подключения.
Подробное описание вариантов осуществления изобретения
В соответствии с типовыми вариантами осуществления изобретения информационное наполнение метаданных громкости программы называют метаданными состояния обработки громкости («LPSM»), и в некоторых случаях также метаданные границы программы встроены в одно или несколько резервных полей (или слотов) сегментов метаданных битового аудиопотока, который также включает в себя аудиоданные в других сегментах (сегментах аудиоданных). Как правило, по меньшей мере один сегмент каждого фрейма битового потока включает LPSM, и по меньшей мере один сегмент фрейма включает соответствующие аудиоданные (т.е. аудиоданные, состояние обработки громкости которых указано посредством LPSM). В некоторых вариантах осуществления изобретения объем данных в LPSM может быть достаточно малым, и метаданные передаются без влияния на скорость передачи данных, отведенной для передачи аудиоданных.
Взаимодействие метаданных состояния обработки громкости в тракте обработки аудиоданных особенно удобно, когда два или несколько блоков обработки звукового сигнала должны работать совместно друг с другом в тракте обработки данных (или в течение жизненного цикла контента). Без включения метаданных состояния обработки громкости в битовый аудиопоток могут происходить серьезные проблемы медийной обработки, такие как ухудшение качества, уровня и пространственного звучания, например, когда два или несколько аудиокодеков используются последовательно и применяется асимметричная авторегулировка громкости более, чем один раз в течение перемещения битового потока к воспринимающим медиа-устройствам (или к точке воспроизведения аудиоконтента битового потока).
На фиг. 1 представлена структурная схема примерного тракта обработки аудиоданных (системы обработки аудиоданных), на которой один или несколько элементов системы могут быть выполнены в соответствии с вариантом осуществления настоящего изобретения. Система включает следующие элементы, соединенные, как показано на схеме: блок предварительной обработки, кодер, блок анализа сигналов и коррекции метаданных, транскодер, декодер и блок предварительной обработки. В вариантах показанной системы один или несколько элементов опущены или включены дополнительные блоки обработки аудиоданных.
В некоторых воплощениях блок предварительной обработки, приведенный на фиг. 1, выполнен с возможностью принимать в качестве входных данных ИКМ (импульсно-кодовая модуляция) семплы (временной области), содержащие аудиоконтент, и выводить обработанные ИКМ семплы. Кодер может быть выполнен с возможностью приема ИКМ семплов в качестве входных данных и вывода кодированного (например, сжатого) битового аудиопотока, индицирующего аудиоконтент. Данные битового потока, индицирующие аудиоконтент, иногда упоминаются в настоящем описании как «аудиоданные». Если кодер выполнен в соответствии с типовым вариантом осуществления настоящего изобретения, выходные данные битового потока кодера включают метаданные состояния обработки громкости (и обычно также другие метаданные, в некоторых случаях метаданные границы программы), а также аудиоданные.
Блок анализа сигналов и коррекции метаданных, приведенный на фиг. 1, может принимать один или несколько кодированных битовых аудиопотоков в качестве входных данных и определять (например, проверять правильность) являются ли метаданные состояния обработки верными в каждом кодированном битовом аудиопотоке, выполняя анализ сигнала (например, используя метаданные границы программы в кодированном битовом аудиопотоке). Как правило, блок анализа сигналов и коррекции метаданных заменяет неверное значение(я) на верное значение(я), полученное путем анализа сигнала, если выявляет, что содержащиеся метаданные являются недействительными. Таким образом, все выходные данные кодированного битового аудиопотока блока анализа сигналов и коррекции метаданных могут включать скорректированные (или нескорректированные) метаданные состояния обработки, а также кодированные аудиоданные.
Транскодер, приведенный на фиг. 1, может принимать кодированные битовые потоки в качестве входных сигналов, и выводить в ответ модифицированные (например, кодированные другим способом) битовые аудиопотоки (например, путем декодирования входного потока и перекодирования декодированного потока в другой формат кодирования). Если транскодер выполнен в соответствии с типовым вариантом осуществления настоящего изобретения, выходные данные битового аудиопотока транскодера содержат метаданные состояния обработки громкости (и, как правило, также другие метаданные), а также кодированные аудиоданные. Метаданные могут быть включены в битовый поток.
Декодер, приведенный на фиг. 1, может принимать кодированные (например, сжатые) битовые аудиопотоки в качестве входных данных и выводить (в ответ) потоки декодированных ИКМ аудиосемплов. Если декодер выполнен в соответствии с типовым вариантом осуществления настоящего изобретения, выходной сигнал декодера в номинальном режиме работы представляет собой или содержит:
поток аудиосемплов и соответствующий поток метаданных состояния обработки громкости (и, как правило, также других метаданных), извлеченный из входного кодированного битового потока; или
поток аудиосемплов и соответствующий поток управляющих битов, определенных по метаданным состояния обработки громкости (и, как правило, также по другим метаданным), извлеченным из входного кодированного битового потока; или
поток аудиосемплов без соответствующего потока метаданных состояния обработки или управляющих битов, определенных по метаданным состояния обработки. В последнем случае декодер может извлекать метаданные состояния обработки громкости (и/или другие метаданные) из входного кодированного битового потока и выполнять по меньшей мере одну операцию с извлеченными метаданными (например, проверку правильности), даже если он не выводит извлеченные метаданные или управляющие биты, определенные из них.
Блок постобработки, приведенный на фиг. 1, выполнен в соответствии с типовым вариантом осуществления настоящего изобретения, блок постобработки выполнен с возможностью принимать поток декодированных ИКМ аудиосемплов, а также выполнять его постобработку (например, авторегулировку громкости аудиоконтента) с помощью метаданных состояния обработки громкости (и, как правило, также других метаданных), полученных с семплами, или управляющих битов (определенными декодером по метаданным обработки состояния громкости и, как правило, также по другим метаданным), полученных с семплами. Блок постобработки, как правило, также выполнен с возможностью воспроизводить постобработанный аудиоконтент для проигрывания с помощью одной или нескольких акустических колонок.
Типовые варианты осуществления настоящего изобретения обеспечивают улучшенный тракт обработки аудиоданных, в котором блоки обработки звукового сигнала (например, кодеры, декодеры, транскодеры, и блоки предварительной обработки и постобработки) согласовывают свою соответствующую обработку для применения к аудиоданным в соответствии с текущими состоянием медиаданных, индицированных метаданными состояния обработки громкости, полученных соответственно блоками обработки звукового сигнала.
Входные аудиоданные любого блока обработки звукового сигнала системы, приведенной на фиг. 1 (например, кодера или транскодера, приведенные на фиг. 1), могут включать метаданные состояния обработки громкости (и в некоторых случаях также другие метаданные), а также аудиоданные (например, кодированные аудиоданные). Эти метаданные могут быть включены во входные аудиоданные другим элементом системы, приведенной на фиг. 1 (или другим источником, не показанным на фиг. 1), в соответствии с вариантом осуществления настоящего изобретения. Блок обработки, который получает входные аудиоданные (с метаданными), может быть выполнен с возможностью осуществления по меньшей мере одной операции с метаданными (например, проверки правильности) или в ответ на метаданные (например, адаптивной обработки входных аудиоданных) и, как правило, также с возможностью включения метаданных в выходные аудиоданные, обработанный вариант метаданных или управляющие биты, определенные из метаданных.
Типовой вариант осуществления изобретения блока обработки звукового сигнала (или аудиопроцессор) выполнен с возможностью осуществления адаптивной обработки аудиоданных на основе состояния аудиоданных, указанном метаданными состояния обработки громкости, соответствующими аудиоданным. В некоторых вариантах осуществления изобретения адаптивная обработка является (или включает) обработкой громкости (если метаданные указывают, что обработка громкости или подобная ей обработка еще не была выполнена с аудиоданными, но не является (и не включает) обработкой громкости (если метаданные указывают, что такая обработка громкости или подобная ей обработка уже была выполнена c аудиоданными). В некоторых вариантах осуществления изобретения адаптивная обработка является или включает проверку правильности метаданных (например, выполняемую в подблоке проверки правильности метаданных) для обеспечения выполнения блоком обработки звукового сигнала другой адаптивной обработки аудиоданных на основе состояния аудиоданных, указанном метаданными состояния обработки громкости. В некоторых вариантах осуществления изобретения проверка правильности определяет достоверность метаданных состояния обработки громкости, связанных с аудиоданными (например, включенными в битовый поток). Например, если подтверждена достоверность метаданных, то результаты ранее выполненной обработки аудиоданных могут быть повторно использованы, а выполнения новой обработки аудиоданных такого же типа можно избежать. С другой стороны, если установлено, что метаданные были изменены (или по иным причинам являются недостоверными), то предполагаемый ранее выполненный тип медийной обработки (как указано недостоверными метаданными) может быть повторен блоком обработки звукового сигнала и/или другая обработка метаданных и/или аудиоданных может быть выполнена с помощью блока обработки звукового сигнала. Блок обработки звукового сигнала может также быть выполнен с возможностью сообщать другим блокам обработки звукового сигнала, расположенным далее в усовершенствованном тракте медийной обработки, что метаданные обработки состояния громкости (например, присутствующие в битовом потоке медиаданных) являются действительными, если блок определяет, что метаданные состояния обработки действительны (например, на основании совпадения извлеченного значения и контрольного значения при криптографической проверке).
На фиг. 2 приведена блок-схема кодера (100), который является вариантом осуществления блока обработки звукового сигнала согласно изобретению. Любой из компонентов или элементов кодера 100 может быть воплощен в виде одного или нескольких процессов и/или одной или нескольких схем (например, специализированных интегральных схем, ППВМ (программируемая пользователем вентильная матрица) или других интегральных схем), аппаратных средств, программного обеспечения или комбинации аппаратных средств и программного обеспечения. Кодер 100 содержит буфер 110 фрейма, синтаксический анализатор 111, декодер 101, валидатор 102 состояния аудиоданных, звено 103 обработки громкости, звено 104 выбора аудиопотока, кодер 105, звено 107 формирователя скорости передачи данных/форматера, звено 106 формирования метаданных, подсистему 108 измерения громкости диалога и буфер 109 фрейма, соединенные, как показано на схеме. Также, как правило, кодер 100 содержит другие элементы обработки (не показаны).
Кодер 100 (который является транскодером) выполнен с возможностью преобразования входного битового аудиопотока (который, например, может быть битовым потоком формата АС-3, или битовым потоком формата E-AC-3, или битовым потоком формата Dolby E) в кодированный выходной битовый аудиопоток (который, например, может быть другим битовым потоком формата АС-3, или битовым потоком формата E-AC-3, или битовым потоком формата Dolby E) в том числе путем выполнения адаптивной и автоматизированной обработки громкости с использованием метаданных состояния обработки громкости, включенных во входной битовый поток. Например, кодер 100 может быть выполнен с возможностью преобразования входного битового потока в формате Dolby E (формат, как правило, используются в производственной и вещательной аппаратуре, но не в бытовых устройствах, которые получают аудиопрограммы, переданные им) в кодированный выходной битовый аудиопоток (подходящий для трансляции бытовыми устройствами) в формате AC-3 или E-AC-3.
Система, приведенная на фиг. 2, также включает подсистему 150 передачи кодированных аудиоданных (которая хранит и/или передает кодированные битовые потоки, выходящие из кодера 100) и декодер 152. Кодированный битовый аудиопоток, выходящий из кодера 100, может быть сохранен подсистемой 150 (например, на DVD или Blu-Ray диске) или передан подсистемой 150 (которая может осуществить канал передачи или сеть), или может быть и сохранен, и передан подсистемой 150. Декодер 152 выполнен с возможностью декодировать кодированный битовый аудиопоток (сформированный кодером 100), который он получает посредством подсистемы 150, в том числе путем извлечения метаданных состояния обработки громкости (LPSM) из каждого фрейма битового потока (и факультативно также путем извлечения метаданных границы программы из битового потока) и формирования декодированных аудиоданных. Как правило, декодер 152 выполнен с возможностью осуществления адаптивной обработки громкости декодированных аудиоданных с использованием LPSM (и в некоторых случаях также метаданных границы программы) и/или передачи декодированных аудиоданных и LPSM в постпроцессор, выполненный с возможностью осуществления адаптивной обработки громкости декодированных аудиоданных с использованием LPSM (и, в некоторых случаях, метаданных границы программы). Как правило, декодер 152 включает буфер, который хранит (например, неизменяемым способом) кодированный битовый аудиопоток, полученный от подсистемы 150.
Различные воплощения кодера 100 и декодера 152 выполнены с возможностью выполнения различных вариантов осуществления способа согласно изобретению.
Буфер 110 фрейма является буферным запоминающим устройством, подключенным для получения кодированного входного битового аудиопотока. В процессе работы буфер 110 хранит (например, неизменяемым способом) по меньшей мере один фрейм кодированного битового аудиопотока и последовательность фреймов кодированного битового аудиопотока передается из буфера 110 в синтаксический анализатор 111.
Синтаксический анализатор 111 соединен и выполнен с возможностью извлечения метаданных состояния обработки громкости (LPSM) и, факультативно, метаданных границы программы (и/или других метаданных) из каждого фрейма кодированных входных аудиоданных, в которые включены такие метаданные, для передачи, по меньшей мере, LPSM (и в некоторых случаях также метаданных границы программы и/или других метаданных) в валидатор 102 состояния аудиоданных, звено 103 обработки громкости, звено 106 и подсистему 108, извлечения аудиоданных из кодированных входных аудиоданных и передачи аудиоданных в декодер 101. Декодер 101 кодера 100 выполнен с возможностью декодирования аудиоданных для формирования декодированных аудиоданных и передачи декодированных аудиоданных в звено 103 обработки громкости, звено 104 выбора аудиопотока, подсистему 108, а также, как правило, валидатор 102 состояния.
Валидатор 102 состояния выполнен с возможностью проверки подлинности и проверки правильности LPSM (и в некоторых случаях других метаданных), переданных ему. В некоторых вариантах осуществления изобретения LPSM являются (или включены в) блоком данных, включенным во входной битовый поток (например, в соответствии с вариантом осуществления настоящего изобретения). Блок может содержать криптографический хэш (алгоритм проверки подлинности при помощи криптографических хэш-функций, объединенных с шифрованием с закрытым ключом, или «HMAC») для обработки LPSM (и в некоторых случаях также и других метаданных) и/или основных аудиоданных (предоставленных декодером 101 валидатору 102). Блок данных может иметь цифровую подпись в этих вариантах осуществления изобретения, таким образом, следующий в тракте блок обработки звукового сигнала может относительно легко проверить подлинность и подтвердить правильность метаданных состояния обработки.
Например, HMAC используется для формирования дайджеста, а защитное значение(я), включенное в битовый поток согласно изобретению, может включать дайджест. Дайджест может быть получен для AC-3 фрейма следующим образом:
1. После того как AC-3 данные и LPSM кодированы, байты данных фрейма (связанные последовательно frame_data #1 и frame_data #2) и байты данных LPSM используются в качестве входных данных для хэш-функции HMAC. Другие данные, которые могут присутствовать внутри поля вспомогательных данных, не будут приняты во внимание при расчете дайджеста. Такие другие данные могут быть байтами, не принадлежащими ни к данным AC-3, ни к данным LSPSM. Биты защиты, включенные в LPSM, не могут быть учтены при расчете HMAC дайджеста.
2. После расчета дайджеста его записывают в битовый поток в зарезервированное для битов защиты поле.
3. Последним шагом формирования полного AC-3 фрейма является расчет контрольной суммы CRC. Она записывается в самом конце фрейма, и учитываются все данные, принадлежащие этому фрейму, включая биты LPSM.
Другие криптографические методы, включая какой-либо один или несколько не HMAC криптографических методов, но не ограничиваясь ими, могут быть использованы для проверки правильности LPSM (например, в валидаторе 102) с целью обеспечения безопасной передачи и приема LPSM и/или основных аудиоданных. Например, проверка правильности (с использованием такого криптографического метода) может быть выполнена в каждом блоке обработки звукового сигнала, который принимает вариант осуществления битового аудиопотока согласно изобретению, чтобы определить, включены ли метаданные состояния обработки громкости и соответствующие аудиоданные в битовый поток, прошедший (и/или возникший в результате) специальную обработку громкости (как указано в метаданных) и немодифицированный после выполнения такой специальной обработки громкости.
Валидатор 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) выполнены с возможностью включения (или выполнения функций) такого инструмента для измерения средней громкости диалога аудиоконтента битового аудиопотока (например, декодированного битового потока формата AC- 3, переданного звену 108 от декодера 101 кодера 100).
Если звено 108 выполнено с возможностью измерения истинного среднего значения громкости диалога аудиоданных, то измерение может включать этап выделения сегментов аудиоконтента, преимущественно содержащих речь. Затем аудиосегменты, которые в основном являются речью, обрабатываются в соответствии с алгоритмом измерения громкости. Для декодированных аудиоданных битового потока формата AC-3 таким алгоритмом может быть стандартное измерение громкости, взвешенной по K (в соответствии с международным стандартом ITU-R BS.1770). В качестве альтернативы могут быть использованы другие показатели громкости (например те, которые основаны на психоакустических моделях громкости).
Выделение речевых сегментов не является существенным для измерения средней громкости диалога аудиоданных. Тем не менее оно улучшает точность измерения и обычно обеспечивает в большей степени удовлетворяющие требованиям результаты с точки зрения слушателя. Так как не весь аудиоконтент содержит диалог (речь), показатель громкости всего аудиоконтента может обеспечить достаточно точное приближение уровня диалога звукозаписи, как если бы присутствовала только речь.
Формирователь метаданных 106 формирует (и/или передает звену 107) метаданные, которые будут включены звеном 107 в кодированный битовый поток и выведены кодером 100. Формирователь 106 метаданных может передавать звену 107 LPSM (и в некоторых случаях также метаданные границы программы и/или другие метаданные), извлеченные кодером 101 и/или синтаксическим анализатором 111 (например, когда управляющие биты валидатора 102 показывают, что LPSM и/или другие метаданные действительны), или формировать новые LPSM (и в некоторых случаях также метаданные границы программы и/или другие метаданные) и передавать новые метаданные звену 107 (например, когда управляющие биты валидатора 102 показывают, что LPSM и/или другие метаданные, извлеченные декодером 101, являются недействительными, или он может передавать звену 107 комбинацию метаданных, извлеченных декодером 101 и/или синтаксическим анализатором 111, и вновь сформированных метаданных. Формирователь 106 метаданных может включать данные громкости, сформированные подсистемой 108, а также по меньшей мере одно значение, указывающие тип обработки громкости, выполненной подсистемой 108, в LPSM и передавать звену 107 для включения в кодированный битовый поток, выводящийся кодером 100.
Формирователь 106 метаданных может формировать защитные биты (которые могут состоять из или включать в себя код проверки подлинности при помощи криптографических хеш-функций, объединенных с шифрованием с закрытым ключом, или «HMAC»), применимые по меньшей мере для одной из следующих операций: декодирования, проверки подлинности или проверки достоверности LPSM (и в некоторых случаях также других метаданных) с включением их в кодированный битовый поток и/или включения основных аудиоданных в кодированный битовый поток. Формирователь 106 метаданных может предоставить такие защитные биты звену 107 для включения в кодированный битовый поток.
В номинальном режиме работы подсистема 108 измерения громкости диалога обрабатывает аудиоданные, выводимые из декодера 101, для формирования в результате значений громкости (например, значений стробированной и нестробированной громкости диалога) и значений динамического диапазона. Благодаря этим значениям формирователь 106 метаданных может формировать метаданные состояния обработки громкости (LPSM) для включения (с помощью формирователя скорости передачи данных/форматера 107) в кодированный битовый поток, который выводится кодером 100.
Кроме того, в некоторых случаях или в качестве альтернативы подсистемы 106 и/или 108 кодера 100 могут выполнять дополнительный анализ аудиоданных для формирования метаданных, указывающих по меньшей мере одну характеристику аудиоданных для включения в кодированный битовый поток, который выводится звеном 107.
Кодер 105 кодирует (например, путем выполнения сжатия) выходные аудиоданные звена 104 выбора и передает кодированные аудиоданные звену 107 для включения в кодированный битовый поток, который выводится звеном 107.
Звено 107 мультиплексирует кодированные аудиоданные из кодера 105 и метаданные (включая LPSM) из формирователя 106 для формирования кодированного битового потока, который выводится звеном 107, предпочтительно, чтобы кодированный битовый поток имел формат, указанный в предпочтительном варианте осуществления настоящего изобретения.
Буфер 109 фрейма представляет собой буферное запоминающее устройство, которое хранит (например, неизменяемым способом) по меньшей мере один фрейм кодированного битового аудиопотока, выводимого звеном 107, а последовательность фреймов кодированного битового аудиопотока затем передается из буфера 109, который является выходом кодера 100, в систему 150 передачи.
LPSM, сформированные формирователем 106 метаданных и включенные в кодированный битовый поток звеном 107, показывают состояние обработки громкости соответствующих аудиоданных (например, какой тип(ы) обработки громкости был выполнен с аудиоданными) и громкость (например, измеренную громкость диалога, стробированную и/или нестробированную громкость и/или динамический диапазон) соответствующих аудиоданных.
В настоящем описании «стробирование» громкости и/или измерение уровня сигнала, выполненное с аудиоданными, относится к специальному уровню или порогу громкости, причем вычисленное значение(я), которое превышает пороговое значение, включают в конечное измерение (например, пренебрегают значениями кратковременной громкости ниже -60 dBFS в конечных измеренных значениях). Стробирование по абсолютной величине приводит к фиксированному уровню или громкости, с учетом этого стробирование по относительному значению приводит к значению, которое зависит от текущего «нестробированного» измеренного значения.
В некоторых воплощениях кодера 100 кодированный битовый поток, который накапливается в запоминающем устройстве 109 (и выводится в систему 150 передачи), является битовым потоком формата AC-3 или битовым потоком формата E-AC-3 и включает сегменты аудиоданных (например, сегменты фрейма AB0-AB5, показанные на фиг. 4) и сегменты метаданных, причем сегменты аудиоданных отображают аудиоданные, а каждый из по меньшей мере некоторых сегментов метаданных включает метаданные состояния обработки громкости (LPSM). Звено 107 вставляет LPSM (и в некоторых случаях также метаданные границы программы) в битовый поток в следующем формате. Каждый из сегментов метаданных, который включает LPSM (и в некоторых случаях также метаданные границы программы), входит в сегмент лишних битов битового потока (например, сегмент «W» лишних битов, как показано на фиг. 4 или фиг. 7), или в поле «addbsi» информационного сегмента битового потока («BSI») фрейма битового потока, или в поле вспомогательных данных (например, сегмент AUX, показанный на фиг. 4 или фиг. 7) в конце фрейма битового потока. Фрейм битового потока может включать один или два сегмента метаданных, каждый из которых включает LPSM, и если фрейм включает два сегмента метаданных, то один может присутствовать в поле фрейма addbsi, а другой в поле фрейма AUX. В некоторых вариантах осуществления изобретения каждый сегмент метаданных, содержащий LPSM, включает сегмент информационного наполнения (или контейнера) LPSM, имеющий следующий формат:
заголовок (как правило, включающий синхрослово, идентифицирующее начало информационного наполнения LPSM, за которым следует по меньшей мере одно идентифицирующее значение, например, версия формата LPSM, длина, период, число, ассоциативные значения вложенного потока данных, указанные ниже в таблице 2); и
после заголовка
по меньшей мере одно индицирующее значение диалога (например, параметр «Канал(ы) диалога», приведенный в таблице 2), указывающее, имеют ли соответствующие аудиоданные признак диалога или не имеют признака диалога (например, какие каналы соответствующих аудиоданных имеют признак диалога);
по меньшей мере одно значение нормативных требований по громкости (например, параметр «Тип регулирования громкости», приведенный в таблице 2), указывающее, соответствуют ли соответствующие аудиоданные указанному пакету нормативных требований по громкости;
по меньшей мере одно значение обработки громкости (например, один или несколько параметров: «Флаг коррекции стробированной громкости диалога», «Тип коррекции громкости», приведенные в таблице 2), указывающее по меньшей мере один тип обработки громкости, который был выполнен с соответствующими аудиоданными; и
по меньшей мере одно значение громкости (например, один или несколько параметров: «Относительная стробированная громкость ITU» «Стробированная громкость речи ITU», «Кратковременная громкость (3 секундный временной интервал) ITU (EBU 3341)» и «Истинное пиковое значение», приведенные в таблице 2), указывающее по меньшей мере одну характеристику громкости соответствующих аудиоданных (например, пиковую или среднюю громкость).
В некоторых вариантах осуществления изобретения каждый сегмент метаданных, который содержит LPSM и метаданные границы программы, содержит заголовок фрейма (и в некоторых случаях также дополнительные основные элементы), а после заголовка фрейма (или заголовка фрейма и других основных элементов) сегмент информационного наполнения (или контейнера) LPSM, имеющий следующий формат:
заголовок, как правило, включающий по меньшей мере одно идентифицирующее значение (например, версию формата LPSM, длину, период, число, ассоциативные значения вложенного потока данных, указанные в таблице 2, приведенной в настоящем описании), и
после заголовка - LPSM и метаданные границы программы. Метаданные границы программы могут включать число фреймов до границы программы, значение кода (например, значение «offset_exist»), указывающее, содержит ли фрейм только число фреймов до границы программы или и число фреймов до границы программы, и значение смещения) и (в некоторых случаях) значение смещения.
В некоторых воплощениях каждый сегмент метаданных, внесенный звеном 107 в сегмент лишних битов, или поле «addbsi», или поле вспомогательных данных фрейма битового потока, имеет следующий формат:
заголовок фрейма (как правило, включающий синхрослово, указывающее начало сегмента метаданных, за которым следует идентификационное значение, например, версия основного элемента, длина и период, число расширенных элементов и ассоциативные значения вложенного потока данных, указанные ниже в таблице 1); и
после заголовка фрейма по меньшей мере одно защитное значение (например, HMAC дайджест и значения цифрового отпечатка аудиоданных, приведенные в таблице 1), подходящее по меньшей мере для одной из операций: декодирования, проверки подлинности или проверки правильности по меньшей мере одного из: метаданных состояния обработки громкости или соответствующих аудиоданных); и
также после заголовка фрейма, если сегмент метаданных включает LPSM, идентификатор информационного наполнения LPSM и значения размера информационного наполнения LPSM, которые идентифицируют следующие за ними метаданные как информационное наполнение LPSM и указывают размер информационного наполнения LPSM.
Сегмент информационного наполнения (или контейнера) LPSM (преимущественно имеющий формат, указанный выше) следует за идентификатором информационного наполнения LPSM и значениями размера информационного наполнения LPSM.
В некоторых вариантах осуществления изобретения каждый сегмент метаданных в поле вспомогательных данных (или в поле «addbsi») фрейма имеет три уровня структуры:
структура высокого уровня, включающая флаг, указывающий, включает ли поле вспомогательных данных (или поле addbsi) метаданные, по меньшей мере одно идентифицирующее значение, указывающее какой тип(ы) метаданных присутствует, и, как правило, также значение, указывающее, сколько бит метаданных (например, каждого типа) присутствуют (если метаданные присутствуют). Одним типом метаданных, которые могут присутствовать, являются LSPM, другим типом метаданных, которые могут присутствовать, являются метаданные границы программы, еще одним типом метаданных, которые могут присутствовать, являются метаданные медиа-исследований (например, метаданные Nielsen Media Research);
структура среднего уровня, включающая основной элемент для каждого идентифицированного типа метаданных (например, заголовок фрейма, защитные значения, идентификатор информационного наполнения LPSM и значения размера информационного наполнения LPSM, как упоминалось выше, для каждого идентифицированного типа метаданных); и
структура низкого уровня, включающая любое информационное наполнение для одного основного элемента (например, информационное наполнение LPSM, если основным элементом определено его присутствие и/или информационное наполнение метаданных другого типа, если основным элементом определено его присутствие).
Значения данных в такой трехуровневой структуре могут быть вложенными. Например, защитное значение(я) для информационного наполнения LPSM и/или другого информационного наполнения метаданных, идентифицированного основным элементом, может быть включено после каждого информационного наполнения, идентифицированного основным элементом (и, таким образом, после заголовка фрейма основного элемента). В одном примере заголовок фрейма может идентифицировать информационное наполнение LPSM и другое информационное наполнение метаданных, идентификатор информационного наполнения и значения размера информационного наполнения для первого информационного наполнения (например, информационного наполнения LPSM) может следовать за заголовком фрейма, само первое информационное наполнение может следовать за идентификатором и значением размера, идентификатор информационного наполнения и значение размера информационного наполнения для второго информационного наполнения может следовать за первым, само второе информационное наполнение может следовать за этими идентификатором и значением размера, а защитные биты для обоих информационных наполнений (или для значений основного элемента и обоих информационных наполнений) могут следовать за последним информационным наполнением.
В некоторых вариантах осуществления изобретения, если декодер 101 получает битовый аудиопоток, сформированный в соответствии с вариантом осуществления изобретения с криптографическим хэшем, то декодер выполняется с возможностью синтаксического анализа и извлечения криптографического хэша из блока данных, определенного битовым потоком, указанный блок содержит метаданные состояния обработки громкости (LPSM) и в некоторых случаях также метаданные границы программы. Валидатор 102 может использовать криптографический хэш для проверки принятого битового потока и/или связанных с ними метаданных. Например, если валидатор 102 устанавливает действительность LPSM на основе совпадения эталонного криптографического хэша и криптографического хэша, извлеченного из блока данных, то он может отключить обработку процессором 103 соответствующих аудиоданных и инициировать передачу (без изменений) аудиоданных звеном 104 выбора. Кроме того в некоторых случаях или в качестве альтернативы вместо метода, основанного на криптографическом хэше, могут быть использованы другие типы криптографических методов.
Кодер 100, приведенный на фиг. 2, может определить (благодаря LPSM и в некоторых случаях также метаданным границы программы, извлеченным с помощью декодера 101), что блок постобработки/предварительной обработки выполнил тип обработки громкости аудиоданных, которые будут закодированы (элементами 105, 106, и 107) и, следовательно, можно создавать (в формирователе 106) метаданные состояния обработки громкости, которые включают специальные параметры, используемые в и/или полученные от проведенной ранее обработки громкости. В некоторых воплощениях кодер 100 может создать (и включать в выходной кодированный битовый поток) метаданные состояния обработки, указывающие последовательность событий обработки аудиоконтента пока кодер распознает типы обработки, которые были проведены с аудиоконтентом.
На фиг. 3 приведена структурная схема декодера (200), который является вариантом осуществления блока обработки звукового сигнала согласно изобретению, и постпроцессора (300), соединенного с ним. Постпроцессор (300) также являются вариантом осуществления блока обработки звукового сигнала согласно изобретению. Любой из компонентов или элементов декодера 200 и постпроцессора 300 может быть воплощен как один или несколько процессов и/или одна или несколько схем (например, специализированные интегральные схемы, программируемые пользователем вентильные матрицы или другие интегральные схемы) в аппаратных средствах, программном обеспечении или комбинации аппаратных средств и программного обеспечения. Декодер 200 содержит буфер 201 фрейма, синтаксический анализатор 205, аудиодекодер 202, звено 203 проверки состояния аудиоданных (валидатор) и звено 204 формирования управляющих битов, соединенные, как показано на схеме. Также обычно декодер 200 включает другие элементы обработки (не показаны).
Буфер 201 фрейма (буферное запоминающее устройство) хранит (например, неизменяемым способом) по меньшей мере один фрейм кодированного битового аудиопотока полученного декодером 200. Последовательность фреймов кодированного битового аудиопотока передается из буфера 201 в синтаксический анализатор 205.
Синтаксический анализатор 205 соединен и выполнен с возможностью извлечения метаданных состояния обработки громкости (LPSM), в некоторых случаях также метаданных границы программы и других метаданных из каждого фрейма кодированного входного аудиосигнала, с возможностью передачи по меньшей мере LPSM (и метаданных границы программы, если они извлечены) валидатору 203 состояния аудиоданных и звену 204, с возможностью передачи LPSM (и в некоторых случаях также метаданных границы программы) как выходных данных (например, постпроцессору 300), с возможностью извлечения аудиоданных из кодированного входного аудиосигнала и передачи извлеченных аудиоданных в декодер 202.
Кодированный битовый аудиопоток, входящий в декодер 200, может быть или битовым потоком формата АС-3, или битовым потоком формата E-AC-3, или битовым потоком формата Dolby E.
Система, приведенная на фиг. 3 также включает постпроцессор 300. Постпроцессор 300 содержит буфер 301 фрейма и другие элементы обработки (не показаны), включающие по меньшей мере один элемент обработки, соединенный с буфером 301. Буфер 301 фрейма хранит (например, неизменяемым способом) по меньшей мере один фрейм декодированного битового аудиопотока, полученного постпроцессором 300 от декодера 200. Элементы обработки постпроцессора 300 соединены и выполнены с возможностью приема и адаптивной обработки последовательности фреймов выходного декодированного битового аудиопотока буфера 301 за счет использования метаданных (в том числе значений LPSM), выводимых из декодера 202, и/или управляющих битов, выводимых из звена 204 декодера 200. Как правило, постпроцессор 300 выполнен с возможностью осуществления адаптивной обработки громкости декодируемых аудиоданных за счет использования значений LPSM и в некоторых случаях также метаданных границы программы (например, на основе состояния обработки громкости и/или одной или нескольких характеристик аудиоданных, указанных LPSM для аудиоданных, индицирующих одну аудиопрограмму).
Различные воплощения декодера 200 и постпроцессора 300 выполнены с возможностью выполнения различных вариантов осуществления способа согласно изобретению.
Аудиодекодер 202 декодера 200 выполнен с возможностью декодирования аудиоданных, извлеченных с помощью синтаксического анализатора 205 для формирования декодированных аудиоданных, и передачи декодированных аудиоданных как выходных данных (например, постпроцессору 300).
Валидатор 203 состояния выполнен с возможностью проверки подлинности и проверки правильности LPSM (и в некоторых случаях других метаданных), переданных ему. В некоторых вариантах осуществления изобретения LPSM являются (или включены в) блоком данных, который был включен во входной битовый поток (например, в соответствии с вариантом осуществления настоящего изобретения). Блок может содержать криптографический хэш (код проверки подлинности при помощи криптографических хеш-функций, объединенных с шифрованием с закрытым ключом, или «HMAC») для обработки LPSM (и в некоторых случаях также и других метаданных) и/или основных аудиоданных (предоставленных синтаксическим анализатором 205 и/или декодером 202 валидатору 203). В этих вариантах осуществления изобретения блок данных может иметь цифровую подпись, таким образом, следующий в тракте блок обработки звукового сигнала может относительно легко определить достоверность и подтвердить правильность метаданных состояния обработки.
Другие криптографические методы, включая, но не ограничиваясь каким-либо одним или несколькими криптографическими методами без HMAC, могут быть использованы для проверки правильности LPSM (например, в валидаторе 203) при обеспечении безопасной передачи и приема LPSM и/или основных аудиоданных. Например, проверка правильности (с использованием такого криптографического метода) может быть выполнена в каждом блоке обработки звукового сигнала, который принимает вариант осуществления битового аудиопотока согласно изобретению для определения, проходили ли метаданные состояния обработки громкости и соответствующие аудиоданные, включенные в битовый поток (и/или возникли вследствие), специальную обработку громкости (как указано метаданными) и не были ли модифицированы после выполнения такой специальной обработки громкости.
Валидатор 203 состояния передает данные управления формирователю 204 управляющих битов и/или передает данные управления как выходные (например, в постпроцессор 300) с целью указания результатов операции проверки правильности. В ответ на данные управления (и в некоторых случаях также другие метаданные, извлеченные из входного битового потока) звено 204 может формировать (и передавать в постпроцессор 300) либо:
управляющие биты, указывающие, что декодированные аудиоданные, выводимые из декодера 202, прошли специальный тип обработки громкости (когда LPSM показывают, что аудиоданные, выведенные из декодера 202, прошли специальный тип обработки громкости, а управляющие биты валидатора 203 указывают, что LPSM действительны); или
управляющие биты, указывающие, что декодированные аудиоданные из декодера 202 должны пройти специальный тип обработки громкости (например, когда LPSM указывают, что аудиоданные, выводимые из декодера 202, не проходили специального типа обработки громкости, или когда LPSM указывают, что аудиоданные, выводимые из декодера 202, прошли специальный тип обработки громкости, но управляющие биты валидатора 203 показывают, что LPSM недействительны).
В качестве альтернативы декодер 200 передает метаданные, извлеченные декодером 202 из входного битового потока и LPSM (и в некоторых случаях также метаданные границы программы), извлеченные синтаксическим анализатором 205 из входного битового потока, постпроцессору 300, а постпроцессор 300 выполняет обработку громкости декодированных аудиоданных за счет использования LPSM (и в некоторых случаях также метаданных границы программы) или выполняет проверку правильности LPSM, а затем выполняет обработку громкости декодированных аудиоданных за счет использования LPSM (и в некоторых случаях также метаданных границы программы), если проверка правильности показывает, что LPSM являются действительными.
В некоторых вариантах осуществления изобретения, если декодер 200 получает битовый аудиопоток, сформированный в соответствии с одним из вариантов осуществления изобретения с криптографическим хэшем, то декодер выполняется с возможностью анализировать и извлекать криптографический хэш из блока данных, определенных из битового потока, причем указанный блок содержит метаданные состояния обработки громкости (LPSM). Валидатор 203 может использовать криптографический хэш для проверки правильности принятого битового потока и/или связанных с ними метаданных. Например, если валидатор 203 обнаруживает на основании совпадения эталонного криптографического хэша и криптографического хэша, извлеченного из блока данных, что LPSM могут считаться действительными, то это может сигнализировать следующему в тракте блоку обработки звукового сигнала (например, постпроцессору 300, который может являться или включать блок авторегулировки громкости) передавать (не измененные) аудиоданные битового потока. Кроме того, в некоторых случаях или в качестве альтернативы другие типы криптографических методов могут быть использованы вместо метода, основанного на криптографическом хэше.
В некоторых воплощениях декодера 200 кодированный битовый поток, полученный (и накопленный в запоминающем устройстве 201), является битовым потоком формата AC-3 или битовым потоком формата E-AC-3 и включает сегменты аудиоданных (например, сегменты AB0-AB5 фрейма, показанные на фиг. 4) и сегменты метаданных, причем сегменты аудиоданных являются признаком аудиоданных, а каждый из по меньшей мере некоторых сегментов метаданных включает метаданные состояния обработки громкости (LPSM) и в некоторых случаях также метаданные границы программы. Звено 202 декодера (и/или синтаксического анализатора 205) выполнено с возможностью извлечения из битового потока LPSM (и в некоторых случаях также метаданных границы программы), имеющих следующий формат. Каждый из сегментов метаданных, который включает LPSM (и в некоторых случаях также метаданные границы программы), входит в сегмент лишних битов фрейма битового потока, или в поле «addbsi» информационного сегмента битового потока («BSI») фрейма битового потока, или в поле вспомогательных данных (например, в сегмент AUX, показанный на фиг. 4) в конце фрейма битового потока. Фрейм битового потока может включать один или два сегмента метаданных, каждый из которых может включать LPSM, если фрейм включает два сегмента метаданных, то один может присутствовать в поле addbsi фрейма, а другой в поле AUX фрейма. В некоторых вариантах осуществления изобретения каждый сегмент метаданных, включающий LPSM, включает сегмент информационного наполнения (или контейнера) LPSM, имеющий следующий формат:
заголовок (как правило, включающий синхрослово, определяющее начало информационного наполнения LPSM, а затем идентификационные значения, например, версию формата LPSM, длину, период, число, ассоциативные значения вложенного потока данных, указанные ниже в таблице 2); и
после заголовка
по меньшей мере одно индицирующее диалог значение (например, параметр «Канал(ы) диалога», приведенный в таблице 2), указывающее, имеют или не имеют признак диалога соответствующие аудиоданные (например, какие каналы соответствующих аудиоданных имеют признак диалога);
по меньшей мере одно значение соблюдения нормативных требований по громкости, (например, параметр «Тип регулирования громкости», приведенный в таблице 2), указывающее соответствуют ли соответствующие аудиоданные указанному пакету нормативных требований по громкости;
по меньшей мере одно значение обработки громкости (например, один или несколько параметров «Флаг коррекции стробированной громкости диалога», «Тип коррекции громкости», приведенные в таблице 2), указывающее по меньшей мере один тип обработки громкости, который был выполнен с соответствующими аудиоданными; и
по меньшей мере одно значение громкости (например, один или несколько параметров «Относительная стробированная громкость ITU» «Стробированная громкость речи ITU», «Кратковременная громкость (3-секундный временной интервал) ITU (EBU 3341)» и «Истинное пиковое значение», приведенные в таблице 2), указывающее по меньшей мере одну характеристику громкости (например, пиковую или среднюю громкость) соответствующих аудиоданных.
В некоторых вариантах осуществления изобретения каждый сегмент, который содержит метаданные LPSM и метаданные границы программы, содержит заголовок фрейма (и в некоторых случаях также дополнительные основные элементы), а после заголовка фрейма (или заголовка фрейма и других основных элементов) сегмент информационного наполнения (или контейнера) LPSM, который имеет следующий формат:
заголовка, как правило, включающий по меньшей мере одно идентификационное значение (например, версию формата LPSM, длину, период, число, ассоциативные значения вложенного потока данных, указанные ниже в таблице 2), и
после заголовка - LPSM и метаданные границы программы. Метаданные границы программы могут включать число фреймов до границы программы и значение кода (например, значение «offset_exist»), которое указывает, содержит ли фрейм только число фреймов до границы программы или и число фреймов до границы программы, и значение смещения), и (в некоторых случаях) значение смещения.
В некоторых воплощениях анализатор 205 (и/или звено 202 декодера) выполнен с возможностью извлечения из сегмента лишних битов, или поля «addbsi», или поля вспомогательных данных фрейма битового потока, причем каждый сегмент метаданных имеет следующий формат:
заголовок фрейма (как правило, включающий синхрослово, указывающее начало сегмента метаданных, за которым следует по меньшей мере одно идентификационное значение, например, версия основного элемента, длина и период, число расширенных элементов и ассоциативные значения вложенного потока данных, указанные ниже в таблице 1); и
после заголовка фрейма по меньшей мере одно защитное значение (например, HMAC дайджест и значения цифрового отпечатка аудиоданных, приведенные в таблице 1), подходящее по меньшей мере для одной из операций: декодирования, проверки подлинности или проверки правильности по меньшей мере одного из: метаданных состояния обработки громкости или соответствующих аудиоданных); и
также после заголовка фрейма, если сегмент метаданных включает LPSM, идентификатор информационного наполнения LPSM и значения размера информационного наполнения LPSM, которые идентифицируют следующие за ними метаданные как информационное наполнение LPSM и указывают размер информационного наполнения LPSM.
Сегмент информационного наполнения (или контейнера) LPSM (преимущественно имеющий формат, указанный выше) следует за идентификатором информационного наполнения LPSM и значениями размера информационного наполнения LPSM.
В целом кодированный битовый аудиопоток, сформированный предпочтительными вариантами осуществления изобретения, имеет структуру, которая обеспечивает механизм обозначения элементов метаданных и подчиненных элементов как основных (обязательных) или расширенных (необязательных элементов). Это позволяет масштабировать в многочисленных приложениях скорость передачи данных битового потока (включающего метаданные). Основные (обязательные) элементы предпочтительного синтаксиса битового потока также должны быть способны подать сигнал о том, что расширенные (дополнительные) элементы, связанные с аудиоконтентом, присутствуют (внутри полосы) и/или находятся в удаленном месте (за пределами полосы).
Основной элемент(ы) должен присутствовать в каждом фрейме битового потока. Некоторые подчиненные элементы основных элементов являются необязательными и могут быть представлены в любой комбинации. Расширенные элементы не должны присутствовать в каждом фрейме (чтобы ограничить битрейт-нагрузку). Таким образом, расширенные элементы в некоторых фреймах могут присутствовать, а в других нет. Некоторые подчиненные элементы расширенного элемента являются необязательными и могут быть представлены в любой комбинации, при этом некоторые подчиненные элементы расширенного элемента могут быть обязательными (то есть, если расширенный элемент присутствует во фрейме битового потока).
В классе вариантов осуществления изобретения формируется (например, с помощью блока обработки звукового сигнала, который воплощает изобретение) кодированный битовый аудиопоток, содержащий последовательность сегментов аудиоданных и сегментов метаданных. Сегменты аудиоданных являются признаком аудиоданных, каждый из по меньшей мере некоторых сегментов метаданных включает метаданные состояния обработки громкости (LPSM) и в некоторых случаях также метаданные границы программы, а сегменты аудиоданных мультиплексируются с сегментами метаданных с временным разделением. В предпочтительных вариантах этого класса каждый из сегментов метаданных имеет предпочтительный формат, описываемый в настоящем описании.
В одном предпочтительном формате кодированный битовый поток является битовым потоком формата AC-3 или битовым потоком формата E-AC-3, а каждый из сегментов метаданных, который включает LPSM, входит (например, с помощью звена 107 предпочтительного воплощения кодера 100) в качестве дополнительной информации битового потока в поле «addbsi» (показанного на фиг. 6) информационного сегмента битового потока («BSI») фрейма битового потока, или в поле вспомогательных данных фрейма битового потока, или в сегмент лишних битов фрейма битового потока.
В предпочтительном формате каждый из фреймов в поле addbsi (или сегменте лишних битов) фрейма включает основной элемент, имеющий формат, приведенный ниже в таблице 1:
Таблица 1
Параметр
Описание
Обязательный / Необязательный
SYNC [ID]
Синхрослово может быть 16-битным с установленным значением 0x5838
Обязательный
Версия основного элемента
Обязательный
Длина основного элемента
Обязательный
Период основного элемента(xxx)
Обязательный
Число расширенных элементов
Показывает количество расширенных элементов метаданных, связанных с основным элементом. Это значение может увеличиваться / уменьшаться по мере прохождения битового потока от выработки до распределения и конечного распространения.
Обязательный
Связь вложенного потока данных
Описывает, с каким вложенным потоком(и) данных связан основной элемент.
Обязательный
Подпись (HMAC дайджест)
256-битный HMAC дайджест (с использованием алгоритма SHA-2), вычисленный по аудиоданным, основному элементу и всем расширенным элементам всего фрейма.
Обязательный
Отсчет в обратном порядке до границы программы
Поле присутствует только в некотором числе фреймов в голове или хвосте файла / потока аудиопрограммы. Таким образом, изменение версии основного элемента может быть использовано для сигнализации о включении этого параметра.
Необязательный
Цифровой отпечаток аудиоданных
Цифровой отпечаток аудиоданных берется по некоторому количеству ИКМ аудиосемплов, представленных полем периода основного элемента.
Необязательный
Цифровой отпечаток видеоданных
Цифровой отпечаток видеоданных берется по некоторому количеству сжатых видеосемплов (если таковые имеются), представленных полем периода основного элемента.
Необязательный
URL / UUID
Данное поле определено для содержания URL и/или UUID (может быть избыточным при цифровом отпечатке), который ссылается на внешнее размещение дополнительного содержания программы (сущности) и/или метаданных, связанных с битовым потоком.
Необязательный
В предпочтительном формате каждое из полей addbsi (или полей вспомогательных данных) или сегментов лишних битов, которые содержат LPSM, содержащие заголовок фрейма (и в некоторых случаях также дополнительные основные элементы), а после заголовка фрейма (или заголовка фрейма и других основных элементов) - следующие значения LPSM (параметры):
идентификатор информационного наполнения (определяющий метаданные как LPSM), следующий за значениями основного элемента (например, как указано в таблице 1);
размер информационного наполнения (указывающий размер информационного наполнения LPSM), следующий за идентификатором информационного наполнения; и
данные LPSM (следующие за идентификатором информационного наполнения и значением размера информационного наполнения), имеющие формат, показанный в следующей таблице (таблице 2):
Таблица 2
Параметр LPSM[Интеллектуальнаягромкость]
Описание
Количество уникальных состояний
Обязательный/ Необязательный
Коэффициент размещения (период обновления параметра)
Версия LPSM
Обязательный
LPSMпериод(XXX)
Применимо только к ХХХ полям
Обязательный
Число LPSM
Обязательный
Связанность вложенного потока LPSM
Обязательный
Канал(ы) диалога
Указывает, какая комбинация L, C & R аудиоканалов содержит речь в течение предыдущих 0,5 секунд. Когда речь не присутствует в любой L, C или R комбинации, то этот параметр указывает «нет диалога»
8
Обязательный
~ 0,5 секунды (типовой)
Типрегулированиягромкости
Указывает, что соответствующий аудиопоток данных в соответствии с определенным набором правил (например, ATSC A/85 или EBU R128)
8
Обязательный
Фрейм
Флаг коррекции стробированной громкости диалога
Указывает, был ли скорректирован связанный аудиопоток на основе стробирования диалога
2
Необязательный (присутствует только, если тип_регулирования _громкости указывает, что соответствующий звук без поправки)
Фрейм
Типкоррекциигромкости
Указывает, был ли скорректирован аудиопоток с помощью бесконечного прогнозирования (на основе файлов) или с помощью контроллера громкости и динамического диапазона, работающего в режиме реального времени
2
Необязательный (присутствует только, если тип_регулирования _громкости указывает, что соответствующие аудиоданные не скорректированы)
Фрейм
Относительная стробированная громкость ITU (INF)
Указывает интегральную громкость по ITU-R BS.1770-3 связанного аудиопотока без применения метаданных (например, 7 бит: -58 -> +5,5 LKFS с шагом 0,5 LKFS)
128
Необязательный
1 с
Стробированная громкость речи ITU (INF)
Указывает 1/3 интегральной громкости речи / диалога по ITU-R BS.1770-3 связанного аудиопотока без применения метаданных (например, 7 бит: -58 -> +5,5 LKFS с шагом 0,5 LKFS)
128
Необязательный
1 с
Кратковременная (3-секундный временной интервал) громкость по ITU (EBU 3341)
Указывает нестробированную громкость в течение 3 секунд по ITU (ITU- BS.1771- 1) связанного аудиопотока без применения метаданных(скользящее окно) @ ~ обновление измерения 10 Гц (например, 8 бит: 116 -> + 11,5 LKFS с шагом 0,5 LKFS)
256
Необязательный
0,1 с
Истинное пиковое значение
Указывает значение TruePeak (дБ TP) по ITU-R BS.1770-3, Приложение 2 связанного аудиопотока без применения метаданных (то есть, наибольшее значение за период фрейма, сообщенное в поле периода элемента) 116-> 11,5 LKFS с шагом 0,5 LKFS
256
Необязательный
0,5 с
Смещение понижающего микширования
Указывает смещение понижающего микширования громкости
Граница программы
Указывает во фреймах, когда встретится или встретилась граница программы.Когда граница программа не является границей фрейма, дополнительное смещение семплов укажет, как далеко во фрейме находится граница текущей программы
В другом предпочтительном формате кодированного битового потока, сгенерированного в соответствии с изобретением, битовый поток представляет собой битовый поток формата AC-3 или битовый поток формата E-AC-3, и каждый из сегментов метаданных, который включает LPSM (и факультативно также метаданные границы программы), включается (например, звеном 107 предпочтительного варианта осуществления кодера 100) в любое из: сегмента лишних битов фрейма битового потока; или поля «addbsi» (изображено на фиг. 6) информационного сегмента битового потока («BSI») фрейма битового потока; или поля вспомогательных данных (например, сегмента AUX, изображенного на фиг. 4) в конце фрейма битового потока. Фрейм может включать один или два сегмента метаданных, каждый из которых включает FPSM, а, если фрейм включает два сегмента метаданных, один может присутствовать в поле фрейма addbsi, а другой в поле фрейма AUX. Каждый сегмент метаданных, включающий FPSM, имеет формат, определенный выше со ссылкой на таблицы 1 и 2, приведенные выше (то есть он включает основные элементы, указанные в таблице 1, с последующим ID информационного наполнения (идентифицирующим метаданные как FPSM) и значения размера информационного наполнения, определенные выше, за которым идет информационное наполнение (данные FPSM, которые имеют формат, указанный в таблице 2).
В другом предпочтительном формате кодированный битовый поток является битовым потоком формата Dolby E, а каждый из сегментов метаданных, который включает FPSM (а в некоторых случаях метаданные границы программы), входит в окрестность первых N семплов защитного частотного интервала Dolby E. Битовый поток формата Dolby E, включающий такой сегмент метаданных, который включает FPSM, предпочтительно включает значение, указывающее длину информационного наполнения FPSM, сообщаемую в слове Pd преамбулы согласно SMPTE 337M (частота повторения слова Pa согласно SMPTE 337M предпочтительно остается идентичной связанной частоте смены видеокадров).
В предпочтительном формате, в котором кодированный битовый поток представляет собой битовый поток формата E-AC-3, каждый из сегментов метаданных, который содержит FPSM (и факультативно также метаданные границы программы), включается (например, звеном 107 предпочтительного варианта реализации кодера 100) как дополнительная информация битового потока в сегмент лишних битов, в поле  «addbsi» информационного сегмента битового потока («BSI») фрейма битового потока. Далее описывается дополнительные аспекты кодирования битового потока формата E-AC-3 с LPSM в этом предпочтительном формате:
1. Во время создания битового потока формата E-AC-3, в то время как кодер E-AC-3 (который вставляет значения LPSM в битовый поток) «активен», для каждого созданного фрейма (синхрофрейма), битовый поток должен содержать блок метаданных (включающий LPSM), расположенный в поле addbsi (или сегменте лишних битов) фрейма. Биты, которые должны нести блок метаданных, не должны увеличивать битрейт кодера (длину фрейма);
2. Каждый блок метаданных (содержащий LPSM) должен содержать следующую информацию:
флаг_типа_коррекции_громкости: где «1» означает, что громкость соответствующих аудиоданных была скорректирована до кодера, а «0» означает, что громкость была скорректирована корректором громкости, встроенным в кодер (например, процессором 103 коррекции громкости кодера 100, изображенном на фиг. 2);
речевой_канал: отображает, какой исходный канал(ы) содержит речь (за предыдущие 0,5 с). Если речь не обнаружена, то это должно быть указано как таковое;
громкость_речи: обозначает интегральную громкость речи каждого соответствующего аудиоканала, который содержит речь (за предыдущие 0,5 с);
громкость_ITU: обозначает интегрированную громкость согласно ITU BS. 1770-3 каждого соответствующего аудиоканала; и
усиление: составное усиление(я) громкости для обратного действия в декодере (для демонстрации способности к обратному действию);
3. В то время когда кодер формата E-AC-3 (который вставляет значения LPSM в битовый поток) «активен» и принимает фрейм формата AC-3 с флагом «надежности», контроллер громкости в кодере (например, процессор 103 коррекции громкости кодера 100, изображенного на фиг. 2) должен быть обойден. Значения dialnorm и DRC «надежного» источника должны быть пропущены через (например, генератором 106 кодера 100) в компонент кодера E-AC-3 (например, звено 107 кодер 100). Генерирование блоков LPSM продолжается, и флаг_типа_коррекции_громкости устанавливается в «1». Последовательность обхода контроллера громкости должна быть синхронизирована с началом декодированного фрейма формата AC-3, где появляется флаг «надежности». Последовательность обхода контроллера громкости должна осуществляться следующим образом: регулятор степени_поддержателя громкости уменьшается со значения 9 до значения 0 на протяжении 10 периодов аудиоблоков (то есть 53,3 мс), регулятор оконечного_измерителя_поддержателя_громкости помещается в обходной режим (эта операция должна привести к плавному переходу). Термин «надежный» обход регулятора уровня означает, что значения dialnorm битового потока источника также повторно используется на выходе кодера, (например, если «надежный» битовый поток источника имеет значение dialnorm, равное -30, то выход кодера должно использоваться -30 для выходного значения dialnorm);
4. В то время когда кодер формата E-AC-3 (который вставляет значения LPSM в битовый поток) «активен» и принимает фрейм формата AC-3 без флага «надежности», контроллер громкости в кодере (например, процессор 103 коррекции громкости кодера 100, изображенного на фиг. 2) должен быть активен. Генерирование блоков LPSM продолжается, и флаг_типа_коррекции_громкости устанавливается в «0». Активационная последовательность контроллера громкости должна быть синхронизирована с началом декодированного фрейма формата AC-3, где исчезает флаг «надежности». Активационная последовательность контроллера громкости должна осуществляться следующим образом: регулятор степени_поддержателя громкости увеличивается от значения 0 до значения 9 на протяжении 1 периода аудиоблоков (то есть 5,3 мс) и регулятор оконечного_измерителя_поддержателя_громкости приводится в «активный» режим (эта операция должна приводить к плавному переходу и включать интегральный сброс оконечного_измерителя); и
5. Во время кодирования, графический пользовательский интерфейс (GUI) должен отображать пользователю следующие параметры: «Входная аудиопрограмма:
[Надежная/Ненадежная]» - состояние этого параметра основано на наличии флага «надежности» во входном сигнале; и «Коррекция громкости в реальном времени: [Включена/Выключена]» - состояние этого параметра основано на том, активен ли этот контроллер громкости, встроенный в кодер. При декодировании битового потока формата AC-3 или E-AC-3, который имеет LPSM (в предпочтительном формате), включенный в сегмент лишних битов, или поле «addbsi» информационного сегмента битового потока («BSI»), каждого фрейма битового потока, декодер должен подвергать синтаксическому анализу данные блока LPSM (в сегменте лишних битов или поле addbsi) и проводить все из извлеченных значений LPSM в графический пользовательский интерфейс (GUI). Набор извлеченных значений LPSM обновляется каждый фрейм.
В другом предпочтительном формате кодированного битового потока, сгенерированного в соответствии с изобретением, кодированный битовый поток представляет собой битовый поток формата AC-3 или битовый поток формата E-AC-3, и каждый из сегментов метаданных, который включает LPSM, включается (например, звеном 107 предпочтительной реализации кодера 100) в сегмент лишних битов, или в сегмент Aux, или в качестве дополнительной информации битового потока в поле «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 A/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 и сжатия динамического диапазона. Значения от 0 до 127 интерпретируются как от -58 LKFS до +5,5 LKFS, с шагом 0,5 LKFS;
loudspchgate: однобитное поле, которое указывает существуют ли данные стробированной громкости речи (ITU). Если поле loudspchgate устанавливается в «1», 7-битное поле loudspchgat должно следовать в информационном наполнении;
loudspchgat: 7-битное поле, которое указывает стробированную громкость речи программы. Это поле указывает интегральную громкость всей соответствующей аудиопрограммы, измеренную в соответствии с формулой (2) согласно ITU-R BS. 1770-3 и без каких-либо регулировок усиления вследствие применения dialnorm и сжатия динамического диапазона. Значения от 0 до 127 интерпретируются как от - 58 до +5,5 UKFS, с шагом 0,5 UKFS;
loudstrm3se: однобитное поле, которое указывает существуют ли данные краткосрочной (3 с) громкости. Если поле установлено в «1», 7-битное поле loudstrm3s должно следовать в информационном наполнении;
loudstrm3s: 7-битное поле, которое указывает нестробированную громкость за предыдущие 3 секунды соответствующей аудиопрограммы, измеренную в соответствии с ITU-R BS. 1771-1 и без каких-либо регулировок усиления вследствие применения dialnorm и сжатия динамического диапазона. Значения от 0 до 256 интерпретируются как от -116 UKFS до +11,5 UKFS, с шагом 0,5 UKFS;
truepke: однобитное поле, которое указывает существуют ли данные громкости по истинным пикам. Если поле truepke установлено в «1», 8-битное поле truepk должно следовать в информационном наполнении; и
truepk: 8-битное поле, которое указывает выборочное значение истинного пика программы, измеренное в соответствии с Annex 2 согласно ITU-R BS. 1770-3 и без каких-либо регулировок усиления вследствие применения dialnorm и сжатия динамического диапазона. Значения от 0 до 256 интерпретируются как от -116 LKFS до +11,5 LKFS, с шагом 0,5 LKFS.
В некоторых вариантах осуществления основной элемент сегмента метаданных в сегменте лишних битов или в поле auxdata (или «addbsi») фрейма битового потока формата AC-3 или битового потока формата E-AC-3 содержит заголовок фрейма (обычно включающий идентификационные значения, например, версию основного элемента), и после заголовка фрейма: значения, указывающие включаются ли данные цифрового отпечатка (или другие защитные значения) в метаданные сегмента метаданных, значения, указывающие существуют ли внешние данные (связанные с аудиоданными, соответствующими метаданным сегмента метаданных), ID информационного наполнения и значения размера информационного наполнения для каждого типа метаданных (например, LPSM и/или метаданные типа, отличного от LPSM), идентифицированных основным элементом, и защитные значения для по меньшей мере одного типа метаданных, идентифицированных основным элементом. Информационное наполнение(я) метаданных сегмента метаданных следует за заголовком фрейма и (в некоторых случаях) вложено в значения основного элемента.
Типовые варианты осуществления настоящего изобретения включают эффективные метаданные границы программы в кодированном битовом аудиопотоке, позволяющие выполнить точное и надежное определение по меньшей мере одной границы между последовательными аудиопрограммами, индицированными битовым потоком. Типовые варианты осуществления позволяют точное и надежное определение границы программы в том смысле, что они позволяют точно определить границу программы, даже в тех случаях, когда битовые потоки, указывающие различные программы, смонтированы друг с другом (для формирования битового потока согласно изобретению) таким образом, что обрезан один или оба смонтированных битовых потока (и, таким образом, удалены метаданные границы программы, которые входили по меньшей мере в один из битовых потоков до монтажа).
В типовых вариантах осуществления метаданные границы программы во фрейме битового потока, согласно изобретения, представляют собой флаг границы программы, индицирующий число фреймов. Как правило, флаг указывает количество фреймов между текущим фреймом (фреймом, который включает в себя флаг) и границей программы (началом или концом текущей аудиопрограммы). В некоторых предпочтительных вариантах осуществления изобретения флаги границы программы расставляют симметрично, эффективным способом в начале и в конце каждого сегмента битового потока, который индицирует одну программу (т.е. во фреймах, встречающихся в течение некоторого заданного числа фреймов после начала сегмента, и во фреймах, встречающихся в течение некоторого заданного числа фреймов до конца сегмента), таким образом, когда два таких сегмента битового потока соединяются (т.е. будет присутствовать признак последовательности двух программ), метаданные границы программы могут присутствовать (например, симметрично) на обеих сторонах границы между двумя программами.
Максимальная надежность может быть достигнута за счет вставки флага границы программы в каждый фрейм битового потока, указывающего программу, но это обычно не применимо на практике вследствие соответствующего увеличения скорости данных.
В типичных вариантах осуществления флаги границы программы вставляются только во вложенный набор фреймов кодированного битового аудиопотока (который может указывать одну аудиопрограмму или последовательность аудиопрограмм), и коэффициент размещения флага границы является невозрастающей функцией в зависимости от увеличения интервала между каждым из фреймов битового потока (в котором флаг установлен) и границей программы, которая ближе к указанному фрейму, где «коэффициент размещения флага границы» является средним значением отношения количества фреймов (индицирующих программу), которые включают в себя флаги границ программы к числу фреймов (индицирующих программу), которые не включают в себя флаг границы программы, где среднее значение является скользящим средним количества (например, относительно небольшого числа) последовательных фреймов кодированного битового аудиопотока.
Увеличение коэффициента размещения флага (например, в местах в битовом потоке ближе к границе программы) увеличивает скорость данных, необходимую для доставки битового потока. Чтобы компенсировать это, размер (количество бит) каждого вставленного флага предпочтительно уменьшается при увеличении коэффициента размещения флага (например, так, что размер флага границы программы в «N»-м фрейме битового потока, где N - целое число, представляет собой невозрастающую функцию расстояния (количества фреймов) между «N»-м фреймом и ближайшей границей программы). В классе вариантов осуществления изобретения коэффициент размещения флага границы логарифмически убывает по мере увеличения интервала (от каждого места вставки флага) до ближайшей границы программы, а для каждого флагосодержащего фрейма, который включает в себя один из флагов, размер флага в указанном флагосодержащем фрейме равен или больше, чем размер каждого флага во фрейме, расположенном ближе к ближайшей границе программы, чем указанный флагосодержащий фрейм. Как правило, размер каждого флага определяется возрастающей функцией количества фреймов от места вставки флага до ближайшей границы программы.
Например, рассмотрим вариант осуществления на фиг. 8 и 9, в котором каждая колонка, обозначенная номером фрейма (в верхнем ряду), отображает фрейм кодированного битового аудиопотока. Битовый поток отображает аудиопрограмму, имеющую первую границу программы (указывающую начало программы), которая идет сразу слева от колонки, обозначенной номером фрейма «17» с левой стороны на фиг. 9, и вторую границу программы (указывающую конец программы), которая идет сразу справа от колонки, обозначенной номером фрейма «1» с правой стороны на фиг. 8. Флаги границы программы, включенные во фреймы, изображенные на фиг. 8, отсчитывают в обратном порядке количество фреймов между текущим фреймом и второй границей программы. Флаги границы программы, включенные во фреймы, изображенные на фиг. 9, отсчитывают в прямом порядке количество фреймов между текущим фреймом и первой границей программы.
N
N
N
N+2
N+2
3
N+2
4
2
2
2
2
2
2
В варианте осуществления согласно фиг. 8 и 9 флаг границы программы вставляется только в каждый из «2»-х фреймов первых X фреймов кодированного битового потока после начала аудиопрограммы, отображаемой битовым потоком, и в каждый из «2»-х фреймов (из последних X фреймов битового потока), которые являются ближайшими к концу программы, отображаемой битовым потоком, где программа содержит Y фреймов, X - целое, которое меньше или равно Y/2, и N - положительное целое в диапазоне от 1 до log(X). Таким образом (как показано на фиг. 8 и 9), флаг границы программы вставляется во второй фрейм (N = 1) битового потока (флагосодержащий фрейм, ближайший к началу программы), в четвертый фрейм (N = 2), в восьмой фрейм (N = 3), и так далее, и в восьмой фрейм от конца битового потока, в четвертый фрейм от конца битового потока, и во второй фрейм от конца битового потока (флагосодержащий фрейм, ближайший к концу программы). В этом примере флаг границы программы в «2»-м фрейме от начала (или конца) программы содержит log(2) двоичных разрядов, как отображено на фиг. 8 и 9. Таким образом, флаг границы программы во втором фрейме (N = 1) от начала (или конца) программы содержит log(2) = log(2) = 3 двоичных разрядов, и флаг в четвертом фрейме (N = 2) от начала (или конца) программы содержит log(2) = log(2) = 4 двоичных разрядов, и так далее.
z
4
В примере на фиг. 8 и 9 формат каждого флага границы программы является следующим. Каждый флаг границы программы состоит из начального «1»-ного бита, последовательности «0»-вых битов (или без «0»-го бита или с одним или несколькими последовательными «0»-ми битами) после начального бита и двухбитного конечного кода. Как показано на фиг. 8, конечный код составляет «11» для флагов в последних X фреймах битового потока (фреймах, ближайших к концу программы). Как показано на фиг. 9, конечный код составляет «10» для флагов в первых X фреймах битового потока (фреймах, ближайших к началу программы). Таким образом, для считывания (декодирования) каждого флага учитывается количество нулей между начальным «1»-ным битом и конечным кодом. Если конечный код определен как «11», флаг указывает, что между текущим фреймом (фреймом, который содержит флаг) и концом программы присутствует (2+i - 1) фреймов, где Z - количество нулей между начальным «1»-м битом и конечным кодом флага. Декодер может быть эффективно реализован для игнорирования первого и последнего бита каждого такого флага, для определения инверсии последовательности других (промежуточных) битов флага (например, если последовательность промежуточных битов представляет собой «0001» с «1»-м битом, являющимся последним битом в последовательности, инвертированная последовательность промежуточных битов представляет собой «1000» с «1»-м битом, являющимся первым битом в инвертированной последовательности), и для определения двоичного значения инвертированной последовательности промежуточных битов в качестве индекса текущего фрейма (фрейма, в который включен указанный флаг) относительно конца программы. Например, если инвертированная последовательность промежуточных битов представляет собой «1000», эта инвертированная последовательность имеет двоичное значение 2 = 16, и фрейм определяется как 16-й фрейм перед концом программы (как показано в колонке на фиг. 8, которая описывает фрейм «0»).
Z+1
4
Если конечный код определен как «10», флаг указывает, что между началом программы и текущим фреймом (фреймом, который содержит флаг) присутствует (2 - 1) фреймов, где Z - количество нулей между начальным «1»-ным битом и конечным кодом флага. Декодер может быть эффективно реализован для игнорирования первого и последнего бита каждого такого флага, для определения инверсии последовательности промежуточных битов флага (например, если последовательность промежуточных битов представляет собой «0001» с «1»-м битом, являющимся последним битом в последовательности, инвертированная последовательность промежуточных битов представляет собой «1000» с «1»-м битом, являющимся первым битом в инвертированной последовательности), и для определения двоичного значения инвертированной последовательности промежуточных битов в качестве индекса текущего фрейма (фрейма, в который включен указанный флаг) относительно начала программы. Например, если инвертированная последовательность промежуточных битов представляет собой «1000», эта инвертированная последовательность имеет двоичное значение 2 = 16, и фрейм определяется как 16-й фрейм после начала программы (как показано в колонке на фиг. 9, которая описывает фрейм «32»).
N
N
2
В примере на фиг. 8 и 9, флаг границы программы присутствует только в каждом из «2»-х фреймов первых X фреймов кодированного битового потока после начала аудиопрограммы, отображаемой битовым потоком, и в каждом из «2»-х фреймов (из последних X фреймов битового потока), ближайших к концу программы, отображаемой битовым потоком, где программа содержит Y фреймов, X - целое, которое меньше или равно Y/2, и N - положительное целое в диапазоне от 1 до log(X). Включение флагов границы программы добавляет только среднее значение битрейта, равное 1,875 бит/фрейм, к битрейту, необходимому для передачи битового потока без флагов.
В типовой реализации варианта осуществления с фиг. 8 и 9, в которой битовый поток представляет собой кодированный битовый аудиопоток формата AC-3, каждый фрейм содержит аудиоконтент и метаданные для 1536 семплов цифровой звукозаписи. Что представляет 32 миллисекунды цифровой звукозаписи или скорость звукозаписи 31,25 фреймов в секунду для частоты дискретизации 48 кГц. Таким образом, в таком варианте осуществления флаг границы программы в фрейме, отделенном некоторым количеством фреймов («X» фреймов) от границы программы, указывает, что граница возникает через 32X миллисекунд после конца флагосодержащего фрейма (или за 32X миллисекунд перед началом флагосодержащего фрейма).
В типовой реализации варианта осуществления с фиг. 8 и 9, в которой битовый поток представляет собой кодированный битовый аудиопоток формата E-AC-3, каждый фрейм битового потока содержит аудиоконтент и метаданные для 256, 512, 768 или 1536 семплов цифровой звукозаписи, в зависимости от того, содержит ли фрейм один, два, три или шесть блоков аудиоданных соответственно. Для частоты дискретизации 48 кГц это представляет 5,333, 10,667, 16 или 32 миллисекунды цифровой аудиозаписи соответственно или скорость аудиозаписи 189,9, 93,75, 62,5 или 31,25 фреймов в секунду соответственно. Таким образом, в таком варианте осуществления (при условии, что каждый фрейм представляет 32 миллисекунды цифровой звукозаписи) флаг границы программы в фрейме, отделенном некоторым количеством фреймов («X» фреймов) от границы программы, указывает, что граница находится за 32X миллисекунд после конца флагосодержащего фрейма (или за 32X миллисекунд перед началом флагосодержащего фрейма).
В некоторых вариантах осуществления, в которых граница программы может находиться внутри фрейма битового аудиопотока (то есть, не совпадает с началом или концом фрейма), метаданные границы программы, включенные в фрейм битового потока, содержат число фреймов до границы программы (то есть метаданные, указывающие количество полных фреймов между началом или концом фрейма, содержащего число фреймов, и границей программы) и некоторое значение смещения. Значение смещения указывает смещение (обычно число семплов) между началом или концом фрейма, содержащего границу программы, и действительным положением границы программы внутри фрейма, содержащего границу программы.
Кодированный битовый аудиопоток может отображать последовательность программ (звуковых дорожек) соответствующей последовательности видеопрограмм, и границы таких аудиопрограмм, как правило, находятся на границах видеофреймов, а не на границах аудиофреймов. Также некоторые аудиокодеки (например, кодеки формата E-AC-3 ) используют размеры аудиофреймов, которые не совпадают с видеофреймами. Также в некоторых случаях первоначально кодированный битовый аудиопоток подвергается перекодировке для создания перекодированного битового потока, и первоначально кодированный битовый поток имеет размер фрейма, который отличается от размера фрейма перекодированного битового потока, так что граница программы (определенная по первоначальному кодированному битовому потоку) не обязательно будет находиться на границе фрейма перекодированного битового потока. Например, если первоначально кодированный битовый поток (например, битовый поток «IEB» на фиг. 10) имеет размер фрейма, равный 1536 семплам на фрейм, и перекодированный битовый поток (например, битовый поток «TB» на фиг. 10) имеет размер фрейма, равный 1024 семплам на фрейм, процесс перекодирования может привести к тому, что действительная граница программы будет находиться не на границе фрейма перекодированного битового потока, а где-то в его фрейме (например, 512 семпл в фрейме перекодированного битового потока, как показано на фиг. 10), вследствие отличия размеров фреймов разных кодеков. Варианты осуществления настоящего изобретения, в которых метаданные границы программы, включенные в фрейм кодированного битового аудиопотока, содержат значение смещения, а также число фреймов до границы программы, полезны в трех случаях, отмеченных в этом разделе (а также в других случаях).
Вариант осуществления, описанный выше со ссылкой на фиг. 8 и 9, не содержит значение смещения (например, поле смещения) в каком-либо из фреймов кодированного битового потока. В разновидностях этого варианта осуществления значение смещения включается в каждый фрейм кодированного битового аудиопотока, который включает флаг границы программы (например, в фреймах, соответствующих фреймам под номерами 0, 8, 12 и 14 на фиг. 8, и фреймах под номерами 18, 20, 24 и 32 на фиг. 9).
В классе вариантов осуществления структура данных (в каждом фрейме кодированного битового потока, который содержит метаданные границы программы в соответствии с изобретением) содержит значение кода, указывающее, содержит ли фрейм только число фреймов до границы программы или как число фреймов до границы программы, так и значение смещения. Например, значение кода может представлять собой значение однобитного поля (упоминаемое здесь как поле «offset_exist»), значение «offset_exist» = 0 может указывать на то, что в фрейм не включено значение смещения, а значение «offset_exist» = 1 может указывать на то, что в фрейм включено как число фреймов до границы программы, так и значение смещения.
В некоторых вариантах осуществления по меньшей мере один фрейм кодированного битового аудиопотока формата AC-3 или E-AC-3 содержит сегмент метаданных, который содержит LPSM и метаданные границы программы (и факультативно также другие метаданные) для аудиопрограммы, образуемой битовым потоком. Каждый такой сегмент метаданных (который может быть включен в поле addbsi, или поле вспомогательных данных, или сегмент лишних битов битового потока) содержит заголовок фрейма (и в некоторых случаях также дополнительные основные элементы), и после заголовка фрейма (или заголовка фрейма и других основных элементов) сегмент информационного наполнения LPSM (или контейнер), имеющий следующий формат:
заголовок, как правило, включающий по меньшей мере одно идентификационное значение (например, версию формата LPSM, длину, период, число и ассоциативные значения вложенного потока данных), и
после заголовка, метаданные границы программы (которые могут включать число фреймов до границы программы, значение кода (например, значение «offset_exist»), указывающее, содержит ли фрейм только число фреймов до границы программы или как число фреймов до границы программы, так и значение смещения, и в некоторых случаях значение смещения) и LPSM. LPSM может включать:
по меньшей мере одно индицирующее диалог значение, указывающее одно из двух - соответствующие аудиоданные имеют признак диалога или не имеют признак диалога (например, какие каналы соответствующих аудиоданных имеют признак диалога). Индицирующее значение(я) диалога может указать, присутствует ли диалог в любой комбинации каналов или во всех каналах соответствующих аудиоданных;
по меньшей мере одно значение соблюдения нормативных требований по громкости, указывающее соответствуют ли соответствующие аудиоданные указанному пакету нормативных требований по громкости;
по меньшей мере одно значение обработки громкости, указывающее по меньшей мере один тип обработки громкости, который был выполнен с соответствующими аудиоданными; и
по меньшей мере одно значение громкости, указывающее по меньшей мере одну характеристику громкости (например, пиковое или среднее значение громкости) соответствующих аудиоданных.
В некоторых вариантах осуществления сегмент информационного наполнения LPSM содержит значение кода (значение «offset_exist»), указывающее, содержит ли фрейм только число фреймов до границы программы или как число фреймов до границы программы, так и значение смещения. Например, в одном таком варианте осуществления, когда такое значение кода указывает (например, когда offset_exist = 1), что фрейм содержит число фреймов до границы программы и значение смещения, сегмент информационного наполнения LPSM может содержать значение смещения, которое представляет 11-битное беззнаковое целое (то есть имеющее значение от 0 до 2048) и которое указывает количество дополнительных аудиосемплов между сигнальной границей фрейма (границей фрейма, который содержит границу программы) и действительной границей программы. Если число фреймов до границы программы указывает количество фреймов (при текущей частоте фреймов) до фрейма, содержащего границу программы, точное положение (в единицах количества семплов) границы программы (относительно начала или конца фрейма, который включает сегмент информационного наполнения LPSM) будет рассчитываться как:
S = (счетчик_фреймов* размер фрейма) + смещение, где S - количество семплов до границы программы (от начала или конца фрейма, который включает сегмент информационного наполнения LPSM), «счетчик_фреймов» - число фреймов, отражаемое числом фреймов до границы программы, «размер фрейма» - количество семплов на фрейм, и «смещение» - количество семплов, отражаемое значением смещения.
Некоторые варианты осуществления, в которых коэффициент размещения флагов границы программы увеличивается возле действительной границы программы, реализуют правило, заключающееся в том, что значение смещения никогда не включается в фрейм, если фрейм отстоит от фрейма, который включает границу программы, на число фреймов, меньшее или равное некоторому числу («Y»). Как правило, Y =32. Для кодера формата E-AC-3, который реализует это правило (с Y = 32), кодер никогда не вставляет значение смещения в конечную секунду аудиопрограммы. В этом случае принимающее устройство отвечает за организацию таймера и, таким образом, выполнение своего собственного вычисления (в ответ на метаданные границы программы, включая значение смещения, в фрейме кодированного битового потока, который отстоит от фрейма, содержащего границу программы, на более, чем Y фреймов).
Для программ, чьи аудиопрограммы известны как «совпадающие по фреймам» с видеофреймами соответствующих видеопрограмм (например, обычной передачи в виде кодированной звукозаписи в формате Dolby E), будет излишним включать значения смещения в кодированные битовые потоки, отражающие аудиопрограммы. Таким образом, значения смещения, как правило, не будут включаться в такие кодированные битовые потоки.
Обратимся к фиг. 11, далее рассмотрим случаи, в которых кодированные битовые аудиопотоки монтируются вместе, чтобы создавать вариант осуществления битового аудиопотока в соответствии с изобретением.
Битовый поток вверху фиг. 11 (подписанный как «Сценарий 1») отражает всю первую аудиопрограмму (P1), включающую метаданные границы программы (флаги границы программы, F), за которой следует вся вторая аудиопрограмма (P2), которая также включает метаданные границы программы (флаги границы программы, F). Флаги границы программы в конечной части первой программы (некоторые из которых показаны на фиг. 11) такие же или похожи на те, которые описаны со ссылкой на фиг. 8, и определяют положение границы между двумя программами (то есть границы в начале второй программы). Флаги границы программы в начальной части второй программы (некоторые из которых показаны на фиг. 11) такие же или похожи на те, которые описаны со ссылкой на фиг. 9, и они также определяют положение границы. В типовых вариантах осуществления кодер или декодер реализует таймер (калиброванный флагами в первой программе), который отсчитывает в обратном порядке к границе программы, и тот же таймер (калиброванный флагами во второй программе) отсчитывает в прямом порядке от той же границы программы. Как показано на графике таймера границы в сценарии 1 на фиг. 11, такой отсчет таймера в обратном порядке (калиброванный флагами в первой программе) достигает нуля на границе, и отсчет таймера в прямом порядке (калиброванный флагами во второй программе) отображает то же положение границы.
Второй битовый поток от верха фиг. 11 (подписанный как «Сценарий 2») отражает всю первую аудиопрограмму (P1), включающую метаданные границы программы (флаги границы программы, F), за которой следует вся вторая аудиопрограмма (P2), которая не включает метаданные границы программы. Флаги границы программы в конечной части первой программы (некоторые из которых показаны на фиг. 11) такие же или похожи на те, которые описаны со ссылкой на фиг. 8, и определяют положение границы между двумя программами (то есть границы в начале второй программы) так же, как в сценарии 1. В типовых вариантах осуществления кодер или декодер реализует таймер (калиброванный флагами в первой программе), который отсчитывает в обратном порядке к границе программы, и тот же таймер (далее без калибровки) продолжает отсчет в прямом направлении от границы программы (как показано на графике таймера границы в сценарии 2 на фиг. 11).
Третий битовый поток от верха фиг. 11 (подписанный как «Сценарий 3») отражает обрезанную первую аудиопрограмму (P1), которая включает метаданные границы программы (флаги границы программы, F), и которая смонтирована со всей второй аудиопрограммой (P2), которая также включает метаданные границы программы (флаги границы программы, F). Монтаж удалил последние «N» фреймов первой программы. Флаги границы программы в начальной части второй программы (некоторые из которых показаны на фиг. 11) такие же или похожи на те, которые описаны со ссылкой на фиг. 9, и они определяют положение границы (монтажа) между обрезанной первой программой и всей второй программой. В типовых вариантах осуществления кодер или декодер реализует таймер (калиброванный флагами в первой программе), который отсчитывает в обратном порядке до конца необрезанной программы, и тот же таймер (калиброванный флагами во второй программе) отсчитывает в прямом порядке от начала второй программы. В сценарии 3 начало второй программы является границей программы. Как показано на графике таймера границы в сценарии 3 на фиг. 11, такой отсчет таймера в обратном порядке (калиброванный метаданными границы программы в первой программе) сбрасывается (в ответ на метаданные границы программы во второй программе) перед тем, как он достигнет нуля (в ответ на метаданные границы программы в первой программе). Таким образом, хотя обрезание первой программы (за счет монтажа) препятствует определению таймером границы программы между обрезанной первой программой и началом второй программы в ответ на (то есть при калибровке ими) метаданные границы программы только в первой программе, метаданные программы во второй программе сбрасывают таймер, так что таймер со сбросом корректно указывает (в качестве положения, соответствующего «нулевому» отсчету таймера со сбросом) положение границы программы между обрезанной первой программой и началом второй программы.
Четвертый битовый поток (подписанный как «Сценарий 4») отображает обрезанную первую аудиопрограмму (P1), которая включает метаданные границы программы (флаги границы программы, F), и обрезанную вторую аудиопрограмму (P2), которая включает метаданные границы программы (флаги границы программы, F) и которая была смонтирована с частью (необрезанной частью) первой аудиопрограммы. Флаги границы программы в начальной части всей (предварительное обрезание) второй программы (некоторые из которых показаны на фиг. 11) такие же или похожи на те, которые описаны со ссылкой на фиг. 9, и флаги границы программы в конечной части всей (предварительное обрезание) первой программы (некоторые из которых показаны на фиг. 11) такие же или похожи на те, которые описаны со ссылкой на фиг. 8. Монтаж удалил последние «N» фреймов первой программы (и, таким образом, некоторые из флагов границы программы, которые находились там перед монтажом) и первые «M» фреймов второй программы (и, таким образом, некоторые из флагов границы программы, которые находились в них перед монтажом). В типовых вариантах осуществления кодер или декодер реализует таймер (калиброванный флагами в обрезанной первой программе), который отсчитывает в обратном порядке к концу необрезанной программы, и тот же таймер (калиброванный флагами в обрезанной второй программе) отсчитывает в прямом порядке от начала необрезанной второй программы. Как показано на графике таймера границы в сценарии 4 на фиг. 11, такой отсчет таймера в обратном порядке (калиброванный метаданными границы программы в первой программе) сбрасывается (в ответ на метаданные границы программы во второй программе) перед тем, как он достигнет нуля (в ответ на метаданные границы программы в первой программе). Обрезание первой программы (за счет монтажа) предотвращает определение таймером границы программы между обрезанной первой программой и началом обрезанной второй программы) в ответ на (то есть при калибровки ими) метаданные границы программы только в первой программе. Однако таймер со сбросом корректно не указывает положение границы программы между концом обрезанной первой программы и началом обрезанной второй программы. Таким образом, обрезание обоих смонтированных битовых потоков может препятствовать точному определению границы между ними.
Варианты осуществления настоящего изобретения могут быть реализованы на аппаратном, программном, программно-аппаратном уровнях или их комбинациях (например, в виде программируемой логической матрицы). Если не указано другое, алгоритмы или процессы, включенные как часть изобретения, по своему существу, не связаны с любым конкретным компьютером или другим устройством. В частности, различные машины общего применения могут быть использованы с программами, написанными в соответствии с описанными в данном документе идеями, или более удобным может быть создание более специализированного устройства (например, интегральных схем) для осуществления требуемых этапов способа. Таким образом, изобретение может быть реализовано в одной или нескольких компьютерных программах, выполняемых на одной или нескольких программируемых компьютерных системах (например, реализации любого из элементов, изображенных на фиг. 1, или кодера 100, изображенного на фиг. 2 (или его элемента), или декодера 200, изображенного на фиг. 3 (или его элемента), или постпроцессора 300, изображенного на фиг. 3 (или его элемента), каждая из которых содержит по меньшей мере один процессор, по меньшей мере одну систему хранения данных (содержащую постоянно запоминающее и временно запоминающее устройство и/или запоминающие элементы), по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода или порт. Программный код применяется к входным данным для осуществления функций, описанных в данном документе и генерирования выходной информации. Выходная информация применяется к одному или нескольким выходным устройствам известным образом.
Каждая такая программа может быть реализована на любом желаемом языке программирования (включая машинный язык, язык ассемблера, или высокоуровневый процедурный язык, язык логики, или объектно-ориентированный язык программирования) для взаимодействия с компьютерной системой. В любом случае язык может представлять собой транслируемый или интерпретируемый язык.
Например, при реализации с помощью последовательностей инструкций компьютерного программного обеспечения, различные функции и этапы вариантов осуществления изобретения могут быть реализованы с помощью многопоточных последовательностей инструкций программного обеспечения, выполняемых на подходящем аппаратном обеспечении для цифровой обработки сигналов, в случае чего различные устройства, этапы и функции вариантов осуществления могут соответствовать частям программных инструкций.
Каждая такая компьютерная программа предпочтительно хранится или загружается в носитель или устройство хранения данных (например, твердотельную память или носитель, или магнитный или оптический носитель), читаемый программируемым компьютером общего или специального назначения, для конфигурирования и управления компьютером, когда носитель или устройство хранения данных считывается компьютерной системой для осуществления процедур, описанных в данном документе. Система в соответствии с изобретением также может быть реализована как машиночитаемый носитель данных, сконфигурированный (то есть хранящий) компьютерной программой, где носитель данных, сконфигурированный таким образом, заставляет компьютерную систему работать определенным и предварительно заданным образом, чтобы осуществлять функции, описанные в данном документе.
Было описано некоторое количество вариантов осуществления изобретения. Тем не менее следует понимать, что без отступления от сущности и объема настоящего изобретения могут быть сделаны различные модификации. В свете вышеизложенных идей возможны многочисленные модификации и варианты настоящего изобретения. Следует понимать, что в пределах объема прилагаемой формулы изобретения, изобретение может быть осуществлено иначе, чем конкретно описано здесь.