Упрощенная индексация и деиндексация векторов
Иллюстрации
Показать всеИзобретение относится к индексации входного вектора, содержащегося в наборе векторов, входящем в множество наборов векторов. Процедура индексации включает выполнение специфической обработки в том случае, когда входной вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае входных векторов, содержащихся в наборах векторов с определенным свойством. Кроме того, процедура индексации включает выполнение общей обработки в том случае, если входной вектор не содержится в наборе векторов заранее заданной группы наборов векторов. Изобретение также относится к соответствующей процедуре определения целевого вектора, содержащегося в наборе векторов, входящем во множество наборов векторов, на основе индекса, связанного с указанным целевым вектором. Технический результат - упрощение процедуры индексации и/или деиндексации. 7 н. и 30 з.п. ф-лы, 2 табл., 4 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
Это изобретение относится к индексации и деиндексации векторов.
УРОВЕНЬ ТЕХНИКИ
В обеспечении связи с помощью мобильного терминала существенную роль играют несложные алгоритмы речевого и аудиокодирования. Благодаря малому объему используемой памяти и простоте алгоритма наряду с эффективным кодированием, структурированные кодовые словари используют, например, для квантования в нескольких современных речевых и аудиокодеках, таких как адаптивный многоскоростной широкополосный (AMR-WB, Adaptive Multi Rate - WideBand) кодек или G.EV-VBR, стандарт которого в настоящее время разрабатывается в рамках ITU-T SG16/Q9.
Кодовые словари, используемые в способах квантования речевых и аудиокодеков, могут, например, основываться на решетчатых структурах, как это описано в статье S.Ragot, В.Bessette и R.Lefebvre "Low-complexity multi-rate lattice vector quantization with application to wideband TCX speech coding at 32 kbit/s" (Несложное многоскоростное решетчатое векторное квантование, применяемое для широкополосного речевого кодирования TCX на скорости 32 кбит/с), опубликованной в материалах конференции IEEE International Conference on Acoustics, Speech, and Signal Processing, 2004 (ICASSP '04, Международная конференция IEEE по акустике, обработке речи и сигналов), Монреаль, Канада, 17-21 мая 2004 года, том 1, стр.501-504, которая полностью включена в настоящее описание посредством ссылки. В этой статье также подробно описывается процесс квантования.
Если в качестве кодовых словарей используются решетчатые структуры, то требуются алгоритмы для индексации узлов решетки.
Кодовый словарь с решетчатой структурой можно определить как объединение лидер-классов (leader class), каждый из которых характеризуется лидер-вектором (leader vector). Лидер-вектор представляет собой n-мерный вектор с упорядоченными (например, в порядке убывания) компонентами. Лидер-класс, соответствующий лидер-вектору, включает в свой состав лидер-вектор и все векторы, получаемые путем всех перестановок лидер-вектора с учетом знаков (с некоторыми возможными ограничениями).
Типом алгоритма индексации узлов решетки, определенной как объединение лидер-классов, может, например, быть алгоритм индексации лидер-векторов. В этом контексте, помимо прочего, могут применяться лексикографические и биномиальные алгоритмы, описанные в статье А. Vasilache и I. Tabus "Robust indexing of lattices and permutation codes over binary symmetric channels" (Надежная индексация решеток и перестановочных кодов в двоичных симметричных каналах), опубликованной в издании Signal Processing (обработка сигналов), том 83, номер 7, стр.1467-1486, 2003 год, которая полностью включена в данное описание посредством ссылки.
Биномиальные алгоритмы обычно менее сложные, поскольку они одновременно учитывают несколько векторных компонентов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Существует возможность дальнейшего упрощения процесса индексации и/или деиндексации.
В соответствии с первым аспектом настоящего изобретения раскрывается способ, включающий индексацию входного вектора, содержащегося в наборе векторов, входящем в множество наборов векторов. Процедура индексации включает выполнение специфической обработки в том случае, когда входной вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае входных векторов, содержащихся в наборах векторов с определенным свойством. Кроме того, процедура индексации включает выполнение общей обработки в том случае, если входной вектор не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии с первым аспектом настоящего изобретения также раскрывается компьютерная программа. Компьютерная программа содержит инструкции для выполнения процессором индексации входного вектора, содержащегося в наборе векторов, входящем в множество наборов векторов. Процедура индексации включает выполнение специфической обработки в том случае, когда входной вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае входных векторов, содержащихся в наборах векторов с определенным свойством. Кроме того, процедура индексации включает выполнение общей обработки в том случае, если входной вектор не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии с первым аспектом настоящего изобретения также раскрывается машиночитаемый носитель, на котором хранится такая компьютерная программа. Машиночитаемым носителем может быть любой носитель, на котором могут храниться цифровые данные в электрическом, магнитном, электромагнитном или оптическом виде. Носитель может фиксированным образом устанавливаться в устройстве или может представлять собой сменный носитель.
В соответствии с первым аспектом настоящего изобретения также раскрывается устройство, содержащее компонент обработки, выполненный с возможностью индексации входного вектора, содержащегося в наборе векторов, входящем в множество наборов векторов. Кроме того, компонент обработки сконфигурирован для выполнения специфической обработки в том случае, когда входной вектор, подлежащий индексации, содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае входных векторов, содержащихся в наборах векторов с определенным свойством. Компонент обработки также выполнен с возможностью осуществления общей обработки в том случае, если входной вектор, подлежащий индексации, не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии с первым аспектом настоящего изобретения также раскрывается устройство, включающее в свой состав средства для индексации входного вектора, содержащегося в наборе векторов, входящем в множество наборов векторов. Средства индексации включают в свой состав средства для выполнения специфической обработки в том случае, когда входной вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае входных векторов, содержащихся в наборах векторов с определенным свойством. Кроме того, средства индексации содержат средства для выполнения общей обработки в том случае, если входной вектор не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии с первым аспектом настоящего изобретения входной вектор представляет собой вектор, подлежащий индексации. Входной вектор содержится в наборе векторов, который, в свою очередь, содержится в множестве наборов векторов. Множество наборов векторов может, например, служить в качестве кодового словаря для процесса квантования. В ходе такого процесса квантования входной вектор может, например, идентифицироваться как наиболее точное соответствие всех векторов в множестве наборов векторов по отношению к вектору, подлежащему квантованию.
При индексации входному вектору назначается индекс. Индекс может, например, принимать форму сигнала. Между двумя объектами может осуществляться обмен этим сигналом для идентификации входного вектора. С помощью индекса входной вектор может по меньшей мере частично идентифицироваться в наборе векторов, в котором он содержится. Индекс может, например, идентифицировать входной вектор в множестве наборов векторов или только в наборе векторов, в котором содержится этот входной вектор. Кроме того, индекс может представлять или не представлять знаки компонентов входного вектора.
При индексации входного вектора может, например, по меньшей мере выдаваться индекс позиции, представляющий позиции значений во входном векторе. При индексации дополнительно может выдаваться индекс знака, который представляет знак компонентов входного вектора. Кроме того, при индексации может выдаваться окончательный индекс, который объединяет в себе индекс позиции и индекс знака и может дополнительно представлять лидер-класс, в котором содержится входной вектор.
В зависимости от набора векторов, в котором содержится входной вектор, выполняются различные процедуры обработки. Если входной вектор содержится в наборе векторов, который принадлежит заранее заданной группе наборов векторов, то применяется специфическая обработка. В противном случае применяется общая обработка. Оба вида обработки образуют по меньшей мере часть процедуры индексации входного вектора. Например, специфическая обработка и общая обработка могут относиться ко всему процессу индексации, а могут относиться только к частям этого процесса.
Специфическая обработка адаптирована к свойству набора векторов, в котором содержится входной вектор.
Специфическая обработка настраивается для набора векторов, в котором содержится входной вектор. Это позволяет повысить возможности обработки и уменьшить общий уровень сложности процесса индексации входного вектора.
Например, структура специфической обработки может быть упрощена по сравнению с общей обработкой путем, например, выполнения нескольких действий в одном цикле.
Таким же образом, введение специфической обработки может позволить снизить сложность общей обработки, например, за счет исключения процедуры обработки входных векторов конкретных наборов векторов из процесса общей обработки (и включения этой процедуры в процесс специфической обработки), благодаря чему общая обработка упрощается. Обе меры приводят к снижению общего уровня сложности индексации входного вектора.
Процесс настройки может ограничить область применения специфической обработки входными векторами, содержащимися в наборах векторов с определенным свойством, то есть специфическая обработка может быть неприменима, например, в том случае, если входные векторы содержатся в наборах векторов, которые не входят в заранее заданную группу наборов векторов.
Общая обработка может быть не ограничена применением только в том случае, если входные векторы содержатся в наборах векторов конкретной группы наборов векторов. Например, общая обработка может быть применима в том случае, если входные векторы содержатся в любом наборе векторов, входящем в множество наборов векторов, или в случае, когда входные векторы содержатся в любом наборе векторов, входящем в множество наборов векторов, за исключением наборов векторов, входящих в заранее заданную группу наборов векторов. В последнем случае возможна оптимизация общей обработки по отношению к входным векторам, содержащимся в наборах векторов, которые не входят в заранее заданную группу наборов векторов.
В соответствии с примером осуществления первого аспекта настоящего изобретения общая обработка в случае применения к входным векторам, содержащимся в наборах векторов с определенным свойством, была бы более сложной по сравнению со специфической обработкой, применяемой к тем же входным векторам. В данном случае сложность может, например, быть связана с вычислительной сложностью и/или с требованиями к объему памяти.
В соответствии с примером осуществления первого аспекта настоящего изобретения входные векторы, содержащиеся в наборе векторов заранее заданной группы наборов векторов, могут быть индексированы с большей вероятностью, чем входные векторы, содержащиеся в наборах векторов, не входящих в заранее заданную группу наборов векторов. С учетом общей сложности может быть особенно полезным то, что специфическая обработка является менее сложным процессом, чем общая обработка (если применяется к входным векторам, содержащимся в наборах векторов с определенным свойством). Вероятность может зависеть от приложения, в котором выполняется индексация. Вероятность может, например, определяться в автономном режиме.
В соответствии с примером осуществления первого аспекта настоящего изобретения наборы векторов представляют собой лидер-классы, а каждый лидер-класс содержит различный лидер-вектор и перестановки лидер-вектора. Объединение этих лидер-классов затем может определять решетку, которая может использоваться в виде структурированного кодового словаря для квантования, например, в речевом, аудио- или видеокодеке, при кодировании изображений, сжатии данных или в любой другой области, в которой используется квантование.
Лидер-классы могут иметь знак, и при индексации по меньшей мере может выдаваться индекс позиции, представляющий позиции значений во входном векторе, и индекс знака, представляющий знаки компонентов входного вектора. Далее в рамках специфической обработки индекс позиции и индекс знака могут совместно определяться в одном цикле. Этот цикл, например, может выполняться для каждого компонента входного вектора. С другой стороны, в рамках общей обработки индекс позиции и индекс знака могут определяться только друг за другом. При индексации может также выдаваться окончательный индекс, который объединяет в себе индекс позиции и индекс знака и может дополнительно представлять лидер-класс, в котором содержится входной вектор.
В альтернативном варианте лидер-классы могут быть без знака. В этом случае при индексации может выдаваться только индекс позиции, представляющий позиции значений во входном векторе. В зависимости от обстоятельств при индексации может также выдаваться окончательный индекс, который дополнительно представляет лидер-класс, в котором содержится входной вектор.
Свойство, к которому адаптирована специфическая обработка, может заключаться в том, что заранее заданная группа лидер-классов состоит только из лидер-классов с лидер-векторами, компоненты которых принимают только заранее заданное количество различных значений. Это заранее заданное количество может, например, равняться двум. Адаптация специфической обработки к этому свойству, в частности, может быть полезной в контексте биномиальной индексации, поскольку, помимо прочего, она позволяет совместно определить индекс позиции и индекс знака в одном цикле, а не по отдельности. Кроме того, адаптация специфической обработки к этому свойству может быть полезной в контексте биномиальной индексации, поскольку, помимо прочего, процедура индексации при этом должна только обрабатывать позицию одного значения (первого) без необходимости дальнейших подготовительных операций для проверки позиций второго значения (его позиция (позиции) зафиксирована путем фиксации позиции (позиций) первого значения).
Заранее заданная группа лидер-классов может содержать первую подгруппу лидер-классов с лидер-векторами, компоненты которых принимают только четные значения, и вторую подгруппу лидер-классов с лидер-векторами, компоненты которых принимают только нечетные значения. Согласно процессу специфической обработки действия, которые могут предприниматься в том случае, если входной вектор содержится в лидер-классе первой подгруппы лидер-классов, могут отличаться от действий, которые выполняются в том случае, когда входной вектор содержится в лидер-классе второй подгруппы лидер-классов.
В альтернативном варианте свойство, к которому адаптирована специфическая обработка, может заключаться в том, что заранее заданная группа лидер-классов состоит только из лидер-классов с лидер-векторами, компоненты которых принимают максимальное количество различных значений. Например, лидер-классы в заранее заданной группе лидер-классов могут содержать лидер-векторы с четырьмя значениями. Обработка таких лидер-классов в рамках процесса специфической обработки может упростить общую обработку, поскольку затем в процессе общей обработки могут учитываться только лидер-классы, в которые входят лидер-векторы с тремя или менее значениями. Это способствует снижению общего уровня сложности индексации входных векторов.
С целью оптимизации общая обработка может применяться в том случае, если входные векторы содержатся в любом наборе векторов, входящем в множество наборов векторов, за исключением наборов векторов, входящих в заранее заданную группу наборов векторов.
Индексация входного вектора может выполняться в процессе квантования, который основан на решетчатом кодовом словаре, определенном лидер-классами.
В соответствии с примером осуществления первого аспекта настоящего изобретения индексация является биномиальной индексацией. Такая процедура биномиальной индексации основана на количестве возможных распределений значений по позициям в векторе определенной размерности.
В соответствии со вторым аспектом настоящего изобретения раскрывается способ, включающий определение целевого вектора, содержащегося в наборе векторов, входящем в множество наборов векторов, на основе индекса, связанного с целевым вектором. Процедура определения включает выполнение специфической обработки в том случае, когда целевой вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае целевых векторов, содержащихся в наборах векторов с определенным свойством. Кроме того, процедура определения включает выполнение общей обработки в том случае, если целевой вектор не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии со вторым аспектом настоящего изобретения также раскрывается компьютерная программа, включающая инструкции для выполнения процессором определения целевого вектора, содержащегося в наборе векторов, входящем в множество наборов векторов, на основе индекса, связанного с целевым вектором. Процедура определения включает выполнение специфической обработки в том случае, когда целевой вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае целевых векторов, содержащихся в наборах векторов с определенным свойством. Кроме того, процедура определения включает выполнение общей обработки в том случае, если целевой вектор не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии со вторым аспектом настоящего изобретения также раскрывается машиночитаемый носитель, на котором хранится такая компьютерная программа. Машиночитаемым носителем может быть любой носитель, на котором могут храниться цифровые данные в электрическом, магнитном, электромагнитном или оптическом виде. Носитель может фиксированным образом устанавливаться в устройстве или может представлять собой сменный носитель.
В соответствии со вторым аспектом настоящего изобретения также раскрывается устройство, содержащее компонент обработки, выполненный с возможностью определения целевого вектора, содержащегося в наборе векторов, входящем в множество наборов векторов, на основе индекса, связанного с целевым вектором. Кроме того, компонент обработки сконфигурирован для выполнения специфической обработки в том случае, когда определяемый целевой вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае целевых векторов, содержащихся в наборах векторов с определенным свойством. Компонент обработки также выполнен с возможностью осуществления общей обработки в том случае, если определяемый целевой вектор не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии со вторым аспектом настоящего изобретения также раскрывается устройство, содержащее средства для определения целевого вектора, содержащегося в наборе векторов, входящем в множество наборов векторов, на основе индекса, связанного с целевым вектором. Средства для определения включают в свой состав средства для выполнения специфической обработки в том случае, когда целевой вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, при этом специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае целевых векторов, содержащихся в наборах векторов с определенным свойством. Кроме того, средства для определения содержат средства для выполнения общей обработки в том случае, если целевой вектор не содержится в наборе векторов заранее заданной группы наборов векторов.
В соответствии со вторым аспектом настоящего изобретения целевой вектор представляет собой вектор, который должен определяться на основе индекса, связанного с целевым вектором. Целевой вектор содержится в наборе векторов, который, в свою очередь, содержится в множестве наборов векторов. Множество наборов векторов может, например, служить в качестве кодового словаря для процесса квантования. В ходе такого процесса квантования целевой вектор может, например, идентифицироваться как наиболее точное соответствие всех векторов в множестве наборов векторов по отношению к вектору, подлежащему квантованию, и ему может назначаться индекс (то есть он может быть индексирован) таким образом, как это, например, раскрыто выше со ссылкой на первый аспект настоящего изобретения. Этот индекс может, например, по меньшей мере частично идентифицировать целевой вектор в наборе векторов. Кроме того, этот индекс может, например, идентифицировать набор векторов, в котором содержится целевой вектор, и может также указывать знаки компонентов целевого вектора. Затем на основе этого индекса в соответствии со вторым аспектом настоящего изобретения восстанавливается целевой вектор. Это может потребовать передачи индекса из объекта, который выполняет индексацию целевого вектора, в объект, который выполняет определение целевого вектора на основе индекса. В этом отношении индекс можно рассматривать как сигнал, который передается между объектами. Индексация может, например, осуществляться во время квантования, а определение целевого вектора на основе индекса, которое может рассматриваться как "деиндексация", может затем выполняться в процессе деквантования.
В соответствии со вторым аспектом настоящего изобретения в зависимости от набора векторов, в котором содержится целевой вектор, выполняются различные процедуры обработки. Если целевой вектор содержится в наборе векторов, который принадлежит заранее заданной группе наборов векторов, то применяется специфическая обработка. В противном случае применяется общая обработка.
Специфическая обработка адаптирована к свойству набора векторов, в котором содержится целевой вектор.
Специфическая обработка настраивается для набора векторов, в котором содержится целевой вектор, в соответствии с использованием свойства этого набора. Это позволяет улучшить обработку и снизить общий уровень сложности процедуры определения целевого вектора. Например, структура специфической обработки может быть упрощена по сравнению с общей обработкой. Эта мера приводит к снижению общего уровня сложности. Однако процесс настройки может ограничить область применения специфической обработки случаями, когда целевые векторы содержатся в наборах векторов с определенным свойством, то есть специфическая обработка может быть, например, неприменима в тех случаях, когда целевые векторы содержатся в наборах векторов, которые не входят в заранее заданную группу наборов векторов.
Общая обработка может быть не ограничена применением в тех случаях, когда целевые векторы содержатся только в конкретной группе наборов векторов. Например, общая обработка может быть применима в том случае, если целевые векторы содержатся в любом наборе векторов, входящем в множество наборов векторов, или в случае, когда целевые векторы содержатся в любом наборе векторов, входящем в множество наборов векторов, за исключением наборов векторов, входящих в заранее заданную группу наборов векторов. В последнем случае существует возможность по меньшей мере некоторой оптимизации общей обработки.
В соответствии с примером осуществления второго аспекта настоящего изобретения общая обработка в случае применения к целевым векторам, содержащимся в наборах векторов с определенным свойством, была бы более сложной по сравнению со специфической обработкой, применяемой к тем же целевым векторам. В данном случае сложность может, например, быть связана с вычислительной сложностью и/или с требованиями к объему памяти.
В соответствии с примером осуществления второго аспекта настоящего изобретения целевые векторы, содержащиеся в наборе векторов заранее заданной группы наборов векторов, могут быть определены с большей вероятностью, чем целевые векторы, содержащиеся в наборе векторов, не входящем в заранее заданную группу наборов векторов. С учетом общей сложности может быть особенно полезным то, что специфическая обработка является менее сложным процессом, чем общая обработка (если применяется в случае целевых векторов, содержащихся в наборах векторов с определенным свойством). Вероятность может зависеть от приложения, в котором выполняется процедура определения целевого вектора (например, процесс деквантования). Вероятность может, например, определяться в автономном режиме (офлайн).
В соответствии с примером осуществления второго аспекта настоящего изобретения наборы векторов представляют собой лидер-классы, а каждый лидер-класс содержит различный лидер-вектор и перестановки лидер-вектора.
Свойство, к которому адаптирована специфическая обработка, может, например, заключаться в том, что заранее заданная группа лидер-классов состоит только из лидер-классов с лидер-векторами, компоненты которых принимают только заранее заданное количество различных значений. Это заранее заданное количество может, например, равняться двум. В данном случае одно из двух различных значений может, например, равняться нулю.
Определение целевого вектора может выполняться в процессе деквантования, который основан на решетчатом кодовом словаре, определенном лидер-классами.
Свойство, к которому адаптирована специфическая обработка, может также заключаться в том, что заранее заданная группа лидер-классов состоит только из лидер-классов с лидер-векторами, компоненты которых принимают максимальное количество различных значений. Например, лидер-классы в заранее заданной группе лидер-классов могут содержать лидер-векторы с четырьмя значениями. Обработка таких лидер-классов в рамках процесса специфической обработки может упростить общую обработку, поскольку затем в процессе общей обработки могут учитываться только лидер-классы, в которые входят лидер-векторы с тремя или менее значениями. Это способствует снижению общего уровня сложности деиндексации входных векторов.
С целью оптимизации общая обработка может применяться в том случае, если целевые векторы содержатся в любом наборе векторов, входящем в множество наборов векторов, за исключением наборов векторов, входящих в заранее заданную группу наборов векторов.
В соответствии с примером осуществления второго аспекта настоящего изобретения индекс связан с целевым вектором через биномиальную индексацию. Такая процедура биномиальной индексации основана на количестве возможностей распределения значений по позициям в векторе определенной размерности.
В соответствии с третьим аспектом настоящего изобретения раскрывается система. Система содержит первый компонент обработки, выполненный с возможностью индексации входного вектора, содержащегося в наборе векторов, входящем в множество наборов векторов, при этом первый компонент обработки сконфигурирован для выполнения специфической обработки в том случае, когда индексируемый входной вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, причем специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае входных векторов, содержащихся в наборах векторов с определенным свойством, и, кроме того, первый компонент обработки выполнен с возможностью осуществления общей обработки в том случае, если входной вектор, подлежащий индексации, не содержится в наборе векторов заранее заданной группы наборов векторов. Система также содержит второй компонент обработки, выполненный с возможностью определения целевого вектора, содержащегося в наборе векторов, входящем в множество наборов векторов, на основе индекса, связанного с целевым вектором, при этом второй компонент обработки также сконфигурирован для выполнения специфической обработки в том случае, когда определяемый целевой вектор содержится в наборе векторов заранее заданной группы из одного или более наборов векторов, входящих в множество наборов векторов, причем специфическая обработка адаптирована к свойству наборов векторов в заранее заданной группе наборов векторов и применима только в случае целевых векторов, содержащихся в наборах векторов с определенным свойством, и, кроме того, второй компонент обработки также выполнен с возможностью осуществления общей обработки в том случае, если целевой вектор, подлежащий определению, не содержится в наборе векторов заранее заданной группы наборов векторов.
Согласно третьему аспекту настоящего изобретения для системы соответственно применяется приведенное выше описание характеристик и преимуществ первого и второго аспектов настоящего изобретения.
Второй компонент обработки может, например, определять целевой вектор, который связан с индексом, назначенным входному вектору в процессе индексации входного вектора первым компонентом обработки, так чтобы соблюдалось равенство входного и целевого векторов. Первый и второй компоненты обработки могут, например, обмениваться индексом.
Первый и второй компоненты обработки могут, например, входить в состав двух различных устройств, при этом в устройстве, содержащем первый компонент обработки, выполняется индексация входного вектора, а в устройстве, содержащем второй компонент обработки, определяется целевой вектор, который связан с индексом, определенным первым компонентом обработки.
Кроме того, первый и второй компоненты обработки могут входить в состав одного и того же устройства и могут, например, соответственно использоваться для квантования и деквантования.
Эти и другие аспекты настоящего изобретения разъясняются в представленном ниже подробном описании. Представленные выше признаки настоящего изобретения и примеры его осуществления подразумеваются раскрытыми во всех возможных комбинациях друг с другом.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
К описанию прилагаются следующие чертежи:
фиг.1: схематическая блок-схема кодера G.EV-VBR;
фиг.2: алгоритм реализации способа для индексации входного вектора в соответствии с примером осуществления первого аспекта настоящего изобретения;
фиг.3: алгоритм реализации способа для определения целевого вектора на основе индекса, связанного с целевым вектором, в соответствии с примером осуществления второго аспекта настоящего изобретения;
фиг.4: схематическая блок-схема устройства, способного реализовать способы, соответствующие первому и второму аспектам настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В приводимом ниже подробном описании настоящего изобретения примеры его осуществления приводятся в контексте индексации и деиндексации узлов решетки, связанных с решетчатым квантователем, предложенным для кодека G.EV-VBR или производных от него кодеков. Однако настоящее изобретение не ограничено этим кодеком, этим конкретным решетчатым квантователем или индексацией/деиндексаций решетчатых структур; оно также может применяться во всех иных сценариях, в которых требуется выполнение индексации и деиндексации векторов.
Процесс стандартизации кодека G.EV-VBR осуществляется в рамках документа ITU-T SG16/Q9. Этот кодек представляет собой речевой и встроенный масштабируемый аудиокодек для широкополосных сигналов с битовыми скоростями кодирования 8, 12, 16, 24 и 32 кбит/с.
На фиг.1 представлена схематическая блок-схема кодера 1 G.EV-VBR. Первые два уровня основаны на линейном предсказании с кодовым возбуждением (CELP; Code Excited Linear Prediction) и обозначаются как "базовый кодек" (см. блок 101 базового кодека). Оставшиеся уровни формируются посредством кодирования коэффициентов модифицированного дискретного косинусного преобразования (MDCT, Modified Discrete Cosine Transform) (см. блок 104 MDCT) разностного сигнала 103 между исходным сигналом 100 и синтезированным сигналом базового кодека, при этом разностный сигнал вырабатывается сумматором 102. Для квантования коэффициентов MDCT (для уровня, соответствующего битовой скорости 24 кбит/с) используется квантователь 105, функционирование которого основано на лидер-классах, полученных из лидер-классов решетки 2RE8, которая является повернутой версией решетки Е8, масштабированной с множителем 2. Первые два уровня затем объединяются с оставшимися уровнями в блоке 106 генерации битового потока.
Решетка, обычно используемая при квантовании, может быть представлена в виде объединения лидер-классов. В результате структуры квантования, основанные на решетках, могут быть описаны в виде объединения лидер-классов.
Лидер-вектор представляет собой n-мерный целый вектор с упорядоченными компонентами (например, в порядке убывания):
(ν1,.…, ν1, ν2,.…, ν2, νm,.…, νm), где ν1>ν2>…>νm, νi∈N.
Существует ni значений vi. Лидер-класс, соответствующий лидер-вектору, включает в свой состав векторы, получаемые путем всех знаковых перестановок лидер-класса (с некоторыми возможными ограничениями). Ограничения, если они применяются, относятся к количеству отрицательных компонентов вектора, которое может быть нечетным или четным. Количество векторов в лидер-классе вычисляется по формуле
где p определяет четность и может принимать значение 0 (отсутствие ограничений по знаку), +1 (четное количество отрицательных компонентов) или -1 (нечетное количество отрицательных компонентов).
В качестве примера биномиальной индексации рассмотрим 4-мерный лидер-вектор (2, 1, 1, 0). Предположим, что перестановки выполняются без учета знака.
Векторы, которые принадлежат лидер-классу (2, 1, 1, 0), приведены ниже в таблице 1, причем в ней представлены два варианта индексации.
Таблица 1 | ||
Лидер-класс для лидер-вектора (2, 1, 1, 0) | ||
Индекс | Вариант 1 | Вариант 2 |
0 | 2, 1, 1, 0 | 2, 1, 1, 0 |
1 | 1, 2, 1, 0 | 2, 1, 0, 1 |
2 | 1, 1, 2, 0 | 2, 0, 1, 1 |
3 | 1, 1, 0, 2 | 1, 2, 1, 0 |
4 | 2, 1, 0, 1 | 1, 2, 0, 1 |
5 | 1, 2, 0, 1 | 0, 2, 1, 1 |
6 | 1, 0, 2, 1 | 1, 1, 2, 0 |
7 | 1, 0, 1, 2 | 1, 0, 2, 1 |
8 | 2, 0, 1, 1 | 0, 1, 2, 1 |
9 | 0, 2, 1, 1 | 1, 1, 0, 2 |
10 | 0, 1, 2, 1 | 1, 0, 1, 2 |
11 | 0, 1, 1, 2 | 0, 1, 1, 2 |
Из первого варианта, представленного в таблице 1, видно, что в первой группе (с индексами 0-3, то есть первые четыре вектора, отделенные горизонтальной линией) относительная позиция значений 1 и 0 одинакова, однако позиция значения 2 изменяется от вектора к вектору. То же происходит и во в