KR102615305B1 - Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen - Google Patents

Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen Download PDF

Info

Publication number
KR102615305B1
KR102615305B1 KR1020180120232A KR20180120232A KR102615305B1 KR 102615305 B1 KR102615305 B1 KR 102615305B1 KR 1020180120232 A KR1020180120232 A KR 1020180120232A KR 20180120232 A KR20180120232 A KR 20180120232A KR 102615305 B1 KR102615305 B1 KR 102615305B1
Authority
KR
South Korea
Prior art keywords
vmi
video sharing
client
room
participant
Prior art date
Application number
KR1020180120232A
Other languages
Korean (ko)
Other versions
KR20200040406A (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 KR1020180120232A priority Critical patent/KR102615305B1/en
Publication of KR20200040406A publication Critical patent/KR20200040406A/en
Application granted granted Critical
Publication of KR102615305B1 publication Critical patent/KR102615305B1/en

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop

Abstract

VMI 화면공유 방법 및 장치를 개시한다.
본 실시예는 모바일 환경에 VMI를 적용하여 디바이스 내에 탑재된 VMI 클라이언트가 구동될 때, 사용자 자신의 VMI 화면이 복수의 타 사용자들에게 실시간으로 공유되도록 하여 방송 서비스, 영상 공유 서비스, 재난 방송 서비스 등을 제공할 수 있도록 하는 VMI 화면공유 방법 및 장치를 제공한다.
Disclosed is a VMI screen sharing method and device.
This embodiment applies VMI to a mobile environment and allows the user's own VMI screen to be shared in real time with multiple other users when the VMI client mounted in the device is run, thereby providing broadcasting services, video sharing services, disaster broadcasting services, etc. Provides a VMI screen sharing method and device that allows to provide.

Figure R1020180120232
Figure R1020180120232

Description

VMI 화면공유 방법 및 장치{Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen}VMI screen sharing method and device {Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen}

본 실시예는 VMI 화면공유 방법 및 장치에 관한 것이다. This embodiment relates to a VMI screen sharing method and device.

이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.The content described below simply provides background information related to this embodiment and does not constitute prior art.

스마트폰의 활성화로 최근 많은 사람이 스마트폰을 사용중이다. 스마트폰은 다양한 애플리케이션을 이용하여 웹(Web) 서핑, 게임, 쇼핑, 동영상 시청 등이 가능하기 때문에, 모바일 기반의 다양한 에코-시스템(Eco-System)이 폭발적으로 성장하고 있다. 스마트폰에 많은 애플리케이션을 설치함에 따라 용량 부족, 메모리 부족, 프로세서 성능저하가 발생하며, 스마트폰 하드웨어(HW), 소프트웨어(SW) 성능제약에 따른 사용 경험 차이, 데이터 보안, 기기 교체 시 애플리케이션 재설치 등의 불편함이 발생한다.Recently, many people are using smartphones due to the popularity of smartphones. Since smartphones enable web surfing, games, shopping, and video watching using various applications, various mobile-based eco-systems are growing explosively. As many applications are installed on a smartphone, insufficient capacity, memory, and processor performance deteriorate, differences in user experience due to smartphone hardware (HW) and software (SW) performance limitations, data security, application reinstallation when replacing the device, etc. discomfort occurs.

최근 들어, 스마트폰 애플리케이션의 대용량화, 동영상의 고품질화되면서 애플리케이션 업데이트, 동영상 시청 등을 위한 데이터 소모량이 증가하는 추세이다. 특히, 모바일 게임 애플리케이션의 경우 최초 설치 파일, 애플리케이션 내부 데이터 업데이트를 위한 데이터량이 상당히 큰 편이다.Recently, as smartphone applications have become larger in capacity and videos have become higher quality, data consumption for application updates, video watching, etc. is increasing. In particular, in the case of mobile game applications, the amount of data for updating the initial installation file and application internal data is quite large.

일반적인 디바이스의 문제점을 해결하기 위해, 가상의 스마트폰 환경을 클라우드(Cloud) 서버에 구축한 후 서버의 하드웨어(HW), 소프트웨어(SW) 자원을 이용하여 사용자에게 가상의 모바일 환경을 제공하는 VMI(Virtual Mobile Infrastructure) 기술이 있다.In order to solve the problems of general devices, a virtual smartphone environment is built on a cloud server and then using the server's hardware (HW) and software (SW) resources to provide a virtual mobile environment to users (VMI) There is a Virtual Mobile Infrastructure (Virtual Mobile Infrastructure) technology.

하지만, VMI를 모바일 환경에 적용하는 경우 일반적인 PC 환경과 달리 스마트폰 하드웨어(HW) 제약, OS(Operating System) 환경과 클라우드(Cloud) 서버 환경과 차이(아키텍처 등), 실시간 무선 네트워크를 이용한 초고속, 저지연 통신 등 기술적 이슈가 존재하며, 사용자 케이스(Use Case)에 따른 융합 기술의 역량부족으로 인해 VMI 기술이 아직 B2B(Business to Business), B2C(Business to Customer) 시장에 정식 상용화된 사례가 없다.However, when applying VMI to a mobile environment, unlike a general PC environment, there are smartphone hardware (HW) limitations, differences between the OS (Operating System) environment and the cloud server environment (architecture, etc.), ultra-high speed using a real-time wireless network, There are technical issues such as low-latency communication, and due to the lack of convergence technology capabilities according to the use case, VMI technology has not yet been officially commercialized in the B2B (Business to Business) and B2C (Business to Customer) markets. .

본 실시예는 모바일 환경에 VMI를 적용하여 디바이스 내에 탑재된 VMI 클라이언트가 구동될 때, 사용자 자신의 VMI 화면이 복수의 타 사용자들에게 실시간으로 공유되도록 하여 방송 서비스, 영상 공유 서비스, 재난 방송 서비스 등을 제공할 수 있도록 하는 VMI 화면공유 방법 및 장치를 제공하는 데 목적이 있다.This embodiment applies VMI to a mobile environment and allows the user's own VMI screen to be shared in real time with multiple other users when the VMI client mounted in the device is run, thereby providing broadcasting services, video sharing services, disaster broadcasting services, etc. The purpose is to provide a VMI screen sharing method and device that can provide.

본 실시예의 일 측면에 의하면, VMI 클라이언트로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성하는 리스트 생성부; 및 상기 영상 공유방 리스트 내에 포함된 영상 공유방에 참여 요청한 타 VMI 클라이언트가 존재하면, 기 설정된 비트레이트 값으로 상기 VMI 클라이언트로 제공되는 VMI 화면을 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 영상 공유부를 포함하는 것을 특징으로 하는 VMI 화면공유 장치를 제공한다.According to one aspect of the present embodiment, a list generator for generating a video sharing room list by receiving a video sharing room setting message for creating a video sharing room from a VMI client; And if there is another VMI client requesting participation in the video sharing room included in the video sharing room list, a video sharing unit that converts the VMI screen provided to the VMI client into a video at a preset bit rate value and transmits it to the other VMI client. Provides a VMI screen sharing device characterized by:

본 실시예의 다른 측면에 의하면, 하드웨어와 결합되어, VMI 클라이언트로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성하는 과정; 및 상기 영상 공유방 리스트 내에 포함된 영상 공유방에 참여 요청한 타 VMI 클라이언트가 존재하면, 기 설정된 비트레이트 값으로 상기 VMI 클라이언트로 제공되는 VMI 화면을 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 과정을 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램을 제공한다.According to another aspect of the present embodiment, in combination with hardware, a process of receiving a video sharing room setting message for creating a video sharing room from a VMI client and generating a video sharing room list; And if there is another VMI client requesting participation in the video sharing room included in the video sharing room list, executing a process of converting the VMI screen provided to the VMI client into a video at a preset bit rate value and transmitting it to the other VMI client. For this purpose, computer programs stored on computer-readable recording media are provided.

본 실시예의 다른 측면에 의하면, VMI 클라이언트로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성하는 과정; 및 상기 영상 공유방 리스트 내에 포함된 영상 공유방에 참여 요청한 타 VMI 클라이언트가 존재하면, 기 설정된 비트레이트 값으로 상기 VMI 클라이언트로 제공되는 VMI 화면을 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 과정을 포함하는 것을 특징으로 하는 VMI 화면공유 방법을 제공한다.According to another aspect of the present embodiment, a process of receiving a video sharing room setting message for creating a video sharing room from a VMI client and generating a video sharing room list; And if there is another VMI client requesting participation in the video sharing room included in the video sharing room list, converting the VMI screen provided to the VMI client into a video at a preset bit rate value and transmitting it to the other VMI client. Provides a VMI screen sharing method characterized by:

이상에서 설명한 바와 같이 본 실시예에 의하면, 모바일 환경에 VMI를 적용하여 디바이스 내에 탑재된 VMI 클라이언트가 구동될 때, 사용자 자신의 VMI 화면이 복수의 타 사용자들에게 실시간으로 공유되도록 하여 방송 서비스, 영상 공유 서비스, 재난 방송 서비스 등을 제공할 수 있도록 하는 효과가 있다.As described above, according to this embodiment, when VMI is applied to a mobile environment and the VMI client mounted in the device is run, the user's own VMI screen is shared in real time with a plurality of other users to provide broadcast services and video. It has the effect of providing shared services, disaster broadcasting services, etc.

본 실시예에 의하면, 일반적인 디바이스의 화면을 인코딩(Encoding)하는 지연(Delay) 절감, 인코딩된 화면을 전송하기 위한 업링크 네트워크 트래픽(Uplink N/W Traffic)이 감소할 뿐만 아니라, 영상 공유를 위한 별도의 저장 공간이 필요없고 공유하는 사용자의 VM 저장 공간을 그대로 활용할 수 있는 효과가 있다.According to this embodiment, the delay for encoding the screen of a general device is reduced, the uplink network traffic for transmitting the encoded screen is reduced, and the uplink network traffic for transmitting the encoded screen is reduced, as well as for video sharing. There is no need for separate storage space, and the user's shared VM storage space can be utilized as is.

도 1은 본 실시예에 따른 VMI 화면공유를 위한 기본 시스템을 개략적으로 나타낸 블럭 구성도이다.
도 2는 본 실시예에 따른 VMI 화면공유 시스템을 구체적으로 설명하기 위한 도면이다.
도 3은 본 실시예에 따른 VMI 화면공유 장치를 개략적으로 나타낸 블럭 구성도이다.
도 4는 본 실시예에 따른 VMI 화면공유방법을 설명하기 위한 순서도이다.
Figure 1 is a block diagram schematically showing the basic system for VMI screen sharing according to this embodiment.
Figure 2 is a diagram for specifically explaining the VMI screen sharing system according to this embodiment.
Figure 3 is a block diagram schematically showing the VMI screen sharing device according to this embodiment.
Figure 4 is a flowchart for explaining the VMI screen sharing method according to this embodiment.

이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, this embodiment will be described in detail with reference to the attached drawings.

VMI(Virtual Mobile Infrastructure)는 서버에서 디바이스로 가상의 모바일 환경을 제공하는 기술을 의미한다. VMI는 서버에서 생성 및 관리하는 VM(Virtual Machine)을 개별 사용자의 모바일 기기(디바이스)로 노출시키는 기술이다. VMI는 서버에 탑재된 고성능 CPU(Central Processing Unit)/GPU(Graphics Processing Unit)를 이용하기 때문에, 기존 디바이스들이 가지고 있던 하드웨어(HW), 소프트웨어(SW)로 인한 제약문제를 해결하며, 다양한 기술들과의 융합으로 B2B, B2C 시장에서 차별화된 서비스를 제공할 수 있다.VMI (Virtual Mobile Infrastructure) refers to a technology that provides a virtual mobile environment from servers to devices. VMI is a technology that exposes a VM (Virtual Machine) created and managed on a server to individual users' mobile devices. Because VMI uses the high-performance CPU (Central Processing Unit)/GPU (Graphics Processing Unit) mounted on the server, it solves the limitations caused by the hardware (HW) and software (SW) of existing devices and provides various technologies. By converging with , differentiated services can be provided in the B2B and B2C markets.

본 실시예는 5G 시대에 다양한 모바일 기기들에서 초고속/저지연 네트워크 기반의 차별화된 VMI 서비스를 제공하기 위한 다양한 성능 개선 방법과 다른 기술들과의 융합 방법에 대해 기술한다. This embodiment describes various performance improvement methods and convergence methods with other technologies to provide differentiated VMI services based on high-speed/low-latency networks on various mobile devices in the 5G era.

도 1은 본 실시예에 따른 VMI 화면공유를 위한 기본 시스템을 개략적으로 나타낸 블럭 구성도이다.Figure 1 is a block diagram schematically showing the basic system for VMI screen sharing according to this embodiment.

본 실시예에 따른 VMI 화면공유 시스템은 VMI 클라이언트(110), 네트워크(120), VMI 게이트웨이(130), VMI 서버(140)를 포함한다. VMI 화면공유 시스템에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.The VMI screen sharing system according to this embodiment includes a VMI client 110, a network 120, a VMI gateway 130, and a VMI server 140. Components included in the VMI screen sharing system are not necessarily limited to this.

VMI 클라이언트(110)는 디바이스 상에 VM(Virtual Machine)을 표시하기 위한 애플리케이션 역할을 수행한다. 여기서, 디바이스는 사용자의 키 조작에 따라 네트워크(120)를 경유하여 음성 또는 데이터 통신을 수행하는 전자 기기를 의미한다. 디바이스는 네트워크(120)를 경유하여 VMI 서버(140)와 통신하기 위한 프로그램 또는 프로토콜을 저장하기 위한 메모리, 해당 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비한다.The VMI client 110 serves as an application to display a VM (Virtual Machine) on the device. Here, the device refers to an electronic device that performs voice or data communication via the network 120 according to the user's key operations. The device includes a memory for storing a program or protocol for communicating with the VMI server 140 via the network 120, and a microprocessor for executing the program to operate and control the program.

디바이스는 스마트폰(Smart Phone), 태블릿(Tablet), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 무선통신 단말기(Wireless Communication Terminal), 미디어 플레이어 등과 같은 전자 기기일 수 있다. Devices include smart phones, tablets, laptops, personal computers (PCs), portable multimedia players (PMPs), wireless communication terminals, and media players. It may be an electronic device such as the like.

디바이스는 (ⅰ) 각종 기기 또는 네트워크(120)와 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, (ⅱ) 각종 프로그램과 데이터를 저장하기 위한 메모리, (ⅲ) 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치이다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서상에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.The device includes (i) a communication device such as a communication modem for communicating with various devices or the network 120, (ii) a memory for storing various programs and data, (iii) a device for calculating and controlling by executing the program. It is a variety of devices equipped with a microprocessor, etc. According to at least one embodiment, the memory is computer memory such as random access memory (RAM), read only memory (ROM), flash memory, optical disk, magnetic disk, and solid state disk (SSD). It may be a readable recording/storage medium. According to at least one embodiment, a microprocessor may be programmed to selectively perform one or more of the operations and functions described in the specification. According to at least one embodiment, a microprocessor may be implemented in whole or in part as hardware such as an application specific integrated circuit (ASIC) of a specific configuration.

VMI 클라이언트(110)는 VMI 게이트웨이(130)와 연결되어 사용자 인증, VMI 서비스 제공 수준(네트워크 대역폭, 해상도 등) 확정하고, 데이터 보안 통신을 수행한다. VMI 클라이언트(110)는 사용자 기본 정보, 디바이스의 로컬 정보(하드웨어(HW), 소프트웨어(SW) 등), 사용자 액션 정보(터치, 스크롤 등) 등을 VMI 게이트웨이(130)를 경유하여 VMI 서버(140)로 전달한다. VMI 클라이언트(110)는 환경 설정 기능을 이용하여 사용자별로 다양한 설정 옵션(Option)을 설정하도록 한다. VMI 클라이언트(110)는 실제 화면에 대해 VMI 서버(140)에서 실시간 인코딩 처리한 영상을 수신하여 디바이스 상의 디스플레이에 출력한다.The VMI client 110 is connected to the VMI gateway 130 to authenticate users, determine the VMI service provision level (network bandwidth, resolution, etc.), and perform secure data communication. The VMI client 110 transmits user basic information, device local information (hardware (HW), software (SW), etc.), user action information (touch, scroll, etc.) to the VMI server 140 via the VMI gateway 130. ) is transmitted. The VMI client 110 uses the environment setting function to set various setting options for each user. The VMI client 110 receives real-time encoded images of the actual screen from the VMI server 140 and outputs them to the display on the device.

