Способ кодирования видео, устройство кодирования видео, способ декодирования видео, устройство декодирования видео и устройство кодирования/декодирования видео

Иллюстрации

Показать все

Группа изобретений относится к способам и устройствам кодирования и декодирования движущихся изображений. Техническим результатом является уменьшение ошибок при кодировании и декодировании движущегося изображения с использованием внешнего прогнозирования. Устройство (100) кодирования движущихся изображений включает в себя: модуль (114) вычисления кандидатов-предикторов вектора движения, который вычисляет один или более кандидатов-предикторов вектора движения и число доступных кандидатов-предикторов; модуль (111) управления внешним прогнозированием, который выбирает кандидата оптимального предиктора вектора движения; и модуль (116) кодирования с переменной длиной слова, который задает размер списка кандидатов-предикторов вектора движения равным числу доступных кандидатов-предикторов и кодирует с переменной длиной слова индекс предиктора вектора движения, используемый для кодирования вектора движения, посредством назначения битовой строки согласно размеру списка кандидатов-предикторов вектора движения. 4 н. и 16 з.п. ф-лы, 54 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[0001] Настоящее изобретение относится к способу кодирования движущихся изображений и способу декодирования движущихся изображений.

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

[0002] При обработке кодирования движущихся изображений, в общем, объем информации сокращается посредством использования избыточности в пространственном направлении и временном направлении, которую имеют движущиеся изображения. Здесь, в общем, преобразование в частотную область используется в качестве способа использования избыточности в пространственном направлении. Дополнительно, обработка кодирования с межкадровым прогнозированием (в дальнейшем в этом документе, называемым "внешним (inter-) прогнозированием") используется в качестве способа использования избыточности во временном направлении. При обработке кодирования с внешним прогнозированием, когда кодируется изображение, кодированное изображение, которое появляется до или после текущего изображения, которое должно быть кодировано, в порядке времени отображения, используется в качестве опорного изображения. Вектор движения извлекается посредством выполнения обнаружения движения для текущего изображения относительно опорного изображения. Затем, избыточность во временном направлении исключается посредством вычисления разности между данными изображений текущего изображения и данными прогнозированных изображений, полученными посредством выполнения компенсации движения на основе извлеченного вектора движения (например, см. непатентный документ (NPL) 1). Здесь, при обнаружении движения вычисляется значение разности между текущим блоком в текущем изображении, которое должно быть кодировано, и блоком в опорном изображении, и блок в опорном изображении, при котором получается наименьшее значение разности, определяется в качестве опорного блока. Затем, вектор движения обнаруживается с использованием текущего блока и опорного блока.

СПИСОК БИБЛИОГРАФИЧЕСКИХ ССЫЛОК

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

[0003] NPL 1. ITU-T Recommendation H.264 "Advanced video coding for generic audiovisual services", март 2010 года.

NPL 2. JCT-VC "WD3: Working Draft 3 of High-Efficiency Video Coding", JCTVC-E603, март 2011 года.

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

ТЕХНИЧЕСКАЯ ЗАДАЧА

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

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

РЕШЕНИЕ ЗАДАЧИ

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

[0007] Следует отметить, что эти общие и конкретные аспекты могут быть реализованы с использованием системы, способа, интегральной схемы, компьютерной программы, считываемого компьютером носителя записи, такого как постоянное запоминающее устройство на компакт-дисках (CD-ROM), либо любой комбинации систем, способов, интегральных схем, компьютерных программ или носителей записи.

ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ

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

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

[0009] Фиг. 1A является схемой для описания примера списка опорных изображений для B-изображения.

Фиг. 1B показывает пример списка опорных изображений для направления 0 прогнозирования для B-изображения.

Фиг. 1C показывает пример списка опорных изображений для направления 1 прогнозирования для B-изображения.

Фиг. 2 является схемой для описания векторов движения в режиме временного прогнозирования векторов движения.

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

Фиг. 4 является схемой для описания примера списка кандидатов-предикторов вектора движения для направления 0 прогнозирования.

Фиг. 5 является схемой для описания примера списка кандидатов-предикторов вектора движения для направления 1 прогнозирования.

Фиг. 6 показывает примеры назначения битовых строк индексам предикторов вектора движения.

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

Фиг. 8A показывает пример вычисления предиктора вектора движения.

