МЕЖКАДРОВОЕ ПРЕДСКАЗАНИЕ ПРИ ЭКСПОНЕНЦИАЛЬНОМ РАЗДЕЛЕНИИ Российский патент 2024 года по МПК H04N19/119 H04N19/513 H04N19/176 H04N19/52 

Описание патента на изобретение RU2829207C2

Область техники, к которой относится изобретение

Настоящее изобретение относится в целом к области сжатия видео. В частности, настоящее изобретение направлено на межкадровое предсказание при экспоненциальном разделении.

Уровень техники

Видеокодек может включать в себя электронную схему или программное обеспечение, которое сжимает или распаковывает цифровое видео. Он может конвертировать несжатое видео в сжатый формат и наоборот. В контексте сжатия видео, устройство, которое сжимает видео (и/или выполняет некоторые его функции), как правило, может называться кодером, и устройство, которое распаковывает видео (и/или выполняет некоторые его функции), может называться декодером.

Формат сжатых данных может соответствовать стандартной спецификации сжатия видео. Сжатие может быть с потерями в том смысле, что в сжатом видео отсутствует некоторая информация, присутствующая в исходном видео. Следствием этого может быть то, что распакованное видео может иметь более низкое качество, чем исходное несжатое видео, так как для недостаточно информации точного восстановления исходного видео.

Cложные взаимосвязи могут существовать между качеством видео, объемом данных, используемых для представления видео (например, который определяется скоростью передачи данных), сложностью алгоритмов кодирования и декодирования, чувствительностью к потерям и ошибкам данных, простотой редактирования, произвольным доступом, сквозной задержкой (например, запаздыванием) и т.п.

Раскрытие сущности изобретения

В одном аспекте декодер включает в себя схему, выполненную с возможностью приема битового потока, разделения текущего блока с использованием режима экспоненциального разделения на первую область и вторую область, определения вектора движения, ассоциированного с областью из первой области или второй области, где определение включает в себя формирование списка кандидатов и декодирование текущего блока с использованием определенного вектора движения.

В другом аспекте способ включает в себя прием, декодером, битового потока, разделение, декодером, текущего блока с использованием режима экспоненциального разделения на первую область и вторую область, определение декодером движения вектор, ассоциированный с областью первой области или второй области, определение включает в себя формирование списка кандидатов, и декодирование, декодером, текущего блока с использованием определенного вектора движения.

Подробности одного или нескольких вариантов предмета изобретения, описанного в данном документе, изложены ниже на сопроводительных чертежах и в описании. Другие признаки и преимущества объекта изобретения, описанного в данном документе, будут очевидны из описания и чертежей и из формулы изобретения.

Краткое описание чертежей

В целях иллюстрации изобретения на чертежах показаны аспекты одного или нескольких вариантов осуществления изобретения. Однако следует понимать, что настоящее изобретение не ограничивается точными компоновками и инструментами, показанными на чертежах, на которых:

фиг. 1 – схема, иллюстрирующая пример блочного разделения пикселей;

фиг. 2 – схема, иллюстрирующая пример геометрического разделения;

фиг. 3 – изображение, содержащее яблоко, которое не может быть эффективно разделено криволинейными сегментами;

фиг. 4A – схема, иллюстрирующая пример экспоненциального разделения согласно некоторым аспектам текущего предмета изобретения, которое позволяет повысить эффективность сжатия;

фиг. 4B – ряд схем, иллюстрирующих примерные шаблонные экспоненциальные разделы;

фиг. 4C – примерные кривые, ассоциированные с 4 заданными коэффициентами, которые могут определять примерную экспоненциальную функцию;

фиг. 4D – другой примерный блок, показывающий разные начальные индексы P1 и конечные P2, которые разделяют прямоугольный блок;

фиг. 5 – схема, иллюстрирующая примерные позиции потенциальных кандидатов вектора движения по отношению к примерному текущему блоку, разделенному в соответствии с экспоненциальным разделением;

фиг. 6 иллюстрирует фиг. 5 с аннотацией, показывающей местоположения яркости, в том числе крайнее левое верхнее местоположение яркости первой области и крайнее верхнее правое местоположение яркости второй области;

фиг. 7 – схема, иллюстрирующая позиции потенциальных кандидатов вектора движения относительно примерного текущего блока, разделенного в соответствии с экспоненциальным разделением;

фиг. 8 иллюстрирует фиг. 7 с аннотацией, показывающей местоположения яркости, в том числе крайнее левое нижнее местоположение яркости второй области и крайнее правое верхнее местоположение яркости второй области;

фиг. 9 – блок-схема системы, иллюстрирующая пример видеокодера, выполненного с возможностью кодирования видео с использованием межкадрового предсказания с экспоненциальным разделением;

фиг. 10 – пример разделения кадра QTBT;

фиг. 11 – пример экспоненциального разделения на уровне CU QTBT, показанного на фиг. 8;

фиг. 12 – блок-схема последовательности операций процесса, иллюстрирующая примерный процесс кодирования видео с экспоненциальным разделением и межкадровым предсказанием согласно некоторым аспектам текущего предмета изобретения, который позволяет снизить сложность кодирования при одновременном повышении эффективности сжатия;

фиг. 13 – блок-схема системы, иллюстрирующая примерный декодер, выполненный с возможностью декодирования битового потока с использованием экспоненциального разделения и межкадрового предсказания согласно некоторым аспектам текущего предмета изобретения;

фиг. 14 – блок-схема последовательности операций процесса, иллюстрирующая примерный процесс декодирования битового потока с использованием экспоненциального разделения и межкадрового предсказания согласно некоторым аспектам текущего предмета изобретения; и

фиг. 15 – блок-схема вычислительной системы, которая может использоваться для реализации любой одной или нескольких методологий, раскрытых в данном документе и любой одной или нескольких их частей.

Чертежи необязательно выполнены в масштабе, и возможны иллюстрации с использованием пунктирных линий, схематичных представлений и фрагментарных видов. В некоторых случаях могут быть опущены детали, которые не являются необходимыми для понимания вариантов осуществления или которые затрудняют восприятие других деталей. Одинаковые ссылочные позиции на различных чертежах обозначают одинаковые элементы.

Осуществление изобретения

Некоторые реализации настоящего предмета изобретения включают в себя выполнение межкадрового предсказания с непрямоугольными областями, которые были разделены кривой, при этом кривая быть или не может быть прямой линией. Выполнение межкадрового предсказания с непрямоугольными блоками, которые были разделены кривой, позволяет провести разделение, которое будет более точно следовать за границами объекта, что приведет к более низкой ошибке предсказания компенсации движения, меньшим остаткам и, таким образом, к повышению эффективности сжатия. Во время межкадрового предсказания компенсация движения может выполняться с использованием векторов движения, предсказанных для блоков (например, единиц кодирования, единиц предсказания и т.п.), определенных согласно режиму экспоненциального разделения. Векторы движения могут быть предсказаны с использованием улучшенного предсказания вектора движения (AMVP) и/или с использованием режима слияния, где вектор движения выбирается из списка кандидатов вектора движения без кодирования разности векторов движения.

При экспоненциальном разделении прямоугольный блок может быть разделен на непрямоугольные области кривой, которая может включать в себя прямолинейный сегмент в случае геометрического разделения, или может быть, в более общем случае, кривой, которая не является прямой линией. Использование кривой, которая не является прямой линией для разделения блоков, позволить провести разделение, которое будет более точно следовать за границами объекта, что приведет к более низкой ошибке предсказания компенсации движения, меньшим остаткам и, таким образом, к повышению эффективности сжатия. В некоторых реализациях кривая может характеризоваться экспоненциальной функцией. Кривая (например, экспоненциальная функция) может быть определена с использованием заданных коэффициентов, которые могут быть просигнализированы в битовом потоке для использования декодером. В некоторых реализациях экспоненциальное разделение может быть доступно для выборок яркости, превышающих или равных размеру 8×8. Посредством разделения прямоугольных блоков кривой текущий объект позволяет достичь большей эффективности сжатия для определенных объектов, чем технологии, ограниченные разделением на прямолинейные сегменты, например, с использованием геометрического разделения.

