ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к генерированию данных, представляющих световое поле.
УРОВЕНЬ ТЕХНИКИ
Получение данных четырехмерных или 4D световых полей, которое может рассматриваться как дискретизация 4-мерного светового поля, т.е., регистрация световых лучей, объясняется в статье «Выявление возможностей камеры с помощью байесовского анализа проекций световых полей» Anat Levin с соавт., опубликованной в трудах конференции ECCV 2008, и является предметом бурных исследований.
По сравнению с классическими двумерными или 2D изображениями, получаемыми с камеры, данные 4-мерных световых полей позволяют пользователю иметь доступ к характеристикам постобработки, которые улучшают визуализацию изображений и интерактивность с пользователем. Например, при использовании данных 4-мерных световых полей можно выполнять перефокусировку изображений с произвольно выбираемыми расстояниями фокусирования, то есть, положение фокальной плоскости может задаваться/выбираться апостериори, а также может незначительно изменяться точка наблюдения в сцене изображения. С целью получения данных 4-мерных световых полей могут использоваться несколько методов. Например, пленоптическая камера способна получать данные 4-мерных световых полей. Подробности архитектуры пленоптической камеры представлены на фиг. 1А. Фиг. 1А является диаграммой, схематически представляющей пленоптическую камеру 100. Пленоптическая камера 100 содержит главную линзу 101, матрицу 102 микролинз, содержащую множество микролинз 103, расположенных в двумерной матрице, и датчик 104 изображений.
Еще один способ получения данных 4-мерных световых полей состоит в использовании матрицы камеры, как показано на фиг. 1В. На фиг. 1В представлена многоматричная камера 110. Многоматричная камера 110 содержит матрицу 112 линз и датчик 114 изображений.
В примере пленоптической камеры 100, как показано на фиг. 1А, главная линза 101 принимает свет от объекта (не показанного на чертеже) в предметном поле главной линзы 101 и пропускает свет сквозь поле изображения главной линзы 101.
Наконец, еще один способ получения 4-мерного поля яркости состоит в использовании обычной камеры, которая выполнена с возможностью захвата последовательности 2-мерных изображений одной и той же сцены в различных фокальных плоскостях. Например, метод, описанный в документе «Захват поля световых лучей с помощью развертки фокальной плоскости и его оптическая реконструкция с помощью 3-мерных дисплеев» J.-H. Park с соавт., опубликованном в OPTICS EXPRESS, том 22, № 21 в октябре 2014 г., может использоваться для получения 4-мерных световых полей с помощью обычной камеры.
Существуют несколько способов представления данных 4-мерных световых полей. Действительно, в Главе 3.3 докторской диссертации, озаглавленной «Цифровая фотография световых полей» Ren Ng, опубликованной в июле 2006 г., описаны три различных способа представления данных 4-мерных световых полей. Во-первых, при регистрации пленоптической камерой данные 4-мерных световых полей могут быть представлены набором формируемых микролинзами изображений. Данные 4-мерных световых полей в этом представлении называются необработанными изображениями или необработанными данными 4-мерных световых полей. Во-вторых, данные 4-мерных световых полей могут быть представлены при регистрации либо пленоптической камерой, либо матрицей камеры с помощью набора субапертурных изображений. Субапертурное изображение соответствует захваченному изображению сцены из точки наблюдения, причем, точка наблюдения несколько различается для двух субапертурных изображений. Эти субапертурные изображения дают информацию о параллаксе и глубине изображаемой сцены. В-третьих, данные 4-мерных световых полей могут быть представлены набором эпиполярных изображений, см., например, статью, озаглавленную «Генерирование EPI-представления 4-мерных световых полей с использованием пленоптической камеры с однолинзовой фокусировкой» S. Wanner с соавт., опубликованную в трудах конференции ISVC 2011. Данные световых полей могут занимать большие объемы пространства хранения, что может сделать хранение затруднительным, а обработку - менее эффективной. Кроме того, устройства получения данных световых полей являются чрезвычайно разнородными. Камеры световых полей бывают различных типов, например, пленоптические матрицы или матрицы камер. В каждом типе имеется множество различий, таких как разные оптические схемы или микролинзы с различным фокусным расстоянием. Каждая камера имеет свой собственный формат файла. В настоящее время отсутствует стандарт, поддерживающий получение и передачу многомерной информации для исчерпывающего обзора различных параметров, от которых зависит световое поле. В этой связи, получаемые данные световых полей для различных камер имеют целый ряд форматов. Настоящее изобретение сделано с учетом вышеизложенного.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В соответствии с первым аспектом изобретения, предлагается компьютерно-осуществляемый способ сортировки группы лучей света, называемых образующими лучами, причем, каждый образующий луч упомянутой группы образует - в пространстве предметов оптической системы получения данных - поверхность объема, занимаемого набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных и сопряженный элемент, по меньшей мере, одного пикселя датчика упомянутой оптической системы получения данных, путем вращения вокруг оси вращения упомянутого объема, причем, упомянутый объем, занимаемый упомянутым набором лучей света, называется пиксельным пучком, причем, способ включает в себя:
- выбор - по меньшей мере, для одного пиксельного пучка - образующего луча, образующего поверхность упомянутого пиксельного пучка, который пересекает эталонную прямую линию,
- генерирование группы сортированных образующих лучей, содержащей выбранный образующий луч.
В соответствии с одним из вариантов осуществления изобретения, в способе сортировки группы лучей света поверхность пиксельного пучка, образуемая образующим лучом, является однополостным гиперболоидом.
В соответствии с одним из вариантов осуществления изобретения, в способе сортировки группы лучей света эталонная прямая линия параллельна оптической оси главной линзы оптической системы получения данных.
В соответствии с одним из вариантов осуществления изобретения, в способе сортировки группы лучей света эталонная прямая линия параллельна центральной оси матрицы линз оптической системы получения данных.
В соответствии с одним из вариантов осуществления изобретения, в способе сортировки группы лучей света выбор образующего луча состоит в:
- вычислении координат вектора, определяющего выбранный образующий луч, путем умножения вектора, определяющего другой образующий луч упомянутого пиксельного пучка, принадлежащий группе образующих лучей, на матрицу вращения,
- ввиду того, что расстояние между выбранным образующим лучом и эталонной прямой линией равно нулю, поскольку выбранный образующий луч и упомянутая эталонная прямая линия пересекают друг друга - вычислении значения угла вращения матрицы вращения на основе точек и векторов, определяющих упомянутый выбранный образующий луч и упомянутую эталонную прямую линию.
Еще одной целью изобретения является способ генерирования данных, характеризующих объем - в пространстве предметов оптической системы получения данных - занимаемый набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных и сопряженный элемент, по меньшей мере, одного пикселя датчика упомянутой оптической системы получения данных, причем, упомянутый объем, занимаемый упомянутым набором лучей света, называется пиксельным пучком, причем, способ включает в себя:
- получение первой группы лучей света и второй группы лучей света, называемых образующими лучами, причем, каждый образующий луч упомянутой группы образующих лучей образует поверхность пиксельного пучка путем вращения вокруг оси вращения упомянутого пиксельного пучка, причем, ось вращения упомянутого пиксельного пучка является лучом света, принадлежащим первой группе лучей света;
- вычисление данных пересечения, определяющих пересечения образующего луча и оси вращения заданного пиксельного пучка с множеством заданных эталонных плоскостей, причем, упомянутые эталонные плоскости параллельны друг другу и соответствуют различным глубинами в пространстве предметов;
- получение параметров хода лучей, определяющих графическое представление данных пересечения в 2-мерном ходе лучей для выдачи данных, характеризующих упомянутый пиксельный пучок.
В соответствии с одним из вариантов осуществления изобретения, в способе генерирования данных, характеризующих пиксельный пучок, данные пересечения, соответствующие образующему лучу и оси вращения, графически представлены на ходе лучей в виде линий данных, при этом параметры хода лучей содержат данные, характеризующие, по меньшей мере, одно из:
- наклона линии данных; и
- пересечения линии данных с осью хода лучей.
В соответствии с одним из вариантов осуществления изобретения, в способе генерирования данных, характеризующих пиксельный пучок, данные, характеризующие пиксельный пучок, дополнительно содержат данные о цвете, представляющие цвет соответствующего второго образующего луча и ось вращения.
В соответствии с одним из вариантов осуществления изобретения, в способе генерирования данных, характеризующих пиксельный пучок, полученная группа образующих лучей находится в соответствии со способом генерирования данных, характеризующих пиксельный пучок.
Еще одна цель изобретения касается устройства для сортировки группы лучей света, называемых образующими лучами, причем, каждый образующий луч упомянутой группы образует - в пространстве предметов оптической системы получения данных - поверхность объема, занимаемого набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных и сопряженный элемент, по меньшей мере, одного пикселя датчика упомянутой оптической системы получения данных, путем вращения вокруг оси вращения упомянутого объема, причем, упомянутый объем, занимаемый упомянутым набором лучей света, называется пиксельным пучком, причем, упомянутое устройство содержит процессор, выполненный с возможностью:
- выбора - по меньшей мере, для одного пиксельного пучка - образующего луча, образующего поверхность упомянутого пиксельного пучка, который пересекает эталонную прямую линию,
- генерирования группы сортированных образующих лучей, содержащей выбранный образующий луч.
В соответствии с одним из вариантов осуществления изобретения, процессор устройства для сортировки группы лучей света выполнен с возможностью
выбора образующего луча с помощью:
- вычисления координат вектора, определяющего выбранный образующий луч, путем умножения вектора, определяющего другой образующий луч упомянутого пиксельного пучка, принадлежащий группе образующих лучей, на матрицу вращения,
- ввиду того, что расстояние между выбранным образующим лучом и эталонной прямой линией равно нулю, поскольку выбранный образующий луч и упомянутая эталонная прямая линия пересекают друг друга - вычисления значения угла вращения матрицы вращения на основе точек и векторов, определяющих упомянутый выбранный образующий луч и упомянутую эталонную прямую лини.
Еще одна цель изобретения касается устройства для генерирования данных, характеризующих объем - в пространстве предметов оптической системы получения данных - занимаемый набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных и сопряженный элемент, по меньшей мере, одного пикселя датчика упомянутой оптической системы получения данных, причем, упомянутый объем, занимаемый упомянутым набором лучей света, называется пиксельным пучком, причем, устройство содержит процессор, выполненный с возможностью:
- получения первой группы лучей света и второй группы лучей света, называемых образующими лучами, причем, каждый образующий луч упомянутой группы образующих лучей образует поверхность пиксельного пучка путем вращения вокруг оси вращения упомянутого пиксельного пучка, причем, ось вращения упомянутого пиксельного пучка является лучом света, принадлежащим первой группе лучей света;
- вычисления данных пересечения, определяющих пересечения образующего луча и оси вращения заданного пиксельного пучка с множеством заданных эталонных плоскостей, причем, упомянутые эталонные плоскости параллельны друг другу и соответствуют различным глубинами в пространстве предметов;
- получения параметров хода лучей, определяющих графическое представление данных пересечения в 2-мерном ходе лучей для выдачи данных, характеризующих упомянутый пиксельный пучок.
В соответствии с одним из вариантов осуществления изобретения, предлагается процессор устройства для генерирования данных, характеризующих пиксельный пучок, причем, полученная группа образующих лучей находится в соответствии со способом по любому из п. 1-5.
Еще одной целью изобретения является устройство формирования изображений световых полей, содержащее:
- матрицу микролинз, расположенных в структуре регулярной решетки;
- фотодатчик, выполненный с возможностью захвата света, проецируемого на фотодатчик от матрицы микролинз, причем, фотодатчик содержит наборы пикселей, причем, каждый набор пикселей оптически связан с соответствующей микролинзой матрицы микролинз; и
- устройство для выдачи метаданных по п. 8.
Еще одной целью изобретения является цифровой файл, содержащий данные, характеризующие объем - в пространстве предметов оптической системы получения данных - занимаемый набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных, и сопряженный элемент, по меньшей мере, одного пикселя датчика упомянутой оптической системы получения данных, причем, упомянутый объем, занимаемый упомянутым набором лучей света, называется пиксельным пучком, причем, упомянутые данные содержат:
- параметры хода лучей, определяющие графическое представление в 2-мерном ходе лучей данных пересечения первого луча света, называемого образующим лучом, и второго луча света, причем, упомянутый образующий луч образует поверхность пиксельного пучка путем вращения вокруг другого луча света, причем, упомянутый другой луч света является осью вращения упомянутого пиксельного пучка, данные пересечения определяют пересечения образующего луча и оси вращения пиксельного пучка с множеством заданных эталонных плоскостей, упомянутые эталонные плоскости параллельны друг другу и соответствуют различным глубинами в пространстве предметов;
- данные о цвете, определяющие цвета образующего луча и ось вращения пиксельного пучка. Некоторые процессы, реализуемые элементами изобретения, могут быть реализованы с помощью компьютера. В этой связи, такие элементы могут принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включая микропрограммные средства, резидентные программные средства, микрокод и т.д.) или варианта осуществления, комбинирующего программные и аппаратные аспекты, которые могут в общем смысле называться в данном документе «схемой», «модулем» или «системой». Кроме того, такие элементы могут принимать форму компьютерного программного продукта, осуществляемого в любой физической среде функционирования, имеющей используемый компьютером программный код, осуществляемый в среде.
Поскольку элементы настоящего изобретения могут быть реализованы в программных средствах, настоящее изобретение может быть осуществлено в виде машиночитаемого кода для предоставления в программируемое устройство на любом подходящем программоносителе. Физический программоноситель может включать в себя запоминающую среду, такую как гибкий диск, CD-ROM, накопитель на жестком диске, накопитель на магнитной ленте или твердотельное запоминающее устройство и т.п. Энергозависимый программоноситель может включать в себя сигнал, такой как электрический сигнал, электронный сигнал, оптический сигнал, акустический сигнал, магнитный сигнал или электромагнитный сигнал, например, сверхвысокочастотный сигнал или радиочастотный сигнал.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Далее варианты осуществления описываются исключительно для примера и со ссылкой на нижеследующие чертежи, на которых:
фиг. 1А представляет собой диаграмму, на которой схематически представлена пленоптическая камера;
на фиг. 1В представлена многоматричная камера;
фиг. 2А представляет собой функциональную диаграмму камеры световых полей в соответствии с одним из вариантов осуществления изобретения;
фиг. 2В представляет собой функциональную диаграмму средства форматирования данных световых полей и процессора данных световых полей в соответствии с одним из вариантов осуществления изобретения;
фиг. 3 представляет собой пример необработанного изображения светового поля, сформированного на матрице фотодатчика;
на фиг. 4 представлен объем, занимаемый набором лучей света в пространстве предметов оптической системы камеры или оптической системы получения данных;
на фиг. 5 представлен однополостный гиперболоид;
фиг. 6А представляет собой функциональную блок-диаграмму, иллюстрирующую модули устройства для сортировки образующих лучей пиксельного пучка в соответствии с одним или более из вариантов осуществления изобретения;
фиг. 6В представляет собой структурную схему, иллюстрирующую этапы способа сортировки образующих лучей пиксельного пучка в соответствии с одним или более из вариантов осуществления изобретения;
фиг. 7А и 7В графически иллюстрируют использование эталонных плоскостей для параметризации данных световых полей в соответствии с одним или более из вариантов осуществления изобретения;
фиг. 8 схематически иллюстрирует представление лучей световых полей по отношению к эталонным плоскостям в соответствии с вариантами осуществления изобретения;
фиг. 9А представляет собой структурную схему, иллюстрирующую этапы способа в соответствии с одним или более из вариантов осуществления изобретения;
фиг. 9В представляет собой функциональную блок-диаграмму, иллюстрирующую модули устройства для выдачи формата данных световых полей в соответствии с одним или более из вариантов осуществления изобретения;
фиг. 10 схематически иллюстрирует параметры для представления лучей световых полей в соответствии с вариантами осуществления изобретения;
фиг. 11 представляет собой 2-мерный ход лучей, графически иллюстрирующий данные пересечения в соответствии с вариантами осуществления изобретения;
фиг. 12 графически иллюстрирует цифровую линию, генерируемую в соответствии с вариантами осуществления изобретения;
фиг. 13 графически иллюстрирует цифровые линии, генерируемые в соответствии с вариантами осуществления изобретения;
фиг. 14А-14С графически иллюстрируют преобразования Радона, применяемые к цифровой линии в соответствии с вариантами осуществления изобретения; и
фиг. 15 представляет собой 2-мерный ход лучей, графически иллюстрирующий данные пересечения для множества камер в соответствии с вариантами осуществления изобретения;
на фиг. 16 представлена геометрическая форма гауссова пучка.
ПОДРОБНОЕ ОПИСАНИЕ
Специалистам в данной области техники следует понимать, что аспекты настоящих принципов могут быть осуществлены в виде системы, способа или машиночитаемой среды. В этой связи, аспекты настоящих принципов могут принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включая микропрограммные средства, резидентные программные средства, микрокод и т.д.) или варианта осуществления, комбинирующего программные и аппаратные аспекты, которые могут в общем смысле называться в данном документе «схемой», «модулем» или «системой». Кроме того, аспекты настоящих принципов могут принимать форму машиночитаемой среды хранения. Может использоваться любая комбинация одной или более машиночитаемой среды (сред) хранения.
Варианты осуществления изобретения обеспечивают форматирование данных световых полей для дальнейших применений обработки, таких как преобразование формата, перефокусировка, изменение точки наблюдения и генерирование 3-мерных изображений.
Фиг. 2А представляет собой блок-диаграмму камеры световых полей в соответствии с одним из вариантов осуществления изобретения. Камера световых полей содержит апертуру/затвор 202, главную линзу 201 (объектива), матрицу 210 микролинз и матрицу 220 фотодатчика в соответствии с камерой световых полей на фиг. 1А. В некоторых вариантах осуществления камера световых полей содержит спуск затвора, который активируется для захвата изображения светового поля объекта или сцены. Следует понимать, что эти функциональные признаки могут также применяться к камере световых полей на фиг. 1B.
Матрица 220 фотодатчика выдает данные изображений световых полей, получение которых осуществляется модулем 240 получения LF-данных, для генерирования формата данных световых полей модулем 250 форматирования данных световых полей и/или для обработки процессором 255 данных световых полей. Данные световых полей могут храниться - после получения и после обработки - в памяти 290 в формате необработанных данных, в виде субапертурных изображений или фокальных стеков, либо в формате данных световых полей в соответствии с вариантами осуществления изобретения.
В иллюстрированном примере модуль 250 форматирования данных световых полей и процессор 255 данных световых полей расположены в камере 200 световых полей или встроены в нее. В других вариантах осуществления изобретения модуль 250 форматирования данных световых полей и/или процессор 255 данных световых полей могут предусматриваться в отдельном компоненте, внешнем по отношению к камере захвата световых полей. Отдельный компонент может являться локальным или удаленным по отношению к камере захвата световых полей. Следует понимать, что для передачи данных изображений световых полей в модуль 250 форматирования или процессор 255 данных световых полей может использоваться любой подходящий проводной или беспроводной протокол; например, процессор данных световых полей может передавать захваченные данные изображений световых полей и/или иные данные через Интернет, сотовую сеть передачи данных, WiFi-сеть, протокол обмена данными по BlueTooth и/или любые другие подходящие средства.
Модуль 250 форматирования данных световых полей выполнен с возможностью генерирования данных, характеризующих полученное световое поле, в соответствии с вариантами осуществления изобретения. Модуль 250 форматирования данных световых полей может быть реализован в программных средствах, аппаратных средствах или их комбинации.
Процессор 255 данных световых полей выполнен с возможностью оперирования с необработанными данными изображений световых полей, принимаемыми непосредственно с модуля 240 получения LF-данных, например, для генерирования фокальных стеков или матрицы наблюдений в соответствии с вариантами осуществления изобретения. Могут генерироваться выходные данные, например, неподвижные изображения, 2-мерные видеопотоки и т.п. захваченной сцены. Процессор данных световых полей может быть реализован в программных средствах, аппаратных средствах или их комбинации.
По меньшей мере, в одном варианте осуществления камера 200 световых полей может также содержать пользовательский интерфейс 260 для обеспечения пользователю возможности ввода пользователем данных для управления работой камеры 100 контроллером 270. Управление камерой может включать в себя одно или более из управления оптическими параметрами камерами, такими как скорость затвора, либо в случае регулируемой камеры световых полей управления относительным расстоянием между матрицей микролинз и фотодатчиком или относительным расстоянием между объективом и матрицей микролинз. В некоторых вариантах осуществления относительные расстояния между элементами камеры световых полей могут регулироваться вручную. Управление камерой может также включать в себя управление другими параметрами получения данных световых полей, параметрами форматирования данных световых полей или параметрами обработки данных световых полей камеры. Пользовательский интерфейс 260 может представлять собой, в частности, любое подходящее устройство (устройства) ввода пользователем, такое как сенсорный экран, кнопки, клавиатура, указывающее устройство и/или т.п. Таким образом, вводимые данные, принимаемые пользовательским интерфейсом, могут использоваться для управления и/или конфигурирования модуля 250 форматирования LF-данных для управления форматированием данных, процессором 255 LF-данных для управления обработкой полученных данных световых полей и контроллером 270 для управления камерой 200 световых полей.
Камера световых полей содержит источник 280 питания, например, одну или более из сменных или перезаряжаемых батарей. Камера световых полей содержит память 290 для хранения захваченных данных световых полей и/или визуализируемых конечных изображений, либо иных данных, таких как программные средства для реализации способов вариантов осуществления изобретения. К памяти может относиться внешняя и/или внутренняя память. По меньшей мере, в одном варианте осуществления память может предусматриваться в отдельном устройстве и/или местоположении по отношению к камере 200. В одном варианте осуществления к памяти относится съемное/сменное устройство хранения, такое как флэш-накопитель.
Камера световых полей может также содержать блок 265 отображения (например, экран жидкокристаллического дисплея) для просмотра сцен перед камерой до захвата и/или для просмотра ранее захваченных и/или визуализируемых изображений. Экран 265 может также использоваться для отображения пользователю одного или более меню или иной информации. Камера световых полей может дополнительно содержать один или более интерфейсов 295 ввода-вывода, таких как интерфейсы FireWire или Универсальная Последовательная Шина (USB), либо интерфейсы проводного или беспроводного обмена данными для обмена данными через Интернет, сотовую сеть передачи данных, WiFi-сеть, протокол обмена данными по BlueTooth и/или любые другие подходящие средства. Интерфейс 295 ввода-вывода может использоваться для передачи данных, например, характеризующих световые поля данных, генерируемых модулем форматирования LF-данных в соответствии с вариантами осуществления изобретения, и данных световых полей, например, необработанных данных световых полей или данных, обработанных процессором 255 LF-данных, на внешние устройства, например, вычислительные системы или блоки отображения и от них для применений визуализации.
Фиг. 2В представляет собой блок-диаграмму, иллюстрирующую конкретный вариант осуществления возможной реализации модуля 250 форматирования данных световых полей и процессора 253 данных световых полей.
Схема 2000 содержит память 2090, контроллер 2045 памяти и схемы 2040 обработки, представляющие собой, в частности, один или более блоков обработки (центральный процессор (процессоры)). Указанные один или более блоков 2040 обработки выполнены с возможностью запуска различных компьютерных программ или наборов инструкций, хранящихся в памяти 2090, для выполнения различных функций, включая форматирование данных световых полей и обработку данных световых полей. К программным компонентам, хранящимся в памяти, относятся модуль 2050 форматирования данных (или набор инструкций) для генерирования данных, характеризующих полученные данные световых полей, в соответствии с вариантами осуществления изобретения и модуль 2055 обработки данных световых полей (или набор инструкций) для обработки данных световых полей в соответствии с вариантами осуществления изобретения. Для применений камеры световых полей в память могут быть включены другие модули, например, модуль 2051 операционной системы для управления общесистемными задачами (например, регулирования питания, распределения памяти) и для обеспечения обмена данными между различными аппаратными и программными компонентами устройства 2000 и интерфейсный модуль 2052 для управления и регулирования обмена данными с другими устройствами через порты интерфейса ввода-вывода.
Фиг. 3 иллюстрирует пример 2-мерного изображения, формируемого на матрице 104 фотодатчика, изображенной на фиг. 1А, или матрице 114 фотодатчика, изображенной на фиг. 1В. Это 2-мерное изображение, часто называемое необработанным изображением, представляющим 4-мерное световое поле, состоит из матрицы микроизображений MI, причем, каждое микроизображение создается соответствующей микролинзой матрицы 102, 112 микролинз. Микроизображения расположены в матрице в структуре прямоугольной решетки, определяемой осями i и j. Изображение микролинзы может обозначаться соответствующими координатами . микролинзы. Пиксель PI фотодатчика 104, 114 может обозначаться своими пространственными координатами . 4-мерные данные световых полей, связанные с заданным пикселем, могут обозначаться в виде .
Имеются несколько способов представления (или определения) изображения 4-мерного светового поля. Например, изображение 4-мерного светового поля может быть представлено группой изображений микролинз, как описано ранее со ссылкой на фиг. 3. Изображение 4-мерного светового поля может также быть представлено - при регистрации пленоптической камерой - набором субапертурных изображений. Каждое субапертурное изображение состоит из пикселей одного и того же положения, выбираемого из каждого изображения микролинзы. Кроме того, изображение 4-мерного светового поля может быть представлено набором эпиполярных изображений, который не является случаем пиксельного пучка.
Варианты осуществления изобретения обеспечивают представление данных световых полей на основе понятия пиксельного пучка. Таким образом, может учитываться разнообразие форматов и устройств световых полей. Действительно, один недостаток основанных на лучах форматах состоит в том, что необходимо осуществлять дискретизацию плоскостей параметризации для отражения форматов и размеров пикселей. Следовательно, необходимо определять дискретизацию вместе с другими данными с целью восстановления физической значимой информации.
Пиксельный пучок 40, как показано на фиг. 4, представляет объем, занимаемый набором лучей света в пространстве предметов оптической системы 41 камеры. Набор лучей света воспринимается пикселем 42 датчика 43 камеры через зрачок 44 упомянутой оптической системы 41. В отличие от лучей, дискретизация пиксельных пучков 40 может осуществляться в любой момент, поскольку они передают по существу «оптический фактор», который соответствует сохранению энергии на всех сечениях физических световых лучей.
Зрачок оптической системы определяется как изображение апертурной диафрагмы, если смотреть через часть упомянутой оптической системы, т.е., линзы камеры, которая предшествует упомянутой апертурной диафрагме. Апертурная диафрагма представляет собой отверстие, которое ограничивает количество света, проходящего через оптическую систему камеры. Например, регулируемая диафрагма, расположенная внутри объектива камеры, является апертурной диафрагмой для данного объектива. Количество света, пропускаемое через диафрагму, регулируется диаметром отверстия диафрагмы, которое может подбираться в зависимости от количества света, которое желает пропускать пользователь камеры, или желаемой пользователем глубины резкости. Например, уменьшение апертуры уменьшает количество света, пропускаемое через диафрагму, но увеличивает глубину резкости. Видимый размер диафрагмы может быть больше или меньше, чем ее физический размер, из-за преломляющего действия линзы. Строго говоря, зрачок является изображением апертурной диафрагмы сквозь оптическую систему камеры.
Пиксельный пучок 40 определяется как узкий параллельный пучок лучей света, который достигает заданного пикселя 42 при распространении через оптическую систему 41 через входной зрачок 44. Поскольку в свободном пространстве свет распространяется по прямым линиям, форма такого пиксельного пучка 40 может определяться двумя сечениями - одно является сопряженным элементом 45 пикселя 42, а другое является входным зрачком 44. Пиксель 42 определяется своей ненулевой поверхностью и своей картой чувствительности.
Таким образом, пиксельный пучок может быть представлен однополостным гиперболоидом 50, как показано на фиг. 5, опирающимся на два элемента: зрачок 54 и сопряженный элемент 55 пикселя 42 в пространстве предметов камеры.
Однополостный гиперболоид представляет собой линейчатую поверхность, которая может поддерживать понятие узкого параллельного пучка лучей света и согласуется с понятием «оптического фактора» физических световых пучков.
Однополостный гиперболоид соответствует геометрии гауссова пучка. Действительно, в оптике гауссов пучок представляет собой пучок монохроматического электромагнитного излучения, поперечные профили амплитуд магнитного и электрического полей которого описываются гауссовой функцией; это также предполагает гауссов профиль интенсивности. Этот фундаментальный поперечный гауссов тип колебаний описывает предполагаемый выходной сигнал большинства лазеров, поскольку такой пучок света может быть сфокусирован в наиболее концентрированном пятне.
Приведенные ниже уравнения предполагают пучок с круглым сечением при всех значениях z; это можно увидеть, заметив, что появляется одна поперечная размерность r.
В положении z вдоль пучка (измеренном из фокуса) параметр w размера пятна имеет вид]
где - размер перетяжки.
Как представлено на фиг. 16, на расстоянии от перетяжки, равном zR, ширина w пучка равна .
Несмотря на то, что хвосты гауссовой функции в действительности никогда не достигают нуля, . Это означает, что вдали от перетяжки «край» пучка имеет форму конуса. Угол между линиями вдоль этого конуса (у которого ) и центральной осью пучка () называется расхождением пучка.
Общая расходимость пучка вдали от перетяжки при этом имеет вид
Поскольку однополостный гиперболоид является линейчатой поверхностью, такую поверхность в гиперболоиде описывает одно семейство прямых линий, называемых образующими лучами, которые вращаются вокруг оси вращения, называемой главным лучом. Главный луч гиперболоида и образующий луч, описывающий его поверхность, не параллельны друг другу, и они никогда не пересекаются друг с другом. Знание параметров, определяющих главный луч и любой образующий луч, принадлежащий семейству образующих линий гиперболоида, достаточно для определения пиксельного пучка 40, 50.
Общее уравнение однополостного гиперболоида, представляющего пиксельный пучок 40, 50, имеет вид:
где - координаты центра перетяжки пиксельного пучка в системе координат (x, y, z), центр которой находится в центре зрачка, гомологичны длине полуосей вдоль соответственно, где представляет радиус перетяжки вдоль ; представляет радиус перетяжки вдоль , а определяет угловую апертуру пиксельного пучка, при этом определяют направления главного луча относительно входа центра зрачка 44. Они зависят от положения пикселя 42 на датчике 43 и от оптических элементов оптической системы 41. Точнее, параметры представляют углы сдвига, определяющие направление сопряженного элемента 45 пикселя 42 от центра зрачка 44. В некоторых вариантах осуществления и имеют одинаковые значения, в этих случаях перетяжка имеет круглую форму.
Параметр определяет угловую апертуру пиксельного пучка 40, 50 и задается формулой или выражением, задаваемым следующим
уравнением: ,
где представляет радиус зрачка, а представляет положение перетяжки пиксельного пучка перед зрачком.
Однако такое представление пиксельного пучка 40, 50 занимает большие объемы пространства хранения, поскольку классический формат файла для хранения лучей состоит в сохранении положения и направления в 3-мерном пространстве. Решение для сокращения объема пространства хранения, требуемого для хранения представления пиксельного пучка, описывается ниже со ссылкой на фиг. 9В.
В то время как главные лучи по своему характеру ведут себя плавно, проходя через центры микролинз матрицы микролинз камеры, образующие лучи претерпевают более сильные отклонения на границах микролинз. При этом образующие лучи, как правило, попадают на главную линзу камеры при более значительных апертурных углах. Аберрации, например, дисторсия, будут при этом искажать образующие лучи, в то время как главные лучи в меньшей степени подвержены влиянию таких аберраций. Такое искажение образующих лучей осложняет запуск способа, описываемого со ссылкой на фиг. 9В, поскольку упомянутый способ работает с упорядоченными группами лучей. С этой целью авторы настоящего изобретения предлагают способ сортировки образующих лучей группы пиксельных пучков камеры с целью обеспечения способа в соответствии с фиг. 6В такой сортированной группой образующих лучей.
Фиг. 6А представляет собой блок-диаграмму, схематически иллюстрирующую главные модули устройства для сортировки образующих лучей группы пиксельных пучков камеры в соответствии с одним или более из вариантов осуществления изобретения. В одном из вариантов осуществления изобретения такое устройство может быть встроено в модуль 250 форматирования данных световых полей.
Устройство 600 содержит процессор 601, блок 602 хранения, устройство 603 ввода, устройство 604 отображения и блок 605 интерфейса, которые соединены шиной 606. Разумеется, составляющие элементы компьютерного устройства 600 могут быть соединены с помощью соединения, отличного от шинного соединения.
Процессор 601 управляет операциями устройства 600. Блок 602 хранения хранит, по меньшей мере, одну программу, выполненную с возможностью сортировки образующих лучей группы пиксельных пучков камеры, исполняемой процессором 601, и различные данные, включая параметры, относящиеся к оптической системе 21 оптической системы получения данных, параметры, используемые в вычислениях, выполняемых процессором 601, промежуточные данные вычислений, выполняемых процессором 601, и так далее. Процессор 601 может быть выполнен с помощью любых известных и подходящих аппаратных средств или программных средств, либо комбинации аппаратных средств и программных средств. Например, процессор 601 может быть выполнен с помощью специализированных аппаратных средств, таких как схема обработки, или с помощью программируемого блока обработки, такого как ЦП (Центральный Процессор), который исполняет программу, хранящуюся в его памяти.
Блок 602 хранения может быть выполнен с помощью любого подходящего хранилища или средства, выполненного с возможностью хранения программы, данных и т.п. машиночитаемым способом. К примерам блока 602 хранения относятся энергонезависимые машиночитаемые среды хранения, такие как полупроводниковые запоминающие устройства, а также магнитные, оптические или магнитооптические регистрирующие среды, загружаемые в блок считывания и записи. Программа заставляет процессор 601 выполнять процесс вычисления параметров, представляющих объем, занимаемый набором лучей света в пространстве предметов оптической системы и кодирования этих параметров с использованием изображения, захваченного оптической системой получения данных в соответствии с одним из вариантов осуществления настоящего изобретения, как описывается ниже со ссылкой на фиг. 9В.
Устройство 603 ввода может быть выполнено с помощью клавиатуры, указательного устройства, такого как мышь, и т.п. для применения пользователем с целью ввода команд для осуществления выбора пользователем параметров, используемых для генерирования параметрического представления объема, занимаемого набором лучей света в пространстве предметов оптической системы. Устройство 604 вывода может быть выполнено с помощью устройства отображения для отображения, например, Графического Интерфейса Пользователя (ГИП) и изображений, генерируемых в соответствии с одним из вариантов осуществления настоящего изобретения. Устройство 603 ввода и устройство 604 вывода могут быть выполнены как одно целое, например, с помощью сенсорной панели.
Блок 605 интерфейса обеспечивает интерфейс между устройством 600 и внешним устройством. Блок 605 интерфейса может быть выполнен с возможностью обмена данными с внешним устройством посредством кабельной или беспроводной связи. В одном из вариантов осуществления внешним устройством может являться камера или переносное устройство, в которое встроена такая камера, например, мобильный телефон, планшет и т.д.
Фиг. 6В представляет собой структурную схему, иллюстрирующую этапы способа сортировки образующих лучей группы пиксельных пучков камеры в соответствии с одним или более из вариантов осуществления изобретения.
На предварительном этапе S601 осуществляется получение параметров , и , определяющих различные пиксельные пучки, связанные с пикселями датчика камеры, либо путем калибровки камеры, либо путем выбора таких параметров из файла данных, хранящегося на удаленном сервере, либо в локальном блоке хранения, таком как память 290 камеры, либо на флэш-диске, соединенном с камерой. Получение или калибровка может исполняться процессором 601 устройства 600.
Вычисление значений параметров , и реализуется, например, путем выполнения программы, способной моделировать распространение лучей света через оптическую систему камеры. Такой программой, например, является программа для оптического проектирования, такая как Zemax, ASAP или Code V. Программа для оптического проектирования используется для проектирования и анализа оптических систем. Программа для оптического проектирования моделирует распространение лучей света через оптическую систему; и может моделировать эффект оптических элементов, таких как простые линзы, асферические линзы, градиентные линзы, зеркала и дифракционные оптические элементы, и т.д. Программа для оптического проектирования может исполняться процессором 601 устройства 600.
На этапе S602, исполняемом процессором 601, устраняется сдвиг главного луча пиксельного пучка. Устранение сдвига главного луча состоит в записи:
что дает однополостный гиперболоид, главный луч которого параллелен оси :
где - координаты точки, принадлежащей поверхности гиперболоида, а - координаты центра перетяжки рассматриваемого пиксельного пучка.
На этапе S603 процессор 601 вычисляет центрирование гиперболоида в точке с координатами , а затем вычисляет нормализацию гиперболоида, которая дает:
Таким образом, уравнение (1) теперь имеет вид
Устранение сдвига, а затем центрирование и нормализация пиксельного пучка превращаются в использование функции , преобразующей координаты в координаты .
Поскольку центральной осью гиперболоида является ось , две точки, принадлежащие этой оси, имеют следующий набор координат и в системе координат . Эта центральная ось гиперболоида, преобразованная назад в исходную систему координат , является главным лучом пиксельного пучка.
Гиперболоид, определяемый уравнением (4), имеет два семейства образующих лучей:
- первое семейство образующих лучей задается вращением вокруг оси прямой линии, соединяющей первую точку с координатами и вторую точку с координатами для любого , например, , и
- второе семейство образующих лучей задается вращением вокруг оси прямой линии, соединяющей первую точку с координатами и третью точку с координатами для любого .
Любые из этих образующих лучей, преобразованные назад в исходной системе координат, могут выбираться в качестве - образующего луча пиксельного пучка.
В нижеследующем описании способа в соответствии с одним из вариантов осуществления изобретения две точки - , координаты которой , и , координаты которой - определяют начальный образующий луч в системе координат .
На этапе S604 процессор 601 применяет функцию , как определено выше, к эталонной прямой линии в пространстве предметов камеры. В одном из вариантов осуществления изобретения эталонная прямая линия является оптической осью главной линзы камеры. Еще в одном варианте осуществления изобретения эталонная прямая линия является центральной осью матрицы линз камеры, в третьем варианте осуществления изобретения эталонная прямая линия является линией с направлением, образующим угол, меньший или равный , с оптической осью главной линзы камеры.
Эталонная прямая линия определяется двумя точками с координатами и в системе координат .
Применение функции к координатам и дает в системе координат :
Поскольку главный луч пиксельного пучка является осью в системе координат , вращение на угол вокруг главного луча задается матрицей вращения:
.
Если - изображение образующего луча путем вращения на угол вокруг главного луча , координаты точек и задаются в виде:
Во время этапа S605 процессор 601 вычисляет значение угла вращения.
Значение угла вращения находится, когда образующий луч пересекает эталонную прямую линию , т.е., расстояние между эталонной прямой линией и образующим лучом равно .
Расстояние между двумя непересекающимися непараллельными линиями с использованием уравнений
задается в соответствии с (Gellert с соавт. 1989, с. 538).
Это можно записать в сокращенном виде:
путем определения
В рассматриваемом случае для
и , и и .
Расстояние между двумя прямыми линиями, равное нулю, возвращает к вычислению:
В случае эталонной прямой линии и образующего луча :
Запишем с использованием:
Два решения для , дающие , можно найти следующим образом:
Дискриминант:
Это приводит к двум решениям:
Таким образом, установлены два угла и для того, чтобы образующий луч пересекал эталонную прямую линию .
Поскольку для одного и того же гиперболоида имеются два семейства образующих лучей, эталонную прямую линию пересекают четыре различных луча, образующих пиксельный пучок - по два на каждое из двух семейств образующих лучей. Из этих четырех образующих лучей, пересекающих эталонную прямую линию, выбирается один образующий луч. Затем выбранный образующий луч преобразуется назад в исходной системе координат на этапе S606.
Данный способ выполняется на различных пиксельных пучках камеры. Таким образом, находятся две группы лучей: первая группа лучей, содержащая главные лучи пиксельных пучков камеры, и вторая группа лучей, содержащая для других пиксельных пучков камеры образующие лучи, пересекающие эталонную прямую линию. Эти две группы лучей используются в способе, описываемом ниже, с целью обеспечения компактного формата для представления пиксельных пучков.
Чтобы предложить формат файла для хранения лучей, который требует меньше пространства хранения, может использоваться способ параметризации четырех измерений яркости световых полей со ссылкой на куб, изображенный на фиг. 7А. Все шесть поверхностей куба могут использоваться для параметризации светового поля. С целью параметризации направления может быть добавлен второй набор плоскостей, параллельных поверхностям куба. Таким образом, световое поле может быть определено по отношению к шести парам плоскостей с нормалями вдоль направлений осей в виде:
Фиг. 7В иллюстрирует луч светового поля, такой как главный луч или образующий луч, определяющий пиксельный пучок, проходящий через две эталонные плоскости Р1 и Р2, используемые для параметризации, которые размещены параллельно друг другу и расположены на известных глубинах z1 и z2 соответственно. Луч светового поля пересекает первую эталонную плоскость P1 на глубине z1 в точке (x1, y1) пересечения и пересекает вторую эталонную плоскость P2 на глубине z2 в точке (x2, y2) пересечения. Таким образом, луч светового поля может определяться четырьмя координатами (x1, y1, x2, y2). Световое поле может при этом быть параметризовано парой эталонных плоскостей для параметризации P1, P2, также называемыми в данном документе плоскостями параметризации, при этом каждое световое поле представлено в виде точки в 4-мерном пространстве лучей. Таким образом, это осуществляется для каждого главного луча и каждого образующего луча группы пиксельных пучков камеры.
Например, начало эталонной системы координат может находиться в центре плоскости P1, образуемой базисными векторами системы координат . Ось нормальна к образованной плоскости P1, а вторая плоскость P2 может быть расположена для упрощения на расстоянии z=Δ от плоскости P1 вдоль оси . Чтобы учесть шесть различных направлений распространения, полное световое поле может характеризоваться шестью парами таких плоскостей. Пара плоскостей, часто называемая световым срезом, характеризует световое поле, взаимодействующее с датчиком или матрицей датчиков камеры светового поля вдоль направления распространения.
Положение эталонной плоскости для параметризации может иметь вид:
, где - нормаль, а d - смещение относительно начала 3-мерной системы координат вдоль направления нормали.
Декартово уравнение эталонной плоскости для параметризации может иметь вид:
Если луч светового поля имеет известное положение:
, а нормированной вектор распространения:
, общее параметрическое уравнение луча в 3 измерениях может иметь вид:
Координаты пересечения между лучом светового поля и эталонной плоскостью имеют вид:
(A)
Пересечение между лучами светового поля и эталонной параметризацией отсутствует, если не выполняется следующее условие:
Ввиду перпендикулярности одной из осей системы пары эталонных плоскостей, используемой для параметризации светового поля, один из компонентов пересечения лучей всегда постоянен для каждой плоскости. Следовательно, если имеется пересечение луча светового поля с первой эталонной плоскостью и пересечение упомянутого светового поля со второй эталонной плоскостью, четыре координаты изменяются, и уравнение А может использоваться для вычисления четырех параметров луча светового поля. Эти четыре параметра могут использоваться для построения 4-мерного хода лучей светового поля.
Исходя из параметризации светового поля с привязкой к двум эталонным плоскостям параметризации, данные, представляющие световое поле, могут быть получены следующим образом. Если задана эталонная система, изображенная на фиг. 8, первая плоскость P1 параметризации перпендикулярна оси z при z=z1, вторая плоскость P2 параметризации расположена перпендикулярно оси z при z=z2, а луч, параметры светового поля которого L(x1; y1; x2; y2), должен визуализироваться в местоположении z=z3, в котором расположена матрица фотодатчика камеры светового поля. Из уравнения (A):
при
Раскрывая приведенное выше выражение, получим:
Обе системы уравнений должны передавать одну и ту же точку в качестве визуализируемого луча светового поля в новом местоположении. Если заменить ux; uy; uz на их соответствующее выражение как функцию и , если используется второй набор уравнений из предыдущего блока, а x3 и y3 суммируются друг с другом:
Это приводит к выражению:
(B)
Координаты с нижним индексом 3 относятся к известной точке (x3, y3, z3), в которой визуализируется световое поле. Все координаты zi глубины известны. Плоскости параметризации проходят в направлении распространения или визуализации. Параметры L данных светового поля представляют собой (x1, y1, x2, y2).
Лучи светового поля, которые образуют изображение в точке (x3, y3, z3), связаны выражением (B), которое определяет гиперплоскость в .
Это означает, что, если изображения должны визуализироваться из двухплоскостного параметризованного светового поля, необходимо визуализировать только лучи вблизи гиперплоскостей, и нет необходимости в их отслеживании. Фиг. 9А представляет собой структурную схему, иллюстрирующую этапы способа генерирования данных, характеризующих световое поле, в соответствии с одним или более из вариантов осуществления изобретения. Фиг. 9В представляет собой блок-диаграмму, схематически иллюстрирующую основные модули системы генерирования данных, характеризующих световое поле, в соответствии с одним или более из вариантов осуществления изобретения.
На предварительном этапе S801 способа осуществляется получение параметров, определяющих главные лучи и образующие лучи различных пиксельных пучков, связанных с пикселями датчика камеры. Эти параметры находятся в результате способа сортировки образующих лучей, описанного выше.
Такими параметрами являются координаты главных лучей и образующего луча, пересекающего эталонную прямую линию другого пикселя.
Еще на одном предварительном этапе S802 осуществляется получение необработанных данных световых полей с помощью камеры 801 световых полей. Необработанные данные световых полей могут быть, например, в форме микроизображений, как описано со ссылкой на фиг. 3. Камера световых полей может представлять собой такую камеру световых полей, как изображенная на фиг. 1А или 1В, 2А и 2В.
На этапе S803 полученные данные световых полей обрабатываются модулем 802 параметров лучей для выдачи данных (x1, y1, x2, y2) пересечения, определяющих пересечение захваченных лучей светового поля, которые соответствуют главным лучам и образующим лучам, пересекающим эталонную прямую линию пиксельных пучков 40, 50, с парой эталонных плоскостей для параметризации P1, P2 на соответствующих глубинах z1, z2.
По результатам калибровки камеры могут быть определены следующие параметры: центр проекции (x3, y3, z3), ориентация оптической оси камеры и расстояние f от зрачка камеры до плоскости фотодатчика. Параметры камеры световых полей иллюстрируются на фиг. 10. Плоскость фотодатчика расположена на глубине zp. Выходной сигнал пикселя датчика преобразуется в геометрическое представление лучей светового поля. Световой срез, содержащий две эталонные плоскости P1 и P2, расположен на глубинах z1 и z2 соответственно за пределами z3 на другой стороне центра проекции камеры на фотодатчик. Путем применения принципа треугольника к световым лучам координаты (xp, yp, zp) пикселя, регистрирующего свет, проецируемый от матрицы микролинз, могут быть преобразованы в параметры луча, т.е., точки (x1, y1, x2, y2) пересечения с эталонной плоскостью путем применения следующего выражения:
Приведенное выше вычисление может быть расширено на множество камер с различными парами троек (xp, yp, zp) (x3, y3, z3):
В случае пленоптической камеры используется модель камеры с апертурой, и луч светового поля описывается в фазовом пространстве как имеющий начало (xp, yp, zp) и направление (x'3, y'3, 1). Его распространение в плоскость (x3, y3) на глубину z3 может описываться как матричное преобразование. Линза будет действовать как матрица ABCD для отражения луча, и еще одна матрица распространения ABCD будет переносить луч в эталонные плоскости P1 and P2 светового среза.
По результатам этого этапа находятся данные (x1, y1, x2, y2) пересечения, геометрически определяющие пересечение главных лучей и образующего луча, пересекающего эталонную прямую линию, с эталонными плоскостями P1, P2.
На этапе S804 2-мерный ход лучей, графически представляющий данные (x1, y1, x2, y2) пересечения, находится с помощью модуля 803 генератора хода лучей.
Фиг. 11 представляет собой 2-мерный ход лучей, графически представляющий данные (x1, x2) пересечения лучей светового поля, захваченных камерой в местоположении x3=2 и на глубине z3=2 с апертурой <0,5. Дискретизация линий данных хода лучей, используемых для параметризации, осуществляется 256 минимальными элементами, обеспечивающими изображение 256×256 пикселей.
Если ход лучей, иллюстрированный на фиг. 11, интерпретировать как матрицу, можно увидеть, что она является малозаполненной. Если бы было необходимо сохранять лучи по отдельности в файл вместо матрицы 4-мерного фазового пространства, это потребовало бы сохранения для каждого луча, по меньшей мере, 2 байтов (int16) на каждое положение xi или x3 плюс 3 байтов на цвет, т.е. 7 байтов на луч для 2-мерного светового поля слоя и 11 байтов на луч для его полного 4-мерного представления. Даже в таком случае лучи должны сохраняться в файле произвольным образом, что может оказаться неподходящим для применений, в которых требуется манипулировать представлением. Авторы настоящего изобретения установили, как извлекать из матрицы хода лучей только репрезентативные данные и сохранять эти данные в файле структурированным образом.
Поскольку лучи светового поля отображаются вдоль линий данных 2-мерного хода лучей, наиболее эффективным является сохранение параметров, определяющих линию данных, а не сами значения линии. Параметры, определяющие линию данных, например, определяющий наклон параметр s и пересечение d оси могут сохраняться с набором лучей светового поля, принадлежащим этой линии данных.
Для этого может потребоваться, например, всего лишь 2 байта на параметр s наклона, 2 байта на параметр d пересечения и лишь 3 байта на луч. Кроме того, лучи могут быть упорядочены вдоль линий в файле. Чтобы установить линии по всем минимальным элементам матрицы, генерируются так называемые цифровые линии, которые аппроксимируют линии лучей с минимальными ошибками.
Чтобы определить местоположение линий данных и найти параметр s наклона и параметр d пересечения, на этапе S805 выполняется преобразование Радона с помощью модуля 804 обнаружения линий по ходу лучей, генерируемому на этапе S804.
По найденным параметру s наклона и параметру d пересечения на этапе S806 модулем 805 генерирования цифровых линий генерируется репрезентативная цифровая линия. На этом этапе цифровые линии генерируются путем аппроксимирования аналитической линии ее ближайшим узлом, например, путем применения алгоритма Брезенхэма. Действительно, алгоритм Брезенхэма обеспечивает способ создания цифровой линии с минимальным числом операций. В других способах может применяться вычисление быстрого дискретного преобразования Радона. Один из примеров применения алгоритма Брезенхэма основан на следующих материалах:
http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html.
Цифровой формат определяет линию данных двумя точками сетки (0,d) и (N-1, s), причем, d является пересечением, соответствующим значению x2, когда x1=0, а s является параметром наклона, соответствующим значению x2, когда x1=N-1. По генерируемому цифровому формату наклон a каждой отдельной линии может выражен в виде функции d, N и s следующим образом:
,
где:
и .
Фиг. 12 иллюстрирует пример цифровой линии, генерированной путем применения алгоритма Брезенхэма.
Фиг. 13 иллюстрирует группу цифровых линий, имеющих одинаковый наклон a (or s-d), но различные пересечения d - группу линий данных, являющихся смежными. Группа линий данных именуется в настоящем документе пучком линий и соответствует пучку, возникающему в результате того, что камера не является идеальной камерой с точечной диафрагмой. Каждая линия соответствует своему пикселю. Иными словами, один пиксель принадлежит только однозначно определяемой линии пучка с одним и тем же наклоном, но различными пересечениями. Верхняя и нижняя границы пересечений d оси задаются как dmax и dmin соответственно.
Данные лучей, параметризованные с помощью дискретизированной пары линий (в 2 измерениях) и принадлежащие одной камере, принадлежат семейству цифровых линий (пучку) в фазовом пространстве, используемом для представления данных. Заголовок пучка может содержать не что иное как наклон а и толщину пучка, определяемую верхней и нижней границами пересечений dmax и dmin оси. Значения лучей будут сохраняться в виде RGB-цветов вдоль цифровых линий, заголовок которых может представлять собой d и s. Пустые минимальные элементы хода лучей в дискретизованном пространстве сохранять необязательно. Координаты x1; x2 лучей могут вычитаться из параметров d, s и из положения минимального элемента вдоль цифровой линии.
Параметрами, оцениваемыми по световому полю или по геометрии камеры, являются наклон , нижняя и верхняя границы пересечений цифровой линии и параметры цифровой линии. Дискретное преобразование Радона уже рассматривалось в качестве инструмента для измерения опорного местоположения светового поля в ходе лучей.
На фиг. 14В изображено дискретное преобразование Радона в пространстве параметров цифровой линии линий данных, показанных на фиг. 14А. Фиг. 14С представляет собой увеличенное изображение интересующей области, содержащейся на фиг. 14В. Местоположение пучка цифровых линий находится путем поиска максимальных значений параметров. Может иметься некоторое смещение между геометрическим центром симметрии DRT и фактическим положением максимума из-за содержимого изображения, поэтому в дальнейшем используется алгоритм для точного определения центра симметрии вместо максимума. При этом нетрудно найти перетяжку преобразования пучка, как показано на фиг. 13С, для получения значений . Точка , ) является нижней огибающей пучка цифровых линий из фиг. 12A, а точка , ) является верхней огибающей пучка цифровых линий.
Уравнение двух ортогональных 2-мерных многослойных пространств из уравнения В имеет вид.
(C)
Если рассмотреть 2-мерный слой для координат , уравнение пучка линий, в котором будут отображаться данные луча через апертуру размера А в , имеет вид:
(D)
Аналогичным образом, если рассмотреть 2-мерный слой для координат :
(E)
Как описано выше, значения и , , , могут оцениваться в дискретной области. Для определения местоположения характеристик светового поля, как определено рассмотренным выше форматом, нет необходимости выполнять 4-мерное дискретное преобразование Радона (DRT). Если находятся два ортогональных 2-мерных DRT, могут выполняться измерения наклона m гиперплоскости и ширины пучка цифровых гиперплоскостей в тех случаях, когда все данные сконцентрированы в 4-мерном ходе лучей.
Эта более простая процедура определения местоположения предполагает круглый входной зрачок А, в результате чего , , , будут охватывать все пересечения гиперплоскостей, при этом некоторые значения, записанные в формате, не будут иметь величин.
Было бы интересно найти формат для 4-мерного случая, который аналогичен тому, что было предложено для 2-мерного случая. С этой целью было бы интересно связать 2-мерные линии, найденные на плоскости , с линиями, найденными на плоскости , т.е. линии, которые являются результатами пересечения соответствующей гиперплоскости с двумя ортогональными слоями , and . Из выражений D и E известно, что соответствующие линии имеют одинаковый наклон m. Это первый параметр, который связывает каждую линию на с линией в для камеры на некоторой глубине. Если имеется множество камер на одной и той же глубине (т.е., случай фиг. 14А), имеются три линии на и три линии на с одни и тем же расчетным наклоном m. Затем определяются соответствия в смещениях линий между линиями в этих двух плоскостях. С этой целью используется формулировка линий в выражениях D и E. В частности, ели обозначить
, смещения имеют вид:
(F)
и
(G)
Эти системы уравнений могут быть решены для и . Необходимо отметить, что соответствуют координатам камеры или, иными словами, вокселу, в котором соответствующий пучок света фокусируется в круг с радиусом А. Мы предположили, что апертура на плоскости, расположенной в , является круглой, поэтому , и благодаря решению предыдущих систем уравнений:
(G)
H)
(I)
(J)
Цифровые линии могут сканироваться аналогично вышеуказанному на с использованием цифровых линий Брезенхэма; для каждого отдельного значения сохраняются соответствующие значения , захваченные в световом поле. Для нахождения таких значений используется выражение С. Все нижеследующее либо известно, либо оценивается по выражениям F и G x3; y3; z3; z1; z2.
При перемещении по каждой линии в для каждого , находится следующее соотношение в :
Для каждой точки в сохраняется группа линий в . соответствует смещению линий, сканируемых и сохраняемых для . Следует отметить, что:
В соответствии с фиг. 12, каждый квадрат является точкой , и для каждой из этих точек имеется набор цифровых линий Брезенхэма, выходящих из плоскости чертежа вдоль цифрового пучка, определяемого уравнением:
(K)
перпендикулярно изображенным линиям данных, но в 4-мерном пространстве.
Пример формата данных для пучка линий данных на камеры приведен в Таблице 1.
Таблица 1
Сначала представлены общие метаданые 4-мерного пространства: включая границы 4 осей x1, x2, y1, y2 и их соответствующую дискретизацию. Представлено также число камер (пучков). Для каждой камеры j сохраняются следующие параметры:
размер апертуры: Aj, который соответствует диаметру зрачка пиксельного пучка,
точка фокусировки камеры: camj; focusPoint =(u3, u3, w3),
нижнее пересечение d в (x1x,2)= dj,
крутизна=mj,
число цифровых линий в (x1, x2)=,
число цифровых линий в (y1, y2)=,
По каждой камере для каждого (xq1; x q2) начинается сканирование по (y1, y2) с учетом выражения (K) с использованием цифровых линий Брезенхэма, и сохраняются значения RGB каждого луча светового поля. В частности, вычисляются с по и соответствующий doff в соответствии с выражением (K).
Те же вычисления выполняются на этапе декодирования с использованием сохраненных метаданных. В частности, k находится с использованием выражения (Н). Следовательно, формат остается компактным. Нет необходимости сохранять четыре показателя для каждого луча в системе. Необходимо отметить, что дискретизация вышеописанной гиперплоскости является дискретизацией 4-мерного пространства лучей, и, следовательно, отдельное местоположение x1; y1; x2; y2 не пропускается. Это лишь один пример систематического сканирования 4-мерного пространства лучей для сохранения всех данных в очень компактной форме. Разумеется, могут применяться и другие процессы. По-видимому, для рассмотрения гиперплоскости применяется параметрическая форма, поскольку она позволяет рассматривать расположенное чередующимися слоями пространство.
В случае, когда множество камер работают по данным, содержащим несколько пучков гиперплоскостей (несколько максимумов в преобразовании Радона из-за множества камер) может использоваться более сложный алгоритм. В качестве этапа предобработки находятся параметры (m, k) для всех пиков в преобразовании Радона и помещаются в один набор. То же осуществляется для пиков в (y1, y2), при этом параметры помещаются в другой набор. Далее в каждой итерации жадного алгоритма находится интенсивность максимального пика в 2-мерном преобразовании Радона (x1, x2), а соответствующий пик в (y1, y2) находится путем подгонки ранее найденных параметров (m, k). После сохранения данных, упомянутых в предыдущем разделе, эти пики убираются из преобразований Радона, и начинается следующая итерация до тех пор, пока в световом поле не останется ничего значимого.
Несмотря на то, что настоящее изобретение описано выше со ссылкой на конкретные варианты осуществления, настоящее изобретение не ограничено конкретными вариантами осуществления, при этом специалистам в данной области техники очевидны модификации, которые находятся в пределах объема настоящего изобретения.
Многие другие модификации и варианты представляются сведущим в данной области техники при упоминании вышеописанных иллюстративных вариантов осуществления, которые изложены лишь в качестве примера и которые не предполагают ограничения объема изобретения, определяемого исключительно прилагаемой формулой изобретения. В частности, различные признаки из различных вариантов осуществления при необходимости могут являться взаимозаменяемыми.
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО И СПОСОБ ДЛЯ ГЕНЕРИРОВАНИЯ ДАННЫХ, ХАРАКТЕРИЗУЮЩИХ ПИКСЕЛЬНЫЙ ПУЧОК | 2017 |
|
RU2826516C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ ФОРМИРОВАНИЯ ДАННЫХ, ПРЕДСТАВЛЯЮЩИХ СВЕТОВОЕ ПОЛЕ | 2016 |
|
RU2734018C2 |
УСТРОЙСТВО И СПОСОБ ДЛЯ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, ЗАХВАЧЕННОГО ОПТИЧЕСКОЙ СИСТЕМОЙ ПОЛУЧЕНИЯ ДАННЫХ | 2016 |
|
RU2729698C2 |
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ СИГНАЛА, ПРЕДСТАВЛЯЮЩЕГО СОДЕРЖИМОЕ СВЕТОВОГО ПОЛЯ | 2017 |
|
RU2746344C2 |
ВИЗУАЛЬНОЕ УСТРОЙСТВО ОТОБРАЖЕНИЯ И СПОСОБ ФОРМИРОВАНИЯ ТРЕХМЕРНОГО ИЗОБРАЖЕНИЯ | 1995 |
|
RU2168192C2 |
Стереодисплей (варианты), видеокамера для стереосъёмки и способ компьютерного формирования стереоизображений для этого стереодисплея | 2017 |
|
RU2698919C2 |
СПОСОБ ОПРЕДЕЛЕНИЯ ВЫСОТНОГО ПРОФИЛЯ ПОКАЗАТЕЛЯ ПРЕЛОМЛЕНИЯ ВОЗДУХА ОБЪЕМНОЙ ОБЛАСТИ ПРОСТРАНСТВА НА ОСНОВЕ АНАЛИЗА СВЕТОВОГО ПОЛЯ | 2020 |
|
RU2773390C2 |
СПОСОБ АНИЗОТРОПНОЙ РЕГИСТРАЦИИ СВЕТОВОГО ПОЛЯ И УСТРОЙСТВО ДЛЯ ЕГО РЕАЛИЗАЦИИ | 2022 |
|
RU2790049C1 |
СПОСОБ ПОЛУЧЕНИЯ ЧЕТЫРЕХМЕРНЫХ ЯРКОСТНО-СПЕКТРАЛЬНЫХ ПРОФИЛЕЙ УДАЛЕННЫХ ОБЪЕКТОВ И УСТРОЙСТВО ДЛЯ ЕГО РЕАЛИЗАЦИИ | 2023 |
|
RU2822085C1 |
СИСТЕМА ОТОБРАЖЕНИЯ РЕАЛЬНОЙ ИЛИ ВИРТУАЛЬНОЙ СЦЕНЫ И СПОСОБ ЕЕ ФУНКЦИОНИРОВАНИЯ | 2017 |
|
RU2665289C1 |
Изобретение относится к генерированию данных, представляющих световое поле. Технический результат изобретения заключается в обеспечении форматирования данных световых полей для дальнейших применений обработки. Способ генерирования выбранного пиксельного пучка, сформированного путем вращения образующего луча вокруг оси вращения объема, занимаемого набором лучей света, включает в себя: сортировку группы образующих лучей для создания сортированной группы образующих лучей; выбор из сортированной группы образующих лучей, выбранного образующего луча, который пересекает эталонную прямую линию; генерирование выбранного пиксельного пучка на основе выбранного образующего луча. 7 н. и 9 з.п. ф-лы, 1 табл., 23 ил.
1. Компьютерно-реализуемый способ генерирования выбранного пиксельного пучка, причем выбранный пиксельный пучок содержит, в пространстве предметов оптической системы получения данных, поверхность объема, занимаемого набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных и сопряженный элемент по меньшей мере одного пикселя датчика упомянутой оптической системы получения данных, причем выбранный пиксельный пучок сформирован путем вращения образующего луча вокруг оси вращения упомянутого объема, причем способ включает в себя:
- сортировку группы образующих лучей для создания сортированной группы образующих лучей;
- выбор, из сортированной группы образующих лучей, выбранного образующего луча, который пересекает эталонную прямую линию,
- генерирование выбранного пиксельного пучка на основе выбранного образующего луча.
2. Способ по п. 1, в котором поверхность пиксельного пучка, образуемая образующим лучом, является однополостным гиперболоидом.
3. Способ по п. 1, в котором эталонная прямая линия параллельна оптической оси главной линзы оптической системы получения данных.
4. Способ по п. 1, в котором эталонная прямая линия параллельна центральной оси матрицы линз оптической системы получения данных.
5. Способ по любому из предыдущих пунктов, в котором выбор выбранного образующего луча содержит:
- вычисление координат вектора, определяющего выбранный образующий луч, путем умножения вектора, определяющего другой образующий луч упомянутого пиксельного пучка, принадлежащий группе образующих лучей, на матрицу вращения,
- ввиду того, что расстояние между выбранным образующим лучом и эталонной прямой линией равно нулю, поскольку выбранный образующий луч и упомянутая эталонная прямая линия пересекают друг друга, вычисление значения угла вращения матрицы вращения на основе точек и векторов, определяющих упомянутый выбранный образующий луч и упомянутую эталонную прямую линию.
6. Способ генерирования данных, характеризующих выбранный пиксельный пучок, причем выбранный пиксельный пучок содержит объем, в пространстве предметов оптической системы получения данных, занимаемый набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных, и сопряженный элемент по меньшей мере одного пикселя датчика упомянутой оптической системы получения данных, причем выбранный пиксельный пучок сформирован путем вращения образующего луча вокруг оси вращения упомянутого объема, причем способ включает в себя:
- получение первой группы лучей света и второй группы лучей света, причем вторая группа содержит образующие лучи, причем каждый образующий луч упомянутой второй группы образующих лучей образует поверхность пиксельного пучка путем вращения одного из образующих лучей вокруг оси вращения упомянутого пиксельного пучка, причем ось вращения упомянутого пиксельного пучка является лучом света, принадлежащим первой группе лучей света;
- сортировку второй группы образующих лучей для создания сортированной группы образующих лучей;
- выбор, из сортированной группы образующих лучей, выбранного образующего луча, который пересекает эталонную прямую линию,
- вычисление данных пересечения, определяющих пересечения выбранного образующего луча и оси вращения выбранного пиксельного пучка с множеством заданных эталонных плоскостей, причем упомянутые эталонные плоскости параллельны друг другу и соответствуют различным глубинам в пространстве предметов;
- получение параметров хода лучей, определяющих графическое представление данных пересечения в 2-мерном ходе лучей для выдачи данных, характеризующих упомянутый выбранный пиксельный пучок.
7. Способ по п. 6, отличающийся тем, что данные пересечения, соответствующие образующему лучу и оси вращения, графически представлены на ходе лучей в виде линий данных, при этом параметры хода лучей содержат данные, характеризующие, по меньшей мере, одно из:
- наклона линии данных и
- пересечения линии данных с осью хода лучей.
8. Способ по п. 7, в котором данные, характеризующие пиксельный пучок, дополнительно содержат данные о цвете, представляющие цвет соответствующего второго образующего луча и оси вращения.
9. Способ по п. 6, в котором полученная группа образующих лучей находится в соответствии со способом по любому из пп. 1-5.
10. Устройство для генерирования выбранного пиксельного пучка, причем выбранный пиксельный пучок содержит, в пространстве предметов оптической системы получения данных, поверхность объема, занимаемого набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных, и сопряженный элемент по меньшей мере одного пикселя датчика упомянутой оптической системы получения данных, причем выбранный пиксельный пучок сформирован путем вращения образующего луча вокруг оси вращения упомянутого объема, причем упомянутое устройство содержит процессор, выполненный с возможностью:
- сортировки группы образующих лучей для создания сортированной группы образующих лучей;
- выбора, из сортированной группы образующих лучей, выбранного образующего луча, который пересекает эталонную прямую линию,
- генерирования выбранного пиксельного пучка на основе выбранного образующего луча.
11. Устройство по п. 10, в котором процессор выполнен с возможностью выбора образующего луча с помощью:
- вычисления координат вектора, определяющего выбранный образующий луч, путем умножения вектора, определяющего другой образующий луч упомянутого пиксельного пучка, принадлежащий группе образующих лучей, на матрицу вращения,
- ввиду того, что расстояние между выбранным образующим лучом и эталонной прямой линией равно нулю, поскольку выбранный образующий луч и упомянутая эталонная прямая линия пересекают друг друга, вычисления значения угла вращения матрицы вращения на основе точек и векторов, определяющих упомянутый выбранный образующий луч и упомянутую эталонную прямую линию.
12. Устройство для генерирования данных, характеризующих выбранный пиксельный пучок, причем выбранный пиксельный пучок содержит объем, в пространстве предметов оптической системы получения данных, занимаемый набором лучей света, проходящих через зрачок упомянутой оптической системы получения данных и сопряженный элемент по меньшей мере одного пикселя датчика упомянутой оптической системы получения данных, причем выбранный пиксельный пучок сформирован путем вращения образующего луча вокруг оси вращения упомянутого объема, причем устройство содержит процессор, выполненный с возможностью:
- получения первой группы лучей света и второй группы лучей света, причем вторая группа содержит образующие лучи, причем каждый образующий луч упомянутой второй группы образующих лучей образует поверхность пиксельного пучка путем вращения одного из образующих лучей вокруг оси вращения упомянутого пиксельного пучка, причем ось вращения упомянутого пиксельного пучка является лучом света, принадлежащим первой группе лучей света;
- сортировки второй группы образующих лучей для создания сортированной группы образующих лучей;
- выбора, из сортированной группы образующих лучей, выбранного образующего луча, который пересекает эталонную прямую линию,
- вычисления данных пересечения, определяющих пересечения выбранного образующего луча и оси вращения выбранного пиксельного пучка с множеством заданных эталонных плоскостей, причем упомянутые эталонные плоскости параллельны друг другу и соответствуют различным глубинам в пространстве предметов;
- получения параметров хода лучей, определяющих графическое представление данных пересечения в 2-мерном ходе лучей для выдачи данных, характеризующих упомянутый выбранный пиксельный пучок.
13. Устройство по п. 12, в котором полученная группа образующих лучей находится в соответствии со способом по любому из пп. 1-5.
14. Устройство формирования изображений световых полей, содержащее:
- матрицу микролинз, расположенных в структуре регулярной решетки;
- фотодатчик, выполненный с возможностью захвата света, проецируемого на фотодатчик от матрицы микролинз, причем фотодатчик содержит наборы пикселей, причем каждый набор пикселей оптически связан с соответствующей микролинзой матрицы микролинз; и
- устройство для выдачи данных, характеризующих выбранный пиксельный пучок по п. 8.
15. Программоноситель, содержащий компьютерный программный продукт, содержащий последовательность инструкций для реализации способа по любому из пп. 1-5 при загрузке в программируемое устройство и исполнении им.
16. Программоноситель, содержащий компьютерный программный продукт, содержащий последовательность инструкций для реализации способа по любому из пп. 6-9 при загрузке в программируемое устройство и исполнении им.
EP 2866202 A2, 29.04.2015 | |||
US 8749694 B2, 10.06.2014 | |||
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
EP 2869133 A1, 06.05.2015 | |||
СВЕТОИЗЛУЧАЮЩЕЕ УСТРОЙСТВО | 2009 |
|
RU2509393C2 |
Авторы
Даты
2020-10-13—Публикация
2016-09-16—Подача