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

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к технологии, которая достигает улучшения характеристик интерполяционных фильтров в кодировании видео и повышает эффективность кодирования.
Испрашивается приоритет по заявке на патент Японии № 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 называется фиксированным интерполяционным фильтром.
x
В качестве схемы для дополнительного улучшения характеристик интерполяционного фильтра, принятого в стандарте H.264/AVC, модель HM справочных программ для HEVC кодирования принимает интерполяционный фильтр, основанный на DCT преобразовании (DCT-IF). Фиг.11 иллюстрирует способ интерполяции пикселя с дробной точностью посредством DCT интерполяционного фильтра. Как показано на фиг.11, предполагается, что p обозначает целевой пиксель интерполяции в местоположении с дробной точностью, p обозначает пиксель в целом местоположении и (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-гребенчатый интерполяционный фильтр, чем двумерный интерполяционный фильтр.
h
2
Фиг.12А-12C - диаграммы, иллюстрирующие способ интерполяции пикселя с дробной точностью в разделимом адаптивном интерполяционном фильтре (SAIF). Эта процедура такова, что, как показано на этапе 1 на фиг.12B, сначала интерполируются пиксели в горизонтальном направлении (a, b и c). Для определения коэффициентов фильтра используются пиксели C1-C6 с целочисленной точностью. Коэффициенты фильтра в горизонтальном направлении, которые минимизируют функцию E  энергии ошибки прогнозирования уравнения (4), определяются аналитически общеизвестным методом наименьших квадратов (см. непатентный документ 3).
Уравнение 4
x
x
y
y
ci
i
i
Здесь S обозначает исходное изображение, P обозначает уже декодированное эталонное изображение, и x и y, соответственно, обозначают местоположения в горизонтальном направлении и в вертикальном направлении на изображении. Более того, ~x (~ символ над x; то же самое применимо к другим обозначениям) удовлетворяет равенству ~x=x+MV-FilterOffset, где MV обозначает горизонтальную составляющую вектора движения, который был получен предварительно, и FilterOffset обозначает смещение для настройки (значение, получаемое путем деления длины фильтра на 2 в горизонтальном направлении). Относительно вертикального направления, удовлетворяется равенство ~y=y+MV, где MV обозначает вертикальную составляющую вектора движения, w обозначает группу коэффициентов фильтра в горизонтальном направлении c (0≤c<6), которые должны быть определены.
Получаются линейные уравнения, число которых равно числу коэффициентов фильтра, определяемому уравнением (4), и выполняются процессы минимизации для местоположений дробных пикселей в горизонтальном направлении независимо друг от друга. Посредством процессов минимизации определяются коэффициенты 6-гребенчатого фильтра, и пиксели a, b и c с дробной точностью интерполируются с использованием упомянутых групп коэффициентов фильтра.
V
2
После завершения интерполяции пикселей в горизонтальном направлении, как показано этапом 2 на фиг.12В, выполняется процесс интерполяции в вертикальном направлении. Коэффициенты фильтра в вертикальном направлении определяются путем решения линейной задачи, подобно таковому для горизонтального направления. В частности, коэффициенты фильтра в вертикальном направлении, которые минимизируют функцию E  энергии ошибки прогнозирования уравнения (5), определяются аналитически.
Уравнение 5
<mover accent="true"><mi>Р</mi><mo>^</mo></mover>
∧
x
x
y
y
cj
j
j
Здесь S обозначает исходное изображение,
( символ над P) обозначает изображение, которое уже декодировано и затем интерполировано в горизонтальном направлении, и x и y, соответственно, обозначают местоположения в горизонтальном направлении и в вертикальном направлении на изображении. Более того, ~x представляется как 4(x+MV), где MV обозначает горизонтальную составляющую вектора движения, который был получен округлением до ближайшего целого числа. Относительно вертикального направления, ~y представляется как y+MV-FilterOffset, где MV обозначает вертикальную составляющую вектора движения, и FilterOffset обозначает смещение для настройки (значение, получаемое путем деления длины фильтра на 2). Символ w обозначает группу коэффициентов фильтра в вертикальном направлении c (0≤c<6), которые должны быть определены.
Процессы минимизации выполняются для пикселей с дробной точностью независимо друг от друга, и получается 12 групп коэффициентов 6-гребенчатого фильтра. Остальные пиксели с дробной точностью интерполируются с использованием упомянутых коэффициентов фильтра.
1
6
2
5
3
4
Из вышесказанного, необходимо кодировать всего 90 (=6×15) коэффициентов фильтра и передавать их на сторону декодирования. В частности, поскольку служебные данные становятся большими в кодировании низкого разрешения, коэффициенты фильтра, которые должны передаваться, уменьшаются с использованием симметрии фильтра. Например, как показано на фиг.12А, на которой пиксели b, h, i, j и k с целочисленной точностью расположены в центрах относительно направлений интерполяции, коэффициенты, полученные путем инвертирования коэффициентов, которые должны использоваться с левой стороны, должны быть применимы к трем точкам с правой стороны. Аналогично, относительно вертикального направления, коэффициенты, полученные путем инвертирования коэффициентов, которые должны использоваться для трех точек на верхней стороне, должны быть применимы к трем точкам на нижней стороне (c=C, C=C и C=c).
Дополнительно, поскольку зависимость между 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) с исходным изображением, то есть остаточную энергию прогнозирования.
Например, следующее уравнение может быть использовано для вычисления MSE.
2
MSE = {полная сумма (исходный сигнал - сигнал прогнозирования)}/число пикселей.
Вычисленная MSE выводится в модуль 125 хранения минимальной MSE.
Модуль 125 хранения минимальной MSE берет MSE, полученную модулем 124 вычисления MSE, в качестве входных данных, и сохраняет ее значение. Модуль 125 хранения минимальной MSE сравнивает ранее сохраненное минимальное значение или ранее заданное минимальное значение с входной MSE, определяет что (a) минимальная MSE является значением входной MSE, если значение входной MSE меньше, чем уже сохраненное минимальное значение, и что (b) минимальная MSE является уже сохраненным минимальным значением, если уже сохраненное минимальное значение меньше, чем значение входной MSE, и сохраняет и обновляет минимальное значение. Более того, когда сохраняется минимальное значение, модуль 125 хранения минимальной MSE сохраняет информацию группы местоположений интерполяции и индекс интерполяционного фильтра, который реализует MSE значение.
Индекс интерполяционного фильтра представляет собой идентификационное число, которое указывает интерполяционный фильтр, и оно указывает, использовать ли (a) ранее заданный фиксированный интерполяционный фильтр, либо (b) адаптивный интерполяционный фильтр, полученный в процессе кодирования.
Как описано выше, модуль 12-1 определения коэффициентов интерполяционного фильтра вычисляет MSE в каждом местоположении интерполяции для возможных комбинаций коэффициентов интерполяционного фильтра и местоположений интерполяции, относящихся к интерполяционному фильтру, и затем выводит информацию о комбинации, которая реализует минимальную MSE, то есть (1) информацию группы местоположений интерполяции, (2) индексы интерполяционного фильтра и (3) коэффициенты интерполяционного фильтра.
[Пример 2 конфигурации модуля определения коэффициентов интерполяционного фильтра]
Фиг.4 изображает схему, иллюстрирующую пример 2 другой конфигурации модуля определения коэффициентов интерполяционного фильтра. Следующий пункт представляет собой разницу между модулем 12-2 определения коэффициентов интерполяционного фильтра и модулем 12-1 определения коэффициентов интерполяционного фильтра вышеописанного примера 1 конфигурации. То есть пример 1 конфигурации выбирает коэффициенты интерполяционного фильтра, с которыми энергия ошибки прогнозирования, получаемая модулем 124 вычисления MSE, становится минимальной, из числа коэффициентов интерполяционного фильтра многочисленных интерполяционных фильтров, таких как адаптивный интерполяционный фильтр и фиксированный интерполяционный фильтр, для каждой из групп местоположений интерполяции, сгруппированных модулем 123 группирования целевых местоположений интерполяции. В противоположность этому, в примере 2 конфигурации, модуль 126 определения степени важности определяет степень важности группы местоположений интерполяции в зависимости от группы местоположений интерполяции, и выбирает коэффициенты интерполяционного фильтра, которые должны использоваться для интерполяционного фильтра, основываясь на результате определения степени важности.
В модуле 12-2 определения коэффициентов интерполяционного фильтра, детали процессов модуля 121 получения информации интерполяционного фильтра, модуля 122 вычисления эталонных вероятностей местоположений интерполяции и модуля 123 группирования целевых местоположений интерполяции являются такими же, как в вышеописанном примере 1 конфигурации.
Модуль 126 определения степени важности предполагает, что чем выше эталонная вероятность в местоположении дробного пикселя, обозначенном вектором движения, тем выше степень важности, и присваивает каждой группе местоположений интерполяции, форму, длину фильтра или битовую глубину интерполяционного фильтра с более высокой точностью, поскольку степень важности становится выше. То есть модуль 126 определения степени важности выделяет в качестве коэффициентов интерполяционного фильтра, которые должны использоваться для каждой группы местоположений интерполяции, коэффициенты интерполяционного фильтра, соответствующие интерполяционному фильтру, имеющему большую форму, большую длину фильтра или большую битовую глубину, поскольку степень важности становится выше.
Выходные данные модуля 12-2 определения коэффициентов интерполяционного фильтра в примере 2 конфигурации включают в себя информацию группы местоположений интерполяции, указывающую группу, к которой принадлежит местоположение интерполяции с дробной точностью, индекс интерполяционного фильтра, указывающий коэффициенты интерполяционного фильтра, которые должны использоваться, и коэффициенты интерполяционного фильтра, и они должны быть целевыми объектами кодирования. Следует отметить, что индекс интерполяционного фильтра может быть опущен.
[Пример 3 конфигурации модуля определения коэффициентов интерполяционного фильтра]
Фиг.5 изображает схему, иллюстрирующую пример 3 другой конфигурации модуля определения коэффициентов интерполяционного фильтра. Модуль 12-3 определения коэффициентов интерполяционного фильтра имеет структуру, полученную путем объединения вышеописанного модуля 12-1 определения коэффициентов интерполяционного фильтра конфигурации примера 1 с модулем 12-2 определения коэффициентов интерполяционного фильтра конфигурации примера 2.
В модуле 12-3 определения коэффициентов интерполяционного фильтра, детали процессов модуля 121 получения информации интерполяционного фильтра, модуля 122 вычисления эталонных вероятностей местоположений интерполяции и модуля 123 группирования целевых местоположений интерполяции являются такими же, как в вышеописанном примерах 1 и 2 конфигурации.
Коэффициенты интерполяционного фильтра адаптивного интерполяционного фильтра, полученные во время процесса кодирования, и ранее заданные коэффициенты фильтра фиксированного интерполяционного фильтра, собранные модулем 121 получения информации интерполяционного фильтра, вводятся в модуль 126 определения степени важности. Более того, информация группы местоположений интерполяции, определяемая модулем 123 группирования целевых местоположений интерполяции, вводится в модуль 126 определения степени важности.
Модуль 126 определения степени важности предполагает, что чем выше эталонная вероятность в местоположении дробного пикселя, обозначенном вектором движения, тем выше степень важности, и выбирает, для каждой группы местоположений интерполяции, среди всех входных данных, несколько коэффициентов интерполяционного фильтра, соответствующих форме, длине фильтра или битовой глубине интерполяционного фильтра с более высокой точностью, поскольку степень важности становится выше. То есть модуль 126 определения степени важности выбирает, из числа входных коэффициентов интерполяционного фильтра, многочисленные наборы коэффициентов интерполяционного фильтра, соответствующие интерполяционным фильтрам, имеющим большую форму, большую длину фильтра или большую битовую глубину, поскольку степень важности становится выше.
Модуль 124 вычисления MSE вводит вектор движения MV, определенный посредством прогнозирования движения, декодированный сигнал (локальное декодированное изображение), и коэффициенты интерполяционного фильтра, выбранные модулем 126 определения степени важности, генерирует, для каждой группы местоположений интерполяции, интерполированное изображение в местоположении, обозначенном вектором движения MV, с использованием пикселей целых местоположений декодированного изображения и коэффициентов интерполяционного фильтра, и вычисляет среднеквадратичную ошибку (MSE) с исходным изображением. Вычисление MSE является таким же, как описано в примере 1 конфигурации.
Модуль 125 хранения минимальной MSE берет MSE, полученные модулем 124 вычисления MSE, в качестве входных данных, и сохраняет MSE, имеющую минимальное значение среди этих значений.
Как описано выше, модуль 12-3 определения коэффициентов интерполяционного фильтра вычисляет MSE в каждом местоположении интерполяции для возможных комбинаций местоположений интерполяции, и коэффициенты интерполяционного фильтра, выбранные модулем 126 определения степени важности, относящиеся к интерполяционному фильтру, и выводит комбинацию, которая реализует минимальную MSE, то есть информацию группы местоположений интерполяции, указывающую группу, к которой принадлежит местоположение интерполяции с дробной точностью, индекс интерполяционного фильтра, указывающий коэффициенты интерполяционного фильтра, которые должны использоваться, и коэффициенты интерполяционного фильтра.
[Схема процесса кодирования]
Фиг.6 изображает процедурную схему обработки устройства кодирования видео, показанного на фиг.1.
Далее в настоящем документе будет описана схема обработки, в которой устройство кодирования видео кодирует один кадр, со ссылкой на фиг.6. Последующее описание предполагает обработку сигналов яркости, если не задано по-другому.
Сначала, на этапе S101, вводится кадр исходного изображения, требуемый для обработки кодирования. Затем, на этапе S102, например, фиксированный интерполяционный фильтр, обеспеченный в кодере, такой как одномерный 6-гребенчатый фильтр, принятый в стандарте H.264/AVC, или одномерный 8-гребенчатый фильтр или 12-гребенчатый фильтр, как интерполяционный фильтр, основанный на DCT-преобразовании, устанавливается в качестве ранее заданного интерполяционного фильтра, и вектора движения (MV) полного кадра выводятся с использованием интерполяционного фильтра. Здесь, ранее заданный интерполяционный фильтр не ограничивается фиксированным интерполяционным фильтром, и может быть принят адаптивный интерполяционный фильтр, вычисленный, например, в предыдущем кадре.
Затем, на этапе S103, значения коэффициентов адаптивного интерполяционного фильтра для целевого кадра кодирования вычисляются с использованием векторов движения, полученных на этапе S102. В вычислении коэффициентов интерполяционного фильтра на настоящем этапе используется общеизвестный способ минимизации энергии ошибки прогнозирования (линейная регрессия).
Затем, на этапе S104, эталонная вероятность в каждом целевом местоположении интерполяции вычисляется из векторов движения, полученных на этапе S102. В частности, определяется число обозначений, полученных векторами движения, и число векторов движения, которые относятся к каждому целевому местоположению интерполяции среди всех векторов движения, вычисляется из числа обозначений.
Затем, на этапе S105, группирование местоположений интерполяции определяется из результата эталонных вероятностей, определенных на этапе S104. Например, имеется всего 15 целевых местоположений интерполяции, когда должны определяться целевые местоположения интерполяции, имеющие точность вплоть до точности в 1/4 пикселя. В это время, группирование выполняется таким образом, что три верхних места задаются как группа 1, от четвертого до седьмого места задаются как группа 2, от восьмого до одиннадцатого места задаются как группа 3, и оставшиеся задаются как группа 4.
Затем, на этапе S106, процессы модулей с 12-1 по 12-3 определения коэффициентов интерполяционного фильтра, описанных со ссылкой на фиг.2, фиг.4 и фиг.5, выполняются на основе результата группирования, определенного на этапе S105. Например, устанавливается степень важности группы местоположений интерполяции и определяется интерполяционный фильтр, который должен использоваться. Поскольку эталонная вероятность группы 1 высока, влияние фильтра велико, и таким образом, устанавливается высокая степень важности. В это время, выделяется фильтр, имеющий высокие характеристики, посредством, например, использования интерполяционного фильтра, имеющего большую длину гребенки, или посредством установки битовой глубины квантования значения коэффициента фильтра, равной большому значению. В противном случае, поскольку эталонная вероятность группы 4 низка, влияние интерполяционного фильтра, который должен использоваться, мало, даже если его характеристики низкие. Например, используется интерполяционный фильтр, имеющий маленькую длину гребенки, или битовая глубина квантования устанавливается равной маленькому значению. Более того, когда имеются многочисленные кандидаты для коэффициентов интерполяционного фильтра, которые должны использоваться, и вычисляется MSE, когда используется каждый кандидат для коэффициентов интерполяционного фильтра, определяются коэффициенты интерполяционного фильтра, которые обеспечивают минимальную энергию ошибки прогнозирования.
Затем, на этапе S107, процесс интерполяции выполняется с использованием коэффициентов интерполяционного фильтра, определенных на этапе S106.
Затем, на этапе S108, кодируется информация группы местоположений интерполяции, определенная на этапе S105. Затем, на этапе S109, кодируются информация коэффициентов интерполяционного фильтра, определенная на этапе S103, и информация, необходимая для декодирования, как например, индексы интерполяционного фильтра.
Затем, на этапе S110, кодируется все остальные части информации, подлежащей кодированию, такие как сигналы ошибки прогнозирования (информации компонента текстуры) и вектора движения.
Затем, на этапе S111, выполняется определение того, является ли закодированный кадр последним кадром. Если обработанный кадр не является последним кадром, то обработка возвращается к этапу S101, чтобы обработать следующий кадр. Если обработанный кадр является последним кадром, то процесс кодирования завершается.
Следует отметить, что функция изменения группы местоположений интерполяции на основе эталонной вероятности вектора движения, настройка интерполяционного фильтра, который должен использоваться, на погрупповой основе, и выполнение кодирования, которое описано в настоящем изобретении, не ограничиваются применением к сигналам яркости, но также применимы к сигналам цветности аналогичным образом.
[Пример конфигурации устройства декодирования видео]
Фиг.7 изображает схему, иллюстрирующую пример конфигурации устройства декодирования видео согласно варианту осуществления настоящего изобретения.
В устройстве 20 декодирования видео, модуль 21 декодирования варьируемой длины вводит закодированный битовый поток и декодирует, например, квантованные коэффициенты преобразования, вектора движения, информацию группы местоположений интерполяции, индексы интерполяционного фильтра и коэффициенты интерполяционного фильтра. Модуль 22 определения коэффициентов интерполяционного фильтра определяет коэффициенты интерполяционного фильтра, которые должны использоваться для каждого местоположения интерполяции, из информации группы местоположений интерполяции и индексов интерполяционного фильтра.
Модуль 231 интерполяции эталонного изображения в составе модуля 23 генерации сигнала прогнозирования применяет интерполяционный фильтр с коэффициентами интерполяционного фильтра, принятыми из модуля 22 определения коэффициентов интерполяционного фильтра, к уже декодированному эталонному изображению, сохраненному в запоминающем устройстве 25 эталонных изображений, для восстановления пикселей с дробной точностью эталонного изображения. Модуль 23 генерации сигнала прогнозирования генерирует сигнал прогнозирования целевого блока декодирования из эталонного изображения, для которого были восстановлены пиксели с дробной точностью.
Модуль 24 декодирования с прогнозированием выполняет обратное преобразование квантованных коэффициентов, декодированных модулем 21 декодирования варьируемой длины, обратное ортогональное преобразование, и так далее, прибавляет результирующий сигнал вычисленной ошибки прогнозирования к сигналу прогнозирования, генерированному модулем 23 генерации сигнала прогнозирования, чтобы генерировать декодированное изображение, и выводит его в качестве выходного изображения. Более того, декодированное изображение, декодированное модулем 24 декодирования с прогнозированием, сохраняется в запоминающем устройстве 25 эталонных изображений для последующего декодирования с прогнозированием. В это время, может применяться внутриконтурный фильтр для удаления шума кодирования, такой как деблокирующий фильтр или адаптивный контурный фильтр (ALF), и затем может быть выполнено сохранение.
[Схема процесса декодирования]
Фиг.8 изображает процедурную схему обработки устройства декодирования видео, показанного на фиг.7. Далее в настоящем документе будет описана схема обработки, в которой устройство декодирования видео декодирует один кадр, со ссылкой на фиг.8. Последующее описание предполагает обработку сигналов яркости, если не задано по-другому.
На этапе S201, собирается информация заголовка кадра (или заголовка вырезки). Затем, на этапе S202, декодируется информация группы местоположений интерполяции. Затем, на этапе S203, декодируются индексы интерполяционного фильтра и коэффициенты интерполяционного фильтра.
Затем, на этапе S204, декодируется все остальные части информации, подлежащей декодированию (как например, вектора движения и сигнал ошибки прогнозирования).
Затем, на этапе S205, определяется интерполяционный фильтр, который должен использоваться для каждой интерполяции этапа S202, и интерполяционный фильтр, применяемый к каждой группе местоположений интерполяции.
Затем, на этапе S206, выполняется процесс интерполяции с использованием интерполяционного фильтра, определенного на этапе S205, чтобы генерировать сигнал прогнозирования. Затем, на этапе S207, сигнал ошибки прогнозирования, полученный на этапе S204, прибавляется к сигналу прогнозирования, полученному на этапе S206, чтобы генерировать декодированный сигнал.
Затем, на этапе S208, выполняется определение того, все ли кадры, подлежащие декодированию, были декодированы, обработка возвращается к этапу S201 и переходит к декодированию следующего кадра, если не все кадры были декодированы, и процесс декодирования завершается, если все кадры были декодированы.
Хотя вышеприведенное описание предназначено для сигналов яркости, настоящий процесс также применим к сигналам цветности аналогичным образом.
[Пример конфигурации, когда используется программное обеспечение]
Вышеупомянутые процессы кодирования и декодирования видео, также могут быть реализованы с использованием компьютера и программного обеспечения, программа может быть записана на компьютерно-читаемом носителе, и программа может быть обеспечена через интернет.
Фиг.9 иллюстрирует пример конфигурации системы, когда вариант осуществления настоящего изобретения реализуется с использованием компьютера и программного обеспечения.
Настоящая система имеет конфигурацию, в которой центральный процессор (CPU) 50, который выполняет программу, запоминающее устройство 51, которое хранит программу и данные, полученные CPU 50, как например, запоминающее устройство с произвольной выборкой (RAM), модуль 52 хранения видеосигнала, который хранит целевой видеосигнал кодирования или видеосигнал декодированных изображений, запоминающее устройство 53 программ, которое хранит программу, предписывающую CPU 50 выполнять процесс, описанный в варианте осуществления настоящего изобретения, и модуль 54 хранения закодированного потока, который хранит битовый поток закодированного результата или целевой битовый поток декодирования, соединены с шиной.
Запоминающее устройство 53 программ сохраняет либо программу 531 кодирования видео для кодирования видеосигнала с использованием варианта осуществления настоящего изобретения, либо программу 532 декодирования видео для выполнения декодирования на закодированном битовом потоке с использованием варианта осуществления настоящего изобретения. Запоминающее устройство 53 программ может хранить обе эти программы.
Более того, когда настоящая система используется в качестве устройства кодирования видео, программа 531 кодирования видео загружается в запоминающее устройство 51, и CPU 50 последовательно выбирает и исполняет инструкции программы 531 кодирования видео, загруженной в запоминающее устройство 51, и CPU 50 кодирует видеосигнал, сохраненный в модуле 52 хранения видеосигнала с использованием метода, описанного в варианте осуществления настоящего изобретения, и CPU 50 сохраняет битовый поток закодированного результата в модуле 54 хранения закодированного потока. Альтернативно, битовый поток может выводиться во внешнее устройство через интерфейс, такой как сетевой адаптер.
Кроме того, когда настоящая система используется как устройство декодирования видео, программа 532 декодирования видео загружается в запоминающее устройство 51, и CPU 50 последовательно выбирает и выполняет инструкции программы 532 декодирования видео, загруженной в запоминающее устройство 51, CPU 50 выполняет декодирование видео, сохраненного в модуле 54 хранения закодированного потока с использованием метода, описанного в варианте осуществления настоящего изобретения, и CPU 50 сохраняет видеосигнал декодированного результата в модуле 52 хранения видеосигнала. Альтернативно, видеосигнал декодированного результата выводится во внешнее устройство воспроизведения.
Хотя варианты осуществления настоящего изобретения были описаны выше со ссылкой на чертежи, эти варианты осуществления являются иллюстрацией настоящего изобретения, и очевидно, что настоящее изобретение не ограничивается этими вариантами осуществления. Следовательно, могут быть сделаны дополнение, опускание, перестановка и/или другие модификации структурных элементов, которые не отступают от сущности настоящего изобретения. То есть настоящее изобретение не ограничивается вышеприведенным описанием и ограничивается только изложенной ниже формулой изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение применимо, например, к кодированию видео и декодированию видео с использованием межкадрового прогнозирования с компенсацией движения. Настоящее изобретение может достигать повышения эффективности кодирования в результате уменьшения энергии ошибки прогнозирования.
ОПИСАНИЕ ОБОЗНАЧЕНИЙ
10 - устройство кодирования видео
11 - модуль вычисления коэффициентов интерполяционного фильтра
12, 22 - модуль определения коэффициентов интерполяционного фильтра
121 - модуль получения информации интерполяционного фильтра
122 - модуль вычисления эталонных вероятностей местоположений интерполяции
123 - модуль группирования целевых местоположений интерполяции
124 - модуль вычисления MSE
125 - модуль хранения минимальной MSE
126 - модуль определения степени важности
13, 23 - модуль генерации сигнала прогнозирования
131, 231 - модуль интерполяции эталонного изображения
132 - модуль обнаружения движения
14 - модуль кодирования с прогнозированием
15 - модуль кодирования варьируемой длины
16 - модуль декодирования
17, 25 - запоминающее устройство эталонных изображений
20 - устройство декодирования видео
21 - модуль декодирования варьируемой длины
24 - модуль декодирования с прогнозированием.