VMI 클라이언트(110)는 VMI 서버(140)를 이용하여 자신의 VMI 화면을 타 VMI 클라이언트에게 실시간으로 공유한다. VMI 클라이언트(110)는 자신의 VMI 화면을 타 VMI 클라이언트에게 공유하는 기능을 이용하여 일종의 미디어 방송 애플리케이션으로 이용될 수 있다. VMI 클라이언트(110)는 재난 상황에서의 영상이나 중앙통제센터의 통계 화면, 현장에서 촬영되는 영상 등을 현장에 다수 공유, BJ의 애플리케이션 게임 방송 등에도 활용 가능하다. VMI 클라이언트(110)는 로컬(Local)에서 카메라를 사용하는 경우를 제외하고, VMI 서버(140)에서 실제 프로세스가 진행되기 때문에, 터치 또는 입력 등을 제외하고는 네트워크(120) 상에 업링크 데이터가 발생하지 않는다.The VMI client 110 uses the VMI server 140 to share its VMI screen with other VMI clients in real time. The VMI client 110 can be used as a type of media broadcasting application by using a function to share its VMI screen with other VMI clients. The VMI client 110 can be used to share videos from disaster situations, statistics screens from the central control center, and videos shot on site, as well as to broadcast BJ's application games. Except when the VMI client 110 uses a camera locally, the actual process takes place on the VMI server 140, so uplink data is transmitted on the network 120 except for touch or input. does not occur.

네트워크(120)는 추후 적용될 5G 네트워크인 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 인터넷망뿐만 아니라, WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), LTE(Long Term Evolution), EPC(Evolved Packet Core) 등이 적용될 수 있다.The network 120 is preferably a 5G network to be applied in the future, but is not necessarily limited to this, and is not limited to the Internet network, but also WCDMA (Wideband Code Division Multiple Access), GSM (Global System for Mobile Communications), LTE (Long Term Evolution), EPC (Evolved Packet Core), etc. may be applied.

VMI 게이트웨이(130)는 VMI 서비스 제공을 위해 VMI 클라이언트(110)와 VMI 서버(140) 사이에 중계 역할을 수행하는 장치를 의미한다. VMI 게이트웨이(130)는 VMI 클라이언트(110)에 대한 인증을 수행하고, 인증결과에 따라 VMI 서비스 제공을 위한 VMI 서버(140)와 데이터를 중계한다.The VMI gateway 130 refers to a device that acts as a relay between the VMI client 110 and the VMI server 140 to provide VMI services. The VMI gateway 130 performs authentication for the VMI client 110 and relays data with the VMI server 140 to provide VMI service according to the authentication result.

