СИСТЕМА И СПОСОБ ДЛЯ КОРРЕКЦИИ РАЗМЕРА ГОЛОВЫ В 360-ГРАДУСНЫХ ПАНОРАМНЫХ ИЗОБРАЖЕНИЯХ
SYSTEM AND METHOD FOR HEAD SIZE CORRECTION IN 360-DEGREE PANORAMIC IMAGES

Настоящая заявка является заявкой, поданной в частичное продолжение заявки №10/186915, поданной 28 июня 2002 г. и озаглавленной «Система и способ коррекции в реальном времени широкоугольных изображений для компьютерной визуализации изображений».
Область техники
Настоящее изобретение относится в целом к визуализации изображений с использованием компьютера, более конкретно - к системе и способу для коррекции в реальном времени панорамных изображений, снимаемых всенаправленной камерой, для решения проблем искажений и восприятия, связанных с такими изображениями.
Предшествующий уровень техники
Широкоугольные камеры, обычно имеющие поле зрения больше 60 градусов, часто используются для съемки больших сцен. Широкоугольное изображение, снимаемое широкоугольной камерой, может просматриваться с использованием, по меньшей мере, двух типов проекций. Линейная перспективная и цилиндрическая проекции являются наиболее типичными проекциями, используемыми для просмотра широкоугольных представлений.
Линейная перспективная проекция является изображением, снятым широкоугольной линзой, которое проецируется на плоский участок пленки. Линейная перспективная проекция сохраняет прямые линии прямыми ценой поддержания формы. Это обуславливает деформации перспективы. Это изображение должно представляться корректным и не деформированным, если наблюдатель изображения помещает свой глаз в центр проекции. Однако, если просматривать широкоугольное изображение с меньшим полем зрения, то наблюдатель ожидает меньших увеличений размеров изображения, а также меньшей величины деформации на плоскостях изображения, когда объект поворачивается. Поэтому объекты представляются растянутыми на краях. Бóльшие, чем ожидаемые, изменения в размерах и деформации в плоскости изображения создают у наблюдателя ощущение, что сцена не неподвижна, как если бы сцена проплывала вокруг наблюдателя, особенно при наблюдении панорамных изображений.
Цилиндрическая проекция формируется с использованием широкоугольной камеры, имеющей искривленную пленку и поворотную щелевую линзу. Цилиндрические проекции дают лучший результат в поддержании формы, чем линейные проекции. Кроме того, цилиндрическая проекция ослабляет любое видимое плавающее движение. Даже если цилиндрическая проекция является видимым усовершенствованием по сравнению с линейной проекцией, проблемы искажения и восприятия по-прежнему присутствуют. В частности, цилиндрическая проекция искривляет прямые линии больше, чем необходимо. Кроме того, цилиндрическая проекция удаляет почти полностью иллюзию поворота головы при просмотре панорамных изображений.
Проблемы искажений и кривизны в широкоугольных изображениях вызываются рассогласованием поля зрения. В частности, ввиду ограниченного размера наблюдения на компьютерных мониторах и стандартных расстояний наблюдения угол, стягиваемый изображением, при наблюдении намного меньше, чем поле зрения камеры, которая первоначально проецировала сцену на плоскость изображения. Это рассогласование является причиной многих проблем искажения и восприятия.
Связанной проблемой, обусловленной наблюдением широкоугольных изображений при меньшем поле зрения во время наблюдения, является неправильное восприятие глубины. Широкоугольные изображения гиперболизируют несоразмерность между ближними и удаленными объектами. Важным признаком, облегчающим визуальное восприятие глубины объекта в сцене, является отношение между размерами изображения сходных объектов, размещенных в ближнем и удаленном местоположениях (называемое отношением эффекта близорукости (укорочения) по глубине). Меньшее поле зрения приводит в результате к меньшему эффекту близорукости. Например, предположим, что сцена содержит две персоны, стоящие рядом друг с другом, причем одна персона находится несколько дальше от камеры, чем другая персона. Если сцена снимается камерой с обычным (примерно 60-градусным) полем зрения и та же самая сцена снимается камерой с широкоугольным полем зрения, то размер объектов в сцене будет представляться различным. В частности, в случае камеры с обычным полем зрения персона, находящаяся дальше от камеры, будет представляться несколько дальше от камеры, чем другая персона. Однако в случае камеры с широкоугольным полем зрения персона, удаленная от камеры, будет представляться намного меньшей, чем другая персона. Из-за этого преувеличенного различия размеров персона, находящаяся дальше от камеры, представляется находящейся намного дальше, чем она находится на самом деле. Если широкоугольное изображение сцены с глубиной (такой, как сцена видеоконференции) просматривается на компьютерном мониторе, поле зрения наблюдателя обычно намного меньше, чем поле зрения действительных изображений. Поэтому глубина, воспринимаемая наблюдателем, намного больше, чем действительная глубина.
Одним приложением, где проявляются эти проблемы искажения и восприятия, являются системы видеоконференции. Широкоугольные камеры часто используются в системах видеоконференции для съемки и передачи изображения, содержащего всех участников, присутствующих в помещении, где проходит заседание. Одной проблемой, однако, является то, что при наблюдении видеоконференции широкоугольное изображение гиперболизирует глубину помещения. Это приводит к тому, что люди в середине изображения (которые обычно наиболее удалены от камеры) представляются очень маленькими по сравнению с другими, находящимися в помещении, ввиду чрезмерного эффекта близорукости.
Эти проблемы искажения и восприятия, типичные для изображений широкоугольной камеры, являются еще более заметными при просмотре панорамных изображений, охватывающих 360-градусное поле зрения. Панорамное изображение может генерироваться путем совмещения и стыковки входных изображений, которые снимаются одной камерой. Альтернативно, панорамное изображение может быть создано с использованием множества камер для съемки входных изображений и стыковки их вместе. Например, это имеет место, когда множество камер используется для генерации панорамного видео. По существу, создание панорамного видео влечет за собой съемку множества видео, изображающих полное 360-градусное представление окружающей сцены. Камерное оборудование, состоящее из множества камер, расположенных встречно-параллельно, иногда используется для съемки этих видео. Стыковочная таблица, которая отображает пиксельные позиции во входных изображениях на пиксельные позиции в панорамном изображении, обычно используется для стыковки изображений вместе в панорамное изображение. Эти 360-градусные всенаправленные камеры использовались для записи заседаний и видеоконференций. Камера обычно помещается в центре стола, вокруг которого сидят участники заседания. Если стол в зале заседания имеет прямоугольную форму, размеры голов людей на панорамных изображениях будут варьироваться в зависимости от их расстояния до камеры. Например, персона, которая сидит у дальнего конца стола, будет представляться намного меньшей, чем персона, которая сидит близко к камере. Такие вариации размера голов на панорамных изображениях выглядят непривлекательно визуально, и часто трудно распознать людей, сидящих у дальнего конца стола, или различить их выражения.
Другой проблемой с видеоконференцией, использующей панорамные изображения, является то, что некоторые всенаправленные камеры генерируют панорамное изображение с 3700×600 пикселями, а большинство пользователей имеет лишь дисплеи с 1024×768 пикселями, что позволяет отображать только панораму с 1024×166 пикселями. При таком сильном уменьшении в разрешении людей на дальнем конце столов невозможно рассматривать без нормировки размеров голов.
Соответственно, существует потребность в системе и способе для коррекции в реальном времени изображений, снимаемых панорамной камерой, для преодоления проблем искажения и восприятия, связанных с такими изображениями. Эта система и способ должны нормировать размеры голов в панорамных изображениях и позволять наблюдение персон в изображениях на мониторах со стандартным разрешением. Дополнительно эта система и способ должны быть простыми в настройке и работе и должны быть эффективными с точки зрения объема вычислений.
Сущность изобретения
Система и способ, соответствующие изобретению, обеспечивают возможность коррекции в реальном времени искажений и несовершенств восприятия в примерно 360-градусном панорамном изображении. Система и способ, соответствующие изобретению, система и способ коррекции в реальном времени панорамных изображений используют параметрические функции деформирования изображений, в частности функции пространственно изменяющегося равномерного (SVU) масштабирования, для деформации панорамного изображения для коррекции размеров голов людей, при этом без введения прерывности. SVU-функции были описаны в патентной заявке №10/186915, поданной 28 июня 2002 г. и озаглавленной «Система и способ коррекции в реальном времени широкоугольных изображений для компьютерной визуализации изображений». Однако эта предшествующая патентная заявка использовала данный метод только для изображений до 180-градусного поля зрения. В настоящем изобретении функция SVU-масштабирования применяется к почти 360-градусным панорамным изображениям, принимая во внимание горизонтальные характеристики, такие как геометрия стола в зале заседаний и плоскость, касательная к головам участников заседания. В вышеуказанной патентной заявке функция SVU-масштабирования использовалась вплоть до 180-градусных изображений, которые обычно генерируются широкоугольной камерой, размещенной на одном конце стола в зале заседания. В противоположность этому 360-градусная всенаправленная камера обычно располагается в центре стола. Поэтому верхняя и нижняя кривые, используемые для вычисления функции SVU-масштабирования для широкоугольных изображений и примерно почти 360-градусных панорамных изображений, являются различными.
Система и способ коррекции в реальном времени панорамных изображений обеспечивают нормировку размеров голов, делая удаленные объекты, например головы, представляющимися более близкими и поэтому увеличенными. Находящиеся ближе головы, имеющие большие размеры, также представляются меньшими. В результате люди, находящиеся на удаленном конце стола, представляются с увеличенными размерами и различаются даже на 1024×166-пиксельных дисплеях. В одном варианте осуществления системы и способа, соответствующих изобретению, пользователь также выбирает форму и размер стола в помещении конференции, и система коррекции в реальном времени панорамного изображения модифицирует таблицу стыковки панорамного изображения для согласования со столом в зале заседания, так что размеры голов участников заседания нормируются в то же время, когда вычисляется стыковка изображений.
В принципе, в одном варианте осуществления изобретения способ коррекции в реальном времени панорамного изображения вводит панорамное изображение, причем удаленные объекты намного меньше, чем объекты, близкие к камере, а также параметры горизонтальных характеристик в изображении, такие как размеры стола и макушек голов людей. Затем он корректирует преувеличенную глубину и горизонтальное искажение и выводит скорректированное панорамное изображение. Коррекции выполняются с использованием класса функций деформации изображения, которые предназначены для минимизации внесения новых искажений при преодолении большинства проблем, связанных с панорамными изображениями. Этот класс функций деформации изображений включает в себя функции пространственно изменяющегося равномерного (SVU) масштабирования. В принципе, масштабирование выполняется на локальном уровне при сохранении глобального контекста. Для приложений видеоконференции это означает, что деформация изображения увеличивает масштаб изображения удаленных людей без искажения каждого индивидуума и сохраняя контекст помещения.
В варианте осуществления, описанном выше, способ коррекции в реальном времени панорамного изображения предусматривает прием пиксельных координат почти 360-градусного панорамного изображения и размеры горизонтальных характеристик и выполнение вертикального и горизонтального масштабирования над пиксельными координатами панорамного изображения. Масштабирование выполняется с использованием параметрических функций деформирования изображений. Это масштабирование дает в результате предварительную таблицу деформирования, которая соответствует изображению, которое сохраняет вертикальные линии прямыми, но может искажать горизонтальные линии. Результирующий выход представляет собой таблицу деформирования изображений, которая отображает пиксельные координаты скорректированного изображения на пиксельные координаты первоначального изображения. Иными словами, таблица деформирования изображений определяет позицию каждой из первоначальных пиксельных координат в новом скорректированном панорамном изображении. Скорректированное панорамное изображение формируется в реальном времени из первоначального панорамного изображения.
В другом варианте осуществления изобретения таблица деформирования изображений конкатенируется с таблицей стыковки, чтобы повысить вычислительную эффективность и обеспечить возможность нормировки размеров голов, когда входные изображения состыковываются в панорамное изображение. В этом варианте осуществления набор изображений состыковывается в виртуально состыкованное панорамное изображение с использованием таблицы стыковки. Помимо набора изображений также вводятся параметры горизонтальных характеристик. Виртуальное панорамное изображение используется для вычисления таблицы деформирования изображений, которая затем конкатенируется с таблицей стыковки. Эта состыкованная таблица деформирования изображений и стыковки затем используется для стыковки набора входных изображений в актуальное скорректированное по искажениям панорамное изображение.
Для обоих вышеописанных вариантов осуществления вертикальные и горизонтальные искажения корректируются с использованием таблицы деформирования изображений или конкатенированной таблицы стыковки и деформирования изображений, как применимо.
Вертикальное масштабирование выполняется индивидуально по каждой вертикальной линии развертки в панорамном изображении или виртуальном панорамном изображении с использованием параметрических функций деформирования изображений и коэффициента деформирования. Основной коэффициент масштабирования вычисляется с использованием исходных кривых, коэффициента деформирования и целевых кривых, вычисленных на основе исходных кривых и коэффициента деформирования. Один аспект изобретения включает исходные кривые и коэффициент деформирования, определенные пользователем. Альтернативно исходные кривые могут быть автоматически вычислены из геометрии горизонтальных характеристик и параметров камеры для данного коэффициента деформирования. Основной коэффициент масштабирования используется для масштабирования пиксельных координат в вертикальном направлении. В виртуальном смысле - это вертикальное масштабирование «растягивает»/«сужает» панорамное изображение (или виртуальное панорамное изображение) по вертикали для выбранной вертикальной линии развертки на величину основного коэффициента масштабирования. Горизонтальное масштабирование вертикальной линии развертки также выполняется и использует тот же самый основной коэффициент масштабирования для сохранения соотношения размеров. Подобно вертикальному масштабированию, горизонтальное масштабирование может интерпретироваться в виртуальном смысле как локальное «растяжение»/«сужение» ширины вертикальной линии развертки панорамного изображения горизонтально на величину основного коэффициента масштабирования. В виртуальном смысле путем применения вертикального или горизонтального масштабирования к первоначальному панорамному изображению или виртуальному панорамному изображению в случае набора несостыкованных входных изображений получают предварительно скорректированное изображение. Для ускорения вычислений генерируется предварительная таблица деформирования, которая отображает предварительные пиксельные координаты предварительно скорректированного изображения на пиксельные координаты первоначального изображения.
Горизонтальное искажение корректируется путем деления предварительной таблицы деформирования на секции в соответствии с позициями пиксельных координат. Каждая из этих секций вертикально масштабируется с использованием различных коэффициентов масштабирования. В одном аспекте изобретения первая секция определяется как содержащая пиксельные координаты, соответствующие пикселям, расположенным между нижней исходной кривой и верхней исходной кривой. Основной коэффициент масштабирования затем используется для вертикального масштабирования пиксельных координат в этой секции. Пиксельные координаты в других секциях масштабируются вертикально с использованием вторичного коэффициента масштабирования, который имеет значение, отличающееся от основного коэффициента масштабирования. Для того чтобы сохранить непрерывность, каждая из секций соединяется с использованием сглаживающей функции. Как только процесс коррекции горизонтальных искажений выполнен над пиксельными координатами в предварительной таблице деформирования, генерируется таблица деформирования изображений. С использованием этой таблицы деформирования выполняется деформирование в реальном времени панорамного изображения для формирования скорректированного панорамного изображения в реальном времени. Как объяснено выше, в одном варианте осуществления изобретения таблица деформирования конкатенируется с таблицей стыковки, чтобы повысить вычислительную эффективность путем коррекции панорамного изображения при его стыковке.
Краткое описание чертежей
Настоящее изобретение может дополнительно поясняться со ссылкой на последующее описание и приложенные чертежи, которые иллюстрируют аспекты изобретения. Другие признаки и преимущества будут очевидны из последующего детального описания изобретения, иллюстрируемого чертежами, которые поясняют на примере принципы настоящего изобретения.
Фиг.1 - изображение, снятое 360-градусной панорамной камерой в зале заседания.
Фиг.2 - изображение по Фиг.1, скорректированное посредством системы и способа коррекции в реальном времени панорамного изображения, соответствующих изобретению.
Фиг.3 - верхние и нижние кривые для функции SVU-масштабирования (зеленые кривые) для 180-градусных изображений.
Фиг.4 - верхние и нижние кривые для функции SVU-масштабирования (зеленые кривые) для 360-градусных панорамных изображений.
Фиг.5А - блок-схема, иллюстрирующая общий вид варианта осуществления системы коррекции в реальном времени панорамных изображений, соответствующей изобретению.
Фиг.5В - блок-схема, иллюстрирующая общий вид другого варианта осуществления системы коррекции в реальном времени панорамных изображений, соответствующей изобретению, которая использует конкатенированную таблицу стыковки и деформирования изображений.
Фиг.6 - блок-схема, иллюстрирующая вычислительное устройство, подходящее для выполнения изобретения.
Фиг.7 - блок-схема, иллюстрирующая детали модуля генерации таблицы деформирования изображений системы коррекции в реальном времени панорамных изображений, показанной на Фиг.5А и 5В.
Фиг.8А - обобщенная блок-схема, иллюстрирующая работу системы коррекции в реальном времени панорамных изображений, показанной на Фиг.5А.
Фиг.8В - обобщенная блок-схема, иллюстрирующая работу системы коррекции в реальном времени панорамных изображений, показанной на Фиг.5В.
Фиг.9 - блок-схема, иллюстрирующая детали модуля вертикального масштабирования, показанного на Фиг.7.
Фиг.10 - иллюстрация определения функции деформирования изображений посредством двух наборов кривых.
Фиг.11 - диаграмма, демонстрирующая проекцию краев таблицы на цилиндрическую пленку (в предположении стандартной ориентации камеры).
Фиг.12 - блок-схема, иллюстрирующая детали модуля горизонтального масштабирования, показанного на Фиг.7.
Фиг.13 - блок-схема, иллюстрирующая детали модуля горизонтального масштабирования, показанного на Фиг.7.
Фиг.14 - иллюстрация функции вертикального масштабирования и концептуальное представление деления предварительных пиксельных координат на три секции.
Фиг.15 - представление заполненного скорректированного панорамного изображения, где дополнительные пиксели добавлены по периметру изображения, так что оно соответствует стандартному размеру для сетевой передачи или отображения.
Детальное описание изобретения
В последующем описании изобретения ссылки делаются на иллюстрирующие чертежи, которые образуют его часть и на которых для иллюстрации показан конкретный пример, посредством которого может быть реализовано изобретение. Следует иметь в виду, что могут быть использованы другие варианты осуществления и могут быть выполнены структурные изменения без отклонения от объема настоящего изобретения.
1.0 Общие сведения
На Фиг.1 представлено изображение, снятое 360-градусной всенаправленной камерой, расположенной в середине стола в зале заседаний. Эта конфигурация камеры типична для условий, которые могут быть использованы в приложении видеоконференций. На Фиг.1 можно видеть, что человек в белом представляется намного меньшим, чем другие два человека. Причина этого состоит в том, что человек в белом сидит дальше всех от камеры. Прежде всего, человек в белом намного меньше виден и представляется более удаленным от наблюдателя, тем самым влияя на восприятие информационного обмена в реальном времени. Во-вторых, размер изображения обычно ограничен вследствие ограничения ширины полосы сети и вследствие ограниченного пространства экрана. Многие переданные пиксели теряются, если изображения людей очень маленькие. Поэтому желательно скорректировать размеры изображений голов людей, чтобы максимально использовать число пикселей, которые передаются и отображаются. Фиг.2 показывает изображение по Фиг.1, скорректированное с использованием системы и способа коррекции в реальном времени панорамного изображения.
Система и способ коррекции в реальном времени панорамного изображения используют метод коррекции или нормировки размеров изображений голов людей, не создавая нарушений непрерывности изображений. Этот метод является расширением функции SVU-масштабирования, как описано в патентной заявке №10/186915, поданной 28 июня 2002 г. и озаглавленной «Система и способ коррекции в реальном времени широкоугольных изображений для компьютерной визуализации изображений». В этой предшествующей патентной заявке функция SVU-масштабирования использовалась для 180-градусных изображений, которые обычно генерируются широкоугольной камерой, размещенной на одном конце стола в зале заседания. В противоположность этому, как описано выше, 360-градусная всенаправленная камера обычно располагается в центре стола. Поэтому верхняя и нижняя кривые, используемые для вычисления функции SVU-масштабирования, генерируемой для 360-градусных панорамных изображений, отличаются от используемых в широкоугольных изображениях (например, до 180 градусов). Фиг.3 показывает исходные верхние и нижние кривые, используемые для вычисления функции SVU-масштабирования (зеленые кривые) для 180-градусных изображений. Фиг.4 показывает верхние и нижние исходные кривые для вычисления функции SVU-масштабирования (зеленые кривые) для 360-градусных панорамных изображений. При условии задания зеленых исходных кривых и целевых кривых (красные кривые) можно генерировать функции SVU-масштабирования тем же способом, как описано в вышеуказанной патентной заявке.
Подобно вышеупомянутой совместно поданной патентной заявке, коррекция панорамного изображения достигается с использованием класса параметрических функций деформирования изображений, называемых функциями пространственно изменяющегося равномерного (SVU) масштабирования, которые сохраняют локальные перспективы масштабирования и корректируют неправильное восприятие глубины. Функции SVU-масштабирования и коэффициенты масштабирования используются для выполнения вертикального масштабирования и горизонтального масштабирования на пиксельных координатах изображения. Это формирует предварительную таблицу деформирования изображения, которая отображает пиксельные местоположения предварительно скорректированного изображения на первоначальные пиксельные координаты. Это предварительно скорректированное изображение является виртуальным изображением, а не действительно построенным изображением. Однако предварительно скорректированное изображение поддерживает вертикальные линии прямыми, но искажает горизонтальные линии. Это горизонтальное искажение корректируется выполнением горизонтальной коррекции искажений с использованием функции SVU-масштабирования и, по меньшей мере, двух различных коэффициентов масштабирования. Эта обработка дает таблицу деформирования изображения. Таблица деформирования изображения отображает позиции в скорректированном панорамном изображении на первоначальные пиксельные координаты в искаженном панорамном изображении. В некоторых вариантах осуществления изобретения, где изображения состыковываются для создания панорамного изображения, таблица деформирования может конкатенироваться с таблицей стыковки для повышения вычислительной эффективности. С использованием таблицы деформирования изображения или конкатенированной таблицы стыковки и деформирования изображений скорректированное панорамное изображение формируется в реальном времени из первоначального панорамного изображения.
Фиг.5А представляет блок-схему, иллюстрирующую общий вид варианта осуществления системы 500А коррекции в реальном времени панорамных изображений, соответствующей изобретению. В принципе, система 500А получает геометрию 505 горизонтальной характеристики (например, геометрию стола в зале заседания и плоскость, касательную к макушкам голов людей) и панорамное изображение 510 и вводит геометрию 505 горизонтальной характеристики и пиксельные координаты 520 панорамного изображения, соответствующие координатам каждого пикселя в панорамном изображении. Геометрия 505 горизонтальной характеристики и пиксельные координаты 520 панорамного изображения обрабатываются системой 500А коррекции в реальном времени панорамных изображений, и выводится скорректированное панорамное изображение 530.
Панорамное изображение 510 может представлять собой единое состыкованное изображение (как с неподвижной камеры) или часть последовательности изображений (как с видеокамеры). Координаты каждого пикселя в панорамном изображении 510 получаются для генерации пиксельных координат 520 панорамного изображения. Например, в кадре прямолинейных координат пиксельные координаты 520 представляют собой (x,y)-местоположения каждого пикселя в панорамном изображении 510, которое в типовом случае соответствует последовательности изображений, которые были состыкованы для получения панорамного изображения. Модуль 500А коррекции в реальном времени панорамного изображения включает в себя модуль 540 генерации таблицы деформирования, таблицу 550 деформирования и систему 560 деформирования изображения в реальном времени.
Модуль 540 генерации таблицы деформирования используется для генерации таблицы 550 деформирования с использованием параметрических функций деформирования изображений. Пиксельные координаты 520 панорамного изображения обрабатываются для создания таблицы 550 деформирования. Детали модуля 540 генерации таблицы деформирования описаны ниже. Таблица 550 деформирования содержит пиксельные координаты 520 панорамного изображения, упорядоченные таким образом, чтобы соответствовать местоположению в скорректированном панорамном изображении 530. Таким образом, таблица 550 деформирования определяет новое местоположение в скорректированном панорамном изображении 530 для пиксельных координат 520 панорамного изображения.
Как только таблица 550 деформирования сформирована, панорамное изображение 510 принимается в качестве входа в систему 560 деформирования изображения в реальном времени. Система 560 деформирования изображения в реальном времени применяет таблицу 550 деформирования к панорамному изображению 510 для создания скорректированного панорамного изображения 530. Система 560 деформирования изображения в реальном времени создает скорректированное панорамное изображение 530 для каждого местоположения в скорректированном панорамном изображении 530 путем получения RGB-значений для панорамного изображения 510, расположенных соответственно пиксельным координатам, содержащимся в таблице 550 деформирования. RGB-значения для панорамных пиксельных координат 520 перемещаются, таким образом, в скорректированное панорамное изображение 530. Новое местоположение определяется с использованием таблицы 550 деформирования. Следует отметить, что может использоваться любое цветовое пространство, например YUV.
В другом варианте осуществления изобретения 500В, показанном на Фиг.5В, таблица деформирования конкатенируется с таблицей стыковки, используемой для состыковывания вместе панорамного изображения. В этом варианте осуществления набор входных изображений 512 состыковывается в виртуальное панорамное изображение 515 и пиксельные координаты изображения для виртуального состыкованного панорамного изображения 522 вводятся в систему 500В. Модуль 500В коррекции в реальном времени панорамного изображения включает в себя модуль 540 генерации таблицы деформирования, таблицу 550 деформирования, конкатенированную таблицу стыковки и деформирования (более подробно описанную в разделе 4.5) и систему 560 деформирования изображения в реальном времени.
Модуль 540 генерации таблицы деформирования используется для генерации таблицы 550 деформирования с использованием параметрических функций деформирования изображений. Пиксельные координаты 522 виртуального панорамного изображения 515 обрабатываются для создания таблицы 550 деформирования. Детали модуля 540 генерации таблицы деформирования описаны ниже. Таблица 550 деформирования содержит пиксельные координаты 522 панорамного изображения, упорядоченные таким образом, чтобы соответствовать местоположению в скорректированном панорамном изображении 530. Таким образом, таблица 550 деформирования определяет новое местоположение в скорректированном панорамном изображении 530 для пиксельных координат 522 панорамного изображения.
Как только таблица 550 деформирования сформирована, она конкатенируется с таблицей стыковки, чтобы состыковывать набор входных изображений 512 для создания конкатенированной таблицы 555 деформирования и стыковки. Набор входных изображений 512 принимается в качестве входа в систему 560 деформирования изображения в реальном времени. Система 560 деформирования изображения в реальном времени применяет конкатенированную таблицу 555 деформирования и стыковки к набору входных изображений 512 для создания скорректированного панорамного изображения 530. Система 560 деформирования изображения в реальном времени создает скорректированное панорамное изображение 530 для каждого местоположения в скорректированном панорамном изображении 530 путем получения RGB-значений (или YUV, или другого цветового пространства) для набора входных изображений 512, расположенных соответственно пиксельным координатам, содержащимся в конкатенированной таблице 555 деформирования и стыковки. RGB-значения для виртуальных панорамных пиксельных координат 522 перемещаются, таким образом, в скорректированное панорамное изображение 530, в процессе чего набор входных изображений 512 состыковывается. Новое местоположение определяется с использованием конкатенированной таблицы 555 деформирования и стыковки.
Процесс деформирования происходит в реальном времени, поскольку модуль стыковки является статическим и требует минимума вычислений. Генерация таблицы деформирования означает, что все, что требуется для скорректированного панорамного изображения 530, это применить таблицу 550 деформирования (или конкатенированную таблицу деформирования и стыковки) к панорамному изображению 510 или к набору входных изображений 512, что может быть сделано с высоким быстродействием.
2.0 Иллюстративная операционная среда
Система 500А или 500В коррекции в реальном времени панорамных изображений, соответствующая изобретению, предназначена для работы в вычислительной среде. Последующее изложение представляет краткое обобщенное описание подходящей вычислительной среды, в которой может быть реализовано изобретение.
На Фиг.6 представлена блок-схема, иллюстрирующая вычислительное устройство, подходящее для реализации изобретения. Хотя это не требуется, но изобретение будет описано в общем контексте выполняемых компьютером инструкций, таких как программные модули, выполняемые компьютерами. В общем случае программные модули включают стандартные программы, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, специалистам в данной области техники должно быть понятно, что изобретение может быть реализовано в различных конфигурациях компьютерных систем, включая персональные компьютеры, серверные компьютеры, портативные устройства, мультипроцессорные системы, основанную на микропроцессорах или программируемую бытовую электронику, сетевые персональные компьютеры, миникомпьютеры, универсальные компьютеры (мэйнфреймы) и т.д. Изобретение также может быть реализовано в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены как в локальных, так и в удаленных компьютерных носителях для хранения данных, включая устройства памяти.
Как показано на Фиг.6, приведенная для примера система для реализации изобретения содержит универсальное вычислительное устройство 600. В частности, вычислительное устройство 600 включает в себя процессорный блок 602, системную память 604 и системную шину 606, которая связывает различные компоненты системы, включая системную память 604 с процессорным блоком 602. Системная шина 606 может быть любым из различных типов шинных структур, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из различных шинных архитектур. Системная память включает в себя ПЗУ 610 и ОЗУ 612. Базовая система ввода/вывода (BIOS) 614, содержащая базовые стандартные подпрограммы для обеспечения переноса информации между элементами в вычислительном устройстве 600, например, в процессе запуска, сохранена в ПЗУ 610. Вычислительное устройство 600 дополнительно содержит накопитель 616 на жестких дисках для считывания или записи на жесткий диск (не показан), накопитель 618 на магнитных дисках для считывания или записи на съемный магнитный диск 620 и накопитель 622 на оптических дисках для считывания или записи на съемный оптический диск 624, такой как ПЗУ на компакт-диске (CD-ROM) или иные оптические носители информации. Накопитель 616 на жестких дисках, накопитель 628 на магнитных дисках и накопитель 622 на оптических дисках соединены с системной шиной 606 посредством интерфейса 626 накопителя на жестких дисках, интерфейса 628 накопителя на магнитных дисках и интерфейса 630 накопителя на оптических дисках соответственно. Накопители и связанные с ними машиночитаемые носители обеспечивают хранение, энергонезависимое хранение считываемых компьютером команд, структур данных, программных модулей и других данных для вычислительного устройства 600.
Хотя иллюстративная, описываемая среда использует жесткий диск, съемный магнитный диск 620 и съемный оптический диск 624, специалистам должно быть понятно, другие типы машиночитаемых носителей, которые могут хранить данные, доступные компьютеру, такие как магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, ОЗУ, ПЗУ и т.п., также могут использоваться в иллюстративной операционной среде.
Некоторое число программных модулей может быть сохранено на жестком диске, магнитном диске 620, оптическом диске 624, ПЗУ 610 или ОЗУ 612, включая операционную систему 632, одну или более прикладных программ 634, другие программные модули 636 и программные данные 638. Пользователь (не показан) может ввести команды и информацию в вычислительное устройство 600 посредством устройств ввода, таких как клавиатура 640 и координатно-указательное устройство 642. В дополнение камера 643 (например, видеокамера) может быть соединена с вычислительным устройством 600, а также с другими устройствами ввода (не показаны), включая, например, микрофон, джойстик, игровую приставку, спутниковую тарелку, сканер и т.п. Эти другие устройства ввода часто подсоединяются к процессорному блоку 602 через интерфейс 644 последовательного ввода, который связан с системной шиной 606, но может быть соединен посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 646 (или устройство отображения другого типа) также соединен с системной шиной 606 через интерфейс, такой как видеоадаптер 648. В дополнение к монитору 646, вычислительные устройства, такие как персональные компьютеры, в типовом случае включают в себя другие периферийные устройства вывода (не показаны), такие как громкоговорители и принтеры.
Вычислительное устройство 600 может работать в сетевой среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 650. Удаленный компьютер 650 может представлять собой другой персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер, одноранговое устройство или другой обычный сетевой узел и в типовом случае может включать в себя многие или все из элементов, описанных выше в связи с вычислительным устройством 600, хотя только устройство памяти 652 показано на Фиг.6. Логические соединения, обозначенные на Фиг.6, включают в себя локальную сеть (LAN) 654 и глобальную сеть (WAN) 656. Такие сетевые среды являются общепринятыми в офисах, компьютерных сетях предприятия, интранетах и Интернете.
При использовании в сетевой среде LAN вычислительное устройство 600 подключено к локальной сети LAN 654 через сетевой интерфейс или адаптер 658. При использовании в среде глобальной сети WAN вычислительное устройство 600 может включать в себя модем 660 или иное средство для установления связи в глобальной сети WAN 656, такой как Интернет. Модем 660, который может быть внутренним или внешним, может соединяться с системной шиной 606 через интерфейс 644 последовательного порта. В сетевой среде программные модули, показанные на чертеже в связи с вычислительным устройством 600, или их части могут храниться в удаленных устройствах памяти 652. Ясно, что показанные сетевые соединения приведены для примера и могут быть использованы другие средства установления связи между компьютерами.
3.0 Детали системы коррекции в реальном времени панорамного изображения
В принципе, система 500 коррекции в реальном времени панорамного изображения обеспечивает коррекцию в реальном времени панорамного изображения 510 и, в частности, нормирует или корректирует размеры голов людей, сидящих дальше от камеры. Система 500 корректирует кривизну и искажения в вертикальном и горизонтальном направлениях. Кроме того, система 500 корректирует проблемы восприятия, такие как глубина и плавающие перемещения.
На Фиг.7 показана блок-схема, иллюстрирующая детали модуля 540 генерации таблицы деформирования, показанного на Фиг.5А или 5В. В частности, модуль 540 генерации таблицы деформирования включает в себя модуль 700 для ввода пиксельных координат 520 панорамного изображения или пиксельных координат 522 виртуального панорамного изображения и геометрии 505 горизонтальных характеристик. Эти пиксельные координаты 520, 522 представляют местоположение каждого пикселя в панорамном изображении 510 или виртуальном панорамном изображении 515. Модуль 540 также включает в себя модуль 710 вертикального масштабирования. Модуль 710 вертикального масштабирования использует функции деформирования для обработки каждой вертикальной линии развертки пиксельных координат 520 панорамного изображения или пиксельных координат 522 виртуального панорамного изображения, так что пиксельные координаты 520, 522 панорамного изображения масштабируются в вертикальном направлении. В принципе, это можно представить себе как «растягивание» панорамного изображения 510 (или виртуального панорамного изображения 515) в вертикальном направлении. Это вертикальное масштабирование корректирует, частично, преувеличенную глубину в панорамном изображении (510) (или виртуальном панорамном изображении 515).
Модуль 540 генерации таблицы деформирования включает в себя модуль 720 горизонтального масштабирования для использования параметрических функций деформирования изображений для масштабирования пиксельных координат 520, 522 панорамного изображения в горизонтальном направлении. Подобно вертикальному масштабированию, это, в принципе, можно представить себе как «растягивание» панорамного изображения 510 или виртуального панорамного изображения 515 в горизонтальном направлении. Кроме того, горизонтальное масштабирование выполняется индивидуально по каждой вертикальной линии развертки, так что соотношение размеров панорамного изображения 510 или виртуального панорамного изображения 515 может быть сохранено.
Модуль 710 вертикального масштабирования и модуль 720 горизонтального масштабирования создают предварительную таблицу деформирования, которая отображает предварительные пиксельные координаты на исходные пиксельные координаты. Эта предварительная таблица деформирования может быть использована для создания предварительно скорректированного изображения. На практике это не делается, и предварительно скорректированное изображение является виртуальным изображением. Предварительно скорректированное изображение имеет свойства, заключающиеся в том, что вертикальные линии сохраняются как вертикальные, а горизонтальные линии искажаются.
Для коррекции этого горизонтального искажения в модуль 540 генерации таблицы деформирования также включен модуль 730 горизонтального искажения. Модуль 730 горизонтального искажения масштабирует по вертикали предварительные пиксельные координаты в предварительной таблице деформирования на различную величину в зависимости от местоположения. Выход модуля 540 генерации таблицы деформирования представляет таблицу 550 деформирования. Таблица деформирования отображает пиксельные координаты в скорректированном панорамном изображении 530 на пиксельные координаты 520 исходного панорамного изображения или на пиксельные координаты 522 виртуально состыкованного изображения. Таблица деформирования может быть конкатенирована с таблицей стыковки для создания конкатенированной таблицы деформирования и стыковки, которая может быть использована для состыковывания вместе панорамного изображения из набора входных изображений.
4.0 Способ коррекции в реальном времени панорамных изображений
Способ коррекции в реальном времени панорамных изображений, соответствующий настоящему изобретению, использует параметрические функции деформирования изображений, называемые функциями пространственно изменяющегося равномерного (SVU) масштабирования или SVU-функциями масштабирования. Хотя SVU-функции масштабирования могут локально напоминать функцию равномерного масштабирования для сохранения соотношений размеров, коэффициент масштабирования изменяется в пределах изображения для создания деформации изображения. SVU-функции масштабирования избегают поворотов и удаляют плавающие перемещения при просмотре панорамных изображений.
На Фиг.8А представлена обобщенная блок-схема, иллюстрирующая реализацию варианта осуществления способа коррекции в реальном времени панорамного изображения в системе 500А коррекции в реальном времени панорамного изображения, показанной на Фиг.5А. Пиксельные координаты 520 панорамного изображения из панорамного изображения 510 и геометрия 505 горизонтальных характеристик принимаются в качестве входов (блок 800). Затем генерируется таблица 550 деформирования (блок 810). Таблица 550 деформирования используется для определения местоположения скорректированных пиксельных координат 530 панорамного изображения.
Как подробно пояснено выше, генерация таблицы 550 деформирования включает в себя вертикальное масштабирование, горизонтальное масштабирование и коррекцию горизонтальных искажений. Вертикальное масштабирование корректирует панорамное изображение 510 на предмет преувеличенной глубины. Для коррекции преувеличенной глубины удаленные объекты или изображения людей в центре панорамного изображения 510 необходимо увеличить относительно таких объектов или людей, находящихся ближе к камере.
Для сохранения соотношения размеров панорамного изображения 510 также может быть выполнено горизонтальное масштабирование. В частности, параметрические функции деформирования изображений (такие как SVU-функции масштабирования) используются для выполнения горизонтального масштабирования для генерации новой ширины для каждой вертикальной линии развертки для панорамного изображения 510. Хотя SVU-функции масштабирования сохраняют вертикальные линии вертикальными, они вводят некоторую величину вертикального сдвига. Визуально это воспринимается как наклонные и искаженные горизонтальные линии. Сцены часто содержат горизонтальные поверхности вблизи верха или низа изображения, такие как стол и потолок в помещении, для которого искажения могут быть заметными.
Для того чтобы скорректировать этот вертикальный сдвиг, способ коррекции в реальном времени панорамного изображения дополнительно включает в себя выполнение коррекции горизонтального искажения для коррекции панорамного изображения 510 в отношении горизонтального искажения. В целом, это выполняется путем ослабления равномерности вертикального масштабирования и нелинейного масштабирования в вертикальном местоположении в панорамном изображении 510 (например, вдоль вертикальной линии развертки). После вертикального масштабирования, горизонтального масштабирования и коррекции горизонтального искажения генерируется таблица 550 деформирования, которая отображает пиксель в скорректированном панорамном изображении 530 на панорамное изображение 510.
Как только таблица 550 деформирования сформирована, панорамное изображение 510 принимается в качестве входа (блок 820). Панорамное изображение 510 затем деформируется в реальном времени для создания скорректированного панорамного изображения 530. Создается таблица деформирования, где пиксель в панорамном изображении 510 должен быть найден для каждой позиции в скорректированном панорамном изображении 530, чтобы сформировать свободное от искажений панорамное изображение.
На Фиг.8В представлена обобщенная блок-схема, иллюстрирующая реализацию варианта осуществления способа коррекции в реальном времени панорамного изображения в системе 500В коррекции в реальном времени панорамного изображения, показанной на Фиг.5В. Пиксельные координаты 522 изображения из виртуального панорамного изображения 515 и геометрия 505 горизонтальных характеристик принимаются в качестве входов (блок 800). Затем генерируется таблица 550 деформирования (блок 810). Таблица деформирования затем конкатенируется с таблицей 550 деформирования для создания конкатенированной таблицы деформирования и стыковки (блок 815). Вводится набор входных изображений, используемых для генерации виртуального панорамного изображения (блок 820). Конкатенированная таблица 555 деформирования и стыковки затем используется для определения местоположения пиксельных координат 530 скорректированного панорамного изображения при состыковывании набора входных изображений (блок 830). Затем скорректированное панорамное изображение выводится (блок 840).
Детали различных процедур и модулей масштабирования более подробно описаны ниже.
4.1 Вертикальное масштабирование
На Фиг.9 представлена блок-схема, иллюстрирующая детали модуля 710 вертикального масштабирования, показанного на Фиг.7. Геометрия 505 горизонтальных признаков и пиксельные координаты 520 или 522 панорамных изображений принимаются в качестве входов (блок 900). Затем определяются функции деформирования параметрических изображений (такие, как SVU-функции масштабирования) с использованием набора кривых или коэффициентов масштабирования. В частности, исходные кривые определяются (блок 910) вместе с коэффициентом деформирования (блок 920). С использованием этих исходных кривых и коэффициента деформирования вычисляются целевые кривые (блок 930).
t
b
Фиг.10 иллюстрирует определение функции деформирования посредством двух наборов кривых: (1) исходных кривых и (2) целевых кривых. В одном аспекте изобретения исходные кривые вводятся пользователем посредством простого пользовательского интерфейса. Эти исходные кривые предоставляют параметры для функции деформирования параметрического изображения. Посредством пользовательского интерфейса пользователю предлагается определить две кубические кривые. Эти две исходные кривые определяют (реальные) горизонтальные характеристики, такие как плоскость, касательную к макушкам голов людей, и край стола. Как показано на Фиг.10, определяются верхняя исходная кривая S и нижняя исходная кривая S. Можно отметить на основе сравнения Фиг.10 и Фиг.4, что для вычисления исходных и целевых кривых для панорамы могут быть определены четыре различные траектории верней и нижней исходных кривых, чтобы определить исходные кривые для всего панорамного изображения.
Вместо обозначения вручную исходных кривых они могут быть автоматически определены из геометрии горизонтальных характеристик, таких, например, как стол в зале заседания и плоскость, касательная к макушкам голов участников заседания. Предположим, что стол в зале заседания является прямоугольным. Зеленые исходные кривые могут быть вычислены, если известна ширина W стола и длина L стола, высота h камеры, фокусное расстояние r камеры и ориентация θ камеры. Фокусное расстояние r камеры и высота h камеры известны после того, как камера изготовлена. Размеры стола могут быть предоставлены пользователем при установке. На Фиг.11 представлена диаграмма, демонстрирующая проекцию краев стола на цилиндрическую пленку (в предположении стандартной ориентации камеры). Ниже представлены уравнения для четырех частей нижних исходных кривых, представляющих границы стола на цилиндрическом изображении.
Аналогичным образом, ниже приведены уравнения для четырех частей верхних исходных кривых, представляющих плоскость, касательную к макушкам голов людей на цилиндрическом изображении, где h' представляет расстояние от камеры до плоскости макушек голов участников заседания.
Коэффициент деформирования α, который также может быть выбран пользователем, определяет то, насколько сильно деформировано изображение. Коэффициент деформирования α лежит между 0 и 1, где α = 0 в отсутствие деформирования и α = 1 при максимальном деформировании. Принципиально, определение α = 0 приведет к незатронутому изображению, а определение α = 1 растянет пиксели на исходных кривых на линии между конечными точками. В типовом случае идеальный коэффициент деформирования лежит примерно посредине между 0 и 1.
t
b
t
b
t
t
b
t
t
t
b
b
b
После того как исходные кривые и коэффициент деформирования определены, могут быть вычислены целевые кривые (блок 930). Пусть y = S(x) и e = S(x) являются уравнениями верхней и нижней исходных кривых соответственно. Две целевые кривые (к которым будут перемещаться точки на исходной кривой) определены исходными кривыми и α. Более конкретно, определены верхняя целевая кривая T и нижняя целевая кривая T. Если уравнение линии определено между конечными точками S(x) как y = y(x) и уравнение линии, соединяющей нижние исходные концы, определено как y = y(x), то уравнение верхней целевой кривой имеет вид T(x) = (1-α)S(x) + αy(x) и T(x)= (1-α)S(x) + αy(x).
Основной коэффициент масштабирования r(x) вычисляется затем с использованием исходных кривых и целевой кривой (блок 940). В частности, при условии любой вертикальной линии развертки х, как показано на Фиг.10, пусть А, В обозначают ее пересечения с исходными кривыми, а A', B' - пересечения с целевыми кривыми. SVU-функция масштабирования будет масштабировать АВ в A'B'. Пусть
Отношение r(x) является основным коэффициентом масштабирования для вертикальной линии развертки, расположенной в горизонтальной позиции х. Пиксельные координаты 520 панорамного изображения вертикальной линии развертки масштабируются тогда в вертикальном направлении с использованием основного коэффициента масштабирования r(x) (блок 950).
4.2 Горизонтальное масштабирование
Для того чтобы сохранить соотношение размеров, пиксельные координаты 520 панорамного изображения также масштабируются в горизонтальном направлении. Это горизонтальное масштабирование использует тот же основной коэффициент масштабирования r(x). Иными словами, так же, как для вертикального масштабирования, вертикальная линия развертки также масштабируется основным коэффициентом масштабирования r(x) для сохранения коэффициента соотношения размеров.
На Фиг.12 показана блок-схема, иллюстрирующая детали модуля горизонтального масштабирования, показанного на Фиг.7. Вертикально масштабированные пиксельные координаты панорамного изображения принимаются в качестве входа (блок 1200). С использованием основного коэффициента масштабирования r(x) вертикально масштабированные пиксельные координаты панорамного изображения масштабируются в горизонтальном направлении (блок 1210). После того как вертикально масштабированные пиксельные координаты 520 панорамного изображения масштабированы, получается полная ширина w' предварительно скорректированного изображения.
где w - ширина панорамного (или исходного) изображения 510.
Затем генерируется предварительная таблица деформирования (блок 1220). Предварительная таблица деформирования содержит предварительные пиксельные координаты. Предварительные пиксельные координаты являются пиксельными координатами панорамного изображения, которые были вертикально и горизонтально масштабированы. В принципе, предварительные пиксельные координаты могут быть использованы для формирования предварительно скорректированного изображения. Таким образом, для любого пикселя (x,y) в панорамном изображении 510 пусть (x',y') обозначают его новую позицию в предварительно скорректированном изображении. Это дает следующее:
Вышеуказанное уравнение является уравнением прямого отображения для SVU-функции масштабирования. SVU-функция масштабирования не является абсолютно равномерным масштабированием повсеместно. Легко доказать, что единственной функцией, которая является абсолютно равномерным масштабированием повсеместно, является функция равномерно глобального масштабирования.
SVU-функция масштабирования подобна проецированию на обобщенную цилиндрическую поверхность. Однако такая простая проекция не формирует локально равномерное масштабирование. Локально равномерное масштабирование желательно, и этот недостаток локально равномерного масштабирования вызывает то, что объекты в предварительно скорректированном изображении представляются растянутыми.
4.3 Коррекция горизонтального искажения
После того как пиксельные координаты 520 панорамного изображения масштабированы в вертикальном и горизонтальном направлениях, результирующая предварительная таблица деформирования корректируется в отношении горизонтального искажения. Коррекция горизонтального искажения необходима потому, что, хотя параметрический класс функций деформирования изображений (таких, как SVU-функции масштабирования) поддерживает вертикальные линии развертки вертикальными, эти функции искажают горизонтальные линии. Для минимизации этой проблемы равномерность масштабирования ослабляется и нелинейно масштабируется для каждой вертикальной линии развертки.
Фиг.13 представляет блок-схему, иллюстрирующую детали модуля 730 горизонтального искажения, показанного на Фиг.7. В принципе, модуль 730 делит предварительные пиксельные координаты в предварительной таблице деформирования на секции и масштабирует каждую секцию в вертикальном направлении в соответствии с конкретным коэффициентом масштабирования для данной секции. Коэффициенты масштабирования могут быть различными между секциями и обычно различаются для, по меньшей мере, одной секции.
b
t
Более конкретно, модуль 730 коррекции горизонтальных искажений первоначально делит предварительную таблицу деформирования на секции (блок 1300). В одном аспекте изобретения предварительно скорректированное изображение концептуально разделено, как показано на Фиг.14. Фиг.14 иллюстрирует функцию вертикального масштабирования и концептуальное представление деления предварительно скорректированного изображения на три секции. Следует отметить, что на Фиг.14 у соответствует вертикальному направлению. Согласно Фиг.14 первая секция 1400 определена между нижней исходной кривой S и верхней исходной кривой S. Другие секции включают в себя секцию вне исходных кривых, включая вторую секцию 1410 ниже исходных кривых и третью секцию 920 выше исходных кривых.
Предварительные пиксельные координаты, находящиеся в первой секции 1300 между исходными кривыми, масштабируются в вертикальном (y) направлении с использованием основного коэффициента масштабирования r(x) (блок 1310). Это масштабирование в вертикальном направлении выполняется, как описано ниже. Предварительные пиксельные координаты, находящиеся в секциях вне исходных кривых (вторая секция 1310 и третья секция 1320), масштабируются меньше в вертикальном направлении. Это выполнятся первоначальным определением вторичного коэффициента масштабирования (блок 1320). Вторичный коэффициент масштабирования s показан на Фиг.14 ниже основного коэффициента масштабирования r(x). Затем предварительные пиксельные координаты, находящиеся в других секциях 1410, 1420 вне исходных кривых, масштабируются в вертикальном направлении с использованием вторичного коэффициента масштабирования (блок 1330). Следует отметить, что горизонтальное масштабирование остается тем же самым (иными словами, с использованием основного коэффициента масштабирования r(x)), так что прямолинейность вертикальных линий сохраняется. Для того чтобы поддерживать непрерывность между секциями, переходы между секциями выполняются с применением сглаживающего параметра w (блок 1340). Сглаживающий параметр сглаживает функцию вертикального масштабирования и плавно связывает несходные коэффициенты масштабирования, когда функция вертикального масштабирования пересекает исходные кривые.
t
t
Согласно Фиг.10 и 14 рассмотрим вертикальную линию при значении x, показанном на Фиг.10. Как показано на Фиг.14, g(y) является функцией вертикального масштабирования, которая может быть определена как коэффициент вертикального масштабирования в любой точке на этой вертикальной линии. Следует отметить, что g(y) зависит от х. Функция g(y) контролируется двумя параметрами, вторичным коэффициентом масштабирования s и сглаживающим параметром w. Часть вертикальной линии развертки более чем на расстоянии w/2 от исходных кривых масштабируется основным коэффициентом масштабирования r(x) между исходными кривыми и вторичным коэффициентом масштабирования s вне исходных кривых. Три постоянных сегмента сопрягаются вместе двумя кубическими сплайнами в [S-0,5w, S+0,5w]. Каждый кубический сплайн имеет концы со значениями s и r(x) и наклон 0 на обоих концах.
Сглаживающий параметр w контролирует непрерывность на исходных кривых. Например, если сцена является прерывистой на исходных кривых, можно выбрать очень малый параметр w без заметных артефактов. В специальном случае, когда s = r(x), функция g(y) становится постоянной, что является тем, что предполагалось при выводе новых пиксельных позиций в предварительно скорректированном изображении. После того как функция коррекции горизонтального искажения была применена к предварительной таблице деформирования, генерируется таблица 550 деформирования, которая содержит местоположения пиксельных координат панорамного изображения в скорректированном панорамном изображении 530 (блок 1350). Таблица 550 деформирования затем посылается в качестве выходного результата (блок 1360). Таблица деформирования используется для формирования скорректированного панорамного изображения 530 из панорамного изображения 510.
4.4 Коррекция неправильного восприятия панорамного изображения
SVU-функция масштабирования помогает скорректировать проблемы неправильного восприятия глубины. Это достигается с использованием симметричной SVU-функции масштабирования для просмотра панорамных изображений. Нижняя исходная кривая является зеркальной по отношению к верхней исходной кривой. Исходные кривые проходят через углы изображения и имеют минимум (или максимум) на центральной вертикальной линии развертки. Один параметр определяет высоту центральных точек, а второй параметр является коэффициентом деформирования α, как пояснено выше.
4.5 Конкатенированная таблица деформирования/стыковки
Как изложено выше, таблица деформирования может быть конкатенирована с таблицей стыковки, используемой для состыковывания изображений для получения панорамного изображения. Например, в одном варианте осуществления для случая круглого стола в зале заседания создается цилиндрическая проекция зала заседания путем стыковки вместе изображений, снятых множеством камер. Модуль стыковки использует таблицу стыковки, которая отображает изображения с камеры на панорамное изображение. Таблица стыковки обычно создается в заводских условиях изготовителем камеры при калибровке в процессе изготовления. Таблица содержит следующую информацию для каждого пикселя (x,y) в панорамном изображении:
(x,y) - пиксельные координаты панорамного изображения;
(u1, v1) - пиксельные координаты изображения для камеры 1;
(u2, v2) - пиксельные координаты изображения для камеры 2;
камера 1 - основная исходная камера;
камера 2 - вторая исходная камера, если (x,y) находится в области перекрытия.
Пусть S(x,y) обозначает элемент записи в таблице модуля стыковки для пикселя (x,y). То есть S(x,y)={камера 1, u1, v1, камера 2, u2, v2}. Для обеспечения преобразования модулем стыковки из цилиндрических в прямоугольные координаты необходимо конкатенировать таблицу стыковки с таблицей деформирования. Для каждого пикселя (x,y) на конечном панорамном изображении (после нормировки размера головы) пусть W(x,y) обозначает элемент записи в таблице, представляющий пиксельные координаты на цилиндрическом панорамном изображении, и пусть T обозначает конкатенированную таблицу S и W. Тогда T(x,y)=S(W(x,y)). Эта конкатенированная таблица может быть предварительно вычислена во время инсталляции. Во время исполнения операция является той же самой, что и для стыковки панорамного изображения.
5.0 Пользовательский интерфейс
Один вариант осуществления системы коррекции в реальном времени панорамного изображения обеспечивает пользовательский интерфейс для упрощения работы системы для пользователя. Пользовательский интерфейс (UI) может включать в себя панель управления (например, сенсорную панель жидкокристаллического дисплея) для ввода желательных настроек, а также дисплей с окном оратора, в котором выделяется и отображается нормированное изображение головы из панорамного изображения. Кроме того, пользовательский интерфейс может включать в себя дисплей для отображения скорректированных или масштабированных панорамных изображений, размер которых может изменяться с применением коэффициента деформирования с дополнительными пикселями по периметру изображения. Это обеспечивает возможность передачи скорректированного изображения по сети при стандартных размерах, не требуя согласования заново сетевого стека, чтобы посылать изображения различных размеров и разрешений.
5.1 Панель управления
Всенаправленная камера, используемая для съемки панорамного изображения, может иметь панель управления, такую как сенсорный жидкокристаллический (LCD) экран, который используется для настройки и нормального использования системы коррекции в реальном времени панорамного изображения, соответствующей изобретению. В одном варианте осуществления могут вводиться настройки формы и размера стола, позиции и ориентации камеры и нормировки размера головы (от 0 до 100%). Настройки формы и размера стола могут включать в себя круглую форму (предпочтительно, устанавливается по умолчанию), малую прямоугольную (например, 10x5'); большую прямоугольную (например, 16x5') и другие (в этом случае пользователю предлагается определить длину и ширину стола). Устанавливаемая по умолчанию настройка (круглая форма) генерирует стыкуемые изображения для некруглых столов, но не нормирует размеры голов для этих типов столов.
Как описано выше, в одном варианте осуществления изобретения позиция и ориентация всенаправленной камеры могут быть установлены посредством панели управления. Позиция по умолчанию соответствует установке в центре стола. Ориентация по умолчанию соответствует LCD-экрану, считываемому вблизи удаленной стороны стола (т.е. текст параллелен основной оси симметрии стола). Ориентация камеры является очень важной, поскольку если она не корректна, то деформирование может реально привести к тому, что размеры голов на изображении будут сильнее отличаться вместо того, чтобы сделать их одинаковыми по размеру. Ориентация камеры может изменяться в пределах +/-15 градусов без заметных эффектов. После настройки могут использоваться различные известные способы для поддержания ориентации камеры. Форма и размер стола камеры и положение и ориентация всенаправленной камеры могут также определяться автоматически.
Кроме того, в одном варианте осуществления изобретения процент нормировки размера головы может быть установлен посредством LCD-экрана. Этот параметр может быть установлен с помощью ползунка ("движка" на линейке со шкалой), который обеспечивает возможность непрерывных настроек от нормированной на 0% (цилиндрическая) до нормированной на 100% (прямоугольная). Основная причина не использовать настройку на 100% состоит в том, чтобы сделать нормировку более устойчивой к изменениям положения и поворота камеры, а также обеспечить некоторое искажение в перспективе, что может быть желательным для некоторых пользователей.
5.2 Окно оратора
Пользовательский интерфейс может включать в себя область дисплея с окном оратора, в котором из панорамного изображения выделяется голова путем прямого копирования субокна из панорамного изображения. Это субокно затем отображается как отдельная область дисплея. Выделенное изображение головы может быть ненормированным или нормированным. Эта функция особенно полезна, когда какой-либо человек берет слово в процессе видеоконференции, особенно если он находится на удалении от камеры. Путем выделения увеличенного изображения головы можно наблюдать выражение лица данного человека. Это особенно полезно, когда он является оратором.
5.3 Панорамное изображение с заполнением
Кроме того, пользовательский интерфейс может содержать функцию отображения и передачи панорамного изображения с заполнением. Это панорамное изображение с заполнением добавляет дополнительные пиксели вокруг скорректированного изображения для достижения стандартного размера, поскольку отображение изображений с различными коэффициентами деформирования будет корректироваться до различных размеров. Например, полосы, такие как черные полосы, могут быть добавлены наверху и внизу изображения. Пример панорамного изображения с заполнением показан на Фиг.15. Это панорамное изображение с заполнением позволяет системе поддерживать постоянный размер и разрешение для каждого скорректированного панорамного изображения. Это также обеспечивает возможность передачи каждого скорректированного панорамного изображения с разными размерами и разрешениями. Сторона, принимающая изображение, может затем отобразить панорамное изображение с этими полосами или без них.
Изложенное выше описание изобретения представлено в целях иллюстрации и пояснения. Оно не является исчерпывающим и не ограничивает изобретение конкретной раскрытой формой. Возможны различные модификации и варианты в свете приведенных выше решений. Поэтому предусматривается, что объем изобретения не ограничен данным детальным описанием изобретения, а определяется прилагаемой формулой изобретения.