KR20220031896A - 레이저 투사 시스템을 갖는 웨어러블 멀티미디어 디바이스 및 클라우드 컴퓨팅 플랫폼 - Google Patents

레이저 투사 시스템을 갖는 웨어러블 멀티미디어 디바이스 및 클라우드 컴퓨팅 플랫폼 Download PDF

Info

Publication number
KR20220031896A
KR20220031896A KR1020227001647A KR20227001647A KR20220031896A KR 20220031896 A KR20220031896 A KR 20220031896A KR 1020227001647 A KR1020227001647 A KR 1020227001647A KR 20227001647 A KR20227001647 A KR 20227001647A KR 20220031896 A KR20220031896 A KR 20220031896A
Authority
KR
South Korea
Prior art keywords
data
laser projection
user
gesture
processors
Prior art date
Application number
KR1020227001647A
Other languages
English (en)
Inventor
임란 에이. 차우드리
패트릭 게이츠
모니크 레로바
베다니 본지오르노
브라이언 후피
샤자드 차우드리
Original Assignee
휴메인, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴메인, 인코포레이티드 filed Critical 휴메인, 인코포레이티드
Publication of KR20220031896A publication Critical patent/KR20220031896A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1639Details related to the display arrangement, including those related to the mounting of the display in the housing the display being based on projection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • H04N5/2257
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • G08C2201/32Remote control based on movements, attitude of remote control device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/10Telephonic communication systems specially adapted for combination with other electrical systems with dictation recording and playback systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/54Details of telephonic subscriber devices including functional features of a projector or beamer module assembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Projection Apparatus (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

웨어러블 멀티미디어 디바이스, 및 웨어러블 멀티미디어 디바이스에 의해 캡처된 멀티미디어 데이터를 프로세싱하기 위한 애플리케이션 에코시스템을 갖는 클라우드 컴퓨팅 플랫폼을 위한 시스템들, 방법들, 디바이스들 및 비일시적 컴퓨터 판독가능 저장 매체들이 개시된다. 일 실시예에서, 신체 착용 장치는 카메라; 심도 센서; 레이저 투사 시스템; 하나 이상의 프로세서들; 명령어들을 저장하는 메모리를 포함하고, 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하고, 동작들은: 카메라를 사용하여, 디지털 이미지들의 세트를 캡처하는 동작; 디지털 이미지들의 세트에서 객체를 식별하는 동작; 심도 센서를 사용하여, 심도 데이터를 캡처하는 동작; 심도 데이터에서, 장치를 착용한 사용자의 제스처를 식별하는 동작; 객체와 제스처를 연관시키는 동작; 객체와 연관된 데이터를 획득하는 동작; 및 레이저 투사 시스템을 사용하여, 데이터의 레이저 투사를 표면 상에 투사하는 동작을 포함한다.

Description

레이저 투사 시스템을 갖는 웨어러블 멀티미디어 디바이스 및 클라우드 컴퓨팅 플랫폼
[0001] 본 출원은 2019년 6월 18일에 출원되고 명칭이 "Wearable Multimedia Device and Cloud Computing Platform With Application Ecosystem"인 미국 가특허 출원 제62/863,222호, 및 2020년 6월 17일에 출원되고 명칭이 "Wearable Multimedia Device and Cloud Computing Platform With Laser Projection System"인 미국 특허 출원 제16/904,544호를 우선권으로 주장하고, 출원은 2018년 5월 20일에 출원되고 명칭이 "Wearable Multimedia Device and Cloud Computing Platform With Application Ecosystem"인 미국 특허 출원 제15/976,632호의 부분 계속 출원이고, 이들 특허 출원들 각각은 전체 내용이 인용에 의해 본원에 포함된다.
[0002] 본 발명은 일반적으로 클라우드 컴퓨팅 및 멀티미디어 편집에 관한 것이다.
[0003] 최신의 모바일 디바이스들(예컨대, 스마트 폰들, 태블릿 컴퓨터들)은 종종 사용자가 자발적 이벤트들의 디지털 이미지들 또는 비디오들을 촬영할 수 있게 하는 내장형 카메라를 포함한다. 이러한 디지털 이미지들 및 비디오는 모바일 디바이스에서 메모리를 확보하기 위하여 사용자 계정과 연관된 온라인 데이터베이스에 저장될 수 있다. 사용자들은 그들의 이미지들 및 비디오들을 친구들 및 가족과 공유할 수 있고, 그들의 다양한 재생 디바이스들을 사용하여 이미지들 및 비디오들을 요구에 따라 다운로드 또는 스트리밍할 수 있다. 이러한 내장형 카메라들은, 부피가 크고 종종 촬영을 설정하기 위해 더 많은 시간을 필요로 하는 종래의 디지털 카메라들에 비해 상당한 이점들을 제공한다.
[0004] 모바일 디바이스 내장형 카메라들의 편리성에도 불구하고, 이들 디바이스들에 의해 캡처되지 않는 많은 중요한 순간들이 있는데, 이는 그 순간들이 너무 빠르게 발생하거나 사용자가 그 순간에 감정에 휩쓸려서 이미지 또는 비디오를 촬영하는 것을 쉽게 잊기 때문이다.
[0005] 웨어러블 멀티미디어 디바이스, 및 웨어러블 멀티미디어 디바이스에 의해 캡처된 멀티미디어 데이터를 프로세싱하기 위한 애플리케이션 에코시스템을 갖는 클라우드 컴퓨팅 플랫폼을 위한 시스템들, 방법들, 디바이스들 및 비일시적 컴퓨터 판독가능 저장 매체들이 개시된다.
[0006] 일 실시예에서, 신체 착용 장치는 카메라; 심도 센서; 레이저 투사 시스템; 하나 이상의 프로세서들; 명령어들을 저장하는 메모리를 포함하고, 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하고, 동작들은: 카메라를 사용하여, 디지털 이미지들의 세트를 캡처하는 동작; 디지털 이미지들의 세트에서 객체를 식별하는 동작; 심도 센서를 사용하여, 심도 데이터를 캡처하는 동작; 심도 데이터에서, 장치를 착용한 사용자의 제스처를 식별하는 동작; 객체와 제스처를 연관시키는 동작; 객체와 연관된 데이터를 획득하는 동작; 및 레이저 투사 시스템을 사용하여, 데이터의 레이저 투사를 표면 상에 투사하는 동작을 포함한다.
[0007] 일 실시예에서, 레이저 투사는 객체에 대한 텍스트 라벨을 포함한다.
[0008] 일 실시예에서, 레이저 투사는 객체에 대한 크기 템플릿을 포함한다.
[0009] 일 실시예에서, 레이저 투사는 객체에 대한 액션을 수행하기 위한 명령어들을 포함한다.
[0010] 일 실시예에서, 신체 착용 장치는 카메라; 심도 센서; 레이저 투사 시스템; 하나 이상의 프로세서들; 명령어들을 저장하는 메모리를 포함하고, 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하고, 동작들은: 센서를 사용하여, 심도 데이터를 캡처하는 동작; 심도 데이터에서 제1 제스처를 식별하는 동작 - 제스처는 장치를 착용한 사용자에 의해 이루어짐 - ; 제1 제스처와 요청 또는 커맨드를 연관시키는 동작; 및 레이저 투사 시스템을 사용하여, 표면 상에 레이저 투사를 투사하는 동작을 포함하고, 레이저 투사는 요청 또는 커맨드와 연관된다.
[0011] 일 실시예에서, 동작들은: 심도 센서를 사용하여, 레이저 투사와 연관된 제2 제스처를 획득하는 동작; 제2 제스처에 기초하여, 사용자 입력을 결정하는 동작; 및 사용자 입력에 따라 하나 이상의 액션들을 개시하는 동작을 더 포함한다.
[0012] 일 실시예에서, 동작들은, 제2 제스처를 취하는 사용자의 손에 데이터를 투사하는 것을 방지하기 위해, 레이저 투사를 마스킹하는 동작을 더 포함한다.
[0013] 일 실시예에서, 동작들은: 심도 센서 또는 카메라를 사용하여, 표면의 지오메트리, 재료 또는 텍스처를 나타내는 심도 또는 이미지 데이터를 획득하는 동작; 및 표면의 지오메트리, 재료 또는 텍스처에 기초하여, 레이저 투사 시스템의 하나 이상의 파라미터들을 조정하는 동작을 더 포함한다.
[0014] 일 실시예에서, 동작들은: 카메라를 사용하여, 표면으로부터 레이저 투사의 반사들을 캡처하는 동작; 레이저 투사가 균일한 밝기를 갖도록 상이한 굴절률들을 보상하기 위해 레이저 투사의 세기를 자동으로 조정하는 동작을 더 포함한다.
[0015] 일 실시예에서, 장치는: 사용자의 의복을 통해 배터리 팩에 자기적으로 커플링하도록 구성된 자기 부착 기구를 더 포함하고, 자기 부착 기구는 배터리 백으로부터 유도 충전을 수신하도록 추가로 구성된다.
[0016] 일 실시예에서, 방법은: 신체 착용 장치의 심도 센서를 사용하여, 심도 데이터를 캡처하는 단계; 장치의 하나 이상의 프로세서들을 사용하여, 심도 데이터에서 제1 제스처를 식별하는 단계 - 제1 제스처는 장치를 착용한 사용자에 의해 이루어짐 - ; 하나 이상의 프로세서들을 사용하여, 제1 제스처와 요청 또는 커맨드를 연관시키는 단계; 및 장치의 레이저 투사 시스템을 사용하여, 레이저 투사를 표면 상에 투사하는 단계를 포함하고, 레이저 투사는 요청 또는 커맨드와 연관된다.
[0017] 일 실시예에서, 방법은: 심도 센서를 사용하여, 레이저 투사와 연관된 제2 제스처를 획득하는 단계; 제2 제스처에 기초하여, 사용자 입력을 결정하는 단계; 및 사용자 입력에 따라 하나 이상의 액션들을 개시하는 단계를 더 포함한다.
[0018] 일 실시예에서, 하나 이상의 액션들은 다른 디바이스를 제어하는 것을 포함한다.
[0019] 일 실시예에서, 방법은, 제2 제스처를 취하는 사용자의 손에 데이터를 투사하는 것을 방지하기 위해, 레이저 투사를 마스킹하는 단계를 더 포함한다.
[0020] 일 실시예에서, 방법은 심도 센서 또는 카메라를 사용하여, 표면의 지오메트리, 재료 또는 텍스처를 나타내는 심도 또는 이미지 데이터를 획득하는 단계; 및 표면의 지오메트리, 재료 또는 텍스처에 기초하여, 레이저 투사 시스템의 하나 이상의 파라미터들을 조정하는 단계를 더 포함한다.
[0021] 일 실시예에서, 방법은, 클라우드 컴퓨팅 플랫폼의 하나 이상의 프로세서들에 의해, 웨어러블 멀티미디어 디바이스로부터 콘텍스트 데이터를 수신하는 단계 - 웨어러블 멀티미디어 디바이스는 콘텍스트 데이터를 캡처하기 위한 적어도 하나의 데이터 캡처 디바이스를 포함함 -; 하나 이상의 프로세서들에 의해, 콘텍스트 데이터 및 사용자 요청의 하나 이상의 특성들에 기초하여 하나 이상의 애플리케이션들을 갖는 데이터 프로세싱 파이프라인을 생성하는 단계; 하나 이상의 프로세서들에 의해, 데이터 프로세싱 파이프라인을 통해 콘텍스트 데이터를 프로세싱하는 단계; 및 하나 이상의 프로세서들에 의해, 데이터 프로세싱 파이프라인의 출력을 출력의 프리젠테이션을 위해 웨어러블 멀티미디어 디바이스 또는 다른 디바이스로 전송하는 단계를 포함한다.
[0022] 일 실시예에서, 시스템은 하나 이상의 프로세서들; 명령어들을 저장하는 메모리를 포함하고, 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 클라우드 컴퓨팅 플랫폼의 하나 이상의 프로세서들에 의해, 웨어러블 멀티미디어 디바이스로부터 콘텍스트 데이터를 수신하는 것 - 웨어러블 멀티미디어 디바이스는 콘텍스트 데이터를 캡처하기 위한 적어도 하나의 데이터 캡처 디바이스를 포함함 -; 하나 이상의 프로세서들에 의해, 콘텍스트 데이터 및 사용자 요청의 하나 이상의 특성들에 기초하여 하나 이상의 애플리케이션들을 갖는 데이터 프로세싱 파이프라인을 생성하는 것; 하나 이상의 프로세서들에 의해, 데이터 프로세싱 파이프라인을 통해 콘텍스트 데이터를 프로세싱하는 것; 및 하나 이상의 프로세서들에 의해, 데이터 프로세싱 파이프라인의 출력을 출력의 프리젠테이션을 위해 웨어러블 멀티미디어 디바이스 또는 다른 디바이스로 전송하는 것을 포함하는 동작들을 수행하게 한다.
[0023] 일 실시예에서, 비일시적 컴퓨터 판독가능 저장 매체는, 클라우드 컴퓨팅 플랫폼의 하나 이상의 프로세서들에 의해, 웨어러블 멀티미디어 디바이스로부터 콘텍스트 데이터를 수신하기 위한 - 웨어러블 멀티미디어 디바이스는 콘텍스트 데이터를 캡처하기 위한 적어도 하나의 데이터 캡처 디바이스를 포함함 -; 하나 이상의 프로세서들에 의해, 콘텍스트 데이터 및 사용자 요청의 하나 이상의 특성들에 기초하여 하나 이상의 애플리케이션들을 갖는 데이터 프로세싱 파이프라인을 생성하기 위한; 하나 이상의 프로세서들에 의해, 데이터 프로세싱 파이프라인을 통해 콘텍스트 데이터를 프로세싱하기 위한; 그리고 하나 이상의 프로세서들에 의해, 데이터 프로세싱 파이프라인의 출력을 출력의 프리젠테이션을 위해 웨어러블 멀티미디어 디바이스 또는 다른 디바이스로 전송하기 위한 명령어들을 포함한다.
[0024] 일 실시예에서, 방법은: 웨어러블 멀티미디어 디바이스의 제어기에 의해, 표면 지오메트리, 재료 또는 텍스처를 나타내는 심도 또는 이미지 데이터를 수신하는 단계 - 심도 또는 이미지 데이터는 웨어러블 멀티미디어 디바이스의 하나 이상의 센서들에 의해 제공됨 - ; 제어기에 의해, 표면 지오메트리, 재료 또는 텍스처에 기초하여, 웨어러블 멀티미디어 디바이스의 프로젝터의 하나 이상의 파라미터들을 조정하는 단계; 웨어러블 멀티미디어 디바이스의 프로젝터에 의해, 텍스트 또는 이미지 데이터를 표면 상에 투사하는 단계; 제어기에 의해, 표면 상에 투사된 텍스트 또는 이미지 데이터와의 사용자 상호작용을 나타내는 심도 또는 이미지 데이터를 하나 이상의 센서들로부터 수신하는 단계; 제어기에 의해, 사용자 상호작용에 기초하여 사용자 입력을 결정하는 단계; 및 웨어러블 멀티미디어 디바이스의 프로세서에 의해, 사용자 입력에 따라 하나 이상의 액션들을 개시하는 단계를 포함한다.
[0025] 일 실시예에서, 웨어러블 멀티미디어 디바이스는: 하나 이상의 센서들; 프로젝터; 제어기를 포함하고, 제어기는: 표면 지오메트리, 재료 또는 텍스처를 나타내는 심도 또는 이미지 데이터를 수신하고 - 심도 또는 이미지 데이터는 웨어러블 멀티미디어 디바이스의 하나 이상의 센서들에 의해 제공됨 - ; 표면 지오메트리, 재료 또는 텍스처에 기초하여, 프로젝터의 하나 이상의 파라미터들을 조정하고; 프로젝터를 사용하여 텍스트 또는 이미지 데이터를 표면 상에 투사하는 단계; 표면 상에 투사된 텍스트 또는 이미지 데이터와의 사용자 상호작용을 나타내는 심도 또는 이미지 데이터를 하나 이상의 센서들로부터 수신하고; 사용자 상호작용에 기초하여 사용자 입력을 결정하고; 그리고 사용자 입력에 따라 하나 이상의 액션들을 개시하도록 구성된다.
[0026] 본 명세서에 개시되는 특정 실시예들은 하기의 이점들 중 하나 이상을 제공한다. 웨어러블 멀티미디어 디바이스는 사용자에 의한 최소의 상호작용으로 자발적 순간들 및 트랜잭션들의 멀티미디어 데이터를 캡처한다. 멀티미디어 데이터는 사용자 선호도들에 기초하여 클라우드 컴퓨팅 플랫폼 상에서 자동으로 편집되고 포맷되며, 이어서 다양한 사용자 재생 디바이스들 상에서 재생하기 위해 사용자에게 이용 가능하게 된다. 일 실시예에서, 데이터 편집 및/또는 프로세싱은 제3 자 개발자들로부터 독점적인 그리고/또는 제공/허가되는 애플리케이션들의 에코시스템에 의해 수행된다. 애플리케이션 에코시스템은 제3 자 개발자들이 그들의 애플리케이션들을 업로드, 검증 및 업데이트하게 하는 다양한 액세스 포인트들(예컨대, 웹사이트, 포털, API)을 제공한다. 클라우드 컴퓨팅 플랫폼은 에코시스템 애플리케이션들, 사용자 선호도들 및 다른 정보(예컨대, 데이터의 유형 또는 포맷, 데이터의 양 및 품질) 중 하나 이상을 사용하여 각각의 멀티미디어 데이터 스트림에 대한 맞춤형 프로세싱 파이프라인을 자동으로 구축한다.
[0027] 부가적으로, 웨어러블 멀티미디어 디바이스는, 객체들 및 사용자 에어 제스처들을 검출하고 그런 다음 검출들에 기초하여 다양한 액션들, 이를테면, 카메라 이미지들에서 객체들의 라벨링 또는 다른 디바이스들의 제어를 수행 또는 추론할 수 있는 카메라 및 심도 센서를 포함한다. 일 실시예에서, 웨어러블 멀티미디어 디바이스는 디스플레이를 포함하지 않아서, 스마트 폰 및 태블릿 컴퓨터 사용자들의 현재 문제와 마찬가지로, 디스플레이에 몰입하지 않고서, 사용자들이 친구들, 가족 및 동료들과 계속해서 상호작용하는 것을 허용한다. 이로써, 웨어러블 멀티미디어 디바이스는, 예컨대, 사용자가 실세계 환경으로부터 추가로 분리되는 AR(augmented reality) 및 VR(virtual reality)을 위한 스마트 고글들 또는 안경과 상이한 기술적 접근법을 취한다. 다른 것들과의 협업을 가능하게 하고 디스플레이가 없는 것을 보상하기 위해, 웨어러블 멀티미디어 컴퓨터는, 레이저 투사를 임의의 표면(테이블들, 벽들 및 심지어 사용자의 손바닥을 포함함)으로 투사하는 레이저 투사 시스템을 포함한다. 레이저 투사는 객체들을 라벨링하고, 객체들에 관련된 텍스트 또는 명령어들을 제공하고, 그리고 사용자가 메시지들을 작성하고, 다른 디바이스들을 제어하거나 또는 단순히 다른 사람들과 콘텐츠를 공유하고 토론하는 것을 허용하는 단기(ephemeral) 사용자 인터페이스(예컨대, 키보드, 숫자 키 패드, 디바이스 제어기)를 제공할 수 있다.
[0028] 개시된 실시예들의 상세사항들은 첨부 도면들 및 하기의 설명에서 설명된다. 다른 특징들, 목적들 및 이점들이 설명, 도면 및 청구범위로부터 명백하다.
[0029] 도 1은 일 실시예에 따른, 웨어러블 멀티미디어 디바이스, 및 웨어러블 멀티미디어 디바이스에 의해 캡처된 멀티미디어 데이터를 프로세싱하기 위한 애플리케이션 에코시스템을 갖는 클라우드 컴퓨팅 플랫폼을 위한 동작 환경의 블록도이다.
[0030] 도 2는 일 실시예에 따른, 도 1의 클라우드 컴퓨팅 플랫폼에 의해 구현되는 데이터 프로세싱 시스템의 블록도이다.
[0031] 도 3은 일 실시예에 따른, 콘텍스트 데이터 스트림을 프로세싱하기 위한 데이터 프로세싱 파이프라인의 블록도이다.
[0032] 도 4는 일 실시예에 따른, 운송 애플리케이션에 대한 콘텍스트 데이터 스트림을 프로세싱하기 위한 다른 데이터 프로세싱의 블록도이다.
[0033] 도 5는 일 실시예에 따른, 도 2의 데이터 프로세싱 시스템에 의해 사용되는 데이터 객체들을 예시한다.
[0034] 도 6은 일 실시예에 따른, 데이터 파이프라인 프로세스의 흐름도이다.
[0035] 도 7은 일 실시예에 따른, 클라우드 컴퓨팅 플랫폼에 대한 아키텍처이다.
[0036] 도 8은 일 실시예에 따른, 웨어러블 멀티미디어 디바이스에 대한 아키텍처이다.
[0037] 도 9는 일 실시예에 따른, 도 3을 참조하여 설명된 장면 식별 애플리케이션을 위한 예시적인 GUI(graphical user interface)의 스크린 샷이다.
[0038] 도 10은 일 실시예에 따른, 원시 또는 사전 프로세싱된 콘텍스트 데이터를, 도 9의 GUI를 사용하여 검색될 수 있는 객체들 및 메타데이터로 분류하기 위한 분류기 프레임워크를 예시한다.
[0039] 도 11은 일 실시예에 따른 웨어러블 멀티미디어 디바이스의 하드웨어 아키텍처를 도시하는 시스템 블록도이다.
[0040] 도 12는 일 실시예에 따른 웨어러블 멀티미디어 디바이스로부터 수신된 원시 또는 사전 프로세싱된 콘텍스트 데이터를 프로세싱하기 위해 클라우드 컴퓨팅 플랫폼에서 구현되는 프로세싱 프레임워크를 도시하는 시스템 블록도이다.
[0041] 도 13은 일 실시예에 따른 웨어러블 멀티미디어 디바이스를 위한 소프트웨어 컴포넌트들을 예시한다.
[0042] 도 14a 내지 도 14d는 일 실시예에 따른, 사용자의 손바닥에 다양한 유형의 정보를 투사하는 웨어러블 멀티미디어 디바이스의 프로젝터를 사용하는 것을 예시한다.
[0043] 도 15a 및 도 15b는 일 실시예에 따른, 자동차 엔진에 정보를 투사하여 사용자가 자신들의 엔진 오일을 점검하는 것을 돕는 프로젝터의 애플리케이션을 예시한다.
[0044] 도 16은 일 실시예에 따른, 채소들을 써는 데 있어서 가정 요리를 돕기 위한 정보가 도마에 투사되는 프로젝터의 애플리케이션을 예시한다.
[0045] 도 17은 일 실시예에 따른 프로젝터 아키텍처의 시스템 블록도이다.
[0046] 도 18은 일 실시예에 따른, 상이한 표면 지오메트리 또는 재료에 기초한 레이저 파라미터들의 조정을 예시한다.
[0047] 다양한 도면들에 사용된 동일한 도면 부호는 유사한 요소들을 나타낸다.
개요
[0048] 웨어러블 멀티미디어 디바이스는 장력 잠금쇠(tension clasp), 인터록킹 핀 백(interlocking pin back), 자석 또는 임의의 다른 부착 메커니즘을 사용하여 사용자의 의류 또는 객체에 부착될 수 있는 경량 소형의 폼 팩터를 갖는 배터리 구동형 디바이스이다. 웨어러블 멀티미디어 디바이스는, 사용자가 최소 사용자 상호작용 또는 디바이스 설정으로 생활 이벤트들("순간들")의 멀티미디어 데이터(예컨대, 비디오, 오디오, 심도 데이터)를 자발적으로 캡처하고 트랜잭션들(예컨대, 금융 거래들)을 문서화할 수 있게 하는 디지털 이미지 캡처 디바이스(예컨대, 영상 흔들림 보정 장치(optical image stabilizer, OIS)를 갖는 180° FOV)를 포함한다. 무선 멀티미디어 디바이스에 의해 캡처된 멀티미디어 데이터("콘텍스트 데이터")는, 하나 이상의 애플리케이션들(예컨대, 인공 지능(Artificial Intelligence, AI) 애플리케이션들)에 의해 콘텍스트 데이터가 웨어러블 멀티미디어 디바이스 및/또는 임의의 다른 재생 디바이스에 다운로드되어 재생될 수 있는 임의의 원하는 프리젠테이션 포맷(예컨대, 단일 이미지, 이미지 스트림, 비디오 클립, 오디오 클립, 멀티미디어 프리젠테이션, 이미지 갤러리)으로 프로세싱되고, 편집되고, 포맷될 수 있게 하는 애플리케이션 에코시스템을 갖는 클라우드 컴퓨팅 플랫폼으로 업로드된다. 예컨대, 클라우드 컴퓨팅 플랫폼은 비디오 데이터 및 오디오 데이터를 사용자에 의해 특정된 임의의 원하는 필름메이킹 스타일(예컨대, 다큐멘터리, 생활 스타일, 스냅사진(candid), 사진보도, 스포츠, 스트리트)로 변환할 수 있다.
[0049] 일 실시예에서, 콘텍스트 데이터는 사용자 선호도들에 기초하여 클라우드 컴퓨팅 플랫폼의 서버 컴퓨터(들)에 의해 프로세싱된다. 예컨대, 이미지들은, 사용자가 사용자 선호도들에 기초하여 재현하기를 원하는 순간으로 완벽하게 컬러 그레이딩되고(color graded), 안정화되며 크롭(crop)될 수 있다. 사용자 선호도들은 웹사이트 또는 포털을 통해 액세스 가능한 온라인 계정을 통해 사용자에 의해 생성된 사용자 프로파일에 저장될 수 있거나, 또는 사용자 선호도들은 (예컨대, 머신 학습을 사용하여) 시간이 지남에 따라 플랫폼에 의해 학습될 수 있다. 일 실시예에서, 클라우드 컴퓨팅 플랫폼은 스케일러블(scalable) 분산형 컴퓨팅 환경이다. 예컨대, 클라우드 컴퓨팅 플랫폼은 데이터의 스트림들을 변환시키거나 또는 이들에 반응하는 실시간 스트리밍 데이터 파이프라인들 및 스트리밍 애플리케이션들을 갖는 분산형 스트리밍 플랫폼(예컨대, Apache Kafka™)일 수 있다.
[0050] 일 실시예에서, 사용자는 커맨드 또는 임의의 다른 입력 메커니즘을 말함으로써, 단순한 터치 제스처(예컨대, 탭 또는 스와이프)로 웨어러블 멀티미디어 디바이스 상에서 콘텍스트 데이터 캡처 세션을 시작하고 정지시킬 수 있다. 웨어러블 멀티미디어 디바이스의 전부 또는 일부분들은 그것이 하나 이상의 센서들(예컨대, 근접 센서, 광 센서, 가속도계들, 자이로스코프들)을 사용하여 사용자에 의해 착용되고 있지 않음을 검출할 때 자동으로 전원을 차단할 수 있다.
[0051] 콘텍스트 데이터는 임의의 원하는 암호화 또는 압축 기술을 사용하여 암호화되고 압축되어 사용자 계정과 연관된 온라인 데이터베이스에 저장될 수 있다. 콘텍스트 데이터는 사용자에 의해 설정될 수 있는 지정된 기간 동안 저장될 수 있다. 사용자는 그의 데이터 및 데이터 프라이버시를 관리하기 위한 옵트-인(opt-in) 메커니즘들 및 다른 도구들을 갖는 웹사이트, 포털 또는 모바일 애플리케이션을 통해 제공될 수 있다.
[0052] 일 실시예에서, 콘텍스트 데이터는, 예컨대, 애플리케이션 에코시스템에서의 증강 현실(augmented reality, AR) 및 가상 현실(virtual reality, VR) 애플리케이션들을 사용하여 프로세싱될 수 있는 3차원(3D) 표면 맵핑된 객체들을 제공하도록 포인트 클라우드 데이터를 포함한다. 포인트 클라우드 데이터는 웨어러블 멀티미디어 디바이스 상에 내장된 심도 센서(예컨대, LiDAR 또는 TOF(Time of Flight))에 의해 생성될 수 있다.
[0053] 일 실시예에서, 웨어러블 멀티미디어 디바이스는, 콘텍스트 데이터가 캡처되었을 때 디바이스를 착용한 사용자의 위치 및 배향을 결정하기 위한 하나 이상의 관성 센서들(예컨대, 가속도계들, 자이로스코프들) 및 글로벌 내비게이션 위성 시스템(Global Navigation Satellite System, GNSS) 수신기(예컨대, 글로벌 포지셔닝 시스템(Global Positioning System, GPS))를 포함한다. 일 실시예에서, 콘텍스트 데이터 내의 하나 이상의 이미지들은 사용자의 위치 및 배향을 결정하기 위해 애플리케이션 에코시스템에서 영상 주행기록(visual odometry) 애플리케이션과 같은 로컬리제이션(localization) 애플리케이션에 의해 사용될 수 있다.
[0054] 일 실시예에서, 웨어러블 멀티미디어 디바이스는 또한, 주변광 센서, 자력계, 압력 센서, 음성 활동 검출기 등을 포함하지만 이들에 제한되지 않는 하나 이상의 환경 센서들을 포함할 수 있다. 이러한 센서 데이터는 순간을 캡처하는 데 사용될 수 있는 추가 정보로 콘텐츠 프리젠테이션을 보강(enrich)하도록 콘텍스트 데이터에 포함될 수 있다.
[0055] 일 실시예에서, 웨어러블 멀티미디어 디바이스는 심박수 센서, 지문 스캐너 등과 같은 하나 이상의 생체측정 센서들을 포함할 수 있다. 이러한 센서 데이터는, 트랜잭션을 문서화하거나 또는 순간 동안 사용자의 감정 상태를 나타내도록(예컨대, 상승된 심박수는 흥분 또는 두려움을 나타낼 수 있음) 콘텍스트 데이터에 포함될 수 있다.
[0056] 일 실시예에서, 웨어러블 멀티미디어 디바이스는 헤드셋 또는 이어버드(earbud)들을 연결하는 헤드폰 잭, 및 음성 커맨드를 수신하고 주변 오디오를 캡처하기 위한 하나 이상의 마이크로폰을 포함한다. 대안적인 실시예에서, 웨어러블 멀티미디어 디바이스는 블루투스, IEEE 802.15.4(ZigBee™) 및 근거리 통신(near field communications, NFC)을 포함하지만 이에 제한되지 않는 단거리 통신 기술을 포함한다. 단거리 통신 기술은 헤드폰 잭에 추가하여 또는 헤드폰 잭 대신에 무선 헤드셋 또는 이어버드들에 무선으로 접속하기 위해 사용될 수 있고/있거나, 임의의 다른 외부 디바이스(예컨대, 컴퓨터, 프린터, 프로젝터, 텔레비전 및 다른 웨어러블 디바이스들)에 무선으로 접속할 수 있다.
[0057] 일 실시예에서, 웨어러블 멀티미디어 디바이스는 WiFi, 3G, 4G 및 5G 통신 기술들을 포함하는 다양한 통신 기술들을 위한 무선 송수신기 및 통신 프로토콜 스택들을 포함한다. 일 실시예에서, 헤드셋 또는 이어버드들은 또한, 헤드 제스처들 등으로 커맨드들을 제공하기 위해, 사용자가 대면하고 있는 방향에 관한 정보를 제공하는 센서들(예컨대, 생체측정 센서들, 관성 센서들)을 포함한다. 일 실시예에서, 카메라 방향은 카메라 뷰가 사용자의 시야 방향을 따르도록 헤드 제스처들에 의해 제어될 수 있다. 일 실시예에서, 웨어러블 멀티미디어 디바이스는 사용자의 안경 내에 내장되거나 또는 그것에 부착될 수 있다.
[0058] 일 실시예에서, 웨어러블 멀티미디어 디바이스는 프로젝터(예컨대, 레이저 프로젝터, LCoS, DLP, LCD)를 포함하고, 사용자가 벽 또는 테이블 상부와 같은 표면 상에서 순간을 재생시킬 수 있게 하는 외부 프로젝터에 유선 또는 무선으로 결합될 수 있다. 다른 실시예에서, 웨어러블 멀티미디어 디바이스는 프로젝터 또는 다른 출력 디바이스에 연결될 수 있는 출력 포트를 포함한다.
[0059] 일 실시예에서, 웨어러블 멀티미디어 캡처 디바이스는 터치 제스처들(예컨대, 탭, 멀티탭 또는 스와이프 제스처)에 반응하는 터치 표면을 포함한다. 웨어러블 멀티미디어 디바이스는 정보를 제시하기 위한 소형 디스플레이 및 온/오프 상태, 전력 조건들 또는 임의의 다른 원하는 상태를 나타내기 위한 하나 이상의 광 표시자(indicator)들을 포함할 수 있다.
[0060] 일 실시예에서, 클라우드 컴퓨팅 플랫폼은, 사용자가 그의 환경에서 객체를 가리키며 "저 빌딩은 무엇입니까?"라고 말하는 것과 같은, 스피치 질의들과 조합하여 콘텍스트 기반 제스처들(예컨대, 공중 제스처(air gesture))에 의해 구동될 수 있다. 클라우드 컴퓨팅 플랫폼은 공중 제스처를 사용하여 카메라의 뷰포트(viewport)의 범위를 좁히고 빌딩을 분리시킨다. 빌딩의 하나 이상의 이미지들은 캡처되고 클라우드 컴퓨팅 플랫폼으로 전송되는데, 여기서 이미지 인식 애플리케이션이 이미지 질의를 실행시키고 결과들을 저장하거나 또는 사용자에게 리턴할 수 있다. 공중 및 터치 제스처들은 또한, 예컨대, 사용자 인터페이스 요소들에 응답하는 프로젝트형 단기 디스플레이(projected ephemeral display) 상에서 수행될 수 있다.
[0061] 일 실시예에서, 콘텍스트 데이터는, 단지 사용자 또는 임의의 허가된 뷰어가 접속된 스크린(예컨대, 스마트폰, 컴퓨터, 텔레비전 등) 상에서 또는 표면 상의 투사로서 순간을 재현할 수 있도록 디바이스 상에서 그리고 클라우드 컴퓨팅 플랫폼 상에서 암호화될 수 있다. 웨어러블 멀티미디어 디바이스에 대한 예시적인 아키텍처가 도 8을 참조하여 설명된다.
[0062] 사생활 이벤트들에 추가하여, 웨어러블 멀티미디어 디바이스는 스마트폰들에 의해 현재 취급되는 금융 거래들의 캡처를 단순화한다. 매일의 트랜잭션들(예컨대, 상거래들, 소규모 거래들)의 캡처는 웨어러블 멀티미디어 디바이스에 의해 제공되는 시야 보조 콘텍스트 인식(sight assisted contextual awareness)을 사용함으로써 더 간단하고, 더 빠르고, 더 유동적으로 이루어진다. 예컨대, 사용자가 금융 거래에 참여할 때(예컨대, 구매를 행함), 웨어러블 멀티미디어 디바이스는, 날짜, 시간, 양, 파티들의 디지털 이미지들 또는 비디오, 오디오(예컨대, 트랜잭션을 설명하는 사용자 코멘터리) 및 환경 데이터(예컨대, 위치 데이터)를 포함하는, 금융 거래를 기억하는 데이터를 생성할 것이다. 데이터는 클라우드 컴퓨팅 플랫폼으로 전송되는 멀티미디어 데이터 스트림에 포함될 수 있으며, 여기서 데이터는 온라인으로 저장되고/되거나 하나 이상의 금융 애플리케이션에 의해 프로세싱될 수 있다(예컨대, 금융 관리, 회계, 예산 집행 계획, 세금 준비, 재고 조사 등).
[0063] 일 실시예에서, 클라우드 컴퓨팅 플랫폼은 다양한 제3 자 애플리케이션 개발자들이 애플리케이션 에코시스템에서 그들의 애플리케이션들을 업로드하고, 업데이트하고, 관리하게 하는 웹사이트 또는 포털 상에 그래픽 사용자 인터페이스들을 제공한다. 일부 예시적인 애플리케이션들은, 개인 라이브 방송(예컨대, Instagram™ Life, Snapchat™), 노인 모니터링(예컨대, 사랑하는 사람이 약을 먹었다는 것을 보장하기 위함), 메모리 리콜(예컨대, 지난 주 아이의 축구 경기를 보여줌) 및 개인용 가이드(예컨대, 사용자의 위치를 알고 사용자가 액션을 수행하도록 안내하는 AI 인에이블형 개인 가이드)를 포함할 수 있지만, 이에 제한되지는 않는다.
[0064] 일 실시예에서, 웨어러블 멀티미디어 디바이스는 하나 이상의 마이크로폰들 및 헤드셋을 포함한다. 일부 실시예들에서, 헤드셋 와이어는 마이크로폰을 포함한다. 일 실시예에서, 디지털 어시스턴트(assistant)는 사용자 질의들, 요청들 및 커맨드들에 응답하는 웨어러블 멀티미디어 디바이스 상에서 구현된다. 예컨대, 부모에 의해 착용되는 웨어러블 멀티미디어 디바이스는 아이의 축구 경기에 대한 순간 콘텍스트 데이터, 및 특히 아이가 골을 넣는 "순간"을 캡처한다. 사용자는, 플랫폼이 골의 비디오 클립을 생성하고 그것을 그의 사용자 계정에 저장하도록 (예컨대, 스피치 커맨드를 사용하여) 요청할 수 있다. 사용자에 의한 어떤 추가의 동작도 없이, 클라우드 컴퓨팅 플랫폼은, 골을 넣을 때 (예컨대, 얼굴 인식, 시각적 또는 오디오 큐들을 사용하여) 순간 콘텍스트 데이터의 정확한 일부분을 식별하고, 순간 콘텍스트 데이터를 비디오 클립으로 편집하고, 비디오 클립을 사용자 계정과 연관된 데이터베이스에 저장한다.
[0065] 일 실시예에서, 디바이스는 충전 매트들 상에서의 유도 충전 및 무선 OTA(over-the-air) 충전을 허용하도록 유도 충전 회로부(예컨대, Qi) 및 배터리 수명을 지속시키기 위해 광기전 표면 기술을 포함할 수 있다.
[0066] 일 실시예에서, 웨어러블 멀티미디어 디바이스는 재충전 가능한 휴대용 배터리 팩과 자기적으로 커플링하거나 정합하도록 구성된다. 휴대용 배터리 팩은 상부에 영구 자석(예컨대, N극)이 배치된 정합 표면을 포함하고, 웨어러블 멀티미디어 디바이스는 상부에 영구 자석(예컨대, S극)이 배치된 대응하는 정합 표면을 포함한다. 임의의 원하는 형상 또는 크기를 갖는 임의의 수의 영구 자석들이 정합 표면들 상에 임의의 원하는 패턴으로 배열될 수 있다.
[0067] 영구 자석들은, 의복(예컨대, 사용자의 셔츠)을 사이에 두고 정합된 구성으로 휴대용 배터리 팩과 웨어러블 멀티미디어 디바이스를 함께 보유한다. 일 실시예에서, 휴대용 배터리 팩 및 웨어러블 멀티미디어 디바이스는, 정합 구성에 있을 때, 돌출 부분들이 없도록 동일한 정합 표면 치수들을 갖는다. 사용자는 자신들의 옷 아래에 휴대용 배터리 팩을 배치하고, 자신들의 옷 외부에 있는 휴대용 배터리 팩 위에 웨어러블 멀티미디어 디바이스를 배치하여, 영구 자석들이 옷을 통해 서로를 끌어당기게 함으로써 웨어러블 멀티미디어 디바이스를 자신들의 옷에 자기적으로 고정한다. 일 실시예에서, 휴대용 배터리 팩은, 공진 유도 결합의 원리를 사용하는 정합 구성에 있는 동안, 웨어러블 멀티미디어 디바이스에 무선으로 전력을 공급하는 데 사용되는 내장형 무선 전력 송신기를 갖는다. 일 실시예에서, 웨어러블 멀티미디어 디바이스는, 정합 구성에 있는 동안, 휴대용 배터리 팩으로부터 전력을 수신하는 데 사용되는 내장형 무선 전력 수신기를 포함한다.
예시적인 동작 환경
[0068] 도 1은 일 실시예에 따른, 웨어러블 멀티미디어 디바이스, 및 웨어러블 멀티미디어 디바이스에 의해 캡처된 멀티미디어 데이터를 프로세싱하기 위한 애플리케이션 에코시스템을 갖는 클라우드 컴퓨팅 플랫폼을 위한 동작 환경의 블록도이다. 동작 환경(100)은 웨어러블 멀티미디어 디바이스들(101), 클라우드 컴퓨팅 플랫폼(102), 네트워크(103), 애플리케이션("앱(app)") 개발자들(104) 및 제3 자 플랫폼들(105)을 포함한다. 클라우드 컴퓨팅 플랫폼(102)은 웨어러블 멀티미디어 디바이스들(101)에 의해 업로드된 콘텍스트 데이터를 저장하기 위해 하나 이상의 데이터베이스들(106)에 결합된다.
[0069] 전술된 바와 같이, 웨어러블 멀티미디어 디바이스들(101)은 장력 잠금쇠, 인터록킹 핀 백, 자석 또는 임의의 다른 부착 메커니즘을 사용하여 사용자의 의류 또는 객체에 부착될 수 있는 경량 소형의 폼 팩터를 갖는 배터리 구동형 디바이스들이다. 웨어러블 멀티미디어 디바이스들(101)은, 사용자가 최소 사용자 상호작용 또는 디바이스 설정으로 "순간들"의 멀티미디어 데이터(예컨대, 비디오, 오디오, 심도 데이터)를 자발적으로 캡처하고 매일의 트랜잭션들(예컨대, 금융 거래들)을 문서화할 수 있게 하는 디지털 이미지 캡처 디바이스(예컨대, OIS를 갖는 180° FOV)를 포함한다. 무선 멀티미디어 디바이스들(101)에 의해 캡처된 콘텍스트 데이터는 클라우드 컴퓨팅 플랫폼(102)으로 업로드된다. 클라우드 컴퓨팅 플랫폼(101)은 하나 이상의 서버 측 애플리케이션들에 의해 콘텍스트 데이터가 웨어러블 멀티미디어 디바이스 및/또는 다른 재생 디바이스에 다운로드되어 재생될 수 있는 임의의 원하는 프리젠테이션 포맷(예컨대, 단일 이미지, 이미지 스트림, 비디오 클립, 오디오 클립, 멀티미디어 프리젠테이션, 이미지 갤러리)으로 프로세싱되고, 편집되고, 포맷될 수 있게 하는 애플리케이션 에코시스템을 포함한다.
[0070] 예로서, 아이의 생일 파티에서, 부모는 웨어러블 멀티미디어 디바이스를 그들의 의류에 클립고정하여 (또는 디바이스를 목걸이 또는 체인에 부착하고 그들의 목 둘레에 착용하여) 카메라 렌즈가 그들의 시야 방향을 향하게 할 수 있다. 카메라는 사용자가 현재 보고 있는 거의 모든 것을 카메라가 캡처할 수 있게 하는 180° FOV를 포함한다. 사용자는 단순히 디바이스의 표면을 탭핑하거나 버튼을 누름으로써 레코딩을 시작할 수 있다. 추가적인 설정이 필요하지 않다. 생일의 특별한 순간들(예컨대, 촛불을 끄는 것)을 캡처하는 멀티미디어 데이터 스트림(예컨대, 오디오를 갖는 비디오)이 레코딩된다. 이러한 "콘텍스트 데이터"는 무선 네트워크(예컨대, WiFi, 셀룰러)를 통해 실시간으로 클라우드 컴퓨팅 플랫폼(102)으로 전송된다. 일 실시예에서, 콘텍스트 데이터는 웨어러블 멀티미디어 디바이스 상에 저장되어 그것은 나중에 업로드될 수 있게 한다. 다른 실시예에서, 사용자는 콘텍스트 데이터를 다른 디바이스(예컨대, 개인용 컴퓨터 하드 드라이브, 스마트폰, 태블릿 컴퓨터, 썸 드라이브(thumb drive))로 전송하고, 애플리케이션을 사용하여 나중에 콘텍스트 데이터를 클라우드 컴퓨팅 플랫폼(102)으로 업로드할 수 있다.
[0071] 일 실시예에서, 콘텍스트 데이터는 클라우드 컴퓨팅 플랫폼(102)에 의해 호스팅되고 관리되는 애플리케이션 에코시스템의 하나 이상의 애플리케이션들에 의해 프로세싱된다. 애플리케이션들은 그들의 개별 애플리케이션 프로그래밍 인터페이스(application programming interface, API)들을 통해 액세스될 수 있다. 커스텀 분산형 스트리밍 파이프라인은 사용자 선호도들에 기초하여 원하는 프리젠테이션을 생성하기 위해 데이터 유형, 데이터 양, 데이터 품질, 사용자 선호도들, 템플릿들 및/또는 임의의 다른 정보 중 하나 이상에 기초하여 콘텍스트 데이터를 프로세싱하도록 클라우드 컴퓨팅 플랫폼(102)에 의해 생성된다. 일 실시예에서, 머신 학습 기술은 사용자 선호도들과 함께 또는 사용자 선호도들 없이 데이터 프로세싱 파이프라인 내에 포함되기에 적합한 애플리케이션들을 자동으로 선택하는 데 사용될 수 있다. 예컨대, 데이터베이스(예컨대, NoSQL 데이터베이스)에 저장된 이력적 사용자 콘텍스트 데이터는 임의의 적합한 머신 학습 기술(예컨대, 심층 학습 또는 콘볼루션 뉴럴 네트워크들)을 사용하여 데이터 프로세싱을 위한 사용자 선호도들을 결정하는 데 사용될 수 있다.
[0072] 일 실시예에서, 애플리케이션 에코시스템은 콘텍스트 데이터를 프로세싱하는 제3 자 플랫폼들(105)을 포함할 수 있다. 보안 세션들이 콘텍스트 데이터를 전송/수신하기 위해 클라우드 컴퓨팅 플랫폼(102)과 제3 자 플랫폼들(105) 사이에 설정된다. 이러한 설계는 제3 자 앱 제공자들이 그들의 애플리케이션에 대한 액세스를 제어하고 업데이트들을 제공할 수 있게 한다. 다른 실시예들에서, 애플리케이션들은 클라우드 컴퓨팅 플랫폼(102)의 서버들 상에서 실행되고, 업데이트들은 클라우드 컴퓨팅 플랫폼(102)으로 전송된다. 후자의 실시예에서, 앱 개발자들(104)은 클라우드 컴퓨팅 플랫폼(102)에 의해 제공되는 API를 사용하여 애플리케이션 에코시스템에 포함될 애플리케이션들을 업로드하고 업데이트할 수 있다.
예시적인 데이터 프로세싱 시스템
[0073] 도 2는 일 실시예에 따른, 도 1의 클라우드 컴퓨팅 플랫폼에 의해 구현되는 데이터 프로세싱 시스템의 블록도이다. 데이터 프로세싱 시스템(200)은 레코더(201), 비디오 버퍼(202), 오디오 버퍼(203), 사진 버퍼(204), 입수 서버(ingestion server)(205), 데이터 저장소(206), 비디오 프로세서(207), 오디오 프로세서(208), 사진 프로세서(209) 및 제3 자 프로세서(210)를 포함한다.
[0074] 웨어러블 멀티미디어 디바이스 상에서 실행되는 레코더(201)(예컨대, 소프트웨어 애플리케이션)는 카메라 및 오디오 서브시스템에 의해 캡처된 비디오, 오디오 및 사진 데이터("콘텍스트 데이터")를 레코딩하고, 데이터를 버퍼들(202, 203, 204)에 각각 저장한다. 이어서, 이러한 콘텍스트 데이터는 클라우드 컴퓨팅 플랫폼(102)의 입수 서버(205)로 (예컨대, 무선 OTA 기술을 사용하여) 전송된다. 일 실시예에서, 데이터는 고유 스트림 식별자(streamid)를 각각 갖는 별개의 데이터 스트림들로 전송될 수 있다. 스트림들은 하기의 예시적인 속성들을 포함할 수 있는 별개의 여러 데이터들이다: 위치(예컨대, 위도, 경도), 사용자, 오디오 데이터, 가변 지속기간의 비디오 스트림 및 N개의 사진들. 스트림은 1 내지 MAXSTREAM_ LEN 초의 지속기간을 가질 수 있으며, 이 예에서 MAXSTREAM_LEN = 20 초이다.
[0075] 입수 서버(205)는 스트림들을 입수하고 데이터 저장소(206) 내의 스트림 레코드를 생성하여 프로세서들(207 내지 209)의 결과들을 저장한다. 일 실시예에서, 오디오 스트림은 먼저 프로세싱되고, 필요한 다른 스트림들을 결정하는 데 사용된다. 입수 서버(205)는 스트림들을 streamid에 기초하여 적절한 프로세서(207 내지 209)로 전송한다. 예컨대, 비디오 스트림은 비디오 프로세서(207)로 전송되고, 오디오 스트림은 오디오 프로세서(208)로 전송되며, 사진 스트림은 사진 프로세서(209)로 전송된다. 일 실시예에서, 웨어러블 멀티미디어 디바이스로부터 수집된 데이터(예컨대, 이미지 데이터)의 적어도 일부분은 메타데이터로 프로세싱되고 암호화되어 그것이 주어진 애플리케이션에 의해 추가로 프로세싱될 수 있고 웨어러블 멀티미디어 디바이스 또는 다른 디바이스로 다시 전송될 수 있게 한다.
[0076] 프로세서들(207 내지 209)은 이전에 기술된 바와 같이 독점적이거나 또는 제3 자 애플리케이션들을 실행시킬 수 있다. 예컨대, 비디오 프로세서(207)는 비디오 버퍼(202)에 저장된 원시 비디오 데이터를 사용자 선호도들 또는 다른 정보에 기초하여 하나 이상의 이미지 프로세싱/편집 애플리케이션들(211, 212)의 세트로 전송하는 비디오 프로세싱 서버일 수 있다. 프로세서(207)는 애플리케이션들(211, 212)로 요청들을 전송하고, 결과들을 입수 서버(205)로 리턴한다. 일 실시예에서, 제3 자 프로세서(210)는 그 자신의 프로세서 및 애플리케이션을 사용하여 스트림들 중 하나 이상을 프로세싱할 수 있다. 다른 예에서, 오디오 프로세서(208)는 오디오 버퍼(203)에 저장된 스피치 데이터를 스피치-텍스트 변환기(speech-to-text converter) 애플리케이션(213)으로 전송하는 오디오 프로세싱 서버일 수 있다.
예시적인 장면 식별 애플리케이션
[0077] 도 3은 일 실시예에 따른, 콘텍스트 데이터 스트림을 프로세싱하기 위한 데이터 프로세싱 파이프라인의 블록도이다. 이러한 실시예에서, 데이터 프로세싱 파이프라인(300)은 사용자에 의해 착용된 웨어러블 멀티미디어 디바이스에 의해 캡처된 콘텍스트 데이터에 기초하여 사용자가 보고 있는 것을 결정하도록 생성되고 구성된다. 입수 서버(301)는 웨어러블 멀티미디어 디바이스의 오디오 버퍼(203)로부터 오디오 스트림(예컨대, 사용자 코멘터리를 포함)을 수신하고 오디오 스트림을 오디오 프로세서(305)로 전송한다. 오디오 프로세서(305)는 오디오 스트림을 앱(306)으로 전송하며, 이러한 앱은 스피치-텍스트 변환을 수행하고 파싱된(parsed) 텍스트를 오디오 프로세서(305)로 리턴한다. 오디오 프로세서(305)는 파싱된 텍스트를 입수 서버(301)로 리턴한다.
[0078] 비디오 프로세서(302)는 입수 서버(301)로부터 파싱된 텍스트를 수신하고 비디오 프로세싱 앱(307)으로 요청들을 전송한다. 비디오 프로세싱 앱(307)은 비디오 장면 내의 객체들을 식별하고, 파싱된 텍스트를 사용하여 객체들을 라벨링한다. 비디오 프로세싱 앱(307)은 장면(예컨대, 라벨링된 객체들)을 설명하는 응답을 비디오 프로세서(302)로 전송한다. 이어서, 비디오 프로세서는 응답을 입수 서버(301)로 포워딩한다. 입수 서버(301)는 응답을 데이터 병합 프로세스(308)로 전송하며, 이것은 응답을 사용자의 위치, 배향 및 맵 데이터와 병합한다. 데이터 병합 프로세스(308)는 장면 설명을 갖는 응답을 웨어러블 멀티미디어 디바이스 상의 레코더(304)로 리턴한다. 예컨대, 응답은, 지도 위치 및 장면 내의 객체들의 설명을 포함하는, 아이의 생일 파티와 같은 장면을 설명(예컨대, 장면 내의 사람들을 식별)하는 텍스트를 포함할 수 있다. 레코더(304)는 장면 설명을 웨어러블 멀티미디어 디바이스 상에 저장된 멀티미디어 데이터와 (예컨대, streamid를 사용하여) 연관시킨다. 사용자가 데이터를 재호출할 때, 데이터는 장면 설명으로 보강된다.
[0079] 일 실시예에서, 데이터 병합 프로세스(308)는 단지 위치 및 맵 데이터를 사용하는 것 이상일 수 있다. 온톨로지(ontology)의 개념이 또한 있을 수 있다. 예컨대, 이미지에서 캡처된 사용자의 Dad의 얼굴 특징들이 클라우드 컴퓨팅 플랫폼에 의해 인식될 수 있고, 사용자의 이름보다는 "Dad"로서 리턴될 수 있으며, "미국 캘리포니아주 샌프란시스코 555 메인 스트리트"와 같은 주소는 "홈"으로서 리턴될 수 있다. 온톨로지는 사용자에게 특정적일 수 있고 사용자의 입력으로부터 성장하고 학습할 수 있다.
예시적인 운송 애플리케이션
[0080] 도 4는 일 실시예에 따른, 운송 애플리케이션에 대한 콘텍스트 데이터 스트림을 프로세싱하기 위한 다른 데이터 프로세싱의 블록도이다. 이 실시예에서, 데이터 프로세싱 파이프라인(400)은 운송 회사(예컨대, Uber®, Lyft®)를 호출하여 집까지 태워다 주도록 생성된다. 웨어러블 멀티미디어 디바이스로부터의 콘텍스트 데이터는 입수 서버(401)에 의해 수신되고, 오디오 버퍼(203)로부터의 오디오 스트림은 오디오 프로세서(405)로 전송된다. 오디오 프로세서(405)는 오디오 스트림을 앱(406)으로 전송하며, 이러한 앱은 스피치를 텍스트로 변환한다. 파싱된 텍스트는 오디오 프로세서(405)로 리턴되며, 이러한 오디오 프로세서는 파싱된 텍스트(예컨대, 운송에 대한 사용자 스피치 요청)를 입수 서버(401)로 리턴한다. 프로세싱된 텍스트는 제3 자 프로세서(402)로 전송된다. 제3 자 프로세서(402)는 사용자 위치 및 토큰을 제3 자 애플리케이션(407)(예컨대, Uber® 또는 Lyft™® 애플리케이션)으로 전송한다. 일 실시예에서, 토큰은 사용자를 대신하여 요청을 중개하는 데 사용되는 API 및 인가 토큰이다. 애플리케이션(407)은 응답 데이터 구조를 제3 자 프로세서(402)로 리턴하며, 이러한 응답 데이터 구조는 입수 서버(401)로 포워딩된다. 입수 서버(401)는 응답 데이터 구조에서 승차 도착 상태(예컨대, ETA)를 점검하고 사용자 콜백 큐(callback queue)(408)에서 사용자에 대한 콜백을 설정한다. 입수 서버(401)는 차량 설명을 갖는 응답을 레코더(404)로 리턴하며, 이는 웨어러블 멀티미디어 디바이스 상의 라우드스피커를 통해, 또는 유선 또는 무선 접속을 통해 사용자의 헤드폰 또는 이어버드를 통해 디지털 어시스턴트에 의해 사용자에게 말해질 수 있다.
[0081] 도 5는 일 실시예에 따른, 도 2의 데이터 프로세싱 시스템에 의해 사용되는 데이터 객체들을 예시한다. 데이터 객체들은 클라우드 컴퓨팅 플랫폼 상에서 인스턴스화되는 소프트웨어 컴포넌트 인프라구조(infrastructure)의 일부이다. "Streams" 객체는 데이터 streamid, deviceid, start, end, lat, lon, attributes 및 entities를 포함한다. "streamid"는 스트림(예컨대, 비디오, 오디오, 사진)을 식별하고, "deviceid"는 웨어러블 멀티미디어 디바이스(예컨대, 모바일 디바이스 ID)를 식별하고, "start"는 콘텍스트 데이터 스트림의 시작 시간이고, "end"는 콘텍스트 데이터 스트림의 종료 시간이고, "lat"는 웨어러블 멀티미디어 디바이스의 위도이고, "lon"은 웨어러블 멀티미디어 디바이스의 경도이고, "attributes"는, 예컨대, 생일, 얼굴 포인트들, 피부 톤, 오디오 특성들, 주소, 전화 번호 등을 포함하며, "entities"는 온톨로지를 구성한다. 예컨대, 이름 "John Do"는 사용자에 따라 "Dad" 또는 "Brother"에 맵핑될 것이다.
[0082] "Users" 객체는 데이터 userid, deviceid, email, fname 및 lname을 포함한다. userid는 고유 식별자로 사용자를 식별하고, deviceid는 고유 식별자로 웨어러블 디바이스를 식별하고, email은 사용자의 등록된 이메일 주소이고, fname은 사용자의 이름(first name)이며, lname는 사용자의 성(last name)이다. "Userdevices" 객체는 데이터 userid 및 deviceid를 포함한다. "Devices" 객체는 데이터 deviceid, started, state, modified 및 created를 포함한다. 일 실시예에서, deviceid는 (예컨대, MAC 주소와 구별되는) 디바이스에 대한 고유 식별자이다. started는 디바이스가 처음 시작되었던 때이다. state는 온/오프/슬립 상태이다. modified는 최종 수정된 데이터이며, 이는 최종 상태 변화 또는 운영 체제(OS) 변화를 반영한다. created는 디바이스가 처음 턴 온되었던 시간이다.
[0083] "ProcessingResults" 객체는 데이터 streamid, ai, result, callback, duration 및 accuracy를 포함한다. 일 실시예에서, streamid는 보편적 고유 식별자(Universally Unique Identifier, UUID)로서 각각의 사용자 스트림이다. 예컨대, 8:00 AM에서부터 10:00 AM까지 시작되었던 스트림은 id:15h158dhb4를 가질 것이고 10:15 AM에서부터 10:18 AM까지 시작하는 스트림은 이러한 스트림에 대해 접촉되었던 UUID를 가질 것이다. AI는 이러한 스트림에 대해 접촉되었던 플랫폼 애플리케이션에 대한 식별자이다. result는 플랫폼 애플리케이션으로부터 전송된 데이터이다. callback은 사용되었던 콜백이다(버전들은 변경될 수 있고, 따라서 플랫폼이 요청을 재생할 필요가 있는 경우에 콜백이 추적된다). accuracy는 결과 세트가 얼마나 정확한지에 대한 점수이다. 일 실시예에서, 프로세싱 결과들은, 예컨대 1) 결과들의 전체 세트를 병합 서버에 알려주고, 2) 사용자 경험이 향상될 수 있도록 최고속 ai를 결정하고, 3) 가장 정확한 ai를 결정할 수 있도록, 많은 것들에 대해 사용될 수 있다. 사용 사례에 따라, 정확도보다 속도를 선호할 수 있거나 또는 그 반대일 수 있다.
[0084] "Entities" 객체는 데이터 entityID, userID, entityName, entityType 및 entityAttribute를 포함한다. entityID는 엔티티에 대한 UUID이고, entityID가 하나의 엔티티를 참조하는 다수의 엔트리들을 갖는 엔티티이다. 예컨대, "Barack Obama"는 POTUS44 또는 "Barack Hussein Obama" 또는 "President Obama"에 대한 연관 표에서 링크될 수 있는 144의 entityID를 가질 것이다. userID는 사용자 - 그를 위해 엔티티 레코드가 제조되었음 - 를 식별한다. entityName은 userID가 엔티티를 호출하는 이름이다. 예컨대, entityID 144에 대한 Malia Obama의 entityName은 "Dad" 또는 "Daddy"일 수 있다. entityType은 사람(person), 장소(place) 또는 물건(thing)이다. entityAttribute는 그 엔티티의 userID의 이해에 특정적인 엔티티에 관한 속성들의 어레이이다. 이는, 예컨대, Malia가 스피치 질의, "Dad가 보여?"라고 할 때, 클라우드 컴퓨팅 플랫폼이 질의를 Barack Hussein Obama에게 통역할 수 있고 그것을 제3 자들에 대한 요청들을 중개하거나 시스템 내의 정보를 검색하는 데 사용할 수 있도록 엔티티들을 함께 맵핑한다.
예시적인 프로세스들
[0085] 도 6은 일 실시예에 따른, 데이터 파이프라인 프로세스의 흐름도이다. 프로세스(600)는 도 1 내지 도 5를 참조하여 설명된 웨어러블 멀티미디어 디바이스들(101) 및 클라우드 컴퓨팅 플랫폼(102)을 사용하여 구현될 수 있다.
[0086] 프로세스(600)는 웨어러블 멀티미디어 디바이스로부터 콘텍스트 데이터를 수신(601)하는 것에 의해 시작할 수 있다. 예컨대, 콘텍스트 데이터는 웨어러블 멀티미디어 디바이스의 카메라 및 오디오 서브시스템에 의해 캡처된 비디오, 오디오 및 스틸 이미지들을 포함할 수 있다.
[0087] 프로세스(600)는 콘텍스트 데이터 및 사용자 요청들/선호도들에 기초하여 애플리케이션들을 갖는 데이터 프로세싱 파이프라인을 생성(예컨대, 인스턴스화)(602)함으로써 계속될 수 있다. 예컨대, 사용자 요청들 또는 선호도들에 기초하여, 그리고 또한 데이터 유형(예컨대, 오디오, 비디오, 사진)에 기초하여, 하나 이상의 애플리케이션들이 논리적으로 접속되어 데이터 프로세싱 파이프라인을 형성하여 웨어러블 멀티미디어 디바이스 또는 다른 디바이스 상에서 재생될 프리젠테이션으로 콘텍스트 데이터를 프로세싱할 수 있다.
[0088] 프로세스(600)는 데이터 프로세싱 파이프라인에서 콘텍스트 데이터를 프로세싱(603)함으로써 계속될 수 있다. 예컨대, 순간 또는 트랜잭션 동안 사용자 코멘터리로부터의 스피치가 텍스트로 변환될 수 있고, 이는 이어서 비디오 클립 내의 객체들을 라벨링하는 데 사용된다.
[0089] 프로세스(600)는 데이터 프로세싱 파이프라인의 출력을 웨어러블 멀티미디어 디바이스 및/또는 다른 재생 디바이스로 전송(604)함으로써 계속될 수 있다.
예시적인 클라우드 컴퓨팅 플랫폼 아키텍처
[0090] 도 7은 일 실시예에 따른, 도 1 내지 도 6 및 도 9를 참조하여 설명된 클라우드 컴퓨팅 플랫폼(102)에 대한 예시적인 아키텍처(700)이다. 더 많거나 더 적은 컴포넌트들을 갖는 아키텍처들을 포함하는 다른 아키텍처들이 가능하다. 일부 구현예들에서, 아키텍처(700)는 하나 이상의 프로세서(들)(702)(예컨대, 듀얼-코어 Intel® Xeon® 프로세서들), 하나 이상의 네트워크 인터페이스(들)(706), 하나 이상의 저장 디바이스(들)(704)(예컨대, 하드 디스크, 광 디스크, 플래시 메모리) 및 하나 이상의 컴퓨터 판독가능 매체(들)(708)(예컨대, 하드 디스크, 광 디스크, 플래시 메모리 등)를 포함한다. 이들 컴포넌트들은 하나 이상의 통신 채널(들)(710)(예컨대, 버스들)을 통해 통신들 및 데이터를 교환할 수 있으며, 이는 컴포넌트들 사이의 데이터 및 제어 신호들의 전달을 용이하게 하기 위해 다양한 하드웨어 및 소프트웨어를 이용할 수 있다.
[0091] 용어 "컴퓨터 판독가능 매체"는, 비휘발성 매체(예컨대, 광 또는 자기 디스크), 휘발성 매체(예컨대, 메모리) 및 송신 매체를 제한 없이 포함하는, 실행을 위해 프로세서(들)(702)에 명령어들을 제공하는 데 참여하는 임의의 매체를 지칭한다. 송신 매체는 동축 케이블들, 구리 와이어 및 광섬유를 제한 없이 포함한다.
[0092] 컴퓨터 판독가능 매체(들)(708)는 운영 체제(712)(예컨대, Mac OS® 서버, Windows® NT 서버, Linux 서버), 네트워크 통신 모듈(714), 인터페이스 명령어들(716) 및 데이터 프로세싱 명령어들(718)을 추가로 포함할 수 있다.
[0093] 운영 체제(712)는 멀티사용자, 멀티프로세싱, 멀티태스킹, 멀티스레딩, 실시간 등일 수 있다. 운영 체제(712)는, 디바이스들(702, 704, 706, 708)로부터의 입력을 인식하고 그것들에 출력을 제공하는 것; 컴퓨터 판독가능 매체(들)(708)(예컨대, 메모리 또는 저장 디바이스) 상에서 파일들 및 디렉토리들을 추적하고 관리하는 것; 주변 디바이스들을 제어하는 것; 및 하나 이상의 통신 채널(들)(710) 상에서 트래픽을 관리하는 것을 포함하지만 이에 제한되지는 않는, 기본 태스크들을 수행한다. 네트워크 통신 모듈(714)은 네트워크 접속을 확립 및 유지하기 위한 다양한 컴포넌트들(예컨대, TCP/IP, HTTP 등과 같은 통신 프로토콜을 구현하기 위한 소프트웨어) 및 예컨대 Apache Kafka™를 사용하여 분산형 스트리밍 플랫폼을 생성하기 위한 다양한 컴포넌트들을 포함한다. 데이터 프로세싱 명령어들(716)은, 도 1 내지 도 6을 참조하여 설명된 바와 같이, 서버 측 동작들을 구현하기 위한 서버 측 또는 백엔드 소프트웨어를 포함한다. 인터페이스 명령어들(718)은, 도 1을 참조하여 설명된 바와 같이, 웨어러블 멀티미디어 디바이스들(101), 제3 자 애플리케이션 개발자들(104) 및 제3 자 플랫폼들(105)로 데이터를 전송하고 이들로부터 데이터를 수신하기 위한 웹 서버 및/또는 포털을 구현하기 위한 소프트웨어를 포함한다.
[0094] 아키텍처(700)는 하나 이상의 프로세싱 코어들을 각각 갖는 로컬 또는 분산형 네트워크 내의 하나 이상의 서버 컴퓨터들을 포함하는 임의의 컴퓨터 디바이스에 포함될 수 있다. 아키텍처(700)는 병렬 프로세싱 또는 피어-투-피어 인프라구조에서 또는 하나 이상의 프로세서들을 갖는 단일 디바이스 상에서 구현될 수 있다. 소프트웨어는 다수의 소프트웨어 컴포넌트들을 포함할 수 있거나 또는 단일체의 코드일 수 있다.
예시적인 웨어러블 멀티미디어 디바이스 아키텍처
[0095] 도 8은 도 1 내지 도 6 및 도 9를 참조하여 설명된 특징부들 및 프로세스들을 구현하는 웨어러블 멀티미디어 디바이스에 대한 예시적인 아키텍처(800)의 블록도이다. 아키텍처(800)는 메모리 인터페이스(802), 데이터 프로세서(들), 이미지 프로세서(들) 또는 중앙 프로세싱 유닛(들)(804), 및 주변기기 인터페이스(806)를 포함할 수 있다. 메모리 인터페이스(802), 프로세서(들)(804) 또는 주변기기 인터페이스(806)는 별개의 컴포넌트들일 수 있거나 또는 하나 이상의 집적 회로들에 통합될 수 있다. 하나 이상의 통신 버스들 또는 신호 라인들이 다양한 컴포넌트들을 결합시킬 수 있다.
[0096] 센서들, 디바이스들, 및 서브시스템들은 다수의 기능들을 용이하게 하도록 주변기기 인터페이스(806)에 결합될 수 있다. 예컨대, 모션 센서(들)(810), 생체측정 센서(들)(812), 심도 센서(814)는 모션, 배향, 생체측정 및 심도 검출 기능들을 용이하게 하도록 주변기기 인터페이스(806)에 결합될 수 있다. 일부 구현예들에서, 모션 센서(들)(810)(예컨대, 가속도계, 속도 자이로스코프)는 웨어러블 멀티미디어 디바이스의 이동 및 배향을 검출하는 데 이용될 수 있다.
[0097] 환경 감지 기능들을 용이하게 하는 환경 센서(들)(예컨대, 온도, 기압계, 주변광 센서)와 같은 다른 센서들이 또한 주변기기 인터페이스(806)에 접속될 수 있다. 예컨대, 생체측정 센서는 지문, 얼굴 인식, 심박수 및 다른 피트니스 파라미터들을 검출할 수 있다. 일 실시예에서, 햅틱 모터(미도시)가 주변기기 인터페이스에 결합될 수 있으며, 이는 사용자에게 햅틱 피드백으로서 진동 패턴들을 제공할 수 있다.
[0098] 위치 프로세서(815)(예컨대, GNSS 수신기 칩)는 좌표 참조(geo-referencing)를 제공하기 위해 주변기기 인터페이스(806)에 접속될 수 있다. 전자 자력계(816)(예컨대, 집적 회로 칩)는 또한, 자북(magnetic North)의 방향을 결정하는 데 사용될 수 있는 데이터를 제공하도록 주변기기 인터페이스(806)에 접속될 수 있다. 따라서, 전자 자력계(816)는 전자 나침반 애플리케이션에 의해 사용될 수 있다.
[0099] 카메라 서브시스템(820) 및 광 센서(822), 예컨대, CCD(charged coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 광 센서가 사진 및 비디오 클립들을 레코딩하는 것과 같은 카메라 기능들을 용이하게 하도록 이용될 수 있다. 일 실시예에서, 카메라는 180° FOV 및 OIS를 갖는다. 심도 센서는 알려진 패턴의 도트들을 객체/대상 위로 투사하는 적외선 방출기를 포함할 수 있다. 이어서, 도트들은 전용 적외선 카메라에 의해 촬영되고 분석되어 심도 데이터를 결정한다. 일 실시예에서, 전파 시간(time-of-flight, TOF) 카메라는 알려진 광 속도 및 이미지의 각각의 지점에 대한 카메라와 객체/대상 사이의 광 신호의 전파 시간의 측정에 기초하여 거리를 구하는 데 사용될 수 있다.
[00100] 통신 기능들은 하나 이상의 통신 서브시스템(824)을 통해 용이하게 될 수 있다. 통신 서브시스템(들)(824)은 하나 이상의 무선 통신 서브시스템들을 포함할 수 있다. 무선 통신 서브시스템들(824)은 무선 주파수 수신기들 및 송신기들 및/또는 광(예컨대, 적외선) 수신기들 및 송신기들을 포함할 수 있다. 유선 통신 시스템들은 포트 디바이스, 예컨대, 다른 컴퓨팅 디바이스들, 예컨대, 다른 통신 디바이스들, 네트워크 액세스 디바이스들, 개인용 컴퓨터, 프린터, 디스플레이 스크린, 또는 데이터를 수신하거나 송신할 수 있는 다른 프로세싱 디바이스들(예컨대, 레이저 프로젝터)에 대한 유선 접속을 확립하는 데 사용될 수 있는 범용 직렬 버스(Universal Serial Bus, USB) 포트 또는 일부 다른 유선 포트 접속부를 포함할 수 있다.
[00101] 통신 서브시스템(824)의 특정 설계 및 구현은 통신 네트워크(들) 또는 매체(들) - 이를 통해 디바이스가 동작하도록 의도됨 - 에 의존할 수 있다. 예컨대, 디바이스는 GSM(global system for mobile communication) 네트워크, GPRS 네트워크, EDGE(enhanced data GSM environment) 네트워크, IEEE802.xx 통신 네트워크들(예컨대, WiFi, WiMax, ZigBee™), 3G, 4G, 4G LTE, CDMA(code division multiple access) 네트워크, NFC(near field communication), Wi-Fi Direct 및 Bluetooth™ 네트워크를 통해 동작하도록 설계된 무선 통신 서브시스템들을 포함할 수 있다. 무선 통신 서브시스템들(824)은 디바이스가 다른 무선 디바이스들에 대한 기지국으로서 구성될 수 있도록 호스팅 프로토콜들을 포함할 수 있다. 다른 예로서, 통신 서브시스템들은, 디바이스가, 예컨대, TCP/IP 프로토콜, HTTP 프로토콜, UDP 프로토콜, ICMP 프로토콜, POP 프로토콜, FTP 프로토콜, IMAP 프로토콜, DCOM 프로토콜, DDE 프로토콜, SOAP 프로토콜, HTTP 라이브 스트리밍(Live Streaming), MPEG Dash 및 임의의 다른 공지된 통신 프로토콜 또는 기술과 같은 하나 이상의 프로토콜들 또는 통신 기술들을 사용하여 호스트 디바이스와 동기화되게 할 수 있다.
[00102] 오디오 서브시스템(826)은 음성 인식, 음성 복제, 디지털 레코딩, 전화 기능들 및 빔포밍과 같은 음성 지원 기능들을 용이하게 하도록 스피커(828) 및 하나 이상의 마이크로폰들(830)에 결합될 수 있다.
[00103] I/O 서브시스템(840)은 터치 제어기(842) 및/또는 다른 입력 제어기(들)(844)를 포함할 수 있다. 터치 제어기(842)는 터치 표면(846)에 결합될 수 있다. 터치 표면(846) 및 터치 제어기(842)는, 예컨대, 용량성, 저항성, 적외선, 및 표면 탄성파 기술들뿐만 아니라, 터치 표면(846)과의 하나 이상의 접촉점들을 결정하기 위한 다른 근접 센서 어레이들 또는 다른 요소들을 포함하지만 이에 제한되지는 않는 다수의 터치 감응 기술들 중 임의의 것을 사용하여 접촉 및 움직임을 검출하거나 또는 그것의 중단을 검출할 수 있다. 일 구현예에서, 터치 표면(846)은 사용자에 의해 입력/출력 디바이스로서 사용될 수 있는 가상 또는 소프트 버튼들을 디스플레이할 수 있다.
[00104] 다른 입력 제어기(들)(844)는 하나 이상의 버튼들, 로커 스위치들, 썸휠, 적외선 포트, USB 포트, 및/또는 스타일러스와 같은 포인터 디바이스와 같은 다른 입력/제어 디바이스들(848)에 결합될 수 있다. 하나 이상의 버튼들(미도시)은 스피커(828) 및/또는 마이크로폰(830)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 있다.
[00105] 일부 구현예들에서, 디바이스(800)는 MP3, AAC, 및 MPEG 비디오 파일들과 같은 사용자 레코딩된 오디오 및/또는 비디오 파일들로 재생된다. 일부 구현예들에서, 디바이스(800)는 MP3 플레이어의 기능을 포함할 수 있고, 다른 디바이스들로의 테더링을 위한 핀 커넥터 또는 다른 포트를 포함할 수 있다. 다른 입력/출력 및 제어 디바이스들이 사용될 수 있다. 일 실시예에서, 디바이스(800)는 직접 또는 간접 통신 링크를 통해 액세서리 디바이스에 오디오를 스트리밍하기 위한 오디오 프로세싱 유닛을 포함할 수 있다.
[00106] 메모리 인터페이스(802)는 메모리(850)에 결합될 수 있다. 메모리(850)는 고속 랜덤 액세스 메모리 또는 비휘발성 메모리, 예컨대 하나 이상의 자기 디스크 저장 디바이스들, 하나 이상의 광학 저장 디바이스들, 또는 플래시 메모리(예컨대, NAND, NOR)를 포함할 수 있다. 메모리(850)는 Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, 또는 내장형 운영 체제, 예컨대, VxWorks와 같은 운영 체제(852)를 저장할 수 있다. 운영 체제(852)는 기본 시스템 서비스들을 취급하고 하드웨어 종속 태스크들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현예들에서, 운영 체제(852)는 커널(예컨대, UNIX 커널)을 포함할 수 있다.
[00107] 메모리(850)는 또한, 도 1 내지 도 6을 참조하여 설명된 바와 같이, 무선 액세서리 디바이스들과의 피어-투-피어 통신을 포함하는, 하나 이상의 추가적인 디바이스들, 하나 이상의 컴퓨터들 또는 서버들과 통신하는 것을 용이하게 하는 통신 명령어들(854)을 저장할 수 있다. 통신 명령어들(854)은 또한, 디바이스의 지리적 위치에 기초하여, 디바이스에 의해 사용하기 위한 동작 모드 또는 통신 매체를 선택하는 데 사용될 수 있다.
[00108] 메모리(850)는 도 1 내지 도 6을 참조하여 설명된 바와 같이, 센서 관련 프로세싱 및 기능들을 용이하게 하는 센서 프로세싱 명령어들(858) 및 레코딩 기능들을 용이하게 하는 레코더 명령어들(860)을 포함할 수 있다. 다른 명령어들은 GNSS 및 내비게이션 관련 프로세스들을 용이하게 하는 GNSS/내비게이션 명령어들, 카메라 관련 프로세스들을 용이하게 하는 카메라 명령어들 및 터치 입력들을 해석하기 위한 터치 모델을 포함하는 사용자 인터페이스 프로세싱을 용이하게 하는 사용자 인터페이스 명령어들을 포함할 수 있다.
[00109] 상기의 식별된 명령어들 및 애플리케이션들 각각은 전술된 하나 이상의 기능들을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이러한 명령어들이 별개의 소프트웨어 프로그램들, 절차들, 또는 모듈들로서 구현될 필요는 없다. 메모리(850)는 추가적인 명령어들 또는 더 적은 명령어들을 포함할 수 있다. 또한, 디바이스의 다양한 기능들은 하나 이상의 신호 프로세싱 및/또는 ASIC(application specific integrated circuit)들을 포함하는 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
예시적인 그래픽 사용자 인터페이스
[00110] 도 9는 일 실시예에 따른, 도 3을 참조하여 설명된 장면 식별 애플리케이션과 함께 사용하기 위한 예시적인 GUI(graphical user interface)(900)의 스크린 샷이다. GUI(900)는 비디오 판(pane)(901), 시간/위치 데이터(902), 객체들(903, 906a, 906b, 906c), 검색 버튼(904), 카테고리들의 메뉴(905) 및 썸네일 이미지들(907)을 포함한다. GUI(900)는, 예컨대, 클라이언트 애플리케이션을 통해 또는 클라우드 컴퓨팅 플랫폼(102)의 웹 서버에 의해 제공되는 웹 페이지를 통해, 사용자 디바이스(예컨대, 스마트폰, 태블릿 컴퓨터, 웨어러블 디바이스, 데스크탑 컴퓨터, 노트북 컴퓨터)에 제시될 수 있다. 이 예에서, 사용자는, 시간/위치 데이터(902)에 표시된 바와 같이, 2018년 10월 18일, 오후 12시 45분에 뉴욕주, 뉴욕시, 오차드 스트리트에 서 있는 비디오 창(901)의 한 청년의 디지털 이미지를 캡처했다.
[00111] 일 실시예에서, 이미지는 비올라-존스(Viola-Jones) 객체 검출 네트워크와 같은, 클라우드 컴퓨팅 플랫폼(102) 상에 구현된 객체 검출 프레임워크를 통해 프로세싱된다. 예컨대, 전체 디지털 이미지에 걸쳐 있는 경계 상자들의 세트를 포함하는 관심 영역들 또는 영역 제안들을 생성하기 위한 모델 또는 알고리즘이 사용된다. 경계 상자들 각각에 대해 시각적 특징들이 추출되고, 시각적 특징들에 기초하여 영역 제안들에 객체들이 존재하지 여부 및 어떤 객체들이 존재하는지를 결정하기 위해 평가된다. 중첩하는 상자들은 (예컨대, 비최대 억제(non-maximum suppression)를 사용하여) 단일 경계 상자로 결합된다. 일 실시예에서, 중첩하는 상자들은 또한 객체들을 빅 데이터 저장소의 카테고리들로 조직하는 데 사용된다. 예컨대, 객체(903)(청년)는 패런트 객체로 간주되고, 객체들(906a-906c)(그가 착용하고 있는 물품들)은 중첩하는 경계 상자들로 인해 객체(903)에 대한 차일드 객체들(신발, 셔츠, 바지)로 간주된다. 따라서, 검색 엔진을 사용하여 "사람"을 검색하는 것은 "사람"으로 라벨링된 모든 객체들 및 그들의 차일드 객체들(존재하는 경우)이 검색 결과들에 포함되게 한다.
[00112] 일 실시예에서, 경계 상자들보다는, 복잡한 다각형들이 이미지에서 객체들을 식별하는 데 사용된다. 복잡한 다각형은, 예컨대, 사용자가 가리키는 이미지에서 하이라이트/핫스팟 영역을 결정하는 데 사용된다. (전체 이미지가 아니라) 복잡한 폴리 분할 조각만이 클라우드 컴퓨팅 플랫폼으로 전송되기 때문에, 프라이버시, 보안 및 속도가 향상된다.
[00113] 디지털 이미지에서 객체를 검출하고 라벨링하기 위해 클라우드 컴퓨팅 플랫폼(102)에 의해 구현될 수 있는 객체 검출 프레임워크들의 다른 예들은 R-CNN(region convolutional neural networks), Fast R-CNN 및 Faster R-CNN을 포함하지만, 이에 제한되지는 않는다.
[00114] 이 예에서, 디지털 이미지에서 식별된 객체들은 사람들, 자동차들, 빌딩들, 도로, 창문들, 문들, 계단들, 표지판 텍스트를 포함한다. 식별된 객체들은 사용자가 검색할 수 있는 카테고리들로서 조직되고 제공된다. 사용자가 커서 또는 손가락(터치 감지 스크린을 사용하는 경우)을 사용하여 "사람들" 카테고리를 선택했다. "사람" 카테고리를 선택함으로써, 객체(903)(즉, 이미지의 청년)가 디지털 이미지의 나머지 객체들로부터 분리되고, 객체들(906a-906c)의 서브세트가 그들 개개의 메타데이터를 갖는 썸네일 이미지들(907)에 디스플레이된다. 객체(906a)는 "오렌지, 셔츠, 버튼들, 반팔"로 라벨링된다. 객체(906b)는 "청색, 바지, 찢어짐, 데님, 포캣, 폰"으로 라벨링되고, 객체(906c)는 "청색, 나이키, 신발, 좌측, 에어 맥스, 적색 양말, 흰색 스우시, 로고"로 라벨링된다.
[00115] 검색 버튼(904)은 눌려질 때, 사용자가 선택한 카테고리 및 비디오 판(901)의 특정 이미지에 기초하여 새로운 검색을 개시한다. 검색 결과들은 썸네일 이미지들(907)을 포함한다. 유사하게, 사용자가 "자동차" 카테고리를 선택하고 그런 다음 검색 버튼(904)을 누르면, 이미지에 캡처된 모든 자동차들과 그들 개개의 메타데이터를 함께 보여주는 새로운 썸네일들의 세트(907)가 디스플레이된다.
[00116] 도 10은 일 실시예에 따른, 원시 또는 사전 프로세싱된 콘텍스트 데이터를, 도 9의 GUI(900)를 사용하여 검색될 수 있는 객체들 및 메타데이터로 분류하기 위한 분류기 프레임워크(1000)를 예시한다. 프레임워크(1000)는 API(1001), 분류기들(1002a-1002n) 및 데이터 저장소(1005)를 포함한다. 웨어러블 멀티미디어 디바이스에서 캡처된 원시 또는 사전 프로세싱된 콘텍스트 데이터는 API(1001)를 통해 업로드된다. 콘텍스트 데이터는 분류기들(1002a-1002n)(예컨대, 신경망들)을 통해 실행된다. 일 실시예에서, 분류기들(1002a-1002n)은 다수의 웨어러블 멀티미디어 디바이스들로부터 크라우드-소싱된 콘텍스트 데이터를 사용하여 훈련된다. 분류기들(1002a-1002n)의 출력들은, 데이터 저장소(1005)에 저장된 객체들 및 메타데이터(예컨대, 라벨들)이다. GUI(900)를 사용하여 입력된 검색 질의를 만족시키는 객체들/메타데이터를 검색하기 위해 검색 엔진에 의해 사용될 수 있는 검색 인덱스가 데이터 저장소(1005)의 객체/메타데이터에 대해 생성된다. 트리 인덱스, 접미사 트리 인덱스, 역 인덱스, 인용 인덱스 분석 및 n-gram 인덱스를 포함하지만 이에 제한되지 않는 다양한 유형의 검색 인덱스드이 사용될 수 있다.
[00117] 분류기들(1002a-1002n)은 데이터 유형, 데이터 수량, 데이터 품질, 사용자 선호도들, 사용자 개시 또는 애플리케이션 개시 검색 질의들, 음성 커맨드들, 애플리케이션(들) 요건들, 템플릿들 및/또는 원하는 프레젠테이션을 생성하기 위한 임의의 다른 정보 중 하나 이상에 기초하여, 선택되어 동적 데이터 프로세싱 파이프라인에 추가된다. 신경망들, SVM(Support Vector Machines)들, 랜덤 포레스트들(Random Forests), 부스트 결정 트리들(Boosted Decision Trees), 및 투표, 스태킹(stacking) 및 그레이딩 기법들을 사용하는 이러한 개별 분류기들의 조합을 포함하는 임의의 알려진 분류기들이 사용될 수 있다. 일 실시예에서, 분류기들 중 일부는 사용자에게 개인적이며, 즉, 분류기는 특정 사용자 디바이스로부터의 콘텍스트 데이터에 대해서만 훈련된다. 이러한 분류기들은, 사용자에게 개인적인 사람들 및 객체들을 검출하고 라벨링하도록 훈련될 수 있다. 예컨대, 하나의 분류기는 사용자에게 알려져 있고, 예컨대, 사용자 입력에 의해 라벨링된 개인들(예컨대, 가족 구성원들, 친구들)의 이미지들에서 얼굴들을 검출하기 위해 얼굴 검출에 사용될 수 있다.
[00118] 예로서, 사용자는 다수의 구문들, 이를테면, "뉴올리언스에 있는 나의 엄마와 아빠를 포함하는 내 비디오들로부터 영화 만들기", "재즈 음악을 사운드 트랙에 추가하시오", "허리케인을 만들기 위한 음료 레시피를 보내주세요", "가까운 주류 판매점으로 가는 길을 나에게 알려주세요"라고 말할 수 있다. 사용자의 엄마와 아빠의 얼굴들을 검출하기 위한 분류기를 추가하는 것을 포함하여, 요청된 작업들을 수행하기 위해 개인화된 프로세싱 파이프라인을 조립하기 위해 클라우드 컴퓨팅 플랫폼(102)에 의해 음성 구문들이 파싱되고 단어들이 사용된다.
[00119] 일 실시예에서, AI는 메시징 세션 동안 사용자가 클라우드 컴퓨팅 플랫폼과 상호작용하는 방법을 결정하는 데 사용된다. 예컨대, 사용자가 "밥, 토이 스토리 4를 본 적이 있습니까?"라는 메시지를 말하면, 클라우드 컴퓨팅 플랫폼은 밥(Bob)이 누구인지를 결정하고, 클라우드 컴퓨팅 플랫폼의 메시지 중계 서버로 전송된 스트링으로부터 "밥"을 파싱한다. 유사하게, 메시지가 "밥, 이것 좀 봐"라고 말하면, 플랫폼 디바이스는, 이미지를 별개의 트랜잭션으로 첨부하지 않고서, 하나의 단계에서 메시지와 함께 이미지를 전송한다. 이미지는, 프로젝터(1115) 및 원하는 표면을 사용하여, 밥에게 전송하기 전에 사용자에 의해 시각적으로 확인될 수 있다. 또한, 플랫폼은 일정 시간 기간 동안 밥과의 지속적이고 개인적인 통신 채널을 유지하여, 메시지 세션 동안 각각의 통신에 "밥"이라는 이름이 먼저 올 필요가 없다.
콘텍스트 데이터 브로커 서비스
[00120] 일 실시예에서, 콘텍스트 데이터 브로커 서비스는 클라우드 컴퓨팅 플랫폼(102)을 통해 제공된다. 서비스는 사용자들이 그들의 개인 원시 또는 프로세싱된 콘텍스트 데이터를 그들이 선택한 엔티티들에 판매하는 것을 허용한다. 플랫폼(102)은 콘텍스트 데이터 브로커 서비스를 호스팅하고, 사용자 콘텍스트 데이터의 프라이버시를 보호하는 데 필요한 보안 프로토콜들을 제공한다. 플랫폼(102)은 또한 엔티티들과 사용자들 간의 거래들 및 돈 또는 크레디트들의 이동을 가능하게 한다.
[00121] 원시 및 사전 프로세싱된 콘텍스트 데이터는 빅 데이터 저장소를 사용하여 저장될 수 있다. 빅 데이터 저장소는 다수의 데이터 파일들 및 객체들을 갖는 저장소에 대한 저장 및 입출력 동작들을 지원한다. 일 실시예에서, 빅 데이터 저장소는 DAS(direct attached storage) 풀들, 스케일 아웃 또는 클러스터링된 NAS(network attached storage) 또는 객체 저장 포맷에 기초한 인프라구조의 중복되고 확장 가능한 공급으로 구성된 아키텍처를 포함한다. 저장소 인프라구조는, 대용량 데이터의 빠른 프로세싱 및 리트리벌(retrieval)을 가능하게 하는 컴퓨팅 서버 노드들에 연결된다. 일 실시예에서, 빅 데이터 저장 아키텍처는 Hadoop™, Cassandra™ 및 NoSQL™과 같은 빅 데이터 분석 솔루션들에 대한 네이티브 지원을 포함한다.
[00122] 일 실시예에서, 원시 또는 프로세싱된 콘텍스트 데이터 구매에 관심이 있는 엔티티들은 클라우드 컴퓨팅 플랫폼(102)의 등록 GUI 또는 웹 페이지를 통해 콘텍스트 데이터 브로커 서비스에 가입한다. 일단 등록되면, 엔티티들(예컨대, 회사들, 광고 대행사들)은 데이터 중개(data brokering)를 가능하게 하도록 맞춤화된 하나 이상의 GUI들을 통해 사용자들과 직접 또는 간접적으로 거래하도록 허용된다. 일 실시예에서, 플랫폼(102)은, 콘텍스트 데이터의 특정 유형들에 대한 엔티티들의 요청과, 콘텍스트 데이터를 제공할 수 있는 사용자를 매칭시킬 수 있다. 예컨대, 의류 회사는, 자신들의 의류 또는 경쟁업체 로고가 검출된 모든 이미지들에 관심을 가질 수 있다. 그런 다음, 의류 회사는 자신들의 고객들의 인구 통계를 더 잘 식별하기 위해 콘텍스트 데이터를 사용할 수 있다. 다른 예에서, 뉴스 아울렛들 또는 정치 캠페인들은, 커버 스토리 또는 특집 기사에서 사용할 뉴스 가치가 있는 이벤트들의 비디오 영상(video footage)에 관심을 가질 수 있다. 다양한 회사들은, 향상된 광고 타겟팅 또는 다른 마케팅 프로젝트들을 위해 사용자들의 검색 이력 또는 구매 이력에 관심을 가질 수 있다. 다양한 엔티티들은, 자율 주행 차량들을 위한 객체 검출기들과 같은 다른 객체 검출기들에 대한 훈련 데이터로서 사용하기 위해 콘텍스트 데이터를 구매하는 데 관심을 가질 수 있다.
[00123] 일 실시예에서, 사용자의 원시 또는 프로세싱된 콘텍스트 데이터는 사용자의 프라이버시를 보호하기 위해 보안 포맷들로 이용 가능하게 된다. 사용자들 및 엔티티들 둘 모두는 중개 거래들로부터 발생하는 돈을 입금 및 출금하기 위해 그들 자신의 온라인 계정들을 가질 수 있다. 일 실시예에서, 데이터 브로커 서비스는 가격 책정 모델에 기초하여 거래 수수료를 징수한다. 수수료는 또한 전통적인 온라인 광고(예컨대, 배너 광고들 상의 클릭 등)를 통해 획득될 수 있다.
[00124] 일 실시예에서, 개인들은 웨어러블 멀티미디어 디바이스를 사용하여 그들 자신의 메타데이터를 생성할 수 있다. 예컨대, 유명 셰프는, 식사를 준비하는 동안, 웨어러블 멀티미디어 디바이스(102)를 착용할 수 있다. 이미지들 내의 객체들은 셰프가 제공한 메타데이터를 사용하여 라벨링된다. 사용자는 브로커 서비스에서 메타데이터에 대한 액세스 권한을 얻을 수 있다. 사용자가 그들 자신의 웨어러블 멀티미디어 디바이스(102)를 착용한 상태에서 요리를 준비하려고 하는 경우, 객체들이 검출되고, 사용자가 셰프가 제공한 것, 이를테면, 측정들, 요리 시간들 및 추가 팁 등을 재현하는 데 도움이 되는 메타데이터(예컨대, 타이밍, 볼륨, 시퀀스, 스케일)가 사용자의 작업 표면(예컨대, 도마, 조리대, 스토브, 오븐 등)에 투사된다. 예컨대, 도마에서 고기 조각이 검출되고, 프로젝터(1115)에 의해 도마에 사용자에게 고기를 결에 대해 자르도록 상기시키는 텍스트가 투사되고, 또한 고기 표면에 측정 가이드를 투사하여 셰프의 메타데이터에 따라 균일한 두께로 슬라이스들을 절단하도록 사용자를 안내한다. 레이저 투사 가이드들은 또한 채소들을 균일한 두께로 자는 데 사용될 수 있다(예컨대, 쥘리엔느(Julienne), 브뤼누아즈(Brunoise)). 사용자들은 자신들의 메타데이터를 클라우드 서비스 플랫폼에 업로드하고, 그들 자신의 채널을 생성하고, YouTube® 플랫폼과 유사한 구독들 및 광고들을 통해 수익을 올릴 수 있다.
[00125] 도 11은 일 실시예에 따른 웨어러블 멀티미디어 디바이스를 위한 하드웨어 아키텍처(1100)를 도시하는 시스템 블록도이다. 아키텍처(1100)는 SoC(system on chip)(1101)(예컨대, Qualcomm Snapdragon® 칩), 메인 카메라(1102), 3D 카메라(1103), 용량성 센서(1104), 모션 센서(1105)(예컨대, 가속도계들, 자이로들, 자력계들), 마이크로폰(1106), 메모리(1107), 글로벌 내비게이션 위성 시스템 수신기(예컨대, GPS 수신기)(1108), WiFi/Bluetooth 칩(1109), 무선 트랜시버 칩(1110)(예컨대, 4G, 5G), 무선 주파수(RF) 트랜시버 칩(1112), RFFE(RF front end electronics)(1113), LED들(1114), 프로젝터(1115)(예컨대, 레이저 투사, 피코 프로젝터, LCoS, DLP, LCD), 오디오 증폭기(1116), 스피커(1117), 외부 배터리(1118)(예컨대, 배터리 팩), 자기 인덕턴스 회로부(1119), 전력 관리 칩(PMIC)(1120) 및 내부 배터리(1121)를 포함한다. 이러한 모든 컴포넌트들은 본원에 설명된 다양한 작업들을 가능하게 하기 위해 함께 작동한다.
[00126] 도 12는 일 실시예에 따른 웨어러블 멀티미디어 디바이스들로부터 수신된 원시 또는 사전 프로세싱된 콘텍스트 데이터를 프로세싱하기 위한 대안적인 클라우드 컴퓨팅 플랫폼(1200)을 도시하는 시스템 블록도이다. 에지 서버(1201)는 무선 통신 링크를 통해 웨어러블 멀티미디어 디바이스들(1202)로부터 원시 또는 사전 프로세싱된 콘텍스트 데이터를 수신한다. 에지 서버(1201)는 AI 또는 카메라 비디오(CV) 프로세싱 및 제스처 검출과 같은 제한된 로컬 사전 프로세싱을 제공한다. 에지 서버(1201)에서, 디스패처(dispatcher)(1203)는 원시 또는 사전 프로세싱된 콘텍스트 데이터를 상태/콘텍스트 검출기(1204), 제1 상대방 핸들러(1205) 및/또는 제한된 AI 작업들을 수행하기 위한 제한된 AI 리졸버(resolver)(1206)로 보낸다. 상태/콘텍스트 검출기(1204)는, 콘텍스트 데이터가 캡처된 위치를 결정하기 위해 웨어러블 멀티미디어 디바이스(1202)의, 예컨대, GPS 수신기 또는 다른 포지셔닝 기술(예컨대, Wi-Fi, 셀룰러, 시각적 주행 기록계(visual odometry))에 의해 제공되는 GNSS 데이터를 사용한다. 상태/콘텍스트 검출기(1204)는 또한, 사용자 활동, 기분 및 관심을 결정하기 위해 콘텍스트 데이터에 포함된 이미지, 오디오 및 센서 데이터(예컨대, 모션 센서 데이터, 생체인식 데이터)를 분석하도록 이미지 및 음성 기술 및 AI를 사용한다.
[00127] 에지 서버(1201)는 섬유 및 라우터들에 의해 지역 데이터 센터(1207)에 커플링된다. 지역 데이터 센터(1207)는 사전 프로세싱된 또는 원시 콘텍스트 데이터의 전체 AI 및/또는 CV 프로세싱을 수행한다. 지역 데이터 센터(1207)에서, 디스패처(1208)는 원시 또는 사전 프로세싱된 콘텍스트 데이터를 상태/콘텍스트 검출기(1209), 전체 AI 리졸버(1210), 제1 핸들러(1211) 및/또는 제2 핸들러(1212)로 보낸다. 상태/콘텍스트 검출기(1209)는, 콘텍스트 데이터가 캡처된 위치를 결정하기 위해 웨어러블 멀티미디어 디바이스(1202)의, 예컨대, GPS 수신기 또는 다른 포지셔닝 기술(예컨대, Wi-Fi, 셀룰러, 시각적 주행 기록계)에 의해 제공되는 GNSS 데이터를 사용한다. 상태/콘텍스트 검출기(1209)는 또한, 사용자 활동, 기분 및 관심을 결정하기 위해 콘텍스트 데이터에 포함된 이미지, 오디오 및 센서 데이터(예컨대, 모션 센서 데이터, 생체인식 데이터)를 분석하도록 이미지 및 음성 인식 기술 및 AI를 사용한다.
[00128] 도 13은 일 실시예에 따른 웨어러블 멀티미디어 디바이스를 위한 소프트웨어 컴포넌트들(1300)을 예시한다. 예컨대, 소프트웨어 컴포넌트들은 AI 및 CV, 제스처 인식, 메시징, 미디어 캡처, 서버 연결 및 액세서리 연결을 위한 데몬들(1301)을 포함한다. 소프트웨어 컴포넌트들은 GPU(graphics processing unit), ML(machine learning), CV(camera video) 및 네트워크 서비스들을 위한 라이브러리들(1302)을 더 포함한다. 소프트웨어 컴포넌트들은 하드웨어 추상 및 리눅스 커널을 포함하는 Android® NDK(Native Development Kit)와 같은 운영 체제(1303)를 포함한다. 다른 소프트웨어 컴포넌트들(1304)은 전력 관리, 연결, 보안 + 암호화 및 소프트웨어 업데이트들을 위한 컴포넌트들을 포함한다.
[00129] 도 14a 내지 도 14d는 일 실시예에 따른, 프로젝터(1115)에 의해 투사된 다양한 유형의 정보를 사용자의 손바닥에 투사하는 웨어러블 멀티미디어 디바이스의 프로젝터(1115)의 사용을 예시한다. 특히, 도 14a는 전화 번호를 다이얼링하고 번호 입력을 필요로 하는 다른 작업들에 사용하기 위한, 사용자의 손바닥에 숫자 패드의 레이저 투사를 도시한다. 3D 카메라(1103)(심도 센서)는 숫자 패드 상의 사용자 손가락의 위치를 결정하는 데 사용된다. 사용자는 전화 번호를 다이얼링하는 것과 같이 숫자 패드와 상호작용할 수 있다. 도 14b는 사용자의 손바닥에 투사된 턴-바이-턴 방향들을 도시한다. 도 14c는 사용자의 손바닥에 투사된 시계를 도시한다. 도 14d는 사용자의 손바닥에서 판독된 온도를 도시한다. 다양한 하나 또는 2개의 손가락 제스처들(예컨대, 탭, 길게 누르기, 스와이프 핀치/디-핀치)가 3D 카메라(1103)에 의해 검출되어, 웨어러블 멀티미디어 디바이스에서 상이한 액션들이 트리거되게 할 수 있다.
[00130] 도 14a 내지 도 14d가 사용자의 손바닥 상의 레이저 투사들을 도시하지만, 벽들, 바닥들, 천장들, 커튼들, 의류, 투사 스크린들, 테이블/책상/카운터 상판들, 가정용 기기들(예컨대, 스토브들, 세탁기/건조기) 및 장치들(예컨대, 자동차 엔진들, 전자 회로 기판들, 도마들)을 포함하지만 이에 제한되지 않는 임의의 투사 표면이 사용될 수 있다.
[00131] 도 15a 및 도 15b는 일 실시예에 따른, 프로젝터(1115)의 애플리케이션을 예시하며, 여기서 사용자가 엔진 오일을 점검하는 것을 돕기 위한 정보가 자동차 엔진에 투사된다. 도 15a 및 15b는 이미지의 전후 이미지들을 도시한다. 사용자는 "오일을 어떻게 점검합니까?"라는 말을 한다. 이 예에서, 음성은 마이크로폰(1106)에 의해 수신되고, 웨어러블 멀티미디어 디바이스(1202)의 메인 카메라(1102) 및/또는 3D 카메라(1103)는 엔진의 이미지를 캡처한다. 이미지 및 음성은 압축되어 에지 서버(1201)로 전송된다. 에지 서버(1201)는 이미지 및 오디오를 지역 데이터 센터(1207)로 전송한다. 지역 데이터 센터(1207)에서, 이미지 및 오디오가 압축 해제되고, 하나 이상의 분류기들이 이미지에서 오일 딥스틱(dipstick) 및 오일 필러 캡(oil filler cap)의 위치를 검출하고 라벨링하는 데 사용된다. 라벨들 및 그들의 이미지 좌표들은 웨어러블 멀티미디어 디바이스(1202)로 다시 전송된다. 프로젝터(1115)는 이미지 좌표들에 기초하여 라벨들을 자동차 엔진에 투사한다.
[00132] 도 16은 일 실시예에 따른, 채소들을 써는 데 있어서 가정 요리를 돕기 위한 정보가 도마에 투사되는 프로젝터의 애플리케이션을 예시한다. 사용자는 "얼마나 크게 잘라야 할까요?"라는 말을 한다. 이 예에서, 음성은 마이크로폰(1106)에 의해 수신되고, 웨어러블 멀티미디어 디바이스(1202)의 메인 카메라(1102) 및/또는 3D 카메라(1103)는 도마 및 채소의 이미지를 캡처한다. 이미지 및 음성은 압축되어 에지 서버(1201)로 전송된다. 에지 서버(1201)는 이미지 및 오디오를 지역 데이터 센터(1207)로 전송한다. 지역 데이터 센터(1207)에서, 이미지 및 오디오가 압축 해제되고, 하나 이상의 분류기들이 이미지에서 채소 유형(예컨대, 콜리플라워), 그의 크기 및 그의 위치를 검출하는 데 사용된다. 이미지 정보 및 오디오에 기초하여, 절단 명령어들(예컨대, 데이터베이스 또는 다른 데이터 소스로부터 획득됨) 및 이미지 좌표들이 결정되고, 웨어러블 멀티미디어 디바이스(1202)로 다시 전송된다. 프로젝터(1115)는 정보 및 이미지 좌표들을 사용하여 채소를 둘러싸고 있는 도마에 크기 템플릿을 투사한다.
[00133] 도 17은 일 실시예에 따른 프로젝터 아키텍처(1700)의 시스템 블록도이다. 프로젝터(1115)는 2개의 차원들에서 픽셀을 스캔하거나, 픽셀들의 2D 어레이를 이미징하거나, 이미징과 스캐닝을 혼합한다. 스캐닝 프로젝터들은, 이미지를 픽셀 단위로 "페인팅"하기 위해 레이저 빔들의 좁은 발산 및 2차원(2D) 스캐닝을 직접 활용한다. 일부 실시예들에서, 수평 및 수직 스캐닝 방향들에 대해 별개의 스캐너들이 사용된다. 다른 실시예들에서, 단일 이축 스캐너(single biaxial scanner)가 사용된다. 특정 빔 궤적은 또한 사용되는 스캐너 유형에 따라 다르다.
[00134] 도시된 예에서 프로젝터(1700)는, 제어기(1701), 배터리(1118/1121), 전력 관리 칩(PMIC)(1120), 솔리드 스테이트 레이저(1704), X-Y 스캐너(1705), 드라이버(1706), 메모리(1707), DAC(digital-to-analog converter)(1708) 및 ADC(analog-to-digital converter)(1709)를 포함하는 스캐닝 피코 프로젝터이다.
[00135] 제어기(1701)는 X-Y 스캐너(1705)에 제어 신호들을 제공한다. X-Y 스캐너(1705)는, 제어 신호들에 대한 응답으로 2개의 차원들에서 솔리드 스테이트 레이저(1704)에 의해 생성된 레이저 빔을 조종하기 위해 이동 가능한 미러들을 사용한다. X-Y 스캐너(1705)는, 하나 또는 2개의 차원들에서 제어 가능한 경사각들을 갖는 하나 이상의 MEMS(micro-electromechanical) 마이크로미러들을 포함한다. 드라이버(1706)는, 제어 신호들(예컨대, 전압들 또는 전류들)을 X-Y 스캐너(1705)에 제공하기 위한 전력 증폭기 및 다른 전자 회로부(예컨대, 필터들, 스위치들)를 포함한다. 메모리(1707)는, 투사될 텍스트 및 이미지들에 대한 레이저 패턴들을 포함하여, 프로젝터에 의해 사용되는 다양한 데이터를 저장한다. DAC(1708) 및 ADC(1709)는 디지털 및 아날로그 도메인들 간의 데이터 변환을 제공한다. PMIC(1120)는, 솔리드 스테이트 레이저(1704)를 켜고 끄는 것 및 솔리드 스테이트 레이저(1704)에 공급되는 전력의 양을 조정하는 것을 포함하여, 솔리드 스테이트 레이저(1704)의 전력 및 듀티 사이클을 관리한다. 솔리드 스테이트 레이저(1704)는, 예컨대, VCSEL(vertical-cavity surface-emitting laser)이다.
[00136] 일 실시예에서, 제어기(1701)는 메인 카메라(1102)로부터의 이미지 데이터 및 3D 카메라(1103)로부터의 심도 데이터를 사용하여, 사용자 입력이 입력 인터페이스로서 레이저 투사를 사용하여 웨어러블 멀티미디어 디바이스(102)에 의해 수신되도록, 레이저 투사 상의 사용자 손 및/또는 손가락 위치들을 인식하고 추적한다.
[00137] 다른 실시예에서, 프로젝터(1115)는, 전력을 보존하기 위해 벡터 그래픽 투사 디스플레이 및 저전력 고정 MEMS 마이크로미러들을 사용한다. 프로젝터(1115)가 심도 센서를 포함하기 때문에, 레이저 투사된 이미지와 상호작용하는 손가락/손 상의 투사를 방지하는 데 필요할 때, 투사된 영역이 마스킹될 수 있다. 일 실시예에서, 심도 센서는 또한 제스처들(예컨대, TV 스크린 상의 이미지들을 스와이프하는 것, 컴퓨터들, 스마트 스피커들과 상호작용하는 것 등)을 추적하여 다른 디바이스들에 대한 입력을 제어할 수 있다.
[00138] 다른 실시예들에서, LCoS 또는 LCOS(Liquid Crystal on Silicon), DLP(Digital Light Processing) 또는 LCD(Liquid Crystal Display) 디지털 투사 기술이 피코 프로젝터 대신에 사용될 수 있다.
[00139] 도 18은 표면에 의해 반사된 광의 양에 기초한 레이저 파라미터들의 조정을 예시한다. 매우 다양한 표면들에서 투사가 깨끗하고 읽기 쉬운 것을 보장하기 위해, 3D 카메라(1103)로부터의 데이터는, 표면 반사들에 기초하여 프로젝터(1115)의 하나 이상의 파라미터들을 조정하는 데 사용된다. 일 실시예에서, 표면으로부터의 레이저 빔의 반사들은, 균일한 밝기를 갖는 투사를 생성하기 위해 상이한 굴절률들을 보상하기 위해 레이저 빔의 세기를 자동으로 조정하는 데 사용된다. 세기는, 예컨대, 솔리드 스테이트 레이저(1115)에 공급되는 전력을 조정함으로써 조정될 수 있다. 조정의 양은, 반사된 레이저 빔의 에너지 레벨에 기초하여 제어기(1701)에 의해 컴퓨팅될 수 있다.
[00140] 도시된 예에서, 원형 패턴(1800)은, 제1 표면 반사를 갖는 영역(1802) 및 제1 표면 반사와 상이한 제2 표면 반사를 갖는 영역(1803)을 포함하는 표면(1801) 상에 투사된다. 영역들(1802, 1803)에서 (예컨대, 상이한 굴절률들로 인한) 표면 반사들의 차이는 원형 패턴(1800)이 영역(1803)보다 영역(1802)에서 덜 밝다는 결과를 낳는다. 균일한 세기로 원형 패턴(1800)을 생성하기 위해, 솔리드 스테이트 레이저(1704)는, 영역(1802)에서 스캐닝할 때, 레이저 빔의 세기를 증가시키도록 솔리드 스테이트 레이저(1704)에 공급되는 전력을 증가/감소시키도록 제어기(1701)에 의해(PMIC(1120)를 통해) 명령을 받는다. 그 결과, 균일한 밝기를 갖는 원형 패턴(1800)이 생성된다. 영역(1802 및 1803)의 표면 지오메트리가 상이한 경우들에서, 표면에 투사된 텍스트 또는 이미지의 크기를 조정하기 위해 하나 이상의 렌즈들이 사용될 수 있다. 예컨대, 영역(1802)은 만곡될 수 있는 반면에, 영역(1803)은 평평할 수 있다. 이 시나리오에서, 영역(1802)의 텍스트 또는 이미지들의 크기는 영역(1802)의 표면의 곡률을 보상하도록 조정될 수 있다.
[00141] 일 실시예에서, 레이저 투사들은, 사용자 에어 제스처들(예컨대, 관심 객체들을 식별하기 위한 손가락 포인팅, 데이터에 대한 동작들을 나타내기 위해 스와이핑, 카운트들을 나타내기 위해 손가락들을 들기, 선호도를 나타내기 위해 위로 또는 아래로 엄지손가락, 등)에 의해 자동으로 또는 수동으로 요청되고, 환경의 임의의 표면 또는 객체에 투사된다. 예컨대, 사용자가 자신들의 집에 있는 온도 조절기를 가리킬 수 있고, 온도 데이터가 자신들의 손바닥 또는 다른 표면에 투사된다. 카메라 및 심도 센서는 사용자가 가리키는 곳을 검출하고, 객체를 온도 조절기로서 식별하고, 클라우드 컴퓨팅 플랫폼에서 온도 조절기 애플리케이션을 실행하고, 그리고 애플리케이션 데이터가 표면(예컨대, 사용자의 손바닥, 벽, 테이블)에 디스플레이되는 경우, 애플리케이션 데이터를 웨어러블 멀티미디어 디바이스로 스트리밍한다. 또 다른 예에서, 사용자가 자신들의 집 현관문에 있는 스마트 잠금장치 앞에 서서, 자신들의 집에 있는 모든 잠금장치들이 링크되면, 자신들의 집에 있는 해당 잠금장치 또는 다른 잠금장치들에 액세스하기 위해 스마트 잠금장치에 대한 제어장치들이 스마트 잠금장치 또는 현관문의 표면에 투사된다.
[00142] 일 실시예에서, 카메라와 카메라의 넓은 FOV(field-of-view)에 의해 촬영된 이미지들은, 클라우드 컴퓨팅 플랫폼에서 실행되는 AI 기반 가상 포토그래퍼(AI-powered virtual photographer)를 사용하여 "접착 시트들"로 사용자에게 제공될 수 있다. 예컨대, 전문 포토그래퍼들이 생성한 이미지들/메타데이터로 훈련된 머신 학습(예컨대, 신경망들)을 사용하여 상이한 잘라내기들 및 처리들로 이미지의 다양한 프레젠테이션들이 생성된다. 이 기능을 사용하여, 촬영한 모든 각각의 이미지는, 센서 데이터(예컨대, 심도, 주변광, 가속도계, 자이로)에 의해 알려진 동작들을 포함하여, 원본 이미지에 대한 다수의 이미지 프로세싱 동작들을 수반하는 다수의 "보기(look)들"을 가질 수 있다.
[00143] 기술된 특징부들은 디지털 전자 회로부에서 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합들로 구현될 수 있다. 특징부들은 프로그래밍가능 프로세서에 의한 실행을 위해, 정보 캐리어, 예컨대 머신 판독가능 저장 디바이스 내에 유형적으로(tangibly) 구현된 컴퓨터 프로그램 제품에서 구현될 수 있다. 방법 단계들은, 입력 데이터에 대해 동작하고 출력을 생성함으로써, 기술된 구현예들의 기능들을 수행하도록 명령어들의 프로그램을 실행하는 프로그램가능 프로세서에 의해 수행될 수 있다.
[00144] 기술된 특징부들은, 유리하게는, 데이터 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하도록 그리고 그들로 데이터 및 명령어들을 송신하도록 커플링된 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행 가능한 하나 이상의 컴퓨터 프로그램들로 구현될 수 있다. 컴퓨터 프로그램은 소정 활동을 수행하거나 소정 결과를 초래하기 위해 컴퓨터에서 직접적으로 또는 간접적으로 사용될 수 있는 명령어들의 세트이다. 컴퓨터 프로그램은 컴파일 또는 인터프리터 언어들을 포함하는 임의의 형태의 프로그래밍 언어(예컨대, Objective-C, Java)로 기록될 수 있고, 독립형 프로그램으로서 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴, 또는 다른 유닛으로서를 포함하는 임의의 형태로 활용될 수 있다.
[00145] 명령어들의 프로그램의 실행에 적합한 프로세서들은, 예로서, 임의의 종류의 컴퓨터의, 범용 및 특수 목적 마이크로프로세서들 양측 모두, 및 단독 프로세서 또는 다수의 프로세서들 또는 코어들 중 하나를 포함한다. 대체적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 양측 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 실행하기 위한 프로세서, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리들이다. 대체적으로, 컴퓨터는 데이터 파일들을 저장하기 위해 대용량 저장 디바이스들과 통신할 수 있다. 이들 대용량 저장 디바이스는 자기 디스크들, 예컨대 내부 하드 디스크들 및 착탈식 디스크들; 광자기 디스크들; 및 광 디스크들을 포함할 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 유형적으로 구현하는 데 적합한 저장 디바이스들은, 예로서 EPROM, EEPROM, 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 내부 하드 디스크들 및 착탈식 디스크들과 같은 자기 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리들을 포함한다. 프로세서 및 메모리는 ASIC(application-specific integrated circuit)들에 의해 보완되거나 그에 통합될 수 있다. 사용자와의 상호작용을 제공하기 위해, 특징부들은 작성자에게 정보를 디스플레이하기 위한 CRT(cathode ray tube), LED(light emitting diode) 또는 LCD(liquid crystal display) 디스플레이 또는 모니터와 같은 디스플레이 디바이스, 작성자가 입력을 컴퓨터에 제공할 수 있는 키보드 및 포인팅 디바이스, 예컨대, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다.
[00146] 개시된 실시예들의 하나 이상의 특징부들 또는 단계들은 API(Application Programming Interface)를 사용하여 구현될 수 있다. API는, 호출 애플리케이션과 서비스를 제공하는, 데이터를 제공하는, 또는 동작 또는 연산을 수행하는 다른 소프트웨어 코드(예컨대, 운영 체제, 라이브러리 루틴, 기능) 사이에 전달되는 하나 이상의 파라미터들을 정의할 수 있다. API는 API 사양 문서에 정의된 호출 규약에 기초하여 파라미터 리스트 또는 다른 구조를 통해 하나 이상의 파라미터들을 전송 또는 수신하는 프로그램 코드에서 하나 이상의 호출들로서 구현될 수 있다. 파라미터는 상수, 키, 데이터 구조, 객체, 객체 클래스, 변수, 데이터 유형, 포인터, 어레이, 리스트, 또는 다른 호출일 수 있다. API 호출들 및 파라미터들은 임의의 프로그래밍 언어로 구현될 수 있다. 프로그래밍 언어는, 프로그래머가 API를 지원하는 기능들에 액세스하기 위해 채용할 어휘 및 호출 규약을 정의할 수 있다. 일부 구현예들에서, API 호출은 애플리케이션을 실행하는 디바이스의 능력들, 예컨대 입력 능력, 출력 능력, 프로세싱 능력, 전력 능력, 통신 능력 등을 애플리케이션에 보고할 수 있다.
[00147] 다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 이루어질 수 있음이 이해될 것이다. 하나 이상의 구현예들의 요소들은 추가 구현예들을 형성하도록 조합, 삭제, 수정, 또는 보완될 수 있다. 또 다른 예에서, 도면들에 도시된 로직 흐름들은 바람직한 결과들을 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 요구하지 않는다. 더욱이, 다른 단계들이 제공될 수 있거나, 또는 단계들이 기술된 흐름들로부터 제거될 수 있고, 다른 컴포넌트들이 기술된 시스템들에 추가되거나 그들로부터 제거될 수 있다. 따라서, 다른 구현예들이 하기의 청구범위의 범주 내에 있다.

Claims (15)

  1. 신체 착용 장치로서,
    카메라;
    심도 센서;
    레이저 투사 시스템;
    하나 이상의 프로세서들;
    명령어들을 저장하는 메모리를 포함하고, 상기 명령어들은, 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하고, 상기 동작들은:
    상기 카메라를 사용하여, 디지털 이미지들의 세트를 캡처하는 동작;
    상기 디지털 이미지들의 세트에서 객체를 식별하는 동작;
    상기 심도 센서를 사용하여, 심도 데이터를 캡처하는 동작;
    상기 심도 데이터에서, 상기 장치를 착용한 사용자의 제스처를 식별하는 동작;
    상기 객체와 상기 제스처를 연관시키는 동작;
    상기 객체와 연관된 데이터를 획득하는 동작; 및
    상기 레이저 투사 시스템을 사용하여, 상기 데이터의 레이저 투사를 표면 상에 투사하는 동작을 포함하는,
    신체 착용 장치.
  2. 제1 항에 있어서,
    상기 레이저 투사는 상기 객체에 대한 텍스트 라벨을 포함하는,
    신체 착용 장치.
  3. 제1 항 또는 제2 항에 있어서,
    상기 레이저 투사는 상기 객체에 대한 크기 템플릿을 포함하는,
    신체 착용 장치.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 레이저 투사는 상기 객체에 대한 액션을 수행하기 위한 명령어들을 포함하는,
    신체 착용 장치.
  5. 신체 착용 장치로서,
    카메라;
    심도 센서;
    레이저 투사 시스템;
    하나 이상의 프로세서들;
    명령어들을 저장하는 메모리를 포함하고, 상기 명령어들은, 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하고, 상기 동작들은:
    상기 센서를 사용하여, 심도 데이터를 캡처하는 동작;
    상기 심도 데이터에서 제1 제스처를 식별하는 동작 - 상기 제스처는 상기 장치를 착용한 사용자에 의해 이루어짐 - ;
    상기 제1 제스처와 요청 또는 커맨드를 연관시키는 동작; 및
    상기 레이저 투사 시스템을 사용하여, 표면 상에 레이저 투사를 투사하는 동작을 포함하고, 상기 레이저 투사는 상기 요청 또는 커맨드와 연관되는,
    신체 착용 장치.
  6. 제5 항에 있어서,
    상기 동작들은:
    상기 심도 센서를 사용하여, 상기 레이저 투사와 연관된 제2 제스처를 획득하는 동작;
    상기 제2 제스처에 기초하여 사용자 입력을 결정하는 동작; 및
    상기 사용자 입력에 따라 하나 이상의 액션들을 개시하는 동작을 더 포함하는,
    신체 착용 장치.
  7. 제6 항에 있어서,
    상기 동작들은:
    상기 제2 제스처를 취하는 상기 사용자의 손에 상기 데이터를 투사하는 것을 방지하기 위해, 상기 레이저 투사를 마스킹하는 동작을 더 포함하는,
    신체 착용 장치.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 심도 센서 또는 카메라를 사용하여, 상기 표면의 지오메트리, 재료 또는 텍스처를 나타내는 심도 또는 이미지 데이터를 획득하는 동작; 및
    상기 표면의 지오메트리, 재료 또는 텍스처에 기초하여, 상기 레이저 투사 시스템의 하나 이상의 파라미터들을 조정하는 동작을 더 포함하는,
    신체 착용 장치.
  9. 제1 항 내지 제8 항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 카메라를 사용하여, 상기 표면으로부터 상기 레이저 투사의 반사들을 캡처하는 동작; 상기 레이저 투사가 균일한 밝기를 갖도록 상이한 굴절률들을 보상하기 위해 상기 레이저 투사의 세기를 자동으로 조정하는 동작을 더 포함하는,
    신체 착용 장치.
  10. 제1 항 내지 제9 항 중 어느 한 항에 있어서,
    사용자의 의복을 통해 배터리 팩에 자기적으로 커플링하도록 구성된 자기 부착 기구를 더 포함하고, 상기 자기 부착 기구는 상기 배터리 백으로부터 유도 충전을 수신하도록 추가로 구성되는,
    신체 착용 장치.
  11. 신체 착용 장치의 심도 센서를 사용하여, 심도 데이터를 캡처하는 단계;
    상기 장치의 하나 이상의 프로세서들을 사용하여, 상기 심도 데이터에서 제1 제스처를 식별하는 단계 - 상기 제1 제스처는 상기 장치를 착용한 사용자에 의해 이루어짐 - ;
    상기 하나 이상의 프로세서들을 사용하여, 제1 제스처와 요청 또는 커맨드를 연관시키는 단계; 및
    상기 장치의 레이저 투사 시스템을 사용하여, 레이저 투사를 표면 상에 투사하는 단계를 포함하고, 상기 레이저 투사는 상기 요청 또는 커맨드와 연관되는,
    방법.
  12. 제11 항에 있어서,
    상기 심도 센서를 사용하여, 상기 사용자에 의한 제2 제스처를 획득하는 단계 - 상기 제2 제스처는 상기 레이저 투사과 연관됨 - ;
    상기 제2 제스처에 기초하여 사용자 입력을 결정하는 단계; 및
    상기 사용자 입력에 따라 하나 이상의 액션들을 개시하는 단계를 더 포함하는,
    방법.
  13. 제12 항에 있어서,
    상기 하나 이상의 액션들은 다른 디바이스를 제어하는 것을 포함하는,
    방법.
  14. 제11 항 내지 제13 항 중 어느 한 항에 있어서,
    상기 제2 제스처를 취하는 상기 사용자의 손에 상기 데이터를 투사하는 것을 방지하기 위해, 상기 레이저 투사를 마스킹하는 단계를 더 포함하는,
    방법.
  15. 제11 항 내지 제14 항 중 어느 한 항에 있어서,
    상기 심도 센서 또는 카메라를 사용하여, 상기 표면의 지오메트리, 재료 또는 텍스처를 나타내는 심도 또는 이미지 데이터를 획득하는 단계; 및
    상기 표면의 지오메트리, 재료 또는 텍스처에 기초하여, 상기 레이저 투사 시스템의 하나 이상의 파라미터들을 조정하는 단계를 더 포함하는,
    방법.
KR1020227001647A 2019-06-18 2020-06-18 레이저 투사 시스템을 갖는 웨어러블 멀티미디어 디바이스 및 클라우드 컴퓨팅 플랫폼 KR20220031896A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962863222P 2019-06-18 2019-06-18
US62/863,222 2019-06-18
US16/904,544 2020-06-17
US16/904,544 US20210117680A1 (en) 2017-05-10 2020-06-17 Wearable multimedia device and cloud computing platform with laser projection system
PCT/US2020/038505 WO2020257506A1 (en) 2019-06-18 2020-06-18 Wearable multimedia device and cloud computing platform with laser projection system

Publications (1)

Publication Number Publication Date
KR20220031896A true KR20220031896A (ko) 2022-03-14

Family

ID=74040924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001647A KR20220031896A (ko) 2019-06-18 2020-06-18 레이저 투사 시스템을 갖는 웨어러블 멀티미디어 디바이스 및 클라우드 컴퓨팅 플랫폼

Country Status (8)

Country Link
US (1) US20210117680A1 (ko)
EP (1) EP3987357A4 (ko)
JP (2) JP7508492B2 (ko)
KR (1) KR20220031896A (ko)
CN (1) CN114270257A (ko)
CA (1) CA3144363A1 (ko)
GB (1) GB2600052A (ko)
WO (1) WO2020257506A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190106948A (ko) * 2019-08-30 2019-09-18 엘지전자 주식회사 지능형 디바이스 및 그 제어 방법
CN117378192A (zh) * 2021-05-19 2024-01-09 斯纳普公司 用于网络资源优化的眼镜体验集线器
US20220400235A1 (en) * 2021-06-11 2022-12-15 Humane, Inc. Dynamic Optical Projection With Wearable Multimedia Devices
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
US11372620B1 (en) * 2021-08-11 2022-06-28 Family Tech Innovations, LLC Voice monitoring system and method
US11847256B2 (en) 2022-03-04 2023-12-19 Humane, Inc. Presenting and aligning laser projected virtual interfaces
US11954289B2 (en) 2022-03-04 2024-04-09 Humane, Inc. Laser projected virtual interface
US11899911B2 (en) * 2022-03-04 2024-02-13 Humane, Inc. Message composition interfaces for use with wearable multimedia devices
US11868516B2 (en) 2022-03-04 2024-01-09 Humane, Inc. Hand-specific laser projected virtual interfaces and operations
JP2023136237A (ja) * 2022-03-16 2023-09-29 株式会社リコー ウエアラブル機器、作業支援装置、情報処理システム、及び作業支援システム
JP2023136239A (ja) * 2022-03-16 2023-09-29 株式会社リコー 情報処理装置、情報処理システム、支援システム、及び情報処理方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195006B2 (en) * 2004-08-30 2012-06-05 Bauhaus-Universitaet Weimar Method and device for representing a digital image on a surface which is non-trivial in terms of its geometry and photometry
US9569001B2 (en) * 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
CN102906623A (zh) 2010-02-28 2013-01-30 奥斯特豪特集团有限公司 交互式头戴目镜上的本地广告内容
US9760123B2 (en) * 2010-08-06 2017-09-12 Dynavox Systems Llc Speech generation device with a projected display and optical inputs
US20120257035A1 (en) * 2011-04-08 2012-10-11 Sony Computer Entertainment Inc. Systems and methods for providing feedback by tracking user gaze and gestures
JP2014531662A (ja) 2011-09-19 2014-11-27 アイサイト モバイル テクノロジーズ リミテッド 拡張現実システムのためのタッチフリーインターフェース
JP6040564B2 (ja) * 2012-05-08 2016-12-07 ソニー株式会社 画像処理装置、投影制御方法及びプログラム
KR101691633B1 (ko) * 2012-11-01 2017-01-09 아이캠, 엘엘씨 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법
JP2013083985A (ja) 2012-11-20 2013-05-09 Casio Comput Co Ltd 投影装置、投影方法及びプログラム
US10819962B2 (en) * 2012-12-28 2020-10-27 Apple Inc. Method of and system for projecting digital information on a real object in a real environment
JP5773003B2 (ja) 2014-02-18 2015-09-02 沖電気工業株式会社 表示制御装置、表示制御方法及びプログラム
CN204048340U (zh) * 2014-04-28 2014-12-31 京东方科技集团股份有限公司 穿戴式投影设备
JP6500477B2 (ja) 2015-02-12 2019-04-17 セイコーエプソン株式会社 頭部装着型表示装置、制御システム、頭部装着型表示装置の制御方法、および、コンピュータープログラム
EP3172599A4 (en) * 2014-07-21 2018-11-14 Beam Authentic LLC Wearable display devices
US10176642B2 (en) * 2015-07-17 2019-01-08 Bao Tran Systems and methods for computer assisted operation
US11106273B2 (en) * 2015-10-30 2021-08-31 Ostendo Technologies, Inc. System and methods for on-body gestural interfaces and projection displays
JP2017120329A (ja) 2015-12-28 2017-07-06 株式会社ブリリアントサービス 調理用ヘッドマウントディスプレイおよび調理用ヘッドマウントディスプレイのプログラム
US10295972B2 (en) * 2016-04-29 2019-05-21 Brain Corporation Systems and methods to operate controllable devices with gestures and/or noises
JP6774367B2 (ja) 2017-04-11 2020-10-21 富士フイルム株式会社 ヘッドマウントディスプレイの制御装置とその作動方法および作動プログラム、並びに画像表示システム
CN111033444B (zh) * 2017-05-10 2024-03-05 优玛尼股份有限公司 可穿戴多媒体设备和具有应用程序生态系统的云计算平台
JP2019032495A (ja) 2017-08-10 2019-02-28 キヤノン株式会社 画像投射装置

Also Published As

Publication number Publication date
EP3987357A4 (en) 2023-07-05
JP2024050736A (ja) 2024-04-10
GB2600052A (en) 2022-04-20
JP2022537574A (ja) 2022-08-26
JP7508492B2 (ja) 2024-07-01
EP3987357A1 (en) 2022-04-27
CA3144363A1 (en) 2020-12-24
CN114270257A (zh) 2022-04-01
WO2020257506A1 (en) 2020-12-24
US20210117680A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
JP7508492B2 (ja) ウェアラブルマルチメディアデバイスおよびレーザ投影システムを伴うクラウドコンピューティングプラットフォーム
US20230239567A1 (en) Wearable Multimedia Device and Cloud Computing Platform with Application Ecosystem
US20240126363A1 (en) Hand-specific laser projected virtual interfaces and operations
US20220400235A1 (en) Dynamic Optical Projection With Wearable Multimedia Devices
US11949808B2 (en) Context-sensitive home screens for use with wearable multimedia devices
US11917286B2 (en) Displaying images using wearable multimedia devices
US20230280867A1 (en) Laser projection on fingernail
US11936802B2 (en) Laser projected wayfinding interface
US20230280866A1 (en) Laser projected virtual interface
US11899911B2 (en) Message composition interfaces for use with wearable multimedia devices
US11924541B2 (en) Automatic camera exposures for use with wearable multimedia devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal