KR20240043034A - Apparatus for expanding screen in an electronic device and operating method therefor - Google Patents
Apparatus for expanding screen in an electronic device and operating method therefor Download PDFInfo
- Publication number
- KR20240043034A KR20240043034A KR1020220140931A KR20220140931A KR20240043034A KR 20240043034 A KR20240043034 A KR 20240043034A KR 1020220140931 A KR1020220140931 A KR 1020220140931A KR 20220140931 A KR20220140931 A KR 20220140931A KR 20240043034 A KR20240043034 A KR 20240043034A
- Authority
- KR
- South Korea
- Prior art keywords
- mirroring
- display
- extended
- display area
- image
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000004891 communication Methods 0.000 claims description 147
- 239000000872 buffer Substances 0.000 claims description 107
- 238000009877 rendering Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 85
- 230000003993 interaction Effects 0.000 description 52
- 238000010586 diagram Methods 0.000 description 30
- 238000012545 processing Methods 0.000 description 26
- 230000004044 response Effects 0.000 description 23
- 230000033001 locomotion Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000004984 smart glass Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Abstract
본 개시의 실시예들은 외부 전자 장치와의 연동에 의하여 미러링 화면을 표시하는 전자 장치 및 그 운영 방법에 관한 것이다. 이를 위한, 외부 디바이스는 미러링 데이터를 획득하고, 상기 획득한 미러링 데이터를 사용하여 디스플레이에서 할당된 제 1 표시영역에 미러링 이미지를 표시할 수 있다. 상기 외부 디바이스는 상기 미러링 이미지를 표시하기 위하여 사용된 경험이 있는 이전 미러링 데이터로부터 확장 미러링 데이터를 획득하고, 사용자의 제스처에 따라 상기 디스플레이에서 상기 제 1 표시영역 외에 추가로 할당된 적어도 하나의 확장 표시 영역에 상기 확장 미러링 데이터를 사용하여 확장 미러링 이미지를 표시할 수 있다.Embodiments of the present disclosure relate to an electronic device that displays a mirroring screen by linking with an external electronic device and a method of operating the same. For this purpose, the external device can acquire mirroring data and display a mirrored image on the first display area allocated on the display using the acquired mirroring data. The external device obtains extended mirroring data from previous mirroring data that has been used to display the mirrored image, and displays at least one extended display additionally allocated in addition to the first display area on the display according to a user's gesture. An extended mirroring image can be displayed in the area using the extended mirroring data.
Description
본 개시(disclosure)의 실시예들은 전자 장치에서 화면 확장 장치 및 그 운영 방법에 관한 것이다.Embodiments of the present disclosure relate to a screen expansion device and a method of operating the same in an electronic device.
디지털 디바이스는 특정 기능 또는 서비스를 제공하는 다양한 응용프로그램(application, 이하 “앱(app)”이라 칭함)을 설치할 수 있다. 상기 디지털 디바이스는 사용자의 요청에 응답하여 설치된 앱을 실행할 수 있다. 상기 디지털 디바이스는 앱의 실행에 따른 정보를 디스플레이를 통해 표시할 수 있다. 상기 디지털 디바이스는 사용자가 휴대하기 용이한 스마트폰(smart phone), 모바일 폰(mobile phone) 또는 태블릿 디바이스(tablet device)와 같이 전자 장치가 존재할 수 있다. Digital devices can install various applications (hereinafter referred to as “apps”) that provide specific functions or services. The digital device may execute an installed app in response to a user's request. The digital device can display information according to the execution of the app through a display. The digital device may be an electronic device that is easy for a user to carry, such as a smart phone, mobile phone, or tablet device.
상기 휴대하기 용이한 디지털 디바이스는 디자인 또는 사용자가 파지하기 용이하도록, 크기를 줄이기 위한 노력이 이루어지고 있다. 이로 인해, 디지털 디바이스는 텔레비전 또는 모니터와 같은 디스플레이 장치에 비해 상대적으로 작은 화면 크기를 가질 수 있다. 상기 디스플레이 장치에 비해 상대적으로 작은 화면 크기를 갖는 디지털 디바이스는 영화, 드라마 또는 게임과 같이 동영상을 제공하는 멀티미디어 컨텐츠를 이용하는 경우, 사용자의 만족감을 반감시킬 수 있다.Efforts are being made to reduce the size of the portable digital device so that it can be designed or easily held by the user. Because of this, digital devices may have a relatively small screen size compared to display devices such as televisions or monitors. A digital device with a relatively small screen size compared to the display device may halve the user's satisfaction when using multimedia content that provides moving images, such as movies, dramas, or games.
본 개시의 일 실시예는, 디지털 디바이스의 화면을 미러링하는 미러링 시스템에서 사용자와의 인터랙션을 통해 미러링 화면을 확장하는 전자 장치 및 그 운영 방법을 제공할 수 있다.An embodiment of the present disclosure can provide an electronic device that expands the mirroring screen through interaction with a user in a mirroring system that mirrors the screen of a digital device, and a method of operating the same.
일 실시예에 따른, 디바이스는, 표시창에 미러링 이미지를 표시하도록 구성된 디스플레이 모듈과, 외부 디바이스와 통신을 수행하도록 구성된 통신 모듈과, 사용자의 제스처를 감지하고, 상기 감지된 사용자의 제스처에 대응한 센싱 신호를 생성하도록 구성된 센서 모듈과, 하나 또는 복수의 버퍼 영역이 할당되도록 구성된 메모리 및 상기 디스플레이 모듈, 상기 통신 모듈 또는 상기 메모리와 전기적으로 연결되고, 상기 디스플레이 모듈, 상기 통신 모듈 또는 상기 메모리의 동작을 제어하도록 구성된 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서가, 상기 통신 모듈을 통해 상기 외부 디바이스로부터 미러링 데이터를 수신하고, 상기 미러링 데이터를 사용하여 상기 표시창에서 할당된 제 1 표시영역에 미러링 이미지가 표시되도록 상기 디스플레이 모듈을 제어하고, 상기 센서 모듈에 의해 감지된 사용자 제스처에 따라 상기 표시창에서 상기 제 1 표시영역 외에 추가로 할당된 적어도 하나의 확장 표시 영역에 확장 미러링 데이터를 사용하여 확장 미러링 이미지가 표시되도록 상기 디스플레이 모듈을 제어하도록 구성되며, 여기서, 상기 확장 미러링 데이터는 상기 미러링 이미지를 표시하기 위하여 사용된 경험이 있는 이전 미러링 데이터로부터 획득할 수 있다.According to one embodiment, a device includes a display module configured to display a mirrored image on a display window, a communication module configured to communicate with an external device, detecting a user's gesture, and performing sensing corresponding to the detected user's gesture. A sensor module configured to generate a signal, a memory configured to be allocated one or a plurality of buffer areas, and electrically connected to the display module, the communication module, or the memory, and perform the operation of the display module, the communication module, or the memory. At least one processor configured to control, wherein the at least one processor receives mirroring data from the external device through the communication module, and uses the mirroring data to perform mirroring on a first display area allocated in the display window. Controlling the display module to display an image, and performing extended mirroring using extended mirroring data in at least one extended display area additionally allocated in addition to the first display area in the display window according to a user gesture detected by the sensor module. and configured to control the display module to display an image, wherein the extended mirroring data can be obtained from previous mirroring data that has been used to display the mirrored image.
일 실시예에 따른, 전자 장치에서의 디스플레이 방법은, 미러링 데이터를 획득하는 동작을 포함할 수 있다. 상기 디스플레이 방법은, 상기 획득한 미러링 데이터를 사용하여 디스플레이에서 할당된 제 1 표시영역에 미러링 이미지를 표시하는 동작을 포함할 수 있다. 상기 디스플레이 방법은, 상기 미러링 이미지를 표시하기 위하여 사용된 경험이 있는 이전 미러링 데이터로부터 확장 미러링 데이터를 획득하는 동작을 포함할 수 있다. 상기 디스플레이 방법은, 사용자의 제스처에 따라 상기 디스플레이에서 상기 제 1 표시영역 외에 추가로 할당된 적어도 하나의 확장 표시 영역에 상기 확장 미러링 데이터를 사용하여 확장 미러링 이미지를 표시하는 동작을 포함할 수 있다.According to one embodiment, a display method in an electronic device may include an operation of acquiring mirroring data. The display method may include displaying a mirrored image on a first display area allocated on a display using the obtained mirroring data. The display method may include obtaining extended mirroring data from previous mirroring data that has been used to display the mirrored image. The display method may include displaying an extended mirroring image using the extended mirroring data in at least one additionally allocated extended display area in addition to the first display area on the display according to a user's gesture.
본 개시의 일 실시예에 의하면, 미러링 화면을 제공하는 외부 디바이스에서 사용자와의 인터랙션을 통해 미러링 화면으로 제공되었던 미러링 이미지를 재활용하여 확장 미러링 화면을 제공함으로써, 무선 채널의 트래픽 또는 전력 소비를 줄일 수 있다. According to an embodiment of the present disclosure, an external device that provides a mirroring screen recycles the mirroring image that was provided as a mirroring screen through interaction with the user to provide an extended mirroring screen, thereby reducing traffic or power consumption of the wireless channel. there is.
본 개시에서 이루고자 하는 기술적 과제는 앞에서 언급한 기술적 과제로 제한되지 않으며, 당해 기술분야의 통상의 지식을 가진 자에 의해 본 개시의 예시적 실시예들로부터 앞에서 언급되지 않은 다른 기술적 과제들이 도출될 수 있다.The technical problems to be achieved in the present disclosure are not limited to the above-mentioned technical problems, and other technical problems not mentioned above may be derived from the exemplary embodiments of the present disclosure by those skilled in the art. there is.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.Effects that can be obtained from the exemplary embodiments of the present disclosure can be clearly derived and understood by those skilled in the art from the following description. That is, unintended effects resulting from implementing the exemplary embodiments of the present disclosure may also be derived by those skilled in the art from the exemplary embodiments of the present disclosure.
도 1은 일 실시예에 따른, 미러링 시스템에서 수행하는 미러링 기능을 개념적으로 설명하기 위한 도면이다.
도 2는 일 실시예에 따른, 미러링 시스템에서 미러링 기능을 위한 절차를 도시한 도면이다.
도 3은 일 실시예에 따른, 화면 미러링을 지원하기 위한 미러링 시스템의 구성도이다.
도 4는 일 실시예에 따라, 화면 미러링을 지원하는 소스 디바이스의 기능 구성을 도시한 도면이다.
도 5는 일 실시예에 따라, 화면 미러링을 지원하는 외부 디바이스의 기능 구성을 도시한 도면이다.
도 6은 일 실시예에 따른, 외부 디바이스에서 가상 공간의 화면 표시 예시도이다.
도 7은 일 실시예에 따른, 미러링 시스템의 외부 디바이스에서 미러링 화면을 확장하는 예시도이다.
도 8은 일 실시예에 따른, 미러링 시스템에서 미러링 기능을 제공하기 위한 처리 절차를 도시한 도면이다.
도 9는 일 실시예에 따른, 미러링 시스템에서 미러링 및 이벤트 처리 동작을 위한 처리 절차를 도시한 도면이다.
도 10a 및 도 10b는 일 실시예에 따른, 미러링 시스템에서 외부 디바이스가 미러링 이미지를 표시하기 위한 제어 흐름도이다.
도 11a는 일 실시예에 따른, 미러링 기능을 지원하는 외부 디바이스에서의 미러링 화면을 확장하는 예시도이다.
도 11b는 일 실시예에 따른, 미러링 기능을 지원하는 외부 디바이스에서의 미러링 화면을 확장하는 예시도이다.
도 12는 일 실시예에 따른, 미러링 시스템에서 3차원 미러링 이미지를 이용하여 미러링 화면을 확장하는 예시도이다.
도 13은 일 실시예에 따른, 미러링 시스템을 구성하는 외부 디바이스에서 확장 표시 영역에서의 인터랙션을 제공하는 예시도이다.
도 14는 일 실시예에 따른, 미러링 시스템에서 확장 표시 영역을 관리하기 위한 히스토리 계층도이다.
도 15는 일 실시예에 따른, 미러링 시스템에서 확장 표시 영역을 자체적으로 운영하는 예시도이다.
도 16은 일 실시예에 따른, 외부 디바이스에서 미러링 이미지를 시간 공간에서 확장한 예를 도시한 도면이다.
도 17은 일 실시예에 따른, 외부 디바이스에서 미러링 이미지를 시간 공간에서 확장하기 위한 제어 흐름도이다.
도 18은 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.FIG. 1 is a diagram conceptually illustrating a mirroring function performed in a mirroring system according to an embodiment.
FIG. 2 is a diagram illustrating a procedure for a mirroring function in a mirroring system, according to an embodiment.
Figure 3 is a configuration diagram of a mirroring system for supporting screen mirroring, according to an embodiment.
FIG. 4 is a diagram illustrating the functional configuration of a source device supporting screen mirroring, according to an embodiment.
FIG. 5 is a diagram illustrating the functional configuration of an external device supporting screen mirroring, according to an embodiment.
Figure 6 is an example of a screen display of a virtual space on an external device, according to an embodiment.
Figure 7 is an example of expanding a mirroring screen on an external device of a mirroring system, according to an embodiment.
FIG. 8 is a diagram illustrating a processing procedure for providing a mirroring function in a mirroring system, according to an embodiment.
FIG. 9 is a diagram illustrating processing procedures for mirroring and event processing operations in a mirroring system, according to an embodiment.
10A and 10B are control flowcharts for an external device to display a mirrored image in a mirroring system, according to an embodiment.
FIG. 11A is an example diagram of expanding a mirroring screen in an external device that supports a mirroring function, according to an embodiment.
FIG. 11B is an example diagram of expanding a mirroring screen in an external device that supports a mirroring function, according to an embodiment.
Figure 12 is an example diagram of expanding a mirroring screen using a 3D mirroring image in a mirroring system, according to an embodiment.
FIG. 13 is an example diagram showing interaction in an extended display area from an external device constituting a mirroring system, according to an embodiment.
Figure 14 is a history hierarchy diagram for managing an extended display area in a mirroring system, according to an embodiment.
FIG. 15 is an example diagram of independently operating an extended display area in a mirroring system, according to an embodiment.
FIG. 16 is a diagram illustrating an example of expanding a mirroring image in time and space in an external device, according to an embodiment.
FIG. 17 is a control flowchart for expanding a mirroring image in time and space in an external device, according to an embodiment.
18 is a block diagram of an electronic device in a network environment, according to various embodiments.
In relation to the description of the drawings, identical or similar reference numerals may be used for identical or similar components.
이하에서는 도면을 참조하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면의 설명과 관련하여, 동일하거나 유사한 구성요소에 대해서는 동일하거나 유사한 참조 부호가 사용될 수 있다. 또한, 도면 및 관련된 설명에서는, 잘 알려진 기능 및 구성에 대한 설명이 명확성과 간결성을 위해 생략될 수 있다.Hereinafter, with reference to the drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein. In relation to the description of the drawings, identical or similar reference numerals may be used for identical or similar components. Additionally, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and brevity.
도 1은 일 실시예에 따른, 미러링 시스템(1)에서 수행하는 미러링 기능을 개념적으로 설명하기 위한 도면이다.FIG. 1 is a diagram conceptually illustrating a mirroring function performed by the
도 1을 참조하면, 미러링 시스템(1)은 적어도 두 개의 전자 장치를 포함할 수 있다. 상기 적어도 두 개의 전자 장치는 제1 전자 장치인 소스 디바이스(10)와 적어도 하나의 제2 전자 장치인 외부 디바이스(20)를 포함할 수 있다. Referring to FIG. 1, the
상기 소스 디바이스(10)는 미러링 기능에 따른 미러링 이미지를 생성하고, 상기 미러링 이미지를 상기 외부 디바이스(20)로 제공할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 상기 외부 디바이스(20)로부터의 앱 실행 요청에 응답하여 가상 디스플레이를 생성하고, 상기 가상 디스플레이에서 대상 앱을 실행하여 상기 외부 디바이스(20)로 미러링할 이미지(이하 '미러링 이미지'라 칭함)를 획득할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 미러링 이미지를 미러링 데이터에 포함시켜 상기 외부 디바이스(20)로 전송할 수 있다. 상기 미러링 데이터는 상기 미러링 이미지를 미러링하기 위해 사용될 데이터 (이하 '미러링 메타 데이터'라 칭함)를 포함할 수 있다. 상기 미러링 메타 데이터는, 예를 들어, 상기 미러링 이미지의 크기, 해상도, DPI 또는 표시 위치와 같은 정보를 포함할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 앱과 같은 프로그램이 설치되거나, 실행될 수 있는 스마트폰 또는 태블릿 PC와 같은 디지털 디바이스일 수 있다. The
상기 외부 디바이스(20)는 미러링 기능을 위하여 상기 소스 디바이스(10)에서 제공하는 미러링 이미지를 표시할 영역 (이하 '미러링 표시 영역'이라 칭함)을 확장하는 화면 확장 장치일 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 자체 디스플레이를 구비한 웨어러블 디바이스(wearable device), 스마트폰(smart phone), 태블릿 PC 또는 개인용 컴퓨터와 같은 디지털 디바이스일 수 있다. 상기 웨어러블 디바이스는 사용자의 신체 또는 의류에 착/탈이 가능한 디지털 전자 장치일 수 있다. 상기 웨어러블 디바이스는, 예를 들어, 티셔츠, 안경, 팔찌, 시계, 신발과 같이 다양한 형태를 가질 수 있다. 예시적으로, 웨어러블 디바이스는 사용자가 손목에 착용할 수 있는 스마트 워치(smart watch), 사용자가 귀에 작용할 수 있는 블루투스 이어폰(Bluetooth earphone) 또는 사용자가 안경과 같이 착용할 수 있는 스마트 글래스(smart glasses)와 같은 머리 착용 디바이스 (HMD: head mounted display)를 포함할 수 있다. 상기 외부 디바이스(20) 중 하나인 스마트 글래스는 확장 현실 (eXtended Reality) 기술을 기반으로 가공된 공간에 원하는 이미지를 표시할 수 있다. 상기 확장 현실 기술을 기반으로 가공된 공간(예: 미러링 표시 영역)은, 예를 들어, 현실 이미지를 표시할 수 있는 외부 디바이스(20)의 디스플레이 영역 (또는 표시창)에서 가상 이미지 (예: 미러링 이미지)를 표시할 일부 또는 전체 디스플레이 영역일 수 있다. 상기 확장 현실 기술은 가상 현실 (VR: virtual reality), 증강 현실 (AR: augmented reality) 또는 혼합 현실 (MR: mixed reality) 중 적어도 하나를 지원하는 기술일 수 있다. 상기 미러링 화면은 소스 디바이스(10)가 가상 디스플레이에서 실행한 앱의 화면을 확장할 수 있다. 일 예로, 미러링 기능에서의 화면 확장은, 적용 기술에 따라, VR 확장 화면, AR 확장 화면 또는 MR 확장 화면을 포함할 수 있다.The
상기 소스 디바이스(10)와 상기 외부 디바이스(20)는 소정 통신 방식을 지원하는 프로토콜 (이하 '통신 프로토콜'이라 칭함)을 기반으로 미러링 기능을 위한 연결이 이루어질 수 있다. 상기 미러링 기능을 위한 연결은, 예를 들어, 미러링 기능에 따른 데이터(예: 도 2의 미러링 데이터(31) 또는 이벤트 정보(33))를 송신하거나, 수신할 무선 채널을 할당할 수 있다. 상기 통신 프로토콜은, 예들 들어, 근거리 통신 네트워크(예: 도 18의 제 1 네트워크(1898)) 또는 원거리 통신 네트워크(예: 도 18의 제2 네트워크(1899)와 같은 네트워크 환경에서 통신을 수행하기 위해 마련된 프로토콜일 수 있다. 상기 근거리 통신 네트워크(1898)를 위해 마련된 프로토콜은, 예를 들어, 블루투스, WiFi direct 또는 IrDA 등을 포함할 수 있다. 상기 원거리 통신 네트워크(1899)는, 예를 들어, 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)가 포함될 수 있다. The
상기 소스 디바이스(10)와 상기 외부 디바이스(20)는 연결 절차를 수행함으로써, 상대방 디바이스로 데이터(예: 도 2의 미러링 데이터(31) 또는 이벤트 정보(33))를 전송하거나, 또는 상대방 디바이스로부터 데이터(예: 미러링 데이터(31) 또는 이벤트 정보(33))를 수신할 수 있는 무선 채널이 형성된 상태에 진입할 수 있다. 상기 연결 절차는, 예를 들어, 상기 외부 디바이스(20)가 상기 소스 디바이스(10)로 미러링 기능을 요청함에 의해 트리거(trigger)될 수 있다. 하지만, 상기 외부 디바이스(20)에 의한 미러링 기능 요청은, 예를 들어, 연결 절차에 의해 상기 소스 디바이스(10)와 무선 채널이 형성된 후에 이루어질 수도 있다.By performing a connection procedure, the
상기 소스 디바이스(10)는 연결 절차에 의해 할당된 무선 채널을 통해 상기 외부 디바이스(20)로 미러링 기능(30)를 위한 미러링 관련 데이터를 전송하거나, 수신할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 미러링 기능을 위한 미러링 데이터 (예: 도 2의 미러링 데이터(31))를 상기 외부 디바이스(20)로 전송할 수 있다. 상기 미러링 데이터(31)는, 예를 들어, 개별 레이아웃이나 코드, 기능 단위로 전달되는 것이 아니라, 상기 소스 디바이스(10)의 가상 디스플레이에 표시되는 화면 자체에 대한 이미지 데이터를 그대로 전달할 수 있다.The
상기 외부 디바이스(20)는, 예를 들어, 사용자와의 인터랙션(interaction)(예: 도 2의 인터랙션(25))을 통해 획득한 이벤트 정보(예: 도 2의 이벤트 정보(33))를 상기 소스 디바이스(10)로 전송할 수 있다. 사용자는 인터랙션(25)을 통해 확장된 공간(예: 도 2의 미러링 표시 영역(23))에 표시될 화면을 제어할 수 있다. 상기 인터랙션(25)은, 예를 들어, 사용자에 의한 손의 움직임을 추적 (hand tracking)하거나, 또는 사용자의 시선을 추적 (eye tracking)하는 것에 의해 수행될 수 있다.For example, the
상기 외부 디바이스(20)는 상기 소스 디바이스(10)로부터 제공된 미러링 데이터를 사용하여 디스플레이(예: 도 3의 디스플레이 모듈(210))에 미러링 기능을 위해 마련한 표시 영역(예: 도 2의 미러링 표시 영역(23)) 전체 또는 일부에 미러링 이미지를 표시할 수 있다. 상기 외부 디바이스(20)에서의 미러링 화면은 상기 미러링 표시 영역(23)의 전체 또는 일부에 미러링 이미지가 표시된 화면일 수 있다.The
일 예에 따르면, 상기 외부 디바이스(20)는 제 1 표시 영역(예: 도 6의 제 1 표시영역(620)) 및/또는 적어도 하나의 확장 표시 영역(예: 도 6의 확장 표시 영역(640))을 포함하도록 미러링 표시 영역(23)을 할당할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(예: 도 6의 제 1 표시영역(620))을 포함하도록 미러링 표시 영역(23)을 할당할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 적어도 하나의 확장 표시 영역(예: 도 6의 확장 표시 영역(640))을 포함하도록 미러링 표시 영역(23)을 할당할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(예: 도 6의 제 1 표시영역(620))과 적어도 하나의 확장 표시 영역(예: 도 6의 확장 표시 영역(640))을 포함하도록 미러링 표시 영역(23)을 할당할 수 있다.According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는 미러링 이미지를 임시 저장하거나, 렌더링하기 위한 버퍼 (또는 버퍼 영역)을 마련할 수 있다. 상기 외부 디바이스(20)는 버퍼 또는 버퍼 영역을 개선하여 미러링 이미지를 제공할 제 1 표시영역(예: 도 6의 제 1 표시영역(620)) 외에 확장 표시 영역(예: 도 6의 확장 표시 영역(640))을 구현할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(예: 도 6의 제 1 표시영역(620))에 표시할 미러링 데이터(예: 도 7의 제1 내지 제3 미러링 데이터(720a, 720b, 720c))를 임시 저장하거나, 또는 렌더링하기 위한 제1 버퍼 (또는 제1 버퍼 영역)(예: 도 3의 제1 버퍼(241))을 구비할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 적어도 하나의 확장 표시 영역(예: 도 6의 확장 표시 영역(640))에 표시할 확장 미러링 데이터(예: 도 7의 제1 내지 제3 확장 미러링 데이터(731, 733, 735))를 임시 저장하거나, 또는 렌더링하기 위한 제2 버퍼 (또는 제2 버퍼 영역)(예: 도 3의 제2 버퍼(243))을 구비할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 사용자와의 인터랙션(예: 도 2의 인터랙션(25))을 통해 획득한 정보 (예: 사용자의 제스처에 따른 모션 정보)을 분석하고, 상기 분석 결과에 의해 제2 버퍼 (또는 제2 버퍼 영역)(예: 도 3의 제2 버퍼(243))에 임시 저장된 확장 미러링 데이터(예: 도 7의 제1 내지 제3 확장 미러링 데이터(731, 733, 735))를 사용하여 적어도 하나의 확장 표시 영역(예: 도 6의 확장 표시 영역(640))에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
상기 소스 디바이스(10) 및/또는 상기 외부 디바이스(20)는, 미러링 기능의 종료 요청이 발생하면, 상기 미러링 기능을 위하여 할당된 모든 자원을 해제한 후, 상기 미러링 기능을 종료할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 미러링 기능을 위해 생성하였던 적어도 하나의 가상 디스플레이를 폐기할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 미러링 기능을 위해 할당하였던 표시 영역(예: 도 2의 미러링 표시 영역(23))을 해제할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 미러링 기능을 위해 사용된 버퍼 (예: 제1 버퍼(21) 또는 제2 버퍼(23)) 또는 버퍼 영역 (예: 제1 버퍼 영역 또는 제2 버퍼 영역)의 할당을 해제할 수 있다.When a request for termination of the mirroring function occurs, the
도 2는 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))에서 미러링 기능을 위한 절차를 도시한 도면이다.FIG. 2 is a diagram illustrating a procedure for a mirroring function in a mirroring system (eg, mirroring
도 2를 참조하면, 미러링 시스템(1)은 소스 디바이스(10))와, 적어도 하나의 외부 디바이스(20)를 포함할 수 있다. 상기 소스 디바이스(10)는 미러링 기능을 위해 상기 외부 디바이스(20)로 미러링 이미지를 제공하기 위하여 하나 또는 복수의 가상 디스플레이를 마련할 수 있다. 상기 가상 디스플레이는, 예를 들어, 메모리에 미러링 화면을 표시하기 위한 이미지 데이터를 생성하기 위해 할당된 영역에 해당할 수 있다.Referring to FIG. 2 , the
상기 소스 디바이스(10)는 자신의 앱 리스트를 상기 외부 디바이스(20)와 공유할 수 있다. 상기 앱 리스트는, 예를 들어, 상기 소스 디바이스(10)에 설치된 앱들의 목록일 수 있다. 상기 소스 디바이스(10)는 가상 디스플레이(예: 제1 가상 디스플레이(11), 제2 가상 디스플레이(13)) 상에 미러링 기능을 제공할 앱들의 아이콘이 포함된 초기 미러링 이미지를 생성하고, 상기 초기 미러링 이미지에 대응한 초기 미러링 데이터(31)를 상기 외부 디바이스(20)로 제공할 수 있다. 상기 앱 리스트는, 예를 들어, 2차원 앱 (2D 앱), 3차원 위젯 앱 (3D widget 앱) 또는 3차원 실감형 앱 (3D immersive 앱)을 포함할 수 있다. 상기 2차원 앱은, 예를 들어, 평면 (flat) 형태의 이미지를 제공하는 앱일 수 있다. 상기 3차원 위젯 앱은, 예를 들어, 가공된 공간 (AR 공간, VR 공간, 확장 현실 공간)에 다수로 배치될 수 있는 3차원 앱일 수 있다. 상기 3차원 실감형 앱은, 예를 들어, 3차원 앱 하나가 가공된 공간 (AR 공간, VR 공간, 확장 현실 공간) 전체를 제어할 수 있는 3차원 앱일 수 있다. The
상기 외부 디바이스(20)는 상기 소스 디바이스(10)에 의해 공유된 앱 리스트로부터 미러링 기능을 이용할 앱에 관한 정보를 획득할 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)로부터 초기 미러링 데이터(31)를 수신할 수 있다. 상기 외부 디바이스(20)는 상기 앱에 관한 정보 및/또는 상기 초기 미러링 데이터(31)를 사용하여 디스플레이 모듈(110)에 마련된 미러링 표시 영역(23) 전체 또는 일부에 미러링 기능을 이용할 초기 미러링 화면을 표시할 수 있다. The
상기 소스 디바이스(10)는, 상기 외부 디바이스(20)로부터의 앱 실행 요청에 응답하여 미러링 기능을 개시할 수 있다. 상기 소스 디바이스(10)는, 미러링 기능이 개시되면, 상기 외부 디바이스(20)에 의해 실행이 요청된 하나 또는 복수의 앱 별로 인코더 및/또는 가상 디스플레이(예: 제1 가상 디스플레이(11) 및/또는 제2 가상 디스플레이(13))를 생성할 수 있다. 상기 소스 디바이스(10)는 동시에 여러 앱을 실행하기 위하여 복수의 가상 디스플레이를 생성할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 한 개 내지 여섯 개 정도의 가상 디스플레이를 생성 및 운영할 수 있다.The
상기 소스 디바이스(10)는 가상 디스플레이에 대응 앱을 실행(launch)할 수 있다. 상기 소스 디바이스(10)는 앱의 실행으로 가상 디스플레이에 표시될 수 있는 미러링 이미지를 포함한 미러링 데이터(31)를 상기 외부 디바이스(20)로 전송할 수 있다. 상기 미러링 데이터(31)는, 예를 들어, 상기 소스 디바이스(10)에서 생성된 가상 디스플레이에 표시된 가상 화면을 그대로 상기 외부 디바이스(20)의 디스플레이의 표시창(29)에 할당된 미러링 표시 영역(23)에 미러링하기 위한 데이터를 포함할 수 있다. The
상기 외부 디바이스(20)는 디스플레이의 표시창(29)의 전체 영역을 통해 현실 공간 이미지를 표시하거나, 투시하고, 상기 표시창(29)의 일부 영역에 미러링 표시 영역(23)을 할당하여 상기 소스 디바이스(10)로부터 제공된 미러링 데이터(31)에 의한 미러링 이미지(27)를 표시할 수 있다. 상기 미러링 표시 영역(23)은, 예를 들어, 복수의 표시 영역(예: 도 6의 제 1 표시영역(620) 또는 적어도 하나의 확장 표시 영역(640))을 포함할 수 있다. The
상기 외부 디바이스(20)는, 사용자와의 인터랙션(25)을 통해 이벤트가 생성되면, 상기 생성된 이벤트에 상응한 이벤트 정보(33)를 상기 소스 디바이스(10)로 전달할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 상기 생성된 이벤트를 자체적으로 처리할 수 있다고 판단하면, 자신이 직접 처리할 수 있다. 상기 이벤트는, 예를 들어, 사용자가 미러링 표시 영역(27)에 표시된 미러링 이미지의 특정 위치를 터치하거나, 스크롤하는 것과 같은 인터랙션(25)에 의해 생성될 수 있다. When an event is generated through
상기 소스 디바이스(10)는 상기 외부 디바이스(20)로부터 이벤트 정보를 접수하면, 가상 디스플레이(11, 13)에서 실행 중인 해당 앱 상에서 상기 이벤트 정보에 대응한 동작을 처리할 수 있다. 상기 소스 디바이스(10)는 상기 이벤트 정보에 대응한 동작 처리에 따라, 가상 디스플레이(11, 13)에 표시될 이미지에 상응한 미러링 데이터(31)를 상기 외부 디바이스(20)로 제공할 수 있다.When the
도 3은 일 실시예에 따른, 화면 미러링을 지원하기 위한 미러링 시스템(예: 도 1의 미러링 시스템)의 구성도이다.FIG. 3 is a configuration diagram of a mirroring system (eg, the mirroring system of FIG. 1) for supporting screen mirroring, according to an embodiment.
도 3을 참조하면, 소스 디바이스(예: 도 1의 소스 디바이스(10))와 외부 디바이스(예: 도 1의 외부 디바이스(20))는 소정 통신 프로토콜을 기반으로 하는 네트워크(40)를 통해 연결될 수 있다. 상기 소스 디바이스(10)와 상기 외부 디바이스(20)는 상기 네트워크(40)를 통해 연결되면, 소정 통신 프로토콜에 따른 통신 채널(70)이 할당될 수 있다. 상기 통신 채널(70)은, 예를 들어, 무선 채널이거나, 유선 채널일 수 있다. Referring to FIG. 3, a source device (e.g.,
일 예로써, 소스 디바이스(10)는 디스플레이 모듈(110), 프로세서(120), 입/출력부(130), 메모리(140) 또는 통신 모듈(150)를 포함할 수 있다. As an example, the
상기 디스플레이 모듈(110)은 디스플레이 패널 또는 터치 패널을 포함할 수 있다. 상기 디스플레이 패널은 소스 디바이스(10)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 상기 디스플레이 모듈(110)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 상기 터치 패널은 사용자에 의한 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 생성되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. 상기 디스플레이 모듈(110)은 상기 프로세서(120)와의 전기적인 연결에 의해 그 동작을 제어 받을 수 있다. 상기 디스플레이 모듈(110)에 포함된 디스플레이 패널 또는 터치 패널은 상기 프로세서(120)와의 전기적인 연결에 의해 그 동작을 독립적으로 제어 받을 수 있다. 일 실시예로, 상기 디스플레이 패널은 상기 프로세서(120)의 제어를 받아 표시할 디스플레이 정보를 시각적으로 외부(예: 사용자)로 제공할 수 있다.The
상기 프로세서(120)는 소프트웨어(예: 도 18의 프로그램(1840))를 실행하여 전기적으로 연결된 디스플레이 모듈(110), 입/출력부(130), 메모리(140) 또는 통신 모듈(150)와 같은 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 상기 프로세서(120)는 데이터 처리 또는 연산의 적어도 일부로서, 다른 구성요소(예: 디스플레이 모듈(110), 통신 모듈(150) 또는 입/출력부(127))로부터 수신된 명령 또는 데이터를 메모리(140)(예: 휘발성 메모리)에 저장하거나, 또는 상기 메모리(140)에 저장된 명령 또는 데이터를 처리하고, 그 처리된 결과 데이터를 상기 메모리(140)에 저장할 수 있다. The
상기 입/출력부(130)은 소스 디바이스(10)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 상기 소스 디바이스(10)의 외부(예: 사용자)로부터 수신할 수 있다. 상기 입/출력부(130)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input/output unit 130 may receive commands or data to be used in a component of the source device 10 (eg, the processor 120) from outside the source device 10 (eg, a user). The input/output unit 130 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
상기 통신 모듈(150)는 외부 디바이스(20)와의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 상기 통신 모듈(150)는 상기 프로세서(120)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 상기 통신 모듈(150)는, 예를 들어, 무선 통신 모듈(예: 도 18의 무선 통신 모듈(1892))(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: 도 18의 유선 통신 모듈(1894))(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 네트워크(40)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크 또는 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치인 외부 디바이스(20)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다.The
상기 메모리(140)는 상기 소스 디바이스(10)의 적어도 하나의 구성요소(예: 디스플레이 모듈(110), 프로세서(120), 통신 모듈(150) 또는 입/출력부(127))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 상기 데이터는, 예를 들어, 소프트웨어(예: 도 18의 프로그램(1840)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 상기 메모리(140)는, 예를 들어, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. The
일 예에 따르면, 프로세서(120)는 통신 모듈(150)를 통해 자신의 앱 리스트를 외부 디바이스(20)로 전달함으로써, 상기 외부 디바이스(20)와 앱 리스트를 공유할 수 있다. 상기 앱 리스트는 상기 소스 디바이스(10)에 설치된 앱들의 목록일 수 있다. 상기 프로세서(120)는, 예를 들어, 상기 통신 모듈(150)를 제어하여 상기 외부 디바이스(20)를 연결한 후 상기 외부 디바이스(20)로부터 미러링 요청을 수신하면, 상기 앱 리스트를 상기 통신 모듈(150)를 통해 상기 외부 디바이스(20)로 전송할 수 있다. 예컨대, 상기 프로세서(120)는 가상 디스플레이(예: 도 2의 제1 가상 디스플레이(11), 제2 가상 디스플레이(13)) 상에 미러링 기능을 제공할 앱들의 아이콘이 포함된 초기 미러링 이미지를 생성하고, 상기 초기 미러링 이미지에 대응한 초기 미러링 데이터(31)를 상기 외부 디바이스(20)로 제공할 수 있다. According to one example, the
일 예에 따르면, 프로세서(120)는 통신 모듈(150)를 통해 외부 디바이스(20)로부터 전달된 앱 실행 요청에 응답하여 미러링 기능을 개시할 수 있다. 상기 프로세서(120)는, 미러링 기능이 개시되면, 상기 외부 디바이스(20)에 의해 실행이 요청된 하나 또는 복수의 앱 별로 인코더 및/또는 가상 디스플레이(예: 도 2의 제1 가상 디스플레이(11) 및/또는 제2 가상 디스플레이(13))를 생성할 수 있다. 상기 프로세서(120)는 동시에 여러 앱을 실행하기 위하여 복수의 가상 디스플레이를 생성할 수 있다. 상기 프로세서(120)는, 예를 들어, 한 개 내지 여섯 개 정도의 가상 디스플레이를 생성 및 운영할 수 있다. 상기 프로세서(120)는 가상 디스플레이에 대응 앱을 실행(launch)할 수 있다. 상기 프로세서(120)는 앱의 실행으로 가상 디스플레이에 표시될 수 있는 미러링 이미지를 포함한 미러링 데이터(31)를 상기 외부 디바이스(20)로 전송할 수 있다. 상기 미러링 데이터(31)는, 예를 들어, 상기 프로세서(120)에 의해 생성된 가상 디스플레이에 표시된 가상 화면을 그대로 상기 외부 디바이스(20)의 디스플레이의 표시창(29)에 할당된 미러링 표시 영역(23)에 미러링하기 위한 데이터를 포함할 수 있다. According to one example, the
일 예에 따르면, 프로세서(120)는 상기 통신 모듈(150)를 통해 외부 디바이스(20)로부터 이벤트 정보를 수신하면, 가상 디스플레이(11, 13)에서 실행 중인 해당 앱 상에서 상기 이벤트 정보에 대응한 동작을 처리할 수 있다. 상기 소스 디바이스(10)는 상기 이벤트 정보에 대응한 동작 처리에 따라, 가상 디스플레이(11, 13)에 표시될 이미지에 상응한 미러링 데이터(31)를 상기 외부 디바이스(20)로 제공할 수 있다.According to one example, when the
일 예로써, 외부 디바이스(20)는 디스플레이 모듈(210), 프로세서(220), 센서 모듈(230), 메모리(240) 또는 통신 모듈(250)를 포함할 수 있다. 상기 메모리(240)는 제1 버퍼(241) 또는 제2 버퍼(243)를 포함할 수 있다. 도시되지는 않았으나, 제1 버퍼 영역 또는 제2 버퍼 영역 중 적어도 하나는 프로세서(220) 내부의 레지스터에 할당될 수도 있다. 상기 제1 버퍼(241) 또는 상기 제1 버퍼 영역은 소스 디바이스(10)로부터 제공된 미러링 데이터를 임시로 저장할 수 있다. 상기 제1 버퍼(241) 또는 상기 제1 버퍼 영역에 임시로 저장된 미러링 데이터는 제 1 표시영역에 다른 미러링 이미지가 표시된 이후에 폐기될 수 있다.As an example, the
상기 디스플레이 모듈(210)은 외부 디바이스(20)의 외부(예: 사용자)로 정보(예: 현실 이미지 정보 또는 미러링 이미지 정보)를 시각적으로 제공할 수 있다. 상기 디스플레이 모듈(210)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 상기 디스플레이 모듈(210)은 상기 프로세서(220)와의 전기적인 연결에 의해 그 동작을 제어 받을 수 있다. The
상기 프로세서(220)는 소프트웨어(예: 도 18의 프로그램(1840))를 실행하여 전기적으로 연결된 디스플레이 모듈(210), 센서 모듈(230), 메모리(240) 또는 통신 모듈(250)과 같은 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 상기 프로세서(220)는 데이터 처리 또는 연산의 적어도 일부로서, 다른 구성요소(예: 디스플레이 모듈(210), 센서 모듈(230) 또는 통신 모듈(250))로부터 수신된 명령 또는 데이터를 메모리(240)(예: 휘발성 메모리)에 저장하거나, 또는 상기 메모리(240)에 저장된 명령 또는 데이터를 처리하고, 그 처리된 결과 데이터를 상기 메모리(240)에 저장할 수 있다. The
상기 센서 모듈(230)은 외부 디바이스(20)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태) 또는 사용자와의 인터랙션을 위한 손 또는 시선의 움직임을 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 상기 센서 모듈(230)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The
상기 통신 모듈(250)는 소스 디바이스(10)와의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 상기 통신 모듈(250)는 상기 프로세서(220)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 상기 통신 모듈(250)는, 예를 들어, 무선 통신 모듈(예: 도 18의 무선 통신 모듈(1892))(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: 도 18의 유선 통신 모듈(1894))(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 네트워크(40)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크 또는 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치인 소스 디바이스(10)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다.The
상기 메모리(240)는 상기 외부 디바이스(20)의 적어도 하나의 구성요소(예: 디스플레이 모듈(210), 프로세서(220), 통신 모듈(250) 또는 입/출력부(127))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 상기 데이터는, 예를 들어, 소프트웨어(예: 도 18의 프로그램(1840)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 상기 메모리(240)는, 예를 들어, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. The
상기 외부 디바이스(20)는 카메라 모듈을 더 포함할 수 있다. 상기 카메라 모듈은 정지 영상 및 동영상을 촬영할 수 있다. 상기 카메라 모듈은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다. 일 예로, 상기 카메라 모듈은 사용자와의 인터랙션을 위하여 사용될 수 있다. The
일 예에 따르면, 상기 프로세서(220)는 얼굴 추적, 손 추적 또는 모션 추적 기능을 포함할 수 있다. 상기 프로세서(220)는 얼굴 추적, 손 추적 또는 모션 추적 기능 중 적어도 하나를 사용하여 사용자와의 인터랙션을 수행할 수 있다. 상기 얼굴 추적 기능은 카메라 모듈에 의해 촬영된 사용자 이미지로부터 얼굴에 해당하는 부분의 데이터를 추출하고, 상기 추출한 데이터를 기반으로 얼굴 표정의 변화를 추적할 수 있다. 상기 손 추적 기능은 상기 카메라 모듈에 의해 촬영된 사용자 이미지로부터 손에 해당하는 부분의 데이터를 추출하고, 상기 추출한 데이터를 기반으로 손의 움직임을 추적할 수 있다. 상기 손 추적 기능은 상기 센서 모듈(230)로부터 제공된 센싱 정보 또는 소스 디바이스(10)로부터 제공된 센싱 정보를 기반으로 손의 움직임을 추적할 수 있다. 상기 모션 추적 기능은 카메라 모듈에 의해 촬영된 사용자 이미지로부터 사용자의 움직임을 추적할 수 있다. 상기 모션 추적 기능은 상기 센서 모듈(230)로부터 제공된 센싱 정보 또는 소스 디바이스(10)로부터 제공된 센싱 정보를 기반으로 사용자의 움직임을 추적할 수 있다.According to one example, the
일 예에 따르면, 프로세서(220)는 통신 모듈(250)를 제어하여 소스 디바이스(10)를 연결한 후 미러링 기능을 요청할 수 있다. 상기 프로세서(220)는 상기 미러링 요청에 대응하여 상기 통신 모듈(250)를 통해 상기 소스 디바이스(10)로부터 앱 리스트를 전달받을 수 있다. 상기 프로세서(220)는 상기 앱 리스트로부터 미러링 기능을 이용할 앱에 관한 정보를 획득할 수 있다. 상기 프로세서(220)는 상기 소스 디바이스(10)로부터 초기 미러링 데이터(31)를 수신할 수 있다. 상기 프로세서(220)는 상기 앱에 관한 정보 및/또는 상기 초기 미러링 데이터(31)를 사용하여 디스플레이 모듈(210)에 마련된 미러링 표시 영역의 전체 또는 일부에 미러링 기능을 이용할 초기 미러링 화면을 표시할 수 있다. According to one example, the
일 예에 따르면, 프로세서(220)는 디스플레이 모듈(210)의 표시창의 전체 영역을 통해 현실 공간 이미지를 표시하거나, 투시하고, 상기 표시창의 일부 영역에 할당된 미러링 표시 영역에 상기 소스 디바이스(10)로부터 제공된 미러링 데이터(31)를 이용한 미러링 이미지(27)를 표시할 수 있다. 상기 미러링 표시 영역은, 예를 들어, 복수의 표시 영역(예: 도 6의 제 1 표시영역(620) 또는 적어도 하나의 확장 표시 영역(640))을 포함할 수 있다. 상기 프로세서(220)는 제 1 표시영역(620)에 상기 소스 디바이스(10)로부터 실시간으로 전달되는 미러링 데이터를 이용하여 미러링 이미지를 표시할 수 있다. 상기 실시간으로 전달되는 미러링 데이터는 제1 버퍼(241) 또는 메모리(240)에 할당된 제1 버퍼 영역에 임시로 저장될 수 있다. 상기 제1 버퍼(241) 또는 상기 제1 버퍼 영역에 임시로 저장된 미러링 데이터는, 제 1 표시영역(620)에서 노출하는 미러링 이미지가 변경되면, 다음으로 수신된 미러링 데이터로 갱신될 수 있다. 상기 프로세서(220)는 확장 표시 영역(640)에 상기 제 1 표시영역(620)에 표시되고 있거나, 표시된 이력이 있는 미러링 데이터를 사용하여 확장 미러링 이미지를 표시할 수 있다. 상기 제 1 표시영역(620)에 표시되고 있거나, 표시된 이력이 있는 미러링 데이터는 제2 버퍼(243) 또는 메모리(240)에 할당된 제2 버퍼 영역에 임시로 저장될 수 있다. 상기 제2 버퍼(243) 또는 상기 제2 버퍼 영역에 저장된 미러링 데이터는, 저장 영역의 여유 공간을 고려하여 오래된 순서 또는 사용자의 선택에 의해 폐기될 수 있다. According to one example, the
일 예에 따르면, 프로세서(220)는, 사용자와의 인터랙션(25)을 통해 이벤트가 생성되면, 상기 생성된 이벤트에 상응한 이벤트 정보(33)를 상기 소스 디바이스(10)로 전달할 수 있다. 상기 프로세서(220)는, 예를 들어, 상기 생성된 이벤트를 자체적으로 처리할 수 있다고 판단하면, 프로세서(220)가 직접 처리할 수 있다. 상기 이벤트는, 예를 들어, 사용자가 미러링 표시 영역(27)에 표시된 미러링 이미지의 특정 위치를 터치하거나, 스크롤하는 것과 같은 인터랙션(25)에 의해 생성될 수 있다. According to one example, when an event is generated through
도 4는 일 실시예에 따라, 화면 미러링을 지원하는 소스 디바이스(예: 도 1의 소스 디바이스(10))의 기능 구성을 도시한 도면이다.FIG. 4 is a diagram illustrating the functional configuration of a source device (eg,
도 4를 참조하면, 소스 디바이스(10)는 전송 관리 모듈 (Transfer Manager)(410), 컨테이너 관리 모듈 (App Execution Container Manager)(420) 또는 시스템 서비스 모듈 (System Services)(430)을 포함할 수 있다.Referring to FIG. 4, the
상기 전송 관리 모듈(410)은 이벤트 요청, 미러링 요청 또는 응답 (ACK) 메시지를 외부 디바이스(예: 도 1의 외부 디바이스(20))로부터 수신하는 역할을 수행할 수 있다. 상기 전송 관리 모듈(410)는 미러링 기능을 위한 미러링 데이터(예: 도 2의 미러링 데이터(310))를 상기 외부 디바이스(20)로 전송하는 역할을 수행할 수 있다.The
상기 컨테이너 관리 모듈(420)은 미러링 로직을 제어하는 역할을 수행할 수 있다. 상기 컨테이너 관리 모듈(420)은, 예를 들어, 외부 디바이스(20)로부터 앱 실행 요청이 상기 전송 관리 모듈(410)을 통해 제공되면, 상기 요청 앱의 실행을 위한 컨테이너부 (App Execution Container)(420-1, 420-2, 420-N)를 생성할 수 있다. 상기 컨테이너 관리 모듈(420)은 미러링 기능을 위하여 하나 또는 복수의 컨테이너부(420-1, 420-2, 420-N)을 소유 또는 관리할 수 있다. 상기 컨테이너 관리 모듈(420)는 상기 외부 디바이스(20)로부터 앱과 관련된 요청 (예: 도 2의 이벤트 요청(33))이 상기 전송 관리 모듈(410)을 통해 제공되면, 상기 요청이 접수된 앱에 대응하여 생성된 컨테이너의 식별자 (container id)를 이용하여 해당 컨테이너에 요청 및/또는 데이터를 분배할 수 있다. 상기 컨테이너 관리 모듈(420)는, 예를 들어, 시스템 서비스 모듈(430)에서 이벤트가 생성될 시, 디스플레이 식별자 (display Id) 또는 태스크 식별자 (task Id)를 이용하여 대상 컨테이너를 특정할 수 있다. 상기 컨테이너 관리 모듈(420)은 특정된 대상 컨테이너로 이벤트를 보내거나, 또는 이벤트를 상기 전송 관리 모듈(410)을 통해 외부 디바이스(20)로 전달하는 역할을 수행할 수 있다.The
상기 컨테이너부(420-1, 420-2, 420-N)는 미러링 기능을 위한 미러링 세션 각각을 제어하는 역할을 수행할 수 있다. 상기 컨테이너부(420-1, 420-2, 420-N)는 고유한 식별자 (container id)를 가질 수 있다. 상기 컨테이너부(420-1, 420-2, 420-N)는 고유한 식별자를 사용하여 외부 디바이스(20)에 마련된 원격 앱 컨테이너부(Remote App Container Manager)와 매핑 관계를 형성할 수 있다. 상기 컨테이너부(420-1, 420-2, 420-N)는 실행되는 앱의 패키지 이름 (package name), 태스크 식별자 (task id), 사용자 식별 정보(User ID) 등을 가질 수 있다. 상기 컨테이너부(420-1, 420-2, 420-N) 각각은 내부에 가상 디스플레이 (Virtual Display)(421-1, 421-2, 421-N), 입력 서페이스 (Input Surface)(423-1, 423-2, 423-N) 또는 비디오 인코더(Video Encoder)(425-1, 425-2, 425-N)를 포함할 수 있다. The container units 420-1, 420-2, and 420-N may control each mirroring session for the mirroring function. The container units 420-1, 420-2, and 420-N may have a unique identifier (container ID). The container units 420-1, 420-2, and 420-N may form a mapping relationship with a remote app container manager provided in the
일 예로, 상기 컨테이너부(420-1, 420-2, 420-N)는 비디오 인코더(425-1, 425-2, 425-N)를 생성하고, 상기 비디오 인코더(425-1, 425-2, 425-N)의 입력 서페이스(423-1, 423-2, 423-N)를 가상 디스플레이(421-1, 421-2, 421-N)의 서페이스로 지정함으로써, 가상 디스플레이를 생성할 수 있다. 상기 컨테이너부(420-1, 420-2, 420-N)는 상기 가상 디스플레이(421-1, 421-2, 421-N)에 대응하는 앱을 실행시킬 수 있다.As an example, the container units 420-1, 420-2, and 420-N generate video encoders 425-1, 425-2, and 425-N, and the video encoders 425-1 and 425-2 , A virtual display can be created by designating the input surfaces 423-1, 423-2, and 423-N of 425-N as the surfaces of virtual displays 421-1, 421-2, and 421-N. . The container units 420-1, 420-2, and 420-N can execute apps corresponding to the virtual displays 421-1, 421-2, and 421-N.
일 예에 따르면, 상기 가상 디스플레이(421-1, 421-2, 421-N)에 앱을 실행시키면, 상기 시스템 서비스 모듈(430)에 포함된 서페이스 핑거부(431)가 앱 화면을 해당 가상 디스플레이의 입력 서페이스에 표시할 수 있다. 상기 서페이스 핑거부(431)에 의해 가상 디스플레이(421-1, 421-2, 421-N)에 표시된 이미지 또는 화면에 관한 미러링 데이터는 비디오 인코더(425-1, 425-2, 425-N)로 전달되어 압축될 수 있다. 상기 압축된 미러링 데이터는 상기 전송 관리 모듈(410)을 통해 상기 외부 디바이스(20)로 전달될 수 있다. 상기 외부 디바이스(20)는 전달되는 미러링 데이터를 사용하여 미러링 화면을 출력할 수 있다. According to one example, when an app is executed on the virtual displays 421-1, 421-2, and 421-N, the
상기 시스템 서비스 모듈(430)은 원격 앱 모드 서비스부 (Remote App Mode Service)(435), 서페이스 핑거 (Surface Flinger)(431) 또는 디스플레이 관리부 (Display Manager)(433)를 포함할 수 있다. 상기 원격 앱 모드 서비스부(435)는 가상 디스플레이(421-1, 421-2, 421-N)에 앱을 실행하거나, 앱을 종료하는 등의 시스템 권한이 필요한 기능을 수행할 수 있다. The
상술한 바에 따르면, 소스 디바이스(10)는 다수의 앱들 각각을 독립적으로 생성된 가상 디스플레이에서 실행하고, 상기 가상 디스플레이 각각에서 앱 실행에 따른 화면을 외부 디바이스(20)로 전송하여 동시에 여러 개의 앱이 가상 공간에 떠 있을 수 있도록 할 수 있다. 상기 가상 디스플레이에서 실행된 앱들 각각의 실행 상태는, 컨테이너 관리 모듈(420)에 의해 관리될 수 있다. 예컨대, 컨테이너 관리 모듈(420)은 입력 처리를 담당하는 클래스와 비디오 인코더를 포함하는 컨테이너 단위로 앱들 각각에 대한 관리를 수행할 수 있다.According to the above, the
도 5는 일 실시예에 따라, 화면 미러링을 지원하는 외부 디바이스(예: 도 1의 외부 디바이스(20))의 기능 구성을 도시한 도면이다.FIG. 5 is a diagram illustrating the functional configuration of an external device (eg, the
도 5를 참조하면, 외부 디바이스(20)는 전송 관리 모듈 (Transfer Manager)(510), 원격 앱 컨테이너 관리 모듈 (Remote App Container Manager)(520) 또는 컨테이너 윈도우 관리 모듈 (Container Window Manager)(530)을 포함할 수 있다.Referring to FIG. 5, the
상기 원격 앱 컨테이너 관리 모듈(520)은 하나 또는 복수의 원격 앱 컨테이너부(520-1, 520-2, 520-N)을 생성하거나, 해체/파괴 또는 관리하는 역할을 수행할 수 있다. 상기 원격 앱 컨테이너 관리 모듈(520)은 상기 전송 관리 모듈(510)를 통해 소스 디바이스(10)로부터 전달된 미러링 데이터를 해당 원격 앱 컨테이너부(Remote App Container)(520-1, 520-2, 520-N)로 분배하는 역할을 수행할 수 있다. 상기 원격 앱 컨테이너 관리 모듈(520)은 상기 소스 디바이스(10)의 컨테이너 관리 모듈(420)에 대응하여 마련될 수 있다. The remote app
상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)는 하나의 화면 미러링 세션을 담당할 수 있다. 상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)는 고유한 식별자 (Container id)를 가질 수 있다. 상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)는 식별자 (Container id)를 사용하여 상기 소스 디바이스(10)의 컨테이너부(420-1, 420-2, 420-N) 중 하나인 특정 컨테이너부에 대응될 수 있다. The remote app container units 520-1, 520-2, and 520-N may be responsible for one screen mirroring session. The remote app container units 520-1, 520-2, and 520-N may have a unique identifier (Container id). The remote app container units (520-1, 520-2, 520-N) are among the container units (420-1, 420-2, 420-N) of the
상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)는 상기 컨테이너 윈도우 관리 모듈(530)에 의해 결정된 해상도 및/또는 DPI를 사용하여 미러링 이미지를 제 1 표시영역 또는 확장 영역에 표시할 수 있다.The remote app container units 520-1, 520-2, and 520-N display a mirrored image in the first display area or extended area using the resolution and/or DPI determined by the container
상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)는 비디오 디코더 (Video Decoder)(521-1, 521-2, 521-N), 출력 서페이스 (Out Surface)(523-1, 523-2, 523-N) 또는 서페이스 뷰 (Surface View)(525-2, 525-2, 525-N)를 포함할 수 있다. 상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)는 상기 소스 디바이스(10)에서 미러링 기능을 위한 앱의 실행에 응답하여 비디오 디코더(521-1, 521-2, 521-N) 또는 서페이스 뷰(525-2, 525-2, 525-N)를 생성할 수 있다. 상기 비디오 디코더(521-1, 521-2, 521-N)는 상기 전송 관리 모듈(510)를 통해 상기 소스 디바이스(10)로부터 전달된 압축 미러링 데이터에 대한 디코딩을 수행할 수 있다. 상기 출력 서페이스(523-1, 523-2, 523-N)는 상기 비디오 디코더(521-1, 521-2, 521-N)에 의해 압축이 해제된 미러링 데이터를 서페이스 뷰(525-2, 525-2, 525-N)로 전달할 수 있다. 상기 서페이스 뷰(525-2, 525-2, 525-N)는 상기 출력 서페이스(523-1, 523-2, 523-N)를 통해 전달된 미러링 데이터를 사용하여 제 1 표시영역에 미러링 이미지를 표시하거나, 또는 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다. The remote app container unit (520-1, 520-2, 520-N) includes a video decoder (521-1, 521-2, 521-N), an output surface (Out Surface) (523-1, 523-2, 523-N) or Surface View (525-2, 525-2, 525-N). The remote app container unit (520-1, 520-2, 520-N) responds to the execution of the app for the mirroring function in the
상기 컨테이너 윈도우 관리 모듈(530)은 미러링 기능이 제공될 앱에 대응한 미러링 화면에 대한 해상도 및/또는 DPI를 결정하고, 이를 상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)로 제공하는 역할을 수행할 수 있다. The container
상기 전송 관리 모듈(510)은 미러링 요청이나 응답 (ACK) 메시지를 상기 소스 전자장치(10)로 전달하거나, 또는 상기 소스 전자장치(10)로부터 미러링 관련 데이터를 전달받아 상기 원격 앱 컨테이너 관리 모듈(520)로 전달하는 역할을 수행할 수 있다. The
도 6은 일 실시예에 따른, 외부 디바이스(예: 도 1의 외부 디바이스(20))에서 가상 공간의 화면 표시 예시도이다.FIG. 6 is an example of a screen display of a virtual space on an external device (eg, the
도 6을 참조하면, 외부 디바이스(20)는 가상 공간을 표시하는 디스플레이(600)를 포함할 수 있다. 상기 디스플레이(600)는, 예를 들어, 투명 디스플레이일 수 있다. 상기 투명 디스플레이는 투명창을 가질 수 있다. 일 예로, 상기 외부 디바이스(20)가 웨어러블 디바이스 중 하나인 스마트 글라스인 경우, 사용자는 투명창을 통해 현실 공간의 실제 이미지(610)를 볼 수 있다. 상기 실제 이미지(610)는, 예를 들어, 투시 이미지이거나, 또는 카메라에 의해 촬영된 이미지일 수 있다. 상기 카메라에 의해 촬영되어 상기 디스플레이(600)에 표시되는 이미지는 필요에 따라 가공 또는 변형될 수 있다. Referring to FIG. 6, the
일 예에 따르면, 상기 디스플레이(600)는 미러링 기능에 따른 미러링 화면을 제공하기 위한 표시 영역(예: 도 2의 미러링 표시 영역(23))을 포함할 수 있다. 상기 미러링 표시 영역(23)은 제 1 표시영역(620) 또는 확장 표시 영역(640)을 포함할 수 있다. 상기 확장 표시 영역(640)은 사용자의 제스처와 같은 사용자와의 인터랙션에 의해 생성된 이벤트(630)에 응답하여 하나 또는 복수의 확장 표시 영역(641, 642)을 포함할 수 있다. According to one example, the
상기 제 1 표시영역(620)에는 소스 디바이스(예: 도 1의 소스 디바이스(10))로부터 마지막으로 제공된 미러링 데이터(예: 도 2의 미러링 데이터(310))에 의해 미러링 이미지(650)가 표시될 수 있다. 상기 마지막으로 제공된 미러링 데이터(31)는 제1 버퍼 (예: 도 3의 제1 버퍼(241)) 또는 제1 버퍼 영역에 임시로 저장될 수 있다. 상기 제 1 표시영역(620)에 미러링 이미지(650)가 표시되면, 상기 제1 버퍼(241) 또는 제1 버퍼 영역에 임시로 저장된 미러링 데이터(31)는 제2 버퍼(243) 또는 제2 버퍼 영역에도 저장될 수 있다. 상기 제2 버퍼(243) 또는 제2 버퍼 영역에 저장된 이전 미러링 데이터는 사용자의 제스처와 같은 사용자와의 인터랙션에 의해 생성된 이벤트(630)에 응답하여 상기 확장 표시 영역(640)에 확장 미러링 이미지(660)를 표시하기 위해 사용될 수 있다. 상기 확장 미러링 이미지(660)는, 예를 들어, 제1 확장 표시 영역(641)에 표시된 제1 확장 미러링 이미지(661) 또는 제2 확장 표시 영역(642)에 표시된 제2 확장 미러링 이미지(662)를 포함할 수 있다.In the
상술한 바와 같이, 사용자의 요청에 응답하여 디스플레이(600)의 확장 표시 영역(640)에는 상기 소스 디바이스(10)로부터 사전에 전달되어 임시로 저장된 미러링 데이터를 사용하여 확장 미러링 이미지(660)을 표시할 수 있다. 이는, 미러링 화면을 확장하기 위하여 리소스를 추가로 소비하지 않을 뿐만 아니라, 효율적인 랜더링 절차를 제공함으로써, 전력 소비를 줄일 수 있다.As described above, in response to the user's request, an
도면에서는 확장 표시 영역(640)이 제 1 표시영역(620)의 상측 방향으로 이루어짐을 도시하고 있으나, 이에 한정되지는 않을 수 있다. 예컨대, 확장 표시 영역(640)이 마련되는 방향은 사용자와의 인터랙션을 통해 획득한 이벤트 정보를 고려하여 결정할 수 있다. 상기 확장 표시 영역(640)이 마련되는 방향은, 예를 들어, 제 1 표시영역(620)을 기준으로 좌측, 우측 또는 하측 방향 중 하나일 수 있다. 상기 확장 표시 영역(640)은, 예를 들어, 제 1 표시영역(620)을 기준으로 배면 방향으로도 확장이 이루어질 수 있다. 상기 확장 표시 영역(640)은, 예를 들어, 확장이 용이한 방향 (예: 디스플레이(600)에서 확장이 용이한 방향)으로 확장이 이루어질 수도 있다. 상기 확장 표시 영역(640)이 확장되는 방향은 일측 방향으로만 진행되지 않고, 복수의 방향으로 방사 형태로 확장될 수도 있다. 상기 디스플레이(600)에서 이벤트 생성에 응답하여 확장할 수 있는 확장 표시 영역(640)의 개수는 확장 미러링 이미지를 획득하기 위해 사용될 미러링 데이터의 개수에 의해 제한될 수 있다. 상기 미러링 데이터의 개수를 제한할 수 있는 제2 버퍼(243) 또는 제2 버퍼 영역은 필요에 의해 증가 또는 감소될 수 있다. 상기 확장 표시 영역(640)는 미러링 기능이 제공되는 앱의 기능과 범위가 추가로 확장되어 뻗어 나갈 수 있도록 한다. 상기 확장 표시 영역(640)은 외부 디바이스(20)를 착용한 사용자의 시야에서 FOV(field of view) 내의 전체 영역을 활용할 수 있으므로, 미러링 화면을 확대 또는 확장하여 표시할 수 있다. Although the drawing shows that the
상술한 바와 같이, 사용자와의 인터랙션을 통한 이벤트 생성 시마다 미러링 이미지를 표시할 미러링 화면 크기를 확장함으로써, 사용자에게 보다 실감형의 경험을 제공할 수 있다.As described above, a more realistic experience can be provided to the user by expanding the size of the mirroring screen on which the mirroring image is displayed each time an event is generated through interaction with the user.
도 6에서는 하나의 제 1 표시영역(620)을 가정하고 있으나, 복수의 제 1 표시영역이 노출됨에 따라, 확장 표시 영역을 마련하기 위한 디스플레이 영역이 부족한 상황이 발생할 수 있다. 일 예로, 외부 디스플레이(20)는 사용자와의 인터랙션을 통해 입력된 사용자의 요청에 응답하여 디스플레이 영역에 표시된 제 1 표시영역 및/또는 확장 표시 영역을 배치하는 레이아웃을 변경하거나, 또는 일부 표시 영역을 제거 또는 감출 수 있도록 동작할 수 있다.In FIG. 6 , one
일 예에 따르면, 도 6에서는 현실 이미지(610)가 디스플레이(600)의 투명창을 통해 사용자가 실제로 볼 수 있도록 함을 가정하고 있으나, 외부 디바이스(20)는 카메라를 사용하여 사용자의 시선을 고려한 전방의 이미지를 촬영하고, 상기 촬영된 이미지를 표시 영역을 통해 노출할 수도 있다. According to one example, in FIG. 6, it is assumed that the
일 예에 따르면, 도 6에서는 현실 이미지(610)가 디스플레이(600)의 투명창을 통해 사용자가 실제로 볼 수 있도록 함을 가정하고 있으나, 외부 디바이스(20)는 임의로 마련한 이미지를 표시 영역을 통해 노출할 수도 있다. According to one example, in FIG. 6, it is assumed that the
일 예에 따르면, 외부 디바이스(20)는 디스플레이 영역(600)을 관심 영역과 비 관심 영역으로 구분할 수 있다. 상기 관심 영역은, 예를 들어, 사용자의 시선이 미치는 영역 또는 시선을 추적 (eye tracking)하여 사용자가 바라보는 주변을 고려하여 디스플레이 영역(600)에서 지정할 수 있다. 이 경우, 상기 외부 디바이스(20)는 확장 표시 영역(640)을 디스플레이 영역에서 관심 영역으로 구분된 공간에서 확장 표시 영역(640)을 확장할 수 있다. 상기 확장 표시 영역(640)이 아니더라도, 관심 영역 내에서 고정 (static) 이미지를 제2 버퍼를 통해 운영함으로써, 성능을 향상시킬 수 있다.According to one example, the
도 7은 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))의 외부 디바이스(예: 도 1의 외부 디바이스(20))에서 미러링 화면을 확장하는 예시도이다.FIG. 7 is an example diagram of expanding a mirroring screen in an external device (e.g.,
도 7을 참조하면, 외부 디바이스(20)는, 소스 디바이스(예: 도 1의 소스 디바이스(10))로부터 제1 미러링 데이터(720a)를 수신하면, 상기 수신한 제1 미러링 데이터(720a)를 제1 버퍼(예: 도 3의 제1 버퍼(241)) 또는 제1 버퍼 영역에 임시 저장할 수 있다. 상기 외부 디바이스(20)는 디스플레이에 제 1 표시영역을 할당하고, 상기 제1 미러링 데이터(720a)를 사용하여 상기 할당된 제 1 표시영역에 제1 미러링 이미지(710a)를 표시할 수 있다. 상기 외부 디바이스(20)는, 제 1 표시영역에 제1 미러링 이미지(710a)를 표시하면, 상기 제1 버퍼(241) 또는 제1 버퍼 영역에 임시 저장된 제1 미러링 데이터(720a)를 제2 버퍼(예: 도 3의 제2 버퍼(243)) 또는 제2 버퍼 영역에 제1 확장 미러링 데이터(731)로 저장할 수 있다. Referring to FIG. 7, when the
상기 외부 디바이스(20)는, 소스 디바이스(10)로부터 제2 미러링 데이터(720b)를 수신하면, 제1 미러링 데이터(720a)를 대신하여 상기 수신한 제2 미러링 데이터(720b)를 제1 버퍼(예: 도 3의 제1 버퍼(241)) 또는 제1 버퍼 영역에 임시 저장할 수 있다. 상기 외부 디바이스(20)는 디스플레이에 할당된 제 1 표시영역에 상기 제2 미러링 데이터(720b)를 사용하여 제2 미러링 이미지(710b)를 표시할 수 있다. 상기 외부 디바이스(20)는, 사용자와의 인터랙션을 통해 확장 미러링 이미지의 표시가 요청(750b)되면, 디스플레이에 확장 표시 영역을 할당하고, 상기 확장 표시 영역에 제2 버퍼(예: 도 3의 제2 버퍼(243)) 또는 제2 버퍼 영역에 저장된 제1 확장 미러링 데이터(731)를 사용하여 제1 확장 미러링 이미지(740b)를 표시할 수 있다. 상기 외부 디바이스(20)는, 제 1 표시영역에 제2 미러링 이미지(710b)를 표시하면, 상기 제1 버퍼(241) 또는 제1 버퍼 영역에 임시 저장된 제2 미러링 데이터(720b)를 제2 버퍼(예: 도 3의 제2 버퍼(243)) 또는 제2 버퍼 영역에 제2 확장 미러링 데이터(733)로 저장할 수 있다. When the
상기 외부 디바이스(20)는, 소스 디바이스(10)로부터 제3 미러링 데이터(720c)를 수신하면, 제2 미러링 데이터(720b)를 대신하여 상기 수신한 제3 미러링 데이터(720c)를 제1 버퍼(예: 도 3의 제1 버퍼(241)) 또는 제1 버퍼 영역에 임시 저장할 수 있다. 상기 외부 디바이스(20)는 디스플레이에 할당된 제 1 표시영역에 상기 제3 미러링 데이터(720c)를 사용하여 제3 미러링 이미지(710c)를 표시할 수 있다. 상기 외부 디바이스(20)는, 사용자와의 인터랙션을 통해 확장 미러링 이미지의 표시가 요청(750c, 760c)되면, 디스플레이에 확장 표시 영역을 추가로 할당하고, 기존 및 추가 할당된 확장 표시 영역에 제2 버퍼(예: 도 3의 제2 버퍼(243)) 또는 제2 버퍼 영역에 저장된 제1 확장 미러링 데이터(731) 및 제2 확장 미러링 데이터(733)를 사용하여 제1 확장 미러링 이미지 및 제2 확장 미러링 이미지(740c)를 표시할 수 있다. 상기 외부 디바이스(20)는, 제 1 표시영역에 제3 미러링 이미지(710c)를 표시하면, 상기 제1 버퍼(241) 또는 제1 버퍼 영역에 임시 저장된 제3 미러링 데이터(720c)를 제2 버퍼(예: 도 3의 제2 버퍼(243)) 또는 제2 버퍼 영역에 제3 확장 미러링 데이터(735)로 저장할 수 있다.When the
도 8은 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))에서 미러링 기능을 제공하기 위한 처리 절차를 도시한 도면이다.FIG. 8 is a diagram illustrating a processing procedure for providing a mirroring function in a mirroring system (eg, mirroring
도 8을 참조하면, 미러링 시스템(1)은 적어도 두 개의 전자 장치를 포함할 수 있다. 상기 미러링 시스템(1)에 포함된 적어도 두 개의 전자 장치는, 예를 들어, 미러링 데이터(예: 도 2의 미러링 데이터(31))를 제공하는 제1 전자 장치(예: 도 1의 소스 디바이스(10))과, 상기 미러링 데이터(31)를 표시하는 적어도 하나의 제2 전자 장치(예: 도 1의 외부 디바이스(20))를 포함할 수 있다. 상기 제1 전자 장치(10)는 상기 제2 전자 장치(20)에게 외부 전자 장치일 수 있다. 상기 제2 전자 장치(20)는 상기 제1 전자 장치(10)에게 외부 전자 장치일 수 있다. 상기 제1 전자 장치(10)는, 예를 들어, 스마트폰 또는 태블릿 PC와 같이 앱과 같은 프로그램이 설치되거나, 실행될 수 있는 디지털 디바이스일 수 있다. 상기 제2 전자 장치(20)는, 예를 들어, 스마트 글라스와 같은 외부 디바이스(20) 뿐만 아니라, 자체 디스플레이를 구비한 스마트폰, 태블릿 PC 또는 개인용 컴퓨터와 같은 디지털 디바이스일 수 있다. 이하 설명의 편의를 위하여, 제1 전자 장치(10)는 소스 디바이스(10)로 지칭하고, 제2 전자 장치(20)는 외부 디바이스(20)로 지칭한다. 하지만 후술될 실시예에 따른 동작은, 소스 디바이스(10) 또는 외부 디바이스(20)와 같이 디스플레이를 구비한 전자 장치에 동일하게 적용될 수 있다.Referring to FIG. 8, the
상기 소스 디바이스(10)와 상기 외부 디바이스(20)는, 동작 811에서 연결 절차를 수행할 수 있다. 상기 연결 절차는 소스 디바이스(10) 또는 외부 디바이스(20) 중 적어도 하나가 상대 디바이스를 확인한 후 연결을 요청하는 동작을 포함할 수 있다. 상기 연결 절차는 소스 디바이스(10) 또는 외부 디바이스(20) 중 적어도 하나가 상대 디바이스의 연결 요청에 응답하여 연결을 승낙하는 동작을 포함할 수 있다. 상기 연결 절차에 따른 상세 동작은, 소스 디바이스(10) 또는 외부 디바이스(20)에서 지원하는 통신 방식 별로 마련된 프로토콜 (이하 '통신 프로토콜'이라 칭함)에 의해 정의될 수 있다. 상기 통신 프로토콜은, 예들 들어, 근거리 통신 네트워크(예: 도 18의 제 1 네트워크(1898)) 또는 원거리 통신 네트워크(예: 도 18의 제2 네트워크(1899)와 같은 네트워크 환경에서 통신을 수행하기 위해 마련된 프로토콜일 수 있다. 상기 근거리 통신 네트워크(1898)를 위해 마련된 프로토콜은, 예를 들어, 블루투스, WiFi direct 또는 IrDA 등을 포함할 수 있다. 상기 원거리 통신 네트워크(1899)는, 예를 들어, 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)가 포함될 수 있다. 상기 소스 디바이스(10)와 상기 외부 디바이스(20)는 연결 절차를 수행함으로써, 상대방 디바이스로 데이터(예: 도 2의 미러링 데이터(31) 또는 이벤트 정보(33))를 전송하거나, 또는 상대방 디바이스로부터 데이터(예: 미러링 데이터(31) 또는 이벤트 정보(33))를 수신할 수 있는 무선 채널이 형성된 상태에 진입할 수 있다. 상기 연결 절차는, 예를 들어, 상기 외부 디바이스(20)가 상기 소스 디바이스(10)로 미러링 기능을 요청함에 의해 트리거(trigger)될 수 있다. 하지만, 상기 외부 디바이스(20)에 의한 미러링 기능 요청은, 예를 들어, 연결 절차에 의해 상기 소스 디바이스(10)와 무선 채널이 형성된 후에 이루어질 수도 있다.The
상기 연결 절차 수행에 따른 무선 채널이 형성되면, 상기 소스 디바이스(10)는, 동작 813에서, 앱 실행 이벤트가 생성되는지를 감시할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 상기 외부 디바이스(20)로부터 특정 앱의 실행이 요청될 시에 이를 앱 실행 이벤트가 생성된 것으로 판단할 수 있다. 이를 위해, 상기 소스 디바이스(10)는 상기 외부 디바이스(20)의 미러링 기능 요청에 응답하여 자신이 실행할 수 있는 앱 정보(예: 앱 리스트)를 상기 외부 디바이스(20)로 제공할 수 있다. 상기 앱 정보는, 예를 들어, 상기 소스 디바이스(10)에서 앱이 설치될 시에 만들어진 아이콘들이 표시된 화면(예: 가상 화면 (virtual screen))을 사용하여 생성한 미러링 데이터에 포함될 수 있다.When a wireless channel is established by performing the connection procedure, the
상기 외부 디바이스(20)는, 상기 앱 정보를 수신하면, 상기 앱 정보를 사용하여 미러링 화면(예: 도 6의 미러링 표시 영역(23))을 구성하여 표시할 수 있다. 상기 외부 디바이스(20)는 사용자와의 인터랙션을 통해 상기 미러링 표시 영역(23)에 표시된 미러링 화면에서 특정 앱의 실행을 요청하는 사용자의 입력이 생성함을 인지할 수 있다.When the
상기 외부 디바이스(20)는 특정 앱에 대한 미러링 기능의 제공이 요청되면, 이를 상기 소스 디바이스(10)와 공유할 수 있다. 이로써, 상기 소스 디바이스(10)과 상기 외부 디바이스(20)는, 동작 817에서, 미러링 및 이벤트 처리 동작을 수행할 수 있다. 상기 미러링 및 이벤트 처리 동작은, 예를 들어, 상기 외부 디바이스(20)가 상기 소스 디바이스(10)에 의해 제공되는 미러링 데이터를 사용하여 제 1 표시영역(620)에 미러링 이미지를 노출하기 위하여 수행하는 동작을 포함할 수 있다. 상기 미러링 및 이벤트 처리 동작은, 예를 들어, 상기 외부 디바이스(20)가 상기 제 1 표시영역(620)에 표시되고 있거나, 이전에 미러링 이미지로 표시되었던 적이 있는 미러링 데이터를 재활용하여 적어도 하나의 확장 표시 영역(640)에서 확장 미러링 이미지를 노출하기 위하여 수행하는 동작을 포함할 수 있다.When the
상기 외부 디바이스(20)는, 동작 819에서, 앱 종료 이벤트가 생성하는지를 판단할 수 있다. 상기 앱 종료 이벤트는, 예를 들어, 상기 외부 디바이스(20)가 사용자와의 인터랙션을 통한 사용자의 입력이 미러링 기능의 종료 요청을 지시하는 경우에 생성될 수 있다. In
상기 앱 종료 이벤트가 생성되면, 상기 외부 디바이스(20)는, 동작 821에서, 소스 디바이스(10)로 앱 종료 요청을 전달할 수 있다. 상기 앱 종료 요청 시, 상기 외부 디바이스(20)는 종료를 요청할 앱을 지시하는 식별정보를 함께 전달할 수 있다. When the app termination event is generated, the
상기 소스 디바이스(10)는, 상기 외부 디바이스(20)로부터 앱 종료 요청을 접수하면, 동작 823에서, 해당 앱 및/또는 관련 태스크를 종료할 수 있다. 상기 소스 디바이스(10)는, 동작 825에서, 종료 요청된 해당 앱의 미러링 기능을 위한 관련 자원을 해제할 수 있다. 일 예로, 상기 소스 디바이스(10)는 해제 요청된 앱에 대응하여 마련되었던 컨테이너부(예: 도 4의 컨테이너부(420-1, 420-2, 420-N))을 해제할 수 있다. 상기 컨테이너부(420-1, 420-2, 420-N)가 해제되면, 상기 컨테이너부(420-1, 420-2, 420-N)를 구성하는 가상 디스플레이(예: 도 4의 가상 디스플레이(421-1, 421-2, 421-N)), 입력 서페이스(예: 도 4의 입력 서페이스(423-1, 423-2, 423-N)) 및/또는 비디오 인코더(예: 도 4의 비디오 인코더(425-1, 425-2, 425-N))도 함께 폐기될 수 있다. When the
상기 외부 디바이스(20)는, 상기 소스 디바이스(10)로 앱 종료 요청을 전달하면, 동작 827에서, 종료 요청된 해당 앱의 미러링 기능을 위한 관련 자원을 해제할 수 있다. 일 예로, 상기 외부 디바이스(20)는 해제 요청된 앱에 대응하여 마련되었던 원격 앱 컨테이너부(예: 도 5의 원격 앱 컨테이너부(520-1, 520-2, 520-N))을 해제할 수 있다. 상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)가 해제되면, 상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)를 구성하는 비디오 디코더(예: 도 5의 비디오 디코더(521-1, 521-2, 521-N)), 출력 서페이스(예: 도 5의 출력 서페이스(523-1, 523-2, 523-N) 또는 서페이스 뷰(예: 도 5의 서페이스 뷰(525-1, 525-2, 525-N))도 함께 폐기될 수 있다. When the
도 9는 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))에서 미러링 및 이벤트 처리 동작을 위한 처리 절차를 도시한 도면이다.FIG. 9 is a diagram illustrating processing procedures for mirroring and event processing operations in a mirroring system (eg, mirroring
도 9를 참조하면, 소스 디바이스(10)는, 미러링 및 이벤트 처리 동작이 인에이블되면, 동작 911에서, 미러링 기능이 요청된 하나 또는 복수의 앱 각각에 대한 미러링 기능을 제공할 관련 자원을 할당할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 앱 별로 컨테이너부(예: 도 4의 컨테이너부(420-1, 420-2, 420-N))을 생성할 수 있다. 상기 컨테이너부(420-1, 420-2, 420-N)는 가상 디스플레이(예: 도 4의 가상 디스플레이(421-1, 421-2, 421-N)), 입력 서페이스(예: 도 4의 입력 서페이스(423-1, 423-2, 423-N)) 및/또는 비디오 인코더(예: 도 4의 비디오 인코더(425-1, 425-2, 425-N))를 포함할 수 있다. 결과적으로, 상기 소스 디바이스(10)는, 동작 911에서, 미러링 기능할 앱 별로 비디오 인코더(425-1, 425-2, 425-N) 및 가상 디스플레이(421-1, 421-2, 421-N)를 생성할 수 있다.Referring to FIG. 9, when the mirroring and event processing operations are enabled, the
상기 소스 디바이스(10)는, 동작 913에서, 앱 별로 생성된 가상 디스플레이(421-1, 421-2, 421-N)에서 해당 앱을 실행할 수 있다. 상기 앱을 실행하는 것은, 할당된 메모리 영역에서 해당 앱을 실행하는 것에 해당할 수 있다. 상기 소스 디바이스(10)는 상기 앱을 가상 디스플레이(421-1, 421-2, 421-N)에서 실행함으로써, 상기 가상 디스플레이(421-1, 421-2, 421-N)에 표시될 수 있는 이미지를 미러링 이미지로 획득할 수 있다. 상기 소스 디바이스(10)는 앱 별로 생성된 비디오 인코더(425-1, 425-2, 425-N)를 사용하여 미러링 이미지를 인코딩할 수 있다.In
상기 소스 디바이스(10)는, 동작 915에서, 인코딩에 의해 압축된 미러링 이미지를 포함하는 미러링 데이터를 상기 외부 디바이스(20)로 전송할 수 있다. 상기 미러링 데이터는 미러링 이미지를 미러링하기 위해 사용될 미러링 메타 데이터를 포함할 수 있다. 상기 미러링 메타 데이터는, 예를 들어, 상기 미러링 이미지의 크기, 해상도, DPI 또는 표시 위치와 같은 정보를 포함할 수 있다. 상기 소스 디바이스(10)는, 예를 들어, 앱과 같은 프로그램이 설치되거나, 실행될 수 있는 스마트폰 또는 태블릿 PC와 같은 디지털 디바이스일 수 있다. The
상기 외부 디바이스(20)는 미러링 기능을 제공받을 앱 별로 미러링 기능을 제공할 관련 자원을 할당할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 앱 별로 원격 앱 컨테이너부(예: 도 5의 원격 앱 컨테이너부(520-1, 520-2, 520-N))을 생성할 수 있다. 상기 원격 앱 컨테이너부(520-1, 520-2, 520-N)는 비디오 디코더(521-1, 521-2, 521-N), 출력 서페이스(523-1, 523-2, 523-N) 또는 서페이스 뷰(525-1, 525-2, 525-N)를 생성할 수 있다.The
상기 외부 디바이스(20)는, 동작 917에서, 상기 소스 디바이스(10)로부터 전달된 압축된 미러링 데이터에 대한 디코딩을 해당 비디오 디코더(521-1, 521-2, 521-N)에서 수행할 수 있다. 상기 외부 디바이스(20)는, 동작 917에서, 압축이 해제된 미러링 데이터를 사용하여 미러링 이미지를 표시하는 제 1 표시영역(예: 도 6의 제 1 표시영역(620))을 구성할 수 있다. 상기 외부 디바이스(20)는, 동작 917에서, 상기 압축이 해제된 미러링 데이터를 제1 버퍼(예: 도 3의 제1 버퍼(241))에 임시로 저장할 수 있다. 상기 외부 디바이스(20)는 상기 제1 버퍼(241)에 새로운 미러링 데이터가 임시 저장됨에 따라, 기존에 임시로 저장되고 있던 미러링 데이터를 폐기할 수 있다. 상기 외부 디바이스(20)는, 동작 917에서, 상기 제 1 표시영역(620)에 미러링 이미지를 표시하기 위해 사용된 미러링 데이터를 제2 버퍼(예: 도 3의 제2 버퍼(243))에 캐싱할 수 있다.In
상기 외부 디바이스(20)는, 동작 919에서, 사용자와의 인터랙션을 통해 생성된 이벤트를 감지할 수 있다. 상기 인터랙션은, 예를 들어, 제 1 표시영역(620)에서 사용자의 터치 또는 드래그 동작이 이루어지는 것에 해당할 수 있다. The
상기 사용자와의 인터랙션을 통한 이벤트 생성이 감지되면, 상기 외부 디바이스(20)는, 동작 921에서, 해당 이벤트가 미러링 화면의 확장을 요청하는 것 인지를 판단할 수 있다. 상기 생성된 이벤트가 확장 요청에 해당하지 않으면, 상기 외부 디바이스(20)는, 동작 923에서, 입력 이벤트에 관한 정보를 상기 소스 디바이스(10)로 전달할 수 있다. 상기 생성된 이벤트가 확장 요청에 해당하면, 상기 외부 디바이스(20)는, 동작 927에서, 상기 제2 버퍼(243)에 캐싱되어 있는 미러링 데이터를 사용하여 확장 미러링 이미지를 획득하고, 상기 획득한 확장 미러링 이미지를 표시하도록 확장 표시 영역(예: 도 6의 확장 표시 영역(640))을 구성할 수 있다.When the creation of an event through interaction with the user is detected, the
상기 외부 디바이스(20)로부터 입력 이벤트에 관한 정보를 접수하면, 상기 소스 디바이스(10)는, 동작 925에서, 상기 입력 이벤트에 관한 정보를 사용하여 해당 이벤트에 따른 동작을 처리할 수 있다. 상기 소스 디바이스(10)는 해당 이벤트에 대한 동작을 처리한 결과가 반영된 미러링 데이터를 구성하여 상기 외부 디바이스(20)로 전송할 수 있다.Upon receiving information about an input event from the
도 10a 및 도 10b는 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))에서 외부 디바이스(예: 도 1의 외부 디바이스(20))가 미러링 이미지를 표시하기 위한 제어 흐름도이다.FIGS. 10A and 10B are control flowcharts for an external device (e.g.,
도 10a 및 도 10b을 참조하면, 외부 디바이스(20)는, 동작 1011에서, 앱 정보를 사용하여 사용자에 의해 선택된 앱의 실행을 소스 디바이스(예: 도 1의 소스 디바이스(10))로 요청하여 해당 앱이 실행되도록 할 수 있다. 상기 앱 정보는, 예를 들어, 소스 디바이스(예: 도 1의 소스 디바이스(10))에 설치되거나, 또는 실행될 수 있는 앱에 관한 정보일 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 앱 정보를 소스 디바이스(10)로부터 수신할 수 있다. 상기 소스 디바이스(10)가 가상 디스플레이를 생성한 후, 상기 생성한 가상 디스플레이에서 앱이 실행되면, 상기 외부 디바이스(20)는 상기 가상 디스플레이에서 실행된 앱 화면의 미러링 데이터를 상기 소스 디바이스(10)로부터 제공받을 수 있다. Referring to FIGS. 10A and 10B, in
상기 외부 디바이스(20)는, 동작 1013에서, 사용자와의 인터랙션을 통해 미러링 이벤트가 생성하는지를 판단할 수 있다. 상기 미러링 이벤트가 생성하면, 상기 외부 디바이스(20)는, 동작 1015에서, 상기 소스 디바이스(10)로부터 제공받은 미러링 데이터를 사용하여 제 1 표시영역(예: 도 6의 제 1 표시영역(620))에 미러링 이미지를 표시할 수 있다. In
상기 제 1 표시영역(620)에 미러링 이미지를 표시하면, 상기 외부 디바이스(20)는, 동작 1017에서, 디스플레이에 할당된 확장 표시 영역(예: 도 6의 확장 표시 영역(640))에 확장 미러링 이미지가 표시되고 있는지를 판단할 수 있다.When a mirrored image is displayed on the
상기 확장 표시 영역(640)에 확장 미러링 이미지가 표시되고 있으면, 상기 외부 디바이스(20)는, 동작 1019에서, 확장 표시 영역(640)을 재 구성할 수 있다. 상기 확장 표시 영역(640)의 재 구성은, 예를 들어, 상기 확장 표시 영역(640)에 표시할 확장 미러링 이미지를 새롭게 구성하여 표시하는 것을 포함할 수 있다. If an extended mirroring image is displayed in the extended
상기 확장 표시 영역(640)에 확장 미러링 이미지가 표시되고 있지 않거나 확장 표시 영역의 재구성이 완료되면, 상기 외부 디바이스(20)는, 동작 1021에서, 제 1 표시영역(620)에 표시된 미러링 이미지를 제2 버퍼(예: 도 3의 제2 버퍼(243))에 캐싱할 수 있다. If the extended mirroring image is not displayed in the extended
상기 외부 디바이스(20)는, 동작 1023에서, 사용자와의 인터랙션을 통해 사용자의 입력이 감지되는지를 판단할 수 있다. 상기 사용자의 입력은, 예를 들어, 제 1 표시영역(620) 또는 확장 표시 영역(640)의 특정 위치를 터치하거나, 드래그 하는 것에 해당할 수 있다.In
상기 사용자의 입력이 감지되면, 상기 외부 디바이스(20)는, 동작 1025에서, 상기 사용자 입력을 분석할 수 있다. 상기 사용자 입력의 분석은, 예를 들어, 상기 사용자 입력의 종류를 획득하기 위한 동작일 수 있다. When the user's input is detected, the
상기 사용자 입력에 대한 분석이 완료되면, 상기 외부 디바이스(20)는, 동작 1027에서, 해당 사용자의 입력이 확장 표시 영역(640)에 확장 미러링 이미지를 표시할 것을 요청하는 것인지를 판단할 수 있다. 상기 사용자의 입력이 확장 미러링 이미지의 표시를 요청하는 것이 아니라면, 상기 외부 디바이스(20)는, 동작 1031에서, 앱 동작 관련 이벤트가 제 1 표시영역(620)에서 생성된 것인지를 판단할 수 있다.When the analysis of the user input is completed, the
상기 사용자의 입력이 확장 미러링 이미지의 표시를 요청하는 것이라면, 상기 외부 디바이스(20)는, 동작 1029에서, 제2 버퍼(243)에 캐싱된 미러링 데이터를 이용하여 확장 미러링 이미지를 생성하고, 상기 생성한 확장 미러링 이미지를 확장 표시 영역(640)에 표시할 수 있다.If the user's input requests display of an extended mirroring image, the
상기 사용자의 입력이 앱 관련 이벤트로 제 1 표시영역(620)에서 생성되었다면, 상기 외부 디바이스(20)는, 동작 1033에서, 상기 사용자의 입력에 따른 입력 정보를 상기 소스 디바이스(10)로 전송할 수 있다. 상기 입력 정보는, 예를 들어, 상기 소스 디바이스(10)가 해당 앱을 구동하기 위하여 사용될 수 있다.If the user's input is generated in the
상기 사용자의 입력이 앱 관련 이벤트로 확장 표시 영역(640)에서 생성되었다면, 상기 외부 디바이스(20)는, 동작 1035에서, 상기 확장 표시 영역(640)에 매핑된 입력 정보를 상기 소스 디바이스(10)로 전송할 수 있다. 상기 입력 정보는, 예를 들어, 상기 소스 디바이스(10)가 해당 앱을 구동하기 위하여 사용될 수 있다.If the user's input is generated in the extended
상기 외부 디바이스(20)는, 동작 1037에서, 상기 입력 정보를 사용하여 상기 소스 디바이스(10)가 해당 앱을 구동함으로 인하여 만들어진 미러링 데이터를 수신하고, 상기 수신한 미러링 데이터를 사용하여 제 1 표시영역(620)에 표시될 미러링 이미지를 업데이트할 수 있다. 상기 미러링 데이터는, 예를 들어, 수신 시점에서 제1 버퍼(241)에 임시로 저장될 수 있다. 상기 미러링 데이터는, 예를 들어, 상기 제 1 표시영역(620)에 표시될 미러링 이미지가 업데이트된 후, 제2 버퍼(243)에도 임시 저장될 수 있다.In
상기 외부 디바이스(20)는, 동작 1039에서, 사용자와의 인터랙션을 통해 미러링 기능의 종료를 요청하는 종료 이벤트가 생성되는지를 판단할 수 있다. 상기 종료 이벤트가 생성되면, 상기 외부 디바이스(20)는, 동작 1041에서, 상기 소스 디바이스(10)로 앱 종료 요청을 전송할 수 있다. 상기 앱 종료 요청은, 예를 들어, 상기 소스 디바이스(10)가 해당 앱을 실행하기 위해 생성한 가상 디스플레이를 폐지하도록 할 수 있다.In
도 11a는 일 실시예에 따른, 미러링 기능을 지원하는 외부 디바이스(예: 도 1의 외부 디바이스(20))에서의 미러링 화면을 확장하는 예시도이다.FIG. 11A is an example diagram of expanding a mirroring screen on an external device (eg, the
도 11a를 참조하면, 외부 디바이스(20)가 미러링 이미지를 포함하는 미러링 화면을 제 1 표시영역(1110)에 표시하는 경우, 상기 외부 디바이스(20)는 디스플레이(예: 도 6의 디스플레이(600))에서 상기 제 1 표시영역(1110)을 중심으로 확장 미러링 이미지에 의한 확장 미러링 화면을 표시할 표시 영역(예: 도 6의 확장 표시 영역(640))을 확장할 수 있다. Referring to FIG. 11A, when the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(1110)에서 -x축 방향(1131)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 이전에 제 1 표시영역(1110)에 표시되었거나, 또는 현재 제 1 표시영역(1110)에 표시되고 있는 미러링 이미지를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다. According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(1110)에서 +x축 방향(1133)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 이전에 제 1 표시영역(1110)에 표시되었거나, 또는 현재 제 1 표시영역(1110)에 표시되고 있는 미러링 이미지를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(1110)에서 +y축 방향(1121)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 이전에 제 1 표시영역(1110)에 표시되었거나, 또는 현재 제 1 표시영역(1110)에 표시되고 있는 미러링 이미지를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(1110)에서 -y축 방향(1123)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 이전에 제 1 표시영역(1110)에 표시되었거나, 또는 현재 제 1 표시영역(1110)에 표시되고 있는 미러링 이미지를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 제 1 표시영역(1110)에서 +z축 방향(1141)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 이전에 제 1 표시영역(1110)에 표시되었거나, 또는 현재 제 1 표시영역(1110)에 표시되고 있는 미러링 이미지를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
도 11b는 일 실시예에 따른, 미러링 기능을 지원하는 외부 디바이스(예: 도 1의 외부 디바이스(20))에서의 미러링 화면을 확장하는 예시도이다.FIG. 11B is an example diagram of expanding a mirroring screen on an external device (eg,
도 11b를 참조하면, 외부 디바이스(20)가 디스플레이(예: 도 6의 디스플레이(600))에서 미러링 화면을 제공하지 않고, 사용자가 투명창을 통해 소스 디바이스(예: 도 1의 소스 디바이스(10))의 디스플레이(예: 도 3의 디스플레이 모듈(110))를 확인하는 경우, 상기 투명창을 통해 보이는 소스 디바이스(10)의 화면(1150)(이하 '소스 디바이스 화면(1150)'이라 칭함)을 제 1 표시영역(예: 도 11a의 제1 표시영역(1110))으로 사용할 수 있다. 상기 외부 디바이스(20)는, 예를 들어, 투명창을 통해 보이는 소스 디바이스 화면(1150)을 중심으로 미러링 이미지에 의한 확장 미러링 화면을 표시할 표시 영역(예: 도 6의 확장 표시 영역(640))을 확장할 수 있다.Referring to FIG. 11B, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 소스 디바이스 화면(1150)에서 -x축 방향(1171)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)에 의해 제공된 미러링 데이터를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다. According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 소스 디바이스 화면(1150)에서 +x축 방향(1173)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)에 의해 제공된 미러링 데이터를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 소스 디바이스 화면(1150)에서 +y축 방향(1161)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)에 의해 제공된 미러링 데이터를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 소스 디바이스 화면(1150)에서 -y축 방향(1163)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)에 의해 제공된 미러링 데이터를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는, 예를 들어, 소스 디바이스 화면(1150)에서 +z축 방향(1181)으로 하나 또는 복수의 확장 표시 영역을 추가로 할당할 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)에 의해 제공된 미러링 데이터를 사용하여 상기 하나 또는 복수의 확장 표시 영역에 확장 미러링 이미지를 표시할 수 있다.According to one example, the
상술한 도 11a와 도 11b에서는 사용자와의 인터랙션을 통해 획득한 입력 정보를 기반으로 확장 표시 영역을 할당할 위치 또는 진행 방향 (예: +x축 방향, -x축 방향, +y축 방향, -y축 방향, +z축 방향 또는 -z축 방향)을 결정하도록 하고 있으나, 결정된 위치 또는 진행 방향으로 확장 표시 영역을 마련할 공간이 부족할 경우에는, 제 1 표시영역의 위치를 이동시키거나, 확장 표시 영역을 마련할 위치를 변경하거나, 또는 확장 표시 영역이 마련될 방향을 변경할 수도 있다. 이를 위해, 상기 외부 디바이스(20)는 사용자와의 추가로 인터랙션을 수행할 수도 있다.In FIGS. 11A and 11B described above, the location or direction in which the expanded display area will be allocated based on input information obtained through interaction with the user (e.g., +x-axis direction, -x-axis direction, +y-axis direction, - y-axis direction, +z-axis direction, or -z-axis direction), but if there is not enough space to prepare an expanded display area in the determined position or direction, the position of the first display area is moved or expanded. The location where the display area will be provided can be changed, or the direction where the extended display area will be provided can be changed. To this end, the
도 12는 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))에서 3차원 미러링 이미지를 이용하여 미러링 화면을 확장하는 예시도이다.FIG. 12 is an example diagram of expanding a mirroring screen using a 3D mirroring image in a mirroring system (e.g., mirroring
도 12를 참조하면, 미러링 시스템(1)에 포함된 외부 디바이스(예: 도 1의 외부 디바이스(20))는 소스 디바이스(10)로부터 제공되는 3차원 미러링 데이터를 사용하여 제 1 표시영역(1210)에 3차원 미러링 이미지를 표시할 수 있다. Referring to FIG. 12, an external device included in the mirroring system 1 (e.g., the
일 예에 따르면, 상기 외부 디바이스(20)는 이전에 제 1 표시영역(1210)에 표시되었던 3차원 미러링 데이터를 재활용하거나, 상기 소스 디바이스(10)로부터 3차원 미러링 데이터가 새롭게 제공됨에 따라 제1 표시 영역(1210)에 표시되고 있는 3차원 미러링 데이터를 재활용하여 상측 방향(+y축 방향)으로 확장된 확장 표시 영역(1220)에 3차원 확장 미러링 이미지를 표시할 수 있다. According to one example, the
일 예에 따르면, 상기 외부 디바이스(20)는 이전에 제 1 표시영역(1210)에 표시되었던 3차원 미러링 데이터를 재활용하거나, 상기 소스 디바이스(10)로부터 3차원 미러링 데이터가 새롭게 제공됨에 따라 제1 표시 영역(1210)에 표시되고 있는 3차원 미러링 데이터를 재활용하여 우측 방향(+x축 방향)으로 확장된 확장 표시 영역(1230)에 해당하는 제1 확장 표시 영역(1231)에 3차원 확장 미러링 이미지를 표시할 수 있다. 이 경우, 상기 외부 디바이스(20)는 이전에 제1 확장 표시 영역(1231)에 표시되고 있던 3차원 확장 미러링 이미지를 제2 확장 표시 영역(1233)에 표시할 수 있다.According to one example, the
도 13은 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))을 구성하는 외부 디바이스(예: 도 1의 외부 디바이스(20))에서 확장 표시 영역(예: 도 6의 확장 표시 영역(640))에서의 인터랙션을 제공하는 예시도이다.FIG. 13 shows an extended display area (e.g., of FIG. 6 ) in an external device (e.g.,
도 13을 참조하면, 외부 디바이스(예: 도 1의 외부 디바이스(20))는 미러링 이미지가 표시된 제 1 표시화면(1310)을 뒤쪽에 감춰지도록 바로 이전의 미러링 이미지가 표시된 확장 표시 화면(1330)을 배치할 수 있다. 상기 외부 디바이스(20)는 미러링이 수행된 회수(예: TAB 회수)에 대응하여 각 회수에 대응한 미러링 이미지를 확장하여 독립된 확장 표시 화면(1340)으로 노출시킬 수 있다. 상기 미러링 회수에 대응하여 확장 표시 화면(1330, 1341, 1343)을 확장하는 것은, 예를 들어, 상기 외부 디바이스(20)가 사용자와의 인터랙션을 통해 사용자의 탭 회수에 응답하여 수행될 수 있다.Referring to FIG. 13, an external device (e.g., the
상기 외부 디바이스(20)는, 사용자와의 인터랙션(예: 스크롤)을 통해 위쪽 방향(+y 축 방향)으로 확장 표시 화면(1320)을 표시할 것을 요청하는 입력을 인지하면, 제 1 표시화면(1310)의 위쪽 방향 (+y 축 방향)으로 연접하여 확장 표시 화면(1320)을 노출시킬 수 있다. When the
상술한 바와 같이 외부 디바이스(20)는 사용자와의 인터랙션을 통해 사용자의 제스처 형태에 따라 확장 표시 화면의 표시 방향(예: +x축 방향, -x축 방향, +y축 방향, -y축 방향, +z축 방향 또는 -z축 방향)이 결정될 수 있다.As described above, the
일 예에 따르면, 외부 디바이스(20)는 제 1 표시화면 또는 확장 표시 화면에 대하여 영역 또는 범위 별로 인터랙션이 생성할 시에 수행할 명령을 테이블로 미리 마련할 수 있다. 상기 외부 디바이스(20)는, 사용자와의 인터랙션을 수행하는 중에 제 1 표시화면 또는 확장 표시 화면의 특정 영역 또는 범위에서 이벤트가 생성하면, 상기 이벤트가 생성한 특정 영역 또는 범위에 대하여 테이블에서 정의하고 있는 명령에 따른 동작을 실행할 수 있다. 상기 테이블은 상기 외부 디바이스(20) 외에도 외부 서버에 마련될 수도 있다. 상기 테이블은 소프트웨어적으로 마련될 수도 있다. 상기 테이블에는 특정 액티비티 (activity)나 화면이 실행되는 시점에서의 구현에 따라, 새로운 명령이 추가될 수도 있다.According to one example, the
일 예에 따르면, 사용자와의 인터랙션을 통한 모션 (예: Activity터치, Scroll 등)에 따른 명령은 앱 별로 마련하지 않고, 공통으로 적용될 수 있는 기본적인 명령은 모든 앱에서 동일하게 적용될 수도 있다. According to one example, commands according to motion through interaction with the user (e.g., Activity touch, Scroll, etc.) are not provided for each app, and basic commands that can be commonly applied may be applied equally to all apps.
일 예에 따르면, 소프트웨어에서 콜백 구조로 상황 별로 수행할 방법을 달리 구현하는 것도 가능할 수 있다. According to one example, it may be possible to implement different methods for each situation using a callback structure in software.
하기 <표 1>은 인터랙션 별로 수행하는 명령을 정의한 테이블의 일 예를 보이고 있다.<Table 1> below shows an example of a table defining commands performed for each interaction.
- 액티비티 이동 후, 터치한 곳이 터치이벤트가 생성되는 곳이면 해당 명령 실행- Run the screen using the information (Intent) of
- After moving the activity, if the touched area is where a touch event is generated, the corresponding command is executed
일 예에 따르면, 외부 디바이스(20)는 스크롤 이동 후 터치한 곳이 터치 이벤트가 생성되는 곳이면, 해당 명령 실행할 때에 해당 페이지가 동적인 경우, 다시 페이지를 띄워서 터치 입력이 제공된 시점에 다른 상태로 변경되어 있을 수 있다. 이 경우, 외부 디바이스(20)에 마련된 버퍼가 보유한 이미지와 새로 뜬 이미지의 픽셀 값 차이를 통해 해당 영역이 상호 작용(Interactable)할 수 있는지를 판단할 수 있다.According to one example, if the area touched after scrolling is where a touch event is generated, and the page is dynamic when the command is executed, the
일 예에 따르면, 외부 디바이스(20)는 새로운 미러링 이미지가 제 1 표시영역에 미러링됨에 따라, 이전에 표시되었던 미러링 이미지가 확장 표시 영역으로 이동하여 표시될 수 있다. 이 경우, 사용자가 확장 표시 영역에 노출된 확장 미러링 이미지의 특정 위치를 터치할 시, 상기 외부 디바이스(20)는 확장 표시 영역에 표시된 확장 미러링 이미지를 제 1 표시영역으로 이동시켜 표시할 수 있다. 상기 외부 디바이스(20)는 제 1 표시영역에 이동하여 표시된 미러링 이미지에서 확장 표시 영역에 표시되었을 시에 사용자에 의해 터치된 특정 위치에 대응한 위치가 터치된 것을 간주하여 이벤트를 생성시킬 수도 있다.According to one example, the
도 14는 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))에서 확장 표시 영역을 관리하기 위한 히스토리 계층도 (history hierarchy tree)이다.FIG. 14 is a history hierarchy tree for managing an extended display area in a mirroring system (eg, mirroring
도 14를 참조하면, 미러링 시스템(1)에서 미러링 기능을 위한 확장 영역을 제공하는 외부 디바이스(예: 도 1의 외부 디바이스(20))는 사용자와의 인터랙션(예: 도 2의 인터랙션(25))을 통해 디스플레이(예: 도 6의 디스플레이(600))에 확장 표시 영역(예: 도 6의 확장 표시 영역(640))이 할당될 수 있다. 상기 디스플레이(600)에 할당되는 확장 표시 영역(640)은 시간의 흐름에 따라 계층 구조를 가질 수 있다. 상기 계층 구조는 최상위 계층인 제1 계층 (어세스먼트(assessment)(1410)을 기준으로 제2 계층 (Group1, Group2, Group3)(1420), 제3 계층 (Sub_Group11, Sub_Group12, Sub_Group21, Sub_Group22, Sub_Group31, Sub_Group32)(1430) 또는 제4 계층 (Question)(1440)을 포함할 수 있다. 일 예로, 외부 디바이스(20)는 디스플레이(600)에서 확장 미러링 이미지를 표시하는 확장 표시 영역(640)을 히스토리 계층도를 구성하는 계층들 중 하나에 매핑 하여 관리할 수 있다. 예컨대, 사용자와 특정 인터랙션이 실행될 시, 다른 가지의 영역을 제거하는 등의 인터랙션에 의한 계층 관리를 수행할 수 있다.Referring to FIG. 14, an external device (e.g.,
도 15는 일 실시예에 따른, 미러링 시스템(예: 도 1의 미러링 시스템(1))에서 확장 표시 영역을 자체적으로 운영하는 예시도이다.FIG. 15 is an example diagram of a mirroring system (eg, the
도 15를 참조하면, 외부 디바이스(20)에서 직접 앱과 같은 소프트웨어를 실행하여 운영할 수 있는 경우, 상기 외부 디바이스(20)는 소스 디바이스(10)의 가상 디스플레이에서 실행한 앱에 관한 미러링 데이터(1510)를 상기 소스 디바이스(10)로부터 제공받을 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)로부터 제공된 미러링 데이터(1510)를 사용하여 제 1 표시영역(1520)에 미러링 이미지를 표시할 수 있다. 상기 외부 디바이스(20)는 상기 소스 디바이스(10)의 가상 디스플레이에서 실행된 앱과 동일 앱을 자체적으로 실행시킬 수 있다. 상기 외부 디바이스(20)는 자체적으로 실행된 앱에 따른 화면(1530)을 확장 표시 영역(1540)에 표시할 수 있다. Referring to FIG. 15, when software such as an app can be run and operated directly on the
도 16은 일 실시예에 따른, 외부 디바이스(예: 도 1의 외부 디바이스(20))에서 미러링 이미지를 시간 공간에서 확장한 예를 도시한 도면이다.FIG. 16 is a diagram illustrating an example of expanding a mirroring image in time and space in an external device (eg, the
도 16을 참조하면, 외부 디바이스(20)는 제 1 표시영역(1610)에 미러링 이미지(1620)(이하 '기본 미러링 이미지(1620)'이라 칭함)를 표시할 수 있다. 상기 외부 디바이스(20)는, 미래 예측 이미지 요청 이벤트가 생성되면, 제 1 표시영역(620)에 표시된 미러링 이미지를 복사하여 복제 미러링 이미지(1640)를 획득할 수 있다. 상기 외부 디바이스(20)는 복제 미러링 이미지(1640)를 렌더링하여 상기 제 1 표시영역(1610)에 표시된 기본 미러링 이미지(1620)가 가려지도록 할당된 확장 표시 영역(1630)에 표시할 수 있다.Referring to FIG. 16 , the
상기 외부 디바이스(20)는 복제 미러링 이미지(1640)를 표시한 확장 표시 영역(1630)에서 제공되는 입력에 대응한 동작을 수행하여 미래 예측 이미지를 획득할 수 있다. 상기 미래 예측 이미지는 상기 외부 디바이스(20)에 렌더링될 수 있다. 상기 랜더링 이후 사용자와의 인터랙션을 통해, 미래 예측 이미지(1660)는 확장 표시 영역(1650)에 표시될 수 있다.The
도 17은 일 실시예에 따른, 외부 디바이스(예: 도 1의 외부 디바이스(20))에서 미러링 이미지를 시간 공간에서 확장하기 위한 제어 흐름도이다.FIG. 17 is a control flowchart for expanding a mirroring image in time and space in an external device (eg, the
도 17을 참조하면, 외부 디바이스(20)는, 동작 1711에서, 미래 예측 이미지 요청 이벤트의 발생을 확인할 수 있다. 상기 미래 예측 이미지 요청 이벤트는, 예를 들어, 외부 디바이스(20)가 사용자와의 인터랙션을 통해 발생될 수 있다. 상기 미래 예측 이미지 요청 이벤트는 현재 제 1 표시영역(예: 도 16의 제 1 표시영역(1610))에 표시된 기본 미러링 이미지(예; 도 16의 기본 미러링 이미지(1620)) 다음으로 발생할 것이 예상되는 미러링 이미지의 예측을 요청하는 것일 수 있다. Referring to FIG. 17, the
일 예로, 외부 디바이스(20)는 특정 상황에서 현재 미러링 이미지(예: 도 16의 기본 미러링 이미지(1620))를 홀드 (hold)한 상태에서 미래에 발생될 것으로 예상되는 적어도 하나의 인터랙션의 입력에 응답하여 해당 이벤트에 따른 동작을 실행하며, 상기 실행된 동작의 결과물로 확보한 미러링 이미지(예: 도 16의 미래 예측 이미지(1660))를 미러링 표시 영역(예: 도 16의 확장 표시 영역(1650))을 통해 시각화할 수 있다.For example, in a specific situation, the
보다 구체적으로, 외부 디바이스(20)는, 동작 1713에서, 미래 예측 이미지가 요청된 앱이 선형 이동이 가능한 앱인지를 판단할 수 있다. 상기 선형 이동이 가능하다는 것은, 선형 이동이 자유롭다는 의미일 수 있다. 일 예로, 선형 이동이 가능한 앱은 미러링 이미지의 변경이 빈번하게 발생하지 않는 앱을 포함할 있다. 상기 선형 이동이 가능한 앱은, 예를 들어, 일기 예보 기능을 제공하는 앱일 수 있다.More specifically, in
상기 외부 디바이스(20)는, 동작 1715에서, 일정 시간 동안 사용자와의 인터랙션이 발생하지 않았는지를 판단할 수 있다. 상기 일정 시간 동안 사용자와의 인터랙션이 발생하지 않는다는 것은, 미러링 이미지가 변경될 가능성이 희박한 것으로 예측할 수 있기 때문이다. 상기 일정 시간 동안 인터랙션이 발생하지 않는다는 것은, 제 1 표시영역(1610)에 표시된 기본 미러링 이미지(1620)에 제공하기 위하여 실행 중인 앱이 사용자와의 빈번한 인터랙션을 요구하지 않은 앱인 경우에 해당할 수 있다.In
해당 앱이 선형 이동이 가능하고, 일정 시간 동안 인터랙션이 발생하지 않았다면, 상기 외부 디바이스(20)는, 동작 1717에서, 제 1 표시영역(1610)에 표시된 기본 미러링 이미지(1620)를 복사하여 상기 제 1 표시영역(1610)의 가림막 역할을 하도록 렌더링을 수행할 수 있다. 일 예로, 상기 외부 디바이스(20)는 복사한 미러링 이미지(예: 도 16의 복제 미러링 이미지(1640))를 렌더링하여 상기 제 1 표시영역(1610)에 표시된 기본 미러링 이미지(1620)가 가려지도록 확장 표시 영역(1650)에 미래 예측 이미지(1660)를 표시할 수 있다.If the app is capable of linear movement and no interaction has occurred for a certain period of time, the
상기 외부 디바이스(20)는, 동작 1719에서, 복제한 미러링 이미지(1640)를 표시한 영역 (예: 도 16의 확장 표시 영역(1630))에 입력을 제공하여 지정된 동작이 수행되도록 하고, 상기 지정된 동작을 수행하여 미래 예측 이미지(1660)를 획득할 수 있다. 상기 미래 예측 이미지(1660)를 획득하기 위한 동작의 수행 단계 (depth)는 한번 이상이 수행될 수 있다.In
상기 미래 예측 이미지(1660)를 획득하면, 상기 외부 디바이스(20)는, 동작 1721에서, 상기 획득한 미래 예측 이미지(1660)를 제2 버퍼(예: 도 3의 제2 버퍼(243))를 이용하여 렌더링할 수 있다. 상기 랜더링 이후 미래 예측 이미지(1660)는 사용자와의 인터랙션을 통해 확장 표시 영역(1650)을 통해 사용자에게 시각적으로 노출될 수 있다.When the
상기 외부 디바이스(20)는, 동작 1723에서, 상기 가림막을 제거함으로써, 기존에 제 1 표시영역(1610)에 표시되었던 기본 미러링 이미지(1620)가 다시 사용자에게 노출될 수 있도록 한다.In
상술한 바로 인하여, 외부 디바이스(20)에서는 사용자가 다음 화면 미리 보기 등의 기능을 별도 마련하지 않더라도, 넓은 디스플레이 영역을 활용하여 미래의 예측 미러링 이미지를 경험할 수 있게 한다.Due to the above-mentioned reasons, the
도 18은 다양한 실시예들에 따른, 네트워크 환경(1800) 내의 전자 장치(1801)의 블록도이다. FIG. 18 is a block diagram of an electronic device 1801 in a
도 18을 참조하면, 네트워크 환경(1800)에서 전자 장치(1801)는 제 1 네트워크(1898)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(1802)와 통신하거나, 또는 제 2 네트워크(1899)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(1804) 또는 서버(1808) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(1801)는 서버(1808)를 통하여 전자 장치(1804)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(1801)는 프로세서(1820), 메모리(1830), 입력 모듈(1850), 음향 출력 모듈(1855), 디스플레이 모듈(1860), 오디오 모듈(1870), 센서 모듈(1876), 인터페이스(1877), 연결 단자(1878), 햅틱 모듈(1879), 카메라 모듈(1880), 전력 관리 모듈(1888), 배터리(1889), 통신 모듈(1890), 가입자 식별 모듈(1896), 또는 안테나 모듈(1897)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(1801)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(1878))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(1876), 카메라 모듈(1880), 또는 안테나 모듈(1897))은 하나의 구성요소(예: 디스플레이 모듈(1860))로 통합될 수 있다.Referring to FIG. 18, in the
프로세서(1820)는, 예를 들면, 소프트웨어(예: 프로그램(1840))를 실행하여 프로세서(1820)에 연결된 전자 장치(1801)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(1820)는 다른 구성요소(예: 센서 모듈(1876) 또는 통신 모듈(1890))로부터 수신된 명령 또는 데이터를 휘발성 메모리(1832)에 저장하고, 휘발성 메모리(1832)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(1834)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(1820)는 메인 프로세서(1821)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(1823)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(1801)가 메인 프로세서(1821) 및 보조 프로세서(1823)를 포함하는 경우, 보조 프로세서(1823)는 메인 프로세서(1821)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(1823)는 메인 프로세서(1821)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 1820, for example, executes software (e.g., program 1840) to operate at least one other component (e.g., hardware or software component) of the electronic device 1801 connected to the processor 1820. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of the data processing or computation, the processor 1820 stores instructions or data received from another component (e.g., the
보조 프로세서(1823)는, 예를 들면, 메인 프로세서(1821)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(1821)를 대신하여, 또는 메인 프로세서(1821)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(1821)와 함께, 전자 장치(1801)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(1860), 센서 모듈(1876), 또는 통신 모듈(1890))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(1823)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(1880) 또는 통신 모듈(1890))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(1823)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(1801) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(1808))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다. The
메모리(1830)는, 전자 장치(1801)의 적어도 하나의 구성요소(예: 프로세서(1820) 또는 센서 모듈(1876))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(1840)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(1830)는, 휘발성 메모리(1832) 또는 비휘발성 메모리(1834)를 포함할 수 있다. The memory 1830 may store various data used by at least one component (eg, the processor 1820 or the sensor module 1876) of the electronic device 1801. Data may include, for example, input data or output data for software (e.g., program 1840) and instructions related thereto. Memory 1830 may include volatile memory 1832 or non-volatile memory 1834.
프로그램(1840)은 메모리(1830)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(1842), 미들 웨어(1844) 또는 어플리케이션(1846)을 포함할 수 있다. The program 1840 may be stored as software in the memory 1830 and may include, for example, an operating system 1842, middleware 1844, or applications 1846.
입력 모듈(1850)은, 전자 장치(1801)의 구성요소(예: 프로세서(1820))에 사용될 명령 또는 데이터를 전자 장치(1801)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(1850)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module 1850 may receive commands or data to be used in a component of the electronic device 1801 (e.g., the processor 1820) from outside the electronic device 1801 (e.g., a user). The input module 1850 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
음향 출력 모듈(1855)은 음향 신호를 전자 장치(1801)의 외부로 출력할 수 있다. 음향 출력 모듈(1855)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The
디스플레이 모듈(1860)은 전자 장치(1801)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(1860)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(1860)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 생성되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The
오디오 모듈(1870)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(1870)은, 입력 모듈(1850)을 통해 소리를 획득하거나, 음향 출력 모듈(1855), 또는 전자 장치(1801)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(1802))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The
센서 모듈(1876)은 전자 장치(1801)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(1876)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The
인터페이스(1877)는 전자 장치(1801)가 외부 전자 장치(예: 전자 장치(1802))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(1877)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The
연결 단자(1878)는, 그를 통해서 전자 장치(1801)가 외부 전자 장치(예: 전자 장치(1802))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(1878)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The
햅틱 모듈(1879)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(1879)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The
카메라 모듈(1880)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(1880)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The
전력 관리 모듈(1888)은 전자 장치(1801)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(1888)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The
배터리(1889)는 전자 장치(1801)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(1889)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(1890)은 전자 장치(1801)와 외부 전자 장치(예: 전자 장치(1802), 전자 장치(1804), 또는 서버(1808)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(1890)은 프로세서(1820)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(1890)은 무선 통신 모듈(1892)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(1894)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(1898)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(1899)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(1804)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(1892)은 가입자 식별 모듈(1896)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(1898) 또는 제 2 네트워크(1899)와 같은 통신 네트워크 내에서 전자 장치(1801)를 확인 또는 인증할 수 있다. Communication module 1890 provides a direct (e.g., wired) communication channel or wireless communication channel between the electronic device 1801 and an external electronic device (e.g.,
무선 통신 모듈(1892)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(1892)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(1892)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(1892)은 전자 장치(1801), 외부 전자 장치(예: 전자 장치(1804)) 또는 네트워크 시스템(예: 제 2 네트워크(1899))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(1892)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module 1892 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology). NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported. The wireless communication module 1892 may support high frequency bands (e.g., mmWave bands), for example, to achieve high data rates. The wireless communication module 1892 uses various technologies to secure performance in high frequency bands, such as beamforming, massive MIMO (multiple-input and multiple-output), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module 1892 may support various requirements specified in the electronic device 1801, an external electronic device (e.g., electronic device 1804), or a network system (e.g., second network 1899). According to one embodiment, the wireless communication module 1892 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC. Example: Downlink (DL) and uplink (UL) each of 0.5 ms or less, or
안테나 모듈(1897)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(1897)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(1897)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(1898) 또는 제 2 네트워크(1899)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(1890)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(1890)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(1897)의 일부로 형성될 수 있다.
The antenna module 1897 may transmit or receive signals or power to or from the outside (e.g., an external electronic device). According to one embodiment, the antenna module 1897 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 1897 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for the communication method used in the communication network, such as the
다양한 실시예에 따르면, 안테나 모듈(1897)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, antenna module 1897 may form a mmWave antenna module. According to one embodiment, a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( (e.g. commands or data) can be exchanged with each other.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(1899)에 연결된 서버(1808)를 통해서 전자 장치(1801)와 외부의 전자 장치(1804)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(1802, 또는 1804) 각각은 전자 장치(1801)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(1801)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(1802, 1804, 또는 1808) 중 하나 이상의 외부의 전자 장치에서 실행될 수 있다. 예를 들면, 전자 장치(1801)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(1801)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(1801)로 전달할 수 있다. 전자 장치(1801)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(1801)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(1804)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(1808)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(1804) 또는 서버(1808)는 제 2 네트워크(1899) 내에 포함될 수 있다. 전자 장치(1801)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다. According to one embodiment, commands or data may be transmitted or received between the electronic device 1801 and the external
일 실시예에 따른, 디바이스(예: 도 1의 외부 디바이스(20))는, 표시창(600)에 미러링 이미지를 표시하도록 구성된 디스플레이 모듈(210); 외부 디바이스(10)와 통신을 수행하도록 구성된 통신 모듈(250); 사용자의 제스처를 감지하고, 상기 감지된 사용자의 제스처에 대응한 센싱 신호를 생성하도록 구성된 센서 모듈(230); 하나 또는 복수의 버퍼 영역(241, 243)이 할당되도록 구성된 메모리(240); 및 상기 디스플레이 모듈(210), 상기 통신 모듈(250) 또는 상기 메모리(240)와 전기적으로 연결되고, 상기 디스플레이 모듈(210), 상기 통신 모듈(250) 또는 상기 메모리(240)의 동작을 제어하도록 구성된 적어도 하나의 프로세서(220)를 포함할 수 있다. According to one embodiment, a device (e.g.,
일 실시예에 따른, 상기 적어도 하나의 프로세서(220)가, 상기 통신 모듈(250)를 통해 상기 외부 디바이스(10)로부터 미러링 데이터(31)를 수신하고, 상기 미러링 데이터(31)를 사용하여 상기 표시창(600)에서 할당된 제 1 표시영역(620)에 미러링 이미지(650)가 표시되도록 상기 디스플레이 모듈(210)를 제어하도록 구성될 수 있다. According to one embodiment, the at least one
일 실시예에 따른, 상기 적어도 하나의 프로세서(220)가, 상기 센서 모듈(230)에 의해 감지된 사용자 제스처(630)에 따라 상기 표시창(600)에서 상기 제 1 표시영역(620) 외에 추가로 할당된 적어도 하나의 확장 표시 영역(640)에 확장 미러링 데이터(731, 733, 735)를 사용하여 확장 미러링 이미지(660)가 표시되도록 상기 디스플레이 모듈(210)를 제어하도록 구성될 수 있다. According to one embodiment, the at least one
일 실시예에 따른, 상기 확장 미러링 데이터(731, 733, 735)는 상기 미러링 이미지(650)를 표시하기 위하여 사용된 경험이 있는 이전 미러링 데이터(731, 733, 735)로부터 획득될 수 있다.According to one embodiment, the
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 외부 디바이스(10)로부터 수신한 상기 미러링 데이터를 제1 버퍼 영역(241)에 임시 저장하도록 구성될 수 있다. According to one embodiment, at least one
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 제1 버퍼 영역에 임시 저장된 상기 미러링 데이터를 상기 메모리에 할당된 제2 버퍼 영역에 상기 확장 미러링 데이터로 임시 저장하도록 구성될 수 있다.According to one embodiment, when the mirroring image is displayed in the first display area, at least one
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 제1 버퍼 영역에 임시 저장된 미러링 데이터로부터 새로운 확장 미러링 데이터를 획득하고, 상기 새로운 확장 미러링 데이터를 상기 메모리에 할당된 제2 버퍼 영역에 임시 저장하도록 구성될 수 있다.According to one embodiment, when the mirroring image is displayed in the first display area, at least one
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 제1 버퍼 영역에 임시 저장된 미러링 데이터에 포함된 원본 이미지 정보 또는 상기 원본 이미지 정보를 렌더링한 렌더링 이미지 정보를 상기 새로운 확장 미러링 데이터로 획득하도록 구성될 수 있다. According to one embodiment, at least one
일 실시예에 따른, 상기 미러링 데이터는, 링크 또는 좌표를 지시하는 메타 정보와 미러링할 이미지 정보를 포함할 수 있다.According to one embodiment, the mirroring data may include meta information indicating a link or coordinates and image information to be mirrored.
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 확장 미러링 이미지가 표시된 상태에서 상기 통신 모듈을 통해 상기 외부 전자 장치로부터 새로운 미러링 데이터를 수신하면, 상기 제 1 표시영역에 표시되고 있는 상기 미러링 이미지를 표시하기 위해 사용된 미러링 화면 정보에 의해 상기 확장 표시 영역에 표시될 확장 미러링 이미지를 재 구성하도록 상기 디스플레이 모듈을 제어하도록 구성될 수 있다.According to one embodiment, when the at least one
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 사용자 제스처에 따라 상기 제 1 표시영역에서 상하 방향 ((예: +y축 방향 또는 -y축 방향) 또는 좌우 방향(예: +x축 방향 또는 -x축 방향)으로 인접하여 상기 적어도 하나의 확장 표시 영역을 할당하도록 구성될 수 있다.According to one embodiment, at least one
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 사용자 제스처가 상기 적어도 하나의 확장 표시 영역에서 감지되면, 상기 적어도 하나의 확장 표시 영역에서 상기 사용자 제스처가 감지된 위치에 매핑된 입력 정보를 식별하고, 상기 통신 모듈을 제어하여 상기 식별한 입력 정보를 상기 외부 전자 장치로 전송하도록 구성될 수 있다.According to one embodiment, when the user gesture is detected in the at least one expanded display area, the at least one
일 실시예에 따른, 적어도 하나의 프로세서(220)가, 상기 센서 모듈에 의한 시선 추적을 통해 상기 표시창에 관심 영역을 설정하고, 상기 설정한 관심 영역에 상기 적어도 하나의 확장 표시 영역을 할당하도록 구성될 수 있다.According to one embodiment, at least one
일 실시예에 따른, 전자 장치(예: 도 1의 외부 디바이스(20))에서의 디스플레이 방법은, 미러링 데이터를 획득하는 동작; 상기 획득한 미러링 데이터를 사용하여 디스플레이에서 할당된 제 1 표시영역에 미러링 이미지를 표시하는 동작을 포함할 수 있다.According to one embodiment, a display method in an electronic device (e.g., the
일 실시예에 따른, 디스플레이 방법은, 상기 미러링 이미지를 표시하기 위하여 사용된 경험이 있는 이전 미러링 데이터로부터 확장 미러링 데이터를 획득하는 동작 및 사용자의 제스처에 따라 상기 디스플레이에서 상기 제 1 표시영역 외에 추가로 할당된 적어도 하나의 확장 표시 영역에 상기 확장 미러링 데이터를 사용하여 확장 미러링 이미지를 표시하는 동작을 포함할 수 있다.According to one embodiment, the display method includes an operation of acquiring extended mirroring data from previous mirroring data that has been used to display the mirrored image, and an additional display area in addition to the first display area on the display according to a user's gesture. The method may include displaying an extended mirroring image using the extended mirroring data in at least one allocated extended display area.
일 실시예에 따른, 상기 획득하는 동작은, 상기 외부 전자 장치로부터 상기 미러링 데이터를 수신하는 동작; 및 상기 수신한 미러링 데이터를 임시 저장하는 동작을 포함할 수 있다.According to one embodiment, the acquiring operation includes receiving the mirroring data from the external electronic device; and temporarily storing the received mirroring data.
일 실시예에 따른, 디스플레이 방법은, 상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 임시 저장된 미러링 데이터를 상기 확장 미러링 데이터로 임시 저장하는 동작을 포함할 수 있다.The display method according to one embodiment may include temporarily storing the temporarily stored mirroring data as the extended mirroring data when the mirroring image is displayed in the first display area.
일 실시예에 따른, 디스플레이 방법은, 상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 임시 저장된 미러링 데이터로부터 새로운 확장 미러링 데이터를 획득하는 동작; 및 상기 새로운 확장 미러링 데이터를 임시 저장하는 동작을 포함할 수 있다.According to one embodiment, a display method includes: acquiring new extended mirroring data from the temporarily stored mirroring data when the mirroring image is displayed in the first display area; and temporarily storing the new extended mirroring data.
일 실시예에 따른, 상기 새로운 확장 미러링 데이터를 획득하는 동작은, 상기 임시 저장된 미러링 데이터에 포함된 원본 이미지 정보 또는 상기 원본 이미지 정보를 렌더링한 렌더링 이미지 정보를 상기 새로운 확장 미러링 데이터로 획득하는 동작을 포함할 수 있다.According to one embodiment, the operation of acquiring the new extended mirroring data includes acquiring original image information included in the temporarily stored mirroring data or rendered image information obtained by rendering the original image information as the new extended mirroring data. It can be included.
일 실시예에 따른, 상기 미러링 데이터는, 링크 또는 좌표를 지시하는 메타 정보와 미러링할 이미지 정보를 포함할 수 있다.According to one embodiment, the mirroring data may include meta information indicating a link or coordinates and image information to be mirrored.
일 실시예에 따른, 디스플레이 방법은, 상기 확장 미러링 이미지가 표시된 상태에서 새로운 미러링 데이터를 획득하는 동작; 및 상기 제 1 표시영역에 표시되고 있는 상기 미러링 이미지를 표시하기 위해 사용된 미러링 화면 정보에 의해 상기 확장 표시 영역에 표시될 확장 미러링 이미지를 재 구성하는 동작을 포함할 수 있다.According to one embodiment, a display method includes: acquiring new mirroring data while the extended mirroring image is displayed; and an operation of reconstructing an extended mirroring image to be displayed in the extended display area based on mirroring screen information used to display the mirrored image displayed in the first display area.
일 실시예에 따른, 상기 확장 미러링 이미지를 표시하는 동작은, 상기 사용자 제스처에 따라 상기 제 1 표시영역에서 상하 방향 (예: +y축 방향 또는 -y축 방향) 또는 좌우 방향 (예: +x축 방향 또는 -x축 방향) 중에서 상기 적어도 하나의 확장 표시 영역을 할당할 방향을 결정하는 동작을 포함할 수 있다.According to one embodiment, the operation of displaying the extended mirroring image is performed in the vertical direction (e.g., +y-axis direction or -y-axis direction) or the left-right direction (e.g., +x) in the first display area according to the user gesture. It may include an operation of determining a direction in which to allocate the at least one extended display area (axis direction or -x-axis direction).
일 실시예에 따른, 디스플레이 방법은, 상기 사용자 제스처가 상기 적어도 하나의 확장 표시 영역에서 감지되면, 상기 적어도 하나의 확장 표시 영역에서 상기 사용자 제스처가 감지된 위치에 매핑된 입력 정보를 식별하는 동작; 및 상기 식별한 입력 정보를 외부 전자 장치로 전송하는 동작을 포함할 수 있다.According to one embodiment, a display method includes: when the user gesture is detected in the at least one extended display area, identifying input information mapped to a position in the at least one extended display area where the user gesture is detected; and transmitting the identified input information to an external electronic device.
일 실시예에 따른, 상기 확장 미러링 이미지를 표시하는 동작은, 사용자에 대한 시선 추적을 통해 상기 디스플레이에 관심 영역을 설정하는 동작; 및 상기 설정한 관심 영역에 상기 적어도 하나의 확장 표시 영역을 할당하는 동작을 포함할 수 있다.According to one embodiment, the operation of displaying the extended mirroring image includes: setting a region of interest on the display through eye tracking for a user; and allocating the at least one extended display area to the set region of interest.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.The various embodiments of this document and the terms used herein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various changes, equivalents, or replacements of the embodiments. In connection with the description of the drawings, similar reference numbers may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the above items, unless the relevant context clearly indicates otherwise. As used herein, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited. One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.” When mentioned, it means that any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
본 문서의 다양한 실시예들은 기기(machine)(예: 디지털 디바이스(120)에 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리(140))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(1840))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(120))의 프로세서(예: 제어부(123))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운용되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document are software (e.g., computer) including one or more instructions stored in a storage medium (e.g., memory 140) readable by a machine (e.g., digital device 120). It may be implemented as a program 1840. For example, a processor (e.g., control unit 123) of a device (e.g., electronic device 120) may execute at least one command among one or more commands stored from a storage medium. and execute it. This enables the device to be operated to perform at least one function according to the called at least one instruction. The one or more instructions are code generated by a compiler or by an interpreter. It may contain executable code. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium is tangible. It simply means that it is a device that does not contain signals (e.g. electromagnetic waves), and this term does not distinguish between cases where data is semi-permanently stored in a storage medium and cases where data is stored temporarily.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is. According to various embodiments, one or more of the components or operations described above may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (eg, modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.
Claims (20)
표시창(600)에 미러링 이미지를 표시하도록 구성된 디스플레이 모듈(210);
외부 디바이스(10)와 통신을 수행하도록 구성된 통신 모듈(250);
사용자의 제스처를 감지하고, 상기 감지된 사용자의 제스처에 대응한 센싱 신호를 생성하도록 구성된 센서 모듈(230);
하나 또는 복수의 버퍼 영역(241, 243)이 할당되도록 구성된 메모리(240); 및
상기 디스플레이 모듈(210), 상기 통신 모듈(250) 또는 상기 메모리(240)와 전기적으로 연결되고, 상기 디스플레이 모듈(210), 상기 통신 모듈(250) 또는 상기 메모리(240)의 동작을 제어하도록 구성된 적어도 하나의 프로세서(220)를 포함하며,
상기 적어도 하나의 프로세서(220)가,
상기 통신 모듈(250)를 통해 상기 외부 디바이스(10)로부터 미러링 데이터(31)를 수신하고,
상기 미러링 데이터(31)를 사용하여 상기 표시창(600)에서 할당된 제 1 표시영역(620)에 미러링 이미지(650)가 표시되도록 상기 디스플레이 모듈(210)를 제어하고,
상기 센서 모듈(230)에 의해 감지된 사용자 제스처(630)에 따라 상기 표시창(600)에서 상기 제 1 표시영역(620) 외에 추가로 할당된 적어도 하나의 확장 표시 영역(640)에 확장 미러링 데이터(731, 733, 735)를 사용하여 확장 미러링 이미지(660)가 표시되도록 상기 디스플레이 모듈(210)를 제어하도록 구성되며,
여기서, 상기 확장 미러링 데이터(731, 733, 735)는 상기 미러링 이미지(650)를 표시하기 위하여 사용된 경험이 있는 이전 미러링 데이터(731, 733, 735)로부터 획득된, 전자 장치.In the device 20,
a display module 210 configured to display a mirrored image on the display window 600;
a communication module 250 configured to communicate with an external device 10;
A sensor module 230 configured to detect a user's gesture and generate a sensing signal corresponding to the detected user's gesture;
A memory 240 configured to be allocated one or a plurality of buffer areas 241 and 243; and
Electrically connected to the display module 210, the communication module 250, or the memory 240, and configured to control the operation of the display module 210, the communication module 250, or the memory 240. Includes at least one processor 220,
The at least one processor 220,
Receiving mirroring data 31 from the external device 10 through the communication module 250,
Controlling the display module 210 to display a mirrored image 650 in the first display area 620 allocated in the display window 600 using the mirroring data 31,
According to the user gesture 630 detected by the sensor module 230, extended mirroring data ( Configured to control the display module 210 to display an extended mirroring image 660 using 731, 733, and 735,
Here, the extended mirroring data (731, 733, 735) is obtained from previous mirroring data (731, 733, 735) that has been used to display the mirrored image (650).
적어도 하나의 프로세서(220)가,
상기 외부 디바이스(10)로부터 수신한 상기 미러링 데이터를 제1 버퍼 영역(241)에 임시 저장하도록 구성된, 전자 장치.According to paragraph 1,
At least one processor 220,
An electronic device configured to temporarily store the mirroring data received from the external device (10) in a first buffer area (241).
적어도 하나의 프로세서(220)가,
상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 제1 버퍼 영역에 임시 저장된 상기 미러링 데이터를 상기 메모리에 할당된 제2 버퍼 영역에 상기 확장 미러링 데이터로 임시 저장하도록 구성된, 전자 장치.According to paragraph 2,
At least one processor 220,
When the mirroring image is displayed in the first display area, the electronic device is configured to temporarily store the mirroring data temporarily stored in the first buffer area as the extended mirroring data in a second buffer area allocated to the memory.
적어도 하나의 프로세서가,
상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 제1 버퍼 영역에 임시 저장된 미러링 데이터로부터 새로운 확장 미러링 데이터를 획득하고, 상기 새로운 확장 미러링 데이터를 상기 메모리에 할당된 제2 버퍼 영역에 임시 저장하도록 구성된, 전자 장치.According to paragraph 2,
At least one processor,
When the mirroring image is displayed in the first display area, new extended mirroring data is obtained from the mirroring data temporarily stored in the first buffer area, and the new extended mirroring data is temporarily stored in a second buffer area allocated to the memory. An electronic device configured to:
상기 적어도 하나의 프로세서가,
상기 제1 버퍼 영역에 임시 저장된 미러링 데이터에 포함된 원본 이미지 정보 또는 상기 원본 이미지 정보를 렌더링한 렌더링 이미지 정보를 상기 새로운 확장 미러링 데이터로 획득하도록 구성된, 전자 장치.According to paragraph 4,
The at least one processor,
An electronic device configured to obtain original image information included in mirroring data temporarily stored in the first buffer area or rendered image information obtained by rendering the original image information as the new extended mirroring data.
상기 미러링 데이터는, 링크 또는 좌표를 지시하는 메타 정보와 미러링할 이미지 정보를 포함하는, 전자 장치.According to paragraph 1,
The mirroring data includes meta information indicating a link or coordinates and image information to be mirrored.
상기 적어도 하나의 프로세서가,
상기 확장 미러링 이미지가 표시된 상태에서 상기 통신 모듈을 통해 상기 외부 전자 장치로부터 새로운 미러링 데이터를 수신하면, 상기 제 1 표시영역에 표시되고 있는 상기 미러링 이미지를 표시하기 위해 사용된 미러링 화면 정보에 의해 상기 확장 표시 영역에 표시될 확장 미러링 이미지를 재 구성하도록 상기 디스플레이 모듈을 제어하는, 전자 장치.According to paragraph 1,
The at least one processor,
When new mirroring data is received from the external electronic device through the communication module while the expanded mirroring image is displayed, the expansion is performed by the mirroring screen information used to display the mirrored image displayed in the first display area. An electronic device that controls the display module to reconfigure an extended mirroring image to be displayed in a display area.
상기 적어도 하나의 프로세서가,
상기 사용자 제스처에 따라 상기 제 1 표시영역에서 상하 또는 좌우 방향으로 인접하여 상기 적어도 하나의 확장 표시 영역을 할당하도록 구성된, 전자 장치.According to any one of claims 1 to 7,
The at least one processor,
An electronic device configured to allocate the at least one extended display area adjacent to the first display area in a vertical or left-right direction according to the user gesture.
상기 적어도 하나의 프로세서가,
상기 사용자 제스처가 상기 적어도 하나의 확장 표시 영역에서 감지되면, 상기 적어도 하나의 확장 표시 영역에서 상기 사용자 제스처가 감지된 위치에 매핑된 입력 정보를 식별하고, 상기 통신 모듈을 제어하여 상기 식별한 입력 정보를 상기 외부 전자 장치로 전송하도록 구성된, 전자 장치.According to any one of claims 1 to 7,
The at least one processor,
When the user gesture is detected in the at least one expanded display area, input information mapped to the position where the user gesture was detected in the at least one expanded display area is identified, and the communication module is controlled to display the identified input information. An electronic device configured to transmit to the external electronic device.
상기 적어도 하나의 프로세서가,
상기 센서 모듈에 의한 시선 추적을 통해 상기 표시창에 관심 영역을 설정하고, 상기 설정한 관심 영역에 상기 적어도 하나의 확장 표시 영역을 할당하도록 구성된, 전자 장치.According to clause 9,
The at least one processor,
An electronic device configured to set an area of interest in the display window through eye tracking by the sensor module, and allocate the at least one extended display area to the set area of interest.
미러링 데이터를 획득하는 동작 (1013);
상기 획득한 미러링 데이터를 사용하여 디스플레이에서 할당된 제 1 표시영역에 미러링 이미지를 표시하는 동작 (1015);
상기 미러링 이미지를 표시하기 위하여 사용된 경험이 있는 이전 미러링 데이터로부터 확장 미러링 데이터를 획득하는 동작 (1017, 1019); 및
사용자의 제스처에 따라 상기 디스플레이에서 상기 제 1 표시영역 외에 추가로 할당된 적어도 하나의 확장 표시 영역에 상기 확장 미러링 데이터를 사용하여 확장 미러링 이미지를 표시하는 동작 (1019)을 포함하는, 방법.In a display method in an electronic device,
An operation to acquire mirroring data (1013);
An operation of displaying a mirrored image on a first display area allocated on a display using the acquired mirroring data (1015);
Obtaining extended mirroring data from previous mirroring data that has been used to display the mirrored image (1017, 1019); and
A method including an operation (1019) of displaying an extended mirroring image using the extended mirroring data in at least one extended display area additionally allocated in addition to the first display area on the display according to a user's gesture.
상기 획득하는 동작은,
상기 외부 전자 장치로부터 상기 미러링 데이터를 수신하는 동작; 및
상기 수신한 미러링 데이터를 임시 저장하는 동작을 포함하는, 방법.According to clause 11,
The acquisition operation is,
Receiving the mirroring data from the external electronic device; and
A method comprising temporarily storing the received mirroring data.
상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 임시 저장된 미러링 데이터를 상기 확장 미러링 데이터로 임시 저장하는 동작을 포함하는, 방법.According to clause 12,
When the mirroring image is displayed in the first display area, the method includes temporarily storing the temporarily stored mirroring data as the extended mirroring data.
상기 제 1 표시영역에 상기 미러링 이미지가 표시되면, 상기 임시 저장된 미러링 데이터로부터 새로운 확장 미러링 데이터를 획득하는 동작; 및
상기 새로운 확장 미러링 데이터를 임시 저장하는 동작을 포함하는, 방법.According to clause 12,
When the mirroring image is displayed in the first display area, acquiring new extended mirroring data from the temporarily stored mirroring data; and
A method comprising temporarily storing the new extended mirroring data.
상기 새로운 확장 미러링 데이터를 획득하는 동작은,
상기 임시 저장된 미러링 데이터에 포함된 원본 이미지 정보 또는 상기 원본 이미지 정보를 렌더링한 렌더링 이미지 정보를 상기 새로운 확장 미러링 데이터로 획득하는 동작을 포함하는, 방법.According to clause 14,
The operation of acquiring new extended mirroring data is:
A method comprising acquiring original image information included in the temporarily stored mirroring data or rendered image information obtained by rendering the original image information as the new extended mirroring data.
상기 미러링 데이터는, 링크 또는 좌표를 지시하는 메타 정보와 미러링할 이미지 정보를 포함하는, 방법.According to clause 11,
The mirroring data includes meta information indicating a link or coordinates and image information to be mirrored.
상기 확장 미러링 이미지가 표시된 상태에서 새로운 미러링 데이터를 획득하는 동작; 및
상기 제 1 표시영역에 표시되고 있는 상기 미러링 이미지를 표시하기 위해 사용된 미러링 화면 정보에 의해 상기 확장 표시 영역에 표시될 확장 미러링 이미지를 재 구성하는 동작을 포함하는, 방법.According to clause 11,
Obtaining new mirroring data while the extended mirroring image is displayed; and
A method comprising reconstructing an extended mirroring image to be displayed in the extended display area using mirroring screen information used to display the mirrored image displayed in the first display area.
상기 확장 미러링 이미지를 표시하는 동작은,
상기 사용자 제스처에 따라 상기 제 1 표시영역에서 상하 또는 좌우 방향 중에서 상기 적어도 하나의 확장 표시 영역을 할당할 방향을 결정하는 동작을 포함하는, 방법.According to any one of claims 11 to 17,
The operation of displaying the extended mirroring image is,
A method comprising determining a direction in which to allocate the at least one extended display area in the first display area according to the user gesture: up and down or left and right.
상기 사용자 제스처가 상기 적어도 하나의 확장 표시 영역에서 감지되면, 상기 적어도 하나의 확장 표시 영역에서 상기 사용자 제스처가 감지된 위치에 매핑된 입력 정보를 식별하는 동작; 및
상기 식별한 입력 정보를 외부 전자 장치로 전송하는 동작을 포함하는, 방법.According to any one of claims 11 to 17,
When the user gesture is detected in the at least one expanded display area, identifying input information mapped to a position in the at least one expanded display area where the user gesture is detected; and
A method comprising transmitting the identified input information to an external electronic device.
상기 확장 미러링 이미지를 표시하는 동작은,
사용자에 대한 시선 추적을 통해 상기 디스플레이에 관심 영역을 설정하는 동작; 및
상기 설정한 관심 영역에 상기 적어도 하나의 확장 표시 영역을 할당하는 동작을 포함하는, 방법.According to clause 19,
The operation of displaying the extended mirroring image is,
An operation of setting a region of interest on the display through eye tracking of a user; and
A method comprising allocating the at least one extended display area to the set region of interest.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2023/009692 WO2024071606A1 (en) | 2022-09-26 | 2023-07-07 | Screen extension device in electronic device and operation method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220122018 | 2022-09-26 | ||
KR20220122018 | 2022-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240043034A true KR20240043034A (en) | 2024-04-02 |
Family
ID=90714928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220140931A KR20240043034A (en) | 2022-09-26 | 2022-10-28 | Apparatus for expanding screen in an electronic device and operating method therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240043034A (en) |
-
2022
- 2022-10-28 KR KR1020220140931A patent/KR20240043034A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015158748A (en) | Control apparatus, information processing apparatus, control method, information processing method, information processing system and wearable device | |
KR102256292B1 (en) | An electronic device for providing multiple windows using an expandable display | |
US11481965B2 (en) | Electronic device for communicating in augmented reality and method thereof | |
KR20220067336A (en) | Electronic device and method for controlling multi-window in the electronic device | |
CN110968248A (en) | Generating 3D models of fingertips for visual touch detection | |
KR20240043034A (en) | Apparatus for expanding screen in an electronic device and operating method therefor | |
KR20210155499A (en) | Electronic device and method for generating image in electronic device | |
KR20220053394A (en) | Electronic device and method for controlling display of a plurality of objects on wearable display device | |
KR20220016727A (en) | Method for capturing images for multi windows and electronic device therefor | |
KR101819517B1 (en) | Input device and method for controlling the same | |
EP4354880A1 (en) | Source device for sharing extended screen, sink device, and operating method thereof | |
US20230324955A1 (en) | Flexible electronic device and method for controlling display of application execution screen | |
WO2024071606A1 (en) | Screen extension device in electronic device and operation method thereof | |
US20240071021A1 (en) | Head-mounted electronic device for converting a screen of an electronic device into extended reality and electronic device connected thereto | |
EP4239624A1 (en) | Electronic device and electronic device operation method | |
US20220129139A1 (en) | Electronic device and method for controlling display of a plurality of objects on wearable display device | |
KR20240017720A (en) | Methods and devices for outputting drawing data using input device | |
KR20240055586A (en) | Electronic device and method for synchronizing display | |
KR20240039549A (en) | Electronic device and method for excluding broken area of display | |
KR20240041187A (en) | Electronic device and method for controlling touch input | |
KR20240021659A (en) | Apparatus and method for sharing display | |
KR20240029482A (en) | A head mounted electronic device that converts a screen of electronic device into extended reality and an electronic device connected thereto | |
KR20230046829A (en) | Electronic device and method for controlling screen according to drag signal of graphic affordance object | |
KR20230055331A (en) | Source device, and sink device sharing extended screen, and operation method thereof | |
KR20220121574A (en) | Electronic device providing ar/vr environment and operating method thereof |