Фиг. 8B показывает пример вычисления предиктора вектора движения.

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

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

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

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

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

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

Фиг. 15 показывает пример списка кандидатов-предикторов вектора движения для направления 0 прогнозирования в варианте 1 осуществления.

Фиг. 16 показывает пример списка кандидатов-предикторов вектора движения для направления 1 прогнозирования в варианте 1 осуществления.

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

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

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

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

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

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

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

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

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

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

Фиг. 27 показывает пример синтаксиса, используемого, когда индекс предиктора вектора движения добавляется в поток битов.

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

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

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

Фиг. 31 показывает общую конфигурацию системы предоставления контента для реализации услуг распространения контента.

Фиг. 32 показывает общую конфигурацию цифровой широковещательной системы.

Фиг. 33 показывает блок-схему, иллюстрирующую пример конфигурации телевизионного приемника.

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

Фиг. 35 показывает пример конфигурации носителя записи, который является оптическим диском.

Фиг. 36A показывает пример сотового телефона.

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

Фиг. 37 иллюстрирует структуру мультиплексированных данных.

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

Фиг. 39 показывает то, как видеопоток сохраняется в потоке PES-пакетов.

Фиг. 40 показывает структуру TS-пакетов и исходных пакетов в мультиплексированных данных.

Фиг. 41 показывает структуру данных PMT.

Фиг. 42 показывает внутреннюю структуру информации мультиплексированных данных.

Фиг. 43 показывает внутреннюю структуру информации атрибутов потока.

Фиг. 44 показывает этапы для идентификации видеоданных.

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

Фиг. 46 показывает конфигурацию для переключения между частотами возбуждения.

Фиг. 47 показывает этапы для идентификации видеоданных и переключения между частотами возбуждения.

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

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

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

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

[0010] БАЗОВАЯ ОСНОВА ФОРМИРОВАНИЯ ЗНАНИЙ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ

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

[0011] I-изображение не кодируется посредством обработки кодирования с внешним прогнозированием. В частности, I-изображение кодируется посредством обработки кодирования с внутренним (-intra) прогнозированием (в дальнейшем в этом документе, называемым "внутренним прогнозированием"). P-изображение кодируется посредством кодирования с внешним прогнозированием посредством обращения к одному уже кодированному изображению, которое появляется до или после текущего изображения, которое должно быть кодировано, в порядке времени отображения. B-изображение кодируется посредством кодирования с внешним прогнозированием посредством обращения к двум уже кодированным изображениям, которые появляются до или после текущего изображения в порядке времени отображения.

[0012] При кодировании с внешним прогнозированием генерируется список опорных изображений для идентификации опорного изображения. Опорный список является списком, в котором индексы опорных изображений назначаются кодированным опорным изображениям, к которым следует обращаться при взаимном прогнозировании. Например, поскольку B-изображения могут быть кодированы посредством обращения к двум изображениям, генерируются два опорных списка (L0, L1).

[0013] Фиг. 1A является схемой для описания примера списка опорных изображений для B-изображения. Фиг. 1B показывает пример списка 0 (L0) опорных изображений для направления 0 прогнозирования при двунаправленном прогнозировании. Здесь, в списке 0 опорных изображений, значение 0 индекса 0 опорного изображения назначается опорному изображению 0 в порядке 2 отображения. Дополнительно, значение 1 индекса 0 опорного изображения назначается опорному изображению 1 в порядке 1 отображения. Дополнительно, значение 2 индекса 0 опорного изображения назначается опорному изображению 2 в порядке 0 отображения. В частности, индексы опорных изображений, имеющие меньшие значения, назначаются опорным изображениям в порядке временной близости к текущему изображению, которое должно быть кодировано, в порядке отображения.

[0014] Фиг. 1C показывает пример списка 1 (L1) опорных изображений для направления 1 прогнозирования при двунаправленном прогнозировании. Здесь, в списке 1 опорных изображений, значение 0 индекса 1 опорного изображения назначается опорному изображению 1 в порядке 1 отображения. Дополнительно, значение 1 индекса 1 опорного изображения назначается опорному изображению 0 в порядке 2 отображения. Дополнительно, значение 2 индекса 2 опорного изображения назначается опорному изображению 2 в порядке 0 отображения.

