Перекрестные ссылки на связанные заявки
Настоящая заявка испрашивает приоритет патентной заявки Кореи № 10-2011-0115607, поданной 8 ноября 2011, патентной заявки Кореи № 10-2011-0116527, поданной 9 ноября 2011, патентной заявки Кореи № 10-2011-0121428, поданной 21 ноября 2011, патентной заявки Кореи № 10-2011-0124813, поданной 28 ноября 2011, патентной заявки Кореи № 10-2011-0140861, поданной 23 декабря 2011, патентной заявки Кореи № 10-2012-0011412, поданной 3 февраля 2012, и патентной заявки Кореи № 10-2012-0126369, поданной 8 ноября 2012, все из которых включены в настоящий документ посредством ссылки во всей своей полноте.
Предпосылки изобретения
Область техники
[1] Настоящее изобретение относится к способу обработки видео и к устройству, использующему способ, и, более конкретно, к способу интерпредсказания и к устройству, использующему способ.
Предшествующий уровень техники
[2] Имеется растущая потребность в высококачественном видео высокого разрешения, таком как видео высокой четкости (HD) и сверхвысокой четкости (UHD) на хосте приложений. Поскольку количество данных, подлежащих обработке при высоком разрешении, и/или качество относительно велико по сравнению с обычными видеоданными, затраты на передачу и хранение соответственно увеличиваются, когда видеоданные передаются по существующим проводным или беспроводным линиям или сохраняются на обычном носителе хранения. Для решения проблем, вызванных высоким разрешением, высококачественными видеоданными, могут быть использованы высокоэффективные способы сжатия.
[3] Современные методы сжатия видео включают в себя метод интерпредсказания, который предсказывает пиксельные значения текущего видеокадра с использованием его предыдущего или последующего видеокадра, метод интрапредсказания, который предсказывает пиксельные значения текущего видео кадра с использованием пиксельной информации внутри текущего кадра, метод энтропийного кодирования, который назначает короткое кодовое слово пиксельным значениям с высокой частотой и назначает длинное кодовое слово пиксельным значениям с низкой частотой, и т.д. Видеоданные могут быть эффективно сжаты с использованием вышеуказанных методов сжатия видео и затем могут передаваться или сохраняться.
Сущность изобретения
[4] Целью настоящего изобретения является предложить способ выполнения интерпредсказания для блоков предсказания параллельным способом путем генерации одиночного списка кандидатов.
[5] Другой целью настоящего изобретения является предложить устройство для выполнения интерпредсказания для блоков предсказания параллельным способом путем генерации одиночного списка кандидатов.
[6] Для достижения вышеуказанной цели способ генерации списка кандидатов слияния для блоков предсказания согласно одному аспекту настоящего изобретения содержит получение на основе блока кодирования, включающего в себя блок предсказания, по меньшей мере одного кандидата слияния из пространственного кандидата слияния и временного кандидата слияния блока предсказания, для которого применима обработка параллельного слияния; и на основе полученного кандидата слияния - генерацию одного списка кандидатов слияния по отношению к блоку кодирования. Получение на основе блока кодирования, включающего в себя блок предсказания, по меньшей мере одного кандидата слияния из пространственного кандидата слияния и временного кандидата слияния блока предсказания, для которого применима обработка параллельного слияния, содержит получение блока пространственного кандидата слияния и блока временного кандидата слияния на основе пиксельной позиции и размера блока кодирования и получение информации, относящейся к предсказанию движения, доступного блока кандидата слияния из полученного блока пространственного кандидата слияния и блока временного кандидата слияния в качестве кандидата слияния. Способ генерации списка кандидатов слияния для блоков предсказания дополнительно содержит определение, может ли обработка параллельного слияния быть применена к блоку предсказания; и определение, может ли обработка параллельного слияния быть применена к блоку предсказания, содержит декодирование информации размера блока, к которому может быть применена обработка параллельного слияния, и определение, может ли обработка параллельного слияния быть применена к блоку предсказания на основе информации размера блока, к которому может быть применена обработка параллельного слияния, и информации размера блока кодирования. Получение информации, относящейся к предсказанию движения, доступного блока кандидата слияния из полученного блока пространственного кандидата слияния и блока временного кандидата слияния в качестве кандидата слияния содержит определение, принадлежат ли блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, к внутренней части блока, к которому может быть применена обработка параллельного слияния; и в случае, если блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, принадлежат к внутренней части блока, к которому может быть применена обработка параллельного слияния, определение блока пространственного кандидата слияния в качестве недоступного блока пространственного кандидата слияния. Определение, может ли обработка параллельного слияния быть применена к блоку предсказания на основе информации размера блока, к которому может быть применена обработка параллельного слияния, и информации размера блока кодирования содержит определение, является ли размер блока, к которому может быть применена обработка параллельного слияния, большим, чем предопределенный размер, определение, имеет ли блок кодирования конкретный размер, и в случае, если размер блока, к которому может быть применена обработка параллельного слияния, больше, чем предопределенный размер, и блок кодирования имеет предопределенный размер, определение, что слияние выполняется для блока предсказания с использованием одного списка кандидатов слияния. Способ генерации списка кандидатов слияния для блока предсказания дополнительно содержит получение блока пространственного кандидата слияния и блока временного кандидата слияния на основе пиксельной позиции и размера блока предсказания в случае, если к блоку предсказания не может быть применена обработка параллельного слияния; и получение информации, относящейся к предсказанию движения, доступного блока кандидата слияния из блока пространственного кандидата слияния и блока временного кандидата слияния, полученного как кандидат слияния. Получение информации, относящейся к предсказанию движения, доступного блока кандидата слияния из блока пространственного кандидата слияния и блока временного кандидата слияния, полученного как кандидат слияния, содержит определение, соответствует ли блок предсказания блоку, разделенному на одну из форм Nx2N, nLx2N и nRx2N, и соответствует ли блок предсказания второму блоку предсказания; и в случае, если блок предсказания соответствует блоку, разделенному на одну из форм Nx2N, nLx2N и nRx2N, и блок предсказания соответствует второму блоку предсказания, определение блока пространственного кандидата слияния, включенного в первый блок предсказания, в качестве недоступного блока. Получение информации, относящейся к предсказанию движения, доступного блока кандидата слияния из блока пространственного кандидата слияния и блока временного кандидата слияния, полученного как кандидат слияния, содержит определение, соответствует ли блок предсказания блоку, разделенному на одну из форм 2NxN, 2NxnU и 2NxnD, и соответствует ли блок предсказания второму блоку предсказания; и в случае, если блок предсказания соответствует блоку, разделенному на одну из форм 2NxN, 2NxnU и 2NxnD, и блок предсказания соответствует второму блоку предсказания, определение блока пространственного кандидата слияния, включенного в первый блок предсказания, в качестве недоступного блока.
[7] Для достижения вышеуказанной цели настоящего изобретения устройство декодирования видео согласно одному аспекту настоящего изобретения содержит модуль предсказания. Модуль предсказания получает на основе блока кодирования, включающего в себя блок предсказания, по меньшей мере один кандидат слияния из пространственного кандидата слияния и временного кандидата слияния блока предсказания, к которому может быть применена обработка параллельного слияния; и на основе полученного кандидата слияния генерирует один список кандидатов слияния по отношению к блоку кодирования. Для получения на основе блока кодирования, включающего в себя блок предсказания, по меньшей мере одного кандидата слияния из пространственного кандидата слияния и временного кандидата слияния блока предсказания, к которому может быть применена обработка параллельного слияния, модуль предсказания получает блок пространственного кандидата слияния и блок временного кандидата слияния на основе пиксельной позиции и размера блока кодирования и получает информацию, относящуюся к предсказанию движения, доступного блока кандидата слияния из полученного блока пространственного кандидата слияния и блока временного кандидата слияния в качестве кандидата слияния. Модуль предсказания определяет, может ли обработка параллельного слияния быть применена к блоку предсказания; и для определения, может ли обработка параллельного слияния быть применена к блоку предсказания, определяет на основе информации размера декодированного блока, к которому может быть применена обработка параллельного слияния, и информации размера блока кодирования, может ли обработка параллельного слияния быть применена к блоку предсказания. Модуль предсказания для получения информации, относящейся к предсказанию движения, доступного блока кандидата слияния из блока пространственного кандидата слияния и блока временного кандидата слияния, полученного в качестве кандидата слияния, определяет, принадлежат ли блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, к внутренней части блока, к которому может быть применена обработка параллельного слияния; и в случае, если блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, принадлежат к внутренней части блока, к которому может быть применена обработка параллельного слияния, определяет блок пространственного кандидата слияния как недоступный блок пространственного кандидата слияния. Для определения, может ли обработка параллельного слияния быть применена к блоку предсказания на основе информации размера блока, к которому может быть применена обработка параллельного слияния, и информации размера блока кодирования, модуль предсказания определяет, является ли размер блока, к которому может быть применена обработка параллельного слияния, большим, чем предопределенный размер, определяет, имеет ли блок кодирования конкретный размер, и в случае, если блок, к которому может быть применена обработка параллельного слияния, больше, чем предопределенный размер, и блок кодирования имеет конкретный размер, определяет, что слияние выполняется для блока предсказания с использованием одного списка кандидатов слияния. Модуль предсказания получает блок пространственного кандидата слияния и блок временного кандидата слияния на основе пиксельной позиции и размера блока предсказания в случае, если к блоку предсказания не может быть применена обработка параллельного слияния; и получает информацию, относящуюся к предсказанию движения, доступного блока кандидата слияния из полученного блока пространственного кандидата слияния и блока временного кандидата слияния в качестве кандидата слияния. Для получения информации, относящейся к предсказанию движения, доступного блока кандидата слияния из блока пространственного кандидата слияния и блока временного кандидата слияния, полученного как кандидат слияния, модуль предсказания определяет, соответствует ли блок предсказания блоку, разделенному на одну из форм Nx2N, nLx2N и nRx2N, и соответствует ли блок предсказания второму блоку предсказания; и в случае, если блок предсказания соответствует блоку, разделенному на одну из форм Nx2N, nLx2N и nRx2N, и блок предсказания соответствует второму блоку предсказания, определяет блок пространственного кандидата слияния, включенный в первый блок предсказания, как недоступный блок. Для получения информации, относящейся к предсказанию движения, доступного блока кандидата слияния из блока пространственного кандидата слияния и блока временного кандидата слияния, полученного в качестве кандидата слияния, модуль предсказания определяет, соответствует ли блок предсказания блоку, разделенному на одну из форм 2NxN, 2NxnU и 2NxnD, и соответствует ли блок предсказания второму блоку предсказания; и в случае, если блок предсказания соответствует блоку, разделенному на одну из форм 2NxN, 2NxnU и 2NxnD, и блок предсказания соответствует второму блоку предсказания, определяет блок пространственного кандидата слияния, включенный в первый блок предсказания, в качестве недоступного блока.
[8]
[9] В соответствии со способом совместного использования списка кандидатов и устройства, использующего способ согласно варианту осуществления настоящего изобретения, сложность, обусловленная интерпредсказанием, снижается, так как интерпредсказание выполняется при совместном использовании одного списка кандидатов среди множества блоков предсказания, разделенных из одного блока кодирования. Также, поскольку интерпредсказание выполняется параллельным способом для множества блоков предсказания, скорость обработки кодирования и декодирования может быть улучшена.
Краткое описание чертежей
[10] Фиг.1 - блок-схема, иллюстрирующая структуру устройства кодирования видео в соответствии с одним вариантом осуществления настоящего изобретения.
[11] Фиг.2 - блок-схема, иллюстрирующая структуру устройства декодирования видео в соответствии с другим вариантом осуществления настоящего изобретения.
[12] Фиг.3 - концептуальная схема, иллюстрирующая способ интерпредсказания с использованием слияния в соответствии с вариантом осуществления настоящего изобретения.
[13] Фиг.4 - концептуальная схема, иллюстрирующая случай, когда один блок кодирования разделен на два блока предсказания.
[14] Фиг.5 - концептуальная схема, иллюстрирующая интерпредсказание с использованием временного кандидата слияния и индекса опорного изображения временного кандидата слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[15] Фиг.6 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов слияния путем совместного использования как пространственного кандидата слияния, так и временного кандидата слияния во множестве блоков предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
[16] Фиг.7 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов слияния путем совместного использования только пространственного кандидата слияния во множестве блоков предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
[17] Фиг.8 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов слияния путем совместного использования только временного кандидата слияния во множестве блоков предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
[18] Фиг.9 - концептуальная схема, иллюстрирующая режим интерпредсказания с использованием AMVP.
[19] Фиг.10 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов предсказания вектора движения путем совместного использования как блока предсказания пространственного кандидата, так и блока предсказания временного кандидата во множестве блоков предсказания в соответствии с вариантом осуществления настоящего изобретения.
[20] Фиг.11 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов предсказания вектора движения путем совместного использования только блока пространственного кандидата во множестве блоков предсказания в соответствии с вариантом осуществления настоящего изобретения.
[21] Фиг.12 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов предсказания вектора движения путем совместного использования только блока предсказания временного кандидата во множестве блоков предсказания в соответствии с вариантом осуществления настоящего изобретения.
[22] Фиг.13 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[23] Фиг.14 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[24] Фиг.15 - концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[25] Фиг.16 - концептуальная схема, иллюстрирующая способ генерации списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[26] Фиг.17 - концептуальная схема, иллюстрирующая позицию пространственного кандидата слияния в соответствии с формой разделения блока кодирования согласно одному варианту осуществления настоящего изобретения.
[27] Фиг.18 - концептуальная схема, иллюстрирующая способ генерации списка кандидатов слияния в соответствии с вариантом осуществления настоящего изобретения.
[28] Фиг.19 - концептуальная схема, иллюстрирующая позицию пространственного кандидата слияния в соответствии с формой разделения блока кодирования согласно варианту осуществления настоящего изобретения.
[29] Фиг.20 - концептуальная схема, иллюстрирующая позицию пространственного кандидата слияния в соответствии с формой разделения блока кодирования согласно варианту осуществления настоящего изобретения.
[30] Фиг.21 - концептуальная схема, иллюстрирующая позицию пространственного кандидата слияния в соответствии с формой разделения блока кодирования согласно варианту осуществления настоящего изобретения.
[31] Фиг.22 - концептуальная схема, иллюстрирующая позицию пространственного кандидата слияния в соответствии с формой разделения блока кодирования согласно варианту осуществления настоящего изобретения.
[32] Фиг.23 - концептуальная схема, иллюстрирующая процедуру, посредством которой множество блоков предсказания декодируются и кодируются параллельным способом, когда используется способ генерации одного списка кандидатов в соответствии с вариантом осуществления настоящего изобретения.
Описание примерных вариантов осуществления
[33] Предпочтительные варианты осуществления настоящего изобретения будут описаны далее со ссылками на приложенные чертежи. При описании вариантов осуществления настоящего изобретения, если определено, что конкретные описания относительно структуры хорошо известных функций могут создать ложное представление о технических принципах настоящего изобретения, то соответствующие описания будут опущены.
[34] Если некоторый компонентный элемент упомянут как «связанный» или «соединенный» с другим компонентным элементом, то этот элемент может быть связан или соединен с другим элементом непосредственно, но также следует понимать, что между этими двумя элементами может существовать другой элемент. Также то, что понимается как «включенное» в настоящем изобретении, должно пониматься так, что оно не исключает других компонентов, иных, чем те, которые в явном виде включены в настоящий документ, и дополнительная структура может быть включена в вариант осуществления или в технический объем настоящего изобретения.
[35] Термины «первый», «второй» и т.п. могут быть использованы для описания различных компонентных элементов, но эти компонентные элементы не ограничены указанными терминами. Напротив, данные термины использованы только для различения одного компонентного элемента от других. Например, первый компонентный элемент может быть назван вторым компонентным элементом без отклонения от объема пунктов формулы изобретения, и наоборот.
[36] Между тем, компонентные элементы в вариантах осуществления настоящего изобретения проиллюстрированы независимо, чтобы описывать характерные функции, отличающиеся одна от другой, и, таким образом, не указывают, что каждый компонентный элемент содержит отдельные модули аппаратных средств или программного обеспечения. Иными словами, каждый компонентный элемент описан как таковой для удобства описания; таким образом, по меньшей мере два компонентных элемента могут образовывать один модуль, и в то же время один модуль может обеспечивать предназначенную функцию, когда он разделен на несколько подмодулей, и интегрированный вариант осуществления отдельных модулей и варианты осуществления, реализуемые подмодулями, все должны пониматься как охватываемые пунктами формулы в настоящем изобретении, если эти варианты осуществления принадлежат к техническому объему настоящего изобретения.
[37] В дополнение, некоторые компонентные элементы не являются критически важными для выполнения фундаментальных функций настоящего изобретения; напротив, они могут вводиться опционально, чтобы улучшить эффективность функций. Настоящее изобретение может быть реализовано с использованием только тех элементов, которые являются существенными для реализации технических принципов настоящего изобретения без использования опциональных элементов, используемых для повышения эффективности. Должно быть понятно, что конфигурации, содержащие только существенные элементы, исключая опциональные, используемые только для повышения эффективности, по-прежнему принадлежат к техническому объему настоящего изобретения.
[38]
[39] На Фиг.1 показана блок-схема, иллюстрирующая структуру устройства кодирования видео в соответствии с одним вариантом осуществления настоящего изобретения.
[40] Со ссылкой на Фиг.1 устройство 100 кодирования видео содержит модуль 111 предсказания движения, модуль 112 компенсации движения, модуль 120 интрапредсказания, переключатель 115, модуль 125 вычитания, модуль 130 преобразования, модуль 140 квантования, модуль 150 энтропийного кодирования, модуль 160 инверсного квантования, модуль 170 инверсного преобразования, сумматор 175, фильтр 180 и буфер 190 опорного изображения.
[41] Устройство 100 кодирования видео выполняет кодирование входного видео в интра- или интеррежиме и формирует битовый поток. В случае интрарежима переключатель 115 переключается на интрарежим, а в случае интеррежима переключатель 115 переключается на интеррежим. Устройство 100 кодирования видео, после получения блока предсказания по отношению к входному блоку, кодирует остаток между входным блоком и блоком предсказания.
[42] Интрарежим определен как режим внутрикартинного предсказания, а интеррежим определен как режим межкартинного предсказания; модуль 120 интрапредсказания может быть назван модулем внутрикартинного предсказания, в то время как модуль 111 предсказания движения и модуль 112 компенсации движения - модулем межкартинного предсказания.
[43] В случае интрарежима модуль 120 интрапредсказания выполняет пространственное предсказание с использованием пиксельных значений пред-кодированного блока относительно текущего блока и получает блок предсказания.
[44] В случае интеррежима модуль 111 предсказания движения может получить вектор движения путем поиска опорного кадра, сохраненного в буфере 190 опорного изображения, для области, наиболее совпадающей с входным блоком, в течение процесса предсказания движения. Модуль 112 компенсации движения может получать блок предсказания путем выполнения компенсации движения с использованием вектора движения.
[45] Модуль 125 вычитания получает остаточный блок на основе остатка между входным блоком и полученным блоком предсказания. Модуль 130 преобразования формирует коэффициенты преобразования путем выполнения преобразования над остаточным блоком. Здесь коэффициенты преобразования означают значения, полученные путем применения преобразования к остаточному блоку и/или остаточному сигналу. Для последующей части этого документа квантованные уровни коэффициентов преобразования, полученные применением квантования к коэффициентам преобразования, также могут называться коэффициентами преобразования.
[46] Модуль 140 квантования квантует входные коэффициенты преобразования в соответствии с коэффициентами квантования и выводит квантованные уровни коэффициентов преобразования.
[47] Модуль 150 энтропийного кодирования выполняет энтропийное кодирование на основе значений, полученных модулем 140 квантования, или параметрами кодирования, полученными с помощью процесса кодирования, и выводит битовый поток.
[48] В случае энтропийного кодирования малое количество битов назначаются символу с высокой вероятностью появления, в то время как большое количество битов назначаются символу с низкой вероятностью появления, тем самым уменьшая размер битового потока для символов, подлежащих кодированию. Поэтому эффективность сжатия кодирования видео может быть повышена посредством энтропийного кодирования. Модуль 150 энтропийного кодирования может использовать способ кодирования, такой как экспоненциальный код Голомба, CALVAC (контекстно-адаптивное кодирование переменной длины), CABAC (контекстно-адаптивное бинарное арифметическое кодирование) и т.д. для энтропийного кодирования.
[49] Поскольку устройство кодирования видео согласно варианту осуществления изобретения по Фиг.1 выполняет кодирование интерпредсказания, а именно, кодирование межкадрового предсказания, необходимо, чтобы текущий кодированный кадр был декодирован и сохранен, чтобы он мог быть использован как опорный кадр. Поэтому квантованные коэффициенты инверсно квантуются модулем 160 инверсного квантования и инверсно преобразуются модулем 170 инверсного преобразования. Инверсно квантованные, преобразованные коэффициенты добавляются к блоку предсказания посредством сумматора 175 и получается реконструированный (восстановленный) блок.
[50] Восстановленный блок проходит через фильтр 180, и фильтр 180 может применять по меньшей мере одно или более из деблокирующего фильтра, SAO (адаптивное к выборкам смещение) и ALF (адаптивный фильтр контура) к восстановленному блоку или восстановленному изображению. Восстановленный блок, который прошел через фильтр 180, может быть сохранен в буфере 190 опорного изображения.
[51]
[52] Фиг.2 является блок-схемой, иллюстрирующей структуру устройства декодирования видео, согласно другому варианту осуществления настоящего изобретения.
[53] Со ссылкой на Фиг.2 устройство 200 декодирования видео содержит модуль 210 энтропийного декодирования, модуль 220 инверсного квантования, модуль 230 инверсного преобразования, модуль 240 интрапредсказания, модуль 250 компенсации движения, сумматор 255, фильтр 260 и буфер 270 опорного изображения.
[54] Устройство 200 декодирования видео принимает битовый поток, выведенный из кодера, и выполняет декодирование в интра- или интеррежиме и формирует реконфигурированное видео, а именно, восстановленное видео. В случае интрарежима переключатель переключается в интрарежим, в то время как в случае интеррежима переключатель переключается в интеррежим. Устройство 200 декодирования видео получает восстановленный остаточный блок из входного битового потока и получает блок предсказания и формирует реконфигурированный блок, а именно, восстановленный блок, путем суммирования остаточного блока и блока предсказания.
[55] Модуль 210 энтропийного декодирования применяет энтропийное декодирование к входному битовому потоку в соответствии с распределением вероятности и формирует символы в форме квантованных коэффициентов. Способ энтропийного декодирования подобен способу энтропийного кодирования, описанному выше.
[56] В случае, когда применяется способ энтропийного декодирования, малое число битов назначаются символу с высокой вероятностью появления, в то время как большое количество битов назначается символу с низкой вероятностью появления, тем самым сокращая размер битового потока для каждого символа. Поэтому эффективность сжатия декодирования видео может быть повышена с помощью энтропийного декодирования.
[57] Квантованные коэффициенты инверсно квантуются посредством модуля 220 инверсного квантования и инверсно преобразуются посредством модуля 230 инверсного преобразования; реконструированный остаточный блок получается, когда квантованные коэффициенты инверсно квантуются/инверсно преобразуются.
[58] В случае интрарежима модуль 240 интрапредсказания получает блок предсказания путем выполнения пространственного предсказания с использованием пиксельных значений пред-декодированного блока вокруг текущего блока. В случае интеррежима модуль 250 компенсации движения получает блок предсказания путем выполнения компенсации движения с использованием вектора движения и опорного кадра, сохраненного в буфере 270 опорного кадра.
[59] Восстановленный остаточный блок и блок предсказания суммируются с помощью сумматора 255 и суммарный блок пропускается через фильтр 260. Фильтр 260 применяет по меньшей мере одно или более из деблокирующего фильтра, SAO и ALF к восстановленному блоку или изображению. Фильтр 260 выводит реконфигурированный кадр, а именно, восстановленный кадр. Восстановленный кадр сохраняется в буфере 270 опорного кадра и используется для интерпредсказания.
[60] Способы повышения эффективности предсказания устройства кодирования/декодирования включают в себя способ повышения точности интерполированного кадра видео и способ предсказания разностного сигнала. В настоящем изобретении «разностный сигнал» может заменяться на «остаточный блок» или «разностный блок», в зависимости от контекста, и специалисту в данной области техники должно быть понятно, что термины могут различаться друг от друга, не оказывая влияния на технические принципы настоящего изобретения.
[61] В варианте осуществления настоящего изобретения единица кодирования (CU), единица предсказания (PU) или единица преобразования (TU) могут использоваться, чтобы ссылаться на единицу обработки видеокадра.
[62] Единица кодирования - это единица обработки видео, с которой может выполняться кодирование/декодирование, и включает в себя блок кодирования, который является поблочным набором выборок яркости или выборок цветности, к которому применяется кодирование/декодирование, и информацию, используемую для кодирования или декодирования выборок блока кодирования.
[63] Единица предсказания - это единица обработки видео, с которой выполняется предсказание, включающая в себя блок предсказания, который является поблочным набором выборок яркости или выборок цветности, к которому применяется предсказание, и информацию, используемую для предсказания выборок блока предсказания. Блок кодирования может быть разделен на множество блоков предсказания.
[64] Единица преобразования - это единица обработки видео, с которой выполняется преобразование, включающая в себя блок преобразования, который является поблочным набором выборок яркости или выборок цветности, к которому применяется преобразование, и информацию, используемую для преобразования выборок блока преобразования. Блок кодирования может быть разделен на множество блоков преобразования.
[65] В последующем описании, если явно не сформулировано иное, блок и единица интерпретируются так, чтобы иметь то же самое значение.
[66] Таким образом, текущий блок относится к блоку, для которого выполняется конкретная обработка видео, такому как блок предсказания, для которого в текущий момент выполняется предсказание, или блок кодирования, для которого в текущий момент выполняется кодирование. Например, в случае, когда один блок кодирования разделяется на два блока предсказания, один из двух блоков, для которых выполняется предсказание, может быть назван текущим блоком.
[67] Способ кодирования видео и способ декодирования видео, которые будут описаны далее в варианте осуществления настоящего изобретения, могут быть выполнены в индивидуальных модулях, включенных в устройство кодирования видео и устройство декодирования видео, описанные выше со ссылками на Фиг.1 и 2. Каждый из индивидуальных модулей может включать в себя программный модуль обработки, который может быть выполнен как алгоритм или как аппаратный модуль обработки.
[68]
[69] Далее, способ для генерации списка кандидатов слияния, описанный в варианте осуществления настоящего изобретения, может быть использован как в режиме пропуска в способе обработки видео, так и слияния, которое является одним из способов интерпредсказания. Режим пропуска является способом обработки видео, который выводит блок, предсказанный на основе информации предсказания движения, полученной из соседнего блока в качестве блока реконструкции, без генерации остаточного блока. Слияние, которое является одним из способов интерпредсказания, представляет собой способ обработки видео, который является таким же, как и режим пропуска, в том смысле, что предсказанный блок генерируется на основе информации предсказания движения, полученной из соседнего блока, и блока предсказания путем дополнительного кодирования и декодирования информации остаточного блока. Способ фильтрации в контуре, такой как фильтрация деблокирования и адаптивное к выборкам смещение, может быть применен дополнительно к формируемому блоку реконструкции.
[70] На Фиг.3 показана концептуальная диаграмма, иллюстрирующая способ интерпредсказания с использованием слияния в соответствии с вариантом осуществления настоящего изобретения.
[71] Со ссылкой на Фиг.3 интерпредсказание, основанное на слиянии, выполняется так, как описано ниже.
[72] Интерпредсказание, основанное на слиянии, относится к способу выполнения интерпредсказания, получающему кандидатов слияния из соседних блоков вокруг текущего блока, и выполнения интрапредсказания с использованием кандидатов слияния. Соседние блоки, используемые для получения кандидатов слияния, могут быть классифицированы на блоки, смежные с текущим блоком, принадлежащие к тому же изображению, что и текущий блок, и блоки, принадлежащие к другому изображению, иному, чем текущий блок, но расположенные рядом с текущим блоком.
[73] В последующем описании настоящего изобретения блок пространственного кандидата слияния определен как блок среди соседних блоков, используемых для получения кандидатов слияния, который является смежным с текущим блоком и принадлежит тому же самому изображению, что и текущий блок. При этом информация, относящаяся к предсказанию движения, полученная из блока пространственного кандидата слияния, называется пространственным кандидатом слияния. Блок временного кандидата слияния определен как блок среди соседних блоков, используемых для получения кандидатов слияния, который расположен рядом с текущим блоком, но принадлежит другому изображению, чем текущий блок. Информация, относящаяся к предсказанию движения, полученная из блока временного кандидата слияния, называется временным кандидатом слияния.
[74] Иными словами, способ интерпредсказания, использующий слияние, может быть описан как способ интерпредсказания, который предсказывает текущий блок с использованием информации, относящейся к предсказанию движения, блока пространственного кандидата слияния (пространственного кандидата слияния), или информации, относящейся к предсказанию движения, блока временного кандидата слияния (временного кандидата слияния), как будет описано ниже.
[75] Вектор движения (mvL0/L1), индекс опорного изображения (refIdxL0/L1) и информация использования списка опорных изображений (predFlagL0/L1) могут быть использованы для информации, относящейся к предсказанию движения. Фиг.3А иллюстрирует вектор движения (mvL0/L1), индекс опорного изображения (refIdxL0/L1) и информацию использования списка опорных изображений (predFlagL0/L1).
[76] Вектор 304 движения обеспечивает информацию направленности и используется для блока предсказания, чтобы получить пиксельную информацию, относящуюся к конкретному положению опорного изображения, когда выполняется интерпредсказание. В случае, когда интерпредсказание выполняется в блоке предсказания с использованием множества информаций направленности, вектор движения для каждого направления может быть представлен с использованием mvL0 и mvL1.
[77] Индекс 306 опорного изображения обеспечивает информацию индекса об опорном изображении для блока предсказания, чтобы выполнить интерпредсказание. В случае, если интерпредсказание выполняется с использованием множества опорных изображений, каждое используемое опорное изображение может быть проиндексировано с использованием индекса опорного изображения refIdxL0 и refIdxL1.
[78] Информация использования списка опорных изображений указывает, из какого списка 308 опорных изображений получено опорное изображение. Например, изображение i, j, k может быть сохранено в списке 0 308 опорных изображений. В случае, если имеется два списка, в которых сохранено опорное изображение, информация, указывающая список опорных изображений, из которого получено опорное изображение, может быть представлена посредством predFlagL0 и predFlagL1.
[79] Для того, чтобы выполнить способ интерпредсказания с использованием слияния, прежде всего должен быть получен пространственный кандидат слияния на этапе (1) ниже. На Фиг.3В показаны пространственный кандидат слияния и временной кандидат слияния.
[80]
[81] (1) Пространственный кандидат слияния получается из блоков, смежных с текущим блоком (целевой блок предсказания).
[82] Как описано выше, пространственный кандидат слияния обеспечивает информацию, относящуюся к предсказанию движения, полученную из блока пространственного кандидата слияния. Блок пространственного кандидата слияния может быть получен по отношению к положению текущего блока.
[83] Со ссылкой на Фиг.3В существующие блоки 300, 310, 320, 330, 340 пространственных кандидатов слияния получены по отношению к блоку предсказания. Предположим, что положение пикселя сверху слева от блока предсказания есть (xP, yP); ширина блока предсказания nPbW; высота блока предсказания nPbH; MinPbSize представляет размер наименьшего блока предсказания. Тогда в последующем описании настоящего изобретения блок пространственного кандидата слияния блока предсказания описывает блок, содержащий пиксель в (xP-1, yP+nPbH), как левый первый блок (или А0 блок, 300); блок, содержащий пиксель в (xP-1, yP+nPbH-1), как левый второй блок (или А1 блок, 310); блок, содержащий пиксель в (xP+nPbW, yP-1), как верхний первый блок (или В0 блок, 320); блок, содержащий пиксель в (xP+nPbW-1, yP-1), как верхний второй блок (или В1 блок, 330); и блок, содержащий пиксель в (xP-1, yP-1), как верхний третий блок (или В2 блок, 340). Вместо использования 1 в качестве индекса, другое значение, например, “MinPbSize” может быть использовано, и в этом случае также могут быть проиндексированы блоки в том же самом физическом положении. Координаты, используемые для специфицирования блоков в конкретном положении, выбираются произвольно, и те же самые блоки могут быть специфицированы с использованием различных других выражений.
[84] Положения и количество блоков 300, 310, 320, 330, 340 пространственных кандидатов слияния и положения и количество блоков 360, 370 временных кандидатов слияния, описанных на Фиг.3, являются произвольными; поэтому положения и количество блоков пространственных кандидатов слияния и положения и количество блоков временных кандидатов слияния могут варьироваться, при условии, что они остаются в пределах технического объема настоящего изобретения. Также порядок сканирования блоков кандидатов слияния во время создания списка кандидатов слияния может изменяться. Иными словами, в последующем описании положения, количество, порядок сканирования, группа предсказания кандидатов из блоков предсказания кандидатов, используемых во время создания списка векторов движения предсказания кандидатов, описанные в варианте осуществления настоящего изобретения, являются лишь примером, который может изменяться при условии нахождения в пределах технического объема настоящего изобретения.
[85] Определяется доступность блока 300, 310, 320, 330, 340 пространственного кандидата слияния, и из доступного блока пространственного кандидата слияния может быть получен пространственный кандидат слияния. Информация доступности предоставляет информацию, указывающую, может ли пространственный кандидат слияния быть получен из блока пространственного кандидата слияния. Например, если блок пространственного кандидата слияния расположен вне слайса, элемента мозаики или изображения (картинки), к которым принадлежит текущий блок или выполнялось интрапредсказание для блока пространственного кандидата слияния, пространственный кандидат слияния, который является информацией, относящейся к предсказанию движения, не может быть получен; в этом случае может быть определено, что блок пространственного кандидата слияния недоступен. Для определения доступности информации о пространственном кандидате слияния могут быть использованы различные способы. Дополнительное описание будет предоставлено для такого варианта осуществления.
[86] Информация, относящаяся к предсказанию движения, может быть получена для доступного блока пространственного кандидата слияния и использована для предсказания текущего блока.
[87] Один блок кодирования может быть разделен на по меньшей мере один блок предсказания. Иными словами, блок кодирования может включать в себя один или более блоков предсказания. В случае, если более одного блока предсказания включено в блок кодирования, блок предсказания может быть проиндексирован конкретной индексной информацией. Например, если один блок кодирования разделен на два блока предсказания, то два блока предсказания могут быть проиндексированы путем назначения индекса 0 разделения одному из блоков и назначения индекса 1 разделения другому блоку. Другие термины могут быть использованы таким образом, что блок индекса 0 разделения определяется как первый блок предсказания, а блок индекса 1 разделения определяется как второй блок предсказания. Если один блок кодирования дополнительно делится на два дополнительных блока предсказания, то индексное значение, специфицирующее блоки предсказания, может быть соответственно увеличено. Термины, определенные для специфицирования блоков предсказания, выбираются произвольно; поэтому они могут использоваться или интерпретироваться по-другому.
[88] Индекс разделения блока предсказания может быть использован в качестве информации для описания порядка обработки видео, такой как кодирование или декодирование, выполняемое посредством блока предсказания. Также в последующем способ совместного использования одного списка кандидатов согласно варианту осуществления настоящего изобретения описывает параллельный процесс слияния путем определения заново блока, к которому может быть применена параллельная обработка слияния. Блок, к которому может быть применена параллельная обработка слияния, может быть определен как единица, включающая в себя по меньшей мере один блок кодирования или множество блоков предсказания, что будет дополнительно описано ниже.
[89] В случае получения пространственного кандидата слияния для каждого блока предсказания, если один блок кодирования делится на три блока предсказания, пространственный кандидат слияния должен быть получен для каждого блока. В этом случае пространственный кандидат слияния для другого блока предсказания должен ожидать того, чтобы быть полученным, пока не завершится кодирование или декодирование одного блока предсказания, включенного в один блок кодирования. Это объясняется тем, что некоторый блок 310 пространственного кандидата слияния включен в другой блок предсказания, и разрешается получать блок пространственного кандидата слияния только тогда, когда соответствующий блок предсказания заканчивает кодирование или декодирование, а другой блок пространственного кандидата слияния, расположенный в некоторой позиции, еще не выполнял кодирование или декодирование. Иными словами, в случае блока кодирования, включающего в себя множество блоков предсказания, кодирование или декодирование каждого из блоков предсказания не может выполняться параллельным способом. Фиг.4 иллюстрирует вышеуказанную проблему более детально.
[90]
[91] На Фиг.4 показана концептуальная диаграмма, иллюстрирующая случай, где один блок кодирования разделен на два блока предсказания.
[92] Со ссылкой на Фиг.4 один блок кодирования разделен на первый блок 400 предсказания и второй блок 420 предсказания, оба из которых имеют форму N x 2N. Пространственный кандидат слияния первого блока 400 предсказания получен на основе позиции первого блока предсказания, как показано на Фиг.4А, в то время как блок пространственного кандидата слияния второго блока 420 предсказания получен на основе позиции второго блока 420 предсказания, как показано на Фиг.4В. Хотя блоки временных кандидатов слияния не показаны, временной кандидат слияния получается на основе позиции каждого блока предсказания.
[93] Блок пространственного кандидата слияния первого блока 400 предсказания является блоком, расположенным вне первого блока 400 предсказания, и позиционирован, где кодирование или декодирование уже завершено.
[94] Однако А1 блок 430 из блоков пространственных кандидатов слияния второго блока 420 предсказания принадлежит к внутренней области первого блока 400 предсказания. Поэтому после того, как предсказание первого блока 400 предсказания выполнено, может быть известной информация, относящаяся к предсказанию движения, А1 блока 430. Иными словами, процедура генерации списка кандидатов слияния второго блока 420 предсказания выполняется после того, как список кандидатов слияния первого блока 400 предсказания сгенерирован.
[95] Фиг.4С иллюстрирует порядок генерации списка кандидатов слияния, когда один блок кодирования разделен на два блока предсказания.
[96] Со ссылкой на Фиг.4С в случае, если один блок кодирования разделен на множество блоков предсказания в течение кодирования или декодирования, процесс генерации списка кандидатов слияния по множеству блоков предсказания не может выполняться параллельным образом, а вместо этого процесс генерации списка кандидатов слияния по множеству блоков предсказания может выполняться последовательно для каждого из блоков предсказания.
[97] Способ совместного использования списка кандидатов слияния и устройство, использующее способ, согласно варианту осуществления настоящего изобретения, описывают способ для множества блоков предсказания, разделенных из одного блока кодирования, чтобы совместно использовать список кандидатов слияния в получении пространственного и временного кандидата слияния. Список кандидатов слияния, совместно используемый множеством блоков предсказания, определен в терминах одного списка кандидатов слияния.
[98] Иными словами, настоящее изобретение обеспечивает способ для выполнения интерпредсказания с использованием множества блоков предсказания на основе одного списка кандидатов слияния пары блоков предсказания, включенных в блоки кодирования, разделенные из одного блока кодирования. Сложность, вследствие генерации списка кандидатов слияния несколько раз для индивидуальных блоков предсказания, может быть снижена путем использования одного списка кандидатов слияния. Также, кодирование или декодирование множества блоков предсказания, разделенных в пределах одного блока кодирования, который выполняет интерпредсказание путем слияния, может выполняться параллельно.
[99] Далее способ генерации одного списка кандидатов слияния будет дополнительно описан в варианте осуществления настоящего изобретения.
[100] (2) Конфигурируется индекс опорного изображения временного кандидата слияния.
[101] Временной кандидат слияния обеспечивает информацию, относящуюся к предсказанию движения, полученную из изображения, содержащего текущий блок, и блока временного кандидата слияния, принадлежащего к другому изображению. Блок временного кандидата слияния получают на основе блока в рядом расположенной позиции по отношению к позиции текущего блока. Термин «блок вызова» также может быть использован в том же смысле, что и блок временного кандидата слияния.
[102] Вновь со ссылкой на Фиг.3, если блок, включающий в себя пиксель при (xP+nPSW,yP+nPSH) в рядом расположенном изображении текущего блока предсказания, или блок, включающий в себя пиксель при (xP+nPSW,yP+nPSH), не доступен по отношению к пиксельной позиции (xP,yP) в пределах изображения, включающего в себя блок предсказания, то блок 360, 370 временного кандидата слияния может служить в качестве блока, включающего в себя пиксель при (xP+(nPSW>>1),yP+(nPSH>>1)). Блок предсказания, включающий в себя пиксель при (xP+nPSW,yP+nPSH) в рядом расположенном изображении, называется первым блоком временного кандидата слияния (или первым, рядом расположенным блоком 360), а блок предсказания, включающий в себя пиксель при (xP+(nPSW>>1),yP+(nPSH>>1)) в рядом расположенном изображении, называется вторым блоком 370 временного кандидата слияния. Положение конечного блока временного кандидата слияния, используемого для получения пространственного кандидата слияния (информации, относящейся к предсказанию движения), может соответствовать блоку, расположенному в положении, немного сдвинутом по отношению к позициям первого 360 и второго 370 блоков временных кандидатов слияния. Например, в случае, если только часть информации, относящейся к предсказанию движения, блока предсказания, принадлежащего к рядом расположенному изображению, сохранена в памяти, то блок, расположенный в положении, немного сдвинутом по отношению к позициям первого 360 и второго 370 блоков временных кандидатов слияния, может быть использован в качестве конечного блока временного кандидата слияния, который выводит конечную информацию, относящуюся к предсказанию движения. Тем же самым способом, что и для блока пространственного кандидата слияния, позиция блока временного кандидата слияния может быть изменена или расширена иным образом, чем на Фиг.3, и вариант осуществления, описывающий этот случай, будет представлен ниже.
[103] Индекс опорного изображения временного кандидата слияния обеспечивает информацию, специфицирующую изображение, являющееся опорным для текущего блока, чтобы выполнять интерпредсказание на основе вектора движения (mvLXCol), полученного из временного кандидата слияния.
[104]
[105] На Фиг.5 показана концептуальная диаграмма, иллюстрирующая интерпредсказание с использованием временного кандидата слияния и индекса опорного изображения временного кандидата слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[106] Со ссылкой на Фиг.5 могут быть определены текущий блок 500, изображение 510, включающее в себя текущий блок, блок 520 временного кандидата слияния и рядом расположенное изображение 530, включающее в себя блок вызова.
[107] В отношении блока 520 временного кандидата слияния, имеется изображение 540, используемое для блока временного кандидата слияния, чтобы применять интерпредсказание для блока 520 временного кандидата слияния. Такое изображение определено как опорное изображение 540 рядом расположенного изображения 530. Также, вектор движения, используемый для блока 520 временного кандидата слияния, чтобы выполнять интерпредсказание для опорного изображения 540 рядом расположенного изображения, может быть определен как mvCol 570.
[108] По отношению к текущему блоку 500 должно быть определено опорное изображение 560, используемое для интерпредсказания текущего блока 500 на основе полученного mvCol 570. Опорное изображение, определенное для использования для интерпредсказания текущего блока 500, может называться опорным изображением 560 временного кандидата слияния. Иными словами, опорный индекс 560 временного кандидата слияния используется, чтобы специфицировать опорное изображение, используемое для временного предсказания движения текущего блока 500. Этап (2) получает индекс опорного изображения временного кандидата слияния, как описано выше.
[109] Вектор mvCol 570 движения, полученный из блока 520 временного кандидата слияния, может быть масштабирован и модифицирован в другое значение, соответственно соотношению расстояния между рядом расположенным изображением 530 и опорным изображением 540 рядом расположенного изображения и расстояния между изображением 510, включающим в себя текущий блок 4, и опорным изображением 560 временного кандидата слияния, полученного на этапе (2).
[110] Иными словами, интерпредсказание посредством временного кандидата слияния текущего блока 500 может выполняться посредством mvLXCol 580, полученного на этапе (3), описанном ниже, что основано на индексе 560 опорного изображения временного кандидата слияния, полученного на этапе (2), и индексе 560 опорного изображения временного кандидата слияния. mvLXCol может быть определен как временной вектор движения.
[111] (3) Получение информации, относящейся к предсказанию движения, временного кандидата слияния.
[112] На этапе (3) получают временной кандидат слияния как, например, информацию о том, является ли доступным блок временного кандидата слияния, информацию использования списка опорных изображений (predFlagLXCol) и информацию вектора движения временного кандидата слияния, чтобы выполнять предсказание движения на основе временного кандидата слияния. Информация доступности блока временного кандидата слияния обеспечивает информацию о том, может ли временной кандидат слияния быть получен из блока временного кандидата слияния. На основе информации доступности блока временного кандидата слияния временной кандидат слияния может быть включен в список кандидатов слияния.
[113] (4) Получение списка кандидатов слияния.
[114] Список кандидатов слияния включает в себя информацию о кандидате слияния, который может быть использован для интерпредсказания посредством слияния на основе информации доступности блока кандидата слияния (блока пространственного кандидата слияния или блока временного кандидата слияния). Один кандидат слияния, включенный в список кандидатов слияния, может быть использован для предсказания текущего блока. Информация о том, какой кандидат слияния использован для предсказания текущего блока (индекс слияния), кодируется в процессе кодирования и передается к декодеру.
[115] Список кандидатов слияния может быть сгенерирован в соответствии с приоритетами, как описано ниже.
[116] 1) Кандидат слияния, полученный из А1 блока, в случае, когда А1 блок доступен
[117] 2) Кандидат слияния, полученный из В1 блока, в случае, когда В1 блок доступен
[118] 3) Кандидат слияния, полученный из В0 блока, в случае, когда В0 блок доступен
[119] 4) Кандидат слияния, полученный из А0 блока, в случае, когда А0 блок доступен
[120] 5) Кандидат слияния, полученный из В2 блока, в случае, когда В2 блок доступен.
[121] 6) Кандидат слияния, полученный из Col блока, в случае, когда Col блок доступен.
[122] Список кандидатов слияния может включать в себя, например, от 0 до 5 кандидатов слияния, согласно количеству доступных блоков. В случае, если больше блоков участвуют в получении кандидатов слияния, больше кандидатов слияния может быть включено в список кандидатов слияния.
[123] Дополнительные кандидаты слияния получаются в случае, если количество кандидатов слияния, включенных в список кандидатов слияния, меньше, чем максимальное количество кандидатов слияния, которое может быть включено в список кандидатов слияния.
[124] Дополнительный кандидат слияния может быть либо кандидатом слияния, сгенерированным путем объединения информации, относящейся к предсказанию движения, существующих кандидатов слияния, либо кандидатом слияния нулевого вектора. При этом кандидат слияния нулевого вектора относится к кандидату слияния, у которого вектор движения равен (0,0).
[125] (6) Среди кандидатов слияния, включенных в список кандидатов слияния, определяется кандидат слияния, применимый для интерпредсказания текущего блока, и информация, относящаяся к предсказанию движения, кандидата слияния устанавливается как информация, относящаяся к предсказанию движения, текущего блока.
[126] В процессе декодирования интерпредсказание путем слияния может выполняться для текущего блока на основе индекса слияния (merge_idx[xP][yP]), который является информацией о том, какой кандидат использован для интерпредсказания текущего блока из кандидатов, включенных в список кандидатов слияния.
[127] Информация, относящаяся к предсказанию движения, для текущего блока получается посредством процедур (1) - (6), описанных выше, и интерпредсказание для текущего блока выполняется с использованием полученной информации, относящейся к предсказанию движения.
[128] В последующем описании дополнительно описывается способ, которым выполняется процесс параллельного слияния для по меньшей мере одного блока предсказания путем получения одного списка кандидатов слияния для по меньшей мере одного блока предсказания, включенного в один блок кодирования, при использовании способа для получения пространственного кандидата слияния из блока пространственного кандидата слияния текущего блока (целевого блока предсказания) этапа (1). В последующем описании вариант осуществления настоящего изобретения предполагает для удобства описания, что один блок кодирования разделен на множество блоков предсказания; однако вариант осуществления может быть равным образом применим к случаю, когда один блок кодирования не разделен, а размер блока кодирования равен размеру блока предсказания.
[129] Следующий вариант осуществления описывает способ создания одного списка кандидатов слияния по отношению к пространственному и временному кандидату слияния. Однако таким же образом, как в случае, когда кандидат слияния, сгенерированный объединением информации, относящейся к предсказанию движения, пространственного и/или временного кандидатов слияния, добавляется к списку кандидатов слияния, или нулевой кандидат слияния добавляется к списку кандидатов слияния, способ может быть применен так, что множество блоков предсказания, разделенных из одного блока кодирования, используют один список кандидатов слияния, определенный на основе блока кодирования.
[130] Для создания одного списка кандидатов слияния, множество блоков предсказания могут совместно использовать 1) как пространственный кандидат слияния, так и временной кандидат слияния, 2) только пространственный кандидат слияния или 3) только временной кандидат слияния. В случаях 2) и 3) один список кандидатов слияния для блока предсказания может отличаться от другого, однако, поскольку только часть кандидатов используется совместно, термин «один кандидат слияния» определен и используется повсеместно для удобства.
[131] Более конкретно, список кандидатов слияния может совместно использоваться среди блоков предсказания, отличающихся друг от друга, путем использования:
[132] (1) способа генерации одного списка кандидатов слияния, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют как пространственный, так и временной кандидат слияния, определенный на основе блока кодирования;
[133] (2) способа генерации одного списка кандидатов слияния, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только пространственный кандидат слияния, а временной кандидат слияния использует блок, полученный по каждому из блоков предсказания;
[134] (3) способа генерации одного списка кандидатов слияния, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только временной кандидат слияния, а пространственный кандидат слияния использует блок, полученный по каждому из блоков предсказания.
[135]
[136] На Фиг.6 представлена концептуальная схема, иллюстрирующая способ генерации одного списка кандидатов слияния путем совместного использования как пространственного кандидата слияния, так и временного кандидата слияния во множестве блоков предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
[137] Фиг.6 описывает способ генерации одного списка кандидатов слияния, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют как пространственный, так и временной кандидат слияния, определенный на основе блока кодирования.
[138] Со ссылкой на Фиг.6 первый блок 600 предсказания и второй блок 650 предсказания получают пространственный кандидат слияния из того же самого блока пространственного кандидата слияния и совместно используют этот пространственный кандидат слияния. Блок пространственного кандидата слияния для первого 600 и второго 650 блока предсказания определяется на основе блока кодирования, и А0 блок 605, А1 блок 610, В0 блок 615, В1 блок 620 и В2 блок 625 могут быть использованы как блок пространственного кандидата слияния.
[139] Позиция каждого из блоков пространственного кандидата слияния соответствует позиции, включающей пиксель, показанный на чертеже по отношению к верхней левой позиции (хС, yС) и размеру nCS блока кодирования.
[140] А0 блок 605 соответствует блоку, включающему в себя пиксель при (xC-1, yC+nCS); А1 блок 610 - блоку, включающему в себя пиксель при (xC-1, yC+nCS-1); В0 блок 615 - блоку, включающему в себя пиксель при (xC+nCS, yC-1); В1 блок 620 - блоку, включающему в себя пиксель при (xC+nCS-1, yC-1); В2 блок 625 - блоку, включающему в себя пиксель при (xC-1, yC-1).
[141] Таким образом, первый 600 и второй 650 блок предсказания могут совместно использовать временной кандидат слияния. Блок 660, 670 временного кандидата слияния, который получает временной кандидат слияния, совместно используемый первым 600 и вторым 650 блоком предсказания, может также быть получен как блок, расположенный в позиции, полученной на основе верхней левой позиции (хС, yС) и размера nCS блока кодирования.
[142] Например, если блок предсказания, включающий в себя пиксель при (xC+nCS, yC+nCS) в рядом расположенном изображении текущего блока предсказания, или блок, включающий в себя пиксель при (xC+nCS, yC+nCS), не доступен по отношению к пиксельной позиции (xC, yC) в изображении, включающем в себя блок предсказания, блок 660, 670 временного кандидата слияния может служить в качестве блока 670 предсказания, включающего в себя пиксель при (xC+(nCS>>1), yC+(nCS>>1)).
[143] Интерпредсказание может выполняться путем применения параллельного процесса слияния для индивидуальных блоков предсказания с использованием способа получения одного списка кандидатов слияния, и не требуется пространственно разделять список кандидатов слияния для каждого из блоков предсказания. Поэтому с использованием одного списка кандидатов слияния согласно варианту осуществления настоящего изобретения скорость обработки видео может быть увеличена для такого устройства, как UHDTV (телевидение сверхвысокой четкости), которое требует значительного объема обработки данных.
[144] Хотя способ, иллюстрируемый на Фиг.6, делит первый N x 2N блок 600 предсказания и второй N x 2N блок 650 предсказания на блоки N x 2N формы, этот способ также может применяться к блокам (например, 2N x N, 2N x nU, nL x 2N, nR x 2N или N x N), которые делятся на блоки предсказания различных других форм.
[145] Таким образом, способ может определять, следует ли применять один список кандидатов слияния по-разному в соответствии с размером или глубиной деления блока. Например, на основе размера блока, к которому может применяться обработка параллельного слияния, и информации о размере блока кодирования, информация о том, использует ли конкретный блок один список кандидатов слияния. Например, информация о том, использует ли конкретный блок один список кандидатов слияния, может быть указана информацией флага. Флаг, указывающий, использует ли конкретный блок один список кандидатов слияния, определен посредством singleMCLflag (флаг одного списка кандидатов слияния). Например, если singleMCLflag равен 0, то это указывает, что соответствующий блок не использует один список кандидатов слияния, в то время как, если singleMCLflag равен 1, то это указывает, что соответствующий блок использует один список кандидатов слияния. На основе значения singleMCLflag пространственный кандидат слияния для блока предсказания может быть получен по отношению к блоку кодирования.
[146] Например, на основе информации, что размер блока, к которому может быть применена обработка параллельного слияния, должен быть больше, чем размер 4 х 4, и размер текущего блока равен 8 х 8, может быть получена информация флага, указывающая, что блоки предсказания, разделенные из блока кодирования 8 х 8, используют один список кандидатов слияния. Полученный флаг может быть использован позже для получения пространственного кандидата слияния и временного кандидата слияния блока предсказания на основе блока кодирования.
[147] Дополнительное описание об этом варианте осуществления настоящего изобретения будет предоставлено ниже.
[148]
[149] На Фиг.7 представлена концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов слияния путем совместного использования только пространственного кандидата слияния во множестве блоков предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
[150] Фиг.7 иллюстрирует способ генерации одного списка кандидатов слияния, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только пространственный кандидат слияния, определенный на основе блока кодирования, в то время как временной кандидат слияния использует кандидат слияния, полученный, основываясь на каждом из блоков предсказания.
[151] Со ссылкой на Фиг.7 первый блок 700 предсказания и второй блок 750 предсказания могут совместно использовать пространственный кандидат слияния. Блок пространственного кандидата слияния для первого 700 и второго 750 блока предсказания определяется на основе блока кодирования, и А0 блок 750, А1 блок 710, В0 блок 715, В1 блок 720 и В2 блок 725 могут быть использованы как блок пространственного кандидата слияния. Каждый блок может быть расположен в позиции, полученной на основе блока кодирования.
[152] Блок временного кандидата слияния (или рядом расположенный блок) первого 700 и второго 750 блока предсказания может быть определен на основе позиции каждого блока предсказания.
[153] Первый блок 700 предсказания использует по меньшей мере один блок между Hpu0 блоком 755 и Mpu0 блоком 760, которые являются временными кандидатами слияния, определенными на основе их собственной позиции блока, в качестве временного кандидата слияния. Второй блок 750 предсказания использует по меньшей мере один блок между Hpu1 блоком 765 и Mpu1 блоком 770, которые являются рядом расположенными блоками, определенными на основе их собственной позиции блока, в качестве временного кандидата слияния. Как описано выше, позиция блока временного кандидата слияния для получения конечной информации, относящейся к предсказанию движения, может соответствовать позиции, немного сдвинутой по отношению к позиции Hpu0 блока 755, Mpu0 блока 760, Hpu1 блока 765 и Mpu1 блока 770.
[154] Блоки 755, 765, 770 временного кандидата слияния принадлежат к пред-кодированному или декодированному изображению; и первый 700 и второй 750 блоки предсказания могут выполнять интерпредсказание путем генерации списка кандидатов слияния параллельным способом.
[155]
[156] На Фиг.8 представлена концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов слияния путем совместного использования только временного кандидата слияния во множестве блоков предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
[157] Фиг.8 иллюстрирует способ генерации одного списка кандидатов слияния, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только временной кандидат слияния, определенный на основе блока кодирования, в то время как пространственный кандидат слияния использует кандидат слияния, полученный, основываясь на каждом из блоков предсказания.
[158] Со ссылкой на Фиг.8 первый блок 800 предсказания и второй блок 850 предсказания могут получать пространственные кандидаты слияния, отличающиеся один от другого, из соответствующих блоков пространственных кандидатов слияния в соответствии с позицией и размером каждого блока.
[159] Блоками пространственного кандидата слияния для первого 800 блока предсказания являются А0 блок 805, А1 блок 810, В0 блок 813 и В2 блок 820; позиция каждого блока может быть получена на основе позиции верхнего-левого пикселя первого блока 800 предсказания и размера (ширины и высоты) первого блока 800 предсказания.
[160] Например, предположим, что верхним-левым пикселем первого блока предсказания является (xP, yP). Блок пространственного кандидата слияния блока предсказания затем конфигурируется так, что блоком, включающим в себя пиксель при (xP-1, yP+nPbH), является левый первый блок (или А0 блок, 805); блоком, включающим в себя пиксель при (xP-1, yP+nPbH-1), является левый второй блок (или А1 блок, 810); блоком, включающим в себя пиксель при (xP+nPbW, yP-1), является верхний первый блок (или В0 блок, 813); блоком, включающим в себя пиксель при (xP+nPbW-1, yP-1), является верхний второй блок (В1 блок, 815); и блоком, включающим в себя пиксель при (xP-1, yP-1), является верхний третий блок (В2 блок, 820).
[161] Блоками пространственного кандидата слияния второго блока 850 предсказания являются А0’ блок 825, А1’ блок 830, В0’ блок 835, B1’ блок 840 и В2’ блок 815; и позиция каждого блока может быть получена из позиции верхнего левого пикселя второго блока 850 предсказания и размера (ширины и высоты) второго блока 850 предсказания.
[162] Например, если верхним-левым пикселем второго блока предсказания является (xP’, yP’), блок пространственного кандидата слияния блока предсказания конфигурируется так, что блоком, включающим в себя пиксель при (xP’-1, yP’+nPbH), является левый первый блок (или А0’ блок, 825); блоком, включающим в себя пиксель при (xP’-1, yP’+nPbH-1), является левый второй блок (или А1’ блок, 830); блоком, включающим в себя пиксель при (xP’+nPbW, yP’-1), является верхний первый блок (или В0’ блок, 835); блоком, включающим в себя пиксель при (xP’+nPbW-1, yP’-1), является верхний второй блок (В1’ блок, 840); и блоком, включающим в себя пиксель при (xP’-1, yP’-1), является верхний третий блок (В2’ блок, 815).
[163]
[164] Иными словами, пространственный кандидат слияния может быть получен на основе позиции и размера каждого блока 800, 850 предсказания.
[165] Блок временного кандидата слияния (или рядом расположенный блок 860, 870) первого 800 и второго 850 блока предсказания получается на основе блока кодирования, и два блока предсказания могут совместно использовать тот же самый временной кандидат слияния.
[166]
[167] Способ получения одного списка кандидатов слияния, описанный выше, также может использоваться для генерации AMVR (улучшенного предсказания вектора движения) списка (или списка кандидатов предсказателя вектора движения) в режиме интерпредсказания, использующем AMVR (улучшенное предсказание вектора движения).
[168]
[169] На Фиг.9 представлена концептуальная диаграмма, иллюстрирующая режим интерпредсказания с использованием AMVP.
[170] В качестве краткого описания режима интерпредсказания с использованием AMVP со ссылкой на Фиг.9, блок предсказания пространственного кандидата, используемый в режиме интерпредсказания с использованием AMVP, включает в себя левый первый блок А0 900, левый второй блок А1 910, верхний первый блок В0 920, верхний второй блок В1 930 и верхний третий блок В2 940. Блоки предсказания пространственного кандидата могут быть разделены на две группы предсказания пространственного кандидата, где группа, содержащая левый первый блок 900 и левый второй блок 910, определена как первая группа предсказания пространственного кандидата, в то время как группа, содержащая верхний первый блок 920, верхний второй блок 930 и верхний третий блок 940, определена как вторая группа предсказания пространственного кандидата.
[171] Блок предсказания временного кандидата может включать в себя блок 950 предсказания, включающий в себя пиксель при (xP+nPbW, yP+nPbH) в рядом расположенном изображении текущего блока предсказания, основанного на пиксельной позиции (xP, yP) в изображении, включающем в себя текущий блок предсказания; если блок предсказания, включающий в себя пиксель при (xP+nPbW, yP+nPbH), недоступен, то блок предсказания временного кандидата может включать в себя блок 960 предсказания, включающий в себя пиксель при (xP+(nPSW>>1),yP+(nPSH>>1)). Таким же способом, как слияние, конечный временной кандидат слияния, используемый для получения конечной информации, относящейся к предсказанию движения в AMVP, может соответствовать блоку, расположенному в позиции, немного сдвинутой по отношению к позициям первого 950 и второго 960 временного кандидата слияния.
[172] Способ интерпредсказания с использованием AMVP генерирует список кандидатов предсказания вектора движения на основе вектора движения, полученного из вектора движения, выведенного из каждой из групп предсказания пространственного кандидата, и вектора движения, выведенного из блока предсказания временного кандидата. Вектор движения полученного списка кандидатов предсказания вектора движения может быть использован для выполнения интерпредсказания относительно текущего блока.
[173] Способ получения вектора движения из блока предсказания кандидата (блока предсказания пространственного кандидата или блока предсказания временного кандидата) может выполняться параллельным образом. Например, если один вектор движения предсказания кандидата получен из каждой из двух групп предсказания пространственного кандидата (первой группы предсказания пространственного кандидата и второй группы предсказания пространственного кандидата) и один вектор движения предсказания кандидата получен из блока предсказания временного кандидата в случае получения вектора движения предсказания кандидата, операция получения векторов движения предсказания кандидата из первой группы предсказания пространственного кандидата, второй группы предсказания пространственного кандидата и группы предсказания временного кандидата может выполняться параллельным образом. Выполнение процесса получения векторов движения предсказания кандидата параллельным образом приводит к сокращению сложности, присущей процессу получения векторов движения предсказания кандидата. Иными словами, получение вектора движения предсказания пространственного кандидата из первой группы предсказания пространственного кандидата, получение вектора движения предсказания пространственного кандидата из второй группы предсказания пространственного кандидата и получение вектора движения предсказания временного кандидата из группы предсказания временного кандидата могут выполняться параллельным образом.
[174] В соответствии с вариантом осуществления настоящего изобретения, интерпредсказание, использующее AMVP, каждого из блоков предсказания, разделенных из блока кодирования, может также выполняться параллельным образом.
[175] Тем же самым образом, как слияние, AMVP генерирует список кандидатов предсказания вектора движения для каждого блока предсказания в случае, когда один блок кодирования разделен на множество блоков предсказания. В этом случае блок предсказания пространственного кандидата конкретного блока предсказания включен в другой блок предсказания, и он должен ожидать, пока предсказание завершится. Поэтому, когда генерируется список кандидатов предсказания вектора движения, или блок предсказания пространственного кандидата конкретного блока предсказания расположен в некодированной или недекодированной позиции, имеются случаи, когда вектор движения не может быть получен из соответствующего блока.
[176] Для решения вышеуказанной проблемы и формирования списка кандидатов предсказания вектора движения вектор движения предсказания пространственного кандидата или вектор движения предсказания временного кандидата может быть получен таким образом, чтобы множество блоков предсказания 1) совместно использовали оба из блока предсказания пространственного кандидата и блока предсказания временного кандидата, 2) совместно использовали только блок предсказания пространственного кандидата или 3) совместно использовали только блок предсказания временного кандидата. В случаях 2) и 3) списки кандидатов предсказания вектора движения для блока предсказания могут отличаться один от другого, однако, поскольку только часть кандидатов используется совместно, термин «один список кандидатов предсказания вектора движения» определен и используется повсеместно для удобства.
[177] Более конкретно, список кандидатов предсказания вектора движения может совместно использоваться среди блоков предсказания, отличающихся друг от друга, путем использования:
[178] (1) способа генерации одного списка кандидатов предсказания вектора движения, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют блок пространственного и временного кандидата, полученный на основе блока кодирования;
[179] (2) способа генерации одного списка кандидатов предсказания вектора движения, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только пространственный кандидат слияния, полученный на основе блока кодирования, а блок предсказания временного кандидата использует блок, полученный по каждому из блоков предсказания;
[180] (3) способа генерации одного списка предсказания вектора движения, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только блок предсказания временного кандидата, полученный на основе блока кодирования, а блок предсказания пространственного кандидата использует блок, полученный по каждому из блоков предсказания.
[181]
[182] На Фиг.10 представлена концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов предсказания вектора движения путем совместного использования как блока предсказания пространственного кандидата, так и блока предсказания временного кандидата во множестве блоков предсказания в соответствии с вариантом осуществления настоящего изобретения.
[183] Фиг.10 иллюстрирует способ генерации одного списка кандидатов предсказания вектора движения, когда множество блоков предсказания, разделенных из одного блока кодирования, совместно используют как блок предсказания пространственного кандидата, так и блок предсказания временного кандидата, определенный на основе блока кодирования. В следующем варианте осуществления предполагается, что все кандидаты предсказания вектора движения, полученные из блоков предсказания кандидата, доступны.
[184] Со ссылкой на Фиг.10, первый блок 1000 предсказания и второй блок 1050 предсказания совместно используют тот же самый блок предсказания пространственного кандидата. Блок предсказания пространственного кандидата для первого 1000 и второго 1050 блока предсказания определяется на основе блока кодирования, который может соответствовать А0 блоку 1005, А1 блоку 1010, В0 блоку 1015, В1 блоку 1020 и В2 блоку 1025.
[185] Первый 1000 и второй 1050 блок предсказания получает один кандидат предсказания вектора движения на основе совместно используемых А0 блока 1005 и А1 блока 1010, а другой кандидат предсказания вектора движения получается на основе совместно используемых В0 блока 1015, В1 блока 1020 и В2 блока 1025.
[186] Кроме того, первый 1000 и второй 1050 блок предсказания могут совместно использовать блок предсказания временного кандидата (или рядом расположенный блок 1050, 1060). Первый 1000 и второй 1050 блок предсказания могут получать кандидат предсказания вектора движения из совместно используемого блока предсказания временного кандидата (или рядом расположенного блока 1050, 1060).
[187] Иными словами, первый 1000 и второй 1050 блок предсказания могут генерировать один список кандидатов предсказания вектора движения с использованием кандидатов предсказания вектора движения, полученных на основе блоков 1005, 1010, 1015, 1020, 1025 предсказания пространственного кандидата и блоков 1050, 1060 предсказания временного кандидата.
[188]
[189] На Фиг.11 представлена концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов предсказания вектора движения путем совместного использования только блока пространственного кандидата во множестве блоков предсказания в соответствии с вариантом осуществления настоящего изобретения.
[190] Фиг.11 иллюстрирует способ получения кандидата предсказания вектора движения, где множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только блок предсказания пространственного кандидата, определенный на основе блока кодирования. Иными словами, описан способ генерации одного списка кандидатов предсказания вектора движения, где блок предсказания временного кандидата получает кандидат предсказания вектора движения из блока, полученного на основе каждого из блоков предсказания.
[191] Со ссылкой на Фиг.11 первый блок 1100 предсказания и второй блок 1150 предсказания совместно используют тот же самый блок предсказания пространственного кандидата. Блок предсказания пространственного кандидата для первого 1100 и второго 1150 блока предсказания определяется на основе блока кодирования, который может совместно использовать А0 блок 1105, А1 блок 1110, В0 блок 1115, В1 блок 1120 и В2 блок 1025 и использовать отдельные блоки в качестве блока предсказания пространственного кандидата.
[192] Блоки предсказания временного кандидата (или рядом расположенные блоки 1155, 1160, 1165, 1170) первого 1100 и второго 1150 блока предсказания могут быть получены на основе позиций отдельных блоков предсказания.
[193] Первый блок 1100 предсказания использует по меньшей мере один блок из Hpu0 блока 1155 и Mpu0 блока 1160, которые являются рядом расположенными блоками, определенными на основе их собственных позиций, в качестве блока предсказания временного кандидата.
[194] Второй блок 1150 предсказания использует по меньшей мере один блок из Hpu1 блока 1165 и Mpu1 блока 1170, которые являются рядом расположенными блоками, определенными на основе их собственных позиций, в качестве блока предсказания временного кандидата.
[195] Блоки 1155, 1160, 1165, 1170 предсказания временного кандидата принадлежат пред-кодированному или пред-декодированному изображению; даже если они не используют совместно блок предсказания временного кандидата, первый 1100 и второй 1150 блок предсказания генерируют список кандидатов предсказания вектора движения параллельным способом и, таким образом, выполняют интерпредсказание.
[196]
[197] На Фиг.12 показана концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов предсказания вектора движения путем совместного использования только блока предсказания временного кандидата во множестве блоков предсказания в соответствии с вариантом осуществления настоящего изобретения.
[198] Фиг.12 иллюстрирует способ генерации одного списка кандидатов предсказания вектора движения, где множество блоков предсказания, разделенных из одного блока кодирования, совместно используют только блок предсказания временного кандидата, определенный на основе блока кодирования, а блок предсказания пространственного кандидата использует блок, полученный на основе каждого из блоков предсказания.
[199] Со ссылкой на Фиг.12 первый блок 1200 предсказания и второй блок 1250 предсказания могут использовать блоки предсказания пространственного кандидата, отличающиеся друг от друга по отношению к позициям отдельных блоков предсказания. Иными словами, блок предсказания пространственного кандидата для первого блока 1200 предсказания может соответствовать А0 блоку 1205, А1 блоку 1210, В0 блоку 1212, В1 блоку 1215 и В2 блоку 1220, в то время как блок предсказания пространственного кандидата для второго блока 1250 предсказания может соответствовать А0’ блоку 1225, А1’ блоку 1230, В0’ блоку 1235, В1’ блоку 1240 и В2’ блоку 1215.
[200] Блок временного кандидата слияния (или рядом расположенный блок, 1260, 1270) первого 1200 и второго 1250 блока предсказания получается на основе блока кодирования, и два блока предсказания могут совместно использовать тот же самый временной кандидат слияния.
[201] В режиме интерпредсказания, основанном на AMVR, один список кандидатов предсказания вектора движения может быть сгенерирован по-разному в соответствии с индексом опорного изображения, на который ссылается блок. Например, если текущее изображение (или слайс) имеет четыре опорных изображения, то может быть определено до четырех опорных изображений. В этом случае, поскольку каждый индекс опорного изображения может иметь один список кандидатов предсказания вектора движения, всего ‘четыре’ одиночных списка кандидатов предсказания вектора движения может генерироваться и использоваться для целевого блока предсказания.
[202] Также кодирование или декодирование может быть выполнено таким образом, что все блоки предсказания внутри текущего блока кодирования используют тот же самый индекс опорного изображения. В этом случае, поскольку все из блоков предсказания внутри текущего блока кодирования имеют тот же самый индекс опорного изображения, достаточно иметь только один список кандидатов предсказания вектора движения. То, следует ли применять эти способы, может быть определено по-разному в соответствии с размером или глубиной блока кодирования.
[203] В дополнение к способу, описанному выше, различные другие способы могут быть использованы для генерации одного списка кандидатов слияния и одного списка кандидатов предсказания вектора движения. Далее будет описан способ генерации различных списков кандидатов (одного списка кандидатов слияния, одного списка кандидатов предсказания вектора движения).
[204] На Фиг.13 представлена концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[205] Хотя Фиг.13 иллюстрирует способ генерации одного списка кандидатов слияния, для удобства описания он может по-прежнему применяться к способу генерации одного списка кандидатов предсказания вектора движения (списка AMVR).
[206] Как описано выше, позиция временного кандидата слияния и пространственного кандидата слияния может изменяться произвольным образом, и в то же время количество временных кандидатов слияния и пространственных кандидатов слияния может изменяться.
[207] Со ссылкой на Фиг.13А и 13В позиция блока пространственного кандидата слияния и позиция блока временного кандидата слияния для генерации одного списка кандидатов слияния может быть определена по-новому.
[208] На Фиг.13А позиция А1 блока 1300 может быть заново определена как позиция, включающая в себя пиксель при (xC-1, yC+nCS/2), в то время как позиция В1 блока 1305 может быть заново определена как позиция, включающая в себя пиксель при (xC+nCS/2, yC-1).
[209] Также, в дополнение к существующей позиции, позиция, в которой может быть получен блок временного кандидата слияния, может включать в себя Н1 блок 1310, Н2 блок 1320, Н3 блок 1330 и Н4 блок 1340. В рядом расположенном блоке Н1 блок 1310 может соответствовать блоку, включающему в себя пиксель при (xC+nCS/2, yC+nCS); Н2 блок 1320 - блоку, включающему в себя пиксель при (xC+nCS, yC+nCS/2); Н3 блок 1330 - блоку, включающему в себя пиксель при (xC, yC+nCS); и Н4 блок 1340 - блоку, включающему в себя пиксель при (xC+nCS, yC).
[210] На Фиг.13В позиция А1 блока 1350 может быть заново определена как позиция, включающая в себя пиксель при (xC-1, yC+nCS/2-1), в то время как позиция В1 блока 1355 может быть заново определена как позиция, включающая в себя пиксель при (xC+nCS/2, yC-1).
[211] Также, в дополнение к существующей позиции, позиция блока временного кандидата слияния может включать в себя Н1 блок 1360, Н2 блок 1360, Н3 блок 1380 и Н4 блок 1390. В рядом расположенном блоке Н1 блок 1360 может соответствовать блоку, включающему в себя пиксель при (xC+nCS/2, yC+nCS); Н2 блок 1370 - блоку, включающему в себя пиксель при (xC+nCS, yC+nCS/2); Н3 блок 1380 - блоку, включающему в себя пиксель при (xC, yC+nCS); и Н4 блок 1390 - блоку, включающему в себя пиксель при (xC+nCS, yC).
[212] Способ генерации одного списка кандидатов слияния и одного списка кандидатов предсказания вектора движения, представленный выше, описывает способ генерации одного списка кандидатов слияния и одного списка кандидатов предсказания вектора движения на основе блока кодирования; и этот способ также описывает, что размер блока кодирования, из которого генерируются один список кандидатов слияния и один список кандидатов предсказания вектора движения, может быть ограничен. Принцип одного списка кандидатов может быть введен для интеграции принципа одного списка кандидатов слияния и одного списка кандидатов предсказания вектора движения.
[213] Также, в соответствии с вариантом осуществления настоящего изобретения, один список кандидатов может генерироваться с использованием обычного блока (например, блока конкретного размера, включающего в себя по меньшей мере один блок кодирования или по меньшей мере один блок предсказания), а не блока кодирования. Также способ генерации одного списка кандидатов слияния может быть применен только к одному режиму интерпредсказания между слиянием и AMVR.
[214] Специфика, представленная выше, может быть сведена вместе, как показано в Таблице 1, приведенной ниже.
[215] Таблица 1
[216]
[217]
[218] Таблица 1 классифицирует способы соответственно типу блока, из которого генерируется один список кандидатов, размеру блока и типу способа между слиянием и AMVR, применимым к интерпредсказанию, посредством которого генерируется один список кандидатов слияния.
[219]
[220] На Фиг.14 показана концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[221] Фиг.14 описывает способ совместного использования одного списка кандидатов слияния на основе блока в слиянии, использующем интерпредсказание.
[222] Со ссылкой на Фиг.14 область, показанная сплошными линиями, представляет блок кодирования, а область, показанная штриховыми линиями, представляет блок предсказания, разделенный из соответствующего блока кодирования. Фиг.14 показывает, что большая единица блока, включающая в себя множество блоков кодирования, используется в качестве единицы, посредством которой получают блок 1400, 1405, 1410, 1415, 1420 пространственного кандидата слияния и блок 1450 - 1480 временного кандидата слияния. Иными словами, один список кандидатов слияния может генерироваться блоком большим, чем блок кодирования. Такая информация может кодироваться и декодироваться как информация о блоке, к которому может применяться обработка параллельного слияния. Согласно варианту осуществления настоящего изобретения, то, выполняет ли блок предсказания, включенный в конкретный блок кодирования, слияние, может быть определено с использованием одного списка кандидатов слияния на основе информации о блоке, к которому может быть применена обработка параллельного слияния, и информации о блоке кодирования, включающем блок предсказания.
[223] Блок пространственного кандидата слияния, принадлежащий блоку, к которому может быть применена обработка параллельного слияния, из блоков пространственного кандидата слияния, полученных из блока кодирования, принадлежащего к блоку, к которому может быть применена обработка параллельного слияния, является недоступным блоком и не может использоваться для получения пространственного кандидата слияния. Напротив, блок пространственного кандидата слияния, принадлежащий внешней области блока, к которому может быть применена обработка параллельного слияния, может использоваться для получения пространственного кандидата слияния при интерпредсказании посредством слияния. Иными словами, блок пространственного кандидата слияния, принадлежащий блоку, к которому может быть применена обработка параллельного слияния, может быть определен как недоступный блок пространственного кандидата слияния и не может использоваться для получения пространственного кандидата слияния.
[224] Для выполнения этого определения определяется, являются ли текущий блок (целевой блок предсказания) и блок пространственного кандидата слияния текущего блока включенными в блок, к которому может быть применена та же самая обработка параллельного слияния. Если текущий блок (целевой блок предсказания) и блок пространственного кандидата слияния текущего блока включены в блок, к которому может быть применена обработка параллельного слияния, то соответствующий блок определяется как недоступный и не может использоваться для создания списка кандидатов слияния.
[225] Блок временного кандидата слияния, относящийся к блоку, удовлетворяющему вышеуказанным условиям, также может быть получен на основе блока, к которому может быть применена обработка параллельного слияния. Иными словами, в случае, если блок предсказания, включенный в конкретный блок кодирования, выполняет слияние с использованием одного списка кандидатов слияния, то тот же самый временной кандидат слияния для блока предсказания может быть совместно используемым и может использоваться.
[226]
[227] На Фиг.15 показана концептуальная диаграмма, иллюстрирующая способ генерации одного списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[228] Фиг.15 описывает способ для блоков предсказания внутри того же самого блока кодирования, чтобы совместно использовать пространственный кандидат слияния и временной кандидат слияния, только если размер блока кодирования меньше или равен конкретному размеру, при интерпредсказании путем слияния.
[229] Различные виды информации могут быть использованы, чтобы применять способ для совместного использования одного списка кандидатов слияния только для блоков, удовлетворяющих конкретным условиям. Например, информация о том, использует ли текущий блок один список кандидатов слияния, может быть получена на основе информации о размере блока, к которому может быть применена обработка параллельного слияния, и информации о размере текущего блока кодирования. В соответствии с полученной информацией, пространственный кандидат слияния и временной кандидат слияния для блока предсказания могут быть получены по отношению к блоку кодирования, удовлетворяющему конкретным условиям.
[230] Со ссылкой на Фиг.15, например, только если размер блока, к которому может быть применена обработка параллельного слияния, равен 8х8 или больше, и размер блока кодирования равен 8х8, блоки предсказания, разделенные из блока кодирования, могут совместно использовать один список кандидатов слияния.
[231] Теперь предположим, что первый блок кодирования CU0 1500 является блоком 32×32; второй блок кодирования CU1 1510 является блоком 16×16; третий блок кодирования CU2 1520 является блоком 32×32; четвертый блок кодирования CU3 1530 является блоком 16×16, и пятый блок кодирования CU4 1540 является блоком 8×8.
[232] Фиг.15В является концептуальной диаграммой, показывающей только блок пространственного кандидата слияния относительно части блока кодирования.
[233] Со ссылкой на Фиг.15В второй блок кодирования 1510 разделен на два блока предсказания 1515, 1518 формы nL×2N, а пятый блок кодирования 1540 разделен на два блока предсказания 1545, 1550 формы N×2N. На Фиг.15В предполагается, что один список кандидатов слияния генерируется только для блока кодирования 1540 размером 8×8.
[234] Первый блок 515 предсказания и второй блок 1518 предсказания второго блока 1510 кодирования получают пространственный кандидат слияния для каждого из блоков предсказания и генерируют список кандидатов слияния для индивидуальных блоков предсказания.
[235] Размер пятого блока 1540 кодирования равен 8×8 и удовлетворяет условиям, накладываемым на размер блока, к которому может быть применена обработка параллельного слияния, и размеру текущего блока кодирования. В этом случае третий блок 1545 предсказания и четвертый блок 1550 предсказания, включенные в пятый блок 1540 кодирования, могут генерировать один список кандидатов слияния на основе пространственного кандидата слияния и временного кандидата слияния, полученных из положения и размера блока кодирования.
[236] Иными словами, определяется, является ли размер блока, определенного как такой, к которому может быть применена обработка параллельного слияния, большим, чем предопределенный конкретный размер, и блок кодирования имеет конкретный размер, и если размер блока, определенного как такой, к которому может быть применена обработка параллельного слияния, больше, чем предопределенный конкретный размер, и блок кодирования имеет конкретный размер, то может быть определено, что блок предсказания выполняет слияние путем использования одного списка кандидатов слияния.
[237] Блок пространственного кандидата слияния, принадлежащий к блоку, к которому может быть применена обработка параллельного слияния, из блоков пространственного кандидата слияния, полученных из блока кодирования, принадлежащего к блоку, к которому может быть применена обработка параллельного слияния, не может использоваться для получения кандидата пространственного слияния. Напротив, блок пространственного кандидата слияния, принадлежащий внешней области блока, к которому может быть применена обработка параллельного слияния, может использоваться для интерпредсказания посредством слияния. Иными словами, блок пространственного кандидата слияния, принадлежащий блоку, к которому может быть применена обработка параллельного слияния, может быть определен как недоступный блок пространственного кандидата слияния и не может использоваться для получения пространственного кандидата слияния.
[238] Например, для выполнения этого определения определяется, включены ли текущий блок (целевой блок предсказания) и блок пространственного кандидата слияния текущего блока в блок, к которому может быть применена обработка параллельного слияния. Если текущий блок (целевой блок предсказания) и блок пространственного кандидата слияния текущего блока включены в блок, к которому может быть применена та же самая обработка параллельного слияния, соответствующий блок пространственного кандидата слияния определяется как недоступный и не может использоваться для получения пространственного кандидата слияния из блока пространственного кандидата слияния.
[239] Как описано выше, для генерации одного списка кандидатов слияния для блока кодирования конкретного размера могут быть получены 1) информация, относящаяся к размеру блока, к которому может быть применена обработка параллельного слияния при интерпредсказании посредством слияния, и 2) флаг одного списка кандидатов слияния (singleMCLflag), указывающий, что соответствующий блок генерирует один список кандидатов слияния на основе информации о размере текущего блока. Также, поскольку то, какой блок пространственного кандидата слияния соответствует недоступному блоку в получении пространственного кандидата слияния, может быть известно из 1) информации, относящейся к размеру блока, к которому может быть применена обработка параллельного слияния при интерпредсказании посредством слияния, пространственный кандидат слияния не может быть получен из соответствующего блока.
[240] Предположим, что размер блока, к которому может быть применена обработка параллельного слияния, равен 8х8, и размер текущего блока кодирования равен 8х8. Если блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, принадлежат тому же самому блоку кодирования, к которому может быть применена обработка параллельного слияния, блок пространственного кандидата слияния может быть определен как недоступный. Иными словами, в случае, если блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, принадлежат тому же самому блоку кодирования, к которому может быть применена разная обработка параллельного слияния, то соответствующий блок пространственного кандидата слияния может быть использован для получения пространственного кандидата слияния.
[241] Флаг полученного одного списка кандидатов слияния (singleMCLflag) используется затем, если пространственный кандидат слияния и временной кандидат слияния получены и используются для генерации одного списка кандидатов слияния, где те же самые кандидаты слияния совместно используются блоками предсказания, разделенными из блока кодирования конкретного размера.
[242] Далее вариант осуществления настоящего изобретения описывает со ссылкой на Таблицы 2-5 информацию, относящуюся к блоку, к которому может быть применена обработка параллельного слияния при интерпредсказании путем слияния, и структуру синтаксиса, используемую для кодирования информации в битовый поток или декодирования битового потока.
[243] Таблица 2
[244]
[245] Таблица 3
[246]
[247] Таблица 4
[248]
[249] Таблица 5
[250]
[251] “parallel_merge_enabled_flag” (флаг разрешения параллельного слияния), включенный в синтаксис Таблиц 2-5, может быть использован как информация, указывающая, следует ли использовать один список кандидатов слияния на основе блока кодирования. Также “parallel_merge_enabled_flag” может включать в себя информацию о том, выполняется ли процесс параллельного слияния.
[252] Например, если “parallel_merge_enabled_flag” равен 1, то это указывает, что способ генерации одного списка кандидатов слияния был применен на основе блока кодирования и указывает на выполнение процесса параллельного слияния, а в случае, если “parallel_merge_enabled_flag” равен 0, это может указывать, что один список кандидатов слияния не применялся, и процесс параллельного слияния не применим, и наоборот. Также, “parallel_merge_enabled_flag” может быть использован в качестве информации, указывающей, следует ли кодировать или декодировать все из блоков предсказания в блоке кодирования параллельным способом, и в качестве информации, указывающей, следует ли создавать список кандидатов слияния всех блоков предсказания внутри блока кодирования параллельным способом.
[253] Тем временем, “parallel_merge_disabled_depth_info” (информация глубины неразрешенного параллельного слияния) активируется, если способ генерации одного списка кандидатов слияния применяется на основе блока кодирования (например, если “parallel_merge_enabled_flag” имеет значение «истинно»), информируя о применимости одного списка кандидатов слияния согласно глубине или размеру блока кодирования.
[254] Например, если “parallel_merge_disabled_depth_info” равно 0, то соответствующий способ не может быть применен, если глубина блока кодирования равна 0 (что соответствует наибольшему блоку кодирования, например блоку с размерами 64×64). В случае, если “parallel_merge_disabled_depth_info” равно 1, то соответствующий способ не может быть применен, если глубина блока кодирования равна 1 (что соответствует размеру на один шаг меньше, чем наибольший блок кодирования, например блоку с размерами 32 х 32).
[255] В качестве другого примера, если “parallel_merge_disabled_depth_info” равно 0, то соответствующий способ не может быть применен, если глубина блока кодирования меньше 0 (что соответствует наибольшему блоку кодирования). Аналогичным образом, если “parallel_merge_disabled_depth_info” равно 1, то соответствующий способ не может быть применен, если глубина блока кодирования больше 1 (этот случай описывает размеры блока кодирования, исключая наибольший блок кодирования; например, если размер наибольшего блока кодирования равен 64×64, то размер блока кодирования может быть 32×32, 16×16 и 8×8).
[256] В качестве еще одного примера, если “parallel_merge_disabled_depth_info” равно 1, то соответствующий способ не может быть применен, если глубина блока кодирования больше 1 (что соответствует размерам блока кодирования, исключая размеры для наибольшего блока кодирования).
[257] “parallel_merge_disabled_depth_info” является одним примером информации, относящейся к блоку, к которому может быть применена обработка параллельного слияния при интерпредсказании посредством слияния; другой синтаксический элемент может быть использован для представления процесса параллельного слияния при интерпредсказании посредством слияния, и этот вариант осуществления также относится к техническому объему настоящего изобретения.
[258] С другой стороны, информация о том, является ли применимым процесс параллельного слияния, может быть представлена только с использованием “parallel_merge_disabled_depth_info”, даже если информация такая, как “parallel_merge_enabled_flag”, не используется. Например, если “parallel_merge_disabled_depth_info” соответствует конкретному значению, это может указывать, что процесс параллельного слияния невозможен. И такой вариант осуществления также относится к техническому объему настоящего изобретения.
[259] В качестве еще одного примера, может быть определено log2_parallel_merge_level_minus2. log2_parallel_merge_level_minus2 указывает уровень, на котором может быть применен процесс параллельного слияния. Например, если значение log2_parallel_merge_level_minus2 равно 0, это указывает, что размер блока (или блока кодирования), к которому может быть применен процесс параллельного слияния, равен 4×4. Если предполагается, что блок 4×4 является наименьшим блоком кодирования, это указывает, что обработка параллельного слияния не выполняется, когда значение log2_parallel_merge_level_minus2 равно 0. В качестве другого примера, если log2_parallel_merge_level_minus2 равно 1, это указывает, что обработка параллельного слияния может быть применена ко всем блокам предсказания, принадлежащим к блоку с размерами 8×8. Если log2_parallel_merge_level_minus2 равно 2, то обработка параллельного слияния может быть применена ко всем блокам предсказания, принадлежащим к блоку с размерами 16×16. Если log2_parallel_merge_level_minus2 равно 3, то обработка параллельного слияния может быть применена ко всем блокам предсказания, принадлежащим к блоку с размерами 32 х 32. Если log2_parallel_merge_level_minus2 равно 4, то обработка параллельного слияния может быть применена ко всем блокам предсказания, принадлежащим к блоку с размерами 64×64. Иными словами, с использованием вышеописанного синтаксического элемента определяется размер блока, к которому может быть применена конкретная обработка параллельного слияния. Как описано выше, выполняется ли интерпредсказание с использованием одного списка кандидатов слияния для по меньшей мере одного блока предсказания, включенного в текущий блок, может быть определено с использованием информации о блоке, к которому может быть применена обработка параллельного слияния, полученной через log2_parallel_merge_level_minus2, и информации текущего блока (например, информации о размерах). Может быть определено, принадлежит ли блок пространственного кандидата слияния, полученный на основе блока кодирования, чтобы получить пространственный кандидат слияния, включенный в один список кандидатов слияния, к блоку, к которому может быть применена обработка параллельного слияния. Например, предположим, что блок, для которого применима обработка параллельного слияния, является блоком с размерами 8×8, и размер текущего блока кодирования равен 8×8. Если блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, принадлежат к блоку, для которого может быть применена та же самая обработка параллельного слияния, блок пространственного кандидата слияния может быть определен как недоступный пространственный кандидат слияния. Иными словами, если блок кодирования и блок пространственного кандидата слияния, полученный на основе блока кодирования, принадлежат к блоку, для которого может быть применена другая обработка параллельного слияния, соответствующий блок пространственного кандидата слияния может быть использован для получения пространственного кандидата слияния.
[260]
[261] В следующем варианте осуществления настоящего изобретения будет описан способ выполнения кодирования и декодирования блоков предсказания, разделенных из одного блока кодирования, параллельным образом с использованием одного списка кандидатов слияния в соответствии с другим вариантом осуществления. Способ, который будет описан ниже, может генерировать один список кандидатов слияния путем совместного использования части пространственных кандидатов для нескольких блоков предсказания в блоке кодирования.
[262] В совместно используемой части пространственных кандидатов также путем обеспечения нахождения позиции поиска блока пространственного кандидата слияния всех блоков предсказания в блоке кодирования, всегда расположенных вне блока кодирования, интерпредсказание может быть сделано выполнимым параллельным образом в блоке предсказания внутри блока кодирования. Аналогичным образом, список кандидатов слияния может генерироваться с использованием блока пространственного кандидата слияния, расположенного в фиксированной позиции в соответствии с шаблоном разделения блока.
[263] Например, сложность процесса получения кандидата слияния при интерпредсказании путем слияния может быть снижена, так как каждый из блоков предсказания совместно использует часть пространственных кандидатов слияния.
[264] Например, при выборе позиции поиска пространственного кандидата слияния блока предсказания вне блока кодирования блоки предсказания, разделенные вдоль вертикального направления (например, в форме N×2N), могут быть сделаны совместно использующими блок пространственного кандидата слияния в левой позиции из внешних позиций блока кодирования. Блоки предсказания, разделенные вдоль горизонтального направления (например, в форме 2N×N), могут быть сделаны совместно использующими блок пространственного кандидата слияния в верхней позиции из внешних позиций блока кодирования. Иными словами, количество получений пространственного кандидата слияния может быть значительно сокращено по сравнению со способом, в котором не используются кандидаты слияния.
[265] Далее вариант осуществления вышеописанного способа будет описан более детально со ссылкой на связанный чертеж.
[266] В следующем варианте осуществления предполагается, что используется интерпредсказание посредством слияния; однако способы, описанные далее, также могут быть использованы для интерпредсказания на основе AMVR. Блоки пространственных кандидатов слияния и блоки временных кандидатов слияния, используемые в способе слияния в последующем описании, соответствуют множеству блоков предсказания для создания списка кандидатов предсказания вектора движения по отношению к блоку предсказания в контексте AMVR и могут интерпретироваться как блоки пространственных кандидатов слияния и блоки временных кандидатов слияния.
[267] В последующем описании настоящего изобретения блоки предсказания могут идентифицироваться с использованием индекса разделения разделенного блока. В случае, если индекс разделения равен 0, это указывает первый блок предсказания, а в случае, если индекс разделения равен 1, это может быть вторым блоком предсказания.
[268]
[269] На Фиг.16 показана концептуальная схема, иллюстрирующая способ генерации списка кандидатов слияния в соответствии с одним вариантом осуществления настоящего изобретения.
[270] Фиг.16А иллюстрирует случай, когда блок кодирования разделен на блок предсказания в форме N x 2N. В случае первого блока 1600 предсказания список кандидатов слияния может генерироваться по отношению к позиции первого блока 1600 предсказания с использованием А0 блока 1605, А1 блока 1610, В0 блока 1615, В1 блока 1629 и В2 блока 1625 в качестве блока пространственного кандидата слияния.
[271] Однако в случае второго блока 1650 предсказания, если блок пространственного кандидата слияния получен на основе позиции второго блока предсказания, часть блоков пространственного кандидата слияния, А0 блок 1630 и А1 блок 1635 могут быть расположены в позициях, принадлежащих к первому блоку предсказания, или в позициях блока кодирования, который еще не закодирован. В случае, если блок пространственного кандидата слияния расположен в такой позиции, интерпредсказание посредством слияния для первого 1600 и второго 1650 блока предсказания не может выполняться параллельным образом. Поэтому интерпредсказание посредством слияния может выполняться посредством изменения позиций А0 блока 1630 и А1 блока 1635, используемых в качестве блока пространственного кандидата слияния, на А0’ блок 1605 и А1’ блок 1610, расположенные вне блока кодирования, и получения списка кандидатов слияния относительно второго блока 1650 предсказания. А0’ блок 1605 и А1’ блок 1610 могут быть расположены в тех же позициях, как таковые блоков пространственного кандидата слияния первого блока 1600 предсказания.
[272] Фиг.16В иллюстрирует случай, когда блок кодирования разделен на блок предсказания в форме 2N x N. В случае первого блока 1660 предсказания список кандидатов слияния может генерироваться по отношению к позиции первого блока 1660 предсказания с использованием А0 блока 1665, А1 блока 1667, В0 блока 1673, В1 блока 1675 и В2 блока 1679 в качестве блока пространственного кандидата слияния.
[273] Однако в случае второго блока 1690 предсказания, если блок пространственного кандидата слияния получен на основе позиции второго блока 1690 предсказания, часть блоков пространственного кандидата слияния, В0 блок 1685 и В1 блок 1687 могут быть расположены в позициях, принадлежащих к первому блоку 1660 предсказания, или в позиции блока кодирования, который еще не закодирован. В случае, если блок пространственного кандидата слияния расположен в такой позиции, интерпредсказание посредством слияния для первого 1660 и второго 1690 блока предсказания не может выполняться параллельным образом. Поэтому интерпредсказание посредством слияния может выполняться посредством изменения позиций В0 блока 1685 и В1 блока 1687 на А0’ блок 1673 и А1’ блок 1675, расположенные вне блока кодирования, и получения списка кандидатов слияния относительно второго блока 1690 предсказания. В0’ блок 1673 и В1’ блок 1675 могут быть расположены в тех же позициях, как таковые блоков пространственного кандидата слияния первого блока 1660 предсказания.
[274] Для изменения позиции блока пространственного кандидата слияния проверяется, являются ли текущий блок (целевой блок предсказания) и блок пространственного кандидата слияния текущего блока включенными в блок, к которому может применяться обработка параллельного слияния. В случае, если найдено в качестве результата проверки, что текущий блок (целевой блок предсказания) и пространственный кандидат слияния текущего блока включены в тот же самый блок, к которому может применяться обработка параллельного слияния, соответствующий блок не может быть использован для создания списка кандидата слияния путем определения, что он недоступен.
[275]
[276]
[277] На Фиг.17 показана концептуальная диаграмма, иллюстрирующая позицию пространственного кандидата слияния в соответствии с формой разделения блока кодирования согласно варианту осуществления настоящего изобретения.
[278] Со ссылкой на Фиг.17 пространственный кандидат слияния может быть получен путем получения блоков пространственного кандидата слияния, расположенных в позициях, отличающихся друг от друга в соответствии с шаблоном разделения блока. Иными словами, за счет того, что позиции блоков пространственного кандидата слияния всех блоков предсказания расположены вне блока кодирования, где кодирование уже было завершено, может быть обеспечена возможность выполнения интерпредсказания путем слияния для множества блоков предсказания, разделенных из одного блока кодирования, параллельным способом. Также, сложность процесса получения списка кандидатов слияния может быть снижена за счет совместного использования части блоков пространственного кандидата слияния, предназначенных для получения пространственного кандидата слияния.
[279]
[280] На Фиг.18 показана концептуальная диаграмма, иллюстрирующая способ генерации списка кандидатов слияния в соответствии с вариантом осуществления настоящего изобретения.
[281] Фиг.18А иллюстрирует случай, когда блок кодирования разделен на блок предсказания в форме N×2N. В случае первого блока 1800 предсказания список кандидатов слияния может генерироваться по отношению к позиции первого блока 1800 предсказания с использованием А0 блока 1805, А1 блока 1810, В0 блока 1815, В1 блока 1829 и В2 блока 1825 в качестве блока пространственного кандидата слияния.
[282] Однако в случае второго блока 1850 предсказания блок пространственного кандидата слияния может быть получен по отношению к позиции блока кодирования, включающего в себя второй блок 1850 предсказания. В случае, если блок пространственного кандидата слияния получен по отношению ко второму блоку 1850 предсказания, интерпредсказание посредством слияния для первого 1800 и второго 1850 блока предсказания может выполняться параллельным образом. Поэтому список кандидатов слияния может быть получен с использованием блоков 1805, 1830, 1835, 1825 в качестве блоков пространственного кандидата слияния, где блоки расположены вне блока кодирования, включающего в себя второй блок 1850 предсказания и в позициях блоков, где кодирование или декодирование уже было выполнено.
[283] Фиг.18В иллюстрирует случай, когда блок кодирования разделен на блок предсказания в форме 2N×N. В случае первого блока 1860 предсказания список кандидатов слияния может генерироваться по отношению к позиции первого блока 1860 предсказания с использованием А0 блока 1865, А1 блока 1870, В0 блока 1875, В1 блока 1880 и В2 блока 1885 в качестве блока пространственного кандидата слияния.
[284] Однако в случае второго блока 1895 предсказания интерпредсказание посредством слияния может выполняться путем получения списка кандидатов слияния для второго блока предсказания путем изменения блоков, расположенных в позициях блоков, расположенных вне блока кодирования, для которого кодирование или декодирование уже было выполнено, в блоки 1887, 1889, 1875, 1880, 1885 пространственного кандидата слияния.
[285]
[286] На Фиг.19 показана концептуальная диаграмма, иллюстрирующая позицию кандидата пространственного слияния в соответствии с формой разделения блока кодирования в соответствии с вариантом осуществления настоящего изобретения.
[287] Со ссылкой на Фиг.19 могут быть получены и использованы блоки пространственного кандидата слияния в позициях, отличающихся друг от друга, в соответствии с шаблонами разделения отдельных блоков. Иными словами, за счет того, что блоки пространственного кандидата слияния всех блоков предсказания расположены вне блока кодирования, для которого кодирование уже было завершено, может быть обеспечена возможность выполнения интерпредсказания путем слияния для множества блоков предсказания, разделенных из одного блока кодирования, параллельным способом.
[288]
[289] На Фиг.20 показана концептуальная диаграмма, иллюстрирующая позицию пространственного кандидата слияния в соответствии с формой разделения блока кодирования в соответствии с вариантом осуществления настоящего изобретения.
[290] Со ссылкой на Фиг.20А, в случае горизонтально разделенной формы (2N×nU, 2N×nD, 2N×N), блоки пространственного кандидата слияния в той же самой позиции могут быть использованы независимо от форм разделения с использованием блоков пространственного кандидата слияния в той же самой позиции, которыми являются А0 блок, А1 блок, В0 блок, B1 блок и В2 блок, для второго блока предсказания.
[291] Со ссылкой на Фиг.20В, в случае горизонтально разделенной формы (nL×2N, nR×2N, N×2N), блоки пространственного кандидата слияния в той же самой позиции могут быть использованы независимо от форм разделения с использованием блоков пространственного кандидата слияния в той же самой позиции, которыми являются А0 блок, А1 блок, В0 блок, B1 блок и В2 блок, для второго блока предсказания.
[292] Фиксированная позиция на Фиг.20 является примером использования блока пространственного кандидата слияния в фиксированной позиции в одном блоке кодирования. Иными словами, фиксированная позиция блока пространственного кандидата слияния может быть изменена, и этот вариант осуществления также принадлежит техническому объему настоящего изобретения.
[293]
[294] На Фиг.21 показана концептуальная диаграмма, иллюстрирующая позицию кандидата пространственного слияния в соответствии с формой разделения блока кодирования согласно варианту осуществления настоящего изобретения.
[295] Фиг.21 иллюстрирует случай, когда блок кодирования конкретного размера делится на множество блоков кодирования. В случае, когда тот же список кандидатов слияния совместно используется по отношению к блоку конкретного размера, блок пространственного кандидата слияния может быть получен на основе позиции блока конкретного размера, и один список кандидатов слияния может быть создан с использованием полученного пространственного кандидата слияния. В случае блока кодирования, соответствующего верхнему левому из блоков кодирования, включенных в блок конкретного размера, даже если блоки пространственного кандидата слияния получены по отношению к соответствующему блоку кодирования, все из блоков пространственного кандидата слияния расположены в позициях, где кодирование уже выполнено; поэтому верхние левые блоки кодирования могут быть использованы отдельно путем генерации другого списка кандидатов слияния.
[296] Со ссылкой на Фиг.21 среди блоков предсказания, включенных в блок конкретного размера, остальные блоки предсказания, исключая блок предсказания, включенный в верхний левый блок 2100 кодирования, могут совместно использовать те же самые блоки А0, А1, В0, В1, В2 пространственного кандидата слияния, полученные на основе позиции блока конкретного размера.
[297] Однако, в случае верхнего левого блока 2100 кодирования среди блоков конкретного размера, интерпредсказание посредством слияния может быть выполнено с использованием блока пространственного кандидата слияния, полученного на основе соответствующего блока кодирования. Поскольку, в случае верхнего левого блока 2100 кодирования, блоки пространственного кандидата слияния, полученные на основе соответствующего блока, все расположены в доступных позициях, верхний левый блок кодирования может выполнять интерпредсказание с использованием пространственных кандидатов слияния, полученных из блоков пространственного кандидата слияния, полученных по отношению к позиции верхнего левого блока кодирования.
[298] Временной кандидат слияния может быть получен на основе позиции блока конкретного размера тем же самым образом, как и пространственный кандидат слияния. Временной кандидат слияния определяет доступный блок в порядке Н0, Н1, Н2, Н3 и Н4 блока; и включает доступный блок в список кандидатов слияния для последующего использования. Временной кандидат слияния может быть масштабирован и использован в соответствии с номером изображения опорного изображения. Временной кандидат слияния может использовать не только блоки на границе блока Х’ соответственно Фиг.21, но и также блоки M, N, O, P, Q, расположенные внутри блока.
[299]
[300] На Фиг.22 показана концептуальная диаграмма, иллюстрирующая позицию кандидата пространственного слияния в соответствии с формой разделения блока кодирования согласно варианту осуществления настоящего изобретения.
[301] В случае блока кодирования, удаленного от блока пространственного кандидата слияния по отношению к размеру конкретного блока, Фиг.22 иллюстрирует способ генерации списка кандидатов слияния с использованием временных кандидатов слияния вместо использования пространственных кандидатов слияния, полученных на основе размера конкретного блока.
[302] Со ссылкой на Фиг.22, например, список кандидатов слияния может генерироваться с использованием только временных кандидатов слияния по отношению к блокам размера, определенного как 1 2200. Иными словами, может быть специфицирована единица А блока, с которой генерируется список кандидатов слияния с использованием только временных кандидатов, с помощью конкретного специфицирующего модуля.
[303] Временной кандидат слияния определяет доступный блок в порядке Н0, Н1, Н2, Н3 и Н4 блока; и включает временной кандидат слияния, полученный из доступного блока, в список кандидатов слияния для последующего использования. Вектор движения, полученный из временного кандидата слияния, может быть масштабирован и использован в соответствии с номером изображения для опорного изображения. Временной кандидат слияния может использовать не только блоки на границе блока Х’ соответственно Фиг.22, но также блоки M, N, O, P, Q, расположенные внутри этого блока.
[304] Способы, описанные выше, могут иметь различный диапазон применения в соответствии с размером или глубиной блока кодирования. Параметр, определяющий диапазон применения (а именно, информация о размере блока или информация о глубине блока), может быть установлен так, что кодер или декодер использует предопределенное значение или значение, определенное в соответствии с профилем или уровнем способа кодирования видео. Также, если кодер кодирует значение параметра в битовый поток, декодер может получить это значение из битового потока для последующего использования.
[305] Если имеется потребность дифференцировать диапазон применения в соответствии с глубиной блока кодирования, следующая классификация может быть применена, как показано в Таблице 6: А0 способ, применимый только для глубины большей, чем предопределенное значение, В) способ, применимый только для глубины меньшей, чем предопределенное значение, и С) способ, применимый только для данной глубины.
[306] В случае, если глубина блока кодирования равна 2, Таблица 6 иллюстрирует пример способа для определения диапазона применения способа А), В) и С) (где 0 указывает применимость на соответствующей глубине, 1 указывает неприменимость на соответствующей глубине).
[307] Таблица 6
[308]
[309] В случае, если способы согласно настоящему изобретению, не применимы для всего диапазона глубин, то флаг, такой как “parallel_merge_enabled_flag”, показанный в Таблице 5, может быть использован, чтобы представлять соответствующий случай; или соответствующая информация может быть передана путем включения в синтаксический элемент, представляющий информацию о глубине, которая должна применяться. Такой случай может быть представлен путем сигнализации значения, большего, чем максимальное значение глубины блока кодирования, на единицу в качестве значения глубины блока кодирования, представляющего диапазон применения.
[310]
[311]
[312] На Фиг.23 показана концептуальная схема, иллюстрирующая процедуру, посредством которой множество блоков предсказания декодируются и кодируются параллельным способом, когда используется способ генерации одного списка кандидатов, в соответствии с вариантом осуществления настоящего изобретения.
[313] На Фиг.23А предполагается, что один блок кодирования разделен на два блока предсказания. Например, если блок кодирования удовлетворяет конкретным условиям, обработка параллельного слияния может быть применена к двум блокам предсказания, включенным в блок кодирования, с использованием одного списка кандидатов слияния. Например, если размер блока кодирования является конкретным значением и включен в размер блока, к которому может быть применена обработка параллельного слияния, интерпредсказание посредством слияния может быть выполнено путем получения пространственного кандидата слияния и временного кандидата слияния по отношению к блоку кодирования. Такой способ может быть применен к различным типам блоков.
[314] Фиг.23В иллюстрирует случай, когда кодирование выполняется с использованием списка кандидатов слияния для блока кодирования, разделенного на различные формы. Как показано на чертеже, один блок кодирования может быть разделен на различные типы блоков. Разделенные блоки предсказания могут совместно использовать список кандидатов слияния и выполнять интерпредсказание параллельным образом с применением совместно используемого списка кандидатов слияния. Иными словами, параллельное кодирование возможно для множества блоков предсказания, включенных в один блок кодирования. Способ, представленный выше, может также применяться к декодированию.
[315] С использованием способа, описанного выше, сложность, вследствие генерации списка кандидатов слияния для каждого из блоков предсказания, может быть снижена и в то же время скорость обработки видео может быть увеличена. В случае видео высокого разрешения, такого как UHDTV, параллельная обработка важна при выполнении обработки видео. С использованием способа, соответствующего изобретению, может быть обеспечена возможность обработки видео параллельным образом.
[316] Способ кодирования и декодирования видео, описанный выше, может быть реализован в каждом компонентном модуле устройства кодирования видео и устройства декодирования видео, описанных со ссылкой на Фиг.1 и 2.
[317] Хотя настоящее изобретение было описано со ссылкой на предпочтительные варианты осуществления, специалистам в данной области техники должно быть понятно, что настоящее изобретение может быть модифицировано и изменено различными путями без отклонения от технических принципов и объема настоящего изобретения, определяемого формулой изобретения.
[318]
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И УСТРОЙСТВО ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ СПИСКА КАНДИДАТОВ | 2012 |
|
RU2632154C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ СПИСКА КАНДИДАТОВ | 2016 |
|
RU2632157C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ СПИСКА КАНДИДАТОВ | 2016 |
|
RU2632158C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ СПИСКА КАНДИДАТОВ | 2012 |
|
RU2575419C2 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК | 2019 |
|
RU2769959C1 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК | 2019 |
|
RU2818968C2 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, НА КОТОРОМ ХРАНИТСЯ БИТОВЫЙ ПОТОК | 2019 |
|
RU2795811C2 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК | 2023 |
|
RU2824753C1 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК | 2022 |
|
RU2806878C2 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК | 2019 |
|
RU2775829C1 |
Изобретение относится к технологиям кодирования/декодирования видео. Техническим результатом является улучшение скорости кодирования и декодирования за счет выполнения интерпредсказания параллельным способом путем генерации одиночного списка кандидатов. Предложен способ для декодирования видеосигнала. Способ содержит этап, на котором на основе размера блока кодирования и информации об уровне параллельного слияния определяют, применима ли обработка параллельного слияния, причем информация об уровне параллельного слияния представляет собой информацию о размере блока, к которому применима обработка параллельного слияния. Далее согласно способу извлекают, когда обработка параллельного слияния применима, множество кандидатов слияния, относящихся к первому блоку предсказания, с использованием положения блока кодирования, причем блок кодирования содержит множество блоков предсказания. 3 з.п. ф-лы, 23 ил., 6 табл.
1. Способ для декодирования видеосигнала, содержащий этапы, на которых:
на основе размера блока кодирования и информации об уровне параллельного слияния определяют, применима ли обработка параллельного слияния, причем информация об уровне параллельного слияния представляет собой информацию о размере блока, к которому применима обработка параллельного слияния;
извлекают, когда обработка параллельного слияния применима, множество кандидатов слияния, относящихся к первому блоку предсказания, с использованием положения блока кодирования, причем блок кодирования содержит множество блоков предсказания, а первый блок предсказания является одним из множества блоков предсказания;
генерируют список кандидатов слияния, относящийся к первому блоку предсказания, на основе кандидатов слияния;
извлекают информацию, относящуюся к движению, первого блока предсказания на основе списка кандидатов слияния и индекса слияния; и
получают выборку предсказания путем выполнения интерпредсказания для первого блока предсказания на основе информации, относящейся к движению, первого блока предсказания;
причем кандидаты слияния содержат по меньшей мере один из пространственных соседних блоков, смежных с блоком кодирования, и
причем множество блоков предсказания в блоке кодирования совместно используют список кандидатов слияния, относящийся к первому блоку предсказания.
2. Способ по п.1, в котором индекс слияния указывает кандидата слияния, используемого для интерпредсказания первого блока предсказания, среди множества кандидатов слияния, содержащихся в списке кандидатов слияния.
3. Способ по п.1, в котором информация, относящаяся к движению, содержит по меньшей мере одно из вектора движения, индекса опорного изображения или информации использования списка опорного изображения.
4. Способ по п.1, в котором, когда размер блока кодирования соответствует 8х8 и когда размер блока, к которому применима обработка параллельного слияния, больше чем 4х4, размер первого блока предсказания считается равным размеру блока кодирования, а кандидаты слияния первого блока предсказания извлекаются на основе положения блока кодирования.
KR 20070117432 A, 12.12.2007 | |||
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
ПРОСТРАНСТВЕННО-ВРЕМЕННОЕ ПРОГНОЗИРОВАНИЕ ДЛЯ ДВУНАПРАВЛЕНО ПРОГНОЗИРУЕМЫХ (В) ИЗОБРАЖЕНИЙ И ПРОГНОЗИРОВАНИЕ ВЕКТОРА ДВИЖЕНИЯ ДЛЯ КОМПЕНСАЦИИ ДВИЖЕНИЯ МНОЖЕСТВЕННЫХ ИЗОБРАЖЕНИЙ С ПОМОЩЬЮ ЭТАЛОНА | 2003 |
|
RU2310231C2 |
Авторы
Даты
2017-10-02—Публикация
2012-11-08—Подача