Устройство декодирования кадров, способ декодирования кадров и программа для декодирования кадров

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

 

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

[0001] Настоящее изобретение относится к технологии кодирования и декодирования кадров для разделения кадра на блоки и выполнения предсказания.

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

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

[0004] Документы предшествующего уровня техники

Патентные документы

Патентный документ 1. Не прошедшая экспертизу заявка на патент (Япония), первая публикация, № H9-172644

Сущность изобретения

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

[0006] Например, варианты осуществления, которые описываются ниже, раскрывают следующие аспекты.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0022] Вышеприведенное описание представляет собой пример. Объемы настоящей заявки и настоящее изобретение вообще не ограничены посредством вышеприведенного описания. Кроме того, следует понимать, что описание "настоящего изобретения" в настоящем описании изобретения не ограничивает объем настоящей заявки или настоящего изобретения и используется в качестве примера.

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

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

[0024] Фиг. 1 является блок-схемой устройства кодирования кадров согласно варианту осуществления настоящего изобретения.

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

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

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

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

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

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

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

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

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

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

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

Фиг. 9 является синтаксисом для выражения формы разбиения блоков.

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

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

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

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

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

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

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

Фиг. 16 является блок-схемой подробной конфигурации модуля 102 интер-предсказания по фиг. 1.

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

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

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

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

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

Фиг. 22 является блок-схемой подробной конфигурации модуля 203 интер-предсказания по фиг. 2.

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

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

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

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

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

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

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

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

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

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

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

Фиг. 32 является пояснительной схемой, показывающей предсказание с компенсацией движения, когда время такта опорного кадра (RefL0Pic) L0 находится раньше времени такта целевого кадра (CurPic), в качестве L0-предсказания.

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

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

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

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

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

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

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

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

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

Подробное описание изобретения

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

[0026] Древовидный блок

В варианте осуществления, целевой кадр кодирования/декодирования одинаково разделяется на единицы предварительно определенного размера. Эта единица задается как древовидный блок. Хотя размер древовидного блока составляет 128×128 выборок на фиг. 4, размер древовидного блока не ограничен этим, и любой размер может задаваться. Древовидный блок цели (соответствующей цели кодирования в процессе кодирования или цели декодирования в процессе декодирования) переключается в порядке растрового сканирования, т.е. слева направо и сверху вниз. Внутренняя часть каждого древовидного блока дополнительно может рекурсивно разделяться. Блок, который представляет собой цель кодирования/декодирования после того, как древовидный блок рекурсивно разделяется, задается как блок кодирования. Кроме того, древовидный блок и блок кодирования совместно задаются в качестве блоков. Эффективное кодирование обеспечивается посредством выполнения соответствующего разбиения блоков. Размер древовидного блока может составлять фиксированное значение, предварительно определенное посредством устройства кодирования и устройства декодирования, или размер древовидного блока, определенный посредством устройства кодирования, может быть выполнен с возможностью передаваться в устройство декодирования. Здесь, максимальный размер древовидного блока составляет 128×128 выборок, и минимальный размер древовидного блока составляет 16×16 выборок. Кроме того, максимальный размер блока кодирования составляет 64×64 выборки, и минимальный размер блока кодирования составляет 4×4 выборки.

[0027] Режим предсказания

Переключение выполняется между интра-предсказанием (MODE_INTRA), в котором предсказание выполняется из обработанного сигнала кадров для целевого кадра, и интер-предсказанием (MODE_INTER), в котором предсказание выполняется из сигнала кадров для обработанного кадра в единицах целевых блоков кодирования.

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

Режим, в котором идентифицируются интра-предсказание (MODE_INTRA) и интер-предсказание (MODE_INTER), задается как режим предсказания (PredMode). Режим предсказания (PredMode) имеет интра-предсказание (MODE_INTRA) или интер-предсказание (MODE_INTER) в качестве значения.

[0028] Интер-предсказание

При интер-предсказании, при котором предсказание выполняется из сигнала кадров для обработанного кадра, множество обработанных кадров могут использоваться в качестве опорных кадров. Чтобы управлять множеством опорных кадров, два типа опорных списков в виде L0 (опорного списка 0) и L1 (опорного списка 1) задаются, и опорный кадр идентифицируется с использованием каждого опорного индекса. В P-срезе, может использоваться L0-предсказание (Pred_L0). В B-срезе, могут использоваться L0-предсказание (Pred_L0), L1-предсказание (Pred_L1) и бипредсказание (Pred_BI). L0-предсказание (Pred_L0) представляет собой интер-предсказание, которое ссылается на опорный кадр, управляемый в L0, и L1-предсказание (Pred_L1) представляет собой интер-предсказание, которое ссылается на опорный кадр, управляемый в L1. Бипредсказание (Pred_BI) представляет собой интер-предсказание, при котором как выполняется L0-предсказание, так и L1-предсказание, и ссылаются на один опорный кадр, управляемый в каждом из L0 и L1. Информация для идентификации L0-предсказания, L1-предсказания и бипредсказания задается как режим интер-предсказания. В последующей обработке, константы и переменные с подстрочным индексом LX в выводе предположительно должны обрабатываться для каждого из L0 и L1.

[0029] Режим предикторов векторов движения

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

[0030] Режим объединения

Режим объединения представляет собой режим, в котором информация интер-предсказания целевого блока извлекается из информации интер-предсказания обработанного блока, соседнего с целевым блоком, либо блока, расположенного в идентичной позиции или около (рядом) с целевым блоком из количества блоков, принадлежащих обработанному кадру, без передачи разности векторов движения и опорного индекса.

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

[0032] Соседний блок

Фиг. 11 является пояснительной схемой, показывающей опорный блок, на который ссылаются при извлечении информации интер-предсказания в режиме предикторов векторов движения и режиме объединения. A0, A1, A2, B0, B1, B2 и B3 представляют собой обработанные блоки, соседние с целевым блоком. T0 представляет собой блок, расположенный в идентичной позиции или около (рядом) с целевым блоком в целевом кадре из количества блоков, принадлежащих обработанному кадру.

[0033] A1 и A2 представляют собой блоки, расположенные в левой стороне относительно целевого блока кодирования и соседние с целевым блоком кодирования. B1 и B3 представляют собой блоки, расположенные в верхней стороне относительно целевого блока кодирования и соседние с целевым блоком кодирования. A0, B0 и B2 представляют собой блоки, расположенные снизу слева, сверху справа и сверху слева относительно целевого блока кодирования, соответственно.

[0034] Ниже описываются подробности того, как обрабатывать соседние блоки в режиме предикторов векторов движения и режиме объединения.

[0035] Аффинная компенсация движения

Аффинная компенсация движения представляет собой процесс выполнения компенсации движения посредством разделения блока кодирования на субблоки предварительно определенной единицы и отдельного определения вектора движения для каждого из субблоков, на которые разделяется блок кодирования. Вектор движения каждого субблока извлекается на основе одной или более управляющих точек, извлекаемых из информации интер-предсказания обработанного блока, соседнего с целевым блоком, либо блока, расположенного в идентичной позиции или около (рядом) с целевым блоком из количества блоков, принадлежащих обработанному кадру. Хотя размер субблока составляет 4×4 выборки в настоящем варианте осуществления, размер субблока не ограничен этим, и вектор движения может извлекаться в единицах выборок.

[0036] Пример аффинной компенсации движения в случае двух управляющих точек показывается на фиг. 14. В этом случае, две управляющих точки имеют два параметра в виде компонента горизонтального направления и компонента вертикального направления. Таким образом, аффинное преобразование в случае двух управляющих точек называется "четырехпараметрическим аффинным преобразованием". CP1 и CP2 по фиг. 14 представляют собой управляющие точки.

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

[0037] Аффинная компенсация движения может использоваться как в режиме предикторов векторов движения, так и в режиме объединения. Режим, в котором аффинная компенсация движения применяется в режиме предикторов векторов движения, задается как режим предикторов векторов движения на основе субблоков, и режим, в котором аффинная компенсация движения применяется в режиме объединения, задается как режим объединения на основе субблоков.

[0038] Синтаксис интер-предсказания

В дальнейшем описывается синтаксис, связанный со интер-предсказанием, с использованием фиг. 12 и 13.

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

Фиг. 13 показывает значение каждого синтаксического элемента и способ предсказания, соответствующий ему. Режим нормального объединения соответствует merge_flag=1 и merge_affine_flag=0 и не представляет собой режим объединения на основе субблоков. Режим объединения на основе субблоков соответствует merge_flag=1 и merge_affine_flag=1. Режим предикторов нормальных векторов движения соответствует merge_flag=0 и inter_affine_flag=0. Режим предикторов нормальных векторов движения представляет собой режим объединения предиктора вектора движения, который не представляет собой режим предикторов векторов движения на основе субблоков. Режим предикторов векторов движения на основе субблоков соответствует merge_flag=0 и inter_affine_flag=1. Когда merge_flag=0 и inter_affine_flag=1, cu_affine_type_flag дополнительно передается, чтобы определять количество управляющих точек.

[0039] POC

Номер в последовательности кадров (POC) представляет собой переменную, ассоциированную с кадром, который должен кодироваться, и задается равным значению, которое постепенно увеличивается на 1 согласно порядку вывода кадров. Согласно POC-значению, можно различать то, являются или нет кадры идентичными, чтобы различать переднезаднюю взаимосвязь между кадрами в порядке вывода или извлекать расстояние между кадрами. Например, если POC двух кадров имеют идентичное значение, может определяться то, что они представляют собой идентичный кадр. Когда POC двух кадров имеют различные значения, может определяться то, что кадр с меньшим POC-значением представляет собой кадр, который должен выводиться первым. Разность между POC двух кадров указывает межкадровое расстояние в направлении временной оси.

[0040] Первый вариант осуществления

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

[0041] Фиг. 1 является блок-схемой устройства 100 кодирования кадров согласно первому варианту осуществления. Устройство 100 кодирования кадров согласно варианту осуществления включает в себя модуль 101 разбиения блоков, модуль 102 интер-предсказания, модуль 103 интра-предсказания, запоминающее устройство 104 декодированных кадров, модуль 105 определения способа предсказания, модуль 106 формирования остатков, модуль 107 ортогонального преобразования/квантования, модуль 108 кодирования битовых строк, модуль 109 обратного квантования/обратного ортогонального преобразования, модуль 110 наложения сигналов кадров для декодирования и запоминающее устройство 111 для хранения информации кодирования.

[0042] Модуль 101 разбиения блоков рекурсивно разделяет входной кадр, чтобы формировать блок кодирования. Модуль 101 разбиения блоков включает в себя модуль квадратического разбиения, который разделяет разбитый целевой блок в горизонтальном направлении и в вертикальном направлении, и модуль двоичного/троичного разбиения, который разделяет разбитый целевой блок либо в горизонтальном направлении, либо в вертикальном направлении. Модуль 101 разбиения блоков задает сформированный блок кодирования в качестве целевого блока кодирования и предоставляет сигнал кадров целевого блока кодирования в модуль 102 интер-предсказания, модуль 103 интра-предсказания и модуль 106 формирования остатков. Кроме того, модуль 101 разбиения блоков предоставляет информацию, указывающую определенную структуру рекурсивного разбиения, в модуль 108 кодирования битовых строк. Ниже описывается подробная работа модуля 101 разбиения блоков.

[0043] Модуль 102 интер-предсказания выполняет интер-предсказание целевого блока кодирования. Модуль 102 интер-предсказания извлекает множество потенциально подходящих вариантов информации интер-предсказания из информации интер-предсказания, сохраненной в запоминающем устройстве 111 для хранения информации кодирования, и декодированного сигнала кадров, сохраненного в запоминающем устройстве 104 декодированных кадров, выбирает подходящий режим интер-предсказания из множества извлеченных потенциально подходящих вариантов и предоставляет выбранный режим интер-предсказания и предсказанный сигнал кадров согласно выбранному режиму интер-предсказания в модуль 105 определения способа предсказания. Ниже описывается подробная конфигурация и работа модуля 102 интер-предсказания.

[0044] Модуль 103 интра-предсказания выполняет интра-предсказание целевого блока кодирования. Модуль 103 интра-предсказания ссылается на декодированный сигнал кадров, сохраненный в запоминающем устройстве 104 декодированных кадров в качестве опорной выборки, и формирует предсказанный сигнал кадров согласно интра-предсказанию на основе информации кодирования, такой как режим интра-предсказания, сохраненной в запоминающем устройстве 111 для хранения информации кодирования. При интра-предсказании, модуль 103 интра-предсказания выбирает подходящий режим интра-предсказания из множества режимов интра-предсказания и предоставляет выбранный режим интра-предсказания и предсказанный сигнал кадров согласно выбранному режиму интра-предсказания в модуль 105 определения способа предсказания.

Примеры интра-предсказания показаны на фиг. 10A и 10B. Фиг. 10A показывает соответствие между направлением предсказания интра-предсказания и номером режима интра-предсказания. Например, в режиме 50 интра-предсказания, кадр интра-предсказания формируется посредством копирования опорных выборок в вертикальном направлении. Режим 1 интра-предсказания представляет собой DC-режим и представляет собой режим, в котором все выборочные значения целевого блока составляют среднее значение опорных выборок. Режим 0 интра-предсказания представляет собой планарный режим и представляет собой режим для создания двумерного кадра интра-предсказания из опорных выборок в вертикальном и горизонтальном направлениях. Фиг. 10B представляет собой пример, в котором кадр интра-предсказания, формируется в случае режима 40 интра-предсказания. Модуль 103 интра-предсказания копирует значение опорной выборки в направлении, указываемом посредством режима интра-предсказания, относительно каждой выборки целевого блока. Когда опорная выборка режима интра-предсказания не находится в целочисленной позиции, модуль 103 интра-предсказания определяет опорное выборочное значение согласно интерполяции из опорных выборочных значений соседних целочисленных позиций.