[0015] Таким образом, можно назначать индексы опорных изображений, имеющие различные значения для направлений прогнозирования, для опорного изображения (опорных изображений 0 и 1 на фиг. 1A), и индексы опорных изображений, имеющие идентичное значение для направлений прогнозирования, для опорного изображения (опорного изображения 2 на фиг. 1A).

[0016] Дополнительно, в схеме кодирования движущихся изображений, называемой H.264 (NPL 1), режим обнаружения вектора движения используется в качестве режима кодирования с внешним прогнозированием для блоков, которые должны быть кодированы, в B-изображении. В режиме обнаружения вектора движения кодируются значение разности между данными прогнозированных изображений и данными изображений текущего блока, который должен быть кодирован, и вектор движения, используемый для генерирования данных прогнозированных изображений. Дополнительно, в режиме обнаружения вектора движения можно выбирать двунаправленное прогнозирование или однонаправленное прогнозирование в качестве направления прогнозирования. При двунаправленном прогнозировании прогнозированное изображение генерируется посредством обращения к двум уже кодированным изображениям, которые появляются до или после текущего изображения, которое должно быть кодировано. При однонаправленном прогнозировании прогнозированное изображение генерируется посредством обращения к одному уже кодированному изображению, которое появляется до или после текущего изображения, которое должно быть кодировано.

[0017] Дополнительно, в схеме кодирования движущихся изображений, называемой H.264, режим кодирования, называемый "режимом временного прогнозирования векторов движения", может быть выбран, когда вектор движения извлекается при кодировании B-изображения. Способ кодирования с внешним прогнозированием в режиме временного прогнозирования векторов движения описывается с использованием фиг. 2.

[0018] Фиг. 2 является схемой для описания векторов движения в режиме временного прогнозирования векторов движения. В частности, фиг. 2 показывает случай, когда блок a в изображении B2 должен быть кодирован в режиме временного прогнозирования векторов движения.

[0019] Здесь, используется вектор vb движения, который используется, когда кодируется блок b (в дальнейшем в этом документе, называемый "совместно размещенным блоком") в позиции в изображении P3, идентичной позиции блока a, причем изображение P3 является опорным изображением, которое появляется после изображения B2. Вектор vb движения является вектором движения, используемым, когда блок b кодируется посредством обращения к изображению P1.

[0020] Два опорных блока для блока a получаются из изображения P1, которое является прямым опорным изображением, и изображения P3, которое является обратным опорным изображением, с использованием векторов движения, параллельных вектору vb движения. Затем, блок a кодируется посредством выполнения двунаправленного прогнозирования на основе двух полученных опорных блоков. В частности, векторы движения, используемые, когда кодируется блок a, являются вектором va1 движения относительно изображения P1 и вектором va2 движения относительно изображения P3.

[0021] Помимо этого, режим обозначения предикторов вектора движения рассматривается для использования (NPL 2) в качестве способа для кодирования векторов движения блоков, которые должны быть кодированы, в B-изображении или P-изображении. В режиме обозначения предикторов вектора движения кандидаты-предикторы вектора движения генерируются на основе векторов движения, используемых при кодировании блоков, смежных с текущим блоком, который должен быть кодирован. Затем, предиктор вектора движения выбирается из числа кандидатов-предикторов вектора движения, и вектор движения текущего блока кодируется. В это время, индекс выбранного предиктора вектора движения и т.п. добавляется в поток битов. Следовательно, предиктор вектора движения, идентичный предиктору вектора движения, используемому для кодирования, может быть выбран также тогда, когда выполняется декодирование. Конкретный пример описывается со ссылкой на фиг. 3.

[0022] Фиг. 3 показывает примеры векторов движения смежных блоков, которые используются в режиме обозначения предикторов вектора движения. На фиг. 3, смежный блок A является кодированным блоком, смежным и расположенным слева от текущего блока, который должен быть кодирован. Смежный блок B является кодированным блоком, смежным и расположенным в текущем блоке. Смежный блок C является кодированным блоком, смежным и расположенным справа сверху от текущего блока. Смежный блок D является кодированным блоком, смежным и расположенным слева снизу от текущего блока.

