СПОСОБЫ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ВИДЕО, УСТРОЙСТВА КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ВИДЕО И ПРОГРАММЫ ДЛЯ НИХ
VIDEO ENCODING/DECODING METHODS, VIDEO ENCODING/DECODING DEVICES AND PROGRAMMES THEREFOR

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к технологиям кодирования/декодирования видео, использующим контурный фильтр, который уменьшает шум блочности и т.п.
Испрашивается приоритет по заявке на патент Японии № 2011-051444, поданной 09 марта 2011 г., содержимое которой включено в настоящее описание посредством ссылки.
УРОВЕНЬ ТЕХНИКИ
Используемые в настоящем описании понятия определены следующим образом.
- «Форма поиска»: совокупность точек поиска вокруг целевого пикселя сравнения шаблонов или форма, образуемая этой совокупностью.
- «Форма шаблона»: группа пикселей, используемых для вычисления степени сходства между целевым пикселем и каждой точкой поиска при выполнении сравнения шаблонов или форма, образуемая этой группой пикселей. Одинаковая форма используется для группы пикселей вокруг целевого пикселя и для группы пикселей вокруг каждой точки поиска, и значения пикселей в позициях с одинаковым относительным взаимным расположением сравниваются друг с другом.
В технологиях обработки изображения, в качестве методики уменьшения шума при создании изображения и уменьшения повреждений поврежденного изображения, были предложены различные фильтры шумоподавления. Среди прочего, известно, что фильтры шумоподавления в соответствии со способом нелокальных средних величин (см. Непатентный Документ 1) демонстрируют высокий эффект шумоподавления. Здесь и далее, фильтры шумоподавления в соответствии со способом нелокальных средних величин именуются как фильтры NLM.
<mrow><msub><mi>P</mi><mn>0</mn></msub></mrow>
<mrow><msub><mi>P</mi><mi>S</mi></msub></mrow>
<mrow><msub><mi>T</mi><mn>0</mn></msub></mrow>
<mrow><msub><mi>T</mi><mi>S</mi></msub></mrow>
<mrow><msub><mi>T</mi><mn>0</mn></msub></mrow>
<mrow><msub><mi>T</mi><mi>S</mi></msub></mrow>
Фиг. 18 является схемой, описывающей фильтр NLM. На Фиг. 18 одна квадратная ячейка является точкой поиска, а совокупность точек поиска является формой поиска.
является целевым пикселем шумоподавления, а
является пикселем точки поиска в цели поиска.
и
являются формами шаблона, и форма формы
шаблона источника сравнения точно такая же, что и у формы
шаблона цели поиска.
<mrow><msub><mi>T</mi><mn>0</mn></msub></mrow>
<mrow><msub><mi>T</mi><mi>S</mi></msub></mrow>
В фильтре NLM соответствующие пиксели в форме
шаблона источника сравнения и форме
шаблона цели поиска сравниваются друг с другом, и вычисляется степень сходства между шаблонами. В целом, вычисление степени сходства между шаблонами использует сумму квадратов разностей (SSD) или сумму абсолютных разностей (SAD).
Фиг. 19 является схемой, иллюстрирующей входы и выход модуля исполнения фильтра NLM. По существу, модуль 1000 исполнения фильтра NLM вводит четыре фрагмента информации, включающие в себя: целевое изображение шумоподавления, форму поиска, форму шаблона и коэффициент шумоподавления, и формирует результирующее изображение с подавленным шумом. В качестве коэффициента шумоподавления дисперсия как типичное значение задается, когда доступно исходное изображение, к которому применяется шум, и соответствующее значение устанавливается пользователем, когда исходное изображение отсутствует.
Модуль 1000 исполнения фильтра NLM вычисляет значение пикселя с подавленным шумом для каждого пикселя следующим образом. В нижеследующем будет описан пример, который использует SSD для вычисления степени сходства между шаблонами.
<mrow><mi>S</mi><mi>W</mi></mrow>
<mrow><mi>S</mi><mi>P</mi></mrow>
(1) Начальное значение переменной
суммы весовых коэффициентов задается равным 0, а начальное значение переменной
суммы значений пикселя задается равным 0.
(2) Нижеследующие процессы повторяются для всех точек поиска внутри формы поиска.
(2-1) В качестве степени сходства между шаблонами вычисляется SSD.
W=exp(-SSD/коэффициент
шумоподавления)
(2-2) Весовой коэффициент
<mrow><mi>S</mi><mi>W</mi><mo>=</mo><mtable><mtr><mtd><mrow><mi>с</mi><mi>у</mi><mi>м</mi><mi>м</mi><mi>а</mi></mrow></mtd><mtd><mrow><mi>в</mi><mi>е</mi><mi>с</mi><mi>о</mi><mi>в</mi><mi>ы</mi><mi>х</mi></mrow></mtd><mtd><mrow><mi>к</mi><mi>о</mi><mi>э</mi><mi>ф</mi><mi>ф</mi><mi>и</mi><mi>ц</mi><mi>и</mi><mi>е</mi><mi>н</mi><mi>т</mi><mi>о</mi><mi>в</mi></mrow></mtd><mtd><mrow><mi>S</mi><mi>W</mi><mo>+</mo><mtable><mtr><mtd><mrow><mi>в</mi><mi>е</mi><mi>с</mi><mi>о</mi><mi>в</mi><mi>о</mi><mi>й</mi></mrow></mtd><mtd><mrow><mi>к</mi><mi>о</mi><mi>э</mi><mi>ф</mi><mi>ф</mi><mi>и</mi><mi>ц</mi><mi>и</mi><mi>е</mi><mi>н</mi><mi>т</mi></mrow></mtd><mtd><mi>W</mi></mtd></mtr></mtable></mrow></mtd></mtr></mtable></mrow>
(2-3) Сумма весовых коэффициентов
<mtable columnalign="left"><mtr><mtd><mi>S</mi><mi>P</mi><mo>=</mo><mtable><mtr><mtd><mrow><mi>с</mi><mi>у</mi><mi>м</mi><mi>м</mi><mi>а</mi></mrow></mtd><mtd><mrow><mi>з</mi><mi>н</mi><mi>а</mi><mi>ч</mi><mi>е</mi><mi>н</mi><mi>и</mi><mi>й</mi></mrow></mtd><mtd><mrow><mi>п</mi><mi>и</mi><mi>к</mi><mi>с</mi><mi>е</mi><mi>л</mi><mi>я</mi></mrow></mtd><mtd><mrow><mi>S</mi><mi>P</mi></mrow></mtd></mtr></mtable><mo>+</mo><mtable><mtr><mtd><mrow><mi>в</mi><mi>е</mi><mi>с</mi><mi>о</mi><mi>в</mi><mi>о</mi><mi>й</mi></mrow></mtd><mtd><mrow><mi>к</mi><mi>о</mi><mi>э</mi><mi>ф</mi><mi>ф</mi><mi>и</mi><mi>ц</mi><mi>и</mi><mi>е</mi><mi>н</mi><mi>т</mi></mrow></mtd><mtd><mi>W</mi></mtd></mtr></mtable><mo>×</mo><mo stretchy="false">(</mo><mtable><mtr><mtd><mrow><mi>з</mi><mi>н</mi><mi>а</mi><mi>ч</mi><mi>е</mi><mi>н</mi><mi>и</mi><mi>е</mi></mrow></mtd><mtd><mrow><mi>п</mi><mi>и</mi><mi>к</mi><mi>с</mi><mi>е</mi><mi>л</mi><mi>я</mi></mrow></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mrow><mi>т</mi><mi>о</mi><mi>ч</mi><mi>к</mi><mi>и</mi></mrow></mtd><mtd><mrow><mi>п</mi><mi>о</mi><mi>и</mi><mi>с</mi><mi>к</mi><mi>а</mi></mrow></mtd></mtr></mtable><mo stretchy="false">)</mo></mtd></mtr></mtable>
(2-4) Сумма значений пикселя
(3) По завершению процессов (2) для всех точек поиска внутри формы поиска значение пикселя с подавленным шумом целевого пикселя шумоподавления получается при помощи следующего уравнения:
(значение пикселя с подавленным шумом)=сумма значений
пикселя SP/сумма весовых коэффициентов SW
Модуль 1000 исполнения фильтра NLM выполняет процесс шумоподавления, используя одно значение и одну форму для всех пикселей целевого изображения шумоподавления, когда одно значение задано в качестве каждого из следующего: входного коэффициента шумоподавления, входной формы поиска и входной формы шаблона, и выполняет процесс шумоподавления наряду с переключением значения и форм для каждой соответствующей точки, когда задана группа фрагментов данных, соответствующая каждому пикселю.
Более того, чтобы удалить искажение от кодирования, фильтр шумоподавления с фильтром удаления блочности установлен в «HM», что является тестовой моделью «Высокоэффективного Кодирования Видео» стандартов кодирования видео следующего поколения, в отношении которых «Экспертной Группой по Движущимся Изображениям (MPEG)» и «Экспертной Группой по Кодированию Видео (VCEG)» в настоящее время осуществляются мероприятия по международной стандартизации (см. Непатентный Документ 2).
ДОКУМЕНТЫ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
НЕПАТЕНТНЫЕ ДОКУМЕНТЫ
Непатентный Документ 1: A. Buades, B. Coil, и J. M. Morel, «A non-local algorithm for image denoising”, Proc. IEEE Int. Conf. on Computer Vision and Pattern Recognition, vol. 2, pp. 60-65, June, 2005.
Непатентный Документ 2: Thomas Wiegand, Woo-Sin Han, Benjamin Bross, Jens-Rainer Ohm, и Gary S. Sullivan, «WD1: Working Draft 1 of High-Efficiency Video Coding», ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG11 3rd Meeting: Guangzhou, CN, 7-15 October, 2010.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ЗАДАЧИ, РЕШАЕМЫЕ С ПОМОЩЬЮ ИЗОБРЕТЕНИЯ
Как описано выше, чтобы удалить искажения от кодирования, в «HM» «Высокоэффективного Кодирования Видео» в стандартах кодирования видео следующего поколения установлен фильтр шумоподавления с фильтром удаления блочности, однако можно предположить, что эффективность кодирования может быть повышена в сравнении с традиционными фильтрами удаления блочности, если в HM вводится вышеупомянутый фильтр NLM.
Тем не менее, огромна вычислительная сложность фильтра NLM, так что существует вероятность того, что время вычисления, требуемое для декодирования, значительно увеличится, если устройство декодирования будет вычислять фильтры NLM для всех пикселей.
<mrow><mi>N</mi><mo>×</mo><mi>N</mi></mrow>
<mrow><mi>M</mi><mo>×</mo><mi>M</mi></mrow>
<mrow><msup><mi>N</mi><mn>2</mn></msup><mo>×</mo><msup><mi>M</mi><mn>2</mn></msup></mrow>
Как описано выше, сравнение шаблонов выполняется для каждого целевого пикселя шумоподавления и каждой точки поиска внутри произвольной формы поиска, используя произвольную форму шаблона для вычисления степени сходства между шаблонами. В результате, если предположить, что, например, формой шаблона является блок
, а формой поиска является
, то вычислительная сложность порядка
требуется для выполнения вычисления шумоподавления для одного пикселя. Вследствие этого, чтобы использовать фильтр NLM в устройстве декодирования и т.п., требуется технология снижения вычислительной сложности.
Цель настоящего изобретения состоит в решении вышеописанных задач и предоставлении технологии снижения вычислительной сложности фильтра шумоподавления, сдерживая при этом снижение эффективности кодирования. Следует отметить, что здесь в качестве эффективности кодирования используется, например, коэффициент BD, который является одной из международных методик оценки и вычисляется из качества изображения и количества бит.
СРЕДСТВА ДЛЯ РЕШЕНИЯ ЗАДАЧ
Для решения вышеприведенных задач настоящее изобретение исполняет следующие процессы фильтрации при кодировании видео или декодировании видео, используя контурный фильтр, который выполняет сравнение шаблонов между шаблоном, который является источником сравнения для целевого пикселя шумоподавления в декодированном изображении, и шаблоном для каждой из точек поиска, которые являются целями поиска внутри формы поиска в декодированном изображении, и удаляет шум целевого пикселя, используя весовые коэффициенты в соответствии со степенями сходства между шаблонами и взвешенной суммой значений пикселя в точках поиска.
(1) Степень отклонения между целевым пикселем и окрестным пикселем целевого пикселя вычисляется, используя декодированное изображение.
(2) Степень отклонения используется в качестве индекса, используемого для ограничения формы шаблона, и процесс ограничения формы шаблона исполняется таким образом, что чем ниже степень отклонения относительно максимального значения степени отклонения внутри декодированного изображения, тем меньше форма шаблона.
Более того, дополнительно может быть добавлен следующий процесс (3).
(3) Обнаруживается излишне назначенная область в форме шаблона, ограниченной процессом (2), и выполняется повторная установка формы шаблона, чтобы дополнительно ограничить форму шаблона.
Как описано выше, несмотря на то, что обычно форма шаблона уникально задается для всего кадра как фиксированное значение, можно снизить вычислительную сложность сравнения шаблонов посредством введения процесса ограничения формы шаблона для каждого пикселя с помощью приведенных выше процессов (1) и (2). Дополнительно, можно дополнительно снизить вычислительную сложность посредством дополнительного исполнения процесса (3).
Соответственно, можно снизить вычислительную сложность контурного фильтра, сдерживая при этом снижение эффективности кодирования кодирования/декодирования видео.
ПОЛЕЗНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
В соответствии с настоящим изобретением, можно снизить вычислительную сложность, сдерживая при этом снижение эффективности кодирования, посредством введения процесса ограничения формы шаблона для сокращения количества пикселей в шаблонах, между которыми выполняется сравнение в процессе контурного фильтра при кодировании/декодировании видео.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является схемой, иллюстрирующей пример конфигурации устройства кодирования видео, к которому применяется вариант осуществления настоящего изобретения.
Фиг. 2 является блок-схемой обработки устройства кодирования видео.
Фиг. 3 является блок-схемой обработки устройства кодирования видео.
Фиг. 4 является схемой, иллюстрирующей пример конфигурации устройства декодирования видео, к которому применяется вариант осуществления настоящего изобретения.
Фиг. 5 является блок-схемой обработки устройства декодирования видео.
Фиг. 6 является блок-схемой обработки устройства декодирования видео.
Фиг. 7 является схемой, иллюстрирующей первый пример конфигурации модуля обработки фильтра шумоподавления.
Фиг. 8 является блок-схемой обработки модуля обработки фильтра шумоподавления.
Фиг. 9 является схемой, описывающей пример ограничения формы шаблона модулем установки формы шаблона.
Фиг. 10 является схемой, иллюстрирующей второй пример конфигурации модуля обработки фильтра шумоподавления.
Фиг. 11 является блок-схемой обработки модуля обработки фильтра шумоподавления.
Фиг. 12A является схемой, описывающей пример способа обнаружения степени отклонения.
Фиг. 12B является схемой, описывающей пример способа обнаружения степени отклонения.
Фиг. 13 является схемой, иллюстрирующей гистограмму степеней отклонения, как, впрочем, и взаимосвязь между пороговыми значениями и установкой областей.
Фиг. 14A является схемой, описывающей пример установки количества выборок в соответствии с соотношением интеграции.
Фиг. 14B является схемой, описывающей пример установки количества выборок в соответствии с соотношением интеграции.
Фиг. 15A является схемой, описывающей оператор Собеля в примере способа обнаружения направления границы.
Фиг. 15B является схемой, описывающей показатели в соответствии с направлениями в примере способа обнаружения направления границы.
Фиг. 15C является схемой, описывающей способ для назначения показателей в примере способа обнаружения направления границы.
Фиг. 16A является схемой, описывающей целевую область вычисления в примере способа повторной установки формы шаблона.
Фиг. 16B является схемой, описывающей признак шума блочности в примере способа повторной установки формы шаблона.
Фиг. 16C является схемой, описывающей установку четырех углов в примере способа повторной установки формы шаблона.
Фиг. 17 является схемой, иллюстрирующей пример конфигурации системы, когда вариант осуществления настоящего изобретения реализуется при помощи программы программного обеспечения.
Фиг. 18 является схемой, описывающей фильтр NLM.
Фиг. 19 является схемой, иллюстрирующей входы и выход модуля исполнения фильтра NLM.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Здесь и далее варианты осуществления настоящего изобретения будут описаны со ссылкой на чертежи. Сначала будут описаны примеры устройства кодирования видео и устройства декодирования видео, к которым применяются варианты осуществления настоящего изобретения. Следует отметить, что описываемые ниже устройство кодирования видео и устройство декодирования видео являются примерами устройств, к которым применяются варианты осуществления настоящего изобретения, и варианты осуществления настоящего изобретения не обязательно ограничиваются конфигурациями этих устройств.
[ПРИМЕР ПРИМЕНЕНИЯ К УСТРОЙСТВУ КОДИРОВАНИЯ ВИДЕО]
Фиг. 1 является схемой, иллюстрирующей пример конфигурации устройства кодирования видео, к которому применяется вариант осуществления настоящего изобретения. В показанном на Фиг. 1 устройстве кодирования видео модуль 101 хранения исходного изображения является модулем хранения для всех изображений входной последовательности, которая является целью кодирования, и он последовательно выводит целевые изображения кодирования кадров.
В устройстве кодирования видео на Фиг. 1 иллюстрируется пример, в котором модуль 113 обработки фильтра шумоподавления хранит как опорную форму поиска, так и опорную форму шаблона в качестве фиксированных значений. Более того, иллюстрируется пример, в котором в качестве коэффициента шумоподавления определяется коэффициент шумоподавления, который обеспечивает оптимальную эффективность кодирования в сравнении с тем, что присутствует у исходного изображения, который закодирован в битовом потоке в качестве служебных данных коэффициента шумоподавления. Когда как форма поиска, так и форма шаблона или одно из них подаются извне, посредством, например, установки пользователя, то необходимо передать эти формы устройству декодирования, но установка извне может быть реализована посредством кодирования этих форм в качестве служебных данных аналогично коэффициенту шумоподавления, и, следовательно, описание этого опущено в примере применения к настоящему устройству кодирования и в примере применения к устройству декодирования.
Модуль 102 определения размера блока определяет размер блока, с помощью которого осуществляется разделение на предварительно определенный Блок Кодирования и исполняется кодирование, и выводит целевой блок и размер блока. Модуль 103 определения размера предсказания определяет размер предсказания блока, с помощью которого предсказываются значения пикселя целевого блока, и выводит целевой блок и размер предсказания. Модуль 104 определения методики предсказания определяет методику, которая обеспечивает наивысшую эффективность кодирования из методик, включающих в себя: внутрикадровое предсказание и межкадровое предсказание, когда предсказываются значения пикселя целевого блока, и выводит блок предсказания и информацию предсказания, когда используется эта методика. Для формирования разностного блока вычисляется разность между целевым блоком, который выводится модулем 103 определения размера предсказания, и блоком предсказания.
Модуль 105 определения размера преобразования определяет размер преобразования, с помощью которого осуществляется разделение разностного блока, и выводит разделенные разностные блоки размера преобразования, как, впрочем, и размер преобразования. Модуль 106 дискретного косинусного преобразования применяет дискретное косинусное преобразование (DCT) к разностным блокам и выводит коэффициенты DCT. Модуль 107 квантования квантует коэффициенты DCT и выводит квантованные коэффициенты DCT.
Модуль 108 обратного квантования выполняет обратное квантование над квантованными коэффициентами DCT для восстановления коэффициентов DCT. Модуль 109 обратного дискретного косинусного преобразования применяет обратное дискретное косинусное преобразование к коэффициентам DCT и выводит декодированный разностный блок. Декодированный разностный блок складывается с блоком предсказания для формирования частичного декодированного изображения. Модуль 110 хранения декодированного изображения является модулем хранения для хранения частичного декодированного изображения и изображений, к которым также может осуществляться обращение в устройстве декодирования. Модуль 111 внутрикадрового предсказания обращается к частичному декодированному изображению, которое хранится в модуле 110 хранения декодированного изображения, и выводит блок предсказания и информацию предсказания.
Модуль 112 определения коэффициента шумоподавления определяет коэффициент шумоподавления, который обеспечивает оптимальную эффективность кодирования, обращаясь к декодированному изображению и исходному изображению, и выводит коэффициент шумоподавления.
Модуль 113 обработки фильтра шумоподавления является фильтром, который удаляет шум декодированного изображения, используя способ обработки изображения, который выполняет сравнение шаблонов между шаблоном, который является источником сравнения для целевого пикселя шумоподавления в декодированном изображении, и шаблоном для каждой из точек поиска, которые являются целями поиска со ссылкой на декодированное изображение в качестве целевого изображения шумоподавления, и удаляет шум целевого пикселя, используя весовые коэффициенты в соответствии со степенью сходства между шаблонами и взвешенной суммой значений пикселя в точках поиска. Данный процесс фильтрации формирует отфильтрованное декодированное изображение, в котором уменьшено искажение от кодирования. Данный модуль 113 обработки фильтра шумоподавления, в частности, отличается от известного уровня техники. Его подробный вариант осуществления будет описан ниже.
Модуль 114 обработки адаптивного контурного фильтра (ALF) выполняет процесс фильтрации над отфильтрованным декодированным изображением таким образом, чтобы оно было ближе к исходному изображению, и выводит декодированное изображение после ALF и коэффициенты ALF. Буфер 115 кадра является модулем хранения для хранения декодированного изображения после ALF. Модуль 116 межкадрового предсказания обращается к буферу 115 кадра и выводит блок предсказания и информацию предсказания.
Модуль 117 кодирования информации последовательности кодирует информацию, уникальную для входной последовательности, такую как количество пикселей в вертикальном направлении и горизонтальном направлении видео, и затем выводит служебные данные информации последовательности в модуль 125 хранения битового потока. Модуль 118 кодирования размера блока принимает размер блока от модуля 102 определения размера блока, выполняет кодирование и затем выводит служебные данные размера блока. Модуль 119 кодирования размера предсказания принимает размер предсказания от модуля 103 определения размера предсказания, выполняет кодирование и затем выводит служебные данные размера предсказания. Модуль 120 кодирования информации предсказания принимает информацию предсказания от модуля 104 определения методики предсказания, выполняет кодирование и затем выводит служебные данные информации предсказания.
Модуль 121 кодирования размера преобразования принимает размер преобразования от модуля 105 определения размера преобразования, выполняет кодирование и затем выводит служебные данные размера преобразования. Модуль 122 кодирования квантованного коэффициента DCT принимает квантованные коэффициенты DCT от модуля 107 квантования, выполняет кодирование и затем выводит служебные данные DCT. Модуль 123 кодирования коэффициента шумоподавления принимает коэффициент шумоподавления, который определен модулем 112 определения коэффициента шумоподавления, выполняет кодирование и затем выводит служебные данные коэффициента шумоподавления. Модуль 124 кодирования коэффициента ALF принимает коэффициенты ALF, выполняет кодирование и затем выводит служебные данные ALF. Модуль 125 хранения битового потока является модулем хранения для хранения каждых служебных данных и выводит битовый поток в качестве результата кодирования, по завершению кодирования всей последовательности.
Модуль 126 хранения информации кодирования является модулем хранения для хранения информации кодирования, обращение к которой также может осуществляться со стороны устройства декодирования. Обращение к данной информации кодирования, которая хранится в модуле 126 хранения информации кодирования, осуществляется со стороны, и она используется модулем 113 обработки фильтра шумоподавления и другими модулями.
[ПОТОК ОБРАБОТКИ УСТРОЙСТВА КОДИРОВАНИЯ ВИДЕО]
Фиг. 2 и Фиг. 3 иллюстрируют блок-схему обработки устройства кодирования видео, показанного на Фиг. 1. Устройство кодирования видео выполняет следующие процессы.
- Сначала, на этапе S101, входная последовательность сохраняется в модуле 101 хранения исходного изображения.
- Далее, на этапе S102, информация последовательности кодируется и сохраняется в модуле 125 хранения битового потока.
- Далее, на этапе S103, над всеми целевыми кадрами кодирования выполняется циклическая обработка, вплоть до этапа S118.
- Далее, на этапе S104, над всеми Блоками Кодирования (CU) целевого изображения кодирования выполняется циклическая обработка, вплоть до этапа S114.
- Далее, на этапе S105, размер блока определяется, кодируется и сохраняется в модуле 125 хранения битового потока.
- Далее, на этапе S106, размер предсказания определяется, кодируется и сохраняется в модуле 125 битового потока.
- Далее, на этапе S107, вычисляется разность между целевым блоком и методикой, которая обеспечивает наивысшую эффективность кодирования среди блока предсказания внутрикадрового предсказания и блока предсказания межкадрового предсказания.
- Далее, на этапе S108, информация предсказания сохраняется в модуле 125 хранения битового потока.
- Далее, на этапе S109, размер преобразования определяется, кодируется и сохраняется в модуле 125 хранения битового потока.
- Далее, на этапе S110, выполняется дискретное косинусное преобразование (DCT).
- Далее, на этапе S111, выполняется квантование, и квантованные коэффициенты DCT кодируются и сохраняются в модуле 125 хранения битового потока.
- Далее, на этапе S112, выполняется обратное квантование и обратное дискретное косинусное преобразование.
- Далее, на этапе S113, блок предсказания, примененный на этапе S107, складывается с декодированным разностным блоком после обратного преобразования.
- Далее, на этапе S114, частичное декодированное изображение, полученное посредством сложения, сохраняется в модуле 110 хранения декодированного изображения.
- По завершению циклической обработки для всех CU целевого изображения кодирования, на этапе S115, вычисляется коэффициент шумоподавления, который обеспечивает оптимальную эффективность кодирования, используя декодированное изображение и исходное изображение.
- Далее, на этапе S116, над декодированным изображением исполняется процесс фильтрации шумоподавления, при помощи настоящей методики, используя вычисленный коэффициент шумоподавления, и коэффициент шумоподавления кодируется и сохраняется в модуле 125 хранения битового потока.
- Далее, на этапе S117, исполняется адаптивный контурный фильтр (ALF), и коэффициенты ALF кодируются и сохраняются в модуле 125 хранения битового потока.
- Далее, на этапе S118, декодированное изображение после ALF сохраняется в буфере 115 кадра.
- По завершению циклической обработки для всех целевых кадров кодирования, на этапе S119, выводится битовый поток, и обработка завершается.
[ПРИМЕР ПРИМЕНЕНИЯ К УСТРОЙСТВУ ДЕКОДИРОВАНИЯ ВИДЕО]
Фиг. 4 является схемой, иллюстрирующей пример конфигурации устройства декодирования видео, к которому применяется вариант осуществления настоящего изобретения. Здесь и далее будет описано устройство декодирования видео, показанное на Фиг. 4. Модуль 201 хранения битового потока является модулем хранения для входного битового потока и выводит каждый фрагмент служебной информации по мере необходимости. Модуль 202 декодирования информации последовательности принимает служебные данные информации последовательности и декодирует информацию, которая является уникальной для последовательности, такую как количество пикселей в вертикальном направлении и горизонтальном направлении видео.
Модуль 203 декодирования размера блока принимает служебные данные размера блока и декодирует информацию, указывающую размер блока, с помощью которого осуществляется разделение на предварительно определенный Блок Кодирования и кодирование. Модуль 204 декодирования размера предсказания принимает служебные данные размера предсказания и выводит размер предсказания, который применялся в устройстве кодирования видео.
Модуль 205 декодирования информации предсказания принимает служебные данные информации предсказания и выводит информацию предсказания. Модуль 206 декодирования размера преобразования принимает служебные данные размера преобразования и выводит размер преобразования, который применялся в устройстве кодирования видео. Модуль 207 декодирования квантованного коэффициента DCT принимает размер преобразования и служебные данные DCT и выводит квантованные коэффициенты DCT. Модуль 208 декодирования коэффициента шумоподавления принимает служебные данные коэффициента шумоподавления и выводит коэффициент шумоподавления. Модуль 209 декодирования коэффициента ALF принимает служебные данные ALF и выводит коэффициенты ALF.
Модуль 210 обратного квантования выполняет обратное квантование над квантованными коэффициентами DCT для восстановления коэффициентов DCT. Модуль 211 обратного дискретного косинусного преобразования применяет обратное дискретное косинусное преобразование к коэффициентам DCT и выводит декодированный разностный сигнал. Модуль 212 формирования блока предсказания принимает информацию предсказания, частичное декодированное изображение и опорный кадр и формирует блок предсказания. Модуль 213 формирования частичного декодированного изображения складывает блок предсказания с декодированным разностным сигналом для формирования частичного декодированного изображения. Модуль 214 хранения декодированного изображения является модулем хранения для хранения частичного декодированного изображения.
Модуль 215 обработки фильтра шумоподавления является фильтром, который удаляет шум декодированного изображения, используя способ обработки изображения, который выполняет сравнение шаблонов между шаблоном, который является источником сравнения для целевого пикселя шумоподавления в декодированном изображении, и шаблоном для каждой из точек поиска, которые являются целями поиска со ссылкой на декодированное изображение в качестве целевого изображения шумоподавления, и удаляет шум целевого пикселя, используя весовые коэффициенты в соответствии со степенью сходства между шаблонами и взвешенной суммой значений пикселя в точках поиска, и данный процесс фильтрации формирует отфильтрованное декодированное изображение, в котором уменьшено искажение на краях блока. Данный модуль 215 обработки фильтра шумоподавления, в частности, отличается от известного уровня техники. Его подробный вариант осуществления будет описан ниже.
Модуль 216 обработки ALF принимает коэффициенты ALF, выполняет обработку фильтра над отфильтрованным декодированным изображением, так чтобы оно было близко к исходному изображению, и выводит декодированное изображение после ALF. Следует отметить, что данное декодированное изображение после ALF становится итоговым декодированным изображением при декодировании. Буфер 217 кадра является модулем хранения для хранения декодированного изображения после ALF. Модуль 218 хранения информации кодирования является модулем хранения для хранения информации кодирования, и обращение к данной информации кодирования, хранящейся в модуле 218 хранения информации кодирования, осуществляется со стороны, и она используется модулем 215 обработки фильтра шумоподавления и другими модулями.
[ПОТОК ОБРАБОТКИ УСТРОЙСТВА ДЕКОДИРОВАНИЯ ВИДЕО]
Фиг. 5 и Фиг. 6 иллюстрируют блок-схему обработки устройства декодирования видео, показанного на Фиг. 4. Устройство декодирования видео выполняет следующие процессы.
- Сначала, на этапе S201, входной битовый поток сохраняется в модуле 201 хранения битового потока.
- Далее, на этапе S202, декодируется информация последовательности.
- Далее, на этапе S203, над всеми целевыми кадрами декодирования выполняется циклическая обработка, вплоть до этапа S214.
- Далее, на Этапе S204, над всеми Блоками Кодирования (CU) целевого изображения декодирования выполняется циклическая обработка, вплоть до этапа S211.
- Далее, на этапе S205, декодируется размер блока.
- Далее, на этапе S206, декодируется размер предсказания.
- Далее, на этапе S207, декодируется информация предсказания и формируется блок предсказания.
- Далее, на этапе S208, декодируется размер преобразования.
- Далее, на этапе S209, декодируются квантованные коэффициенты DCT.
- Далее, на этапе S210, выполняются обратное квантование и обратное дискретное косинусное преобразование.
- Далее, на этапе S211, формируется декодированный блок, при помощи блока предсказания на этапе S207 и результата этапа S210, и сохраняется в модуле 214 хранения декодированного изображения.
- По завершению циклической обработки над всеми CU целевого изображения декодирования, на этапе S212, декодируется коэффициент шумоподавления, и над частичным декодированным изображением исполняется процесс фильтрации шумоподавления, используя настоящую методику.
- Далее, на этапе S213, декодируются коэффициенты ALF, и исполняется процесс ALF.
- Далее, на этапе S214, декодированное изображение после ALF сохраняется в буфере 217 кадра.
- По завершению циклической обработки для всех целевых кадров декодирования, на этапе S215, кадры из буфера 217 кадра выводятся в очередности номера кадра, чтобы сформировать выходную последовательность, и обработка завершается.
[ПРИМЕР 1 МОДУЛЯ ОБРАБОТКИ ФИЛЬТРА ШУМОПОДАВЛЕНИЯ]
Фиг. 7 является схемой, иллюстрирующей первый пример конфигурации модуля обработки фильтра шумоподавления. Модуль 30 обработки фильтра шумоподавления, показанный на Фиг. 7, является контурным фильтром, который используется в качестве вышеописанного модуля 113 обработки фильтра шумоподавления в устройстве кодирования видео, показанном на Фиг. 1. В дополнение, модуль 30 обработки фильтра шумоподавления также используется в качестве вышеописанного модуля 215 обработки фильтра шумоподавления в устройстве декодирования видео, показанном на Фиг. 4.
Модуль 30 обработки фильтра шумоподавления снабжен модулем 301 установки коэффициента шумоподавления, модулем 302 исполнения фильтра NLM, модулем 303 хранения формы поиска, модулем 304 хранения формы шаблона, модулем 305 обнаружения степени отклонения и модулем 306 установки формы шаблона.
Модуль 301 установки коэффициента шумоподавления формирует коэффициенты шумоподавления, которые соответствуют позициям пикселя целевого изображения шумоподавления, используя предварительно определенный опорный коэффициент шумоподавления и информацию кодирования. В целом, в диапазоне от средней скорости до низкой скорости, шум блочности становится заметным на краях блока обработки предсказания Блок Предсказания и блока обработки преобразования Блок Преобразования, и, следовательно, коэффициенты шумоподавления в позициях пикселя вблизи этих краев устанавливаются таким образом, чтобы они были выше тех, что используются внутри блока, используя информацию кодирования.
Модуль 303 хранения формы поиска и модуль 304 хранения формы шаблона являются модулями хранения для хранения каждой формы в качестве фиксированного значения. Модуль 305 обнаружения отклонения и модуль 306 установки формы шаблона предусмотрены в целях введения процесса ограничения формы шаблона на попиксельной основе. В обычных фильтрах NLM форма шаблона, как правило, задается в качестве фиксированного значения для всего кадра. В противоположность, в настоящем варианте осуществления, в качестве предварительной обработки фильтра NLM посредством модуля 302 исполнения фильтра NLM модуль 305 обнаружения степени отклонения обнаруживает степени отклонения от окрестных пикселей для каждого из пикселей декодированного изображения, которое является целевым изображением шумоподавления, а модуль 306 установки формы шаблона классифицирует степени отклонения, обнаруженные модулем 305 обнаружения степени отклонения, по нескольким уровням и устанавливает форму шаблона (от большой к маленькой) каждого из пикселей в соответствии со степенью отклонения (от высокой к низкой).
Модуль 302 исполнения фильтра NLM вводит целевое изображение шумоподавления, коэффициенты шумоподавления для пикселей, установленные модулем 301 установки коэффициента шумоподавления, форму шаблона для каждого пикселя, установленную модулем 306 установки формы шаблона, и форму поиска, заданную от модуля 303 хранения формы поиска, и выводит изображение с подавленным шумом. Обработка, выполняемая модулем 302 исполнения фильтра NLM, аналогична той, которую выполняет обычный фильтр NLM, раскрываемый в Непатентном Документе 1.
В качестве опорного коэффициента шумоподавления, опорной формы поиска и опорной формы шаблона информация, установленная пользователем, может вводиться в устройство кодирования видео или устройство декодирования видео, или фиксированные значения могут быть сохранения заранее и значения могут использоваться.
Настоящий вариант осуществления иллюстрирует пример, который вводит коэффициент шумоподавления и хранит форму поиска и форму шаблона в модулях 303 и 304 хранения заранее в качестве фиксированных значений. Когда форма поиска и форма шаблона произвольно задаются пользователем, то устройство кодирования видео кодирует эти фрагменты информации аналогично коэффициенту шумоподавления, а устройство декодирования видео декодирует эти фрагменты информации, тем самым реализуя установку пользователя.
Фиг. 8 является блок-схемой обработки модуля 30 обработки фильтра шумоподавления, показанного на Фиг. 7. Сначала, на этапе S301, модуль 30 обработки фильтра шумоподавления получает коэффициент шумоподавления, целевое изображение шумоподавления и информацию кодирования, которые вводятся извне. Целевое изображение шумоподавления вводится из модуля 110 хранения декодированного изображения (в случае кодирования) или модуля 214 хранения декодированного изображения (в случае декодирования), а информация кодирования вводится из модуля 126 хранения информации кодирования (в случае кодирования) или модуля 218 хранения информации кодирования (в случае декодирования).
На этапе S302, модуль 301 установки коэффициента шумоподавления устанавливает коэффициенты шумоподавления, которые соответствуют позициям пикселя целевого изображения шумоподавления, из входного опорного коэффициента шумоподавления, и вводит информацию кодирования.
Далее, на этапе S303, модуль 305 обнаружения степени отклонения вводит целевое изображение шумоподавления, вычисляет степени отклонения между целевым пикселем и окрестными пикселями и выводит группу степеней отклонения, которые соответствует каждому пикселю. На этапе S304, модуль 306 установки формы шаблона устанавливает и выводит ограниченную форму шаблона, которая соответствует каждому пикселю, используя группу степеней отклонения и предварительно определенную форму шаблона, которая хранится в модуле 304 хранения формы шаблона. Когда форма шаблона ограничивается, входная форма шаблона рассматривается как максимальная форма, и ограничение применяется таким образом, что чем ниже степень отклонения, тем меньше форма шаблона.
В заключении, на этапе S305, модуль 302 исполнения фильтра NLM исполняет фильтр NLM в соответствии с установленной информацией и выводит результирующее отфильтрованное изображение.
<mo>×</mo>
Фиг. 9 является схемой, описывающей пример ограничения формы шаблона посредством модуля 306 установки формы шаблона. Например, предполагается, что входной или установленной формой шаблона является блок 5
5, как показано на Фиг. 9(A). Эта форма шаблона ограничивается в соответствии со степенями отклонения, как показано, например, на Фиг. 9(B). Когда SSD используется в качестве степени сходства между шаблонами, то операции, включающие в себя 24 сложения, 25 вычитаний и 25 умножений, требуются для исходной формы шаблона; в противоположность, посредством ограничения формы шаблона, как показано на Фиг. 9(B), требуются только операции, включающие в себя 12 сложений, 13 вычитаний и 13 умножений, и, следовательно, вычислительная сложность снижается почти на 50%.
Обработка посредством модуля 30 обработки фильтра шумоподавления направлена на удаление шума от кодирования, и это не предполагает удаление шума, который единообразно применен ко всему кадру, из кадра, как при обычной обработке изображения. Шум от кодирования (искажение кодирования) может быть грубо классифицирован на следующие типы:
1. Исчезновение узора из-за сглаживания
2. Москитный шум вокруг границы из-за DCT
3. Шум блочности, формируемый на краях Блока Предсказания и Блока Преобразования
Из этих типов настоящий вариант осуществления не направлен на восстановление узора, потерянного из-за сглаживания, так как это сложно сделать. Если фильтр NLM применяется к такой сглаженной области, в которой отсутствует изменение в значении пикселя, то для этого все равно требуется вычислительная сложность, несмотря на то, что нет почти никакого изменения между сигналом пикселя до вычисления и сигналом пикселя после вычисления. Настоящий вариант осуществления вычисляет степени отклонения от окрестных пикселей для снижения вычислительной сложности, которая также распределяется на такую сглаженную область.
[ПРИМЕР 2 МОДУЛЯ ОБРАБОТКИ ФИЛЬТРА ШУМОПОДАВЛЕНИЯ]
Фиг. 10 является схемой, иллюстрирующей второй пример конфигурации модуля обработки фильтра шумоподавления. Модуль 31 обработки фильтра шумоподавления, показанный на Фиг. 10, является контурным фильтром, который используется в качестве вышеописанного модуля 113 обработки фильтра шумоподавления в устройстве кодирования видео, показанном на Фиг. 1. Более того, модуль 31 обработки фильтра шумоподавления также используется в качестве модуля 215 обработки фильтра шумоподавления в устройстве декодирования видео, показанном на Фиг. 4.
Модуль 31 обработки фильтра шумоподавления снабжен модулем 311 установки коэффициента шумоподавления, модулем 312 исполнения фильтра NLM, модулем 313 хранения формы поиска, модулем 314 хранения формы шаблона, модулем 315 обнаружения степени отклонения, модулем 316 установки формы шаблона, модулем 317 обнаружения направления границы и модулем 318 повторной установки формы шаблона.
Модуль 31 обработки фильтра шумоподавления отличается от вышеописанного модуля 30 обработки фильтра шумоподавления, показанного на Фиг. 7, тем, что предусмотрены модуль 317 обнаружения направления границы и модуль 318 повторной установки формы шаблона. Прочие модули обладают теми же функциями, как те, что предусмотрены в модуле 30 обработки фильтра шумоподавления.
Модуль 317 обнаружения направления границы обнаруживает направления границы целевого изображения шумоподавления и выводит группу направлений границы, соответствующих пикселям в целевом изображении шумоподавления. В качестве примера направлений границы присутствует группа показателей или группа углов, которые пронумерованы в соответствии с направлениями.
Модуль 318 повторной установки формы шаблона выполняет повторную установку для дополнительного ограничения формы шаблона, которая была чрезмерно выделена модулем 316 установки формы шаблона со ссылкой на: группу направлений границы, которые обнаружены модулем 317 обнаружения направления границы; группу степеней отклонения, которые обнаружены модулем 315 обнаружения степени отклонения; и информацию кодирования. В частности, дополнительно ограничивается форма шаблона, которой свойственно чрезмерное выделение для окрестностей шума блочности, формирование которого свойственно на краях Блока Предсказания и Блока Преобразования.
Фиг. 11 является блок-схемой обработки модуля 31 обработки фильтра шумоподавления, показанного на Фиг. 10. Сначала, на этапе S311, модуль 31 обработки фильтра шумоподавления получает коэффициент шумоподавления, целевое изображение шумоподавления и информацию кодирования, которые вводятся извне.
На этапе S312, модуль 311 установки коэффициента шумоподавления устанавливает коэффициенты шумоподавления, которые соответствуют позициям пикселя целевого изображения шумоподавления из входного опорного коэффициента шумоподавления и входной информации кодирования. Далее, на этапе S313, модуль 315 обнаружения степени отклонения вводит целевое изображение шумоподавления, вычисляет степени отклонения между целевым пикселем и окрестными пикселями и выводит группу степеней отклонения, которые соответствуют каждому пикселю. На этапе S314, модуль 316 установки формы шаблона устанавливает и выводит ограниченную форму шаблона, которая соответствует каждому пикселю, используя группу степеней отклонения и предварительно определенную форму шаблона, которая хранится в модуле 314 хранения формы шаблона. Когда форма шаблона ограничивается, входная форма шаблона рассматривается как максимальная форма, и ограничение применяется таким образом, что чем ниже степень отклонения, тем меньше форма шаблона. Вышеприведенные процессы этапов с S311 по S314 являются точно такими же, как те, что присутствуют в модуле 30 обработки фильтра шумоподавления, описанном со ссылкой на Фиг. 8.
На этапе S315, модуль 317 обнаружения направления границы обнаруживает направление границы каждой точки в целевом изображении шумоподавления и выводит группу направлений границы. На этапе S316, модуль 318 повторной установки формы шаблона повторно устанавливает форму шаблона, используя информацию кодирования, группу направлений границы, которые обнаружены модулем 317 обнаружения направления границы, и группу степеней отклонения, которые обнаружены модулем 315 обнаружения степени отклонения, для уменьшения чрезмерного выделения формы шаблона, установленного на этапе S314. В заключение, на этапе S317, модуль 312 исполнения фильтра NLM исполняет фильтр NLM в соответствии с установленной информацией и выводит результирующее отфильтрованное изображение.
[ПРИМЕР СПОСОБА ОБНАРУЖЕНИЯ СТЕПЕНИ ОТКЛОНЕНИЯ]
<mi>z</mi>
<mi>a</mi>
<mi>x</mi>
<mi>z</mi>
<mi>a</mi>
<mi>x</mi>
DiffIntensity
DiffIntensity
Будет описан пример способов обнаружения степени отклонения в модулях 305 и 315 обнаружения степени отклонения. Фиг. 12A и Фиг. 12B являются схемами, описывающими пример способов обнаружения степени отклонения. Описание будет дано для случая, при котором пиксель
, показанный на Фиг. 12A, установлен в качестве целевого пикселя шумоподавления, и показатели с
по
присвоены его окрестным пикселям. Здесь, взвешенная сумма, полученная посредством умножения абсолютных разностей между пикселем
и окрестными пикселями (с
по
) на коэффициенты, которые учитывают затухание в зависимости от расстояния, используется в качестве индекса для степени отклонения (). Т.е.  вычисляется с помощью следующего уравнения.
<mi>A</mi>
<mi>E</mi>
<mi>A</mi>
<mi>E</mi>
<mi>A</mi>
<mi>E</mi>
Обозначения с
по
в уравнении являются коэффициентами, которые определены заранее в соответствии с расстояниями между целевым пикселем и окрестными пикселями, и они установлены произвольно. Например, для установки этих коэффициентов с
по
может быть применено гауссово распределение в зависимости от расстояния и т.п. Следует отметить, что обязательными целями являются не все коэффициенты с
по
, и можно снизить вычислительную сложность фильтра посредством, например, установки D равным 0.
DiffIntensity
По завершению вычисления для всех  модули 305 и 315 обнаружения степени отклонения выводят группу степеней отклонения в подчиненные модули 306 и 316 установки формы шаблона.
В качестве альтернативы, рассматривается, что абсолютное значение фильтра Лапласа, сумма квадратов разностей (SSD), дисперсия и т.д. могут быть применены для вычисления степеней отклонения.
<mrow><mi>N</mi><mo>×</mo><mi>N</mi></mrow>
Для того чтобы дополнительно снизить вычислительную сложность, также рассматривается методика установки нескольких точек выборки в качестве целей вычисления для каждого блока
с произвольным размером для декодированного изображения и использования степеней отклонения в качестве типичных значений в их позициях пикселей.
<mo>×</mo>
DiffIntensity
DiffIntensity
2×2
2×2
Фиг. 12B иллюстрирует пример прореживания количества выборок. В данном примере, блок делится на 2
2, и целями вычисления являются верхний левый пиксель и нижний правый пиксель. Когда степень отклонения в данном примере обозначена как , то  вычисляется посредством следующего уравнения.
DiffIntensity
2×2
<mi>A</mi>
<mi>D</mi>
Приведенная выше  используется в качестве типичного значения при запросе ссылки на степени отклонения в позициях пикселя с
по
. В данном примере вычислительная сложность, которая требуется для вычисления степеней отклонения, снижается почти наполовину.
[ПРИМЕР 1 СПОСОБА УСТАНОВКИ ФОРМЫ ШАБЛОНА]
<mo>×</mo>
В качестве одного из примеров способов установки формы шаблона в модулях 306 и 316 установки формы шаблона, будет дан пример уменьшения формы шаблона для всех точек опорной формы шаблона в виде блока 3
3, которая задается от устройства, используя группу степеней отклонения, которая вычислена модулями 305 и 315 обнаружения степени отклонения.
Фиг. 13 является схемой, иллюстрирующей гистограмму степеней отклонения, как, впрочем, и взаимосвязь между пороговыми значениями и установкой областей. Когда целью является естественное изображение, то гистограмма группы степеней отклонения смещена к более низким значениям, и чем выше степень отклонения, тем меньше частота появлений. Более того, свойство гистограммы состоит в том, что она смещается к более низкой степени отклонения по мере увеличения значения параметра квантования.
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
<mi>α</mi>
<mi>δ</mi>
<mi>α</mi>
<mi>β</mi>
<mrow><mi>T</mi><mi>h</mi><mi>α</mi></mrow>
<mi>β</mi>
<mi>γ</mi>
<mrow><mi>T</mi><mi>h</mi><mi>β</mi></mrow>
<mi>γ</mi>
<mi>δ</mi>
<mrow><mi>T</mi><mi>h</mi><mi>γ</mi></mrow>
Модули 306 и 316 установки формы шаблона создают гистограмму входной группы степеней отклонения, делят гистограмму на четыре части так, чтобы соотношения межу их площадями были равны друг другу, и устанавливают формы
шаблонов для областей с
по
следующим образом. Значение края между областями
и
обозначено как
, значение края между областями
и
обозначено как
, а значение края между областями
и
обозначено как
.
<mrow><mi>T</mi><mi>h</mi><mi>α</mi></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub><mo>=</mo><mi>Н</mi><mi>и</mi><mi>ч</mi><mi>т</mi><mi>о</mi></mrow>
(1) Если степень отклонения меньше порогового значения
,
(количество элементов равно 0).
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
Когда
равно ничто, сравнение шаблонов не выполняется.
<mrow><mi>T</mi><mi>h</mi><mi>α</mi></mrow>
<mrow><mi>T</mi><mi>h</mi><mi>β</mi></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub><mo>=</mo><mi>Т</mi><mi>о</mi><mi>ч</mi><mi>к</mi><mi>а</mi></mrow>
(2) Если степень отклонения больше либо равна пороговому значению
и меньше
,
(количество элементов равно 1).
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
Когда
равно Точка, вычисляется SSD только для целевого пикселя и пикселя точки поиска.
<mrow><mi>T</mi><mi>h</mi><mi>β</mi></mrow>
<mrow><mi>T</mi><mi>h</mi><mi>γ</mi></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub><mo>=</mo><mi>К</mi><mi>р</mi><mi>е</mi><mi>с</mi><mi>т</mi></mrow>
(3) Если степень отклонения больше либо равна пороговому значению
и меньше
,
(количество элементов равно 5).
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
Когда
равно Крест, сравнение выполняется при помощи формы шаблона из пяти пикселей, включающих в себя целевой пиксель и четыре (верхний, нижний, левый, и правый) пикселя.
<mrow><mi>T</mi><mi>h</mi><mi>γ</mi></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub><mo>=</mo><mi>Б</mi><mi>л</mi><mi>о</mi><msub><mi>к</mi><mrow><mn>3</mn><mo>×</mo><mn>3</mn></mrow></msub></mrow>
(4) Если степень отклонения больше либо равна
,
(количество элементов равно 9).
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
<mrow><mi>Б</mi><mi>л</mi><mi>о</mi><msub><mi>к</mi><mrow><mn>3</mn><mo>×</mo><mn>3</mn></mrow></msub></mrow>
<mo>×</mo>
Когда
равно
, сравнение выполняется для всех точек формы шаблона в виде блока 3
3.
<mo>×</mo>
В сравнении с методикой выполнения сравнения для всех точек формы шаблона в виде блока 3
3 и для всех точек поиска посредством ввода настоящей методики могут быть получены следующие вычислительной сложности.
<mi>α</mi>
Область
: вычислительная сложность 0
<mi>β</mi>
Область
: вычислительная сложность 1/9
<mi>γ</mi>
Область
: вычислительная сложность 5/9
<mi>δ</mi>
Область
: вычислительная сложность 1
Поскольку каждая область занимает ¼ всего кадра, то суммарная вычислительная сложность составляет 5/12, и теоретическое значение вычислительной сложности может быть сокращено почти до чуть меньше 1/2.
<mi>δ</mi>
Нижеследующее является причиной того, почему форма шаблона определяется в соответствии с размером степени отклонения данным образом. Сигнал с высокой степенью отклонения, как правило, проявляется в окрестностях строгой границы, тогда как слабая граница, москитный шум из-за DCT, шум во время создания изображения и т.п. проявляются в качестве сигнала с от низкой степени отклонения до средней степени отклонения. Поскольку свойство фильтра NLM состоит в том, что он эффективен, в частности, в окрестностях границы, то настоящий вариант осуществления выделяет большую форму шаблона для области (область
), где степень отклонения высока, тем самым сдерживая ухудшение эффекта шумоподавления.
[ПРИМЕР 2 СПОСОБА УСТАНОВКИ ФОРМЫ ШАБЛОНА]
<mrow><mi>N</mi><mo>×</mo><mi>N</mi></mrow>
В качестве другого примера способов установки формы шаблона в модулях 306 и 316 установки формы шаблона будет дан пример уменьшения формы шаблона для всех точек опорной формы шаблона в виде блока
, которая задается от устройства, используя группу степеней отклонения, которая вычислена модулями 305 и 315 обнаружения степени отклонения.
<mi>f</mi>
DiffIntensity
Th
Intensity
Фиг. 14A и Фиг. 14B являются схемами, описывающими пример установки количества выборок в соответствии с соотношением интеграции. Модули 306 и 316 установки формы шаблона создают гистограмму группы степеней отклонения и устанавливают форму шаблона, используя соотношение между интегрированными значениями функции
() (Фиг. 14B), представляющей собой распределение степеней отклонения, где степень отклонения целевого пикселя шумоподавления на гистограмме обозначается как .
<mrow><mi>N</mi><mo>×</mo><mi>N</mi></mrow>
Т.е. когда опорная форма шаблона задана как блок
, как показано на Фиг. 14A, то уменьшенная форма шаблона устанавливается в виде круга и его диаметр определяется следующим образом.
Соответственно, можно выполнить эффективное сравнение шаблонов посредством использования небольшой формы шаблона, когда степень отклонения низкая, и использования большой формы шаблона, когда степень отклонения высокая.
[ПРИМЕР 1 СПОСОБА ОБНАРУЖЕНИЯ НАПРАВЛЕНИЯ ГРАНИЦЫ]
В качестве одного из примеров способа обнаружения направления границы в модуле 317 обнаружения направления границы будет приведен пример, в котором фильтр Собеля применяется к декодированному изображению, для обнаружения направления границы, и выводится показатель, который назначен в соответствии с направлением.
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
<mrow><mi>T</mi><mi>h</mi></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
<mi>x</mi>
<mi>y</mi>
<mrow><mi>d</mi><mi>x</mi></mrow>
<mrow><mi>d</mi><mi>y</mi></mrow>
<mrow><mi>T</mi><mi>h</mi></mrow>
Фиг. с 15A по 15C являются схемами, описывающими пример способов обнаружения направления границы (фильтр Собеля и показатели в соответствии с направлениями). Как показано на Фиг. 15A, оператор Собеля применяется к окрестным пикселям, и показатели
(с 0 по 10) назначаются в соответствии с обнаруженными направлениями границы, как показано на Фиг. 15B. В данном случае, установлено одно пороговое значение
, 0 назначается в качестве
, если абсолютная сумма компонентов по оси
и по оси
(
и
) меньше порогового значения
, так как считается, что в целевом пикселе не присутствует строгой границы, и показатели выводятся в качестве группы направлений границы.
Фиг. 15C иллюстрирует алгоритм назначения показателя.
<mrow><mrow><mo>|</mo><mrow><mi>d</mi><mi>x</mi></mrow><mo>|</mo></mrow><mo>+</mo><mrow><mo>|</mo><mrow><mi>d</mi><mi>y</mi></mrow><mo>|</mo></mrow><mo><</mo><mi>T</mi><mi>h</mi></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>0</mn></mrow>
- Если
,
<mrow><mi>d</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>6</mn></mrow>
- Если условие выше не выполняется и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mo>−</mo><mn>8.0</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>6</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mo>−</mo><mn>2.0</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>7</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mo>−</mo><mn>1.0</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>8</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mo>−</mo><mn>0.5</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>9</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mo>−</mo><mn>0.125</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>10</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mn>0.125</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>1</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mn>0.5</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>2</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mn>1</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>3</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mn>2.0</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>4</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo><</mo><mn>8.0</mn></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>5</mn></mrow>
- Если условия выше не выполняются и
,
.
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi><mo>=</mo><mn>6</mn></mrow>
- Если ни одно из условий выше ни выполняется,
.
<mrow><mn>1</mn><mo>/</mo><mi>N</mi></mrow>
Чтобы сократить влияние москитного шума из-за дискретного косинусного преобразования (DCT) и шума в момент создания изображения и чтобы снизить вычислительную сложность, также эффективно применять фильтр Собеля к изображению, полученному посредством уменьшения масштаба входного целевого изображения шумоподавления до
в вертикальном направлении и горизонтальном направлении, нежели к входному целевому изображению шумоподавления, которое не уменьшено в масштабе.
1/N
Когда фильтр Собеля применяется к уменьшенному в масштабе до  изображению, то выходной результат вычисления фильтра Собеля рассматривается в качестве типичного значения группы из множества пикселей, использованных при уменьшении масштаба.
[ПРИМЕР 2 СПОСОБА ОБНАРУЖЕНИЯ НАПРАВЛЕНИЯ ГРАНИЦЫ]
<mi>x</mi>
<mi>y</mi>
<mrow><mi>d</mi><mi>x</mi></mrow>
<mrow><mi>d</mi><mi>y</mi></mrow>
<mrow><mo>−</mo><mi>π</mi><mo>/</mo><mn>2</mn></mrow>
<mrow><mi>π</mi><mo>/</mo><mn>2</mn></mrow>
<mrow><mi>d</mi><mi>x</mi></mrow>
<mrow><mi>d</mi><mi>y</mi></mrow>
<mrow><mi>T</mi><mi>h</mi></mrow>
<mrow><mi>E</mi><mi>X</mi><mi>a</mi><mi>tan</mi></mrow>
<mrow><mo>−</mo><mi>π</mi><mo>/</mo><mn>2</mn></mrow>
<mrow><mi>π</mi><mo>/</mo><mn>2</mn></mrow>
В качестве другого примера способа обнаружения направления границы в модуле 317 обнаружения направления границы будет дан пример, который применяет фильтр Собеля к целевому изображению шумоподавления для обнаружения направления границы и выводит угол в радианах (Radian). Описанный выше оператор Собеля, показанный на Фиг. 15A, применяется к окрестным пикселям, и угол в радианах вычисляется из компонентов по оси
и по оси
(
и
), используя арктангенс (от
до
). В данном случае, когда абсолютная сумма
и
меньше порогового значения
, то устанавливается значение (
: например, 100) за пределами диапазона выводных значений арктангенса (от
до
).
Т.е. угол в радианах (Radian) определяется следующим образом.
<mrow><mrow><mo>|</mo><mrow><mi>d</mi><mi>x</mi></mrow><mo>|</mo></mrow><mo>+</mo><mrow><mo>|</mo><mrow><mi>d</mi><mi>y</mi></mrow><mo>|</mo></mrow><mo><</mo><mi>T</mi><mi>h</mi></mrow>
<mrow><mi>R</mi><mi>a</mi><mi>d</mi><mi>i</mi><mi>a</mi><mi>n</mi><mo>=</mo><mi>E</mi><mi>X</mi><mi>a</mi><mi>tan</mi></mrow>
- Если
,
.
<mrow><mi>d</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow>
<mrow><mi>R</mi><mi>a</mi><mi>d</mi><mi>i</mi><mi>a</mi><mi>n</mi><mo>=</mo><mi>π</mi><mo>/</mo><mn>2</mn></mrow>
- Если условие выше не выполняется и
,
.
<mrow><mi>R</mi><mi>a</mi><mi>d</mi><mi>i</mi><mi>a</mi><mi>n</mi><mo>=</mo><mi>arctan</mi><mo stretchy="false">(</mo><mi>d</mi><mi>x</mi><mo>/</mo><mi>d</mi><mi>y</mi><mo stretchy="false">)</mo></mrow>
- В противном случае
.
[ПРИМЕР СПОСОБА ПОВТОРНОЙ УСТАНОВКИ ФОРМЫ ШАБЛОНА]
В качестве одного из примеров способа повторной установки формы шаблона в модуле 318 повторной установки формы шаблона будет описан пример, в котором форма шаблона, установленная модулем 316 установки формы шаблона, показанная на Фиг. 9, повторно устанавливается, используя группу степеней отклонения, которая выводится модулем 315 обнаружения степени отклонения, показанную на Фиг. 12B, группу направлений границы, показанную на Фиг. 15B и Фиг. 15C, и информацию кодирования, для дополнительного уменьшения размера формы шаблона.
<mi>N</mi>
Фиг. 16A по Фиг. 16C являются схемами, описывающими способ повторной установки формы шаблона. Сначала, размер Блока Преобразования, который является блоком процесса преобразования, такого как DCT, получают из информации кодирования, и
пикселей вблизи внешней границы каждого блока задаются в качестве целевой области, как показано на Фиг. 16A. Что касается других областей, то результат установки описанного выше модуля 316 установки формы шаблона используется без модификации.
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
Когда используется группа направлений границы, как показано на Фиг. 16B, то:
, как правило, смещаются к 1 в верхней и нижней частях внешней границы блока, где присутствует заметный шум блочности;
, как правило, смещаются к 6 в левой и правой частях внешней границы блока, и высокие степени отклонения обнаруживаются в этих частях края. Более того, в области с большим параметром квантования, где проявляется заметный шум блочности, как правило, проявляется относительно плоская область внутри Блока Преобразования.
<mrow><mi>Q</mi><mi>P</mi></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
Т.е. в диапазоне от области со средней скоростью до области с низкой скоростью, где параметр
квантования большой, если признак, как показано на Фиг. 16B, удовлетворяется при установке целевой области на Фиг. 16A, то присутствует высокая вероятность того, что формируется шум блочности. Что касается позиций пикселя на краях блока, где
смещаются к 1 или 6, результат вычисления, при использовании большой формы шаблона почти такой же, как при использовании небольшой формы шаблона. Тем не менее, большая форма шаблона устанавливается, если на крае блока обнаружена резкая граница, что приводит к неэффективности. Вследствие этого модуль 318 повторной установки формы шаблона корректирует форму шаблона для решения проблемы неэффективности.
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>2</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub><mo><</mo><mi>T</mi><mi>h</mi><msub><mn>2</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub></mrow>
<mrow><mi>Q</mi><mi>P</mi></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>2</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub><mo><</mo><mi>T</mi><mi>h</mi><msub><mn>2</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>2</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>Q</mi><mi>P</mi></mrow>
DiffIntensity
В качестве конкретной методики решения возможна, например, следующая методика. Нижеследующая установка выполняется в каждой позиции пикселя, используя предварительно определенные пороговые значения
и
(где
) для параметра
квантования и предварительно определенные пороговые значения
и
(где
) для степени отклонения . Посредством этого, можно снизить вычислительную сложность, при этом сдерживая ухудшение эффекта шумоподавления. Следует отметить, что предполагается, что
и
меняются в соответствии с параметром
квантования.
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
Если выполняется следующее условие, то форма
шаблона устанавливается в соответствии с описанным ниже ветвящимся алгоритмом повторной установки.
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
[Условие 1]:
в целевых позициях пикселя в позициях пикселя при установке целевой области в виде верхней и нижней частей внешней границы блока равны 1 (горизонтальная граница) или 0 (плоская область), и
в смежных позициях пикселя внутри блока равны 0 (плоская область).
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
[Условие 2]: Или
в целевых позициях пикселя при установке целевой области в виде левой и правой частей внешней границы блока равны 6 (вертикальная граница) или 0 (плоская область), и
в смежных позициях пикселя внутри блока равны 0 (плоская область).
ПРИМЕР «ВЕТВЯЩЕГОСЯ АЛГОРИТМА ПОВТОРНОЙ УСТАНОВКИ»
<mrow><mi>Q</mi><mi>P</mi></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>2</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
<mrow><mi>Б</mi><mi>л</mi><mi>о</mi><msub><mi>к</mi><mrow><mn>3</mn><mo>×</mo><mn>3</mn></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
DiffIntensity
(1) Если параметр
квантования > порогового значения
, формой
шаблона является
или Крест, и степень  отклонения > порогового значения
, то
повторно устанавливается как Точка (количество элементов равно 1).
<mrow><mi>Q</mi><mi>P</mi></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
<mrow><mi>Б</mi><mi>л</mi><mi>о</mi><msub><mi>к</mi><mrow><mn>3</mn><mo>×</mo><mn>3</mn></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>2</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
DiffIntensity
(2) Если условие выше не выполняется, параметр
квантования > порогового значения
, формой
шаблона является
, и степень  отклонения > порогового значения
, то
повторно устанавливается как Точка (количество элементов равно 1).
<mrow><mi>Q</mi><mi>P</mi></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
<mrow><mi>Б</mi><mi>л</mi><mi>о</mi><msub><mi>к</mi><mrow><mn>3</mn><mo>×</mo><mn>3</mn></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
DiffIntensity
(3) Если условия выше не выполняются, параметр
квантования > порогового значения
, формой
шаблона является
, и степень  отклонения > порогового значения
, то
повторно устанавливается как Крест (количество элементов равно 5).
<mrow><mi>Q</mi><mi>P</mi></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>Q</mi><mi>P</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>h</mi><msub><mn>1</mn><mrow><mi>D</mi><mi>i</mi><mi>f</mi><mi>f</mi></mrow></msub></mrow>
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
DiffIntensity
(4) Если условия выше не выполняются, параметр
квантования > порогового значения
, формой
шаблона является Крест, и степень  отклонения >
, то
повторно устанавливается как Точка (количество элементов равно 1).
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
(5) Если условия с (1) по (4) выше не выполняются, обработка завершается без повторной установки
.
<mrow><mi>V</mi><mi>e</mi><mi>c</mi><mi>I</mi><mi>n</mi><mi>d</mi><mi>e</mi><mi>x</mi></mrow>
<mi>E</mi>
<mi>F</mi>
<mi>G</mi>
<mi>H</mi>
Поскольку
, сформированные шумом блочности, не могут быть предсказаны для областей
,
,
и
в четырех углах на Фиг. 16C, то форма шаблона повторно устанавливается для всех позиций пикселя внутри областей, используя описанные выше ответвления с (1) по (5) повторной установки, если выполняются следующие условия.
<mi>E</mi>
<mi>A</mi>
<mi>C</mi>
- Область
: присутствует пиксель, который удовлетворяет вышеприведенным условиям, из группы пикселей области
, которая является смежной справа для данной области, и группы пикселей области
, которая является смежной снизу для данной области.
<mi>F</mi>
<mi>A</mi>
<mi>D</mi>
- Область
: присутствует пиксель, который удовлетворяет вышеприведенным условиям, из группы пикселей области
, которая является смежной слева для данной области, и группы пикселей области
, которая является смежной снизу для данной области.
<mi>G</mi>
<mi>B</mi>
<mi>C</mi>
- Область
: присутствует пиксель, который удовлетворяет вышеприведенным условиям, из группы пикселей области
, которая является смежной справа для данной области, и группы пикселей области
, которая является смежной сверху для данной области.
<mi>H</mi>
<mi>B</mi>
<mi>D</mi>
- Область
: присутствует пиксель, который удовлетворяет вышеприведенным условиям, из группы пикселей области
, которая является смежной слева для данной области, и группы пикселей области
, которая является смежной сверху для данной области.
<mrow><mi>T</mi><mi>m</mi><msub><mi>p</mi><mrow><mi>S</mi><mi>h</mi><mi>a</mi><mi>p</mi><mi>e</mi></mrow></msub></mrow>
Настоящий вариант осуществления демонстрирует пример, в котором вычислительная сложность снижается для группы пикселей по краям блока; в противоположность, также возможна реализация, в которой
устанавливается равной Ничто для всей группы пикселей внутри блока, и фильтр шумоподавления применяется только к краям блока, чтобы тем самым существенно снизить вычислительную сложность.
[ЭФФЕКТ СНИЖЕНИЯ ВЫЧИСЛИТЕЛЬНОЙ СЛОЖНОСТИ]
Было подтверждено, что при применении фильтра шумоподавления в соответствии с настоящей методикой для кодирования стандартного видео можно значительно снизить требуемую вычислительную сложность применительно к вышеприведенному фильтру, при этом сдерживая ухудшение пикового отношения сигнала к шуму (PSNR), в сравнении с методикой, которая включает в себя обычный фильтр NLM (фильтр шумоподавления в соответствии со способом нелокальных средних величин), в стандартах кодирования видео следующего поколения.
[ПРИМЕР КОНФИГУРАЦИИ ПРИ ИСПОЛЬЗОВАНИИ ПРОГРАММЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ]
Процессы вышеприведенной обработки изображения, кодирования видео и декодирования видео также могут быть реализованы компьютером и программой программного обеспечения, причем программа может быть записана на машиночитаемом носителе записи, и программа может предоставляться по сети.
Фиг. 17 иллюстрирует пример конфигурации системы, когда вариант осуществления настоящего изобретения реализуется при помощи компьютера и программы программного обеспечения.
Настоящая система сконфигурирована таким образом, что центральный модуль обработки (CPU) 50, который исполняет программу, память 51, такая как запоминающее устройство с произвольным доступом (RAM), которая хранит программу и данные, доступ к которым может быть осуществлен посредством CPU 50, модуль 52 хранения видеосигнала, который хранит целевой видеосигнал кодирования или видеосигнал декодированных изображений, модуль 53 хранения программы, который хранит программу, предписывающую CPU 50 исполнить процессы, описанные в вариантах осуществления настоящего изобретения, и модуль 54 хранения закодированного потока, который хранит битовый поток в качестве результата кодирования или декодирования целевого битового потока, соединены друг с другом посредством шины.
Модуль 53 хранения программы хранит одно из следующего: программу 531 кодирования видео для кодирования видеосигнала, использующую вариант осуществления настоящего изобретения, и программу 532 декодирования видео для декодирования закодированного битового потока, использующую вариант осуществления настоящего изобретения. Модуль 53 хранения программы не обязательно хранит обе эти программы.
Более того, когда настоящая система используется в качестве устройства кодирования видео, то программа 531 кодирования видео загружается в память 51, CPU 50 последовательно извлекает и исполняет инструкции программы 531 кодирования видео, загруженной в память 51, кодирует видеосигнал, хранящийся в модуле 52 хранения видеосигнала, используя методику, описанную в варианте осуществления настоящего изобретения, и сохраняет битовый поток в качестве результата кодирования в модуле 54 хранения закодированного потока. В качестве альтернативы, битовый поток может выводиться на внешнее устройство посредством интерфейса, такого как сетевой адаптер.
Более того, когда настоящая система используется в качестве устройства декодирования видео, то программа 532 декодирования видео загружается в память 51, CPU 50 последовательно извлекает и исполняет инструкции программы 532 декодирования видео, загруженной в память 51, декодирует битовый поток, хранящийся в модуле 54 хранения закодированного потока, используя методику, описанную в варианте осуществления настоящего изобретения, и сохраняет видеосигнал в качестве результата декодирования в модуле 52 хранения видеосигнала. В качестве альтернативы, видеосигнал как результат декодирования выводится на внешнее устройство воспроизведения.
Несмотря на то, что варианты осуществления настоящего изобретения были подробно описаны выше со ссылкой на чертежи, конкретная конфигурация не ограничивается этими вариантами осуществления, и также включены исполнения и т.п. (дополнение, пропуск, замена и прочие модификации конфигурации), которые не отступают от сущности настоящего изобретения. Настоящее изобретение не ограничивается приведенным выше описанием, а ограничивается только прилагаемой формулой изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение может использоваться, например, в контурном фильтре, который уменьшает шум блочности и т.д. при кодировании/декодировании видео. Настоящее изобретение может снизить вычислительную сложность фильтра шумоподавления, при этом сдерживая снижение эффективности кодирования.
ОПИСАНИЕ ЦИФРОВЫХ ОБОЗНАЧЕНИЙ
30, 31, 113, 215 модуль обработки фильтра шумоподавления
301, 311 модуль установки коэффициента шумоподавления
302, 312 модуль исполнения фильтра NLM
305, 315 модуль обнаружения степени отклонения
306, 316 модуль установки формы шаблона
317 модуль обнаружения направления границы
318 модуль повторной установки формы шаблона