УСТРОЙСТВО УПРАВЛЕНИЯ, СПОСОБ УПРАВЛЕНИЯ И НОСИТЕЛЬ ХРАНЕНИЯ
CONTROL DEVICE, CONTROL METHOD AND STORAGE MEDIUM

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится к способу управления виртуальной точкой обзора.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0002] Известны технологии генерации видео виртуальной точки обзора, которые генерируют видео произвольных точек обзора из множества видео, захваченных множеством камер, имеющих различные точки обзора. Способы генерации видео виртуальных точек обзора на основе предопределенных траекторий движения виртуальных точек обзора и способы генерации видео виртуальных точек обзора в соответствии с позициями, положениями в пространстве и т.д. виртуальных точек обзора, заданных наблюдателями или тому подобным, известны как способы генерации видео виртуальных точек обзора (способы рендеринга).
[0003] С помощью технологий генерации видео виртуальных точек обзора, для наблюдателей становится возможным наблюдать видео высокой интерактивности. Напротив, с таким устройствами, как планшеты и смартфоны, которые используют сенсорные панели в качестве основных интерфейсов, трудно управлять точками обзора желательным образом. PTL 1 описывает выбор пользователем одной из множества частей данных координат точки обзора и одной из множества частей данных начальной точки поворота и ввод угла поворота и величины перемещения точки обзора, чтобы установить точку обзора.
Список цитированных документов
Патентные документы
[0004] PTL 1: Японская патентная выложенная заявка № 2015-187797
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
[0005] Способ согласно PTL 1 использует несколько операционных процедур для установки виртуальной точки обзора. Задачей настоящего изобретения является обеспечить возможность более простой установки виртуальной точки обзора.
РЕШЕНИЕ ЗАДАЧИ
[0006] Чтобы решить вышеуказанную задачу, устройство управления в соответствии с настоящим изобретением имеет следующую конфигурацию. Более конкретно, устройство управления включает в себя средство обнаружения для обнаружения операции пользователя на поверхности отображения для отображения видео виртуальной точки обзора и средство управления для управления по меньшей мере одним из положения и ориентации виртуальной точки обзора в отношении генерации видео виртуальной точки обзора в соответствии с операцией пользователя, обнаруженной средством обнаружения.
ПОЛОЖИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ ИЗОБРЕТЕНИЯ
[0007] В соответствии с настоящим изобретением, становится возможным более просто устанавливать виртуальную точку обзора.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] [Фиг. 1] Фиг. 1 является блок-схемой, иллюстрирующей аппаратную конфигурацию устройства 100 управления.
[Фиг. 2] Фиг. 2 является блок-схемой, иллюстрирующей функциональную конфигурацию устройства 100 управления.
[Фиг. 3] Фиг. 3 является диаграммой, иллюстрирующей пример того, как виртуальной точкой обзора управляют в ответ на операцию скольжения одним пальцем в первом варианте осуществления.
[Фиг. 4] Фиг. 4 является диаграммой, иллюстрирующей пример того, как виртуальной точкой обзора управляют в ответ на операцию скольжения тремя пальцами в первом варианте осуществления.
[Фиг. 5] Фиг. 5 является диаграммой, иллюстрирующей пример того, как виртуальной точкой обзора управляют в ответ на операцию скольжения двумя пальцами в первом варианте осуществления.
[Фиг. 6] Фиг. 6 является диаграммой, иллюстрирующей пример того, как виртуальной точкой обзора управляют в ответ на операцию растягивания двумя пальцами в первом варианте осуществления.
[Фиг. 7] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей поток процесса в устройстве 100 управления в первом варианте осуществления.
[Фиг. 8] Фиг. 8 является блок-схемой последовательности операций, иллюстрирующей то, как виртуальной точкой обзора управляют в соответствии с операцией пользователя.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0009] Варианты осуществления настоящего изобретения будут здесь описаны со ссылкой на чертежи. Варианты осуществления, описанные ниже, не предполагаются, чтобы ограничивать настоящее изобретение, и все комбинации признаков, описанных в вариантах осуществления, не обязательно являются существенными для осуществления настоящего изобретения. Одни и те же ссылочные позиции используются, чтобы идентифицировать те же самые компоненты в описании.
[0010] <Первый вариант осуществления>
В первом варианте осуществления описан пример, в котором пользователь управляет положением, ориентацией и т.д. виртуальной точки обзора путем управления дисплейным экраном (сенсорной панелью), чтобы генерировать видео виртуальной точки обзора, соответствующее положению, ориентации и т.д. виртуальной точки обзора. В настоящем варианте осуществления, "изменение положения виртуальной камеры" и "изменение положения виртуальной точки обзора" используются как имеющие одно и то же смысловое значение. Кроме того, "изменение пространственного положения виртуальной камеры" и "изменение ориентации виртуальной точки обзора" используются как имеющие одно и то же смысловое значение.
[0011] В настоящем варианте осуществления, видео виртуальной точки обзора представляет собой видео, которое генерируется на основе множества видео, захваченных множеством камер, которые захватывают изображения своих полей обзора (целевых областей захвата изображения) с различных направлений, и представляет собой видео, которое генерируется в соответствии с позицией (положением), пространственным положением (ориентацией) и т.д. виртуальной точки обзора (виртуальной камеры). Видео виртуальной точки обзора согласно настоящему варианту осуществления может представлять собой данные видео, полученные в результате сжатия каждого кадра изображения с использованием некоторого способа сжатия движущегося изображения, может представлять собой данные видео, полученные в результате сжатия каждого кадра изображения с использованием некоторого способа сжатия неподвижного изображения, или может представлять собой изображение видео, которое не подвергнуто сжатию.
[0012] Примерная системная конфигурация устройства 100 управления в настоящем варианте осуществления будет описана далее со ссылкой на фиг. 1. Согласно фиг. 1, центральный процессор (CPU) 101 исполняет программы, сохраненные в постоянной памяти (ROM) 103 и/или накопителе на жестком диске (HDD) 105, с использованием памяти с произвольным доступом (RAM) 102 в качестве рабочей памяти, чтобы управлять компонентами, описанными ниже, посредством системной шины 112. Это выполняет различные процессы, описанные ниже. HDD-интерфейс (I/F) 104 представляет собой интерфейс, такой как интерфейс последовательного соединения расширенных технологий (ATA) ((SATA)), с помощью которого устройство 100 управления соединяется с вторичным устройством хранения, таким как HDD 105 или накопитель на оптическом диске. CPU 101 может считывать данные из HDD 105 через HDD-интерфейс (I/F) 104 и записывать данные в HDD 105 через HDD-интерфейс (I/F) 104. Кроме того, CPU 101 выполняет декомпрессию данных, сохраненных в HDD 105, в RAM 102. Более того, CPU 101 способен сохранять разнообразные данные в RAM 102, которые получены в результате исполнения программ, в HDD 105. Интерфейс (I/F) 106 ввода используется, чтобы соединять устройство 107 ввода, такое как сенсорная панель, клавиатура, мышь, цифровая камера или сканер, для ввода одной или нескольких координат в устройство 100 управления. Интерфейс (I/F) 106 ввода является интерфейсом последовательной шины, таким как интерфейс USB (универсальной последовательной шины) или IEEE (Института инженеров по электронике и электротехнике) 1394. CPU 101 способен считывать данные из устройства 107 ввода через I/F 106 ввода. Интерфейс (I/F) 108 вывода представляет собой интерфейс вывода видео, такой как цифровой визуальный интерфейс (DVI) или мультимедийный интерфейс высокой четкости (HDMI) (зарегистрированный товарный знак), с помощью которого устройство 109 вывода, такое как дисплей, соединено с устройством 100 управления. CPU 101 может подавать данные относительно видео виртуальной точки обзора на устройство 109 вывода через I/F 108 вывода, чтобы побуждать устройство 109 вывода отображать видео виртуальной точки обзора. Сетевой интерфейс (I/F) 110 представляет собой сетевую карту, такую как карта локальной сети (LAN), с помощью которой устройство 100 управления соединено с внешним сервером 111. CPU 101 способен считывать данные с внешнего сервера 111 через сетевой I/F 110.
[0013] В настоящем варианте осуществления в основном будет описан пример, в котором устройство 107 ввода представляет собой сенсорную панель устройства 100 управления. Иными словами, устройство 100 управления может представлять собой смартфон или планшетный терминал. В этом случае, устройство 107 ввода (сенсорная панель) и устройство 109 вывода (дисплейный экран) интегрированы в устройство 100 управления. Кроме того, все компоненты, проиллюстрированные на фиг. 1, не являются существенными. Например, при воспроизведении видео виртуальной точки обзора, сохраненного в HDD 105, внешний сервер 111 не требуется. Напротив, при генерации видео виртуальной точки обзора, полученного с внешнего сервера 111, HDD 105 не требуется. Более того, устройство 100 управления может включать в себя несколько CPU 101. Кроме того, устройство 100 управления может включать в себя одно или несколько компонентов специализированных аппаратных средств, отличных от CPU 101 или процессора графики (GPU), и по меньшей мере часть обработки, осуществляемой посредством CPU 101, может выполняться посредством GPU или специализированных аппаратных средств. Специализированные аппаратные средства могут быть представлены, например, специализированной интегральной схемой (ASIC), программируемой вентильной матрицей (FPGA) или процессором цифровых сигналов (DSP).
[0014] Способ управления виртуальной камерой в соответствии с намерением пользователя в соответствии с операцией пользователя с использованием сенсорной панели будет описан в настоящем варианте осуществления. Операции пользователя в настоящем варианте осуществления должны по меньшей мере включать в себя операцию постукивания, операции скольжения одним и до трех пальцев и операции сжатия и растягивания.
[0015] Даже начинающий способен без труда выполнить операцию пользователя одним пальцем, хотя затруднительно вводить сложную информацию, используя операцию пользователя одним пальцем. Однако трудно выполнять детальные задачи, используя операцию пользователя тремя пальцами. Соответственно, простые процессы по управлению виртуальной камерой назначены операции пользователя одним пальцем и операции пользователя тремя пальцами (операции скольжения). Сложный процесс по управлению виртуальной камерой назначен операции двумя пальцами.
[0016] Соотношение между конкретными операциями пользователя и поведениями виртуальной камеры будет описано со ссылкой на фиг. 3 - фиг. 6. Фиг. 3 иллюстрирует то, как положение и ориентация виртуальной камеры варьируются в ответ на операцию скольжения одним пальцем. В ответ на операцию скольжения влево одним пальцем к изображению 301 перед операцией пользователя, положение и ориентация виртуальной камеры изменяются, чтобы отображать изображение 302. Здесь, положение и ориентация виртуальной камеры изменены от виртуальной точки обзора 305 к виртуальной точке обзора 306, смещенной вправо вокруг центральной точки 304 в трехмерном пространстве, которая изображена в центре панорамного изображения 303. Иными словами, когда число координат на дисплейном экране (поверхности отображения), которые одновременно задаются операцией пользователя, равно первому числу (одному), блок 204 управления точкой обзора поворачивает виртуальную камеру некоторой целевой координаты в соответствии с перемещением координаты. Иными словами, когда число координат на поверхности отображения, которые одновременно задаются операцией пользователя, равно первому числу (одному), блок 204 управления точкой обзора управляет виртуальной камерой так, что виртуальная камера перемещается при фокусировке на некоторой целевой координате в соответствии с перемещением координаты.
[0017] Как проиллюстрировано на фиг. 3, когда обнаружена операция скольжения одним пальцем, диапазон перемещения виртуальной камеры ограничен по окружности 307, и направление перемещения виртуальной камеры ограничено горизонтальным направлением. Это позволяет выполнять перемещение виртуальной камеры в соответствии с намерением пользователя, например, пользователем, который не имеет опыта в выполнении сенсорной операции, или в сцене использования, в которой траектория касания, вероятно, будет сдвинута. Соответственно, становится возможным просто генерировать видео виртуальной точки обзора без встряхивания, как в Bullet-time (буллет-тайм (время пули), техника комбинированной съемки для создания на экране иллюзии заморозки времени).
[0018] Фиг. 4 иллюстрирует то, как положение виртуальной камеры варьируется в ответ на операцию скольжения тремя пальцами. В ответ на операцию скольжения вправо тремя пальцами к изображению 401 перед операцией пользователя, положение виртуальной камеры изменяется, чтобы отображать изображение 402. Здесь, положение виртуальной камеры перемещается от виртуальной точки обзора 404 к виртуальной точке обзора 405, как иллюстрируется в панорамном изображении 403. Иными словами, когда число координат на дисплейном экране, которые одновременно задаются операцией пользователя, равно третьему числу (трем), блок 204 управления точкой обзора управляет положением виртуальной камеры, так что виртуальная камера переносится в трехмерном пространстве в соответствии с изменением (варьированием) координаты.
[0019] То, что "одновременно задаются три координаты", не ограничивается случаем, когда три пальца одновременно касаются дисплейного экрана. Например, случай, когда третий палец касается дисплейного экрана, при поддержании состояния, в котором два пальца касаются дисплейного экрана, определяется как состояние, в котором три пальца одновременно касаются дисплейного экрана. Как описано выше, множество координат могут одновременно задаваться, даже если касание дисплейного экрана начинается в разное время разными пальцами.
[0020] Блок 204 управления точкой обзора согласно настоящему варианту осуществления перемещает виртуальную камеру так, что величина перемещения пальца (пальцев) на дисплейном экране равна величине перемещения позиции рисования в видео виртуальной точки обзора трехмерной точки 406, идентифицированной в соответствии с операцией пользователя. Задание величины перемещения пальца (пальцев) равной величине перемещения трехмерной точки 406 позволяет пользователю управлять виртуальной камерой более интуитивно. Однако управление может выполняться так, что величина перемещения пальца (пальцев) отличается от величины перемещения позиции рисования трехмерной точки 406 в видео с виртуальной точки обзора. Кроме того, в операции пользователя тремя пальцами, может быть использовано усредненное значение величин перемещения соответствующих трех пальцев, может быть использована медиана, может быть использовано репрезентативное значение или может быть использовано другое значение в качестве величины перемещения пальца. Более того, в настоящем варианте осуществления, когда выполняется операция скольжения тремя пальцами, положение виртуальной камеры изменяется, в то время как ориентация виртуальной камеры не изменяется. Иными словами, когда число координат на дисплейном экране, которые одновременно задаются операцией пользователя, равно третьему числу (трем), блок 204 управления точкой обзора изменяет положение виртуальной камеры в соответствии с изменением координат и не изменяет ориентацию виртуальной точки обзора.
[0021] Фиг. 5 иллюстрирует то, как положение и ориентация виртуальной камеры изменяются в ответ на операцию скольжения двумя пальцами. В ответ на операцию скольжения в направлении влево вниз двумя пальцами к изображению 501 перед операцией пользователя, положение и ориентация виртуальной камеры изменяются, чтобы отображать изображение 502. Здесь, положение и ориентация виртуальной камеры изменяются от виртуальной точки обзора 505 к виртуальной точке обзора 506 вокруг трехмерной точки 504, определенной на основе положений пальцев пользователя, как иллюстрируется в панорамном изображении 503. Диапазон перемещения виртуальной камеры ограничен сферой 507. Как описано выше, положение в направлении высоты виртуальной камеры не изменяется, а ее положение в горизонтальном направлении изменяется, когда выполняется операция скольжения одним пальцем, в то время как положения как в вертикальном направлении, так и в горизонтальном направлении виртуальной камеры изменяются, когда выполняется операция скольжения двумя пальцами. Иными словами, когда число координат на дисплейном экране, которые одновременно задаются операцией пользователя, равно второму числу (двум), блок 204 управления точкой обзора изменяет положение виртуальной камеры в первом направлении и втором направлении в соответствии с перемещением координаты. Как описано выше, устройство 100 управления согласно настоящему варианту осуществления выполняет более сложный процесс управления виртуальной камерой, когда выполняется операция скольжения двумя пальцами, по сравнению со случаем, когда выполняется операция скольжения одним пальцем. Операция скольжения двумя пальцами позволяет генерировать видео виртуальной точки обзора, в котором произвольный объект просматривается с произвольного направления.
[0022] Фиг. 6 иллюстрирует то, каким образом положение виртуальной камеры варьируется в ответ на операцию растягивания двумя пальцами. В ответ на операцию растягивания к изображению 601 перед операцией пользователя, положение виртуальной камеры изменяется, чтобы отображать изображение 602. Здесь, положение виртуальной камеры перемещается от виртуальной точки обзора 604 к виртуальной точке обзора 605, как иллюстрируется в панорамном изображении 603. Когда выполняется операция сжатия двумя пальцами, положение виртуальной камеры перемещается от виртуальной точки обзора 605 к виртуальной точке обзора 604. Иными словами, когда число координат на дисплейном экране, которые одновременно задаются операцией пользователя, равно второму числу (двум), блок 204 управления точкой обзора перемещает виртуальную камеру в направлении, соответствующем направлению точки обзора виртуальной камеры в соответствии с изменением координат.
[0023] Положение виртуальной камеры перемещается в направлении вперед-назад, как иллюстрируется пунктирной линией 606, в ответ на операцию сжатия и операцию растягивания. Поскольку субъект (например, объект, такой как игрок) отображается с увеличением на величину, соответствующую увеличению расстояния между пальцами, и субъект отображается с уменьшением на величину, соответствующую уменьшению расстояния между пальцами, может выполняться интуитивная операция. Как описано выше, обеспечение возможности перемещения в направлении вперед-назад и поворота виртуальной камеры в ответ на операцию пользователя двумя пальцами реализует управление виртуальной камерой по двум степеням свободы. Вместо изменения положения виртуальной камеры в ответ на операцию сжатия и операцию растягивания, может быть изменен параметр относительно значения изменения масштаба изображения виртуальной камеры.
[0024] Хотя в настоящем варианте осуществления в основном описан пример, в котором первым числом является "один", вторым числом является "два", и третьим числом является "три", настоящий вариант осуществления не ограничен этим. Например, первым числом может быть "три", вторым числом может быть "два", и третьим числом может быть "один". Альтернативно, первым числом может быть "один", вторым числом может быть "два", и третьим числом может быть "четыре".
[0025] Поток процесса, выполняемый устройством 100 управления согласно настоящему варианту осуществления, будет описан далее со ссылкой на фиг. 2 и фиг. 7. Фиг. 2 является блок-схемой, иллюстрирующей функциональную конфигурацию устройства 100 управления в настоящем варианте осуществления. CPU 101 считывает программы, сохраненные в ROM 103 и/или HDD 105, и исполняет программы с использованием RAM 102 в качестве рабочей области, чтобы служить в качестве соответствующих функциональных блоков в устройстве 100 управления, проиллюстрированном на фиг. 2. Операционный блок 201 и блок 206 отображения на фиг. 2 соответствуют устройству 107 ввода и устройству 109 вывода на фиг. 1, соответственно. CPU 101 не обязательно служит в качестве всех функциональных блоков в устройстве 100 управления, и могут быть обеспечены специализированные схемы обработки, соответствующие соответственным функциональным блокам.
[0026] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей поток процесса, выполняемый в устройстве 100 управления согласно настоящему варианту осуществления. Соответствующие этапы, описанные с использованием фиг. 7, реализуются посредством CPU 101 в устройстве 100 управления, который считывает программы, сохраненные в ROM 103 и/или HDD 105, и исполняет программы с использованием RAM 102 в качестве рабочей области.
[0027] В S701, блок 202 управления полученными данными ожидает обнаружения операции постукивания с помощью операционного блока 201. Операция постукивания представляет собой операцию касания дисплейного экрана пальцем в течение короткого времени. Произвольное значение может быть установлено в качестве порогового значения времени контакта, используемого при определении операции постукивания. Если текущее воспроизведение видео виртуальной точки обзора в блоке 206 отображения находится в состоянии паузы, когда операция постукивания обнаружена, блок 202 управления полученными данными выполняет переход в состояние воспроизведения. Напротив, если устройство 100 управления находится в состоянии воспроизведения видео виртуальной точки обзора, когда обнаружена операция постукивания, блок 202 управления полученными данными выполняет переход в состояние паузы видео виртуальной точки обзора. Поскольку блок 202 управления полученными данными изменяет состояние воспроизведения видео виртуальной точки обзора в ответ на операцию постукивания на дисплейном экране вышеописанным образом, пользователь способен переключать состояние воспроизведения с помощью интуитивной операции. Однако S701 не является существенным этапом.
[0028] В S702, блок 204 управления точкой обзора подает параметры камеры относительно положения и ориентации виртуальной камеры на блок 205 рисования на основе результата обнаружения операции пользователя с помощью операционного блока 201. S702 будет подробно описан ниже со ссылкой на фиг. 8.
[0029] В S703, блок 203 получения данных получает данные (полигональные данные или текстурные данные), необходимые для рендеринга, из HDD 105 или внешнего сервера 111 и подает данные на блок 205 рисования. Блок 203 получения данных получает данные, необходимые для рендеринга следующего кадра изображения в состоянии, в котором видео виртуальной точки обзора воспроизводится как движущееся изображение. Напротив, блок 203 получения данных получает данные, необходимые для рендеринга кадра изображения, который в текущее время воспроизводится, если воспроизведение видео виртуальной точки обзора находится в состоянии паузы. В состоянии паузы, данные не могут быть получены.
[0030] В S704, блок 205 рисования генерирует видео виртуальной точки обзора на основе данных, полученных от блока 203 получения данных, и параметров камеры, полученных от блока 204 управления точкой обзора, и подает сгенерированное видео виртуальной точки обзора на блок 206 отображения. В S705, блок 206 отображения отображает видео виртуальной точки обзора, полученное от блока 205 рисования. Поскольку существующая технология может использоваться для рендеринга, рендеринг здесь не описывается подробно. Параметры камеры могут классифицироваться на внешний параметр и внутренний параметр виртуальной камеры. Внешний параметр является параметром, представляющим положение и ориентацию виртуальной камеры. Внутренний параметр виртуальной камеры является параметром, представляющим оптические характеристики виртуальной камеры. Внешний параметр и внутренний параметр будут описаны ниже более конкретно. Внешний параметр виртуальной камеры может быть представлен следующим образом, где вектор, представляющий положение виртуальной камеры, обозначен как t, и матрица, представляющая поворот, обозначена как R.
[0031] [Формула 1]
[0032] Здесь, система координат описана как левая система координат. В виртуальной точке обзора, направление вправо является +x-направлением, направление вверх является +y-направлением, и направление вперед является +z-направлением.
x
y
[0033] Внутренний параметр K виртуальной камеры может быть представлен следующим образом, где положение главной точки видео виртуальной точки обзора обозначено как (c, c), и фокусное расстояние виртуальной камеры обозначено как f.
[0034] [Формула 2]
[0035] Параметры камеры могут быть представлены иным методом, чем матрица. Например, положение виртуальной камеры может быть представлено в трехмерной координате и ориентация виртуальной камеры может быть представлена набором значений рыскания, крена и тангажа. Кроме того, внешний параметр и внутренний параметр не ограничены указанными выше. Например, информация, представляющая значение изменения масштаба виртуальной камеры, может быть получена как внутренний параметр виртуальной камеры. Как описано выше, параметры виртуальной камеры, которые используются для генерации видео виртуальной точки обзора, имеют различные вариации. Поток процесса выполняется в устройстве 100 управления согласно настоящему варианту осуществления вышеуказанным образом.
[0036] <Управление виртуальной камерой в соответствии с операцией пользователя>
S702 на фиг. 7 будет теперь подробно описан со ссылкой на фиг. 8. В S702, блок 204 управления точкой обзора получает результат обнаружения операции пользователя с помощью операционного блока 201 и подает параметр камеры виртуальной камеры, который используется для рисования видео виртуальной точки обзора, на блок 205 рисования.
i
x
y
i
[0037] В S801, блок 204 управления точкой обзора получает результат обнаружения операции пользователя с помощью операционного блока 201. Результат обнаружения операции пользователя должен включать в себя n точек касания на дисплейном экране, двумерную экранную координату x (i=1… n) точки касания, и двумерную экранную координату x' репрезентативной точки для точки касания. Кроме того, результат обнаружения операции пользователя должен включать в себя двумерный вектор d=(d, d), представляющий величину перемещения от репрезентативной точки в предыдущем кадре изображения, и трехмерный вектор T, представляющий положение трехмерной точки, идентифицированной на основе репрезентативной точки. Однако все элементы информации, описанные выше, могут не обязательно быть получены в качестве результата обнаружения. Например, поскольку двумерная экранная координата x равна двумерной экранной координате x' репрезентативной точки, когда выполняется операция одним пальцем, любая из них может быть опущена.
i
i
i
[0038] Предполагается, что, в двумерной экранной системе координат, верхний левый угол установлен в начало координат, направление вправо является +x-направлением, и направление вниз является +y-направлением. Предполагается, что репрезентативная точка является координатой, помещенной в центроиде двумерных экранных координат x множества точек, которых касаются. Однако репрезентативная точка не ограничена центроидом и может представлять собой координату, помещенную в среднем значении двумерных экранных координат x. Альтернативно, одна из множества двумерных экранных координат x может быть выбрана случайным образом в качестве репрезентативной точки, или точка, которой касаются в течение наиболее долгого времени, может быть выбрана в качестве репрезентативной точки.
[0039] Предполагается, что трехмерная точка является точкой, в которой световой луч сталкивается с субъектом. Световой луч виртуально излучается из начальной точки, которая является трехмерной координатой, соответствующей положению виртуальной камеры, в направлении захвата изображения виртуальной камеры (raycast, рейкаст (бросание лучей)). Трехмерная точка используется в качестве базовой точки поворота или опорной точки перемещения в операции виртуальной камеры. Кроме того, трехмерная точка определяется, только когда число касаний варьируется относительно их числа в предыдущем кадре изображения, и трехмерный вектор T, который был определен в обработке предыдущего кадра изображения, используется в качестве трехмерной точки, когда число касаний не варьируется относительно их числа в предыдущем кадре изображения. Хотя в настоящем варианте осуществления описан пример, в котором трехмерная точка представлена трехмерным вектором T, трехмерная точка может не обязательно быть представлена в векторном формате.
[0040] В S802, блок 204 управления точкой обзора определяет, следует ли перенастроить точку обзора в ответ на операцию пользователя с помощью операционного блока 201. В настоящем варианте осуществления, определяется, что точка обзора должна быть перенастроена, если выполняется постукивание в некоторой области (например, области, в которой отображается кнопка перенастройки точки обзора) на дисплейном экране.
[0041] В S803, блок 204 управления точкой обзора перенастраивает положение, ориентацию и т.д. виртуальной камеры. Более конкретно, блок 204 управления точкой обзора изменяет положение и ориентацию виртуальной точки обзора на предопределенное положение и предопределенную ориентацию в ответ на обнаружение операции пользователя в некотором положении на дисплейном экране. Затем, блок 204 управления точкой обзора подает параметр камеры виртуальной камеры в перенастройке на блок 205 рисования. В настоящем варианте осуществления предполагается, что положением виртуальной камеры в перенастройке является [0 0 0], и ориентацией виртуальной камеры является единичная матрица. Однако информация точки обзора в перенастройке не ограничена вышеуказанной. Например, может быть использовано значение, установленное пользователем заранее, или рекомендованная информация точки обзора, встроенная в данные изображения, может быть считана для использования.
[0042] В S804, блок 204 управления точкой обзора определяет способ управления виртуальной камерой на основе числа n точек касания. Различение способа управления виртуальной камеры в соответствии с числом пальцев, которыми касаются, позволяет реализовать большое разнообразие управления. Если число точек касания равно нулю, процесс переходит к S805, и блок 204 управления точкой обзора подает текущее положение и ориентацию виртуальной камеры на блок 205 рисования.
[0043] Если число точек касания равно одной (то есть, обнаружена операция одним пальцем), процесс переходит к S806, и блок 204 управления точкой обзора поворачивает виртуальную камеру вокруг вышеуказанной трехмерной точки, которая используется в качестве центра поворота. Трехмерная точка представляет собой точку, в которой световой луч сталкивается с субъектом. Световой луч виртуально излучается от начальной точки, которая является трехмерной координатой (например, координатой центра виртуальной камеры), соответствующей положению виртуальной камеры, в направлении захвата изображения (бросания луча). Иными словами, трехмерная точка представляет собой координату в трехмерном пространстве, которая соответствует центральному положению видео виртуальной точки обзора, которая отображается в ответ на касание. Однако трехмерная точка не ограничена этим примером. Этапы S806 - S808 будут подробно описаны ниже.
[0044] Если число точек касания равно двум (то есть, обнаруживается операция двумя пальцами), процесс переходит к S809, и блок 204 управления точкой обзора выполняет управление, чтобы изменять положения в направлении по высоте и в горизонтальном направлении виртуальной камеры в ответ на операцию скольжения, выполняемую пользователем. В S811, блок 204 управления точкой обзора выполняет управление, чтобы перемещать положение виртуальной камеры в направлении вперед-назад в ответ на операцию сжатия и/или операцию растягивания. Этапы S809 - S812 будут подробно описаны ниже.
[0045] Если число точек касания равно трем (то есть, обнаружена операция тремя пальцами), процесс переходит к S813, и блок 204 управления точкой обзора выполняет управление, чтобы переносить виртуальную камеру в ответ на операцию скольжения. Этапы S813 и S814 будут подробно описаны ниже.
[0046] В S806, блок 204 управления точкой обзора определяет координату трехмерной точки, используемой в качестве центра поворота, когда виртуальная камера поворачивается. Блок 204 управления точкой обзора виртуально излучает световой луч в трехмерном пространстве, например, с использованием центра виртуальной камеры в качестве точки обзора в ответ на обнаружение касания одним пальцем и использует точку, в которой световой луч сталкивается с субъектом, в качестве трехмерной точки. Трехмерная точка представлена как трехмерный вектор A и используется как центр поворота. После того как трехмерная точка определена, не требуется определять трехмерную точку снова, когда состояние касание продолжается.
x
x
[0047] В S807, блок 204 управления точкой обзора получает величину перемещения d репрезентативной точки, чтобы определить величину перемещения виртуальной камеры. В случае операции пользователя одним пальцем, направление перемещения виртуальной камеры представляет собой только направление поворота вокруг трехмерной точки. Кроме того, в случае операции пользователя одним пальцем, виртуальная камера не перемещается в вертикальном направлении, а перемещается только в горизонтальном направлении. Это позволяет виртуальной камере в меньшей степени испытывать влияние из-за дрожания руки в операции скольжения, чтобы сделать плавным перемещение виртуальной камеры. Блок 204 управления точкой обзора согласно настоящему варианту осуществления умножает величину перемещения d репрезентативной точки на масштабный коэффициент s, чтобы определить величину перемещения (величину поворота θ в горизонтальном направлении) виртуальной камеры. Масштабный коэффициент s для определения величины поворота θ [градусов] из величины перемещения d представлен следующим уравнением, где разрешение дисплейного экрана составляет w пикселов по ширине, и величина поворота, когда выполняется операция скольжения от одного конца дисплейного экрана до другого его конца, равна 360 градусов.
[0048] [Формула 3]
[0049] Величина поворота виртуальной камеры представлена следующим уравнением с использованием масштабного коэффициента:
[0050] [Формула 4]
x
θ = s×d
[0051] Хотя в настоящем варианте осуществления в основном описан пример, в котором направление перемещения виртуальной камеры на основе операции пользователя одним пальцем представляет собой только горизонтальное направление, направление перемещения виртуальной камеры может представлять собой только вертикальное направление. То, является ли направление перемещения виртуальной камеры только горизонтальным направлением или только вертикальным направлением, может быть определено в соответствии с содержанием операции пользователя. Более конкретно, направление перемещения может быть определено в соответствии с направлением операции скольжения определенного пронумерованного кадра изображения после того, как касание обнаружено. Например, величина перемещения в x-направлении операции скольжения в определенном пронумерованном кадре изображения может сравниваться с его величиной перемещения в y-направлении, и виртуальная камера может перемещаться только в горизонтальным направлении, если величина перемещения в x-направлении больше, чем величина перемещения в y-направлении, и виртуальная камера может перемещаться только в вертикальном направлении, если величина перемещения в y-направлении больше, чем величина перемещения в x-направлении. Кроме того, способ определения масштабного коэффициента s не ограничен вышеуказанным. Например, пользователь может задать произвольное значение, или пользователю может быть предложено выбрать произвольное значение из множества вариантов выбора.
n
n
n–1
n–1
[0052] В S808, блок 204 управления точкой обзора определяет положение и ориентацию виртуальной камеры в соответствии с операцией скольжения, выполненной пользователем, и подает результат определения на блок 205 рисования. Положение R и ориентация t виртуальной камеры, когда положение R и ориентация t виртуальной камеры повернуты вокруг координаты A в горизонтальном направлении на θ, представляются следующими уравнениями:
[0053] [Формула 5]
n
n–1
R=R(θ, 0)R
n
n–1
t=R(θ, 0)(t–A)+A
[0054] Однако, R(θ, φ) представляет собой матрицу поворота, в которой виртуальная камера повернута в горизонтальным направлении на θ и повернута в вертикальным направлении на ϕ. Уравнения для вычисления текущего положения и ориентации повернутой виртуальной камеры не ограничены вышеуказанными.
[0055] В S809, блок 204 управления точкой обзора получает величину перемещения d репрезентативной точки, чтобы определить величину перемещения виртуальной камеры. В случае операции пользователя двумя пальцами, виртуальная камера способна поворачиваться как горизонтальном направлении, так и в вертикальном направлении вокруг трехмерной точки, в отличие от S807, чтобы реализовать управление с высокой степенью свободы. Величина поворота θ в горизонтальном направлении и масштабный коэффициент s вычисляются тем же самым способом, как в S807. Величина поворота ϕ в вертикальном направлении представлена следующим уравнением:
y
ϕ = s × d
n
n
n–1
n–1
[0056] В S810, блок 204 управления точкой обзора определяет положение и ориентации виртуальной камеры в соответствии с операцией скольжения, выполненной пользователем, и подает результат определения на блок 205 рисования. Положение R и ориентация t' виртуальной камеры, когда положение R и ориентация t виртуальной камеры поворачиваются вокруг трехмерной точки T в горизонтальном направлении на θ и в вертикальном направлении на ϕ, представлены следующими уравнениями:
[0057] [Формула 6]
n
n–1
R=R(θ, ϕ)R
n
n–1
t'=R(θ, ϕ)(t–T)+T
[0058] Однако, уравнения для вычисления положения и ориентации виртуальной камеры, когда виртуальная камера повернута вокруг трехмерной точки T, не ограничены вышеуказанными. Например, использование определенного коэффициента или тому подобного позволяет увеличивать величину перемещения виртуальной камеры по отношению к величине перемещения пальцев или уменьшать по отношению к величине перемещения пальцев.
n
n–1
n
n–1
[0059] В S811, блок 204 управления точкой обзора определяет величину перемещения в направлении вперед-назад виртуальной камеры в соответствии с операцией сжатия и операцией растягивания, выполняемой пользователем. Величина изменения Δd равна Δd=d– d, где расстояние между двумя пальцами, когда отображается текущий кадр изображения, обозначено как d, и расстояние между двумя пальцами, когда отображается последний кадр изображения, обозначено как d. Виртуальная камера перемещается в направлении вперед-назад пропорционально величине изменения. Величина перемещения Δz виртуальной камеры может быть представлена как Δz=m×Δd, где степень чувствительности перемещения обозначена как m. Иными словами, величина перемещения виртуальной камеры определяется в соответствии с величиной перемещения пальцев в единицу времени в ответ на операцию сжатия и операцию растягивания. Способ определения величины перемещения не ограничен вышеуказанным. Например, величина перемещения в трехмерном пространстве может быть определена так, чтобы соответствовать величине перемещения пальцев на дисплейном экране на основе расстояния от виртуальной камеры до трехмерной точки T.
[0060] В S812, блок 204 управления точкой обзора определяет положение виртуальной камеры в соответствии с операцией сжатия и операцией растягивания, выполняемой пользователем, и подает результат определения на блок 205 рисования. Положение виртуальной камеры, которая перемещается в направлении вперед-назад на Δz, представлено следующим уравнением:
[0061] [Формула 7]
[0062] В S813, блок 204 управления точкой обзора определяет величины перемещения в направлении вверх-вниз и направлении влево-вправо виртуальной камеры в соответствии с операцией скольжения, выполняемой пользователем. В настоящем варианте осуществления, величина перемещения определяется так, что трехмерная точка перемещается на дисплейном экране на расстояние, равное величине перемещения пальцев на дисплейном экране. Более конкретно, когда положения отображения определенного объекта (например, футболиста) касаются тремя пальцами, и три пальца скользят по дисплейному экрану, положение виртуальной камеры изменяется так, чтобы не изменять позиционное отношение между положением отображения объекта и трех пальцев. Величины перемещения Δx, Δy представляются следующими уравнениями, где расстояние от виртуальной камеры до трехмерной точки касания обозначено как r.
[0063] [Формула 8]
[0064] В S814, блок 204 управления точкой обзора определяет положение и ориентацию виртуальной камеры в соответствии с операцией скольжения, выполняемой пользователем, и подает результат определения на блок 205 рисования. Положение и ориентация виртуальной камеры, когда виртуальная камера перемещается в направлении влево-вправо на Δx и в направлении вверх-вниз на Δy представлены следующими уравнениями:
[0065] [Формула 9]
[0066] Отношение соответствия между числом пальцев и содержанием обработки не ограничено вышеописанными примерами. Например, способ управления положением и ориентацией виртуальной камеры в ответ на операцию скольжения одним пальцем может быть заменен таковым в ответ на операцию скольжения тремя пальцами. Более конкретно, перенос виртуальной камеры в направлении вверх-вниз и в направлении влево-вправо может выполняться на основе операции скольжения одним пальцем, а поворот и перемещение виртуальной камеры вокруг трехмерной точки может выполняться на основе операции скольжения тремя пальцами. Кроме того, соотношение между числом пальцев и способом управления может быть произвольно установлено пользователем. Это позволяет предоставлять операционные функции, более согласованные с навыками пользователя, средой отображения видео с виртуальной точки обзора и т.д. Хотя в настоящем варианте осуществления в основном описан пример, в котором выполняются все из этапа (S805), когда число точек касания равно нулю, этапов (S806 - S808), когда число точек касания равно одной, этапов (S809 - S812), когда число точек касания равно двум, и этапов (S813 и S814), когда число точек касания равно трем, настоящий вариант осуществления не ограничен этим примером. Например, могут выполняться только этапы (S809 - S812), когда число точек касания равно двум, и этапы (S813 и S814), когда число точек касания равно трем, или могут выполняться только этапы (S806 - S808), когда число точек касания равно одной. Этапы, которые задействованы, могут переключаться в соответствии с настройками, которые выполняются пользователем заранее.
[0067] Как описано выше, устройство 100 управления согласно настоящему варианту осуществления управляет по меньшей мере одним из положения и ориентации виртуальной точки обзора в соответствии с операцией пользователя на поверхности отображения (дисплейном экране) для отображения видео с виртуальной точки обзора. При такой конфигурации, пользователь способен выполнять управление относительно виртуальной точки обзора более точно, чем ранее. Кроме того, устройство 100 управления согласно настоящему варианту осуществления переключает способ управления виртуальной точкой обзора в соответствии с операцией пользователя в зависимости от числа пальцев, обнаруженных на поверхности отображения (числа координат, одновременно заданных пользователем). Принятие такой конфигурации позволяет пользователю выполнять управление виртуальной точкой обзора в соответствии с намерением пользователя с помощью более интуитивных операций. Иными словами, устройство 100 управления согласно настоящему варианту осуществления имеет преимущество генерации видео с виртуальной точки обзора в большей степени в соответствии с намерением пользователя.
[0068] <Другие варианты осуществления>
Настоящее изобретение может быть реализовано путем обработки, в которой программы, реализующие одну или несколько функций вышеописанных вариантов осуществления, предоставляются на систему или устройство через сеть или носитель хранения, и один или несколько процессоров в компьютере в системе или устройстве считывают программы и исполняют программы. Настоящее изобретение может быть реализовано схемой (например, специализированной интегральной схемой (ASIC)), реализующей одну или несколько функций.
[0069] Настоящее изобретение не ограничено вышеописанными вариантами осуществления, и различные изменения и модификации доступны без отклонения от сущности и объема настоящего изобретения. Соответственно, следующие пункты формулы изобретения приложены для заявления объема настоящего изобретения.
[0070] Настоящая заявка испрашивает приоритет японской патентной заявки № 2017-179581, поданной 19 сентября 2017, которая настоящим включена во всей своей полноте в настоящий документ посредством ссылки.