[0045] Запоминающее устройство 104 декодированных кадров сохраняет декодированный кадр, сформированный посредством модуля 110 наложения сигналов кадров для декодирования. Запоминающее устройство 104 декодированных кадров предоставляет сохраненный декодированный кадр в модуль 102 интер-предсказания и модуль 103 интра-предсказания.

[0046] Модуль 105 определения способа предсказания определяет оптимальный режим предсказания посредством оценки каждого интра-предсказания и интер-предсказания с использованием информации кодирования, остаточного объема кода, величины искажения между предсказанным сигналом кадров и целевым сигналом кадров и т.п. В случае интра-предсказания, модуль 105 определения способа предсказания предоставляет информацию интра-предсказания, такую как режим интра-предсказания, в качестве информации кодирования в модуль 108 кодирования битовых строк. В случае режима интер-предсказанного объединения, модуль 105 определения способа предсказания предоставляет информацию интер-предсказания, такую как индекс объединения и информация, указывающая то, представляет режим собой или нет режим объединения на основе субблоков (флаг объединения на основе субблоков), в качестве информации кодирования в модуль 108 кодирования битовых строк. В случае режима предикторов векторов движения интер-предсказания, модуль 105 определения способа предсказания предоставляет информацию интер-предсказания, такую как режим интер-предсказания, индекс предиктора вектора движения, опорные индексы L0 и L1, разность векторов движения и информация, указывающая то, представляет режим собой или нет режим предикторов векторов движения на основе субблоков (флаг предиктора вектора движения на основе субблоков), в качестве информации кодирования в модуль 108 кодирования битовых строк. Дополнительно, модуль 105 определения способа предсказания предоставляет определенную информацию кодирования в запоминающее устройство 111 для хранения информации кодирования. Модуль 105 определения способа предсказания предоставляет предсказанный сигнал кадров в модуль 106 формирования остатков и модуль 110 наложения сигналов кадров для декодирования.

[0047] Модуль 106 формирования остатков формирует остаток посредством вычитания предсказанного сигнала кадров из целевого сигнала кадров и предоставляет остаток в модуль 107 ортогонального преобразования/квантования.

[0048] Модуль 107 ортогонального преобразования/квантования выполняет ортогональное преобразование и квантование для остатка в соответствии с параметром квантования, чтобы формировать ортогонально преобразованный/квантованный остаток, и предоставляет сформированный остаток в модуль 108 кодирования битовых строк и модуль 109 обратного квантования/обратного ортогонального преобразования.

[0049] Модуль 108 кодирования битовых строк кодирует информацию кодирования согласно способу предсказания, определенному посредством модуля 105 определения способа предсказания для каждого блока кодирования, в дополнение к информации единиц последовательностей, кадров, срезов и блоков кодирования. В частности, модуль 108 кодирования битовых строк кодирует режим PredMode предсказания для каждого блока кодирования. Когда режим предсказания представляет собой интер-предсказание (MODE_INTER), модуль 108 кодирования битовых строк кодирует информацию кодирования (информацию интер-предсказания), такую как флаг для различения того, представляет или нет режим собой режим объединения, флаг объединения на основе субблоков, индекс объединения, когда режим представляет собой режим объединения, режим интер-предсказания, когда режим не представляет собой режим объединения, индекс предиктора вектора движения, информация относительно разности векторов движения и флаг предиктора вектора движения на основе субблоков в соответствии с указанным синтаксисом (синтаксическим правилом для битовых строк) и формирует первые битовые строки. Когда режим предсказания представляет собой интра-предсказание (MODE_INTRA), информация кодирования (информация интра-предсказания), такая как режим интра-предсказания кодируется в соответствии с указанным синтаксисом (синтаксическим правилом для битовых строк), и первые битовые строки формируются. Кроме того, модуль 108 кодирования битовых строк энтропийно кодирует ортогонально преобразованный и квантованный остаток в соответствии с указанным синтаксисом, чтобы формировать вторые битовые строки. Модуль 108 кодирования битовых строк мультиплексирует первые битовые строки и вторые битовые строки в соответствии с указанным синтаксисом и выводит поток битов.

[0050] Модуль 109 обратного квантования/обратного ортогонального преобразования вычисляет остаток посредством выполнения обратного квантования и обратного ортогонального преобразования для ортогонально преобразованного/квантованного остатка, предоставляемого из модуля 107 ортогонального преобразования/квантования, и предоставляет вычисленный остаток в модуль 110 наложения сигналов кадров для декодирования.

[0051] Модуль 110 наложения сигналов кадров для декодирования накладывает предсказанный сигнал кадров согласно определению модуля 105 определения способа предсказания и остаток, обратно квантованный и обратно ортогонально преобразованный посредством модуля 109 обратного квантования/обратного ортогонального преобразования, чтобы формировать декодированный кадр, и сохраняет декодированный кадр в запоминающем устройстве 104 декодированных кадров. Кроме того, модуль 110 наложения сигналов кадров для декодирования может сохранять декодированный кадр в запоминающем устройстве 104 декодированных кадров после выполнения процесса фильтрации для уменьшения искажения, такого как искажение в виде блочности вследствие кодирования для декодированного кадра.

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

[0053] Фиг. 2 является блок-схемой, показывающей конфигурацию устройства декодирования кадров согласно варианту осуществления настоящего изобретения, соответствующего устройству кодирования кадров по фиг. 1. Устройство декодирования кадров согласно варианту осуществления включает в себя модуль 201 декодирования битовых строк, модуль 202 разбиения блоков, модуль 203 интер-предсказания, модуль 204 интра-предсказания, запоминающее устройство 205 для хранения информации кодирования, модуль 206 обратного квантования/обратного ортогонального преобразования, модуль 207 наложения сигналов кадров для декодирования и запоминающее устройство 208 декодированных кадров.

[0054] Поскольку процесс декодирования устройства декодирования кадров по фиг. 2 соответствует процессу декодирования, предоставленному в устройстве кодирования кадров по фиг. 1, компоненты запоминающего устройства 205 для хранения информации кодирования, модуля 206 обратного квантования/обратного ортогонального преобразования, модуля 207 наложения сигналов кадров для декодирования и запоминающего устройства 208 декодированных кадров по фиг. 2 имеют функции, соответствующие компонентам запоминающего устройства 111 для хранения информации кодирования, модуля 109 обратного квантования/обратного ортогонального преобразования, модуля 110 наложения сигналов кадров для декодирования и запоминающего устройства 104 декодированных кадров устройства кодирования кадров по фиг. 1.

[0055] Поток битов, предоставляемый в модуль 201 декодирования битовых строк, разделяется в соответствии с указанным синтаксическим правилом. Модуль 201 декодирования битовых строк декодирует отделенную первую битовую строку и получает информацию единиц последовательностей, кадров, срезов, блоков кодирования и информацию кодирования единиц блоков кодирования. В частности, модуль 201 декодирования битовых строк декодирует режим PredMode предсказания для различения интер-предсказания (MODE_INTER) или интра-предсказания (MODE_INTRA) в единицах блоков кодирования. Когда режим предсказания представляет собой интер-предсказание (MODE_INTER), модуль 201 декодирования битовых строк декодирует информацию кодирования (информацию интер-предсказания) относительно флага для различения того, представляет или нет режим собой режим объединения, индекс объединения, когда режим представляет собой режим объединения, флаг объединения на основе субблоков, режим интер-предсказания, когда режим представляет собой режим предикторов векторов движения, индекс предиктора вектора движения, разность векторов движения, флаг предиктора вектора движения на основе субблоков и т.п. в соответствии с указанным синтаксисом и предоставляет информацию кодирования (информацию интер-предсказания) в запоминающее устройство 205 для хранения информации кодирования через модуль 203 интер-предсказания и модуль 202 разбиения блоков. Когда режим предсказания представляет собой интра-предсказание (MODE_INTRA), информация кодирования (информация интра-предсказания), такая как режим интра-предсказания декодируется в соответствии с указанным синтаксисом, и информация кодирования (информация интра-предсказания) предоставляется в запоминающее устройство 205 для хранения информации кодирования через модуль 203 интер-предсказания или модуль 204 интра-предсказания и модуль 202 разбиения блоков. Модуль 201 декодирования битовых строк декодирует отделенные вторые битовые строки, чтобы вычислять ортогонально преобразованный/квантованный остаток, и предоставляет ортогонально преобразованный/квантованный остаток в модуль 206 обратного квантования/обратного ортогонального преобразования.

[0056] Когда режим PredMode предсказания целевого блока кодирования представляет собой режим предикторов векторов движения при интер-предсказании (MODE_INTER), модуль 203 интер-предсказания извлекает множество потенциально подходящих вариантов предикторов векторов движения с использованием информации кодирования ранее декодированного сигнала кадров, сохраненной в запоминающем устройстве 205 для хранения информации кодирования, и регистрирует множество извлеченных потенциально подходящих вариантов предикторов векторов движения в списке потенциально подходящих вариантов предикторов векторов движения, который описывается ниже. Модуль 203 интер-предсказания выбирает предиктор вектора движения согласно индексу предиктора вектора движения, декодированному и предоставляемому посредством модуля 201 декодирования битовых строк, из множества потенциально подходящих вариантов предикторов векторов движения, зарегистрированных в списке потенциально подходящих вариантов предикторов векторов движения, вычисляет вектор движения из разности векторов движения, декодированной посредством модуля 201 декодирования битовых строк, и выбранного предиктора вектора движения, и сохраняет вычисленный вектор движения в запоминающем устройстве 205 для хранения информации кодирования вместе с другой информацией кодирования. Информация кодирования блока кодирования, предоставляемая/сохраненная здесь, представляет собой режим PredMode предсказания, флаги predFlagL0[xP][yP] и predFlagL1[xP][yP], указывающие то, следует использовать L0-предсказание и L1-предсказание, опорные индексы refIdxL0[xP][yP] и refIdxL1[xP][yP] L0 и L1, векторы mvL0[xP][yP] и mvL1[xP][yP] движения L0 и L1 и т.п. Здесь, xP и yP представляют собой индексы, указывающие позицию верхней левой выборки блока кодирования в кадре. Когда режим PredMode предсказания представляет собой интер-предсказание (MODE_INTER), и режим интер-предсказания представляет собой L0-предсказание (Pred_L0), флаг predFlagL0, указывающий то, следует или нет использовать L0-предсказание, равен 1, и флаг predFlagL1, указывающий то, следует или нет использовать L1-предсказание, равен 0. Когда режим интер-предсказания представляет собой L1-предсказание (Pred_L1), флаг predFlagL0, указывающий то, следует или нет использовать L0-предсказание, равен, 0 и флаг predFlagL1, указывающий то, следует или нет использовать L1-предсказание, равен 1. Когда режим интер-предсказания представляет собой бипредсказание (Pred_BI), и флаг predFlagL0, указывающий то, следует или нет использовать L0-предсказание, и флаг predFlagL1, указывающий то, следует или нет использовать L1-предсказание, равны 1. Дополнительно, потенциально подходящие варианты объединения извлекаются в режиме объединения, в котором режим PredMode предсказания блока кодирования цели представляет собой интер-предсказание (MODE_INTER). Множество потенциально подходящих вариантов объединения извлекаются с использованием информации кодирования ранее декодированных блоков кодирования, сохраненной в запоминающем устройстве 205 для хранения информации кодирования, и регистрируются в списке потенциально подходящих вариантов объединения, который описывается ниже, потенциально подходящий вариант объединения, соответствующий индексу объединения, который должен декодироваться и предоставляться посредством модуля 201 декодирования битовых строк, выбирается из множества потенциально подходящих вариантов объединения, зарегистрированных в списке потенциально подходящих вариантов объединения, и информация интер-предсказания, такая как флаги predFlagL0[xP][yP] и predFlagL1[xP][yP], указывающие то, следует или нет использовать L0-предсказание и L1-предсказание выбранного потенциально подходящего варианта объединения, опорные индексы refIdxL0[xP][yP] и refIdxL1[xP][yP] L0 и L1 и векторы mvL0[xP][yP] и mvL1[xP][yP] движения L0 и L1, сохраняется в запоминающем устройстве 205 для хранения информации кодирования. Здесь, xP и yP представляют собой индексы, указывающие позицию верхней левой выборки блока кодирования в кадре. Ниже описывается подробная конфигурация и работа модуля 203 интер-предсказания.

[0057] Модуль 204 интра-предсказания выполняет интра-предсказание, когда режим PredMode предсказания блока кодирования цели представляет собой интра-предсказание (MODE_INTRA). Информация кодирования, декодированная посредством модуля 201 декодирования битовых строк, включает в себя режим интра-предсказания. Модуль 204 интра-предсказания формирует предсказанный сигнал кадров согласно интра-предсказанию из декодированного сигнала кадров, сохраненного в запоминающем устройстве 208 декодированных кадров, в соответствии с режимом интра-предсказания, включенным в информацию кодирования, декодированную посредством модуля 201 декодирования битовых строк, и предоставляет сформированный предсказанный сигнал кадров в модуль 207 наложения сигналов кадров для декодирования. Поскольку модуль 204 интра-предсказания соответствует модулю 103 интра-предсказания устройства 100 кодирования кадров, процесс, аналогичный процессу модуля 103 интра-предсказания, выполняется.