Компенсация движения может включать в себя подход к предсказанию видеокадра или его части с учетом предыдущих и/или будущих кадров путем учета движения камеры и/или объектов в видео. Компенсация движения может использоваться при кодировании и декодировании видеоданных для сжатия видео, например, при кодировании и декодировании с использованием стандарта экспертной группы по вопросам движущегося изображения (MPEG)-2 (также называемого усовершенствованным кодированием видео (AVC)). Компенсация движения позволяет описать картинку в терминах преобразования контрольной картинки в текущую картинку. Контрольная картинка может быть предыдущей или будущей во времени картинкой по сравнению с текущей картинкой. Когда изображения могут быть точно синтезированы из ранее переданных и/или сохраненных изображений, эффективность сжатия может быть повышена.

Блочное разделение может относиться к способу кодирования видео для нахождения областей схожего движения. Некоторую форму разделения блоков можно найти в стандартах видеокодеков, включая MPEG-2, H.264 (также называемый AVC или MPEG-4 часть 10) и H.265 (также называемый высокоэффективным кодированием видео (HEVC)). В примерных подходах к разделению блоков неперекрывающиеся блоки видеокадра могут быть разделены на прямоугольные подблоки для нахождения разделений блоков, которые содержат пиксели с аналогичным движением. Этот подход может хорошо работать тогда, когда все пиксели разделения блока имеют схожее движение. Движение пикселей в блоке может определяться относительно ранее кодированных кадров.

На фиг. 1 показана схема, иллюстрирующая пример блочного разделения пикселей. Исходная прямоугольная картинка или блок 100, который сам может быть подблоком (например, узлом в дереве кодирования), может быть разделен на прямоугольные подблоки. Например, на этапе 110 блок 100 разделяется на два прямоугольных подблока 110a и 110b. Затем подблоки 110a и 110b могут обрабатываться по отдельности. В качестве другого примера, на этапе 120 блок 100 разделяется на четыре прямоугольных подблока 120a, 120b, 120c и 120d. Сами подблоки можно дополнительно разделять до тех пор, пока не будет определено, что пиксели внутри подблоков разделяют одно и то же движение, не будет достигнут минимальный размер блока или другие критерии. Когда пиксели в подблоке имеют аналогичное движение, вектор движения может описывать движение всех пикселей в этой области.

По-прежнему со ссылкой на фиг. 1, некоторые подходы к кодированию видео могут включать в себя геометрическое разделение, которое может быть формой экспоненциального разделения, в котором прямоугольный блок (например, как показано на фиг. 1) дополнительно разделен прямолинейным сегментом на две области, которые могут быть непрямоугольными. Например, на фиг. 2 показана схема, иллюстрирующая пример геометрического разделения. Примерный прямоугольный блок 200 (который может иметь ширину M пикселей и высоту N пикселей, обозначенные как M×N пикселей) может быть разделен вдоль прямолинейного сегмента P1P2 205 на две области (область 0 и область 1). Когда пиксели в области 0 имеют аналогичное движение, вектор движения может описывать движение всех пикселей в этой области. Вектор движения может использоваться для сжатия области 0. Аналогичным образом, когда пиксели в области 1 имеют аналогичное движение, ассоциированный вектор движения может описывать движение пикселей в области 1. Такое геометрическое разбиение может быть просигнализировано в приемник (например, декодер) путем кодирования позиций P1 и P2 (или представлений позиций P1 и P2) в битовом потоке видео.

По-прежнему со ссылкой на фиг. 2, при кодировании видеоданных с использованием геометрического разделения может быть определен прямолинейный сегмент 205 (или, более конкретно, точки P1 и P2). Однако прямолинейный сегмент может не иметь возможности разделить блок таким образом, чтобы отражать границы объекта. В результате, разделение прямолинейными сегментами может не иметь возможности обеспечить эффективное разделение блока (например, таким образом, чтобы любой результирующий остаток был маленьким). Это может быть верно в тех случаях, когда блок может содержать пиксели (например, выборки яркости), представляющие объект или границу, имеющую кривую (например, непрямую) границу. Например, на фиг. 3 показан примерный вариант осуществления изображения, содержащего яблоко, которое не может быть эффективно разделено прямолинейными сегментами, причем изображение яблока, как показано, включает в себя несколько прямоугольных блоков, указывающих фрагменты изображения, при этом, если они разделены с использованием прямолинейного сегмента в соответствии с геометрическим разделением, разделение может не точно следовать за границей объекта (например, яблока), которая, как показано на фиг. 3, является кривой.

На фиг. 4A показана схема, иллюстрирующая неограничивающий пример экспоненциального разделения с использованием нелинейной кривой, определенной для целей настоящего раскрытия как кривая, которая не является прямой линией, согласно некоторым аспектам настоящего предмета изобретения, что позволяет повысить эффективность сжатия. Прямоугольный блок 400 может включать в себя пиксели (например, выборки яркости). Прямоугольный блок 400 может иметь, в качестве неограничивающего примера, предоставленного только для иллюстративных целей, пиксели размером 8×8 (например, выборки яркости) или более.

На фиг. 4A прямоугольный блок 400 может быть разделен на две или более областей, показанных для иллюстративных целей на фиг. 4A как область 0 и область 1, обозначенные поз. 410 и поз. 415, соответственно, кривой линией 405. Все выборки яркости в каждой определенной таким образом области могут рассматриваться как имеющие одинаковое или аналогичное движение и, таким образом, быть могут представлены с использованием одного и того же вектора движения. Чтобы проиллюстрировать примерные цели, можно считать, что все выборки яркости в области 410 имеют одинаковое или аналогичное движение и могут быть представлены одним и тем же вектором движения. Аналогичным образом, можно считать, что все выборки яркости в области 415 имеют одинаковое или аналогичное движение и могут быть представлены одним и тем же вектором движения. Как будет описано более подробно ниже, соответствующие векторы движения могут определяться в соответствии с режимом AMVP или режимом слияния. В некоторых реализациях и для целей обсуждения все выборки яркости слева или выше криволинейного сегмента 405, разделяющего прямоугольный блок 400, могут считаться принадлежащими области 0 (410). В некоторых реализациях все выборки яркости справа или ниже криволинейного сегмента 405, разделяющего прямоугольный блок 400, могут считаться принадлежащими области 1 (415). В некоторых реализациях все выборки яркости, через которые проходит криволинейный сегмент, разделяющий прямоугольный блок 400 (то есть выборки яркости на прямолинейном сегменте и/или пересекаемые им), принадлежат области 0 (410). В некоторых реализациях все выборки яркости, через которые проходит криволинейный сегмент, разделяющий прямоугольный блок 400, могут считаться принадлежащими области 1 (415). Возможны и другие реализации, что будет очевидно специалистам в данной области техники после ознакомления с настоящим раскрытием в целом.

По-прежнему со ссылкой на фиг. 4A, экспоненциальное разделение может быть представлено в битовом потоке. В некоторых реализациях может использоваться режим экспоненциального разделения, и соответствующие параметры могут передаваться в битовом потоке. Например, экспоненциальное разделение может быть представлено в битовом потоке посредством сигнализации заданных шаблонов экспоненциального разделения. На фиг. 4B показан ряд схем, иллюстрирующих неограничивающие примеры шаблонных разделов 420-435. В некоторых реализациях сигнализация может выполняться путем включения индекса в один или несколько из этих регулярных (например, шаблонных) экспоненциальных разделов, которые были заданы. Эти регулярные экспоненциальные разделения могут указывать набор заданных ориентаций. Например, на фиг. 4C показаны неограничивающие примеры кривых, ассоциированных с 4-мя заданными шаблонами (1, 2, 3, 4). В некоторых реализациях количество изгибов шаблона может варьироваться.

По-прежнему со ссылкой на фиг. 4B и в качестве другого неограничивающего примера, экспоненциальные разделы могут быть представлены в битовом потоке посредством сигнализации заданных коэффициентов, таких как коэффициенты экспоненциальных функций, которые указывают степень кривизны, которая может допускать дополнительные экспоненциальные функции.

В некоторых реализациях, по-прежнему со ссылкой на фиг. 4B, заданный шаблон из множества шаблонов 420-435, используемых в режиме экспоненциального разделения, может указывать прямолинейный сегмент. Например, на фиг. 4С сегмент, индексированный коэффициентом 1, представляет собой прямую линию, которую можно рассматривать как частный случай экспоненциального разделения, то есть геометрического разделения, которое описано выше.

