СИСТЕМЫ И СПОСОБЫ ДЛЯ ИЗМЕНЕНИЯ ОКНА С КАДРОМ, АССОЦИИРОВАННЫМ С АУДИО СИГНАЛОМ
SYSTEMS AND METHODS OF CHANGING WINDOW WITH FRAME, ASSOCIATED WITH AUDIO SIGNAL

Настоящая заявка на патент испрашивает приоритет предварительной заявки №60/834,674, озаглавленной "Windowing for Perfect Reconstruction in MDCT with Less than 50 % Frame Overlap", зарегистрированной 31 июля 2006 г. и переуступленной правопреемнику этой заявки и настоящим явно включенной в настоящий документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
Настоящие системы и способы в целом относятся к технологии обработки речевых сигналов. Точнее говоря, настоящие системы и способы относятся к изменению окна с кадром, ассоциированным с аудио сигналом.
УРОВЕНЬ ТЕХНИКИ
Передача речи с помощью цифровых методов стала широко распространенной, особенно в цифровых радиотелефонных приложениях дальней (международной) связи, передаче видео-сообщений с использованием компьютеров и т.д. Это, в свою очередь, породило интерес к определению минимального количества информации, которая может быть отправлена по каналу при поддержании воспринимаемого качества восстановленного речевого сигнала. Устройства для сжатия речевого сигнала нашли применение во многих областях дальней связи. Одним примером дальней связи является беспроводная связь. Другим примером является связь через компьютерную сеть, например Интернет. Область связи обладает множеством применений, включая, например, компьютеры, переносные компьютеры, персональные цифровые помощники (PDA), беспроводные телефоны, пейджеры, беспроводные абонентские линии, беспроводную телефонию, например сотовые системы телефонной связи и системы телефонной связи с переносной системой связи (PCS), телефонию по мобильному Интернет-протоколу (IP) и спутниковые системы связи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 иллюстрирует одну конфигурацию системы беспроводной связи.
Фиг.2 - блок-схема, иллюстрирующая одну конфигурацию вычислительной среды.
Фиг.3 - блок-схема, иллюстрирующая одну конфигурацию среды передачи сигнала.
Фиг.4А - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для изменения окна с кадром, ассоциированным с аудио сигналом.
Фиг.4В - блок-схема, иллюстрирующая конфигурацию кодера для изменения окна с кадром, ассоциированным с аудио сигналом, и декодер.
Фиг.5 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для восстановления кодированного кадра аудио сигнала.
Фиг.6 - блок-схема, иллюстрирующая одну конфигурацию многорежимного кодера, осуществляющего связь с многорежимным декодером.
Фиг.7 - блок-схема алгоритма, иллюстрирующая один пример способа кодирования аудио сигнала.
Фиг.8 - блок-схема, иллюстрирующая одну конфигурацию множества кадров, после того как к каждому кадру применена оконная функция.
Фиг.9 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для применения оконной функции к кадру, ассоциированному с неречевым сигналом.
Фиг.10 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа для восстановления кадра, который был изменен оконной функцией.
Фиг.11 - блок-схема некоторых компонентов в одной конфигурации устройства связи/вычислительного устройства.
ПОДРОБНОЕ ОПИСАНИЕ
Описывается способ для изменения окна с кадром, ассоциированным с аудио сигналом. Принимается сигнал. Сигнал разделяется на множество кадров. Выполняется определение, ассоциирован ли кадр в множестве кадров с неречевым сигналом. Оконная функция измененного дискретного косинусного преобразования (MDCT) применяется к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом. Кадр кодируется.
Также описывается устройство для изменения окна с кадром, ассоциированным с аудио сигналом. Устройство включает в себя процессор и запоминающее устройство в электронной связи с процессором. Команды хранятся в запоминающем устройстве. Команды являются исполняемыми, чтобы принимать сигнал; разделять сигнал на множество кадров; определять, ассоциирован ли кадр в множестве кадров с неречевым сигналом; применять оконную функцию измененного дискретного косинусного преобразования (MDCT) к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом; и кодировать кадр.
Также описывается система, которая конфигурируется для изменения окна с кадром, ассоциированным с аудио сигналом. Система включает в себя средство для обработки и средство для приема сигнала. Система также включает в себя средство для разделения сигнала на множество кадров и средство для определения, ассоциирован ли кадр в множестве кадров с неречевым сигналом. Система дополнительно включает в себя средство для применения оконной функции измененного дискретного косинусного преобразования (MDCT) к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом, и средство для кодирования кадра.
Также описывается машиночитаемый носитель, сконфигурированный для хранения набора команд. Команды являются исполняемыми, чтобы принимать сигнал; разделять сигнал на множество кадров; определять, ассоциирован ли кадр в множестве кадров с неречевым сигналом; применять оконную функцию измененного дискретного косинусного преобразования (MDCT) к кадру для формирования первой области заполнения нулями и второй области заполнения нулями, если было определено, что кадр ассоциирован с неречевым сигналом; и кодировать кадр.
Также описывается способ для выбора оконной функции, которую нужно использовать в вычислении измененного дискретного косинусного преобразования (MDCT) кадра. Предоставляется алгоритм для выбора оконной функции, которая должна использоваться в вычислении MDCT кадра. Выбранная оконная функция применяется к кадру. Кадр кодируется с помощью режима кодирования MDCT на основе ограничений, наложенных на режим кодирования MDCT дополнительными режимами кодирования, где ограничения содержат длину кадра, длину опережения и задержку.
Также описывается способ для восстановления кодированного кадра аудио сигнала. Принимается пакет. Пакет разбирается для извлечения кодированного кадра. Синтезируются выборки кадра, которые располагаются между первой областью заполнения нулями и первой областью. Область перекрытия первой длины складывается с длиной опережения предыдущего кадра. Сохраняется опережение первой длины кадра. Выводится восстановленный кадр.
Ниже описываются различные конфигурации систем и способов со ссылкой на чертежи, где одинаковые ссылочные позиции обозначают идентичные или подобные функционально похожие элементы. Признаки настоящих систем и способов, которые в целом описываются и иллюстрируются на чертежах в этом документе, могли бы быть скомпонованы и спроектированы в широком спектре разных конфигураций. Таким образом, подробное описание ниже не предназначено для ограничения объема систем и способов, которые заявлены, но оно является лишь представляющим конфигурации систем и способов.
Многие признаки конфигураций, раскрытые в этом документе, могут быть реализованы в виде компьютерного программного обеспечения, электронных аппаратных средств или их сочетаний. Для понятной иллюстрации этой взаимозаменяемости аппаратных средств и программного обеспечения различные компоненты будут описываться, как правило, в терминах их функциональных возможностей. Реализованы ли такие функциональные возможности как аппаратные средства или как программное обеспечение, зависит от конкретного применения и конструктивных ограничений, налагаемых на всю систему. Квалифицированные специалисты могут реализовать описанные функциональные возможности различными путями для каждого отдельного применения, но такие решения по реализации не должны интерпретироваться как вызывающие отклонение от объема настоящих систем и способов.
Если описанные функциональные возможности реализуются в виде компьютерного программного обеспечения, такое программное обеспечение может включать в себя любой тип компьютерной команды или исполняемого компьютером кода, находящегося в запоминающем устройстве и/или переданного в виде электронных сигналов по системной шине или сети. Программное обеспечение, которое реализует функциональные возможности, ассоциированные с описанными в этом документе компонентами, может содержать одну команду или много команд и может распределяться по нескольким разным кодовым сегментам среди разных программ и по нескольким запоминающим устройствам.
Использованные в данном документе термины "конфигурация", "конфигурации", "одна или несколько конфигураций", "некоторые конфигурации", "определенные конфигурации", "одна конфигурация", "другая конфигурация" и т.п. означают "одна или несколько (но необязательно все) конфигураций раскрытых систем и способов", пока иное не указано явно.
Термин "определение" (и его грамматические варианты) используется в очень широком смысле. Термин "определение" включает в себя широкий спектр действий, и поэтому "определение" может включать в себя расчет, вычисление, обработку, извлечение, исследование, поиск (например, поиск в таблице, базе данных или другой структуре данных), установление и т.п. Также "определение" может включать в себя прием (например, прием информации), обращение (например, обращение к данным в запоминающем устройстве) и т.п. Также "определение" может включать в себя решение, отбор, выбор, установление и т.п.
Фраза "на основе" не означает "только на основе", пока явно не указано иное. Другими словами, фраза "на основе" описывает как "только на основе" и "на основе по меньшей мере…". Вообще, фраза "аудио сигнал" может использоваться для ссылки на сигнал, который может прослушиваться. Примеры аудио сигналов могут включать представление человеческой речи, инструментальной и вокальной музыки, тональных звуков и т.д.
Фиг.1 иллюстрирует систему 100 беспроводной телефонной связи с множественным доступом с кодовым разделением (CDMA), которая может включать в себя множество мобильных станций 102, множество базовых станций 104, контроллер 106 базовой станции (BSC) и центр 108 коммутации мобильной связи (MSC). MSC 108 может быть сконфигурирован для взаимодействия с коммутируемой телефонной сетью 110 общего пользования (PSTN). MSC 108 также может быть сконфигурирован для взаимодействия с BSC 106. В системе 100 может быть больше одного BSC 106. Каждая базовая станция 104 может включать в себя по меньшей мере один сектор (не показан), где каждый сектор может иметь ненаправленную антенну или антенну, указывающую в конкретном направлении радиально от базовых станций 104. В качестве альтернативы, каждый сектор может включать в себя две антенны для разнесенного приема. Каждая базовая станция 104 может быть спроектирована для поддержки множества назначений частот. Пересечение сектора и назначения частот может называться каналом CDMA. Мобильные станции 102 могут включать в себя сотовые телефоны или телефоны переносной системы связи (PCS).
Во время работы системы 100 сотовой телефонии базовые станции 104 могут принимать наборы сигналов обратной линии связи от множества мобильных станций 102. Мобильные станции 102 могут выполнять телефонные вызовы или другие передачи. Каждый сигнал обратной линии связи, принятый заданной базовой станцией 104, может быть обработан в этой базовой станции 104. Результирующие данные могут быть перенаправлены к BSC 106. BSC 106 может обеспечивать функциональные возможности распределения ресурсов вызовов и управления мобильностью, включая управление "мягкой" передачей обслуживания между базовыми станциями 104. BSC 106 может также направлять принятые данные к MSC 108, который предоставляет дополнительные услуги маршрутизации для взаимодействия с PSTN 110. Аналогичным образом, PSTN 18 может взаимодействовать с MSC 108, и MSC 108 может взаимодействовать с BSC 106, который в свою очередь может управлять базовыми станциями 104 для передачи наборов сигналов прямой линии связи к наборам мобильных станций 102.
Фиг.2 изображает одну конфигурацию вычислительной среды 200, включающей вычислительное устройство-источник 202, приемное вычислительное устройство 204 и приемное мобильное вычислительное устройство 206. Вычислительное устройство-источник 202 может осуществлять связь с приемными вычислительными устройствами 204, 206 по сети 210. Сеть 210 может быть неким типом вычислительной сети, включая, но не ограничиваясь, Интернет, локальную сеть (LAN), университетскую сеть (CAN), региональную сеть (MAN), глобальную сеть (WAN), кольцевую сеть, звездообразную сеть, кольцевую сеть с маркерным доступом и т.д.
В одной конфигурации вычислительное устройство-источник 202 может кодировать и передавать аудио сигналы 212 к приемным вычислительным устройствам 204, 206 по сети 210. Аудио сигналы 212 могут включать в себя речевые сигналы, музыкальные сигналы, тоны, сигналы фонового шума и т.д. При использовании в данном документе "речевые сигналы" могут относиться к сигналам, сформированным системой человеческой речи, а "неречевые сигналы" могут относиться к сигналам, не сформированным системой человеческой речи (то есть музыка, фоновый шум и т.д.). Вычислительное устройство-источник 202 может быть мобильным телефоном, персональным цифровым помощником (PDA), переносным компьютером, персональным компьютером или любым другим вычислительным устройством с процессором. Приемное вычислительное устройство 204 может быть персональным компьютером, телефоном и т.д. Приемное мобильное вычислительное устройство 206 может быть мобильным телефоном, PDA, переносным компьютером или любым другим мобильным вычислительным устройством с процессором.
enc
enc
Фиг.3 изображает среду 300 передачи сигнала, включающую в себя кодер 302, декодер 304 и передающую среду 306. Кодер 302 может быть реализован внутри мобильной станции 102 или вычислительного устройства-источника 202. Декодер 304 может быть реализован в базовой станции 104, в мобильной станции 102, в приемном вычислительном устройстве 204 или в приемном мобильном вычислительном устройстве 206. Кодер 302 может кодировать аудио сигнал s(n) 310 для формирования кодированного аудио сигнала S(n) 312. Кодированный аудио сигнал 312 может быть передан декодеру 304 по передающей среде 306. Передающая среда 306 может обеспечивать возможность кодеру 302 передавать кодированный аудио сигнал 312 к декодеру по беспроводной связи, или она может обеспечивать возможность кодеру 302 передавать кодированный сигнал 312 по проводному соединению между кодером 302 и декодером 304. Декодер 304 может декодировать s(n) 312, посредством этого формируя синтезированный аудио сигнал ŝ(n) 316.
enc
Термин "кодирование" при использовании в данном документе может относиться, как правило, к способам, включающим в себя как кодирование, так и декодирование. Как правило, системы, способы и устройства кодирования стремятся минимизировать число разрядов, переданных через передающую среду 306 (то есть минимизировать полосу пропускания у s(n) 312), поддерживая при этом приемлемое воспроизведение сигнала (то есть s(n) 310 ≈ ŝ(n) 316). Состав кодированного аудио сигнала 312 может варьироваться в соответствии с конкретным режимом кодирования, используемым кодером 302. Различные режимы кодирования описываются ниже.
Компоненты кодера 302 и декодера 304, описанные ниже, могут быть реализованы в виде электронных аппаратных средств, в виде компьютерного программного обеспечения или их сочетания. Эти компоненты описываются ниже в терминах их функциональных возможностей. Реализованы ли такие функциональные возможности как аппаратные средства или как программное обеспечение, может зависеть от конкретного применения и конструктивных ограничений, налагаемых на всю систему. Передающая среда 306 может представлять собой многочисленные разные передающие среды, включая, но не ограничиваясь, наземную линию связи, линию между базовой станцией и спутником, беспроводную связь между сотовым телефоном и базовой станцией, между сотовым телефоном и спутником или связь между вычислительными устройствами.
Каждая сторона при коммуникации может передавать данные, а также принимать данные. Каждая сторона может использовать кодер 302 и декодер 304. Однако среда 300 передачи сигнала будет описываться ниже как включающая кодер 302 на одном конце передающей среды 306 и декодер 304 на другом.
В одной конфигурации s(n) 310 может включать в себя речевой сигнал в цифровой форме, полученный во время обычного разговора, включая разные голосовые звуки и периоды тишины. Речевой сигнал s(n) 310 может быть разделен на кадры, и каждый кадр может быть дополнительно разделен на субкадры. Эти произвольно выбранные границы кадра/субкадра могут использоваться, где выполняется некоторая блочная обработка. Операции, описываемые как выполняемые на кадрах, также могли бы выполняться в этом смысле на субкадрах; кадр и субкадр в этом документе используются взаимозаменяемо. Также один или более кадров могут включаться в окно, которое может иллюстрировать размещение и временные характеристики для различных кадров.
В другой конфигурации s(n) 310 может включать в себя неречевой сигнал, например музыкальный сигнал. Неречевой сигнал может быть разделен на кадры. Один или более кадров могут включаться в окно, которое может иллюстрировать размещение и временные характеристики различных кадров. Выбор окна может зависеть от методов кодирования, реализованных для кодирования сигнала, и ограничений по задержке, которые могут быть наложены на систему. Настоящие системы и способы описывают способ для выбора формы окна, применяемой в кодировании и декодировании неречевых сигналов с помощью метода кодирования на основе модифицированного дискретного косинусного преобразования (MDCT) и обратного модифицированного дискретного косинусного преобразования (IMDCT) в системе, которая допускает кодирование как речевых, так и неречевых сигналов. Система может накладывать ограничения на то, насколько большая кадровая задержка и опережение может использоваться кодером на основе MDCT для получения возможности формирования кодированной информации на постоянной скорости.
В одной конфигурации кодер 302 включает в себя модуль 308 форматирования окна, который может форматировать окно, которое включает в себя кадры, ассоциированные с неречевыми сигналами. Кадры, включенные в форматированное окно, могут кодироваться, и декодер может восстанавливать кодированные кадры с помощью применения модуля 314 восстановления кадра. Модуль 314 восстановления кадра может синтезировать кодированные кадры таким образом, что кадры имеют сходство с предварительно кодированными кадрами речевого сигнала 310.
Фиг.4 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа 400 для изменения окна с кадром, ассоциированным с аудио сигналом. Способ 400 может быть реализован с помощью кодера 302. В одной конфигурации принимается сигнал (этап 402). Сигнал может быть аудио сигналом, который описывался ранее. Сигнал может быть разделен (этап 404) на множество кадров. Может быть применена оконная функция (этап 408) для формирования окна, и могут быть сформированы первая область заполнения нулями и вторая область заполнения нулями как часть окна для вычисления модифицированного дискретного косинусного преобразования (MDCT). Другими словами, значение начальных и конечных частей окна может быть нулевым. В одном аспекте длина первой области заполнения нулями и длина второй области заполнения нулями может быть функцией ограничений по задержке кодера 302.
Функция MDCT может использоваться в нескольких стандартах аудио кодирования для преобразования выборок сигналов с импульсно-кодовой модуляцией (РСМ), или их обработанных версий, в эквивалентное представление в частотной области. MDCT может быть аналогично дискретному косинусному преобразованию (DCT) типа IV с дополнительным свойством кадров, перекрывающих друг друга. Другими словами, последовательные кадры сигнала, которые преобразуются с помощью MDCT, могут перекрывать друг друга на 50%.
Более того, для каждого кадра из 2М выборок MDCT может создавать М коэффициентов преобразования. MDCT может соответствовать критически дискретизированной гребенкой фильтров с восстановлением без потерь. Чтобы обеспечить восстановление без потерь, коэффициенты MDCT X(k), для k = 0, 1,…M, полученные из кадра сигнала x(n), для n= 0, 1 , … 2M, могут быть заданы с помощью
(1)
где
(2)
для k = 0, 1,…,М , и w(n) является окном, которое может удовлетворять условию Принсена-Брэдли (Princen-Bradley), которое утверждает:
(3)
B декодере М кодированных коэффициентов могут быть преобразованы обратно во временную область с использованием обратного MDCT (IMDCT). Если , для k=0,1,2…М, являются принятыми коэффициентами MDCT, то соответствующий декодер IMDCT формирует восстановленный аудио сигнал путем получения сначала IMDCT принятых коэффициентов для получения 2М выборок, согласно
для n=0,1,…,2М-1 (4)
k
где h(n) задается уравнением (2), затем перекрытия и сложения первых М выборок из текущего кадра с последними М выборками из результата IMDCT предыдущего кадра и первыми М выборками из результата IMDCT следующего кадра. Таким образом, если декодированные коэффициенты MDCT, соответствующие следующему кадру, недоступны в данное время, то только М аудио выборок из текущего кадра может быть восстановлено полностью.
Система MDCT может использовать опережение из М выборок. Система MDCT может включать в себя кодер, который получает MDCT либо аудио сигнала, либо его фильтрованных версий, используя заранее установленное окно, и декодер, который включает в себя функцию IMDCT, которая использует то же окно, что использует кодер. Система MDCT также может включать в себя модуль перекрытия и сложения. Например, фиг.4В иллюстрирует кодер 401 MDCT. Входной аудио сигнал 403 принимается препроцессором 405. Препроцессор 405 реализует предварительную обработку, фильтрацию кодированием с линейным предсказанием (LPC) и другие типы фильтрации. Обработанный аудио сигнал 407 выводится из препроцессора 405. Функция 409 MDCT применяется к 2М выборкам сигнала, которые были соответственно обработаны оконным способом. В одной конфигурации квантователь 411 квантует и кодирует М коэффициентов 413, и М кодированных коэффициентов передаются к декодеру 429 MDCT.
Декодер 429 принимает М кодированных коэффициентов 413. IMDCT 415 применяется к М принятым коэффициентам 413 с использованием того же окна, что и в кодере 401. 2М значений 417 сигнала могут быть классифицированы как набор 423 из первых М выборок, и последние М выборок 419 могут быть сохранены. Последние М выборок 419 могут быть дополнительно замедлены на один кадр с помощью устройства 421 задержки. Первые М выборок 423 и замедленные последние М выборок 419 могут быть сложены с помощью сумматора 425. Суммированные выборки могут использоваться для создания восстановленных М выборок 427 аудио сигнала.
Как правило, в системах MDCT 2М сигналов может быть получено из М выборок текущего кадра и М выборок будущего кадра. Однако, если доступно только L выборок из будущего кадра, то может выбираться окно, которое реализует L выборок из будущего кадра.
В системе речевой связи реального масштаба времени, работающей по сети с коммутацией каналов, длина опережающих выборок может ограничиваться максимально возможной задержкой кодирования. Может предполагаться, что доступна длина опережения, равная L. L может быть меньше либо равна М. При этом условии все еще может быть желательно использовать MDCT с перекрытием между последовательными кадрами, являющимися L выборками, в то же время сохраняя свойство восстановления без потерь.
Настоящие системы и способы могут относиться, в частности, к двусторонним системам связи реального масштаба времени, где предполагается, что кодер формирует информацию для передачи с постоянным интервалом независимо от выбора режима кодирования. Система может не допускать дрожания в формировании такой информации кодером, или такое дрожание в формировании такой информации может быть нежелательным.
В одной конфигурации функция модифицированного дискретного косинусного преобразования (MDCT) применяется (этап 410) к кадру. Применение оконной функции может быть этапом в вычислении MDCT кадра. В одной конфигурации функция MDCT обрабатывает 2М входных выборок для формирования М коэффициентов, которые затем могут быть квантованы и переданы.
В одной конфигурации кадр может кодироваться (этап 410). В одном аспекте могут кодироваться коэффициенты кадра (этап 410). Кадр может кодироваться с использованием различных режимов кодирования, которые будут обсуждаться более подробно ниже. Кадр может быть отформатирован (этап 412) в пакет, и пакет может быть передан (этап 414). В одной конфигурации пакет передается (этап 414) декодеру.
Фиг.5 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа 500 для восстановления кодированного кадра аудиосигнала. В одной конфигурации способ 500 может быть реализован с помощью декодера 304. Пакет может быть принят (этап 502). Пакет может быть принят (этап 502) от кодера 302. Пакет может быть разобран (этап 504), чтобы извлечь кадр. В одной конфигурации кадр может декодироваться (этап 506). Кадр может быть восстановлен (этап 508). В одном примере модуль 314 восстановления кадра восстанавливает кадр, подобный предварительно кодированному кадру аудиосигнала. Восстановленный кадр может быть выведен (этап 510). Выведенный кадр может быть объединен с дополнительными выведенными кадрами, чтобы воспроизвести аудиосигнал.
Фиг.6 - блок-схема, иллюстрирующая одну конфигурацию многорежимного кодера 602, обменивающегося информацией с многорежимным декодером 604 по каналу 606 связи. Система, которая включает в себя многорежимный кодер 602 и многорежимный декодер 604, может быть системой кодирования, которая включает в себя несколько разных схем кодирования для кодирования разных типов аудио сигналов. Канал 606 связи может включать в себя радиочастотный (RF) интерфейс. Кодер 602 может включать в себя ассоциированный декодер (не показан). Кодер 602 и его ассоциированный декодер могут составлять первый кодер. Декодер 604 может включать в себя ассоциированный кодер (не показан). Декодер 604 и его ассоциированный кодер могут составлять второй кодер.
Кодер 602 может включать в себя модуль 618 вычисления начальных параметров, модуль 622 классификации режимов, множество режимов 624, 626, 628 кодирования и модуль 630 форматирования пакета. Количество режимов 624, 626, 628 кодирования показано в виде N, что может означать любое количество режимов 624, 626, 628 кодирования. Для простоты показаны три режима 624, 626, 628 кодирования, причем пунктирная линия указывает наличие других режимов кодирования.
Декодер 604 может включать в себя модуль 632 разбора пакета, множество режимов 634, 636, 638 декодирования, модуль 640 восстановления кадра и постфильтр 642. Количество режимов 634, 636, 638 декодирования показано в виде N, что может означать любое количество режимов 634, 636, 638 декодирования. Для простоты показаны три режима 634, 636, 638 декодирования, причем пунктирная линия указывает наличие других режимов декодирования.
Аудио сигнал s(n) 610 может предоставляться модулю 618 вычисления начальных параметров и модулю 622 классификации режимов. Сигнал 610 может разделяться на блоки выборок, называемые кадрами. Значение n может указывать номер кадра, либо значение n может указывать номер выборки в кадре. В альтернативной конфигурации вместо аудио сигнала 610 может использоваться сигнал остаточной ошибки линейного предсказания (LP). Сигнал остаточной ошибки линейного предсказания может использоваться речевыми кодерами, например кодером линейного предсказания с кодовым возбуждением (CELP).
Модуль 618 вычисления начальных параметров может выводить различные параметры на основе текущего кадра. В одном аспекте эти параметры включают в себя по меньшей мере одно из следующего: коэффициенты фильтра кодирования с линейным предсказанием (LPC), коэффициенты пары спектральных линий (LSP), нормированные автокорреляционные функции (NACF), запаздывание разомкнутого контура, частоты переходов через нуль, энергии диапазона и формантный остаточный сигнал. В другом аспекте модуль 618 вычисления начальных параметров может предварительно обрабатывать сигнал 610 путем фильтрации сигнала 610, вычисления основного тона и т.д.
Модуль 618 вычисления начальных параметров может быть соединен с модулем 622 классификации режимов. Модуль 622 классификации режимов может динамически переключаться между режимами 624, 626, 628 кодирования. Модуль 618 вычисления начальных параметров может предоставлять параметры модулю 622 классификации режимов относительно текущего кадра. Модуль 622 классификации режимов может быть соединен с динамическим переключателем между режимами 624, 626, 628 кодирования на покадровой основе, чтобы выбрать подходящий режим 624, 626, 628 кодирования для текущего кадра. Модуль 622 классификации режимов может выбрать конкретный режим 624, 626, 628 кодирования для текущего кадра путем сравнения параметров с предопределенной пороговой величиной и/или предельными значениями. Например, ассоциированный с неречевым сигналом кадр может кодироваться с использованием схем кодирования MDCT. Схема кодирования MDCT может принимать кадр и применять определенный формат окна MDCT к кадру. Пример определенного формата окна MDCT описывается ниже в отношении фиг.8.
Модуль 622 классификации режимов может классифицировать речевой кадр как речь или неактивная речь (например, тишина, фоновый шум или паузы между словами). На основе периодичности кадров модуль 622 классификации режимов может классифицировать речевые кадры как конкретный тип речи, например вокализованная, невокализованная или переходная.
Вокализованная речь может включать в себя речь, которая проявляет относительно высокую степень периодичности. Период основного тона может быть компонентом речевого кадра, который может использоваться для анализа и восстановления содержимого кадра. Невокализованная речь может включать в себя согласные звуки. Переходные речевые кадры могут включаться в себя переходы между вокализованной и невокализованной речью. Кадры, которые не классифицируются как вокализованная или невокализованная речь, классифицируются как переходная речь.
Классифицирование кадров на речевые или неречевые может сделать возможным использование разных режимов 624, 626, 628 кодирования для кодирования разных типов кадров, приводя к более эффективному использованию полосы пропускания совместно используемого канала, например канала 606 связи.
Модуль 622 классификации режимов может выбрать режимы 624, 626, 628 кодирования для текущего кадра на основе классификации кадра. Различные режимы 624, 626, 628 кодирования могут соединяться параллельно. Один или несколько режимов 624, 626, 628 кодирования могут быть задействованы в любое заданное время. В одной конфигурации один из режимов 624, 626, 628 кодирования выбирается в соответствии с классификацией текущего кадра.
Разные режимы 624, 626, 628 кодирования могут работать согласно разным битовым скоростям кодирования, разным схемам кодирования или разным сочетаниям битовой скорости кодирования и схемы кодирования. Разные режимы 624, 626, 628 кодирования также могут применять разную оконную функцию к кадру. Различные используемые кодовые скорости могут быть полной скоростью, половинной скоростью, четвертной скоростью и/или скоростью в одну восьмую. Различные используемые режимы 624, 626, 628 кодирования могут быть кодированием MDCT, кодированием методом линейного предсказания с кодовым возбуждением (CELP), кодированием прототипом периода основного тона (РРР) (или кодированием с интерполяцией формы волны (WI)) и/или кодированием методом линейного предсказания с шумовым возбуждением (NELP). Таким образом, например, конкретный режим 624, 626, 628 кодирования может быть схемой кодирования MDCT, другой режим кодирования может быть CELP на полной скорости, другой режим кодирования 624, 626, 628 может быть CELP на половинной скорости, другой режим 624, 626, 628 кодирования может быть PPP на полной скорости и другой режим 624, 626, 628 кодирования может быть NELP.
В соответствии со схемой кодирования MDCT, которая использует традиционное окно для кодирования, передачи, приема и восстановления на декодере М выборок из аудио сигнала, схема кодирования MDCT использует 2М выборок из входного сигнала на кодере. Другими словами, в дополнение к М выборкам текущего кадра аудио сигнала кодер может ждать, пока соберутся дополнительные М выборок, перед тем как может начаться кодирование. В системе многорежимного кодирования, где схема кодирования MDCT сосуществует с другими режимами кодирования, например CELP, использование традиционных форматов окна для вычисления MDCT может повлиять на общий размер кадра и длины опережения во всей системе кодирования. Настоящие системы и способы обеспечивают проектирование и выбор форматов окна для вычислений MDCT для любого заданного размера кадра и длины опережения, чтобы схема кодирования MDCT не задавала ограничения на систему многорежимного кодирования.
В соответствии с режимом кодирования CELP может возбуждаться модель речевого тракта с линейным предсказанием с квантованной версией линейно предсказанного остаточного сигнала. В режиме кодирования CELP может квантоваться текущий кадр. Режим кодирования CELP может использоваться для кодирования кадров, классифицированных как переходная речь.
В соответствии с режимом кодирования NELP фильтрованный, псевдослучайный шумовой сигнал может использоваться для моделирования линейно предсказанного остаточного сигнала. Режим кодирования NELP может быть относительно простым методом, который достигает низкой битовой скорости. Режим кодирования NELP может использоваться для кодирования кадров, классифицированных как невокализованная речь.
В соответствии с режимом кодирования PPP может кодироваться подмножество периодов основного тона в каждом кадре. Оставшиеся периоды речевого сигнала могут быть восстановлены с помощью интерполяции между этими прототипными периодами. В реализации кодирования PPP во временной области может вычисляться первый набор параметров, который описывает, как изменить предыдущий прототипный период для приближения к текущему прототипному периоду. Могут быть выбраны один или несколько кодовых векторов, которые при суммировании приближают разницу между текущим прототипным периодом и измененным предыдущим прототипным периодом. Второй набор параметров описывает эти выбранные кодовые векторы. В реализации кодирования PPP в частотной области может вычисляться набор параметров для описания амплитудных и фазовых спектров прототипа. В соответствии с реализацией кодирования PPP декодер 604 может синтезировать выходной аудио сигнал 616 путем восстановления текущего прототипа на основе наборов параметров, описывающих амплитуду и фазу. Речевой сигнал может быть интерполирован на область между текущим восстановленным прототипным периодом и предыдущим восстановленным прототипным периодом. Прототип может включать в себя часть текущего кадра, который будет линейно интерполирован с помощью прототипов из предыдущих кадров, которые были аналогичным образом размещены внутри кадра, чтобы восстановить аудио сигнал 610 или линейно предсказанный остаточный сигнал на декодере 604 (то есть прошлый прототипный период используется в качестве прогнозирующего параметра у текущего прототипного периода).
Кодирование прототипного периода вместо всего кадра может снизить битовую скорость кодирования. Кадры, классифицированные как вокализованная речь, могут кодироваться с помощью режима кодирования PPP. С помощью использования периодичности вокализованной речи режим кодирования PPP может достичь более низкой битовой скорости, чем режим кодирования CELP.
Выбранный режим 624, 626, 628 кодирования может быть соединен с модулем 630 форматирования пакета. Выбранный режим 624, 626, 628 кодирования может кодировать, или квантовать, текущий кадр и предоставлять параметры 612 квантованного кадра модулю 630 форматирования пакета. В одной конфигурации параметры квантованного кадра являются кодированными коэффициентами, полученными из схемы кодирования MDCT. Модуль 630 форматирования пакета может собирать параметры 612 квантованного кадра в форматированный пакет 613. Модуль 630 форматирования пакета может предоставлять форматированный пакет 613 приемнику (не показан) по каналу 606 связи. Приемник может принимать, демодулировать и оцифровывать форматированный пакет 613, и предоставлять пакет 613 декодеру 604.
В декодере 604 модуль 632 разбора пакета может принимать пакет 613 от приемника. Модуль 632 разбора пакета может распаковать пакет 613, чтобы извлечь кодированный кадр. Модуль 632 разбора пакета может быть также сконфигурирован для динамического переключения между режимами 634, 636, 638 декодирования на пакетной основе (для каждого пакета). Количество режимов 634, 636, 638 декодирования может быть тем же, что и количество режимов 624, 626, 628 кодирования. Каждый пронумерованный режим 624, 626, 628 кодирования может быть ассоциирован с соответствующим аналогично пронумерованным режимом 634, 636, 638 декодирования, сконфигурированным для применения той же битовой скорости кодирования и схемы кодирования.
Если модуль 632 разбора пакета обнаруживает пакет 613, то пакет 613 разбирается и предоставляется подходящему режиму декодирования 634, 636, 638. Подходящий режим 634, 636, 638 декодирования может реализовывать методы декодирования MDCT, CELP, PPP или NELP на основе кадра в пакете 613. Если модуль 632 разбора пакета не обнаруживает пакет, объявляется потеря пакета и декодер стирания (не показан) может выполнять обработку стирания кадра. Параллельный массив режимов 634, 636, 638 декодирования может быть соединен с модулем 640 восстановления кадра. Модуль 640 восстановления кадра может восстанавливать, или синтезировать, кадр, выводя синтезированный кадр. Синтезированный кадр может объединяться с другими синтезированными кадрами для образования синтезированного аудио сигнала ŝ(n) 616, который имеет сходство с входным аудио сигналом s(n) 610.
Фиг.7 - блок-схема алгоритма, иллюстрирующая один пример способа 700 кодирования аудио сигнала. Могут быть вычислены начальные параметры текущего кадра (этап 702). В одной конфигурации модуль 618 вычисления начальных параметров вычисляет (этап 702) параметры. Для неречевых кадров параметры могут включать в себя один или более коэффициентов для указания, что кадр является неречевым кадром. Речевые кадры могут включать в себя параметры одного или более из следующего: коэффициенты фильтра кодирования с линейным предсказанием (LPC), коэффициенты пар спектральных линий (LSP), нормированные автокорреляционные функции (NACF), запаздывание разомкнутого контура, энергии диапазона, частоты переходов через нуль и формантный остаточный сигнал. Неречевые кадры также могут включать в себя параметры, например коэффициенты фильтра кодирования с линейным предсказанием (LPC).
Текущий кадр может быть классифицирован (этап 704) как речевой кадр или неречевой кадр. Как упоминалось ранее, речевой кадр может быть ассоциирован с речевым сигналом, а неречевой кадр может быть ассоциирован с неречевым сигналом (то есть музыкальным сигналом). Режим кодера/декодера может быть выбран (этап 710) на основе классификации кадра, выполненной на этапах 702 и 704. Различные режимы кодера/декодера могут быть соединены параллельно, как показано на фиг.6. Разные режимы кодера/декодера работают согласно разным схемам кодирования. Некоторые режимы могут быть более эффективны на частях кодирования аудио сигнала s(n) 610, проявляющих определенные свойства.
Как ранее объяснялось, схема кодирования MDCT может быть выбрана для кодирования кадров, классифицированных как неречевые кадры, например музыка. Режим CELP может быть выбран для кодирования кадров, классифицированных как переходная речь. Режим PPP может быть выбран для кодирования кадров, классифицированных как вокализованная речь. Режим NELP может быть выбран для кодирования кадров, классифицированных как невокализованная речь. Один и тот же метод кодирования может часто использоваться на разных битовых скоростях с изменяющимися уровнями эффективности. Разные режимы кодера/декодера на фиг.6 могут представлять разные методы кодирования или один метод кодирования, работающий на разных битовых скоростях, или сочетания вышеупомянутого. Выбранный режим кодера (этап 710) может применить подходящую оконную функцию к кадру. Например, может быть применена конкретная оконная функция MDCT из настоящих систем и способов, если выбранный режим кодирования является схемой кодирования MDCT. В качестве альтернативы оконная функция, ассоциированная со схемой кодирования CELP, может быть применена к кадру, если выбранный режим кодирования является схемой кодирования CELP. Выбранный режим кодера может кодировать (этап 712) текущий кадр и форматировать (этап 714) кодированный кадр в пакет. Пакет может передаваться (этап 716) декодеру.
Фиг.8 - блок-схема, иллюстрирующая одну конфигурацию множества кадров 802, 804, 806 после того, как к каждому кадру применена отдельная оконная функция MDCT. В одной конфигурации каждый из предыдущего кадра 802, текущего кадра 804 и будущего кадра 806 может быть классифицирован как неречевые кадры. Длина 820 текущего кадра 804 может быть представлена с помощью 2М. Длины предыдущего кадра 802 и будущего кадра 806 также могут составлять 2М. Текущий кадр 804 может включать в себя первую область 810 заполнения нулями и вторую область 818 заполнения нулями. Другими словами, значения коэффициентов в первой и второй областях 810, 818 заполнения нулями могут быть нулевыми.
В одной конфигурации текущий кадр 804 также включает в себя длину 812 перекрытия и длину 816 опережения. Длины 812, 816 перекрытия и опережения могут быть представлены как L. Длина 812 перекрытия может перекрывать длину опережения предыдущего кадра 802. В одной конфигурации значение L меньше значения М. В другой конфигурации значение L равно значению М. Текущий кадр также может включать в себя единичную длину 814, в которой каждое значение кадра в этой длине 814 является единицей. Как проиллюстрировано, будущий кадр 806 может начинаться в средней точке 808 текущего кадра 804. Другими словами, будущий кадр 806 может начинаться с длины М текущего кадра 804. Аналогичным образом, предыдущий кадр 802 может заканчиваться в средней точке 808 текущего кадра 804. По существу, существует 50%-ное перекрытие предыдущего кадра 802 и будущего кадра 806 на текущем кадре 804.
Конкретная оконная функция MDCT может способствовать восстановлению без потерь аудио сигнала в декодере, если модуль квантователя/кодирования коэффициентов MDCT точно восстанавливает коэффициенты MDCT в декодере. В одной конфигурации модуль квантователя/кодирования коэффициентов MDCT может не точно восстанавливать коэффициенты MDCT в декодере. В этом случае точность восстановления декодера может зависеть от возможности модуля квантователя/кодирования коэффициентов MDCT точно восстанавливать коэффициенты. Применение окна MDCT к текущему кадру может обеспечить восстановление без потерь текущего кадра, если он перекрывается на 50% как предыдущим кадром, так и будущим кадром. К тому же, окно MDCT может обеспечивать восстановления без потерь, если удовлетворяется условие Принсена-Брэдли. Как упоминалось ранее, условие Принсена-Брэдли может быть выражено в виде:
(3)
где w(n) может представлять окно MDCT, проиллюстрированное на фиг.8. Выраженное уравнением (3) условие может подразумевать, что точка на кадре 802, 804, 806, добавленная к соответствующей точке на другом кадре 802, 804, 806, обеспечит значение единицы. Например, точка предыдущего кадра 802 на половине длины 808, добавленная к соответствующей точке текущего кадра 804 на половине длины 808, приводит к значению единицы.
Фиг.9 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа 900 для применения оконной функции MDCT к кадру, ассоциированному с неречевым сигналом, например, текущему кадру 804, описанному на фиг.8. Процесс применения оконной функции MDCT может быть этапом в вычислении MDCT. Другими словами, восстановление MDCT без потерь может не применяться без использования окна, которое удовлетворяет условиям перекрытия в 50% между двумя последовательными окнами и ранее объясненному условию Принсена-Брэдли. Оконная функция, описываемая в способе 900, может быть реализована как часть применения функции MDCT к кадру. В одном примере могут быть доступны М выборок из текущего кадра 804, а также L опережающих выборок. L может быть произвольным значением.
Может быть сформирована первая область заполнения нулями из (M-L)/2 выборок текущего кадра 804 (этап 902). Как объяснялось ранее, заполнение нулями может подразумевать, что коэффициенты выборок в первой области 810 заполнения нулями могут быть нулевыми. В одной конфигурации может предоставляться длина перекрытия из L выборок текущего кадра 804 (этап 904). Длина перекрытия из L выборок текущего кадра может быть перекрыта и сложена (этап 906) с восстановленной длиной опережения предыдущего кадра 802. Первая область заполнения нулями и длина перекрытия текущего кадра 804 могут перекрывать предыдущий кадр 802 на 50%. В одной конфигурации могут предоставляться (M-L) выборок текущего кадра (этап 908). Также могут предоставляться L выборок опережения для текущего кадра (этап 910). L выборок опережения могут перекрывать будущий кадр 806. Может быть сформирована вторая область заполнения нулями из (M-L)/2 выборок текущего кадра. В одной конфигурации L выборок опережения и вторая область заполнения нулями текущего кадра 804 могут перекрывать будущий кадр 806 на 50%. Кадр, к которому применен способ 900, может удовлетворять условию Принсена-Брэдли, которое описано ранее.
Фиг.10 - блок-схема алгоритма, иллюстрирующая одну конфигурацию способа 1000 для восстановления кадра, который был изменен оконной функцией MDCT. В одной конфигурации способ 1000 реализуется с помощью модуля 314 восстановления кадра. Выборки из текущего кадра 804 могут быть синтезированы (этап 1002), начиная с конца первой области 812 заполнения нулями и до конца (M-L) области 814. Область перекрытия из L выборок текущего кадра 804 может быть суммирована (этап 1004) с длиной опережения предыдущего кадра 802. В одной конфигурации опережение из L выборок 816 в текущем кадре 804 может быть сохранено (этап 1006), начиная с конца (M-L) области 814 и до начала второй области 818 заполнения нулями. В одном примере опережение из L выборок 816 может быть сохранено в запоминающем компоненте декодера 304. В одной конфигурации может быть выведено M выборок (этап 1008). Выведенные М выборок могут быть объединены с дополнительными выборками для восстановления текущего кадра 804.
Фиг.11 иллюстрирует различные компоненты, которые могут использоваться в устройстве связи/вычислительном устройстве 1108 в соответствии с системами и способами, описанными в этом документе. Вычислительное устройство 1108 может включать в себя процессор 1102, который управляет работой устройства 1108. Процессор 1102 также может упоминаться как CPU (центральный процессорный блок). Запоминающее устройство 1104, которое может включать в себя как постоянное запоминающее устройство (ROM), так и оперативное запоминающее устройство (RAM), предоставляет команды и данные процессору 1102. Часть запоминающего устройства 1104 также может включать в себя энергонезависимое оперативное запоминающее устройство (NVRAM).
Устройство 1108 также может включать в себя корпус 1122, который содержит передатчик 1110 и приемник 1112, чтобы сделать возможной передачу и прием данных между терминалом 1108 доступа и удаленным местоположением. Передатчик 1110 и приемник 1112 могут быть объединены в приемопередатчик 1120. Антенна 1118 прикрепляется к корпусу 1122 и электрически соединяется с приемопередатчиком 1120. Передатчик 1110, приемник 1112, приемопередатчик 1120 и антенна 1118 могут использоваться в конфигурации устройства 1108 связи.
Устройство 1108 также включает в себя детектор 1106 сигнала, используемый для обнаружения и измерения уровня сигналов, принятых приемопередатчиком 1120. Детектор 1106 сигнала обнаруживает такие сигналы, как общая энергия, отношение энергии пилот-сигнала к псевдошумовым (PN) элементарным сигналам, спектральная плотность мощности и другие сигналы.
Устройство 1114 смены состояния в устройстве 1108 связи управляет состоянием устройства связи/вычислительного устройства 1108 на основе текущего состояния и дополнительных сигналов, принятых приемопередатчиком 1120 и обнаруженных детектором 1106 сигнала. Устройство 1108 может допускать работу в любом из некоторого количества состояний.
Устройство связи/вычислительное устройство 1108 также включает в себя устройство 1124 определения системы, используемое для управления устройством 1108 и определения, на какую систему поставщика услуг устройству 1108 следует переходить, когда оно определяет, что текущая система поставщика услуг не отвечает требованиям.
Различные компоненты устройства связи/вычислительного устройства 1108 соединяются вместе с помощью магистральной системы 1126, которая может включать в себя шину питания, шину управляющего сигнала и шину сигнала состояния в дополнение к шине данных. Однако для ясности различные шины иллюстрируются на фиг.11 в виде магистральной системы 1126. Устройство связи/вычислительное устройство 1108 также может включать в себя цифровой процессор 1116 сигналов (DSP) для использования в обработке сигналов.
Информация и сигналы могут представляться с использованием любых из ряда разных технологий и методов. Например, данные, инструкции, команды, информация, сигналы, разряды, символы и элементарные сигналы, которые упоминаются по всему вышеприведенному описанию, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами или любым их сочетанием.
Различные пояснительные логические блоки, модули, схемы и этапы алгоритмов, описанные в связи с конфигурациями, раскрытыми в этом документе, могут быть реализованы в виде электронных аппаратных средств, компьютерного программного обеспечения или их сочетания. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные пояснительные компоненты, блоки, модули, схемы и этапы описаны выше, как правило, в терминах их функциональных возможностей. Реализованы ли такие функциональные возможности как аппаратные средства или как программное обеспечение, зависит от конкретного применения и конструктивных ограничений, налагаемых на всю систему. Квалифицированные специалисты могут реализовать описанные функциональные возможности различными путями для каждого отдельного применения, но такие решения по реализации не должны интерпретироваться как вызывающие отклонение от объема настоящих систем и способов.
Различные пояснительные логические блоки, модули и схемы, описанные в связи с раскрытыми в этом документе конфигурациями, могут быть реализованы или выполнены с помощью универсального процессора, цифрового процессора сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого программируемого логического устройства, дискретной вентильной или транзисторной логики, дискретных аппаратных компонентов или любого их сочетания, спроектированных для выполнения функций, описанных в этом документе. Универсальный процессор может быть микропроцессором, но в альтернативном варианте процессор может быть любым процессором, контроллером, микроконтроллером или конечным автоматом. Процессор также может быть реализован в виде сочетания вычислительных устройств, например сочетания DSP и микропроцессора, множества микропроцессоров, одного или более микропроцессоров совместно с ядром DSP или любой другой подобной конфигурации.
Этапы способа или алгоритма, описанные в связи с раскрытыми в этом документе конфигурациями, могут быть реализованы непосредственно в аппаратных средствах, в модуле программного обеспечения, выполняемом процессором, или в сочетании двух этих средств. Модуль программного обеспечения может постоянно находиться в запоминающем устройстве RAM, флэш-памяти, запоминающем устройстве ROM, стираемом программируемом постоянном запоминающем устройстве (EPROM), электрически стираемом программируемом постоянном запоминающем устройстве (EEPROM), регистрах, жестком диске, сменном диске, компакт-диске только для чтения (CD-ROM) или в любой другой форме носителя информации, известной в данной области техники. Носитель информации может быть соединен с процессором так, что процессор может считывать информацию и записывать информацию на носитель информации. В альтернативном варианте носитель информации может составлять единое целое с процессором. Процессор и носитель информации могут постоянно находиться в ASIC. ASIC может постоянно находиться в пользовательском терминале. В альтернативном варианте процессор и носитель информации могут постоянно находиться в виде дискретных компонентов в пользовательском терминале.
Раскрытые в этом документе способы содержат один или более этапов или действий для достижения описываемого способа. Этапы способа и/или действия могут меняться друг с другом без отклонения от объема настоящих систем и способов. Другими словами, пока не задан особый порядок этапов или действий для надлежащей работы конфигурации, порядок и/или использование определенных этапов и/или действий может быть изменен без отклонения от объема настоящих систем и способов. Раскрытые в этом документе способы могут быть реализованы в аппаратных средствах, программном обеспечении или и в том, и в другом. Примеры аппаратных средств и запоминающего устройства могут включать в себя RAM, ROM, EPROM, EEPROM, флэш-память, оптический диск, регистры, жесткий диск, сменный диск, CD-ROM или любые другие типы аппаратных средств и запоминающего устройства.
Несмотря на то, что проиллюстрированы и описаны определенные конфигурации и применения настоящих систем и способов, нужно понимать, что системы и способы не ограничиваются точной конфигурацией и раскрытыми в этом документе компонентами. Различные модификации, изменения и вариации, которые будут очевидны специалистам в данной области техники, могут быть сделаны в конфигурации, работе и деталях способов и систем, раскрытых в этом документе, без отклонения от сущности и объема заявленных систем и способов.