АУДИОКОДЕК, ПОДДЕРЖИВАЮЩИЙ РЕЖИМЫ КОДИРОВАНИЯ ВО ВРЕМЕННОЙ ОБЛАСТИ И В ЧАСТОТНОЙ ОБЛАСТИ
AUDIO CODEC SUPPORTING TIME-DOMAIN AND FREQUENCY-DOMAIN CODING MODES

Настоящее изобретение относится к аудиокодеку, поддерживающему режимы кодирования во временной области и в частотной области.
Недавно завершено создание MPEG USAC-кодека. USAC (стандартизированное кодирование речи и аудио) является кодеком, который кодирует аудиосигналы с использованием сочетания AAC (усовершенствованного кодирования аудио), TCX (возбуждения кодированием с преобразованием) и ACELP (линейного прогнозирования с возбуждением алгебраическим кодом). В частности, MPEG USAC использует длину кадра в 1024 выборок и дает возможность переключения между AAC-подобными кадрами в 1024 или 8×128 выборок, 1024 TCX-кадрами или, в одном кадре, комбинации из ACELP-кадров (256 выборок), 256 и 512 TCX-кадров.
Недостаток состоит в том, что MPEG USAC-кодек не подходит для вариантов применения, требующих низкой задержки. Варианты применения для двусторонней связи, например, требуют таких малых задержек. Вследствие длины USAC-кадра в 1024 выборок USAC не подходит для этих вариантов применения с низкой задержкой.
В WO 2011147950 предложено обеспечивать применимость USAC-подхода для вариантов применения с низкой задержкой посредством ограничения режимов кодирования USAC-кодека только TCX и ACELP-режимами. Дополнительно, предложено повысить детализацию структуры кадра таким образом, чтобы удовлетворять требованию низкой задержки, накладываемому посредством вариантов применения с низкой задержкой.
Тем не менее, по-прежнему существует потребность в предоставлении аудиокодека, обеспечивающего низкую задержку при кодировании при повышенной эффективности с точки зрения отношения скорость/искажения. Предпочтительно, кодек должен иметь возможность эффективно обрабатывать аудиосигналы различных типов, такие как речь и музыка.
Таким образом, цель настоящего изобретения заключается в том, чтобы предоставлять аудиокодек, предлагающий низкую задержку для вариантов применения с низкой задержкой, но при повышенной эффективности кодирования с точки зрения, например, отношения скорость/искажения по сравнению с USAC.
Эта цель достигается посредством предмета изобретения в находящихся на рассмотрении независимых пунктах формулы изобретения.
Базовая идея, лежащая в основе настоящего изобретения, заключается в том, что аудиокодек, поддерживающий режимы кодирования во временной области и в частотной области, который имеет низкую задержку и повышенную эффективность кодирования с точки зрения отношения скорость/искажения, может быть получен, если аудиокодер выполнен с возможностью работать в различных рабочих режимах, так что, если активный рабочий режим является первым рабочим режимом, зависящий от режима набор из доступных режимов кодирования кадров не пересекается с первым поднабором режимов кодирования во временной области и перекрывается со вторым поднабором режимов кодирования в частотной области, тогда как, если активный рабочий режим является вторым рабочим режимом, зависящий от режима набор из доступных режимов кодирования кадров перекрывается с обоими поднаборами, т.е. с поднабором режимов кодирования во временной области, а также с поднабором режимов кодирования в частотной области. Например, решение в отношении того, к какому из первого и второго рабочего режима осуществляется доступ, может быть выполнено в зависимости от доступной скорости передачи битов для передачи потока данных. Например, зависимость решения может быть такой, что ко второму рабочему режиму доступ осуществляется в случае более низких доступных скоростей передачи битов, в то время как к первому рабочему режиму доступ осуществляется в случае более высоких доступных скоростей передачи битов. В частности, посредством предоставления кодера с рабочими режимами, можно не допускать выбора посредством кодера любого режима кодирования во временной области в случае, если условия кодирования, к примеру, определенные посредством доступных скоростей передачи битов, являются такими, что выбор любого режима кодирования во временной области с большой вероятностью приводит к потере эффективности кодирования, если рассматривать эффективность кодирования с точки зрения отношения скорость/искажения в зависимости от скорости передачи в долгосрочной перспективе. Если точнее, авторы настоящей заявки узнали, что подавление выбора любого режима кодирования во временной области в случае (относительно) высокой доступной полосы пропускания передачи приводит к повышению эффективности кодирования: тогда как в краткосрочной перспективе можно предположить, что режим кодирования во временной области в настоящее время должен предпочитаться по сравнению с режимами кодирования в частотной области, это допущение с большой вероятностью окажется некорректным при анализе аудиосигнала в течение более длительного периода. Тем не менее, такой более длительный анализ или прогнозирование невозможны в вариантах применения с низкой задержкой, и, соответственно, недопущение осуществления доступа посредством кодера к любому режиму кодирования во временной области заранее обеспечивает достижение повышенной эффективности кодирования.
В соответствии с вариантом осуществления настоящего изобретения вышеуказанная идея используется так, что скорость передачи битов потока данных дополнительно увеличивается. Хотя синхронное управление рабочим режимом кодера и декодера является достаточно экономным с точки зрения скорости передачи битов или даже вообще не требует затрат в форме скорости передачи битов, когда синхронность обеспечивается посредством некоторого другого средства, тот факт, что кодер и декодер работают и переключаются между рабочими режимами синхронно, может быть использован для того, чтобы уменьшать объем служебной сигнализации для сигнализации режимов кодирования кадров, ассоциированных с отдельными кадрами потока данных в последовательных частях аудиосигнала, соответственно. В частности, в то время как модуль ассоциирования декодера может быть выполнен с возможностью осуществлять ассоциирование каждого из последовательных кадров потока данных с одним из зависящих от режима наборов из множества режимов кодирования кадров в зависимости от элемента синтаксиса кадрового режима, ассоциированного с кадрами потока данных, модуль ассоциирования может, в частности, изменять зависимость выполнения ассоциирования в зависимости от активного рабочего режима. В частности, изменение зависимости может заключаться в том, что, если активный рабочий режим является первым рабочим режимом, зависящий от режима набор не пересекается с первым поднабором и перекрывается со вторым поднабором, а если активный рабочий режим является вторым рабочим режимом, зависящий от режима набора перекрывается с обоими поднаборами. Тем не менее, также осуществимы менее строгие решения, повышающие скорость передачи битов, которые заключаются в пользовании сведениями относительно условий, ассоциированных с текущим незавершенным рабочим режимом.
Преимущественные аспекты вариантов осуществления настоящего изобретения являются предметом зависимых пунктов формулы изобретения.
В частности, предпочтительные варианты осуществления настоящего изобретения подробнее описаны ниже со ссылкой на чертежи, на которых:
Фиг. 1 показывает блок-схему аудиодекодера согласно варианту осуществления;
Фиг. 2 показывает схематический вид взаимно однозначного преобразования между возможными значениями элемента синтаксиса кадрового режима и режимами кодирования кадров зависящего от режима набора в соответствии с вариантом осуществления;
Фиг. 3 показывает блок-схему декодера во временной области согласно варианту осуществления;
Фиг. 4 показывает блок-схему кодера в частотной области согласно варианту осуществления;
Фиг. 5 показывает блок-схему аудиокодера согласно варианту осуществления; и
Фиг. 6 показывает вариант осуществления для кодеров во временной области и в частотной области согласно варианту осуществления.
Относительно описания чертежей следует отметить, что описания элементов на одном чертеже должны в равной степени применяться к элементам, имеющим ассоциированное с ними идентичное позиционное обозначение на другом чертеже, если иное не указано явно.
Фиг. 1 показывает аудиодекодер 10 в соответствии с вариантом осуществления настоящего изобретения. Аудиодекодер содержит декодер 12 во временной области и декодер 14 в частотной области. Дополнительно, аудиодекодер 10 содержит модуль 16 ассоциирования, выполненный с возможностью ассоциировать каждый из последовательных кадров 18a-18c потока 20 данных с одним из зависящего от режима набора из множества 22 режимов кодирования кадров, которые примерно проиллюстрированы на фиг. 1 как A, B и C. Может быть предусмотрено более трех режимов кодирования кадров, и, таким образом, число может меняться с трех на какое-либо другое. Каждый кадр 18a-c соответствует одной из последовательных частей 24a-c аудиосигнала 26, который аудиодекодер должен восстанавливать из потока 20 данных.
Если точнее, модуль 16 ассоциирования подсоединяется между входом 28 декодера 10, с одной стороны, и входами декодера 12 во временной области и декодера 14 в частотной области, с другой стороны, с тем, чтобы предоставлять в них ассоциированные кадры 18a-c способом, подробнее описанным ниже.
Декодер 12 во временной области выполнен с возможностью декодировать кадры, имеющие ассоциированный с ними один из первого поднабора 30 из одного или более из множества 22 режимов кодирования кадров, и декодер 14 в частотной области выполнен с возможностью декодировать кадры, имеющие ассоциированный с ними один из второго поднабора 32 из одного или более из множества 22 режимов кодирования кадров. Первый и второй поднаборы не пересекаются друг с другом, как проиллюстрировано на фиг. 1. Если точнее, декодер 12 во временной области имеет выход для того, чтобы выводить восстановленные части 24a-c аудиосигнала 26, соответствующие кадрам, имеющим ассоциированный с ними один из первых поднаборов 30 режимов кодирования кадров, и декодер 14 в частотной области содержит выход для вывода восстановленных частей аудиосигнала 26, соответствующих кадрам, имеющим ассоциированный с ними один из второго поднабора 32 режимов кодирования кадров.
Как показано на фиг. 1, аудиодекодер 10 необязательно может иметь модуль 34 комбинирования, который соединяется между выходами декодера 12 во временной области и декодера 14 в частотной области, с одной стороны, и выходом 36 декодера 10, с другой стороны. В частности, хотя фиг. 1 предлагает то, что части 24a-24c не перекрывают друг друга, а идут непосредственно друг за другом во времени t, в этом случае модуль 34 комбинирования может отсутствовать, также возможно то, что части 24a-24c являются, по меньшей мере частично, последовательными во времени t, но частично перекрывают друг друга, к примеру, для получения возможности подавления искажения во времени, связанного с перекрывающимся преобразованием, используемым посредством декодера 14 в частотной области, например, как имеет место с нижеприведенным более подробным вариантом осуществления декодера 14 в частотной области.
Перед продолжением описания варианта осуществления согласно фиг. 1 следует отметить, что число режимов A-C кодирования кадров, проиллюстрированных на фиг. 1, является просто иллюстративным. Аудиодекодер согласно фиг. 1 может поддерживать более трех режимов кодирования. Далее, режимы кодирования кадров поднабора 32 называются режимами кодирования в частотной области, тогда как режимы кодирования кадров поднабора 30 называются режимами кодирования во временной области. Модуль 16 ассоциирования перенаправляет кадры 15a-c любого режима 30 кодирования во временной области в декодер 12 во временной области, а кадры 18a-c любого режима кодирования в частотной области - в декодер 14 в частотной области. Модуль 34 комбинирования корректно регистрирует восстановленные части аудиосигнала 26, выводимые посредством декодеров 12 и 14 во временной области и в частотной области, так что они размещаются последовательно во времени t, как указано на фиг. 1. Необязательно, модуль 34 комбинирования может выполнять функциональность суммирования с перекрытием между частями 24 режима кодирования в частотной области или предпринимать другие конкретные меры при переходах между непосредственно последовательными частями, к примеру функциональность суммирования с перекрытием, для выполнения подавления искажения между частями, выводимыми посредством декодера 14 в частотной области. Прямое подавление искажения может быть выполнено между непосредственно смежными частями 24a-c, выводимыми посредством декодеров 12 и 14 во временной области и в частотной области отдельно, т.е. для переходов от частей 24 режима кодирования в частотной области к частям 24 режима кодирования во временной области, и наоборот. Для получения дополнительной информации в отношении возможных реализаций, следует обратиться к более подробным вариантам осуществления, описанным дополнительно ниже.
Как подробнее указано ниже, модуль 16 ассоциирования выполнен с возможностью осуществлять ассоциирование последовательных кадров 18a-c потока 20 данных с режимами A-C кодирования кадров таким способом, который не допускает использования режима кодирования во временной области в случаях, если использование такого режима кодирования во временной области является несоответствующим, к примеру, в случаях высоких доступных скоростей передачи битов, на которых режимы кодирования во временной области с большой вероятностью являются неэффективными с точки зрения отношения скорость/искажения по сравнению с режимами кодирования в частотной области, так что использование режима кодирования кадров во временной области для определенного кадра 18a-18c с большой вероятностью должно приводить к снижению эффективности кодирования.
Соответственно, модуль 16 ассоциирования выполнен с возможностью осуществлять ассоциирование кадров с режимами кодирования кадров в зависимости от элемента синтаксиса кадрового режима, ассоциированного с кадрами 18a-c в потоке 20 данных. Например, синтаксис потока 20 данных может иметь такую конфигурацию, в которой каждый кадр 18a-c содержит такой элемент 38 синтаксиса кадрового режима для определения режима кодирования кадров, которому принадлежит соответствующий кадр 18a-c.
Дополнительно, модуль 16 ассоциирования выполнен с возможностью работать в активном одном из множества рабочих режимов или выбирать текущий рабочий режим из множества рабочих режимов. Модуль 16 ассоциирования может выполнять этот выбор в зависимости от потока данных или в зависимости от внешнего управляющего сигнала. Например, как подробнее указано ниже, декодер 10 изменяет свой рабочий режим синхронно с изменением рабочего режима в кодере, и, для того чтобы реализовывать синхронность, кодер может сигнализировать активный рабочий режим и изменение активного из рабочих режимов в потоке 20 данных. Альтернативно, кодер и декодер 10 может быть синхронно управляемым посредством некоторого внешнего управляющего сигнала, такого как управляющие сигналы, предоставляемые посредством нижних транспортных уровней, таких как EPS или RTP и т.п. Управляющий сигнал, предоставляемый извне, например, может указывать на некоторую доступную скорость передачи битов.
Чтобы осуществлять или реализовывать недопущение несоответствующих вариантов выбора или несоответствующего использования режимов кодирования во временной области, как указано выше, модуль 16 ассоциирования выполнен с возможностью изменять зависимость выполнения ассоциирования кадров 18 с режимами кодирования в зависимости от активного рабочего режима. В частности, если активный рабочий режим является первым рабочим режимом, зависящий от режима набор из множества режимов кодирования кадров является, например, режимом, показанным как 40, который не пересекается с первым поднабором 30 и перекрывает второй поднабор 32, тогда как, если активный рабочий режим является вторым рабочим режимом, зависящий от режима набор является, например, таким, как показано посредством 42 на фиг. 1, и перекрывает первый и второй поднаборы 30 и 32.
Иными словами, в соответствии с вариантом осуществления согласно фиг. 1, аудиодекодер 10 является управляемым посредством потока 20 данных или внешнего управляющего сигнала таким образом, чтобы изменять свой активный рабочий режим между первым и вторым рабочим режимом, за счет этого изменяя зависящий от рабочего режима набор режимов кодирования кадров соответствующим образом, а именно между 40 и 42, так что в соответствии с одним рабочим режимом, зависящий от режима набор 40 не пересекается с набором режимов кодирования во временной области, при этом в другом рабочем режиме зависящий от режима набор 42 содержит по меньшей мере один режим кодирования во временной области, а также по меньшей мере один режим кодирования в частотной области.
Чтобы подробнее пояснять изменение зависимости выполнения ассоциирования модуля 16 ассоциирования, следует обратиться к фиг. 2, который в качестве примера показывает фрагмент из потока 20 данных, причем фрагмент включает в себя элемент 38 синтаксиса кадрового режима, ассоциированный с некоторым одним из кадров 18a-18c согласно фиг. 1. В этом отношении следует вкратце отметить, что структура потока 20 данных, проиллюстрированная на фиг. 1, применена просто в качестве иллюстрации, и что также может применяться другая структура. Например, хотя кадры 18a-18c на фиг. 1 показаны как просто соединенные или непрерывные части потока 20 данных без чередования между ними, такое чередование также может применяться. Кроме того, хотя фиг. 1 предлагает то, что элемент 38 синтаксиса кадрового режима содержится в кадре, на который он ссылается, это не обязательно имеет место. Наоборот, элементы 38 синтаксиса кадрового режима могут быть размещены в потоке 20 данных вне кадров 18a-18c. Дополнительно, число элементов 38 синтаксиса кадрового режима, содержащихся в потоке 20 данных, не обязательно должно быть равно числу кадров 18a-18c в потоке 20 данных. Наоборот, элемент 38 синтаксиса кадрового режима согласно фиг. 2, например, может быть ассоциирован с несколькими кадрами 18a-18c в потоке 20 данных.
В любом случае в зависимости от способа, которым элемент 38 синтаксиса кадрового режима вставлен в поток 20 данных, существует преобразование 44 между элементом 38 синтаксиса кадрового режима, содержащимся и передаваемым через поток 20 данных, и набором 46 возможных значений элемента 38 синтаксиса кадрового режима. Например, элемент 38 синтаксиса кадрового режима может быть вставлен в поток 20 данных непосредственно, т.е. с использованием двоичного представления, такого как, например, PCM, либо с использованием кода переменной длины и/или с использованием энтропийного кодирования, такого как кодирование методом Хаффмана или арифметическое кодирование. Таким образом, модуль 16 ассоциирования может быть выполнен с возможностью извлекать 48, к примеру посредством декодирования, элемент 38 синтаксиса кадрового режима из потока 20 данных с тем, чтобы извлекать любой набор 46 возможных значений, при этом возможные значения типично иллюстрируются на фиг. 2 посредством небольших треугольников. На стороне кодера вставка 50 выполняется соответствующим образом, к примеру посредством кодирования.
Иными словами, каждое возможное значение, которое может допускать элемент 38 синтаксиса кадрового режима, т.е. каждое возможное значение в диапазоне 46 возможных значений элемента 38 синтаксиса кадрового режима ассоциировано с определенным одним из множества режимов A, B и C кодирования кадров. В частности, предусмотрено взаимно однозначное преобразование между возможными значениями набора 46, с одной стороны, и зависящим от режима набором режимов кодирования кадров, с другой стороны. Преобразование, проиллюстрированное посредством двунаправленной стрелки 52 на фиг. 2, изменяется в зависимости от активного рабочего режима. Взаимно однозначное преобразование 52 является частью функциональности модуля 16 ассоциирования, который изменяет преобразование 52 в зависимости от активного рабочего режима. Как пояснено относительно фиг. 1, в то время как зависящий от режима набор 40 или 42 перекрывается с обоими поднаборами 30 и 32 режимов кодирования кадров в случае второго рабочего режима, проиллюстрированного на фиг. 2, зависящий от режима набор не пересекается, т.е. не содержит каких-либо элементов, с поднабором 30 в случае первого рабочего режима. Другими словами, взаимно однозначное преобразование 52 преобразует область возможных значений элемента 38 синтаксиса кадрового режима в ко-область режимов кодирования кадров, называемую зависящим от режима набором 50 и 52, соответственно. Как проиллюстрировано на фиг. 1 и фиг. 2 посредством использования сплошных линий треугольников для возможных значений набора 46, область взаимно однозначного преобразования 52 может оставаться неизменной в обоих рабочих режимах, т.е. в первом и втором рабочем режиме, в то время как ко-область взаимно однозначного преобразования 52 изменяется, как проиллюстрировано и описано выше.
Тем не менее, даже число возможных значений в наборе 46 может изменяться. Это указывается посредством треугольника, нарисованного с использованием пунктирной линии на фиг. 2. Если точнее, число доступных режимов кодирования кадров может отличаться между первым и вторым рабочим режимом. Тем не менее, в таком случае модуль 16 ассоциирования в любом случае по-прежнему реализуется таким образом, что ко-область взаимно однозначного преобразования 52 имеет такой характер, как указано выше: отсутствует перекрытие между зависящим от режима набором и поднабором 30 в случае, если первый рабочий режим является активным.
Другими словами, необходимо отметить следующее. Внутренне, значение элемента 38 синтаксиса кадрового режима может быть представлено посредством некоторого двоичного значения, диапазон возможных значений которого вмещает набор 46 возможных значений, независимых от текущего активного рабочего режима. Еще точнее, модуль 16 ассоциирования внутренне представляет значение элемента синтаксиса кадра 38 с помощью двоичного значения двоичного представления. С использованием этих двоичных значений возможные значения набора 46 сортируются в порядковую шкалу, так что возможные значения набора 46 остаются сравнимыми друг с другом даже в случае изменения рабочего режима. Первое возможное значение набора 46 в соответствии с этой порядковой шкалой, например, может быть задано таким образом, что оно является значением, ассоциированным с наибольшей вероятностью из возможных значений набора 46, причем второе из возможных значений набора 46 всегда является значением со следующей более низкой вероятностью, и т.д. Соответственно, возможные значения элемента 38 синтаксиса кадрового режима за счет этого сравнимы друг с другом, несмотря на изменение рабочего режима. Во втором примере, может возникать такая ситуация, что область и ко-область взаимно однозначного преобразования 52, т.е. набор 46 возможных значений и зависящий от режима набор режимов кодирования кадров остаются идентичными, несмотря на изменения активного рабочего режима между первым и вторым рабочими режимами, но взаимно однозначное преобразование 52 изменяет ассоциирование между режимами кодирования кадров зависящего от режима набора, с одной стороны, и сравнимыми возможными значениями набора 46, с другой стороны. Во втором варианте осуществления декодер 10 согласно фиг. 1 по-прежнему имеет возможность использовать преимущество кодера, который работает в соответствии с нижепоясненными вариантами осуществления, а именно посредством исключения выбора несоответствующих режимов кодирования во временной области в случае первого рабочего режима. Выполняется ассоциирование более вероятных возможных значений набора 46 исключительно с режимами 32 кодирования в частотной области в случае первого рабочего режима при одновременном использовании более низких вероятных возможных значений набора 46 для режимов 30 кодирования во временной области только в течение первого рабочего режима, тогда как изменение этой политики в случае второго рабочего режима приводит к более высокому коэффициенту сжатия для потока 20 данных при использовании энтропийного кодирования для вставки/извлечения элемента 38 синтаксиса кадрового режима в/из потока 20 данных. Другими словами, тогда как в первом рабочем режиме ни один из режимов 30 кодирования во временной области не может быть ассоциирован с возможным значением набора 46, имеющим ассоциированную вероятность, превышающую вероятность для возможного значения, преобразованного посредством преобразования 52 в один из режимов 32 кодирования в частотной области, во втором рабочем режиме предусмотрен такой случай, в котором по меньшей мере один режим 30 кодирования во временной области ассоциирован с таким возможным значением, имеющим ассоциированную более высокую вероятность относительно другого возможного значения, ассоциированного, согласно преобразованию 52, с режимом 32 кодирования в частотной области.
Вышеуказанная вероятность, ассоциированная с возможными значениями 46 и необязательно используемая для их кодирования/декодирования, может быть статической или адаптивно изменяемой. Различные наборы оценок вероятности могут использоваться для различных рабочих режимов. В случае адаптивного изменения вероятности может быть использовано контекстно-адаптивное энтропийное кодирование.
Как проиллюстрировано на фиг. 1, один предпочтительный вариант осуществления для модуля 16 ассоциирования заключается в том, что зависимость выполнения ассоциирования зависит от активного рабочего режима, и элемент 38 синтаксиса кадрового режима кодируется и декодируется из потока 20 данных, так что число дифференцируемых возможных значений в наборе 46 является независимым от того, является активный рабочий режим первым или вторым рабочим режимом. В частности, в случае фиг. 1 число дифференцируемых возможных значений равняется двум, как также проиллюстрировано на фиг. 2 со ссылкой на треугольники со сплошными линиями. В этом случае, например, модуль 16 ассоциирования может иметь такую конфигурацию, в которой, если активный рабочий режим является первым рабочим режимом, зависящий от режима набор 40 содержит первый и второй режим A и B кодирования кадров из второго поднабора 32 режимов кодирования кадров, и декодер 14 в частотной области, который отвечает за эти режимы кодирования кадров, выполнен с возможностью использовать различные частотно-временные разрешения при декодировании кадров, имеющих ассоциированный с ними один из первого и второго режимов A и B кодирования кадров. За счет этой меры, например, одного бита достаточно для того, чтобы передавать элемент 38 синтаксиса кадрового режима непосредственно в потоке 20 данных, т.е. без дальнейшего энтропийного кодирования, причем только взаимно однозначное преобразование 52 изменяется при переключении с первого рабочего режима на второй рабочий режим, и наоборот.
Как подробнее указано ниже относительно фиг. 3 и 4, декодер 12 во временной области может быть декодером на основе линейного прогнозирования с возбуждением по коду, и декодер в частотной области может быть декодером с преобразованием, выполненным с возможностью декодировать кадры, имеющие ассоциированный с ними любой из второго поднабора режимов кодирования кадров, на основе уровней коэффициентов преобразования, кодируемых в поток 20 данных.
Например, см. фиг. 3. Фиг. 3 показывает пример для декодера 12 во временной области и кадра, ассоциированного с режимом кодирования во временной области, в котором кадр проходит через декодер 12 во временной области, чтобы давать в результате соответствующую часть 24 восстановленного аудиосигнала 26. В соответствии с вариантом осуществления согласно фиг. 3 и в соответствии с вариантом осуществления согласно фиг. 4, который должен описываться ниже, декодер 12 во временной области, а также декодер в частотной области являются декодерами на основе линейного прогнозирования, выполненными с возможностью получать коэффициенты фильтрации с линейным прогнозированием для каждого кадра из потока 12 данных. Хотя фиг. 3 и 4 предлагают, что каждый кадр 18 может иметь включенные коэффициенты фильтрации с линейным прогнозированием 16, это не обязательно имеет место. Скорость LPC-передачи, на которой коэффициенты 60 линейного прогнозирования передаются в потоке 12 данных, может быть равна частоте кадров для кадров 18 или может отличаться от нее. Тем не менее, кодер и декодер могут синхронно обрабатывать или применять коэффициенты фильтрации с линейным прогнозированием, по отдельности ассоциированные с каждым кадром, посредством интерполяции из скорости LPC-передачи на скорость LPC-применения.
Как показано на фиг. 3, декодер 12 во временной области может содержать синтезирующий фильтр 62 линейного прогнозирования и конструктор 64 сигналов возбуждения. Как показано на фиг. 3, в синтезирующий фильтр 62 линейного прогнозирования вводятся коэффициенты фильтрации с линейным прогнозированием, полученные из потока 12 данных для текущего кадра 18 режима кодирования во временной области. В конструктор 64 сигналов возбуждения вводятся параметр или код возбуждения, такой как индекс 66 кодовой книги, полученный из потока 12 данных для текущего декодированного кадра 18 (имеющего ассоциированный с ним режим кодирования во временной области). Конструктор 64 сигналов возбуждения и синтезирующий фильтр 62 линейного прогнозирования соединяются последовательно так, что они выводят восстановленную соответствующую часть 24 аудиосигнала на выходе синтезирующего фильтра 62. В частности, конструктор 64 сигналов возбуждения выполнен с возможностью конструировать сигнал 68 возбуждения с использованием параметра 66 возбуждения, который, как указано на фиг. 3, может содержаться в текущем декодированном кадре, имеющем ассоциированный с ним любой режим кодирования во временной области. Сигнал 68 возбуждения является видом остаточного сигнала, спектральная огибающая которого формируется посредством синтезирующего фильтра 62 линейного прогнозирования. В частности, синтезирующий фильтр линейного прогнозирования управляется посредством коэффициентов фильтрации с линейным прогнозированием, передаваемых в потоке 20 данных для текущего декодированного кадра (имеющего ассоциированный с ним любой режим кодирования во временной области), с тем, чтобы давать в результате восстановленную часть 24 аудиосигнала 26.
Для получения дальнейшей информации, например, в отношении возможной реализации CELP-декодера согласно фиг. 3, следует обратиться к известным кодекам, таким как вышеуказанные USAC- [2] или AMR-WB+-кодек [1]. Согласно означенным кодекам, CELP-декодер согласно фиг. 3 может быть реализован как ACELP-декодер, согласно которому сигнал 68 возбуждения формируется посредством комбинирования управляемого кодом/параметрами сигнала, т.е. усовершенствованного возбуждения и непрерывно обновляемого адаптивного возбуждения, возникающего в результате модификации итогового полученного и применяемого сигнала возбуждения для непосредственно предыдущего кадра режима кодирования во временной области, в соответствии с параметром адаптивного возбуждения, также передаваемым в потоке 12 данных для текущего декодированного кадра 18 режима кодирования во временной области. Параметр адаптивного возбуждения, например, может задавать запаздывание и усиление основного тона, которые предписывают то, как модифицировать предыдущее возбуждение в смысле основного тона и усиления для того, чтобы получать адаптивное возбуждение для текущего кадра. Усовершенствованное возбуждение может извлекаться из кода 66 в текущем кадре, причем код задает число импульсов и их позиции в сигнале возбуждения. Код 66 может использоваться для поиска в кодовой книге либо иным образом (логически или арифметически) задавать импульсы усовершенствованного возбуждения, например, с точки зрения числа и местоположения.
Аналогично, фиг. 4 показывает возможный вариант осуществления для декодера 14 в частотной области. Фиг. 4 показывает текущий кадр 18, поступающий в декодер 14 в частотной области, причем кадр 18 имеет ассоциированный с ним любой режим кодирования в частотной области. Декодер 14 в частотной области содержит формирователь 70 шума в частотной области, выход которого соединяется с повторным преобразователем 72. Выход повторного преобразователя 72, в свою очередь, является выходом декодера 14 в частотной области, выводящим восстановленную часть аудиосигнала, соответствующего текущему декодируемому кадру 18.
Как показано на фиг. 4, поток 20 данных может передавать уровни 74 коэффициентов преобразования и коэффициенты 76 фильтрации с линейным прогнозированием для кадров, имеющих ассоциированный с ними любой режим кодирования в частотной области. Хотя коэффициенты 76 фильтрации с линейным прогнозированием могут иметь структуру, идентичную структуре коэффициентов фильтрации с линейным прогнозированием, ассоциированных с кадрами, имеющими ассоциированный с ними любой режим кодирования во временной области, уровни 74 коэффициентов преобразования служат для представления сигнала возбуждения для кадров 18 частотной области в области преобразования. Как известно из USAC, например, уровни 74 коэффициентов преобразования могут быть кодированы дифференцированно вдоль спектральной оси. Точность квантования уровней 74 коэффициентов преобразования может управляться посредством общего коэффициента масштабирования или коэффициента усиления. Коэффициент масштабирования может быть частью потока данных и предположительно должен быть частью уровней 74 коэффициентов преобразования. Тем не менее, также может быть использована любая другая схема квантования. Уровни 74 коэффициентов преобразования подаются в формирователь 70 шума в частотной области. То же применимо к коэффициентам 76 фильтрации с линейным прогнозированием для текущего декодированного кадра 18 частотной области. Формирователь 70 шума в частотной области затем выполнен с возможностью получать спектр возбуждения сигнала возбуждения из уровней 74 коэффициентов преобразования и формировать этот спектр возбуждения спектрально в соответствии с коэффициентами 76 фильтрации с линейным прогнозированием. Если точнее, формирователь 70 шума в частотной области выполнен с возможностью деквантовать уровни 74 коэффициентов преобразования, чтобы давать в результате спектр сигнала возбуждения. Затем, формирователь 70 шума в частотной области преобразует коэффициенты 76 фильтрации с линейным прогнозированием в спектр взвешивания таким образом, чтобы обеспечивать соответствие передаточной функции синтезирующего фильтра линейного прогнозирования, заданной посредством коэффициентов 76 фильтрации с линейным прогнозированием. Это преобразование может заключать в себе ODFT, применяемое к LPC с тем, чтобы преобразовывать LPC в значения спектрального взвешивания. Более подробная информация может быть получена из USAC-стандарта. С использованием спектра взвешивания формирователь 70 шума в частотной области формирует (или взвешивает) спектр возбуждения, полученный посредством уровней 74 коэффициентов преобразования, за счет этого получая спектр сигнала возбуждения. Посредством формирования/взвешивания шум квантования, введенный на стороне кодирования посредством квантования коэффициентов преобразования, формируется таким образом, что он является перцепционно (по восприятию) менее значимым. Повторный преобразователь 72 затем повторно преобразует спектр возбуждения определенной формы, выводимый посредством формирователя 70 шума в частотной области, с тем, чтобы получать восстановленную часть, соответствующую только что декодированному кадру 18.
Как уже упомянуто выше, декодер 14 в частотной области согласно фиг. 4 может поддерживать различные режимы кодирования. В частности, декодер 14 в частотной области может быть выполнен с возможностью применять различные частотно-временные разрешения при декодировании кадров частотной области, имеющих ассоциированные с ними различные режимы кодирования в частотной области. Например, повторное преобразование, выполняемое посредством повторного преобразователя 72, может быть перекрывающимся преобразованием, согласно которому последовательные и взаимно перекрывающиеся кодированные со взвешиванием части сигнала, который должен быть преобразован, подразделяются на отдельные преобразования, при этом повторный преобразователь 72 выходов обеспечивает в результате восстановление этих вырезанных в виде окна частей 78a, 78b и 78c. Модуль 34 комбинирования, как уже отмечено выше, может взаимно компенсировать искажение, возникающее на перекрытии этих вырезанных в виде окна частей, например, посредством процесса суммирования с перекрытием. Перекрывающееся преобразование или перекрывающееся повторное преобразование повторного преобразователя 72, например, может представлять собой критически дискретизированное преобразование/повторное преобразование, которое требует подавления искажения во времени. Например, повторный преобразователь 72 может выполнять обратное MDCT. В любом случае режимы A и B кодирования в частотной области, например, могут отличаться друг от друга в том, что часть 18, соответствующая текущему декодированному кадру 18, покрывается либо посредством одной вырезанной в виде окна части 78, которая также охватывает предыдущие и последующие части, за счет этого выдавая в результате один больший набор уровней 74 коэффициентов преобразования в кадре 18, либо двумя последовательными вырезанными в виде окна подчастями 78c и 78b, которые взаимно перекрываются и охватывают и перекрывают предыдущую часть и последующую часть, соответственно, за счет этого выдавая в результате два меньших набора уровней 74 коэффициентов преобразования в кадре 18. Соответственно, хотя декодер и формирователь 70 шума в частотной области и повторный преобразователь 72, например, могут выполнять две операции - формирование и повторное преобразование - для кадров режима A, они вручную выполняют, например, одну операцию в расчете на кадр режима B кодирования кадров.
Варианты осуществления для аудиодекодера, описанные выше, специально разработаны с возможностью использовать преимущество аудиокодера, который работает в различных рабочих режимах, а именно таким образом, чтобы изменять выбор между режимами кодирования кадров между этими рабочими режимами до такой степени, что режимы кодирования кадров во временной области не выбираются в одном из этих рабочих режимов, но выбираются в другом. Тем не менее, следует отметить, что варианты осуществления для аудиокодера, описанные ниже, также (по меньшей мере, что касается поднабора этих вариантов осуществления) должны подходить к аудиодекодеру, который не поддерживает различные рабочие режимы. Это является по меньшей мере истинным для тех вариантов осуществления кодера, согласно которым формирование потока данных не изменяется между этими рабочими режимами. Другими словами, в соответствии с некоторыми вариантами осуществления для аудиокодера, описанными ниже, ограничение выбора режимов кодирования кадров режимами кодирования в частотной области в одном из рабочих режимов не отражает себя в потоке 12 данных, в котором изменения рабочего режима являются до некоторой степени прозрачными (за исключением отсутствия активных режимов кодирования кадров во временной области в ходе одного из этих рабочих режимов). Тем не менее, специальные выделенные аудиодекодеры согласно различным вариантам осуществления, указанным выше, формируют, вместе с соответствующими вариантами осуществления для вышеуказанного аудиокодера, аудиокодеки, которые пользуются дополнительным преимуществом ограничения выбора режима кодирования кадров в ходе специального рабочего режима, соответствующего, например, как указано выше, специальным условиям передачи.
Фиг. 5 показывает аудиокодер согласно варианту осуществления настоящего изобретения. Аудиокодер согласно фиг. 5, в общем, указывается как 100 и содержит модуль 102 ассоциирования, кодер 104 во временной области и кодер 106 в частотной области, причем модуль 102 ассоциирования соединяется между входом 108 аудиокодера 100, с одной стороны, и входами кодера 104 во временной области и кодера 106 в частотной области, с другой стороны. Выходы кодера 104 во временной области и кодера 106 в частотной области соединяются с выходом 110 аудиокодера 100. Соответственно, аудиосигнал, который должен быть кодирован, указываемый как 112 на фиг. 5, поступает на вход 108, и аудиокодер 100 выполнен с возможностью формировать поток 114 данных из него.
Модуль 102 ассоциирования выполнен с возможностью ассоциировать каждую из последовательных частей 116a-116c, которые соответствуют вышеуказанным частям 24 аудиосигнала 112, с одним из зависящего от режима набора из множества режимов кодирования кадров (см. 40 и 42 согласно фиг. 1-4).
Кодер 104 во временной области выполнен с возможностью кодировать части 116a-116c, имеющие ассоциированный с ними один из первого поднабора 30 из одного или более из множества 22 режимов кодирования кадров, в соответствующий кадр 118a-118c потока 114 данных. Кодер 106 в частотной области аналогично отвечает за кодирование частей, имеющих ассоциированный с ними какой-либо режим кодирования в частотной области набора 32, в соответствующий кадр 118a-118c потока 114 данных.
Модуль 102 ассоциирования выполнен с возможностью работать в активном одном из множества рабочих режимов. Если точнее, модуль 102 ассоциирования имеет такую конфигурацию, в которой ровно один из множества рабочих режимов является активным, но выбор активного одного из множества рабочих режимов может изменяться во время последовательного кодирования частей 116a-116c аудиосигнала 112.
В частности, модуль 102 ассоциирования имеет такую конфигурацию, в которой, если активный рабочий режим является первым рабочим режимом, зависящий от режима набор является аналогичным набору 40 согласно фиг. 1, а именно он не пересекается с первым поднабором 30 и перекрывается со вторым поднабором 32, но если активный рабочий режим является вторым рабочим режимом, зависящий от режима набор из множества режимов кодирования является аналогичным режиму 42 согласно фиг. 1, т.е. он перекрывается с первым и вторым поднаборами 30 и 32.
Как указано выше, функциональность аудиокодера согласно фиг. 5 позволяет внешне управлять кодером 100 таким образом, что не допускается невыгодный выбор какого-либо режима кодирования кадров во временной области несмотря на то, что внешние условия, к примеру, условия передачи являются такими, что предварительный выбор любого кадра кодирования кадров во временной области с большой вероятностью должен приводить к меньшей эффективности кодирования с точки зрения отношения скорость/искажения по сравнению с ограничением выбора только режимами кодирования кадров в частотной области. Как показано на фиг. 5, модуль 102 ассоциирования, например, может быть выполнен с возможностью принимать внешний управляющий сигнал 120. Модуль 102 ассоциирования, например, может соединяться с некоторым внешним объектом, так что внешний управляющий сигнал 120, предоставляемый посредством внешнего объекта, указывает доступную полосу пропускания передачи для передачи потока 114 данных. Этот внешний объект, например, может быть частью базового нижнего уровня передачи, к примеру, нижнего с точки зрения модели OSI-уровней. Например, внешний объект может быть частью сети LTE-связи. Сигнал 122, естественно, может предоставляться на основе оценки фактической доступной полосы пропускания передачи или оценки средней будущей доступной полосы пропускания передачи. Как уже отмечено выше относительно фиг. 1-4, “первый рабочий режим” может быть ассоциирован с доступными полосами пропускания передачи, меньшими определенного порогового значения, тогда как “второй рабочий режим” может быть ассоциирован с доступными полосами пропускания передачи, превышающими предварительно определенное пороговое значение, тем самым не допуская выбора посредством кодера 100 любого из режимов кодирования кадров во временной области в ненадлежащих условиях, в которых кодирование во временной области с большой вероятностью приводит к менее эффективному сжатию, а именно если доступные полосы пропускания передачи меньше определенного порогового значения.
Тем не менее, следует отметить, что управляющий сигнал 120 также может предоставляться посредством некоторого другого объекта, такого как, например, речевой детектор, который анализирует аудиосигнал, который должен быть восстановлен, т.е. 112, с тем, чтобы отличать между речевыми фазами, т.е. временными интервалами, в течение которых речевой компонент в аудиосигнале 112 является преобладающими, и неречевыми фазами, в которых другие аудиоисточники, такие как музыка и т.п., являются преобладающими в аудиосигнале 112. Управляющий сигнал 120 может указывать эти изменения в речевых и неречевых фазах, и модуль 102 ассоциирования может быть выполнен с возможностью переключаться между рабочими режимами соответствующим образом. Например, в речевых фазах модуль 102 ассоциирования может переходить в вышеуказанный “второй рабочий режим”, в то время как “первый рабочий режим” может быть ассоциирован с неречевыми фазами в силу того факта, что выбор режимов кодирования кадров во временной области в ходе неречевых фаз с большой вероятностью приводит к менее эффективному сжатию.
Хотя модуль 102 ассоциирования может быть выполнен с возможностью кодировать элемент 122 синтаксиса кадрового режима (отличный от элемента синтаксиса 38 на фиг. 1) в поток 114 данных таким образом, чтобы указывать для каждой части 116a-116c то, с каким режимом кодирования кадров из множества режимов кодирования кадров ассоциирована соответствующая часть, вставка этого элемента 122 синтаксиса кадрового режима в поток 114 данных может не зависеть от рабочего режима, так что в результате получается поток 20 данных с элементами 38 синтаксиса кадрового режима фиг. 1-4. Как уже отмечено выше, формирование потока данных потока 114 данных может быть выполнено независимо от текущего активного рабочего режима.
Тем не менее, с точки зрения объема служебной информации в скорости передачи битов, предпочтительно, если поток 114 данных формируется посредством аудиокодера 100 согласно фиг. 5 таким образом, чтобы давать в результате поток 20 данных, поясненный выше относительно вариантов осуществления фиг. 1-4, согласно которым формирование потока данных преимущественно адаптируется к текущему рабочему режиму.
Соответственно, в соответствии с вариантом осуществления аудиокодера 100 согласно фиг. 5, соответствующим вариантам осуществления, описанным выше для аудиодекодера относительно фиг. 1-4, модуль 102 ассоциирования может быть выполнен с возможностью кодировать элемент 122 синтаксиса кадрового режима в поток 114 данных с использованием взаимно однозначного преобразования 52 между набором 46 возможных значений элемента 122 синтаксиса кадрового режима, ассоциированного с соответствующей частью 116a-116c, с одной стороны, и зависящим от режима набором режимов кодирования кадров, с другой стороны, причем это взаимно однозначное преобразование 52 изменяется в зависимости от активного рабочего режима. В частности, изменение может заключаться в том, что, если активный рабочий режим является первым рабочим режимом, зависящий от режима набор работает аналогично набору 40, т.е. он не пересекается с первым поднабором 30 и перекрывается со вторым поднабором 32, тогда как, если активный рабочий режим является вторым рабочим режимом, зависящий от режима набор является аналогичным набору 42, т.е. он перекрывается с первым и вторым поднабором 30 и 32. В частности, как уже отмечено выше, число возможных значений в наборе 46 может составлять два, независимо от того, является активный рабочий режим первым или вторым рабочим режимом, и модуль 102 ассоциирования может иметь такую конфигурацию, в которой, если активный рабочий режим является первым рабочим режимом, зависящий от режима набор содержит режимы A и B кодирования кадров в частотной области, и кодер 106 в частотной области может быть выполнен с возможностью использовать различные частотно-временные разрешения при кодировании соответствующих частей 116a-116c в зависимости от того, представляет собой их кадровое кодирование режим A или режим B.
Фиг. 6 показывает вариант осуществления для возможной реализации кодера 104 во временной области и кодера 106 в частотной области в соответствии с фактом, уже отмеченным выше, согласно которому кодирование на основе линейного прогнозирования с возбуждением по коду может использоваться для режима кодирования кадров во временной области, в то время как кодирование с линейным прогнозированием возбуждения по кодированию с преобразованием используется для режимов кодирования в частотной области. Соответственно, согласно фиг. 6 кодер 104 во временной области является кодером на основе линейного прогнозирования с возбуждением по коду, и кодер 106 в частотной области является кодером с преобразованием, выполненным с возможностью кодировать части, имеющие ассоциированный с ними любой режим кодирования кадров в частотной области, с использованием уровней коэффициентов преобразования и кодировать эти части в соответствующие кадры 118a-118c потока 114 данных.
Чтобы пояснять возможную реализацию для кодера 104 во временной области и кодера 106 в частотной области, следует обратиться к фиг. 6. Согласно фиг. 6, кодер 106 в частотной области и временной кодер 104 совместно имеют или совместно используют LPC-анализатор 130. Тем не менее, следует отметить, что это условие не является критически важным для настоящего варианта осуществления, и что также может быть использована другая реализация, согласно которой оба кодера 104 и 106 полностью отделяются друг от друга. Кроме того, относительно вариантов осуществления кодера, а также вариантов осуществления декодера, описанных выше относительно фиг. 1 и 4, следует отметить, что настоящее изобретение не ограничено случаями, в которых оба режима кодирования, т.е. режимы кодирования кадров в частотной области и режимы кодирования кадров во временной области, основаны на линейном прогнозировании. Наоборот, варианты осуществления кодера и декодера также могут переноситься на другие случаи, в которых любое из кодирования во временной области и кодирования в частотной области реализуется различным способом.
Возвращаясь к описанию фиг. 6, кодер 106 в частотной области согласно фиг. 6 содержит, помимо LPC-анализатора 130, преобразователь 132, взвешивающий преобразователь 134 LPC в частотную область, формирователь 136 шума в частотной области и квантователь 138. Преобразователь 132, формирователь 136 шума в частотной области и квантователь 138 последовательно соединяются между общим входом 140 и выходом 142 кодера 106 в частотной области. LPC-преобразователь 134 соединяется между выходом LPC-анализатора 130 и взвешивающим входом формирователя 136 шума в частотной области. Вход LPC-анализатора 130 соединяется с общим входом 140.
Что касается кодера 104 во временной области, она содержит, помимо LPC-анализатора 130, аналитический LP-фильтр 144 и модуль 146 аппроксимации сигналов возбуждения по коду, оба из которых последовательно соединены между общим входом 140 и выходом 148 кодера 104 во временной области. Вход коэффициентов линейного прогнозирования аналитического LP-фильтра 144 соединяется с выходом LPC-анализатора 130.
При кодировании аудиосигнала 112, поступающего на вход 140, LPC-анализатор 130 непрерывно определяет коэффициенты линейного прогнозирования для каждой части 116a-116c аудиосигнала 112. LPC-определение может заключать в себе определение автокорреляции последовательных (перекрывающихся или неперекрывающихся) вырезанных в виде окна частей аудиосигнала с выполнением оценки LPC для результирующих автокорреляций (необязательно с предварительным подверганием автокорреляций вырезанию в виде окна на основе запаздывания), к примеру, с использованием алгоритма (Винера)-Левинсона-Дурбина или алгоритма Шура и т.п.
Как описано относительно фиг. 3 и 4, LPC-анализатор 130 не обязательно сигнализирует линейные коэффициенты утверждения в потоке 114 данных на скорости LPC-передачи, равной частоте кадров для кадров 118a-118c. Также может быть использована скорость еще выше этой скорости. В общем, LPC-анализатор 130 может определять LPC-информацию 60 и 76 на скорости LPC-определения, заданной посредством вышеуказанной скорости автокорреляций, например, на основе которой определяются LPC. Затем, LPC-анализатор 130 может вставлять LPC-информацию 60 и 76 в поток данных на скорости LPC-передачи, которая может быть ниже скорости LPC-определения, а TD- и FD-кодеры 104 и 106, в свою очередь, могут применять коэффициенты линейного прогнозирования с их обновлением на скорости LPC-применения, которая выше скорости LPC-передачи, посредством интерполяции передаваемой LPC-информации 60 и 76 в кадрах 118a-118c потока 114 данных. В частности, поскольку FD-кодер 106 и FD-декодер применяют LPC-коэффициенты один раз в расчете на преобразование, скорость LPC-применения в FD-кадрах может быть ниже скорости, на которой LPC-коэффициенты, применяемые в TD-кодере/декодере, адаптируются/обновляются посредством интерполяции из скорости LPC-передачи. Поскольку интерполяция также может синхронно выполняться на стороне декодирования, идентичные коэффициенты линейного прогнозирования доступны для кодеров во временной области и в частотной области, с одной стороны, и декодеров во временной области и в частотной области, с другой стороны. В любом случае, LPC-анализатор 130 определяет коэффициенты линейного прогнозирования для аудиосигнала 112 на некоторой скорости LPC-определения, равной или превышающей частоту кадров, и вставляет их в поток данных на скорости LPC-передачи, которая может быть равна скорости LPC-определения или ниже ее. Тем не менее, аналитический LP-фильтр 144 может выполнять такую интерполяцию, что аналитический LPC-фильтр обновляется на скорости LPC-применения, превышающей скорость LPC-передачи. LPC-преобразователь 134 может выполнять или не выполнять интерполяцию с тем, чтобы определять LPC-коэффициенты для каждого преобразования или необходимость каждого LPC для спектрального взвешивающего преобразования. Чтобы передавать LPC-коэффициенты, они могут подвергаться квантованию в надлежащей области, к примеру, в LSF/LSP-области.
Кодер 104 во временной области может работать следующим образом. Аналитический LP-фильтр может фильтровать части режима кодирования во временной области аудиосигнала 112 в зависимости от коэффициента линейного прогнозирования, выводимого посредством LPC-анализатора 130. Таким образом, на выходе аналитического LP-фильтра 144 извлекается сигнал 150 возбуждения. Сигнал возбуждения аппроксимируется посредством модуля 146 аппроксимации. В частности, модуль 146 аппроксимации задает код, такой как индексы кодовой книги или другие параметры, для того чтобы аппроксимировать сигнал 150 возбуждения, к примеру, посредством минимизации или максимизации некоторого показателя оптимизации, заданного, например, посредством отклонения сигнала 150 возбуждения, с одной стороны, и искусственно сформированный сигнал возбуждения, заданный посредством индекса кодовой книги, с другой стороны, в синтезированной области, т.е. после применения соответствующего синтезирующего фильтра согласно LPC к соответствующим сигналам возбуждения. Показатель оптимизации необязательно может представлять собой перцепционно выделенные отклонения в перцепционно более значимых полосах частот. Усовершенствованное возбуждение, определенное посредством кода, заданного посредством модуля 146 аппроксимации, может называться усовершенствованным параметром.
Таким образом, модуль 146 аппроксимации может выводить один или более усовершенствованных параметров в расчете на часть режима кодирования кадров во временной области так, что они вставляются в соответствующие кадры, имеющие ассоциированный с ними режим кодирования во временной области, например, через элемент 122 синтаксиса кадрового режима. Кодер 106 в частотной области, в свою очередь, может работать следующим образом. Преобразователь 132 преобразует части частотной области аудиосигнала 112 с использованием, например, перекрывающегося преобразования, с тем, чтобы получать один или более спектров в расчете на часть. Результирующая спектрограмма на выходе преобразователя 132 поступает в формирователь 136 шума в частотной области, который формирует последовательность спектров, представляющих спектрограмму в соответствии с LPC. С этой целью, LPC-преобразователь 134 преобразует коэффициенты линейного прогнозирования LPC-анализатора 130 во взвешенные значения частотной области с тем, чтобы спектрально взвешивать спектры. На этот раз спектральное взвешивание выполняется таким образом, что в результате получается передаточная функция аналитического LP-фильтра. Иными словами, ODFT может быть использовано, например, для того, чтобы преобразовывать LPC-коэффициенты в спектральные весовые коэффициенты, которые затем могут быть использованы для того, чтобы разделять спектры, выводимые посредством преобразователя 132, при том что на стороне декодера используется умножение.
Затем квантователь 138 квантует результирующий спектр возбуждения, выводимый посредством формирователя 136 шума в частотной области, в уровни 60 коэффициентов преобразования для вставки в соответствующие кадры потока 114 данных.
В соответствии с вариантами осуществления, описанными выше, вариант осуществления настоящего изобретения может извлекаться при модификации USAC-кодека, поясненного во вводной части подробного описания настоящей заявки посредством модификации USAC-кодера, таким образом, что он работает в различных рабочих режимах, с тем, чтобы исключать выбор ACELP-режима в случае конкретного одного из рабочих режимов. Чтобы обеспечивать достижение меньшей задержки, USAC-кодек может быть дополнительно модифицирован следующим образом: например, независимо от рабочего режима, только режимы кадрового TCX- и ACELP-кодирования могут быть использованы. Чтобы достигать меньшей задержки, длина кадра может быть уменьшена таким образом, чтобы достигать кадрирования по 20 миллисекунд. В частности, для обеспечения большей эффективности USAC-кодека в соответствии с вышеописанными вариантами осуществления, рабочие режимы USAC, а именно узкополосный (NB), широкополосный (WB) и сверхширокополосный (SWB), могут изменяться так, что только строгий поднабор из всех доступных режимов кодирования кадров доступен в отдельных рабочих режимах в соответствии с таблицей, поясненной ниже:
Режим
Входная частота дискретизации [кГц]
Длина кадра [мс]
Используемые ACELP/TCX-режим
NB
8 кГц
20
ACELP или TCX
WB
16 кГц
20
ACELP или TCX
SWB, низкие скорости (12-32 кбит/с)
32 кГц
20
ACELP или TCX
SWB, высокие скорости (48-64 кбит/с)
32 кГц
20
TCX или 2xTCX
SWB, очень высокие скорости(96-128 кбит/с)
32 кГц
20
TCX или 2xTCX
FB
48 кГц
20
TCX или 2xTCX
Как проясняет вышеприведенная таблица, в вариантах осуществления, описанных выше, рабочий режим декодера может быть определен не только из внешнего сигнала или исключительно из потока данных, но также и на основе комбинации означенного. Например, в вышеуказанной таблице, поток данных может указывать декодеру основной режим, т.е. NB, WB, SWB, FB, посредством элемента синтаксиса приблизительного рабочего режима, который присутствует в потоке данных, на некоторой частоте, которая может быть ниже частоты кадров. Кодер вставляет этот элемент синтаксиса в дополнение к элементам синтаксиса 38. Тем не менее, точный рабочий режим может требовать проверки дополнительного внешнего сигнала, указывающего доступную скорость передачи битов. В случае SWB, например, точный режим зависит от того, составляет доступная скорость передачи битов меньше 48 кбит/с, равна или превышает 48 кбит/с, и меньше 96 кбит/с или равна или превышает 96 кбит/с.
В отношении вышеописанных вариантов осуществления следует отметить, что, хотя в соответствии с альтернативными вариантами осуществления предпочтительно, если набор из всего множества режимов кодирования кадров, с которыми могут ассоциироваться кадры/временные части информационного сигнала, состоит из режимов кодирования кадров временной области или частотной области, это может быть не так, так что также могут быть один или несколько режимов кодирования кадров, которые не являются ни режимом кодирования во временной области, ни режимом кодирования в частотной области.
Хотя некоторые аспекты описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства. Некоторые или все этапы способа могут быть выполнены посредством (или с использованием) устройства, такого как, например, микропроцессор, программируемый компьютер либо электронная схема. В некоторых вариантах осуществления, некоторые из одного или более самых важных этапов способа могут выполняться посредством этого устройства.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового носителя хранения данных, например гибкого диска, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные электронно считываемые управляющие сигналы, которые взаимодействуют (или допускают взаимодействие) с программируемой компьютерной системой, так что осуществляется соответствующий способ. Следовательно, цифровой носитель хранения данных может быть машиночитаемым.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронночитаемые управляющие сигналы, которые допускают взаимодействие с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных в данном документе.
В общем, варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, при этом программный код выполнен с возможностью осуществления одного из способов, когда компьютерный программный продукт исполняется на компьютере. Программный код, например, может быть сохранен на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных в данном документе, сохраненную на машиночитаемом носителе.
Другими словами, следовательно, вариант осуществления изобретаемого способа представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных в данном документе, когда компьютерная программа работает на компьютере.
Следовательно, дополнительный вариант осуществления изобретаемых способов представляет собой носитель хранения данных (цифровой носитель хранения данных или машиночитаемый носитель), содержащий записанную компьютерную программу для осуществления одного из способов, описанных в данном документе. Носитель данных, цифровой носитель хранения данных или носитель с записанными данными типично является материальным и/или невременным.
Следовательно, дополнительный вариант осуществления изобретаемого способа представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных в данном документе. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например компьютер или программируемое логическое устройство, выполненное с возможностью осуществлять один из способов, описанных в данном документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную компьютерную программу для осуществления одного из способов, описанных в данном документе.
Дополнительный вариант осуществления согласно изобретению содержит устройство или систему, выполненные с возможностью передавать (например, электронно или оптически) компьютерную программу для осуществления одного из способов, описанных в данном документе, в приемное устройство. Приемное устройство, например, может быть компьютером, мобильным устройством, запоминающим устройством и т.п. Устройство или система, например, может содержать файловый сервер для передачи компьютерной программы в приемное устройство.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может быть использовано для того, чтобы выполнять часть или все из функциональностей способов, описанных в данном документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, чтобы осуществлять один из способов, описанных в данном документе. В общем, способы предпочтительно осуществляются посредством любого устройства.
Вышеописанные варианты осуществления являются просто иллюстративными в отношении принципов настоящего изобретения. Следует понимать, что модификации и изменения компоновок и подробностей, описанных в данном документе, должны быть очевидными для специалистов в данной области техники. Следовательно, оно подразумевается как ограниченное только посредством объема нижеприведенной формулы изобретения, а не посредством конкретных подробностей, представленных посредством описания и пояснения вариантов осуществления в данном документе.
Документы
[1]: 3GPP, "Audio codec processing functions; Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Transcoding functions", 2009 год, 3GPP TS 26.290.
[2]: USAC codec (Unified Speech and Audio Codec), ISO/IEC CD 23003-3, 24 сентября 2010 года.