ОСНОВАННОЕ НА ПРЕОБРАЗОВАНИИ КОДИРОВАНИЕ/ДЕКОДИРОВАНИЕ С АДАПТИВНЫМИ ОКНАМИ Российский патент 2013 года по МПК G10L19/02 

Описание патента на изобретение RU2488898C2

Настоящее изобретение относится к кодированию и декодированию цифровых сигналов.

Для получения пониженной скорости передачи двоичных данных в схеме кодирования на основе преобразования обычно пытаются снизить точность, относящуюся к процессу кодирования отсчетов, обеспечивая при этом минимальное ухудшение восприятия. С этой целью снижением точности квантования управляют с использованием взвешенных по восприятию значений. Основываясь, например, на известных свойствах человеческого глаза (для кодирования видеоданных) или человеческого уха (для кодирования аудиоданных), этот подход позволяет поместить шум квантования в диапазоны частот, которые являются наименее воспринимаемыми.

Для использования информации из психо-визуальной или психо-акустической модели, главным образом, в частотной области, стандартной практикой является применение частотно-временного преобразования при квантовании, осуществляемом в частотной области.

Фиг.1 представляет собой схему, иллюстрирующую конструкцию кодера, основанного на преобразовании, имеющего

- набор (ВА) фильтров (с FA1 по FAn) для разложения сигнала, принимающих входной сигнал (X);

- блок (Q) квантования (включающий в себя полосовые модули (Q1,…, Qn) квантования), за которым следует кодирующий блок (COD), включающий в себя кодирующие модули (с COD1 по CODn); и

