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

Иллюстрации

Показать все

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

Реферат

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

[1] Устройства и способы, совместимые с примерными вариантами осуществления, относятся к кодированию и декодированию видео посредством использования слияния блоков для кодирования с предсказанием.

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

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

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

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

ТЕХНИЧЕСКАЯ ПРОБЛЕМА

[4] Предоставлены способ и устройство для кодирования видео посредством использования слияния блоков и способ и устройство для декодирования видео посредством использования слияния блоков.

РЕШЕНИЕ ПРОБЛЕМЫ

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

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

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

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

[8] Фиг. 3 является диаграммой, иллюстрирующей соседние блоки, которые могут быть слиты с текущим макроблоком согласно уровню техники;

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

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

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

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

[13] Фиг. 13 является диаграммой, иллюстрирующей соседние блоки данных, которые не сливаются с текущим фрагментом, согласно примерному варианту осуществления;

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

[15] Фиг. 15 является диаграммой, иллюстрирующей соседние блоки данных, которые могут не быть слиты с текущим фрагментом, который является фрагментом, имеющим геометрическую форму, согласно примерному варианту осуществления;

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

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

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

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

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

[21] Фиг. 21 является диаграммой для описания понятия блоков кодирования, согласно примерному варианту осуществления;

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

[23] Фиг. 23 является блок-схемой декодера изображения на основании блоков кодирования, согласно примерному варианту осуществления;

[24] Фиг. 24 является диаграммой, иллюстрирующей блоки кодирования согласно глубинам и фрагментам, согласно примерному варианту осуществления;

[25] Фиг. 25 является диаграммой для описания соотношения между блоком кодирования и блоками преобразования, согласно примерному варианту осуществления;

[26] Фиг. 26 является диаграммой для описания информации кодирования блоков кодирования, соответствующих кодированной глубине, согласно примерному варианту осуществления;

[27] Фиг. 27 является диаграммой, иллюстрирующей блоки кодирования согласно глубинам, согласно примерному варианту осуществления;

[28] Фиг. 28-30 являются диаграммами для описания соотношения между блоками кодирования, блоками предсказания и блоками преобразования, согласно примерному варианту осуществления;

[29] Фиг. 31 является диаграммой для описания соотношения между блоком кодирования, блоком предсказания и блоком преобразования, согласно информации режима кодирования из Таблицы 2;

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

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

ЛУЧШИЙ РЕЖИМ ДЛЯ ВЫПОЛНЕНИЯ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

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

РЕЖИМ ДЛЯ ИЗОБРЕТЕНИЯ

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

[41] Кодирование и декодирование видео, используя слияние блоков данных, согласно одному или более примерным вариантам осуществления, будут описаны ниже со ссылками на фиг. 1-18. Кодирование и декодирование видео, используя слияние блоков данных на основании кодирования блоков, имеющих структуру дерева, согласно одному или более примерным вариантам осуществления, описаны ниже со ссылками на фиг. 19-33.

[42] Устройство для кодирования видео, устройство для декодирования видео, способ кодирования видео и способ декодирования видео посредством использования слияния блоков данных, согласно одному или более примерным вариантам осуществления будут описаны ниже со ссылками на фиг. 1-18.

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

[44] Устройство 10 включает в себя модуль 11 определения режима кодирования, модуль 13 определения слияния блоков данных и 15 модуль определения информации кодирования. Для удобства описания устройство 10 для кодирования видео посредством использования слияния блоков данных упоминается как устройство 10 для кодирования видео.

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

[46] Модуль 11 определения режима кодирования может определять блок данных для кодирования картинки и может определять способ кодирования, который должен быть выполнен для каждого блока данных. В способе кодирования со сжатием видео, чтобы уменьшить размер данных посредством удаления избыточной части в видео данных, выполняется способ кодирования с предсказанием, используя соседние данные. Модуль 11 определения режима кодирования может определять правильный квадратный блок или фрагмент в правильным квадратном блоке в качестве блока (единицы) данных для кодирования с предсказанием.

[47] Модуль 11 определения режима кодирования может определять режим предсказания, указывающий способ кодирования с предсказанием, такой как внешний (интер-) режим, внутренний (intra-) режим, режим пропуска или непосредственный режим, для каждого блока данных. Кроме того, модуль 11 определения режима кодирования может определять дополнительные элементы, такие как направление предсказания или опорный индекс, полезный для кодирования с предсказанием согласно режиму предсказания блока данных.

[48] Модуль 11 определения режима кодирования может определять различные режимы кодирования, включающие в себя режим предсказания для кодирования с предсказанием, и связанные дополнительные элементы, и может соответственно кодировать видео данные.

[49] Модуль 13 определения слияния блоков данных может определить, сливается ли не только блок данных, режим предсказания которого является внешним режимом, но также и блок данных, режим предсказания которого является режимом пропуска или непосредственным режимом, из числа блоков данных, определенных блоком 11 определения режима кодирования, с по меньшей мере одним соседним блоком данных.

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

