Представление многоканального звука с использованием интерполированных матриц
Иллюстрации
Показать всеИзобретение относится к области обработки звуковых сигналов. Технический результат – устранение нежелательных артефактов при кодировании/декодировании звуковой программы. Способ кодирования N-канальной звуковой программы содержит этапы: определение первого каскада элементарных матриц N×N, который при применении к дискретным значениям N кодированных каналов сигнала реализует первое микширование звукового содержимого в М выходных каналов, при этом первое микширование соответствует изменяющемуся во времени микшированию A(t); определение значений интерполяции, которые вместе с первым каскадом элементарных матриц и функцией интерполяции, определенной в подынтервале, указывают на последовательность каскадов обновленных элементарных матриц N×N, так что каждый каскад обновленных элементарных матриц при применении к дискретным значениям N кодированных каналов сигнала реализует обновленное микширование N кодированных каналов сигнала в М выходных каналов; генерирование кодированного битового потока, который указывает на кодированное звуковое содержимое, значения интерполяции и первый каскад элементарных матриц. 4 н. и 55 з.п. ф-лы, 8 ил.
Реферат
ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Данная заявка заявляет приоритет предварительной заявки на патент США № 61/883890, поданной 27 сентября 2013 г., которая полностью включена в настоящее описание посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к обработке звуковых сигналов и, конкретнее, к представлению многоканальных звуковых программ (например, битовых потоков, указывающих на звуковые программы на основе объекта, включающие по меньшей мере один звуковой объектный канал и по меньшей мере один канал динамика) с использованием интерполированных матриц и к кодированию и декодированию программ. В некоторых вариантах осуществления декодер выполняет интерполяцию в отношении набора начальных элементарных матриц для определения интерполированных матриц для использования в каналах представления программы. Некоторые варианты осуществления генерируют, декодируют и/или представляют аудиоданные в формате, известном как Dolby TrueHD.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
Dolby и Dolby TrueHD являются торговыми марками Dolby Laboratories Licensing Corporation.
Сложность, финансовые расходы и вычислительные затраты представления звуковых программ увеличиваются с количеством каналов, которые должны быть представлены. Во время представления и воспроизведения звуковых программ на основе объекта звуковое содержимое имеет количество каналов (например, объектных каналов и каналов динамика), которое, как правило, значительно превышает (например, на порядок величины) количество, возникающее во время представления и воспроизведения традиционных программ на основе канала динамика. Как правило, система динамика, использующаяся для воспроизведения, также включает намного большее количество динамиков, чем количество, использующееся для воспроизведения традиционных программ на основе канала динамика.
Несмотря на то что варианты осуществления изобретения подходят для каналов представления любой многоканальной звуковой программы, многие варианты осуществления изобретения являются особенно подходящими для каналов представления звуковых программ на основе объекта, имеющих большое количество каналов.
Известно использование систем воспроизведения (например, в кинотеатрах) для представления звуковых программ на основе объекта. Звуковые программы на основе объекта могут указывать на множество различных звуковых объектов, соответствующих изображениям на экране, диалогу, шумам и звуковым эффектам, которые исходят из различных мест на (или относительно) экране, а также фоновую музыку и эффекты окружающей среды (которые могут быть указаны каналами динамика программы) для создания предполагаемых впечатлений от общего прослушивания. Для точного воспроизведения данных программ необходимо, чтобы звуки были воспроизведены таким образом, который как можно более точно соответствует тому, что предполагалось создателем содержимого в отношении размера, положения, интенсивности, движения и глубины звукового объекта.
Во время генерирования звуковых программ на основе объекта, как правило, предполагается, что громкоговорители, которые должны быть использованы для представления, расположены в произвольных местоположениях в среде воспроизведения; необязательно в предопределенном расположении в (номинально) горизонтальной плоскости или в любом другом предопределенном расположении, известном во время генерирования программы. Как правило, метаданные, включенные в программу, указывают на параметры представления для представления по меньшей мере одного объекта программы в кажущемся местоположении в пространстве или вдоль траектории (в трехмерном объеме), например, с использованием трехмерного массива динамиков. Например, объектный канал программы может иметь соответствующие метаданные, указывающие на трехмерную траекторию кажущихся положений в пространстве, в которых должен быть представлен объект (указанный объектным каналом). Траектория может включать последовательность «напольных» местоположений (в плоскости поднабора динамиков, которые должны быть расположены на полу или в другой горизонтальной плоскости среды воспроизведения) и последовательность «надпольных» местоположений (каждое из которых определено посредством перемещения поднабора динамиков, которые должны быть расположены в по меньшей мере еще одной горизонтальной плоскости среды воспроизведения).
Звуковые программы на основе объекта представляют значительное улучшение во многих отношениях по сравнению с традиционными звуковыми программами на основе канала динамика, поскольку звук на основе канала динамика является более ограниченным в отношении воспроизведения в пространстве конкретных звуковых объектов, чем звук на основе объектного канала. Звуковые программы на основе канала динамика состоят только из каналов динамика (а не объектных каналов), и каждый канал динамика, как правило, определяет сигнал, подаваемый на динамик, для конкретного отдельного динамика в среде прослушивания.
Были предложены различные способы и системы генерирования и представления звуковых программ на основе объекта. Во время генерирования звуковой программы на основе объекта, как правило, предполагается, что произвольное количество громкоговорителей будет использовано для воспроизведения программы, и, что громкоговорители, которые должны быть использованы для воспроизведения, будут расположены в произвольных местоположениях в среде воспроизведения; необязательно в (номинально) горизонтальной плоскости или в любом другом предопределенном расположении, известном во время генерирования программы. Как правило, метаданные, относящиеся к объекту, включенные в программу, указывают на параметры представления для представления по меньшей мере одного объекта программы в кажущемся местоположении в пространстве или вдоль траектории (в трехмерном объеме), например, с использованием трехмерного массива динамиков. Например, объектный канал программы может иметь соответствующие метаданные, указывающие на трехмерную траекторию кажущихся положений в пространстве, в которых объект (указанный объектным каналом) должен быть представлен. Траектория может включать последовательность «напольных» местоположений (в плоскости поднабора динамиков, которые должны быть расположены на полу или в другой горизонтальной плоскости среды воспроизведения) и последовательность «надпольных» местоположений (каждое из которых определено посредством перемещения поднабора динамиков, которые должны быть расположены в по меньшей мере еще одной горизонтальной плоскости среды воспроизведения). Примеры представления звуковых программ на основе объекта описаны, например, в международной заявке PCT № PCT/US2001/028783, опубликованной под эгидой международной публикации № WO 2011/119401 A2 29 сентября 2011 г. и закрепленной за патентообладателем настоящей заявки.
Звуковая программа на основе объекта может включать каналы «платформы». Канал платформы может являться объектным каналом, указывающим на объект, положение которого не изменяется в течение соответствующего интервала времени (и, следовательно, как правило, представляется с использованием набора динамиков системы воспроизведения, имеющих статические местоположения динамиков), или он может являться каналом динамика (который должен быть представлен с использованием динамика системы воспроизведения). Каналы платформы не имеют соответствующих изменяющихся во времени метаданных о положении (при этом они могут быть рассмотрены в качестве содержащих не изменяющиеся во времени метаданные о положении). Они могут указывать на звуковые элементы, которые распределены в пространстве, например звук, указывающий на окружающую среду.
Воспроизведение звуковой программы на основе объекта посредством традиционной настройки динамиков (например, системы воспроизведения 7.1) достигается посредством каналов представления программы (включая объектные каналы) для набора сигналов, подаваемых на динамик. В типичных вариантах осуществления изобретения процесс представления объектных каналов (иногда называемых в данном документе объектами) и других каналов звуковой программы на основе объекта (или каналов звуковой программы другого типа) включает по большей части (или исключительно) преобразование метаданных о положении в пространстве (для каналов, которые должны быть представлены) для каждого момента времени в соответствующую матрицу коэффициентов усиления (называемую в данном документе «матрицей представления»), которая представляет, какой вклад каждый из каналов (например, объектных каналов и каналов динамика) вносит в микширование звукового содержимого (в тот момент), указанного сигналом, подаваемым на динамик, для конкретного динамика (т.е. относительный весовой коэффициент каждого из каналов программы в микшировании, указанном сигналом, подаваемым на динамик).
«Объектный канал» звуковой программы на основе объекта указывает на последовательность дискретных значений, указывающих на звуковой объект, и программа, как правило, включает последовательность значений метаданных о положении в пространстве, указывающих на траекторию или положение объекта для каждого объектного канала. В типичных вариантах осуществления изобретения последовательности значений метаданных о положении, соответствующих объектным каналам программы, используются для определения матрицы M×N A(t), указывающей на изменяющуюся во времени спецификацию коэффициента усиления для программы.
Представление «N» каналов (например, объектных каналов или объектных каналов и каналов динамика) звуковой программы на «M» динамиках (сигналах, подаваемых на динамик) в момент времени «t» программы может быть представлено посредством умножения вектора x(t) длины «N», состоящего из дискретного значения аудиоданных в момент времени «t» из каждого канала, на матрицу M×N A(t), определенную из соответствующих метаданных о положении (и факультативно других метаданных, соответствующих звуковому содержимому, которое должно быть представлено, например, коэффициентов усиления объекта) в момент времени «t». Полученные в результате значения (например, коэффициенты усиления или уровни) сигналов, подаваемых на динамик, в момент времени t могут быть представлены в качестве вектора y(t), как показано в следующем уравнении (1):
(1)
Несмотря на то что уравнение (1) описывает представление N каналов звуковой программы (например, звуковой программы на основе объекта или кодированной версии звуковой программы на основе объекта) в M выходных каналов (например, M сигналов, подаваемых на динамик), оно также представляет общий набор сценариев, в которых набор из N дискретных значений аудиоданных преобразовывается в набор из M значений (например, M дискретных значений) посредством линейных операций. Например, матрица A(t) может являться статической матрицей «A», коэффициенты которой не изменяются в зависимости от различных значений времени «t». В качестве еще одного примера матрица A(t) (которая может являться статической матрицей A) может представлять традиционное понижающее микширование набора каналов динамика до меньшего набора каналов динамика (или x(t) может являться набором звуковых каналов, которые описывают сцену в пространстве в формате амбиофонии) и преобразование в сигналы, подаваемые на динамик, может быть представлено в качестве умножения на матрицу понижающего микширования . Даже в приложении, использующем номинально статическую матрицу понижающего микширования, примененное фактическое линейное преобразование (умножение матриц) может являться динамическим для гарантирования защиты от усечения понижающего микширования (т.е. статическое преобразование может быть преобразовано в изменяющееся во времени преобразование A(t) для гарантирования защиты от усечения).
Система представления звуковой программы (например, декодер, реализующий такую систему) может принимать метаданные, которые определяют матрицы представления, (или она может принимать сами матрицы) только периодически, а не в каждый момент времени «t» во время программы. Например, это может происходить по любой из ряда причин, например, вследствие низкой разрешающей способности по времени системы, которая фактически выводит метаданные, или необходимости ограничить битовую скорость передачи программы. Авторы изобретения осознали, что в случае системы представления может быть необходима интерполяция между матрицами представления и в моменты «t1» и «t2» времени во время программы соответственно для получения матрицы A(t3) представления для промежуточного момента «t3» времени. Интерполяция гарантирует, что воспринимаемое положение объектов в представленных сигналах, подаваемых на динамик, изменяется плавно с течением времени и может устранить нежелательные артефакты, такие как шумы застежки-молнии, которые являются следствием периодических (кусочно-постоянных) обновлений матрицы. Интерполяция может быть линейной (или нелинейной) и, как правило, должна гарантировать непрерывную передачу во времени от до .
Dolby TrueHD является традиционным форматом аудио кодека, который поддерживает масштабируемую передачу без потерь звуковых сигналов. Исходный звук кодируется в иерархию подпотоков каналов, и выбранный поднабор подпотоков (а не все подпотоки) может быть извлечен из битового потока и декодирован для получения представления с пониженной размерностью (понижающим микшированием) сцены в пространстве. После декодирования всех подпотоков полученный в результате звук является идентичным исходному звуку (кодирование, за которым следует декодирование, выполняется без потерь).
В коммерчески доступной версии TrueHD исходный звук, как правило, является микшированием каналов 7.1, которое кодируется в последовательность из трех подпотоков, включая первый подпоток, который может быть декодирован для определения понижающего микширования двух каналов исходного звука каналов 7.1. Первые два подпотока могут быть декодированы для определения понижающего микширования каналов 5.1 исходного звука. Все три подпотока могут быть декодированы для определения исходного звука каналов 7.1. Технические подробности формата Dolby TrueHD и технологии Meridian Lossless Packing (MLP), на которой он основан, хорошо известны. Аспекты формата TrueHD и технологии MLP описаны в патенте США № 6611212, выданном 26 августа 2003 г. и закрепленном за Dolby Laboratories Licensing Corp., и статье Gerzon et al. под названием «The MLP Lossless Compression System for PCM Audio», J. AES, том 52, № 3, страницы 243-260 (март 2004 г.).
Формат TrueHD поддерживает спецификацию матриц понижающего микширования. В типовом варианте применения создатель содержимого звуковой программы каналов 7.1 указывает статическую матрицу для понижающего микширования программы каналов 7.1 до микширования каналов 5.1 и еще одну статическую матрицу для понижающего микширования понижающего микширования каналов 5.1 до 2-канального понижающего микширования. Каждая статическая матрица понижающего микширования может быть преобразована в последовательность матриц понижающего микширования (каждая матрица в последовательности предназначена для понижающего микширования различного интервала в программе) для достижения защиты от усечения. Однако каждая матрица в последовательности передается (или метаданные, определяющие каждую матрицу в последовательности, передаются) на декодер, а декодер не выполняет интерполяцию в отношении какой-либо ранее указанной матрицы для определения последующей матрицы в последовательности матриц понижающего микширования для программы.
На фиг. 1 показана схематическая диаграмма элементов традиционной системы TrueHD, в которой кодер (30) и декодер (32) выполнены с возможностью реализации матричных операций в отношении дискретных значений аудиоданных. В показанной на фиг. 1 системе кодер 30 выполнен с возможностью кодирования 8-канальной звуковой программы (например, традиционного набора сигналов 7.1, подаваемых на динамик), поскольку кодированный битовый поток включает два подпотока, и декодер 32 выполнен с возможностью декодирования кодированного битового потока для представления либо исходной 8-канальной программы (без потерь), либо 2-канального понижающего микширования исходной 8-канальной программы. Кодер 30 соединен и выполнен с возможностью генерирования кодированного битового потока и с возможностью передачи кодированного битового потока на систему 31 подачи.
Система 31 подачи соединена и выполнена с возможностью подачи (например, посредством сохранения и/или передачи) кодированного битового потока на декодер 32. В некоторых вариантах осуществления система 31 реализует подачу (например, передачу) кодированной многоканальной звуковой программы через систему вещания или сеть (например, сеть Интернет) на декодер 32. В некоторых вариантах осуществления система 31 сохраняет кодированную многоканальную звуковую программу на носитель данных (например, диск или набор дисков) и декодер 32 выполнен с возможностью считывания программы с носителя данных.
Блок, обозначенный как «InvChAssign1», в кодере 30 выполнен с возможностью выполнения перестановки каналов (эквивалентной умножению на матрицу перестановок) в отношении каналов входной программы. Затем переставленные каналы подвергаются кодированию на этапе 33, который выводит восемь кодированных каналов сигнала. Кодированные каналы сигнала могут (но необязательно) соответствовать каналам динамика воспроизведения. Кодированные каналы сигнала иногда называются «внутренними» каналами, поскольку декодер (и/или система представления), как правило, декодирует и представляет содержимое кодированных каналов сигнала для восстановления входного звука, так что кодированные каналы сигнала являются «внутренними» в отношении системы кодирования/декодирования. Кодирование, выполненное на этапе 33, эквивалентно умножению каждого набора дискретных значений переставленных каналов на матрицу кодирования (реализованную в качестве каскада умножений матриц n+1, идентифицированного как , который будет более подробно описан далее).
Подсистема 34 определения матрицы выполнена с возможностью генерирования данных, указывающих на коэффициенты двух наборов выходных матриц (по одному набору, соответствующему каждому из двух подпотоков кодированных каналов). Один набор выходных матриц состоит из двух матриц , каждая из которых является элементарной матрицей (определенной далее) с размерностью 2×2 и предназначена для представления первого подпотока (подпотока понижающего микширования), содержащего два кодированных звуковых канала кодированного битового потока (для представления двухканального понижающего микширования восьмиканального входного звука). Другой набор выходных матриц состоит из матриц представления , каждая из которых является элементарной матрицей и предназначена для представления второго подпотока, содержащего все восемь кодированных звуковых каналов кодированного битового потока (для восстановления без потерь восьмиканальной входной звуковой программы). Каскад матриц вместе с матрицами P0-1, P1-1, …, Pn-1, примененными к звуку на кодере, равняется спецификации матрицы понижающего микширования, которая преобразовывает 8 входных звуковых каналов в 2-канальное понижающее микширование, и каскад матриц представляет 8 кодированных каналов кодированного битового потока обратно в исходные 8 входных каналов.
Коэффициенты (каждой матрицы), которые выводятся из подсистемы 34 на подсистему 35 упаковки, являются метаданными, указывающими на относительный или абсолютный коэффициент усиления каждого канала, который должен быть включен в соответствующее микширование каналов программы. Коэффициенты каждой матрицы представления (для момента времени во время программы) представляют, какой вклад каждый из каналов микширования должен внести в микширование звукового содержимого (в соответствующий момент представленного микширования), указанного сигналом, подаваемым на динамик, для конкретного динамика системы воспроизведения.
Восемь кодированных каналов сигнала (выводимых на этапе 33 кодирования), коэффициенты выходной матрицы (сгенерированные подсистемой 34), а также, как правило, дополнительные данные передаются на подсистему 35 упаковки, которая компонует их в кодированный битовый поток, который затем передается на систему 31 подачи.
Кодированный битовый поток включает данные, указывающие на восемь кодированных звуковых каналов, два набора выходных матриц (по одному набору, соответствующему каждому из двух подпотоков кодированных каналов), а также, как правило, дополнительные данные (например, метаданные о звуковом содержимом).
Подсистема 36 синтаксического разбора декодера 32 выполнена с возможностью принятия (считывания или приема) кодированного битового потока от системы 31 подачи и с возможностью синтаксического разбора кодированного битового потока. Подсистема 36 выполнена с возможностью передачи подпотоков кодированного битового потока, включая «первый» подпоток, содержащий только два кодированных канала кодированного битового потока, и выходных матриц (), соответствующих первому подпотоку, на этапе 38 умножения матриц (для обработки, которая приводит к 2-канальному представлению понижающего микширования содержимого исходной 8-канальной входной программы). Подсистема 36 также выполнена с возможностью передачи подпотоков кодированного битового потока (при этом «второй» подпоток содержит все восемь кодированных каналов кодированного битового потока) и соответствующих выходных матриц () на этапе 37 умножения матриц для обработки, которая приводит к представлению без потерь исходной 8-канальной программы.
Более конкретно, на этапе 38 выполняется умножение двух дискретных значений аудиоданных двух каналов первого подпотока посредством каскада матриц и каждый полученный в результате набор из двух линейно преобразованных дискретных значений подвергается перестановке каналов (эквивалентной умножению на матрицу перестановок), представленной блоком под названием «ChAssign0», для получения каждой пары дискретных значений необходимого 2-канального понижающего микширования 8 исходных звуковых каналов. Каскад матричных операций, выполняющихся в кодере 30 и декодере 32, эквивалентен применению спецификации матрицы понижающего микширования, которая преобразовывает 8 входных звуковых каналов в 2-канальное понижающее микширование.
На этапе 37 выполняется умножение каждого вектора восьми дискретных значений аудиоданных (по одному из каждого полного набора из восьми каналов кодированного битового потока) на каскад матриц и каждый полученный в результате набор из восьми линейно преобразованных дискретных значений подвергается перестановке каналов (эквивалентной умножению на матрицу перестановок), представленной блоком под названием «ChAssign1», для получения каждого набора из восьми дискретных значений восстановленной без потерь исходной 8-канальной программы. Для того чтобы выходной 8-канальный звук был точно таким же, как и входной 8-канальный звук (для достижения характеристики «без потерь» системы), матричные операции, выполняющиеся в кодере 30, должны быть точным (включая эффекты квантования) обращением матричных операций, выполняющихся в декодере 32 в отношении (второго) подпотока без потерь кодированного битового потока (т.е. умножения на каскад матриц). Таким образом, на фиг. 1 матричные операции на этапе 33 кодера 30 идентифицируются в качестве каскада обратных матриц матриц в противоположной последовательности, применяющейся на этапе 37 декодера 32, а именно: .
Декодер 32 применяет обращение перестановки каналов, применяющейся кодером 30 (т.е. матрица перестановок, представленная элементом «ChAssign1» декодера 32, является обратной матрицей матрицы, представленной элементом «InvChAssign1» кодера 30).
С учетом спецификации матрицы понижающего микширования (например, спецификации статической матрицы A, которая имеет размерность 2×8) целью реализации традиционного кодера TrueHD кодера 30 является создание выходных матриц (например, и, показанных на фиг. 1) и назначений входных матриц () и выходного (и входного) канала, так что:
1) кодированный битовый поток является иерархическим (т.е. в примере первых двух кодированных каналов достаточно для получения 2-канального представления понижающего микширования и полного набора из восьми кодированных каналов достаточно для восстановления исходной 8-канальной программы); и
2) матрицы для самого верхнего потока ( в примере) являются точно обратимыми, так что входной звук может быть точно извлечен декодером.
Типичные вычислительные системы работают с ограниченной точностью, и для точного обращения произвольной обратимой матрицы может понадобиться очень высокая точность. Формат TrueHD решает данную проблему посредством ограничения выходных матриц и входных матриц (т.е. и) до квадратных матриц типа, известного как «элементарные матрицы».
Элементарная матрица с размерностью N×N имеет следующий вид:
.
Элементарная матрица всегда является квадратной матрицей. Элементарная матрица с размерностью N×N идентична матрице тождественности с размерностью N×N за исключением одной (нетривиальной) строки (т.е. строки, содержащей элементы α0, α1, α2, … αN-1 в примере). Во всех других строках недиагональные элементы равняются нулям, и диагональный элемент имеет абсолютное значение, равное 1 (т.е. либо +1, либо -1). Для упрощения формулировки в данном раскрытии графические материалы и описания будут всегда предполагать, что элементарная матрица имеет диагональные элементы, которые равняются +1, с возможным исключением диагонального элемента в нетривиальной строке. Однако мы отмечаем, что это осуществляется без потери общности, и идеи, представленные в данном раскрытии, относятся к общему классу элементарных матриц, в которых диагональные элементы могут равняться +1 или -1.
Если элементарная матрица P применяется в отношении (т.е. умножается) вектора x(t), тогда результатом является произведение Px(t), которое является еще одним N-мерным вектором, который точно такой же, как и x(t) во всех элементах, за исключением одного. Таким образом, каждая элементарная матрица может быть связана с уникальным каналом, которым она управляет (или в отношении которого она применяется).
Мы будем использовать термин «единичная элементарная матрица» в данном документе для обозначения элементарной матрицы, в которой диагональный элемент (в нетривиальной строке элементарной матрицы) имеет абсолютное значение, равное 1 (т.е. либо +1, либо -1). Таким образом, диагональ единичной элементарной матрицы состоит только из положительных единиц +1, или только из отрицательных единиц -1, или из нескольких положительных единиц и из нескольких отрицательных единиц. Элементарная матрица изменяет только один канал из набора (вектора) дискретных значений каналов звуковой программы и единичная элементарная матрица также является обратимой без потерь вследствие единичных значений по диагонали. Также, для упрощения обсуждения в данном документе мы будем использовать термин единичная элементарная матрица для обозначения элементарной матрицы, нетривиальная строка которой имеет диагональный элемент, равный +1. Однако все ссылки на единичные элементарные матрицы в данном документе, включая формулу изобретения, должны охватывать более общий случай, при котором единичная элементарная матрица может иметь нетривиальную строку, диагональный элемент которой равняется +1 или -1.
Если (что приводит к единичной элементарной матрице, имеющей диагональ, состоящую из положительных единиц) в вышеизложенном примере элементарной матрицы P, тогда видно, что обращение P является точно следующим:
.
В целом, следует признать, что обратная матрица единичной элементарной матрицы легко определяется посредством обращения (умножения на -1) каждого ее нетривиального коэффициента α, который не находится вдоль диагонали.
Если матрицы , применяющиеся в декодере 32, показанном на фиг. 1, являются единичными элементарными матрицами (имеющими единичные диагонали), последовательность матричных операций в кодере 30 и в декодере 32 может быть реализована схемами с ограниченной точностью типа, показанного на фиг. 2A и 2B. На фиг. 2A показана традиционная схема кодера для выполнения матричных операций без потерь посредством элементарных матриц, реализованных с использованием арифметических операций с ограниченной точностью. На фиг. 2B показана традиционная схема декодера для выполнения матричных операций без потерь посредством элементарных матриц, реализованных с использованием арифметических операций с ограниченной точностью. Подробности типичных реализаций, показанных на фиг. 2A и на фиг. 2B, схемы (и ее вариаций) описаны в вышеизложенном патенте США № 6611212, выданном 26 августа 2003 г.
На фиг. 2A (на которой представлена схема для кодирования четырехканальной звуковой программы, содержащей каналы S1, S2, S3 и S4) первая элементарная матрица P0-1 (имеющая одну строку из четырех ненулевых коэффициентов α) применяется в отношении каждого дискретного значения канала S1 (для генерирования кодированного канала S1’) посредством микширования соответствующего дискретного значения канала S1 с соответствующими дискретными значениями (возникающими в то же время t) каналов S2, S3 и S4. Вторая элементарная матрица P1-1 (также имеющая одну строку из четырех ненулевых коэффициентов α) применяется в отношении каждого дискретного значения канала S2 (для генерирования соответствующего дискретного значения кодированного канала S2’) посредством микширования соответствующего дискретного значения канала S2 с соответствующими дискретными значениями каналов S1’, S3 и S4. Более конкретно, дискретное значение канала S2 умножается на обратное значение коэффициента α1 (идентифицированного как «coeff[1,2]») матрицы P0-1, дискретное значение канала S3 умножается на обратное значение коэффициента α2 (идентифицированного как «coeff[1,3]») матрицы P0-1 и дискретное значение канала S4 умножается на обратное значение коэффициента α3 (идентифицированного как «coeff[1,4]») матрицы P0-1, произведения суммируются, а затем квантуются и квантованная сумма затем вычитается из соответствующего дискретного значения канала S1. Подобным образом, дискретное значение канала S1 умножается на обратное значение коэффициента α0 (идентифицированного как «coeff[2,1]») матрицы P1-1, дискретное значение канала S3 умножается на обратное значение коэффициента α2 (идентифицированного как «coeff[2,3]») матрицы P1-1 и дискретное значение канала S4 умножается на обратное значение коэффициента α3 (идентифицированного как «coeff[2,4]») матрицы P1-1, произведения суммируются, а затем квантуются и квантованная сумма затем вычитается из соответствующего дискретного значения канала S2. На этапе Q1 квантования матрицы P0-1 осуществляется квантование выходного значения элемента суммирования, который суммирует результаты умножений (на ненулевые коэффициенты α матрицы P0-1, которые, как правило, являются дробными значениями), для генерирования квантованного значения, которое вычитается из дискретного значения канала S1 для генерирования соответствующего дискретного значения кодированного канала S1’. На этапе Q2 квантования матрицы P1-1 осуществляется квантование выходного значения элемента суммирования, который суммирует результаты умножений (на ненулевые коэффициенты α матрицы P1-1, которые, как правило, являются дробными значениями), для генерирования квантованного значения, которое вычитается из дискретного значения канала S2 для генерирования соответствующего дискретного значения кодированного канала S2’. В типичной реализации (например, для выполнения кодирования TrueHD) каждое дискретное значение каждого канала S1, S2, S3 и S4 содержит 24 бита (как указано на фиг. 2A) и выходное значение каждого элемента умножения содержит 38 битов (как также указано на фиг. 2A) и на каждом этапе Q1 и Q2 квантования выводится 24-битовое квантованное значение в ответ на каждое 38-битовое значение, которое вводится на каждом этапе.
Конечно, для кодирования каналов S3 и S4 две дополнительные элементарные матрицы могут быть каскадированы с двумя элементарными матрицами (P0-1 и P1-1), указанными на фиг. 2A.
На фиг. 2B (на которой представлена схема для декодирования четырехканальной кодированной программы, сгенерированной кодером, показанным на фиг. 2A) элементарная матрица P1 (имеющая одну строку из четырех ненулевых коэффициентов α и которая является обратной матрицей матрицы P1-1) применяется в отношении каждого дискретного значения кодированного канала S2’ (для генерирования соответствующего дискретного значения декодированного канала S2) посредством микширования дискретных значений каналов S1’, S3 и S4 с соответствующим дискретным значением канала S2’. Вторая элементарная матрица P0 (также имеющая одну строку из четырех ненулевых коэффициентов α и которая является обратной матрицей матрицы P0-1) применяется в отношении каждого дискретного значения кодированного канала S1’ (для генерирования соответствующего дискретного значения декодированного канала S1) посредством микширования дискретных значений каналов S2, S3 и S4 с соответствующим дискретным значением канала S1’. Более конкретно, дискретное значение канала S1’ умножается на коэффициент α0 (идентифицированный как «coeff[2,1]») матрицы P1, дискретное значение канала S3 умножается на коэффициент α2 (идентифицированный как «coeff[2,3]») матрицы P1 и дискретное значение канала S4 умножается на коэффициент α3 (идентифицированный как «coeff[2,4]») матрицы P1, произведения суммируются, а затем квантуются, и квантованная сумма затем прибавляется к соответствующему дискретному значению канала S1’. Подобным образом, дискретное значение канала S2’ умножается на коэффициент α1 (идентифицированный как «coeff[1,2]») матрицы P0, дискретное значение канала S3 умножается на коэффици