УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ Российский патент 2015 года по МПК H04N19/103 H04N19/13 H04N19/124 

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

Область техники, к которой относится изобретение

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

Уровень техники

Для эффективной передачи сигнала движущегося изображения при низкой скорости передачи данных с сохранением высокого качества изображения были предложены различные цифровые технологии сжатия движущихся изображений. Эти технологии сжатия движущихся изображений включают в себя стандарт H.261, стандарт MPEG-2/H.262, разработанный Экспертной группой по вопросам движущихся изображений (MPEG), стандарт H.263, стандарт MPEG-4, стандарт Усовершенствованного кодирования видеоинформации (AVC)/H.264 и т.д. Технологии сжатия включают в себя схему дискретного косинусного преобразования (ДКП), схему компенсация движения (КД), схему квантования, схему энтропийного кодирования и т.д.

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

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

Раскрытие изобретения

Техническая задача

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

Техническое решение

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

Полезные эффекты изобретения

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

Краткое описание чертежей

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

На Фиг.2 проиллюстрирован способ определения режима кодирования согласно настоящему изобретению.

На Фиг.3 проиллюстрировано устройство кодирования движущегося изображения согласно настоящему изобретению.

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

На Фиг.7 изображен график, на котором проиллюстрирован способ кодирования остаточного сигнала.

Осуществление изобретения

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

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

Единичным элементом кодирования согласно настоящему изобретению может являться блок, имеющий размер 32×32, или блок, имеющий размер 64×64, а также макроблоки MB, имеющие размер 16×16. К тому же, единичным элементом кодирования может являться блок, имеющий размер 8×8 или меньший. Для удобства наибольший единичный элемент кодирования именуют супер-макроблоком (SMB). Размер SMB может быть определен согласно информации, указывающей размер наименьшего единичного элемента кодирования и информации о глубине. Информация о глубине указывает разность между размером SMB и размером наименьшего единичного элемента кодирования.

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

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

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

Когда типом слоя является тип ″интра-″ (I), то все блоки кодирования с предсказанием в слое являются блоками с интрапредсказанием, и тип предсказания блока кодирования с предсказанием может быть определен в соответствии с размером блока кодирования с предсказанием. Однако, когда типом слоя является тип ″с однонаправленным предсказанием″ (P) или ″с двунаправленным предсказанием″ (B), то тип предсказания блока кодирования с предсказанием может быть определен в соответствии с информацией о режиме предсказания и с размером блока кодирования с предсказанием. Таким образом, предпочтительно генерировать тип предсказания блока кодирования с предсказанием на основании типа слоя, информации о режиме предсказания и информации, указывающей размер блока кодирования с предсказанием, и вставлять данные о сгенерированном типе предсказание в заголовок единичного элемента кодирования.

Когда блок кодирования с предсказанием закодирован способом интракодирования, то в декодер необходимо передавать информацию о режиме интрапредсказания, используемом для интрапредсказания, а также о типе предсказания.

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

На Фиг.1 показана иерархическая структура разделения, иллюстрирующая допустимые блоки кодирования с предсказанием для SMB, имеющего размер 64×64, согласно варианту осуществления настоящего изобретения, который приведен в качестве примера.

Когда в качестве единичного элемента кодирования используют SMB, то предпочтительно иметь четыре этапа разделения на подблоки, как показано на Фиг.1, но разделение на блоки не ограничено четырьмя этапами разделения на подблоки. При наличии четырех этапов разделения на подблоки, то может быть задано всего 13 типов блоков предсказания (64×64, 64×32, 32×64, 32×32, 32×16, 16×32, 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 и 4×4).

Здесь могут отсутствовать какие-либо данные, подлежащие передаче для блоков интеркодирования с предсказанием, имеющих больший размер, чем размер MB. Таким образом, предпочтительно заново добавить режим MB64_SKIP (ПРОПУСК_MB64), когда размер блока кодирования с предсказанием равен 64×64, и режим MB32_SKIP (ПРОПУСК_MB32), когда размер блока кодирования с предсказанием равен 32×32. Для передачи информации о режиме в декодер может использоваться флаг MB64_SKIP_flag или флаг MB32_SKIP_flag. Когда значения этих флагов равны 1, то отсутствуют какие-либо передаваемые данные о соответствующем блоке кодирования с предсказанием.

