УСТРОЙСТВО АУДИОКОДЕРА И УСТРОЙСТВО АУДИОДЕКОДЕРА, ИМЕЮЩИЕ ЭФФЕКТИВНОЕ КОДИРОВАНИЕ УСИЛЕНИЯ ПРИ УПРАВЛЕНИИ ДИНАМИЧЕСКИМ ДИАПАЗОНОМ
AUDIO ENCODER DEVICE AND AUDIO DECODER DEVICE HAVING EFFICIENT GAIN CODING IN DYNAMIC RANGE CONTROL

Управление динамическим диапазоном (DRC) в контексте этого документа означает технологию обработки цифровых сигналов для того, чтобы уменьшать динамический диапазон аудиосигналов управляемым способом [1]. Требуемое уменьшение динамического диапазона достигается посредством сокращения уровня громких компонентов звука и/или усиления мягких частей аудиосигналов.
Типичный вариант применения для DRC заключается в том, чтобы адаптировать динамические свойства аудиосигнала к окружению прослушивания. Например, при прослушивании музыки в зашумленном окружении, динамический диапазон должен уменьшаться для получения возможности полного усиления сигнала без перевода результирующего усиленного сигнала в режим отсечения. В этом случае, высокие пики сигнала должны быть ослаблены, например, посредством ограничителя. Дополнительно, мягкие компоненты сигнала должны усиливаться относительно громких частей, чтобы повышать их понятность в зашумленном окружении прослушивания.
Задача настоящего изобретения заключается в том, чтобы предоставлять усовершенствованный принцип для управления динамическим диапазоном в контексте аудиопередачи.
Это задача решается посредством устройства аудиокодера, содержащего:
- аудиокодер, выполненный с возможностью формирования кодированного потока битов аудио из аудиосигнала, содержащего последовательные аудиокадры;
- кодер для управления динамическим диапазоном, выполненный с возможностью формирования кодированного потока битов управления динамическим диапазоном из последовательности управления динамическим диапазоном, соответствующей аудиосигналу и содержащей последовательные кадры управления динамическим диапазоном, при этом каждый кадр управления динамическим диапазоном из кадров управления динамическим диапазоном содержит один или более узлов, при этом каждый узел из одного или более узлов содержит информацию усиления для аудиосигнала и информацию времени, указывающую то, какому моменту времени соответствует информация усиления;
- при этом кодер для управления динамическим диапазоном сконфигурирован таким образом, что кодированный поток битов управления динамическим диапазоном содержит для каждого кадра управления динамическим диапазоном из кадров управления динамическим диапазоном соответствующую часть потока битов;
- при этом кодер для управления динамическим диапазоном выполнен с возможностью выполнения процедуры сдвига, при этом один или более узлов из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном выбираются в качестве сдвинутых узлов, при этом битовое представление каждого из одного или более сдвинутых узлов одного опорного кадра управления динамическим диапазоном встраивается в часть потока битов, соответствующую кадру управления динамическим диапазоном, следующему после одного опорного кадра управления динамическим диапазоном, при этом битовое представление каждого оставшегося узла из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном встраивается в часть потока битов, соответствующую одному опорному кадру управления динамическим диапазоном.
Изобретение разрешает ситуацию аудиопередачи с использованием кодирования аудиосигнала, при этом информация усиления непосредственно не применяется к аудиосигналу, но также кодируется и передается вместе с кодированным аудиосигналом. В декодере, как аудиосигнал, так и информация усиления могут декодироваться, и информация усиления может применяться к соответствующему аудиосигналу. Как подробнее пояснено ниже, изобретение достигает эффективного кодирования информации усиления. Более точно, оно исключает пики скорости передачи битов в кодированном потоке битов управления динамическим диапазоном.
Процесс применения управления динамическим диапазоном в аудиосигнал может выражаться посредством простого умножения аудиосигнала x(k) на зависимое от времени значение g(k) усиления:
, (1)
где k обозначает временной индекс выборки. Значение усиления g(k) может вычисляться, например, на основе кратковременной оценки среднеквадратического значения аудиосигнала x(k). Дополнительные сведения по стратегиям для того, чтобы определять подходящие значения усилений, пояснены в [1]. Далее зависимые от времени усиления g(k) обозначаются в качестве последовательности усилений.
Далее поясняется кодирование последовательностей усилений управления динамическим диапазоном. Во-первых, последовательность усилений управления динамическим диапазоном разделяется на так называемые кадры управления динамическим диапазоном выборок усилений, содержащие фиксированное число выборок усилений. Обычно, временной размер кадра для кадров управления динамическим диапазоном выбирается таким образом, что он равен временному размеру аудиокадра соответствующего аудиокодера. В каждом кадре управления динамическим диапазоном, так называемые узлы выбираются, предпочтительно на равномерной временной сетке.
Разнесение этой сетки задает наибольшее доступное временное разрешение, т.е. минимальное расстояние в выборках между двумя узлами равно выборкам, имеющим наибольшее доступное временное разрешение. Каждый узел представлен посредством позиции выборки в кадре управления динамическим диапазоном, информации усиления, которая может выражаться как значение усиления для этой позиции, и необязательно информации относительно наклона значений усиления в позициях узла. В нижеприведенном пояснении, полезно задавать максимальное число узлов, которые могут выбираться в одном кадре.
Кодер для управления динамическим диапазоном кодирует информацию усиления из узлов, например, посредством использования квантованных дифференциальных значений пар последовательных узлов усиления. В декодере, исходная последовательность усилений восстанавливается максимально возможно хорошо посредством использования сплайн-интерполяции или линейной интерполяции на основе передаваемой информации узлов (значения усиления, позиции выборки в кадре управления динамическим диапазоном и информации наклона, если применимо).
Эффективный подход для кодирования последовательности усилений управления динамическим диапазоном заключается в том, чтобы использовать квантованное значение разности усилений (типично в дБ) пар последовательных узлов, а также разности времен позиций выборок этих узлов в рассматриваемом кадре управления динамическим диапазоном. Информация наклона обычно не представляется в качестве разности между двумя узлами. Поскольку отсутствует предыдущий узел для первого узла в кадре, его значение усиления не кодируется дифференциальным способом, а значения кодируются явно. Разность времен первого узла обычно определяется в качестве смещения в начало кадра управления динамическим диапазоном.
Кодер затем может назначать фиксированное кодовое слово, например, предварительно заданной таблицы Хаффмана (таблицы кодирования) для каждой из разностей усилений и времен пар узлов.
В декодере для управления динамическим диапазоном, декодируется поток битов управления динамическим диапазоном, и восстанавливается релевантная информация (значение усиления, позиция выборки в кадре управления динамическим диапазоном и информации наклона, если применимо) в позициях передаваемых узлов. Значения усиления для оставшихся выборок усилений в кадре получаются посредством интерполяции между парами передаваемых и декодированных узлов. Интерполяция может быть основана на сплайнах, если информация наклона узлов усиления передана, или альтернативно, с использованием линейной интерполяции, если только разности усилений между парами узлов доступны, и информация наклона отбрасывается.
В принципе, цепочки кодера/декодера для управления динамическим диапазоном могут работать в двух режимах. Так называемый полнокадровый режим означает случай, в котором после декодирования принимаемого потока битов управления динамическим диапазоном, соответствующего опорному кадру управления динамическим диапазоном, усиления в каждой позиции выборки опорного кадра управления динамическим диапазоном могут немедленно определяться после интерполяции на основе декодированных узлов. Это подразумевает то, что узел должен передаваться на каждой границе кадра, т.е. в позиции выборки, соответствующей последней выборке опорного кадра управления динамическим диапазоном. Если длина кадра управления динамическим диапазоном составляет N, это означает то, что последний передаваемый узел должен быть расположен в позиции N выборки в опорном кадре управления динамическим диапазоном.
Изобретение исключает этот недостаток, поскольку оно основано на втором режиме, который упоминается в качестве "режима задержки". В этом случае, нет необходимости в передаче узла для позиции последней выборки в опорном кадре управления динамическим диапазоном. Следовательно, декодер для управления динамическим диапазоном должен ожидать декодирования кадра управления динамическим диапазоном, следующего после опорного кадра управления динамическим диапазоном, чтобы выполнять требуемую интерполяцию всех значений усиления после последнего узла в опорном кадре управления динамическим диапазоном. Это обусловлено тем, что информация первого узла последующего кадра управления динамическим диапазоном должна быть известна для того, чтобы выполнять интерполяцию между последним узлом опорного кадра управления динамическим диапазоном и первым узлом последующего кадра управления динамическим диапазоном, чтобы определять значение усиления в промежутке через интерполяцию.
На практике, задержка, вызываемая посредством использования режима задержки для кодирования информации управления динамическим диапазоном, не представляет собой проблему. Это обусловлено тем, что аудиокодеки, которые обычно соответствуют схеме кодирования для управления динамическим диапазоном, также вводят внутренне присущую задержку одного аудиокадра при последующем применении этапов кодирования и декодирования. Важные примеры таких аудиокодеков представляют собой стандарты ISO/IEC 13818-7, усовершенствованное кодирование аудио (AAC MPEG-2), ISO/IEC 14496-3, подчасть 4 (MPEG-4 AAC) или ISO/IEC 23003-3, часть 3, стандартизированное кодирование речи и аудио (USAC). Такие схемы кодирования аудио требуют опорного аудиокадра и аудиокадра, следующего после опорного аудиокадра, для того чтобы вычислять (с использованием структуры суммирования с перекрытием) корректные аудиовыборки, соответствующие опорному аудиокадру управления динамическим диапазоном.
Важно отметить, что число узлов, которые требуются для того, чтобы достаточно аппроксимировать исходную последовательность усилений управления динамическим диапазоном, существенно варьируется в зависимости от кадра управления динамическим диапазоном. Это вытекает из того факта, что большее число узлов требуется для того, чтобы представлять сильно зависимые от времени усиления по сравнению со случаем, в котором должны кодироваться только медленно изменяющиеся значения усиления. Это наблюдение подразумевает то, что требуемая скорость передачи битов для того, чтобы передавать последовательности усилений, может существенно варьироваться между кадрами. Некоторые кадры могут требовать кодирования большого числа узлов, приводя к высоким пикам скорости передачи битов. Это является нежелательным, в частности, когда аудиосигнал и последовательность усилений управления динамическим диапазоном передаются в объединенном потоке битов, содержащем кодированный поток битов управления динамическим диапазоном и кодированный поток битов аудио, который должен иметь почти постоянную скорость передачи битов. Затем пик в связанной с управлением динамическим диапазоном скорости передачи битов уменьшает доступную скорость передачи битов для аудиокодера, что зачастую приводит к ухудшению качества звука после декодирования. Тем не менее, за счет способов современного уровня техники для кодирования последовательностей усилений управления динамическим диапазоном, уменьшение связанной с управлением динамическим диапазоном скорости передачи битов в определенном кадре достигается только посредством уменьшения числа узлов, которые выбираются, чтобы представлять последовательность усилений в этом кадре. Это снова может приводить к большим ошибкам между исходной последовательностью усилений и последовательностью усилений, которая восстановлена после процесса декодирования для управления динамическим диапазоном. Изобретение преодолевает эти недостатки посредством уменьшения пиковых скоростей передачи битов кодированного потока битов управления динамическим диапазоном без увеличения ошибки между исходной и восстановленной последовательностью управления динамическим диапазоном.
В этом разделе, представляется кодирование последовательностей усилений управления динамическим диапазоном согласно изобретению. Изобретение обеспечивает возможность управления пиковой скоростью передачи битов, требуемой для опорного кадра управления динамическим диапазоном, без изменения результирующей последовательности потока битов по сравнению со случаем, в котором не используется предложенный способ. Предложенный подход использует внутренне присущую задержку одного кадра, вводимую посредством аудиокодеров предшествующего уровня техники, чтобы уменьшать пики числа узлов в одном кадре посредством распределения передачи некоторых узлов в непосредственно последующий кадр управления динамическим диапазоном. Далее представлены подробности предложенного способа.
Как пояснено выше, при комбинировании со схемой кодирования аудио, которая вводит кадровую задержку относительно усилений управления динамическим диапазоном, декодированные усиления управления динамическим диапазоном задерживаются на один кадр перед применением к аудиосигналу. Это означает то, что узлы опорного кадра управления динамическим диапазоном применяются к допустимому выводу аудиодекодера в кадре управления динамическим диапазоном, следующем после опорного кадра управления динамическим диапазоном. Это подразумевает то, что в режиме задержки по умолчанию, достаточно передавать узлы опорного кадра управления динамическим диапазоном вместе с узлами кадра управления динамическим диапазоном, следующего после опорного кадра управления динамическим диапазоном, и применять соответствующие усиления управления динамическим диапазоном без задержки непосредственно к соответствующему выходному аудиосигналу в декодере.
Этот факт использован в изобретении для того, чтобы сокращать максимальное число узлов, передаваемых в одном кадре управления динамическим диапазоном. Согласно изобретению, некоторые узлы опорного кадра управления динамическим диапазоном сдвигаются в последующий кадр управления динамическим диапазоном, что может осуществляться перед кодированием. Как поясняется далее, сдвинутые узлы могут "предшествовать" первому узлу в последующем кадре управления динамическим диапазоном только для кодирования разностей усилений и информации наклона. Для кодирования информации разности времен может применяться другой способ.
Согласно предпочтительному варианту осуществления изобретения, процедура сдвига инициируется в случае, если число узлов опорного кадра управления динамическим диапазоном превышает предварительно заданное пороговое значение.
Согласно предпочтительному варианту осуществления изобретения, процедура сдвига инициируется в случае, если сумма числа узлов опорного кадра управления динамическим диапазоном и числа сдвинутых узлов из кадра управления динамическим диапазоном, предшествующего опорному кадру управления динамическим диапазоном, которые должны встраиваться в часть потока битов, соответствующую опорному кадру управления динамическим диапазоном, превышает предварительно заданное пороговое значение.
Согласно предпочтительному варианту осуществления изобретения, процедура сдвига инициируется в случае, если сумма числа узлов опорного кадра управления динамическим диапазоном и числа сдвинутых узлов из кадра управления динамическим диапазоном, предшествующего опорному кадру управления динамическим диапазоном, которые должны встраиваться в часть потока битов, соответствующую опорному кадру управления динамическим диапазоном, превышает число узлов кадра управления динамическим диапазоном, следующего после опорного кадра управления динамическим диапазоном.
Независимый от заданных условий, при которых инициируется процедура сдвига, первый узел опорного кадра управления динамическим диапазоном не должен сдвигаться в последующий кадр управления динамическим диапазоном, поскольку его значение требуется для интерполяции значений регулировки усиления в начале опорного кадра управления динамическим диапазоном. Кроме того, узел должен сдвигаться только один раз во избежание задержки при декодировании потока битов.
Согласно предпочтительному варианту осуществления изобретения, информация времени одного или более узлов представлена таким образом, что один или более сдвинутых узлов могут идентифицироваться посредством использования информации времени.
Согласно предпочтительному варианту осуществления изобретения, информация времени одного или более сдвинутых узлов представлена посредством суммы разности времен от начала кадра управления динамическим диапазоном, которому принадлежит соответствующий узел, до временной позиции соответствующего узла в кадре управления динамическим диапазоном, которому принадлежит соответствующий узел, и значения смещения, равного или превышающего временной размер кадра управления динамическим диапазоном, следующего после соответствующего кадра управления динамическим диапазоном.
Согласно предпочтительному варианту осуществления изобретения, информация усиления битового представления сдвинутого узла, который находится в первой позиции части потока битов, соответствующей кадру управления динамическим диапазоном, следующему после опорного кадра управления динамическим диапазоном, представлена посредством значения абсолютного усиления, при этом информация усиления каждого битового представления сдвинутых узлов в позиции после битового представления узла, который находится в первой позиции части потока битов, соответствующей кадру управления динамическим диапазоном, следующему после опорного кадра управления динамическим диапазоном, представлена посредством значения относительного усиления, которое равно разности значения усиления битового представления соответствующего сдвинутого узла и значения усиления битового представления узла, которое предшествует битовому представлению соответствующего узла.
Согласно предпочтительному варианту осуществления изобретения, в случае если битовые представления одного или более сдвинутых узлов опорного кадра управления динамическим диапазоном встраиваются в часть потока битов, соответствующую кадру управления динамическим диапазоном, следующему после опорного кадра управления динамическим диапазоном, информация усиления битового представления узла последующего кадра управления динамическим диапазоном в первой позиции части потока битов, соответствующей кадру управления динамическим диапазоном, следующему после опорного кадра управления динамическим диапазоном после одной или более позиций битовых представлений одного или более сдвинутых узлов, представлена посредством значения относительного усиления, которое равно разности значения усиления битового представления соответствующего узла и значения усиления битового представления сдвинутого узла, которое предшествует битовому представлению соответствующего узла.
Согласно предпочтительному варианту осуществления изобретения, временной размер аудиокадров равен временному размеру кадров управления динамическим диапазоном.
Согласно предпочтительному варианту осуществления изобретения, один или более узлов одного из кадра управления динамическим диапазоном выбираются из равномерной временной сетки.
Согласно предпочтительному варианту осуществления изобретения, каждый узел из одного или более узлов содержит информацию наклона.
Согласно предпочтительному варианту осуществления изобретения, кодер для управления динамическим диапазоном выполнен с возможностью кодирования узлов с использованием технологии энтропийного кодирования, такой как кодирование методом Хаффмана или арифметическое кодирование.
Кодер может назначать фиксированное кодовое слово, например, из предварительно заданной таблицы Хаффмана (таблицы кодирования) для каждой из разностей усилений и времен пар узлов. Примеры подходящих таблиц Хаффмана для кодирования разностей времен пар последовательных узлов приведены в таблице 1 и таблице 2, соответственно.
<b>ТАБЛИЦА 1</b>
Пример таблицы Хаффмана для кодирования разностей времен узлов DRC-усиления
Размер кодового слова [биты]
Разность времен – двоичное кодирование
Разность tDrcDelta времен в кратных числах deltaTmin
1
0×000
nNodesMax
3
0×004
1
5
0×014+(a-2)
a=[2...5]
6
0×030+(a-6)
a=[6...13]
12
0×E00+(a-14)
a=[14...2*nNodesMax-1]
<b>ТАБЛИЦА 2</b>
Пример таблицы Хаффмана для кодирования разностей времен узлов DRC-усиления, где Z=ceil(log2(2*nNodesMax))
Кодирование
Размер
Разность времен в кратных числах deltaTmin
Диапазон
00
2 бита
tDrcDelta=1
1
{01,µ}
{2 бита, 2 бита}
tDrcDelta=µ+2
2...5
{10,µ}
{2 бита, 3 бита}
tDrcDelta=µ+6
6...13
{11,µ}
{2 бита, Z битов}
tDrcDelta=µ+14
14... 2*nNodesMax
В дополнительном аспекте изобретения, задача решается посредством устройства аудиодекодера, содержащего:
- аудиодекодер, выполненный с возможностью декодирования кодированного потока битов аудио для того, чтобы воспроизводить аудиосигнал, содержащий последовательные аудиокадры;
- декодер для управления динамическим диапазоном, выполненный с возможностью декодирования кодированного потока битов управления динамическим диапазоном, чтобы воспроизводить последовательность управления динамическим диапазоном, соответствующую аудиосигналу и содержащую последовательные кадры управления динамическим диапазоном;
- при этом кодированный поток битов управления динамическим диапазоном содержит для каждого кадра управления динамическим диапазоном из кадров управления динамическим диапазоном соответствующую часть потока битов;
- при этом кодированный поток битов управления динамическим диапазоном содержит битовые представления узлов, при этом каждое битовое представление одного узла из узлов содержит информацию усиления для аудиосигнала AS и информацию времени, указывающую то, какому моменту времени соответствует информация усиления;
- при этом кодированный поток битов управления динамическим диапазоном содержит битовые представления сдвинутых узлов, выбранных из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном, которые встраиваются в часть потока битов, соответствующую кадру управления динамическим диапазоном, следующему после одного опорного кадра управления динамическим диапазоном, при этом битовое представление каждого оставшегося узла из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном встраивается в часть потока битов, соответствующую одному опорному кадру управления динамическим диапазоном; и
- при этом декодер для управления динамическим диапазоном выполнен с возможностью декодирования битового представления каждого оставшегося узла из оставшихся узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном, чтобы воспроизводить каждый оставшийся узел одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном, декодирования битового представления каждого сдвинутого узла из сдвинутых узлов, выбранных из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном, чтобы воспроизводить каждый сдвинутый узел из сдвинутых узлов, выбранных из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном, и комбинирования воспроизведенных оставшихся узлов и воспроизведенных сдвинутых узлов, чтобы восстанавливать опорный кадр управления динамическим диапазоном.
Декодер для управления динамическим диапазоном принимает поток битов управления динамическим диапазоном. Поток битов управления динамическим диапазоном, который соответствует информации узла (позиции выборки, значению усиления и информации наклона, если применимо), может декодироваться следующим образом:
Значение для разности времен между двумя узлами (например, в качестве целого кратного минимального расстояния между двумя узлами) определяется из принимаемого кодового слова, например, на основе правил, показанных в таблице кодирования Хаффмана. Соответствующая позиция выборки текущего декодированного узла получается посредством суммирования значения разности времен со значением позиции выборки, вычисленным для предыдущего узла.
После декодирования узлов опорного кадра управления динамическим диапазоном, декодируются узлы последующего кадра управления динамическим диапазоном.
Если определенная позиция выборки в последующем кадре управления динамическим диапазоном соответствует значению, которое превышает длину последующего кадра управления динамическим диапазоном, декодер для управления динамическим диапазоном знает то, что текущая временная информация узла ссылается на узел, первоначально расположенный в опорном кадре управления динамическим диапазоном.
Чтобы получать корректную позицию выборки в опорном кадре управления динамическим диапазоном, смещение вычитается из вычисленной позиции выборки. Практический пример заключается в том, чтобы вычитать значение, которое соответствует длине кадра управления динамическим диапазоном (что подразумевает то, что кодер суммирует идентичное значение с исходной позицией выборки). Типичный пример для значения смещения представляет собой временной размер кадра управления динамическим диапазоном.
После декодирования и, если применимо, коррекции информации времени всех узлов во всем последующем кадре управления динамическим диапазоном, декодер знает то, сколько узлов сдвинуто назад в опорный кадр управления динамическим диапазоном (без явного предоставления этой информации в кодере), и то, в какой позиции выборки они расположены в опорном кадре управления динамическим диапазоном.
Декодер для управления динамическим диапазоном дополнительно определяет информацию значений усиления всех узлов принимаемого кадра посредством декодирования информации дифференциального усиления в потоке битов.
Из этапа декодирования информации времени декодер знает то, сколько из декодированных значений усиления должны назначаться узлам опорного кадра управления динамическим диапазоном (и какой позиции выборки), и какие значения усиления назначаются узлам в опорном кадре управления динамическим диапазоном.
Декодирование информации наклона и назначения корректным узлам выполняется аналогично процессу декодирования значений усиления.
После декодирования всех узлов последующего кадра управления динамическим диапазоном, можно обеспечивать то, что доступны все узлы, требуемые для вычисления значений усиления для каждой выборки опорного кадра управления динамическим диапазоном через интерполяцию. После этапа интерполяции, значения усиления управления динамическим диапазоном для каждой выборки могут применяться к соответствующим корректным аудиовыборкам.
Согласно предпочтительному варианту осуществления изобретения, декодер для управления динамическим диапазоном выполнен с возможностью идентификации одного или более сдвинутых узлов посредством использования информации времени.
Согласно предпочтительному варианту осуществления изобретения, декодер для управления динамическим диапазоном выполнен с возможностью декодирования информации времени одного или более сдвинутых узлов, которая представлена посредством суммы времени от начала кадра управления динамическим диапазоном, которому принадлежит соответствующий узел, до временной позиции соответствующего узла в кадре управления динамическим диапазоном, которому принадлежит соответствующий узел, и значения смещения, равного или превышающего временной размер кадра управления динамическим диапазоном, следующего после соответствующего кадра управления динамическим диапазоном.
Согласно предпочтительному варианту осуществления изобретения, декодер для управления динамическим диапазоном выполнен с возможностью декодирования информации усиления битового представления сдвинутого узла, который находится в первой позиции части потока битов, соответствующей кадру управления динамическим диапазоном, следующему после опорного кадра управления динамическим диапазоном, которая представлена посредством значения абсолютного усиления, при этом информация усиления каждого битового представления сдвинутых узлов в позиции после битового представления узла, который находится в первой позиции части потока битов, соответствующей кадру управления динамическим диапазоном, следующему после опорного кадра управления динамическим диапазоном, представлена посредством значения относительного усиления, которое равно разности значения усиления битового представления соответствующего сдвинутого узла и значения усиления битового представления узла, которое предшествует битовому представлению соответствующего узла.
Согласно предпочтительному варианту осуществления изобретения, декодер для управления динамическим диапазоном выполнен с возможностью декодирования информации усиления битового представления узла последующего кадра управления динамическим диапазоном в первой позиции части потока битов, соответствующей кадру управления динамическим диапазоном, следующему после опорного кадра управления динамическим диапазоном после одной или более позиций битовых представлений одного или более сдвинутых узлов, которая представлена посредством значения относительного усиления, которое равно разности значения усиления битового представления соответствующего узла и значения усиления битового представления сдвинутого узла, которое предшествует битовому представлению соответствующего узла.
Согласно предпочтительному варианту осуществления изобретения, временной размер аудиокадров равен временному размеру кадров управления динамическим диапазоном.
Согласно предпочтительному варианту осуществления изобретения, один или более узлов одного из кадров управления динамическим диапазоном выбираются из равномерной временной сетки.
Согласно предпочтительному варианту осуществления изобретения, каждый узел из одного или более узлов содержит информацию наклона.
Согласно предпочтительному варианту осуществления изобретения, декодер для управления динамическим диапазоном выполнен с возможностью декодирования битовых представлений узлов с использованием технологии энтропийного декодирования.
Цель дополнительно достигается посредством системы, содержащей устройство аудиокодера согласно изобретению и устройство аудиодекодера согласно изобретению.
Изобретение дополнительно предоставляет способ для управления аудиокодером, способ содержит этапы:
- формирования кодированного потока битов аудио из аудиосигнала, содержащего последовательные аудиокадры;
- формирования кодированного потока битов управления динамическим диапазоном из последовательности управления динамическим диапазоном, соответствующей аудиосигналу и содержащей последовательные кадры управления динамическим диапазоном, при этом каждый кадр управления динамическим диапазоном из кадров управления динамическим диапазоном содержит один или более узлов, при этом каждый узел из одного или более узлов содержит информацию усиления для аудиосигнала и информацию времени, указывающую то, какому моменту времени соответствует информация усиления;
- при этом кодированный поток битов управления динамическим диапазоном содержит для каждого кадра управления динамическим диапазоном из кадров управления динамическим диапазоном соответствующую часть потока битов;
- выполнения процедуры сдвига, при этом один или более узлов из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном выбираются в качестве сдвинутых узлов, при этом битовое представление каждого из одного или более сдвинутых узлов одного опорного кадра управления динамическим диапазоном встраивается в часть потока битов, соответствующую кадру управления динамическим диапазоном, следующему после одного опорного кадра управления динамическим диапазоном, при этом битовое представление каждого оставшегося узла из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном встраивается в часть потока битов, соответствующую одному опорному кадру управления динамическим диапазоном.
Изобретение дополнительно предоставляет способ для управления аудиодекодером, способ содержит этапы:
- декодирования кодированного потока битов аудио для того, чтобы воспроизводить аудиосигнал, содержащий последовательные аудиокадры;
- декодирования кодированного потока битов управления динамическим диапазоном, чтобы воспроизводить последовательность управления динамическим диапазоном, соответствующую аудиосигналу и содержащую последовательные кадры управления динамическим диапазоном;
- при этом кодированный поток битов управления динамическим диапазоном содержит для каждого кадра управления динамическим диапазоном из кадров управления динамическим диапазоном соответствующую часть потока битов;
- при этом кодированный поток битов управления динамическим диапазоном содержит битовые представления узлов, при этом каждое битовое представление одного узла из узлов содержит информацию усиления для аудиосигнала AS и информацию времени, указывающую то, какому моменту времени соответствует информация усиления;
- при этом кодированный поток битов управления динамическим диапазоном содержит битовые представления сдвинутых узлов, выбранных из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном, которые встраиваются в часть потока битов, соответствующую кадру управления динамическим диапазоном, следующему после одного опорного кадра управления динамическим диапазоном, при этом битовое представление каждого оставшегося узла из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном встраивается в часть потока битов, соответствующую одному опорному кадру управления динамическим диапазоном; и
- при этом битовое представление каждого оставшегося узла из оставшихся узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном декодируется, чтобы воспроизводить каждый оставшийся узел одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном;
- при этом битовое представление каждого сдвинутого узла из сдвинутых узлов, выбранных из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном, декодируется, чтобы воспроизводить каждый сдвинутый узел из сдвинутых узлов, выбранных из узлов одного опорного кадра управления динамическим диапазоном из кадров управления динамическим диапазоном; и
- при этом воспроизведенные оставшиеся узлы и воспроизведенные сдвинутые узлы комбинируются, чтобы восстанавливать опорный кадр управления динамическим диапазоном.
В другом аспекте, изобретение предоставляет программу, при выполнении на процессоре, для осуществления способа согласно изобретению.
Далее поясняются предпочтительные варианты осуществления изобретения со ссылками на прилагаемые чертежи, на которых:
Фиг. 1 в схематичном виде иллюстрирует вариант осуществления устройства аудиокодера согласно изобретению;
Фиг. 2 в схематичном виде иллюстрирует принцип управления динамическим диапазоном, применяемого в контексте кодирования аудио;
Фиг. 3 в схематичном виде иллюстрирует различные режимы для кодирования последовательностей усилений управления динамическим диапазоном;
Фиг. 4 в схематичном виде иллюстрирует применение управления динамическим диапазоном в контексте кодирования аудио;
Фиг. 5 в схематичном виде иллюстрирует процедуру сдвига для узлов согласно изобретению;
Фиг. 6 в схематичном виде иллюстрирует кодирование информации времени согласно изобретению;
Фиг. 7 в схематичном виде иллюстрирует кодирование информации усиления согласно изобретению;
Фиг. 8 в схематичном виде иллюстрирует кодирование информации наклона согласно изобретению; и
Фиг. 9 в схематичном виде иллюстрирует вариант осуществления устройства аудиодекодера согласно изобретению.
Фиг. 1 в схематичном виде иллюстрирует вариант осуществления устройства 1 аудиокодера согласно изобретению. Устройство 1 аудиокодера содержит:
- аудиокодер 2, выполненный с возможностью формирования кодированного потока ABS битов аудио из аудиосигнала AS, содержащего последовательные аудиокадры AFP, AFR, AFS;
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
- кодер 3 для управления динамическим диапазоном, выполненный с возможностью формирования кодированного потока DBS битов управления динамическим диапазоном из последовательности DS управления динамическим диапазоном, соответствующей аудиосигналу AS и содержащей последовательные кадры DFP, DFR, DFS управления динамическим диапазоном, при этом каждый кадр DFP, DFR, DFS управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном содержит один или более узлов A...A; B...B; C, при этом каждый узел из одного или более узлов A...A; B...B; C содержит информацию GA...GA; GB...GB; GC усиления для аудиосигнала AS и информацию TA...TA; TB...TB; TC времени, указывающую то, какому моменту времени соответствует информация GA...GA; GB...GB; GC усиления;
- при этом кодер 3 для управления динамическим диапазоном сконфигурирован таким образом, что кодированный поток DBS битов управления динамическим диапазоном содержит для каждого кадра DFP, DFR, DFS управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном соответствующую часть DFP', DFR', DFS' потока битов;
1
2
0
2
1
2
1
2
1
2
0
0
0
2
- при этом кодер для управления динамическим диапазоном 2 выполнен с возможностью выполнения процедуры сдвига, при этом один или более узлов B, B из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном выбираются в качестве сдвинутых узлов B, B, при этом битовое представление B', B' каждого из одного или более сдвинутых узлов B, B одного опорного кадра DFR управления динамическим диапазоном встраивается в часть DFS' потока битов, соответствующую кадру DFS управления динамическим диапазоном, следующему после одного опорного кадра DFR управления динамическим диапазоном, при этом битовое представление B' каждого оставшегося узла B из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном встраивается в часть DFR' потока битов, соответствующую одному опорному кадру DFR управления динамическим диапазоном.
Изобретение обеспечивает возможность управления пиковой скоростью передачи битов, требуемой для опорного кадра DFR управления динамическим диапазоном, без изменения результирующей последовательности DBS потока битов по сравнению со случаем, в котором не используется предложенный способ. Предложенный подход использует внутренне присущую задержку одного кадра, вводимую посредством аудиокодеров предшествующего уровня техники, чтобы уменьшать пики числа узлов в одном кадре посредством распределения передачи некоторых узлов в непосредственно последующий кадр управления динамическим диапазоном. Далее представлены подробности предложенного способа.
Как пояснено выше, при комбинировании со схемой кодирования аудио, которая вводит кадровую задержку относительно усилений управления динамическим диапазоном, декодированные усиления управления динамическим диапазоном задерживаются на один кадр перед применением к аудиосигналу. Это означает то, что узлы опорного кадра управления динамическим диапазоном применяются к допустимому выводу аудиодекодера в кадре управления динамическим диапазоном, следующем после опорного кадра управления динамическим диапазоном. Это подразумевает то, что в режиме задержки по умолчанию, достаточно передавать узлы опорного кадра управления динамическим диапазоном вместе с узлами кадра управления динамическим диапазоном, следующего после опорного кадра управления динамическим диапазоном, и применять соответствующие усиления управления динамическим диапазоном без задержки непосредственно к соответствующему выходному аудиосигналу в декодере.
Этот факт использован в изобретении для того, чтобы сокращать максимальное число узлов, передаваемых в одном кадре управления динамическим диапазоном. Согласно изобретению, некоторые узлы опорного кадра управления динамическим диапазоном сдвигаются в последующий кадр управления динамическим диапазоном, что может осуществляться перед кодированием. Как поясняется далее, сдвинутые узлы могут "предшествовать" первому узлу в последующем кадре управления динамическим диапазоном только для кодирования разностей усилений и информации наклона. Для кодирования информации разности времен может применяться другой способ.
0
5
4
5
0
2
4
5
0
2
0
1
2
В примере, показанном на фиг. 1, предыдущий кадр DFP управления динамическим диапазоном содержит шесть узлов A...A, из которых узлы A, A сдвигаются в часть DFR' потока битов. Кроме того, опорный кадр DFR управления динамическим диапазоном содержит три узла B...B. Сумма числа сдвинутых узлов A, A и узлов B...B опорного кадра DFR управления динамическим диапазоном равна пяти, что больше числа узлов C последующего кадра DFS управления динамическим диапазоном, так что процедура сдвига инициируется таким образом, что узлы B, B сдвигаются в часть DFS' потока битов. Хотя максимальное число узлов в кадрах DFS, DFR, DFP управления динамическим диапазоном равно шести, максимальное число узлов в частях DFS', DFR', DFP' потока битов равно четырем, так что исключается пик потока битов.
Согласно предпочтительному варианту осуществления изобретения, временной размер аудиокадров AFP, AFR, AFS равен временному размеру кадров DFP, DFR, DFS управления динамическим диапазоном.
0
5
0
2
0
Согласно предпочтительному варианту осуществления изобретения, один или более узлов A...A; B...B; C одного из кадра DFP, DFR, DFS управления динамическим диапазоном выбираются из равномерной временной сетки.
0
5
0
2
0
Согласно предпочтительному варианту осуществления изобретения, кодер 3 для управления динамическим диапазоном выполнен с возможностью кодирования узлов A...A; B...B; C с использованием технологии энтропийного кодирования.
В дополнительном аспекте, изобретение предоставляет способ для управления аудиокодером 1, способ содержит этапы:
- формирования кодированного потока ABS битов аудио из аудиосигнала AS, содержащего последовательные аудиокадры AFP, AFR, AFS;
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
- формирования кодированного потока DBS битов управления динамическим диапазоном из последовательности DS управления динамическим диапазоном, соответствующей аудиосигналу AS и содержащей последовательные кадры DFP, DFR, DFS управления динамическим диапазоном, при этом каждый кадр DFP, DFR, DFS управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном содержит один или более узлов A...A; B...B; C, при этом каждый узел из одного или более узлов A...A; B...B; C содержит информацию GA...GA; GB...GB; GC усиления для аудиосигнала AS и информацию TA...TA; TB...TB; TC времени, указывающую то, какому моменту времени соответствует информация усиления;
- при этом кодированный поток DBS битов управления динамическим диапазоном содержит для каждого кадра DFP, DFR, DFS управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном соответствующую часть DFP', DFR', DFS' потока битов;
1
2
0
2
1
2
1
2
1
2
0
0
0
2
- выполнения процедуры сдвига, при этом один или более узлов B, B из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном выбираются в качестве сдвинутых узлов B, B, при этом битовое представление B', B' каждого из одного или более сдвинутых узлов B, B одного опорного кадра DFR управления динамическим диапазоном встраивается в часть DFS' потока битов, соответствующую кадру DFS управления динамическим диапазоном, следующему после одного опорного кадра DFR управления динамическим диапазоном, при этом битовое представление B' каждого оставшегося узла B из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном встраивается в часть DFR' потока битов, соответствующую одному опорному кадру DFR управления динамическим диапазоном.
Фиг. 2 в схематичном виде иллюстрирует принцип управления динамическим диапазоном, применяемого в контексте кодирования аудио.
Процесс применения DRC к сигналу может выражаться посредством простого умножения аудиосигнала x(k) на зависимое от времени значение g(k) усиления:
, (1)
где k обозначает временной индекс выборки. Значение усиления g(k) вычисляется, например, на основе кратковременной оценки среднеквадратического значения входного сигнала x(k). Дополнительные сведения по стратегиям для того, чтобы определять подходящие значения усилений, пояснены в [1]. Далее зависимые от времени усиления g(k) обозначаются в качестве последовательности усилений.
Изобретение ссылается на сценарий применения, в котором как аудиосигнал AS, так и последовательность DS управления динамическим диапазоном кодируются и передаются. В этом случае, усиления управления динамическим диапазоном не применяются непосредственно к аудиосигналу AS, а кодируются и передаются вместе с кодированным аудиосигналом ABS. В декодере 4, как аудиосигнал AS, так и последовательность DS управления динамическим диапазоном декодируются, и информация управления динамическим диапазоном применяется к соответствующему аудиосигналу AS.
В одном аспекте, изобретение предоставляет систему, содержащую устройство 1 аудиокодера согласно изобретению и устройство 4 аудиодекодера согласно изобретению.
Фиг. 3 в схематичном виде иллюстрирует различные режимы для кодирования последовательностей усилений управления динамическим диапазоном, а именно, полнокадровый режим (A) и режим (B) задержки. Узлы усиления, принимаемые в кадре n, показаны как окружности, и узлы усиления, принимаемые в кадре n+1, показаны как квадраты. Сплошная линия иллюстрирует интерполированное DRC-усиление вплоть до DRC-кадра n+1.
В принципе, цепочка кодера/декодера для управления динамическим диапазоном может работать в двух режимах. Так называемый полнокадровый режим означает случай, в котором после декодирования принимаемого потока битов управления динамическим диапазоном, соответствующего управляющему кадру конкретного динамического диапазона, усиления в каждой позиции выборки кадра управления динамическим диапазоном могут немедленно определяться после интерполяции на основе декодированных узлов. Это подразумевает то, что узел должен передаваться на каждой границе кадра, т.е. в позиции выборки, соответствующей последней выборке кадра управления динамическим диапазоном. Если длина кадра управления динамическим диапазоном составляет N, это означает то, что последний передаваемый узел должен быть расположен в позиции N выборки в этом кадре. Это проиллюстрировано в верхней части фиг. 3, обозначаемой посредством "A". Как показано, усиления управления динамическим диапазоном n-ого кадра могут сразу применяться к соответствующему аудиокадру.
Второй режим упоминается в качестве "режима задержки", и он проиллюстрирован в нижней части "B" фиг. 3. В этом случае, не передаются узлы для позиции последней выборки в кадре n. Следовательно, DRC-декодер должен ожидать декодирования DRC-кадра n+1, чтобы выполнять требуемую интерполяцию всех значений усиления после последнего узла в кадре n. Это обусловлено тем, что информация первого узла кадра n+1 должна быть известна для того, чтобы выполнять интерполяцию между последним узлом кадра n и первым узлом в кадре n+1, чтобы определять значение усиления в промежутке через интерполяцию.
Фиг. 4 в схематичном виде иллюстрирует применение управления динамическим диапазоном в контексте кодирования аудио, в котором аудиокодер вводит одну кадровую задержку относительно схемы кодирования динамического диапазона.
0
5
0
2
0
Фиг. 5 в схематичном виде иллюстрирует процедуру сдвига для узлов согласно изобретению. Левая сторона показывает ситуацию при использовании подхода предшествующего уровня техники, тогда как правая сторона показывает предложенный способ, в котором каждый квадрат соответствует узлу A...A; B...B; C.
0
2
Согласно предпочтительному варианту осуществления изобретения, процедура сдвига инициируется в случае, если число узлов B...B опорного кадра DFR управления динамическим диапазоном превышает предварительно заданное пороговое значение.
0
2
4
5
Согласно предпочтительному варианту осуществления изобретения, процедура сдвига инициируется в случае, если сумма числа узлов B...B опорного кадра DFR управления динамическим диапазоном и числа сдвинутых узлов A, A из кадра DFP управления динамическим диапазоном, предшествующего опорному кадру DFR управления динамическим диапазоном, которые должны встраиваться в часть DFR' потока битов, соответствующую опорному кадру DFR управления динамическим диапазоном, превышает предварительно заданное пороговое значение.
0
2
4
5
0
Согласно предпочтительному варианту осуществления изобретения, процедура сдвига инициируется в случае, если сумма числа узлов B...B опорного кадра DFR управления динамическим диапазоном и числа сдвинутых узлов A, A из кадра DFP управления динамическим диапазоном, предшествующего опорному кадру DFR управления динамическим диапазоном, которые должны встраиваться в часть DFR' потока битов, соответствующую опорному кадру DFR управления динамическим диапазоном, превышает число узлов C кадра DFS управления динамическим диапазоном, следующего после опорного кадра DFR управления динамическим диапазоном.
i
i
0
Как пояснено выше, при комбинировании со схемой кодирования аудио, которая вводит кадровую задержку относительно кадров управления динамическим диапазоном, декодированные усиления управления динамическим диапазоном задерживаются на один кадр перед применением к аудиосигналу. Если рассматривать левую сторону на фиг. 5, это означает то, что узлы A n-ого кадра применяются к допустимому выводу аудиодекодера в кадре n+1. Это подразумевает то, что в режиме задержки по умолчанию, достаточно передавать узлы A вместе с узлом B в кадре n+1 и применять соответствующие DRC-усиления без задержки непосредственно к соответствующему выходному аудиосигналу в декодере.
4
5
4
5
0
Этот факт использован в предложенном способе для того, чтобы сокращать максимальное число узлов, передаваемых в одном кадре. Это проиллюстрировано в правой стороне на фиг. 4. Узлы A и A сдвигаются в кадр n+1 до кодирования, т.е. максимальное число узлов в кадре n уменьшается с 6 до 4 в данном примере. Как поясняется далее, узлы A и A "предшествуют" первому узлу в кадре n+1, т.е. B только для кодирования разностей усилений и информации наклона. Для кодирования информации разности времен должен применяться другой способ.
Фиг. 6 в схематичном виде иллюстрирует кодирование информации времени согласно изобретению.
0
5
0
2
0
0
5
0
2
0
4
5
1
2
4
5
1
2
Согласно предпочтительному варианту осуществления изобретения, информация TA...TA; TB...TB; TC времени одного или более узлов A...A; B...B; C представлена таким образом, что один или более сдвинутых узлов A, A; B, B могут идентифицироваться посредством использования информации TA, TA; TB, TB времени.
4
5
1
2
4
5
1
2
4
5
1
2
4
5
1
2
4
5
1
2
4
5
1
2
Согласно предпочтительному варианту осуществления изобретения, информация TA, TA; TB, TB времени одного или более сдвинутых узлов A, A; B, B представлена посредством суммы разности t_A, t_A; t_B, t_B времен от начала кадра DFP; DFR управления динамическим диапазоном, которому принадлежит соответствующий узел A, A; B, B, до временной позиции соответствующего узла A, A; B, B в кадре DFP; DFR управления динамическим диапазоном, которому принадлежит соответствующий узел A, A; B, B, и значения drcFrameSize смещения, превышающего или равного временному размеру кадра DFR; DFS управления динамическим диапазоном, следующего после соответствующего кадра DFP; DFR управления динамическим диапазоном.
i
i
i
Сначала рассматривается кодирование разностей времен между парами узлов. На фиг. 6, ситуация для определения разностей времен для пар узлов проиллюстрирована для примера согласно фиг. 4, где t_A обозначает позицию выборки узла A на сетке возможных позиций узла в кадре. Как пояснено выше, узлы могут выбираться на равномерной временной сетке, причем разнесение этой сетки задает наибольшее доступное временное разрешение deltaTmin. Таким образом, информация t_A времени приводится в выборках, причем разности времен между двумя узлами всегда являются целыми кратными deltaTmin.
4
4
4
4
3
0
0
0
Информация временной позиции узла кодируется дифференциальным способом, т.е. относительно позиции предыдущего узла. Если узел является первым узлом в кадре, разность времен определяется относительно начала кадра. Левая сторона по фиг. 6 иллюстрирует ситуацию, если сдвиг узлов не применяется. В этом случае, информация tDrcDelta_A дифференциального времени узла A вычисляется в качестве tDrcDelta_A=t_A-t_A. Это значение дифференциального времени затем кодируется с использованием соответствующей записи в надлежащей таблице Хаффмана, например, согласно таблице 1 или 2. В качестве другого примера, рассматривается кодированная разность времен узла B. Поскольку он представляет собой первый узел кадра n+1, соответствующая разность времен определяется относительно начала кадра, т.е. tDrcDelta_B=t_B.
4
5
0
3
0
4
5
4
4
4
Теперь следует рассматривать кодирование позиции узла для предложенной технологии на основе хранилища узлов с использованием сдвига узлов. Для примера, показанного в правой стороне по фиг. 6, узлы A и A сдвинуты в следующий кадр для кодирования. Представление узлов A в A не изменено, и кодированные разности времен, следовательно, также не изменены. То же является истинным для кодированной информации позиции узла B. Тем не менее, информация времени узла A и узла A теперь обрабатывается по-другому. Как показано на фиг. 6, исходное значение t_A, указывающее позицию выборки узла A, модифицируется в кодере посредством прибавления смещения drcFrameSize. Поскольку результирующая информация позиции превышает максимальное значение, что должно быть возможным в случае регулярного кодирования, смещение указывает декодеру то, что соответствующий узел должен дополнительно обрабатываться в контексте предыдущего кадра. Кроме того, декодер знает то, что исходная позиция t_A выборки получается посредством вычитания смещения drcFrameSize из декодированного значения.
4
0
4
4
0
5
5
5
4
5
5
4
Ниже рассматривается вычисление информации разности времен, которая фактически кодируется для ситуации, показанной в правой стороне по фиг. 6. По причинам эффективности кодирования, дифференциальная информация позиции для узла A вычисляется относительно узла B. В отличие от ситуации, ранее поясненной для левой стороны по фиг. 6, информация дифференциального времени теперь вычисляется согласно tDrcDelta_A=t_A+drcFrameSize-t_B, т.е. посредством включения смещения. Аналогично, для узла A, получается tDrcDelta_A=t_A+drcFrameSize-t_A-drcFrameSize, что, очевидно, является идентичным tDrcDelta_A=t_A-t_A. Эти значения дифференциального времени кодируются с использованием соответствующей записи кодового слова корректной таблицы Хаффмана, например, согласно таблице 1 или 2.
Способ для декодирования информации временной позиции может обобщаться следующим образом. Декодер извлекает информацию разности времен узла на основе соответствующего кодового слова из потока битов. Информация времени получается посредством суммирования информации разности времен с информацией времени предыдущего узла. Если результирующая позиция выборки превышает drcFrameSize, декодер знает то, что настоящий узел должен обрабатываться, как если он представляет собой последний узел в предыдущем кадре, т.е. он должен добавляться к узлам, декодированным в предыдущем кадре. Корректная позиция выборки определяется посредством вычитания значения drcFrameSize смещения из декодированного значения времени. Идентичные этапы обработки применяются аналогичным способом, если большее число сдвинутых узлов возникает в декодированном кадре.
После декодирования и коррекции информации времени всего кадра, декодер знает то, сколько узлов сдвинуто назад в предыдущий кадр (без явного предоставления этой информации в кодере), и то, в какой позиции выборки они расположены в предыдущем кадре. Информация относительно числа сдвинутых узлов дополнительно должна быть использована в контексте декодирования информации усиления и наклона, описанной ниже.
Фиг. 7 в схематичном виде иллюстрирует кодирование информации усиления согласно изобретению.
1
1
1
1
2
2
2
1
1
2
2
2
1
1
1
2
2
Согласно предпочтительному варианту осуществления изобретения, информация GB усиления битового представления B' сдвинутого узла B, который находится в первой позиции части DFS' потока битов, соответствующей кадру DFS управления динамическим диапазоном, следующему после опорного кадра DFR управления динамическим диапазоном, представлена посредством значения g_B абсолютного усиления, при этом информация GB усиления каждого битового представления B' сдвинутых узлов B в позиции после битового представления B' узла B, который находится в первой позиции части DFS' потока битов, соответствующей кадру DFS управления динамическим диапазоном, следующему после опорного кадра DFR управления динамическим диапазоном, представлена посредством значения относительного усиления, которое равно разности значения g_B усиления битового представления B' соответствующего сдвинутого узла B и значения g_B усиления битового представления B' узла B, которое предшествует битовому представлению B' соответствующего узла B.
1
2
1
2
0
0
0
1
2
1
2
0
0
0
2
2
2
0
0
Согласно предпочтительному варианту осуществления изобретения, в случае если битовые представления B', B' одного или более сдвинутых узлов B, B опорного кадра DFR управления динамическим диапазоном встраиваются в часть DFS' потока битов, соответствующую кадру DFS управления динамическим диапазоном, следующему после опорного кадра DFR управления динамическим диапазоном, информация GC усиления битового представления C' узла C последующего кадра DFS управления динамическим диапазоном в первой позиции части DFS' потока битов, соответствующей кадру DFS управления динамическим диапазоном, следующему после опорного кадра DFR управления динамическим диапазоном после одной или более позиций битовых представлений B', B' одного или более сдвинутых узлов B, B представлена посредством значения относительного усиления, которое равно разности значения g_C усиления битового представления C' соответствующего узла C и значения g_B усиления битового представления B' сдвинутого узла B, которое предшествует битовому представлению C' соответствующего узла C.
i
i
На фиг. 7, ситуация для определения разностей усилений для пар узлов проиллюстрирована для примера согласно фиг. 5, где g_A обозначает значение усиления узла A.
4
4
3
4
4
4
3
0
0
0
Во-первых, рассматриваются значения дифференциального усиления для узла A. Для подхода без хранилища узлов, проиллюстрированного в левой стороне по фиг. 7, значение gainDelta_A дифференциального усиления вычисляется из разности значения усиления (в дБ) предыдущего узла A и узла A, т.е. gainDelta_A=g_A-g_A. Это значение дифференциального усиления затем кодируется с использованием соответствующей записи в надлежащей таблице Хаффмана. Кроме того, рассматривается первый узел кадра n+1 в левой стороне по фиг. 7. Поскольку B является первым узлом этого кадра, его значение усиления кодируется не дифференциальным способом, а согласно конкретному кодированию начальных значений gainInitial усиления, т.е. значение усиления кодируется как его фактическое значение: gainDelta_B=g_B.
4
4
5
0
5
0
5
0
0
5
0
0
Для ситуации, показанной в правой стороне, когда узел A сдвинут в следующий кадр n+1, значения кодированной информации усиления отличаются. Как можно видеть, после сдвига, узел A становится первым узлом в кадре n+1 относительно кодирования разностей усилений. Таким образом, его значение усиления не кодируется дифференциальным способом, а применяется конкретное кодирование начальных значений усиления, как описано выше. Значение дифференциального усиления A должно оставаться идентичным для обеих ситуаций, показанных в левой и в правой стороне. Поскольку узел B теперь следует после узла A, если хранилище узлов используется, то его информация усиления должна определяться из разности усилений узла B и A, т.е. gainDelta_B=g_B-g_A. Следует отметить, что изменяется только способ, которым определяются разности усилений при применении технологии на основе хранилища узлов, тогда как восстановленные значения усилений остаются идентичными для каждого узла. Очевидно, что после декодирования всей связанной с усилением информации кадров n и n+1, полученные значения усиления для узлов A-B являются идентичными значениям усиления, полученным в левой стороне, и узлы могут вычисляться "вовремя" для применения DRC-усилений к соответствующему аудиокадру.
Как пояснено в предыдущем параграфе, число сдвинутых узлов и их позиция выборки в предыдущем кадре известны после декодирования информации разности времен. Как проиллюстрировано в правой стороне по фиг. 6, значения усиления сдвинутых узлов из кадра n начинаются сразу от начала принимаемой информации усиления кадра n+1. Следовательно, информация относительно числа сдвинутых узлов является достаточной для декодера, чтобы назначать каждое значение усиления корректной позиции выборки в корректном кадре. Если рассматривать пример, показанный в правой стороне на фиг. 6, декодер знает то, что первые два декодированных значения усиления кадра n+1 должны добавляться к последним значениям усиления предыдущего кадра, тогда как третье значение усиления соответствует корректному значению усиления первого узла в текущем кадре.
Фиг. 8 в схематичном виде иллюстрирует кодирование информации наклона согласно изобретению.
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
Согласно предпочтительному варианту осуществления изобретения, каждый узел A...A; B...B; C из одного или более узлов содержит информацию SA...SA; SB...SB; SC наклона для A...A; B...B; C.
Ниже рассматривается кодирование информации наклона, которое проиллюстрировано на фиг. 8. Информация наклона узлов кодируется не дифференциальным способом между парами узлов, а для каждого узла независимо. Следовательно, связанная с наклоном информация остается неизменной в обоих случаях с/без использования хранилища узлов. Аналогично случаю кодирования значений усиления, таблицы Хаффмана для формирования кодовых слов для получения информации наклона остаются идентичными для обоих случаев, с/без использования предложенного сдвига узлов. Назначение информации наклона корректной позиции выборки в корректном кадре выполняется аналогично случаю декодирования значений усиления.
После того, как вся информация узлов, принимаемая для кадра n+1, декодирована и, если применимо, сдвинута назад в предшествующий кадр n, интерполяция усиления для кадра n с использованием сплайнов либо линейная интерполяция может выполняться стандартным способом, и значения усиления применяются к соответствующему аудиокадру.
Фиг. 9 в схематичном виде иллюстрирует вариант осуществления устройства аудиодекодера согласно изобретению. Устройство 4 аудиодекодера содержит:
- аудиодекодер 5, выполненный с возможностью декодирования кодированного потока ABS битов аудио для того, чтобы воспроизводить аудиосигнал AS, содержащий последовательные аудиокадры AFP, AFR, AFS;
- декодер 6 для управления динамическим диапазоном, выполненный с возможностью декодирования кодированного потока DBS битов управления динамическим диапазоном, чтобы воспроизводить последовательность DS управления динамическим диапазоном, соответствующую аудиосигналу AS и содержащую последовательные кадры DFP, DFR, DFS управления динамическим диапазоном;
- при этом кодированный поток DBS битов управления динамическим диапазоном содержит для каждого кадра DFP, DFR, DFS управления динамическим диапазоном из кадров управления динамическим диапазоном соответствующую часть DFP', DFR', DFS' потока битов;
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
- при этом кодированный поток DBS битов управления динамическим диапазоном содержит битовые представления A'...A'; B'...B'; C' узлов A...A; B...B; C, при этом каждое битовое представление одного узла из узлов содержит информацию GA...GA; GB...GB; GC усиления для аудиосигнала AS и информацию TA...TA; TB...TB; TC времени, указывающую то, какому моменту времени соответствует информация GA...GA; GB...GB; GC усиления;
1
2
1
2
0
2
0
0
0
2
- при этом кодированный DBS потока битов управления динамическим диапазоном содержит битовые представления B', B' сдвинутых узлов B, B, выбранных из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном, которые встраиваются в часть потока битов, соответствующую кадру DFS управления динамическим диапазоном, следующему после одного опорного кадра DFR управления динамическим диапазоном, при этом битовое представление B' каждого оставшегося узла B из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном встраивается в часть DFR' потока битов, соответствующую одному опорному кадру DFR управления динамическим диапазоном; и
0
0
0
0
1
2
1
2
1
2
0
2
1
2
1
2
0
1,
2
- при этом декодер 6 для управления динамическим диапазоном выполнен с возможностью декодирования битового представления B' каждого оставшегося узла B из оставшихся узлов B' одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном, чтобы воспроизводить каждый оставшийся узел B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном, декодирования битового представления B', B' каждого сдвинутого узла B, B из сдвинутых узлов B, B, выбранных из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном, чтобы воспроизводить каждый сдвинутый узел B, B из сдвинутых узлов B, B, выбранных из узлов одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном, и комбинирования воспроизведенных оставшихся узлов B и воспроизведенных сдвинутых узлов BB, чтобы восстанавливать опорный кадр DFR управления динамическим диапазоном.
4
5
1
2
4
5
1
2
Согласно предпочтительному варианту осуществления изобретения, декодер 6 для управления динамическим диапазоном выполнен с возможностью идентификации одного или более сдвинутых узлов A, A; B, B посредством использования информации TA, TA; TB, TB времени.
4
5
1
2
4
5
1
2
4
5
1
2
4
5
1
2
4
5
1
2
4
5
1
2
Согласно предпочтительному варианту осуществления изобретения, декодер 6 для управления динамическим диапазоном выполнен с возможностью декодирования информации TA, TA; TB, TB времени одного или более сдвинутых узлов A, A; B, B, которая представлена посредством суммы разности t_A, t_A; t_B, t_B времен от начала кадра DFP; DFR управления динамическим диапазоном, которому принадлежит соответствующий узел A, A; B, B, до временной позиции соответствующего узла A, A; B, B в кадре DFP; DFR управления динамическим диапазоном, которому принадлежит соответствующий узел A, A; B, B, и значения drcFrameSize смещения, превышающего или равного временному размеру кадра DFR; DFS управления динамическим диапазоном, следующего после соответствующего кадра DFP; DFR управления динамическим диапазоном.
1
1
1
1
2
2
2
1
1
2
2
2
1
1
1
2
2
Согласно предпочтительному варианту осуществления изобретения, декодер 6 для управления динамическим диапазоном выполнен с возможностью декодирования информации GB усиления битового представления B' сдвинутого узла B, который находится в первой позиции части DFS' потока битов, соответствующей кадру DFS управления динамическим диапазоном, следующему после опорного кадра DFR управления динамическим диапазоном, которая представлена посредством значения g_B абсолютного усиления, при этом информация GB усиления каждого битового представления B' сдвинутых узлов B в позиции после битового представления B' узла B, который находится в первой позиции части DFS' потока битов, соответствующей кадру DFS управления динамическим диапазоном, следующему после опорного кадра DFR управления динамическим диапазоном, представлена посредством значения относительного усиления, которое равно разности значения g_B усиления битового представления B' соответствующего сдвинутого узла B и значения g_B усиления битового представления B' узла B, которое предшествует битовому представлению B' соответствующего узла B
0
0
0
1
2
1
2
0
0
0
2
2
2
0
0
Согласно предпочтительному варианту осуществления изобретения, декодер 6 для управления динамическим диапазоном выполнен с возможностью декодирования информации GC усиления битового представления C' узла C последующего кадра DFS управления динамическим диапазоном в первой позиции части DFS' потока битов, соответствующей кадру DFS управления динамическим диапазоном, следующему после опорного кадра DFR управления динамическим диапазоном после одной или более позиций битовых представлений B', B' одного или более сдвинутых узлов B, B, которая представлена посредством значения относительного усиления, которое равно разности значения g_C усиления битового представления C' соответствующего узла C и значения g_B усиления битового представления B' сдвинутого узла B, которое предшествует битовому представлению C' соответствующего узла C.
Согласно предпочтительному варианту осуществления изобретения, временной размер аудиокадров AFP, AFR, AFS равен временному размеру кадров AFP, AFR, AFS управления динамическим диапазоном.
0
5
0
2
0
Согласно предпочтительному варианту осуществления изобретения, один или более узлов A...A; B...B; C одного из кадров DFP, DFR, DFS управления динамическим диапазоном выбираются из равномерной временной сетки.
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
Согласно предпочтительному варианту осуществления изобретения, каждый узел A...A; B...B; C из одного или более узлов A...A; B...B; C содержит информацию SA...SA; SB...SB; SC наклона.
0
5
0
2
0
Согласно предпочтительному варианту осуществления изобретения, декодер 6 для управления динамическим диапазоном выполнен с возможностью декодирования битовых представлений узлов A'...A'; B'...B'; C' с использованием технологии энтропийного декодирования.
В другом аспекте, изобретение предоставляет способ для управления аудиодекодером, способ содержит этапы:
- декодирования кодированного потока ABS битов аудио для того, чтобы воспроизводить аудиосигнал AS, содержащий последовательные аудиокадры AFP, AFR, AFS;
- декодирования кодированного потока DBS битов управления динамическим диапазоном, чтобы воспроизводить последовательность DS управления динамическим диапазоном, соответствующую аудиосигналу AS и содержащую последовательные кадры DFP, DFR, DFS управления динамическим диапазоном;
- при этом кодированный поток DBS битов управления динамическим диапазоном содержит для каждого кадра DFP, DFR, DFS управления динамическим диапазоном из кадров управления динамическим диапазоном соответствующую часть DFP', DFR', DFS' потока битов;
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
0
5
0
2
0
- при этом кодированный поток DBS битов управления динамическим диапазоном содержит битовые представления A'...A'; B'...B'; C' узлов A...A; B...B; C, при этом каждое битовое представление одного узла из узлов содержит информацию GA...GA; GB...GB; GC усиления для аудиосигнала AS и информацию TA...TA; TB...TB; TC времени, указывающую то, какому моменту времени соответствует информация GA...GA; GB...GB; GC усиления;
1
2
1
2
0
2
0
0
0
2
- при этом кодированный DBS потока битов управления динамическим диапазоном содержит битовые представления B', B' сдвинутых узлов B, B, выбранных из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном, которые встраиваются в часть потока битов, соответствующую кадру DFS управления динамическим диапазоном, следующему после одного опорного кадра DFR управления динамическим диапазоном, при этом битовое представление B' каждого оставшегося узла B из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном встраивается в часть DFR' потока битов, соответствующую одному опорному кадру DFR управления динамическим диапазоном; и
0
0
0
0
- при этом битовое представление B' каждого оставшегося узла B из оставшихся узлов B' одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном декодируется, чтобы воспроизводить каждый оставшийся узел B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном;
1
2
1
2
1
2
0
2
1
2
1
2
- при этом битовое представление B', B' каждого сдвинутого узла B, B из сдвинутых узлов B, B, выбранных из узлов B...B одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном, декодируется, чтобы воспроизводить каждый сдвинутый узел B, B из сдвинутых узлов B, B, выбранных из узлов одного опорного кадра DFR управления динамическим диапазоном из кадров DFP, DFR, DFS управления динамическим диапазоном; и
0
1
2
- при этом воспроизведенные оставшиеся узлы B и воспроизведенные сдвинутые узлы B, B комбинируются, чтобы восстанавливать опорный кадр DFR управления динамическим диапазоном.
Относительно декодера, кодера и способов описанных вариантов осуществления, необходимо упомянуть следующее.
Хотя некоторые аспекты описаны в контексте устройства, очевидно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может выполняться с использованием цифрового носителя хранения данных, например, гибкого диска, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего сохраненные электронночитаемые управляющие сигналы, которые взаимодействуют (или допускают взаимодействие) с программируемой компьютерной системой таким образом, что осуществляется соответствующий способ.
Некоторые варианты осуществления согласно изобретению содержат носитель данных, имеющий электронночитаемые управляющие сигналы, которые допускают взаимодействие с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных в данном документе.
В общем, варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, при этом программный код выполнен с возможностью осуществления одного из способов, когда компьютерный программный продукт работает на компьютере. Программный код, например, может быть сохранен на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных в данном документе, которая сохраняется на машиночитаемом носителе или на энергонезависимом носителе хранения данных.
Другими словами, следовательно, вариант осуществления изобретаемого способа представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных в данном документе, когда компьютерная программа работает на компьютере.
Следовательно, дополнительный вариант осуществления изобретаемых способов представляет собой носитель хранения данных (цифровой носитель хранения данных или компьютерно-читаемый носитель), содержащий записанную компьютерную программу для осуществления одного из способов, описанных в данном документе.
Следовательно, дополнительный вариант осуществления изобретаемого способа представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных в данном документе. Поток данных или последовательность сигналов может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное или адаптированное с возможностью осуществлять один из способов, описанных в данном документе.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную компьютерную программу для осуществления одного из способов, описанных в данном документе.
В некоторых вариантах осуществления, программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может быть использовано для того, чтобы выполнять часть или все из функциональностей способов, описанных в данном документе. В некоторых вариантах осуществления, программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, чтобы осуществлять один из способов, описанных в данном документе. В общем, способы предпочтительно осуществляются посредством любого устройства.
Хотя это изобретение описано с точки зрения нескольких вариантов осуществления, возникают изменения, перестановки и эквиваленты, которые попадают в пределы объема этого изобретения. Также следует отметить, что предусмотрено множество альтернативных способов реализации способов и структур настоящего изобретения. Следовательно, нижеприведенная прилагаемая формула изобретения должна интерпретироваться как включающая в себя все такие изменения, перестановки и эквиваленты, которые попадают в пределы истинной сущности и объема настоящего изобретения.
СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ
1 – устройство аудиокодера
2 – аудиокодер
3 – кодер для управления динамическим диапазоном
4 – устройство аудиодекодера
5 – аудиодекодер
6 – декодер для управления динамическим диапазоном
ABS – кодированный поток битов аудио
AS – аудиосигнал
AFP – предыдущий аудиокадр
AFR – опорный аудиокадр
AFS – последующий аудиокадр
DBS – кодированный поток битов управления динамическим диапазоном
DS – последовательность управления динамическим диапазоном
DFP – предыдущий кадр управления динамическим диапазоном
DFR – опорный кадр управления динамическим диапазоном
DFS – последующий кадр управления динамическим диапазоном
0
5
A...A – узлы предыдущего кадра управления динамическим диапазоном
0
2
B...B – узлы опорного кадра управления динамическим диапазоном
0
C – узел последующего кадра управления динамическим диапазоном
DFP' – часть потока битов, соответствующая предыдущему кадру управления динамическим диапазоном
DFR' – часть потока битов, соответствующая опорному кадру управления динамическим диапазоном
DFS' – часть потока битов, соответствующая последующему кадру управления динамическим диапазоном
0
5
TA...TA – информация времени узлов предыдущего кадра управления динамическим диапазоном
0
2
TB...TB – информация времени узлов опорного кадра управления динамическим диапазоном
0
TC – информация времени узла последующего кадра управления динамическим диапазоном
0
5
t_A...t_A – разность времен узлов предыдущего кадра управления динамическим диапазоном
0
2
t_B...t_B – разность времен узлов опорного кадра управления динамическим диапазоном
0
t_C – разность времен узла последующего кадра управления динамическим диапазоном
0
5
GA...GA – информация усиления узлов предыдущего кадра управления динамическим диапазоном
0
2
GB...GB – информация усиления узлов опорного кадра управления динамическим диапазоном
0
GC– информация усиления узла последующего кадра управления динамическим диапазоном
0
5
g_A...g_A – значение усиления узлов предыдущего кадра управления динамическим диапазоном
0
2
g_B...g_B – значение усиления узлов опорного кадра управления динамическим диапазоном
0
g_C – значение усиления узла последующего кадра управления динамическим диапазоном
0
5
SA...SA – информация наклона узлов предыдущего кадра управления динамическим диапазоном
0
2
SB...SB – информация наклона узлов опорного кадра управления динамическим диапазоном
0
SC – информация наклона узла последующего кадра управления динамическим диапазоном
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
[1] D. Giannoulis, M. Massberg, J. D. Reiss, "Digital Dynamic Range Compressor Design – A Tutorial and Analysis" J. Audio Engineering Society, том 60, номер 6, июнь 2012 года