RU2809977C1 - Кодек с малой задержкой и низкочастотными эффектами - Google Patents
Кодек с малой задержкой и низкочастотными эффектами Download PDFInfo
- Publication number
- RU2809977C1 RU2809977C1 RU2022108693A RU2022108693A RU2809977C1 RU 2809977 C1 RU2809977 C1 RU 2809977C1 RU 2022108693 A RU2022108693 A RU 2022108693A RU 2022108693 A RU2022108693 A RU 2022108693A RU 2809977 C1 RU2809977 C1 RU 2809977C1
- Authority
- RU
- Russia
- Prior art keywords
- coefficients
- sub
- lfe
- frequency
- lfe channel
- Prior art date
Links
- 230000000694 effects Effects 0.000 title claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000001228 spectrum Methods 0.000 claims abstract description 9
- 238000013139 quantization Methods 0.000 claims description 75
- 238000000034 method Methods 0.000 claims description 50
- 230000005236 sound signal Effects 0.000 claims description 14
- 238000001914 filtration Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 9
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 238000012732 spatial analysis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- ACWBQPMHZXGDFX-QFIPXVFZSA-N valsartan Chemical class C1=CC(CN(C(=O)CCCC)[C@@H](C(C)C)C(O)=O)=CC=C1C1=CC=CC=C1C1=NN=NN1 ACWBQPMHZXGDFX-QFIPXVFZSA-N 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Abstract
Изобретение относится к области вычислительной техники для обработки аудиоданных. Технический результат заключается в снижении времени задержки поддержкой пространственного кодирования аудиоданных и повышении устойчивости к ошибкам. Технический результат достигается за счет преобразования, с использованием одного или более процессоров, фильтрованного канального сигнала LFE временной области в представление в частотной области канального сигнала LFE, которое включает в себя некоторое число коэффициентов, представляющих частотный спектр канального сигнала LFE; размещения, с использованием одного или более процессоров, коэффициентов в число групп подполос частот, соответствующее различным полосам частот канального сигнала LFE; квантования коэффициентов в каждой группе подполос частот согласно кривой частотного отклика фильтра нижних частот; кодирования квантованных коэффициентов в каждой группе подполос частот с использованием энтропийного кодера, настроенного для группы подполос частот; и формирования потока битов, включающего в себя кодированные квантованные коэффициенты; и сохранения потока битов на устройстве хранения данных или передачи в потоковом режиме потока битов в следующее по ходу устройство. 2 н. и 19 з.п. ф-лы, 12 ил.
Description
Перекрестная ссылка на родственные заявки
[0001] По данной заявке испрашивается приоритет на основании предварительной заявки на патент США № 62/895,049, поданной 03 сентября 2019 г., и предварительной заявки на патент США № 63/069,420, поданной 24 августа 2020 г., каждая из которых полностью включена в данный документ путём ссылки.
Область техники, к которой относится изобретение
[0002] Данное изобретение относится в общем к обработке аудиосигналов и в частности к обработке каналов с низкочастотными эффектами (LFE).
Уровень техники
[0003] Работы по стандартизации для иммерсивных услуг включают в себя, например, разработку кодека с поддержкой иммерсивных услуг передачи голосовых данных и аудиоданных (IVAS) для голосовой связи, многопотоковой телеконференц-связи, виртуальной реальности (VR), потоковой передачи сформированного пользователями передаваемого в реальном времени и передаваемого не в реальном времени содержимого. Цель стандарта IVAS состоит в разработке одного кодека с превосходным качеством звучания, низким временем задержки, поддержкой пространственного кодирования аудиоданных, соответствующим диапазоном скоростей передачи битов, высокой устойчивостью к ошибкам и сложностью практической реализации. Для достижения этой цели требуется разработать кодек IVAS, который может обрабатывать операции LFE с низким временем задержки на устройствах с поддержкой IVAS либо на любых других устройствах, допускающих обработку сигналов LFE. Канал LFE предназначен для глубоких низкотональных звуков в пределах от 20 до 120 Гц и типично отправляется в динамик, который проектируется с возможностью воспроизведения низкочастотного аудиосодержимого.
Раскрытие изобретения
[0004] Раскрыты реализации конфигурируемого кодека LFE с низкой задержкой.
[0005] В некоторых реализациях, способ кодирования канала с низкочастотными эффектами (LFE) содержит: прием, с использованием одного или более процессоров, канального сигнала LFE временной области; фильтрацию, с использованием фильтра нижних частот, канального сигнала LFE временной области; преобразование, с использованием одного или более процессоров, фильтрованного канального сигнала LFE временной области в представление в частотной области канального сигнала LFE, которое включает в себя определенное число коэффициентов, представляющих частотный спектр канального сигнала LFE; размещение, с использованием одного или более процессоров, коэффициентов в число групп подполос частот, соответствующее различным полосам частот канального сигнала LFE; квантование, с использованием одного или более процессоров, коэффициентов в каждой группе подполос частот согласно кривой частотного отклика фильтра нижних частот; кодирование, с использованием одного или более процессоров, квантованных коэффициентов в каждой группе подполос частот с использованием энтропийного кодера, настроенного для группы подполос частот; и формирование, с использованием одного или более процессоров, потока битов, включающего в себя кодированные квантованные коэффициенты; и сохранение, с использованием одного или более процессоров, потока битов на устройстве хранения данных или потоковую передачу потока битов в следующее по ходу устройство.
[0006] В некоторых реализациях, квантование коэффициентов в каждой группе подполос частот дополнительно содержит формирование коэффициента сдвига при масштабировании на основе максимального числа доступных точек квантования и суммы абсолютных значений коэффициентов; и квантование коэффициентов с использованием коэффициента сдвига при масштабировании.
[0007] В некоторых реализациях, если квантованный коэффициент превышает максимальное число точек квантования, коэффициент сдвига при масштабировании уменьшается, и коэффициенты квантуются снова.
[0008] В некоторых реализациях, точки квантования отличаются для каждой группы подполос частот.
[0009] В некоторых реализациях, коэффициенты в каждой группе подполос частот квантуются согласно схеме точного квантования или схеме грубого квантования, при этом, при использовании схемы точного квантования, большее число точек квантования выделяется для одной или более групп подполос частот, чем назначается соответствующим группам подполос частот согласно схеме грубого квантования.
[0010] В некоторых реализациях, знаковые биты для коэффициентов кодируются отдельно от коэффициентов.
[0011] В некоторых реализациях, предусмотрено четыре группы подполос частот, и первая группа подполос частот соответствует первому частотному диапазону в 0-100 Гц, вторая группа подполос частот соответствует второму частотному диапазону в 100-200 Гц, третья группа подполос частот соответствует третьему частотному диапазону в 200-300 Гц, и четвертая группа подполос частот соответствует четвертому частотному диапазону в 300-400 Гц.
[0012] В некоторых реализациях, энтропийный кодер представляет собой арифметический энтропийный кодер.
[0013] В некоторых реализациях, преобразование фильтрованного канального сигнала LFE временной области в представление в частотной области канального сигнала LFE, которое включает в себя определенное число коэффициентов, представляющих частотный спектр канального сигнала LFE, дополнительно содержит: определение первой длины шага канального сигнала LFE; обозначение первого размера окна кодирования со взвешиванием функции кодирования со взвешиванием на основе первой длины шага; применение первого размера окна кодирования со взвешиванием к одному или более кадров канального сигнала LFE временной области; и применение модифицированного дискретного косинусного преобразования (MDCT) к кодированным со взвешиванием кадрам для формирования коэффициентов.
[0014] В некоторых реализациях, способ дополнительно содержит: определение второй длины шага канального сигнала LFE; обозначение второго размера окна кодирования со взвешиванием функции кодирования со взвешиванием на основе второй длины шага; и применение второго размера окна кодирования со взвешиванием к одному или более кадров канального сигнала LFE временной области.
[0015] В некоторых реализациях, первая длина шага составляет N миллисекунд (мс), N больше или равно 5 мс и меньше или равно 60 мс, первый размер окна кодирования со взвешиванием выше или равен 10 мс, вторая длина шага составляет 5 мс, и второй размер окна кодирования со взвешиванием составляет 10 мс.
[0016] В некоторых реализациях, первая длина шага составляет 20 миллисекунд (мс), первый размер окна кодирования со взвешиванием составляет 10 мс или 20 мс, или 40 мс, вторая длина шага составляет 10 мс, и второй размер окна кодирования со взвешиванием составляет 10 мс или 20 мс.
[0017] В некоторых реализациях, первая длина шага составляет 10 миллисекунд (мс), первый размер окна кодирования со взвешиванием составляет 10 мс или 20 мс, вторая длина шага составляет 5 мс, и второй размер окна кодирования со взвешиванием составляет 10 мс.
[0018] В некоторых реализациях, первая длина шага составляет 20 миллисекунд (мс), первый размер окна кодирования со взвешиванием составляет 10 мс, 20 мс или 40 мс, вторая длина шага составляет 5 мс, и второй размер окна кодирования со взвешиванием составляет 10 мс.
[0019] В некоторых реализациях, функция кодирования со взвешиванием представляет собой выводимую методом Кайзера-Бесселя (KBD) функцию кодирования со взвешиванием с конфигурируемой длиной постепенного нарастания/затухания.
[0020] В некоторых реализациях, фильтр нижних частот представляет собой фильтр нижних частот на основе фильтра Баттеруорта четвертого порядка с частотой отсечки приблизительно в 130 Гц или ниже.
[0021] В некоторых реализациях, способ дополнительно содержит: определение, с использованием одного или более процессоров, является ли энергетический уровень кадра канального сигнала LFE меньшим, чем пороговое значение; в соответствии с тем, что энергетический уровень меньше порогового уровня, формирование индикатора кадров молчания, указывающего, что декодер; вставку индикатора кадров молчания в метаданные потока канальных битов LFE; и уменьшение скорости передачи канальных битов LFE при обнаружении кадров молчания.
[0022] В некоторых реализациях, способ декодирования низкочастотного эффекта (LFE) содержит: прием, с использованием одного или более процессоров, потока канальных битов LFE, причем поток канальных битов LFE включает в себя энтропийно кодированные коэффициенты, представляющие частотный спектр канального сигнала LFE временной области; декодирование, с использованием одного или более процессоров, квантованных коэффициентов с использованием энтропийного декодера; обратное квантование, с использованием одного или более процессоров, обратно квантованных коэффициентов, при этом коэффициенты квантованы в группах подполос частот, соответствующих полосам частот согласно кривой частотного отклика фильтра нижних частот, используемого для фильтрации канального сигнала LFE временной области в кодере; преобразование, с использованием одного или более процессоров, обратно квантованных коэффициентов в канальный сигнал LFE временной области; регулирование, с использованием одного или более процессоров, задержки канального сигнала LFE временной области; и фильтрацию, с использованием фильтра нижних частот, канального сигнала LFE с отрегулированной задержкой.
[0023] В некоторых реализациях, порядок фильтра нижних частот выполнен с возможностью обеспечения того, что первая полная алгоритмическая задержка вследствие кодирования и декодирования канала LFE меньше или равна второй полной алгоритмической задержке вследствие кодирования и декодирования других аудиоканалов многоканального аудиосигнала, который включает в себя канальный сигнал LFE.
[0024] В некоторых реализациях, способ дополнительно содержит: определение, превышает ли вторая полная алгоритмическая задержка пороговое значение; и в соответствии со второй полной алгоритмической задержкой, превышающей пороговое значение, конфигурирование фильтра нижних частот в качестве фильтра нижних частот N-го порядка, где N является целым числом, большим или равным двум; и в соответствии со второй полной алгоритмической задержкой, не превышающей пороговое значение, конфигурирование порядка фильтра нижних частот таким образом, что он меньше N.
[0025] Другие реализации, раскрытые в данном документе, относятся к системе, устройству и машиночитаемому носителю. Подробности раскрытых реализаций изложены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки, задачи и преимущества должны стать очевидными из описания, чертежей и формулы изобретения.
[0026] Конкретные варианты осуществления, раскрытые в данном документе, обеспечивают одно или более следующих преимуществ. Раскрытый кодек LFE с низким временем задержки: 1) главным образом предназначен для канала LFE; 2) главным образом предназначен для частотного диапазона в 20-120 Гц, но переносит аудиовывод в 300 Гц в сценариях с низкой/средней скоростью передачи битов и в 400 Гц в сценариях c высокой скоростью передачи битов; 3) достигает низкой скорости передачи битов посредством применения схемы квантования согласно кривой частотного отклика к входному фильтру нижних частот; 4) имеет низкое время алгоритмической задержки и проектируется с возможностью работы с шагом в 20 миллисекунд (мс) и обеспечения полного времени алгоритмической задержки (включающее в себя кадрирование) в 33 мс; 5) может быть конфигурирован с меньшими шагами и более низким временем алгоритмической задержки для поддержки других сценариев, включающих в себя конфигурации вплоть до шагов в 5 мс и с полным временем алгоритмической задержки (включающим в себя кадрирование) в 13 мс; 6) автоматически выбирает фильтр нижних частот в выводе декодера на основе времени задержки, доступного при использовании кодека LFE; 7) имеет режим молчания с низкой скоростью передачи битов 50 битов в секунду (бит в секунду) во время молчания; и 8) в течение активных кадров, скорость передачи битов колеблется между 2 килобитами в секунду (Кбит/с) в 4 Кбит/с на основе используемого уровня квантования, и в течение кадров молчания, скорость передачи битов составляет 50 битов в секунду.
Краткое описание чертежей
[0027] На чертежах, конкретные компоновки или упорядочения схематичных элементов, к примеру, элементов, которые представляют устройства, модули, блоки обработки инструкций и элементы данных, показаны для простоты описания. Тем не менее, специалисты в данной области техники должны понимать, что конкретное упорядочение или компоновка схематичных элементов на чертежах не имеют намерение подразумевать то, что требуется конкретный порядок или последовательность обработки или разделение процессов. Кроме того, включение схематичного элемента на чертеже не имеет намерение подразумевать то, что такой элемент требуется во всех вариантах осуществления, или то, что признаки, представленные посредством такого элемента, могут не включаться или комбинироваться с другими элементами в некоторых реализациях.
[0028] Кроме того, на чертежах, на которых для иллюстрации соединения, взаимосвязи или ассоциации между двумя или более другими схематичными элементами используются соединительные элементы, такие как сплошные или пунктирные линии или стрелки, отсутствие таких соединительных элементов не подразумевает, что соединение, взаимосвязь или ассоциация не может иметь место. Другими словами, некоторые соединения, взаимосвязи или ассоциации между элементами не показаны на чертежах, чтобы не затруднять понимание изобретения. Помимо этого, для простоты иллюстрации, для представления множества соединений, взаимосвязей или ассоциаций между элементами используется один соединительный элемент. Например, если соединительный элемент представляет обмен сигналами, данными или инструкциями, специалисты в данной области техники должны понимать, что такой элемент представляет один или более трактов передачи сигналов, по мере необходимости, для осуществления связи.
[0029] Фиг. 1 иллюстрирует кодек IVAS для кодирования и декодирования потоков битов IVAS и LFE, согласно одной или более реализаций.
[0030] Фиг. 2A является блок-схемой, иллюстрирующей кодирование LFE, согласно одной или более реализаций.
[0031] Фиг. 2B является блок-схемой, иллюстрирующей декодирование LFE, согласно одной или более реализаций.
[0032] Фиг. 3 является графиком, иллюстрирующим частотный отклик фильтра нижних частот Баттеруорта четвертого порядка с частотой отсечки в 130 Гц, согласно одной или более реализаций.
[0033] Фиг. 4 является графиком, иллюстрирующим функцию кодирования со взвешиванием Филдера, согласно одной или более реализаций.
[0034] Фиг. 5 иллюстрирует варьирование точек точного квантования с частотой, согласно одной или более реализаций.
[0035] Фиг. 6 иллюстрирует варьирование точек грубого квантования с частотой, согласно одной или более реализаций.
[0036] Фиг. 7 иллюстрирует распределение вероятностей квантованных коэффициентов MDCT с точным квантованием, согласно одной или более реализаций.
[0037] Фиг. 8 иллюстрирует распределение вероятностей квантованных коэффициентов MDCT с приблизительным квантованием, согласно одной или более реализаций.
[0038] Фиг. 9 является блок-схемой процесса кодирования коэффициентов модифицированного дискретного косинусного преобразования (MDCT), согласно одной или более реализаций.
[0039] Фиг. 10 является блок-схемой процесса декодирования коэффициентов модифицированного дискретного косинусного преобразования (MDCT), согласно одной или более реализаций.
[0040] Фиг. 11 является блок-схемой системы для реализации признаков и процессов, описанных в отношении фиг. 1-10, согласно одной или более реализаций.
[0041] Одинаковое условное обозначение, используемое на различных чертежах, указывает на аналогичные элементы.
Осуществление изобретения
[0042] В нижеприведенном подробном описании представлено множество конкретных подробностей для обеспечения полного понимания различных описанных вариантов осуществления. Специалистам в данной области техники должно быть очевидным, что различные описанные реализации могут осуществляться на практике без этих конкретных подробностей. В других случаях, хорошо известные способы, процедуры, компоненты и схемы не описаны подробно, чтобы не затруднять понимание аспектов вариантов осуществления. Ниже описаны несколько признаков, каждый из которых может использоваться независимо от других либо с любым сочетанием других признаков.
Терминология
[0043] В контексте данного документа термин «включает в себя» и его варианты следует понимать как неисключающие термины, которые означают «включает в себя, не ограничиваясь». Термин «или» следует понимать как «и/или», если контекст явно не указывает иное. Термин «на основании» следует понимать как «по меньшей мере частично на основании». Термин «одна примерная реализация» и «примерная реализация» следует понимать как «по меньшей мере одна примерная реализация». Термин «другая реализация» следует понимать как «по меньшей мере одна другая реализация». Термины «определенный», «определяет» или «определение» следует понимать как получение, прием, расчет, вычисление, оценка, прогнозирование или вывод. Помимо этого, в нижеприведенном описании и в формуле изобретения, если не указано иное, все технические и научные термины, используемые в данном документе, имеют то же значение, в котором их обычно понимают специалисты в области техники, к которой относится данное изобретение.
Обзор системы
[0044] Фиг. 1 иллюстрирует кодек 100 IVAS для кодирования и декодирования потоков битов IVAS, включающих в себя поток канальных битов LFE, согласно одной или более реализациям. Для кодирования, кодек 100 IVAS принимает N+1 каналов аудиоданных 101, причем N каналов аудиоданных 101 вводятся в модуль 102 пространственного анализа и понижающего сведения, и один канал LFE вводится в модуль 105 канального кодирования LFE. Аудиоданные 101 включают в себя, не ограничиваясь: моносигналы, стереосигналы, бинауральные сигналы, пространственные аудиосигналы (например, многоканальные пространственные аудиообъекты), амбиофонию первого порядка (FoA), амбиофонию высшего порядка (HoA) и любые другие аудиоданные.
[0045] В некоторых реализациях, модуль 102 пространственного анализа и понижающего микширования выполнен с возможностью реализации комплексного улучшенного связывания (CACPL) для анализа/понижающего микширования стереоаудиоданных и/или пространственного восстановления (SPAR) для анализа/понижающего микширования аудиоданных FoA. В других реализациях, модуль 102 пространственного анализа и понижающего микширования реализует другие форматы. Вывод модуля 102 пространственного анализа и понижающего микширования включает в себя пространственные метаданные и 1-N каналов аудиоданных. Пространственные метаданные вводятся в модуль 104 кодирования пространственных метаданных, который выполнен с возможностью квантования и энтропийного кодирования пространственных метаданных. В некоторых реализациях, квантование может включать в себя стратегии точного, умеренного, грубого и сверхгрубого квантования, и энтропийное кодирование может включать в себя кодирование кодом Хаффмана или арифметическое кодирование.
[0046] 1-N каналов аудиоданных вводятся в модуль 103 кодирования первичных аудиоканалов, который выполнен с возможностью кодирования 1-N каналов аудиоданных в один или более потоков битов улучшенных голосовых услуг (EVS). В некоторых реализациях, модуль 103 кодирования первичных аудиоканалов соответствует 3GPP TS 26.445 и обеспечивает широкий диапазон функциональностей, к примеру, повышенное качество и эффективность кодирования для узкополосных (EVS-NB) и широкополосных (EVS-WB) речевых услуг, повышенное качество с использованием сверхширокополосной (EVS-SWB) речи, повышенное качество для смешанного содержимого и музыки в разговорных вариантах применения, устойчивость к потерям пакетов и дрожанию времени задержки и обратную совместимость с кодеком AMR-WB.
[0047] В некоторых реализациях, модуль 103 кодирования первичных аудиоканалов включает в себя модуль предварительной обработки и выбора режима, который выбирает между речевым кодером для кодирования речевых сигналов и перцепционным кодером для кодирования аудиосигналов на указанной скорости передачи битов на основе управления режимом/скоростью передачи битов. В некоторых реализациях, речевой кодер представляет собой улучшенный вариант линейного прогнозирования с возбуждением по алгебраическому коду (ACELP), расширенный за счет специализированных режимов LP для различных речевых классов.
[0048] В некоторых реализациях, аудиокодер представляет собой кодер на основе модифицированного дискретного косинусного преобразования (MDCT) с повышенной эффективностью при низкой задержке/на низких скоростях передачи битов и проектируется с возможностью выполнения прозрачного и надежного переключения между речевыми и аудиокодерами.
[0049] Как описано выше, канальный сигнал LFE предназначен для глубоких низкотональных звуков в пределах от 20-120 Гц и типично отправляется в динамик, который проектируется с возможностью воспроизведения низкочастотного аудиосодержимого (например, сабвуфер). Канальный сигнал LFE вводится в модуль 105 кодирования канальных сигналов LFE, который выполнен с возможностью кодирования канального сигнала LFE, как описано в отношении фиг. 2A.
[0050] В некоторых реализациях, декодер IVAS включает в себя модуль 106 декодирования пространственных метаданных, который выполнен с возможностью восстановления пространственных метаданных, и модуль 107 декодирования первичных аудиоканалов, который выполнен с возможностью восстановления 1-N канальных аудиосигналов. Восстановленные пространственные метаданные и восстановленные 1-N канальных аудиосигналов вводятся в модуль 109 пространственного синтеза/повышающего микширования/рендеринга, который выполнен с возможностью синтеза и подготовки посредством рендеринга 1-N канальных аудиосигналов в N или более канальных выходных аудиосигналов с использованием пространственных метаданных для воспроизведения на динамиках различных аудиосистем, в том числе, не ограничиваясь: систем домашнего кинотеатра, систем в видеоконференц-залах, гарнитуры виртуальной реальности (VR) и любой другой аудиосистемы, которая допускает рендеринг аудио. Модуль 108 канального декодирования LFE принимает поток битов LFE и выполнен с возможностью декодирования потока битов LFE, как описано в отношении фиг. 2B.
[0051] Хотя примерная реализация кодирования/декодирования LFE, описанная выше, выполняется посредством кодека IVAS, кодек LFE с низким временем задержки, описанный ниже, может представлять собой автономный кодек LFE, или который может включаться в любой собственный или стандартизированный аудиокодек, который кодирует и декодирует низкочастотные сигналы в аудиоприложениях, в которых низкое время задержки и конфигурируемость требуются или являются желательными.
[0052] Фиг. 2A является блок-схемой, иллюстрирующей функциональные компоненты модуля 105 канального кодирования LFE, показанного на фиг. 1, согласно одному или более вариантов осуществления. Фиг. 2B является блок-схемой, иллюстрирующей функциональные компоненты канального декодера 108 LFE, показанного на фиг. 1, согласно одному или более вариантов осуществления. Канальный декодер 108 LFE включает в себя модуль 204 энтропийного декодирования и обратного квантования, модуль 205 обратного MDCT и кодирования со взвешиванием, модуль 206 регулирования задержки и выходной LPF 207. Модуль 206 регулирования задержки может находиться до или после LPF 207 и выполняет регулирование задержки (например, посредством буферизации декодированного канального сигнала LFE), так что она совпадает с декодированным канальным сигналом LFE и декодированным выводом первичного кодека. В дальнейшем в этом документе, модуль 105 канального кодирования LFE и модуль 108 канального декодирования LFE, описанные в отношении фиг. 2B, совместно называются «кодеком LFE».
[0053] Модуль 105 канального кодирования LFE включает в себя входной фильтр 201 нижних частот (LPF), модуль 202 кодирования со взвешиванием и MDCT и модуль 203 квантования и энтропийного кодирования. В варианте осуществления, входной аудиосигнал представляет собой аудиосигнал с импульсно-кодовой модуляцией (PCM), и модуль 105 канального кодирования LFE ожидает входной аудиосигнал с шагом в 5 миллисекунд, 10 миллисекунд или 20 миллисекунд. Внутренне, модуль 105 канального кодирования LFE работает с 5-миллисекундными или 10-миллисекундными субкадрами, и кодирование со взвешиванием и MDCT выполняется для комбинации этих субкадров. В варианте осуществления, модуль 105 канального кодирования LFE выполняется с 20-миллисекундным входным шагом и внутренне разделяет этот ввод на два субкадра равной длины. Последний субкадр предыдущего входного кадра в LFE конкатенируется с первым субкадром текущего входного кадра в LFE и кодируется со взвешиванием. Первый субкадр текущего входного кадра в LFE конкатенируется со вторым субкадром текущего входного кадра в LFE и кодируется со взвешиванием. MDCT выполняется два раза, по одному разу для каждого кодированного со взвешиванием блока.
[0054] В варианте осуществления, алгоритмическая задержка (без задержки на кадрирование) равна 8 миллисекундам плюс задержка, вносимая посредством входного LPF 103, плюс задержка, вносимая посредством выходного LPF 207. При использовании входного LPF 201 четвертого порядка и выходного LPF 207 четвертого порядка, время задержки полной системы составляет приблизительно 15 миллисекунд. При использовании входного LPF 201 четвертого порядка и выходного LPF 207 второго порядка, полное время задержки кодека LFE составляет приблизительно 13 миллисекунд.
[0055] Фиг. 3 является графиком, иллюстрирующим частотный отклик примерного входного LPF 201, согласно одному или более вариантов осуществления. В показанном примере, LPF 201 представляет собой фильтр Баттеруорта четвертого порядка с частотой отсечки в 130 Гц. Другие варианты осуществления могут использовать другой тип LPF (например, Чебышева, Бесселя) с тем же или другим порядком и той же или другой частотой отсечки.
[0056] Фиг. 4 является графиком, иллюстрирующим функцию кодирования со взвешиванием Филдера, согласно одному или более вариантов осуществления. В варианте осуществления, функция кодирования со взвешиванием, применяемая посредством модуля 202 кодирования со взвешиванием и MDCT, представляет собой оконную функцию кодирования со взвешиванием Филдера с длиной постепенного нарастания/затухания в 8 миллисекунд. Функция кодирования со взвешиванием Филдера представляет собой выводимую методом Кайзера-Бесселя (KBD) функцию кодирования со взвешиванием с alpha=5, которая представляет собой функцию кодирования со взвешиванием, которая, за счет конструирования, удовлетворяет условию Принцена-Брэдли для MDCT и в силу этого используется с в цифровом аудиоформате по стандарту усовершенствованного кодирования аудио (AAC). Также могут использоваться другие функции кодирования со взвешиванием.
Квантование и энтропийное кодирование
[0057] В варианте осуществления, модуль 203 квантования и энтропийного кодирования реализует стратегию квантования, которая соответствует кривой частотного отклика входного LPF 201 для более эффективного квантования коэффициентов MDCT. В варианте осуществления, частотный диапазон разделяется на 4 группы подполос частот, представляющие 4 полосы частот: 0-100 Гц, 100-200 Гц, 200-300 Гц и 300-400 Гц. Эти полосы частот представляют собой примеры, и большее или меньшее число полос частот может использоваться с одинаковыми или различными частотными диапазонами. Более конкретно, коэффициенты MDCT квантуются с использованием коэффициента сдвига при масштабировании, который динамически вычисляется на основе значений коэффициентов MDCT в конкретном кадре, и точки квантования выбираются согласно кривой частотного LPF-отклика, как показано на фиг. 5-8. Эта стратегия квантования помогает уменьшать число точек квантования для коэффициентов MDCT, принадлежащих полосам частот в 100-200 Гц, в 200-300 Гц и в 300-400 Гц, при поддержании оптимальных точек квантования для первичной полосы частот 0-100 Гц LFE, именно в которой должна содержаться энергия большинства низкочастотных эффектов (например, грохотания).
[0058] В варианте осуществления, ниже описана стратегия квантования для входного шага PCM в Flen миллисекунд (мс) (входной длины кадра) в модуль 105 канального кодирования LFE, при которой длина кадра, Flen, может принимать любое значение, заданное посредством 5*f мс, здесь 1<=f<=12.
[0059] Во-первых, входной PCM-шаг разделяется на N субкадров с равными длинами, каждая ширина субкадра (Sw)=Flen/N мс. N должно выбираться таким образом, что каждое Sw составляет кратное 5 мс (Например, если Flen=20 мс, то N может быть равным 1, 2 или 4; если Flen=10 мс, то N может быть равным 1 или 2; а если Flen=5 мс, то N равно 1). Пусть Si является i-ым субкадром в любом данном кадре, здесь i является целым числом с диапазоном 0<=i<=N, где S0 соответствует последнему субкадру предыдущего входного кадра в модуль 105 кодирования LFE, и S1-SN являются N субкадров текущего кадра.
[0060] Затем, каждый Si-ый и Si+1-ый субкадр конкатенируется и кодируется со взвешиванием с функцией кодирования со взвешиванием Филдера (см. фиг. 4), и затем MDCT выполняется для этих кодированных со взвешиванием выборок. Это приводит к сумме в N MDCT для каждого кадра. Число коэффициентов MDCT из каждого MDCT (num_coeffs)=частота дискретизации * Sw/1000. Частотное разрешение каждого MDCT (ширина каждого коэффициента MDCT) (Wmdct) составляет приблизительно 1000/(2*Sw) Гц. При условии, что сабвуферы типично имеют отсечку LPF приблизительно в 100-120 Гц, и энергия после LPF после 400 Гц типично является очень низкой, коэффициенты MDCT вплоть до 400 Гц квантуются и отправляются в модуль 108 декодирования LFE, в то время как остальная часть коэффициентов MDCT квантуются до 0. Отправка коэффициентов MDCT вплоть до 400 Гц обеспечивает высококачественное восстановление вплоть до 120 Гц в модуле 108 декодирования LFE. Общее число коэффициентов MDCT, которые следует квантовать и кодировать (Nquant), в силу этого равно N*400/Wmdct.
[0061] Затем, коэффициенты MDCT размещаются в M групп подполос частот, при этом ширина каждой группы подполос частот составляет кратное Wmdct, и сумма ширин всех групп подполос частот равна 400 Гц. Пусть ширина каждой подполосы частот составляет SBWm Гц, где m является целым числом с диапазоном 1<=m<=M. При этой ширине, число коэффициентов в m-ой группе подполос частот =SNquant=N*SBWm/Wmdct (т.е. SBWm/Wmdct коэффициентов из каждого MDCT). Коэффициенты MDCT в каждой группе подполос частот затем масштабируются с коэффициентом масштабирования со сдвигом (shift), описанным ниже, определенным посредством суммы или максимума абсолютных значений всех Nquant коэффициентов MDCT. Масштабированные коэффициенты MDCT в каждой группе подполос частот затем квантуются и кодируются отдельно с использованием схемы квантования, которая соответствует кривой LPF на входе кодера. Кодирование квантованных коэффициентов MDCT осуществляется с помощью энтропийного кодера (например, арифметического кодера или кодера Хаффмана). Каждая группа подполос частот кодируется с помощью различного энтропийного кодера, и каждый энтропийный кодер использует соответствующую модель распределения вероятностей для эффективного кодирования соответствующей группы подполос частот.
[0062] Ниже описана примерная стратегия квантования для 20-миллисекундного (мс) шага (Flen=20 мс), 2 субкадров (N=2) и частоты дискретизации=48000. При этой примерной входной конфигурации, ширина субкадра Sw=10 мс, и число MDCT=N=2. Первое MDCT выполняется для 20-мс блока. Этот блок формируется посредством конкатенации 10-20-мс субкадра предыдущего 20-мс ввода и 0-10-мс субкадра текущего 20-мс ввода и затем кодирования со взвешиванием с функцией кодирования со взвешиванием Филдера длиной в 20 мс (см. фиг. 4). При N=1 и N=4, функция кодирования со взвешиванием Филдера масштабируется, соответственно, и длина постепенного нарастания/затухания изменяется на 16/Н мс. Второе MDCT выполняется для 20-мс блока, сформированного посредством кодирования со взвешиванием текущего 20-мс входного кадра, с функцией кодирования со взвешиванием Филдера длиной в 20 мс. Число коэффициентов MDCT (num_coeffs) с каждым MDCT=480, ширина каждого коэффициента MDCT Wmdct=50 Гц, общее число коэффициентов, которые следует квантовать и кодировать, Nquant=16, и общее число коэффициентов, которые следует квантовать и кодировать в расчете на MDCT, =16/Н=8.
[0063] Затем коэффициенты MDCT размещаются в 4 группах подполос частот (M=4), где каждая группа подполос частот соответствует полосе частот в 100 Гц (0-100, 100-200, 200-300, 300-400, SBWm=100 Гц, число коэффициентов в каждой группе подполос частот=SNquant=N*SBWm/Wmdct=4). Пусть a1, a2, a3, a4, a5, a6, a7, a8 являются первыми 8 коэффициентами MDCT, которые должны квантоваться из первого MDCT, и b1, b2, b3, b4, b5, b6, b7, b8 являются первыми 8 коэффициентами MDCT, которые должны квантоваться из второго MDCT. 4 группы подполос частот выполнены с возможностью иметь следующие коэффициенты:
группа 1 подполос частот={a1, a2, b1, b2},
группа 2 подполос частот={a3, a4, b3, b4},
группа 3 подполос частот={a5, a6, b5, b6},
группа 4 подполос частот={a7, a8, b7, b8},
- где каждая группа подполос частот соответствует полосе частот в 100 Гц.
[0064] Кадр с усилением приблизительно в -30 дБ (или меньше) может иметь коэффициенты MDCT со значениями порядка 10-2 или 10-1 или еще ниже, в то время как кадр с усилением на полной шкале может иметь коэффициенты MDCT со значениями в 20 или выше. Чтобы удовлетворять этому широкому диапазону значений, коэффициент сдвига при масштабировании (shift) вычисляется на основе максимального числа доступных точек квантования (max_value) и суммы абсолютного значения коэффициентов MDCT (lfe_dct_new) следующим образом:
shift=floor (shifts_per_double*log2(max_value/sum(abs(lfe_dct_new)))).
[0065] В реализации, lfe_dct_new является массивом из 16 коэффициентов MDCT, shifts_per_double является константой (например, 4), max_value является целым числом, выбранным для точного квантования (например, 63 значения квантования) и для грубого квантования (например, 31 значение квантования), и сдвиг ограничен 5-битовым значением от 4 до 35 для точного квантования и от 2 до 33 для грубого квантования.
[0066] Квантованные коэффициенты MDCT затем вычисляются следующим образом:
vals=round(lfe_dct_new*(2^(shift/shifts_per_double))), где операция round() округляет результат до ближайшего целочисленного значения.
[0067] Если квантованные значения (vals) превышают максимальное разрешенное число доступных точек квантования (max_val), коэффициент сдвига при масштабировании (shift) уменьшается, и квантованные значения (vals) вычисляются снова. В других реализациях, вместо функции sum sum (abs(lfe_dct_new))), функция max max(abs(lfe_dct_new)) может использоваться для вычисления коэффициента сдвига при масштабировании (shift), но значения квантования должны быть в большей степени рассеянными с использованием функции max(), что затрудняет проектирование эффективного энтропийного кодера.
[0068] На этапах квантования, описанных выше, квантованные значения для каждой группы подполос частот вычисляются вместе в одном контуре, но точки квантования отличаются для каждой группы подполос частот. Если первая группа подполос частот превышает разрешенный диапазон, то коэффициент сдвига при масштабировании уменьшается. Если какая-либо из других групп подполос частот превышает разрешенный диапазон, то эта группа подполос частот усекается до max_value. Знаковые биты для всех коэффициентов MDCT и абсолютное значение квантованных коэффициентов MDCT кодируются отдельно для каждой группы подполос частот.
[0069] Фиг. 5 иллюстрирует варьирование точек точного квантования с частотой, согласно одной или более реализаций. При точном квантовании, группа 1 подполос частот (0-100 Гц) имеет 64 точки квантования, группа 2 подполос частот (100-200 Гц) имеет 32 точки квантования, группа 3 подполос частот (200-300 Гц) имеет 8 точек квантования, и группа 4 подполос частот (300-400 Гц) имеет 2 точки квантования. В варианте осуществления, каждая группа подполос частот энтропийно кодируется с помощью отдельного энтропийного кодера (например, арифметического энтропийного кодера или энтропийного кодера Хаффмана), причем каждый энтропийный кодер использует различное распределение вероятностей. Соответственно, первичному диапазону в 0-100 Гц выделяется большинство точек квантования.
[0070] Следует отметить, что выделение точек квантования группам 1-4 подполос частот соответствует форме кривой частотного LPF-отклика, которая имеет больше информации в нижних частотах, чем в верхних частотах, и не имеет информации за пределами частоты отсечки. Для корректного восстановления частот вплоть до 130 Гц, коэффициенты MDCT, которые соответствуют частотам выше 130 Гц, также кодируются, чтобы не допустить или минимизировать наложение спектров. В некоторых реализациях, коэффициенты MDCT вплоть до 400 Гц кодируются таким образом, что частоты вплоть до 130 Гц могут надлежащим образом восстанавливаться в модуле декодирования.
[0071] Фиг. 6 иллюстрирует варьирование точек грубого квантования с частотой, согласно одной или более реализаций. При приблизительном квантовании, группа 1 подполос частот (0-100 Гц) имеет 32 точки квантования, группа 2 подполос частот (100-200 Гц) имеет 16 точек квантования, группа 3 подполос частот (200-300 Гц) имеет 4 точки квантования, и группа 4 подполос частот (300-400 Гц) не квантуется и энтропийно кодируется. В варианте осуществления, каждая группа подполос частот энтропийно кодируется с помощью отдельного энтропийного кодера с использованием различного распределения вероятностей.
[0072] Фиг. 7 иллюстрирует распределение вероятностей квантованных коэффициентов MDCT с точным квантованием, согласно одной или более реализаций. Ось Y является частотой появления, и ось X является числом точек квантования. Sg1 является группой 1 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 0-100 Гц, Sg2 является группой 2 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 100-200 Гц. Sg3 является группой 3 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 200-300 Гц. Sg4 является группой 4 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 300-400 Гц.
[0073] Фиг. 8 иллюстрирует распределение вероятностей квантованных коэффициентов MDCT с приблизительным квантованием, согласно одной или более реализаций. Ось Y является частотой появления, и ось X является числом точек квантования. Sg1 является группой 1 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 0-100 Гц, Sg2 является группой 2 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 100-200 Гц. Sg3 является группой 3 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 200-300 Гц. Sg4 является группой 4 подполос частот, которая соответствует квантованным коэффициентам MDCT в полосе частот в 300-400 Гц.
[0074] Следует отметить, что первичная полоса частот (0-100 Гц) представляет собой полосу частот, в которой обнаруживается большинство эффектов LFE, и в силу этого ей выделяется большее число точек квантования для большего разрешения. Тем не менее, предусмотрено меньше битов, выделяемых первичной полосе частот при приблизительном квантовании, чем для точного квантования. В варианте осуществления, то, используется ли для кадра коэффициентов MDCT точное квантование или приблизительное квантование, зависит от требуемой целевой скорости передачи битов, заданной посредством кодера 103 первичных аудиоканалов. Кодер 103 первичных аудиоканалов задает это значение один раз в ходе инициализации или динамически на покадровой основе на основе битов, требуемых или используемых для кодирования первичных аудиоканалов в каждом кадре.
Кадры молчания
[0075] В некоторых реализациях в поток канальных битов LFE добавляется сигнал для указания кадров молчания. Кадр молчания представляет собой кадр, который имеет энергию ниже указанного порогового значения. В некоторых реализациях, 1 бит включается в поток канальных битов LFE, передаваемый в декодер (например, вставляется в заголовок кадра) для указания кадра молчания, и все коэффициенты MDCT в потоке канальных битов LFE задаются равными 0. Эта технология может уменьшать скорость передачи битов до 50 битов в секунду в течение кадров молчания.
LPF декодера
[0076] На выходе модуля 108 канального декодирования LFE предусмотрены два варианта для реализации LPF 207 (см. фиг. 2B). LPF 207 выбирается на основе доступной задержки (полная задержка других аудиоканалов минус задержка LFE при постепенном нарастании/затухании минус входная задержка LPF). Следует отметить, что другие каналы предположительно должны кодироваться/декодироваться посредством модулей 103, 107 кодирования/декодирования первичных аудиоканалов, и задержки для этих каналов зависит от алгоритмической задержки модулей 103, 107 кодирования/декодирования первичных аудиоканалов.
[0077] В реализации, если доступная задержка меньше 3,5 мс, то LPF Баттеруорта второго порядка с отсечкой на уровне 130 Гц используется; иначе LPF Баттеруорта четвертого порядка с отсечкой на уровне 130 Гц используется. Таким образом, в модуле 108 канального декодирования LFE, предусмотрен компромисс между удалением энергии с наложением спектров за пределами частоты отсечки и алгоритмической задержкой. В некоторых реализациях, LPF 207 может удаляться полностью, поскольку сабвуферы обычно имеют LPF. LPF 207 помогает уменьшать энергию с наложением спектров за пределами отсечки в самом выводе декодера LFE и может помогать эффективной постобработке.
Примерные процессы
[0078] Фиг. 9 является блок-схемой процесса 900 кодирования коэффициентов MDCT согласно одной или более реализаций. Процесс 900 может реализовываться с использованием, например, системы 1100, описанной в отношении фиг. 11.
[0079] Процесс 900 включает в себя этапы: приема канального сигнала LFE временной области (901), фильтрации, с использованием фильтра нижних частот, канального сигнала LFE временной области (902), преобразования фильтрованного канального сигнала LFE временной области в представление в частотной области канального сигнала LFE, которое включает в себя определенное число коэффициентов, представляющих частотный спектр канального сигнала LFE (903); размещения коэффициентов в число групп подполос частот, соответствующее различным полосам частот канального сигнала LFE (904); квантования коэффициентов в каждой группе подполос частот согласно кривой частотного отклика фильтра нижних частот с использованием коэффициента сдвига при масштабировании (905); кодирования квантованных коэффициентов в каждой группе подполос частот с использованием энтропийного кодера, конфигурированного для группы подполос частот (906); формирования потока битов, включающего в себя кодированные квантованные коэффициенты (907); и сохранения потока битов на устройстве хранения данных или потоковой передачи потока битов в следующее по ходу устройство (908).
[0080] Фиг. 10 является блок-схемой процесса 1000 декодирования коэффициентов MDCT, согласно одной или более реализаций. Процесс 1000 может реализовываться с использованием, например, системы 1100, описанной в отношении фиг. 11.
[0081] Процесс 1000 включает в себя этапы: приема потока канальных битов LFE (1001), причем поток канальных битов LFE включает в себя энтропийно кодированные коэффициенты, представляющие частотный спектр канального сигнала LFE временной области; декодирования и обратного квантования коэффициентов (1002), при этом коэффициенты квантованы в группах подполос частот, соответствующих различным полосам частот согласно кривой частотного отклика фильтра нижних частот с использованием коэффициента сдвига при масштабировании; преобразования декодированных и обратно квантованных коэффициентов в канальный сигнал LFE временной области (1003); регулирования задержки канального сигнала LFE временной области (1004); и фильтрации, с использованием фильтра нижних частот, канального сигнала LFE с отрегулированной задержкой (1005). В варианте осуществления, порядок фильтра нижних частот может быть конфигурирован на основе полной алгоритмической задержки, доступной из первичного кодека, используемого для кодирования/декодирования каналов полной полосы пропускания многоканального аудиосигнала, который включает в себя канальный сигнал LFE временной области. В некоторых реализациях, модуль декодирования должен только знать, кодированы ли -коэффициенты MDCT посредством модуля кодирования с точным или приблизительным квантованием. Тип квантования может указываться с использованием бита в заголовке потока битов LFE либо любого другого подходящего механизма передачи служебных сигналов.
[0082] В некоторых реализациях, декодирование обратно квантованных коэффициентов в выборки PCM временной области выполняется следующим образом. Обратно квантованные коэффициенты в каждой группе подполос частот перекомпонуются в N групп (N является числом MDCT, вычисленных в модуле кодирования), причем каждая группа имеет коэффициенты, соответствующие соответствующему MDCT. Согласно примерной реализации, описанной выше, модуль кодирования кодирует следующие 4 группы подполос частот:
группа 1 подполос частот={a1, a2, b1, b2}, группа 2 подполос частот={a3, a4, b3, b4},
группа 3 подполос частот={a5, a6, b5, b6}, группа 4 подполос частот={a7, a8, b7, b8}.
[0083] Модуль декодирования декодирует 4 группы подполос частот и перекомпонует их обратно в {a1, a2, a3, a4, a5, a6, a7, a8} и {b1, b2, b3, b4, b5, b6, b7, b8} и затем дополняет группы нулями для получения требуемой входной длины обратного MDCT (iMDCT). N IMDCT выполняются для обратного преобразования коэффициентов MDCT в каждой группе в блоки временной области. В этом примере, каждый блок имеет ширину в 2*Sw мс, где Sw является шириной субкадра, заданной выше. Затем, этот блок кодируется со взвешиванием с использованием одинаковой функции кодирования со взвешиванием Филдера, используемой посредством модуля кодирования LFE, показанного на фиг. 4. Каждый субкадр Si (i является целым числом между 1<=i<=N) восстанавливается посредством соответствующего суммирования с перекрытием кодированных со взвешиванием данных предыдущего вывода iMDCT и текущего вывода iMDCT. В завершение, вывод (1 003) восстанавливается посредством конкатенации всех N субкадров.
Примерная архитектура системы
[0084] Фиг. 11 является блок-схемой системы 1100 для реализации признаков и процессов, описанных в отношении фиг. 1-10, согласно одной или более реализаций. Система 1100 включает в себя один или более серверных компьютеров или любое клиентское устройство, в том числе, не ограничиваясь: серверы вызовов, абонентское устройство, системы в конференц-залах, системы домашнего кинотеатра, гарнитуры виртуальной реальности (VR) и устройства приема иммерсивного содержимого. Система 1100 включает в себя любые бытовые устройства, в том числе, не ограничиваясь: смартфоны, планшетные компьютеры, носимые компьютеры, компьютеры в транспортных средствах, игровые консоли, системы объемного звучания, киоски и т.д.
[0085] Как показано, система 1100 включает в себя центральный процессор 1101 (CPU), который допускает выполнение различных процессов в соответствии с программой, сохраненной, например, в постоянном запоминающем устройстве 1102 (ROM), или с программой, загружаемой, например, из модуля 1108 хранения в оперативное запоминающее устройство 1103 (RAM). В RAM 1103, также сохраняются данные, требуемые, когда CPU 1101 выполняет различные процессы, по мере необходимости. CPU 1101, ROM 1102 и RAM 1103 соединяются между собой через шину 1104. Интерфейс 1105 ввода-вывода также соединяется с шиной 1104.
[0086] Следующие компоненты соединяются с интерфейсом 1105 ввода-вывода: модуль 1106 ввода, который может включать в себя клавиатуру, мышь и т.п.; модуль 1107 вывода, который может включать в себя дисплей, такой как жидкокристаллический дисплей (ЖК-дисплей) и один или более динамиков; модуль 1108 хранения, включающий в себя жесткий диск или другое подходящее устройство хранения данных; и модуль 1109 связи, включающий в себя сетевую интерфейсную плату, к примеру, сетевую плату (например, проводную или беспроводную).
[0087] В некоторых реализациях, модуль 1106 ввода включает в себя один или более микрофонов в различных положениях (в зависимости от хост-устройства), обеспечивающих захват аудиосигналов в различных форматах (например, в моно-, стерео-, пространственном, иммерсивном и других подходящих форматах).
[0088] В некоторых реализациях, модуль 1107 вывода включает в себя системы с различным числом динамиков. Модуль 1107 вывода (в зависимости от характеристик хост-устройства) может подготавливать посредством рендеринга аудиосигналы в различных форматах (например, в моно-, стерео-, иммерсивном, бинауральном и других подходящих форматах).
[0089] Модуль 1109 связи выполнен с возможностью обмена данными с другими устройствами (например, через сеть). Накопитель 1110 также соединяется с интерфейсом 1105 ввода-вывода по мере необходимости. Съемный носитель 1111, такой как магнитный диск, оптический диск, магнитооптический диск, флэш-накопитель или другой подходящий съемный носитель, монтируется на накопителе 1110 таким образом, что компьютерная программа, считываемая с него, устанавливается в модуль 1108 хранения по мере необходимости. Специалисты в данной области техники должны понимать, что, хотя система 1100 описана как включающая в себя вышеописанные компоненты, в реальных вариантах применения, можно добавлять, удалять и/или заменять некоторые из этих компонентов, и все эти модификации или изменения находятся в пределах объема настоящего изобретения.
[0090] В соответствии с примерными вариантами осуществления настоящего изобретения, процессы, описанные выше, могут быть реализованы в виде компьютерных программ или на машиночитаемом носителе хранения данных. Например, варианты осуществления настоящего изобретения включают в себя компьютерный программный продукт, включающий в себя компьютерную программу, материально реализованную на машиночитаемом носителе, причем компьютерная программа включает в себя программный код для осуществления способов. В таких вариантах осуществления компьютерная программа может загружаться и устанавливаться из сети через модуль 1309 связи и/или устанавливаться со съемного носителя 1111.
[0091] В общем, различные примерные варианты осуществления настоящего изобретения могут быть реализованы аппаратными средствами или специализированными схемами (например, в схеме управления), программным обеспечением, логической схемой или любым их сочетанием. Например, модули, поясненные выше, могут выполняться посредством схемы управления (например, CPU в комбинации с другими компонентами по фиг. 11), так что схема управления может выполнять действия, описанные в данном описании. Некоторые аспекты могут быть реализованы аппаратными средствами, тогда как другие аспекты могут быть реализованы микропрограммным обеспечением или программным обеспечением, которое может выполняться посредством контроллера, микропроцессора или другого вычислительного устройства (например, схемы управления). Хотя различные аспекты примерных вариантов осуществления настоящего раскрытия сущности проиллюстрированы и описаны в виде блок-схем, блок-схем последовательности операций или с использованием какого-либо другого графического представления, следует учитывать, что блоки, устройство, системы, технологии или способы, описанные в данном документе, могут быть реализованы, в качестве неограничивающих примеров, аппаратными средствами, программным обеспечением, микропрограммным обеспечением, специализированными или логическими схемами, аппаратными средствами общего назначения или контроллером, или другими вычислительными устройствами, или любым их сочетанием.
[0092] Кроме того, различные блоки, показанные на блок-схемах способа, могут рассматриваться в качестве этапов способа и/или в качестве операций, которые получаются в результате операции компьютерного программного кода, и/или в качестве множества соединенных логических схемных элементов, сконструированных с возможностью выполнения ассоциированной функции(ий). Например, варианты осуществления настоящего изобретения включают в себя компьютерный программный продукт, включающий в себя компьютерную программу, материально реализованную на машиночитаемом носителе, причем компьютерная программа содержит программные коды, выполненные с возможностью осуществления способов, описанных выше.
[0093] В контексте изобретения, машиночитаемый/считываемый компьютером носитель может представлять собой любой материальный носитель, который может содержать или сохранять программу для использования посредством или в связи с системой, устройством или устройством выполнения инструкций. Машиночитаемый/считываемый компьютером носитель может представлять собой машиночитаемую/считываемую компьютером среду передачи сигналов или машиночитаемый/считываемый компьютером носитель хранения данных. Машиночитаемый/считываемый компьютером носитель может быть постоянным и может включать в себя, не ограничиваясь, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, устройство либо любое подходящее их сочетание. Более конкретные примеры машиночитаемого/считываемого компьютером носителя хранения данных включают в себя электрическое соединение, имеющее один или более проводов, портативную компьютерную дискету, жесткий диск, RAM, ROM, стираемое программируемое постоянное запоминающее устройство (EPROM или флэш-память), оптическое волокно, портативное постоянное запоминающее устройство на компакт-дисках (CD-ROM), оптическое устройство хранения данных, магнитное устройство хранения данных или любое подходящее их сочетание.
[0094] Компьютерный программный код для осуществления способов по настоящему изобретению может быть написан на любой комбинации одного или более языков программирования. Эти компьютерные программные коды могут передаваться в процессор компьютера общего назначения, компьютер специального назначения или другое программируемое устройство обработки данных, которое имеет схему управления, таким образом, что программные коды, при выполнении посредством процессора компьютера или другого программируемого устройства обработки данных, инструктируют реализацию функций/операций, указываемых на блок-схемах способа и/или на блок-схемах. Программный код может выполняться полностью на компьютере, частично на компьютере, в качестве автономного программного пакета, частично на компьютере и частично на удаленном компьютере или полностью на удаленном компьютере или сервере либо распределяться по одному или более удаленных компьютеров и/или серверов.
[0095] При том, что данный документ содержит множество конкретных сведений по реализации, их следует понимать не в качестве ограничений объема того, что может быть заявлено в формуле изобретения, а лишь в качестве описания признаков, которые могут относиться к конкретным вариантам осуществления. Определенные признаки, которые поясняются в данном подробном описании в контексте отдельных вариантов осуществления, также могут быть реализованы в сочетании в одном варианте осуществления. Наоборот, различные признаки, которые описаны в контексте одного варианта осуществления, также могут быть реализованы во множестве вариантов осуществления по отдельности либо в любом подходящем подсочетании. Кроме того, хотя признаки могут быть описаны выше как работающие в определенных сочетаниях и даже изначально указаны таким образом в формуле изобретения , один или более признаков из заявляемого сочетания в некоторых случаях могут быть исключены из сочетания, и заявляемое сочетание может относиться к подсочетанию или вариации подсочетания. Логические последовательности операций, проиллюстрированные на чертежах, не требуют конкретного показанного порядка или последовательного порядка для достижения желаемых результатов. Помимо этого, могут быть предусмотрены другие этапы, или этапы могут быть исключены из описанных последовательностей операций, и другие компоненты могут добавляться или удаляться из описанных систем. Соответственно, другие реализации находятся в пределах объема прилагаемой формулы изобретения.
Claims (69)
1. Способ кодирования канала с низкочастотными эффектами (LFE), содержащий этапы, на которых:
- принимают, с использованием одного или более процессоров, канальный сигнал LFE временной области;
- фильтруют, с использованием фильтра нижних частот, канальный сигнал LFE временной области;
- преобразуют, с использованием одного или более процессоров, фильтрованный канальный сигнал LFE временной области в представление в частотной области канального сигнала LFE, которое включает в себя некоторое число коэффициентов, представляющих частотный спектр канального сигнала LFE;
- размещают, с использованием одного или более процессоров, коэффициенты в число групп подполос частот, соответствующее различным полосам частот канального сигнала LFE;
- квантуют, с использованием одного или более процессоров, коэффициенты в каждой группе подполос частот согласно кривой частотного отклика фильтра нижних частот;
- кодируют, с использованием одного или более процессоров, квантованные коэффициенты в каждой группе подполос частот с использованием энтропийного кодера, настроенного для группы подполос частот; и
- формируют, с использованием одного или более процессоров, поток битов, включающий в себя кодированные квантованные коэффициенты; и
- сохраняют, с использованием одного или более процессоров, поток битов на устройстве хранения данных или передают в потоковом режиме поток битов в следующее по ходу устройство.
2. Способ по п. 1, в котором выделение точек квантования соответствует форме характеристической кривой фильтра нижних частот, причем для групп подполос частот для нижних частот выделяется большее число точек квантования, чем для групп подполос частот для верхних частот.
3. Способ по п. 1 или 2, в котором квантование коэффициентов в каждой группе подполос частот дополнительно содержит этапы, на которых:
- формируют коэффициент сдвига при масштабировании на основе максимального числа доступных точек квантования и суммы абсолютных значений коэффициентов; и
- квантуют коэффициенты с использованием коэффициента сдвига при масштабировании.
4. Способ по п. 3, в котором, если квантованный коэффициент превышает максимальное число точек квантования, коэффициент сдвига при масштабировании уменьшается и коэффициенты квантуются снова.
5. Способ по любому из предшествующих пп. 1-4, в котором точки квантования отличаются для каждой группы подполос частот.
6. Способ по любому из предшествующих пп. 1-5, в котором коэффициенты в каждой группе подполос частот квантуются согласно схеме точного квантования или схеме грубого квантования, при этом при использовании схемы точного квантования для одной или более групп подполос частот выделяется большее число точек квантования, чем назначено соответствующим группам подполос частот согласно схеме грубого квантования.
7. Способ по любому из предшествующих пп. 1-6, в котором знаковые биты для коэффициентов кодируются отдельно от упомянутых коэффициентов.
8. Способ по любому из предшествующих пп. 1-7, в котором имеется четыре группы подполос частот и первая группа подполос частот соответствует первому частотному диапазону в 0-100 Гц, вторая группа подполос частот соответствует второму частотному диапазону в 100-200 Гц, третья группа подполос частот соответствует третьему частотному диапазону в 200-300 Гц и четвертая группа подполос частот соответствует четвертому частотному диапазону в 300-400 Гц.
9. Способ по любому из предшествующих пп. 1-8, в котором энтропийный кодер представляет собой арифметический энтропийный кодер.
10. Способ по любому из предшествующих пп. 1-9, в котором преобразование фильтрованного канального сигнала LFE временной области в представление в частотной области канального сигнала LFE, которое включает в себя некоторое число коэффициентов, представляющих частотный спектр канального сигнала LFE, дополнительно содержит этапы, на которых:
- определяют первую длину шага канального сигнала LFE;
- обозначают первый размер окна кодирования со взвешиванием функции кодирования со взвешиванием на основе первой длины шага;
- применяют первый размер окна кодирования со взвешиванием к одному или более кадрам канального сигнала LFE временной области; и
- применяют модифицированное дискретное косинусное преобразование (MDCT) к кодированным со взвешиванием кадрам для формирования коэффициентов.
11. Способ по п. 10, дополнительно содержащий этапы, на которых:
- определяют вторую длину шага канального сигнала LFE;
- обозначают второй размер окна кодирования со взвешиванием функции кодирования со взвешиванием на основе второй длины шага; и
- применяют второй размер окна кодирования со взвешиванием к одному или более кадрам канального сигнала LFE временной области.
12. Способ по п. 11, в котором:
- первая длина шага составляет N миллисекунд (мс);
- N больше или равно 5 мс и меньше или равно 60 мс;
- первый размер окна кодирования со взвешиванием выше или равен 10 мс;
- вторая длина шага составляет 5 мс; и
- второй размер окна кодирования со взвешиванием составляет 10 мс.
13. Способ по п. 11, в котором:
- первая длина шага составляет 20 миллисекунд (мс);
- первый размер окна кодирования со взвешиванием составляет 10 мс, 20 мс или 40 мс;
- вторая длина шага составляет 10 мс; и
- второй размер окна кодирования со взвешиванием составляет 10 мс или 20 мс.
14. Способ по п. 11, в котором:
- первая длина шага составляет 10 миллисекунд (мс);
- первый размер окна кодирования со взвешиванием составляет 10 мс или 20 мс;
- вторая длина шага составляет 5 мс; и
- второй размер окна кодирования со взвешиванием составляет 10 мс.
15. Способ по п. 11, в котором:
- первая длина шага составляет 20 миллисекунд (мс);
- первый размер окна кодирования со взвешиванием составляет 10 мс, 20 мс или 40 мс;
- вторая длина шага составляет 5 мс; и
- второй размер окна кодирования со взвешиванием составляет 10 мс.
16. Способ по п. 10, в котором функция кодирования со взвешиванием представляет собой выводимую методом Кайзера-Бесселя (KBD) функцию кодирования со взвешиванием с конфигурируемой длиной постепенного нарастания/затухания.
17. Способ по любому из предшествующих пунктов 1-16, в котором фильтр нижних частот представляет собой фильтр нижних частот на основе фильтра Баттеруорта четвертого порядка с частотой отсечки приблизительно в 130 Гц или ниже.
18. Способ по любому из предшествующих пп. 1-17, дополнительно содержащий этапы, на которых:
- определяют, с использованием одного или более процессоров, является ли энергетический уровень кадра канального сигнала LFE меньшим, чем пороговое значение;
- в соответствии с тем, что энергетический уровень меньше порогового уровня:
- формируют индикатор кадров молчания, указывающий декодер;
- вставляют индикатор кадров молчания в метаданные потока канальных битов LFE; и
- уменьшают скорость передачи канальных битов LFE при обнаружении кадров молчания.
19. Способ декодирования потока канальных битов с низкочастотными эффектами (LFE), содержащий этапы, на которых:
- принимают, с использованием одного или более процессоров, поток канальных битов LFE, причем поток канальных битов LFE включает в себя энтропийно кодированные коэффициенты, представляющие частотный спектр канального сигнала LFE временной области;
- декодируют, с использованием одного или более процессоров, квантованные коэффициенты с использованием энтропийного декодера;
- выполняют обратное квантование, с использованием одного или более процессоров, обратно квантованных коэффициентов, при этом коэффициенты квантованы в группах подполос частот, соответствующих полосам частот согласно кривой частотного отклика фильтра нижних частот, используемого для фильтрации канального сигнала LFE временной области в кодере;
- преобразуют, с использованием одного или более процессоров, обратно квантованные коэффициенты в канальный сигнал LFE временной области;
- регулируют, с использованием одного или более процессоров, задержку канального сигнала LFE временной области; и
- фильтруют, с использованием фильтра нижних частот, канальный сигнал LFE с отрегулированной задержкой.
20. Способ по п. 19, в котором порядок фильтра нижних частот выполнен с возможностью обеспечения того, что первая полная алгоритмическая задержка вследствие кодирования и декодирования канала LFE меньше или равна второй полной алгоритмической задержке вследствие кодирования и декодирования других каналов многоканального аудиосигнала, который включает в себя канальный сигнал LFE.
21. Способ по п. 20, дополнительно содержащий этапы, на которых:
- определяют, является ли вторая полная алгоритмическая задержка большей, чем пороговое значение; и
- в соответствии с тем, что вторая полная алгоритмическая задержка больше порогового значения, конфигурируют фильтр нижних частот в качестве фильтра нижних частот N-го порядка, причём N является целым числом, большим или равным двум; и
- в соответствии с тем, что вторая полная алгоритмическая задержка не является большей, чем пороговое значение, конфигурируют порядок фильтра нижних частот таким образом, что он меньше N.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62/895,049 | 2019-09-03 | ||
US63/069,420 | 2020-08-24 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023132369A Division RU2023132369A (ru) | 2019-09-03 | 2020-09-01 | Кодек с малой задержкой и низкочастотными эффектами |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2809977C1 true RU2809977C1 (ru) | 2023-12-20 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140012588A1 (en) * | 2011-03-28 | 2014-01-09 | Dolby Laboratories Licensing Corporation | Reduced complexity transform for a low-frequency-effects channel |
US20140297706A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | Orthogonal transform apparatus, orthogonal transform method, orthogonal transform computer program, and audio decoding apparatus |
RU2583717C1 (ru) * | 2012-01-09 | 2016-05-10 | Долби Лабораторис Лайсэнзин Корпорейшн | Способ и система кодирования аудиоданных с адаптивной низкочастотной коррекцией |
US20160247515A1 (en) * | 2007-06-29 | 2016-08-25 | Microsoft Technology Licensing, Llc | Bitstream syntax for multi-process audio decoding |
RU2625444C2 (ru) * | 2013-04-05 | 2017-07-13 | Долби Интернэшнл Аб | Система обработки аудио |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160247515A1 (en) * | 2007-06-29 | 2016-08-25 | Microsoft Technology Licensing, Llc | Bitstream syntax for multi-process audio decoding |
US20140012588A1 (en) * | 2011-03-28 | 2014-01-09 | Dolby Laboratories Licensing Corporation | Reduced complexity transform for a low-frequency-effects channel |
RU2583717C1 (ru) * | 2012-01-09 | 2016-05-10 | Долби Лабораторис Лайсэнзин Корпорейшн | Способ и система кодирования аудиоданных с адаптивной низкочастотной коррекцией |
US20140297706A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | Orthogonal transform apparatus, orthogonal transform method, orthogonal transform computer program, and audio decoding apparatus |
RU2625444C2 (ru) * | 2013-04-05 | 2017-07-13 | Долби Интернэшнл Аб | Система обработки аудио |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10453463B2 (en) | Metadata driven dynamic range control | |
US8527282B2 (en) | Method and an apparatus for processing a signal | |
JP4809370B2 (ja) | マルチチャネル音声符号化における適応ビット割り当て | |
US7848931B2 (en) | Audio encoder | |
EP3762923B1 (en) | Audio coding | |
WO2019105575A1 (en) | Determination of spatial audio parameter encoding and associated decoding | |
CN114365218A (zh) | 空间音频参数编码和相关联的解码的确定 | |
JP2023530409A (ja) | マルチチャンネル入力信号内の空間バックグラウンドノイズを符号化および/または復号するための方法およびデバイス | |
US20220293112A1 (en) | Low-latency, low-frequency effects codec | |
RU2809977C1 (ru) | Кодек с малой задержкой и низкочастотными эффектами | |
JP2003332914A (ja) | ディジタル信号符号化方法、復号化方法、これらの装置及びプログラム | |
US20240153512A1 (en) | Audio codec with adaptive gain control of downmixed signals | |
WO2018142018A1 (en) | Stereo audio signal encoder | |
TW202211206A (zh) | 低延遲、低頻率效應之編碼解碼器 | |
TW202429446A (zh) | 用於具有元資料之參數化經寫碼獨立串流之不連續傳輸的解碼器及解碼方法 | |
TW202411984A (zh) | 用於具有元資料之參數化經寫碼獨立串流之不連續傳輸的編碼器及編碼方法 |