В некоторых реализациях оба шаблона ориентации, которые показаны, например, на фиг. 4B, и заданные шаблоны, которые показаны, например, на фиг. 4C, могут использоваться для эффективной сигнализации любого экспоненциального шаблона большого количества потенциальных экспоненциальных разделов; например, шаблоны могут предоставлять опции 440 кривой, включая, без ограничения, прямолинейный сегмент 1 и/или одну или более нелинейных кривых 2-4, которые могут включать в себя экспоненциальные кривые, каждая из которых может быть выбрана кодером, пользователем и/или с помощью автоматизированного процесса создания раздела, как описано в настоящем раскрытии.

В некоторых реализациях, по-прежнему со ссылкой на фиг. 4A, индексы начальной точки и конечной точки могут быть заданы заранее. Например, на фиг. 4A показан примерный криволинейный сегмент, начинающийся в нижнем левом углу прямоугольного блока 400 и заканчивающийся в верхнем правом углу прямоугольного блока 400. Такие заданные индексы начальной точки и конечной точки могут быть сохранены в памяти декодера. Альтернативно или дополнительно, в некоторых реализациях, индексы начальной точки и конечной точки могут явным образом сигнализироваться в битовом потоке. Например, на фиг. 4D представлен другой примерный блок, показывающий разные индексы начальной точки P1 и конечной точки P2, которые разделяют прямоугольный блок 400. Индексы начальной точки P1 и конечной точки P2 могут сигнализироваться напрямую или могут указываться индексом в наборе заданных значений. Возможны и другие параметры, которые будут понятны специалистам в данной области техники после ознакомления с настоящим раскрытием в целом.

По-прежнему со ссылкой на фиг. 4A, межкадровое предсказание может выполняться с использованием областей, которые были разделены экспоненциально. Векторы движения для компенсации движения могут быть получены с использованием AMVP или режима слияния. В режиме AMVP предсказание вектора движения может быть выполнено путем сигнализации индекса в список кандидатов вектора движения, и разность векторов движения (например, остаток) может быть закодирована и включена в битовый поток. В режиме слияния вектор движения выбирается из списка кандидатов вектора движения без кодирования разности векторов движения, тем самым позволяя текущему блоку принимать информацию движения другого ранее декодированного блока. Как в режиме AMVP, так и в режиме слияния список кандидатов может быть сформирован как кодером, так и декодером, и индекс в списке кандидатов может быть просигнализирован в битовом потоке.

На фиг. 5 показана схема, иллюстрирующая неограничивающие примеры местоположений потенциальных кандидатов вектора пространственного движения относительно примерного текущего блока 1100, разделенного в соответствии с экспоненциальным разделением. Потенциальные кандидаты векторов пространственного движения могут рассматриваться для формирования списка кандидатов векторов движения в режиме AMVP или режиме слияния. В качестве неограничивающего примера, текущий блок 1100 может быть разделен на две области, область S0 и область S1, кривой между точками P0 и P1. Каждая из области S0 и области S1 может быть предсказана в одном или двух направлениях. Пространственные кандидаты для первой области (область S0) показаны для иллюстративных целей на фиг. 5 и могут включать в себя, без ограничения, нижний левый кандидат A0, левый кандидат A1, верхний левый кандидат B2, верхний кандидат B1 и верхний правый кандидат B0.

Как показано на фиг. 5, и в некоторых реализациях каждое местоположение (A0, A1, B2, B1 и B0) может представлять блок в соответствующем местоположении. Например, и без ограничения, левый верхний кандидат B2 может представлять блок, который находится в местоположении, которое находится непосредственно слева и непосредственно над областью S0; например, если местоположение яркости верхнего левого угла S0 равно (0, 0), то верхний левый кандидат может находиться в местоположении (-1, -1). Нижний левый кандидат A0 может располагаться непосредственно слева и ниже от P1; например, и без ограничения, если местоположением яркости P1 является (P1x, P1y), нижний левый кандидат A0 может находиться в местоположении (P1x-1, P1y+1). Левый кандидат A1 может располагаться непосредственно слева от P1; например, левый кандидат A1 может постоянно находиться в местоположении (P1x-1, P1y). Верхний кандидат B1 может быть расположен непосредственно над P0; или, например, если местоположением яркости P0 является (P0x, P0y), верхний кандидат B1 расположен в (P0x, P0y-1). Правый верхний кандидат B0 может быть расположен непосредственно над самым верхним и крайним правым местоположением яркости во второй области S1; или, например, если верхний правый угол S1 расположен в (S0_width+S1_width-1, 0), то правый верхний кандидат B0 может быть расположен в (S0_width+S1_width-1, -1), где M = S0_width+S1_width. Возможны и другие местоположения, как будет понятно специалистам в данной области техники после ознакомления настоящего раскрытия в целом. Фиг. 6 иллюстрирует фиг. 5 с аннотацией, показывающей местоположения яркости, в том числе крайнее левое верхнее местоположение яркости первой области S0 и крайнее верхнее правое местоположение яркости второй области S1.

В некоторых реализациях, по-прежнему со ссылкой на фиг. 6, при формировании списка кандидатов для области S0 некоторые из потенциальных кандидатов могут быть автоматически помечены как недоступные и удалены из списка, так как при экспоненциальном разделении такое разделение может выполняться для разделения областей (или объектов) в кадре, которые имеют разную информацию движения. Соответственно, можно сделать вывод, что блоки, ассоциированные с этими кандидатами, вероятно, представляют другой объект с другим движением, и поэтому эти кандидаты могут быть автоматически помечены как недоступные (например, дополнительно нерассмотренные, удаленные из списка и т.п.). В качестве неограничивающего примера и как показано выше на фиг. 5, для области S0 нижний левый кандидат A0 может быть автоматически помечен как недоступный, так как вполне вероятно, что область S0 совместно не использует информацию движения с блоком, расположенным в нижнем левом кандидате A0. Аналогичным образом, для области S0 верхний правый кандидат B0 может быть автоматически помечен как недоступный, так как вполне вероятно, что область S0 совместно не использует информацию движения с блоком, расположенным в верхнем правом кандидате B0.

На фиг. 7 показана схема, иллюстрирующая неограничивающие примеры местоположений потенциальных кандидатов вектора движения относительно примерного текущего блока 1400, разделенного в соответствии с экспоненциальным разделением. Возможные кандидаты вектора движения могут быть рассмотрены для формирования списка кандидатов в режиме AMVP или режиме слияния. Текущий блок 1400 мог быть разделен на две области, область S0 и область S1, кривой между точками P0 и P1. Каждая из области S0 и области S1 может быть предсказана в одном или двух направлениях. Кандидаты для второй область (области S1) показаны на фиг. 7 и могут включать в себя нижний левый кандидат A0, левый кандидата A1, верхний левый кандидат B2, верхний кандидат B1 и верхний правый кандидат B0.

Как показано на фиг. 7, каждое местоположение (A0, A1, B2, B1 и B0) может представлять блок в соответствующем местоположении. Например, левый верхний кандидат B2 может быть блоком, который находится в местоположении яркости, которое находится непосредственно слева и непосредственно над областью S1; например, если местоположение яркости в верхнем левом углу S1 находится рядом с P0 с координатами местоположения яркости (P0x+1, P0y), то верхний левый кандидат B2 может находиться в местоположении (P0x, P0y-1). Нижний левый кандидат A0 может быть расположен непосредственно слева и ниже самого нижнего левого местоположения яркости S1; например, если самым левым нижним местоположением яркости S1 является местоположение яркости (0, S0_height+S1_height-1), нижний левый кандидат A0 может находиться в местоположении (-1, S0_height+S1_height), где N = S0_height+S1_height. Левый кандидат A1 может быть расположен непосредственно слева от самого нижнего левого местоположения яркости S1 (например, нижнего левого угла S1); например, если крайнее левое нижнее местоположение яркости S1 является местоположением яркости (0, S0_height+S1_height-1), левый кандидат A1 может находиться в местоположении яркости (-1, S0_height+1_height-1). Верхний кандидат B1 может быть расположен непосредственно над самым правым верхним местоположением яркости S1; например, если крайнее правое верхнее местоположением яркости S1 является (S0_width+S1_width-1, 0), то верхний кандидат B1 может быть расположен в (S0_width+S1_width-1, -1), где M = S0_width+S1_width. Правый верхний кандидат B0 может быть расположен непосредственно выше и справа от самого правого верхнего местоположения яркости второй области S1; например, если крайнее правое верхнее местоположение яркости S1 (например, верхний правый угол) расположено в (S0_width+S1_width-1, 0), то правый верхний кандидат B0 может быть расположен в (S0_width+S1_width, -1). Фиг. 8 иллюстрирует фиг. 7 с аннотацией, показывающей местоположения яркости, в том числе крайнее левое нижнее местоположение яркости второй области S1 и крайнее правое верхнее местоположение яркости второй области S1.