Когда множество следующих друг за другом SMB не закодированы, то флаг MB64_SKIP_flag может быть вставлен только в первый SMB, и может быть опущен в последующих SMB. В этом случае сведения о количестве последовательно пропущенных SMB могут быть добавлены к слою или к первому SMB. В частности, когда множество следующих друг за другом SMB не закодированы, то флаг SMB_SKIP_flag первого SMB устанавливают равным 1, и он также может быть совместно применен к нескольким последующим SMB. В этом случае к слою может быть добавлена информация, соответствующая количеству SMB, которые не являются последовательно закодированными (например, SMB_SKIP_number (количество_ПРОПУЩЕННЫХ_SMB)).

Когда единичный элемент кодирования имеет размер 32×32, то, в дополнение к существующему блоку, имеющему размер 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 или 4×4, в качестве блока кодирования с предсказанием может быть использован блок, имеющий размер 32×32, 32×16 или 16×32.

В режиме интерпредсказания тип (Mb32_type) предсказания единичного элемента кодирования может указывать раздел 32×32, когда тип предсказания равен 0, раздел 32×16, когда тип предсказания равен 1, раздел 16×32, когда тип предсказания равен 2, и раздел 16×16, когда тип предсказания равен 3.

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

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

На Фиг.2 проиллюстрирован способ определения режима кодирования согласно настоящему изобретению, когда размер SMB равен 64×64.

Как проиллюстрировано на Фиг.2, когда SMB представляет собой блок 64×64, то кодер определяет, можно или нет пропустить блок 64×64, и определяет режим SKIP (ПРОПУСК) как режим кодирования, когда можно пропустить блок 64×64. При этом в декодер должен быть передан флаг mb64_skip_flag. Когда в блоке 64×64 имеются данные, подлежащие кодированию, но он не разделен на блоки 32×32, то в заголовок SMB вставляют информацию о размере кодирования SMB, которым является один из следующих размеров: 64×64, 64×32 и 32×64, и информацию о том, является ли SMB закодированным способом интракодирования или интеркодирования, и генерируют блок данных SMB с использованием закодированных данных.

Когда в блоке 64×64 имеются данные, подлежащие кодированию, и он разделен на блоки 32×32, то аналогичным образом определяют, существуют ли в соответствующих блоках 32×32 данные, подлежащие кодированию. Когда в соответствующих блоках 32×32 отсутствуют какие-либо данные, подлежащие кодированию, то в качестве режима для блока 32×32 определяют режим SKIP (ПРОПУСК), и в декодер передают флаг mb32_skip_flag.

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

Когда в блоке 32×32 имеются данные, подлежащие кодированию, и он разделен на блоки 16×16, то определяют, имеются ли данные, подлежащие кодированию, в соответствующих блоках 16×16. Когда в соответствующих блоках 16×16 отсутствуют какие-либо данные, подлежащие кодированию, то в качестве режима для блока 16×16 определяют режим SKIP, и в декодер передают флаг mbl6_skip_flag. С другой стороны, когда в соответствующих блоках 16×16 имеются данные, подлежащие кодированию, то в заголовок блока 16×16 вставляют размер кодирования блока 16×16, которым является один из следующих размеров: 16×16, 16×8 и 8×16, и информацию о том, является ли блок 16×16 закодированным способом интракодирования или интеркодирования, и генерируют блок данных с использованием закодированных данных.

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

На Фиг.3 проиллюстрировано устройство кодирования движущегося изображения согласно настоящему изобретению.

Со ссылкой на Фиг.3, устройство кодирования движущегося изображения согласно настоящему изобретению включает в себя устройство 110 определения режима кодирования, модуль 120 преобразования/квантования, энтропийный кодер 130, интрапредсказатель 140, компенсатор 150 движения, анализатор 155 параметров движения, модуль 160 обратного квантования/преобразования, деблокирующий фильтр 170, запоминающее устройство 180 для изображений, сумматор 185 и вычитающее устройство 190.

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

