Представлення багатоканального звуку з використанням інтерпольованих матриць
Номер патенту: 113482
Опубліковано: 25.01.2017
Автори: Мелкоте Вінай, Уілсон Ронда, Лоу Малкольм Дж., Джаспар Енді, Плеін Саймон
Формула / Реферат
1. Спосіб кодування N-канальної звукової програми, який відрізняється тим, що програму зазначають в інтервалі часу, інтервал часу містить підінтервал від моменту часу t1 до моменту часу t2, і змінюване в часі мікшування A(t) N кодованих каналів сигналу в M вихідних каналів зазначають в інтервалі часу, де M менше або дорівнює N, при цьому зазначений спосіб включає етапи:
визначення першого каскаду елементарних матриць N×N, який при застосуванні до дискретних значень N кодованих каналів сигналу реалізує перше мікшування звукового вмісту N кодованих каналів сигналу в M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t) у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1); і при цьому елементарну матрицю N×N визначають як матрицю, в якій N-1 рядків містить недіагональні елементи, що дорівнюють нулю, і діагональні елементи з абсолютним значенням, що дорівнює 1;
визначення значень інтерполяції, які разом з першим каскадом елементарних матриць і функцією інтерполяції, визначеної в підінтервалі, вказують на послідовність каскадів оновлених елементарних матриць N×N, так що кожний з каскадів оновлених елементарних матриць при застосуванні до дискретних значень N кодованих каналів сигналу реалізує оновлене мікшування, пов'язане з різним часом у підінтервалі, N кодованих каналів сигналу в M вихідних каналів, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A(t); і
генерування кодованого бітового потоку, який вказує на кодований звуковий вміст, значення інтерполяції й перший каскад елементарних матриць.
2. Спосіб за п. 1, який відрізняється тим, що кожна з елементарних матриць є одиничною елементарною матрицею.
3. Спосіб за п. 2, який відрізняється тим, що додатково включає етап генерування кодованого звукового вмісту за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і послідовність каскадів матриць містить перший каскад зворотних матриць, який є каскадом зворотних матриць елементарних матриць першого каскаду.
4. Спосіб за п. 2, який відрізняється тим, що додатково включає етап генерування кодованого звукового вмісту за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і кожний каскад матриць у послідовності є зворотним каскадом відповідного каскаду каскадів оновлених елементарних матриць N×N і N=M, так що M вихідних каналів є таким ж, як і N каналів відновленої без втрат програми.
5. Спосіб за п. 2, який відрізняється тим, що N=M і спосіб додатково включає етап відновлення без втрат N каналів програми за допомогою обробки кодованого бітового потоку, у тому числі за допомогою:
виконання інтерполяції для визначення послідовності каскадів оновлених елементарних матриць N×N зі значень інтерполяції, першого каскаду елементарних матриць і функції інтерполяції.
6. Спосіб за п. 5, який відрізняється тим, що кодований бітовий потік також указує на функцію інтерполяції.
7. Спосіб за п. 1, який відрізняється тим, що N=M і спосіб додатково включає етапи:
подачі кодованого бітового потоку на декодер, виконаний з можливістю реалізації функції інтерполяції; і
обробки кодованого бітового потоку в декодері для відновлення без втрат N каналів програми, у тому числі за допомогою виконання інтерполяції для визначення послідовності каскадів оновлених елементарних матриць N×N, зі значень інтерполяції, першого каскаду елементарних матриць і функції інтерполяції.
8. Спосіб за п. 1, який відрізняється тим, що програма є звуковою програмою на основі об'єкта, що містить щонайменше один об'єктний канал і дані, що вказують на траєкторію щонайменше одного об'єкта.
9. Спосіб за п. 1, який відрізняється тим, що перший каскад елементарних матриць реалізує початкову елементарну матрицю, і значення інтерполяції вказують на початкову дельта-матрицю для початкової елементарної матриці.
10. Спосіб за п. 4, який відрізняється тим, що змінюване в часі понижувальне мікшування A2(t) звукового вмісту або кодованого вмісту програми в M1 каналів динаміка також зазначають в інтервалі часу, при цьому M1 є цілим, яке менше, ніж M, і спосіб додатково включає етапи:
визначення другого каскаду елементарних матриць M1×M1, який при застосуванні до дискретних значень M1 каналів звукового вмісту або кодованого вмісту реалізує понижувальне мікшування звукового вмісту програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) у тому розумінні, що понижувальне мікшування щонайменше по суті дорівнює A2(t1); і
визначення додаткових значень інтерполяції, які разом із другим каскадом елементарних матриць M1×M1 і другою функцією інтерполяції, визначеної протягом підінтервалу, вказують на послідовність каскадів оновлених елементарних матриць M1×M1, так що кожний з каскадів оновлених елементарних матриць M1×M1 при застосуванні до дискретних значень M1 каналів звукового вмісту або кодованого вмісту реалізує оновлене понижувальне мікшування, пов'язане з різним часом у підінтервалі, звукового вмісту програми в M1 каналів динаміка, при цьому кожне зазначене оновлене понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) і при цьому кодований бітовий потік указує на додаткові значення інтерполяції й другий каскад елементарних матриць M1×M1.
11. Спосіб за п. 10, який відрізняється тим, що кодований бітовий потік також указує на другу функцію інтерполяції.
12. Спосіб за п. 10, який відрізняється тим, що зміна в часі в специфікації A2(t) понижувального мікшування частково обумовлена підвищенням або звільненням від захисту від зрізання зазначеного понижувального мікшування.
13. Спосіб за п. 1, який відрізняється тим, що значення інтерполяції містять значення нормованого коефіцієнта дельта, що представлені Y бітами й вказують на дану кількість бітів, і значення точності, при цьому значення нормованого коефіцієнта дельта вказують на нормовані версії значень коефіцієнта дельта, значення коефіцієнта дельта вказують на швидкості зміни коефіцієнтів елементарних матриць, а значення точності вказують на збільшення точності, необхідної для представлення значень коефіцієнта дельта, щодо точності, необхідної для представлення коефіцієнтів елементарних матриць.
14. Спосіб за п. 13, який відрізняється тим, що значення коефіцієнта дельта отримують за допомогою масштабування значень нормованого коефіцієнта дельта на коефіцієнт масштабування, який залежить від роздільної здатності коефіцієнтів елементарних матриць і значень точності.
15. Спосіб за п. 4, який відрізняється тим, що змінюване в часі понижувальне мікшування A2(t) звукового вмісту або кодованого вмісту програми в M1 каналів динаміка також зазначають в інтервалі часу, при цьому M1 є цілим, яке менше, ніж M, і спосіб додатково включає етап
визначення другого каскаду елементарних матриць M1×M1, який при застосуванні до дискретних значень M1 каналів кодованого звукового вмісту в кожний момент t часу в інтервалі реалізує понижувальне мікшування N-канальної звукової програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t).
16. Спосіб за п. 15, який відрізняється тим, що зміна в часі в специфікації A2(t) понижувального мікшування частково обумовлена підвищенням або звільненням від захисту від зрізання зазначеного понижувального мікшування.
17. Спосіб відновлення M каналів N-канальної звукової програми, який відрізняється тим, що програму зазначають в інтервалі часу, інтервал часу містить підінтервал від моменту часу t1 до моменту часу t2, і змінюване в часі мікшування A(t) N кодованих каналів сигналу в M вихідних каналів зазначають в інтервалі часу, при цьому зазначений спосіб включає етапи:
одержання кодованого бітового потоку, який вказує на кодований звуковий вміст, значення інтерполяції й перший каскад елементарних матриць N×N; і при цьому елементарну матрицю N×N визначають як матрицю, в якій N-1 рядків містить недіагональні елементи, що дорівнюють нулю, і діагональні елементи з абсолютним значенням, що дорівнює 1; і
виконання інтерполяції для визначення послідовності каскадів оновлених елементарних матриць N×N зі значень інтерполяції, першого каскаду елементарних матриць і функції інтерполяції в підінтервалі, при цьому
перший каскад елементарних матриць N×N при застосуванні до дискретних значень N кодованих каналів сигналу кодованого звукового вмісту реалізує перше мікшування звукового вмісту N кодованих каналів сигналу в M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t) у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1); і
значення інтерполяції разом з першим каскадом елементарних матриць і функцією інтерполяції вказують на послідовність каскадів оновлених елементарних матриць N×N, так що кожний з каскадів оновлених елементарних матриць при застосуванні до дискретних значень N кодованих каналів сигналу кодованого звукового вмісту реалізує оновлене мікшування, пов'язане з різним часом у підінтервалі, N кодованих каналів сигналу в M вихідних каналів, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A(t).
18. Спосіб за п. 17, який відрізняється тим, що кожна з елементарних матриць є одиничною елементарною матрицею.
19. Спосіб за п. 18, який відрізняється тим, що кодований звуковий вміст генерують за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і послідовність каскадів матриць містить перший каскад зворотних матриць, який є каскадом зворотних матриць елементарних матриць першого каскаду.
20. Спосіб за п. 18, який відрізняється тим, що кодований звуковий вміст генерують за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і кожний каскад матриць у послідовності є зворотним каскадом відповідного каскаду каскадів оновлених елементарних матриць N×N, і N=M, так що M вихідних каналів є таким же, як і N каналів відновленої без втрат програми.
21. Спосіб за п. 20, який відрізняється тим, що змінюване в часі понижувальне мікшування A2(t) звукового вмісту або кодованого вмісту програми в M1 каналів динаміка також зазначають в інтервалі часу, при цьому M1 є цілим, яке менше, ніж N, і спосіб додатково включає етапи:
приймання другого каскаду елементарних матриць M1×M1; і
застосування другого каскаду M1×M1 до дискретних значень M1 каналів кодованого звукового вмісту в кожний момент t часу в інтервалі для реалізації понижувального мікшування N-канальної звукової програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t).
22. Спосіб за п. 21, який відрізняється тим, що зміна в часі в специфікації A2(t) понижувального мікшування частково обумовлена підвищенням або звільненням від захисту від зрізання зазначеного понижувального мікшування.
23. Спосіб за п. 17, який відрізняється тим, що кодований бітовий потік також указує на функцію інтерполяції.
24. Спосіб за п. 17, який відрізняється тим, що програма є звуковою програмою на основі об'єкта, що містить щонайменше один об'єктний канал і дані, що вказують на траєкторію щонайменше одного об'єкта.
25. Спосіб за п. 17, який відрізняється тим, що перший каскад елементарних матриць реалізує початкову елементарну матрицю, і значення інтерполяції вказують на початкову дельта-матрицю для початкової елементарної матриці.
26. Спосіб за п. 17, який відрізняється тим, що зазначений спосіб додатково включає етап
застосування щонайменше одного з каскадів оновлених елементарних матриць N×N до дискретних значень кодованого звукового вмісту, у тому числі за допомогою окремого застосування початкової елементарної матриці й початкової дельта-матриці до дискретних значень кодованого звукового вмісту для генерування перетворених дискретних значень і лінійного комбінування перетворених дискретних значень відповідно до функції інтерполяції, таким чином, з генеруванням відновлених дискретних значень, що вказують на дискретні значення M каналів N-канальної звукової програми.
27. Спосіб за п. 17, який відрізняється тим, що функція інтерполяції є по суті постійною протягом декількох інтервалів кодованого бітового потоку, і кожний найпізніше оновлений каскад із каскадів оновлених елементарних матриць N×N оновлюють за допомогою інтерполяції тільки під час інтервалу кодованого бітового потоку, під час якого функція інтерполяції не є по суті постійною.
28. Спосіб за п. 17, який відрізняється тим, що значення інтерполяції містять значення нормованого коефіцієнта дельта, що представлені Y бітами й вказують на дану кількість бітів точності, і значення точності, при цьому значення нормованого коефіцієнта дельта вказують на нормовані версії значень коефіцієнта дельта, значення коефіцієнта дельта вказують на швидкості зміни коефіцієнтів елементарних матриць, і значення точності вказують на збільшення точності, необхідної для представлення значень коефіцієнта дельта, щодо точності, необхідної для представлення коефіцієнтів елементарних матриць.
29. Спосіб за п. 28, який відрізняється тим, що значення коефіцієнта дельта отримують за допомогою масштабування значень нормованого коефіцієнта дельта на коефіцієнт масштабування, який залежить від роздільної здатності коефіцієнтів елементарних матриць і значень точності.
30. Спосіб за п. 20, який відрізняється тим, що змінюване в часі понижувальне мікшування A2(t) N-канальної звукової програми в M1 каналів динаміка також зазначають в інтервалі часу, при цьому M1 є цілим, яке менше, ніж N, і спосіб додатково включає етапи:
приймання другого каскаду елементарних матриць M1×M1 і другого набору значень інтерполяції;
застосування другого каскаду елементарних матриць M1×M1 до дискретних значень M1 каналів кодованого звукового вмісту для реалізації понижувального мікшування N-канальної програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) у тому розумінні, що понижувальне мікшування щонайменше по суті дорівнює A2(t1);
застосування другого набору значень інтерполяції, другого каскаду елементарних матриць M1×M1 і другої функції інтерполяції, визначеної в підінтервалі, для одержання послідовності каскадів оновлених елементарних матриць M1×M1; і
застосування оновлених елементарних матриць M1×M1 до дискретних значень M1 каналів кодованого вмісту для реалізації щонайменше одного оновленого понижувального мікшування N-канальної програми, пов'язаної з різним часом у підінтервалі, при цьому кожне зазначене оновлене понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t).
31. Спосіб за п. 30, який відрізняється тим, що кожна з елементарних матриць є одиничною елементарною матрицею.
32. Спосіб за п. 30, який відрізняється тим, що кодований бітовий потік також указує на другу функцію інтерполяції.
33. Спосіб за п. 30, який відрізняється тим, що зазначений спосіб додатково включає етап
застосування щонайменше одного з каскадів оновлених елементарних матриць M1×M1 до дискретних значень аудіоданих кодованого звукового вмісту або таких дискретних значень аудіоданих, що визначені з нього, у тому числі за допомогою окремого застосування початкової елементарної матриці й початкової дельта-матриці до дискретних значень аудіоданих для генерування перетворених дискретних значень і лінійного комбінування перетворених дискретних значень відповідно до функції інтерполяції.
34. Спосіб за п. 30, який відрізняється тим, що друга функція інтерполяції є по суті постійною протягом декількох інтервалів кодованого бітового потоку й кожний найпізніше оновлений каскад із каскадів оновлених елементарних матриць M1×M1 оновлюють за допомогою інтерполяції тільки під час інтервалу кодованого бітового потоку, під час якого функція інтерполяції не є по суті постійною.
35. Спосіб за п. 30, який відрізняється тим, що зміна в часі в специфікації A2(t) понижувального мікшування частково обумовлена підвищенням або звільненням від захисту від зрізання зазначеного понижувального мікшування.
36. Спосіб за п. 17, який відрізняється тим, що додатково включає етапи
добування контрольного слова з кодованого бітового потоку й перевірки того, чи правильно відновили канали сегмента звукової програми, за допомогою порівняння другого контрольного слова, отриманого з дискретних значень аудіоданих, згенерованих зазначеною підсистемою множення матриць, з контрольним словом, витягнутим з кодованого бітового потоку.
37. Аудіокодер, виконаний з можливістю кодування N-канальної звукової програми, який відрізняється тим, що програма зазначена в інтервалі часу, інтервал часу містить підінтервал від моменту часу t1 до моменту часу t2, і змінюване в часі мікшування A(t) N кодованих каналів сигналу в M вихідних каналів зазначено в інтервалі часу, де M менше або дорівнює N, при цьому зазначений кодер містить:
першу підсистему, з'єднану й виконану з можливістю визначення першого каскаду елементарних матриць N×N, який при застосуванні до дискретних значень N кодованих каналів сигналу реалізує перше мікшування звукового вмісту N кодованих каналів сигналу в M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t) у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1), і при цьому елементарна матриця N×N визначена як матриця, в якій N-1 рядків містить недіагональні елементи, що дорівнюють нулю, і діагональні елементи з абсолютним значенням, що дорівнює 1; і з можливістю визначення значень інтерполяції, які разом з першим каскадом елементарних матриць і функцією інтерполяції, визначеною в підінтервалі, вказують на послідовність каскадів оновлених елементарних матриць N×N, так що кожний з каскадів оновлених елементарних матриць при застосуванні до дискретних значень N кодованих каналів сигналу реалізує оновлене мікшування, пов'язане з різним часом у підінтервалі, N кодованих каналів сигналу в M вихідних каналів, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A(t); і
другу підсистему, з'єднану з першою підсистемою й виконану з можливістю генерування кодованого бітового потоку, який вказує на кодований звуковий вміст, значення інтерполяції й перший каскад елементарних матриць.
38. Кодер за п. 37, який відрізняється тим, що кожна з елементарних матриць є одиничною елементарною матрицею.
39. Кодер за п. 38, який відрізняється тим, що додатково містить третю підсистему, з'єднану з другою підсистемою й виконану з можливістю генерування кодованого звукового вмісту за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і послідовність каскадів матриць містить перший каскад зворотних матриць, який є каскадом зворотних матриць елементарних матриць першого каскаду.
40. Кодер за п. 38, який відрізняється тим, що додатково містить третю підсистему, з'єднану з другою підсистемою й виконану з можливістю генерування кодованого звукового вмісту за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і кожний каскад матриць у послідовності є зворотним каскадом відповідного каскаду каскадів оновлених елементарних матриць N×N і N=M, так що M вихідних каналів є таким же, як і N каналів відновленої без втрат програми.
41. Кодер за п. 37, який відрізняється тим, що кодований бітовий потік також указує на функцію інтерполяції.
42. Кодер за п. 37, який відрізняється тим, що програма є звуковою програмою на основі об'єкта, що містить щонайменше один об'єктний канал і дані, що вказують на траєкторію щонайменше одного об'єкта.
43. Кодер за п. 37, який відрізняється тим, що перший каскад елементарних матриць реалізує початкову елементарну матрицю й значення інтерполяції вказують на початкову дельта-матрицю для початкової елементарної матриці.
44. Кодер за п. 40, який відрізняється тим, що змінюване в часі понижувальне мікшування A2(t) звукового вмісту або кодованого вмісту програми в M1 каналів динаміка також зазначено в інтервалі часу, при цьому M1 є цілим, яке менше, ніж M;
при цьому перша підсистема виконана з можливістю визначення другого каскаду елементарних матриць M1×M1, який при застосуванні до дискретних значень M1 каналів звукового вмісту або кодованого вмісту реалізує понижувальне мікшування звукового вмісту програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) у тому розумінні, що понижувальне мікшування щонайменше по суті дорівнює A2(t1), і з можливістю визначення додаткових значень інтерполяції, які разом із другим каскадом елементарних матриць M1×M1 і другою функцією інтерполяції, визначеною в підінтервалі, вказують на послідовність каскадів оновлених елементарних матриць M1×M1, так що кожний з каскадів оновлених елементарних матриць M1×M1 при застосуванні до дискретних значень M1 каналів звукового вмісту або кодованого вмісту реалізує оновлене понижувальне мікшування, пов'язане з різним часом у підінтервалі, звукового вмісту програми в M1 каналів динаміка, при цьому кожне зазначене оновлене понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t); і
при цьому друга підсистема виконана з можливістю генерування даних кодованого бітового потоку, які повинні вказувати на додаткові значення інтерполяції й другий каскад елементарних матриць M1×M1.
45. Кодер за п. 44, який відрізняється тим, що друга підсистема виконана з можливістю генерування даних кодованого бітового потоку, які також повинні вказувати на другу функцію інтерполяції.
46. Кодер за п. 37, який відрізняється тим, що значення інтерполяції містять значення нормованого коефіцієнта дельта, що представлені Y бітами й вказують на дану кількість бітів точності, і значення точності, при цьому значення нормованого коефіцієнта дельта вказують на нормовані версії значень коефіцієнта дельта, значення коефіцієнта дельта вказують на швидкості зміни коефіцієнтів елементарних матриць, і значення точності вказують на збільшення точності, необхідної для представлення значень коефіцієнта дельта, щодо точності, необхідної для представлення коефіцієнтів елементарних матриць.
47. Кодер за п. 46, який відрізняється тим, що значення коефіцієнта дельта отримані за допомогою масштабування значень нормованого коефіцієнта дельта на коефіцієнт масштабування, який залежить від роздільної здатності коефіцієнтів елементарних матриць і значень точності.
48. Декодер, виконаний з можливістю реалізації відновлення N-канальної звукової програми, який відрізняється тим, що програма зазначена в інтервалі часу, інтервал часу містить підінтервал від моменту часу t1 до моменту часу t2, і змінюване в часі мікшування A(t) N кодованих каналів сигналу в M вихідних каналів зазначено в інтервалі часу, при цьому зазначений декодер містить:
підсистему синтаксичного розбору, з'єднану й виконану з можливістю добування з кодованого бітового потоку кодованого звукового вмісту, значень інтерполяції й першого каскаду елементарних матриць N×N; і при цьому елементарна матриця N×N визначена як матриця, в якій N-1 рядків містить недіагональні елементи, що дорівнюють нулю, і діагональні елементи з абсолютним значенням, що дорівнює 1; і
підсистему інтерполяції, з'єднану й виконану з можливістю визначення послідовності каскадів оновлених елементарних матриць N×N зі значень інтерполяції, першого каскаду елементарних матриць N×N і функції інтерполяції в підінтервалі; при цьому
перший каскад елементарних матриць N×N при застосуванні до дискретних значень N кодованих каналів сигналу кодованого звукового вмісту реалізує перше мікшування звукового вмісту N кодованих каналів сигналу в M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t) у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1); і
кожний з каскадів оновлених елементарних матриць N×N при застосуванні до дискретних значень N кодованих каналів сигналу кодованого звукового вмісту реалізує оновлене мікшування, пов'язане з різним часом у підінтервалі, N кодованих каналів сигналу в M вихідних каналів, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A(t).
49. Декодер за п. 48, який відрізняється тим, що додатково містить
підсистему множення матриць, з'єднану з підсистемою інтерполяції й підсистемою синтаксичного розбору й виконану з можливістю послідовного застосування першого каскаду елементарних матриць N×N і кожного з каскадів оновлених елементарних матриць N×N до кодованого звукового вмісту для відновлення без втрат N каналів щонайменше сегмента N-канальної звукової програми.
50. Декодер за п. 48, який відрізняється тим, що кожна з елементарних матриць є одиничною елементарною матрицею.
51. Декодер за п. 48, який відрізняється тим, що кодований бітовий потік також указує на функцію інтерполяції й підсистема синтаксичного розбору виконана з можливістю добування з кодованого бітового потоку даних, що вказують на функцію інтерполяції.
52. Декодер за п. 48, який відрізняється тим, що програма є звуковою програмою на основі об'єкта, що містить щонайменше один об'єктний канал і дані, що вказують на траєкторію щонайменше одного об'єкта.
53. Декодер за п. 48, який відрізняється тим, що перший каскад елементарних матриць N×N реалізує початкову елементарну матрицю й значення інтерполяції вказують на початкову дельта-матрицю для початкової елементарної матриці.
54. Декодер за п. 48, який відрізняється тим, що значення інтерполяції містять значення нормованого коефіцієнта дельта, що представлені Y бітами й указують на дану кількість бітів точності, і значення точності, при цьому значення нормованого коефіцієнта дельта вказують на нормовані версії значень коефіцієнта дельта, значення коефіцієнта дельта вказують на швидкості зміни коефіцієнтів елементарних матриць, і значення точності вказують на збільшення точності, необхідної для представлення значень коефіцієнта дельта, щодо точності, необхідної для представлення коефіцієнтів елементарних матриць.
55. Декодер за п. 54, який відрізняється тим, що значення коефіцієнта дельта отримані за допомогою масштабування значень нормованого коефіцієнта дельта на коефіцієнт масштабування, який залежить від роздільної здатності коефіцієнтів елементарних матриць і значень точності.
56. Декодер за п. 49, який відрізняється тим, що також виконаний з можливістю відновлення понижувального мікшування N-канальної звукової програми, при цьому змінюване в часі понижувальне мікшування A2(t) N-канальної програми в M1 каналів динаміка також зазначено в інтервалі часу, де M1 є цілим, яке менше, ніж N, при цьому підсистема синтаксичного розбору виконана з можливістю добування з кодованого бітового потоку другого каскаду елементарних матриць M1×M1 і другого набору значень інтерполяції, при цьому підсистема множення матриць з'єднана й виконана з можливістю застосування другого каскаду елементарних матриць M1×M1 до дискретних значень M1 каналів кодованого звукового вмісту для реалізації понижувального мікшування N-канальної програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) у тому розумінні, що понижувальне мікшування щонайменше по суті дорівнює A2(t1), і при цьому
підсистема інтерполяції виконана з можливістю застосування другого набору значень інтерполяції, другого каскаду елементарних матриць M1×M1 і другої функції інтерполяції, визначеної в підінтервалі, для одержання послідовності каскадів оновлених елементарних матриць M1×M1, і підсистема множення матриць з'єднана й виконана з можливістю застосування оновлених елементарних матриць M1×M1 до дискретних значень M1 каналів кодованого вмісту для реалізації щонайменше одного оновленого понижувального мікшування N-канальної програми, зв'язаної з різним часом у підінтервалі, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A2(t).
57. Декодер за п. 56, який відрізняється тим, що кожна з елементарних матриць є одиничною елементарною матрицею.
58. Декодер за п. 48, який відрізняється тим, що кодований бітовий потік також указує на функцію інтерполяції й підсистема синтаксичного розбору виконана з можливістю добування з кодованого бітового потоку даних, що вказують на функцію інтерполяції.
59. Декодер за п. 49, який відрізняється тим, що підсистема синтаксичного розбору виконана з можливістю добування контрольного слова з кодованого бітового потоку й підсистема множення матриць виконана з можливістю перевірки того, чи були правильно відновлені N каналів сегмента N-канальної звукової програми, за допомогою порівняння другого контрольного слова, отриманого з дискретних значень аудіоданих, згенерованих зазначеною підсистемою множення матриць, з контрольним словом, витягнутим з кодованого бітового потоку.
Текст
Реферат: Способи, в яких використовують інтерпольовані елементарні матриці для декодування кодованого звуку для відновлення (без втрат) вмісту багатоканальної звукової програми й/або для відновлення щонайменше одного понижувального мікшування даного вмісту, і способи кодування для генерування даного кодованого звуку. У деяких варіантах здійснення декодер виконує інтерполяцію відносно набору початкових елементарних матриць для визначення інтерпольованих матриць для використання в каналах представлення програми. Іншими аспектами є система або пристрій, виконані з можливістю реалізації будь-якого варіанта здійснення способу. UA 113482 C2 (12) UA 113482 C2 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 ПЕРЕХРЕСНЕ ПОСИЛАННЯ НА СПОРІДНЕНІ ЗАЯВКИ Дана заявка заявляє пріоритет попередньої заявки на патент США № 61/883890, поданої 27 вересня 2013 р., яка повністю включена в даний опис за допомогою посилання. ОБЛАСТЬ ТЕХНІКИ Винахід відноситься до обробки звукових сигналів і, точніше, до представлення багатоканальних звукових програм (наприклад, бітових потоків, що вказують на звукові програми на основі об'єкта, що включають щонайменше один звуковий об'єктний канал і щонайменше один канал динаміка) з використанням інтерпольованих матриць, і до кодування й декодування програм. У деяких варіантах здійснення декодер виконує інтерполяцію відносно набору початкових елементарних матриць для визначення інтерпольованих матриць для використання в каналах представлення програми. Деякі варіанти здійснення генерують, декодують і/або представляють аудіодані у форматі, відомому як Dolby TrueHD. ПЕРЕДУМОВИ ВИНАХОДУ Dolby і Dolby TrueHD є торговельними марками Dolby Laboratories Licensing Corporation. Складність, фінансові витрати й обчислювальні витрати представлення звукових програм збільшуються з кількістю каналів, які повинні бути представлені. Під час представлення й відтворення звукових програм на основі об'єкта звуковий вміст має кількість каналів (наприклад, об'єктних каналів і каналів динаміка), яка, як правило, значно перевищує (наприклад, на порядок величини) кількість, що виникає під час представлення й відтворення традиційних програм на основі каналу динаміка. Як правило, система динаміка, що використовується для відтворення, також включає набагато більшу кількість динаміків, ніж кількість, що використовується для відтворення традиційних програм на основі каналу динаміка. Незважаючи на те, що варіанти здійснення винаходу підходять для каналів представлення будь-якої багатоканальної звукової програми, багато варіантів здійснення винаходу є особливо підходящими для каналів представлення звукових програм на основі об'єкта, що мають велику кількість каналів. Відоме використання систем відтворення (наприклад, у кінотеатрах) для представлення звукових програм на основі об'єкта. Звукові програми на основі об'єкта можуть вказувати на безліч різних звукових об'єктів, відповідних до зображень на екрані, діалогу, шумів і звукових ефектів, які виходять із різних місць на екрані (або відносно нього), а також фонову музику й ефекти навколишнього середовища (які можуть бути зазначені каналами динаміка програми) для створення передбачуваних вражень від загального прослуховування. Для точного відтворення даних програм необхідно, щоб звуки були відтворені таким чином, який як можна більш точно відповідає тому, що передбачалося творцем вмісту відносно розміру, положення, інтенсивності, руху й глибини звукового об'єкта. Під час генерування звукових програм на основі об'єкта, як правило, передбачається, що гучномовці, які повинні бути використані для представлення, розташовані в довільних місцях розташування в середовищі відтворення; необов'язково у визначеному розташуванні в (номінально) горизонтальній площині або в будь-якому іншому визначеному розташуванні, відомому під час генерування програми. Як правило, метадані, включені в програму, вказують на параметри представлення для представлення щонайменше одного об'єкта програми в певному місці розташування в просторі або вздовж траєкторії (у тривимірному обсязі), наприклад, з використанням тривимірного масиву динаміків. Наприклад, об'єктний канал програми може мати відповідні метадані, що вказують на тривимірну траєкторію певних положень у просторі, в яких повинен бути представлений об'єкт (зазначений об'єктним каналом). Траєкторія може включати послідовність «підлогових» місць розташування (у площині піднабору динаміків, які повинні бути розташовані на підлозі, або в іншій горизонтальній площині середовища відтворення) і послідовність «надпідлогових» місць розташування (кожне з яких визначено за допомогою переміщення піднабору динаміків, які повинні бути розташовано в щонайменше ще одній горизонтальній площині середовища відтворення). Звукові програми на основі об'єкта представляють значне поліпшення в багатьох відношеннях у порівнянні з традиційними звуковими програмами на основі каналу динаміка, оскільки звук на основі каналу динаміка є більш обмеженим відносно відтворення в просторі конкретних звукових об'єктів, ніж звук на основі об'єктного каналу. Звукові програми на основі каналу динаміка складаються тільки з каналів динаміка (а не об'єктних каналів), і кожний канал динаміка, як правило, визначає сигнал, що подавався на динамік, для конкретного окремого динаміка в середовищі прослуховування. Були запропоновані різні способи й системи генерування й представлення звукових програм на основі об'єкта. Під час генерування звукової програми на основі об'єкта, як правило, передбачається, що довільна кількість гучномовців буде використана для відтворення 1 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 програми, і що гучномовці, які повинні бути використані для відтворення, будуть розташовані в довільних місцях розташування в середовищі відтворення; необов'язково в (номінально) горизонтальній площині або в будь-якому іншому визначеному розташуванні, відомому під час генерування програми. Як правило, метадані, що відносяться до об'єкта, включені в програму, указують на параметри представлення для представлення щонайменше одного об'єкта програми в певному місці розташування в просторі або уздовж траєкторії (у тривимірному об'ємі), наприклад, з використанням тривимірного масиву динаміків. Наприклад, об'єктний канал програми може мати відповідні метадані, що вказують на тривимірну траєкторію певних положень у просторі, в яких повинен бути представлений об'єкт (зазначений об'єктним каналом). Траєкторія може включати послідовність «підлогових» місць розташування (у площині піднабору динаміків, які повинні бути розташовані на підлозі, або в іншій горизонтальній площині середовища відтворення) і послідовність «надпідлогових» місць розташування (кожне з яких визначено за допомогою переміщення піднабору динаміків, які повинні бути розташовані в щонайменше ще одній горизонтальній площині середовища відтворення). Приклади представлення звукових програм на основі об'єкта описані, наприклад, у міжнародній заявці 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): 2 UA 113482 C2 y0 (t ) a00 (t ) a01 (t ) a02 (t ) y (t ) a (t ) 1 10 yM 1 (t ) aM 1,0 (t ) y (t ) 5 10 15 20 25 30 35 40 45 50 A(t ) x (t ) a0, N 1 (t ) 0 x1 (t ) x (t ) 2 aM 1, N 1 (t ) xN 1 (t ) x(t ) (1) Незважаючи на те, що рівняння (1) описує представлення N каналів звукової програми (наприклад, звукової програми на основі об'єкта або кодованої версії звукової програми на основі об'єкта) в M вихідних каналів (наприклад, M сигналів, що подаються на динамік), воно також представляє загальний набір сценаріїв, у яких набір з N дискретних значень аудіоданих перетворюється в набір з M значень (наприклад, M дискретних значень) за допомогою лінійних операцій. Наприклад, матриця A(t) може бути статичною матрицею «A», коефіцієнти якої не змінюються залежно від різних значень часу «t». У якості ще одного прикладу матриця A(t) (яка може бути статичною матрицею A) може представляти традиційне понижувальне мікшування набору каналів динаміка X(t) до меншого набору каналів динаміка y(t) (або x(t) може бути набором звукових каналів, які описують сцену в просторі у форматі амбіофонії) і перетворення в сигнали, що подаються на динамік, y(t) може бути презентовано в якості множення на матрицю понижувального мікшування A. Навіть у застосуванні, що використовує номінально статичну матрицю понижувального мікшування, застосоване фактичне лінійне перетворення (множення матриць) може бути динамічним для гарантування захисту від усікання понижувального мікшування (тобто статичне перетворення A може бути перетворене в змінюване в часі перетворення A(t) для гарантування захисту від усікання). Система представлення звукової програми (наприклад, декодер, що реалізує таку систему) може приймати метадані, які визначають матриці A(t) представлення (або вона може приймати самі матриці) тільки періодично, а не в кожний момент часу «t» під час програми. Наприклад, це може відбуватися з кожної з ряду причин, наприклад, внаслідок низької роздільної здатності за часом системи, яка фактично виводить метадані, або необхідності обмежити бітову швидкість передачі програми. Автори винаходу усвідомили, що у випадку системи представлення може бути необхідна інтерполяція між матрицями представлення A(t1) іA(t2) у моменти «t1» і «t2» часу під час програми відповідно для одержання матриці A(t3) представлення для проміжного моменту «t3» часу. Інтерполяція гарантує, що сприймане положення об'єктів у представлених сигналах, що подаються на динамік, змінюється плавно з проходженням часу, і може усунути небажані артефакти, такі як шуми застібки-блискавки, які є наслідком періодичних (кусковопостійних) відновлень матриці. Інтерполяція може бути лінійною (або нелінійною) і, як правило, повинна гарантувати безперервну передачу в часі від A(t1) доA(t2). 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-канального понижувального мікшування. Кожна статична матриця понижувального 3 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 мікшування може бути перетворена в послідовність матриць понижувального мікшування (кожна матриця в послідовності призначена для понижувального мікшування різного інтервалу в програмі) для досягнення захисту від усікання. Однак кожна матриця в послідовності передається (або метадані, що визначають кожну матрицю в послідовності, передаються) на декодер, а декодер не виконує інтерполяцію щодо будь-якої раніше зазначеної матриці для визначення наступної матриці в послідовності матриць понижувального мікшування для програми. На фіг. 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, ідентифікованого як -1 -1 -1 -1 Pn ,…,P1 ,P0 ,P0 , який буде більш докладно описаний далі). Підсистема 34 визначення матриці виконана з можливістю генерування даних, що вказують на коефіцієнти двох наборів вихідних матриць (по одному набору, що відповідає кожному з двох 2 2 підпотоків кодованих каналів). Один набір вихідних матриць складається з двох матриць P 0 ,P1 , кожна з яких є елементарною матрицею (визначеною далі) з розмірністю 2×2 і призначена для представлення першого підпотоку (підпотоку понижувального мікшування), що містить два кодовані звукові канали кодованого бітового потоку (для представлення двоканального понижувального мікшування восьмиканального вхідного звуку). Інший набір вихідних матриць складається з матриць представлення P0,P1,…,Pn, кожна з яких є елементарною матрицею й призначена для представлення другого підпотоку, що містить усі вісім кодованих звукових каналів кодованого бітового потоку (для відновлення без втрат восьмиканальної вхідної 2 2 -1 -1 -1 звукової програми). Каскад матриць P0 ,P1 разом з матрицями P0 , P1 , …, Pn , застосованими до звуку на кодері, рівняється специфікації матриці понижувального мікшування, яка перетворює 8 вхідних звукових каналів в 2-канальне понижувальне мікшування, і каскад матриць P0,P1,…,Pn представляє 8 кодованих каналів кодованого бітового потоку назад у первинні 8 вхідних каналів. Коефіцієнти (кожної матриці), які виводяться з підсистеми 34 на підсистему 35 упакування, є метаданими, що вказують на відносний або абсолютний коефіцієнт підсилення кожного каналу, який повинен бути включений у відповідне мікшування каналів програми. Коефіцієнти кожної матриці представлення (для моменту часу під час програми) представляють, який внесок кожний з каналів мікшування повинен внести в мікшування звукового вмісту (у відповідний момент представленого мікшування), зазначеного сигналом, що подаєтеся на динамік, для конкретного динаміка системи відтворення. Вісім кодованих каналів сигналу (виведених на етапі 33 кодування), коефіцієнти вихідної матриці (згенеровані підсистемою 34), а також, як правило, додаткові дані передаються на підсистему 35 упакування, яка компонує їх у кодований бітовий потік, який потім передається на систему 31 подачі. 4 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 Кодований бітовий потік містить дані, що вказують на вісім кодованих звукових каналів, два набори вихідних матриць (по одному набору, що відповідає кожному з двох підпотоків кодованих каналів), а також, як правило, додаткові дані (наприклад, метадані про звуковий вміст). Підсистема 36 синтаксичного розбору декодера 32 виконана з можливістю прийняття (зчитування або приймання) кодованого бітового потоку від системи 31 подачі й з можливістю синтаксичного розбору кодованого бітового потоку. Підсистема 36 виконана з можливістю передачі підпотоків кодованого бітового потоку, включаючи «перший» підпотік, що містить 2 2 тільки два кодовані канали кодованого бітового потоку, і вихідних матриць (P 0 ,P1 ), що відповідають першому підпотоку, на етапі 38 множення матриць (для обробки, яка приводить до 2-канального представлення понижувального мікшування вмісту первинної 8-канальної вхідної програми). Підсистема 36 також виконана з можливістю передачі підпотоків кодованого бітового потоку (при цьому «другий» підпотік містить усі вісім кодованих каналів кодованого бітового потоку) і відповідних вихідних матриць (P0,P1,…,Pn) на етапі 37 множення матриць для обробки, яка приводить до представлення без втрат первинної 8-канальної програми. Більш конкретно, на етапі 38 виконується множення двох дискретних значень аудіоданих 2 2 двох каналів першого підпотоку за допомогою каскаду матриць P0 ,P1 , і кожний отриманий у результаті набір із двох лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком за назвою «Chassign0», для одержання кожної пари дискретних значень необхідного 2-канального понижувального мікшування 8 первинних звукових каналів. Каскад матричних операцій, що виконуються в кодері 30 і декодері 32, еквівалентний застосуванню специфікації матриці понижувального мікшування, яка перетворює 8 вхідних звукових каналів в 2-канальне понижувальне мікшування. На етапі 37 виконується множення кожного вектора восьми дискретних значень аудіоданих (по одному з кожного повного набору з восьми каналів кодованого бітового потоку) на каскад матрицьP0,P1,…,Pn, і кожний отриманий у результаті набір з восьми лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком за назвою «Chassign1», для одержання кожного набору з восьми дискретних значень відновленої без втрат первинної 8-канальної програми. Для того щоб вихідний 8-канальний звук був точно таким же, як і вхідний 8-канальний звук (для досягнення характеристики «без втрат» системи), матричні операції, що виконуються в кодері 30, повинні бути точним (включаючи ефекти квантування) перетворенням матричних операцій, що виконуються в декодері 32 щодо (другого) підпотоку без втрат кодованого бітового потоку 1 (тобто множення на каскад матрицьP0,P ,…,Pn). Таким чином, на фіг. 1 матричні операції на етапі 33 кодера 30 ідентифікуються в якості каскаду зворотних матриць матриць P 0,P1,…,Pn у -1 -1 протилежній послідовності, що застосовується на етапі 37 декодера 32, а саме: P n-1,…,Pn ,P0 . Декодер 32 застосовує перетворювання переставлення каналів, що застосовується кодером 30 (тобто матриця переставлень, що представлена елементом «Chassign1» декодера 32, є зворотною матрицею матриці, представленої елементом «InvChAssign1» кодера 30). З урахуванням специфікації матриці понижувального мікшування (наприклад, специфікації статичної матриці A, яка має розмірність 2×8) метою реалізації традиційного кодера TrueHD 2 2 кодера 30 є створення вихідних матриць (наприклад, P0,P1,…,Pn i P0 ,P1 , показаних на фіг. 1) і -1 -1 -1 призначень вхідних матриць (Pn ,…,P1 ,P0 ) і вихідного (і вхідного) каналу, так що: 1. кодований бітовий потік є ієрархічним (тобто в прикладі перших двох кодованих каналів досить для одержання 2-канального представлення понижувального мікшування й повного набору з восьми кодованих каналів досить для відновлення первинної 8-канальної програми); і 2. матриці для самого верхнього потоку ( у прикладі) є точно перетворюваними, так що вхідний звук може бути точно витягнутий декодером. Типові обчислювальні системи працюють з обмеженою точністю й для точного перетворювання довільної перетворюваної матриці може знадобитися дуже висока точність. Формат TrueHD вирішує дану проблему за допомогою обмеження вихідних матриць і вхідних -1 -1 матриць (тобто P0,P1,…,Pn i Pn ,P0 ) до квадратних матриць типу, відомого як «елементарні матриці». Елементарна матриця P з розмірністю N×N має такий вигляд: 5 UA 113482 C2 1 0 0 1 0 P 0 1 2 0 0 0 5 10 15 20 25 30 40 45 0 Елементарна матриця завжди є квадратною матрицею. Елементарна матриця з розмірністю 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. Якщо α2=1 (що приводить до одиничної елементарної матриці, що має діагональ, що складається з позитивних одиниць) у вищевикладеному прикладі елементарної матриці P, тоді видно, що перетворення P є точно наступним: 1 0 P 1 0 0 35 0 N 1 1 . 0 1 0 1 1 0 0 0 0 N 1 1 . У цілому, слід визнати, що зворотна матриця одиничної елементарної матриці легко визначається за допомогою перетворення (множення на -1) кожного її нетривіального коефіцієнта α, який не перебуває уздовж діагоналі. Якщо матриці P0,P1,…,Pn, що застосовуються в декодері 32, показаному на фіг. 1, є одиничними елементарними матрицями (що мають одиничні діагоналі), послідовність -1 -1 -1 матричних операцій Pn ,…,P1 ,P0 у кодері 30 і P0,P1,…,Pn у декодері 32 може бути реалізована схемами з обмеженою точністю типу, показаного на фіг. 2A і 2B. На фіг. 2A показана традиційна схема кодера для виконання матричних операцій без втрат за допомогою елементарних матриць, реалізованих з використанням арифметичних операцій з обмеженою точністю. На фіг. 2B показана традиційна схема декодера для виконання матричних операцій без втрат за допомогою елементарних матриць, реалізованих з використанням арифметичних операцій з обмеженою точністю. Подробиці типових реалізацій, показаних на фіг. 2A і на фіг. 2B, схеми (і її варіацій) описані у вищевикладеному патенті США № 6611212, виданому 26 серпня 2003 р. На фіг. 2A (на якій представлена схема для кодування чотирьохканальної звукової 6 UA 113482 C2 -1 5 10 15 20 25 30 35 40 45 50 55 60 програми, що містить канали S1, S2, S3 і S4) перша елементарна матриця P 0 ( що має один рядок із чотирьох ненульових коефіцієнтів α) застосовується щодо кожного дискретного значення каналу S1 (для генерування кодованого каналу S1’) за допомогою мікшування відповідного дискретного значення каналу S1 з відповідними дискретними значеннями -1 (виникаючими в той же час t) каналів S2, S3 і S4. Друга елементарна матриця P1 (що також має один рядок із чотирьох ненульових коефіцієнтів α) застосовується щодо кожного дискретного значення каналу S2 (для генерування відповідного дискретного значення кодованого каналу S2’) за допомогою мікшування відповідного дискретного значення каналу S2 з відповідними дискретними значеннями каналів S1’, S3 і S4. Більш конкретно, дискретне значення каналу S2 множиться на зворотне значення коефіцієнта α 1 (ідентифікованого як -1 «coeff[1,2]») матриці P0 , дискретне значення каналу S3 множиться на зворотне значення -1 коефіцієнта α2 (ідентифікованого як «coeff[1,3]») матриці P0 і дискретне значення каналу S4 -1 множиться на зворотне значення коефіцієнта α3 (ідентифікованого як «coeff[1,4]») матриці P 0 , добутки підсумовуються, а потім квантуються, і квантована сума потім віднімається з відповідного дискретного значення каналу S1. Подібним чином, дискретне значення каналу S1 -1 множиться на зворотне значення коефіцієнта α0 (ідентифікованого як «coeff[2,1]») матриці P 1 , дискретне значення каналу S3 множиться на зворотне значення коефіцієнта α 2 -1 (ідентифікованого як «coeff[2,3]») матриці P 1 і дискретне значення каналу S4 множиться на -1 зворотне значення коефіцієнта α3 (ідентифікованого як «coeff[2,4]») матриці P1 , добутки підсумовуються, а потім квантуються, і квантована сума потім віднімається з відповідного -1 дискретного значення каналу S2. На етапі Q1 квантування матриці P0 здійснюється квантування вихідного значення елемента підсумовування, який підсумовує результати -1 множень (на ненульові коефіцієнти α матриці P0 , які, як правило, є дробовими значеннями), для генерування квантованого значення, яке віднімається від дискретного значення каналу S1 для генерування відповідного дискретного значення кодованого каналу S1’. На етапі Q2 -1 квантування матриці P1 здійснюється квантування вихідного значення елемента -1 підсумовування, який підсумовує результати множень (на ненульові коефіцієнти α матриці P 1 , які, як правило, є дробовими значеннями), для генерування квантованого значення, яке віднімається від дискретного значення каналу S2 для генерування відповідного дискретного значення кодованого каналу S2’. У типовій реалізації (наприклад, для виконання кодування TrueHD) кожне дискретне значення кожного каналу S1, S2, S3 і S4 містить 24 біти (як зазначено на фіг. 2A), а вихідне значення кожного елемента множення містить 38 бітів (як також зазначено на фіг. 2A), і на кожному етапі Q1 і Q2 квантування виводиться 24-бітове квантоване значення у відповідь на кожне 38-бітове значення, яке вводиться на кожному етапі. Звичайно, для кодування каналів S3 і S4 дві додаткові елементарні матриці можуть бути -1 -1 каскадовані з двома елементарними матрицями (P0 і P1 ), зазначеними на фіг. 2A. На фіг. 2B (на якій представлена схема для декодування чотирьохканальної кодованої програми, згенерованої кодером, показаним на фіг. 2A) елементарна матриця P 1 (що має один -1 рядок із чотирьох ненульових коефіцієнтів α і є зворотною матрицею матриці P 1 ) застосовується щодо кожного дискретного значення кодованого каналу S2’ (для генерування відповідного дискретного значення декодованого каналу S2) за допомогою мікшування дискретних значень каналів S1’, S3 і S4 з відповідним дискретним значенням каналу S2’. Друга елементарна матриця P0 (що також має один рядок із чотирьох ненульових коефіцієнтів α і є -1 зворотною матрицею матриці P0 ) застосовується щодо кожного дискретного значення кодованого каналу S1’ (для генерування відповідного дискретного значення декодованого каналу S1) за допомогою мікшування дискретних значень каналів S2, S3 і S4 з відповідним дискретним значенням каналу S1’. Більш конкретно, дискретне значення каналу S1’ множиться на коефіцієнт α0 (ідентифікований як «coeff[2,1]») матриці P 1, дискретне значення каналу S3 множиться на коефіцієнт α2 (ідентифікований як «coeff[2,3]») матриці P1 і дискретне значення каналу S4 множиться на коефіцієнт α3 (ідентифікований як «coeff[2,4]») матриці P1, добутки підсумовуються, а потім квантуються, і квантована сума потім додається до відповідного дискретного значення каналу S1’. Подібним чином, дискретне значення каналу S2’ множиться на коефіцієнт α1 (ідентифікований як «coeff[1,2]») матриці P 0, дискретне значення каналу S3 множиться на коефіцієнт α2 (ідентифікований як «coeff[1,3]») матриці P0 і дискретне значення каналу S4 множиться на коефіцієнт α3 (ідентифікований як «coeff[1,4]») матриці P0, добутки підсумовуються, а потім квантуються, і квантована сума потім додається до відповідного дискретного значення каналу S1’. На етапі Q2 квантування матриці P1 здійснюється квантування вихідного значення елемента підсумовування, який підсумовує результати множень (на ненульові коефіцієнти α матриці P1, які, як правило, є дробовими значеннями), для генерування квантованого значення, яке додається до дискретного значення каналу S2’ для генерування 7 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 відповідного дискретного значення декодованого каналу S2. На етапі Q1 квантування матриці P0 здійснюється квантування вихідного значення елемента підсумовування, який підсумовує результати множень (на ненульові коефіцієнти α матриці P0, які, як правило, є дробовими значеннями), для генерування квантованого значення, яке додається до дискретного значення каналу S1’ для генерування відповідного дискретного значення декодованого каналу S1. У типовій реалізації (наприклад, для виконання декодування TrueHD) кожне дискретне значення кожного каналу S1’, S2’, S3 і S4 містить 24 біти (як зазначено на фіг. 2B) і вихідне значення кожного елемента множення містить 38 бітів (як також зазначено на фіг. 2B) і на кожному етапі Q1 і Q2 квантування виводиться 24-бітове квантоване значення у відповідь на кожне 38-бітове значення, яке вводиться на кожному етапі. Звичайно, для декодування каналів S3 і S4 дві додаткові елементарні матриці можуть бути каскадовані з двома елементарними матрицями (P0 і P1), зазначеними на фіг. 2B. Послідовність елементарних матриць, наприклад послідовність елементарних матриць N×N P0,P1,…,Pn, реалізованих декодером, показаним на фіг. 1, що застосовується відносно вектора (N дискретних значень, кожне з яких є дискретним значенням відмінного каналу першого набору з N каналів), може реалізувати будь-яке лінійне перетворення N дискретних значень у новий набір з N дискретних значень (наприклад, вона може реалізувати лінійне перетворення, що виконується в момент часу t, за допомогою множення дискретних значень N каналів звукової програми на основі об'єкта на будь-яку реалізацію N×N матриці A(t) рівняння (1) під час представлення каналів в N сигналів, що подаються на динамік, при цьому перетворення досягається за допомогою керування одним каналом за раз). Таким чином, множення набору з N дискретних значень аудіоданих на послідовність елементарних матриць N×N представляє загальний набір сценаріїв, у яких набір з N дискретних значень перетворюється в інший набір (з N дискретних значень) за допомогою лінійних операцій. Знову посилаючись на реалізацію TrueHD декодера 32, показаного на фіг. 1, для підтримки 2 2 однорідності архітектури декодера в TrueHD вихідні матриці підпотоку (P 0 ,P1 на фіг. 1) понижувального мікшування також реалізуються в якості елементарних матриць, незважаючи на те, що вони не повинні бути оборотними (або мати одиничну діагональ), оскільки вони не пов'язані з досягненням якості без втрат. Вхідні й вихідні елементарні матриці, що використовуються в кодері й декодері TrueHD, залежать від кожної окремої специфікації понижувального мікшування, яка повинна бути виконана. Функцією декодера TrueHD є застосування відповідного каскаду елементарних матриць до прийнятого кодованого бітового аудіопотоку. Таким чином, декодер TrueHD, показаний на фіг. 1, декодує 8 каналів кодованого бітового потоку (поданого системою D) і генерує 2-канальне понижувальне мікшування за допомогою застосування каскаду з двох 2 2 вихідних елементарних матриць P0 ,P1 до піднабору каналів декодованого бітового потоку. Реалізація TrueHD декодера 32, показаного на фіг. 1, також виконана з можливістю декодування 8 каналів кодованого бітового потоку (поданого системою D) для відновлення без втрат первинної 8-канальної програми за допомогою застосування каскаду з восьми вихідних елементарних матриць P0,P1,…,Pn до каналів кодованого бітового потоку. Декодер TrueHD не має первинного звуку (який був поданий на кодер) для перевірки на відповідність для визначення того, чи не має відтворення втрат (або іншим способом на вимогу кодера у випадку понижувального мікшування). Однак кодований бітовий потік містить «контрольне слово» (або перевірку на втрати), яке порівнюється з подібним словом, отриманим на декодері з відтвореного звуку, для визначення того, чи є відтворення достовірним. Якщо звукова програма на основі об'єкта (наприклад, що містить більше восьми каналів) була кодована традиційним кодером TrueHD, кодер може згенерувати підпотоки понижувального мікшування, які містять представлення, сумісні з застарілими пристроями відтворення (наприклад, представлення, які можуть бути декодовані до сигналів, що подаються на динамік, з понижувальним мікшуванням для відтворення за допомогою традиційних каналів 7.1 або каналів 5.1, або іншого традиційного настроювання динаміків) і верхній підпотік (що вказує на всі канали вхідної програми). Декодер TrueHD може без втрат відновити первинну звукову програму на основі об'єкта для представлення системою відтворення. Кожна специфікація матриці представлення, що використовується кодером у цьому випадку (тобто для генерування верхнього підпотоку й кожного підпотоку понижувального мікшування), а отже, кожна вихідна матриця, що визначається кодером, можуть бути змінюваною в часі матрицею A(t) представлення, яка лінійно перетворює дискретні значення каналів програми (наприклад, для генерування понижувального мікшування каналів 7.1 або каналів 5.1). Однак така матриця A(t) буде, як правило, швидко змінюватися в часі з переміщенням об'єктів у сцені в просторі, і обмеження бітової швидкості передачі даних і обробки традиційної системи TrueHD (або іншої 8 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 традиційної системи декодування) будуть, як правило, обмежувати систему, так що вона буде в значний мірі відповідати кусково-постійному наближенню до такої безупинно (і швидко) змінюваної специфікації матриці (з більш високою швидкістю відновлення матриці, що досягається за рахунок збільшеної бітової швидкості передачі даних для передачі кодованої програми). Для підтримки представлення багатоканальних звукових програм на основі об'єкта (і інших багатоканальних звукових програм) із сигналами, що подаються на динамік, що вказують на швидко змінюване мікшування вмісту з каналів програми, автори винаходу визнали, що необхідно поліпшити традиційні системи для відповідності інтерпольованим матричним операціям, у яких нечасто відбуваються відновлення матриці представлення й параметрично зазначена необхідна траєкторія (тобто необхідна послідовність мікшувань вмісту каналів програми) між відновленнями. СУТНІСТЬ ВИНАХОДУ У класі варіантів здійснення винаходом є спосіб кодування N-канальної звукової програми (наприклад, звукової програми на основі об'єкта), при цьому програма зазначена в інтервалі часу, інтервал часу містить підінтервал від моменту часу t1 до моменту часу t2 і змінюване в часі мікшування A(t) N кодованих каналів сигналу в M вихідних каналів (наприклад, каналів, які відповідають каналам динаміка відтворення) зазначено в інтервалі часу, де M менше або дорівнює N, при цьому зазначений спосіб включає наступні етапи: визначення першого каскаду елементарних матриць N×N, який при застосуванні до дискретних значень N кодованих каналів сигналу реалізує перше мікшування звукового вмісту N кодованих каналів сигналу в M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t) у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1); визначення значень інтерполяції, які разом з першим каскадом елементарних матриць і функцією інтерполяції, визначеної протягом підінтервалу, вказують на послідовність каскадів оновлених елементарних матриць N×N, так що кожний каскад оновлених елементарних матриць при застосуванні до дискретних значень N кодованих каналів сигналу реалізує оновлене мікшування, пов'язане з різним часом у підінтервалі, N кодованих каналів сигналу в M вихідних каналів, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A(t) (переважно, оновлене мікшування, пов'язане з будь-яким моментом часу t3 у підінтервалі, щонайменше по суті дорівнює A(t3), але в деяких варіантах здійснення може існувати помилка між оновленим мікшуванням, пов'язаним із щонайменше одним моментом часу в підінтервалі, і значенням A(t) у цей момент часу); і генерування кодованого бітового потоку, який вказує на кодований звуковий вміст, значення інтерполяції й перший каскад елементарних матриць. У деяких варіантах здійснення спосіб включає етап генерування кодованого звукового вмісту за допомогою виконання матричних операцій відносно дискретних значень N каналів програми (наприклад, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і послідовність каскадів матриць містить перший каскад зворотних матриць, який є каскадом зворотних матриць елементарних матриць першого каскаду). У деяких варіантах здійснення кожна елементарна матриця є одиничною елементарною матрицею. У деяких варіантах здійснення, у яких N = M, спосіб додатково включає етап відновлення без втрат N каналів програми за допомогою обробки кодованого бітового потоку, у тому числі за допомогою виконання інтерполяції для визначення послідовності каскадів оновлених елементарних матриць N×N, зі значень інтерполяції, першого каскаду елементарних матриць і функції інтерполяції. Кодований бітовий потік може вказувати на (тобто може включати дані, що вказують на) функцію інтерполяції, або функція інтерполяції може бути іншим способом надана на декодер. У деяких варіантах здійснення, у яких N = M, спосіб додатково включає наступні етапи: подачу кодованого бітового потоку на декодер, виконаний з можливістю реалізації функції інтерполяції й обробку кодованого бітового потоку в декодері для відновлення без втрат N каналів програми, у тому числі за допомогою виконання інтерполяції для визначення послідовності каскадів оновлених елементарних матриць N×N, зі значень інтерполяції, першого каскаду елементарних матриць і функції інтерполяції. У деяких варіантах здійснення програма є звуковою програмою на основі об'єкта, що містить щонайменше один об'єктний канал і дані про положення, що вказують на траєкторію щонайменше одного об'єкта. Змінюване в часі мікшування A(t) може бути визначене з даних про положення (або з даних, що включають дані про положення). У деяких варіантах здійснення перший каскад елементарних матриць є початковою 9 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 елементарною матрицею й значення інтерполяції вказують на початкову дельта-матрицю для початкової елементарної матриці. У деяких варіантах здійснення змінюване в часі понижувальне мікшування A 2(t) звукового вмісту або кодованого вмісту програми в M1 каналів динаміка також зазначено в інтервалі часу, при цьому M1 є цілим, яке менше, ніж M, і спосіб включає наступні етапи: визначення другого каскаду елементарних матриць M1×M1, який при застосуванні до дискретних значень M1 каналів звукового вмісту або кодованого вмісту реалізує понижувальне мікшування звукового вмісту програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) у тому розумінні, що понижувальне мікшування щонайменше по суті дорівнює A2(t1); визначення додаткових значень інтерполяції, які разом із другим каскадом елементарних матриць M1×M1 і другою функцією інтерполяції, визначеної протягом підінтервалу, указують на послідовність каскадів оновлених елементарних матриць M1×M1, так що кожний каскад оновлених елементарних матриць M1×M1 при застосуванні до дискретних значень M1 каналів звукового вмісту або кодованого вмісту реалізує оновлене понижувальне мікшування, пов'язане з різним часом у підінтервалі, звукового вмісту програми в M1 каналів динаміка, при цьому кожне зазначене оновлене понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) і при цьому кодований бітовийпотік указує на додаткові значення інтерполяції й другий каскад елементарних матриць M1×M1. Кодований бітовий потік може вказувати на (тобто може включати дані, що вказують на) другу функцію інтерполяції, або друга функція інтерполяції може бути іншим способом надана на декодер. Змінюване в часі понижувальне мікшування A2(t) є понижувальним мікшуванням звукового вмісту або кодованого вмісту програми в тому розумінні, що воно є понижувальним мікшуванням звукового вмісту первинної програми, або кодованого звукового вмісту кодованого бітового потоку, або частково декодованої версії кодованого звукового вмісту кодованого бітового потоку, або іншим способом кодованого (наприклад, частково декодованого) звуку, що вказує на звуковий вміст програми Змінювання в часі в специфікації A2(t) понижувального мікшування може відбуватися внаслідок (щонайменше частково) підвищення до або звільнення від захисту від усікання зазначеного понижувального мікшування. У другому класі варіантів здійснення винаходом є спосіб відновлення M каналів багатоканальної звукової програми (наприклад, звукової програми на основі об'єкта), при цьому програма визначена в інтервалі часу, інтервал часу містить підінтервал від моменту часу t1 до моменту часу t2 і змінюване в часі мікшування A(t) N кодованих каналів сигналу в M вихідних каналів було визначено в інтервалі часу, при цьому зазначений спосіб включає наступні етапи: одержання кодованого бітового потоку, який вказує на кодований звуковий вміст, значення інтерполяції й перший каскад елементарних матриць N×N; і виконання інтерполяції для визначення послідовності каскадів оновлених елементарних матриць N×N зі значень інтерполяції, першого каскаду елементарних матриць і функції інтерполяції в підінтервалі, при цьому перший каскад елементарних матриць N×N при застосуванні до дискретних значень N кодованих каналів сигналу кодованого звукового вмісту реалізує перше мікшування звукового вмісту N кодованих каналів сигналу в M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t) у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1), і значення інтерполяції разом з першим каскадом елементарних матриць і функцією інтерполяції вказують на послідовність каскадів оновлених елементарних матриць N×N, так що кожний каскад оновлених елементарних матриць при застосуванні до дискретних значень N кодованих каналів сигналу кодованого звукового вмісту реалізує оновлене мікшування, пов'язане з різним часом у підінтервалі, N кодованих каналів сигналу в M вихідних каналів, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A(t) (переважно, оновлене мікшування, пов'язане з будь-яким моментом часу t3 у підінтервалі, щонайменше по суті дорівнює A(t3), але в деяких варіантах здійснення може існувати помилка між оновленим мікшуванням, пов'язаним із щонайменше одним моментом часу в підінтервалі, і значенням A(t) у цей момент часу). У деяких варіантах здійснення кодований звуковий вміст було згенеровано за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і послідовність каскадів матриць містить перший каскад зворотних матриць, який є каскадом зворотних матриць елементарних матриць першого каскаду. Канали звукової програми, які відновлені (наприклад, відновлені без втрат) відповідно до даних варіантів здійснення з кодованого бітового потоку, можуть бути понижувальним 10 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 мікшуванням звукового вмісту X-канальної вхідної звукової програми (при цьому X є довільним цілим і N менше X), яка була згенерована з X-канальної вхідної звукової програми за допомогою виконання матричних операцій щодо X-канальної вхідної звукової програми, отже, визначаючи кодований звуковий вміст кодованого бітового потоку. У деяких варіантах здійснення в другому класі кожна елементарна матриця є одиничною елементарною матрицею. У деяких варіантах здійснення в другому класі змінюване в часі понижувальне мікшування A2(t) N-канальної програми в M1 каналів динаміка зазначено в інтервалі часу, і змінюване в часі понижувальне мікшування A2(t) звукового вмісту або кодованого вмісту програми в M каналів динаміка було також зазначено в інтервалі часу. Спосіб включає наступні етапи: приймання другого каскаду елементарних матриць M1×M1 і другого набору значень інтерполяції; застосування другого каскаду елементарних матриць M1×M1 до дискретних значень M1 каналів кодованого звукового вмісту для реалізації понижувального мікшування N-канальної програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) у тому розумінні, що понижувальне мікшування щонайменше по суті дорівнює A2(t1); застосування другого набору значень інтерполяції, другого каскаду елементарних матриць M1×M1 і другої функції інтерполяції, визначеної в підінтервалі, для одержання послідовності каскадів оновлених елементарних матриць M1×M1; і застосування оновлених елементарних матриць M1×M1 до дискретних значень M1 каналів кодованого вмісту для реалізації щонайменше одного оновленого понижувального мікшування N-канальної програми, пов'язаної з різним часом у підінтервалі, при цьому кожне зазначене оновлене понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t). У деяких варіантах здійснення винаходом є спосіб представлення багатоканальної звукової програми, що включає етапи надання набору початкових матриць (наприклад, однієї початкової матриці або набору з щонайменше двох початкових матриць, що відповідає моменту часу під час звукової програми) на декодер і виконання інтерполяції відносно набору початкових матриць (який пов'язаний з моментом часу під час звукової програми) для визначення інтерпольованого набору матриць представлення (однієї інтерпольованої матриці представлення або набору з щонайменше двох інтерпольованих матриць представлення, що відповідає більш пізньому моменту часу під час звукової програми) для використання в каналах представлення програми. У деяких варіантах здійснення початкова елементарна матриця й початкова дельта-матриця (або набір з початкових елементарних матриць і початкових дельта-матриць) подаються час від часу (наприклад, нечасто) на декодер. Декодер оновлює кожну початкову елементарну матрицю (що відповідає моменту часу t1) за допомогою генерування інтерпольованої елементарної матриці (для більш пізнього моменту часу t, ніж t1) відповідно до варіанта здійснення винаходу з початкової елементарної матриці й відповідної початкової дельтаматриці й функції f (t) інтерполяції. Дані, що вказують на функцію інтерполяції, можуть бути подані разом з початковими матрицями або функція інтерполяції може бути визначена (тобто заздалегідь відома як кодеру, так і декодеру). У якості альтернативи початкова елементарна матриця (або набір з початкових елементарних матриць) подається час від часу (наприклад, нечасто) на декодер. Декодер оновлює кожну початкову елементарну матрицю (що відповідає моменту часу t1) за допомогою генерування інтерпольованої елементарної матриці (для більш пізнього моменту часу t, ніж t1) відповідно до варіанта здійснення винаходу з початкової елементарної матриці й функції f (t) інтерполяції, тобто необов'язково використовувати початкову дельта-матрицю, яка відповідає початковій елементарній матриці. Дані, що вказують на функцію інтерполяції, можуть бути подані разом з початковою елементарною матрицею (або матрицями), або функція може бути визначена (тобто заздалегідь відома як кодеру, так і декодеру). У типових варіантах здійснення кожна елементарна матриця є одиничною елементарною матрицею. У цьому випадку, зворотна матриця елементарної матриці легко визначається за допомогою перетворення (множення на -1) кожного її нетривіального коефіцієнта (кожного її коефіцієнта α). Це дозволяє більш ефективне визначення зворотних матриць елементарних матриць (які застосовуються кодером для кодування бітового потоку) і забезпечує використання обробки з обмеженою точністю (наприклад, схем з обмеженою точністю) для реалізації необхідних множень матриць у кодері й декодері. Аспекти винаходу включають систему або пристрій (наприклад, кодер або декодер), виконані (наприклад, запрограмовані) з можливістю реалізації будь-якого варіанта здійснення 11 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 способу винаходу, при цьому система або пристрій містять буфер, в якому зберігається (наприклад, постійно) щонайменше один кадр або інший сегмент кодованої звукової програми, згенерованої будь-яким варіантом здійснення способу винаходу або на його етапах, і машинопрочитуваний носій (наприклад, диск), на якому зберігається код (наприклад, постійно) для реалізації будь-якого варіанта здійснення способу винаходу або його етапів. Наприклад, система винаходуможе бути програмувальним процесором загального призначення, процесором цифрової обробки сигналів або мікропроцесором, запрограмованим з використанням програмного забезпечення або програмно-апаратного забезпечення та/або іншим способом виконаним з можливістю виконання будь-якої різноманітності операцій відносно даних, включаючи варіант здійснення способу винаходу або його етапи, або містити його. Такий процесор загального призначення може бути комп'ютерною системою, що включає пристрій введення, пам'ять і схему обробки, запрограмовану (і/або іншим способом виконану для) на виконання варіанта здійснення способу винаходу (або його етапів) у відповідь на передані на неї дані, або містити таку систему. КОРОТКИЙ ОПИС ГРАФІЧНИХ МАТЕРІАЛІВ На фіг. 1 показана блок-діаграма традиційної системи, що містить кодер, підсистему подачі й декодер. На фіг. 2A показана діаграма традиційної схеми кодера для виконання матричних операцій без втрат за допомогою елементарних матриць, реалізованих з використанням арифметичних операцій з обмеженою точністю. На фіг. 2B показана діаграма традиційної схеми декодера для виконання матричних операцій без втрат за допомогою елементарних матриць, реалізованих з використанням арифметичних операцій з обмеженою точністю. На фіг. 3 показана блок-діаграма схеми, що використовується у варіанті здійснення винаходу для застосування елементарної матриці 4× 4 (реалізованої з використанням арифметичних операцій з обмеженою точністю) до чотирьох каналів звукової програми. Елементарна матриця є початковою елементарною матрицею, один нетривіальний рядок якої містить елементи α0, α1, α2 і α3. На фіг. 4 показана блок-діаграма схеми, що використовується у варіанті здійснення винаходу для застосування елементарної матриці 3×3 (реалізованої з використанням арифметичних операцій з обмеженою точністю) до трьох каналів звукової програми. Елементарна матриця є інтерпольованою елементарною матрицею, згенерованою з початкової елементарної матриці Pk (t1), один нетривіальний рядок якої містить елементи α0, α1 і α2, і початкової дельта-матриці ∆k(t1), нетривіальний рядок якої містить елементи δ0, δ1, …, δN-1, і функції f(t) інтерполяції На фіг. 5 показана блок-діаграма варіанта здійснення системи винаходу, що містить варіант здійснення кодера винаходу, підсистему подачі й варіант здійснення декодера винаходу. На фіг. 6 показана блок-діаграма ще одного варіанта здійснення системи винаходу, що містить варіант здійснення кодера винаходу, підсистему подачі й варіант здійснення декодера винаходу. На фіг. 7 показаний графік суми квадратичних помилок між отриманою специфікацією й дійсною специфікацією в різні моменти часу t з використанням інтерпольованих елементарних матриць (крива, позначена як «Інтерпольовані матричні операції») і кусково-постійних (неінтерпольованих) елементарних матриць (крива, позначена як «Неінтерпольовані матричні операції»). Умовні позначки й термінологія Усюди в даному розкритті, включаючи формулу винаходу, вираження виконання операції «щодо» сигналу або даних (наприклад, фільтрація, масштабування, перетворення або застосування коефіцієнта підсилення до сигналів або даних) використовується в широкому змісті для позначення виконання операції безпосередньо відносно сигналу або даних, або відносно обробленої версії сигналу або даних (наприклад, відносно версії сигналу, який був підданий попередній фільтрації або попередній обробці перед виконанням операції в його відношенні). Усюди в даному розкритті, включаючи формулу винаходу, вираження «система» використовується в широкому змісті для позначення пристрою, системи або підсистеми. Наприклад, підсистема, яка реалізує декодер, може називатися системою декодера, і система, що включає таку підсистему (наприклад, система, яка генерує Y вихідних сигналів у відповідь на ряд вхідних сигналів, у якій підсистема генерує М вхідних сигналів, і інші Y − M вхідні сигнали приймаються з зовнішнього джерела), також може називатися системою декодера. Усюди в даному розкритті, включаючи формулу винаходу, термін «процесор» 12 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 використовується в широкому змісті для позначення системи або пристрою, запрограмованого або іншим способом виконаного (наприклад, з використанням програмного забезпечення або програмно-апаратного забезпечення) з можливістю виконання операцій щодо даних (наприклад, аудіо або відео або інших даних зображень). Приклади процесорів включають програмовану користувачем вентильну матрицю (або іншу настроювану інтегральну схему, або набір мікросхем), процесор цифрової обробки сигналів, запрограмований і/або іншим способом виконаний на виконання конвеєрної обробки щодо аудіо або інших звукових даних, програмувальний процесор загального призначення або комп'ютер і програмувальну мікропроцесорну інтегральну схему або набір мікросхем. Усюди в даному розкритті, включаючи формулу винаходу, вираження «метадані» відноситься до окремих і різних даних з відповідних аудіоданих (звукового вмісту бітового потоку, який також включає метадані). Метадані пов'язані з аудіоданими й вказують щонайменше на одну ознаку або характеристику аудіоданих (наприклад, який тип (типи) обробки вже був виконаний або повинен бути виконаний щодо аудіоданих, або траєкторію об'єкта, зазначеного аудіоданими). Зв'язок метаданих з аудіоданими є синхронним за часом. Таким чином, справжні (прийняті або оновлені зовсім нещодавно) метадані можуть указувати, що відповідні аудіодані в цей момент мають зазначену ознаку й/або містять результати зазначеного типу обробки аудіоданих. Усюди в даному розкритті, включаючи формулу винаходу, термін «з'єднує» або «з'єднаний» використовується для позначення або безпосереднього, або непрямого з'єднання. Таким чином, якщо перший пристрій з'єднаний з другим пристроєм, дане з'єднання може бути здійснене за допомогою безпосереднього з'єднання або за допомогою непрямого з'єднання через інші пристрої або з'єднання. Усюди в даному розкритті, включаючи формулу винаходу вираження, що випливають, мають наступні визначення: - динамік і гучномовець використовуються як синоніми для позначення будь-якого звуковипромінювального перетворювача. Дане визначення включає гучномовці, реалізовані в якості кількох перетворювачів (наприклад, низькочастотного гучномовця й високочастотного гучномовця); - сигнал, що подавався на динамік: звуковий сигнал, який повинен бути поданий безпосередньо на гучномовець, або звуковий сигнал, який повинен бути послідовно поданий на підсилювач і гучномовець; - канал (або «звуковий канал»): монофонічний звуковий сигнал. Такий сигнал може бути, як правило, представлений таким чином, щоб бути еквівалентним подачі сигналу безпосередньо на гучномовець у необхідному або номінальному положенні. Необхідне положення може бути статичним, як звичайно буває у випадку з фізичними гучномовцями, або динамічним; - звукова програма: набір з одного або більше звукових каналів (щонайменше одного каналу динаміка й/або щонайменше одного об'єктного каналу), а також факультативно зв'язані метадані (наприклад, метадані, які описують необхідне представлення звуку в просторі); - канал динаміка (або «канал сигналу, що подається на динамік»): звуковий канал, який пов'язаний із зазначеним гучномовцем (у необхідному або номінальному положенні) або з зазначеною зоною динаміка в межах певної конфігурації динаміка. Канал динаміка представлений таким чином, щоб бути еквівалентним подачі звукового сигналу безпосередньо на зазначений гучномовець (у необхідному або номінальному положенні) або на динамік у зазначеній зоні динаміка; - об'єктний канал: звуковий канал, що вказує на звук, випромінюваний джерелом звуку (іноді називаний звуковим «об'єктом»). Як правило, об'єктний канал визначає параметричний опис джерела звуку (наприклад, метадані, що вказують на параметричний опис джерела звуку, включені в або надані об'єктним каналом). Опис джерела може визначити звук, випромінюваний джерелом (залежно від часу), певне положення (наприклад, тривимірні просторові координати) джерела залежно від часу й факультативно щонайменше один додатковий параметр (наприклад, розмір або ширину певного джерела), що характеризує джерело; і - звукова програма на основі об'єкта: звукова програма, що містить набір з одного або більш об'єктних каналів (а також факультативно, що містить щонайменше один канал динаміка), а також факультативно зв'язані метадані (наприклад, метадані, що вказують на траєкторію звукового об'єкта, який випромінює звук, зазначений об'єктним каналом, або метадані, що іншим способом вказують на необхідне представлення звуку в просторі звуку, зазначеного об'єктним каналом, або метадані, що вказують на ідентифікацію принаймні одного звукового об'єкта, який є джерелом звуку, зазначеного об'єктним каналом). ДОКЛАДНИЙ ОПИС ВАРІАНТІВ ЗДІЙСНЕННЯ ВИНАХОДУ 13 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 Приклади варіантів здійснення винаходу будуть описані з посиланням на фіг. 3, 4, 5 і 6. На фіг. 5 показана блок-діаграма варіанта здійснення системи винаходу обробки аудіоданих, яка містить кодер 40 (варіант здійснення кодера винаходу), підсистему 41 подачі (яка може бути ідентична підсистемі 31 подачі, показаній на фіг. 1) і декодер 42 (варіант здійснення декодера винаходу), з'єднані разом, як показано. Незважаючи на те, що підсистема 42 у даному документі називається «декодером», слід розуміти, що вона може бути реалізована в якості системи відтворення, що містить підсистему декодування (виконану з можливістю синтаксичного розбору й декодування бітового потоку, що вказує на кодовану багатоканальну звукову програму) і інші підсистеми, виконані з можливістю реалізації представлення й щонайменше деяких етапів відтворення вихідного сигналу підсистеми декодування. Деякими варіантами здійснення винаходу є декодери, які не виконані з можливістю виконання представлення й/або відтворення (і які, як правило, будуть використані разом з окремою системою відтворення й/або представлення). Деякими варіантами здійснення винаходу є системи відтворення (наприклад, система відтворення, що містить підсистему декодування й інші підсистеми, виконані з можливістю реалізації представлення й щонайменше деяких етапів відтворення вихідного сигналу підсистеми декодування). У показаній на фіг. 5 системі кодер 40 виконаний з можливістю кодування 8-канальної звукової програми (наприклад, традиційного набору сигналів 7.1, що подаються на динамік), оскільки кодований бітовий потік включає два підпотоки, і декодер 42 виконаний з можливістю декодування кодованого бітового потоку для представлення або первинної 8-канальної програми (без втрат), або 2-канального понижувального мікшування первинної 8-канальної програми. Кодер 40 з'єднаний і виконаний з можливістю генерування кодованого бітового потоку й з можливістю передачі кодованого бітового потоку на систему 41 подачі. Система 41 подачі з'єднана й виконана з можливістю подачі (наприклад, за допомогою записування й/або передачі) кодованого бітового потоку на декодер 42. У деяких варіантах здійснення система 41 реалізує подачу (наприклад, передачу) кодованої багатоканальної звукової програми через систему віщання або мережу (наприклад, мережу Інтернет) на декодер 42. У деяких варіантах здійснення система 41 записує кодовану багатоканальну звукову програму на носій даних (наприклад, диск або набір дисків) і декодер 42 виконаний з можливістю зчитування програми з носія даних. Блок, позначений як «InvChAssign1», у кодері 40 виконаний з можливістю виконання переставлення каналів (еквівалентного множенню на матрицю переставлень) відносно каналів вхідної програми. Потім переставлені канали зазнають кодування на етапі 43, який виводить вісім кодованих каналів сигналу. Кодовані канали сигналу можуть (але необов'язково) відповідати каналам динаміка відтворення. Кодовані канали сигналу іноді називаються «внутрішніми» каналами, оскільки декодер (і/або система представлення), як правило, декодує й представляє вміст кодованих каналів сигналу для відновлення вхідного звуку, так що кодовані канали сигналу є «внутрішніми» відносно системи кодування/декодування. Кодування, виконане на етапі 43, еквівалентне множенню кожного набору дискретних значень переставлених каналів на матрицю кодування (реалізовану в якості каскаду множень матриць, ідентифікованого як (P n 1 -1 -1 ,…, P1 і P0 ). Незважаючи на те, що n може дорівнювати 7 у наведеному як приклад варіанті здійснення, у варіанті здійснення й у його варіаціях вхідна звукова програма містить довільну кількість (N або X) каналів, при цьому N (або X) є будь-яким цілим вище одиниці й n, як показано на фіг. 5, може бути презентовано як n = N-1 (або n = X-1, або інше значення). У даних альтернативних варіантах здійснення кодер виконаний з можливістю кодування багатоканальної звукової програми, оскільки кодований бітовий потік містить деяку кількість підпотоків, і декодер виконаний з можливістю декодування кодованого бітового потоку для представлення або первинної багатоканальної програми (без втрат), або одного або декількох понижувальних мікшувань первинної багатоканальної програми. Наприклад, на етапі кодування (що відповідає етапу 43) такого альтернативного варіанта здійснення може бути здійснене застосування каскаду елементарних матриць N×N до дискретних значень каналів програми для генерування N кодованих каналів сигналу, які можуть бути перетворені в перше мікшування M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t), зазначеному в інтервалі, у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1), при цьому t1 є моментом часу в інтервалі. Декодер може створити M вихідних каналів за допомогою застосування каскаду елементарних матриць N×N, прийнятих у якості частини кодованого звукового вмісту. Кодер у такому альтернативному варіанті здійснення може також згенерувати другий каскад елементарних матриць M1×M1 (при цьому M1 є цілим, яке менше N), який також включений у кодований звуковий вміст. Декодер може застосувати другий каскад до 14 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 M1 кодованих каналів сигналу для реалізації понижувального мікшування N-канальної програми в M1 каналів динаміка, при цьому понижувальне мікшування відповідає змінюваному в часі мікшуванню A2(t) у тому розумінні, що понижувальне мікшування щонайменше по суті дорівнює A2(t1). Кодер у такому альтернативному варіанті здійснення буде також генерувати значення інтерполяції (відповідно до будь-якого варіанта здійснення цього винаходу) і включати значення інтерполяції в кодований бітовий потік, виведений з кодера, для використання декодером для декодування й представлення вмісту кодованого бітового потоку відповідно до змінюваного в часі мікшування A(t) і/або для декодування й представлення понижувального мікшування вмісту кодованого бітового потоку відповідно до змінюваного в часі мікшування A2(t). Опис фіг. 5 буде іноді відноситися до багатоканального сигналу, що подається на кодер винаходу, у якості 8-канального вхідного сигналу для більшої точності, але опис (з тривіальними варіаціями, зрозумілими фахівцям у даній області техніки) також застосовується до загального випадку за допомогою заміни посилань на 8-канальний вхідний сигнал на посилання на Nканальний вхідний сигнал, заміни посилань на каскади 8-канальних (або 2-канальних) елементарних матриць на посилання на M-канальні (або M1-канальні) елементарні матриці й заміни посилань на відновлення без втрат 8-канального вхідного сигналу на посилання на відновлення без втрат M-канального звукового сигналу (при цьому M-канальний звуковий сигнал був визначений за допомогою виконання матричних операцій для застосування змінюваного в часі мікшування A(t) до N-канального вхідного звукового сигналу для визначення M кодованих каналів сигналу). -1 -1 -1 З посиланням на етап 43 кодера, показаний на фіг. 5, кожна матриця P n ,…, P1 і P0 (а отже, каскад, застосований на етапі 43) визначається в підсистемі 44 і оновлюється час від часу (як правило, нечасто) відповідно до зазначеного змінюваного в часі мікшування N (де N = 8) каналів програми в N кодованих каналів сигналу, які були зазначені в інтервалі часу. Підсистема 44 визначення матриці виконана з можливістю генерування даних, що вказують на коефіцієнти двох наборів вихідних матриць (по одному набору, що відповідає кожному з двох підпотоків кодованих каналів). Кожний набір вихідних матриць оновлюється час від часу, так що коефіцієнти також оновлюються час від часу. Один набір вихідних матриць складається з двох 2 2 матриць P0 (t), P1 (t) представлення, кожна з яких є елементарною матрицею (переважно одиничною елементарною матрицею) з розмірністю 2×2 і призначена для представлення першого підпотоку (підпотоку понижувального мікшування), що містить два кодовані звукові канали кодованого бітового потоку (для представлення двоканального понижувального мікшування восьмиканального вхідного звуку). Інший набір вихідних матриць складається з восьми матриць P0(t), P1(t),…,Pn(t) представлення, кожна з яких є елементарною матрицею (переважно одиничною елементарною матрицею) з розмірністю 8×8 і призначена для представлення другого підпотоку, що містить усі вісім кодованих звукових каналів кодованого бітового потоку (для відновлення без втрат восьмиканальної вхідної звукової програми). Для 2 2 кожного моменту часу t каскад матриць P0 (t), P1 (t) представлення може бути інтерпретований у якості матриці представлення для каналів першого підпотоку, який представляє двоканальне понижувальне мікшування з двох кодованих каналів сигналу в перший підпотік, і, подібним чином, каскад матриць P0(t), P1(t),…,Pn(t) представлення може бути інтерпретований у якості матриці представлення для каналів другого підпотоку. Коефіцієнти (кожної матриці представлення), які виводяться з підсистеми 44 на підсистему 45 упакування, є метаданими, що вказують на відносний або абсолютний коефіцієнт підсилення кожного каналу, який повинен бути включений у відповідне мікшування каналів програми. Коефіцієнти кожної матриці представлення (для моменту часу під час програми) представляють, який внесок кожний з каналів мікшування повинен внести в мікшування звукового вмісту (у відповідний момент представленого мікшування), зазначеного сигналом, що подаєтеся на динамік, для конкретного динаміка системи відтворення. Вісім кодованих каналів сигналу (виведених на етапі 43 кодування), коефіцієнти вихідної матриці (згенеровані підсистемою 44), а також, як правило, додаткові дані передаються на підсистему 45 упакування, яка компонує їх у кодований бітовий потік, який потім передається на систему 41 подачі. Кодований бітовий потік містить дані, що вказують на вісім кодованих звукових каналів, два набори змінюваних у часі вихідних матриць (по одному набору, що відповідає кожному з двох підпотоків кодованих каналів), а також, як правило, додаткові дані (наприклад, метадані про звуковий вміст). Під час роботи кодер 40 (і альтернативні варіанти здійснення кодера винаходу, наприклад кодер 100, показаний на фіг. 6) кодує N-канальну звукову програму, дискретні значення якої відповідають інтервалу часу, при цьому інтервал часу містить підінтервал від моменту часу t1 15 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 до моменту часу t2. Якщо змінюване в часі мікшування A(t) N кодованих каналів сигналу в M вихідних каналів зазначено в інтервалі часу, тоді кодер виконує наступні етапи: визначення першого каскаду елементарних матриць N×N (наприклад, матриць P0(t1), P1(t1),…,Pn(t1) для моменту часу t1), який при застосуванні до дискретних значень N кодованих каналів сигналу реалізує перше мікшування звукового вмісту N кодованих каналів сигналу в M вихідних каналів, при цьому перше мікшування відповідає змінюваному в часі мікшуванню A(t) у тому розумінні, що перше мікшування щонайменше по суті дорівнює A(t1); генерування кодованого звукового вмісту (наприклад, вихідного сигналу на етапі 43 кодера 40 або вихідного сигналу на етапі 103 кодера 100) за допомогою виконання матричних операцій відносно дискретних значень N каналів програми, у тому числі за допомогою застосування послідовності каскадів матриць до дискретних значень, при цьому кожний каскад матриць у послідовності є каскадом елементарних матриць, і послідовність каскадів матриць містить перший каскад зворотних матриць, який є каскадом зворотних матриць елементарних матриць першого каскаду; визначення значень інтерполяції (наприклад, значень інтерполяції, включених у вихідний сигнал на етапі 44 кодера 40 або у вихідний сигнал на етапі 103 кодера 100), які разом з першим каскадом елементарних матриць (наприклад, включеним у вихідний сигнал на етапі 44 або етапі 103) і функцією інтерполяції, визначеної в підінтервалі, указують на послідовність каскадів оновлених елементарних матриць N×N, так що кожний каскад оновлених елементарних матриць при застосуванні до дискретних значень N кодованих каналів сигналу реалізує оновлене мікшування, пов'язане з різним часом у підінтервалі, N кодованих каналів сигналу в M вихідних каналів, при цьому кожне зазначене оновлене мікшування відповідає змінюваному в часі мікшуванню A(t). Переважно, але необов'язково (у всіх варіантах здійснення), кожне оновлене мікшування відповідає змінюваному в часі мікшуванню в тому розумінні, що оновлене мікшування, пов'язане з будь-яким моментом часу t3 у підінтервалі, щонайменше по суті дорівнює A(t3); і генерування кодованого бітового потоку (наприклад, вихідного сигналу на етапі 45 кодера 40 або вихідного сигналу на етапі 104 кодера 100), який вказує на кодований звуковий вміст, значення інтерполяції й перший каскад елементарних матриць. 2 2 З посиланням на етап 44, показаний на фіг. 5, кожний набір вихідних матриць (набір P 0 , P1 2 2 або набір P0, P1,…,Pn) оновлюється час від часу. Перший набір матриць P0 , P1 , який виводиться (у перший момент часу t1), є початковою матрицею (реалізованою в якості каскаду одиничних елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане в перший момент часу під час програми (тобто відносно дискретних значень двох каналів кодованого вихідного сигналу на етапі 43, що відповідає першому моменту часу). Перший набір матриць P0, P1,…,Pn, який виводиться (у перший момент часу t1), також є початковою матрицею (реалізованою в якості каскаду одиничних елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане в перший момент часу під час програми (тобто відносно дискретних значень усіх восьми каналів кодованого вихідного сигналу 2 2 на етапі 43, що відповідає першому моменту часу). Кожний оновлений набір матриць P 0 , P1 , який виводиться на етапі 44, є оновленою початковою матрицею (реалізованою в якості каскаду одиничних елементарних матриць, який може також називатися каскадом одиничних початкових елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане під час відновлення під час програми (тобто відносно дискретних значень двох каналів кодованого вихідного сигналу на етапі 43, що відповідає часу відновлення). Кожний оновлений набір матриць P0, P1,…,Pn, який виводиться на етапі 43, також є оновленою початковою матрицею (реалізованою в якості каскаду одиничних елементарних матриць, який може також називатися каскадом одиничних початкових елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане під час відновлення під час програми (тобто відносно дискретних значень усіх восьми каналів кодованого вихідного сигналу на етапі 43, що відповідає першому моменту часу). На вихідному етапі 44 також виводяться значення інтерполяції, які (разом з функцією інтерполяції для кожної початкової матриці) дозволяють декодеру 42 генерувати інтерпольовані версії початкових матриць (що відповідають моментам часу після першого моменту часу t1 і між часами відновлення). Значення інтерполяції (які можуть включати дані, що вказують на кожну функцію інтерполяції) включено на етапі 45 у кодований бітовий потік, виведений з кодера 40. Ми опишемо приклади даних значень інтерполяції далі (значення інтерполяції можуть включати дельта-матрицю для кожної початкової матриці). З посиланням на декодер 42, показаний на фіг. 5, підсистема 46 синтаксичного розбору (декодера 42) виконана з можливістю прийняття (зчитування або приймання) кодованого 16 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 бітового потоку від системи 41 подачі й з можливістю синтаксичного розбору кодованого бітового потоку. Підсистема 46 виконана з можливістю передачі підпотоків кодованого бітового потоку (включаючи «перший» підпотік, що містить тільки два кодовані канали кодованого 2 2 бітового потоку) і вихідних матриць (P0 , P1 ), що відповідають першому підпотоку, на етапі 48 множення матриць (для обробки, яка приводить до 2-канального представлення понижувального мікшування вмісту первинної 8-канальної вхідної програми). Підсистема 46 також виконана з можливістю передачі підпотоків кодованого бітового потоку (при цьому «другий» підпотік містить усі вісім кодованих каналів кодованого бітового потоку) і відповідних вихідних матриць (P0, P1,…,Pn,) на етапі 47 множення матриць для обробки, яка приводить до відтворення без втрат первинної 8-канальної програми. Підсистема 46 синтаксичного розбору (і підсистема 105 синтаксичного розбору, показана на фіг. 6) може включати (і/або реалізовувати) додаткові засоби декодування й кодування без втрат (наприклад, кодування LPC, кодування методом Хаффмана і таке інше). Етап 60 інтерполяції зв'язаний з можливістю приймання кожної початкової матриці для другого підпотоку (тобто первісного набору елементарних матриць P 0, P1,…,Pn, для моменту часу t1 і кожного оновленого набору елементарних матриць P0, P1,…,Pn,), включеного в кодований бітовий потік, і значень інтерполяції (також включених у кодований бітовий потік) для генерування інтерпольованих версій кожної початкової матриці. Етап 60 зв'язаний і виконаний з можливістю пропущення (на етап 47) кожної такої початкової матриці й з можливістю генерування (і передачі на етап 47) інтерпольованих версій кожної такої початкової матриці (при цьому кожна інтерпольована версія відповідає моменту часу після першого моменту часу t1 і до першого часу відновлення початкової матриці або між послідовними часами відновлення початкової матриці). Етап 61 інтерполяції зв'язаний з можливістю приймання кожної початкової матриці для 2 2 першого підпотоку (тобто первісного набору елементарних матриць P0 і P1 для моменту часу 2 2 t1 і кожного оновленого набору елементарних матриць P0 і P1 ), включеного в кодований бітовий потік, і значень інтерполяції (також включених у кодований бітовий потік) для генерування інтерпольованих версій кожної такої початкової матриці. Етап 61 зв'язаний і виконаний з можливістю пропущення (на етап 48) кожної такої початкової матриці й з можливістю генерування (і передачі на етап 48) інтерпольованих версій кожної такої початкової матриці (при цьому кожна інтерпольована версія відповідає моменту часу після першого моменту часу t1 і до першого часу відновлення початкової матриці або між послідовними часами відновлення початкової матриці). На етапі 48 виконується множення двох дискретних значень аудіоданих двох каналів (кодованого бітового потоку), які відповідають каналам першого підпотоку, на зовсім нещодавно 2 2 оновлений каскад матриць P0 і P1 (наприклад, каскад найостанніших інтерпольованих версій 2 2 матриць P0 і P1 , згенерованих на етапі 61), і кожний отриманий у результаті набір із двох лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком за назвою «ChAssign0», для одержання кожної пари дискретних значень необхідного 2-канального понижувального мікшування 8 первинних звукових каналів. Каскад матричних операцій, що виконуються в кодері 40 і декодері 42, еквівалентний застосуванню специфікації матриці понижувального мікшування, яка перетворює 8 вхідних звукових каналів в 2-канальне понижувальне мікшування. На етапі 47 виконується множення кожного вектора восьми дискретних значень аудіоданих (по одному з кожного повного набору з восьми каналів кодованого бітового потоку) на найпізніше оновлений каскад матриць P0, P1,…,Pn, (наприклад, каскад найостанніших інтерпольованих версій матриць P0, P1,…,Pn,, згенерованих на етапі 60), і кожний отриманий у результаті набір з восьми лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком, позначеним як «ChAssign1», для одержання кожного набору з восьми дискретних значень відновленої без втрат первинної 8-канальної програми. Для того, щоб вихідний 8-канальний звук був точно таким же, як і вхідний 8-канальний звук (для досягнення характеристики «без втрат» системи), матричні операції, що виконуються в кодері 40, повинні бути точним (включаючи ефекти квантування) перетворенням матричних операцій, що виконуються в декодері 42 щодо другого підпотоку кодованого бітового потоку (тобто кожне множення на етапі 47 декодера 42 на каскад матриць P0, P1,…,Pn,). Таким чином, на фіг. 5 матричні операції на етапі 43 кодера 40 ідентифікуються в якості каскаду зворотних матриць матриць P 0, P1,…,Pn, у -1 -1 -1 протилежній послідовності, що застосовується на етапі 47 декодера 42, а саме: Pn ,…,Pn , P0 . Таким чином, етап 47 (разом з етапом переставлення «ChAssign1») є підсистемою множення матриць, з'єднаної й виконаною з можливістю послідовного застосування кожного 17 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 каскаду елементарних матриць, виведених на етапі 60 інтерполяції, до кодованого звукового вмісту, витягнутого з кодованого бітового потоку, для відновлення без втрат N каналів щонайменше сегмента багатоканальної звукової програми, яка була кодована кодером 40. На етапі переставлення «ChAssign1» декодера 42 здійснюється застосування до вихідного сигналу етапу 47 обігу переставлення каналів, що застосовується кодером 40 (тобто матриця переставлень, представлена на етапі «ChAssign1» декодера 42, є зворотною матрицею матриці, представленої елементом «InvChAssign1» кодера 40). У варіаціях підсистем 40 і 42 системи, показаної на фіг. 5, пропущено один або кілька елементів або включені додаткові блоки обробки аудіоданих. У варіаціях описаного варіанта здійснення декодера 42 декодер винаходу виконаний з можливістю виконання відновлення без втрат N каналів кодованого звукового вмісту з кодованого бітового потоку, що вказує на N кодованих каналів сигналу, при цьому N каналів звукового вмісту самі є понижувальним мікшуванням звукового вмісту X-канальної вхідної звукової програми (де X є довільним цілим і N менше, ніж X), згенерованої за допомогою виконання матричних операцій щодо X-канальної вхідної звукової програми для застосування змінюваного в часі мікшування до X каналів вхідної звукової програми, отже, визначаючи N каналів кодованого звукового вмісту кодованого бітового потоку. У даних варіаціях декодер виконує інтерполяцію відносно елементарних матриць N×N, забезпечених (наприклад, включених в) бітовим потоком. У класі варіантів здійснення винаходом є спосіб представлення багатоканальної звукової програми, у тому числі за допомогою виконання лінійного перетворення (множення матриць) відносно дискретних значень каналів програми (наприклад, для генерування понижувального мікшування вмісту програми). Лінійне перетворення залежить від часу в тому розумінні, що лінійне перетворення, яке повинне бути виконане в один момент часу під час програми (тобто відносно дискретних значень каналів, відповідних до даного моменту часу), відрізняється від лінійного перетворення, яке повинне бути виконане в інший момент часу під час програми. У деяких варіантах здійснення спосіб використовує щонайменше одну початкову матрицю (яка може бути реалізована в якості каскаду одиничних елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане в перший момент часу під час програми (тобто відносно дискретних значень каналів, що відповідають першому моменту часу), і реалізує інтерполяцію для визначення щонайменше однієї інтерпольованої версії початкової матриці, яка визначає лінійне перетворення, яке повинне бути виконане в другий момент часу під час програми. У типових варіантах здійснення спосіб виконується декодером (наприклад, декодером 40, показаним на фіг. 5, або декодером 102, показаним на фіг. 6), який включений в або пов'язаний із системою відтворення. Як правило, декодер виконаний з можливістю виконання відновлення без втрат звукового вмісту кодованого бітового аудіопотоку, що вказує на програму, і початкова матриця (і кожна інтерпольована версія початкової матриці) реалізована в якості каскаду елементарних матриць (наприклад, одиничних елементарних матриць). Як правило, відновлення матриці представлення (відновлення початкової матриці) відбуваються нечасто (наприклад, послідовність оновлених версій початкової матриці включена в кодований бітовий аудіопотік, що подається на декодер, але існують тривалі інтервали часу між сегментами програми, яка відповідає послідовним сегментам даних оновлених версій), і необхідна траєкторія представлення (наприклад, необхідна послідовність мікшувань вмісту каналів програми) між відновленнями початкової матриці зазначена параметрично (наприклад, метаданими, включеними в кодований бітовий аудіопотік, що подається на декодер). Кожна початкова матриця (послідовності оновлених початкових матриць) буде позначена в якості A(tj) або Pk(tj), якщо вона є елементарною матрицею, при цьому tj є моментом часу (у програмі), який відповідає початковій матриці (тобто моментом часу, що відповідає «j»-й початковій матриці). Якщо початкова матриця реалізована як каскад елементарних матриць Pk(tj), тоді індекс k указує на положення в каскаді кожної елементарної матриці. Як правило, «k»ая матриця Pk(tj) у каскаді елементарних матриць застосовується до «k»-го каналу. Якщо лінійне перетворення (наприклад, специфікація понижувального мікшування) A(t) швидко змінюється, тоді кодер (наприклад, традиційний кодер) повинен буде часто передавати оновлені початкові матриці для досягнення точного наближення A(t). Розглянемо послідовність елементарних матриць Pk(t1), Pk(t2), Pk(t3),…, які застосовуються до того самого каналу k, але в різні моменти t1, t2, t3,…. часу. Замість того, щоб відправляти оновлені елементарні матриці в кожний з даних моментів часу, спосіб за варіантом здійснення винаходу відправляє в момент часу t1 (тобто включає в кодований бітовий потік у положенні, що відповідає моменту часу t1) початкову елементарну матрицю Pk(t1) і початкову дельта-матрицю 18 UA 113482 C2 ∆k(t1), яка визначає швидкість зміни коефіцієнтів матриці. Наприклад, початкова елементарна матриця й початкова дельта-матриця можуть мати такий вигляд: 1 Pk (t1) 0 0 5 10 15 20 25 30 35 40 45 50 0 1 k 0 0 0 0 N 1 1 0 k (t1) 0 0 0 0 k 0 0 0 0 N 1 0 Оскільки Pk(t1) є елементарною матрицею, вона ідентична матриці тотожності з розмірністю N×N за винятком одного (нетривіального) рядка (тобто рядка, що містить елементи α 0, α1, α2, … αN-1 у прикладі). У прикладі матриця ∆k(t1) містить нулі за винятком одного (нетривіального) рядка (тобто рядка, що містить елементи δ0, δ1, …, δN-1 у прикладі). Елемент αk позначає один з елементів α0, α1, α2, … αN-1, який з'являється по діагоналі Pk()t1, і елемент δk позначає один з елементів δ0, δ1, …, δN-1, який з'являється по діагоналі ∆k(t1). Таким чином, елементарна матриця в момент t часу (наступний після моменту часу t1) інтерполюється (наприклад, на етапі 60 або 61 декодера 42 або на етапі 110, 111, 112 або 113 декодера 102) у такий спосіб:Pk(t)=Pk(t1)+ƒ(t)∆k(t1), де ƒ(t) є коефіцієнтом інтерполяції для моменту часу t і ƒ(t1)=0. Наприклад, якщо необхідна лінійна інтерполяція, функція ƒ(t) може мати вигляд ƒ(t)=α*(t-t1), де α є постійною. Якщо інтерполяція реалізується в декодері, декодер повинен бути виконаний з можливістю розуміння функції f(t). Наприклад, метадані, що визначають функцію f(t), можуть бути подані на декодер разом з кодованим бітовим аудіопотоком, який повинен бути декодований і представлений. Незважаючи на те, що вище описано загальний випадок інтерполяції елементарних матриць, у якому елемент αk дорівнює 1, Pk(t1) є одиничною елементарною матрицею, яка піддається обігу без втрат. Однак для підтримки якості без втрат у кожний момент часу нам також необхідно встановити δk=0, щоб елементарна матриця в кожний момент часу піддавалася перетворенню без втрат. Слід зазначити, що Pk(t)X(t)=Pk(t1)X(t)+ƒ(t)(∆k(t1)X(t)). Таким чином, замість того, щоб оновлювати початкову елементарну матрицю в кожний момент t часу, еквівалентно можуть бути обчислені два проміжні набори каналів Pk(t1)X(t) i ∆k(t1)(t), і вони можуть бути об'єднані разом з коефіцієнтом ƒ(t) інтерполяції. Даний підхід, як правило, є обчислювально менш коштовним у порівнянні з підходом відновлення елементарної матриці в кожний момент часу, при цьому кожний коефіцієнт дельта повинен бути помножений на коефіцієнт інтерполяції. Ще одним еквівалентним підходом є поділ ƒ(t) на ціле r і дробове ƒ(t)-r, а потім досягнення необхідного застосування інтерпольованої елементарної матриці в такий спосіб: Pk(t)X(t)=(Pk(t1)+r∆k(t1))X(t)+(ƒ(t)-r(∆k(t1)(t)). (2) Даний останній підхід (з використанням рівняння (2)), отже, буде комбінацією двох підходів, обговорених раніше. У форматі TrueHD значення звуку, що дорівнює 0,833 мс (40 дискретним значенням при 48 кГц), визначене в якості блоку доступу. Якщо дельта-матриця Δk визначена в якості швидкості зміни елементарної матриці Pk на блок доступу і якщо ми визначаємо ƒ(t)=(t-t1)/T, де T є довжиною блоку доступу, тоді r у рівнянні (2) збільшується на 1 з кожним блоком доступу й ƒ(t)r є лише функцією зсуву дискретного значення в межах блоку доступу. Таким чином, дробове значення ƒ(t)-r необов'язково повинне бути обчислене й може бути просто отримане з довідкової таблиці, що індексується по зсувах у межах блоку доступу. На кожному кінці кожного блоку доступу Pk(t1)+r∆k(t1) оновлюється за допомогою додавання ∆k(t1). У цілому, T необов'язково повинна відповідати блоку доступу й замість цього може бути будь-яким фіксованим сегментом сигналу, наприклад вона може бути блоком довжиною в 8 дискретних значень. Ще одним спрощенням, незважаючи на наближення, буде повне ігнорування дробової частини ƒ(t)-r і періодичне відновлення Pk(t1)+r∆k(t1). Це по суті приведе до кусково-постійного відновлення матриці, але без необхідності частої передачі елементарних матриць. На фіг. 3 показана блок-діаграма схеми, що використовується у варіанті здійснення винаходу для застосування елементарної матриці 4×4 (реалізованої з використанням арифметичних операцій з обмеженою точністю) до чотирьох каналів звукової програми. Елементарна матриця є початковою елементарною матрицею, один нетривіальний рядок якої містить елементи α0, α1, α2 і α3. Передбачається, що чотири такі елементарні матриці, по одній для перетворення дискретних значень відмінного одного з чотирьох каналів, будуть каскадовані для перетворення дискретних значень усіх чотирьох каналів. Дана схема може бути 19 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 використана, якщо елементарні матриці спочатку оновлюються за допомогою інтерполяції, а потім оновлені елементарні матриці застосовуються до аудіоданих. На фіг. 4 показана блок-діаграма схеми, що використовується у варіанті здійснення винаходу для застосування елементарної матриці 3×3 (реалізованої з використанням арифметичних операцій з обмеженою точністю) до трьох каналів звукової програми. Елементарна матриця є інтерпольованою елементарною матрицею, згенерованою відповідно до варіанта здійснення винаходу з початкової елементарної матриці Pk(t1), один нетривіальний рядок якої містить елементи α0, α1 і α2, і початкової дельта-матриці ∆k(t1), нетривіальний рядок якої містить елементи δ0, δ1 і δ2, і функції f(t) інтерполяції. Таким чином, елементарна матриця в момент t часу (наступний після моменту часу t1) інтерполюється в такий спосіб: Pk(t)=Pk(t1)+ƒ(t)∆k(t1), де ƒ(t) є коефіцієнтом інтерполяції для моменту часу t (значенням функції f(t) інтерполяції в момент часу t), і ƒ(t1)=0. Передбачається, що три такі елементарні матриці, по одній для перетворення дискретних значень відмінного з трьох каналів, будуть каскадовані для перетворення дискретних значень усіх трьох каналів. Дана схема може бути використана, якщо початкова або частково оновлена елементарна матриця застосовується до аудіоданих, і дельта-матриця застосовується до аудіоданих, і вони поєднуються разом з використанням коефіцієнта інтерполяції. На фіг. 3 схема виконана з можливістю застосування початкової елементарної матриці до чотирьох каналів S1, S2, S3 і S4 звукової програми (тобто з можливістю множення дискретних значень каналів на матрицю). Більш конкретно, дискретне значення каналу S1 множиться на коефіцієнт α0 (ідентифікований як «m_coeff[p,0]») матриці, дискретне значення каналу S2 множиться на коефіцієнт α1 (ідентифікований як «m_coeff[p,1]») матриці, дискретне значення каналу S3 множиться на коефіцієнт α2 (ідентифікований як «m_coeff[p,2]») матриці й дискретне значення каналу S4 множиться на коефіцієнт α3 (ідентифікований як «m_coeff[p,3]») матриці. Добутки підсумовуються в елементі 10 підсумовування, і кожна сума, виведена з елемента 10, потім квантується на етапі Qss квантування для генерування квантованого значення, яке є перетвореною версією (включеною в канал S2’) дискретного значення каналу S2. У типовій реалізації кожне дискретне значення кожного каналу S1, S2, S3 і S4 містить 24 біти (як зазначено на фіг. 3) і вихідне значення кожного елемента множення містить 38 бітів (як також зазначене на фіг. 3), і на етапі Qss квантування виводиться 24-бітове квантоване значення у відповідь на кожне 38-бітове значення, яке вводиться на етапі. На фіг. 4 схема виконана з можливістю застосування інтерпольованої елементарної матриці до трьох каналів C1, C2 і C3 звукової програми (тобто з можливістю множення дискретних значень каналів на матрицю). Більш конкретно, дискретне значення каналу C1 множиться на коефіцієнт α0 (ідентифікований як «m_coeff[p,0]») початкової елементарної матриці, дискретне значення каналу C2 множиться на коефіцієнт α1 (ідентифікований як «m_coeff[p,1]») початкової елементарної матриці й дискретне значення каналу S3 множиться на коефіцієнт α 2 (ідентифікований як «m_coeff[p,2]») початкової елементарної матриці. Добутки підсумовуються в елементі 12 підсумовування, і кожна сума, виведена з елемента 12, потім додається (на етапі 14) до відповідного значення, виведеного на етапі 13 коефіцієнта інтерполяції. Значення, виведене на етапі 14, квантується на етапі Qss квантування для генерування квантованого значення, яке є перетвореною версією (включеною в канал C3’) дискретного значення каналу C3. Дискретне значення каналу C1 множиться на коефіцієнт δ 0 (ідентифікований як «delta_cf[p,0]») початкової дельта-матриці, дискретне значення каналу C2 множиться на коефіцієнт δ1 (ідентифікований як «delta_cf[p,1]») початкової дельта-матриці й дискретне значення каналу S3 множиться на коефіцієнт δ2 (ідентифікований як «delta_cf[p,2]») початкової дельта-матриці. Добутки підсумовуються в елементі 11 підсумовування, і кожна сума, виведена з елемента 11, потім квантується на етапі Qfine квантування для генерування квантованого значення, яке потім множиться (на етапі 13 етапу коефіцієнта інтерполяції) на поточне значення функції f(t) інтерполяції. У типовій реалізації, показаній на фіг. 4, кожне дискретне значення кожного каналу C1, C2 і C3 містить 32 біти (як зазначено на фіг. 4) і вихідне значення кожного елемента 11, 12 і 14 підсумовування містить 50 бітів (як також зазначене на фіг. 4), і на кожному етапі Qfine і Qss квантування виводиться 32-бітове квантоване значення у відповідь на кожне 50-бітове значення, яке вводиться на кожному етапі. Наприклад, варіація показаної на фіг. 4 схеми може перетворювати вектор дискретних значень x звукових каналів, де x = 2, 4, 8 або N каналів. Каскад з x даних варіацій показаної на фіг. 4 схеми може виконувати множення матриць даних x каналів на початкову матрицю x×x (або інтерпольовану версію такої початкової матриці). Наприклад, такий каскад з x даних 20 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 варіацій показаної на фіг. 4 схеми може реалізувати етапи 60 і 47 декодера 42 (де x = 8), або етапи 61 і 48 декодера 42 (де x = 2), або етапи 113 і 109 декодера 102 (де x = N), або етапи 112 і 108 декодера 102 (де x = 8), або етапи 111 і 107 декодера 102 (де x = 6), або етапи 110 і 106 декодера 102 (де x = 2). У показаному на фіг. 4 варіанті здійснення початкова елементарна матриця й початкова дельта-матриця паралельно застосовуються до кожного набору (вектору) вхідних дискретних значень (при цьому кожний такий вектор включає одне дискретне значення з кожного з вхідних каналів). З посиланням на фіг. 6 далі описано варіант здійснення винаходу, у якому звукова програма, яка повинна бути декодована, є N-канальною звуковою програмою на основі об'єкта. Показана на фіг. 6 система містить кодер 100 (варіант здійснення кодера винаходу), підсистему 31 подачі й декодер 102 (варіант здійснення декодера винаходу), з'єднані разом, як показано. Незважаючи на те, що підсистема 102 у даному документі називається «декодером», слід розуміти, що вона може бути реалізована в якості системи відтворення, що містить підсистему декодування (виконану з можливістю синтаксичного розбору й декодування бітового потоку, що вказує на кодовану багатоканальну звукову програму) і інші підсистеми, виконані з можливістю реалізації представлення й щонайменше деяких етапів відтворення вихідного сигналу підсистеми декодування. Деякими варіантами здійснення винаходу є декодери, які не виконані з можливістю виконання представлення й/або відтворення (і які, як правило, будуть використані разом з окремою системою відтворення й/або представлення). Деякими варіантами здійснення винаходу є системи відтворення (наприклад, система відтворення, що містить підсистему декодування й інші підсистеми, виконані з можливістю реалізації представлення й щонайменше деяких етапів відтворення вихідного сигналу підсистеми декодування). У показаній на фіг. 6 системі кодер 100 виконаний з можливістю кодування N-канальної звукової програми на основі об'єкта в якості кодованого бітового потоку, що містить чотири підпотоки, і декодер 102 виконаний з можливістю декодування кодованого бітового потоку для представлення або первинної N-канальної програми (без втрат), або 8-канального понижувального мікшування первинної N-канальної програми, або 6-канального понижувального мікшування первинної N-канальної програми, або 2-канального понижувального мікшування первинної N-канальної програми. Кодер 100 з'єднаний і виконаний з можливістю генерування кодованого бітового потоку й з можливістю передачі кодованого бітового потоку на систему 31 подачі. Система 31 подачі з'єднана й виконана з можливістю подачі (наприклад, за допомогою записування й/або передачі) кодованого бітового потоку на декодер 102. У деяких варіантах здійснення система 31 реалізує подачу (наприклад, передачу) кодованої багатоканальної звукової програми через систему віщання або мережу (наприклад, мережу Інтернет) на декодер 102. У деяких варіантах здійснення система 31 записує кодовану багатоканальну звукову програму на носій даних (наприклад, диск або набір дисків) і декодер 102 виконаний з можливістю зчитування програми з носія даних. Блок, позначений як «InvChAssign3», у кодері 100 виконаний з можливістю виконання переставлення каналів (еквівалентного множенню на матрицю переставлень) відносно каналів вхідної програми. Потім переставлені канали зазнають кодування на етапі 101, який виводить N кодованих каналів сигналу. Кодовані канали сигналу можуть (але необов'язково) відповідати каналам динаміка відтворення. Кодовані канали сигналу іноді називаються «внутрішніми» каналами, оскільки декодер (і/або система представлення), як правило, декодує й представляє вміст кодованих каналів сигналу для відновлення вхідного звуку, так що кодовані канали сигналу є «внутрішніми» відносно системи кодування/декодування. Кодування, виконане на етапі 101, еквівалентно множенню кожного набору дискретних значень переставлених каналів на матрицю кодування (реалізовану в якості каскаду множень матриць, ідентифікованого як P n 1 -1 -1 ,…,P1 ,P0 ). -1 -1 -1 Кожна матриця Pn ,…, P1 і P0 (а отже, каскад, застосований на етапі 101) визначається в підсистемі 103 і оновлюється час від часу (як правило, нечасто) відповідно до зазначеного змінюваного в часі мікшування N каналів програми в N кодованих каналів сигналу, які були зазначені в інтервалі часу. У варіаціях наведеного як приклад варіанта здійснення, показаного на фіг. 6, вхідна звукова програма містить довільну кількість (N або X, де X більше, ніж N) каналів. У даних варіаціях N каналів багатоканальної звукової програми, які зазначені кодованим бітовим потоком, виведеним з кодера, який може бути без втрат відновлений декодером, можуть бути N каналами звукового вмісту, який був згенерований з X-канальної вхідної звукової програми за 21 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 допомогою виконання матричних операцій щодо X-канальної вхідної звукової програми для застосування змінюваного в часі мікшування до X каналів вхідної звукової програми, отже, визначаючи кодований звуковий вміст кодованого бітового потоку. Підсистема 103 визначення матриці, яка показана на фіг. 6, виконана з можливістю генерування даних, що вказують на коефіцієнти чотирьох наборів вихідних матриць (по одному набору, що відповідає кожному з чотирьох підпотоків кодованих каналів). Кожний набір вихідних матриць оновлюється час від часу, так що коефіцієнти також оновлюються час від часу. 2 2 Один набір вихідних матриць складається з двох матриць P0 (t), P1 (t) представлення, кожна з яких є елементарною матрицею (переважно одиничною елементарною матрицею) з розмірністю 2×2 і призначена для представлення першого підпотоку (підпотоку понижувального мікшування), що містить два кодовані звукові канали кодованого бітового потоку (для представлення двоканального понижувального мікшування вхідного звуку). Ще один набір 6 6 6 6 6 6 вихідних матриць може містити аж до шести матриць P0 (t), P1 (t), P2 (t), P3 (t), P4 (t) і P5 (t) представлення, кожна з яких є елементарною матрицею (переважно одиничною елементарною матрицею) з розмірністю 6×6 і призначена для представлення другого підпотоку (підпотоку понижувального мікшування), що містить шість кодованих звукових каналів кодованого бітового потоку (для представлення шестиканального понижувального мікшування вхідного звуку). Ще 8 8 8 один набір вихідних матриць містить аж до восьми матриць P 0 (t), P1 (t), …, P7 (t) представлення, кожна з яких є елементарною матрицею (переважно одиничною елементарною матрицею) з розмірністю 8×8 і призначена для представлення третього підпотоку (підпотоку понижувального мікшування), що містить вісім кодованих звукових каналів кодованого бітового потоку (для представлення восьмиканального понижувального мікшування вхідного звуку). Інший набір вихідних матриць складається з N матриць P0(t), P1(t),…, Pn(t) представлення, кожна з яких є елементарною матрицею (переважно одиничною елементарною матрицею) з розмірністю N×N і призначена для представлення четвертого підпотоку, що містить усі кодовані звукові канали кодованого бітового потоку (для відновлення без втрат N-канальної вхідної 2 2 звукової програми). Для кожного моменту часу t каскад матриць P 0 (t), P1 (t) представлення може бути інтерпретований у якості матриці представлення для каналів першого підпотоку, 6 6 6 каскад матриць P0 (t), P1 (t),…,P5 (t) представлення може бути також інтерпретований у якості 8 8 8 матриці представлення для каналів другого підпотоку, каскад матриць P 0 (t), P1 (t), …, P7 (t) представлення може бути також інтерпретований у якості матриці представлення для каналів третього підпотоку, і каскад матриць P0(t), P1(t),…,Pn(t) представлення еквівалентний матриці представлення для каналів четвертого підпотоку. Коефіцієнти (кожної матриці представлення), які виводяться з підсистеми 103 на підсистему 104 упакування, є метаданими, що вказують на відносний або абсолютний коефіцієнт підсилення кожного каналу, який повинен бути включений у відповідне мікшування каналів програми. Коефіцієнти кожної матриці представлення (для моменту часу під час програми) представляють, який внесок кожний з каналів мікшування повинен внести в мікшування звукового вмісту (у відповідний момент представленого мікшування), зазначеного сигналом, що подаєтеся на динамік, для конкретного динаміка системи відтворення. N кодованих каналів сигналу (виведених на етапі 101 кодування), коефіцієнти вихідної матриці (згенеровані підсистемою 103), а також, як правило, додаткові дані (наприклад, для включення як метаданих у кодований бітовий потік) передаються на підсистему 104 упакування, яка компонує їх у кодований бітовий потік, який потім передається на систему 31 подачі. Кодований бітовий потік містить дані, що вказують на N кодованих звукових каналів, чотири набори змінюваних у часі вихідних матриць (по одному набору, що відповідає кожному з чотирьох підпотоків кодованих каналів), а також, як правило, додаткові дані (наприклад, метадані про звуковий вміст). На етапі 103 кодера 100 здійснюється відновлення кожного набору вихідних матриць 2 2 2 2 (наприклад, набору P0 ,P1 або набору P0,P1,…,Pn) час від часу. Перший набір матриць P0 ,P1 , який виводиться (у перший момент часу t1), є початковою матрицею (реалізованою в якості каскаду елементарних матриць, наприклад одиничних елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане в перший момент часу під час програми (тобто відносно дискретних значень двох каналів кодованого вихідного сигналу на етапі 101, що 6 6 6 відповідає першому моменту часу). Перший набір матриць P0 (t), P1 (t),…,Pn (t), який виводиться (у момент часу t1), є початковою матрицею (реалізованою в якості каскаду елементарних матриць, наприклад одиничних елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане в перший момент часу під час програми (тобто відносно дискретних значень шести каналів кодованого вихідного сигналу на етапі 101, що відповідає першому 8 8 8 моменту часу). Перший набір матриць P0 (t), P1 (t),…,Pn (t), який виводиться (у момент часу t1), 22 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 є початковою матрицею (реалізованою в якості каскаду елементарних матриць, наприклад, одиничних елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане в перший момент часу під час програми (тобто відносно дискретних значень восьми каналів кодованого вихідного сигналу на етапі 101, що відповідає першому моменту часу). Перший набір матриць P0,P1,…,Pn, який виводиться (у момент часу t1), є початковою матрицею (реалізованою в якості каскаду одиничних елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане в перший момент часу під час програми (тобто відносно дискретних значень усіх каналів кодованого вихідного сигналу на етапі 101, що відповідає першому моменту часу). 2 2 Кожний оновлений набір матриць P0 ,P1 , який виводиться на етапі 103, є оновленою початковою матрицею (реалізованою в якості каскаду елементарних матриць, який може також називатися каскадом початкових елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане під час відновлення під час програми (тобто відносно дискретних значень двох каналів кодованого вихідного сигналу на етапі 101, що відповідає часу 6 6 6 відновлення). Кожний оновлений набір матриць P0 (t), P1 (t), …, Pn (t), який виводиться на етапі 103, є оновленою початковою матрицею (реалізованою в якості каскаду елементарних матриць, який може також називатися каскадом початкових елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане під час відновлення під час програми (тобто відносно дискретних значень шести каналів кодованого вихідного сигналу на етапі 101, що відповідає 8 8 8 часу відновлення). Кожний оновлений набір матриць P0 (t), P1 (t), …, Pn (t), який виводиться на етапі 103, є оновленою початковою матрицею (реалізованою в якості каскаду елементарних матриць, який може також називатися каскадом початкових елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане під час відновлення під час програми (тобто відносно дискретних значень двох каналів кодованого вихідного сигналу на етапі 101, що відповідає часу відновлення). Кожний оновлений набір матриць P0,P1,…,Pn, який виводиться на етапі 103, також є оновленою початковою матрицею (реалізованою в якості каскаду одиничних елементарних матриць, який може також називатися каскадом одиничних початкових елементарних матриць), яка визначає лінійне перетворення, яке повинне бути виконане під час відновлення під час програми (тобто відносно дискретних значень усіх каналів кодованого вихідного сигналу на етапі 101, що відповідає першому моменту часу). Вихідний етап 103 також виконаний з можливістю виведення значень інтерполяції, які (разом з функцією інтерполяції для кожної початкової матриці) дозволяють декодеру 102 генерувати інтерпольовані версії початкових матриць (що відповідають моментам часу після першого моменту часу t1 і між часами відновлення). Значення інтерполяції (які можуть містити дані, що вказують на кожну функцію інтерполяції) включено на етапі 104 у кодований бітовий потік, виведений з кодера 100. Приклади даних значень інтерполяції описані в інших місцях у даному документі (значення інтерполяції можуть включати дельта-матрицю для кожної початкової матриці). З посиланням на декодер 102, показаний на фіг. 6, підсистема 105 синтаксичного розбору виконана з можливістю прийняття (зчитування або приймання) кодованого бітового потоку від системи 31 подачі й з можливістю синтаксичного розбору кодованого бітового потоку. Підсистема 105 виконана з можливістю передачі першого підпотоку, що містить два кодовані канали кодованого бітового потоку, вихідних матриць (P0,P1,…,Pn), що відповідають четвертому 2 2 (верхньому) підпотоку, і вихідних матриць (P 0 ,P1 ), що відповідають першому підпотоку, на етапі 106 множення матриць (для обробки, яка приводить до 2-канального представлення понижувального мікшування вмісту первинної N-канальної вхідної програми). Підсистема 105 виконана з можливістю передачі другого підпотоку кодованого бітового потоку, що містить шість 6 6 6 кодованих каналів кодованого бітового потоку, і вихідних матриць (P 0 (t), P1 (t), …, Pn (t)), що відповідають другому підпотоку, на етапі 107 множення матриць (для обробки, яка приводить до 6-канального представлення понижувального мікшування вмісту первинної N-канальної вхідної програми). Підсистема 105 виконана з можливістю передачі третього підпотоку кодованого бітового потоку, що містить вісім кодованих каналів кодованого бітового потоку, і вихідних 8 8 8 матриць (P0 (t), P1 (t), …, Pn (t)), що відповідають третьому підпотоку, на етапі 108 множення матриць (для обробки, яка приводить до восьмиканального представлення понижувального мікшування вмісту первинної N-канальної вхідної програми). Підсистема 105 також виконана з можливістю передачі четвертого (верхнього) підпотоку кодованого бітового потоку (включаючи всі кодовані канали кодованого бітового потоку) і відповідних вихідних матриць (P0,P1,…,Pn) на етапі 109 множення матриць для обробки, яка приводить до відтворення без втрат первинної Nканальної програми. Етап 113 інтерполяції зв'язаний з можливістю приймання кожної початкової матриці для 23 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 четвертого підпотоку (тобто первісного набору елементарних матриць P0,P1,…,Pn для моменту часу t1 і кожного оновленого набору елементарних матриць P 0,P1,…,Pn), включеного в кодований бітовий потік, і значень інтерполяції (також включених у кодований бітовий потік) для генерування інтерпольованих версій кожної початкової матриці. Етап 113 зв'язаний і виконаний з можливістю пропущення (на етап 109) кожної такої початкової матриці й з можливістю генерування (і передачі на етап 109) інтерпольованих версій кожної такої початкової матриці (при цьому кожна інтерпольована версія відповідає моменту часу після першого моменту часу t1 і до першого часу відновлення початкової матриці або між послідовними часами відновлення початкової матриці). Етап 112 інтерполяції зв'язаний з можливістю приймання кожної початкової матриці для 8 8 8 третього підпотоку (тобто первісного набору елементарних матриць P 0 , P1 ,…,Pn для моменту 8 8 8 часу t1 і кожного оновленого набору елементарних матриць P0 , P1 ,…,Pn ), включеного в кодований бітовий потік, і значень інтерполяції (також включених у кодований бітовий потік) для генерування інтерпольованих версій кожної такої початкової матриці. Етап 112 зв'язаний і виконаний з можливістю пропущення (на етап 108) кожної такої початкової матриці й з можливістю генерування (і передачі на етап 108) інтерпольованих версій кожної такої початкової матриці (при цьому кожна інтерпольована версія відповідає моменту часу після першого моменту часу t1 і до першого часу відновлення початкової матриці або між послідовними часами відновлення початкової матриці). Етап 111 інтерполяції зв'язаний з можливістю приймання кожної початкової матриці для 6 6 6 другого підпотоку (тобто первісного набору елементарних матриць P 0 , P1 ,…,Pn для моменту 6 6 6 часу t1 і кожного оновленого набору елементарних матриць P0 , P1 ,…,Pn ), включеного в кодований бітовий потік, і значень інтерполяції (також включених у кодований бітовий потік) для генерування інтерпольованих версій кожної такої початкової матриці. Етап 111 зв'язаний і виконаний з можливістю пропущення (на етап 107) кожної такої початкової матриці й з можливістю генерування (і передачі на етап 107) інтерпольованих версій кожної такої початкової матриці (при цьому кожна інтерпольована версія відповідає моменту часу після першого моменту часу t1 і до першого часу відновлення початкової матриці або між послідовними часами відновлення початкової матриці). Етап 110 інтерполяції зв'язаний з можливістю приймання кожної початкової матриці для 2 2 першого підпотоку (тобто первісного набору елементарних матриць P 0 і P1 для моменту часу 2 2 t1 і кожного оновленого набору елементарних матриць P0 і P1 ), включеного в кодований бітовий потік, і значень інтерполяції (також включених у кодований бітовий потік) для генерування інтерпольованих версій кожної такої початкової матриці. Етап 110 зв'язаний і виконаний з можливістю пропущення (на етап 106) кожної такої початкової матриці й з можливістю генерування (і передачі на етап 106) інтерпольованих версій кожної такої початкової матриці (при цьому кожна інтерпольована версія відповідає моменту часу після першого моменту часу t1 і до першого часу відновлення початкової матриці або між послідовними часами відновлення початкової матриці). На етапі 106 виконується множення кожного вектора двох дискретних значень аудіоданих 2 2 двох кодованих каналів першого підпотоку на найпізніше оновлений каскад матриць P 0 і P1 2 2 (наприклад, каскад найостанніших інтерпольованих версій матриць P 0 і P1 , згенерованих на етапі 110), і кожний отриманий у результаті набір із двох лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком за назвою «ChAssign0», для одержання кожної пари дискретних значень необхідного 2-канального понижувального мікшування N первинних звукових каналів. Каскад матричних операцій, що виконуються в кодері 40 і декодері 102, еквівалентний застосуванню специфікації матриці понижувального мікшування, яка перетворює N вхідних звукових каналів в 2-канальне понижувальне мікшування. На етапі 107 виконується множення кожного вектора шести дискретних значень аудіоданих 6 6 шести кодованих каналів другого підпотоку на найпізніше оновлений каскад матриць P 0 ,…,Pn 6 6 (наприклад, каскад найостанніших інтерпольованих версій матриць P 0 ,…,Pn , згенерованих на етапі 111), і кожний отриманий у результаті набір із шести лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком за назвою «ChAssign1», для одержання кожної пари дискретних значень необхідного 6-канального понижувального мікшування N первинних звукових каналів. Каскад матричних операцій, що виконуються в кодері 100 і декодері 102, еквівалентний застосуванню специфікації матриці понижувального мікшування, яка перетворює N вхідних звукових каналів в 6-канальне понижувальне мікшування. На етапі 108 виконується множення кожного вектора восьми дискретних значень аудіоданих 24 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 восьми кодованих каналів (третього підпотоку на найпізніше оновлений каскад матриць 8 8 8 8 P0 ,…,Pn (наприклад, каскад найостанніших інтерпольованих версій матриць P0 ,…,Pn , згенерованих на етапі 112), і кожний отриманий у результаті набір з восьми лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком за назвою «ChAssign2», для одержання кожної пари дискретних значень необхідного 8-канального понижувального мікшування N первинних звукових каналів. Каскад матричних операцій, що виконуються в кодері 100 і декодері 102, еквівалентний застосуванню специфікації матриці понижувального мікшування, яка перетворює N вхідних звукових каналів в 8-канальне понижувальне мікшування. На етапі 109 виконується множення кожного вектора N дискретних значень аудіоданих (по одному з кожного повного набору з N кодованих каналів кодованого бітового потоку) на найпізніше оновлений каскад матриць P0,P1,…,Pn (наприклад, каскад найостанніших інтерпольованих версій матриць P0,P1,…,Pn, згенерованих на етапі 113), і кожний отриманий у результаті набір з N лінійно перетворених дискретних значень зазнає переставлення каналів (еквівалентного множенню на матрицю переставлень), представленого блоком за назвою «ChAssign3», для одержання кожного набору з N дискретних значень відновленої без втрат первинної 8-канальної програми. Для того щоб вихідний N-канальний звук був точно таким же, як і вхідний N-канальний звук (для досягнення характеристики «без втрат» системи), матричні операції, що виконуються в кодері 100, повинні бути точним (включаючи ефекти квантування) перетворенням матричних операцій, що виконуються в декодері 102 щодо четвертого підпотоку кодованого бітового потоку (тобто кожне множення на етапі 109 декодера 102 на каскад матриць P0,P1,…,Pn). Таким чином, на фіг. 6 матричні операції на етапі 103 кодера 100 ідентифікуються в якості каскаду зворотних матриць матриць P0,P1,…,Pn у протилежній -1 -1 -1 послідовності, що застосовується на етапі 109 декодера 102, а саме: P n ,…,P1 ,P0 . У деяких реалізаціях підсистема 105 синтаксичного розбору виконана з можливістю добування контрольного слова з кодованого бітового потоку, і етап 109 виконаний з можливістю перевірки того, чи були правильно відновлені N каналів (щонайменше одного сегмента багатоканальної звукової програми), відновлені на етапі 109, за допомогою порівняння другого контрольного слова, отриманого (наприклад, на етапі 109) з дискретних значень аудіоданих, згенерованих на етапі 109, з контрольним словом, витягнутим з кодованого бітового потоку. На етапі «ChAssign3» декодера 102 здійснюється застосування до вихідного сигналу етапу 109 перетворення переставлення каналів, що застосовується кодером 100 (тобто матриця переставлень, представлена на етапі «ChAssign3» декодера 102, є зворотною матрицею матриці, представленою елементом «InvChAssign3» кодера 100). У варіаціях підсистем 100 і 102 системи, показаної на фіг. 6, пропущено один або кілька елементів або включені додаткові блоки обробки аудіоданих. 8 8 6 6 2 2 Коефіцієнти P0 , …, Pn (або P0 , …, Pn , або P0 і P1 ) матриці представлення, передані на етап 108 (або 107, або 106) декодера 100, є метаданими (наприклад, метаданими про положення в просторі) кодованого бітового потоку, які вказують на (або можуть бути оброблені разом з іншими даними для вказівки на) відносний або абсолютний коефіцієнт підсилення кожного каналу динаміка, який повинен бути включений у понижувальне мікшування каналів первинного N-канального вмісту, кодованого кодером 100. І навпаки, конфігурація системи динаміка відтворення, яка повинна бути використана для представлення повного набору каналів звукової програми на основі об'єкта (яка без втрат відновлюється декодером 102), як правило, невідома в момент часу, коли кодером 100 генерується кодований бітовий потік. N каналів, що без втрат відновлені декодером 102, можуть бути оброблені (наприклад, у системі представлення, включеній в декодер 102 (але не показаній на фіг. 6) або з'єднаній з декодером 102) разом з іншими даними (наприклад, даними, що вказують на конфігурацію конкретної системи динаміка відтворення) для визначення, який внесок кожний канал програми повинен внести в мікшування звукового вмісту (у кожний момент представленого мікшування), зазначеного сигналом, що подаєтеся на динамік, для конкретного динаміка системи відтворення. Така система представлення може обробляти метадані про траєкторію в просторі в кожному відновленому без втрат об'єктному каналі (або зв'язані з кожним таким каналом) для визначення сигналів, що подаються на динамік, для динаміків конкретної системи динаміка відтворення, яка повинна бути використана для відтворення відновленого без втрат вмісту. У деяких варіантах здійснення кодера згідно з винаходом кодер оснащений (або генерує) динамічно змінюваною специфікацією A(t), яка визначає, як перетворити всі канали N-канальної звукової програми (наприклад, звукової програми на основі об'єкта) у набір з N кодованих каналів, і щонайменше однією динамічно змінюваною специфікацією понижувального 25 UA 113482 C2 5 10 15 20 25 30 35 40 45 50 55 60 мікшування, яка визначає кожне понижувальне мікшування вмісту N кодованих каналів в M1канальне представлення (де M1 менше, ніж N, наприклад M1 = 2 або M1 = 8, якщо N більше 8). У деяких варіантах здійснення роботою кодера є впакування кодованого звуку й даних, що вказують на кожну таку динамічно змінювану специфікацію, у кодований бітовий потік, що має визначений формат (наприклад, бітовий потік TrueHD). Наприклад, це може бути виконане таким чином, що застарілий декодер (наприклад декодер TrueHD, що застарів) зможе відновити щонайменше одне представлення понижувального мікшування (що має M1 каналів), тоді як удосконалений декодер може бути використаний для відновлення (без втрат) первинної Nканальної звукової програми. З обліком динамічно змінюваних специфікацій кодер може припустити, що декодер буде визначати інтерпольовані елементарні матриці P 0,P1,…,Pn з інтерпольованих значень (наприклад, інформації про початкову елементарну матрицю й початкову дельта-матрицю), включених у кодований бітовий потік, який повинен бути поданий на декодер. Потім декодер виконує інтерполяцію для визначення інтерпольованих елементарних матриць, які обертають операції кодера, які роблять кодований звуковий вміст кодованого бітового потоку (наприклад, для відновлення без втрат вмісту, який був кодований, за допомогою його піддання матричним операціям у кодері). Факультативно, кодер може вибирати елементарні матриці для більш низьких підпотоків (тобто підпотоків, що вказують на понижувальні мікшування вмісту верхнього N-канального підпотоку) у якості неінтерпольованих елементарних матриць (і включати послідовність наборів з таких неінтерпольованих елементарних матриць у кодований бітовий потік), при цьому також припускаючи, що декодер буде визначати інтерпольовані елементарні матриці (P0,P1,…,Pn) для відновлення без втрат вмісту верхнього (N-канального) підпотоку з інтерпольованих значень (наприклад, інформації про початкову елементарну матрицю й початкову дельта-матрицю), включених у кодований бітовий потік, який повинен бути поданий на декодер. Наприклад, кодер (наприклад, на етапі 44 кодера 40 або на етапі 103 кодера 100) може бути виконаний з можливістю вибору початкової елементарної матриці й початкової дельта-матриці (для використання разом з функцією f(t) інтерполяції) за допомогою дискретизації специфікації A(t) у різні моменти t1, t2, t3, … часу (які можуть бути розташовані близько один до одного), одержуючи відповідні початкові елементарні матриці (наприклад, як у традиційному кодері TrueHD), а потім з можливістю обчислення швидкості зміни окремих елементів у початкових елементарних матрицях для обчислення значень інтерполяції (наприклад, інформації про «коефіцієнт дельта», що вказує на послідовність початкових дельта-матриць). Перший набір початкових елементарних матриць буде елементарними матрицями, отриманими зі специфікації для першого з таких моментів A(t1) часу. Можливо, що піднабір елементарних матриць може взагалі не змінюватися з часом, на випадок чого декодер буде відповідати на відповідну інформацію керування в кодованому бітовому потоці за допомогою обнуліннябудьякої відповідної інформації про коефіцієнт дельта (тобто для встановлення швидкості зміни такого піднабору елементарних матриць, що дорівнює нулю). Варіації показаного на фіг. 6 варіанта здійснення кодера й декодера винаходу можуть пропускати інтерполяцію для деяких (тобто щонайменше одного) з підпотоків кодованого бітового потоку. Наприклад, етапи 110, 111 і 112 інтерполяції можуть бути пропущені й 2 2 6 6 6 8 8 8 відповідні матриці P0 , P1 і P0 , P1 , …Pn і P0 , P1 , …Pn можуть бути оновлені (у кодованому бітовому потоці) з достатньою частотою, так що інтерполяція між моментами часу, у які вони 6 6 6 оновлюються, не є необхідною. У якості ще одного прикладу, якщо матриці P0 , P1 , …Pn оновлюються з достатньою частотою, так що інтерполяція в моменти часу між відновленнями не є необхідною, етап 111 інтерполяції не є необхідним і може бути пропущений. Таким чином, традиційний декодер (не виконаний з можливістю виконання інтерполяції відповідно до винаходу) може представляти 6-канальне представлення понижувального мікшування у відповідь на кодований бітовий потік. Як відзначено вище, динамічні специфікації (наприклад, A(t)) матриці представлення можуть бути не тільки наслідком необхідності представлення звукових програм на основі об'єкта, але також виникати внаслідок необхідності реалізувати захист від усікання. Інтерпольовані елементарні матриці можуть забезпечити більш швидке підвищення до або звільнення від захисту від усікання понижувального мікшування, а також зниження швидкості передачі даних, необхідної для передачі матричних коефіцієнтів. Далі описаний приклад роботи реалізації показаної на фіг. 6 системи. У цьому випадку Nканальна вхідна програма є триканальною звуковою програмою на основі об'єкта, що містить канал C платформи й два об'єктні канали U і V. Необхідно, щоб програма була кодована для передачі через потік TrueHD, що має два підпотоки, так що 2-канальне понижувальне мікшування (представлення програми у двоканальному настроюванні динаміка) може бути 26 UA 113482 C2 витягнуте з використанням першого підпотоку й первинна 3-канальна вхідна програма може бути відновлена без втрат з використанням обох підпотоків. Нехай рівняння представлення (або рівняння понижувального мікшування) з вхідної програми в 2-канальне мікшування має вигляд: 5 10 0.707 sin( t ) cos( t ) A2 (t ) 0.707 cos( t ) sin( t ) , де перший стовпець відповідає коефіцієнтам підсилення каналу платформи (центрального каналу C), який рівномірно подається в канали L і R. Другий і третій стовпці відповідно відповідають об'єктному каналу U і об'єктному каналу V. Перший рядок відповідає каналу L 2канального понижувального мікшування, а другий рядок відповідає каналу R. Два об'єкти рухаються в напрямку один одного зі швидкістю, визначеною в такий спосіб: Ми досліджуємо матриці представлення в трьох різних моментах t1, t2 і t3 часу. У даному 0.707 0 1 A2 (t1) 0.707 1 0 . Інакше кажучи, у момент прикладі ми припустимо, що t1 = 0, тобто часу t1 об'єкт U повністю подається в канал R, а об'єкт V повністю мікшується зі зниженням у канал L. Оскільки об'єкти рухаються в напрямку один одного, їхній внесок у віддалений динамік 15 20 25 pi 1 4 40T , де T є збільшується. Для подальшого розширення прикладу, припустимо, що довжиною блоку доступу (як правило, 0,8333 мс або 40 дискретних значень за частоти дискретизації 48 кГц). Таким чином, у момент часу t = 40T два об'єкти перебувають у центрі сцени. Далі ми розглянемо моменти часу t2 = 15T і t3 = 30T, так що: 0.707 A2 (t 2) 0.707 0.707 A2 (t 3) 0.707 0.2903 0.9569 0.9569 0.2902 0.5556 0.8315 0.8315 0.5556 . Розглянемо розкладання наданої специфікації A2(t) на вхідну й вихідну елементарні матриці. 2 2 Для простоти припустимо, що матриці P0 ,P1 є матрицями тотожності, а «ChAssign0» (у декодері 102) є призначенням каналу тотожності, тобто дорівнює тривіальному переставленню (матриці тотожності). Ми бачимо, що: 0 1 1 0 0 1 -2 0.7070 1 0 0.707 0.707 2 1 -0.707 0 1 0 1 0 0 1 1 -1.414 4.243 0 0 1 0 0 1 -1.414 4.243 P01 (t1) P 1 (t1) P21 (t1) 1 30 35 40 0 0 1 0 0 0 0 1 1 1 0 0 InvChAssign1(t1) Перші два рядки вищевикладеного добутку точно є специфікацією A 2(t1). Інакше кажучи, -1 -1 -1 елементарні матриці P0 (t1), P1 (t1), P2 (t1) і призначення каналу, зазначене як «InvChAssign1(t1)», разом приводять до перетворення вхідного каналу C, об'єкта U і об'єкта V у три внутрішні канали, перші два з яких точно є необхідними понижувальними мікшуваннями каналу L і каналу R. Таким чином, вищевикладене розкладання A(t1) на елементарні матриці P 0 1 -1 -1 (t1), P1 (t1), P2 (t1) і призначення каналу, зазначене як «InvChAssign1(t1)», є правильним вибором вхідних елементарних матриць, якщо вихідні елементарні матриці й призначення каналу для двоканального представлення були обрані в якості матриць тотожності. Слід зазначити, що вхідні елементарні матриці є оборотними без втрат для добування каналу C, об'єкта U і об'єкта V декодером, який застосовується до всіх трьох внутрішніх каналів. Однак двоканальному декодеру будуть необхідні тільки внутрішні канали 1 і 2, і застосування вихідних 2 2 елементарних матриць P0 ,P1 і «ChAssign0», усі з яких у цьому випадку є матрицями тотожності. Подібним чином, ми можемо ідентифікувати: 27 UA 113482 C2 0 0 1 -2.5 0.707 1 0 0.707 0.2903 0.9569 1 0.707 0.9569 0.2903 1.666 1 -0.4713 0 1 0 0 1 1 -1.004 4.890 0 0 1 0 0 1 -1.003 4.889 1 1 P0 (t 2) P (t 2) P21 (t 2) 1 0 0 1 0 0 0 0 1 1 1 0 0 InvChAssign1(t2) де перші два рядки ідентичні A(t2), і 0 0 1 -4.624 0.707 1 0 0 0 1 0 0.707 0.5556 0.8315 1 0.707 0.8315 0.5556 1.2759 1 -0.1950 0 0 1 0 1 0 0 0 1 1 0 0 -0.628 7.717 1 1 0 0 -0.628 7.717 0 1 0 1 P01 (t 3) P11 (t 3) P21 (t 3) InvChAssign1(t3) 5 де перші два рядки ідентичні A(t3). Застарілий кодер TrueHD (який не реалізує справжній винахід) може вибрати передачу (перетворення) елементарних матриць, призначених вище для моментів часу t1, t2 і t3, тобто {P0 (t1), P (t1), P2 (t1)},{P0 (t 2), P (t 2), P2 (t 2)},{P0 (t 3), P (t 3), P2 (t 3)} 1 1 1 10 15 . У цьому випадку специфікація в будь-який момент часу t між моментами часу t1 і t2 апроксимується специфікацією в A(t1) і між моментами часу t2 і t3 апроксимується A(t2). У наведеному як приклад варіанті здійснення показаної на фіг. 6 системи елементарна -1 матриця P0 (t) у момент часу t = t1, або t = t2, або t = t3 застосовується до того самого каналу (каналу 2), тобто нетривіальний рядок у всіх трьох випадках є другим рядком. Випадок подібний -1 -1 P1 (t) i P2 (t). Також, елемент «InvChAssign1» у кожний з моментів часу є однаковим. Таким чином, для реалізації кодування за допомогою наведеного як приклад варіанта здійснення кодера 100, показаного на фіг. 6, ми можемо обчислити наступні дельта-матриці: 0 0 0 P0 (t 2) P0 (t1) 0 (t1) 0.0222 0 0.0157 15 0 0 0 0 0.0333 0 P (t 2) P (t1) 1 1 1 (t1) 0 0 0 15 0 0 0 0 0 0 P2 (t 2) P2 (t1) 2 (t1) 0 0 0 15 0.0274 0.0431 0 і 0 0 P0 (t 3) P0 (t 2) 0 (t 2) 0.0261 0 15 0 0 0 0.1416 P (t 3) P (t 2) 1 1 1 (t 2) 0 0 15 0 0 0.0184 0 0 0 0 0 0 0 0 P2 (t 3) P2 (t 2) 2 (t 2) 0 0 0 15 0.0250 0.01885 0 20 На відміну від застарілого кодера TrueHD, кодер TrueHD з можливістю інтерпольованих матричних операцій (наведений як приклад варіант здійснення кодера 100, показаного на фіг. 6) може вибрати відправлення початкових (елементарних і дельта) матриць 28
ДивитисяДодаткова інформація
Назва патенту англійськоюRendering of multichannel audio using interpolated matrices
Автори англійськоюLaw, Malcolm J., Melkote, Vinay, Wilson, Rhonda, Plain, Simon, Jaspar, Andy
Автори російськоюЛоу Малкольм Дж., Мелкотэ Винай, Уилсон Ронда, Плэин Саймон, Джаспар Энди
МПК / Мітки
МПК: H04S 3/00, G10L 19/008
Мітки: звуку, інтерпольованих, використанням, багатоканального, представлення, матриць
Код посилання
<a href="https://ua.patents.su/44-113482-predstavlennya-bagatokanalnogo-zvuku-z-vikoristannyam-interpolovanikh-matric.html" target="_blank" rel="follow" title="База патентів України">Представлення багатоканального звуку з використанням інтерпольованих матриць</a>
Попередній патент: Броміди 1-арил-3-гідрокси-3-(41-дифлуорметоксифеніл)-2,3,6,7,8,9-гексагідро-5н-імідазо[1,2-а]азепінію, що проявляють вазодилататорну активність
Наступний патент: Адамантан-1-амонію 2-((5-(адамантан-1-іл)-4-феніл-4н-1,2,4-триазол-3-іл)тіо)ацетат, який проявляє жарознижуючу активність
Випадковий патент: Спосіб електролітичного отримання сплаву мідь - стибій