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

Иллюстрации

Показать все

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

Реферат

ОБЛАСТЬ ТЕХНИКИ

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

Испрашивается приоритет по заявке № 2010-026131 на выдачу патента Японии, поданной 9 февраля 2010 года, содержание которой включено в материалы настоящей заявки посредством ссылки.

УРОВЕНЬ ТЕХНИКИ

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

Фиг.11 иллюстрирует пример конфигурации блока компенсации движения в традиционном устройстве кодирования фильма. Блок 100 компенсации движения в традиционном устройстве кодирования фильма оснащен блоком 101 поиска движения, памятью 102 векторов движения, блоком 103 предсказания вектора движения и блоком 104 расчета остатка предсказания.

Если вводится видеосигнал блока, который должен кодироваться, блок 101 поиска движения выполняет поиск движения посредством сопоставления его с декодированным сигналом кодированного опорного изображения, рассчитывает вектор движения и сохраняет его в памяти 102 векторов движения. Блок 103 предсказания вектора движения считывает векторы движения, которые использовались при кодировании кодированных блоков вокруг блока, который должен кодироваться, из памяти 102 векторов движения, и рассчитывает предсказательный вектор движения с использованием их в качестве опорных векторов движения. Блок 104 расчета остатка предсказания рассчитывает остаток между вектором движения, рассчитанным блоком 101 поиска движения, и предсказательным вектором, рассчитанным блоком 103 предсказания вектора движения, и выдает остаток предсказания вектора движения. Этот остаточный сигнал вектора движения кодируется и выводится в качестве кодированной информации вектора движения.

Фиг.12 иллюстрирует пример конфигурации блока компенсации движения в традиционном устройстве декодирования фильма. Блок 200 компенсации движения в традиционном устройстве декодирования фильма оснащен блоком 201 расчета вектора движения, блоком 202 формирования предсказательного сигнала, памятью 203 векторов движения и блоком 204 предсказания вектора движения.

Блок 201 расчета вектора движения формирует вектор движения прибавлением остатка предсказания вектора движения, декодированного из кодированного потока, к предсказательному вектору движения, предсказанному блоком 204 предсказания вектора движения, сохраняет этот вектор движения в памяти 203 вектора движения и выдает его в блок 202 формирования предсказательного сигнала.

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

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

(a) Кодирование с предсказанием медианы (стандарт H.264 и тому подобное) [в дальнейшем указываемое ссылкой как традиционная технология a]

(b) Кодирование с предсказанием, основанное на назначении опорных векторов движения [в дальнейшем указываемое ссылкой как традиционная технология b]

Фиг.13 - схема для пояснения примера традиционной схемы кодирования с предсказанием вектора движения. В традиционной технологии a и традиционной технологии b, при кодировании вектора движения (декодирование является таким же), предсказание выполняется с использованием векторов движения кодированных блоков (кодированных векторов движения) вокруг блока, который должен кодироваться, как проиллюстрировано на Фиг.13, в качестве опорных векторов движения, и вектор движения кодируется.

Более точно, в традиционной технологии a, медиана опорных векторов движения используется в качестве предсказательного вектора движения, и кодируется ошибка (указываемая ссылкой как остаток предсказания вектора движения) между вектором движения блока, который должен кодироваться, и предсказательным вектором движения (обратитесь к непатентному документу 1).

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

Более того, традиционно, в качестве технологии для предсказания самого вектора движения блока, который должен кодироваться, вместо получения остатка предсказания вектора движения и кодирования вектора движения, есть технология для предсказания вектора движения на основании сопоставления с эталоном (в дальнейшем, указываемая ссылкой как традиционная технология c). Эта традиционная технология c является способом предсказания вектора движения для выполнения компенсации движения без кодирования вектора движения на стороне кодирования (обратитесь к непатентному документу 3).

Фиг.14 - схема для пояснения традиционного предсказания вектора движения, основанного на сопоставлении с эталоном. В традиционной технологии c, и в случае предсказания вектора движения блока, который должен кодироваться, посредством использования набора (это называется эталоном) кодированных пикселей вокруг блока, который должен кодироваться, как проиллюстрировано перевернутой Г-образной областью на Фиг.14, поиск движения выполняется в предварительно определенном диапазоне поиска в опорном изображении (эта последовательность операций называется сопоставлением с эталоном). Более точно, поиск выполняется для каждого вектора движения в предварительно определенном диапазоне поиска посредством расчета степени надежности, такой как сумма абсолютных разностей (SAD), между эталоном и областью (называемой областью сопоставления), полученной смещением области в опорном изображении в таком же положении, как эталон, посредством вектора движения. Компенсация движения выполняется с использованием результирующего вектора движения. Поскольку также можно, чтобы сторона декодирования выполняла такую же последовательность операций с эталоном, который является набором декодированных пикселей, преимущество состоит в том, что компенсация движения возможна без кодирования вектора движения.