В некоторых реализациях, по-прежнему со ссылкой на фиг. 8, при формировании списка кандидатов для области S1 некоторые потенциальные кандидаты могут быть автоматически помечены как недоступные и удалены из списка, так как при экспоненциальном разделении такое разделение может выполняться для разделения на области (или объекты) в кадре, которые имеют различную информацию движения. Соответственно, можно сделать вывод, что блоки, ассоциированные с этими кандидатами, вероятно, представляют другой объект с другим движением, и поэтому эти кандидаты могут быть автоматически помечены как недоступные (например, как дополнительно нерассмотренные, удаленные из списка и т.п.). В примере, показанном на фиг. 7, для области S1 верхний левый кандидат B2 может быть автоматически помечен как недоступный, так как вполне вероятно, что область S1 не разделяет информацию движения с блоком, расположенным в верхнем левом кандидате B2.

На фиг. 9 показана блок-схема системы, иллюстрирующая неограничивающий пример видеокодера 900, выполненного с возможностью кодирования видео с использованием межкадрового предсказания с экспоненциальным разделением. Примерный видеокодер 900 принимает входное видео 905, которое может быть изначально сегментировано или разделено в соответствии со схемой обработки, такой как схема разделения блоков кодирования со структурой дерева (например, квадродерево плюс двоичное дерево (QTBT)). Пример схемы разделения блока кодирования со структурой дерева может включать в себя разделение кадра картинка на большие блочные элементы, называемые единицами дерева кодирования (CTU). В некоторых реализациях каждая CTU может быть дополнительно разделен один или несколько раз на ряд подблоков, называемых единицами кодирования (CU). Конечный результат этого разделения может включать в себя группу подблоков, которые могут назваться единицами предсказания (PU). Кроме того, могут также использоваться единицы преобразования (TU). Такая схема разделения может включать в себя выполнение экспоненциального разделения согласно некоторым аспектам настоящего предмета изобретения. На фиг. 8 показан пример QTBT-разделения кадра, и на фиг. 11 показан пример экспоненциального разделения на уровне CU QTBT, показанного на фиг. 8.

По-прежнему со ссылкой на фиг. 9, примерный видеокодер 900 может включать в себя процессор 915 внутрикадрового предсказания, процессор 920 оценки/компенсации движения (также называемый процессором межкадрового предсказания), выполненный с возможностью поддержания экспоненциального разделения, в том числе режим AMVP и режим слияния, процессор 925 преобразования/квантования, процессор 930 обратного квантования/обратного преобразования, внутриконтурный фильтр 935, буфер 940 декодированных картинок и процессор 945 энтропийного кодирования. В некоторых реализациях процессор 920 оценки/компенсации движения может выполнять межкадровое предсказание с использованием экспоненциального разделения, включая использование режима AMVP и режима слияния. Параметры битового потока, которые сигнализируют режимы экспоненциального разделения, режим AMVP и режим слияния, могут вводиться в процессор 945 энтропийного кодирования для включения в выходной битовый поток 950.

В процессе работы, по-прежнему со ссылкой на фиг. 9, для каждого блока кадра входного видео 905 может быть определено то, обрабатывать ли блок с помощью внутрикадрового предсказания изображения или с использованием оценки/компенсации движения. Блок может быть предоставлен в процессор 910 внутрикадрового предсказания или процессор 920 оценки/компенсации движения. Если блок должен обрабатываться посредством внутрикадрового предсказания, процессор 910 внутрикадрового предсказания может выполнять обработку для вывода предиктора. Если блок должен обрабатываться посредством оценки/компенсации движения, процессор 920 оценки/компенсации движения может выполнять обработку, включая использование экспоненциального разделения с режимом AMVP и режимом слияния для вывода предиктора.

По-прежнему со ссылкой на фиг. 9, остаток может быть сформирован путем вычитания предиктора из входного видео. Остаток может приниматься процессором 925 преобразования/квантования, который может выполнять обработку преобразования (например, дискретное косинусное преобразование (DCT)) для получения коэффициентов, которые могут квантоваться. Квантованные коэффициенты и любая ассоциированная информация сигнализации может быть предоставлена в процессор 945 энтропийного кодирования для энтропийного кодирования и включения в выходной битовый поток 950. Процессор 945 энтропийного кодирования может поддерживать кодирование информации сигнализации, относящейся к режимам экспоненциального разделения, режиму AMVP и режиму слияния. Кроме того, квантованные коэффициенты могут быть предоставлены в процессор 930 обратного квантования/обратного преобразования, который может воспроизводить пиксели, которые могут быть объединены с предиктором и обработаны контурным фильтром 935, выходные данные которого могут быть сохранены в буфере 940 декодированных картинок для использования процессором 920 оценки/компенсации движения, который способен поддерживать режимы экспоненциального разделения, режим AMVP и режим слияния.

На фиг. 12 показана блок-схема последовательности операций процесса, иллюстрирующая примерный процесс 1200 кодирования видео с экспоненциальным разделением и межкадровым предсказанием согласно некоторым аспектам настоящего предмета изобретения, что позволяет снизить сложность кодирования при одновременном повышении эффективности сжатия. На этапе 1210 видеокадр может подвергаться начальной блочной сегментации, например, с использованием схемы разделения блоков кодирования со структурой дерева, которая может включать в себя разделение кадра картинки на CTU и CU. На этапе 1220 блок может быть выбран для экспоненциального разделения, при этом экспоненциальное разделение может включать в себя геометрическое разделение или может включать в себя экспоненциальное разделение с использованием нелинейной кривой. Выбор может включать в себя идентификацию в соответствии с правилом метрики того, что блок должен быть обработан в соответствии с режимом экспоненциального разделения.

На этапе 1230, по-прежнему со ссылкой на фиг. 12, может быть определено экспоненциальное разделение. Криволинейный и/или линейный сегмент (например, 405) и/или прямолинейный и/или линейный сегмент, которые будут разделять пиксели, содержащиеся в блоке, в соответствии с их перемещением между кадрами на две непрямоугольные области (например, область 0 и область 1) могут быть определены таким образом, чтобы пиксели (например, выборки яркости) в одной из областей (например, в области 0) имели аналогичное движение, и пиксели в другой области (например, в области 1) имели аналогичное движение.

На этапе 1240, по-прежнему со ссылкой на фиг. 12, информация движения каждой непрямоугольной области может быть определена и обработана с использованием режима AMVP или режима слияния. При обработке области с использованием режима AMVP список кандидатов может быть сформирован путем рассмотрения как пространственных, так и временных кандидатов, включая пространственные кандидаты, как описано выше, и включая пометку некоторых кандидатов как недоступных. Вектор движения может быть выбран из списка кандидатов вектора движения в качестве предсказания вектора движения, и может быть вычислена разность векторов движения (например, остаток). Индекс может быть определен в списке кандидатов. В режиме слияния список кандидатов может быть сформирован путем рассмотрения как пространственных, так и временных кандидатов, включая пространственные кандидаты, описанные выше, и включая пометку некоторых кандидатов как недоступных. Вектор движения может быть выбран из списка кандидатов вектора движения для области, чтобы получить информацию движения другого блока. Индекс может быть определен в списке кандидатов.

