KR102615305B1 - Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen - Google Patents
Method And Apparatus for Sharing Virtual Mobile Infrastructure Screen Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000008569 process Effects 0.000 claims description 18
- 238000012790 confirmation Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2743—Video hosting of uploaded data from client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing 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/234381—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing 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/23439—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised 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.
Description
본 실시예는 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
VMI 클라이언트(110)는 디바이스 상에 VM(Virtual Machine)을 표시하기 위한 애플리케이션 역할을 수행한다. 여기서, 디바이스는 사용자의 키 조작에 따라 네트워크(120)를 경유하여 음성 또는 데이터 통신을 수행하는 전자 기기를 의미한다. 디바이스는 네트워크(120)를 경유하여 VMI 서버(140)와 통신하기 위한 프로그램 또는 프로토콜을 저장하기 위한 메모리, 해당 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비한다.The VMI
디바이스는 스마트폰(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
VMI 클라이언트(110)는 VMI 게이트웨이(130)와 연결되어 사용자 인증, VMI 서비스 제공 수준(네트워크 대역폭, 해상도 등) 확정하고, 데이터 보안 통신을 수행한다. VMI 클라이언트(110)는 사용자 기본 정보, 디바이스의 로컬 정보(하드웨어(HW), 소프트웨어(SW) 등), 사용자 액션 정보(터치, 스크롤 등) 등을 VMI 게이트웨이(130)를 경유하여 VMI 서버(140)로 전달한다. VMI 클라이언트(110)는 환경 설정 기능을 이용하여 사용자별로 다양한 설정 옵션(Option)을 설정하도록 한다. VMI 클라이언트(110)는 실제 화면에 대해 VMI 서버(140)에서 실시간 인코딩 처리한 영상을 수신하여 디바이스 상의 디스플레이에 출력한다.The VMI
VMI 클라이언트(110)는 VMI 서버(140)를 이용하여 자신의 VMI 화면을 타 VMI 클라이언트에게 실시간으로 공유한다. VMI 클라이언트(110)는 자신의 VMI 화면을 타 VMI 클라이언트에게 공유하는 기능을 이용하여 일종의 미디어 방송 애플리케이션으로 이용될 수 있다. VMI 클라이언트(110)는 재난 상황에서의 영상이나 중앙통제센터의 통계 화면, 현장에서 촬영되는 영상 등을 현장에 다수 공유, BJ의 애플리케이션 게임 방송 등에도 활용 가능하다. VMI 클라이언트(110)는 로컬(Local)에서 카메라를 사용하는 경우를 제외하고, VMI 서버(140)에서 실제 프로세스가 진행되기 때문에, 터치 또는 입력 등을 제외하고는 네트워크(120) 상에 업링크 데이터가 발생하지 않는다.The VMI
네트워크(120)는 추후 적용될 5G 네트워크인 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 인터넷망뿐만 아니라, WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), LTE(Long Term Evolution), EPC(Evolved Packet Core) 등이 적용될 수 있다.The
VMI 게이트웨이(130)는 VMI 서비스 제공을 위해 VMI 클라이언트(110)와 VMI 서버(140) 사이에 중계 역할을 수행하는 장치를 의미한다. VMI 게이트웨이(130)는 VMI 클라이언트(110)에 대한 인증을 수행하고, 인증결과에 따라 VMI 서비스 제공을 위한 VMI 서버(140)와 데이터를 중계한다.The VMI
VMI 게이트웨이(130)는 VMI 클라이언트(110)로부터 VMI 서비스와 관련하여 입력된 사용자 입력정보를 VMI 서버(140)로 전달하고, VMI 서버(140)로부터 수신된 응답을 VMI 클라이언트(110)로 전달한다. 예컨대, VMI 게이트웨이(130)는 VMI 클라이언트(110)로부터 수신된 사용자 액션 정보(터치, 스크롤 등)를 VMI 서버(140)로 전달하고, VMI 서버(140)로부터 사용자 액션 정보에 대응하여 인코딩된 영상을 수신하여 VMI 클라이언트(110)로 전달한다.The VMI
VMI 게이트웨이(130)는 보안 컴플라이언스(Compliance) 및 망분리에 대응하기 위해 디바이스의 연결을 일원화하는 게이트웨이 노드를 의미한다. VMI 게이트웨이(130)는 VMI 사용자 인증 및 VMI 클라이언트(110)에게 VMI 서비스 제공을 위해 VMI 서버(140)와 연결한다. VMI 게이트웨이(130)는 VMI 클라이언트(110)와 암호화된 데이터를 교환한다.The VMI
VMI 서버(140)는 VMI 클라이언트(110)가 사용할 VM들을 생성하고 관리하는 장치를 의미한다. VMI 서버(140)는 사용자별 VM에 대해서 저장공간/메모리 등을 설정하고, 애플리케이션 설치 및 업데이트 관리하며, 사용자 설정값 등을 저장한다.The VMI
VMI 서버(140)는 실제 구동중인 VMI 화면에 대해 실시간 인코딩 처리를 수행하고, 인코딩된 영상을 VMI 게이트웨이(130)를 경유하여 VMI 클라이언트(110)로 전달한다. VMI 서버(140)는 VMI 클라이언트(110)로부터 사용자 동작을 입력받으면, 사용자 동작에 대응하는 데이터를 처리한 결과로서 VMI 클라이언트(110)로 전달한다. VMI 서버(140)는 고성능의 CPU, GPU 탑재하여 디바이스 대비 고품질 영상 및 빠른 연산 처리가 가능하다.The
본 실시예에 따른 VMI 서버(140)는 영상 공유방 개설자인 VMI 클라이언트(110)로 제공하는 하나의 VMI 화면을 영상으로 인코딩하여 다수의 사용자가 동시에 볼 수 있도록 영상 공유방 참여자인 다수의 타 VMI 클라이언트로 전송한다. VMI 서버(140)는 VMI 게이트웨이(130) 및 DB(132)를 이용하여 다양한 영상 공유방을 생성 및 관리한다.The
VMI 서버(140)는 영상 공유방 개설자인 VMI 클라이언트(110)에서 실행되는 VMI 영상을 기존 한 명에서 다수로 변경할 때 추가적인 데이터를 생성하거나 저장 공간을 증설할 필요가 없고, 영상 인코딩(Encoding) 과정을 최소화한다.The
VMI 서버(140)는 영상 공유방 개설자인 VMI 클라이언트(110)로 제공되는 VMI 화면을 영상으로 인코딩하여 다수의 사용자에게 제공하더라도 서버에 탑재된 고성능 CPU/GPU를 이용하기 때문에, VMI 영상을 제공받는 디바이스들이 가지고 있던 하드웨어(HW) 또는 소프트웨어(SW)의 영향을 받지 않으며, 영상 공유시 업링크 트래픽(Uplink Traffic)이 발생하지 않는다.Even though the
도 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 클라이언트(110)는 환경 설정으로 ‘영상 공유 On/Off(Room_OnOff)’, ‘영상 공유방 이름(Room_Name)’, ‘영상 공유방 최대 참여 가능 사용자 수(Room_Max_Count)’, ‘영상 공유방 공개 여부(Public/Private 선택)(Room_Policy)’, ‘영상 공유방 비밀번호(룸 정책(Room_Policy)이 프라이빗(Private)인 경우)(Room_Password)’등을 옵션(Option)으로 제공한다.The
VMI 클라이언트(110)는 전술한 옵션 정보를 바탕으로 VMI 게이트웨이(130)와 통신할 때 [표 1] 내의 항목들을 포함한 메시지를 전송한다.The
VMI 클라이언트(110)는 메시지 내의 항목 중 [표 1] 의 ‘Room_OnOff’ 값이 변경되거나 기타 항목 값이 변경될 경우 VMI 게이트웨이(130)로 옵션 변경 정보를 바로 전송한다.The
이하, 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
영상 공유방 별로 관리되는 DB 정보는 [표 2]와 같다. 타 VMI 클라이언트들이 영상 공유방들의 정보를 조회할 수 있도록 VMI 클라이언트(110)에서 UI 형태의 영상 공유방 리스트를 제공한다.DB information managed for each video sharing room is shown in [Table 2]. The
VMI 게이트웨이(130)는 영상 공유방을 개설한 VMI 클라이언트(110)로부터 영상 공유방 정보를 변경한 갱신 메시지를 수신하면, 갱신 메시지를 기반으로 영상 공유방 DB의 정보를 업데이트하고, 영상 공유방 리스트를 갱신한다.When the
이하, 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 서버(140)는 [표 3]과 같이 VM 프로파일 세트(VM Profile Set)를 관리한다.The
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 서버(140)는 VMI 게이트웨이(130)로 블랙리스트 정보에 대응하는 응답 정보를 전송한다. VMI 게이트웨이(130)는 VMI 서버(140)로부터 수신된 응답 정보를 기반으로 DB(132) 내에 ‘VM_Pointer’, ‘Viewer_Blacklist’ 항목을 업데이트한다.The
도 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
본 실시예에 따른 VMI 화면공유 장치(300)는 리스트 생성부(310), 참여자 확인부(320) 및 영상 공유부(330)를 포함한다. VMI 화면공유 장치(300)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.The VMI
VMI 화면공유 장치(300)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.Each component included in the VMI
도 3에 도시된 VMI 화면공유 장치(300)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.Each component of the VMI
리스트 생성부(310)는 VMI 클라이언트(110)로부터 영상 공유방을 생성하기 위한 영상 공유방 설정 메시지를 수신하여 영상 공유방 리스트를 생성한다. 영상 공유방 설정 메시지는 ‘User_ID’, ‘Room_OnOff’, ‘Room_Name’, ‘Room_Max_Count’, ‘Room_Policy’, ‘Room_Password’, ‘Device_Info’, ‘Display_Info’, ‘User_VM_Quality’ 항목을 포함한다.The
참여자 확인부(320)는 영상 공유방 리스트 내에 포함되는 영상 공유방으로 타 VMI 클라이언트가 참여를 요청하는지의 여부를 확인한다.The
참여자 확인부(320)는 영상 공유방에 참여한 타 VMI 클라이언트로부터 영상 공유방 식별정보(Room_Name), 참여자 식별정보(User_ID), 영상 공유방 비밀번호(Room_Password), 참여자 비트레이트 값 중 적어도 하나 이상의 정보를 포함하는 참여 요청 메시지(Request Message)를 수신한다.The
참여자 확인부(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
참여자 확인부(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
참여자 확인부(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
참여자 확인부(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
참여자 확인부(320)는 VM ID 정보(VM_ID), VM 주소 정보(VM_Pointer), 게이트(Guest) 권한만을 포함하는 조건 참여 수락 메시지(Accept Message)를 타 VMI 클라이언트로 전송한다. 참여자 확인부(320)는 조건 참여 수락 메시지를 수신한 타 VMI 클라이언트를 해당 영상 공유방에 참여시키며, 영상 공유방에서 게스트 권한을 가진 VMI 클라이언트의 입력에 대해서 미응답 또는 미반응 하도록 영상 공유방의 환경을 설정한다.The
영상 공유부(330)는 타 VMI 클라이언트를 영상 공유방에 참여시킬지의 여부를 결정한다. 영상 공유부(330)는 기 설정된 비트레이트 값으로 VMI 클라이언트(110)로 제공되는 VMI 화면을 영상으로 변환하여 영상 공유방에 참여한 타 VMI 클라이언트로 전송한다.The
영상 공유부(330)는 VMI 클라이언트(110)가 갖는 사용자 식별정보(User_ID)에 대응하는 VMI 화면을 영상으로 인코딩한다. 영상 공유부(330)는 VMI 화면을 영상으로 인코딩할 때, 영상 공유방에 개설한 VMI 클라이언트(110)가 설정한 비트레이트 값(VM_Quality)으로 VMI 화면을 영상으로 인코딩하여 VMI 클라이언트(110)로 전송한다. 영상 공유부(330)는 VMI 화면을 영상으로 인코딩할 때, 영상 공유방에 참여한 타 VMI 클라이언트에서 각각 설정한 참여자 비트레이트 값으로 VMI 화면을 영상으로 인코딩하여 멀티캐스트 방식으로 타 VMI 클라이언트로 각각 전송한다.The
영상 공유부(330)는 VMI 클라이언트(110) 및 타 VMI 클라이언트로 VMI 화면을 전송할 때, 네트워크 상태에 따라 비트레이트 값을 가변적으로 변경한다. 영상 공유부(330)는 네트워크 상태를 인지하고, 네트워크의 전파환경정보에 포함된 RSSI(Received Signal Strength Indication) 값 등을 참조하여 네트워크 상태가 기 설정된 임계치 미만인 경우, 비트레이트를 낮추고, 네트워크 상태가 기 설정된 임계치 이상인 경우, 비트레이트를 유지하거나 높일 수 있다.When transmitting a VMI screen to the
영상 공유부(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
영상 공유부(330)는 전체 비트레이트 평균값(VM_Avg_Quality)과 허용 범위(x) 사이의 값을 가진 타 VMI 클라이언트에 대한 비트레이트 평균값 또는 타 VMI 클라이언트 중 최소 비트레이트 값으로 최대 인코딩 횟수로 설정하여 컴퓨팅 전력(Computing Power)을 최소화한다. 다시 말해, 영상 공유부(330)는 전체 비트레이트 평균값(VM_Avg_Quality) ± 허용 범위(x) 사이의 값을 가진 타 VMI 클라이언트들의 비트레이트 평균값을 최대 인코딩 횟수로 설정할 수 있다. 영상 공유부(330)는 전체 비트레이트 평균값(VM_Avg_Quality) - 허용 범위(x) 보다 작은 값을 가진 타 VMI 클라이언트 중 최소 비트레이트 값을 최대 인코딩 횟수로 설정할 수 있다.The
도 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 게이트웨이(130)는 영상 공유방 설정 메시지를 VMI 클라이언트(110)로부터 수신하면 영상 공유방 설정 메시지에 대응하는 영상 공유방 정보를 영상 공유방 DB(132) 내에 생성하고 영상 공유방 리스트를 업데이트한다(S412). 단계 S412에서, VMI 게이트웨이(130)는 VMI 클라이언트(110)로부터 영상 공유방 설정 메시지를 수신하면 DB(132)를 업데이트하여 영상 공유방에 참여하고자 하는 타 VMI 클라이언트들이 업데이트된 영상 공유방 정보를 확인할 수 있도록 한다. When the
VMI 서버(140)는 VMI 게이트웨이(130)에서 업데이트한 영상 공유방 DB(132) 내에 저장된 정보와 영상 공유방 리스트를 VMI 게이트웨이(130)와 동기화한다(S414). VMI 게이트웨이(130) 및 VMI 서버(140)는 영상 공유방 생성을 완료(S416)하고, 영상 공유방을 실행한다(S418). VMI 게이트웨이(130) 및 VMI 서버(140)는 영상 공유방 리스트에 포함되는 영상 공유방에 타 VMI 클라이언트가 참여했는지의 여부를 확인한다(S420).The
영상 공유방 리스트 중 어느 하나의 공유방에 타 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 클라이언트는 VMI 게이트웨이(130)에 접속한 상태에서 타 사용자의 조작 또는 명령에 의해 VMI 클라이언트(110)가 등록한 영상 공유방 리스트를 확인한 후 자신이 참여할 영상 공유방을 선택한다(S430). Other VMI clients, who are video sharing participants, check the list of video sharing rooms registered by the
타 VMI 클라이언트는 VMI 게이트웨이(130)로 ‘Room_Name’, ‘User_ID’, ‘Room_Password(비밀번호가 설정된 방일 경우)’ 정보와 현재 자신이 VMI 서비스를 위해 사전에 설정된 비트레이트(Bitrate) 값이 포함된 참여 요청 메시지(Request Message)를 전송한다(S432).Other VMI clients participate with the
VMI 게이트웨이(130)는 타 VMI 클라이언트로부터 수신된 참여 요청 메시지 내에 포함된 영상 공유방 참여 요청자가 ‘Viewer_Blacklist’에 포함되어 있는지의 여부를 확인한다(S434). The
단계 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
단계 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
단계 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 클라이언트(110)는 VMI 게이트웨이(130)로부터 수신한 ‘VM_ID’와 ‘VM_Pointer’ 값을 참조하여 해당 영상 공유방에 접속한다. 영상 공유방을 개설한 VMI 클라이언트(110)는 게스트 권한을 확인하면 환경 설정 메뉴 부분을 제외하고 VMI 화면을 터치해도 아무런 응답/반응을 하지 않도록 환경을 설정한다.
VMI 서버(140)는 VMI 화면을 공유하기 위해 기본적으로 영상 공유방 개설자가 요청한 비트레이트 값인 ‘VM_Quality’로 VMI 화면을 영상으로 변환하여 영상 공유방 개설자인 VMI 클라이언트(110)로 전송한다. VMI 서버(140)는 VMI 화면 영상 공유방에 참여한 타 VMI 클라이언트들이 설정한 사용자 비트레이트 값으로 각각 인코딩한 후 영상 공유방에 참여한 타 VMI 클라이언트들로 전송한다.In order to share the VMI screen, the
VMI 서버(140)는 네트워크 상태를 인지한 후 네트워크 상태와 임계치를 비교하여 네트워크 상태가 좋지 않다고 판단한 경우, 영상 공유방에 참여한 타 VMI 클라이언트로 전송하는 영상의 비트레이트를 가변적으로 조절한다.After recognizing the network status, the
VMI 게이트웨이(130)는 영상 공유방에 참여한 참여자 정보가 변경될 때마다 참여자의 현재 영상 비트레이트 값들을 수집하고, 전체 참여자 수의 비트레이트 평균값을 영상 공유방 DB 내의 ‘VM_Avg_Quality’ 항목에 저장한다.The
VMI 게이트웨이(130)는 ‘VM_Avg_Quality’ 값으로 설정되는 영상을 어떤 비트레이트 값을 가진 사용자에게까지 보낼 수 있는지 결정하기 위해, 허용 범위(x)를 결정한다. 허용 범위(x)값은 ‘VM_Quality’ - ‘VM_Avg_Quality’로 계산한다.The
VMI 게이트웨이(130)는 [표 4]와 같은 케이스로 영상 비트레이트 수준을 결정한다.The
VMI 게이트웨이(130)는 [표 4]와 같이 케이스를 정의한 이유는, VMI 서버(140)에서 비트레이트에 따른 인코딩 횟수를 최소화하기 위함이다. 다시 말해, VMI 서버(140)는 [표 4]와 같은 기준을 근거로 인코딩 횟수를 최대 2번까지만 허용하여, VMI 서버(140)에서 사용하는 컴퓨팅 전력(Computing Power)을 최소화한다.The reason why the
VMI 게이트웨이(130)는 전술한 방식으로 설정된 비트레이트 값들을 VMI 서버(140)로 전달하고, 영상 공유방에 참여한 타 VMI 클라이언트들에게도 각각의 설정된 비트레이트 정보를 전달한다.The
VMI 서버(140)는 기존 User_ID에 대응하는 VMI 화면을 영상으로 인코딩하여 VMI 게이트웨이(130)로 전송한다.The
VMI 게이트웨이(130)는 영상 공유방 정보를 확인하고, 영상 공유방에 참여한 타 VMI 클라이언트에게 VMI 서버(140)로부터 수신한 VIM 화면에 대응하는 영상을 동시에 멀티캐스트 방식으로 전송한다. 이때, VMI 서버(140)가 비트레이트별로 인코딩한 영상을 인증된 참여자인 타 VMI 클라이언트들로 전송한다.The
영상 공유방 개설자인 VMI 클라이언트(110)와 영상 공유방 참여자인 타 VMI 클라이언트들은 VMI 게이트웨이(130)로부터 수신된 VMI 화면에 대응하는 영상을 디코딩(Decoding)하여 디바이스 상에 표시한다.The
도 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 클라이언트의 참여자 비트레이트에 대한 평균값을 기초로 허용 범위(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.
상기 영상 공유부는,
상기 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.
상기 영상 공유부는,
상기 영상 공유방에 참여한 상기 타 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.
상기 영상 공유부는,
상기 전체 비트레이트 평균값(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.
상기 영상 공유방 리스트 내에 포함되는 영상 공유방으로 상기 타 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.
상기 참여자 확인부는 상기 타 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.
상기 참여자 확인부는,
상기 타 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
상기 참여자 확인부는,
게이트(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 클라이언트의 참여자 비트레이트에 대한 평균값을 기초로 허용 범위(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:
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101720778B1 (en) * | 2014-08-13 | 2017-03-28 | 에스프린팅솔루션 주식회사 | Cloud system and method for displaying contents thereof |
-
2018
- 2018-10-10 KR KR1020180120232A patent/KR102615305B1/en active IP Right Grant
Patent Citations (1)
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 |