VMI 게이트웨이(130)는 VMI 클라이언트(110)로부터 VMI 서비스와 관련하여 입력된 사용자 입력정보를 VMI 서버(140)로 전달하고, VMI 서버(140)로부터 수신된 응답을 VMI 클라이언트(110)로 전달한다. 예컨대, VMI 게이트웨이(130)는 VMI 클라이언트(110)로부터 수신된 사용자 액션 정보(터치, 스크롤 등)를 VMI 서버(140)로 전달하고, VMI 서버(140)로부터 사용자 액션 정보에 대응하여 인코딩된 영상을 수신하여 VMI 클라이언트(110)로 전달한다.The VMI gateway 130 transmits user input information related to the VMI service from the VMI client 110 to the VMI server 140, and delivers the response received from the VMI server 140 to the VMI client 110. . For example, the VMI gateway 130 transmits user action information (touch, scroll, etc.) received from the VMI client 110 to the VMI server 140, and encodes an image corresponding to the user action information from the VMI server 140. is received and delivered to the VMI client 110.

VMI 게이트웨이(130)는 보안 컴플라이언스(Compliance) 및 망분리에 대응하기 위해 디바이스의 연결을 일원화하는 게이트웨이 노드를 의미한다. VMI 게이트웨이(130)는 VMI 사용자 인증 및 VMI 클라이언트(110)에게 VMI 서비스 제공을 위해 VMI 서버(140)와 연결한다. VMI 게이트웨이(130)는 VMI 클라이언트(110)와 암호화된 데이터를 교환한다.The VMI gateway 130 refers to a gateway node that unifies device connections to respond to security compliance and network separation. The VMI gateway 130 connects to the VMI server 140 to authenticate VMI users and provide VMI services to the VMI client 110. VMI gateway 130 exchanges encrypted data with VMI client 110.

VMI 서버(140)는 VMI 클라이언트(110)가 사용할 VM들을 생성하고 관리하는 장치를 의미한다. VMI 서버(140)는 사용자별 VM에 대해서 저장공간/메모리 등을 설정하고, 애플리케이션 설치 및 업데이트 관리하며, 사용자 설정값 등을 저장한다.The VMI server 140 refers to a device that creates and manages VMs to be used by the VMI client 110. The VMI server 140 sets storage space/memory, etc. for each user's VM, manages application installation and updates, and stores user settings, etc.

VMI 서버(140)는 실제 구동중인 VMI 화면에 대해 실시간 인코딩 처리를 수행하고, 인코딩된 영상을 VMI 게이트웨이(130)를 경유하여 VMI 클라이언트(110)로 전달한다. VMI 서버(140)는 VMI 클라이언트(110)로부터 사용자 동작을 입력받으면, 사용자 동작에 대응하는 데이터를 처리한 결과로서 VMI 클라이언트(110)로 전달한다. VMI 서버(140)는 고성능의 CPU, GPU 탑재하여 디바이스 대비 고품질 영상 및 빠른 연산 처리가 가능하다.The VMI server 140 performs real-time encoding processing on the VMI screen that is actually running, and transmits the encoded image to the VMI client 110 via the VMI gateway 130. When the VMI server 140 receives a user operation from the VMI client 110, it processes data corresponding to the user operation and transmits it to the VMI client 110. The VMI server 140 is equipped with a high-performance CPU and GPU, enabling high-quality video and faster calculation processing compared to devices.

본 실시예에 따른 VMI 서버(140)는 영상 공유방 개설자인 VMI 클라이언트(110)로 제공하는 하나의 VMI 화면을 영상으로 인코딩하여 다수의 사용자가 동시에 볼 수 있도록 영상 공유방 참여자인 다수의 타 VMI 클라이언트로 전송한다. VMI 서버(140)는 VMI 게이트웨이(130) 및 DB(132)를 이용하여 다양한 영상 공유방을 생성 및 관리한다.The VMI server 140 according to this embodiment encodes one VMI screen provided by the VMI client 110, the video sharing room creator, into a video so that multiple users can view it at the same time. send. The VMI server 140 creates and manages various video sharing rooms using the VMI gateway 130 and DB 132.

VMI 서버(140)는 영상 공유방 개설자인 VMI 클라이언트(110)에서 실행되는 VMI 영상을 기존 한 명에서 다수로 변경할 때 추가적인 데이터를 생성하거나 저장 공간을 증설할 필요가 없고, 영상 인코딩(Encoding) 과정을 최소화한다.The VMI server 140 does not need to generate additional data or increase storage space when changing the VMI video running in the VMI client 110, which is the creator of the video sharing room, from one to multiple, and performs the video encoding process. Minimize.

VMI 서버(140)는 영상 공유방 개설자인 VMI 클라이언트(110)로 제공되는 VMI 화면을 영상으로 인코딩하여 다수의 사용자에게 제공하더라도 서버에 탑재된 고성능 CPU/GPU를 이용하기 때문에, VMI 영상을 제공받는 디바이스들이 가지고 있던 하드웨어(HW) 또는 소프트웨어(SW)의 영향을 받지 않으며, 영상 공유시 업링크 트래픽(Uplink Traffic)이 발생하지 않는다.Even though the VMI server 140 encodes the VMI screen provided by the VMI client 110, the video sharing room creator, into video and provides it to multiple users, it uses the high-performance CPU/GPU mounted on the server, so the device receiving the VMI video It is not affected by the hardware (HW) or software (SW) they have, and no uplink traffic occurs when sharing video.

도 2는 본 실시예에 따른 VMI 화면공유 시스템을 구체적으로 설명하기 위한 도면이다. Figure 2 is a diagram for specifically explaining the VMI screen sharing system according to this embodiment.

이하, VMI 클라이언트(110)의 환경 설정 과정에 대해 설명한다. VMI 클라이언트(110)는 사용자의 조작 또는 명령에 의해 자신의 VMI 화면을 타 VMI 클라이언트(타인 디바이스)로 실시간 공유할 수 있다. VMI 클라이언트(110)는 환경 설정 메뉴 상에 실시간 영상 공유 기능을 제공한다.Hereinafter, the environment setting process of the VMI client 110 will be described. The VMI client 110 can share its VMI screen in real time with other VMI clients (other devices) by a user's operation or command. The VMI client 110 provides a real-time video sharing function on the configuration menu.

VMI 클라이언트(110)는 환경 설정으로 ‘영상 공유 On/Off(Room_OnOff)’, ‘영상 공유방 이름(Room_Name)’, ‘영상 공유방 최대 참여 가능 사용자 수(Room_Max_Count)’, ‘영상 공유방 공개 여부(Public/Private 선택)(Room_Policy)’, ‘영상 공유방 비밀번호(룸 정책(Room_Policy)이 프라이빗(Private)인 경우)(Room_Password)’등을 옵션(Option)으로 제공한다.The VMI client 110 configures the environment settings to include 'Video sharing On/Off (Room_OnOff)', 'Video sharing room name (Room_Name)', 'Maximum number of users who can participate in the video sharing room (Room_Max_Count)', and 'Whether the video sharing room is made public (Public/ Private selection) (Room_Policy)' and 'Video sharing room password (if Room Policy (Room_Policy) is Private) (Room_Password)' are provided as options.

VMI 클라이언트(110)는 전술한 옵션 정보를 바탕으로 VMI 게이트웨이(130)와 통신할 때 [표 1] 내의 항목들을 포함한 메시지를 전송한다.The VMI client 110 transmits a message including the items in [Table 1] when communicating with the VMI gateway 130 based on the above-described option information.

Figure 112018099426070-pat00001
Figure 112018099426070-pat00001

VMI 클라이언트(110)는 메시지 내의 항목 중 [표 1] 의 ‘Room_OnOff’ 값이 변경되거나 기타 항목 값이 변경될 경우 VMI 게이트웨이(130)로 옵션 변경 정보를 바로 전송한다.The VMI client 110 immediately transmits option change information to the VMI gateway 130 when the ‘Room_OnOff’ value in [Table 1] or other item values are changed among the items in the message.

이하, VMI 게이트웨이(130)의 영상 공유방 설정 과정에 대해 설명한다. VMI 게이트웨이(130)는 VMI 클라이언트(110)와 주기적으로 영상 공유방 정보를 동기화하고, 타 VMI 클라이언트들의 영상 공유방 검색에 대한 빠른 응답을 위해, 간단한 구조의 영상 공유방 DB(132)를 관리한다. 여기서, 영상 공유방 DB(132)는 별도의 영상 공유방 DB 서버(Room DB Server)로 구축되어 VMI 게이트웨이(130)와 통신이 가능하다.Hereinafter, the video sharing room setting process of the VMI gateway 130 will be described. The VMI gateway 130 periodically synchronizes the video sharing room information with the VMI client 110 and manages the video sharing room DB 132 with a simple structure for quick response to video sharing room searches by other VMI clients. Here, the video sharing room DB 132 is built as a separate video sharing room DB server (Room DB Server) and can communicate with the VMI gateway 130.

영상 공유방 별로 관리되는 DB 정보는 [표 2]와 같다. 타 VMI 클라이언트들이 영상 공유방들의 정보를 조회할 수 있도록 VMI 클라이언트(110)에서 UI 형태의 영상 공유방 리스트를 제공한다.DB information managed for each video sharing room is shown in [Table 2]. The VMI client 110 provides a list of video sharing rooms in the form of a UI so that other VMI clients can search information on video sharing rooms.

Figure 112018099426070-pat00002
Figure 112018099426070-pat00002

VMI 게이트웨이(130)는 영상 공유방을 개설한 VMI 클라이언트(110)로부터 영상 공유방 정보를 변경한 갱신 메시지를 수신하면, 갱신 메시지를 기반으로 영상 공유방 DB의 정보를 업데이트하고, 영상 공유방 리스트를 갱신한다.When the VMI gateway 130 receives an update message changing video sharing room information from the VMI client 110 that has opened a video sharing room, it updates information in the video sharing room DB based on the update message and updates the video sharing room list.