[0058] Модуль 206 обратного квантования/обратного ортогонального преобразования выполняет обратное ортогональное преобразование и обратное квантование для ортогонально преобразованного/квантованного остатка, декодированного посредством модуля 201 декодирования битовых строк, и получает обратно ортогонально преобразованный/обратно квантованный остаток.

[0059] Модуль 207 наложения сигналов кадров для декодирования декодирует сигнал кадров для декодирования посредством наложения предсказанного сигнала кадров, предсказанного в интер-режиме посредством модуля 203 интер-предсказания, или предсказанного сигнала кадров, предсказанного в интер-режиме посредством модуля 204 интра-предсказания, и остатка, обратно ортогонально преобразованного/обратно квантованного посредством модуля 206 обратного квантования/обратного ортогонального преобразования, и сохраняет декодированный сигнал кадров для декодирования в запоминающем устройстве 208 декодированных кадров. Во время хранения в запоминающем устройстве 208 декодированных кадров, модуль 207 наложения сигналов кадров для декодирования может сохранять декодированный кадр в запоминающем устройстве 208 декодированных кадров после того, как процесс фильтрации для уменьшения искажения в виде блочности и т.п. вследствие кодирования выполняется для декодированного кадра.

[0060] Далее описывается работа модуля 101 разбиения блоков в устройстве 100 кодирования кадров. Фиг. 3 является блок-схемой последовательности операций способа, показывающей операцию разделения кадра на древовидные блоки и дополнительного разделения каждого древовидного блока. Во-первых, входной кадр разделяется на древовидные блоки, имеющие предварительно определенный размер (этап S1001). Каждый древовидный блок сканируется в предварительно определенном порядке, т.е. в порядке растрового сканирования (этап S1002), и внутренняя часть древовидного блока цели разделяется (этап S1003).

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

[0062] Когда определяется то, что целевой блок должен разделяться на четыре части, целевой блок разделяется на четыре части (этап S1102). Каждый блок, полученный посредством разделения целевого блока, сканируется в порядке Z-сканирования, т.е. в порядке верхней левой, верхней правой, нижней левой и нижней правой частей (этап S1103). Фиг. 5 показывает пример порядка Z-сканирования, и ссылка с номером 601 по фиг. 6A показывает пример, в котором целевой блок разделяется на четыре части. Числа 0-3 ссылки с номером 601 по фиг. 6A указывают порядок обработки. Затем процесс разбиения по фиг. 7 рекурсивно выполняется для каждого блока из разделения на этапе S1101 (этап S1104).

[0063] Когда определяется то, что целевой блок не должен разделяться на четыре части, двоичное/троичное разбиение выполняется (этап S1105).

[0064] Фиг. 8 является блок-схемой последовательности операций способа, показывающей подробную работу процесса двоичного/троичного разбиения этапа S1105. Во-первых, определяется то, должен либо нет целевой блок разделяться на две или три части, т.е. то, должно либо нет выполняться двоичное или троичное разбиение (этап S1201).

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

[0066] Когда определяется то, что целевой блок должен разделяться на две или три части, дополнительно определяется то, должен или нет целевой блок разделяться на две части (этап S1202).

[0067] Когда определяется то, что целевой блок должен разделяться на две части, определяется то, должен или нет целевой блок разделяться на верхнюю и нижнюю части (в вертикальном направлении) (этап S1203). На основе результата определения, целевой блок разделяется на две части, которые представляют собой верхнюю и нижнюю части (в вертикальном направлении) (этап S1204), или целевой блок разделяется на две части, которые представляют собой левую и правую части (в горизонтальном направлении) (этап S1205). Как результат этапа S1204, целевой блок разделяется на две части, которые представляют собой верхнюю и нижнюю части (в вертикальном направлении), как указано посредством ссылки с номером 602 на фиг. 6B. Как результат этапа S1205, целевой блок разделяется на две части, которые представляют собой левую и правую части (в горизонтальном направлении), как указано посредством ссылки с номером 604 по фиг. 6D.

[0068] Когда не определяется то, что целевой блок должен разделяться на две части, т.е. когда определяется то, что целевой блок должен разделяться на три части, на этапе S1202, определяется то, должен или нет целевой блок разделяться на верхнюю, среднюю и нижнюю части (в вертикальном направлении) (этап S1206). На основе результата определения, целевой блок разделяется на три части, которые представляют собой верхнюю, среднюю и нижнюю части (в вертикальном направлении) (этап S1207), или целевой блок разделяется на три части, которые представляют собой левую, среднюю и правую части (в горизонтальном направлении) (этап S1208). Как результат этапа S1207, целевой блок разделяется на три части, которые представляют собой верхнюю, среднюю и нижнюю части (в вертикальном направлении), как указано посредством ссылки с номером 603 по фиг. 6C. Как результат этапа S1208, целевой блок разделяется на три части, которые представляют собой левую, среднюю и правую части (в горизонтальном направлении), как указано посредством ссылки с номером 605 по фиг. 6E.

[0069] После того, как любой из этапов S1204, S1205, S1207 и S1208 выполняется, каждый из блоков, на которые разделяется целевой блок, сканируется в порядке слева направо и сверху вниз (этапе S1209). Номера 0-2 ссылок с номерами 602-605 по фиг. 6B в 6E указывают порядок обработки. Для каждого из блоков, на которые разделяется целевой блок, процесс двоичного/троичного разбиения по фиг. 8 рекурсивно выполняется (этап S1210).

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

[0071] Когда определенный блок разделяется, блок перед разбиением называется "родительским блоком", и каждый блок после разбиения называется "дочерним блоком".

[0072] Далее описывается работа модуля 202 разбиения блоков в устройстве 200 декодирования кадров. Модуль 202 разбиения блоков разделяет древовидный блок согласно процедуре обработки, аналогичной процедуре модуля 101 разбиения блоков устройства 100 кодирования кадров. Тем не менее, имеется отличие в том, что модуль 101 разбиения блоков устройства 100 кодирования кадров применяет технологию оптимизации, такую как оценка оптимальной формы на основе распознавания кадров либо оптимизация показателя искажения, чтобы определять оптимальную форму разбиения блоков, тогда как модуль 202 разбиения блоков устройства 200 декодирования кадров определяет форму разбиения блоков посредством информации разбиения декодирования блока, записанной в битовой строке.

[0073] Синтаксис (синтаксическое правило для битовых строк), связанный с разбиением блоков согласно первому варианту осуществления, показывается на фиг. 9; coding_quadtree() представляет синтаксис, связанный с процессом квадратического разбиения для блока; multi_type_tree() представляет синтаксис, связанный с процессом двоичного или троичного разбиения для блока; qt_split представляет собой флаг, указывающий то, разделяется или нет блок на четыре части; qt_split=1, когда блок разделяется на четыре части, и qt_split=0, когда блок не разделяется на четыре части. Когда блок разделяется на четыре части (qt_split=1), процесс квадратического разбиения рекурсивно выполняется для блоков, каждый из которых разделен на четыре части (coding_quadtree (0), coding_quadtree (1), coding_quadtree (2), coding_quadtree (3), и аргументы 0-3 соответствуют числам, указываемым посредством ссылки с номером 601 по фиг. 6A). Когда блок не разделяется на четыре части (qt_split=0), последующее разбиение определяется согласно multi_type_tree(); mtt_split представляет собой флаг, указывающий то, выполняется дополнительно разбиение либо нет. Когда разбиение дополнительно выполняется (mtt_split=1), передаются mtt_split_vertical, который представляет собой флаг, указывающий то, разделяется блок вертикально или горизонтально, и mtt_split_binary, который представляет собой флаг для определения того, выполняется двоичное или троичное разбиение; mtt_split_vertical=1 указывает разбиение в вертикальном направлении, и mtt_split_vertical=0 указывает разбиение в горизонтальном направлении; mtt_split_binary=1 указывает двоичное разбиение, и mtt_split_binary=0 указывает троичное разбиение. При двоичном разбиении (mtt_split_binary=1), процесс разбиения рекурсивно выполняется для блоков, каждый из которых разделяется на две части (multi_type_tree (0), multi_type_tree (1), и аргументы 0-1 соответствуют числам, указываемым посредством ссылки с номером 602 или 604 на фиг. 6B в 6D). В случае троичного разбиения (mtt_split_binary=0), процесс разбиения рекурсивно выполняется для блоков, каждый из которых разделяется на три части (multi_type_tree (0), multi_type_tree (1), multi_type_tree (2), и аргументы 0-2 соответствуют числам, указываемым посредством ссылки с номером 603 по фиг. 6B, или числам, указываемым посредством ссылки с номером 605 по фиг. 6E). До тех пор, пока mtt_split=0 не достигается, иерархическое разбиение блоков выполняется посредством рекурсивного вызова multi_type_tree.

[0074] Интер-предсказание

Способ интер-предсказания согласно варианту осуществления осуществляется в модуле 102 интер-предсказания устройства кодирования кадров по фиг. 1 и в модуле 203 интер-предсказания устройства декодирования кадров по фиг. 2.

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

[0076] Описание модуля 102 интер-предсказания на стороне кодирования

Фиг. 16 является схемой, показывающей подробную конфигурацию модуля 102 интер-предсказания устройства кодирования кадров на фиг. 1. Модуль 301 извлечения режимов предикторов нормальных векторов движения извлекает множество потенциально подходящих вариантов предикторов нормальных векторов движения, чтобы выбирать предиктор вектора движения, и вычисляет разность векторов движения между выбранным предиктором вектора движения и обнаруженным вектором движения. Обнаруженный режим интер-предсказания, опорный индекс и вектор движения и вычисленная разность векторов движения становятся информацией интер-предсказания режима предикторов нормальных векторов движения. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания. Ниже описывается подробная конфигурация и процесс модуля 301 извлечения режимов предикторов нормальных векторов движения.

[0077] Модуль 302 извлечения режимов нормального объединения извлекает множество потенциально подходящих вариантов нормального объединения, чтобы выбирать потенциально подходящий вариант нормального объединения, и получает информацию интер-предсказания режима нормального объединения. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания. Ниже описывается подробная конфигурация и процесс модуля 302 извлечения режимов нормального объединения.

[0078] Модуль 303 извлечения режимов предикторов векторов движения на основе субблоков извлекает множество потенциально подходящих вариантов предикторов векторов движения на основе субблоков, чтобы выбирать предиктор вектора движения на основе субблоков, и вычисляет разность векторов движения между выбранным предиктором вектора движения на основе субблоков и обнаруженным вектором движения. Обнаруженный режим интер-предсказания, опорный индекс и вектор движения и вычисленная разность векторов движения становятся информацией интер-предсказания режима предикторов векторов движения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания.

[0079] Модуль 304 извлечения режимов объединения на основе субблоков извлекает множество потенциально подходящих вариантов объединения на основе субблоков, чтобы выбирать потенциально подходящий вариант объединения на основе субблоков, и получает информацию интер-предсказания режима объединения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 305 определения режима интер-предсказания.

[0080] Модуль 305 определения режима интер-предсказания определяет информацию интер-предсказания на основе информации интер-предсказания, предоставляемой из модуля 301 извлечения режимов предикторов нормальных векторов движения, модуля 302 извлечения режимов нормального объединения, модуля 303 извлечения режимов предикторов векторов движения на основе субблоков и модуля 304 извлечения режимов объединения на основе субблоков. Информация интер-предсказания согласно результату определения предоставляется из модуля 305 определения режима интер-предсказания в модуль 306 предсказания с компенсацией движения.

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

[0082] Описание модуля 203 интер-предсказания декодирования на стороне декодирования

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

[0083] Модуль 401 извлечения режимов предикторов нормальных векторов движения извлекает множество потенциально подходящих вариантов предикторов нормальных векторов движения, чтобы выбирать предиктор вектора движения, вычисляет сумму выбранного предиктора вектора движения и декодированной разности векторов движения и задает вычисленную сумму в качестве вектора движения. Декодированный режим интер-предсказания, опорный индекс и вектор движения становятся информацией интер-предсказания режима предикторов нормальных векторов движения. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408. Ниже описывается подробная конфигурация и процесс модуля 401 извлечения режимов предикторов нормальных векторов движения.

[0084] Модуль 402 извлечения режимов нормального объединения извлекает множество потенциально подходящих вариантов нормального объединения, чтобы выбирать потенциально подходящий вариант нормального объединения, и получает информацию интер-предсказания режима нормального объединения. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408. Ниже описывается подробная конфигурация и процесс модуля 402 извлечения режимов нормального объединения.

[0085] Модуль 403 извлечения режимов предикторов векторов движения на основе субблоков извлекает множество потенциально подходящих вариантов предикторов векторов движения на основе субблоков, чтобы выбирать предиктор вектора движения на основе субблоков, вычисляет сумму выбранного предиктора вектора движения на основе субблоков и декодированной разности векторов движения и задает вычисленную сумму в качестве вектора движения. Декодированный режим интер-предсказания, опорный индекс и вектор движения становятся информацией интер-предсказания режима предикторов векторов движения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408.

[0086] Модуль 404 извлечения режимов объединения на основе субблоков извлекает множество потенциально подходящих вариантов объединения на основе субблоков, чтобы выбирать потенциально подходящий вариант объединения на основе субблоков, и получает информацию интер-предсказания режима объединения на основе субблоков. Эта информация интер-предсказания предоставляется в модуль 406 предсказания с компенсацией движения через переключатель 408.

