ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к области обработки видео изображения и, в частности, к способу и устройству предсказания изображения.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] С быстрым развитием Интернет-технологий и ростом разнообразия в материальной и духовной культуре людей, увеличиваются требования к Интернету для приложений видео, особенно для приложений видео высокой четкости. Однако видео высокой четкости имеет очень большой объем данных. Для передачи видео высокой четкости по Интернету при ограниченной ширине полосы, первой проблемой, которую необходимо решить, является сжатие и кодирование видео высокой четкости. В настоящее время существуют две международные организации, которые занимаются разработкой стандартов кодирования видео, то есть, Экспертная группа по движущимся изображениям (Moving Picture Experts Group, кратко ʺMPEGʺ) Международной организации по стандартизации (International Organization for Standardization, кратко ʺISOʺ)/Международной электротехнической комиссии (International Electrotechnical Commission, кратко ʺIECʺ) и Экспертная группа по кодированию видео (Video Coding Experts Group, кратко ʺVCEGʺ) Комитета по телекоммуникациями Международного союза электросвязи (International Telecommunication Union-Telecommunication standardization sector, кратко ʺITU-Tʺ). MPEG, учрежденная в 1986, является ответственной за разработку связанных стандартов в области мультимедиа, которые главным образом применимы для хранения, вещания телевизионных программ, потоковой передачи медиа по Интернету или беспроводным сетям и т.п. ITU-T главным образом разрабатывает стандарты кодирования видео для области передач видео в реальном времени, например, радиотелефонии, видео конференций или других приложений.
[0003] В последние десятилетия были успешно разработаны международные стандарты кодирования видео для различных приложений, главным образом включающие в себя: стандарт MPEG-1 для видео компакт-дисков (Video Compact Disc, кратко ʺVCDʺ), стандарт MPEG-2 для цифрового видео диска (digital video disc, кратко ʺDVDʺ) и цифрового вещания видео (digital video broadcasting, кратко ʺDVBʺ), стандарт H.261, стандарт H.263 и стандарт H.264 для видео конференций, стандарт MPEG-4, который позволяет осуществлять кодирование объектов в любой форме, и последний стандарт высокоэффективного кодирования видео (High Efficiency Video Coding, кратко ʺHEVCʺ).
[0004] По сравнению с последним стандартом кодирования видео, HEVC, для последовательности, включающей в себя движения поворота и изменения масштаба, технология предсказания с компенсацией движения с полем вектора движения, основанным на линейных изменениях, может существенным образом повысить эффективность кодирования. В существующей технологии предсказания с компенсацией движения, основанной на аффинном преобразовании, после того как получен параметр аффинного преобразования блока изображения, требуется вычислять вектор движения каждой точки в блоке изображения, и предсказание с компенсацией движения требуется выполнять в соответствии с вектором движения точки, чтобы получить сигнал предсказания с компенсацией движения каждой точки.
[0005] Модель движения, основанная на аффинном преобразовании, является способом для эффективного кодирования движений поворота и изменения масштаба. Вектор движения каждого пиксела в подлежащем обработке блоке изображения может быть получен с использованием векторов движения четырех вершин блока. Для движений, включающих в себя только поворот и изменение масштаба, модель аффинного преобразования может быть получена путем получения только векторов движения любых двух контрольных точек в подлежащем обработке блоке изображения. Параметр модели аффинного преобразования вычисляется с использованием вектора движения контрольной точки, чтобы получить вектор движения каждой пиксельной точки в текущем блоке. Стоимость искажения в зависимости от скорости для аффинного режима предсказания движения сопоставима со стоимостью искажения в зависимости от скорости для внутрикадрового режима предсказания в стандарте кодирования видео. Если стоимость искажения в зависимости от скорости для аффинного режима предсказания движения меньше, аффинный режим предсказания движения используется для кодирования подлежащего обработке блока изображения. Такой блок упоминается как аффинный блок предсказания движения, а соответствующая единица предсказания упоминается как аффинная единица предсказания движения. Кроме того, информация движения четырех вершин аффинного блока предсказания движения и информация движения центрального положения сохраняются в базовой единице с размером 4×4. Значение вектора движения центрального положения является средним значением значений векторов движения двух контрольных точек. Информация движения включает в себя вектор движения, индекс опорного кадра, направление предсказания и т.п.
[0006] Чтобы повысить эффективность кодирования, информация движения блока, смежного с подлежащим обработке блоком изображения, может быть непосредственно повторно использована в качестве информации движения контрольной точки в подлежащем обработке блоке изображения, не требуя дополнительного выполнения поиска движения с использованием вектора движения смежного блока в качестве начальной точки поиска и кодирования разности векторов движения, уменьшая количество битов, используемых для кодирования разности векторов движения. Такой способ имеет относительно высокое требование к точности информации вектора движения смежного блока, повторно используемого для текущего блока, но точность информации вектора движения смежного блока не может быть обеспечена в предшествующем уровне техники. Следовательно, эффективность кодирования не может быть повышена.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0007] Настоящее изобретение обеспечивает способ и устройство предсказания изображения для повышения эффективности кодирования.
[0008] В соответствии с первым аспектом, предложен способ предсказания изображения, содержащий этапы, на которых:
получают первую реперную единицу для единицы изображения, при этом соответственные предсказанные изображения получаются для единицы изображения и первой реперной единицы посредством использования одной и той же аффинной модели;
получают информацию движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и
получают информацию движения базовой единицы компенсации движения единицы изображения в соответствии с этой информацией движения.
[0009] Со ссылкой на первый аспект, в первой возможной реализации первого аспекта, получение первой реперной единицы для единицы изображения содержащий этапы, на которых:
проверяют, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; и
если предсказанное изображение получено для единицы предсказания, смежной с единицей изображения, посредством использования упомянутой аффинной модели, останавливают данную проверку и используют единицу предсказания в качестве первой реперной единицы.
[0010] Со ссылкой на первый аспект, во второй возможной реализации первого аспекта, предварительно установленным положением является положение угловой точки единицы в первой реперной единице.
[0011] Со ссылкой на любое одно из первого аспекта, первой возможной реализации первого аспекта или второй возможной реализации первого аспекта, в третьей возможной реализации первого аспекта, упомянутое получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит получение информации движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и,
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит этап, на котором получают направление предсказания, индекс опорного кадра и вектор движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих трех предварительно установленных положениях в первой реперной единице.
[0012] Со ссылкой на третью возможную реализацию первого аспекта, в четвертой возможной реализации первого аспекта, упомянутое получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице содержит этапы, на которых:
назначают одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице;
назначают один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице; и
получают вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице.
[0013] Со ссылкой на четвертую возможную реализацию первого аспекта, в пятой возможной реализации первого аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , , и , , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице, и , , и , , являются соответствующими горизонтальными и вертикальными векторами движения.
[0014] Со ссылкой на любое одно из первого аспекта, первой возможной реализации первого аспекта или второй возможной реализации первого аспекта, в шестой возможной реализации первого аспекта, упомянутое получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит получение информации движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит этап, на котором получают направление предсказания, индекс опорного кадра и вектор движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих двух предварительно установленных положениях в первой реперной единице.
[0015] Со ссылкой на шестую возможную реализацию первого аспекта, в седьмой возможной реализации первого аспекта, упомянутое получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице содержит этапы, на которых:
назначают одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице;
назначают один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице; и
получают вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице.
[0016] Со ссылкой на седьмую возможную реализацию первого аспекта, в восьмой возможной реализации первого аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице, и , и , являются соответствующими горизонтальными и вертикальными векторами движения.
[0017] В соответствии со вторым аспектом, предложено устройство предсказания изображения, включающее в себя:
первый модуль получения, сконфигурированный получать единицу для единицы изображения, при этом соответственные предсказанные изображения получаются для единицы изображения и первой реперной единицы посредством использования одной и той же аффинной модели;
второй модуль получения, сконфигурированный получать информацию движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и
третий модуль получения, сконфигурированный получать информацию движения базовой единицы компенсации движения единицы изображения в соответствии с информацией положения и упомянутой информацией движения.
[0018] Со ссылкой на второй аспект, в первой возможной реализации второго аспекта, первый модуль получения сконфигурирован:
проверять, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; и
если предсказанное изображение получено для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели, останавливать данную проверку и использовать единицу предсказания в качестве первой реперной единицы.
[0019] Со ссылкой на второй аспект, во второй возможной реализации второго аспекта, предварительно установленным положением является положение угловой точки единицы в первой реперной единице.
[0020] Со ссылкой на любое одно из второго аспекта, первой возможной реализации второго аспекта или второй возможной реализации второго аспекта, в третьей возможной реализации второго аспекта, третий модуль получения сконфигурирован получать информацию движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и,
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих трех предварительно установленных положениях в первой реперной единице.
[0021] Со ссылкой на третью возможную реализацию второго аспекта, в четвертой возможной реализации второго аспекта, третий модуль получения дополнительно сконфигурирован:
назначать одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице;
назначать один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице; и
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице.
[0022] Со ссылкой на четвертую возможную реализацию второго аспекта, в пятой возможной реализации второго аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , , и , , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых трех предварительно установленных положениях в первой реперной единице, и , , и , , являются соответствующими горизонтальными и вертикальными векторами движения.
[0023] Со ссылкой на любое одно из второго аспекта, первой возможной реализации второго аспекта или второй возможной реализации второго аспекта, в шестой возможной реализации второго аспекта, третий модуль получения дополнительно сконфигурирован получать информацию движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и
соответственно, упомянутое получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в этих двух предварительно установленных положениях в первой реперной единице.
[0024] Со ссылкой на шестую возможную реализацию второго аспекта, в седьмой возможной реализации второго аспекта, третий модуль получения дополнительно сконфигурирован:
назначать одно и то же направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице;
назначать один и тот же индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице; и
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице.
[0025] Со ссылкой на седьмую возможную реализацию второго аспекта, в восьмой возможной реализации второго аспекта, упомянутое получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и , являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в упомянутых двух предварительно установленных положениях в первой реперной единице, и , и , являются соответствующими горизонтальными и вертикальными векторами движения.
[0026] На основе вышеописанных технических решений, в соответствии со способом и устройством предсказания изображения в вариантах осуществления настоящего изобретение, информация движения первой реперной единицы, использующей ту же самую аффинную модель предсказания, используется повторно, и поэтому получается более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым повышается эффективность кодирования и декодирования.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0027] Для более четкого описания технических решений в вариантах осуществления настоящего изобретения, ниже приведено краткое описание приложенных чертежей, необходимых для описания вариантов осуществления или предшествующего уровня техники. Очевидно, что приложенные чертежи в последующем описании показывают только некоторые варианты осуществления настоящего изобретения, и специалист в данной области техники сможет получить другие чертежи на основе этих приложенных чертежей без приложения творческих усилий.
[0028] Фиг. 1 является блок-схемой последовательности операций способа предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;
[0029] Фиг. 2 является схематичным представлением потенциально подходящих единиц предсказания (единиц предсказания-кандидатов) в соответствии с вариантом осуществления настоящего изобретения;
[0030] Фиг. 3 является схематичным представлением аффинного блока изображения и контрольных точек в соответствии с вариантом осуществления настоящего изобретения;
[0031] Фиг. 4 является другой блок-схемой последовательности операций способа предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;
[0032] Фиг. 5 является блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;
[0033] Фиг. 6 является другой блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящего изобретения;
[0034] Фиг. 7 является другой блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящее изобретение; и
[0035] Фиг. 8 является другой блок-схемой устройства предсказания изображения в соответствии с вариантом осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0036] Нижеследующее описывает с полнотой и ясностью технические решения в вариантах осуществления настоящего изобретения со ссылкой на приложенные чертежи в вариантах осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления являются некоторыми, но не всеми из вариантов осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистом в данной области техники на основе вариантов осуществления настоящего изобретения без приложения творческих усилий, будут входить в объем защиты настоящего изобретения.
[0037] Должно быть понятно, что, в вариантах осуществления настоящего изобретения, используется аффинная модель поворота и изменения масштаба, основанная на двух контрольных точках в каждой единице предсказания (четыре параметра), или может использоваться аффинная модель поворота и изменения масштаба, основанная на трех контрольных точках в каждой единице предсказания (шесть параметров), или может использоваться перспективная аффинная модель, основанная на четырех контрольных точках в каждой единице предсказания (восемь параметров) или т.п., и никакие ограничения не накладываются на это.
[0038] Должно быть понятно, что базовая единица компенсации движения является минимальной единицей для выполнения компенсации движения, и единица имеет равномерную информацию движения. В вариантах осуществления настоящего изобретения, пиксельная точка используется как базовая единица компенсации движения, или пиксельная матрица или т.п. может быть использована как базовая единица компенсации движения, и никакое ограничение не накладывается на это.
[0039] Должно быть понятно, что в 4-параметрической аффинной модели, из информации движения любых двух базовых единиц компенсации движения, может быть интерполирована информация движения всех единиц компенсации движения в аффинной единице предсказания движения, в которой локализованы две базовые единицы компенсации движения. Предпочтительно, более точная интерполированная информация движения может быть получена путем выбора базовых единиц компенсации движения в любых двух угловых точках единицы в аффинной единице предсказания движения. Положение угловой точки единицы является точкой, в которой сходятся две смежные стороны аффинной единицы предсказания движения, то есть первой реперной единицы. Например, если аффинная единица предсказания движения является треугольником, угловые точки единицы являются тремя вершинами треугольника; если аффинная единица предсказания движения является четырехугольником, угловыми точками единицы являются четыре вершины четырехугольника, и т.д. В вариантах осуществления, для простоты описания, базовые единицы компенсации движения, из которых интерполируется информация движения всех единиц компенсации движения в аффинной единице предсказания движения, упоминаются как контрольные точки.
[0040] Вариант осуществления настоящего изобретения обеспечивает способ предсказания изображения, который реализован декодером. Способ, в частности, включает в себя следующие этапы:
получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели;
получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и
получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.
[0041] В соответствии со способом и устройством предсказания изображения в этом варианте осуществления настоящего изобретения, информация движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, используется повторно, и поэтому более точный вектор движения текущей единицы изображения получается без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым повышается эффективность кодирования и декодирования.
[0042] Предпочтительно, предварительно установленное положение представляет собой положение угловой точки единицы в первой реперной единице, и положение угловой точки является точкой, в которой сходятся две смежные стороны первой реперной единицы.
[0043] Предпочтительно, например, получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице включает в себя:
получение информации движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице; и соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения включает в себя: получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.
[0044] Получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице может включать в себя:
назначение того же самого направления предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; назначение того же самого индекса опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; и получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.
[0045] Получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения. [0046] Приведенные выше формулы, которые используются для получения вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции, являются обычными формулами, которые используются для выполнения интерполяции в соответствии с информацией движения базовых единиц компенсации движения в любых выбранных предварительно установленных положениях в первой реперной единице. В конкретном варианте осуществления, формулы могут быть упрощены для различных сценариев применения в соответствии с особенностями выбранных предварительно установленных положений. Например, в конкретном варианте осуществления настоящего изобретения, верхняя левая, нижняя левая и верхняя правая угловые точки единицы в единице выбраны в качестве предварительно установленных положений, и формулы упрощены к следующему виду:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0047] Альтернативно, например, способ включает в себя:
получение информации движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения включает в себя: получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.
[0048] Получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0049] Приведенные выше формулы, которые используются для получения вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции, являются обычными формулами, которые используются для выполнения интерполяции в соответствии с информацией движения базовых единиц компенсации движения в любых выбранных предварительно установленных положениях в первой реперной единице. В конкретном варианте осуществления, формулы могут быть упрощены для различных сценариев применения в соответствии с особенностями выбранных предварительно установленных положений. Например, в конкретном варианте осуществления настоящего изобретения, верхняя левая и верхняя правая угловые точки единицы в единице выбраны в качестве предварительно установленных положений, и формулы упрощены к следующему виду:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в аффинной единице предсказания движения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0050] Кроме того, настоящее изобретение дополнительно обеспечивает способ предсказания изображения, применимый к процессу кодирования. Способ предсказания изображения, применимый к процессу кодирования, является тем же самым, что и вышеописанный способ предсказания изображения, применимый к процессу декодирования. Поэтому может быть получен тот же самый результат повышения эффективности кодирования.
[0051] Нижеследующее описывает конкретные реализации настоящего изобретения с использованием конкретных примеров.
[0052] Фиг. 1 является блок-схемой последовательности операций способа предсказания изображения в соответствии с вариантом осуществления настоящего изобретение. Способ, показанный на фиг. 1, может быть выполнен устройством декодирования, таким как декодер.
[0053] Более конкретно, как показано на фиг. 1, способ 1000 включает в себя следующие этапы.
[0054] S1100. Считывание битового потока и синтаксический анализ битового потока, чтобы получить синтаксический элемент, причем синтаксический элемент используется, чтобы определить, использует ли повторно подлежащий обработке блок изображения информацию движения аффинной модели смежного блока. Когда определено, что подлежащий обработке блок изображения повторно использует информацию движения аффинной модели смежного блока, процесс переходит к этапу S1200.
[0055] S1200. Определение аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.
[0056] Первый конкретный способ реализации 1210 этапа включает в себя следующие этапы:
[0057] S1211. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.
[0058] Как показано на фиг. 2, в этом варианте осуществления настоящего изобретения, единицы предсказания, в которых блоки 4×4 в пяти положениях A, B, C, D и E, которые являются пространственно смежными с подлежащим обработке блоком изображения, соответственно локализуются и выбираются для формирования набора. Должно быть понятно, что, альтернативно, могут быть выбраны некоторые из положений A, B, C, D и E, или могут быть выбраны единицы предсказания, в которых локализованы другие блоки, смежные во временной области с подлежащим обработке блоком изображения, для формирования набора, и никакие ограничения не накладываются на это.
[0059] S1212. Проверка, в предварительно установленном порядке, того, является ли единица предсказания в наборе аффинной единицей предсказания движения.
[0060] Предварительно установленный порядок является порядком, который предварительно определен в протоколе сторонами кодирования и декодирования и поддерживается согласованным между сторонами кодирования и декодирования. В этом варианте осуществления настоящего изобретения, предварительно установленным порядком является A, B, C, D и E. Должно быть понятно, что, альтернативно, предварительно установленным порядком может быть B, D, A, E и C или другой порядок, и никакие ограничения не накладываются на это.
[0061] S1213. Если найдено, что единица предсказания является аффинной единицей предсказания движения, проверка останавливается, и единица предсказания используется как аффинная единица предсказания движения, на которую ссылается подлежащий обработке блок изображения.
[0062] Второй конкретный способ реализации 1220 этапа включает в себя следующие этапы.
[0063] S1221. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.
[0064] В дополнение к тому же способу определения набора, что и в S1211, способ может дополнительно включать в себя: удаление из набора неаффинной единицы предсказания движения в наборе. Например, набор, определенный с использованием способа определения согласно S1211, включает в себя единицы предсказания, в которых локализованы A, B, C, D и E; и единицы предсказания, в которых локализованы C и D, являются неаффинными единицами предсказания движения. Поэтому C и D удаляются из набора, и определенный набор единиц предсказания-кандидатов включает в себя единицы предсказания, в которых локализованы A, B и E.
[0065] Альтернативно, способ может включать в себя: ограничение емкости набора и удаление из набора единицы предсказания-кандидата, для которой порядок проверки занимает место за пределами допустимого количества единиц предсказания-кандидатов. Например, количество единиц предсказания-кандидатов в наборе установлено на 2 максимум, а набор, который соответствует порядку проверки и который определен с использованием способа определения согласно S1211 в соответствии с порядком проверки согласно S1212, представляет собой A, D, C, E и B. Поэтому, C, E и B удаляются из набора, и определенный набор единиц предсказания-кандидатов включает в себя единицы предсказания, в которых локализованы A и D. Должно быть понятно, что, емкость набора может быть установлена на 3 или 4, или может не ограничиваться, если емкость находится в пределах диапазона, который больше, чем 0, но меньше или равен максимальному количеству единиц предсказания-кандидатов, определенных с использованием способа определения согласно S1211.
[0066] Альтернативно, вышеуказанные два способа определения набора могут быть использованы в комбинации.
[0067] S1222. Считывание битового потока и синтаксический анализ битового потока, чтобы получить синтаксический элемент, причем синтаксический элемент используется для указания индексной информации аффинной единицы предсказания движения, которая находится в наборе единиц предсказания-кандидатов, и которая используется в качестве репера для подлежащего обработке блока изображения.
[0068] S1223. Определение, в соответствии с индексной информацией, аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.
[0069] Например, если набор единиц предсказания-кандидатов включает в себя две единицы предсказания-кандидата A и B, индекс A равен 0, и индекс B равен 1. Битовый поток считывается и синтаксически анализируется, чтобы получить индексную информацию. Если индексная информация равна 0, аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения, является единица предсказания, в которой локализовано A; если индексная информация равна 1, аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения, является единица предсказания, в которой локализовано B.
[0070] S1300. Получение информации положения и информации движения контрольных точек в аффинной единице предсказания движения.
[0071] Первый конкретный способ реализации 1310 этапа включает в себя: выбор любых трех контрольных точек из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров трех контрольных точек. Поскольку все пиксельные точки в той же самой аффинной единице предсказания движения имеют одно и то же направление предсказания и один и тот же индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются одними и теми же.
[0072] Второй конкретный способ реализации 1320 этапа включает в себя: выбор любых двух контрольных точек, которые могут упоминаться как первая и вторая контрольные точки, из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров двух контрольных точек; и затем выбор любой контрольной точки, которая может упоминаться как третья контрольная точка, из оставшихся двух контрольных точек и получение информации положения третьей контрольной точки. Информация вектора движения третьей контрольной точки может быть получена в соответствии с первой и второй контрольными точками следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами третьей контрольной точки, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами первой и второй контрольных точек, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0073] Поскольку все пиксельные точки в той же самой аффинной единице предсказания движения имеют то же самое направление предсказания и тот же самый индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются теми же самыми. Третья контрольная точка имеет то же самое направление предсказания и индекс опорного кадра, что и таковые у первой и второй контрольных точек.
[0074] В соответствии с любой из предыдущих двух конкретных реализаций, после этапа S1300, информация движения и информация положения по меньшей мере трех контрольных точек получены.
[0075] Как показано на фиг. 3, в этом варианте осуществления настоящего изобретения, выбраны контрольные точки, представленные тремя вершинами: верхней левой (x2, y2), верхней правой (x3, y3) и нижней левой (x4, y4) вершинами аффинной единицы предсказания движения, в которой локализован смежный блок A подлежащего обработке блока изображения. В этом варианте осуществления, x2 равно x4, и y2 равно y3.
[0076] Должно быть понятно, что контрольная точка выбирается случайным образом, и никакие ограничения не накладываются на это.
[0077] S1400. Получение информации движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек.
[0078] Первый конкретный способ реализации 1410 этапа включает в себя следующие этапы:
[0079] S1411. Поскольку направления предсказания и индексы опорных кадров всех контрольных точек являются теми же самыми, направление предсказания и индекс опорного кадра любой одной из контрольных точек назначаются пиксельной точке в подлежащем обработке блоке изображения. Альтернативно, битовый поток может подвергаться синтаксическому анализу, чтобы получить информацию опорного кадра подлежащего обработке блока изображения, где информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.
[0080] S1412. Получение, в соответствии с информацией положения и векторами движения, полученными в S1300, любых трех контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами любых трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0081] Второй конкретный способ реализации 1420 этапа включает в себя следующие этапы.
[0082] S1421. Поскольку направления предсказания и индексы опорных кадров всех контрольных точек являются теми же самыми, направление предсказания и индекс опорного кадра любой одной из контрольных точек назначаются пиксельной точке в подлежащем обработке блоке изображения. Альтернативно, битовый поток может подвергаться синтаксическому анализу, чтобы получить информацию опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.
[0083] S1422. Как показано на фиг. 3, получение, в соответствии с информацией положения и векторами движения, полученными в S1300, любых трех контрольных точек, векторов движения любых двух контрольных точек в подлежащем обработке блоке изображения. Это реализуется следующим образом:
,
,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0084] S1423. Получение, в соответствии с векторами движения, полученными в S1422, двух контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0085] Третий конкретный способ реализации 1430 этапа включает в себя следующие этапы.
[0086] S1431. Поскольку направления предсказания и индексы опорных кадров всех контрольных точек являются одними и теми же, направление предсказания и индекс опорного кадра любой одной из контрольных точек назначаются пиксельной точке в подлежащем обработке блоке изображения. Альтернативно, битовый поток может подвергаться синтаксическому анализу, чтобы получить информацию опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.
[0087] S1432. Как показано на фиг. 3, получение, в соответствии с информацией положения и векторами движения, полученными в S1400, любых трех контрольных точек, векторов движения любых двух контрольных точек в подлежащем обработке блоке изображения. Это реализуется следующим образом:
,
,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0088] S1433. Синтаксический анализ битового потока, чтобы получить остаток векторов движения двух контрольных точек в подлежащем обработке блоке изображения и добавить остаток к векторам движения, полученным в S1432, двух контрольных точек, чтобы получить обновленные векторы движения двух контрольных точек в подлежащем обработке блоке изображения. Ввиду добавления остатка, обновленные векторы движения являются более точными.
[0089] S1434. Получение, в соответствии с векторами движения, полученными в S1433, двух контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0090] S1500. Выполнение компенсации движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, чтобы найти предсказанное значение пиксельной точки в подлежащем обработке блоке изображения, причем предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения.
[0091] Должно быть понятно, что, в этом варианте осуществления настоящего изобретения, термины ʺперваяʺ, ʺвтораяʺ, ʺтретьяʺ и ʺчетвертаяʺ предназначены только для различения пиксельных точек, но не должны толковаться в качестве какого-либо ограничения объема защиты настоящего изобретения. Например, первая контрольная точка может также упоминаться как вторая контрольная точка, и вторая контрольная точка может быть первой контрольной точкой и т.д.
[0092] Также должно быть понятно, что порядковые номера вышеупомянутых процессов не означают последовательностей выполнения. Последовательности выполнения процессов должны быть определены в соответствии с функциями и внутренней логикой процессов и не должны толковаться в качестве какого-либо ограничения процессов реализации данного варианта осуществления настоящего изобретения.
[0093] Также должно быть понятно, что способ получения предсказанного изображения с использованием 6-параметрической модели аффинного преобразования или 8-параметрической модели аффинного преобразования является по существу тем же самым, что и способ получения предсказанного изображения с использованием 4-параметрической модели аффинного преобразования. Для краткости, детали здесь не описываются.
[0094] Более конкретно, сторона декодирования повторно использует информацию движения аффинной единицы предсказания движения, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым повышается эффективность кодирования и декодирования.
[0095] Чтобы лучше показать полезные результаты настоящего изобретение, выполнено сравнение эффективности между данным вариантом осуществления настоящего изобретения и способом предсказания, использующим модель аффинного преобразования, основанную на двух контрольных точках, согласно предшествующему уровню техники по отношению к конфигурации кодирования произвольного доступа (Random Access) и конфигурации кодирования с низкой задержкой (Low delay). Отрицательное значение указывает процент улучшения характеристики кодирования, а положительное значение указывает процент ухудшения характеристики кодирования.
Таблица 1. Аффинная последовательность
[0096] Можно видеть, что, при условиях тестирования, соответствующих низкой битовой скорости (низкому битрейту) произвольного доступа, высокой битовой скорости произвольного доступа, низкой битовой скорости с низкой задержкой и высокой битовой скорости с низкой задержкой, настоящее изобретение соответственно снижает битовую скорость на 2,7%, 2,1%, 5,7% и 4,3%, когда сложность остается по существу неизменной, тем самым повышая эффективность кодирования.
[0097] Выше детально описан способ предсказания изображения, реализуемый на стороне декодирования в соответствии с данным вариантом осуществления настоящего изобретения, со ссылкой на фиг. 1 - фиг. 3, а далее детально описан способ предсказания изображения, реализуемый на стороне кодирования в соответствии с вариантом осуществления настоящего изобретения, со ссылкой на фиг. 2 - фиг. 4. Следует отметить, что соответствующие операции на стороне кодирования по существу согласованы с таковыми на стороне декодирования. Во избежание повторений, детали здесь не описываются.
[0098] Фиг. 4 является другой блок-схемой последовательности операций способа предсказания изображения 2000 в соответствии с вариантом осуществления настоящего изобретения. Способ, показанный на фиг. 4, может быть выполнен устройством кодирования, таким как кодер.
[0100] Более конкретно, как показано на фиг. 4, способ 2000 включает в себя следующие этапы.
[0101] S2100. Определение аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.
[0102] Первый конкретный способ реализации 2110 этапа включает в себя следующие этапы.
[0103] S2111. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.
[0104] Как показано на фиг. 2, в этом варианте осуществления настоящего изобретения, единицы предсказания, в которых блоки 4×4 расположены, соответственно, в пяти положениях A, B, C, D и E, которые являются пространственно смежными к подлежащему обработке блоку изображения, выбираются для формирования набора. Должно быть понятно, что, альтернативно, для формирования набора могут быть выбраны некоторые из положений A, B, C, D и E, или могут быть выбраны единицы предсказания, в которых другие блоки расположены смежно во временной области к подлежащему обработке блоку изображения, и никакие ограничения не накладываются на это.
[0105] S2112. Проверка, в предварительно установленном порядке, является ли единица предсказания в наборе аффинной единицей предсказания движения.
[0106] Предварительно установленный порядок является порядком, который предварительно определен в протоколе сторонами кодирования и декодирования и поддерживается согласованным между сторонами кодирования и декодирования. В этом варианте осуществления настоящего изобретения, предварительно установленным порядком является A, B, C, D и E. Должно быть понятно, что, альтернативно, предварительно установленным порядком может быть B, D, A, E и C или другой порядок, и никакие ограничения не накладываются на это.
[0107] S2113. Если найдено, что единица предсказания является аффинной единицей предсказания движения, проверка останавливается, и единица предсказания используется как аффинная единица предсказания движения, на которую ссылается подлежащий обработке блок изображения.
[0108] S2114. Если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и выполнение последующего этапа останавливается; в противном случае продолжается выполнение последующего этапа.
[0109] Второй конкретный способ реализации 2120 этапа включает в себя следующие этапы:
[0110] S2121. Определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения.
[0111] В дополнение к тому же самому способу определения набора, что и в S2111, способ может дополнительно включать в себя: удаление из набора блока неаффинной единицы предсказания движения в наборе. Например, набор, определенный с использованием способа определения согласно S1211, включает в себя единицы предсказания, в которых локализованы A, B, C, D и E; и единицы предсказания в которых локализованы C и D, не являются аффинными единицами предсказания движения. Поэтому, C и D удаляются из набора, и определенный набор единиц предсказания-кандидатов включает в себя единицы предсказания, в которых локализованы A, B и E.
[0112] Альтернативно, способ может включать в себя: ограничение емкости набора и удаление из набора единицы предсказания-кандидата, для которой порядок проверки занимает место за пределами допустимого количества единиц предсказания-кандидатов. Например, количество единиц предсказания-кандидатов в наборе установлено на 2 максимум, и набор, который определен с использованием способа определения согласно S2112, в соответствии с порядком проверки согласно S2112 представляет собой A, D, C, E и B. Поэтому C, E и B удаляются из набора, и определенный набор единиц предсказания-кандидатов включают в себя единицы предсказания, в которых локализованы A и D. Должно быть понятно, что емкость набора может быть установлена на 3 или 4 или может не ограничиваться, если емкость находится в пределах диапазона, который больше, чем 0, но меньше или равен максимальному количеству единиц предсказания-кандидатов, определенных с использованием способа определения согласно S1211.
[0113] Альтернативно, вышеупомянутые два способа определения набора могут быть использованы в комбинации.
[0114] S2122. Если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и выполнение последующего этапа останавливается; если по меньшей мере одна из единиц предсказания-кандидатов является аффинной единицей предсказания движения, то продолжается выполнение последующего этапа.
[0115] S2123. Назначение индексного значения каждой единице предсказания-кандидату в наборе единиц предсказания-кандидатов. Единица предсказания-кандидат, указанная каждым индексным значением, предварительно определяется в протоколе сторонами кодирования и декодирования и поддерживается согласованной на сторонах кодирования и декодирования.
[0116] S2124. Обход всех единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов и выполнение обработки в соответствии с последующими этапами с S2200 по S2400, чтобы получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения; и сравнение выигрышей кодирования, полученных выбранными векторами предсказания-кандидатами, и выбор единицы предсказания-кандидата с самым высоким выигрышем кодирования в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.
[0117] Например, если набор единиц предсказания-кандидатов включает в себя две единицы предсказания-кандидата A и B, индекс A равен 0 и индекс B равен 1. Если выигрыш, который получен с использованием A в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения, чтобы выполнить последующий этап обработки, получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения, является наибольшим, то A является аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения; в противном случае, B является аффинной единицей предсказания движения, на которую ссылается подлежащий обработке блок изображения.
[0118] Должно быть понятно, что для повышения скорости кодирования, этап S2124 может быть заменен быстрым алгоритмом. Например, некоторые, но не все из единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов могут быть выбраны для обхода. Альтернативно, весь процесс кодирования подлежащего обработке блока изображения не выполняется, и после получения предсказанного изображения, в соответствии с точностью предсказанных изображений, единица предсказания, которая может быть использована для получения наиболее точного предсказанного изображения, используется в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.
[0119] S2200. Получение информации положения и информации движения контрольных точек в аффинной единице предсказания движения. Данный этап согласуется с S1300, и детали повторно не описываются.
[0120] S2300. Получение информации движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек. Данный этап согласуется с S1400, и детали повторно не описываются.
[0121] S2400. Выполнение компенсации движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, чтобы найти предсказанное значение пиксельной точки в подлежащем обработке блоке изображения, причем предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения. Этот этап согласуется с S1500, и детали повторно не описываются.
[0122] S2500. Сравнение характеристик кодирования, которое выполняется с использованием предсказанного изображения, полученного с использованием этапов с S2100 по S2400, с характеристиками кодирования для кодирования, которое выполняется с использованием предсказанного изображения, полученного с использованием других способов, и выбор способа, в котором получен наибольший выигрыш кодирования, в качестве способа для кодирования предсказанного изображения.
[0123] Должно быть понятно, что для повышения скорости кодирования, S2500 может быть заменено на быстрый алгоритм, описанный в S2124, и детали повторно не описываются.
[0124] S2600. Если способ для получения предсказанного изображения с использованием этапов с S2100 по S2400 используется в S2500, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения получает предсказанное изображение с использованием способа для получения предсказанного изображения с использованием этапов с S2100 по S2400, и кодируется другой синтаксический элемент, причем этот синтаксический элемент используется для указания индексной информации единицы предсказания, выбранной в S2124.
[0125] Должно быть понятно, что, способ предсказания изображения в этом варианте осуществления настоящего изобретения, в качестве технологии предсказания, может также технически комбинироваться с другой технологией предсказания согласно предшествующему уровню техники, например с технологией, использующей несколько систем координат для предсказания, и никакие ограничения не накладываются на это.
[0126] Более конкретно, сторона кодирования повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0127] Нижеследующее детально описывает устройство декодирования в соответствии с вариантом осуществления настоящего изобретение со ссылкой на фиг. 5. Как показано на фиг. 5, устройство 10 декодирования включает в себя:
первый модуль 11 получения, сконфигурированный, чтобы получать аффинную единицу предсказания движения единицы изображения;
второй модуль 12 получения, сконфигурированный, чтобы получать информацию положения и информацию движения аффинной единицы предсказания движения; и
третий модуль 13 получения, сконфигурированный, чтобы получать информацию движения единицы изображения в соответствии с информацией положения и информацией движения.
[0128] Более конкретно, сторона кодирования повторно использует информацию движения первой реперной единицы с использованием той же самой аффинной модели предсказания движения и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0129] В этом варианте осуществления настоящего изобретения, опционально, битовый поток считывается и синтаксически анализируется, чтобы получить синтаксический элемент, причем синтаксический элемент используется для определения, использует ли подлежащий обработке блок изображения повторно информацию движения аффинной модели смежного блока. Когда определено, что подлежащий обработке блок изображения повторно использует информацию движения аффинной модели смежного блока, процесс продолжается.
[0130] В этом варианте осуществления настоящего изобретения, опционально, то, что первый модуль 11 получения специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, является ли единица предсказания в наборе аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, считывание битового потока и синтаксический анализ битового потока для получения синтаксического элемента, причем синтаксический элемент используется для указания индексной информации аффинной единицы предсказания движения, которая находится в наборе единиц предсказания-кандидатов и которая используется в качестве репера для подлежащего обработке блока изображения, и определение, в соответствии с индексной информацией, аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.
[0131] В этом варианте осуществления настоящего изобретения, опционально, то, что второй модуль 12 получения специально сконфигурирован для получения информации положения и информации движения контрольных точек в аффинной единице предсказания движения, включает в себя: выбор любых трех контрольных точек из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров трех контрольных точек; или выбор любых двух контрольных точек, которые могут упоминаться как первая и вторая контрольные точки, из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров двух контрольных точек и затем выбор любой контрольной точки, которая может упоминаться как третья контрольная точка, из оставшихся двух контрольных точек и получение информации положения третьей контрольной точки. Информация вектора движения третьей контрольной точки может быть получена в соответствии с первой и второй контрольными точками следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами третьей контрольной точки, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами первой и второй контрольных точек, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0132] Поскольку все пиксельные точки в одной и той же аффинной единице предсказания движения имеют одно и то же направление предсказания и один и тот же индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются теми же самыми. Третья контрольная точка имеет то же самое направление предсказания и индекс опорного кадра, что и таковые для первой и второй контрольных точек.
[0133] В этом варианте осуществления настоящего изобретения, опционально, то, что третий модуль 13 получения специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: назначение направления предсказания и индекса опорного кадра любой одной из контрольных точек пиксельной точке в подлежащем обработке блоке изображения; или синтаксический анализ битового потока для получения информации опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.
[0134] В этом варианте осуществления настоящего изобретения, опционально, то, что третий модуль 13 получения специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: получение, в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами любых трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0135] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получают в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:
,
,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, и являются, соответственно, горизонтальной и вертикальной координатами контрольной точки в подлежащем обработке блоке изображения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0136] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0137] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получаются в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:
,
,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0138] Битовый поток синтаксически анализируется для получения остатка вектора движения двух контрольных точек в подлежащем обработке блоке изображения, и остаток добавляется к полученному вектору движения двух контрольных точек, для получения обновленного вектора движения двух контрольных точек в подлежащем обработке блоке изображения.
[0139] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0140] В этом варианте осуществления настоящего изобретения, опционально, третий модуль 13 получения специально сконфигурирован для выполнения компенсации движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, для нахождения предсказанного значения пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения.
[0141] Должно быть понятно, что устройство 10 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответственно выполнять способ 1000 предсказания изображения в варианте осуществления настоящего изобретения, и вышеупомянутые и другие операции и/или функции модулей устройства 10 кодирования отдельно используются для реализации соответствующей процедуры способа согласно фиг. 1. Для краткости, детали здесь не описываются.
[0142] Поэтому устройство декодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0143] Нижеследующее описывает в деталях устройство кодирования в соответствии с вариантом осуществления настоящего изобретения со ссылкой на фиг. 6. Как показано на фиг. 6, устройство 20 кодирования включает в себя:
первый модуль 21 получения, сконфигурированный, чтобы получать аффинную единицу предсказания движения единицы изображения;
второй модуль 22 получения, сконфигурированный, чтобы получать информацию положения и информацию движения аффинной единицы предсказания движения; и
третий модуль 23 получения, сконфигурированный, чтобы получать информацию движения единицы изображения в соответствии с информацией положения и информацией движения.
[0144] Более конкретно, сторона кодирования повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0145] В этом варианте осуществления настоящего изобретения, опционально, то, что первый модуль 21 получения специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, что единица предсказания в наборе является аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения, или если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем этом синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа и назначение индексного значения каждой единице предсказания-кандидату в наборе единиц предсказания-кандидатов. Единица предсказания-кандидат, представленная каждым индексным значением, предварительно определяется в протоколе сторонами кодирования и декодирования и поддерживается согласованной на сторонах кодирования и декодирования. Выполняется обход всех единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов, чтобы получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения. Выигрыши кодирования, обеспеченные выбранными векторами предсказания-кандидатами, сравниваются, и единица предсказания-кандидат с наибольшим выигрышем выбирается в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.
[0146] В этом варианте осуществления настоящего изобретения, опционально, второй модуль 22 получения специально сконфигурирован, чтобы получать информацию положения и информацию движения контрольных точек в аффинной единице предсказания движения. Функция модуля является той же самой, что и таковая у второго модуля 12 получения, и детали повторно не описываются.
[0147] В этом варианте осуществления настоящего изобретения, опционально, третий модуль 23 получения специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек. Функция модуля является той же самой, что и таковая у третьего модуля 13 получения, и детали повторно не описываются.
[0148] В этом варианте осуществления настоящего изобретения, опционально, третий модуль 23 получения специально сконфигурирован, чтобы выполнять компенсацию движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, чтобы найти предсказанное значение пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения. Функция модуля является той же самой, что и таковая у третьего модуля 13 получения, и детали повторно не описываются.
[0149] В этом варианте осуществления настоящего изобретения, опционально, характеристики кодирования для кодирования, которое выполняется с использованием предсказанного изображения, полученного этим устройством, сравниваются с характеристиками кодирования для кодирования, которое выполняется с использованием предсказанного изображения, полученного с использованием других устройств, и устройство, посредством которого получен наибольший выигрыш кодирования, выбирается в качестве устройства для кодирования предсказанного изображения.
[0150] В этом варианте осуществления настоящего изобретения, опционально, если используется предсказанное изображение, полученное с использованием этого устройства, то кодируется синтаксический элемент, причем синтаксический элемент используется для указания, что использован способ для получения предсказанного изображения с использованием этого устройства, и кодируется другой синтаксический элемент, причем этот синтаксический элемент используется для указания индексной информации выбранной единицы предсказания.
[0151] Должно быть понятно, что устройство 20 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответственно выполнять способ 2000 предсказания изображения в варианте осуществления настоящего изобретения, и вышеупомянутые и другие операции и/или функции модулей устройства 20 кодирования отдельно используются для реализации соответствующей процедуры способа согласно фиг. 4. Для краткости, детали здесь не описываются.
[0152] Поэтому устройство кодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0153] Как показано на фиг. 7, вариант осуществления настоящего изобретения дополнительно обеспечивает устройство 30 декодирования, включающее в себя процессор 31, память 32 и систему 33 шины. Процессор 31 и память 32 соединены с использованием системы 33 шины, память 32 сконфигурирована, чтобы хранить инструкции, и процессор 31 сконфигурирован, чтобы выполнять инструкции, сохраненные в памяти 32. Память 32 устройства 30 декодирования хранит программный код, и процессор 31 может вызывать программный код, сохраненный в памяти 32, чтобы выполнять следующие операции: получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели; получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.
[0154] Поэтому устройство декодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0155] Должно быть понятно, что в этом варианте осуществления настоящего изобретения, процессор 31 может быть центральным процессором (Central Processing Unit, кратко ʺCPUʺ), и процессор 31 также может быть другим процессором общего назначения, процессором цифровых сигналов (DSP), специализированной интегральной схемой (ASIC), программируемой вентильной матрицей (FPGA) или другим программируемым устройством, устройством дискретной вентильной или транзисторной логики, дискретным аппаратным компонентом и т.п. Процессор общего назначения может представлять собой микропроцессор, или процессор может представлять собой любой подходящий процессор и т.п.
[0156] Память 32 может включать в себя постоянную память и память с произвольным доступом и может обеспечивать инструкции и данные для процессора 31. Часть памяти 32 может дополнительно включать в себя энергонезависимую память с произвольным доступом. Например, память 32 может дополнительно хранить информацию о типе устройства.
[0157] Система 33 шины, в дополнение к шине данных, может дополнительно включать в себя шину питания, шину управления, шину сигнализации статуса и т.п. Однако, для ясности описания, различные типы шин на чертежах все маркированы как система 33 шины.
[0158] Во время реализации, каждый этап вышеупомянутых способов может быть реализован аппаратной интегральной логической схемой в процессоре 31 или инструкцией в форме программного обеспечения. Этапы способов, раскрытых со ссылкой на варианты осуществления настоящего изобретения, могут непосредственно выполняться с использованием аппаратного процессора или могут выполняться с использованием комбинации аппаратных и программных модулей в процессоре. Программный модуль может находиться в готовом практически применяемом носителе хранения данных, таком как память с произвольным доступом, флэш-память, постоянная память, программируемая постоянная память, электрически стираемая программируемая память или регистр. Носитель хранения данных находится в памяти 32, и процессор 31 считывает информацию из памяти 32 и выполняет этапы в вышеупомянутых способах в комбинации с аппаратными средствами процессора 31. Во избежание повторений, детали здесь не описываются повторно.
[0159] Опционально, в варианте осуществления, процессор 31 специально сконфигурирован, чтобы: считывать битовый поток и выполнять синтаксический анализ битового потока, чтобы получать синтаксический элемент, причем синтаксический элемент используется, чтобы определять, использует ли повторно подлежащий обработке блок изображения информацию движения аффинной модели смежного блока. Когда определено, что подлежащий обработке блок изображения повторно использует информацию движения аффинной модели смежного блока, процесс продолжается.
[0160] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, является ли единица предсказания в наборе аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, считывание битового потока и выполнение синтаксического анализа битового потока для получения синтаксического элемента, причем синтаксический элемент используется для указания индексной информации аффинной единицы предсказания движения, которая находится в наборе единиц предсказания-кандидатов и которая используется в качестве репера для подлежащего обработке блока изображения, и определение, в соответствии с индексной информацией, аффинной единицы предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения.
[0161] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы получать информацию положения и информацию движения контрольных точек в аффинной единице предсказания движения, включает в себя: выбор любых трех контрольных точек из четырех контрольных точек в аффинной единице предсказания движения и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров трех контрольных точек или выбор любых двух контрольных точек, которые могут упоминаться как первая и вторая контрольные точки, из четырех контрольных точек в аффинной единице предсказания и получение информации положения, информации вектора движения, направлений предсказания и индексов опорных кадров двух контрольных точек и затем выбор любой контрольной точки, которая может упоминаться как третья контрольная точка, из оставшихся двух контрольных точек и получение информации положения третьей контрольной точки. Информация вектора движения третьей контрольной точки может быть получена в соответствии с первой и второй контрольными точками следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами третьей контрольной точки, равно , и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами первой и второй контрольных точек, и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0162] Поскольку все пиксельные точки в той же самой аффинной единице предсказания движения имеют то же самое направление предсказания и тот же самый индекс опорного кадра, направления предсказания и индексы опорных кадров всех контрольных точек также являются теми же самыми. Третья контрольная точка имеет то же самое направление предсказания и индекс опорного кадра, что и таковые у первой и второй контрольных точек.
[0163] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: назначение направления предсказания и индекса опорного кадра любой одной из контрольных точек пиксельной точке в подлежащем обработке блоке изображения; или синтаксический анализ битового потока для получения информации опорного кадра подлежащего обработке блока изображения, причем информация опорного кадра включает в себя направление предсказания и индекс опорного кадра.
[0164] Опционально, в варианте осуществления, то, что процессор 31 специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения вышеупомянутых трех выбранных контрольных точек, включает в себя: получение, в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек, вектора движения пиксельной точки в подлежащем обработке блоке изображения. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами любых трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0165] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получают в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:
,
,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальным и вертикальным векторами движения.
[0166] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0167] Альтернативно, векторы движения любых двух контрольных точек в подлежащем обработке блоке изображения получают в соответствии с полученной информацией положения и векторами движения любых трех контрольных точек. Это реализуется следующим образом:
,
,
где и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, равно , и и и являются соответствующими горизонтальными и вертикальными векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами трех контрольных точек в аффинной единице предсказания движения, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
[0168] Битовый поток синтаксически анализируется для получения остатка вектора движения двух контрольных точек в подлежащем обработке блоке изображения, и остаток добавляется к полученным векторам движения двух контрольных точек для получения обновленных векторов движения двух контрольных точек в подлежащем обработке блоке изображения.
[0169] Вектор движения пиксельной точки в подлежащем обработке блоке изображения получают в соответствии с полученными векторами движения двух контрольных точек. Это реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами пиксельной точки в подлежащем обработке блоке изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и и являются, соответственно, горизонтальными и вертикальными координатами двух контрольных точек в подлежащем обработке блоке изображения, где равно , и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
[0170] Опционально, в варианте осуществления, процессор 31 специально сконфигурирован, чтобы: выполнять компенсацию движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, для нахождения пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения.
[0171] Должно быть понятно, что устройство 30 декодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответствовать устройству 10 декодирования в варианте осуществления настоящего изобретения и может соответствовать соответствующему основному объекту, который выполняет способ 1000 в варианте осуществления настоящего изобретения. Вышеупомянутые и другие операции и/или функции модулей устройства 30 декодирования отдельно используются для реализации соответствующей процедуры способа на фиг. 1. Для краткости, детали здесь не описываются.
[0172] Поэтому устройство декодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0173] Как показано на фиг. 8, вариант осуществления настоящего изобретения дополнительно обеспечивает устройство кодирования 40, включающее в себя процессор 41, память 42 и систему 43 шины. Процессор 41 и память 42 соединены с использованием системы 43 шины, память 42 сконфигурирована, чтобы хранить инструкции, и процессор 41 сконфигурирован, чтобы выполнять инструкции, сохраненные в памяти 42. Память 42 устройства 40 кодирования хранит программный код, и процессор 41 может вызывать программный код, сохраненный в памяти 42, чтобы выполнять следующие операции: получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели; получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.
[0174] Поэтому устройство кодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0175] Должно быть понятно, что в этом варианте осуществления настоящего изобретения процессор 41 может быть центральным процессором (Central Processing Unit, кратко ʺCPUʺ), и процессор 41 также может быть другим процессором общего назначения, процессором цифровых сигналов (DSP), специализированной интегральной схемой (ASIC), программируемой вентильной матрицей (FPGA) или другим программируемым логическим устройством, устройством дискретной вентильной или транзисторной логики, дискретным аппаратным компонентом и т.п. Процессор общего назначения может представлять собой микропроцессор, или процессор может представлять собой любой подходящий процессор и т.п.
[0176] Память 42 может включать в себя постоянную память и память с произвольным доступом и может предоставлять инструкции и данные для процессора 41. Часть памяти 42 может дополнительно включать в себя энергонезависимую память с произвольным доступом. Например, память 42 может дополнительно хранить информацию о типе устройства.
[0177] Система 43 шины, в дополнение к шине данных, может также включать в себя шину питания, шину управления, шину сигнализации статуса и т.п. Однако, для ясности описания, различные типы шин на чертеже все отмечены как система 43 шины.
[0178] Во время реализации, каждый этап вышеупомянутых способов может быть реализован аппаратной интегральной логической схемой в процессоре 41 или инструкцией в форме программного обеспечения. Этапы способов, раскрытых со ссылкой на варианты осуществления настоящего изобретения, могут непосредственно выполняться с использованием аппаратного процессора или могут выполняться с использованием комбинации аппаратных и программных модулей в процессоре. Программный модуль может находиться в готовом практически применяемом носителе хранения данных, таком как память с произвольным доступом, флэш-память, постоянная память, программируемая постоянная память, электрически стираемая программируемая память или регистр. Носитель хранения данных находится в памяти 42 и процессор 41 считывает информацию из памяти 42 и выполняет этапы в вышеупомянутых способах в комбинации с аппаратными средствами процессора 41. Во избежание повторений, детали здесь не описываются повторно.
[0179] Опционально, в данном варианте осуществления, то, что процессор 41 специально сконфигурирован, чтобы определять аффинную единицу предсказания движения, которая используется в качестве репера для подлежащего обработке блока изображения, включает в себя: определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, проверку, в предварительно установленном порядке, что единица предсказания в наборе является аффинной единицей предсказания движения, и если найдено, что единица предсказания является аффинной единицей предсказания движения, остановку проверки и использование единицы предсказания в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения, или если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа; или определение набора единиц предсказания-кандидатов для подлежащего обработке блока изображения, если ни одна из единиц предсказания-кандидатов не является аффинной единицей предсказания движения, кодирование синтаксического элемента, причем синтаксический элемент используется для указания, что подлежащий обработке блок изображения не использует повторно аффинную информацию предсказания смежного блока, и остановку выполнения последующего этапа; в противном случае, продолжение выполнения последующего этапа и назначение индексного значения каждой единице предсказания-кандидату в наборе единиц предсказания-кандидатов. Единица предсказания-кандидат, представленная каждым индексным значением, предварительно определяется в протоколе сторонами кодирования и декодирования и поддерживается согласованной на сторонах кодирования и декодирования. Выполняется обход всех единиц предсказания-кандидатов в наборе единиц предсказания-кандидатов, чтобы получить предсказанное изображение подлежащего обработке блока изображения и выполнить кодирование для подлежащего обработке блока изображения. Выигрыши кодирования, обеспеченные выбранными векторами предсказания-кандидатами, сравниваются, и единица предсказания-кандидат с наибольшим выигрышем выбирается в качестве аффинной единицы предсказания движения, на которую ссылается подлежащий обработке блок изображения.
[0180] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы получать информацию положения и информацию движения контрольных точек в аффинной единице предсказания движения. Функция модуля является той же самой, что и таковая у процессора 31, и детали не описываются повторно.
[0181] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы получать информацию движения пиксельной точки в блоке изображения в соответствии с информацией положения и информацией движения трех выбранных контрольных точек. Функция модуля является той же самой, что и таковая у процессора 31, и детали не описываются повторно.
[0182] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы выполнять компенсацию движения в соответствии с направлением предсказания, индексом опорного кадра и вектором движения, которые получены, для нахождения значения предсказания пиксельной точки в подлежащем обработке блоке изображения. Предсказанные значения всех пиксельных точек формируют предсказанное изображение подлежащего обработке изображения. Функция модуля является той же самой, что и таковая у процессора 31, и детали не описываются повторно.
[0183] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован чтобы: сравнивать характеристики кодирования, которое выполнено с использованием предсказанного изображения, полученного этим устройством, с характеристиками кодирования, которое выполнено с использованием предсказанного изображения, полученного с использованием другого устройства, и выбирать устройство, посредством которого получен наибольший выигрыш кодирования, в качестве устройства для кодирования предсказанного изображения.
[0184] Опционально, в варианте осуществления, процессор 41 специально сконфигурирован, чтобы: если используется предсказанное изображение, полученное с использованием этого устройства, кодировать синтаксический элемент, причем синтаксический элемент используется для указания, что использован способ для получения предсказанного изображения с использованием этого устройства, и кодировать другой синтаксический элемент, причем этот синтаксический элемент используется для указания индексной информации выбранной единицы предсказания.
[0185] Должно быть понятно, что устройство 40 кодирования в соответствии с данным вариантом осуществления настоящего изобретения может соответствовать устройству 20 кодирования в варианте осуществления настоящего изобретения и может соответствовать соответствующему основному объекту, который выполняет способ 2000 в варианте осуществления настоящего изобретения. Вышеупомянутые и другие операции и/или функции модулей устройства 40 кодирования отдельно используются для реализации соответствующей процедуры способа на фиг. 4. Для краткости, детали здесь не описываются.
[0186] Поэтому устройство кодирования в этом варианте осуществления настоящего изобретения повторно использует информацию движения первой реперной единицы, использующей ту же самую аффинную модель предсказания движения, и поэтому получает более точный вектор движения текущей единицы изображения без кодирования и декодирования разности векторов движения и без дополнительного поиска высокоточного вектора движения. Таким образом, точность предсказания улучшается при сохранении сложности кодирования и декодирования, тем самым улучшаются характеристики кодирования и декодирования.
[0187] Должно быть понятно, что ʺвариант осуществленияʺ или ʺвариант осуществленияʺ, упоминаемый во всей спецификации, означает, что конкретные признаки, структуры, или характеристики, относящиеся к варианту осуществления, включены по меньшей мере в один вариант осуществления настоящего изобретения. Поэтому ʺв варианте осуществленияʺ или ʺв варианте осуществленияʺ, появляющемся на протяжении всей спецификации, не относится к одному и тому же варианту осуществления. Кроме того, эти конкретные признаки, структуры или характеристики могут комбинироваться в одном или нескольких вариантах осуществления с использованием любого подходящего способа.
[0188] Должно быть понятно, что порядковые номера вышеупомянутых процессов не означают последовательности выполнения в различных вариантах осуществления настоящего изобретения. Последовательности выполнения процессов должны определяться в соответствии с функциями и внутренней логикой процессов и не должны толковаться в качестве какого-либо ограничения процессов реализации вариантов осуществления настоящего изобретения.
[0189] Кроме того, термины ʺсистемаʺ и ʺсетьʺ могут использоваться взаимозаменяемым образом в этой спецификации. Должно быть понятно, что термин ʺи/илиʺ в этой спецификации описывает только отношение ассоциации для описания ассоциированных объектов и представляет, что могут существовать три отношения. Например, А и/или B может представлять следующие три случая: существует только А, существуют как А, так и B, и существует только B. Кроме того, символ ʺ/ʺ в этой спецификации обычно обозначает отношение ʺилиʺ между ассоциированными объектами.
[0190] Должно быть понятно, что в вариантах осуществления этой заявки ʺB, соответствующее Aʺ указывает, что B ассоциировано с А, и B может быть определено в соответствии с A. Однако также должно быть понятно, что определение А в соответствии с B не означает, что B определено в соответствии только с А; то есть, B также может быть определено в соответствии с А и/или другой информацией.
[0191] Специалисту в данной области техники должно быть понятно, что в комбинации с примерами, описанными в раскрытых в данной спецификации вариантах осуществления, модули и алгоритмы этапов могут быть реализованы электронными аппаратными средствами, компьютерным программным обеспечением или их комбинацией. Чтобы ясно описать взаимозаменяемость между аппаратными средствами и программным обеспечением, композиции и этапы каждого примера описаны выше в соответствии с функциями. То, выполняются ли функции аппаратными средствами или программным обеспечением, зависит от конкретного применения и конструктивных ограничений технических решений. Специалист в данной области техники может использовать различные способы для реализации описанных функций для каждого конкретного применения, но не должно предполагаться, что такая реализация выходит за пределы объема настоящего изобретения.
[0192] Специалисту в данной области техники должно быть понятно, что для целей удобства и краткости описания, в отношении детального рабочего процесса вышеупомянутой системы, устройства и модуля, можно сослаться на соответствующий процесс в вышеупомянутых вариантах осуществления способа, и детали здесь повторно не описываются.
[0193] В некоторых вариантах осуществления, обеспеченных в этой заявке, очевидно, что раскрытые система, устройство и способ могут быть реализованы иным образом. Например, описанный вариант осуществления устройства является просто примером. Например, разделение на модули является просто разделением на логические функции, и в реальной реализации может быть использовано другое разделение. Например, множество единиц или компонентов может быть скомбинировано или интегрировано в другую систему, или некоторые признаки могут игнорироваться или не выполняться. Кроме того, показанные или описанные взаимные связи или непосредственные связи или коммуникационные соединения могут быть реализованы с использованием некоторых интерфейсов. Опосредованные связи или коммуникационные соединения между устройствами или модулями могут быть реализованы в электронной, механической или другой форме.
[0194] Модули, описанные как отдельные части, могут быть или не быть физически отдельными, и части, изображенные как модули, могут быть или не быть физическими модулями, могут быть расположены в одном местоположении или могут быть распределены на множество сетевых модулей. Некоторые или все модули могут быть выбраны в соответствии с реальными требованиями для достижения целей решений в вариантах осуществления.
[0195] Кроме того, функциональные модули в вариантах осуществления настоящего изобретения могут быть интегрированы в один модуль обработки, или каждый из модулей может существовать отдельно физически, или два или более модулей интегрированы в один модуль.
[0196] Когда интегрированный модуль реализуется в форме программного функционального модуля и продается или используется в качестве независимого продукта, интегрированный модуль может быть сохранен в считываемом компьютером носителе хранения данных. На основе такого понимания, технические решения согласно настоящему изобретению по существу или в части, вносящей вклад в предшествующий уровень техники, или некоторые из технических решений могут быть реализованы в форме программного продукта. Программный продукт сохранен на носителе хранения данных и включает в себя инструкции для инструктирования компьютерного устройства (которое может быть персональным компьютером, сервером или сетевым устройством) выполнять все или некоторые из этапов способов, описанных в вариантах осуществления настоящего изобретения. Вышеупомянутый носитель хранения данных включает в себя: любой носитель, который может хранить программный код, такой как USB флэш-накопитель, съемный жесткий диск, постоянная память (Read-Only Memory, кратко ROM), память с произвольным доступом (Random Access Memory, кратко RAM), магнитный диск или оптический диск.
[0197] Вышеупомянутые описания являются просто конкретными реализациями настоящего изобретения, но не предназначены для ограничения объема защиты настоящего изобретения. Любое изменение или замена, легко осуществляемые специалистом в данной области техники в пределах технического объема, раскрытого в настоящем изобретении, должны находиться в пределах объема охраны настоящего изобретения. Поэтому объем защиты настоящего изобретения должен соответствовать объему охраны, определяемому формулой изобретения.
Положение 1. Способ предсказания изображения, содержащий:
получение первой реперной единицы для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели;
получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и
получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения.
Положение 2. Способ согласно Положению 1, в котором получение первой реперной единицы для единицы изображения содержит:
проверку, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; и
если да, остановку проверки и использование единицы предсказания в качестве первой реперной единицы.
Положение 3. Способ согласно Положению 1, в котором предварительно установленное положение представляет собой положение угловой точки единицы в первой реперной единице.
Положение 4. Способ согласно любому из Положений 1-3, в котором получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит:
получение информации движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице; и
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.
Положение 5. Способ согласно Положению 4, в котором получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице содержит:
назначение того же самого направления предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице;
назначение того же самого индекса опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; и
получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.
Положение 6. Способ согласно Положению 5, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
Положение 7. Способ согласно любому из Положений 1-3, в котором получение информации движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице содержит:
получение информации движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.
Положение 8. Способ согласно Положению 7, в котором получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице содержит:
назначение того же самого направления предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице;
назначение того же самого индекса опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице; и
получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.
Положение 9. Способ согласно Положению 8, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
Положение 10. Устройство предсказания изображения, содержащее:
первый модуль получения, сконфигурированный, чтобы получать первую реперную единицу для единицы изображения, причем соответствующие предсказанные изображения получают для единицы изображения и первой реперной единицы с использованием той же самой аффинной модели;
второй модуль получения, сконфигурированный, чтобы получать информацию движения базовых единиц компенсации движения в двух или более предварительно установленных положениях в первой реперной единице; и
третий модуль получения, сконфигурированный, чтобы получать информацию движения базовой единицы компенсации движения единицы изображения в соответствии с информацией положения и информацией движения.
Положение 11. Устройство согласно Положению 10, в котором первый модуль получения сконфигурирован, чтобы:
проверять, в предварительно установленном порядке, получено ли предсказанное изображение для единицы предсказания, смежной с единицей изображения, с использованием аффинной модели; и
если да, останавливать проверку и использовать единицу предсказания в качестве первой реперной единицы.
Положение 12. Устройство согласно Положению 10, в котором предварительно установленное положение представляет собой положение угловой точки единицы в первой реперной единице.
Положение 13. Устройство согласно любому из Положений 10-12, в котором третий модуль получения сконфигурирован, чтобы:
получать информацию движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице; и
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.
Положение 14. Устройство согласно Положению 13, в котором третий модуль получения дополнительно сконфигурирован, чтобы:
назначать то же самое направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице;
назначать тот же самый индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в трех предварительно установленных положениях в первой реперной единице; и
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице.
Положение 15. Устройство согласно Положению 14, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где в и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, , и и , и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в трех предварительно установленных положениях в первой реперной единице, и , и и , и являются соответствующими горизонтальными и вертикальными векторами движения.
Положение 16. Устройство согласно любому из Положений 10-12, в котором третий модуль получения сконфигурирован, чтобы:
получать информацию движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице; и
соответственно, получение информации движения базовой единицы компенсации движения единицы изображения в соответствии с информацией движения содержит:
получение направления предсказания, индекса опорного кадра и вектора движения базовой единицы компенсации движения единицы изображения в соответствии с направлениями предсказания, индексами опорных кадров и векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.
Положение 17. Устройство согласно Положению 16, в котором третий модуль получения дополнительно сконфигурирован, чтобы:
назначать то же самое направление предсказания базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице;
назначать тот же самый индекс опорного кадра базовой единице компенсации движения единицы изображения и базовым единицам компенсации движения в двух предварительно установленных положениях в первой реперной единице; и
получать вектор движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице.
Положение 18. Устройство согласно Положению 17, в котором получение вектора движения базовой единицы компенсации движения единицы изображения посредством интерполяции в соответствии с векторами движения базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице реализуется следующим образом:
где в и являются, соответственно, горизонтальной и вертикальной координатами базовой единицы компенсации движения единицы изображения, и являются соответствующими горизонтальным и вертикальным векторами движения, и и и являются, соответственно, горизонтальными и вертикальными координатами базовых единиц компенсации движения в двух предварительно установленных положениях в первой реперной единице, и и и и являются соответствующими горизонтальными и вертикальными векторами движения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И УСТРОЙСТВО ПРЕДСКАЗАНИЯ ИЗОБРАЖЕНИЯ | 2021 |
|
RU2808688C2 |
СПОСОБ И УСТРОЙСТВО ПРЕДСКАЗАНИЯ ИЗОБРАЖЕНИЯ | 2015 |
|
RU2714362C2 |
СПОСОБ И УСТРОЙСТВО ПРЕДСКАЗАНИЯ ИЗОБРАЖЕНИЯ | 2015 |
|
RU2693904C1 |
Способ и устройство для видеокодирования | 2020 |
|
RU2789146C1 |
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ | 2019 |
|
RU2752009C1 |
ВЫВЕДЕНИЕ ВЕКТОРА ДВИЖЕНИЯ ПРИ ВИДЕОКОДИРОВАНИИ | 2016 |
|
RU2742298C2 |
ПРЕДСКАЗАНИЕ ВЕКТОРА ДВИЖЕНИЯ ДЛЯ АФФИННЫХ МОДЕЛЕЙ ДВИЖЕНИЯ В КОДИРОВАНИИ ВИДЕО | 2017 |
|
RU2718225C1 |
ВЫВОД ИНФОРМАЦИИ ДВИЖЕНИЯ ДЛЯ ПОДБЛОКОВ ПРИ ВИДЕОКОДИРОВАНИИ | 2016 |
|
RU2705428C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ИНТЕРПРЕДСКАЗАНИЯ | 2020 |
|
RU2778099C1 |
СПОСОБ И УСТРОЙСТВО ПРЕДСКАЗАНИЯ ИЗОБРАЖЕНИЙ | 2016 |
|
RU2697726C1 |
Изобретение относится к средствам для кодирования изображений. Технический результат заключается в повышении эффективности кодирования изображений. Определяют потенциально подходящий аффинный блок, причем потенциально подходящий аффинный блок представляет собой аффинно-кодированный блок, который является пространственно соседним по отношению к текущему блоку изображения. Получают предикторы векторов движения по меньшей мере двух контрольных точек текущего блока изображения в соответствии с векторами движения по меньшей мере двух контрольных точек потенциально подходящего аффинного блока. Получают из битового потока разности векторов движения этих по меньшей мере двух контрольных точек текущего блока изображения. Получают векторы движения этих по меньшей мере двух контрольных точек текущего блока изображения. Получают вектор движения каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения в соответствии с векторами движения упомянутых контрольных точек текущего блока изображения. 3 н. и 9 з.п. ф-лы, 8 ил.
1. Способ внутреннего предсказания текущего блока изображения для использования в декодировании изображения, при этом способ содержит этапы, на которых:
определяют посредством декодера изображений потенциально подходящий аффинный блок, причем потенциально подходящий аффинный блок представляет собой аффинно-кодированный блок, который является пространственно соседним по отношению к текущему блоку изображения;
получают предикторы векторов движения (MVP) по меньшей мере двух контрольных точек текущего блока изображения в соответствии с векторами движения по меньшей мере двух контрольных точек потенциально подходящего аффинного блока;
получают из битового потока разности векторов движения (MVD) этих по меньшей мере двух контрольных точек текущего блока изображения;
получают на основе предикторов векторов движения (MVP) по меньшей мере двух контрольных точек текущего блока изображения и разностей векторов движения (MVD) по меньшей мере двух контрольных точек текущего блока изображения векторы движения (MV) этих по меньшей мере двух контрольных точек текущего блока изображения;
получают вектор движения каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения в соответствии с векторами движения (MV) упомянутых по меньшей мере двух контрольных точек текущего блока изображения; и
получают, основываясь на векторе движения каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения, предсказанные значения текущего блока изображения.
2. Способ по п.1, в котором упомянутое получение, основываясь на векторе движения каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения, предсказанных значений текущего блока изображения содержит этапы, на которых:
получают предсказанные значения каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения посредством компенсации движения в соответствии с информацией опорного кадра текущего блока изображения и вектором движения каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения; и
получают предсказанные значения текущего блока изображения на основе предсказанных значений каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения.
3. Способ по п.2, в котором информация опорного кадра текущего блока изображения получается из битового потока посредством синтаксического анализа.
4. Способ по любому одному из пп.1-3, в котором MVP упомянутых по меньшей мере двух контрольных точек текущего блока изображения соответствуют потенциально подходящему аффинному блоку или индексу, включенному в битовый поток.
5. Способ по любому одному из пп.1-4, в котором упомянутое получение предикторов векторов движения (MVP) по меньшей мере двух контрольных точек текущего блока изображения в соответствии с векторами движения по меньшей мере двух контрольных точек потенциально подходящего аффинного блока содержит этапы, на которых:
получают предикторы векторов движения (MVP) по меньшей мере двух контрольных точек текущего блока изображения в соответствии с векторами движения трех контрольных точек потенциально подходящего аффинного блока, когда шестипараметрическая аффинная модель используется для текущего блока изображения; или
получают предикторы векторов движения (MVP) по меньшей мере двух контрольных точек текущего блока изображения в соответствии с векторами движения двух контрольных точек потенциально подходящего аффинного блока, когда четырехпараметрическая аффинная модель используется для текущего блока изображения.
6. Способ по любому одному из пп.1-4, в котором упомянутое получение предикторов векторов движения (MVP) по меньшей мере двух контрольных точек текущего блока изображения в соответствии с векторами движения по меньшей мере двух контрольных точек потенциально подходящего аффинного блока содержит этап, на котором получают предикторы векторов движения (MVP) по меньшей мере двух контрольных точек текущего блока изображения в соответствии с векторами движения по меньшей мере двух контрольных точек потенциально подходящего аффинного блока и по меньшей мере одним из ширины и высоты потенциально подходящего аффинного блока.
7. Способ по п.6, в котором упомянутая по меньшей мере одна из ширины и высоты потенциально подходящего аффинного блока связана с координатами положений упомянутых по меньшей мере двух контрольных точек потенциально подходящего аффинного блока.
8. Способ по любому одному из пп.1-7, в котором потенциально подходящий аффинный блок представляет собой прямоугольный блок, и контрольные точки потенциально подходящего аффинного блока содержат две или более из: верхней левой угловой точки, верхней правой угловой точки, нижней левой угловой точки и нижней правой угловой точки потенциально подходящего аффинного блока.
9. Способ по любому одному из пп.1-8, в котором текущий блок изображения представляет собой прямоугольный блок, и контрольные точки текущего блока изображения содержат две или более из: верхней левой угловой точки, верхней правой угловой точки, нижней левой угловой точки и нижней правой угловой точки текущего блока изображения.
10. Способ по любому одному из пп.1-9, в котором упомянутое получение вектора движения каждой пиксельной точки или каждой пиксельной матрицы текущего блока изображения в соответствии с векторами движения по меньшей мере двух контрольных точек текущего блока изображения содержит этап, на котором получают вектор движения каждой пиксельной точки текущего блока изображения в соответствии с векторами движения двух контрольных точек текущего блока изображения:
,
где и представляют, соответственно, горизонтальную и вертикальную координаты пиксельной точки в текущем блоке изображения, и представляют соответствующие горизонтальный и вертикальный векторы движения пиксельной точки в блоке изображения, и и и представляют, соответственно, горизонтальные и вертикальные координаты двух контрольных точек в текущем блоке изображения, а и и и представляют соответствующие горизонтальные и вертикальные векторы движения двух контрольных точек в текущем блоке изображения.
11. Декодер, характеризуемый тем, что содержит схемы обработки для выполнения способа по любому одному из пп.1-10.
12. Долговременный машиночитаемый носитель информации, на котором сохранены компьютерные инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам выполнять способ по любому одному из пп.1-10.
Способ приготовления лака | 1924 |
|
SU2011A1 |
US 8693540 B2, 08.04.2014 | |||
Топчак-трактор для канатной вспашки | 1923 |
|
SU2002A1 |
CN 104363451 A, 18.02.2015 | |||
CN 101771878 B, 25.05.2011 | |||
СПОСОБ ФОРМИРОВАНИЯ СОСТАВНОГО ИЗОБРАЖЕНИЯ | 2009 |
|
RU2421814C2 |
Авторы
Даты
2023-12-14—Публикация
2021-06-24—Подача