ФАЙЛ МЕДИАКОНТЕЙНЕРА
MEDIA CONTAINER FILE

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в целом относится к многоракурсным видеоданным и конкретно к файлу медиаконтейнера, содержащему такие многоракурсные видеоданные.
УРОВЕНЬ ТЕХНИКИ
Происходящая в настоящее время стандартизация Кодирования Многоракурсного Видео (Multi-View Video Coding (MVC)), выполняемая Экспертной Группой по Кинематографии (MPEG) [1] и Исследовательской Группой 16 (SG16) Сектора Стандартизации Телекоммуникаций Международного Союза Электросвязи (ITU-T), является технологией кодирования видео, которая кодирует видеопоследовательности, созданные несколькими камерами или совокупностью камер. MVC эффективно использует избыточность множества видеоракурсов, чтобы обеспечить компактный поток закодированного видео. MVC основана на стандарте Улучшенного Кодирования Видео (AVC), также известного как ITU-T H.264, и поэтому синтаксис и семантика битового потока MVC были сохранены по аналогии с синтаксисом и семантикой битового потока AVC.
ISO/IEC 14496-15 [2] является международным стандартом, предназначенным содержать в себе информацию битового потока Улучшенного Кодирования Видео (AVC) в гибком и расширяемом формате, который способствует управлению битовым потоком AVC. Этот стандарт совместим с Форматом Файла MP4 [3] и Форматом Файла 3GPP [4]. Все эти стандарты являются производными Базового Формата Мультимедийного Файла ISO [5], описанного MPEG. Структура хранения видеопотоков MVC именуется форматом файла MVC.
В формате файла MVC многоракурсный видеопоток представлен в файле одной или более видеодорожками. Каждая дорожка представляет собой один или более ракурсов потока. Формат файла MVC содержит, в дополнение к самим многоракурсным видеоданным, метаданные, используемые при обработке видеоданных. Например, каждый ракурс имеет связанный с ним идентификатор ракурса, предполагающий, что все элементы Уровня Сетевых Абстракций (NAL) MVC внутри одного ракурса имеют, тем не менее, одинаковый идентификатор ракурса, т.е. одинаковое значение полей id_ракурса в расширениях заголовка элемента NAL MVC.
На сегодняшний день параметры камеры сохраняются в информации получения Многоракурсности сообщения Информации Дополнительного Улучшения (SET), которое содержится в Блоке Внешних Параметров Камеры и Блоке Внутренних Параметров Камеры. Эти параметры включают в себя векторы перемещения, обеспечивающие позицию камер и координаты фокусного расстояния камеры.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Очень сложно, а порой даже невозможно определить взаимосвязи и общее размещение и расположение камер и ракурсов камер на основании информации, включаемой на сегодняшний день в информацию получения многоракурсности сообщения SET.
Настоящие варианты осуществления преодолевают эти и прочие недостатки мероприятий известного уровня техники.
Основная цель обеспечить формирование файла медиаконтейнера, содержащего важную информацию о размещении ракурсов камеры.
Эти и прочие цели достигаются вариантами осуществления в соответствии с тем, что определено сопроводительной формулой изобретения.
Вкратце вариант осуществления задействует формирование файла медиаконтейнера посредством организации закодированных видеоданных, представляющих множество ракурсов камер, применительно к сцене в, по меньшей мере, одной дорожке файла медиаконтейнера. Доступно множество заранее установленных представлений компоновки ракурсов, указывающих альтернативное заранее определенное размещение и взаимосвязи позиций ракурсов камеры. Выбирается представление компоновки ракурсов или представления, свойственные текущей совокупности множества ракурсов камер. Идентификаторы ракурсов, относящиеся к множеству ракурсов камер, включаются в выбранное представление компоновки ракурсов. Это представление компоновки ракурсов вместе с идентификаторами ракурсов ассоциативно организуются в файле медиаконтейнера в отношении, по меньшей мере, одной дорожки мультимедийной информации.
Представление компоновки ракурсов предоставляет высокоуровневую информацию, которая непосредственно дает наглядное понимание того, каким образом друг относительно друга скомпонованы камеры, используемые для записи многоракурсных данных, и задает любые модели размещения камер.
Варианты осуществления также относятся к устройству формирования файла медиаконтейнера и такому файлу медиаконтейнера.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления совместно с их дополнительными целями и преимуществами могут быть наилучшим способом поняты посредством ссылки на нижеследующее описание, рассматриваемое вместе с сопроводительными чертежами, в которых:
фиг.1 является блок-схемой способа формирования файла медиаконтейнера, в соответствии с вариантом осуществления;
фиг.2 является схематическим примером совокупности множества камер и ракурсов камер;
фиг.3 является другим примером совокупности множества ракурсов камер;
фиг.4 является иллюстрацией варианта осуществления файла медиаконтейнера;
фиг.5 является иллюстрацией блока множества представлений компоновки ракурсов, который может включаться в файл медиаконтейнера фиг.4;
фиг.6 является блок-схемой, иллюстрирующей вариант осуществления этапов выбора и включения способа формирования на фиг.1;
фиг.7A и 7B иллюстрируют примеры представления компоновки ракурсов в виде линии;
фиг.8 является блок-схемой, иллюстрирующей другой вариант осуществления этапов выбора и включения способа формирования на фиг.1;
фиг.9A и 9B иллюстрируют примеры представления компоновки ракурсов в виде плоскости;
фиг.10 является блок-схемой, иллюстрирующей вариант осуществления этапа выбора способа формирования на фиг.1;
фиг.11 иллюстрирует пример представления компоновки ракурсов в виде прямоугольной структуры;
фиг.12 является блок-схемой, иллюстрирующей другой вариант осуществления этапа выбора способа формирования на фиг.1;
фиг.13A и 13B иллюстрируют примеры представления компоновки ракурсов в виде сферической структуры;
фиг.14 является блок-схемой, иллюстрирующей еще один другой вариант осуществления этапа выбора способа формирования на фиг.1;
фиг.15 иллюстрирует представление компоновки ракурсов в виде стереопары;
фиг.16 является блок-схемой, иллюстрирующей опциональные, дополнительные этапы способа формирования на фиг.1;
фиг.17 иллюстрирует пример представления накладывающихся ракурсов камер, которое может включаться в файл медиаконтейнера на фиг.4;
фиг.18 является принципиальной структурной схемой устройства формирования файла контейнера в соответствии с вариантом осуществления;
фиг.19 является обзором примера системы связи, в которой могут быть реализованы варианты осуществления; и
фиг.20 схематично иллюстрирует накладывающиеся ракурсы камеры.
ПОДРОБНОЕ ОПИСАНИЕ
Во всех чертежах одинаковые условные обозначения будут использоваться применительно к соответствующим или аналогичным элементам.
Настоящие варианты осуществления направлены на многоракурсные видеоданные и файл медиаконтейнера, содержащий закодированные многоракурсные видеоданные.
Многоракурсные видеоданные подразумевают, что доступно множество ракурсов камер в отношении контента, где такой ракурс камеры формирует видеоданные, отображающие контент, но только с одного из множества доступных ракурсов камер. В многоракурсном видео применительно к сцене, которая должна быть записана, предоставлено множество камер или прочего оборудования записи/создания мультимедийной информации или совокупность множества таких камер. Так как по отношению к сцене камеры имеют разные позиции и/или разные направления наведения и/или фокусные расстояния, они тем самым предоставляют альтернативные ракурсы контента. Фиг.2 схематично иллюстрирует эту идею при помощи совокупности 10 множества камер 12-18, установленных непосредственно перед сценой 5, например, футбольным полем, где разными камерами 12-18 будет записан футбольный матч. Фигура также указывает соответствующие ракурсы 22-28 камер, относящиеся к камерам 12-18. В этом иллюстративном примере камеры 12-18 установлены на разных позициях вдоль футбольного поля и тем самым записывают разные части поля. Это означает, что камеры 12-18 захватывают разные версии мультимедийного контента в соответствии с тем, что просматривается с их ракурсов 22-28 камер.
Как хорошо известно в соответствующей области техники, кодирование видеоданных, как правило, основано на предсказании соответствующих пикселей, таком как в соответствии с форматами H.261, H.263, MPEG-4 и H.264. В формате H.264 существует три используемых способа предсказания пикселя, а именно внутрикадровое, межкадровое и двунаправленное предсказание. Внутрикадровое предсказание обеспечивает пространственное предсказание текущего пиксельного блока из ранее декодированных пикселей текущего кадра. Межкадровое предсказание дает предсказание текущего пиксельного блока во времени, используя соответствующий, но смещенный пиксельный блок в ранее декодированном кадре. Двунаправленное предсказание дает средневзвешенное из двух межкадровых предсказаний. Таким образом, кадры с внутренним предсказанием не зависят от любого предшествующего кадра в видеопотоке, тогда как кадры с межкадровым предсказанием, включая такие кадры с межкадровым предсказанием, полученные двунаправленным предсказанием, используют компенсацию движения из одного или более других опорных кадров в видеопотоке.
Кодирование многоракурсного видео применяет это, основанное на предсказании, кодирование на один этап дальше, разрешая предсказание не только между кадрами одной камеры, но также и предсказание между ракурсами. Таким образом, опорным кадром для сравнения с текущим кодируемым кадром может быть тот же по времени кадр, но принадлежащий другому ракурсу камеры. Также возможно сочетание межракурсного и внутриракурсного предсказания, и получение, таким образом, множества опорных кадров из разных ракурсов камер.
На известном уровне техники и в соответствии с тем, что раскрывается в проекте стандарта MVC [6], существует ограниченный объем информации, включаемой в формат файла MVC, применительно к позициям камер по отношению к записываемой сцене. По существу информация известного уровня техники ограничивается векторами перемещения и координатами в отношении фокусного расстояния камер. Тем не менее, эта информация, по сути, не обеспечивает какое-либо наглядное указание, например, того, каким образом в целом организованы ракурсы камер, какие ракурсы камер являются соседними по отношению друг к другу или в действительности могут быть накладывающимися. В явную противоположность информация вектора и координат для каждой камеры должна извлекаться из соответствующих адресов хранения файла медиаконтейнера ракурсов камер. Извлеченные данные обрабатываются сложным, с точки зрения вычисления, алгоритмом, для того чтобы определить любые общие и локальные взаимосвязи ракурсов камер. Например, может быть достаточно трудно, а иногда даже невозможно, на основании векторов и координат, решить, организованы ли камеры в сетке на плоскости или по сферической поверхности.
Варианты осуществления снимают эти ограничения известного уровня техники посредством обеспечения явной информации о представлениях компоновки ракурсов, которая может быть извлечена непосредственно из файла медиаконтейнера, и не прибегая к сложным вычислениям.
Фиг.1 является блок-схемой, иллюстрирующей способ формирования файла медиаконтейнера в соответствии с вариантом осуществления.
Способ начинается с этапа S1, на котором предоставляются закодированные видеоданные, представляющие собой видеоконтент с множеством ракурсов камер. Это предоставление многоракурсных видеоданных на этапе S1 может быть реализовано посредством извлечения видеоданных из доступной памяти хранения мультимедийной информации, в которую ранее были загружены видеоданные. В качестве альтернативы, видеоданные принимаются от некоторого другого внешнего модуля, в котором были сохранены записанные или сформированные видеоданные. Дополнительной возможностью является фактическое создание и кодирование видеоданных, как, например, запись видеопоследовательности или искусственное формирование видеоданных.
На следующем этапе S2 предоставленные закодированные многоракурсные видеоданные организуются в качестве, по меньшей мере, одной дорожки мультимедийной информации файла медиаконтейнера. Файл медиаконтейнера может, например, быть так называемым файлом MVC или в некотором другом формате файла, который предпочтительно основан на Базовом Формате Мультимедийного Файла ISO.
Файл медиаконтейнера может рассматриваться в качестве законченного входного пакета, который используется сервером мультимедийной информации во время сеанса передачи мультимедийной информации для обеспечения видеоконтента и преобразования видеоданных в приемлемые для передачи пакеты данных. Таким образом, файл контейнера предпочтительно содержит, по сути, в дополнение к видеоконтенту информацию и инструкции, требуемые серверу мультимедийной информации для выполнения обработки и позволяющие осуществление передачи видеоконтента во время сеанса передачи мультимедийной информации.
В варианте осуществления каждый ракурс камеры имеет отдельную назначенную дорожку мультимедийной информации файла медиаконтейнера, тем самым обеспечивая однозначную взаимосвязь между числом ракурсов камер и числом дорожек мультимедийной информации. В качестве альтернативы, в одной дорожке мультимедийной информации файла медиаконтейнера могут содержаться закодированные видеоданные, по меньшей мере, двух, возможно всех, ракурсов камер. Фиг.4 схематически иллюстрирует пример файла 30 медиаконтейнера, имеющего одну или более дорожки 32 мультимедийной информации, несущие в себе закодированные многоракурсные видеоданные.
Соответствующие видеоданные множества ракурсов камер независимо от того, организованы ли они в одну или более дорожки мультимедийной информации, предпочтительно являются с назначенными соответствующими идентификаторами ракурсов, связанными с ракурсами камер.
Далее на этапе S3 способа формирования выбирают представление компоновки ракурсов применительно к многоракурсным видеоданным на основании относительных позиций множества ракурсов камер. Это представление компоновки ракурсов дополнительно выбирается среди множества заранее определенных представлений компоновки ракурсов. Эти представления компоновки ракурсов указывают разное заранее определенное размещение и взаимосвязи позиций множества ракурсов камер. Представление компоновки ракурсов может рассматриваться в качестве идентификатора конкретного общего размещения множества камер и ракурсов камер в отношении записанной сцены. Следовательно, представление компоновки ракурсов непосредственно предоставляет информацию о том, каким образом организовано множество ракурсов камер, и не требует какой-либо обработки векторов и координат камеры, для того чтобы определить текущее размещение ракурса камеры.
На этапе S3 выбирают компоновку ракурсов из набора множества заранее определенных представлений компоновок ракурсов. Это означает, что существует конечное число заранее указанных и разрешенных размещений, в соответствии с которыми могут быть организованы камеры в отношении сцены или объекта, который должен быть записан с многоракурсной настройкой. Эти заранее определенные представления компоновки ракурсов соответствуют наиболее часто используемым схемам размещения камер, которые используются при многоракурсной записи.
Примерами таких заранее определенных представлений компоновки ракурсов, которые могут использоваться, включают в себя представление компоновки ракурсов в виде линии, представление компоновки ракурсов в виде плоскости, представление компоновки ракурсов в виде прямоугольной структуры, представление компоновки ракурсов в виде сферической структуры и представление компоновки ракурсов в виде стереопары. Таким образом, набор множества заранее определенных представлений компоновки ракурсов может включать в себя все из вышеупомянутых представлений компоновки ракурсов или его подмножество, если существует несколько, т.е., по меньшей мере, два заранее определенных представления компоновки ракурсов в наборе. Тем не менее, настоящие варианты осуществления не ограничены этими конкретными представлениями компоновки ракурсов и в качестве альтернативы или в дополнение могут использовать прочие представления компоновки ракурсов, имеющие отличные размещения ракурсов камер кроме как вдоль линии, в плоскости, в прямоугольной решетке, по сфере или в качестве стереопары ракурсов.
Выбор на этапе S3 может выполняться посредством выбора одного представления компоновки ракурсов. В качестве альтернативы для текущей компоновки ракурсов камер, несомненно, может применяться и, следовательно, может выбираться на этапе S3 подмножество из множества заранее определенных представлений компоновки ракурсов. Например, ракурсы камер, размещенные, как определено представлением компоновки ракурсов в виде прямоугольной структуры, также размещены в плоскости, следовательно, также может быть выбрано представление компоновки ракурсов в виде плоскости.
На этапе S4 в выбранное представление компоновки ракурсов включаются идентификаторы ракурсов, относящиеся к множеству ракурсов камер. Таким образом, эти идентификаторы ракурсов указывают, какие ракурсы камер, что размещены в отношении записываемой сцены в соответствии со схемой размещения, указываются выбранным представлением компоновки ракурсов. Идентификаторы ракурсов предпочтительно включаются в представление компоновки ракурсов в порядке, описывающем относительный порядок позиций ракурсов камер в размещении и взаимосвязь позиций, определяемую выбранным представлением компоновки ракурсов. Таким образом, идентификаторы ракурсов, относящиеся к ракурсам камер, предпочтительно включаются в представление компоновки ракурсов в порядке, в котором ракурсы камер были позиционированы относительно сцены на схеме размещения, определяемой представлением компоновки ракурсов.
На этапе S5 выбранное представление компоновки ракурсов с включенными идентификаторами ракурсов ассоциативно организуются в файле медиаконтейнера в отношении, по меньшей мере, одной дорожки мультимедийной информации, организованной в файле на этапе S2. Под ассоциативно организованным подразумевается, что представление компоновки ракурсов включается в файл медиаконтейнера таким образом, чтобы обеспечивать привязку представления компоновки ракурсов к ракурсам камер, в отношении которых применяется представление компоновки ракурсов. Соответственно такая привязка может вместо этого быть между представлением компоновки ракурсов и закодированными многоракурсными данными, организованными в, по меньшей мере, одну дорожку мультимедийной информации.
Привязка может быть выполнена в виде указателя из адреса хранения видеоданных внутри файла медиаконтейнера на адрес хранения представления компоновки ракурсов или наоборот. Следовательно, этот указатель или метаданные позволяют, учитывая конкретные видеоданные или их местоположение внутри файла медиаконтейнера, осуществлять идентификацию привязанного представления компоновки ракурсов или адреса хранения представления компоновки ракурсов внутри файла. Вместо использования указателя метаданные могут включать в себя идентификатор видеоданных, относящийся к видеоданным, или идентификатор дорожки, относящийся к дорожке мультимедийной информации, несущей в себе многоракурсные видеоданные. Дополнительные примеры включают в себя идентификаторы ракурсов, включенные в представление компоновки ракурсов, которые позволяют идентифицировать ракурсы камер и, следовательно, видеоданные и дорожки мультимедийной информации, в отношении которых используется представление компоновки ракурсов.
Затем способ завершается. Этапы операций способа формирования могут выполняться последовательно, как проиллюстрировано на фиг.1. В качестве альтернативы, этапы с S3 по S5 могут выполняться заранее или наоборот параллельно с этапами S1 и S2.
Фиг.4 схематично иллюстрирует вариант осуществления файла 30 медиаконтейнера. Файл 30 медиаконтейнера содержит одну или более дорожки 32 мультимедийной информации, несущие в себе закодированные многоракурсные видеоданные. Представление 34 компоновки ракурсов, содержащее идентификаторы 36 ракурсов применительно к ракурсам камер, также организованы в качестве метаданных в файле 30 медиаконтейнера.
Фиг.5 иллюстрирует пример того, каким образом в файле медиаконтейнера может быть организовано представление компоновки ракурсов. В этом иллюстративном примере файл медиаконтейнера содержит блок, обозначенный как Общий Дополнительный Блок 38 Позиций Ракурсов. Этот блок 38 документирует обычно используемые позиции камер. Это в частности полезно, когда камеры и ракурсы камер сориентированы по интуитивно понятной модели, которая может быть сложной для получения из координат позиций камер. Создатель контента может использовать этот блок для выделения полезных взаимосвязей между камерами по его или ее выбору.
Общий дополнительный блок 38 позиций ракурсов на фиг.5 иллюстрирует множество заранее определенных представлений с 34A по 34E компоновки ракурсов. Таким образом, блок 38 содержит линейный блок 34A ракурсов, плоскостной блок 34B ракурсов, прямоугольный блок 34C ракурсов, сферический блок 34D ракурсов и стереоблок 34E ракурсов. Отметим, что в более реальных вариантах реализации в общий дополнительный блок 38 позиций ракурсов вместо этого могут включаться только одно или подмножество из представлений с 34A по 34E компоновки ракурсов в соответствии с тем, как это представление или эти подмножества выбраны применительно к текущей компоновке ракурсов камер.
Не накладывающим ограничений примером предоставления общего дополнительного блока 38 позиций ракурсов в файле медиаконтейнера может служить следующее:
Типы Блоков: 'gsvp'
Контейнер: Блок Фильма ('moov')
Обязательность: Нет
Количество: Ровно один
выровненный(8) класс Общий Дополнительный Блок Позиций Ракурсов
расширяет Полный блок('gsvp', версия = 0,0) {
Линейный Блок Ракурсов(); //опционально
Плоскостной Блок Ракурсов(); //опционально
Прямоугольный Блок Ракурсов(); //опционально
Сферический Блок Ракурсов(); //опционально
Стерео Блок Ракурсов(); //опционально
}
Блоки с 34A по 34E ракурсов, доступные применительно к типу блока 'gsvp', являются опциональными, подразумевая, что не все из них обязательно должны включаться в файл медиаконтейнера для заданной компоновки ракурсов камер. На фиг.5 блок 38 проиллюстрирован как имеющий не более одного блока с 34A по 34E на каждый тип представления компоновки ракурсов. Тем не менее, для некоторой совокупности камер может быть преимущественно необходимым включить несколько представлений компоновки ракурсов заданного типа, таких как несколько представлений 34A компоновки ракурсов в виде линии и/или несколько представлений 34E компоновки ракурсов в виде стереопары.
Фиг.6 является блок-схемой, иллюстрирующей вариант осуществления этапа S3 выбора и этапа S4 включения способа формирования на фиг.1. Способ продолжается с этапа S2 на фиг.1. На следующем этапе S10 выбирают, на основании относительных позиций множества ракурсов камер или множества камер, представление компоновки ракурсов в виде линии. Например, и со ссылкой на фиг.2, все ракурсы 22-28 камер скомпонованы вдоль прямой линии, и для этого размещения ракурсов камер должно быть выбрано представление компоновки ракурсов в виде линии.
Фиг.3 иллюстрирует другую группу ракурсов камер. В этом случае фактически возможно 34 варианта записи представления компоновки ракурсов в виде линии для совокупности из 16 ракурсов с 22A по 28D камер, если минимальное число ракурсов камер равно трем:
22A, 22B, 22C, 22D28A, 28B, 28C, 28D22C, 24C, 26C, 28C28A, 26B, 24C, 22D24B, 26C, 28D28A, 26B, 24C22A, 22B, 22C24B, 24C, 24D28A, 28B, 28C24A, 26A, 28A22C, 24C, 26C24D, 26D, 28D
24A, 24B, 24C, 24D22A, 24A, 26A, 28A22D, 24D, 26D, 28D24A, 26B, 28C22B, 24C, 26D26B, 24C, 22D22B, 22C, 22D26A, 26B, 26C28B, 28C, 28D22B, 24B, 26B24C, 26C, 28C
26A, 26B, 26C, 26D22B, 24B, 26B, 28B22A, 24B, 26C, 28D22A, 24B, 26C26A, 24B, 22C28B, 26C, 24D24A, 24B, 24C26B, 26C, 26D22A, 24A, 26A24B, 26B, 28B22D, 24D, 26D
В предпочтительном варианте осуществления число ракурсов камер, рассматриваемых как находящиеся на прямой линии, составляет, по меньшей мере, 3, как в примере выше.
На опциональном следующем этапе S11 выбирают версию линейности из первой версии линейности и второй версии линейности. Эти несколько версий линейности определяют разные способы организации идентификаторов ракурсов применительно к, предпочтительно, по меньшей мере, трем ракурсам камер, размещенным на прямой линии. Выбор на этапе S11 версии линейности выполняется на основании относительных позиций множества ракурсов камер. Если на этапе S11 выбрана первая версия V1 линейности, то способ переходит к этапу S12. На этапе S12 в представление компоновки ракурсов в виде линии включают все идентификаторы ракурсов, относящиеся к ракурсам камер, размещенных вдоль прямой линии. Таким образом, ракурсы камер предоставляются в правильном порядке по мере их размещения вдоль линии. Например, 22A, 24B, 26C, 28D на фиг.3, если с 22A по 28D представляют собой идентификаторы ракурсов, относящиеся к ракурсам камер.
Тем не менее, если на этапе S11 выбирается вторая версия V0 линейности, то на этапе S13 в представление компоновки ракурсов в виде линии включают идентификатор начального ракурса и опционально приращение идентификатора. Этот способ представления идентификаторов ракурсов будет более эффективным с точки зрения общего размера битов, отводимых на идентификаторы ракурсов. Тем не менее, вторая версия линейности допустима, только если ракурсы камер организованы так, что их идентификаторы ракурсов будут соответствовать id_начального_ракурса, id_начального_ракурса + приращение_id, id_начального_ракурса + 2хприращение_id, id_начального_ракурса + 3хприращение_id, …, где id_начального_ракурса является идентификатором ракурса, относящимся к ракурсу камеры с наименьшим идентификатором ракурса среди серии выстроенных в линию ракурсов камер, а приращение_id является приращением идентификатора. В некоторых приложениях приращение идентификатора может быть заранее заданным значением, таким как единица, тем самым исключая требование об указании какого-либо приращения идентификатора в линейном блоке ракурсов. Затем способ переходит к этапу S5 на фиг.1.
Фиг.7A иллюстрирует первый пример линейного блока 34A ракурсов, если на этапе S11 на фиг.6 была выбрана первая версия линейности. Линейный блок 34A ракурсов содержит идентификатор 31 версии, имеющий значение, связанное с первой версией линейности. Идентификаторы 36A ракурсов, расположенных в линию ракурсов камер, также включаются в линейный блок 34A ракурсов.
Фиг.7B иллюстрирует соответствующий линейный блок 34A ракурсов, если на этапе S11 на фиг.6 наоборот была выбрана вторая версия линейности. Линейный блок 34A ракурсов содержит идентификатор 31 версии линейности, идентификатор 36B начального ракурса и, опционально, приращение 36C идентификатора, упомянутые выше. Идентификатор 36B начального ракурса и приращение 36C идентификатора являются представлениями идентификаторов ракурсов, относящихся к расположенным на одной линии ракурсам камер, и могут использоваться для вычисления ракурсов камеры в соответствии с id_ракурса = id_начального_ракурса + kxприращение_id, где k=0, 1, 2, …, количество_ракурсов-1, а количество_ракурсов является целочисленным количеством, которое указывает количество последовательных расположенных на одной линии ракурсов камеры.
Несмотря на то, что не проиллюстрировано на фиг.7A и 7B, линейный блок 34A ракурсов также может содержать количество_ракурсов, т.е. общее число ракурсов камер, расположенных на прямой линии. Тем не менее, это не является обязательным, так как размер поля, содержащегося в структуре блока/полного блока, дает указание на то, какое количество записей ракурсов содержится в блоке. Всегда можно разделить размер на число битов, занятых каждым ракурсом, чтобы получить общее число ракурсов.
Линейный блок 34A ракурсов может быть определен в соответствии со следующим:
Типы Блоков: 'ilvi'
Контейнер: Общий Дополнительный Блок Позиций Ракурсов ('gsvp')
Обязательность: Нет
Количество: ноль или более
выровненный(8) класс Линейный Блок Ракурсов расширяет Полный блок('ilvi', версия, 0) {
если(версия==1){
для(i=0;;i++{ //до конца блока
беззнаковая int(6) зарезервированная1=0;
беззнаковая int(10) id_ракурса;
}
{иначе{
беззнаковая int(6) зарезервированная2=0;
беззнаковая int(10) id_начального_ракурса;
беззнаковая int(16) количество_ракурсов
беззнаковая int(16) приращение_id
}
}
Семантика
версия является целочисленным значением, указывающим версию линейности применительно к линейному блоку ракурсов.
id_ракурса является идентификатором ракурса камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса в документе [6].
id_начального_ракурса является идентификатором ракурса применительно к ракурсу камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса, который является наименьшим id_ракурса среди серий, расположенных на одной линии ракурсов камер.
количество_ракурсов является целочисленным значением, которое вычисляет число последовательных расположенных на одной линии ракурсов камер.
приращение_id является приращением идентификатора.
Отметим, что одно представление компоновки ракурсов может содержать множество линейных блоков ракурсов, как указано выше и рассматривалось применительно к фиг.3.
В альтернативном варианте осуществления доступна первая версия линейности. Таким образом, этапы S11 и S13 могут быть пропущены, и линейные блоки ракурсов соответствуют тем, что проиллюстрированы на фиг.7A. Второй альтернативой является разрешение только второй версии линейности. Таким образом, могут быть пропущены этапы S11 и S12, и линейные блоки ракурсов соответствую тем, что проиллюстрированы на фиг.7B.
В других вариантах осуществления представление компоновки ракурсов также содержит информацию, указывающую, является ли прямая линия расположенных в одну линию ракурсов камер горизонтальной линией, вертикальной линией или наклонной линией.
Фиг.8 является блок-схемой, иллюстрирующей вариант осуществления этапа S3 выбора и этапа S4 включения на фиг.1. Способ продолжается с этапа S2 на фиг.1. На следующем этапе S20 выбирают, на основании относительных позиций множества ракурсов камер, представление компоновки ракурсов в виде плоскости. Это представление компоновки ракурсов выбирается, если группа ракурсов камер или камеры размещены в плоскости. Число ракурсов камер в группе предпочтительно не менее трех. Все ракурсы с 22A по 28D камер, проиллюстрированные на фиг.3, лежат в плоскости, и поэтому для группы ракурсов с 22A по 28D может быть выбрано представление компоновки ракурсов в виде плоскости.
На следующем опциональном этапе S21 выбирают между первой версией плоскости ракурсов и второй версией плоскости ракурсов в соответствии со случаем с представлением компоновки ракурсов в виде линии. Выбор на этапе S21 выполняется на основании относительных позиций множества ракурсов камер. Если на этапе S21 выбирается первая версия V1 плоскости, то на этапе S22 в представление компоновки ракурсов в виде плоскости включают все идентификаторы ракурсов, относящиеся к ракурсам камер, выровненным по плоскости. Этот этап S22 по существу выполняется, как и этап S12 на фиг.6, за исключением того, что множество ракурсов камер выровнены по плоскости, а не только по прямой линии. Предпочтительно идентификаторы ракурсов включаются в порядке, полученном посредством перехода по ракурсам камер в плоскости в соответствии с заранее определенной схемой сканирования, такой как начиная с верхнего левого ракурса камеры и дальнейшего сканирования по первому ряду и затем переходя ко второму ряду и т.д. Другие возможные порядки сканирования, которые могут использоваться, включают в себя зигзагообразный порядок сканирования. В таком случае это означает, что матрица, содержащая, например, 3x3 камер или ракурсы камер, может сканироваться в порядке (1,1), (1,2), (2,1), (3,1), (2,2), (1,3), (2,3), (3,2) и (3,3) при записи (ряд, столбец). Дополнительным примером является чересстрочный порядок сканирования.
Если вместо этого на этапе S22 выбирается вторая версия V0 плоскости, то на этапе S23 в представление компоновки ракурсов в виде плоскости включают идентификатор начального ракурса, опционально и в случае, если не фиксировано, то приращение идентификатора. Этот этап S23 по существу выполняется, как и этап S13 на фиг.6. Затем способ переходит к этапу S5 на фиг.1.
Фиг.9A иллюстрирует плоскостной блок 34B ракурсов, т.е. представление компоновки ракурсов в виде плоскости, для первой версии плоскости. Плоскостной блок 34B ракурсов содержит идентификатор 31 версии и все идентификаторы 36A ракурсов, относящиеся к ракурсам камер, выровненных по плоскости. Фиг.9B иллюстрирует плоскостной блок 34B ракурсов, если идентификатор 31 сигнализирует вторую версию плоскости. Плоскостной блок 34B ракурсов в этом случае содержит идентификатор 36B начального ракурса и, опционально, приращение 36С идентификатора. Плоскостной блок 34B ракурсов опционально содержит информацию, т.е. количество_ракурсов, относящуюся к количеству ракурсов камер, выровненных по плоскости.
Аналогично представлению компоновки ракурсов в виде линии в альтернативном варианте осуществления доступна только первая версия плоскости или только вторая версия плоскости.
Плоскостной блок ракурсов может быть определен в соответствии со следующим:
Типы Блоков: 'plvi'
Контейнер: Общий Дополнительный Блок Позиций Ракурсов ('gsvp')
Обязательность: Нет
Количество: ноль или более
выровненный(8) класс Плоскостной Блок Ракурсов расширяет Полный блок('plvi', версия, 0) {
если(версия==1){
для(i=0;;i++{ //до конца блока
беззнаковая int(6) зарезервированная1=0;
беззнаковая int(10) id_ракурса;
}
{иначе{
беззнаковая int(6) зарезервированная2=0;
беззнаковая int(10) id_начального_ракурса;
беззнаковая int(16) количество_ракурсов
беззнаковая int(16) приращение_id
}
}
Семантика
версия является целочисленным значением, указывающим версию плоскости применительно к плоскостному блоку ракурсов.
id_ракурса является идентификатором ракурса камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса в документе [6].
id_начального_ракурса является идентификатором ракурса применительно к ракурсу камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса, который является наименьшим id_ракурса среди серий последовательных ракурсов камер, размещенных в плоскости.
количество_ракурсов является целочисленным значением, которое вычисляет количество последовательных выровненных по плоскости ракурсов камер.
приращение_id является приращением идентификатора.
Фиг.10 является блок-схемой, иллюстрирующей вариант осуществления этапа S3 выбора на фиг.1. Способ продолжается с этапа S2 на фиг.1. На следующем этапе S30 выбирают представление компоновки ракурсов в виде прямоугольной структуры на основании относительных позиций множества ракурсов камер. Такое представление компоновки ракурсов в виде прямоугольной структуры приемлемо для представления группы ракурсов камер или камер, которые образуют на плоскости прямоугольную решетку или сетку. Число ракурсов камер в группе предпочтительно не менее четырех, и ракурсы камер предпочтительно равноудалены друг от друга в повторяющейся модели. Фиг.3 иллюстрирует группу ракурсов с 22A по 28D камер, скомпонованных в прямоугольной структуре.
На следующем этапе S31 в представление компоновки ракурсов в виде плоскости включают представление количества рядов и представление количества столбцов прямоугольной структуры ракурсов камер. На этапе S32 определяются представления расстояния между последовательными рядами и последовательными столбцами в прямоугольной структуре ракурсов камер и включаются в представление компоновки ракурсов в виде прямоугольной структуры. Способ переходит к этапу S4 на фиг.1, на котором идентификаторы ракурсов, относящиеся к ракурсам камер в прямоугольной структуре, включаются в представление компоновки. Идентификаторы ракурсов предпочтительно включаются в порядке определенном упомянутой выше схемы сканирования.
Фиг.11 является схематической иллюстрацией прямоугольного блока 34C ракурсов, т.е. представления компоновки ракурсов в виде прямоугольной структуры в соответствии с вариантом осуществления. Прямоугольный блок 34С ракурсов содержит представления 35A, 35B количества рядов и столбцов в прямоугольной структуре и представления 37A, 37B расстояний между последовательными рядами и последовательными столбцами. Идентификаторы 36A ракурсов, относящиеся к ракурсам камер, организованным в прямоугольную структуру, также включаются в прямоугольный блок 34C ракурсов.
Применительно к прямоугольному блоку 34С ракурсов также альтернативно может использоваться выбор между двумя версиями прямоугольности аналогично линейному и плоскостному блокам ресурсов. Кроме того, вместо однозначного списка всех идентификаторов 36A ракурсов, относящихся к ракурсам камер, для обеспечения неявного списка идентификаторов ракурсов могут использоваться идентификатор начального ракурса и, опционально, приращение идентификатора.
Прямоугольный блок 34C ракурсов может быть представлен в файле медиаконтейнера в соответствии с нижеследующим:
Типы Блоков: 'rtvi'
Контейнер: Общий Дополнительный Блок Позиций Ракурсов ('gsvp')
Обязательность: Нет
Количество: ноль или более
выровненный(8) класс Прямоугольный Блок Ракурсов расширяет Блок('rtvi') {
беззнаковая int(32) количество_рядов_ракурсов;
беззнаковая int(32) интервал_рядов;
беззнаковая int(32) количество_столбцов_ракурсов;
беззнаковая int(32) интервал_столбцов;
для (i=0; i<количество_рядов_ракурсов; i++){
для (j=0; j<количество_столбцов_ракурсов; j++){
беззнаковая int(6) зарезервированная=0;
беззнаковая int(10) id_ракурса[i][j];
}
}
}
Семантика
количество_рядов_ракурсов указывает количество рядов в прямоугольной структуре.
интервал_рядов обозначает расстояние между рядами в прямоугольной структуре.
количество_столбцов_ракурсов указывает количество столбцов в прямоугольной структуре.
интервал_столбцов обозначает расстояние между столбцами в прямоугольной структуре.
id_ракурса[i][j] является идентификатором ракурса камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса в документе [6].
Фиг.12 является блок-схемой, иллюстрирующей вариант осуществления этапа S3 выбора и этапа S4 включения на фиг.1. Способ продолжается с этапа S2 на фиг.1. Далее на этапе S40 выбирают представление компоновки ракурсов в виде сферической структуры на основании относительных позиций множества ракурсов камер. Это представление компоновки доступно для группы ракурсов камер или камер, расположенных по сферической поверхности. Ракурсы камер могут, например, предоставляться по окружности сферы, т.е. по существу позиционироваться по границе круга, центрированного по центру сферы и имеющего точно такой же радиус. Также возможны более сложные варианты осуществления, где ракурсы камер расположены по части сферической поверхности. В целом, число ракурсов камер предпочтительно не менее четырех.
Далее на этапе S41 на фиг.12 включают информацию о радиусе и координатах центра сферы в представление компоновки ракурсов в виде сферической структуры. В опциональном варианте осуществления, как и для представлений компоновки ракурсов в виде линии и в виде плоскости, доступны две версии сферы. На этапе S42 выбирают версию сферы для использования применительно к текущей группе ракурсов камер на основании относительных позиций ракурсов камер. Если выбрана первая версия сферы, то на этапе S43 все идентификаторы ракурсов камер из группы явно включаются в представление компоновки ракурсов в виде сферической структуры. Тем не менее, если вместо этого выбрана вторая версия сферы, то идентификатор начального ракурса и опционально приращение идентификатора включаются в дополнение к информации об общем числе ракурсов камер в группе.
После этого способ переходит к этапу S5 на фиг.1.
В альтернативных вариантах осуществления доступны только одна из первой версии сферы и второй версии сферы.
Фиг.13A иллюстрирует сферический блок 34D ракурсов в соответствии с первой версией сферы. Сферический блок 34D ракурсов содержит информацию о радиусе 39A и координатах 39B центра сферы в дополнение к идентификатору 31 версии сферы ракурсов. Ракурсы 36A камер явно перечислены в сферическом блоке ракурсов при этой версии сферы.
Фиг.13B иллюстрирует сферический блок 34D ракурсов в соответствии со второй версией сферы. Вместо явного перечисления идентификаторов ракурсов сферический блок 34D содержит идентификатор 36B начального ракурса и опционально приращение идентификатора, если оно не зафиксировано как, например, равное единице или другому целому числу.
Сферический блок ракурсов может быть определен в файле медиаконтейнера в соответствии с нижеследующим:
Типы Блоков: 'spvi'
Контейнер: Общий Дополнительный Блок Позиций Ракурсов ('gsvp')
Обязательность: Нет
Количество: ноль или более
выровненный(8) класс Сферический Блок Ракурсов расширяет Полный Блок('spvi') {
беззнаковая int(32) радиус;
беззнаковая int(32) центр_сферы[3];
если (версия==1){
для (i=0;;i++){ //до конца блока
беззнаковая int(6) зарезервированная1=0;
беззнаковая int(10) id_ракурса;
}
} иначе {
беззнаковая int(6) зарезервированная2=0;
беззнаковая int(10) id_начального_ракурса;
беззнаковая int(16) количество_ракурсов
беззнаковая int(16) приращение_id
}
}
Семантика
версия является целочисленным значением, указывающим версию сферы применительно к сферическому блоку ракурсов.
радиус указывает радиус сферы в компоновке ракурсов в виде сферической структуры.
центр_сферы является координатой центральной точки сферы.
id_ракурса является идентификатором ракурса камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса в документе [6].
id_начального_ракурса является идентификатором ракурса применительно к ракурсу камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса, который является наименьшим id_ракурса среди серий последовательных ракурсов камер, размещенных по сферической поверхности.
количество_ракурсов является целочисленным значением, которое вычисляет число последовательных выровненных по сферической поверхности ракурсов камер.
приращение_id является приращением идентификатора.
Фиг.14 является блок-схемой, иллюстрирующей вариант осуществления этапа S3 выбора на фиг.1. Способ продолжается с этапа S2 на фиг.1. На этапе S50 выбирают представление компоновки ракурсов в виде стереопары на основании относительных позиций множества ракурсов камер. Эта компоновка ракурсов в виде стереопары указывает пару ракурсов камер, которые могут использоваться для визуализации трехмерного (3D) видео. Вследствие этого ракурсы камер имеют расстояние между собой, равное расстоянию между левым и правым глазом человека, и углы фокусировки, которые приемлемы для визуальной системы человека.
Способ переходит с этапа S50 к этапу S4 на фиг.1, где идентификаторы ракурсов для левого ракурса камеры и правого ракурса камеры включаются в представление компоновки ракурсов в виде стереопары.
Фиг.15 схематично иллюстрирует вариант осуществления стереоблока 34E ракурсов, т.е. представления компоновки ракурсов в виде стереопары. Стереоблок ракурсов содержит упомянутые выше идентификаторы 36D, 36E левого и правого ракурсов камер, формирующих стереопару ракурсов.
Стереоблок 34E ракурсов может быть реализован в соответствии с нижеследующим:
Типы Блоков: 'stvi'
Контейнер: Общий Дополнительный Блок Позиций Ракурсов ('gsvp')
Обязательность: Нет
Количество: ноль или более
выровненный(8) класс Стерео Блок Ракурсов расширяет Блок('stvi') {
беззнаковая int(6) зарезервированная1=0;
беззнаковая int(10) id_левого_ракурса;
беззнаковая int(6) зарезервированная2=0;
беззнаковая int(10) id_правого_ракурса;
}
Семантика
id_левого_ракурса является идентификатором ракурса применительно к ракурсу камеры в соответствии с тем, что указывается в Блоке Идентификатора Ракурса в документе [6], и который может использоваться в качестве ракурса левого глаза.
id_правого_ракурса соответствующий идентификатор ракурса, который может использоваться в качестве ракурса правого глаза.
Как рассматривалось выше, заданной группе множества ракурсов камер может быть назначено множество представлений компоновки ракурсов. В таком случае множество представлений компоновки ракурсов может быть одного и того же типа или разных типов. Например, размещению ракурсов камер, проиллюстрированному на фиг.3, потенциально может быть назначено 34 разных представления компоновки ракурсов в виде линии, представление компоновки ракурсов в виде плоскости, представление компоновки ракурсов в виде прямоугольной структуры и возможно одно или более представления компоновки ракурсов в виде стереопары.
Таким образом, определения заранее определенных представлений компоновки ракурсов, рассмотренные выше, не являются единственными. Например, компоновка ракурсов в виде прямоугольной структуры также является компоновкой ракурсов в виде плоскости, но обратное не обязательно верно. Это задача поставщика контента, создающего файл медиаконтейнера, указать компоновку ракурсов или компоновки ракурсов, которые он или она считают наиболее важными или соответствующими текущей компоновке ракурсов камер. Создатель контента может дополнительно выбрать тип представления или представлений компоновки контента на основании конкретной сцены, записываемой множеством камер. Например, в сцене с ведущим новостей более преимущественной может быть компоновка ракурсов в виде сферической структуры. Соответственно, в состязаниях в беге, таких как бег на 100 метров, хорошим выбором будет компоновка ракурсов в виде линии, в то время как компоновки ракурсов в виде плоскости или прямоугольной структуры могут использоваться при охвате крупномасштабных сцен, таких как сражения или церемонии Олимпийских игр.
В дополнение к представлению компоновки ракурсов, выбранной для представления общей компоновки множества ракурсов камер, используемых для формирования многоракурсных видеоданных, включаемых в файл медиаконтейнера, файл медиаконтейнера также содержит информацию, описывающую локальные взаимосвязи ракурсов камер. Примерами таких локальных взаимосвязей является указание соседних ракурсов, т.е. наиболее близкого по расстоянию ракурса камеры по отношению к текущему ракурсу камеры, и накладывающихся ракурсов, т.е. ракурсов камер, которые имеют накладывающиеся зоны контента.
В таком случае файл медиаконтейнера может содержать так называемый локальный дополнительный блок 40 позиций ракурсов, как проиллюстрировано на фиг.17. Локальный дополнительный блок 40 позиций ракурсов может быть реализован в файле медиаконтейнера в соответствии с нижеследующим:
Типы Блоков: 'lsvp'
Контейнер: Локальный Дополнительный Блок Контейнера Позиций Ракурсов ('lvpc')
Обязательность: Нет
Количество: ноль или более
выровненный(8) класс Локальный Дополнительный Блок Позиций Ракурсов расширяет Полный Блок('lsvp', версия=0, 0) {
Блок Идентификатора Локальной Позиции Ракурса(); //обязательный
Блок Соседних Ракурсов(); //опциональный
Блок Наложения Ракурсов(); //опциональный
}
В этом иллюстративном примере локальный дополнительный блок 40 позиций ракурсов предоставляется в локальном дополнительном блоке контейнера позиций ракурсов, выполненном в файле медиаконтейнера. Локальный дополнительный блок контейнера позиций ракурсов может быть реализован в соответствии с нижеследующим:
Типы Блоков: 'lvpc'
Контейнер: Простая Запись ('avc1', 'avc2', 'mvc1')
Обязательность: Нет
Количество: ноль или более
выровненный(8) класс Локальный Дополнительный Блок Контейнера Позиций Ракурсов расширяет Полный Блок('lsvp', версия=0, 0) {
Локальный Дополнительный Блок Позиций Ракурсов(); //опциональный
}
В качестве альтернативы, локальный дополнительный блок контейнера позиций ракурсов может быть опущен.
Локальный дополнительный блок 40 позиций ракурсов содержит блок 50 идентификатора локальной позиции ракурса, который указывает идентификатор 51 ракурса одного из ракурсов камер, который рассматривается в качестве базового ракурса. Таким образом, локальный дополнительный блок 50 позиций ракурсов может быть реализован в качестве:
Типы Блоков: 'lpvi'
Контейнер: Локальный Дополнительный Блок Позиций Ракурсов ('lsvp')
Обязательность: Да
Количество: Ровно один
выровненный(8) класс Блок Идентификатора Локальной Позиции Ракурса расширяет Блок('lpvi') {
беззнаковая int(6) зарезервированная=0;
беззнаковая int(10) id_ракурса;
}
Семантика
id_ракурса является идентификатором ракурса применительно к ракурсу камеры, чья информация соседства и/или наложения может предоставляться прочими блоками, которые содержатся в локальном дополнительном блоке позиций ракурсов.
Опциональный блок 70 соседних ракурсов содержит идентификатор или идентификатор 71 ракурсов применительно к ракурсу или ракурсам камер, находящимся наиболее близко с точки зрения расстояния по отношению к базовому ракурсу камеры, идентифицируемому в блоке 50 идентификатора локальной позиции ракурса. Блок 70 соседних ракурсов может быть реализован в соответствии с нижеследующим:
Типы Блоков: 'advi'
Контейнер: Локальный Дополнительный Блок Позиций Ракурсов ('lsvp')
Обязательность: Нет
Количество: Ноль или один
выровненный(8) класс Блок Соседних Ракурсов расширяет Блок('advi') {
для (i=0;;i++) { //до конца блока
беззнаковая int(6) зарезервированная=0;
беззнаковая int(10) id_ракурса;
}
}
Семантика
id_ракурса является идентификатором ракурса применительно к ракурсу камеры, который является соседним по отношению к ракурсу камеры, идентифицируемому в блоке 50 идентификатора локальной позиции ракурса.
Соседство ракурсов является определением физических позиций наиболее близко расположенных камер. Оно относится к позициям камер, но не относится к тому, какую сцену или объект снимает камера. Если две камеры из группы, состоящей из более чем двух камер, являются наиболее близкими в отношении расстояния, они могут быть классифицированы как соседние камеры, даже несмотря на то, что они могут снимать в разных, даже противоположных направлениях.
В явной противоположности к соседству ракурсов наложение ракурсов является представлением в отношении контента, которое определяет, что ракурсы камер из, по меньшей мере, двух камер являются накладывающимися, по меньшей мере, частично. В таком варианте осуществления, представление накладывающихся ракурсов камер организуется в файле медиаконтейнера.
Фиг.16 является блок-схемой, иллюстрирующей вариант осуществления, по обеспечению такого представления наложения ракурсов. Способ продолжается с этапа S5 на фиг.1. Со ссылкой на фиг.16 и 17 на следующем этапе S60 ассоциативно организуют представление 40 накладывающихся ракурсов камер в файле медиаконтейнера в отношении, по меньшей мере, одной дорожки мультимедийной информации. На этапе S61 идентификатор 51 ракурса, относящийся к ракурсу камеры, выбранный в качестве идентификатора базового ракурса, включается в представление 40 накладывающихся ракурсов камер, предпочтительно как включенный в блок 50 идентификатора локальной позиции ракурса.
На этапе S62 идентификатор или идентификаторы 61 ракурсов, относящиеся к ракурсу или ракурсам камер, которые накладываются, по меньшей мере, частично на базовый ракурс камеры, включаются в представление 40. На фиг.2, если ракурс 22 камеры выбран в качестве базового ракурса камеры, то ракурс 24 камеры будет накладывающимся ракурсом камеры. Соответственно, если наоборот ракурс 24 камеры является базовым ракурсом камеры, то как ракурс 22 камеры, так и ракурс 26 камеры будут накладывающимися ракурсами.
Расстояние между объектом или сценой и снимающими камерами приводит к разным зонам наложения. Например, две камеры могут записывать офицера полиции. Если офицер полиции стоит достаточно близко перед двумя камерами, то тогда возможно, что левая камера захватывает левую руку, а правая камера захватывает правую руку. В этом случае между двумя ракурсами камер нет зоны наложения. Если вместо этого офицер полиции стоит достаточно далеко, то обе камеры могут захватывать все изображение офицера полиции, и, следовательно, зоны экрана камеры, в которых стоит офицер полиции, принадлежат к зоне наложения.
Как следствие, на этапе S63 предпочтительно определяется и включается в представление 40 расстояние 62 до объекта, указывающее расстояние между камерами и объектом общих интересов.
Со ссылкой на фиг.16, 17 и 20, для того чтобы определить, каким образом накладывающийся ракурс 24 накладывается на базовый ракурс 22 камеры, на этапе S64 в представление 40 включается информация 63, 64 смещения, указывающая соответственно горизонтальное смещение 83 и вертикальное смещение 84. Размер накладывающейся области определяется посредством информации 65, 66 размера, предпочтительно шириной 85 и высотой 86 накладывающейся области. На этапе S65 информация 65, 66 размера включается в представление 40.
На фиг.17 информация, относящаяся к накладывающимся областям и ракурсам камер, предоставляется в блоке 60 наложения ракурсов, включаемом в локальный дополнительный блок 40 позиций ракурсов. Блок 60 наложения ракурсов может быть реализован в соответствии с нижеследующим:
Типы Блоков: 'olvi'
Контейнер: Локальный Дополнительный Блок Позиций Ракурсов ('lsvp')
Обязательность: Нет
Количество: Ноль или один
выровненный(8) класс Блок Наложения Ракурсов расширяет Блок('spvi') {
беззнаковая int(6) зарезервированная=0;
беззнаковая int(10) id_ракурса;
беззнаковая int(1) динамическое_наложение;
беззнаковая int(7) зарезервированная=0;
беззнаковая int(32) расстояние_до_объекта;
если(динамическое_наложение==0){
беззнаковая int(16) горизонтальное_смещение;
беззнаковая int(16) вертикальное_смещение;
беззнаковая int(16) ширина_области;
беззнаковая int(16) высота_области;
}
}
Семантика
id_ракурса является идентификатором ракурса камеры, который накладывается на ракурс камеры, идентифицируемый в блоке 50 идентификатора локальной позиции ракурса.
динамическое_наложение равно 1, чтобы указывать, что область, представленная текущим слоем, является динамически изменяемой прямоугольной частью базовой области. В противном случае, т.е. равно 0, область, представленная текущим слоем, является фиксированной прямоугольной частью базовой области.
расстояние_до_объекта указывает расстояние между камерами и объектом общих интересов. Если оно имеет значение 0, то информация в отношении областей наложения отсутствует, и область наложения принимает значение по умолчанию, предполагающее расстояние до объекта, например, на расстоянии в 100 единиц.
горизонтальное_смещение и вертикальное_смещение задают соответственно горизонтальное и вертикальное смещения верхнего левого пикселя прямоугольной области, представляемой ракурсом камеры, по отношению к верхнему левому пикселю базовой области, представляемой базовым ракурсом камеры, в единицах яркости базовой области.
ширина_области и высота_области задают соответственно ширину и высоту прямоугольной области, представляемой ракурсом камеры, в единицах яркости базовой области.
Локальный дополнительный блок 40 позиций ракурсов может содержать ни одного, один или множество блоков 70 соседних ракурсов в зависимости от числа наиболее близких соседних ракурсов камер и в зависимости от того, рассматривается ли создателем контента эта информация как ценная и по этой причине должна быть включена в локальный дополнительный блок 40 позиций ракурсов. Соответственно, в локальном дополнительном блоке 40 позиций ракурсов может использоваться ни один, один или множество блоков 60 наложения ракурсов в соответствии с тем, что определяется на основании числа накладывающихся ракурсов камер. Также отметим, что файл медиаконтейнера может содержать ни одного, один или множество локальных дополнительных блоков позиций ракурсов.
Информация, включаемая в локальный дополнительный блок позиций ракурсов, может рассматриваться как дополнительная или добавочная информация, которая может быть интересной в дополнение к общей информации ракурсов, обеспечиваемой представлениями компоновки ракурсов. В альтернативном подходе локальный дополнительный блок позиций ракурсов используется и включается в файл медиаконтейнера без необходимости выбора и включения какого-либо представления компоновки ракурсов.
Фиг.18 является принципиальной структурной схемой устройства для формирования файла медиаконтейнера в соответствии с вариантом осуществления. Устройство 100 содержит модуль 120 организации дорожек, выполненный с возможностью организации закодированных видеоданных, представляющих множество ракурсов камер применительно к видеоконтенту, в, по меньшей мере, одну дорожку мультимедийной информации файла медиаконтейнера. Модуль 120 организации дорожек может быть соединен с внешней или внутренней машиной мультимедийной информации, содержащей оборудование 12-18 для записи или формирования видеоданных, относящихся к множеству ракурсов камер, и кодировщик 190 для кодирования записанных или сформированных видеоданных. В качестве альтернативы, модуль 120 организации дорожек принимает видеоданные, как правило, в закодированном виде или в качестве незакодированных видеоданных, от соединенного приемника 110 устройства 100. Затем приемник 110 принимает видеоданные посредством проводной или беспроводной связи от внешнего терминала в системе связи. В качестве дополнительной альтернативы, модуль 120 организации дорожек может извлекать многоракурсные видеоданные из соединенной с ним памяти 130 мультимедийной информации устройства 100.
Модуль 140 выбора представлений реализован для выбора представления компоновки ракурсов среди множества заранее определенных представлений компоновки ракурсов. Выбор дополнительно выполняется, по меньшей мере, частично на основании относительных позиций множества ракурсов камер. Выбор представления компоновки ракурсов может выполняться вручную создателем контента, обладающим знаниями о расположении ракурсов камер. В этом случае модуль 140 выбора представлений содержит или соединен с устройством ввода пользователя, которое используется создателем контента для выбора представления компоновки ракурсов. В качестве альтернативы, модулю 140 выбора представлений могут быть предоставлены координаты камер как, например, посредством устройства ввода пользователя или из самих видеоданных. В таком случае модуль 140 выбора представлений содержит возможности обработки для выполнения сложных вычислений по определению размещения и взаимосвязей ракурсов камер. Так как файл медиаконтейнера формируется в автономном режиме и, как правило, в устройстве 100, имеется доступ к неограниченной мощности, трудоемкие вычисления могут вместо этого выполняться посредством модуля 140 выбора представлений. Такие вычисления, как правило, не возможны или, по меньшей мере, невыгодны применительно к этапу декодирования и визуализации видео, в частности из-за слабых терминалов, таких как мобильные терминалы, с ограниченными возможностями в отношении вычисления и обработки.
Процессор 160 идентификаторов предусмотрен в устройстве 100 для включения идентификаторов ракурсов, относящихся к множеству ракурсов камер, в представление компоновки ракурсов, выбранное модулем 140 выбора представлений. В этом случае процессор 160 идентификаторов предпочтительно включает идентификаторы ракурсов в порядке, описывающем порядки следования относительных позиций множества ракурсов камер в заранее определенных размещении и взаимосвязи позиций, определенных выбранным представлением компоновки ракурсов.
Выбранное представление компоновки ракурсов вместе с идентификаторами ракурсов ассоциативно организуются в файле медиаконтейнера в отношении, по меньшей мере, одной дорожки мультимедийной информации, посредством модуля 150 организации представлений.
Если модуль 140 выбора представлений выбрал представление компоновки ракурсов в виде линии, то активируется опциональный процессор 170 версий для выбора между первой версией линейности и второй версией линейности на основании относительных позиций ракурсов камер, выровненных по прямой линии. В первом случае процессор 160 идентификаторов включает идентификаторы ракурсов всех выровненных ракурсов камер. Тем не менее, если вместо этого идентификатором версий выбрана вторая версия, то процессор 160 идентификаторов включает идентификатор начального ракурса и опционально приращение идентификатора. Эта информация позволяет выполнять простое вычисление ракурсов камер.
Процессор 170 версий выбирает версии посредством изучения соответствующих идентификаторов ракурсов, относящихся к последовательным ракурсам камер. Если идентификаторы ракурсов увеличиваются или уменьшаются с приращением или отрицательным приращением по мере перехода вдоль линии, то процессор 170 версий выбирает вторую версию линейности, вместо использования первой версии линейности.
Модуль 140 выбора представлений может, в качестве альтернативы или в дополнение, выбирать представление компоновки ракурсов в виде плоскости. В этом случае процессор 170 версий предпочтительно выбирает между ранее описанными первой и второй версиями плоскости. В зависимости от того, какая версия плоскости выбрана, процессор 160 идентификаторов включает идентификаторы всех ракурсов камер, представленных в плоскости, или идентификатор начального ракурса, опционально общее число ракурсов камер и опционально приращение идентификатора.
Общее число ракурсов камер может определяться процессором 174 количества на основании входной информации в закодированных многоракурсных данных или из ввода пользователя.
Если модуль 140 выбора представлений выбирает представление компоновки ракурсов в виде прямоугольной структуры, то процессор 174 количества устройства 100 включает представление количества рядов и количества столбцов прямоугольной совокупности ракурсов камер в представление компоновки ракурсов в виде прямоугольной структуры. Процессор 176 расстояний включает информацию расстояний между последовательными рядами и столбцами в представление компоновки ракурсов в виде прямоугольной структуры.
Процессор 172 сферы активируется, если модуль 140 выбора представлений выбирает представление компоновки ракурсов в виде сферической структуры. Этот процессор 172 сферы включает в представление компоновки информацию о радиусе и координатах центра сферы, на которой скомпоновано множество камер.
Если модуль 140 выбора представления выбирает представление компоновки ракурсов в виде стереопары, то процессор 160 идентификаторов включает идентификаторы ракурсов для ракурса камеры левого глаза и ракурса камеры правого глаза в представление компоновки ракурсов в виде стереопары.
Также устройство 100 может опционально содержать процессоры для обеспечения дополнительной информации в файле медиаконтейнера. Процессор 182 ракурсов может, например, включать идентификатор ракурса применительно к ракурсу камеры, выбранному в качестве базового ракурса камеры из множества доступных ракурсов камер, таких как скомпонованных в линию, на плоскости, в прямоугольной решетке или по сфере. Процессор 182 ракурсов также может включать идентификатор ракурса, относящийся к ракурсу или ракурсам камер, которые определены как наиболее близкие с точки зрения расстояния к ракурсу камеры, указанному в качестве базового ракурса камеры.
Модуль 180 организации ракурсов может ассоциативно организовывать представление накладывающихся ракурсов камер в файле медиаконтейнера в отношении, по меньшей мере, одной дорожки мультимедийной информации. Процессор 182 ракурсов затем включает в представление идентификаторы базового ракурса камеры и накладывающиеся ракурсы камер.
Процессор 176 расстояний или другой процессор устройства 100 может включать информацию расстояния между накладывающимися камерами и интересующим объектом, в отношении которого существует наложение. Соответственно, процессор 184 смещений включает информацию о смещении между базовым ракурсом камеры и накладывающимся ракурсом камеры, а процессор размеров включает информацию о размере накладывающейся области в соответствии с тем, что описывалось выше.
Файл медиаконтейнера, сформированный в соответствии с вариантом осуществления устройства 100, может быть помещен в память 130 мультимедийной информации для дальнейшей передачи внешнему модулю, который служит для переадресации или обработки файла медиаконтейнера. В качестве альтернативы, файл медиаконтейнера может быть непосредственно передан этому внешнему модулю, такому как сервер мультимедийной информации, транскодеру или терминалу пользователя с возможностями визуализации или воспроизведения мультимедийной информации, посредством передатчика 110 устройства 100.
Модули 110, 120 и 140-190 устройства 100 могут быть предоставлены в качестве аппаратного обеспечения, программного обеспечения или сочетания аппаратного и программного обеспечения. Устройство 100 может преимущественно быть скомпоновано в сетевом узле проводной или предпочтительно беспроводной системы связи, основанной на радиопередаче. Устройство 100 может быть частью поставщика контента или сервера или может быть соединено с ними.
На фиг.18 использовался объединенный модуль, т.е. приемопередатчик, содержащий функциональные возможности как приема, так и передачи. В качестве альтернативы, в беспроводном варианте реализации могут использоваться выделенный приемник и выделенный передатчик, опционально соединенные с отдельной принимающей антенной и передающей антенной или объединенной принимающей и передающей антенной.
Фиг.19 является схематическим обзором части системы 1 беспроводной связи, в которой могут быть реализованы варианты осуществления. Система 1 связи содержит один или более сетевые узлы или базовые станции 300, обеспечивающие услуги связи подсоединенному терминалу 400 пользователей. По меньшей мере, одна из базовых станций 300 содержит или является соединенной с сервером мультимедийной информации или поставщиком 200, содержащим устройство 100 формирования файла контейнера, описанное выше и раскрытое на фиг.18. Многоракурсные видеоданные, включенные в файл медиаконтейнера, распространяются терминалам 400 пользователя и/или прочим устройствам обработки данных, предоставленным в системе 1 связи. В этом случае многоракурсные видеоданные могут передаваться терминалам 400 пользователя по одноадресной передаче или в виде многоадресной или широковещательной передачи, как схематично проиллюстрировано на фигуре.
Представление компоновки ракурсов, включенное в файл медиаконтейнера, обеспечивает высокоуровневую информацию, относящуюся к часто используемым взаимосвязям между камерами. Представления компоновок ракурсов могут использоваться для обеспечения интуитивной информации в отношении модели размещения камер достаточно просто без сканирования всех параметров камер и избегая обстоятельных вычислений. Представления компоновок, таким образом, могут использоваться для простого выяснения того, какие камеры или ракурсы камер выровнены по плоскости или расположены в соответствии с некоторой другой моделью размещения, какие камеры являются соседними по отношению друг к другу, какие ракурсы камер приемлемы для стереовизуализации и т.д.
Представление компоновки ракурсов и заключенная в нем информация может использоваться оборудованием визуализации, проигрывателями мультимедийной информации и прочими процессорами мультимедийной информации, например, при выборе мультимедийных данных для дальнейшей обработки, такой как транскодирование или визуализации. Таким образом, информация о том, как по отношению друг к другу скомпонованы камеры, используемые для записи многоракурсных видеоданных, преимущественно используется для обработки видеоданных в файле медиаконтейнера. Например, при визуализации 3D видео представление компоновки ракурсов в видео стереопары позволяет выполнить идентификацию ракурсов камер и, следовательно, видеоданных из этих ракурсов камер для совместной визуализации, для достижения 3D эффекта.
Прочие примеры обработки многоракурсных видеоданных, основанной на информации о размещении, состоят в обработке, которая производится, когда некто хочет переключиться между последовательными ракурсами камер, скомпонованными в прямую линию. Следовательно, представление компоновки ракурсов в виде линии позволяет произвести идентификацию ракурсов камер и видеоданных из этих ракурсов камер для использования при переключении визуализации ракурсов таким образом. Соответственно, представление компоновки ракурсов в виде сферической структуры может использоваться, если некто хочет осуществить панорамирование или перемещение между ракурсами камер, скомпонованными по сферической поверхности.
Кроме того, информация, содержащаяся в представлении компоновки ракурсов, может объединяться с локальной информацией, например, если соседние камеры имеют накладывающиеся ракурсы, для того чтобы решить приемлемо ли или действительно ли возможно соединение ракурсов камер. Примером использования соединения являются большие экраны или проекторы, которые требуют объединения нескольких ракурсов камер или единого панорамного вида в 360°.
Представления компоновки ракурсов также могут использоваться при отслеживании объекта. Например, предположим, что объект очень быстро бежит слева направо. В этом случае будет полезно знать, существуют ли представления компоновки ракурсов в виде линии по горизонтали в текущей совокупности камер, так что возможно отслеживание бегущего объекта.
Специалисту в соответствующей области должно быть понятно, что в отношении настоящего изобретения могут быть сделаны различные модификации и изменения, не отступая от его объема, который определяется прилагаемой формулой изобретения.
ССЫЛКИ
[1] ISO/IEC JTC1/SC29/WG11 - Coding of Moving Pictures and Audio, MPEG-4 Overview, Июль, 2000 г.
[2] ISO/IEC 14496-15:2004 - Information Technology, Coding of Audio-Visual Objects, Часть 15: Advanced Video Coding (AVC) File Format.
[3] ISO/IEC 14496-14:2003 - Information Technology, Coding of Audio-Visual Objects, Часть 14: MP4 File Format.
[4] 3GPP TS 26.244 V7.3.0 - 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Transparent end-to-end packet switched streaming service (PSS); 3GPP file format, 2007 г.
[5] ISO/IEC 14496-12:2005 - Information Technology, Coding of Audio-Visual Objects, Часть 12: ISO Base Media File Format.