KR20220147146A - 확장 현실 시스템과 함께 사용하기 위한 다중-디바이스 연속성 - Google Patents

확장 현실 시스템과 함께 사용하기 위한 다중-디바이스 연속성 Download PDF

Info

Publication number
KR20220147146A
KR20220147146A KR1020227036082A KR20227036082A KR20220147146A KR 20220147146 A KR20220147146 A KR 20220147146A KR 1020227036082 A KR1020227036082 A KR 1020227036082A KR 20227036082 A KR20227036082 A KR 20227036082A KR 20220147146 A KR20220147146 A KR 20220147146A
Authority
KR
South Korea
Prior art keywords
application
user interface
electronic device
display
user
Prior art date
Application number
KR1020227036082A
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 KR20220147146A publication Critical patent/KR20220147146A/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
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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/013Eye tracking input arrangements
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • 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/04817Interaction 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 using icons
    • 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/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F3/1462Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay with means for detecting differences between the image stored in the host and the images displayed on the remote displays
    • 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/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • 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/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/014Force feedback applied to GUI
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2356/00Detection of the display position w.r.t. other display screens

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 Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 기술의 구현예들은 확장 현실 시스템에서의 다양한 디바이스들 사이의 콘텐츠 편집 및/또는 제어의 연속적인 이전(transfer)을 제공한다. 확장 현실 시스템은 시스템 내의 다른 디바이스들의 위치들을 결정할 수 있는 적어도 하나의 디바이스를 포함한다. 이 디바이스는 3차원 위치-기반 사용자 입력들에 응답하여 시스템 내의 다른 디바이스들 사이의 제어의 연속적인 이전을 관리할 수 있고/있거나 다른 디바이스들 중 하나 이상과 그 디바이스 자체 사이의 제어의 연속적인 이전을 관리할 수 있다.

Description