На этапе 1250, по-прежнему со ссылкой на фиг. 12, информация об определенном экспоненциальном разделе и движении может передаваться в битовом потоке. Экспоненциальные разделы сигнализации в битовом потоке могут включать, например, включение индекса в один или несколько заданных шаблонов и/или коэффициентов. Сигнализация информации движения при обработке области с использованием AMVP может включать в себя включение разности векторов движения (например, остатка) и индекса в список кандидатов вектора движения в битовом потоке. Сигнализация информации движения при обработке области с использованием режима слияния может включать в себя включение индекса в список кандидатов вектора движения в битовом потоке.

На фиг. 13 показана блок-схема системы, иллюстрирующая примерный декодер 600, выполненный с возможностью декодирования битового потока 1370 с использованием экспоненциального разделения и межкадрового предсказания согласно некоторым аспектам настоящего предмета изобретения. Декодер 600 может включать в себя процессор 1310 энтропийного декодера, процессор 1320 обратного квантования и обратного преобразования, фильтр 1330 удаления блочности, буфер 1340 кадров, процессор 1350 компенсации движения и процессор 1360 внутрикадрового предсказания. В некоторых реализациях битовый поток 1370 включает в себя параметры, которые сигнализируют режим экспоненциального разделения, режим AMVP и режим слияния. Процессор 1350 компенсации движения может восстанавливать информацию о пикселях, используя экспоненциальное разделение и межкадровое предсказание, как описано в настоящем раскрытии.

Во время работы битовый поток 1370 может принимать декодер 600 и может подаваться в процессор 1310 энтропийного декодера, который энтропийно декодирует битовый поток в квантованные коэффициенты. Квантованные коэффициенты могут быть предоставлены в процессор 1320 обратного квантования и обратного преобразования, который может выполнять обратное квантование и обратное преобразование для создания сигнала остатка, который может быть добавлен в выходной сигнал процессора 1350 компенсации движения или процессора 1360 внутрикадрового предсказания в соответствии с режимом обработки. Выходной сигнал процессора 1350 компенсации движения и процессора 1360 внутрикадрового предсказания может включать в себя предсказание блока на основе ранее декодированного блока. Сумма предсказания и остатка может быть обработана фильтром 1330 удаления блочности и сохранена в буфере 1340 кадров. Для данного блока (например, CU или PU), когда битовый поток 1370 сигнализирует, что режимом разделения является экспоненциальное разделение, процессор 1350 компенсации движения может построить предсказание на основе подхода экспоненциального разделения, описанном в данном документе, и с использованием режимов AMVP или слияния, как описано в данном документе.

На фиг. 14 показана блок-схема последовательности операций, иллюстрирующая примерный процесс 1400 декодирования битового потока с использованием экспоненциального разделения и межкадрового предсказания согласно некоторым аспектам настоящего предмета изобретения. На этапе 1410 принимается битовый поток. Прием может включать в себя извлечение и/или синтаксический анализ битового потока и ассоциированной с ним информации сигнализации из битового потока, включая синтаксический анализ текущего блока и ассоциированной с ним информации сигнализации из битового потока.

На этапе 1420, по-прежнему со ссылкой на фиг. 14, текущий блок может быть разделен с использованием режима экспоненциального разделения на первую область и вторую область. Разделение может включать в себя определение того, включено ли режим экспоненциального разделения (например, истина) для блока, что указывает на применение экспоненциального разделения с использованием нелинейных кривых. Если режим экспоненциального разделения не включен (например, выбрано значение "ложь"), декодер может обработать блок, используя альтернативный режим экспоненциального разделения, такой как геометрическое разделение, при этом параметры для геометрического разделения, включая, без ограничения, конечные точки, сегмента линии, коэффициенты или т.п., могут быть приняты из битового потока, как описано выше. Если режим экспоненциального разделения включен (например, выбрано значение "истина"), декодер может извлечь или определить один или несколько параметров, которые характеризуют экспоненциальное разделение. Эти параметры могут включать в себя, например, индексы экспоненциальных коэффициентов, значения экспоненциальных коэффициентов, индексы шаблона ориентации и/или индексы начала и конца кривой линии (например, P1P2). Извлечение или определение может включать в себя идентификацию и извлечение параметров из битового потока (например, синтаксический анализ битового потока).

На этапе 1430, по-прежнему со ссылкой на фиг. 14, может быть определен вектор движения, ассоциированный с областью из первой области или второй области. Определение вектора движения может включать в себя определение того, должна ли быть определена информация движения области с использованием режима AMVP или режим слияния. При обработке области с использованием режима AMVP, список кандидатов может быть сформирован с учетом как пространственных, так и временных кандидатов, в том числе пространственных кандидатов, описанных выше, и в том числе с учетом пометки некоторых кандидатов как недоступных. Вектор движения может быть выбран из списка кандидатов вектора движения в качестве предсказания вектора движения, и может быть вычислена разность вектора движения (например, остатка). В режиме слияния, определение может включать в себя формирование списка кандидатов пространственных кандидатов и временных кандидатов для каждой области. Для каждой области, пространственные кандидаты могут быть пространственными кандидатами, как описано выше со ссылкой на фиг. 5-8. Формирование списка кандидатов может включать в себя автоматическую пометку кандидатов как недоступных и удаление недоступных кандидатов из списка кандидатов. Индекс в сформированном списке кандидатов может быть синтаксически проанализирован из битового потока и может использоваться для выбора окончательного кандидата из списка кандидатов. Информация движения для текущей области может быть определена так же, как информация движения окончательного кандидата (например, вектор движения для области может быть заимствован из окончательного кандидата).

На этапе 1440, по-прежнему ссылаясь на фиг. 14, текущий блок может быть декодирован с использованием определенного вектора движения.

По-прежнему со ссылкой на фиг. 14, хотя некоторые варианты были подробно описаны выше, возможны другие модификации или дополнения. Например, в некоторых реализациях экспоненциальное разделение может применяться к симметричным блокам (8×8, 16×16, 32×32, 64×64, 128×128 и т.п.), а также к различным асимметричным блокам (8×4, 16×8 и т.п.).

По-прежнему со ссылкой на фиг. 14, разделение может сигнализироваться в битовом потоке на основе решений относительно скорости-искажению в кодере. Кодирование может быть основано на комбинации регулярных заранее определенных разделов (например, шаблонов), пространственно-временном предсказании разбиения и дополнительных смещениях. Каждая экспоненциально разделенная область может использовать предсказание с компенсацией движения или внутрикадровое предсказание. Граница предсказываемых областей может быть сглажена перед добавлением остатка. Для остаточного кодирования кодер может выбирать между обычным прямоугольным DCT для всего блока и DCT с адаптацией к форме для каждой области.

По-прежнему со ссылкой на фиг. 14, в некоторых реализациях может быть реализовано квадродерево плюс двоичное дерево решений (QTBT). В QTBT на уровне единицы дерева кодирования параметры разделения QTBT могут быть получены динамически для адаптации к локальным характеристикам без передачи каких-либо служебных данных. Затем на уровне единицы кодирования (CU) структура дерева решений совместного классификатора может исключить ненужные итерации и контролировать риск ложного предсказания. В некоторых реализациях экспоненциальное разделение может быть доступно как дополнительная опция разделения, доступная на каждом листовом узле QTBT. В некоторых реализациях экспоненциальное разделение доступно как дополнительный инструмент кодирования на уровне CU разделения QTBT. Например, на фиг. 8 показан пример QTBT -разделения кадра, и на фиг. 11 показан пример экспоненциального разделения на уровне CU QTBT, показанного на фиг. 8.

В некоторых реализациях декодер включает в себя процессор экспоненциального разделения, который может вырабатывать экспоненциальное разделение для текущего блока и предоставлять всю информацию, относящуюся к разделам, для зависимых процессов. Процессор экспоненциального разделения может напрямую влиять на компенсацию движения, так как она может выполняться посегментно в случае, если блок разделен экспоненциально. Кроме того, процессор разделения может предоставлять информацию о форме в процессор внутрикадрового предсказания и процессор кодирования с преобразованием.

