RU2765886C1 - Кодирование и декодирование положений спектральных пиков - Google Patents
Кодирование и декодирование положений спектральных пиков Download PDFInfo
- Publication number
- RU2765886C1 RU2765886C1 RU2021114936A RU2021114936A RU2765886C1 RU 2765886 C1 RU2765886 C1 RU 2765886C1 RU 2021114936 A RU2021114936 A RU 2021114936A RU 2021114936 A RU2021114936 A RU 2021114936A RU 2765886 C1 RU2765886 C1 RU 2765886C1
- Authority
- RU
- Russia
- Prior art keywords
- spectral peak
- spectral
- positions
- coding scheme
- bits
- Prior art date
Links
- 230000003595 spectral effect Effects 0.000 title claims abstract description 226
- 230000005236 sound signal Effects 0.000 claims abstract description 61
- 238000009826 distribution Methods 0.000 claims abstract description 42
- 230000000737 periodic effect Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 41
- 239000013598 vector Substances 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 230000001413 cellular effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Настоящее изобретение относится к области вычислительной техники. Технический результат заключается в снижении количества битов, используемых при беспотерьной схеме кодирования и декодирования положений спектральных пиков. Технический результат достигается за счёт определения, какую из двух схем кодирования положений спектральных пиков без потерь использовать для кодирования положений спектральных пиков сегмента аудиосигнала, причем первая схема кодирования положений спектральных пиков без потерь подходит для периодических или полупериодических распределений положений спектральных пиков, а вторая схема кодирования положений спектральных пиков без потерь подходит для разреженных распределений положений спектральных пиков; выбора второй схемы кодирования положений спектральных пиков, если максимальное расстояние между двумя спектральными пиками в сегменте аудиосигнала превышает порог; выбора схемы кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудиосигнала, если максимальное расстояние не превышает порог; и указания выбранной схемы кодирования декодеру в ассоциации с кодированными положениями спектральных пиков. 5 н. и 7 з.п. ф-лы, 16 ил., 1 табл.
Description
Область техники
Предлагаемая технология в целом относится к кодированию/декодированию сегмента аудио сигнала и, в частности, к кодированию/декодированию положений спектральных пиков.
Уровень техники
Многие технологии кодирования аудио используют характеристики человеческого слуха. Например, слабый тональный сигнал вблизи сильного тонального сигнала может не нуждаться в кодировании, так как слуховая система человека менее чувствительна к таким слабым тональным сигналам. В традиционном, так называемом перцепционном кодировании аудио, квантование различных частотных данных основано на моделях человеческого слуха. Например, перцепционно важные частотные данные выделяют больше битов и лучше квантуются, и наоборот.
Одним типом кодирования аудио является так называемое кодирование с преобразованием. В кодировании с преобразованием, блок входных аудио выборок преобразуется, например, через модифицированное дискретное косинусное преобразование, обрабатывается и квантуется. Квантование преобразованных коэффициентов выполняется на основе перцепционного значения. Один параметр аудио, который должен быть закодирован, является положением спектральных пиков. Пример положений спектральных пиков для звукового сегмента, в области преобразования, показан на фигуре 1а. Положения спектральных пиков обычно кодируются с использованием беспотерьной схемы кодирования, такой как кодирование по алгоритму Хаффмана. Однако известные решения в области техники потребляют много битов при кодировании спектральных пиков.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Было бы желательно кодировать положения спектральных пиков более эффективным способом, чем в известных решениях.
В соответствии с первым аспектом, предусмотрен способ кодирования сегмента аудио сигнала для кодирования положений спектральных пиков. Способ включает в себя определение, какая из двух беспотерьных схем кодирования положения спектрального пика, требует наименьшего количества битов для кодирования позиций спектральных пиков сегмента аудио сигнала; и выбор схемы кодирования положения спектрального пика, которая требует наименьшего количества битов для кодирования позиций спектральных пиков сегмента аудио сигнала. Первая из двух беспотерьных схем кодирования положения спектрального пика подходит для периодических или полупериодических распределений положений спектральных пиков; а вторая из двух беспотерьных схем кодирования положения спектрального пика подходит для разреженных распределений положений спектральных пиков. Это также справедливо для всех аспектов, описанных ниже.
В соответствии со вторым аспектом, предусмотрен кодер сегмента аудио сигнала для кодирования положений спектральных пиков. Кодер сконфигурирован определять, какая из двух беспотерьных схем кодирования положения спектрального пика, требует наименьшего количества битов для кодирования позиций спектральных пиков сегмента аудио сигнала; и далее выбирать схему кодирования положения спектрального пика, которая требует наименьшего количества битов для кодирования позиций спектральных пиков сегмента аудио сигнала.
В соответствии с третьим аспектом, предусмотрен пользовательский терминал, который включает в себя кодер сегмента аудио сигнала в соответствии со вторым аспектом.
В соответствии с четвертым аспектом, предусмотрен способ декодирования сегмента аудио сигнала для декодирования положений спектральных пиков. Способ включает в себя прием закодированных позиций спектральных пиков сегмента аудио сигнала; а также прием индикатора беспотерьной схемы кодирования, из двух беспотерьных схем кодирования, которая была выбрана кодировать положения спектральных пиков. Способ дополнительно включает в себя декодирование положения спектральных пиков в соответствии с указанной схемой кодирования.
В соответствии с пятым аспектом, предусмотрен декодер сегмента аудио сигнала для декодирования положений спектральных пиков. Декодер сконфигурирован с возможностью принимать кодированные положения спектральных пиков сегмента аудио сигнала; и дополнительно принимать индикатор беспотерьной схемы кодирования, из двух беспотерьных схем кодирования, которая была выбрана кодировать положения спектральных пиков. Декодер дополнительно сконфигурирован декодировать положения спектральных пиков в соответствии с указанной схемой кодирования.
В соответствии с шестым аспектом, предусмотрен пользовательский терминал, который включает в себя декодер сегмента аудио сигнала в соответствии с пятым аспектом.
Краткое описание чертежей
Варианты осуществления, вместе с дополнительными объектами и их преимуществами могут быть лучше поняты с помощью ссылки на следующее описание взятое вместе с сопровождающими чертежами, на которых:
Фигуры 1а и 1b являются примерами распределений положений спектральных пиков.
Фигуры 2-4 являются блок-схемами, иллюстрирующими поясняющие варианты осуществления способа кодирования предлагаемой технологии.
Фигуры 5-9 являются блок-диаграммами, иллюстрирующими поясняющие варианты осуществления предлагаемого кодера.
Фигуры 10 является блок-диаграммой, иллюстрирующей вариант осуществления предлагаемого пользовательского терминала.
Фигуры 11 является блок-схемой, иллюстрирующей вариант осуществления способа декодирования предлагаемой технологии.
Фигуры 12-15 являются блок-диаграммами, иллюстрирующими поясняющие варианты осуществления предлагаемого декодера.
Фигуры 16 является блок-диаграммой, иллюстрирующей вариант осуществления предлагаемого пользовательского терминала.
Подробное описание
На всех чертежах одинаковые ссылочные обозначения могут быть использованы для аналогичных или соответствующих элементов.
Предлагаемая технология имеет дело с беспотерьным кодированием положений спектральных пиков, извлеченных из короткого сегмента, например 10-40 мс, аудио сигнала. Предлагаемая технология также имеет дело с декодированием положений спектральных пиков, которые кодированы в соответствии с этой технологией.
Реализованные изобретателями обычные способы для кодирования положений спектральных пиков не учитывают тот факт, что положения пиков в аудио сигналах могут иметь очень резкие изменения в распределении, что делает неэффективным кодирование положения пиков с одной схемой кодирования. В некоторых случаях спектр может быть полупериодическим, что делает дифференциальные, или дельта схемы кодирования очень эффективными. В других случаях спектральные пики могут быть сгруппированы, оставляя большие разреженные области.
Основная концепция предлагаемой технологии заключается в использовании специализированных схем кодирования для различных распределений положений пиков, и переключении между схемами кодирования в замкнутом методе. Каждая из различных схем кодирования должна быть подходящей для конкретного распределения положений пиков. Подходящей подразумевается, например, схема кодирования, являющаяся особенно эффективной для определенного вида распределения спектральных пиков. Когда в данном документе указано, что схема кодирования A подходит для распределения пиков C, а схема кодирования B подходит для распределения пиков D, можно предположить, что А в целом является более эффективной, чем B для распределения пиков С, в то время как B в целом является более эффективной, чем A для распределения пиков D.
Предположим, что мы имеем набор N положений спектральных пиков {P1,P2,P3,…,PN}, который должен быть сжат и передан беспотерьным путем. Число пиков, а также их распределение меняется со временем. Примеры двух различных наборов положений спектральных пиков показаны на фигурах 1а и 1b.
Фигура 1а иллюстрирует распределение спектральных пиков, которое близко к периодическому. Этот случай эффективно обрабатывается, например, дельта кодированием, описанным ниже.
Фигура 1b иллюстрирует распределение спектральных пиков, которое является разреженным и имеет большое расстояние между двумя соседними пиками. Этот случай трудно обрабатывать с дельта кодированием вследствие большой дельта между пиками.
Авторами изобретения было обнаружено, что большие различия в количестве пиков и их распределения могут, с преимуществом, быть обработаны кодированием с альтернативным сжатием или схемами кодирования. Данный документ сфокусируется на двух поясняющих схемах кодирования, которые могут быть обозначены дельта кодированием и разреженным кодированием, и которые описаны ниже. Дельта кодирование в качестве альтернативы может быть обозначено периодическим кодированием. Тем не менее, также возможно использовать более двух схем кодирования, пригодных для различных распределений положений спектральных пиков.
Дельта кодирование
Эта схема кодирования подходит для распределений пиков, как проиллюстрировано на фигуре 1а, которые могут быть охарактеризованы как периодические или полупериодические или близкие к периодическим. Метод дельта кодирования является формированием разностей, которые в данном документе обозначены d или Δ, между последовательными положениями спектральных пиков Pj или {P1,P2,P3,…,PN} в и сегменте аудио сигнала, как:
Разности, также обозначаемые дельта, затем кодируются с использованием подходящего способа кодирования. Предпочтительный способ кодирования для разностей является кодированием Хаффмана. Предположим, что мы имеем M дельт разного размера. Они отображаются кодовыми комбинациями переменной длины, например,
Здесь, d(1) является разностью или шагом размера dj, который появляется наиболее часто, и поэтому отображается в самую короткую кодовую комбинацию "0", в то время как d(М) является очень редкой, и поэтому отображается самой длинной кодовой комбинацией "111110". В этом примере самая длинная кодовая комбинация требует 6 бит, но как более длинные, так и более короткие кодовые комбинации также возможны. Отображением наиболее частых дельт самой короткой кодовой комбинацией и редких дельт самой длинной кодовой комбинацией, будет минимизировать количество битов, используемых для кодирования дельт. Этот способ кодирования является эффективным до тех пор, пока не слишком много шагов различных размеров, которые появляются слишком часто. Иными словами: чем больше шагов различных размеров, более длинных кодовых слов появляется, и когда размеры шагов, отображенных длинными кодовыми комбинациями, часто появляются, эффективность способа кодирования уменьшается.
Кодовые комбинации Хаффмана передаются в декодер, и соответствующие дельты затем извлекаются декодером. Зная dj и Р(j-1), декодер может восстановить Pj итерацией.
В дополнение к дельтам, декодер должен знать исходное положение P0. Из-за введенных ограничений на минимальное расстояние между пиками, P0 рассматривается как частный случай. Например, может быть ограничение, что два соседних пика должны быть разделены, по меньшей мере, 2 пустыми положениями. Поскольку нет дельт более коротких, чем 3 в этом случае, никаких кодовых комбинаций Хаффмана не требуется для таких дельт в течение остатка сегмента или кадра. Тем не менее, самый первый пик в сегменте P0 аудио сигнала может появиться в начале шкалы (спектра) со смещением от нуля, которое меньше 3. Чтобы избежать этой проблемы, не добавляя количество кодовых комбинаций Хаффмана для этих возможных начальных дельт меньших, чем 3, смещение, определенное от -3, используется вместо смещения, определенного от 0. Таким образом, когда P0 расположен, например, в положении 1, используется кодовая комбинация для Δ=4. Результатом такой простой операции является то, что можно ограничить количество используемых кодовых комбинаций Хаффмана. Это позволит свести к минимуму длину используемых кодовых комбинаций Хаффмана, так как в общем случае, меньше кодовых комбинаций Хаффмана дают более короткие кодовые комбинации Хаффмана.
Разреженное кодирование
Эта схема кодирования подходит для распределений пиков иллюстрируемых на фигуре 1b, которые могут быть охарактеризованы как разреженные. Разреженным рассмотрено предположить то, которое может быть больше расстояния между последовательными пиками и пики которого не обязательно являются периодическими. Полагаем пример нижеследующего вектора положения спектрального пика, где единица "1" указывает на наличие пика, а нули "0" указывают на отсутствие пика:
В дельта кодировании это означало бы {P1=2 и P2=18}. Поясняющий вектор позиции пика выше должен иллюстрировать спектральные пики очень далекие друг от друга по отношению к другим пиковым разницам, хотя расстояние 16 не может рассматриваться очень далеким друг от друга в более аутентичном примере вектора.
Первый шаг этой схемы разреженного кодирования для формирования групп равных размеров, например, 5 бит:
Затем каждая группа проверяется на наличие ненулевых элементов, например, логическим сложением элементов внутри каждой группы. Результат сохраняется во втором битовом векторе, который в 5 раз короче. Этот битовый вектор иллюстрируется жирным шрифтом ниже, для более легкого отличия:
В этом примерном варианте осуществления, битовый поток, который должен быть передан в декодер, будет выглядеть следующим образом:
Декодер считывает сигнальный слой "1001" из битового потока. Эти 4 бита указывают на то, что будет следовать в битовом потоке, являющемся описанием 1-й и 4-й группы, в то время как 2-я и 3-я группы должны быть заполнены с нулями.
Из-за указанных выше ограничений в минимально допустимом расстоянии между двумя последовательными пиками, вышеописанная схема может быть изменена, чтобы достигнуть в дальнейшем, все еще беспотерьное, сжатие усиления. Поскольку существует только 8 возможных уровней для каждого 5-размерного вектора, в связи с ограничением, что пики должны быть разделены по меньшей мере двумя положениями, эти векторы могут быть индексированы только с 3 битами, см. Таблицу 1 ниже. В этом варианте осуществления битовый поток выглядит следующим образом:
и вместо 5 бит, как показано в примере выше, только 3 бита требуются для идентификации каждой ненулевой группы битов.
Таблица 1: Индексация 5-размерных векторов. 3-битный индекс извлекается из битового потока и соответствующий 5-размерный вектор, обозначающий группу выше и в таблице, восстанавливается.
Таблица 1 | |
группа | индекс |
10000 | 000 |
01000 | 001 |
00100 | 010 |
00010 | 011 |
00001 | 100 |
10010 | 101 |
10001 | 110 |
01001 | 111 |
Альтернативная беспотерьная схема разреженного кодирования положений спектральных пиков может быть основана на логической операции логического сложения битов, как это описано в [1].
Каждая схема кодирования, описанная выше, имеет проблемы для некоторых распределений положений пиков:
Проблемой, связанной со схемой разреженного кодирования является то, что она может фактически увеличить объем данных, если вход недостаточно разреженный.
Проблемой, связанной со схемой дельта кодирования, является то, что она очень неэффективна для выбросов, например, очень большие шаги дельта, когда большинство расстояний невелики.
Тем не менее, две схемы кодирования, описанные выше, можно рассматривать как дополнение друг друга, и это было реализовано авторами изобретения, которыми очень эффективная система кодирования может быть сформирована объединением их сильных сторон. Пример замкнутого логического решения приведен ниже:
где
Ld является общим количеством битов, потребляемых схемой дельта кодирования,
Ls является общим количеством битов, потребляемых схемой разреженного кодирования.
Логика (8) решения требует, чтобы обе схемы кодирования на самом деле могли быть выполнены. В некоторых случаях, когда наибольшее расстояние dmax между двумя последовательными пиками больше, чем наибольшее расстояние Т, которое возможно для дельта кода, основанного на предварительно сохраненной таблице Хаффмана, общее число битов Ld потребляемых схемой дельта кодирования не может быть явно вычислено. Для покрытия таких случаев логика решения (8) может быть немного изменена в:
Первую часть условия ИЛИ в логике (9) решения можно рассматривать в качестве ярлыка, так как дельта кодирование не должно быть точно выполнено, если расстояние dmax>Т. Иными словами: когда критерий dmax>Т выполняется для сегмента аудио сигнала или кадра, дельта кодирование не должно быть выполнено, и может быть решено использовать разреженное кодирование без сравнения результата с обоих способов кодирования. То есть, в этом случае Ld может считаться больше, чем Ls по умолчанию, и только разреженное кодирование должно быть выполнено.
Фигуры 2 и 3 являются блок схемами, иллюстрирующими способ предлагаемой технологии по меньшей мере по одному из вариантов осуществления. Способ предназначен для выполнения аудиокодером, который может также быть обозначен аудио кодировщиком, выполненным кодировать сегменты аудио сигнала. В этом варианте осуществления логика (9) решения реализована, и поясняющее количество беспотерьных схем кодирования две. Способ включает в себя определение 201, какая из двух беспотерьных схем кодирования положений спектральных пиков требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала; и выбор 202 схемы кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала. Этот вариант осуществления также может быть описан более подробно, со ссылками на фигуру 3. В действии 301 определяется, является или нет dmax, в качестве альтернативы обозначается Δmax, больше, чем Т; (dmax>T). Условие может, очевидно, в качестве альтернативы быть сформулировано, например, как dmax≥T'. Когда dmax больше, чем Т, разреженное кодирование выбирается 304, и положения спектральных пиков могут быть закодированы с использованием схемы разреженного кодирования. Это позволяет принимать решение о том, какие схемы кодирования использовать перед кодированием положений спектральных пиков при dmax>Т. Дельта кодирование может быть сконфигурировано для эффективного кодирования дельт, которые меньше, чем T, в то время как не обязательна обработка дельт больше, чем T. Другими словами, размер таблицы Хаффмана может быть оптимизирован вместе со схемой разреженного кодирования положений пиков, так что используется эффективность схемы разреженного кодирования для дельт выше определенного размера, тем самым такие дельты не представлены в таблице Хаффмана. Эта оптимизация приводит к общему короткому размеру кодовой комбинации в таблице Хаффмана, что очень полезно для эффективности кодирования. Схема разреженного кодирования является схемой кодирования требующей наименьшего количества битов для dmax>Т.
Когда dmax не больше, чем Т, то есть, когда условие 301 не будет выполнено; положения спектральных пиков кодируются 302 с использованием обеих схем кодирования. То есть позиции спектральных пиков закодированы с использованием дельта кодирования и разреженного кодирования, соответственно передаются два различных результата. Каждая из схем кодирования требует определенного числа битов, Ld и Ls вышеуказанные, чтобы кодировать текущий набор позиций спектральных пиков. Это число битов может быть наблюдаемо и количества могут быть сравнены, чтобы определить, какая схема кодирования была наиболее эффективной для текущего распределения пиков. На основании соответствующего числа битов, требуемых для различных способов, может быть определено, какие схемы кодирования требуют наименьшее количество битов для кодирования текущего набора положений спектральных пиков, и схема кодирования, которая требует наименьшее количества битов, может быть выбрана 303. Определение, т.е. сравнение требуемого числа битов, в данном случае, можно было бы рассматривать как включение в действии 303, либо в действие 302. Выбранная схема кодирования, либо выбирание в действии 304, либо в действии 303, может затем быть указана 306 на декодере совместно с кодированными положениями спектральных пиков. То есть, в связи с передачей версии кодированных положений спектральных пиков, которые были закодированы с использованием выбранной схемы кодирования. Закодированная версия с другой стороны, не выбрана, схема кодирования не будет использоваться и может быть отброшена.
Дельта кодирование, которое также может быть обозначено первой из двух беспотерьных схем кодирования положений спектральных пиков, подходит для кодирования периодических или полупериодических распределений положений спектральных пиков; а разреженное кодирование, которое также может быть обозначено второй из двух беспотерьных схем кодирования положений спектральных пиков, подходит для разреженных распределений положений спектральных пиков. Дельта кодирование предпочтительно включает в себя дельта кодирование положений пиков и кодирование Хаффмана кодов дельт, как описано выше. Это может альтернативно упоминаться как кодирование дельта-Хаффмана.
Схема разреженного кодирования положений спектральных пиков может, как описано выше, содержать деление битового вектора, представляющего положения спектральных пиков в последовательные равного размера битовые группы (см. выражение (4)); логического сложение битов в каждой группе битов для формирования группы битовых векторов (см. выражение (5)); сжатие ненулевых битовых групп использованием ограничений в минимально допустимом расстоянии между двумя последовательными пиками (см. выражение (6), и таблица 1); и дальнейшее формирование сжатого битового вектора объединением групп битовых векторов и сжатых ненулевые битовых групп (см. выражение (7)). Термин «логическое сложение» здесь также рассматривается, чтобы охватить варианты, где биты в группе проверяются на единицы "1" некоторым другим путем, что дает такой же результат, что и «логическое сложение». Например, биты группы могут быть проверены один за другим, а если "1" обнаружена, то группа определяется как ненулевая битовая группа.
Фигура 4 является блок схемой, иллюстрирующей способ предлагаемой технологии в соответствии с вариантом выполнения, по меньшей мере, логики (8) решения, описанной выше. Этап 401 кодирует положения спектральных пиков сегмента аудио сигнала в соответствии с, по меньшей мере, двумя беспотерьными схемами кодирования положений спектральных пиков, пригодными для различных распределений положений спектральных пиков. Этап 402 выбирает схему кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала. Действия 401 и 402 могут быть идентичны действиям 302 и 303 на фигуре 3.
Этапы, функции, процедуры, модули, единицы и/или блоки, описанные в данном документе, могут быть реализованы в аппаратных средствах с использованием любой известной технологии, такой как технология дискретной схемы или интегральной схемы, включающей в себя как электронные схемы общего назначения, так и схемы специализированного применения.
Конкретные примеры включают в себя один или более сконфигурированных соответствующим образом процессоров цифровой обработки сигналов и других известных электронных схем, например дискретные логические элементы, соединенные между собой для выполнения специализированной функции, или специализированные интегральные схемы (ASIC).
В качестве альтернативы, по меньшей мере, некоторые из этапов, функций, процедур, модулей, единиц и/или блоков, описанных выше, могут быть реализованы в программном обеспечении, таком как компьютерная программа для исполнения подходящей схемы обработки, включающей в себя один или более блоков обработки.
Блок-диаграмма или диаграммы, представленные в данном документе, могут рассматриваться как компьютерная блок-диаграмма или диаграммы, когда выполняются одним или более процессорами. Соответствующее устройство может быть определено как группа функциональных модулей, где каждый этап, выполняемый процессором, соответствует функции модуля. В этом случае функциональные модули реализованы в виде компьютерной программы, работающей на процессоре.
Примеры схем обработки включают в себя, но не ограничиваются этим, один или более микропроцессоров, один или более цифровых сигнальных процессоров, ЦСП, один или более Центральных процессоров, ЦП, аппаратное ускорение видео, и/или любую подходящую программируемую логическую схему, такую, как одна или более программируемых логических интегральных схем, ПЛИС, или один или более программируемых логических контроллеров, ПЛК.
Следует также понимать, что может быть возможно повторное использование общих возможностей обработки любого обычного устройства или блока, в котором реализуется предлагаемая технология. Кроме того, может быть обеспечено повторное использование существующего программного обеспечения, например, перепрограммированием существующего программного обеспечения или добавлением новых компонентов программного обеспечения.
Варианты осуществления, описанные в данном документе, также относятся к кодеру, выполненному с возможностью кодирования аудио сигналов. Кодер сконфигурирован выполнять, по меньшей мере, один вариант осуществления способа, выполняемого кодером, описанным выше. Кодер связан с теми же техническими характеристиками, объектами и преимуществами, как способ, описанный выше и проиллюстрированный, например, на фигуре 3. Кодер будет описан вкратце, чтобы избежать ненужных повторений.
Ниже, предлагаемый кодер 500, сконфигурированный запускать выполнение описанного выше способа для кодирования положений спектральных пиков, будет описан со ссылкой на фигуру 5. Кодер может быть включен в терминал пользователя или включен в сетевой узел, такой как шлюз. Кодер 500 может предполагаемо быть сконфигурированным с функциональными возможностями для выполнения двух беспотерьных схем кодирования положений спектральных пиков, описанных выше.
Фигура 5 является блок-диаграммой, иллюстрирующей вариант осуществления предлагаемого кодера 10. Этот вариант осуществления включает в себя средства обработки в виде процессора 22 и накопителя 24. Накопитель включает в себя инструкции, например, в виде компьютерной программы, которая при исполнении средства обработки приводит кодер 10 к определению, какая из двух беспотерьных схем кодирования положений спектральных пиков требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала. Предпочтительно кодер 10 сконфигурирован применять логику (9) решения, описанную выше. Это может быть осуществлено как определение, превышает ли параметр dmax порог, и если нет, то сравнение, после кодирования положений спектральных пиков с обеих схем кодирования, количества битов, требуемых двумя схемами кодирования для кодирования положений спектральных пиков. Выполнение инструкции дополнительно приводит кодер 10 к выбору схемы кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала. Кодер 10 сконфигурирован с двумя схемами кодирования, которые могут также быть частью инструкции, хранящейся в накопителе 24, или, альтернативно, быть сохранены или реализованы в какой-либо другой части кодера (не показана). Как и прежде, первая из двух беспотерьных схем кодирования положений спектральных пиков подходит для периодических или полупериодических распределений положений спектральных пиков; а вторая из двух беспотерьных схем кодирования положений спектральных пиков подходит для разреженных распределений положений спектральных пиков. Это также может быть описано как кодер 10 выполнен кодировать спектральные пики в двух различных режимах кодирования.
Инструкции могут быть сохранены в виде компьютерного программного продукта 20 на машиночитаемом носителе (реальном энергонезависимом носителе) и могут быть переданы в накопитель 24, как показано пунктирной стрелкой на левой стороне фигуры. Сегмент аудио сигнала передается в процессор 22 через блок ввода IN, а кодированные положения спектральных пиков передаются в декодер через выходной блок OUT. Выбранная схема кодирования может быть непосредственно сообщена в декодер, как показано пунктирной стрелкой на фигуре 5, или в качестве альтернативы, она может быть опознана в декодере пробным декодированием принятого битового потока в возможных режимах декодирования и выбора одного, который был успешным. Первая альтернатива является менее сложной, но требует большей пропускной способности. Вторая альтернатива требует меньше пропускной способности, но является более сложной. Подобные альтернативы применимы и к другим вариантам осуществления, описанным ниже.
Альтернативный вариант осуществления кодера 10, показан на фигуре 6. Фигура 6 иллюстрирует кодер 10, выполненный кодировать аудио сигналы. Кодер 10 включает в себя блок 603 определения сконфигурированный определять, какая из двух беспотерьных схем кодирования положений спектральных пиков требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала. Кодер 10 также содержит блок 604 выбора, сконфигурированный выбирать схему кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала.
Фигура 7 является блок диаграммой, иллюстрирующей поясняющий вариант осуществления предлагаемого кодера 10. Кодер 10 сконфигурирован выполнять способ для кодирования положений спектральных пиков, реализующий, по меньшей мере, логику (8) решения, как описано выше. Сегмент аудио сигнала передается на блок 16 анализа сигналов, который анализирует сегмент для целей кодирования. Один из извлеченных признаков из этого анализа является набором положений спектральных пиков. Этот анализ может быть выполнен использованием подходящего способа известного из уровня техники. Эти положения спектральных пиков пересылаются кодеру 12 положений спектральных пиков, сконфигурированному кодировать положения спектральных пиков сегмента аудио сигнала в соответствии с, по меньшей мере, двумя беспотерьными схемами кодирования положений спектральных пиков, пригодными для различных распределений положений спектральных пиков. Общее количество битов каждой схемы кодирования, то есть количество битов, требуемых соответствующему способу кодирования положений спектральных пиков, переданных в схему кодирования селектора 14, сконфигурированного выбирать схему кодирования положений спектральных пиков, которая требует наименьшее количество битов для кодирования положений спектральных пиков сегмента аудио сигнала. Выбранные кодированные положения спектральных пиков передаются в выходной блок 18 и направляются в декодер.
Фигура 8 является блок диаграммой, иллюстрирующей другой вариант осуществления предлагаемого кодера 10. Набор положений спектральных пиков передается в кодер 10, который включает в себя модуль 12 кодирования положений спектральных пиков для кодирования положений спектральных пиков сегмента аудио сигнала в соответствии с, по меньшей мере, двумя беспотерьными схемами кодирования положений спектральных пиков, пригодными для различных распределений положений спектральных пиков. Кодер 10 также включает в себя модуль 14 выбора схемы кодирования для выбора схемы кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудио сигнала. Выбранные кодированные положения спектральных пиков передаются в декодер. Выбранная схема кодирования может также быть указана на декодер, как было отмечено выше.
Когда кодер 10 сконфигурирован поддерживать логику (9) решения, описанную выше, модуль 14 выбора схемы кодирования должен быть дополнительно сконфигурирован определять, какая из, по меньшей мере, двух беспотерьных схем кодирования положений спектральных пиков требует наименьшего количества битов, чтобы кодировать положения спектральных пиков, также в зависимости от критерия, связанного с максимальным расстоянием между двумя последовательными положениями пиков. То есть, модуль 14 выбора схемы кодирования должен быть сконфигурирован определять, перед кодированием положений спектральных пиков, превышает ли максимальное расстояние dmax заданный порог или нет, и принять меры в соответствии с результатом, фигура 3.
Фигура 9 является блок диаграммой, иллюстрирующей другой вариант осуществления предлагаемого кодера 10. Этот вариант осуществления основан на процессоре 22, например, микропроцессоре, который выполняет компьютерную программу 30 для кодирования положений спектральных пиков сегмента аудио сигнала. Компьютерная программа хранится в накопителе 24. Процессор 22 осуществляет связь с накопителем через системную шину. Поступающие сегменты аудио сигнала принимают контроллером 26 ввода/вывода (I/O), контролируемым I/O шиной, к которой подсоединены процессор 22 и накопитель 24. Кодированные положения спектральных пиков, полученные от программного обеспечения 30, выводятся из накопителя 24 I/O контроллером 26 через I/O шину. Компьютерная программа 30 включает в себя блок 32 кодирования для кодирования положений спектральных пиков сегмента аудио сигнала в соответствии с двумя беспотерьными схемами кодирования положений спектральных пиков, подходящими для различных распределений положений спектральных пиков, и блок 34 кодирования для определения и выбора схемы кодирования положений спектральных пиков, требующей наименьшего количества битов, чтобы кодировать положения спектральных пиков сегмента аудио сигнала.
Компьютерная программа, находящаяся в накопителе, может быть организована в виде соответствующих функциональных модулей, сконфигурированных производить, когда выполняются процессором, по меньшей мере, часть этапов и/или задач, описанных выше. Примеры таких функциональных модулей проиллюстрированы на фигуре 8. Программное обеспечение или компьютерная программа могут быть реализованы в виде компьютерного программного продукта, который, как правило, перевозится или хранится на машиночитаемом носителе (реальном энергонезависимом носителе). Машиночитаемый носитель информации может включать в себя одно или более съемных или несъемных запоминающих устройств, включая, но не ограничивая этим, постоянное запоминающее устройство, ROM, запоминающее устройство с произвольной выборкой, RAM, компакт-диск, CD, цифровой универсальный диск, DVD, универсальную последовательную шину, USB, накопитель, жесткий диск, HDD, устройство хранения данных, флэш накопитель, или любое другое обычное устройство памяти. Компьютерная программа может таким образом быть загружена в оперативную память компьютера или эквивалентного устройства обработки для ее исполнения схемой обработки.
Например, компьютерная программа включает в себя инструкции, исполняемые схемой обработки, тем самым схема обработки может или исполняет этапы, функции, процедуры и/или блоки, описанные в данном документе. Компьютер или схема обработки не должны быть посвящены только исполнению этапов, функций, процедур и/или блоков, описанных в данном документе, но могут также выполнять другие задачи.
Предлагаемая технология также включает в себя пользовательский терминал, включающий в себя кодер сегмента аудио сигнала, как описанный выше. Пользовательский терминал может быть проводным или беспроводным устройством.
Используемый в данном документе термин "беспроводное устройство" может относиться к оборудованию пользователя, UE, мобильному телефону, сотовому телефону, карманному персональному компьютеру, КПК, оснащенному с возможностями радиосвязи, смартфон, ноутбук или персональный компьютер, ПК, оборудованный внутренним или внешним мобильным широкополосным модемом, планшетным ПК с возможностями радиосвязи, портативное электронное устройство радиосвязи, датчик устройства, оснащенный возможностями радиосвязи или тому подобное. В частности, термин «UE» следует интерпретировать как не ограничивающий термин, включающий любое устройство, имеющее схемы радиосвязи для беспроводной связи в соответствии с любым соответствующим стандартом связи.
Используемый в данном документе термин "проводное устройство" может относиться к, по меньшей мере, некоторым из указанных выше устройств, с или без возможности радиосвязи, например ПК, когда он сконфигурирован для проводного подключения к сети.
Фигура 10 является блок диаграммой, иллюстрирующей вариант осуществления предлагаемого пользовательского терминала 50. Пример иллюстрирует UE. Аудио сигнал от микрофона передается к аналоговому/цифровому преобразователю A/Ц, и цифровой сигнал обрабатывается кодером 10 в соответствии с предлагаемой технологией. В частности, кодер 10 кодирует положения спектральных пиков сегментов аудио сигнала, как описано выше (обычно кодер может выполнять другие задачи, такие как частотное преобразование сегментов аудио сигнала и кодирование других параметров, описывающих сегмент, но эти задачи не описаны, так как они хорошо известны из уровня техники и не формируют существенную часть предлагаемой технологии). Кодированные положения спектральных пиков (и другие параметры), которые передают в блок 40 радиосвязи для передачи в декодер. Опционально выбранная схема кодирования может также быть направлена на декодер, как было отмечено выше.
Варианты осуществления, описанные в данном документе, также относятся к способу декодирования сегмента аудио сигнала для декодирования положений спектральных пиков. Способ является соответствующим способом к ранее описанному способу кодирования.
Фигура 11 является блок схемой, иллюстрирующей вариант осуществления способа декодирования предлагаемой технологии. В действии 1101 принимают кодированные положения спектральных пиков сегмента аудио сигнала. В действии 1102 принимают индикатор схемы кодирования, которая была выбрана для кодирования положений спектральных пиков. В действии 1103, положения спектральных пиков декодируются в режиме декодирования, который соответствует указанной схеме кодирования. Это может также быть выражено как то, что положения спектральных пиков декодируются в соответствии с указанной схемой кодирования, то есть использованием схемы декодирования, соответствующей указанной схеме кодирования. Указанная схема кодирования является одной из двух беспотерьных схем кодирования спектральных пиков, где, как и прежде, первая из двух беспотерьных схем кодирования положений спектральных пиков подходит для периодических или полупериодических распределений положений спектральных пиков; а вторая из двух беспотерьных схем кодирования положений спектральных пиков подходит для разреженных распределений положений спектральных пиков.
Когда указывается схема кодирования подходящая для разреженных распределений положений спектральных пиков, кодированные положения спектральных пиков могут быть приняты в виде группового битового вектора и сжатых ненулевых битовых групп, указанных групповым битовым вектором. Это соответствует схеме разреженного кодирования, как это было описано ранее. Соответствующие позиции в групповом битовом векторе могут затем представлять последовательные равного размера группы битов. Дополнительно, группа равного размера, которая включает в себя спектральный пик, должна быть отделима от группы равного размера, которая не включает в себя спектральный пик. Группа равного размера, которая содержит спектральный пик, может также обозначать ненулевую битовую группу, и указывается по-разному в групповом битовом векторе, чем группа равного размера не включающая в себя спектральный пик. Например, ненулевая битовая группа может быть отмечена "1", а группа не содержащая спектральный пик может быть отмечена "0" в групповом битовом векторе, как и в выражениях (5)-(7) выше.
Ненулевые битовые группы, если таковые указаны в групповом битовом векторе, могут затем быть распакованы основываясь на ограничениях в минимально допустимое расстояние между двумя последовательными пиками. То есть ненулевые битовые группы, которые могут быть объединены в групповой битовый вектор в сжатом виде, могут быть распакованы обратным отображением использованием, например, таблицы, такой как таблица 1, описанная выше. Из-за ограничений или запретов в отношении минимально допустимого расстояния между пиками не все последовательности возможны для ненулевых битовых групп, и, таким образом, каждая возможная последовательность может быть отображена более короткой последовательностью, т.е. сжата, как было описано выше.
"Нулевые-битовые" группы, то есть группы, не содержащие каких-либо спектральных пиков, если таковые указаны в групповом битовом векторе, могут быть распакованы генерацией последовательности нулей. Такая последовательность нулей должна быть того же размера, что и распакованная ненулевая битовая группа, так как эти группы должны быть равного размера. Обычно нулевые битовые группы, указанные в групповом битовом векторе, учитывают, что схема разреженного кодирования или режим применяются для разреженных распределений спектральных пиков.
Когда указанная схема кодирования положений спектральных пиков является схемой кодирования, подходящей для периодических или полупериодических распределений положений спектральных пиков, декодирование принятых положений спектральных пиков может включать в себя декодирование по алгоритму Хаффмана и дельта декодирование, что соответствует ранее описанному кодированию. Размер таблицы Хаффмана, используемой для декодирования по алгоритму Хаффмана может быть оптимизирован вместе со второй схемой кодирования положений спектральных пиков, как описано выше.
В альтернативных вариантах осуществления, когда кодер не указывает выбранную схему кодирования декодеру, способ декодирования предлагаемой технологии может включать в себя так называемое пробное декодирование положений спектральных пиков в двух режимах декодирования положений спектральных пиков, подходящих для различных распределений положений спектральных пиков. Схема декодирования или режим имеют результатом успешно декодированный набор положений спектральных пиков предположительно соответствует выбранной схеме кодирования.
Варианты осуществления, описанные в данном документе, также относятся к декодеру, сконфигурированному декодировать аудио сигналы. Декодер сконфигурирован выполнять, по меньшей мере, один вариант осуществления способа декодирования сегмента аудио сигнала для декодирования положений спектральных пиков, описанный выше. Декодер связан с теми же техническими характеристиками, объектами и преимуществами, как соответствующий кодер и способы кодирования и декодирования положений спектральных пиков, описанные выше. Декодер будет описан вкратце, чтобы избежать ненужных повторений.
Фигура 12 является блок диаграммой, иллюстрирующей вариант осуществления предлагаемого декодера 110 сегмента аудио сигнала. Входной блок 116 принимает кодированные положения спектральных пиков и индикатор схемы кодирования. Декодер 110 включает в себя декодер 112 положений спектральных пиков, сконфигурированный декодировать положения спектральных пиков в режиме декодирования, который соответствует указанному одному из двух режимов кодирования положений спектральных пиков, подходящих для различных распределений положений спектральных пиков. Выходной блок 118 выводит декодированные положения спектральных пиков. Для декодирования в определенном "режиме декодирования" может быть использована в качестве альтернативы схема декодирования, которая соответствует определенной указанной схеме кодирования, чтобы декодировать принятые кодированные положения спектральных пиков.
В одном варианте осуществления декодер 112 положений спектральных пиков сконфигурирован принимать закодированные положения спектральных пиков сегмента аудио сигнала; принимать индикатор схемы кодирования, которая была выбрана для кодирования положений спектральных пиков; и декодировать положения спектральных пиков в режиме декодирования, который соответствует указанной схеме кодирования. Последнее может альтернативно быть выражено, например, декодированием положений спектральных пиков на основе указанной схемы кодирования, или как декодирование положений спектральных пиков в соответствии с указанной схемой кодирования. Фигура 13 является блок диаграммой, иллюстрирующей другой вариант осуществления предложенного декодера 110 сегмента аудио сигнала. Кодированные положения спектральных пиков и индикатор схемы кодирования, передаются в модуль 112 декодирования положений спектральных пиков, который выводит декодированные положения спектральных пиков.
В одном варианте осуществления декодер 110 с фигуры 13 включает в себя модуль 112 декодирования положений спектральных пиков для декодирования принятых закодированных положений спектральных пиков сегмента аудио сигнала в положения спектральных пиков в режиме декодирования, который соответствует принятому индикатору схемы кодирования, которая была выбрана кодировать положения спектральных пиков.
В другом варианте осуществления декодер 110 с фигуры 13 включает в себя модуль 112 декодирования положений спектральных пиков для пробного декодирования принятых закодированных положений спектральных пиков сегмента аудио сигнала в положения спектральных пиков в, по меньшей мере, двух режимах декодирования положений спектральных пиков, подходящих для различных распределений положений спектральных пиков, и выводит набор успешно декодированных положений спектральных пиков.
Фигура 14 является блок диаграммой, иллюстрирующей другой вариант осуществления предлагаемого декодера. Этот вариант осуществления включает в себя процессор 22 и накопитель 24, где накопитель содержит инструкции исполняемые процессором. Выполнение инструкций делает декодер 110, сконфигурированный декодировать положения спектральных пиков в режиме декодирования, который соответствует одному из, по меньшей мере, двух режимов кодирования положений спектральных пиков, подходящих для различных распределений положений спектральных пиков. Инструкции могут быть сохранены как компьютерный программный продукт 120 на машиночитаемом носителе и передаваться в накопитель 24, как показано пунктирной стрелкой на правой стороне фигуры. Кодированные положения спектральных пиков и схема кодирования передаются в процессор 22 через блок ввода IN, а декодированные положения спектральных пиков, выводятся через выходной блок OUT.
В одном варианте осуществления выполнение инструкций процессором исполняет декодер по фигуре 14, сконфигурированный принимать кодированные положения спектральных пиков сегмента аудио сигнала; принимать индикатор схемы кодирования, которая была выбрана для кодирования положений спектральных пиков; и декодировать положения спектральных пиков в режиме декодирования, который соответствует указанной схеме кодирования.
Фигура 15 является блок диаграммой, иллюстрирующей другой вариант осуществления предлагаемого декодера 110. Этот вариант осуществления основан на процессоре 22, например, микропроцессоре, который выполняет компьютерную программу 130 для декодирования положений спектральных пиков сегмента аудио сигнала. Компьютерная программа хранится в накопителе 24. Процессор 22 осуществляет связь с накопителем через системную шину. Поступающие закодированные положения спектральных пиков и индикатор схемы кодирования, принимаются контроллером 26 ввода/вывода (I/O), управляемым I/O шиной, к которой подсоединены процессор 22 и накопитель 24. (Декодированные) положения спектральных пиков, полученные из программного обеспечения 130, выводятся из накопителя 24 I/O контроллером 26 через I/O шину. Компьютерная программа 130 включает в себя блок 132 кодирования для приема кодированных положений спектральных пиков сегмента аудио сигнала, в блок 134 кодирования для приема индикатора схемы кодирования, выбранной для кодирования положений спектральных пиков, и блок 136 кодирования для декодирования положений спектральных пиков в режиме декодирования, который соответствует указанной схеме кодирования. Последнее также может быть выражено следующим образом: для декодирования положений спектральных пиков в соответствии с указанной схемой кодирования.
Компьютерная программа, находящаяся в накопителе, может быть организована как соответствующие функциональные модули, сконфигурированные исполнять, когда выполняется процессором, по меньшей мере, часть этапов и/или задач, описанных выше. Пример таких функциональных модулей показан на фигуре 15.
Фигура 16 является блок диаграммой, иллюстрирующей вариант осуществления предложенного пользовательского терминала. Пример иллюстрирует UE. Радиосигнал из антенны передают в радиоблок 160, и цифровой сигнал от радиоблока обрабатывается декодером 110 в соответствии с предлагаемой технологией. В частности, декодер 110 декодирует кодированные положения спектральных пиков сегментов аудио сигнала, как описано выше (обычно кодер может выполнять другие задачи, например, декодирование других параметров, описывающих сегмент, но эти задачи не описаны, так как они хорошо известны из уровня техники и не составляют существенную часть предлагаемой технологии). Декодированные положения спектральных пиков (и другие параметры), которые передают в блок 142 восстановления сигнала, подключенного к динамику. Выбранная схема кодирования может быть также принята в декодере, как было отмечено выше.
Варианты осуществления, описанные выше, просто даны как примеры, и следует понимать, что предлагаемая технология не ограничивается этим. Специалистам в данной области техники должно быть понятно, что различные модификации, комбинации и изменения могут быть сделаны в вариантах осуществления, не выходя за рамки настоящего описания. В частности, различные части решения в различных вариантах осуществления могут быть объединены в других конфигурациях, где это технически возможно.
Ссылки
[1] D. Salomon, G. Motta, ʺHandbook of Data Compressionʺ, Fifth Edition, 2010, p. 1111.
Claims (33)
1. Способ кодирования положений спектральных пиков сегмента аудиосигнала, причем способ содержит:
определение (301, 302), какую из двух схем кодирования положений спектральных пиков без потерь использовать для кодирования положений спектральных пиков сегмента аудиосигнала, причем первая схема кодирования положений спектральных пиков без потерь подходит для периодических или полупериодических распределений положений спектральных пиков, а вторая схема кодирования положений спектральных пиков без потерь подходит для разреженных распределений положений спектральных пиков; и при этом определение основано на максимальном расстоянии dmax между двумя спектральными пиками в сегменте аудиосигнала и на сравнении количества битов, потребляемых первой и второй схемами кодирования для кодирования положений спектральных пиков;
выбор (304) второй схемы кодирования положений спектральных пиков, если максимальное расстояние dmax между двумя спектральными пиками в сегменте аудиосигнала превышает порог T;
выбор (303) схемы кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудиосигнала, если максимальное расстояние dmax не превышает порог T; и
указание (306) выбранной схемы кодирования декодеру в ассоциации с кодированными положениями спектральных пиков.
2. Способ по п. 1, в котором первая схема кодирования положений спектральных пиков без потерь содержит:
дельта-кодирование положений пиков;
кодирование по алгоритму Хаффмана дельта-кодов.
3. Способ по п. 1 или 2, причем порог T представляет наибольшее расстояние между двумя последовательными пиками, которое возможно кодировать посредством первой схемы кодирования, на основании предварительно сохраненной таблицы Хаффмана.
4. Способ по любому из пп. 1, 2, причем вторая схема кодирования положений спектральных пиков без потерь содержит:
деление битового вектора, представляющего положения спектральных пиков, в последовательные равного размера группы битов;
логическое сложение битов в каждой группе битов для формирования группового битового вектора;
сжатие ненулевых групп битов посредством использования ограничений в минимально допустимом расстоянии между двумя последовательными пиками; и
формирование сжатого битового вектора путем объединения группового битового вектора и сжатых ненулевых групп битов.
5. Аудиокодер (10) для кодирования положений спектральных пиков сегмента аудиосигнала, причем кодер выполнен с возможностью:
Определять, какую из двух схем кодирования положений спектральных пиков без потерь использовать для кодирования положений спектральных пиков сегмента аудиосигнала, причем первая схема кодирования положений спектральных пиков без потерь подходит для периодических или полупериодических распределений положений спектральных пиков, а вторая схема кодирования положений спектральных пиков без потерь подходит для разреженных распределений положений спектральных пиков; и
при этом определение основано на максимальном расстоянии dmax между двумя спектральными пиками в сегменте аудиосигнала и на сравнении количества битов, потребляемых первой и второй схемами кодирования для кодирования положений спектральных пиков;
выбирать вторую схему кодирования положений спектральных пиков, если максимальное расстояние dmax между двумя спектральными пиками в сегменте аудиосигнала превышает порог T;
выбирать схему кодирования положений спектральных пиков, которая требует наименьшего количества битов для кодирования положений спектральных пиков сегмента аудиосигнала, если максимальное расстояние dmax не превышает порог T; и
указывать выбранную схему кодирования декодеру в ассоциации с кодированными положениями спектральных пиков.
6. Аудиокодер по п. 5, причем первая схема кодирования положений спектральных пиков без потерь содержит:
дельта-кодирование положений пиков;
кодирование по алгоритму Хаффмана дельта-кодов.
7. Аудиокодер по п. 6, причем порог T представляет наибольшее расстояние между двумя последовательными пиками, которое возможно кодировать посредством первой схемы кодирования на основании предварительно сохраненной таблицы Хаффмана.
8. Аудиокодер по любому из пп. 5-7, причем вторая схема кодирования положений спектральных пиков без потерь содержит:
деление битового вектора, представляющего положения спектральных пиков, в последовательные равного размера группы битов;
логическое сложение битов в каждой группе битов для формирования группового битового вектора;
сжатие ненулевых групп битов посредством использования ограничений в минимально допустимом расстоянии между двумя последовательными пиками; и
формирование сжатого битового вектора путем объединения группового битового вектора и сжатых ненулевых групп битов.
9. Беспроводное устройство для кодирования сегмента аудиосигнала, содержащее аудиокодер по любому из пп. 5-8.
10. Беспроводное устройство по п. 9, причем беспроводное устройство является одним из: мобильного телефона, сотового телефона, персонального цифрового помощника, оснащенного возможностями радиосвязи, интеллектуального телефона, лэптопа, персонального компьютера (ПК), планшетного ПК с возможностями радиосвязи, портативного электронного устройства радиосвязи и устройства датчика, оснащенного возможностями радиосвязи.
11. Узел сети для кодирования сегмента аудиосигнала, содержащий аудиокодер по любому из пп. 5-8.
12. Машиночитаемый носитель, содержащий инструкции, которые, когда исполняются процессором, вынуждают процессор выполнять способ по любому из пп. 1-4.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361892652P | 2013-10-18 | 2013-10-18 | |
US61/892,652 | 2013-10-18 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017138252A Division RU2750644C2 (ru) | 2013-10-18 | 2014-10-10 | Кодирование и декодирование положений спектральных пиков |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2765886C1 true RU2765886C1 (ru) | 2022-02-04 |
Family
ID=51868288
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017138252A RU2750644C2 (ru) | 2013-10-18 | 2014-10-10 | Кодирование и декодирование положений спектральных пиков |
RU2016119007A RU2635876C1 (ru) | 2013-10-18 | 2014-10-10 | Кодирование и декодирование положений спектральных пиков |
RU2021114936A RU2765886C1 (ru) | 2013-10-18 | 2021-05-26 | Кодирование и декодирование положений спектральных пиков |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017138252A RU2750644C2 (ru) | 2013-10-18 | 2014-10-10 | Кодирование и декодирование положений спектральных пиков |
RU2016119007A RU2635876C1 (ru) | 2013-10-18 | 2014-10-10 | Кодирование и декодирование положений спектральных пиков |
Country Status (18)
Country | Link |
---|---|
US (3) | US9997165B2 (ru) |
EP (3) | EP3226242B1 (ru) |
JP (3) | JP6181863B2 (ru) |
KR (3) | KR101782278B1 (ru) |
CN (3) | CN110767241B (ru) |
AU (3) | AU2014337410B2 (ru) |
BR (1) | BR112016007515B1 (ru) |
CA (1) | CA2927877C (ru) |
DK (1) | DK3058567T3 (ru) |
ES (3) | ES2716756T3 (ru) |
MX (3) | MX368569B (ru) |
MY (1) | MY176776A (ru) |
PL (3) | PL3058567T3 (ru) |
PT (2) | PT3471096T (ru) |
RU (3) | RU2750644C2 (ru) |
TR (1) | TR201901696T4 (ru) |
WO (1) | WO2015057135A1 (ru) |
ZA (2) | ZA201801760B (ru) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2624586C2 (ru) * | 2012-03-29 | 2017-07-04 | Телефонактиеболагет Лм Эрикссон (Пабл) | Векторный квантователь |
US9997165B2 (en) * | 2013-10-18 | 2018-06-12 | Telefonaktiebolaget L M Ericsson (Publ) | Coding and decoding of spectral peak positions |
JP7535053B2 (ja) | 2019-10-16 | 2024-08-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 量子化スケール係数決定装置、及び、量子化スケール係数決定方法 |
US11342932B2 (en) * | 2020-05-13 | 2022-05-24 | Computational Systems, Inc. | Machine spectral data compression |
US11573967B2 (en) | 2020-07-20 | 2023-02-07 | Microsoft Technology Licensing, Llc | Enterprise knowledge graphs using multiple toolkits |
US11544323B2 (en) | 2020-07-20 | 2023-01-03 | Microsoft Technology Licensing, Llc | Annotations for enterprise knowledge graphs using multiple toolkits |
US20240048424A1 (en) * | 2020-12-14 | 2024-02-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Transform for communication symbols |
US11677416B2 (en) * | 2021-05-17 | 2023-06-13 | Radu Mircea Secareanu | Hardware implementable data compression/decompression algorithm |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181389B2 (en) * | 1999-10-01 | 2007-02-20 | Coding Technologies Ab | Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching |
WO2009078681A1 (en) * | 2007-12-18 | 2009-06-25 | Lg Electronics Inc. | A method and an apparatus for processing an audio signal |
US7684981B2 (en) * | 2005-07-15 | 2010-03-23 | Microsoft Corporation | Prediction of spectral coefficients in waveform coding and decoding |
RU2427978C2 (ru) * | 2006-02-21 | 2011-08-27 | Конинклейке Филипс Электроникс Н.В. | Кодирование и декодирование аудио |
KR20120009654A (ko) * | 2010-07-20 | 2012-02-02 | 한국과학기술원 | Wi?Fi 신호지문 데이터베이스 확보 방법 및 이를 위한 시스템 |
KR20120096541A (ko) * | 2008-07-18 | 2012-08-30 | 퀄컴 인코포레이티드 | 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치 |
CN101325060B (zh) * | 2007-06-14 | 2012-10-31 | 汤姆逊许可公司 | 频谱域中利用自适应切换的时间分辨率对音频信号编解码的方法和设备 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3155499B2 (ja) * | 1997-11-26 | 2001-04-09 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 光ディスクのビット変換の方法、復調方法および装置 |
JP3434260B2 (ja) * | 1999-03-23 | 2003-08-04 | 日本電信電話株式会社 | オーディオ信号符号化方法及び復号化方法、これらの装置及びプログラム記録媒体 |
JP2003530605A (ja) | 2000-04-06 | 2003-10-14 | テレフオンアクチーボラゲツト エル エム エリクソン(パブル) | 音声信号におけるピッチ推定 |
CA2388352A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for frequency-selective pitch enhancement of synthesized speed |
US20040260540A1 (en) * | 2003-06-20 | 2004-12-23 | Tong Zhang | System and method for spectrogram analysis of an audio signal |
FI119533B (fi) * | 2004-04-15 | 2008-12-15 | Nokia Corp | Audiosignaalien koodaus |
CN101656073B (zh) * | 2004-05-14 | 2012-05-23 | 松下电器产业株式会社 | 解码装置、解码方法以及通信终端和基站装置 |
US7930184B2 (en) * | 2004-08-04 | 2011-04-19 | Dts, Inc. | Multi-channel audio coding/decoding of random access points and transients |
US7885809B2 (en) * | 2005-04-20 | 2011-02-08 | Ntt Docomo, Inc. | Quantization of speech and audio coding parameters using partial information on atypical subsequences |
KR100851970B1 (ko) * | 2005-07-15 | 2008-08-12 | 삼성전자주식회사 | 오디오 신호의 중요주파수 성분 추출방법 및 장치와 이를이용한 저비트율 오디오 신호 부호화/복호화 방법 및 장치 |
EP1926083A4 (en) * | 2005-09-30 | 2011-01-26 | Panasonic Corp | AUDIOCODING DEVICE AND AUDIOCODING METHOD |
CA2663904C (en) * | 2006-10-10 | 2014-05-27 | Qualcomm Incorporated | Method and apparatus for encoding and decoding audio signals |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
US8527265B2 (en) * | 2007-10-22 | 2013-09-03 | Qualcomm Incorporated | Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs |
US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
ATE518224T1 (de) * | 2008-01-04 | 2011-08-15 | Dolby Int Ab | Audiokodierer und -dekodierer |
EP2144230A1 (en) * | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
WO2010003543A1 (en) * | 2008-07-11 | 2010-01-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for calculating bandwidth extension data using a spectral tilt controlling framing |
US8798776B2 (en) * | 2008-09-30 | 2014-08-05 | Dolby International Ab | Transcoding of audio metadata |
KR20100136890A (ko) | 2009-06-19 | 2010-12-29 | 삼성전자주식회사 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
US9031834B2 (en) * | 2009-09-04 | 2015-05-12 | Nuance Communications, Inc. | Speech enhancement techniques on the power spectrum |
CN102714040A (zh) * | 2010-01-14 | 2012-10-03 | 松下电器产业株式会社 | 编码装置、解码装置、频谱变动量计算方法和频谱振幅调整方法 |
ES2461183T3 (es) * | 2010-03-10 | 2014-05-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V | Decodificador de señales de audio, codificador de señales de audio, procedimiento para decodificar una señal de audio, método para codificar una señal de audio y programa de ordenador que utilizan una adaptación dependiente de la frecuencia de un contexto de codificación |
CA2803272A1 (en) * | 2010-07-05 | 2012-01-12 | Nippon Telegraph And Telephone Corporation | Encoding method, decoding method, device, program, and recording medium |
KR101140737B1 (ko) * | 2010-07-26 | 2012-05-03 | 전자부품연구원 | 기본 주파수 추출 장치, 보컬 멜로디 추출 장치 및 방법 |
US9236063B2 (en) * | 2010-07-30 | 2016-01-12 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dynamic bit allocation |
US8990094B2 (en) * | 2010-09-13 | 2015-03-24 | Qualcomm Incorporated | Coding and decoding a transient frame |
TWI585749B (zh) * | 2011-10-21 | 2017-06-01 | 三星電子股份有限公司 | 無損編碼方法 |
US9997165B2 (en) * | 2013-10-18 | 2018-06-12 | Telefonaktiebolaget L M Ericsson (Publ) | Coding and decoding of spectral peak positions |
PL3594948T3 (pl) | 2014-05-08 | 2021-08-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Klasyfikator sygnału audio |
-
2014
- 2014-10-10 US US14/402,406 patent/US9997165B2/en active Active
- 2014-10-10 PL PL14795690T patent/PL3058567T3/pl unknown
- 2014-10-10 PT PT182098822T patent/PT3471096T/pt unknown
- 2014-10-10 PT PT147956908T patent/PT3058567T/pt unknown
- 2014-10-10 MX MX2017011529A patent/MX368569B/es unknown
- 2014-10-10 ES ES17170337T patent/ES2716756T3/es active Active
- 2014-10-10 KR KR1020167012969A patent/KR101782278B1/ko active IP Right Grant
- 2014-10-10 CN CN201910976472.3A patent/CN110767241B/zh active Active
- 2014-10-10 DK DK14795690.8T patent/DK3058567T3/en active
- 2014-10-10 RU RU2017138252A patent/RU2750644C2/ru active
- 2014-10-10 RU RU2016119007A patent/RU2635876C1/ru active
- 2014-10-10 CN CN201480057361.8A patent/CN105849803B/zh active Active
- 2014-10-10 KR KR1020187016772A patent/KR101940464B1/ko active IP Right Grant
- 2014-10-10 ES ES14795690.8T patent/ES2638201T3/es active Active
- 2014-10-10 EP EP17170337.4A patent/EP3226242B1/en active Active
- 2014-10-10 BR BR112016007515-3A patent/BR112016007515B1/pt active IP Right Grant
- 2014-10-10 ES ES18209882T patent/ES2814601T3/es active Active
- 2014-10-10 CA CA2927877A patent/CA2927877C/en active Active
- 2014-10-10 EP EP18209882.2A patent/EP3471096B1/en active Active
- 2014-10-10 WO PCT/SE2014/051199 patent/WO2015057135A1/en active Application Filing
- 2014-10-10 CN CN201910976473.8A patent/CN110910894B/zh active Active
- 2014-10-10 PL PL17170337T patent/PL3226242T3/pl unknown
- 2014-10-10 EP EP14795690.8A patent/EP3058567B1/en active Active
- 2014-10-10 MY MYPI2016701139A patent/MY176776A/en unknown
- 2014-10-10 KR KR1020177025171A patent/KR101870594B1/ko active IP Right Grant
- 2014-10-10 JP JP2016517551A patent/JP6181863B2/ja active Active
- 2014-10-10 AU AU2014337410A patent/AU2014337410B2/en not_active Ceased
- 2014-10-10 TR TR2019/01696T patent/TR201901696T4/tr unknown
- 2014-10-10 PL PL18209882T patent/PL3471096T3/pl unknown
- 2014-10-10 MX MX2016004448A patent/MX350815B/es active IP Right Grant
-
2016
- 2016-04-07 MX MX2019011955A patent/MX2019011955A/es unknown
-
2017
- 2017-05-09 AU AU2017203091A patent/AU2017203091B2/en active Active
- 2017-07-20 JP JP2017141192A patent/JP6486420B2/ja active Active
-
2018
- 2018-03-15 ZA ZA2018/01760A patent/ZA201801760B/en unknown
- 2018-04-27 US US15/964,385 patent/US10796705B2/en active Active
-
2019
- 2019-02-19 JP JP2019027629A patent/JP6698897B2/ja active Active
- 2019-03-07 AU AU2019201596A patent/AU2019201596B2/en active Active
- 2019-03-12 ZA ZA2019/01522A patent/ZA201901522B/en unknown
-
2020
- 2020-08-27 US US17/004,293 patent/US20210050027A1/en active Pending
-
2021
- 2021-05-26 RU RU2021114936A patent/RU2765886C1/ru active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181389B2 (en) * | 1999-10-01 | 2007-02-20 | Coding Technologies Ab | Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching |
US7684981B2 (en) * | 2005-07-15 | 2010-03-23 | Microsoft Corporation | Prediction of spectral coefficients in waveform coding and decoding |
RU2427978C2 (ru) * | 2006-02-21 | 2011-08-27 | Конинклейке Филипс Электроникс Н.В. | Кодирование и декодирование аудио |
CN101325060B (zh) * | 2007-06-14 | 2012-10-31 | 汤姆逊许可公司 | 频谱域中利用自适应切换的时间分辨率对音频信号编解码的方法和设备 |
WO2009078681A1 (en) * | 2007-12-18 | 2009-06-25 | Lg Electronics Inc. | A method and an apparatus for processing an audio signal |
KR20120096541A (ko) * | 2008-07-18 | 2012-08-30 | 퀄컴 인코포레이티드 | 디지털 신호의 압축 또는 압축해제를 위한 방법, 시스템 및 장치 |
KR20120009654A (ko) * | 2010-07-20 | 2012-02-02 | 한국과학기술원 | Wi?Fi 신호지문 데이터베이스 확보 방법 및 이를 위한 시스템 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2765886C1 (ru) | Кодирование и декодирование положений спектральных пиков | |
TWI708501B (zh) | 分裂增益形狀向量編碼 | |
OA17868A (en) | Coding and decoding of spectral peak positions. | |
OA18807A (en) | Coding and decoding of spectral peak positions. |