이하, VMI 서버(140)의 동작에 대해 설명한다. VMI 게이트웨이(130)는 영상 공유방 설정을 완료한 후 ‘User_ID’와 ‘VM_ID’정보를 이용하여 VMI 서버(140)로 설정 완료 메시지를 전달(Forwarding)한다. VMI 게이트웨이(130)는 ‘User_ID’에 매칭되는 ‘VM_ID’를 VMI 서비스를 위해 사전 관리한다. VMI 게이트웨이(130)는 영상 공유방 관련 정보가 변경될 때마다 참여자 수 변경, 참여자 정보 등을 추가한 설정 완료 메시지를 VMI 서버(140)로 전송한다.Hereinafter, the operation of the VMI server 140 will be described. After completing the video sharing room setup, the VMI gateway 130 forwards a setup completion message to the VMI server 140 using ‘User_ID’ and ‘VM_ID’ information. The VMI gateway 130 pre-manages ‘VM_ID’ matching ‘User_ID’ for VMI service. Whenever information related to the video sharing room is changed, the VMI gateway 130 transmits a setup completion message to the VMI server 140, adding the number of participants, participant information, etc.

VMI 서버(140)는 [표 3]과 같이 VM 프로파일 세트(VM Profile Set)를 관리한다.The VMI server 140 manages the VM Profile Set as shown in [Table 3].

Figure 112018099426070-pat00003
Figure 112018099426070-pat00003

VMI 서버(140)는 VMI 게이트웨이(130)로부터 영상 공유방 관련 메시지를 수신하면, VMI 게이트웨이(130)로 영상 공유방 관련 메시지에 대응하는 ‘VM_Pointer’ 및 ‘VM_User_Array_Blacklist’를 전송한다. 만약, VMI 서버(140)는 VMI 게이트웨이(130)로부터 업데이트된 블랙리스트(Blacklist) 정보를 수신하면, [표 3]의 VM 프로파일 세트 내의 ‘VM_User_Array_Blacklist’ 항목을 업데이트하여 외부 장치와 동기화한다.When the VMI server 140 receives a video sharing room-related message from the VMI gateway 130, it transmits ‘VM_Pointer’ and ‘VM_User_Array_Blacklist’ corresponding to the video sharing room-related message to the VMI gateway 130. If the VMI server 140 receives updated blacklist information from the VMI gateway 130, it updates the ‘VM_User_Array_Blacklist’ item in the VM profile set in [Table 3] and synchronizes it with the external device.

VMI 서버(140)는 VMI 게이트웨이(130)로 블랙리스트 정보에 대응하는 응답 정보를 전송한다. VMI 게이트웨이(130)는 VMI 서버(140)로부터 수신된 응답 정보를 기반으로 DB(132) 내에 ‘VM_Pointer’, ‘Viewer_Blacklist’ 항목을 업데이트한다.The VMI server 140 transmits response information corresponding to the blacklist information to the VMI gateway 130. The VMI gateway 130 updates the ‘VM_Pointer’ and ‘Viewer_Blacklist’ items in the DB 132 based on the response information received from the VMI server 140.

도 3은 본 실시예에 따른 VMI 화면공유 장치를 개략적으로 나타낸 블럭 구성도이다.Figure 3 is a block diagram schematically showing the VMI screen sharing device according to this embodiment.

본 실시예에 따른 VMI 화면공유 장치(300)는 VMI 게이트웨이(130)와 VMI 서버(140)를 포함하여 하나의 장치로 구현될 수 있다.The VMI screen sharing device 300 according to this embodiment may be implemented as one device including the VMI gateway 130 and the VMI server 140.

본 실시예에 따른 VMI 화면공유 장치(300)는 리스트 생성부(310), 참여자 확인부(320) 및 영상 공유부(330)를 포함한다. VMI 화면공유 장치(300)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.The VMI screen sharing device 300 according to this embodiment includes a list creation unit 310, a participant confirmation unit 320, and a video sharing unit 330. Components included in the VMI screen sharing device 300 are not necessarily limited to this.

VMI 화면공유 장치(300)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.Each component included in the VMI screen sharing device 300 is connected to a communication path connecting software modules or hardware modules within the device and can operate organically with each other. These components communicate using one or more communication buses or signal lines.

도 3에 도시된 VMI 화면공유 장치(300)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.Each component of the VMI screen sharing device 300 shown in FIG. 3 refers to a unit that processes at least one function or operation, and may be implemented as a software module, a hardware module, or a combination of software and hardware.

리스트 생성부(310)는 VMI 클라이언트(110)로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성한다. 영상 공유방 설정 메시지는 ‘User_ID’, ‘Room_OnOff’, ‘Room_Name’, ‘Room_Max_Count’, ‘Room_Policy’, ‘Room_Password’, ‘Device_Info’, ‘Display_Info’, ‘User_VM_Quality’ 항목을 포함한다.The list generator 310 receives a video sharing room setting message for creating a video sharing room from the VMI client 110 and generates a video sharing room list. The video sharing room setting message includes the following items: ‘User_ID’, ‘Room_OnOff’, ‘Room_Name’, ‘Room_Max_Count’, ‘Room_Policy’, ‘Room_Password’, ‘Device_Info’, ‘Display_Info’, and ‘User_VM_Quality’.

참여자 확인부(320)는 영상 공유방 리스트 내에 포함되는 영상 공유방으로 타 VMI 클라이언트가 참여를 요청하는지의 여부를 확인한다.The participant confirmation unit 320 checks whether another VMI client requests participation in a video sharing room included in the video sharing room list.

참여자 확인부(320)는 영상 공유방에 참여한 타 VMI 클라이언트로부터 영상 공유방 식별정보(Room_Name), 참여자 식별정보(User_ID), 영상 공유방 비밀번호(Room_Password), 참여자 비트레이트 값 중 적어도 하나 이상의 정보를 포함하는 참여 요청 메시지(Request Message)를 수신한다.The participant confirmation unit 320 receives participation information including at least one of video sharing room identification information (Room_Name), participant identification information (User_ID), video sharing room password (Room_Password), and participant bitrate value from other VMI clients participating in the video sharing room. Receive a request message.

참여자 확인부(320)는 타 VMI 클라이언트로부터 수신된 참여 요청 메시지(Request Message) 내에 포함된 참여자 식별정보(User_ID)가 기 저장된 블랙리스트(Viewer_Blacklist)에 포함되어 있는 경우, 타 VMI 클라이언트로 참여 거부 메시지(Reject Message)를 전송한다.If the participant identification information (User_ID) included in the participation request message received from another VMI client is included in the previously stored blacklist (Viewer_Blacklist), the participant confirmation unit 320 sends a participation rejection message to the other VMI client. Send (Reject Message).

참여자 확인부(320)는 참여자 식별정보(User_ID)가 블랙리스트(Viewer_Blacklist)에 미포함되어 있는 경우, 타 VMI 클라이언트로 참여 수락 메시지(Accept Message)를 전송한 후 타 VMI 클라이언트를 해당 영상 공유방에 참여시킨다.If the participant identification information (User_ID) is not included in the blacklist (Viewer_Blacklist), the participant confirmation unit 320 sends a participation acceptance message (Accept Message) to the other VMI client and then causes the other VMI client to join the video sharing room. .

참여자 확인부(320)는 타 VMI 클라이언트로부터 수신된 참여 요청 메시지(Request Message) 내에 포함된 영상 공유방 비밀번호(Room_Password)가 영상 공유방에 기 설정된 비밀번호(Room_Password)와 미일치하는 경우, 타 VMI 클라이언트로 참여 거부 메시지(Reject Message)를 전송한다.If the video sharing room password (Room_Password) included in the participation request message received from another VMI client does not match the password (Room_Password) preset in the video sharing room, the participant confirmation unit 320 participates as another VMI client. Send a reject message.

참여자 확인부(320)는 영상 공유방 비밀번호가 영상 공유방에 기 설정된 비밀번호(Room_Password)와 일치하는 경우, 타 VMI 클라이언트로 참여 수락 메시지(Accept Message)를 전송한 후 타 VMI 클라이언트를 해당 영상 공유방에 참여시킨다.If the video sharing room password matches the password (Room_Password) previously set for the video sharing room, the participant confirmation unit 320 sends a participation acceptance message (Accept Message) to the other VMI client and then causes the other VMI client to join the video sharing room. .

참여자 확인부(320)는 VM ID 정보(VM_ID), VM 주소 정보(VM_Pointer), 게이트(Guest) 권한만을 포함하는 조건 참여 수락 메시지(Accept Message)를 타 VMI 클라이언트로 전송한다. 참여자 확인부(320)는 조건 참여 수락 메시지를 수신한 타 VMI 클라이언트를 해당 영상 공유방에 참여시키며, 영상 공유방에서 게스트 권한을 가진 VMI 클라이언트의 입력에 대해서 미응답 또는 미반응 하도록 영상 공유방의 환경을 설정한다.The participant confirmation unit 320 transmits a conditional participation acceptance message (Accept Message) containing only VM ID information (VM_ID), VM address information (VM_Pointer), and gate (Guest) permission to other VMI clients. The participant confirmation unit 320 allows other VMI clients that have received a conditional participation acceptance message to participate in the video sharing room, and sets the environment of the video sharing room so that it does not respond or does not respond to the input of the VMI client with guest authority in the video sharing room. do.

영상 공유부(330)는 타 VMI 클라이언트를 영상 공유방에 참여시킬지의 여부를 결정한다. 영상 공유부(330)는 기 설정된 비트레이트 값으로 VMI 클라이언트(110)로 제공되는 VMI 화면을 영상으로 변환하여 영상 공유방에 참여한 타 VMI 클라이언트로 전송한다.The video sharing unit 330 determines whether to allow other VMI clients to participate in the video sharing room. The video sharing unit 330 converts the VMI screen provided to the VMI client 110 into a video at a preset bit rate value and transmits it to other VMI clients participating in the video sharing room.