[0087] Модуль 406 предсказания с компенсацией движения выполняет интер-предсказание для опорного сигнала кадров, сохраненного в запоминающем устройстве 208 декодированных кадров, на основе определенной информации интер-предсказания. Подробная конфигурация и процесс модуля 406 предсказания с компенсацией движения являются аналогичными подробной конфигурации и процессу модуля 306 предсказания с компенсацией движения на стороне кодирования.

[0088] Модуль извлечения режимов предикторов нормальных векторов движения (нормальное AMVP)

Модуль 301 извлечения режимов предикторов нормальных векторов движения по фиг. 17 включает в себя модуль 321 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуль 322 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуль 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, модуль 325 пополнения потенциально подходящих вариантов предикторов векторов движения, модуль 326 обнаружения нормальных векторов движения, модуль 327 выбора потенциально подходящих вариантов предикторов векторов движения и модуль 328 вычитания векторов движения.

[0089] Модуль 401 извлечения режимов предикторов нормальных векторов движения по фиг. 23 включает в себя модуль 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуль 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуль 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, модуль 425 пополнения потенциально подходящих вариантов предикторов векторов движения, модуль 426 выбора потенциально подходящих вариантов предикторов векторов движения и модуль 427 суммирования векторов движения.

[0090] В дальнейшем описываются процедуры обработки модуля 301 извлечения режимов предикторов нормальных векторов движения на стороне кодирования и модуля 401 извлечения режимов предикторов нормальных векторов движения на стороне декодирования с использованием блок-схем последовательности операций способа по фиг. 19 и 25, соответственно. Фиг. 19 является блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения режимов предикторов нормальных векторов движения модуля 301 извлечения режимов предикторов нормальных векторов движения на стороне кодирования, и фиг. 25 является блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения режимов предикторов нормальных векторов движения модуля 401 извлечения режимов предикторов нормальных векторов движения на стороне декодирования.

[0091] Модуль извлечения режимов предикторов нормальных векторов движения (нормальное AMVP): описание на стороне кодирования

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

[0092] Во-первых, модуль 326 обнаружения нормальных векторов движения обнаруживает нормальный вектор движения для каждого режима интер-предсказания и каждого опорного индекса (этап S100 по фиг. 19).

[0093] Затем, в модуле 321 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 322 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, модуле 325 пополнения потенциально подходящих вариантов предикторов векторов движения, модуле 327 выбора потенциально подходящих вариантов предикторов векторов движения и модуле 328 вычитания векторов движения, разность векторов движения для вектора движения, используемого для интер-предсказания режима предикторов нормальных векторов движения, вычисляется для каждого из L0 и L1 (этапы S101-S106 по фиг. 19). В частности, когда режим PredMode предсказания целевого блока представляет собой интер-предсказание (MODE_INTER), и режим интер-предсказания представляет собой L0-предсказание (Pred_L0), список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения, и разность mvdL0 векторов движения вектора mvL0 движения L0 вычисляется. Когда режим интер-предсказания целевого блока представляет собой L1-предсказание (Pred_L1), список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения, и разность mvdL1 векторов движения вектора mvL1 движения L1 вычисляется. Когда режим интер-предсказания целевого блока представляет собой бипредсказание (Pred_BI), L0-предсказание и L1-предсказание выполняются, список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения L0, разность mvdL0 векторов движения вектора mvL0 движения L0 вычисляется, список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения L1, и разность mvdL1 векторов движения вектора mvL1 движения L1 вычисляется.

[0094] Хотя процесс вычисления разностей векторов движения выполняется для каждого из L0 и L1, процесс вычисления разностей векторов движения становится процессом, общим для L0 и L1. Следовательно, в нижеприведенном описании, L0 и L1 представляются как общий LX. X LX равен 0 в процессе вычисления разности векторов движения L0, и X LX равен 1 в процессе вычисления разности векторов движения L1. Кроме того, когда на информацию другого списка вместо LX ссылаются в ходе процесса вычисления разности векторов движения LX, другой список представляется как LY.

[0095] Когда вектор mvLX движения LX используется (этап S102 по фиг. 19: "Да"), потенциально подходящие варианты предикторов векторов движения LX вычисляются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения LX (этап S103 по фиг. 19). В модуле 321 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 322 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории и модуле 325 пополнения потенциально подходящих вариантов предикторов векторов движения модуля 301 извлечения режимов предикторов нормальных векторов движения, множество потенциально подходящих вариантов предикторов векторов движения извлекаются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения. Ниже описывается подробная процедура обработки этапа S103 по фиг. 19 с использованием блок-схемы последовательности операций способа по фиг. 20.

[0096] Затем, модуль 327 выбора потенциально подходящих вариантов предикторов векторов движения выбирает предиктор mvpLX вектора движения LX из списка mvpListLX потенциально подходящих вариантов предикторов векторов движения LX (этап S104 по фиг. 19). Здесь, один элемент (i-ый элемент при подсчете с 0-ого элемента) в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения представляется как mvpListLX[i]. Каждая разность векторов движения, которая представляет собой разность между вектором mvLX движения и каждым потенциально подходящим вариантом mvpListLX[i] предиктора вектора движения, сохраненным в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, вычисляется. Объем кода, когда разности векторов движения кодируются, вычисляется для каждого элемента (потенциально подходящего варианта предиктора вектора движения) списка mvpListLX потенциально подходящих вариантов предикторов векторов движения. Затем потенциально подходящий вариант mvpListLX[i] предиктора вектора движения, который минимизирует объем кода для каждого потенциально подходящего варианта предиктора вектора движения из количества элементов, зарегистрированных в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, выбирается в качестве предиктора mvpLX вектора движения, и его индекс i получается. Когда предусмотрено множество потенциально подходящих вариантов предикторов векторов движения, имеющих наименьший объем сформированного кода в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, потенциально подходящий вариант mvpListLX[i] предиктора вектора движения, представленный посредством меньшего числа в индексе i в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, выбирается в качестве оптимального предиктора mvpLX вектора движения, и его индекс i получается.

[0097] Затем, модуль 328 вычитания векторов движения вычитает выбранный предиктор mvpLX вектора движения LX из вектора mvLX движения LX и вычисляет разность mvdLX векторов движения LX в качестве mvdLX=mvLX-mvpLX (этап S105 по фиг. 19).

[0098] Модуль извлечения режимов предикторов нормальных векторов движения (нормальное AMVP): описание на стороне декодирования

Далее описывается процедура обработки режима предикторов нормальных векторов движения на стороне декодирования со ссылкой на фиг. 25. На стороне декодирования, в модуле 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории и модуле 425 пополнения потенциально подходящих вариантов предикторов векторов движения, вектор движения для использования при интер-предсказании режима предикторов нормальных векторов движения вычисляется для каждого из L0 и L1 (этапы S201-S206 по фиг. 25). В частности, когда режим PredMode предсказания целевого блока представляет собой интер-предсказание (MODE_INTER), и режим интер-предсказания целевого блока представляет собой L0-предсказание (Pred_L0), список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения, и вектор mvL0 движения L0 вычисляется. Когда режим интер-предсказания целевого блока представляет собой L1-предсказание (Pred_L1), список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения, и вектор mvL1 движения L1 вычисляется. Когда режим интер-предсказания целевого блока представляет собой бипредсказание (Pred_BI), L0-предсказание и L1-предсказание выполняются, список mvpListL0 потенциально подходящих вариантов предикторов векторов движения L0 вычисляется, чтобы выбирать предиктор mvpL0 вектора движения L0, вектор mvL0 движения L0 вычисляется, список mvpListL1 потенциально подходящих вариантов предикторов векторов движения L1 вычисляется, чтобы выбирать предиктор mvpL1 вектора движения L1, и каждый вектор mvL1 движения L1 вычисляется.

[0099] Хотя процесс вычисления вектора движения выполняется для каждого из L0 и L1 на стороне декодирования, аналогично стороне кодирования, процесс вычисления вектора движения становится процессом, общим для L0 и L1. Следовательно, в нижеприведенном описании, L0 и L1 представляются как общий LX. LX представляет режим интер-предсказания для использования при интер-предсказании целевого блока кодирования. X равен 0 в процессе вычисления вектора движения L0, и X равен 1 в процессе вычисления вектора движения L1. Кроме того, когда на информацию другого опорного списка вместо опорного списка, идентичного опорному списку опорного списка, идентичного опорному списку LX цели вычисления, ссылаются в ходе процесса вычисления вектора движения LX, другой опорный список представляется как LY.

[0100] Когда вектор mvLX движения LX используется (этап S202 по фиг. 25: "Да"), потенциально подходящие варианты предикторов векторов движения LX вычисляются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения LX (этап S203 по фиг. 25). В модуле 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения, модуле 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения, модуле 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории и модуле 425 пополнения потенциально подходящих вариантов предикторов векторов движения модуля 401 извлечения режимов предикторов нормальных векторов движения, множество потенциально подходящих вариантов предикторов векторов движения вычисляются, чтобы конструировать список mvpListLX потенциально подходящих вариантов предикторов векторов движения. Ниже описывается подробная процедура обработки этапа S203 по фиг. 25 с использованием блок-схемы последовательности операций способа по фиг. 20.

[0101] Затем, потенциально подходящий вариант mvpListLX[mvpIdxLX] предиктора вектора движения, соответствующий индексу mvpIdxLX предиктора вектора движения, декодированного и предоставляемого посредством модуля 201 декодирования битовых строк из списка mvpListLX потенциально подходящих вариантов предикторов векторов движения, извлекается в качестве выбранного предиктора mvpLX вектора движения в модуле 426 выбора потенциально подходящих вариантов предикторов векторов движения (этап S204 по фиг. 25).

[0102] Затем, модуль 427 суммирования векторов движения суммирует разность mvdLX векторов движения LX, которая декодируется и предоставляется посредством модуля 201 декодирования битовых строк, и предиктор mvpLX вектора движения LX и вычисляет вектор mvLX движения LX в качестве mvLX=mvpLX+mvdLX (этап S205 по фиг. 25).

[0103] Модуль извлечения режимов предикторов нормальных векторов движения (нормальное AMVP): способ предсказания векторов движения

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

[0104] Модуль 301 извлечения режимов предикторов нормальных векторов движения и модуль 401 извлечения режимов предикторов нормальных векторов движения включают в себя список mvpListLX потенциально подходящих вариантов предикторов векторов движения. Список mvpListLX потенциально подходящих вариантов предикторов векторов движения имеет списковую структуру и содержит область хранения, в которой индекс предиктора вектора движения, указывающий местоположение в списке потенциально подходящих вариантов предикторов векторов движения, и потенциально подходящий вариант предиктора вектора движения, соответствующий индексу, сохраняется в качестве элементов. Номер индекса предиктора вектора движения начинается с 0, и потенциально подходящие варианты предикторов векторов движения сохраняются в области хранения списка mvpListLX потенциально подходящих вариантов предикторов векторов движения. В настоящем варианте осуществления, предполагается, что, по меньшей мере, два потенциально подходящих вариантов предикторов векторов движения (информация интер-предсказания) могут регистрироваться в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения. Кроме того, переменная numCurrMvpCand, указывающая количество потенциально подходящих вариантов предикторов векторов движения, зарегистрированных в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения, задается равной 0.

[0105] Модули 321 и 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения извлекают потенциально подходящие варианты предикторов векторов движения из соседних блоков с левой стороны. В этом процессе, предиктор mvLXA вектора движения извлекается со ссылкой на информацию интер-предсказания соседнего блока с левой стороны (A0 или A1 по фиг. 11), т.е. на флаг, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения использоваться, вектор движения, опорный индекс и т.п., и извлеченный mvLXA добавляется в список mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S301 по фиг. 20). Кроме того, X равен 0 во время L0-предсказания, и X равен 1 во время L1-предсказания (это справедливо далее). Затем, модули 321 и 421 извлечения потенциально подходящих вариантов пространственных предикторов векторов движения извлекают потенциально подходящий вариант предиктора вектора движения из соседнего блока с верхней стороны. В этом процессе, предиктор mvLXB вектора движения извлекается со ссылкой на информацию интер-предсказания соседнего блока с верхней стороны (B0, B1 или B2 по фиг. 11), т.е. на флаг, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения использоваться, вектор движения, опорный индекс и т.п., и mvLXB добавляется в список mvpListLX потенциально подходящих вариантов предикторов векторов движения, если извлеченный mvLXA не равен извлеченному mvLXB (этап S302 по фиг. 20). Обработка этапов S301 и S302 по фиг. 20 является общей за исключением того, что позиции соседних блоков, на которые ссылаются, и количество соседних блоков, на которые ссылаются, отличаются, и извлекаются флаг availableFlagLXN, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения блока кодирования использоваться, вектор mvLXN движения и опорный индекс refIdxN (N представляет A или B, и это справедливо далее).

[0106] Затем, модули 322 и 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения извлекают потенциально подходящие варианты предикторов векторов движения из блоков в кадре, время которого отличается от кадра текущего целевого кадра. В этом процессе, извлекаются флаг availableFlagLXCol, указывающий то, может или нет потенциально подходящий вариант предиктора вектора движения блока кодирования кадра другого момента времени использоваться, вектор mvLXCol движения, опорный индекс refIdxCol и опорный список listCol, и mvLXCol добавляется в список mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S303 по фиг. 20).

[0107] Кроме того, предполагается, что процессы модулей 322 и 422 извлечения потенциально подходящих вариантов временных предикторов векторов движения могут опускаться в единицах последовательностей (SPS), кадров (PPS) или срезов.