[0023] На фиг. 3, текущий блок является блоком, который кодируется посредством двунаправленного прогнозирования и имеет, в качестве результата обнаружения движения и т.п., вектор MvL0 движения в направлении 0 прогнозирования в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL0 опорного изображения для направления 0 прогнозирования, и вектор MvL1 движения в направлении 1 прогнозирования в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL1 опорного изображения для направления 1 прогнозирования. Здесь, MvL0 является вектором движения, который обращается к опорному изображению, идентифицированному с использованием списка 0 (L0) опорных изображений. Дополнительно, MvL1 является вектором движения, который обращается к опорному изображению, идентифицированному с использованием списка 1 (L1) опорных изображений.

[0024] Смежный блок A является блоком, кодированным посредством однонаправленного прогнозирования в направлении 0 прогнозирования. Смежный блок A имеет вектор MvL0_A движения в направлении 0 прогнозирования в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL0_A опорного изображения для направления 0 прогнозирования. Дополнительно, смежный блок B является блоком, кодированным посредством однонаправленного прогнозирования в направлении 1 прогнозирования. Смежный блок B имеет вектор MvL1_B движения в направлении 1 прогнозирования в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL1_B опорного изображения для направления 1 прогнозирования. Смежный блок C является блоком, кодированным посредством внутреннего прогнозирования. Дополнительно, смежный блок D является блоком, кодированным посредством однонаправленного прогнозирования в направлении 0 прогнозирования. Смежный блок D имеет вектор MvL0_D движения в направлении 0 прогнозирования в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL0_D опорного изображения в направлении 0 прогнозирования.

[0025] В таком случае, в качестве предиктора вектора движения текущего блока, который должен быть кодирован, например, выбирается предиктор вектора движения, с помощью которого может быть наиболее эффективно кодирован вектор движения текущего блока, из числа кандидатов-предикторов вектора движения, сгенерированных из векторов движения смежных блоков A, B, C и D и вектора движения в режиме временного прогнозирования векторов движения, полученного с использованием совместно размещенного блока. Затем, индекс предиктора вектора движения, указывающий выбранный предиктор вектора движения, добавляется в поток битов. Например, если вектор MvL0_A движения в направлении 0 прогнозирования смежного блока A выбирается в качестве предиктора вектора движения, когда вектор MvL0 движения в направлении 0 прогнозирования текущего блока должен быть кодирован, только значение "0" индекса предиктора вектора движения, которое указывает то, что используется кандидат-предиктор вектора движения, сгенерированный из смежного блока A, как показано на фиг. 4, добавляется в поток битов. Соответственно, объем информации относительно вектора MvL0 движения в направлении 0 прогнозирования текущего блока может быть уменьшен.

[0026] Здесь, фиг. 4 показывает пример списка кандидатов-предикторов вектора движения для направления 0 прогнозирования. Дополнительно, как показано на фиг. 4, в режиме обозначения предикторов вектора движения, кандидат, с помощью которого предиктор вектора движения не может быть сгенерирован (в дальнейшем в этом документе, называемый "недоступным кандидатом-предиктором"), и кандидат, значение которого является идентичным значению другого кандидата-предиктора вектора движения (в дальнейшем в этом документе, "избыточный кандидат"), удаляются из кандидатов-предикторов вектора движения. Следовательно, объем кода, назначаемый индексам предикторов вектора движения, сокращается посредством сокращения числа кандидатов-предикторов вектора движения. Здесь, невозможность генерирования предиктора вектора движения, например, означает то, что смежный блок (1) является блоком, кодированным посредством внутреннего прогнозирования, (2) блоком за пределами границы среза или изображения, которое включает в себя текущий блок, который должен быть кодирован, или (3) блоком, который еще не кодирован.

[0027] В примере на фиг. 4, смежный блок C кодируется посредством внутреннего прогнозирования. Соответственно, кандидат-предиктор, указываемый посредством значения "3" индекса предиктора вектора движения, является недоступным кандидатом-предиктором и в силу этого удаляется из списка кандидатов-предикторов вектора движения. Дополнительно, предиктор вектора движения в направлении 0 прогнозирования, сгенерированный из смежного блока D, имеет значение, идентичное значению предиктора вектора движения в направлении 0 прогнозирования, сгенерированного из смежного блока A, и тем самым кандидат-предиктор, указываемый посредством значения "4" индекса предиктора вектора движения, удаляется из списка кандидатов-предикторов вектора движения. Как результат, число кандидатов-предикторов вектора движения в направлении 0 прогнозирования в конечном счете сокращается до 3, и размер списка кандидатов-предикторов вектора движения для направления 0 прогнозирования задается равным 3.

