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

Иллюстрации

Показать все

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

Реферат

Область техники, к которой относится изобретение

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

Уровень техники

[0002] В общем, при обработке кодирования движущегося изображения объем информации сокращается посредством сжатия, для которого используется избыточность движущегося изображения в пространственном направлении и временном направлении. В общем, преобразование в частотную область выполняется в качестве способа, в котором используется избыточность в пространственном направлении, и кодирование с использованием прогнозирования между изображениями (прогнозирование в дальнейшем называется "взаимным прогнозированием") выполняется в качестве способа сжатия, для которого используется избыточность во временном направлении. При взаимном прогнозирующем кодировании текущее изображение кодируется с использованием, в качестве опорного изображения, кодированного изображения, которое предшествует или идет после текущего изображения в порядке времени отображения. Затем вектор движения извлекается посредством выполнения оценки движения для текущего изображения в отношении опорного изображения. После этого избыточность во временном направлении удаляется с использованием вычисленной разности между данными изображений для текущего изображения и данными прогнозных изображений, которые получаются посредством компенсации движения на основе извлеченного вектора движения (см., например, 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] Согласно аспекту настоящего изобретения, может повышаться эффективность кодирования при кодировании и декодировании изображений с использованием взаимного прогнозирования.

Краткое описание чертежей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 14A показывает примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.

Фиг. 14B показывает еще один примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.

Фиг. 14C показывает еще один примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.

Фиг. 14D показывает еще один примерный список возможных вариантов блоков объединения согласно первому варианту осуществления.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подробное описание вариантов осуществления

[0009] Базовая основа формирования знаний настоящего изобретения

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

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

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

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

[0013] С другой стороны, фиг. 1C показывает примерный список 1 (L1) опорных изображений для направления 1 прогнозирования при двунаправленном прогнозировании. В списке 1 опорных изображений индекс 1 опорного изображения, имеющий значение 0, назначается опорному изображению 1 с порядковым номером 1 отображения. Индекс 1 опорного изображения, имеющий значение 1, назначается опорному изображению 0 с порядковым номером 2 отображения. Индекс 2 опорного изображения, имеющий значение 2, назначается опорному изображению 2 с порядковым номером 0 отображения.

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

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

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

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

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

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

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

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

[0022] Здесь приводится описание случая, когда текущий блок кодируется с использованием копий направления прогнозирования, вектора движения и индекса опорного изображения, используемых для кодирования одного из соседних блоков A-D и совместно размещенного блока.

[0023] Соседний блок A является блоком, кодированным посредством однонаправленного прогнозирования в направлении 0 прогнозирования. Соседний блок A имеет вектор MvL0_A движения, имеющий направление 0 прогнозирования, в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL0_A опорного изображения направления 0 прогнозирования. Здесь MvL0 указывает вектор движения, который ссылается на опорное изображение, указываемое в списке 0 (L0) опорных изображений. MvL1 указывает вектор движения, который ссылается на опорное изображение, указываемое в списке 1 (L1) опорных изображений.

[0024] Соседний блок B является блоком, кодированным посредством однонаправленного прогнозирования в направлении 1 прогнозирования. Соседний блок B имеет вектор MvL1_B движения, имеющий направление 1 прогнозирования, в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL1_B опорного изображения направления 1 прогнозирования.

[0025] Соседний блок C является блоком, кодированным посредством внутреннего прогнозирования.

[0026] Соседний блок D является блоком, кодированным посредством однонаправленного прогнозирования в направлении 0 прогнозирования. Соседний блок D имеет вектор MvL0_D движения, имеющий направление 0 прогнозирования, в качестве вектора движения относительно опорного изображения, указываемого посредством индекса RefL0_D опорного изображения направления 0 прогнозирования.

[0027] В этом случае, например, набор из направления прогнозирования, вектора движения и индекса опорного изображения, посредством использования которого текущий блок может быть кодирован с наибольшей эффективностью кодирования, выбирается в качестве направления прогнозирования, вектора движения и индекса опорного изображения текущего блока из направлений прогнозирования, векторов движения и индексов опорных изображений соседних блоков A-D, и направления прогнозирования, вектора движения и индекса опорного изображения, которые вычисляются с использованием совместно размещенного блока в режиме временного прогнозирования векторов движения. Затем индекс возможного варианта блока объединения, указывающий выбранный блок, имеющий направление прогнозирования, вектор движения и индекс опорного изображения, присоединяется к потоку битов.