[0108] Затем, модули 323 и 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории добавляют потенциально подходящие варианты предикторов векторов движения на основе предыстории, зарегистрированные в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в список mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S304 по фиг. 20). Ниже описываются подробности процедуры обработки регистрации этапа S304 с использованием блок-схемы последовательности операций способа по фиг. 29.

[0109] Затем, модули 325 и 425 пополнения потенциально подходящих вариантов предикторов векторов движения добавляют потенциально подходящие варианты предикторов векторов движения, имеющие предварительно определенное значение, к примеру, (0, 0) до тех пор, пока список mvpListLX потенциально подходящих вариантов предикторов векторов движения не удовлетворяется (S305 по фиг. 20).

[0110] Модуль извлечения режимов нормального объединения (нормальное объединение)

Модуль 302 извлечения режимов нормального объединения по фиг. 18 включает в себя модуль 341 извлечения пространственных потенциально подходящих вариантов объединения, модуль 342 извлечения временных потенциально подходящих вариантов объединения, модуль 344 извлечения средних потенциально подходящих вариантов объединения, модуль 345 извлечения потенциально подходящих вариантов объединения на основе предыстории, модуль 346 пополнения потенциально подходящих вариантов объединения и модуль 347 выбора потенциально подходящих вариантов объединения.

[0111] Модуль 402 извлечения режимов нормального объединения по фиг. 24 включает в себя модуль 441 извлечения пространственных потенциально подходящих вариантов объединения, модуль 442 извлечения временных потенциально подходящих вариантов объединения, модуль 444 извлечения средних потенциально подходящих вариантов объединения, модуль 445 извлечения потенциально подходящих вариантов объединения на основе предыстории, модуль 446 пополнения потенциально подходящих вариантов объединения и модуль 447 выбора потенциально подходящих вариантов объединения.

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

[0113] Далее поэтапно описываются различные процессы. Хотя в дальнейшем описывается случай, в котором тип slice_type среза представляет собой B-срез, если не указано иное в нижеприведенном описании, настоящее изобретение также может применяться к случаю P-среза. Тем не менее, когда тип slice_type среза представляет собой P-срез, поскольку только L0-предсказание (Pred_L0) предоставляется в качестве режима интер-предсказания, и L1-предсказание (Pred_L1) и бипредсказание (Pred_BI) отсутствуют, процесс, связанный с L1, может опускаться.

[0114] Модуль 302 извлечения режимов нормального объединения и модуль 402 извлечения режимов нормального объединения имеют список mergeCandList потенциально подходящих вариантов объединения. Список mergeCandList потенциально подходящих вариантов объединения имеет списковую структуру и содержит индекс объединения, указывающий местоположение в списке потенциально подходящих вариантов объединения, и область хранения, в которой потенциально подходящие варианты объединения, соответствующие индексу, сохраняются в качестве элементов. Номер индекса объединения начинается с 0, и потенциально подходящие варианты объединения сохраняются в области хранения списка mergeCandList потенциально подходящих вариантов объединения. В последующем процессе, потенциально подходящий вариант объединения i индекса объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, представляется посредством mergeCandList[i]. В настоящем варианте осуществления, предполагается, что, по меньшей мере, шесть потенциально подходящих вариантов объединения (информация интер-предсказания) могут регистрироваться в списке mergeCandList потенциально подходящих вариантов объединения. Дополнительно, переменная numCurrMergeCand, указывающая количество потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, задается равной 0.

[0115] В модуле 341 извлечения пространственных потенциально подходящих вариантов объединения и модуле 441 извлечения пространственных потенциально подходящих вариантов объединения, пространственные потенциально подходящие варианты объединения A и B из соседних блоков с левой стороны и верхней стороны целевого блока, извлекаются из информации кодирования, сохраненной в запоминающем устройстве 111 для хранения информации кодирования устройства кодирования кадров или в запоминающем устройстве 205 для хранения информации кодирования устройства декодирования кадров, и извлеченные пространственные потенциально подходящие варианты объединения регистрируются в списке mergeCandList потенциально подходящих вариантов объединения (этап S401 по фиг. 21). Здесь задается N, указывающее либо пространственный потенциально подходящий вариант A или B объединения, либо временный потенциально подходящий вариант Col объединения. Извлекаются флаг availableFlagN, указывающий то, может или нет информация интер-предсказания блока N использоваться в качестве пространственного потенциально подходящего варианта объединения, опорный индекс refIdxL0N L0 и опорный индекс refIdxL1N L1 пространственного потенциально подходящего варианта N объединения, флаг predFlagL0N L0-предсказания, указывающий то, выполняется или нет L0-предсказание, флаг predFlagL1N L1-предсказания, указывающий то, выполняется или нет L1-предсказание, вектор mvL0N движения L0 и вектор mvL1N движения L1. Тем не менее, поскольку потенциально подходящий вариант объединения извлекается без ссылки на информацию интер-предсказания блока, включенную в блок кодирования, который представляет собой цель в настоящем варианте осуществления, пространственный потенциально подходящий вариант объединения с использованием информации интер-предсказания блока, включенной в целевой блок кодирования, не извлекается.

[0116] Затем, модуль 342 извлечения временных потенциально подходящих вариантов объединения и модуль 442 извлечения временных потенциально подходящих вариантов объединения извлекают временные потенциально подходящие варианты объединения из кадров различных моментов времени и регистрируют извлеченные временные потенциально подходящие варианты объединения в списке mergeCandList потенциально подходящих вариантов объединения (этап S402 по фиг. 21). Извлекаются флаг availableFlagCol, указывающий то, может или нет временной потенциально подходящий вариант объединения использоваться, флаг predFlagL0Col L0-предсказания, указывающий то, выполняется или нет L0-предсказание временного потенциально подходящего варианта объединения, флаг predFlagL1Col L1-предсказания, указывающий то, выполняется или нет L1-предсказание, вектор mvL0Col движения L0 и вектор mvL1Col движения L1.

[0117] Кроме того, предполагается, что процессы модуля 342 извлечения временных потенциально подходящих вариантов объединения и модуля 442 извлечения временных потенциально подходящих вариантов объединения могут опускаться в единицах последовательностей (SPS), кадров (PPS) или срезов.

[0118] Затем, модуль 345 извлечения потенциально подходящих вариантов объединения на основе предыстории и модуль 445 извлечения потенциально подходящих вариантов объединения на основе предыстории регистрируют потенциально подходящие варианты предикторов векторов движения на основе предыстории, зарегистрированные в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в списке mergeCandList потенциально подходящих вариантов объединения (этап S403 по фиг. 21).

Кроме того, когда количество numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, меньше максимального количества MaxNumMergeCand потенциально подходящих вариантов объединения, максимальное количество MaxNumMergeCand потенциально подходящих вариантов объединения задается в качестве верхнего предела количества numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, и потенциально подходящие варианты объединения на основе предыстории извлекаются и регистрируются в списке mergeCandList потенциально подходящих вариантов объединения.

[0119] Затем, модуль 344 извлечения средних потенциально подходящих вариантов объединения и модуль 444 извлечения средних потенциально подходящих вариантов объединения извлекают средний потенциально подходящий вариант объединения из списка mergeCandList потенциально подходящих вариантов объединения и добавляют извлеченный средний потенциально подходящий вариант объединения в список mergeCandList потенциально подходящих вариантов объединения (этап S404 по фиг. 21).

Кроме того, когда количество numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, меньше максимального количества MaxNumMergeCand потенциально подходящих вариантов объединения, максимальное количество MaxNumMergeCand потенциально подходящих вариантов объединения задается в качестве верхнего предела количества numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, и средние потенциально подходящие варианты объединения извлекаются и регистрируются в списке mergeCandList потенциально подходящих вариантов объединения.

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

[0120] Затем, в модуле 346 пополнения потенциально подходящих вариантов объединения и модуле 446 пополнения потенциально подходящих вариантов объединения, когда количество numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения, меньше максимального количества MaxNumMergeCand потенциально подходящих вариантов объединения, максимальное количество MaxNumMergeCand потенциально подходящих вариантов объединения задается в качестве верхнего предела количества numCurrMergeCand потенциально подходящих вариантов объединения, зарегистрированного в списке mergeCandList потенциально подходящих вариантов объединения, и дополнительный потенциально подходящий вариант объединения извлекается и регистрируется в списке mergeCandList потенциально подходящих вариантов объединения (этап S405 по фиг. 21). В P-срезе, потенциально подходящий вариант объединения, для которого вектор движения имеет значение в (0, 0), и режим предсказания представляет собой L0-предсказание (Pred_L0), добавляется с использованием максимального количества MaxNumMergeCand потенциально подходящих вариантов объединения в качестве верхнего предела. В B-срезе, потенциально подходящий вариант объединения, для которого вектор движения имеет значение в (0, 0), и режим предсказания представляет собой бипредсказание (Pred_BI), добавляется. Опорный индекс, когда потенциально подходящий вариант объединения добавляется, отличается от ранее добавленного опорного индекса.

[0121] Затем, модуль 347 выбора потенциально подходящих вариантов объединения и модуль 447 выбора потенциально подходящих вариантов объединения выбирают потенциально подходящие варианты объединения из потенциально подходящих вариантов объединения, зарегистрированных в списке mergeCandList потенциально подходящих вариантов объединения. Модуль 347 выбора потенциально подходящих вариантов объединения на стороне кодирования выбирает потенциально подходящий вариант объединения посредством вычисления объема кода и величины искажения и предоставляет индекс объединения, указывающий выбранный потенциально подходящий вариант объединения, и информацию интер-предсказания потенциально подходящего варианта объединения в модуль 306 предсказания с компенсацией движения через модуль 305 определения режима интер-предсказания. С другой стороны, модуль 447 выбора потенциально подходящих вариантов объединения на стороне декодирования выбирает потенциально подходящий вариант объединения на основе декодированного индекса объединения и предоставляет выбранный потенциально подходящий вариант объединения в модуль 406 предсказания с компенсацией движения.

[0122] Обновление списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории

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

[0123] В настоящем варианте осуществления, предполагается, что список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории обновляется в запоминающем устройстве 111 для хранения информации кодирования и в запоминающем устройстве 205 для хранения информации кодирования. Модуль обновления списков потенциально подходящих вариантов предикторов векторов движения на основе предыстории может устанавливаться в модуле 102 интер-предсказания и модуле 203 интер-предсказания, чтобы обновлять список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории.

[0124] Список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории первоначально задается в начале среза, список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории обновляется, когда режим предикторов нормальных векторов движения или режим нормального объединения выбран посредством модуля 105 определения способа предсказания на стороне кодирования, и список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории обновляется, когда информация предсказания, декодированная посредством модуля 201 декодирования битовых строк, задается относительно режима предикторов нормальных векторов движения или режима нормального объединения на стороне декодирования.

[0125] Информация интер-предсказания, используемая, когда интер-предсказание выполняется в режиме предикторов нормальных векторов движения или режиме нормального объединения, регистрируется в качестве потенциально подходящего варианта hMvpCand информации интер-предсказания в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Потенциально подходящий вариант hMvpCand информации интер-предсказания включает в себя опорный индекс refIdxL0 L0, опорный индекс refIdxL1 L1, флаг predFlagL0 L0-предсказания, указывающий то, выполняется или нет L0-предсказание, флаг predFlagL1 L1-предсказания, указывающий то, выполняется или нет L1-предсказание, вектор mvL0 движения L0 и вектор mvL1 движения L1.

[0126] Когда имеется информация интер-предсказания, имеющая значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания, из количества элементов (т.е. информации интер-предсказания), зарегистрированных в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, предоставленном в запоминающем устройстве 111 для хранения информации кодирования на стороне кодирования и в запоминающем устройстве 205 для хранения информации кодирования на стороне декодирования, элемент удаляется из списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. С другой стороны, когда отсутствует информация интер-предсказания, имеющая значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания, элемент в начале списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории удаляется, и потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в конец списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории.

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

[0128] Во-первых, список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории инициализируется в единицах срезов. Потенциально подходящие варианты предикторов векторов движения на основе предыстории добавляются во все элементы списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории в начале среза, и значение количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории, зарегистрированное в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, задается равным 6 (этап S2101 на фиг. 26).

[0129] Здесь, инициализация списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполняется в единицах срезов (первого блока кодирования среза), но может выполняться в единицах кадров, плиток или строк древовидного блока.

[0130] Фиг. 38 является таблицей, показывающей пример потенциально подходящих вариантов предикторов векторов движения на основе предыстории, добавленных согласно инициализации списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Показывается пример, когда тип среза представляет собой B-срез, и количество опорных кадров равно 4. Индекс предиктора вектора движения на основе предыстории представляет собой значение от (количество NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории - 1) до 0, и список потенциально подходящих вариантов предикторов векторов движения на основе предыстории заполняется потенциально подходящими вариантами на основе предыстории посредством добавления информации интер-предсказания со значением вектора движения (0, 0) в качестве потенциально подходящего варианта предиктора вектора движения на основе предыстории в список потенциально подходящих вариантов предикторов векторов движения HmvpCandList в соответствии с типом среза. В это время, индекс предиктора вектора движения на основе предыстории начинается с (количество NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории - 1), и значение, постепенно увеличенное на 1 от 0 до (количество numRefIdx опорных кадров - 1), задается в качестве опорного индекса refIdxLX (X равен 0 или 1). Затем, перекрытие между потенциально подходящими вариантами предикторов векторов движения на основе предыстории разрешается, и значение 0 задается в refIdxLX. Недопустимые потенциально подходящие варианты предикторов векторов движения на основе предыстории исключаются посредством задания значений для количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равными всем значениям и задания значения количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равным фиксированному значению. Таким образом, можно повышать эффективность кодирования посредством общего выделения небольшого значения опорному индексу с высокой избирательностью из потенциально подходящего варианта индекса предиктора вектора движения на основе предыстории с наибольшей вероятностью, имеющего наибольшее значение, которое должно добавляться в список потенциально подходящих вариантов предикторов векторов движения или список потенциально подходящих вариантов объединения.

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