확장 현실 시스템과 함께 사용하기 위한 다중-디바이스 연속성
관련 출원의 상호 참조
본 출원은, 발명의 명칭이 "Multi-Device Continuity For Use With Computer-Generated Reality Systems"이고 2020년 4월 17일자로 출원된 미국 가특허 출원 제63/011,982호에 대한 우선권의 이익을 주장하며, 그 개시내용은 이로써 그 전체가 본 명세서에 포함된다.
본 설명은 일반적으로 확장 현실 환경에 관한 것이다.
증강 현실 기술은 전자 정보로 증강되는 향상된 물리적 환경을 제공함으로써 가상 환경들과 물리적 환경 사이의 간극을 메우는 것을 목표로 한다. 그 결과, 전자 정보는 사용자가 증강 현실 기술을 통해 물리적 환경을 보는 동안 사용자에 의해 인지된 바와 같은 물리적 환경의 일부인 것으로 보인다.
본 기술의 특정 특징들은 첨부된 청구항들에 제시된다. 그러나, 설명을 위해, 본 기술의 여러 실시예들이 다음 도면들에서 제시된다.
도 1은 하나 이상의 구현예들에 따른, 본 시스템을 구현할 수 있는 다양한 전자 디바이스들을 포함하는 예시적인 시스템 아키텍처를 예시한다.
도 2는 본 기술의 하나 이상의 구현예들에 따른, 전자 디바이스 및 추가 디바이스들의 물리적 환경의 예를 예시한다.
도 3은 본 기술의 하나 이상의 구현예들에 따른, 다른 전자 디바이스의 위치 및 배향에 기초하여 전자 디바이스에 의해 생성된 사용자 인터페이스의 양태들을 예시한다.
도 4는 본 기술의 하나 이상의 구현예들에 따른, 하나의 전자 디바이스로부터 다른 전자 디바이스로의 애플리케이션의 제어의 이전(transfer) 후의 애플리케이션을 위한 사용자 인터페이스의 양태들을 예시한다.
도 5는 본 기술의 하나 이상의 구현예들에 따른, 다른 전자 디바이스의 위치 및 배향을 결정하기 위한 하나의 전자 디바이스의 카메라들 및/또는 센서들의 사용을 예시하는 개략도를 예시한다.
도 6은 본 기술의 하나 이상의 구현예들에 따른, 제2 사용자 인터페이스에 의해 오버레이된 제1 사용자 인터페이스의 양태들을 예시한다.
도 7은 본 기술의 하나 이상의 구현예들에 따른, 제2 사용자 인터페이스에 의해 오버레이된 제1 사용자 인터페이스의 다른 양태들을 예시한다.
도 8은 본 기술의 하나 이상의 구현예들에 따른, 제2 디바이스의 위치로부터 멀리 이동된 제1 디바이스에 의해 생성된 사용자 인터페이스의 양태들을 예시한다.
도 9는 본 기술의 하나 이상의 구현예들에 따른, 다른 전자 디바이스 상에서 실행되는 애플리케이션에 대한 입력을 위해 제1 전자 디바이스에 의해 생성된 사용자 인터페이스를 예시한다.
도 10은 본 기술의 하나 이상의 구현예들에 따른, 제3 전자 디바이스에 대한 위치-기반 입력을 사용하는 하나의 전자 디바이스로부터 다른 전자 디바이스로의 제어의 연속적인 이전을 예시한다.
도 11은 본 기술의 하나 이상의 구현예들에 따른, 디바이스들 사이의 연속적인 이전을 위한 예시적인 프로세스의 흐름도를 예시한다.
도 12는 본 기술의 하나 이상의 구현예들에 따른, 제3 전자 디바이스에 대한 위치-기반 입력을 사용하는 하나의 전자 디바이스로부터 다른 전자 디바이스로의 연속적인 이전을 위한 예시적인 프로세스의 흐름도를 예시한다.
도 13은 본 기술의 하나 이상의 구현예들이 구현될 수 있는 전자 시스템을 예시한다.
아래에 제시되는 상세한 설명은 본 기술의 다양한 구성들에 대한 설명으로 의도되며 본 기술이 실시될 수 있는 유일한 구성들을 나타내는 것으로 의도되지 않는다. 첨부된 도면들은 본 명세서에 포함되고, 상세한 설명의 일부를 구성한다. 상세한 설명은 본 기술의 완전한 이해를 제공하는 목적을 위한 특정 상세사항들을 포함한다. 그러나, 본 기술은 본 명세서에 제시된 특정 상세사항들로 제한되지 않으며, 하나 이상의 다른 구현예들을 사용하여 실시될 수 있다. 하나 이상의 구현예들에서, 본 기술의 개념들을 모호하게 하는 것을 피하기 위해, 구조들 및 컴포넌트들은 블록도 형태로 도시된다.
물리적 환경은 사람들이 전자 디바이스들의 도움 없이 감지하고/하거나 그와 상호작용할 수 있는 물리적 세계를 지칭한다. 물리적 환경은 물리적 표면 또는 물리적 객체와 같은 물리적 특징부들을 포함할 수 있다. 예를 들어, 물리적 환경은 물리적 나무들, 물리적 건물들, 및 물리적 사람들을 포함하는 물리적 공원에 대응한다. 사람들은, 예컨대 시각, 촉각, 청각, 미각, 및 후각을 통해, 물리적 환경을 직접 감지하고/하거나 그와 상호작용할 수 있다. 대조적으로, 확장 현실(extended reality, XR) 환경은 사람들이 전자 디바이스를 통해 감지하고/하거나 그와 상호작용하는 완전히 또는 부분적으로 시뮬레이션된 환경을 지칭한다. 예를 들어, XR 환경은 증강 현실(augmented reality, AR) 콘텐츠, 혼합 현실(mixed reality, MR) 콘텐츠, 가상 현실(virtual reality, VR) 콘텐츠 등을 포함할 수 있다. XR 시스템을 이용하면, 사람의 신체적 움직임들 또는 그 표현들의 서브세트가 추적되고, 이에 응답하여, XR 환경에서 시뮬레이션된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 하나의 예로서, XR 시스템은 머리 움직임을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장(acoustic field)을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 다른 예로서, XR 시스템은 XR 환경을 제시하는 전자 디바이스(예컨대, 모바일 폰, 태블릿, 랩톱 등)의 이동을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예컨대, 접근성 이유들로 인해), XR 시스템은 신체적 움직임들의 표현들(예컨대, 음성 커맨드들)에 응답하여 XR 환경 내의 그래픽 콘텐츠의 특성(들)을 조정할 수 있다.
사람이 다양한 XR 환경들을 감지하고/하거나 그와 상호작용할 수 있게 하는 많은 상이한 유형들의 전자 시스템들이 존재한다. 예들은 헤드-장착가능 시스템들, 투사-기반 시스템들, 헤드-업(head-up) 디스플레이(HUD)들, 디스플레이 능력이 통합된 차량 앞유리들, 디스플레이 능력이 통합된 창문들, 사람의 눈들에 배치되도록 설계된 렌즈들로서 형성된 디스플레이들(예컨대, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예컨대, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 헤드-장착가능 시스템은 하나 이상의 스피커(들) 및 통합 불투명 디스플레이를 가질 수 있다. 대안적으로, 헤드-장착가능 시스템은 외부 불투명 디스플레이(예컨대, 스마트폰)를 수용하도록 구성될 수 있다. 헤드-장착가능 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 및/또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 포함할 수 있다. 헤드-장착가능 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일부 구현예들에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명해지도록 구성될 수 있다. 투사-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투사하는 망막 투사 기술을 채용할 수 있다. 투사 시스템들은 또한 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투사하도록 구성될 수 있다.
본 명세서에 설명된 본 기술의 구현예들은 XR 시스템을 사용한, 하나의 디바이스로부터 다른 디바이스로의 콘텐츠, 콘텐츠의 편집 제어, 및/또는 하나 이상의 애플리케이션들의 제어의 이전을 제공한다. 예를 들어, 본 기술에 의해, 스마트 폰 상에서 이메일을 초안작성하는 사용자는 XR 디바이스(예를 들어, 태블릿 디바이스 또는 헤드-장착가능 시스템)의 시야 내에 스마트 폰을 배치하고 XR 디바이스에 의해 생성된 XR 환경에서 이메일을 계속 초안작성할 수 있다. 다른 예에서, 본 기술에 의해, 스마트 스피커 디바이스 및 사용자의 스마트 폰을 포함하는 물리적 환경에서 XR 디바이스를 사용하는 사용자(예를 들어, 태블릿 디바이스를 들고 있거나 헤드-장착가능 시스템을 착용한 사용자)는 스마트 스피커 디바이스를 보거나 이를 향해 제스처를 취할 수 있다. XR 디바이스에 의해 사용자가 스마트 스피커 디바이스를 보거나 이를 향해 제스처를 취하는 것을 검출하는 것에 응답하여, 사용자의 전화기 상에서 재생되고 있는 노래는 스마트 스피커 디바이스 상에서 재생되기 위해 이전될 수 있다. 물리적 환경 내의 디바이스들에 관한 3차원 정보는 XR 디바이스에 의해 수집될 수 있고, 디바이스들 및/또는 XR 디바이스 사이의 제어 및/또는 콘텐츠의 매끄럽고 연속적인 이전을 용이하게 하는 데 사용할 수 있다.
도 1은 하나 이상의 구현예들에 따른, 본 시스템을 구현할 수 있는 다양한 전자 디바이스들을 포함하는 예시적인 시스템 아키텍처(100)를 예시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 도면에 도시된 것들 이외의 추가의 또는 그들과 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 유형의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 추가의 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
시스템 아키텍처(100)는 전자 디바이스(105), 핸드헬드 전자 디바이스(104), 전자 디바이스(110), 전자 디바이스(115), 스마트 스피커 디바이스(160) 및 서버(120)를 포함한다. 설명의 목적으로, 시스템 아키텍처(100)는 도 1에서, 전자 디바이스(105), 핸드헬드 전자 디바이스(104), 전자 디바이스(110), 전자 디바이스(115), 스마트 스피커 디바이스(160) 및 서버(120)를 포함하는 것으로 예시되지만; 시스템 아키텍처(100)는 임의의 수의 전자 디바이스들, 및 임의의 수의 서버들 또는 다수의 서버들을 포함하는 데이터 센터를 포함할 수 있다. 일부 구현예들에서, 전자 디바이스(105), 핸드헬드 전자 디바이스(104), 전자 디바이스(110), 전자 디바이스(115), 및/또는 스마트 스피커 디바이스(160)는, 예컨대 서버(120)를 통해, 동일한 사용자 계정에 등록되고/되거나 그와 연관될 수 있다.
전자 디바이스(105)는 확장 현실 환경의 시각화를 사용자에게 제시할 수 있는 디스플레이 시스템을 포함하는, 스마트폰, 태블릿, 또는 헤드-장착가능 휴대용 시스템(예를 들어, 사용자에 의해 착용될 수 있는 헤드-장착가능 디스플레이 디바이스)과 같은 XR 디바이스일 수 있다. 전자 디바이스(105)는 배터리 및/또는 다른 전력 공급부로 전력을 공급받을 수 있다. 일 예에서, 전자 디바이스(105)의 디스플레이 시스템은 확장 현실 환경의 입체적 제시를 제공하여, 사용자에게 특정 장면의 렌더링의 3차원 시각적 디스플레이를 가능하게 한다. 하나 이상의 구현예들에서, 확장 현실 환경에 액세스하기 위해 전자 디바이스(105)를 이용하는 대신 또는 이에 더하여, 사용자는 태블릿, 시계, 모바일 디바이스 등과 같은 핸드헬드 전자 디바이스(104)를 사용할 수 있다.
전자 디바이스(105)는 카메라(들)(150)(예를 들어, 가시광 카메라, 적외선 카메라 등)와 같은 하나 이상의 카메라들을 포함할 수 있다. 추가로, 전자 디바이스(105)는 카메라, 이미지 센서, 터치 센서, 마이크로폰, 관성 측정 유닛(IMU), 심박수 센서, 온도 센서, 라이다(Lidar) 센서, 비행 시간 센서, 레이더 센서, 소나(sonar) 센서, GPS 센서, Wi-Fi 센서, 근거리 통신 센서, 무선 주파수 센서, 눈 추적 센서 등을 포함하지만 이에 제한되지 않는 다양한 센서들(152)을 포함할 수 있다. 또한, 전자 디바이스(105)는 하드웨어 버튼들 또는 스위치들 같은 사용자 입력을 수신할 수 있는 하드웨어 요소들을 포함할 수 있다. 이러한 센서들 및/또는 하드웨어 요소들에 의해 검출되는 사용자 입력은 주어진 확장 현실 환경 내에서 보완 가상 콘텐츠를 생성하는 것을 개시하기 위한 다양한 입력 양식들에 대응한다. 예를 들어, 이러한 입력 양식들은 얼굴 추적, 눈 추적(예를 들어, 시선 방향), 손 추적, 제스처 추적, 생체인식 판독들(예를 들어, 심박수, 맥박, 동공 확장, 호흡, 온도, 뇌파도, 후각), 음성 또는 오디오 인식(예를 들어, 특정 핫워드들), 및 활성화 버튼들 또는 스위치들 등을 포함할 수 있지만, 이에 제한되지 않는다. 전자 디바이스(105)는 또한 확장 현실 환경 내에서 보완 가상 콘텐츠를 제공하는 것을 개시하기 위해 장면 내의 사람, 물체, 디바이스의 존재 및/또는 이벤트의 발생을 검출할 수 있다.
전자 디바이스(105)는 전자 디바이스(110) 및/또는 전자 디바이스(115)와 같은 베이스 디바이스에 통신가능하게 결합될 수 있다. 이러한 베이스 디바이스는 일반적으로 전자 디바이스(105)와 비교하여 더 많은 컴퓨팅 자원들 및/또는 이용가능한 전력을 포함할 수 있다. 일 예에서, 전자 디바이스(105)는 다양한 모드에서 동작할 수 있다. 예를 들어, 전자 디바이스(105)는 임의의 베이스 디바이스와 독립적으로 독립형 모드에서 동작할 수 있다. 전자 디바이스(105)가 독립형 모드에서 동작할 때, 입력 양식들의 수는 디바이스의 이용가능한 배터리 전력과 같은 전자 디바이스(105)의 전력 및/또는 프로세싱 제한들에 의해 제약될 수 있다. 전력 제한들에 응답하여, 전자 디바이스(105)는 배터리 전력을 보존하고/하거나 프로세싱 자원들을 마련하기(free) 위해 디바이스 자체 내의 특정 센서들을 비활성화할 수 있다.
전자 디바이스(105)는 또한 주어진 베이스 디바이스와 함께 작동하는 무선 테더링 모드(예를 들어, 베이스 디바이스와 무선 연결을 통해 연결됨)에서 동작할 수 있다. 전자 디바이스(105)는 또한 연결 모드에서 작동할 수 있으며, 여기서 전자 디바이스(105)는 베이스 디바이스에 (예를 들어, 케이블 또는 일부 다른 물리적 커넥터를 통해) 물리적으로 연결되고 베이스 디바이스에 의해 제공되는 전력 자원들을 이용할 수 있다(예를 들어, 물리적으로 연결된 동안 베이스 디바이스가 전자 디바이스(105)를 충전하고 있는 경우).
전자 디바이스(105)가 무선 테더링 모드 또는 연결 모드에서 동작할 때, 사용자 입력들을 프로세싱하고/하거나 확장 현실 환경을 렌더링하는 것의 적어도 일부는 베이스 디바이스로 오프로드되어, 이로써 전자 디바이스(105)에 대한 프로세싱 부담을 감소시킬 수 있다. 예를 들어, 일 구현예에서, 전자 디바이스(105)는 전자 디바이스(110) 또는 전자 디바이스(115)와 함께 작동하여, 실시간 방식으로 사용자와 생성된 확장 현실 환경 사이의 상이한 형태들의 상호작용(예를 들어, 시각적, 청각적, 및/또는 물리적 또는 촉각적 상호작용)을 가능하게 하는 물리적 및/또는 가상 객체들을 포함하는 확장 현실 환경을 생성한다. 일 예에서, 전자 디바이스(105)는 실시간 방식으로 사용자에 의해 인지되고 상호작용할 수 있는 확장 현실 환경에 대응하는 장면의 렌더링을 제공한다. 추가적으로, 렌더링된 장면을 제시하는 것의 일부로서, 전자 디바이스(105)는 사운드, 및/또는 햅틱 또는 촉각적 피드백을 사용자에게 제공할 수 있다. 주어진 렌더링된 장면의 콘텐츠는 이용가능한 프로세싱 능력, 네트워크 이용가능성 및 용량, 이용가능한 배터리 전력, 및 현재 시스템 작업부하에 의존할 수 있다.
일부 구현예들에서, 예를 들어, 워드 프로세싱 문서, 이메일, 텍스트 메시지, 및/또는 다른 애플리케이션을 위한 콘텐츠의 편집 제어의 이전은, 제어의 이전을 개시하기 위해 하나의 디바이스가 다른 디바이스의 근접성 내에서 검출될 때, 하나의 디바이스로부터 다른 디바이스로(예를 들어, 전자 디바이스(110)로부터 전자 디바이스(115)로) 제공될 수 있다. 이러한 유형의 근접성 기반 이전에서, 전자 디바이스(110)는 워드 프로세싱 문서의 편집 제어를 전자 디바이스(115)에 제공하고 있음을 전자 디바이스(115)에 나타낼 수 있고, 문서의 현재 상태를 전자 디바이스(115)에 제공할 수 있다. 그러나, 이러한 유형의 근접성-기반 이전에서, 전자 디바이스(115)는 전자 디바이스(110)의 3D 위치 또는 배향도 인식하지 못하고, 전자 디바이스(110) 상의 디스플레이된 UI의 상태 및/또는 디스플레이 특성들도 인식하지 못한다.
일 구현예에서, 전자 디바이스(105)는, 하나의 디바이스 상에서 실행되는 애플리케이션으로부터 다른 디바이스 상에서 실행되는 애플리케이션으로를 포함하여, 하나의 디바이스로부터 다른 디바이스로(예를 들어, 전자 디바이스(110)로부터 전자 디바이스(115)로, 전자 디바이스(110)로부터 스마트 스피커 디바이스(160)로, 전자 디바이스(115)로부터 스마트 스피커 디바이스(160)로) 콘텐츠를 이전할 수 있다. 예를 들어, 전자 디바이스(105)는 전자 디바이스(110) 상의 이메일의 초안작성을, XR 공간에서 전자 디바이스(105)를 사용한 이메일의 계속된 초안작성을 위해 이전할 수 있다. 다른 예에서, 전자 디바이스(110) 상에서 실행되는 미디어 애플리케이션에서 노래가 재생되는 동안, 전자 디바이스(105)의 사용자는 현재 재생되고 있는 노래를 연속적인 중단되지 않는 노래의 재생을 위해 스마트 스피커 디바이스(160)에 이전하기 위해, 스마트 스피커 디바이스(160)를 보거나 제스처를 취할 수 있다.
일 구현예에서, 전자 디바이스(105)는 (예를 들어, 전자 디바이스(110)의 프로세서로부터 그리고/또는 전자 디바이스(105)의 카메라를 사용하여), 전자 디바이스(110) 상의 디스플레이된 UI의 상태 및/또는 디스플레이 특성들을 획득할 수 있고, 이전에 디스플레이된 UI의 상태 및/또는 디스플레이 특성들을 유지하면서 디스플레이된 UI의 편집의 제어를 전자 디바이스(105)에 이전할 수 있다.
네트워크(106)는 예를 들어, 전자 디바이스(105), 전자 디바이스(110), 스마트 스피커 디바이스(160), 및/또는 전자 디바이스(115)를 각각의 다른 디바이스 및/또는 서버(120)와 통신가능하게(직접 또는 간접적으로) 결합할 수 있다. 하나 이상의 구현예들에서, 네트워크(106)는 인터넷을 포함할 수 있거나 인터넷에 통신가능하게 결합될 수 있는 디바이스들의 상호연결된 네트워크일 수 있다.
전자 디바이스(110)는 터치스크린을 포함할 수 있고, 예를 들어, 터치스크린을 포함하는 스마트폰, 터치스크린을 포함하는 랩톱 컴퓨터와 같은 휴대용 컴퓨팅 디바이스, 터치스크린을 포함하는 주변 디바이스(예컨대, 디지털 카메라, 헤드폰), 터치스크린을 포함하는 태블릿 디바이스, 터치스크린을 포함하는 웨어러블 디바이스, 예컨대 시계, 밴드 등, 예를 들어 터치스크린을 포함하는 임의의 다른 적절한 디바이스, 또는 터치패드를 갖는 임의의 전자 디바이스일 수 있다. 하나 이상의 구현예들에서, 전자 디바이스(110)는 터치스크린을 포함하지 않을 수 있지만, 예컨대 확장 현실 환경에서의 터치스크린-유사 제스처들을 지원할 수 있다. 하나 이상의 구현예들에서, 전자 디바이스(110)는 터치패드를 포함할 수 있다. 도 1에서, 예로서, 전자 디바이스(110)는 터치스크린을 갖는 모바일 스마트폰으로서 도시된다. 하나 이상의 구현예들에서, 전자 디바이스(110), 핸드헬드 전자 디바이스(104), 및/또는 전자 디바이스(105)는 도 13과 관련하여 이하에서 논의되는 전자 시스템과 관련하여 이하에서 논의되는 전자 디바이스일 수 있고/있거나, 그의 전부 또는 일부를 포함할 수 있다. 하나 이상의 구현예들에서, 전자 디바이스(110)는 인터넷 프로토콜(IP) 카메라, 태블릿과 같은 다른 디바이스, 또는 전자 스타일러스와 같은 주변 디바이스 등일 수 있다.
전자 디바이스(115)는, 예를 들어, 데스크톱 컴퓨터, 휴대용 컴퓨팅 디바이스, 예컨대 랩톱 컴퓨터, 스마트폰, 주변기기 디바이스(예를 들어, 디지털 카메라, 헤드폰), 태블릿 디바이스, 텔레비전과 같은 외부 디스플레이와 인터페이스하도록 구성된 셋톱 박스, 웨어러블 디바이스, 예컨대 시계, 밴드 등일 수 있다. 도 1에서, 예로서, 전자 디바이스(115)는 데스크톱 컴퓨터로서 도시된다. 전자 디바이스(115)는 도 13과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다.
서버(120)는 클라우드 컴퓨팅 또는 데이터 센터 구현예에서와 같이, 컴퓨터들의 네트워크 또는 서버들의 그룹(130)의 전부 또는 일부를 형성할 수 있다. 예를 들어, 서버(120)는 데이터 및 소프트웨어를 저장하고, 확장 현실 환경들을 위한 그래픽들, 이미지들, 비디오, 오디오 및 멀티미디어 파일들과 같은 콘텐츠를 렌더링하고 생성하기 위한 특정 하드웨어(예를 들어, 프로세서들, 그래픽 프로세서들 및 다른 특수화된 또는 맞춤형 프로세서들)를 포함한다. 일 구현예에서, 서버(120)는 위에서 논의된 디바이스들 및/또는 서버(120)에 의해 생성된 전술된 확장 현실 콘텐츠 및/또는 그러한 콘텐츠를 생성/렌더링하기 위한 정보 중 임의의 것을 저장하는 클라우드 저장 서버로서 기능할 수 있다.
스마트 스피커 디바이스(160)는 오디오(예를 들어, 음성) 입력을 수용하기 위한 하나 이상의 마이크로폰들, 스피커들과 같은 하나 이상의 음향 디바이스들, 전자 디바이스(110), 전자 디바이스(115), 네트워크(106), 전자 디바이스(105) 및/또는 핸드헬드 전자 디바이스(104)와 통신하기 위한 통신 회로부, 하나 이상의 애플리케이션들을 위한 정보 및/또는 코드를 저장하기 위한 메모리, 및/또는 프로세싱 회로부를 포함할 수 있다. 스마트 스피커 디바이스(160)는 도 13과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다.
도 2는 전자 디바이스(105), 전자 디바이스(110) 및 스마트 스피커 디바이스(160)가 제공되는 물리적 환경의 일 예를 예시한다. 도 2의 예에서, 사용자(101)는 물리적 환경(200)에서 전자 디바이스(105)를 착용한다. 도 2의 예에서 물리적 환경(200)은 물리적 객체(206)를 포함하며, 그의 일부는 디스플레이(201)를 통해(예를 들어, 디스플레이(201)의 불투명 구현에 제공되는 (카메라(들)(150)와 같은 하나 이상의 카메라들로부터의) 이미지들에 기초하여 또는 디스플레이(201)의 투명 또는 반투명 구현을 통해 직접) 사용자(101)에 의해 보여질 수 있고, 그의 일부들은 어떠한 기술도 사용하지 않고 사용자에 의해 직접 보여질 수 있다(다른 방식으로 뷰로부터 차단되지 않는 경우).
도 2의 예에서, 컴퓨터 생성 콘텐츠(computer-generated content)는 XR 환경에서 디스플레이(201)에 의해 디스플레이되고 있다(예를 들어, 물리적 환경(200)의 일부들 상에 오버레이되어 또는 그 전방에). 이 예에서, 애플리케이션을 표현하는 애플리케이션 윈도우(204)(예를 들어, 파일 관리자 애플리케이션 윈도우, 브라우저 윈도우, 소셜 미디어 애플리케이션 윈도우, 미디어 재생기 애플리케이션 윈도우, 콘텐츠 편집기 애플리케이션 윈도우, 또는 임의의 다른 애플리케이션 사용자 인터페이스)는 디스플레이(201)에 의해 디스플레이되며, 사용자(101)는 이와 XR 환경에서 상호작용할 수 있다. 이 예에서, 스마트 스피커 디바이스(160)는 디스플레이(201)를 통해 부분적으로 보이고, 전자 디바이스(110) 상에서 실행되는 애플리케이션의 사용자 인터페이스(202)는, 전자 디바이스(110)에 의해, 전자 디바이스(110)의 디스플레이(208) 상에 별도로 디스플레이된다.
도 3은, 전자 디바이스(110)가 전자 디바이스(105)와 같은 전자 디바이스의 시야 내에 있고 전자 디바이스(105)의 디스플레이(201)와 같은 디스플레이를 통해 보이는 배열에서, 도 2의 환경을 예시한다. 다양한 예들이 전자 디바이스(105)와 관련하여 본 명세서에서 논의되지만, 하나 이상의 카메라들 및/또는 하나 이상의 깊이 센서들 및/또는 다른 센서들을 갖는 다른 전자 디바이스들이 전자 디바이스(105)와 관련하여 설명된 동작들의 일부 또는 전부를 수행하는 데 사용될 수 있다는 것을 이해해야 한다. 다양한 구현예들에서, 전자 디바이스(105)는, 전자 디바이스(110) 상에서 실행되는 애플리케이션(및/또는 이와 연관된 콘텐츠)의 제어를 전자 디바이스(105) 상에서 실행하는 애플리케이션으로 이전하는 것을 용이하게 하기 위해, 전자 디바이스(110)에 관한 3차원(3D) 정보를 획득한다. 일 예에서, 전자 디바이스(105)는 (예를 들어, 카메라(들)(150) 및/또는 센서들(152)을 사용하여 그리고/또는 예컨대 전자 디바이스(110)와 전자 디바이스(105) 사이의 무선 통신을 통해 전자 디바이스(110)에 의해 전자 디바이스(105)에 제공되는 정보를 사용하여) 전자 디바이스(110) 상에서 실행되는 애플리케이션의 UI(202)의 3D 위치, 배향 및/또는 디스플레이 위치를 검출한다. 도 3에 도시된 바와 같이, 3D 위치, 배향, 및/또는 디스플레이 위치를 사용하여, 전자 디바이스(105)는, 전자 디바이스(105)의 디스플레이(201)를 이용하여, 전자 디바이스(110)의 디스플레이(208)와 오버레이하고 있고 그와 정렬되는(예를 들어, 디스플레이(208) 상에 여전히 디스플레이되는 UI(202) 상에 오버레이되고 그와 정렬되는) 추가 UI(302)를 디스플레이할 수 있다.
디스플레이(201)에 의해 디스플레이되는 UI(302)는 디스플레이(208)에 의해 디스플레이되는 UI(202)를 모방하는 크기, 위치, 배향, 및/또는 디스플레이 특성들을 이용해 디스플레이될 수 있다. 예를 들어, 디스플레이(208) 상의 UI(202)가 다음 텍스트 입력의 위치에서 깜박이는 커서를 갖는 워드 프로세싱 애플리케이션 또는 이메일 애플리케이션에서 부분적으로 초안작성된 문서를 포함하는 경우, 디스플레이(201)에 의해 디스플레이된 UI(302)는, 디스플레이(208) 상의 깜박이는 커서의 위치 상에 오버레이되어 디스플레이된 깜박이는 커서를 가지면서, 전자 디바이스(105)에서의 워드 프로세싱 애플리케이션 또는 이메일 애플리케이션에서 동일한 부분적으로 초안작성된 문서를 포함할 수 있다. 하나 이상의 구현예들에서, UI(302)는 디스플레이(208)에 의해 디스플레이된 UI(202)에 추가된 3차원 효과를 포함할 수 있다. 이러한 방식으로, 부분적으로 초안작성된 문서의 편집의 제어는 전자 디바이스(110)로부터 전자 디바이스(105)로 매끄럽게 전이될 수 있다. 전자 디바이스(110)는 전자 디바이스(105)의 XR 환경 내에(예를 들어, 전자 디바이스(105)의 시야 내에 그리고/또는 디스플레이(201)에 대응하는 영역 내에) 존재하기 때문에, 전자 디바이스(105)가 UI에 대한 입력의 제어를 취할 때, 전자 디바이스(105)에 의해 수용되는 입력 및 입력에 응답하여 사용자에게 제공되는 출력(예를 들어, 디스플레이, 촉각, 오디오) 둘 모두는, 적어도 초기에, 검출된 특성들 및 전자 디바이스(110)의 상태에 의존한다.
도 4는 디스플레이(201) 상의 UI(302)가 (예를 들어, 사용자(101)로부터의 제스처 입력 및/또는 사용자(101)로부터 전자 디바이스(105)로의 시선-기반 입력에 의해) 전자 디바이스(110)의 위치로부터 멀리 이동된 예를 예시한다. 도 4의 예에서, UI 및/또는 그 내부의 콘텐츠의 제어는 전자 디바이스(105)로 완전히 이전되었다. 도 4의 예에서, 전자 디바이스(110)의 디스플레이(208)는 전자 디바이스(105)가 제어를 맡은 후 UI(202)를 더 이상 디스플레이하지 않는다. 예를 들어, 전자 디바이스(110)가 애플리케이션의 제어가 전자 디바이스(105)로 넘겨졌다고 결정할 때 디스플레이(208)는 전원이 꺼지거나 저전력 상태로 변경될 수 있고/있거나, 전자 디바이스(110) 상의 UI(202) 및 연관된 애플리케이션은 닫히거나 비활성화될 수 있다. 다양한 구현예들에서, UI(202) 및/또는 디스플레이(208)는, UI(302)가 처음 디스플레이되는 시간에, UI(302)가 처음 디스플레이되는 시간 이후 일정 기간 후에, UI(302)에 대한 사용자 입력이 검출될 때, 또는 UI(302)가 디스플레이(208)의 위치로부터 멀리 이동될 때(예를 들어, 제스처 입력 또는 사용자(101)로부터의 다른 입력에 의해), 닫히고/거나, 전원이 꺼지고/거나, 그렇지 않으면 비활성화될 수 있다. 예를 들어, 전자 디바이스(105)는 UI(302)가 디스플레이될 때 또는 UI(302)가 전자 디바이스(110)의 위치로부터 멀리 이동될 때 전자 디바이스(105)가 애플리케이션 콘텐츠의 제어를 맡았다는 통지를 (예를 들어, 근거리 통신, Wi-Fi 통신 등을 통해) 전자 디바이스(110)에 전송할 수 있다.
워드 프로세싱 UI의 예에서, 전자 디바이스(105)에 의해 생성되는 UI(302)는 사용자(101)가 전자 디바이스(110) 상의 UI(202)에서 편집되고 있던 워드 프로세싱 문서를, 전자 디바이스(105)에 대한 입력을 통해(예를 들어, 카메라(들)(150) 및/또는 센서(152)에 의한 사용자의 손가락 움직임들의 검출을 통해) 계속해서 편집할 수 있게 한다. UI(302)로의 제어의 이전 후, UI(302)는 전자 디바이스(110) 상에 디스플레이된 대응하는 UI(202) 상에 (적어도 초기에) 오버레이되거나, 그와 매칭되는 크기, 위치, 배향, 및/또는 외관을 갖는 초기에 디스플레이된 UI로부터 수정될 수 있다. 예를 들어, UI(302)는 전자 디바이스(105)의 장점들을 이용하는 UI로 수정될 수 있다. 예를 들어, UI(302)는 크기가 확장되거나, XR 환경에서 보다 편리한 위치로 이동되거나, 다수(예를 들어, 3D 분산 부분들)로 분할되는 등일 수 있다.
도 2 내지 도 4의 예들에서, 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스(예를 들어, UI(202))를 디스플레이하도록 구성된 제1 디바이스(예를 들어, 전자 디바이스(110)); 및 물리적 환경(예를 들어, 물리적 환경(200))의 뷰 상에 오버레이된 컴퓨터 생성 콘텐츠(예를 들어, 애플리케이션 윈도우(204))를 디스플레이하도록 구성된 제2 디바이스(예를 들어, 전자 디바이스(105))를 포함하는 시스템이 설명된다. 이 예에서, 제2 디바이스는 물리적 환경 내의 제1 디바이스의 위치 및 배향을 검출하고; 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스의 상태를 획득하고; 제1 디바이스의 뷰 상에 적어도 부분적으로 오버레이되도록(예를 들어, 도 3 참조) 그리고 제1 디바이스의 검출된 위치 및 배향에 기초하여, 애플리케이션에 대응하는 제2 사용자 인터페이스(예를 들어, UI(302))를 디스플레이하도록 구성된다. 제2 사용자 인터페이스(예를 들어, UI(302))는 제1 사용자 인터페이스(예를 들어, UI(202))의 획득된 상태와 함께 디스플레이된다.
이 예에서, 하나 이상의 구현예들에서, 제2 사용자 인터페이스(예를 들어, UI(302))는 제1 디바이스의 한도를 넘어서 제2 디바이스의 확장 현실로 제1 사용자 인터페이스(예를 들어, UI(202))를 확장시키는 데 사용될 수 있다. 예를 들어, 하나 이상의 구현예들에서, 제1 디바이스는 마우스 또는 트랙패드 및 키보드를 갖는 데스크톱 컴퓨터 또는 랩톱 컴퓨터일 수 있으며, 제2 디바이스는 확장 현실을 계속해서 제공한다. 제1 디바이스의 트랙패드 또는 마우스를 이용하여(또는 제2 디바이스에 대한 제스처 입력을 사용하여), 사용자는 제1 디바이스의 디스플레이의 한도 내에 디스플레이된 윈도우 또는 애플리케이션과 같은 콘텐츠를, 제1 디바이스의 디스플레이의 한도 밖에 있고 제2 디바이스의 확장 현실 환경에서 보이는 위치로 위치로 드래그할 수 있다. 하나 이상의 구현예들에서, 제1 디바이스 상에서 실행되는 애플리케이션들은, 확장 현실 디바이스가 이용가능할 때, 제1 디바이스의 경계들 밖에서 XR 디스플레이를 위한 액세서리 윈도우들을 정의하도록 구성될 수 있다. 예를 들어, 제1 디바이스 상에서 실행되는 콘텐츠 편집 애플리케이션은 제1 디바이스 디스플레이의 한도 밖에서(예를 들어, 제2 디바이스의 확장 현실 내에서 제1 디바이스의 디스플레이에 가깝게 위치된), 제2 디바이스에 의해 디스플레이된 추가 툴바로부터 입력을 수신할 수 있다.
도 2 내지 도 4의 예에서, 제2 디바이스는 또한 사용자 입력을 수신하고, 사용자 입력에 응답하여, 제2 디바이스의 디스플레이 상의 제1 위치로부터 사용자 입력에 응답하는 제2 디바이스의 디스플레이 상의 제2 위치로 제2 사용자 인터페이스를 이동시키도록 구성될 수 있다(예를 들어, 도 3 참조). 제2 디바이스는 또한 제1 디바이스 상에서 실행되는 애플리케이션에 대응하는 애플리케이션을 제2 디바이스에서 동작시키고, 제1 디바이스에서 애플리케이션을 비활성화하라는 표시를 제1 디바이스에 제공할 수 있다. 일 예에서, 애플리케이션은 콘텐츠 편집기 애플리케이션이고, 제1 사용자 인터페이스의 상태는 제1 사용자 인터페이스에 현재 디스플레이되는, 제1 디바이스에 이전에 입력된 콘텐츠(예를 들어, 워드 프로세서, 이메일 작성기, 또는 메시징 애플리케이션에 입력된 이전 텍스트 또는 이미지), 및 추가 콘텐츠의 입력을 위한 제1 사용자 인터페이스 내의 영역의 활성 표시자를 포함한다. 예를 들어, 콘텐츠 편집기 애플리케이션은 텍스트 입력 필드를 포함할 수 있고, 활성 표시자는 텍스트 입력 필드 내의 커서일 수 있다.
다른 예에서, 애플리케이션은 미디어 재생기 애플리케이션이고, 제1 사용자 인터페이스의 상태는 제2 디바이스에 의해 현재 재생되고 있는 미디어(예를 들어, 노래 또는 비디오)의 표시자(예를 들어, 이름 또는 다른 식별자), 및 미디어 재생기 애플리케이션에서의 미디어의 현재 재생 시간의 표시자를 포함한다. 다른 예에서, 애플리케이션은 소셜 미디어 애플리케이션이고, 제1 사용자 인터페이스의 상태는 소셜 미디어 애플리케이션에 디스플레이된 선택가능한 링크의 표시를 포함한다. 예를 들어, 선택가능한 링크는 전자 디바이스(110)로부터 전자 디바이스(105)로의 제어의 이전 전후에 연속적인 기능성을 제공하기 위해 제2 사용자 인터페이스에서 (예를 들어, 외관 및/또는 기능이) 복제될 수 있는, 다른 소셜 미디어 사용자 페이지에 대한 링크, "좋아요" 버튼에 대한 링크 등일 수 있다.
도 5는, 예를 들어, 전자 디바이스(105)의 카메라(들)(150) 및/또는 센서들(152)(예를 들어, 깊이 센서들)을 사용하는 것이 전자 디바이스(110), 디스플레이(208), 및/또는 UI(202)의 위치, 배향, 및 크기를 어떻게 검출하고 추적할 수 있는지를 예시한다. 예를 들어, 전자 디바이스(105)의 카메라(들)(150)로부터의 이미지들 및/또는 센서들(152)로부터의 센서 데이터는 전자 디바이스(105)의 프로세서(500)에 제공될 수 있다. 프로세서(500)는, 전자 디바이스(105)의 카메라(들)(150)로부터의 이미지들 및/또는 센서들(152)로부터의 센서 데이터를 사용하여, 전자 디바이스(110)의 디스플레이(208) 상에 현재 디스플레이되는 UI(202)의 상태, 위치, 배향, 및/또는 외관을 결정할 수 있다. 이어서, 프로세서(500)는 UI(202)와 동일하거나 유사한 상태 및 외관을 갖는 UI(302)를 생성할 수 있다. 도 5는 또한, 대안적으로 또는 추가적으로, UI(202)와 동일하거나 유사한 상태 및 외관을 갖는 UI(302)를 생성하는 데 사용하기 위해, 디스플레이(208)에 의해 현재 디스플레이되는 UI(202)의 상태 및 외관이 프로세서(500)에 별도로(예를 들어, 전자 디바이스(110)로부터 무선으로, 또는 서버(120)를 통해서와 같이 클라우드를 통해) 어떻게 제공될 수 있는지를 예시한다.
전자 디바이스(110)는, 하나 이상의 구현예들에서, 전자 디바이스(110)에 의해 사용되고 있는 애플리케이션에 관한 상태 및/또는 컨텍스트 정보(예를 들어, 열려 있는 문서 등)를 전자 디바이스(105)에 전송할 수 있다. 전자 디바이스(110)와 전자 디바이스(105) 사이의 핸드오프 로직은, 예를 들어, (예를 들어, 전자 디바이스(105)에 의한 전자 디바이스(110)의 검출에 응답하는) 전자 디바이스(105)로부터 전자 디바이스(110)로의 핸드오프 요청, 전자 디바이스(110) 및/또는 전자 디바이스(105)에 의해 수행되는 핸드오프 동작들, 및/또는 전자 디바이스(105)로부터 전자 디바이스(110)로 제공되는 핸드오프 확인을 포함할 수 있다. 이 핸드오프 로직은 직접 피어-투-피어(peer-to-peer) 연결을 통해 이루어질 수 있고/있거나 서버(120)와 같은 클라우드 서버에 의해 용이하게 될 수 있다. 전자 디바이스(105), 전자 디바이스(110), 스마트 스피커 디바이스(160), 및/또는 시스템 아키텍처(100)의 다른 디바이스들은 동일한 사용자 계정과 연관될 수 있으며, 이는 디바이스들이, 예컨대 사용자 계정과 연관된 개인 키를 사용함으로써, 통신을 위해 보안 통신 채널을 형성할 수 있도록 한다.
하나 이상의 구현예들에서, 디바이스들 사이의 연속적인 통신은 핸드오프 프로세스 전반에 걸쳐 발생할 수 있다. 본 명세서에 설명된 일부 예들에서, 전자 디바이스(105)는 전자 디바이스(110) 상에 디스플레이된 UI(202)의 스냅샷을 촬영하고 이어서 전자 디바이스(105)를 통해 그 스냅샷을 다시 디스플레이할 수 있다. 본 명세서에 설명된 다른 예들에서, 전자 디바이스(105)에 의해 생성된 UI(302)는 또한, 또는 대안적으로, 전자 디바이스(110)에 의해 제공된 UI 데이터에 의해 구동될 수 있다. 전자 디바이스(105)는, 전자 디바이스(110)로부터 전자 디바이스(105)로 전송된 UI 정보(예를 들어, UI(202) 및/또는 렌더링된 UI의 콘텐츠 및/또는 레이아웃을 설명하는 정보)에 기초하여, XR 환경에서의 디스플레이를 위해, UI(302)를 렌더링할 수 있다. UI 정보는 전자 디바이스(110) 상의 UI(202)에 디스플레이된 UI 요소들 각각에 대응하는 노드들을 포함하는 디스플레이 트리를 포함할 수 있다. 이어서, 전자 디바이스(105)는 제공된 디스플레이 트리를 사용할 수 있고 XR 환경을 위해 UI(302)를 재-렌더링할 수 있다. XR 환경을 위해 UI(302)를 재-렌더링하는 것은 카메라(들)(150)로부터의 이미지들 및/또는 센서들(152)로부터의 3차원 정보(예를 들어, 깊이 센서 정보를 포함함)에 기초하여 UI(302)의 크기, 위치, 및/또는 배향을 결정하는 것을 포함할 수 있다. 전자 디바이스(110)는 UI(202)가 변경될 때 그리고 전자 디바이스(105)로의 핸드오프가 여전히 진행 중인 동안 UI 정보에 대한 업데이트들을 계속해서 전송할 수 있다.
다양한 구현예들에서, UI(302)가 UI(202) 상에 오버레이되는 동안(예를 들어, 도 3의 예에서와 같이), 사용자(101)로부터의 새로운 입력들(예를 들어, 내부에서 문서를 편집하거나 내부에서 미디어 재생기를 제어하는 것을 계속하기 위함)은, 예컨대 핸드오프가 완료되었는지 여부에 따라, 전자 디바이스(110)에(예를 들어, 디스플레이(208) 상의 터치 입력들 또는 전자 디바이스(110)에 대한 다른 입력들에 의해) 또는 전자 디바이스(105)에(예를 들어, 카메라(들)(150) 및/또는 센서들(152)을 이용한 사용자의 손가락 움직임들, 다른 제스처들, 음성 입력들, 또는 눈-추적 입력들의 검출을 통해) 제공될 수 있다.
예를 들어, 도 6은 UI(302)가, UI(202) 상에 오버레이되고 터치 입력(화살표(600)으로 표시됨)이 전자 디바이스(110)의 디스플레이(208)에 제공되는 예를 예시한다. (UI(302)가 초기에 디스플레이된 직후에 그러나 전자 디바이스(105)가 UI(202) 내에서의 콘텐츠의 제어를 맡기 전에 발생할 수 있는) 이 예에서, 디스플레이(208) 상의 특정 위치(602)에서의 터치 입력은 전자 디바이스(110)에 의해(예를 들어, 전자 디바이스(110)의 프로세서에 의해) 수용되고 디스플레이(208) 상에 디스플레이된 UI(202)를 수정하는 데 사용된다. UI(202)에 대한 대응하는 변경을 나타내는 정보(예를 들어, 및/또는 터치 입력 위치를 나타내는 정보)는 또한 (예를 들어, 전자 디바이스(110)로부터 전자 디바이스(105)로의 무선 통신을 통해) 전자 디바이스(105)의 프로세서(500)에 제공될 수 있고/있거나 전자 디바이스(105)의 하나 이상의 카메라(들)(150) 및/또는 센서들(152)에 의해 검출될 수 있다. UI(202)에 대한 변경의 표시(예를 들어, 및/또는 터치 위치의 표시)에 기초하여, 프로세서(500)는 UI(302)에 대해 대응하는 수정을 수행한다.
하나의 동작 시나리오에서, 사용자가 UI(202)에서 재생되는 노래 또는 비디오를 다음 노래 또는 비디오로 건너뛰기 위해 미디어 재생기 애플리케이션의 "건너뛰기" 기능에 대응하는 위치(602)에서 디스플레이(208)를 탭하는 경우, 전자 디바이스(110)는 다음 노래로 건너뛰고, 다음 노래가 재생되고 있음을 나타내기 위해 UI(202)에 대해 대응하는 업데이트를 수행하고, UI(202)에 대한 업데이트의 표시 및 재생되고 있는 다음 노래의 상태를 프로세서(500)에 제공할 수 있다. 이어서 프로세서(500)는 다음 노래가 재생되고 있음을 나타내기 위해 UI(302)를 업데이트할 수 있고, 따라서 제스처 입력이 UI(302) 상의 대응하는 위치(604)에서 프로세서(500)에 의해 수신된 것처럼 UI(202)에 대한 변경을 모방할 수 있다. 다른 예에서, 전자 디바이스(105)는 직접(예를 들어, 카메라(들)(150)를 사용하여) UI(202)에 대한 업데이트를 검출하고, 제스처 입력이 UI(302) 상의 대응하는 위치(602)에서 프로세서(500)에 의해 수신된 것처럼, 검출에 기초하여 그에 따라 UI(302)를 업데이트한다.
다른 예시적인 동작 시나리오에서, 전자 디바이스(105)는 전자 디바이스(110) 상에서 실행되는 애플리케이션을 검출하고, 전자 디바이스(105)에서 애플리케이션의 로컬 버전을 론칭하고, 이어서 전자 디바이스(110)에 의해 디스플레이되는 임의의 콘텐츠를 설명하는 정보를 전자 디바이스(110)로부터 수신한다. 예를 들어, 콘텐츠를 설명하는 정보는 파일, 문서 등에 대응하는 파일경로를 포함할 수 있다. 이 예시적인 시나리오에서, 전자 디바이스(105)는 전화기 상의 터치 입력들을 UI의 전자 디바이스(105) 버전을 통한 터치 입력들로 변환할 수 있다.
도 6의 예에서, UI(202)는 (예를 들어, UI(302) 아래에) 디스플레이되는 동안 UI(302)는 디스플레이(208)의 위치 상에 오버레이된다. 그러나, 도 6의 배열에서, UI(202)는 디스에이블되거나 비활성화되어, 전자 디바이스(110)의 프로세서(들)가 UI(202)에 대응하는 애플리케이션의 동작을 계속 제어하더라도, (예를 들어, UI(302)에 대한 입력들을 검출하고 입력들을 전자 디바이스(110)에 제공하여 그에 따라 애플리케이션을 제어함으로써) UI(302)가 전자 디바이스(110) 상에서 실행되는 애플리케이션을 위한 UI로서 적어도 일시적으로 기능하도록 할 수 있다는 것을 또한 이해해야 한다.
도 6의 예에서, UI(302)가 디스플레이(208) 위에 디스플레이되는 동안, UI(202) 및/또는 UI(302)에 대응하는 애플리케이션의 제어는, 적어도 초기에, 전자 디바이스(110)에 의해 유지된다. 그러나, 도 7은, UI(302)가 디스플레이(208) 위에 디스플레이되는 동안, UI(302)에 대응하는 애플리케이션의 제어가 전자 디바이스(105)의 프로세서(500)로 이전된 다른 예를 예시한다. 전자 디바이스(105)로의 이러한 제어의 이전은, 예를 들어, 도 5와 관련하여 위에서 설명된 핸드오프 로직을 사용하여 수행될 수 있다. 이 예에서, UI(202)는 디스플레이(208)에 의해 계속 디스플레이될 수 있거나, 디스플레이(208)는 전원이 꺼지거나 UI(202)의 디스플레이를 중단할 수 있다.
도 7에 예시된 바와 같이, 사용자가 디스플레이(208) 상의 위치(602)인 것으로 사용자에게 보이는 위치에서 터치 입력을 제공할 때(예를 들어, 화살표(700)로 표시된 바와 같이), 그 터치 입력은 프로세서(500)에 의해 (예를 들어, 카메라(들)(150) 및/또는 센서들(152)을 사용하여) 대응하는 위치(604)에서의 UI(302)에 대한 제스처 입력으로서 수신될 수 있다. 이 예에서, UI(302)의 위치(604)에서의 제스처 입력은 프로세서(500)에 의해 획득되고, 프로세서(500)는 UI(302), 그 내부의 콘텐츠, 및/또는 그에 대응하는 애플리케이션에 대해 대응하는 업데이트를 수행한다. UI(202)가 디스플레이(208) 상에 계속 디스플레이되는 동작 시나리오에서, 프로세서(500)는 또한 위치(604)에서의 제스처 입력의 표시 또는 UI(302) 및/또는 근원적인(underlying) 애플리케이션에 대한 대응하는 업데이트의 표시를 전자 디바이스(110)에 제공할 수 있으므로, 전자 디바이스(110)는 UI(202)에 대해 대응하는 업데이트를 수행할 수 있다. 도 2, 도 6 및 도 7의 예들에서, UI(302)는 전자 디바이스(110)의 표면과 부분적으로 중첩되고 그로부터 공간적으로 분리된 것으로 도시된다. 그러나, UI(302)는 도시된 바와 같이 공간적으로 분리될 수 있거나, 또는 전자 디바이스(110)의 표면 상에 직접 있고/있거나 그와 완전히 중첩되는 것으로 보이도록 디스플레이(201)에 의해 디스플레이될 수 있다는 것을 이해해야 한다.
도 8에 예시된 바와 같이, 전자 디바이스(105)에 의해 제공된 UI(302)가 전자 디바이스(110)로부터 멀리 이동된 후(예를 들어, 그리고 디스플레이(208)가 UI(202)를 디스플레이하는 것을 중지하고/하거나, UI(202)를 비활성화하고/하거나, 디스플레이(208)가 전원이 꺼지거나 저전력 모드에 배치됨), UI(302)에 대응하는 애플리케이션의 제어, UI(302) 자체의 제어, 및 그 내부의 콘텐츠의 제어는 전자 디바이스(105)의 프로세서(500)에 의해 처리된다(예를 들어, 전자 디바이스(110)와의 추가 상호작용 없이). 이 예에서, UI(302)는, 전자 디바이스(110)에 의해 이전에 제공된 UI 및/또는 애플리케이션의 연속적인 제어를 제공하면서, 전자 디바이스(105)의 XR 환경에서 임의의 원하는 위치로 이동되고/되거나, 크기조정되고/되거나, 다른 식으로 수정될 수 있다.
도 8에 도시된 바와 같이, UI(302)에 대한 제스처 입력(예를 들어, 화살표(800)로 표시된 바와 같음)은 프로세서(500)에 의해 검출될 수 있다(예를 들어, 카메라(들)(150)로부터의 이미지들 및/또는 센서들(152)로부터의 센서 데이터에 기초하여). 검출된 제스처 입력은 UI(302)에 대응하고 프로세서(500) 상에서 실행되는 애플리케이션을 제어하기 위해 프로세서(500)에 의해 사용될 수 있다. 프로세서(500)는 또한 검출된 제스처 입력에 대응하는 수정을 UI(302)에 대해 수행할 수 있다. 예를 들어, 화살표(800)는 디스플레이(201)에 의해 디스플레이되는 가상 키보드 내의 키 상의 탭에 사용자가 제스처를 취하는 것을 나타낼 수 있다. 프로세서(500)는 탭핑된 키에 대응하는 문자를 디스플레이할 수 있다.
UI(302)의 콘텐츠에 대한 제어를 전자 디바이스(110)로 반환하기 위해(예를 들어, 가상 키보드가 사용자에 의해 탭핑되었을 때 추가된 문자를 포함함), UI(302)는, 예를 들어 (예를 들어, 전자 디바이스(105)에 대한 제스처 또는 음성 입력들을 사용하여) 디스플레이(208)의 위치로 이동될 수 있다. 디스플레이(208)의 적어도 일부 위로 UI(302)를 이동시키는 것은, 예를 들어, 프로세서(500)로 하여금 UI 내의 콘텐츠에 대한 (예를 들어, 새로 입력된 문자의 표시를 포함하는) 상태 정보를 전자 디바이스(110)에 제공하게 하고, 프로세서(500)로 하여금 디스플레이(208)의 전원을 켜고 제공된 상태 정보를 사용하여 UI(202)를 열거나 활성화하라는 명령어들을 전자 디바이스(110)에 제공하게 할 수 있다. 이러한 방식으로, 다양한 애플리케이션들의 제어의 연속성이 시스템 아키텍처(100)의 다양한 컴포넌트들 사이에 제공될 수 있다.
도 2 내지 도 8의 예들에서, 전자 디바이스(110)가, UI(202)가 디스플레이(208) 상에 디스플레이된 채로, 디바이스(105)에 의해 검출될 때, "매칭" UI(302)(예를 들어, 동일한 크기, 위치, 배향 및/또는 외관을 가짐)가 디스플레이(208) 위에 생성된다. 그러나, 일부 동작 시나리오들에서, 전자 디바이스(105)를 이용한 디스플레이를 위한 "매칭" UI를 생성하기 전에 또는 이와 별도로, 전자 디바이스(105)는 또한 전자 디바이스(110)에서의 UI(202) 및 연관된 애플리케이션에 대한 입력 디바이스로서 작용할 수 있다.
도 9는, 전화기 상의 UI(202)가 전자 디바이스(105)의 뷰 내에서 디스플레이되고 있는 동안, 전자 디바이스(105)가 전자 디바이스(110)에서의 UI(202) 및 연관된 애플리케이션에 대한 입력 디바이스로서 작용할 수 있는 예를 예시한다. 이는, 예를 들어, 사용자 및/또는 시스템이 전자 디바이스(110)의 프로세싱 전력이 UI(202)에 대응하는 애플리케이션을 동작시키는 데 사용될 수 있다고 결정하면서, 여전히 사용자가 UI(202)에 입력을 제공하기 위해 XR 환경을 이용할 수 있게 하는 상황들에서 유용할 수 있다. 예를 들어, 사용자는 전자 디바이스(110)의 UI(202)에서 이메일을 작성하고 있고, 전자 디바이스(110)를 테이블 상에 내려놓고, 전자 디바이스(105)를 착용하고(put on), 전자 디바이스(105)의 디스플레이(201)에 의해 디스플레이되는 보완 사용자 인터페이스(900)를 사용하여 이메일을 계속 작성할 수 있다.
이 예에서, 사용자(101)는 디스플레이(201)에 의해 디스플레이되는 보완 UI(900)에 제스처 또는 다른(예를 들어, 음성) 입력들을 제공할 수 있다. 보완 UI(900)에 대한 입력들은 UI(202)에 대응하는 애플리케이션의 제어 및/또는 UI(202)의 업데이트를 위해 (예를 들어, 전자 디바이스(105)의 프로세서(500)에 의해) 전자 디바이스(110)에(예를 들어, 전자 디바이스(110)의 하나 이상의 프로세서들에) 제공된다. 보완 UI(900)는, 예를 들어, UI(202)에 비해 감소된 기능성 인터페이스(예를 들어, 가상 키패드, 이메일 애플리케이션의 예에서의 텍스트 입력 필드를 갖는 가상 키패드, 또는 미디어 재생기 애플리케이션을 위한 가상 시작 버튼, 가상 중지 버튼, 및 가상 건너뛰기 버튼들), 또는 UI(202)를 실질적으로 모방하지만 UI(202)와 오버레이하지 않는 UI일 수 있다(이 예에서).
이 예에서, 사용자(101)는 이메일의 편집의 제어를 전자 디바이스(105)에 이전하기 위해 전자 디바이스(105)에 추가 입력(예를 들어, 보완 UI(900)의 이동)을 제공할 수 있다. 제어를 전자 디바이스(105)에 이전하는 것은 (예를 들어, 전자 디바이스(105)의 프로세서(500)를 사용하여) 전자 디바이스(105)에서 대응하는 애플리케이션을 론칭하는 것, 전자 디바이스(110) 상에서 UI(202)를 닫거나 비활성화하는 것, 및 이메일을 작성하기 위한 일차 UI(예를 들어, 본 명세서에 논의된 UI(302))로 보완 UI(900)를 업그레이드하는 것을 포함할 수 있다.
예를 들어, 도 2 내지 도 9와 관련하여 본 명세서에 설명된 예들에서, 전자 디바이스의 위치, 배향 및/또는 디스플레이 특성들을 사용하여, 전자 디바이스(110) 및 전자 디바이스(105)와 같은 전자 디바이스 사이에 애플리케이션들의 제어의 매끄럽고 연속적인 이전이 제공된다. 다른 예들에서, 전자 디바이스(105)는 제1 디바이스와 제2 디바이스 사이에서 연속적인 제어를 이전하기 위해, 전자 디바이스(105)에 대한 입력(예를 들어, 제스처 입력, 음성 입력, 눈 추적 입력 등)과 함께, 제1 전자 디바이스(예를 들어, 전자 디바이스(110))의 검출된 위치(position), 위치(location) 및/또는 디스플레이 특성들, 및 제2 전자 디바이스(예를 들어, 스마트 스피커 디바이스(160), 셋톱 박스, 또는 다른 전자 디바이스, 예컨대 전자 디바이스(115), 랩톱 등)의 검출된 위치, 위치, 및/또는 다른 특성들을 사용할 수 있다.
예를 들어, 도 10은, UI(202)가 디스플레이(208)에 의해 디스플레이되고 입력(화살표(1000)로 표시됨)이 전자 디바이스(105)에 제공되는 시나리오를 예시하며, 입력은 전자 디바이스(110)의 검출된 위치로부터 스마트 스피커 디바이스(160)(예를 들어, 또는 전자 디바이스(115), 핸드헬드 전자 디바이스(104), 셋톱 박스, 데스크톱 컴퓨터 등과 같은 임의의 다른 디바이스)의 검출된 위치로의 또는 그를 향하는 움직임을 나타낸다. 이 예에서, UI(202)는 노래를 재생하고 있는 미디어 재생기 애플리케이션의 UI일 수 있다. 이 예에서, 사용자 입력은 사용자가 전자 디바이스(110)의 위치에 대응하는 위치로부터 스마트 스피커 디바이스(160)의 위치에 대응하는 위치로 자신의 손을 이동시키는 손 제스처일 수 있거나, 또는 사용자(101)가 전자 디바이스(110)의 위치로부터 스마트 스피커 디바이스(160)의 위치로 보는 것을 전자 디바이스(105)가 검출하는 눈-추적 입력일 수 있다. 다른 예에서, 전자 디바이스(105)는 전자 디바이스(110)의 위치와 연관된 위치에서의 사용자 핀치 제스처 및 스마트 스피커 디바이스(160)의 위치에서의 또는 그 근처에서의 해제 제스처를 검출할 수 있다. 전자 디바이스(105)는 하나 이상의 카메라(들)(150) 및/또는 하나 이상의 센서들(152)(예를 들어, 하나 이상의 깊이 센서들, 및/또는 하나 이상의 눈-추적 센서들)을 사용하여 사용자 입력을 검출할 수 있다.
화살표(1000)에 대응하는 검출된 입력에 응답하여, 전자 디바이스(105)는 전자 디바이스(110)로부터 UI(202) 및 대응하는 애플리케이션에 대한 상태 정보(예를 들어, 노래의 이름 및 노래의 현재 재생 시간)를 획득하고, UI(202)에 대응하는 애플리케이션에 의한 노래의 재생을 중지하라는 표시를 전자 디바이스(110)에 제공하고, 스마트 스피커 디바이스(160)에 상태 정보를 제공하고, 상태 정보에 의해 결정된 바와 같은 동일한 재생 시간에서 시작하여 동일한 노래의 재생을 시작하라는 표시를 스마트 스피커 디바이스(160)에 제공할 수 있다. 전자 디바이스(110) 및/또는 스마트 스피커 디바이스(160)는 재생을 위해 로컬로 노래를 저장할 수 있거나, 또는 원격 위치로부터(예를 들어, 전자 디바이스(110) 또는 스마트 스피커 디바이스(160) 중 다른 하나로부터, 시스템 아키텍처(100) 내의 다른 전자 디바이스로부터, 또는 서버(120)와 같은 서버로부터) 노래를 획득할 수 있다. 하나 이상의 구현예들에서, 전자 디바이스(110)는 스마트 스피커 디바이스(160)가 노래의 재생을 동시에 페이드 인(fade in)함에 따라 노래의 재생을 페이드 아웃(fade out)할 수 있다. 하나의 예시적인 구현예에서, 전자 디바이스(105)는, 전자 디바이스(110)의 위치와 스마트 스피커 디바이스(160)의 위치 사이의(또는 그 반대) 움직임을 포함하는 입력을 검출하고, 전자 디바이스(110)로 노래를 스트리밍하는 것을 중단하고 스마트 스피커 디바이스(160)에 의한 노래의 노래 재생으로 스트리밍을 계속하라는 표시를 서버(120)에 제공함으로써, 전자 디바이스(110)로부터 스마트 스피커 디바이스(160)로(또는 그 반대로) 노래의 재생의 이전을 개시할 수 있다.
일부 상황들에서, 애플리케이션의 제어의 이전은 디바이스들 사이의 근접성에 기초하여 전자 디바이스(110), 전자 디바이스(115), 및/또는 스마트 스피커 디바이스(160)와 같은 디바이스들 사이에서 직접 이전될 수 있다. 그러나, 전자 디바이스(105)의 물리적 환경에서 디바이스들의 위치들을 검출하기 위한 전자 디바이스(105)의 능력들을 사용하여(예를 들어, 카메라(들)(150) 및/또는 센서들(152)을 사용하여), 디바이스들을 이동시키지 않고, 사용자로부터 어느 한 디바이스로의 직접 입력 없이, 그리고 두 디바이스 사이의 근접성을 요구하지 않으면서, 디바이스들 사이에 제어의 연속적인 이전이 제공될 수 있다.
도 11은 본 기술의 하나 이상의 구현예들에 따른, 위치 정보를 사용한 전자 디바이스들 사이의 제어의 연속적인 이전을 위한 예시적인 프로세스(1100)의 흐름도를 예시한다. 설명의 목적으로, 프로세스(1100)는 본 명세서에서 도 1의 전자 디바이스(105)를 참조하여 주로 설명된다. 그러나, 프로세스(1100)는 도 1의 전자 디바이스(105)로 제한되지 않으며, 프로세스(1100)의 하나 이상의 블록들(또는 동작들)은 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버들(120)을 포함하는 다른 적합한 디바이스들의 하나 이상의 다른 컴포넌트들에 의해 수행될 수 있다. 또한, 설명의 목적으로, 프로세스(1100)의 블록들 중 일부는 본 명세서에서 직렬로 또는 선형적으로 발생하는 것으로 설명된다. 그러나, 프로세스(1100)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(1100)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(1100)의 하나 이상의 블록들이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
도 11에 예시된 바와 같이, 블록(1102)에서, 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스(예를 들어, UI(202))를 디스플레이하도록 구성된 제1 디바이스(예를 들어, 전자 디바이스(110))가 (예를 들어, 카메라(들)(150) 및/또는 센서들(152)을 사용하여) 전자 디바이스(105)와 같은 제2 디바이스에 의해 검출된다.
블록(1104)에서, 제2 디바이스는 (예를 들어, 카메라(들)(150) 및/또는 센서들(152)을 사용하여) 제1 디바이스의 위치 및 배향을 검출한다. 예를 들어, 센서들(152)에 포함된 깊이 센서들은 도 5에 나타낸 바와 같이 전자 디바이스의 위치 및 배향을 결정하는 데 사용될 수 있다.
블록(1106)에서, 제2 디바이스는 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스의 상태를 획득한다. 제2 디바이스는 제1 사용자 인터페이스의 이미지들을 캡처함으로써 그리고/또는 애플리케이션 및/또는 제1 사용자 인터페이스의 상태를 획득하기 위해 제1 전자 디바이스와 통신함으로써 제1 사용자 인터페이스의 상태를 획득할 수 있다. 제1 사용자 인터페이스의 상태는 제1 사용자 인터페이스에 제공된 부분적으로 완료된 텍스트 입력, 사용자 인터페이스 자체의 색상, 질감 또는 테마, 및/또는 제1 디바이스에 의해 현재 디스플레이된 제1 사용자 인터페이스의 콘텐츠 및 외관을 설명하는 다른 정보를 포함할 수 있다.
블록(1108)에서, 제2 디바이스는, 제1 디바이스의 뷰 상에 적어도 부분적으로 오버레이되도록 그리고 제1 디바이스의 검출된 위치 및 배향에 기초하여, 애플리케이션에 대응하는 제2 사용자 인터페이스(예컨대, UI(302))를 디스플레이한다. 제2 사용자 인터페이스는 제1 사용자 인터페이스의 획득된 상태와 함께 디스플레이된다. 제2 사용자 인터페이스를 디스플레이하는 것은 제1 디바이스의 디스플레이가 제1 사용자 인터페이스를 디스플레이하는 동안 적어도 일시적으로 제1 디바이스의 디스플레이(예를 들어, 디스플레이(208))의 뷰 상에 적어도 부분적으로 오버레이된 제2 사용자 인터페이스를 디스플레이하는 것을 포함할 수 있다(예를 들어, 도 2, 도 6, 및/또는 도 7에 예시된 바와 같이).
일부 구현예들에서, 제2 디바이스는 사용자의 적어도 하나의 눈의 시선 방향을 (예를 들어, 눈-추적 카메라들 및/또는 센서들(152) 내의 센서들을 사용하여) 추적할 수 있고, 제1 사용자 인터페이스가 제1 디바이스에 의해 디스플레이되는 동안 제1 디바이스의 검출된 위치에 대응하는 시선 방향의 검출에 응답하여 제2 사용자 인터페이스를 디스플레이할 수 있다. 예를 들어, 전자 디바이스(105)를 착용한 사용자(101)가, 전자 디바이스(105)의 눈 추적 센서들에 의해, 전자 디바이스(110) 상에 디스플레이된 제1 사용자 인터페이스를 보고 있는 것으로 결정될 때, 전자 디바이스(105)는, 이에 응답하여, 제1 사용자 인터페이스의 사용자의 뷰 상에 오버레이된 제2 사용자 인터페이스를 생성할 수 있다.
제1 사용자 인터페이스, 이에 대응하는 애플리케이션, 및/또는 제1 디바이스의 디스플레이(예를 들어, 디스플레이(208))는 (예들로서) 제2 디바이스가 제2 사용자 인터페이스를 디스플레이할 때, 사용자가 제2 사용자 인터페이스와 상호작용할 때, 제2 사용자 인터페이스가 사용자에 의해 제1 디바이스의 위치로부터 멀리 이동될 때, 또는 제2 사용자 인터페이스가 생성되는 시간 이후 일정 기간 후에, 비활성화될 수 있다. 일 예에서, (예를 들어, 사용자 제스처 입력 또는 눈 추적 입력에 응답하여) 제2 디바이스는 (예를 들어, 도 4 또는 도 9에 예시된 바와 같이) 제1 디바이스의 뷰로부터 떨어진 위치에서 제2 사용자 인터페이스를 디스플레이할 수 있고, 제1 디바이스에서 애플리케이션을 비활성화하라는 표시를 제1 디바이스(예를 들어, 전자 디바이스(110))에 제공할 수 있고, (예를 들어, 제2 사용자 인터페이스를 통한 애플리케이션의 제어를 위해) 제2 디바이스에서 애플리케이션의 로컬 사본(local copy)을 활성화할 수 있다.
제2 디바이스는 또한 (예를 들어, UI(302)의 디스플레이된 위치에 대응하는 위치에서 사용자 제스처를 검출하기 위해 카메라(들)(150) 및/또는 센서들(152)을 사용하여) 제2 사용자 인터페이스에 대한 입력을 수신할 수 있다. 제2 디바이스는 또한 (예를 들어, 도 7 또는 도 9와 관련하여 위에서 설명된 바와 같이) 제1 디바이스 상에서 실행되는 애플리케이션의 제어를 위해, 수신된 입력을 제1 디바이스 상에서 실행되는 애플리케이션에 제공할 수 있다.
제2 디바이스는 또한 제1 사용자 인터페이스에 대한 변경을 식별하고 - 변경은 (도 6에 나타낸 바와 같이) 제1 디바이스에 대한 사용자 입력에 응답함 -; 제1 사용자 인터페이스에 대한 식별된 변경에 기초하여 제2 사용자 인터페이스(예를 들어, UI(302))를 업데이트할 수 있다. 제2 디바이스는 적어도 하나의 카메라(예를 들어, 카메라(들)(150))를 포함할 수 있고, 제1 사용자 인터페이스에 대한 변경을 식별하는 것은 적어도 하나의 카메라를 사용하여(예를 들어, 카메라로부터의 디스플레이(208)의 이미지를 사용하여) 제1 사용자 인터페이스에 대한 변경을 식별하는 것을 포함할 수 있다. 제1 사용자 인터페이스에 대한 변경을 식별하는 것은 또한, 또는 대안적으로, 제1 디바이스에서 제1 사용자 인터페이스에 대한 사용자 입력에 응답하여 제1 디바이스로부터 수신된 통신(예를 들어, 전자 디바이스(110)로부터 전자 디바이스(105)로의 무선 통신)에 기초하여 제1 사용자 인터페이스에 대한 변경을 식별하는 것을 포함할 수 있다.
제2 디바이스는 또한 (예를 들어, 카메라(들)(150) 및/또는 센서들(152)을 사용하여) 사용자로부터 제2 사용자 인터페이스로의 제스처 입력을 수신할 수 있고, 일부 예들에서, 제1 디바이스 상에서 실행되는 애플리케이션의 제어를 위해 검출된 제스처 입력에 기초한 입력을 제1 디바이스에 제공할 수 있다.
도 12는 본 기술의 하나 이상의 구현예들에 따른, 위치 정보를 사용한 전자 디바이스들 사이의 제어의 연속적인 이전을 위한 다른 예시적인 프로세스(1200)의 흐름도를 예시한다. 설명의 목적으로, 프로세스(1200)는 본 명세서에서 도 1의 전자 디바이스(105)를 참조하여 주로 설명된다. 그러나, 프로세스(1200)는 도 1의 전자 디바이스(105)로 제한되지 않으며, 프로세스(1200)의 하나 이상의 블록들(또는 동작들)은 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버들(120)을 포함하는 다른 적합한 디바이스들의 하나 이상의 다른 컴포넌트들에 의해 수행될 수 있다. 또한, 설명의 목적으로, 프로세스(1200)의 블록들 중 일부는 본 명세서에서 직렬로 또는 선형적으로 발생하는 것으로 설명된다. 그러나, 프로세스(1200)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(1200)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(1200)의 하나 이상의 블록들이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
도 12에 예시된 바와 같이, 블록(1202)에서, 제1 위치에 있는 제1 디바이스(예를 들어, 스마트폰, 태블릿 또는 헤드-장착가능 디바이스와 같은 전자 디바이스(105))가, 제2 위치에 있는 제2 디바이스(예를 들어, 전자 디바이스(110)) 및 제3 위치에 있는 제3 디바이스(예를 들어, 스마트 스피커 디바이스(160) 또는 셋톱 박스)를 검출한다(예를 들어, 도 10의 물리적 환경(200)과 같은 물리적 환경 내의 위치들). 일부 시나리오들에서, 제2 위치와 제3 위치는 제2 디바이스와 제3 디바이스 사이의 근거리 통신들이 교환될 수 있는 거리보다 더 큰 거리만큼 이격될 수 있다.
블록(1204)에서, 제1 디바이스는 제2 위치 및 제3 위치와 연관된 사용자 입력(예를 들어, 도 10의 화살표(1000)로 예시된 바와 같음)(예를 들어, 제1 위치로부터 제2 위치로 이동하는 제스처 입력, 또는 제1 위치로부터 제2 위치로의 시선 위치의 눈 추적 움직임)을 수신한다.
블록(1206)에서, 사용자 입력에 응답하여, 제1 디바이스는, 제3 디바이스로 하여금 제2 디바이스 상에서 실행되고 있는 애플리케이션의 상태를 사용하여 제2 디바이스 상에서 실행되고 있는 애플리케이션의 로컬 사본을 실행하게 한다. 예를 들어, 도 10과 관련하여 위에서 설명된 바와 같이, 제2 디바이스는 스마트 폰일 수 있고, 제3 디바이스는 스마트 스피커 디바이스일 수 있고, 애플리케이션은 미디어 재생기 애플리케이션일 수 있고, 애플리케이션의 상태는 미디어 재생기 애플리케이션에 의해 재생되는 미디어(예를 들어, 노래 또는 비디오)의 식별자 및 미디어의 재생 시간(예를 들어, 수신된 입력의 시간에서의 현재 재생 시간)을 포함할 수 있다. 이 예에서, 제3 디바이스(예를 들어, 스마트 스피커 디바이스(160))로 하여금 제2 디바이스 상에서 실행되고 있는 애플리케이션의 상태를 사용하여 제2 디바이스 상에서 실행되고 있는 애플리케이션의 로컬 사본을 실행하게 하는 것은, 스마트 폰으로 하여금 미디어를 재생하는 것을 중지하게 하고 스마트 스피커 디바이스로 하여금 재생 시간에서 시작하여 미디어를 재생하는 것을 시작하게 하는 것을 포함할 수 있다. 이러한 방식으로, 미디어의 연속적인 재생은 전자 디바이스(105)에 대한 위치-기반 입력에 기초하여 하나의 디바이스로부터 다른 디바이스로 이전될 수 있다.
일부 구현예들에서, 제3 디바이스로 하여금 애플리케이션의 상태를 사용하여 애플리케이션의 로컬 사본을 실행하게 하는 것은, 제1 디바이스를 이용하여, (예를 들어, 카메라(들)(150)를 사용하여 또는 전자 디바이스(105)와 전자 디바이스(110) 사이의 무선 통신들을 통해) 제2 디바이스 상에서 실행되는 애플리케이션의 상태를 획득하는 것; 제1 디바이스를 이용하여, (예를 들어, 전자 디바이스(105)와 스마트 스피커 디바이스(160) 사이의 무선 통신들을 통해) 제2 디바이스 상에서 실행되는 애플리케이션의 상태를 제3 디바이스에 제공하는 것; 제1 디바이스를 이용하여, (예를 들어, 전자 디바이스(105)와 스마트 스피커 디바이스(160) 사이의 무선 통신들을 통해) 애플리케이션의 제공된 상태로 시작하여 애플리케이션의 로컬 사본을 실행하라는 표시를 제3 디바이스에 제공하는 것; 및 제2 디바이스에서 애플리케이션을 비활성화하라는 표시를 (예를 들어, 전자 디바이스(105)와 전자 디바이스(110) 사이의 무선 통신들을 통해) 제2 디바이스에 제공하는 것을 포함한다. 애플리케이션을 비활성화하는 것은 애플리케이션을 닫는 것, 또는 애플리케이션의 비활성 상태 및/또는 디바이스의 비활성 상태에서 애플리케이션을 열어 두는 것을 포함할 수 있다. 애플리케이션을 비활성화하는 것은 또한, 일부 구현예들에서, (예를 들어, 저전력 모드에서 디스플레이를 동작시킴으로써 또는 디스플레이의 전원을 끔으로써) 제2 디바이스의 디스플레이를 비활성화하는 것을 포함할 수 있다.
일부 구현예들에서, 제3 디바이스로 하여금 애플리케이션의 상태를 사용하여 애플리케이션의 로컬 사본을 실행하는 것은, 제1 디바이스를 이용하여, 제2 디바이스로부터 제3 디바이스로 애플리케이션의 제어를 이전하라는 사용자 명령어의 표시를 제1 디바이스, 제2 디바이스, 및 제3 디바이스와 통신가능하게 결합된 서버(예컨대, 서버(120))에 제공하는 것을 포함할 수 있다. 예를 들어, 일 구현예에서, 전자 디바이스(110) 상에서 실행되는 애플리케이션은 서버(120)로부터 전자 디바이스(110)로의 미디어의 스트리밍을 제어하는 미디어 재생기 애플리케이션일 수 있다. 미디어 재생기 애플리케이션이 서버(120)로부터 전자 디바이스(110)로 노래를 스트리밍하는 동안, 전자 디바이스(105)의 사용자는 전자 디바이스(110)로부터 스마트 스피커 디바이스(160)를 향해 제스처를 취할 수 있다. 이 제스처를 검출하면, 전자 디바이스(105)는 전자 디바이스(110)로부터의 노래의 스트리밍의 제어를 스마트 스피커 디바이스(160)에서의 미디어 재생기 애플리케이션으로 이전하라는 표시를 서버(120)에 제공할 수 있다. 이 예에서, 서버(120)는 노래의 스트리밍을 종료 및/또는 시작하라는 명령어들을 전자 디바이스(110) 및/또는 스마트 스피커 디바이스에 제공할 수 있다.
전술한 바와 같이, 본 기술의 일 양태는, 전자 디바이스들 사이의 애플리케이션들의 제어 및/또는 사용자 입력의 연속적인 이전을 위한 특정한 그리고 적법한 소스들로부터 이용가능한 데이터의 수집 및 사용이다. 본 개시내용은, 일부 예시들에서, 이러한 수집된 데이터가 특정 사람을 고유하게 식별하거나 또는 그를 식별하는 데 사용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 비디오 데이터, 3차원 기하학 데이터, 인구통계 데이터, 위치 기반 데이터, 온라인 식별자, 전화 번호, 이메일 주소, 집 주소, 사용자의 건강 또는 피트니스 레벨에 관한 생체 데이터 또는 기록(예컨대, 바이탈 사인(vital sign) 측정치, 투약 정보, 운동 정보), 생년월일, 또는 임의의 다른 개인 정보를 포함할 수 있다.
본 개시내용은 본 기술에서의 그러한 개인 정보 데이터의 사용이 사용자들에게 이득을 주기 위해 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 XR 시스템을 갖는 전자 디바이스들 사이의 애플리케이션들의 제어, 콘텐츠, 및/또는 사용자 입력의 연속적인 이전을 위해 사용될 수 있다.
본 개시내용은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전달, 저장, 또는 다른 사용을 담당하는 그러한 엔티티들이 잘 확립된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 고려한다. 특히, 그러한 엔티티들은 사용자들의 프라이버시를 유지하기 위한 산업 또는 행정 요구사항들을 충족시키거나 능가하는 것으로 일반적으로 인식되는 프라이버시 관례들을 구현하고 일관되게 적용할 것으로 예상될 것이다. 개인 데이터의 사용에 관한 그러한 정보는 사용자들에 의해 눈에 띄게 그리고 쉽게 액세스가능해야 하고, 데이터의 수집 및/또는 사용이 변화함에 따라 업데이트되어야 한다. 사용자들로부터의 개인 정보는 적법한 사용들을 위해서만 수집되어야 한다. 또한, 그러한 수집/공유는 사용자들의 동의 또는 적용가능한 법률에 특정된 다른 적법한 근거를 수신한 후에만 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취하는 것을 고려해야 한다. 추가로, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다. 추가로, 정책들 및 관례들은 수집되고/되거나 액세스되는 특정 유형들의 개인 정보 데이터에 대해 적응되고, 더 높은 표준을 부과하는 역할을 할 수 있는 관할구역 특정 고려사항들을 비롯한 적용가능한 법률들 및 표준들에 적응되어야 한다. 예를 들어, 미국에서, 소정 건강 데이터의 수집 또는 그에 대한 액세스는 연방법 및/또는 주의 법, 예컨대 미국 건강 보험 양도 및 책임 법령(Health Insurance Portability and Accountability Act, HIPAA)에 의해 통제될 수 있는 반면; 다른 국가들에서의 건강 데이터는 다른 규정들 및 정책들의 적용을 받을 수 있고 그에 따라 취급되어야 한다.
전술한 것에도 불구하고, 본 개시내용은 또한 사용자들이 개인 정보 데이터의 사용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 개시내용은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 고려한다. 예를 들어, 디바이스들 사이에서 콘텐츠 및/또는 제어를 이전하는 경우에, 본 기술은 사용자들이 서비스를 위한 등록 중 또는 이후 임의의 시간에 개인 정보 데이터의 수집 및/또는 공유 시의 참여의 "동의함" 또는 "동의하지 않음"을 선택하는 것을 허용하도록 구성될 수 있다. "동의" 및 "동의하지 않음" 옵션들을 제공하는 것에 부가하여, 본 개시내용은 개인 정보의 접근 또는 사용에 관한 통지들을 제공하는 것을 고려한다. 예를 들어, 사용자는 그들의 개인 정보 데이터가 액세스될 앱을 다운로드할 시에 통지받고, 이어서 개인 정보 데이터가 앱에 의해 액세스되기 직전에 다시 상기하게 될 수 있다.
더욱이, 의도하지 않은 또는 인가되지 않은 액세스 또는 사용의 위험요소들을 최소화하는 방식으로 개인 정보 데이터가 관리 및 처리되어야 한다는 것이 본 개시내용의 의도이다. 데이터의 수집을 제한하고 데이터가 더 이상 필요하지 않게 되면 데이터를 삭제함으로써 위험이 최소화될 수 있다. 부가적으로, 그리고 소정의 건강 관련 애플리케이션들에 적용가능한 것을 포함하여 적용가능할 때, 사용자의 프라이버시를 보호하기 위해 데이터 비식별화가 사용될 수 있다. 적절한 경우, 식별자들을 제거하는 것, 저장된 데이터의 양 또는 특이성(specificity)을 제어하는 것(예컨대, 주소 레벨에서보다는 도시 레벨에서 또는 얼굴 인식에 불충분한 스케일에서 위치 데이터를 수집하는 것), 데이터가 저장되는 방법을 제어하는 것(예컨대, 사용자들에 걸쳐 데이터를 집계하는 것), 그리고/또는 차등 프라이버시(differential privacy)와 같은 다른 방법들에 의해, 비식별화가 용이하게 될 수 있다.
따라서, 본 개시내용이 하나 이상의 다양한 개시된 실시예들을 구현하기 위해 개인 정보 데이터의 사용을 광범위하게 커버하지만, 본 개시내용은 다양한 실시예들이 또한 그러한 개인 정보 데이터에 액세스할 필요 없이 구현될 수 있다는 것을 또한 고려한다. 즉, 본 기술의 다양한 실시예들은 그러한 개인 정보 데이터의 전부 또는 일부의 결여로 인해 동작불가능하게 되지는 않는다.
도 13은 본 기술의 하나 이상의 구현예들이 구현될 수 있는 전자 시스템(1300)을 예시한다. 전자 시스템(1300)은 도 1에 도시된 바와 같은 전자 디바이스(105), 핸드헬드 전자 디바이스(104), 전자 디바이스(110), 전자 디바이스(115), 스마트 스피커 디바이스(160), 및/또는 서버(120)일 수 있고/있거나 그 일부일 수 있다. 전자 시스템(1300)은 다양한 유형들의 컴퓨터 판독가능 매체들 및 다양한 다른 유형들의 컴퓨터 판독가능 매체들을 위한 인터페이스들을 포함할 수 있다. 전자 시스템(1300)은 버스(1308), 하나 이상의 프로세싱 유닛(들)(1312), 시스템 메모리(1304)(및/또는 버퍼), ROM(1310), 영구 저장 디바이스(1302), 입력 디바이스 인터페이스(1314), 출력 디바이스 인터페이스(1306), 및 하나 이상의 네트워크 인터페이스들(1316), 또는 이들의 서브세트들 및 변형들을 포함한다.
버스(1308)는 전자 시스템(1300)의 다수의 내부 디바이스들을 통신가능하게 연결하는 모든 시스템, 주변기기, 및 칩셋 버스들을 총괄하여 표현한다. 하나 이상의 구현예들에서, 버스(1308)는 하나 이상의 프로세싱 유닛(들)(1312)을 ROM(1310), 시스템 메모리(1304), 및 영구 저장 디바이스(1302)와 통신가능하게 연결한다. 이러한 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1312)은 본 개시내용의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다. 하나 이상의 프로세싱 유닛(들)(1312)은 상이한 구현예들에서 단일 프로세서 또는 멀티-코어 프로세서일 수 있다.
ROM(1310)은 하나 이상의 프로세싱 유닛(들)(1312) 및 전자 시스템(1300)의 다른 모듈들에 의해 필요한 정적 데이터 및 명령어들을 저장한다. 반면에, 영구 저장 디바이스(1302)는 판독-및-기입 메모리 디바이스일 수 있다. 영구 저장 디바이스(1302)는 전자 시스템(1300)이 오프일 때도 명령어들 및 데이터를 저장하는 비휘발성 메모리 유닛일 수 있다. 하나 이상의 구현예들에서, 영구 저장 디바이스(1302)로서 (자기 또는 광 디스크 및 그의 대응하는 디스크 드라이브와 같은) 대용량 저장 디바이스가 사용될 수 있다.
하나 이상의 구현예들에서, 영구 저장 디바이스(1302)로서 (플로피 디스크, 플래시 드라이브, 및 그의 대응하는 디스크 드라이브와 같은) 제거가능한 저장 디바이스가 사용될 수 있다. 영구 저장 디바이스(1302)와 같이, 시스템 메모리(1304)는 판독- 및-기입 메모리 디바이스일 수 있다. 그러나, 영구 저장 디바이스(1302)와 달리, 시스템 메모리(1304)는 랜덤 액세스 메모리와 같은 휘발성 판독-및-기입 메모리일 수 있다. 시스템 메모리(1304)는 하나 이상의 프로세싱 유닛(들)(1312)이 런타임 시에 필요로 할 수 있는 명령어들 및 데이터 중 임의의 것을 저장할 수 있다. 하나 이상의 구현예들에서, 본 개시내용의 프로세스들은 시스템 메모리(1304), 영구 저장 디바이스(1302), 및/또는 ROM(1310)에 저장된다(이들은 각각, 비일시적 컴퓨터 판독가능 매체로서 구현됨). 이러한 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1312)은 하나 이상의 구현예들의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다.
버스(1308)는 또한 입력 및 출력 디바이스 인터페이스들(1314, 1306)에 연결된다. 입력 디바이스 인터페이스(1314)는 사용자가 전자 시스템(1300)으로 정보를 통신하게 하고 그에 대한 커맨드들을 선택할 수 있게 한다. 입력 디바이스 인터페이스(1314)와 함께 사용될 수 있는 입력 디바이스들은, 예를 들어, 영숫자 키보드들 및 포인팅 디바이스들("커서 제어 디바이스들"로 또한 지칭됨)을 포함할 수 있다. 출력 디바이스 인터페이스(1306)는 예를 들어, 전자 시스템(1300)에 의해 생성된 이미지들의 디스플레이를 가능하게 할 수 있다. 출력 디바이스 인터페이스(1306)와 함께 사용될 수 있는 출력 디바이스들은, 예를 들어 프린터들 및 디스플레이 디바이스들, 예컨대 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 가요성 디스플레이, 평판 디스플레이, 솔리드 스테이트 디스플레이, 프로젝터, 또는 정보를 출력하기 위한 임의의 다른 디바이스를 포함할 수 있다. 하나 이상의 구현예들은 터치스크린과 같은, 입력 및 출력 디바이스들 둘 모두로서 기능하는 디바이스들을 포함할 수 있다. 이들 구현예들에서, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다.
마지막으로, 도 13에 도시된 바와 같이, 버스(1308)는, 또한, 하나 이상의 네트워크 인터페이스(들)(1316)를 통해, 전자 시스템(1300)을 하나 이상의 네트워크들 및/또는 하나 이상의 네트워크 노드들, 예컨대 도 1에 도시된 전자 디바이스(110)에 결합시킨다. 이러한 방식으로, 전자 시스템(1300)은 컴퓨터들의 네트워크(예컨대, LAN, 광역 네트워크("WAN"), 또는 인트라넷, 또는 네트워크들의 네트워크, 예컨대 인터넷의 일부일 수 있다. 전자 시스템(1300)의 임의의 또는 모든 컴포넌트들은 본 개시내용과 함께 사용될 수 있다.
전술된 이들 기능은 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다. 기법들은 하나 이상의 컴퓨터 프로그램 제품들을 사용하여 구현될 수 있다. 프로그래밍가능 프로세서들 및 컴퓨터들은 모바일 디바이스들 내에 포함되거나 모바일 디바이스들로서 패키징될 수 있다. 프로세스들 및 로직 흐름들은 하나 이상의 프로그래밍가능 프로세서들에 의해 그리고 하나 이상의 프로그래밍가능 논리 회로부에 의해 수행될 수 있다. 범용 및 특수 목적 컴퓨팅 디바이스들 및 저장 디바이스들은 통신 네트워크들을 통해 상호연결될 수 있다.
일부 구현예들은 전자 컴포넌트들, 예컨대 마이크로프로세서들, 기계 판독가능 또는 컴퓨터 판독가능 매체(컴퓨터 판독가능 저장 매체들, 기계 판독가능 매체들, 또는 기계 판독가능 저장 매체들로도 지칭됨)에 컴퓨터 프로그램 명령어들을 저장하는 저장소 및 메모리를 포함한다. 그러한 컴퓨터 판독가능 매체들 중 일부 예들은 RAM, ROM, CD-ROM(read-only compact disc), CD-R(recordable compact disc), CD-RW(rewritable compact disc), 판독전용 DVD(digital versatile disc)(예컨대, DVD-ROM, 듀얼-레이어 DVD-ROM), 다양한 기록가능/재기록가능 DVD(예컨대, DVD-RAM, DVD-RW, DVD+RW 등), 플래시 메모리(예컨대, SD 카드, 미니-SD 카드, 마이크로-SD 카드 등), 자기 및/또는 솔리드 스테이트 하드 드라이브, 판독전용 및 기록가능 블루-레이(Blu-Ray)® 디스크, 초고밀도 광 디스크, 임의의 다른 광 또는 자기 매체, 및 플로피 디스크를 포함한다. 컴퓨터 판독가능 매체들은, 적어도 하나의 프로세싱 유닛에 의해 실행가능하고 다양한 동작들을 수행하기 위한 명령어들의 세트들을 포함하는 컴퓨터 프로그램을 저장할 수 있다. 컴퓨터 프로그램들 또는 컴퓨터 코드의 예들은, 컴파일러에 의해 생성되는 것과 같은 기계 코드, 및 인터프리터를 사용하여 컴퓨터, 전자 컴포넌트, 또는 마이크로프로세서에 의해 실행되는, 상위 레벨 코드를 포함한 파일들을 포함한다.
위의 논의가 소프트웨어를 실행시키는 마이크로프로세서 또는 멀티-코어 프로세서들을 주로 언급하지만, 일부 구현예들은 주문형 집적회로(ASIC)들 또는 필드 프로그래밍가능 게이트 어레이(FPGA)들과 같은 하나 이상의 집적 회로들에 의해 수행된다. 일부 구현예들에서, 그러한 집적 회로들은 회로 자체 상에 저장된 명령어들을 실행시킨다.
본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "컴퓨터", "서버", "프로세서", 및 "메모리" 모두는 전자 또는 다른 기술적인 디바이스들을 지칭한다. 이러한 용어들은 사람들 또는 사람들의 그룹들을 배제한다. 본 명세서의 목적들을 위해, 용어들 "디스플레이" 또는 "디스플레이하는"은 전자 디바이스 상에서 디스플레이하는 것을 의미한다. 본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "컴퓨터 판독가능 매체" 및 "컴퓨터 판독가능 매체들"은 컴퓨터에 의해 판독가능한 형태로 정보를 저장하는 유형의(tangible) 물리적 물체들로 전적으로 한정된다. 이들 용어들은 임의의 무선 신호들, 유선 다운로드 신호들, 및 임의의 다른 임시 신호들을 배제한다.
사용자와의 상호작용을 제공하기 위하여, 본 명세서에 기술된 발명 대상의 구현예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류들의 디바이스들이 또한 사용될 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 그로부터 문서들을 수신함으로써; 예를 들어, 사용자의 클라이언트 디바이스 상의 웹 브라우저로부터 수신되는 요청들에 응답하여 웹페이지들을 이 웹 브라우저로 전송함으로써, 사용자와 상호작용할 수 있다.
본 명세서에 기술된 발명 대상의 실시예들은, 예를 들어 데이터 서버로서 백엔드 컴포넌트를 포함하거나, 또는 미들웨어 컴포넌트, 예를 들어 응용 서버를 포함하거나, 또는 프론트엔드 컴포넌트, 예를 들어 사용자가 본 명세서에 기술된 발명 대상의 구현예와 상호작용할 수 있는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터, 또는 하나 이상의 이러한 백엔드, 미들웨어, 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은 근거리 네트워크("LAN") 및 광역 네트워크("WAN"), 인터-네트워크(예를 들어, 인터넷), 및 피어-투-피어 네트워크들(예를 들어, 애드 혹(ad hoc) 피어-투-피어 네트워크들)을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 대체적으로 서로 원격이며, 통신 네트워크를 통해 상호작용할 수 있다. 클라이언트와 서버의 관계는 각자의 컴퓨터 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 일부 실시예들에서, 서버는 (예컨대, 클라이언트 디바이스와 상호작용하는 사용자에 데이터를 디스플레이하고 그 사용자로부터 사용자 입력을 수신할 목적으로) 데이터(예컨대, HTML 페이지)를 클라이언트 디바이스에 전송한다. 클라이언트 디바이스에서 생성된 데이터(예컨대, 사용자 상호작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 개시내용의 양태들에 따르면, 제2 디바이스를 사용하여, 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스를 디스플레이하도록 구성된 제1 디바이스를 검출하는 단계; 제2 디바이스를 이용하여, 제1 디바이스의 위치 및 배향을 검출하는 단계; 제2 디바이스를 이용하여, 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스의 상태를 획득하는 단계; 및 제2 디바이스를 이용하여 그리고 제1 디바이스의 뷰 상에 적어도 부분적으로 오버레이되도록 그리고 제1 디바이스의 검출된 위치 및 배향에 기초하여, 애플리케이션에 대응하는 제2 사용자 인터페이스를 디스플레이하는 단계를 포함하는 방법이 제공된다. 제2 사용자 인터페이스는 제1 사용자 인터페이스의 획득된 상태와 함께 디스플레이된다.
본 개시내용의 양태들에 따르면, 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스를 디스플레이하도록 구성된 제1 디바이스; 및 물리적 환경의 뷰 상에 오버레이된 컴퓨터 생성 콘텐츠를 디스플레이하도록 구성된 제2 디바이스를 포함하는 시스템이 제공된다. 제2 디바이스는 추가로, 물리적 환경 내의 제1 디바이스의 위치 및 배향을 검출하고; 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스의 상태를 획득하고; 제1 디바이스의 뷰 상에 적어도 부분적으로 오버레이되도록 그리고 제1 디바이스의 검출된 위치 및 배향에 기초하여, 애플리케이션에 대응하는 제2 사용자 인터페이스를 디스플레이하도록 구성된다. 제2 사용자 인터페이스는 제1 사용자 인터페이스의 획득된 상태와 함께 디스플레이된다.
본 개시내용의 양태들에 따르면, 제1 위치에 있는 제1 디바이스를 이용하여, 제2 위치에 있는 제2 디바이스 및 제3 위치에 있는 제3 디바이스를 검출하는 단계; 제1 디바이스를 이용하여, 제2 위치 및 제3 위치와 연관된 사용자 입력을 수신하는 단계; 및 사용자 입력에 응답하여 그리고 제1 디바이스를 이용하여, 제3 디바이스로 하여금 제2 디바이스 상에서 실행되고 있는 애플리케이션의 상태를 사용하여 제2 디바이스 상에서 실행되고 있는 애플리케이션의 로컬 사본을 실행하게 하는 단계를 포함하는 방법이 제공된다.
당업자는 본 명세서에 설명된 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘 모두의 조합들로서 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 호환성을 예시하기 위해, 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 일반적으로 그들의 기능성에 관하여 위에서 설명되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 의존한다. 설명된 기능성은 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현될 수 있다. 다양한 컴포넌트들 및 블록들이 모두 본 기술의 범주로부터 벗어남이 없이 상이하게 배열될 수 있다(예를 들어, 상이한 순서로 배열되거나 상이한 방식으로 분할됨).
개시된 프로세스들에서 단계들의 특정 순서 또는 계층은 예시적인 접근법들의 예시임이 이해된다. 설계 선호도들에 기초하여, 프로세스들에서 단계들의 특정 순서 또는 계층이 재배열될 수 있다는 것이 이해된다. 단계들 중 일부가 동시에 수행될 수 있다. 첨부된 방법 청구항들은 다양한 단계들의 요소들을 샘플 순서로 제시하고, 제시된 특정 순서 또는 계층으로 제한되는 것으로 의도되지 않는다.
이전의 설명은 당업자가 본 명세서에 설명된 다양한 양태들을 실시할 수 있게 하기 위해 제공된다. 이전 설명은 본 기술의 다양한 예들을 제공하며 본 기술은 이러한 예들로 제한되지 않는다. 이러한 양태들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 양태들에 적용될 수 있다. 따라서, 청구항은 본 명세서에 도시된 양태들로 제한되는 것으로 의도되는 것이 아니라, 언어 청구항에 부합하는 전체 범주로 허용되어야 하며, 여기서 단수의 구성요소에 대한 언급은 구체적으로 그와 같이 언급되지 않는 한 "오직 하나만"을 의미하도록 의도되는 것이 아니고, 오히려 "하나 이상"을 의미하는 것으로 의도된다. 달리 구체적으로 언급되지 않는 한, 용어 "일부"는 하나 이상을 지칭한다. 남성 대명사(예를 들어, 그의)는 여성 및 중성(예를 들어, 그녀의 및 그것의)을 포함하고, 그 반대의 경우도 마찬가지이다. 표제들 및 부제들은, 존재한다면, 편의를 위해서만 사용되며 본 명세서에 설명된 발명을 제한하지 않는다.
본 명세서에 사용된 바와 같은 용어 웹사이트는 하나 이상의 웹 페이지들, 웹 관련 콘텐츠를 호스팅 또는 저장하는 데 사용되는 하나 이상의 서버들 등을 포함하는 웹사이트의 임의의 양태를 포함할 수 있다. 따라서, 용어 웹사이트는 용어들 웹 페이지 및 서버와 상호교환가능하게 사용될 수 있다. 서술 문구들 "~ 하도록 구성되는", "~ 하도록 동작가능한", 및 "~ 하도록 프로그래밍된"은 대상의 임의의 특정한 유형의 또는 비유형의 변형을 암시하지 않고, 오히려 상호교환가능하게 사용되도록 의도된다. 예를 들어, 동작 또는 컴포넌트를 모니터링 및 제어하도록 구성된 프로세서는 또한 동작을 모니터링 및 제어하도록 프로그래밍된 프로세서 또는 동작을 모니터링 및 제어하도록 동작가능한 프로세서를 의미할 수 있다. 마찬가지로, 코드를 실행하도록 구성된 프로세서는 코드를 실행하도록 프로그래밍되거나 코드를 실행하도록 동작가능한 프로세서로서 해석될 수 있다.
본 명세서에서 사용되는 바와 같이, 용어 "자동"은 사용자 개입 없는 컴퓨터 또는 기계에 의한; 예를 들어, 컴퓨터 또는 기계 또는 다른 개시 메커니즘에 의한 서술적 액션에 응답하는 명령어들에 의한 수행을 포함할 수 있다. 본 명세서에서 단어 "예시적인"은 "예 또는 예시의 역할을 하는 것"을 의미하기 위해 사용된다. 본 명세서에서 "예시적인"으로 기술된 임의의 양태 또는 설계는 반드시 다른 양태들 또는 설계들에 비해 바람직하거나 유리한 것으로 해석되어야 하는 것은 아니다.
"양태"와 같은 문구는 그러한 양태가 본 기술에 필수적이라거나 또는 그러한 양태가 본 기술의 모든 구성들에 적용된다는 것을 암시하지 않는다. 양태와 관련된 개시내용은 모든 구성들 또는 하나 이상의 구성들에 적용될 수 있다. 일 양태는 하나 이상의 예들을 제공할 수 있다. 양태와 같은 문구는 하나 이상의 양태들을 지칭할 수 있고 그 반대의 경우도 마찬가지이다. "실시예"와 같은 문구는 그러한 실시예가 본 기술에 필수적이라거나 또는 그러한 실시예가 본 기술의 모든 구성들에 적용된다는 것을 암시하지 않는다. 실시예와 관련된 개시내용은 모든 실시예들 또는 하나 이상의 실시예들에 적용될 수 있다. 일 실시예는 하나 이상의 예들을 제공할 수 있다. "실시예"와 같은 문구는 하나 이상의 실시예들을 지칭할 수 있고 그 반대의 경우도 마찬가지이다. "구성"과 같은 문구는 그러한 구성이 본 기술에 필수적이라거나 또는 그러한 구성이 본 기술의 모든 구성들에 적용된다는 것을 암시하지 않는다. 구성과 관련된 개시내용은 모든 구성들 또는 하나 이상의 구성들에 적용될 수 있다. 구성은 하나 이상의 예들을 제공할 수 있다. "구성"과 같은 문구는 하나 이상의 구성을 지칭할 수 있고 그 반대의 경우도 마찬가지이다.

Claims (20)

  1. 방법으로서,
    제2 디바이스를 사용하여, 제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스를 디스플레이하고 있는 상기 제1 디바이스를 검출하는 단계;
    상기 제2 디바이스를 이용하여, 상기 제1 디바이스의 위치 및 배향을 검출하는 단계;
    상기 제2 디바이스를 이용하여, 상기 제1 디바이스 상에서 실행되는 상기 애플리케이션의 상기 제1 사용자 인터페이스의 상태를 획득하는 단계; 및
    상기 제2 디바이스를 이용하여 그리고 상기 제1 디바이스의 뷰 상에 적어도 부분적으로 오버레이되도록 그리고 상기 제1 디바이스의 상기 검출된 위치 및 배향에 기초하여, 상기 애플리케이션에 대응하는 제2 사용자 인터페이스를 디스플레이하는 단계를 포함하며,
    상기 제2 사용자 인터페이스는 상기 제1 사용자 인터페이스의 상기 획득된 상태와 함께 디스플레이되는, 방법.
  2. 제1항에 있어서, 상기 제2 사용자 인터페이스를 디스플레이하는 단계는 상기 제1 디바이스의 디스플레이가 상기 제1 사용자 인터페이스를 디스플레이하는 동안 적어도 일시적으로 상기 제1 디바이스의 상기 디스플레이의 뷰 상에 적어도 부분적으로 오버레이된 상기 제2 사용자 인터페이스를 디스플레이하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    상기 제2 디바이스를 이용하여, 상기 제2 사용자 인터페이스에 대한 입력을 수신하는 단계; 및
    상기 제1 디바이스 상에서 실행되는 상기 애플리케이션의 제어를 위해 상기 제1 디바이스 상에서 실행되는 상기 애플리케이션에 상기 수신된 입력을 제공하는 단계를 추가로 포함하는, 방법.
  4. 제2항에 있어서,
    상기 제2 디바이스를 이용하여, 상기 제1 사용자 인터페이스에 대한 변경을 식별하는 단계 - 상기 변경은 상기 제1 디바이스에 대한 사용자 입력에 응답함 -; 및
    상기 제1 사용자 인터페이스에 대한 상기 식별된 변경에 기초하여 상기 제2 사용자 인터페이스를 업데이트하는 단계를 추가로 포함하는, 방법.
  5. 제4항에 있어서, 상기 제2 디바이스는 적어도 하나의 카메라를 포함하고, 상기 제1 사용자 인터페이스에 대한 상기 변경을 식별하는 단계는 상기 적어도 하나의 카메라를 사용하여 상기 제1 사용자 인터페이스에 대한 상기 변경을 식별하는 단계를 포함하는, 방법.
  6. 제4항에 있어서, 상기 제1 사용자 인터페이스에 대한 상기 변경을 식별하는 단계는 상기 제1 디바이스에서의 상기 제1 사용자 인터페이스에 대한 상기 사용자 입력에 응답하여 상기 제1 디바이스로부터 수신된 통신에 기초하여 상기 제1 사용자 인터페이스에 대한 상기 변경을 식별하는 단계를 포함하는, 방법.
  7. 제1항에 있어서, 상기 제2 디바이스가 상기 제2 사용자 인터페이스를 디스플레이할 때 상기 제1 디바이스의 디스플레이를 비활성화하는 단계를 추가로 포함하는, 방법.
  8. 제1항에 있어서, 상기 제1 디바이스의 상기 뷰 상에 적어도 부분적으로 오버레이된 상기 제2 사용자 인터페이스를 디스플레이한 후,
    상기 제2 디바이스를 이용하여, 상기 제1 디바이스의 상기 뷰로부터 떨어진 위치에서 상기 제2 사용자 인터페이스를 디스플레이하는 단계;
    상기 제1 디바이스에서 상기 애플리케이션을 비활성화하라는 표시를 상기 제1 디바이스에 제공하는 단계; 및
    상기 제2 디바이스에서 상기 애플리케이션의 로컬 사본(local copy)을 활성화하는 단계를 추가로 포함하는, 방법.
  9. 제1항에 있어서,
    상기 제2 디바이스를 이용하여, 사용자로부터 상기 제2 사용자 인터페이스로의 제스처 입력을 검출하는 단계; 및
    상기 제1 디바이스 상에서 실행되는 상기 애플리케이션의 제어를 위해 상기 검출된 제스처 입력에 기초한 입력을 상기 제1 디바이스에 제공하는 단계를 추가로 포함하는, 방법.
  10. 제1항에 있어서,
    상기 제1 디바이스를 이용하여, 사용자의 적어도 하나의 눈의 시선 방향을 추적하는 단계; 및
    상기 제1 사용자 인터페이스가 상기 제1 디바이스에 의해 디스플레이되는 동안 상기 제1 디바이스의 상기 검출된 위치에 대응하는 상기 시선 방향의 검출에 응답하여 상기 제2 사용자 인터페이스를 디스플레이하는 단계를 추가로 포함하는, 방법.
  11. 시스템으로서,
    제1 디바이스 상에서 실행되는 애플리케이션의 제1 사용자 인터페이스를 디스플레이하도록 구성된 상기 제1 디바이스; 및
    물리적 환경의 뷰 상에 오버레이되는 컴퓨터 생성 콘텐츠(computer generated content)를 디스플레이하도록 구성된 제2 디바이스를 포함하며, 상기 제2 디바이스는 추가로,
    상기 물리적 환경 내의 상기 제1 디바이스의 위치 및 배향을 검출하고;
    상기 제1 디바이스 상에서 실행되는 상기 애플리케이션의 상기 제1 사용자 인터페이스의 상태를 획득하고;
    상기 제1 디바이스의 뷰 상에 적어도 부분적으로 오버레이되도록 그리고 상기 제1 디바이스의 상기 검출된 위치 및 배향에 기초하여, 상기 애플리케이션에 대응하는 제2 사용자 인터페이스를 디스플레이하도록 구성되고, 상기 제2 사용자 인터페이스는 상기 제1 사용자 인터페이스의 상기 획득된 상태와 함께 디스플레이되는, 시스템.
  12. 제11항에 있어서, 상기 제2 디바이스는,
    사용자 입력을 수신하고;
    상기 사용자 입력에 응답하여:
    상기 사용자 입력에 응답하여 상기 제2 디바이스의 디스플레이 상의 제1 위치로부터 상기 제2 디바이스의 상기 디스플레이 상의 제2 위치로 상기 제2 사용자 인터페이스를 이동시키고;
    상기 제1 디바이스 상에서 실행되는 상기 애플리케이션에 대응하는 애플리케이션을 상기 제2 디바이스에서 동작시키고;
    상기 제1 디바이스에서 상기 애플리케이션을 비활성화하라는 표시를 상기 제1 디바이스에 제공하도록 구성되는, 시스템.
  13. 제11항에 있어서, 상기 애플리케이션은 콘텐츠 편집기 애플리케이션이고, 상기 제1 사용자 인터페이스의 상기 상태는,
    상기 제1 사용자 인터페이스에 현재 디스플레이되는, 상기 제1 디바이스에 이전에 입력된 콘텐츠; 및
    추가 콘텐츠의 입력을 위한 상기 제1 사용자 인터페이스 내의 영역의 활성 표시자를 포함하는, 시스템.
  14. 제13항에 있어서, 상기 콘텐츠 편집기 애플리케이션은 텍스트 입력 필드를 포함하고, 상기 활성 표시자는 상기 텍스트 입력 필드 내의 커서를 포함하는, 시스템.
  15. 제11항에 있어서, 상기 애플리케이션은 미디어 재생기 애플리케이션이고, 상기 제1 사용자 인터페이스의 상기 상태는,
    상기 제1 디바이스에 의해 현재 재생되고 있는 미디어의 표시자; 및
    상기 미디어 재생기 애플리케이션에서의 상기 미디어의 현재 재생 시간의 표시자를 포함하는, 시스템.
  16. 제11항에 있어서, 상기 애플리케이션은 소셜 미디어 애플리케이션이고, 상기 제1 사용자 인터페이스의 상기 상태는 상기 소셜 미디어 애플리케이션에 디스플레이된 선택가능한 링크의 표시를 포함하는, 시스템.
  17. 방법으로서,
    제1 위치에 있는 제1 디바이스를 이용하여, 제2 위치에 있는 제2 디바이스 및 제3 위치에 있는 제3 디바이스를 검출하는 단계;
    상기 제1 디바이스를 이용하여, 상기 제2 위치 및 상기 제3 위치와 연관된 사용자 입력을 수신하는 단계; 및
    상기 사용자 입력에 응답하여 그리고 상기 제1 디바이스를 이용하여, 상기 제3 디바이스로 하여금 상기 제2 디바이스 상에서 실행되고 있는 애플리케이션의 상태를 사용하여 상기 제2 디바이스 상에서 실행되고 있는 상기 애플리케이션의 로컬 사본을 실행하게 하는 단계를 포함하는, 방법.
  18. 제17항에 있어서, 상기 제3 디바이스로 하여금 상기 애플리케이션의 상기 상태를 사용하여 상기 애플리케이션의 상기 로컬 사본을 실행하게 하는 단계는,
    상기 제1 디바이스를 이용하여, 상기 제2 디바이스 상에서 실행되는 상기 애플리케이션의 상기 상태를 획득하는 단계;
    상기 제1 디바이스를 이용하여 상기 제2 디바이스 상에서 실행되는 상기 애플리케이션의 상기 상태를 상기 제3 디바이스에 제공하는 단계;
    상기 제1 디바이스를 이용하여, 상기 애플리케이션의 상기 제공된 상태로 시작하여 상기 애플리케이션의 상기 로컬 사본을 실행하라는 표시를 상기 제3 디바이스에 제공하는 단계; 및
    상기 제2 디바이스에서 상기 애플리케이션을 비활성화하라는 표시를 상기 제2 디바이스에 제공하는 단계를 포함하는, 방법.
  19. 제17항에 있어서, 상기 제3 디바이스로 하여금 상기 애플리케이션의 상기 상태를 사용하여 상기 애플리케이션의 상기 로컬 사본을 실행하게 하는 단계는, 상기 제1 디바이스를 이용하여, 상기 제2 디바이스로부터 상기 제3 디바이스로 상기 애플리케이션의 제어를 이전하라는(transfer) 사용자 명령어의 표시를 상기 제1 디바이스, 상기 제2 디바이스, 및 상기 제3 디바이스와 통신가능하게 결합된 서버에 제공하는 단계를 포함하는, 방법.
  20. 제17항에 있어서, 상기 제2 디바이스는 스마트 폰을 포함하고, 상기 제3 디바이스는 스마트 스피커 디바이스를 포함하고, 상기 애플리케이션은 미디어 재생기 애플리케이션을 포함하고, 상기 애플리케이션의 상기 상태는 상기 미디어 재생기 애플리케이션에 의해 재생되는 미디어의 식별자 및 상기 미디어의 재생 시간을 포함하고, 상기 제3 디바이스로 하여금 상기 제2 디바이스 상에서 실행되고 있는 상기 애플리케이션의 상기 상태를 사용하여 상기 제2 디바이스 상에서 실행되고 있는 상기 애플리케이션의 상기 로컬 사본을 실행하게 하는 단계는, 상기 스마트 폰으로 하여금 상기 미디어를 재생하는 것을 중지하게 하고 상기 스마트 스피커 디바이스로 하여금 상기 재생 시간에서 시작하여 상기 미디어를 재생하는 것을 시작하게 하는 단계를 포함하는, 방법.
KR1020227036082A 2020-04-17 2021-03-22 확장 현실 시스템과 함께 사용하기 위한 다중-디바이스 연속성 KR20220147146A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063011982P 2020-04-17 2020-04-17
US63/011,982 2020-04-17
US17/187,734 US20210326094A1 (en) 2020-04-17 2021-02-26 Multi-device continuity for use with extended reality systems
US17/187,734 2021-02-26
PCT/US2021/023447 WO2021211265A1 (en) 2020-04-17 2021-03-22 Multi-device continuity for use with extended reality systems

Publications (1)

Publication Number Publication Date
KR20220147146A true KR20220147146A (ko) 2022-11-02

Family

ID=78081919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227036082A KR20220147146A (ko) 2020-04-17 2021-03-22 확장 현실 시스템과 함께 사용하기 위한 다중-디바이스 연속성

Country Status (5)

Country Link
US (1) US20210326094A1 (ko)
EP (1) EP4136522A1 (ko)
KR (1) KR20220147146A (ko)
CN (1) CN115413334A (ko)
WO (1) WO2021211265A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022042036A (ja) * 2020-09-02 2022-03-14 株式会社リコー 機器管理システム、機器管理方法およびプログラム
US11947859B2 (en) * 2020-11-16 2024-04-02 Google Llc System and method for casting content
US20220392170A1 (en) * 2021-06-07 2022-12-08 Citrix Systems, Inc. Interactive Display Devices in Extended Reality Environments

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9508194B1 (en) * 2010-12-30 2016-11-29 Amazon Technologies, Inc. Utilizing content output devices in an augmented reality environment
US9024844B2 (en) * 2012-01-25 2015-05-05 Microsoft Technology Licensing, Llc Recognition of image on external display
EP3109733B1 (en) * 2015-06-22 2020-07-22 Nokia Technologies Oy Content delivery
US9972119B2 (en) * 2016-08-11 2018-05-15 Microsoft Technology Licensing, Llc Virtual object hand-off and manipulation
EP4235263A3 (en) * 2017-09-29 2023-11-29 Apple Inc. Gaze-based user interactions

Also Published As

Publication number Publication date
WO2021211265A1 (en) 2021-10-21
CN115413334A (zh) 2022-11-29
US20210326094A1 (en) 2021-10-21
EP4136522A1 (en) 2023-02-22

Similar Documents

Publication Publication Date Title
US11698674B2 (en) Multimodal inputs for computer-generated reality
KR20220147146A (ko) 확장 현실 시스템과 함께 사용하기 위한 다중-디바이스 연속성
CN116194869A (zh) 人工现实协同工作环境
US20210365108A1 (en) Controlling representations of virtual objects in a computer-generated reality environment
US12020379B2 (en) Virtual anchoring systems and methods for extended reality
US20210326594A1 (en) Computer-generated supplemental content for video
KR102644590B1 (ko) 가상 및 물리적 카메라들의 위치 동기화
US11521359B2 (en) Extended reality recorder
US20240126406A1 (en) Augment Orchestration in an Artificial Reality Environment
KR20220165780A (ko) 확장 현실 시스템들과 함께 사용하기 위한 물리적 컴패니언 디바이스들
CN117795461A (zh) 用于电子设备的对象放置
US20240211053A1 (en) Intention-based user interface control for electronic devices
US20240094819A1 (en) Devices, methods, and user interfaces for gesture-based interactions
US20220094724A1 (en) Operating system level management of group communication sessions
US20240211091A1 (en) Application-free systems and methods
US20220244903A1 (en) Application casting
US20240019928A1 (en) Gaze and Head Pose Interaction
US20240192973A1 (en) Artificial Reality Simulation for Augment Manipulation Controls on a Two-Dimensional Interface
Derby Designing Tomorrow's Reality: The Development and Validation of an Augmented and Mixed Reality Heuristic Checklist
WO2023196258A1 (en) Methods for quick message response and dictation in a three-dimensional environment
CN118235104A (zh) 用于电子设备的基于意图的用户界面控制
CN117762244A (zh) 基于3d姿势的用户界面元素移动期间的融合