KR20220056645A - 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치 - Google Patents

가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치 Download PDF

Info

Publication number
KR20220056645A
KR20220056645A KR1020200141410A KR20200141410A KR20220056645A KR 20220056645 A KR20220056645 A KR 20220056645A KR 1020200141410 A KR1020200141410 A KR 1020200141410A KR 20200141410 A KR20200141410 A KR 20200141410A KR 20220056645 A KR20220056645 A KR 20220056645A
Authority
KR
South Korea
Prior art keywords
screen
windows
virtual
screen capture
computing device
Prior art date
Application number
KR1020200141410A
Other languages
English (en)
Inventor
이희욱
김승진
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020200141410A priority Critical patent/KR20220056645A/ko
Publication of KR20220056645A publication Critical patent/KR20220056645A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4854End-user interface for client configuration for modifying image parameters, e.g. image brightness, contrast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8458Structuring of content, e.g. decomposing content into time segments involving uncompressed content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계, 상기 각각의 화면 캡쳐 영상을 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 매핑(mapping)하는 단계, 상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계, 및 상기 결정된 윈도우 각각의 화면 표시 속성에 기초하여 상기 복수의 화면 캡쳐 영상을 상기 가상 멀티 스크린에 표시하는 단계를 포함한다.

Description

가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치{METHOD FOR CONTROLLING VIRTUAL MULTI SCREEN, METHOD FOR SENDING AND RECEIVING VIRTUAL ENVIRONMENT, AND APPARATUS IMPLEMENTING THE SAME METHOD}
본 발명은 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는, 가상 컴퓨팅 환경을 제공하기 위한 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다.
가상 컴퓨팅을 이용한 업무 환경에 있어, VDI(virtual desktop infrastructure)와 같은 가상 데스크톱에 접근하여 하나의 스크린으로 원격 업무를 수행하는 것이 가능하다.
그러나, 사용자가 가상 데스크톱에 접근하기 위해서는 실제 데스크톱 환경이 요구되는 것이 대부분이고, 실제 데스크톱의 환경 구성에 따라 가상 데스크톱의 스크린을 디스플레이 하는 성능에 영향을 주는 문제점이 있다. 예로서, 실제로 업무 환경의 스크린 해상도가 낮을 경우 가상 데스크톱의 스크린 전체를 보여줄 수 없다. 또한, 실제 업무 환경의 스크린 해상도가 높더라도 가상 데스크톱의 스크린 해상도에 맞추어 표시되므로 디스플레이 성능이 떨어지게 된다.
또한, 기존의 가상 컴퓨팅 환경에서는 사용자가 하나의 원격 환경에만 접속하여 이용해야 하는 제약이 존재한다.
이에, 가상 컴퓨팅 환경에 있어, 사용자가 원격으로 여러 대의 가상 데스크톱을 동시에 통제하고 사용할 수 있는 효율적인 업무 환경이 요구되어 진다.
또한, 가상 데스크톱의 스크린 해상도에 따른 제약 없이 디스플레이 할 수 있는 환경이 요구된다.
등록특허공보 제10-1761409호(2017.07.19. 등록)
본 발명이 해결하고자 하는 기술적 과제는, 가상 멀티 스크린을 통해 복수의 가상 데스크톱 환경을 제공할 수 있는 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, AR(Augmented Reality) 또는 VR(Virtual Reality) 환경을 이용하여 여러 대의 가상 데스크톱 또는 어플리케이션의 작업을 수행할 수 있는 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, AR 또는 VR 기기를 이용하여 복수의 가상 데스크톱 또는 어플리케이션의 화면을 표시함에 있어, 네트워크 대역폭 또는 사용중인 장치의 성능으로 인해 화면 렌더링에 성능 부하가 발생되는 점을 해결할 수 있는 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 여러 대의 가상 데스크톱 또는 어플리케이션의 화면을 다른 사용자의 단말과 공유할 수 있는 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계, 상기 각각의 화면 캡쳐 영상을 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 매핑(mapping)하는 단계, 상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계, 및 상기 결정된 윈도우 각각의 화면 표시 속성에 기초하여 상기 복수의 화면 캡쳐 영상을 상기 가상 멀티 스크린에 표시하는 단계를 포함한다.
일 실시예로서, 상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각은, VDI(Virtual Desktop Infrastructure), VMI(Virtual Mobile Infrastructure), 상기 VDI 또는 상기 VMI에서 실행되는 어플리케이션 중 어느 하나일 수 있다.
일 실시예로서, 상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계는, 상기 가상 멀티 스크린에 표시될 상기 복수의 오브젝트 각각의 화면 캡쳐 영상을 중계 서버를 통해 상기 가상 컴퓨팅 장치로 요청하는 단계, 및 상기 요청에 응답하여 상기 가상 컴퓨팅 장치로부터 제공되는 상기 복수의 화면 캡쳐 영상을 상기 중계 서버를 통해 스트리밍(streaming) 방식으로 수신하는 단계를 포함할 수 있다.
일 실시예로서, 상기 각각의 화면 캡쳐 영상을 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 매핑하는 단계는, 상기 수신된 화면 캡쳐 영상 각각에 식별정보를 부여하는 단계, 및 상기 식별정보가 부여된 각각의 화면 캡쳐 영상을 상기 복수의 윈도우 각각에 매핑하는 단계를 포함할 수 있다.
일 실시예로서, 상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계는, 상기 복수의 윈도우 각각의 활성화 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 윈도우 각각의 활성화 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는, 상기 복수의 윈도우 중 활성화되지 않은 윈도우의FPS를 기준치 미만으로 낮추는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 윈도우 각각의 활성화 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는, 상기 복수의 윈도우 중 활성화되지 않은 윈도우에 표시되는 화면 캡쳐 영상이 동영상인 경우, 샘플링 기법을 이용하여 상기 윈도우의 변화량을 측정하는 단계, 및 상기 측정된 윈도우의 변화량이 임계치 이상인 경우, 상기 윈도우의 FPS를 기준치 이상으로 높이는 단계를 포함할 수 있다.
일 실시예로서, 상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계는, 상기 복수의 윈도우 각각이 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 윈도우 각각이 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는, 상기 복수의 윈도우 중 사용자의 시선 범위에 속하는 윈도우의 FPS를 기준치 이상으로 높이는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 윈도우 각각이 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는, 상기 복수의 윈도우 중 사용자의 시선 범위에서 일정 거리 또는 일정 각도 이상 벗어나는 윈도우의 해상도를 기준치 미만으로 낮추는 단계를 포함할 수 있다.
일 실시예로서, 상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계는, 상기 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상의 타입에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계를 포함할 수 있다.
일 실시예로서, 상기 결정된 윈도우 각각의 화면 표시 속성에 기초하여 상기 복수의 화면 캡쳐 영상을 상기 가상 멀티 스크린에 표시하는 단계는, 상기 복수의 화면 캡쳐 영상 각각을 가상 오브젝트로 생성하여 상기 결정된 화면 표시 속성을 가지는 각각의 윈도우에 배치시키는 단계를 포함할 수 있다.
일 실시예로서, 상기 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상 중 어느 하나에 대한 입력 이벤트가 발생되면, 상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 중 상기 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보에 대응하는 오브젝트로 상기 입력 이벤트에 관한 정보를 전송하는 단계, 및 상기 전송된 입력 이벤트에 관한 정보에 기초하여 상기 입력 이벤트가 발생된 화면 캡쳐 영상에 대응하는 상기 가상 컴퓨팅 장치의 오브젝트를 제어하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 중 상기 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보에 대응하는 오브젝트로 상기 입력 이벤트에 관한 정보를 전송하는 단계는, 상기 화면 캡쳐 영상에서 상기 입력 이벤트가 발생된 좌표값 및 상기 입력 이벤트의 종류에 관한 정보를 상기 오브젝트로 전송하는 단계를 포함하고, 상기 전송된 입력 이벤트에 관한 정보에 기초하여 상기 입력 이벤트가 발생된 화면 캡쳐 영상에 대응하는 상기 가상 컴퓨팅 장치의 오브젝트를 제어하는 단계는, 상기 전송된 좌표값 및 상기 입력 이벤트의 종류에 관한 정보에 기초하여 상기 오브젝트를 제어하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에 의해 수행되는 방법은, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계, 상기 수신된 각각의 화면 캡쳐 영상을 사용자 단말로 전송하여, 상기 사용자 단말에서 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 표시되도록 하는 단계, 및 상기 사용자 단말로부터 수신되는 각각의 화면 캡쳐 영상에 대한 제어 신호를 상기 가상 컴퓨팅 장치의 복수의 오브젝트 각각으로 전송하는 단계를 포함한다.
일 실시예로서, 상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계는, 상기 사용자 단말에 의해 요청된 상기 복수의 오브젝트 각각의 화면 캡쳐 영상을 상기 가상 컴퓨팅 장치로 요청하는 단계, 및 상기 요청에 응답하여 상기 가상 컴퓨팅 장치로부터 수신되는 상기 복수의 화면 캡쳐 영상 각각에 식별정보를 부여하는 단계를 포함하고, 상기 수신된 각각의 화면 캡쳐 영상을 사용자 단말로 전송하여, 상기 사용자 단말에서 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 표시되도록 하는 단계는, 상기 식별정보가 부여된 각각의 화면 캡쳐 영상을 상기 사용자 단말의 상기 복수의 윈도우 각각에 매핑되도록 스트리밍(streaming) 방식으로 전송하는 단계를 포함할 수 있다.
일 실시예로서, 상기 사용자 단말로부터 수신되는 각각의 화면 캡쳐 영상에 대한 제어 신호를 상기 가상 컴퓨팅 장치의 복수의 오브젝트 각각으로 전송하는 단계는, 상기 사용자 단말에서 상기 가상 멀티 스크린의 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상 중 어느 하나에 대한 입력 이벤트가 발생되면, 상기 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보 및 상기 입력 이벤트에 관한 정보를 상기 사용자 단말로부터 수신하는 단계, 및 상기 수신된 화면 캡쳐 영상의 식별정보 및 상기 입력 이벤트에 관한 정보를 상기 가상 컴퓨팅 장치의 해당 오브젝트로 전송하는 단계를 포함할 수 있다.
일 실시예로서, 상기 수신된 각각의 화면 캡쳐 영상을 사용자 단말로 전송하여, 상기 사용자 단말에서 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 표시되도록 하는 단계는, 상기 수신된 각각의 화면 캡쳐 영상을 상기 사용자 단말 이외의 복수의 단말로 전송하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 사용자 단말에서 실시간으로 수집되는 음성신호의 데이터를 수신하는 단계, 및 상기 수신된 음성신호의 데이터를 상기 복수의 단말로 전송하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 가상 멀티 스크린 표시 장치는, 하나 이상의 프로세서, 외부장치와 통신하는 통신 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 동작, 상기 각각의 화면 캡쳐 영상을 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 매핑(mapping)하는 동작, 상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 동작, 및 상기 결정된 윈도우 각각의 화면 표시 속성에 기초하여 상기 복수의 화면 캡쳐 영상을 상기 가상 멀티 스크린에 표시하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함한다.
도 1은 본 발명의 실시예에 따른 가상 컴퓨팅 환경의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 가상 컴퓨팅 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 가상 멀티 스크린 표시 장치의 구성을 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 중계 서버의 구성을 도시한 블록도이다.
도 5 내지 도 7은 본 발명의 다른 실시예에 따른 가상 멀티 스크린 표시 방법을 설명하기 위한 순서도이다.
도 8 내지 도 10은 본 발명의 또 다른 실시예에 따른 가상 환경의 송수신 방법을 설명하기 위한 순서도이다.
도 11 내지 도 13은 본 발명의 몇몇 실시예에 따른 가상 멀티 스크린을 구성하는 윈도우 각각의 화면 표시 속성을 설정하는 예이다.
도 14는 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 가상 컴퓨팅 환경의 구성도이다. 도 1을 참조하면, 본 발명의 실시예에 따라 가상 컴퓨팅 환경은 가상 컴퓨팅 장치(30), 중계 서버(20), 및 가상 멀티 스크린 표시 장치(1)로 구성된다.
가상 컴퓨팅 장치(30)는 VDI(virtual desktop infrastructure)(31, 32, ??, 33)와 같은 가상 데스크톱 또는 VDI(31, 32, ??, 33)에 의해 실행되는 어플리케이션(310, 320, ??, 330) 등이 실행될 수 있는 환경을 제공하는 장치로, 서버 장치로 구현될 수 있다. 이 때, 가상 컴퓨팅 장치(30)는 VDI 뿐만 아니라 VMI(virtual mobile infrastructure)와 같은 가상 모바일의 실행 환경을 제공할 수 있다.
중계 서버(20)는 가상 컴퓨팅 장치(30)와 가상 멀티 스크린 표시 장치(1) 간 데이터를 송수신하는 장치로, 가상 컴퓨팅 장치(30)에서 실행되는 여러 개의 VDI(31, 32, ??, 33) 또는 어플리케이션(310, 320, ??, 330) 각각의 화면 캡쳐 영상을 수신하여 가상 멀티 스크린 표시 장치(1)로 전달한다. 또한, 중계 서버(20)는 가상 멀티 스크린 표시 장치(1)의 가상 멀티 스크린(10)의 복수의 윈도우(11, 12, ??, 13) 각각에 표시되는 화면 캡쳐 영상에 대한 입력 이벤트가 발생되면, 입력 이벤트에 관한 정보를 수신하여 가상 컴퓨팅 장치(30)로 전송함에 의해, 입력 이벤트가 발생된 화면 캡쳐 영상에 대응하는 VDI 또는 어플리케이션 이 제어되도록 할 수 있다.
가상 멀티 스크린 표시 장치(1)는 예컨대, AR 글라스(AR glass), HMD(head mounted display), 스마트 폰, 태블릿, 노트북, 및 PC 등과 같은 사용자 단말로 구현되거나, 사용자 단말과 네트워크로 연결된 AR 또는 VR 기기로 구현될 수 있다. 가상 멀티 스크린 표시 장치(1)는 가상 컴퓨팅 장치(30)로부터 중계 서버(20)를 통해 수신되는 여러 개의 VDI(31, 32, ??, 33) 또는 어플리케이션(310, 320, ??, 330)의 화면 캡쳐 영상을 수신하고, 이를 가상 멀티 스크린(10)을 구성하는 복수의 윈도우(11, 12, ??, 13) 각각에 매핑하여 표시한다. 이 때, 각각의 화면 캡쳐 영상을 표시하기 위해 복수의 윈도우(11, 12, ??, 13) 각각에 대한 화면 표시 속성(FPS 또는 해상도)을 설정할 수 있다.
상기와 같이 본 발명의 실시예에 따른 가상 컴퓨팅 환경의 구성에 의해, 가상 멀티 스크린을 통해 복수의 가상 데스크톱 또는 어플리케이션의 실행 환경을 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 가상 컴퓨팅 장치의 구성을 도시한 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 가상 컴퓨팅 장치(30)는 통신 모듈(341), 화면 캡쳐 모듈(343), 화면 전송 모듈(342), 및 이벤트 전송 모듈(344)을 포함하는 송신 클라이언트(34)와, 복수의 가상 데스크톱(VDI)(31, 32, 33), 복수의 가상 데스크톱(31, 32, 33)에서 실행되는 복수의 어플리케이션(310, 311, 320), 및 화면 캡쳐 에이전트(315, 325, 335)를 포함한다. 여기서, 가상 컴퓨팅 장치(30)는 복수의 가상 데스크톱(VDI)(31, 32, 33)의 구성 대신 복수의 VMI(virtual mobile infrastructure)의 구성을 포함할 수도 있다.
화면 캡쳐 모듈(343)은 복수의 가상 데스크톱(VDI)(31, 32, 33) 또는 복수의 가상 데스크톱(31, 32, 33)에서 실행되는 복수의 어플리케이션(310, 311, 320) 각각의 화면 캡쳐 영상을 화면 캡쳐 에이전트(315, 325, 335)로부터 수신한다. 이 때, 각각의 화면 캡쳐 에이전트(315, 325, 335)는 가상 데스크톱(VDI)(31, 32, 33) 또는 가상 데스크톱(VDI)(31, 32, 33)에서 실행되는 복수의 어플리케이션(310, 311, 320) 각각의 화면을 캡쳐하고, 캡쳐된 화면 캡쳐 영상을 화면 캡쳐 모듈(343)로 전달할 수 있다.
화면 전송 모듈(342)은 화면 캡쳐 모듈(343)로부터 복수의 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320) 각각의 화면 캡쳐 영상을 수신하고, 이를 통신 모듈(341)로 제공하여 중계 서버(20)로 전송되도록 한다.
이벤트 전송 모듈(344)은 가상 멀티 스크린 표시 장치(1)로부터 중계 서버(20)를 통해 수신되는 입력 이벤트에 관한 정보를 통신 모듈(341)을 통해 전달받는다. 이 때, 입력 이벤트에 관한 정보는, 입력 이벤트가 발생한 화면 캡쳐 영상의 식별정보, 입력 이벤트가 발생된 위치의 좌표값, 및 입력 이벤트의 종류에 관한 정보 등을 포함할 수 있다.
이벤트 전송 모듈(344)은 입력 이벤트에 관한 정보를 입력 이벤트가 발생한 화면 캡쳐 영상에 대응하는 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320)으로 실시간 전송하여 가상 멀티 스크린 표시 장치(1)를 사용하는 원격 사용자의 의도에 맞게 제어되도록 한다.
상기와 같이 본 발명의 실시예에 따른 가상 컴퓨팅 장치(30)의 구성에 의해, 원격으로 복수의 가상 데스크톱 또는 어플리케이션의 실행 환경을 제공할 수 있다.
도 3은 본 발명의 일 실시예에 따른 가상 멀티 스크린 표시 장치의 구성을 도시한 블록도이다. 도 3을 참조하면, 본 발명의 실시예에 따른 가상 멀티 스크린 표시 장치(1)는 통신 모듈(141), FPS/해상도 제어 모듈(143), 화면 렌더링 모듈(142), 및 입력 이벤트 전송 모듈(144)을 포함하는 수신 클라이언트(14)와, 입력 장치(15)를 포함한다. 입력 장치(15)는 가상 멀티 스크린(10)의 각각의 윈도우(11, 12, ??, 13)에 대한 입력 이벤트를 발생시키는 장치로서, 예컨대 키보드, 마우스, 컨트롤러, 모션 센서, 가속도 센서, 및 음성 인식 센서 등을 포함할 수 있다.
통신 모듈(141)은 가상 컴퓨팅 장치(30)로부터 중계 서버(2)를 통해 복수의 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320) 각각의 화면 캡쳐 영상을 수신한다.
FPS/해상도 제어 모듈(143)은 통신 모듈(141)을 통해 수신된 각각의 화면 캡쳐 영상을 가상 멀티 스크린(10)의 각각의 윈도우(11, 12, ??, 13)에 표시하기에 앞서, 각각의 윈도우(11, 12, ??, 13)의 화면 표시 속성(FPS/해상도)을 설정한다.
일 실시예로서, FPS/해상도 제어 모듈(143)은 각각의 윈도우(11, 12, ??, 13)가 활성화된(active) 상태인지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절할 수 있다. 예로서, 가상 멀티 스크린(10)의 복수의 윈도우 (11, 12, ??, 13) 중 하나의 윈도우 만이 포커스(focus) 또는 입력이 가능한 활성화 상태가 될 수 있고, 이 경우 비활성화(non-active) 상태인 윈도우의 FPS를 기 설정된 기준치 미만으로 낮추는 방식으로 FPS를 변경할 수 있다. 이와 같은 방법으로, 비활성화 상태인 윈도우에 의해 소모되는 자원을 줄일 수 있는 장점이 있다.
다른 예로서, 비활성화 상태인 윈도우에 표시되는 화면 캡쳐 영상이 동영상인 경우, 샘플링 기법을 이용하여 윈도우의 변화량을 측정하고, 측정된 윈도우의 변화량이 임계치 이상인 경우, 윈도우의 FPS를 기준치 이상으로 높일 수 있다.
일 실시예로서, FPS/해상도 제어 모듈(143)은 각각의 윈도우(11, 12, ??, 13)가 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS 및 해상도 중 적어도 하나를 조절할 수 있다. 예로서, 복수의 윈도우 (11, 12, ??, 13) 중 사용자의 시선 방향에 대응하는 윈도우의 FPS를 기 설정된 기준치 이상으로 높이거나, 사용자의 시선 방향에 대응하지 않는 윈도우의 FPS 또는 해상도를 기 설정된 기준치 미만으로 낮출 수 있다. 이와 같은 방법으로, 사용자의 시선 범위에서 벗어나 있는 윈도우에 의해 소모되는 자원을 줄일 수 있다.
일 실시예로서, FPS/해상도 제어 모듈(143)은 각각의 윈도우(11, 12, ??, 13)에 표시되는 화면 캡쳐 영상의 타입이 예컨대 어플리케이션, 동영상, 또는 스틸 영상인지 여부에 따라 FPS 또는 해상도를 서로 다르게 설정할 수도 있다. 예로서, 동영상이 표시되는 윈도우의 FPS는 높이고, 스틸 영상이 표시되는 윈도우의 FPS는 낮출 수 있다.
화면 렌더링 모듈(142)은 FPS/해상도 제어 모듈(143)에서 설정된 윈도우(11, 12, ??, 13) 각각의 FPS/해상도에 기반하여, 통신 모듈(141)에서 수신된 복수의 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320) 각각의 화면 캡쳐 영상을 각각의 윈도우(11, 12, ??, 13)에 표시한다. 이 때, 화면 렌더링 모듈(142)은 각각의 화면 캡쳐 영상에 대해 식별정보를 부여하거나 중계 서버(20)로부터 식별정보를 제공받고, 식별정보에 기반하여 각각의 화면 캡쳐 영상을 각각의 윈도우(11, 12, ??, 13)에 매핑하여 표시할 수 있다.
입력 이벤트 전송 모듈(144)은 각각의 윈도우(11, 12, ??, 13)에 표시되는 화면 캡쳐 영상에 대한 입력 이벤트가 발생되면, 윈도우(11, 12, ??, 13) 및 입력 장치(15)로부터 입력 이벤트에 관한 정보를 수신하고, 이를 통신 모듈(141)을 통해 중계 서버(20)로 전송한다. 입력 이벤트에 관한 정보는, 입력 이벤트가 발생한 화면 캡쳐 영상의 식별정보, 입력 이벤트가 발생된 위치의 좌표값, 및 입력 이벤트의 종류에 관한 정보 등을 포함할 수 있다.
상기와 같이 본 발명의 실시예에 따른 가상 멀티 스크린 표시 장치(1)의 구성에 의해, AR 또는 VR 환경을 이용하여 여러 대의 가상 데스크톱 또는 어플리케이션의 작업을 제어할 수 있다. 또한, AR 또는 VR 기기를 이용하여 복수의 가상 데스크톱 또는 어플리케이션의 화면을 표시함에 있어, 네트워크 대역폭 또는 사용중인 장치의 성능으로 인해 화면 렌더링에 성능 부하가 발생되는 점을 해결할 수 있다.
도 4는 본 발명의 일 실시예에 따른 중계 서버의 구성을 도시한 블록도이다. 도 4를 참조하면, 본 발명의 실시예에 따른 중계 서버(20)는 수신 모듈(21), 송신 모듈(22), 윈도우 매핑 모듈(24), 화면 전송 모듈(23), 입력 이벤트 전송 모듈(26), 및 VDI 매핑 모듈(25)을 포함한다.
수신 모듈(21)은 가상 컴퓨팅 장치(30)로부터 수신되는 복수의 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320) 각각의 화면 캡쳐 영상을 수신하고, 이를 윈도우 매핑 모듈(24)로 전달한다. 이 때, 수신 모듈(21)은 가상 컴퓨팅 장치(30)로부터 수신되는 복수의 VMI(virtual mobile infrastructure) 또는 VMI 각각에서 실행되는 어플리케이션 각각의 화면 캡쳐 영상을 수신하여 윈도우 매핑 모듈(24)로 전달할 수도 있다.
윈도우 매핑 모듈(24)은 각각의 화면 캡쳐 영상이 가상 멀티 스크린(10)의 윈도우(11, 12, ??, 13) 각각에 매핑되도록 각각의 화면 캡쳐 영상에 식별정보를 부여하여, 화면 전송 모듈(23)로 전송한다.
화면 전송 모듈(23)은 윈도우 매핑 모듈(24)로부터 수신된 각각의 화면 캡쳐 영상과 식별정보를 가상 멀티 스크린 표시 장치(1)로 전송한다. 이 때, 화면 전송 모듈(23)은 하나의 장치가 아닌 복수의 가상 멀티 스크린 표시 장치(1, 2, ??, 3)로 화면 캡쳐 영상과 식별정보를 전송할 수도 있다. 이에 따라, 복수의 가상 데스크톱 및 어플리케이션의 실행 화면을 여러 사용자에게 공유할 수 있다.
입력 이벤트 전송 모듈(26)은 가상 멀티 스크린 표시 장치(1)의 윈도우(11, 12, ??, 13)에 표시되는 각각의 화면 캡쳐 영상에서 발생되는 입력 이벤트에 관한 정보를 수신하여, VDI 매핑 모듈(25)로 전달한다. 입력 이벤트에 관한 정보는, 입력 이벤트가 발생한 화면 캡쳐 영상의 식별정보, 입력 이벤트가 발생된 위치의 좌표값, 및 입력 이벤트의 종류에 관한 정보 등을 포함할 수 있다. 이 때, 입력 이벤트 전송 모듈(26)은 하나의 장치가 아닌 복수의 가상 멀티 스크린 표시 장치(1, 2, ??, 3)로부터 입력 이벤트에 관한 정보를 수신할 수도 있다. 이에 따라, 복수의 가상 데스크톱 및 어플리케이션의 실행 화면을 여러 사용자가 제어할 수 있다.
VDI 매핑 모듈(25)은 각각의 윈도우(11, 12, ??, 13)에 표시되는 화면 캡쳐 영상에서 발생한 입력 이벤트가 대응하는 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320)에 매핑되도록, 대응하는 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320)에 관한 정보 및 입력 이벤트에 관한 정보를 송신 모듈(22)로 전달한다.
상기와 같이 본 발명의 실시예에 따른 중계 서버(20)의 구성에 의해, 여러 대의 가상 데스크톱 또는 어플리케이션의 실행 화면을 사용자가 공유 및 제어할 수 있도록 한다.
도 5 내지 도 7은 본 발명의 다른 실시예에 따른 가상 멀티 스크린 표시 방법을 설명하기 위한 순서도이다.
본 발명의 실시예에 따른 가상 멀티 스크린 표시 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 가상 멀티 스크린 표시 장치(1)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 발명의 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.
도 5를 참조하면, 먼저, 동작 S51에서, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상이 수신된다. 여기서, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각은, VDI(Virtual Desktop Infrastructure), VMI(Virtual Mobile Infrastructure), 및 VDI 와 VMI에서 실행되는 어플리케이션 중 어느 하나일 수 있다
일 실시예로서, 동작 S51은, 가상 멀티 스크린(10)에 표시될 복수의 오브젝트 각각의 화면 캡쳐 영상을 중계 서버를 통해 가상 컴퓨팅 장치(30)로 요청하는 동작, 및 요청에 응답하여 가상 컴퓨팅 장치(30)로부터 제공되는 복수의 화면 캡쳐 영상이 중계 서버(20)를 통해 스트리밍(streaming) 방식으로 수신되는 동작을 포함할 수 있다.
다음으로, 동작 S52에서, 각각의 화면 캡쳐 영상이 가상 멀티 스크린(10)을 구성하는 복수의 윈도우(11, 12, ??, 13) 각각에 매핑(mapping)된다. 일 실시예로서, 각각의 화면 캡쳐 영상이 복수의 윈도우(11, 12, ??, 13) 중 어느 윈도우에 매핑될 지는 사용자에 의해 설정될 수 있다. 다른 실시예로서, 각각의 화면 캡쳐 영상이 중계 서버(20)로부터 스트리밍 되는 순서에 따라 복수의 윈도우(11, 12, ??, 13)의 좌측에서 우측으로 차례로 매핑되도록 할 수도 있다.
도 6을 참조하면, 동작 S52는, 수신된 화면 캡쳐 영상 각각에 식별정보가 부여되는 동작 S521, 및 식별정보가 부여된 각각의 화면 캡쳐 영상이 복수의 윈도우(11, 12, ??, 13) 각각에 매핑되는 동작 S522를 포함할 수 있다. 이 때, 각각의 화면 캡쳐 영상에 부여되는 식별정보는, 가상 컴퓨팅 장치(30)에서 실행되는 복수의 오브젝트, 즉 가상 데스크톱(VDI)(31, 32, 33) 또는 어플리케이션(310, 311, 320) 중 어느 오브젝트에 대응하는 화면 캡쳐 영상인지를 식별하기 위한 아이디(ID)일 수 있다.
여기서, 각각의 화면 캡쳐 영상에 부여되는 식별정보는, 각각의 화면 캡쳐 영상을 수신하는 가상 멀티 스크린 표시 장치(1)에 의해 부여되는 것으로 설명되었으나, 화면 캡쳐 영상을 생성하는 가상 컴퓨팅 장치(30), 또는 화면 캡쳐 영상을 전달해 주는 중계 서버(20)에 의해 부여될 수 있다.
동작 S522에 있어, 식별정보가 부여된 각각의 화면 캡쳐 영상은 복수의 윈도우(11, 12, ??, 13)에 일대일로 매핑되어 표시될 수 있다. 도 1의 예와 같이, 제1윈도우(11)에는 가상 컴퓨팅 장치(30)의 1번 VDI(31)에 의해 실행되고 있는 제1어플리케이션(310)의 화면 캡쳐 영상이 매핑되어 표시되고, 제2윈도우(12)에는 가상 컴퓨팅 장치(30)의 2번 VDI(32)의 화면 캡쳐 영상이 매핑되어 표시될 수 있다.
다음으로, 동작 S53에서, 매핑된 각각의 윈도우에 각각의 화면 캡쳐 영상을 표시하기 위해 윈도우 각각의 화면 표시 속성이 결정된다.
일 실시예로서, 동작 S53은, 복수의 윈도우 각각의 활성화 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나가 조절되는 동작을 포함할 수 있다. 예로서, 가상 멀티 스크린(10)의 복수의 윈도우 (11, 12, ??, 13) 중 하나의 윈도우 만이 포커스(focus) 또는 입력이 가능한 활성화(active) 상태가 될 수 있고, 이 경우 활성화 상태인 윈도우의 FPS는 고정시키고, 비활성화(non-active) 상태인 윈도우의 FPS를 기 설정된 기준치 미만으로 낮추는 방식으로 FPS를 변경할 수 있다. 이와 같은 방법으로, 비활성화 상태인 윈도우에 의해 소모되는 자원을 줄일 수 있다.
다른 예로서, 복수의 윈도우 (11, 12, ??, 13) 중 활성화 상태인 윈도우의 FPS 또는 해상도를 기준치 이상으로 높이고, 비활성화 상태인 윈도우의 FPS 또는 해상도를 기준치보다 현격하게 낮추는 방식으로 화면 표시 속성을 조절할 수 있다. 이와 같은 방법에 의해 화면의 렌더링 시 성능 부하가 발생하는 문제를 해결할 수 있다.
일 실시예로서, 동작 S53은, 복수의 윈도우 중 활성화되지 않은 윈도우에 표시되는 화면 캡쳐 영상이 동영상인 경우, 샘플링 기법을 이용하여 윈도우의 변화량이 측정되는 동작, 및 측정된 윈도우의 변화량이 임계치 이상인 경우, 윈도우의 FPS를 기준치 이상으로 높이는 동작을 포함할 수 있다. 예로서, 가상 멀티 스크린(10)의 복수의 윈도우 (11, 12, ??, 13) 중 하나의 윈도우에 동영상이 표시되고 있는 경우, 동영상은 시간 경과에 따라 재생되는 화면이 변화하는 특성을 가지고 있으므로 이러한 화면의 변화를 사용자가 인지할 수 있도록 해당 윈도우의 FPS를 높일 수 있다.
일 실시예로서, 동작 S53은, 복수의 윈도우 각각이 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나가 조절되는 동작을 포함할 수 있다. 예로서, 가상 멀티 스크린(10)의 복수의 윈도우 (11, 12, ??, 13) 중 사용자의 시선 범위에 속하는 윈도우를 활성화하고, 활성화된 윈도우의 FPS를 기준치 이상으로 높일 수 있다. 여기서, 사용자의 시선 범위는 가상 멀티 스크린(10)에서 사용자의 시선이 향하고 있는 화면 상의 좌표를 기준으로 일정 거리 내에 속한 화면의 영역을 포함할 수 있다. 이 때, 사용자의 시선에 관한 정보는, 사용자의 눈 주위에 부착되는 센서 또는 장치 내에 설치되는 이미지 센서를 이용하여 지속적인 응시나 깜박임과 같은 특정 눈 동작을 감지하여 얻어질 수 있다.
다른 예로서, 가상 멀티 스크린(10)의 복수의 윈도우 (11, 12, ??, 13) 중 사용자의 시선 범위에서 일정 거리 또는 일정 각도 이상 벗어나는 윈도우의 해상도를 기준치 미만으로 낮출 수 있다. 이러한 방법에 의해 사용자의 시선이 향하는 윈도우의 디스플레이 성능은 높이고, 시선이 향하지 않는 윈도우의 디스플레이 성능은 낮추는 방법으로 화면 렌더링 시 성능 부하의 문제를 해결할 수 있다.
일 실시예로서, 동작 S53은, 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상의 타입에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절할 수 있다. 즉, 각각의 윈도우(11, 12, ??, 13)에 표시되는 화면 캡쳐 영상의 타입이 예컨대 어플리케이션, 동영상, 또는 스틸 영상인지 여부에 따라 FPS 또는 해상도를 서로 다르게 설정할 수 있다. 예로서, 동영상이 표시되는 윈도우의 FPS는 높이고, 스틸 영상이 표시되는 윈도우의 FPS는 낮출 수 있다.
마지막으로, 동작 S54에서, 결정된 윈도우(11, 12, ??, 13) 각각의 화면 표시 속성에 기초하여 복수의 화면 캡쳐 영상이 가상 멀티 스크린(10)에 표시된다.
도 7을 참조하면, 상기 방법은, 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상 중 어느 하나에 대한 입력 이벤트가 발생되면, 가상 컴퓨팅 장치(30)에서 실행되는 복수의 오브젝트 중 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보에 대응하는 오브젝트로 입력 이벤트에 관한 정보가 전송되는 동작 S55, 및 전송된 입력 이벤트에 관한 정보에 기초하여 입력 이벤트가 발생된 화면 캡쳐 영상에 대응하는 가상 컴퓨팅 장치(30)의 오브젝트가 제어되는 동작 S56을 더 포함할 수 있다.
일 실시예로서, 동작 S55는, 화면 캡쳐 영상에서 입력 이벤트가 발생된 좌표값 및 입력 이벤트의 종류에 관한 정보를 가상 컴퓨팅 장치(30)의 오브젝트로 전송하는 동작을 포함하고, 동작 S56은, 전송된 좌표값 및 입력 이벤트의 종류에 관한 정보에 기초하여 오브젝트를 제어하는 동작을 포함할 수 있다. 이 때, 입력 이벤트의 종류는 예컨대, 클릭, 윈도우 확대 및 축소, 윈도우 이동, 키 입력, 제스처 인식, 및 음성 인식 등을 포함할 수 있다.
상기와 같은 본 발명의 실시예에 따른 컴퓨팅 장치에 의하면, 가상 멀티 스크린을 통해 복수의 가상 데스크톱 환경을 제공하고, AR또는 VR 환경을 이용하여 여러 대의 가상 데스크톱 또는 어플리케이션의 작업을 제어할 수 있다.
도 8 내지 도 10은 본 발명의 또 다른 실시예에 따른 가상 환경의 송수신 방법을 설명하기 위한 순서도이다.
본 발명의 실시예에 따른 가상 환경의 송수신 방법은 컴퓨팅 장치(100)에 의하여 실행될 수 있고, 예컨대 중계 서버(20)에 의해 실행될 수 있다. 본 실시예에 따른 방법을 실행하는 상기 컴퓨팅 장치(100)는 응용 프로그램 실행 환경을 구비한 컴퓨팅 장치일 수 있다. 본 발명의 실시예에 따른 방법에 포함되는 일부 동작의 수행 주체에 대한 기재가 생략될 수 있으며, 그러한 경우 그 주체는 상기 컴퓨팅 장치(100)임을 유의한다.
도 8를 참조하면, 먼저, 동작 S81에서, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상이 수신되고, 동작 S82에서, 수신된 각각의 화면 캡쳐 영상이 사용자 단말로 전송되어, 사용자 단말에서 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 표시되도록 한다.
도 9를 참조하면, 동작 S81은, 사용자 단말에 의해 요청된 복수의 오브젝트 각각의 화면 캡쳐 영상이 가상 컴퓨팅 장치(30)로 요청되는 동작 S811, 및 요청에 응답하여 가상 컴퓨팅 장치(30)로부터 수신되는 복수의 화면 캡쳐 영상 각각에 식별정보가 부여되는 동작 S812를 포함할 수 있다. 이 때, 동작 S82는, 식별정보가 부여된 각각의 화면 캡쳐 영상이 사용자 단말의 복수의 윈도우 각각에 매핑되도록 스트리밍(streaming) 방식으로 전송되는 동작 S821을 포함할 수 있다.
일 실시예로서, 동작 S82는, 수신된 각각의 화면 캡쳐 영상이 사용자 단말 이외의 복수의 단말로 전송되는 동작을 포함할 수 있다. 또한, 동작 S82는, 사용자 단말에서 실시간으로 수집되는 음성신호의 데이터가 수신되는 동작, 및 수신된 음성신호의 데이터가 복수의 단말로 전송되는 동작을 더 포함할 수 있다. 이에 따라, 가상 멀티 스크린에 표시되는 가상 데스크톱 또는 어플리케이션의 화면을 복수의 사용자에게 공유할 수 있고, 음성 데이터를 공유하여 커뮤니케이션이 가능하다.
마지막으로, 동작 S83에서, 사용자 단말로부터 수신되는 각각의 화면 캡쳐 영상에 대한 제어 신호가 가상 컴퓨팅 장치(30)의 복수의 오브젝트 각각으로 전송된다.
도 10을 참조하면, 동작 S83은, 사용자 단말에서 가상 멀티 스크린(10)의 복수의 윈도우(11, 12, ??, 13) 각각에 표시되는 화면 캡쳐 영상 중 어느 하나에 대한 입력 이벤트가 발생되면, 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보 및 입력 이벤트에 관한 정보가 사용자 단말로부터 수신되는 동작 S831, 및 수신된 화면 캡쳐 영상의 식별정보 및 입력 이벤트에 관한 정보가 가상 컴퓨팅 장치(30)의 해당 오브젝트로 전송되는 동작 S832를 포함할 수 있다. 이 때, 입력 이벤트에 관한 정보는, 화면 캡쳐 영상에서 입력 이벤트가 발생된 위치의 좌표값, 및 입력 이벤트의 종류에 관한 정보 등을 포함할 수 있다.
도 11 내지 도 13은 본 발명의 몇몇 실시예에 따른 가상 멀티 스크린을 구성하는 윈도우 각각의 화면 표시 속성을 설정하는 예이다.
도 11을 참조하면, 가상 멀티 스크린 표시 장치(1)는 가상 멀티 스크린(10)의 제1 윈도우(111), 제2 윈도우(112), 및 제3 윈도우(113)에 어플리케이션, VDI, 및 동영상의 화면 캡쳐 영상을 각각 표시할 수 있다.
이 때, VDI를 표시하는 제2 윈도우(112)가 사용자에 의해 포커스 또는 입력 가능한 활성화(active) 윈도우로 선택되면, 제2 윈도우(112)를 30 FPS로 설정하고, 제1 윈도우(111) 및 제3 윈도우(113)를 5 FPS로 설정할 수 있다. 즉, 활성화된 윈도우의 FPS는 높게 설정하고, 활성화되지 않은 윈도우의 FPS는 낮게 설정하는 방식으로 활성화되지 않은 윈도우에 의해 소모되는 자원을 줄임에 의해 디스플레이 성능을 높일 수 있다.
도 12를 참조하면, 가상 멀티 스크린 표시 장치(1)는 가상 멀티 스크린(10)의 제1 윈도우(121), 제2 윈도우(122), 및 제3 윈도우(123)에 어플리케이션, VDI, 및 동영상의 화면 캡쳐 영상을 각각 표시할 수 있다.
도시된 예에서, 활성화되지 않은 제3 윈도우(123)가 동영상을 표시하는 경우, 샘플링 기법을 이용하여 제3 윈도우(123)의 변화량을 측정할 수 있다. 이 때, 측정된 변화량이 임계치 이상이면, 제3 윈도우(123)를 5 FPS에서 30 FPS로 높임에 의해, 사용자가 동영상 재생에 따른 화면의 변화를 잘 인식하도록 할 수 있다. 반면, 활성화되지 않은 제1 윈도우(121)에 표시되는 어플리케이션의 경우, 화면의 변화량이 적으므로 제1 윈도우(121)를 5 FPS에서 1 FPS로 낮출 수 있다.
도 13을 참조하면, 가상 멀티 스크린 표시 장치(1)는 가상 멀티 스크린(10)의 제1 윈도우(131), 제2 윈도우(132), 및 제3 윈도우(133)에 어플리케이션, VDI, 및 동영상의 화면 캡쳐 영상을 각각 표시할 수 있다.
도시된 예에서, 활성화(active) 윈도우가 사용자에 의해 VDI를 표시하는 제2 윈도우(132)에서 어플리케이션을 표시하는 제1 윈도우(131)로 변경되면, 제1 윈도우(131)를 1 FPS에서 30 FPS로 높이고, 제2 윈도우(132)를 30 FPS에서 5 FPS로 낮출 수 있다.
상기와 같이, 본 발명의 실시예에 의하면, 가상 멀티 스크린(10)의 복수의 윈도우 각각에 가상 데스크톱(VDI), 가상 모바일(VMI), 또는 어플리케이션을 표시함에 있어, 각각의 윈도우의 활성화 여부에 따라 FPS 또는 해상도를 최적으로 설정함에 의해, 네트워크 대역폭 또는 사용중인 장치의 성능으로 인해 화면 렌더링에 성능 부하가 발생되는 점을 해결할 수 있다.
도 14은 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 14에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 14에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 14에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
일 실시예로서, 컴퓨터 프로그램(105)은 가상 컴퓨팅 장치(30)에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 동작, 각각의 화면 캡쳐 영상을 가상 멀티 스크린(10)을 구성하는 복수의 윈도우(11, 12, ??, 13) 각각에 매핑(mapping)하는 동작, 매핑된 각각의 윈도우(11, 12, ??, 13)에 각각의 화면 캡쳐 영상을 표시하기 위해 윈도우(11, 12, ??, 13) 각각의 화면 표시 속성을 결정하는 동작, 및 결정된 윈도우(11, 12, ??, 13) 각각의 화면 표시 속성에 기초하여 복수의 화면 캡쳐 영상을 가상 멀티 스크린(10)에 표시하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다. 여기서, 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각은, VDI(Virtual Desktop Infrastructure)(31, 32, ??, 33) 또는 VDI)(31, 32, ??, 33)에서 실행되는 어플리케이션(310, 320, ??, 330)일 수 있다.
일 실시예로서, 컴퓨터 프로그램(105)은 가상 컴퓨팅 장치(30)에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 동작, 수신된 각각의 화면 캡쳐 영상을 사용자 단말로 전송하여, 사용자 단말에서 가상 멀티 스크린(10)을 구성하는 복수의 윈도우(11, 12, ??, 13) 각각에 표시되도록 하는 동작, 및 사용자 단말로부터 수신되는 각각의 화면 캡쳐 영상에 대한 제어 신호를 가상 컴퓨팅 장치(30)의 복수의 오브젝트 각각으로 전송하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다.
상기와 같이, 본 발명의 실시예에 따른 컴퓨팅 장치(100)에 의하면, 가상 멀티 스크린을 통해 여러 대의 가상 데스크톱 또는 어플리케이션의 작업을 제어할 수 있다. 또한, 복수의 가상 데스크톱 또는 어플리케이션의 화면을 표시함에 있어, 네트워크 대역폭 또는 사용중인 장치의 성능으로 인해 화면 렌더링에 성능 부하가 발생되는 점을 해결할 수 있다.
지금까지 도 1 내지 도 14를 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (20)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계;
    상기 각각의 화면 캡쳐 영상을 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 매핑(mapping)하는 단계;
    상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계; 및
    상기 결정된 윈도우 각각의 화면 표시 속성에 기초하여 상기 복수의 화면 캡쳐 영상을 상기 가상 멀티 스크린에 표시하는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  2. 제1 항에 있어서,
    상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각은,
    VDI(Virtual Desktop Infrastructure), VMI(Virtual Mobile Infrastructure), 상기 VDI 또는 상기 VMI에서 실행되는 어플리케이션 중 어느 하나인,
    가상 멀티 스크린의 제어 방법.
  3. 제1 항에 있어서,
    상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계는,
    상기 가상 멀티 스크린에 표시될 상기 복수의 오브젝트 각각의 화면 캡쳐 영상을 중계 서버를 통해 상기 가상 컴퓨팅 장치로 요청하는 단계; 및
    상기 요청에 응답하여 상기 가상 컴퓨팅 장치로부터 제공되는 상기 복수의 화면 캡쳐 영상을 상기 중계 서버를 통해 스트리밍(streaming) 방식으로 수신하는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  4. 제1 항에 있어서,
    상기 각각의 화면 캡쳐 영상을 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 매핑하는 단계는,
    상기 수신된 화면 캡쳐 영상 각각에 식별정보를 부여하는 단계; 및
    상기 식별정보가 부여된 각각의 화면 캡쳐 영상을 상기 복수의 윈도우 각각에 매핑하는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  5. 제1 항에 있어서,
    상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계는,
    상기 복수의 윈도우 각각의 활성화 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  6. 제5 항에 있어서,
    상기 복수의 윈도우 각각의 활성화 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는,
    상기 복수의 윈도우 중 활성화되지 않은 윈도우의FPS를 기준치 미만으로 낮추는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  7. 제5 항에 있어서,
    상기 복수의 윈도우 각각의 활성화 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는,
    상기 복수의 윈도우 중 활성화되지 않은 윈도우에 표시되는 화면 캡쳐 영상이 동영상인 경우, 샘플링 기법을 이용하여 상기 윈도우의 변화량을 측정하는 단계; 및
    상기 측정된 윈도우의 변화량이 임계치 이상인 경우, 상기 윈도우의 FPS를 기준치 이상으로 높이는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  8. 제1 항에 있어서,
    상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계는,
    상기 복수의 윈도우 각각이 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  9. 제8 항에 있어서,
    상기 복수의 윈도우 각각이 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는,
    상기 복수의 윈도우 중 사용자의 시선 범위에 속하는 윈도우의 FPS를 기준치 이상으로 높이는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  10. 제8 항에 있어서,
    상기 복수의 윈도우 각각이 사용자의 시선 범위에 속하는지 여부에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계는,
    상기 복수의 윈도우 중 사용자의 시선 범위에서 일정 거리 또는 일정 각도 이상 벗어나는 윈도우의 해상도를 기준치 미만으로 낮추는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  11. 제1 항에 있어서,
    상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 단계는,
    상기 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상의 타입에 따라 기 설정되어 있는 FPS(Frame Per Second) 및 해상도 중 적어도 하나를 조절하는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  12. 제1 항에 있어서,
    상기 결정된 윈도우 각각의 화면 표시 속성에 기초하여 상기 복수의 화면 캡쳐 영상을 상기 가상 멀티 스크린에 표시하는 단계는,
    상기 복수의 화면 캡쳐 영상 각각을 가상 오브젝트로 생성하여 상기 결정된 화면 표시 속성을 가지는 각각의 윈도우에 배치시키는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  13. 제1 항에 있어서,
    상기 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상 중 어느 하나에 대한 입력 이벤트가 발생되면, 상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 중 상기 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보에 대응하는 오브젝트로 상기 입력 이벤트에 관한 정보를 전송하는 단계; 및
    상기 전송된 입력 이벤트에 관한 정보에 기초하여 상기 입력 이벤트가 발생된 화면 캡쳐 영상에 대응하는 상기 가상 컴퓨팅 장치의 오브젝트를 제어하는 단계를 더 포함하는,
    가상 멀티 스크린의 제어 방법.
  14. 제13 항에 있어서,
    상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 중 상기 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보에 대응하는 오브젝트로 상기 입력 이벤트에 관한 정보를 전송하는 단계는,
    상기 화면 캡쳐 영상에서 상기 입력 이벤트가 발생된 좌표값 및 상기 입력 이벤트의 종류에 관한 정보를 상기 오브젝트로 전송하는 단계를 포함하고,
    상기 전송된 입력 이벤트에 관한 정보에 기초하여 상기 입력 이벤트가 발생된 화면 캡쳐 영상에 대응하는 상기 가상 컴퓨팅 장치의 오브젝트를 제어하는 단계는,
    상기 전송된 좌표값 및 상기 입력 이벤트의 종류에 관한 정보에 기초하여 상기 오브젝트를 제어하는 단계를 포함하는,
    가상 멀티 스크린의 제어 방법.
  15. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계;
    상기 수신된 각각의 화면 캡쳐 영상을 사용자 단말로 전송하여, 상기 사용자 단말에서 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 표시되도록 하는 단계; 및
    상기 사용자 단말로부터 수신되는 각각의 화면 캡쳐 영상에 대한 제어 신호를 상기 가상 컴퓨팅 장치의 복수의 오브젝트 각각으로 전송하는 단계를 포함하는,
    가상 환경의 송수신 방법.
  16. 제15 항에 있어서,
    상기 가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 단계는,
    상기 사용자 단말에 의해 요청된 상기 복수의 오브젝트 각각의 화면 캡쳐 영상을 상기 가상 컴퓨팅 장치로 요청하는 단계; 및
    상기 요청에 응답하여 상기 가상 컴퓨팅 장치로부터 수신되는 상기 복수의 화면 캡쳐 영상 각각에 식별정보를 부여하는 단계를 포함하고,
    상기 수신된 각각의 화면 캡쳐 영상을 사용자 단말로 전송하여, 상기 사용자 단말에서 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 표시되도록 하는 단계는,
    상기 식별정보가 부여된 각각의 화면 캡쳐 영상을 상기 사용자 단말의 상기 복수의 윈도우 각각에 매핑되도록 스트리밍(streaming) 방식으로 전송하는 단계를 포함하는,
    가상 환경의 송수신 방법.
  17. 제15 항에 있어서,
    상기 사용자 단말로부터 수신되는 각각의 화면 캡쳐 영상에 대한 제어 신호를 상기 가상 컴퓨팅 장치의 복수의 오브젝트 각각으로 전송하는 단계는,
    상기 사용자 단말에서 상기 가상 멀티 스크린의 복수의 윈도우 각각에 표시되는 화면 캡쳐 영상 중 어느 하나에 대한 입력 이벤트가 발생되면, 상기 입력 이벤트가 발생된 화면 캡쳐 영상의 식별정보 및 상기 입력 이벤트에 관한 정보를 상기 사용자 단말로부터 수신하는 단계; 및
    상기 수신된 화면 캡쳐 영상의 식별정보 및 상기 입력 이벤트에 관한 정보를 상기 가상 컴퓨팅 장치의 해당 오브젝트로 전송하는 단계를 포함하는,
    가상 환경의 송수신 방법.
  18. 제15 항에 있어서,
    상기 수신된 각각의 화면 캡쳐 영상을 사용자 단말로 전송하여, 상기 사용자 단말에서 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 표시되도록 하는 단계는,
    상기 수신된 각각의 화면 캡쳐 영상을 상기 사용자 단말 이외의 복수의 단말로 전송하는 단계를 더 포함하는,
    가상 환경의 송수신 방법.
  19. 제18 항에 있어서,
    상기 사용자 단말에서 실시간으로 수집되는 음성신호의 데이터를 수신하는 단계; 및
    상기 수신된 음성신호의 데이터를 상기 복수의 단말로 전송하는 단계를 더 포함하는,
    가상 환경의 송수신 방법.
  20. 하나 이상의 프로세서;
    외부장치와 통신하는 통신 인터페이스;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    가상 컴퓨팅 장치에서 실행되는 복수의 오브젝트 각각의 화면 캡쳐 영상을 수신하는 동작,
    상기 각각의 화면 캡쳐 영상을 가상 멀티 스크린을 구성하는 복수의 윈도우 각각에 매핑(mapping)하는 동작,
    상기 매핑된 각각의 윈도우에 상기 각각의 화면 캡쳐 영상을 표시하기 위해 상기 윈도우 각각의 화면 표시 속성을 결정하는 동작, 및
    상기 결정된 윈도우 각각의 화면 표시 속성에 기초하여 상기 복수의 화면 캡쳐 영상을 상기 가상 멀티 스크린에 표시하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하는,
    가상 멀티 스크린 표시 장치.