[0132] Здесь, хотя значение вектора движения в общем, задается равным (0, 0) при высокой вероятности выбора, необходимо только то, что значение вектора движения должно составлять предварительно определенное значение. Например, эффективность кодирования разности векторов движения может повышаться посредством заданных значений, к примеру, (4, 4), (0, 32), (-128, 0), или эффективность кодирования разности векторов движения может повышаться посредством задания множества предварительно определенных значений.

[0133] Кроме того, хотя предполагается, что индекс предиктора вектора движения на основе предыстории начинается с (количество NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории - 1), и значение, постепенно увеличенное на 1 от 0 до (количество numRefIdx опорных кадров - 1), задается в качестве опорного индекса refIdxLX (X равен 0 или 1), индекс предиктора вектора движения на основе предыстории может начинаться с 0.

[0134] Фиг. 39 является таблицей, показывающей другой пример потенциально подходящих вариантов предикторов векторов движения на основе предыстории, добавленных согласно инициализации списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Показывается пример, когда тип среза представляет собой B-срез, и количество опорных кадров равно 2. В этом примере, список потенциально подходящих вариантов предикторов векторов движения на основе предыстории заполняется посредством добавления информации интер-предсказания с другим опорным индексом или другим значением вектора движения в качестве потенциально подходящего варианта предиктора вектора движения на основе предыстории таким образом, что отсутствует перекрытие между потенциально подходящими вариантами предикторов векторов движения на основе предыстории в элементах списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. В это время, индекс предиктора вектора движения на основе предыстории начинается с (количество NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории - 1) и значение, постепенно увеличенное посредством 1 от 0 до (количество numRefIdx опорных кадров - 1), задается в качестве опорного индекса refIdxLX (X равен 0 или 1). Затем, векторы движения с различными значениями добавляются в качестве потенциально подходящих вариантов предикторов векторов движения на основе предыстории, когда refIdxLX равен 0. Недопустимые потенциально подходящие варианты предикторов векторов движения на основе предыстории исключаются посредством задания всех значений для количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории и задания значения количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равными фиксированному значению.

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

[0136] Здесь, хотя значение вектора движения задается равным небольшому значению, к примеру, (0, 0) или (1, 0), значение вектора движения может увеличиваться при условии, что потенциально подходящие варианты предикторов векторов движения на основе предыстории не перекрываются.

[0137] Кроме того, хотя предполагается, что индекс предиктора вектора движения на основе предыстории начинается с (количество NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории - 1), и значение, постепенно увеличенное на 1 от 0 до (количество numRefIdx опорных кадров - 1), задается в качестве опорного индекса refIdxLX (X равен 0 или 1), индекс предиктора вектора движения на основе предыстории может начинаться с 0.

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

[0139] Показывается пример, когда тип среза представляет собой B-срез. В этом примере, список потенциально подходящих вариантов предикторов векторов движения на основе предыстории заполняется посредством добавления информации интер-предсказания, имеющей различные значения векторов движения в качестве потенциально подходящих вариантов предикторов векторов движения на основе предыстории, когда опорный индекс равен 0 таким образом, что отсутствует перекрытие между потенциально подходящими вариантами предикторов векторов движения на основе предыстории в элементах списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. В это время, индекс предиктора вектора движения на основе предыстории начинается с (количество NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории - 1), и 0 задается в качестве опорного индекса refIdxLX (X равен 0 или 1). Недопустимые потенциально подходящие варианты предикторов векторов движения на основе предыстории исключаются посредством задания значений для количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равными всем значениям и задания значения количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равным фиксированному значению.

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

[0141] Здесь, хотя предполагается, что значение вектора движения составляет кратное 2, другие значения могут использоваться при условии, что отсутствует перекрытие между потенциально подходящими вариантами предикторов векторов движения на основе предыстории, когда опорный индекс равен 0.

[0142] Кроме того, хотя предполагается, что индекс предиктора вектора движения на основе предыстории начинается с (количество NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории - 1), и значение, постепенно увеличенное на 1 от 0 до (количество numRefIdx опорных кадров - 1), задается в качестве опорного индекса refIdxLX (X равен 0 или 1), индекс предиктора вектора движения на основе предыстории может начинаться с 0.

[0143] Затем, следующий процесс обновления списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории итеративно выполняется для каждого блока кодирования в срезе (этапы S2102-S2111 по фиг. 26).

[0144] Во-первых, начальная настройка выполняется в единицах блоков кодирования. Флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, задается равным значению "ложь", и индекс removeIdx цели удаления задается равным 0 (этап S2103 по фиг. 26).

[0145] Кроме того, инициализация списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполняется в единицах срезов (первого блока кодирования среза), но может выполняться в единицах кадров, плиток или строк древовидного блока.

[0146] Определяется то, имеется или нет потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации (этап S2104 по фиг. 26). Когда модуль 105 определения способа предсказания на стороне кодирования определяет то, что режим представляет собой режим предикторов нормальных векторов движения или режим нормального объединения, либо когда модуль 201 декодирования битовых строк на стороне декодирования декодирует режим в качестве режима предикторов нормальных векторов движения или режима нормального объединения, его информация интер-предсказания задается в качестве потенциально подходящего варианта hMvpCand информации интер-предсказания цели регистрации. Когда модуль 105 определения способа предсказания на стороне кодирования определяет то, что режим представляет собой режим интра-предсказания, режим предикторов векторов движения на основе субблоков или режим объединения на основе субблоков, либо когда модуль 201 декодирования битовых строк на стороне декодирования декодирует режим в качестве режима интра-предсказания, режима предикторов векторов движения на основе субблоков или режима объединения на основе субблоков, процесс обновления списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории не выполняется, и потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации не существует. Когда отсутствует потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации, этапы S2105-S2106 пропускаются (этап S2104 по фиг. 26: "Нет"). Когда имеется потенциально подходящий вариант hMvpCand информации интер-предсказания цели регистрации, обработка с этапа S2105 выполняется (этап S2104 по фиг. 26: "Да").

[0147] Затем, определяется то, имеется или нет элемент (информация интер-предсказания), имеющий значение, идентичное значению потенциально подходящего варианта hMvpCand информации интер-предсказания цели регистрации, т.е. идентичного элемента, из количества элементов списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2105 по фиг. 26). Фиг. 27 является блок-схемой последовательности операций способа для процедуры обработки проверки на идентичные элементы. Когда значение количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равно 0 (этап S2121 по фиг. 27: "Нет"), список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории является пустым, и отсутствует идентичный потенциально подходящий вариант, так что этапы S2122-S2125 по фиг. 27 пропускаются, и текущая процедура обработки проверки на идентичные элементы завершается. Когда значение количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории превышает 0 ("Да" на этапе S2121 по фиг. 27), обработка этапа S2123 итеративно выполняется до тех пор, пока индекс hMvpIdx предиктора вектора движения на основе предыстории не изменяется с 0 до NumHmvpCand-1 (этапы S2122-S2125 по фиг. 27). Во-первых, сравнивается то, является или нет hMvpIdx-ый элемент HmvpCandList[hMvpIdx] при подсчете с 0-ого элемента списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории идентичным потенциально подходящему варианту hMvpCand информации интер-предсказания (этап S2123 по фиг. 27). Когда они являются идентичными (этап S2123 по фиг. 27: "Да"), флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, задается равным значению "истина", и индекс removeIdx цели удаления, указывающий позицию элемента цели удаления, задается равным текущему значению индекса hMvpIdx предиктора вектора движения на основе предыстории, и текущий процесс проверки на идентичные элементы завершается. Когда они не являются идентичными (этап S2123 по фиг. 27: "Нет"), hMvpIdx постепенно увеличивается на 1. Если индекс hMvpIdx предиктора вектора движения на основе предыстории меньше или равен NumHmvpCand-1, обработка с этапа S2123 выполняется.

[0148] Здесь, можно опускать этап S2121 по фиг. 27 посредством заполнения списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории потенциально подходящими вариантами предикторов векторов движения на основе предыстории.

[0149] Со ссылкой на блок-схему последовательности операций способа по фиг. 26 снова, процесс сдвига и добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории выполняется (этап S2106 по фиг. 26). Фиг. 28 является блок-схемой последовательности операций способа для процедуры обработки сдвига/добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории этапа S2106 по фиг. 26. Во-первых, определяется то, следует добавлять новый элемент после удаления элемента, сохраненного в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, либо добавлять новый элемент без удаления элемента. В частности, сравнивается то, представляет собой "истина" или нет флаг identicalCandExist, указывающий то, существует или нет идентичный потенциально подходящий вариант, либо того, равно NumHmvpCand или нет шести (этап S2141 по фиг. 28). Когда либо такое условие, что флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, представляет собой "истина", либо такое условие, что текущее количество NumHmvpCand потенциально подходящих вариантов равно шести, удовлетворяется (этап S2141 по фиг. 28: "Да"), новый элемент добавляется после удаления элемента, сохраненного в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Начальное значение индекса i задается равным значению removeIdx+1. Процесс поэлементного сдвига этапа S2143 итеративно выполняется от этого начального значения до NumHmvpCand (этапы S2142-S2144 по фиг. 28). Посредством копирования элемента HmvpCandList[i] в HmvpCandList[i-1], элемент сдвигается вперед (этап S2143 по фиг. 28), и i постепенно увеличивается на 1 (этапы S2142-S2144 по фиг. 28). Затем, потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в (NumHmvpCand-1)-ый элемент HmvpCandList[NumHmvpCand-1] при подсчете с 0-ого элемента, который соответствует концу списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2145 по фиг. 28), и текущий процесс сдвига/добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. С другой стороны, когда ни такое условие, что флаг identicalCandExist, указывающий то, имеется или нет идентичный потенциально подходящий вариант, представляет собой "истина", ни такое условие что, текущее количество NumHmvpCand потенциально подходящих вариантов равно шести, не удовлетворяется (этап S2141 по фиг. 28: "Нет"), потенциально подходящий вариант hMvpCand информации интер-предсказания добавляется в конец списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории без удаления элемента, сохраненного в списке HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этап S2146 по фиг. 28). Здесь, конец списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории представляет собой NumHmvpCand-ый элемент HmvpCandList[numHmvpCand] при подсчете с 0-ого элемента. Кроме того, NumHmvpCand постепенно увеличивается на 1, и текущий процесс сдвига/добавления элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается.

[0150] Здесь, хотя список потенциально подходящих вариантов предикторов векторов движения на основе предыстории применяется как к режиму предикторов векторов движения, так и к режиму объединения, список потенциально подходящих вариантов предикторов векторов движения на основе предыстории может применяться к только одному из режимов.

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

[0152] Фиг. 31 является пояснительной схемой, показывающей пример процесса обновления списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории. Когда новый элемент добавляется в список HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, в котором зарегистрированы шесть элементов (информация интер-предсказания), элементы сравниваются с новой информацией интер-предсказания в порядке от переднего элемента списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (фиг. 31A). Если новый элемент имеет значение, идентичное значению третьего элемента HMVP2 с начала списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, элемент HMVP2 удаляется из списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, и последующие элементы HMVP3-HMVP5 сдвигаются вперед (копируются) по одному, и новый элемент добавляется в конец списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (фиг. 31B), чтобы завершать обновление списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории (фиг. 31C).

[0153] Процесс извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории

Далее подробно описывается способ извлечения потенциально подходящего варианта предиктора вектора движения на основе предыстории из списка HmvpCandList потенциально подходящих вариантов предикторов векторов движения на основе предыстории, который представляет собой процедуру обработки этапа S304 по фиг. 20, которая представляет собой процесс, общий для модуля 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории модуля 301 извлечения режимов предикторов нормальных векторов движения на стороне кодирования и модуля 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории модуля 401 извлечения режимов предикторов нормальных векторов движения на стороне декодирования. Фиг. 29 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории.

[0154] Когда текущее количество numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно максимальному количеству элементов в списке mvpListLX потенциально подходящих вариантов предикторов векторов движения (здесь, 2), или значение количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории равно 0 ("Нет" на этапе S2201 по фиг. 29), обработка этапов S2202-S2208 по фиг. 29 опускается, и процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее количество numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное количество элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения, и значение количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории превышает 0 ("Да" на этапе S2201 по фиг. 29), обработка этапов S2202-S2208 по фиг. 29 выполняется.

[0155] Затем, обработка этапов S2203-S2207 по фиг. 29 итеративно выполняется до тех пор, пока индекс i не изменяется с 1 до меньшего значения из 4 и количества numCheckedHMVPCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории (этапы S2202-S2208 по фиг. 29). Когда текущее количество numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно 2, что представляет собой максимальное количество элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2203 по фиг. 29: "Нет"), обработка этапов S2204-S2208 на фиг. 29 опускается, и текущая процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее количество numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное количество элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2203 по фиг. 29: "Да"), обработка с этапа S2204 по фиг. 29 выполняется.

