Область техники
Настоящее изобретение относится к технологии, которая осуществляет обработку информации в соответствии с движением объекта.
Известный уровень техники
В родственном уровне техники известны игры, в которых видеокамерой снимается изображение некоторой части тела пользователя, такой как голова, а затем в этой части выделяется заранее заданная область глаз, губ, рук и пр., и в которых выделенная область заменяется другим изображением для последующего воспроизведения на дисплее (например, патентный документ №1). Кроме того, известен также интерфейс пользователя, который при исполнении прикладной задачи получает команды воспроизведения движений рта или рук пользователя, снятых видеокамерой.
Документы известного уровня техники
Патентный документ №1: публикация европейской заявки на патент №0999518.
Раскрытие сущности изобретения
Проблемы, которые должны быть решены изобретением
В технике, такой, например, как описано выше, для выделения заранее заданной области, например, рта или руки пользователя, необходимо изображение высокого разрешения. Однако при этом, по мере того как при повышении качества элементов формирования изображений видеокамеры улучшается разрешение, возникают такие проблемы, как возрастание объема данных, повышение стоимости при исполнении процедур извлечения данных, таких как фильтрация, масштабирование, кадрирование и пр., для которых требуется предоставление в необходимом объеме информации, которая сжимается для передачи, обнаруживается, распознается, измеряется и пр., и возрастание запаздывания до момента поступления от видеокамеры выходных данных, необходимых для каждого типа обработки. Далее, в случае, когда камера используется в качестве интерфейса пользователя, возникает проблема в том, что возрастание запаздывания приводит к существенному понижению удобства использования. Таким образом, даже когда качество пикселей изображения видеокамеры повышается, качество всей системы в целом может быть серьезно ухудшено.
Настоящее изобретение разработано в контексте решения перечисленных проблем, а целью настоящего изобретения является предоставление технологии обработки изображений, которая при использовании высококачественных элементов формирования изображений обеспечивает уменьшение запаздывания от момента съемки изображения до момента воспроизведения изображения, используя данные этого изображения.
Средства решения этих проблем
Один пример осуществления настоящего изобретения относится к устройству съемки движущихся изображений. Устройство съемки движущихся изображений содержит: блок генерации данных изображений, который последовательно генерирует соответствующие фрагменты данных многих изображений, каждое из которых имеет различные уровни разрешения посредством многокаскадного понижения в заданном порядке числа пикселей каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдает эти фрагменты данных в форме потоков; блок синтеза изображений, который, соединяя в каждой строке пикселей одной горизонтальной строки пикселей изображения или в каждой строке пикселей меньшего диапазона соответствующие фрагменты данных многих заданных изображений из соответствующих фрагментов данных многих изображений, выдаваемых из блока генерации данных изображений, и выдавая затем соответствующие фрагменты данных упомянутых многих заданных изображений в форме потоков, генерирует виртуальные синтезированные изображения, содержащие эти многие заданные изображения; и блок передачи изображений, который получает запрос на передачу данных от главного терминала, к которому он подсоединен, генерирует поток данных, которые должны быть переданы, выделением данных пикселей, входящих в изображение, и области, которые запрашиваются, из многих потоков, которые выдаются из блока генерации данных изображений и блока синтеза изображений, и пересылает поток данных на главный терминал.
Другой пример осуществления настоящего изобретения относится также к устройству съемки движущихся изображений. Устройство съемки движущихся изображений содержит пару камер для съемки изображения одного объекта с различных - правой и левой - точек наблюдения, при этом, каждая из пары упомянутых камер содержит: блок генерации данных изображений, который последовательно генерирует соответствующие фрагменты данных многих изображений, каждое из которых имеет различные уровни разрешения за счет многокаскадного понижения в заданном порядке числа пикселей каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдает эти фрагменты данных в форме потоков; блок синтеза изображений, который, соединяя в каждой строке пикселей одной горизонтальной строки пикселей изображения или в каждой строке пикселей меньшего диапазона, соответствующие фрагменты данных многих заданных изображений из соответствующих фрагментов данных этих многих изображений, выдаваемых из блока генерации данных изображений, и выдавая затем соответствующие фрагменты данных многих заданных изображений в форме потоков, генерирует виртуальные синтезированные изображения, содержащие многие заданные изображения; и при этом упомянутое устройство съемки движущихся изображений также содержит: блок согласования стереопар, который в заданном порядке пикселей генерирует изображение глубины, указывающее положение объекта в трехмерном пространстве, исполнением согласования стереопар на соответствующих фрагментах данных изображений, имеющих заданный уровень разрешения, среди соответствующих фрагментов данных изображений, полученных с различных точек наблюдения, которые генерируются парой камер, и последовательно выдает изображения глубины в форме потока; и блок передачи изображений, который получает запрос на передачу данных от главного терминала, к которому он подсоединен, генерирует поток данных, которые должны быть переданы, выделением запрашиваемых данных пикселей, входящих в изображение, и области из многих потоков, которые выдаются из блока генерации данных изображений, блока синтеза изображений и блока согласования стереопар, и пересылает поток данных на главный терминал.
Еще один пример осуществления настоящего изобретения относится к системе обработки информации. Система обработки информации содержит: устройство съемки движущихся изображений, которое ведет съемку объекта и генерирует данные движущихся изображений; и главный терминал, который получает часть данных движущегося изображения от этого устройства съемки движущихся изображений и воспроизводит изображение после выполнения заданного процесса обработки изображения, используя эту часть данных, при этом устройство съемки движущихся изображений содержит: блок генерации данных изображения, который последовательно генерирует соответствующие фрагменты данных многих изображений, каждое из которых имеет различные уровни разрешения посредством многокаскадного понижения в заданном порядке числа пикселей каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдает эти фрагменты данных в форме потоков; блок синтеза изображений, который, соединяя в каждой строке пикселей одной горизонтальной строки пикселей изображения или в каждой строке пикселей меньшего диапазона, соответствующие фрагменты данных многих заданных изображений из соответствующих фрагментов данных многих изображений, выдаваемых из блока генерации данных изображений, и выдавая затем соответствующие фрагменты данных многих заданных изображений в форме потоков, генерирует виртуальные синтезированные изображения, содержащие эти многие заданные изображения; и блок передачи изображений, который получает запрос на передачу данных от главного терминала, к которому он подсоединен, генерирует поток данных, которые должны быть переданы, выделением запрашиваемых данных пикселей, входящих в изображение, и области из многих потоков, которые выдаются из блока генерации данных изображений и блока синтеза изображений, и пересылает поток данных на главный терминал.
Еще один пример осуществления настоящего изображения относится к устройству обработки информации. Устройство обработки информации содержит: блок запроса данных, который выдает на камеру, снимающую изображение объекта, запрос на передачу данных изображений кадров движущегося изображения, указывая при этом уровень разрешения и область внутри изображения; и блок развертывания данных, который в оперативной памяти в виде данных двумерного изображения развертывает данные изображения, передаваемые из камеры, в соответствии с запросом, в форме потока, в котором значения пикселей указанной области соединяются для каждой строки пикселей; и блок обработки данных, который использует данные двумерного изображения и воспроизводит изображение после исполнения заданного процесса обработки изображения, при этом блок запроса данных определяет синтезируемое изображение, которое генерируется внутри камеры, и в котором многие изображения с различными уровнями разрешения, полученные уменьшением за несколько каскадов кадра движущегося изображения, размешены в соответствующих заданных прямоугольных областях, и блок развертывания данных исполняет разделение изображений развертыванием синтезированного изображения, переданного из камеры, в отдельные фрагменты двумерных данных изображения для каждого изображения, являющегося объектом синтеза.
Еще один пример осуществления настоящего изобретения относится к способу обработки данных изображений. Способ обработки данных изображений, исполняемый устройством съемки движущихся изображений, содержит: этап, на котором генерируются соответствующие фрагменты данных многих изображений с различными уровнями разрешения, полученных уменьшением за несколько каскадов каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдаются фрагменты данных в форме потока; этап, на котором генерируется виртуальное синтезированное изображение, содержащее многие заданные изображения, соединением соответствующих фрагментов данных многих заданных изображений среди данных многих изображений, выданных на этом этапе, на каждую строку пикселей части одной горизонтальной строки изображения или на каждую строку пикселей в меньшем диапазоне, и выдачей результата соединения в форме потоков; и этап получения запроса на передачу данных от главного терминала, генерации потока данных, которые должны быть переданы, посредством выделения данных, входящих в запрошенное изображение и запрошенную область, из многих потоков, которые были выданы на этапе выдачи и этапе генерации, и пересылки на главный терминал.
В качестве дополнительных форм настоящего изобретения могут на практике применяться также различные необязательные комбинации описанных выше конструктивных элементов и реализации изобретения в форме способов, устройств, систем, компьютерных программ и носителей записи, на которых записаны компьютерные программы.
Преимущества настоящего изобретения
В соответствии с настоящим изобретением, может быть уменьшено запаздывание от момента съемки изображения до момента воспроизведения изображения, используя данные этого изображения.
Краткое описание чертежей
Фиг. 1 - рисунок, который показывает полную конфигурацию системы камеры с низким запаздыванием, в соответствии с первым примером осуществления;
Фиг. 2 - блок-схема, которая показывает конфигурацию камеры, в соответствии с первым примером осуществления;
Фиг. 3 - блок-схема, которая подробно показывает конфигурацию блока синтеза изображений и конфигурацию блока передачи изображений камеры, в соответствии с первым примером осуществления;
Фиг. 4 - блок-схема, которая показывает конфигурацию внутренней схемы главного терминала, в соответствии с первым примером осуществления;
Фиг. 5 - рисунок, который схематично показывает основные переходы форм данных в камере и главном терминале, в соответствии с первым примером осуществления;
Фиг. 6 - временная диаграмма, которая показывает моменты ввода из блока пирамидального фильтра соответствующих значений пикселей 1/4 изображения после цветовой интерполяции, 1/16 изображения после цветовой интерполяции и 1/64 изображения после цветовой интерполяции, в соответствии с первым примером осуществления;
Фиг. 7 - рисунок, который схематически показывает состояние, когда соответствующие фрагменты данных строк пикселей многих изображений соединяются блоком синтеза изображений, в соответствии с первым примером осуществления;
Фиг. 8 - блок-схема, которая показывает конфигурацию, относящуюся к обработке запроса данных от главного терминала и к обработке при передаче данных камеры, в соответствии с первым примером осуществления;
Фиг. 9 - блок-схема, которая показывает пример изменения конфигурации блока передачи изображений, в соответствии с первым примером осуществления;
Фиг. 10 - блок-схема, которая показывает конфигурацию камеры, в соответствии со вторым примером осуществления;
Фиг. 11 - блок-схема, которая показывает конфигурацию камеры, в соответствии с третьим примером осуществления;
Фиг. 12 - рисунок, который показывает диаграмму, иллюстрирующую пример процедур обработки изображений, совместно выполняемых главным терминалом и стереокамерой, в соответствии с третьим примером осуществления, и иллюстрирующую примеры создаваемых при этом изображений;
Фиг. 13 - рисунок, который показывает диаграмму, иллюстрирующую другой пример процедур обработки изображений, совместно выполняемых главным терминалом и стереокамерой, в соответствии с третьим примером осуществления, и иллюстрирующую пример создаваемых при этом изображений;
Фиг.14 - рисунок, который показывает диаграмму, иллюстрирующую другой пример процедур обработки изображений, совместно выполняемых главным терминалом и стереокамерой, в соответствии с третьим примером осуществления, и иллюстрирующую пример создаваемых при этом изображений.
Формы реализации изобретения
Первый пример осуществления
На Фиг. 1 показывается полная конфигурация системы камеры с низким запаздыванием 10, в соответствии с настоящим примером осуществления. В этой системе движущиеся изображения пользователя 6 снимаются камерой 100, а главным терминалом 20 на базе полученных при этом данных осуществляется обработка изображений. Затем результат обработки воспроизводится на дисплее 4 или пересылается заданному получателю сообщения через сеть 12, такую, например, как интернет или локальная сеть LAN (Local Area Network).
Камера 100 является цифровой видеокамерой, содержащей элементы формирования изображений, такие как ПЗС (прибор с зарядовой связью) или КМОП (комплементарный металлооксидный полупроводник), и установленной, как показано на Фиг. 1, на верхней части корпуса дисплея 4. Дисплей 4 может быть, например, телевизором на жидких кристаллах, плазменным телевизором, дисплеем ПК и пр. Обычно пользователь 6 стоит перед дисплеем 4 так, что камерой 100 снимается изображение всего или некоторой части корпуса пользователя.
Изображение, которое воспроизводится на дисплее 4, изменяется в зависимости от прикладной задачи, исполняемой в системе камеры с низким запаздыванием 10. Например, когда система камеры с низким запаздыванием 10 используется в качестве интерфейса пользователя UI (user interface), который распознает движения или выражения лица пользователя 6 и интерпретирует движения или выражения лица, как некоторый тип рабочей команды, то изображение 8, воспроизводимое на дисплее 4, является изображением некоторой части пользователя 6, такой как лицо или рука, или даже всего целиком его корпуса. Когда система камеры с низким запаздыванием 10 используется для обмена видеоинформацией, то изображение 8, воспроизводимое на дисплее 4, является изображением лица партнера по информационному обмену, а изображение пользователя 6 воспроизводится на дисплее партнера по обмену информацией через сеть 12.
В свете такой формы использования, как описанной выше, камеру 100 наиболее целесообразно устанавливать на верхней части корпуса дисплея 4. Однако как только изображение всего целиком или части корпуса пользователя 6 будет снято, камера 100 может быть установлена в другом месте, в стороне от дисплея 4, например, вблизи от главного терминала 20 или поблизости от пользователя. Камера 100, вместо того чтобы быть выполненной в виде отдельной конструкции, может быть, например, встроена в корпус дисплея 4. Вместо использования в камере 100 дискретных элементов формирования изображений, может использоваться аналоговое формирование изображений, но с их последующим аналого-цифровым (A/D) преобразованием.
Главный терминал 20 представляет собой компьютерный терминал, такой как персональный компьютер или игровое устройство, который имеет функции обработки изображений. Главный терминал 20 последовательно принимает в хронологическом порядке каждый кадр движущегося изображения, или данные различных типов, которые могут быть получены от каждого кадра движущегося изображения, полученного при съемке пользователя 6 камерой 100, и выполняет заранее заданные процессы обработки изображений. В случае решения задачи по обмену видеоинформацией, изображение пользователя 6 передается в реальном времени партнеру по обмену через сеть 12. В случае применения в качестве интерфейса пользователя, исполняется заранее заданный процесс обработки информации на базе изображений пользователя 6, данных различных типов, которые могут быть получены от этих изображений, а результат обработки выдается затем на дисплей 4.
Например, на дисплей 4 выводятся в реальном времени изображение знаков, которые движутся в соответствии с движениями пользователя 6, или изображение, в котором в руку пользователя 6 вкладывается некоторый объект, такой как меч. Процесс обнаружения лица пользователя 6 и процесс слежения за определенной его частью, который необходим в такой прикладной задаче, может быть осуществлен главным терминалом 20. В альтернативном варианте, эти процессы могут быть выполнены камерой 100, как описывается позднее, а полученный результат может быть передан на главный терминал 20 в качестве части упомянутых выше "данных различных типов".
В приведенной выше задаче обмена видеоданными обработка также может проводиться так, что будет показываться только область лица пользователя 6, что получается как результат процесса обнаружения лица на изображениях с высоким разрешением. Помимо упомянутых выше процессов обработки изображений, главный терминал 20 обладает также возможностями синтеза изображений объектов, таких как меню или курсор, для исполнения различных прикладных задач, а затем воспроизведения синтезированных изображений на дисплее 4.
Таким образом, в системе камеры с низким запаздыванием 10 возможно существование самых различных процессов, которые могут исполняться с использованием движущихся изображений, снимаемых камерой 100, причем содержание этих процессов ничем особенным не ограничивается. В случае когда в настоящем примере осуществления проводится какая-либо обработка изображений, то даже безотносительно к тому, какие движущиеся изображения снимаются камерой 100, синтезируется несколько различных типов данных. Существует много различных процессов, которые выполняются камерой 100, и даже соответствующих конфигураций этих процессов, зависящих от прикладной задачи, возможностей проводить обработку камерой и главным терминалом, и пр.
В настоящем примере осуществления, камера 100 создает данные движущихся изображений, которые представляют видеоизображения, снятые самой камерой 100, с многими уровнями разрешения, и пересылает на главный терминал 20 в реальном времени только ту часть данных, которая необходима в соответствии с запросом от главного терминала 20. Здесь принимается, что главный терминал 20, помимо того, что может специфицировать параметры воспроизведения всего целиком изображения, такие как разрешение, цветовая система и ее компоненты, может специфицировать также область внутри кадра.
Например, когда от камеры 100 запрашиваются данные всего целиком изображения с низким уровнем разрешения, а среди всех изображений с высоким уровнем разрешения запрашиваются данные изображения только той области, на которую необходимо обратить внимание, то последующим комбинированием этих изображений на плоскости изображения может быть воспроизведено на дисплее движущееся изображение, в котором в подробностях показана только выделенная область, что снижает нагрузку при передаче данных. Этот пример эффективен, например, для таких задач, как обмен видео, если область лица, полученная выполнением процесса обнаружения лица в главном терминале 20, задается как та область, на которую необходимо обратить внимание.
На Фиг. 2 показывается конфигурация камеры 100, в соответствии с примером осуществления. Компоненты, показанные здесь и на фиг. 3, фиг. 4, фиг. 8-11, которые описаны позднее, такие как ЦП (центральный процессор), ЗУПВ (ЗУ с произвольной выборкой), ПЗУ (постоянное ЗУ) и схема рендеринга могут быть реализованы аппаратными средствами, а функция ввода данных, функция хранения данных, функция обработки изображений, функция рендеринга и прочие могут быть реализованы программно и исполняются программами. На этих рисунках иллюстрируются функциональные блоки, реализованные соединением данных компонентов. Следовательно, эти функциональные блоки могут быть реализованы в различных формах комбинацией программных и аппаратных средств. Для упрощения объяснения, фиг.2 содержит блок-схему, которая показывает части изображений, обрабатываемых в каждом функциональном блоке.
Камера 100 содержит блок получения изображений 102, блок цветовой интерполяции 104, блок пирамидального фильтра 170, блок синтеза изображений 156, блок передачи изображений 151 и блок связи 108. Блок получения изображений 102 считывает с заранее заданной частотой (например, 60 раз/с) изображение, которое снимается элементами формирования изображений, таким как ПЗС или КМОП. В последующем объяснении будет приниматься, что снимаемое изображение имеет ширину в "W" пикселей по горизонтальному направлению и имеет ширину в "Н" пикселей по вертикальному направлению. Это изображение представляет собой необработанное изображение, так называемое изображение RAW. Блок получения изображений 102 передает изображение RAW на блок цветовой интерполяции 104 и на блок передачи изображений 151 каждый раз, как заканчивается экспозиция одной горизонтальной строки изображения RAW.
Блок цветовой интерполяции 104 содержит буфер FIFO (First in First Out) буфер обратного магазинного типа 105, который имеет емкость в W пикселей, и блок простой интерполяционной обработки 106. Информация пикселей одной горизонтальной строки изображения RAW вводится в буфер FIFO 105, в котором она хранится до тех пор, пока в блок цветовой интерполяции 104 не будут вводиться пиксели следующей горизонтальной строки. Когда будут получены пиксели двух горизонтальных строк, то блок простой интерполяционной обработки 106 исполняет процесс цветовой интерполяции, при которой он, используя полученные пиксели двух строк, дополняет цветовую информацию каждого пикселя, базируясь на пикселях его окрестности, и образует в результате полноцветное изображение.
Как известно специалистам в этой области техники, существует большое число алгоритмов цветовой интерполяции. Однако в данном случае достаточен простой процесс цветовой интерполяции, при котором используются только пиксели двух горизонтальных строк. В качестве примера, когда для пикселя, для которого должно быть вычислено соответствующее ему значение YCbCr, имеется только значение G, то сначала вычисляются значения RGB, используя в качестве значения R среднее значение соответствующих значений R смежного ему правого и левого пикселя, в качестве значения G - само имеющееся значение G, а в качестве значения В значения В пикселя, расположенного выше или ниже данного пикселя, а затем подстановкой значений RGB в заранее заданное уравнение преобразования вычисляется значение YCbCr. Поскольку такой процесс цветовой интерполяции хорошо известен, то его дальнейшее детальное описание будет здесь опущено. Цветовое пространство данных изображения, которое создается блоком цветовой интерполяции 104 или в последующем процессе, не ограничивается форматом YCbCr.
Причиной, по которой достаточным является такой простой процесс цветовой интерполяции, является то, что в случае, когда необходимо изображение высокого качества, может использоваться само изображение RAW. В качестве примера варианта простого процесса цветовой интерполяции можно использовать алгоритм, который образует значение YCbCr одного пикселя из четырех пикселей RGB. В этом случае, изображение после интерполяции представляет собой изображение размером в 1/4 изображения RAW, и поэтому становится ненужным первый фильтр 110, который описан позднее.
Блок простой интерполяционной обработки 106, например, как показано на рисунке, преобразует RGB четырех пикселей (два горизонтальных пикселя × два вертикальных пикселя) в цветовой сигнал формата YCbCr. Далее, блок, состоящий из этих четырех пикселей, пересылается на блок передачи изображений 151 в качестве 1/1 интерполированного изображения, и вместе с этим пересылается на блок пирамидального фильтра 170.
Блок пирамидального фильтра 170 имеет функцию иерархической организации поступившего изображения по нескольким уровням разрешения и выдачи изображения в иерархической форме. Пирамидальный фильтр обычно содержит фильтры сжатия на 1/4, число которых соответствует числу необходимых уровней разрешения, однако в настоящем примере осуществления имеется трехуровневый фильтр - от первого фильтра 110 до третьего фильтра 130. Каждый фильтр исполняет процесс билинейной интерполяции четырех пикселей, которые являются смежными между собой, а затем вычисляет среднее значение этих четырех пикселей. Следовательно, размер изображения, полученного после обработки, становится равным 1/4 размера изображения перед обработкой. Специалисты в этой области техники без труда поймут, что в настоящем примере осуществления можно таким же образом применять фильтры, которые не являются трехуровневыми фильтрами.
На входе каждого каскада первого фильтра 110 расположены буферы FIFO 112 на W пикселей для каждого из сигналов Y, Cb и Cr соответственно. Каждый из этих буферов FIFO 112 предназначен для хранения пикселей YCbCr одной горизонтальной строки до тех пор, пока из блока простой интерполяционной обработки 106 не будет выдана следующая горизонтальная строка. Время хранения пикселей определяется в соответствии со скоростью линейного сканирования элементов формирования изображений. При вводе пикселей двух горизонтальных строк первый фильтр 110 усредняет значения пикселей Y, Cb и Cr четырех пикселей, образованных из двух пикселей по горизонтали и двух пикселей по вертикали. При повторении этого процесса длина 1/1 интерполированного изображения становится равной 1/2 как по вертикали, так и по горизонтали, так что изображение преобразуется и становится равным ј размера целого изображения. Преобразованное 1/4 интерполированное изображение передается на блок синтеза изображений 156, а также пересылается на последующий второй фильтр 120.
Перед каждым каскадом второго фильтра 120 расположены буферы FIFO 122 на W пикселей соответственно для каждого из сигналов Y, Cb и Cr. Каждый из этих буферов FIFO 122 предназначен для хранения пикселей YCbCr одной горизонтальной строки до тех пор, пока из первого фильтра 110 не будет выдана следующая горизонтальная строка. При вводе пикселей двух горизонтальных строк второй фильтр 120 усредняет значения пикселей Y, Cb и Cr четырех пикселей, образованных из двух пикселей по горизонтали и двух пикселей по вертикали. При повторении этого процесса длина интерполированного изображения 1/4 становится равной 1/2 как по вертикали, так и по горизонтали, так что изображение преобразуется и становится равным 1/16 размера целого изображения. Преобразованное 1/16 интерполированное изображение передается на блок синтеза изображений 156, а также пересылается на последующий третий фильтр 130.
На входном каскаде третьего фильтра 130 установлены буферы FIFO 132 для W/4 пикселей, а во всем остальном повторяется та же самая обработка, что и описана ранее. После цветовой интерполяции изображение размером 1/64 пересылается затем на блок синтеза изображений 156. Поскольку пирамидальный фильтр, подобный рассмотренному выше, хорошо известен и описан в патентной литературе 1, то его дальнейшее детальное объяснение в настоящем описании опускается.
Таким образом, с каждого фильтра блока пирамидального фильтра 170 соответствующие выходные изображения, которые были сжаты одно за другим до 1/4, поступают на вход блока синтеза изображений 156. Как очевидно из этого, размер буфера FIFO, который необходим перед каждым фильтром, становится меньше по мере того, как в пирамидальном фильтре 170 число фильтров, через которое прошло изображение, становится больше. Число фильтров не ограничено тремя, и оно может быть определено надлежащим образом в зависимости от требуемого диапазона разрешения изображений.
Блок синтеза изображений 156 принимает значения пикселей YCbCr 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения соответственно от первого фильтра 110, второго фильтра 120 и третьего фильтра 130. Затем блок синтеза изображений 156 генерирует новую строку пикселей, где соответствующие строки пикселей 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения по заранее заданному правилу соединяются между собой по каждой величине пикселя Y, Cb и Cr соединением строк пикселей одного горизонтального ряда каждого изображения или строк пикселей в диапазоне меньшем, чем одна строка. Сгенерированная таким образом строка пикселей передается на блок передачи изображений 151.
Блок передачи изображений 151 в соответствии с данными запроса, принятого от главного терминала 20 через блок связи 108, выбирает среди многих типов данных изображений, которые на него поступили, необходимые данные. Затем блок передачи изображений 151 формирует выбранные данные в пакет и пересылает пакет данных на блок связи 108. В настоящем примере осуществления процессы, которые исполняются камерой 100, проводятся в растровом порядке, начиная от верхнего левого изображения, и повторяя процесс слева направо в направлении книзу. В качестве базового блока обработки задаются пиксели одной горизонтальной строки. Кроме того, формат данных каждого типа изображений, которые поступают на блок передачи изображений 151, и формат данных изображений, которые передаются на главный терминал 20, являются, в основном, потоками, в которых фрагменты данных, каждый из которых является одной горизонтальной строкой изображения, соединены в порядке сверху вниз.
Блок связи 108 передает пакет данных на главный терминал 20 в соответствии с заранее заданным протоколом, таким, например, как USB 1.0/2.0. Связь с главным терминалом 20 не ограничена проводным типом связи. Например, связь может осуществляться с использованием беспроводной LAN в таком стандарте, как IEEE 802.11a/b/g, или с использованием инфракрасной связи в таком стандарте, как IrDA. На Фиг. 2 данные Y, данные Cb и данные Cr представлены раздельно, а стрелки ввода данных и вывода данных представлены для каждого типа данных. Однако для снижения сложности рисунков компоненты в дальнейшем показываются одной группой.
В настоящем примере осуществления, данные, генерируемые блоком синтеза изображений 156, представляют собой поток последовательностей значений пикселей, в которых смешаны соответствующие строки пикселей трех изображений после цветовой интерполяции. Следовательно, строго говоря, изображение в двумерной плоскости не возникает как результат соединения трех интерполированных изображений. Однако, как подробно описано позднее, когда число пикселей, соответствующее числу пикселей одной горизонтальной строки изображения, определяется для потока, который выдается блоком синтеза изображений 156, то последующие процессы являются теми же самыми, что и процессы для данных изображения RAW или 1/1 изображения, к которым блок синтеза изображений 156 не причастен. В результате, блок синтеза изображений 156 генерирует, по существу, изображение, в котором комбинируются 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения. Далее это виртуальное изображение именуется как "синтезированное изображение".
На Фиг. 3 показываются соответствующие конфигурации блока синтеза изображений 156 и блока передачи изображений 151 камеры 100. Блок синтеза изображений 156 имеет буферы FIFO 149 и 150 для временного хранения соответственно данных одной горизонтальной строки 1/16 интерполированного изображения и данных одной горизонтальной строки 1/64 интерполированного изображения, которые были получены соответственно от второго фильтра 120 и от третьего фильтра 130.
Как будет подробно описано позднее, блок синтеза изображений 156 подсоединяет к данным пикселей одной горизонтальной строки 1/4 интерполированного изображения из первого фильтра 110, данные половины пикселей строки пикселей одной горизонтальной строки 1/16 интерполированного изображения из второго фильтра 120 и данные одной четверти пикселей строки пикселей одной горизонтальной строки 1/64 интерполированного изображения из третьего фильтра 130 в упомянутом порядке, так что в результате образуются данные одной горизонтальной строки виртуального синтезированного изображения.
Блок передачи изображений 151 состоит из блока селекции данных 154, блока формирования пакетов 162 и блока управления 164. Блок управления 164, базируясь на запросе от главного терминала 20, выдает команду блоку селекции данных 154 о том, какой из различных фрагментов данных изображения должен быть передан в виде пакета. Блок селекции данных 154, используя в качестве входных данных данные строк пикселей изображения RAW, которое было введено из блока получения изображения 102, данные строк пикселей 1/1 интерполированного изображения, которое было введено из блока цветовой интерполяции 104, и данные строк пикселей синтезированного изображения, которое было введено из блока синтеза изображений 156, выбирает и выделяет данные, указанные блоком управления 164, и передает эти данные на блок формирования пакетов 162.
В это время блок селекции данных 154, в зависимости от запроса из главного терминала 20, пересылает поток данных заданного изображения, как единое целое, или же пересылает только данные части диапазона, содержащегося в области, на которую следует обратить внимание, как было описано выше. В последнем случае поток повторно формируется посредством соединения фрагментов данных передаваемой части. Блок формирования пакетов 162 формирует в пакет, размер которого определяется в соответствии с протоколом блока связи 108, поток, который был введен из блока селекции данных 154, и записывает пакетированный поток во внутренний буфер пакетов (не показан). Например, в случае протокола USB блок формирования пакетов 162 пакетирует поток в соответствии с размерами в точке загрузки.
Блок связи 108 пересылает пакет, находящийся внутри буфера пакетов, на главный терминал 20 в соответствии с заранее заданным протоколом связи. В случае когда запрашиваются фрагменты данных многих изображений из числа данных изображения RAW, данных 1/1 интерполированного изображения и данных синтезированного изображения, то блок селекции данных 154 вводит несколько потоков, соответствующих этим фрагментам данных, в блок формирования пакетов 162. Образованием нескольких каналов вывода данных из блока селекции данных 154, нескольких каналов ввода в блок формирования пакетов 162 и нескольких каналов вывода из него, а также нескольких каналов ввода в блок связи 108 и нескольких каналов вывода из него, так чтобы все запрашиваемые данные передавались параллельно, может быть достигнута передача данных с низким запаздыванием. Этот случай будет подробно описан далее.
На Фиг. 4 показывается конфигурация внутренней схемы главного терминала 20. Главный терминал 20 состоит из ЦП (центрального процессора) 50, ГП (графического процессора) 52, блока управления дисплеем 54, блока памяти 56, оперативной памяти 58 и блока связи 60. ЦП 50 обрабатывает сигналы или управляет внутренними конструктивными компонентами, базируясь на программах, таких как программы операционной системы или программы прикладных задач. ГП 52 проводит обработку изображений в соответствии с запросами от ЦП 50. Блок управления дисплеем 54 генерирует видеосигналы для воспроизведения на дисплее 4 данных изображений, выбранных ГП 52 из буфера кадров (не показан).
Блок памяти 56 состоит из дисковода жесткого диска, энергонезависимой памяти или других типов памяти, и хранит программы и необходимые данные для обеспечения работы системы камеры с низким запаздыванием 10. Оперативная память 58 состоит из ЗУПВ (ЗУ с произвольной выборкой) или другой памяти, и хранит данные, которые передаются из камеры 100, а также хранит загруженные программы и данные. Блок связи 60 является периферийным интерфейсом, таким как USB или IEEE 1394, или проводным или беспроводным сетевым интерфейсом LAN. В частности, в настоящем примере осуществления, блок связи 60 передает данные сигнала запроса на камеру 100 и принимает данные, переданные от камеры 100. Эти компоненты соединены между собой через шину 62. ГП 52 может через шину 62 непосредственно считывать данные, которые необходимы для обработки изображений, такие как данные текстуры, из оперативной памяти 58.
На Фиг. 5 схематично показываются основные переходы формы представления данных в камере 100 и главном терминале 20. В данном случае в качестве примера рассматривается ситуация, когда из камеры 100 на главный терминал 20 пересылается полный кадр изображения 200, имеющий ширину "W" пикселей в горизонтальном направлении и ширину "Н" пикселей в вертикальном направлении. Как было описано выше, в настоящем примере осуществления генерация, селекция и передача данных изображений проводится в растровом порядке пикселей, а строки пикселей каждой единичной горизонтальной строки последовательно соединяются и обрабатываются в потоковом формате.
Данные, которые в такой ситуации выдаются блоком селекции данных 154, представляют собой поток 202. На данном рисунке по горизонтальной оси потока 202 представляется время, а прямоугольники L1, L2, …, и LH, которые образуют поток 202, представляют соответствующие фрагменты данных пикселей первой строки, пикселей второй строки, …, и пикселей Н-й строки кадра изображения 200. Если размер данных одного пикселя задается равным d байт, то размер данных каждого прямоугольника будет составлять W*d байт.
Блок формирования пакетов 162 разделяет поток 202 на пакеты, каждый из которых имеет определенный размер, так что в результате генерируются пакеты P1, Р2, Р3, Р4, Р5, …. При этом из камеры 100 на главный терминал 20 пакеты передаются в порядке P1, Р2, Р3, Р4, Р5, …. Когда главный терминал 20 через блок связи 60 получает пакеты P1, Р2, Р3, Р4, Р5, …, то главный терминал 20, в соответствии с командами управления от ЦП 50, сохраняет эти пакеты в оперативной памяти 58.
При этом распределением соответствующих фрагментов данных пакетов в оперативной памяти 58 в растровом порядке так, что число пикселей W в горизонтальном направлении кадра исходного изображения 200 определяет ширину по горизонтали, и развертыванием фрагментов данных объемом W*d*H байтов по непрерывно следующим адресам, воспроизводится изображение 204. На этом рисунке прямоугольники, которые образуют изображение 204, показывают фрагменты данных соответствующих пакетов. По командам управления от ЦП 50 ГП 52 осуществляет обработку изображения 204, развернутого по адресам в оперативной памяти 58, или комбинирует изображение 204 с другим изображением, и осуществляет визуализацию изображения, которое должно быть воспроизведено на дисплее 4.
Далее будет дано объяснение алгоритма синтеза 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения блоком синтеза изображений 156. На Фиг. 6 показывается временная диаграмма, иллюстрирующая моменты времени ввода с соответствующих фильтров пирамидального фильтра 170 соответствующих значений пикселей 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения. На этом рисунке интервалы времени S1, S2, S3, S4, … представляют соответствующие периоды, в которых вводятся соответствующие значения пикселей первой строки, второй строки, третьей строки, четвертой строки, … 1/4 интерполированного изображения.
Как и в случае с описанным выше 1/4 интерполированным изображением, среди всех изображений, входящих в синтезированное изображение, изображение с наивысшим уровнем разрешения имеет также и самую высокую частоту генерации данных в блоке пирамидального фильтра 170. Исходя из этого, период, в котором вводятся значения пикселей одной горизонтальной строки изображения с самым высоким уровнем разрешения, задается как эталонный интервал времени, и этот интервал времени ассоциируется со строкой пикселей одной горизонтальной строки синтезированного изображения. Иными словами, данные одной горизонтальной строки синтезированного изображения генерируются с использованием в качестве эталонного цикла тот период, в котором вводятся значения пикселей одной горизонтальной строки изображения с самым высоким уровнем разрешения.
Верхняя строка, средняя строка и нижняя строка на этом рисунке показывают моменты ввода 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения соответственно, а единичный прямоугольник соответствует вводу единичного пикселя. Сначала, на интервале времени S1 вводятся, начиная с левого пикселя, значения пикселей строки пикселей L(1/4)1 первой строки 1/4 интерполированного изображения. На этом интервале времени не генерируются и потому не вводятся 1/16 интерполированного изображения и 1/64 интерполированного изображения.
Затем, на интервале времени S2 вводятся, начиная с левого пикселя, значения пикселей строки пикселей L(1/4)2 второй строки 1/4 интерполированного изображения. В это время, в блоке пирамидального фильтра 170 генерируется строка пикселей L(1/16)1 первой строки 1/16 интерполированного изображения, используя для этого значения пикселей строки пикселей L(1/4)1 первой строки и значения пикселей строки пикселей L(1/4)2 второй строки 1/4 интерполированного изображения. Таким образом, в интервале времени S2 также вводятся значения пикселей строк пикселей.
Например, значения пикселей, которые вводятся в период 210 на левом конце строки пикселей L(1/16)1 первой строки 1/16 интерполированного изображения, генерируются с использованием как значений двух пикселей, которые вводятся в период 206 в строке пикселей L(1/4)1 первой строки 1/4 интерполированного изображения, так и значений двух пикселей, которые вводятся в период 208 в строке пикселей L(1/4) второй строки. Поэтому в интервале времени S2 момент времени, когда вводятся значения пикселей строки пикселей L(1/16)1, запаздывает по меньшей мере на два пикселя по сравнению с моментом ввода значений пикселей, которые соответствуют строке пикселей L(1/4)2.
В последующем интервале времени S3 вводятся значения пикселей строки пикселей L(1/4)3 третьей строки 1/4 интерполированного изображения. Поскольку на этом интервале времени не генерируются значения пикселей второй строки 1/16 интерполированного изображения, а также не генерируется 1/64 интерполированного изображения, то ни одно из них также не вводится. В следующем интервале времени S4, то есть, в периоде, в котором вводятся значения пикселей строки пикселей L(1/4)4 четвертой строки 1/4 интерполированного изображения, так же, как и в случае интервала времени S2, вводятся значения пикселей строки пикселей L(1/16)2 второй строки 1/16 интерполированного изображения.
Далее, в блоке пирамидального фильтра 170 генерируется строка пикселей L(1/64)1 первой строки 1/64 интерполированного изображения, используя значения пикселей строки пикселей L(1/16)1 первой строки и значения пикселей строки пикселей L(1/16)2 второй строки 1/16 интерполированного изображения. Таким образом, на интервале времени S4 также вводятся значения пикселей строк пикселей. Например, значения пикселей, которые вводятся в первый период 218 в строке пикселей L(1/64)1 первой строки 1/64 интерполированного изображения, генерируются с использованием как значений двух пикселей, которые вводятся в периоды 210 и 212, в строке пикселей L(1/16)1 первой строки 1/16 интерполированного изображения, так и значений двух пикселей, которые вводятся в периоды 214 и 216, в строке пикселей L(1/16)2 второй строки.
Поэтому на интервале времени S4 момент ввода строки пикселей L(1/64)1 запаздывает по меньшей мере на два пикселя по сравнению с моментом ввода значений пикселей, которые соответствуют строке пикселей L(1/16)2. После этого повторением таким же самым образом ввода соответствующих значений пикселей изображений, в блок синтеза изображений 156 вводятся соответствующие значения пикселей 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения.
Как было описано выше, соответствующие значения пикселей изображений вводятся в растровом порядке в виде отдельных потоков из соответствующих фильтров блока пирамидального фильтра 170. Блок синтеза изображений 156 соединяет эти потоки и образует единый поток, который выдается на блок передачи изображений 151. Простейшим возможным способом является соединение соответствующих фрагментов данных значений пикселей в порядке моментов ввода, безотносительно к исходным изображениям. В этом случае, хотя сам по себе процесс синтеза является простым, в последовательных процессах необходима сортировка и выделение фрагментов данных каждой отдельной строки для каждого изображения.
Возможно также собирать значения пикселей каждого изображения в каждом интервале времени, с тем чтобы образовывать строки пикселей, а затем соединять эти строки пикселей в последовательности. В этом случае, хотя значения пикселей, которые вводятся в интервалах времени S1 и S3, являются всего лишь данными 1/4 интерполированного изображения, те значения, которые вводятся, например, на интервале S4, являются данными трех изображений: 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения. Как было описано ранее, длина выдаваемых данных сильно изменяется в зависимости от интервала времени. Так, для изображений с интервалами времени, в течение которых данные не вводятся, значения некоторых пикселей, которые были введены самыми последними, выдаются с использованием интервалов времени так, что длина данных, которые выдаются в каждый интервал времени в настоящем примере осуществления, почти выравнивается.
На Фиг. 7 схематично показывается состояние, в котором соответствующие фрагменты данных строк пикселей многих изображений соединяются блоком синтеза изображений 156. На этом рисунке S0, S1, S2, S3, …, являются интервалами времени, которые аналогичны интервалам, которые показаны на Фиг. 6, и в каждый их период вводятся значения пикселей одной строки 1/4 интерполированного изображения. На этом рисунке в различных затененных прямоугольниках показывается для каждого из изображений строка пикселей, данные которых выдаются в каждом интервале времени. Как было объяснено со ссылками на Фиг. 6, на интервале времени S1 вводятся только значения пикселей строки пикселей L(1/4)1 первой строки 1/4 интерполированного изображения, поэтому блок синтеза изображений 156 выдает значения непосредственно этих пикселей. Если принять, что число пикселей исходного изображения RAW в горизонтальном направлении есть W, то число пикселей одной строки 1/4 интерполированного изображения равно, как показывается на этом рисунке, W/2.
На последующем интервале времени S2 параллельно вводятся в моменты времени, показанные на Фиг. 6, значения пикселей строки пикселей L(1/4)2 второй строки 1/4 интерполированного изображения и значения пикселей строки пикселей L(1/16)1 первой строки 1/16 интерполированного изображения. Из этих пиксельных значений блок синтеза изображений 156 временно хранит в буфере FIFO 149 значения пикселей строки пикселей первой строки L(1/16)1 1/16 интерполированного изображения и последовательно выдает сначала значения пикселей строки пикселей L(1/4)2 второй строки 1/4 интерполированного изображения.
По окончании выдачи всех пиксельных значений строки пикселей L(1/4)2 второй строки 1/4 интерполированного изображения, блок синтеза изображений 156 последовательно считывает из буфера FIFO 149 строку пикселей L(1/16)1 первой строки 1/16 интерполированного изображения и выдает строку пикселей L(1/16)1. В это время рассматривается часть значений пикселей, которая должна быть выдана в следующий интервал времени S3, и блок синтеза изображений 156 выдает только значения пикселей первой половины (левая половина в плоскости изображения) всех пикселей строки пикселей L(1/16)1 первой строки 1/16 интерполированного изображения, а оставшиеся значения пикселей продолжают храниться в буфере FIFO 149.
В последующем интервале времени S3 вводятся только значения пикселей строки пикселей L(1/4)3 третьей строки 1/4 интерполированного изображения. Блок синтеза изображений 156 непосредственно выдает значения пикселей строки пикселей, а вслед за этим блок синтеза изображений 156 считывает из оперативной памяти значения пикселей не выданной ранее оставшейся половины (правая половина в плоскости изображения) строки пикселей L(1/16)1 первой строки 1/16 интерполированного изображения и выдает эти значения пикселей.
В последующем интервале времени S4 параллельно вводятся в моменты времени, показанные на Фиг. 6, значения пикселей строки пикселей L(1/4)4 четвертой строки 1/4 интерполированного изображения и значения пикселей строки пикселей L(1/16)2 второй строки 1/16 интерполированного изображения и строки пикселей L(1/64)1 первой строки 1/64 интерполированного изображения. Из всех этих значений пикселей блок синтеза изображений 156 временно хранит в буферах FIFO 149 и 150 соответственно значения пикселей строки пикселей L(1/16)2 второй строки 1/16 интерполированного изображения и значения пикселей строки пикселей L(1/64)1 первой строки 1/64 интерполированного изображения, и вслед за этим первыми последовательно выдает значения пикселей строки пикселей L(1/4)4 четвертой строки 1/4 интерполированного изображения.
По окончании выдачи всех пиксельных значений строки пикселей L(1/4)4 четвертой строки 1/4 интерполированного изображения, блок синтеза изображений 156 последовательно считывает из буфера FIFO первую половину строки пикселей L(1/16)2 второй строки 1/16 интерполированного изображения и выдает первую половину строки пикселей L(1/16)2. Затем блок синтеза изображений 156 выдает строку пикселей L(1/64)1 первой строки 1/64 интерполированного изображения. В это время рассматривается часть значений пикселей, которая должна быть выдана в последующие три интервала времени S5, S6 и S7, блок синтеза изображений 156 разделяет строку пикселей L(1/64)1 первой строки 1/64 интерполированного изображения на четыре четверти и выдает значения пикселей только первой четверти, а оставшиеся три четверти блок синтеза изображений 156 хранит в буфере FIFO 150.
На последующем интервале времени S5 вводятся только значения пикселей строки пикселей L(1/4)5 пятой строки 1/4 интерполированного изображения. Блок синтеза изображений 156 непосредственно выдает значения пикселей этой строки пикселей, а затем блок синтеза изображений 156 считывает из буфера FIFO 149 значения пикселей последней, которая не была считана ранее, половины строки пикселей L(1/16)2 второй строки 1/16 интерполированного изображения и выдает эти значения пикселей. Далее блок синтеза изображений 156 выдает значения пикселей второй четверти данных строки пикселей L(1/64)1 первой строки 1/64 интерполированного изображения, которые не были выданы и которые были разделены на четыре четверти.
Аналогичным образом, в последующий интервал времени S6 блок синтеза изображений 156 выдает значения пикселей строки пикселей L(1/4)6 шестой строки 1/4 интерполированного изображения, значения пикселей первой половины строки пикселей L(1/16)3 третьей строки 1/16 интерполированного изображения и значения пикселей третьей четверти данных строки пикселей L(1/64)1 первой строки 1/64 интерполированного изображения, которые были разделены на четыре четверти и которые не были выданы ранее. В последующий интервал времени S7 блок синтеза изображений 156 выдает значения пикселей строки пикселей L(1/4)7 седьмой строки 1/4 интерполированного изображения, значения пикселей последней половины строки пикселей L(1/16)3 третьей строки 1/16 интерполированного изображения и значения пикселей последней четверти данных строки пикселей L(1/64)1 первой строки 1/64 интерполированного изображения, которые были разделены на четыре четверти.
Иными словами, строка пикселей L(1/16)1 первой строки 1/16 интерполированного изображения выдается по одной половине за два интервала времени S2 и S3. Строка пикселей L(1/16)1 первой строки 1/64 интерполированного изображения выдается по одной четверти за четыре интервала времени S4, S5, S6 и S7. Если значение пикселя изображения RAW в горизонтальном направлении задается равным W, то число пикселей одной горизонтальной строки 1/16 интерполированного изображения и число пикселей одной горизонтальной строки 1/64 интерполированного изображения составляет соответственно W/4 и W/8. Следовательно, как показано на этом рисунке, на каждый интервал времени выдаются соответственно данные (W/4)/2 пикселей и данные (W/8)/4 пикселей.
Описанные выше процессы выдачи повторяются до соответствующих строк самого нижнего уровня. В этом случае в момент времени, когда выдаются данные строки пикселей самого нижнего уровня 1/4 интерполированного изображения, данные последней половины строки пикселей самого нижнего уровня 1/16 интерполированного изображения и данные оставшихся трех четвертей пикселей строки самого нижнего уровня 1/64 интерполированного изображения уже не выдаются. Исходя из этого в интервале времени S(H/2+1), который следует непосредственно за этим, блок синтеза изображений 156 выдает данные последней половины строки пикселей самого нижнего уровня 1/16 интерполированного изображения и данные второй части строки пикселей самого нижнего уровня 1/16 интерполированного изображения, которая была разделена на четыре четверти.
В это время блок синтеза изображений 156 сначала выдает незначащие данные в качестве данных части пикселей W/2, для которых до этого момента были выданы данные 1/4 интерполированного изображения, а вслед за этим выдает данные 1/16 интерполированного изображения и данные 1/64 интерполированного изображения. В последующие два интервала времени, S(H/2+2) и S(H/2+3), блок синтеза изображений 156 сначала выдает незначащие данные в качестве данных части пикселей W/2+(W/4)/2, для которых до этого времени были выданы данные 1/4 интерполированного изображения и данные 1/16 интерполированного изображения, а затем выдает соответствующие данные третьей и четвертой четверти строки пикселей самого нижнего уровня 1/64 интерполированного изображения, которая была разделена на четыре четверти.
Как показывается на этом рисунке, данные пикселей [W/2+(W/4)/2+(W/8)/4=21W/32] выдаются все время, за исключением первых трех интервалов времени и последних трех интервалов времени, когда вывод данных проводится так, как было описано выше. Далее, поскольку для вывода значений пикселей одной строки требуется один интервал времени для 1/4 интерполированного изображения, два интервала времени для 1/16 интерполированного изображения и четыре интервала времени для 1/64 интерполированного изображения, то число интервалов времени, необходимых для вывода данных изображения целиком одного кадра, становится всегда одинаковым и определяется следующим: Н/2=(Н/4)*2=(Н/8)*4. В результате полное число интервалов времени, которое необходимо для выдачи данных трех изображений, представляющих один кадр, есть Н/2+3.
Как было описано выше, данные, которые выдаются блоком синтеза изображений 156, представляет собой некоторую строку значений пикселей, однако задав число пикселей, которое соответствует каждому интервалу времени, а именно, 21W/32, в качестве числа пикселей одной горизонтальной строки, блоком передачи изображений 151 получаются в качестве данных одной строки изображения данные, которые выдаются в каждом интервале времени, как и в случае изображения RAW и 1/1 интерполированного изображения.
Следовательно, можно установить соответствие между каждым интервалом времени и пикселями изображения в вертикальном направлении, и в результате становится возможным сгенерировать синтезированное изображение 220 подобное тому, что показано всей прямоугольной областью на Фиг. 7. Фиксацией диапазона, занимаемого данными каждого изображения в строке пикселей, которая выдается в каждом интервале времени, как описано выше, каждые данные 1/4 интерполированного изображения, данные 1/16 интерполированного изображения и данные 1/64 интерполированного изображения образуют в синтезированном изображении 220 область в виде прямоугольного блока. Исходя из этого, легко осуществляется сегментация данных каждого изображения, если только использовать такую локальность.
На Фиг. 8 показывается блок-схема, которая показывает конфигурацию процесса обработки запроса данных от главного терминала 20 и процесса передачи данных от камеры 100. На этом рисунке ссылочные цифры, идентичные ссылочным цифрам на Фиг. 3 и Фиг. 4, представляют идентичные функциональные блоки, и потому описание таких идентичных блоков частично опускается. Главный терминал 20 и камера 100 обмениваются различными данными через их соответствующие блоки связи, как было описано выше. Однако на данном рисунке такие соответствующие блоки связи не показаны. ЦП 50 главного терминала 20 состоит из блока запроса данных 64, блока обработки данных 66 и блока развертывания данных 68. Блок селекции данных 154 блока передачи изображений 151 камеры 100 имеет блок селекции потоков 166 и блок кадрирования 168.
Блок запроса данных 64 в ЦП 50 передает на камеру 100 сигнал запроса данных, который определяет изображение, подлежащее передаче, и область этого изображения. Изображение, определенное как изображение, которое требуется передать, является, например, или изображением RAW, или интерполированным изображением определенного размера. Область, определенная как область, которая подлежит передаче, специфицируется, например, верхними левыми координатами и шириной в горизонтальном и в вертикальном направлениях области в плоскости изображения. Кроме того, блок запроса данных 64 в ЦП 50 передает на камеру 100 сигнал запроса на начало или окончание съемки изображения, сигнал, который определяет условия съемки изображения и прочее. Условиями съемки изображения являются, например, частота кадров, выдержка затвора, баланс уровня белого, угол ракурса и прочее, и эти условия определяются на базе характеристик камеры 100, прикладной задачи, которая должна исполняться ЦП 50 и прочего.
Когда блок управления 164 блока передачи изображений 151 получает от блока данных запроса 64 сигнал запроса данных, то он предоставляет эту информацию блоку селекции данных 154. Когда блок управления 164 получает сигнал, запрашивающий начало или окончание съемки изображения, сигнал, определяющий условия съемки и прочее, то блок управления 164 надлежащим образом предоставляет эту информацию на блок получения изображений 102 камеры 100, однако подробное описание этих процессов опущено, поскольку здесь могут быть применены общепринятые технологии.
Блок селекции потоков 166 блока селекции данных 154 параллельно считывает потоки изображения RAW, 1/1 интерполированного изображения и данные синтезированного изображения соответственно из блока получения изображений 102, блока цветовой интерполяции 104 и блока синтеза изображений 156, и выбирает только те данные изображений, которые определены сигналом запроса данных, и таким образом выдает данные на блок кадрирования 168. Блок кадрирования 168 из всех данных пикселей, которые были введены, выделяет только те данные пикселей, которые входят в прямоугольную область, определенную сигналом запроса данных, и выдает выделенные данные на блок формирования пакетов 162.
Процесс, который выполняется блоком кадрирования 168, является тем же самым, что и процесс обычно проводимого кадрирования, когда ненужные данные удаляются вырезанием заданной прямоугольной области в изображении. В настоящем примере осуществления объектом обработки является не плоскость изображения, а единицы в виде строк пикселей. Однако, в случае предварительного предоставления информации о числе пикселей одной горизонтальной строки исходного изображения, двумерные координаты в плоскости изображения могут быть легко отображены на одномерные координаты в потоке, и тем самым спецификация пикселей, которые должны быть удалены, может быть осуществлена подобным же образом.
В настоящем примере осуществления, данные ј интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения представлены в прямоугольных областях на синтезированном изображении таком, что показано на Фиг. 7 и, таким образом, этим процессом кадрирования могут быть легко вырезаны три изображения. Например, в случае синтезированного изображения, которое показано на Фиг. 7, полная область 1/16 интерполированного изображения может быть вырезана, только если задана область, которая имеет верхнюю левую вершину с координатами (W/2,1), ширину (W/8) - в горизонтальном направлении и ширину Н/2 - в вертикальном направлении.
Блок селекции данных 154 повторяет описанные выше процессы, тем самым последовательно выдавая данные области в изображении, определенные сигналом запроса данных, в формате потока, в котором строки пикселей соединены. Потоки, принятые блоком формирования пакетов 162, собираются в пакеты каждого заранее заданного размера, базируясь на политике FIFO, а затем последовательно пересылаются на главный терминал 20.
Блок развертывания данных 68 главного терминала 20 развертывает пакеты, которые приняты от камеры 100, в виде изображения на плоскости в оперативной памяти 58, как показано на Фиг. 5. Блок обработки данных 66, используя развернутое изображение, выполняет процесс обработки в соответствии с исполняемой прикладной задачей. Если необходимо, то блок обработки данных 66 может запрашивать ГП 52 об исполнении процесса обработки изображения, и ГП 52 может считывать изображение из оперативной памяти 58 для обработки и синтеза изображения. Данные изображения, развернутые в оперативной памяти 58, являются теми же самыми, как и обычно используемые данные изображений, и таким образом могут также быть считаны в качестве текстуры.
Блок обработки данных 66 может анализировать изображение, развернутое в оперативной памяти 58, получать в результате анализа положение области лица или объекта слежения и предоставлять информацию об этой области блоку запроса данных 64. При этом блок запроса данных 64 может специфицировать эту область и передавать сигнал запроса новых данных на камеру 100. В этом случае, блок кадрирования 168 камеры 100 в момент обработки нового кадра изображения модифицирует область, которая должна быть выделена в соответствии со спецификацией выделяемой области.
На Фиг. 9 показывается пример изменения конфигурации блока передачи изображений. На этом рисунке одинаковые ссылочные цифры представляют блоки, которые являются такими же функциональными блоками, которые показаны на Фиг. 8, и потому описание идентичных блоков частично опускается. В этом примере на выходе блока передачи изображений 151 и на входе и на выходе блока связи 108 имеются несколько каналов. За счет наличия нескольких каналов могут быть параллельно выделены и параллельно переданы на главный терминал 20 соответствующие фрагменты данных различных изображений и различных областей.
В этом случае, число каналов особенно не ограничивается; однако на данном рисунке за счет образования трех каналов одновременно пересылаются три типа данных. Поэтому в блоке передачи изображений 151 имеется три блока селекции данных - первый блок селекции данных 154а, второй блок селекции данных 154b и третий блок селекции данных 154с, а также три блока формирования пакетов - первый блок формирования пакетов 162а, второй блок формирования пакетов 162b и третий блок формирования пакетов 162с. Первый блок селекции данных 154а, второй блок селекции данных 154b и третий блок селекции данных 154с последовательно подсоединены соответственно к первому блоку формирования пакетов 162а, второму блоку формирования пакетов 162b и третьему блоку формирования пакетов 162с, осуществляя тем самым селекцию, выделение и организацию в пакеты соответствующих фрагментов данных.
Следовательно, первый блок селекции данных 154а, второй блок селекции данных 154b и третий блок селекции данных 154с имеют соответственно группу из блока селекции потоков 166а и блока кадрирования 168а, группу из блока селекции потоков 168b и блока кадрирования 168b, и группу из блока селекции потоков 166с и блока кадрирования 166с. Блок управления 164 распределяет по одному на каждый из трех блоков селекции данных соответствующие фрагменты информации для (максимум) трех изображений, специфицированных данными сигнала запроса от главного терминала 20.
Здесь информация изображений и областей, распределяемая по различным каналам, может представлять изображения, полностью различающиеся между собой, или же может представлять различные области одного изображения. Процесс обработки, исполняемый каждой группой, состоящей из блока селекции данных и блока формирования пакетов, является тем же самым, что и процесс обработки, который исполняется блоком селекции данных 154 и блоком формирования пакетов 162, показанными на Фиг. 8. Пакеты этих трех потоков выдаются параллельно из блока передачи изображений 154, как было описано выше, и вводятся соответственно на три канала, то есть первый канал 172а, второй канал 172b и третий канал 172с, которые имеются в блоке связи 108, и параллельно передаются на главный терминал 20. Переданные фрагменты данных разворачиваются как отдельные изображения в оперативной памяти 58 главного терминала 20.
В соответствии с настоящим примером осуществления, описанным выше, в системе, содержащей камеру для съемки движений пользователя или прочего и главный терминал для воспроизведения изображений, используя эту камеру, снятые движущиеся изображения преобразуются внутри камеры в данные, которые имеют несколько уровней разрешения. Затем эти данные преобразуются в поток, в котором значения пикселей соединяются в растровом порядке пикселей для каждого типа и уровня разрешения изображений. Затем часть данных пересылается в соответствии с запросом от главного терминала так, чтобы сформировать изображение в памяти главного терминала. Как было описано выше, последовательным исполнением процессов над строками пикселей без развертывания внутри камеры данных в виде кадров изображений, объем памяти, который должен быть в камере, может быть сведен к минимуму. Кроме того, поскольку здесь не возникает необходимости ожидать, пока будут готовы все данные одного кадра к моменту передачи на главный терминал после съемки изображения, то система, как единое целое способна воспроизводить изображения, соответствующие движениям, при низком запаздывании.
Кроме того, в один поток могут быть включены данные изображения многих уровней разрешения соединением соответствующих фрагментов данных каждого значения пикселей одной строки. При этом та скорость, с которой генерируются "значения пикселей одной строки", изменяется в зависимости от уровня разрешения, поэтому в случае изображения с низким уровнем разрешения, данные которого генерируются с низкой скоростью, распределение проводится так, что данные встраиваются в поток равномерно даже во время периода, в который эти данные не генерируются. За счет этого объемы данных, которые должны быть обработаны и переданы в единицу времени, становятся приблизительно равными. Таким образом, становятся легкими оценка интервала времени, который проходит до выдачи результата, оценка требуемой ширины полосы пропускания и времени, необходимого для передачи, а также снижается возможность того, что полоса пропускания станет недостаточной из-за неожиданного увеличения объема данных.
Поскольку поток, генерируемый подобным образом, при обработке на последующих этапах может рассматриваться так же, как и поток, который состоит только из данных изображения с одним уровнем разрешения, то, по существу, поток становится таким же, как и поток, когда генерируется синтезированное изображение, которое состоит из изображений с многими уровнями разрешения. Итак, соединением соответствующих фрагментов данных, как описано выше, каждое изображение, являющееся объектом синтеза, образует прямоугольную область внутри синтезированного изображения, и поэтому заданием области внутри синтезированного изображения могут быть легко разделены соответствующие фрагменты данных многих изображений, которые совместно существуют в одном потоке, широко применяемым процессом обработки изображений, известным как кадрирование.
Далее, установив в камере несколько механизмов, которые осуществляют селекцию потоков, выделение части данных и формирование пакетов в соответствии с указаниями от главного терминала, могут параллельно передаваться несколько фрагментов данных, и тем самым может быть сокращено время передачи. Кроме того, поскольку каждый из механизмов ответственен за один поток, а пересылка на главный терминал проводится для каждого потока, то может быть устранена необходимость в процессе разделения данных на главном терминале.
Второй пример осуществления
В первом примере осуществления камера 100 создает данные движущихся изображений, имеющих несколько уровней разрешения, из видеоизображения, которое было снято, и пересылает на главный терминал 20 в реальном времени только необходимую часть данных, в соответствии с запросом от главного терминала 20. А в настоящем примере осуществления, создается также изображение разности движений между кадрами, которое и становится объектом запроса от главного терминала 20. Кроме того, в камере 100 анализируется каждое изображение, а результат анализа добавляется к данным изображения, которые пересылаются на главный терминал 20 в качестве метаданных.
Настоящий пример осуществления может быть реализован системой, подобной системе камеры с низким запаздыванием 10, представленной на Фиг. 1. Главный терминал 20 имеет конфигурацию, подобную конфигурации, показанной на Фиг. 4. Объяснения, приведенные далее, будут фокусироваться, в основном, на моментах различия с первым примером осуществления, а объяснения, касающихся тех же самых, что и в первом примере осуществления, моментов, будут опущены.
На Фиг. 10 показывается конфигурация камеры, в соответствии с настоящим примером осуществления. Как и в случае камеры 100, в соответствии с первым примером осуществления, камера 100а состоит из блока получения изображений 102, блока цветовой интерполяции 104, блока пирамидального фильтра 170, блока синтеза изображений 156, блока передачи изображений 151а и блока связи 108. Камера 100а содержит также блок генерации разностного изображения 174 и блок анализа изображений 176.
Блок получения изображений 102, блок цветовой интерполяции 104 и блок пирамидального фильтра 170 работают точно так же, как и соответствующие функциональные блоки, в соответствии с первым примером осуществления. Блок генерации разностного изображения 174 создает разность изображений между изображением, имеющим заранее заданное разрешение, которое выдается блоком пирамидального фильтра 170, и изображением другого кадра, имеющего то же самое разрешение, которое было у выданного перед этим изображением. Поэтому блок генерации разностного изображения 174 имеет оперативную память (не показана), в которой временно хранятся данные изображения одного кадра.
Блок генерации разностного изображения 174 получает разность между значением пикселя, которое перед этим выдано из блока пирамидального фильтра 170, и величиной соответствующего пикселя предыдущего кадра, которое хранится в оперативной памяти, и выдает полученный результат на блок синтеза изображений 156 в качестве величины пикселя разностного изображения. Исполнение этого процесса также проводится в растровом порядке. Таким образом, выдаваемые данные находятся в потоке, как и в случае других изображений.
Часто вовсе не требуется, чтобы разностное изображение имело бы высокое разрешение, что зависит от цели, с которой используется разностное изображение главным терминалом 20, такой, например, как вычисление грубой оценки области с движением. Поэтому, блок генерации разностного изображения 174 образует разностное изображение из изображения, имеющего самый низший уровень разрешения, которое генерируется блоком пирамидального фильтра 170, так что разностное изображение становится объектом синтеза блоком синтеза изображений 156. Как только разностное изображение становится частью синтезированного изображения, данные разностного изображения могут быть переданы на главный терминал 20, где блок передачи изображений 151а и блок связи 108 работают точно так же, как было описано в первом примере осуществления.
Блок анализа изображений 176 осуществляет заранее заданный анализ изображения, имеющего заданное разрешение, которое выдается блоком пирамидального фильтра 170, и передает результат анализа на блок передачи изображений 151а. На данном рисунке блоком генерации разностного изображения 174 и блоком анализа изображений 176 должно быть обработано изображение, которое имеет одно и то же разрешение. Однако, настоящий пример осуществления не ограничен этим, и может осуществляться независимая обработка изображений с различным разрешением.
Что касается анализа изображений, осуществляемого блоком анализа изображений 176, то это - процесс обнаружения лица, слежение за объектом, имеющим определенную форму и прочее. Следовательно, результатом анализа, который пересылается на блок передачи изображений 151а, является, например, информация о положении и размере области лица или области объекта, величина оценки, показывающая точность обнаружения/слежения и прочее. В соответствии с исполняемой прикладной задачей, камера 100 предварительно получает от главного терминала 20 уведомление об условиях анализа, таких как тип анализа, который должен быть проведен, и информация о форме объекта, например, на момент запуска исполнения этой прикладной задачи.
Блок формирования пакетов 162 (показан на Фиг. 3) блока передачи изображений 151а вставляет результат анализа изображения, проведенного блоком анализа изображений 176, в качестве метаданных, непосредственно сразу же за потоком одного кадра данных изображения, передаваемого на главный терминал 20, или же вставляет в заранее заданную позицию в потоке одного кадра. Затем, блок формирования пакетов 162 формирует пакет определенного размера, как и в случае, когда анализ изображения не проводится.
В этом случае главный терминал 20 разворачивает часть данных изображения, переданных из камеры 100, в оперативной памяти, в виде изображения, и использует метаданные в процессе, например, синтеза или обработки этого изображения. Используя метаданные, главный терминал 20 может переопределить данные, которые должны быть запрошены от камеры 100 и которые относятся к последующим кадрам. Различие между данными изображения и метаданными может быть сделано предварительным определением области, в которую добавляются метаданные на плоскости изображения, если принимается, что все полученные потоки представляют некоторое изображение, или может быть сделано добавлением к самим метаданным информации идентификации метаданных.
В настоящем примере осуществления, как блок генерации разностного изображения 174, так и блок генерации изображений 176 установлены в камере 100, однако в ней может быть установлен только какой-нибудь один из этих блоков. Кроме того, информация, добавляемая в качестве метаданных, может быть не результатом анализа изображения, а может быть, например, отметкой момента времени, когда было получено исходное изображение RAW. В этом случае необходимо, чтобы информация об отметке момента времени, сгенерированная блоком получения изображений 102 для каждого кадра, была получена непосредственно блоком передачи изображений 151а, а затем введена в поток, как и в описанном выше случае.
В соответствии с настоящим примером осуществления, описанным выше, внутри камеры, дополнительно к конфигурации, в соответствии с первым примером осуществления, имеется механизм для генерации разностного изображения. В режиме, когда с использованием разностного изображения обнаруживается область, в которой имеется движение, то для реализации этой функции во многих случаях достаточно изображения с низким уровнем разрешения, поэтому сгенерированное разностное изображение может, например, включаться в синтезированное изображение, когда объектом обработки является изображение с самым низким уровнем разрешения. Благодаря этому, дополнительно к преимуществам, описанным в первом примере осуществления, обнаружение может быть легко проведено процессом кадрирования также и разностного изображения. В результате, даже в случае, когда требуется обнаружение области, в которой имеется движение, можно свести к минимуму процесс обработки, который должен исполняться главным терминалом.
Кроме того, внутри камеры имеется механизм для обнаружения области лица или слежения за объектом, имеющим заданную форму, а результат анализа вводится в виде метаданных в поток данных изображения в единицах кадров. В результате, например, даже в случае, когда требуется обрабатывать область лица или область объекта, или когда требуется получение подробной информации об области, можно свести к минимуму процессы обработки, которые должны исполняться главным терминалом.
Третий пример осуществления
В настоящем примере осуществления, камера 100 системы камеры с низким запаздыванием 10, показанной на Фиг. 1, образуется стереокамерой, которая содержит пару камер для съемки одного и того же объекта с правой и с левой точки обзора. В стереокамере проводится согласование стереопар с использованием соответствующих кадров двух движущихся изображений, снятых справа и слева, с тем чтобы генерировать изображение глубины, которое показывает положение объекта в направлении по глубине. Как и в случае других изображений, это изображение глубины пересылается, в случае необходимости, в соответствии с запросом от главного терминала 20. Главный терминал 20 может иметь ту же самую конфигурацию, которая была описана в первом примере осуществления. Объяснения, приведенные далее, будут фокусироваться, в основном, на моментах различия с первым и вторым примерами осуществления, а объяснения, касающихся тех же самых, что и в первом и втором примерах осуществления, моментах, будут опущены.
На Фиг. 11 показывается конфигурация камеры, в соответствии с настоящим примером осуществления. Стереокамера 100b содержит первую камеру 190а, вторую камеру 190b, блок согласования стереопар 192, блок передачи изображений 15lb и блок связи 108. Первая камера 190а и вторая камера 190b имеют почти ту же самую конфигурацию, что и конфигурация камеры 100, показанной в первом примере осуществления, и конфигурация камеры 100а, показанной во втором примере осуществления. Блок передачи изображений 151b и блок связи 108 совместно используются первой камерой 190а, второй камерой 190b и блоком согласования стереопар 192.
Первая камера 190а имеет блок получения изображений 102а, блок цветовой интерполяции 104а, блок пирамидального фильтра 170а, блок синтеза изображений 156а и блок анализа изображений 176а. Аналогично, вторая камера 190b имеет блок получения изображений 102b, блок цветовой интерполяции 104b, блок пирамидального фильтра 170b, блок синтеза изображений 156b и блок анализа изображений 176b. Элементы формирования изображений, имеющиеся в блоке получения изображений 102а, и элементы формирования изображений, имеющиеся в блоке получения изображений 102b, снимают изображение одного и того же объекта соответственно с правой и левой точки обзора. Аппаратная конфигурация элементов формирования изображений может быть той же самой, что и в обычной стереокамере.
Далее, упомянутые выше функциональные блоки, которые имеют первая камера 190а и вторая камера 190b, работают точно так же, как соответствующие функциональные блоки, описанные в первом и втором примерах осуществления. Блок согласования стереопар 192 получает с определенной частотой один из кадров правого движущегося изображения, имеющего заранее заданное разрешение, от блока цветовой интерполяции 104а или блока пирамидального фильтра 170а первой камеры 190а, и еще один из кадров - от блока цветовой интерполяции 104b или блока пирамидального фильтра 170b второй камеры 190b.
Затем блок согласования стереопар 192 осуществляет стереоскопическое согласование, используя правые и левые изображения, полученные в один и тот же момент времени, и формирует изображение глубины. Изображение глубины представляет собой изображение, значения пикселей которых в плоскости изображения являются значениями, которые показывают положение объекта в трехмерном пространстве. Для реализации проводимого процесса стереоскопического согласования может быть использован любой из многих алгоритмов, которые были к настоящему времени предложены. Например, может быть использован алгоритм корреляции областей, где соответствующие точки получаются заданием окна корреляции для одного из правого и левого изображений и вычислением коэффициентов их взаимной корреляции с изображением в окне корреляции, перемещая при этом окно поиска другого изображения, для получения информации о трехмерном положении, используя принцип триангуляции, который базируется на параллаксе между этими соответствующими точками.
В другом случае, соответствующие фрагменты данных правого и левого изображений, которые были введены, построчно обрабатываются для определения значений пикселей изображения глубины в растровом порядке, и эти значения пикселей последовательно выдаются на блок передачи изображений 151b. Наряду с фрагментами данных изображения глубины, блок передачи изображений 151b получает от первой камеры 190а и второй камеры 190b соответствующие фрагменты данных правого и левого изображений RAW, 1/1 интерполированные изображения и синтезированные изображения.
От блока анализа изображений 176а первой камеры 190а и от блока анализа изображений 176b второй камеры 190b блок передачи изображений 151b принимает результаты анализа изображений, точно так же, как было объяснено во втором примере осуществления. Как и в случае, рассмотренном в первом примере осуществления, блок передачи изображений 151b выбирает данные, затребованные главным терминалом 20, и выделяет, а затем, как и необходимо, преобразует в пакет только данные запроса. В это время, как было рассмотрено во втором примере осуществления, блок передачи изображений 151b вставляет результат анализа изображения, получаемый от блоков анализа изображений 176а и 176b, в качестве метаданных, в соответствии с запросом от главного терминала 20.
Процесс обработки, который исполняет блок связи 108, является тем же самым, что был рассмотрен до сих пор. На рисунке (Фиг. 11) выходы блока передачи изображений 151b и входы, и выходы блока связи 108 показаны в виде одной стрелки, однако, как показывается на Фиг. 9, может быть образовано несколько каналов, так что тем самым будут параллельно передаваться несколько фрагментов данных.
Далее будет описан пример работы системы камеры с низким запаздыванием 10, которая может быть реализована описанной выше конфигурацией. Пример работы, который здесь показан, может быть реализован, в основном, системой, содержащей стереокамеру 100b, как было объяснено в третьем примере осуществления, однако могут быть и надлежащим образом скомбинированы конфигурации, описанные в первом и во втором примерах осуществления.
На Фиг. 12 представлена блок-схема, показывающая пример процедур обработки изображений, осуществляемой совместно главным терминалом 20 и стереокамерой 100b, и представлены примеры создаваемых при этом изображений. Блок-схемы, показанные на Фиг. 12-14, начинаются с того, что пользователь вводит в главный терминал 20 команду запуска прикладной задачи. Для упрощения понимания, этапы блок-схемы показаны последовательно соединенными соответствующими прямоугольниками, однако принимается, что эти этапы исполняются периодически и параллельно для каждой строки пикселей и для каждого кадра в течение периода, когда снимается движущееся изображение.
Главный терминал 20 сначала определяет начальные условия и необходимые данные, которые задаются, например, для прикладной программы, и выдает на стереокамеру 100b команду на запуск съемки изображений и запрос на передачу данных (S10). Начальные условия включают соответствующие уровни разрешения и частоту кадров движущихся изображений, снятых двумя камерами стереокамеры 100b, уровень разрешения и частоту кадров изображений, для которых блок согласования стереопар 192 исполняет стереоскопическое согласование, информацию о форме объекта слежения, и прочее. Далее, что касается уровней разрешения движущегося изображения и частоты кадров, с которой ведется съемка камерой, то может изменяться задание условий экспозиции элементами формирования изображений, а также разрешение и частота кадров может изменяться осуществлением настройки, такой как прореживание данных из элементов формирования изображений на последующем каскаде.
В этом случае начальные условия задаются, например, следующим образом:
Первая камера: разрешение 1280*720, частота кадров 60 кадров/с.
Вторая камера: разрешение 1280*720, частота кадров 60 кадров/с.
Согласование стереопар: разрешение 1280*720, частота кадров 60 кадров/с.
Как было описано выше, при задании необходимых данных, помимо типа изображения, уровня разрешения, области внутри изображения, могут быть также определены и метаданные. В этом случае определяются, например, три фрагмента данных следующим образом:
Данные 1: (левое изображение, YUV422: 16 бит, 0, 0, 1280, 720).
Данные 2: (левое синтезированное изображение, YUV422: 16 бит, 0, 0, 850, 367, область лица, область объекта, отметка времени).
Данные 3: (изображение глубины, Z: 16 бит, 0, 0, 1280, 720).
Данные 1 представляют область, верхними левыми координатами которой являются (0, 0) со значениями по ширине (1280, 720) в горизонтальном и вертикальном направлениях в 1/1 интерполированном изображении (YUV422: 16 бит) изображения, которое снято левой камерой стереокамеры 100b. Если принять во внимание уровень разрешения, который был определен упомянутыми начальными условиями, то понятно, что эта область является всей областью снятого изображения.
Данные 2 представляют область, верхними левыми координатами которой являются (0, 0) со значениями по ширине (850, 357) в горизонтальном и вертикальном направлениях в синтезированном изображении (YUV422: 16 бит) изображения, которое снято левой камерой. Принимается, что синтезированные изображения в примерах, показанных на Фиг. 12-14, включают разностное изображение, полученное как результат определения межкадровой разности 1/256 интерполированного изображения с 1/4 интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения, показанных на Фиг. 7. Это разностное изображение добавляется по обычным правилам к правому краю синтезированного изображения, показанного на Фиг. 7, в качестве области изображения (W/16)/8*H/2.
Область, определенная данными 2, является полной областью этого синтезированного изображения. В данных 2 определяются также область лица, полученная как результат исполнения процесса обнаружения лица, область объекта, полученная как результат исполнения процесса слежения, и отметка времени в момент съемки исходного изображения на синтезированном изображении, которые добавляются к синтезированному изображению в качестве метаданных. Данные 3 представляют область, верхними левыми координатами которой являются (0, 0) с размерами по ширине (1289, 720) в горизонтальном и вертикальном направлениях в изображении глубины (пиксели которого представлены информацией положения 16 битов в направлении по глубине), генерируемом блоком согласования стереопар 192. Эта область также является полной областью.
При получении спецификации начальных условий и запроса на данные первая камера 190а и вторая камера 190b стереокамеры 100b начинают съемку движущегося изображения при этих начальных условиях (S12). Когда первая камера 190а, вторая камера 190b и блок согласования стереопар 192 исполняют процессы, как было описано выше, используя кадр изображения, который был снят, то генерируются соответствующие фрагменты данных левого изображения RAW и 1/1 интерполированного изображения 230, левого синтезированного изображения 232, изображения глубины 234, правого изображения RAW и 1/1 интерполированного изображения 236 и левого синтезированного изображения 238 (S14).
На рисунке показываются полные области каждого из этих изображений. Действительные фрагменты данных изображений последовательно вводятся в блок передачи изображений 151b в виде потоков значений пикселей. На Фиг. 13 и Фиг. 14 представлено то же самое. Затем блок передачи изображений 151b выбирает и выделяет только те данные, которые были определены в S10, генерирует передаваемые данные формированием пакета данных и пересылает в виде пакета эти передаваемые данные (S16).
Главный терминал 20, который получил эти данные, разворачивает изображения в оперативной памяти 58. В результате этого в оперативной памяти 58 будут находиться полная область 240 1/1 интерполированного изображения, полная область 242 1/4 интерполированного изображения, полная область 244 1/16 интерполированного изображения, полная область 246 1/64 интерполированного изображения, разностное изображение 248 1/256 интерполированного изображения, метаданные 250, содержащие область лица, область объекта и отметку времени, и изображение глубины 252.
ЦП 50 и ГП 52 главного терминала 20, используя эти фрагменты данных, генерирует изображение, которое должно быть воспроизведено, и воспроизводит это изображение на дисплее 4 (S18, S20). Например, ЦП 50 и ГП 52 обнаруживают из разностного изображения 248 область с движением и запрашивают от изображения глубины 252 информацию глубины объекта в данной области. ЦП 50 и ГП 52 распознают жест пользователя, который является объектом распознавания, продолжая для этого процедуры обработки по нескольким кадрам. Затем ЦП 50 и ГП 52 воспроизводят изображение, полученное исполнением заранее заданного в соответствии с жестом процесса, на области лица или другой области на полной области 240 1/1 интерполированного изображения.
В приведенном примере осуществления, полный объем данных, переданных от стереокамеры 100b на главный терминал 20 в единицу времени составляет 2.1 Гбит/с, что видно из следующего:
Данные 1: (1280*720 пикселей) * (60 кадров/с) * (16 бит) = 885 Мбит/с;.
Данные 2: (850*370 пикселей) * (60 кадров/с) * (16 бит) = 300 Мбит/с;
Данные 3: (1280*720 пикселей) * (60 кадров/с) * (16 бит) = 885 Мбит/с.
На Фиг. 13 иллюстрируется блок-схема, которая показывает другой пример процедуры обработки изображения, совместно исполняемой главным терминалом 20 и стереокамерой 100b, и показываются примеры тех изображений, которые при этом создаются. Как и в случае Фиг. 12, главный терминал 20 устанавливает начальные условия и необходимые данные, а также выдает команду на стереокамеру 100b на запуск съемки изображений и запрос на передачу данных (S22).
В этом примере принимается, что начальные условия являются тем же самыми, что и начальные условия в примере, представленном на Фиг. 12. В качестве необходимых данных определяется один фрагмент данных следующим образом.
Данные 1: (левое синтезированное изображение, YUV422: 16 бит, 0, 0, 850, 367, область лица, область объекта, отметка времени).
Эти данные являются тем же самыми, что и данные 2 в примере, который представлен на Фиг. 12.
При получении спецификации начальных условий и запроса на данные первая камера 190а и вторая камера 190b стереокамеры 100b начинают съемку движущегося изображения при этих начальных условиях (S24). Первая камера 190а, вторая камера 190b, блок согласования стереопар 192 генерируют фрагмент данных изображения (S26). Данные изображения, образованные в это время, являются теми же самыми, что и данные изображения, которые образованы в блоке S14, показанном на Фиг. 12.
Затем блок передачи изображений 151b выбирает и выделяет только те данные, которые были определены в блоке S22, генерирует передаваемые данные формированием пакета данных и пересылает в виде пакета эти передаваемые данные (S28). Главный терминал 20, который получил эти данные, разворачивает изображение в оперативной памяти 58. В результате, в оперативной памяти 58 будут находиться полная область 240 1/1 интерполированного изображения, полная область 242 ј интерполированного изображения, полная область 244 1/16 интерполированного изображения, полная область 246 1/64 интерполированного изображения, разностное изображение 248 1/256 интерполированного изображения, метаданные 250, содержащие область лица, область объекта и отметку времени.
ЦП 50 главного терминала 20 определяет как область интереса область с движением, специфицированную из разностного изображения 248, или область заранее заданного диапазона, включающую область лица или область объекта, содержащегося в метаданных 250 (S30). Затем ЦП 50 специфицирует область интереса и заново делает запрос на данные (S32). В этом случае задаются, например, следующим образом два фрагмента данных.
Данные 2: (левое изображение, RAW: 16 бит, Fx, Fy, Fw, Fh)
Данные 3: (изображение глубины, RAW: 8 бит, Нх, Ну, Hw, Hh).
Данные 2 представляют область, верхними левыми координатами которой являются (Fx, Fy) с величиной по ширине (Fw, Fh), которая определяется как область интереса, содержащая область лица, в горизонтальном и вертикальном направлениях в изображении RAW (16 бит), снятом левой камерой стереокамеры 100b. Данные 3 представляют область, верхними левыми координатами которой являются (Нх, Ну) с величиной по ширине (Hw, Hh), которая определяется как область интереса, содержащая область объекта, в горизонтальном и вертикальном направлениях в изображении глубины (пиксели которого представляются информацией положения 8 битов в направлении глубины), сгенерированном блоком согласования стереопар 192.
Блок передачи изображений 151b стереокамеры 100b выделяет соответствующие фрагменты данных специфицированных областей изображения RAW и изображения глубины в момент времени, когда вводится новый кадр каждого из этих изображений, генерирует передаваемые данные формированием пакета соответствующих фрагментов данных и пересылает в виде пакета эти передаваемые данные (S34). Главный терминал 20, который получил эти данные, разворачивает изображения в оперативной памяти 58, в результате чего в оперативной памяти 58 хранится изображение RAW области, содержащей лицо, и изображение глубины 256 области, содержащей объект.
ЦП 50 и ГП 52 главного терминала 20, используя эти фрагменты данных, генерирует воспроизводимое изображение и воспроизводит это изображение на дисплее 4 (S36, S38). Например, синтезировав изображение RAW 254 области, содержащей лицо, и имея при этом в качестве заднего плана ј интерполированное изображение, ЦП 59 и ГП 52 воспроизводят изображение, в котором ясно видна только область лица, показывающая, например, изменение выражения лица, что обеспечивает уменьшение объема данных. Далее, ЦП 50 и ГП 52 могут запросить из изображения глубины 256 информацию глубины объекта, распознать жест пользователя и исполнить заранее заданный процесс в соответствии с распознанным жестом.
Повторением процессов в блоках S30-S38, даже при движениях лица и объекта могут быть постоянно и без каких-либо излишних потерь получаться и воспроизводиться на дисплее данные, относящиеся к движениям. В результате, может быть уменьшен объем данных, которые должны передаваться от стереокамеры 100b на главный терминал 20.
Если в приведенном выше описании спецификации данных принять, что (Fw, Fh) есть (400, 600), и что (Hw, Hh) есть (320, 450), то объем данных, передаваемых от стереокамеры 100b на главный терминал 20 в единицу времени в данном примере осуществления составляет в сумме 600 Мбит/с, как видно из следующего.
Данные 1: (850*370 пикселей) * (60 кадров/с) * (16 бит) = 300 Мбит/с;
Данные 2: (400*600 пикселей) * (60 кадров/с) * (16 бит) = 230 Мбит/с;
Данные 3: (320*450 пикселей) * (60 кадров/с) * (8 бит) = 70 Мбит/с.
На Фиг. 14 иллюстрируется блок-схема, которая показывает другой пример процедуры обработки изображения, совместно исполняемой главным терминалом 20 и стереокамерой 100b, и показываются примеры тех изображений, которые при этом создаются. Как и в случае Фиг. 12, главный терминал 20 специфицирует начальные условия и необходимые данные, а также выдает команду на стереокамеру 100b на запуск съемки изображений и запрос на передачу данных (S40).
В этом примере начальные условия определяются следующим образом.
Первая камера: разрешение - 1280*720, частота кадров - 30 кадров/с;
Вторая камера: разрешение - 1280*720, частота кадров - 15 кадров/с;
Согласование стереопар: разрешение - 320*180, частота кадров - 15 кадров/с.
Необходимые данные определяются следующим образом.
Данные 1: (левое синтезированное изображение, Y (разность движений); 8 бит, 840, 8, 10, 360, отметка времени);
Данные 2: (левое синтезированное изображение, YUV422: 16 бит, 800, 0, 4, 40, 360, область лица, отметка времени);
Данные 3: (изображение глубины, Z: 8 бит, 20, 15, 280, 150, отметка времени).
Данные 1 представляют область разностного изображения в изображении Y, то есть, область, верхними левыми координатами которой являются (840, 8) с величиной по ширине (10, 360) в горизонтальном и вертикальном направлениях синтезированного изображения, снятого левой камерой изображения. Далее, в данных 1 определяется отметка времени в момент съемки исходного изображения, которая добавляется в качестве метаданных.
Данные 2 представляют область, верхними левыми координатами которой являются (800, 4) с величиной по ширине (40, 360) в горизонтальном и вертикальном направлениях в синтезированном изображении (YUV422: 16 бит) изображения, снятого левой камерой, то есть, область 1/64 интерполированного изображения. Кроме того, в данных 2 определяется область лица, полученная в результате исполнения процесса обнаружения лица, и отметка времени в момент съемки исходного изображения, которые добавляются в качестве метаданных. Информация области изображений, включенных в синтезированное изображение, которое определяется данными 1 и данными 2, может быть определена в соответствии с правилом размещения, показанным на Фиг. 7.
Данные 3 представляют область, верхними левыми координатами которой являются (20, 15) с величиной по ширине (280, 150) в горизонтальном и вертикальном направлениях в изображении глубины (пиксели которого представлены информацией положения 8 битов в направлении глубины), сгенерированном блоком согласования стереопар 192. Это есть область, полученная отсечением самого верхнего края и самого нижнего края изображения глубины, каждое отсечение величиной в 15 пикселей, и отсечением самого левого края и самого правого края, каждое отсечение величиной в 20 пикселей. Эта область рассматривается как та область, которая имеет смысл информации глубины. Таким образом, также может быть уменьшен объем данных. Кроме того, в данных 3 определяется и добавляется в качестве метаданных отметка времени момента съемки исходного изображения.
При получении спецификации начальных условий и запроса на данные первая камера 190а и вторая камера 190b стереокамеры 100b начинают съемку движущегося изображения при этих начальных условиях (S42). Первая камера 190а, вторая камера 190b и блок согласования стереопар 192 генерируют данные изображений (S44). Изображения, получаемые в этом случае, являются простыми по сравнению с примерами, показанными на Фиг. 12 и Фиг. 13, в терминах размера изображения, цветового пространства, частоты кадров и прочего.
Затем блок передачи изображений 151b выбирает и выделяет только те данные, которые были определены в блоке S40, генерирует передаваемые данные формированием пакета данных и пересылает в виде пакета эти передаваемые данные (S46). Главный терминал 20, который получил эти данные, разворачивает изображения в оперативной памяти 58. В результате, в оперативной памяти 58 будут находиться разностное изображение 260 1/256 интерполированного изображения, отметка времени 262 самого исходного изображения, полная область 260 1/64 интерполированного изображения, метаданные 266, содержащие область лица и отметку времени, изображение глубины, периферия которого была отсечена, и отметку времени 270 самого исходного изображения.
ЦП 50 и ГП 52 главного терминала 20, используя эти фрагменты данных, генерируют изображение, которое должно быть воспроизведено, и воспроизводит изображение на дисплее 4 (S48, S50). Например, ЦП 50 и ГП 52 обнаруживают из разностного изображения 260 область с движением, и получают из изображения глубины 268 информацию глубины объекта в этой области. Это позволяет ЦП 59 и ГП 52 распознать жест пользователя, который является объектом съемки, а затем воспроизвести изображение, полученное после выполнения заданного процесса обработки в соответствии с этим жестом, например, на области лица, полученной из метаданных 265, в полной области 260 1/64 интерполированного изображения.
В этом примере снижением частоты кадров или передачей только изображения, имеющего низкий уровень разрешения, снижается объем потребляемых ресурсов, включая полосу пропускания при передаче, при сохранении всей целиком области, как объекта передачи и обработки. Поскольку область передается вся целиком, то опускается адаптивный этап спецификации области, показанный на Фиг. 13. Даже когда в трех фрагментах пересылаемых данных объемы данных отдельных кадров различны, так что отдельные кадры поступают на главный терминал 20 в различные моменты времени, зависящие от фрагментов данных, может быть легко идентифицирована зависимость между фрагментами данных посредством добавления в каждый кадр отметки времени в момент съемки исходного изображения.
Объем данных, передаваемых от стереокамеры 100b на главный терминал 20 в единицу времени, в данном примере осуществления составляет в сумме 9.5 Мбит/с, как видно из следующего:
данные 1: (10*360 пикселей) * (30 кадров/с) * (8 бит) = 864 кбит/с;
данные 2: (160*90 пикселей) * (15 кадров/с) * (16 бит) = 3.5 Мбит/с;
данные 3: (280*150 пикселей) * (15 кадров/с) * (8 бит) = 5 Мбит/с.
В соответствии с настоящим примером осуществления, описанным выше, особенности, имеющиеся в первом и втором примерах осуществления, применимы к стереокамере. Далее, в стереокамере имеется механизм выполнения согласования стереопар. В этом случае данные, специфицированные главным терминалом, могут быть переданы с низким запаздыванием при наличии самых разнообразных данных, таких как изображение RAW, создаваемое каждой камерой, 1/1 интерполированное изображение, синтезированное изображение и изображение глубины, полученное в результате согласования стереопар, информация области лица, полученная в результате исполнения процесса обнаружения лица, информация области объекта, полученная в результате исполнения процесса слежения. Следовательно, снижается объем вычислений на главном терминале, и таким синергетическим действием, совместно с повышением эффективности передачи данных от камеры, становится возможным воспроизведение с низким запаздыванием изображений, которые сопровождают движения субъекта.
Выше было представлено объяснение настоящего изобретения на примерах его осуществления. Приведенные примеры осуществления являются только иллюстративными, и специалистам в этой области техники будет очевидно, что могут быть разработаны различные модификации составляющих элементов и процессов, и все такие модификации также входят в объем настоящего изобретения.
Объяснение ссылочных цифр
4 - дисплей, 10 - система камеры с низким запаздыванием; 20 - главный терминал; 50 - ЦП; 52 - ГП; 58 - оперативная память; 60 - блок связи; 64 - блок запроса данных; 66 - блок обработки данных; 68 - блок развертывания данных; 100 - камера; 104 - блок цветовой интерполяции; 108 - блок связи; 149 - буфер FIFO; 151 - блок передачи изображений; 156 - блок синтеза изображений; 154 - блок селекции данных; 162 - блок формирования пакетов; 164 - блок управления; 166 - блок селекции потоков; 168 - блок кадрирования; 170 - блок пирамидального фильтра; 172а - первый канал; 172b - второй канал; 172с - третий канал; 174 - блок формирования разностного изображения; 176 - блок анализа изображений; 190а - первая камера; 190b - вторая камера; 192 - блок согласования стереопар.
Возможность промышленного применения
Как было описано выше, настоящее изобретение применимо к устройствам обработки информации, таким как компьютеры, цифровые камеры, игровые устройства и устройства воспроизведения изображений.
Изобретение относится к устройствам захвата и обработки изображений. Техническим результатом является обеспечение обработки изображений, которая при использовании высококачественных элементов формирования изображений обеспечивает уменьшение запаздывания от момента съемки изображения до момента воспроизведения изображения, используя данные этого изображения. Блок синтеза изображений (156) камеры получает соответствующие значения пикселей одной строки j интерполированного изображения, 1/16 интерполированного изображения и 1/64 интерполированного изображения от пирамидального фильтра, имеющегося в предшествующем каскаде и используемого для уменьшения за несколько этапов кадра снятого движущегося изображения. Затем блок синтеза изображений (156) соединяет полученные значения пикселей по заданному правилу так, что создает виртуальное синтезированное изображение, и выдает это созданное синтезированное изображение в виде потоков. Блок управления (164) блока передачи изображений (151) уведомляет блок селекции данных (154) о запросе от главного терминала. Блок селекции данных (154) выбирает и выделяет необходимые данные из потоков данных синтезированного изображения, изображение RAW и 1/1 интерполированное изображение, которые соответственно выводятся из блока синтеза изображений (156), блока получения изображений и блока цветовой интерполяции, имеющихся в предшествующем этапе, и генерирует поток данных, подлежащий передаче. Блок формирования пакетов (162) преобразует поток в пакеты и пересылает поток в форме пакетов на главный терминал. 6 н. и 7 з.п. ф-лы, 14 ил.
1. Устройство съемки движущегося изображения, содержащее:
блок генерации данных изображений, который последовательно генерирует соответствующие фрагменты данных многих изображений, каждое из которых имеет различные уровни разрешения посредством многокаскадного понижения в заданном порядке числа пикселей каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдает эти фрагменты данных в форме потоков;
блок синтеза изображений, который, соединяя в каждой строке пикселей одной горизонтальной строки пикселей изображения или в каждой строке пикселей меньшего диапазона соответствующие фрагменты данных многих заданных изображений из соответствующих фрагментов данных упомянутых многих изображений, выдаваемых из упомянутого блока генерации данных изображений, и выдавая затем соответствующие фрагменты данных упомянутых многих заданных изображений в форме потоков, генерирует виртуальные синтезированные изображения, содержащие упомянутые многие заданные изображения; и
блок передачи изображений, который получает запрос на передачу данных от главного терминала, к которому он подсоединен, генерирует поток данных, которые должны быть переданы, выделением данных пикселей, входящих в изображение, и области, которые запрашиваются, из многих потоков, которые выдаются из упомянутого блока генерации данных изображений и упомянутого блока синтеза изображений, и пересылает поток данных на упомянутый главный терминал.
2. Устройство съемки движущихся изображений в соответствии с п. 1, отличающееся тем, что упомянутый блок синтеза изображений выдает данные одной строки пикселей упомянутого синтезированного изображения, используя в качестве эталонного цикла период, в котором генерируются данные одной строки пикселей изображения с самым высоким уровнем разрешения из всех изображений, являющихся объектом синтеза, и настраивает диапазон соединяемых строк пикселей так, что данные равномерно выдаются в этом цикле генерации для изображения с другим уровнем разрешения, данные одной строки которого генерируются в цикле, который длиннее, чем этот эталонный цикл.
3. Устройство съемки движущихся изображений в соответствии с п. 1 или 2, отличающееся тем, что упомянутый блок передачи изображений содержит блок кадрирования, который в изображении вырезает в единицах строк пикселей, образующих поток, прямоугольную область, на которую от упомянутого главного терминала поступил запрос на передачу данных,
при этом упомянутый блок синтеза изображений соединяет данные каждого изображения так, что каждое изображение синтезированного изображения образует прямоугольную область в упомянутом синтезированном изображении, и
упомянутый блок кадрирования вырезает в единицах строк пикселей одно из изображений, являющееся объектом синтеза, из синтезированного изображения и пересылает вырезанное изображение на упомянутый главный терминал в соответствии с запросом от упомянутого главного терминала.
4. Устройство съемки движущихся изображений в соответствии с п. 1 или 2, также содержащее:
блок генерации разностного изображения, который генерирует разностное изображение определенного уровня разрешения образованием разности между кадрами изображений, имеющих заранее заданное разрешение, из многих изображений, имеющих различные уровни разрешения, и
упомянутый блок синтеза изображений включает упомянутое разностное изображение в качестве объекта синтеза.
5. Устройство съемки движущихся изображений в соответствии с п. 1 или 2,
отличающееся тем, что упомянутый блок передачи изображений параллельно считывает многие потоки, которые выдаются из блока генерации данных изображений и упомянутого блока синтеза изображений, и генерирует поток, который должен передаваться, по меньшей мере частично, выбираемый из этих потоков в соответствии с запросом от упомянутого главного терминала.
6. Устройство съемки движущихся изображений в соответствии с п. 1 или 2,
отличающееся тем, что упомянутый блок передачи изображений содержит несколько выходных каналов для исполнения пересылки данных на главный терминал, и в случае, когда упомянутым главным терминалом запрашиваются соответствующие фрагменты данных многих областей, из многих упомянутых каналов параллельно пересылаются соответствующие потоки, сгенерированные для фрагментов данных.
7. Устройство съемки движущихся изображений в соответствии с п. 1 или 2, также содержащее:
блок обнаружения лица, который исполняет процесс обнаружения лица на каком-либо из многих упомянутых изображений и идентифицирует область лица человека, являющегося объектом съемки, и
упомянутый блок передачи изображений в соответствии с запросом от упомянутого главного терминала вставляет в качестве метаданных данные, относящиеся к области лица, которая была идентифицирована упомянутым блоком обнаружения лица, на определенной позиции потока данных изображений, который был сгенерирован, и пересылает поток на упомянутый главный терминал.
8. Устройство съемки движущихся изображений в соответствии с п. 1 или 2, также содержащее:
блок слежения, который получает информацию о форме объекта слежения от упомянутого главного терминала и осуществляет процесс слежения за этим объектом, базируясь на информации о форме, и
упомянутый блок передачи изображений в соответствии с запросом от упомянутого главного терминала вставляет в качестве метаданных данные, относящиеся к положению объекта, который был идентифицирован упомянутым блоком слежения, на определенной позиции потока данных изображений, который был сгенерирован, и пересылает поток на упомянутый главный терминал.
9. Устройство съемки движущихся изображений, содержащее пару камер для съемки изображения одного объекта с различных - правой и левой - точек наблюдения,
при этом каждая из пары упомянутых камер содержит:
блок генерации данных изображений, который последовательно генерирует соответствующие фрагменты данных многих изображений, каждое из которых имеет различные уровни разрешения посредством многокаскадного понижения в заданном порядке числа пикселей каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдает эти фрагменты данных в форме потоков;
блок синтеза изображений, который, соединяя в каждой строке пикселей одной горизонтальной строки пикселей изображения или в каждой строке пикселей меньшего диапазона, соответствующие фрагменты данных многих заданных изображений из соответствующих фрагментов данных упомянутых многих изображений, выдаваемых из упомянутого блока генерации данных изображений, и выдавая затем соответствующие фрагменты данных упомянутых многих заданных изображений в форме потоков, генерирует виртуальные синтезированные изображения, содержащие упомянутые многие заданные изображения; и
при этом упомянутое устройство съемки движущихся изображений также содержит:
блок согласования стереопар, который в заданном порядке пикселей генерирует изображение глубины, указывающее положение упомянутого объекта в трехмерном пространстве, исполнением согласования стереопар на соответствующих фрагментах данных изображений, имеющих заданный уровень разрешения, среди соответствующих фрагментов данных изображений, полученных с различных точек наблюдения, которые генерируются парой упомянутых камер, и последовательно выдает изображения глубины в форме потока; и
блок передачи изображений, который получает запрос на передачу данных от главного терминала, к которому он подсоединен, генерирует поток данных, которые должны быть переданы, выделением запрашиваемых данных пикселей, входящих в изображение, и области из многих потоков, которые выдаются из упомянутого блока генерации данных изображений, упомянутого блока синтеза изображений и упомянутого блока согласования стереопар, и пересылает поток данных на упомянутый главный терминал.
10. Система обработки информации, содержащая: устройство съемки движущихся изображений, которое ведет съемку объекта и генерирует данные движущегося изображения; и главный терминал, который получает часть данных движущегося изображения от этого устройства съемки движущихся изображений и воспроизводит изображение после выполнения заданного процесса обработки изображения, используя эту часть данных,
при этом упомянутое устройство съемки движущихся изображений содержит:
блок генерации данных изображений, который последовательно генерирует соответствующие фрагменты данных многих изображений, каждое из которых имеет различные уровни разрешения посредством многокаскадного понижения в заданном порядке числа пикселей каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдает эти фрагменты данных в форме потоков;
блок синтеза изображений, который, соединяя в каждой строке пикселей одной горизонтальной строки пикселей изображения или в каждой строке пикселей меньшего диапазона соответствующие фрагменты данных многих заданных изображений из соответствующих фрагментов данных упомянутых многих изображений, выдаваемых из упомянутого блока генерации данных изображений, и выдавая затем соответствующие фрагменты данных упомянутых многих заданных изображений в форме потоков, генерирует виртуальные синтезированные изображения, содержащие упомянутые многие заданные изображения; и
блок передачи изображений, который получает запрос на передачу данных от главного терминала, к которому он подсоединен, генерирует поток данных, которые должны быть переданы, выделением запрашиваемых данных пикселей, входящих в изображение, и области из многих потоков, которые выдаются из упомянутого блока генерации данных изображений и упомянутого блока синтеза изображений, и пересылает поток данных на упомянутый главный терминал.
11. Устройство обработки информации, содержащее:
блок запроса данных, который выдает на камеру, снимающую изображение объекта, запрос на передачу данных изображений кадров движущегося изображения, указывая при этом уровень разрешения и область внутри изображения; и
блок развертывания данных, который в оперативной памяти в виде данных двумерного изображения развертывает данные изображения, передаваемые из упомянутой камеры в соответствии с запросом в форме потока, в котором значения пикселей указанной области соединяются для каждой строки пикселей; и
блок обработки данных, который использует упомянутые данные двумерного изображения и воспроизводит изображение после исполнения заданного процесса обработки изображения,
при этом упомянутый блок запроса данных определяет синтезируемое изображение, которое генерируется внутри упомянутой камеры и в котором многие изображения с различными уровнями разрешения, полученные уменьшением за несколько этапов кадра движущегося изображения, размешены в соответствующих заданных прямоугольных областях, и
упомянутый блок развертывания данных исполняет разделение изображений развертыванием упомянутого синтезированного изображения, переданного из упомянутой камеры, в отдельные фрагменты двумерных данных изображения для каждого изображения, являющегося объектом синтеза.
12. Способ обработки изображений, исполняемый устройством съемки движущихся изображений, содержащий:
этап, на котором генерируются соответствующие фрагменты данных многих изображений с различными уровнями разрешения, полученных уменьшением за несколько этапов каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдаются фрагменты данных в форме потока;
этап, на котором генерируется виртуальное синтезированное изображение, содержащее упомянутые многие заданные изображения, соединением соответствующих фрагментов данных многих заданных изображений среди упомянутых данных многих изображений, выданных на упомянутом этапе, на каждую строку пикселей части одной горизонтальной строки изображения или на каждую строку пикселей в меньшем диапазоне, и выдачей результата соединения в форме потоков; и
этап получения запроса на передачу данных от главного терминала, генерации потока данных, которые должны быть переданы, посредством выделения данных, входящих в запрошенное изображение и запрошенную область, из многих потоков, которые были выданы на упомянутом этапе выдачи и упомянутом этапе генерации, и пересылки на упомянутый главный терминал.
13. Носитель записи, на котором хранится компьютерная программа, позволяющая исполнять на компьютере:
функцию, которая последовательно генерирует соответствующие фрагменты данных многих изображений, каждое из которых имеет различные уровни разрешения посредством многокаскадного понижения в заданном порядке числа пикселей каждого кадра движущегося изображения, получаемого съемкой объекта, и последовательно выдает эти фрагменты данных в форме потоков;
функцию, которая, соединяя в каждой строке пикселей одной горизонтальной строки пикселей изображения или в каждой строке пикселей меньшего диапазона соответствующие фрагменты данных многих заданных изображений из соответствующих фрагментов данных упомянутых многих изображений, выдаваемых из упомянутого блока генерации данных изображений, и выдавая затем соответствующие фрагменты данных упомянутых многих заданных изображений в форме потоков, генерирует виртуальные синтезированные изображения, содержащие упомянутые многие заданные изображения; и
функцию, которая получает запрос на передачу данных от главного терминала, к которому подсоединен блок передачи данных, генерирует поток данных, которые должны быть переданы, выделением данных пикселей, входящих в изображение и область, которые запрашиваются, из многих потоков, которые выдаются из упомянутого блока генерации данных изображений и упомянутого блока синтеза изображений, и пересылает поток данных на упомянутый главный терминал.
JP 2011097521 A, 2011.05.12 | |||
WO 9709818 A1, 1997.03.13 | |||
WO 8810047 A1, 1988.12.15 | |||
US 7711877 B2, 2010.05.04 | |||
US 4709394 A, 1987.11.24 | |||
КОМПЕНСАЦИЯ ГЛОБАЛЬНОГО ДВИЖЕНИЯ ДЛЯ ВИДЕОИЗОБРАЖЕНИЙ | 2002 |
|
RU2307478C2 |
Авторы
Даты
2015-12-10—Публикация
2012-04-05—Подача