В некоторых реализациях дополнительные элементы синтаксиса могут сигнализироваться на разных иерархических уровнях битового потока. Для того, чтобы разрешить экспоненциальное разделение для всей последовательности, флаг разрешения может быть закодирован в наборе параметров последовательности (SPS). Кроме того, флаг CTU может быть закодирован на уровне единицы дерева кодирования (CTU), чтобы указать то, используют ли какие-либо единицы кодирования (CU) экспоненциальное разделение. Флаг CU может быть закодирован, чтобы указать то, использует ли текущая единица кодирования экспоненциальное разделение. Параметры, которые точно определяют кривую линию на блоке, могут быть закодированы. Для каждой области может быть декодирован флаг, который точно определяет то, предсказана ли текущая область с использованием межкадрового или внутрикадрового предсказания.

В некоторых реализациях может быть точно определен минимальный размер области.

Предмет изобретения, описанный в данном документе, обеспечивает многочисленные технические преимущества. Например, некоторые реализации текущего предмета изобретения могут предусматривать разделение блоков, что увеличивает эффективность сжатия. В некоторых реализациях, реализуя разделение таким образом, чтобы оно более точно соответствовало границам объекта, можно достичь эффективных визуальных эффектов. Аналогичным образом, в некоторых реализациях, реализуя разделение таким образом, чтобы можно было более точно следовать границам объекта, можно уменьшить блокирующие артефакты на границах объекта.

Следует отметить, что любой один или несколько аспектов и вариантов осуществления, описанных в данном документе, могут быть беспрепятственно реализованы с использованием цифровых электронных схем, интегральных схем, специализированных интегральных схем (ASIC), разработанных специально для конкретных приложений, компьютерных аппаратных средств с программируемыми вентильными матрицами (FPGA), аппаратно-программного обеспечения, программного обеспечения и/или их комбинаций, как реализованные и/или осуществленные в одной или нескольких машинах (например, в одном или нескольких вычислительных устройствах, которые используются в качестве пользовательского вычислительного устройства для электронного документа, одном или нескольких серверных устройствах, таких как сервер документов и т.д.), запрограммированных в соответствии с идеями изобретения, представленными в настоящем описания, как будет очевидно специалистам в области компьютерной техники. Эти различные аспекты или особенности могут включать реализацию в одной или нескольких компьютерных программах и/или программном обеспечении, которые являются исполняемыми и/или межкадровоепретируемыми в программируемой системе, включающей в себя по меньшей мере один программируемый процессор, который может быть специального или общего назначения и может быть подключен, для приема данных и инструкций из системы хранения и для передачи данных и инструкций в систему хранения, по меньшей мере к одному устройству ввода и по меньшей мере к одному устройству вывода. Соответствующее кодирование программного обеспечения может быть легко подготовлено квалифицированными программистами на основе идей настоящего раскрытия, как будет очевидно специалистам в области программного обеспечения. Рассмотренные выше аспекты и реализации, использующие программное обеспечение и/или программные модули, могут также включать в себя соответствующие аппаратные средства для содействия в реализации машиноисполняемых инструкций программного обеспечения и/или программного модуля.

Такое программное обеспечение может быть компьютерным программным продуктом, который использует машиночитаемый носитель информации. Машиночитаемый носитель информации может быть любым носителем информации, который способен хранить и/или кодировать последовательность инструкций для исполнения машиной (например, вычислительным устройством) и которые предписывают машине выполнять любую из методологий и/или вариантов осуществления, описанных в данном документе. Примеры машиночитаемого носителя информации включают в себя, но без ограничения, магнитный диск, оптический диск (например, CD, CD-R, DVD, DVD-R и т.д.), магнитооптический диск, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), магнитную карту, оптическую карту, твердотельное запоминающее устройство, EPROM, EEPROM, программируемые логические устройства (PLD) и/или любые их комбинации. Используемый в данном документе термин "машиночитаемый носитель информации" предназначен для того, чтобы включать в себя один носитель информации, а также набор физически отдельных носителей информации, таких, например, как набор компакт-дисков или один или несколько жестких дисков в сочетании с компьютерной памятью. Используемый в данном документе термин "машиночитаемый носитель информации" не включает в себя временные формы передачи сигнала.

Такое программное обеспечение может также включать в себя информацию (например, данные), переносимую в виде сигнала передачи данных на переносчике информации, например, на несущей. Например, машиноисполняемая информация может быть включена в качестве сигнала, переносящего данные и воплощенного в виде переносчика информации, где сигнал кодирует последовательность инструкций или их часть для исполнения машиной (например, вычислительным устройством) и любую связанную с ними информацию (например, структуры данных и данные), которые предписывают машине выполнять любую из методологий и/или вариантов осуществления, описанных в данном документе.

Примеры вычислительного устройства включают в себя, но не ограничиваются ими, устройство для чтения электронных книг, компьютерную рабочую станцию, терминальный компьютер, серверный компьютер, портативное устройство (например, планшетный компьютер, смартфон и т.д.), веб-устройство, сетевой маршрутизатор, сетевой коммутатор, сетевой мост, любой компьютер, способный выполнять последовательность инструкций, определяющих действие, которое должно быть выполнено на этом компьютере, и любые их комбинации. В одном примере вычислительное устройство может включать и/или быть включено в киоск.

На фиг. 15 показано схематичное представление одного варианта осуществления вычислительного устройства в примерном виде компьютерной системы 1500, в которой может исполняться набор инструкций для предписания системе управления выполнять любой один или несколько аспектов и/или методологий настоящего раскрытия. Кроме того, также предполагается, что несколько вычислительных устройств могут использоваться для реализации специально сконфигурированного набора инструкций, которые предписывают одному или нескольким устройствам выполнять любой один или несколько аспектов и/или методологий настоящего раскрытия. Компьютерная система 1500 включает в себя процессор 1504 и память 1508, которые обмениваются данными друг с другом и с другими компонентами через шину 1512. Шина 1512 может включать в себя любой из нескольких типов шинных структур, в том числе, но без ограничения, шину памяти, контроллер памяти, периферийную шину, локальную шину и любые их комбинации, которые используют любую из множества шинных архитектур.

Память 1508 может включать в себя различные компоненты (например, машиночитаемые носители информации), в том числе, но без ограничения, компонент памяти с произвольным доступом, компонент только для считывания и любые их комбинации. В одном примере основная система 1516 ввода/вывода (BIOS), в том числе основные процедуры, которые помогают передавать информацию между элементами в компьютерной системе 1500, например, во время запуска, может храниться в памяти 1508. Память 1508 может также включать в себя (например, сохраненные на одном или нескольких машиночитаемых носителях информации) инструкции (например, программное обеспечение) 1520, воплощающие любой один или несколько аспектов и/или методологий настоящего раскрытия. В другом примере память 1508 может дополнительно включать в себя любое количество программных модулей, в том числе, но без ограничения, операционную систему, одну или несколько прикладных программ, другие программные модули, данные программы и любые их комбинации.

Компьютерная система 1500 может также включать в себя запоминающее устройство 1524. Примеры запоминающего устройства (например, запоминающего устройства 1524), включают в себя, но не ограничиваются ими, накопитель на жестком диске, накопитель на магнитных дисках, накопитель на оптических дисках в сочетании с оптическим носителем информации, устройство твердотельной памяти и любые их комбинации. Запоминающее устройство 1524 может быть подключено к шине 1512 посредством соответствующего межкадровоефейса (не показан). Примеры межкадровоефейсов включают в себя, но не ограничиваются ими, SCSI, усовершенствованную технологию подключения (ATA), последовательную ATA, универсальную последовательную шину (USB), IEEE 1394 (FIREWIRE) и любые их комбинации. В одном примере, запоминающее устройство 1524 (или один или несколько их компонентов) может подключаться с помощью межкадровоефейса к компьютерной системе 1500 (например, через разъем внешний порта (не показан)). В частности, запоминающее устройство 1524 и ассоциированный с ним машиночитаемый носитель 1528 информации может обеспечивать энергонезависимое и/или энергонезависимое хранение машиночитаемых инструкций, структур данных, программных модулей и/или других данных для компьютерной системы 1500. В одном примере, программное обеспечение 1520 может находиться, полностью или частично, на машиночитаемом носителе 1528 информации. В другом примере, программное обеспечение 1520 может находиться, полностью или частично, в процессоре 1504.

