КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ АУДИОСИГНАЛОВ
AUDIO SIGNALS ENCODING AND DECODING

Перекрестные ссылки на родственные заявки
Настоящая заявка испрашивает приоритет по предварительной заявке на патент США № 62/068187, поданной 24 октября 2014 г., содержание которой полностью включено в настоящий документ посредством ссылки.
Область техники
Описываемое в настоящей заявке изобретение по существу относится к кодированию и декодированию аудиосигналов и, в частности, к формату битового потока аудио с преимущественным режимом масштабирования для высоких частот кадров.
Предпосылки создания изобретения
Частоты аудио- и видеокадров (или кадровые частоты), используемые в большинстве имеющихся на сегодняшний день коммерческих приложениях, соответствуют отдельным установленным отраслевым стандартам, проявляющимся в программных продуктах для записи и воспроизведения, аппаратных компонентах, а также в согласованных форматах для передачи аудио и видео между обменивающимися информацией сторонами. Частоты аудиокадров обычно относятся к различным алгоритмам кодирования и связаны с конкретными частотами отсчетов аудио, такими как 44,1 и 48 кГц, которые так же хорошо известны, как и частоты видеокадров 29,97 кадр/с (NTSC) и 25 кадр/с (PAL) в соответствующих географических зонах; дополнительные стандартные частоты видеокадров включают 23,98, 24 и 30 кадр/с или, в более обобщенной форме, 24, 25, 30 кадр/с и (24, 25, 30) × 1000/1001 кадр/с. Попытки объединить или гармонизировать частоты аудиокадров до сих пор не увенчались успехом, несмотря на переход от аналоговой дистрибуции к цифровой, что означает, что аудиокадр (например, пакет или единица кодирования, подходящие для передачи по сети) по существу не соответствует целому числу видеокадров в потоке аудиовизуальных данных.
Потребность в синхронизации потоков аудиовизуальных данных возникает постоянно в результате рассинхронизации или при приеме нескольких потоков из различных источников для общей обработки, редактирования или объединения на сервере; такая ситуация часто встречается на вещательных станциях. Попытка улучшить синхронность видео между двумя потоками аудиовизуальных данных путем дублирования или пропуска видеокадров в одном из потоков (например, для подготовки потоков к объединению) обычно ведет к отставанию аудио от видео в таком потоке аудиовизуальных данных в том случае, если размеры аудиокадров и видеокадров не совпадают. По существу отставание — по меньшей мере определенной ненулевой длительности — сохраняется, даже если аудиокадры, соответствующие видеомонтажу, удалены или дублированы.
За счет дополнительной обработки можно создать больше пространства для маневра путем временного декодирования аудио во время синхронизации в какой-либо формат низкого уровня, независимый от разделения на кадры, например формат основной полосы частот или импульсно-кодовой модуляции (ИКМ) с первоначальной частотой отсчетов. Однако такое декодирование снижает точность привязки метаданных к конкретным сегментам аудио и ведет к потере информации, которую нельзя исправить декодированием в «идеальный» промежуточный формат. Например, контроль динамического диапазона (DRC) обычно зависит от режима и оборудования и поэтому может использоваться только в момент фактического воспроизведения; структуру данных, определяющую характеристики DRC во всем аудиопакете, трудно восстановить достоверно после осуществления синхронизации. Следовательно, задача сохранения метаданных этого типа после последовательных этапов декодирования, синхронизации и кодирования является непростой, если учесть сложные ограничения.
Еще более серьезные трудности могут возникнуть в связи с устаревшей инфраструктурой, которая выполнена с возможностью передачи двухканальных сигналов ИКМ и поэтому способна обрабатывать многоканальное содержимое только в кодированной форме.
Безусловно, кодировать аудио- и видеоданные с кадровой синхронизацией удобнее в том смысле, что данные в определенном кадре точно соответствуют одному и тому же временному сегменту в записанном и закодированном аудиовизуальном сигнале. При этом сохраняется синхронность аудио и видео при выполнении манипуляций с аудиовизуальным потоком по кадрам, т. е. дублирования или отбрасывания одной или более полностью независимых единиц кодирования в потоке. Длительности кадров, доступные в аудиоформате Dolby E™, соответствуют длительностям видеокадров. Однако этот формат с типичным битрейтом 448 кбит/с был разработан прежде всего с целью профессионального использования, и в нем твердые носители, например цифровые видеокассеты, представляют собой предпочтительное средство хранения данных.
В заявке PCT/EP2014/056848 того же заявителя, находящейся на рассмотрении и еще неопубликованной, предлагаются системы и способы, которые совместимы с аудиоформатом, подходящим для целей дистрибуции, в составе аудиовизуального формата с кадровой синхронизацией.
Существует потребность в альтернативном аудиоформате, подходящем для целей дистрибуции, в составе аудиовизуального формата с кадровой синхронизацией с улучшенным режимом масштабирования для высоких частот кадров. Существует также потребность в кодирующем и декодирующем оборудовании, подходящем для использования с таким форматом.
Краткое описание графических материалов
Ниже представлены приведенные в качестве примера варианты осуществления, которые описаны более подробно и со ссылкой на прилагаемые графические материалы, в которых:
на фиг. 1 представлена обобщенная структурная схема системы обработки аудио для представления аудиосигнала в виде битового потока аудио в соответствии с представленным в качестве примера вариантом осуществления;
на фиг. 2 представлена блок-схема способа представления аудиосигнала в виде битового потока аудио в соответствии с представленным в качестве примера вариантом осуществления;
на фиг. 3 и 4 проиллюстрированы примеры битовых потоков аудио, полученных с помощью системы обработки аудио, показанной на фиг. 1, в соответствии с представленными в качестве примера вариантами осуществления;
на фиг. 5 представлена обобщенная структурная схема системы обработки аудио для восстановления аудиосигнала, представленного посредством битового потока, в соответствии с представленным в качестве примера вариантом осуществления;
на фиг. 6 представлена блок-схема способа восстановления аудиосигнала, представленного посредством битового потока, в соответствии с представленным в качестве примера вариантом осуществления; и
на фиг. 7 представлена обобщенная структурная схема системы обработки аудио для транскодирования битового потока аудио, представляющего аудиосигнал, в соответствии с представленным в качестве примера вариантом осуществления.
Все фигуры являются схематическими, и на них по существу показаны те части, которые необходимы для разъяснения сути изобретения, тогда как другие части могут быть опущены или просто подразумеваться.
Описание представленных в качестве примера вариантов осуществления
В настоящей заявке аудиосигнал может представлять собой отдельный аудиосигнал, аудиочасть аудиовизуального сигнала или мультимедийного сигнала или любой из таких сигналов в сочетании с метаданными.
I. Обзор. Сторона кодера
В соответствии с первым аспектом в представленных в качестве примера вариантах осуществления предлагаются системы обработки аудио, способы и компьютерные программные продукты для представления аудиосигнала в виде битового потока аудио. Предлагаемые системы, способы и компьютерные программные продукты согласно первому аспекту могут по существу иметь одни и те же общие признаки и преимущества.
В соответствии с представленными в качестве примера вариантами осуществления предлагается способ представления аудиосигнала в виде битового потока аудио. Способ включает: кодирование сегмента аудиосигнала в виде одного декодируемого набора аудиоданных путем по меньшей мере выполнения анализа сигнала на сегменте аудиосигнала с шагом, именуемым в настоящей заявке базовым шагом, который соответствует первому числу отсчетов аудиосигнала. Декодируемый набор аудиоданных соответствует первой частоте кадров и первому числу отсчетов аудиосигнала на кадр. Способ включает: разбиение декодируемого набора аудиоданных на N частей, где N ≥ 2; и формирование N кадров битового потока, несущих соответствующие части. Кадры битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока. Первое число отсчетов равно второму числу отсчетов, умноженному на N. Способ включает: вывод битового потока, разделенного на кадры битового потока, включая сформированные N кадров битового потока.
В потоке аудиовизуальных данных аудиокадры и видеокадры могут быть синхронизированы и могут иметь равную длительность, например, для облегчения пропуска кадров или дублирования кадров в связи с объединением или компенсацией рассинхронизации. Для поддержания синхронности аудио и видео в потоке аудиовизуальных данных для более высоких частот видеокадров частота аудиокадров также может быть увеличена. Однако, хотя прогнозирующее кодирование обычно применяют для уменьшения затрат битрейта на увеличение частоты видеокадров, прогнозирующее кодирование может быть менее эффективным для аудиокадров, поскольку аудиоконтент может изменяться в более коротком промежутке времени и может иметь более низкую степень корреляции между последовательными кадрами, чем видеоконтент. В целях настоящего описания, если не указано иное, видеокадр соответствует одному полному изображению на экране (например, неподвижное изображение в какой-либо последовательности), тогда как аудиокадр может в принципе переносить аудиоданные, соответствующие сегменту аудиосигнала, имеющему любую длительность.
Возможность согласно настоящему способу обеспечивать N кадров битового потока со второй (более высокой) частотой кадров с одновременным переносом декодируемого набора аудиоданных, связанного с первой (более низкой) частотой кадров, позволяет поддерживать аудиовизуальную синхронность для более высоких частот видеокадров, но без соответствующего увеличения расхода битрейта. Более точно, работа при повышенной частоте кадров в соответствии с настоящим способом по существу дает в результате более низкий битрейт, чем требуется при использовании обычных аудиокадров, имеющих такие более высокие частоты кадров. Поэтому настоящий способ может, например, облегчать объединение потоков аудиовизуальных данных и/или облегчать компенсацию рассинхронизации.
Действительно, декодируемый набор аудиоданных может соответствовать объему данных, переносимому обычным аудиокадром с первой (более низкой) частотой кадров, и даже если N кадров битового потока должны содержать дополнительные данные, которые не являются полезной нагрузкой и необходимы для соответствия формату кадра (см. ниже), общий объем данных, передаваемых со стороны кодера на сторону декодера, может быть уменьшен по сравнению с применением обычных аудиокадров, имеющих вторую (более высокую) частоту кадров. В частности, выполнение анализа сигнала с базовым шагом вместо более короткого шага (например, соответствующего второму числу отсчетов аудиосигнала) уменьшает объем данных, необходимый для повторного синтезирования аудиосигнала на стороне декодера, и тем самым снижает битрейт, необходимый для передачи данных на сторону декодера.
Объединение битового потока аудио с другими битовыми потоками можно выполнять, например, без учета аудиоданных, переносимых кадрами битового потока. Другими словами, устройству или блоку, выполняющим объединение, не нужно «знать» о том, что все N кадров битового потока могут потребоваться для восстановления сегмента аудиосигнала, и они могут, например, обращаться с кадрами битового потока так, как если бы они были независимо декодируемыми. Проблему потенциально недостающих кадров битового потока в объединенном битовом потоке можно решать, например, на стороне декодера путем сокрытия таких кадров битового потока, которые могут препятствовать успешному декодированию.
Декодируемый набор аудиоданных означает набор аудиоданных, которого достаточно для декодирования сегмента аудиосигнала. Декодируемый набор аудиоданных может быть полным в том смысле, что декодирование сегмента аудиосигнала может быть выполнено без дополнительных данных, относящихся к этому сегменту аудиосигнала (хотя не являющиеся полезной нагрузкой данные, такие как дополнительные биты, заголовки или преамбулы, могут применяться, например, для идентификации декодируемого набора аудиоданных на стороне декодера).
Выполнение анализа сигнала с базовым шагом, соответствующим первому числу отсчетов аудиосигнала, означает, что анализ сигнала выполняется в пределах окна анализа из определенного числа отсчетов аудиосигнала и что при кодировании следующего сегмента аудиосигнала окно анализа сдвигается на число отсчетов, соответствующее базовому шагу. Анализ сигнала может выполняться, например, с перекрывающимися окнами анализа, и в этом случае окно анализа может быть длиннее базового шага. В другом примере длина окна анализа может совпадать с базовым шагом.
Следует понимать, что если аудиосигнал представляет собой многоканальный сигнал, то базовый шаг может соответствовать первому числу отсчетов аудиосигнала в пересчете на канал, а не сумме отсчетов для соответствующих каналов.
Этап кодирования сегмента аудиосигнала может включать, например, несколько подэтапов, один или более из которых могут включать анализ сигнала с базовым шагом.
Декодируемый набор аудиоданных может представлять сегмент аудиосигнала, соответствующий первому числу отсчетов аудиосигнала. Декодируемый набор аудиоданных может соответствовать кадру, имеющему первую частоту кадров.
Разбиение декодируемого набора аудиоданных может включать, например, разделение декодируемого набора данных на N частей по меньшей мере приблизительно равного размера, например содержащих по меньшей мере приблизительно одинаковое число битов.
Каждая из N частей может представлять собой неполный набор аудиоданных в том смысле, что одной части может быть недостаточно для декодирования сегмента (или подсегмента) аудиосигнала без доступа к другим частям.
Для каждого из N кадров битового потока: N кадров битового потока могут представлять собой, например, наименьший набор кадров битового потока, который содержит данный кадр битового потока и из которого аудиоданные могут быть объединены для декодирования сегмента аудиосигнала, представленного данными, переносимыми этим кадром битового потока. Другими словами, N кадров битового потока могут представлять собой те кадры, которые несут данные, первоначально содержавшиеся в одном и том же декодируемом наборе аудиоданных.
Кадры битового потока соответствуют второй (более высокой) частоте кадров в том смысле, что N кадров битового потока вместе представляют тот же сегмент аудиосигнала, что и декодируемый набор аудиоданных, который соответствует первой (более низкой) частоте кадров.
Аналогично, кадры битового потока соответствуют второму (меньшему) числу отсчетов на кадр битового потока в том смысле, что N кадров битового потока вместе представляют первое (большее) число отсчетов, которое также представлено декодируемым набором аудиоданных.
Следует понимать, что кадры битового потока могут нести, например, соответствующие части спектрального представления сегмента аудиосигнала и что может отсутствовать какая-либо связь между одним из кадров битового потока и вторым (меньшим) числом отсчетов аудиосигнала.
N кадров битового потока могут, например, соответствовать какому-либо формату аудио в том смысле, что кадры битового потока могут нести полезную нагрузку и метаданные, которые на уровне элементарного потока соответствуют формату аудио, например, как предусмотрено в элементарных потоках в Moving Picture Experts Group  (MPEG). Следует понимать, что хотя они и соответствуют формату аудио в этом смысле, полезная нагрузка и по меньшей мере некоторые метаданные, переносимые кадрами битового потока, могут иметь, например, какой-то другой тип и/или формат, чем в аудиокадрах, известных в данной области техники.
N кадров битового потока, несущие N частей, могут быть выведены, например, в виде N последовательных кадров битового потока в битовом потоке.
В одном представленном в качестве примера варианте осуществления выполнение анализа сигнала может включать выполнение (с базовым шагом): спектрального анализа; анализа энергии; и/или анализа энтропии. Спектральный анализ с базовым шагом может быть выполнен, например, для преобразования сегмента аудиосигнала из временной области в частотную область. Анализ энергии с базовым шагом может быть выполнен, например, для кодирования сегмента аудиосигнала методом кодирования на основе энергии. Анализ энтропии с базовым шагом может быть выполнен, например, для кодирования аудиосигнала методом кодирования на основе энтропии.
В одном представленном в качестве примера варианте осуществления кодирование сегмента аудиосигнала может включать: применение оконного преобразования с базовым шагом в качестве шага преобразования; и/или вычисление сигнала понижающего микширования и параметров для параметрического восстановления аудиосигнала из сигнала понижающего микширования, при этом параметры вычисляются на основе анализа сигнала.
Оконное преобразование может представлять собой, например, гармоническое преобразование, такое как модифицированное дискретное косинусное преобразование (МДКП), например, с применением перекрывающихся окон преобразования.
Аудиосигнал может представлять собой, например, многоканальный аудиосигнал, а сигнал понижающего микширования может представлять собой сигнал с меньшим числом каналов, чем у многоканального сигнала, например, полученный в виде линейной комбинации каналов многоканального сигнала. Сигнал понижающего микширования может представлять собой, например, понижающее микширование многоканального аудиосигнала в моно или стерео.
В одном представленном в качестве примера варианте осуществления способ может включать: включение метаданных по меньшей мере в один из N кадров битового потока, переносящих части. Метаданные могут указывать, что полный декодируемый набор аудиоданных может быть получен из частей, переносимых N кадрами битового потока.
Каждый из N кадров битового потока может, например, нести метаданные, идентифицирующие их принадлежность к группе N кадров битового потока, из которых можно получить декодируемый набор аудиоданных. В другом примере один из кадров битового потока может нести метаданные, идентифицирующие все N кадров битового потока, тогда как остальные N-1 кадров битового потока из этой группы необязательно несут такие метаданные. Битовый поток может включать, например, другие кадры битового потока, которые не несут такие метаданные.
Метаданные могут позволять размещать N кадров битового потока в не определенных заранее положениях относительно друг друга. Метаданные могут позволять размещать другие кадры битового потока между N кадрами битового потока. Метаданные могут позволять обнаруживать отсутствие в битовом потоке одного или более из N кадров битового потока, например, вызванное объединением или пропуском кадров.
В одном представленном в качестве примера варианте осуществления битовый поток аудио может быть связан с потоком видеокадров. Способ может дополнительно включать: в ответ на поток видеокадров, содержащий видеокадр определенного типа, кодирование сегмента аудиосигнала, связанного по времени с этим видеокадром, в виде второго декодируемого набора аудиоданных путем по меньшей мере выполнения анализа сигнала на сегменте аудиосигнала, связанного по времени с видеокадром, с укороченным шагом, соответствующим второму числу отсчетов аудиосигнала. Второй декодируемый набор аудиоданных может соответствовать второй частоте кадров и второму числу отсчетов аудиосигнала на кадр. Способ может включать: включение в битовый поток кадра битового потока, несущего второй декодируемый набор аудиоданных.
Потоки видеокадров могут, например, быть объединены в точках, смежных с кадрами определенного типа, такими как независимо кодированные видеокадры, для облегчения декодирования объединенной последовательности видеокадров на стороне декодера. Такой подход, состоящий в кодировании сегмента аудиосигнала, связанного по времени с видеокадром указанного определенного типа, в виде второго декодируемого набора аудиоданных, соответствующего второй частоте кадров, и во включении в битовый поток кадра битового потока, несущего второй декодируемый набор аудиоданных, позволяет осуществлять независимое декодирование этого сегмента аудиосигнала на стороне декодера. Поэтому согласно этому представленному в качестве примера варианту осуществления можно облегчать декодирование такого сегмента аудиосигнала в том случае, если на стороне декодера могут отсутствовать предшествующий или последующий кадры битового потока из битового потока аудио, например, в результате объединения аудиовизуального потока данных, содержащего битовый поток аудио и поток видеокадров, с одним или более другими потоками аудиовизуальных данных.
Сегмент аудиосигнала, связанный по времени с видеокадром определенного типа, может, например, соответствовать моменту времени, в котором видеокадр определенного типа планируется воспроизвести на дисплее.
Поток видеокадров может содержать, например, независимо кодированные кадры и кодированные с прогнозированием кадры (с однонаправленной или двунаправленной зависимостью от смежных кадров), а видеокадр определенного типа может представлять собой, например, независимо кодированный видеокадр.
Способ может, например, включать: обнаружение наличия видеокадра определенного типа в потоке видеокадров. Наличие видеокадра определенного типа может быть обнаружено, например, посредством передачи сигналов от видеокодера.
Выполнение анализа сигнала с укороченным шагом может включать, например, выполнение (с укороченным шагом): спектрального анализа; анализа энергии; и/или анализа энтропии.
Кодирование сегмента аудиосигнала, связанного по времени с видеокадром определенного типа, может, например, включать: применение оконного преобразования с укороченным шагом в качестве шага преобразования; и/или вычисление сигнала понижающего микширования и параметров для параметрического восстановления аудиосигнала из сигнала понижающего микширования, при этом параметры вычисляются на основе анализа сигнала с укороченным шагом.
В одном представленном в качестве примера варианте осуществления способ может включать: в ответ на поток видеокадров, содержащий видеокадр определенного типа, кодирование N последовательных сегментов аудиосигнала в виде соответствующих декодируемых наборов аудиоданных путем по меньшей мере применения анализа сигнала с укороченным шагом для каждого из N последовательных сегментов. Сегмент, связанный по времени с видеокадром, может представлять собой один из N последовательных сегментов. Способ может включать: включение в битовый поток кадров битового потока, несущих соответствующие декодируемые наборы аудиоданных, связанные с N последовательными сегментами.
Битовый поток может содержать, например, группы из N последовательных кадров битового потока, несущих соответствующие части аудиоданных, которые могут быть декодированы вместе. Поэтому на стороне декодера N кадров битового потока могут быть декодированы за один раз. В этом представленном в качестве примера варианте осуществления структура групп из N кадров битового потока может также сохраняться, когда видеокадр указанного определенного типа встречается в связанном потоке видеокадров, например, вне зависимости от положения видеокадра указанного определенного типа в потоке видеокадров относительно положений групп из N последовательных кадров в битовом потоке.
В соответствии с представленными в качестве примера вариантами осуществления предлагается система обработки аудио для представления аудиосигнала посредством битового потока аудио. Система обработки аудио содержит: секцию кодирования, выполненную с возможностью кодирования сегмента аудиосигнала в виде одного декодируемого набора аудиоданных путем по меньшей мере выполнения анализа сигнала на сегменте аудиосигнала с базовым шагом, соответствующим первому числу отсчетов аудиосигнала. Декодируемый набор аудиоданных соответствует первой частоте кадров и первому числу отсчетов аудиосигнала на кадр. Система обработки аудио содержит секцию повторной кадровой синхронизации, выполненную с возможностью: разбиения декодируемого набора аудиоданных на N частей, где N ≥ 2; и формирования N кадров битового потока, несущих соответствующие части. Кадры битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока. Первое число отсчетов равно второму числу отсчетов, умноженному на N. Секция повторной кадровой синхронизации выполнена с возможностью вывода битового потока, разделенного на кадры битового потока, включая сформированные N кадров битового потока.
В соответствии с представленными в качестве примера вариантами осуществления предлагаются компьютерные программные продукты, содержащие машиночитаемый носитель, для осуществления любого из способов согласно первому аспекту.
В соответствии с представленными в качестве примера вариантами осуществления может быть, что N = 2 или N = 4, т. е. N кадров битового потока могут представлять собой два или четыре кадра битового потока.
II. Обзор. Сторона декодера
В соответствии со вторым аспектом в представленных в качестве примера вариантах осуществления предлагаются системы обработки аудио, а также способы и компьютерные программные продукты для восстановления аудиосигнала, представленного посредством битового потока. Предлагаемые системы, способы и компьютерные программные продукты согласно второму аспекту могут в целом иметь одни и те же общие признаки и преимущества. Более того, представленные выше преимущества для признаков систем, способов и компьютерных программных продуктов согласно первому аспекту могут в целом быть действительны и для соответствующих признаков систем, способов и компьютерных программных продуктов согласно второму аспекту.
В соответствии с представленными в качестве примера вариантами осуществления предлагается способ восстановления аудиосигнала, представленного посредством битового потока, разделенного на кадры битового потока. Способ включает: объединение наборов аудиоданных, переносимых N соответствующими кадрами битового потока, в один декодируемый набор аудиоданных, соответствующий первой частоте кадров и первому числу отсчетов аудиосигнала на кадр, где N ≥ 2. Кадры битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока. Первое число отсчетов равно второму числу отсчетов, умноженному на N. Способ включает: декодирование декодируемого набора аудиоданных в сегмент аудиосигнала путем по меньшей мере применения синтеза сигнала на основе декодируемого набора данных с шагом, именуемым в настоящей заявке базовым шагом, который соответствует первому числу отсчетов аудиосигнала.
В потоке аудиовизуальных данных аудиокадры и видеокадры могут быть синхронизированы и могут иметь равную длительность, например, для облегчения пропуска кадров или дублирования кадров в связи с объединением или компенсацией рассинхронизации. Для поддержания синхронности аудио и видео в потоке аудиовизуальных данных для более высоких частот видеокадров частота аудиокадров также может быть увеличена. Однако, хотя прогнозирующее кодирование обычно применяют для уменьшения затрат битрейта на увеличение частоты видеокадров, прогнозирующее кодирование может быть менее эффективным для аудиокадров, поскольку аудиоконтент может изменяться в более коротком промежутке времени и может иметь более низкую степень корреляции между последовательными кадрами, чем видеоконтент. Также следует избегать слишком короткой длины аудиокадра, поскольку это может ограничить шаг преобразования, что, в свою очередь, ограничивает разрешение по частоте.
Обеспечиваемая согласно настоящему способу возможность объединения наборов аудиоданных, переносимых N соответствующими кадрами битового потока со второй (более высокой) частотой кадров, в один декодируемый набор аудиоданных, связанный с первой (более низкой) частотой кадров, позволяет поддерживать аудиовизуальную синхронность для более высоких частот видеокадров, но при этом без соответствующего увеличения расхода битрейта. Более точно, битрейт при работе с повышенной частотой кадров в соответствии с настоящим способом может быть ниже, чем требуется при использовании обычных аудиокадров, имеющих такие более высокие частоты кадров. Настоящий способ может, например, облегчать объединение потоков аудиовизуальных данных и/или облегчать компенсацию рассинхронизации.
В частности, применение синтеза сигнала с базовым шагом вместо синтеза с более коротким шагом (например, соответствующим второму числу отсчетов аудиосигнала) уменьшает объем данных, необходимый для синтезирования аудиосигнала, и тем самым снижает битрейт, необходимый для передачи данных.
Каждый из наборов данных, объединенных в декодируемый набор аудиоданных, может представлять собой неполный набор аудиоданных в том смысле, что одного из наборов может быть недостаточно для декодирования сегмента (или подсегмента) аудиосигнала без доступа к другим наборам.
Для каждого из N кадров битового потока N кадров битового потока могут представлять собой, например, наименьший набор кадров битового потока, который содержит данный кадр битового потока и из которого аудиоданные могут быть объединены для декодирования сегмента аудиосигнала, представленного данными, переносимыми этим кадром битового потока.
Декодируемый набор аудиоданных означает набор аудиоданных, которого достаточно для декодирования сегмента аудиосигнала. Декодируемый набор аудиоданных может быть полным в том смысле, что декодирование сегмента аудиосигнала может быть выполнено без дополнительных аудиоданных.
Объединение наборов аудиоданных в декодируемый набор аудиоданных может включать, например, соединение наборов данных, например, путем расположения битов, представляющих соответствующие наборы данных, друг за другом.
Применение синтеза сигнала с базовым шагом, соответствующим первому числу отсчетов аудиосигнала, означает, что синтез сигнала выполняется для сегмента аудиосигнала, соответствующего определенному числу отсчетов аудиосигнала, и что при восстановлении следующего сегмента аудиосигнала в процессе синтеза сигнала выполняется вывод для диапазона, который был сдвинут на число отсчетов, соответствующее базовому шагу.
Синтез сигнала с базовым шагом может применяться, например, непосредственно на основе декодируемого набора аудиоданных или может применяться опосредованно на основе декодируемого набора аудиоданных, например на основе аудиоданных или сигналов, полученных путем обработки декодируемого набора аудиоданных.
Следует понимать, что если аудиосигнал представляет собой многоканальный сигнал, то базовый шаг может соответствовать первому числу отсчетов аудиосигнала в пересчете на канал, а не сумме отсчетов для соответствующих каналов.
Этап декодирования декодируемого набора аудиоданных может включать, например, несколько подэтапов, один или более из которых могут включать синтез сигнала с базовым шагом.
N кадров битового потока могут, например, соответствовать какому-либо формату аудио в том смысле, что кадры битового потока могут нести полезную нагрузку и метаданные, которые на уровне элементарного потока соответствуют формату аудио, например, как предусмотрено в элементарных потоках в Moving Picture Experts Group (MPEG). Следует понимать, что хотя они и соответствуют формату аудио в этом смысле, полезная нагрузка и по меньшей мере некоторые метаданные, переносимые кадрами битового потока, могут иметь, например, какой-то другой тип и/или формат, чем в аудиокадрах, известных в данной области техники.
Производимый кодером битовый поток может, например, быть объединен с другим битовым потоком, прежде чем он достигнет стороны декодера. Например, один или более из N кадров битового потока могут отсутствовать в битовом потоке, принятом на стороне декодера. Поэтому в некоторых представленных в качестве примера вариантах осуществления способ обработки аудио может включать обнаружение отсутствия в битовом потоке одного или более из N кадров битового потока, из которых наборы аудиоданных должны быть объединены в полный декодируемый набор. Данный способ может, например, включать применение маскирования ошибок в ответ на обнаружение отсутствия в битовом потоке одного или более из N кадров битового потока. Маскирование ошибок может включать, например, замену аудиоданных, переносимых одним или более из принятых кадров битового потока, нулями и, необязательно, применение плавного уменьшения и/или увеличения уровня сигнала.
В одном представленном в качестве примера варианте осуществления декодирование декодируемого набора аудиоданных может включать: применение оконного преобразования с базовым шагом в качестве шага преобразования; и/или выполнение параметрического восстановления с базовым шагом сегмента аудиосигнала на основе сигнала понижающего микширования и связанных параметров, полученных из декодируемого набора аудиоданных.
Оконное преобразование может представлять собой, например, гармоническое преобразование, такое как обратное модифицированное дискретное косинусное преобразование (МДКП).
Аудиосигнал может представлять собой, например, многоканальный аудиосигнал, а сигнал понижающего микширования может представлять собой сигнал с меньшим числом каналов, чем у многоканального сигнала, например, полученный в виде линейной комбинации каналов многоканального сигнала. Сигнал понижающего микширования может представлять собой, например, понижающее микширование многоканального аудиосигнала в моно или стерео. Декодируемый набор аудиоданных может содержать, например, сигнал понижающего микширования и связанные параметры для параметрического восстановления сегмента аудиосигнала. Альтернативно, декодируемый набор аудиоданных может содержать данные, представляющие сигнал понижающего микширования и связанные параметры, например, в квантованной форме, из которых могут быть получены сигнал понижающего микширования и связанные параметры.
В одном представленном в качестве примера варианте осуществления N кадров битового потока, из которых наборы аудиоданных объединяются в декодируемый набор аудиоданных, могут представлять собой N последовательных кадров битового потока. Применение последовательных кадров для переноса наборов аудиоданных, объединяемых в декодируемый набор аудиоданных, может облегчать декодирование аудиосигнала и может уменьшать потребность в метаданных для идентификации кадров битового потока, для которых данные должны быть объединены в декодируемый набор аудиоданных. Применение последовательных кадров для переноса наборов аудиоданных, объединяемых в декодируемый набор аудиоданных, может уменьшать потребность в буферизации данных для выполнения декодирования.
В одном представленном в качестве примера варианте осуществления способ может дополнительно включать определение на основе метаданных, переносимых по меньшей мере некоторыми кадрами битового потока в битовом потоке, группы кадров битового потока, из которых неполные наборы аудиоданных должны быть объединены в декодируемый набор аудиоданных. Метаданные могут переноситься, например, всеми кадрами битового потока или же одним или более кадрами битового потока в группе из N кадров битового потока для идентификации групп из N кадров битового потока. Можно также предусмотреть варианты осуществления, в которых битовый поток содержит другие кадры, несущие метаданные, идентифицирующие группы из N кадров, в то время как N кадров битового потока сами по себе могут и не нести такие метаданные.
В одном представленном в качестве примера варианте осуществления способ может дополнительно включать: определение, несет ли кадр битового потока декодируемый набор аудиоданных, соответствующий второй частоте кадров; и декодирование декодируемого набора аудиоданных, соответствующего второй частоте кадров, в сегмент аудиосигнала путем по меньшей мере применения синтеза сигнала на основе декодируемого набора аудиоданных, соответствующего второй частоте кадров, с укороченным шагом, соответствующим второму числу отсчетов.
Кадры битового потока, несущие независимо декодируемые наборы аудиоданных, могут применяться, например, для облегчения декодирования битовых потоков после объединения и/или после пропуска/дублирования кадров. Возможность выполнять декодирование с использованием укороченного шага, обеспечиваемая способом согласно этому представленному в качестве примера варианту осуществления, может сделать его совместимым с форматом битового потока, что облегчает синхронизацию аудио- и видеокадров.
Декодирование декодируемого набора аудиоданных, соответствующего второй частоте кадров, может, например, включать: применение оконного преобразования с укороченным шагом в качестве шага преобразования; и/или выполнение параметрического восстановления с укороченным шагом сегмента аудиосигнала на основе сигнала понижающего микширования и связанных параметров, полученных из второго декодируемого набора аудиоданных.
Определение, несет ли кадр битового потока декодируемый набор аудиоданных, соответствующий второй частоте кадров, может быть основано, например, на метаданных, переносимых кадром битового потока, или основано на отсутствии метаданных определенного типа в кадре битового потока.
В одном представленном в качестве примера варианте осуществления декодирование декодируемого набора аудиоданных, соответствующего второй частоте кадров, может включать: обеспечение задержки, чтобы декодирование группы из N последовательных кадров битового потока со второй частотой кадров заканчивалось в то же самое время, как если бы каждый из кадров битового потока группы из N кадров битового потока переносил наборы аудиоданных, требующие объединения в декодируемый набор аудиоданных. Согласно этому представленному в качестве примера варианту осуществления облегчаются плавные переходы между сегментами аудиосигнала, восстановленного с использованием базового шага, и сегментами аудиосигнала, восстановленного с использованием укороченного шага, и может улучшаться качество воспроизведения в восприятии слушателя.
В одном представленном в качестве примера варианте осуществления задержка может быть обеспечена путем буферизации по меньшей мере одного декодируемого набора аудиоданных, соответствующего второй частоте кадров, или буферизации по меньшей мере одного сегмента аудиосигнала. То есть задержка может быть обеспечена до выполнения синтеза сигнала путем буферизации одного или более декодируемых наборов аудиоданных, соответствующих второй частоте кадров, или после выполнения синтеза сигнала путем буферизации одного или более сегментов аудиосигнала, восстановленного из более декодируемых наборов аудиоданных, соответствующих второй частоте кадров.
В одном представленном в качестве примера варианте осуществления битовый поток может быть связан с потоком видеокадров, имеющих частоту кадров, совпадающую со второй частотой кадров. В этом представленном в качестве примера варианте осуществления частота кадров битового потока может совпадать с частотой видеокадров, что может облегчать объединение и/или синхронизацию потока аудиовизуальных данных, содержащего битовый поток и поток видекадров, с другими потоками аудиовизуальных данных.
В одном представленном в качестве примера варианте осуществления декодирование сегмента аудиосигнала на основе декодируемого набора аудиоданных, соответствующего первой частоте кадров, может включать: получение квантованных спектральных коэффициентов, соответствующих декодируемому набору аудиоданных, соответствующему первой частоте кадров; выполнение обратного квантования с последующим преобразованием из частотной области во временную с получением представления промежуточного аудиосигнала; выполнение по меньшей мере одного этапа обработки промежуточного аудиосигнала в частотной области; и изменение частоты дискретизации обработанного аудиосигнала на целевую частоту отсчетов с получением представления восстановленного аудиосигнала во временной области.
Целевая частота отсчетов может представлять собой заранее определенную величину с возможностью конфигурирования пользователем или разработчиком системы независимо от свойств (например, частоты кадров) входящего битового потока.
Обратное квантование может выполняться с заранее определенными уровнями квантования (или уровнями восстановления, или точками восстановления). Уровни квантования могут быть выбраны на стороне кодера на основании психоакустических соображений, например таким образом, чтобы шум квантования для конкретной частоты (или диапазона частот) не превышал порог маскирующего эффекта. Поскольку порог маскирующего эффекта зависит от частоты, с точки зрения экономичности предпочтительным является выбор на стороне кодера таких уровней квантования, которые являются неравномерными по отношению к частоте. В результате квантование и деквантование обычно осуществляются с учетом определенной физической частоты отсчетов, при которой получают оптимальный вывод.
По меньшей мере один этап обработки может быть связан, например, с репликацией спектральной полосы (SBR) и/или контролем динамического диапазона (DRC).
Поскольку по меньшей мере один этап обработки выполняется в частотной области, способ может включать: выполнение преобразования из временной области в частотную, выполняемое, например, набором квадратурных зеркальных фильтров (QMF) для разложения сигнала, для получения представления промежуточного аудиосигнала в частотной области; и выполнение дополнительного преобразования из частотной области во временную, выполняемое, например, набором QMF для синтеза сигнала, для преобразования обработанного аудиосигнала обратно во временную область.
В одном представленном в качестве примера варианте осуществления для данного способа приемлемы битовые потоки, связанные по меньшей мере с двумя различными значениями второй частоты кадров, но связанные с общим значением второго числа отсчетов на кадр. Соответствующие значения второй частоты кадров могут отличаться не более чем на 5%. Преобразование из частотной области во временную может быть осуществлено в функциональном компоненте, выполненным с возможностью применения оконного преобразования, имеющего общее заранее определенное значение базового шага в качестве шага преобразования для по меньшей мере двух значений второй частоты кадров.
В потоке аудиовизуальных данных частота аудиокадров может быть адаптирована к частоте видеокадров (например, может совпадать с ней), например, для облегчения аудиовизуальной синхронизации и/или объединения. Поэтому возможность принимать битовые потоки аудио с различными частотами кадров, обеспечиваемая способом согласно этому представленному в качестве примера варианту осуществления, может облегчать аудиовизуальную синхронизацию и/или объединение потоков аудиовизуальных данных.
В критически дискретизированной системе физическая частота отсчетов соответствует отношению физической длительности аудиокадра к числу содержащихся в нем спектральных коэффициентов. Функциональному компоненту (компонентам), осуществляющему обратное квантование и преобразование из частотной области во временную, не нужно «знать» физическую длительность коэффициентов в декодируемом наборе аудиоданных, а нужно знать только то, что коэффициенты относятся к одному и тому же декодируемому набору аудиоданных. Поскольку значения второй частоты кадров отличаются не более чем на 5%, результирующая внутренняя частота отсчетов изменится весьма незначительно (в физических единицах), а коэффициент передискретизации, используемый в окончательном преобразовании частоты дискретизации, будет близок к единице. Следовательно, непостоянство внутренней частоты отсчетов обычно не ведет к сколько-нибудь ощутимому ухудшению качества восстановленного аудиосигнала. Другими словами, небольшая повышающая или понижающая дискретизация промежуточного аудиосигнала, который был получен оптимальным при частоте отсчетов, слегка отличающейся от целевой частоты отсчетов, не будет иметь большого значения в психоакустическом смысле. В частности, некоторое несоответствие между целевой физической частотой отсчетов функционального компонента (компонентов), выполняющего обратное квантование и/или преобразование из частотной области во временную, и физическими частотами отсчетов, на которые настроены любые компоненты, находящиеся после него, может быть допустимым при условии ограничения такого отклонения.
В соответствии с представленными в качестве примера вариантами осуществления предлагается система обработки аудио для восстановления аудиосигнала, представленного посредством битового потока, разделенного на кадры битового потока. Система обработки аудио содержит: буфер, выполненный с возможностью объединения наборов аудиоданных, переносимых N соответствующими кадрами битового потока, в один декодируемый набор аудиоданных, соответствующий первой частоте кадров и первому числу отсчетов аудиосигнала на кадр, где N ≥ 2. Кадры битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока. Первое число отсчетов равно второму числу отсчетов, умноженному на N. Система содержит секцию декодирования, выполненную с возможностью декодирования декодируемого набора аудиоданных в сегмент аудиосигнала путем по меньшей мере применения синтеза сигнала на основе декодируемого набора аудиоданных с базовым шагом, соответствующим первому числу отсчетов аудиосигнала.
В соответствии с представленными в качестве примера вариантами осуществления предлагаются компьютерные программные продукты, содержащие машиночитаемый носитель, для осуществления любого из способов согласно второму аспекту.
В соответствии с представленными в качестве примера вариантами осуществления может быть, что N = 2 или N = 4, т. е. N кадров битового потока могут представлять собой два или четыре кадра битового потока.
III. Обзор. Транскодирование
В соответствии с третьим аспектом в представленных в качестве примера вариантах осуществления предлагаются системы обработки аудио, а также способы и компьютерные программные продукты для транскодирования битового потока аудио, представляющего аудиосигнал. Предлагаемые системы, способы и компьютерные программные продукты согласно третьему аспекту могут в целом иметь одни и те же общие признаки и преимущества. Более того, представленные выше преимущества для признаков систем, способов и компьютерных программных продуктов согласно первому и/или второму аспектам могут по существу быть действительны и для соответствующих признаков систем, способов и компьютерных программных продуктов согласно третьему аспекту.
В соответствии с представленными в качестве примера вариантами осуществления предлагается способ транскодирования битового потока аудио, представляющего аудиосигнал. Битовый поток содержит последовательность декодируемых наборов аудиоданных, соответствующих первой частоте кадров и первому числу отсчетов аудиосигнала на кадр. Способ включает: извлечение декодируемого набора аудиоданных из битового потока; разбиение декодируемого набора аудиоданных на N частей, где N ≥ 2; и формирование N кадров битового потока, несущих соответствующие части. Кадры битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока. Первое число отсчетов равно второму числу отсчетов, умноженному на N. После этого осуществляется вывод битового потока, разделенного на кадры битового потока, включая сформированные N кадров битового потока. Необязательно, этап обработки декодируемого набора аудиоданных выполняется перед этапом разбиения набора на N частей. В зависимости от характера обработки может потребоваться первоначальное декодирование аудиоданных в результат преобразования или форму волны.
Возможность согласно настоящему способу обеспечить N кадров битового потока со второй (более высокой) частотой кадров с одновременным переносом декодируемого набора аудиоданных, связанного с первой (более низкой) частотой кадров, позволяет поддерживать аудиовизуальную синхронность для более высоких частот видеокадров, но без соответствующего увеличения расхода битрейта. Битрейт при работе с повышенной частотой кадров в соответствии с настоящим способом может быть ниже, чем требуется при использовании обычных аудиокадров, имеющих такие более высокие частоты кадров. Поэтому согласно настоящему способу можно, например, облегчать объединение потоков аудиовизуальных данных и/или облегчать компенсацию рассинхронизации.
Способ может включать, например, разбиение обработанной версии декодируемого набора аудиоданных на N частей.
В соответствии с представленными в качестве примера вариантами осуществления предлагается система обработки аудио для транскодирования битового потока аудио, представляющего аудиосигнал, при этом битовый поток содержит последовательность декодируемых наборов аудиоданных, соответствующих первой частоте кадров и первому числу отсчетов аудиосигнала на кадр. Система обработки аудио содержит: секцию приема, выполненную с возможностью извлечения декодируемого набора аудиоданных из битового потока; и необязательную секцию обработки, выполненную с возможностью обработки декодируемого набора аудиоданных. Система обработки аудио содержит секцию повторной кадровой синхронизации, выполненную с возможностью: разбиения декодируемого набора аудиоданных на N частей, где N ≥ 2; и формирования N кадров битового потока, несущих соответствующие части. Кадры битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока. Первое число отсчетов равно второму числу отсчетов, умноженному на N. Секция повторной кадровой синхронизации выполнена с возможностью вывода битового потока, разделенного на кадры битового потока, включая сформированные N кадров битового потока.
В соответствии с представленными в качестве примера вариантами осуществления предлагаются компьютерные программные продукты, содержащие машиночитаемый носитель, для осуществления любого из способов согласно третьему аспекту.
В соответствии с представленными в качестве примера вариантами осуществления может быть, что N = 2 или N = 4, т. е. N кадров битового потока могут представлять собой два или четыре кадра битового потока.
IV. Обзор. Машиночитаемый носитель
В соответствии с четвертым аспектом в представленных в качестве примера вариантах осуществления предлагается машиночитаемые носители, представляющий аудиосигнал. Представленные выше преимущества для признаков систем, способов и компьютерных программных продуктов согласно первому, второму и/или третьему аспектам могут в целом быть действительны и для соответствующих признаков машиночитаемых носителей согласно четвертому аспекту.
В соответствии с представленными в качестве примера вариантами осуществления предлагается машиночитаемый носитель, представляющий аудиосигнал и разделенный на кадры битового потока. В машиночитаемом носителе N кадров битового потока несут соответствующие наборы аудиоданных, объединяемые в один декодируемый набор аудиоданных, соответствующий первой частоте кадров и первому числу отсчетов аудиосигнала на кадр, где N ≥ 2. Декодируемый набор аудиоданных может быть декодирован в сегмент аудиосигнала путем по меньшей мере применения синтеза сигнала на основе декодируемого набора аудиоданных с базовым шагом, соответствующим первому числу отсчетов аудиосигнала. Кадры битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока. Первое число отсчетов равно второму числу отсчетов, умноженному на N.
N кадров битового потока со второй (более высокой) частотой кадров, вместе несущие декодируемый набор аудиоданных, связанный с первой (более низкой) частотой кадров, позволяют поддерживать аудиовизуальную синхронность для более высоких частот видеокадров, но без соответствующего увеличения расхода битрейта. Более точно, битрейт при работе с повышенной частотой кадров в соответствии с настоящим машиночитаемым носителем может быть более низким, чем требуется при использовании обычных аудиокадров, имеющих такие более высокие частоты кадров. Поэтому настоящий машиночитаемый носитель может, например, облегчать объединение потоков аудиовизуальных данных и/или облегчать компенсацию рассинхронизации.
N кадров битового потока, несущие соответствующие наборы аудиоданных, объединяемые в один декодируемый набор аудиоданных, могут представлять собой, например, N последовательных кадров битового потока.
В одном представленном в качестве примера варианте осуществления по меньшей мере один из N кадров битового потока может нести метаданные, указывающие группу кадров битового потока, из которых наборы аудиоданных должны быть объединены в декодируемый набор аудиоданных.
В одном представленном в качестве примера варианте осуществления машиночитаемый носитель может дополнительно содержать кадр битового потока, несущий второй набор аудиоданных, декодируемый в сегмент аудиосигнала путем по меньшей мере применения синтеза сигнала на основе второго набора аудиоданных с укороченным шагом, соответствующим второму числу отсчетов аудиосигнала.
Кадры битового потока, несущие независимо декодируемые наборы аудиоданных в соответствии с этим представленным в качестве примера вариантом осуществления, могут применяться, например, для облегчения декодирования битовых потоков после объединения и/или после пропуска/дублирования кадров.
В соответствии с представленными в качестве примера вариантами осуществления может быть, что N = 2 или N = 4, т. е. N кадров битового потока могут представлять собой два или четыре кадра битового потока.
V. Представленные в качестве примера варианты осуществления
На фиг. 1 представлена обобщенная структурная схема системы 100 обработки аудио для представления аудиосигнала X в виде битового потока B аудио в соответствии с представленным в качестве примера вариантом осуществления.
Система 100 обработки аудио содержит секцию 110 кодирования и секцию 120 повторной кадровой синхронизации. Секция 110 кодирования кодирует сегмент аудиосигнала X в виде одного декодируемого набора аудиоданных D путем по меньшей мере выполнения анализа сигнала на сегменте аудиосигнала X с базовым шагом, соответствующим первому числу отсчетов аудиосигнала X.
Выполнение анализа сигнала с базовым шагом, соответствующим первому числу отсчетов аудиосигнала X, означает, что анализ сигнала выполняется с окном анализа из определенного числа отсчетов аудиосигнала X и что при кодировании следующего сегмента аудиосигнала X окно анализа сдвигается на число отсчетов, соответствующее базовому шагу. Анализ сигнала может выполняться, например, с перекрывающимися окнами анализа, и в этом случае окно анализа может быть длиннее базового шага. В другом примере длина окна анализа может совпадать с базовым шагом.
В настоящей заявке пример аудиосигнала X представляет собой многоканальный аудиосигнал. В этом представленном в качестве примера варианте осуществления секция 110 кодирования применяет к сегменту аудиосигнала X оконное преобразование, например модифицированное дискретное косинусное преобразование (МДКП), с базовым шагом в качестве шага преобразования для обеспечения представления данного сегмента аудиосигнала X в частотной области. Затем в частотной области секция 110 кодирования вычисляет сигнал понижающего микширования (например, понижающего микширования в моно или стерео) в виде линейной комбинации соответствующих каналов аудиосигнала X. Секция 110 кодирования также определяет параметры для параметрического восстановления многоканального аудиосигнала X из сигнала понижающего микширования. В этом представленном в качестве примера варианте осуществления декодируемый набор аудиоданных D содержит сигнал понижающего микширования и параметры для параметрического восстановления.
Эти параметры можно определять, например, на основе анализа сигнала с представлением в частотной области. При анализе сигнала можно применять базовый шаг, т. е. можно применять тот же самый шаг, что и в оконном преобразовании. Анализ сигнала может включать, например, вычисление энергий и/или ковариаций каналов многоканального аудиосигнала X.
Можно также предусмотреть варианты осуществления, в которых параметры для параметрического восстановления определяются на основе анализа сигнала с шагом, отличным от шага оконного преобразования. Например, можно предусмотреть варианты осуществления, в которых в оконном преобразовании применяется более короткий шаг преобразования, чем базовый шаг, и в которых параметры для параметрического восстановления определяются на основе анализа сигнала с базовым шагом.
Декодируемый набор аудиоданных D соответствует первой частоте кадров, например 30 кадр/с, и первому числу отсчетов аудиосигнала на кадр. То есть декодируемый набор данных D представляет первое число отсчетов аудиосигнала и соответствует кадру, согласованному с первой частотой кадров.
1
2
N
1
2
N
Секция 120 повторной кадровой синхронизации разбивает декодируемый набор аудиоданных D на N частей D, D,…, D, например, путем разделения декодируемого набора аудиоданных D на N частей D, D,…, D по меньшей мере приблизительно равного размера. N может быть равно, например, 2 или 4 или может быть любым целым числом, большим чем или равным 2.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
В этом представленном в качестве примера варианте осуществления декодируемый набор аудиоданных D представляет собой представление первого числа отсчетов в частотной области. Следовательно, при разбиении декодируемого набора аудиоданных D на части D, D,…, D одинакового размера эти части D, D,…, D могут содержать соответствующие поднаборы представления в частотной области, которые не обязательно соответствуют каким-либо конкретным поднаборам первого числа отсчетов аудиосинала. Следовательно, части D, D,…, D представляют собой неполные наборы аудиоданных в том смысле, что ни одна из частей D, D,…, D не может быть декодирована без доступа ко всем N частям D, D,…, D.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
Секция 120 повторной кадровой синхронизации формирует N кадров F, F,…, F битового потока, несущих соответствующие части D, D,…, D. Поскольку N кадров F, F,…, F битового потока представляют один декодируемый набор аудиоданных D, кадры F, F,…, F битового потока имеют вторую частоту кадров, которая равна частоте кадров декодируемого набора аудиоданных D, умноженной на N. Аналогично, хотя кадры F, F,…, F битового потока сами по себе не представляют определенные отсчеты аудиосигнала X, N кадров F, F,…, F битового потока представляют декодируемый набор аудиоданных D и поэтому соответствуют второму числу отсчетов на кадр, при этом первое число отсчетов на кадр равно второму числу отсчетов на кадр, умноженному на N.
1
2
N
Секция 120 повторной кадровой синхронизации выводит битовый поток B, разделенный на кадры битового потока, включая сформированные N кадров F, F,…, F битового потока, в виде N последовательных кадров битового потока.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
В дополнение к частям D, D,…, D аудиоданных кадры F, F,…, F битового потока также содержат соответствующие метаданные μ, μ,…, μ, указывающие, что декодируемый набор аудиоданных D можно получить из частей D, D,…, D, переносимых кадрами F, F,…, F битового потока. Метаданные μ, μ,…, μ каждого из кадров F, F,…, F битового потока могут, например, указывать, какая часть декодируемого набора аудиоданных D переносится таким кадром битового потока, и могут также необязательно указывать кадры битового потока, несущие остальные N-1 частей декодируемого набора аудиоданных D.
На фиг. 3 и 4 проиллюстрированы примеры битовых потоков, полученных с помощью системы 100 обработки аудио, описанной со ссылкой на фиг. 1, в соответствии с представленными в качестве примера вариантами осуществления.
Битовый поток B, выводимый системой 100 обработки аудио, показанной на фиг. 1, может быть связан с потоком видеокадров. Битовый поток B представлен на фиг. 3 потоком A1 кадров битового потока и потоком V1 видеокадров, при этом направление вправо соответствует увеличению времени t.
Поток V1 видеокадров содержит кодированные с прогнозированием видеокадры P (включая кадры, зависящие только от предшествующих кадров, и/или так называемые двунаправленные кадры, которые зависят как от предшествующих, так и от последующих кадров) и независимо кодированный видеокадр I. Поток A1 кадров битового потока содержит кадры битового потока с той же частотой кадров и той же длительностью, что и у видеокадров, для облегчения объединения и/или синхронизации с другими потоками аудиовизуальных данных.
В этом представленном в качестве примера варианте осуществления N = 4, и система 100 обработки аудио предоставляет кадры битового потока группами 310 из четырех кадров 311, 312, 313, 314 битового потока, несущих соответствующие части декодируемого набора аудиоданных. Однако, если поток V1 видеокадров необходимо объединить с другими потоками видеокадров, объединение может быть выполнено в точке, смежной с независимо кодированным видеокадром I, для облегчения декодирования видеокадров после объединения. Для обеспечения аудиовизуальной синхронности поток A1 кадров битового потока может быть объединен в той же точке объединения, что и поток V1 видеокадров.
Для облегчения декодирования кадров битового потока после объединения с другим потоком кадров битового потока система 100 обработки аудио кодирует сегмент аудиосигнала X, связанный по времени с независимо кодированным видеокадром I, в виде декодируемого набора аудиоданных путем применения анализа сигнала с укороченным шагом преобразования, соответствующим второму числу отсчетов аудиосигнала X, что может соответствовать, например, длительности независимо кодированного видеокадра I.
Аналогично кодированию, в котором применяют анализ сигнала с базовым шагом, кодирование, в котором применяют анализ сигнала с укороченным шагом, может включать применение оконного преобразования, например МДКП, с укороченным шагом в качестве шага преобразования и определение параметров для параметрического восстановления сегмента аудиосигнала из сигнала понижающего микширования, при этом параметры определяются на основе анализа сигнала с укороченным шагом. Декодируемый набор аудиоданных, связанный с укороченным шагом, может содержать сигнал понижающего микширования и такие параметры.
Система 100 обработки аудио включает кадр 321 битового потока, несущий декодируемый набор аудиоданных, который может быть независимо декодирован без доступа к аудиоданным, переносимым другими кадрами битового потока. В потоке A1 кадров битового потока за кадром 321 битового потока следует другая группа 330 из четырех кадров 331, 332, 333, 334 битового потока, несущих соответствующие части декодируемого набора аудиоданных.
Система 100 обработки аудио может содержать, например, дополнительную секцию кодирования (не показанную на фиг. 1), выполненную с возможностью кодирования сегментов аудиосигнала X путем применения анализа сигнала с укороченным шагом. Альтернативно, секция 110 кодирования может быть выполнена с возможностью применения укороченного шага, а секция 120 повторной кадровой синхронизации может быть выполнена с возможностью включения в битовый поток B кадра 321 битового потока, несущего декодируемый набор аудиоданных, связанный с укороченным шагом.
В примере, описанном со ссылкой на фиг. 3, наличие независимо кодированного видеокадра I в определенных положениях можно обработать путем включения кадра 321 битового потока, несущего декодируемый набор аудиоданных, связанный с укороченным шагом преобразования, между группами 310, 330 из четырех кадров битового потока. Однако по меньшей мере в некоторых представленных в качестве примера сценариях положения независимо кодированных видеокадров I могут быть неизвестны априори и/или независимо кодированные видеокадры I могут находиться в положениях, которые не совпадают с положениями между группами из четырех кадров битового потока. Такой сценарий показан на фиг. 4.
Битовый поток B и связанный поток видеокадров представлены на фиг. 4 другим битовым потоком A2 кадров битового потока и другим потоком V2 видеокадров, где время t увеличивается в направлении вправо.
Аналогично представленному в качестве примера сценарию, описанному со ссылкой на фиг. 3, кадры битового потока предоставляются системой 100 обработки аудио в группах 410, 430 из четырех кадров битового потока. Однако как только независимо кодированный видеокадр I обнаруживается в потоке V2 видеокадров, четыре последовательных кадра 421, 422, 423, 424 битового потока кодируются системой 100 обработки аудио с применением укороченного шага для каждого из них. В зависимости от положения независимо кодированного видеокадра I в потоке V2 видеокадров независимо кодированный видеокадр I может соответствовать любому из четырех кадров 421, 422, 423, 424 битового потока при условии использования укороченного шага преобразования. В этом сценарии независимо кодированный кадр 423 битового потока может быть представлен в каком-либо положении в битовом потоке A2, соответствующем независимо кодированному видеокадру I, независимо от положения независимо кодированного видеокадра I в потоке V2 видеокадров, относительно любых групп из четырех кадров битового потока в битовом потоке A2, кодированном с использованием базового шага. В этом сценарии кадры битового потока организованы в группы из четырех кадров битового потока, независимо от наличия независимо кодированных видеокадров I в потоке V2 видеокадров.
На фиг. 2 представлена блок-схема способа 200 представления аудиосигнала посредством битового потока аудио в соответствии с представленным в качестве примера вариантом осуществления. Пример способа 110 в настоящей заявке представляет собой способ, осуществляемый системой 100 кодирования аудио, описанной со ссылкой на фиг. 1.
1
2
N
1
2
N
1
2
N
1
2
N
Способ 200 включает определение 210, является ли текущий кадр потока V1 видеокадров независимо кодированным. Если текущий кадр не является независимо кодированным (обозначено буквой N на блок-схеме), выполнение способа 200 продолжается путем кодирования 220 сегмента аудиосигнала X в виде декодируемого набора аудиоданных D путем по меньшей мере применения анализа сигнала с базовым шагом; разбиения 230 декодируемого набора аудиоданных D на N частей D, D,…, D; формирования 240 N кадров F, F,…, F битового потока, несущих соответствующие части D, D,…, D; и вывода 250 сформированных кадров F, F,…, F битового потока в виде части битового потока B. Затем в способе 200 происходит возврат к кодированию других сегментов аудиосигнала X.
Если же, с другой стороны, текущий кадр потока V1 видеокадров является независимо кодированным (обозначено буквой Y на блок-схеме), то выполнение способа 200 вместо этого продолжается путем кодирования 260 сегмента аудиосигнала X в виде декодируемого набора аудиоданных путем по меньшей мере применения анализа сигнала с укороченным шагом; и включения 270 в битовый поток B кадра битового потока, несущего второй декодируемый набор аудиоданных. Затем в способе 200 происходит возврат к декодированию других сегментов аудиосигнала X.
На фиг. 5 представлена обобщенная структурная схема системы 500 обработки аудио для восстановления аудиосигнала, представленного посредством битового потока, в соответствии с представленным в качестве примера вариантом осуществления.
В этом представленном в качестве примера варианте осуществления битовый поток представлен битовым потоком B, выводимым системой 100 обработки аудио, описанной со ссылкой на фиг. 1. Ниже также описываются представленные в качестве примера варианты осуществления, в которых система 500 обработки аудио принимает битовые потоки, которые были модифицированы, например путем пропуска кадров и/или дублирования кадров, до получения системой 500 обработки аудио.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
Система 500 обработки аудио содержит буфер 510 и секцию 520 декодирования. Буфер 510 объединяет наборы аудиоданных D, D,…, D, переносимые N соответствующими кадрами F, F,…, F битового потока, в один декодируемый набор аудиоданных D, соответствующий первой частоте кадров, например 30 кадр/с, и первому числу отсчетов аудиосигнала на кадр. В соответствии с описанием со ссылкой на фиг. 1 кадры F, F,…, F битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока, при этом первое число отсчетов равно второму числу отсчетов, умноженному на N. Буфер 510 использует метаданные μ, μ,…, μ, переносимые кадрами битового потока, для идентификации кадров F, F,…, F, несущих наборы аудиоданных D, D,…, D, подлежащих объединению.
Секция 520 декодирования декодирует декодируемый набор аудиоданных D в сегмент аудиосигнала X путем применения синтеза сигнала на основе декодируемого набора аудиоданных D с базовым шагом, описанным со ссылкой на фиг. 1, т. е. с базовым шагом, соответствующим первому числу отсчетов аудиосигнала X. Система 500 обработки аудио выводит восстановленную версию X̃ аудиосигнала X.
В соответствии с описанием со ссылкой на фиг. 1 аудиосигнал X представляет собой многоканальный аудиосигнал, а декодируемый набор аудиоданных D содержит сигнал понижающего микширования и связанные параметры повышающего микширования для параметрического восстановления аудиосигнала X. Секция 520 декодирования выполняет параметрическое восстановление представления сегмента аудиосигнала X в частотной области с применением базового шага. Затем секция 520 декодирования применяет оконное преобразование, например обратное МДКП, с базовым шагом в качестве шага преобразования для получения представления сегмента аудиосигнала X во временной области.
Можно также предусмотреть варианты осуществления, в которых параметрическое восстановление выполняется с шагом, отличным от шага оконного преобразования. Например, можно предусмотреть варианты осуществления, в которых в оконном преобразовании применяется более короткий шаг преобразования, чем базовый шаг, и в которых параметрическое восстановление выполняется с базовым шагом.
В соответствии с описанием со ссылкой на фиг. 3 и 4 битовый поток B может содержать кадры битового потока, несущие декодируемые наборы аудиоданных, т. е. наборы аудиоданных, которые могут быть декодированы независимо друг от друга путем применения укороченного шага. Система 500 обработки аудио может содержать, например, дополнительную секцию декодирования (не показанную на фиг. 5), выполненную с возможностью декодирования декодируемого набора аудиоданных с применением укороченного шага. Альтернативно, секция 520 декодирования может быть выполнена с возможностью декодирования такого декодируемого набора аудиоданных с использованием укороченного шага, а буфер 510 может быть выполнен с возможностью передачи такого декодируемого набора аудиоданных в секцию 520 декодирования без объединения его с аудиоданными из других кадров битового потока.
Для обеспечения плавного переключения между сегментами аудиосигнала X, декодированными с использованием укороченного шага, и сегментами аудиосигнала X, декодированными с использованием базового шага, система 500 обработки аудио может, например, обеспечивать задержку, чтобы декодирование группы из N последовательных кадров битового потока со второй частотой кадров, т. е. с применением укороченного шага, завершалось в то же время, как если бы каждый из кадров битового потока нес наборы аудиоданных, требующие объединения в декодируемый набор аудиоданных для декодирования. Буфер 510 может, например, обеспечивать такую задержку путем буферизации декодируемых наборов аудиоданных до их передачи в секцию 520 декодирования. Альтернативно, секция 520 декодирования может обеспечивать такую задержку путем буферизации восстановленных сегментов аудиосигнала X до их предоставления в качестве выходных данных.
Битовый поток B аудио, выводимый системой 100 обработки аудио, описанной со ссылкой на фиг. 1, может быть модифицирован, например, путем объединения с другими битовыми потоками или путем пропуска/дублирования кадров, до его приема системой 500 обработки аудио, описанной со ссылкой на фиг. 5.
В соответствии с описанием со ссылкой на фиг. 3 кадры битового потока могут иметь такие же длительности, что и соответствующие видеокадры в связанном потоке V1 видеокадров. Применение таких синхронизированных потоков A1 аудио и потоков V1 видео в потоках аудиовизуальных данных облегчает объединение и/или синхронизацию аудиовизуальных потоков.
1
2
N
1
2
N
1
2
N
1
2
N
В отношении устройства или компонента, выполняющих объединение, может не требоваться, чтобы они учитывали, какие типы кадров битового потока расположены друг за другом до или после объединения. Вместо этого система 500 обработки аудио может быть выполнена с возможностью обработки ситуации, при которой в принятом битовом потоке B отсутствуют некоторые из N кадров F, F,…, F битового потока в группе, несущей соответствующие части D, D,…, D декодируемого набора аудиоданных D, например, вследствие объединения и/или пропуска/дублирования кадров. Система 500 обработки аудио может быть выполнена с возможностью обнаружения отсутствия кадров битового потока, например, на основании метаданных μ, μ,…, μ, переносимых соответствующими кадрами F, F,…, F битового потока.
При обнаружении отсутствия кадров битового потока, необходимых для декодирования, система 500 обработки аудио может применять, например, стратегию маскирования ошибок для продолжения декодирования аудиосигнала X. Стратегия маскирования может включать, например, замену аудиоданных, переносимых кадрами битового потока в неполной группе кадров т. е. в группе, в которой в принятом битовом потоке не хватает одного или более кадров битового потока, тишиной (например, нулями в качестве коэффициентов частотной области для аудиосигнала X). Система 500 обработки аудио может применять, например, плавное уменьшение и/или увеличение уровня сигнала для обеспечения более плавных переходов между декодируемыми сегментами аудиосигнала X и тишину, заменяющую недекодируемые сегменты аудиосигнала X в восприятии слушателя.
В некоторых представленных в качестве примера вариантах осуществления система 500 обработки аудио может быть выполнена с возможностью приема битовых потоков, связанных по меньшей мере с двумя различными заранее определенными значениями второй частоты кадров, но связанных с общим значением второго числа отсчетов на кадр. Это представлено в таблице 1 значениями 59,940 кадр/с и 60,000 кадр/с для второй частоты кадров и общим значением 768 для второго числа отсчетов на кадр. Такие частоты кадров могут быть полезны для потоков аудио, связанных с потоками видео, имеющими эти частоты кадров.
В этом примере значения второй частоты кадров отличаются менее чем на 5%. Система 500 обработки аудио может быть выполнена с возможностью декодирования аудиосигнала X с применением одного и того же значения базового шага для этих двух различных значений второй частоты кадров. В соответствии с описанием в патентной заявке PCT/EP2014/056848 того же заявителя, находящейся на рассмотрении и еще неопубликованной (см., в частности, часть раздела «II. Представленные в качестве примера варианты осуществления», описывающую фиг. 1 и таблицу 1 в указанной заявке), изменение внутренней частоты отсчетов секции 520 декодирования, вызванное разницей во второй частоте кадров, обычно может быть столь незначительным, что система 500 обработки аудио по-прежнему может обеспечить приемлемое качество воспроизведения восстановленного аудиосигнала X в восприятии слушателя. Еще один пример значений второй частоты кадров, отличающихся менее чем на 5%, представлен в таблице 1 значениями 119,880 кадр/с и 120,000 кадр/с для второй частоты кадров и общим значением 384 для второго числа отсчетов на кадр.
Как показано в таблице 1, если частота видеокадров составляет 60,00 кадр/с, N = 2 кадра битового потока со второй частотой кадров 60,000 кадр/с могут быть применены для представления одного декодируемого набора аудиоданных с первой частотой кадров 30,000 кадр/с. Аналогично, если частота видеокадров составляет 59,940 кадр/с, N = 2 кадра битового потока со второй частотой кадров 59,940 могут быть применены для представления одного декодируемого набора аудиоданных с первой частотой кадров 29,970 кадр/с. В таблице 1 также показано, что, если частота видеокадров составляет 120 кадр/с, N = 4 кадра битового потока со второй частотой кадров 120,000 могут быть применены для представления одного декодируемого набора аудиоданных с первой частотой кадров 30,000 кадр/с. Аналогично, если частота видеокадров составляет 119,880 кадр/с, N = 4 кадра битового потока со второй частотой кадров 119,880 могут быть применены для представления одного декодируемого набора аудиоданных с первой частотой кадров 29,970 кадр/с.
На фиг. 6 представлена блок-схема способа 600 обработки аудио для восстановления аудиосигнала, представленного посредством битового потока, в соответствии с представленным в качестве примера вариантом осуществления. Пример способа 600 в настоящей заявке представляет собой способ, выполняемый системой 500 обработки аудио, описанной со ссылкой на фиг. 5.
Способ 600 включает определение 610, несет ли принятый кадр битового потока декодируемый набор аудиоданных, соответствующий второй частоте кадров.
1
2
N
1
2
N
Если не несет (обозначено буквой N на блок-схеме), выполнение способа 600 продолжается путем объединения 620 наборов аудиоданных D, D,…, D, переносимых N соответствующими кадрами F, F,…, F битового потока, в один декодируемый набор аудиоданных D, соответствующий первой частоте кадров и первому числу отсчетов аудиосигнала на кадр; и декодирования 630 декодируемого набора аудиоданных D в сегмент аудиосигнала X путем по меньшей мере применения синтеза сигнала на основе декодируемого набора аудиоданных D с базовым шагом, соответствующим первому числу отсчетов аудиосигнала X. Затем в способе 600 происходит возврат к этапу определения 610, несет ли следующий принятый кадр битового потока декодируемый набор аудиоданных.
Если несет (обозначено буквой Y на блок-схеме), то выполнение способа 600 вместо этого продолжается путем декодирования 640 декодируемого набора аудиоданных, соответствующего второй частоте кадров, в сегмент аудиосигнала X путем по меньшей мере применения укороченного шага, соответствующего второму числу отсчетов аудиосигнала X. Затем в способе 600 происходит возврат к этапу определения 610, несет ли следующий принятый кадр битового потока декодируемый набор аудиоданных.
На фиг. 7 представлена обобщенная структурная схема системы 700 обработки аудио для транскодирования битового потока аудио, представляющего аудиосигнал, в соответствии с представленным в качестве примера вариантом осуществления.
Система 700 обработки аудио содержит секцию 710 приема, необязательную секцию 720 обработки и секцию 730 повторной кадровой синхронизации. Секция 710 приема принимает битовый поток B1, содержащий последовательность декодируемых наборов аудиоданных D, соответствующих первой частоте кадров и первому числу отсчетов аудиосигнала на кадр, например, как описано со ссылкой на фиг. 1. Секция 710 приема извлекает декодируемый набор аудиоданных D из битового потока B1.
Секция 720 обработки (необязательная) обрабатывает декодируемый набор аудиоданных D. В зависимости от характера обработки может потребоваться первоначальное декодирование аудиоданных в результат преобразования или форму волны; затем секция 720 обработки может последовательно выполнять этапы синтеза сигнала, обработки, анализа сигнала.
1
2
N
1
2
N
1
2
N
1
2
N
1
2
N
Секция 730 повторной кадровой синхронизации разбивает обработанный декодируемый набор аудиоданных D на N частей D, D,…, D и формирует N кадров F, F,…, F битового потока, несущих соответствующие части D, D,…, D. В этом представленном в качестве примера варианте осуществления секция 730 повторной кадровой синхронизации выполняет те же операции, что и секция 120 повторной кадровой синхронизации в системе 100 обработки аудио, описанной со ссылкой на фиг. 1. Следовательно, кадры F, F,…, F битового потока имеют вторую частоту кадров, соответствующую второму числу отсчетов аудиосигнала на кадр битового потока, и секция 730 повторной кадровой синхронизации выводит битовый поток B2, разделенный на кадры битового потока, включая сформированные N кадров F, F,…, F битового потока.
Битовый поток B2, выводимый системой 700 обработки аудио, может, например, совпадать с битовым потоком B, выводимым системой 100 обработки аудио, описанной со ссылкой на фиг. 1. Битовый поток B1, принятый системой 700 обработки аудио, может представлять собой, например, битовый поток аудио с частотой кадров 30 кадр/с, предоставляемый каким-либо аудиокодером, известным в данной области техники.
Следует понимать, что битовый поток B, описанный со ссылкой на фиг. 1 и 5, и битовый поток A1 кадров битового потока, описанный со ссылкой на фиг. 3, представляют собой примеры машиночитаемого носителя, представляющего аудиосигнал X и разделенного на кадры битового потока, в соответствии с представленными в качестве примера вариантами осуществления.
Следует также понимать, что N может быть любым целым числом больше 1.
VI. Эквиваленты, расширения, альтернативы и прочие положения
Хотя в настоящем раскрытии описаны и показаны конкретные представленные в качестве примера варианты осуществления, изобретение не ограничивается этими конкретными примерами. В описанные выше представленные в качестве примера варианты осуществления можно вносить модификации и изменения, не выходя при этом за границы объема изобретения, который определяется только прилагаемой формулой изобретения.
В формуле изобретения слово «содержащий» не исключает других элементов или этапов, а использование единственного числа не исключает множество. Простой факт, что определенные измерения указаны во взаимно отличающихся зависимых пунктах формулы изобретения, не указывает на то, что при необходимости нельзя применить комбинацию этих измерений. Любые ссылочные позиции в формуле изобретения не должны считаться ограничивающими объем изобретения.
Описанные выше устройства и способы могут быть реализованы в виде программного обеспечения, программно-аппаратного обеспечения, аппаратного обеспечения или их комбинации. В аппаратной реализации разделение задач между функциональными блоками, упомянутыми в описании выше, не обязательно соответствует разделению на физические блоки; напротив, один физический компонент может иметь несколько функциональностей, и одна задача может выполняться совместно несколькими физическими компонентами за счет распределения между ними. Определенные компоненты или все компоненты могут быть реализованы в виде программного обеспечения, исполняемого цифровым процессором, процессором сигналов или микропроцессором, или могут быть реализованы в виде аппаратного обеспечения или в виде специализированной интегральной микросхемы. Такое программное обеспечение может распространяться на машиночитаемых носителях, которые могут содержать компьютерные носители для хранения данных (или энергонезависимые носители) и средства коммуникации (или промежуточные носители). Как хорошо известно специалисту в данной области техники, термин «компьютерные носители для хранения данных» включает как энергозависимые, так и энергонезависимые, как съемные, так и несъемные носители, реализованные с помощью любого способа или технологии хранения информации, таких как машиночитаемые команды, структуры данных, программные модули или другие данные. Компьютерные носители для хранения данных включают без ограничений RAM, ROM, EEPROM, флэш-память или другие технологии памяти, CD-ROM, цифровые универсальные диски (DVD) или другие накопители на оптических дисках, магнитные кассеты, накопители на магнитной ленте, магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который можно использовать для хранения нужной информации и к которому можно получить доступ с помощью компьютера. Кроме того, специалисту в данной области техники хорошо известно, что средства коммуникации обычно реализуют машиночитаемые команды, структуры данных, программные модули или другие данные в виде модулированного сигнала данных, такого как несущая волна или другой механизм переноса, и включают любое средство доставки информации.