ДОКУМЕНТЫ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ

НЕПАТЕНТНЫЕ ДОКУМЕНТЫ

Непатентный документ 1: Кадано, Кикучи и Сузуки, «3е переработанное издание.

Учебник по стандарту H.264/AVC», опубликованный Impress R&D, 2009 г., стр. 123-125.

Непатентный документ 2: Т. Ямамото, «Новая схема для кодирования с предсказателем вектора движения», ITU-T SG16/Q6, 32ая конференция VCEG, Сан-Хосе, апрель 2007 года.

Непатентный документ 3: Кобаяши, Сузуки, Боон и Хорикоши, «Сокращение объема предсказательной информации со способом предсказания движения, использующим сопоставление с эталоном», Протоколы симпозиума по кодированию киноизображений в Японии, 2005 г., стр. 17-18.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

ПРОБЛЕМЫ, КОТОРЫЕ ДОЛЖНЫ БЫТЬ РЕШЕНЫ ИЗОБРЕТЕНИЕМ

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

Фиг.15 - схема для пояснения проблем традиционных способов. Как проиллюстрировано на Фиг.15, когда прилегающие блоки у блока, который должен кодироваться, расположены на границе с объектом Obj, когда есть смыкание (когда соответствующие точки прилегающих блоков в опорном изображении скрываются некоторым объектом), и/или когда объект не является твердым телом, опорные векторы движения прилегающих блоков могут быть непригодными для предсказания вектора движения блока, который должен кодироваться, или сами опорные векторы движения могут быть несуществующими, так как выполняется внутрикадровое кодирование. В таком случае как в традиционном способе a, так и традиционном способе b, эффективность предсказания может ухудшаться.

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

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

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

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

СРЕДСТВО ДЛЯ РЕШЕНИЯ ПРОБЛЕМ

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

(1) использование большого количества (N) первичных возможных опорных векторов движения;

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

(3) первичные возможные опорные векторы движения сокращаются до меньшего количества (M) вторичных возможных опорных векторов движения, имеющих степени надежности, которые являются большими, чем предварительно определенное пороговое значение; и

(4) предсказательный вектор движения формируется с использованием нескольких вторичных возможных опорных векторов движения;

Подробно, в варианте осуществления настоящего изобретения, в качестве предварительных последовательностей операций кодирования с предсказанием вектора движения (последующей последовательности 4 операций), которые являются такими же, как в традиционном способе, выполняются следующие последовательности операций с 1 по 3:

[Последовательность 1 операций] Сначала, в качестве первичных возможных опорных векторов движения, выделяются N (N - целое число, равное или большее чем 2) векторов движения, включающих в себя по меньшей мере один из векторов движения, используемых при кодировании уже кодированных блоков, прилегающих к блоку, который должен кодироваться, и векторов движения, имеющих предварительно определенное значение;

[Последовательность 2 операций] Затем, степень надежности каждого из N первичных возможных опорных векторов движения, которая количественно представляет эффективность в предсказании вектора движения блока, который должен кодироваться, рассчитывается с использованием информации кодированного или декодированного изображения;

[Последовательность 3 операций] Первичные возможные опорные векторы движения, имеющие степени надежности, которые являются большими, чем предварительно определенное пороговое значение, из числа N первичных возможных опорных векторов движения выбираются в качестве вторичных возможных опорных векторов движения; и

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

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

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

ПОЛЕЗНЫЕ РЕЗУЛЬТАТЫ ИЗОБРЕТЕНИЯ

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

Фиг.3 - структурная схема, иллюстрирующая устройство декодирования фильма согласно варианту осуществления настоящего изобретения.

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

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

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

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

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

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

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

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

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

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

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

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

Фиг.14 - схема, иллюстрирующая предсказание вектора движения на основании традиционного сопоставления с эталоном.

Фиг.15 - схема, иллюстрирующая проблемы традиционного способа.

ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ДЛЯ ВЫПОЛНЕНИЯ ИЗОБРЕТЕНИЯ

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

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

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

Для этого кодирования блок 10 расчета остаточного сигнала предсказания получает разность между принятым видеосигналом и предсказательным сигналом, который является выходным сигналом из блока 18 компенсации движения, и выдает его в качестве остаточного сигнала предсказания. Блок 11 ортогонального преобразования выполняет ортогональное преобразование, такое как дискретное косинусное преобразование (ДКП, DCT), над остаточным сигналом предсказания и выдает коэффициент преобразования. Блок 12 квантования квантует коэффициент преобразования и выдает квантованный коэффициент преобразования. Блок 13 кодирования источника информации осуществляет энтропийное кодирование квантованного коэффициента преобразования и выдает кодированный коэффициент в качестве битового потока.

