ОКНО ОГРАНИЧЕННОГО ДОСТУПА К ПАМЯТИ ДЛЯ УТОЧНЕНИЯ ВЕКТОРА ДВИЖЕНИЯ

1. Устройство для определения вектора движения для блока предсказания, включающее в себя схему обработки, выполненную с возможностью:
получения начального вектора движения и шаблона для блока предсказания;
определения уточнения начального вектора движения посредством сопоставления с упомянутым шаблоном в пространстве поиска, причем
упомянутое пространство поиска расположено в положении, заданном посредством начального вектора движения, и включает в себя одно или несколько дробных положений сэмплов, причем каждое из дробных положений сэмплов, принадлежащих пространству поиска, получают посредствомм интерполяционной фильтрации фильтром с предварительно заданным размером метки, оценивающим целочисленные сэмплы только в пределах окна, причем упомянутое окно образовано посредством целочисленных сэмплов, доступных для сопоставления с шаблоном в упомянутом пространстве поиска.
2. Устройство по п. 1, в котором окно определено как N столбцов целочисленных сэмплов и M строк целочисленных сэмплов относительно начального вектора движения блока предсказания, причем по меньшей мере одно из N и M являются ненулевыми целочисленными значениями.
3. Устройство по п. 1 или 2, в котором
схема обработки выполнена с возможностью определения уточнения начального вектора движения посредством сопоставления с упомянутым шаблоном в пространстве поиска, которое итеративно расширяется в направлении, заданном посредством одного из нескольких положений наилучшего соответствия пространства поиска в самой последней итерации,
окно определено посредством предварительно заданного максимального количества итераций.
4. Устройство по любому из пп. 1-3, в котором пространство поиска включает в себя прямоугольное подокно окна, так что все целочисленные сэмплы, к которым осуществляется доступ для интерполяционной фильтрации каждого дробного сэмпла в подокне, расположены в упомянутом окне для интерполяционного фильтра с предварительно заданным размером метки.
5. Устройство по п. 1 или 2, в котором пространство поиска включает в себя прямоугольное подокно поиска для окна, в котором уточнение начального вектора движения определяют посредством сопоставления с упомянутым шаблоном в прямоугольном подокне поиска, так что целочисленные сэмплы, к которым осуществляется доступ для интерполяционной фильтрации каждого дробного сэмпла в подокне поиска, расположены в упомянутом окне для интерполяционного фильтра с предварительно заданным размером метки.
6. Устройство по п. 5, в котором схема обработки выполнена с возможностью определения уточнения начального вектора движения посредством сопоставления с упомянутым шаблоном в пространстве поиска, которое итеративно расширяется в направлении, заданном посредством одного из нескольких положений наилучшего соответствия пространства поиска в самой последней итерации, причем итерация заканчивается, когда по меньшей мере один сэмпл в пространстве поиска самой последней итерации находится вне подокна поиска.
7. Устройство по п. 4, в котором интерполяционный фильтр является одномерным фильтром, оценивающим K горизонтальных или вертикальных целочисленных сэмплов, когда дробное положение расположено на соответствующей горизонтальной или вертикальной линии целочисленных сэмплов.
8. Устройство по п. 5, в котором пространство поиска дополнительно включает в себя дробные положения, расположенные вне подокна, которые являются:
смежными сверху или снизу от подокна и расположенными на горизонтальной линии целочисленных сэмплов или
смежными слева или справа от подокна и расположенными на вертикальной линии целочисленных сэмплов.
9. Устройство кодирования для кодирования видеоизображений, разделенных на блоки предсказания, в битовый поток, причем устройство кодирования содержит:
устройство для определения вектора движения для блока предсказания по любому из пп. 1-8;
схему кодирования для кодирования разницы между блоком предсказания и предиктором, заданным посредством блока предсказания в положении на основе определенного вектора движения, и для формирования битового потока, включающего в себя кодированную разницу и начальный вектор движения.
10. Устройство декодирования для декодирования из битового потока видеоизображений, разделенных на блоки предсказания, причем устройство декодирования содержит:
модуль синтаксического анализа для выявления из битового потока начального вектора движения и кодированной разницы между блоком предсказания и предиктором, заданным посредством блока предсказания в положении, заданном посредством уточненного вектора движения;
устройство для определения уточненного вектора движения для блока предсказания по любому из пп. 1-8;
схему декодирования для восстановления блока предсказания как суммы выявленной разницы и предиктора, заданного посредством блока предсказания в положении, заданном посредством уточненного вектора движения.
11. Способ определения вектора движения для блока предсказания, включающий в себя этапы, на которых:
получают начальный вектор движения и шаблон для блока предсказания;
определяют уточнение начального вектора движения посредством сопоставления с упомянутым шаблоном в пространстве поиска, причем
упомянутое пространство поиска расположено в положении, заданном посредством начального вектора движения, и включает в себя одно или несколько дробных положений сэмплов, причем каждое из дробных положений сэмплов, принадлежащих пространству поиска, получают посредством интерполяционной фильтрации фильтром с предварительно заданным размером метки, оценивающим целочисленные сэмплы только в пределах окна, причем упомянутое окно образовано посредством целочисленных сэмплов, доступных для сопоставления с шаблоном в упомянутом пространстве поиска.
12. Способ по п. 11, в котором окно определено как N столбцов целочисленных сэмплов и M строк целочисленных сэмплов относительно начального вектора движения блока предсказания, причем N и M являются ненулевыми целочисленными значениями.
13. Способ по п. 11 или 12, в котором
уточнение начального вектора движения определяют посредством сопоставления с упомянутым шаблоном в пространстве поиска, которое итеративно расширяется в направлении, заданном посредством одного из нескольких положений наилучшего соответствия пространства поиска в самой последней итерации,
окно определяют посредством предварительно заданного максимального количества итераций.
14. Способ по любому из пп. 11-13, в котором пространство поиска включает в себя прямоугольное подокно окна, так что все целочисленные сэмплы, к которым осуществляется доступ для интерполяционной фильтрации каждого дробного сэмпла в подокне, расположены в упомянутом окне для интерполяционного фильтра с предварительно заданным размером метки.
15. Способ по п. 11 или 12, в котором пространство поиска включает в себя прямоугольное подокно поиска для окна, в котором уточнение начального вектора движения определяют посредством сопоставления с упомянутым шаблоном в подокне прямоугольного поиска, так что целочисленные сэмплы, к которым осуществляется доступ для интерполяционной фильтрации каждого дробного сэмпла в подокне поиска, расположены в упомянутом окне для интерполяционного фильтра с предварительно заданным размером метки.
16. Способ по п. 15, в котором уточнение начального вектора движения определяют посредством сопоставления с упомянутым шаблоном в пространстве поиска, которое итеративно расширяется в направлении, заданном посредством одного из нескольких положений наилучшего соответствия пространства поиска в самой последней итерации, причем итерация заканчивается, когда по меньшей мере один сэмпл в пространстве поиска самой последней итерации находится вне подокна поиска.
17. Способ по п. 14, в котором интерполяционный фильтр представляет собой одномерный фильтр, оценивающий K горизонтальных или вертикальных целочисленных сэмплов, когда дробное положение находится на соответствующей горизонтальной или вертикальной линии целочисленных сэмплов.
18. Способ по п. 17, в котором пространство поиска дополнительно включает в себя дробные положения, расположенные вне подокна, которые являются:
смежными сверху или снизу от подокна и расположенными на горизонтальной линии целочисленных сэмплов или
смежными слева или справа от подокна и расположенными на вертикальной линии целочисленных сэмплов.
19. Способ кодирования для кодирования видеоизображений, разделенных на блоки предсказания, в битовый поток, причем способ кодирования содержит этапы, на которых:
определяют вектор движения для блока предсказания по любому из пп. 11-18;
кодируют разницу между блоком предсказания и предиктором, заданным посредством блока предсказания в положении на основе определенного вектора движения, и для формирования битового потока, включающего в себя кодированную разницу и начальный вектор движения.
20. Способ декодирования для декодирования из битового потока видеоизображений, разделенных на блоки предсказания, причем способ декодирования содержит этапы, на которых:
выявляют из битового потока начальный вектор движения и закодированную разницу между блоком предсказания и предиктором, заданным посредством блока предсказания в положении, заданном посредством уточненного вектора движения;
определяют уточненный вектор движения для блока предсказания по любому из пп. 11-18;
восстанавливают блок предсказания как сумму выявленной разницы и предиктора, заданного посредством блока предсказания в положении, заданном посредством уточненного вектора движения.
21. Считываемый компьютером носитель данных, хранящий инструкции, которые при исполнении на процессоре вынуждают процессор выполнять способы по любому из пп. 11-20.