СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВЕКТОРА ДВИЖЕНИЯ НА ОСНОВАНИИ СОКРАЩЕННЫХ ПРЕДСКАЗАТЕЛЕЙ-КАНДИДАТОВ ВЕКТОРА ДВИЖЕНИЯ

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