- набор (BS) фильтров (FS1,…, FSn) синтеза сигнала, выдающих кодированный сигнал (X').

Для дополнительного снижения скорости передачи двоичных данных перед передачей квантованные отсчеты частотной области кодируются часто посредством процесса энтропийного кодирования (кодирования без потерь). Квантование осуществляется стандартным способом посредством скалярного квантователя с равномерным шагом или с неравномерным шагом или посредством векторного квантователя.

Шум, вносимый на этапе квантования, формируется набором синтезирующих фильтров (этот процесс известен как применение обратного преобразования). Следовательно, обратное преобразование, которое связано с преобразованием при разложении, должно быть выбрано таким образом, чтобы сконцентрировать шум квантования в частотной или временной области так, чтобы не дать этому шуму стать воспринимаемым.

Преобразование при разложении должно сконцентрировать энергию сигнала оптимальным образом для того, чтобы облегчить кодирование отсчетов в преобразованной области. Этот процесс называется уплотнением энергии. В частности, должна быть максимизирована эффективность кодирования для преобразования при разложении, которая зависит от входного сигнала. Для этого используется формула следующего вида, в которой К представляет собой константу, которая может предпочтительно иметь значение 6,02, a R представляет собой количество битов в каждом отобранном отсчете

S N R = G T C + K R ( 1 )

Таким образом, полученное отношение "сигнал/шум" пропорционально R плюс компонент GTC, который представляет эффективность кодирования при преобразовании.

Чем выше эффективность кодирования, тем лучше качество восстановления. Следовательно, понятна важность преобразования, используемого для процесса кодирования. Оно облегчает кодирование отсчетов благодаря своей способности концентрировать как энергию сигнала (посредством части, относящейся к разложению), так и шум квантования (посредством части, относящейся к синтезу).

Поскольку общеизвестно, что аудио- и видеосигналы являются непостоянными, частотно-временное преобразование должно адаптироваться во времени в зависимости от характера входного сигнала, подаваемого на набор фильтров.

Ниже описывается несколько вариантов применения обычных технологий кодирования.

При модулированных преобразованиях способы нормированного кодирования аудиоданных объединяют наборы косинусоидально модулированных фильтров, которые позволяют реализовать эти способы кодирования с использованием быстрых алгоритмов на основе косинусных преобразований или быстрых преобразований Фурье.

Преобразованием этого типа, используемым наиболее часто (в частности, при кодировании в форматах ААС (усовершенствованного кодирования аудиоданных): МР3, MPEG-2, и MPEG-4), является модифицированное дискретное косинусное преобразование (MDCT-преобразование), выражение для которого имеет следующий вид:

X k t = n = 0 2 M 1 x n + t M p k ( n ) 0 k < M ,

в котором

М представляет собой размер преобразования;

xn+tM представляют собой отсчеты цифрового сигнала с периодом 1 F e (величиной, обратной частоте отсчетов) в момент времени n + tM;

t представляет собой индекс кадра;

X k t представляют собой отсчеты в преобразованной области для кадра t;

p k ( n ) = h a ( n ) c n , k = 2 M h a ( n ) cos [ π 4 M ( 2 n + 1 + M ) ( 2 k + 1 ) ]

представляет собой базисную функцию преобразования, в которой

член ha(n) называется фильтром-прототипом или взвешивающим окном анализа и охватывает 2М отсчетов; и

член Cn,k определяет модуляцию.

Это преобразование применяется к обработке аудиоданных. Оно также применяется к обработке видеоданных, в частности, при кодировании неподвижного изображения, где преобразование последовательно применяется к строкам и столбцам стандартным образом. Этот принцип, кроме того, распространяется на сигналы с более чем двумя измерениями.

Для восстановления первоначальных временных отсчетов применяется следующее обратное преобразование при декодировании для того, чтобы восстановить 0≤n<М отсчетов, которые в таком случае располагаются в области перекрытия двух последовательных преобразований. Декодированные отсчеты в таком случае задаются следующей формулой, в которой p k s ( n ) = h s ( n ) C n , k определяет преобразование синтеза, причем взвешивающее окно синтеза обозначено как hs(n) и также охватывает 2М отсчетов:

x ^ n + t M + M = k = 0 M 1 [ X k t + 1 p k s ( n ) + X k t p k s ( n + M ) ]

Формула восстановления, выдающая декодированные отсчеты, также может быть записана в следующем виде:

x ^ n + t M + M = k = 0 M 1 [ X k t + 1 h s ( n ) C k , n + X k t h s ( n + M ) C k , n + M ] = h s ( n ) k = 0 M 1 X k t + 1 C k , n + h s ( n + M ) k = 0 M 1 X k t C k , n + M

Это другое представление восстанавливающего уравнения эквивалентно учету того факта, что к отсчетам X k t и X k t + 1 в области преобразования могут быть последовательно применены два обратных косинусных преобразования, их результат затем объединяется посредством операции взвешивания и суммирования. Этот способ восстановления показан на фиг.2, где отсчеты в области преобразования обозначены как Xt,k, а восстановленные отсчеты во временной области обозначены как x n .

Модифицированное дискретное косинусное преобразование обычно использует идентичные окна для разложения и синтеза и таким образом h(n)=ha(n)=hs(n).

Чтобы обеспечить точное (именуемое полным) восстановление сигнала (подчиняющееся условию x n + t M = x n + t M , необходимо выбрать окно h(n) прототипа, удовлетворяющее нескольким ограничениям.

Для получения полного восстановления должны удовлетворяться нижеследующие формулы. Они обычно применяются для создания окон, подходящих для модифицированного дискретного косинусного преобразования:

{ h ( 2 M 1 n ) = h ( n ) h 2 ( n ) + h 2 ( n + M ) = 1 ( 2 )

Окна имеют четную симметрию по отношению к центральному отсчету, как это показано в примерах на фиг.3.

Удовлетворить этим простым ограничениям относительно просто и с этой целью стандартный фильтр-прототип может состоять из синусоидального окна (показанного на фиг.3 сплошной линией), которое записывается следующим образом:

h ( n ) = sin [ π 2 M ( n + 0.5 ) ]

Конечно, существуют и другие формы фильтра-прототипа, такие как Кайзер-Бесселевы производные окна (KBD-окна), определенные в стандарте MPEG-4 (соответствующие кривым, показанным пунктирной линией на фиг.3) и окна малого перекрытия.

С учетом необходимости адаптировать преобразование к кодируемому сигналу существующие технические решения позволяют изменять во времени используемое преобразование, что именуется ниже переключением окон. При этом в данном случае считается, что при изменении преобразования размер используемых окон остается тем же, так что с течением времени изменяются только весовые коэффициенты окон.

Выражения, приведенные выше для постоянного окна, приспособлены ниже к ситуации изменения окна. Без потери общности при перекрытии, в котором участвуют только два следующих друг за другом кадра для модифицированного дискретного косинусного преобразования, переход для двух следующих друг за другом кадров T1 и T2 объясняется следующим образом. Первый кадр T1 использует окно (ha1) разложения, а второй кадр T2, использует окно (ha2) разложения. Окна синтеза, используемые для восстановления, выбираются таким образом, чтобы быть идентичными окнам разложения в частях перекрытия этих двух окон ha1 и ha2. Таким образом, для 0≤n<M: ha1(n+M)=hs1(n+M)

ha2(n)=hs2(n)

В отличие от предыдущей ситуации, в которой одно и то же окно используется для множества последовательных кадров, здесь нет больше непосредственной связи между первой и второй половинами окон разложения, что означает, что весовой коэффициент ha1(n+M) может быть независим от коэффициента ha1(n). Аналогичным образом, коэффициент ha2(n) может быть независим от коэффициента ha2(n+M). Таким образом, можно обеспечить изменение формы окна разложения с течением времени.

Условия для полного восстановления принимает для 0≤n<Мвид:

{ h a 1 2 ( n + M ) + h a 2 2 ( n ) = 1 h a 1 ( 2 M 1 n ) . h a 1 ( n + M ) h a 2 ( M 1 n ) . h a 2 ( n ) = 0

Очень простое стандартное решение для проверки вышеупомянутых условий состоит в выборе для 0≤n<M:

ha1(n+M)=ha2(M-1-n)

Соответственно, если обратиться к фиг.4, то окно разложения, используемое в первой половине кадра T2 (кривая, показанная на фиг.4 пунктирной линией), представляет собой зеркальный вариант окна разложения, используемого во второй половине кадра T1 (кривая, показанная на фиг.4 сплошной линией). Другими словами, для того, чтобы обеспечить полное восстановление, предшествующий уровень техники предлагает последовательные переходы через участки с совместным использованием тех же самых окон разложения, не говоря уж об эффекте зеркальности.

Этот эффект зеркальности также относится и к окнам синтеза по причине принятого равенства окон синтеза и разложения.

Вследствие эффекта зеркальности любое введение нолей (весовых коэффициентов со значением "0") после коэффициента ha1(n+M) в окне ha1 имеет своим результатом введение того же самого количества нолей в начале окна ha2 (в члене ha2(n)). Кроме того, это введение нолей подразумевает задание того же самого количества коэффициентов со значением "1" для обратного ранга М-n. Если быть более точным, то:

ha1(n+M)=ha2(M-1-n)

Вследствие этого, общий вид такого окна, включающего в себя много нолей, аналогичен виду прямоугольного окна, которое показано на фиг.5. Прямоугольное окно имеет плохое разрешение в частотной области и высокий уровень разрывности. В этом заключается первая проблема, присущая кодерам/декодерам предшествующего уровня техники.

В стандартизированных известных кодерах/декодерах кодер обычно выбирает преобразование, используемое в течение некоторого времени. Так, в стандарте ААС (формата усовершенствованного кодирования аудиоданных), как описано в документе "Информационная технология - Кодирование аудиовизуальных объектов - Часть 3: Аудиоданные", ISO/IEC 14496 - 3 (2001) (документ Международной организации по стандартизации/Международной электротехнической комиссии), кодер выбирает и посылает форму окна, соответствующую второй половине окна разложения, первая же половина индуцируется выбором, произведенным для предыдущего кадра. В стандарте ААС декодеру посылается бит, позволяющий использовать для синтеза окна того же типа.

Следовательно, декодер является зависимым по отношению к кодеру и послушно применяет типы окон, выбранные кодером.

Следовательно, ясно, что недостаток предшествующего уровня техники заключается в том, что для обеспечения перехода для типа окна, которое используется в течение времени, необходимо ввести промежуточное полуокно, чтобы обеспечить полное восстановление. Таким образом, окна (ha1) и (ha2) разложения, упомянутые выше, не могут быть переданы независимо друг от друга в их общей среде.

Настоящее изобретение направлено на улучшение этой ситуации.

С этой целью изобретение предлагает переход между окнами без ограничений в отношении следующих друг за другом окон.

С этой целью изобретение, во-первых, обеспечивает основанный на преобразовании способ кодирования цифрового сигнала с перекрытием с использованием взвешивающих окон, причем два последовательных блока отсчетов сигнала, которые имеют одинаковый размер 2М, взвешиваются, соответственно, первым окном разложения и вторым окном разложения. Эти окна содержат каждое спадающий фронт и падающий фронт, и нарастающий фронт второго окна отличается от спадающего фронта обращенного во времени первого окна.

Этот признак очевидным образом отличается от предшествующего уровня техники, описанного выше, и, следовательно, выявляет то, что первые и вторые окна могут быть выбраны полностью независимо друг от друга, например, в соответствии с критерием, соответствующим характеристикам сигнала, определенным по каждому из этих двух блоков.

Таким образом, предусматриваются, по меньшей мере, два типа взвешивающих окон, в частности, для разложения при кодировании, и можно изменять тип взвешивающего окна для кодирования текущего блока, в котором было, например, обнаружено некоторое конкретное событие. Это конкретное событие обычно представляет собой изменение статистической характеристики сигнала или возникновение некоторого конкретного явления, такого как большое увеличение энергии цифрового сигнала, который содержит текущий кадр.

Эти этапы повторяются для следующего блока так, что можно, используя изобретение, кодировать данный блок, применяя взвешивающее окно данного типа, и кодировать блок, который непосредственно следует за данным блоком, непосредственно применяя другой тип взвешивающего окна, без ограничений и, в частности, без ограничения предшествующего уровня техники, которое в обязательном порядке требовало наличия промежуточного окна.

Вышеупомянутые блоки могут, например, соответствовать кадрам сигнала, как было показано выше.

Предлагая возможность перехода непосредственно от одного типа окна к другому, без переходного участка, изобретение позволяет выполнять кодирование с окнами, адаптированными к каждому из сигналов, охватываемых этими окнами. Таким образом достигается повышенная эффективность кодирования на каждом из отрезков сигнала, охватываемых этими окнами.

По сравнению с предшествующим уровнем техники, благодаря точной адаптации окон к свойствам сигнала, достигается повышенное качество кодирования.

Аналогичным образом настоящее изобретение обеспечивает основанный на преобразовании способ декодирования цифрового сигнала с перекрытием с использованием взвешивающих окон, причем два последовательных блока отсчетов сигнала, имеющие одинаковый размер, взвешиваются соответственно первым окном синтеза и вторым окном синтеза, которые каждое включают в себя нарастающий фронт и спадающий фронт, и, в частности, нарастающий фронт второго окна отличается от спадающего фронта, обращенного во времени первого окна.

В одном варианте осуществления настоящего изобретения окна разложения, по меньшей мере, одного из вышеупомянутых двух типов окна разложения включают в себя по меньшей мере один концевой участок, содержащие коэффициенты, все из которых равны нолю. При декодировании окна синтеза в таком случае включают в себя нули в начале окна. Это позволяет снизить задержку на кодирование/декодирование, связанную с применяемыми преобразованиями.

Таким образом, изобретение находит предпочтительное применение в интерактивной связи, при которой важно минимизировать эту задержку.

Другие признаки и преимущества изобретения становятся очевидны при рассмотрении нижеследующего подробного описания и прилагаемых чертежей, на которых, в дополнение к фиг.1-5, относящимся к предшествующему уровню техники и описанным выше, приведено следующее:

- на фиг.6 показано изменение типа окна, причем первое и второе окна по изобретению имеют различные формы;

- на фиг.7 показаны в предпочтительном варианте осуществления настоящего изобретения окна разложения, включающие в себя Mz нулевых коэффициентов в конце окна;

- на фиг.8 показано уменьшение задержки кодирования/декодирования, которое достигается в этом предпочтительном варианте осуществления изобретения;

- на фиг.9 показана система кодирования/декодирования по изобретению;

- на фиг.10А показаны этапы способа кодирования по изобретению;

- на фиг.10В показаны этапы способа декодирования по изобретению; и

- на фиг.11 показана (пунктирной линией) предпочтительная форма окна синтеза.

Ниже описан вариант осуществления изобретения, который позволяет переходить от одного окна разложения к другому без особых предосторожностей и, в частности, без переходного окна. Таким образом, окна разложения, выбираемые при кодировании, независимы друг от друга, что способствует повышению качества кодирования.

Что касается текущего кадра T2, то здесь предполагается, что конкретный выбор окна разложения для непосредственно предшествующего ему кадра T1 был уже сделан. Для кадра T2 выбирается другое окно разложения для того, чтобы облегчить кодирование отсчетов текущего кадра T2 в частотной области. Например, одним возможным критерием является то, что окно ha2, выбранное для кадра T2, должно максимизировать эффективность кодирования в преобразованной области, задаваемую следующей формулой, в которой σ k 2 представляет оценку дисперсии преобразованных отсчетов Xk:

G T C = 1 M k = 0 M 1 σ k 2 [ k = 0 M 1 σ k 2 ] 1 / M

В качестве альтернативы, другой критерий мог бы быть основан на минимизации энтропии преобразованных отсчетов, как, например, это выражено в нижеследующей форме:

J H = k = 0 M 1 X k 2 log [ X k 2 ]

Можно предусмотреть более сложный критерий, определяющий оптимальный компромисс между, во-первых, искажением после кодирования/декодирования и, во-вторых, скоростью передачи данных, требующейся для этого кодирования. Этот более сложный критерий, который подлежит минимизации, может быть записан, например, в нижеследующем виде, где D (X) представляет собой измеренное значение искажения отсчетов Xk для выбранной скорости передачи данных; a R (X) представляет собой эту выбранную скорость передачи данных:

JRD=D(X)+λR(X)

Предпочтительно, чтобы наилучшее окно (ha2) разложения в соответствии с принятым, в конечном счете, критерием определялось в ограниченном наборе комбинаций. При этом все-таки накладывается одно ограничение, заключающееся в том, что тип используемого фильтра разложения (особенно фильтра-прототипа разложения, соответствующего взвешивающему окну кодирования) должен быть известен декодеру и должен, следовательно, быть отправлен декодеру.

Таким образом, окно ha2 может быть выбрано из каталога окон {h0, h1, h2,…,hNb-1} разложения, где Nb представляет количество возможных вариантов выбора. В таком случае можно предусмотреть для кодирования индекс формы окна, выбранного по целому числу битов, большему или равному log2(Nb), и затем отправку этого закодированного индекса декодеру.

Все окна, определенные таким образом, могут быть применены для М отсчетов, причем используемые окна разложения ha1 и/или ha2 длиной 2М, созданы следующим образом для целых чисел i и j, находящихся между 0 и Nb-1 включительно:

{ h a 1 ( M + n ) = h i ( n ) 0 n < M h a 2 ( n ) = h j ( M 1 n ) 0 n < M

Окна hi, и hj созданы с использованием, например:

- KBD-окон (показанных на фиг.3 пунктирными линиями) с параметрами, настроенными на различные значения коэффициента формы (часто обозначаемые как α);

- синусоидальных окон;

- окон с малым перекрытием (малой задержкой), которые описаны в стандарте ААС; или

- окна, оптимизированные в соответствии с различными критериями, например в соответствии с критерием эффективности кодирования, как это описано в "Banes de Filtres et quantification vectorielle sur reseau - Etude conjointe pour la compression d'images", P.Onno, Universite de Rennes 1 thesis (1996).

Можно ограничить выбор окон до семейства параметризуемых окон (таких, как KBD-окна). В этой ситуации все параметры могут быть посланы в закодированной форме (которая в ситуации KBD-окон ограничена квантованным и закодированным значением форм-фактора (α)).

При декодировании после приема типа окна (ha2) разложения, используемого для кодирования, и после декодирования отсчетов Xk в частотной области и затем последующего обратного дискретного косинусного преобразования, должны быть применены окна синтеза для восстановления временных отсчетов. Для ограничения степени ухудшения восстановленного сигнала, предпочтительно выбирать окна синтеза, обеспечивающие полное восстановление на уровне преобразования. В отсутствие квантования обратное преобразование, следующее за прямым преобразованием, не приводит ни к какому искажению. Тем не менее, принятый здесь критерий заключается в том, что воспринимаемость погрешности восстановления преобразования по отношению к некоторому заданному пороговому значению восприятия должна оставаться незначительной.

Для восстановления общей части кадров T1 и T2 без искажения, вызванного преобразованиями, участки окна синтеза, влияющие на эту общую часть (hs2(n) и hs1(n+M), при 0≤n<M должны быть связаны с окнами разложения на той же самой общей части (ha1(n+M) и ha2(n)). Нижеследующее уравнение определяет условия, которые должны быть удовлетворены для того, чтобы обеспечить полное восстановление в этой общей части, для n=0…М-1:

{ h a 1 ( n + M ) . h s 1 ( n + M ) + h a 2 ( n ) . h s 2 ( n ) = 1 h a 1 ( 2 M 1 n ) . h s 1 ( n + M ) h a 2 ( M 1 n ) . h s 2 ( n ) = 0

Решая эту систему уравнений для окон hs2(n) и hs1(n+M), находим что при соблюдении условия D(n)=ha1(n+M)·ha2(M-1-n)+ha2(n)·ha1(2М-1-n)≠0:

{ h s 1 ( n + M ) = h a 2 ( M 1 n ) D ( n ) h s 2 ( n ) = h a 1 ( 2 M 1 n ) D ( n )

Таким образом, этот выбор окон hs1(n+M) и hs2(n) синтеза обеспечивает полное восстановление.

Соответственно, при синтезе:

- окно hs1(n+M) применяется для обратного модифицированного дискретного косинусного преобразования, применяемого ко второму участку кадра T1; и

- окно hs2(n) применяется для обратного модифицированного дискретного косинусного преобразования, применяемого к первой половине кадра T2.

Результат этих двух взвешиваний суммируется почленно для получения декодированных отсчетов.

Видно, что окна hs1(n+M) и hs2(n) созданы простым обращением во времени окон разложения, сопровождаемым применением поправочного множителя D'(n)=1/D(n). Соответственно, окно hs1(n+M) создается инвертированием временных индексов окна ha2(n) разложения и взаимным образом окно ha2(n) создается инвертированием временных индексов окна ha1(n+M) разложения. Поправочный множитель (соответствующий коэффициенту усиления, подлежащему применению к каждому из окон) определен как D'(n)=1/D(n). Обращение времени в выражении или инверсия временного индекса относится здесь к определению формы окна в зависимости от индекса (-n), равного и противоположного текущему временному индексу (n).

Окно типа ha2(M-1-n) может быть применено ко второму участку кадра T1, a окно типа ha1(2М-1-n) - к первой половине кадра T2. Результат этого взвешивания затем суммируется и, в конечном счете, взвешивается посредством весового множителя D'(n)=1/D(n).

Замечательное свойство заключается в том, что весовой множитель 1/D(n) является простым коэффициентом усиления, который исправляет амплитудное искажение. Таким образом, операция восстановления с использованием окон ha2(M-1-n) и ha1(2M-1-n) дает восстановленный сигнал, лишенный компонентов обращения времени. Коэффициент (D'(n)) усиления можно, таким образом, рассматривать просто как член, корректирующий амплитуду.

Выражение для коэффициента (D(n)) усиления также демонстрирует следующее замечательное свойство: D(n)=D(M-1-n), которое отражено в том факте, что необходимо рассчитывать и/или сохранять в памяти только M/2 коэффициентов (D(n)) усиления. Это свойство также применяется к коэффициенту (D'(n)) усиления при синтезе.

В первом варианте осуществления изобретения можно, следовательно, сохранять в памяти при кодировании все окна синтеза, объединяющие все возможности перехода между окнами разложения, то есть результат выражения (с учетом того, что Di,j(n)=hi(n+M)·hj(M-1-n)+hj(n)·hi(2M-1-n)):

{ h s 1, i , j ( n + M ) = h i ( M 1 n ) D i , j ( n ) h s 2, i , j ( n ) = h j ( 2 M 1 n ) D i , j ( n )

В таком случае этот вариант осуществления изобретения требует большого объема памяти.

Во втором варианте осуществления изобретения можно сохранять окна разложения в декодере, как они есть или с обращенным во времени индексом. Затем рассчитывается коэффициент (Di,j(n),) усиления, 0≤n<M/2, после чего для восстановления используются обращенные во времени окна разложения. Наконец, результат, полученный после суммирования, взвешивается посредством коэффициента усиления D i , j ' ( n ) = 1 / D i , j ( n ) .

Для некоторых конкретных сочетаний пар (i, j) может случиться так, что для набора отсчетов n коэффициент усиления Di,j(n)=1. В этой конкретной ситуации можно обойтись без конечного взвешивания.

Можно распространить это упрощение на ситуацию, в которой коэффициент (Di,j(n)) усиления очень близок к единице, в частности, если подлежащее исправлению амплитудное искажение остается ниже, например, 0,1 дБ, что на практике может выразиться в разности абсолютных величин между коэффициентом (Di,j(n)) усиления и единицей, находящейся ниже некоторого выбранного порогового значения, например 0,01.

В любом из вышеупомянутых вариантов осуществления изобретения функции (Di,j(n)) усиления и обратные им функции ( D i , j ' ( n ) ) могут быть рассчитаны в момент использования или первоначально сохранены для использования так и тогда, как и когда это необходимо.

Следует, помимо этого, отметить, что функции (Di,j(n)) усиления требуют только М/2 запоминающих элементов для каждой пары (i, j). Кроме того, не все сочетания должны быть сохранены, поскольку Di,j(n)=Dj,i(n) для любой пары (i, j).

Ниже описан предпочтительный вариант осуществления изобретения, применяемый для уменьшения задержки.

В этом конкретном варианте осуществления изобретения в окно (ha1(n+M)) разложения вводятся целочисленные участки взвешивающих окон (непрерывные значения весовых коэффициентов), установленные в ноль. Если описать это более конкретно, то окно ha1(n+M) содержит участок, состоящий из Mz нолей в диапазоне 2M-Mz≤n<2М при Mz<M/2, как это показано на фиг.7, которая в этом варианте осуществления изобретения представляет два типичных окна.

В первом варианте осуществления изобретения и в противоположность предшествующему уровню техники окна ha1 и ha2 независимы друг от друга в диапазоне между M и 2M включительно. Единственное условие в отношении выбора окон ha1 и ha2 заключается в том, что значение D(n) не должно быть нолем для 0≤n<M. Эта конкретная структура окна ha1(n+M) обеспечивает то, что окно (hs2(n)) синтеза может содержать ноли между 0 и Mz - 1. Этот результат следует из нижеследующего уравнения:

h s 2 ( n ) = h a 1 ( 2 M 1 n ) D ( n )

Следовательно, понятно, что для того же самого асимметричного окна ha1, используемого для разложения, количество (Mz) нулевых коэффициентов должно удовлетворять условию Mz<M/2, чтобы выполнить условие для коэффициента (D(n)) усиления, заданное нижеследующим уравнением:

D(n)=ha1(n+M)·ha1(M-1-n)+ha1(n)·ha1(2М-1-n)≠0

Эта установка участка окна (ha1(n+M)) разложения в ноль оказывает благотворное влияние на задержку восстановления отсчетов, как это описано ниже.

Обратимся к фиг.8, на которой кадр T1 (который имеет размер 2М отсчетов) обрабатывается с применением окна ha1. Результат этого взвешивания обрабатывается посредством дискретного косинусного преобразования. Поскольку окно ha1 содержит ноли, кадр Т1 может просто быть закодирован и отправлен в конце 2M-Mz отсчетов. Нет необходимости ждать конца 2M отсчетов кадра T1 для того, чтобы отправить соответствующий закодированный кадр, но необходимо просто подождать обработки его первых 2M-Mz отсчетов. По сравнению с использованием стандартного окна предшествующего уровня техники это представляет опережение, соответствующее времени, требующемуся для обработки Mz отсчетов в конце кадра T1.

При синтезе аналогичное окно (hs1) синтеза включает в себя Mz первых коэффициентов, установленных в ноль (уже не в конце, а в начале окна), что таким же образом позволяет восстанавливать декодированные отсчеты с опережением на Mz отсчетов. Mz отсчетов, соответствующих началу окна синтеза, воссоздаются в действительности предшествующим окном hs0 с фиг.8, потому что начало окна hs1 не оказывает никакого воздействия. Таким образом, для эффективного восстановления Mz декодируемых отсчетов вновь нет необходимости ждать последующих отсчетов после обратного дискретного косинусного преобразования, что при синтезе приводит в результате к дополнительному опережению на Mz отсчетов.

Таким образом, введение Mz последовательных нулевых коэффициентов в конце окна разложения позволяет уменьшить задержку, вызванную обработкой 2Mz отсчетов при прямом модифицированном дискретном косинусном преобразовании (MDCT) и затем при обратном модифицированном дискретном косинусном преобразовании (MDCT-1). Полная задержка составляет, таким образом, 2M-2Mz отсчетов. Это уменьшение задержки достигнуто для окон, имеющих эффективную длину, составляющую 2M-Mz, тогда как решение предшествующего уровня техники предлагало бы стандартным образом окна разложения и синтеза, которые для того же самого уменьшения задержки были бы идентичными (кроме обращения времени) и имели эффективную длину, составляющую 2M-2Mz. Таким образом, посредством этого варианта осуществления изобретения могут быть использованы более длинные окна, и полученные частотные характеристики являются, следовательно, более предпочтительными, и качество кодирования улучшается.

Хотя в предшествующем уровне техники, если в конце или начале окна введены ноли, то центральным коэффициентам взвешивающих окон присваивается значение "1", что плохо сказывается на свойствах кодирования с этим типом окна (смотри фиг.5), изобретение свободно от этого недостатка. Кроме того, поскольку нет ограничения на выбор следующих друг за другом окон разложения, то могут быть получены удовлетворительные свойства кодирования.

Таким образом, из числа фильтров разложения, содержащих в конце нули (например, в каталоге фильтров-прототипов), можно выбрать преобразование разложения, которое лучше других подходит к сигналу, подлежащему кодированию, что приводит к оптимальному кодированию/декодированию сигнала и к уменьшению задержки на 2Mz по сравнению с предшествующим уровнем техники.

Ниже описан один конкретный вариант осуществления изобретения, в котором выбирается пара окон ha1 и ha2 для кодирования, которое позволяет избежать коррекции D'(n) при синтезе. Здесь вопрос заключается в том, чтобы значительно модифицировать начальное окно разложения, чтобы обеспечить при синтезе весовую функцию D'(n), которая является постоянной и равной единице.

С этой целью определены два участка окна разложения на основе окна h(n), определенного в диапазоне 0≤n<2M и удовлетворяющего для любого индекса n ненулевому нормировочному множителю Δ(n), при 0≤n<M:

Δ ( n ) = h ( n ) h ( 2 M 1 n ) + h ( n + M ) h ( M 1 n ) 0

Затем, для 0≤n<M создаются

ha1(n+M)=h(n+M)/Δ(n) и ha2(n)=h(n)/Δ(n)

Таким образом, коэффициент (D'(n)) усиления при декодировании составляет единицу для любого n, и восстановление при синтезе производится путем взвешивания посредством тех же самых, но обращенных во времени окон разложения ha1 и ha2, причем за этим взвешиванием следует простое суммирование.

Одним примером окна h(n) для 0≤n<2M, содержащего Mz нолей и позволяющего ограничивать задержку 2Mz отсчетов для 0≤n<2M-Mz, является

h ( n ) = sin [ π 2 M M z ( n + 1 2 ) ]

В иных случаях, то есть для 2M-Mz≤n<2M:h(n)=0

Другой возможный вариант, который обеспечивает избирательность по частоте, изменяющуюся в соответствии с форм-фактором (α), состоит в Кайзер-Бесселевом окне, определенном следующим образом для 0≤n<M-Mz/2:

h ( n , α ) = I 0 [ π α 1 ( n M ' M ' ) 2 ] I 0 [ π α ] , п р и M ' = М М z / 2,

где h(2M-Mz-1-n, α)=h(n, α) для 0≤n<M-Mz/2; и

h(n, α)=0 в иных случаях (для п, при котором 2M-Mz≤n<2M).

Видно, что, следовательно, имеется возможность определять окна (ha1) и (ha2) разложения исходя из выбранного окна (h(n)) инициализации и после этого определять окна синтеза путем простого обращения времени.

Для осуществления декодирования в соответствии с изобретением также имеется возможность определять два участка (hs1) и (hs2) окна синтеза непосредственно из окна (h(n)) инициализации, содержащего Mz нулевых коэффициентов в начале окна.

Основываясь на синусоидальном окне инициализации (кривая, показанная сплошной линией на фиг.11), так, что для 0≤n<Mz:

h(n)=0 и

для 0≤n<2M-Mz:

h ( n + M z ) = sin [ π 2 M M z ( n + 1 2 ) ]

участки (hs1) и (hs2) окна синтеза выводятся в таком случае напрямую следующим образом:

hs1(n+M)=h(n+M)/Δ(n)

hs2(n)=h(n)/Δ(n)0≤n<M

Как и раньше, для 0≤n<M:

Δ ( n ) = h ( n ) h ( 2 M 1 n ) + h ( n + M ) h ( M 1 n ) 0

На фиг.11 пунктирной линией показана форма полного окна (hsi) синтеза, получающегося в результате из двух участков (hs1) и (hs2) окна, полученных из окна (h(n)) инициализации, имеющего синусоидальное выражение и показанного в этом варианте осуществления изобретения сплошной линией.

Вариант осуществления настоящего изобретения, описанный здесь в порядке примера, также предусматривает систему кодирования/декодирования, которая показана на фиг.9. Кодер (COD) принимает цифровой сигнал (S), подлежащий кодированию, включающий в себя последовательность отсчетов (Xn). Эта последовательность отсчетов обрабатывается в последовательных блоках (Bi), (Bi+j) и т.д. каждый по 2M отсчетов (этап 101, фиг.10 А). Обрабатывающие средства (µP) кодера анализируют содержание блоков (Bi) один за другим (этап 102, фиг.10 А), например, в соответствии с заданным критерием (энтропия, эффективность кодирования, искажение/скорость передачи данных и т.д.) и выводят исходя из этого окно (hai) разложения, используя для этого каталог (DIC) кодера, каковое окно наилучшим образом подходит для этого блока (Bi) в соответствии с вышеупомянутым критерием. Выбранное таким образом взвешивающее окно (hai) разложения применяется к текущему блоку (Bi) (этап 103, фиг.10 А), который затем кодируется (этап 104).

Полученный в результате этого кодирования блок ( B i ' ) затем отправляется декодеру (DECOD), показанному на фиг.9, в виде кодированного сигнала (S') с кодом в каталоге (DIC) для выбранного окна (hai) разложения (этап 105, фиг.10 А). Конечно, декодер (DECOD) получил с предшествующим блоком ( B i 1 ' ) код из каталога (DIC), обозначающий используемое перед этим окно (hai-1) разложения. При приеме кодированного сигнала (S'), включающего в себя последовательность закодированных блоков ( B i ' ) , ( B i + 1 ' ) , и т.д. и коды (hai) окон, использованные для разложения при кодировании блоков (Bi) (этап 106, фиг.10 В), декодер (DECOD) определяет по своему собственному каталогу (DIC') (аналогичному каталогу (DIC) кодера) полуокна hSi-1(n+M) и hSi(n), подлежащие использованию для синтеза (этап 107).

В описанном здесь примере средства (µP) обработки декодера (DECOD) оценивают поправочный множитель D(n) для каждого временного индекса n, связанного с окном hai-1, используемым перед этим при разложении (этап 108). Если поправочный множитель близок к 1 (например, при абсолютном значении порога, составляющим 0,1 дБ), то на этапе 109 на фиг.10 В декодер не применяет никакого поправочного множителя (стрелка "да" на выходе с этапа 109). В ином случае (стрелка "нет") средства (µP) обработки применяют поправочный множитель D'(n)=1/D(n), описанный выше (этап 110). Обработка продолжается собственно декодирования на этапе 111 блоков ( B i ' ) , взвешенных посредством окон (hSi) (где нужно скорректированных посредством множителя D'), что дает декодированные блоки B ^ i , B ^ i + 1 , и т.д. декодированного сигнала S ^ , у которого (не имеющие потерь) отсчеты ( X ^ n ) имеют значения первоначальных отсчетов (Xn), поскольку обеспечено полное восстановление.

Настоящее изобретение также предусматривает кодер (COD), относящийся к типу, представленному на фиг.9, а также компьютерную программу, предназначенную для хранения в памяти такого кодера, и алгоритм, который может быть таким, как представлен на блок-схеме алгоритма, показанной на фиг.10А. Оно, кроме того, предусматривает декодер (DECOD), относящийся к типу, представленному на фиг.9, а также компьютерную программу, предназначенную для хранения в памяти такого декодера, и алгоритм, который может быть таким, как представлен на блок-схеме алгоритма, показанной на фиг.10В.

Похожие патенты RU2488898C2

название год авторы номер документа
ОПТИМИЗИРОВАННОЕ ПО ЗАДЕРЖКЕ ПРЕОБРАЗОВАНИЕ НАЛОЖЕНИЯ, ВЗВЕШИВАЮЩИЕ ОКНА КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ 2012
  • Фор Жюльен
  • Филип Пьерик
RU2604994C2
СПОСОБ ОБНОВЛЕНИЯ КОДЕРА ПОСРЕДСТВОМ ИНТЕРПОЛЯЦИИ ФИЛЬТРА 2009
  • Филипп Пьеррик
  • Виретт Давид
RU2530327C2
АДАПТАЦИЯ ВЗВЕШИВАЮЩИХ ОКОН АНАЛИЗА ИЛИ СИНТЕЗА ДЛЯ КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ ПУТЕМ ПРЕОБРАЗОВАНИЯ 2012
  • Фор Жюльен
  • Филип Пьерик
RU2607230C2
КОДЕР, ДЕКОДЕР И СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ 2015
  • Бякстрем Том
  • Фишер Йоханнес
  • Хельмрих Кристиан
RU2662407C2
СОКРАЩЕННОЕ ДЕКОДИРОВАНИЕ 2016
  • Шнелль, Маркус
  • Лутцки, Манфред
  • Фотопоулоу, Элени
  • Шмидт, Константин
  • Бенндорф, Конрад
  • Томасек, Адриан
  • Альберт, Тобиас
  • Зайдль, Тимон
RU2683487C1
КОДИРОВАНИЕ ЗВУКА С МАЛОЙ ЗАДЕРЖКОЙ, СОДЕРЖАЩЕЕ ЧЕРЕДУЮЩИЕСЯ ПРЕДСКАЗАТЕЛЬНОЕ КОДИРОВАНИЕ И КОДИРОВАНИЕ С ПРЕОБРАЗОВАНИЕМ 2011
  • Раго Стефан
  • Ковеши Балаж
  • Берте Пьер
RU2584463C2
УСОВЕРШЕНСТВОВАННОЕ ГАРМОНИЧЕСКОЕ ПРЕОБРАЗОВАНИЕ 2010
  • Экстранд Пер
  • Виллемоес Ларс Фалк
RU2493618C2
СПОСОБЫ, УСТРОЙСТВА И СИСТЕМЫ ДЛЯ УЛУЧШЕНИЯ УНИФИЦИРОВАННОГО ДЕКОДИРОВАНИЯ И КОДИРОВАНИЯ РЕЧИ И ЗВУКА 2018
  • Кумар, Раджат
  • Катури, Рамеш
  • Сатувалли, Сакет
  • Раи, Решма
RU2779265C2
КОРРЕКЦИЯ ПОТЕРИ КАДРОВ ПУТЕМ ВНЕДРЕНИЯ ВЗВЕШЕННОГО ШУМА 2014
  • Даниел Жером
  • Фор Жюльен
RU2647634C2
БАНК ФИЛЬТРОВ АНАЛИЗА, БАНК ФИЛЬТРОВ СИНТЕЗА, КОДЕР, ДЕКОДЕР, СМЕСИТЕЛЬ И СИСТЕМА КОНФЕРЕНЦ-СВЯЗИ 2007
  • Грилл Бернхард
  • Шнелл Маркус
  • Гейгер Ральф
  • Шуллер Геральд
RU2426178C2

Иллюстрации к изобретению RU 2 488 898 C2

Реферат патента 2013 года ОСНОВАННОЕ НА ПРЕОБРАЗОВАНИИ КОДИРОВАНИЕ/ДЕКОДИРОВАНИЕ С АДАПТИВНЫМИ ОКНАМИ

Изобретение обеспечивает кодирование/декодирование цифрового сигнала, в частности, с использованием преобразования с перекрытием при помощи взвешивающих окон. Согласно изобретению два последовательных и равных по размеру блока отсчетов сигнала могут быть взвешены соответствующими различными последовательными окнами. Эти два окна могут быть выбраны независимо друг от друга в соответствии с критерием, соответствующим характеристикам сигнала (энтропии, отношению "скорость передачи данных/искажение"), которые определены для каждого из двух блоков. Технический результат - повышение качества кодирования благодаря точной адаптации окон к свойствам сигнала. 6 н. и 13 з.п. ф-лы, 12 ил.

Формула изобретения RU 2 488 898 C2

1. Основанный на преобразовании способ кодирования цифрового сигнала с перекрытием при помощи взвешивающих окон, характеризующийся тем, что два последовательных блока отсчетов сигнала, имеющие одинаковый размер 2М, взвешивают соответственно первым окном ha1 разложения и вторым окном ha2 разложения, при этом первое и второе окна содержат каждое нарастающий фронт и спадающий фронт, причем нарастающий фронт второго окна ha2 отличается от спадающего фронта обращенного во времени первого окна ha1.

2. Способ кодирования по п.1, в котором первое и второе окна выбирают независимо друг от друга в соответствии с критерием, соответствующим характеристикам сигнала, определенным по каждому из указанных двух блоков.

3. Способ кодирования по п.2, в котором критерий выбора взвешивающего окна представляет собой один из следующих критериев или их сочетание:
максимальная эффективность кодирования GTC;
минимальная энтропия JH преобразованных отсчетов; и
оптимальный компромисс JRD между искажением, вызванным кодированием/декодированием, и скоростью передачи данных, требующейся для упомянутого кодирования.

4. Способ кодирования по п.1, в котором каждое взвешивающее окно, выбранное для кодирования блока, выбирают из каталога возможных взвешивающих окон, причем с каждым окном из каталога связан индекс окна, и индекс выбранного окна посылают декодеру для декодирования окна, аналогичного окну, выбранному для кодирования.

5. Способ кодирования по п.1, в котором по меньшей мере некоторые из окон разложения содержат в конце окна выбранное число Mz последовательных весовых коэффициентов, равных нулю, и выбранное число Mz нулевых коэффициентов меньше четверти от общего числа 2М коэффициентов окна.

6. Основанный на преобразовании способ декодирования цифрового сигнала с перекрытием при помощи взвешивающих окон, характеризующийся тем, что два последовательных блока отсчетов сигнала, имеющих одинаковый размер 2М, взвешивают соответственно первым окном hs1 синтеза и вторым окном hs2 синтеза, при этом первое и второе окна содержат каждое нарастающий фронт и спадающий фронт, причем нарастающий фронт второго окна hs2 отличается от спадающего фронта обращенного во времени первого окна hs1.

7. Способ декодирования по п.6, в котором от кодера принимают информацию cod(hai) об окнах разложения, использованных последовательно для кодирования, и первое и второе окна hs1, hs2 синтеза выводят из первого и второго окон ha1, ha2 разложения, использованных последовательно для кодирования, причем первое и второе окна синтеза выводят соответственно из второго и первого окон разложения посредством инвертирования временного положения весовых коэффициентов соответственно второго и первого окон разложения и посредством применения поправочного множителя 1/D(n) к каждому весовому коэффициенту соответственно второго и первого окон разложения.

8. Способ декодирования по п.7, в котором первое окно hs1 синтеза и второе окно hs2 синтеза выводят соответственно из первого и второго окон ha1 и ha2 разложения с использованием формул следующего вида
{ h s 1 ( n + M ) = h a 2 ( M 1 n ) D ( n ) h s 2 ( n ) = h a 1 ( 2 M 1 n ) D ( n ) ,
где число М таково, что блок отсчетов включает в себя 2М отсчетов;
n - индекс временного положения, принимающий значения между 0 и М-1 включительно;
h(n) обозначает весовой коэффициент окна h при индексе n временного положения;
-n обозначает величину, равную и противоположную индексу n, что характеризует инвертирование упомянутого временного положения; и
D(n) обозначает упомянутый поправочный множитель, подлежащий применению к коэффициенту n временного положения, причем поправочный множитель не равен нулю для n между 0 и М-1 включительно и задается формулой
D(n)=ha1(n+M)·ha2(M-1-n)+ha2(n)·ha1(2M-1-n).

9. Способ декодирования по п.7, в котором информация об окнах разложения состоит из индексов из каталога DIC окон, используемых для кодирования, при этом для декодирования обеспечивают аналогичный каталог DIC', включающий в себя окна синтеза, аналогичные окнам разложения, используемым для кодирования, и предварительно скорректированные посредством упомянутого поправочного множителя 1/D(n), причем каждое окно из аналогичного каталога имеет каталожный индекс, определяемый по индексу окна разложения, посланного декодеру.

10. Способ декодирования по п.7, в котором информация об окнах разложения состоит из индексов из каталога DIC окон, используемых для кодирования, при этом для декодирования обеспечивают тот же каталог, включающий в себя соответствующие окна, полученные от фильтров-прототипов набора фильтров разложения для кодирования, причем для декодирования применяют:
инвертирование временного положения; и
применение упомянутого поправочного множителя 1/D(n) к коэффициентам окна из каталога, если оцененный поправочный множитель к коэффициенту отличается от единицы на величину, превышающую заданное пороговое значение.

11. Способ декодирования по п.6, в котором по меньшей мере некоторые из окон синтеза включают в себя в начале окна выбранное число последовательных весовых коэффициентов, равных нулю, и упомянутое выбранное число Mz нулевых коэффициентов меньше четверти от общего числа 2М коэффициентов окна.

12. Способ декодирования по п.11, включающий в себя операцию синтеза с использованием взвешивающего окна, соответствующего двум обращенным во времени участкам окна разложения, при этом взвешивание окном синтеза производят посредством суммирования, причем упомянутые участки ha1 и ha2 окна разложения выражены как функция окна h(n) инициализации выражениями вида ha1(n+M)=h(n+M)/Δ(n) и ha2(n)=h(n)/Δ(n), где число М таково, что блок включает в себя 2М отсчетов, n - временной индекс, так что 0≤n<М, и Δ(n) - ненулевой нормировочный множитель, определенный для любого индекса n, такого что 0≤n<М.

13. Способ декодирования по п.11, в котором два участка hs1 и hs2 окна синтеза определяют непосредственно из окна h(n) инициализации, содержащего в начале число Mz нулевых коэффициентов, выбранных в соответствии с выражениями вида hs1(n+M)=h(n+M)/Δ(n) и hs2(n)=h(n)/Δ(n), 0≤n<М, где число М таково, что блок включает в себя 2М отсчетов, n - временной индекс, такой что 0≤n<М, и Δ(n) - ненулевой нормировочный множитель, определенный для любого индекса n, такого что 0≤n<М.

14. Способ по п.12, в котором упомянутый нормировочный множитель определяется выражением вида
Δ ( n ) = h ( n ) h ( 2 M 1 n ) + h ( n + M ) h ( M 1 n ) .

15. Способ по п.13, отличающийся тем, что окно h(n) инициализации выражается следующей формулой, в которой Mz представляет собой упомянутое выбранное число нулевых коэффициентов в начале окна инициализации
h(n)=0 для 0≤n<Mz; и
h ( n + M z ) = sin [ π 2 M M z ( n + 1 2 ) ] для 0≤n<2M-Mz.

16. Устройство для основанного на преобразовании кодирования цифрового сигнала с перекрытием при помощи взвешивающих окон, характеризующееся тем, что включает в себя средства для осуществления способа по любому из пп.1-5.

17. Устройство для основанного на преобразовании декодирования цифрового сигнала с перекрытием при помощи взвешивающих окон, характеризующееся тем, что включает в себя команды для осуществления способа по любому из пп.6-15.

18. Машиночитаемый носитель, хранящий на себе программный продукт в виде машинного кода, характеризующийся тем, что программный продукт содержит команды для осуществления способа кодирования по любому из пп.1-5, когда команды исполняются процессором устройства.

19. Машиночитаемый носитель, хранящий на себе программный продукт в виде машинного кода, характеризующийся тем, что программный продукт содержит команды для осуществления способа декодирования по любому из пп.6-15, когда команды исполняются процессором устройства.

Документы, цитированные в отчете о поиске Патент 2013 года RU2488898C2

Способ отбелки бисульфитной целлюлозы 1980
  • Мутовина Миля Григорьевна
  • Бобров Александр Иванович
  • Бондарева Тамара Александровна
  • Самсонов Николай Ефимович
  • Нагимулин Мансур Ханафеевич
  • Гольберт Алексей Израилевич
  • Литвиненко Юрий Васильевич
  • Вилисов Владимир Иванович
  • Синев Николай Иванович
  • Сенникова Александра Филипповна
SU910900A1
Огнетушитель 0
  • Александров И.Я.
SU91A1
Станок для изготовления из дерева круглых палочек 1915
  • Семенов В.А.
SU207A1
Пломбировальные щипцы 1923
  • Громов И.С.
SU2006A1
US 2004133423 A1, 08.07.2004.

RU 2 488 898 C2

Авторы

Филип Пьерик

Вирет Давид

Даты

2013-07-27Публикация

2008-12-11Подача