Спецификация
Настоящее изобретение относится к обработке звуковых сигналов и, в частности, к приложениям обработки звуковых сигналов, которые полезны в контексте подверженных ошибкам каналов передачи информации, таких как каналы беспроводной связи.
Патент США 5852469 раскрывает систему кодирования и/или декодирования движущегося изображения (киноизображения) и систему кодирования и/или декодирования переменной длины. Кодер имеет делитель для разделения кодового потока, поступающего из кодера, на множество кодовых строк и модуль переупорядочения для размещения по меньшей мере одной из множества кодовых строк в прямом направлении от начала к концу и по меньшей мере одной из других кодовых строк в обратном направлении от конца к началу. Система кодирования переменной длины включает в себя таблицу кодовых слов для сохранения множества кодовых слов таким образом, что кодовые слова соответствуют исходным символам. Кроме того, кодер выбирает кодовое слово, соответствующее исходному символу, вводимому из таблицы кодовых слов, и для вывода выбранного кодового слова в качестве кодированных данных. Множество кодовых слов могут декодироваться в любом из прямого и обратного направлений. Множество кодовых слов имеют такую конфигурацию, в которой интервал между кодами может обнаруживаться за счет заданного весового коэффициента кодового слова, в случае двоичного кода, числа "1" или "0" в кодовом слове.
EP 1155498 B1 раскрывает концепцию для формирования или считывания потока данных, который содержит множество растровых точек в качестве опорных точек, при этом по меньшей мере часть каждого кодового слова из первого набора записывается в первом направлении записи, начиная в растровой точке сегмента, а по меньшей мере часть кодового слова из второго набора кодовых слов записывается в поток данных во втором направлении записи, которое противоположно относительно первого направления записи, начиная со второй растровой точки сегмента. В случае, если кодовое слово из второго набора не вписывается или не полностью вписывается в сегмент, по меньшей мере часть этого кодового слова или часть остатка этого кодового слова, которая не вписывается в назначенный сегмент, записывается в другой, не полностью занятый сегмент, в соответствии с заданным правилом.
Эта процедура гарантирует, что распространение ошибок ограничено пространством между двумя растровыми точками.
Стандарт MPEG-4 Часть 3 Звук [1] задает BSAC, которое использует разрядно-модульное арифметическое кодирование (побитовое арифметическое кодирование), при котором психоакустическая релевантность снижается линейно в звуковом кадре (аудиокадре).
Стандарт MPEG-4 Часть 3 Звук [1] задает категории чувствительности к ошибкам для полезной информации потока битов (двоичного потока) AAC (таблица 4.94 в [1]):
Связанные данные в дальнейшем сохраняются в экземплярах соответствующих классов чувствительности к ошибкам, формируя полезную ER AAC-информацию, которая затем может защищаться отдельно с использованием средства прямого исправления или обнаружения ошибок. Указывается фиксированное распределение элементов данных по категориям. Вследствие энтропийного кодирования, это приводит к классам переменных длин. Эти длины должны передаваться, чтобы обеспечивать возможность декодирования полезной ER AAC-информации, что приводит к дополнительному объему служебной информации (переполнению).
DRM [2] задает суперкадры для полезной информации потока битов AAC, обеспечивая возможность неравномерной защиты от ошибок (aac_super_frame). Суперкадр состоит из предварительно заданного числа (или 5 или 10) AAC-кадров. Предполагается, что психоакустически более важные биты AAC-кадра доступны в начале полезной информации потока битов. Следовательно, первые N битов (например, 200 битов) вырезаются из каждого кадра и последовательно сохраняются в начале суперкадра. Эти биты в дальнейшем защищаются посредством CRC. Оставшиеся биты этих кадров сохраняются впоследствии без защиты. Поскольку всегда фиксированный объем данных рассматривается как чувствительный, информация о длине не должна передаваться, чтобы декодировать защищенную полезную информацию (конечно, требуется информация о длине для отдельных кадров суперкадра, но это находится за пределами объема для текущего рассмотрения).
Кадр, сформированный посредством BSAC, как описано в стандарте MPEG-4 Часть 3 Звук, поступает уже отсортированным посредством психоакустической релевантности; он начинается с наиболее важных битов и завершается наименее важными битами. Это происходит за счет более высокой вычислительной сложности для арифметического кодирования/декодирования всех битов спектральных линий.
Вследствие характера подхода для AAC, как описано в стандарте MPEG-4 Часть 3, экземпляры различных категорий чувствительности к ошибкам имеют переменные длины. Это не представляет собой сложность для сверточных кодов, но является ненадлежащим для блочных кодов, которые требуют защиты фиксированного объема данных.
DRM-подход работает только в том случае, если полезная информация потока битов уже компонуется на основе психоакустической важности отдельных битов.
Цель настоящего изобретения заключается в предоставлении улучшенной, но тем не менее эффективной концепции для формирования кадра с защитой от ошибок либо для обработки принятого кадра с защитой от ошибок.
Это цель достигается за счет процессора передатчика звуковых сигналов по п. 1, процессора приемника звуковых сигналов по п. 23, способа обработки передачи звуковых сигналов по п. 44, способа обработки приема звуковых сигналов по п. 45 или компьютерной программы по п. 46.
Процессор передатчика звуковых сигналов для формирования кадра с защитой от ошибок использует кодированные аудиоданные, соответствующие аудиокадру, причем эти кодированные аудиоданные содержат первое количество информационных единиц, таких как биты или байты, и второе количество информационных единиц. Компоновщик кадров компонует кадр, имеющий растр кодовых слов, задающий опорные положения для предварительно заданного общего числа кодовых слов, причем компоновщик кадров выполнен с возможностью записывать информационные единицы из первого количества информационных единиц, начиная с опорных положений первого предварительно заданного поднабора кодовых слов, и записывать информационные единицы из второго количества информационных единиц, начиная с опорных положений второго предварительно заданного поднабора кодовых слов, причем компоновщик кадров определяет границу между первым количеством информационных единиц и вторым количеством информационных единиц таким образом, что начальная информационная единица из второго количества информационных единиц совпадает с границей кодового слова. Процессор передатчика звуковых сигналов имеет кодер защиты от ошибок для обработки предварительно заданного общего числа кодовых слов отдельно, чтобы получать множество обработанных кодовых слов, представляющих кадр с защитой от ошибок, и/или для обработки одного или более кодовых слов из первого предварительно заданного поднабора с тем, чтобы получать первый результат обработки, и/или для обработки одного или более кодовых слов из второго предварительно заданного поднабора, чтобы получать второй результат обработки, и для добавления первого результата обработки или второго результата обработки к предварительно заданному числу кодовых слов с получением множества обработанных кодовых слов.
На стороне приемника процессор приемника звуковых сигналов для обработки принимаемого кадра с защитой от ошибок содержит интерфейс приемника для приема кадра с защитой от ошибок. Процессор приемника звуковых сигналов содержит процессор защиты от ошибок для обработки кадра с защитой от ошибок с получением кодированного аудиокадра. В частности, процессор защиты от ошибок выполнен с возможностью проверять, содержит ли первый предварительно заданный поднабор кодовых слов кодированного аудиокадра ошибку. Процессор приемника звуковых сигналов содержит модуль сокрытия ошибок или модуль указания сокрытия ошибок, выполненный с возможностью выполнять (полную) операцию сокрытия потерь кадров в случае обнаруженной ошибки в первом предварительно заданном поднаборе кодовых слов или формировать и перенаправлять индикатор (указание) сокрытия ошибок, указывающий на операцию сокрытия потерь кадров, которая должна проводиться в удаленном месте.
Благодаря отдельной обработке первого предварительно заданного поднабора кодовых слов, с одной стороны, и второго предварительно заданного поднабора кодовых слов, с другой стороны, и за счет использования информации о первом предварительно заданном поднаборе кодовых слов на стороне приемника, получают очень эффективную обработку относительно формирования кадра с защитой от ошибок и обработку относительно проверки ошибок, поскольку предварительно заданный поднабор кодовых слов первого набора предварительно задается и поэтому известен декодеру без конкретной дополнительной передачи служебных сигналов, таких как бит служебных сигналов на кадр или т.п. Это не обязательно; вместо этого, поскольку кодер использует предварительно заданный поднабор первых кодовых слов для записи первого количества информационных единиц и поскольку приемник или процессор приемника звуковых сигналов полагается на это предварительное задание, делаются доступными эффективная защита от ошибок, с одной стороны, и эффективная проверка ошибок, с другой стороны.
Предпочтительно, обработка защиты от ошибок на стороне приема обеспечивает возможность отдельного вычисления результата обработки, такого как хэш-значение для двух или более из первого поднабора кодовых слов, но не любого кодового слова из второго набора, при этом вычисление хэш-значения только по кодовым словам из второго предварительно заданного поднабора кодовых слов без кодовых слов из первого набора обеспечивает возможность эффективной обработки проверки ошибок на стороне декодера, поскольку только определенное количество, а не все кодовые слова должны использоваться для хэш-верификации. На очень ранней стадии обработки в приемнике может быть определено, возникают ли серьезные ошибки в кадре, которые, в конечном счете, приводят к необходимости операции сокрытия потерь полных кадров, либо ошибки при передаче повлияли только на относительно менее важные аудиоданные, так что требуется только операция сокрытия потерь частичных кадров гораздо более высокого качества или операция сокрытия вообще не требуется для разрешения этого типа ошибки.
Вследствие того факта, что настоящее изобретение формирует мост между кодированием звуковых сигналов, с одной стороны, и обработкой защиты от ошибок, с другой стороны, с помощью конкретной операции компоновки кадров, на стороне декодера благодаря отдельной обработке защиты от ошибок для первого предварительно заданного поднабора кодовых слов, имеющего первый объем данных, и второго предварительно заданного поднабора кодовых слов, имеющего второй объем данных, может применяться очень эффективная и очень высококачественная и интеллектуальная процедура обработки ошибок. Предпочтительно, первый объем данных представляет собой психоакустически более важные данные либо представляет собой вспомогательную информацию и необязательные TNS-данные, и старшие, а также младшие биты более низких спектральных значений, тогда как второй объем данных обычно содержит старшие и младшие биты более высокие частот, которые не являются сильно определяющими для восприятия звуковых сигналов с психоакустической точки зрения. Дополнительные информационные единицы, которые обычно находятся во втором количестве информационных единиц, представляют собой остаточные данные, которые формируются при условии, что потребление битов арифметическим кодером не полностью израсходовало доступный битовый запас.
В частности, запись первого количества информационных единиц и второго количества информационных единиц в первый и второй предварительно заданные поднаборы, когда граница между первым количеством информационных единиц и вторым количеством информационных единиц размещается на границе кодового слова, гарантирует, что имеется четкое разделение между кодовыми словами, которые являются более важными, т.е. первым предварительно заданным поднабором кодовых слов, по сравнению с кодовыми словами, которые являются менее важными, такими как второй предварительно заданный поднабор кодовых слов. В сценарии, в котором операция кодирования, применяемая аудиокодером, представляет собой зависимую от сигнала операцию кодирования, что, в конечном счете, приводит к результату переменной длины аудиоданных для кадра, который адаптирован к фиксированному растру кадров, за счет управления операцией кодирования и за счет вычисления дополнительных остаточных битов, например, граница между первым количеством информационных единиц и вторым количеством информационных единиц динамически изменяется от кадра к кадру. Однако психоакустически более важные данные, такие как низкочастотные данные, включаются в первый предварительно заданный поднабор, и поэтому на стороне передатчика только проверка первого предварительно заданного поднабора кодовых слов приводит к ситуации, в которой должно выполняться сокрытие потерь полных кадров, тогда как как только на стороне приемника определено, что первый предварительно заданный поднабор кодовых слов принят без ошибок, только затем должна проводиться последующая обработка, такая как проверка второго предварительно заданного поднабора кодовых слов. Следовательно, как только определяется, что первый предварительно заданный поднабор кодовых слов имеет ошибку, операция сокрытия потерь полных кадров, такая как повторение более раннего кадра или модифицированное повторение предшествующего кадра либо что-либо аналогичное, выполняется без траты каких-либо ресурсов для дальнейшей обработки принимаемого ошибочного кадра.
Процессор приемника содержит модуль считывания кадров для считывания кодированного аудиокадра в соответствии с предварительно заданной процедурой считывания кадров, идентифицирующей первый предварительно заданный поднабор кодовых слов и второй предварительно заданный поднабор кодовых слов. Любой порядок обработки аудиоданных, который применен компоновщиком кадров на стороне кодера, может отменяться/перекомпоновываться или, для процедуры непосредственного считывания, известен декодеру, так что декодер может синтаксически анализировать принимаемый кадр по меньшей мере относительно первого предварительно заданного поднабора, когда безошибочное условие обнаружено для этого первого предварительно заданного поднабора и даже для второго предварительно заданного поднабора, в случае, если также определено безошибочное условие второго предварительно заданного поднабора.
Модуль считывания кадров обычно должен активироваться только после определения безошибочной ситуации первого предварительно заданного поднабора кодовых слов. Процессор защиты от ошибок должен знать только местоположение первого предварительно заданного поднабора кодовых слов в кадре данных, выводимом процессором защиты от ошибок, но не должен знать, для целей проверки ошибок, то, в каких направлениях в соответствующие положения, представленные кодовыми словами, записаны какие-либо данные.
Предпочтительно, психоакустически менее важные данные расположены в конкретных положениях в кадре, которые могут находиться на левой границе кадра или на правой границе кадра либо в предварительно заданном числе кодовых слов/опорных положений внутри кадра. Желательно отделять психоакустически более важные данные от психоакустически менее важных данных, или требуется перекомпоновывать психоакустически более важные данные и психоакустически менее важные данные в аудиокадре.
Перекомпоновка, например, необходима для того, чтобы совмещать данные с данной схемой защиты и обнаружения ошибок, когда кадр кодированных аудиоданных формируется предварительно заданным и стандартизированным аудиодекодером, который еще не настроен с возможностью взаимодействовать с определенным процессором защиты от ошибок. Эта перекомпоновка обеспечивает возможность отдельных процедур сокрытия потерь кадров в зависимости от доступности психоакустически более важных данных и психоакустически менее важных данных.
Далее поясняются предпочтительные варианты осуществления настоящего изобретения со ссылкой на сопроводительные чертежи, на которых:
Фиг. 1 является иллюстрацией примера исходной полезной информации LC3-потока битов;
Фиг. 2 иллюстрирует распределение битов примерной полезной информации LC3-потока битов, приведенных на фиг. 1, на основе их психоакустической релевантности;
Фиг. 3 иллюстрирует пример перекомпоновки полезной информации LC3-потоков битов;
Фиг. 4 иллюстрирует другой пример перекомпоновки полезной информации LC3-потоков битов с арифметическим кодером/декодером, работающим со степенью детализации в байт;
Фиг. 5 иллюстрирует предпочтительную реализацию процессора передатчика звуковых сигналов;
Фиг. 6 иллюстрирует процедуру для реализации компоновки кадров;
Фиг. 7 иллюстрирует предпочтительную процедуру, выполняемую компоновщиком кадров по фиг. 5;
Фиг. 8 иллюстрирует предпочтительную процедуру компоновщика кадров;
Фиг. 9a-9c иллюстрируют схематичные представления местоположений первого предварительно заданного поднабора кодовых слов и второго предварительно заданного поднабора кодовых слов внутри кадра, скомпонованного компоновщиком кадров по фиг. 5;
Фиг. 10 иллюстрирует предпочтительную реализацию прямой записи кадра компоновщиком кадров;
Фиг. 11 иллюстрирует предпочтительную реализацию процедуры перекомпоновки компоновщика кадров по фиг. 5;
Фиг. 12 иллюстрирует предпочтительную реализацию кодера защиты от ошибок по фиг. 5;
Фиг. 13 иллюстрирует предпочтительную реализацию процессора приемника звуковых сигналов в соответствии с настоящим изобретением;
Фиг. 14 иллюстрирует предпочтительную процедуру процессора защиты от ошибок и модуля сокрытия ошибок;
Фиг. 15 иллюстрирует дополнительную предпочтительную реализацию процессора защиты от ошибок и модуля сокрытия ошибок;
Фиг. 16 иллюстрирует схематичное представление спектрального диапазона сокрытия для сокрытия потерь частичных кадров;
Фиг. 17 иллюстрирует дополнительную реализацию сокрытия потерь частичных кадров;
Фиг. 18 иллюстрирует предпочтительную реализацию модуля считывания кадров по фиг. 13;
Фиг. 19 иллюстрирует предпочтительную реализацию модуля считывания кадров для выполнения перекомпоновки принимаемых данных в формат кадра, требуемый конкретным стандартом, таким как стандартизированный аудиодекодер;
Фиг. 20 иллюстрирует предпочтительную процедуру, проводимую модулем считывания кадров для непосредственного считывания аудиоданных кадра с защитой от ошибок;
Фиг. 21 иллюстрирует предпочтительную реализацию аудиокодера по фиг. 5; и
Фиг. 22 иллюстрирует предпочтительную реализацию аудиодекодера по фиг. 13.
Далее поясняются предпочтительные реализации настоящего изобретения в определенных контекстах.
Биты записываются хронологически, но не пространственно, в ходе процесса кодирования на основе их психоакустической релевантности. Наиболее важные данные записываются первыми, наименее важные данные записываются последними. Однако положение психоакустически менее важных битов в "нормальном" аудиокадре может варьироваться от кадра к кадру в зависимости от базовых кодированных данных. Это, например, может быть обусловлено записью данных в кадр с обеих сторон, причем с одной стороны записываются арифметически кодированные данные, а с другой стороны одновременно записываются данные, кодированные другим средством. Пример для такого подхода представляет собой LC3-кодек.
Предусмотрена система с двумя классами битов. Подразделение полезной информации потока битов на два класса проводится на основе её релевантности относительно вывода:
• Биты, которые являются психоакустически менее важными, т.е. их искажение обеспечивает возможность сокрытия потерь частичных кадров, помещаются в один класс;
• Биты, которые являются психоакустически более важными, т.е. их искажение требует сокрытия потерь полных кадров, помещаются в другой класс.
Причина для этого состоит в том, что, в зависимости от доступности двух классов, предусмотрены различные стратегии сокрытия. Эти две различных стратегии сокрытия в дальнейшем называются сокрытием потерь полных кадров и сокрытием потерь частичных кадров:
• Сокрытие потерь полных кадров осуществляется, если потерян класс, покрывающий психоакустически более важные биты. Доступность класса, покрывающего психоакустически менее важные биты, не имеет значения: его данные не оцениваются. В этом случае данные текущего кадра не доступны, так что кадр синтезируется полностью на основе последнего принятого кадра.
• Сокрытие потерь частичных кадров может осуществляться, если доступен класс, покрывающий психоакустически более важные биты, но потерян класс, покрывающий психоакустически менее важные данные. В этом случае психоакустически более важные данные доступны и могут использоваться для восстановления кадра: просто психоакустически менее важные данные должны синтезироваться на основе последнего полностью принятого кадра. Сокрытие потерь частичных кадров предназначено для обеспечения лучшего качества (т.е. меньшее количество артефактов), чем сокрытие потерь полных кадров при многих обстоятельствах.
Размеры двух классов предварительно задаются, например, канальным кодером.
Схема прямого обнаружения и исправления ошибок предпочтительно использует коды Рида-Соломона и работает при степени детализации в кодовое слово, тогда как каждое кодовое слово состоит из нескольких полубайтов (4 битов, также называемых "полуоктетами"). В настоящем случае (LC3) одно кодовое слово состоит из 13-15 полубайтов. В предпочтительном варианте осуществления такая схема прямого обнаружения и исправления ошибок предлагает различные степени обнаружения и исправления ошибок, в зависимости от расходуемого объема служебной информации, например:
• Объем служебной информации 4 полубайта на кодовое слово обеспечивает возможность корректировки 2 полубайтов (режим 3 защиты от ошибок);
• Объем служебной информации 6 полубайтов на кодовое слово обеспечивает возможность корректировки 3 полубайтов (режим 4 защиты от ошибок).
Для данной общей скорости передачи битов, чистая скорость передачи битов зависит от выбранного режима защиты от ошибок: чем выше производительность (способность) обнаружения и исправления ошибок, тем меньше доступная чистая скорость передачи битов.
Отдельное обнаружение ошибок требуется для обоих классов. При рассмотрении данной конфигурации канального кодирования, предпочтительно сохранять все биты одного класса в определенное число кодовых слов и все биты другого класса в оставшееся число кодовых слов.
Подразделение битов в полезной информации потока битов на классы проводится таким образом, что всегда определенное число кодовых слов содержит биты одного класса, тогда как оставшееся число кодовых слов содержит биты другого класса.
Как утверждается выше, положение психоакустически менее важных битов может варьироваться от кадра к кадру в зависимости от базовых кодированных данных.
Однако цель состоит в том, чтобы иметь определенное количество психоакустически менее важных битов, отделенных для перекомпоновки (обеспечивающих возможность отдельной защиты и обнаружения ошибок в комбинации с фиксированными размерами и положениями кодовых слов, предоставленными канальным кодеком).
Перекомпоновка должна проводиться адаптивно на покадровой основе. При такой перекомпоновке для возврата перекомпоновки или для декодирования перекомпонованной полезной информации потока битов не должна требоваться никакая дополнительная вспомогательная информация (например, информация о длине).
Полезная информация потока битов обычно записывается таким образом, что процедуры записи и считывания могут быть реализованы эффективным способом. Психоакустическая важность обычно не играет роли, что может приводить к полезной информации потока битов, в которой психоакустически менее важные биты и психоакустически более важные биты смешиваются. Чтобы обеспечивать возможность эффективной прямой защиты от ошибок в контексте данных требований, упомянутых выше, такая полезная информация потока битов является субоптимальной и требует перекомпоновки.
Поскольку положение психоакустически менее важных битов может варьироваться от кадра к кадру в зависимости от базовых кодированных данных, невозможно прямое отображение в фиксированные размеры и положения кодовых слов. Следовательно, в прямом подходе связанные биты перекомпонуются следующим образом:
• психоакустически менее важные биты сохраняются на одном конце предварительно сортированной полезной информации потока битов.
• психоакустически более важные биты сохраняются на другом конце предварительно сортированной полезной информации потока битов.
Число психоакустически менее важных битов статически извлекается на основе режима защиты от ошибок и размера канально кодированного кадра.
Однако местоположение психоакустически менее важных битов извлекается динамически. Адаптивные правила перекомпоновки предварительно задаются таким образом, что для аннулирования перекомпоновки на стороне декодера не требуется дополнительная вспомогательная информация. Правила адаптации гарантируют, что психоакустически наименее важные биты всегда сохраняются на дальнем конце выбранной стороны потока битов, и при этом гарантируют, что декодер знает точно, как восстанавливать исходную полезную информацию потока битов.
С одной стороны, такая перекомпоновка может проводиться в качестве этапа постобработки, после того, как "нормальная" полезная информация потока битов полностью записана кодером, и в качестве этапа предварительной обработки после декодирования вспомогательной информации (которая никогда не составляет часть перекомпоновки) до того, как оставшаяся "нормальная" полезная информация считывается декодером.
С другой стороны, такая перекомпоновка также может проводиться в ходе процесса кодирования, с записью кодированных битов непосредственно в соответствующем положении, и в ходе процесса декодирования, со считыванием битов непосредственно из соответствующего положения.
Отметим, что возможно любое назначение психоакустически менее и психоакустически более важных битов выделенным кодовым словам. Назначение психоакустически менее важных битов самым левым кодовым словам, и назначение психоакустически более важных битов самым правым кодовым словам представляет собой только один предпочтительный вариант осуществления. Соответственно, перекомпоновка также может проводиться по-другому, в зависимости от выбранного назначения. Единственным предварительным условием является то, что назначение предварительно задано, так что декодер может вернуть процесс без дополнительной информации в потоке битов.
Следующие сценарии применения являются важными:
1. Аудиокадр должен записываться таким образом, что психоакустически менее важные биты собираются на одном конце потока битов:
a. Начало записи в область, предоставленную для более старших битов, с обеих сторон.
b. Прекращение, когда два указателя записи встречаются друг с другом.
c. Продолжение записи с обеих сторон в область, предоставленную для более младших битов.
2. Аудиокадр записывается "нормальным" способом, но должен перекомпоновываться таким образом, чтобы психоакустически менее важные биты собирались на одном конце потока битов:
a. Начало считывания и синтаксического анализа кадра с обеих сторон.
b. Прекращение, когда число битов, предоставленных для более старших битов, считывается: психоакустически менее важные биты представляют собой оставшиеся биты между двумя указателями считывания.
c. Обмен данными до левого указателя с данными между двумя указателями.
3. Аудиокадр записывается таким образом, чтобы психоакустически менее важные биты собирались на одном конце потока битов, но должны перекомпоновываться "нормальным" способом:
a. Начало считывания кадра с обеих сторон. Если психоакустически менее важные биты должны сохраняться в левой стороне потока битов, начальная точка для считывания психоакустически более важных битов с левой стороны может извлекаться из (означает: равна) числа битов, предоставленных для психоакустически менее важных битов. Если психоакустически менее важные биты должны сохраняться в правой стороне потока битов, начальная точка для считывания психоакустически более важных битов с правой стороны может извлекаться из числа битов, предоставленных для психоакустически менее важных битов, и общего числа битов.
b. Прекращение, когда два указателя записи встречаются друг с другом.
c. Обмен данными до начальной точки для считывания психоакустически более важных битов (см. a.) с данными между этой начальной точкой и точкой встречи двух указателей.
4. Аудиокадр, записанный таким образом, что психоакустически менее важные биты собраны на одном конце потока битов, должен считываться:
a. Начало считывания кадра с обеих сторон. Если психоакустически менее важные биты должны сохраняться в левой стороне потока битов, начальная точка для считывания психоакустически более важных битов с левой стороны может извлекаться из числа битов, предоставленных для психоакустически менее важных битов. Если психоакустически менее важные биты должны сохраняться в правой стороне потока битов, начальная точка для считывания психоакустически более важных битов с правой стороны может извлекаться из числа битов, предоставленных для психоакустически менее важных битов и общего числа битов.
b. Прекращение, когда два указателя записи встречаются друг с другом.
c. Продолжение считывания с обеих сторон оставшейся части кадра. Начальная точка для считывания психоакустически менее важных битов с правой стороны является той же самой, что и начальная точка для считывания психоакустически более важных битов с левой стороны (см. a.).
Фиг. 5 иллюстрирует процессор передатчика звуковых сигналов в соответствии с предпочтительным вариантом осуществления настоящего изобретения. Процессор передатчика звуковых сигналов предпочтительно содержит компоновщик 506 кадров и кодер 508 защиты от ошибок.
Ввод в процессор передатчика звуковых сигналов представляет собой объем кодированных аудиоданных, таких как аудиоданные, получаемые из кадра аудиоданных, вводимого в аудиокодер 500, который обычно представляет собой аудиокодер переменной длины. Объем в битах, требуемый аудиокодером, зависит от сигнала, подлежащего кодированию, но в предпочтительной реализации вывод аудиоданных, обычно в виде кадра кодированных аудиоданных, представляет собой кадр фиксированной длины. Следовательно, аудиокодер обычно кодирует с переменным качеством, так что кадр аудиоданных, подлежащих кодированию, которые затруднительно кодировать, в конечном счете, представлен в кодированных аудиоданных представлением более низкого качества, в то время как кадр аудиоданных, подлежащих кодированию, которые легко кодировать, т.е. которые могут кодироваться с меньшим числом битов для определенного уровня качества, представлен, в конечном счете, на выводе аудиокодера 500 представлением более высокого качества.
Обычно вывод аудиокодера для определенной, например, части временной области аудиоданных содержит первое количество информационных единиц и второе количество информационных единиц. В случае ситуации 50-процентного суммирования с перекрытием, часть временной области в два раза превышает размер кадра, т.е. число аудиовыборок, заново вводимых в кодер или выводимых за счет стадии суммирования с перекрытием декодера.
Компоновщик 506 кадров на фиг. 5, который, например, может содержать модуль 502 перекомпоновки и последовательно соединенный модуль 504 записи кадров или который, например, может состоять из модуля записи кадров только в случае, если любое промежуточное представление не представляет собой сложность, выполнен с возможностью компоновки кадра, имеющего растр кодовых слов, задающий опорные положения для общего числа предварительно заданных кодовых слов для кадра. Такой кадр, например, иллюстрируется на фиг. 9a, 9b, 9c, на которых приводятся различные компоновки кодовых слов, и на которых, например, опорные положения для предварительно заданных кодовых слов указываются в качестве вертикальных линий, и эти опорные положения представляют собой начало кодового слова или конец кодового слова либо и то, и другое. Эти опорные положения или растровые точки не требуют конкретных информационных единиц, а задаются определенным положением бита или байта, в которое записываются некоторые данные. Следовательно, опорные положения или растровые точки не подвергаются дополнительному объему служебной информации и обычно отмечают начало или конец кодового слова для процессора защиты от ошибок.
В соответствии с настоящим изобретением, компоновщик кадров выполнен с возможностью записывать информационные единицы из первого количества информационных единиц, начиная с опорных положений первого предварительно заданного поднабора кодовых слов.
Информационные единицы из второго количества информационных единиц записываются, начиная с опорных положений второго предварительно заданного поднабора кодовых слов. В частности, компоновщик 506 кадров выполнен с возможностью определять границу между первым количеством информационных единиц и вторым количеством информационных единиц таким образом, что начальная информационная единица из второго количества информационных единиц совпадает с границей кодового слова. Таким образом получают четкое разделение между первым количеством информационных единиц и вторым количеством информационных единиц и соответствующим образом связанные процедуры защиты от ошибок на стороне передатчика, с одной стороны, и на стороне приемника, с другой стороны.
Процессор передатчика звуковых сигналов дополнительно содержит кодер 508 защиты от ошибок для обработки предварительно заданного числа кодовых слов отдельно, чтобы получать множество обработанных кодовых слов, представляющих кадр с защитой от ошибок. Для этой процедуры кодер защиты от ошибок может содержать добавляющий энтропию или блочный кодер, такой как кодер Рида-Соломона. Альтернативно или дополнительно, кодер защиты от ошибок может содержать другое отдельное обрабатывающее устройство некодовых слов, такое как процессор CRC- или хэш-значений, который обрабатывает одно или более из кодовых слов из первого предварительно заданного поднабора с получением первого результата обработки, такого как первое хэш-значение, либо обрабатывает одно или более кодовых слов из второго предварительно заданного поднабора с получением второго результата обработки, такого как второе хэш-значение, а также для добавления результатов обработки либо одного из первого и второго результатов обработки к предварительно заданному числу кодовых слов с получением множества обработанных кодовых слов. Первый результат обработки извлекается только из первого предварительно заданного поднабора, и второй результат обработки извлекается только из второго предварительно заданного поднабора. Предпочтительно, порядок обработки защиты от ошибок является таким, что первый и второй результаты обработки вычисляются из кодовых слов, которые еще не подвергнуты обработке избыточности по ошибкам, таких как кодовые слова на вводе в кодер Рида-Соломона либо в любой другой блочный кодер защиты от ошибок. Предпочтительно, чтобы первый и второй результаты обработки добавлялись в первый и второй предварительно заданные наборы кодовых слов либо в отдельном дополнительном кодовом слове, либо в пустое пространство, которое по-прежнему доступно или в первом, или во втором наборе, и кодовые слова и результаты обработки, такие как хэш-значения, защищаются процессором кодера Рида-Соломона.
Кадр с защитой от ошибок, полученный кодером 508 защиты от ошибок по фиг. 5, перенаправляется в предпочтительно беспроводной передатчик, такой как совместимое со стандартом DECT (усовершенствованной цифровой беспроводной телефонной связи) устройство. Этот передатчик 510, следовательно, отправляет кадр с защитой от ошибок в (беспроводной) подверженный ошибкам канал.
Предпочтительно, компоновщик 506 кадров выполнен с возможностью определять границу между первым количеством информационных единиц и вторым количеством информационных единиц на основе информационной емкости второго предварительно заданного поднабора таким образом, что информационная емкость второго предварительно заданного поднабора равна количеству информационных единиц из второго количества информационных единиц. После того как модуль 504 записи кадров записал объем данных, равный общему объему данных для целого кадра, меньшему емкости второго предварительно заданного поднабора, первый объем данных аудиокадра является полным, и второй объем данных начинается с начала первого кодового слова из второго предварительно заданного поднабора кодовых слов.
Аудиокодер 500 или исходный кодер для формирования первого и второго количеств информационных единиц полагается на покадровую обработку и использование предварительно заданной временной части звукового сигнала. Информационные единицы содержат набор обязательных информационных единиц, таких как данные, сформированные арифметическим кодером или, как правило, кодером переменной длины. Информационные единицы имеют переменное число остаточных информационных единиц, которые обеспечивают представление повышенного качества временной части звукового сигнала, и эти данные записываются в поток битов, когда битовый запас еще не заполнен арифметическим кодером. Исходный кодер 500 выполнен с возможностью использования правила кодирования переменной длины, приводящего к зависимому от сигнала числу информационных единиц для предварительно заданной временной части. Компоновщик кадров выполнен с возможностью компоновать кодированный аудиокадр таким образом, что кодированный аудиокадр имеет фиксированный размер в кодированных информационных единицах, а аудиокодер 500 выполнен с возможностью определять переменное число остаточных информационных единиц в качестве разности между предварительно заданным размером кадра и числом обязательных битов.
Предпочтительно, компоновщик 504 кадров выполнен с возможностью определять границу между первым количеством информационных единиц и вторым количеством информационных единиц сигнально-адаптивно от кадра к кадру таким образом, что, в зависимости от звукового сигнала для кадра, граница представляет граничную информационную единицу, связанную с другой аудиоинформацией кадра или интерпретируемую по-другому аудиодекодером. Предпочтительно, граничная информационная единица ссылается на и представляет определенное спектральное значение либо определенную комбинацию спектральных значений в аудиокодере в спектральной области, что предпочтительно используется в аудиокодере 500 и что далее поясняется со ссылкой на фиг. 21 для кодера и фиг. 22 для декодера.
В предпочтительной реализации настоящего изобретения модуль 504 записи кадров или, как правило, компоновщик 506 кадров выполнен с возможностью записывать первое количество информационных единиц в первый предварительно заданный поднабор, идентифицированный на этапе 600 на фиг. 6. На этапе 601 граница между первым и вторым количеством информационных единиц определяется, как только первый поднабор заполнен информационными единицами. Как указано в этапе 602, второе количество информационных единиц записывается во второй предварительно заданный поднабор кодовых слов.
Предпочтительно, как проиллюстрировано на фиг. 7, первый предварительно заданный поднабор кодовых слов имеет порядок кодовых слов и указываемые опорные положения. Это справедливо для второго предварительно заданного поднабора кодовых слов, который также предпочтительно имеет порядок кодовых слов и опорные положения.
Фиг. 9a иллюстрирует первую возможность компоновки предварительно заданного поднабора кодовых слов в кадре кодовых слов. В варианте осуществления по фиг. 9a первый поднабор кодовых слов представляет собой кодовые слова 4, 5, 6, 7, а второй поднабор кодовых слов представляет собой кодовые слова 1, 2, 3.
Кодовые слова из второго поднабора кодовых слов, которые принимают второе количество информационных единиц, которые, предпочтительно, представляют собой психоакустически менее важные аудиоданные, все позиционируются рядом друг с другом и в начальном положении кадра. Кодовые слова из первого поднабора кодовых слов, которые принимают первое количество информационных единиц, которые, предпочтительно, представляют собой психоакустически более важные аудиоданные, все позиционируются рядом друг с другом и в конечном положении кадра.
Первый предварительно заданный поднабор кодовых слов предварительно задается с помощью четвертого кодового слова в кадре и с помощью порядка или последовательности кодовых слов от кодового слова 4 до кодового слова 5, от кодового слова 5 до кодового слова 6 и от кодового слова 6 до кодового слова 7. Первый предварительно заданный поднабор идентифицирует кодовые слова и порядок кодовых слов для направления записи. Компоновщик кадров выполнен с возможностью записывать, в предпочтительном варианте осуществления, первый поднабор кодовых слов, т.е. кодовые слова 4, 5, 6, 7, как указано стрелками, которые начинаются с опорных положений кодовых слов. Операция записи слева направо начинается в начале четвертого кодового слова в качестве опорного положения, а запись в противоположном направлении начинается в конце седьмого кодового слова в качестве опорного положения, т.е. с конечного положения кадра. Второй предварительно заданный поднабор также идентифицирует кодовые слова и порядок кодовых слов для направления записи, соответственно.
Второй поднабор кодовых слов предварительно задается с помощью первого кодового слова в кадре и с помощью порядка или последовательности от первого кодового слова до второго кодового слова и от второго кодового слова до третьего кодового слова. В случае, если кодовые слова или поднабор находятся рядом друг с другом, информация о порядке или последовательности неявно задается направлением записи или считывания. При этом запись в направлении влево слева направо находится в начальном положении кадра первого кодового слова, а запись с правого конца второго поднабора, т.е. с кодового слова 3 начинается с конца третьего кодового слова в направлении к начальному положению кадра.
Естественно, число кодовых слов в первом поднаборе и во втором поднаборе является свободно выбираемым, и чем больше число кодовых слов второго поднабора, тем меньше необходимость сокрытия потерь полных кадров. Тем не менее необходимо гарантировать, чтобы число кодовых слов первого поднабора было достаточно большим с тем, чтобы могло проводиться сокрытие потерь частичных кадров с приемлемым качеством, когда все кодовые слова из второго поднабора или, например, кодовые слова 1 и 3 в варианте осуществления по фиг. 9a из второго поднабора являются ошибочными, что может обнаруживаться процессором приемника звуковых сигналов, проиллюстрированным на фиг. 13.
Фиг. 9b иллюстрирует альтернативную реализацию первого предварительно заданного поднабора и второго предварительно заданного поднабора. Кроме того, оба поднабора задают кодовые слова, которые находятся рядом друг с другом, но первый предварительно заданный поднабор теперь совмещается с начальным положением кадра, и второй предварительно заданный поднабор кодовых слов теперь совмещается с конечным положением кадра.
Фиг. 9c иллюстрирует другую альтернативу, в которой первый поднабор и второй поднабор компонуются не рядом друг с другом, т.е. кодовое слово второго поднабора, т.е. кодовое слово 2 вставлено между двумя кодовыми словами, т.е. кодовым словом 1 и кодовым словом 3 из первого предварительно заданного поднабора. Фиг. 9c также указывает направление записи для отдельных кодовых слов, и становится очевидным, что, например, кодовое слово число 5 записывается с обеих сторон, и когда это имеет место, указатели записи для записи второго поднабора кодовых слов будут встречаться друг с другом в некотором месте в кодовом слове номер 5.
В вариантах осуществления по фиг. 9a-9c стрелки над представлением кодового слова указывают направление записи, когда применяется предпочтительная реализация двух указателей записи, которая поясняется в дальнейшем относительно фиг. 8. В частности, как пояснено относительно фиг. 9a-9c, компоновщик 5 кадров выполнен с возможностью использовать, в качестве второго поднабора кодовых слов, предварительно заданное число смежных кодовых слов на одной стороне кадра кодированных аудиоданных, например, как проиллюстрировано на фиг. 9a, либо использовать, в качестве первого поднабора кодовых слов, первое предварительно заданное число смежных кодовых слов на другой стороне кадра кодированных аудиоданных, например, как проиллюстрировано относительно фиг. 9a или 9b, причем сумма первого предварительно заданного числа кодовых слов и второго предварительно заданного числа кодовых слов равна общему предварительно заданному числу кодовых слов. Альтернативно, как проиллюстрировано на фиг. 9c, по меньшей мере одно кодовое слово из первого поднабора расположено между двумя кодовыми словами из второго поднабора или наоборот.
Предпочтительно, компоновщик 506 кадров выполнен с возможностью записывать первое количество информационных единиц в первый предварительно заданный поднабор с использованием опорного положения первого поднабора кодовых слов, и как только первый предварительно заданный поднабор заполнен, второе количество информационных единиц записывается в опорных положениях второго предварительно заданного поднабора, и компоновщик 506 кадров выполнен с возможностью определять границу в качестве последней информационной единицы, записанной в последнее кодовое слово из первого предварительно заданного поднабора, либо в качестве первой информационной единицы, записанной в опорном положении первого кодового слова из второго предварительно заданного поднабора. Предпочтительно, первое и второе количества информационных единиц выбираются таким образом, что все или по меньшей мере большинство информационных единиц из первого количества информационных единиц являются психоакустически более важными, чем большинство или все информационные единицы из второго количества информационных единиц.
Альтернативно или дополнительно, и как пояснено относительно стороны передатчика, только сокрытие потерь частичных кадров предусмотрено в процессоре приемника звуковых сигналов, когда только информационные единицы во втором количестве информационных единиц обнаруживаются как поврежденные, и при этом сокрытие потерь полных кадров предусмотрено в процессоре приемника звуковых сигналов, когда информационные единицы в первом количестве информационных единиц определяются как поврежденные.
Как поясняется ниже относительно фиг. 1 или 2, кодированные информационные единицы из по меньшей мере двух категорий, которые выбираются из группы категорий, состоящей из вспомогательной информации фиксированной длины, вспомогательной информации переменной длины, информации формирования временного шума, одного или более старших битов из первой частотной части спектра, одного или более старших битов из второй частотной части спектра, при этом вторая частотная часть выше первой частотной части, одного или более младших битов или знаковых битов из первой частотной части, одного или более младших битов или знаковых битов из второй частотной части и остаточных битов, при этом, если сформированы аудиокодером, вспомогательная информация фиксированной длины, вспомогательная информация переменной длины, информация формирования временного шума, упомянутые один или более старших битов из спектра первой частотной части и упомянутые один или более младших битов или знаковых битов из первой частотной части используются в качестве категорий для первого количества информационных единиц, и при этом старшие биты из второй частотной части, упомянутые один или более младших битов или знаковых информационных единиц второй частотной части или остаточные биты используются в качестве категорий для второго количества информационных единиц.
В предпочтительном варианте осуществления, проиллюстрированном на фиг. 8, используются два указателя 810, 812 записи. Первый указатель 810 записи выполнен с возможностью работать и записывать в первом направлении записи, а второй указатель 812 записи выполнен с возможностью работать и записывать во втором направлении записи, которое противоположно первому направлению записи. Данные для первого указателя записи получают с помощью первого управляемого ввода и извлекают, например, из входного буфера 802, в котором имеется любая воображаемая форма выходных данных аудиокодера, либо в котором присутствует указанный промежуточный формат, такой как стандартизированный формат, например, как поясняется относительно фиг. 1 для аудиокодера на основе LC3 (кодека по стандарту связи с низкой сложностью).
В первом примерном случае данные во входном буфере поступают непосредственно из кодера. В этом случае данные извлекаются по мере того, как они исходят из кодера. В примере этого первого примерного случая кодер записывает LSB (младший бит) и знаки для спектральной линии или кортежа спектральных линий в первом управляемом вводе 804 и MSB (старший бит) для этой идентичной спектральной линии или кортежа спектральных линий во втором управляемом вводе 806.
Во втором примерном случае данные исходят из уже записанного кадра. Затем контроллер применяет синтаксический анализатор потоков битов или кадров, считывающий поток битов или кадр и предоставляющий данные в управляемые вводы в считываемом/синтаксически проанализированном порядке. В примере этого второго примерного случая синтаксический анализатор считывает LSB и знаки для спектральной линии или кортежа спектральных линий и предоставляет эти данные в первый управляемый ввод 804, и синтаксический анализатор считывает MSB для этой идентичной спектральной линии или кортежа спектральных линий и предоставляет эти данные во второй управляемый ввод 806.
Имеется второй управляемый ввод 806, который также осуществляет доступ к входному буферу 802 и который предоставляет данные второму указателю 812 записи, который выполнен с возможностью записывать во втором (противоположном) направлении. Контроллер 800 выполнен с возможностью управлять по меньшей мере первым и вторым указателями 810, 812 записи и предпочтительно дополнительно вводами 804, 806. Контроллер принимает, в качестве ввода, число кодовых слов из второго набора или, соответственно, число менее важных информационных единиц, т.е. (информационную) емкость кодовых слов из второго предварительно заданного поднабора кодовых слов. Контроллер предпочтительно имеет сохраненную информацию о предварительно заданных первом и втором поднаборах и связанных с ними порядков, т.е. информацию о количествах/положениях кодовых слов в кадре и/или порядке кодовых слов для соответствующего поднабора.
Контроллер 800 управляет вводами (входными данными) 804, 806. Контроллер дополнительно задает первый и второй указатели в начальные положения/адреса в кадре для первого количества информационных единиц. Указатель 810 инкрементируется (увеличивается), а указатель 812 синхронно декрементируется (уменьшается).
Контроллер 800 обнаруживает то, что все кодовые слова из первого поднабора записываются в выходной буфер, и контроллер задает начальные положения/адреса первого и второго указателей для второго количества информационных единиц и затем синхронно инкрементирует/декрементирует указатели записи для дополнительного выполнения записи второго количества информационных единиц. Предпочтительно, порядок процедур, проводимых контроллером 800, является таким, как указано на фиг. 8, но также могут выполняться другие порядки. Однако определение начала второго количества информационных единиц на основе того, когда записывается первое количество информационных единиц, представляет собой автоматический, низкоэффективный и несложный способ определения первого и второго количества информационных единиц от кадра к кадру, даже если аудиокодер работает зависимым от звукового сигнала способом.
Существует несколько применений для компоновщика кадров, как пояснено относительно фиг. 10 и 11. В частности, фиг. 10 иллюстрирует процедуру, когда выполняется прямая запись. На этапе 100 компоновщик кадров принимает кодированные аудиоданные из аудиокодера и определяет первый предварительно заданный поднабор кодовых слов. Он записывается с обеих сторон, и запись останавливается, когда указатели записи встречаются друг с другом, как указано на этапе 101. Запись продолжается во второй предварительно заданный поднабор кодовых слов до тех пор, пока не записываются все информационные единицы. В частности, как указано в 102, запись продолжается в начале или конце кадра для второго предварительно заданного поднабора по меньшей мере относительно одного указателя записи.
Компоновщик кадров также может использоваться для перекомпоновки уже существующего потока битов, такого как формат LC3-потока битов. В этой процедуре кодированный аудиокадр существует в указанном/стандартизированном промежуточном формате, в котором, например, все кодовые слова для первого набора или все кодовые слова из второго набора расположены рядом друг с другом в левой или в правой стороне конечного подлежащего перекомпоновке кадра.
На этапе 200 определяется первый предварительно заданный поднабор. На этапе 202 промежуточный формат считывается и синтаксически анализируется с обеих сторон. На этапе 204 считывание и синтаксический анализ останавливается, когда объем информации информационных единиц в первом предварительно заданном поднаборе считывается. На этапе 206 кадр записывается путем обмена данными до левого указателя с данными между указателями в конкретном варианте осуществления, который, например, проиллюстрирован на фиг. 3, который подробно поясняется далее. Операция записи в варианте осуществления по фиг. 11 проводится только на этапе 206, поскольку этапы 202-204 относятся только к считыванию и синтаксическому анализу и выполнению других процедур. Запись не должна обязательно представлять собой инкрементируемую или декрементируемую запись, как при прямой записи, поясненной относительно фиг. 10, но запись проводится путем обмена определенными смежными количествами информационных единиц.
Фиг. 12 иллюстрирует предпочтительную реализацию кодера 508 защиты от ошибок, проиллюстрированного на фиг. 5. На первом этапе 210 процессор защиты от ошибок 508 вычисляет первое хэш-значение только по первому предварительно заданному поднабору кодовых слов, без кодовых слов из второго поднабора кодовых слов. На этапе 212 второе хэш-значение вычисляется только по второму предварительно заданному поднабору, т.е. без кодовых слов из первого предварительно заданного поднабора. На этапе 214 первое и второе хэш-значения добавляются в поднаборы кадра, как указано на этапе 214. На этапе 216 блочное кодирование, такое как кодирование по Риду-Соломону, выполняется для поднаборов и хэш-значений, чтобы получить кадр с защитой от ошибок, который перенаправляется в предпочтительно беспроводной передатчик 510, т.е., например, в DECT-совместимый передатчик.
Фиг. 21 иллюстрирует типичный аудиокодер или исходный кодер, такой как аудиокодер 500, но аудиокодер 500 также может быть реализован с помощью любого другого аудиокодера, который работает на основе принципа переменной длины, т.е. формирует определенное число битов для временной части звукового сигнала, который варьируется от кадра к кадру, когда качество сохраняется одинаковым.
Звуковой сигнал вводится в модуль 52 аналитического кодирования со взвешиванием, который, предпочтительно, работает с перекрытием, т.е. имеет значение временного опережения, которое ниже продолжительности функции кодирования со взвешиванием. Эти данные представляют собой (кодированную со взвешиванием) временную часть для кадра и вводятся в частотно-временное преобразование 54, которое предпочтительно реализуется в качестве MDCT (модифицированного дискретного косинусного преобразования).
В блоке 56 выполняется необязательная операция формирования временного шума, которая состоит из прогнозирования по частоте. Вывод TNS-стадии 56 представляет собой остаточные значения прогнозирования, и, дополнительно, вспомогательная TNS-информация выводится предпочтительно в энтропийный кодер 60, который представляет собой энтропийный кодер переменной длины, такой как арифметический кодер. Выходные спектральные MDCT-значения или остаточные спектральные TNS-значения квантуются квантователем 58, который может управляться или может не управляться психоакустическим способом, и квантованные данные вводятся в энтропийный кодер переменной длины, такой как арифметический кодер. Аудиокодер дополнительно содержит остаточный кодер для формирования остаточных битов, которые необходимы для того, чтобы заполнять кадр дополнительными битами, когда энтропийный кодер переменной длины не полностью потребляет доступный битовый запас. Другие признаки, которые могут использоваться или не использоваться, представляют собой заполнение шумом, применение глобального усиления или формирование спектрального шума. На выходе блока 60 мультиплексор потоков битов размещается с возможностью приема данных из блока 60, которые могут представлять собой MSB, LSB и знаки и другие данные.
На стороне декодера, проиллюстрированной на фиг. 22, например, имеется энтропийный декодер переменной длины, который, кроме того, представляет собой арифметический декодер. Результат энтропийного декодера переменной длины вводится в деквантователь 74, и вывод деквантователя 74 обрабатывается обратным TNS-процессором, когда доступна TNS-обработка либо когда TNS не выполняется, вывод деквантователя 74 перенаправляется в обратное частотно-временное преобразование, которое, например, может представлять собой обратное MDCT-преобразование, как указано в блоке 78 на фиг. 22. Вывод блока 78 перенаправляется в модуль синтезирующего кодирования со взвешиванием и процессор 80 суммирования с перекрытием, который, в завершение, получает декодированный звуковой сигнал временной области. TNS-данные, используемые обратным TNS-процессором 74, обычно извлекаются из потока битов и даже предпочтительно извлекаются из энтропийного декодера переменной длины, но также могут использоваться другие способы для кодирования, обработки и передачи данных.
Далее поясняется предпочтительная реализация настоящего изобретения относительно фиг. 1-4. Этот вариант осуществления полагается на порядке и компоновке первого и второго предварительно заданных поднаборов кодовых слов, проиллюстрированных на фиг. 9a, но также в равной степени применим к другим компоновкам. Последующий вариант осуществления предоставляет четкие подробности вплоть до уровня битов, но, конечно, конкретные цифры представляют собой только варианты осуществления, и ясно, что также могут использоваться другие подробные цифры/числа.
Основное внимание в этом разделе уделяется, например, сценарию перекомпоновки для совмещения данных с заданной схемой защиты и обнаружения ошибок, обеспечивающему возможность отдельных процедур сокрытия потерь кадров в зависимости от доступности психоакустически более важных данных и психоакустически менее важных данных.
Предпочтительный вариант осуществления поясняется на основе полезной информации LC3-потока битов. Эта полезная информация потока битов может грубо подразделяться на следующие категории (см. выше):
1. Вспомогательная информация, фиксированная часть (сплошная красная) и переменная часть (красно-белая с диагональными полосами)
2. TNS, арифметически кодированный (TNSarith)
3. MSB спектра, арифметически кодированный (MSB Specarith)
4. LSB и знаки спектра (LSB-Sign Spec)
5. Остаток.
Отметим, что спектр кодируется спектральными кортежами, тогда как каждый кортеж представляет две последовательные спектральные линии.
Стрелки указывают направление записи и считывания. Порядок записи/считывания является следующим:
1. Фиксированная часть вспомогательной информации записывается справа налево.
2. Переменная часть вспомогательной информации записывается справа налево.
3. Арифметически кодированные TNS-данные записываются слева направо.
4. Арифметически кодированные MSB спектра, а также LSB и знаки спектра записываются синхронно (от спектральной линии к спектральной линии, начиная со спектральной линии, представляющей наименьшую частоту), тогда как арифметически кодированные MSB записываются слева направо, а LSB и знаки (без арифметического кодирования) записываются справа налево).
5. Если по-прежнему остаются биты между этими двумя частями данных, остаточные биты записываются справа налево.
Тогда как категории 1 и 2 всегда трактуются как психоакустически важные, категории 3-5 в общем трактуются как психоакустически менее важные. Тем не менее, релевантность не является постоянной для всех этих битов в этой области:
• Биты, представляющие остаток, являются младшими;
• Биты, представляющие спектральные кортежи, являются тем психоакустически менее важными, чем более высокими являются частоты, которые представляют покрытые спектральные линии, т.е.
• Биты, представляющие спектральные кортежи, покрывающие спектральные линии с более высокой частотой, являются менее значимыми;
• Биты, представляющие спектральные кортежи, покрывающие спектральные линии с более низкой частотой, являются более значимыми.
Фиг. 1 и фиг. 2 показывают распределение битов на основе их психоакустической релевантности. Красный указывает высокую релевантность; зеленый указывает небольшую релевантность. Предусмотрены две переходных фазы, и обе из них изменяются динамически на покадровой основе.
Последние записанные биты в потоке битов представляют собой психоакустически младшие биты. Их местоположение является переменным. Оно может определяться непосредственно при записи или считывании (и синтаксическом анализе) потока битов путем проверки до тех пор, пока не остается данное число битов, трактуемых как психоакустически менее важные. Это данное число покрывает остаток и биты определенного числа спектральных линий (MSB, а также LSB и знаков). Покрытие спектра начинается с линий, представляющих наибольшие частоты. Чем выше данное число менее важных битов, тем ниже верхняя частота, которая может успешно декодироваться, если эти менее важные биты искажаются.
Число Npccw кодовых слов, трактуемых как психоакустически менее важные, и число битов, трактуемых как психоакустически менее важные, представляет собой параметр настройки. Этот параметр настройки определяется предпочтительно по характеристике кода защиты от ошибок. Для одного варианта осуществления в LC3 оптимальный размер выявляется экспериментально в зависимости от интенсивности защиты (режима m защиты от ошибок) и размера Ns поля (области памяти) в качестве примеров характеристики кода защиты от ошибок, которая указывает размер канально кодированного кадра, т.е. общий размер кадра, в байтах. Это осуществляется в следующей формуле:
Фиг. 3 предоставляет пример аудиокадра до и после перекомпоновки, а также назначения кодовым словам, предоставленным канальным кодеком. Он также показывает синтаксический анализ перекомпонованной полезной информации потока битов на стороне декодера.
Общая скорость передачи битов в этом примере составляет 76800 бит/с при кадрировании в 10 мс, что приводит к 96 байтам на кадр. Для этой длины кадра канальный кодек предоставляет 13 кодовых слов: 3 кодовых слова с общим размером 7 байтов и 10 кодовых слов с общим размером 7,5 байтов. В режиме 4 защиты от ошибок (= 3-байтовый объем служебной информации для защиты), служебная информация FEC (прямого исправления ошибок) составляет 39 байтов, оставляя 57 байтов для полезной информации, разбитой на 3 кодовых слова с чистым размером 4 байта и 10 кодовых слов с чистым размером 4,5 байта.
Фиг. 3A показывает полезную информацию потока битов одного кадра, разделенную на 57-байтовые пакеты, что приводит к 456 битам в целом [0:455]. Красный блок соответствует статической вспомогательной информации, тогда как область красной/белой формы соответствует динамической вспомогательной информации, которая может варьироваться от кадра к кадру в зависимости от кодированных данных.
Биты, трактуемые как менее значимые, показаны в синем цвете, с разграничением битовыми границами b_left и b_right (в данном примере b_left=184, b_right=315). Эта зона перекрывает остаточные биты и дополнительно покрывает биты из "MSB Specarith" и из "LSB+Sign Spec", начиная с наибольших частот. Число битов из "MSB Specarith" обычно выше числа битов из "LSB+Sign Spec", поскольку обычно большее количество битов на спектральную линию потребляется для кодирования MSB, чем для кодирования LSB и знака.
"MSB Specarith" до b_left (записан слева направо, показан зеленым) и "LSB+Sign Spec" до b_right (записан справа налево, показан белым) объединенно представляют спектральные кортежи от нуля Герц до наибольшей частоты, кодированной до этой точки. Если еще один спектральный кортеж должен рассматриваться как психоакустически менее важный, по меньшей мере одна граница должна перемещаться наружу; если еще один спектральный кортеж должен рассматриваться как психоакустически более важный, по меньшей мере одна граница должна перемещаться внутрь.
Фиг. 3B показывает кадр после перекомпоновки: синяя часть [184:315] меняется местами с зеленой частью [0:183]. Отметим, что синяя часть может быть меньше, равного размера или больше зеленой части.
Фиг. 3C отображает полезную информацию 13 кодовых слов в качестве ввода в канальный кодек.
Фиг. 3D показывает полезную информацию принимаемого потока битов. Он примерно показывает два искаженных кодовых слова.
Фиг. 3E показывает процесс декодирования. Он примерно показывает искаженные биты, инкапсулированные между двумя битовыми границами be_bp_left и be_bp_right. Элементы разрешения по частоте спектральных кортежей, представленных битами в этом диапазоне, должны синтезироваться путем сокрытия потерь частичных кадров.
Очевидно, что назначение битов в полезной информации потока битов двум предусмотренным классам непосредственно не соотносится с кодовыми словами, предоставленными канальным кодером.
В данном примере части между b_left и b_right на фиг. 3A [184:315] присваивается второй класс, тогда как другим битам [0:183] и [316:455] присваивается первый класс. Здесь, биты, которым присвоен второй класс [184:315] на фиг. 3A, не вписываются в структуру кодового слова на фиг. 3C без увеличения числа кодовых слов для второго класса. Второй класс должен находиться частично в кодовом слове 6 [184:203], полностью в кодовых словах 7-9 [204:311] и частично в кодовом слове 10 [312:315]. Следовательно, требуется перекомпоновка, как показано на фиг. 3B: Теперь второй класс [0:131] идеально вписывается в первые четыре кодовых слова 1-4.
В данном примере 4 кодовых слова принадлежат второму классу, и 9 кодовых слов принадлежат первому классу. Число битов, подлежащих сохранению в любом классе, таким образом ограничено количеством битов полезной информации, предоставляемых кодовыми словами этого класса. В данном примере кодовые слова 1-3 предоставляют, каждый, полезную информацию 4 байта, тогда как кодовые слова 4-13 предоставляют, каждый, полезную информацию 4,5 байта. Это приводит к:
• 3*4 байта+1*4,5 байта=16,5 байтов для психоакустически менее важных битов, и
• 9*4,5 байта =40,5 байтов для психоакустически более важных битов.
В то время как число психоакустически менее важных битов (block_size) задается, местоположение границ (b_left и b_right) варьируется на покадровой основе. После перекомпоновки эти биты всегда находятся в идентичной точке, что обеспечивает эффективное канальное кодирование.
На стороне кодера, поток битов bs_enc перекомпонуется следующим образом:
где len является чистым размером кадра в битах, и block_size является числом более младших битов.
На стороне декодера граница b_right, которая представляет собой границу, где два указателя со считыванием "1. MSB Specarith" и "1. LSB+Sign Spec" встречаются друг с другом (см. фиг. 3E), определяется при декодировании потока битов. Число психоакустически менее важных битов известно из конфигурации прямой защиты от ошибок (режима защиты от ошибок и числа Npccw кодовых слов). Перекомпоновка кадра bs_rearranged на стороне декодера проводится следующим образом:
Если битовые ошибки не применяются к кадру bs_rearranged, bs_enc равен bs_dec.
Как указано выше, перекомпоновка может проводиться либо в качестве этапа постобработки, либо непосредственно в ходе процесса записи/считывания.
Следующие параметры являются статическими:
1. Размер Ns поля указывает размер канально кодированного кадра в октетах (байтах). В данном примере Ns=96.
2. Ncw указывает число кодовых слов, которые используются для кодирования кадра данных
В данном примере Ncw =13.
3. Параметр Li, который задается для i=0...Ncw-1, указывает длину i-ого кодового слова в полуоктетах (т.е. полубайтах) и задается как:
В данном примере . Отметим, что перечисление проводится по-другому на фиг. 3C.
4. Параметр di, m, который указывает расстояние Хэмминга (RS)-кода i в режиме m защиты от ошибок, задается как:
,
где m>1. В данном примере .
5. Число кодовых слов, назначаемых для психоакустически менее важных битов, выявляется на основе длины кадра и режима защиты от ошибок (см. выше). В данном примере .
6. Размер блока частичного сокрытия в полуоктетах может выявляться как:
В данном примере Npc=33.
7. Число менее важных битов (block_size) может выявляться как:
В данном примере block_size=132.
8. Соответственно, начальная точка для записи TNS-данных известна (16,5 байтов слева).
Необходимо проводить следующее для каждого кадра на стороне кодера:
1. Запись фиксированной части вспомогательной информации, начиная с правого конца полезной информации потока битов, справа налево.
2. Запись переменной части вспомогательной информации, начиная с левого конца фиксированной части вспомогательной информации, справа налево.
3. Запись TNS-данных, начиная block_size с левого конца полезной информации потока битов, слева направо.
4. Запись MSB "1. MSB Specarith" спектральных данных, начиная с правого конца TNS-данных, слева направо, до b_left+block_size-1=b_right; и запись LSB и знаков "1. LSB+Sign Spec" спектральных данных, начиная с левого конца вспомогательной информации, справа налево, до b_left+block_size. Отметим, что b_left и b_right не известны заранее.
5. Граница b_left+block_size-1=b_right определяется, когда два указателя со считыванием "1. MSB Specarith" и "1. LSB+Sign Spec" встречаются друг с другом (см. стрелки на фиг. 3E).
6. Продолжение записи MSB "2. MSB Specarith" спектральных данных, начиная с левой границы полезной информации потока битов, слева направо; и продолжение записи LSBs и знаков "2. LSB+Sign Spec" спектральных данных, начиная с block_size-1, справа налево.
7. Запись остатка, начиная с левого конца LSBs и знаков спектральных данных, справа налево.
Считывание на стороне декодера может проводиться аналогично описанной записи на стороне кодера.
Фиг. 3 иллюстрирует этот процесс записи или считывания перекомпонованной полезной информации потока битов. Фиг. 3A показывает "нормальную" полезную информацию потока битов, тогда как фиг. 3B показывает перекомпонованную полезную информацию потока битов. Как указано выше, эта перекомпонованная полезная информация потока битов может сразу записываться или считываться. Альтернативно, перекомпоновка также может выполняться в качестве постобработки на стороне кодера либо в качестве предварительной обработки на стороне декодера. Тем не менее, поток битов должен синтаксически анализироваться для этого процесса перекомпоновки следующим образом:
• Исходный порядок → перекомпонованный порядок: b_left и b_right должны обнаруживаться путем подсчета оставшихся битов, подлежащих записи: границы достигаются, если это число равно block_size.
• Перекомпонованный порядок → исходный порядок: b_right должен обнаруживаться путем наблюдения за указателями со считыванием "1. MSB Specarith" и "1. LSB+Sign Spec": граница достигается, когда оба указателя встречаются друг с другом.
Хотя диапазон битов, представляющих психоакустически менее важные биты, задается канальным кодеком, b_left и b_right могут находиться в произвольном положении бита.
В одном предпочтительном варианте осуществления арифметический кодер/декодер работает со степенью детализации в байт. В этом примере b_left уже попадает на границу байта. Это отражено на фиг. 3A, где b_left=184.
Однако, поскольку базовый канальный кодер (фиг. 3C) работает со степенью детализации в полубайт (4 бита), block_size может не быть кратным байтам, и таким образом b_right может не также попадать на границу байта. В этом случае после перекомпоновки будет возникать рассогласование, как описано выше. В этом примере такое рассогласование является видимым в байте 17 [128:135] (фиг. 3E), в котором арифметический декодер должен начинать декодирование в положении 132 бита, которая не представляет собой границу байта.
Чтобы справиться с этим, block_size теперь выявляется как:
Фиг. 4 показывает пример этого варианта осуществления, рассматривая те же самые параметры, как представленные на фиг. 3. Здесь block_size=136 битов, т.е. b_right теперь находится также на границе байта, приводя к начальной точке арифметического декодера в положении 136 бита, что приводит в результате к целочисленному положению 17 байта (фиг. 4E, арифметический декодер начинает с декодирования TNSarith). Правый полубайт байта 17[132:135] (отображается с сине-белыми полосами) теперь содержит биты, трактуемые как психоакустически менее важные, хотя он назначается кодовому слову, предназначенному для покрытия психоакустически более важных данных. Это имеет следующие эффекты:
• Если имелись некорректируемые битовые ошибки в кодовом слове 5, то целый кадр будет синтезироваться с сокрытием потерь полных кадров, даже если ошибки затрагивают только правый полубайт байта 17, т.е. биты [132:135].
• Если кодовые слова 5-13 являются хорошими, и имеются некорректируемые битовые ошибки в кодовом слове 4, которое может находиться просто в левом полубайте байта 17, т.е. в битах [128:132]: то правый полубайт байта 17 по-прежнему может быть декодирован, поскольку он кодируется в хорошем кодовом слове 5.
Отметим, что:
• b_left может сдвигаться немного в следующую левую границу байта, если он уже не находится на границе байта, как в примере, приведенном на фиг. 3.
• Число спектральных кортежей, принадлежащих психоакустически менее важным данным, может немного увеличиваться, тогда как число спектральных кортежей, принадлежащих психоакустически более важным данным, может соответственно немного снижаться. Следовательно, в некоторых ситуациях с повреждениями может случаться так, что число частотных кортежей, которые могут декодироваться, меньше, чем в случае степени детализации в полубайт/бит. Однако, с точки зрения качества, это будет иметь незначительное влияние, но обеспечивает возможность более эффективной реализации арифметического кодера/декодера.
Хотя вышеприведенный пример разрешает ситуацию, в которой степени детализации находятся в целочисленной взаимосвязи друг с другом, аналогичная обработка используется в случае нецелочисленных взаимосвязей степеней детализации или в случае степени детализации арифметического кодера ниже степени детализации при защите от ошибок.
Признак предпочтительного подхода для перекомпоновки потоков битов (отделения психоакустически менее важных от психоакустически более важных битов) заключается в том, что биты записываются или считываются хронологически, но не пространственно, аудиокодером/декодером, начиная с высоковажных битов и заканчивая низковажными битами, поскольку два модуля записи потоков битов записывают одновременно в поток битов, либо два модуля считывания потоков битов считывают одновременно из потока битов (в данном случае в различных направлениях), и в том, что вследствие кодирования переменной длины, априорная информация не предоставляется в отношении того, где расположены два указателя записи или считывания, когда записывается или считывается определенный объем данных. Такие местоположения известны только после того, как этот объем данных записывается, или после того, как этот объем данных синтаксически анализируется (т.е. считывается и оценивается), либо поскольку определенный объем данных записывается или считывается, либо поскольку два указателя встречаются друг с другом во время записи или считывания.
Хотя в качестве пост- или предварительного процесса возможна перекомпоновка после этапа кодирования или до этапа декодирования, предпочтительна прямая запись или считывание перекомпонованного потока битов, поскольку перекомпоновка требует дополнительного этапа синтаксического анализа.
Далее со ссылкой на фиг. 13-20 поясняются предпочтительные варианты осуществления настоящего изобретения, которые относятся к стороне декодера или приемника.
Фиг. 13 иллюстрирует процессор приемника звуковых сигналов для обработки принимаемого кадра с защитой от ошибок. Процессор приемника звуковых сигналов содержит интерфейс 300 приемника для приема кадра с защитой от ошибок и для вывода кадра с защитой от ошибок в процессор 302 защиты от ошибок. Процессор 302 защиты от ошибок выполнен с возможностью обработки кадра с защитой от ошибок с получением кодированного аудиокадра. В частности, процессор защиты от ошибок принимает информацию о первом или втором предварительно заданном поднаборе, а, предпочтительно, только из первого предварительно заданного поднабора и даже только о кодовых словах, принадлежащих первому предварительно заданному поднабору. Эта информация достаточна для того, чтобы процессор 302 защиты от ошибок мог проверять, содержит ли предварительно заданный поднабор кодовых слов кодированного аудиокадра, получаемого от процессора 302 защиты от ошибок, ошибку.
Процессор 302 защиты от ошибок обрабатывает кадр с защитой от ошибок, выводит кадр с кодовыми словами и дополнительно формирует информацию в отношении того, имеет ли кадр с кодовыми словами, который обычно представляет собой кадр фиксированной длины, ошибку в первом предварительно заданном поднаборе кодовых слов.
В этом контексте следует упомянуть, что кодовые слова, вводимые в кодер 508 защиты от ошибок процессора передатчика звуковых сигналов по фиг. 5, или кодовые слова, выводимые процессором 302 защиты от ошибок процессора приемника звуковых сигналов, также могут считаться кодовыми словами полезной информации, и что кодовые слова, выводимые процессором 302 защиты от ошибок процессора приемника звуковых сигналов, или кодовые слова, вводимые в кодер 508 защиты от ошибок процессора передатчика звуковых сигналов по фиг. 5, называются просто "кодовыми словами".
Процессор приемника звуковых сигналов содержит модуль сокрытия ошибок или модуль 304 указания сокрытия ошибок, выполненный с возможностью выполнять операцию сокрытия потерь кадров в случае обнаруженной ошибки в первом предварительно заданном поднаборе кодовых слов или формировать индикатор для такой операции сокрытия ошибок, подлежащей выполнению, например, в удаленном месте.
Процессор приемника звуковых сигналов содержит модуль 306 считывания кадров и последовательно присоединенный аудиодекодер 308. Модуль 306 считывания кадров может управляться процессором 302 защиты от ошибок или модулем сокрытия ошибок, или модулем 304 указания сокрытия ошибок. В частности, в случае, если процессор 302 защиты от ошибок определяет ошибку в первом предварительно заданном поднаборе кодовых слов, которая приводит к обычному сокрытию потерь полных кадров, модуль 306 считывания кадров и аудиодекодер 308 могут управляться таким образом, что эти блоки не должны больше работать для этого кадра.
В случае, если процессор 302 защиты от ошибок определяет ошибку во втором предварительно заданном поднаборе кодовых слов, а не в первом предварительно заданном поднаборе кодовых слов, модуль 306 считывания кадров управляется на считывание в первом предварительно заданном поднаборе кодовых слов, но считывание второго предварительно заданного поднабора кодовых слов может пропускаться, поскольку обнаружена ошибка, либо может пропускаться по меньшей мере считывание определенного кодового слова, в котором обнаружена ошибка, если не все кодовые слова из второго предварительно заданного поднабора кодовых слов являются ошибочными.
В случае, если процессор 302 защиты от ошибок определяет то, что оба поднабора кодовых слов являются безошибочными, т.е. не содержат ошибку, которая не скорректирована с помощью процедуры процессора защиты от ошибок, модуль 306 считывания кадров выполнен с возможностью считывать кодированные аудиоданные в первом и втором предварительно заданных поднаборах с использованием предварительно заданной информации относительно первого и второго предварительно заданных поднаборов, и модуль 306 считывания кадров может выводить считываемые аудиоданные в любой форме или указанном промежуточном формате для целей обработки аудиодекодером 308.
Когда модуль сокрытия ошибок или модуль 304 указания сокрытия ошибок управляются процессором 302 защиты от ошибок, выполняя сокрытие потерь частичных кадров, модуль сокрытия ошибок может формировать синтезирующие аудиоданные и перенаправлять синтезирующие аудиоданные в аудиодекодер 308 с тем, чтобы аудиодекодер мог использовать эти данные сокрытия, такие как более высокие спектральные значения или остаточные данные, вместо передаваемых, но затронутых ошибкой аудиоданных во втором наборе вторых кодовых слов. В зависимости от реализации, модуль сокрытия ошибок либо модуль 304 указания сокрытия ошибок, или модуль сокрытия потерь кадров на фиг. 13 использует данные из одного или более более ранних кадров, и модуль 304 сокрытия может быть интегрирован в аудиодекодер таким образом, что обе функциональности интегрируются друг в друга. В случае модуля указания сокрытия ошибок, сокрытие проводится в месте, удаленном от процессора защиты от ошибок, и аудиодекодер принимает индикатор для выполнения сокрытия от устройства 304.
Предпочтительно, чтобы кадр с защитой от ошибок имел две стадии защиты от ошибок. Первая стадия защиты от ошибок представляет собой избыточность, вводимую блочным кодером, таким как кодер Рида-Соломона на стороне передатчика. Дополнительная и вторая линия защиты представляют собой вычисление одного или более хэш-кодов для первого предварительно заданного поднабора кодовых слов, с одной стороны, и второго предварительно заданного поднабора кодовых слов, с другой стороны.
Хотя процессор защиты от ошибок и, в частности, блочный код, такой как код Рида-Соломона, применяемый процессором защиты от ошибок, может обнаруживать и корректировать несколько ошибок, может случиться так, что некоторые ошибки выдерживают декодирование по Риду-Соломону без какого-либо обнаружения и без какого-либо исправления, или что исправление ошибок "исправило" ошибки в неправильном направлении. Чтобы также найти эти ошибки, выполняется хэш-верификация с использованием переданного хэш-вывода операцией декодирования по Риду-Соломону и сравнения этого передаваемого хэш-значения с хэш-значением, извлекаемым из декодированных первых (или вторых) предварительно заданных поднаборов кодовых слов.
Предпочтительная реализация проиллюстрирована на фиг. 14. На этапе 400 выполняют декодирование по Риду-Соломону с обнаружением/исправлением ошибок. Эта процедура приводит к декодированному кадру с кодовыми словами и передаваемыми первым и вторым результирующими значениями, которые предпочтительно реализуются в качестве хэш-значений. На этапе 402 первое хэш-значение вычисляют из первого предварительно заданного поднабора, а на этапе 404 вычисленное первое хэш-значение сравнивают с передаваемым первым хэш-значением. В случае, если оба хэш-значения равны, процедура переходит к этапу 406. Однако в случае, если оба хэш-значения не равны, обнаружена ошибка, и обработка останавливается, и начинается сокрытие потерь полных кадров, как указано на этапе 408.
Однако, когда определено то, что первое хэш-значение и передаваемое первое хэш-значение равны друг другу, выполняется этап 406, на котором второе хэш-значение вычисляется и сравнивается с передаваемым вторым хэш-значением. В случае, если оба хэш-значения не равны, то применяется процедура, указанная на этапе 410, т.е. выполняется сокрытие потерь частичных кадров. Однако, когда определяется то, что оба хэш-значения относительно второго предварительно заданного поднабора кодовых слов равны, модуль считывания кадров и аудиодекодер управляются, выполняя операцию безошибочного декодирования. Процедура, проиллюстрированная на фиг. 14, предпочтительно реализуется модулем сокрытия ошибок или модулем 304 указания сокрытия ошибок и/или процессором 302 защиты от ошибок.
Фиг. 15 иллюстрирует предпочтительную реализацию сокрытия потерь частичных кадров, проиллюстрированного на этапе 410 по фиг. 14. На этапе 420 определяется, являются ли ошибочными только одно или более кодовых слов из всех кодовых слов из второго предварительно заданного поднабора кодовых слов. С этой целью принимается информация, например, из блочного декодера, такого как декодер Рида-Соломона или модуль CRC-контроля, для каждого кодового слова. Обычно декодер Рида-Соломона будет указывать, какое кодовое слово из второго предварительно заданного поднабора кодовых слов является ошибочным. Например, на этапе 420 указывается, что только одно или два кодовых слова являются ошибочными, а другие кодовые слова из второго набора предварительно заданных кодовых слов являются корректными. Данные этих других неповрежденных кодовых слов используются в максимально возможной степени для нормального декодирования или частичного сокрытия. На этапе 422 упомянутые один или более неошибочных блоков или кодовых слов второго поднабора считываются.
На этапе 424 определяется то, какое смысловое значение, такое как спектральный диапазон или остаточные данные, отражается упомянутыми одним или более ошибочными кодовыми словами. Для этой цели полезна информация о порядке и опорных положениях кодовых слов из второго предварительно заданного поднабора кодовых слов. Этап 424 определяет смысловое значение ошибочных кодовых слов с тем, чтобы этап 426 может синтезировать данные сокрытия для ошибочных блоков, такие как спектральный диапазон, определенный на этапе 424. Альтернативно, вид сокрытия ошибок также может быть таким, что остаточные данные, которые указаны как поврежденные, просто пропускаются, так что остаточное декодирование и соответствующее повышение качества, которое получалось бы в случае неошибочных кодовых слов, просто не выполняется в качестве вида процедуры сокрытия ошибок в непроблемной ситуации, когда повреждаются только остаточные данные.
Однако в случае определения того, что повреждается определенный спектральный диапазон, данные сокрытия для этого спектрального диапазона формируются на этапе 426.
На этапе 428 считанные данные из первого предварительно заданного поднабора и корректные данные из кодовых слов из второго предварительно заданного поднабора и данных сокрытия объединяются и декодируются, чтобы в итоге получить декодированный звуковой сигнал для временной части (кадра) звукового сигнала, получающегося в результате процедуры сокрытия потерь частичных кадров.
Фиг. 16 иллюстрирует общее представление процедуры, выполняемой на этапе 424. С помощью синтаксического анализа потока битов с ошибочными данными определяется смысловое значение данных относительно того, какие спектральные значения эти данные представляют, чтобы получить спектральный диапазон сокрытия. Однако фактические значения этих данных не используются, поскольку они определены как ошибочные. Результат процедуры после этапов 424 и 426 будет в том, что неошибочные данные спектрального диапазона получают до границы сокрытия, и ошибочные спектральные данные, которые заменяются данными синтеза/сокрытия, существуют для спектрального диапазона между границей сокрытия и максимальной частотой. Однако в других вариантах осуществления может случаться так, что спектральный диапазон сокрытия не полностью расширяется до максимальной границы, а покрывает только определенный спектральный диапазон между границей сокрытия и другой границей, которая ниже максимальной частоты, требуемой аудиодекодером. Аудиодекодер по-прежнему принимает корректно принимаемые данные между границей сокрытия и максимальной частотой.
В варианте осуществления модуль сокрытия ошибок или модуль 304 указания сокрытия ошибок выполнен с возможностью формировать заменяющие данные, и эти данные затем декодируются или, как правило, используются декодером вместе с неошибочными данными. В другом варианте осуществления модуль сокрытия ошибок или модуль 304 указания сокрытия ошибок формирует только индикатор сокрытия ошибок, и этот индикатор оценивается аудиодекодером, таким как декодер 308 по фиг. 13, как показано соединительной линией между блоками 304 и 308, при этом соединительная линия переносит индикатор сокрытия ошибок. Аудиодекодер затем предпринимает необходимые меры по сокрытию ошибок без конкретной операции декодирования аудио (хотя, как правило, индикатор сокрытия ошибок "декодируется" или интерпретируется), такой как с использованием данных из более ранних кадров или эвристических процедур либо других связанных процедур.
Фиг. 17 иллюстрирует ситуацию, когда используются данные, поясненные относительно фиг. 1, 2, 3 или 4 или полученные аудиокодером на фиг. 21. На этапе 430 наибольшая частота, которая соответствует корректным старшим битам, определяется в качестве границы сокрытия. Альтернативно, максимум наибольшей частоты MSB- и LSB-/знаковых битов также может определяться на этапе 434 в качестве границы сокрытия.
На этапе 432 более высокие значения частоты синтезируются полностью или с использованием возможно полученных LSB- или знаковых битов: хотя повреждаются MSB-биты с более высокой частотой, тем не менее LSB- или знаковые биты по-прежнему доступны для таких спектральных значений, соответствующих поврежденным MSB-битам. На этапе 436 ошибочные данные также синтезируются, когда ошибочные данные покрывают LSB- или знаковые биты более низких значений частоты, чем граница сокрытия. Вывод (выходные данные) процедуры синтеза представляет собой данные синтеза/сокрытия в форме спектральных значений для спектрального диапазона сокрытия, схематично проиллюстрированного на фиг. 16.
Фиг. 18 иллюстрирует предпочтительную реализацию модуля 306 считывания кадров по фиг. 13. Модуль считывания кадров предпочтительно содержит входной буфер 442 и выходной буфер 452 или прямой вывод в аудиодекодер. Модуль 306 считывания кадров содержит контроллер 440, указатель 444 первого управляемого ввода, который работает в первом направлении считывания, и указатель 446 второго управляемого ввода, который работает во втором направлении считывания. Указатель 444 первого управляемого ввода может снабжать первый указатель 448 записи, и указатель 446 второго управляемого ввода может снабжать второй указатель 450 записи.
В качестве соответствующего контроллера на стороне кодера, проиллюстрированного в 800 на фиг. 8, контроллер 440 реализации указателя на стороне приемника также принимает информацию о числе кодовых слов во втором предварительно заданном поднаборе или информацию об общем числе или емкости психоакустически менее важных информационных единиц.
Дополнительно, контроллер 440 может принимать индикатор ошибочных кодовых слов второго поднабора из процессора защиты от ошибок в случае, если данные из второго предварительно заданного поднабора кодовых слов используются в максимально возможной степени, как пояснено относительно фиг. 17. Если это не так и если определено, что по меньшей мере одно кодовое слово из второго предварительно заданного поднабора кодовых слов является ошибочным, и поэтому все спектральные данные, которые покрываются вторым предварительно заданным поднабором кодовых слов, формируются операцией сокрытия ошибок в качестве данных синтеза или сокрытия, какое-либо управление от процессора защиты от ошибок в контроллер 440 не требуется.
Тем не менее, процедура контроллера 440 подобна таковой у контроллера 800 по фиг. 8, но понятие записи и считывания меняется местами. В частности, контроллер 440 на фиг. 18 управляет точками записи, например, для обмена данными или путем записи с инкрементированием. Обмен данными проводится в случае компоновки, как пояснено в контексте фиг. 19, тогда как процедура инкрементирования/декрементирования выполняется для прямого декодирования, проиллюстрированного на фиг. 20.
Контроллер 440 задает начальные положении/адреса первого и второго указателей в кадре для первого количества информационных единиц и затем синхронно инкрементирует/декрементирует указатели ввода (считывания). Контроллер 440 обнаруживает то, что все кодовые слова из первого поднабора считываются из входного буфера, и затем задает начальные положения/адреса первого и второго указателей для второго количества информационных единиц и синхронно инкрементирует/декрементирует указатели считывания до тех пор, пока не считаются все оставшиеся данные.
В первом примерном случае данные, записанные в выходной буфер 452, запрашиваются из декодера, поскольку только декодер, и, в частности, энтропийный декодер и/или остаточный декодер знает то, сколько информационных единиц или битов требуется от какого указателя. В примере декодер принимает LSB и знаки для спектральной линии или кортежа спектральных линий от первого указателя 448 записи и MSB для этой той же самой спектральной линии или кортежа спектральных линий от второго указателя 450 записи, как требуется энтропийному декодеру.
Во втором примерном случае данные должны записываться в определенный кадр. Затем контроллер применяет синтаксически управляемый модуль считывания потоков битов или кадров для считывания битов из входного буфера 442 через указатели 444, 446 на основе определенного синтаксиса кадра, и данные затем записываются в выходной буфер 452 или в передающее устройство через блоки 448 и 450. В примере синтаксически управляемый модуль считывания потоков битов или кадров считывает, например, через указатель 446 LSB и знаки для спектральной линии или кортежа спектральных линий, и считанные данные записываются в буфер 452 через блок 450, и синтаксически управляемый модуль считывания потоков битов или кадров считывает, например, через указатель 448 MSB для этой той же самой спектральной линии или кортежа спектральных линий, и считанные данные записываются в выходной буфер 452 через блок 448.
Следовательно, в предпочтительном варианте осуществления аудиодекодер 308 по фиг. 13 обычно содержит синтаксический анализатор и модуль рендеринга (средство отображения). Синтаксический анализатор будет состоять из блоков 71 и 72 по фиг. 22, а модуль рендеринга будет включать в себя оставшиеся блоки по фиг. 22, поскольку в этом варианте осуществления нельзя определять без арифметического или, как правило, энтропийного декодирования то, сколько кодированных битов требуется, например, для MSB-части линии или кортежа линий либо для MSB-/знаковой части линии или кортежа линий. В случае операции транскодирования синтаксический анализатор используется без последующего модуля рендеринга, поскольку операция транскодирования выводит кадр, записанный с другим синтаксисом по сравнению с входным кадром.
Фиг. 19 иллюстрирует предпочтительную реализацию, когда, например, контроллер 440 или, как правило, модуль 306 считывания кадров по фиг. 13 выполняет операцию перекомпоновки. На этапе 456 начальные положения указателей ввода (считывания) определяются так, чтобы считывался первый предварительно заданный поднабор кодовых слов. В этой процедуре это, например, случай, в котором второй поднабор кодовых слов собирается в смежных кодовых словах в начале или конце кадра. На этапе 456 принимают, в качестве ввода, число вторых кодовых слов или второе количество информационных единиц. Дополнительно, в случае, если второй предварительно заданный поднабор кодовых слов расположен в конце кадра, общее число информационных единиц на кадр также требуется этапу 456.
На этапе 458 процедура останавливается, когда указатели считывания встречаются друг с другом, и при этом событии определяется место встречи в кадре. На этапе 460 происходит обмен данными до начального положения для считывания с данными между этим положением и положением встречи.
На выходе этапа 460 получен указанный/стандартизированный формат промежуточного кадра.
Фиг. 20 иллюстрирует процедуру модуля 306 считывания кадров для целей прямого декодирования. На этапе 470 снова принимается число вторых кодовых слов или второе количество информационных единиц. На этап 470 может потребоваться общее число информационных единиц на кадр. Затем определяются начальные положения указателей ввода (считывания) для считывания первого предварительно заданного поднабора. На этапе 470, а также этапе 456 управляют указателями 444, 446 считывания. На этапе 472 процедура останавливается, когда указатели считывания встречаются друг с другом, и получают место встречи. На этапе 474 считывание продолжается по оставшейся части с обеих сторон, при этом начальная точка для считывания в противоположном направлении представляет собой определенную начальную точку на первом этапе. На выходе блока 474 получаются данные для аудиодекодера для прямого применения декодирования.
Хотя некоторые аспекты описаны в контексте устройства, ясно, что эти аспекты также представляют описание соответствующего способа, при этом блок или устройство соответствует этапу способа либо признаку этапа способа. Аналогично, аспекты, описанные в контексте этапа способа, также представляют описание соответствующего блока или элемента, или признака соответствующего устройства.
В зависимости от определенных требований к реализации, варианты осуществления изобретения могут быть реализованы в аппаратных средствах или в программном обеспечении. Реализация может быть выполнена с использованием цифрового носителя хранения данных, например, гибкого диска, DVD, CD, ROM, PROM, EPROM, EEPROM или флэш-памяти, имеющего хранимые на нем электронно-считываемые управляющие сигналы, которые взаимодействуют (или способны к взаимодействию) с программируемой компьютерной системой таким образом, что осуществляется соответствующий способ.
Некоторые варианты осуществления по изобретению содержат носитель данных, имеющий электронно-считываемые управляющие сигналы, которые способны взаимодействовать с программируемой компьютерной системой таким образом, что осуществляется один из способов, описанных здесь.
Как правило, варианты осуществления настоящего изобретения могут быть реализованы как компьютерный программный продукт с программным кодом, предназначенным для осуществления одного из способов, когда компьютерный программный продукт исполняется на компьютере. Программный код, например, может быть сохранен на машиночитаемом носителе.
Другие варианты осуществления содержат компьютерную программу для осуществления одного из способов, описанных здесь, сохраненную на машиночитаемом носителе или на невременном носителе хранения данных.
Другими словами, вариант осуществления способа по изобретению, следовательно, представляет собой компьютерную программу, имеющую программный код для осуществления одного из способов, описанных здесь, когда компьютерная программа исполняется на компьютере.
Следовательно, дополнительный вариант осуществления способов по изобретению представляет собой носитель хранения данных (цифровой носитель хранения данных или машиночитаемый носитель), содержащий записанную на нем компьютерную программу для осуществления одного из способов, описанных здесь.
Следовательно, дополнительный вариант осуществления изобретаемого способа представляет собой поток данных или последовательность сигналов, представляющих компьютерную программу для осуществления одного из способов, описанных здесь. Поток данных или последовательность сигналов, например, может быть выполнена с возможностью передачи через соединение для передачи данных, например, через Интернет.
Дополнительный вариант осуществления содержит средство обработки, например, компьютер или программируемое логическое устройство, выполненное с возможностью или предназначенное осуществлять один из способов, описанных здесь.
Дополнительный вариант осуществления содержит компьютер, имеющий установленную на нем компьютерную программу для осуществления одного из способов, описанных здесь.
В некоторых вариантах осуществления программируемое логическое устройство (например, программируемая пользователем вентильная матрица) может использоваться для выполнения некоторых или всех из функциональных возможностей способов, описанных здесь. В некоторых вариантах осуществления программируемая пользователем вентильная матрица может взаимодействовать с микропроцессором, чтобы осуществлять один из способов, описанных здесь. Как правило, упомянутые способы предпочтительно осуществляются на любом аппаратном устройстве.
Вышеописанные варианты осуществления являются просто иллюстративными для принципов настоящего изобретения. Понятно, что для специалистов в данной области техники будут очевидны модификации и изменения компоновок и подробностей, описанных здесь. Следовательно, они подразумеваются как ограниченные только объемом прилагаемой формулы изобретения, а не конкретными подробностями, представленными здесь в качестве описания и пояснения вариантов осуществления.
Библиография
1. "ISO/IEC14496-3 MPEG-4 Information technology - Coding of audio-visual objects - Part 3: Audio", 2009 год.
2. "ETSI ES 201 980 Digital Radio Mondiale; System Specification", 2014 год.
3. "ETSI TR 103 590 V1.1.1 (2018-09) "Digital Enhanced Cordless Telecommunications (DECT); Study of Super Wideband Codec in DECT for narrowband, wideband and super-wideband audio communication including options of low delay audio connections (lower than 10 ms framing)".
Изобретение относится к средствам для кодирования аудио. Технический результат заключается в повышении эффективности аудиокодирования с защитой от ошибок. Осуществляют компоновку кадра из кодовых слов, имеющего растр кодовых слов, задающий опорные положения для предварительно заданного общего числа кодовых слов. Записывают информационные единицы из первого количества информационных единиц, начиная с опорных положений первого предварительно заданного поднабора кодовых слов, и информационные единицы из второго количества информационных единиц, начиная с опорных положений второго предварительно заданного поднабора кодовых слов. Определяют границы между первым количеством информационных единиц и вторым количеством информационных единиц таким образом, чтобы начальная информационная единица из второго количества информационных единиц совпадала с границей кодового слова. Выполняют обработку защиты от ошибок, посредством обработки одного или более кодовых слов из первого или второго поднабора кодовых слов с получением, соответственно, первого или второго результата обработки и добавления первого или второго результата обработки к предварительно заданному числу кодовых слов с получением множества обработанных кодовых слов. 6 н. и 41 з.п. ф-лы, 24 ил.
1. Процессор передатчика звуковых сигналов для формирования кадра с защитой от ошибок с использованием кодированных аудиоданных аудиокадра, причем кодированные аудиоданные для аудиокадра содержат первое количество информационных единиц и второе количество информационных единиц, причем процессор передатчика звуковых сигналов содержит:
компоновщик (506) кадров для компоновки кадра из кодовых слов, имеющего растр кодовых слов, задающий опорные положения для предварительно заданного общего числа кодовых слов, при этом компоновщик (506) кадров выполнен с возможностью
записывать информационные единицы из первого количества информационных единиц, начиная с опорных положений первого предварительно заданного поднабора кодовых слов; и
записывать информационные единицы из второго количества информационных единиц, начиная с опорных положений второго предварительно заданного поднабора кодовых слов,
при этом компоновщик (506) кадров выполнен с возможностью определять границу между первым количеством информационных единиц и вторым количеством информационных единиц таким образом, чтобы начальная информационная единица из второго количества информационных единиц совпадала с границей кодового слова; и
кодер (508) защиты от ошибок
для обработки одного или более кодовых слов из первого предварительно заданного поднабора кодовых слов с получением первого результата обработки или для обработки одного или более кодовых слов из второго предварительно заданного поднабора кодовых слов с получением второго результата обработки и для добавления первого результата обработки или второго результата обработки к предварительно заданному числу кодовых слов с получением множества обработанных кодовых слов, представляющих кадр с защитой от ошибок, или
для обработки кодовых слов из первого предварительно заданного поднабора кодовых слов или из второго предварительно заданного поднабора кодовых слов отдельно с получением множества обработанных кодовых слов, представляющих кадр с защитой от ошибок.
2. Процессор передатчика звуковых сигналов по п. 1,
в котором компоновщик (506) кадров выполнен с возможностью определять (601) границу между первым количеством информационных единиц и вторым количеством информационных единиц на основе информационной емкости второго предварительно заданного поднабора таким образом, чтобы информационная емкость второго предварительно заданного поднабора кодовых слов была равна количеству информационных единиц из второго количества информационных единиц.
3. Процессор передатчика звуковых сигналов по п. 1 или 2, дополнительно содержащий:
исходный кодер (500) для формирования первого и второго количеств информационных единиц с использованием предварительно заданной временной части звукового сигнала, при этом информационные единицы содержат некоторое число обязательных информационных единиц и переменное число остаточных информационных единиц, при этом исходный кодер (500) предназначен для использования правила (60) кодирования переменной длины, приводящего к зависимому от сигнала числу обязательных информационных единиц для предварительно заданной временной части,
при этом компоновщик (506) кадров выполнен с возможностью компоновать кадр из кодовых слов таким образом, чтобы кадр из кодовых слов имел фиксированный размер информационных единиц, и
при этом аудиокодер выполнен с возможностью определять переменное число остаточных информационных единиц в качестве объема информации, равного разности, полученной из фиксированного размера информационных единиц для кадра из кодовых слов и числа обязательных информационных единиц.
4. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов,
в котором компоновщик (506) кадров выполнен с возможностью определять границу между первым количеством информационных единиц и вторым количеством информационных единиц сигнально-адаптивным образом от кадра из кодовых слов к кадру из кодовых слов таким образом, чтобы, в зависимости от звукового сигнала для кадра из кодовых слов, граница представляла кодированную информационную единицу, связанную с другой аудиоинформацией кадра из кодовых слов или интерпретируемую по-другому аудиодекодером.
5. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов,
в котором компоновщик (506) кадров выполнен с возможностью использовать, в качестве второго поднабора кодовых слов, второе предварительно заданное число смежных кодовых слов на одной стороне кадра из кодовых слов кодированных аудиоданных, использовать, в качестве первого предварительно заданного поднабора кодовых слов, первое предварительно заданное число смежных кодовых слов на другой стороне кадра из кодовых слов кодированных аудиоданных, и при этом сумма первого предварительно заданного числа и второго предварительно заданного числа равна предварительно заданному общему числу кодовых слов, или
при этом по меньшей мере одно кодовое слово из второго предварительно заданного поднабора кодовых слов расположено между двумя кодовыми словами из первого предварительно заданного поднабора кодовых слов или наоборот.
6. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов, в котором компоновщик (506) кадров выполнен с возможностью
записывать первое количество информационных единиц с использованием опорных положений первого предварительно заданного поднабора кодовых слов в первый предварительно заданный поднабор кодовых слов,
как только первый предварительно заданный поднабор кодовых слов заполняется (601), записывать (602) второе количество информационных единиц с использованием опорных положений второго предварительно заданного поднабора кодовых слов, и
при этом компоновщик (506) кадров выполнен с возможностью определять границу (601) в качестве информационной единицы, записанной в последнее кодовое слово из первого предварительно заданного поднабора кодовых слов, либо в качестве первой информационной единицы, записанной в опорном положении первого кодового слова из второго предварительно заданного поднабора кодовых слов.
7. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов,
в котором компоновщик (506) кадров выполнен с возможностью записывать информационные единицы из первого количества информационных единиц в первом направлении записи, начиная с опорных положений по меньшей мере двух кодовых слов из первого предварительно заданного числа кодовых слов, и во втором противоположном направлении записи, начиная с опорных положений по меньшей мере двух других кодовых слов из первого предварительно заданного числа кодовых слов, или
при этом компоновщик (506) кадров выполнен с возможностью записывать информационные единицы из второго количества информационных единиц в первом направлении записи, начиная с опорных положений по меньшей мере двух кодовых слов из второго предварительно заданного числа кодовых слов, и во втором противоположном направлении записи, начиная с опорных положений по меньшей мере двух других кодовых слов из второго предварительно заданного числа кодовых слов.
8. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов,
в котором компоновщик (506) кадров выполнен с возможностью записывать информационные единицы из первого количества информационных единиц и второго количества информационных единиц, при этом по меньшей мере большинство информационных единиц из первого количества информационных единиц являются психоакустически более важными, чем большинство информационных единиц из второго количества информационных единиц, или
при этом только сокрытие потерь частичных кадров предусмотрено в процессоре приемника звуковых сигналов, когда только информационные единицы во втором количестве информационных единиц определяются как поврежденные, и при этом сокрытие потерь полных кадров предусмотрено в процессоре приемника звуковых сигналов, когда информационные единицы в первом количестве информационных единиц определяются как поврежденные.
9. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов, дополнительно содержащий исходный кодер (500) для формирования по меньшей мере двух категорий информационных единиц, причем упомянутые по меньшей мере две категории выбираются из группы, состоящей из вспомогательной информации фиксированной длины, вспомогательной информации переменной длины, информации формирования временного шума, одного или более старших битов из спектра первой частотной части спектра, одного или более старших битов из второй частотной части, имеющей более высокие частоты, чем первая частотная часть, одного или более младших битов или знаковых битов из первой частотной части, одного или более младших битов или знаковых битов из второй частотной части, причем вторая частотная часть имеет более высокие частоты, чем первая частотная часть, и остаточных битов,
при этом при формировании в качестве категории исходным кодером (500) вспомогательная информация фиксированной длины, вспомогательная информация переменной длины, информация формирования временного шума, упомянутые один или более старших битов из спектра первой частотной части и упомянутые младшие биты или знаковые биты из первой частотной части расположены в первом количестве информационных единиц, и при этом при формировании в качестве категории исходным кодером (500) по меньшей мере один из упомянутых одного или более старших битов из второй частотной части, упомянутые один или более младших битов или знаковых битов из второй частотной части и упомянутые остаточные биты находятся во втором количестве информационных единиц.
10. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов,
в котором компоновщик (506) кадров выполнен с возможностью использовать первый указатель (810) записи и второй указатель (812) записи,
при этом компоновщик (506) кадров выполнен с возможностью инкрементировать первый указатель (810) записи в направлении от положения более низкой информационной единицы в кадре из кодовых слов к положению более высокой информационной единицы в кадре из кодовых слов,
при этом компоновщик (506) кадров выполнен с возможностью декрементировать второй указатель (812) записи в направлении от положения более высокой информационной единицы в кадре из кодовых слов к положению более низкой информационной единицы в кадре из кодовых слов,
при этом компоновщик (506) кадров выполнен с возможностью запускать первый указатель (810) записи в опорном положении, указывающем начало первого кодового слова в предварительно заданной последовательности кодовых слов из первого предварительно заданного поднабора кодовых слов,
при этом компоновщик (506) кадров выполнен с возможностью запускать второй указатель (812) записи в опорном положении, указывающем конец последнего кодового слова в предварительно заданной первой последовательности кодовых слов из предварительно заданного первого набора кодовых слов,
при этом компоновщик (506) кадров выполнен с возможностью записывать информационные единицы, принадлежащие одной или более первым категориям информационных единиц из первого количества информационных единиц, в положениях, указываемых первым указателем (810) записи, и
при этом компоновщик (506) кадров выполнен с возможностью записывать информационные единицы, принадлежащие одной или более вторым категориям информационных единиц из первого количества информационных единиц, в положении, указываемом вторым указателем (812) записи до тех пор, пока первый и второй указатели (810, 812) записи не встретятся друг с другом в положении встречи информационных единиц,
при этом информационная единица в положении встречи информационных единиц представляет границу между первым и вторым количествами информационных единиц.
11. Процессор передатчика звуковых сигналов по п. 10,
в котором компоновщик (506) кадров выполнен с возможностью устанавливать первый указатель (810) в опорном положении, указывающем начало первого кодового слова второй предварительно заданной последовательности кодовых слов из второго предварительно заданного поднабора кодовых слов,
устанавливать второй указатель (812) записи в опорном положении, указывающем конец последнего кодового слова второй предварительно заданной последовательности кодовых слов из второго предварительно заданного поднабора кодовых слов, и
записывать информационные единицы одной или более третьих категорий из второго количества информационных единиц с использованием первого указателя (810) записи и записывать информационные единицы одной или более четвертых категорий из второго количества информационных единиц с использованием второго указателя (812) записи.
12. Процессор передатчика звуковых сигналов по п. 10 или 11, при этом упомянутые одна или более первых категорий информационных единиц содержат по меньшей мере одно из информации формирования временного шума и/или одного или более старших битов из спектра первой частотной части или
при этом упомянутые одна или более вторых категорий информационных единиц содержат по меньшей мере одно из вспомогательной информации фиксированной или переменной длины и младших битов или знаковых битов из первой частотной части, или
при этом упомянутые одна или более третьих категорий информационных единиц содержат по меньшей мере один из старших битов из второй частотной части, или
при этом упомянутые одна или более четвертых категорий информационных единиц содержат по меньшей мере один из младших битов или знаковых битов из второй частотной части и остаточных данных.
13. Процессор передатчика звуковых сигналов по одному из пп. 10-12,
в котором компоновщик (506) кадров выполнен с возможностью использовать, в качестве упомянутых одной или более первых категорий, старшие биты, получаемые из спектральных значений, упорядоченных в порядке возрастания относительно частоты до спектрального значения либо комбинации спектральных значений во встречной информационной единице,
использовать, в качестве упомянутых одной или более вторых категорий, младшие биты или знаковые биты, получаемые из спектральных значений до спектрального значения либо комбинации спектральных значений встречной информационной единицы;
использовать, в качестве упомянутых одной или более третьих категорий, один или более старших битов, связанных с частотой, равной или превышающей значение во встречной информационной единице; и
использовать, в качестве четвертой категории, младшие биты или знаковые биты, связанные с частотами, равными или превышающими значение частоты, связанное со встречной информационной единицей.
14. Процессор передатчика звуковых сигналов по п. 13,
в котором компоновщик (506) кадров выполнен с возможностью записывать упомянутые одну или более первых категорий и упомянутые одну или более вторых категорий или записывать упомянутые одну или более третьих категорий и упомянутые одну или более четвертых категорий синхронно друг с другом, так что упомянутые по меньшей мере один или более старших битов из спектрального значения либо комбинации спектральных значений записываются первым указателем (810) записи, а упомянутые один или более младших битов или знаковых битов того же самого спектрального значения либо той же самой комбинации спектральных значений записываются до того, как указателями (810, 812) записи записываются информационные единицы из дополнительного спектрального значения либо дополнительной комбинации спектральных значений.
15. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов, дополнительно содержащий исходный кодер (500) для формирования кодированных аудиоданных в промежуточном представлении, простирающемся от начального положения в конечное положение, при этом компоновщик (506) кадров выполнен с возможностью перекомпоновывать (502) кодированные аудиоданные в промежуточном представлении в порядок, представленный первым и вторым предварительно заданными поднаборами кодовых слов.
16. Процессор передатчика звуковых сигналов по п. 15,
в котором компоновщик (506) кадров выполнен с возможностью считывать и синтаксически анализировать (202), от начального положения и конечного положения, до тех пор, пока не будет получено предварительно заданное количество информационных единиц, представленное емкостью первого предварительно заданного поднабора кодовых слов, и
записывать (206) информационные единицы, считанные и синтаксически проанализированные, в первый предварительно заданный поднабор кодовых слов, и записывать оставшиеся информационные единицы между промежуточной информационной единицей, полученной при считывании и синтаксическом анализе предварительно заданного количества, определяемого емкостью, во второй предварительно заданный поднабор кодовых слов.
17. Процессор передатчика звуковых сигналов по п. 16, в котором кодированные данные формирования временного шума, вспомогательные информационные данные и наиболее значимая часть данных и наименее значимая часть данных считываются и записываются в первый предварительно заданный поднабор кодовых слов, и при этом наиболее значимая часть данных и наименее значимая часть данных спектральных значений выше конкретной частоты и остаточные данные записываются во второй предварительно заданный поднабор кодовых слов.
18. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов,
при этом число кодовых слов из второго предварительно заданного поднабора кодовых слов выявляется из характеристики кода защиты от ошибок и/или полного размера множества обработанных кодовых слов.
19. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов, в котором кодер (508) защиты от ошибок выполнен с возможностью
вычислять (210) первый результат обработки в качестве первого хэш-значения,
вычислять (212) второй результат обработки в качестве второго хэш-значения,
добавлять (214) первое хэш-значение в первый предварительно заданный поднабор кодовых слов и добавлять (214) второе хэш-значение во второй предварительно заданный поднабор кодовых слов, и
применять блочный код для каждого кодового слова с получением кодовых слов с защитой от ошибок.
20. Процессор передатчика звуковых сигналов по одному из предшествующих пунктов,
дополнительно содержащий аудиокодер (500), имеющий арифметический кодер (60), формирующий части данных с минимальным размером с первой степенью детализации информационных единиц,
при этом кодер (508) защиты от ошибок выполнен с возможностью работать со второй степенью детализации информационных единиц,
при этом первая степень детализации отличается от второй степени детализации.
21. Процессор передатчика звуковых сигналов по п. 20,
при этом первая степень детализации превышает вторую степень детализации, и
при этом в опорном положении первого кодового слова из первого предварительно заданного поднабора расположено адаптивное количество информационных единиц, соответствующее разности степеней детализации между первой и второй степенями детализации.
22. Процессор передатчика звуковых сигналов по п. 21, при этом первая степень детализации превышает вторую степень детализации и в целочисленном отношении, и при этом адаптивное количество информационных единиц вместе с данными, расположенными в опорном положении кодового слова из второго предварительно заданного поднабора кодовых слов, представляет часть данных с минимальным размером, выводимую арифметическим кодером (60).
23. Процессор приемника звуковых сигналов для обработки кадра с защитой от ошибок, содержащий:
интерфейс (300) приемника для приема кадра с защитой от ошибок для получения принимаемого кадра с защитой от ошибок;
процессор (302) защиты от ошибок для обработки принятого кадра с защитой от ошибок с получением кодированного аудиокадра, при этом процессор защиты от ошибок выполнен с возможностью проверять то, содержит ли кодовое слово из первого предварительно заданного поднабора кодовых слов кодированного аудиокадра ошибку, и
модуль сокрытия ошибок или модуль (304) указания сокрытия ошибок, выполненный с возможностью выполнять операцию сокрытия потерь кадров или формировать индикатор сокрытия потерь кадров в случае обнаруженной ошибки в первом предварительно заданном поднаборе кодовых слов.
24. Процессор приемника звуковых сигналов по п. 23,
в котором процессор (302) защиты от ошибок выполнен с возможностью проверять (406) то, содержит ли второй предварительно заданный поднабор кодовых слов кодированного аудиокадра ошибку, и
при этом модуль сокрытия ошибок или модуль (304) указания сокрытия ошибок выполнен с возможностью выполнять операцию (410) сокрытия потерь частичных кадров или формировать индикатор сокрытия потерь частичных кадров для сокрытия ошибки во втором предварительно заданном поднаборе кодовых слов.
25. Процессор приемника звуковых сигналов по п. 23 или 24, дополнительно содержащий аудиодекодер (308) для декодирования кодированных аудиоданных, включенных в первый предварительно заданный поднабор кодовых слов, при этом аудиодекодер (308) выполнен с возможностью управляться процессором (302) защиты от ошибок для выполнения декодирования, когда процессор (302) защиты от ошибок не находит место ошибки в первом предварительно заданном поднаборе кодовых слов.
26. Процессор приемника звуковых сигналов по одному из пп. 23-25,
в котором процессор (302) защиты от ошибок выполнен с возможностью применять операцию блочного декодирования к принятому кадру с защитой от ошибок с получением декодированного первого предварительно заданного поднабора кодовых слов и декодированного второго предварительно заданного поднабора кодовых слов,
при этом если операция блочного декодирования не сигнализирует о существовании ошибки, процессор защиты от ошибок выполнен с возможностью
вычислять (402) первое хэш-значение из первого предварительно заданного поднабора кодовых слов и
сравнивать (404, 406) первое хэш-значение с принимаемым первым хэш-значением,
при этом процессор защиты от ошибок выполнен с возможностью определять то, что в первом предварительно заданном поднаборе кодовых слов существует ошибка, когда первое хэш-значение и принимаемое первое хэш-значение не совпадают друг с другом, либо определять то, что первый предварительно заданный поднабор кодовых слов является безошибочным, когда первое хэш-значение и принимаемое первое хэш-значение совпадают.
27. Процессор приемника звуковых сигналов по одному из пп. 23-26,
в котором процессор (302) защиты от ошибок выполнен с возможностью применять операцию блочного декодирования к принятому кадру с защитой от ошибок с получением декодированного первого предварительно заданного поднабора кодовых слов и декодированного второго предварительно заданного поднабора кодовых слов,
при этом, если операция блочного декодирования не сигнализирует о существовании ошибки, процессор защиты от ошибок выполнен с возможностью
вычислять (406) второе хэш-значение из второго предварительно заданного поднабора кодовых слов и
сравнивать (404, 406) второе хэш-значение с принимаемым вторым хэш-значением,
при этом процессор защиты от ошибок выполнен с возможностью определять то, что во втором предварительно заданном поднаборе кодовых слов существует ошибка, когда второе хэш-значение и принимаемое второе хэш-значение не совпадают друг с другом, либо определять то, что второй предварительно заданный поднабор кодовых слов является безошибочным, когда второе хэш-значение и принимаемое второе хэш-значение совпадают.
28. Процессор приемника звуковых сигналов по п. 26 или 27, в котором операция блочного декодирования содержит операцию декодирования по Риду-Соломону.
29. Процессор приемника звуковых сигналов по одному из пп. 23-28,
в котором процессор (302) защиты от ошибок выполнен с возможностью проверять то, содержит ли второй предварительно заданный поднабор кодовых слов ошибку, только тогда, когда проверка первого предварительно заданного поднабора кодовых слов не обнаружила ошибку.
30. Процессор приемника звуковых сигналов по одному из пп. 23-29,
в котором процессор (302) защиты от ошибок выполнен с возможностью обнаруживать то, содержат ли одно или более конкретных кодовых слов из второго предварительно заданного поднабора кодовых слов ошибку, и то, представляет ли собой любое кодовое слово из второго предварительно заданного поднабора кодовых слов безошибочное кодовое слово, и
при этом модуль (403) сокрытия ошибок выполнен с возможностью формировать заменяющие данные для упомянутых одного или более конкретных кодовых слов или индикатор сокрытия ошибок, и
при этом процессор приемника звуковых сигналов содержит аудиодекодер (308) для декодирования аудиоданных, включенных в первый предварительно заданный поднабор кодовых слов, и аудиоданных, включенных в одно или более безошибочных кодовых слов из второго предварительно заданного поднабора кодовых слов, и заменяющих данных для упомянутых одного или более конкретных кодовых слов (428), или
при этом процессор приемника звуковых сигналов содержит аудиодекодер (308) для декодирования аудиоданных, включенных в первый предварительно заданный поднабор кодовых слов, и аудиоданных, включенных в одно или более безошибочных кодовых слов из второго предварительно заданного поднабора кодовых слов, и при этом аудиодекодер (308) выполнен с возможностью принимать индикатор сокрытия ошибок и предпринимать меры по сокрытию ошибок в ответ на индикатор сокрытия ошибок.
31. Процессор приемника звуковых сигналов по одному из пп. 23-30, дополнительно содержащий модуль (306) считывания кадров для считывания кодированного аудиокадра в соответствии с предварительно заданной процедурой считывания кадров, идентифицирующей первый предварительно заданный поднабор кодовых слов и второй предварительно заданный поднабор кодовых слов.
32. Процессор приемника звуковых сигналов по п. 31,
в котором модуль (306) считывания кадров выполнен с возможностью считывать информационные единицы из первого количества информационных единиц, начиная с опорных точек кодовых слов из первого предварительно заданного поднабора кодовых слов, до тех пор, пока информационные единицы из всех кодовых слов из первого предварительно заданного поднабора кодовых слова не будут считаны, и
считывать информационные единицы из второго количества информационных единиц, начиная с опорных точек кодовых слов из второго предварительно заданного поднабора кодовых слов,
дополнительно содержащий аудиодекодер, при этом аудиодекодер (308) выполнен с возможностью декодировать конкатенацию первого количества информационных единиц и второго количества информационных единиц, чтобы получить декодированные аудиоданные для кодированного аудиокадра.
33. Процессор приемника звуковых сигналов по п. 31 или 32,
в котором модуль (306) считывания кадров выполнен с возможностью использовать, в качестве второго поднабора кодовых слов, второе предварительно заданное число смежных кодовых слов на одной стороне кадра из кодовых слов кодированных аудиоданных, использовать, в качестве первого предварительно заданного поднабора кодовых слов, первое предварительно заданное число смежных кодовых слов на другой стороне кадра из кодовых слов кодированных аудиоданных, и при этом сумма первого предварительно заданного числа и второго предварительно заданного числа равна предварительно заданному общему числу кодовых слов, или
при этом по меньшей мере одно кодовое слово из второго предварительно заданного поднабора кодовых слов расположено между двумя кодовыми словами из первого предварительно заданного поднабора кодовых слов или наоборот.
34. Процессор приемника звуковых сигналов по одному из пп. 31-33,
в котором модуль (306) считывания кадров выполнен с возможностью считывать информационную единицу из первого количества информационных единиц в первом направлении считывания, начиная с опорных положений по меньшей мере двух кодовых слов из первого предварительно заданного числа кодовых слов, и во втором противоположном направлении считывания, начиная с опорных положений по меньшей мере двух других кодовых слов из первого предварительно заданного числа кодовых слов, или
при этом модуль (306) считывания кадров выполнен с возможностью считывать информационные единицы из второго количества информационных единиц в первом направлении считывания, начиная с опорных положений по меньшей мере двух кодовых слов из второго предварительно заданного числа кодовых слов, и во втором противоположном направлении считывания, начиная с опорных положений по меньшей мере двух других кодовых слов из второго предварительно заданного числа кодовых слов.
35. Процессор приемника звуковых сигналов по одному из пп. 31-34,
в котором модуль (306) считывания кадров выполнен с возможностью считывать информационные единицы из первого количества информационных единиц и второго количества информационных единиц, при этом по меньшей мере большинство информационных единиц из первого количества информационных единиц являются психоакустически более важными, чем большинство информационных единиц из второго количества информационных единиц, или
при этом модулем сокрытия ошибок выполняется только сокрытие потерь частичных кадров, когда только информационные единицы во втором количестве информационных единиц определяются как поврежденные, и при этом модулем сокрытия ошибок выполняется сокрытие потерь полных кадров, когда информационные единицы в первом количестве информационных единиц определяются как поврежденные.
36. Процессор приемника звуковых сигналов по одному из пп. 31-35, дополнительно содержащий исходный декодер (308) для декодирования по меньшей мере двух категорий информационных единиц, причем упомянутые по меньшей мере две категории выбираются из группы, состоящей из вспомогательной информации фиксированной длины, вспомогательной информации переменной длины, информации формирования временного шума, одного или более старших битов из спектра первой частотной части спектра, одного или более старших битов из второй частотной части, имеющей более высокие частоты, чем первая частотная часть, одного или более младших битов или знаковых битов из первой частотной части, одного или более младших битов или знаковых битов из второй частотной части, причем вторая частотная часть имеет более высокие частоты, чем первая частотная часть, и остаточных битов,
при этом, если они доступны для декодирования исходным декодером (308) в качестве категории, вспомогательная информация фиксированной длины, вспомогательная информация переменной длины, информация формирования временного шума, упомянутые один или более старших битов из спектра первой частотной части и упомянутые младшие биты или знаковые биты из первой частотной части расположены в первом количестве информационных единиц, и при этом, если они доступны для декодирования исходным декодером (308) в качестве категории, по меньшей мере один из упомянутых одного или более старших битов из второй частотной части, упомянутые один или более младших битов или знаковых битов из второй частотной части и остаточные биты находятся во втором количестве информационных единиц.
37. Процессор приемника звуковых сигналов по одному из пп. 31-36, в котором модуль (306) считывания кадров выполнен с возможностью
использовать первый указатель (444) считывания и второй указатель (446) считывания,
инкрементировать первый указатель (444) считывания в направлении от положения более низкой информационной единицы в кадре из кодовых слов к положению более высокой информационной единицы в кадре из кодовых слов,
декрементировать второй указатель (446) считывания в направлении от положения более высокой информационной единицы в кадре из кодовых слов к положению более низкой информационной единицы в кадре из кодовых слов,
запускать первый указатель (444) считывания в опорном положении, указывающем начало первого кодового слова в предварительно заданной последовательности кодовых слов из первого предварительно заданного поднабора кодовых слов,
запускать второй указатель (446) считывания в опорном положении, указывающем конец последнего кодового слова в предварительно заданной первой последовательности кодовых слов из предварительно заданного первого набора кодовых слов,
считывать информационные единицы, принадлежащие одной или более первым категориям информационных единиц из первого количества информационных единиц, в положениях, указываемых первым указателем (444) считывания, и
считывать информационные единицы, принадлежащие одной или более вторым категориям информационных единиц из первого количества информационных единиц, в положении, указываемом вторым указателем (446) считывания, до тех пор, пока первый и второй указатели (444, 446) считывания не встретятся друг с другом в положении встречи информационных единиц,
при этом информационная единица в положении встречи информационных единиц представляет границу между первым и вторым количествами информационных единиц.
38. Процессор приемника звуковых сигналов по п. 37,
в котором модуль (306) считывания кадров выполнен с возможностью устанавливать первый указатель (444) считывания в опорное положение, указывающее начало первого кодового слова второй предварительно заданной последовательности кодовых слов из второго предварительно заданного поднабора кодовых слов,
устанавливать второй указатель (446) считывания в опорное положение, указывающее конец последнего кодового слова второй предварительно заданной последовательности кодовых слов из второго предварительно заданного поднабора кодовых слов, и
считывать информационные единицы одной или более третьих категорий из второго количества информационных единиц с использованием первого указателя (444) считывания и считывать информационные единицы одной или более четвертых категорий из второго количества информационных единиц с использованием второго указателя (446) считывания.
39. Процессор приемника звуковых сигналов по п. 37 или 38,
в котором модуль (306) считывания кадров выполнен с возможностью использовать, в качестве упомянутых одной или более первых категорий, старшие биты, получаемые из спектральных значений, упорядоченных в порядке возрастания относительно частоты до спектрального значения либо комбинации спектральных значений во встречной информационной единице,
использовать, в качестве упомянутых одной или более вторых категорий, младшие биты или знаковые биты, получаемые из спектральных значений до спектрального значения либо комбинации спектральных значений встречной информационной единицы;
использовать, в качестве упомянутых одной или более третьих категорий, один или более старших битов, связанных с частотой, равной или превышающей значение во встречной информационной единице; и
использовать, в качестве четвертой категории, младшие биты или знаковые биты, связанные с частотами, равными или превышающими значение частоты, связанное со встречной информационной единицей.
40. Процессор приемника звуковых сигналов по п. 39,
в котором модуль (306) считывания кадров выполнен с возможностью считывать упомянутые одну или более первых категорий и упомянутые одну или более вторых категорий либо считывать упомянутые одну или более третьих категорий и упомянутые одну или более четвертых категорий синхронно друг с другом, так что упомянутые по меньшей мере один или более старших битов из спектрального значения либо комбинации спектральных значений считываются первым указателем (444) считывания, а упомянутые один или более младших битов или знаковых битов того же самого спектрального значения либо той же самой комбинации спектральных значений считываются до того, как указателями (444, 446) считывания считываются информационные единицы из дополнительного спектрального значения либо дополнительной комбинации спектральных значений.
41. Процессор приемника звуковых сигналов по одному из пп. 31-40,
в котором модуль (306) считывания кадров выполнен с возможностью использовать первый указатель (444) считывания с первым направлением считывания и второй указатель (446) со вторым направлением считывания, при этом кодированный аудиокадр имеет начальное положение кадра и конечное положение кадра, при этом модуль (306) считывания кадров выполнен с возможностью устанавливать первый указатель в начальное положение первого указателя, получаемое из числа информационных единиц, включенных во второй предварительно заданный поднабор кодовых слов, и устанавливать второй указатель (446) в конечное положение кадра, при этом первый предварительно заданный поднабор кодовых слов весь расположен со стороны кодированного аудиокадра, имеющего конечное положение кадра,
при этом модуль (306) считывания кадров выполнен с возможностью
считывать с использованием инкрементирования первого указателя (444) считывания и декрементирования второго указателя (446) считывания в соответствующих направлениях считывания,
останавливаться, когда первый и второй указатели (444, 446) считывания встречаются друг с другом в положении встречи, и
обмениваться информационными единицами между начальным положением кадра и начальным положением первого указателя с информационными единицами между начальным положением первого указателя и положением встречи, так что перекомпонованный кодированный аудиокадр содержит, в следующем порядке, от начала перекомпонованного аудиокадра, информационные единицы, считываемые между начальным положением первого указателя и точкой встречи, информационные единицы кодированного аудиокадра между начальным положением кадра и начальным положением первого указателя и информационные единицы кодированного аудиокадра между положением встречи и конечным положением кадра, и
дополнительно содержащий аудиодекодер (308), предварительно установленный с возможностью декодировать перекомпонованный кодированный аудиокадр, имеющий кодированные аудиоданные в порядке перекомпонованного кодированного аудиокадра, или
дополнительно содержащий передающее устройство для передачи перекомпонованного кодированного аудиокадра в удаленное местоположение.
42. Процессор приемника звуковых сигналов по одному из пп. 31-40,
в котором модуль (306) считывания кадров выполнен с возможностью использовать первый указатель (444) считывания с первым направлением считывания и второй указатель (446) со вторым направлением считывания, при этом кодированный аудиокадр имеет начальное положение кадра и конечное положение кадра, при этом модуль (306) считывания кадров выполнен с возможностью устанавливать второй указатель (446) в начальное положение второго указателя, получаемое из числа информационных единиц, включенных во второй предварительно заданный поднабор кодовых слов, и общего числа информационных единиц кодированного аудиокадра, и устанавливать первый указатель (444) считывания в начальное положении кадра, при этом первый предварительно заданный поднабор кодовых слов весь расположен со стороны кодированного аудиокадра, имеющего начальное положение кадра,
при этом модуль (306) считывания кадров выполнен с возможностью
считывать с использованием инкрементирования первого указателя (444) считывания и декрементирования второго указателя (446) считывания в соответствующих направлениях считывания,
останавливаться, когда первый и второй указатели (444, 446) считывания встречаются друг с другом в положении встречи, и
обмениваться информационными единицами между конечным положением кадра и начальным положением второго указателя с информационными единицами между начальным положением второго указателя и положением встречи, так что перекомпонованный кодированный аудиокадр содержит, в следующем порядке от начала перекомпонованного кодированного аудиокадра, информационные единицы между начальным положением кадра и положением встречи, информационные единицы кодированного аудиокадра между конечным положением кадра и начальным положением второго указателя и информационные единицы кодированного аудиокадра между положением встречи и начальным положением второго указателя.
43. Процессор приемника звуковых сигналов по одному из пп. 23-42, дополнительно содержащий аудиодекодер (308), имеющий арифметический декодер (72), принимающий часть с минимальным размером данных с первой степенью детализации информационных единиц,
при этом процессор (302) защиты от ошибок выполнен с возможностью работать со второй степенью детализации, при этом первая степень детализации превышает вторую степень детализации,
при этом в опорном положении первого кодового слова из первого предварительно заданного поднабора кодовых слов расположено адаптивное количество информационных единиц, соответствующее разности степеней детализации между первой и второй степенями детализации,
при этом адаптивное количество информационных единиц вместе с данными, расположенными в опорном положении кодового слова из второго предварительно заданного поднабора, формирует часть с минимальным размером данных, подлежащую вводу в арифметический декодер (72), и
при этом модуль (306) считывания кадров выполнен с возможностью начинать считывание информационных единиц для первого предварительно заданного поднабора кодовых слов в положении в первом кодовом слове, определяемом опорным положением первого кодового слова плюс размером адаптивного количества.
44. Способ формирования кадра с защитой от ошибок с использованием кодированных аудиоданных аудиокадра, причем кодированные аудиоданные для аудиокадра содержат первое количество информационных единиц и второе количество информационных единиц, при этом способ содержит:
осуществление компоновки кадра из кодовых слов, имеющего растр кодовых слов, задающий опорные положения для предварительно заданного общего числа кодовых слов, при этом компоновка содержит:
запись информационных единиц из первого количества информационных единиц, начиная с опорных положений первого предварительно заданного поднабора кодовых слов; и
запись информационных единиц из второго количества информационных единиц, начиная с опорных положений второго предварительно заданного поднабора кодовых слов,
определение границы между первым количеством информационных единиц и вторым количеством информационных единиц таким образом, чтобы начальная информационная единица из второго количества информационных единиц совпадала с границей кодового слова; и
выполнение обработки защиты от ошибок, содержащей:
обработку одного или более кодовых слов из первого предварительно заданного поднабора кодовых слов с получением первого результата обработки или обработку одного или более кодовых слов из второго предварительно заданного поднабора кодовых слов с получением второго результата обработки и добавление первого результата обработки или второго результата обработки к предварительно заданному числу кодовых слов с получением множества обработанных кодовых слов, представляющих кадр с защитой от ошибок, или
обработку кодовых слов из первого предварительно заданного поднабора кодовых слов или из второго предварительно заданного поднабора кодовых слов отдельно с получением множества обработанных кодовых слов, представляющих кадр с защитой от ошибок.
45. Способ обработки кадра с защитой от ошибок, содержащий:
прием кадра с защитой от ошибок с получением принятого кадра с защитой от ошибок;
выполнение обработки защиты от ошибок с принятым кадром с защитой от ошибок с получением кодированного аудиокадра, при этом обработка защиты от ошибок содержит проверку того, содержит ли кодовое слово из первого предварительно заданного поднабора кодовых слов кодированного аудиокадра ошибку, и
выполнение операции сокрытия потерь кадров в случае обнаруженной ошибки в первом предварительно заданном поднаборе кодовых слов.
46. Физический носитель данных с хранимой на нём компьютерной программой для осуществления, при выполнении на компьютере или процессоре, способа по п. 44.
47. Физический носитель данных с хранимой на нём компьютерной программой для осуществления, при выполнении на компьютере или процессоре, способа по п. 45.
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Активный элемент лазера на парах химических элементов | 1980 |
|
SU936772A1 |
JP 2998254 B2, 11.01.2000 | |||
US 6256064 B1, 03.07.2001 | |||
US 6301558 B1, 09.10.2001 | |||
Способ приготовления мыла | 1923 |
|
SU2004A1 |
US 6975254 B1, 13.12.2005 | |||
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
Авторы
Даты
2022-11-01—Публикация
2020-02-12—Подача