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

1. Способ определения уровня выравнивания между опорными вставками с компенсацией движения, содержащий этапы, на которых:
получают, с помощью декодера, неокругленные вектора движения слияния между двумя опорными вставками с компенсацией движения;
округляют, с помощью декодера неокругленные вектора движения слияния для получения округленных векторов движения;
вычисляют, с помощью декодера, сумму абсолютных разностей (SAD) между двумя опорными вставками с компенсацией движения, посредством выполнения компенсации движения с использованием округленных векторов движения;
определяют, с помощью декодера, меньше ли SAD порогового значения, зависящего от размера блока кодирования (CU);
когда SAD меньше порогового значения, зависящего от размера CU:
пропускают оставшиеся этапы процесса уточнения вектора движения на стороне декодера (DMVR); и
завершают компенсацию движения; и
когда SAD не меньше порогового значения, зависящего от размера CU:
выполняют оставшиеся этапы процесса DMVR с использованием неокругленных векторов движения слияния; и
завершают компенсацию движения.
2. Способ по п. 1, в котором этап выполнения окончательной компенсации движения содержит подэтапы, на которых:
округляют неокругленные вектора движения слияния до ближайшей целочисленной позиции выборки в горизонтальном направлении и вертикальном направлении для получения целочисленной позиции выборок; и
усредняют целочисленные позиций выборок.
3. Способ по п. 1, в котором этап выполнения окончательной компенсации движения содержит подэтапы, на которых:
округляют неокругленные вектора движения слияния до ближайшей позиции выборки полупикселя в горизонтальном направлении и вертикальном направлении для получения позиции выборок полупикселя; и
усредняют позиции выборок полупикселя.
4. Способ по п. 1, в котором каждая опорная вставка с компенсацией движения содержит заданный размер MxN пикселей, где M и N являются положительными целыми числами, имеющими одинаковое значение.
5. Способ по п. 1, в котором каждая опорная вставка с компенсацией движения содержит заданный размер MxN пикселей, где M и N являются положительными целыми числами, имеющими разные значения.
6. Способ по п. 1, в котором пороговое значение, зависящее от размера CU, является функцией битовой глубины неокругленных векторов движения слияния.
7. Способ определения уровня выравнивания между опорными вставками с компенсацией движения, содержащий этапы, на которых:
получают, с помощью декодера, интерполированные выборки с компенсацией движения на основании векторов движения слияния с точностью до суб-пикселей из билинейной интерполяции с компенсацией движения;
вычисляют, с помощью декодера сумму абсолютных разностей (SAD) между двумя опорными вставками с компенсацией движения с использованием подмножества интерполированных выборок с компенсацией движения;
определяют, с помощью декодера, меньше ли SAD порогового значения, зависящего от размера блока кодирования (CU);
когда SAD меньше порогового значения, зависящего от размера CU:
пропускают оставшиеся этапы процесса уточнения вектора движения на стороне декодера (DMVR); и
выполняют окончательную компенсацию движения; и
когда SAD не меньше порогового значения, зависящего от размера CU:
выполняют оставшиеся этапы DMVR процесса; и
выполняют окончательную компенсацию движения.
8. Способ по п. 7, в котором подмножество интерполированных выборок с компенсацией движения является неокругленными векторами движения слияния между двумя опорными вставками с компенсацией движения.
9. Способ по п. 7, в котором процесс билинейной интерполяции с компенсацией движения выполняется параллельно на опорных вставках с компенсацией движения.
10. Способ по п. 7, в котором интерполированные выборки с компенсацией движения получают из двух опорных вставок с компенсацией движения с перемежением.
11. Способ по п. 7, в котором подмножество интерполированных выборок с компенсацией движения содержит блок выборок, имеющих размерность, равную размеру блока кодирования (CU).
12. Способ по п. 11, в котором подмножество интерполированных выборок с компенсацией движения содержит (CU_width - 2) * (CU-height - 2) выборок, где CU_width является шириной блока кодирования, а CU-height является высотой блока кодирования.
13. Способ по п. 11, в котором подмножество интерполированных выборок с компенсацией движения содержит (CU_width * CU_height - (CU_width - 2) * (CU-height - 2)) выборок, при этом CU_width представляет собой ширину блока кодирования и CU -height является высотой блока кодирования.
14. Способ по п. 7, в котором пороговое значение, зависящее от размера CU, является функцией количества выборок в подмножестве интерполированных выборок с компенсацией движения.
15. Способ по п. 7, в котором билинейная интерполяция с компенсацией движения выполняется параллельно для двух опорных вставок с компенсацией движения.
16. Способ по п. 7, в котором билинейная интерполяция с компенсацией движения выполняется с перемежением для двух опорных вставок с компенсацией движения.
17. Способ определения уровня выравнивания между опорными вставками с компенсацией движения, содержащий этапы, на которых:
получают, с помощью декодера, интерполированные выборки с компенсацией движения, на основании векторов движения слияния с точностью суб-пикселя;
вычисляют, с помощью декодера, среднюю уменьшенную сумму абсолютных разностей (MR-SAD) между интерполированными выборками с компенсацией движения на центральных позициях соответствующих первой и второй опорным вставкам с компенсацией движения;
определяют, с помощью декодера, меньше ли MR-SAD порогового значения, зависящего от размера блока кодирования (CU);
когда MR-SAD меньше порогового значения, зависящего от размера CU:
пропускают оставшиеся этапы процесса уточнения вектора движения на стороне декодера (DMVR); и
выполняют окончательную компенсацию движения с использованием неокругленных векторов движения слияния; и
когда MR-SAD не меньше порогового значения, зависящего от размера CU:
выполняют оставшиеся этапы процесса DMVR с использованием неокругленных векторов движения слияния; и
выполняют окончательную компенсацию движения с использованием неокругленных векторов движения слияния.
18. Способ по п. 17, в котором этап вычисления MR-SAD содержит подэтапы, на которых:
вычисляют среднее значение первой опорной вставки с компенсацией движения;
вычисляют среднее значение второй опорной вставки с компенсацией движения;
определяют первую интерполированную выборку с компенсацией движения в центре первой опорной вставки с компенсацией движения;
определяют вторую интерполированную выборку с компенсацией движения в центре первой опорной вставки с компенсацией движения, причем MR-SAD вычисляется с использованием уравнения:
MR-SAD = SAD (first_sample - mean (first_patch), second_sample - mean (second_patch)), где first_sample представляет первую интерполированную выборку с компенсацией движения в центре первой опорной вставки с компенсацией движения, second_sample представляет собой вторую интерполированную выборку с компенсацией движения в центре второй опорной вставки с компенсацией движения, mean (first_block) представляет операцию усреднения значений выборки first_block, mean (second_block) представляет операцию усреднения значений выборки second_block и SAD представляет собой операцию суммирования абсолютных разностей между (first_sample – mean (first_patch)) и (second_sample - mean (second_patch)).
19. Способ по п. 17, дополнительно содержащий этап, на котором:
корректируют пороговое значение, зависящее от размера CU, в ответ на битовую глубину интерполированных выборок с компенсацией движения.
20. Способ по п. 19, в котором этап корректировки порогового значения, зависящего от размера CU, содержит подэтап, на котором осуществляют побитовое смещение количества битов вправо.
21. Способ внешнего предсказания, содержащий этапы, на которых:
получают первую опорную вставку с компенсацией движения и вторую опорную вставку с компенсацией движения на основании исходных векторов движения режима слияния;
вычисляют значение разности вставок между первой опорной вставкой с компенсацией движения и второй опорной вставкой с компенсацией движения;
получают значение предсказания текущего блока на основании исходных векторов движения в случае, если значение разности вставок меньше порогового значения, при этом пороговое значение определяется на основании размера текущего блока; и
уточняют исходные вектора движения для получения значения погрешности текущего блока в случае, если значение различия вставок больше или равно пороговому значению.
22. Способ по п. 21, в котором исходные вектора движения выводятся из векторов движения соседнего блока текущего блока.
23. Способ по п. 21 или 22, в котором исходные вектора движения содержат первый вектор движения и второй вектор движения, причем первая опорная вставка с компенсацией движения получается согласно первому вектору движения, а вторая опорная вставка с компенсацией движения получается согласно второму вектору движения.
24. Способ по любому из пп. 21-23, в котором значение разности вставок представляет собой значение SAD или значение средне уменьшенной SAD.
25. Способ по любому из пп. 21-24, в котором этап вычисления значения разности вставок между первой опорной вставкой с компенсацией движения и второй опорной вставкой с компенсацией движения содержит подэтап, на котором:
вычисляют значение разности вставок между подмножеством выборок первой опорной вставки с компенсацией движения и соответствующим подмножеством выборок второй опорной вставки с компенсацией движения.
26. Способ по любому из пп. 21-25, дополнительно содержащий, после этапа вычисления значения разности вставок между первой опорной вставкой с компенсацией движения и второй опорной вставкой с компенсацией движения, этап, на котором:
выполняют сравнение на основании значения разности вставок и порогового значения.
27. Способ по п. 26, дополнительно содержащий, перед этапом выполнения сравнения, на основании значения разности вставок и порогового значения, этап, на котором:
осуществляют корректировку порогового значения после определения порогового значения в соответствии с размером текущего блока.
28. Способ по любому из пп. 21-27, дополнительно содержащий, когда значение разности вставок меньше порогового значения, перед этапом получения значения предсказания текущего блока, на основании исходных векторов движения, этап, на котором:
определяют пропуск уточнения вектора движения на стороне декодера (DMVR).
29. Способ по любому из пп. 21-28, в котором, когда значение разности вставок меньше порогового значения, значение предсказания текущего блока получают с использованием векторов движения, совпадающих с исходными векторами движения.
30. Устройство внешнего предсказания, содержащее:
энергонезависимую память, хранящую исполняемые процессором инструкции; и
процессор, соединенный с памятью, и выполненный с возможностью исполнения исполняемых процессором инструкций, для выполнения способа по любому из пп. 21-29.