Модуль 120 преобразования/квантования определяет размер блока преобразования для преобразования остаточного сигнала, принятого из вычитающего устройства 190. Размер блока преобразования может быть равным или меньшим, чем размер блока кодирования с предсказанием, но может быть задан иным образом в интеррежиме. Другими словами, размер блока преобразования может быть большим, чем размер блока кодирования с предсказанием в интеррежиме. В этом случае модуль 120 преобразования/квантования принимает множество остаточных блоков из вычитающего устройства 190 и генерирует один блок преобразования, состоящий из множества остаточных блоков. Размер блока преобразования является равным или меньшим, чем размер единичного элемента кодирования. Модуль 120 преобразования/квантования выполняет двумерное (2D) дискретное косинусное преобразование (ДКП) блока преобразования для генерации коэффициентов преобразования. ДКП может являться целочисленным ДКП.

Модуль 120 преобразования/квантования также определяет величину шага квантования, используемого для квантования коэффициентов преобразования, и выполняет квантование коэффициентов преобразования с использованием матрицы квантования, определенной в соответствии с определенной величиной шага квантования и с режимом кодирования.

Модуль 160 обратного квантования/преобразования выполняет обратное квантование и обратное преобразование коэффициентов квантования, квантованных модулем 120 кодирования преобразованием/квантования, посредством чего восстанавливают остаточный блок в пространственной области из остаточного блока, преобразованного в частотную область.

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

Следует ли применять деблокирующий фильтр 170, определяют в соответствии со следующими условиями: i) является ли сила фильтрации границы, большей, чем 0, или нет, и ii) является ли значение, указывающее разность между пикселями на границе блока P и блока Q, меньшим, чем первое опорное значение, определенное согласно параметру квантования, или нет.

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

Запоминающее устройство 180 для изображений принимает отфильтрованное изображение из деблокирующего фильтра 170, сохраняет изображение в виде единичных изображений. Изображением может являться изображение кадра или изображение поля. Запоминающее устройство 180 для изображений имеет буфер (не показан), способный хранить множество изображений.

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

Компенсатор 150 движения извлекает блок предсказания, соответствующий блоку, подлежащему кодированию, из опорного изображения, используемого для оценки движения, из множества опорных изображений, хранящихся в запоминающем устройстве 180 для изображений, согласно индексу опорного изображения и вектору движения, которые введены из анализатора 155 параметров движения, и выводит извлеченный блок предсказания.

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

Энтропийный кодер 130 выполняет энтропийное кодирование коэффициентов квантования, квантование которых выполнено модулем 120 преобразования/квантования, информации о движении, сгенерированной анализатором 155 параметров движения, и т.д. Квантованные коэффициенты преобразования преобразовывают в информацию об одномерном (1D) преобразовании с квантованием заданным способом сканирования и подвергают энтропийному кодированию.

Ниже приведено описание способа интрапредсказания со ссылкой на Фиг.3.

Сначала интрапредсказатель 140 принимает информацию о положении и размере блока кодирования, подлежащего кодированию, из устройства 110 определения режима кодирования.

Затем интрапредсказатель 140 принимает правильные опорные пиксели для определения режима интрапредсказания текущего блока кодирования с предсказанием из запоминающего устройства 180 для изображений. Опорные пиксели уже были закодированы и восстановлены и являются смежными с текущим блоком кодирования с предсказанием (который ниже именуют текущим блоком). Когда текущий блок расположен на верхней границе текущего изображения, то пиксели, смежные с верхней стороной текущего блока, являются неопределенными. Когда текущий блок расположен на левой границе текущего изображения, то пиксели, смежные с левой стороной текущего блока, являются неопределенными. К тому же, когда текущий блок расположен на верхней или на левой границе слоя, то пиксели, смежные с верхней или с левой стороной, являются неопределенными.

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

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

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

Затем интрапредсказатель 140 определяет режим интрапредсказания текущего блока с использованием опорных пикселей. Количество режимов интрапредсказания зависит от размера блока.

В соответствии с размером блока, разрешены 33, 16 или 2 направленных режима и, по меньшей мере, один ненаправленный режим. Ненаправленным режимом может являться режим с постоянной составляющей (DC) или планарный режим.

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

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

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

Затем остаточный блок, полученный с использованием текущего блока и блока предсказания, сгенерированного интрапредсказателем 140, кодируют модулем 120 преобразования/квантования и энтропийным кодером 130.