영상 공유부(330)는 VMI 클라이언트(110)가 갖는 사용자 식별정보(User_ID)에 대응하는 VMI 화면을 영상으로 인코딩한다. 영상 공유부(330)는 VMI 화면을 영상으로 인코딩할 때, 영상 공유방에 개설한 VMI 클라이언트(110)가 설정한 비트레이트 값(VM_Quality)으로 VMI 화면을 영상으로 인코딩하여 VMI 클라이언트(110)로 전송한다. 영상 공유부(330)는 VMI 화면을 영상으로 인코딩할 때, 영상 공유방에 참여한 타 VMI 클라이언트에서 각각 설정한 참여자 비트레이트 값으로 VMI 화면을 영상으로 인코딩하여 멀티캐스트 방식으로 타 VMI 클라이언트로 각각 전송한다.The video sharing unit 330 encodes the VMI screen corresponding to the user identification information (User_ID) held by the VMI client 110 into an image. When encoding the VMI screen into a video, the video sharing unit 330 encodes the VMI screen into a video using the bitrate value (VM_Quality) set by the VMI client 110 opened in the video sharing room and transmits it to the VMI client 110. do. When encoding the VMI screen into a video, the video sharing unit 330 encodes the VMI screen into a video using the participant bitrate value set by each other VMI client participating in the video sharing room and transmits it to each other VMI client through multicast. .

영상 공유부(330)는 VMI 클라이언트(110) 및 타 VMI 클라이언트로 VMI 화면을 전송할 때, 네트워크 상태에 따라 비트레이트 값을 가변적으로 변경한다. 영상 공유부(330)는 네트워크 상태를 인지하고, 네트워크의 전파환경정보에 포함된 RSSI(Received Signal Strength Indication) 값 등을 참조하여 네트워크 상태가 기 설정된 임계치 미만인 경우, 비트레이트를 낮추고, 네트워크 상태가 기 설정된 임계치 이상인 경우, 비트레이트를 유지하거나 높일 수 있다.When transmitting a VMI screen to the VMI client 110 and other VMI clients, the video sharing unit 330 variably changes the bit rate value according to network conditions. The video sharing unit 330 recognizes the network status, refers to the RSSI (Received Signal Strength Indication) value included in the radio wave environment information of the network, and lowers the bit rate when the network status is below a preset threshold. If it is above a preset threshold, the bit rate can be maintained or increased.

영상 공유부(330)는 영상 공유방에 참여한 타 VMI 클라이언트가 변경될 때마다 새롭게 참여한 타 VMI 클라이언트에서 설정한 참여자 비트레이트 값들을 수집한다. 영상 공유부(330)는 영상 공유방 내에 전체 참여자에 대한 전체 비트레이트 평균값(VM_Avg_Quality)을 산출한다. 영상 공유부(330)는 VMI 클라이언트(110)가 영상 공유방 개설시 설정한 비트레이트 값(VM_Quality)과 전체 비트레이트 평균값(VM_Avg_Quality)에 근거하여 전체 비트레이트 평균값(VM_Avg_Quality)으로 변환되는 영상을 전송할 수 있는 허용 범위(x)를 결정한다. 다시 말해, 영상 공유부(330)는 VMI 클라이언트(110)가 영상 공유방 개설시 설정한 비트레이트 값(VM_Quality)에서 전체 비트레이트 평균값(VM_Avg_Quality)을 차감한 값을 허용 범위(x)로 결정할 수 있다.The video sharing unit 330 collects the participant bitrate values set by the newly participating VMI clients whenever the other VMI clients participating in the video sharing room change. The video sharing unit 330 calculates the overall bitrate average value (VM_Avg_Quality) for all participants in the video sharing room. The video sharing unit 330 can transmit a video converted to the total bitrate average value (VM_Avg_Quality) based on the bitrate value (VM_Quality) and the total bitrate average value (VM_Avg_Quality) set by the VMI client 110 when opening the video sharing room. Determine the allowable range (x). In other words, the video sharing unit 330 may determine the allowable range (x) by subtracting the overall bitrate average value (VM_Avg_Quality) from the bitrate value (VM_Quality) set by the VMI client 110 when opening the video sharing room. .

영상 공유부(330)는 전체 비트레이트 평균값(VM_Avg_Quality)과 허용 범위(x) 사이의 값을 가진 타 VMI 클라이언트에 대한 비트레이트 평균값 또는 타 VMI 클라이언트 중 최소 비트레이트 값으로 최대 인코딩 횟수로 설정하여 컴퓨팅 전력(Computing Power)을 최소화한다. 다시 말해, 영상 공유부(330)는 전체 비트레이트 평균값(VM_Avg_Quality) ± 허용 범위(x) 사이의 값을 가진 타 VMI 클라이언트들의 비트레이트 평균값을 최대 인코딩 횟수로 설정할 수 있다. 영상 공유부(330)는 전체 비트레이트 평균값(VM_Avg_Quality) - 허용 범위(x) 보다 작은 값을 가진 타 VMI 클라이언트 중 최소 비트레이트 값을 최대 인코딩 횟수로 설정할 수 있다.The video sharing unit 330 sets the maximum number of encodings to the bitrate average value for other VMI clients with a value between the overall bitrate average value (VM_Avg_Quality) and the allowable range (x) or the minimum bitrate value among other VMI clients for computing. Minimize computing power. In other words, the video sharing unit 330 may set the average bitrate of other VMI clients with a value between the overall bitrate average value (VM_Avg_Quality) ± the allowable range (x) as the maximum number of encodings. The video sharing unit 330 may set the minimum bitrate value among other VMI clients with a value smaller than the total bitrate average value (VM_Avg_Quality) - allowable range (x) as the maximum number of encodings.

도 4는 본 실시예에 따른 VMI 화면공유방법을 설명하기 위한 순서도이다.Figure 4 is a flowchart for explaining the VMI screen sharing method according to this embodiment.

VMI 클라이언트(110)는 사용자의 조작 또는 명령에 의해 자신의 VMI 화면을 타인에게 실시간으로 공유하기 위해, 환경 설정에서 영상 공유 옵션을 설정한다(S410). 단계 S410에서, VMI 클라이언트(110)는 환경 설정 내에서 다양한 옵션 중 ‘Room_OnOff’를 On으로 설정한다. VMI 클라이언트(110)는 환경 설정 내에서 옵션이 변경되면 영상 공유방 설정 메시지를 VMI 게이트웨이(130)로 전송한다.The VMI client 110 sets video sharing options in the environment settings in order to share its VMI screen with others in real time by a user's operation or command (S410). In step S410, the VMI client 110 sets ‘Room_OnOff’ to On among various options in the environment settings. When an option in the environment settings is changed, the VMI client 110 transmits a video sharing room setting message to the VMI gateway 130.

VMI 게이트웨이(130)는 영상 공유방 설정 메시지를 VMI 클라이언트(110)로부터 수신하면 영상 공유방 설정 메시지에 대응하는 영상 공유방 정보를 영상 공유방 DB(132) 내에 생성하고 영상 공유방 리스트를 업데이트한다(S412). 단계 S412에서, VMI 게이트웨이(130)는 VMI 클라이언트(110)로부터 영상 공유방 설정 메시지를 수신하면 DB(132)를 업데이트하여 영상 공유방에 참여하고자 하는 타 VMI 클라이언트들이 업데이트된 영상 공유방 정보를 확인할 수 있도록 한다. When the VMI gateway 130 receives the video sharing room setting message from the VMI client 110, the VMI gateway 130 creates video sharing room information corresponding to the video sharing room setting message in the video sharing room DB 132 and updates the video sharing room list (S412). In step S412, when the VMI gateway 130 receives a video sharing room setup message from the VMI client 110, it updates the DB 132 so that other VMI clients who want to participate in the video sharing room can check the updated video sharing room information. .

VMI 서버(140)는 VMI 게이트웨이(130)에서 업데이트한 영상 공유방 DB(132) 내에 저장된 정보와 영상 공유방 리스트를 VMI 게이트웨이(130)와 동기화한다(S414). VMI 게이트웨이(130) 및 VMI 서버(140)는 영상 공유방 생성을 완료(S416)하고, 영상 공유방을 실행한다(S418). VMI 게이트웨이(130) 및 VMI 서버(140)는 영상 공유방 리스트에 포함되는 영상 공유방에 타 VMI 클라이언트가 참여했는지의 여부를 확인한다(S420).The VMI server 140 synchronizes the information stored in the video sharing room DB 132 updated by the VMI gateway 130 and the video sharing room list with the VMI gateway 130 (S414). The VMI gateway 130 and the VMI server 140 complete the creation of the video sharing room (S416) and run the video sharing room (S418). The VMI gateway 130 and the VMI server 140 check whether other VMI clients have participated in the video sharing room included in the video sharing room list (S420).

영상 공유방 리스트 중 어느 하나의 공유방에 타 VMI 클라이언트가 참여한 경우, VMI 게이트웨이(130)는 영상 공유방 DB(132) 및 영상 공유방 리스트를 업데이트한다(S422). VMI 서버(140)는 VMI 게이트웨이(130)에서 업데이트한 영상 공유방 DB(132) 및 영상 공유방 리스트를 동기화한다(S424). 타 VMI 클라이언트는 VMI 게이트웨이(130)에 접속하여 영상 공유방 리스트를 확인할 수 있다.If another VMI client participates in one of the shared rooms in the video shared room list, the VMI gateway 130 updates the video shared room DB 132 and the video shared room list (S422). The VMI server 140 synchronizes the video sharing room DB 132 and the video sharing room list updated by the VMI gateway 130 (S424). Other VMI clients can access the VMI gateway 130 to check the video sharing room list.

