Код документа: RU2185024C2
Изобретение относится к кодированию и декодированию звука, более конкретно к способу и устройству масштабируемого кодирования/декодирования звука с помощью секционированного по двоичным разрядам арифметического кодирования. Данное изобретение принято в качестве ISO/IEC JTC1/SC29/WG11 N1903 (Комитетский проект 14496-3 ISO/IEC, подраздел 4).
Аудиостандарты MPEG, или способ АС-2/АС-3, обеспечивают то же качество звука, что и компакт-диск, при скорости передачи данных в битах 64-384 кб/с, что составляет от одной шестой до одной восьмой скорости обычного цифрового кодирования. По этой причине аудиостандарты MPEG играют важную роль с точки зрения запоминания и передачи аудиосигналов - в цифровом аудиовещании, телефонной связи Интернета, или в абонентском аудиовещании.
В последнее время ведутся исследования способов для воспроизведения чистого качества звука в его первоначальном звучании на более низкой скорости передачи данных в битах. Одним из способов является Усовершенствованное Кодирование Звука MPEG-2 (ААС), принятое в качестве нового международного стандарта. Этот способ обеспечивает чистое качество звука относительно первоначального звучания при скорости 64 кб/с и рекомендован этой экспертной группой.
В обычной методике в кодер подают фиксированную скорость передачи данных в битах, и затем находят оптимальное состояние, соответствующее данной скорости передачи данных в битах для последующего квантования и кодирования, тем самым получая значительно повышенную эффективность. Но с распространением мультимедийной техники возрастает потребность в кодере/декодере (кодек), обладающем универсальностью при низкой скорости передачи данных в битах. Одной из таких потребностей является обеспечение масштабируемого кодека звука. Масштабируемый кодек звука может кодировать потоки битов высокой скорости передачи данных в битах в потоки с низкой скоростью передачи данных в битах, чтобы затем восстановить только некоторые из них. Тем самым сигналы можно восстанавливать с приемлемой эффективностью только с некоторыми потоками битов, при этом имея небольшое ухудшение рабочих характеристик из-за более низких скоростей передачи данных в битах, в тех случаях, когда к системе прилагают перегрузку, или когда рабочие характеристики декодера низкие, или по просьбе пользователя.
В соответствии с общепринятыми методами кодирования звука, такими как стандарты MPEG-2 ААС, фиксированную скорость передачи данных в битах направляют к кодирующему устройству, затем находят оптимальное состояние для данной скорости передачи данных в битах для последующего выполнения квантования и кодирования, тем самым формируя потоки битов в соответствии с данной скоростью передачи данных в битах. Один поток битов содержит информацию для одной скорости передачи данных в битах. Другими словами, информация о скорости передачи данных в битах содержится в заголовке потока битов, и при этом используют фиксированную скорость передачи данных в битах. Таким образом, можно использовать способ, имеющий наивысшую эффективность при определенной скорости передачи данных в битах. Например, когда поток битов формируют кодером на скорости 64 кб/с, то наилучшее качество звучания можно будет восстановить декодером, соответствующим кодеру, имеющему скорость передачи данных в битах 64 кб/с.
Согласно этим способам потоки битов формируют без учета прочих скоростей передачи данных в битах, но формируют потоки битов с величиной, соответствующей данной скорости передачи данных в битах, а не порядок потоков битов. Если таким образом сформированные потоки битов передают по сети связи, то эти потоки битов секционируют по двоичным разрядам в несколько временных интервалов для последующей передачи. При подаче перегрузки к каналу передачи или когда на принимающей стороне принимают только некоторые отправленные передающей стороной временные интервалы по причине узкой ширины полосы частот канала передачи, данные нельзя восстановить должным образом. Также, поскольку потоки битов не формируют в соответствии с их значимостью, если восстанавливают только некоторые из потоков битов, то качество серьезно ухудшается. При этом восстановленные аудиоданные при прослушивании не являются приемлемыми на слух.
В случае с масштабируемым кодеком звука для решения указанных выше проблем выполняют кодирование для основного слоя и затем разностной сигнал между первоначальным сигналом и кодированным сигналом кодируют в следующем слое выделения сигнала из шумов (К. Бранденбург и др., "Основные концепции масштабируемого кодирования звука", 97-я Конвенция ОИА, препринт 3924, Сан-Франциско, 1994 и (К. Бранденбург и др., "Система масштабируемого кодирования звука двух- или трехэтапной скорости передачи данных в битах", 99-я Конвенция ОИА, препринт 4132, Нью-Йорк, 1995). Таким образом, чем больше слоев, тем хуже становятся рабочие характеристики при высокой скорости передачи данных в битах. В случае использования устройства масштабируемого кодирования сначала воспроизводят сигнал с хорошим качеством звука. Но если состояние каналов связи ухудшается либо если нагрузка на декодер принимающего оконечного устройства возрастает, то воспроизводится звук, имеющий качество низкой скорости передачи данных в битах. Поэтому упомянутый способ кодирования не подходит для практического достижения масштабируемости.
Для решения изложенных выше проблем техническая задача данного изобретения заключается в обеспечении способа масштабируемого кодирования цифровых аудиоданных, устройства и носителя записи для записи способа кодирования с помощью методики секционированного по двоичным разрядам арифметического кодирования (ДРСАК) вместо модуля кодирования без потерь; при этом все другие модули обычного кодера остаются без изменения.
Другая задача данного изобретения заключается в обеспечении способа масштабируемого кодирования цифровых аудиоданных, устройства и носителя записи для записи способа декодирования с помощью методики секционированного по двоичным разрядам арифметического кодирования (ДРСАК) вместо модуля кодирования без потерь; при этом все другие модули обычного аудиодекодера остаются без изменения.
Для достижения первой задачи данного изобретения обеспечивают способ масштабируемого кодирования звука для кодирования аудиосигналов в состоящий из нескольких слоев поток данных, имеющий основной слой и слои выделения сигнала из шумов в заданном количестве, причем данный способ содержит этапы: сигналообработки входных аудиосигналов, и квантования их для каждой заданной полосы частот кодирования, и упаковки квантованных данных в целях формирования потоков битов; причем этап формирования потока битов содержит: кодирование квантованных данных, соответствующих основному слою; кодирование квантованных данных, соответствующих следующему слою выделения сигнала из шумов в кодированном основном слое, и остающихся квантованных данных, не кодированных по причине ограничения размера слоя, и относящихся к кодированному слою; и последовательного выполнения этапов кодирования слоев для всех слоев выделения сигнала из шумов в целях формирования потоков битов; причем этап кодирования основного слоя, этап кодирования слоя выделения сигнала из шумов и этап последовательного кодирования выполняют таким образом, что дополнительная информация и квантованные данные, соответствующие кодируемому слою, представляют цифрами одинакового заданного числа и затем подвергают арифметическому кодированию с помощью заданной вероятностной модели в порядке от последовательностей самого старшего разряда до последовательностей самого младшего разряда, при этом дополнительная информация содержит масштабные коэффициенты и вероятностные модели, используемые в арифметическом кодировании.
Этап кодирования масштабных коэффициентов содержит этапы выведения максимального масштабного коэффициента; и получения разниц между максимальным масштабным коэффициентом и соответствующими масштабными коэффициентами, и арифметического кодирования этих разниц.
Если квантованные данные состоят из данных знака и данных величины, то этап кодирования включает в себя следующие этапы: кодирование заданным способом кодирования последовательностей самых старших разрядов, состоящих из самых старших разрядов данных величины квантованных данных, представленных одинаковым числом битов; кодирование данных знака, соответствующих ненулевым данным из числа кодированных последовательностей самых старших разрядов; кодирование заданным способом кодирования последовательностей самых старших разрядов из числа некодированных данных величины цифровых данных посредством заданного способа кодирования; кодирование некодированных данных знака из числа данных знака, соответствующих ненулевым данным величины из числа последовательностей битов; и выполнение этапа кодирования данных величины и этапа кодирования данных знака, используя соответствующие биты цифровых данных.
Этапы кодирования выполняют соединением битов, составляющих соответствующие последовательности битов для данных величины и данных знака, в блоки битов заданного числа.
Четырехмерный вектор, соединенный в блоки битов, разделяют на два подвектора согласно его предшествующим состояниям при кодировании соответствующих выборок.
Скорость передачи данных в битах основного слоя составляет 16 кб/с, а скорость передачи данных в битах промежуточного слоя составляет 8 кб/с.
Для достижения второй задачи данного изобретения обеспечивают устройство масштабируемого кодирования звука, содержащее: квантующий узел для сигналообработки входных аудиосигналов и квантования их для каждой полосы частот кодирования; и узел упаковки битов для формирования потоков битов путем ограничения полосы частот для основного слоя в целях масштабируемости, кодирования дополнительной информации, соответствующей основному слою, последовательного кодирования квантованной информации с последовательности самых старших разрядов до последовательности самых младших разрядов и от низкочастотных составляющих до высокочастотных составляющих; и кодирования дополнительной информации, соответствующей следующему слою выделения сигнала из шумов в основном слое, и квантованных данных, для выполнения кодирования по всем слоям.
Квантующий узел содержит: узел временного/частотного отображения для преобразования входных аудиосигналов временной области в сигналы частотной области; психоакустический узел для соединения преобразованных сигналов с помощью сигналов заданных поддиапазонов посредством временного/частотного отображения и вычисления порога маскировки для каждого поддиапазона с помощью явления маскировки, создаваемого взаимодействием соответствующих сигналов; и квантующий узел для квантования сигналов для каждой заданной полосы частот кодирования при одновременном сравнении шума квантования каждой полосы частот с порогом маскировки.
Для обеспечения третьей задачи данного изобретения обеспечивают способ масштабируемого декодирования звука для декодирования аудиоданных, кодированных для получения состоящих из нескольких слоев скоростей передачи данных в битах, содержащий этапы: декодирования дополнительной информации, имеющей по меньшей мере масштабные коэффициенты и информацию модели арифметического декодирования, назначенную для каждой полосы частот, в порядке создания слоев в потоках данных, имеющих состоящие из нескольких слоев скорости передачи данных в битах, путем анализирования значимости составляющих потоки данных битов от более значимых битов до менее значимых битов, применения моделей арифметического кодирования, соответствующих квантованным данным; восстановления декодированных масштабных коэффициентов и квантованных данных в сигналы, имеющие первоначальные величины; и преобразования обращенно квантованных сигналов в сигналы временной области.
Декодирование масштабных коэффициентов выполняют посредством следующих этапов: декодирование максимального масштабного коэффициента в потоке битов, арифметическое декодирование разниц между максимальным масштабным коэффициентом и соответствующими масштабными коэффициентами, и вычитание этих разниц из максимального масштабного коэффициента.
Также обеспечивают устройство масштабируемого декодирования звука, содержащее: узел анализирования потока битов для декодирования дополнительной информации, имеющей по меньшей мере масштабные коэффициенты и информацию арифметической модели и квантованные данные, в порядке создания слоев в состоящих из нескольких слоев потоков битов; узел обращенного квантования для восстановления декодированных масштабных коэффициентов и квантованных данных в сигналы, имеющие первоначальные величины; и узел частотного/временного отображения для преобразования обращенно квантованных сигналов частотной области в сигналы временной области.
Данное изобретение можно осуществить в универсальном цифровом компьютере, использующем программу из числа применяемых для компьютеров носителей, включая, но не ограничиваясь только этим, запоминающую среду, такую как магнитная запоминающая среда (например, ПЗУ, гибкие диски, жесткие диски и пр.), среда, считываемая оптическими средствами (например, КД-ПЗУ, ЦВД и пр. ), и несущие волны (например, передачи по Интернету). Например, обеспечивают используемую в компьютере среду, материально осуществляющую программу команд, выполняемую машиной, для выполнения способа масштабируемого кодирования звука для кодирования аудиосигналов в состоящий из нескольких слоев поток данных, имеющий основной слой и слои выделения сигнала из шумов в заданном количестве, причем этот способ содержит следующие этапы: сигналообработка входных аудиосигналов и их квантование для каждой заданной полосы частот кодирования; и упаковка квантованных данных для формирования потоков битов; причем этап формирования потока битов содержит: кодирование квантованных данных, соответствующих основному слою; кодирование квантованных данных, соответствующих следующему слою выделения сигнала из шумов в кодированном основном слое, и остающихся квантованных данных, не кодированных по причине ограничения размера слоя, и относящихся к кодированному слою; и последовательное выполнение этапов кодирования слоя для всех слоев выделения сигнала из шумов для формирования потоков битов; при этом этап кодирования основного слоя, и этап кодирования слоя выделения сигнала из шумов, и этап последовательного кодирования выполняют таким образом, что дополнительную информацию и квантованные данные, соответствующие кодируемому слою, представляют цифрами заданного одинакового числа и затем подвергают арифметическому кодированию с помощью заданной вероятностной модели в порядке от последовательностей самых старших разрядов до последовательностей самых младших разрядов, причем дополнительная информация содержит масштабные коэффициенты и вероятностные модели, подлежащие применению в арифметическом кодировании.
Этап кодирования масштабного коэффициента содержит следующие этапы: выведение максимального масштабного коэффициента и получение разниц между максимальным масштабным коэффициентом и соответствующими масштабными коэффициентами, и арифметического кодирования их.
Кодирование информации для вероятностных моделей выполняют с помощью следующих этапов: выведение минимального значения из числа значений информации вероятностной модели; получение разниц между минимальным значением информации вероятностной модели и соответствующими значениями информации модели, и их арифметическое кодирование с помощью вероятностных моделей, указанных в таблицах 5.5-5.9.
Также обеспечивают используемый компьютером носитель, материально осуществляющий программу команд, исполняемую машиной для выполнения способа масштабируемого декодирования звука для декодирования аудиоданных, кодированных для получения имеющих несколько слоев скоростей передачи данных в битах, содержащего следующие этапы: декодирование дополнительной информации, имеющей по меньшей мере масштабные коэффициенты и информацию модели арифметического кодирования, назначенную для каждой полосы частот, в порядке создания слоев в потоках данных, имеющих состоящие из нескольких слоев скорости передачи данных в битах, путем анализирования значимости составляющих потоки данных битов, от более значимых разрядов к менее значащим разрядам; использование моделей арифметического кодирования, соответствующих квантованным данным; восстановление декодированных масштабных коэффициентов и квантованных данных в сигналы, имеющие первоначальные величины; и преобразование обращенно квантованных сигналов в сигналы временной области, причем носитель записи выполнен с возможностью считывания программы для выполнения способа масштабируемого кодирования звука с помощью компьютера.
Потоки битов декодируют в блоках четырехмерных векторов, и декодируют секционированную по двоичным разрядам информацию четырех выборок четырехмерных векторов.
Декодирование масштабных коэффициентов производится путем декодирования максимального масштабного коэффициента, арифметического кодирования разниц между максимальным масштабным коэффициентом и соответствующими масштабными коэффициентами, и вычитанием этих разниц из максимального масштабного коэффициента.
Декодирование индексов арифметической модели выполняют декодированием минимального индекса арифметической модели в потоке битов, декодированием разниц между минимальным индексом и соответствующими индексами в дополнительной информации соответствующих слоев, и суммированием минимального индекса и этих разниц.
Указанные выше цели и преимущества данного изобретения станут более очевидными из подробного описания его предпочтительного осуществления, при обращении к прилагаемым чертежам, на которых:
фиг. 1 - блок-схема простого устройства масштабируемого кодирования/декодирования (кодека);
фиг. 2 - блок-схема устройства кодирования в соответствии с данным изобретением;
фиг.3
- структура потока битов в соответствии с данным изобретением;
фиг. 4 - блок-схема устройства декодирования в соответствии с данным изобретением;
фиг. 5 - расположение частотных
составляющих длинного блока (размер окна = 2048); и
фиг.6 - расположение частотных составляющих короткого блока (размер окна =2048).
Далее предпочтительные осуществления данного изобретения описываются с обращением на прилагаемые чертежи.
Потоки битов, формируемые в данном изобретении, не составляются единой скоростью передачи данных в битах, а их составляют несколько слоев выделения сигнала из шумов, основанных на основном слое. Данное изобретение имеет хорошую эффективность кодирования, то есть наилучшие рабочие характеристики имеются при фиксированной скорости передачи данных в битах как в обычных методах кодирования, и оно относится к способу кодирования/декодирования и устройству, в котором восстанавливают скорость передачи данных в битах, кодированную сообразно с получившей в последнее время развитие мультимедийной техникой.
Фиг.2 представляет собой блок-схему устройства масштабируемого кодирования звука согласно данному изобретению, которое в основном состоит из процессора квантования 230 и узла упаковки битов 240.
Процессор квантования 230 для сигналообработки входных аудиосигналов и квантования их для заданной полосы частот кодирования содержит узел временного/частотного отображения 200, психоакустический узел 210 и квантующий узел 220. Узел временного/частотного отображения 200 преобразует входные аудиосигналы временной области в сигналы частотной области. Воспринимаемая слухом разница между характеристиками сигнала с точки зрения времени не очень велика. Но в соответствии с человеческими психоакустическими моделями для каждой полосы частот производится большая разница. Таким образом эффективность сжатия можно повысить назначением разных битов квантования в зависимости от частотных диапазонов.
Психоакустический узел 210 соединяет преобразованные сигналы посредством сигналов заданных поддиапазонов с помощью узла временного/частотного отображения 200 и вычисляет порог маскировки на каждом поддиапазоне с помощью явления маскировки, производимого взаимодействием с соответствующими сигналами. Явление маскировки является феноменом, при котором аудиосигнал (звук) не слышен из-за другого сигнала. Например, когда поезд проходит по станции, человек не слышит голоса другого человека при разговоре на низком тоне из-за шума поезда.
Узел квантования 220 квантует сигналы для каждой заданной полосы частот кодирования, в результате чего шум квантования каждой полосы частот становится меньше порога маскировки. Другими словами, частотные сигналы каждой полосы частот прилагают к масштабируемому квантованию, в результате чего величина шума квантования каждой полосы частот меньше порога маскировки и поэтому не воспринимается. Квантование выполняют таким образом, чтобы значение ОШМ (отношение шума к маскировке), которое является отношением порога маскировки, вычисленного психоакустическим узлом 210, к генерируемому на каждой полосе частот шуму, было равно 0 дБ или меньше этого значения. Значение ОШМ, меньшее или равное 0 дБ, означает, что эффект маскировки выше шума квантования. Другими словами, шум квантования не слышен.
Узел упаковки битов 240 кодирует дополнительную информацию и квантованные данные, соответствующие основному слою, имеющему самую низкую скорость передачи битов; последовательно кодирует дополнительную информацию и квантованные данные, соответствующие следующему слою выделения сигнала из шумов в основном слое; и выполняет эту процедуру для всех слоев, чтобы сформировать потоки битов. В данном случае дополнительная информация включает в себя масштабные коэффициенты и информацию вероятностной модели, которые используют затем в арифметическом кодировании. Кодирование квантованных данных соответствующих слоев выполняют этапами секционирования каждой единицы квантованных данных в блоки битов путем представления квантованных данных как двоичных данных, состоящих из битов заданного одинакового числа, и последовательного кодирования секционированных по двоичным разрядам данных от последовательности самых старших разрядов до последовательности самых младших разрядов с помощью заданной вероятностной модели. Если цифровые данные состоят из данных знака и данных величины, то узел упаковки битов 240 отбирает каждую единицу данных величины для тех битов, которые имеют одинаковый уровень значимости, из числа секционированных по двоичным разрядам данных, кодирует данные величины, и затем кодирует некодированные данные знака из числа данных знака, соответствующих ненулевым данным величины из числа кодированных данных величины. В данном случае процедуру кодирования для данных знака и данных величины выполняют последовательно от самых старших до самых младших разрядов.
Потоки битов, сформированные устройством кодирования и имеющие указанную выше конфигурацию, имеют состоящую из нескольких слоев структуру, в которой потоки битов слоев с более низкой скоростью передачи данных в битах содержатся в слоях с более высокой скоростью передачи данных в битах: в соответствии с изображением на фиг.3. Обычно дополнительную информацию кодируют первой, и затем кодируют остающуюся информацию, чтобы сформировать потоки битов. Но в данном изобретении, в соответствии с изображением на фиг.3, дополнительную информацию для каждого слоя выделения сигнала из шумов кодируют отдельно. Также несмотря на то, что все квантованные данные последовательно кодируют в блоках выборок обычным образом, в данном изобретении квантованные данные представляют двоичными данными и кодируют от последовательности самых старших разрядов двоичных данных для формирования потоков битов в числе назначенных битов.
Далее следует описание работы устройства кодирования. Входные аудиосигналы кодируют и формируют в виде потоков битов. Для этого входные сигналы преобразуют в сигналы частотной области посредством МДСП (модифицированное дискретное косинус-преобразование) в узле временного/частотного отображения 200. Психоакустический узел 210 соединяет частотные сигналы соответствующими поддиапазонами, чтобы получить порог маскировки.
Узел квантования 220 выполняет скалярное квантование, в результате чего величина шума квантования каждой полосы частот масштабного коэффициента меньше порога маскировки, который слышен, но не воспринимается среди назначенных битов. При выполнении квантования с соблюдением этих условий генерируют масштабные коэффициенты для соответствующих полос частот масштабного коэффициента и квантованные частотные значения.
В общем, с точки зрения психоакустики человека близкие частотные составляющие можно легко воспринимать на более низкой частоте. Но при повышении частоты интервал воспринимаемых частот становится шире. Ширина полос масштабного коэффициента увеличивается с повышением полос частот. Но для содействия кодированию полосы частот масштабного коэффициента, ширина полосы которых не является постоянной, для кодирования не используют, а вместо них используют полосы частот кодирования, ширина полосы которых является постоянной. Полосы частот кодирования включают в себя 32 квантованных значения частотного коэффициента.
1. Кодирование масштабных коэффициентов
Для сжатия масштабных
коэффициентов применяют способ арифметического кодирования. Для этого, во-первых, выводят максимальный масштабный коэффициент. Затем получают разницы между соответствующими масштабными коэффициентами
и максимальным масштабным коэффициентом, и затем эти разницы подвергают арифметическому кодированию. Для арифметического кодирования разниц между масштабными коэффициентами используют четыре модели.
Эти четыре модели показаны в таблицах 5.1-5.4. Информацию для этих моделей запоминают в модели масштабного коэффициента.
2. Кодирование индекса модели арифметического кодирования
Каждая полоса частот кодирования содержит 32 частотных составляющих. Арифметически кодируют 32 квантованных частотных коэффициента. Затем определяют модель для арифметического кодирования для
каждой полосы частот кодирования и эту информацию запоминают в индексе модели арифметического кодирования (ArModel). Для сжатия ArModel применяют способ арифметического кодирования. Для этого выводят
минимальный индекс ArModel (min_ArModel). Затем получают разницы между соответствующими индексами ArModel и минимальным индексом ArModel, и затем эти разницы подвергают арифметическому кодированию. В
данном случае используют четыре модели арифметического кодирования. Эти четыре модели даны в таблицах 5.5-5.8. Информацию для модели, используемой в арифметическом кодировании, запоминают в
ArModel_model.
1.3 Секционированное по двоичным разрядам кодирование квантованных частотных составляющих
В общем значимость самого старшего разряда намного превышает
значимость самого младшего разряда. Но согласно обычному способу кодирование выполняют независимо от значимости. То есть, если используют только некоторые потоки битов из числа ведущих потоков битов
среди всех потоков битов, то информацию, менее важную, чем информация, включенная в неиспользуемых отстающих потоках битов, в значительной степени включают в ведущие потоки битов.
По этой причине в данном изобретении квантованные сигналы соответствующих полос частот кодируют последовательно от самых старших разрядов до самых младших разрядов. Другими словами, соответствующие квантованные сигналы представляют двоичным обозначением, а квантованные значения соответствующих частотных составляющих последовательно обрабатывают в блоках битов от низкочастотных составляющих до высокочастотных составляющих. Во-первых, выводят самые старшие разряды соответствующих частотных составляющих, и затем следующие более значимые биты последовательно кодируют по одному биту до самых младших разрядов. Таким образом, более важную информацию кодируют первой, в результате чего потоки битов формируют сначала.
Значения знака квантованных значений запоминают отдельно, и
их абсолютные значения берут для выведения данных, представленных в качестве положительных значений. Квантованные частотные данные секционируют в блоки битов и затем последовательно располагают от
самых старших разрядов до самых младших разрядов. Секционированные по двоичным разрядам данные восстанавливают четырехмерными векторами. Теперь предположим, что 8 квантованных значений, каждое из
которых имеет 4 бита, представлены двоичным обозначением следующим образом:
Например, в случае кодирования в блоках по 4 бита: кодируют 1010 и затем кодируют 0000. Если кодирование самых старших разрядов завершено, то получают следующие более значимые последовательности битов и затем их кодируют в порядке 0001, 000, ... до самых младших разрядов.
Соответствующие четырехмерные векторы, соединенные в блоки из четырех битов, подразделяют на два подвектора согласно их состоянию. Два подвектора кодируют эффективным не имеющим потери кодированием, таким как арифметическое кодирование. В этих целях определяют модель для применения в арифметическом кодировании для каждой полосы частот кодирования. Эту информацию запоминают в ArModel. Соответствующие модели арифметического кодирования состоят из нескольких моделей более низкого порядка. Подвекторы кодируют с помощью одной из моделей более низкого порядка. Модели более низкого порядка классифицируют в соответствии с размерами кодируемого подвектора, значимостью вектора или состояниями кодирования соответствующих выборок. Значимость вектора определяется битовым положением кодируемого вектора. Другими словами, значимость вектора изменяется в зависимости от следующего: предназначена ли секционированная по двоичным разрядам информация для самых старших разрядов, следующих самых старших разрядов или для самых младших разрядов. Самые старшие разряды имеют наибольшую значимость, и самые младшие разряды имеют наименьшую значимость. Значения состояния кодирования соответствующих выборок обновляют по мере того, как кодирование вектора идет от самых старших разрядов к самым младшим разрядам. Вначале значение состояния кодирования устанавливают на ноль. Затем, когда встречается ненулевое значение бита, значение состояния кодирования становится 1.
1.4 Кодирование бита знака
В основном кодирование бита знака выполняют последовательно от
последовательности самых старших разрядов до последовательности самых младших разрядов; при этом кодирование данных частотной составляющей, бит знака которой кодируют, резервируют и сначала выполняют
кодирование тех данных, бит знака которых не кодирован. После того как биты знака всех частотных составляющих будут кодированы таким образом, выполняют кодирование резервированных данных частотной
составляющей в порядке более значимых последовательностей битов.
Это обстоятельство описывается более подробно ниже. Вновь обращаясь к приведенному выше примеру: обе последовательности самых старших разрядов "1010, 0000" кодируют, поскольку их биты знака ранее не кодированы, то есть резервировать кодирование не нужно. Затем кодируют следующие более значимые последовательности битов "0001, 0000". В данном случае для 0001, первый 0 и третий 0 не кодируют, т.к. биты знака уже кодированы в самых старших разрядах; и затем кодируют второй и четвертый биты 0 и 1. В данном случае, поскольку 1 среди более значимых битов нет, то кодируют бит знака для частотной составляющей четвертого бита 1. Для 0000, поскольку среди более значимых битов кодированных битов знака нет, то кодируют все эти четыре бита. Таким образом биты знака кодируют в самые младшие разряды, и затем остающуюся некодированную информацию последовательно кодируют из более значимых битов.
1.5
Формирование масштабируемых потоков битов
Далее следует описание структуры потоков битов, формируемых согласно данному изобретению. При представлении соответствующих значений частотной
составляющей в двоичные цифры самые старшие разряды сначала кодируют в основном слое; следующие более значимые биты затем кодируют в следующем слое выделения сигнала из шумов, а самые младшие разряды,
наконец, кодируют в верхнем слое. Другими словами, в основном слое кодируют только контур всех частотных составляющих. Затем с увеличением скорости передачи данных в битах можно выразить более
подробную информацию. Поскольку значения данных более подробной информации кодируют согласно увеличивающимся скоростям передачи данных в битах, т.е. слои выделения сигнала из шумов, то можно улучшить
качество звука.
Далее следует описание способа формирования масштабируемых потоков битов с помощью таковых представленных данных. Во-первых, формируют потоки битов основного слоя. Затем кодируют дополнительную информацию, используемую для этого основного слоя. Дополнительная информация включает в себя информацию масштабного коэффициента для полос частот масштабного коэффициента и индексы модели арифметического кодирования для каждой полосы частот кодирования. Если кодирование дополнительной информации завершено, то информацию для квантованных значений последовательно кодируют от самых старших разрядов до самых младших разрядов и от низкочастотных составляющих до высокочастотных составляющих. Если назначенные биты определенной полосы частот меньше, чем назначенные биты кодируемой в данное время полосы частот, то кодирование не производят. Когда назначенные биты данной полосы частот равны назначенным битам кодируемой в данное время полосы частот, то кодирование производят. Другими словами, кодирование выполняют в заданном пределе полосы частот.
Далее следует описание обоснования предела полосы частот.
Если в кодирующих сигналах соответствующих слоев выделения сигнала из шумов предела полосы частот не имеется, то кодирование выполняют от самых старших разрядов независимо от полос частот. Тогда может генерироваться звук, неприемлемый для слуха, поскольку сигналы включаются и выключаются при восстановлении сигналов слоев, имеющих низкие скорости передачи данных в битах. То есть целесообразно должным образом ограничить полосы частот согласно скоростям передачи данных в битах. Также, если полосы частот ограничены для соответствующих слоев выделения сигнала из шумов, то снижается усложненность декодера для соответствующих слоев выделения сигнала из шумов. Поэтому можно обеспечить как масштабируемость качества, так и масштабируемость усложненности. После кодирования основного слоя дополнительную информацию и квантованное значение аудиоданных кодируют для следующего слоя выделения сигнала из шумов. Таким образом кодируют данные всех слоев. Кодированную таким образом информацию собирают вместе для формирования потоков битов.
Фиг. 4 является блок-схемой устройства декодирования, которое содержит узел анализирования потока битов 400, узел обращенного квантования 410 и узел временного/частотного отображения 420.
Узел анализирования потока битов 400 декодирует дополнительную информацию, имеющую по меньшей мере масштабные коэффициенты и модели арифметического кодирования, и секционированные по двоичным разрядам квантованные данные в порядке формирования потоков битов, имеющих состоящую из нескольких слоев структуру. Декодированные данные восстанавливают в качестве сигнала временной области таким модулем обработки, как обычный аудиоалгоритм, аналогичный стандартам ААС. Сначала узел обращенного квантования 410 восстанавливает декодированный масштабный коэффициент и квантованные данные в сигналы, имеющие первоначальные величины. Узел частотного/временного отображения 420 преобразует обращенно квантованные сигналы в сигналы во временной области в целях их воспроизведения.
Далее описывается работа устройства декодирования. Порядок декодирования потоков битов, сформированных устройством кодирования, является точно обратным порядку кодирования. Сначала декодируют информацию для основного слоя. Краткое описание процесса декодирования следующее. Прежде всего кодируют информацию, обычно используемую для всех слоев, т.е. заголовочную информацию, запомненную в самом первом потоке битов.
Дополнительная информация, используемая в основном слое, содержит масштабные коэффициенты и индексы арифметической модели для полос частот, назначенных в основном слое. Таким образом декодируют масштабные коэффициенты и индексы арифметической модели. Биты, назначенные для каждой полосы частот кодирования, можно узнать по декодированным индексам арифметической модели. Из числа назначенных битов выводят максимальное значение. Квантованные значения в потоках битов последовательно декодируют с самых старших разрядов до самых младших разрядов и от низкочастотных составляющих до высокочастотных составляющих, как в процессе кодирования. Если назначенный бит определенной полосы частот меньше такового, который декодируют в данное время, то декодирование не производят. Когда назначенный бит определенной полосы частот становится равным таковому, который декодируют в данное время, то начинают декодирование.
По завершении декодирования потоков битов, назначенных для основного слоя, декодируют дополнительную информацию и квантованные значения аудиоданных для следующего слоя выделения сигнала из шумов. Таким образом можно декодировать данные всех слоев.
Данные, квантованные в процессе декодирования, восстанавливают в качестве первоначальных сигналов посредством узла обращенного квантования 410 и узла частотного/временного отображения 420, изображенных на фиг.4, в порядке, обратном кодированию.
Далее следует описание предпочтительного осуществления данного изобретения. Данное изобретение совместимо с основной структурой стандартов ААС и осуществляет кодер масштабируемых цифровых аудиоданных. Другими словами, в данном изобретении используют основные модули, применяемые в стандартном кодировании/декодировании ААС, за тем исключением, что модуль кодирования без потерь заменяют способом секционированного по двоичным разрядам кодирования. Поэтому потоки битов, формируемые в кодере согласно данному изобретению, отличаются от тех, которые формируют в методах ААС. В данном изобретении информацию для только одной скорости передачи данных в битах не кодируют в одном потоке битов, а информацию для скоростей передачи данных в битах разных слоев выделения сигнала из шумов кодируют в потоке битов с состоящей из нескольких слоев структурой, как изображено на фиг.3, в порядке, начиная с более значимых составляющих сигнала до менее значимых составляющих сигнала.
Используя сформированные таким образом потоки битов, можно формировать потоки битов с низкой скоростью передачи данных в битах простой перегруппировкой потоков битов с низкой скоростью передачи данных в битах, которые (потоки) содержатся в самом высоко[скоростном] потоке битов, по запросу пользователя или сообразно состоянию каналов передачи. Другими словами, потоки битов, сформированные устройством кодирования на основе реального времени или запомненные в носителе потоки битов, можно перегруппировать соответственно желательной скорости передачи данных в битах по запросу пользователя и затем передавать. Также, если рабочие характеристики аппаратуры пользователя невысокие, либо если пользователь желает снизить усложненность декодера, даже с надлежащими потоками битов, то можно восстановить только некоторые потоки битов и тем самым регулировать усложненность.
Например, при формировании масштабируемого потока данных скорость передачи данных в битах основного слоя составляет 16 кб/с, верхнего слоя - 64 кб/с и соответствующие слои выделения сигнала из шумов имеют интервал скорости передачи данных в битах 8 кб/с, то есть поток битов имеет 7 слоев 16, 24, 32, 40, 48, 56 и 64-х кб/с. Соответствующие слои выделения сигнала из шумов определяют согласно таблице 2.1. Поскольку поток битов, сформированный устройством кодирования, имеет структуру из нескольких слоев, как изображено на фиг. 3, то поток битов верхнего слоя 64 кб/с содержит потоки битов соответствующих слоев выделения сигнала из шумов (16, 24, 32, 40, 48, 56 и 64 кб/с). Если пользователь запрашивает данные для верхнего слоя, то для этого поток битов верхнего слоя передают без какой-либо обработки. Также если другой пользователь запрашивает данные для основного слоя (соответствует 16 кб/с), то просто передают только ведущие потоки битов.
Как вариант, слои выделения сигнала из шумов можно конструировать в интервалах. Скорость передачи данных в битах основного слоя - 16 кб/с, верхнего слоя - 64 кб/с, а каждый слой выделения сигнала из шумов имеет интервал скорости передачи данных в битах, равный 1 кб/с. Соответствующие слои выделения сигнала из шумов конструируют согласно таблице 3.1. Поэтому можно выполнить "тонкое" масштабирование, то есть масштабируемые потоки битов формируют в равном 1 кб/с интервале скорости передачи данных в битах от 16 кб/с до 64 кб/с.
Соответствующие слои имеют ограниченные полосы частот соответственно скоростям передачи данных в битах. Если имеется в виду масштабируемость интервала 8 кб/с, то величины ширины полосы частот ограничены в соответствии с данными таблиц 2.2 и 2.3. В случае интервала 1 кб/с величины ширины полосы частот ограничены согласно таблицам 3.2 и 3.3.
Входными данными являются данные кодово-импульсной модуляции, дискретизированные при 48 кГц, а величина одной группы данных составляет 1024. Число битов, используемых для одной группы для скорости передачи данных в битах в 64 кб/с составляет 1365, 3333 (=64000 бит/с•(1024/48000)) в среднем. Аналогично, размер имеющихся битов для одной группы данных можно вычислить согласно соответствующим скоростям передачи данных в битах. Вычисленные числа имеющихся битов для одной группы даны в таблице 2.4 в случае 8 кб/с, и в таблице 3.4 в случае 1 кб/с.
2.1. Порядок кодирования
Процедура кодирования полностью та же, которая изложена в Международных стандартах MPEG-2 АСС; в данном изобретении в качестве кодирования без потерь принято секционированное по двоичным
разрядам кодирование.
2.1.1. Психоакустический узел
Перед квантованием, с помощью психоакустической модели, тип блока обрабатываемой в данное время группы данных (длинный,
начальный, короткий или конечный), величины ОСШ соответствующих полос частоты обработки, групповая информация короткого блока и временно задержанные КИМ-данные для временной/частотной синхронизации с
психоакустической моделью сначала формируют из входных данных и передают в узел временного/частотного отображения. Для вычисления психоакустической модели используют ISO/IEC 11172-3 Model 2 (Комитет
MPEG, ISO/IEC/JTC1/SC29/WG11, Информатика-кодирование кинематографического изображения и соответствующего звукового сопровождения для cреды хранения около 1,5 Мбит/с, часть 3; Звукозаписывающая и
звуковоспроизводящая аппаратура, ISO/OEC IS 11172-3, 1993).
2.1.2. Узел временного/частотного отображения
Используется временное/частотное отображение, определяемое в
Международных стандартах MPEG-2 АСС. Узел временного/частотного отображения преобразует данные временной области в данные частотной области с помощью многократного дискретного косинусного
преобразования (МДКП) согласно выходному сигналу типа блока, с помощью психоакустической модели. В это время размеры блоков составляют 2048 и 256 в случае длинных/начальных/конечных блоков и в случае
короткого блока соответственно; МДКП производят 8 раз (Комитет MPEG,
ISO/IEC/JTC1/SC29/WG11, ISO/IEC MPEG-2 AAC IS 13818-7, 1997). В данном изобретении используют ту же процедуру, что и в
обычном MPEG-2 AAC (Комитет MPEG, ISO/IEC/JTC1/SC29/WG11, ISO/IEC MPEG-2 AAC IS 13818-7, 1997).
2.1.3. Узел квантования
Данные, преобразованные в данные частотной области,
квантуют с помощью увеличивающихся масштабных коэффициентов, в результате чего значение ОСШ полосы частот масштабного коэффициента в таблицах 1.1 и 1.2 меньше ОСШ как выходного значения
психоакустической модели. Здесь выполняют скалярное квантование, и основной интервал масштабного коэффициента равен 21/4. Квантование выполняют таким образом, что воспринимаемый на слух шум
сводят к минимуму. Сама процедура квантования описывается в стандарте MPEG-2 AAC. Здесь полученным выходным сигналом являются квантованные данные и масштабные коэффициенты для соответствующих полос
частот масштабного коэффициента.
2.1.4. Размещение частотных составляющих
Для удобного кодирования частотные составляющие перегруппируют. Порядок перегруппировки разный в
зависимости от типов блока. В случае использования длинного окна в данном типе блока частотные составляющие размещают в порядке полос частот масштабного коэффициента согласно фиг.5. На фиг.5 sfb
указывает полосу частот масштабного коэффициента. В случае использования короткого окна в данном типе блока каждые четыре частотные составляющие из восьми блоков повторно размещают в порядке
возрастания согласно фиг.6. На фиг.6 В указывает 8 блоков, а перечисляемые ниже цифры указывают частотные составляющие в каждом блоке.
2.1.5. Узел упаковки битов, использующий
секционированное по двоичным разрядам арифметическое кодирование (ДРСАК)
Перегруппированные квантованные данные и масштабные коэффициенты формируют в виде состоящих из нескольких слоев
потоков битов.
Потоки битов формируют синтаксисами, определяемыми в таблицах 7.1-7.10.
Ведущими элементами потока битов являются элементы, которые можно обычным образом использовать в обычных ААС; новые предлагаемые в данном изобретении элементы объясняются отдельно. Однако принципиальная структура аналогична стандартам ААС. Далее следует объяснение новых предлагаемых данным изобретением элементов потока битов.
Таблица 7.5 изображает синтаксис для кодирования дрсак-канала_потока (bsac_ channel_ stream), где max_scalefactor представляет собой максимальные масштабные коэффициенты, и который является целым числом, т.е. 8 битов.
Таблица 7.6 изображает синтаксис для кодирования дрсак_данных, где frame_ length (длина группы данных) представляет размер всех потоков битов для одной группы данных и выражена в байтах. Также encoded_layer (кодированный слой) представляет кодирование для верхнего слоя, кодированного в потоке битов, и представляет собой 3 бита в случае интервала 8 кб/с и 6 битов в случае интервала 1 кб/с соответственно. Информация для слоев выделения сигнала из шумов представлена в таблицах 2.1 и 3.1. Также scalefactor_ model (модель масштабного коэффициента) представляет информацию о моделях, используемых в разницах арифметического кодирования в масштабных коэффициентах.
Эти модели изображены в таблице 4.1. "min_ArModel" представляет минимальное значение индексов модели арифметического кодирования. "ArModel" представляет информацию о моделях, используемых в арифметическом кодировании разностного сигнала между ArModel и min_ArModel. Эта информация изображена в таблице 4.2.
Таблица 7.9 изображает синтаксис для кодирования (bsac_side_info) дрсак_ дополн_ инфо. Информацию, которую можно использовать для всех слоев, сначала кодируют и затем кодируют дополнительную информацию, которую обычно используют для соответствующих слоев выделения сигнала из шума. "acode_scf" представляет кодовое слово, выведенное арифметическим кодированием масштабных коэффициентов "acode_ ArModel" представляет кодовое слово, полученное арифметическим кодированием ArModel. ArModel является информацией, которую выбирают из моделей, перечисленных в таблице 4.3.
Таблица 6.12 Арифметическая Модель АСАК 12
Та же, что и арифметическая модель 10 ДРСАК,
но назначенные биты = 6
Таблица 6.13 Арифметическая Модель АСАК 13
Та же, что и арифметическая модель 11 ДРСАК, но назначенные биты = 6
Таблица 6.14 Арифметическая Модель
АСАК 14
Та же, что и арифметическая модель 10 ДРСАК, но назначенные биты = 7
Таблица 6.15 Арифметическая Модель АСАК 15
Та же, что и арифметическая модель 11 ДРСАК, но
назначенные биты = 7
Таблица 6.16 Арифметическая Модель АСАК 16
Та же, что и арифметическая модель 10 ДРСАК, но назначенные биты = 8
Таблица 6.17 Арифметическая Модель АСАК
17
Та же, что и арифметическая модель 11 ДРСАК, но назначенные биты = 8
Таблица 6.18 Арифметическая Модель АСАК 18
Та же, что и арифметическая модель 10 ДРСАК, но
назначенные биты = 9
Таблица 6.19 Арифметическая Модель АСАК 19
Та же, что и арифметическая модель 11 ДРСАК, но назначенные биты = 9
Таблица 6.20 Арифметическая Модель АСАК
20
Та же, что и арифметическая модель 10 ДРСАК, но назначенные биты = 10
Таблица 6.21 Арифметическая Модель АСАК 21
Та же, что и арифметическая модель 11 ДРСАК, но
назначенные биты = 10
Таблица 6.22 Арифметическая Модель АСАК 22
Та же, что и арифметическая модель 10 ДРСАК, но назначенные биты = 11
Таблица 6.23 Арифметическая Модель
АСАК 23
Та же, что и арифметическая модель 11 ДРСАК, но назначенные биты = 11
Таблица 6.24 Арифметическая Модель АСАК 24
Та же, что и арифметическая модель 10 ДРСАК, но
назначенные биты = 12
Таблица 6.25 Арифметическая Модель АСАК 25
Та же, что и арифметическая модель 11 ДРСАК, но назначенные биты = 12
Таблица 6.26 Арифметическая Модель
АСАК 26
Та же, что и арифметическая модель 10 ДРСАК, но назначенные биты = 13
Таблица 6.27 Арифметическая Модель АСАК 27
Та же, что и арифметическая модель 11 ДРСАК, но
назначенные биты = 13
Таблица 6.28 Арифметическая Модель АСАК 28
Та же, что и арифметическая модель 10 ДРСАК, но назначенные биты = 14
Таблица 6.29 Арифметическая Модель
АСАК 29
Та же, что и арифметическая модель 11 ДРСАК, но назначенные биты = 14
Таблица 6.30 Арифметическая Модель АСАК 30
Та же, что и арифметическая модель 10 ДРСАК, но
назначенные биты = 15
Таблица 6.31 Арифметическая Модель АСАК 31
Та же, что и арифметическая модель 11 ДРСАК, но назначенные биты = 15
Таблица 7.10 изображает синтаксис для
кодирования дрсак_спектральных_ данных. Дополнительную информацию, обычно используемую для соответствующих слоев выделения сигнала из шума, квантованные частотные составляющие секционируют по двоичным
разрядам с помощью метода ДРСАК и затем подвергают арифметическому кодированию. "acode_vec0" представляет кодовое слово, полученное арифметическим кодированием первого подвектора (подвектор 0) с
помощью арифметической модели, определяемой как значение ArModel.
"acode_vecl" представляет кодовое слово, полученное арифметическим кодированием второго подвектора (подвектор 1) с помощью арифметической модели, определяемой как значение ArModel. "acode_sign" представляет кодовое слово, полученное арифметическим кодированием бита знака с помощью арифметической модели, определяемой в таблице 5.9.
При вычислении числа битов, используемых в кодировании соответствующих подвекторов, и их сравнении с числом имеющихся битов для соответствующих слоев выделения сигнала из шумов, когда используемые биты равны числу имеющихся битов или превышают их число, кодирование следующего слоя выделения сигнала из шумов начинают вновь.
В случае длинного блока: поскольку ширина полосы частот основного слоя ограничена до 21-й полосы частот масштабного коэффициента, кодируют масштабные коэффициенты до 21-й полосы частот масштабного коэффициента, и кодируют модели арифметического кодирования соответствующих полос частот кодирования. Информацию назначения битов получают из моделей арифметического кодирования. Максимальное значение назначенных битов получают из битовой информации, назначенной каждой полосе частот кодирования; и кодирование выполняют, начиная с максимального значения бита квантования, с помощью указанного способа кодирования. Затем последовательно кодируют следующие квантованные биты. Если назначенные биты определенной полосы частот по числу меньше битов кодируемой в данное время полосы частот, то кодирование не производят. Если число назначенных битов определенной полосы частот равно числу битов кодируемой в данное время полосы частот, то сначала кодируют эту полосу частот. Поскольку скорость передачи данных в битах основного слоя составляет 16 кб/с, то весь допуск битов составляет 336 битов. Таким образом общее количество используемых битов вычисляют непрерывно и кодирование прекращают в момент, когда количество битов доходит до 336.
После формирования всех потоков битов для базового слоя (16 кб/с) формируют потоки битов для следующего слоя выделения сигнала из шумов. Поскольку для более высоких слоев ограниченные полосы частот увеличиваются, то кодирование масштабных коэффициентов и моделей арифметического кодирования выполняют только для полос частот, вновь добавленных к ограниченным полосам частот для основного слоя. В базовом слое некодированные секционированные по двоичным разрядам данные для каждой полосы частот и секционированные по двоичным разрядам данные для вновь добавленной полосы частот кодируют, начиная с самых старших разрядов, таким же образом, что и в основном слое. Если общее количество используемых битов превышает количество имеющихся битов, то кодирование прекращают и делают подготовку для формирования следующих потоков битов следующего слоя выделения сигнала из шумов. Таким образом можно создать потоки битов для остающихся слоев из 32, 40, 48, 56 и 64 кб/с.
Далее следует изложение процедуры декодирования.
3.1. Анализ и декодирование потоков битов
3.1.1. Декодирование
дрсак_канала_потока (bsac_channel_stream) выполняют в порядке, начиная с получения максимального_масштабного коэффициента (max_ scale factor) до получения ics_info () и получения данных ДРСАК согласно
таблице 7.5.
3.1.2. Декодирование дрсак_данных (bsac_data)
Дополнительную информацию, необходимую при кодировании длины_группы данных (frame_length), кодированного слоя
(encoded_layer), моделей масштабного коэффициента и арифметических моделей декодируют в потоке битов согласно таблице 7.6.
3.1.3. Декодирование дрсак дополнительной_информации (bsac_side_layer).
Масштабируемые потоки битов, сформированные в предыдущих этапах, имеют структуру из нескольких слоев. Сначала отделяют от потока битов и затем декодируют дополнительную информацию для основного слоя. После этого секционированную по двоичным разрядам информацию для квантованных частотных составляющих, содержащихся в потоке битов основного слоя, отделяют от потока битов и затем декодируют. Для других слоев выделения сигнала из шумов применяют тот же порядок декодирования, что и для основного слоя.
1) Декодирование масштабных коэффициентов.
Частотные составляющие подразделяют на полосы частот масштабных коэффициентов, имеющие частотные коэффициенты, кратные 4. Каждая полоса частот масштабного коэффициента имеет масштабный коэффициент. Максимальный масштабный коэффициент (max scalefactor) декодируют в 8-битовое целое число без знака. Получают и затем подвергают арифметическому кодированию разницы между масштабными коэффициентами и максимальным масштабным коэффициентом для всех масштабных коэффициентов. Арифметические модели, используемые при декодировании разниц, являются одним из элементов, формирующих потоки битов, и их отделяют от уже декодированных потоков битов. Первоначальные масштабные коэффициенты можно восстановить в обращенном порядке процедуры кодирования.
Псевдокод 1 (см. в конце описания) описывает способ декодирования для масштабных коэффициентов в основном слое и других слоях выделения сигнала из шумов.
2) Декодирование индекса арифметической модели.
Частотные составляющие подразделяют на полосы частот кодирования, имеющие 32 частотных коэффициента, которые кодируют без потерь. Полоса частот кодирования является основной единицей, используемой в кодировании без потерь. Индекс модели арифметического кодирования является информацией о моделях, используемых в арифметическом кодировании/декодировании секционированных по двоичным разрядам данных каждой полосы частот кодирования, и указывает, какая модель используется в процедурах арифметического кодирования/декодирования среди моделей, перечисленных в таблице 4.3.
Разницы между смещенными значениями и всеми индексами модели арифметического кодирования вычисляют, и затем разностные сигналы подвергают арифметическому кодированию с помощью моделей таблицы 4.2. Из числа четырех моделей таблицы 4.2 используемую модель указывают значением модели ArModel (ArModel_ model) и запоминают в потоке битов в виде 2 битов. Значением смещения является 5-битовое минимальное значение ArModel (min_ArModel), запомненное в потоке битов. Разностные сигналы декодируют в обращенном порядке процедуры кодирования, и затем разностные сигналы суммируют со значением смещения для восстановления индексов модели арифметического кодирования.
Псевдокод 2 (см. в конце описания) описывает способ декодирования для индексов модели арифметического кодирования и ArModel[cband] в соответствующих слоях выделения сигнала из шумов.
3.1.4. Декодирование секционированных по двоичным разрядам данных
Квантованные последовательности формируют в виде секционированных по двоичным разрядам последовательностей. Соответствующие четырехмерные векторы подразделяют на два подвектора согласно их
состоянию. Для эффективного сжатия два подвектора подвергают арифметическому кодированию в виде кодирования без потерь. Выбирают модель для использования в арифметическом кодировании для каждой полосы
частот кодирования. Эту информацию запоминают в ArModel.
Согласно таблицам 6.1-6.31 соответствующие модели арифметического кодирования состоят из нескольких моделей низшего порядка. Подвекторы кодируют с помощью одной из моделей низшего порядка. Модели низшего порядка классифицируют в соответствии с размером кодируемого подвектора, значимостью вектора или состояниями кодирования соответствующих выборок. Значимость вектора определяют битовым положением кодируемого вектора. Другими словами, значимость вектора разная в зависимости от предназначенности секционированной по двоичным разрядам информации для самого старшего разряда, следующего самого старшего разряда или самого младшего разряда. Самые старшие разряды имеют наибольшую значимость, а самые младшие разряды - наименьшую. Значения состояния кодирования соответствующих выборок обновляют по мере хода кодирования вектора от самых старших разрядов к самым младшим разрядам. Сначала значение состояния кодирования устанавливают на ноль. Затем, когда встречается ненулевое значение бита, значение состояния кодирования становится 1.
Два подвектора являются векторами от одномерного до четырехмерного. Подвекторы подвергают арифметическому кодированию от самых старших разрядов до самых младших, от низкочастотных составляющих до высокочастотных. Индексы модели арифметического кодирования, используемые в арифметическом кодировании, заранее запоминают в потоке битов в порядке от низкой частоты до высокой перед передачей секционированных по двоичным разрядам данных в каждую полосу частот кодирования в блоках полос частот кодирования.
Соответствующие секционированные по двоичным разрядам данные подвергают арифметическому кодированию для выведения индексов кодового слова. Эти индексы восстанавливают в первоначальные квантованные данные путем соединения битами с помощью псевдокода 3 (см. в конце описания).
При этом секционированные по двоичным разрядам данные квантованных частотных составляющих кодируют от самых старших разрядов до самых младших разрядов, когда биты знака ненулевых частотных коэффициентов подвергают арифметическому кодированию. Бит отрицательного знака (-) представлен 1, а бит положительного знака (+) представлен 0.
Поэтому, если в декодере подвергаются арифметическому кодированию
секционированные по двоичным разрядам данные и первым встречается ненулевое значение арифметически кодированного бита, то далее следует информация о знаке в потоке битов, т.е. acode_sign. sign_bit
подвергают арифметическому кодированию с помощью этой информации моделями таблицы 5.9. Если знак бита является 1, то информацию о знаке придают квантованным данным (у), сформированным соединением
отделенных данных, следующим образом:
3.2. Обращенное квантование
3.3. Частотное/временное отображение
Узел частотного/временного отображения преобразует аудиосигналы частотной области в сигналы временной области, чтобы воспроизвестись
пользователем. Формула для отображения сигнала частотной области в сигнал временной области определена в стандартах ААС. Также в стандартах ААС описывают различные относящиеся к отображению компоненты,
такие как "окно".
Вышеизложенное осуществление данного изобретения можно исполнить в виде программы, исполняемой компьютером. Программу можно запомнить на носителе записи, таком как КД-ПЗУ, жесткий диск, гибкий диск или запоминающее устройство. Носители записи продаются. Носитель записи явно входит в диапазон данного изобретения.
Данное изобретение возможно осуществить в универсальном цифровом компьютере, прогоняющем программу с используемого компьютером носителя, включая, но не ограничиваясь только этим, запоминающую среду, такую как магнитная запоминающая среда (например, ПЗУ, гибкие диски, жесткие диски и пр.), оптически считываемые носители (например, КД-ПЗУ, ЦВД и пр.) и несущие волны (например, передачи по Интернет). Поэтому данное изобретение можно осуществить в виде используемого компьютером носителя, имеющего средства считываемого компьютером программного кода для кодирования последовательности цифровых данных заданного числа, средства считываемого компьютером программного кода в используемом компьютером носителе, содержащем средство считываемого компьютером программного кода для выработки компьютером сигналообрабатывающих входных аудиосигналов и квантования их для каждой заданной полосы частот кодирования, и средства считываемого компьютером программного кода для упаковки компьютером квантованных данных, чтобы сформировать поток битов; причем этап формирования потока битов содержит кодирование квантованных данных, соответствующих основному слою, кодирование квантованных данных, соответствующих следующему слою выделения сигнала из шума в кодированном основном слое, и остающихся квантованных данных, не кодированных из-за ограничения размера слоя, и относящихся к кодированному слою, и последовательное выполнение этапов кодирования слоя для всех слоев выделения сигнала из шумов, чтобы сформировать потоки битов, при этом этап кодирования основного слоя, этап кодирования слоя выделения сигнала из шумов и этап последовательного кодирования выполняют таким образом, что дополнительная информация и квантованные данные, соответствующие подлежащему кодированию слою, представлены цифрами одинакового заданного числа и затем их подвергают арифметическому кодированию с помощью заданной вероятностной модели в порядке от последовательностей самых старших разрядов до последовательностей самых младших разрядов; причем дополнительная информация содержит масштабные коэффициенты и вероятностные модели, подлежащие использованию в арифметическом кодировании. Функциональная программа, код и сегменты кода, используемые для осуществления данного изобретения, могут быть разработаны квалифицированным компьютерным программистом исходя из данного описания изобретения.
Согласно данному изобретению при использовании обычного аудиоалгоритма, такого как стандарты MPEG-2 ААС для обеспечения масштабируемости модифицируют только узел кодирования без потерь.
Поскольку используют обычный аудиоалгоритм, упрощается работа, необходимая для осуществления данного изобретения.
Поскольку потоки битов являются масштабируемыми, один поток битов может содержать различные потоки битов, имеющие несколько скоростей передачи данных в битах. При условии комбинирования данного изобретения со стандартами ААС на скорости верхнего слоя можно достичь почти идентичное качество звука.
Поскольку кодирование выполняют в соответствии со значимостью битов квантования вместо выполнения кодирования после обработки разницы между квантованными сигналами предшествующего слоя и первоначального сигнала для каждого слоя, то снижается усложненность устройства кодирования.
Поскольку один поток битов содержит несколько потоков битов, имеется возможность простого формирования потоков битов для разных слоев и снижается усложненность транскодера.
При снижении скорости передачи данных в битах из-за ограниченной ширины полосы значительно снижается усложненность фильтра, так как именно он обусловливает сложное кодирование и декодирование. Соответственно уменьшается усложненность устройства кодирования и декодирования.
Помимо этого, можно регулировать потоки битов или усложненность в соответствии с рабочими характеристиками пользовательских декодеров, в соответствии с шириной полосы частот/перегруженностью каналов передачи, либо по запросу пользователя.
По различным просьбам пользователя формируют гибкие потоки битов. Другими словами, по запросу пользователя информацию для скоростей передачи данных в битах разных слоев комбинируют с одним потоком битов без перекрытия, тем самым обеспечивая потокам битов хорошее качество звука. При этом между передающим и приемным оконечными устройствами преобразователь не нужен. Кроме этого, можно учитывать любое состояние каналов передачи и разные просьбы пользователя.
Способ и устройство относятся к средствам масштабируемого кодирования/декодирования звука. Техническим результатом является повышение качества звука. Для кодирования аудиосигнала в состоящие из нескольких слоев потоки данных, имеющие основной слой и по меньшей мере один слой выделения сигнала из шумов, в предлагаемом способе кодирования осуществляют этапы временного/частотного отображения входных аудиосигналов, квантования спектральных данных одним и тем же масштабным коэффициентом для каждой заданной полосы частот масштабного коэффициента и упаковки квантованных данных в потоки битов, причем этап формирования потока битов содержит этапы кодирования квантованных данных, соответствующих основному слою, кодирования квантованных данных, соответствующих следующему слою выделения сигнала из шумов в кодированном основном слое, и остающихся квантованных данных, не кодированных из-за ограничения размера слоя и относящихся к кодированному слою, и выполнение этапа кодирования слоя для всех слоев выделения сигнала из шумов для формирования потоков битов. 4 с. и 22 з.п. ф-лы, 6 ил., 67 табл.