Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения
Иллюстрации
Показать всеИзобретение относится к области прогнозирующего кодирования/декодирования вектора движения. Технический результат – уменьшение вычислительной сложности, необходимой для определения предикторов вектора движения. Способ определения варианта предиктора вектора движения для прогнозирующего кодирования содержит: этап определения вектора движения целевого фрагмента в кадровом изображении цели кодирования; этап определения первого варианта предиктора вектора движения из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента; этап определения второго варианта предиктора вектора движения из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента; этап выбора оптимального предиктора вектора движения и вывода информации индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения; и этап кодирования информации индикатора предиктора вектора движения. 4 н. и 8 з.п. ф-лы, 15 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Варианты осуществления настоящего изобретения относятся к способу прогнозирующего кодирования, устройству прогнозирующего кодирования и программе прогнозирующего кодирования вектора движения, а также к способу прогнозирующего декодирования, устройству прогнозирующего декодирования и программе прогнозирующего декодирования вектора движения.
УРОВЕНЬ ТЕХНИКИ
[0002] Технология прогнозирования с компенсацией движения иногда используется в кодировании видео и декодировании видео. В технологии компенсации движения кадр цели обработки в видеопоследовательности разделяется на множество фрагментов. Эти фрагменты последовательно выбираются в качестве фрагмента цели обработки (целевого фрагмента). Вектор движения затем определяется для целевого фрагмента. В технологии прогнозирования с компенсацией движения предиктор вектора движения определяется с использованием векторов движения соседних фрагментов для целевого фрагмента, и вектор движения целевого фрагмента прогнозирующим образом кодируется или прогнозирующим образом декодируется в некоторых случаях.
[0003] Фиг. 1A и 1B иллюстрируют прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения. На фиг. 1A, форма целевого фрагмента BT является идентичной форме соседних фрагментов BL, BA и BRA. Соседний расположенный слева фрагмент BL включает в себя соседний пиксел, находящийся слева от верхнего левого пиксела в целевом фрагменте BT; соседний расположенный сверху фрагмент BA включает в себя соседний пиксел, находящийся выше относительно верхнего левого пиксела в целевом фрагменте BT; соседний расположенный сверху справа фрагмент BRA включает в себя соседний пиксел, находящийся выше и справа от верхнего правого пиксела в целевом фрагменте BT. Традиционная технология H.264/AVC использует предиктор вектора движения, имеющий медианные значения горизонтальных компонентов и вертикальных компонентов векторов движения соседнего расположенного слева фрагмента BL, соседнего расположенного сверху фрагмента BA и соседнего расположенного сверху справа фрагмента BRA.
[0004] С другой стороны, фиг. 1B иллюстрирует случай, в котором существует множество соседних фрагментов, имеющих соответствующие формы, отличающиеся от формы целевого фрагмента BT. Множество соседних фрагментов на фиг. 1B включают в себя соседние фрагменты BL1, BL2, BA1, BA2, BD и BE, в дополнение к соседнему расположенному слева фрагменту BL, соседнему расположенному сверху фрагменту BA и соседнему расположенному сверху справа фрагменту BRA. Согласно технологии, описанной в патентном документе 1, множество соседних фрагментов сканируется в предварительно определенном пространственном порядке, чтобы указывать соседний фрагмент с наилучшим пространственным подобием пикселному сигналу целевого фрагмента, и вектор движения соседнего фрагмента, указываемый таким образом, используется в качестве предиктора вектора движения. В технологии патентного документа 1, пространственное подобие, которое должно быть использовано, представляет собой сумму абсолютных разностей (SAD) между пикселным сигналом целевого фрагмента и пикселным сигналом соседнего фрагмента.
Список библиографических ссылок
ПАТЕНТНЫЕ ДОКУМЕНТЫ
[0005] Патентный документ 1. Перевод на японский язык выложенной PCT-заявки № 2010-515399
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
[0006] Поскольку вышеприведенная технология патентного документа 1 заключает в себе вычисление пространственного подобия при сканировании множества соседних фрагментов в предварительно определенном порядке, она требует значительного числа вычислений для определения предиктора вектора движения.
[0007] Следовательно, существует потребность в отношении уменьшения вычислительной сложности, необходимой для определения предиктора вектора движения, в соответствующих областях техники.
РЕШЕНИЕ ЗАДАЧИ
[0008] Один аспект настоящего изобретения относится к технологии прогнозирующего кодирования векторов движения.
[0009] Способ прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения является способом для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, содержащим: (a) этап определения вектора движения целевого фрагмента в кадровом изображении цели кодирования в видеопоследовательности; (b) этап определения первого варианта предиктора вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента; (c) этап определения второго варианта предиктора вектора движения, удовлетворяющего предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента; (d) этап выбора оптимального предиктора вектора движения и вывода информации индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения, причем оптимальный предиктор вектора движения выбирается на основе сравнения между одним или более вариантов предикторов вектора движения, включающих в себя первый вариант предиктора вектора движения и второй вариант предиктора вектора движения, и вектором движения целевого фрагмента; и (e) этап кодирования информации индикатора предиктора вектора движения.
[0010] Устройство прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения является устройством для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, содержащим: средство обнаружения движения, которое определяет вектор движения целевого фрагмента в кадровом изображении цели кодирования в видеопоследовательности; средство определения первых вариантов предикторов вектора движения, которое определяет первый вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента; средство определения вторых вариантов предикторов вектора движения, которое определяет второй вариант предиктора вектора движения, удовлетворяющий предварительно определенному критерию, используемому для определения вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента; средство определения предикторов вектора движения, которое выбирает оптимальный предиктор вектора движения на основе сравнения между вектором движения целевого фрагмента и одним или более вариантов предикторов вектора движения. Один или более вариантов предикторов вектора движения включают в себя, по меньшей мере, один из первого варианта предиктора вектора движения или второго варианта предиктора вектора движения. Средство определения предикторов вектора движения выводит информацию индикатора предиктора вектора движения, чтобы указывать выбранный оптимальный предиктор вектора движения; и средство кодирования, которое кодирует информацию индикатора предиктора вектора движения.
[0011] Программа прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения является программой для побуждения компьютера работать в качестве устройства для прогнозирующего кодирования вектора движения, используемого при прогнозировании с компенсацией движения видеопоследовательности, состоящей из временной последовательности кадровых изображений, причем программа побуждает компьютер выступать в качестве: средства обнаружения движения, средства определения первых вариантов предикторов вектора движения, средства определения вторых вариантов предикторов вектора движения, средства определения предикторов вектора движения и средства кодирования, описанных выше.
[0012] В технологии прогнозирующего кодирования векторов движения согласно одному аспекту настоящего изобретения, описанному выше, сокращается число вариантов предикторов вектора движения, и после этого предиктор вектора движения определяется на основе сравнения между вектором движения целевого фрагмента и вариантами предикторов вектора движения. Следовательно, эта технология позволяет уменьшать вычислительную сложность, необходимую для определения предиктора вектора движения.
[0013] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: прогнозированный сигнал для пикселного сигнала целевого фрагмента формируется посредством обращения к опорному кадру с номером кадра, указываемым посредством идентификационных данных списка опорных изображений и идентификационных данных опорного изображения; первый вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней слева области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента; второй вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней сверху области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, совпадающие с идентификационными данными списка опорных изображений и/или идентификационными данными опорного изображения для целевого фрагмента.
[0014] В варианте осуществления, информация индикатора предиктора вектора движения может быть кодирована в кодированные данные с числом битов согласно числу вариантов предикторов вектора движения. Например, информация индикатора предиктора вектора движения может быть кодирована в кодированные данные с минимальным числом битов согласно числу вариантов предикторов вектора движения. Этот вариант осуществления позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения.
[0015] В варианте осуществления, соседняя слева область может включать в себя соседний фрагмент, расположенный ниже и слева от целевого фрагмента. Соседний расположенный слева снизу фрагмент является фрагментом, включающим в себя соседние пикселы, находящиеся ниже и слева от нижнего левого пиксела в целевом фрагменте. В этом варианте осуществления, соседний расположенный слева снизу фрагмент включается в соседнюю слева область, и вектор движения соседнего расположенного слева снизу фрагмента не задается как независимый вариант предиктора вектора движения, когда первый вариант предиктора вектора движения определяется из соседней слева области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено.
[0016] В варианте осуществления, соседняя сверху область может включать в себя соседний фрагмент, расположенный выше и справа от целевого фрагмента. Соседний расположенный сверху справа фрагмент является фрагментом, который включает в себя соседние пикселы, находящиеся выше и справа от верхнего правого пиксела в целевом фрагменте. В этом варианте осуществления, соседний расположенный сверху справа фрагмент включается в соседнюю сверху область, и вектор движения соседнего расположенного сверху справа фрагмента не задается как независимый вариант предиктора вектора движения, когда второй вариант предиктора вектора движения определяется из соседней сверху области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено.
[0017] В варианте осуществления, соседняя слева область или соседняя сверху область могут включать в себя соседний фрагмент, расположенный выше и слева от целевого фрагмента. Соседний расположенный слева сверху фрагмент является фрагментом, который включает в себя соседние пикселы, находящиеся выше и слева от верхнего левого пиксела в целевом фрагменте. В этом варианте осуществления, вектор движения соседнего расположенного слева сверху фрагмента не задается как независимый вариант предиктора вектора движения, и вариант предиктора вектора движения определяется, в то время как соседний расположенный слева сверху фрагмент включается в соседнюю слева область или в соседнюю сверху область. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено.
[0018] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: один или более фрагментов в соседней слева области сканируются в направлении вверх снизу соседней слева области, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, определяется в качестве первого варианта предиктора вектора движения из векторов движения одного или более фрагментов. Предварительно определенный критерий используется при определении вариантов предикторов вектора движения. Последующее сканирование в соседней слева области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Согласно знаниям, полученным авторами изобретения на основе исследования по большому числу видеопоследовательностей, фрагмент, из числа фрагментов в соседней слева области, с вектором движения, имеющим небольшую разность относительно вектора движения целевого фрагмента, чаще всего присутствует снизу в соседней слева области. Следовательно, первый вариант предиктора вектора движения с небольшой разностью относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней слева области в вышеприведенном порядке сканирования.
[0019] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: один или более фрагментов в соседней сверху области сканируются в направлении влево справа налево, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, определяется в качестве второго варианта предиктора вектора движения из векторов движения одного или более фрагментов. Последующее сканирование в соседней сверху области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Согласно знаниям, полученным авторами изобретения на основе исследования по большому числу видеопоследовательностей, фрагмент с вектором движения, имеющим небольшую разность относительно вектора движения целевого фрагмента, из фрагментов в соседней сверху области, чаще всего существует справа в соседней сверху области. Следовательно, второй вариант предиктора вектора движения с небольшой разностью относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней сверху области в вышеприведенном порядке сканирования.
[0020] В варианте осуществления, технология прогнозирующего кодирования может иметь следующую конфигурацию: она содержит определение информации индикатора первого направления сканирования, указывающей направление сканирования одного или более фрагментов, включенных в соседнюю слева область, чтобы определять первый вариант предиктора вектора движения; определение информации индикатора второго направления сканирования, указывающей направление сканирования одного или более фрагментов, включенных в соседнюю сверху область, чтобы определять второй вариант предиктора вектора движения; и дополнительное кодирование информации индикатора первого направления сканирования и информации индикатора второго направления сканирования. В этом варианте осуществления, сканирования выполняются в направлениях как вверх, так и вниз в соседней слева области, чтобы выбирать вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Оптимальный вектор движения из числа векторов движения, выбранных в направлениях вверх и вниз, задается как первый вариант предиктора вектора движения, и информация, указывающая направление сканирования, в котором получается первый вариант предиктора вектора движения, задается как информация индикатора первого направления сканирования. Кроме того, сканирования выполняются в направлениях как влево, так и вправо в соседней сверху области, чтобы выбирать вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Оптимальный вектор движения, из числа векторов движения, выбранных в направлениях влево и вправо, задается как второй вариант предиктора вектора движения, и информация, указывающая направление сканирования, в котором получается второй вариант предиктора вектора движения, задается как информация индикатора второго направления сканирования. Этот вариант осуществления обеспечивает достижение дополнительного повышения эффективности кодирования посредством определения первого варианта предиктора вектора движения и второго варианта предиктора вектора движения.
[0021] В варианте осуществления, число одного или более вариантов предикторов вектора движения может не превышать 3. Этот вариант осуществления позволяет дополнительно уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения.
[0022] В варианте осуществления, оптимальный предиктор вектора движения может быть использован в качестве вектора движения целевого фрагмента, без кодирования остаточного сигнала между вектором движения целевого фрагмента и оптимальным предиктором вектора движения. Этот вариант осуществления позволяет дополнительно повышать эффективность кодирования, поскольку остаточный сигнал вектора движения не кодируется.
[0023] Другой аспект настоящего изобретения относится к технологии прогнозирующего декодирования векторов движения.
[0024] Способ для прогнозирующего декодирования вектора движения согласно одному аспекту настоящего изобретения является способом для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений. Способ содержит: (a) этап определения первого варианта предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, причем первый вариант предиктора вектора движения определяется из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю слева область, расположенную слева от целевого фрагмента в кадровом изображении цели декодирования; (b) этап определения второго варианта предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении варианта предиктора вектора движения, причем второй вариант предиктора вектора движения определяется из вектора движения или векторов движения одного или более фрагментов, включенных в соседнюю сверху область, расположенную выше целевого фрагмента; (c) этап декодирования кодированных данных, чтобы восстанавливать информацию индикатора предиктора вектора движения, указывающую оптимальный предиктор вектора движения для целевого фрагмента; и (d) этап выбора оптимального предиктора вектора движения, указываемой посредством информации индикатора предиктора вектора движения, из одного или более вариантов предикторов вектора движения, причем один или более вариантов предикторов вектора движения включают в себя, по меньшей мере, первый вариант предиктора вектора движения и второй вариант предиктора вектора движения.
[0025] Устройство для прогнозирующего декодирования вектора движения согласно одному аспекту настоящего изобретения является устройством для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений. Устройство содержит: средство определения первых вариантов предикторов вектора движения, которое определяет первый вариант предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней слева области, расположенной слева от целевого фрагмента в кадровом изображении цели декодирования; средство определения вторых вариантов предикторов вектора движения, которое определяет второй вариант предиктора вектора движения, который удовлетворяет предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, из вектора движения или векторов движения одного или более фрагментов, принадлежащих соседней сверху области, расположенной выше целевого фрагмента; средство декодирования, которое декодирует кодированные данные, чтобы восстанавливать информацию индикатора предиктора вектора движения, чтобы указывать оптимальный предиктор вектора движения для целевого фрагмента; и средство определения оптимального предиктора вектора движения, которое выбирает оптимальный предиктор вектора движения, указываемую посредством информации индикатора предиктора вектора движения. Оптимальный предиктор вектора движения выбирается из одного или более вариантов предикторов вектора движения, включающих в себя, по меньшей мере, первый вариант предиктора вектора движения и второй вариант предиктора вектора движения.
[0026] Программа для прогнозирующего декодирования вектора движения согласно одному аспекту настоящего изобретения является программой для побуждения компьютера работать в качестве устройства для прогнозирующего декодирования вектора движения, используемого при прогнозировании с компенсацией движения, чтобы восстанавливать видеопоследовательность, состоящую из временной последовательности кадровых изображений. Программа побуждает компьютер выступать в качестве: средства определения первых вариантов предикторов вектора движения, средства определения вторых вариантов предикторов вектора движения, средства декодирования и средства определения оптимального предиктора вектора движения, описанных выше.
[0027] В технологии прогнозирующего декодирования векторов движения согласно одному аспекту настоящего изобретения, описанному выше, сокращается число вариантов предикторов вектора движения, и после этого предиктор вектора движения определяется на основе сравнения между вектором движения целевого фрагмента и вариантами предикторов вектора движения. Следовательно, это позволяет уменьшать вычислительную сложность, необходимую для определения предиктора вектора движения.
[0028] В варианте осуществления, технология прогнозирующего декодирования может иметь следующую конфигурацию: прогнозированный сигнал для сигнала изображений целевого фрагмента формируется посредством обращения к опорному кадру с номером кадра, указываемым посредством идентификационных данных списка опорных изображений и идентификационных данных опорного изображения; первый вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней слева области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, идентичные идентификационным данным списка опорных изображений и/или идентификационным данным опорного изображения для целевого фрагмента; второй вариант предиктора вектора движения определяется из векторов движения фрагментов в соседней сверху области, имеющих идентификационные данные списка опорных изображений и/или идентификационные данные опорного изображения, идентичные идентификационным данным списка опорных изображений и/или идентификационным данным опорного изображения для целевого фрагмента.
[0029] В варианте осуществления, число битов кодированных данных в информации индикатора предиктора вектора движения может быть числом битов согласно числу вариантов предикторов вектора движения. Например, число битов кодированных данных в информации индикатора предиктора вектора движения может быть минимальным числом битов согласно числу вариантов предикторов вектора движения. Этот вариант осуществления позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения.
[0030] В варианте осуществления, соседняя слева область может включать в себя соседний фрагмент, расположенный ниже и слева от целевого фрагмента. В этом варианте осуществления, вектор движения соседнего расположенного слева снизу фрагмента не задается как независимый вариант предиктора вектора движения, и соседний расположенный слева снизу фрагмент включается в соседнюю слева область; затем первый вариант предиктора вектора движения определяется из соседней слева области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, это позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения и уменьшать вычислительную сложность процесса декодирования, чтобы восстанавливать информацию индикатора предиктора вектора движения из кодированных данных.
[0031] В варианте осуществления, соседняя сверху область может включать в себя соседний фрагмент, расположенный выше и справа от целевого фрагмента. В этом варианте осуществления, вектор движения соседнего расположенного сверху справа фрагмента не задается как независимый вариант предиктора вектора движения, и соседний расположенный сверху справа фрагмент включается в соседнюю сверху область; затем второй вариант предиктора вектора движения определяется из соседней сверху области. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, это позволяет уменьшать число битов кодированных данных в информации индикатора предиктора вектора движения и уменьшать вычислительную сложность процесса декодирования, чтобы восстанавливать информацию индикатора предиктора вектора движения из кодированных данных.
[0032] В варианте осуществления, соседняя слева область или соседняя сверху область могут включать в себя соседний фрагмент, расположенный выше и слева от целевого фрагмента. В этом варианте осуществления, вектор движения соседнего расположенного слева сверху фрагмента не задается как независимый вариант предиктора вектора движения, и соседний расположенный слева сверху фрагмент включается в соседнюю слева область или в соседнюю сверху область; затем вариант предиктора вектора движения определяется оттуда. Этот вариант осуществления позволяет сокращать число вариантов предикторов вектора движения. Как результат, число битов кодированных данных в информации индикатора предиктора вектора движения может быть уменьшено, и вычислительная сложность процесса декодирования, чтобы восстанавливать информацию индикатора предиктора вектора движения из кодированных данных, также может быть уменьшена.
[0033] В варианте осуществления, технология прогнозирующего декодирования может иметь следующую конфигурацию: один или более фрагментов в соседней слева области сканируются в направлении вверх снизу соседней слева области, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, определяется в качестве первого варианта предиктора вектора движения из векторов движения одного или более фрагментов. Последующее сканирование в соседней слева области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию определения вариантов предикторов вектора движения. Первый вариант предиктора вектора движения с небольшой ошибкой относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней слева области в вышеприведенном порядке сканирования.
[0034] В варианте осуществления, технология прогнозирующего декодирования может иметь следующую конфигурацию: один или более фрагментов в соседней сверху области сканируются в направлении справа налево, посредством чего вектор движения, удовлетворяющий предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения, определяется в качестве второго варианта предиктора вектора движения из векторов движения одного или более фрагментов. Последующее сканирование в соседней сверху области может завершаться при обнаружении вектора движения, удовлетворяющего предварительно определенному критерию, используемому при определении вариантов предикторов вектора движения. Второй вариант предиктора вектора движения с небольшой ошибкой относительно вектора движения целевого фрагмента может быть эффективно определен посредством сканирования соседней сверху области в вышеприведенном порядке сканирования.
[0035] В варианте осуществления, технология прогнозирующего декодирования может быть сконфигурирована с возможностью включать в себя: декодирование кодированных данных, чтобы восстанавливать информацию индикатора первого направления сканирования, чтобы указывать направление сканирования одного или более фрагментов в соседней слева области, и информацию индикатора второго направления сканирования, чтобы указывать направление сканирования одного или более фрагментов в соседней сверху области; сканирование одного или более фрагментов в соседней слева области в направлении, указываемом посредством информации индикатора первого направления сканирования, чтобы определять первый вариант предиктора вектора движения; и сканирование одного или более фрагментов в соседней сверху области в направлении, указываемом посредством информации индикатора второго направления сканирования, чтобы определять второй вариант предиктора вектора движения. Этот вариант осуществления позволяет определять первый вариант предиктора вектора движения и второй вариант предиктора вектора движения с меньшими ошибками относительно вектора движения целевого фрагмента.
[0036] В варианте осуществления, число одного или более вариантов предикторов вектора движения может не превышать 3. Этот вариант осуществления позволяет дополнительно уменьшать число битов в информации индикатора предиктора вектора движения.
[0037] В варианте осуществления, оптимальный предиктор вектора движения может быть использован в качестве вектора движения целевого фрагмента. Этот вариант осуществления позволяет уменьшать объем данных для кодированных данных, поскольку остаточный сигнал вектора движения не кодируется.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
[0038] Как описано выше, аспекты и варианты осуществления настоящего изобретения предоставляют способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программу прогнозирующего кодирования векторов движения, а также способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программу прогнозирующего декодирования векторов движения, допускающие уменьшение вычислительной сложности, необходимой для определения предикторов вектора движения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0039] Фиг. 1A иллюстрирует прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения.
Фиг. 1B иллюстрирует прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения.
Фиг. 2 показывает конфигурацию устройства кодирования видео согласно варианту осуществления.
Фиг. 3 - блок-схема последовательности операций способа, показывающая вариант осуществления способа прогнозирующего кодирования векторов движения.
Фиг. 4 иллюстрирует прямоугольные соседние фрагменты, используемые при прогнозировании с компенсацией движения.
Фиг. 5 - блок-схема последовательности операций способа, подробно показывающая первый вариант осуществления процесса для этапа S302 на фиг. 3.
Фиг. 6 - блок-схема последовательности операций способа, подробно показывающая первый вариант осуществления процесса для этапа S303 на фиг. 3.
Фиг. 7 показывает конфигурацию устройства декодирования видео согласно одному варианту осуществления.
Фиг. 8 - блок-схема последовательности операций способа, показывающая вариант осуществления способа прогнозирующего декодирования вектора движения.
Фиг. 9 - блок-схема последовательности операций способа, показывающая процесс определения вариантов предикторов вектора движения в способе прогнозирующего кодирования вектора движения во втором варианте осуществления.
Фиг. 10 - блок-схема последовательности операций способа, показывающая способ прогнозирующего декодирования вектора движения во втором варианте осуществления.
Фиг. 11 показывает конфигурацию программы кодирования видео согласно одному варианту осуществления.
Фиг. 12 показывает конфигурацию программы декодирования видео согласно одному варианту осуществления.
Фиг. 13 показывает аппаратную конфигурацию компьютера согласно одному варианту осуществления.
Фиг. 14 - вид в перспективе показывающий компьютер согласно одному варианту осуществления.
ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0040] Различные варианты осуществления подробно описываются ниже со ссылкой на чертежи. На чертежах идентичные или эквивалентные части обозначаются посредством идентичных ссылочных позиций.
[0041] Фиг. 2 показывает конфигурацию устройства кодирования видео согласно одному варианту осуществления. Устройство 20 кодирования видео, показанное на фиг. 2, является примером устройства, которое прогнозирующим образом кодирует вектор движения согласно одному аспекту настоящего изобретения.
[0042] Видеопоследовательность, вводимая в устройство 20 кодирования видео, состоит из временной последовательности кадровых изображений. Сигнал кадровых изображений, предназначенный для кодирования, упоминается далее как ʺтекущий кадрʺ. В устройстве 20 кодирования видео текущий кадр разделяется на прямоугольные фрагменты переменного размера, и обработка, описанная ниже, выполняется в каждой из единиц фрагментов.
[0043] Устройство 20 кодирования видео может использовать любой из режима межкадрового прогнозирования и множества режимов внутрикадрового прогнозирования, переключая режим прогнозирования для каждого фрагмента между ними. Например, устройство 20 кодирования видео выбирает режим прогноз