Компьютерная система 1500 также может включать в себя устройство 1532 ввода. В одном примере, пользователь компьютерной системы 1500 может вводить команды и/или другую информацию в компьютерную систему 1500 через устройство 1532 ввода. Примеры устройства 1532 ввода включают в себя, но не ограничиваются ими, устройство буквенно-цифрового ввода (например, клавиатуру), указательное устройство, джойстик, игровой пульт, устройство ввода аудио (например, микрофон, система голосового ответа и т.д.), устройство управления курсором (например, мышь), сенсорную панель, оптический сканер, устройство захвата видео (например, фотоаппарат, видеокамеру), сенсорный экран и любые их комбинации. Устройство 1532 ввода может быть подключено с помощью межкадровоефейса к шине 1512 через любой из множества межкадровоефейсов (не показаны), в том числе, помимо прочего, последовательный межкадровоефейс, параллельный межкадровоефейс, игровой порт, межкадровоефейс USB, межкадровоефейс FIREWIRE, прямой межкадровоефейс к шине 1512 и любые их комбинации. Устройство 1532 ввода может включать в себя межкадровоефейс сенсорного экрана, который может быть частью 1536 отображения или находиться отдельно от него, что дополнительно обсуждено ниже. Устройство 1532 ввода может использоваться как устройство выбора пользователя для выбора одного или нескольких графических представлений в графическом межкадровоефейсе, как описано выше.

Пользователь может также вводить команды и/или другую информацию в компьютерную систему 1500 через запоминающее устройство 1524 (например, съемный диск, флэш-диск и т.д.) и/или устройство 1540 сетевого межкадровоефейса. Устройство сетевого межкадровоефейса, такое как устройство 1540 сетевого межкадровоефейса, может использоваться для подключения компьютерной системы 1500 к одной или нескольким из множества сетей, таких как сеть 1544, и к одному или нескольким удаленным устройствам 1548, подключенных к ней. Примеры устройства сетевого межкадровоефейса включают в себя, но не ограничиваются ими, карту сетевого межкадровоефейса (например, карту межкадровоефейса мобильной сети, карту LAN), модем и любые их комбинации. Примеры сети включают в себя, но не ограничиваются ими, сеть (например, Межкадровоенет, сеть организации), локальную сеть (например, сеть, ассоциированную с офисом, зданием, комплексом зданий или другим относительно небольшим географическим пространством), телефонную сеть, сеть передачи данных, ассоциированную с провайдером телефонной/голосовой связи (например, с данными провайдера мобильной связи и/или телефонной сетью), прямое соединение между двумя вычислительными устройствами и любые их комбинации. Сеть, такая как сеть 1544, может использовать проводной и/или беспроводной режим связи. В общем, можно использовать любую топологию сети. Информация (например, данные, программное обеспечение 1520 и т.д.) может передаваться в и/или из компьютерной системы 1500 с помощью сетевого межкадровоефейса устройства 1540.

Компьютерная система 1500 может дополнительно включать в себя адаптер 1552 отображения видео для передачи отображаемого изображения в устройство отображения, такое как устройство 1536 отображения. Примеры устройства отображения включают в себя, но не ограничивается ими, жидкокристаллический дисплей (LCD), электронно-лучевую трубку (CRT), плазменный дисплей, светоизлучающий диод (LED), и любые их комбинации. Адаптер 1552 дисплея и устройство 1536 отображения можно использовать в сочетании с процессором 1504, чтобы обеспечить графическое представление аспектов настоящего раскрытия. В дополнение к устройству отображения компьютерная система 1500 может включать в себя одно или несколько других периферийных устройств вывода, в том числе, помимо прочего, звуковой динамик, прмежкадровое и любые их комбинации. Такие периферийные устройства вывода могут быть подключены к шине 1512 через периферийный межкадровоефейс 1556. Примеры периферийного межкадровоефейса включают в себя, но не ограничиваются ими, последовательный порт, USB соединение, соединение FIREWIRE, параллельное соединение, и любые их комбинации.

Выше было приведено подробное описание иллюстративных вариантов осуществления настоящего изобретения. Различные модификации и дополнения могут быть сделаны без отступления от сущности и объема настоящего изобретения. Признаки каждого из различных вариантов осуществления, описанных выше, могут быть объединены с признаками других описанных вариантов осуществления в соответствующих случаях с тем, чтобы обеспечить множество комбинаций признаков в ассоциированных новых вариантах осуществления. Кроме того, несмотря на то, что выше был описан ряд отдельных вариантов осуществления, то, что было описано в данном документе, является лишь иллюстрацией применения принципов настоящего изобретения. В дополнение к этому, хотя конкретные способы в данном документе могут быть проиллюстрированы и/или описаны как выполняемые в определенном порядке, порядок выполнения сильно варьируется в пределах средней квалификации для достижения вариантов осуществления, раскрытых в данном документе. Соответственно, это описание предназначено для использования только в качестве примера и не ограничивает иным образом объем данного изобретения.

В приведенных выше описаниях и формуле изобретения фразы, такие как "по меньшей мере один из" или "один или более" могут возникать с последующим конъюнктивным списком элементов или признаков. Термин "и/или" может также иметь место в списке из двух или более элементов или признаков. Если иное неявно или явно противоречит контексту, в котором это используется, такая фраза означает любой из перечисленных элементов или признаки по отдельности, или любой из указанных элементов или признаков в сочетании с любым из других указанных элементов или признаков. Например, каждая из фраз "по меньшей мере один из А и В", "один или более из А и В" и "А и/или В" означает "А, взятый отдельно", "В, взятый отдельно" или "А и В вместе". Аналогичная межкадровоепретация также предназначена для списков, включающих в себя три или более пунктов. Например, каждая из фраз "по меньшей мере один из А, В и С", "один или более из А, В и С" и "А, В, и/или С" означает "А, взятый отдельно", "В, взятый отдельно", "С, взятый отдельно", "А и В вместе", "А и С вместе", "В и С вместе" или "А и В, и С вместе". В дополнение к этому, использование термина "на основе" в описании выше и в формуле изобретения означает "на основе по меньшей мере частично", поэтому неуказанный признак или элемент также является допустимым.

Предмет изобретения, описанный в данном документе, может быть воплощен в системах, устройствах, способах и/или изделиях в зависимости от желаемой конфигурации. Реализации, изложенные в предыдущем описании, не представляют все реализации, согласующиеся с предметом изобретения, описанным в данном документе. Вместо этого они представляют собой лишь некоторые примеры, согласующиеся с аспектами, относящимися к описанному предмету изобретения. Хотя некоторые варианты были подробно описаны выше, возможны и другие модификации или дополнения. В частности, дополнительные признаки и/или варианты могут быть предоставлены в дополнение к тем, которые изложены в данном описании. Например, реализации, описанные выше, могут быть направлены на различные комбинации и подкомбинации раскрытых признаков и/или комбинации и подкомбинации нескольких дополнительных признаков, раскрытых выше. В дополнение к этому, логические потоки, изображенные на сопроводительных чертежах и/или описанные в данном документе, необязательно требуют конкретного показанного порядка или последовательного порядка для достижения желаемых результатов. Другие реализации могут находиться в пределах объема последующей формулы изобретения.

Похожие патенты RU2829207C2

название год авторы номер документа
СПОСОБ И УСТРОЙСТВО ДЛЯ ВИДЕОКОДИРОВАНИЯ C ИСПОЛЬЗОВАНИЕМ УЛУЧШЕННОГО РЕЖИМА СЛИЯНИЯ С РАЗНОСТЬЮ ВЕКТОРОВ ДВИЖЕНИЯ 2019
  • Лай, Чен-Йен
  • Хсяо, Ю-Линг
  • Чуанг, Тзу-Дер
  • Чен, Чинг-Йех
RU2795830C2
ОБЪЕДИНЕННОЕ ПРЕДСКАЗАНИЕ МЕЖКАДРОВОЕ И С ВНУТРИКАДРОВОЙ КОПИЕЙ БЛОКА 2015
  • Пан Чао
  • Рапака Кришнакантх
  • Ван Е-Куй
  • Соле Рохальс Джоэль
  • Карчевич Марта