Тем временем выполняют отдельное кодирование режима интрапредсказания текущего блока. Кодирование режима интрапредсказания может быть выполнено интрапредсказателем 140, отдельным устройством кодирования режима интрапредсказания (не показано) или энтропийным кодером 130.

Режим интрапредсказания текущего блока кодируют с использованием режимов интрапредсказания верхнего блока и левого блока из текущего блока.

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

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

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

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

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

Затем выполняют кодирование конечного режима интрапредсказания текущего блока. Конечный режим интрапредсказания текущего блока кодируют с использованием различных кодовых таблиц в соответствии с тем, имеет ли верхний блок из текущего блока тот же самый режим интрапредсказания, что и левый блок из текущего блока. Режимом интрапредсказания верхнего блока или левого блока из текущего блока может являться видоизмененный режим интрапредсказания. Другими словами, режимом интрапредсказания верхнего блока или левого блока из текущего блока может являться режим интрапредсказания, видоизмененный в соответствии с таблицей соответствия режимов интрапредсказания, допустимых для верхнего блока и левого блока, заданному количеству режимов интрапредсказания. Заданным количеством может являться 9 или 3.

Ниже приведено описание способа кодирования квантованных коэффициентов преобразования, выполняемого в энтропийном кодере 130 из Фиг.3.

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

Сначала определяют, следует ли разделять квантованные коэффициенты преобразования на множество подмножеств. Это зависит от размера блока преобразования. Другими словами, когда размер блока преобразования является равным или большим, чем заданный размер, то квантованные коэффициенты преобразования разделяют на множество подмножеств. Заданным размером может являться размер 8×8 или 16×16. Множество подмножеств состоит из одного главного подмножества и из одного или большего количества остаточных подмножеств. Главное подмножество расположено на левой верхней стороне, включая в себя коэффициент постоянной составляющей (DC), а одно или большее количество остаточных подмножеств охватывают область за исключением той области, которую охватывает главное подмножество.

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

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

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

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

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

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

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

Со ссылкой на Фиг. 4-6 будет описан способ адаптивного по направлению разделения блока с учетом характеристик изображения. На Фиг. 4, 5 и 6 в качестве примера будет описан единичный элемент кодирования размером 32×32. Однако размер единичного элемента кодирования не ограничен размером 32×32, и способ также может быть применен для блока 64×64 или для блока 16×16.

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

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

Таким образом, как показано на Фиг.4, один блок 32×32 следует разделить, по меньшей мере, на 10 блоков и закодировать. Следовательно, в декодер должны быть переданы 10 векторов движения вместе с информацией, отображающей разделение изображения, и, следовательно, необходим большой объем дополнительной информации помимо информации об изображении.

Как показано на Фиг. 5 или 6, когда существует граница, которая проходит через изображение блока 32×32, количество порций дополнительной информации, подлежащей передаче в декодер, может быть заметно сокращено за счет установления соответствия границы изображения, по меньшей мере, одной прямой линии, указывающей границу изображения.

Например, когда граница, которая проходит через блок 32×32, поставлена в соответствие двум прямым линиям, как показано на Фиг.5, то блок 32×32 разделяют на четыре блока 16×16, и могут быть получены прямые линии, которые сопоставляют соответствующие первый и четвертый блоки 16×16 с границей блока. В этом случае требуется шесть областей разделения, и количество векторов движения, подлежащих передаче в декодер, может быть уменьшено до шести.

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

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

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

Первым примером является представление информации о прямой линии с использованием расстояния и угла относительно заданного положения. В этом случае заданным положением может являться пиксель в левом верхнем углу или центре блока. Расстояние может быть представлено целым числом или квантованным значением. Углом может являться угол от 0 до 180 градусов, и также может быть представлен квантованным значением.

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

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

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