영상 공유 참여자인 타 VMI 클라이언트는 VMI 게이트웨이(130)에 접속한 상태에서 타 사용자의 조작 또는 명령에 의해 VMI 클라이언트(110)가 등록한 영상 공유방 리스트를 확인한 후 자신이 참여할 영상 공유방을 선택한다(S430). Other VMI clients, who are video sharing participants, check the list of video sharing rooms registered by the VMI client 110 by another user's operation or command while connected to the VMI gateway 130 and then select a video sharing room to join (S430). .

타 VMI 클라이언트는 VMI 게이트웨이(130)로 ‘Room_Name’, ‘User_ID’, ‘Room_Password(비밀번호가 설정된 방일 경우)’ 정보와 현재 자신이 VMI 서비스를 위해 사전에 설정된 비트레이트(Bitrate) 값이 포함된 참여 요청 메시지(Request Message)를 전송한다(S432).Other VMI clients participate with the VMI gateway 130, including 'Room_Name', 'User_ID', and 'Room_Password (if a password is set)' information and the bitrate value that is currently set in advance for the VMI service. A request message is transmitted (S432).

VMI 게이트웨이(130)는 타 VMI 클라이언트로부터 수신된 참여 요청 메시지 내에 포함된 영상 공유방 참여 요청자가 ‘Viewer_Blacklist’에 포함되어 있는지의 여부를 확인한다(S434). The VMI gateway 130 checks whether the video sharing room participation requester included in the participation request message received from another VMI client is included in the ‘Viewer_Blacklist’ (S434).

단계 S434의 확인 결과, 참여 요청 메시지 내에 포함된 영상 공유방 참여 요청자가 ‘Viewer_Blacklist’에 미포함된 경우, VMI 게이트웨이(130)는 타 VMI 클라이언트로부터 수신된 참여 요청 메시지 내에 포함된 패스워드 정보가 ‘Room_Password’와 일치하는 지의 여부를 확인한다(S436).As a result of checking in step S434, if the video sharing room participation requester included in the participation request message is not included in the 'Viewer_Blacklist', the VMI gateway 130 determines that the password information included in the participation request message received from another VMI client is 'Room_Password' and Check whether they match (S436).

단계 S434의 확인 결과, 참여 요청 메시지 내에 포함된 영상 공유방 참여 요청자가 ‘Viewer_Blacklist’에 포함되어 있거나, 단계 S436의 확인 결과, 참여 요청 메시지 내에 포함된 패스워드 정보가 ‘Room_Password’와 미일치하는 경우, VMI 게이트웨이(130)는 참여 거부 메시지(Reject Message)를 타 VMI 클라이언트로 전송한다(S438).As a result of step S434, if the requester to participate in the video sharing room included in the participation request message is included in the 'Viewer_Blacklist', or as a result of step S436, if the password information included in the participation request message does not match 'Room_Password', VMI The gateway 130 transmits a participation rejection message (Reject Message) to other VMI clients (S438).

단계 S434의 확인 결과, 참여 요청 메시지 내에 포함된 영상 공유방 참여 요청자가 ‘Viewer_Blacklist’에 미포함되거나, 단계 S436의 확인 결과, 참여 요청 메시지 내에 포함된 패스워드 정보가 ‘Room_Password’와 일치하는 경우, VMI 게이트웨이(130)는 타 VMI 클라이언트로 참여 수락 메시지(Accept Message)를 전송하고, 타 VMI 클라이언트를 해당 영상 공유방에 참여시킨다(S440).As a result of step S434, if the video sharing room participation requester included in the participation request message is not included in the 'Viewer_Blacklist', or as a result of step S436, if the password information included in the participation request message matches 'Room_Password', the VMI gateway ( 130) sends a participation acceptance message to other VMI clients and causes the other VMI clients to participate in the video sharing room (S440).

단계 S440 이외의 경우, VMI 게이트웨이(130)는 ‘VM_ID’와 ‘VM_Pointer’ 정보와 게이트(Guest) 권한으로 설정된(화면만 볼 수 있음) 조건 참여 수락 메시지(Accept Message)를 타 VMI 클라이언트로 전송할 수 있다. 타 VMI 클라이언트는 조건 참여 수락 메시지를 수신하면 해당 영상 공유방에 참여할 수 있으며, VMI 게이트웨이(130)는 DB(132)를 업데이트한다.In cases other than step S440, the VMI gateway 130 may transmit 'VM_ID' and 'VM_Pointer' information and a conditional participation acceptance message (Accept Message) set with gate (Guest) permissions (can only view the screen) to other VMI clients. there is. When other VMI clients receive a conditional participation acceptance message, they can participate in the video sharing room, and the VMI gateway 130 updates the DB 132.

타 VMI 클라이언트(110)는 VMI 게이트웨이(130)로부터 수신한 ‘VM_ID’와 ‘VM_Pointer’ 값을 참조하여 해당 영상 공유방에 접속한다. 영상 공유방을 개설한 VMI 클라이언트(110)는 게스트 권한을 확인하면 환경 설정 메뉴 부분을 제외하고 VMI 화면을 터치해도 아무런 응답/반응을 하지 않도록 환경을 설정한다.Other VMI clients 110 access the video sharing room by referring to the ‘VM_ID’ and ‘VM_Pointer’ values received from the VMI gateway 130. When the VMI client 110, which has opened a video sharing room, confirms guest permissions, it sets the environment so that no response/reaction is made when the VMI screen is touched except for the environment setting menu portion.

VMI 서버(140)는 VMI 화면을 공유하기 위해 기본적으로 영상 공유방 개설자가 요청한 비트레이트 값인 ‘VM_Quality’로 VMI 화면을 영상으로 변환하여 영상 공유방 개설자인 VMI 클라이언트(110)로 전송한다. VMI 서버(140)는 VMI 화면 영상 공유방에 참여한 타 VMI 클라이언트들이 설정한 사용자 비트레이트 값으로 각각 인코딩한 후 영상 공유방에 참여한 타 VMI 클라이언트들로 전송한다.In order to share the VMI screen, the VMI server 140 basically converts the VMI screen into a video using ‘VM_Quality’, which is the bitrate value requested by the video sharing room creator, and transmits it to the VMI client 110, the video sharing room creator. The VMI server 140 encodes each screen with the user bitrate value set by other VMI clients participating in the VMI screen video sharing room and then transmits it to other VMI clients participating in the video sharing room.

VMI 서버(140)는 네트워크 상태를 인지한 후 네트워크 상태와 임계치를 비교하여 네트워크 상태가 좋지 않다고 판단한 경우, 영상 공유방에 참여한 타 VMI 클라이언트로 전송하는 영상의 비트레이트를 가변적으로 조절한다.After recognizing the network status, the VMI server 140 compares the network status and the threshold and, if it determines that the network status is poor, variably adjusts the bit rate of the video transmitted to other VMI clients participating in the video sharing room.

VMI 게이트웨이(130)는 영상 공유방에 참여한 참여자 정보가 변경될 때마다 참여자의 현재 영상 비트레이트 값들을 수집하고, 전체 참여자 수의 비트레이트 평균값을 영상 공유방 DB 내의 ‘VM_Avg_Quality’ 항목에 저장한다.The VMI gateway 130 collects the current video bitrate values of the participants whenever the information of the participants in the video sharing room is changed, and stores the average bitrate value of the total number of participants in the ‘VM_Avg_Quality’ item in the video sharing room DB.

VMI 게이트웨이(130)는 ‘VM_Avg_Quality’ 값으로 설정되는 영상을 어떤 비트레이트 값을 가진 사용자에게까지 보낼 수 있는지 결정하기 위해, 허용 범위(x)를 결정한다. 허용 범위(x)값은 ‘VM_Quality’ - ‘VM_Avg_Quality’로 계산한다.The VMI gateway 130 determines the allowable range (x) to determine to which users the video set to the ‘VM_Avg_Quality’ value can be sent to which bitrate value. The allowable range (x) value is calculated as ‘VM_Quality’ - ‘VM_Avg_Quality’.

VMI 게이트웨이(130)는 [표 4]와 같은 케이스로 영상 비트레이트 수준을 결정한다.The VMI gateway 130 determines the video bitrate level in the case shown in [Table 4].

Figure 112018099426070-pat00004
Figure 112018099426070-pat00004

VMI 게이트웨이(130)는 [표 4]와 같이 케이스를 정의한 이유는, VMI 서버(140)에서 비트레이트에 따른 인코딩 횟수를 최소화하기 위함이다. 다시 말해, VMI 서버(140)는 [표 4]와 같은 기준을 근거로 인코딩 횟수를 최대 2번까지만 허용하여, VMI 서버(140)에서 사용하는 컴퓨팅 전력(Computing Power)을 최소화한다.The reason why the VMI gateway 130 defines the cases as shown in [Table 4] is to minimize the number of encodings according to the bit rate in the VMI server 140. In other words, the VMI server 140 allows the number of encodings to be up to 2 based on the standards shown in Table 4, thereby minimizing the computing power used by the VMI server 140.

VMI 게이트웨이(130)는 전술한 방식으로 설정된 비트레이트 값들을 VMI 서버(140)로 전달하고, 영상 공유방에 참여한 타 VMI 클라이언트들에게도 각각의 설정된 비트레이트 정보를 전달한다.The VMI gateway 130 transmits the bitrate values set in the above-described manner to the VMI server 140, and also transmits each set bitrate information to other VMI clients participating in the video sharing room.