[0028] Фиг. 5 показывает пример списка кандидатов-предикторов вектора движения для направления 1 прогнозирования. В примере, показанном на фиг. 5, число кандидатов-предикторов вектора движения в направлении 1 прогнозирования в конечном счете сокращается до 2 посредством удаления недоступного кандидата-предиктора и избыточных кандидатов, и размер списка кандидатов-предикторов вектора движения для направления 1 прогнозирования задается равным 2.

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

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

[0031] На этапе S1001, кандидаты-предикторы вектора движения в направлении X прогнозирования вычисляются из смежных блоков и совместно размещенного блока (в дальнейшем в этом документе называемых "кандидатами-блоками прогнозирования"). Здесь, X является одним из значений "0" и "1", где 0 представляет направление 0 прогнозирования, а 1 представляет направление 1 прогнозирования. Кандидат-предиктор вектора движения sMvLX в направлении X прогнозирования вычисляется в соответствии со следующим выражением с использованием вектора MvLX_N движения и индекса RefLX_N опорного изображения кандидата-блока прогнозирования и индекса RefLX опорного изображения текущего блока, который должен быть кодирован.

[0032] sMvLX=MvLX_N×(POC(RefLX)-curPOC)/(POC(RefLX_N)-curPOC) (выражение 1)

[0033] Здесь, POC(RefLX) указывает, когда по порядку отображается опорное изображение, указываемое посредством индекса RefLX опорного изображения, POC(RefLX_N) указывает, когда по порядку отображается опорное изображение, указываемое посредством индекса RefLX_N опорного изображения, и curPOC указывает, когда по порядку отображается текущее изображение, которое должно быть кодировано. Следует отметить, что, если кандидат-блок прогнозирования не имеет вектора MvLX_N движения в направлении X прогнозирования, предиктор sMvLX вектора движения вычисляется в соответствии с выражением 2 с использованием вектора MvL(1-X)_N движения в направлении прогнозирования (1-X) и индекса RefL(1-X)_N опорного изображения.

[0034] sMvLX=MvL(1-X)_N×(POC(RefLX)-curPOC)/(POC(RefL(1-X)_N)-curPOC) (выражение 2)

[0035] Фиг. 8A и 8B показывают примеры вычисления предикторов вектора движения с использованием выражений 1 и 2. Следует отметить, что, как показано посредством выражений 1 и 2, если значения POC(RefLX) и POC(RefLX_N) являются идентичными, а именно, обращаются к идентичному изображению, масштабирование может пропускаться.

[0036] На этапе S1002, избыточный кандидат и недоступный кандидат-предиктор удаляются из кандидатов-предикторов вектора движения в направлении X прогнозирования. На этапе S1003, размер списка кандидатов-предикторов вектора движения задается равным числу кандидатов-предикторов вектора движения после обработки удаления. На этапе S1004, определяется индекс предиктора вектора движения, который должен быть использован для кодирования вектора движения в направлении X прогнозирования текущего блока. На этапе S1005, определенный индекс предиктора вектора движения кодируется с переменной длиной слова с использованием битовой строки, определенной согласно размеру списка кандидатов-предикторов вектора движения.

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

[0038] Как показано на фиг. 9, устройство 1000 кодирования движущихся изображений включает в себя модуль 1001 вычитания, модуль 1002 ортогонального преобразования, модуль 1003 квантования, модуль 1004 обратного квантования, модуль 1005 обратного ортогонального преобразования, модуль 1006 суммирования, память 1007 блоков, память 1008 кадров, модуль 1009 внутреннего прогнозирования, модуль 1010 внешнего прогнозирования, модуль 1011 управления внешним прогнозированием, модуль 1012 определения типов изображений, переключатель 1013, модуль 1014 вычисления кандидатов-предикторов вектора движения, память 1015 colPic и модуль 1016 кодирования с переменной длиной слова.