С другой стороны, квантованный коэффициент преобразования также вводится в блок 14 обращенного квантования и обращенно квантуется в нем. Блок 15 обратного ортогонального преобразования выполняет обратное ортогональное преобразование над коэффициентом преобразования, который выводится из блока 14 обращенного, квантования, и выдает декодированный остаточный сигнал предсказания. Блок 16 расчета декодированного сигнала прибавляет декодированный остаточный сигнал предсказания к предсказательному сигналу, который является выходным сигналом блока 18 компенсации движения, и вырабатывает декодированный сигнал кодированного блока, который должен кодироваться. Этот декодированный сигнал сохраняется в памяти 17 кадров, для того чтобы использоваться в качестве опорного изображения компенсации движения в блоке 18 компенсации движения.

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

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

Фиг.2 - схема, показывающая пример подробной конфигурации блока 18 компенсации движения, проиллюстрированного на Фиг.1. Как проиллюстрировано на Фиг.2, блок 18 компенсации движения оснащен блоком 181 поиска движения, памятью 182 векторов движения, блоком 183 установки первичных возможных опорных векторов движения, блоком 184 расчета степени надежности, блоком 185 определения опорного вектора движения, блоком 186 предсказания вектора движения и блоком 187 расчета остатка предсказания вектора движения.

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

Блок 183 установки первичных возможных опорных векторов движения устанавливает векторы движения, хранимые в памяти 182 векторов движения после кодирования в прошлом, или N (N - целое число, равное или большее чем 2) векторов движения, включающих в себя векторы движения, имеющие предварительно определенное значение, в качестве первичных возможных опорных векторов движения и уведомляет блок 184 расчета степени надежности о первичных возможных опорных векторах движения.

Блок 184 расчета степени надежности рассчитывает степень надежности каждого из N первичных возможных опорных векторов движения, которая количественно представляет эффективность в предсказании вектора движения блока, который должен кодироваться, с использованием информации кодированного изображения (декодированного сигнала).

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

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

Блок 187 расчета остатка предсказания вектора движения рассчитывает остаток между вектором движения, рассчитанным блоком 181 поиска движения и предсказательным вектором, рассчитанным блоком 186 предсказания вектора движения, и выдает рассчитанный остаток в качестве остатка предсказания вектора движения.

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

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

Для этого декодирования, на основании принятого битового потока, блок 20 декодирования источника информации энтропийно декодирует квантованный коэффициент преобразования блока, который должен декодироваться, и декодирует остаток предсказания вектора движения. Блок 21 обращенного квантования принимает и обращенно квантует квантованный коэффициент преобразования и выдает декодированный коэффициент преобразования. Блок 22 обратного ортогонального преобразования выполняет обратное ортогональное преобразование над декодированным коэффициентом преобразования и выдает декодированный остаточный сигнал предсказания. Блок 23 расчета декодированного сигнала прибавляет предсказательный сигнал, сформированный блоком 25 компенсации движения, к декодированному остаточному сигналу предсказания и вырабатывает декодированный сигнал блока, который должен декодироваться. Этот декодированный сигнал выводится на внешнее устройство, такое как устройство отображения, и сохраняется в памяти 24 кадров, для того чтобы использовался в качестве опорного изображения компенсации движения в блоке 25 компенсации движения.

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

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

Фиг.4 - схема, показывающая пример подробной конфигурации блока 25 компенсации движения, проиллюстрированного на Фиг.3. Как проиллюстрировано на Фиг.4, блок 25 компенсации движения оснащен блоком 251 расчета вектора движения, блоком 252 формирования предсказательного сигнала, памятью 253 векторов движения, блоком 254 установки первичных возможных опорных векторов движения, блоком 255 расчета степени надежности, блоком 256 определения опорных векторов движения и блоком 257 предсказания вектора движения.

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

Блок 254 установки первичных возможных опорных векторов движения устанавливает векторы движения, хранимые в памяти 253 векторов движения после декодирования в прошлом, или N (N - целое число, равное или большее чем 2) векторов движения, включающих в себя векторы движения, имеющие предварительно определенное значение, в качестве первичных возможных опорных векторов движения и уведомляет блок 255 расчета степени надежности о первичных возможных опорных векторах движения.

Блок 255 расчета степени надежности рассчитывает степень надежности каждого из N первичных возможных опорных векторов движения, которая количественно представляет эффективность в предсказании вектора движения блока, который должен декодироваться, с использованием информации декодированного изображения (декодированного сигнала).

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

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

Затем, среди последовательностей операций, выполняемых блоком 18 компенсации движения в устройстве 1 кодирования фильма и блоком 25 компенсации движения в устройстве 2 декодирования фильма, последовательность операций предсказания вектора движе