ВНУТРЕННЕЕ ПРЕДСКАЗАНИЕ БЛОЧНОГО КОПИРОВАНИЯ С АСИММЕТРИЧНЫМИ РАЗДЕЛАМИ И СХЕМАМИ ПОИСКА НА СТОРОНЕ КОДЕРА, ДИАПАЗОНЫ ПОИСКА И ПОДХОДЫ К РАЗДЕЛЕНИЮ

1. В вычислительном устройстве, которое реализует кодер изображения или видео, способ, состоящий в том, что:
кодируют изображение или видео для получения закодированных данных, в том числе выполняют внутреннее предсказание блочного копирования (BC) для текущего блока, который асимметрично разделен для внутреннего предсказания BC; при этом асимметричное разделение состоит в том, что разделяют текущий блок на два раздела, которые имеют разные размеры;
и
выводят закодированные данные как часть битового потока.
2. Способ по п. 1, в котором кодирование дополнительно состоит в том, что выполняют внутреннее предсказание BC для другого блока, который симметрично разделен для внутреннего предсказания BC, при этом другой блок представляет собой блок 2N×2N, и при этом другой блок разделен на (1) два блока 2N×N, (2) два блока N×2N, или (3) четыре блока N×N, каждый из которых может быть дополнительно разделен на два блока N×N/2, два блока N/2×N или четыре блока N/2×N/2.
3. В вычислительном устройстве, которое реализует декодер изображения или видео, способ, состоящий в том, что:
принимают закодированные данные как часть битового потока; и
декодируют закодированные данные, чтобы восстановить изображение или видео, в том числе выполняют внутреннее предсказание блочного копирования (BC) для текущего блока, который асимметрично разделен для внутреннего предсказания BC; при этом асимметричное разделение состоит в том, что разделяют текущий блок на два раздела, которые имеют разные размеры.
4. Способ по п. 3, в котором декодирование дополнительно состоит в том, что выполняют внутреннее предсказание BC для другого блока, который симметрично разделен для внутреннего предсказания BC, при этом другой блок представляет собой блок 2N×2N, и при этом другой блок разделен на (1) два блока 2N×N, (2) два блока N×2N, или (3) четыре блока N×N, каждый из которых может быть дополнительно разделен на два блока N×N/2, два блока N/2×N или четыре блока N/2×N/2.
5. Способ по п. 1 или 3, в котором текущий блок представляет собой блок 2N×2N, и при этом текущий блок разделен на (1) блок 2N×N/2 и блок 2N×3N/2 или (2) блок 2N×3N/2 и блок 2N×N/2.
6. Способ по п. 1 или 3, в котором текущий блок представляет собой блок 2N×2N, и при этом текущий блок разделен на (1) блок N/2×2N и блок 3N/2×2N или (2) блок 3N/2×2N и блок N/2×2N.
7. Способ по любому одному из п.п. 1-6, в котором текущий блок представляет собой блок 64×64, блок 32×32, блок 16×16 или блок 8×8.
8. Способ по любому одному из п.п. 1-7, в котором видео представляет собой искусственно созданное видео.
9. Один или более машиночитаемых носителей, хранящих машинно-исполняемые инструкции для того, чтобы заставить вычислительное устройство, запрограммированное с их помощью, выполнять способ, состоящий в том, что:
кодируют изображение или видео для получения закодированных данных, в том числе вычисляют предсказание для текущего блока текущего изображения, при этом вычисление предсказания использует подход снизу-вверх для идентификации разделов текущего блока; при этом текущий блок асимметрично разделен для внутреннего предсказания BC и при этом асимметричное разделение состоит в том, что разделяют текущий блок на два раздела, которые имеют различные размеры;
и
выводят закодированные данные как часть битового потока.
10. Один или более машиночитаемых носителей по п. 9, в котором предсказание представляет собой часть оценки движения или часть оценки вектора блока для внутреннего предсказания блочного копирования.
11. Один или более машиночитаемых носителей по п. 9, в котором разделы для текущего блока представляют собой два раздела, которые имеют разные размеры.
12. Один или более машиночитаемых носителей по п. 9 или 10, в котором текущий блок представляет собой блок 2N×2N, и при этом подход снизу-вверх состоит в том, что:
проверяют режимы для каждого блока N×N из блока 2N×2N;
выбирают наилучшие режимы для соответствующих блоков N×N из блока 2N×2N;
кэшируют значения вектора для соответствующих блоков N×N из блока 2N×2N;
проверяют режимы размерности 2N для блока 2N×2N, в том числе используют кэшированные значения вектора;
выбирают наилучший режим размерности 2N для блока 2N×2N; и
выбирают между наилучшим режимом размерности 2N для блока 2N×2N и выбранными наилучшими режимами для соответствующих блоков N×N из блока 2N×2N.
13. Один или более машиночитаемых носителей по п. 9 или 10, в котором текущий блок представляет собой блок 2N×2N, и при этом подход снизу-вверх состоит в том, что:
проверяют подмножество режимов для каждого блока N×N из блока 2N×2N;
кэшируют значения вектора для соответствующих блоков N×N из блока 2N×2N;
проверяют подмножество режимов размерности 2N для блока 2N×2N, в том числе используют кэшированные значения вектора;
выбирают наилучший режим размерности 2N для блока 2N×2N; и
выбирают между наилучшим режимом размерности 2N для блока 2N×2N и наилучшими режимами для соответствующих блоков N×N из блока 2N×2N.
14. Один или более машиночитаемых носителей по п. 13, в котором подмножество режимов для каждого блока N×N представляет собой режим с двумя блоками N×N/2, и при этом подмножество режимов размерности 2N представляет собой режим с блоком 2N×2N, режим с двумя блоками 2N×N, режим с блоком 2N×N/2 и блоком 2N×3N/2, и режим с блоком 2N×3N/2 и блоком 2N×N/2.
15. Один или более машиночитаемых носителей по п. 13, в котором подмножество режимов для каждого блока N×N представляет собой режим с двумя блоками N/2×N, и при этом подмножество режимов размерности 2N представляет собой режим с блоком 2N×2N, режим с двумя блоками N×2N, режим с блоком N/2×2N и блоком 3N/2×2N, и режим с блоком 3N/2×2N и блоком N/2×2N.