СИСТЕМА И СПОСОБ ОБЕСПЕЧЕНИЯ СИНХРОНИЗАЦИИ ДЛЯ АДАПТИВНОЙ МНОГОСКОРОСТНОЙ ШИРОКОПОЛОСНОЙ ПРЕРЫВАЕМОЙ ПЕРЕДАЧИ
SYSTEM AND METHOD FOR PROVIDING ADAPTIVE MULTI-RATE WIDEBAND DISCONTINOUS TRANSMISSION SYNCHRONISATION

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится в общем к кодированию речевого сигнала. Более конкретно настоящее изобретение относится к кодированию речи, устойчивости к ошибкам и передаче речи по сетям с коммутацией каналов, таким как сети TFO (Tandem Free Operation, бестандемная передача), сети TrFO (Transcoder Free Operation, бестранскодерная передача), а также по сетям с коммутацией пакетов, таким как сети VolP (Voice Over IP, IP-телефония).
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0002] В этом разделе описываются предпосылки или условия создания настоящего изобретения, изложенного в прилагаемой формуле изобретения. Настоящее описание может включать идеи, которые могли быть осуществлены, но не обязательно являются идеями, которые были ранее сформулированы или осуществлены. Поэтому если в данном описании не указано другое, то содержание этого раздела не является существующим уровнем техники по отношению к данному описанию и прилагаемой формуле и не признается существующим уровнем техники вследствие включения в данный раздел.
rd
[0003] Режимы TFO и TrFO в базовой сети 3GPP (3 Generation Partnership Project), а также логический узел приемника для услуг, таких как VolP, могут вводить пустые кадры или пакеты, передаваемые в кодер речи вместе с кодом передачи RX_NO_DATA, в поток битов AMR-WB (Adaptive Multi-Rate WideBand - адаптивный многоскоростной широкополосный поток). Другими словами, поток битов активной речи может периодически включать пустые кадры или пакеты. Такие пустые кадры или пакеты обычно используются для других целей. Например, такие кадры или пакеты часто замещаются срочными сигнальными данными, такими как сигнализация TFO/TrFO или другая сигнализация системного уровня. Чтобы декодер не обрабатывал такие кадры/пакеты с «неречевыми» данными, как кадры/пакеты речи, они маркируются как RX_NO_DATA. Другой случай приема кадра RX_NO_DATA - это кадр, потерянный или искаженный в процессе передачи, который может быть замещен кадром RX_NO_DATA, например, в промежуточном элементе.
[0004] Если декодер AMR-WB принимает кадр RX_NO_DATA в пределах фрагмента активной речи, когда задействована функция DTX (Discontinuous transmission - прерываемая передача), применение декодера AMR-WB в соответствии с TS 26.173 v.7.0.0 (с фиксированной точкой) и TS 26.204 v.7.0.0 (с плавающей точкой) может подавить или ослабить выход синтеза речи, иногда длительностью до 100 мс. Такое подавление или ослабление выходного сигнала вызывает проблемы, связанные со значительным ухудшением качества речи.
[0005] Соответствующие функции декодера AMR-WB в соответствии с TS 26.193 v.7.0.0 «Source controlled rate operation» предусматривают, что кадры NO_DATA (нет данных), принимаемые, когда декодер находится в режиме SPEECH, должны обрабатываться обработчиком DTX как кадры SPEECH_LOST. В частности в TS 26.193 v7.0.0 сформулировано, что «если обработчик RX_DTX находится в режиме SPEECH, то кадры, классифицируемые как SPEECH_DEGRADATED, SPEED_BAD, SPEECH_LOST или NO_DATA, должны быть замещены и подавлены, как описывается в 3GPP TS 26.191. Кадры, классифицированные как NO_DATA, должны обрабатываться как кадры SPEECH_LOST, не содержащие фактическую речевую информацию».
[0006] Желательно, чтобы декодер AMR-WB был более устойчивым к ошибкам так, чтобы он мог обрабатывать любую входную комбинацию кадров различного типа, которая может быть создана сетью или создана вариантами реализаций в терминалах/шлюзах. При этом возникают некоторые проблемы в случае синхронизации DTX. Кодер AMR-WB имеет функцию VAD (Voice Activity Detection - обнаружение активности речи), которая обнаруживает речевую паузу, и соответственно кодер AMR-WB устанавливает значение флага VAD равным нулю, чтобы указать кадр, содержащий речевую паузу. Функция DTX (Discontinuous transmission - прерываемая передача) вызывается после завершения интервала перехода к DTX, длительностью восемь кадров, во время которого определяются параметры комфортного шума. Декодеру требуется синхронизация с кодером относительно этого перехода на DTX. Если декодер не будет синхронизирован таким образом, то вычисление комфортного шума в декодере не будет совпадать с кодером.
[0007] Обычно принятый кадр NO_DATA просто классифицируется как кадр, принадлежащий интервалу DTX, т.е. он указывает, что передача не осуществлялась. Однако в этой ситуации возникает проблема, поскольку несмотря на то, что передатчик или сеть передавали сигнальные кадры, логический узел синхронизации DTX не синхронизирован. Синхронизация восстанавливается после того, как принят первый кадр SID (Silence Descriptor - дескриптор паузы), включающий параметры комфортного шума. С другой стороны, когда кадр NO_DATA классифицируется как часть потока битов активной речи и замещается кадром типа SPEECH_LOST (операцией маскирования ошибок в декодере), возникает проблема с обработкой DTX. Например, если приемник потерял кадр SID_FIRST (первый кадр интервала DTX), то кадр NO_DATA ошибочно классифицируется как потерянный речевой кадр. Синхронизация восстанавливается только после приема следующего кадра SID_UPDATE.
[0008] В эталонной реализации AMR-WB с фиксированной точкой (3GPP TS26.173) обработка такой синхронизации DTX осуществляется в коде на языке С, как показано ниже в примере 1 (функция “rx_dtx_handler” в исходном файле “dtx.c”).
Пример 1
1 if ((sub(frame_type, RX_SID_FIRST)==0) ||
2 (sub(frame_type, RX_SID_UPDATE)==0) ||
3 (sub(frame_type, RX_SID_BAD)==0) ||
4 (sub(frame_type, RX_NO_DATA)==0)) ||
5 {
6 encState=DTX; movel6();
7 } else
8 {
9 encState=SPEECH; movel6();
10 }
[0009] В строках 1-3 в вышеприведенном примере алгоритм проверяет, является ли данный кадр кадром SID_FIRST, кадром SID_UPDATE или искаженным кадром SID. В строке 4 алгоритм определяет, является ли данный кадр кадром NO_DATA. Если одно или более из этих условий выполняется, то декодер переключается (или остается) в состоянии DTX. На базе этого фрагмента исходного кода ясно, что если кадр NO_DATA вставляется вместо речевого кадра, который отбрасывается, чтобы освободить место для сигнальных данных в середине фрагмента активной речи, декодер ошибочно переключается в режим DTX, даже если правильным действием было бы остаться в состоянии приема речи.
[0010] Далее в примере 2 показано существующее в настоящее время предложение для обработки указанной выше ситуации.
Пример 2
1 if ((sub(frame_type, RX_SID_FIRST)==0) ||
2 (sub(frame_type, RX_SID_UPDATE)==0) ||
3 (sub(frame_type, RX_SID_BAD)==0) ||
4 ((sub(frame_type, RX_NO_DATA)==0)&&
4b (sub(st->dtxGlobalState, SPEECH)!=)))
5 {
6 encState=DTX; movel6();
7 } else
8 {
9 encState=SPEECH; movel6();
10 }
[0011] Несмотря на то, что текст в строке 4b обеспечивает то, что кадр NO_DATA, который вставляется в середину фрагмента активной речи, не вызывает ошибочного переключения в состояние DTX, это все равно полностью не решает проблему неправильной обработки вставляемого кадра NO_DATA.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0012] Различные варианты осуществления настоящего изобретения предоставляют систему и способ обеспечения усовершенствованной синхронизации потока AMR-WB в режиме DTX. В соответствии с различными вариантами осуществления изобретения рассматриваемый поток битов AMR-WB включает информацию в флаге VAD в каждом передаваемом кадре. Другими словами, декодеру передается индикация о начале неактивного периода речи за восемь кадров до начала интервала DTX, т.е. до приема кадра SID_FIRST. Следовательно, когда флаг VAD указывает на активную речь, или флагу установлено значение, равное нулю, менее чем восемь кадров назад, принятый кадр NO_DATA классифицируется с высокой степенью достоверности, как активная речь, т.е. рассматривается как сигнализация, инициированная передатчиком, сетью или терминалом, и замещается кадром SPEECH_LOST. Если значение флага VAD установлено равным нулю восемь кадров назад или раньше, то кадр NO_DATA классифицируется как DTX. В различных вариантах осуществления настоящего изобретения приемник AMR-WB является более устойчивым к ошибкам при обработке кадра NO_DATA. Различные варианты осуществления настоящего изобретения применимы в декодерах AMR-WB и особенно для генерации комфортного шума и синхронизации DTX.
[0013] Эти и другие преимущества и особенности настоящего изобретения вместе с устройством и способом работы раскрываются в последующем подробном описании, сопровождаемом пояснительными чертежами, на которых одинаковые элементы имеют одинаковые числовые обозначения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] На фиг.1 представлена общая схема системы, на основе которой могут быть реализованы различные варианты осуществления настоящего изобретения.
[0015] На фиг.2 представлена схема алгоритма, посредством которого могут быть реализованы различные варианты осуществления настоящего изобретения.
[0016] На фиг.3 представлен внешний вид электронного устройства, которое может быть использовано для внедрения различных вариантов осуществления настоящего изобретения.
[0017] На фиг.4 представлены схемы, которые могут быть включены в электронное устройство, представленное на фиг.3.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0018] Различные варианты осуществления настоящего изобретения предоставляют систему и способ обеспечения усовершенствованной синхронизации потока AMR-WB в режиме DTX. В соответствии с различными вариантами осуществления рассматриваемый поток битов AMR-WB включает информацию в флаге VAD в каждом передаваемом кадре. Другими словами, декодеру передается индикация о начале интервала неактивной речи за восемь кадров до начала периода DTX, т.е. до приема кадра SID_FIRST. Следовательно, если флаг VAD указывает на активную речь или флагу установлено значение, равное нулю, менее чем восемь кадров назад, принятый кадр NO_DATA классифицируется с высокой степенью достоверности, как активная речь, т.е. рассматривается как сигнализация, инициированная передатчиком, сетью или терминалом, и замещается кадром SPEECH_LOST. Если значение флага VAD установлено равным нулю восемь кадров назад или раньше, то кадр NO_DATA классифицируется как DTX.
[0019] На фиг.1 показано графическое представление типовой системы мультимедийной связи, в которой могут быть реализованы различные варианты осуществления настоящего изобретения. Как показано на фиг.1, источник данных 100 обеспечивает исходный сигнал в аналоговом, несжатом цифровом или сжатом цифровом формате, или в любой комбинации этих форматов. Кодер 110 кодирует исходный сигнал в кодированный мультимедийный поток битов. Необходимо отметить, что поток битов, подлежащий декодированию, может приниматься прямо или косвенно от удаленного устройства, фактически расположенного в сети любого типа. Помимо этого, поток битов может быть получен от локального аппаратного или программного средства. Кодер 110 способен кодировать информацию разного типа или для кодирования исходного сигнала, включающего информацию разных типов, может потребоваться более одного кодера 110. Кодер 110 также может получать искусственно созданный входной сигнал, такой как графическое изображение или текст, или кодер может формировать кодированные потоки битов из искусственного сигнала. С целью упрощения данного описания далее рассматривается обработка только одного кодированного потока битов для информационного сигнала одного типа. Тем не менее необходимо отметить, что обычно широкополосные услуги реального времени включают несколько потоков (обычно по меньшей мере один аудиопоток, один видеопоток и один поток текстовых субтитров). Необходимо также отметить, что данная система может включать множество кодеров, но на фиг.1 представлен только один кодер 110 для упрощения описания, что не влияет на общий принцип работы системы. Необходимо также отметить, что несмотря на то, что текст и примеры в данном документе конкретно описывают процесс кодирования, специалисту в данной области техники будет понятно, что такие же идеи и принципы относятся также к соответствующему процессу декодирования и наоборот.
[0020] Кодированный мультимедийный поток битов передается в запоминающее устройство 120. Запоминающее устройство 120 может включать память большой емкости любого типа для хранения кодированного мультимедийного потока битов. Формат кодированного мультимедийного потока битов в запоминающем устройстве 120 может представлять собой простой независимый формат битового потока или один или более кодированных мультимедийных битовых потоков могут инкапсулироваться в контейнерный файл. Некоторые системы работают в режиме реального времени, т.е. запоминающее устройство не используется, и кодированный мультимедийный поток битов передается от кодера 110 прямо на передатчик 130. Затем кодированный мультимедийный поток битов передается, в случае необходимости, в передатчик 130, также называемый сервером. Используемый для передачи формат может представлять собой простой независимый формат потока битов, формат пакетного потока или один или более кодированных мультимедийных потоков битов могут инкапсулироваться в контейнерный файл. Кодер 110, запоминающее устройство 120 и передатчик 130 могут размещаться в одном физическом устройстве или могут входить в состав разных устройств. Кодер 110 и передатчик 130 могут работать с контентом реального времени, в таком случае кодированный мультимедийный поток битов обычно долго не хранится, а буферизуется на короткие интервалы времени в кодере 110 контента и/или передатчике 130 для выравнивания колебаний задержки при обработке, задержки при передаче и колебаний скорости кодированного мультимедийного потока.
[0021] Передатчик 130 передает кодированный мультимедийный поток битов посредством стека протоколов связи. Стек протоколов включает, в качестве примера, но не в качестве ограничения, протокол RTP (Real-Time Transport Protocol - транспортный протокол реального времени), протокол UDP (User Datagram Protocol - протокол пользовательских датаграмм) и протокол IP (Internet Protocol - Интернет-протокол), при этом необходимо отметить, что телефонная сеть 3GPP с коммутацией каналов также может использоваться в связи с различными вариантами осуществления настоящего изобретения. Если стек протоколов связи является пакетно-ориентированным, передатчик 130 инкапсулирует кодированный мультимедийный поток битов в пакеты. Например, при использовании протокола RTP передатчик 130 инкапсулирует кодированный мультимедийный поток битов в пакеты RTP в соответствии с форматом полезной нагрузки RTP. Обычно информационный сигнал каждого типа имеет специализированный формат полезной нагрузки RTP. Необходимо еще раз отметить, что система может включать более одного передатчика 130, но с целью упрощения в последующем описании рассматривается только один передатчик 130.
[0022] Передатчик 130 в случае необходимости может подключаться к шлюзу 140 через сеть связи. Шлюз 140 может выполнять различные виды функций, такие как преобразование потока пакетов в соответствии с одним стеком протоколов связи в другой стек протоколов связи, объединение и разделение потоков данных и управление потоками данных в соответствии с пропускной способностью нисходящего канала и/или приемника, например, управление скоростью передачи ретранслируемого потока в соответствии с текущим состоянием нисходящей сети. Примерами шлюзов 140 являются устройства MCU, шлюзы между сетями видео-телефонии с коммутацией каналов и коммутацией пакетов, серверы РоС (Push-to-talk over Cellular -"нажми, чтобы говорить в сотовой сети"), IP инкапсуляторы в системах DVB-Н (Digital Video Broadcasting-Handheld - мобильное цифровое телевизионное вещание) или телевизионные абонентские приставки, которые осуществляют вещательные передачи локально в домашних беспроводных сетях. При использовании RTP шлюз 140 называется RTP микшер или RTP преобразователь и обычно работает как конечная точка соединения RTP.
[0023] Система включает один или более приемников 150, которые обычно осуществляют прием, демодуляцию и декапсуляцию передаваемого сигнала в кодированный мультимедийный поток битов. Кодированный мультимедийный поток битов передается в записывающее устройство 155. Записывающее устройство 155 включает память большого объема любого типа для хранения кодированного мультимедийного потока битов. Записывающее устройство 155 дополнительно или в альтернативном варианте может включать компьютерную память, такую как оперативная память. Формат кодированного мультимедийного потока битов в записывающем устройстве 155 может представлять собой простой независимый формат битового потока или один или более кодированных мультимедийных битовых потоков могут инкапсулироваться в контейнерный файл. Если присутствует множество кодированных мультимедийных битовых потоков, связанных друг с другом, то обычно используется контейнерный файл, и приемник 150 включает генератор контейнерного файла, который создает контейнерный файл из входных потоков, или подключается к такому генератору. Некоторые системы работают в режиме реального времени, т.е. записывающее устройство 155 не используется, и кодированный мультимедийный битовый поток передается прямо от приемника 150 на декодер 160. В некоторых системах в записывающем устройстве 155 сохраняется только самая последняя часть записываемого потока, т.е. самый последний 10-минутный фрагмент записываемого потока, тогда как все ранее записанные данные удаляются из записывающего устройства 155.
[0024] Кодированный мультимедийный поток битов от запоминающего устройства 155 передается на декодер 160. Если присутствует множество кодированных мультимедийных битовых потоков, связанных друг с другом и инкапсулированных в контейнерный файл, то используется анализатор файлов (на чертеже не показан) для декапсуляции каждого кодированного мультимедийного битового потока из контейнерного файла. Анализатор файлов может входить в состав записывающего устройства 155 или декодера 160 или может подключаться либо к запоминающему устройству 155 или к декодеру 160.
[0025] Затем кодированный мультимедийный поток битов обычно обрабатывается декодером 160, на выход которого поступает один или более несжатых мультимедийных потоков. В результате рендерер 170 воспроизводит несжатые мультимедийные потоки, например, посредством динамика. Приемник 150, записывающее устройство 155, декодер 160 и рендерер 170 могут входить в состав одного физического устройства или могут входить в состав разных устройств.
[0026] В соответствии с различными вариантами осуществления изобретения, когда декодер AMR-WB принимает кадр/пакет NO_DATA, декодер проверяет статус флага VAD и соответствующий статус перехода к DTX. Поток AMR-WB имеет переход к DTX длительностью восемь кадров. Поэтому декодер ожидает приема кадра SID_FIRST в качестве восьмого кадра после того, как значение флага VAD было установлено равным нулю. Поскольку декодер уже отслеживает поведение флага VAD, т.е. число последовательных кадров, включающих речевую паузу, то декодер может вычислить кадр, который должен включать кадр SID_FIRST и NO_DATA. Этот процесс выглядит следующим образом.
Если vad_hist<8,
кадр NO_DATA рассматривается как сигнализация SPEECH_LOST,
включаемая в поток битов,
обновление информации о переходе на DTX не требуется,
в противном случае кадр NO_DATA рассматривается как DTX,
требуется обновление информации о переходе на DTX.
[0027] Для включения указанных выше функций в эталонную реализацию 3GPP AMR-WB с фиксированной точкой (3GPP TS 26.173) используется дополнительная модификация фрагмента исходного кода в примере 2, рассматриваемого выше, как показано ниже в примере 3.
Пример 3
1 if ((sub(frame_type, RX_SID_FIRST)==0) ||
2 (sub(frame_type, RX_SID_UPDATE)==0) ||
3 (sub(frame_type, RX_SID_BAD) ==0) ||
4 ((sub(frame_type, RX_NO_DATA)==0)&&
4b ((sub(st->dtxGlobalState, SPEECH!=0))||
4c (sub(vad_hist, DTX HANG CONST)>=0))))
5 {
6 encState=DTX; movel6();
7 } else
8 {
9 encState=SPEECH; movel6();
10 }
[0028] Исходный код в строках 4b и 4c используется для того, чтобы кадр NO_DATA вызывал переключение с состояния речи на состояние DTX только в том случае, если флаг VAD, принятый в потоке битов AMR-WB, указывает, что интервал перехода закончился, т.е. текущий кадр является восьмым по счету кадром после того, как принимаемая индикация VAD изменилась с активной речи на речевую паузу. Кроме того, переменная vad_hist указывает число (последовательных) речевых кадров, принятых со значением флага VAD равным нулю. Значение этой переменной, например, может вычисляться в функции “decoder” (в файле “dec_main.c”) и подставляться в качестве дополнительного параметра в функцию “rx_dtx handler”, или вычисляться в функции “rx_dtx handler” (при условии, что необходимая информация для вычисления этого значения является доступной), чтобы обеспечить возможность решения в условном операторе “if” в строке 4c в примере 3.
[0029] На фиг.2 представлена схема, иллюстрирующая процесс, посредством которого могут быть реализованы варианты осуществления настоящего изобретения. На шаге 200 фиг.2 отдельные кадры аудиоконтента кодируются в поток битов. Каждый кадр из этого множества кадров включает индикатор, который указывает, содержит ли данный кадр активную речь или другой аудиосигнал, используя, например, флаг VAD. На шаге 210 это множество кадров принимается декодером. На шаге 220 принимается кадр с индикатором, который указывает, что в нем отсутствуют данные, т.е. этот кадр является кадром NO_DATA. На шаге 230 определяется, включает ли по меньшей мере один из заданного числа (число Х на фиг.2) предыдущих кадров индикацию того, что соответствующий кадр содержит активный аудиосигнал или активную речь. Как указано выше, заданное число кадров равно восьми в одном варианте осуществления настоящего изобретения. Если по меньшей мере один из заданного числа предыдущих кадров включает индикацию того, что соответствующий кадр содержит активный аудиосигнал, то на шаге 240 дополнительный кадр классифицируется, как активный аудиосигнал. В этом случае на шаге 250 кадр NO_DATA может быть замещен кадром SPEECH_LOST. С другой стороны, если ни один из заданного числа предыдущих кадров не включает индикацию того, что соответствующий кадр содержит активный аудиосигнал, то на шаге 260 кадр NO_DATA классифицируется как DTX, что указывает на прерываемую передачу.
[0030] На фиг.3 и 4 показано типовое мобильное устройство 12, в котором может быть осуществлено настоящее изобретение. Следует понимать, что настоящее изобретение не ограничивается одним конкретным типом электронного устройства. Мобильное устройство 12 на фиг.3 и 4 включает корпус 30, дисплей 32 в виде жидкокристаллического дисплея, клавиатуру 34, микрофон 36, динамик 38, батарею 40, инфракрасный порт 42, антенну 44, смарт-карту 46 в виде карты UICC в соответствии с одним вариантом осуществления настоящего изобретения, картридер 48, радиоинтерфейс 52, кодек 54, контроллер 56 и память 58. Конкретные схемы и элементы широко известны в данной области техники, например в ряду мобильных телефонов Nokia.
[0031] Различные варианты осуществления настоящего изобретения описываются в данной заявке как общие шаги способа или процессы, которые могут быть реализованы в одном варианте осуществления посредством компьютерного программного продукта на читаемом компьютером носителе информации, включающего исполняемые компьютером команды, такие как программный код, исполняемый компьютерами в сетевом окружении. Обычно программные модули включают подпрограммы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют специальные абстрактные типы данных. Исполняемые компьютером команды, связанные со структурами данных, и программные модули представляют собой примеры программного кода для осуществления шагов способов, раскрываемых в данном описании. Конкретная последовательность таких исполняемых команд или связанных структур данных представляет собой примеры соответствующих действий для осуществления функций, описываемых в таких шагах или процессах.
[0032] Реализации различных вариантов настоящего изобретения на основе программного обеспечения или веб-технологий могут быть осуществлены с использованием стандартных способов программирования на базе управляемой правилами логики и другой логики, обеспечивающей операции или процессы поиска в различных базах данных, операции или процессы корреляции, операции или процессы сравнения и операции и процессы принятия решения. Необходимо отметить, что термины «компонент» и «модуль», используемые в данном описании и прилагаемой формуле изобретения, применяются с целью охватить варианты, в которых используется одна или более строк программного кода, и/или варианты аппаратных исполнений, и/или оборудование для приема данных, вводимых вручную.
[0033] Вышеприведенное описание вариантов осуществления настоящего изобретения приводится только с целью пояснения. Вышеприведенное описание не является исчерпывающим и не ограничивает варианты осуществления настоящего изобретения точной формулировкой, раскрытой в данной заявке; возможны варианты и изменения с учетом вышеуказанных идей или в результате применения на практике различных вариантов осуществления настоящего изобретения. Рассмотренные варианты осуществления были выбраны и описаны с целью объяснения принципов и сущности различных вариантов осуществления настоящего изобретения, а также его практического применения так, чтобы специалист в данной области техники мог применять настоящее изобретение в различных вариантах осуществления и с различными модификациями в соответствии с конкретным применением.