[0028] Например, когда выбирается соседний блок A, текущий блок кодируется с использованием вектора MvL0_A движения, имеющего направление 0 прогнозирования и индекс RefL0_A опорного изображения. Затем только индекс возможного варианта блока объединения, имеющий значение 0, который указывает использование соседнего блока A, как показано на фиг. 4, присоединяется к потоку битов. За счет этого уменьшается объем информации для направления прогнозирования, вектора движения и индекса опорного изображения.

[0029] Кроме того, в режиме объединения возможный вариант, который не может использоваться для кодирования (в дальнейшем называемый "неприменимым для объединения возможным вариантом"), и возможный вариант, имеющий набор из направления прогнозирования, вектора движения и индекса опорного изображения, идентичный набору из направления прогнозирования, вектора движения и индекса опорного изображения любого другого блока объединения (в дальнейшем называемый "идентичным возможным вариантом), удаляются из возможных вариантов блоков объединения, как показано на фиг. 4.

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

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

[0032] Индексы возможных вариантов блоков объединения кодируются посредством кодирования переменной длины посредством назначения битовых последовательностей согласно размеру каждого списка возможных вариантов блоков объединения, как показано на фиг. 5. Таким образом, в режиме объединения объем кода сокращается посредством изменения битовых последовательностей, назначаемых индексам режима объединения согласно размеру каждого списка возможных вариантов блоков объединения.

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

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

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

[0036] Фиг. 8 является блок-схемой последовательности операций способа, показывающей пример процесса для декодирования с использованием режима объединения. На этапе S2001 векторы движения, индексы опорных изображений и направления прогнозирования возможных вариантов блоков объединения получаются из соседних блоков и совместно размещенного блока. На этапе S2002 идентичные возможные варианты и неприменимые для объединения возможные варианты удаляются из возможных вариантов блоков объединения. На этапе S2003 общее число возможных вариантов блоков объединения после удаления задается в качестве размера списка возможных вариантов блоков объединения. На этапе S2004 индекс возможного варианта блока объединения, который должен использоваться для декодирования текущего блока, декодируется из потока битов с использованием размера списка возможных вариантов блоков объединения. На этапе S2005 декодирование текущего блока выполняется посредством формирования прогнозного изображения с использованием возможного варианта блока объединения, указываемого посредством декодированного индекса возможного варианта блока объединения.

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

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

[0039] Фиг. 10 показывает синтаксис для присоединения индексов возможных вариантов блоков объединения к потоку битов. На фиг. 10 merge_idx представляет индекс возможного варианта блока объединения, и merge_flag представляет флаг объединения. NumMergeCand представляет размер списка возможных вариантов блоков объединения. NumMergeCand задается равным общему числу возможных вариантов блоков объединения после того, как неприменимые для объединения возможные варианты и идентичные возможные варианты удаляются из возможных вариантов блоков объединения.

[0040] Кодирование или декодирование изображения выполняется с использованием режима объединения вышеописанным способом.

[0041] В схеме кодирования движущихся изображений, поясненной в NPL 2, предполагается, что прогнозное изображение формируется на основе блока кодирования (в дальнейшем в этом документе называемого "единицей кодирования (CU)"), т. е. CU имеет размер, идентичный размеру единицы прогнозного блока (в дальнейшем в этом документе называемого "PU"), которая является единицей для формирования прогнозного изображения.

[0042] Тем не менее прогнозное изображение может быть сформировано в расчете на PU, при этом каждая PU получается посредством разделения CU. Формирование прогнозного изображения в расчете на PU дает возможность формирования прогнозного изображения более высокой четкости.

[0043] Фиг. 11 показывает примерные случаи, в которых CU, имеющая размер 2Nx2N (N целое число), разделяется на множество PU.

[0044] Более конкретно на фиг. 11 (a)-(c) показывают случаи, в которых CU разделяется на два, т. е. на верхнюю часть и нижнюю часть. PU0, расположенная на вершине, упоминается в качестве сегмента 0, и PU1, расположенная в нижней части, упоминается в качестве сегмента 1. На фиг. 11 (a) показывает случай, когда каждая PU имеет размер 2NxN. На фиг. 11, (b) показывает случай, когда каждая PU имеет размер 2NxnU. На фиг. 11 (c) показывает случай, когда каждая PU имеет размер 2NxnD.

[0045] На фиг. 11 (d)-(f) показывают случаи, в которых CU разделяется на два, т. е. на левую часть и правую часть. PU0, расположенная слева, упоминается в качестве сегмента 0, и PU1, расположенная справа, упоминается в качестве сегмента 1. На фиг. 11 (d) показывает случай, когда каждая PU имеет размер Nx2N. На фиг. 11 (e) показывает случай, когда каждая PU имеет размер nLx2N. На фиг. 11 (f) показывает случай, когда каждая PU имеет размер nRx2N.

[0046] На фиг. 11 (g) показывает случай, когда каждая PU имеет размер NxN, т. е. CU разделяется на четыре (разделяется на два, т. е. на верхнюю и нижнюю часть, и на два, т. е. на левую и правую часть). В (g) по фиг. 11 верхняя левая PU0 упоминается в качестве сегмента 0, правая верхняя PU1 упоминается в качестве сегмента 1, левая нижняя PU2 упоминается в качестве сегмента 2, и нижняя правая PU3 упоминается в качестве сегмента 3.

[0047] На фиг. 11 (h) показывает случай, когда PU имеет размер 2Nx2N, т. е. CU имеет размер, идентичный размеру PU. В (h) по фиг. 11 PU0 упоминается в качестве сегмента 0.

[0048] Например, при кодировании в расчете на PU, когда PU получается посредством разделения CU, как описано выше, выполняется такая настройка, что соответствующие сегменты имеют различные направления прогнозирования, векторы движения и индексы опорных изображений, которые используются для формирования прогнозного изображения. Это обусловлено тем, что использование идентичного направления прогнозирования, вектора движения и индекса опорного изображения для всех сегментов приводит к результату, практически идентичному результату, полученному посредством формирования прогнозного изображения в расчете на CU. Это снижает преимущество, полученное посредством разделения CU на PU. При кодировании в расчете на PU, когда прогнозное изображение вычисляется посредством формирования векторов движения и т. п., и получается остаток прогнозирования, можно эффективно кодировать движущиеся изображения, имеющие сложные формы, посредством избирательного использования векторов движения и т. п., используемых для формирования прогнозного изображения из множества PU, показанных в (a)-(h) на фиг. 11.

[0049] Тем не менее в традиционном режиме объединения, при формировании прогнозного изображения посредством разделения CU на сегменты, возможные варианты блоков объединения вычисляются даже для соседних блоков в идентичной CU. Как описано выше, непредпочтительно применять идентичный вектор движения и т. п. к PU в идентичной CU. Следовательно, возможные варианты блоков объединения, полученные из векторов движения и т. п. соседних блоков в идентичной CU, являются избыточными. Таким образом, в традиционном режиме объединения возможные варианты блоков объединения получаются даже для соседних блоков в идентичной CU. Следовательно, индексы возможных вариантов блоков объединения также назначаются избыточным возможным вариантам блоков объединения, так что повышается число битов.

[0050] С учетом этого способ кодирования изображений согласно аспекту настоящего изобретения представляет собой способ кодирования изображений для формирования потока битов посредством кодирования изображения на поблочной основе. Способ включает в себя: разделение текущего блока, который должен быть кодирован, на множество субблоков; получение, для каждого из субблоков, одного или более возможных вариантов объединения, каждый из которых является набором возможных вариантов из направления прогнозирования, вектора движения и индекса опорного изображения, которые должны использоваться в качестве опорных при кодировании текущего блока; выбор возможного варианта объединения, который должен быть использован при кодировании текущего блока, из числа одного или более возможных вариантов объединения, полученных при получении; и добавление, в поток битов, индекса для идентификации возможного варианта объединения, выбранного при выборе. Получение включает в себя: определение (i) для каждого из соседних блоков, граничащих с субблоком, тог