СПОСОБ КОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОИЗОБРАЖЕНИЯ, УСТРОЙСТВО КОДИРОВАНИЯ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ
METHOD OF VIDEO IMAGE ENCODING, METHOD OF VIDEO IMAGE DECODING, ENCODING DEVICE AND DECODING DEVICE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к области обработки видео изображения, и, в частности, к способу кодирования видео изображения, способу декодирования видео изображения, устройству кодирования, и устройству декодирования.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0002] По мере того, как стремительно развиваются Интернет технологии и становится более насыщенной духовная культура людей, все большие требования предъявляются к видео приложениям в Интернет, и, в частности, требования в отношении видео приложения высокой четкости. Тем не менее, объем данных видео высокой четкости огромен, и в первую очередь требует решения проблема кодирования с сжатием видео высокой четкости с тем, чтобы видео высокой четкости могло быть передано по Интернет с ограниченной полосой пропускания. В настоящее время, две международные организации: Экспертная Группа по Кинематографии (Экспертная Группа по Кинематографии, коротко «MPEG») в соответствии с Международной Организацией по Стандартизации (Международная Организация по Стандартизации, коротко «ISO»)/Международной Электротехнической Комиссией (Международная Электротехническая Комиссия, коротко «IEC») и Экспертная Группа в области Кодирования Видео (Экспертная Группа в области Кодирования Видео, коротко «VCEG») в соответствии с Международным Телекоммуникационным Союзом - Сектор Стандартизации Телекоммуникации (Международный Телекоммуникационный Союз - Сектор Стандартизации Телекоммуникации, коротко «ITU-T», занимаются разработкой международных стандартов кодирования видео. Созданная в 1986г., MPEG занимается разработкой связанных стандартов в области мультимедиа, при этом стандарты главным образом применяются к хранению, вещанию и телевидению, потоковой передаче мультимедиа по Интернет или беспроводной сети, или подобному. ITU-T главным образом разрабатывает стандарты кодирования видео, ориентированные на область видео связи в режиме реального времени, такую как приложения видео телефонии и видео конференц-связи.
[0003] В последние десятилетия, были успешно разработаны международные стандарты кодирования видео, ориентированные на разнообразные приложения, главным образом включающие: стандарт MPEG-1, применяемый к видео компакт диску (Видео Компакт Диск, коротко «VCD»), стандарт MPEG-2, применяемый к цифровому универсальному диску (Цифровой Универсальный Диск, коротко «DVD») и цифровому видео вещанию (Цифровое Видео Вещание, коротко «DVB»), стандарт H.261, стандарт H.263, и стандарт H.264, применяемые к видео конференц-связи, стандарт MPEG-4, обеспечивающий кодирование объекта в любой форме, и самый последний стандарт Высокоэффективного Кодирования Видео (Высокоэффективное Кодирование Видео, коротко «HEVC»).
[0004] В сравнении с последним стандартом кодирования видео HEVC, применительно к последовательности, включающей в себя вращательное или масштабирующее движение, технология предсказания компенсации движения, основанная на линейном изменении поля вектора движения, может значительно улучшить эффективность кодирования. В обычной технологии предсказания компенсации движения, основанной на аффинном преобразовании, после того как получается параметр аффинного преобразования блока изображения, требуется вычислить вектор движения каждого пикселя в блоке изображения, предсказание компенсации движения выполняется в соответствии с вектором движения каждого пикселя, и, вследствие этого, получается сигнал предсказания компенсации движения у каждого пикселя. Так как вектор движения каждого пикселя в блоке изображения может варьироваться, требуется выполнить разные операции над пикселем в соответствии с векторами движения. Сложность основанного на пикселе предсказания компенсации движения очень высока. Чтобы уменьшить сложность кодирования/декодирования, связанная технология пытается дополнительно разделить блок изображения на подблоки изображения, получить вектор движения каждого подблока изображения, и затем получить сигнал предсказания компенсации движения каждого подблока изображения.
[0005] Тем не менее, в связанной технологии, размеры подблоков изображения являются фиксированными. Если подблоки изображения чрезмерно малы, возникает относительно высокая сложность кодирования/декодирования. Если подблоки изображения чрезмерно велики, уменьшается эффективность кодирования/декодирования.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Настоящее изобретение предоставляет способ кодирования изображения видео, способ декодирования изображения видео, устройство кодирования, и устройство декодирования, чтобы уменьшать сложность кодирования/декодирования и улучшать эффективность кодирования/декодирования посредством выбора подблока изображения подходящего размера.
[0007] В соответствии с первым аспектом, предоставляется способ кодирования видео изображения и включает в себя этапы, на которых: определяют разность векторов движения аффинного блока изображения; определяют точность вектора движения аффинного блока изображения; определяют размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми, чтобы определять разность векторов движения; и выполняют обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0008] Со ссылкой на первый аспект, в первом возможном варианте реализации первого аспекта, этап, на котором определяют разность векторов движения аффинного блока изображения, включает в себя этапы, на которых: определяют первую составляющую разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определяют вторую составляющую разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0009] Со ссылкой на первый возможный вариант реализации первого аспекта, во втором возможном варианте реализации первого аспекта, этап, на котором определяют первую составляющую разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии, включает в себя этапы, на которых: определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; и определяют большую из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; и
этап, на котором определяют вторую составляющую разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии, включает в себя этапы, на которых: определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определяют большую из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0010] Со ссылкой на второй возможный вариант реализации первого аспекта, в третьем возможном варианте реализации первого аспекта, способ дополнительно включает в себя этап, на котором: определяют параметр аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования;
этап, на котором определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки, включает в себя этап, на котором: определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и
этап, на котором определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки, включает в себя этап, на котором: определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0011] Со ссылкой на второй возможный вариант реализации первого аспекта, в четвертом возможном варианте реализации первого аспекта, способ дополнительно включает в себя этап, на котором: определяют вектор движения первой контрольной точки, вектор движения второй контрольной точки, вектор движения третьей контрольной точки, и вектор движения четвертой контрольной точки;
этап, на котором определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки, включает в себя этапы, на которых: определяют разность между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; и определяют разность между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; и
этап, на котором определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки, включает в себя этапы, на которых: определяют разность между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определяют разность между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0012] Со ссылкой на второй возможный вариант реализации первого аспекта, в пятом возможном варианте реализации первого аспекта, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями; и
этап, на котором определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки, и этап, на котором определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки, включают в себя этапы, на которых:
определяют вектор движения первого пикселя, вектор движения второго пикселя, и вектор движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определяют второе горизонтальное расстояние и второе вертикальное расстояние между первым пикселем и вторым пикселем; определяют третье горизонтальное расстояние и третье вертикальное расстояние между первым пикселем и третьим пикселем; и определяют первую разность горизонтальных составляющих, первую разность вертикальных составляющих, вторую разность горизонтальных составляющих, и вторую разность вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0013] Со ссылкой на любой из с третьего по пятый возможные варианты реализации первого аспекта, в шестом возможном варианте реализации первого аспекта, этап, на котором определяют размер подблока изображения аффинной компенсации движения в соответствии с разностью векторов движения, точностью вектора движения, расстоянием между контрольными точками в аффинном блоке изображения, включает в себя этапы, на которых: определяют отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определяют отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0014] Со ссылкой на любой из с третьего по пятый возможные варианты реализации первого аспекта, в седьмом возможном варианте реализации первого аспекта, этап, на котором определяют размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, включает в себя этапы, на которых:
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определяют первое предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определяют второе предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0015] Со ссылкой на любой из с первого по седьмой возможные варианты реализации первого аспекта, в восьмом возможном варианте реализации первого аспекта, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0016] Со ссылкой на любой из с первого по восьмой возможные варианты реализации первого аспекта, в девятом возможном варианте реализации первого аспекта, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0017] Со ссылкой на седьмой возможный вариант реализации первого аспекта, в десятом возможном варианте реализации первого аспекта, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0018] Со ссылкой на любой из первого аспекта, или с первого по десятый возможные варианты реализации первого аспекта, в одиннадцатом возможном варианте реализации первого аспекта, этап, на котором определяют точность вектора движения аффинного блока изображения, включает в себя этапы, на которых: определяют третье предварительно установленное значение в качестве точности вектора движения аффинного блока изображения; или определяют точность вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения, смежного с аффинным блоком изображения, где смежный блок изображения является блоком изображения, который является смежным в пространственном и/или временном отношении с аффинным блоком изображения.
[0019] Со ссылкой на любой из первого аспекта, или с первого по одиннадцатый возможные варианты реализации первого аспекта, в двенадцатом возможном варианте реализации первого аспекта, этап, на котором выполняют обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения, включает в себя этапы, на которых: определяют вектор движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определяют сигнал предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определяют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и кодируют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0020] Со ссылкой на двенадцатый возможный вариант реализации первого аспекта, в тринадцатом возможном варианте реализации первого аспекта, способ дополнительно включает в себя этап, на котором: фильтруют сигналы пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0021] Со ссылкой на тринадцатый возможный вариант реализации первого аспекта, в четырнадцатом возможном варианте реализации первого аспекта, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0022] В соответствии со вторым аспектом, предоставляется способ декодирования видео изображения и включает в себя этапы, на которых: определяют разность векторов движения аффинного блока изображения; определяют точность вектора движения аффинного блока изображения; определяют размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и выполняют обработку декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0023] Со ссылкой на второй аспект, в первом возможном варианте реализации второго аспекта, этап, на котором определяют разность векторов движения аффинного блока изображения, включает в себя этапы, на которых: определяют первую составляющую разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определяют вторую составляющую разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0024] Со ссылкой на первый возможный вариант реализации второго аспекта, во втором возможном варианте реализации второго аспекта, этап, на котором определяют первую составляющую разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии, включает в себя этапы, на которых: определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; и определяют большую из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; и
этап, на котором определяют вторую составляющую разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии, включает в себя этапы, на которых: определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определяют большую из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0025] Со ссылкой на второй возможный вариант реализации второго аспекта, в третьем возможном варианте реализации второго аспекта, способ дополнительно включает в себя этап, на котором: определяют параметр аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования;
этап, на котором определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки, включает в себя этап, на котором: определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и
этап, на котором определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки, включает в себя этап, на котором: определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0026] Со ссылкой на второй возможный вариант реализации второго аспекта, в четвертом возможном варианте реализации второго аспекта, способ дополнительно включает в себя этап, на котором: определяют вектор движения первой контрольной точки, вектор движения второй контрольной точки, вектор движения третьей контрольной точки, и вектор движения четвертой контрольной точки;
этап, на котором определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки, включает в себя этапы, на которых: определяют разность между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; и определяют разность между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; и
этап, на котором определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки, включает в себя этапы, на которых: определяют разность между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определяют разность между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0027] Со ссылкой на второй возможный вариант реализации второго аспекта, в пятом возможном варианте реализации второго аспекта, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями; и
этап, на котором определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки, и этап, на котором определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки, включают в себя этапы, на которых:
определяют вектор движения первого пикселя, вектор движения второго пикселя, и вектор движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определяют второе горизонтальное расстояние и второе вертикальное расстояние между первым пикселем и вторым пикселем; определяют третье горизонтальное расстояние и третье вертикальное расстояние между первым пикселем и третьим пикселем; и определяют первую разность горизонтальных составляющих, первую разность вертикальных составляющих, вторую разность горизонтальных составляющих, и вторую разность вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0028] Со ссылкой на любой из с третьего по пятый возможные варианты реализации второго аспекта, в шестом возможном варианте реализации второго аспекта, этап, на котором определяют размер подблока изображения аффинной компенсации движения в соответствии с разностью векторов движения, точностью вектора движения, расстоянием между контрольными точками в аффинном блоке изображения, включает в себя этапы, на которых: определяют отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определяют отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0029] Со ссылкой на любой из с третьего по пятый возможные варианты реализации второго аспекта, в седьмом возможном варианте реализации второго аспекта, этап, на котором определяют размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, включает в себя этапы, на которых:
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определяют первое предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определяют второе предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0030] Со ссылкой на любой из с первого по седьмой возможные варианты реализации второго аспекта, в восьмом возможном варианте реализации второго аспекта, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0031] Со ссылкой на любой из с первого по восьмой возможные варианты реализации второго аспекта, в девятом возможном варианте реализации второго аспекта, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0032] Со ссылкой на седьмой возможный вариант реализации второго аспекта, в десятом возможном варианте реализации второго аспекта, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0033] Со ссылкой на любой из второго аспект, или с первого по десятый возможные варианты реализации второго аспекта, в одиннадцатом возможном варианте реализации второго аспекта, этап, на котором определяют точность вектора движения аффинного блока изображения, включает в себя этапы, на которых: определяют третье предварительно установленное значение в качестве точности вектора движения аффинного блока изображения; или определяют точность вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения, смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0034] Со ссылкой на любой из второго аспекта, или с первого по одиннадцатый возможные варианты реализации второго аспекта, в двенадцатом возможном варианте реализации второго аспекта, этап, на котором выполняют обработку декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения, включает в себя этапы, на которых: определяют вектор движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определяют сигнал предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определяют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и декодируют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0035] Со ссылкой на двенадцатый возможный вариант реализации второго аспекта, в тринадцатом возможном варианте реализации второго аспекта, способ дополнительно включает в себя этап, на котором: фильтруют сигналы пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0036] Со ссылкой на тринадцатый возможный вариант реализации второго аспекта, в четырнадцатом возможном варианте реализации второго аспекта, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0037] В соответствии с третьим аспектом, предоставляется устройство кодирования и включает в себя: первый модуль определения, выполненный с возможностью определения разности векторов движения аффинного блока изображения; второй модуль определения, выполненный с возможностью определения точности вектора движения аффинного блока изображения; третий модуль определения, выполненный с возможностью определения размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, которая определена первым модулем определения, точностью вектора движения, которая определена вторым модулем определения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и модуль кодирования, выполненный с возможностью выполнения обработки кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения, который определяется третьим модулем определения.
[0038] Со ссылкой на третий аспект, в первом возможном варианте реализации третьего аспекта, первый модуль определения, в частности, выполнен с возможностью: определения первой составляющей разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определения второй составляющей разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где
первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0039] Со ссылкой на первый возможный вариант реализации третьего аспекта, во втором возможном варианте реализации третьего аспекта, первый модуль определения, в частности, выполнен с возможностью: определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; определения большей из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определения большей из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0040] Со ссылкой на второй возможный вариант реализации третьего аспекта, в третьем возможном варианте реализации третьего аспекта, первый модуль определения, в частности, выполнен с возможностью: определения параметра аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования; определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0041] Со ссылкой на второй возможный вариант реализации третьего аспекта, в четвертом возможном варианте реализации третьего аспекта, первый модуль определения, в частности, выполнен с возможностью: определения вектора движения первой контрольной точки, вектора движения второй контрольной точки, вектора движения третьей контрольной точки, и вектора движения четвертой контрольной точки; определения разности между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; определения разности между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; определения разности между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определения разности между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0042] Со ссылкой на второй возможный вариант реализации третьего аспекта, в пятом возможном варианте реализации третьего аспекта, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями; и
первый модуль определения, в частности, выполнен с возможностью: определения вектора движения первого пикселя, вектора движения второго пикселя, и вектора движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определения второго горизонтального расстояния и второго вертикального расстояния между первым пикселем и вторым пикселем; определения третьего горизонтального расстояния и третьего вертикального расстояния между первым пикселем и третьим пикселем; и определения первой разности горизонтальных составляющих, первой разности вертикальных составляющих, второй разности горизонтальных составляющих, и второй разности вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0043] Со ссылкой на любой из с третьего по пятый возможные варианты реализации третьего аспекта, в шестом возможном варианте реализации третьего аспекта, третий модуль определения, в частности, выполнен с возможностью: определения отношения произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определения отношения произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0044] Со ссылкой на любой из с третьего по пятый возможные варианты реализации третьего аспекта, в седьмом возможном варианте реализации третьего аспекта, третий модуль определения, в частности, выполнен с возможностью: когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определения первого предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определения второго предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0045] Со ссылкой на любой из с первого по седьмой возможные варианты реализации третьего аспекта, в восьмом возможном варианте реализации третьего аспекта, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0046] Со ссылкой на любой из с первого по восьмой возможные варианты реализации третьего аспекта, в девятом возможном варианте реализации третьего аспекта, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0047] Со ссылкой на седьмой возможный вариант реализации третьего аспекта, в десятом возможном варианте реализации третьего аспекта, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0048] Со ссылкой на любой из третьего аспекта, или с первого по десятый возможные варианты реализации третьего аспекта, в одиннадцатом возможном варианте реализации третьего аспекта, второй модуль определения, в частности, выполнен с возможностью: определения третьего предварительно установленного значения в качестве точности вектора движения аффинного блока изображения; или определения точности вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0049] Со ссылкой на любой из третьего аспекта, или с первого по одиннадцатый возможные варианты реализации третьего аспекта, в двенадцатом возможном варианте реализации третьего аспекта, модуль кодирования, в частности, выполнен с возможностью: определения вектора движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определения сигнала предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определения сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и кодирования сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0050] Со ссылкой на двенадцатый возможный вариант реализации третьего аспекта, в тринадцатом возможном варианте реализации третьего аспекта, устройство кодирования дополнительно включает в себя: модуль фильтрации, выполненный с возможностью фильтрации сигналов пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0051] Со ссылкой на тринадцатый возможный вариант реализации третьего аспекта, в четырнадцатом возможном варианте реализации третьего аспекта, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0052] В соответствии с четвертым аспектом, предоставляется устройство декодирования и включает в себя: первый модуль определения, выполненный с возможностью определения разности векторов движения аффинного блока изображения; второй модуль определения, выполненный с возможностью определения точности вектора движения аффинного блока изображения; третий модуль определения, выполненный с возможностью определения размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, которая определена первым модулем определения, точностью вектора движения, которая определена вторым модулем определения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и модуль декодирования, выполненный с возможностью выполнения обработки декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения, который определяется третьим модулем определения.
[0053] Со ссылкой на четвертый аспект, в первом возможном варианте реализации четвертого аспекта, первый модуль определения, в частности, выполнен с возможностью: определения первой составляющей разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определения второй составляющей разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где
первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0054] Со ссылкой на первый возможный вариант реализации четвертого аспекта, во втором возможном варианте реализации четвертого аспекта, первый модуль определения, в частности, выполнен с возможностью: определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; определения большей из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определения большей из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0055] Со ссылкой на второй возможный вариант реализации четвертого аспекта, в третьем возможном варианте реализации четвертого аспекта, первый модуль определения, в частности, выполнен с возможностью: определения параметра аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования; определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0056] Со ссылкой на второй возможный вариант реализации четвертого аспекта, в четвертом возможном варианте реализации четвертого аспекта, первый модуль определения, в частности, выполнен с возможностью: определения вектора движения первой контрольной точки, вектора движения второй контрольной точки, вектора движения третьей контрольной точки, и вектора движения четвертой контрольной точки; определения разности между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; определения разности между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; определения разности между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определения разности между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0057] Со ссылкой на второй возможный вариант реализации четвертого аспекта, в пятом возможном варианте реализации четвертого аспекта, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями; и
первый модуль определения, в частности, выполнен с возможностью: определения вектора движения первого пикселя, вектора движения второго пикселя, и вектора движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определения второго горизонтального расстояния и второго вертикального расстояния между первым пикселем и вторым пикселем; определения третьего горизонтального расстояния и третьего вертикального расстояния между первым пикселем и третьим пикселем; и определения первой разности горизонтальных составляющих, первой разности вертикальных составляющих, второй разности горизонтальных составляющих, и второй разности вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0058] Со ссылкой на любой из с третьего по пятый возможные варианты реализации четвертого аспекта, в шестом возможном варианте реализации четвертого аспекта, третий модуль определения, в частности, выполнен с возможностью: определения отношения произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определения отношения произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0059] Со ссылкой на любой из с третьего по пятый возможные варианты реализации четвертого аспекта, в седьмом возможном варианте реализации четвертого аспекта, третий модуль определения, в частности, выполнен с возможностью: когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определения первого предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определения второго предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0060] Со ссылкой на любой из с первого по седьмой возможные варианты реализации четвертого аспекта, в восьмом возможном варианте реализации четвертого аспекта, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0061] Со ссылкой на любой из с первого по восьмой возможные варианты реализации четвертого аспекта, в девятом возможном варианте реализации четвертого аспекта, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0062] Со ссылкой на седьмой возможный вариант реализации четвертого аспекта, в десятом возможном варианте реализации четвертого аспекта, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0063] Со ссылкой на любой из четвертого аспекта, или с первого по десятый возможные варианты реализации четвертого аспекта, в одиннадцатом возможном варианте реализации четвертого аспекта, второй модуль определения, в частности, выполнен с возможностью: определения третьего предварительно установленного значения в качестве точности вектора движения аффинного блока изображения; или определения точности вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0064] Со ссылкой на любой из четвертого аспекта, или с первого по одиннадцатый возможные варианты реализации четвертого аспекта, в двенадцатом возможном варианте реализации четвертого аспекта, модуль декодирования, в частности, выполнен с возможностью: определения вектора движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определения сигнала предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определения сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и декодирования сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0065] Со ссылкой на двенадцатый возможный вариант реализации четвертого аспекта, в тринадцатом возможном варианте реализации четвертого аспекта, устройство декодирования дополнительно включает в себя: модуль фильтрации, выполненный с возможностью фильтрации сигналов пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0066] Со ссылкой на тринадцатый возможный вариант реализации четвертого аспекта, в четырнадцатом возможном варианте реализации четвертого аспекта, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0067] На основании вышеприведенных технических решений, в соответствии со способом кодирования видео изображения, способом декодирования видео изображения, устройством кодирования, и устройством декодирования в вариантах осуществления настоящего изобретения, размер подблока изображения аффинной компенсации движения в аффинном блоке изображения определяется в соответствии с разностью векторов движения аффинного блока изображения, точностью вектора движения аффинного блока изображения, и расстоянием между контрольными точками в аффинном блоке изображения. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования/декодирования так, что сложность кодирования/декодирования может быть уменьшена, и эффективность кодирования/декодирования может быть улучшена.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0068] Чтобы более четко описать технические решения в вариантах осуществления настоящего изобретения, нижеследующее кратко описывает сопроводительные чертежи, требуемые для описания вариантов осуществления настоящего изобретения. очевидно, что сопроводительные чертежи в нижеследующем описании показывают только некоторые варианты осуществления настоящего изобретения, и специалист в соответствующей области техники по-прежнему может получить другие чертежи из этих сопроводительных чертежей без приложения творческих усилий.
[0069] Фиг. 1 является принципиальной блок-схемой способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0070] Фиг. 2 является другой принципиальной блок-схемой способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0071] Фиг. 3 является еще одной другой принципиальной блок-схемой способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0072] Фиг. 4 является еще одной другой принципиальной блок-схемой способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0073] Фиг. 5 является принципиальной схемой аффинного блока изображения и контрольных точек в соответствии с вариантом осуществления настоящего изобретения;
[0074] Фиг. 6 является принципиальной схемой трех неперекрывающихся пикселей в аффинном блоке изображения в соответствии с вариантом осуществления настоящего изобретения;
[0075] Фиг. 7 является другой принципиальной схемой аффинного блока изображения в соответствии с вариантом осуществления настоящего изобретения;
[0076] Фиг. 8 является еще одной другой принципиальной блок-схемой способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0077] Фиг. 9 является еще одной другой принципиальной блок-схемой способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0078] Фиг. 10 является еще одной другой принципиальной блок-схемой способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0079] Фиг. 11 является еще одной другой принципиальной схемой аффинного блока изображения в соответствии с вариантом осуществления настоящего изобретения;
[0080] Фиг. 12 является принципиальной блок-схемой способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0081] Фиг. 13 является другой принципиальной блок-схемой способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0082] Фиг. 14 является еще одной другой принципиальной блок-схемой способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0083] Фиг. 15 является еще одной другой принципиальной блок-схемой способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0084] Фиг. 16 является еще одной другой принципиальной блок-схемой способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0085] Фиг. 17 является еще одной другой принципиальной блок-схемой способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0086] Фиг. 18 является еще одной другой принципиальной блок-схемой способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения;
[0087] Фиг. 19 является принципиальной структурной схемой устройства кодирования в соответствии с вариантом осуществления настоящего изобретения;
[0088] Фиг. 20 является другой принципиальной структурной схемой устройства кодирования в соответствии с вариантом осуществления настоящего изобретения;
[0089] Фиг. 21 является принципиальной структурной схемой устройства декодирования в соответствии с вариантом осуществления настоящего изобретения;
[0090] Фиг. 22 является другой принципиальной структурной схемой устройства декодирования в соответствии с вариантом осуществления настоящего изобретения;
[0091] Фиг. 23 является принципиальной структурной схемой устройства кодирования в соответствии с другим вариантом осуществления настоящего изобретения; и
[0092] Фиг. 24 является принципиальной структурной схемой устройства декодирования в соответствии с другим вариантом осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0093] Нижеследующее четко описывает технические решения в вариантах осуществления настоящего изобретения со ссылкой на сопроводительные чертежи в вариантах осуществления настоящего изобретения. Очевидно, что описываемые варианты осуществления являются некоторыми, а не всеми вариантами осуществления настоящего изобретения. Все прочие варианты осуществления, полученные специалистом в соответствующей области техники на основании вариантов осуществления настоящего изобретения без приложения творческих усилий, должны лежать в рамках объема правовой защиты настоящего изобретения.
[0094] Фиг. 1 показывает принципиальную блок-схему способа кодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения. Способ, показанный на Фиг. 1, может быть выполнен устройством кодирования, например, кодером. В частности, как показано на Фиг. 1, способ 1000 включает в себя следующие этапы.
[0095] S1100. Определяют разность векторов движения аффинного блока изображения.
[0096] S1200. Определяют точность вектора движения аффинного блока изображения.
[0097] S1300. Определяют размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения.
[0098] S1400. Выполняют обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0100] В частности, устройство кодирования определяет разность векторов движения аффинного блока изображения в соответствии с определенными контрольными точками, определяет точность вектора движения аффинного блока изображения, определяет размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с определенной разностью векторов движения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с определенным размером.
[0101] Вследствие этого, в способе кодирования видео изображения в соответствии с данным вариантом осуществления настоящего изобретения, устройство кодирования определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования так, что сложность кодирования может быть уменьшена, и эффективность кодирования может быть улучшена.
[0102] Следует понимать, что в данном варианте осуществления настоящего изобретения аффинный (Аффинный) блок изображения является блоком изображения в котором, векторы движения всех единиц подчиняются одним и тем же аффинным моделям, например, одной и той же аффинной модели, которая может быть указана посредством одних и тех же параметров, например, одной и той же группы параметров. Единица является группой пикселей, например, может быть пикселем, или может быть блочной структурой, такой как 1×3 или 2×4. Это не ограничивается в настоящем изобретении.
[0103] Следует понимать, что в данном варианте осуществления настоящего изобретения, подблок изображения аффинной компенсации движения (Аффинная Компенсация Движения, коротко «Аффинная-MC») является подблоком изображения, который получается посредством деления аффинного блока изображения, и используется для выполнения предсказания компенсации движения, и подблоки изображения аффинной-MC могут иметь один и тот же размер или разные размеры. Это не ограничивается в настоящем варианте осуществления.
[0104] Также следует понимать, что в данном варианте осуществления настоящего изобретения, любые неперекрывающиеся пиксели могут быть выбраны в качестве контрольных точек, чтобы определять разность векторов движения аффинного блока изображения. Это не ограничивается в настоящем изобретении.
[0105] Предпочтительно, как показано на Фиг. 2, S1100 включает в себя следующие этапы:
[0106] S1101. Определяют первую составляющую разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии.
[0107] S1102. Определяют вторую составляющую разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии.
[0108] Первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0109] Следует понимать, что в данном варианте осуществления настоящего изобретения, первая составляющая разности векторов движения является горизонтальной составляющей разности векторов движения, а второй составляющей разности векторов движения является вертикальная составляющая разности векторов движения.
[0110] Также следует понимать, что в данном варианте осуществления настоящего изобретения, первый, второй, третий, и четвертый предназначены только для того, чтобы организовать отличие между пикселями и не должны толковаться в качестве какого-либо ограничения на объем правовой защиты настоящего изобретения. Например, первая контрольная точка также может именоваться второй контрольной точкой, а вторая контрольная точка может стать первой контрольной точкой.
[0111] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем. Т.е., количество выбранных контрольных точек равно трем, и одна из трех контрольных точек располагается на одной и той же горизонтальной линии, что и другие две контрольные точки, и располагается на одной и той же вертикальной линии, что и другая одна из двух контрольных точек.
[0112] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения. Предполагая, что четыре вершины одного аффинного блока изображения помечены как вершина в верхнем левом углу, вершина в нижнем левом углу, вершина в верхнем правом углу, и вершина в нижнем правом углу, соответственно, любые три вершины, расположенные в двух ортогональных направлениях, могут быть выбраны, чтобы определять разность векторов движения аффинного блока изображения. Например, вершина в верхнем левом углу, вершина в нижнем левой углу, и вершина в верхнем правом углу могут быть выбраны, или вершина в верхнем левом углу, вершина в верхнем правом углу и вершина в нижнем правом углу, могут быть выбраны. Это не ограничивается в настоящем изобретении.
[0113] В данном варианте осуществления настоящего изобретения, опционально, разность между составляющими в любом направлении, у составляющих в двух направлениях векторов движения первой контрольной точки и второй контрольной точки, может быть определена в качестве первой составляющей разности векторов движения аффинного блока изображения, и разность между составляющими в любом направлении, у составляющих в двух направлениях векторов движения третьей контрольной точки и четвертой контрольной точки может быть определена в качестве второй составляющей разности векторов движения аффинного блока изображения; или в соответствии с фактическими требованиями для сложности кодирования и эффективности кодирования, числовое значение между двумя разностями составляющих в двух направлениях векторов движения первой контрольной точки и второй контрольной точки может быть определено в качестве первой составляющей, и числовое значение между двумя разностями составляющих в двух направлениях векторов движения третьей контрольной точки и четвертой контрольной точки может быть определено в качестве второй составляющей. Это не ограничивается в настоящем изобретении.
[0114] Опционально, как показано на Фиг. 3, S1101 в частности включает в себя следующие этапы:
[0115] S1103. Определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки.
[0116] S1104. Определяют большую из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения.
[0117] Соответственно, как показано на Фиг. 4, S1102 в частности включает в себя следующие этапы:
[0118] S1105. Определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки.
[0119] S1106. Определяют большую из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
(x,y)
(x,y)
[0120] Т.е., если νx и νy используются, чтобы указывать горизонтальную составляющую и вертикальную составляющую вектора движения пикселя в позиции (x,y), разность векторов движения аффинного блока изображения может быть определена в соответствии с формулами (1) и (2):
hor
(x+w,y)
(x,y)
(x+w,y)
(x,y)
Δmν=max(νx-νx,νy-νy) (1)
ver
(x',y'+h)
(x',y')
(x',y'+h)
(x',y')
Δmν=max(νx-νx,νy-νy) (2)
hor
ver
где max указывает максимальное значение, Δmν указывает горизонтальную составляющую разности векторов движения аффинного блока изображения, Δmν указывает вертикальную составляющую разности векторов движения аффинного блока изображения, w указывает первое горизонтальное расстояние между первой контрольной точкой и второй контрольной точкой, а h указывает первое вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой.
[0121] В данном варианте осуществления настоящего изобретения, опционально, может быть определен параметр аффинного преобразования пикселя в аффинном блоке изображения, и пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования.
[0122] Соответственно, S1103 в частности: определяет первую разность горизонтальных составляющих и первую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием.
[0123] S1105 в частности: определяет вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0124] Следует понимать, что порядковые номера вышеприведенных процессов не означают последовательностей исполнения. Последовательности исполнения процессов должны быть определены в соответствии с функциями и внутренней логикой процессов, и не должны толковаться в качестве любого ограничения на процессы реализации вариантов осуществления настоящего изобретения.
[0125] В данном варианте осуществления настоящего изобретения, опционально, модель аффинного преобразования может быть моделью аффинного преобразования с 6 параметрами в известном уровне техники, или может быть моделью аффинного преобразования с 4 параметрами или 2 параметрами. В модели аффинного преобразования с 6 параметрами, предполагается что (x, y) являются координатами пикселя P в текущем изображении, а (x',y') являются координатами пикселя P', который находится в опорном изображении и совпадает с пикселем P, и a,b,c,d,e, и f являются параметрами аффинного преобразования. Если параметры аффинного преобразования известны, позиция (x',y') у пикселя (x,y) в опорном изображении может быть получена, и, вследствие этого, сигнал предсказания пикселя может быть получен из опорного изображения:
x'=ax+by+e (3)
y'=cx+dy+f (4)
[0126] Как правило, параметры аффинного преобразования могут быть получены посредством вычисления в соответствии с векторами движения некоторых пикселей в блоке изображения, и горизонтальная составляющая и вертикальная составляющая вектора движения могут быть указаны посредством формул (5) и (6), соответственно:
νx=x-x' (5)
νy=y-y' (6)
[0127] Формула (3) подставляется в формулу (5), а формула (4) подставляется в формулу (6), чтобы получить горизонтальную составляющую и вертикальную составляющую вектора движения пикселя, координаты которого (x,y), как показано в формулах (7) и (8), соответственно:
νx=(1-a)x-by-e (7)
vy=(1-d)y-cx-f (8)
[0128] Формула (7) подставляется в формулу (1), и формула (8) подставляется в формулу (2) так, что формулы (1) и (2) преобразуются в формулы (9) и (10), соответственно:
hor
Δmν=max((1-a)w,-cw) (9)
ver
Δmν=max(-bh,(1-d)h) (10)
[0129] Посредством определения параметров a,b,c, и d аффинного преобразования и расстояния между контрольными точками, могут быть определены первая составляющая и вторая составляющая разности векторов движения аффинного блока изображения.
[0130] Следует понимать, что когда используется модель аффинного преобразования с 4 параметрами или модель аффинного преобразования с 2 параметрами, способ для определения разности векторов движения, по существу, точно такой же как способ определения, когда используется модель аффинного преобразования с 6 параметрами. Для краткости, подробности здесь вновь не описываются.
[0131] В данном варианте осуществления настоящего изобретения, опционально, в процессе кодирования, параметр аффинного преобразования может быть получен посредством вычисления каждого параметра итерационно, например, прибавляя 1 к параметру a, чтобы определять, является ли оптимальным сигнал предсказания компенсации движения в модели. В качестве альтернативы, параметр аффинного преобразования может быть получен через производную в соответствии с параметром аффинного преобразования смежного аффинного блока изображения. Тем не менее, настоящее изобретение этим не ограничивается.
[0132] В данном варианте осуществления настоящего изобретения, опционально, могут быть определены вектор движения первой контрольной точки, вектор движения второй контрольной точки, вектор движения третьей контрольной точки, и вектор движения четвертой контрольной точки.
[0133] Соответственно, S1103 в частности: определяет разность между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; и определяет разность между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих.
[0134] S1105 в частности: определяет разность между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определяет разность между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0135] В частности, векторы движения контрольных точек могут быть определены непосредственно. Посредством вычисления разностей между составляющими векторов движения, могут быть непосредственно получены первая составляющая и вторая составляющая разности векторов движения аффинного блока изображения.
[0136] Например, Фиг. 5 является принципиальный схемой аффинного блока изображения и контрольных точек в соответствии с вариантом осуществления настоящего изобретения. Две контрольные точки A и B находятся на одной и той же горизонтальной линии и имеют расстояние w. Две контрольные точки C и D находятся на одной и той же вертикальной линии и имеют расстояние h. Если векторы движения контрольных точек A, B, C и D известны, то первая составляющая и вторая составляющая разности векторов движения аффинного блока изображения могут быть определены в соответствии с формулами (11) и (12):
hor
B
A
B
A
Δmν=max(νx-νx,νy-νy) (11)
ver
C
D
C
D
Δmν=max(νx-νx,νy-νy) (12)
[0137] В данном варианте осуществления настоящего изобретения, опционально, контрольные точки A и C могут быть одним и тем же пикселем.
[0138] В данном варианте осуществления настоящего изобретения, опционально, контрольные точки A, B, C и D могут быть вершинами аффинного блока изображения. В данном случае, расстояние между контрольными точками A и B является шириной W аффинного блока изображения, а расстояние между контрольными точками C и D является высотой H аффинного блока изображения.
[0139] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями.
[0140] S1103 и S1105 в частности: определяют вектор движения первого пикселя, вектор движения второго пикселя, и вектор движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определяют второе горизонтальное расстояние и второе вертикальное расстояние между первым пикселем и вторым пикселем; определяют третье горизонтальное расстояние и третье вертикальное расстояние между первым пикселем и третьим пикселем; и определяют первую разность горизонтальных составляющих, первую разность вертикальных составляющих, вторую разность горизонтальных составляющих, и вторую разность вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
A
A
B
B
C
C
1
1
2
2
2
1
1
2
hor
hor
ver
ver
hor
hor
ver
ver
[0141] В частности, предполагая, что A, B, и C являются любыми неперекрывающимися пикселями в блоке изображения, позиции трех пикселей показаны на Фиг. 6, и векторы движения трех пикселей являются (νx,νy), (νx,νy), и (νx,νy), соответственно. Расстояние между пикселем A и пикселем B в горизонтальном направлении является w, и расстояние в вертикальном направлении является h. Расстояние между пикселем A и пикселем C в горизонтальном направлении является w, и расстояние в вертикальном направлении является h. Расстояние между пикселем B и пикселем C в горизонтальном направлении является w-w, и расстояние в вертикальном направлении является h+h. Предполагается, что разности горизонтальных составляющих векторов движения двух смежных пикселей в горизонтальном направлении являются Δmνx и Δmνy, соответственно, и разности вертикальных составляющих векторов движения двух смежных пикселей в вертикальном направлении являются Δmνx и Δmνy, соответственно. Так как векторы движения в блоке изображения меняются линейно, Δmνx, Δmνy,Δmνx и Δmνy могут быть определены посредством определения векторов движения пикселей A, B, и C. Таким образом, разности векторов движения смежных пикселей в блоке изображения могут быть определены, и, в частности, могут быть определены в соответствии с формулами с (13) по (16):
B
A
1
hor
1
ver
νx=νx+w⋅Δmνx+h⋅Δmνx (13)
B
A
1
hor
1
ver
νy=νy+w⋅Δmνy+h⋅Δmνy (14)
C
A
2
hor
2
ver
νx=νx+w⋅Δmνx+h⋅Δmνx (15)
C
A
2
hor
2
ver
νy=νy+w⋅Δmνy+h⋅Δmνy (16)
или могут быть определены в соответствии с формулами (13) и (14) и формулами (17) и (18):
C
B
2
1
hor
2
1
ver
νx=νx+(w-w)⋅Δmνx+(h+h)⋅Δmνx (17)
C
B
2
1
hor
2
1
ver
νy=νy+(w-w)⋅Δmνy+(h+h)⋅Δmνy (18)
[0142] В данном варианте осуществления настоящего изобретения, опционально, устройство кодирования может получать векторы движения всех контрольных точек посредством выполнения поиска оценки движения; может получать векторы движения всех контрольных точек из смежных блоков изображения; может вычислять векторы движения всех контрольных точек в соответствии с моделью аффинного преобразования; может получать векторы движения некоторых контрольных точек посредством выполнения поиска оценки движения, и получать векторы движения других контрольных точек из смежных блоков изображения; может получать векторы движения некоторых контрольных точек посредством выполнения аффинного поиска оценки движения, и получать векторы движения других контрольных точек посредством вычисления в соответствии с моделью аффинного преобразования; или может получать векторы движения некоторых контрольных точек из смежных блоков изображения, и вычислять векторы движения других контрольных точек в соответствии с моделью аффинного преобразования. Тем не менее, настоящее изобретение этим не ограничивается.
[0143] Опционально, в S1200, третье предварительно установленное значение может быть определено в качестве точности вектора движения аффинного блока изображения; или точность вектора движения аффинного блока изображения может быть определена в соответствии с характеристикой блока изображения, смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0144] В частности, значение вектора движения аффинного блока изображения может быть целым числом. В данном случае, вектор движения является с целочисленной пиксельной точностью, т.е., точность пикселя является 1. В качестве альтернативы, значение вектора движения может не быть целым числом. В данном случае, вектор движения является с суб-пиксельной точностью, включая точность, такую как 1/2, 1/4, или 1/8. Фиг. 7 показывает 4×4 блок изображения, где × указывает пиксель в целочисленной пиксельной позиции, и захваченная изображение имеет только пиксели в целочисленных пиксельных позициях. Ο указывает пиксель в позиции 1/2 точности, и он должен быть получен посредством интерполяции пикселя в целочисленной пиксельной позиции. Значения пикселей в других позициях точности должны быть получены посредством дальнейшей интерполяции пикселей в позициях целочисленной пиксельной точности или пикселей в позициях 1/2 точности. Если вектор движения текущего пикселя является целым числом, вектор движения указывает на позицию × в опорном изображении. Если вектор движения текущего пикселя с точностью 1/2, то вектор движения указывает на позицию Ο в опорном изображении.
[0145] Точность вектора движения аффинного блока изображения является наивысшей точностью векторов движения всех пикселей в аффинном блоке изображения. Точность вектора движения аффинного блока изображения может быть предварительно установленной например, целочисленной пиксельной точностью, или точностью такой как 1/2, 1/4, 1/8, или 1/16. В качестве альтернативы, точность вектора движения может быть определена в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения. Например, если смежное изображение является относительно гладкой, может быть предсказано, что текущий аффинный блок изображения также является относительно гладким. Вследствие этого, может быть выбрана более высокая точность вектора движения, такая как 1/8 или 1/16. В противном случае, может быть выбрана более низкая точность вектора движения, такая как целочисленная пиксельная точность или точность в 1/2. Полученная точность указывается посредством MνAc.
[0146] Опционально, как показано на Фиг. 8, S1300 в частности включает в себя следующие этапы:
[0147] S1301. Определяют отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении.
[0148] S1302. Определяют отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
hor
ver
[0149] В частности, как правило, полученные разности Δmν и Δmν вектора движения являются относительно небольшими, указывая на то, что точность вектора движения каждого пикселя является чрезмерно высокой, например, 1/32 или 1/64. Чрезмерно высокая точность вектора движения вносит небольшой вклад в эффективность сжатия видео, и вызывает большой объем вычислений. Вследствие этого, аффинный блок изображения делится на несколько подблоков изображения аффинной-MC в соответствии с ранее полученной ожидаемой точностью MνAc вектора движения, чтобы гарантировать, что точность вектора движения каждого подблока изображения аффинной-MC достигает MνAc.
[0150] В данном варианте осуществления настоящего изобретения, опционально, предполагая, что горизонтальное расстояние между первой контрольной точкой и второй контрольной точкой является w, и что вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой является h, и предполагая, что ширина подблока изображения аффинной-MC является aMcW, и что высота подблока изображения аффинной-MC является aMcH, aMcW и aMcH могут быть определены в соответствии с формулами (19):
и  (19)
[0151] Это эквивалентно:
и .
[0152] В данном варианте осуществления настоящего изобретения, опционально, когда первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения, горизонтальное расстояние между первой контрольной точкой и второй контрольной точкой является шириной W аффинного блока изображения, и вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой является высотой H аффинного блока изображения. В данном случае, ширина aMcW и высота aMcH подблока изображения аффинной-MC могут быть определены в соответствии с формулами (20):
и  (20)
[0153] Это эквивалентно:
и .
[0154] В данном варианте осуществления настоящего изобретения, опционально, когда первая контрольная точка и вторая контрольная точка являются смежными контрольными точками, и третья контрольная точка и четвертая контрольная точка являются смежными контрольными точками, первое горизонтальное расстояние между первой контрольной точкой и второй контрольной точкой является 1, т.е., первая контрольная точка отделена от второй контрольной точки на целочисленное количество пикселей; первое вертикальное расстояние между третьей контрольной точкой и четвертой контрольной точкой является 1, т.е., третья контрольная точка отделена от четвертой контрольной точки на целочисленное количество пикселей. В данном случае, формулы (19) могут быть упрощены до формул (21):
и  (21)
[0155] Это эквивалентно:
и .
[0156] Вследствие этого, в способе кодирования видео изображения в соответствии с данным вариантом осуществления настоящего изобретения, устройство кодирования определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования так, что сложность кодирования может быть уменьшена и эффективность кодирования может быть улучшена, тогда как сохраняется эффективность предсказания компенсации движения в аффинном преобразовании.
[0157] Опционально, как показано на Фиг. 9, S1300 включает в себя следующие этапы:
[0158] S1303. Когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определяют первое предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении.
[0159] S1304. Когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определяют второе предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0160] В частности, для реализации аппаратного обеспечения в процессе кодирования, нижний предел может быть установлен для ширины и высоты подблока изображения аффинной-MC. Когда вычисленная ширина и высота меньше предварительно установленного нижнего предела, предварительно определенный нижний предел определяется в качестве ширины и высоты подблока изображения аффинной-MC. Предпочтительно, нижний предел может быть установлен в 4, но также может быть установлен в другое числовое значение в соответствии с фактическим требованием. Например, нижний предел ширины может быть установлен в 2, а нижнее значение высоты установлено в 3; или нижний предел ширины установлен в 1, а нижнее значение высоты установлено в 2. Это не ограничено в настоящем изобретении.
[0161] Опционально, как показано на Фиг. 10, S1400 включает в себя следующие этапы:
[0162] S1401: Определяют вектор движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения.
[0163] S1402. Определяют сигнал предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения.
[0164] S1403. Определяют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения.
[0165] S1404. Кодируют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0166] Следует понимать, что в данном варианте осуществления настоящего изобретения, каждый подблок изображения аффинной-MC может включать в себя несколько пикселей, и вектор движения пикселя должен быть выбран из каждого подблока изображения аффинной-MC в качестве вектора движения подблока изображения аффинной-MC.
[0167] Опционально, в S1401, вектор движения пикселя в центральной позиции подблока изображения аффинной-MC может быть выбран в качестве вектора движения подблока изображения аффинной-MC; среднее значение векторов движения всех пикселей в подблоке изображения аффинной-MC может быть использовано в качестве вектора движения подблока изображения аффинной-MC; или вектор движения пикселя в верхнем левом углу подблока изображения аффинной-MC может быть выбран в качестве вектора движения подблока изображения аффинной-MC. Тем не менее, настоящее изобретение этим не ограничивается.
[0168] В данном варианте осуществления настоящего изобретения, опционально, сигналы пикселей границы каждого подблока изображения аффинной компенсации движения фильтруются, и пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0169] В данном варианте осуществления настоящего изобретения, опционально, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0170] В частности, как показано на Фиг. 11, блок толстой сплошной линии указывает аффинный блок изображения, блок тонкой сплошной линии указывает подблок изображения аффинной-MC, блок пунктирной линии указывает пиксели на границах смежных подблоков изображения аффинной-MC, и крест указывает пиксель. Область блока пунктирной линии на Фиг. 11 включает в себя пиксели смежных подблоков изображения аффинной-MC в двух строках или двух столбцах на границах подблоков изображения аффинной-MC, или может включать в себя одну строку или один столбец, или три строки или три столбца на границах подблоков изображения аффинной-MC. Так как векторы движения смежных подблоков изображения аффинной-MC могут быть разными, сигналы предсказания, полученные из опорного изображения, не являются смежными на опорном изображении. Это вызывает неоднородность сигналов предсказания на границах смежных подблоков изображения аффинной-MC, и, вследствие этого, вызывает неоднородность остатков, и оказывает влияние на эффективность кодирования остатков. Вследствие этого, рассматривается фильтрация сигналов предсказания компенсации движения на границах подблоков изображения аффинной-MC.
[0171] Воссозданный сигнал, как правило, получается посредством сложения воссозданного сигнала остатка с сигналом предсказания компенсации движения. Как правило, кодирование с потерями используется для сигнала остатка. Это вызывает искажение между воссозданным сигналом остатка и исходным сигналом остатка. Направления искажения пикселей на границах смежных подблоков изображения аффинной-MC могут быть несовместимы. Например, правый пиксель первого подблока изображения аффинной-MC становится больше из-за искажения, а левый пиксель правого смежного подблока изображения аффинной-MC становится меньше из-за искажения. Это вызывает неоднородность значений пикселя на границах воссозданных пикселей подблоков изображения аффинной-MC, и ослабляет субъективные и объективные эффекты. Вследствие этого, требуется фильтрация воссозданных сигналов.
[0172] В данном варианте осуществления настоящего изобретения, опционально, фильтрация может выполняться посредством использования низкочастотного фильтра так, что значения пикселя в области границы меняются более плавно. Например, фильтрация выполняется посредством использования фильтра Гаусса. Тем не менее, настоящее изобретение этим не ограничивается.
[0173] В данном варианте осуществления настоящего изобретения, опционально, фильтрация может быть выполнена посредством использования способа компенсации движения перекрывающихся блоков (компенсация движения перекрывающихся блоков, коротко «OBMC»). Предсказание компенсации движения выполняется над пикселем, который должен быть отфильтрован, посредством использования вектора движения подблока изображения аффинной-MC, смежного с пикселем, который должен быть отфильтрован, и взвешенное усреднение выполняется над полученным сигналом предсказания компенсации движения и сигналом предсказания компенсации движения, полученным посредством использования вектора движения пикселя, который должен быть отфильтрован, чтобы получить итоговый сигнал предсказания компенсации движения.
[0174] Чтобы лучше доказать положительные эффекты данного варианта осуществления настоящего изобретения по отношению к предшествующему уровню техники, тестовая структура LDP используется, чтобы протестировать сложность кодирования и эффективность кодирования, когда способ в данном варианте осуществления настоящего изобретения и способ известного уровня техники используются, чтобы выполнять кодирование. Результат показан в Таблице 1.
Таблица 1
Класс
Последовательность
Способ в настоящем изобретении по отношению к способу известного уровня техники
LDP
Tractor
-0,2%
BlueSky
0,0%
SpinCalendar
0,0%
Jets
-0,5%
Enct
86%
Dect
78%
[0175] Как может быть видно из Таблицы 1, использование способа кодирования видео изображения в данном варианте осуществления настоящего изобретение может улучшить эффективность кодирования и уменьшить время кодирования.
[0176] Вследствие этого, в способе кодирования видео изображения в соответствии с данным вариантом осуществления настоящего изобретения, устройство кодирования определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования так, что сложность кодирования может быть уменьшена, и эффективность кодирования может быть улучшена.
[0177] Способ кодирования видео изображения в соответствии с данным вариантом осуществления настоящего изобретения описан выше подробно со ссылкой на с Фиг. 1 по Фиг. 11. Способ декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения описывается далее подробно со ссылкой на с Фиг. 12 по Фиг. 18. Следует отметить, что связанные операции декодера, по существу, являются согласованными с теми, что у кодера. Чтобы избежать повторения, подробности здесь вновь не описываются.
[0178] Фиг. 12 показывает принципиальную блок-схему способа декодирования видео изображения в соответствии с вариантом осуществления настоящего изобретения. Способ, показанный на Фиг. 12, может быть выполнен устройством декодирования, например, декодером. В частности, как показано на Фиг. 12, способ 2000 включает в себя следующие этапы.
[0179] S2100. Определяют разность векторов движения аффинного блока изображения.
[0180] S2200. Определяют точность вектора движения аффинного блока изображения.
[0181] S2300. Определяют размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения.
[0182] S2400. Выполняют обработку декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0183] В частности, устройство декодирования определяет разность векторов движения аффинного блока изображения в соответствии с определенными контрольными точками, определяет точность вектора движения аффинного блока изображения, определяет размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с определенной разностью векторов движения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с определенным размером.
[0184] Вследствие этого, в способе декодирования видео изображения в соответствии с данным вариантом осуществления настоящего изобретения, устройство декодирования определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с определенным размером. Таким образом, подблок изображения подходящего размера выбирается в процессе декодирования так, что сложность декодирования может быть уменьшена, и эффективность декодирования может быть улучшена.
[0185] Предпочтительно, как показано на Фиг. 13, S2100 включает в себя следующие этапы:
[0186] S2101. Определяют первую составляющую разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии.
[0187] S2102. Определяют вторую составляющую разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии.
[0188] Первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0189] Следует понимать, что в данном варианте осуществления настоящего изобретения, первая составляющая разности векторов движения является горизонтальной составляющей разности векторов движения, и вторая составляющая разности векторов движения является вертикальной составляющей разности векторов движения.
[0190] Опционально, как показано на Фиг. 14, S2101 в частности включает в себя следующие этапы:
[0191] S2103. Определяют первую разность горизонтальных составляющих и первую разность вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки.
[0192] S2104. Определяют большую из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения.
[0193] Соответственно, как показано на Фиг. 15, S2102 в частности включает в себя следующие этапы:
[0194] S2105. Определяют вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки.
[0195] S2106. Определяют большую из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0196] В данном варианте осуществления настоящего изобретения, опционально, может быть определен параметр аффинного преобразования пикселя в аффинном блоке изображения, и пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования.
[0197] Соответственно, S2103 в частности: определяет первую разность горизонтальных составляющих и первую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием.
[0198] S2105 в частности: определяет вторую разность горизонтальных составляющих и вторую разность вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0199] В данном варианте осуществления настоящего изобретения, опционально, могут быть определены вектор движения первой контрольной точки, вектор движения второй контрольной точки, вектор движения третьей контрольной точки, и вектор движения четвертой контрольной точки.
[0200] Соответственно, S2103 в частности: определяет разность между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; и определяет разность между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих.
[0201] S2105 в частности: определяет разность между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определяет разность между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0202] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями.
[0203] S2103 и S2105 в частности: определяют вектор движения первого пикселя, вектор движения второго пикселя, и вектор движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определяют второе горизонтальное расстояние и второе вертикальное расстояние между первым пикселем и вторым пикселем; определяют третье горизонтальное расстояние и третье вертикальное расстояние между первым пикселем и третьим пикселем; и определяют первую разность горизонтальных составляющих, первую разность вертикальных составляющих, вторую разность горизонтальных составляющих, и вторую разность вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0204] В данном варианте осуществления настоящего изобретения, опционально, устройство декодирования может получать векторы движения всех контрольных точек посредством синтаксического анализа битового потока; может получать векторы движения всех контрольных точек из смежных блоков изображения; может вычислять векторы движения всех контрольных точек в соответствии с моделью аффинного преобразования; может получать векторы движения некоторых контрольных точек посредством синтаксического анализа битового потока, и получать векторы движения других контрольных точек из смежных блоков изображения; может получать векторы движения некоторых контрольных точек посредством синтаксического анализа битового потока, и получать векторы движения других контрольных точек посредством вычисления в соответствии с моделью аффинного преобразования; или может получать векторы движения некоторых контрольных точек из смежных блоков изображения, и вычислять векторы движения других контрольных точек в соответствии с моделью аффинного преобразования. Тем не менее, настоящее изобретение этим не ограничивается.
[0205] Опционально, в S2200, третье предварительно установленное значение может быть определено в качестве точности вектора движения аффинного блока изображения; или точность вектора движения аффинного блока изображения определяется в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0206] Опционально, как показано на Фиг. 16, S2300 в частности включает в себя следующие этапы:
[0207] S2301. Определяют отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении.
[0208] S2302. Определяют отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0209] Опционально, как показано на Фиг. 17, S2300 включает в себя следующие этапы:
[0210] S2303. Когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определяют первое предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении.
[0211] S2304. Когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определяют отношение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определяют второе предварительно установленное значение в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0212] Опционально, как показано на Фиг. 18, S2400 включает в себя следующие этапы:
[0213] S2401. Определяют вектор движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения.
[0214] S2402. Определяют сигнал предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения.
[0215] S2403. Определяют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения.
[0216] S2404. Декодируют сигнал остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0217] В данном варианте осуществления настоящего изобретения, опционально, сигналы пикселей границы каждого подблока изображения аффинной компенсации движения фильтруются, и пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0218] В данном варианте осуществления настоящего изобретения, опционально, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка. Вследствие этого, в способе декодирования видео изображения в соответствии с данным вариантом осуществления настоящего изобретения, устройство декодирования определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с определенным размером. Таким образом, подблок изображения подходящего размера выбирается в процессе декодирования так, что сложность декодирования может быть уменьшена, и эффективность декодирования может быть улучшена.
[0219] Опционально, способ декодирования в настоящем изобретении также может быть:
синтаксическим анализом битового потока, чтобы получать разность векторов движения аффинного блока изображения и точность вектора движения аффинного блока изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования;
определением размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и
выполнением обработки декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0220] В качестве альтернативы, способ декодирования может быть:
синтаксическим анализом битового потока, чтобы получить информацию аффинного блока изображения;
определением размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с информацией аффинного блока изображения; и
выполнением обработки декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0221] Таким образом, декодер может непосредственно использовать параметр, отправленный кодером декодеру, чтобы определять размер подблока изображения аффинной компенсации движения без повторного вычисления, и дополнительно уменьшать сложность вычисления.
[0222] Нижеследующее подробно описывает устройство кодирования в соответствии с вариантом осуществления настоящего изобретения со ссылкой на Фиг. 19 и Фиг. 20. Как показано на Фиг. 19, устройство 10 кодирования включает в себя:
первый модуль 11 определения, выполненный с возможностью определения разности векторов движения аффинного блока изображения;
второй модуль 12 определения, выполненный с возможностью определения точности вектора движения аффинного блока изображения;
третий модуль 13 определения, выполненный с возможностью определения размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, которая определена первым модулем 11 определения, точностью вектора движения, которая определена вторым модулем 12 определения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и
модуль 14 кодирования, выполненный с возможностью выполнения обработки кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения, который определяется третьим модулем 13 определения.
[0223] В частности, устройство кодирования определяет разность векторов кодирования аффинного блока изображения в соответствии с определенными контрольными точками, определяет точность вектора движения аффинного блока изображения, определяет размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с определенной разностью векторов движения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с определенным размером.
[0224] Вследствие этого, устройство кодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с определенным размером подблока изображения аффинной компенсации движения. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования так, что сложность кодирования может быть уменьшена, и эффективность кодирования может быть улучшена.
[0225] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 11 определения, в частности, выполнен с возможностью: определения первой составляющей разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определения второй составляющей разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где
первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0226] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 11 определения, в частности, выполнен с возможностью: определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; определения большей из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определения большей из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0227] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 11 определения, в частности, выполнен с возможностью: определения параметра аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования; определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0228] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 11 определения, в частности, выполнен с возможностью: определения вектора движения первой контрольной точки, вектора движения второй контрольной точки, вектора движения третьей контрольной точки, и вектора движения четвертой контрольной точки; определения разности между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; определения разности между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; определения разности между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определения разности между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0229] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями.
[0230] Первый модуль 11 определения, в частности, выполнен с возможностью: определения вектора движения первого пикселя, вектора движения второго пикселя, и вектора движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определения второго горизонтального расстояния и второго вертикального расстояния между первым пикселем и вторым пикселем; определения третьего горизонтального расстояния и третьего вертикального расстояния между первым пикселем и третьим пикселем; и определения первой разности горизонтальных составляющих, первой разности вертикальных составляющих, второй разности горизонтальных составляющих, и второй разности вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0231] В данном варианте осуществления настоящего изобретения, опционально, третий модуль 13 определения, в частности, выполнен с возможностью: определения отношения произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определения отношения произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0232] В данном варианте осуществления настоящего изобретения, опционально, третий модуль 13 определения, в частности, выполнен с возможностью:
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определения первого предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определения второго предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0233] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0234] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0235] В данном варианте осуществления настоящего изобретения, опционально, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0236] В данном варианте осуществления настоящего изобретения, опционально, второй модуль 12 определения, в частности, выполнен с возможностью: определения третьего предварительно установленного значения в качестве точности вектора движения аффинного блока изображения; или определения точности вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0237] В данном варианте осуществления настоящего изобретения, опционально, модуль 14 кодирования, в частности, выполнен с возможностью: определения вектора движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определения сигнала предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определения сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и кодирования сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0238] В данном варианте осуществления настоящего изобретения, опционально, как показано на Фиг. 20, устройство 10 кодирования дополнительно включает в себя:
модуль 15 фильтрации, выполненный с возможностью фильтрации сигналов пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0239] В данном варианте осуществления настоящего изобретения, опционально, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0240] Следует понимать, что устройство 10 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответственно выполнять способ 1000 кодирования видео изображения в вариантах осуществления настоящего изобретения, и вышеприведенные и другие операции и/или функции модулей в устройстве 10 кодирования раздельно предназначены реализовывать соответствующие процедуры способа на с Фиг. 1 по Фиг. 11. Для краткости, подробности здесь вновь не описываются.
[0241] Вследствие этого, устройство кодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с размером. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования так, что сложность кодирования может быть уменьшена, и эффективность кодирования может быть улучшена.
[0242] Нижеследующее описывает подробно устройство декодирования в соответствии с вариантом осуществления настоящего изобретения со ссылкой на Фиг. 21 и Фиг. 22. Как показано на Фиг. 21, устройство 20 декодирования включает в себя:
первый модуль 21 определения, выполненный с возможностью определения разности векторов движения аффинного блока изображения;
второй модуль 22 определения, выполненный с возможностью определения точности вектора движения аффинного блока изображения;
третий модуль 23 определения, выполненный с возможностью определения размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, которая определена первым модулем 21 определения, точностью вектора движения, которая определена вторым модулем 22 определения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и
модуль 24 декодирования, выполненный с возможностью выполнения обработки декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения, который определяется третьим модулем 23 определения.
[0243] В частности, устройство декодирования определяет разность векторов движения аффинного блока изображения в соответствии с определенными контрольными точками, определяет точность вектора движения аффинного блока изображения, определяет размер подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с определенной разностью векторов движения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с определенным размером.
[0244] Вследствие этого, устройство декодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения. Таким образом, подблок изображения подходящего размера выбирается в процессе декодирования так, что сложность декодирования может быть уменьшена, и эффективность декодирования может быть улучшена.
[0245] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 21 определения, в частности, выполнен с возможностью: определения первой составляющей разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определения второй составляющей разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где
первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0246] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 21 определения, в частности, выполнен с возможностью: определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; определения большей из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определения большей из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0247] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 21 определения, в частности, выполнен с возможностью: определения параметра аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования; определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0248] В данном варианте осуществления настоящего изобретения, опционально, первый модуль 21 определения, в частности, выполнен с возможностью: определения вектора движения первой контрольной точки, вектора движения второй контрольной точки, вектора движения третьей контрольной точки, и вектора движения четвертой контрольной точки; определения разности между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; определения разности между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; определения разности между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определения разности между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0249] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями.
[0250] Первый модуль 21 определения, в частности, выполнен с возможностью: определения вектора движения первого пикселя, вектора движения второго пикселя, и вектора движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определения второго горизонтального расстояния и второго вертикального расстояния между первым пикселем и вторым пикселем; определения третьего горизонтального расстояния и третьего вертикального расстояния между первым пикселем и третьим пикселем; и определения первой разности горизонтальных составляющих, первой разности вертикальных составляющих, второй разности горизонтальных составляющих, и второй разности вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0251] В данном варианте осуществления настоящего изобретения, опционально, третий модуль 23 определения, в частности, выполнен с возможностью: определения отношения произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определения отношения произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0252] В данном варианте осуществления настоящего изобретения, опционально, третий модуль 23 определения, в частности, выполнен с возможностью:
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определения первого предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определения второго предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0253] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0254] В данном варианте осуществления настоящего изобретения, опционально, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0255] В данном варианте осуществления настоящего изобретения, опционально, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0256] В данном варианте осуществления настоящего изобретения, опционально, второй модуль 22 определения, в частности, выполнен с возможностью: определения третьего предварительно установленного значения в качестве точности вектора движения аффинного блока изображения; или определения точности вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0257] В данном варианте осуществления настоящего изобретения, опционально, модуль 24 декодирования, в частности, выполнен с возможностью: определения вектора движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определения сигнала предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определения сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и декодирования сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0258] В данном варианте осуществления настоящего изобретения, опционально, как показано на Фиг. 22, устройство 20 декодирования дополнительно включает в себя:
модуль 25 фильтрации, выполненный с возможностью фильтрации сигналов пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0259] В данном варианте осуществления настоящего изобретения, опционально, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0260] Следует понимать, что устройство 20 декодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответственно выполнять способ 2000 декодирования видео изображения в вариантах осуществления настоящего изобретения, и вышеприведенные и другие операции и/или функции модулей в устройстве 20 декодирования раздельно предназначены реализовывать соответствующие процедуры способа на с Фиг. 12 по Фиг. 18. Для краткости, подробности здесь вновь не описываются.
[0261] Вследствие этого, устройство декодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с размером. Таким образом, подблок изображения подходящего размера выбирается в процессе декодирования так, что сложность декодирования может быть уменьшена, и эффективность декодирования может быть улучшена.
[0262] Как показано на Фиг. 23, вариант осуществления настоящего изобретения дополнительно предоставляет устройство 30 кодирования, включающее в себя процессор 31, память 32, и систему 33 шины. Процессор 31 и память 32 соединены посредством системы 33 шины. Память 32 выполнена с возможностью хранения инструкции. Процессор 31 выполнен с возможностью исполнения инструкции, хранящейся в памяти 32. Память 32 устройства 30 кодирования хранит код программы, и процессор 31 может вызывать код программы, хранящийся в памяти 32, чтобы выполнять следующие операции: определение разности векторов движения аффинного блока изображения; определение точности вектора движения аффинного блока изображения; определение размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и выполнение обработки кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0263] Вследствие этого, устройство кодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования так, что сложность кодирования может быть уменьшена, и эффективность кодирования может быть улучшена.
[0264] Следует понимать, что в данном варианте осуществления настоящего изобретения, процессор 31 может быть центральным блоком обработки (Центральный Блок Обработки, коротко «CPU»), или процессор 31 может быть другим процессором общего назначения, цифровым сигнальным процессором (DSP), проблемно-ориентированной интегральной микросхемой (ASIC), программируемой вентильной матрицей (FPGA), или другим программируемым логическим устройством, дискретным вентильным или транзисторным логическим устройством, дискретным компонентом аппаратного обеспечения, или подобным. Процессор общего назначения может быть микропроцессором, или процессор может быть любым обычным процессором, или подобным.
[0265] Память 32 может включать в себя постоянную память и память с произвольным доступом, и предоставлять инструкцию и данные процессору 31. Часть памяти 32 может дополнительно включать в себя энергонезависимую память с произвольным доступом. Например, память 32 может дополнительно хранить информацию касательно типа устройства.
[0266] Система 33 шины может дополнительно включать в себя шину питания, шину управления, шину сигнала статуса, и подобное, в дополнение к шине данных. Тем не менее, для четкого описания, разнообразные шины на фигуре помечены в качестве системы 33 шины.
[0267] В процессе реализации, каждый этап вышеприведенного способа может быть выполнен посредством использования интегральной логической схемы аппаратного обеспечения в процессоре 31 или инструкции в форме программного обеспечения. Этапы способа, раскрываемого со ссылкой на варианты осуществления настоящего изобретения, могут быть непосредственно выполнены посредством процессора аппаратного обеспечения, или могут быть выполнены посредством использования сочетания аппаратного обеспечения в процессоре и модуля программного обеспечения. Модуль программного обеспечения может быть расположен в развитом запоминающем носителе информации в области техники, таком как память с произвольным доступом, флэш-память, постоянная память, программируемая постоянная память, электрически стираемая программируемая память, или регистр. Запоминающий носитель информации располагается в памяти 32. процессор 31 считывает информацию в памяти 32 и выполняет этапы в вышеприведенном способе в сочетании с аппаратным обеспечением процессора 31. Чтобы избежать повтора, подробности здесь вновь не описываются.
[0268] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью: определения первой составляющей разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определения второй составляющей разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где
первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0269] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью: определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; определения большей из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определения большей из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0270] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью: определения параметра аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования; определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0271] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью: определения вектора движения первой контрольной точки, вектора движения второй контрольной точки, вектора движения третьей контрольной точки, и вектора движения четвертой контрольной точки; определения разности между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; определения разности между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; определения разности между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определения разности между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0272] Опционально, в варианте осуществления, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями.
[0273] Процессор 31, в частности, выполнен с возможностью: определения вектора движения первого пикселя, вектора движения второго пикселя, и вектора движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определения второго горизонтального расстояния и второго вертикального расстояния между первым пикселем и вторым пикселем; определения третьего горизонтального расстояния и третьего вертикального расстояния между первым пикселем и третьим пикселем; и определения первой разности горизонтальных составляющих, первой разности вертикальных составляющих, второй разности горизонтальных составляющих, и второй разности вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0274] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью: определения отношения произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определения отношения произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0275] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью:
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определения первого предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определения второго предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0276] Опционально, в варианте осуществления, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0277] Опционально, в варианте осуществления, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0278] Опционально, в варианте осуществления, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0279] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью: определения третьего предварительно установленного значения в качестве точности вектора движения аффинного блока изображения; или определения точности вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0280] Опционально, в варианте осуществления, процессор 31, в частности, выполнен с возможностью: определения вектора движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определения сигнала предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определения сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и кодирования сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0281] Опционально, в варианте осуществления, процессор 31 дополнительно выполнен с возможностью фильтрации сигналов пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0282] Опционально, в варианте осуществления, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0283] Следует понимать, что устройство 30 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответствовать устройству 10 кодирования в вариантах осуществления настоящего изобретения, и может соответствовать соответствующему объекту, который выполняет способ 1000 в соответствии с вариантами осуществления настоящего изобретения, и вышеприведенные и другие операции и/или функции модулей в устройстве 30 кодирования раздельно предназначены реализовывать соответствующие процедуры способа на с Фиг. 1 по Фиг. 11. Для краткости, подробности здесь вновь не описываются.
[0284] Вследствие этого, устройство кодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку кодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения. Таким образом, подблок изображения подходящего размера выбирается в процессе кодирования так, что сложность кодирования может быть уменьшена, и эффективность кодирования может быть улучшена.
[0285] Как показано на Фиг. 24, вариант осуществления настоящего изобретения дополнительно предоставляет устройство 40 декодирования, включающее в себя процессор 41, память 42, и систему 43 шины. Процессор 41 и память 42 соединены посредством системы 43 шины. Память 42 выполнена с возможностью хранения инструкции. Процессор 41 выполнен с возможностью исполнения инструкции, хранящейся в памяти 42. Память 42 устройства 40 кодирования хранит код программы, и процессор 41 может вызывать код программы, хранящийся в памяти 42, чтобы выполнять следующие операции: определение разности векторов движения аффинного блока изображения; определение точности вектора движения аффинного блока изображения; определение размера подблока изображения аффинной компенсации движения в аффинном блоке изображения в соответствии с разностью векторов движения, точностью вектора движения, и расстоянием между контрольными точками в аффинном блоке изображения, где контрольные точки являются пикселями, используемыми для определения разности векторов движения; и выполнение обработки декодирования в отношении аффинного блока изображения в соответствии с размером подблока изображения аффинной компенсации движения.
[0286] Вследствие этого, устройство декодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с размером. Таким образом, подблок изображения подходящего размера выбирается в процессе декодирования так, что сложность декодирования может быть уменьшена, и эффективность декодирования может быть улучшена.
[0287] Следует понимать, что в данном варианте осуществления настоящего изобретения, процессор 41 может быть центральным блоком обработки (Центральный Блок Обработки, коротко «CPU»), или процессор 41 может быть другим процессором общего назначения, цифровым сигнальным процессором (DSP), проблемно-ориентированной интегральной микросхемой (ASIC), программируемой вентильной матрицей (FPGA), или другим программируемым логическим устройством, дискретным вентильным или транзисторным логическим устройством, дискретным компонентом аппаратного обеспечения, или подобным. Процессор общего назначения может быть микропроцессором, или процессор может быть любым обычным процессором, или подобным.
[0288] Память 42 может включать в себя постоянную память и память с произвольным доступом, и предоставлять инструкцию и данные процессору 41. Часть памяти 42 может дополнительно включать в себя энергонезависимую память с произвольным доступом. Например, память 42 может дополнительно хранить информацию касательно типа устройства.
[0289] Система 43 шины может дополнительно включать в себя шину питания, шину управления, шину сигнала статуса, и подобное, в дополнение к шине данных. Тем не менее, для четкого описания, разнообразные шины на фигуре помечены в качестве системы 43 шины.
[0290] В процессе реализации, каждый этап вышеприведенного способа может быть выполнен посредством использования интегральной логической схемы аппаратного обеспечения в процессоре 41 или инструкции в форме программного обеспечения. Этапы способа, раскрываемого со ссылкой на варианты осуществления настоящего изобретения, могут быть непосредственно выполнены посредством процессора аппаратного обеспечения, или могут быть выполнены посредством использования сочетания аппаратного обеспечения в процессоре и модуля программного обеспечения. Модуль программного обеспечения может быть расположен в развитом запоминающем носителе информации в области техники, таком как память с произвольным доступом, флэш-память, постоянная память, программируемая постоянная память, электрически стираемая программируемая память, или регистр. Запоминающий носитель информации располагается в памяти 42. процессор 41 считывает информацию в памяти 42 и выполняет этапы в вышеприведенном способе в сочетании с аппаратным обеспечением процессора 41. Чтобы избежать повтора, подробности здесь вновь не описываются.
[0291] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью: определения первой составляющей разности векторов движения в соответствии с разностью между векторами движения первой контрольной точки и второй контрольной точки, которые располагаются на одной и той же горизонтальной линии; и определения второй составляющей разности векторов движения в соответствии с разностью между векторами движения третьей контрольной точки и четвертой контрольной точки, которые располагаются на одной и той же вертикальной линии; где
первое горизонтальное расстояние имеет место между первой контрольной точкой и второй контрольной точкой, и первое вертикальное расстояние имеет место между третьей контрольной точкой и четвертой контрольной точкой.
[0292] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью: определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих между векторами движения первой контрольной точки и второй контрольной точки; определения большей из первой разности горизонтальных составляющих и первой разности вертикальных составляющих в качестве первой составляющей разности векторов движения; определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих между векторами движения третьей контрольной точки и четвертой контрольной точки; и определения большей из второй разности горизонтальных составляющих и второй разности вертикальных составляющих в качестве второй составляющей разности векторов движения.
[0293] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью: определения параметра аффинного преобразования пикселя в аффинном блоке изображения, где пиксели в аффинном блоке изображения имеют один и тот же параметр аффинного преобразования; определения первой разности горизонтальных составляющих и первой разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым горизонтальным расстоянием; и определения второй разности горизонтальных составляющих и второй разности вертикальных составляющих в соответствии с параметром аффинного преобразования и первым вертикальным расстоянием.
[0294] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью: определения вектора движения первой контрольной точки, вектора движения второй контрольной точки, вектора движения третьей контрольной точки, и вектора движения четвертой контрольной точки; определения разности между горизонтальной составляющей вектора движения первой контрольной точки и горизонтальной составляющей вектора движения второй контрольной точки в качестве первой разности горизонтальных составляющих; определения разности между вертикальной составляющей вектора движения первой контрольной точки и вертикальной составляющей вектора движения второй контрольной точки в качестве первой разности вертикальных составляющих; определения разности между горизонтальной составляющей вектора движения третьей контрольной точки и горизонтальной составляющей вектора движения четвертой контрольной точки в качестве второй разности горизонтальных составляющих; и определения разности между вертикальной составляющей вектора движения третьей контрольной точки и вертикальной составляющей вектора движения четвертой контрольной точки в качестве второй разности вертикальных составляющих.
[0295] Опционально, в варианте осуществления, первая контрольная точка и вторая контрольная точка являются двумя смежными пикселями, и третья контрольная точка и четвертая контрольная точка являются двумя смежными пикселями.
[0296] Процессор 41, в частности, выполнен с возможностью: определения вектора движения первого пикселя, вектора движения второго пикселя, и вектора движения третьего пикселя, где первый пиксель, второй пиксель, и третий пиксель являются неперекрывающимися пикселями; определения второго горизонтального расстояния и второго вертикального расстояния между первым пикселем и вторым пикселем; определения третьего горизонтального расстояния и третьего вертикального расстояния между первым пикселем и третьим пикселем; и определения первой разности горизонтальных составляющих, первой разности вертикальных составляющих, второй разности горизонтальных составляющих, и второй разности вертикальных составляющих в соответствии с вектором движения первого пикселя, вектором движения второго пикселя, вектором движения третьего пикселя, вторым горизонтальным расстоянием, вторым вертикальным расстоянием, третьим горизонтальным расстоянием, и третьим вертикальным расстоянием.
[0297] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью: определения отношения произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и определения отношения произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0298] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью:
когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения больше или равно первому предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; или когда отношение произведения точности вектора движения и первого горизонтального расстояния к первой составляющей разности векторов движения меньше первого предварительно установленного значения, определения первого предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в горизонтальном направлении; и
когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения больше или равно второму предварительно установленному значению, определения отношения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении; или когда отношение произведения точности вектора движения и первого вертикального расстояния к второй составляющей разности векторов движения меньше второго предварительно установленного значения, определения второго предварительно установленного значения в качестве длины подблока изображения аффинной компенсации движения в вертикальном направлении.
[0299] Опционально, в варианте осуществления, первая контрольная точка и третья контрольная точка являются одним и тем же пикселем.
[0300] Опционально, в варианте осуществления, первая контрольная точка, вторая контрольная точка, третья контрольная точка, и четвертая контрольная точка являются вершинами аффинного блока изображения.
[0301] Опционально, в варианте осуществления, первым предварительно установленным значением является 4, и/или вторым предварительно установленным значением является 4.
[0302] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью: определения третьего предварительно установленного значения в качестве точности вектора движения аффинного блока изображения; или определения точности вектора движения аффинного блока изображения в соответствии с характеристикой блока изображения смежного с аффинным блоком изображения, где смежный блок изображения представляет собой блок изображения, который является пространственно и/или временно смежным с аффинным блоком изображения.
[0303] Опционально, в варианте осуществления, процессор 41, в частности, выполнен с возможностью: определения вектора движения каждого подблока изображения аффинной компенсации движения в подблоках изображения аффинной компенсации движения; определения сигнала предсказания компенсации движения каждого подблока изображения аффинной компенсации движения в соответствии с вектором движения каждого подблока изображения аффинной компенсации движения; определения сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения в соответствии с сигналом предсказания компенсации движения каждого подблока изображения аффинной компенсации движения; и декодирования сигнала остатка предсказания каждого подблока изображения аффинной компенсации движения.
[0304] Опционально, в варианте осуществления, процессор 41 дополнительно выполнен с возможностью фильтрации сигналов пикселей границы каждого подблока изображения аффинной компенсации движения, где пиксели границы являются пикселями в одной или более строках на границе каждого подблока изображения аффинной компенсации движения.
[0305] Опционально, в варианте осуществления, сигнал пикселя границы включает в себя сигнал предсказания компенсации движения и/или воссозданный сигнал, и воссозданный сигнал является суммой сигнала предсказания компенсации движения и воссозданного сигнала остатка.
[0306] Следует понимать, что устройство 40 декодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответствовать устройству 20 декодирования в вариантах осуществления настоящего изобретения, и может соответствовать соответствующему объекту, который выполняет способ 2000 в соответствии с вариантами осуществления настоящего изобретения, и вышеприведенные и другие операции и/или функции модулей в устройстве 40 декодирования раздельно предназначены реализовывать соответствующие процедуры способа на с Фиг. 12 по Фиг. 18. Для краткости, подробности здесь вновь не описываются.
[0307] Вследствие этого, устройство декодирования в соответствии с данным вариантом осуществления настоящего изобретения определяет размер подблока изображения аффинной компенсации движения в соответствии с определенной разностью векторов движения аффинного блока изображения, определенной точностью вектора движения, и расстоянием между контрольными точками, и выполняет обработку декодирования в отношении аффинного блока изображения в соответствии с размером. Таким образом, подблок изображения подходящего размера выбирается в процессе декодирования так, что сложность декодирования может быть уменьшена, и эффективность декодирования может быть улучшена.
[0308] Следует понимать, что «вариант осуществления» или «вариант осуществления», упомянутый во всем техническом описании не означает, что конкретные признаки, структуры или характерные черты, относящиеся к варианту осуществления, включаются в, по меньшей мере, один вариант осуществления настоящего изобретения. Вследствие этого, «в варианте осуществления» или «в варианте осуществления», появляющиеся на всем протяжении технического описания, не относятся к одному и тому же варианту осуществления. В дополнение, эти конкретные признаки, структуры или характерные черты могут быть объединены в одном или более вариантах осуществления посредством использования любого подходящего образа.
[0309] Следует понимать, что порядковые номера вышеприведенных процессов не означают последовательностей исполнения в разнообразных вариантах осуществления настоящего изобретения. Последовательности исполнения процессов должны быть определены в соответствии с функциями и внутренней логикой процессов, и не должны толковаться в качестве какого-либо ограничения на процессы реализации вариантов осуществления настоящего изобретения.
[0310] В дополнение, понятия «система» и «сеть» могут быть использованы взаимозаменяемо в данном техническом описании. Понятие «и/или» в данном техническом описании описывает только ассоциированную зависимость для описания ассоциированных объектов и представляет собой то, что могут существовать три зависимости. Например, A и/или B может представлять собой следующие три случая: Существует только A, существует как A, так и B, и существует только B. В дополнение, при условии, что не указано обратное, символ «/» в данном техническом описании, как правило, указывает зависимость «или» между ассоциированными объектами.
[0311] Следует понимать, что в вариантах осуществления данной заявки, «B, соответствующее A» указывает на то, что B ассоциировано с A, и B может быть определено в соответствии с A. Тем не менее, следует понимать, что определение A в соответствии с B не означает, что B определяется только в соответствии с A; т.е., B также может быть определено в соответствии с A и/или другой информацией.
[0312] Специалист в соответствующей области техники может быть осведомлен о том, что в сочетании с примерами, описанными в вариантах осуществления, раскрываемых в данном техническом описании, блоки и этапы алгоритма могут быть реализованы посредством электронного аппаратного обеспечения, компьютерного программного обеспечения, или их сочетания. Чтобы четко описать взаимозаменяемость между аппаратным обеспечением и программным обеспечением, вышеприведенное в целом описывало сочетания и этапы каждого примера в соответствии с функциями. Выполняются ли функции посредством аппаратного обеспечения или программного обеспечения зависит от конкретных приложений и условий ограничения на исполнение технических решений. Специалист в соответствующей области техники может использовать разные способы, чтобы реализовывать описанные функции для каждого конкретного приложения, но не следует считать, что реализация выходит за пределы объема настоящего изобретения.
[0313] Специалисту в соответствующей области техники может быть четко понятно, что в целях удобства и краткости описания, в отношении подробных рабочих процессов вышеприведенной системы, устройства, и блока, можно обратиться к соответствующему процессу в вышеприведенных вариантах осуществления способа, и подробности здесь вновь не описываются.
[0314] В некоторых вариантах осуществления, предоставленных в данной заявке, следует понимать, что раскрываемая система, устройство, и способ могут быть реализованы другим образом. Например, описанный вариант осуществления устройства является лишь примером. Например, деление на блоки является лишь логическим функциональным делением и может быть другим делением в фактической реализации. Например, множество блоков или компонентов могут быть объедены или интегрированы в другую систему, или некоторые признаки могут быть проигнорированы или не выполняться. В дополнение, отображенные или обсуждаемые взаимные связывания или непосредственные связывания или соединения связи могут быть реализованы посредством использования некоторых интерфейсов. Опосредованные связывания или соединения связи между устройствами или блоками могут быть реализованы в электронной, механической, или других формах.
[0315] Блоки, описанные как отдельные части, могут или могут не быть физически отдельными, а части, отображаемые как блоки, могут или могут не быть физическими блоками, могут располагаться в одной позиции, или могут быть распределены по множеству сетевых блоков. Некоторые или все из блоков могут быть выбраны в соответствии с фактическими требованиями для достижения задач решения вариантов осуществления.
[0316] В дополнение, функциональные блоки в вариантах осуществления настоящего изобретения могут быть интегрированы в одном блоке обработки, или каждый из блоков может существовать физически отдельно, или два или более блока интегрируются в один блок.
[0317] Когда интегрированный блок реализуется в форме функционального блока программного обеспечения и продается или используется в качестве независимого продукта, интегрированный блок может быть сохранен на машиночитаемом запоминающем носителе информации. На основании такого понимания, технические решения настоящего изобретения, по существу, или часть, которая вносит свой вклад в известный уровень техники, или некоторые из технических решений могут быть реализованы в форме продукта программного обеспечения. Продукт программного обеспечения хранится на запоминающем носителе информации, и включает в себя несколько инструкций для предписания компьютерному устройству (которое может быть персональным компьютером, сервером, или сетевым устройством) выполнять все или некоторые из этапов способов, описанных в вариантах осуществления настоящего изобретения. Вышеприведенный запоминающий носитель информации включает в себя: любой носитель информации, который может хранить программный код, такой как USB флэш накопитель, съемный жесткий диск, постоянная память (Постоянная Память, коротко ROM), память с произвольным доступом (Память с Произвольным Доступом, коротко RAM), магнитный диск, или оптический диск.
[0318] Вышеприведенные описания являются лишь особыми реализациями настоящего изобретения, но не предназначены для того, чтобы ограничивать объем правовой защиты настоящего изобретения. Любая вариация или замещение легко понятное специалисту в соответствующей области техники в рамках технического объема, раскрытого в настоящем изобретении, должна лежать в рамках объема правовой защиты настоящего изобретения. Вследствие этого, объем правовой защиты настоящего изобретения должен подчиняться объему правовой защиты формулы изобретения.