[0156] Затем, обработка этапа S2205 и S2206 выполняется для Y=0 и 1 (L0 и L1) (этапы S2204-S2207 по фиг. 29). Когда текущее количество numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения превышает или равно 2, что представляет собой максимальное количество элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2205 по фиг. 29: "Нет"), обработка этапа S2206-S2208 по фиг. 29 опускается, и текущая процедура обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории завершается. Когда текущее количество numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения меньше 2, что представляет собой максимальное количество элементов списка mvpListLX потенциально подходящих вариантов предикторов векторов движения (этап S2205 по фиг. 29: "Да"), обработка с этапа S2206 по фиг. 29 выполняется.

[0157] Затем, вектор движения LY потенциально подходящего варианта HmvpCandList[NumHmvpCand-i] предиктора вектора движения на основе предыстории добавляется в numCurrMvpCand-ый элемент mvpListLY[numCurrMvpCand] при подсчете с 0 в списке потенциально подходящих вариантов предикторов векторов движения LY-предсказания, и текущее количество numCurrMvpCand потенциально подходящих вариантов предикторов векторов движения постепенно увеличивается на 1 (этап S2206 по фиг. 29).

[0158] Вышеуказанная обработка этапов S2205 и S2206 по фиг. 29 выполняется для L0 и L1 (этапы S2204-S2207 по фиг. 29). Когда индекс i постепенно увеличивается на 1, и индекс i меньше или равен меньшему значению из 4 и количества NumHmvpCand потенциально подходящих вариантов предикторов векторов движения на основе предыстории, обработка с этапа S2203 выполняется снова (этапы S2202-S2208 по фиг. 29).

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

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

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

[0162] Кроме того, в режиме предикторов нормальных векторов движения, список потенциально подходящих вариантов предикторов векторов движения обрабатывается отдельно для L0-предсказания и L1-предсказания. Таким образом, даже если элементы перекрываются в списке потенциально подходящих вариантов предикторов векторов движения L0-предсказания, элементы могут не перекрываться в списке потенциально подходящих вариантов предикторов векторов движения L1-предсказания.

[0163] Кроме того, потенциально подходящий вариант предиктора вектора движения и опорный индекс отдельно обрабатываются в режиме предикторов нормальных векторов движения. Таким образом, даже если элементы перекрываются в списке потенциально подходящих вариантов предикторов векторов движения, опорный индекс не затрагивается.

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

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

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

[0167] Кроме того, список потенциально подходящих вариантов предикторов векторов движения на основе предыстории заполняется неперекрывающимися потенциально подходящими вариантами предикторов векторов движения на основе предыстории, сравнение между элементами списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории и элементами списка потенциально подходящих вариантов предикторов векторов движения не проводится, и элемент списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории добавляется в список потенциально подходящих вариантов предикторов векторов движения, так что можно опускать процесс модуля 325 пополнения предикторов векторов движения после модуля 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории в модуле 301 извлечения режимов предикторов нормальных векторов движения.

[0168] Процесс извлечения потенциально подходящих вариантов объединения на основе предыстории

Далее подробно описывается способ извлечения потенциально подходящих вариантов объединения на основе предыстории из списка HmvpCandList потенциально подходящих вариантов объединения на основе предыстории, который представляет собой процедуру обработки этапа S404 по фиг. 21, которая представляет собой процесс, общий для модуля 345 извлечения потенциально подходящих вариантов объединения на основе предыстории модуля 302 извлечения режимов нормального объединения на стороне кодирования и модуля 445 извлечения потенциально подходящих вариантов объединения на основе предыстории модуля 402 извлечения режимов нормального объединения на стороне декодирования. Фиг. 30 является пояснительной блок-схемой последовательности операций способа, показывающей процедуру обработки извлечения потенциально подходящих вариантов объединения на основе предыстории.

[0169] Во-первых, процесс инициализации выполняется (этап S2301 по фиг. 30). Каждый (numCurrMergeCand-1)-ый элемент от 0 для isPruned[i] задается равным значению "ложь", и переменная numOrigMergeCand задается равным количеству numCurrMergeCand элементов, зарегистрированных в текущем списке потенциально подходящих вариантов объединения.

[0170] Затем, начальное значение индекса hMvpIdx задается равным 1, и дополнительная обработка этапов S2303-S2310 по фиг. 30 итеративно выполняется до тех пор, пока индекс hMvpIdx не изменяется с начального значения до NumHmvpCand (этапы S2302-S2311 по фиг. 30). Если количество элементов, зарегистрированных в текущем списке numCurrMergeCand потенциально подходящих вариантов объединения, не меньше или равно (максимальное количество MaxNumMergeCand потенциально подходящих вариантов объединения - 1), потенциально подходящие варианты объединения добавляются во все элементы списка потенциально подходящих вариантов объединения, так что текущий процесс извлечения потенциально подходящих вариантов объединения на основе предыстории завершается ("Нет" на этапе S2303 по фиг. 30). Когда количество numCurrMergeCand элементов, зарегистрированных в текущем списке потенциально подходящих вариантов объединения, меньше или равно (максимальное количество MaxNumMergeCand потенциально подходящих вариантов объединения - 1), обработка с этапа S2304 выполняется; sameMotion задается равным значению "ложь" (этап S2304 по фиг. 30). Затем, начальное значение индекса i задается равным 0, и обработка этапов S2306 и S2307 по фиг. 30 выполняется до тех пор, пока индекс не изменяется с начального значения до numOrigMergeCand-1 (S2305-S2308 на фиг. 30). Сравнивается то, имеет или нет (NumHmvpCand-hMvpIdx)-ый элемент HmvpCandList[NumHmvpCand-hMvpIdx] при подсчете с 0-ого элемента списка потенциально подходящих вариантов предсказания векторов движения на основе предыстории значение, идентичное значению i-ого элемента mergeCandList[i] при подсчете с 0-ого элемента списка потенциально подходящих вариантов объединения (этап S2306 по фиг. 30).

[0171] Потенциально подходящие варианты объединения имеют идентичное значение, когда значения всех компонентов (режима интер-предсказания, опорного индекса и вектора движения) потенциально подходящих вариантов объединения являются идентичными. Когда потенциально подходящие варианты объединения имеют идентичное значение, и isPruned[i] представляет собой "ложь" ("Да" на этапе S2306 по фиг. 30), как sameMotion, так и isPruned[i] задаются равными "истина" (этап S2307 по фиг. 30). Когда потенциально подходящие варианты объединения не имеют идентичного значения ("Нет" на этапе S2306 по фиг. 30), обработка этапа S2307 пропускается. Когда итеративная обработка этапов S2305-S2308 по фиг. 30 завершена, сравнивается то, представляет или нет sameMotion собой "ложь" (этап S2309 по фиг. 30). Если sameMotion представляет собой "ложь" ("Да" на этапе S2309 по фиг. 30), т.е. поскольку (NumHmvpCand-hMvpIdx)-ый элемент HmvpCandList[NumHmvpCand-hMvpIdx] при подсчете с 0-ого элемента списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории не существует в mergeCandList, (NumHmvpCand-hMvpIdx)-ый элемент HmvpCandList[NumHmvpCand-hMvpIdx] при подсчете с 0-ого элемента списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории добавляется в numCurrMergeCand-ый элемент mergeCandList[numCurrMergeCand] списка потенциально подходящих вариантов объединения, и numCurrMergeCand постепенно увеличивается на 1 (этап S2310 по фиг. 30). Индекс hMvpIdx постепенно увеличивается на 1 (этап S2302 по фиг. 30), и процесс итеративного выполнения этапов S2302-S2311 по фиг. 30 выполняется.

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

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

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

[0174] Например, количество элементов списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории, которые должны сравниваться, может быть ограничено 1, 2 и т.п. Кроме того, количество элементов текущего списка потенциально подходящих вариантов объединения, которые должны сравниваться, может быть ограничено 1 или 2.

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

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

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

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

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

[0179] Кроме того, вероятность выбора режима нормального объединения увеличивается, поскольку 6, что составляет максимальное количество элементов, допускающих включение в список потенциально подходящих вариантов объединения, превышает 2, что составляет максимальное количество элементов, допускающих включение в список потенциально подходящих вариантов предикторов векторов движения, так что можно уменьшать процесс сравнения между вектором движения потенциально подходящего варианта предиктора вектора движения на основе предыстории и вектором движения потенциально подходящего варианта предиктора вектора движения при ограничении ухудшения эффективности кодирования вследствие перекрытия элементов списка потенциально подходящих вариантов предикторов векторов движения.

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

[0181] Процесс предсказания с компенсацией движения

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

[0182] Сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания с использованием сигнала предсказания, полученного из одного опорного кадра, в качестве сигнала предсказания с компенсацией движения, когда режим интер-предсказания при интер-предсказании представляет собой предсказание из одного опорного кадра, такое как L0-предсказание или L1-предсказание, и с использованием сигнала предсказания, полученного посредством сигналов предсказания с усреднением со взвешиванием, полученных из двух опорных кадров, в качестве сигнала предсказания с компенсацией движения, когда режим предсказания представляет собой предсказание из двух опорных кадров, такое как режим интер-предсказания бипредсказания. Хотя средневзвешенный коэффициент бипредсказания здесь составляет 1:1, усреднение со взвешиванием может выполняться с использованием другого коэффициента. Например, весовой коэффициент может увеличиваться по мере того, как межкадровый интервал между кадром, который представляет собой цель предсказания, и опорным кадром снижается. Кроме того, весовой коэффициент может вычисляться с использованием соответствующей таблицы между комбинациями межкадровых интервалов и весовых коэффициентов.

[0183] Модуль 406 предсказания с компенсацией движения имеет функцию, аналогичную функции модуля 306 предсказания с компенсацией движения на стороне кодирования. Модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 401 извлечения режимов предикторов нормальных векторов движения, модуля 402 извлечения режимов нормального объединения, модуля 403 извлечения режимов предикторов векторов движения на основе субблоков и модуля 404 извлечения режимов объединения на основе субблоков через переключатель 408. Модуль 406 предсказания с компенсацией движения предоставляет полученный сигнал предсказания с компенсацией движения в модуль 207 наложения сигналов кадров для декодирования.

[0184] Касательно режима интер-предсказания

Процесс выполнения предсказания из одного опорного кадра задается как унипредсказание. В случае унипредсказания, выполняется предсказание с использованием одного из двух опорных кадров, зарегистрированных в опорных списках L0 и L1, такое как L0-предсказание или L1-предсказание.

[0185] Фиг. 32 показывает случай унипредсказания, в котором время такта опорного кадра (RefL0Pic) L0 находится раньше времени такта целевого кадра (CurPic). Фиг. 33 показывает случай унипредсказания, в котором время такта опорного кадра L0-предсказания находится позже времени такта целевого кадра. Аналогично, опорный кадр L0-предсказания по фиг. 32 и 33 может заменяться опорным кадром (RefL1Pic) L1-предсказания, чтобы выполнять унипредсказание.

[0186] Процесс выполнения предсказания из двух опорных кадров задается как бипредсказание, и бипредсказание представляется как бипредсказание с использованием как L0-предсказания, так и L1-предсказания. Фиг. 34 показывает случай бипредсказания, в котором время такта опорного кадра L0-предсказания находится раньше времени такта целевого кадра, и время такта опорного кадра L1-предсказания находится позже времени такта целевого кадра. Фиг. 35 показывает случай бипредсказания, в котором времена такта опорного кадра L0-предсказания и опорного кадра L1-предсказания находятся раньше времени такта целевого кадра. Фиг. 36 показывает случай бипредсказания, в котором время такта опорного кадра L0-предсказания и время такта опорного кадра L1-предсказания находятся позже времени такта целевого кадра.

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

[0188] Касательно опорного индекса

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

[0189] Процесс компенсации движения на основе режима предикторов нормальных векторов движения

Как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания из модуля 301 извлечения режимов предикторов нормальных векторов движения выбрана в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.

[0190] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 401 извлечения режимов предикторов нормальных векторов движения в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 401 извлечения режимов предикторов нормальных векторов движения, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.

[0191] Процесс компенсации движения на основе режима нормального объединения

Кроме того, как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания выбрана из модуля 302 извлечения режимов нормального объединения в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.

[0192] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 402 извлечения режимов нормального объединения в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 402 извлечения режимов нормального объединения, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.

[0193] Процесс компенсации движения на основе режима предикторов векторов движения на основе субблоков

Кроме того, как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания из модуля 303 извлечения режимов предикторов векторов движения на основе субблоков выбрана в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.

[0194] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 403 извлечения режимов предикторов векторов движения на основе субблоков в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 403 извлечения режимов предикторов векторов движения на основе субблоков, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.

[0195] Процесс компенсации движения на основе режима объединения на основе субблоков

Кроме того, как показано в модуле 102 интер-предсказания на стороне кодирования по фиг. 16, когда информация интер-предсказания из модуля 304 извлечения режимов объединения на основе субблоков выбрана в модуле 305 определения режима интер-предсказания, модуль 306 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 305 определения режима интер-предсказания, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 105 определения способа предсказания.

[0196] Аналогично, как показано в модуле 203 интер-предсказания на стороне декодирования по фиг. 22, когда переключатель 408 соединен с модулем 404 извлечения режимов объединения на основе субблоков в процессе декодирования, модуль 406 предсказания с компенсацией движения получает информацию интер-предсказания из модуля 404 извлечения режимов объединения на основе субблоков, извлекает режим интер-предсказания, опорный индекс и вектор движения текущего целевого блока и формирует сигнал предсказания с компенсацией движения. Сформированный сигнал предсказания с компенсацией движения предоставляется в модуль 207 наложения сигналов кадров для декодирования.