VMI 서버(140)는 기존 User_ID에 대응하는 VMI 화면을 영상으로 인코딩하여 VMI 게이트웨이(130)로 전송한다.The VMI server 140 encodes the VMI screen corresponding to the existing User_ID into an image and transmits it to the VMI gateway 130.

VMI 게이트웨이(130)는 영상 공유방 정보를 확인하고, 영상 공유방에 참여한 타 VMI 클라이언트에게 VMI 서버(140)로부터 수신한 VIM 화면에 대응하는 영상을 동시에 멀티캐스트 방식으로 전송한다. 이때, VMI 서버(140)가 비트레이트별로 인코딩한 영상을 인증된 참여자인 타 VMI 클라이언트들로 전송한다.The VMI gateway 130 checks the video sharing room information and simultaneously multicasts the video corresponding to the VIM screen received from the VMI server 140 to other VMI clients participating in the video sharing room. At this time, the VMI server 140 transmits the video encoded by bit rate to other VMI clients that are authenticated participants.

영상 공유방 개설자인 VMI 클라이언트(110)와 영상 공유방 참여자인 타 VMI 클라이언트들은 VMI 게이트웨이(130)로부터 수신된 VMI 화면에 대응하는 영상을 디코딩(Decoding)하여 디바이스 상에 표시한다.The VMI client 110, the video sharing room creator, and other VMI clients who are video sharing room participants decode the video corresponding to the VMI screen received from the VMI gateway 130 and display it on the device.

도 4에서는 단계 S410 내지 단계 S440을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 4에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 4는 시계열적인 순서로 한정되는 것은 아니다.In Figure 4, steps S410 to S440 are described as being sequentially executed, but this is not necessarily limited. In other words, the steps shown in FIG. 4 may be applied by modifying them or executing one or more steps in parallel, so FIG. 4 is not limited to a time-series order.

전술한 바와 같이 도 4에 기재된 본 실시예에 따른 VMI 화면공유 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 VMI 화면공유 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. As described above, the VMI screen sharing method according to this embodiment shown in FIG. 4 can be implemented as a program and recorded on a computer-readable recording medium. The computer-readable recording medium on which the program for implementing the VMI screen sharing method according to this embodiment is recorded includes all types of recording devices that store data that can be read by a computer system.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an illustrative explanation of the technical idea of the present embodiment, and those skilled in the art will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present embodiments are not intended to limit the technical idea of the present embodiment, but rather to explain it, and the scope of the technical idea of the present embodiment is not limited by these examples. The scope of protection of this embodiment should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of rights of this embodiment.

이상에서 설명한 바와 같이 본 실시예는 가상 스마트폰 환경을 사용자에게 제공해주는 분야에 적용되어, 사용자 자신의 VMI 화면을 복수의 타 사용자들에게 실시간으로 공유하여, 스마트폰 방송 서비스, 영상 공유 서비스, 재난 방송 서비스에 적용되는 효과를 발생하는 유용한 발명이다.As described above, this embodiment is applied to the field of providing a virtual smartphone environment to users, sharing the user's own VMI screen with a plurality of other users in real time, such as smartphone broadcasting service, video sharing service, disaster It is a useful invention that produces effects applicable to broadcasting services.

110: VMI 클라이언트 120: 네트워크
130: VMI 게이트웨이 140: VMI 서버
310: 리스트 생성부 320: 참여자 확인부
330: 영상 공유부
110: VMI Client 120: Network
130: VMI gateway 140: VMI server
310: List creation unit 320: Participant confirmation unit
330: Video sharing unit

Claims (11)

