Способ и устройство кодирования видео, способ и устройство декодирования видео и программы для них
Иллюстрации
Показать всеИзобретение относится к технологиям кодирования и декодирования видео. Техническим результатом является повышение эффективности кодирования или декодирования за счет адаптации местоположений интерполяции в зависимости от свойства входного изображения. Предложен способ кодирования видео c использованием компенсации движения с дробной точностью. Способ включает в себя этап выполнения поиска движения для получения вектора движения, этап вычисления эталонных вероятностей в местоположениях дробных пикселей, обозначенных полученным вектором движения. Способ также включает в себя этап деления местоположений интерполяции, которые представляют собой местоположения дробных пикселей, на многочисленные группы на основе вычисленных эталонных вероятностей; этап выбора, для каждой из групп местоположений интерполяции, коэффициентов интерполяционного фильтра, которые должны использоваться для генерации интерполированного изображения прогнозирования из числа многочисленных кандидатов коэффициентов интерполяционного фильтра. 7 н. и 2 з.п. ф-лы, 14 ил., 2 табл.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к технологии, которая достигает улучшения характеристик интерполяционных фильтров в кодировании видео и повышает эффективность кодирования.
Испрашивается приоритет по заявке на патент Японии № 2011-141724, поданной 27 июня 2011, содержание которой полностью включено в настоящий документ по ссылке.
УРОВЕНЬ ТЕХНИКИ
В кодировании видео, в случае кодирования с межкадровым прогнозированием (компенсацией движения), которое выполняет прогнозирование между различными кадрами, выполняется ссылка на уже декодированный кадр, определяется вектор движения, который минимизирует энергию ошибки прогнозирования, и сигнал ошибки прогнозирования (также упоминаемый как остаточный сигнал) подвергается ортогональному преобразованию. Затем, применяется квантование, выполняется энтропийное кодирование и, наконец, получаются двоичные данные, то есть битовый поток. Чтобы повысить эффективность кодирования, обязательно необходимо снизить энергию ошибки прогнозирования, и, следовательно, требуется схема прогнозирования, которая обеспечивает высокую точность прогнозирования.
В стандартные схемы кодирования видео было введено большое количество инструментов повышения точности межкадрового прогнозирования. Например, если имеет место окклюзия в ближайшем кадре, то энергия ошибки прогнозирования может быть дополнительно уменьшена путем ссылки к кадру, который несколько отдален во временной области, и, таким образом, в стандарте H.264/AVC (усовершенствованное кодирование видео) можно сослаться на кратные кадры. Упомянутый инструмент называется прогнозированием с кратным эталонным кадром.
Кроме того, чтобы можно было иметь дело с движениями, имеющими сложные формы, должен еще больше делиться размер блока, как то 16×8, 8×16, 8×4, 4×8 и 4×4, в дополнение к 16×16 и 8×8. Данный инструмент называется прогнозированием с варьируемым размером блока.
Подобно этому, пиксели с точностью ½ интерполируются из пикселей с целочисленной точностью эталонного кадра с использованием 6-гребенчатого фильтра, и затем генерируются пиксели с точностью ¼ посредством линейной интерполяции с использованием упомянутых пикселей. Соответственно, становится возможным реализовать точное прогнозирование для движений с дробной точностью. Этот инструмент называется прогнозированием с точностью в ¼ пикселя.
Чтобы разработать схему кодирования видео стандарта следующего поколения, который обеспечивает более высокую эффективность кодирования, чем эффективность стандарта H.264/AVC, международная организация по стандартизации/международная электротехническая комиссия «экспертная группа по вопросам движущегося изображения» (международная организация по стандартизации ISO и IEC группы специалистов ISO/IEC "MPEG"), и «экспертная группа по вопросам кодирования видео» международного телекоммуникационного союза - сектора стандартизации телекоммуникаций (ITU-T "VCEG") совместно образовали исследовательскую группу (объединенная совместная группа по вопросам кодирования видео: JCT-VC). Схема стандарта следующего поколения называется «высокоэффективное кодирование видео»: HEVC, теперь различные новейшие технологии собираются по всему миру и обсуждаются на собраниях JCT-VC группы.
В частности, среди них было представлено много предложений, относящихся к межкадровому прогнозированию (компенсации движения), и справочные программы для HEVC кодирования (модель тестирования HEVC кодирования: HM) применяют инструменты для повышения эффективности прогнозирования векторов движения и инструменты для растяжения размера блока до 16×16 или более.
Более того, также были предложены инструменты для повышения точности интерполяции пикселей с дробной точностью, и интерполяционный фильтр, основанный на дискретном косинусном преобразовании DCT: DCT-IF, в котором коэффициенты интерполяционного фильтра выводятся на основе дискретного косинусного преобразовании (DCT), является высокоэффективным и он адаптируется для HM модели. Для дополнительного повышения точности интерполяции, также были предложены интерполяционные фильтры, которые адаптивно изменяют коэффициенты интерполяционного фильтра на покадровой основе: AIF. Адаптивный интерполяционный фильтр является высокоэффективным с точки зрения повышения эффективности кодирования, и он также принят в справочных программах для кодирования видео следующего поколения (ключевая техническая область: KTA), которые разработаны под руководством VCEG группы. Вследствие большого вклада в эффективность кодирования, очень ожидаемой областью является улучшение характеристик интерполяционных фильтров.
Далее будут подробно описаны известные интерполяционные фильтры.
[Фиксированная интерполяция]
Фиг.10 - диаграмма, иллюстрирующая способ интерполяции пикселя с дробной точностью в стандарте H.264/AVC. В стандарте H.264/AVC, как показано на фиг.10, когда интерполируется местоположение полупикселя, интерполяция выполняется с использованием всего шести целых пикселей, включая три точки с левой стороны целевого пикселя интерполяции и три точки с правой стороны целевого пикселя интерполяции. Относительно вертикального направления, интерполяция выполняется с использованием всего шести целых пикселей, включая три точки на верхней стороне и три точки на нижней стороне. Коэффициенты фильтра равны [(1, -5, 20, 20, -5, 1) /32]. После того, как были интерполированы местоположения полупикселей, интерполируются местоположения четвертьпикселей с использованием среднего фильтра из [1/2, 1/2]. Поскольку необходимо интерполировать все местоположения полупикселей, вычислительная сложность высока, но возможна интерполяция с высокими характеристиками, так что повышается эффективность кодирования. Непатентный документ 1 и так далее раскрывают вышеупомянутую технологию интерполяции с использованием фиксированного фильтра.
Фильтр, который использует одинаковые значения коэффициентов для всех входных изображений или для всех кадров, как например, одномерный 6-гребенчатый фильтр в стандарте H.264/AVC называется фиксированным интерполяционным фильтром.
В качестве схемы для дополнительного улучшения характеристик интерполяционного фильтра, принятого в стандарте H.264/AVC, модель HM справочных программ для HEVC кодирования принимает интерполяционный фильтр, основанный на DCT преобразовании (DCT-IF). Фиг.11 иллюстрирует способ интерполяции пикселя с дробной точностью посредством DCT интерполяционного фильтра. Как показано на фиг.11, предполагается, что p обозначает целевой пиксель интерполяции в местоположении с дробной точностью, px обозначает пиксель в целом местоположении и (0≤α≤1) обозначает параметр, указывающий местоположение p между целыми местоположениями пикселей. В тоже время, предполагается, что число пикселей целых местоположений, используемых для интерполяции, то есть длина гребенки фильтра, составляет 2M (M - целое число большее или равное 1). Из дефинициального уравнения DCT преобразования следует уравнение (1).
Уравнение 1
Более того, из дефинициального уравнения обратного DCT преобразования, следует уравнение (2).
Уравнение 2
Когда x рассматривается как некоторое местоположение, уравнение для интерполяции пикселя в дробном местоположении α представляется следующим уравнением (3).
Уравнение 3
Из уравнения (3) можно однозначно вывести коэффициенты длины гребенки фильтра 2M, используемой для интерполяции, и определяется целевое местоположение интерполяции α. Примеры интерполяционного фильтра из вышеприведенного обсуждения собраны в таблице 1 и таблице 2. Подробности вышеприведенного обсуждения раскрываются в непатентном документе 2.
Интерполяционные фильтры, основанные на DCT преобразовании, могут иметь дело с любой длиной фильтра и любой точностью интерполяции, и они являются высокоэффективными интерполяционными фильтрами, так что они принимаются в HM модели тестирования для HEVC кодирования.
[Адаптивная интерполяция]
В стандарте H.264/AVC, значения коэффициентов фильтра являются постоянными, независимо от условий входного изображения (типа последовательности, размера изображения и частоты кадров) и от условий кодирования (размера блока, структуры группы изображений (GOP) и параметров квантования (QP)). Когда значения коэффициентов фильтра являются фиксированными, например, эффекты, которые варьируются во времени, такие как ступенчатость, ошибка квантования, ошибка из оценки движения и шум камеры, не учитываются. Следовательно, считается, что улучшение характеристик ограничивается с точки зрения эффективности кодирования. Соответственно, непатентный документ 3 предлагает схему адаптивно изменяющихся коэффициентов интерполяционного фильтра, который носит название - неразделимый адаптивный интерполяционный фильтр.
В непатентном документе 3, принимается двумерный интерполяционный фильтр (6*6=36 коэффициентов фильтра всего), и коэффициенты фильтра определяются так, чтобы минимизировать энергию ошибки прогнозирования. Хотя можно реализовать более высокую эффективность кодирования посредством одномерного 6-гребенчатого интерполяционного фильтра, используемого в стандарте H.264/AVC, вычислительная сложность для определения коэффициентов фильтра очень высока, и, соответственно, непатентный документ 4 вносит предложение относительно снижения вычислительной сложности.
Техника, вводимая в непатентный документ 4, носит название - разделимый адаптивный интерполяционный фильтр (SAIF), и использует скорее одномерный 6-гребенчатый интерполяционный фильтр, чем двумерный интерполяционный фильтр.
Фиг.12А-12C - диаграммы, иллюстрирующие способ интерполяции пикселя с дробной точностью в разделимом адаптивном интерполяционном фильтре (SAIF). Эта процедура такова, что, как показано на этапе 1 на фиг.12B, сначала интерполируются пиксели в горизонтальном направлении (a, b и c). Для определения коэффициентов фильтра используются пиксели C1-C6 с целочисленной точностью. Коэффициенты фильтра в горизонтальном направлении, которые минимизируют функцию Eh 2 энергии ошибки прогнозирования уравнения (4), определяются аналитически общеизвестным методом наименьших квадратов (см. непатентный документ 3).
Уравнение 4
Здесь S обозначает исходное изображение, P обозначает уже декодированное эталонное изображение, и x и y, соответственно, обозначают местоположения в горизонтальном направлении и в вертикальном направлении на изображении. Более того, ~x (~ символ над x; то же самое применимо к другим обозначениям) удовлетворяет равенству ~x=x+MVx-FilterOffset, где MVx обозначает горизонтальную составляющую вектора движения, который был получен предварительно, и FilterOffset обозначает смещение для настройки (значение, получаемое путем деления длины фильтра на 2 в горизонтальном направлении). Относительно вертикального направления, удовлетворяется равенство ~y=y+MVy, где MVy обозначает вертикальную составляющую вектора движения, wci обозначает группу коэффициентов фильтра в горизонтальном направлении ci (0≤ci<6), которые должны быть определены.
Получаются линейные уравнения, число которых равно числу коэффициентов фильтра, определяемому уравнением (4), и выполняются процессы минимизации для местоположений дробных пикселей в горизонтальном направлении независимо друг от друга. Посредством процессов минимизации определяются коэффициенты 6-гребенчатого фильтра, и пиксели a, b и c с дробной точностью интерполируются с использованием упомянутых групп коэффициентов фильтра.
После завершения интерполяции пикселей в горизонтальном направлении, как показано этапом 2 на фиг.12В, выполняется процесс интерполяции в вертикальном направлении. Коэффициенты фильтра в вертикальном направлении определяются путем решения линейной задачи, подобно таковому для горизонтального направления. В частности, коэффициенты фильтра в вертикальном направлении, которые минимизируют функцию EV 2 энергии ошибки прогнозирования уравнения (5), определяются аналитически.
Уравнение 5
Здесь S обозначает исходное изображение, Р ^ (∧ символ над P) обозначает изображение, которое уже декодировано и затем интерполировано в горизонтальном направлении, и x и y, соответственно, обозначают местоположения в горизонтальном направлении и в вертикальном направлении на изображении. Более того, ~x представляется как 4(x+MVx), где MVx обозначает горизонтальную составляющую вектора движения, который был получен округлением до ближайшего целого числа. Относительно вертикального направления, ~y представляется как y+MVy-FilterOffset, где MVy обозначает вертикальную составляющую вектора движения, и FilterOffset обозначает смещение для настройки (значение, получаемое путем деления длины фильтра на 2). Символ wcj обозначает группу коэффициентов фильтра в вертикальном направлении cj (0≤cj<6), которые должны быть определены.
Процессы минимизации выполняются для пикселей с дробной точностью независимо друг от друга, и получается 12 групп коэффициентов 6-гребенчатого фильтра. Остальные пиксели с дробной точностью интерполируются с использованием упомянутых коэффициентов фильтра.
Из вышесказанного, необходимо кодировать всего 90 (=6×15) коэффициентов фильтра и передавать их на сторону декодирования. В частности, поскольку служебные данные становятся большими в кодировании низкого разрешения, коэффициенты фильтра, которые должны передаваться, уменьшаются с использованием симметрии фильтра. Например, как показано на фиг.12А, на которой пиксели b, h, i, j и k с целочисленной точностью расположены в центрах относительно направлений интерполяции, коэффициенты, полученные путем инвертирования коэффициентов, которые должны использоваться с левой стороны, должны быть применимы к трем точкам с правой стороны. Аналогично, относительно вертикального направления, коэффициенты, полученные путем инвертирования коэффициентов, которые должны использоваться для трех точек на верхней стороне, должны быть применимы к трем точкам на нижней стороне (c1=C6, C2=C5 и C3=c4).
Дополнительно, поскольку зависимость между d и l является симметричной относительно h, могут быть использованы коэффициенты обратного фильтра. То есть при передаче 6 коэффициентов для d, их значения могут применяться к l.
Удовлетворяются равенства
.
Эта симметрия также используется для e и m, f и n, и g и o. Хотя такая же теория справедлива для a и c, поскольку результат для горизонтального направления влияет на интерполяцию в вертикальном направлении, a и c передаются отдельно без использования симметрии. Как результат использования вышеописанной симметрии, число коэффициентов фильтра, передаваемых в каждом кадре, равно 51 (15 для горизонтального направления и 36 для вертикального направления).
В вышеописанном адаптивном интерполяционном фильтре непатентного документа 4, модуль обработки процесса минимизации энергии ошибки прогнозирования привязывается к какому-нибудь кадру. На один кадр определяется 51 коэффициент фильтра. Если целевой кадр кодирования грубо делится на два типа областей текстуры A и B (или много типов), то оптимальными коэффициентами фильтра является группа коэффициентов фильтра, в которых учитываются обе из них (или все текстуры). В ситуации, в которой характеристические коэффициенты фильтра по существу получаются только в вертикальном направлении относительно к области A, и коэффициенты фильтра получаются только в горизонтальном направлении относительно к области B, коэффициенты фильтра выводятся как среднее обеих этих групп.
Непатентный документ 5 предлагает способ для достижения уменьшения энергии ошибки прогнозирования и для реализации повышения эффективности кодирования посредством выполнения деления на области в соответствии с локальным свойством изображения и посредством генерации коэффициентов интерполяционного фильтра для каждой разделенной области, не ограничиваясь одной группой коэффициентов фильтра (51 коэффициент) на один кадр.
Более того, чтобы улучшить характеристики адаптивного интерполяционного фильтра непатентного документа 4, предлагаются метод группирования местоположений интерполяции, выбор фиксированного интерполяционного фильтра или адаптивного интерполяционного фильтра, так чтобы энергия ошибки прогнозирования была уменьшена, и генерации интерполированного изображения (см. непатентный документ 6).
Документы уровня техники
Патентный документ
Патентный документ 1: не прошедшая экспертизу заявка на патент Японии, первая публикация № 2011-82725.
Непатентные документы
Непатентный документ 1:
Непатентный документ 2:
Непатентный документ 3:
Непатентный документ 4:
Непатентный документ 5:
Непатентный документ 6:
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задачи, которые должны быть решены настоящим изобретением
Интерполяционные фильтры, раскрытые в непатентном документе 4 и в непатентном документе 5, не обеспечены функцией переключения интерполяционного фильтра в зависимости от каждого местоположения интерполяции, и таким образом, имеется возможность усовершенствования с точки зрения увеличения эффективности компенсации движения.
Интерполяционный фильтр, раскрытый в непатентном документе 6, который имеет способность адаптироваться относительно местоположений интерполяции, определяет, использовать ли фиксированный интерполяционный фильтр, который был предварительно задан для каждого местоположения интерполяции, или использовать адаптивный интерполяционный фильтр, который выводится на покадровой основе. Имеется схема, по которой выполняется выбор с точки зрения минимизации энергии ошибки прогнозирования, и любой из них обязательно выбирается.
Когда адаптивный выбор из многих интерполяционных фильтров в зависимости от каждого местоположения интерполяции выполняется с целью повышения эффективности кодирования, считается, что задание местоположений интерполяции влияет на характеристики повышения эффективности кодирования. Способ, раскрытый в непатентном документе 6, предполагает интерполяцию вплоть до местоположений пикселей с точностью ¼, делит целевые пиксели интерполяции на четыре группы согласно их местоположениям, и переключает интерполяционный фильтр на погрупповой основе. Задание групп является фиксированным на протяжении процесса кодирования, и способность адаптироваться в зависимости от каждого входного изображения не учитывается. Если задание групп может изменяться в зависимости от свойства входного изображения, можно реализовать дополнительное снижение энергии ошибки прогнозирования и повышения эффективности кодирования.
Для решения вышеупомянутых задач, цель настоящего изобретения состоит в том, чтобы обеспечить новейшую схему, которая уменьшает энергию ошибки прогнозирования в межкадровом прогнозировании с компенсацией движения, по сравнению с известными технологиями, и повышает эффективность кодирования.
Средство для решения задач
Как способ для достижения вышеупомянутой цели, эталонные вероятности вектора движения вычисляются на основе предположения, что чем выше показатель интерполяции местоположений, обозначенных вектором смещения, тем выше показатель улучшения характеристик, обеспеченных интерполяционным фильтром, и группирование для переключения интерполяционного фильтра выполняется на основе его статистической информации. С помощью данного средства обеспечивается корректирующая способность для способности адаптироваться относительно местоположений интерполяции в зависимости от свойства входного изображения, и реализуется снижение энергии ошибки прогнозирования, то есть повышение эффективности кодирования.
Как обсуждалось выше, наиболее характерный аспект настоящего изобретения состоит в том, что определяются эталонные вероятности в местоположениях дробных пикселей посредством вектора движения, местоположения интерполяции группируются на основе эталонных вероятностей, коэффициенты фильтра, которые обеспечивают оптимальный интерполяционный фильтр, выбираются для каждой группы местоположений интерполяции, и интерполяционный фильтр переключается в зависимости от каждой группы местоположений интерполяции. Информация группы местоположений интерполяции и информация коэффициентов интерполяционного фильтра кодируются для каждой области, такой как кадр или вырезка, и они передаются в устройство декодирования. Информация, с которой устройство декодирования может распознавать, какие из коэффициентов интерполяционного фильтра должны быть использованы для каждой группы местоположений интерполяции, чтобы закодировать информацию коэффициентов интерполяционного фильтра. Например, многочисленные наборы коэффициентов интерполяционных фильтров и индексов интерполяционных фильтров, каждый из которых указывает, какой интерполяционный фильтр должен быть использован для каждой группы местоположений интерполяции, могут быть заданы как целевые объекты кодирования.
Устройство декодирования переключает коэффициенты интерполяционного фильтра в зависимости от каждой группы местоположений интерполяции, основываясь на информации группы местоположений интерполяции и коэффициентов интерполяционного фильтра, которые должны использоваться в каждом местоположении интерполяции, которые получаются путем выполнения декодирования на закодированном битовом потоке; генерирует интерполированное изображение и выполняет процесс декодирования с использованием компенсации движения с дробной точностью.
В частности, например, следующая обработка выполняется при кодировании видео.
- Выполняется поиск движения для каждого блока прогнозирования, чтобы получить вектор движения.
- Вычисляются эталонные вероятности (распределение вероятностей) в местоположениях дробных пикселей, то есть объекты ссылки, обозначенные вектором движения.
- Местоположения дробных пикселей, которые представляют собой местоположения интерполяции, делятся на многочисленные группы на основе вычисленных эталонных вероятностей.
- Для каждой группы местоположений интерполяции определяется интерполяционный фильтр, выполняется процесс интерполяции, и генерируется сигнал прогнозирования.
- Информация групп местоположений интерполяции, индексов интерполяционных фильтров, каждый из которых указывает, какой из коэффициентов интерполяционного фильтра должен быть использован, и каждый из коэффициентов интерполяционного фильтра кодируется.
- Все другие части информации, подлежащей кодированию, кодируются.
Например, следующая обработка выполняется при декодировании видео.
- Декодирование выполняется над традиционным образом закодированной информацией, и дополнительно декодируются информация группы местоположений интерполяции, индексы интерполяционного фильтра и коэффициенты интерполяционного фильтра.
- Интерполяционный фильтр, который должен использоваться для каждой группы местоположений интерполяции, определяется из информации группы местоположений интерполяции и индекса интерполяционного фильтра, выполняется процесс интерполяции, генерируется сигнал прогнозирования и генерируется декодированный сигнал.
Далее описано функционирование настоящего изобретения. Традиционные интерполяционные фильтры, имеющие способность адаптироваться относительно местоположений интерполяции, задают фиксированные группы в качестве блоков для переключения интерполяционного фильтра, и таким образом, имеется ограничение на улучшение характеристик. В противоположность этому, настоящее изобретение делит местоположения пикселей, в которых переключаются интерполяционные фильтры, на многочисленные группы согласно вероятностям, обозначенным вектором движения. Например, местоположения, обозначенные вектором движения с высокими вероятностями, задаются как одна группа, и для этой группы используется интерполяционный фильтр, имеющий высокую точность. Делая так, можно более гибко устраивать переключение интерполяционного фильтра и повышать эффективность кодирования.
Положительные эффекты настоящего изобретения
В настоящем изобретении, обеспечивается возможность делать варьируемыми местоположения, к которым применяются интерполяционные фильтры, изменять форму и длину интерполяционного фильтра в зависимости от каждого местоположения интерполяции, и выполнять высокоточный процесс интерполяции, используя участки, имеющие высокие эталонные вероятности, которые невозможно было учитывать традиционными интерполяционными фильтрами, имеющими способность адаптироваться относительно местоположений интерполяции. Следовательно, можно достичь повышения эффективности кодирования в результате уменьшения энергии ошибки прогнозирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
В дальнейшем изобретение поясняется описанием конкретных вариантов его осуществления со ссылками на сопровождающие чертежи, на которых:
фиг.1 изображает схему, иллюстрирующую пример конфигурации устройства кодирования видео согласно варианту осуществления настоящего изобретения,
фиг.2 изображает схему, иллюстрирующую пример 1 конфигурации модуля определения коэффициентов интерполяционного фильтра,
фиг.3 изображает диаграмму, иллюстрирующую пример эталонной вероятности в каждом местоположении интерполяции, обозначенном вектором движения,
фиг.4 изображает схему, иллюстрирующую пример 2 конфигурации модуля определения коэффициентов интерполяционного фильтра,
фиг.5 изображает схему, иллюстрирующую пример 3 конфигурации модуля определения коэффициентов интерполяционного фильтра,
фиг.6 изображает процедурную схему процесса кодирования согласно варианту осуществления настоящего изобретения,
фиг.7 изображает схему, иллюстрирующую пример конфигурации устройства декодирования видео согласно варианту осуществления настоящего изобретения,
фиг.8 изображает процедурную схему процесса декодирования согласно варианту осуществления настоящего изобретения,
фиг.9 изображает схему, иллюстрирующую пример конфигурации системы, когда вариант осуществления настоящего изобретения осуществляется с использованием компьютера и программного обеспечения,
фиг.10 изображает диаграмму, иллюстрирующую способ интерполяции пикселя с дробной точностью в стандартной схеме кодирования видео (H.264/AVC),
фиг.11 изображает диаграмму, иллюстрирующую способ интерполяции пикселя с дробной точностью в интерполяционном фильтре, основанном на DCT преобразовании(DCT-IF),
фиг.12А изображает диаграмму, иллюстрирующую способ интерполяции пикселя с дробной точностью в разделимом адаптивном интерполяционном фильтре (SAIF),
фиг.12B изображает диаграмму, иллюстрирующую способ интерполяции пикселя с дробной точностью в разделимом адаптивном интерполяционном фильтре (SAIF),
фиг.12C изображает диаграмму, иллюстрирующую способ интерполяции пикселя с дробной точностью в разделимом адаптивном интерполяционном фильтре (SAIF).
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
В дальнейшем изобретение поясняется описанием конкретных вариантов его осуществления со ссылками на сопровождающие чертежи.
[Пример конфигурации устройства кодирования видео]
Фиг.1 изображает схему, иллюстрирующую пример конфигурации устройства кодирования видео согласно варианту осуществления настоящего изобретения.
В устройстве 10 кодирования видео, модуль 11 вычисления коэффициентов интерполяционного фильтра вычисляет коэффициенты интерполяционного фильтра для пикселя с дробной точностью, которые должны использоваться для эталонного изображения в кодировании с прогнозированием. Модуль 12 определения коэффициентов интерполяционного фильтра вычисляет эталонные вероятности в местоположениях дробных пикселей с использованием вектора движения MV, обнаруживаемого модулем 132 обнаружения движения, обозначает степень важности интерполяционного фильтра из вычисленных эталонных вероятностей, и обозначает информацию о форме, длину фильтра и битовую глубину интерполяционного фильтра из полученной степени важности.
Модуль 13 генерации сигнала прогнозирования снабжается модулем 131 интерполяции эталонного изображения и модулем 132 обнаружения движения. Модуль 131 интерполяции эталонного изображения применяет интерполяционный фильтр, имеющий коэффициенты интерполяционного фильтра, выбираемые модулем 12 определения коэффициентов интерполяционного фильтра, чтобы уже декодированное эталонное изображение сохранялось в запоминающем устройстве 17 эталонных изображений. Модуль 132 обнаружения движения выполняет поиск движения на интерполированном эталонном изображении для вычисления вектора движения. Модуль 13 генерации сигнала прогнозирования выполняет компенсацию движения, используя вектор движения с дробной точностью, вычисляемый модулем 132 обнаружения движения, для генерации сигнала прогнозирования.
Модуль 14 кодирования с прогнозированием выполняет кодирование с прогнозированием, посредством, например, вычисления остаточного сигнала между входным видеосигналом и сигналом прогнозирования, выполнения ортогонального преобразования на нем и квантования коэффициентов преобразования. Более того, модуль 16 декодирования выполняет декодирование на результате кодирования с прогнозированием и сохраняет декодированное изображение в запоминающем устройстве 17 эталонных изображений для последующего кодирования с прогнозированием. В это время, может применяться внутриконтурный фильтр для удаления шума кодирования, такой как деблокирующий фильтр или адаптивный контурный фильтр (ALF), и затем может быть выполнено сохранение.
Модуль 15 кодирования варьируемой длины выполняет варьируемое кодирование на квантованных коэффициентах преобразования и векторах движения, а также на информации группы местоположений интерполяции, индексах интерполяционного фильтра и коэффициентах интерполяционного фильтра, которые являются выходами модуля 12 определения коэффициентов интерполяционного фильтра, и выводит их в виде закодированного битового потока.
[Пример 1 конфигурации модуля определения коэффициентов интерполяционного фильтра]
Фиг.2 изображает схему, иллюстрирующую пример 1 конфигурации модуля определения коэффициентов интерполяционного фильтра. В частности, модуль 122 вычисления эталонных вероятностей местоположений интерполяции и модуль 123 группирования целевых местоположений интерполяции в модуле 12-1 определения коэффициентов интерполяционного фильтра значительно отличаются от известных технологий.
Модуль 12-1 определения коэффициентов интерполяционного фильтра, модуль 121 получения информации интерполяционного фильтра дают на выходе значения коэффициентов интерполяционного фильтра фиксированного интерполяционного фильтра, которые подготавливаются перед кодированием, в модуль 124 вычисления MSE (среднеквадратической ошибки). Например, могут быть использованы коэффициенты 6-гребенчатого фильтра, заданные в стандарте H.264/AVC, или коэффициенты 8-гребенчатого фильтра, или коэффициенты 12-гребенчатого фильтра, заданные в стандарте DCT-IF.
Модуль 122 вычисления эталонных вероятностей местоположений интерполяции вычисляет эталонные вероятности в местоположениях дробных пикселей с использованием вектора движения (MV) целевого блока кодирования. Модуль 122 вычисления эталонных вероятностей местоположений интерполяции берет вектор движения, определенный из прогнозирования движения, в качестве входа, и определяет вероятность того, что каждое местоположение интерполяции в целом кадре или частичной области на изображении, обозначена вектором движения.
Фиг.3 иллюстрирует пример эталонной вероятности, обозначенной вектором движения, в каждом местоположении интерполяции. Например, когда выполняется интерполяция вплоть до точности в 1/2 пикселя, получается распределение вероятностей, как показано на фиг.3(А). Подобное вычисление возможно для пикселя с точностью 1/n. Фиг.3(Б) иллюстрирует пример распределения вероятностей в случае пикселя с точностью 1/4. Модуль 122 вычисления эталонных вероятностей местоположений интерполяции дает на выходе информацию распределения вероятностей (информация обозначена, используя %) в каждом местоположении интерполяции, как показано на фиг.3.
Модуль 123 группирования целевых местоположений интерполяции берет информацию эталонных вероятностей местоположений интерполяции, вычисленную модулем 122 вычисления эталонных вероятностей местоположений интерполяции, в качестве входа, делит местоположения интерполяции на многочисленные группы согласно эталонным вероятностям, расположенным в порядке убывания, используя предварительно заданный способ. Например, в случае компенсации движения c использованием точности вплоть до точности в 1/2 пикселя, одна точка самого высокого места задается как первая группа и две точки самых низких мест задаются как вторая группа среди трех точек отличных от местоположений целых пикселей. В примере фигуры 3(А), первая группа включает в себя местоположение с вероятностью {25%} и вторая группа включает в себя местоположения с {20%, 15%}. Более того, в случае компенсации движения c использованием точности вплоть до точности в 1/4 пикселя, например, три точки самых высоких мест задаются как первая группа, последующие от четвертого до седьмого места задаются как вторая группа, последующие от восьмого до одиннадцатого места задаются как третья группа, и оставшиеся четыре точки низких мест задаются как четвертая группа среди 15 точек, отличных от местоположений целых пикселей. В примере фигуры 3(Б), группирование выполняется таким путем, что первая группа включает в себя местоположения с {13%, 11%, 10%}, вторая группа включает в себя местоположения с {9%, 8%, 7%, 6%}, третья группа включает в себя местоположения с {5%, 4%, 3%, 2%} и четвертая группа включает в себя местоположения с {1%, 1%, 1%, 1%}. Модуль 123 группирования целевых местоположений интерполяции дает на выходе информацию группы местоположений интерполяции, как описано выше.
Модуль 124 вычисления MSE берет в качестве входных данных вектор движения MV, определенный посредством прогнозирования движения, декодированный сигнал (локальное декодированное изображение), значения коэффициентов интерполяционного фильтра, которые генерируются во время декодирования для каждого кадра, каждой области и т.д., выход коэффициентов фиксированного интерполяционного фильтра из модуля 121 получения информации интерполяционного фильтра, и выход информации группы местоположений интерполяции из модуля 123 группирования целевых местоположений интерполяции; генерирует интерполированное изображение в местоположении, обозначенном вектором движения MV, с использованием пикселей целых местоположений декодированного изображения и коэффициентов фильтра, определенных из информации группы местоположений интерполяции, и вычисляет среднеквадратическую ошибку (MSE) с исходным изображением, то есть остаточную энер