ВЫЧИСЛЕНИЕ ОТНОШЕНИЯ СИГНАЛ-ШУМ КОНВЕРТОРА С УМЕНЬШЕННОЙ СЛОЖНОСТЬЮ
CALCULATION OF CONVERTER SIGNAL-NOISE RATIO WITH REDUCED COMPLEXITY

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Данная заявка заявляет приоритет предварительной заявки на патент США №61/723687, поданной 7 ноября 2012 г., которая ссылкой полностью включается в данное описание изобретения.
ОБЛАСТЬ ТЕХНИЧЕСКОГО ПРИМЕНЕНИЯ
Настоящий документ относится к кодированию/декодированию звука. В частности, настоящий документ относится к способу и системе для уменьшения сложности процесса распределения битов, используемого в контексте кодирования/декодирования звука.
ПРЕДПОСЫЛКИ
В настоящее время в употреблении находятся различные одно- и/или многоканальные системы представления звука, такие как многоканальные системы представления звука 5.1, 7.1 или 9.1. Системы представления звука допускают, например, генерирование окружающего звука, происходящего, соответственно, из 5+1, 7+1 или 9+1 местоположений громкоговорителей. Для эффективной передачи или эффективного хранения соответствующих одно- или многоканальных звуковых сигналов используют такие системы аудиокодеков (кодеров/декодеров), как Dolby Digital (DD) или Dolby Digital Plus (DD+).
Может иметься в наличии достаточный парк установленных устройств представления звука, выполненных для декодирования звуковых сигналов, закодированных с использованием конкретной системы аудиокодека (например, Dolby Digital). Эту конкретную систему аудиокодека можно именовать, например, вторым аудиокодеком. С другой стороны, развитие систем аудиокодеков может привести к обновленной системе аудиокодека (например, Dolby Digital Plus), которую можно именовать, например, первой системой аудиокодека. Эта обновленная система аудиокодека может предусматривать дополнительные функции (например, увеличенное число каналов) и/или улучшенное качество кодирования. Поэтому поставщики содержания могут быть склонны к доставке содержания в соответствии с обновленной системой аудиокодека.
Тем не менее, пользователь, имеющий устройство представления звука с декодером из второй системы аудиокодека, должен по-прежнему иметь возможность представлять звуковое содержание, которое было закодировано в соответствии с первой системой аудиокодека. Этого можно добиться посредством так называемого преобразователя кода, или конвертора, выполненного с возможностью конверсии звукового содержания, закодированного в соответствии с первой системой аудиокодека, в модифицированное звуковое содержание, закодированное в соответствии со второй системой аудиокодека. Для того чтобы уменьшить себестоимость таких преобразователей кода/конверторов (реализуемых, например, в телевизионных приставках), вычислительная сложность такой конверсии должна быть относительно низкой. С этой целью, кодер, действующий в соответствии с первой системой аудиокодека, можно выполнить с возможностью вставки одного или нескольких параметров управления в битовый поток, содержащий закодированное звуковое содержание. Указанный один или несколько параметров могут быть использованы преобразователем кода для выполнения конверсии с уменьшенной вычислительной сложностью. С другой стороны, генерирование одного или нескольких параметров управления, как правило, повышает вычислительную сложность кодера.
В настоящем документе описаны способы и системы, обеспечивающие возможность конверсии звукового содержания из первого формата (в соответствии с первой системой аудиокодека) во второй формат (в соответствии со второй системой аудиокодека) с уменьшенной вычислительной сложностью. Способы и системы, описываемые в настоящем документе, можно использовать для снижения вычислительной сложности в кодере и/или в преобразователе кода.
КРАТКОЕ ОПИСАНИЕ
Согласно одной из особенностей описывается аудиокодер, выполненный с возможностью кодирования кадра звукового сигнала в соответствии с первой системой аудиокодека. Этот звуковой сигнал может содержать многоканальный звуковой сигнал, например многоканальный звуковой сигнал 5.1, 7.1 или 9.1. Этот звуковой сигнал может быть разделен на последовательность кадров, при этом эти кадры могут содержать предварительно определенное число дискретных значений звукового сигнала, например 1536 дискретных значений. Первая система аудиокодека может содержать систему кодека Dolby Digital Plus, например систему Dolby Digital Plus с низкой сложностью, или может ей соответствовать. Аудиокодер может быть выполнен с возможностью кодирования звукового сигнала в первый битовый поток с первой целевой скоростью передачи данных. Примерами первой целевой скорости передачи данных (или первой скорости передачи данных) являются скорости 384 кбит/с, 448 кбит/с или 640 кбит/с (особенно в случае многоканального звукового сигнала 5.1). Следует отметить, что возможны и другие первые целевые скорости передачи данных, особенно для многоканальных сигналов других типов.
Аудиокодер может содержать модуль преобразования, выполненный с возможностью определения набора спектральных коэффициентов на основе кадра звукового сигнала. Иными словами, модуль преобразования может быть выполнен с возможностью определения одной или нескольких спектральных составляющих звукового сигнала. Модуль преобразования может быть выполнен с возможностью определения ряда блоков исходя из кадра звукового сигнала. Кроме того, модуль преобразования может быть выполнен с возможностью преобразования этих блоков дискретных значений из временной области в частотную. Для примера, модуль преобразования может быть выполнен с возможностью выполнения модифицированного дискретного косинусного преобразования (MDCT) на одном или нескольких блоках, полученных из кадра звукового сигнала.
Кодер может содержать модуль кодирования с плавающей запятой, выполненный с возможностью определения на основе набора спектральных коэффициентов набора масштабных коэффициентов и набора масштабированных значений. Эти масштабные коэффициенты могут соответствовать экспонентам e, а масштабированные значения могут соответствовать мантиссам m. Модуль кодирования с плавающей запятой может быть выполнен с возможностью определения экспоненты e и мантиссы m для коэффициента преобразования Х с использованием формулы . Выполняя эту операцию для всех спектральных коэффициентов из набора спектральных коэффициентов, можно определить набор масштабных коэффициентов и набор масштабированных значений.
Кроме того, модуль кодирования с плавающей запятой может быть выполнен с возможностью кодирования набора масштабных коэффициентов для получения набора кодированных масштабных коэффициентов. Кодирование набора масштабных коэффициентов может быть основано, например, на масштабных коэффициентах для всех блоков кадра звукового сигнала. В результате это кодирование может приводить к такой модификации масштабного коэффициента, что кодированные масштабные коэффициенты представляют значения, отличающиеся от значений масштабных коэффициентов.
Кодер может содержать модуль распределения битов и квантования, выполненный с возможностью определения общего числа доступных битов для квантования набора масштабированных значений на основе первой целевой скорости передачи данных и числа битов, использованных для набора кодированных масштабных коэффициентов. С этой целью, первую целевую скорость передачи данных можно перевести в общее число битов, приходящихся на кадр, и число битов, использованных для набора кодированных масштабных коэффициентов (а также битов, которые могут быть зарезервированы для других целей или могли быть использованы для этих целей), можно вычесть из общего числа битов, посредством чего получается общее число доступных битов для квантования набора масштабированных значений.
Модуль распределения битов и квантования может быть выполнен с возможностью выполнения итеративного процесса распределения битов для определения разрешающей способности квантователя для квантования указанных масштабированных значений. Разрешающую способность квантователя следует определять так, чтобы общее число битов для квантования набора масштабированных значений не превышалось, и так, чтобы шум квантования был сведен к минимуму (или уменьшен). Квантователь, удовлетворяющий этому требованию, можно идентифицировать, используя первый параметр управления. Иными словами, модуль распределения битов и квантования может быть выполнен с возможностью определения первого параметра управления, служащего признаком распределения общего числа доступных битов для квантования масштабированных значений из набора масштабированных значений, т.е. служащего признаком квантователя для квантования масштабированных значений из набора масштабированных значений. Первый параметр управления может, например, представлять собой или содержать значение snroffset (или смещение SNR) из Dolby Digital Plus.
Для примера, модуль распределения битов и квантования может быть выполнен с возможностью определения первого параметра управления путем определения распределения спектральной плотности мощности (PSD) в наборе коэффициентов преобразования на основе набора кодированных масштабных коэффициентов. Эти кодированные масштабные коэффициенты, как правило, вставлены в первый битовый поток и поэтому известны соответствующему декодеру (или преобразователю кода). Поэтому распределение PSD можно также определить и в соответствующем декодере (или преобразователе кода). Более того, модуль распределения битов и квантования может быть выполнен с возможностью определения маскирующей кривой на основе набора кодированных масштабных коэффициентов. Поэтому маскирующая кривая, как правило, также может быть получена в соответствующем декодере (или преобразователе кода). Маскирующая кривая может служить признаком маскирования между соседними спектральными составляющими (т.е. спектральными составляющими на смежных частотах) или коэффициентами преобразования звукового сигнала. В дополнение, модуль распределения битов и квантования может быть выполнен с возможностью определения смещенной маскирующей кривой путем смещения маскирующей кривой с использованием промежуточного первого параметра управления. В частности, промежуточный первый параметр управления можно использовать для передвижения маскирующей кривой вверх/вниз, посредством чего получается большее/меньшее количество спектральных составляющих, являющихся замаскированными, т.е. получается меньшее/большее количество спектральных составляющих, которые необходимо квантовать. Модуль распределения битов и квантования также может быть выполнен с возможностью определения числа битов, требуемых для квантования масштабированных значений из набора масштабированных значений на основе сравнения распределения PSD и смещенной маскирующей кривой. Промежуточный первый параметр управления можно (итеративным образом) скорректировать так, чтобы уменьшать (то есть минимизировать) разность между количеством требуемых битов и общим числом доступных битов, посредством чего первый параметр управления получается как промежуточный первый параметр управления, уменьшающий (например, минимизирующий) эту разность. Как правило, разность должна быть такой, чтобы число требуемых битов не превышало общее число доступных битов.
В результате вышеупомянутого процесса распределения битов получается первый параметр управления, определяющий квантователь для квантования первого набора масштабированных значений. Модуль распределения битов и квантования может быть выполнен с возможностью квантования этого набора масштабированных значений в соответствии с первым параметром управления для получения набора квантованных масштабированных значений.
Кодер может также содержать модуль моделирования преобразования кода, выполненный с возможностью получения второго параметра управления, обеспечивающего преобразователь кода возможностью конверсии первого битового потока во второй битовый поток со второй целевой скоростью передачи данных. Второй битовый поток, как правило, соответствует второй системе аудиокодека, отличающейся от первой системы аудиокодека. Для примера, вторая система кодека может соответствовать системе кодека Dolby Digital, а второй параметр управления может соответствовать значению смещения SNR из Dolby Digital или может содержать это значение. Вторая целевая скорость передачи данных может, например, составлять 640 кбит/c (особенно в случае многоканального звукового сигнала 5.1). Вторая целевая скорость передачи данных может быть больше или равна первой целевой скорости передачи данных. Следует отметить, что возможны и другие вторые целевые скорости передачи данных, особенно для многоканальных звуковых сигналов других типов.
Модуль моделирования преобразования кода может быть выполнен с возможностью получения второго параметра управления исходя из первого параметра управления. В частности, модуль моделирования преобразования кода может быть выполнен с возможностью получения второго параметра управления исходя только из первого параметра управления. В одном из вариантов осуществления изобретения модуль моделирования преобразования кода выполнен с возможностью получения второго параметра управления без выполнения процесса распределения битов в соответствии со второй системой аудиокодека. В одном из частных вариантов осуществления изобретения модуль моделирования преобразования кода может быть выполнен с возможностью присвоения второму параметру управления значения, равного значению первого параметра управления. Таким образом, кодер может быть выполнен с возможностью определения второго параметра управления с уменьшенной вычислительной сложностью. Первый параметр управления может содержать грубую составляющую и точную составляющую, например, в случае системы аудиокодека DD/DD+, параметр csnroffset и fsnroffset. Модуль моделирования преобразования кода может быть выполнен с возможностью объединения грубой и точной составляющих для получения второго параметра управления (например, параметра convsnroffset).
В дополнение, кодер может содержать модуль упаковки битового потока, выполненный с возможностью генерирования первого битового потока, содержащего набор квантованных масштабированных значений, набор кодированных масштабных коэффициентов, первый управляющий параметр и/или второй управляющий параметр. Первый битовый поток может быть доставлен в соответствующий декодер. В качестве альтернативы или в дополнение, первый битовый поток может быть доставлен в преобразователь кода, выполненный с возможностью конверсии первого битового потока во второй битовый поток. Модуль упаковки битового потока может быть выполнен с возможностью вставки в первый битовый поток одного или нескольких битов пропуска (которые также можно именовать битами, расходуемыми впустую, или неиспользуемыми битами или битами заполнения) так, чтобы первый битовый поток соответствовал первой целевой скорости передачи данных.
Первый битовый поток может соответствовать первому формату, а второй битовый поток может соответствовать второму формату. Модуль моделирования преобразования кода может быть выполнен с возможностью определения числа избыточных битов, требуемых вторым форматом для представления набора квантованных масштабированных значений и набора кодированных масштабных коэффициентов. Иными словами, модуль моделирования преобразования кода может быть выполнен с возможностью определения числа избыточных битов как числа дополнительных битов, требуемых для представления звукового сигнала в соответствии со вторым форматом кодирования в сравнении с представлением в соответствии с первым форматом. Число избыточных битов можно определять отдельно для кадра звукового сигнала, или число избыточных битов может представлять собой предварительно определенное значение, например значение в наихудшем случае. Модуль распределения битов и квантования в декодере может быть выполнен с возможностью определения общего числа доступных битов также и на основе числа избыточных битов. В частности, модуль распределения битов и квантования может быть выполнен с возможностью сокращения общего числа доступных битов на число избыточных битов. Поступая таким образом, можно быть уверенным в том, что второй битовый поток не превысит вторую целевую скорость передачи данных (особенно в случае, когда первая скорость передачи данных соответствует второй целевой скорости передачи данных или равна ей).
Модуль моделирования преобразования кода может быть выполнен с возможностью определения выбираемого по умолчанию значения второго параметра управления на основе первого параметра управления, например выбираемого по умолчанию значения второго параметра управления, соответствующего первому параметру управления или равного ему. Кроме того, модуль моделирования преобразования кода может быть выполнен с возможностью определения того, превышает ли вторую целевую скорость передачи данных выбираемый по умолчанию второй битовый поток с кодом, преобразованным на основе выбираемого по умолчанию значения второго параметра управления. Иными словами, модуль моделирования преобразования кода может быть выполнен с возможностью моделирования преобразователя кода, конвертирующего первый битовый поток во второй битовый поток с использованием выбираемого по умолчанию второго параметра управления. С этой целью, модуль моделирования преобразования кода может быть выполнен с возможностью деквантования набора квантованных масштабированных значений с использованием первого параметра управления для получения набора деквантованных масштабированных значений и для повторного квантования этого набора деквантованных масштабированных значений с использованием выбираемого по умолчанию второго параметра управления для получения набора повторно квантованных масштабированных значений.
Если выбираемый по умолчанию второй битовый поток не превышает вторую целевую скорость передачи данных, то модуль моделирования преобразования кода может быть выполнен с возможностью определения второго параметра управления на основе выбираемого по умолчанию второго параметра управления. Для примера, второй параметр управления может быть приравнен выбираемому по умолчанию второму параметру управления. Таким образом, можно обеспечить то, что второй битовый поток не превысит вторую целевую скорость передачи данных без необходимости в выполнении явно заданного и/или итеративного процесса распределения битов в соответствии со второй системой аудиокодека.
C другой стороны, если определено, что выбираемый по умолчанию второй битовый поток превышает вторую целевую скорость передачи данных, модуль моделирования преобразования кода может быть выполнен с возможностью выполнения распределения битов и квантования в соответствии со второй системой аудиокодека для определения второго параметра управления так, чтобы второй битовый поток, подвергнутый преобразованию кода на основе второго параметра управления, не превышал вторую целевую скорость передачи данных. Иными словами, выполнение процесса распределения битов и квантования в соответствии со второй системой аудиокодека может быть необходимо, только если было определено, что выбираемый по умолчанию второй битовый поток превышает вторую целевую скорость передачи данных.
Процесс распределения битов и квантования в соответствии со второй системой аудиокодека может включать определение второго общего числа доступных битов для квантования набора деквантованных масштабированных значений на основе второй целевой скорости передачи данных и на основе числа битов, использованных для повторного кодирования набора кодированных масштабных коэффициентов в соответствии со второй системой аудиокодека. Кроме того, процесс распределения битов и квантования может включать определение второго параметра управления, служащего признаком распределения второго общего числа доступных битов, для квантования масштабированных значений из набора деквантованных масштабированных значений.
Определение второго параметра управления можно выполнять в сочетании с итеративным процессом распределения битов. Этот итеративный процесс распределения битов может включать определение распределения спектральной плотности мощности (PSD) на основе набора кодированных масштабных коэффициентов (например, на основе набора кодированных масштабных коэффициентов, закодированных в соответствии со второй системой аудиокодека). Кроме того, итеративный процесс распределения битов может включать определение на основе набора кодированных масштабных коэффициентов маскирующей кривой. Смещенную маскирующую кривую можно определить путем смещения маскирующей кривой с использованием промежуточного второго параметра управления. Кроме того, число битов, требуемых для квантования деквантованных масштабированных значений из набора деквантованных масштабированных значений, можно определить на основе сравнения распределения PSD и смещенной маскирующей кривой. Промежуточный второй параметр управления можно скорректировать в итеративном процессе так, чтобы уменьшить (например, минимизировать) разность между числом требуемых битов и вторым общим числом доступных битов, посредством чего получается второй параметр управления. Иными словами, модуль моделирования преобразования кода может быть выполнен с возможностью выполнения итеративного процесса распределения битов в соответствии со второй системой аудиокодека, сходного с процессом распределения битов (например, равного ему) в соответствии с первой системой аудиокодека.
Модуль моделирования преобразования кода может быть выполнен с возможностью инициализации промежуточного второго параметра управления вместе с первым параметром управления, посредством чего потенциально уменьшается число итераций, требуемых для определения второго параметра управления, удовлетворяющего требованиям в отношении второй целевой скорости передачи данных и/или в отношении шума квантования. В качестве альтернативы или в дополнение, модуль моделирования преобразования кода может быть выполнен с возможностью остановки итеративной процедуры, если шум квантования, определяемый на основе сравнения распределения PSD и смещенной маскирующей кривой, падает ниже предварительно определенного порогового значения шума, посредством чего потенциально уменьшается число требуемых итераций.
В качестве альтернативы или в дополнение, если было определено, что выбираемый по умолчанию второй битовый поток превышает вторую целевую скорость передачи данных, модуль моделирования преобразования кода может быть выполнен с возможностью определения второго параметра управления путем смещения выбираемого по умолчанию второго параметра управления на предварительно определенное значение смещения параметра управления. Предварительно определенное значение смещения параметра управления можно определить, например, на основе процесса распределения битов и квантования, выполняемого в соответствии с первой системой аудиокодека. Этот процесс распределения битов и квантования, выполняемый модулем распределения битов и квантования, может предусматривать указатель того, насколько следует сместить второй параметр управления так, чтобы второй битовый поток удовлетворял второй целевой скорости передачи данных (например, не превышал вторую целевую скорость передачи данных).
Согласно одной из дальнейших особенностей описывается преобразователь аудиокода (также именуемый аудиоконвертором), выполненный с возможностью приема первого битового потока с первой скоростью передачи данных (например, с первой целевой скоростью передачи данных). Как описывалось выше, первый битовый поток может служить признаком кадра звукового сигнала, закодированного в соответствии с первой системой аудиокодека. Этот первый битовый поток может содержать набор квантованных масштабированных значений, набор кодированных масштабных коэффициентов, первый параметр управления и второй параметр управления. Наборы квантованных масштабированных значений и кодированных масштабных коэффициентов могут служить признаком спектральных составляющих кадра звукового сигнала, а первый параметр управления может служить признаком разрешающей способности квантователя, использованного для квантования указанного набора квантованных масштабированных значений. Второй параметр управления может служить признаком квантователя, подлежащего использованию преобразователем кода для повторного квантования набора квантованных масштабированных значений во второй битовый поток со второй целевой скоростью передачи данных, при этом второй битовый поток соответствует второй системе аудиокодека, отличающейся от первой системы аудиокодека.
Преобразователь кода может быть выполнен с возможностью определения того, является ли первая скорость передачи данных равной второй целевой скорости передачи данных, или для определения того, соответствует ли первый параметр управления второму параметру управления. Если первая скорость передачи данных равна второй целевой скорости передачи данных и если первый параметр управления соответствует второму параметру управления, то преобразователь кода может быть выполнен с возможностью определения второго битового потока путем копирования набора квантованных масштабированных значений, набора кодированных масштабных коэффициентов и второго параметра управления во второй битовый поток. Таким образом, преобразователь кода может быть выполнен с возможностью генерирования второго битового потока без необходимости в деквантовании набора квантованных масштабированных значений (с использованием первого параметра управления) и без необходимости в повторном квантовании деквантованных масштабированных значений (с использованием второго параметра управления). Следовательно, вычислительную сложность преобразователя кода можно уменьшить.
Если первая скорость передачи данных меньше второй целевой скорости передачи данных и если первый параметр управления соответствует второму параметру управления, то преобразователь кода может быть выполнен с возможностью определения того, содержит ли первый битовый поток связанный канал и/или полный канал (например, в случае многоканальных звуковых сигналов). Преобразователь кода может быть выполнен с возможностью копирования во второй битовый поток квантованных масштабированных значений из набора квантованных масштабированных значений и кодированных масштабных коэффициентов из набора кодированных масштабных коэффициентов, относящихся к полному каналу. Таким образом, для полных каналов преобразователь кода не нуждается в деквантовании набора квантованных масштабированных значений (относящихся к указанному полному каналу) и в повторном квантовании деквантованных масштабированных значений (относящихся к указанному полному каналу), посредством чего уменьшается вычислительная сложность преобразователя кода.
Кроме того, преобразователь аудиокода может быть выполнен с возможностью разделения квантованных масштабированных значений из набора квантованных масштабированных значений и кодированных масштабных коэффициентов из набора кодированных масштабных коэффициентов, относящихся к связанному каналу, посредством чего получается первый набор квантованных масштабированных значений и первый набор кодированных масштабных коэффициентов. Кроме того, преобразователь кода может быть выполнен с возможностью деквантования первого набора квантованных масштабированных значений с использованием первого параметра управления для получения первого набора деквантованных масштабированных значений, для повторного квантования указанного первого набора деквантованных масштабированных значений с использованием второго параметра управления, посредством чего получается первый набор повторно квантованных масштабированных значений. Первый набор повторно квантованных масштабированных значений может быть вставлен во второй битовый поток. Таким образом, декодеру второй системы аудиокодека доставляется второй битовый поток, не содержащий связанные каналы, т.е. содержащий только полные каналы.
Согласно другой особенности описывается способ кодирования (и соответствующий кодер) звукового сигнала в первый битовый поток в соответствии с первой системой аудиокодека. Это способ включает определение набора масштабных коэффициентов и набора масштабированных значений на основе спектральных составляющих (например, на основе коэффициентов преобразования) звукового сигнала. Указанный способ продолжается определением первого параметра управления, служащего признаком разрешающей способности квантователя для квантования набора масштабированных значений с использованием итеративного процесса распределения битов в соответствии с первой системой аудиокодека. Разрешающая способность квантователя может зависеть от первой целевой скорости передачи данных первого битового потока. В дополнение, способ может включать определение второго параметра управления для обеспечения возможности конверсии первого битового потока во второй битовый поток со второй целевой скоростью передачи данных. Как описывалось выше, второй битовый поток может соответствовать второй системе аудиокодека, отличающейся от первой системы аудиокодека. Этап определения второго параметра управления может включать определение второго параметра управления на основе первого параметра управления, например, без выполнения итеративного процесса распределения битов в соответствии со второй системой аудиокодека. Как описывалось выше, определение второго параметра управления на основе первого параметра управления может быть подчинено одному или нескольким условиям (например, в отношении удовлетворения вторым битовым потоком второй целевой скорости передачи данных). Первый битовый поток может служить признаком первого и второго параметров управления.
Согласно одной из дальнейших особенностей описывается способ преобразования кода (и соответствующий преобразователь кода) первого битового потока, служащего признаком звукового сигнала в соответствии с первой системой аудиокодека, во второй битовый поток в соответствии со второй системой аудиокодека, отличающейся от первой системы аудиокодека. Указанный способ включает прием первого битового потока с первой скоростью передачи данных. Этот первый битовый поток может содержать набор квантованных масштабированных значений, набор кодированных масштабных коэффициентов, первый управляющий параметр и второй управляющий параметр. Набор квантованных масштабированных значений и набор кодированных масштабных коэффициентов могут служить признаками спектральных составляющих звукового сигнала, а первый параметр управления может служить признаком квантователя, использованного для квантования набора квантованных масштабированных значений. Второй параметр управления может служить признаком квантователя, подлежащего использованию преобразователем кода для повторного квантования набора квантованных масштабированных значений во второй битовый поток со второй целевой скоростью передачи данных. Этот способ может также может включать определение того, равна ли первая скорость передачи данных второй целевой скорости передачи данных, и определение того, соответствует ли первый параметр управления второму параметру управления. Если первая скорость передачи данных равна второй целевой скорости передачи данных и если первый параметр управления соответствует (например, равен по значению) второму параметру управления, то способ может продолжаться определением второго битового потока путем копирования набора квантованных масштабированных значений, набора кодированных масштабных коэффициентов и второго параметра управления во второй битовый поток.
Согласно другой особенности описывается аудиокодер (и соответствующий способ), выполненный с возможностью кодирования звукового сигнала в соответствии с системой кодека Dolby Digital Plus, посредством чего получается первый битовый поток с первой целевой скоростью передачи данных. Этот аудиокодер может быть выполнен с возможностью определения параметра snroffset для первой целевой скорости передачи данных в соответствии с системой кодека Dolby Digital Plus. Кроме того, этот кодер может быть выполнен с возможностью получения параметра convsnroffset исходя из параметра snroffset для обеспечения преобразователя кода возможностью конверсии первого битового потока во второй битовый поток со второй целевой скоростью передачи данных. Второй битовый поток может соответствовать системе кодека Dolby Digital, и первый битовый поток может содержать параметр snroffset и параметр convsnroffset.
Согласно одной из дальнейших особенностей описывается способ, обеспечивающий возможность конверсии первого битового потока, соответствующего первому формату, во второй битовый поток, соответствующий второму формату. Кроме того, описывается соответствующее устройство (в особенности, соответствующий аудиокодер), выполненное с возможностью выполнения указанного способа обеспечения возможности конверсии. Фактическая конверсия первого битового потока во второй битовый поток может выполняться другой сущностью (например, преобразователем кода).
Первый и второй форматы могут соответствовать форматам первой и второй систем аудиокодеков, описываемых в настоящем документе. Первый и второй битовые потоки, как правило, относятся к, по меньшей мере, одному и тому же кадру кодированного звукового сигнала. Иными словами, первый и второй битовые потоки, как правило, описывают соответствующий один или несколько кадров звукового сигнала. Первый битовый поток содержит первый параметр управления, служащий признаком первого процесса распределения битов, относящегося к первому битовому потоку. Первый процесс распределения битов можно выполнить в соответствии с первой системой аудиокодека. Как описывается в настоящем документе, первый параметр управления может содержать грубую составляющую и точную составляющую.
Второй битовый поток может содержать второй параметр управления, служащий признаком второго процесса распределения битов, относящегося ко второму битовому потоку. Этот второй процесс распределения битов можно выполнять в соответствии со второй системой аудиокодека. Кроме того, указанный второй битовый поток можно генерировать исходя из первого битового потока с использованием второго параметра управления. В частности, второй параметр управления может быть использован преобразователем кода (который может быть удален от кодера) для преобразования первого битового потока во второй битовый поток.
Указанный способ может включать определение второго параметра управления сугубо на основе первого параметра управления. В частности, второй параметр управления можно определить сугубо на основе объединения грубой и точной составляющих первого параметра управления. Кроме того, этот способ включает вставку второго параметра управления в первый битовый поток. Таким образом, первый битовый поток (содержащий первый и второй параметры управления) можно передавать в преобразователь кода, посредством чего обеспечивается возможность определения второго битового потока исходя из первого битового потока с уменьшенной вычислительной сложностью (и без необходимости в передаче второго битового потока).
Согласно одной из дальнейших особенностей описывается преобразователь аудиокода (и соответствующий способ преобразования кода). Преобразователь аудиокода выполнен с возможностью приема первого битового потока с первой скоростью передачи данных. Указанный первый битовый поток может служить признаком звукового сигнала, закодированного в соответствии с системой кодека Dolby Digital Plus. Этот первый битовый поток может содержать набор квантованных масштабированных значений, параметр snroffset и параметр convsnroffset. Параметр convsnroffset может служить признаком квантователя, подлежащего использованию преобразователем кода для генерирования второго битового потока со второй целевой скоростью передачи данных, при этом указанный второй битовый поток соответствует системе аудиокодека Dolby Digital. Указанный преобразователь кода может быть выполнен с возможностью определения того, равна ли первая скорость передачи данных второй целевой скорости передачи данных, и определения того, соответствует ли параметр snroffset параметру convsnroffset. Если первая скорость передачи данных равна второй целевой скорости передачи данных и если параметр snroffset соответствует параметру convsnroffset, то преобразователь кода может быть выполнен с возможностью определения второго битового потока путем копирования набора квантованных масштабированных значений и параметра convsnroffset во второй битовый поток.
Согласно одной из дальнейших особенностей описывается программа, реализованная программно. Эта программа, реализованная программно, может быть приспособлена для исполнения на процессоре и для выполнения этапов способов, описываемых в настоящем документе, при осуществлении на процессоре.
Согласно другой особенности описывается носитель данных. Этот носитель данных может содержать программу, реализованную программно, приспособленную для исполнения на процессоре и для выполнения этапов способов, описываемых в настоящем документе, при осуществлении на процессоре.
Согласно одной из дальнейших особенностей описывается компьютерный программный продукт. Этот компьютерный программный продукт может содержать исполняемые команды для выполнения этапов способов, описываемых в настоящем документе, при исполнении на компьютере.
Следует отметить, что способы и системы, в том числе предпочтительные варианты их осуществления, описываемые в настоящей патентной заявке, могут использоваться автономно или в сочетании с другими способами и системами, описываемыми в этом документе. Кроме того, все особенности способов и систем, описываемых в настоящей патентной заявке, могут произвольно объединяться. В частности, могут произвольным образом объединяться друг с другом характерные признаки формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Ниже изобретение разъясняется иллюстративным образом со ссылкой на чертежи, при этом
Фиг. 1a показывает высокоуровневую блок-схему одного из примеров многоканального аудиокодера;
Фиг. 1b показывает один из примеров последовательности кодированных кадров;
Фиг. 2a показывает высокоуровневую блок-схему иллюстративных многоканальных аудиодекодеров;
Фиг. 2b показывает один из примеров схемы расположения громкоговорителей для многоканального звукового сигнала 7.1;
Фиг. 3 иллюстрирует блок-схему иллюстративных компонентов многоканального аудиокодера;
Фиг. 4a—4e иллюстрируют частные особенности одного из иллюстративных многоканальных аудиодекодеров;
Фиг. 5 иллюстрирует число фиксированных битов, используемых для формата битового потока DD+ и для формата битового потока DD для нескольких иллюстративных кадров;
Фиг. 6 иллюстрирует примеры экспериментальных результатов испытаний на прослушивание.
ПОДРОБНОЕ ОПИСАНИЕ
Желательно предусмотреть системы многоканальных аудиокодеков, генерирующие битовые потоки, совместимые сверху вниз в отношении числа каналов, декодируемых конкретным многоканальным аудиодекодером. В частности, желательно кодировать многоканальный звуковой сигнал M.1 так, чтобы его можно было декодировать многоканальным аудиодекодером N.1, где N<M. Для примера, требуется кодировать звуковой сигнал 7.1 так, чтобы его можно было декодировать аудиодекодером 5.1. Для того чтобы обеспечить возможность совместимости сверху вниз, системы многоканальных аудиокодеков, как правило, кодируют многоканальный звуковой сигнал М.1 в независимый (под)поток («IS»), содержащий уменьшенное число каналов (например, N.1 каналов) и в один или несколько зависимых (под)потоков («DS»), содержащих каналы замещения и/или расширения для декодирования и представления полного звукового сигнала М.1.
Кроме того, желательно предусмотреть битовый поток, позволяющий предыдущей версии аудиодекодера декодировать битовый поток, генерируемый обновленной версией аудиокодера. Иными словами, желательно обеспечить возможной совместимость сверху вниз в отношении декодирования битового потока (даже если битовые потоки представляют одинаковое число каналов N.1). Этого можно добиться, используя так называемый преобразователь кода, или конвертор, конвертирующий битовый поток, закодированный с использованием обновленной версии аудиокодера, в битовый поток, который можно декодировать аудиодекодером предыдущей версии. Такой преобразователь кода, например, предусмотрен в телевизионной приставке, выполненной с возможностью приема битового потока (закодированного с использованием обновленной версии аудиокодера) и выполненной с возможностью создания модифицированного битового потока, который можно декодировать аудиодекодером предыдущей версии. Для примера, преобразователь кода может быть выполнен с возможностью приема битового потока Dolby Digital Plus (DD+) и преобразования кода этого принятого битового потока в битовый поток Dolby Digital (DD), который можно декодировать аудиодекодером Dolby Digital. Таким образом, можно сберечь парк установленных аудиодекодеров (например, аудиодекодеров Dolby Digital в телевизионных приемниках), в то же время не препятствуя развитию усовершенствованных систем кодирования/декодирования звука (таких как система кодека Dolby Digital Plus).
В этом контексте, желательно уменьшить вычислительную сложность, связанную с кодированием битового потока и/или связанную с преобразованием кода битового потока. В настоящем документе описаны способы и системы, позволяющие с уменьшенной вычислительной сложностью генерировать битовый поток. Способы и системы описаны на основе системы кодека Dolby Digital Plus (DD+) (также именуемой улучшенным AC-3). Система кодека DD+ определена техническими условиями Комитета по усовершенствованным телевизионным системам (Advanced Television Systems Committee, ATSC) «Digital Audio Compression Standard (AC-3, E-AC-3)», документ A/52:2010, датированный 22 ноября 2010 г., содержание которого включается ссылкой. Следует отметить, однако, что способы и системы, описываемые в настоящем документе, обладают общей применимостью и могут быть применены к другим системам аудиокодеков, кодирующих звуковые сигналы и доставляющих битовый поток в преобразователь кода так, чтобы этот битовый поток допускал преобразование кода этого битового потока с уменьшенной сложностью.
Часто используемыми многоканальными конфигурациями (и многоканальными звуковыми сигналами) являются конфигурация 7.1 и конфигурация 5.1. Многоканальная конфигурация 5.1, как правило, содержит каналы L (левый передний), С (центральный передний), R (правый передний), Ls (левый окружающий), Rs (правый окружающий) и LFE (канал низкочастотных эффектов). Многоканальная конфигурация 7.1 также содержит каналы Lb (левый задний окружающий) и Rb (правый задний окружающий). Один из примеров многоканальной конфигурации проиллюстрирован на Фиг. 2b. Для передачи 7.1 каналов в DD+ используют два битовых потока. Первый битовый поток (именуемый независимым битовым потоком, «IS») содержит комбинацию 5.1 каналов, а второй битовый поток (именуемый зависимым битовым потоком, «DS») содержит каналы расширения и каналы замещения. Например, для того чтобы закодировать и передать многоканальный звуковой сигнал 7.1 с окружающими задними каналами Lb и Rb, независимый подпоток переносит каналы L (левый передний), С (центральный передний), R (правый передний), Lst (левый окружающий низведенный), Rst (правый окружающий низведенный) и LFE (канал низкочастотных эффектов), а зависимый подпоток переносит каналы расширения Lb (левый задний окружающий), Rb (правый задний окружающий) и каналы замещения Ls (левый окружающий), Rs (правый окружающий). Когда выполняют декодирование полного сигнала 7.1, каналы Ls и Rs из зависимого подпотока замещают каналы Lst и Rst из независимого подпотока.
Фиг. 1а показывает высокоуровневую блок-схему одного из примеров многоканального аудиокодера 100 DD+ 7.1, иллюстрирующую взаимосвязь между каналами 5.1 и 7.1. Семь (7) плюс один (1) звуковых каналов 101 (L, C, R, Ls, Lb, Rs и Rb плюс LFE) многоканального звукового сигнала разбивают на две группы звуковых каналов. Основная группа 121 каналов содержит звуковые каналы L, C, R и LFE, а также низведенные окружающие каналы Lst 102 и Rst 103, как правило, получаемые из окружающих каналов 7.1 Ls, Rs и задних каналов 7.1 Lb, Rb. Для примера, низведенные окружающие каналы 102, 103 получают путем сложения некоторых или всех каналов Lb и Rb и окружающих каналов 7.1 Ls, Rs в модуле 109 понижающего микширования. Следует отметить, что низведенные окружающие каналы Lst 102 и Rst 103 можно определять и другими способами. Для примера, низведенные окружающие каналы Lst 102 и Rst 103 можно определить, напрямую исходя из двух из 7.1 каналов, например из окружающих каналов 7.1 Ls, Rs.
Основную группу 121 каналов кодируют в аудиокодере 105 DD+ 5.1, посредством чего получают независимый подпоток («IS») 110, передаваемый в основном кадре 151 DD+ (см. Фиг. 1b). Этот основной кадр 151 также именуют кадром IS. Вторая группа 122 звуковых каналов содержит окружающие каналы 7.1 Ls, Rs и окружающие задние каналы 7.1 Ls, Rs. Вторую группу 122 каналов кодируют в аудиокодере 106 DD+ 4.0, посредством чего получают зависимый подпоток («DS») 120, передаваемый в одном или нескольких кадрах 152, 153 расширения (см. Фиг. 1b). Вторая группа 122 каналов в данном описании именуется группой 122 расширения каналов, а кадры 152, 153 расширения именуются кадрами 152, 153 DS.
Фиг. 1b иллюстрирует один из примеров последовательности 150 кодированных аудиокадров 151, 152, 153, 161, 162. Иллюстрируемый пример содержит два независимых подпотока IS0 и IS1, содержащих соответственно кадры 151 и 161 IS. Для доставки нескольких связанных звуковых сигналов (например, для разных языков кинофильма или для разных программ) можно использовать несколько IS (и соответствующих DS). Каждый из независимых подпотоков содержит один или несколько зависимых подпотоков DS0, DS1 соответственно. Каждый из независимых подпотоков содержит соответствующие кадры 152, 153 и 162 DS. Кроме того, Фиг. 1b указывает временную длительность 170 полного аудиокадра многоканального звукового сигнала. Временная длительность 170 аудиокадра может составлять 32 мс (например, при частоте дискретизации fs=48 кГц). Иными словами, Фиг. 1b указывает протяженность во времени 170 аудиокадра, кодированного в одном или нескольких кадрах 151, 161 IS и соответствующих кадрах 152, 153, 162 DS.
Кодер 100 может быть выполнен с возможностью включения в подпотоки данных, обеспечивающих возможность эффективного преобразования кода подпотоков в другой формат кодирования. Для примера, подпотоки могут содержать данные, позволяющие преобразовывать код независимого подпотока IS0 DD+ в битовый поток DD. В более общих выражениях, кодер 100 выполнен с возможностью генерирования первого битового потока, являющегося совместимым с первым аудиокодеком (например, DD+). Первый битовый поток может содержать данные, позволяющие преобразователю кода с уменьшенной сложностью генерировать второй битовый поток, являющийся совместимым со вторым аудиокодеком (например, DD). С этой целью, кодер 100 может быть выполнен с возможностью кодирования некоторых или всех звуковых каналов 101 в соответствии со вторым аудиокодеком (например, DD) и определять один или несколько параметров управления, позволяющих преобразователю кода эффективным образом генерировать второй битовый поток из первого битового потока. Следует отметить, что ввиду эффективности использования полосы частот первый битовый поток должен включать только аудиоданные, кодированные в соответствии с первым аудиокодеком, но не аудиоданные, кодированные в соответствии со вторым аудиокодеком. Иными словами, указанные один или несколько параметров управления должны относиться только к преобразованию кода аудиоданных.
Фиг. 2а иллюстрирует высокоуровневые блок-схемы систем 200, 210 многоканальных декодеров. В частности, Фиг. 2а показывает один из примеров системы 200 многоканального декодера 5.1, принимающей кодированный IS 201, содержащий кодированную основную группу 121 каналов. Кодированный IS 201 взят из кадров 151 IS принятого битового потока (например, с использованием демультиплексора, который не показан). Кадры 151 IS содержат кодированную основную группу 121 каналов, и их декодируют с использованием многоканального декодера 205 5.1, посредством чего получают декодированный многоканальный звуковой сигнал 5.1, содержащий декодированную основную группу 121 каналов. Кроме того, Фиг. 2а показывает один из примеров системы 210 многоканального декодера 7.1, принимающей кодированный IS 201, содержащий кодированную основную группу 121 каналов и кодированный DS 202, содержащий кодированную группу 122 каналов расширения. Как было описано выше, кодированный IS 201 может быть взят из кадров 151 IS, а кодированный DS 202 может быть взят из кадров 152, 153 DS принятого битового потока (например, с использованием демультиплексора, который не показан). После декодирования получают декодированный многоканальный звуковой сигнал 7.1, содержащий декодированную основную группу 121 каналов и декодированную группу 222 каналов расширения. Следует отметить, что низведенные окружающие каналы Lst, Rst 211 можно отбросить, так как многоканальный декодер 215 7.1 использует вместо них декодированную группу 222 каналов расширения. Типичные положения 232 представления многоканального звукового сигнала 7.1 показаны в многоканальной конфигурации 230 по Фиг. 2b, которая также иллюстрирует один из примеров расположения 231 слушателя и один из примеров расположения 233 экрана для представления видеоизображения.
В настоящее время кодирование 7.1-канальных звуковых сигналов в DD+ выполняют посредством первого основного 5.1-канального кодера 105 DD+ и второго кодера 106 DD+. Первый кодер 105 DD+ кодирует 5.1 каналов основной группы 121 (и может поэтому именоваться 5.1-канальным кодером), а второй кодер 106 DD+ кодирует 4.0 каналов группы 122 расширения (и может поэтому именоваться 4.0-канальным кодером). Кодеры 105, 106 для основной группы 121 и группы 122 каналов расширения, как правило, не обладают сведениями друг о друге. Каждый из этих двух кодеров 105, 106 предусматривает скорость передачи данных, соответствующую некоторой фиксированной части общей доступной скорости передачи данных. Иными словами, кодер 105 для IS и кодер 106 для DS обеспечены фиксированной долей общей доступной скорости передачи данных (например, Z% от общей доступной скорости передачи данных для кодера 105 IS (именуемой «скоростью передачи данных IS»), и 100–Z% от общей доступной скорости передачи данных для кодера 106 DS (именуемой «скоростью передачи данных DS»), например, Z=50). Используя соответствующим образом распределенные скорости передачи данных (т.е. скорость передачи данных IS и скорость передачи данных DS), кодер 105 IS и кодер 106 DS выполняют независимое кодирование соответственно основной группы 121 каналов и группы 122 каналов расширения.
Ниже дальнейшие подробности относительно компонентов кодера 105 IS и кодера 106 DS описываются в контексте Фиг. 3, показывающей блок-схему одного из примеров многоканального кодера 300 DD+. Кодер 105 IS и/или кодер 106 DS могут быть реализованы многоканальным кодером 300 DD+ по Фиг. 3. Вслед за описанием компонентов кодера 300 описывается то, каким образом многоканальный кодер 300 можно приспособить к эффективному преобразованию кода из первого битового потока (кодированного с использованием первой системы аудиокодека) во второй битовый поток (кодированный с использованием второй системы аудиокодека).
Многоканальный кодер 300 принимает потоки 311 дискретных значений РСМ, соответствующих разным каналам многоканального входного сигнала (например, входного сигнала 5.1). Потоки 311 дискретных значений РСМ могут быть организованы в кадры дискретных значений РСМ. Каждый из этих кадров может содержать предварительно определенное число дискретных значений РСМ (например, 1536 дискретных значений) отдельного канала многоканального звукового сигнала. Таким образом, для каждого отрезка времени многоканального звукового сигнала и для каждого из разных каналов многоканального звукового сигнала предусмотрен отличающийся кадр. Многоканальный аудиокодер 300 ниже описывается для отдельного канала многоканального звукового сигнала. Однако следует учесть, что результирующий кадр 318 АС-3, как правило, содержит кодированные данные всех каналов многоканального звукового сигнала.
Аудиокадр, содержащий дискретные значения 311 РСМ, может подвергаться фильтрации в модуле 301 предварительного формирования сигнала. Затем (фильтрованные) дискретные значения 311 могут быть преобразованы из временной области в частотную область в модуле 302 преобразования времени в частоту. С этой целью, аудиокадр можно подразделить на несколько блоков дискретных значений. Эти блоки могут иметь предварительно определенную длину L (например, 256 дискретных значений на блок). Кроме того, смежные блоки могут обладать некоторой степенью перекрывания (например, перекрыванием на 50%) дискретных значений из аудиокадра. Число блоков, приходящихся на аудиокадр, может зависеть от свойств аудиокадра (например, от присутствия переходного состояния). Как правило, модуль 302 преобразования времени в частоту применяет к каждому блоку дискретных значений, полученных из аудиокадра, преобразование времени в частоту (например, преобразование MDCT (модифицированное дискретное косинусное преобразование)). Таким образом, для каждого блока дискретных значений на выводе модуля 302 преобразования времени в частоту получают блок коэффициентов 312 преобразования.
Каждый канал многоканального входного сигнала может быть обработан параллельно, посредством чего создаются отдельные последовательности блоков коэффициентов 312 преобразования для разных каналов многоканального входного сигнала. Ввиду корреляций между некоторыми каналами многоканального входного сигнала (например, корреляций между окружающими сигналами Ls и Rs) в модуле 303 совместной обработки каналов может быть выполнена совместная обработка каналов. В одном из иллюстративных вариантов осуществления изобретения модуль 303 совместной обработки каналов выполняет связывание каналов, посредством чего группа связанных каналов конвертируется в единый составной канал плюс дополнительная информация, которую соответствующая система 200, 210 декодера может использовать для воссоздания отдельных каналов из единого составного канала. Например, могут быть связаны каналы Ls и Rs звукового сигнала 5.1, или могут быть связаны каналы L, C, R, Ls и Rs. Если в модуле 303 используется связывание, в дальнейшие модули обработки данных, показанные на Фиг. 3, представляется только этот единый составной канал. Иначе, указанные отдельные каналы (т.е. отдельные последовательности блоков коэффициентов 312 преобразования) пропускаются в дальнейшие модули обработки данных кодера 300.
Ниже дальнейшие модули обработки данных кодера описаны для иллюстративной последовательности блоков коэффициентов 312 преобразования. Это описание применимо к каждому из каналов, подлежащих кодированию (например, к отдельным каналам многоканального входного сигнала или к одному или нескольким составным каналам, являющимся результатом связывания каналов).
Модуль 304 кодирования блоков с плавающей запятой выполнен с возможностью конверсии коэффициентов 312 преобразования канала (применимого ко всем каналам, в том числе к каналам с полной полосой пропускания (например, к каналам L, C и R) и к связанному каналу) в формат экспонента/мантисса. Путем конверсии коэффициентов 312 преобразования в формат экспонента/мантисса шум квантования, являющийся результатом квантования коэффициентов 312 преобразования, можно сделать независимым от абсолютного уровня входного сигнала.
Как правило, кодирование блоков с плавающей запятой, выполняемое в модуле 304, может конвертировать каждый из коэффициентов 312 преобразования в экспоненту и мантиссу. Экспоненты подлежат кодированию с наибольшей возможной эффективностью с целью уменьшения издержек скорости передачи данных, требуемых для передачи кодированных экспонент 313. В то же время, экспоненты следует кодировать с наибольшей возможной точностью во избежание потери спектрального разрешения коэффициентов 312 преобразования. Ниже кратко описывается иллюстративная схема кодирования блоков с плавающей запятой, используемая в DD+ (и DD) для достижения вышеупомянутых целей. Для дальнейших подробностей относительно схемы кодирования DD+ (и, в частности, схемы кодирования блоков с плавающей запятой, используемой DD+) делается отсылка к документу Fielder, L.D. и др., «Introduction to Dolby Digital Plus, and Enhancement to the Dolby Digital Coding System», AEC Convention, 28—31 октября 2004 г., содержание которой включается ссылкой.
На первом этапе кодирования блоков с плавающей запятой для блока коэффициентов 312 преобразования можно определить необработанные экспоненты. Это проиллюстрировано на Фиг. 4а, где блок необработанных экспонент 401 проиллюстрирован на примере блока коэффициентов 312 преобразования. Предполагается, что коэффициент 402 преобразования имеет значение Х, при этом коэффициент преобразования можно нормировать так, чтобы Х был меньше или равен 1. Это значение Х можно представить в формате мантисса/экспонента: , где m представляет собой мантиссу (m≤1) (также именуемую масштабированным значением), и е представляет собой экспоненту (также именуемую масштабным коэффициентом). В одном из вариантов осуществления изобретения, необработанная экспонента 401 может принимать значения в интервале от 0 до 24, таким образом, охватывая динамический диапазон выше 144 дБ (т.е. от 2(–0) до 2(–24)).
Для того чтобы дополнительно уменьшить число битов, требуемых для кодирования (необработанных) экспонент 401, можно применять разнообразные схемы, такие как временное разделение экспонент между блоками коэффициентов 312 преобразования полного аудиокадра (как, правило между шестью блоками, приходящимися на аудиокадр). Кроме того, экспоненты могут быть разделены между частотами (т.е. между смежными элементами разрешения по частоте в частотной области/области преобразования). Для примера, экспоненту можно разделить между двумя или четырьмя элементами разрешения по частоте. В дополнение, для обеспечения того, чтобы разность между смежными экспонентами не превышала предварительно определенное максимальное значение, например ±2, можно ограничить дискретность изменения экспонент из блока коэффициентов 312 преобразования. Это обеспечивает возможность эффективного разностного кодирования экспонент из блока коэффициентов 312 преобразования (например, с использованием пяти разностей). Вышеупомянутые схемы уменьшения скорости передачи данных, требуемой для кодирования экспонент (т.е. временное разделение, частотное разделение, ограничение дискретности изменения и разностное кодирование), можно сочетать разными способами, определяя разные режимы кодирования экспонент, в результате приводящие к разным скоростям передачи данных, используемым для кодирования указанных экспонент. Как результат вышеупомянутого кодирования экспонент, для блоков коэффициентов 312 преобразования аудиокадра (например, для шести блоков, приходящихся на аудиокадр) получают последовательность кодированных экспонент 313.
В качестве дальнейшего этапа схемы кодирования блоков с плавающей запятой, выполняемого в модуле 304, мантиссы m' исходных коэффициентов 402 преобразования нормируют на соответствующую результирующую кодированную экспоненту е'. Результирующая кодированная экспонента е' может отличаться от вышеупомянутой необработанной экспоненты е (по причине этапов временного разделения, частотного разделения и/или ограничения дискретности изменения). Для каждого коэффициента 402 преобразования по Фиг. 4а нормированную мантиссу m' можно определить как , при этом Х — значение исходного коэффициента 402 преобразования. Нормированные мантиссы m' 314 для блоков аудиокадра пропускают в модуль 306 квантования для квантования мантисс 314. Квантование мантисс 314, т.е. точность квантованных мантисс 317, зависит от скорости передачи данных, доступной для квантования мантисс. Доступную скорость передачи данных определяют в модуле 305 распределения битов.
Процесс распределения битов, выполняемый в модуле 305, определяет число битов, которые можно распределить каждой из нормированных мантисс 314 в соответствии с психоакустическими принципами. Процесс распределения битов содержит этап определения числа битов, доступных для квантования нормированных мантисс аудиокадра. Кроме того, процесс распределения битов определяет для каждого канала распределение спектральной плотности мощности (PSD) и маскирующей кривой в частотной области (на основе психоакустической модели). Распределение PSD и маскирующая кривая в частотной области используют для определения, по существу, оптимального распределения доступных битов разным нормированным мантиссам 314 аудиокадра.
Первый этап в процессе распределения битов представляет собой определение того, сколько битов мантисс доступно для кодирования нормированных мантисс 314. Целевая скорость передачи данных переводится в общее число битов, доступных для кодирования текущего аудиокадра. В частности, целевая скорость передачи данных задает число k битов/с для кодированного многоканального звукового сигнала. Принимая длительность кадра в Т секунд, общее число битов можно определить как T·k. Доступное число битов мантисс можно определить исходя из общего числа битов путем вычитания битов, которые уже были израсходованы на такое кодирование аудиокадра, как метаданные, флаги коммутации блоков (для сигнализации обнаруженных переходных состояний и выбранных длин блоков), масштабных коэффициентов связывания, экспонент и т.д. Указанные метаданные могут, например, содержать информацию, которую можно использовать для целей преобразования кода. Процесс распределения битов также может вычитать биты, которые по-прежнему может быть необходимо распределить на другие особенности, такие как параметры 315 распределения битов (см. ниже). В результате можно определить общее число доступных битов мантисс. Это общее число доступных битов мантисс можно затем распределить среди всех каналов (например, главных каналов, канала LFE и связанного канала) по всем (например, по двум, трем или шести) блокам аудиокадра.
В качестве дальнейшего этапа, можно определить распределение спектральной плотности мощности («PSD») блока коэффициентов 312 преобразования. PSD представляет собой меру энергии сигнала в каждом элементе разрешения по частоте коэффициента преобразования входного сигнала. PSD можно определить на основе кодированных экспонент 313, посредством чего обеспечивается возможность определения PSD соответствующей системой 200, 210 многоканального аудиодекодера таким же образом, как многоканальным аудиокодером 300. Фиг. 4b иллюстрирует распределение 410 PSD блока коэффициентов 312 преобразования, которое было получено исходя из кодированных экспонент 313. Распределение 410 PSD можно использовать для вычисления маскирующей кривой 431 в частотной области (см. Фиг. 4d) для блока коэффициентов 312 преобразования. Маскирующая кривая 431 в частотной области учитывает психоакустические маскирующие эффекты, представляющие собой то явление, когда маскирующая частота маскирует частоты в непосредственной близости от маскирующей частоты, посредством чего частоты в непосредственной близости от маскирующей частоты представляются неслышными, если их энергия ниже определенного порога маскирующего эффекта. Фиг. 4с показывает маскирующую частоту 421 и кривую 422 порога маскирующего эффекта для соседних частот. Фактическую кривую 422 порога маскирующего эффекта можно смоделировать (состоящим из двух отрезков) (кусочно-линейным) маскирующим шаблоном 423, используемым в кодере DD+.
Было сделано наблюдение, что форма кривой 422 порога маскирующего эффекта (и, следовательно, также и маскирующего шаблона 423) остается, по существу, неизменной для разных маскирующих частот в шкале критических полос, как определено, например, Zwicker (или в логарифмической шкале). На основе этого наблюдения кодер DD+ применяет маскирующий шаблон 423 на полосовом распределении PSD (при этом полосовое распределение PSD соответствует распределению PSD в шкале критических полос, где полосы имеют ширину, приблизительно равную половине ширины критических полос). В случае полосового распределения PSD для каждой полосы из ряда полос в шкале критических полос (или в логарифмической шкале) определяют единое значение PSD. Фиг. 4d иллюстрирует один из примеров полосового распределения 430 PSD для распределения 410 PSD в линейном пространстве по Фиг. 4b. Полосовое распределение 430 PSD можно определить исходя из распределения 410 PSD в линейном пространстве путем комбинации (например, с использованием операции логарифмического сложения) значений PSD из распределения 410 PSD в линейном пространстве, находящихся в пределах одной и той же полосы в шкале критических полос (или в логарифмической шкале). Маскирующий шаблон 423 можно применять к каждому значению на полосовом распределении 430 PSD, посредством чего получается полная маскирующая кривая 431 в частотной области для блока коэффициентов 402 преобразования в шкале критических полос (или в логарифмической шкале) (см. Фиг. 4d).
Полную маскирующую кривую 431 в частотной области по Фиг. 4d можно растянуть обратно в линейную разрешающую способность по частоте и сравнить с линейным распределением 410 PSD блока коэффициентов 402 преобразования, показанным на Фиг. 4b. Это проиллюстрировано на Фиг. 4е, показывающей маскирующую кривую 441 в частотной области на линейной разрешающей способности, а также распределение PSD на линейной разрешающей способности. Следует отметить, что маскирующая кривая 441 в частотной области также может учитывать абсолютный порог кривой чувствительности и слуха.
Число битов для кодирования мантисс коэффициентов 402 преобразования для отдельного элемента разрешения по частоте можно определить на основе распределения 410 PSD и на основе маскирующей кривой 441. В частности, значения PSD из распределения 410 PSD, подпадающие под маскирующую кривую 441, соответствуют мантиссам, не являющимся значимыми для восприятия (поскольку частотная составляющая звукового сигнала в таких элементах разрешения по частоте маскируется маскирующей частотой вблизи нее). Как следствие, мантиссы таких коэффициентов 402 преобразования вовсе не нуждаются в распределении битов. С другой стороны, значения распределения 410 PSD, находящиеся выше маскирующей кривой 441, указывают, что мантиссам коэффициентов 402 преобразования в этих элементах разрешения по частоте следует распределить биты для кодирования. Число битов, распределяемых таким мантиссам, следует увеличивать при увеличении разности между значением PSD из распределения 410 PSD и значением маскирующей кривой 441. Вышеупомянутый процесс распределения битов в результате приводит к распределению 442 битов разным коэффициентам 402 преобразования, как показано на Фиг. 4е.
Вышеупомянутый процесс распределения битов выполняют для всех каналов (например, прямых каналов, канала LFE и связанного канала) и для всех блоков аудиокадра, посредством чего получается полное (предварительное) число распределенных битов. Маловероятно, чтобы это полное предварительное число распределенных битов совпадало (например, было равно) общему числу доступных битов мантисс. В некоторых случаях (например, для сложных звуковых сигналов), полное предварительное число распределенных битов может превышать число доступных битов мантисс (битовый голод). В других случаях (например, в случае простых звуковых сигналов) полное предварительное число распределенных битов может лежать ниже числа доступных битов мантисс (излишки битов). Как правило, кодер 300 пытается привести полное (конечное) число распределенных битов в соответствие как можно ближе к числу доступных битов мантисс. С этой целью, кодер 300 может использовать так называемый параметр смещения SNR. Смещение SNR позволяет корректировать маскирующую кривую 441, перемещая маскирующую кривую вверх или вниз относительно распределения 410 PSD. Перемещая маскирующую кривую вверх или вниз, можно, соответственно, уменьшать или увеличивать (предварительное) число распределенных битов. Таким образом, смещение SNR можно корректировать итеративным образом до тех пор, пока не будет удовлетворен критерий завершения (например, такой критерий, что предварительное число распределенных битов является как можно более близким к числу доступных битов (но находящимся ниже); или такой критерий, что было выполнено предварительно определенное число итераций).
2
Как указывалось выше, итеративный поиск смещения SNR, обеспечивающий возможность наилучшего согласования между конечным числом распределенных битов и числом доступных битов, может использовать двоичный поиск. На каждой итерации определяют, превышает ли предварительное число распределенных битов число доступных битов. На основе этого этапа определения смещение модифицируется и выполняется дальнейшая итерация. Двоичный поиск выполнен с возможностью определения наилучшего согласования (и соответствующего смещения SNR) с использованием (log(K)+1) итераций, при этом К — число возможных смещений SNR. После завершения итеративного поиска получают конечное число распределенных битов (как правило, соответствующее одному из предварительно определенных чисел распределенных битов). Следует отметить, что конечное число распределенных битов может быть (немного) меньше числа доступных битов. В таких случаях, для полного выравнивания конечного числа распределенных битов с числом доступных битов можно использовать биты пропуска или биты заполнения.
Смещение SNR можно определить так, чтобы смещение SNR, равное нулю, приводило к кодированным мантиссам, приводящим к условию кодирования, известному как «едва различимое различие» между исходным звуковым сигналом и кодированным сигналом. Иными словами, при смещении SNR, равном нулю, кодер 300 действует в соответствии с перцепционной моделью. Положительное значение смещения SNR может перемещать маскирующую кривую 411 вниз, посредством чего увеличивается число распределяемых битов (как правило, без какого-либо различимого улучшения качества). Отрицательное значение смещения SNR может перемещать маскирующую кривую 441 вверх, посредством чего уменьшается число распределяемых битов (и, таким образом, как правило, усиливая слышимый шум квантования). Смещение SNR может, например, представлять собой 10-битный параметр с допустимым интервалом от –48 дБ до +144 дБ. Для того чтобы отыскать оптимальное значение смещения SNR, кодер 300 может выполнять итеративный двоичный поиск. Тогда этот итеративный двоичный поиск может потребовать 11 итераций (в случае 10-битного параметра) сравнения распределения 410 PSD/маскирующей кривой 441. Фактически используемое значение смещения SNR может быть передано в соответствующий декодер в качестве параметра 315 распределения битов. Кроме того, мантиссы кодируют в соответствии с (конечным) числом распределенных битов, посредством чего получается набор квантованных мантисс 317.
В случае систем аудиокодеков DD и DD+, для каждого блока может иметься 6-битное грубое смещение SNR, называемое csnroffset, и для каждого канала может иметься 4-битное точное смещение SNR, называемое fsnroffset. Значение csnroffset может быть одинаково для всех блоков кадра, а значение fsnroffset может быть одинаково для всех блоков и каналов кадра. В системе аудиокодека DD+ можно выбирать передачу параметров csnroffset и fsnroffset лишь единожды для каждого кадра как 6-битного параметра frmcsnroffset и 4-битного параметра frmfsnroffset.
Как описывается в настоящем документе, в системе аудиокодека DD+ может быть предусмотрен параметр convsnroffset. Параметр convsnroffset, как правило, не делится на две части, но convsnroffset, как правило, представляет собой 10-битное значение для каждого аудиоблока в битовом потоке DD+. Параметр convsnroffset определяют на основе параметров csnroffset и fsnroffset (как описывается в настоящем документе), и указанный параметр convsnroffset можно определить путем объединения 6-битного csnroffset и 4-битного fsnroffset в единое значение.
Таким образом, параметр смещения SNR (отношения сигнал-шум) можно использовать в качестве указателя качества кодирования кодированного многоканального звукового сигнала. Согласно вышеупомянутому условию для смещения SNR смещение SNR, равное нулю, указывает кодированный многоканальный звуковой сигнал, обладающий «едва различимым различием» с исходным многоканальным звуковым сигналом. Положительное смещение SNR указывает кодированный многоканальный звуковой сигнал, имеющий качество, по меньшей мере, «едва различимо различное» с исходным многоканальным звуковым сигналом. Отрицательное смещение SNR указывает кодированный многоканальный звуковой сигнал, имеющий качество ниже «едва различимого различия» с исходным многоканальным звуковым сигналом. Следует отметить, что для параметра смещения SNR могут быть возможны и другие условия (например, обратное условие).
Кодер 300 также содержит модуль 307 упаковки битового потока, выполненный с возможностью упорядочения кодированных экспонент 313, квантованных мантисс 317, параметров 315 распределения битов, а также других данных кодирования (например, флагов коммутации блоков, метаданных, масштабных коэффициентов связывания и т.д.) в предварительно определенной структуре кадра (например, в структуре кадра АС-3), посредством чего для аудиокадра многоканального звукового сигнала получается кодированный кадр 318.
Как указывалось выше, кодер 100, 300 может быть выполнен с возможностью определения одного или нескольких параметров управления, обеспечивающих преобразователь кода возможностью выполнения преобразования кода кодированного кадра 318, закодированного в соответствии с первой системой аудиокодека (например, DD+), в модифицированный кадр, который можно декодировать декодером второй системы аудиокодека (например, DD). С этой целью, кодер 100, 300 может быть выполнен с возможностью моделирования аудиокодека, действующего в соответствии со второй системой аудиокодека, и, таким образом, определять параметры управления.
Это проиллюстрировано в кодере 300 по Фиг. 3, содержащем модуль 320 моделирования преобразования кода. Этот модуль 320 моделирования преобразования кода может принимать кодированные экспоненты 313, квантованные мантиссы 317 и один или несколько параметров 315 распределения битов, использованных кодером 300 для кодирования кадра звукового сигнала в соответствии с первой системой аудиокодека. Кроме того, модуль 320 моделирования преобразования кода может быть выполнен с возможностью моделирования функций преобразователя кода (например, деквантования квантованных мантисс 317 и квантования мантисс 317 в соответствии со второй системой аудиокодека). В частности, модуль 320 моделирования преобразования кода может быть выполнен с возможностью определения вторых параметров 321 управления (например, одного или нескольких вторых параметров распределения битов), которые могут быть переданы в преобразователь кода для уменьшения вычислительной сложности преобразования кода.
Для примера, кодер DD+, как правило, выполнен с возможностью определения так называемого параметра convsnroffset (т.е. параметра управления), обеспечивающего преобразователь кода возможностью конверсии битового потока DD+ (содержащего ряд кодированных кадров 318) в битовый поток DD со скоростью передачи данных 640 кбит/с. Параметр convsnroffset также можно именовать параметром конверсии сдвига SNR или, более обобщенно, параметром управления. Вычисление параметра convsnroffset можно выполнить в контексте процесса кодирования DD+, для того чтобы способствовать уменьшению сложности конверсии в формат DD в преобразователе кода (также именуемом конвертором декодера, или конвертором). Вычисление параметра convsnroffset, как правило, требует частичного декодирования битового потока DD+ и моделирования кодирования DD со скоростью 640 кбит/с посредством кодера 100, 300. Это ведет к значительной вычислительной сложности, так как кодеру100, 300 приходится выполнять процесс кодирования, описанный в контексте Фиг. 3 и 4а—4е, не только для кодера DD+, но также и для кодера DD. Параметр convsnroffset, как правило, соответствует вышеупомянутому смещению SNR, полученному для кодера DD, действующего с целевой скоростью передачи данных 640 кбит/с. В настоящем документе описаны способы и системы, позволяющие уменьшить вычислительную сложность при определении параметра convsnroffset. Кроме того, описанные способы и системы могут обеспечивать возможность уменьшения вычислительной сложности выполнения преобразования кода из битового потока DD+ в битовый поток DD.
Для уменьшения битовой скорости передачи данных кодированного звукового сигнала (при заданном качестве) или для повышения качества кодированного звукового сигнала (при заданной битовой скорости передачи данных) кодер 300 DD+ может использовать одно или несколько инструментальных средств кодирования. Такими инструментальными средствами кодирования является, например, использование AHT (адаптивного гибридного преобразования), использование ECPL (усиленного связывания), использование SPX (спектрального расширения) и/или использование TPNP (временной обработки предшума). Один из вариантов, известный как кодер DD+ с низкой сложностью (используемый, например, в сочетании с вычислительными устройствами, обладающими ограниченной вычислительной сложностью, такими как мобильные устройства), как правило, не использует вышеупомянутые инструментальные средства кодирования. Таким образом, кодер LC DD+ является аналогичным или соответствующим кодеру DD, кодирующему кодированные экспоненты, квантованные мантиссы, параметр распределения битов и т.д. в формат битового потока DD+, который, как правило, отличается от формата битового потока DD. Таким образом, было сделано наблюдение, что существует значительное перекрывание между кодером DD+ (с низкой сложностью) и кодером DD. Это перекрывание, или сходство, можно использовать для уменьшения вычислительной сложности при определении параметра convsnroffset.
Как указывалось выше, типичный кодер 300 DD+ определяет параметр convsnroffset для того, чтобы обеспечить возможность эффективной конверсии в преобразователе кода битового потока DD+ в битовый поток DD со скоростью 640 кбит/с. При вставке параметра convsnroffset в битовый поток DD+ преобразователю кода не приходится выполнять вышеупомянутый процесс распределения битов (включающий, например, 11 итераций), так как он может напрямую повторно квантовать мантиссы с использованием квантователя, имеющего разрешающую способность, задаваемую параметром convsnroffset. Таким образом, сложное вычисление смещения SNR для битового потока DD перемещается из конвертора/преобразователя кода в кодер, а результат передается в битовом потоке DD+ как параметр convsnroffset. Вычисление параметра convsnroffset (выполняемое в так называемом формирователе скорости передачи данных) в кодере 300 требует примерно 25—40% от общей сложности кодера DD+. Таким образом, сложность при вычислении параметра convsnroffset желательно уменьшить.
В настоящем документе описывается упрощенный формирователь скорости передачи данных, позволяющий определять параметр convsnroffset с уменьшенной сложностью. Как описывалось выше, как правило, имеется большое перекрывание между кодером DD+ и кодером DD. В частности, имеется большое перекрывание в отношении кодирования с плавающей запятой, описанного в контексте Фиг. 3 и 4а—4е. Это, в особенности, является истинным для кодера DD+ с низкой сложностью (LC), где единственное отличие между кодером DD и кодером DD+ с низкой сложностью может представлять формат битового потока. Схема определения экспонент и мантисс, а также схемы кодирования экспонент для квантования мантисс, как правило, одинаковы. Поэтому для формирователя скорости передачи данных можно повторно использовать смещение SNR DD+ и конвертировать битовый поток DD+ в битовый поток DD с использованием одного и того же параметра смещения SNR. Иными словами, в качестве параметра convsnroffset можно повторно использовать параметр смещения SNR (используемый в контексте кодека DD+), таким образом выводя из употребления представленное в явном виде вычисление параметра convsnroffset и, таким образом, значительно уменьшая вычислительную сложность кодера DD+ (LC).
Кроме того, повторное использование параметра смещения SNR в качестве параметра convsnroffset может быть преимущественным в отношении качества звука звукового сигнала, подвергнутого преобразованию кода и закодированного DD. В частности, преобразователь кода может не оказывать влияния на качество звука, поскольку исходное представление DD+ сохраняется. В частности, в случаях, когда целевая скорость передачи данных DD+ соответствует целевой скорости передачи данных DD, т.е. в случаях, когда целевые битовые скорости передачи данных битового потока DD+ и битового потока DD одинаковы (например, составляют 640 кбит/с), преобразователь кода может быть выполнен с возможностью повторного использования для генерирования битового потока DD экспонент и/или квантованных мантисс из битового потока DD+. Как результат, качество звука звукового сигнала, заключенного в битовом потоке DD+, и качество звука звукового сигнала, заключенного в битовом потоке DD, одинаково. Кроме того, уменьшается сложность преобразователя кода, так как этот преобразователь кода не нуждается в деквантовании и повторном квантовании мантисс при генерировании битового потока DD.
Как указывалось выше, кодер LC DD+ можно рассматривать как кодер DD, кодирующий кодированные экспоненты, квантованные мантиссы и т.д. в формате битового потока DD+. Формат битового потока DD+, как правило, отличается от формата битового потока DD. В частности, число фиксированных битов (для информации синхронизации (si); информации битового потока (bsi); аудиокадра (audfrm); вспомогательных данных (auxdata); контроля ошибок; экспонент; и т.д.) для формата битового потока DD, как правило, больше в сравнении с форматом битового потока DD+. Это можно видеть на Фиг. 5. где для ряда кадров проиллюстрирована разность 500 между числом фиксированных битов, используемых в формате битового потока DD+. Видно, что формат битового потока DD требует, в среднем, примерно на 80—100 фиксированных битов больше, чем формат битового потока DD+. Соответственно, использование смещения SNR DD+ для генерирования битового потока DD приводило бы к битовому потоку, который требовал бы больше битов, чем доступно при размере кадра 640 кбит/с (640 кбит/с=20480 бит/кадр). Иными словами, использование в качестве параметра convsnroffset параметра смещения SNR, определенного в DD+, приводило бы к битовому потоку DD, немного превышающему целевую битовую скорость передачи данных, составляющую 640 кбит/с. Однако это обычно недопустимо, так как преобразователь кода, как правило, предусматривает фиксированный размер кадра, составляющий 20480 бит/кадр, т.е. фиксированный размер кадра, соответствующий целевой битовой скорости передачи данных.
Для преодоления этой трудности можно использовать разные подходы, причем эти подходы зависят от целевой битовой скорости передачи данных DD+. В случае целевой битовой скорости передачи данных DD+, составляющей 640 кбит/с, т.е. в случае целевой битовой скорости передачи данных DD+, соответствующей целевой битовой скорости передачи данных DD, вышеупомянутую трудность можно преодолеть, учитывая разность целевых битов DD/DD+ в контексте процесса распределения битов кодера 300 DD+. Как было описано выше, итеративный процесс распределения битов начинается с определения общего числа доступных битов мантисс, т.е. общего числа битов, которые могут быть распределены для квантования мантисс. В настоящем документе предложено вычитать разность фиксированных битов DD/DD+ из характерного для DD+ общего числа доступных битов мантисс, посредством чего получается уменьшенное число доступных битов мантисс, учитывающее возможность преобразования кода в DD. Вычитаемую разность фиксированных битов DD/DD+ можно определить покадровым образом, или она может соответствовать среднему, или значению в наихудшем случае. Тогда вычисление смещения SNR DD+ можно выполнить с использованием уменьшенного общего числа доступных битов мантисс.
Как результат, немного уменьшается качество кодированного DD+ звукового сигнала. Однако влияние на качество звука является низким по причине того, что наблюдаемый в наихудшем случае штраф находится в интервале 102 битов разности фиксированных битов DD/DD+, приходящейся на кадр, что соответствует битовой скорости передачи данных 3 кбит/с или 0,5% от общей битовой скорости передачи данных DD+. Как указывалось выше, биты, не используемые в битовом потоке DD+ по причине уменьшенного общего числа доступных битов мантисс, можно заполнить битами пропуска или битами заполнения, посредством чего получаются кадры, совместимые с DD+, с целевой битовой скоростью передачи данных DD+, составляющей 640 кбит/с.
Как дальнейший результат, смещение SNR, которое было вычислено в контексте процесса кодирования DD+, теперь можно использовать в качестве параметра convsnroffset. Теперь подвергнутый преобразованию кода битовый поток DD гарантированно удовлетворяет целевой битовой скорости передачи данных DD, составляющей 640 кбит/с.
Следует отметить, что, в качестве дополнительной выгоды, можно уменьшить сложность преобразователя кода. Преобразователь кода может копировать кодированные экспоненты DD+ и квантованные мантиссы DD+ в битовый поток DD без необходимости в выполнении частичного декодирования DD+ и повторного кодирования DD.
Другой подход можно предпринять в ситуации, когда целевая битовая скорость передачи данных DD+ меньше целевой битовой скорости передачи данных DD. Для примера, целевая битовая скорость передачи данных DD+ может составлять 448 кбит/с или 384 кбит/с. Конвертор, как правило, ограничен только целевой битовой скоростью передачи данных DD (например, 640 кбит/с), поэтому уменьшенные битовые скорости передачи данных DD+ недоступны. Тем не менее, смещение SNR, определенное в контексте кодирования DD+, можно повторно использовать в качестве параметра convsnroffset. Это возможно по причине того, что качество звукового сигнала, закодированного DD+, в любом случае, ограничено целевой битовой скоростью передачи данных DD+. Преобразование кода звукового сигнала, закодированного DD+, который был закодирован с целевой битовой скоростью передачи данных DD+ меньшей, чем целевая битовая скорость передачи данных DD, не может обеспечить звуковой сигнал, кодированный DD, имеющий качество звука выше, чем у звукового сигнала, кодированного DD+.
Однако кодер DD+, действующий с относительно низкой целевой битовой скоростью передачи данных DD+, может использовать инструментальные средства кодирования, не используемые кодером DD. Поэтому следует учитывать влияние этих инструментальных средств кодирования. Если кодер DD+ предусматривает кодированные экспоненты и квантованные мантиссы полных каналов, то эти полные каналы (т.е. кодированные экспоненты и квантованные мантиссы) можно копировать в битовый поток DD, посредством этого улучшая качество звука (т.е. отношение сигнал-шум) по сравнению с традиционными преобразователями кода, так как этапы декодирования DD+ и повторного кодирования DD выведены из употребления.
Если кодер DD+ предусматривает один или несколько связанных каналов (как правило, кодеры DD и DD+ предусматривают только один связанный канал), эти связанные каналы, как правило, нуждаются в декодировании и повторном кодировании по отдельности, как и полные каналы в битовом потоке DD+, поскольку кодер DD с целевой битовой скоростью передачи данных (составляющей 640 кбит/с), как правило, не использует связывание. Это преобразование кода может приводить к потере качества звукового сигнала, закодированного DD, по сравнению со звуковым сигналом, закодированным DD+ (по причине операций декодирования DD+ и повторного кодирования DD). Кроме того, кодирование DD ряда полных каналов, как правило, требует увеличенного числа битов по сравнению с кодированием DD+ уменьшенного числа связанных каналов. Для примера, все пять каналов многоканального звукового сигнала 5.1 могут быть связаны, что приводит к ситуации, когда единственный исходный связанный канал необходимо пять раз закодировать кодером DD. Дополнительные биты, необходимые для того, чтобы несколько раз (например, пять раз) закодировать исходный связанный канал, можно компенсировать за счет меньшей потребности в битах для полных каналов (по сравнению с потребностью в битах для связанных каналов).
Фиг. 6 иллюстрирует пример испытаний MUSHRA (множественные стимулы со скрытым эталоном и привязкой), в которых анализируют качество звука для ряда различных звуковых сигналов. В частности, качество 601 звука сигнала с преобразованным кодом, код которого был преобразован с использованием параметра convsnroffset, вычисленного в явном виде, сравнивают с качеством 602 звука сигнала с преобразованным кодом, код которого был преобразован с использованием параметра convsnroffset, соответствующего смещению SNR звукового сигнала, закодированного DD+. В иллюстрируемом примере целевая битовая скорость передачи данных DD+ составляет 384 кбит/с, а целевая битовая скорость передачи данных DD составляет 640 кбит/с. В иллюстрируемом примере кодер 300 DD+ использует связывание (с частотой начала связывания около 10 кГц). Можно наблюдать, что для проиллюстрированного ряда разных звуковых сигналов значительного ухудшения качества не наблюдается. С другой стороны, вычислительная сложность кодера 300 и, возможно, вычислительная сложность преобразователя кода были значительно уменьшены.
Следует отметить, что битовая скорость передачи данных конвертированного (т.е. подвергнутого преобразованию кода) битового потока может превышать целевую битовую скорость передачи данных DD (например, составляющую 640 кбит/c). Это может происходить в случае 640 кбит/с (т.е. в случае, когда целевая битовая скорость передачи данных DD+ соответствует целевой битовой скорости передачи данных DD), если разность фиксированных битов DD+/DD в наихудшем случае определена неверно (т.е. предполагается слишком низкой). В альтернативном варианте или в дополнение. Это может происходить для менее высоких скоростей передачи данных (т.е. в случае, когда целевая битовая скорость передачи данных DD+ ниже целевой битовой скорости передачи данных DD), если один или несколько разуплотненных связанных каналов требует больше битов, чем доступно при конверсии.
Кодер 300 может быть выполнен с возможностью обнаружения вышеупомянутой ситуации, когда конвертированный битовый поток DD может превышать целевую битовую скорость передачи данных DD, если в качестве параметра convsnroffset использовано смещение SNR DD+. В частности, кодер 300 DD+ может быть выполнен с возможностью проверки правильности смещения SNR DD+ для конвертированного битового потока DD за одну итерацию распределения битов (в сравнении с 11 итераций, необходимых для определения параметра convsnroffset в явном виде). Эту правильность можно проверять на покадровой основе.
Если определено, что (для отдельного кадра) использование смещения SNR DD+ в качестве параметра convsnroffset может приводить к числу битов, превышающему целевую битовую скорость передачи данных DD, кодер 300 может применять одну или несколько методик восстановления работоспособности. Для примера, кодер 300 может быть выполнен с возможностью выполнения вычисления convsnroffset в явном виде в качестве отката. Смещение SNR DD+ можно использовать как улучшенную начальную точку, посредством чего потенциально уменьшается число требуемых итераций. В качестве альтернативы или в дополнение, для определения начального смещения SNR на основе смещения SNR DD+ можно использовать эмпирический анализ, при этом начальное смещение SNR уменьшает (например, минимизирует) число итераций распределения битов. В качестве альтернативы или в дополнение, можно использовать вычисление convsnroffset в явном виде, однако итеративный процесс можно останавливать после получения промежуточного результата, считающегося достаточно хорошим (например, приводящего к шуму квантования на 6 дБ ниже порога маскирующего эффекта).
В настоящем документе было предложено копировать значение смещения SNR для DD+ в значение convsnroffset, используемое для кодирования DD в преобразователе кода/конверторе. Этот подход является особенно значимым для кодера LC DD+, действующего при 640 кбит/с, поскольку кодер LC DD+ не использует для этой целевой битовой скорости передачи данных ни одно из инструментальных средств DD+ или связывание. Для менее высоких битовых скоростей передачи данных кодер LC DD+, как правило, использует связывание. Тем не менее, значение смещения SNR DD+ можно использовать для значения convsnroffset лишь с небольшим потенциальным ухудшением качества звука.
Как было описано выше, формат DD при 640 кбит/с, как правило, требует больше битов для хранения дополнительной информации, чем формат DD+ при 640 кбит/с. В настоящем документе предложено учитывать разность битов в ходе процесса кодирования DD+. Максимальная величина потери битовой скорости передачи данных для DD+ была измерена как составляющая 3 кбит/с, или 0,5% общей битовой скорости передачи данных, что в результате не приводит к слышимому снижению качества битового потока DD+. Однако, учитывая разность битов в ходе кодирования DD+, можно использовать одно и то же смещение SNR для кодирования DD+, а также для преобразования кода из DD+ в DD. Результирующие выводы декодеров битового потока DD+ и битового потока DD с преобразованным кодом, как правило, являются одинаковыми, за исключением разного размывания сигнала, применяемого декодером DD+ и декодером DD.
Для менее высоких битовых скоростей передачи данных (например, 448 кбит/с и 384 кбит/с) кодера LC DD+ кодер LC DD+, как правило, использует связывание. Конвертор, как правило, конвертирует битовый поток DD+ в битовый поток DD при 640 кбит/с без связывания. Испытание на прослушивание показывает, что использование смещения SNR DD+ для конвертора (т.е. приравнивание convsnroffset смещению SNR DD+) приводит к качеству звука сигнала с преобразованным кодом, сравнимому с качеством звука сигнала с преобразованным кодом, который был получен посредством конвертора, использующего параметр convsnroffset, вычисленный в явном виде. Экспериментальные результаты также показали, что увеличение в битах, вызываемое кодированием связанных каналов как полных каналов, как правило, не превышает предел, задаваемый целевой битовой скоростью передачи данных DD (составляющей, например, 640 кбит/с).
Кодер DD+ может быть выполнен с возможностью определения того, является ли смещение SNR DD+ недопустимым для конвертированного битового потока DD (т.е. имеется ли избыточное число битов при использовании в конверторе смещения SNR DD+ для генерирования битового потока DD). Если это так, то в качестве отката для того конкретного кадра, для которого возникает такое переполнение битов, можно использовать вычисление параметра snroffset (т.е. convsnroffset) конвертора в явном виде. Тем не менее, можно уменьшить вычислительную сложность путем использования значения snroffset DD+ в качестве лучшей начальной точки для вычисления параметра convsnroffset и/или путем остановки итераций перед нахождением оптимального результата, например, когда промежуточный результат уже соответствует предварительно определенному критерию качества.
Способы и системы, описанные в настоящем документе, можно реализовать как программное обеспечение, программно-аппаратное обеспечение и/или как аппаратное обеспечение. Некоторые компоненты можно реализовать как программное обеспечение, запускаемое на процессоре цифровой обработки сигналов или микропроцессоре. Другие компоненты можно реализовать, например, как аппаратное обеспечение и/или как специализированные интегральные схемы. Сигналы, встречающиеся в описанных способах и системах, могут храниться на таких носителях, как память с произвольным доступом или оптические носители данных. Их можно передавать по таким сетям, как радиосети, спутниковые сети, беспроводные сети или проводные сети, например, Интернет. Типичными устройствами, использующими способы и системы, описываемые в настоящем документе, являются переносные электронные устройства или другое компьютерное оборудование, используемое для хранения и/или представления звуковых сигналов.