ДЕКОДИРОВАНИЕ БИТОВЫХ ПОТОКОВ АУДИО С МЕТАДАННЫМИ РАСШИРЕННОГО КОПИРОВАНИЯ СПЕКТРАЛЬНОЙ ПОЛОСЫ В ПО МЕНЬШЕЙ МЕРЕ ОДНОМ ЗАПОЛНЯЮЩЕМ ЭЛЕМЕНТЕ
DECODING OF AUDIO BIT STREAMS WITH METADATA OF EXTENDED COPYING OF SPECTRAL BAND IN AT LEAST ONE FILLING ELEMENT

Перекрестная ссылка на родственные заявки
Настоящая заявка испрашивает приоритет заявки на европейский патент № 15159067.6, поданной 13 марта 2015 года, и предварительной заявки на патент США № 62/133,800, поданной 16 марта 2016 года, каждая из которых полностью включена в настоящую заявку посредством ссылки.
Область техники
Изобретение относится к обработке аудиосигналов. Некоторые варианты осуществления относятся к кодированию и декодированию битовых потоков аудио (например, битовых потоков, имеющих формат MPEG-4 AAC), включающих в себя метаданные для управления расширенным копированием спектральной полосы (eSBR). Другие варианты осуществления относятся к декодированию таких битовых потоков посредством декодеров прежних версий, которые не выполнены с возможностью выполнять обработку eSBR, и которые игнорируют такие метаданные, или к декодированию битового потока аудио, который не включает в себя такие метаданные, включающему в себя формирование управляющих данных eSBR в ответ на битовый поток.
Уровень техники
Типичный битовый поток аудио включает в себя как аудиоданные (например, закодированные аудиоданные), указывающие один или более каналов содержимого аудио, так и метаданные, указывающие по меньшей мере одну характеристику аудиоданных или содержимого аудио. Одним известным форматом для формирования закодированного битового потока аудио является формат усовершенствованного кодирования аудио MPEG-4 (MPEG-4 Advanced Audio Coding, AAC), описанный в стандарте ISO/IEC 14496-3:2009. В стандарте MPEG-4 аббревиатура AAC обозначает ʺadvanced audio coding (усовершенствованное кодирование аудио)ʺ, и аббревиатура HE-AAC обозначает ʺhigh-efficiency advanced audio coding (высокоэффективное усовершенствованное кодирование аудио)ʺ.
Стандарт MPEG-4 AAC определяет несколько аудиопрофилей, которые определяют, какие объекты и инструменты кодирования присутствуют в совместимом кодере или декодере. Три из этих аудиопрофилей представляют собой (1) профиль AAC, (2) профиль HE-AAC и (3) профиль HE-AAC v2. Профиль AAC включает в себя тип объекта AAC низкой сложности (или "AAC-LC"). Объект AAC-LC является аналогом профиля MPEG-2 AAC низкой сложности с некоторыми корректировками и не включает в себя ни тип объекта копирования спектральной полосы ("SBR"), ни тип объекта параметрического стерео ("PS"). Профиль HE-AAC является расширением профиля AAC и дополнительно включает в себя тип объекта SBR. Профиль HE-AAC v2 является расширением профиля HE-AAC и дополнительно включает в себя тип объекта PS.
Тип объекта SBR содержит инструмент копирования спектральной полосы, являющийся важным инструментом кодирования, который значительно повышает эффективность сжатия перцепционных аудиокодеков. SBR воссоздает высокочастотные компоненты аудиосигнала на стороне приемника (например, в декодере). Таким образом, кодер должен только закодировать и передать низкочастотные компоненты, что дает намного более высокое качество аудио на низких скоростях передачи данных. SBR основан на копировании последовательностей гармоник, предварительно усеченных, чтобы сократить скорость передачи данных, из сигнала с ограниченной доступной шириной полосы и управляющих данных, полученных от кодера. Отношение между тональными и шумоподобными компонентами поддерживается посредством адаптивной обратной фильтрации, а также необязательным добавлением шума и синусоид. В стандарте MPEG-4 AAC инструмент SBR выполняет спектральную вставку, в которой несколько смежных поддиапазонов квадратурного зеркального фильтра (Quadrature Mirror Filter, QMF) копируются из переданной низкополосной части аудиосигнала в высокополосной участок аудиосигнала, который формируется в декодере.
Спектральная вставка может не являться идеальной для некоторых типов аудио, например, для музыки с относительно низким переходом по частотам. Таким образом, необходимы методики для улучшения копирования спектральной полосы.
Краткое описание вариантов осуществления изобретения
Первый класс вариантов осуществления относится к блокам обработки аудио, которые включают в себя память, блок удаления форматирования полезных данных битового потока и подсистему декодирования. Память выполнена с возможностью хранить по меньшей мере один блок закодированного битового потока аудио (например, битового потока MPEG-4 AAC). Блок удаления форматирования полезных данных битового потока выполнен с возможностью демультиплексировать закодированный аудиоблок. Подсистема декодирования выполнена с возможностью декодировать содержимое аудио закодированного аудиоблока. Закодированный аудиоблок включает в себя заполняющий элемент с идентификатором, указывающим начало заполняющего элемента, и заполняющие данные после идентификатора. Заполняющие данные включают в себя по меньшей мере один флаг, идентифицирующий, должна ли быть выполнена обработка расширенного копирования спектральной полосы (eSBR) для содержимого аудио закодированного аудиоблока.
Второй класс вариантов осуществления относится к способам декодирования закодированного битового потока аудио. Способ включает в себя прием по меньшей мере одного блока закодированного битового потока аудио, демультиплексирование, по меньшей мере, некоторых частей по меньшей мере одного блока закодированного битового потока аудио и декодирование, по меньшей мере, некоторых частей по меньшей мере одного блока закодированного битового потока аудио. По меньшей мере один блок закодированного битового потока аудио включает в себя заполняющий элемент с идентификатором, указывающим начало заполняющего элемента, и заполняющие данные после идентификатора. Заполняющие данные включают в себя по меньшей мере один флаг, идентифицирующий, должна ли быть выполнена обработка расширенного копирования спектральной полосы (eSBR) для содержимого аудио по меньшей мере одного блока закодированного битового потока аудио.
Другие классы вариантов осуществления относятся к кодированию и транскодированию битовых потоков аудио, содержащих метаданные, идентифицирующие, должна ли быть выполнена обработка расширенного копирования спектральной полосы (eSBR).
Краткое описание чертежей
Фиг. 1 - блок-схема варианта осуществления системы, которая может быть выполнена с возможностью выполнять вариант осуществления способа изобретения.
Фиг. 2 - блок-схема кодера, который является вариантом осуществления блока обработки аудио изобретения.
Фиг. 3 - блок-схема системы, включающей в себя декодер, который является вариантом осуществления блока обработки аудио изобретения, и необязательно также постпроцессор, соединенный с ним.
Фиг. 4 - блок-схема декодера, который является вариантом осуществления блока обработки аудио изобретения.
Фиг. 5 - блок-схема декодера, который является другим вариантом осуществления блока обработки аудио изобретения.
Фиг. 6 - блок-схемой другого варианта осуществления блока обработки аудио изобретения.
Фиг. 7 - схема блока битового потока MPEG-4 AAC, включающего в себя сегменты, на которые он разделен.
Обозначения и терминология
В этом раскрытии, в том числе в формуле изобретения, выражение "выполнять операцию над" сигналом или данными (например, фильтрацию, масштабирование, преобразование сигнала или данных, или применение коэффициента усиления к сигналу или данным) используется в широком смысле для обозначения выполнения операции непосредственно над сигналом или данными, или над обработанной версией сигнала или данных (например, над версией сигнала, который подвергся предварительной фильтрации или предварительной обработке до выполнения дальнейшей операции).
В этом раскрытии, в том числе в формуле изобретения, выражение "блок обработки аудио" используется в широком смысле для обозначения системы или устройства, выполненных с возможностью обрабатывать аудиоданные. Примеры блоков обработки аудио включают в себя, но без ограничения, кодеры (например, транскодеры), декодеры, кодер-декодеры, системы предварительной обработки, системы последующей обработки и системы обработки битового потока (иногда называемые инструментами обработки битового потока). Фактически вся бытовая электроника, такая как мобильные телефоны, телевизоры, ноутбуки и планшетные компьютеры, содержит блок обработки аудио.
В этом раскрытии, в том числе в формуле изобретения, термин "соединяет" или "соединенный" используется в широком смысле для обозначения либо прямого, либо косвенного соединения. Таким образом, если первое устройство соединяется со вторым устройством, то соединение может быть через прямое соединение, или через косвенное соединение через другие устройства и соединения. Кроме того, компоненты, которые интегрированы в другие компоненты или с другими компонентами, также соединены друг с другом.
Подробное описание вариантов осуществления изобретения
Стандарт MPEG-4 AAC предполагает, что закодированный битовый поток MPEG-4 AAC включает в себя метаданные, указывающие каждый тип обработки SBR, которая должна быть применена (если должна быть применена) декодером, чтобы декодировать содержимое аудио битового потока, и/или которые управляют такой обработкой SBR, и/или указывающие по меньшей мере одну характеристику или параметр по меньшей мере одного инструмента SBR, который должен использоваться, чтобы декодировать содержимое аудио битового потока. В настоящем документе используется выражение ʺметаданные SBRʺ для обозначения метаданных этого типа, которые описаны или упомянуты в стандарте MPEG-4 AAC.
Верхний уровень битового потока MPEG-4 AAC является последовательностью блоков данных (элементов "raw_data_block"), каждый из которых является сегментом данных (в настоящем документе называемым "блоком"), который содержит аудиоданные (как правило, для периода времени из 1024 или 960 отсчетов) и соответствующую информацию и/или другие данные. В настоящем документе используется термин "блок" для обозначения сегмента битового потока MPEG-4 AAC, содержащего аудиоданные (и соответствующие метаданные, и необязательно также другие соответствующие данные), которые определяют или являются показателем одного (но не более чем одного) элемента "raw_data_block".
Каждый блок битового потока MPEG-4 AAC может включать в себя несколько синтаксических элементов (каждый из которых также осуществлен в битовом потоке как сегмент данных). Семь типов таких синтаксических элементов заданы в стандарте MPEG-4 AAC. Каждый синтаксический элемент идентифицируется различным значением элемента данных "id_syn_ele". Примеры синтаксических элементов включают в себя ʺsingle_channel_element()ʺ, ʺchannel_pair_element()ʺ и ʺfill_element()ʺ. Элемент одиночного канала является контейнером, включающим в себя аудиоданные одного аудиоканала (монофонический аудиосигнал). Элемент пары каналов включает в себя аудиоданные двух аудиоканалов (то есть, стереофонический аудиосигнал).
Заполняющий элемент является контейнером информации, включающим в себя идентификатор (например, значение упомянутого выше элемента "id_syn_ele"), за которым следуют данные, которые упоминаются как "заполняющие данные". Заполняющие элементы исторически использовались для корректировки текущего битрейта (частоты следования битов) битовых потоков, которые должны передаваться по каналу с постоянной скоростью. Посредством добавления подходящего количества заполняющих данных к каждому блоку может быть достигнута постоянная скорость передачи данных.
В соответствии с вариантами осуществления изобретения заполняющие данные могут включать в себя одну или более добавочных полезных нагрузок, которые расширяют тип данных (например, метаданных), которые могут быть переданы в битовом потоке. Декодер, который принимает битовые потоки с заполняющими данными, содержащими новый тип данных, может необязательно использоваться устройством, принимающим битовый поток (например, декодером), чтобы расширить функциональность устройства. Таким образом, как может оценить специалист в области техники, заполняющие элементы являются специальным типом структуры данных и отличаются от структур данных, обычно используемых для передачи аудиоданных (например, полезных данных аудио, содержащей данные канала).
В некоторых вариантах осуществления изобретения идентификатор, используемый для идентификации заполняющего элемента, может состоять из трехбитного целого без знака, у которого сначала передается старший значащий бит ("uimsbf"), имеющего значение 0×6. В одном блоке могут встречаться несколько экземпляров синтаксического элемента одинакового типа (например, несколько заполняющих элементов).
Другим стандартом для кодирования битовых потоков аудио является стандарт унифицированного кодирования речи и аудио MPEG (MPEG Unified Speech and Audio Coding, USAC) (ISO/IEC 23003-3:2012). Стандарт MPEG USAC описывает кодирование и декодирование содержимого аудио с использованием обработки копирования спектральной полосы (в том числе обработка SBR, как описано в стандарте MPEG-4 AAC, а также в том числе другие расширенные формы обработки копирования спектральной полосы). Эта обработка применяет инструменты копирования спектральной полосы (иногда упоминаемые в настоящем документе как ʺинструменты расширенного SBRʺ или ʺинструменты eSBR") расширенной и усовершенствованной версии набора инструментов SBR, описанных в стандарте MPEG-4 AAC. Таким образом, eSBR (как задано в стандарте USAC) представляет собой улучшение SBR (как задано в стандарте MPEG-4 AAC).
В настоящем документе используется выражение ʺобработка расширенного SBRʺ (или ʺобработка eSBRʺ) для обозначения обработки копирования спектральной полосы с использованием по меньшей мере одного инструмента eSBR (например, по меньшей мере одного инструмента eSBR, который описан или упомянут в стандарте MPEG USAC), который не описан и не упомянут в стандарте MPEG-4 AAC. Примерами таких инструментов eSBR являются гармоническая транспозиция, дополнительная предварительная обработка QMF-вставки, или "предварительное сглаживание", и формирование временной огибающей (Temporal Envelope Shaping) отсчетов между поддиапазонами, или "интер-TES".
Битовый поток, сформированный в соответствии со стандартом MPEG USAC (иногда упоминаемый в настоящем документе как ʺбитовый поток USACʺ), включает в себя закодированное содержимое аудио и обычно включает в себя метаданные, указывающие каждый тип обработки копирования спектральной полосы, которая должна быть применена декодером, чтобы декодировать содержимое аудио битового потока USAC, и/или метаданные, которые управляют такой обработкой копирования спектральной полосы, и/или указывающие по меньшей мере одну характеристику или параметр по меньшей мере одного инструмента SBR и/или инструмента eSBR, который должен использоваться, чтобы декодировать содержимое аудио битового потока USAC.
В настоящем документе используется выражение ʺметаданные расширенного SBRʺ (или «метаданные eSBR») для обозначения метаданных, указывающих каждый тип обработки копирования спектральной полосы, которая должна быть применена декодером, чтобы декодировать содержимое аудио закодированного битового потока аудио (например, битового потока USAC), и/или которые управляют такой обработкой копирования спектральной полосы, и/или указывающие по меньшей мере одну характеристики или параметр по меньшей мере одного инструмента SBR и/или инструмента eSBR, который должен использоваться, чтобы декодировать такое содержимое аудио, но который не описан и не упомянут в стандарте MPEG-4 AAC. Примером метаданных eSBR являются метаданные (указывающие обработку копирования спектральной полосы или управляющие ей), которые описаны или упомянуты в стандарте MPEG USAC, но не в стандарте MPEG-4 AAC. Таким образом, метаданные eSBR в настоящем документе обозначают метаданные, которые не являются метаданными SBR, и метаданные SBR в настоящем документе обозначают метаданные, которые не являются метаданными eSBR.
Битовый поток USAC может включать в себя и метаданные SBR, и метаданные eSBR. Более конкретно, битовый поток USAC может включать в себя метаданные eSBR, которые управляют функционированием обработки eSBR посредством декодера, и метаданные SBR, которые управляют функционированием обработки SBR посредством декодера. В соответствии с типичными вариантами осуществления настоящего изобретения метаданные eSBR (например, специфичные для eSBR данные конфигурации) включены (в соответствии с настоящим изобретением) в битовый поток MPEG-4 AAC (например, в контейнер sbr_extension() в конце полезных данных SBR).
Функционирование обработки eSBR во время декодирования закодированного битового потока с использованием множества инструментов eSBR (содержащих по меньшей мере один инструмент eSBR) посредством декодера восстанавливает высокочастотную полосу аудиосигнала на основе копирования последовательностей гармоник, которые были отсечены во время кодирования. Такая обработка eSBR обычно корректирует огибающую спектра сформированной высокочастотной полосы и применяет обратную фильтрацию и добавляет шумовые и синусоидальные компоненты, чтобы воссоздать спектральные характеристики первоначального аудиосигнала.
В соответствии с типичными вариантами осуществления изобретения метаданные eSBR включены (например, включено небольшое количество управляющих битов, которые являются метаданными eSBR) в один или более сегментов метаданных закодированного битового потока аудио (например, битового потока MPEG-4 AAC), который также включает закодированные аудиоданные в другие сегменты (сегменты аудиоданных). Как правило, по меньшей мере один такой сегмент метаданных каждого блока битового потока представляет собой (или включает в себя) заполняющий элемент (включающий в себя идентификатор, указывающий начало заполняющего элемента), и метаданные eSBR включены в заполняющий элемент после идентификатора.
Фиг. 1 является блок-схемой иллюстративной последовательности обработки аудиосигналов (системы обработки аудиоданных), в которой один или более элементов системы могут сконфигурированы в соответствии с вариантом осуществления настоящего изобретения. Система включает в себя следующие элементы, соединенные вместе, как показано: кодер 1, подсистему 2 доставки, декодер 3 и блок 4 последующей обработки. В вариациях показанной системы один или более элементов опущены, или включены дополнительные блоки обработки аудиоданных.
В некоторых реализациях кодер 1 (который необязательно включает в себя блок предварительной обработки) выполнен с возможностью принимать отсчеты PCM (во временной области), содержащие содержимое аудио, в качестве входной информации и выдавать закодированный битовый поток аудио (имеющий формат, который совместим со стандартом MPEG-4 AAC), указывающий содержимое аудио. Данные битового потока, указывающие содержимого аудио, иногда упоминаются в настоящем документе как "аудиоданные" или ʺзакодированные аудиоданныеʺ. Если кодер выполнен в соответствии с типичным вариантом осуществления настоящего изобретения, вывод битового потока аудио из кодера включает в себя метаданные eSBR (и, как правило, также другие метаданные), а также аудиоданные.
Один или более закодированных битовых потоков аудио, выданных из кодера 1, могут быть помещены в подсистему 2 доставки закодированного аудио. Подсистема 2 выполнена с возможностью сохранять и/или доставлять каждый закодированный битовый поток, выданный из кодера 1. Закодированный битовый поток аудио, выданный из кодера 1, может быть сохранен подсистемой 2 (например, в форме диска DVD или Blu-ray) или передан подсистемой 2 (которая может реализовать линию передачи или сеть), или может быть и сохранен, и передан подсистемой 2.
Декодер 3 выполнен с возможностью декодировать закодированный битовый поток аудио MPEG-4 AAC (сформированный кодером 1), который он принимает через подсистему 2. В некоторых вариантах осуществления декодер 3 выполнен с возможностью извлекать метаданные eSBR из каждого блока битового потока и декодировать битовый поток (в том числе посредством выполнения обработки eSBR с использованием извлеченных метаданных eSBR), чтобы сформировать декодированные аудиоданные (например, потоки декодированных отсчетов аудиоданных PCM). В некоторых вариантах осуществления декодер 3 выполнен с возможностью извлекать метаданные SBR из битового потока (но игнорировать метаданные eSBR, включенные в битовый поток) и декодировать битовый поток (в том числе посредством выполнения обработки SBR с использованием извлеченных метаданных SBR), чтобы сформировать декодированные аудиоданные (например, потоки декодированных отсчетов аудиоданных PCM). Как правило, декодер 3 включает в себя буфер, который хранит (например, энергонезависимым образом) сегменты закодированного битового потока аудио, принятого от подсистемы 2.
Блок 4 последующей обработки на фиг. 1 выполнен с возможностью принимать поток декодированных аудиоданных от декодера 3 (например, декодированные отсчеты аудиоданных PCM) и выполнять их последующую обработку. Блок 4 последующей обработки также может быть выполнен с возможностью воспроизводить подвергнутое последующей обработке содержимое аудио (или декодированные аудиоданные, принятые от декодера 3) для воспроизведения посредством одного или более динамиков.
Фиг. 2 является блок-схемой кодера (100), который является вариантом осуществления блока обработки аудио изобретения. Любой из компонентов или элементов кодера 100 может быть реализован как один или более процессов и/или одна или более схем (например, специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA) или других интегральных схем), в аппаратных средствах, в программном обеспечении или в комбинации аппаратных средств и программного обеспечения. Кодер 100 включает в себя кодер 105, модуль 107 форматирования, модуль 106 формирования метаданных и буферную память 109, соединенные, как показано. Как правило, также кодер 100 включает в себя другие элементы обработки (не показаны). Кодер 100 выполнен с возможностью преобразовывать входной битовый поток аудио в выходной закодированный битовый поток MPEG-4 AAC.
Генератор 106 метаданных соединен и выполнен с возможностью формировать (и/или пропускать в модуль 107) метаданные (включающие в себя метаданные eSBR и метаданные SBR), которые должны быть включены посредством модуля 107 в закодированный битовый поток, который должен быть выдан из кодера 100.
Кодер 105 соединен и выполнен с возможностью закодировать (например, посредством выполнения сжатия) входные аудиоданные и поместить полученные в результате закодированные аудиоданные в модуль 107 для включения в закодированный битовый поток, который должен быть выдан из модуля 107.
Модуль 107 выполнен с возможностью мультиплексировать закодированные аудиоданные из кодера 105 и метаданные (включающие в себя метаданные eSBR и метаданные SBR) из генератора 106, чтобы сформировать закодированный битовый поток, который должен быть выдан из модуля 107, предпочтительно таким образом, чтобы закодированный битовый поток имел формат, определенный одним из вариантов осуществления настоящего изобретения.
Буферная память 109 выполнена с возможностью хранить (например, энергонезависимым образом) по меньшей мере один блок закодированного битового потока аудио, выданного из модуля 107, и последовательность блоков закодированного битового потока аудио затем перемещается из буферной памяти 109 как вывод из кодера 100 в систему доставки.
Фиг. 3 является блок-схемой системы, включающей в себя декодер (200), который является вариантом осуществления блока обработки аудио, и необязательно также постпроцессор (300), соединенный с ним. Любой из компонентов или элементов декодера 200 и постпроцессора 300 может быть реализован как один или более процессов и/или одна или более схем (например, специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA) или других интегральных схем), в аппаратных средствах, в программном обеспечении или в комбинации аппаратных средств и программного обеспечения. Декодер 200 содержит буферную память 201, блок 205 удаления форматирования (синтаксического разбора) полезных данных битового потока, подсистему 202 декодирования аудио (иногда называемую "базовым" модулем декодирования или "базовой" подсистемой декодирования), модуль 203 обработки eSBR и модуль 204 формирования управляющих битов, соединенные, как показано. Как правило, декодер 200 также включает в себя другие элементы обработки (не показаны).
Буферная память (буфер) 201 хранит (например, энергонезависимым образом) по меньшей мере один блок закодированного битового потока аудио, принятого декодером 200. При работе декодера 200, последовательность блоков битового потока перемещается из буфера 201 в блок 205 удаления форматирования.
В вариациях вариантов осуществления на фиг. 3 (или вариантов осуществления на фиг. 4, которые будут описаны), блок APU, который не является декодером (например, блок 500 APU на фиг. 6) включает в себя буферную память (например, буферную память, идентичную буферу 201), которая хранит (например, энергонезависимым образом) по меньшей мере один блок закодированного битового потока аудио (например, битового потока аудио MPEG-4 AAC) такого же типа, принятого буфером 201 на фиг. 3 или фиг. 4 (т.е. закодированный битовый поток аудио, который включает в себя метаданные eSBR).
Снова со ссылкой на фиг. 3, блок 205 удаления форматирования соединен и выполнен с возможностью демультиплексировать каждый блок битового потока, чтобы извлечь оттуда метаданные SBR (включающие в себя квантованные данные огибающей) и метаданные eSBR (и, как правило, также другие метаданные), помещать, по меньшей мере, метаданные eSBR и метаданные SBR в модуль 203 обработки eSBR и, как правило, также помещать другие извлеченные метаданные в подсистему 202 декодирования (и необязательно также в генератор 204 управляющих битов). Блок 205 удаления форматирования также соединен и выполнен с возможностью извлекать аудиоданные из каждого блока битового потока и помещать извлеченные аудиоданные в подсистему 202 декодирования (модуль декодирования).
Система на фиг. 3 необязательно также включает в себя постпроцессор 300. Постпроцессор 300 включает в себя буферную память (буфер) 301 и другие элементы обработки (не показаны), включающие в себя по меньшей мере один элемент обработки, соединенный с буфером 301. Буфер 301 хранит (например, энергонезависимым образом) по меньшей мере один блок (или кадр) декодированных аудиоданных, принятых постпроцессором 300 от декодера 200. Элементы обработки постпроцессора 300 соединены и выполнены с возможностью принимать и адаптивно обрабатывать последовательность блоков (или кадров) декодированного аудио, выданного из буфера 301, с использованием метаданных, выданных из подсистемы декодирования 202 (и/или блока 205 удаления форматирования), и/или управляющих битов, выданных из модуля 204 декодера 200.
Подсистема 202 декодирования аудио декодера 200 выполнена с возможностью декодировать аудиоданные, извлеченные блоком 205 синтаксического разбора (такое декодирование может упоминаться как "базовая" операция декодирования), чтобы сформировать декодированные аудиоданные, и помещать декодированные аудиоданные в модуль 203 обработки eSBR. Декодирование выполняется в частотной области и, как правило, включает в себя обратное квантование, за которым следует спектральная обработка. Как правило, заключительный этап обработки в подсистеме 202 применяет преобразование из частотной области во временную область к декодированным аудиоданным частотной области, таким образом, выводом подсистемы являются декодированные аудиоданные во временной области. Модуль 203 выполнен с возможностью применять инструменты SBR и инструменты eSBR, указанные посредством метаданных SBR и метаданных eSBR (извлеченных блоком 205 синтаксического разбора) к декодированным аудиоданным (т.е., выполнять обработку SBR и обработку eSBR на выходе подсистемы 202 декодирования с использованием метаданных SBR и метаданных eSBR), чтобы сформировать полностью декодированные аудиоданные, которые выдаются (например, постпроцессору 300) из декодера 200. Как правило, декодер 200 включает в себя память (доступную для подсистемы 202 и модуля 203), которая хранит подвергнутые удалению форматирования аудиоданные и метаданные, выданные из блока 205 удаления форматирования, и модуль 203 выполнен с возможностью осуществлять доступ к аудиоданным и метаданным (включающим в себя метаданные SBR и метаданные eSBR) по мере необходимости во время обработки SBR и обработки eSBR. Обработка SBR и обработка eSBR в модуле 203 могут рассматриваться как последующая обработка на выходе основной подсистемы 202 декодирования. Необязательно декодер 200 также включает в себя подсистему финального повышающего микширования (которая может применить инструменты параметрического стерео ("PS"), заданные в стандарте MPEG-4 AAC, с использованием метаданных PS, извлеченных блоком 205 удаления форматирования, и/или управляющих битов, сформированных в подсистеме 204), которая соединена и выполнена с возможностью выполнять повышающее микширование на выходе модуля 203, чтобы сформировать полностью декодированное, подвергнутое повышающему микшированию аудио, которая выдается из декодера 200. В качестве альтернативы постпроцессор 300 выполнен с возможностью выполнять повышающее микширование на выходе декодера 200 (например, с использованием метаданных PS, извлеченных блоком 205 удаления форматирования, и/или управляющих битов, сформированных в подсистеме 204).
В ответ на метаданные, извлеченные блоком 205 удаления форматирования, генератор 204 управляющих битов может сформировать управляющие данные, и управляющие данные могут быть использованы в декодере 200 (например, в системе финального повышающего микширования) и/или размещены как вывод декодера 200 (например, в постпроцессоре 300 для использования при последующей обработке). В ответ на метаданные, извлеченные из входного битового потока (и необязательно также в ответ на управляющие данные), модуль 204 может сформировать (и поместить в постпроцессор 300), управляющие биты, указывающие, что декодированные аудиоданные, выданные из модуля 203 обработки eSBR, должен быть подвергнуты определенному типу последующей обработки. В некоторых реализациях декодер 200 выполнен с возможностью помещать метаданные, извлеченные блоком 205 удаления форматирования из входного битового потока, в постпроцессор 300, и постпроцессор 300 выполнен с возможностью выполнять последующую обработку декодированных аудиоданных, выданных из декодера 200, с использованием метаданных.
Фиг. 4 является блок-схемой блока (210) обработки аудио ("APU"), который является другим вариантом осуществления блока обработки аудио изобретения. Блок 210 APU является декодером прежних версий, который не выполнен с возможностью выполнять обработку eSBR. Любой из компонентов или элементов APU 210 может быть реализован как один или более процессов и/или одна или более схем (например, специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA) или других интегральных схем), в аппаратных средствах, в программном обеспечении или в комбинации аппаратных средств и программного обеспечения. Блок 210 APU содержит буферную память 201, блок 215 удаления форматирования (блок синтаксического разбора) полезных данных битового потока, подсистему 202 декодирования аудио (иногда называемую "базовым" модулем декодирования или "базовой" подсистемой декодирования), и модуль 213 обработки SBR, соединенные, как показано. Как правило, Блок 210 APU также включает в себя другие элементы обработки (не показаны).
Элементы 201 и 202 блока 210 APU идентичны идентично пронумерованным элементам декодера 200 (фиг. 3), и их приведенное выше описание не будет повторяться. При работе блока 210 APU последовательность блоков закодированного битового потока аудио (битовый поток MPEG-4 AAC), принятого блоком 210 APU, перемещается из буфера 201 в блок 215 удаления форматирования.
Блок 215 удаления форматирования соединен и выполнен с возможностью демультиплексировать каждый блок битового потока, чтобы извлечь оттуда метаданные SBR (включающие в себя квантованные данные огибающей), и, как правило, также другие метаданные, но игнорировать метаданные eSBR, которые могут быть включены в битовый поток, в соответствии с любым вариантом осуществления настоящего изобретения. Блок 215 удаления форматирования выполнен с возможностью помещать, по меньшей мере, метаданные SBR в модуль 213 обработки SBR. Блок 215 удаления форматирования также соединен и выполнен с возможностью извлекать аудиоданные из каждого блока битового потока и помещать извлеченные аудиоданные в подсистему 202 декодирования (модуль декодирования).
Подсистема 202 декодирования аудио декодера 200 выполнена с возможностью декодировать аудиоданные, извлеченные блоком 215 удаления форматирования (такое декодирование может упоминаться как "базовая" операция декодирования), чтобы сформировать декодированные аудиоданные, и помещать декодированные аудиоданные в модуль 213 обработки SBR. Декодирование выполняется в частотной области. Как правило, заключительный этап обработки в подсистеме 202 применяет преобразование из частотной области во временную область к декодированным аудиоданным частотной области, таким образом, выводом подсистемы являются декодированные аудиоданные во временной области. Модуль 213 выполнен с возможностью применять инструменты SBR (но не инструменты eSBR), указанные посредством метаданных SBR (извлеченных блоком 215 удаления форматирования) к декодированным аудиоданным (т.е. выполнить обработку SBR на выходе подсистемы 202 декодирования с использованием метаданных SBR), чтобы сформировать полностью декодированные аудиоданные, которые выдаются (например, постпроцессору 300) из блока 210 APU. Как правило, Блок 210 APU включает в себя память (доступную для подсистемы 202 и модуля 213), которая хранит подвергнутые удалению форматирования аудиоданные и метаданные, выданные из блока 215 удаления форматирования, и модуль 213 выполнен с возможностью осуществлять доступ к аудиоданным и метаданным (включающим в себя метаданные SBR) по мере необходимости во время обработки SBR. Обработка SBR в модуле 213 может рассматриваться как последующая обработка на выходе основной подсистемы 202 декодирования. Необязательно блок 210 APU также включает в себя подсистему финального повышающего микширования (которая может применить инструменты параметрического стерео ("PS"), определенные в стандарте MPEG-4 AAC, с использованием метаданных PS, извлеченных блоком 215 удаления форматирования), который соединен и выполнен с возможностью выполнять повышающее микширование на выходе модуля 213, чтобы сформировать полностью декодированное, подвергнутое повышающему микшированию аудио, которое выдается из блока 210 APU. В качестве альтернативы постпроцессор выполнен с возможностью выполнять повышающее микширование на выходе блока 210 APU (например, с использованием метаданных PS, извлеченных блоком 215 удаления форматирования и/или управляющих битов, сформированных в блоке 210 APU).
Различные реализации кодера 100, декодера 200 и блока 210 APU выполнены с возможностью выполнять различные варианты осуществления способа изобретения.
В соответствии с некоторыми вариантами осуществления метаданные eSBR (например, включено небольшое количество управляющих битов, которые являются метаданными eSBR) включены в закодированный битовый поток аудио (например, битовый поток MPEG-4 AAC), в результате чего декодеры прежних версий (которые не выполнены с возможностью анализировать метаданные eSBR или использовать какой-либо инструмент eSBR, к которому относятся метаданные eSBR), может проигнорировать метаданные eSBR, но тем не менее декодировать битовый поток по мере возможности без использования метаданных eSBR или какого-либо инструмента eSBR, к которому относятся метаданные eSBR, как правило, без каких-либо значительных потерь качества декодированного аудио. Однако декодеры eSBR, выполненные с возможностью анализировать битовый поток, чтобы идентифицировать метаданные eSBR и использовать по меньшей мере один инструмент eSBR в ответ на метаданные eSBR, будут обладать преимуществами использования по меньшей мере одного такого инструмента eSBR. Таким образом, варианты осуществления изобретения обеспечивают средство для эффективной передачи управляющих данных или метаданных расширенного копирования спектральной полосы (eSBR) с соблюдением обратной совместимости.
Как правило, метаданные eSBR в битовом потоке указывают (например, указывают по меньшей мере одну характеристику или параметр) один или более из следующих инструментов eSBR (которые описаны в стандарте MPEG USAC, и которые могут быть применены или не применены кодером во время формирования битового потока):
- гармоническая транспозиция;
- дополнительная предварительная обработка QMF-вставки (предварительное сглаживание); и
- формирование временной огибающей отсчетов между поддиапазонами, или "интер-TES".
Например, метаданные eSBR, включенные в битовый поток, могут указывать значения параметров (описанные в стандарте MPEG USAC и в настоящем раскрытии): harmonicSBR[ch], sbrPatchingMode[ch], sbrOversamplingFlag[ch], sbrPitchInBins[ch], sbrPitchInBins[ch], bs_interTes, bs_temp_shape[ch][env], bs_inter_temp_shape_mode[ch][env] и bs_sbr_preprocessing.
Здесь обозначение X[ch], где X - некоторый параметр, обозначает, что параметр относится к каналу ("ch") содержимого аудио закодированного битового потока, который должен быть декодирован. Для простоты мы иногда опускаем выражение [ch] и предполагаем, что релевантный параметр относится к каналу содержимого аудио.
Здесь обозначение X[ch][env], где X - некоторый параметр, обозначает, что параметр относится к огибающей SBR (ʺenvʺ) канала ("ch") содержимого аудио закодированного битового потока, который должен быть декодирован. Для простоты мы иногда опускаем выражения [env] и [ch] и предполагаем, что релевантный параметр относится к огибающей SBR канала содержимого аудио.
Как отмечено, стандарт MPEG USAC предполагает, что битовый поток USAC включает в себя метаданные eSBR, которые управляют функционированием обработки eSBR посредством декодера. Метаданные eSBR включают в себя следующие однобитные параметры метаданных: harmonicSBR; bs_interTES и bs_pvc.
Параметр "harmonicSBR" указывает использование гармонической вставки (гармонической транспозиции) для SBR. Более конкретно, harmonicSBR=0 указывает не гармоническую спектральную вставку, как описано в разделе 4.6.18.6.3 стандарта MPEG-4 AAC; и harmonicSBR=1 указывает гармоническую вставку SBR (типа, используемого в eSBR, как описано в разделе 7.5.3 или 7.5.4 стандарта MPEG USAC). Гармоническая вставка SBR не используется в соответствии с копированием спектральной полосы, не являющемся eSBR (т.е. SBR, а не eSBR). В этом раскрытии спектральная вставка упоминается как базовая форма копирования спектральной полосы, тогда как гармоническая транспозиция упоминается как расширенная форма копирования спектральной полосы.
Значение параметра "bs_interTES" указывает использование инструмента интер-TES eSBR.
Значение параметра "bs_pvc" указывает использование инструмента PVC eSBR.
Во время декодирования закодированного битового потока функционированием гармонической транспозиции во время этапа обработки eSBR декодирования (для каждого канала "ch" содержимого аудио, указанного битовым потоком) управляют следующие параметры метаданных eSBR: sbrPatchingMode[ch]; sbrOversamplingFlag[ch]; sbrPitchInBinsFlag[ch]; и sbrPitchInBins[ch].
Значение "sbrPatchingMode[ch]" указывает тип транспозиции, используемой в eSBR: sbrPatchingMode[ch]=1 указывает не гармоническую вставку, как описано в разделе 4.6.18.6.3 стандарта MPEG-4 AAC; sbrPatchingMode[ch]=0 указывает гармоническую вставку SBR, как описано в разделе 7.5.3 или 7.5.4 стандарта MPEG USAC.
Значение "sbrOversamplingFlag[ch]" указывает использование сигнальной адаптивной сверхдискретизации в частотной области в eSBR в сочетании с основанной на DFT гармонической вставкой SBR, как описано в разделе 7.5.3 стандарта MPEG USAC. Этот флаг управляет размером DFT, который используется при транспозиции: 1 указывает, что сигнальная адаптивная сверхдискретизация в частотной области доступна, как описано в разделе 7.5.3.1 стандарта MPEG USAC; 0 указывает, что сигнальная адаптивная сверхдискретизация в частотной области недоступна, как описано в разделе 7.5.3.1 стандарта MPEG USAC.
Значение "sbrPitchInBinsFlag[ch]" управляет интерпретацией параметра sbrPitchInBins[ch]: 1 указывает, что значение в параметре sbrPitchInBins[ch] является пригодным и больше нуля; 0 указывает, что значение sbrPitchInBins[ch] установлено равным нулю.
Значение "sbrPitchInBins[ch]" управляет добавлением множителей векторного произведения при гармонической транспозиции SBR. Значение sbrPitchinBins[ch] является целочисленным значением в диапазоне [0,127] и представляет расстояние, измеренное в частотных двоичных символах для преобразования DFT с 1536 линиями, действующего на частоту дискретизации основного кодера.
В случае, когда битовый поток MPEG-4 AAC указывает пару каналов SBR, каналы которой не соединены (а не единственный канал SBR), битовый поток указывает два экземпляра упомянутого выше синтаксиса (для гармонической или не гармонической транспозиции), по одному для каждого канала sbr_channel_pair_element().
Гармоническая транспозиция инструмента eSBR, как правило, улучшает качество декодированных музыкальных сигналов при относительно низком переходе по частотам. Гармоническая транспозиция должна быть реализована в декодере посредством гармонической транспозиции либо на основе DFT, либо на основе QMF. Не гармоническая транспозиция (то есть, спектральная вставка или копирование прежних версий), как правило, улучшает речевые сигналы. Следовательно, отправная точка при решении относительно того, какой тип транспозиции предпочтителен для кодирования заданного содержимого аудио, состоит в выборе способа транспозиции в зависимости от обнаружения речи/музыки, при этом гармоническая транспозиция используется для музыки, и спектральная вставка используется для речи.
Функционированием предварительного сглаживания во время обработки eSBR управляет значение однобитного параметра метаданных eSBR, известного как "bs_sbr_preprocessing", в том смысле, что предварительное сглаживание либо выполнятся, либо не выполняется в зависимости от значения этого единственного бита. Когда используется алгоритм QMF-вставки SBR, как описано в разделе 4.6.18.6.3 стандарта MPEG-4 AAC, может быть выполнен этап предварительного сглаживания (когда обозначено параметром "bs_sbr_preprocessing"), чтобы избежать неоднородностей в форме огибающей спектра высокочастотного сигнала, вводимого в последующий блок корректировки огибающей (блок корректировки огибающей выполняет другой этап обработки eSBR). Предварительное сглаживание, как правило, улучшает операцию последующего этапа корректировки огибающей, что дает в результате высокополосный сигнал, который воспринимается более стабильно.
Функционированием формирования временной огибающей отсчетов между поддиапазонами (инструмент "интер-TES") во время обработки eSBR в декодере управляют следующие параметры метаданных eSBR для каждой огибающей SBR ("env") каждого канала («ch») содержимого аудио декодируемого битового потока USAC: bs_temp_shape[ch][env]; и bs_inter_temp_shape_mode[ch][env].
Инструмент интер-TES обрабатывает QMF отсчеты поддиапазона после блока корректировки огибающей. Этот этап обработки формирует временную огибающую более высокого диапазона частот с более высокой степенью временной детализации, чем блок корректировки огибающей. Посредством применения коэффициента усиления к каждому QMF отсчету поддиапазона в огибающей SBR интер-TES формирует временную огибающую среди QMF отсчетов поддиапазона.
Параметр ʺbs_temp_shape[ch][env]ʺ является флагом, который сигнализирует использование интер-TES. Параметр ʺbs_inter_temp_shape_mode[ch][env]ʺ указывает (как задано в стандарте MPEG USAC) значения параметра γ в интер-TES.
Общее требование битовой скорости для включения в битовый поток MPEG-4 AAC метаданных eSBR, указывающих упомянутые выше инструменты eSBR (гармоническая транспозиция, предварительное сглаживание и интер-TES) предполагается на уровне порядка нескольких сотен бит в секунду, поскольку только отличительные управляющие данные, необходимые для выполнения обработки eSBR, передаются в соответствии с некоторыми вариантами осуществления изобретения. Декодеры прежних версий могут игнорировать эту информацию, поскольку она включена с соблюдением обратной совместимости (как будет описано позже). Таким образом, неблагоприятное воздействие на битовую скорость, связанную с включением метаданных eSBR, является незначительным по ряду причин, в том числе следующих:
- Потери битовой скорости (вследствие включения метаданных eSBR) представляют собой очень небольшую часть общей битовой скорости, поскольку передаются только отличительные управляющие данные, необходимые для выполнения обработки eSBR (а не параллельная передача управляющих данных SBR);
- Настройка относящейся к SBR управляющей информации, как правило, не зависит от подробных сведений о транспозиции; и
- Инструмент интер-TES (используемый во время обработки eSBR) выполняет одностороннюю последующую обработку транспонированного сигнала.
Таким образом, варианты осуществления изобретения обеспечивают средство для эффективной передачи управляющих данных или метаданных расширенного копирования спектральной полосы (eSBR) с соблюдением обратной совместимости. Эта эффективная передача управляющих данных eSBR сокращает требования к памяти в декодерах, кодерах и транскодерах, использующих аспекты изобретения, без оказания какого-либо ощутимого отрицательного эффекта на битовую скорость. Кроме того, сложность и требования к обработке, связанные с выполнением eSBR в соответствии с вариантами осуществления изобретения, также сокращены, поскольку данные SBR необходимо обработать только один раз, а не передавать их параллельно, что имело бы место, если бы eSBR рассматривалось как совершенно отдельный тип объекта в MPEG-4 AAC, вместо того, чтобы быть интегрированным в кодер-декодер MPEG-4 AAC с соблюдением обратной совместимости.
Далее со ссылкой на фиг. 7 мы описываем элементы блока ("raw_data_block") битового потока MPEG-4 AAC, в которые включены метаданные eSBR, в соответствии с некоторыми вариантами осуществления настоящего изобретения. Фиг. 7 является схемой блока ("raw_data_block") битового потока MPEG-4 AAC, показывающей некоторые его сегменты.
Блок битового потока MPEG-4 AAC может включать в себя по меньшей мере один элемент ʺsingle_channel_element()ʺ (например, элемент одиночного канала, показанный на фиг. 7) и/или по меньшей мере один элемент ʺchannel_pair_element()ʺ (специально не показан на фиг. 7, хотя может присутствовать), включающий в себя аудиоданные для аудио программы. Блок также может включать в себя несколько элементов "fill_elements" (например, заполняющий элемент 1 и/или заполняющий элемент 2 на фиг. 7), включающих в себя данные (например, метаданные), относящиеся к программе. Каждый элемент ʺsingle_channel_element()ʺ включает в себя идентификатор (например, "ID1" на фиг. 7), указывающий начало элемента одиночного канала, и может включать в себя аудиоданные, указывающие другой канал многоканальной аудио программы. Каждый элемент ʺchannel_pair_element" включает в себя идентификатор (не показан на фиг. 7), указывающий начало элемента пары каналов, и может включать в себя аудиоданные, указывающие два канала программы.
Элемент fill_element (называемый здесь далее "заполняющий элемент") битового потока MPEG-4 AAC включает в себя идентификатор ("ID2" на фиг. 7), указывающий начало заполняющего элемента, и заполняющие данные после идентификатора. Идентификатор ID2 может состоять из трехбитного целого без знака, у которого сначала передается старший значащий бит ("uimsbf"), имеющего значение 0×6. Заполняющие данные могут включать в себя элемент extension_payload() (иногда упоминаемый в настоящем документе как добавочная полезная нагрузка), синтаксис которого показан в таблице 4.57 стандарта MPEG-4 AAC. Существуют несколько типов добавочных полезных нагрузок, и они идентифицируются через параметр "extension_type", который является четырехбитным целым без знака, у которого сначала передается старший значащий бит ("uimsbf").
Заполняющие данные (например, их добавочная полезная нагрузка) могут включать в себя заголовок или идентификатор (например, "Заголовок 1" на фиг. 7), который указывает сегмент заполняющих данных, который указывает объект SBR (т.е., заголовок инициализирует тип "объект SBR", называемый sbr_extension_data() в стандарте MPEG-4 AAC). Например, добавочная полезная нагрузка копирования спектральной полосы (SBR) идентифицируется значением '1101' или '1110' для extension_type поля в заголовке, и идентификатор '1101' идентифицирует добавочную полезную нагрузку с данными SBR, а '1110' идентифицирует добавочную полезную нагрузку с данными SBR с циклическим контролем избыточности (CRC) для проверки правильности данных SBR.
Когда заголовок (например, поле extension_type) инициализирует тип объекта SBR, метаданные SBR (иногда упоминаемые в настоящем документе как ʺданные копирования спектральной полосыʺ и называемые sbr_data() в стандарте MPEG-4 AAC) следуют за заголовком, и по меньшей мере один добавочный элемент копирования спектральной полосы (например, ʺдобавочный элемент SBRʺ заполняющего элемента 1 на фиг. 7) может следовать за метаданными SBR. Такой добавочный элемент копирования спектральной полосы (сегмент битового потока) упоминается как контейнер ʺsbr_extension()ʺ в стандарте MPEG-4 AAC. Добавочный элемент копирования спектральной полосы необязательно включает в себя заголовок (например, ʺдобавочный заголовок SBRʺ заполняющего элемента 1 на фиг. 7).
Стандарт MPEG-4 AAC предполагает, что добавочный элемент копирования спектральной полосы может включать в себя данные PS (параметрического стерео) для аудиоданных программы. Стандарт MPEG-4 AAC предполагает, что когда заголовок заполняющего элемента (например, его добавочной полезных данных) инициализирует тип объекта SBR (как делает "Заголовок 1" на фиг. 7), и добавочный элемент копирования спектральной полосы заполняющего элемента включает в себя данные PS, заполняющий элемент (например, его добавочная полезная нагрузка) включает в себя данные копирования спектральной полосы и параметр "bs_extension_id", значение которого (т.е. bs_extension_id=2) указывает, что данные PS включены в добавочный элемент копирования спектральной полосы заполняющего элемента.
В соответствии с некоторыми вариантами осуществления настоящего изобретения метаданные eSBR (например, флаг, указывающий, должна ли быть выполнена обработка расширенного копирования спектральной полосы (eSBR) для содержимого аудио блока), включены в добавочный элемент копирования спектральной полосы заполняющего элемента. Например, такой флаг обозначен в заполняющем элементе 1 на фиг. 7, где флаг имеет место после заголовка (ʺдобавочный заголовок SBRʺ заполняющего элемента 1) ʺдобавочного элемента SBRʺ заполняющего элемента 1. Необязательно такой флаг и дополнительные метаданные eSBR включаются в добавочный элемент копирования спектральной полосы после заголовка добавочного элемента копирования спектральной полосы (например, в дополнительном элементе SBR заполняющего элемента 1 на фиг. 7, после добавочного заголовка SBR). В соответствии с некоторыми вариантами осуществления настоящего изобретения, заполняющий элемент, который включает в себя метаданные eSBR, также включает в себя параметр "bs_extension_id", значение которого (например, bs_extension_id=3) указывает, что метаданные eSBR включены в заполняющий элемент, и что обработка eSBR должна быть выполнена для содержимого аудио релевантного блока.
В соответствии с некоторыми вариантами осуществления изобретения метаданные eSBR включены в заполняющий элемент (например, заполняющий элемент 2 на фиг. 7) битового потока MPEG-4 AAC, отличающийся от добавочного элемента копирования спектральной полосы (добавочный элемент SBR) заполняющего элемента. Это вызвано тем, что заполняющие элементы, содержащие extension_payload() с данными SBR или данными SBR с CRC, не содержат никакую другую добавочную полезную нагрузку никакого другого добавочного типа. Таким образом, в вариантах осуществления, когда метаданные eSBR хранят их собственную добавочную полезную нагрузку, отдельный заполняющий элемент используется, чтобы хранить метаданные eSBR. Такой заполняющий элемент включает в себя идентификатор (например, "ID2" на фиг. 7), указывающий начало заполняющего элемента, и заполняющие данные после идентификатора. Заполняющие данные могут включать в себя элемент extension_payload() (иногда упоминаемый в настоящем документе как добавочная полезная нагрузка), синтаксис которого показан в таблице 4.57 стандарта MPEG-4 AAC. Заполняющие данные (например, добавочная полезная нагрузка) включает в себя заголовок (например, "Заголовок 2" заполняющего элемента 2 на фиг. 7), который указывает объект eSBR (т.е. заголовок инициализирует тип объекта расширенного копирования спектральной полосы (eSBR)), и заполняющие данные (например, дополнительная полезная нагрузка) включает в себя метаданные eSBR после заголовка. Например, заполняющий элемент 2 на фиг. 7 включает в себя такой заголовок ("Заголовок 2"), и также включает в себя после заголовка метаданные eSBR (т.е. "флаг" в заполняющем элементе 2, который указывает, должна ли быть выполнена обработка расширенного копирования спектральной полосы (eSBR) для содержимого аудио блока). Необязательно дополнительные метаданные eSBR также включены в заполняющие данные заполняющего элемента 2 на фиг. 7 после Заголовка 2. В вариантах осуществления, описываемых в настоящем абзаце, заголовок (например, Заголовок 2 на фиг. 7) имеет идентификационное значение, которое не является одним из традиционных значений, определенных в таблице 4.57 стандарта MPEG-4 AAC, и вместо этого указывает добавочную полезную нагрузку eSBR (таким образом, что extension_type поле заголовка указывает, что заполняющие данные включают в себя метаданные eSBR).
В первом классе вариантов осуществления изобретение представляет собой блок обработки аудио (например, декодер), содержащий:
память (например, буфер 201 на фиг. 3 или 4), выполненный с возможностью, хранить по меньшей мере один блок закодированного битового потока аудио (например, по меньшей мере один блок битового потока MPEG-4 AAC);
блок удаления форматирования полезных данных битового потока (например, элемент 205 на фиг. 3 или элемент 215 на фиг. 4), соединенный с памятью и выполненный с возможностью демультиплексировать по меньшей мере одну часть упомянутого блока битового потока; и
подсистему декодирования (например, элементы 202 и 203 на фиг. 3 или элементы 202 и 213 на фиг. 4), соединенную и выполненную с возможностью декодировать по меньшей мере одну часть содержимого аудио упомянутого блока битового потока, причем блок включает в себя:
заполняющий элемент, включающий в себя идентификатор, указывающий начало заполняющего элемента (например, идентификатор "id_syn_ele", имеющий значение 0×6, таблицы 4.85 стандарта MPEG-4 AAC), и заполняющие данные после идентификатора, причем заполняющие данные включают в себя:
по меньшей мере один флаг, идентифицирующий, должна ли быть выполнена обработка расширенного копирования спектральной полосы (eSBR) для содержимого аудио блока (например, с использованием данных копирования спектральной полосы и метаданных eSBR, включенных в блок).
Флаг представляет собой метаданные eSBR, и примером флага является флаг sbrPatchingMode. Другим примером флага является флаг harmonicSBR. Оба из этих флагов указывают, должна ли быть выполнена базовая форма копирования спектральной полосы или расширенная форма копирования спектральной полосы для аудиоданных блока. Базовой формой копирования спектральной полосы является спектральная вставка, и расширенной формой копирования спектральной полосы является гармоническая транспозиция.
В некоторых вариантах осуществления заполняющие данные также включают в себя дополнительные метаданные eSBR (т.е. метаданные eSBR, не являющиеся флагом).
Память может представлять собой буферную памятью (например, реализация буфера 201 на фиг. 4), которая хранит (например, энергонезависимым образом) по меньшей мере один блок закодированного битового потока аудио.
Предполагается, что сложность функционирования обработки eSBR (с использованием инструментов гармонической транспозиции, предварительного сглаживания и интер-TES eSBR) посредством декодера eSBR во время декодирования битового потока MPEG-4 AAC, который включает в себя метаданные eSBR (указывающие эти инструменты eSBR) будет следующей (для типичного декодирования с указанными параметрами):
- Гармоническая транспозиция (16 Кбит/с, 14400/28800 Гц)
-- на основе DFT: 3,68 WMOPS (взвешенных миллионов операций в секунду);
-- на основе QMF: 0,98 WMOPS;
- Предварительная обработка QMF-вставки (предварительное сглаживание): 0,1 WMOPS; и
- Формирование временной огибающей отсчетов между поддиапазонами (интер-TES): по большей мере 0,16 WMOPS.
Известно, что транспозиция на основе DFT, как правило, выполняется лучше, чем транспозиция на основе QMF для переходных процессов.
В соответствии с некоторыми вариантами осуществления настоящего изобретения заполняющий элемент (закодированного битового потока аудио), который включает в себя метаданные eSBR, также включает в себя параметр (например, параметр "bs_extension_id"), значение которого (например, bs_extension_id=3) сигнализирует, что метаданные eSBR включены в заполняющий элемент, и что обработка eSBR должна быть выполнена для содержимого аудио релевантного блока, и/или параметр (например, этот же параметр "bs_extension_id"), значение которого (например, bs_extension_id=2) сигнализирует, что контейнер sbr_extension() заполняющего элемента включает в себя данные PS. Например, как указано в приведенной ниже таблице 1, такой параметр, имеющий значение bs_extension_id=2, может сигнализировать, что контейнер sbr_extension() заполняющего элемента включает в себя данные PS, и такой параметр, имеющий значение bs_extension_id=3, может сигнализировать, что контейнер sbr_extension() заполняющего элемента включает в себя метаданные eSBR:
Таблица 1
<b>bs_extension_id</b>
<b>Значение</b>
0
Зарезервировано
1
Зарезервировано
2
EXTENSION_ID_PS
3
EXTENSION_ID_ESBR
В соответствии с некоторыми вариантами осуществления изобретения синтаксис каждого добавочного элемента копирования спектральной полосы, который включает в себя метаданные eSBR и/или данные PS, как указано в приведенной ниже таблице 2 (в которой ʺsbr_extension()ʺ обозначает контейнер, который является добавочным элементом копирования спектральной полосы, "bs_extension_id" описан в приведенной выше таблице 1, "ps_data" обозначает данные PS, и "esbr_data" обозначает метаданные eSBR):
Таблица 2
Прим. 1: ps_data() возвращает количество считанных битов.
Прим. 2: esbr_data() возвращает количество считанных битов.
Прим. 3: параметр bs_fill_bits содержит N битов, где N=num_bits_left.
В иллюстративном варианте осуществления esbr_data(), упомянутый в приведенной выше таблице 2, указывает значения следующих параметров метаданных:
1. каждый из описанных выше однобитных параметров метаданных «harmonicSBR»; «bs_interTES»; и «bs_sbr_preprocessing»;
2. для каждого канала ("ch") содержимого аудио закодированного битового потока, который должен быть декодирован, каждый из описанных выше параметров: "sbrPatchingMode[ch]"; "sbrOversamplingFlag[ch]"; "sbrPitchInBinsFlag[ch]"; и "sbrPitchInBins[ch]"; и
3. для каждой огибающей SBR (ʺenvʺ) каждого канала ("ch") содержимого аудио закодированного битового потока, который должен быть декодирован, каждый из описанных выше параметров: ʺbs_temp_shape[ch][env]ʺ; и ʺbs_inter_temp_shape_mode[ch][env]ʺ.
Например, в некоторых вариантах осуществления esbr_data() может иметь синтаксис, указанный в таблице 3, чтобы указать эти параметры метаданных:
Таблица 3
В таблице 3 число в центральном столбце указывает количество битов соответствующего параметра в левой колонке.
Приведенный выше синтаксис дает возможность эффективной реализации расширенной формы копирования спектральной полосы, такой как гармоническая транспозиция, в качестве расширения для декодера прежних версий. Более конкретно, данные eSBR в таблице 3 включают в себя только те параметры, необходимые для выполнения расширенной формы копирования спектральной полосы, которые либо уже не поддерживаются в битовом потоке, либо могут быть непосредственно выведены из параметров, уже поддерживаемых в битовом потоке. Все другие параметры и данные обработки, необходимые для выполнения расширенной формы копирования спектральной полосы, извлечены из ранее существующих параметров в уже заданных местоположениях в битовом потоке. В этом состоит отличие от альтернативной (и менее эффективной) реализации, которая просто передает все метаданные обработки, используемые для расширенного копирования спектральной полосы.
Например, декодер, совместимый с MPEG-4 HE-AAC или HE-AAC v2, может быть расширен, чтобы он включал в себя расширенную форму копирования спектральной полосы, такую как гармоническая транспозиция. Эта расширенная форма копирования спектральной полосы дополняет базовую форму копирования спектральной полосы, уже поддерживаемую декодером. В контексте декодера, совместимого с MPEG-4 HE-AAC или HE-AAC v2, этой базовой формой копирования спектральной полосы является инструмент спектральной вставки QMF SBR, как задано в разделе 4.6.18 стандарта MPEG-4 AAC.
При выполнении расширенной формы копирования спектральной полосы расширенный декодер HE-AAC может повторно использовать многие параметры битового потока, уже включенные в добавочную полезную нагрузку SBR битового потока. Конкретные параметры, которые могут быть повторно использованы, включают в себя, например, различные параметры, которые определяют основную таблицу диапазонов частот. Эти параметры включают в себя bs_start_freq (параметр, который определяет начало параметра основной таблицы частот), bs_stop_freq (параметр, который определяет конец основной таблицы частот), bs_freq_scale (параметр, который определяет количество диапазонов частот на октаву) и bs_alter_scale (параметр, который изменяет масштаб диапазонов частот). Параметры, которые могут быть повторно использованы, также включают в себя параметры, которые определяют таблицу полосы шумов (bs_noise_bands) и параметры таблицы полосы ограничителя (bs_limiter_bands).
В дополнение к многочисленным параметрам другие элементы данных также могут быть повторно использованы расширенным декодером HE-AAC при выполнении расширенной форму копирования спектральной полосы в соответствии с вариантами осуществления изобретения. Например, данные огибающей и данные минимального уровня шума также могут быть извлечены из данных bs_data_env и bs_noise_env и использованы во время расширенной формы копирования спектральной полосы.
В сущности, эти варианты осуществления используют параметры конфигурации и данные огибающей, уже поддерживаемые декодером HE-AAC или HE-AAC v2 прежних версий, в добавочной полезной нагрузке SBR, чтобы дать возможность для расширенной формы копирования спектральной полосы, требуя как можно меньше дополнительных переданных данных. В соответствии с этим расширенные декодеры, которые поддерживают расширенную форму копирования спектральной полосы, могут быть созданы очень эффективным образом, полагаясь на уже заданные элементы битового потока (например, в добавочной полезной нагрузке SBR) и добавляя только те параметры, которые необходимы для поддержки расширенной формы копирования спектральной полосы (в добавочной полезной нагрузке заполняющего элемента). Этот признак сокращения объема данных в сочетании с размещением новых добавленных параметров в зарезервированном поле данных, таком как добавочный контейнер, в значительной степени сокращает барьеры для создания декодера, который поддерживает расширенное копирование спектральной полосы, гарантируя, что битовый поток обратно совместим с декодером прежних версий, не поддерживающим расширенную форму копирования спектральной полосы.
В некоторых вариантах осуществления изобретение представляет собой способ, включающий в себя этап кодирования аудиоданных, чтобы сформировать закодированный битовый поток (например, битовый поток MPEG-4 AAC), в том числе посредством включения метаданных eSBR по меньшей мере в один сегмент по меньшей мере одного блока закодированного битового потока и аудиоданных, по меньшей мере, еще в один сегмент блока. В типичных вариантах осуществления способ включает в себя этап мультиплексирования аудиоданных с метаданными eSBR в каждом блоке закодированного битового потока. В типичном декодировании закодированного битового потока в декодере eSBR декодер извлекает метаданные eSBR из битового потока (в том числе посредством синтаксического разбора и демультиплексирования метаданных eSBR и аудиоданных) и использует метаданные eSBR для обработки аудиоданных, чтобы сформировать поток декодированных аудиоданных.
Другим аспектом изобретения является декодер eSBR, выполненный с возможностью выполнять обработку eSBR (например, с использованием по меньшей мере одного из инструментов eSBR, известных как гармоническая транспозиция, предварительное сглаживание или интер-TES) во время декодирования закодированного битового потока аудио (например, битового потока MPEG-4 AAC), который не включает в себя метаданные eSBR. Пример такого декодера будет описан со ссылкой на фиг. 5.
Декодер (400) eSBR на фиг. 5 включает в себя буферную память 201 (которая идентична памяти 201 на фиг. 3 и 4), блок 215 удаления форматирования полезных данных битового потока (который идентичен блоку 215 удаления форматирования на фиг. 4), подсистему 202 декодирования аудио (иногда называемую "базовым" модулем декодирования или "базовой" подсистемой декодирования, которая идентична базовой подсистеме 202 декодирования на фиг. 3), подсистему 401 формирования управляющих данных eSBR и модуль 203 обработки eSBR (который идентичен модулю 203 на фиг. 3), соединенные, как показано. Как правило, также декодер 400 включает в себя другие элементы обработки (не показаны).
В работе декодера 400 последовательность блоков закодированного битового потока аудио (битового потока MPEG-4 AAC), принятого декодером 400, перемещается из буфера 201 в блок 215 удаления форматирования.
Блок 215 удаления форматирования соединен и выполнен с возможностью демультиплексировать каждый блок битового потока, чтобы извлечь оттуда метаданные SBR (включающие в себя квантованные данные огибающей) и, как правило, также другие метаданные. Блок 215 удаления форматирования выполнен с возможностью помещать, по меньшей мере, метаданные SBR в модуль 203 обработки eSBR. Блок 215 удаления форматирования также соединен и выполнен с возможностью извлекать аудиоданные из каждого блока битового потока и помещать извлеченные аудиоданные в подсистему 202 декодирования (модуль декодирования).
Подсистема 202 декодирования аудио декодера 400 выполнен с возможностью декодировать аудиоданные, извлеченные блоком 215 удаления форматирования (такое декодирование может упоминаться как "базовая" операция декодирования), чтобы сформировать декодированные аудиоданные, и помещать декодированные аудиоданные в модуль 203 обработки eSBR. Декодирование выполняется в частотной области. Как правило, заключительный этап обработки в подсистеме 202 применяет преобразование из частотной области во временную область к декодированным аудиоданным частотной области, таким образом, выводом подсистемы являются декодированные аудиоданные во временной области. Модуль 203 выполнен с возможностью применять инструменты SBR (и инструменты eSBR), указанные посредством метаданных SBR (извлеченных блоком 215 удаления форматирования) и метаданных eSBR, сформированных в подсистеме 401, к декодированным аудиоданным (т.е., выполнять обработку SBR и обработку eSBR на выходе подсистемы декодирования 202 с использованием метаданных SBR и метаданных eSBR), чтобы сформировать полностью декодированные аудиоданные, которые выдаются из декодера 400. Как правило, декодер 400 включает в себя память (доступную для подсистемы 202 и модуля 203), которая хранит подвергнутые удалению форматирования аудиоданные и метаданные, выданные из блока 215 удаления форматирования (и необязательно также подсистемы 401), и модуль 203 выполнен с возможностью осуществлять доступ к аудиоданным и метаданным по мере необходимости во время обработки SBR и обработки eSBR. Обработка SBR в 203 может рассматриваться как последующая обработка на выходе основной подсистемы 202 декодирования. Необязательно декодер 400 также включает в себя подсистему финального повышающего микширования (которая может применить инструменты параметрического стерео ("PS"), заданные в стандарте MPEG-4 AAC, с использованием метаданных PS, извлеченных блоком 215 удаления форматирования), которая соединена и выполнена с возможностью выполнять повышающее микширование на выходе модуля 203, чтобы сформировать полностью декодированное, подвергнутое повышающему микшированию аудио, которое выдается из блока 210 APU.
Подсистема 401 формирования управляющих данных на фиг. 5 соединена и выполнена с возможностью обнаруживать по меньшей мере одно свойство закодированного битового потока аудио, который должен быть декодирован, и формировать управляющие данные eSBR(которые могут представлять собой или включать в себя метаданные eSBR любого из типов, включенных в закодированные битовые поток аудио и в соответствии с другими вариантами осуществления изобретения) в ответ на по меньшей мере один результат этапа обнаружения. Управляющие данные eSBR помещаются в модуль 203, чтобы инициировать применение отдельных инструментов eSBR или комбинации инструментов eSBR после обнаружения заданного свойства (или комбинации свойств) битового потока, и/или управлять применением таких инструментов eSBR. Например, чтобы управлять функционированием обработки eSBR с использованием гармонической транспозиции, некоторые варианты осуществления подсистемы формирования управляющих данных 401 включают в себя: датчик музыки (например, упрощенную версию традиционного датчика музыки) для установки параметра sbrPatchingMode[ch] (и помещения установленного параметр в модуль 203) в ответ на обнаружение, что битовый поток указывает или не указывает музыку; датчик перехода для установки параметра sbrOversamplingFlag[ch] (и помещения установленного параметра в модуль 203) в ответ на обнаружение присутствия или отсутствия переходных процессов в содержимом аудио, указанным посредством битового потока; и/или датчик тона для установки параметров sbrPitchInBinsFlag[ch] и sbrPitchInBins[ch] (и помещения установленных параметров в модуль 203) в ответ на обнаружение тона содержимого аудио, указанного посредством битового потока. Другими аспектами изобретения являются способы декодирования битового потока аудио, выполненные посредством любого варианта осуществления декодера изобретения, описанного в этом абзаце и предыдущем абзаце.
Аспекты изобретения включают в себя способ кодирования или декодирования типа, который любой вариант осуществления блока APU, системы или устройства изобретения выполнен с возможностью выполнять (например, запрограммирован). Другие аспекты изобретения включают в себя систему или устройство, выполненные с возможностью (например, запрограммированные) выполнять любой вариант осуществления способа изобретения, и машиночитаемый носитель (например, диск), который хранит код (например, энергонезависимым образом) для реализации любого варианта осуществления способа изобретения или его этапов. Например, система изобретения может представлять собой или включать в себя программируемый процессор общего назначения, процессор цифровой обработки сигналов или микропроцессор, запрограммированный с помощью программного обеспечения или программно-аппаратного обеспечения и/или иным образом выполненный с возможностью выполнять любое множество операций для данных, включающих в себя вариант осуществления способа изобретения или его этапов. Такой процессор общего назначения может представлять собой или включать в себя компьютерную систему, включающую в себя устройство ввода, память и схему обработки, запрограммированную (и/или иным образом выполненную с возможностью) выполнять вариант осуществления способа изобретения (или его этапы) в ответ на помещенные в него данные.
Варианты осуществления настоящего изобретения могут быть реализованы в аппаратных средствах, программно-аппаратном обеспечении или программном обеспечении, или в их комбинации (например, как программируемая логическая матрица). Если не определено иначе, алгоритмы или процессы, включенные как часть изобретения, изначально не относятся к каким-либо конкретному компьютеру или другому устройству. В частности, различные машины общего назначения могут использоваться с программами, написанными в соответствии с идеями в настоящем документе, или может быть более удобно построить более специализированное устройство (например, интегральные схемы) для выполнения этапов требуемого метода. Таким образом, изобретение может быть реализовано в одной или более компьютерных программах, исполняющихся на одной или более программируемых компьютерных системах (например, реализация любого из элементов на фиг. 1, или кодер 100 на фиг. 2 (или его элемент), или декодер 200 на фиг. 3 (или его элемент), или декодер 210 на фиг. 4 (или его элемент), или декодер 400 на фиг. 5 (или его элемент)), каждая из которых включает в себя по меньшей мере один процессор, по меньшей мере одну систему хранения данных (в том числе энергозависимую и энергонезависимую память и/или запоминающие элементы), по меньшей мере одно устройство или порт ввода и по меньшей мере одно устройство или порт вывода. Программный код применяется для ввода данных для выполнения функций, описанных в настоящем документе, и формирования выходной информации. Выходная информация применяется к одному или более устройствам вывода известным образом.
Каждая такая программа может быть реализована на любом желаемом компьютерном языке (в том числе машинном языке, языке ассемблера или процедурных, логических или объектно-ориентированных языках программирования высокого уровня) для взаимодействия с компьютерной системой. В любом случае язык может являться компилируемым или интерпретируемым языком.
Например, при реализации посредством последовательностей компьютерных программных команд различные функции и этапы вариантов осуществления изобретения могут быть реализованы посредством многопоточных последовательностей программных команд, работающих в подходящих аппаратных средствах цифровой обработки сигналов, в этом случае различные устройства, модули и функции вариантов осуществления могут соответствовать частям программных команд.
Каждая такая компьютерная программа предпочтительно сохранена или загружена на запоминающий носитель или устройство (например, твердотельную память или носитель, или магнитные или оптические носители), читаемые посредством программируемого компьютера общего или специализированного назначения, для конфигурации и работы компьютера, когда запоминающий носитель или устройство считываются компьютерной системой для выполнения процедур, описанных в настоящем документе. Система изобретения также может быть реализована как машиночитаемый запоминающий носитель, конфигурированный с помощью (т.е. хранящий) компьютерной программы, причем сконфигурированный таким образом запоминающий носитель заставляет компьютерную систему работать заданным и предварительно заданным образом для выполнения функций, описанных в настоящем документе.
Было описано некоторое число вариантов осуществления изобретения. Тем не менее следует понимать, что могут быть сделаны различные модификации без отступления от сущности и объема изобретения. Многочисленные модификации и изменения настоящего изобретения возможны в свете изложенных выше идей. Следует понимать, что в рамках объема приложенной формулы изобретения изобретение может быть осуществлено иначе, чем конкретно описано в настоящем документе. Любые номера для ссылок, содержащиеся в последующей формуле изобретения, даны только в иллюстративных целях и не должны использоваться, чтобы толковать или ограничивать формулу изобретения каким бы то ни было образом.