RU2697744C2
СПОСОБ И УСТРОЙСТВО СОГЛАСОВАНИЯ ВЗВЕШЕННОГО ПРЕДСКАЗАНИЯ С НЕПРЯМОУГОЛЬНЫМИ РЕЖИМАМИ СЛИЯНИЯ 2021
  • Филиппов, Алексей Константинович
  • Чэнь, Хуаньбан
  • Руфицкий, Василий Алексеевич
  • Ян, Хайтао
  • Алшина, Елена Александровна
RU2821011C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИГНАЛОВ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ИНТЕР-ПРЕДСКАЗАНИЯ 2019
  • Чжао, Джейн
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2787882C2
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ВИДЕОСИГНАЛА НА ОСНОВАНИИ ОСНОВАННОГО НА ИСТОРИИ ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ 2019
  • Чжао, Джейн
  • Ким, Сеунгхван
RU2773431C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИГНАЛОВ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ИНТЕР-ПРЕДСКАЗАНИЯ 2019
  • Чжао, Джейн
  • Палури, Сеетхал
  • Ким, Сеунгхван
RU2769146C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ВИДЕОКОДИРОВАНИЯ C ИСПОЛЬЗОВАНИЕМ УЛУЧШЕННОГО РЕЖИМА СЛИЯНИЯ С РАЗНОСТЬЮ ВЕКТОРОВ ДВИЖЕНИЯ 2019
  • Лай, Чен-Йен
  • Хсяо, Ю-Линг
  • Чуанг, Тзу-Дер
  • Чен, Чинг-Йех
RU2768377C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ВИДЕОСИГНАЛА НА ОСНОВАНИИ ОСНОВАННОГО НА ИСТОРИИ ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ 2019
  • Чжао, Джейн
  • Ким, Сеунгхван
RU2807594C2
СПОСОБЫ И УСТРОЙСТВА ДЛЯ КОДИРОВАНИЯ ВИДЕО С ИСПОЛЬЗОВАНИЕМ ВЕКТОРА ДВИЖЕНИЯ ВРЕМЕННОГО ПРЕДСКАЗАНИЯ НА ОСНОВЕ СУББЛОКОВ 2019
  • Чэнь, И-Вэнь
  • Ван, Сянлинь
RU2757209C1
ИНТЕРПОЛЯЦИЯ ДЛЯ ВНЕШНЕГО ПРЕДСКАЗАНИЯ С УТОЧНЕНИЕМ 2019
  • Чжан, Кай
  • Чжан, Ли
  • Лю, Хунбинь
  • Ван, Юэ
RU2808586C2

Иллюстрации к изобретению RU 2 829 207 C2

Реферат патента 2024 года МЕЖКАДРОВОЕ ПРЕДСКАЗАНИЕ ПРИ ЭКСПОНЕНЦИАЛЬНОМ РАЗДЕЛЕНИИ

Изобретение относится к средствам декодирования. Технический результат – повышение эффективности сжатия изображения. Принимают битовый поток, включающий в себя кодированное изображение, причем кодированное изображение включает в себя блок кодированных пикселей и информацию сигнализации, включающую в себя первый индекс разделения, используемый для определения начальной точки непрямого непрямоугольного разделения, и второй индекс разделения, используемый для определения конечной точки непрямого непрямоугольного разделения. Определяют, с использованием первого индекса разделения, начальную точку непрямого непрямоугольного разбиения в блоке, при этом начальная точка расположена на первой стороне блока с первым расстоянием смещения от первого угла блока. Определяют, с использованием второго индекса разделения, конечную точку непрямого непрямоугольного разбиения в блоке, при этом конечная точка расположена на второй стороне блока со вторым расстоянием смещения от второго угла блока. Генерируют первые значения предсказания пикселей в первой области на первой стороне относительно непрямого непрямоугольного разбиения. Генерируют вторые значения предсказания пикселей во второй области на второй стороне относительно непрямого непрямоугольного разбиения. Декодируют блок с использованием значений предсказания пикселей. 2 н. и 6 з.п. ф-лы, 18 ил.

Формула изобретения RU 2 829 207 C2

1. Декодер, выполненный с возможностью:

приема битового потока, включающего в себя кодированное изображение, причем кодированное изображение включает в себя блок кодированных пикселей и информацию сигнализации, включающую в себя первый индекс разделения, используемый для определения начальной точки непрямого непрямоугольного разделения и второй индекс разделения, используемый для определения конечной точки непрямого непрямоугольного разделения;

определения, с использованием первого индекса разделения, начальной точки непрямого непрямоугольного разбиения в блоке, при этом начальная точка расположена на первой стороне блока с первым расстоянием смещения от первого угла блока;

определения, с использованием второго индекса разделения, конечной точки непрямого непрямоугольного разбиения в блоке, при этом конечная точка расположена на второй стороне блока со вторым расстоянием смещения от второго угла блока;

генерирования первых значений предсказания пикселей в первой области на первой стороне относительно непрямого непрямоугольного разбиения;

генерирования вторых значений предсказания пикселей во второй области на второй стороне относительно непрямого непрямоугольного разбиения; и

декодирования блока с использованием значений предсказания пикселей.

2. Декодер по п.1, в котором, для генерирования первой области значений предсказания пикселей, используется первый вектор движения, выбранный из первого набора кандидатов векторов движения, а для генерирования второй области значений предсказания пикселей используется второй вектор движения, выбранный из второго набора кандидатов векторов движения.

3. Декодер по п.1, характеризующийся тем, что дополнительно выполнен с возможностью:

сглаживания первых значений предсказания пикселей и вторых значений предсказания пикселей вдоль непрямого непрямоугольного разбиения; и

декодирования кодированного блока посредством добавления остаточных значений пикселей к сглаженным первым и вторым значениям предсказания пикселей.

4. Декодер по п.1, в котором блок представляет собой единицу дерева кодирования.

5. Декодер по п.1, в котором блок имеет размер N×N, где N равно одному из 128, 64 и 32.

6. Декодер по п.1, в котором непрямое непрямоугольное разбиение представляет собой кривую.

7. Декодер, выполненный с возможностью:

приема битового потока, включающего в себя кодированное изображение, причем кодированное изображение включает в себя единицу дерева кодирования, содержащую множество единиц кодирования и информацию сигнализации, включающую в себя первый индекс разделения, используемый для определения начальной точки непрямого непрямоугольного разделения в единице дерева кодирования, и второй индекс разделения, используемый для определения конечной точки непрямого непрямоугольного разделения в единице дерева кодирования;

определения, с использованием первого индекса разделения и второго индекса разделения, начальной точки и конечной точки непрямого непрямоугольного разбиения в единице дерева кодирования;

генерирования первых значений предсказания пикселей в первой области на первой стороне относительно непрямого непрямоугольного разбиения, с использованием первого вектора движения из первого набора кандидатов векторов движения;

генерирования вторых значений предсказания пикселей во второй области на второй стороне относительно непрямого непрямоугольного разбиения, с использованием второго вектора движения из второго набора кандидатов векторов движения;

сглаживания первых значений предсказания пикселей и вторых значений предсказания пикселей вдоль непрямого непрямоугольного разбиения; и

декодирования единицы дерева кодирования посредством добавления остаточных значений пикселей к сглаженным первым и вторым значениям предсказания пикселей.

8. Декодер по п. 7, в котором:

битовый поток включает в себя первый индекс кандидата вектора движения для идентификации первого вектора движения в первом наборе кандидатов векторов движения; и

битовый поток включает в себя второй индекс кандидата вектора движения для идентификации второго вектора движения во втором наборе кандидатов векторов движения.

Документы, цитированные в отчете о поиске Патент 2024 года RU2829207C2

Колосоуборка 1923
  • Беляков И.Д.
SU2009A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
Способ получения цианистых соединений 1924
  • Климов Б.К.
SU2018A1
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз 1924
  • Подольский Л.П.
SU2014A1
СПОСОБ И УСТРОЙСТВО ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ СПИСКА КАНДИДАТОВ 2016
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Киунг Йонг
  • Ким, Санг Мин
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Чои, Дзин Соо
  • Ким, Дзин Воонг
RU2632158C2

RU 2 829 207 C2

Авторы

Фурхт, Боривое

Калва, Хари

Аджич, Велибор

Даты

2024-10-30Публикация

2020-01-28Подача