СПОСОБЫ И УСТРОЙСТВА ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ МНОГОВИДОВОЙ ВИДЕОПОСЛЕДОВАТЕЛЬНОСТИ ВСЕНАПРАВЛЕННОГО ВИДЕО
METHODS AND DEVICES FOR ENCODING AND DECODING OF MULTI-VIEW VIDEO SEQUENCE OF OMNIDIRECTIONAL VIDEO

Область техники, к которой относится изобретение
Изобретение относится к всенаправленному видео, такому как, в частности, 360°, 180° видео и т.д. Более конкретно, настоящее изобретение относится к кодированию и декодированию таких видео.
Уровень техники
360° видео захватывается камерами, установленными на сферической платформе. Эти камеры называются камерами с расходящимися оптическими осями объективов, потому что они размещены для захвата сцены во всех направлениях. Каждая камера захватывает часть сцены, все виды, захваченные камерами, позволяют генерировать видео, представляющее сцену в соответствии с 360° полем обзора.
Такие 360° видео позволяет пользователю просматривать сцену, как если бы пользователь находился в центре сцены и может просмотреть все вокруг него на 360°, обеспечивая, тем самым, новый способ просмотра видео. Такое видео обычно воспроизводится на гарнитурах виртуальной реальности, также известные под названием HMD «установленное на голове устройство». Но также изображения могут быть отображены на 2D экранах, оснащенных приспособленным средством для взаимодействия с пользователем. Количество камер для захвата 360° сцены изменяется в зависимости от используемых платформ.
Тем не менее, независимо от используемой платформы, две соседние камеры, каждая захватывает часть сцены с перекрытием данных, захваченные этими двумя камерами. Другими словами, часть сцены, захваченной в 360°, является общей между двумя видами каждого захваченного вида, соответственно двух соседних камер. Это показано на фиг.1, показывающее два вида: вид 1, захваченный первой камерой, и вид 2, захваченный с помощью второй камеры, размещенной на правой части первой камеры. На фиг.1, область справа вида 1 (показано сплошной линией) соответствует той же части захваченной сцены, что и область слева на виде 2 (показано сплошной линией). Следовательно, наблюдают перекрытие данных сцены между видами 1 и 2. Такое перекрытие необходимо для обеспечения непрерывного перехода при изменении поля просмотра пользователя, представленного 360° видео.
Для генерирования 360° видео, расходящиеся виды, захваченные разными камерами, расположены встык с учетом перекрытия между видами, что формирует панорамный 2D вид. Эта операция также известна как «сшивание». Например, равнопромежуточная проекция (ERP) является возможной проекцией для получения такого панорамного изображения. В соответствии с этой проекцией, изображения каждого вида проецируются на сферическую поверхность. Также возможны другие типы проекций, такие как тип проекции кубическая карта (проекции на грани куба). Изображения, проецируемые на поверхность, затем проецируют на 2D плоскость для получения 2D изображения, содержащее в данный момент все виды захваченной сцены.
2D изображения, полученные таким образом, затем кодируются с использованием обычного 2D видео кодера, например, кодера, соответствующего HEVC (сокращение для «высокоэффективного кодирования видео») стандарта.
Основным недостатком этого способа является то, что, когда видео 360° возвращается пользователю, можно изменить точку просмотра путем поворота вокруг статической центральной точки, но невозможно сместить от этой центральной точки, например, сдвинув несколько сантиметров влево, вправо, вперед или назад. Другими словами, изменить точку просмотра можно только посредством поворота, тогда любое другое перемещение, в частности в виде параллельного переноса, исключено. Таким образом, такой способ обеспечивает 3 степени свободы (3DоF, 3 степени свободы), но не обеспечивает естественное движение в соответствии с 6 степенями свободы (6DоF).
Этот недостаток тем более значителен, когда пользователь выполняет только вращательное движение, на самом деле, пользователь совершает множество мелких излишних поступательных движений. Такие поступательные движения не отображаются правильно, что оказывает влияние на отображение пикселей пользователю, которые не вполне соответствуют тому, что ожидается для восприятия пользователем. Это одна из главных причин дискомфорта, испытываемого пользователями при использовании HMD оборудования.
Кодеры MV-HEVC и 3D-HEVC используются для кодирования многовидового контента. Такие кодеры применяют межвидовое сходство многовидового контента. Тем не менее, такие кодеры выполнены с возможностью обрабатывать нескольких линейных или конвергентных видов, захваченных камерами, имеющие различные центры, расположенные за пределами сцены. Таким образом, в этих кодерах, расстояние между двумя центрами камеры, называемое «базовым расстоянием», используется для расчета диспаратности с помощью глубины карты. Диспаратность затем используются для предсказания некоторых блоков посредством предсказания посредством компенсации диспаратности, что позволяет использовать межвидовое сходство при кодировании изображений видеопоследовательности.
В случае 360° видео, виды, являющиеся расходящимися, такие многовидовые кодеры не являются оптимальным для кодирования видов 360° видео, межвидовое предсказание будет недостаточным или даже не используемым кодером. Действительно, между двумя видами на 360° видео присутствует немного похожий контент, который может быть предсказан между видами.
Дополнительно, область перекрытия между двумя соседними видами не полностью схожа. Действительно, пиксели перекрывающейся области подвержены геометрическую преобразованию между видами и простое копирование пикселей из одного вида другому в области перекрытия приводит к неэффективному межвидовому предсказанию.
Следовательно, необходимо усовершенствовать уровень техники.
Раскрытие сущности изобретения
Изобретение повышает уровень техники. С этой целью, настоящее изобретение относится к способу декодирования кодированного сигнала, представляющий многовидовую видеопоследовательность всенаправленного видео, многовидовая видеопоследовательность содержит, по меньшей мере, один первый вид и один второй вид. Такой способ декодирования содержит:
- считывание данных сигнала, параметры, позволяющие получить гомографическую матрицу, представляющую преобразование из плоскости второго вида в плоскость первого вида,
- декодирование изображения второго вида, изображение второго вида содержит область, называемую активной областью, содержащей пиксели, которые, когда упомянутые пиксели проецируются с помощью гомографической матрицы на изображение первого вида, содержится в изображении первого вида, декодирование изображения второго вида содержит:
- генерирование опорного изображения, содержащее значения пикселей, определенное из ранее восстановленных пикселей изображения первого вида, и из гомографической матрицы, и
- по меньшей мере, один блок изображения второго вида:
- считывание данных сигнала, индекс опорного изображения, содержащийся в списке опорных изображений, содержащий, по меньшей мере, одно изображение второго ранее восстановленного вида,
- определения, принадлежит ли блок активной области или нет,
- восстановление упомянутого блока из упомянутого опорного изображения, указанного считанным индексом, сгенерированного опорного изображения, содержащееся в упомянутом списке опорных изображений, когда упомянутый блок относится к активной области, и генерируемое опорное изображение не содержится в упомянутом списке опорных изображений, когда упомянутый блок не относится к активной области.
Способ в соответствии с изобретением, таким образом, позволяет повысить производительность сжатия многовидового кодера для кодирования расходящихся видов, за счет использования избыточности между соседними видами для блоков, принадлежащих к межвидовым перекрывающимся областям.
Предпочтительно, межвидовое предсказание улучшается использованием гомографической матрицы, позволяющей компенсировать геометрические искажения между видами.
Область межвидового перекрытия определяют с использованием гомографической матрицы, представляющей собой переход от плоскости изображения первого вида в плоскость изображения второго вида.
В соответствии с изобретением для блоков, принадлежащих к активной области изображения, подлежащего декодированию, предсказание улучшается за счет возможности использования нового опорного изображения, сгенерированного благодаря гомографической матрице и изображению предварительно восстановленного вида. Такое новое опорное изображение доступно только для блоков, принадлежащих к активной области. Таким образом, введение такого нового опорного изображения в список опорных изображений, не влияет на стоимость сигнализации опорных изображений для других блоков, которые не принадлежат активной области.
Расположение блоков, принадлежащих активной области, непосредственно выводят из проекции пикселей изображения, подлежащего декодированию, с помощью гомографической матрицы на предварительно восстановленное изображении, так что нет необходимости кодировать дополнительную информацию для указания, могут ли эти блоки использовать новое опорное изображение или нет.
Когда блок не принадлежит активной области, это, например, обычно восстанавливают с использованием пикселей, которые предварительно восстановлены с помощью внутрикадрового предсказания, или принадлежащих к другому изображению того же вида, ранее закодированного и декодируемого, путем межкадрового предсказания.
Предпочтительно, опорное изображение определяется в плоскости второго вида. Более конкретно, активная зона определяется в изображении второго вида всех пикселей, которые проецируются на изображение первого вида, используя гомографическую матрицу.
Таким образом, новые опорное изображение содержит пиксели, называемые активными пикселями, соответствующие пикселям изображения второго вида, проецируемого на изображение первого вида посредством гомографической матрицы. Остальные пиксели опорного изображения, не имеющие соответствия в изображении первого вида, называются неактивными пикселями.
Различные варианты осуществления или признаки, указанные ниже, могут быть добавлены отдельно или в сочетании друг с другом к признакам способа декодирования, определенных выше.
В соответствии с конкретным вариантом осуществления настоящего изобретения, параметры представляют собой параметры камеры, ассоциированные соответственно с первой камерой, ассоциированной с первым видом, и со второй камерой, ассоциированной со вторым видом, причем способ дополнительно содержит вычисление упомянутой гомографической матрицы из упомянутых параметров камеры.
В соответствии с этим конкретным вариантом осуществления изобретения гомографическая матрица вычисляется во время декодирования из параметров камеры, закодированных в данных сигнала, представляющие мультивидовую последовательность, такую как, в частности, фокусное расстояние каждой камеры и угловое разделение, представляющее собой угол поворота между камерой первого вида и камерой второго вида.
В соответствии с другим конкретным вариантом осуществления настоящего изобретения, параметры являются коэффициентами гомографической матрицы.
В соответствии с этим конкретным вариантом осуществления настоящего изобретения, нет необходимости пересчитывать гомографическую матрицу при декодировании. Ее коэффициенты вычисляются в кодере и передаются в данных сигнала, представляющие многовидовую последовательность. Это приводит к снижению сложности вычислений в декодере.
В соответствии с другим конкретным вариантом осуществления изобретения, когда граница активной области пересекает блок, подлежащий восстановлению, способ декодирования дополнительно содержит:
- чтение данных сигнала другого индекса, представляющий опорное изображение, содержащиеся в группе опорных изображений, причем упомянутая группа опорных изображений не содержит сгенерированное опорное изображение, пиксели блока, подлежащего восстановлению, которые не принадлежат активной области, восстанавливают из пикселей опорного изображения, указанной другим считанным индексом.
Этот конкретный вариант осуществления настоящего изобретения позволяет обеспечить сегментации блоков, расположенных на границе активной области, не требуя кодирования информации для кодирования этой сегментации и адаптации предсказания пикселей этих блоков в соответствии с положением пикселей в блоке относительно границы.
В соответствии с другим конкретным вариантом осуществления настоящего изобретения, способ декодирования дополнительно содержит:
- считывание данных сигнала, параметры, позволяющие получить другую гомографическую матрицу преобразования из плоскости второго вида в плоскость третьего вида, по меньшей мере, одного пикселя изображения второго вида, проецируемого на изображение третьего вида с помощью другой гомографической матрицы, содержащейся в изображении третьего вида,
- генерированное опорное изображение дополнительно содержит значения пикселей, определяемые из предварительно восстановленных пикселей изображения третьего вида и другой гомографической матрицы.
Этот конкретный вариант осуществления настоящего изобретения позволяет принимать во внимание изображение другого ранее восстановленного вида для генерирования нового опорного изображения. Таким образом, когда другой вид также доступен для предсказания второго вида, область неактивных пикселей уменьшается. Действительно, другая гомографическая матрица позволяет переключиться со второго вида на третий вид, что позволяет определить новую активную область в опорном изображении, соответствующее пикселям, которые, когда они проецируются с помощью другой гомографической матрицы на изображение третьего вида, содержащиеся в изображении третьего вида.
Изобретение также относится к способу для кодирования в данных сигнала многовидовой видеопоследовательности, представляющей всенаправленное видео, многовидовая видеопоследовательность содержит, по меньшей мере, один первый вид и один второй вид. Способ кодирования содержит:
- вычисление гомографической матрицы представляет собой переход из плоскости второго вида к плоскости первого вида,
- кодирование данных сигнала, параметры, позволяющие получить упомянутую гомографическую матрицу при декодировании,
- кодирование изображения второго вида, изображение второго вида, содержащее область, называемой активной областью, содержащую пиксели, которые, когда упомянутые пиксели проецируются с помощью гомографической матрицы на изображение первого вида, содержащиеся в изображении первого вида, кодирование упомянутого изображения содержит:
- генерирование опорного изображения содержит значения пикселей, определенное из ранее восстановленных пикселей изображения первого вида и из гомографической матрицы, и
- по меньшей мере, одного блока изображения второго вида:
-определение, принадлежит ли блок активной области или нет,
- предсказание упомянутого блока из опорного изображения, содержащееся в списке опорных изображений, содержащийся, по меньшей мере, одно изображение второго предварительно восстановленного вида, генерируемое опорное изображение содержится в упомянутом списке опорных изображений, когда упомянутый блок относится к активной области, и генерируемое опорное изображение не содержится в упомянутом списке опорных изображений, когда упомянутый блок не принадлежит активной области,
- кодирование данных сигнала индекс, представляющий опорное изображение, используемое для предсказания упомянутого блока.
В соответствии с конкретным вариантом осуществления настоящего изобретения, параметры представляют собой параметры камеры, ассоциированные соответственно с первой камерой, ассоциированной с первым видом, и со второй камерой, ассоциированной со вторым видом.
В соответствии с другим конкретным вариантом осуществления настоящего изобретения, параметры являются коэффициентами гомографической матрицы.
В соответствии с другим конкретным вариантом осуществления изобретения, когда граница активной области пересекает блок, подлежащий кодированию, способ кодирования дополнительно содержит:
- кодирование в данных сигнала другого индекса, представляющий опорное изображение, содержащееся в группе опорных изображений, причем упомянутая группа опорных изображений не содержит сгенерированное опорное изображение, пиксели блока, подлежащего кодированию, которые не относятся к активной области, подлежащие предсказанию из пикселей опорного изображения, указанной другим индексом.
В соответствии с другим конкретным вариантом осуществления настоящего изобретения способ кодирования дополнительно содержащий:
- вычисление другой гомографической матрицы, представляющей преобразование из плоскости второго вида к плоскости третьего вида, по меньшей мере, один пиксель изображения второго вида проецируется на изображение третьего вида с помощью другой гомографической матрицы, содержащийся в изображении третьего вида,
- кодирование в данных сигнала параметров, позволяющие получить упомянутую другую гомографическую матрицу,
- генерируемое опорного изображения дополнительно содержит значения пикселей, определяемые из предварительно восстановленных пикселей изображения третьего вида, и из другой гомографической матрицы.
Изобретение также относится к устройству для декодирования кодированного сигнала данных, представляющие многовидовую видеопоследовательность, представляющую всенаправленное видео, многовидовая видеопоследовательность содержит, по меньшей мере, один первый вид и один второй вид, устройство декодирования содержит:
- средство для чтения в сигнале данных параметры, позволяющие получить гомографическую матрицу, представляющую преобразование из плоскости второго вида в плоскость первого вида,
- средство для декодирования изображения второго вида, изображение второго вида, содержащее область, называемую активной областью, содержащую пиксели, которые, когда упомянутые пиксели проецируются через гомографическую матрицу на изображение первого вида, содержащиеся в изображении первого вида, упомянутое средство для декодирования изображения второго вида, содержащее:
- средство для генерирования опорного изображения, содержащее значения пикселей, определяемые из предварительно восстановленных пикселей изображения первого вида и из гомографической матрицы, и
- по меньшей мере, один блок изображения второго вида:
- средство для считывания в сигнале данных индекса, представляющий опорное изображение, содержащееся в списке опорных изображений, содержащий, по меньшей мере, одно изображение второго предварительно восстановленного вида,
- средство для определения, принадлежит ли блок активной области или нет,
- средство для восстановления упомянутого блока от упомянутого опорного изображения, указанный индексом чтения, сгенерированное опорное изображение содержится в упомянутом списке опорных изображений, когда упомянутый блок относится к активной области, и генерируемое опорное изображение не состоит в упомянутом списке опорных изображений, когда упомянутый блок не относится к активной области.
Изобретение также относится к устройству для кодирования в сигнале данных многовидовой видеопоследовательности, представляющей всенаправленное видео, многовидовая видеопоследовательность содержит, по меньшей мере, один первый вид и один второй вид, устройство для кодирования содержит:
- средство для вычисления гомографической матрицы, представляющей преобразование из плоскости второго вида в плоскость первого вида,
- средство для кодирования в сигнале данных параметры, позволяющие получить упомянутую гомографическую матрицу,
- средство для кодирования изображения второго вида, изображение второго вида, содержащее область, называемую активную область, содержащую пиксели, которые, когда упомянутые пиксели проецируются с помощью гомографической матрицы на изображение первого вида, содержащиеся в изображении первого вида, упомянутое средство для кодирования упомянутого изображения, содержащее:
- средство для генерирования опорного изображения, содержащее значения пикселей, определяемые из предварительно восстановленных пикселей изображения первого вида и из гомографической матрицы, и
- по меньшей мере, один блок изображения второго вида:
- средство для определения, принадлежит ли блок активной области или нет,
- средство для предсказания упомянутого блока из опорного изображения, содержащееся в списке опорных изображений, содержащий, по меньшей мере, одно изображение из второй предварительно восстановленного вида, генерируемое опорное изображение содержится, в упомянутом списке опорных изображений, когда упомянутый блок относится к активной области, и сгенерированное опорное изображение не содержится в упомянутом списке опорных изображений, когда упомянутый блок не принадлежит к активной области,
- средство для кодирования в сигнале данных индекса, представляющий опорное изображения, используемое для предсказания упомянутого блока.
В соответствии с конкретным вариантом осуществления настоящего изобретения, способ декодирования, соответственно, способ кодирования, выполняют компьютерной программой. Настоящее изобретение также относится к компьютерной программе, включающей в себя инструкции для реализации способа декодирования или способа кодирования в соответствии с любым одним из конкретных описанных выше вариантов осуществления, когда упомянутая программа выполняется процессором. Такая программа может использовать любой язык программирования. Ее можно загрузить из сети связи и/или сохранены на машиночитаемом носителе. Эта программа может использовать любой язык программирования, и может быть в виде исходного кода, объектного кода или промежуточного кода между исходным кодом и объектным кодом, например, в частично скомпилированном виде или в любой другой желательной форме.
Изобретение также относится к носителю или носителю информации, читаемому компьютером, и включающий в себя инструкции компьютерной программы, как упомянуто выше. Носитель записи, упомянутый выше, может быть любым объектом или устройством, способным хранить программу. Например, носитель может включать в себя средство хранения данных, такое как ROM, например, CD-ROM, или ROM микроэлектронной схемы, или же магнитное средство записи, например, гибкий диск или жесткий диск. С другой стороны, носитель записи может соответствовать передающий носитель, такой как электрический или оптический сигнал, который может быть направлен через электрический или оптический кабель по радиосвязи или с помощью других средств. Программа, в соответствии с изобретением, в частности, может быть загружена из сети интернет. В качестве альтернативы, носитель записи может соответствовать интегральной схеме, в котором находится программа, схема выполнена с возможностью выполнять или быть использована при выполнении способов, о которых идет речь.
Краткое описание чертежей
Другие признаки и преимущества настоящего изобретения станут более очевидными после прочтения приведенного ниже описания конкретного варианта осуществления, приведенного в качестве простого иллюстративного и не ограничивающего примера, и прилагаемых чертежей, среди которых:
-фиг.1 иллюстрирует два расходящихся вида, захваченные двумя камерами и имеющие область перекрытия,
-фиг.2 схематически иллюстрирует пример захвата расходящегося вида,
-фиг.3 схематически иллюстрирует два примера видов, имеющие одну или две областей перекрытия со смежными видами, размещенные в соответствии с системой, показанной на фиг.2,
-фиг.4 схематически иллюстрирует этапы способа для кодирования всенаправленного видео в соответствии с конкретным вариантом осуществления настоящего изобретения,
-фиг.5 иллюстрирует пример опорного изображения, сгенерированного в соответствии с конкретным вариантом осуществления настоящего изобретения для центрального вида, подлежащего кодированию или декодированию, из вида слева и вида справа от центрального вида,
-фиг.6 схематически иллюстрирует этапы способа декодирования всенаправленного видео в соответствии с конкретным вариантом осуществления настоящего изобретения,
-фиг.7 иллюстрирует пример блока, пересекающего границу между активной областью и неактивной областью изображения, подлежащего кодированию или декодированию,
-фиг.8 иллюстрирует устройство для кодирования всенаправленного видео в соответствии с конкретным вариантом осуществления настоящего изобретения,
-фиг.9 схематически иллюстрирует устройство для декодирования всенаправленного видео в соответствии с конкретным вариантом осуществления настоящего изобретения,
-фиг.10А-В схематически иллюстрируют кодированные данные сигнала, представляющие всенаправленное видео в соответствии с конкретным вариантом осуществления настоящего изобретения,
-фиг.11 иллюстрирует проекцию точки Р 3D пространства на две плоскости изображения соответствующих двух расходящихся камер А и В.
Осуществление изобретения
5.1 Общий принцип
Одной из задача настоящего изобретения является улучшение кодирования всенаправленного видео, когда такое видео кодируется многовидовым кодером, в котором каждый вид кодируется посредством временного предсказания изображений одного и того же ранее кодированного вида или посредством межкадрового предсказания изображения другого вида.
Для улучшения межкадрового предсказания при кодировании вида всенаправленного видео, генерируют новое опорное изображение из ранее закодированных изображений видов соседнего вида, подлежащего кодированию. Более конкретно, вычисляют гомографическую матрицу, позволяющую проецировать пиксели вида, подлежащего кодированию или декодированию, на изображение вида, соседнего виду, подлежащий кодированию или декодированию. Пиксели вида, подлежащего кодированию или декодированию проецируют в границах изображения соседнего вида затем определяют активную область изображения, подлежащее кодированию или декодированию. Такая активная область может быть предсказана из пикселей изображения соседнего вида, когда эти пиксели были ранее восстановлены. Межкадровое предсказание, таким образом, улучшается при кодировании вида всенаправленного видео, принимая во внимание области межвидового перекрытия.
Предпочтительно, для кодирования и декодирования блока изображения текущего вида формируют новое опорное изображение из ранее восстановленных пикселей соседнего вида и из гомографической матрицы. Когда блок, подлежащий кодированию или декодированию, по меньшей мере, частично принадлежит активной области изображения, подлежащего кодированию или декодированию, это новое опорное изображение может затем быть использовано в списке опорных изображений.
Таким образом, стоимость сигнализации этого нового опорного изображения не влияет на кодирование других блоков, не принадлежащих активной области.
5. 2 Примеры реализации
На фиг.2 схематически показан пример захвата расходящегося вида, в котором шесть видов (V1-V6) захватываемые, соответственно, шестью камерами, расположенные на платформе, представленной точкой С на фиг.2. На фиг.2 поле обзора каждой камеры представлено сплошными или пунктирными линиями и плоскость изображения вида, ассоциированного с каждой камерой, представлена с использованием тех же сплошных или пунктирных линий, как поле просмотра камеры. Оказывается, что для каждого вида находится область перекрытия между текущим видом и левым, соответственно, правым видом. Другими словами, два смежных или соседних вида имеют пиксели, представляющие те же данных 3D сцены, захваченных соответственно каждой камерой. Например, на фиг.2 область ZC1 иллюстрирует перекрытие между видами V1 и V6, область ZC2 иллюстрирует перекрытие между видами V2 и V3 и область ZC5 иллюстрирует перекрытие между видами V5 и V6.
Однако для использования информации из области перекрытия смежного вида для кодирования текущего вида, необходимо, чтобы смежный вид ранее был закодирован и восстановлен.
Так, например, если порядок кодирования видов представляет собой V1, V2, V3, V4, V5 и V6, то вид V1 кодируется без предсказания относительно перекрывающейся области, поскольку вид до сих пор не кодируются. Изображение вида V1 будет, например, кодируется временным предсказанием по отношению к ранее закодированному изображению вида V1.
Кодирование видов V2, V3, V4 и V5 может быть реализовано посредством временного предсказания относительно ранее кодированных изображения одного и то же вида и/или межкадрового предсказания с использованием перекрывающейся области между текущим видом V2 соответственно, V3, V4 и V5 и вид справа V1, соответственно, V2, V3, V4.
Кодирование вида V6 может использовать временное предсказание по отношению к ранее закодированным изображениям одного и то же вида и/или межкадрового предсказания с использованием перекрывающейся области между текущим видом V6 и правый видом V5 и/или межкадровым предсказанием, используя область перекрытия между текущим видом V6 и видом V1 слева.
Например, как показано на фиг.3, для вида V6, область ZA1, представляющая перекрытие вида V1 с видом V6 и области ZA5 перекрытия, представляющей перекрытие вида V5 с видом V6, может быть использована для предсказания вида V6.
Согласно другому примеру, для вида V3, область ZA2, представляющая перекрытие вида V2 с видом V3, может быть использована для предсказания вида V3.
Способы кодирования и декодирования всенаправленного видео, описанные ниже, обычно применяются в случае многовидовой последовательности изображений, имеющих N видов, N представляет собой целое число, большее или равное 2.
Способы кодирования и декодирования всенаправленного видео, как правило, описаны ниже, и могут быть интегрированы в любой тип многовидового кодера/декодера видео, например, 3D-HEVC или МV-HEVC стандарт или другой.
Фиг.4 схематически иллюстрирует этапы способа для кодирования всенаправленного видео в соответствии с конкретным вариантом осуществления настоящего изобретения.
На этапе 40, для каждого вида k, который должен быть закодирован, гомографическая матрица вычисляются для преобразования из плоскости вида k, подлежащего кодированию, в плоскость вида (k -1, например) рядом с видом k, который должен быть закодирован. Считается, что изображение вида, соседнего к виду, подлежащий кодированию, ранее был закодирован и восстановлен. Таким образом, считается, что здесь изображения вида k-1 были ранее закодированы и восстановлены, посредством временного предсказания по отношению к изображениям, ранее закодированным и восстановленным одного и того же вида или путем межкадрового предсказания.
Когда текущий вид k, подлежащий кодированию, является смежным с каждой стороны двум ранее закодированным и восстановленным видам, то вычисляют две гомографические матрицы, каждая из которых соответствует соответственно преобразованию из плоскости вида, который будет закодирован, в плоскость правого вида и преобразованию из плоскости вида, который будет закодирован, в плоскость левого вида.
Далее рассмотрен процесс кодирования вида k, смежного вида k-1, предварительно закодированного и восстановленного, и имеющий область перекрытия с видом k.
Считается, что здесь вид k имеет область перекрытия с видом k -1, если, по меньшей мере, один пиксель изображения вида k проецируется на изображение вида k -1. Такой пиксель затем находится в области, называемой активной областью изображения вида k.
На этапе 40 вычисляют гомографическую матрицу между смежным видом k-1 и текущим видом k, подлежащий кодированию, из параметров камеры, ассоциированных соответственно с смежным видом k-1, и текущим видом k.
A,
A
A
B
B
Вычисление гомографической матрицы описано со ссылкой на фиг.11, где изображен захвата полей двух расходящихся камер А и В. Главная ось камеры А является осью z что соответствует оси, перпендикулярной плоскости PL изображения камеры A. Смежная камера B вращается под углом θsep относительно оси Z от камеры A. Главная ось камеры B является осью Z, соответствующая оси, перпендикулярной плоскости PL изображения камеры B.
A
B
Точка 3D пространства проецируется в плоскости PL изображения камеры А в и в плоскости PL изображения камеры В . Соотношение между точками определяется по формуле:
(1)
(2)
где и представляют собой собственные параметры камер А и В такие, как:
A
B
B
A
, , где и являются фокусным расстоянием камер А и В, соответственно. представляет поворот главной оси Z камеры А по направлению к главной оси Z камеры B, соответствующий повороту по часовой стрелке на угол θsep вокруг оси у. представляет поворот главной оси Z камеры в направлении главной оси Z камеры А, соответствующий повороту против часовой стрелки на угол θsep вокруг оси у.
Уравнение (2) может иметь следующий вид:
Подставляя значение Р, заданное уравнением (1), соотношение между и может быть получено следующим:
(3)
Точки и соединены через гомографическую матрицу H.
Параметры матрицы Н, таким образом, могут быть получены из фокусного расстояния камер А и В и угла θsep разделения между двумя камерами.
На этапе 40 вычисляют параметры гомографической матрицы , представляющую трансформацию от вида k к виду k-1 из фокусных расстояний камер, ассоциированных соответственно с видом k и k -1 и углом θsep разделения между двумя камерами.
На этапе 41 кодируют параметры, позволяющие получить гомографическую матрицу , в данных сигнала всенаправленного видео.
Согласно одной вариации, в сигнале кодируют 9 коэффициентов 3х3 гомографической матрицы .
Согласно другой реализации, внутренние и внешние параметры камер вида k-1 и вида k закодированы в сигнале, т.е. фокусные расстояния камер и угол θsep разделения между двумя камерами. Согласно этой реализации, на декодере будет повторно вычислена гомографическая матрица .
На следующем этапе 41, текущий вид k кодируется в сигнале данных изображения посредством изображения. На этапе 42, кодируют текущее изображение момента времени Т вида k.
Для этого, на этапе 420 формируют новое опорное изображение . Новое опорное изображение формируется из пикселей изображения в том же момент времени т смежного вида k-1, и который был предварительно закодирован и восстановлен. Для этой цели, для каждого пикселя опорного изображения, пиксель (x, y) опорного изображения проецируется посредством гомографической матрицы на точку (x', y') в опорном кадре вида k-1. Пиксель (х, у) проектируется на изображение вида k-1, если точка (x', y') принадлежит изображению . Если проецируемое пиксель не принадлежит к изображению (I_t ^ (к-1)), т.е. если проецируемый пиксель находится вне границ изображения, значение пикселя в опорном изображении устанавливается на значение по умолчанию, например, 128. Пиксель называется неактивным пикселем.
Если проецируемый пиксель в изображении , то есть, если проецируемый пиксель находится в пределах границ изображения, то значение пикселя в опорном изображении затем получают из пикселей изображения . Пиксель затем называется активным пикселем.
Если проецируемый пиксель соответствует пикселю сетки изображения , значение пикселя, проецируемого в опорном изображении, затем принимает значение соответствующего пикселя изображения . В противном случае, если проецируемый пиксель находится в положении суб-пикселя в изображении , то значение пикселя проецируемого в опорном изображении, интерполируются обычно от значения пикселей сетки изображения , окружающее положение пикселя, проецируемого в изображении .
Таким образом, активные и неактивные пиксели определяют активную область и неактивную область в опорном изображении.
В случае, когда вид k, подлежащий кодированию, имеет другой смежный вид k+1, предварительно кодированный и восстановленный, этап 420 повторяется на этот раз, используя гомографическую матрицу, рассчитанную между видом k и видом k+1, и изображению из вида k +1.
G
На фиг.5 показан пример опорного изображения, сгенерированного в соответствии с конкретным вариантом осуществления настоящего изобретения для текущего вида, из соседнего вида слева и соседнего вида справа от текущего вида. В примере, показанном на фиг.5, были использованы две гомографические матрицы, по одной для каждого соседнего левого и правого вида. Предполагают, что восстановлены только перекрывающиеся области между смежными видами в опорном изображении с помощью проекции с помощью гомографических матриц. Действительно, на фиг.5, опорное изображение представляет собой неактивную область (серая область) и две активные области ZA и ZАd, соответственно представляющие перекрытия текущего вида с левым видом, соответственно, с правым видом.
Обратимся снова к фиг.4, кодируют текущее изображение вида k. Для этого, изображение разрезается на блоки пикселей и блоки пикселей изображения сканируются для кодирования с помощью пространственного, временного или межкадрового предсказания, как будет показано ниже.
Для каждого блока текущего изображения выполняются следующие этапы.
На этапе 421 определяется, расположен ли блок в активной области текущего изображения. Другими словами, определяют, содержит ли блок активные пиксели.
Следует отметить, что опорное изображение представлено в плоскости изображения текущего вида, подлежащий кодированию, активная и неактивная области в изображении текущего вида, подлежащий кодированию, соответствуют таковым из опорного изображения.
Таким образом, в соответствии с конкретным вариантом осуществления настоящего изобретения, описанного здесь, блок относится к активной области, если все пиксели блока являются активными, т.е., если все пиксели блока находятся в активной области.
Если блок относится к активной области, на этапе 422, новое опорное изображение добавляется в список опорных изображений для кодирования блока . В противном случае, то есть, если блок не принадлежит активной области, список опорных изображений для кодирования блока не изменяется, и включает в себя только предварительно восстановленные изображения текущего вида k, который должен быть закодирован.
На этапе 423 определяют режим кодирования блока . Например, выполняют оптимизацию коэффициента искажения, в ходе которого, все режимы кодирования, доступные для блока вводят в состояние конкуренции. Более конкретно, в процессе оптимизации коэффициента искажения, обычно, режимы кодирования посредством пространственного или внутрикадрового предсказания, проверены и проверяют режимы кодирования посредством временного предсказания с использованием списка опорных изображений.
В соответствии с конкретным вариантом осуществления настоящего изобретения, описанным в настоящем документе, преимущественно обычный режим работы кодеров для определения режима кодирования для текущего блока не изменяется. В самом деле, когда блок находится в активной области, новое опорное изображение было добавлено в список опорных изображений. Таким образом, при оптимизации коэффициента искажения будут выбирать режим кодирования с использованием предсказания относительно нового опорного изображения, сгенерированного на этапе 420, если этот режим кодирования является более выгодным для блока , чем обычный режим внутрикадрового или межкадрового кодированием. Обычно, когда временные режимы кодирования предсказания проверяется, оценивают движение между текущим блоком и блоком пикселей в опорном изображении списка опорных изображений, например, с помощью способа согласования блоков.
На этапе 424, когда определен лучший режим кодирования для блока , данные блока кодируются в сигнале данных. Обычно блок предсказания формируется в соответствии с режимом кодирования, определяемым на этапе 423.
В частности, если режим кодирования, определяемый на этапе 423, использует предсказание относительно нового опорного изображения, то блок предсказания соответствует блоку пикселей в новом опорном изображении, указываемый вектором движения или информацией о несоответствии текущего блока , определяемой, например, на этапе 423.
Получают остаточный блок путем вычисления разности между текущим блоком и блоком предсказания. Остаточное предсказание преобразуется, например, с помощью DCT преобразования («дискретное косинусное преобразование»), количественно и закодированного с помощью энтропийного кодера. Режим предсказания также кодируется в сигнале данных, а также ассоциированных с ними параметров кодирования, например, векторы движения или несоответствия, индекс опорного изображения, используемого для предсказания.
Обычно, восстанавливают текущий блок чтобы служить в качестве предсказания для кодирования следующих блоков.
На этапе 425 проверяют, были ли закодированы все блоки текущего изображения. Если есть еще блоки, которые должны быть закодированы, способ переходит к следующему блоку в изображении, подлежащее кодированию, и возвращается к этапу 421. В противном случае, кодирование текущего изображения завершается. Восстановленное текущее изображение сохраняется в памяти, чтобы служить в качестве опорного изображения для кодирования следующих изображений или последующих видов.
На фиг.10А схематично показан пример кодированных данных сигнала, представляющие всенаправленного видео в соответствии с конкретным вариантом осуществления настоящего изобретения, описанный со ссылкой на фиг.4. Такие данные сигнала включают в себя параметры PAR, позволяющие получить гомографическую матрицу, представляющую переход из плоскости вида k плоскости смежного вида k-1. Для каждого изображения вида k, кодированные данные DAT содержат, по меньшей мере, один блок активной области изображения, индекс idx, указывающую опорное изображение из списка опорных изображений, которые будут использоваться для восстановления блока.
На фиг.6 схематически иллюстрируют этапы способа для декодирования кодированного сигнала, представляющих данные всенаправленного видео в соответствии с конкретным вариантом осуществления настоящего изобретения. Например, кодированный сигнал данных был сгенерирован в соответствии со способом кодирования, описанный со ссылкой на фиг.4. Далее, рассматривают процесс декодирования текущего вида k, смежного k-1. Кроме того, считается, что изображения вида k-1 были ранее декодированы и восстановлены.
На этапе 60 параметры, позволяющие получить гомографическую матрицу , представляющую переход от плоскости вида, подлежащий декодированию k плоскости смежного вида k-1 считываются в сигнале.
Согласно одной реализации, в сигнале считывается 9 параметров 3x3 гомографической матрицы . Согласно другой реализации, внутренние и внешние параметры камер вида k-1 и вида k считываются в сигнале, т.е. фокусные расстояния камер и угол θsep разделения между двумя камерами.
На этапе 61, получают гомографическую матрицу . Когда параметры матрицы считываются в сигнале получают гомографическую матрицу получают непосредственно из этих параметров.
Когда считываемые параметры соответствуют параметрам камер, вычисляют гомографическую матрицу , используя уравнение (3), приведенное выше.
Вслед за этапом 61 декодируют текущий вид k изображения, изображением из данных, содержащихся в сигнале данных. На этапе 62 декодируют текущее изображение момента времени Т вида k.
Для этого, на этапе 620 генерируют новое опорное изображение . Новое опорное изображение создается из пикселей изображения , в то же момент времени т соседнего вида k-1 и который ранее был восстановлен. Тот же самый механизм, который описан по отношению к этапу 420 на фиг.4 реализован для формирования опорного изображения .
Текущее изображение вида k затем декодируют. Для этого, изображение разрезается на блоки пикселей и блоки пикселей изображения сканируются, подлежащего декодированию и восстановлению.
Для каждого блока текущего изображения , выполняются следующие этапы.
На этапе 621, кодированные данные блока считываются в сигнале. В частности, когда блок кодируется предсказанием относительно опорного изображения, состоящего в списке опорных изображений (межкадровое предсказание), считывается индекс опорного изображения. Традиционно, для изображения, кодированного межкадровым предсказанием, список опорных изображений содержит, по меньшей мере, одно изображение, ранее восстановленное из того же вида, как текущее изображение, подлежащего восстановлению. Другая информация может возможно быть прочитана в сигнале для текущего блока , такая как режим кодирования, вектор движения или информация несоответствия, коэффициенты остаточного предсказания. Обычно, данные, считанные для блока, декодируются энтропийным декодером. Получают остаточный блок путем применения декодированных коэффициентов обратного квантования, которые реализованы при кодировании, и деквантованных декодированных коэффициентов, при преобразовании, противоположному тому, что реализовано при кодировании.
На этапе 622 определяется, находится ли блок в активной области текущего изображения. Другими словами, определяют, содержит ли блок активные пиксели.
В соответствии с конкретным вариантом осуществления настоящего изобретения, описанного здесь, блок относится к активной области, если все пиксели блока являются активными, т.е., если все пиксели блока находятся в активной области.
Если блок относится к активной области, на этапе 623, новое опорное изображение добавляется в список опорных изображений. В противном случае, то есть, если блок не принадлежит к активной области, список опорных изображений для декодирования блока не изменяется, и только включает в себя предварительно восстановленные изображения текущего вида k, подлежащего декодированию.
На этапе 624 вычисляют предсказание блока . В соответствии с конкретным вариантом осуществления настоящего изобретения, описанными здесь, предпочтительно не изменяют обычную операция декодеров для предсказания текущего блока.
Когда блок находится в активной области, новое опорное изображение было добавлено в список опорных изображений. Таким образом, построение блока предсказания для текущего блока осуществляется путем перемещения или компенсации несоответствия из информации движении или несоответствия, определенной для текущего блока, и из опорного изображения, указанного опорным индексом, считанным в сигнале.
На этапе 625 восстанавливают текущий блок . Для этой цели, блок предсказания, полученный на этапе 624, добавляют к остаточному блоку, полученному на этапе 621.
На этапе 626 проверяется, были ли декодированы все блоки текущего изображения. Если есть еще блоки, подлежащие декодированию, способ переходит к следующему блоку изображения, подлежащего декодированию, и возвращается к этапу 621. В противном случае, процесс декодирования текущего изображения завершается. Восстановленное текущее изображение хранится в качестве опорного изображения для декодирования последующих изображений или последующих видов.
В конкретном варианте осуществления настоящего изобретения, описанного выше, определяется, что блок , подлежащий кодированию или декодированию, относится к активной области текущего изображения, если все пиксели блока активны, то есть, если все пиксели блока находятся в активной области.
В другом конкретном варианте осуществления настоящего изобретения, определяется, что блок принадлежит к активной области, если, по меньшей мере, один пиксель блока, подлежащий кодированию или декодированию, является активным пикселем.
В соответствии с упомянутым конкретным вариантом осуществления изобретения, способы кодирования и декодирования аналогичны, когда все пиксели блока, подлежащего кодированию или декодированию, являются активными.
То же самое относится, когда все пиксели блока, подлежащего кодированию или декодированию, не являются активными.
В соответствии упомянутым другим вариантом осуществления изобретения, для блока, подлежащего кодированию или декодированию, содержащий, по меньшей мере, один активный пиксель и, по меньшей мере, один неактивный пиксель, предсказание такого блока адаптировано.
На фиг.7 показан пример блока, подлежащего кодированию или декодированию, пересекающий границу 70 между активной областью 71 и неактивной областью 72 изображения, подлежащего кодированию или декодированию.
Для этого типа блока, когда блок предсказания, определяемый на этапах 424 и 624 на фиг.4 и фиг.6, получен с использованием нового опорного изображения, полученное на этапах 420 и 620, блок предсказания затем содержит в активной области 71 блока пиксели, полученные путем компенсация движения относительно нового опорного изображения, и в неактивной области 72 блока пиксели, полученные путем компенсации движения по отношению к ранее восстановленному изображению текущего вида, содержащийся в списке опорных изображений. Таким образом, для блоков, пересекающих границу между активной областью и неактивной областью:
- первый опорный индекс кодируются в сигнале или декодируется из сигнала, первый опорный индекс, соответствующий индексу опорного изображения, используемого для кодирования активной области блока, и
- второй опорный индекс, соответствующий индексу ранее восстановленного опорного изображения текущего вида, используемый для кодирования неактивной области блока, кодируют в сигнале или декодируют из сигнала.
Пример такого сигнала показан на фиг.10В. Сигнал данных фиг.10В содержит параметры PAR, позволяющие получить гомографическую матрицу, представляющую переход от плоскости текущего вида к плоскости смежного вида. Для каждого изображения текущего вида, закодированные данные DAT содержат, по меньшей мере, один блок пересекающий границу между активной областью и неактивной областью изображения, два индекса idx1 и idx2, указывающие опорные изображения из списка опорных изображений, которые будут использоваться для восстановления блока.
В качестве альтернативы, второй индекс idx2 кодируется в сигнале для блока, пересекающего границу между активной областью и неактивной областью изображения, только, если первый индекс idx1 указывает, что опорное изображение, которое будет использоваться для активной областью блока, соответствует новому опорному изображению, созданному на этапах 420 или 620. В соответствии с этой реализацией, нет необходимости кодировать второй индекс, когда опорное изображение, используемое для блока предсказания, представляет собой изображение, ранее восстановленное из текущего вида.
На фиг.8 показана упрощенная структура устройства COD для кодирования, выполненного с возможностью выполнять способ кодирования в соответствии с любым одним из описанным ранее конкретных вариантов осуществления настоящего изобретения.
Такое устройство для кодирования включает в себя память MEM, блок обработки UT, оснащенный, например, процессором PROC, и управляемый с помощью компьютерной программы PG, хранимой в памяти MEM. Компьютерная программа PG содержит инструкции для осуществления этапов способа кодирования, как описано выше, когда программа выполняется с помощью процессора PROC.
В инициализации, инструкции кода компьютерной программы PG, например, загружается в память блока обработки (не показан) перед тем, как выполняются процессором PROC. Процессор PROC блока обработки UT выполняет, в частности, этапы способа кодирования, описанные со ссылкой на фиг.4 и фиг.7, в соответствии с инструкциями компьютерной программы PG.
В соответствии с конкретным вариантом осуществления настоящего изобретения, устройство для кодирования содержит интерфейс связи COM, позволяющий, в частности, устройству для кодирования передавать кодированный сигнал данных всенаправленного видео через сеть связи.
В соответствии с конкретным вариантом осуществления настоящего изобретения, устройство для кодирования, описанное выше, содержится в оконечном устройстве.
На фиг.9 показана упрощенная структура устройства для декодирования DEC, выполненное с возможностью выполнять способ декодирования согласно любому одному из описанных ранее конкретных вариантов осуществления настоящего изобретения.
Такое устройство для декодирования содержит память MEM0, блок обработки UT0, оснащенный, например, процессором PROC0, и управляемый с помощью компьютерной программы PG0, хранящейся в памяти MEM0. Компьютерная программа PG0 содержит инструкции для осуществления этапов способа декодирования, как описано выше, когда программа выполняется процессором PROC0.
В соответствии с конкретным вариантом осуществления настоящего изобретения устройство для декодирования DEC содержит интерфейс связи COM0, позволяющий, в частности, устройству для декодирования принимать кодированный сигнал данных всенаправленной видео через сеть связи.
В инициализации, инструкции кода компьютерной программы PG0, например, загружается в память блока обработки (не показан) перед тем, как выполняются процессором PROC0. Процессор PROC0 блока обработки UT0 выполняет, в частности, этапы способа кодирования, описанные со ссылкой на фиг.6 и фиг.7, в соответствии с инструкциями компьютерной программы PG0.
В соответствии с конкретным вариантом осуществления настоящего изобретения, устройство для декодирования, описанное выше, содержится в оконечном устройстве.