[0039] На фиг. 9, модуль 1014 вычисления кандидатов-предикторов вектора движения вычисляет кандидаты-предикторы вектора движения. Затем, модуль 1014 вычисления кандидатов-предикторов вектора движения передает число вычисленных кандидатов-предикторов вектора движения в модуль 1016 кодирования с переменной длиной слова. Модуль 1016 кодирования с переменной длиной слова задает размер списка кандидатов-предикторов вектора движения, который является параметром кодирования, равным числу кандидатов-предикторов вектора движения. Затем, модуль 1016 кодирования с переменной длиной слова кодирует с переменной длиной слова индексы предикторов вектора движения, используемые для кодирования, посредством назначения им битовых строк согласно размеру списка кандидатов-предикторов вектора движения.

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

[0041] На этапе S2001, кандидаты-предикторы вектора движения в направлении X прогнозирования вычисляются из смежных блоков и совместно размещенного блока (кандидатов-блоков прогнозирования). На этапе S2002, избыточный кандидат и недоступный кандидат-предиктор удаляются из кандидатов-предикторов вектора движения. На этапе S2003, размер списка кандидатов-предикторов вектора движения задается равным числу кандидатов-предикторов вектора движения после обработки удаления. На этапе S2004, индекс предиктора вектора движения, который должен быть использован для декодирования текущего блока, декодируется из потока битов с использованием размера списка кандидатов-предикторов вектора движения. На этапе S2005, вектор движения вычисляется посредством прибавления разности векторов движения к кандидату-предиктору вектора движения, указываемому посредством декодированного индекса предиктора вектора движения, и прогнозированное изображение генерируется с использованием вычисленного вектора движения, таким образом выполняя обработку декодирования.

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

[0043] Как показано на фиг. 11, устройство 2000 декодирования движущихся изображений включает в себя модуль 2001 декодирования с переменной длиной слова, модуль 2002 обратного квантования, модуль 2003 обратного ортогонального преобразования, модуль 2004 суммирования, память 2005 блоков, память 2006 кадров, модуль 2007 внутреннего прогнозирования, модуль 2008 внешнего прогнозирования, модуль 2009 управления внешним прогнозированием, переключатель 2010, модуль 2011 вычисления кандидатов-предикторов вектора движения и память 2012 colPic.

[0044] На фиг. 11, модуль 2011 вычисления кандидатов-предикторов вектора движения вычисляет кандидаты-предикторы вектора движения. Затем, модуль 2011 вычисления кандидатов-предикторов вектора движения передает число вычисленных кандидатов-предикторов вектора движения в модуль 2001 декодирования с переменной длиной слова. Модуль 2001 декодирования с переменной длиной слова задает размер списка кандидатов-предикторов вектора движения, который является параметром декодирования, равным числу кандидатов-предикторов вектора движения. Затем, модуль 2001 декодирования с переменной длиной слова декодирует индекс предиктора вектора движения, включенный в поток битов, с использованием размера списка кандидатов-предикторов вектора движения.

[0045] Фиг. 12 показывает синтаксис, используемый, когда индекс предиктора вектора движения добавляется в поток битов. На фиг. 12, inter_pred_flag указывает флаг направления прогнозирования для внешнего прогнозирования, mvp_idx указывает индекс предиктора вектора движения, и NumMVPCand указывает размер списка кандидатов-предикторов вектора движения. NumMVPCand задается равным числу кандидатов-предикторов вектора движения после удаления недоступного кандидата-предиктора и избыточного кандидата из кандидатов-предикторов вектора движения.

[0046] Как описано выше, движущееся изображение кодируется или декодируется с использованием режима обозначения предикторов вектора движения. Тем не менее, в вышеуказанном режиме обозначения предикторов вектора движения, размер списка кандидатов-предикторов вектора движения, который должен быть использован, когда кодируется или декодируется индекс предиктора вектора движения, задается равным числу кандидатов-предикторов вектора движения. Это число кандидатов-предикторов вектора движения получается после удаления недоступного кандидата-предиктора или избыточного кандидата с использованием информации опорного изображения, включающей в себя информацию совместно размещенного блока, и т.п. Таким образом, если, например, существует разность в числе кандидатов-предикторов вектора движения между устройством кодирования движущихся изображений и устройством декодирования движущихся изображений, различные битовые строки назначаются индексам предикторов вектора движения в устройстве кодирования движущихся изображений и устройстве декодирования движущихся изображений. Как результат, устройство декодирования движущихся изображений может не иметь возможность декодировать поток битов надлежащим образом.

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