[51] Модуль 13 определения слияния блоков данных может определять по меньшей мере одну группу блоков данных - кандидатов, включающую в себя блок данных, который может быть слит с текущим блоком данных в областях, соседних с текущим блоком данных. Модуль 13 определения слияния блоков данных может искать один блок данных, который должен быть слит с текущим блоком данных, в по меньшей мере одной группе блоков данных - кандидатов. В этом случае одна группа блоков данных - кандидатов, включающая в себя блок данных, который может быть слит с текущим блоком данных, может быть определена в каждой области.

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

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

[54] Например, модуль 13 определения слияния блоков данных может искать блок данных, имеющий тот же опорный индекс как и текущий блок данных, в группе блоков данных - кандидатов, и может выбрать этот блок данных в качестве блока данных - кандидата, который должен быть слит с текущим блоком данных.

[55] Альтернативно, модуль 13 определения слияния блоков данных может искать блок данных, режим предсказания которого является внешним режимом в группе блоков данных - кандидатов, и может выбрать этот блок данных в качестве блока данных - кандидата, который должен быть слит с текущим блоком данных. Один блок данных может быть окончательно определен из числа блоков данных - кандидатов, выбранных таким образом в качестве блока данных - кандидата, который должен быть слит с текущим блоком данных.

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

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

[58] Кроме того, модуль 13 определения слияния блоков данных может искать и определить один блок данных, который должен быть слит с текущим блоком данных, в группе угловых блоков данных - кандидатов, включающей в себя верхний левый соседний блок данных, верхний правый соседний блок данных, и нижний левый соседний блок данных, контактирующих с углами текущего блока данных, в дополнение к группе левых блоков данных - кандидатов и группе верхних блоков данных - кандидатов текущего блока данных.

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

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

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

[62] Хотя фрагменты разделяют с целью более точного внешнего предсказания одного блока данных соседнего одного с другим, эти фрагменты могут не быть слиты друг с другом.

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

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

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

[66] Относящаяся к слиянию информация включает в себя информацию, используемую, чтобы выполнить слияние блоков данных или определить, выполнено ли слияние блоков данных. Например, относящаяся к слиянию информация может включать в себя информацию слияния, указывающую, должен ли текущий блок данных быть слит с соседним блоком данных, и информацию индекса слияния, указывающую блок данных, который должен быть слит. Модуль 15 определения информации кодирования может кодировать информацию слияния с помощью контекстного моделирования относительно комбинации ′режим предсказания и тип фрагмента соседнего блока данных′ и относительно того, ′сливаются ли текущий блок данных и соседний блок данных′.

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

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

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

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

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

[72] Модуль 15 определения информации кодирования может кодировать разностную информацию вектора движения блока данных на основании информации слияния, и может определить, кодируется ли вспомогательная информация предсказания блока данных.

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

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

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

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

[77] Если информация слияния кодируется, определяют, кодируется ли вспомогательная информация предсказания текущего блока данных, на основании информации слияния, и разностная информация вектора движения текущего блока данных кодируется, как описано выше в первом примерном варианте осуществления.

[78] Блок данных, полученный посредством разделения картинки, может включать в себя ′блок кодирования′, который является блоком (единицей) данных для кодирования картинки, ′блок предсказания′ для кодирования с предсказанием, и ′фрагмент′ для внешнего предсказания. Модуль 13 определения слияния блоков данных может определить, выполняется ли слияние с соседним блоком данных, для каждого блока кодирования, и модуль 15 определения информации кодирования может определять информацию режима пропуска и информацию слияния для каждого блока кодирования. Кроме того, модуль 13 определения слияния блоков данных может определить, выполняется ли слияние с соседним блоком данных, для каждого блока предсказания, и модуль 105 определения информации кодирования может определять информацию режима пропуска и информацию слияния для каждого блока предсказания.

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

[80] Модуль 15 определения информации кодирования может кодировать информацию режима пропуска для каждого режима предсказания и может кодировать относящуюся к слиянию информацию для каждого фрагмента. Кроме того, модуль 15 определения информации кодирования может кодировать как относящуюся к слиянию информацию так и информацию режима пропуска для каждого блока данных. Альтернативно, модуль 15 определения информации кодирования может установить относящуюся к слиянию информацию быть кодированной только для блока данных, имеющего заданный заранее определенный режим предсказания.

[81] Устройство 10 может определить слияние блоков данных между блоками кодирования, или определить слияние блоков данных между блоками предсказания. Кроме того, устройство 10 может выборочно кодировать информацию режима пропуска и информацию непосредственного режима. Соответственно, если режимом предсказания блока данных не является режим пропуска на основании информации режима пропуска блока данных, модуль 15 определения информации кодирования может кодировать по меньшей мере одну из информации кодирования режима пропуска/непосредственного режима, указывающей, кодирована ли информация непосредственного режима блока данных, информации определения слияния блоков кодирования, указывающей, определено ли наличие слияния между блоками кодирования, и информации определения слияния блоков предсказания, указывающей, определено ли наличие слияния между блоками предсказания.

[82] Фиг. 2 является блок-схемой устройства 20 для декодирования видео посредством использования слияния блоков данных, согласно примерному варианту осуществления.

[83] Устройство 20 включает в себя модуль синтаксического разбора/модуль извлечения 21 и модуль слияния/декодер 23 блока данных. Для удобства описания устройство 20 для декодирования видео посредством использования слияния блоков данных упоминается ′как устройство 20 для декодирования видео′.

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

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