СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ

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