[0197] Процесс компенсации движения на основе предсказания с аффинным преобразованием

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

[0198] sps_affine_enabled_flag представляет то, может или нет компенсация движения аффинной модели использоваться при интер-предсказании. Если sps_affine_enabled_flag равен 0, подавление выполняется таким образом, что она не представляет собой компенсацию движения аффинной модели в единицах последовательностей. Кроме того, inter_affine_flag и cu_affine_type_flag не передаются в синтаксисе CU (блоков кодирования) видеопоследовательности для кодирования. Если sps_affine_enabled_flag равен 1, компенсация движения аффинной модели может использоваться в видеопоследовательности для кодирования.

[0199] sps_affine_type_flag представляет то, может или нет компенсация движения шестипараметрической аффинной модели использоваться при интер-предсказании. Если sps_affine_type_flag равен 0, подавление выполняется таким образом, что она не представляет собой компенсацию движения шестипараметрической аффинной модели. Кроме того, cu_affine_type_flag не передается в CU-синтаксисе видеопоследовательности для кодирования. Если sps_affine_type_flag равен 1, компенсация движения шестипараметрической аффинной модели может использоваться в видеопоследовательности для кодирования. Когда sps_affine_type_flag не существует, он предположительно равен 0.

[0200] Когда P- или B-срез декодируется, если inter_affine_flag равен 1 в текущей целевой CU, компенсация движения аффинной модели используется для того, чтобы формировать сигнал предсказания с компенсацией движения текущей целевой CU. Если inter_affine_flag равен 0, аффинная модель не используется в текущей целевой CU. Когда inter_affine_flag не существует, он предположительно равен 0.

[0201] Когда P- или B-срез декодируется, если cu_affine_type_flag равен 1 в текущей целевой CU, компенсация движения шестипараметрической аффинной модели используется для того, чтобы формировать сигнал предсказания с компенсацией движения текущей целевой CU. Если cu_affine_type_flag равен 0, компенсация движения четырехпараметрической аффинной модели используется для того, чтобы формировать сигнал предсказания с компенсацией движения текущей целевой CU.

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

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

[0204] Модифицированный пример 1

В дальнейшем описывается модифицированный пример 1 настоящего варианта осуществления. Настоящий модифицированный пример отличается от настоящего варианта осуществления тем, что режим добавления разностей векторов движения объединения добавляется. В дальнейшем описываются только различия относительно настоящего варианта осуществления. Режим добавления разностей векторов движения объединения задается, если umve_flag на фиг. 12 равен 1, и режим нормального объединения задается, если umve_flag равен 0.

[0205] Далее описывается работа в режиме добавления разностей векторов движения. Режим добавления разностей векторов движения объединения представляет собой режим, в котором одна разность векторов движения объединения может добавляться в каждый из вектора движения L0-предсказания и вектора движения L1-предсказания в одном потенциально подходящем варианте объединения из двух потенциально подходящих вариантов объединения высшего порядка (потенциально подходящих вариантов объединения, имеющих индексы объединения в нуль и единицу в списке потенциально подходящих вариантов объединения).

[0206] Кроме того, в случае режима добавления разностей векторов движения, разность векторов движения объединения кодируется посредством модуля 108 кодирования битовых строк и декодируется посредством модуля 201 декодирования битовых строк.

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

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

[0209] Модифицированный пример 2

В дальнейшем описывается модифицированный пример 2 настоящего варианта осуществления. Настоящий модифицированный пример отличается от настоящего варианта осуществления тем, что операции модулей 323 и 423 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории, показанных на фиг. 29, отличаются от работы настоящего варианта осуществления. В дальнейшем описываются только различия относительно настоящего варианта осуществления. Фиг. 41 является блок-схемой последовательности операций способа, иллюстрирующей процедуру обработки извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории модифицированного примера 2. Фиг. 41 отличается от фиг. 29 тем, что этап S2209 добавляется. Работа, показанная на фиг. 29, является идентичной работе, показанной на фиг. 41, за исключением этапа S2209 по фиг. 41.

[0210] В дальнейшем описывается процесс, когда numCurrMvpCand меньше 2, что составляет максимальное количество элементов списка потенциально подходящих вариантов предикторов векторов движения ("Да" на этапе S2205 по фиг. 41).

[0211] Проверяется то, является или нет опорный индекс LY потенциально подходящего варианта HmvpCandList[NumHmvpCand-i] предиктора вектора движения на основе предыстории идентичным опорному индексу LY целевого блока кодирования (этап S2209 по фиг. 41). Если опорный индекс LY потенциально подходящего варианта HmvpCandList[NumHmvpCand-i] предиктора вектора движения на основе предыстории является идентичным опорному индексу LY целевого блока кодирования ("Да" на этапе S2209 по фиг. 41), процесс переходит к S2206. Если опорный индекс LY потенциально подходящего варианта HmvpCandList[NumHmvpCand-i] предиктора вектора движения на основе предыстории не является идентичным опорному индексу LY целевого блока кодирования ("Нет" на этапе S2209 по фиг. 41), процесс переходит к S2207.

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

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

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

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

[0216] 3. Можно заполнять список потенциально подходящих вариантов предикторов векторов движения на основе предыстории неперекрывающимися потенциально подходящими вариантами предикторов векторов движения на основе предыстории, и можно опускать процесс модуля 346 пополнения потенциально подходящих вариантов объединения после модуля 345 извлечения потенциально подходящих вариантов объединения на основе предыстории в модуле 302 извлечения режимов нормального объединения и уменьшать объем обработки.

[0217] 4. Список потенциально подходящих вариантов предикторов векторов движения на основе предыстории заполняется неперекрывающимися потенциально подходящими вариантами предикторов векторов движения на основе предыстории, сравнение между элементами списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории и элементами списка потенциально подходящих вариантов предикторов векторов движения не проводится, и элемент списка потенциально подходящих вариантов предикторов векторов движения на основе предыстории добавляется в список потенциально подходящих вариантов предикторов векторов движения, так что можно опускать процесс модуля 325 пополнения предикторов векторов движения после модуля 323 извлечения потенциально подходящих вариантов предикторов векторов движения на основе предыстории в модуле 301 извлечения режимов предикторов нормальных векторов движения.

[0218] Два или более из всех вариантов осуществления, описанных выше, могут комбинироваться.

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

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

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

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

[0223] Фиг. 37 показывает пример аппаратной конфигурации устройства кодирования/декодирования согласно настоящему варианту осуществления. Устройство кодирования/декодирования включает в себя конфигурацию устройства кодирования кадров и устройства декодирования кадров согласно варианту осуществления настоящего изобретения. Связанное устройство 9000 кодирования/декодирования включает в себя CPU 9001, IC 9002 кодека, интерфейс 9003 ввода-вывода, запоминающее устройство 9004, накопитель 9005 на оптических дисках, сетевой интерфейс 9006 и видеоинтерфейс 9009, и соответствующие части соединяются посредством шины 9010.

[0224] Модуль 9007 кодирования кадров и модуль 9008 декодирования кадров типично реализуются в качестве IC 9002 кодека. Процесс кодирования кадров устройства кодирования кадров согласно варианту осуществления настоящего изобретения выполняется посредством модуля 9007 кодирования кадров, и процесс декодирования кадров в устройстве декодирования кадров согласно варианту осуществления настоящего изобретения выполняется посредством модуля 9008 декодирования кадров. Интерфейс 9003 ввода-вывода реализуется посредством, например, USB-интерфейса и соединяется с внешней клавиатурой 9104, мышью 9105 и т.п. CPU 9001 управляет устройством 9000 кодирования/декодирования таким образом, что требуемая пользователем операция выполняется на основе пользовательской операции, вводимой через интерфейс 9003 ввода-вывода. Пользовательские операции с использованием клавиатуры 9104, мыши 9105 и т.п. включают в себя выбор функции кодирования или декодирования, которая должна выполняться, задание качества кодирования, указание назначения ввода-вывода потока битов, указание назначения ввода-вывода кадра и т.п.

[0225] Когда пользователю требуется операция воспроизведения кадра, записанного на дисковом носителе 9100 записи, накопитель 9005 на оптических дисках считывает поток битов из дискового носителя 9100 записи, который вставлен, и передает считываемый поток битов в модуль 9008 декодирования кадров IC 9002 кодека через шину 9010. Модуль 9008 декодирования кадров выполняет процесс декодирования кадров для входного потока битов в устройстве декодирования кадров согласно варианту осуществления настоящего изобретения и передает декодированный кадр на внешний монитор 9103 через видеоинтерфейс 9009. Устройство 9000 кодирования/декодирования включает в себя сетевой интерфейс 9006 и может соединяться с внешним сервером 9106 распространения и портативным терминалом 9107 через сеть 9101. Когда пользователь хочет воспроизводить кадр, записанный на сервере 9106 распространения или в портативном терминале 9107, вместо кадра, записанного на дисковом носителе 9100 записи, сетевой интерфейс 9006 получает поток битов из сети 9101 вместо считывания потока битов из входного дискового носителя 9100 записи. Когда пользователь хочет воспроизводить кадр, записанный в запоминающем устройстве 9004, процесс декодирования кадров в устройстве декодирования кадров согласно варианту осуществления настоящего изобретения выполняется для потока битов, записанного в запоминающем устройстве 9004.

[0226] Когда пользователь хочет выполнять операцию кодирования кадра, захваченного посредством внешней камеры 9102 и записи кодированного кадра в запоминающем устройстве 9004, видеоинтерфейс 9009 вводит кадр из камеры 9102 и передает кадр в модуль 9007 кодирования кадров IC 9002 кодека через шину 9010. Модуль 9007 кодирования кадров выполняет процесс кодирования кадров для ввода кадра через видеоинтерфейс 9009 в устройстве кодирования кадров согласно варианту осуществления настоящего изобретения, чтобы создавать поток битов. Затем поток битов передается в запоминающее устройство 9004 через шину 9010. Когда пользователь хочет записывать поток битов на дисковом носителе 9100 записи вместо запоминающего устройства 9004, накопитель 9005 на оптических дисках записывает поток битов на дисковый носитель 9100 записи, который вставлен.

[0227] Также можно реализовывать аппаратную конфигурацию, которая включает в себя устройство кодирования кадров без включения устройства декодирования кадров, либо аппаратную конфигурацию, которая включает в себя устройство декодирования кадров без включения устройства кодирования кадров. Такая аппаратная конфигурация реализуется, например, посредством замены IC 9002 кодека модулем 9007 кодирования кадров или модулем 9008 декодирования кадров.

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

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

[0230]

Пояснение номеров ссылок

100 - устройство кодирования кадров

101 - модуль разбиения блоков

102 - модуль интер-предсказания

103 - модуль интра-предсказания

104 - запоминающее устройство декодированных кадров

105 - модуль определения способа предсказания

106 - модуль формирования остатков

107 - модуль ортогонального преобразования/квантования

108 - модуль кодирования битовых строк

109 - модуль обратного квантования/обратного ортогонального преобразования

110 - модуль наложения сигналов кадров для декодирования

111 - запоминающее устройство для хранения информации кодирования

200 - устройство декодирования кадров

201 - модуль декодирования битовых строк

202 - модуль разбиения блоков

203 - модуль интер-предсказания

204 - модуль интра-предсказания

205 - запоминающее устройство для хранения информации кодирования

206 - модуль обратного квантования/обратного ортогонального преобразования

207 - модуль наложения сигналов кадров для декодирования

208 - запоминающее устройство декодированных кадров

1. Устройство декодирования кадров, содержащее:

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

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

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

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

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

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

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

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

выбирают потенциально подходящий вариант выбора из потенциально подходящих вариантов, включенных во второй список потенциально подходящих вариантов; и

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

3. Устройство кодирования кадров, содержащее:

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

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

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

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

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

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

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

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

выбирают потенциально подходящий вариант выбора из потенциально подходящих вариантов, включенных во второй список потенциально подходящих вариантов; и

выполняют интерпредсказание с использованием потенциально подходящего варианта выбора,

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



 

Похожие патенты:

Изобретение относится к технике разделения изображения на блоки и выполнения кодирования и декодирования для каждого из разделенных блоков. Техническим результатом является повышение эффективности кодирования.

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

Группа изобретений относится к технологиям обработки видеоданных. Техническим результатом является повышение эффективности кодирования/декодирования видеоданных за счет снижения объема кодируемых/декодируемых данных.

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

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

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

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

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

Изобретение относится к области вычислительной техники для обмена данными изображения. Технический результат заключается в улучшении обмена данными изображения на основе нелинейности восприятия яркости между разными возможностями отображения.

Изобретение относится к средствам для кодирования видео. Технический результат заключается в повышении эффективности кодирования видео.

Изобретение относится к области обработки данных. Технический результат заключается в уменьшении объема данных, необходимых для представления облака точек, представляющего трехмерную (3D) форму. Такой результат достигается тем, что способ включает в себя прием энтропийно-кодированного битового потока, содержащего сжатые видеоданные, включая коды занятости облака точек, создание одного или нескольких деквантованных размеров граничного блока облака точек, на основе определения того, что сжатые видеоданные были предсказаны с использованием предсказателя на основе атрибутов, определение, что предсказатель для декодирования является предсказателем на основе атрибутов, на основе определения того, что сжатые видеоданные были предсказаны с использованием предсказателя на основе геометрии, определение, что предсказатель для декодирования является предсказателем на основе геометрии и построение структуры октодерева с использованием определенного предсказателя. 3 н. и 13 з.п. ф-лы, 10 ил., 4 табл.
Наверх