VMI 클라이언트로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성하는 리스트 생성부; 및
상기 영상 공유방 리스트 내에 포함된 영상 공유방에 참여 요청한 타 VMI 클라이언트가 존재하면, 기 설정된 비트레이트 값으로 상기 VMI 클라이언트로 제공되는 VMI 화면을 상기 타 VMI 클라이언트가 설정한 참여자 비트레이트의 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 영상 공유부
를 포함하되,
상기 영상 공유부는,
네트워크 상태에 따라 상기 참여자 비트레이트를 가변적으로 변경하되, 상기 네트워크 상태가 좋지 않다고 판단되는 경우, 상기 기 설정된 비트레이트 값 및 상기 영상 공유방에 참여한 모든 타 VMI 클라이언트의 참여자 비트레이트에 대한 평균값을 기초로 허용 범위(x)를 결정하고,
상기 평균값과의 차이가 상기 허용 범위(x) 내인 참여자 비트레이트를 갖는 타 VMI 클라이언트의 비트레이트를 상기 참여자 비트레이트에 대한 평균값으로 변경하는 것을 특징으로 하는 VMI 화면공유 장치.
a list creation unit that receives a video sharing room setting message for creating a video sharing room from a VMI client and generates a video sharing room list; and
If there is another VMI client requesting participation in the video sharing room included in the video sharing room list, the VMI screen provided to the VMI client with a preset bitrate value is converted to a video of the participant bitrate set by the other VMI client, Video sharing unit for transmitting to other VMI clients
Including,
The video sharing department,
The participant bitrate is variably changed depending on the network condition, but if the network condition is judged to be poor, the participant bitrate is based on the preset bitrate value and the average value of the participant bitrates of all other VMI clients participating in the video sharing room. Determine the allowable range (x),
A VMI screen sharing device characterized in that the bit rate of another VMI client having a participant bit rate whose difference from the average value is within the allowable range (x) is changed to the average value for the participant bit rate.
제 1 항에 있어서,
상기 영상 공유부는,
상기 VMI 클라이언트가 갖는 사용자 식별정보(User_ID)에 대응하는 상기 VMI 화면을 영상으로 인코딩할 때,
상기 VMI 클라이언트가 설정한 비트레이트 값(VM_Quality)으로 상기 VMI 화면을 영상으로 인코딩하여 상기 VMI 클라이언트로 전송하며,
상기 타 VMI 클라이언트에서 각각 설정한 참여자 비트레이트 값으로 상기 VMI 화면을 영상으로 인코딩하여 멀티캐스트 방식으로 상기 타 VMI 클라이언트로 각각 전송하는 것을 특징으로 하는 VMI 화면공유 장치.
According to claim 1,
The video sharing department,
When encoding the VMI screen corresponding to the user identification information (User_ID) held by the VMI client into an image,
Encoding the VMI screen into an image with a bitrate value (VM_Quality) set by the VMI client and transmitting it to the VMI client,
A VMI screen sharing device characterized in that the VMI screen is encoded into a video using the participant bitrate value set by each of the other VMI clients and transmitted to each of the other VMI clients in a multicast manner.
삭제delete 제 1 항에 있어서,
상기 영상 공유부는,
상기 영상 공유방에 참여한 상기 타 VMI 클라이언트가 변경될 때마다 새롭게 참여한 타 VMI 클라이언트에서 설정한 참여자 비트레이트 값들을 수집하고,
상기 영상 공유방 내에 상기 새롭게 참여한 타 VMI 클라이언트를 포함한 전체 참여자에 대한 새로운 전체 비트레이트 평균값(VM_Avg_Quality)을 산출하는 것을 특징으로 하는 VMI 화면공유 장치.
According to claim 1,
The video sharing department,
Whenever the other VMI clients participating in the video sharing room change, the participant bitrate values set by the newly participating other VMI clients are collected,
A VMI screen sharing device characterized in that it calculates a new overall bitrate average value (VM_Avg_Quality) for all participants, including other newly joined VMI clients, in the video sharing room.
제 4 항에 있어서,
상기 영상 공유부는,
상기 전체 비트레이트 평균값(VM_Avg_Quality)과 상기 허용 범위(x) 사이의 값을 가진 타 VMI 클라이언트에 대한 비트레이트 평균값 또는 타 VMI 클라이언트 중 최소 비트레이트 값으로 최대 인코딩 횟수로 설정하여 컴퓨팅 전력(Computing Power)을 최소화하는 것을 특징으로 하는 VMI 화면공유 장치.
According to claim 4,
The video sharing department,
Computing Power (Computing Power) by setting the maximum number of encodings to the bitrate average value for other VMI clients with a value between the overall bitrate average value (VM_Avg_Quality) and the allowable range (x) or the minimum bitrate value among other VMI clients. A VMI screen sharing device characterized by minimizing.
제 1 항에 있어서,
상기 영상 공유방 리스트 내에 포함되는 영상 공유방으로 상기 타 VMI 클라이언트가 참여를 요청하는지의 여부를 확인하는 참여자 확인부를 추가로 포함하는 것을 특징으로 하는 VMI 화면공유 장치.
According to claim 1,
A VMI screen sharing device further comprising a participant confirmation unit that checks whether another VMI client requests participation in a video sharing room included in the video sharing room list.
제 6 항에 있어서,
상기 참여자 확인부는 상기 타 VMI 클라이언트로부터 수신된 참여 요청 메시지(Request Message) 내에 포함된 참여자 식별정보(User_ID)가 기 저장된 블랙리스트(Viewer_Blacklist)에 포함되어 있는 경우, 상기 타 VMI 클라이언트로 참여 거부 메시지(Reject Message)를 전송하며,
상기 참여자 식별정보(User_ID)가 블랙리스트(Viewer_Blacklist)에 미포함되어 있는 경우, 상기 타 VMI 클라이언트로 참여 수락 메시지(Accept Message)를 전송한 후 상기 타 VMI 클라이언트를 해당 영상 공유방에 참여시키는 것을 특징으로 하는 VMI 화면공유 장치.
According to claim 6,
If the participant identification information (User_ID) included in the participation request message (Request Message) received from the other VMI client is included in the pre-stored blacklist (Viewer_Blacklist), the participant confirmation unit sends a participation rejection message to the other VMI client ( Sends a Reject Message,
If the participant identification information (User_ID) is not included in the blacklist (Viewer_Blacklist), an Accept Message is sent to the other VMI client and then the other VMI client participates in the video sharing room. VMI screen sharing device.
제 6 항에 있어서,
상기 참여자 확인부는,
상기 타 VMI 클라이언트로부터 수신된 참여 요청 메시지(Request Message) 내에 포함된 영상 공유방 비밀번호(Room_Password)가 영상 공유방에 기 설정된 비밀번호(Room_Password)와 미일치하는 경우, 상기 타 VMI 클라이언트로 참여 거부 메시지(Reject Message)를 전송하며, 상기 영상 공유방 비밀번호가 영상 공유방에 기 설정된 비밀번호(Room_Password)와 일치하는 경우, 상기 타 VMI 클라이언트로 참여 수락 메시지(Accept Message)를 전송한 후 상기 타 VMI 클라이언트를 해당 영상 공유방에 참여시키는 것을 특징으로 하는 VMI 화면공유 장치.
According to claim 6,
The participant confirmation department,
If the video sharing room password (Room_Password) included in the participation request message (Request Message) received from the other VMI client does not match the password (Room_Password) preset in the video sharing room, a participation rejection message (Reject Message) is sent to the other VMI client. ), and if the video sharing room password matches the password (Room_Password) preset in the video sharing room, an Accept Message is sent to the other VMI client, and then the other VMI client participates in the video sharing room. A VMI screen sharing device characterized by allowing
제 6 항에 있어서,
상기 참여자 확인부는,
게이트(Guest) 권한만을 포함하는 조건 참여 수락 메시지(Accept Message)를 상기 타 VMI 클라이언트로 전송한 후 상기 조건 참여 수락 메시지를 수신한 상기 타 VMI 클라이언트를 해당 영상 공유방에 참여시키며, 상기 영상 공유방에서 게스트 권한을 가진 VMI 클라이언트의 입력에 대해서 미응답 또는 미반응 하도록 영상 공유방의 환경을 설정하는 것을 특징으로 하는 VMI 화면공유 장치.
According to claim 6,
The participant confirmation department,
After sending a conditional participation acceptance message containing only gate (Guest) permission to the other VMI client, the other VMI client who received the conditional participation acceptance message is made to participate in the video sharing room, and the guest in the video sharing room is allowed to participate in the video sharing room. A VMI screen sharing device that sets the environment of the video sharing room so that it does not respond or does not respond to input from a VMI client with authority.
하드웨어와 결합되어,
VMI 클라이언트로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성하는 과정; 및
상기 영상 공유방 리스트 내에 포함된 영상 공유방에 참여 요청한 타 VMI 클라이언트가 존재하면, 기 설정된 비트레이트 값으로 상기 VMI 클라이언트로 제공되는 VMI 화면을 상기 타 VMI 클라이언트가 설정한 참여자 비트레이트의 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 과정을 포함하되,
상기 VMI 화면을 상기 타 VMI 클라이언트가 설정한 참여자 비트레이트의 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 과정은,
네트워크 상태에 따라 상기 참여자 비트레이트를 가변적으로 변경하되, 상기 네트워크 상태가 좋지 않다고 판단되는 경우, 상기 기 설정된 비트레이트 값 및 상기 영상 공유방에 참여한 모든 타 VMI 클라이언트의 참여자 비트레이트에 대한 평균값을 기초로 허용 범위(x)를 결정하는 과정; 및
상기 평균값과의 차이가 상기 허용 범위(x) 내인 참여자 비트레이트를 갖는 타 VMI 클라이언트의 비트레이트를 상기 참여자 비트레이트에 대한 평균값으로 변경하는 과정을 포함하는 것을 특징으로 하는 VMI 화면공유 방법
을 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터프로그램.
Combined with hardware,
A process of receiving a video sharing room setup message for creating a video sharing room from a VMI client and creating a video sharing room list; and
If there is another VMI client requesting participation in the video sharing room included in the video sharing room list, the VMI screen provided to the VMI client with a preset bitrate value is converted to a video of the participant bitrate set by the other VMI client, Including the process of transferring to another VMI client,
The process of converting the VMI screen into an image of the participant bitrate set by the other VMI client and transmitting it to the other VMI client,
The participant bitrate is variably changed depending on the network condition, but if the network condition is judged to be poor, the participant bitrate is based on the preset bitrate value and the average value of the participant bitrates of all other VMI clients participating in the video sharing room. The process of determining the acceptable range (x); and
A VMI screen sharing method comprising changing the bit rate of another VMI client having a participant bit rate whose difference from the average value is within the allowable range (x) to the average value for the participant bit rate.
A computer program stored on a computer-readable recording medium for execution.
VMI 클라이언트로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성하는 과정; 및
상기 영상 공유방 리스트 내에 포함된 영상 공유방에 참여 요청한 타 VMI 클라이언트가 존재하면, 기 설정된 비트레이트 값으로 상기 VMI 클라이언트로 제공되는 VMI 화면을 상기 타 VMI 클라이언트가 설정한 참여자 비트레이트의 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 과정을 포함하되,
상기 VMI 화면을 상기 타 VMI 클라이언트가 설정한 참여자 비트레이트의 영상으로 변환하여 상기 타 VMI 클라이언트로 전송하는 과정은,
네트워크 상태에 따라 상기 참여자 비트레이트를 가변적으로 변경하되, 상기 네트워크 상태가 좋지 않다고 판단되는 경우, 상기 기 설정된 비트레이트 값 및 상기 영상 공유방에 참여한 모든 타 VMI 클라이언트의 참여자 비트레이트에 대한 평균값을 기초로 허용 범위(x)를 결정하는 과정; 및
상기 평균값과의 차이가 상기 허용 범위(x) 내인 참여자 비트레이트를 갖는 타 VMI 클라이언트의 비트레이트를 상기 참여자 비트레이트에 대한 평균값으로 변경하는 과정
을 포함하는 것을 특징으로 하는 VMI 화면공유 방법.
A process of receiving a video sharing room setup message for creating a video sharing room from a VMI client and creating a video sharing room list; and
If there is another VMI client requesting participation in the video sharing room included in the video sharing room list, the VMI screen provided to the VMI client with a preset bitrate value is converted to a video of the participant bitrate set by the other VMI client, Including the process of transferring to another VMI client,
The process of converting the VMI screen into an image of the participant bitrate set by the other VMI client and transmitting it to the other VMI client,
The participant bitrate is variably changed depending on the network condition, but if the network condition is judged to be poor, the participant bitrate is based on the preset bitrate value and the average value of the participant bitrates of all other VMI clients participating in the video sharing room. The process of determining the acceptable range (x); and
A process of changing the bit rate of another VMI client whose participant bit rate whose difference from the average value is within the allowable range (x) to the average value for the participant bit rate
A VMI screen sharing method comprising:
KR1020180120232A 2018-10-10 2018-10-10 Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen KR102615305B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180120232A KR102615305B1 (en) 2018-10-10 2018-10-10 Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180120232A KR102615305B1 (en) 2018-10-10 2018-10-10 Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen

Publications (2)

Publication Number Publication Date
KR20200040406A KR20200040406A (en) 2020-04-20
KR102615305B1 true KR102615305B1 (en) 2023-12-15

Family

ID=70467085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120232A KR102615305B1 (en) 2018-10-10 2018-10-10 Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen

Country Status (1)

Country Link
KR (1) KR102615305B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115379279A (en) * 2022-07-22 2022-11-22 深圳市酷开网络科技股份有限公司 Multi-screen linkage interaction method, device and system, storage medium and electronic equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180109625A1 (en) * 2016-10-13 2018-04-19 Sierraware, Llc Method for cloud based mobile application virtualization

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101720778B1 (en) * 2014-08-13 2017-03-28 에스프린팅솔루션 주식회사 Cloud system and method for displaying contents thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180109625A1 (en) * 2016-10-13 2018-04-19 Sierraware, Llc Method for cloud based mobile application virtualization

Also Published As

Publication number Publication date
KR20200040406A (en) 2020-04-20

Similar Documents

Publication Publication Date Title
US9332039B2 (en) Method, apparatus, and system for establishing voice communication
CN108055575B (en) Network video sharing system based on simulated screen projection for community
CN105264864A (en) Maintaining video conference session continuity during transfer of session to alternative device
WO2014163938A1 (en) Identification delegation for devices
WO2023000948A1 (en) Electronic sports data processing method and apparatus, and device and storage medium
US20150341213A1 (en) Method, system and server for service switching
US20130005311A1 (en) Telecommunication network
US10419543B2 (en) Method and system for establishing a connection between a seeker device and a target device
CN106559787B (en) Network access method, device and system
US20160261602A1 (en) Device-to-Device Network Membership Confirmation
WO2023000939A1 (en) Electronic sports data processing method and apparatus, and computer device and storage medium
US20190098060A1 (en) On Demand In-Band Signaling for Conferences
Cui et al. A survey on secure deployment of mobile services in edge computing
KR102615305B1 (en) Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen
CN112753031A (en) Media content control
CN113996065A (en) Control method, device and system of cloud game and electronic equipment
CN112055175B (en) Video partition-based negotiation transmission method, electronic device and recording medium
US11019140B1 (en) Systems and methods for peer-to-peer data exchange via multi-access edge computing
US10205686B2 (en) Communication terminal, communication system, and output method
TU et al. Key technologies and application of edge computing
KR101883452B1 (en) Apparatus and method for providing on-line game
US20230087220A1 (en) Data processing method and apparatus based on instant messaging, device, and storage medium
US20200186504A1 (en) Secure Virtual Personalized Network
CN114844663A (en) Desktop sharing method, system, storage medium and equipment
KR102537913B1 (en) Method And Apparatus for Displaying VMI Screen and Local Screen in Specific Region

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant