Перекрестная ссылка на родственные заявки
Настоящая заявка испрашивает приоритет по дате подачи американской предварительной заявки на патент № 61/827264, поданной 24 мая 2013 года, содержащейся в данном документе по ссылке.
Область техники
Раскрытие сущности в данном документе, в общем, относится к кодированию аудио. В частности, оно относится к кодированию и декодированию вектора параметров в системе кодирования аудио. Раскрытие сущности дополнительно относится к способу и устройству для восстановления аудиообъекта в системе декодирования аудио.
Предшествующий уровень техники
В традиционных аудиосистемах используется канальный подход. Каждый канал, например, может представлять контент одного динамика или одного массива динамиков. Возможные схемы кодирования для таких систем включают в себя дискретное многоканальное кодирование или параметрическое кодирование, к примеру, стандарт объемного звучания MPEG.
Впоследствии был разработан новый подход. Этот подход является объектно-ориентированным. В системе с использованием объектно-ориентированного подхода, трехмерная аудиосцена представлена посредством аудиообъектов с их ассоциированными позиционными метаданными. Эти аудиообъекты перемещаются в трехмерной аудиосцене во время воспроизведения аудиосигнала. Система дополнительно может включать в себя так называемые подложенные каналы, которые могут описываться как стационарные аудиообъекты, которые непосредственно преобразуются в позиции динамиков, например, традиционной аудиосистемы, как описано выше.
Проблема, которая может возникать в объектно-ориентированной аудиосистеме, состоит в этом, как эффективно кодировать и декодировать аудиосигнал и сохранять качество кодированного сигнала. Возможная схема кодирования включает в себя, на стороне кодера, создание сигнала понижающего микширования, содержащего число каналов, из аудиообъектов и подложенных каналов и вспомогательной информации, которая обеспечивает воссоздание аудиообъектов и подложенных каналов на стороне декодера.
Пространственное кодирование аудиообъектов по стандарту MPEG (MPEG SAOC) описывает систему для параметрического кодирования аудиообъектов. Система отправляет вспомогательную информацию, к примеру, матрицу повышающего микширования, описывающую свойства объектов посредством параметров, таких как разность уровня и взаимная корреляция объектов. Эти параметры затем используются для того, чтобы управлять воссозданием аудиообъектов на стороне декодера. Этот процесс может быть математическим комплексом и зачастую должен основываться на допущениях касательно свойств аудиообъектов, которые явно не описываются посредством параметров. Способ, представленный в MPEG SAOC, может понижать требуемую скорость передачи битов для объектно-ориентированной аудиосистемы, но дальнейшее улучшение может быть необходимо, чтобы дополнительно повышать эффективность и качество, как описано выше.
Краткое описание чертежей
Ниже описываются примерные варианты осуществления со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 является обобщенной блок-схемой системы кодирования аудио в соответствии с примерным вариантом осуществления;
Фиг. 2 является обобщенной блок-схемой примерного кодера матрицы повышающего микширования, показанного на фиг. 1;
Фиг. 3 показывает примерное распределение вероятностей для первого элемента в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;
Фиг. 4 показывает примерное распределение вероятностей, по меньшей мере, для одного дифференциально кодированного по модулю второго элемента в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;
Фиг. 5 является обобщенной блок-схемой системы декодирования аудио в соответствии с примерным вариантом осуществления;
Фиг. 6 является обобщенной блок-схемой декодера матрицы повышающего микширования, показанного на фиг. 5;
Фиг. 7 описывает способ кодирования для вторых элементов в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;
Фиг. 8 описывает способ кодирования для первого элемента в векторе параметров, соответствующих элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио по фиг. 1;
Фиг. 9 описывает части способа кодирования по фиг. 7 для вторых элементов в примерном векторе параметров;
Фиг. 10 описывает части способа кодирования по фиг. 8 для первого элемента в примерном векторе параметров;
Фиг. 11 является обобщенной блок-схемой второго примерного кодера матрицы повышающего микширования, показанного на фиг. 1;
Фиг. 12 является обобщенной блок-схемой системы декодирования аудио в соответствии с примерным вариантом осуществления;
Фиг. 13 описывает способ кодирования для разреженного кодирования строки матрицы повышающего микширования;
Фиг. 14 описывает части способа кодирования по фиг. 10 для примерной строки матрицы повышающего микширования;
Фиг. 15 описывает части способа кодирования по фиг. 10 для примерной строки матрицы повышающего микширования;
Все данные являются схематичными и показывают, в общем, только части, которые требуются, чтобы пояснять раскрытие сущности, тогда как другие части могут опускаться или просто предполагаться. Если не указано иное, аналогичные ссылки с номерами означают аналогичные части на различных чертежах.
Подробное описание изобретения
С учетом вышеизложенного, цель заключается в том, чтобы предоставлять кодеры и декодеры и ассоциированные способы, которые предоставляют повышенную эффективность и качество кодированного аудиосигнала.
I. Обзор: кодер
Согласно первому аспекту, примерные варианты осуществления предлагают способы кодирования, кодеры и компьютерные программные продукты для кодирования. Предложенные способы, кодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.
Согласно примерным вариантам осуществления, предусмотрен способ для кодирования вектора параметров в системе кодирования аудио, причем каждый параметр соответствует апериодической величине, вектор имеет первый элемент и, по меньшей мере, один второй элемент, при этом способ содержит: представление каждого параметра в векторе посредством значения индекса, которое может принимать N значений; ассоциирование каждого, по меньшей мере, из одного второго элемента с символом, причем символ вычисляется посредством следующего: вычисление разности между значением индекса второго элемента и значением индекса его предыдущего элемента в векторе; применение операции по модулю N к разности. Способ дополнительно содержит этап кодирования каждого, по меньшей мере, из одного второго элемента посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов.
Преимущество этого способа состоит в том, что число возможных символов уменьшается приблизительно на коэффициент в два по сравнению с традиционными стратегиями разностного кодирования, в которых по модулю N не применяется к разности. Следовательно, размер таблицы вероятностей уменьшается приблизительно на коэффициент в два. Как результат, меньше запоминающего устройства требуется, чтобы сохранять таблицу вероятностей и, поскольку таблица вероятностей зачастую сохраняется в дорогом запоминающем устройстве в кодере, кодер в силу этого может становиться менее дорогим. Кроме того, может повышаться скорость поиска символа в таблице вероятностей. Дополнительное преимущество состоит в том, что эффективность кодирования может увеличиваться, поскольку все символы в таблице вероятностей представляют собой возможные варианты, которые должны быть ассоциированы с конкретным вторым элементом. Оно может сравниваться с традиционными стратегиями разностного кодирования, в которых только приблизительно половина символов в таблице вероятностей представляют собой возможные варианты для ассоциирования с конкретным вторым элементом.
Согласно вариантам осуществления, способ дополнительно содержит ассоциирование первого элемента в векторе с символом, причем символ вычисляется посредством следующего: сдвиг значения индекса, представляющего первый элемент в векторе, посредством значения смещения; применение операции по модулю N к сдвигаемому значению индекса. Способ дополнительно содержит этап кодирования первого элемента посредством энтропийного кодирования символа, ассоциированного с первым элементом, с использованием идентичной таблицы вероятностей, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент.
Этот вариант осуществления использует тот факт, что распределение вероятностей значения индекса первого элемента и распределение вероятностей символов, по меньшей мере, одного второго элемента являются аналогичными, хотя и сдвинутыми относительно друг друга посредством значения смещения. Как следствие, идентичная таблица вероятностей может использоваться для первого элемента в векторе вместо выделенной таблицы вероятностей. Это может приводить к снижению требований к запоминающему устройству и менее дорогому кодеру согласно вышеуказанному.
Согласно варианту осуществления, значение смещения равно разности между наиболее вероятным значением индекса для первого элемента и наиболее вероятным символом, по меньшей мере, для одного второго элемента в таблице вероятностей. Это означает то, что пики распределений вероятностей совмещаются. Следовательно, практически идентичная эффективность кодирования поддерживается для первого элемента по сравнению с тем, как если бы использовалась выделенная таблица вероятностей для первого элемента.
Согласно вариантам осуществления, первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным полосам частот, используемым в системе кодирования аудио в конкретном временном кадре. Это означает то, что данные, соответствующие множеству полос частот, могут кодироваться в идентичной операции. Например, вектор параметров может соответствовать коэффициенту повышающего микширования или восстановления, который варьируется по множеству полос частот.
Согласно варианту осуществления, первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным временным кадрам, используемым в системе кодирования аудио в конкретной полосе частот. Это означает то, что данные, соответствующие множеству временных кадров, могут кодироваться в идентичной операции. Например, вектор параметров может соответствовать коэффициенту повышающего микширования или восстановления, который варьируется в зависимости от множества временных кадров.
Согласно вариантам осуществления, таблица вероятностей преобразуется в таблицу кодирования Хаффмана, при этом символ, ассоциированный с элементом в векторе, используется в качестве индекса таблицы кодирования, и при этом этап кодирования содержит кодирование каждого, по меньшей мере, из одного второго элемента посредством представления второго элемента с помощью кодового слова в таблице кодирования, которая индексируется посредством индекса таблицы кодирования, ассоциированного со вторым элементом. Посредством использования символа в качестве индекса таблицы кодирования может увеличиваться скорость поиска кодового слова, чтобы представлять элемент.
Согласно вариантам осуществления, этап кодирования содержит кодирование первого элемента в векторе с использованием идентичной таблицы кодирования Хаффмана, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент посредством представления первого элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного с первым элементом. Следовательно, только одна таблица кодирования Хаффмана должна сохраняться в запоминающем устройстве кодера, что может приводить к менее дорогому кодеру согласно вышеуказанному.
Согласно дополнительному варианту осуществления, вектор параметров соответствует элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио. Это может снижать требуемую скорость передачи битов в системе кодирования/декодирования аудио, поскольку может эффективно кодироваться матрица повышающего микширования.
Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ первого аспекта при выполнении на устройстве, имеющем возможности обработки.
Согласно примерным вариантам осуществления, предусмотрен кодер для кодирования вектора параметров в системе кодирования аудио, причем каждый параметр соответствует апериодической величине, вектор имеет первый элемент и, по меньшей мере, один второй элемент, причем кодер содержит: приемный компонент, адаптированный с возможностью принимать вектор; компонент индексации, адаптированный с возможностью представлять каждый параметр в векторе посредством значения индекса, которое может принимать N значений; компонент ассоциирования, адаптированный с возможностью ассоциировать каждый, по меньшей мере, один второй элемент с символом, причем символ вычисляется посредством следующего: вычисление разности между значением индекса второго элемента и значением индекса его предыдущего элемента в векторе; применение операции по модулю N к разности. Кодер дополнительно содержит компонент кодирования для кодирования каждого, по меньшей мере, из одного второго элемента посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов.
II. Обзор: декодер
Согласно второму аспекту, примерные варианты осуществления предлагают способы декодирования, декодеры и компьютерные программные продукты для декодирования. Предложенные способы, декодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.
Преимущества относительно признаков и компоновок, как представлено в обзоре кодера выше, в общем, могут быть применимыми для соответствующих признаков и компоновок для декодера.
Согласно примерным вариантам осуществления, предусмотрен способ для декодирования вектора энтропийно кодированных символов в системе декодирования аудио в вектор параметров, связанных с апериодической величиной, вектор энтропийно кодированных символов содержит первый энтропийно кодированный символ и, по меньшей мере, один второй энтропийно кодированный символ и вектор параметров содержит первый элемент и, по меньшей мере, один второй элемент, при этом способ содержит: представление каждого энтропийно кодированного символа в векторе энтропийно кодированных символов посредством символа, который может принимать N целочисленных значений посредством использования таблицы вероятностей; ассоциирование первого энтропийно кодированного символа со значением индекса; ассоциирование каждого, по меньшей мере, из одного второго энтропийно кодированного символа со значением индекса, причем значение индекса, по меньшей мере, одного второго энтропийно кодированного символа вычисляется посредством следующего: вычисление суммы значения индекса, ассоциированного с энтропийно кодированным символом, предшествующим второму энтропийно кодированному символу в векторе энтропийно кодированных символов, и символа, представляющего второй энтропийно кодированный символ; применение операции по модулю N к сумме. Способ дополнительно содержит этап представления, по меньшей мере, одного второго элемента вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному, по меньшей мере, с одним вторым энтропийно кодированным символом.
Согласно примерным вариантам осуществления, этап представления каждого энтропийно кодированного символа в векторе энтропийно кодированных символов посредством символа выполняется с использованием идентичной таблицы вероятностей для всех энтропийно кодированных символов в векторе энтропийно кодированных символов, при этом значение индекса, ассоциированное с первым энтропийно кодированным символом, вычисляется посредством следующего: сдвиг символа, представляющего первый энтропийно кодированный символ в векторе энтропийно кодированных символов, посредством значения смещения; применение операции по модулю N к сдвинутому символу. Способ дополнительно содержит этапы: представление первого элемента вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному с первым энтропийно кодированным символом.
Согласно варианту осуществления, таблица вероятностей преобразуется в таблицу кодирования Хаффмана, и каждый энтропийно кодированный символ соответствует кодовому слову в таблице кодирования Хаффмана.
Согласно дополнительным вариантам осуществления, каждое кодовое слово в таблице кодирования Хаффмана ассоциировано с индексом таблицы кодирования, и этап представления каждого энтропийно кодированного символа в векторе энтропийно кодированных символов посредством символа содержит представление энтропийно кодированного символа посредством индекса таблицы кодирования, ассоциированного с кодовым словом, соответствующим энтропийно кодированному символу.
Согласно вариантам осуществления, каждый энтропийно кодированный символ в векторе энтропийно кодированных символов соответствует различным полосам частот, используемым в системе декодирования аудио в конкретном временном кадре.
Согласно варианту осуществления, каждый энтропийно кодированный символ в векторе энтропийно кодированных символов соответствует различным временным кадрам, используемым в системе декодирования аудио в конкретной полосе частот.
Согласно вариантам осуществления, вектор параметров соответствует элементу в матрице повышающего микширования, используемой посредством системы декодирования аудио.
Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ второго аспекта при выполнении на устройстве, имеющем возможности обработки.
Согласно примерным вариантам осуществления, предусмотрен декодер для декодирования вектора энтропийно кодированных символов в системе декодирования аудио в вектор параметров, связанных с апериодической величиной, вектор энтропийно кодированных символов содержит первый энтропийно кодированный символ и, по меньшей мере, один второй энтропийно кодированный символ и вектор параметров содержит первый элемент и, по меньшей мере, второй элемент, декодер содержит: приемный компонент, выполненный с возможностью принимать вектор энтропийно кодированных символов; компонент индексации, выполненный с возможностью представлять каждый энтропийно кодированный символ в векторе энтропийно кодированных символов посредством символа, который может принимать N целочисленных значений посредством использования таблицы вероятностей; компонент ассоциирования, выполненный с возможностью ассоциировать первый энтропийно кодированный символ со значением индекса; компонент ассоциирования, дополнительно выполненный с возможностью ассоциировать каждый, по меньшей мере, один второй энтропийно кодированный символ со значением индекса, причем значение индекса, по меньшей мере, одного второго энтропийно кодированного символа вычисляется посредством следующего: вычисление суммы значения индекса, ассоциированного с энтропийно кодированным символом, предшествующим второму энтропийно кодированному символу в векторе энтропийно кодированных символов, и символа, представляющего второй энтропийно кодированный символ; применение операции по модулю N к сумме. Декодер дополнительно содержит компонент декодирования, выполненный с возможностью представлять, по меньшей мере, один второй элемент вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному, по меньшей мере, с одним вторым энтропийно кодированным символом.
III. Обзор: разреженный матричный кодер
Согласно третьему аспекту, примерные варианты осуществления предлагают способы кодирования, кодеры и компьютерные программные продукты для кодирования. Предложенные способы, кодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.
Согласно примерным вариантам осуществления, предусмотрен способ для кодирования матрицы повышающего микширования в системе кодирования аудио, причем каждая строка матрицы повышающего микширования содержит M элементов, обеспечивающие возможность восстановления частотно-временного мозаичного фрагмента аудиообъекта из сигнала понижающего микширования, содержащего M каналов, при этом способ содержит: для каждой строки в матрице повышающего микширования: выбор поднабора элементов из M элементов строки в матрице повышающего микширования; представление каждого элемента в выбранном поднаборе элементов посредством значения и позиции в матрице повышающего микширования; кодирование значения и позиции в матрице повышающего микширования каждого элемента в выбранном поднаборе элементов.
При использовании в данном документе, посредством термина "сигнал понижающего микширования, содержащий M каналов" предназначен сигнал, который содержит M-сигналы или каналы, причем каждый из каналов представляет собой комбинацию множества аудиообъектов, включающую в себя аудиообъекты, которые должны быть восстановлены. Число каналов типично больше одного, и во многих случаях число каналов равно пяти или более.
При использовании в данном документе, термин "матрица повышающего микширования" означает матрицу, имеющую N строк и M столбцов, которая дает возможность восстановления N аудиообъектов из сигнала понижающего микширования, содержащего M каналов. Элементы на каждой строке матрицы повышающего микширования соответствуют одному аудиообъекту и предоставляют коэффициенты, которые должны быть перемножены с M каналами понижающего микширования, чтобы восстанавливать аудиообъект.
При использовании в данном документе, посредством позиции в матрице повышающего микширования, в общем, означается индекс строки и столбца, который указывает строку и столбец матричного элемента. Термин "позиция" также может означать индекс столбца в данной строке матрицы повышающего микширования.
В некоторых случаях, отправка всех элементов матрицы повышающего микширования в расчете на частотно-временной мозаичный фрагмент требует нежелательно высокой скорости передачи битов в системе кодирования/декодирования аудио. Преимущество способа состоит в том, что только поднабор элементов матрицы повышающего микширования должен кодироваться и передаваться в декодер. Это может снижать требуемую скорость передачи битов системы кодирования/декодирования аудио, поскольку передается меньший объем данных, и данные могут кодироваться более эффективно.
Системы кодирования/декодирования аудио типично разделяют частотно-временное пространство на частотно-временные мозаичные фрагменты, например, посредством применения подходящих гребенок фильтров к входным аудиосигналам. Посредством частотно-временного мозаичного фрагмента, в общем, означается часть частотно-временного пространства, соответствующего временному интервалу и подполосе частот. Временной интервал типично может соответствовать длительности временного кадра, используемого в системе кодирования/декодирования аудио. Подполоса частот типично может соответствовать одной или нескольким подполосам частот соседней частоты, заданным посредством гребенки фильтров, используемой в системе кодирования/декодирования. В случае если подполоса частот соответствует нескольким подполосам частот соседней частоты, заданным посредством гребенки фильтров, это предоставляет возможность наличия неравномерных подполос частот в процессе декодирования аудиосигнала, например, более широких подполос частот для верхних частот аудиосигнала. В широкополосном случае, в котором система кодирования/декодирования аудио управляет полным частотным диапазоном, подполоса частот частотно-временного мозаичного фрагмента может соответствовать полному частотному диапазону. Вышеописанный способ раскрывает этапы кодирования для кодирования матрицы повышающего микширования в системе кодирования аудио для предоставления возможности восстановления аудиообъекта во время одного такого частотно-временного мозаичного фрагмента. Тем не менее, следует понимать, что способ может повторяться для каждого частотно-временного мозаичного фрагмента системы кодирования/декодирования аудио. Также следует понимать, что несколько частотно-временных мозаичных фрагментов могут кодироваться одновременно. Типично, соседние частотно-временные мозаичные фрагменты могут перекрывать бит во времени и/или частоту. Например, перекрытие во времени может быть эквивалентным линейной интерполяции элементов матрицы восстановления во времени, т.е. от одного временного интервала до следующего. Тем не менее, это раскрытие сущности направлено на другие части системы кодирования/декодирования, и реализация перекрытия во времени и/или по частоте между соседними частотно-временными мозаичными фрагментами оставлена для специалистов в данной области техники.
Согласно вариантам осуществления, для каждой строки в матрице повышающего микширования, позиции в матрице повышающего микширования выбранного поднабора элементов варьируются для множества полос частот и/или для множества временных кадров. Соответственно, выбор элементов может зависеть от конкретного частотно-временного мозаичного фрагмента, так что различные элементы могут выбираться для различных частотно-временных мозаичных фрагментов. Это предоставляет более гибкий способ кодирования, который повышает качество кодированного сигнала.
Согласно вариантам осуществления, выбранный поднабор элементов содержит идентичное число элементов для каждой строки матрицы повышающего микширования. В дополнительных вариантах осуществления, число выбранных элементов может составлять ровно один. Это уменьшает сложность кодера, поскольку алгоритм должен только выбирать идентичное число элемента (элементов) для каждой строки, т.е. элемент (элементы), которые являются наиболее важными при выполнении повышающего микширования на стороне декодера.
Согласно вариантам осуществления, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, значения элементов выбранных поднаборов элементов формируют один или более векторов параметров, причем каждый параметр в векторе параметров соответствует одному из множества полос частот или множества временных кадров, и при этом один или более векторов параметров кодируются с использованием способа согласно первому аспекту. Другими словами, могут эффективно кодироваться значения выбранных элементов. Преимущества относительно признаков и компоновок как представлено в обзоре первого аспекта выше, в общем, могут быть допустимы для этого варианта осуществления.
Согласно вариантам осуществления, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, позиции элементов выбранных поднаборов элементов формируют один или более векторов параметров, причем каждый параметр в векторе параметров соответствует одному из множества полос частот или множества временных кадров, и при этом один или более векторов параметров кодируются с использованием способа согласно первому аспекту. Другими словами, могут эффективно кодироваться позиции выбранных элементов. Преимущества относительно признаков и компоновок как представлено в обзоре первого аспекта выше, в общем, могут быть допустимы для этого варианта осуществления.
Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ третьего аспекта при выполнении на устройстве, имеющем возможности обработки.
Согласно примерным вариантам осуществления, предусмотрен кодер для кодирования матрицы повышающего микширования в системе кодирования аудио, причем каждая строка матрицы повышающего микширования содержит M элементов, обеспечивающие возможность восстановления частотно-временного мозаичного фрагмента аудиообъекта из сигнала понижающего микширования, содержащего M каналов, причем кодер содержит: приемный компонент, адаптированный с возможностью принимать каждую строку в матрице повышающего микширования; компонент выбора, адаптированный с возможностью выбирать поднабор элементов из M элементов строки в матрице повышающего микширования; компонент кодирования, адаптированный с возможностью представлять каждый элемент в выбранном поднаборе элементов посредством значения и позиции в матрице повышающего микширования, причем компонент кодирования дополнительно адаптирован с возможностью кодировать значение и позицию в матрице повышающего микширования каждого элемента в выбранном поднаборе элементов.
IV. Обзор: разреженный матричный декодер
Согласно четвертому аспекту, примерные варианты осуществления предлагают способы декодирования, декодеры и компьютерные программные продукты для декодирования. Предложенные способы, декодеры и компьютерные программные продукты могут, в общем, иметь идентичные признаки и преимущества.
Преимущества относительно признаков и компоновок, как представлено в обзоре разреженного матричного кодера выше, в общем, могут быть допустимыми для соответствующих признаков и компоновок для декодера.
Согласно примерным вариантам осуществления, предусмотрен способ для восстановления частотно-временного мозаичного фрагмента аудиообъекта в системе декодирования аудио, содержащий: прием сигнала понижающего микширования, содержащего M каналов; прием, по меньшей мере, одного кодированного элемента, представляющего поднабор M элементов строки в матрице повышающего микширования, каждый кодированный элемент содержит значение и позицию в строке в матрице повышающего микширования, позиция указывает один из M каналов сигнала понижающего микширования, которому соответствует кодированный элемент; и восстановление частотно-временного мозаичного фрагмента аудиообъекта из сигнала понижающего микширования посредством формирования линейной комбинации каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу, при этом в упомянутой линейной комбинации каждый канал понижающего микширования умножается на значение его соответствующего кодированного элемента.
Таким образом, согласно этому способу частотно-временной мозаичный фрагмент аудиообъекта восстановлен посредством формирования линейной комбинации поднабора каналов понижающего микширования. Поднабор каналов понижающего микширования соответствует этим каналам, для которых приняты кодированные коэффициенты повышающего микширования. Таким образом, способ предоставляет возможность восстановления аудиообъекта, несмотря на то, что принимается только поднабор, к примеру, разреженный поднабор, матрицы повышающего микширования. Посредством формирования линейной комбинации только каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу, может снижаться сложность процесса декодирования. Альтернатива заключается в том, чтобы формировать линейную комбинацию всех сигналов понижающего микширования и затем перемножать некоторые из них (которые не соответствуют, по меньшей мере, одному кодированному элементу) со значением нуль.
Согласно вариантам осуществления, позиции, по меньшей мере, одного кодированного элемента варьируются для множества полос частот и/или для множества временных кадров. Другими словами, различные элементы матрицы повышающего микширования могут кодироваться для различных частотно-временных мозаичных фрагментов.
Согласно вариантам осуществления, число элементов, по меньшей мере, одного кодированного элемента равно одному. Это означает то, что аудиообъект восстановлен из одного канала понижающего микширования в каждом частотно-временном мозаичном фрагменте. Тем не менее, один канал понижающего микширования, используемый для того, чтобы восстанавливать аудиообъект, может варьироваться между различными частотно-временными мозаичными фрагментами.
Согласно вариантам осуществления, для множества полос частот или множества временных кадров, значения, по меньшей мере, одного кодированного элемента формируют один или более векторов, при этом каждое значение представлено посредством энтропийно кодированного символа, при этом каждый символ в каждом векторе энтропийно кодированных символов соответствует одной из множества полос частот или одному из множества временных кадров, и при этом один или более векторов энтропийно кодированных символов декодируются с использованием способа согласно второму аспекту. Таким образом, значения элементов матрицы повышающего микширования могут эффективно кодироваться.
Согласно вариантам осуществления, для множества полос частот или множества временных кадров, позиции, по меньшей мере, одного кодированного элемента формируют один или более векторов, при этом каждая позиция представлена посредством энтропийно кодированного символа, при этом каждый символ в каждом векторе энтропийно кодированных символов соответствует одной из множества полос частот или множества временных кадров, и при этом один или более векторов энтропийно кодированных символов декодируются с использованием способа согласно второму аспекту. Таким образом, могут эффективно кодироваться позиции элементов матрицы повышающего микширования.
Согласно примерным вариантам осуществления, предусмотрен машиночитаемый носитель, содержащий инструкции в виде машинного кода, адаптированные выполнять любой способ третьего аспекта при выполнении на устройстве, имеющем возможности обработки.
Согласно примерным вариантам осуществления, предусмотрен декодер для восстановления частотно-временного мозаичного фрагмента аудиообъекта, содержащий: приемный компонент, выполненный с возможностью принимать сигнал понижающего микширования, содержащий M каналов и, по меньшей мере, один кодированный элемент, представляющий поднабор M элементов строки в матрице повышающего микширования, каждый кодированный элемент содержит значение и позицию в строке в матрице повышающего микширования, позиция указывает один из M каналов сигнала понижающего микширования, которому соответствует кодированный элемент; и компонент восстановления, выполненный с возможностью восстанавливать частотно-временной мозаичный фрагмент аудиообъекта из сигнала понижающего микширования посредством формирования линейной комбинации каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу, при этом в упомянутой линейной комбинации каждый канал понижающего микширования умножается на значение его соответствующего кодированного элемента.
V. Примерные варианты осуществления
Фиг. 1 показывает обобщенную блок-схему системы 100 кодирования аудио для кодирования аудиообъектов 104. Система кодирования аудио содержит компонент 106 понижающего микширования, который создает сигнал 110 понижающего микширования из аудиообъектов 104. Сигнал 110 понижающего микширования, например, может представлять собой сигналы объемного звучания 5.1 или 7.1, которые являются обратно совместимыми с установленными системами декодирования звука, такими как Dolby Digital Plus, или MPEG-стандартами, такими как AAC, USAC или MP3. В дополнительных вариантах осуществления, сигнал понижающего микширования не является обратно совместимым.
Чтобы иметь возможность восстанавливать аудиообъекты 104 из сигнала 110 понижающего микширования, параметры повышающего микширования определяются в компоненте 112 анализа параметров повышающего микширования из сигнала 110 понижающего микширования и аудиообъектов 104. Например, параметры повышающего микширования могут соответствовать элементам матрицы повышающего микширования, которая дает возможность восстановления аудиообъектов 104 из сигнала 110 понижающего микширования. Компонент 112 анализа параметров повышающего микширования обрабатывает сигнал 110 понижающего микширования и аудиообъекты 104 относительно отдельных частотно-временных мозаичных фрагментов. Таким образом, параметры повышающего микширования определяются для каждого частотно-временного мозаичного фрагмента. Например, матрица повышающего микширования может определяться для каждого частотно-временного мозаичного фрагмента. Например, компонент 112 анализа параметров повышающего микширования может работать в частотной области, такой как область квадратурных зеркальных фильтров (QMF), которая дает возможность частотно-избирательной обработки. По этой причине, сигнал 110 понижающего микширования и аудиообъекты 104 могут быть преобразованы в частотную область посредством обработки сигнала 110 понижающего микширования и аудиообъектов 104 в гребенке 108 фильтров. Это, например, может осуществляться посредством применения QMF-преобразования или любого другого подходящего преобразования.
Параметры 114 повышающего микширования могут быть организованы в векторном формате. Вектор может представлять параметр повышающего микширования для восстановления конкретного аудиообъекта из аудиообъектов 104 в различных полосах частот в конкретном временном кадре. Например, вектор может соответствовать определенному матричному элементу в матрице повышающего микширования, при этом вектор содержит значения определенного матричного элемента для последующих полос частот. В дополнительных вариантах осуществления, вектор может представлять параметры повышающего микширования для восстановления конкретного аудиообъекта из аудиообъектов 104 в различных временных кадрах в конкретной полосе частот. Например, вектор может соответствовать определенному матричному элементу в матрице повышающего микширования, при этом вектор содержит значения определенного матричного элемента для последующих временных кадров, но на одной частоте полосы частот.
Каждый параметр в векторе соответствует апериодической величине, например, величине, которая принимает значение между -9,6 и 9,4. Под апериодической величиной, в общем, подразумевается величина, для которой отсутствует периодичность в значениях, которые может принимать величина. Это представляет собой отличие от периодической величины, такой как угол, для которой имеется четкое периодическое соответствие между значениями, которые может принимать величина. Например, для угла, предусмотрена периодичность 2π, так что, например, нулевой угол соответствует углу 2π.
Параметры 114 повышающего микширования затем принимаются посредством кодера 102 матрицы повышающего микширования в векторном формате. Далее подробно поясняется кодер матрицы повышающего микширования в связи с фиг. 2. Вектор принимается посредством приемного компонента 202 и имеет первый элемент и, по меньшей мере, один второй элемент. Число элементов зависит от, например, числа полос частот в аудиосигнале. Число элементов также может зависеть от числа временных кадров аудиосигнала, кодируемого в одной операции кодирования.
Вектор затем индексируется посредством компонента 204 индексации. Компонент индексации выполнен с возможностью представлять каждый параметр в векторе посредством значения индекса, которое может принимать предварительно заданное число значений. Это представление может выполняться за два шага. Сначала параметр квантуется, и затем квантованное значение индексируется посредством значения индекса. В качестве примера, в случае если каждый параметр в векторе может принимать значение между -9,6 и 9,4, это может выполняться посредством использования шагов квантования 0,2. Квантованные значения затем могут индексироваться посредством индексов 0-95, т.е. 96 различных значений. В следующих примерах, значение индекса находится в диапазоне 0-95, но это представляет собой, конечно, только пример, другие диапазоны значений индекса являются одинаково возможными, например, 0-191 или 0-63. Меньшие шаги квантования могут давать в результате менее искаженный декодированный аудиосигнал на стороне декодера, но также могут давать в результате большую требуемую скорость передачи битов для передачи данных между системой 100 кодирования аудио и декодером.
Индексированные значения затем отправляются в компонент 206 ассоциирования, который ассоциирует каждый, по меньшей мере, один второй элемент с символом с использованием стратегии дифференциального кодирования по модулю. Компонент 206 ассоциирования выполнен с возможностью вычислять разность между значением индекса второго элемента и значением индекса предыдущего элемента в векторе. Посредством использования только традиционной стратегии дифференциального кодирования, разность может составлять любое значение в диапазоне от -95 до 95, т.е. она имеет 191 возможное значение. Это означает то, что, когда разность кодируется с использованием энтропийного кодирования, требуется таблица вероятностей, содержащая 191 вероятность, т.е. одна вероятность для каждого из 191 возможного значения разностей. Кроме того, эффективность кодирования снижается, поскольку для каждой разности, приблизительно половина из этих 191 вероятности являются невозможными. Например, если второй элемент, который должен дифференциально кодироваться, имеет значение индекса 90, возможные различия находятся в диапазоне от -5 до +90. Типично, наличие стратегии энтропийного кодирования, в которой некоторые вероятности являются невозможными для каждого значения, которое должно кодироваться, снижает эффективность кодирования. Стратегия дифференциального кодирования в этом раскрытии сущности может преодолевать эту проблему и одновременно сокращать число необходимых кодов до 96 посредством применения операции по модулю 96 к разности. Алгоритм ассоциирования в силу этого может выражаться как:
где b является элементом в дифференциально кодируемом векторе, NQ является числом возможных значений индекса, и является символом, ассоциированным с элементом b.
Согласно некоторым вариантам осуществления, таблица вероятностей преобразуется в таблицу кодирования Хаффмана. В этом случае, символ, ассоциированный с элементом в векторе, используется в качестве индекса таблицы кодирования. Компонент 208 кодирования затем может кодировать каждый, по меньшей мере, один второй элемент посредством представления второго элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного со вторым элементом.
Любая другая подходящая стратегия энтропийного кодирования может реализовываться в компоненте 208 кодирования. В качестве примера, такая стратегия кодирования может быть стратегией кодирования диапазона или стратегией арифметического кодирования.
Далее показано то, что энтропия подхода применения операции по модулю всегда ниже или равна энтропии традиционного дифференциального подхода. Энтропия, , традиционного дифференциального подхода следующая:
где является вероятностью простого дифференциального значения n индекса.
Энтропия, , подхода выполнения операции по модулю следующая:
где q(n) является вероятностью дифференциального значения n индекса по модулю как задано посредством следующего:
В силу этого мы имеем следующее:
Подстановка в выходах последнего суммирования
Дополнительно,
При сравнении сумм почленно, поскольку
и аналогично:
мы имеем, что
Как показано выше, энтропия для подхода выполнения операции по модулю всегда ниже или равна энтропии традиционного дифференциального подхода. Случай, в котором энтропия равна, является редким случаем, когда данные, чтобы кодироваться являются патологическими данными, т.е. данные с отклоняющимся характером изменения, которые в большинстве случаев не применяются, например, к матрице повышающего микширования.
Поскольку энтропия для подхода выполнения операции по модулю всегда ниже или равна энтропии традиционного дифференциального подхода, энтропийное кодирование символов, вычисленных посредством подхода выполнения операции по модулю, должно обеспечивать в результате более низкую или, по меньшей мере, идентичную скорость передачи битов по сравнению с энтропийным кодированием символов, вычисленных посредством традиционного дифференциального подхода. Другими словами, энтропийное кодирование символов, вычисленных посредством подхода выполнения операции по модулю, в большинстве случаев является более эффективным, чем энтропийное кодирование символов, вычисленных посредством традиционного дифференциального подхода.
Дополнительное преимущество, как упомянуто выше, заключается в том, что число требуемых вероятностей в таблице вероятностей в подходе выполнения операции по модулю составляет приблизительно половину от числа требуемых вероятностей в традиционном подходе не по модулю.
Выше описан подход выполнения операции по модулю для кодирования, по меньшей мере, одного второго элемента в векторе параметров. Первый элемент может кодироваться посредством использования индексированного значения, посредством которого представлен первый элемент. Поскольку распределение вероятностей значения индекса первого элемента и дифференциального значения по модулю, по меньшей мере, одного второго элемента может быть существенно отличающимся, (см. фиг. 3 для распределения вероятностей индексированного первого элемента и фиг. 4 для распределения вероятностей дифференциального значения по модулю, т.е. символ, по меньшей мере, для одного второго элемента), выделенная таблица вероятностей для первого элемента может быть необходима. Это требует, чтобы и система 100 кодирования аудио, и соответствующий декодер имели такую выделенную таблицу вероятностей в своем запоминающем устройстве.
Тем не менее, авторы изобретения наблюдают, что форма распределений вероятностей в некоторых случаях может быть достаточно похожей, хотя сдвигается относительно друг друга. Это наблюдение может использоваться для того, чтобы аппроксимировать распределение вероятностей индексированного первого элемента посредством сдвигаемой версии распределения вероятностей символа, по меньшей мере, для одного второго элемента. Такой сдвиг может реализовываться посредством адаптации компонента 206 ассоциирования, чтобы ассоциировать первый элемент в векторе с символом посредством сдвига значения индекса, представляющего первый элемент в векторе, посредством значения смещения и затем применяться по модулю 96 (или соответствующее значение) в сдвигаемое значение индекса.
Вычисление символа, ассоциированного с первым элементом, в силу этого может выражаться как:
Такой достигаемый символ используется посредством компонента 208 кодирования, который кодирует первый элемент посредством энтропийного кодирования символа, ассоциированного с первым элементом, с использованием идентичной таблицы вероятностей, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент. Значение смещения может быть равно, или, по меньшей мере, близко к, разности между наиболее вероятным значением индекса для первого элемента и наиболее вероятным символом, по меньшей мере, для одного второго элемента в таблице вероятностей. На фиг. 3, наиболее вероятное значение индекса для первого элемента обозначается посредством стрелки 302. При условии, что наиболее вероятный символ, по меньшей мере, для одного второго элемента является нулем, значение, обозначаемое посредством стрелки 302, должно быть используемым значением смещения. Посредством использования подхода смещения, пики распределений на фиг. 3 и 4 совмещаются. Этот подход исключает необходимость выделенной таблицы вероятностей для первого элемента, и, следовательно, экономит объем запоминающего устройства в системе 100 кодирования аудио и соответствующем декодере при одновременном поддержании практически идентичной эффективности кодирования, которую обеспечивает выделенная таблица вероятностей.
В случае если энтропийное кодирование, по меньшей мере, одного второго элемента выполняется с использованием таблицы кодирования Хаффмана, компонент 208 кодирования может кодировать первый элемент в векторе с использованием идентичной таблицы кодирования Хаффмана, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент посредством представления первого элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного с первым элементом.
Поскольку скорость поиска может быть важной при кодировании параметра в системе декодирования аудио, запоминающее устройство, на котором сохраняется таблица кодирования, преимущественно представляет собой быстродействующее запоминающее устройство и в силу этого является дорогим. Посредством использования только одной таблицы вероятностей, кодер в силу этого может быть менее дорогим, чем в случае, если используются две таблицы вероятностей.
Можно отметить, что распределения вероятностей, показанные на фиг. 3 и фиг. 4, зачастую вычисляются для обучающего набора данных заранее и в силу этого не вычисляются при кодировании вектора, но конечно, можно вычислять распределения "на лету" при кодировании.
Можно также отметить, что вышеприведенное описание системы 100 кодирования аудио с использованием вектора из матрицы повышающего микширования в качестве кодируемого вектора параметров представляет собой просто примерный вариант применения. Способ для кодирования вектора параметров, согласно этому раскрытию сущности, может использоваться в других вариантах применения в системе кодирования аудио, например, при кодировании других внутренних параметров в системе кодирования с понижающим микшированием, к примеру, параметров, используемых в параметрической системе расширения полосы пропускания, к примеру, репликации полос спектра (SBR).
Фиг. 5 является обобщенной блок-схемой системы 500 декодирования аудио для повторного создания кодированных аудиообъектов из кодированного сигнала 510 понижающего микширования и кодированной матрицы 512 повышающего микширования. Кодированный сигнал 510 понижающего микширования принимается посредством приемного компонента 506 понижающего микширования, в котором сигнал уже декодирован, и, если не находится в подходящей частотной области, преобразуется в подходящую частотную область. Декодированный сигнал 516 понижающего микширования затем отправляется в компонент 508 повышающего микширования. В компоненте 508 повышающего микширования, кодированные аудиообъекты воссоздаются с использованием декодированного сигнала 516 понижающего микширования и декодированной матрицы 504 повышающего микширования. Более конкретно, компонент 508 повышающего микширования может выполнять матричную операцию, в которой декодированная матрица 504 повышающего микширования умножается на вектор, содержащий декодированные сигналы 516 понижающего микширования. Ниже описывается процесс декодирования матрицы повышающего микширования. Система 500 декодирования аудио дополнительно содержит компонент 514 рендеринга, которые выводят аудиосигнал на основе восстановленных аудиообъектов 518 в зависимости от того, какой модуль воспроизведения, который подключается к системе 500 декодирования аудио.
Кодированная матрица 512 повышающего микширования принимается посредством декодера 502 матрицы повышающего микширования, который подробно поясняется далее в связи с фиг. 6. Декодер 502 матрицы повышающего микширования выполнен с возможностью декодировать вектор энтропийно кодированных символов в системе декодирования аудио в вектор параметров, связанных с апериодической величиной. Вектор энтропийно кодированных символов содержит первый энтропийно кодированный символ и, по меньшей мере, один второй энтропийно кодированный символ, и вектор параметров содержит первый элемент и, по меньшей мере, второй элемент. Кодированная матрица 512 повышающего микширования в силу этого принимается посредством приемного компонента 602 в векторном формате. Декодер 502 дополнительно содержит компонент 604 индексации, выполненный с возможностью представлять каждый энтропийно кодированный символ в векторе посредством символа, который может принимать N значений посредством использования таблицы вероятностей. N, например, может быть 96. Компонент 606 ассоциирования выполнен с возможностью ассоциировать первый энтропийно кодированный символ со значением индекса посредством любого подходящего средства, в зависимости от способа кодирования, используемого для кодирования первого элемента в векторе параметров. Символ для каждого из вторых кодов и значения индекса для первого кода затем используется посредством компонента 606 ассоциирования, который ассоциирует каждый, по меньшей мере, один второй энтропийно кодированный символ со значением индекса. Значение индекса, по меньшей мере, одного второго энтропийно кодированного символа вычисляется посредством первого вычисления суммы значения индекса, ассоциированного с энтропийно кодированным символом, предшествующим второму энтропийно кодированному символу в векторе энтропийно кодированных символов, и символа, представляющего второй энтропийно кодированный символ. Затем, операция по модулю N применяется к сумме. Предположим, без потери общности, что минимальное значение индекса 0 и максимальное значение индекса, является N-1, например, 95. Алгоритм ассоциирования в силу этого может выражаться как:
где b является элементом в декодируемом векторе, и является числом возможных значений индекса.
Декодер 502 матрицы повышающего микширования дополнительно содержит компонент 608 декодирования, который выполнен с возможностью представлять, по меньшей мере, один второй элемент вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному, по меньшей мере, с одним вторым энтропийно кодированным символом. Таким образом, это представление представляет собой декодированную версию параметра, кодированного, например, посредством системы 100 кодирования аудио, показанной на фиг. 1. Другими словами, это представление равно квантованному параметру, кодированному посредством системы 100 кодирования аудио, показанной на фиг. 1.
Согласно одному варианту осуществления настоящего изобретения, каждый энтропийно кодированный символ в векторе энтропийно кодированного символа представлен посредством символа с использованием идентичной таблицы вероятностей для всех энтропийно кодированных символов в векторе энтропийно кодированных символов. Преимущество этого состоит в том, что только одна таблица вероятностей должна сохраняться в запоминающем устройстве декодера. Поскольку скорость поиска может быть важной при декодировании энтропийно кодированного символа в системе декодирования аудио, запоминающее устройство, на котором сохраняется таблица вероятностей, преимущественно представляет собой быстродействующее запоминающее устройство и в силу этого является дорогим. Посредством использования только одной таблицы вероятностей, декодер в силу этого может быть менее дорогим, чем в случае, если используются две таблицы вероятностей. Согласно этому варианту осуществления, компонент ассоциирования 606 может быть выполнен с возможностью ассоциирования первого энтропийно кодированного символа со значением индекса посредством первого сдвига символа, представляющего первый энтропийно кодированный символ в векторе энтропийно кодированных символов, посредством значения смещения. Операция по модулю N затем применяется к сдвинутому символу. Алгоритм ассоциирования в силу этого может выражаться как:
Компонент 608 декодирования выполнен с возможностью представлять первый элемент вектора параметров посредством значения параметра, соответствующего значению индекса, ассоциированному с первым энтропийно кодированным символом. Таким образом, это представление представляет собой декодированную версию параметра, кодированного посредством, например, системы 100 кодирования аудио, показанной на фиг. 1.
Далее подробно поясняется способ дифференциального кодирования апериодической величины в связи с фиг. 7-10.
Фиг. 7 и 9 описывает способ кодирования для четырех (4) вторых элементов в векторе параметров. Входной вектор 902 в силу этого содержит пять параметров. Параметры могут принимать любое значение между минимальным значением и максимальным значением. В этом примере минимальное значение - 9,6, и максимальное значение - 9,4. Первый этап S702 в способе кодирования должен представлять каждый параметр в векторе 902 посредством значения индекса, которое может принимать N значений. В этом случае, N выбран равным 96, что означает то, что размер шага квантования равен 0.2. Это дает вектор 904. Следующий этап S704 заключается в том, чтобы вычислять разность между каждым из вторых элементов, т.е. четырьмя верхними параметрами в векторе 904, и его предыдущим элементом. Результирующий вектор 906 в силу этого содержит четыре дифференциальных значения: эти четыре верхних значения в векторе 906. Как можно видеть на фиг. 9, дифференциальные значения могут быть отрицательными, нулевыми и положительными. Как пояснено выше, преимущественно иметь дифференциальные значения, которые только могут принимать N значений, в этом случае 96 значений. Чтобы достигать этого, на следующем этапе S706 этого способа, операция по модулю 96 применяется ко вторым элементам в векторе 906. Результирующий вектор 908 не содержит отрицательных значений. Такой достигаемый символ, показанный в векторе 908, затем используется для кодирования вторых элементов вектора в конечном этапе S708 способа, показанного на фиг. 7 посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов, показанных в векторе 908.
Как видно на фиг. 9, первый элемент не обрабатывается после этапа S702 индексации. На фиг. 8 и 10, описывается способ для кодирования первого элемента во входном векторе. Допущение, идентичное допущению в вышеприведенном описании по фиг. 7 и 9 относительно минимального и максимального значения параметров и числа возможных значений индекса, является допустимым при описании фиг. 8 и 10. Первый элемент 1002 принимается посредством кодера. На первом этапе S802 способа кодирования, параметр первого элемента представлен посредством значения 1004 индекса. На следующем этапе S804, индексированное значение 1004 сдвигается посредством значения смещения. В этом примере, значение смещения равно 49. Это значение вычисляется так, как описано выше. На следующем этапе S806, операция по модулю 96 применяется к сдвигаемому значению 1006 индекса. Результирующее значение 1008 затем может использоваться на этапе кодирования S802, чтобы кодировать первый элемент посредством энтропийного кодирования символа 1008 с использованием идентичной таблицы вероятностей, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент на фиг. 7.
Фиг. 11 показывает вариант 102' осуществления компонента 102 кодирования матрицы повышающего микширования на фиг. 1. Кодер 102' матрицы повышающего микширования может использоваться для кодирования матрицы повышающего микширования в системе кодирования аудио, например, система 100 кодирования аудио, показанная на фиг. 1. Как описано выше, каждая строка матрицы повышающего микширования содержит M элементов, обеспечивающие возможность восстановления аудиообъекта из сигнала понижающего микширования, содержащего M каналов.
В низких полных целевых скоростях передачи битов, кодируя и отправляя все M элементов матрицы повышающего микширования в расчете на объект и мозаичный T/F-фрагмент, один для каждого канала понижающего микширования, может требовать нежелательно высокой скорости передачи битов. Это может уменьшить, путем "прореживания" матрицы повышающего микширования, т.е. пытаясь сокращать число ненулевых элементов. В некоторых случаях, четыре из пяти элементов являются нулями, и только один канал понижающего микширования используется в качестве основы для восстановления аудиообъекта. Разреженные матрицы имеют другие распределения вероятностей кодированных индексов (абсолютных или дифференциальных) по сравнению с неразреженными матрицами. В случаях, если матрица повышающего микширования содержит значительную часть нулей, так что значение нуль становится более вероятным, чем 0,5, и используется кодирование методом Хаффмана, эффективность кодирования снижается, поскольку алгоритм кодирования методом Хаффмана является неэффективным, когда конкретное значение, например нуль, имеет вероятность больше 0,5. Кроме того, поскольку многие элементы в матрице повышающего микширования имеют значение в нуль, они не содержат информации. Стратегия в силу этого может состоять в том, чтобы выбирать поднабор элементов матрицы повышающего микширования и только его кодировать и передавать в декодер. Это может снижать требуемую скорость передачи битов системы кодирования/декодирования аудио, поскольку передается меньший объем данных.
Чтобы увеличивать эффективность кодирования матрицы повышающего микширования, может использоваться выделенный режим кодирования для разреженных матриц, который подробнее поясняется ниже.
Кодер 102' содержит приемный компонент 1102, адаптированный с возможностью принимать каждую строку в матрице повышающего микширования. Кодер 102' дополнительно содержит компонент 1104 выбора, адаптированный с возможностью выбирать поднабор элементов из M элементов строки в матрице повышающего микширования. В большинстве случаев поднабор содержит все элементы, не имеющие нулевое значение. Но согласно некоторому варианту осуществления, компонент выбора может предпочитать не выбирать элемент, имеющий ненулевое значение, например, элемент, имеющий значение близко к нулю. Согласно вариантам осуществления, выбранный поднабор элементов может содержать идентичное число элементов для каждой строки матрицы повышающего микширования. Чтобы дополнительно уменьшать требуемую скорость передачи битов, число выбранных элементов может составлять один (1).
Кодер 102' дополнительно содержит компонент 1106 кодирования, который выполнен с возможностью представлять каждый элемент в выбранном поднаборе элементов посредством значения и позиции в матрице повышающего микширования. Компонент 1106 кодирования дополнительно выполнен с возможностью кодировать значение и позицию в матрице повышающего микширования каждого элемента в выбранном поднаборе элементов. Это, например, может быть выполнено с возможностью кодировать значение с использованием дифференциального кодирования по модулю, как описано выше. В этом случае, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, значения элементов выбранных поднаборов элементов формируют один или более векторов параметров. Каждый параметр в векторе параметров соответствует одной из множества полос частот или множества временных кадров. Вектор параметров в силу этого может кодироваться с использованием дифференциального кодирования по модулю, как описано выше. В дополнительных вариантах осуществления, вектор параметров может кодироваться с использованием обычного дифференциального кодирования. В еще одном другом варианте осуществления, компонент 1106 кодирования выполнен с возможностью кодировать каждое значение отдельно, с использованием кодирования с фиксированной скоростью истинного значения квантования, т.е. не дифференциально кодированного, каждого значения.
Нижеприведенные примеры средних скоростей передачи данных наблюдаются для типичного контента. Скорости передачи битов измерены для случая, в котором M=5, число аудиообъектов, которые должны быть восстановлены на стороне декодера, составляет 11, число полос частот составляет 12, и размер шага квантователя параметров составляет 0,1 и имеет 192 уровня. Для случая, в котором все пять элементов в расчете на строку в матрице повышающего микширования кодировались, следующие средние скорости передачи данных наблюдаются:
Кодирование с фиксированной скоростью: 165 Кбит/сек,
Дифференциальное кодирование: 51 Кбит/сек,
Дифференциальное кодирование по модулю: 51 Кбит/с, но с половиной размера таблицы вероятностей или таблицы кодирования, как описано выше.
Для случая, в котором только один элемент выбран для каждой строки в матрице повышающего микширования, т.е. разреженное кодирование, посредством компонента 1104 выбора, следующие средние скорости передачи данных наблюдаются:
Кодирование с фиксированной скоростью (с использованием 8 битов для значения и 3 битов для позиции): 45 Кбит/с,
Дифференциальное кодирование по модулю и для значения элемента и для позиции элемента: 20 Кбит/с.
Компонент 1106 кодирования может быть выполнен с возможностью кодировать позицию в матрице повышающего микширования каждого элемента в поднаборе элементов аналогичным образом в качестве значения. Компонент 1106 кодирования также может быть выполнен с возможностью кодировать позицию в матрице повышающего микширования каждого элемента в поднаборе элементов различным способом по сравнению с кодированием значения. В случае кодирования позиции с использованием дифференциального кодирования или дифференциального кодирования по модулю, для каждой строки в матрице повышающего микширования и для множества полос частот или множества временных кадров, позиции элементов выбранных поднаборов элементов формируют один или более векторов параметров. Каждый параметр в векторе параметров соответствует одной из множества полос частот или множества временного кадра. Вектор параметров в силу этого кодируется с использованием дифференциального кодирования или дифференциального кодирования по модулю, как описано выше.
Можно отметить, что кодер 102' может быть комбинирован с кодером 102 на фиг. 2, чтобы достигать дифференциального кодирования по модулю разреженной матрицы повышающего микширования согласно вышеуказанному.
Можно дополнительно отметить, что способ кодирования строки в разреженной матрице иллюстрировался выше для кодирования строки в разреженной матрице повышающего микширования, но способ может использоваться для кодирования других типов разреженных матриц, известных специалистам в данной области техники.
Далее подробно поясняется способ для кодирования разреженной матрицы повышающего микширования в связи с фиг. 13-15.
Матрица повышающего микширования принимается, например, посредством приемного компонента 1102 на фиг. 11. Для каждой строки 1402, 1502 в матрице повышающего микширования, при этом способ содержит выбор поднабора S1302 из M, например, 5, элементов строки в матрице повышающего микширования. Каждый элемент в выбранном поднаборе элементов затем представлен S1304 посредством значения и позиции в матрице повышающего микширования. На фиг. 14 один элемент выбирается S1302 в качестве поднабора, например, элемент номер 3, имеющий значение 2,34. Представление в силу этого может представлять собой вектор 1404, имеющий два поля. Первое поле в векторе 1404 представляет значение, например, 2,34, и второе поле в векторе 1404 представляет позицию, например, 3. На фиг. 15 два элемента выбираются S1302 в качестве поднабора, например, элемент номер 3, имеющий значение 2,34, и элемент номер 5, имеющий значение -1,81. Представление в силу этого может представлять собой вектор 1504, имеющий четыре поля. Первое поле в векторе 1504 представляет значение первого элемента, например, 2,34, и второе поле в векторе 1504 представляет позицию первого элемента, например, 3. Третье поле в векторе 1504 представляет значение второго элемента, например, -1,81, и четвертое поле в векторе 1504 представляет позицию второго элемента, например, 5. Представления 1404, 1504 затем кодируются S1306 согласно вышеуказанному.
Фиг. 12 является обобщенной блок-схемой системы 1200 декодирования аудио в соответствии с примерным вариантом осуществления. Декодер 1200 содержит приемный компонент 1206, выполненный с возможностью принимать сигнал 1210 понижающего микширования, содержащий M каналов и, по меньшей мере, один кодированный элемент 1204, представляющий поднабор M элементов строки в матрице повышающего микширования. Каждый из кодированных элементов содержит значение и позицию в строке в матрице повышающего микширования, позиция, указывающая один из M каналов сигнала 1210 понижающего микширования, которому соответствует кодированный элемент. По меньшей мере, один кодированный элемент 1204 декодируется посредством компонента 1202 декодирования элементов матрицы повышающего микширования. Компонент 1202 декодирования элементов матрицы повышающего микширования выполнен с возможностью декодировать, по меньшей мере, один кодированный элемент 1204 согласно стратегии кодирования, используемой для кодирования, по меньшей мере, одного кодированного элемента 1204. Примеры для таких стратегий кодирования раскрыты выше. По меньшей мере, один декодированный элемент 1214 затем отправляется в компонент 1208 восстановления, который выполнен с возможностью восстанавливать частотно-временной мозаичный фрагмент аудиообъекта из сигнала 1210 понижающего микширования посредством формирования линейной комбинации каналов понижающего микширования, которые соответствуют, по меньшей мере, одному кодированному элементу 1204. При формировании линейной комбинации каждый канал понижающего микширования умножается на значение его соответствующего кодированного элемента 1204.
Например, если декодированный элемент 1214 содержит значение 1,1 и позицию 2, частотно-временной мозаичный фрагмент второго канала понижающего микширования умножается на 1,1, и это затем используется для восстановления аудиообъекта.
Система 500 декодирования аудио дополнительно содержит компонент 1216 рендеринга, который выводит аудиосигнал на основе восстановленного аудиообъекта 1218. Тип аудиосигнала зависит от того, какой тип модуль воспроизведения подключается к системе 1200 декодирования аудио. Например, если пара наушников подключается к системе 1200 декодирования аудио, стереосигнал может быть выведен посредством компонента 1216 рендеринга.
Эквиваленты, дополнения, альтернативы, а также разные аспекты
Дополнительные варианты осуществления настоящего раскрытия сущности должны становиться очевидными для специалистов в данной области техники после изучения вышеприведенного описания. Даже если настоящее описание и чертежи раскрывают варианты осуществления и примеры, раскрытие сущности не ограничивается этими конкретными примерами. Множество модификаций и изменений могут вноситься без отступления от объема настоящего раскрытия сущности, который задается посредством прилагаемой формулы изобретения. Все ссылки с номерами, содержащиеся в формуле изобретения, не должны пониматься как ограничивающие ее объема.
Дополнительно, вариации в раскрытых вариантах осуществления могут пониматься и выполняться специалистами в данной области техники при применении на практике заявленного изобретения, из изучения чертежей, раскрытия сущности и прилагаемой формулы изобретения. В формуле изобретения, слово "содержащий" не исключает другие элементы или этапы, и неопределенный артикль "a" или "an" не исключает множество. Простой факт того, что определенные средства упомянуты в различных зависимых пунктах формулы изобретения, не означает того, чтобы комбинация этих средств не может быть выгодно использована.
Системы и способы, раскрытые выше, могут реализовываться как программное обеспечение, микропрограммное обеспечение, аппаратные средства или комбинация вышеозначенного. В аппаратной реализации разделение задач между функциональными модулями, означаемыми в вышеприведенном описании, не обязательно соответствует разделению на физические модули; наоборот, один физический компонент может иметь несколько функциональностей, и одна задача может выполняться посредством нескольких физических компонентов совместно. Определенные компоненты или все компоненты могут реализовываться как программное обеспечение, выполняемое посредством процессора цифровых сигналов или микропроцессора, или реализовываться как аппаратные средства или в качестве специализированной интегральной схемы. Такое программное обеспечение может распространяться на машиночитаемых носителях, которые могут содержать компьютерные носители хранения данных (или энергонезависимые носители) и среды связи (или энергозависимые носители). Как известно в специалистов в данной области техники, термин "компьютерные носители хранения данных" включает в себя оба энергозависимых и энергонезависимых, съемных и стационарных носителя, реализованные в любом способе или технологии для хранения информации, к примеру, через машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители хранения данных включают в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию запоминающих устройств, CD-ROM, универсальный цифровой диск (DVD) или другие оптические дисковые запоминающие устройства, магнитные кассеты, магнитную ленту, магнитные запоминающие диски или другие магнитные запоминающие устройства, либо любой другой носитель, который может быть использован для хранения требуемой информации и к которому может быть осуществлен доступ посредством компьютера. Дополнительно специалистам в данной области техники известно то, что среды связи типично осуществляют машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, к примеру, несущая или другой транспортный механизм и включают в себя любые среды доставки информации.
название | год | авторы | номер документа |
---|---|---|---|
АУДИОКОДЕР И АУДИОДЕКОДЕР | 2014 |
|
RU2643489C2 |
АУДИОКОДЕР И АУДИОДЕКОДЕР | 2014 |
|
RU2676041C1 |
АУДИОКОДЕР И АУДИОДЕКОДЕР | 2018 |
|
RU2710909C1 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ МНОЖЕСТВА АУДИООБЪЕКТОВ ИЛИ УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ДВУХ ИЛИ БОЛЕЕ РЕЛЕВАНТНЫХ АУДИООБЪЕКТОВ | 2021 |
|
RU2823518C1 |
СПОСОБ ДЛЯ ДЕКОДИРОВАНИЯ И КОДИРОВАНИЯ МАТРИЦЫ ПОНИЖАЮЩЕГО МИКШИРОВАНИЯ, СПОСОБ ДЛЯ ПРЕДСТАВЛЕНИЯ АУДИОКОНТЕНТА, КОДЕР И ДЕКОДЕР ДЛЯ МАТРИЦЫ ПОНИЖАЮЩЕГО МИКШИРОВАНИЯ, АУДИОКОДЕР И АУДИОДЕКОДЕР | 2014 |
|
RU2648588C2 |
ПРИНЦИП ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ АУДИО ДЛЯ АУДИОКАНАЛОВ И АУДИООБЪЕКТОВ | 2014 |
|
RU2641481C2 |
КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ АУДИОСИГНАЛОВ | 2013 |
|
RU2643644C2 |
МНОГОКАНАЛЬНЫЙ АУДИОДЕКОДЕР, МНОГОКАНАЛЬНЫЙ АУДИОКОДЕР, СПОСОБЫ, КОМПЬЮТЕРНАЯ ПРОГРАММА И КОДИРОВАННОЕ АУДИОПРЕДСТАВЛЕНИЕ С ИСПОЛЬЗОВАНИЕМ ДЕКОРРЕЛЯЦИИ ПРЕДСТАВЛЕННЫХ ПОСРЕДСТВОМ РЕНДЕРИНГА АУДИОСИГНАЛОВ | 2014 |
|
RU2665917C2 |
УСТРОЙСТВО И СПОСОБ ДЛЯ УЛУЧШЕННОГО ПРОСТРАНСТВЕННОГО КОДИРОВАНИЯ АУДИООБЪЕКТОВ | 2014 |
|
RU2660638C2 |
МАСКИРОВКА ПОТЕРЬ ПАКЕТОВ ДЛЯ ПРОСТРАНСТВЕННОГО КОДИРОВАНИЯ АУДИОДАННЫХ НА ОСНОВЕ DIRAC | 2020 |
|
RU2807473C2 |
Изобретение относится к области вычислительной техники для обработки аудиоданных. Технический результат заключается в повышении эффективности и качества кодированного аудиосигнала. Технический результат достигается за счет представления каждого параметра в векторе посредством значения индекса, которое может принимать N значений; вычисления одного или более символов, причем вычисление включает в себя: вычисление разности между значением индекса второго элемента и значением индекса его предыдущего элемента в векторе: и применение операции по модулю N к разности; ассоциирование каждого, по меньшей мере, из одного второго элемента с соответствующим символом одного или более символов, и кодирование каждого, по меньшей мере, из одного второго элемента посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов. 2 н. и 5 з.п. ф-лы, 15 ил.
1. Способ кодирования вектора параметров в системе кодирования аудио, причем каждый параметр соответствует апериодической величине, вектор имеет первый элемент и, по меньшей мере, один второй элемент, при этом способ содержит: представление каждого параметра в векторе посредством значения индекса, которое может принимать N значений; вычисление одного или более символов, причем вычисление включает в себя: вычисление разности между значением индекса второго элемента и значением индекса его предыдущего элемента в векторе: и применение операции по модулю N к разности; ассоциирование каждого, по меньшей мере, из одного второго элемента с соответствующим символом одного или более символов, и кодирование каждого, по меньшей мере, из одного второго элемента посредством энтропийного кодирования символа, ассоциированного, по меньшей мере, с одним вторым элементом на основе таблицы вероятностей, содержащей вероятности символов.
2. Способ по п.1, в котором первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным полосам частот, используемым в системе кодирования звука в конкретный временной интервал.
3. Способ по п.1, в котором первый элемент и, по меньшей мере, один второй элемент вектора параметров соответствуют различным временным кадрам, используемым в системе кодирования аудио в конкретной полосе частот.
4. Способ по п.1, в котором таблица вероятностей преобразуется в таблицу кодирования Хаффмана, при этом символ, ассоциированный с элементом в векторе, используется в качестве индекса таблицы кодирования, и при этом этап кодирования содержит кодирование каждого, по меньшей мере, из одного второго элемента посредством представления второго элемента с помощью кодового слова в таблице кодирования, которая индексируется посредством индекса таблицы кодирования, ассоциированного со вторым элементом.
5. Способ по п.4, в котором этап кодирования содержит кодирование первого элемента в векторе с использованием идентичной таблицы кодирования Хаффмана, которая используется для того, чтобы кодировать, по меньшей мере, один второй элемент посредством представления первого элемента с помощью кодового слова в таблице кодирования Хаффмана, которая индексируется посредством индекса таблицы кодирования, ассоциированного с первым элементом.
6. Способ по п.1, в котором вектор параметров соответствует элементу в матрице повышающего микширования, определенной посредством системы кодирования аудио.
7. Машиночитаемый носитель хранения данных, содержащий инструкции в виде машинного кода, адаптированные с возможностью осуществлять способ по п.1 при выполнении на устройстве, имеющем возможности обработки.
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
ПАРАМЕТРИЧЕСКОЕ СОВМЕСТНОЕ КОДИРОВАНИЕ АУДИОИСТОЧНИКОВ | 2006 |
|
RU2376654C2 |
Авторы
Даты
2023-12-21—Публикация
2019-12-12—Подача