Область техники, к которой относится изобретение
В общем, настоящее изобретение относится к области кодирования видео. Более конкретно, настоящее изобретение относится к устройствам и способам для кодирования и декодирования блока кодирования видеосигнала.
Уровень техники
Видеосигнал 360-градусной панорамы содержит последовательность, которая захватывает сцену во всех направлениях вокруг одной точки обзора. Обычно, данный эффект достигают с использованием множества камер, расположенных рядом друг с другом и с разными направлениями обзора. Захваченный контент затем соединяют вместе и, таким образом, контент может быть рассмотрен как сфера вокруг точки обзора с текстурой на ней, которая представляет собой 360-градусную сцену или панорамный видеосигнал в определенный момент времени. Такая сфера, однако, не может быть обработана напрямую с использованием текущих видеокодеков, которые обычно требуют плоского (2D) прямоугольного изображения сцены. Таким образом, для обработки панорамного видеосигнала с использованием текущих видеокодеков сфера должна быть преобразована в такой двумерный формат.
Для преобразования сферы в двумерный формат, содержащий один или несколько сегментов, можно использовать одну из следующих проекций.
Равноугольная проекция определяет проекцию на прямоугольник, аналогичный тому, который формирует карты мира земного шара. Плотность образца отличается с разными «высотами». Крайним случаем являются полюса сферы, они отображаются на линии. Геометрические искажения распределены по всему полученному изображению.
В проекции, основанной на кубе, сфера отображается на грани или сегменты куба. Каждый сегмент выглядит как обычное 2D-изображение без видимых геометрических искажений. Однако в граничных областях сегментов наблюдаются сильные геометрические искажения. Есть несколько способов упорядочить сегменты в прямоугольном формате.
В проекции, основанной на икосаэдре, сфера отображается на грани или сегменты икосаэдра. Каждый сегмент выглядит как обычное 2D-изображение без видимых геометрических искажений. Также в этом случае наблюдают сильные геометрические искажения в граничных областях сегментов икосаэдра. Эти искажения, однако, не такие сильные, как в случае проекции, основанной на формате куба, поскольку угол между соседними гранями меньше. Есть несколько способов расположить грани икосаэдра в прямоугольном формате.
И куб, и формат икосаэдра состоят из неискаженных сегментов, которые имеют одинаковый центр и края камеры.
При кодировании и декодировании панорамных видеосигналов, содержащих множество сегментов необходимо решить следующую техническую задачу. Допустим, наблюдают две грани или сегмента, которые имеют одинаковый центр камеры и имеют общую границу, то есть, грань A и грань B. Изображения грани A и B записывают во времени и располагают в последующих кадрах панорамного видеосигнала. Этот панорамный видеосигнал затем кодируют.
Если изображения грани A и B не расположены рядом друг с другом в последовательности, то компенсация перемещения не может быть выполнена через их общую границу. Однако, даже если они расположены так, что они имеют общую границу в панорамном видеосигнале, что и в 3D-пространстве, то наблюдают геометрическое искажение через их общую границу в панорамном видеосигнале. Это ухудшает производительность компенсации движения в граничных областях изображений грани A и B панорамного видеосигнала.
Таким образом, необходимо обеспечить усовершенствованные устройства и способы для кодирования и декодирования видеосигнала (например, панорамного видеосигнала), который содержит два или более сегментов, которые соответствуют разным плоскостям изображения.
Сущность изобретения
Задачей изобретения является обеспечение усовершенствованных устройств и способов для кодирования и декодирования видеосигнала.
Вышесказанное и другие цели достигают предметом независимых пунктов формулы изобретения. В зависимых пунктах формулы изобретения описаны дополнительные формы реализации со ссылкой на описание и чертежи.
Как используется в данном документе, видеосигнал или видеопоследовательность представляет собой набор последующих кадров, представляющих движущееся изображение. Другими словами, видеосигнал или видеопоследовательность состоит из множества кадров (также называемых изображениями).
Как используется в данном документе, блок кодового дерева (CTU) обозначает корень структуры кодирования видеопоследовательности заранее определенного размера, содержащей часть кадра (например, 64 × 64 пикселя). CTU может быть разделен на несколько блоков кодирования (CUs).
Как используется в данном документе, блок кодирования (CU) обозначает базовую структуру кодирования видеопоследовательности заранее определенного размера, содержащую часть кадра, которая принадлежит CTU. CU может быть разделен на другие CUs.
Как используется в данном документе, блок предсказания (PU) обозначает структуру кодирования, которая является результатом разделения CU.
Как используется в данном документе, блок обозначает группу пикселей. Блок может иметь любую форму, в частности, квадратную или прямоугольную.
Устройства и способы, описанные в настоящем документе, могут быть использованы для внешнего предсказания между изображениями, чтобы использовать временную избыточность естественных видеопоследовательностей. Изменение информации, наблюдаемой между текущим изображением и опорным изображением, часто может быть аппроксимировано поступательным движением, например, линейное движение в плоскости изображения. Блок, основанный на компенсации движения, является доминирующей реализацией данной парадигмы, где опорное изображение разбивают на прямоугольные блоки, и каждый пиксель в блоке проявляет такое же движение. Таким образом, движение всего блока, называемого блоком предсказания, может быть описано одним вектором движения. Набор векторов движения по всему опорному кадру определяет векторное поле, обозначаемое как поле вектора движения.
Согласно первому аспекту изобретение относится к устройству для кодирования видеосигнала, причем видеосигнал содержит видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения, причем видеоконтент предоставлен в форме множество последовательных кадров, в котором каждый кадр из множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости изображения, при этом, первый сегмент и второй сегмент каждый содержит множество пикселей, причем каждый пиксель ассоциирован со значением пикселя, при этом, устройство содержит:
блок расширения сегмента, выполненный с возможностью генерировать область расширения первого сегмента опорного кадра области расширения, содержащее множество пикселей расширения, в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра; и
блок внешнего кодирования, выполненный с возможностью выбирать опорный блок среди набора кандидатов опорных блоков, причем набор кандидатов опорных блоков содержит кандидат опорного блока, расположенный полностью или частично в области расширения первого сегмента опорного кадра, и выполненный с возможностью кодировать значения пикселей блока кодирования видео первого сегмента текущего кадра на основании значений пикселей блока кодирования видео и значений пикселей выбранного опорного блока.
Таким образом, предоставляют усовершенствованное устройство для кодирования видеосигнала. Более конкретно, устройство для кодирования, в соответствии с первым аспектом, позволяет расширить первый сегмент опорного кадра на основании его смежных сегментов таким образом, что геометрические искажения по их общим ребрам, компенсируются. Компенсация движения для блоков в первом сегменте текущего кадра может быть выполнена на основании первого сегмента и его расширенных областей в опорном кадре. Никакой дополнительной сигнализации не требуется, поскольку она может быть получена из пространственного положения в кадре последовательности, как должна выполняться компенсация геометрического искажения. Варианты осуществления изобретения могут быть легко использованы для компенсации движения последовательностей на 360° в кубе, икосаэдре или других форматах, которые состоят из множества неискаженных граней, имеющие общие края и один и тот же центр камеры. Варианты осуществления изобретения позволяют повысить производительность кодирования, например, при осуществлении съемки перемещающейся камерой или движущихся объектов.
Опорный кадр может быть восстановленным кадром. Это может быть получено путем кодирования кадра множества последовательных кадров, и затем декодирования кодированного кадра.
Первая плоскость изображения и вторая плоскость изображения могут быть расположены под углом друг к другу под углом между плоскостями (например, между 1° и 90°).
В одной форме реализации кадр включает в себя последовательность подкадров, причем каждый подкадр содержит только поднабор всех сегментов (например, только один сегмент). Каждый подкадр может использоваться для обновления соответствующего поднабора сегментов.
Первый сегмент и второй сегмент могут быть соседними сегментами. В частности, они могут быть смежными сегментами.
В первой возможной форме реализации устройства для кодирования в соответствии с первым аспектом как таковым для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра с использованием отображения
- выполнен с возможностью отображать пиксель второго сегмента опорного кадра на первую плоскость изображения (первый вариант);
или
- выполнен с возможностью отображать пиксель расширения на вторую плоскость изображения (второй вариант).
В первом варианте пиксель расширения определяют из пикселя второго сегмента опорного кадра. Во втором варианте пиксель второго сегмента определяют из пикселя расширения (например, с использованием геометрического преобразования, обратного геометрическому преобразованию, ассоциированному с первым вариантом).
Кроме того, следует отметить, что при отображении пиксель из одной плоскости изображения может оказаться не совсем одним пикселем в другой плоскости изображения. Скорее, он может находиться в геометрической точке другой плоскости изображения, которая расположена между двумя или более соседними пикселями другой плоскости. По этой причине блок расширения сегмента может быть выполнен с возможностью, например, определять значение пикселя расширения на основании значений пикселей группы пикселей (например, двух, трех или четырех пикселей), расположенных рядом с геометрической точкой в первой плоскости изображения на которую отображают пиксель второго сегмента.
Во второй возможной форме реализации устройства для кодирования согласно первой форме осуществления первого аспекта, отображение содержит или эквивалентно следующим этапам: проектирование пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, в котором точка лежит на линии, соединяющей пиксель второго сегмента опорного кадра с положением С камеры;
выполнение поворота для поворота изображения плоскости второго сегмента опорного кадра в параллельную ориентацию относительно плоскости изображения первого сегмента опорного кадра; и проецирование точки на точку в плоскости изображения первого сегмента опорного кадра, в котором точка в плоскости изображения первого сегмента опорного кадра определяет пиксель расширения.
В третьей возможной форме реализации устройства для кодирования в соответствии с первой или второй формой реализации первого аспекта отображение основано на следующей матрице гомографии:
в котором KA и KB обозначают матрицы калибровки камеры для первого сегмента и второго сегмента опорного кадра, θ обозначает угол между плоскостью изображения первого сегмента и плоскостью изображения второго сегмента опорного кадра, обозначает поворот и Z обозначает расстояние от положения С камеры. Матрицу гомографии могут применять, например, к координатам x-y второй плоскости изображения или непосредственно к координатам пикселя.
В четвертой возможной форме осуществления устройства для кодирования в соответствии с первым аспектом, как таковые или какой-либо одной из его форм осуществления, устройство для кодирования дополнительно содержит буфер опорного кадра, выполненный с возможностью хранить первый сегмент опорного кадра вместе с областью расширения первого сегмента опорного кадра.
В пятой возможной форме реализации устройства для кодирования согласно первому аспекту как таковой или любой из его форм реализации, первый сегмент соответствует первой грани куба или икосаэдра, и второй сегмент соответствует различным граням куба или икосаэдра. Грани могут быть внешними или внутренними гранями.
Согласно второму аспекту изобретение относится к устройству для декодирования кодированного видеосигнала, причем кодированный видеосигнал содержит видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения (например, наклоненный относительно друг друга под углом между плоскостями, например, между 1° и 90°), видеоконтент предоставлен в кодированной форме множества последовательных кадров, в котором каждый кадр множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости, причем первый сегмент и второй сегмент содержат множество пикселей, при этом, каждый пиксель ассоциирован со значением пикселя, причем устройство содержит:
блок расширения сегмента, выполненный с возможностью генерировать область расширения первого сегмента опорного кадра, причем область расширения содержит множество пикселей расширения, в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра; и
блок восстановления с внешним предсказанием, выполненный с возможностью восстанавливать значения пикселей блока кодирования видео первого сегмента текущего кадра на основании кодированного блока кодирования видео первого сегмента текущего кадра и значений пикселей опорного блока, в котором опорный блок расположен полностью или частично в первом сегменте опорного кадра или полностью или частично в области расширения первого сегмента опорного кадра.
В первой возможной форме реализации устройства для декодирования в соответствии со вторым аспектом как таковой для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значения пикселя расширения на основании значения пикселя второго сегмента опорного кадра с использованием отображения
- выполненный с возможностью отображать пиксель второго сегмента опорного кадра на плоскость изображения первого сегмента опорного кадра
или
- выполненный с возможностью отображать пиксель расширения на вторую плоскость изображения.
Во второй возможной форме реализации устройства для декодирования согласно первой форме осуществления второго аспекта, отображение содержит следующие этапы: проектирование пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, в котором точка лежит на линии, соединяющей пиксель второго сегмента опорного кадра с положением С камеры; выполнение поворота для поворота изображения плоскости второго сегмента опорного кадра в параллельную ориентацию относительно плоскости изображения первого сегмента опорного кадра; и проецирование точки на точку в плоскости изображения первого сегмента опорного кадра, в котором точка в плоскости изображения первого сегмента опорного кадра определяет пиксель расширения.
В третьей возможной форме реализации устройства для декодирования в соответствии с первой или второй формой реализации второго аспекта отображение основывается на следующей матрице HB2A гомографии:
в котором KA и KB обозначают матрицы калибровки камеры для первого сегмента и второго сегмента опорного кадра, θ обозначает угол между плоскостью изображения первого сегмента и плоскостью изображения второго сегмента опорного кадра, обозначает поворот и Z обозначает расстояние от положения С камеры.
В четвертой возможной форме реализации устройства для декодирования согласно второму аспекту, как таковые или какой-либо одной из его форм осуществления, устройство для декодирования дополнительно содержит буфер опорного кадра, выполненный с возможностью хранить первый сегмент опорного кадра вместе с областью расширения первого сегмента опорного кадра.
В пятой возможной форме реализации устройства для декодирования в соответствии со вторым аспектом как таковой или любой из его форм реализации первый сегмент и второй сегмент соответствуют различным граням куба или икосаэдра.
В шестой возможной форме реализации устройства для декодирования блок расширения сегмента выполнен с возможностью выполнять расширение сегмента на основании флага/информации на уровне блока для каждого блока кодирования видео, на уровне кадра, на GOP уровне (группа изображений), на уровне PPS (набор параметров изображения) или на уровне SPS (набор параметров последовательности). В зависимости от статуса флага операция расширения сегмента может быть включена или отключена.
Согласно третьему аспекту изобретение относится к способу кодирования видеосигнала, причем видеосигнал содержит видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения, причем видеоконтент предоставлен в форме множества последовательных кадров, в котором каждый кадр множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости изображения, причем первый сегмент и второй сегмент каждый содержит множество пикселей, в котором каждый пиксель ассоциирован со значением пикселя, при этом, способ содержит:
генерирование области расширения первого сегмента опорного кадра, причем область расширения содержит множество пикселей расширения, в котором генерирование области расширения содержит, для каждого пикселя расширения, определение значения пикселя расширения на основании значения пикселя второго сегмента опорного кадра;
выбор опорного блока среди набора кандидатов опорных блоков, причем набор кандидатов опорных блоков содержит кандидата опорного блока, расположенный полностью или частично в области расширения первого сегмента опорного кадра; и
кодирование значений пикселей блока кодирования видео первого сегмента текущего кадра на основании значений пикселей блока кодирования видео и значений пикселей выбранного опорного блока.
Опять же, первая плоскость изображения и вторая плоскость изображения могут быть наклонены друг относительно друга на угол между плоскостями (например, между 1° и 90°).
В соответствии с четвертым аспектом изобретение относится к способу декодирования кодированного видеосигнала, причем кодированный видеосигнал содержит видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения, в котором видеоконтент предоставлен в кодированной форме множества последовательных кадров, в котором каждый кадр множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости, при этом, каждый первый сегмент и второй сегмент содержит множество пикселей, причем каждый пиксель ассоциирован со значением пикселя, при этом, способ содержит:
генерирование области расширения первого сегмента опорного кадра, причем область расширения содержит множество пикселей расширения, в котором генерирование области расширения содержит для каждого пикселя расширения определение значения пикселя расширения на основании значения пикселя второго сегмента опорного кадра; и
восстановление значений пикселей блока кодирования видео первого сегмента текущего кадра на основании блока кодирования видео первого сегмента текущего кадра и значений пикселей опорного блока, при этом, опорный блок расположен полностью или частично в первом сегменте опорного кадра, или полностью или частично в области расширения первого сегмента опорного кадра.
Способ декодирования согласно четвертому аспекту изобретения может быть выполнен устройством для декодирования согласно второму аспекту изобретения. Дополнительные признаки способа декодирования в соответствии с четвертым аспектом изобретения вытекают непосредственно из функциональных возможностей устройства для декодирования в соответствии со вторым аспектом изобретения и его различных форм реализации.
В одной форме реализации способа декодирования согласно четвертому аспекту изобретения или в устройстве для декодирования согласно второму аспекту изобретения блок расширения сегмента выполнен с возможностью выполнять расширение сегмента на основании флага/информации на уровне блока для каждого блока кодирования видео на уровне кадра, на уровне GOP (группы изображений), на уровне PPS (набора параметров изображения) или на уровне SPS (набора параметров последовательности). В зависимости от состояния флага, операция расширения сегмента может быть включена или отключена.
Согласно пятому аспекту изобретение относится к компьютерной программе, содержащей программный код для выполнения способа кодирования согласно третьему аспекту или способа декодирования согласно четвертому аспекту при выполнении на компьютере.
Изобретение может быть реализовано в аппаратном и/или программном обеспечении.
Краткое описание чертежей
Дополнительные варианты осуществления изобретения будут описаны со ссылкой на следующие чертежи, на которых:
Фиг.1 показывает схему, иллюстрирующую устройство для кодирования видеосигнала согласно варианту осуществления;
Фиг.2 показывает схему, иллюстрирующую устройство для декодирования видеосигнала согласно варианту осуществления;
Фиг.3 показывает схему, иллюстрирующую геометрическое преобразование для генерирования области расширения, реализованной в устройстве для кодирования и устройстве для декодирования согласно варианту осуществления;
Фиг.4 показывает схему, иллюстрирующую кадр видеосигнала, который может быть обработан устройством для кодирования и устройством для декодирования в соответствии с вариантом осуществления;
Фиг.5 показывает схему, иллюстрирующую геометрическое соотношение сегментов кадра видеосигнала, который может быть обработан устройством для кодирования и устройством для декодирования в соответствии с вариантом осуществления;
Фиг.6 показывает схему, иллюстрирующую сегмент видеосигнала, включающий в себя его области расширения, генерируемые устройством для кодирования и устройством для декодирования в соответствии с вариантом осуществления;
Фиг.7 показывает схему, иллюстрирующую сегмент видеосигнала, включающий в себя его области расширения в кадре, который генерируют устройством для кодирования и устройством для декодирования в соответствии с вариантом осуществления;
Фиг.8 показывает схему, иллюстрирующую способ кодирования видеосигнала в соответствии с вариантом осуществления; и
Фиг.9 показывает схему, иллюстрирующую способ декодирования видеосигнала согласно варианту осуществления.
На различных чертежах идентичные ссылочные позиции будут использованы для идентичных или, по меньшей мере, функционально эквивалентных признаков.
Подробное описание вариантов осуществления
В последующем описании сделана ссылка на прилагаемые чертежи, которые составляют часть настоящего изобретения и на которых в качестве иллюстрации показаны конкретные аспекты, в которых может быть реализовано настоящее изобретение. Очевидно, что могут быть использованы другие аспекты, и могут быть сделаны структурные или логические изменения, не выходя за рамки объема настоящего изобретения. Следовательно, нижеследующее подробное описание не следует воспринимать в ограничивающем смысле, поскольку объем настоящего изобретения определен прилагаемой формулой изобретения.
Например, понятно, что настоящее изобретение с описанным способом может также быть реализовано для соответствующего устройства или системы, выполненной с возможностью выполнять способ и vice versa. Например, если описан конкретный этап способа, соответствующее устройство может включать в себя блок для выполнения описанного этапа способа, даже если такой блок явно не описан или не проиллюстрирован на чертежах. Кроме того, понятно, что признаки различных примерных аспектов, описанных в настоящем документе, могут быть объединены друг с другом, если специально не указано иное.
На фиг.1 показана принципиальная схема, иллюстрирующая устройство 100 для кодирования блока видеокодирования видеосигнала в соответствии с вариантом осуществления, в котором видеосигнал содержит множество кадров, и каждый кадр содержит множество сегментов, включающие в себя первый сегмент и второй сегмент. Каждый сегмент ассоциирован с другой плоскостью изображения и делится на множество блоков кодирования видео, причем каждый блок кодирования видео содержит множество пикселей, и каждый пиксель ассоциирован со значением пикселя. В варианте осуществления блоки кодирования видео могут быть макроблоками, блоками дерева кодирования, блоками кодирования, блоками предсказания и/или блоками предсказания.
Устройство 100 для кодирования содержит блок 111а, 111b расширения сегмента, выполненный с возможностью генерировать область расширения первого сегмента опорного кадра, включающий в себя множество пикселей расширения, как будет описано более подробно ниже. Для каждого пикселя расширения блок 111а, 111b расширения сегмента выполнен с возможностью определять значения пикселя расширения на основании значения пикселя второго сегмента опорного кадра.
Устройство 100 для кодирования дополнительно содержит блок 113, 115 внешнего предсказания, выполненный с возможностью выполнять компенсацию движения блока кодирования видео первого сегмента текущего обработанного кадра, то есть, генерировать предсказанный блок кодирования видео на основании совмещенного блока кодирования видео в опорном кадре, на основании пикселей первого сегмента опорного кадра и пикселей расширения области расширения опорного кадра, а также блок 101, 119 кодирования, выполненный с возможностью генерировать блок кодированного видео на основании предсказанного блока кодирования видео. Как будет более подробно описано ниже, блок 101, 119 кодирования может содержать блок 101 преобразования и квантования и/или блок 119 энтропийного кодирования.
Вариант осуществления устройства 100 для кодирования, показанный на фиг.1, работает следующим образом. Кадр видеосигнала, который включает в себя множество сегментов, таких как сегменты куба 3x2, разбивают на множество непересекающихся блоков кодирования видео. Для каждого в данный момент обработанного блока кодирования видео блок предиктора, то есть, предсказанный текущий блок кодирования видео, вычитают блоком 102 вычитания, обеспечивающим остаточный блок кодирования видео. Затем остаточный блок кодирования видео преобразуют и квантуют блоком 101 преобразования и квантования, показанный на фиг.1, и энтропийно кодируемого блоком 119 энтропийного кодирования. Блоки кодирования видео, которые уже закодированы, доступны с помощью опорного декодера 120. Опорный декодер 120 содержит блок 103 обратного преобразования и квантования, который инвертирует результирующую функциональность блока 101 преобразования и квантования (на данном этапе может быть введена ошибка квантования). Блок 105 сложения объединяет остаточный блок кодирования видео с блоком предиктора, чтобы получить восстановленный блок кодирования видео, который доступен для внутреннего предсказания других блоков кодирования видео того же кадра, используя блок 117 внутреннего предсказания.
Восстановленный блок кодирования видео, возможно, подвергают циклической фильтрации блоком 107 контурной фильтрации (выбор может быть сделан блоком управления устройства 100 для кодирования) и сохраняют в буфере 109 опорных кадров. На этом этапе также доступен восстановленный блок кодирования видео для внешнего предсказания блоков кодирования видео других кадров. Если осуществляется доступ к буферу 109 опорных кадров, блок 111a, 111b расширения сегмента может предоставить область расширения сегмента, содержащего текущий блок кодирования видео, как уже упомянуто выше и как будет описано более подробно далее ниже. Хотя на фиг.1 для иллюстрации показаны два блока 111a, 111b расширения сегмента, понятно, что два блока 111a, 111b расширения сегмента, показанные на фиг.1, также могут быть реализованы в одном блоке.
Как уже упоминалось выше, данные, предоставленные блоком 111a, 111b расширения сегмента, используют блоком 115 внешнего предсказания для выполнения компенсации движения. С этой целью устройство 100 для кодирования, показанное на фиг.1, дополнительно содержит блок 113 оценки движения. В других вариантах осуществления блок 113 оценки движения может быть реализован как часть блока 115 внешнего предсказания. Как правило, блок управления устройства 100 для кодирования (не показано на фиг.1) выбирает обрабатываемый в данный момент блок кодирования видео и режим предсказания, то есть, внутреннего или внешнего предсказания, для предсказания обрабатываемого в данный момент блока кодирования видео. Эта информация также необходима для устройства 200 для декодирования, показанного на фиг.2, и, следовательно, также энтропийно кодируют в поток битов блоком 119 энтропийного кодирования.
На фиг.2 показана схема, иллюстрирующая устройство 200 для декодирования кодированного блока кодирования видео для видеосигнала согласно варианту осуществления, в котором видеосигнал содержит множество кадров, и каждый кадр содержит множество сегментов, включающее в себя первый сегмент и второй сегмент. Каждый сегмент ассоциирован с другой плоскостью изображения и делится на множество блоков кодирования видео, причем каждый блок кодирования видео содержит множество пикселей, и каждый пиксель ассоциирован со значением пикселя.
Устройство 200 для декодирования содержит блок 203, 219 декодирования, выполненный с возможностью декодировать блок кодирования видео первого сегмента текущего кадра для обеспечения остаточного блока кодирования видео. Как будет более подробно описано ниже, блок 203, 219 декодирования может содержать блок 203 обратного преобразования и квантования и/или блок 219 энтропийного кодирования.
Устройство 200 для декодирования дополнительно содержит блок 211 расширения сегмента, выполненный с возможностью генерировать область расширения первого сегмента опорного кадра, включающий в себя множество пикселей расширения, в котором для каждого пикселя расширения блок 211 расширения сегмента выполнен с возможностью определять значение пикселя расширение на основании значения пикселя второго сегмента опорного кадра, как будет описано более подробно ниже.
Устройство 200 для декодирования дополнительно содержит блок 215 внешнего предсказания, выполненный с возможностью выполнять компенсацию движения блока кодирования видео первого сегмента текущего кадра, то есть, генерировать предсказанный блок кодирования видео на основании совмещенного блока кодирования видео в опорном кадре, на основании пикселей первого сегмента опорного кадра и пикселей расширения области расширения опорного кадра.
Устройство 200 для декодирования дополнительно содержит блок 209 восстановления, выполненный с возможностью восстанавливать блок кодирования видео текущего кадра на основании предсказанного блока кодирования видео и остаточного блока кодирования видео.
Вариант осуществления устройства 200 для декодирования, показанный на фиг.2, работает следующим образом. Текущий кадр видеосигнала разбивают на множество непересекающихся блоков кодирования видео. Остаточный обработанный в данный момент блок кодирования видео, то есть, остаточный блок кодирования видео, декодируют боком 219 энтропийного кодирования вместе с соответствующими параметрами для внешнего и внутреннего предсказания. Блок кодирования остаточного видео обрабатывают блоком 203 обратного преобразования и квантования и добавляют блоком 205 суммирования в предсказанный блок кодирования видео для генерирования восстановленного блока кодирования видео. Восстановленный блок кодирования видео поставляют в блок 217 внутреннего предсказания для внутреннего предсказания других блоков кодирования видео того же кадра. Кроме того, восстановленный блок кодирования видео может быть подвергнут циклической фильтрации с помощью контурного фильтра 207 (выбор может быть сделан блоком управления устройства 200 для декодирования) и сохранен в буфере 209 опорных кадров. На этом этапе восстановленный блок кодирования видео также доступен для внешнего предсказания блоков кодирования видео других кадров. Если в буфер 209 опорного кадра осуществляют доступ, блок 211 расширения сегмента может обеспечить область расширения сегмента в опорном кадре, как уже упоминался выше и как будет более подробно описан ниже. Буфер 209 опорных кадров выполнен с возможностью выводить обработанные кадры в порядке вывода.
Для получения более подробной информации о некоторых из известных блоков устройства 100 для кодирования и устройства 200 для декодирования, описанных выше, сделана ссылка на учебник «Высокоэффективное кодирование видео», Mathias Wien, первое издание, Springer-Verlag Berlin Heidelberg, 2015, который полностью включен в настоящий документ посредством ссылки.
В одном варианте осуществления блок 111a, 111b расширения сегмента устройства 100 для кодирования и блок 211 расширения сегмента устройства 200 для декодирования выполнены с возможностью для каждого пикселя расширения области расширения первого сегмента опорного кадра, чтобы определить значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра с использованием отображения, выполненными с возможностью отображать пиксель второго сегмента опорного кадра на плоскость изображения первого сегмента опорного кадра таким образом, что компенсируют геометрическое искажение по их общему краю.
Фиг.3 иллюстрирует отображение или геометрическое преобразование, реализованное в блоке 111a, 111b расширения сегмента устройства 100 для кодирования и блоке 211 расширения сегмента устройства 200 для декодирования, обеспечивая компенсацию геометрического искажения по общему краю первого сегмента и соседнего второго сегмента опорного кадра. Здесь предполагают, что первый сегмент (также называемый сегментом A, ассоциированным с плоскостью A изображения) и второй сегмент (также называемый сегментом B, ассоциированным с плоскостью B изображения), имеют одинаковое положение камеры или центр С камеры и имеют общую граничную линию.
Как видно из фиг.3, точка в трехмерном пространстве лежит на луче, проходящем через центр С камеры, который пересекает плоскость A изображения и плоскость B изображения. Следовательно, точка в плоскости B изображения может проецироваться или отображается на точку на плоскости A. Для этой операции не требуется получение информации о расстоянии 3D-точки от центра C камеры.
Математически это можно выразить следующим образом. Точка может быть выражена в виде вектора в трехмерном пространстве, то есть, . Однородное представление точки можно выразить как .
Проекция однородного представления на плоскость B изображения, которая обозначается как , может быть выражена следующим образом:
где КВ является калибровочной матрицей камеры, ассоциированной с плоскостью B изображения. Вышеупомянутое уравнение может быть выражено несколько иначе в следующей форме:
Поскольку однородные координаты определены в масштабе, для получения нормализованных однородных координат изображения масштабный коэффициент может быть опущен. Эта нормализованная форма также может быть получена непосредственно следующим образом:
Если расстояние от камеры до точки известно, то проекцию можно инвертировать следующим образом:
Также в этом случае масштабный коэффициент может быть уменьшен. Точка, полученная описанным выше способом, затем может быть спроецирована на плоскость A изображения. Однако, поскольку плоскость A изображения имеет ориентацию, отличную от плоскости B изображения, сначала необходимо выполнить поворот R вокруг центра C камеры для выравнивания плоскости A изображения с плоскостью B изображения. Данный поворот R определен углом θ между плоскостью A изображения и плоскостью B изображения и также может быть выражен как комбинация поворотов вокруг соответствующих координатных осей, то есть:
Поворот также может быть выражен в однородных координатах следующим образом:
Таким образом, точка в плоскости B изображения может проецироваться или отображаться на соответствующую точку в плоскости A изображения:
Таким образом, матрица гомографии для переноса точки из плоскости B изображения в плоскость B изображения может быть выражена следующим образом:
Как видно из приведенного выше уравнения для определения матрицы гомографии расстояние Z от камеры C выпадает из уравнения, так как эта информация не является необходимой для выполнения гомографии.
Для получения более подробной информации о преобразованиях, описанных выше, сделана ссылка на учебник «Геометрия множественного обзора в компьютерном зрении» Ричарда Харли и Эндрю Циссермана, второе издание, издательство Cambridge University Press, 2003, описание которого полностью включено в настоящий документ посредством ссылки.
Таким образом, в варианте осуществления отображение или геометрическое преобразование, реализованное в блоке 111a, 111b расширения сегмента устройства 100 для кодирования и блоке 211 расширения сегмента устройства 200 для декодирования, содержит следующие этапы: проецирование пикселя или точки второго сегмента опорного кадра на точку в трехмерном пространстве, в котором точка лежит на линии, соединяющей пиксель второго сегмента опорного кадра с положением С камеры; выполнение поворота для поворота плоскости В изображения второго сегмента опорного кадра в параллельную ориентацию с плоскостью А изображения первого сегмента опорного кадра; и проецирование точки на точку в плоскости А изображения первого сегмента опорного кадра, в котором точка в плоскости А изображения первого сегмента опорного кадра определяет пиксель расширения.
В дополнительном варианте осуществления отображение или геометрическое преобразование, реализованные в блоке 111a, 111b расширения сегмента устройства 100 для кодирования и блоке 211 расширения сегмента устройства 200 для декодирования, основаны на следующей матрице гомографии:
Ниже описанный выше подход будет объяснен в контексте 360° видеосигнала, в котором сегменты представляют собой шесть граней куба, то есть, 360° видеосигнал был отображен на шесть сегментов, определяющих куб. Грани или сегменты куба расположены в рамке. Одно возможное расположение рамки 400 показано на фиг.4, включающая в себя сегменты 401-1,…, 401-6 куба и границу 403 дополненного изображения. Каждые сегменты 401-1,…, 401-6 куба могут быть определены как основная грань или сегмент, имеющий четыре смежных или соседних сегмента, как показано на фиг.5, где в качестве основной грани был выбран сегмент 401-1 куба. Без геометрических поправок, обеспечиваемых заявленным изобретением, на границах сегментов, показанных на фиг.5, будут наблюдать геометрические искажения.
Для простоты изложения предполагают, что разрешение различных сегментов куба одинаково. Кроме того, предполагают, что соответствующие главные точки с координатами лежат в центре соответствующих сегментов куба. В таком варианте осуществления матрицы KA и KB калибровки могут быть выражены следующим образом:
и
где f обозначает фокусное расстояние, которое может быть определено с использованием геометрических соображений, равным w/2, при этом w обозначает ширину сегмента куба в пикселях.
Для этого варианта осуществления предполагают, что плоскость A изображения первого сегмента совпадает с плоскостью x-y декартовой системы координат, тогда как плоскость B изображения второго сегмента находится в ее плоскости y-z. В этом варианте осуществления поворот для выравнивания плоскости A изображения с плоскостью B изображения представляет собой поворот на 90° вокруг оси y. В этом случае матрица гомографии может быть выражена следующим образом:
Опять же, и здесь масштабный коэффициент можно отбросить.
Таким образом, в варианте осуществления отображение или геометрическое преобразование, реализованные в блоке 111a, 111b расширения сегмента устройства 100 для кодирования и блоке 211 расширения сегмента устройства 200 для декодирования, основаны на следующей матрице гомографии:
В варианте осуществления каждый из шести сегментов 401-1,…, 401-6 куба, показанных на фиг.4, может быть расширен на основании значений пикселей соответствующих смежных сегментов. На фиг.6 проиллюстрировано для сегмента 401-1 куба, который может иметь область 401-1a расширения на основании своего левого соседнего сегмента 401-2, область 401-1b расширения на основании своего верхнего соседнего сегмента 401-4, область 401-1c расширения на основании правого соседнего сегмента 401-3 и область 401-1d расширения на основании нижнего соседнего сегмента 401-5.
В варианте осуществления области расширения могут всегда обеспечиваться блоком 111a, 111b расширения сегмента устройства 100 для кодирования и блоком 211 расширения сегмента устройства 200 для декодирования для межкадрового предсказания. Однако следует понимать, что компенсированный блок не обязательно отличается от исходного блока. Например, блок, для которого должна быть выполнена компенсация движения, находится на краю грани (главная грань на фиг.5). Область, в которой выполняется компенсация движения, расширяется на основании местоположения блока, который должен быть предсказан. Четыре соседних сегмента могут использоваться вместе с основным сегментом для генерирования расширенного сегмента, то есть, основного сегмента и его областей расширения. Область основного сегмента не изменяется. Изменяется только область вокруг основного сегмента, генерируемая из других сегментов. Пока компенсация движения работает внутри основного сегмента 401-1, поведение является таким же, как и без расширения сегмента, обеспечиваемого вариантами осуществления изобретения. Когда компенсацию движению выполняют за пределами основного сегмента, поведение отличается, в настоящем документе используют информацию из областей расширения.
Аналогичные гомографии применяют для других сегментов. Каждый сегмент куба может быть расширен, как описано выше. Однако это может привести к тому, что расширенные области перекрывают друг друга. Таким образом, в одном варианте осуществления расширенные области могут быть сохранены в отдельные дополнительные опорные изображения или кадры, как показано на фиг.7. Опорное изображение, которое должно быть использовано при кодировании и декодировании, получают на основании пространственного расположения блока, который в данный момент обрабатывается. Таким образом, дополнительная сигнализация не требуется (количество изображений в списках опорных изображений не изменяется). Более конкретно, хотя в примере, показанном на фиг.7, шесть опорных изображений можно считать доступными сейчас вместо одного, только одно используют для данного блока предсказания, поскольку в варианте осуществления блок может быть назначен одному сегменту и его соответствующие области расширения (которые, в свою очередь, определены местоположением блока). В одном из вариантов, это может быть сделано путем явной замены опорного изображения, используемого устройством 100 для кодирования, на соответствующие дополнительное опорное изображение на основании местоположения блока, который обрабатывается. Устройство 100 для кодирования и устройство 200 для декодирования не «осведомлены» о том, что имеется больше опорных изображений. Замена происходит только при доступе к фактическому буферу YUV. Замена может быть выполнена для прошлых и будущих опорных изображений в списке опорных изображений, которое должно быть предсказано.
Таким образом, варианты осуществления изобретения только увеличивают вычислительную сложность. Дополнительные необходимые операции сводятся к формированию расширенных областей. Требование к памяти может увеличиться, поскольку вместо одного сохраняют 6 изображений. Это, однако, является технической задачей конкретной реализации. Более эффективные варианты осуществления, возможно, не должны хранить все дополнительные 6 изображений, но могут хранить только данные, требуемые для небольших областей вокруг каждого сегмента. Другой альтернативный вариант заключается в применении расширения для каждого блока и местоположения поиска. Это не потребовало бы дополнительной памяти, однако это привело бы к дополнительной вычислительной сложности, поскольку компенсация должна была бы быть выполнена для каждого искомого местоположения.
Варианты осуществления изобретения также учитывают «охват» видеосигнала на 360°. Каждая граница сегмента может быть расширена с помощью информации от ее соседей. Это также верно для границ сегмента, совпадающих с границами 360° изображения. Как видно на фиг.7, расширенный сегмент 401-1 не требует заполнения. Вместо этого область заполнения может быть заполнена контентом другого сегмента куба. Размер расширенной области может быть получен из диапазона поиска, используемого устройством 100 для кодирования во время компенсации движения, так что его размер соответствует размеру заполнения границы изображения.
На фиг.8 показана схема, иллюстрирующая способ 800 кодирования видеосигнала согласно варианту осуществления, в котором видеосигнал содержит множество кадров, и каждый кадр содержит множество сегментов, включающее в себя первый сегмент и второй сегмент. Каждый сегмент ассоциирован с другой плоскостью изображения и делится на множество блоков кодирования видео, причем каждый блок кодирования видео содержит множество пикселей, и каждый пиксель ассоциирован со значением пикселя.
Способ 800 кодирования включает в себя следующие этапы: генерирование 801 области расширения первого сегмента опорного кадра, содержащей множество пикселей расширения путем определения значения пикселя расширения на основании значения пикселя второго сегмента в опорном кадре; выполнение 803 компенсации движения блока кодирования видео первого сегмента в текущем кадре на основании пикселей первого сегмента в опорном кадре и пикселей расширения области расширения в опорном кадре; и генерирование 805 кодированного блока кодирования видео в текущем кадре на основании предсказанного блока кодирования видео.
Коротко, сегмент опорного кадра и область расширения, генерируемая из другого сегмента опорного кадра, используют для кодирования текущего кадра с помощью внешнего предсказания.
На фиг.9 показана схема, иллюстрирующая способ 900 декодирования видеосигнала согласно варианту осуществления, в котором видеосигнал содержит множество кадров, и каждый кадр содержит множество сегментов, включающее в себя первый сегмент и второй сегмент. Каждый сегмент ассоциирован с другой плоскостью изображения и делится на множество блоков кодирования видео, причем каждый блок кодирования видео содержит множество пикселей, и каждый пиксель ассоциирован со значением пикселя.
Способ 900 декодирования содержит следующие этапы: декодирование 901 блока кодирования видео первого сегмента в текущем кадре для обеспечения остаточного блока кодирования видео; генерирование 903 области расширения первого сегмента в опорном кадре, содержащей множество пикселей расширения путем определения значения пикселя расширения на основании значения пикселя второго сегмента в опорном кадре; выполнение 905 компенсации движения блока кодирования видео первого сегмента в текущем кадре на основании пикселей первого сегмента в опорном кадре и пикселей расширения области расширения в опорном кадре; и восстановление 907 блока кодирования видео в текущем кадре на основании предсказанного блока кодирования видео и остаточного блока кодирования видео.
В данном документе был описан предложенная технология в основном со ссылкой на два сегмента, но можно легко адаптировать к видеосигналу с видеоконтентом более двух сегментов. В частности, сегмент может быть расширен с использованием контента изображения из нескольких других сегментов.
Хотя конкретный признак или аспект изобретения может быть раскрыт только в отношении только одной из нескольких реализаций или вариантов осуществления, такой признак или аспект могут быть объединены с одним или несколькими другими признаками или аспектами других реализаций или вариантов осуществления, которые могут быть желательны, и выгодно для любого конкретного или конкретного применения. Кроме того, в той мере, в которой термины «включать в себя», «иметь», «с» или другие их варианты используют либо в подробном описании, либо в формуле изобретения, такие термины предназначены для включения в состав таким же образом, как и термин «содержит». Также термины «примерный», «например» и «e.g.» предназначены только для примера, а не для лучшего или оптимального варианта. Могут быть использованы термины «соединенный» и «подключенный», наряду с производными. Следует понимать, что эти термины могли использоваться для указания, что два элемента взаимодействуют или функционируют друг с другом независимо от того, находятся ли они в прямом физическом или электрическом контакте, или они не находятся в прямом контакте друг с другом.
Хотя были проиллюстрированы и описаны в настоящем документе конкретные аспекты, специалистам в данной области техники должно быть понятно, что множество альтернативных и/или эквивалентных реализаций может быть заменено конкретными аспектами, показанными и описанными в настоящем документе, не выходя за рамки объема настоящего изобретения. Настоящее изобретение охватывает любые адаптации или вариации конкретных аспектов, описанных в настоящем документе.
Хотя элементы в следующей формуле изобретения изложены в определенной последовательности с соответствующей маркировкой, если в пунктах формулы изобретения не указано иное, подразумевается конкретная последовательность для реализации некоторых или всех из этих элементов, эти элементы не обязательно должны быть ограничены реализацией в этой конкретной последовательности.
В свете вышеизложенного для специалистов в данной области техники будут очевидны многие альтернативы, модификации и вариации. Конечно, специалисты в данной области техники понимают, что существуют многочисленные применения изобретения, помимо описанных в настоящем документе. Хотя настоящее изобретение было описано со ссылкой на один или несколько конкретных вариантов осуществления, специалисты в данной области техники признают, что в него могут быть внесены многие изменения без отклонения от объема настоящего изобретения. Следовательно, следует понимать, что в пределах объема прилагаемой формулы изобретения и ее эквивалентов изобретение может быть осуществлено на практике иначе, чем конкретно описано в настоящем документе.
Изобретение относится к вычислительной технике. Технический результат заключается в компенсации геометрического искажения при обработке изображений. Устройство для кодирования видеосигнала, которое содержит блок расширения сегмента, выполненный с возможностью генерировать область расширения первого сегмента опорного кадра и определять значение пикселя для пикселя расширения на основании значения пикселя второго сегмента опорного кадра; и блок кодирования с внешним предсказанием, выполненный с возможностью выбирать опорный блок среди набора кандидатов опорных блоков и кодировать значения пикселей блока кодирования видео первого сегмента текущего кадра на основании значений пикселей блока кодирования видео и значений пикселей выбранного опорного блока; причем для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра посредством отображения пикселя второго сегмента опорного кадра на первую плоскость изображения, в котором отображение реализуется путем проецирования пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, и в котором точка в трехмерном пространстве лежит на луче, проходящем через центр камеры. 6 н. и 9 з.п. ф-лы, 9 ил.
1. Устройство для кодирования видеосигнала, причем видеосигнал содержит
видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения, причем видеоконтент предоставлен в виде множества последовательных кадров, в котором каждый кадр множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости изображения, причем первый сегмент и второй сегмент, каждый, содержит множество пикселей, причем каждый пиксель ассоциирован со значением пикселя, причем устройство содержит:
блок расширения сегмента, выполненный с возможностью генерировать область расширения первого сегмента опорного кадра, причем область расширения содержит множество пикселей расширения, в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя для пикселя расширения на основании значения пикселя второго сегмента опорного кадра; и
блок кодирования с внешним предсказанием, выполненный с возможностью выбирать опорный блок среди набора кандидатов опорных блоков, причем набор кандидатов опорных блоков содержит кандидата опорного блока, расположенный полностью или частично в области расширения первого сегмента опорного кадра, и выполненный с возможностью кодировать значения пикселей блока кодирования видео первого сегмента текущего кадра на основании значений пикселей блока кодирования видео и значений пикселей выбранного опорного блока,
в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра посредством отображения пикселя второго сегмента опорного кадра на первую плоскость изображения, в котором отображение реализуется путем проецирования пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, и в котором точка в трехмерном пространстве лежит на луче, проходящем через центр камеры.
2. Устройство для кодирования по п.1, в котором отображение содержит или эквивалентно следующим этапам: проектирование пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, в котором точка лежит на линии, соединяющей пиксель второго сегмента опорного кадра с положением С камеры; выполнение поворота для поворота плоскости изображения второго сегмента опорного кадра в параллельную ориентацию относительно плоскости изображения первого сегмента опорного кадра; и проецирование точки на точку в плоскости изображения первого сегмента опорного кадра, в котором точка в плоскости изображения первого сегмента опорного кадра определяет пиксель расширения.
3. Устройство для кодирования по п.1, в котором отображение основано на следующей матрице гомографии:
в котором и обозначают матрицы калибровки камеры для первого сегмента и второго отрезка опорного кадра, θ обозначает угол между плоскостью изображения первого сегмента и плоскостью изображения второго сегмента опорного кадра, обозначает поворот и Z обозначает расстояние от положения С камеры.
4. Устройство для кодирования по п.1, в котором устройство для кодирования дополнительно содержит буфер (109) опорного кадра, выполненный с возможностью хранить первый сегмент опорного кадра вместе с областью расширения первого сегмента опорного кадра.
5. Устройство для кодирования по п.1, в котором первый сегмент соответствует первой грани куба или икосаэдра и второй сегмент соответствует различным граням куба или икосаэдра.
6. Устройство для декодирования кодированного видеосигнала, причем кодированный видеосигнал содержит видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения, причем видеоконтент предоставлен в кодированной форме множества последовательных кадров, в котором каждый кадр множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости, причем первый сегмент и второй сегмент, каждый из которых содержит множество пикселей, причем каждый пиксель ассоциирован со значением пикселя, причем устройство содержит:
блок расширения сегмента, выполненный с возможностью генерировать область расширения первого сегмента опорного кадра, причем область расширения содержит множество пикселей расширения, в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра; и
блок восстановления с внешним предсказанием, выполненным с возможностью восстанавливать значения пикселей блока кодирования видео первого сегмента текущего кадра на основании кодированного блока кодирования видео первого сегмента текущего кадра и значения пикселей опорного блока, в котором опорный блок расположен полностью или частично в первом сегменте опорного кадра, или полностью или частично в области расширения первого сегмента опорного кадра,
в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра посредством отображения пикселя второго сегмента опорного кадра на плоскость изображения первого сегмента опорного кадра, в котором отображение реализуется путем проецирования пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, и в котором точка в трехмерном пространстве лежит на луче, проходящем через центр камеры.
7. Устройство для декодирования по п.6, в котором отображение содержит следующие этапы: проектирование пикселя второго сегмента отсчета на точку в трехмерном пространстве, в котором точка лежит на линии, соединяющей пиксель второго сегмента опорного кадра с положением С камеры; выполнение поворота для поворота плоскости изображения второго сегмента опорного кадра в параллельную ориентацию относительно плоскости изображения первого сегмента опорного кадра; и проецирование точки на точку в плоскости изображения первого сегмента опорного кадра, в котором точка в плоскости изображения первого сегмента опорного кадра определяет пиксель расширения.
8. Устройство для декодирования по п.6, в котором отображение основано на следующей матрице гомографии:
в котором и обозначают калибровки матрицы камеры для первого сегмента и второго отрезка опорного кадра, θ обозначает угол между плоскостью изображения первого сегмента и плоскостью изображения второго сегмента опорного кадра, обозначает поворот и Z обозначает расстояние от положения С камеры.
9. Устройство для декодирования по п.6, в котором устройство для декодирования дополнительно содержит буфер (209) опорного кадра, выполненный с возможностью хранить первый сегмент опорного кадра вместе с областью расширения первого сегмента опорного кадра.
10. Устройство для декодирования по п.6, в котором первый сегмент и второй сегмент соответствуют различным граням куба или икосаэдра.
11. Устройство для декодирования по п.6, в котором блок расширения сегмента выполнен с возможностью выполнять расширение сегмента на основании флага/информации на уровне блока для каждого блока кодирования видео, на уровне кадра, на GOP уровне (группа изображений), на уровне PPS (набор параметров изображения) или на уровне SPS (набор параметров последовательности), в зависимости от статуса флага операция расширения сегмента может быть включена или отключена.
12. Способ кодирования видеосигнала, причем видеосигнал содержит видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения, причем видеоконтент предоставлен в виде множества последовательных кадров, в котором каждый кадр множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости изображения, причем первый сегмент и второй сегмент, каждый, содержит множество пикселей, причем каждый пиксель ассоциирован со значением пикселя, при этом способ содержит:
генерирование области расширения первого сегмента опорного кадра, причем область расширения содержит множество пикселей расширения, в котором генерирование области расширения содержит, для каждого пикселя расширения, определение значения пикселя расширения на основании значения пикселя второго сегмента опорного кадра;
выбор опорного блока среди множества кандидатов опорных блоков, причем множество кандидатов опорных блоков содержит кандидата опорного блока, расположенного полностью или частично в области расширения первого сегмента опорного кадра; и
кодирование значений пикселей блока кодирования видео первого сегмента текущего кадра на основании значений пикселей блока кодирования видео и значений пикселей выбранного опорного блока;
в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра посредством отображения пикселя второго сегмента опорного кадра на первую плоскость изображения, в котором отображение реализуется путем проецирования пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, и в котором точка в трехмерном пространстве лежит на луче, проходящем через центр камеры.
13. Способ декодирования кодированного видеосигнала, причем кодированный видеосигнал содержит видеоконтент, который включает в себя видеоконтент первой плоскости изображения и видеоконтент второй плоскости изображения, причем видеоконтент предоставлен в кодированной форме множества последовательных кадров, в котором каждый кадр множества последовательных кадров содержит первый сегмент, который содержит контент изображения первой плоскости изображения, и второй сегмент, который содержит контент изображения второй плоскости, причем первый сегмент и второй сегмент, каждый из которых содержит множество пикселей, причем каждый пиксель ассоциирован со значением пикселя, при этом способ содержит:
генерирование области расширения первого сегмента опорного кадра, причем область расширения содержит множество пикселей расширения, в котором генерирование области расширения содержит, для каждого пикселя расширения, определение значения пикселя расширения на основании значения пикселя второго сегмента опорного кадра; и
восстановление значений пикселей блока кодирования видео первого сегмента текущего кадра на основании блока кодирования видео первого сегмента текущего кадра и значений пикселей опорного блока, при этом опорный блок расположен полностью или частично в первом сегменте опорного кадра или полностью, или частично в области расширения первого сегмента опорного кадра;
в котором для каждого пикселя расширения блок расширения сегмента выполнен с возможностью определять значение пикселя расширения на основании значения пикселя второго сегмента опорного кадра посредством отображения пикселя второго сегмента опорного кадра на первую плоскость изображения, в котором отображение реализуется путем проецирования пикселя второго сегмента опорного кадра на точку в трехмерном пространстве, и в котором точка в трехмерном пространстве лежит на луче, проходящем через центр камеры.
14. Постоянный машиносчитываемый носитель содержит программный код для побуждения компьютера выполнить способ по п.12, при выполнении на компьютере.
15. Постоянный машиносчитываемый носитель содержит программный код для побуждения компьютера выполнить способ по п.13, при выполнении на компьютере.
K | |||
CHEN et al | |||
"Expanding Line Search for Panorama Motion Estimation", опубл | |||
Видоизменение прибора с двумя приемами для рассматривания проекционные увеличенных и удаленных от зрителя стереограмм | 1919 |
|
SU28A1 |
US 7999842 B1, 16.08.2011 | |||
K | |||
JIANG et al | |||
"Compression of cubic-panorama datasets with spatially consistent representation", опубл |
Авторы
Даты
2020-08-13—Публикация
2016-09-30—Подача