Блок управления джиттер-буфером, аудиодекодер, способ и компьютерная программа
Иллюстрации
Показать всеИзобретение относится к средствам для кодирования и декодирования аудио. Технический результат заключается в повышении эффективности кодирования и декодирования. Выбирают масштабирование по времени на основе кадра или масштабирование по времени на основе выборки адаптивным к сигналу образом. Аудиокадры удаляют или вставляют, чтобы управлять глубиной джиттер-буфера, когда используется масштабирование по времени на основе кадра, и при этом сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала выполняют, когда используется масштабирование по времени на основе выборки. Выбирают вставку комфортного шума на основе кадра или удаление комфортного шума на основе кадра для масштабирования по времени, если прерывистая передача в сочетании с генерацией комфортного шума используется в настоящий момент или использовалась для предыдущего кадра. Выбирают операцию перекрытия-сложения с использованием предопределенного сдвига по времени для масштабирования по времени, если текущая порция аудиосигнала является активной, но содержит энергию сигнала, которая меньше чем или равна пороговому значению энергии. 10 н. и 18 з.п. ф-лы, 17 ил.
Реферат
1. ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Варианты осуществления согласно изобретению относятся к блоку управления джиттер-буфером, чтобы управлять предоставлением декодированного аудиоконтента на основе входного аудиоконтента.
Дополнительные варианты осуществления согласно изобретению относятся к аудиодекодеру для предоставления декодированного аудиоконтента на основе входного аудиоконтента.
Дополнительные варианты осуществления согласно изобретению относятся к способу управления предоставлением декодируемого аудиоконтента на основе входного аудиоконтента.
Дополнительные варианты осуществления согласно изобретению относятся к компьютерной программе для выполнения упомянутого способа.
2. УРОВЕНЬ ТЕХНИКИ
Хранение и передача аудиоконтента (включая обычный аудиоконтент, подобный музыкальному контенту, речевому контенту и смешанному обычному аудио/речевому контенту) являются важной областью технического применения. Конкретная проблема обусловлена фактом, что слушатель ожидает непрерывное воспроизведение аудиоконтентов, без каких-либо прерываний, а также без каких-либо слышимых артефактов, обусловленных хранением и/или передачей аудиоконтента. В то же время требуется поддерживать насколько возможно низкими требования к средству хранения и средству передачи данных, чтобы удерживать затраты в рамках допустимого предела.
Проблемы возникают, например, если считывание с носителя данных временно прерывается или задерживается, или если передача между источником данных и приемником данных временно прерывается или задерживается. Например, передача через сеть Интернет не является высоконадежной, поскольку передаваемые по протоколу TCP/IP пакеты могут быть потеряны, и поскольку задержка передачи по сети Интернет может изменяться, например, в зависимости от ситуации с изменяющейся загрузкой интернет-узлов. Однако, чтобы иметь удовлетворительное восприятие пользователем, требуется, чтобы имелось непрерывное воспроизведение аудиоконтента, без слышимых "разрывов" (щелчков) или слышимых артефактов. Кроме того, является желательным избегать существенных задержек, которые будут обусловлены буферизацией большого количества аудиоинформации.
Ввиду вышеизложенного обсуждения, может быть признано, что есть необходимость идеи, которая обеспечивает хорошее качество звучания, даже в случае прерывистого предоставления звуковой информации.
3. РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Вариант осуществления согласно изобретению создает блок управления джиттер-буфером, предназначенный для управления предоставлением декодированного аудиоконтента на основе входного аудиоконтента. Блок управления джиттер-буфером сконфигурирован с возможностью выбирать изменение масштаба времени на основе кадра или изменение масштаба времени на основе выборки адаптивным к сигналу образом.
Это вариант осуществления согласно изобретению основывается на установлении факта, что использование масштабирования по времени позволяет обеспечивать непрерывный декодированный аудиоконтент с хорошим или, по меньшей мере, допустимым качеством, даже если входной аудиоконтент содержит существенный джиттер, или даже в случае, если порции (например, кадры) входного аудиоконтента потеряны. Кроме того, это вариант осуществления согласно изобретению основывается на установлении факта, что масштабирование по времени на основе кадра является эффективным в вычислительном отношении и обеспечивает хорошие результаты в некоторых случаях, тогда как масштабирование по времени на основе выборки, которое обычно в вычислительном отношении является более сложным, является рекомендуемым (или даже требуемым) для предотвращения слышимых артефактов декодированного аудиоконтента в некоторых ситуациях. Кроме того, было установлено, что особенно хорошие результаты могут быть получены путем выбора масштабирования по времени на основе кадра и масштабирования по времени на основе выборки адаптивным к сигналу образом, поскольку наиболее подходящий тип масштабирования по времени может использоваться таким образом. Соответственно, это вариант осуществления согласно изобретению обеспечивает хороший компромисс между качеством звучания, задержкой и вычислительной сложностью.
В предпочтительном варианте осуществления аудиокадры удаляют или вставляют, чтобы управлять глубиной джиттер-буфера, когда используется масштабирование по времени на основе кадра. Кроме того, выполняют сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала, когда используется масштабирование по времени на основе выборки. Соответственно, является возможным использовать вычислительно весьма эффективные подходы подобные, например, удалению или вставке аудиокадров, когда аудиосигнал позволяет такой подход без порождения неприемлемых искажений аудио. С другой стороны, более детально разработанный и с возможностью тонкой регулировки подход, а именно сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала, используется, когда вычислительно менее сложный подход (подобный, например, удалению или вставке аудиокадров) не будет (или вероятно не будет, с учетом оценки или анализа аудиоконтента) приводить к удовлетворительному качеству звучания. Соответственно, можно добиться хорошего компромисса между вычислительной сложностью и качеством звучания.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован для переключения между масштабированием по времени на основе кадра, масштабированием по времени на основе выборки и отключением режима масштабирования по времени адаптивным к сигналу образом. С использованием этого подхода является возможным (по меньшей мере, временно) избегать операции масштабирования по времени, когда устанавливают, что операция масштабирования по времени (даже операция масштабирования по времени на основе выборки) приведет к неприемлемому ухудшению параметров аудиоконтента.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован для выбора масштабирования по времени на основе кадра, масштабирования по времени на основе выборки, чтобы управлять глубиной де-джиттер-буфера (компенсации джиттера) (который также может обозначаться кратко как “джиттер-буфер”). Соответственно, является возможным поддерживать "глубину" (или степень заполнения) де-джиттер-буфера (или джиттер-буфера) в рамках требуемого диапазона, что позволяет обращаться с джиттером без существенного ухудшения качества звучания, все еще поддерживая задержку (которая обычно соответствует глубине де-джиттер-буфера) достаточно малой.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован с возможностью выбирать вставку комфортного шума или удаления комфортного шума, если предыдущий кадр был "неактивным". Это концепция основана на установлении факта, что является достаточным генерировать комфортный шум, если кадр (например, предыдущий кадр) является неактивным, например, когда нет речи в течение некоторого периода времени, поскольку "говорящий" только слушает. Однако было установлено, что масштабирование по времени можно выполнять без серьезного ухудшения слухового впечатления, путем вставки дополнительного комфортного шума (например, полного кадра комфортного шума) в аудиоконтент, поскольку расширенный период комфортного шума не будет восприниматься человеком как существенный артефакт. Подобным образом удаление комфортного шума (например, кадра комфортного шума) по существу не ухудшает слухового впечатления, поскольку человек не будет "пропускать" кадр комфортного шума. Соответственно, может выполняться весьма эффективное масштабирование по времени на основе кадра (путем вставки кадра комфортного шума или удаления кадра комфортного шума), если предшествующий кадр был неактивным (например, кадр комфортного шума). Соответственно, адаптивный к сигналу выбор масштабирования по времени на основе кадра, если предшествующий кадр был неактивным, способствует хорошей эффективности масштабирования по времени (тогда как масштабирование по времени на основе кадра является обычно не очень подходящим для "активных" порций аудиоконтента, если только нет особых условий подобных, например, пустому буферу).
В предпочтительном варианте осуществления вставка комфортного шума приводит к вставке кадра комфортного шума в де-джиттер-буфер (также обозначаемый кратко «джиттер-буфер»). Кроме того, удаление комфортного шума предпочтительно приводит к удалению кадра комфортного шума из де-джиттер-буфера. Соответственно, может выполняться очень эффективное масштабирование по времени, поскольку кадр комфортного шума может быть легко сгенерирован (причем кадр комфортного шума обычно просто содержит надлежащую информацию сигнализации, чтобы сигнализировать, что должен быть сгенерирован комфортный шум).
В предпочтительном варианте осуществления соответственный кадр считается неактивным, когда соответственный кадр несет информацию сигнализации, указывающую генерацию комфортного шума. Соответственно, адаптивный к сигналу выбор режима масштабирования по времени (масштабирования по времени на основе кадра или масштабирования по времени на основе выборки) может выполняться с небольшим усилием.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован для исполнения перекрытия-и-сложения порций аудиосигнала со сдвигом по времени, если предшествующий кадр был "активным". Эта концепция основывается на установлении факта, что сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала снижает (или даже предотвращает) слышимые артефакты в случае активного кадра (например, кадра, который содержит аудиоконтент, а не информацию сигнализации, указывающую генерацию комфортного шума).
В предпочтительном варианте осуществления сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала приспосабливают, чтобы позволять регулировку сдвига по времени между блоками аудиовыборок, полученных на основе одиночного кадра, или на основе последующих кадров входного аудиоконтента с разрешающей способностью, которая меньше чем длина блока аудиовыборок (или меньше чем длина кадра), которая меньше чем четверть длины блоков аудиовыборок (или меньше чем четверть длины кадра), или которая меньше чем или равна двум аудиовыборкам. Другими словами, при использовании сдвигаемого по времени перекрытия-и-сложения порций аудиосигнала сдвиг по времени может регулироваться с очень высокой разрешающей способностью, которая может быть величиной в одну аудиовыборку. Соответственно, сдвиг по времени может регулироваться так, что перекрытие-и-сложение (между последующими блоками аудиовыборок) может выполняться образом, хорошо приспособленным к порциям сигнала (причем перекрытие-и-сложение обычно выполняется между порциями сигнала, имеющими сравнительно значительное подобие, каковое в свою очередь предотвращает артефакты).
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован для определения, представляет ли блок аудиовыборок и активную, но являющуюся молчанием порцию аудиосигнала (например, порцию аудиосигнала, которая считается "активной", поскольку нет генерации комфортного шума, но которая считается "молчанием", поскольку энергия упомянутой порции аудиосигнала меньше чем или равна некоторому пороговому значению энергии, или даже равна нулю), и выбор режима перекрытия-и-сложения, в котором сдвиг по времени между блоком аудиовыборок, представляющих порцию «молчание» аудиосигнала, и последующим блоком аудиовыборок установлен в предопределенное максимальное значение для блока аудиовыборок, представляющих являющуюся молчанием (но "активную") порцию аудиосигнала. Соответственно, максимальное масштабирование по времени выполняют для порций аудиосигнала, которые являются "активными", но являющимися «молчанием», например, согласно вышеупомянутым определениям. Как следствие, максимального изменения масштаба по времени добиваются для порции аудиосигнала, для которой масштабирование по времени не порождает существенные слышимые артефакты, поскольку являющиеся «молчанием» порции аудиосигнала могут быть масштабированы по времени с небольшими слышимыми искажениями или без них. Кроме того, согласно применению максимального изменения масштаба по времени к являющимся "молчанием" порциям аудиосигнала является достаточным применять только сравнительно меньшее изменение масштаба по времени к не являющимся "молчанием" порциям аудиосигнала (например, "активным" порциям аудиосигнала, содержащим энергию, которая больше чем или равна пороговому значению энергии), каковое еще раз помогает снизить или даже предотвращать слышимые искажения (поскольку меньшее изменение масштаба по времени при применении к не являющимся молчанием порциям аудиосигнала обычно приводит к меньшим искажениям по сравнению с более большим изменением масштаба).
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован для определения, представляет ли блок аудиовыборок активную и не являющуюся молчанием порцию аудиосигнала, и для выбора режима перекрытия-и-сложения, в котором сдвиг по времени между блоками аудиовыборок (которые перекрывают и суммируют с сдвигом по времени, сдвигаемыми по времени относительно исходной временной позиции) определяют адаптивным к сигналу образом. Было установлено, что определение сдвига по времени между (последующими) блоками аудиовыборок адаптивным к сигналу образом хорошо подходит для выполнения перекрытия-и-сложения в случае, если блок аудиовыборок (или последующие блоки аудиовыборок) представляют активную и не являющуюся молчанием порцию аудиосигнала, поскольку слышимые артефакты, которые могут появляться в результате масштабирования по времени для активных и не являющихся молчанием порций аудиосигнала, уменьшаются (или даже предотвращаются) путем адаптивного к сигналу определения сдвига по времени, подлежащего применению для операции перекрытия-и-сложения.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован с возможностью выбирать вставку маскированного кадра в ответ на определение, что требуется растягивание по (шкале) времени, и что джиттер-буфер является пустым. Соответственно, блок управления джиттер-буфером может выполнять конкретную обработку в случае пустого джиттер-буфера, поскольку другие концепции масштабирования по времени обычно не будут способствовать хорошим результатам в случае пустого джиттер-буфера. Например, маскированный кадр может содержать и аудиоконтент, который является подобным аудиоконтенту предшествующего кадра (например, последнего кадра, полученного до того, как джиттер-буфер опустеет). Однако, в случае, если предшествующий кадр до того, как джиттер-буфер становится пустым, несет информацию сигнализации, указывающую генерацию комфортного шума, маскированный кадр также может содержать такую информацию сигнализации, указывающую генерацию комфортного шума.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован с возможностью выбирать масштабирование по времени на основе кадра или масштабирование по времени на основе выборки в зависимости от того, используется ли в текущий момент прерывистая передача в сочетании с генерацией комфортного шума (или эквивалентно, использовалась для предшествующего кадра). Эта концепция основана на установлении факта, что неэффективно использовать масштабирование по времени на основе выборки, если в текущий момент используется прерывистая передача в сочетании с генерацией комфортного шума (или была использована для предшествующего кадра). Соответственно, блок управления джиттер-буфером может использовать информацию о том, используется ли прерывистая передача (также обозначаемая «DTX») в сочетании с генерацией комфортного шума (также обозначаемая с помощью CNG (comfort noise generation)) в текущий момент (или была использована для предшествующего кадра), чтобы содействовать переключению между масштабированием по времени на основе кадра и масштабированием по времени на основе выборки.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован с возможностью выбирать масштабирование по времени на основе кадра, если генерация комфортного шума используется в текущий момент (или, эквивалентно, была использована для предшествующего кадра), и выбирать масштабирование по времени на основе выборки, если генерация комфортного шума в текущий момент не используется (или, эквивалентно, не была использована для предшествующего кадра). Соответственно режим масштабирования по времени является хорошо приспособленным к сигналу (даже если “масштабирование по времени” на основе кадра путем использования маскированного кадра также может использоваться в исключительном условии пустого джиттер-буфера).
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован с возможностью выбирать вставку комфортного шума или удалять комфортный шум для масштабирования по времени, если прерывистая передача в сочетании с генерацией комфортного шума используется в текущий момент (или, эквивалентно, была использована для предшествующего кадра), чтобы выбирать операцию перекрытия-сложения, используя предопределенный сдвиг по времени, для масштабирования по времени, если текущая порция аудиосигнала (или, эквивалентно, предшествующая порция аудиосигнала) является активной (например, не использует генерацию комфортного шума), но содержит энергию сигнала, которая меньше чем или равна пороговому значению энергии ("являющаяся молчанием" порция аудиосигнала), и если джиттер-буфер не является пустым, то выбирать операцию перекрытия-сложения, используя адаптивный к сигналу сдвиг по времени, для масштабирования по времени, если текущая порция аудиосигнала (или, эквивалентно, предшествующая порция аудиосигнала) является активной (например, не содержит генерацию комфортного шума) и содержит энергию сигнала, которая больше чем или равна пороговому значению энергии, и если джиттер-буфер не является пустым, и чтобы выбирать вставку маскированного кадра для масштабирования по времени, если текущая порция аудиосигнала (или, эквивалентно, предшествующая порция аудиосигнала) является активной, и джиттер-буфер является пустым. Соответственно, надлежащий режим масштабирования по времени может быть выбран эффективным в вычислительном отношении образом для каждой порции (или кадра) аудиосигнала.
В предпочтительном варианте осуществления блок управления джиттер-буфером сконфигурирован с возможностью выбирать операцию перекрытия-сложения, используя адаптивный к сигналу сдвиг по времени и механизм управления качеством, для масштабирования по времени, если текущая порция аудиосигнала (или, эквивалентно, предшествующая порция аудиосигнала) является активной (например, не содержит генерацию комфортного шума) и содержит энергию сигнала, которая больше чем или равна пороговому значению энергии, и если джиттер-буфер не является пустым. Применение операции перекрытия-сложения при использовании адаптивного к сигналу сдвига по времени и механизма управления качеством, привносит преимущество, что возможно избегать недопустимых слышимых артефактов, используя механизм управления качеством. Таким образом, механизм управления качеством может, например, препятствовать применению масштабирования по времени, даже если текущая порция аудиосигнала является активной и содержит энергию сигнала, которая больше чем или равна пороговому значению энергии, и даже если осуществление сдвига по времени запрашивается логикой управления.
Вариант осуществления согласно изобретению создает аудиодекодер для обеспечения декодированного аудиоконтента на основе входного аудиоконтента. Аудиодекодер содержит джиттер-буфер, сконфигурированный для буферизации множества аудиокадров, представляющих блоки аудиовыборок. Аудиодекодер также содержит ядро (базовые средства) декодера, сконфигурированное для обеспечения блоков аудиовыборок на основе аудиокадров, принимаемых из джиттер-буфера. Аудиодекодер также содержит преобразователь масштаба времени на основе выборки, причем преобразователь масштаба времени на основе выборки сконфигурирован с возможностью обеспечивать масштабированные по времени блоки аудиовыборок на основе аудиовыборок, обеспечиваемых ядром декодера. Кроме того, аудиодекодер содержит блок управления джиттер-буфером, описанный выше. Блок управления джиттер-буфером сконфигурирован с возможностью выбирать масштабирование по времени на основе кадра, которое выполняется джиттер-буфером, или масштабирование по времени на основе выборки, которое выполняется преобразователем масштаба времени на основе выборки, адаптивным к сигналу образом. Соответственно, блок управления джиттер-буфером осуществляет выбор двух по существу различных концепций масштабирования по времени, причем масштабирование по времени на основе кадра выполняется до ввода аудиокадров в ядро декодера (например, путем добавления или удаления всех аудиокадров), и при этом масштабирование по времени на основе выборки выполняется на основе блоков аудиовыборок, обеспечиваемых ядром декодера. Таким образом, выбор делается между двумя по существу различными подходами масштабирования по времени адаптивным к сигналу образом, каковое позволяет адаптацию режима масштабирования по времени к сигналу, и каковое, следовательно, привносит хорошую эффективность, избегая при этом чрезмерных слышимых артефактов (или искажений).
В предпочтительном варианте осуществления джиттер-буфер сконфигурирован с возможностью удалять или вставлять аудиокадры для выполнения масштабирования по времени на основе кадра. Соответственно, масштабирование по времени может выполняться особо эффективным способом. Удаляемые временные кадры могут, например, быть временными кадрами, содержащими информацию сигнализации, указывающую генерацию комфортного шума (и возможно также указывающими "молчание"). Кроме того, вставленные временные кадры могут, например, быть временными кадрами, содержащими информацию сигнализации, указывающую, что должен генерироваться комфортный шум. Такие временные кадры могут легко вставляться или удаляться, причем обычно имеются какие-либо (или никакие) едва слышимые искажения, если удаленный кадр, или предшествующий кадр, предшествующий вставленному кадру, содержит информацию сигнализации, указывающую генерацию комфортного шума.
В предпочтительном варианте осуществления ядро аудиодекодера сконфигурировано для выполнения генерации комфортного шума в ответ на кадр, несущий информацию сигнализации, указывающую генерацию комфортного шума. Кроме того, ядро декодера предпочтительно сконфигурировано для выполнения маскирования в ответ на пустой джиттер-буфер. Использование ядра декодера, сконфигурированного для выполнения генерации комфортного шума, позволяет эффективную передачу аудиоконтента и также позволяет эффективное масштабирование по времени. Кроме того, использование ядра декодера, которое сконфигурировано для выполнения маскирования в ответ на пустой джиттер-буфер, предотвращает проблемы, что воспроизведение аудиоконтента будет прерываться в случае пустого джиттер-буфера без функциональности маскирования. Таким образом, использование описанного ядра декодера позволяет эффективное и надежное предоставление декодированного аудиоконтента.
В предпочтительном варианте осуществления преобразователь масштаба времени на основе выборки сконфигурирован для выполнения масштабирования по времени входного аудиосигнала в зависимости от вычисления или оценивания качества масштабированной по времени версии входного аудиосигнала, получаемой масштабированием по времени. Соответственно, предложен дополнительный механизм, который снижает или даже устраняет генерацию слышимых артефактов на втором этапе, то есть после того, как принято решение об использовании масштабирования по времени на основе выборки. В иной формулировке, выбор между масштабированием по времени на основе кадра и масштабированием по времени на основе выборки выполняется на первом этапе адаптивным к сигналу образом и управление качеством (вычисление или оценивание качества масштабированной по времени версии аудиосигнала, получаемой масштабированием по времени на основе выборки) выполняется на втором этапе, каковое позволяет опускать (основанное на выборке) масштабирование по времени, если масштабирование по времени существенно ухудшит аудиоконтент, так что качество масштабированной по времени версии входного аудиосигнала, получаемой масштабированием по времени, будет плохим.
Вариант осуществления согласно изобретению создает способ для предоставления декодированного аудиоконтента на основе входного аудиоконтента. Способ содержит выбор основанного на кадре масштабирования по времени или основанного на выборке масштабирования по времени адаптивным к сигналу образом. Этот способ основывается на таких же соображениях, как и вышеописанный блок управления джиттер-буфером и вышеописанный аудиодекодер.
Еще один вариант осуществления согласно изобретению создает компьютерную программу, предназначенную для выполнения упомянутого способа при исполнении компьютерной программы на компьютере. Компьютерная программа основывается на тех же соображениях, что и вышеупомянутый способ.
4. КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления согласно изобретению далее будут описаны со ссылкой на прилагаемые фигуры чертежей, на которых:
Фиг.1 показывает структурную схему управления джиттер-буфером согласно варианту осуществления настоящего изобретения;
Фиг.2 показывает структурную схему преобразователя масштаба времени согласно варианту осуществления настоящего изобретения;
Фиг.3 показывает структурную схему аудиодекодера согласно варианту осуществления настоящего изобретения;
Фиг.4 показывает структурную схему аудиодекодера согласно другому варианту осуществления настоящего изобретения, причем показано общее представление управления джиттер-буфером (JBM);
Фиг.5 показывает псевдокод программы алгоритма для управления уровнем буфера PCM (импульсно-кодово-модулированный формат);
Фиг.6 показывает псевдокод программы алгоритма для вычисления значения задержки и значения смещения от времени приема и отметки времени RTP для пакета RTP;
Фиг.7 показывает псевдокод программы алгоритма для вычисления значений целевой задержки;
Фиг.8 показывает последовательность операций управляющей логики управления джиттер-буфером;
Фиг.9 показывает представление структурной схемы модифицированного алгоритма перекрытия-сложения на основе подобия формы сигнала (WSOLA) с управлением качеством;
Фиг. 10a и 10b показывают последовательность операций способа управления преобразователем масштаба времени;
Фиг.11 показывает псевдокод программы алгоритма для управления качеством для масштабирования по времени;
Фиг.12 показывает графическое представление целевой задержки и задержки воспроизведения, которую получают по варианту осуществления согласно настоящему изобретению;
Фиг.13 показывает графическое представление масштабирования по времени, которое выполняется в варианте осуществления согласно настоящему изобретению;
Фиг.14 показывает последовательность операций способа для управления предоставлением декодированного аудиоконтента на основе входного аудиоконтента; и
Фиг.15 показывает последовательность операций для обеспечения масштабированной по времени версии входного аудиосигнала согласно варианту осуществления настоящего изобретения.
5. ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
5.1. Блок управления джиттер-буфером по Фиг.1
Фиг.1 показывает структурную схему управления джиттер-буфером согласно варианту осуществления настоящего изобретения. Блок 100 управления джиттер-буфером, предназначенный для управления предоставлением декодированного аудиоконтента на основе входного аудиоконтента, принимает аудиосигнал 110 или информацию об аудиосигнале (каковая информация может описывать одну или несколько характеристик аудиосигнала, или кадров или других порций сигнала в аудиосигнале).
Кроме того, блок 100 управления джиттер-буфером обеспечивает управляющую информацию (например, управляющий сигнал) 112 для масштабирования на основе кадра. Например, управляющая информация 112 может содержать сигнал активизации (для масштабирования по времени на основе кадра) и/или количественную управляющую информацию (для масштабирования по времени на основе кадра).
Кроме того, блок 100 управления джиттер-буфером обеспечивает управляющую информацию (например, управляющий сигнал) 114 для масштабирования по времени на основе выборки. Управляющая информация 114 может, например, содержать сигнал активизации и/или количественную управляющую информацию для масштабирования по времени на основе выборки.
Блок 110 управления джиттер-буфером сконфигурирован с возможностью выбирать масштабирование по времени на основе кадра или масштабирование по времени на основе выборки адаптивным к сигналу образом. Соответственно, блок управления джиттер-буфером может быть сконфигурирован для оценивания аудиосигнала или данных аудиосигнала 110 и обеспечения на основе этого управляющей информации 112 и/или управляющей информации 114. Соответственно, принятие решения, используется ли масштабирование по времени на основе кадра или масштабирование по времени на основе выборки, может быть приспособлено к характеристикам аудиосигнала, например, таким образом, что простое в вычислительном отношении масштабирование по времени на основе кадра используется, если ожидается (или оценено) на основе аудиосигнала и/или на основе информации об одной или нескольких характеристиках аудиосигнала, что масштабирование по времени на основе кадра не приводит к существенному ухудшению аудиоконтента. Напротив, блок управления джиттер-буфером обычно решает использовать масштабирование по времени на основе выборки, если ожидается или оценено (блоком управления джиттер-буфером) на основе оценивания характеристик аудиосигнала 110, что требуется масштабирование по времени на основе выборки, чтобы избегать слышимых артефактов при выполнении масштабирования по времени.
Кроме того, следует отметить, что блок 110 управления джиттер-буфером может естественно также принимать дополнительную управляющую информацию, например управляющую информацию, указывающую, следует ли выполнять масштабирование по времени или нет.
В последующем будут описаны некоторые необязательные подробности блока 100 управления джиттер-буфером. Например, блок 100 управления джиттер-буфером может обеспечивать управляющую информацию 112, 114 такую, что аудиокадры удаляют или вставляют для управления глубиной джиттер-буфера, когда должно использоваться масштабирование по времени на основе кадра, и такую, что выполняют сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала, когда используется масштабирование по времени на основе выборки. Другими словами, блок 100 управления джиттер-буфером может действовать совместно, например, с джиттер-буфером (также обозначаемым как де-джиттер-буфер в некоторых случаях) и управлять джиттер-буфером, чтобы выполнять масштабирование по времени на основе кадра. В этом случае глубиной джиттер-буфера можно управлять путем удаления кадров из джиттер-буфера или путем вставки кадров (например, простых кадров, содержащих сигнализацию, что кадр является "неактивным", и что должна использоваться генерация комфортного шума), в джиттер-буфер. Кроме того, блок 100 управления джиттер-буфером может управлять преобразователем масштаба времени (например, преобразователем масштаба времени на основе выборки), чтобы выполнять сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала.
Контроллер джиттер-буфера 100 может быть сконфигурирован для переключения между масштабированием по времени на основе кадра, масштабированием по времени на основе выборки и отключением масштабирования по времени адаптивным к сигналу образом. Другими словами, блок управления джиттер-буфером обычно не только различает масштабирование по времени на основе кадра и масштабирование по времени на основе выборки, но также выбирает состояние, в котором нет масштабирования по времени вовсе. Например, последнее состояние может быть выбрано, если нет необходимости масштабирования по времени, поскольку глубина джиттер-буфера находится в рамках допустимого диапазона. В иной формулировке, масштабирование по времени на основе кадра и масштабирование по времени на основе выборки являются обычно не единственными двумя режимами работы, которые могут выбираться блоком управления джиттер-буфером.
Блок 100 управления джиттер-буфером может также рассматривать информацию глубины джиттер-буфера для принятия решения, какой режим работы (например, масштабирование по времени на основе кадра, масштабирование по времени на основе выборки или без масштабирования по времени) должен использоваться. Например, блок управления джиттер-буфером может сравнивать целевое значение, описывающее требуемую глубину джиттер-буфера (также обозначаемого как де-джиттер-буфер), и фактическое значение, описывающее фактическую глубину джиттер-буфера, и выбирать режим работы (масштабирование по времени на основе кадра, масштабирование по времени на основе выборки или без масштабирования по времени) в зависимости от упомянутого сравнения, так что будет выбрано масштабирование по времени на основе кадра или масштабирование по времени на основе выборки для управления глубиной джиттер-буфера.
Блок 100 управления джиттер-буфером может, например, быть сконфигурирован с возможностью выбирать вставку комфортного шума или удаление комфортного шума, если предшествующий кадр был неактивным (каковое можно, например, узнать из аудиосигнала 110 непосредственно или на основе информации аудиосигнала, подобной, например, флагу SID идентификатора молчания в случае режима прерывистой передачи). Соответственно, блок 100 управления джиттер-буфером может сигнализировать на джиттер-буфер (также обозначаемый как де-джиттер-буфер), что кадр комфортного шума должен быть вставлен, если требуется растягивание по времени, и предшествующий кадр (или текущий кадр) является неактивным. Кроме того, блок 100 управления джиттер-буфером может предписать джиттер-буферу (или де-джиттер-буферу) удалить кадр комфортного шума (например, кадр, содержащий информацию сигнализации, указывающую, что подлежит выполнению генерация комфортного шума), если требуется выполнить стягивание по времени, и предшествующий кадр был неактивным (или текущий кадр является неактивным). Следует отметить, что соответственный кадр может считаться неактивным, когда соответственный кадр несет информацию сигнализации, указывающую генерацию комфортного шума (и обычно не содержит дополнительного закодированного аудиоконтента). Такая сигнальная информация может, например, принимать форму флага индикации молчания (флаг SID) в случае режима прерывистой передачи.
Напротив, блок 100 управления джиттер-буфером предпочтительно сконфигурирован с возможностью осуществлять выбор в сдвигаемом по времени перекрытии-и-сложении порций аудиосигнала, если предшествующий кадр был активным (например, если предшествующий кадр не содержал информацию сигнализации, указывающую, что должен генерироваться комфортный шум). Такое сдвигаемое по времени перекрытие-и-сложение порций аудиосигнала обычно позволяет регулировку сдвига по времени между блоками аудиовыборок, полученных на основе последующих кадров входной аудиоинформации со сравнительно высоким разрешением (например, с разрешением, которое меньше чем длина блоков аудиовыборок, или которое меньше чем ч