KR1020200141410A 2020-10-28 2020-10-28 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치 KR20220056645A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200141410A KR20220056645A (ko) 2020-10-28 2020-10-28 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141410A KR20220056645A (ko) 2020-10-28 2020-10-28 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치

Publications (1)

Publication Number Publication Date
KR20220056645A true KR20220056645A (ko) 2022-05-06

Family

ID=81584678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141410A KR20220056645A (ko) 2020-10-28 2020-10-28 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치

Country Status (1)

Country Link
KR (1) KR20220056645A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024111874A1 (ko) * 2022-11-25 2024-05-30 삼성전자 주식회사 전자 장치 및 상기 전자 장치에서 디스플레이의 화면을 제어하는 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761409B1 (ko) 2010-10-27 2017-07-25 주식회사 엘지유플러스 가상화 플랫폼 제공 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761409B1 (ko) 2010-10-27 2017-07-25 주식회사 엘지유플러스 가상화 플랫폼 제공 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024111874A1 (ko) * 2022-11-25 2024-05-30 삼성전자 주식회사 전자 장치 및 상기 전자 장치에서 디스플레이의 화면을 제어하는 방법

Similar Documents

Publication Publication Date Title
US9131021B2 (en) Dynamic screen sharing for optimal performance
JP2022031339A (ja) 表示方法およびデバイス
US11243737B2 (en) Method and system for remote collaboration
US20140022159A1 (en) Display apparatus control system and method and apparatus for controlling a plurality of displays
US11638060B2 (en) Electronic apparatus and control method thereof
US9483112B2 (en) Eye tracking in remote desktop client
US10423294B2 (en) Synchronizing a cursor from a managed system with a cursor from a remote system
CN104731546B (zh) 抓取高分辨率图像在大屏幕上显示的方法及系统
US9293108B2 (en) Transmission apparatus and system of using the same
US20160139797A1 (en) Display apparatus and contol method thereof
JP7440625B2 (ja) コンテンツの表示を制御する方法およびコンピュータプログラム
WO2018226080A1 (en) System and method for dynamic transparent scaling of content display
CN104754277A (zh) 信息处理设备及信息处理方法
KR20220056645A (ko) 가상 멀티 스크린의 제어 방법, 가상 환경의 송수신 방법, 그리고 이를 구현하기 위한 장치
CN109791444B (zh) 调用输入法的方法和装置、服务器和终端
CN113778593A (zh) 云桌面控制方法、装置、电子设备、存储介质及程序产品
KR20140141419A (ko) 디스플레이장치 및 그 제어방법
US11209902B2 (en) Controlling input focus based on eye gaze
US8984540B2 (en) Multi-user computer system
KR102101432B1 (ko) 포인터 표시 제어 방법 및 포인터 표시 방법과 그 방법이 적용되는 장치
US11500209B2 (en) Method, electronic device, and computer program product for displaying graphic interfaces
KR100739774B1 (ko) Pip 기능을 제공하는 디스플레이 장치 및 방법, 정보처리 장치 및 방법
CN107390981B (zh) 一种全局菜单的控制方法、装置、设备和存储介质
KR20200141673A (ko) 가상화면 제공 방법 및 이를 위한 장치
CN113064515B (zh) 触控显示设备及usb设备转接方法

Legal Events

Date Code Title Description
A201 Request for examination