Как показано на Фиг.7, способ разделения блока кодирования с предсказанием в соответствии с формой участка границы изображения может быть применен только к конкретным направлениям, которые ограничены заданным их количеством. Например, способ разделения блока может быть ограничен четырьмя направлениями, которыми являются: направление по горизонтали, направление по вертикали, направление по диагонали вверх и направление по диагонали вниз, или двумя направлениями, которыми являются: направление по горизонтали и направление по вертикали. Количество вариантов разделения блока в конкретных направлениях может изменяться в соответствии с размером блока кодирования с предсказанием. Например, блок кодирования с предсказанием, имеющий размер 32×32, может быть разделен в конкретном направлении (например, в направлении по горизонтали) с использованием семи способов, а блок кодирования с предсказанием, имеющий размер 16×16, может быть разделен с использованием трех способов. К тому же, вне зависимости от размера блока кодирования с предсказанием, блок кодирования с предсказанием может быть разделен с использованием одного и того же количества способов.

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

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

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

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

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

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

Ниже будет приведено описание оценки вектора движения.

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

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

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

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

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

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

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

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

название год авторы номер документа
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ 2011
  • Ох Соо Ми
  • Янг Моонок
RU2523963C2
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ 2014
  • Ох Соо Ми
  • Янг Моонок
RU2658141C2
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ 2014
  • Ох Соо Ми
  • Янг Моонок
RU2656985C2
УСТРОЙСТВО ИНТРА-ПРЕДСКАЗАНИЯ 2014
  • Ох, Соо Ми
  • Янг, Моонок
RU2658137C2
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ 2011
  • Ох Соо Ми
  • Янг Моонок
RU2658148C2
УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ 2014
  • Ох Соо Ми
  • Янг Моонок
RU2659470C2
УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, ИСПОЛЬЗУЮЩЕЕ ДИФФЕРЕНЦИАЛЬНОЕ КОДИРОВАНИЕ 2020
  • Кан Чи Вон
  • Пак Сан Хё
  • Пак Сон Ук
  • Лим Хва Пён
RU2815809C2
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОДАННЫХ 2012
  • Ох Соо Ми
  • Янг Моонок
RU2621972C2
СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОДАННЫХ 2012
  • Ох Соо Ми
  • Янг Моонок
RU2621970C1
ПРОГРЕССИВНОЕ КОДИРОВАНИЕ ПОЗИЦИИ ПОСЛЕДНЕГО ЗНАЧИМОГО КОЭФФИЦЕНТА 2012
  • Чиэнь Вэй-Цзюн
  • Соле Рохальс Хоэль
  • Карчевич Марта
  • Джоши Раджан Лаксман
RU2595892C2

Иллюстрации к изобретению RU 2 549 157 C1

Реферат патента 2015 года УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ ДВИЖУЩЕГОСЯ ИЗОБРАЖЕНИЯ

Изобретение относится к области кодирования изображений. Технический результат - эффективное кодирование преобразованных остаточных сигналов движущегося изображения. Предложено устройство кодирования движущихся изображений для увеличения степени сжатия сигнала движущегося изображения при сохранении высокого качества изображения. Для минимизации количества битов, необходимого для остаточного блока, квантованные коэффициенты преобразования адаптивно разделяют на множество подмножеств в соответствии с размером блока преобразования, и не равные нулю квантованные коэффициенты преобразования каждого подмножества сканируют и кодируют. Также определяют режим интрапредсказания текущего блока с использованием опорных пикселей, полученных путем фильтрации опорных пикселей текущего блока. Соответственно, имеется возможность минимизации объема данных, необходимых для остаточного блока из текущего блока. 3 з.п. ф-лы, 7 ил.

Формула изобретения RU 2 549 157 C1

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

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

3. Устройство по п. 1, причем шаблон сканирования для сканирования ненулевых коэффициентов каждого подмножества равен шаблону сканирования для сканирования множества подмножеств.

4. Устройство по п. 1, причем энтропийный кодер кодирует позиции ненулевых коэффициентов и информацию для идентификации ненулевых коэффициентов каждого подмножества.

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

US 6917648 B1, 12.07.2005
Колосоуборка 1923
  • Беляков И.Д.
SU2009A1
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек 1923
  • Григорьев П.Н.
SU2007A1
US 5748244 A, 05.05.1998
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек 1923
  • Григорьев П.Н.
SU2007A1
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
МНОГОКАНАЛЬНЫЙ АУДИОКОДЕР БЕЗ ПОТЕРЬ 2005
  • Фейзо Зоран
RU2387023C2

RU 2 549 157 C1

Авторы

Ох Соо Ми

Янг Моонок

Даты

2015-04-20Публикация

2011-04-22Подача